diff --git a/js/search/search_index.js b/js/search/search_index.js index f210d00dbcb..05440e98015 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.241,1,6.113]],["body/classes/AbstractAccountService.html",[0,0.174,1,6.643,2,0.531,3,0.009,4,0.009,5,0.005,6,5.035,7,0.07,8,0.865,9,6.77,10,3.041,11,5.966,12,3.425,13,5.343,14,6.643,15,6.643,16,6.643,17,6.643,18,3.793,19,6.643,20,6.643,21,6.643,22,7.01,23,7.01,24,7.01,25,6.643,26,2.898,27,0.523,28,5.035,29,1.025,30,0.001,31,0.754,32,0.166,33,0.613,34,1.294,35,1.539,36,3.017,37,5.966,38,5.035,39,2.524,40,3.663,41,5.035,42,5.343,43,5.035,44,6.643,45,5.035,46,6.643,47,1.006,48,4.262,49,3.809,50,5.035,51,5.482,52,3.84,53,5.552,54,6.643,55,2.642,56,5.366,57,5.035,58,3.292,59,2.352,60,6.643,61,5.035,62,3.004,63,7.01,64,7.973,65,5.035,66,7.089,67,6.643,68,5.035,69,6.643,70,4.614,71,5.035,72,3.476,73,7.01,74,5.81,75,7.569,76,7.01,77,4.884,78,5.168,79,6.643,80,5.673,81,7.01,82,7.169,83,2.667,84,5.035,85,6.115,86,7.01,87,4.585,88,5.035,89,7.01,90,5.035,91,7.01,92,8.424,93,5.035,94,2.554,95,0.101,96,1.314,97,2.031,98,3.035,99,1.014,100,1.756,101,0.006,102,4.022,103,0,104,0]],["title/classes/AbstractUrlHandler.html",[0,0.241,105,5.49]],["body/classes/AbstractUrlHandler.html",[0,0.251,2,0.764,3,0.013,4,0.013,5,0.007,7,0.101,8,1.122,9,5.539,27,0.465,29,0.85,30,0.001,31,0.626,32,0.154,33,0.509,35,1.277,47,1.018,95,0.109,101,0.009,103,0.001,104,0,105,7.738,106,8.393,107,8.16,108,10.14,109,12.481,110,4.719,111,5.708,112,0.77,113,5.113,114,9.048,115,7.738,116,7.975,117,7.738,118,8.78,119,6.707,120,7.738,121,7.241,122,2.035,123,7.975,124,7.241,125,2.653,126,7.738,127,6.596,128,7.241,129,2.144,130,1.959,131,5.686,132,6.707,133,7.241,134,2.564,135,1.554,136,9.817,137,7.241,138,7.241,139,7.241,140,7.241,141,3.103,142,2.621,143,7.241,144,7.241,145,2.718,146,4.944,147,9.817,148,1.174,149,9.817,150,7.241,151,7.241,152,6.355,153,1.171,154,6.092,155,3.133,156,6.707,157,1.676,158,2.673]],["title/interfaces/AcceptConsentRequestBody.html",[159,0.712,160,5.86]],["body/interfaces/AcceptConsentRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.174,33,0.658,47,1.047,55,2.51,95,0.1,101,0.012,103,0.001,104,0.001,112,0.888,122,2.568,159,0.922,160,9.529,161,2.147,162,6.253,163,8.347,164,6.755,165,7.321,166,12.035,167,11.404,168,12.035,169,10.243,170,10.243,171,8.738,172,4.833,173,7.507,174,6.153,175,7.582,176,4.572,177,7.909,178,7.321]],["title/interfaces/AcceptLoginRequestBody.html",[159,0.712,179,5.658]],["body/interfaces/AcceptLoginRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.172,33,0.664,47,1.06,55,2.517,77,8.405,101,0.012,103,0.001,104,0.001,112,0.892,122,2.576,159,0.928,161,2.161,162,6.296,163,8.404,165,7.371,169,10.268,170,10.268,179,9.24,180,3.889,181,11.432,182,11.432,183,4.974,184,12.065,185,4.255]],["title/classes/AcceptQuery.html",[0,0.241,186,5.658]],["body/classes/AcceptQuery.html",[0,0.412,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,27,0.38,30,0.001,32,0.121,95,0.143,101,0.013,103,0.001,104,0.001,112,0.933,122,2.466,157,2.258,180,5.099,186,9.664,187,6.722,188,9.756,189,7.9,190,1.749,191,9.756,192,6.561,193,5.188,194,4.674,195,2.614,196,3.947,197,3.325,198,9.756,199,6.561,200,2.986,201,4.624,202,2.24,203,7.999,204,9.756]],["title/entities/Account.html",[94,3.534,205,1.419]],["body/entities/Account.html",[0,0.232,3,0.012,4,0.012,5,0.006,7,0.161,27,0.52,30,0.001,32,0.167,33,0.645,39,3.207,47,0.966,48,5.414,49,4.573,51,5.146,82,8.429,83,3.388,87,5.391,94,4.721,95,0.119,96,2.429,97,2.701,101,0.012,103,0,104,0,112,0.839,122,1.929,176,5.425,190,2.392,195,3.101,196,4.361,197,2.601,205,1.896,206,2.185,207,6.697,208,6.733,209,8.687,210,6.9,211,7.249,212,6.697,213,6.697,214,6.697,215,6.697,216,6.697,217,6.697,218,6.697,219,5.132,220,6.697,221,5.02,222,6.697,223,4.211,224,1.94,225,3.566,226,3.046,227,8.619,228,1.203,229,2.641,230,4.439,231,1.156,232,1.812,233,2.076,234,5.141,235,5.635,236,6.203,237,6.203,238,5.141,239,5.635,240,6.203,241,6.203,242,3.535,243,4.217,244,4.728,245,5.279,246,6.203,247,6.203,248,5.02,249,5.635,250,5.878,251,6.203]],["title/modules/AccountApiModule.html",[252,1.839,253,5.86]],["body/modules/AccountApiModule.html",[0,0.3,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.213,253,12.164,254,3.123,255,3.315,256,3.399,257,3.386,258,3.374,259,4.421,260,4.11,261,8.681,262,8.681,263,8.681,264,9.732,265,6.278,266,12.536,267,11.387,268,8.242,269,4.33,270,3.338,271,3.27,272,8.04,273,5.466,274,4.604,275,10.684,276,4.33,277,1.241,278,8.04,279,3.599,280,8.681,281,8.681,282,8.681,283,8.04]],["title/classes/AccountByIdBodyParams.html",[0,0.241,284,6.113]],["body/classes/AccountByIdBodyParams.html",[0,0.365,2,0.85,3,0.015,4,0.015,5,0.007,7,0.112,27,0.458,30,0.001,31,0.592,32,0.145,33,0.606,47,0.916,51,5.653,87,6.689,95,0.139,101,0.01,103,0,104,0,112,0.827,122,2.185,153,2.145,157,2.719,190,2.105,194,5.213,195,2.915,196,4.401,197,3.708,199,5.812,200,2.465,202,1.849,208,7.396,284,9.249,285,10.483,286,8.054,287,8.054,288,10.538,289,6.112,290,3.252,291,8.054,292,8.054,293,8.054,294,8.054,295,8.054,296,3.26,297,8.561,298,3.497,299,4.598,300,4.775,301,5.197,302,9.761,303,6.776,304,3.988,305,6.776]],["title/classes/AccountByIdParams.html",[0,0.241,306,6.113]],["body/classes/AccountByIdParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,34,2.355,47,0.885,94,6.108,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,285,10.129,296,3.15,299,4.713,306,10.566,307,7.298,308,7.298,309,9.95]],["title/interfaces/AccountConfig.html",[159,0.712,310,6.113]],["body/interfaces/AccountConfig.html",[3,0.02,4,0.02,5,0.009,7,0.147,30,0.001,32,0.154,55,2.686,101,0.013,103,0.001,104,0.001,112,0.977,122,2.749,159,1.076,161,2.507,272,9.747,310,10.926,311,6.706,312,12.027,313,12.692]],["title/controllers/AccountController.html",[275,6.113,314,2.65]],["body/controllers/AccountController.html",[0,0.119,3,0.006,4,0.006,5,0.003,7,0.048,8,0.639,10,1.377,27,0.377,29,0.739,30,0.001,31,0.544,32,0.176,33,0.442,34,1.655,35,1.467,36,2.502,87,4.88,94,6.826,95,0.114,100,1.195,101,0.004,103,0,104,0,148,0.951,157,3.281,190,1.735,193,5.163,194,3.217,202,0.787,228,0.615,230,4.701,266,6.569,274,1.427,275,4.912,277,0.49,283,3.175,284,7.185,290,2.808,306,9.946,314,1.304,315,3.427,316,1.65,317,2.767,318,6.224,319,6.224,320,7.092,321,7.092,322,8.186,323,7.092,324,3.427,325,6.387,326,4.909,327,3.427,328,4.195,329,6.486,330,11.157,331,4.73,332,8.186,333,7.961,334,8.296,335,3.763,336,7.092,337,7.287,338,7.415,339,3.471,340,7.895,341,8.965,342,7.74,343,10.135,344,7.092,345,8.149,346,8.511,347,5.823,348,3.427,349,6.489,350,3.427,351,3.427,352,3.427,353,3.427,354,7.185,355,3.427,356,6.509,357,6.284,358,6.65,359,5.183,360,5.186,361,3.427,362,5.596,363,3.427,364,3.427,365,4.299,366,7.185,367,3.427,368,5.596,369,4.912,370,5.183,371,2.974,372,6.224,373,5.596,374,2.43,375,3.427,376,4.105,377,3.427,378,3.427,379,5.403,380,3.427,381,3.427,382,3.427,383,7.185,384,3.427,385,4.842,386,3.427,387,3.427,388,3.509,389,2.241,390,5.978,391,8.202,392,1.784,393,1.697,394,3.427,395,1.835,396,3.427,397,3.427,398,1.848,399,3.427,400,1.005,401,5.425,402,4.767,403,4.942,404,3.427,405,3.427,406,3.427,407,2.378,408,3.427,409,2.184,410,3.427,411,2.569,412,1.522,413,2.087,414,2.839,415,1.953,416,3.175,417,1.921,418,3.427,419,3.427,420,3.427,421,3.427,422,3.427,423,3.427,424,3.427,425,3.427,426,3.427,427,3.427,428,3.427]],["title/classes/AccountDto.html",[0,0.241,66,4.554]],["body/classes/AccountDto.html",[0,0.238,2,0.726,3,0.013,4,0.013,5,0.006,7,0.096,26,2.484,27,0.546,29,0.525,30,0.001,31,0.387,32,0.173,33,0.654,34,1.855,39,2.631,47,0.901,48,4.443,51,4.563,64,11.164,66,8.015,82,7.473,83,3.716,87,4.78,94,3.491,95,0.106,99,1.386,101,0.009,103,0,104,0,112,0.744,122,1.427,176,4.81,190,2.436,208,5.97,209,7.702,210,6.118,228,2.411,231,1.636,232,2.565,300,2.637,429,6.881,430,4.461,431,4.649,432,7.977,433,0.845,434,6.881,435,2.364,436,4.117,437,6.881,438,6.881,439,6.881,440,6.039,441,6.881,442,7.702,443,6.881,444,8.781,445,6.881,446,6.881,447,6.881,448,6.373,449,6.881,450,8.781,451,6.881,452,6.881,453,6.881,454,5.59,455,6.881,456,6.881,457,3.825,458,2.744,459,3.559,460,4.191,461,4.698,462,4.191,463,4.698]],["title/classes/AccountEntityToDtoMapper.html",[0,0.241,464,5.86]],["body/classes/AccountEntityToDtoMapper.html",[0,0.275,2,0.84,3,0.015,4,0.015,5,0.007,7,0.111,8,1.195,27,0.455,29,0.891,30,0.001,31,0.656,32,0.144,33,0.534,34,1.361,35,1.339,39,2.209,48,3.729,51,3.83,55,2.366,66,8.811,82,6.273,87,4.013,94,7.137,95,0.13,98,7.038,99,1.603,101,0.01,103,0,104,0,135,1.36,148,1.148,153,1.287,176,4.038,205,2.527,208,5.011,209,6.465,210,5.135,230,5.275,430,3.273,431,3.411,464,8.797,465,10.075,466,7.958,467,4.026,468,10.456,469,10.456,470,8.494,471,10.456,472,7.958,473,10.456,474,7.958,475,7.371,476,8.797,477,7.958,478,2.229,479,6.696,480,5.837,481,7.958,482,7.371,483,6.985,484,5.722,485,6.985,486,7.371,487,7.371,488,6.985,489,6.696,490,7.958,491,7.371,492,7.371,493,7.958,494,10.456,495,7.958,496,7.958,497,7.958,498,7.371]],["title/classes/AccountFactory.html",[0,0.241,499,5.658]],["body/classes/AccountFactory.html",[0,0.161,2,0.49,3,0.009,4,0.009,5,0.004,7,0.065,8,0.813,26,1.966,27,0.516,29,1.018,30,0.001,31,0.719,32,0.167,33,0.585,34,1.888,35,1.394,39,1.976,47,0.523,48,2.176,49,3.941,51,3.426,55,2.329,59,3.252,87,2.342,94,2.356,95,0.117,99,0.936,101,0.011,103,0,104,0,112,0.558,113,4.387,127,4.863,129,3.511,130,3.209,135,1.362,148,0.851,153,1.151,157,2.004,172,3.038,185,2.438,192,2.562,205,2.132,206,2.323,227,4.302,228,1.278,231,1.228,290,2.482,326,4.873,374,3.091,407,3.223,433,0.571,436,3.829,467,2.072,478,1.301,499,7.033,500,4.645,501,7.244,502,5.395,503,7.119,504,7.119,505,3.958,506,5.395,507,5.399,508,3.958,509,3.958,510,3.958,511,3.896,512,4.42,513,4.812,514,6.243,515,5.727,516,7.029,517,2.603,518,7.119,519,4.645,520,7.119,521,4.645,522,2.582,523,3.958,524,2.603,525,5.087,526,5.232,527,4.124,528,4.923,529,3.927,530,2.582,531,2.434,532,4.049,533,2.468,534,2.434,535,2.582,536,2.603,537,4.738,538,2.582,539,7.207,540,3.934,541,6.592,542,2.603,543,4.213,544,2.582,545,2.603,546,2.582,547,2.603,548,2.582,549,2.891,550,2.719,551,2.582,552,6.043,553,2.603,554,2.582,555,3.958,556,3.612,557,3.958,558,2.603,559,2.504,560,2.468,561,2.092,562,2.582,563,2.582,564,2.582,565,2.603,566,2.603,567,1.732,568,2.582,569,1.444,570,2.603,571,2.818,572,2.582,573,2.603,574,2.603,575,2.67,576,2.745,577,4.248,578,3.731,579,1.326,580,4.645,581,4.076,582,4.645,583,7.119,584,4.645,585,3.407,586,4.302,587,4.645,588,4.645]],["title/injectables/AccountIdmToDtoMapper.html",[589,0.926,590,5.658]],["body/injectables/AccountIdmToDtoMapper.html",[0,0.343,3,0.018,4,0.018,5,0.009,7,0.138,8,1.371,9,6.229,27,0.386,29,0.756,30,0.001,31,0.556,32,0.123,33,0.452,35,1.135,66,8.445,78,8.195,94,5.023,95,0.144,101,0.013,103,0.001,104,0.001,277,1.416,465,9.751,470,9.751,476,10.099,479,8.33,589,1.596,590,9.751,591,2.349,592,9.901,593,10.909,594,9.901,595,3.755]],["title/classes/AccountIdmToDtoMapperDb.html",[0,0.241,596,6.113]],["body/classes/AccountIdmToDtoMapperDb.html",[0,0.316,2,0.964,3,0.017,4,0.017,5,0.008,7,0.127,8,1.305,27,0.356,29,0.697,30,0.001,31,0.513,32,0.113,33,0.417,34,1.562,35,1.048,39,2.535,48,4.281,51,4.397,66,8.537,78,7.799,83,2.679,94,5.795,95,0.139,101,0.012,103,0.001,104,0.001,135,1.189,148,0.898,153,1.847,231,1.971,430,3.757,431,3.915,432,7.686,436,2.698,465,7.421,470,9.28,476,9.611,479,7.686,480,6.7,484,6.568,590,10.608,593,10.608,595,3.464,596,10.025,597,9.135,598,8.461,599,8.461,600,10.938,601,10.58,602,8.461,603,8.017,604,8.017]],["title/classes/AccountIdmToDtoMapperIdm.html",[0,0.241,605,6.113]],["body/classes/AccountIdmToDtoMapperIdm.html",[0,0.318,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,8,1.309,27,0.358,29,0.701,30,0.001,31,0.515,32,0.114,33,0.419,34,1.569,35,1.052,39,2.547,48,4.3,51,4.417,66,8.55,78,7.821,83,2.691,94,5.812,95,0.139,101,0.012,103,0.001,104,0.001,125,2.186,135,1.194,148,0.902,153,1.852,231,1.976,430,3.774,431,3.933,432,7.721,436,2.711,465,7.455,470,9.306,476,9.638,479,7.721,480,6.731,484,6.598,590,10.625,593,10.625,595,3.48,598,8.5,599,8.5,600,10.961,601,10.61,603,8.054,604,8.054,605,10.054,606,9.177]],["title/injectables/AccountLookupService.html",[589,0.926,607,5.86]],["body/injectables/AccountLookupService.html",[0,0.189,3,0.01,4,0.01,5,0.005,7,0.076,8,0.918,26,2.457,27,0.372,29,0.728,30,0.001,31,0.536,32,0.118,33,0.436,34,2.496,35,1.206,36,2.223,47,0.59,49,4.785,78,5.483,94,4.074,95,0.131,99,1.098,101,0.007,103,0,104,0,135,1.045,142,4.246,148,1.153,153,1.299,157,2.207,185,2.751,195,1.765,228,1.442,277,0.78,317,2.537,388,3.442,407,8.138,433,0.987,480,3.999,534,5.513,574,5.343,589,1.067,591,1.293,607,6.757,608,9.742,609,5.452,610,4.148,611,11.527,612,5.4,613,7.62,614,4.109,615,7.579,616,9.231,617,9.231,618,5.182,619,7.563,620,4.998,621,8.03,622,6.33,623,5.25,624,6.019,625,8.03,626,7.048,627,10.294,628,6.999,629,6.19,630,8.03,631,7.438,632,5.452,633,8.545,634,7.035,635,5.452,636,8.03,637,8.03,638,5.452,639,10.518,640,6.474,641,5.994,642,12.445,643,10.518,644,6.405,645,7.438,646,5.452,647,3.999,648,3.433,649,3.433,650,4.429,651,2.766,652,1.633,653,3.303,654,7.438,655,4.429,656,8.03,657,1.836,658,5.452,659,5.452,660,5.452]],["title/modules/AccountModule.html",[252,1.839,264,5.008]],["body/modules/AccountModule.html",[0,0.235,3,0.013,4,0.013,5,0.006,30,0.001,95,0.156,101,0.009,103,0,104,0,148,0.923,153,1.519,195,1.492,252,2.843,254,2.442,255,2.592,256,2.657,257,2.648,258,2.638,259,3.911,260,4.002,264,10.49,265,5.853,267,10.618,268,7.685,269,3.677,270,2.61,271,2.557,276,3.677,277,0.971,278,6.287,279,2.814,527,2.885,590,8.749,596,8.243,605,8.243,607,10.618,634,6.247,647,4.979,648,4.274,649,4.274,651,3.444,661,6.788,662,6.788,663,6.788,664,6.788,665,10.252,666,10.598,667,12.117,668,10.252,669,11.076,670,12.619,671,9.256,672,6.788,673,6.788,674,6.788,675,3.466,676,5.957,677,10.769,678,6.788,679,6.788,680,6.287,681,6.788,682,6.788,683,6.788,684,6.788,685,3.937,686,4.881,687,6.788,688,3.165]],["title/interfaces/AccountParams.html",[159,0.712,689,5.86]],["body/interfaces/AccountParams.html",[0,0.229,3,0.012,4,0.012,5,0.006,7,0.092,26,2.329,30,0.001,32,0.114,33,0.525,47,0.944,48,5.666,49,4.33,51,5.819,94,7.027,95,0.143,99,1.334,101,0.012,103,0,104,0,112,0.724,135,1.732,148,1.188,159,1.087,161,1.577,231,1.142,290,3.232,326,4.889,467,3.519,478,1.855,499,5.378,574,3.71,595,2.511,652,1.877,689,9.673,690,5.81,691,5.81,692,4.303,693,5.228,694,4.856,695,4.76,696,5.81,697,8.266,698,5.082,699,9.822,700,4.467,701,4.467,702,4.571,703,2.832,704,4.712,705,10.535,706,5.57,707,5.81,708,8.101,709,5.81,710,5.81,711,3.078,712,5.81,713,8.941,714,8.101,715,8.101,716,5.57,717,9.327,718,9.327,719,5.81,720,8.101,721,8.101,722,5.57,723,5.81,724,8.101,725,6.516,726,5.57]],["title/injectables/AccountRepo.html",[589,0.926,668,5.658]],["body/injectables/AccountRepo.html",[0,0.125,3,0.007,4,0.007,5,0.003,7,0.05,8,0.669,10,2.354,11,4.617,12,2.651,13,4.135,14,5.141,15,5.141,16,5.141,17,5.141,18,2.935,19,5.141,20,5.141,26,2.695,27,0.504,29,0.979,30,0.001,31,0.713,32,0.159,33,0.58,34,1.922,35,1.47,36,2.855,37,4.617,39,2.901,40,1.755,42,4.135,44,5.141,46,5.141,47,0.884,48,3.965,49,4.911,51,5.237,52,2.972,53,4.296,54,5.141,55,2.642,56,5.981,58,6.495,60,5.141,62,2.163,67,5.141,69,5.141,70,5.521,85,2.438,94,5.987,95,0.116,96,1.529,97,1.462,99,0.73,101,0.005,102,1.927,103,0,104,0,122,1.528,129,2.506,130,1.994,135,1.293,141,2.51,145,3.729,148,1.16,153,1.502,157,0.839,195,0.797,197,1.013,205,1.724,206,1.911,224,1.05,231,1.011,277,0.518,290,2.007,317,3.046,388,1.554,436,2.5,532,4.328,543,1.764,569,1.821,589,0.779,591,0.86,595,1.375,616,9.175,652,1.499,655,2.945,657,2.124,668,4.759,727,3.626,728,6.064,729,3.999,730,7.838,731,7.37,732,5.425,733,7.37,734,2.468,735,2.651,736,5.533,737,5.857,738,3.626,739,3.626,740,3.626,741,5.141,742,3.626,743,3.626,744,3.626,745,4.212,746,3.626,747,3.626,748,3.626,749,3.626,750,5.857,751,3.626,752,3.626,753,8.462,754,3.626,755,3.626,756,2.939,757,3.626,758,3.999,759,2.163,760,2.208,761,2.185,762,2.208,763,2.516,764,2.185,765,2.208,766,1.941,767,3.626,768,3.626,769,3.626,770,2.283,771,2.607,772,5.857,773,3.882,774,4.928,775,3.626,776,3.626,777,3.626,778,3.626,779,3.626,780,3.626,781,3.182,782,5.857,783,3.626,784,3.626,785,3.626,786,3.626,787,2.783,788,3.999,789,1.984,790,2.438,791,3.626,792,3.626,793,3.626,794,2.659,795,3.626,796,3.358,797,7.37,798,3.626,799,3.626,800,3.358,801,3.182,802,2.403,803,3.358,804,2.718,805,3.626,806,2.783,807,2.783,808,3.626,809,2.37,810,2.659,811,3.626,812,2.31,813,2.032,814,3.05,815,3.182,816,2.516,817,3.626,818,3.626,819,3.626]],["title/classes/AccountResponse.html",[0,0.241,334,5.658]],["body/classes/AccountResponse.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,27,0.524,29,0.646,30,0.001,31,0.475,32,0.166,33,0.625,34,2.246,39,3.645,47,0.988,51,6.321,83,3.19,95,0.094,101,0.011,103,0.001,104,0.001,112,0.853,122,2.256,190,2.354,202,1.943,208,8.27,234,6.495,242,4.466,250,7.426,296,3.716,334,10.67,431,5.629,433,1.337,458,3.374,462,5.153,820,8.461,821,4.32,822,8.461,823,8.461,824,8.461,825,8.461,826,8.461,827,8.461]],["title/classes/AccountResponseMapper.html",[0,0.241,828,6.451]],["body/classes/AccountResponseMapper.html",[0,0.304,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.851,30,0.001,31,0.626,32,0.138,33,0.51,34,1.907,35,1.279,39,3.095,51,5.368,66,8.42,94,6.89,95,0.136,101,0.011,103,0.001,104,0.001,148,1.096,153,1.804,208,7.023,334,11.207,431,4.78,465,9.95,467,3.953,478,2.464,480,8.18,482,10.33,483,7.719,484,8.019,485,9.788,828,10.33,829,5.197,830,6.2,831,11.153,832,11.153,833,7.145,834,11.153,835,6.751,836,8.795,837,4.355,838,7.4]],["title/classes/AccountSaveDto.html",[0,0.241,64,5.49]],["body/classes/AccountSaveDto.html",[0,0.296,2,0.627,3,0.011,4,0.011,5,0.005,7,0.083,26,2.524,27,0.534,29,0.454,30,0.001,31,0.334,32,0.17,33,0.655,34,1.713,39,2.78,47,0.968,48,4.694,51,4.821,64,9.15,82,7.896,83,3.737,87,5.051,95,0.122,99,1.198,101,0.008,103,0,104,0,112,0.671,122,1.773,176,5.082,190,2.438,199,4.717,200,1.819,208,6.307,209,8.138,210,6.464,228,2.331,232,2.314,234,4.563,235,5.001,236,5.505,237,5.505,238,4.563,239,5.001,240,5.505,241,5.505,242,3.137,243,3.743,244,4.196,245,4.685,246,5.505,247,5.505,248,4.455,249,5.001,250,5.217,251,5.505,297,6.948,298,2.581,299,4.289,300,5.253,301,3.836,303,5.001,304,2.943,305,5.001,430,4.12,431,4.293,432,8.428,433,0.73,435,2.042,440,5.217,442,6.948,444,10.147,448,5.505,450,9.278,454,4.829,458,2.37,459,3.074,460,3.62,461,4.058,462,3.62,463,4.058,839,13.799,840,5.944,841,8.552,842,5.944,843,5.944,844,5.944,845,5.944,846,5.944,847,5.944,848,5.944,849,5.944,850,5.944,851,5.944,852,5.944,853,5.944,854,7.309,855,4.436,856,4.754,857,5.944,858,5.944,859,5.944]],["title/classes/AccountSearchListResponse.html",[0,0.241,372,6.113]],["body/classes/AccountSearchListResponse.html",[0,0.276,2,0.843,3,0.015,4,0.015,5,0.007,7,0.111,27,0.503,29,0.61,30,0.001,31,0.449,32,0.171,33,0.589,55,2.912,56,6.235,59,3.258,70,6.715,95,0.13,101,0.01,103,0,104,0,112,0.822,125,1.903,190,2.226,202,1.835,231,1.809,285,8.82,296,2.743,298,3.469,334,10.959,339,3.782,372,9.201,433,0.982,436,3.669,860,7.4,861,5.544,862,8.397,863,7.301,864,6.027,865,7.401,866,3.98,867,7.401,868,5.631,869,3.911,870,4.373,871,2.94,872,5.64,873,6.681,874,6.137,875,5.224,876,4.16,877,5.64,878,5.64,879,7.99,880,5.092,881,4.373]],["title/classes/AccountSearchQueryParams.html",[0,0.241,366,6.113]],["body/classes/AccountSearchQueryParams.html",[0,0.363,2,0.845,3,0.015,4,0.015,5,0.007,7,0.111,27,0.484,30,0.001,32,0.169,33,0.568,47,0.771,55,2.373,56,5.517,70,5.325,94,4.062,95,0.139,101,0.01,103,0,104,0,112,0.823,129,3.108,130,3.652,145,3.005,157,2.43,190,2.228,194,4.884,195,2.732,196,4.124,197,3.474,200,2.45,202,1.838,231,1.811,285,9.854,296,3.064,298,3.476,299,4.109,308,5.872,366,9.213,369,9.213,436,3.101,756,3.193,758,7.167,860,9.111,869,3.919,875,5.234,882,8.006,883,9.111,884,12.906,885,8.006,886,3.323,887,8.006,888,8.006,889,7.415,890,5.466,891,6.504,892,6.145,893,7.415,894,8.006,895,7.026,896,4.451,897,6.504,898,7.415,899,3.658,900,8.006]],["title/injectables/AccountServiceDb.html",[589,0.926,669,6.113]],["body/injectables/AccountServiceDb.html",[0,0.114,1,11.138,3,0.006,4,0.006,5,0.003,7,0.046,8,0.62,10,2.182,11,4.28,12,2.457,13,3.833,14,4.765,15,4.765,16,4.765,17,4.765,18,2.721,19,4.765,20,4.765,21,4.765,22,5.029,23,5.029,24,5.029,25,4.765,26,2.791,27,0.495,29,0.969,30,0.001,31,0.713,32,0.157,33,0.58,34,1.369,35,1.441,36,2.911,37,4.28,39,2.222,40,2.628,42,3.833,44,4.765,46,4.765,47,0.955,48,4.145,49,3.786,51,5.052,54,4.765,55,2.268,56,4.945,58,2.16,60,4.765,62,1.971,63,5.029,64,6.311,66,5.784,67,4.765,69,4.765,70,4.062,81,5.029,82,6.973,83,2.027,85,4.649,86,5.029,87,4.46,89,5.029,91,5.029,92,6.403,94,5.82,95,0.128,96,0.862,97,1.332,98,1.991,99,0.666,100,1.152,101,0.004,103,0,104,0,125,1.647,129,0.978,130,0.894,135,1.635,142,1.966,145,2.038,148,1.247,153,1.625,176,1.676,208,2.08,209,2.684,210,2.132,228,0.975,231,0.937,233,1.024,277,0.472,317,3.051,346,2.423,347,1.697,393,1.636,400,0.969,433,0.406,436,3.627,464,2.779,475,6.403,478,0.925,484,3.904,485,2.899,486,3.06,487,3.06,488,4.765,489,6.737,491,3.06,498,7.416,579,1.55,589,0.722,591,0.784,607,8.456,608,7.416,631,5.029,645,5.029,652,2.044,657,3.059,668,7.727,669,4.765,675,1.687,676,2.899,680,3.06,745,3.904,758,2.255,838,2.779,901,3.303,902,5.43,903,3.06,904,3.303,905,3.303,906,3.303,907,5.43,908,3.303,909,3.303,910,3.303,911,3.303,912,3.303,913,3.303,914,3.303,915,3.303,916,3.303,917,3.303,918,3.303,919,3.303,920,3.303,921,3.303,922,3.303,923,2.779,924,2.899,925,3.303,926,10.873,927,5.43,928,10.051,929,8.846,930,3.303,931,3.303,932,5.029,933,3.303,934,3.303,935,3.303,936,3.303,937,5.43,938,2.684,939,5.43,940,5.43,941,5.43,942,5.43,943,5.43,944,5.43,945,5.43,946,5.43,947,5.43,948,5.43,949,8.846,950,8.006,951,6.913,952,3.303,953,3.303,954,3.303,955,3.303,956,5.43,957,3.303,958,3.303,959,3.303,960,3.303,961,3.303,962,2.332,963,3.303,964,3.303,965,3.303]],["title/injectables/AccountValidationService.html",[589,0.926,667,6.113]],["body/injectables/AccountValidationService.html",[0,0.232,3,0.012,4,0.012,5,0.006,7,0.093,8,1.063,26,2.86,27,0.45,29,0.882,30,0.001,31,0.649,32,0.143,33,0.528,35,1.226,36,2.656,39,3.648,47,0.981,48,5.414,49,2.523,59,3.323,85,8.668,94,4.721,95,0.135,99,1.349,101,0.009,103,0,104,0,135,1.503,142,2.425,148,1.051,205,1.365,230,4.439,268,7.85,277,0.958,279,2.777,317,2.887,400,1.964,433,0.823,464,5.635,480,4.912,483,5.878,531,3.51,589,1.237,591,1.589,652,1.362,657,2.445,667,8.167,668,10.209,676,5.878,702,5.295,756,4.608,903,6.203,932,6.203,966,6.697,967,9.305,968,9.305,969,9.305,970,6.697,971,9.305,972,6.697,973,9.305,974,6.697,975,9.305,976,6.697,977,6.697,978,6.697,979,6.203,980,3.694,981,4.079,982,5.279,983,4.322,984,5.635,985,3.885,986,6.203,987,6.203,988,6.697,989,6.697,990,6.697,991,6.697,992,6.203,993,9.305,994,9.305,995,6.697,996,6.697,997,4.169,998,3.171,999,6.697,1000,6.697,1001,6.697,1002,6.697,1003,9.305,1004,6.697,1005,9.305,1006,6.697]],["title/modules/AdminApiServerModule.html",[252,1.839,1007,6.113]],["body/modules/AdminApiServerModule.html",[0,0.348,3,0.014,4,0.014,5,0.007,30,0.001,32,0.093,87,3.78,95,0.157,96,1.957,101,0.013,103,0,104,0,135,0.976,148,0.737,195,1.648,206,2.446,252,3.334,254,2.697,255,2.863,256,2.935,257,2.925,258,2.914,259,2.723,260,2.786,265,6.159,269,3.935,270,2.883,271,2.824,276,4.742,277,1.072,290,1.779,467,2.182,478,2.1,540,2.488,623,4.902,649,4.721,651,3.804,1007,12.122,1008,7.498,1009,7.498,1010,10.248,1011,8.877,1012,6.945,1013,6.945,1014,5.202,1015,5.119,1016,6.405,1017,7.866,1018,6.58,1019,7.372,1020,6.58,1021,4.838,1022,6.974,1023,7.095,1024,6.974,1025,4.838,1026,4.721,1027,2.294,1028,6.974,1029,5.042,1030,6.945,1031,8.003,1032,6.945,1033,6.945,1034,5.755,1035,6.308,1036,8.709,1037,6.945,1038,10.191,1039,5.91,1040,5.202,1041,5.119,1042,4.97,1043,6.974,1044,8.821,1045,4.902]],["title/modules/AdminApiServerTestModule.html",[252,1.839,1044,6.113]],["body/modules/AdminApiServerTestModule.html",[0,0.337,3,0.013,4,0.013,5,0.006,8,0.817,27,0.279,29,0.546,30,0.001,31,0.402,32,0.12,33,0.327,35,0.82,59,2.222,87,3.605,95,0.156,96,1.867,101,0.012,103,0,104,0,135,0.93,148,0.703,195,1.571,206,2.333,252,3.28,254,2.572,255,2.731,256,2.799,257,2.789,258,2.779,259,2.597,260,2.657,265,6.085,269,3.811,270,2.75,271,2.693,276,4.651,277,1.023,290,1.696,467,2.833,478,2.003,540,3.229,623,4.675,649,4.502,651,3.628,1007,6.276,1010,10.107,1011,6.646,1012,9.016,1013,6.623,1014,4.962,1015,4.882,1016,7.052,1017,7.678,1018,6.276,1019,7.139,1020,6.276,1021,4.614,1022,6.754,1023,6.871,1024,6.754,1025,4.614,1026,4.502,1027,2.188,1028,8.243,1029,8.356,1030,6.623,1031,9.26,1032,6.623,1033,6.623,1034,5.489,1035,6.016,1036,8.542,1037,6.623,1038,9.995,1039,5.637,1040,4.962,1041,4.882,1042,4.739,1043,6.754,1044,12.303,1045,6.364,1046,7.15,1047,7.15,1048,4.962,1049,7.15]],["title/interfaces/AdminIdAndToken.html",[159,0.712,1050,5.658]],["body/interfaces/AdminIdAndToken.html",[0,0.2,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.471,32,0.114,34,1.85,36,2.82,39,3.609,47,1.06,51,4.036,55,1.478,72,2.657,83,1.696,87,3.678,95,0.093,101,0.011,103,0,104,0,112,0.454,122,2.045,135,1.408,148,1.325,153,1.49,159,0.746,161,0.851,176,5.489,185,1.223,195,0.785,228,1.039,231,0.616,277,0.511,290,1.73,317,2.886,371,3.876,379,4.255,402,2.081,433,0.439,532,1.309,540,1.185,559,1.925,567,2.719,569,1.11,571,4.546,579,2.631,589,0.769,652,2.477,657,2.256,688,1.665,702,1.768,711,3.702,725,4.084,789,3.167,809,4.769,871,3.086,890,2.438,1050,8.789,1051,2.901,1052,3.004,1053,4.98,1054,2.018,1055,6.438,1056,2.304,1057,2.815,1058,2.741,1059,4.561,1060,3.95,1061,4.441,1062,4.441,1063,4.441,1064,4.7,1065,1.758,1066,3.004,1067,3.004,1068,3.004,1069,3.004,1070,3.004,1071,3.004,1072,2.568,1073,3.004,1074,3.004,1075,3.004,1076,2.276,1077,7.754,1078,1.564,1079,2.901,1080,2.005,1081,2.438,1082,2.521,1083,2.018,1084,2.438,1085,3.004,1086,5.468,1087,5.301,1088,5.382,1089,5.721,1090,6.381,1091,7.787,1092,6.634,1093,6.137,1094,2.676,1095,3.004,1096,3.004,1097,2.521,1098,3.004,1099,3.004,1100,2.901,1101,2.815,1102,3.004,1103,5.599,1104,2.901,1105,3.004,1106,3.004,1107,3.004,1108,2.901,1109,3.004,1110,3.004,1111,3.004,1112,7.47,1113,3.004,1114,3.004,1115,1.359,1116,3.004,1117,3.004,1118,3.004,1119,3.004,1120,3.004,1121,3.004,1122,3.004,1123,3.004,1124,8.301,1125,8.301,1126,3.004,1127,3.004,1128,3.004,1129,3.004,1130,3.004,1131,3.004,1132,2.478,1133,3.004,1134,3.004,1135,3.004,1136,3.004,1137,3.004,1138,3.004,1139,3.004,1140,3.004,1141,3.004,1142,3.004,1143,3.004,1144,3.004,1145,3.004,1146,3.004,1147,4.441,1148,4.441,1149,3.004,1150,3.004,1151,3.004,1152,3.004,1153,3.004,1154,2.438,1155,3.004,1156,3.004,1157,3.004,1158,4.868,1159,3.004,1160,4.868,1161,4.868,1162,3.004,1163,3.004,1164,2.741,1165,6.137,1166,4.834,1167,4.49,1168,3.004,1169,3.356,1170,5.281,1171,4.441,1172,5.467,1173,6.137,1174,6.137,1175,6.137,1176,2.741,1177,3.004,1178,3.004,1179,3.004,1180,7.754,1181,6.137,1182,6.137,1183,6.137,1184,3.004,1185,4.868,1186,4.868,1187,3.004,1188,3.004,1189,3.004,1190,3.004,1191,3.004,1192,4.868,1193,3.835]],["title/classes/AjaxGetQueryParams.html",[0,0.241,1194,6.113]],["body/classes/AjaxGetQueryParams.html",[0,0.387,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,27,0.519,30,0.001,32,0.165,33,0.638,47,1.044,95,0.098,101,0.011,103,0.001,104,0.001,112,0.877,190,2.385,200,2.703,299,5.323,300,5.1,454,7.176,856,6.217,1194,9.816,1195,6.732,1196,8.833,1197,6.666,1198,7.397,1199,9.42,1200,9.42,1201,9.42,1202,8.833,1203,11.322,1204,8.833,1205,8.833,1206,8.833,1207,8.833]],["title/injectables/AjaxPostBodyParamsTransformPipe.html",[589,0.926,1208,6.113]],["body/injectables/AjaxPostBodyParamsTransformPipe.html",[0,0.398,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,27,0.301,29,0.59,30,0.001,31,0.434,32,0.096,33,0.353,35,0.886,36,2.167,95,0.137,101,0.01,103,0,104,0,125,2.443,130,3.815,135,1.498,145,2.901,148,1.008,153,1.25,157,1.789,193,4.473,200,2.365,277,1.105,317,2.49,579,2.207,589,1.363,591,1.833,657,1.767,806,7.872,1172,7.687,1195,5.078,1208,9.001,1209,10.255,1210,7.728,1211,7.911,1212,6.618,1213,7.335,1214,9.001,1215,6.181,1216,9.001,1217,10.255,1218,8.015,1219,10.255,1220,5.896,1221,11.817,1222,8.084,1223,7.687,1224,7.374,1225,9.499,1226,9.001,1227,10.255,1228,9.96,1229,7.728,1230,10.255,1231,6.783,1232,4.483,1233,6.279,1234,6.279,1235,6.279,1236,7.728,1237,2.239,1238,5.933,1239,7.728,1240,4.567,1241,7.728,1242,6.503,1243,7.728,1244,7.728,1245,7.728,1246,7.728,1247,7.158,1248,7.728,1249,7.728]],["title/classes/AjaxPostQueryParams.html",[0,0.241,1250,6.113]],["body/classes/AjaxPostQueryParams.html",[0,0.378,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.525,30,0.001,32,0.167,33,0.645,34,2.063,47,1.051,95,0.095,101,0.011,103,0.001,104,0.001,112,0.857,190,2.414,200,2.606,299,5.361,300,5.16,454,6.918,856,6.073,1195,6.781,1197,6.552,1198,7.271,1199,9.26,1200,9.26,1201,9.26,1203,11.55,1250,9.589,1251,8.515,1252,8.515,1253,8.515,1254,8.515,1255,8.515,1256,8.515,1257,8.515]],["title/modules/AntivirusModule.html",[252,1.839,1258,6.113]],["body/modules/AntivirusModule.html",[0,0.302,3,0.016,4,0.016,5,0.008,8,0.996,27,0.34,29,0.666,30,0.001,31,0.49,32,0.108,33,0.398,35,1,95,0.143,101,0.011,103,0.001,104,0.001,135,1.134,148,1.09,153,1.41,161,2.077,195,1.916,197,2.437,252,3.22,254,3.136,259,3.166,260,3.24,277,1.247,467,3.228,540,2.893,685,6.433,686,6.269,1016,7.773,1045,7.251,1048,6.05,1258,10.705,1259,8.718,1260,10.43,1261,8.718,1262,10.273,1263,7.652,1264,10.705,1265,8.718,1266,8.718,1267,6.154,1268,5.367,1269,8.718,1270,7.083,1271,8.718,1272,5.49,1273,7.652,1274,5.7,1275,7.652,1276,11.091,1277,11.091,1278,7.652,1279,8.718,1280,8.718,1281,8.718,1282,6.873,1283,6.154,1284,8.718,1285,8.718,1286,8.718]],["title/interfaces/AntivirusModuleOptions.html",[159,0.712,1260,5.658]],["body/interfaces/AntivirusModuleOptions.html",[3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.17,47,1.077,55,2.523,101,0.016,103,0.001,104,0.001,112,0.895,122,2.785,159,1.273,161,2.171,1080,3.159,1260,9.266,1268,8.269,1270,10.913,1272,8.458,1274,8.782,1283,9.21,1287,7.999,1288,10.977,1289,7.404,1290,5.881,1291,6.041,1292,6.041]],["title/injectables/AntivirusService.html",[589,0.926,1264,6.113]],["body/injectables/AntivirusService.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,27,0.436,29,0.853,30,0.001,31,0.628,32,0.138,33,0.511,35,1.177,36,1.865,47,0.989,95,0.141,101,0.008,103,0,104,0,110,2.159,125,3.006,135,1.596,142,3.195,148,0.867,153,1.66,158,2.293,161,1.479,176,5.208,195,2.256,197,1.736,228,1.843,277,0.888,317,2.654,414,3.151,433,1.084,540,3.406,579,2.519,589,1.173,591,1.473,629,4.657,652,2.495,657,2.018,688,2.895,711,3.553,1080,2.153,1262,10.352,1263,5.451,1264,7.745,1289,9.08,1290,7.212,1291,4.116,1292,4.116,1293,6.21,1294,8.824,1295,7.425,1296,7.425,1297,5.045,1298,9.194,1299,10.264,1300,6.21,1301,8.824,1302,6.213,1303,6.21,1304,5.029,1305,8.824,1306,6.21,1307,8.824,1308,6.21,1309,8.036,1310,4.384,1311,4.06,1312,4.157,1313,4.24,1314,4.555,1315,5.045,1316,5.752,1317,3.958,1318,4.767,1319,4.896,1320,6.21,1321,10.264,1322,6.21,1323,6.21,1324,10.264,1325,6.21,1326,6.21,1327,6.21,1328,4.69,1329,5.374,1330,7.425,1331,6.21,1332,6.21,1333,8.824,1334,6.21,1335,8.824,1336,6.21,1337,6.21,1338,6.21,1339,5.451,1340,6.21,1341,6.21,1342,5.451,1343,5.225,1344,6.21,1345,6.21,1346,6.21,1347,6.21,1348,6.21,1349,6.21,1350,6.21]],["title/interfaces/AntivirusServiceOptions.html",[159,0.712,1289,5.658]],["body/interfaces/AntivirusServiceOptions.html",[3,0.017,4,0.017,5,0.008,7,0.131,30,0.001,32,0.163,47,1.075,55,1.907,101,0.016,103,0.001,104,0.001,112,0.913,122,2.811,159,1.292,161,2.242,1080,3.263,1260,7.647,1268,8.347,1270,11.016,1272,8.538,1274,8.865,1283,6.645,1287,8.262,1288,7.92,1289,9.454,1290,6.074,1291,6.239,1292,6.239]],["title/classes/ApiValidationError.html",[0,0.241,1351,4.684]],["body/classes/ApiValidationError.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.523,29,0.599,30,0.001,31,0.441,32,0.172,33,0.53,35,0.9,47,0.852,55,1.59,95,0.115,101,0.01,103,0,104,0,112,0.813,155,3.937,190,2.299,228,2.501,231,1.788,233,2.433,277,1.122,338,7.593,402,2.823,433,0.964,436,3.891,561,3.535,644,4.78,868,5.937,871,2.888,998,5.492,1078,3.439,1080,4.445,1115,4.414,1351,6.967,1352,10.361,1353,7.849,1354,8.686,1355,7.091,1356,7.583,1357,7.27,1358,7.849,1359,9.423,1360,5.203,1361,4.512,1362,5.203,1363,5.203,1364,5.203,1365,5.203,1366,5.203,1367,4.832,1368,4.436,1369,6.188,1370,6.604,1371,7.27,1372,5.468,1373,6.31,1374,5.065,1375,6.025]],["title/classes/ApiValidationErrorResponse.html",[0,0.241,1376,6.113]],["body/classes/ApiValidationErrorResponse.html",[0,0.228,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,27,0.51,29,0.702,30,0.001,31,0.517,32,0.171,33,0.524,35,0.755,47,0.962,55,1.335,95,0.128,101,0.008,103,0,104,0,112,0.722,129,2.724,130,2.489,135,1.379,155,3.662,157,2.129,219,3.633,228,2.419,231,1.587,277,0.942,338,7.898,393,3.262,403,4.696,415,3.754,433,0.809,436,3.565,569,2.859,652,2.156,871,3.384,998,5.715,1078,2.886,1080,4.183,1115,4.366,1220,5.288,1351,8.407,1355,6.093,1359,8.61,1367,8.057,1372,4.855,1373,7.814,1376,8.073,1377,11.472,1378,6.587,1379,7.621,1380,6.895,1381,7.714,1382,9.198,1383,9.198,1384,9.198,1385,9.302,1386,6.587,1387,6.587,1388,5.489,1389,6.587,1390,4.1,1391,6.587,1392,5.782,1393,3.754,1394,6.587,1395,6.102,1396,4.251,1397,6.102,1398,9.198,1399,11.472,1400,6.587,1401,6.587,1402,6.587,1403,6.587,1404,6.587,1405,6.587,1406,9.198,1407,6.587,1408,6.587,1409,6.587,1410,6.587,1411,6.587,1412,6.587,1413,6.587,1414,6.587,1415,6.587]],["title/interfaces/AppStartInfo.html",[159,0.712,1416,6.113]],["body/interfaces/AppStartInfo.html",[0,0.297,3,0.02,4,0.016,5,0.008,7,0.119,30,0.001,32,0.158,33,0.616,47,1.031,55,2.452,95,0.095,101,0.011,103,0.001,104,0.001,112,0.86,125,2.882,135,1.115,148,0.842,159,0.876,161,2.041,228,1.539,339,3.217,385,5.851,400,2.513,876,4.462,1027,2.622,1115,3.261,1237,2.482,1283,9.005,1416,10.619,1417,7.938,1418,7.21,1419,11.573,1420,11.196,1421,11.196,1422,4.391,1423,5.114,1424,9.628,1425,7.21,1426,3.806,1427,7.938,1428,10.161,1429,7.938,1430,10.161,1431,7.938,1432,10.161,1433,7.938,1434,5.53,1435,7.938]],["title/classes/AppStartLoggable.html",[0,0.241,1425,5.86]],["body/classes/AppStartLoggable.html",[0,0.302,2,0.92,3,0.023,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.108,33,0.398,35,1,47,0.896,55,1.767,95,0.097,101,0.011,103,0.001,104,0.001,125,2.905,135,1.134,148,0.857,159,0.892,228,1.566,339,3.252,385,5.953,400,2.556,433,1.071,876,6.35,1027,2.668,1115,3.318,1237,3.213,1283,6.154,1416,11.267,1417,11.298,1418,7.336,1419,9.734,1420,7.652,1421,7.652,1422,4.883,1423,5.687,1424,9.734,1425,9.332,1426,5.702,1427,8.075,1428,10.273,1429,8.075,1430,10.273,1431,8.075,1432,10.273,1433,8.075,1434,5.626,1435,8.075,1436,8.718,1437,8.718,1438,8.718]],["title/interfaces/AppendedAttachment.html",[159,0.712,1439,5.221]],["body/interfaces/AppendedAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.514,47,1.069,77,5.908,101,0.012,103,0.001,104,0.001,112,0.897,159,1.423,161,2.181,231,2.321,1240,5.411,1439,9.351,1440,7.028,1441,9.795,1442,10.325,1443,7.028,1444,5.09,1445,8.574,1446,6.716,1447,6.716,1448,9.351,1449,7.028,1450,8.574,1451,8.781,1452,8.781,1453,8.574,1454,7.041,1455,6.863,1456,6.863,1457,7.028,1458,7.028]],["title/classes/AuthCodeFailureLoggableException.html",[0,0.241,1459,5.86]],["body/classes/AuthCodeFailureLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,35,1,47,0.896,59,2.71,95,0.124,101,0.011,103,0.001,104,0.001,148,0.857,185,3.799,228,1.566,231,1.914,339,2.556,365,4.926,400,2.556,433,1.071,436,2.575,998,6.079,1027,2.668,1080,4.228,1115,3.318,1422,4.883,1423,5.687,1426,5.702,1459,9.332,1460,11.091,1461,8.313,1462,4.701,1463,9.623,1464,8.718,1465,6.05,1466,11.298,1467,7.336,1468,5.687,1469,5.97,1470,4.886,1471,6.395,1472,4.847,1473,8.718,1474,11.091,1475,8.084,1476,5.255,1477,4.451,1478,4.634,1479,8.718]],["title/modules/AuthenticationApiModule.html",[252,1.839,1480,5.49]],["body/modules/AuthenticationApiModule.html",[0,0.328,3,0.018,4,0.018,5,0.009,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.345,254,3.41,255,3.62,256,3.711,257,3.698,258,3.685,259,4.602,260,4.343,269,4.576,270,3.646,271,3.571,273,5.969,274,4.865,276,4.576,277,1.356,1480,11.164,1481,9.48,1482,9.48,1483,9.48,1484,9.305,1485,11.642,1486,9.48,1487,11.122,1488,9.48,1489,9.48,1490,8.781]],["title/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.241,1491,5.658]],["body/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.298,2,0.909,3,0.016,4,0.016,5,0.008,7,0.12,27,0.526,29,0.657,30,0.001,31,0.483,32,0.167,33,0.393,47,1.021,95,0.096,101,0.011,103,0.001,104,0.001,112,0.863,232,2.977,433,1.057,435,2.957,998,6.7,1491,10.726,1492,13.727,1493,11.292,1494,8.606,1495,8.718,1496,9.85,1497,10.641,1498,10.641,1499,11,1500,8.606,1501,8.606,1502,10.189,1503,8.606,1504,8.606,1505,7.972,1506,7.241,1507,6.451,1508,7.972,1509,8.606,1510,8.606,1511,8.606,1512,8.606,1513,8.606,1514,8.606,1515,8.606,1516,7.553,1517,8.606]],["title/modules/AuthenticationModule.html",[252,1.839,1484,4.684]],["body/modules/AuthenticationModule.html",[0,0.19,3,0.01,4,0.01,5,0.005,30,0.001,32,0.068,95,0.157,101,0.007,103,0,104,0,135,1.374,153,0.889,252,2.529,254,1.977,255,2.099,256,2.152,257,2.144,258,2.136,259,3.479,260,3.56,264,8.458,265,5.456,268,7.164,269,3.163,270,2.114,271,2.07,276,3.163,277,0.786,279,2.279,579,1.569,628,3.28,647,4.032,648,3.461,665,9.556,671,8.628,1027,1.682,1372,2.901,1380,4.12,1484,9.822,1518,5.496,1519,5.496,1520,5.496,1521,5.496,1522,9.897,1523,9.556,1524,9.03,1525,8.458,1526,10.192,1527,10.324,1528,9.556,1529,9.897,1530,10.324,1531,8.304,1532,10.324,1533,10.324,1534,10.324,1535,5.496,1536,4.824,1537,4.032,1538,5.496,1539,4.465,1540,3.814,1541,5.496,1542,9.579,1543,4.824,1544,8.079,1545,3.88,1546,8.868,1547,11.25,1548,4.12,1549,4.625,1550,4.824,1551,4.625,1552,5.091,1553,5.091,1554,4.824,1555,5.496,1556,5.496,1557,5.496,1558,5.496,1559,5.496,1560,5.496,1561,3.88,1562,4.333,1563,3.547,1564,5.091,1565,5.496,1566,4.824,1567,5.091,1568,3.814,1569,5.091,1570,5.496,1571,5.496,1572,5.496,1573,4.625,1574,5.496,1575,5.496,1576,5.496,1577,5.496,1578,5.496,1579,5.496,1580,5.496,1581,5.496,1582,3.952,1583,5.496,1584,5.496,1585,3.347,1586,5.496,1587,9.579,1588,5.496,1589,4.219,1590,5.496,1591,5.091,1592,5.496,1593,3.383,1594,5.496,1595,4.465,1596,5.496,1597,5.496,1598,3.248,1599,5.091,1600,5.496,1601,5.496]],["title/interfaces/AuthenticationResponse.html",[159,0.712,1602,6.113]],["body/interfaces/AuthenticationResponse.html",[0,0.182,3,0.01,4,0.01,5,0.005,7,0.073,30,0.001,32,0.065,36,1.113,47,1.031,51,3.767,55,1.067,87,3.946,94,3.971,95,0.115,101,0.007,103,0,104,0,112,0.614,122,1.092,135,1.838,142,1.906,145,2.938,148,1.294,153,1.672,158,1.944,159,0.539,161,1.254,185,1.804,189,4.818,228,1.677,277,0.753,316,2.534,317,1.139,326,2.004,339,2.739,379,5.876,414,6.864,478,1.475,484,3.786,579,2.235,581,6.869,652,2.561,657,1.204,711,3.355,756,2.1,802,3.49,871,3.437,1080,1.825,1176,6.008,1372,2.779,1585,6.731,1602,9.077,1603,4.622,1604,4.622,1605,7.908,1606,9.077,1607,6.585,1608,4.877,1609,4.877,1610,3.862,1611,4.278,1612,4.877,1613,4.431,1614,4.877,1615,4.877,1616,4.622,1617,6.869,1618,4.877,1619,3.241,1620,4.877,1621,4.877,1622,3.786,1623,4.622,1624,4.431,1625,4.278,1626,2.951,1627,6.717,1628,8.198,1629,4.877,1630,4.622,1631,6.869,1632,6.869,1633,4.622,1634,10.728,1635,4.877,1636,4.622,1637,9.7,1638,9.7,1639,11.244,1640,4.877,1641,4.622,1642,9.7,1643,4.877,1644,9.579,1645,4.877,1646,4.877,1647,7.589,1648,4.877,1649,4.877,1650,4.622,1651,4.877,1652,4.877,1653,4.877,1654,4.877,1655,4.877,1656,7.25,1657,4.877,1658,4.622,1659,4.622,1660,3.947,1661,6.869,1662,4.622,1663,4.622,1664,4.622,1665,6.869,1666,4.622,1667,6.869,1668,4.622,1669,4.622,1670,6.869,1671,4.622,1672,4.622,1673,4.877,1674,7.25,1675,3.174,1676,4.877,1677,4.877,1678,4.877,1679,4.877,1680,4.877,1681,4.877,1682,4.877,1683,4.877,1684,4.877,1685,4.877]],["title/injectables/AuthenticationService.html",[589,0.926,1526,5.346]],["body/injectables/AuthenticationService.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.072,8,0.887,21,6.81,27,0.479,29,0.937,30,0.001,31,0.69,32,0.155,33,0.561,34,0.89,35,1.37,36,2.595,47,1.033,48,5.404,51,3.734,59,1.618,66,7.19,73,4.82,74,3.995,77,3.358,83,1.526,87,2.624,94,5.851,95,0.149,101,0.007,103,0,104,0,125,1.24,135,1.5,141,3.325,142,3.358,148,1.011,153,1.778,195,1.144,228,1.846,230,3.45,277,0.744,290,1.235,312,4.568,317,2.84,340,4.885,433,0.953,488,4.568,569,2.411,579,2.215,589,1.031,591,1.235,634,6.93,649,3.277,651,2.64,652,2.091,657,2.515,666,9.171,992,4.82,1381,3.5,1526,5.956,1528,9.706,1537,3.817,1543,4.568,1548,3.901,1553,4.82,1554,4.568,1585,3.17,1605,3.553,1610,3.817,1675,3.137,1686,5.204,1687,7.759,1688,7.759,1689,7.186,1690,7.759,1691,7.759,1692,7.759,1693,5.204,1694,11.532,1695,5.204,1696,7.759,1697,5.204,1698,7.759,1699,8.105,1700,5.204,1701,7.186,1702,5.204,1703,7.759,1704,5.204,1705,7.759,1706,5.204,1707,7.759,1708,5.204,1709,5.204,1710,7.759,1711,5.204,1712,3.995,1713,4.228,1714,3.901,1715,4.568,1716,4.568,1717,7.759,1718,3.817,1719,5.691,1720,4.568,1721,4.379,1722,4.379,1723,2.966,1724,7.313,1725,3.674,1726,5.204,1727,5.204,1728,5.204,1729,4.82,1730,6.953,1731,5.204,1732,5.204,1733,5.204,1734,5.204,1735,7.186,1736,5.204,1737,7.759,1738,7.759,1739,5.204,1740,7.759,1741,4.82,1742,5.204,1743,3.742,1744,7.186,1745,5.204,1746,5.204,1747,5.204,1748,5.204,1749,2.966,1750,5.204,1751,4.103,1752,5.204,1753,5.204,1754,5.204]],["title/classes/AuthenticationValues.html",[0,0.241,1755,6.451]],["body/classes/AuthenticationValues.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.501,29,0.747,30,0.001,31,0.549,32,0.159,33,0.447,47,0.983,101,0.013,103,0.001,104,0.001,112,0.935,232,3.224,433,1.202,435,3.36,1755,12.697,1756,7.688,1757,13.372,1758,9.78,1759,12.848,1760,12.848,1761,11.914,1762,9.78,1763,9.78,1764,9.78,1765,9.78,1766,9.78]],["title/interfaces/AuthorizableObject.html",[159,0.712,1767,3.783]],["body/interfaces/AuthorizableObject.html",[0,0.343,3,0.018,4,0.018,5,0.009,9,4.592,26,2.617,30,0.001,34,2.052,95,0.11,101,0.015,103,0.001,104,0.001,113,3.934,134,3.506,135,1.288,148,1.18,159,1.012,161,2.358,232,2.679,435,4.123,532,4.737,711,3.477,1237,2.868,1767,7.016,1768,9.17,1769,8.69,1770,3.963,1771,10.099,1772,9.17,1773,6.03,1774,11.117]],["title/interfaces/AuthorizationContext.html",[159,0.712,1775,3.812]],["body/interfaces/AuthorizationContext.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,95,0.137,101,0.013,103,0.001,104,0.001,112,0.962,159,1.049,161,2.443,595,3.889,693,6.179,1197,7.803,1775,6.709,1776,9,1777,9.498,1778,8.555,1779,10.255]],["title/classes/AuthorizationContextBuilder.html",[0,0.241,1780,4.198]],["body/classes/AuthorizationContextBuilder.html",[0,0.289,2,0.88,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,27,0.466,29,0.912,30,0.001,31,0.671,32,0.156,33,0.546,35,1.37,95,0.12,101,0.011,103,0.001,104,0.001,135,1.554,148,1.174,183,5.114,467,4.062,507,4.787,595,3.162,652,2.429,693,6.4,1197,7.501,1775,7.458,1778,7.95,1780,6.497,1781,12.626,1782,8.338,1783,6.635,1784,7.248,1785,10.778,1786,8.338,1787,10.778,1788,8.338,1789,10.778,1790,8.338,1791,10.778,1792,5.786,1793,5.527]],["title/classes/AuthorizationError.html",[0,0.241,1794,6.451]],["body/classes/AuthorizationError.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.523,29,0.599,30,0.001,31,0.441,32,0.172,33,0.53,35,0.9,47,0.968,55,1.59,59,3.22,95,0.115,101,0.01,103,0,104,0,112,0.813,155,3.937,190,2.299,228,2.501,231,1.788,233,2.433,277,1.122,402,2.823,433,0.964,436,3.891,868,5.937,871,2.888,998,5.492,1078,5.404,1080,4.445,1115,4.88,1197,4.264,1354,8.686,1355,7.722,1356,7.583,1360,5.203,1361,4.512,1362,5.203,1363,5.203,1364,5.203,1365,5.203,1366,5.203,1367,4.832,1368,4.436,1369,6.188,1374,5.065,1475,4.942,1794,9.597,1795,7.849,1796,8.718,1797,7.849,1798,7.849,1799,6.889,1800,7.27]],["title/injectables/AuthorizationHelper.html",[589,0.926,1801,4.287]],["body/injectables/AuthorizationHelper.html",[0,0.213,3,0.011,4,0.011,5,0.006,7,0.086,8,1.001,27,0.458,29,0.96,30,0.001,31,0.66,32,0.156,33,0.537,35,1.348,47,0.975,95,0.114,96,1.604,101,0.008,103,0,104,0,122,2.713,135,1.673,141,5.391,145,2.306,148,1.236,158,2.268,195,1.35,197,2.447,205,2.563,224,1.78,277,0.879,290,3.353,331,5.222,478,1.721,532,4.716,578,3.22,589,1.164,591,1.457,652,2.075,653,3.602,711,3.929,1778,8.24,1801,5.391,1802,6.144,1803,8.757,1804,10.727,1805,8.757,1806,8.111,1807,8.757,1808,8.757,1809,10.204,1810,12.859,1811,6.144,1812,8.111,1813,6.144,1814,8.757,1815,6.144,1816,8.111,1817,6.144,1818,8.757,1819,9.762,1820,6.144,1821,4.147,1822,5.691,1823,7.686,1824,8.111,1825,5.691,1826,5.243,1827,5.392,1828,8.757,1829,2.633,1830,6.144,1831,4.072,1832,3.915,1833,4.991,1834,4.507,1835,3.157,1836,5.691,1837,5.691,1838,5.278,1839,6.144,1840,6.144,1841,6.144,1842,5.373,1843,6.144,1844,6.144]],["title/interfaces/AuthorizationLoaderService.html",[159,0.712,1845,5.49]],["body/interfaces/AuthorizationLoaderService.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,12,5.352,26,2.768,27,0.377,29,0.738,30,0.001,31,0.543,32,0.12,33,0.441,34,1.652,35,1.108,36,2.701,40,6.185,95,0.148,99,1.947,101,0.015,103,0.001,104,0.001,159,1.209,161,2.302,185,3.31,231,1.667,1767,5.248,1776,10.379,1845,10.074,1846,9.322,1847,8.13,1848,9.662,1849,5.507,1850,6.821,1851,7.417,1852,5.71,1853,3.17,1854,8.13]],["title/interfaces/AuthorizationLoaderServiceGeneric.html",[159,0.712,1854,5.86]],["body/interfaces/AuthorizationLoaderServiceGeneric.html",[3,0.018,4,0.018,5,0.009,7,0.134,8,1.347,12,5.336,26,2.764,27,0.375,29,0.734,30,0.001,31,0.54,32,0.119,33,0.439,34,1.644,35,1.103,36,2.695,40,6.172,95,0.148,99,1.937,101,0.015,103,0.001,104,0.001,159,1.206,161,2.291,185,3.294,231,2.034,1767,5.223,1776,10.349,1845,10.053,1846,9.295,1847,8.091,1849,5.48,1850,6.788,1851,7.382,1852,5.683,1853,3.155,1854,9.921,1855,9.616]],["title/modules/AuthorizationModule.html",[252,1.839,1856,3.969]],["body/modules/AuthorizationModule.html",[0,0.215,3,0.011,4,0.011,5,0.006,30,0.001,95,0.141,101,0.008,103,0,104,0,252,2.707,254,2.231,255,2.368,256,2.428,257,2.419,258,2.41,259,3.725,260,3.811,265,5.687,268,7.466,269,3.451,270,2.385,271,2.336,276,3.451,277,0.887,279,2.571,1027,1.898,1801,7.547,1856,8.452,1857,6.201,1858,6.201,1859,6.201,1860,6.201,1861,10.315,1862,7.221,1863,11.432,1864,11.432,1865,10.315,1866,10.315,1867,9.96,1868,9.19,1869,9.96,1870,10.315,1871,10.315,1872,9.96,1873,10.315,1874,10.315,1875,10.315,1876,10.315,1877,9.96,1878,10.315,1879,10.315,1880,10.315,1881,6.201,1882,5.217,1883,2.328,1884,6.201,1885,3.817,1886,4.888]],["title/classes/AuthorizationParams.html",[0,0.241,1887,5.658]],["body/classes/AuthorizationParams.html",[0,0.385,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,27,0.518,30,0.001,32,0.164,33,0.638,47,1.025,95,0.124,101,0.011,103,0.001,104,0.001,112,0.874,190,2.381,200,2.685,289,7.097,299,5.2,300,5.09,442,9.048,454,7.129,856,6.802,899,4.01,998,5.794,1080,4.241,1887,9.048,1888,8.776,1889,9.644,1890,11.332,1891,8.128,1892,8.776,1893,11.332,1894,8.128,1895,8.776,1896,8.776,1897,8.776,1898,8.776,1899,8.128,1900,5.737,1901,8.128,1902,8.128]],["title/modules/AuthorizationReferenceModule.html",[252,1.839,1903,5.109]],["body/modules/AuthorizationReferenceModule.html",[0,0.221,3,0.012,4,0.012,5,0.006,30,0.001,72,4.129,95,0.145,101,0.008,103,0,104,0,157,1.476,252,3.356,254,2.294,255,2.436,256,2.497,257,2.488,258,2.479,259,3.783,260,3.87,265,5.739,268,7.535,269,3.521,270,2.453,271,2.402,276,3.521,277,0.912,279,2.644,289,5.216,339,3.316,412,5.023,543,4.376,1027,1.952,1224,6.466,1475,5.662,1531,8.734,1801,7.617,1829,2.734,1856,7.399,1883,2.394,1903,10.725,1904,6.378,1905,6.378,1906,6.378,1907,6.378,1908,8.734,1909,10.766,1910,9.498,1911,7.617,1912,10.052,1913,9.076,1914,9.498,1915,8.734,1916,8.586,1917,6.378,1918,6.378,1919,6.24,1920,8.992,1921,5.96,1922,6.24,1923,8.992,1924,6.047,1925,6.24,1926,5.476,1927,7.606,1928,5.314,1929,6.596,1930,6.466,1931,8.329,1932,6.74,1933,4.502,1934,6.903,1935,5.028,1936,7.606,1937,3.004,1938,6.378,1939,3.39,1940,6.378,1941,4.17,1942,6.378]],["title/injectables/AuthorizationReferenceService.html",[589,0.926,1909,5.49]],["body/injectables/AuthorizationReferenceService.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,8,1.104,26,2.927,27,0.429,29,0.84,30,0.001,31,0.618,32,0.146,33,0.503,35,1.108,36,2.499,39,3.282,95,0.142,99,1.425,101,0.009,103,0,104,0,135,1.257,148,0.695,153,1.144,157,1.638,183,5.158,185,3.31,228,1.735,252,2.551,277,1.012,290,1.678,317,2.765,400,2.074,412,4.292,433,0.869,561,4.352,579,2.02,589,1.285,591,1.678,613,5.555,652,1.439,657,2.21,711,3.702,736,6.556,980,3.902,1080,2.452,1475,6.085,1775,7.16,1838,5.824,1846,7.617,1862,6.952,1909,7.617,1912,9.608,1943,11.826,1944,6.553,1945,7.85,1946,8.481,1947,9.663,1948,11.005,1949,11.005,1950,7.075,1951,7.075,1952,7.075,1953,9.235,1954,7.075,1955,7.075,1956,7.075,1957,5.577,1958,7.075,1959,6.553,1960,7.075,1961,6.209,1962,4.222,1963,7.075,1964,5.577]],["title/injectables/AuthorizationService.html",[589,0.926,1862,3.702]],["body/injectables/AuthorizationService.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,8,0.908,26,2.116,27,0.483,29,0.946,30,0.001,31,0.696,32,0.157,33,0.566,35,1.384,36,1.679,39,1.491,47,0.971,95,0.143,99,1.082,101,0.007,103,0,104,0,122,2.419,135,1.23,148,1.026,153,1.528,183,4.916,185,4.409,195,1.18,228,1.697,268,7.351,277,0.768,279,2.227,290,3.367,317,2.045,433,0.976,478,1.505,569,3.626,579,2.698,589,1.056,591,1.274,610,2.118,641,3.061,652,1.922,657,1.228,711,4.059,1080,1.862,1767,6.556,1775,6.606,1778,8.607,1801,7.43,1804,6.971,1806,7.357,1812,7.357,1816,7.357,1829,3.404,1838,6.294,1849,3.061,1852,7.133,1853,1.762,1862,4.221,1873,9.816,1946,4.714,1957,7.45,1965,5.371,1966,7.943,1967,7.943,1968,5.826,1969,9.451,1970,5.371,1971,5.371,1972,7.943,1973,5.371,1974,7.943,1975,5.371,1976,7.943,1977,5.371,1978,7.943,1979,5.371,1980,5.371,1981,5.371,1982,5.062,1983,5.371,1984,6.355,1985,5.371,1986,4.889,1987,4.364,1988,5.371,1989,5.371,1990,5.371,1991,5.371,1992,5.371,1993,5.193,1994,7.943,1995,3.94,1996,5.371,1997,7.943,1998,4.234]],["title/injectables/AutoContextIdStrategy.html",[589,0.926,1999,6.113]],["body/injectables/AutoContextIdStrategy.html",[0,0.32,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,27,0.361,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.062,47,0.847,95,0.146,101,0.012,103,0.001,104,0.001,125,2.744,148,0.91,183,4.789,277,1.324,417,6.457,589,1.531,591,2.197,614,3.571,703,2.841,1237,2.683,1756,6.623,1999,10.111,2000,9.359,2001,9.359,2002,8.578,2003,9.359,2004,9.359,2005,7.173,2006,7.313,2007,8.578,2008,5.739,2009,9.082,2010,6.139,2011,7.792,2012,8.578]],["title/injectables/AutoContextNameStrategy.html",[589,0.926,2013,6.113]],["body/injectables/AutoContextNameStrategy.html",[0,0.214,3,0.011,4,0.011,5,0.006,7,0.086,8,1.005,26,2.553,27,0.435,29,0.851,30,0.001,31,0.627,32,0.138,33,0.51,35,1.174,36,2.588,47,0.82,95,0.15,99,1.245,101,0.008,103,0,104,0,125,2.095,129,1.831,135,1.594,148,1.158,153,1,183,4.677,228,1.839,277,0.884,317,2.835,417,6.605,433,1.081,478,1.732,579,1.765,589,1.169,591,1.466,614,2.727,652,2.665,657,2.801,703,1.897,1080,2.143,1237,1.791,1393,5.013,1756,6.775,1853,2.028,1933,4.364,2000,9.574,2001,9.574,2003,8.318,2004,5.022,2005,6.509,2006,6.605,2008,4.381,2009,6.933,2010,4.097,2011,5.201,2013,7.719,2014,6.182,2015,8.795,2016,8.795,2017,5.426,2018,8.118,2019,9.243,2020,9.445,2021,6.182,2022,8.795,2023,6.182,2024,4.873,2025,8.795,2026,6.182,2027,3.026,2028,6.182,2029,4.634,2030,7.145,2031,4.289,2032,5.198,2033,3.883,2034,4.445,2035,3.41,2036,3.043,2037,7.719,2038,3.939,2039,5.201,2040,4.364,2041,8.795,2042,6.182,2043,5.201,2044,8.795,2045,6.182,2046,6.182,2047,4.634,2048,4.445,2049,2.523,2050,6.182,2051,2.616,2052,6.182,2053,6.182,2054,4.634,2055,6.103,2056,6.182]],["title/interfaces/AutoParameterStrategy.html",[159,0.712,2009,5.49]],["body/interfaces/AutoParameterStrategy.html",[3,0.018,4,0.018,5,0.009,7,0.133,8,1.343,27,0.373,29,0.731,30,0.001,31,0.538,32,0.118,33,0.437,35,1.098,36,2.485,47,0.864,95,0.131,101,0.012,103,0.001,104,0.001,125,2.8,159,0.979,161,2.28,183,3.655,417,6.589,614,3.645,703,2.936,1756,6.759,2000,9.551,2001,9.551,2003,10.339,2004,7.775,2005,7.371,2006,7.364,2008,5.856,2009,9.268,2057,9.57,2058,9.57]],["title/injectables/AutoSchoolIdStrategy.html",[589,0.926,2059,6.113]],["body/injectables/AutoSchoolIdStrategy.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,8,1.296,27,0.352,29,0.69,30,0.001,31,0.507,32,0.112,33,0.413,35,1.036,47,0.833,95,0.145,101,0.012,103,0.001,104,0.001,125,2.702,148,0.888,183,3.449,277,1.292,417,6.356,571,3.575,589,1.508,591,2.143,614,3.516,703,3.804,1086,4.3,1087,4.168,1088,4.233,1089,4.499,1090,4.906,1237,2.616,1756,6.52,2000,9.214,2001,9.214,2002,8.366,2003,10.073,2004,7.338,2005,7.266,2006,7.273,2007,8.366,2008,5.65,2009,8.94,2010,5.987,2011,7.6,2059,9.954,2060,6.625,2061,6.495,2062,7.927]],["title/injectables/AutoSchoolNumberStrategy.html",[589,0.926,2063,6.113]],["body/injectables/AutoSchoolNumberStrategy.html",[0,0.288,3,0.015,4,0.015,5,0.007,7,0.116,8,1.23,27,0.42,29,0.822,30,0.001,31,0.605,32,0.133,33,0.492,35,0.954,36,2.275,95,0.149,101,0.011,103,0.001,104,0.001,135,1.083,148,0.818,183,3.178,228,1.494,277,1.19,317,2.581,400,2.44,417,6.687,433,1.022,571,3.294,589,1.431,591,1.974,614,3.337,657,1.903,703,4.106,1086,3.961,1087,3.84,1088,3.899,1089,4.145,1090,4.52,1237,2.41,1756,6.859,1853,2.73,2000,9.693,2001,9.693,2003,9.693,2004,6.76,2005,7.113,2006,7.139,2008,5.362,2009,8.485,2010,5.515,2011,7.001,2060,6.103,2061,5.983,2063,9.447,2064,8.321,2065,7.303,2066,8.362,2067,8.321,2068,7.469,2069,8.321,2070,4.486,2071,6.361,2072,7.707,2073,7.001]],["title/classes/AxiosErrorFactory.html",[0,0.241,2074,6.451]],["body/classes/AxiosErrorFactory.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.342,29,0.67,30,0.001,31,0.626,33,0.401,95,0.143,101,0.011,103,0.001,104,0.001,135,1.142,148,1.203,153,1.419,158,3.239,193,3.827,195,1.928,231,1.922,277,1.255,339,2.573,402,4.401,516,6.502,575,5.045,871,4.098,998,4.156,1080,3.86,1115,3.34,1169,5.09,1368,4.959,1375,9.392,1477,4.48,2074,11.332,2075,10.316,2076,8.776,2077,11.137,2078,11.137,2079,8.776,2080,8.128,2081,7.129,2082,7.384,2083,10.316,2084,5.817,2085,6.089,2086,11.137,2087,8.776,2088,3.761,2089,8.128,2090,8.776,2091,7.384,2092,8.128,2093,8.776,2094,8.776,2095,11.137]],["title/classes/AxiosErrorLoggable.html",[0,0.241,2096,5.86]],["body/classes/AxiosErrorLoggable.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.434,29,0.67,30,0.001,31,0.493,32,0.164,33,0.401,35,1.006,47,0.899,95,0.136,101,0.011,103,0.001,104,0.001,113,3.487,148,0.863,228,2,231,1.922,277,1.255,339,2.573,400,2.573,433,1.078,1027,2.685,1115,3.34,1237,3.226,1368,4.959,1422,4.898,1423,5.704,1426,5.715,1468,5.704,1469,5.988,1477,4.48,2082,11.419,2084,5.817,2096,9.371,2097,12.235,2098,8.776,2099,9.171,2100,8.776,2101,8.776,2102,8.776,2103,8.776,2104,8.776,2105,7.384,2106,6.918,2107,8.776,2108,8.776,2109,3.845,2110,8.776,2111,8.776]],["title/classes/AxiosResponseImp.html",[0,0.241,2112,6.451]],["body/classes/AxiosResponseImp.html",[0,0.265,2,0.808,3,0.014,4,0.014,5,0.007,7,0.107,27,0.51,29,0.584,30,0.001,31,0.43,32,0.168,33,0.35,47,0.897,55,2.321,95,0.114,101,0.013,103,0,104,0,112,0.799,135,0.996,148,0.752,153,1.853,232,2.758,333,5.147,339,3.729,402,4.575,433,0.94,435,2.63,501,4.158,532,4.201,571,3.03,576,4.524,881,4.189,1086,3.644,1087,3.533,1088,3.587,1089,3.813,1090,4.158,1169,7.586,1237,2.952,2075,12.364,2080,7.09,2083,11.78,2084,5.074,2088,5.451,2112,10.61,2113,7.09,2114,8.237,2115,12.718,2116,12.718,2117,10.19,2118,12.213,2119,7.655,2120,7.655,2121,7.655,2122,7.655,2123,10.19,2124,10.19,2125,4.012,2126,7.655,2127,4.481,2128,5.226,2129,7.655,2130,7.655,2131,7.655,2132,7.655,2133,6.219,2134,7.09,2135,5.404,2136,7.09]],["title/classes/BBBBaseMeetingConfig.html",[0,0.241,2137,5.221]],["body/classes/BBBBaseMeetingConfig.html",[0,0.348,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.472,29,0.767,30,0.001,31,0.565,32,0.15,33,0.459,47,0.89,101,0.013,103,0.001,104,0.001,112,0.95,433,1.235,2088,4.307,2137,10.353,2138,6.861,2139,11.41,2140,7.409,2141,10.049,2142,9.348,2143,10.63,2144,10.049,2145,10.049,2146,9.308,2147,8.82]],["title/interfaces/BBBBaseResponse.html",[159,0.712,2148,4.917]],["body/interfaces/BBBBaseResponse.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,47,1.032,95,0.113,101,0.013,103,0.001,104,0.001,112,0.953,159,1.033,161,2.406,1115,5.144,2138,5.33,2148,8.575,2149,8.498,2150,10.1,2151,13.519,2152,13.519,2153,12.521,2154,6.151,2155,7.962]],["title/classes/BBBCreateConfig.html",[0,0.241,2156,5.86]],["body/classes/BBBCreateConfig.html",[0,0.242,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.536,29,0.534,30,0.001,31,0.757,32,0.17,33,0.651,47,1.027,95,0.078,101,0.012,103,0,104,0,112,0.752,122,2.439,231,1.653,433,0.859,436,2.064,886,2.213,2088,2.995,2137,8.819,2138,7.263,2139,12.078,2140,3.983,2142,6.89,2143,8.41,2146,6.473,2147,6.134,2154,4.256,2156,10.372,2157,6.989,2158,10.935,2159,10.935,2160,11.175,2161,7.248,2162,10.935,2163,9.463,2164,5.718,2165,10.935,2166,10.935,2167,10.129,2168,6.989,2169,6.989,2170,6.989,2171,6.989,2172,6.989,2173,6.989,2174,6.989,2175,6.989,2176,6.989,2177,6.989,2178,6.473,2179,6.473,2180,9.582,2181,9.582,2182,9.582,2183,6.473,2184,2.766,2185,6.989,2186,5.365,2187,6.989,2188,6.989,2189,6.989,2190,6.989,2191,6.989,2192,6.989,2193,6.989,2194,6.989,2195,6.989,2196,6.989,2197,6.989,2198,6.989,2199,6.989]],["title/classes/BBBCreateConfigBuilder.html",[0,0.241,2200,6.113]],["body/classes/BBBCreateConfigBuilder.html",[0,0.247,2,0.752,3,0.013,4,0.013,5,0.006,7,0.099,8,1.109,27,0.499,29,0.906,30,0.001,31,0.697,32,0.154,33,0.542,35,1.423,47,0.963,95,0.123,101,0.009,102,3.787,103,0,104,0,112,0.762,113,3.858,122,2.29,130,2.989,148,1.22,193,3.108,195,1.566,228,1.744,231,1.675,436,2.868,507,5.268,531,3.735,532,2.613,567,2.657,734,5.397,812,4.541,1080,2.47,1476,4.295,2138,6.55,2154,4.339,2156,9.294,2160,11.241,2161,6.436,2163,5.469,2164,3.305,2167,8.994,2200,12.007,2201,11.496,2202,6.6,2203,8.373,2204,8.17,2205,9.71,2206,9.71,2207,9.71,2208,9.71,2209,6.6,2210,7.125,2211,9.71,2212,7.125,2213,9.71,2214,7.125,2215,9.71,2216,7.125,2217,9.71,2218,7.125,2219,3.194,2220,3.592,2221,3.468,2222,4.486,2223,5.341,2224,7.125,2225,7.125,2226,7.125,2227,7.125,2228,7.125,2229,6.253,2230,5.226,2231,5.995,2232,4.061,2233,4.339,2234,4.865,2235,5.617,2236,7.125,2237,5.788,2238,7.125,2239,6.6,2240,7.125,2241,7.125]],["title/interfaces/BBBCreateResponse.html",[159,0.712,2242,6.113]],["body/interfaces/BBBCreateResponse.html",[3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.175,47,1.066,55,2.846,95,0.096,101,0.011,103,0.001,104,0.001,112,0.865,122,2.803,159,0.884,161,2.059,231,1.903,2138,4.562,2142,9.202,2148,8.576,2149,7.272,2154,5.264,2242,9.681,2243,8.643,2244,11.853,2245,11.853,2246,11.853,2247,11.231,2248,11.853,2249,11.853,2250,11.853,2251,11.853,2252,11.853,2253,7.272]],["title/classes/BBBJoinConfig.html",[0,0.241,2254,5.86]],["body/classes/BBBJoinConfig.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.529,29,0.625,30,0.001,31,0.46,32,0.168,33,0.62,39,3.285,47,0.997,95,0.091,101,0.014,103,0.001,104,0.001,112,0.835,122,2.208,231,1.838,242,4.32,331,5.257,433,1.006,436,2.418,886,2.592,2088,3.508,2137,9.397,2138,7.161,2139,11.908,2140,4.665,2142,7.658,2143,9.347,2154,4.985,2178,7.582,2179,7.582,2183,7.582,2223,8.873,2254,10.936,2255,8.185,2256,10.39,2257,11.838,2258,8.512,2259,8.185,2260,8.185,2261,8.185,2262,8.185,2263,8.185,2264,8.185,2265,9.347,2266,10.65,2267,8.185,2268,8.185,2269,6.004,2270,8.185,2271,8.185,2272,8.185,2273,8.185,2274,7.184,2275,8.185]],["title/classes/BBBJoinConfigBuilder.html",[0,0.241,2276,6.113]],["body/classes/BBBJoinConfigBuilder.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,8,1.217,27,0.507,29,0.904,30,0.001,31,0.665,32,0.155,33,0.541,35,1.438,47,0.87,95,0.119,101,0.01,103,0.001,104,0.001,112,0.835,113,4.231,122,2.454,130,3.606,148,1.164,228,1.912,231,1.838,436,3.146,507,5.257,532,3.906,2138,6.617,2201,11.613,2202,7.582,2203,8.711,2204,8.961,2209,7.582,2223,9.397,2254,6.887,2276,12.073,2277,9.624,2278,10.65,2279,9.864,2280,9.864,2281,10.65,2282,8.185,2283,10.65,2284,8.185,2285,10.65,2286,8.185,2287,8.185,2288,8.185,2289,8.185,2290,8.185,2291,8.185,2292,8.185]],["title/interfaces/BBBJoinResponse.html",[159,0.712,2293,6.451]],["body/interfaces/BBBJoinResponse.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.169,47,1.077,95,0.107,101,0.012,103,0.001,104,0.001,110,4.615,112,0.922,159,0.979,161,2.28,231,2.029,2138,5.051,2148,8.983,2149,8.052,2154,5.828,2253,8.052,2293,10.89,2294,8.864,2295,13.273,2296,13.273,2297,13.273,2298,10.463]],["title/interfaces/BBBMeetingInfoResponse.html",[159,0.712,2299,5.49]],["body/interfaces/BBBMeetingInfoResponse.html",[3,0.012,4,0.012,5,0.006,7,0.088,30,0.001,32,0.18,33,0.514,39,1.751,47,1.049,55,2.964,95,0.07,101,0.008,103,0,104,0,112,0.7,122,2.95,131,5.746,158,2.329,159,0.645,161,1.503,172,5.262,231,1.539,331,2.802,514,3.426,2138,3.329,2142,8.093,2148,7.308,2149,5.307,2154,3.842,2244,10.425,2245,10.425,2246,10.425,2247,9.878,2248,10.425,2249,10.425,2250,10.425,2251,5.843,2252,10.425,2253,5.307,2256,5.536,2299,7.033,2300,5.843,2301,4.973,2302,11.255,2303,11.875,2304,11.255,2305,9.878,2306,11.255,2307,11.255,2308,11.255,2309,11.255,2310,11.255,2311,11.255,2312,11.255,2313,8.255,2314,9.878,2315,11.255,2316,11.255,2317,5.843,2318,6.308,2319,6.308,2320,6.308,2321,6.308,2322,6.308,2323,6.308]],["title/interfaces/BBBResponse.html",[159,0.712,2324,5.346]],["body/interfaces/BBBResponse.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.131,95,0.118,101,0.014,103,0.001,104,0.001,112,0.981,159,1.085,161,2.527,532,4.878,871,5.055,2138,5.598,2148,7.488,2154,6.46,2253,8.924,2324,9.601,2325,10.607]],["title/injectables/BBBService.html",[589,0.926,2326,5.346]],["body/injectables/BBBService.html",[0,0.121,3,0.006,4,0.006,5,0.003,7,0.049,8,0.65,27,0.464,29,0.951,30,0.001,31,0.656,32,0.141,33,0.507,35,1.485,36,2.468,47,0.996,95,0.13,101,0.004,103,0,104,0,110,4.211,113,4.731,135,1.656,142,1.267,148,1.224,153,1.845,157,0.81,185,3.528,193,1.526,228,1.292,277,0.5,317,1.556,326,2.166,339,1.669,388,4.758,433,0.699,527,2.419,531,4.344,579,2.79,589,0.757,591,0.83,641,1.994,652,2.095,657,0.8,688,1.631,734,3.493,735,2.576,812,3.627,871,1.287,1053,7.033,1054,1.977,1056,2.258,1169,2.03,1295,4.789,1312,4.604,1313,2.389,1314,2.567,1343,4.789,1372,3.004,1390,3.543,1718,4.175,2084,2.319,2088,4.601,2114,5.959,2125,1.834,2137,9.079,2138,6.392,2142,2.516,2147,3.071,2148,2.47,2153,3.241,2154,7.377,2156,9.033,2230,4.175,2233,3.466,2234,3.886,2235,4.486,2242,3.071,2254,7.673,2277,7.502,2299,2.758,2300,9.944,2324,7.502,2326,4.369,2327,3.499,2328,3.584,2329,5.691,2330,5.691,2331,5.272,2332,5.691,2333,4.032,2334,5.844,2335,8.004,2336,3.499,2337,6.733,2338,8.667,2339,3.499,2340,6.314,2341,5.691,2342,3.499,2343,5.959,2344,5.691,2345,3.466,2346,5.272,2347,5.691,2348,5.691,2349,3.499,2350,4.995,2351,5.691,2352,9.742,2353,11.534,2354,3.499,2355,5.272,2356,4.995,2357,9.773,2358,3.272,2359,8.287,2360,5.691,2361,3.499,2362,5.691,2363,3.499,2364,5.691,2365,3.499,2366,7.274,2367,5.691,2368,5.691,2369,3.499,2370,3.19,2371,5.691,2372,3.499,2373,4.995,2374,4.175,2375,3.499,2376,3.499,2377,3.499,2378,3.499,2379,3.499,2380,3.499,2381,3.499,2382,2.758,2383,7.907,2384,2.944,2385,3.499,2386,3.499,2387,3.499,2388,3.499,2389,6.733,2390,3.499,2391,8.287,2392,5.691,2393,1.341,2394,3.499,2395,3.499,2396,3.499,2397,7.194,2398,6.663,2399,9.773,2400,5.691,2401,5.272,2402,7.194,2403,7.194,2404,7.194,2405,7.194,2406,6.663,2407,6.663,2408,3.499,2409,3.499,2410,3.499,2411,3.499,2412,5.272,2413,3.499,2414,3.499,2415,3.499,2416,3.499,2417,4.995,2418,5.272,2419,3.499,2420,3.499,2421,3.499,2422,3.499,2423,3.499,2424,3.499,2425,3.499,2426,3.499,2427,3.499,2428,3.499,2429,3.241,2430,3.241,2431,3.499,2432,3.241,2433,3.499]],["title/classes/BaseDO.html",[0,0.241,1852,4.116]],["body/classes/BaseDO.html",[0,0.349,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,9,4.685,27,0.473,29,0.771,30,0.001,31,0.567,32,0.15,33,0.595,34,2.365,47,1.016,59,3.139,101,0.013,102,5.368,103,0.001,104,0.001,112,0.953,113,4.826,433,1.241,458,4.028,1852,7.179,2434,10.1,2435,8.294,2436,12.148]],["title/injectables/BaseDORepo.html",[589,0.926,2437,4.833]],["body/injectables/BaseDORepo.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.063,8,0.797,9,5.454,10,4.155,12,3.157,18,3.496,26,2.496,27,0.496,29,0.957,30,0.001,31,0.704,32,0.155,33,0.573,34,1.768,35,1.413,36,2.69,40,3.377,95,0.127,96,1.821,97,1.825,99,0.912,101,0.006,102,2.404,103,0,104,0,112,0.547,113,4.524,125,1.078,135,1.696,148,1.119,153,0.732,185,2.917,205,2.226,206,2.276,224,1.31,228,1.253,277,0.647,317,2.913,412,2.009,430,2.87,431,2.99,433,0.556,478,1.267,569,1.406,579,1.292,589,0.927,591,1.073,615,4.249,616,8.4,652,2.454,657,2.604,729,4.764,735,3.157,736,5.379,766,2.422,781,3.971,812,2.883,863,3.848,1027,1.384,1312,2.131,1770,4.707,1829,1.939,1852,2.674,1853,1.484,1995,3.318,2140,3.976,2370,2.536,2437,4.841,2438,4.524,2439,5.017,2440,4.925,2441,4.925,2442,5.017,2443,5.017,2444,4.925,2445,3.253,2446,5.199,2447,3.559,2448,4.485,2449,4.524,2450,5.017,2451,5.017,2452,4.524,2453,5.017,2454,4.524,2455,4.561,2456,4.764,2457,5.017,2458,4.524,2459,4.524,2460,5.017,2461,4.524,2462,3.139,2463,8.697,2464,4.925,2465,6.728,2466,4.524,2467,5.017,2468,8.674,2469,4.524,2470,5.017,2471,4.524,2472,4.205,2473,4.343,2474,4.692,2475,4.524,2476,5.017,2477,4.524,2478,4.524,2479,5.032,2480,6.977,2481,3.473,2482,3.089,2483,3.971,2484,3.139,2485,8.516,2486,4.524,2487,4.524,2488,3.318,2489,4.524,2490,4.524,2491,4.524,2492,3.566,2493,4.524,2494,4.524,2495,4.524,2496,4.524,2497,6.123,2498,6.641,2499,4.524,2500,4.524,2501,4.524,2502,4.524,2503,6.977,2504,3.807,2505,6.977,2506,6.977,2507,6.977,2508,6.977,2509,4.524,2510,4.524,2511,3.675,2512,2.7,2513,2.578,2514,4.19,2515,4.524,2516,3.675,2517,3.391,2518,4.524,2519,4.524,2520,4.524,2521,4.524,2522,3.675,2523,4.524,2524,3.675,2525,4.524]],["title/classes/BaseDomainObject.html",[0,0.241,2526,6.451]],["body/classes/BaseDomainObject.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,9,6.38,27,0.386,30,0.001,32,0.123,34,2.209,47,0.882,95,0.11,101,0.013,102,6.379,103,0.001,104,0.001,112,0.942,159,1.012,185,3.391,1197,5.378,1237,3.477,1767,7.016,1769,8.69,1883,4.849,2526,11.117,2527,12.003,2528,9.901,2529,9.17,2530,6.989,2531,5.338,2532,8.043,2533,9.17,2534,9.901]],["title/classes/BaseEntity.html",[0,0.241,2482,4.755]],["body/classes/BaseEntity.html",[0,0.397,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,9,4.739,27,0.398,30,0.001,32,0.158,33,0.351,34,2.239,47,0.843,49,4.607,72,3.529,83,3.365,95,0.136,96,2.667,97,3.099,101,0.016,103,0,104,0,112,0.959,135,1,153,1.856,159,0.786,185,2.632,190,2.057,205,2.082,206,2.507,223,3.577,224,2.226,225,3.915,412,3.413,430,4.72,431,4.919,512,3.923,561,3.461,789,7.166,794,5.636,802,5.093,816,5.332,985,4.457,998,3.639,1097,5.424,1237,3.324,1767,6.644,1829,3.293,1883,2.884,2230,5.636,2473,4.783,2482,7.836,2483,6.744,2535,7.117,2536,9.047,2537,10.292,2538,7.684,2539,11.33,2540,7.684,2541,9.463,2542,6.465,2543,4.838,2544,5.636,2545,6.465,2546,6.243,2547,6.465,2548,6.465,2549,7.117,2550,4.631,2551,4.959,2552,5.332,2553,4.838,2554,7.117,2555,6.243,2556,7.117,2557,5.167,2558,6.465,2559,6.744,2560,7.117,2561,6.744,2562,7.117]],["title/classes/BaseEntityWithTimestamps.html",[0,0.241,225,2.669]],["body/classes/BaseEntityWithTimestamps.html",[0,0.383,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,9,4.515,27,0.484,30,0.001,32,0.159,33,0.543,34,2.192,47,0.813,49,4.474,72,3.284,83,3.644,95,0.132,96,2.541,97,2.884,101,0.015,103,0,104,0,112,0.932,129,2.882,130,2.634,135,0.93,153,2.01,159,0.731,185,2.449,190,2.228,205,1.984,206,2.333,223,3.702,224,2.071,225,4.241,412,3.176,430,5.273,431,5.495,512,3.651,561,3.221,789,7.017,794,5.245,802,4.739,816,4.962,985,4.148,998,3.386,1097,5.048,1237,3.205,1767,6.452,1829,3.065,1883,2.684,2230,5.245,2473,4.451,2482,6.646,2483,6.276,2535,6.623,2536,7.673,2537,9.995,2539,11.003,2541,11.003,2542,6.016,2543,4.502,2544,5.245,2545,6.016,2546,5.809,2547,6.016,2548,6.016,2549,6.623,2550,4.31,2551,4.614,2552,4.962,2553,4.502,2554,6.623,2555,5.809,2556,6.623,2557,4.808,2558,6.016,2559,6.276,2560,6.623,2561,6.276,2562,6.623,2563,7.15,2564,7.15,2565,7.15,2566,7.15,2567,7.15,2568,7.15]],["title/classes/BaseFactory.html",[0,0.241,501,3.783]],["body/classes/BaseFactory.html",[0,0.238,2,0.346,3,0.006,4,0.006,5,0.003,7,0.046,8,0.617,27,0.471,29,0.976,30,0.001,31,0.643,32,0.158,33,0.523,34,1.713,35,1.439,47,0.505,49,1.235,55,2.262,59,2.739,95,0.06,101,0.004,103,0,104,0,112,0.625,113,4.308,127,4.749,129,3.461,130,3.097,135,1.649,145,2.026,148,1.066,153,1.924,157,1.845,159,0.552,172,3.402,185,2.73,192,1.809,205,2.605,206,2.6,228,1.431,326,4.722,374,4.115,388,4.786,400,0.961,433,0.845,435,3.027,467,2.002,501,2.931,502,6.72,505,3,506,5.269,507,5.444,508,3,509,3,510,3,511,2.954,512,4.499,513,4.431,514,6.065,515,6.111,516,7.491,522,1.823,523,3.823,525,5.251,526,5.402,527,3.744,528,5.083,529,4.86,530,1.823,531,1.719,532,4.688,533,1.743,534,1.719,535,3,537,5.187,538,3,539,6.814,540,4.011,541,6.615,543,4.612,544,3,546,1.823,548,3,550,3.159,551,1.823,552,6.263,554,1.823,555,5.819,556,4.044,557,4.431,559,5.402,560,3.655,561,2.431,562,3,563,4.431,564,3,567,2.012,568,3,569,1.677,571,4.143,572,3,575,1.885,655,2.664,789,1.795,804,2.458,1086,3.795,1087,3.679,1088,3.735,1089,3.97,1090,3.736,1091,2.173,1103,2.517,1167,6.443,1658,2.878,2135,3.81,2569,3.279,2570,3.483,2571,5.397,2572,3.279,2573,5.397,2574,3.279,2575,3.279,2576,3.279,2577,3.279,2578,3.279,2579,3.279,2580,3.279,2581,3.279,2582,3.279,2583,3.279,2584,3.279,2585,3.279,2586,4.999,2587,4.143,2588,3.398,2589,3.279,2590,3.279,2591,3.279,2592,3.279,2593,3.279,2594,3.037,2595,5.397,2596,5.397,2597,3.279,2598,3.279,2599,7.971,2600,3.279,2601,10.466,2602,7.971,2603,3.279,2604,3.279,2605,3.279,2606,3.279,2607,3.279,2608,3.253,2609,3.279,2610,3.279,2611,3.279,2612,3.279,2613,3.279]],["title/classes/BaseProvisioningOptions.html",[0,0.241,2614,6.113]],["body/classes/BaseProvisioningOptions.html",[0,0.311,2,0.949,3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,9,6.022,27,0.441,29,0.863,30,0.001,31,0.635,32,0.14,33,0.517,35,1.031,47,0.661,95,0.1,101,0.012,103,0.001,104,0.001,122,1.864,135,1.61,148,0.884,153,1.829,159,0.92,435,3.089,532,4.906,567,4.841,711,3.584,2614,9.926,2615,7.051,2616,12.373,2617,7.702,2618,7.892,2619,7.207,2620,10.476,2621,9.523,2622,8.992,2623,7.848,2624,10.476,2625,8.992,2626,8.992,2627,8.992,2628,8.992,2629,8.992,2630,11.31,2631,8.992,2632,8.992,2633,8.992,2634,8.992]],["title/injectables/BaseRepo.html",[589,0.926,728,4.04]],["body/injectables/BaseRepo.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.078,9,4.377,10,3.792,12,4.27,18,4.729,26,2.362,27,0.493,29,0.934,30,0.001,31,0.687,32,0.151,33,0.559,34,1.613,35,1.337,36,2.833,40,4.567,49,4.39,95,0.141,96,2.463,97,2.757,99,1.377,101,0.009,103,0,104,0,135,0.889,148,0.927,157,1.582,205,1.923,206,3.078,224,1.98,228,1.227,277,0.977,317,2.9,433,0.84,478,1.915,532,5.211,574,3.83,589,1.254,591,1.621,619,6.785,657,2.158,728,5.473,734,3.977,735,4.27,736,6.021,759,5.631,761,5.687,764,5.687,766,3.658,1832,6.013,1883,3.542,1921,6.254,1922,6.547,2370,3.83,2437,6.547,2445,4.914,2446,6.331,2450,6.785,2479,5.576,2482,4.666,2484,4.742,2516,5.552,2635,6.834,2636,5.705,2637,8.74,2638,9.436,2639,9.436,2640,8.74,2641,5.747,2642,6.443,2643,6.443,2644,6.834,2645,6.834,2646,6.834,2647,6.834,2648,6.834,2649,6.834,2650,6.834,2651,6.834,2652,6.834]],["title/interfaces/BaseResponseMapper.html",[159,0.712,2653,5.109]],["body/interfaces/BaseResponseMapper.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,27,0.461,29,0.903,30,0.001,31,0.664,32,0.165,33,0.54,35,1.356,95,0.132,100,3.37,101,0.012,103,0.001,104,0.001,122,2.452,159,0.988,161,2.302,532,5.098,830,6.574,1853,3.17,2049,4.826,2653,8.674,2654,12.78,2655,9.662,2656,9.078,2657,9.078,2658,9.662,2659,8.864,2660,9.662,2661,10.382,2662,4.6]],["title/classes/BaseUc.html",[0,0.241,2663,5.346]],["body/classes/BaseUc.html",[0,0.228,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,9,3.055,26,2.729,27,0.447,29,0.876,30,0.001,31,0.644,32,0.142,33,0.524,35,1.215,36,2.424,39,3.349,59,2.047,95,0.134,99,1.327,101,0.008,103,0,104,0,113,5.408,135,1.57,148,1.042,153,1.488,183,3.513,195,1.448,197,1.841,228,1.652,277,0.942,290,1.563,317,2.877,331,2.926,433,1.13,543,3.206,579,2.626,610,2.598,657,2.623,693,2.996,1197,7.11,1778,4.148,1793,4.366,1829,2.823,1853,2.161,1862,6.644,1886,5.193,1919,4.571,1962,3.931,1968,7.774,2051,2.788,2513,3.754,2662,6.412,2663,7.061,2664,6.587,2665,7.251,2666,7.251,2667,4.737,2668,8.903,2669,6.587,2670,5.057,2671,8.852,2672,9.226,2673,6.587,2674,7.251,2675,7.735,2676,6.587,2677,7.251,2678,7.482,2679,6.587,2680,3.025,2681,5.489,2682,7.774,2683,6.587,2684,6.102,2685,4.832,2686,6.587,2687,6.587,2688,5.782,2689,6.587,2690,6.587,2691,6.587,2692,7.739,2693,5.782,2694,5.057]],["title/classes/BasicToolConfig.html",[0,0.241,2695,5.109]],["body/classes/BasicToolConfig.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,27,0.493,29,0.722,30,0.001,31,0.531,32,0.171,33,0.432,47,0.695,95,0.13,101,0.012,103,0.001,104,0.001,112,0.916,231,2.014,232,3.158,233,2.932,433,1.162,435,3.249,436,3.448,614,2.932,2036,4.656,2333,7.095,2695,9.96,2696,5.307,2697,11.671,2698,4.107,2699,7.957,2700,10.178,2701,8.76,2702,8.301,2703,6.595,2704,8.301,2705,8.301,2706,6.457,2707,6.801]],["title/classes/BasicToolConfigEntity.html",[0,0.241,2708,5.658]],["body/classes/BasicToolConfigEntity.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,27,0.379,29,0.743,30,0.001,31,0.547,32,0.12,33,0.445,95,0.143,96,2.541,101,0.012,103,0.001,104,0.001,224,2.819,231,1.679,232,3.214,433,1.196,435,3.344,457,5.411,614,3.017,2036,4.791,2109,4.264,2696,5.402,2698,4.16,2703,5.5,2706,8.11,2707,6.998,2708,11.121,2709,11.878,2710,8.189,2711,9.733,2712,6.026,2713,9.65,2714,8.542,2715,5.5,2716,6.87]],["title/classes/BasicToolConfigParams.html",[0,0.241,2717,5.658]],["body/classes/BasicToolConfigParams.html",[0,0.403,2,0.996,3,0.017,4,0.017,5,0.008,7,0.131,27,0.454,30,0.001,32,0.168,47,0.856,95,0.147,101,0.012,103,0.001,104,0.001,112,0.914,190,2.089,200,2.887,202,2.166,231,2.011,296,3.309,299,4.563,436,3.443,614,2.925,899,4.312,2036,4.645,2333,7.087,2696,4.291,2698,3.781,2703,7.146,2717,9.468,2718,9.435,2719,8.74,2720,9.953,2721,6.547,2722,7.665,2723,7.665,2724,7.665,2725,7.665,2726,7.665]],["title/classes/BasicToolConfigResponse.html",[0,0.241,2727,5.86]],["body/classes/BasicToolConfigResponse.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,27,0.484,29,0.693,30,0.001,31,0.51,32,0.169,33,0.415,47,0.836,95,0.138,101,0.012,103,0.001,104,0.001,112,0.892,190,2.039,202,2.083,231,1.962,232,3.078,233,2.813,296,3.51,433,1.115,435,3.117,436,3.36,614,2.813,2036,4.467,2109,3.975,2333,6.963,2696,5.172,2698,4.031,2703,7.021,2706,6.195,2707,6.524,2716,6.405,2727,11.287,2728,11.374,2729,7.371,2730,10.898,2731,9.073,2732,7.963,2733,7.963,2734,7.371]],["title/injectables/BasicToolLaunchStrategy.html",[589,0.926,2735,5.86]],["body/injectables/BasicToolLaunchStrategy.html",[0,0.159,3,0.009,4,0.009,5,0.004,7,0.064,8,0.807,9,2.132,26,2.228,27,0.51,29,0.987,30,0.001,31,0.727,32,0.165,33,0.591,35,1.483,36,2.42,39,2.387,47,0.909,95,0.116,99,0.926,101,0.006,103,0,104,0,110,3.356,112,0.862,122,0.953,125,2.299,130,1.911,134,1.628,135,1.355,142,3.114,145,1.725,148,0.949,172,3.014,223,2.201,228,1.268,231,1.219,277,0.657,317,2.677,326,2.688,339,3.224,436,3.862,569,2.195,571,2.796,589,0.939,591,1.09,652,2.746,711,3.747,1078,2.014,1086,3.362,1087,3.26,1088,3.31,1089,3.518,1090,3.836,1476,5.184,1723,2.62,1756,2.643,2005,6.789,2006,6.695,2060,5.181,2061,5.078,2698,2.291,2735,5.942,2736,4.034,2737,4.597,2738,4.258,2739,12.422,2740,6.542,2741,7.967,2742,6.542,2743,6.542,2744,6.542,2745,6.542,2746,6.542,2747,6.542,2748,6.542,2749,6.542,2750,6.199,2751,6.199,2752,6.542,2753,6.542,2754,4.258,2755,9.316,2756,4.258,2757,6.542,2758,11.095,2759,4.597,2760,6.542,2761,4.597,2762,9.251,2763,4.258,2764,6.542,2765,7.487,2766,5.422,2767,4.258,2768,4.258,2769,6.542,2770,6.813,2771,4.258,2772,4.258,2773,6.542,2774,4.258,2775,4.258,2776,4.259,2777,4.258,2778,8.44,2779,4.258,2780,4.258,2781,4.258,2782,4.258,2783,4.034,2784,4.034,2785,4.258,2786,4.258,2787,4.258,2788,3.372,2789,4.258,2790,6.542,2791,6.397,2792,4.258,2793,4.258,2794,6.542,2795,4.258,2796,2.46,2797,4.258,2798,4.034,2799,4.258,2800,3.138,2801,4.034,2802,3.529,2803,7.063,2804,4.597,2805,7.063,2806,6.542,2807,4.597,2808,4.597,2809,4.597,2810,4.597,2811,7.063,2812,4.597,2813,4.597,2814,4.034]],["title/injectables/BatchDeletionService.html",[589,0.926,2815,5.86]],["body/injectables/BatchDeletionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,27,0.373,29,0.73,30,0.001,31,0.537,32,0.118,33,0.437,35,0.799,36,2.02,55,2.212,59,2.165,95,0.131,101,0.009,103,0,104,0,135,1.529,141,2.985,145,2.614,148,0.685,153,1.126,159,0.712,193,3.038,228,1.251,277,0.996,317,2.361,400,2.042,433,0.856,534,3.65,571,3.784,589,1.271,591,1.652,612,4.683,628,4.156,629,5.045,657,2.687,871,4.016,873,4.438,1080,3.784,1086,4.551,1087,4.412,1088,4.48,1115,2.65,1328,3.701,1329,4.241,1393,6.696,1461,5.22,1561,6.748,1626,6.117,1749,3.969,2203,4.553,2358,6.275,2815,8.043,2816,6.221,2817,10.915,2818,6.964,2819,10.915,2820,6.451,2821,10.333,2822,6.964,2823,6.964,2824,9.019,2825,11.781,2826,6.964,2827,10.11,2828,6.112,2829,6.112,2830,6.331,2831,5.092,2832,7.536,2833,11.404,2834,4.616,2835,5.658,2836,4.616,2837,6.964,2838,5.86,2839,6.428,2840,6.336,2841,9.56,2842,6.451,2843,5.658,2844,6.964,2845,6.964,2846,6.964,2847,6.964,2848,7.766,2849,5.658,2850,6.964,2851,5.49,2852,6.964,2853,6.964,2854,6.964,2855,6.964,2856,5.22,2857,6.964,2858,5.49,2859,5.346,2860,4.494,2861,6.964,2862,5.658,2863,6.112,2864,5.658]],["title/interfaces/BatchDeletionSummary.html",[159,0.712,2865,5.86]],["body/interfaces/BatchDeletionSummary.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,47,0.936,55,2.898,95,0.107,101,0.012,103,0.001,104,0.001,112,0.924,159,0.981,161,2.285,401,5.376,1355,7.637,2816,5.467,2830,6.829,2865,9.906,2866,8.886,2867,9.593,2868,12.304,2869,12.304,2870,12.304,2871,12.304,2872,11.177,2873,8.072,2874,9.593]],["title/classes/BatchDeletionSummaryBuilder.html",[0,0.241,2875,6.113]],["body/classes/BatchDeletionSummaryBuilder.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.381,29,0.747,30,0.001,31,0.549,32,0.121,33,0.447,35,1.122,55,2.603,95,0.109,101,0.013,103,0.001,104,0.001,145,4.472,148,0.961,467,3.74,507,5.291,1355,5.622,2816,6.79,2830,6.91,2865,10.81,2868,11.035,2869,9.059,2870,9.059,2871,9.059,2875,10.456,2876,11.035,2877,9.78,2878,11.914,2879,9.78,2880,9.059,2881,9.059,2882,9.78]],["title/interfaces/BatchDeletionSummaryDetail.html",[159,0.712,2872,5.86]],["body/interfaces/BatchDeletionSummaryDetail.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,95,0.115,101,0.013,103,0.001,104,0.001,112,0.963,159,1.051,161,2.449,401,5.762,2358,7.818,2816,5.859,2824,10.439,2830,5.963,2832,10.72,2866,9.523,2872,10.33,2883,10.281,2884,9.778,2885,9.023]],["title/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.241,2886,6.113]],["body/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.349,27,0.376,29,0.736,30,0.001,31,0.541,32,0.119,33,0.44,35,1.105,95,0.132,101,0.012,103,0.001,104,0.001,148,0.947,401,6.618,467,3.716,507,5.244,2358,6.789,2816,6.73,2824,10.214,2830,6.849,2832,10.489,2872,10.741,2876,10.938,2881,8.928,2884,9.568,2885,8.46,2886,10.364,2887,9.639,2888,11.809,2889,9.639]],["title/injectables/BatchDeletionUc.html",[589,0.926,2890,5.86]],["body/injectables/BatchDeletionUc.html",[0,0.226,3,0.012,4,0.012,5,0.01,7,0.091,8,1.046,27,0.357,29,0.699,30,0.001,31,0.514,32,0.113,33,0.418,35,0.751,36,1.935,47,0.885,55,2.595,59,2.034,95,0.139,101,0.008,103,0,104,0,129,1.938,130,1.771,135,1.623,141,2.805,145,2.457,153,1.058,159,0.669,228,1.175,277,0.936,290,2.172,317,2.285,329,5.576,340,4.121,347,3.363,400,1.919,401,3.668,409,4.171,413,3.986,414,3.32,415,3.73,433,0.804,534,4.799,579,2.614,589,1.217,591,1.552,610,3.611,641,3.73,657,1.497,873,4.171,876,3.407,1076,4.171,1080,3.965,1393,5.218,1461,4.905,1626,3.668,1749,3.73,1835,3.363,1842,2.991,1927,4.401,2203,4.279,2230,4.8,2305,5.744,2314,8.036,2328,4.121,2345,3.986,2513,3.73,2531,3.529,2815,10.497,2816,6.019,2824,7.029,2825,10.595,2827,11.151,2830,5.311,2833,10.595,2834,6.069,2865,7.704,2873,7.704,2875,5.744,2880,6.062,2884,4.706,2885,5.744,2886,5.744,2890,7.704,2891,10.561,2892,6.544,2893,10.561,2894,6.544,2895,6.544,2896,6.544,2897,7.203,2898,7.871,2899,6.544,2900,7.704,2901,9.782,2902,5.744,2903,4.279,2904,5.744,2905,6.544,2906,6.062,2907,6.544,2908,6.544,2909,5.744,2910,5.159,2911,4.029,2912,3.133,2913,6.544,2914,6.544,2915,3.945,2916,6.544,2917,6.544,2918,3.698,2919,6.062,2920,6.062,2921,6.062,2922,6.584,2923,4.905,2924,8.481,2925,6.544,2926,3.796,2927,5.159,2928,9.156,2929,9.156,2930,4.905,2931,6.062,2932,8.036,2933,6.544,2934,5.506,2935,5.317,2936,6.544,2937,7.704,2938,5.264]],["title/entities/Board.html",[205,1.419,2051,2.947]],["body/entities/Board.html",[0,0.194,3,0.01,4,0.01,5,0.005,7,0.078,26,2.402,27,0.32,30,0.001,32,0.132,34,0.961,95,0.15,96,1.467,101,0.011,103,0,104,0,112,0.644,122,1.165,125,1.956,129,1.664,130,1.521,134,1.99,135,1.735,148,1.165,153,2.03,159,0.575,190,1.472,195,2.605,205,1.673,206,1.833,219,4.529,224,1.628,225,3.146,226,2.555,229,2.216,231,0.97,232,1.521,233,1.742,277,0.804,409,3.581,415,3.203,569,1.747,579,2.77,585,4.122,628,3.353,652,2.309,653,3.99,896,4.565,1821,2.661,1937,2.647,2027,4.019,2033,4.76,2049,4.838,2051,5.017,2512,3.353,2544,7.117,2911,7.537,2939,7.648,2940,5.619,2941,5.619,2942,4.95,2943,6.303,2944,5.904,2945,5.619,2946,4.395,2947,8.211,2948,6.671,2949,5.619,2950,3.124,2951,6.473,2952,4.122,2953,3.26,2954,2.987,2955,5.298,2956,3.353,2957,4.427,2958,3.967,2959,4.455,2960,3.538,2961,7.533,2962,11.626,2963,8.163,2964,6.303,2965,4.364,2966,5.904,2967,4.932,2968,6.671,2969,6.671,2970,8.211,2971,5.619,2972,3.674,2973,5.619,2974,5.619,2975,8.211,2976,4.728,2977,5.619,2978,9.702,2979,5.619,2980,5.619,2981,5.619,2982,5.619,2983,5.619,2984,8.211,2985,5.619,2986,8.211,2987,8.211,2988,5.619,2989,5.619,2990,4.565,2991,5.619,2992,5.619,2993,5.205,2994,5.619,2995,3.899,2996,5.619,2997,4.728,2998,5.619,2999,5.619,3000,5.619,3001,5.619,3002,5.619,3003,5.619,3004,5.619,3005,5.619,3006,5.619,3007,5.619,3008,5.619,3009,5.619,3010,5.619,3011,4.876,3012,5.619,3013,8.211,3014,5.619,3015,5.619,3016,5.619,3017,5.619,3018,11.856,3019,4.932]],["title/modules/BoardApiModule.html",[252,1.839,3020,5.86]],["body/modules/BoardApiModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.153,101,0.01,103,0,104,0,252,3.095,254,2.886,255,3.063,256,3.141,257,3.129,258,3.118,259,4.257,260,2.981,265,6.146,269,4.115,270,3.085,271,3.021,273,5.051,274,4.375,276,4.115,277,1.147,314,3.053,1027,2.455,1856,5.99,1932,9.932,1936,7.068,2680,3.684,3020,12.211,3021,8.022,3022,8.022,3023,8.022,3024,10.765,3025,10.446,3026,10.765,3027,10.765,3028,11.149,3029,8.022,3030,10.289,3031,10.289,3032,10.289,3033,10.289,3034,10.289,3035,8.022,3036,3.759,3037,7.04,3038,7.43,3039,7.43]],["title/classes/BoardColumnBoardResponse.html",[0,0.241,3040,5.86]],["body/classes/BoardColumnBoardResponse.html",[0,0.265,2,0.81,3,0.014,4,0.014,5,0.007,7,0.107,27,0.521,29,0.585,30,0.001,31,0.431,32,0.165,33,0.35,34,2.176,47,0.962,83,3.584,95,0.114,101,0.01,103,0,104,0,112,0.8,122,2.115,155,4.062,190,2.346,202,1.761,296,3.684,298,3.33,430,5.234,431,5.454,433,1.253,458,3.059,460,4.671,462,4.671,821,3.916,2965,7.628,3040,10.707,3041,10.693,3042,10.693,3043,7.669,3044,9.769,3045,8.435,3046,7.669,3047,7.669,3048,7.669,3049,7.669,3050,7.669,3051,5.414,3052,7.669,3053,7.669,3054,6.351,3055,7.669,3056,3.691,3057,7.104]],["title/classes/BoardComposite.html",[0,0.241,3058,4.198]],["body/classes/BoardComposite.html",[0,0.204,2,0.624,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,9,6.104,26,1.725,27,0.519,29,0.921,30,0.001,31,0.678,32,0.16,33,0.551,34,1.456,35,1.426,36,1.8,55,2.023,59,1.837,83,3.204,95,0.129,99,1.191,101,0.011,103,0,104,0,112,0.668,113,3.383,122,2.265,134,2.092,135,0.769,145,2.218,148,1.074,153,1.615,159,0.604,185,2.917,189,5.242,231,1.469,277,0.845,430,4.494,431,4.683,435,2.925,436,2.515,532,3.123,569,3.749,579,2.85,711,2.467,735,3.854,985,3.427,1626,4.772,1770,4.829,1773,6.08,1829,2.533,1849,3.368,1850,4.171,1851,4.536,2513,3.368,2662,6.564,2681,3.526,2953,3.427,3058,5.133,3059,12.189,3060,5.473,3061,6.011,3062,6.011,3063,6.011,3064,5.567,3065,6.011,3066,7.581,3067,3.678,3068,5.186,3069,6.337,3070,5.909,3071,5.814,3072,5.186,3073,6.281,3074,5.909,3075,5.909,3076,6.812,3077,5.909,3078,7.829,3079,5.909,3080,5.909,3081,6.123,3082,5.909,3083,5.909,3084,5.909,3085,3.678,3086,5.473,3087,5.909,3088,4.658,3089,5.909,3090,4.658,3091,5.909,3092,7.888,3093,4.1,3094,4.1,3095,5.473,3096,5.473,3097,5.473,3098,7.888,3099,5.473,3100,5.473,3101,5.473,3102,3.561,3103,5.473,3104,5.473,3105,5.473,3106,5.473,3107,7.474,3108,3.863,3109,6.011,3110,5.473,3111,5.186,3112,3.561]],["title/interfaces/BoardCompositeProps.html",[159,0.712,3112,4.198]],["body/interfaces/BoardCompositeProps.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.102,9,5.559,26,2.429,30,0.001,32,0.16,33,0.451,34,2.141,36,1.544,55,1.481,83,3.934,95,0.14,99,1.472,101,0.013,103,0,104,0,112,0.775,122,2.048,134,2.587,135,0.951,145,2.743,148,1.178,153,1.81,159,0.747,161,1.74,185,3.383,231,1.261,277,1.045,430,5.149,431,5.366,569,3.478,579,3.195,985,4.238,1626,5.535,1770,3.954,1829,3.132,1849,4.164,1850,5.158,1851,5.609,2513,4.164,2662,6.474,2681,4.36,2953,4.238,3058,4.404,3059,6.768,3060,6.768,3066,8.687,3068,4.45,3069,5.729,3072,4.45,3073,5.678,3075,5.07,3076,6.907,3078,7.547,3079,5.07,3081,5.254,3083,5.07,3092,9.149,3093,5.07,3094,5.07,3095,6.768,3096,6.768,3097,6.768,3098,9.149,3099,6.768,3100,6.768,3101,6.768,3102,4.404,3103,6.768,3104,6.768,3105,6.768,3106,6.768,3107,8.669,3108,4.777,3109,6.972,3110,6.768,3111,6.413,3112,5.953]],["title/interfaces/BoardCompositeVisitor.html",[159,0.712,3069,4.04]],["body/interfaces/BoardCompositeVisitor.html",[3,0.011,4,0.011,5,0.008,7,0.082,8,0.973,27,0.513,29,1.005,30,0.001,31,0.739,32,0.174,33,0.601,35,1.509,36,2.781,95,0.147,101,0.011,103,0,104,0,159,0.871,161,1.407,569,4.39,614,1.832,2032,7.129,2370,3.312,2675,7.129,2698,1.917,2912,2.828,2965,6.608,3069,4.939,3073,3.397,3113,10.504,3114,12.342,3115,5.473,3116,7.474,3117,7.474,3118,7.474,3119,7.474,3120,7.474,3121,7.474,3122,7.474,3123,7.474,3124,7.474,3125,7.474,3126,7.165,3127,6.875,3128,5.909,3129,7.165,3130,5.909,3131,7.165,3132,5.909,3133,7.165,3134,7.887,3135,5.909,3136,7.474,3137,7.996,3138,5.909,3139,7.474,3140,7.509,3141,5.909,3142,7.165,3143,7.887,3144,5.909,3145,7.474,3146,7.426,3147,5.909,3148,7.165,3149,7.596,3150,5.909,3151,7.165,3152,5.909,3153,4.536,3154,8.371,3155,4.972,3156,5.473,3157,4.972,3158,4.429,3159,3.854,3160,3.599,3161,4.8,3162,4.972,3163,4.972,3164,4.972,3165,4.972,3166,4.972,3167,4.972,3168,4.972,3169,4.972,3170,5.473,3171,4.972]],["title/interfaces/BoardCompositeVisitorAsync.html",[159,0.712,3073,4.004]],["body/interfaces/BoardCompositeVisitorAsync.html",[3,0.011,4,0.011,5,0.008,7,0.082,8,0.973,27,0.513,29,1.005,30,0.001,31,0.739,32,0.174,33,0.601,35,1.509,36,2.985,95,0.147,101,0.011,103,0,104,0,159,0.871,161,1.407,569,4.09,614,1.832,2032,7.129,2370,3.312,2675,7.129,2698,1.917,2912,2.828,2965,6.608,3069,3.427,3073,4.895,3113,10.504,3114,12.342,3115,5.473,3126,4.972,3127,6.875,3129,4.972,3131,4.972,3133,4.972,3134,7.887,3136,5.186,3137,7.996,3139,5.186,3140,7.509,3142,4.972,3143,7.887,3145,5.186,3146,7.426,3148,4.972,3149,7.596,3151,4.972,3153,4.536,3154,8.371,3155,4.972,3156,5.473,3157,4.972,3158,4.429,3159,3.854,3160,3.599,3161,4.8,3162,7.165,3163,7.165,3164,7.165,3165,7.165,3166,7.165,3167,7.165,3168,7.165,3169,7.165,3170,7.888,3171,7.165,3172,7.165,3173,7.165,3174,7.165,3175,7.165,3176,7.165,3177,7.165,3178,7.165,3179,7.165,3180,7.165,3181,7.165,3182,5.909,3183,5.909,3184,5.909,3185,5.909,3186,5.909,3187,5.909,3188,5.909,3189,5.909,3190,5.909,3191,5.909]],["title/classes/BoardContextResponse.html",[0,0.241,3192,6.113]],["body/classes/BoardContextResponse.html",[0,0.315,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.485,29,0.696,30,0.001,31,0.512,32,0.174,33,0.416,34,2.297,47,0.838,95,0.127,101,0.012,103,0.001,104,0.001,112,0.895,190,2.045,202,2.093,296,3.257,304,4.513,433,1.401,458,3.635,821,4.653,886,2.886,1853,2.99,2031,9.647,2109,3.993,3192,11.789,3193,13.046,3194,9.114,3195,9.114,3196,5.959,3197,6.105,3198,6.105,3199,9.114,3200,5.439,3201,5.345,3202,9.114]],["title/controllers/BoardController.html",[314,2.65,3030,6.113]],["body/controllers/BoardController.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.063,8,0.8,10,3.432,27,0.404,29,0.791,30,0.001,31,0.582,32,0.178,33,0.473,35,1.188,36,2.607,95,0.131,100,1.585,101,0.006,103,0,104,0,135,1.424,148,0.839,153,1.381,155,2.235,183,2.674,190,1.857,202,1.043,228,0.816,274,1.892,277,0.65,314,1.729,316,2.187,317,2.849,325,6.578,333,6.452,337,7.593,342,8.065,345,8.87,349,6.952,379,3.552,388,4.441,389,2.971,390,6.407,391,8.435,392,2.366,393,2.25,395,2.433,398,2.45,400,1.333,401,5.807,402,4.904,657,2.37,675,2.32,734,2.95,871,4.027,1351,7.36,2051,4.632,2681,6.531,2954,5.817,2965,4.539,3024,6.938,3030,6.145,3036,2.13,3192,6.145,3203,4.545,3204,4.209,3205,7.91,3206,6.485,3207,8.54,3208,8.54,3209,7.91,3210,4.545,3211,11.659,3212,7.451,3213,10.362,3214,5.248,3215,4.545,3216,7.767,3217,7.767,3218,4.545,3219,4.545,3220,8.065,3221,4.545,3222,5.519,3223,4.545,3224,4.545,3225,4.545,3226,4.545,3227,4.545,3228,4.545,3229,4.545,3230,7.001,3231,4.545,3232,4.545,3233,4.545,3234,4.545,3235,6.732,3236,7.794,3237,4.061,3238,4.545,3239,4.545,3240,2.335,3241,3.056,3242,2.487,3243,5.891,3244,5.688,3245,4.545,3246,4.545,3247,3.989,3248,3.824,3249,3.692,3250,4.545,3251,4.545,3252,4.545,3253,10.362,3254,4.545,3255,4.545,3256,4.545,3257,4.545,3258,4.545,3259,5.135,3260,5.248,3261,4.545,3262,4.545,3263,3.989,3264,4.545,3265,4.545,3266,4.545,3267,4.545,3268,4.545,3269,4.209]],["title/injectables/BoardCopyService.html",[589,0.926,3270,5.86]],["body/injectables/BoardCopyService.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.047,8,0.633,26,0.686,27,0.44,29,0.862,30,0.001,31,0.634,32,0.149,33,0.516,34,0.579,35,1.258,36,2.537,39,0.939,55,0.686,95,0.134,99,0.682,101,0.004,103,0,104,0,125,0.806,135,1.699,148,1.242,153,1.556,155,1.768,205,0.69,228,1.728,277,0.484,279,1.403,290,3.277,317,2.759,326,2.108,402,4.059,433,0.68,478,0.948,571,2.192,578,1.774,589,0.736,591,0.803,629,1.786,652,2.775,653,3.685,657,2.2,695,2.433,896,4.516,980,1.867,1027,1.036,1328,1.799,1329,2.061,1660,7.212,1835,1.739,1853,1.11,1933,2.389,2031,2.348,2032,3.273,2033,4.685,2051,4.485,2054,2.537,2125,1.774,2447,2.315,2448,3.807,2472,3.338,2488,2.482,2796,3.763,2911,5.001,2957,4.831,2959,4.115,2961,7.966,2964,4.251,2966,7.303,2968,4.499,2969,4.499,2976,2.847,3011,3.712,3044,2.598,3270,4.66,3271,11.558,3272,2.668,3273,5.538,3274,7.03,3275,6.511,3276,4.66,3277,4.499,3278,5.538,3279,5.538,3280,5.538,3281,5.538,3282,2.276,3283,7.612,3284,8.006,3285,8.545,3286,8.545,3287,7.449,3288,3.384,3289,5.538,3290,8.124,3291,3.384,3292,3.384,3293,10.055,3294,3.384,3295,7.03,3296,3.384,3297,3.384,3298,5.538,3299,3.384,3300,3.135,3301,5.538,3302,3.384,3303,2.97,3304,5.538,3305,8.478,3306,3.384,3307,8.961,3308,5.538,3309,3.384,3310,4.499,3311,5.538,3312,3.384,3313,5.538,3314,3.384,3315,5.13,3316,2.668,3317,2.537,3318,2.083,3319,1.929,3320,2.348,3321,2.749,3322,3.384,3323,3.384,3324,2.847,3325,5.396,3326,3.384,3327,3.384,3328,3.135,3329,2.598,3330,4.861,3331,3.384,3332,3.384,3333,3.384,3334,7.03,3335,3.384,3336,2.97,3337,2.668,3338,2.847,3339,3.384,3340,3.384,3341,9.407,3342,3.384,3343,3.384,3344,3.384,3345,3.384,3346,2.847,3347,3.384,3348,5.13,3349,3.384,3350,3.384,3351,6.17,3352,2.847,3353,3.384,3354,3.384,3355,7.03,3356,2.847,3357,3.384,3358,3.384,3359,2.847,3360,3.384,3361,3.384,3362,3.982,3363,3.384,3364,3.982,3365,4.251,3366,3.384,3367,3.384,3368,3.384,3369,3.384,3370,2.97,3371,2.97,3372,3.135,3373,2.97,3374,2.847,3375,3.135,3376,3.384,3377,3.135,3378,2.97,3379,3.135,3380,3.384,3381,3.384,3382,3.384,3383,3.384,3384,3.384,3385,3.384,3386,3.384,3387,3.384,3388,3.384,3389,3.384,3390,7.03,3391,3.384,3392,5.538,3393,8.124,3394,3.384,3395,3.384,3396,3.384,3397,3.384,3398,3.384,3399,3.384,3400,3.384,3401,3.135,3402,3.384,3403,3.135,3404,3.384,3405,3.384,3406,3.384,3407,5.13,3408,3.384,3409,4.861,3410,3.384,3411,3.135,3412,5.538,3413,3.384,3414,3.384,3415,3.384,3416,3.384]],["title/classes/BoardDoAuthorizable.html",[0,0.241,2682,5.109]],["body/classes/BoardDoAuthorizable.html",[0,0.264,2,0.807,3,0.014,4,0.014,5,0.007,7,0.106,8,1.163,26,2.319,27,0.495,29,0.583,30,0.001,31,0.429,32,0.126,33,0.349,34,1.306,35,1.167,39,2.12,47,0.748,95,0.113,99,1.539,101,0.016,102,4.06,103,0,104,0,112,0.798,113,4.044,125,2.907,148,1,159,1.041,185,2.617,231,1.975,357,5.865,435,3.496,436,3.006,532,3.732,567,2.849,569,2.375,693,3.474,700,3.698,701,3.698,711,2.948,735,4.606,886,3.222,1767,5.528,1770,5.088,1773,6.97,1832,4.869,1849,4.354,1922,5.301,2671,8.952,2672,9.966,2682,7.465,3067,4.756,3085,4.756,3113,9.62,3417,6.706,3418,5.497,3419,7.077,3420,7.64,3421,7.64,3422,7.64,3423,7.64,3424,7.64,3425,8.268,3426,6.014,3427,8.932,3428,6.207,3429,6.428,3430,3.318,3431,7.385,3432,5.851,3433,6.706,3434,6.706,3435,8.785,3436,3.926,3437,6.428,3438,6.207,3439,8.932,3440,6.706]],["title/interfaces/BoardDoAuthorizableProps.html",[159,0.712,3437,5.86]],["body/interfaces/BoardDoAuthorizableProps.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,26,2.634,30,0.001,32,0.146,33,0.487,34,2.144,39,2.272,47,0.783,95,0.119,99,1.649,101,0.017,102,4.35,103,0.001,104,0.001,112,0.835,125,2.537,148,1.047,159,1.089,161,1.95,185,2.804,231,2.043,357,6.283,567,3.052,693,3.722,700,3.961,701,3.961,886,3.372,1767,6.43,1770,4.263,1832,5.216,1849,4.665,1922,5.68,2671,9.534,2672,9.999,2682,6.004,3113,6.452,3417,7.184,3418,5.854,3425,8.652,3426,6.293,3427,9.347,3428,6.65,3429,6.887,3430,3.554,3431,7.639,3432,6.122,3433,7.184,3434,7.184,3435,9.978,3436,4.206,3437,8.961,3438,6.65,3439,9.347,3440,7.184]],["title/injectables/BoardDoAuthorizableService.html",[589,0.926,2668,4.833]],["body/injectables/BoardDoAuthorizableService.html",[0,0.211,3,0.011,4,0.011,5,0.005,7,0.085,8,0.995,12,3.942,26,2.246,27,0.432,29,0.846,30,0.001,31,0.623,32,0.137,33,0.506,34,1.895,35,1.165,36,2.343,39,2.82,40,4.215,95,0.14,99,1.228,101,0.008,103,0,104,0,135,1.724,148,1.234,153,1.792,228,1.564,277,0.872,279,2.528,317,2.637,433,1.07,478,1.708,578,5.326,579,1.741,589,1.158,591,1.446,615,3.713,652,2.384,653,2.508,657,2.681,688,2.843,700,4.917,701,4.917,756,3.473,1237,1.766,1845,6.866,1853,2,1911,7.726,1936,4.1,2031,4.231,2032,6.004,2033,4.624,2054,4.57,2636,2.984,2662,5.277,2668,6.043,2672,7.97,2678,6.148,2680,2.8,2682,8.943,2692,5.13,2930,4.57,3418,5.653,3425,4.953,3435,7.8,3436,5.221,3441,8.787,3442,5.648,3443,8.709,3444,8.709,3445,4.57,3446,8.859,3447,6.097,3448,6.097,3449,8.709,3450,6.097,3451,8.709,3452,6.097,3453,4.57,3454,5.648,3455,6.097,3456,7.328,3457,5.648,3458,9.411,3459,5.648,3460,6.097,3461,8.067,3462,5.648,3463,6.097,3464,6.097,3465,6.097,3466,6.097,3467,3.264,3468,6.097,3469,6.832,3470,6.643,3471,8.709,3472,6.097,3473,6.097,3474,6.097,3475,6.097,3476,6.097]],["title/interfaces/BoardDoBuilder.html",[159,0.712,3477,4.156]],["body/interfaces/BoardDoBuilder.html",[3,0.011,4,0.011,5,0.008,7,0.085,8,0.994,27,0.516,29,1.011,30,0.001,31,0.744,32,0.176,33,0.605,35,1.519,95,0.149,101,0.008,103,0,104,0,159,0.623,161,1.45,614,1.887,1770,2.437,2032,5.999,2049,4.972,2051,2.576,2370,3.412,2675,5.999,2698,1.975,2912,2.914,2965,6.227,3127,6.312,3134,6.637,3137,6.729,3140,6.319,3143,6.637,3146,6.249,3149,6.392,3153,4.673,3158,4.563,3159,3.937,3160,3.708,3467,7.091,3477,5.192,3478,13.406,3479,6.088,3480,8.058,3481,8.058,3482,8.058,3483,8.058,3484,8.058,3485,8.058,3486,8.058,3487,8.058,3488,8.058,3489,8.058,3490,8.058,3491,8.731,3492,6.088,3493,8.058,3494,8.998,3495,6.088,3496,8.058,3497,8.502,3498,6.088,3499,8.058,3500,8.731,3501,6.088,3502,8.058,3503,8.731,3504,6.088,3505,8.058,3506,8.731,3507,6.088,3508,8.058,3509,8.731,3510,6.088,3511,8.058,3512,8.731,3513,6.088,3514,8.058,3515,8.731,3516,6.088,3517,8.058,3518,8.731,3519,6.088,3520,11.626,3521,3.929]],["title/classes/BoardDoBuilderImpl.html",[0,0.241,3522,6.113]],["body/classes/BoardDoBuilderImpl.html",[0,0.115,2,0.351,3,0.006,4,0.006,5,0.003,7,0.046,8,0.624,27,0.491,29,0.97,30,0.001,31,0.699,32,0.171,33,0.569,34,1.918,35,1.411,39,0.923,95,0.099,101,0.004,103,0,104,0,110,1.156,112,0.428,129,0.985,130,0.9,135,1.705,145,1.248,148,1.174,153,1.898,155,2.566,157,0.77,183,1.27,277,0.476,430,4.614,431,4.808,433,0.409,478,0.932,532,4.114,569,1.697,579,1.559,652,1.413,711,3.943,896,5.304,1078,2.392,1237,1.581,1853,1.091,2032,5.638,2049,5.019,2662,1.583,2675,4.75,2834,2.204,2912,1.592,2965,5.071,2995,2.307,3066,8.535,3086,5.057,3127,5.438,3134,5.256,3137,5.884,3140,5.004,3143,5.256,3146,4.948,3149,5.062,3154,2.307,3467,7.501,3477,4.144,3480,5.057,3481,5.057,3482,5.057,3483,5.057,3484,5.057,3485,5.057,3486,5.057,3487,5.057,3488,5.057,3489,5.057,3490,5.057,3491,6.337,3493,5.057,3494,6.531,3496,5.057,3497,6.171,3499,5.057,3500,6.337,3502,5.057,3503,6.337,3505,5.057,3506,6.337,3508,5.057,3509,6.337,3511,5.057,3512,6.337,3514,5.057,3515,6.337,3517,5.057,3518,6.337,3520,2.919,3522,4.791,3523,11.154,3524,11.771,3525,3.325,3526,6.433,3527,5.459,3528,5.057,3529,5.459,3530,5.459,3531,5.459,3532,5.459,3533,4.791,3534,3.325,3535,5.459,3536,3.325,3537,3.325,3538,3.325,3539,5.459,3540,3.325,3541,3.325,3542,3.325,3543,3.325,3544,3.325,3545,3.325,3546,3.325,3547,3.325,3548,5.459,3549,6.638,3550,3.325,3551,5.459,3552,3.325,3553,5.459,3554,3.325,3555,2.119,3556,2.493,3557,3.08,3558,3.325,3559,3.325,3560,3.325,3561,8.877,3562,3.08,3563,4.092,3564,8.877,3565,10.391,3566,8.039,3567,11.219,3568,11.219,3569,3.325,3570,2.919,3571,4.191,3572,4.791,3573,2.919,3574,4.791,3575,2.919,3576,2.919,3577,2.919,3578,2.146,3579,3.325,3580,8.877,3581,1.965,3582,3.325,3583,1.965,3584,3.325,3585,3.325,3586,1.947,3587,3.325,3588,3.325,3589,1.731,3590,3.325,3591,3.325,3592,2.919,3593,1.72,3594,3.325,3595,2.047,3596,3.325,3597,3.325,3598,1.864,3599,3.325,3600,3.325,3601,3.325,3602,3.325,3603,5.459,3604,3.325,3605,3.325,3606,3.325,3607,3.325,3608,3.325,3609,3.325,3610,3.325,3611,3.727,3612,2.119,3613,3.325,3614,4.593,3615,3.325,3616,3.325,3617,5.459,3618,3.325,3619,3.325,3620,3.325,3621,3.325,3622,3.325]],["title/injectables/BoardDoCopyService.html",[589,0.926,3623,5.86]],["body/injectables/BoardDoCopyService.html",[0,0.31,3,0.017,4,0.017,5,0.01,7,0.125,8,1.289,27,0.349,29,0.683,30,0.001,31,0.503,32,0.14,33,0.409,35,1.027,36,2.384,95,0.149,101,0.014,103,0.001,104,0.001,135,1.467,141,4.834,148,0.88,153,1.448,277,1.28,317,2.671,326,3.407,589,1.499,591,2.124,657,2.047,703,2.746,711,3.577,1083,5.059,1853,2.937,2608,7.813,2662,5.369,3071,6.112,3272,7.056,3305,5.853,3318,5.51,3319,5.102,3441,8.453,3623,9.489,3624,9.898,3625,11.278,3626,12.962,3627,8.952,3628,7.857,3629,7.857,3630,8.952,3631,8.89,3632,7.532,3633,6.437,3634,7.857,3635,8.952,3636,8.952]],["title/injectables/BoardDoRepo.html",[589,0.926,3446,4.917]],["body/injectables/BoardDoRepo.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.062,8,0.788,10,2.77,12,3.119,18,3.454,26,2.739,27,0.478,29,0.953,30,0.001,31,0.689,32,0.159,33,0.56,34,2,35,1.377,36,2.839,40,3.336,49,1.678,55,2.2,59,2.621,95,0.137,96,1.8,97,1.797,99,0.897,101,0.006,103,0,104,0,125,1.061,135,1.748,148,1.18,153,1.756,172,2.942,224,1.29,228,1.514,277,0.637,317,3.025,433,0.847,435,1.53,478,1.248,532,2.528,579,1.272,589,0.916,591,1.057,615,6.612,652,1.715,653,1.832,657,2.938,1751,5.434,1770,4.999,1842,2.035,1853,1.461,2051,2.917,2446,5.156,2455,4.507,2474,4.635,2481,3.419,2511,5.6,2514,4.125,2662,6.301,2678,3.144,2796,2.384,2954,2.367,3066,3.09,3446,4.866,3467,5.081,3497,3.419,3522,3.909,3523,10.961,3524,4.125,3526,4.125,3533,3.909,3611,3.041,3629,6.05,3637,4.125,3638,8.432,3639,5.8,3640,6.385,3641,6.385,3642,6.893,3643,6.893,3644,2.838,3645,9.198,3646,8.432,3647,7.987,3648,4.454,3649,3.928,3650,4.454,3651,4.454,3652,10.835,3653,4.454,3654,8.432,3655,4.454,3656,6.05,3657,4.454,3658,6.385,3659,6.825,3660,4.454,3661,6.893,3662,4.454,3663,4.454,3664,6.893,3665,4.454,3666,6.893,3667,4.454,3668,4.816,3669,4.454,3670,4.454,3671,4.125,3672,4.454,3673,3.909,3674,4.454,3675,4.454,3676,4.454,3677,4.454,3678,4.454,3679,3.909,3680,4.454,3681,6.063,3682,6.385,3683,4.454,3684,4.454,3685,4.454,3686,4.454,3687,6.385,3688,4.454,3689,4.454,3690,4.454,3691,4.454,3692,3.618,3693,4.454,3694,3.909,3695,4.454,3696,4.454,3697,4.454,3698,4.454,3699,4.454,3700,4.454,3701,4.454,3702,4.454,3703,4.454,3704,4.454,3705,4.454,3706,4.454,3707,5.167,3708,4.454]],["title/injectables/BoardDoRule.html",[589,0.926,1865,5.86]],["body/injectables/BoardDoRule.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.102,8,1.13,27,0.437,29,0.855,30,0.001,31,0.629,32,0.148,33,0.512,35,1.134,39,2.745,95,0.14,101,0.009,103,0,104,0,122,2.487,135,1.457,148,1.297,183,4.277,195,2.173,197,3.501,228,1.314,277,1.047,290,3.227,400,2.146,433,0.899,478,2.051,578,3.837,589,1.315,591,1.736,653,3.011,711,3.74,1197,3.976,1237,2.12,1775,6.564,1792,5.079,1793,4.852,1801,7.947,1838,7.229,1853,2.401,1865,8.321,1982,6.302,1986,6.088,1993,4.786,2619,6.302,2682,10.425,2684,9.16,3425,5.947,3709,11.994,3710,7.32,3711,4.852,3712,7.32,3713,7.32,3714,6.381,3715,7.32,3716,4.852,3717,6.555,3718,5.263,3719,9.889,3720,7.32,3721,7.32,3722,9.16,3723,9.889,3724,7.32]],["title/injectables/BoardDoService.html",[589,0.926,3725,5.221]],["body/injectables/BoardDoService.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.458,29,0.898,30,0.001,31,0.66,32,0.145,33,0.537,35,1.21,36,2.635,55,2.382,59,2.508,95,0.131,101,0.01,103,0,104,0,135,1.373,228,1.449,277,1.154,317,2.871,400,2.366,433,0.991,589,1.403,591,1.914,657,3.035,1770,3.23,1853,2.648,2636,3.95,2662,6.663,3078,5.082,3441,9.346,3445,6.049,3446,9.37,3668,5.965,3725,7.909,3726,8.07,3727,10.552,3728,7.587,3729,8.07,3730,10.552,3731,8.07,3732,10.552,3733,12.469,3734,9.572,3735,8.07,3736,8.07,3737,8.07,3738,6.79,3739,8.07,3740,8.07,3741,8.07,3742,11.757,3743,8.07,3744,8.07,3745,8.07,3746,8.07,3747,8.07]],["title/entities/BoardElement.html",[205,1.419,2961,4.917]],["body/entities/BoardElement.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,9,4.894,26,2.138,27,0.411,30,0.001,31,0.7,32,0.154,34,1.804,95,0.148,96,2.107,101,0.016,103,0,104,0,112,0.828,134,2.858,190,1.447,195,1.773,205,2.15,206,2.633,224,2.338,225,4.044,226,3.67,231,1.392,232,2.184,233,2.502,886,3.948,1821,5.905,1842,4.822,1937,4.971,2032,6.236,2051,3.415,2939,9.268,2957,5.689,2958,5.697,2959,5.726,2960,5.082,2961,7.449,2962,11.549,2965,4.289,2966,7.587,2967,7.083,3011,6.179,3325,10.38,3748,8.07,3749,8.07,3750,7.204,3751,8.07,3752,6.809,3753,7.449,3754,10.552,3755,5.803,3756,5.697,3757,6.049]],["title/classes/BoardElementResponse.html",[0,0.241,3758,5.86]],["body/classes/BoardElementResponse.html",[0,0.279,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.458,29,0.616,30,0.001,31,0.453,32,0.173,33,0.369,95,0.144,101,0.01,103,0,104,0,112,0.828,134,3.737,157,2.442,190,1.891,202,1.853,296,3.076,433,1.296,821,4.12,868,5.078,886,3.948,1083,5.963,1937,4.971,2049,4.306,2051,5.722,2109,3.536,2393,5.315,2512,6.297,2642,7.204,2959,4.846,2965,6.877,3040,9.892,3041,9.829,3042,9.829,3758,10.887,3759,5.51,3760,8.07,3761,9.892,3762,9.892,3763,8.07,3764,10.887,3765,10.552,3766,7.475,3767,8.07,3768,7.475,3769,8.07,3770,8.07,3771,4.769]],["title/interfaces/BoardExternalReference.html",[159,0.712,3659,5.008]],["body/interfaces/BoardExternalReference.html",[3,0.019,4,0.019,5,0.009,7,0.141,26,2.744,30,0.001,32,0.174,34,2.315,95,0.113,99,2.045,101,0.016,103,0.001,104,0.001,112,0.956,159,1.038,161,2.418,614,3.147,886,3.214,2031,9.396,2033,4.621,3113,8.002,3659,8.761,3772,8.909]],["title/classes/BoardLessonResponse.html",[0,0.241,3762,5.86]],["body/classes/BoardLessonResponse.html",[0,0.323,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,27,0.527,29,0.515,30,0.001,31,0.707,32,0.167,33,0.59,34,2.081,47,0.925,55,2.552,83,3.398,95,0.12,101,0.009,103,0,104,0,112,0.733,122,1.938,190,2.396,200,2.063,201,3.634,202,1.548,296,3.635,298,2.928,300,4.112,430,5.006,431,5.216,433,1.148,458,2.689,460,4.106,462,4.106,821,3.442,2055,7.446,2184,2.669,2965,7.266,3041,10.777,3042,10.777,3051,4.759,3054,6.679,3762,10.24,3773,6.742,3774,7.664,3775,11.273,3776,11.273,3777,10.24,3778,6.742,3779,5.917,3780,6.742,3781,6.742,3782,6.742,3783,6.742,3784,6.742,3785,9.348,3786,6.742,3787,6.742,3788,6.245,3789,6.742,3790,6.742,3791,8.18,3792,4.678,3793,4.848,3794,6.742,3795,6.742,3796,6.742,3797,7.716]],["title/classes/BoardManagementConsole.html",[0,0.241,3798,6.113]],["body/classes/BoardManagementConsole.html",[0,0.279,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.411,29,0.806,30,0.001,31,0.593,32,0.131,33,0.482,35,0.925,36,2.23,47,0.775,49,3.04,95,0.139,101,0.01,103,0,104,0,129,2.39,130,2.184,135,1.05,148,0.793,153,1.305,157,2.721,190,1.447,317,2.543,400,2.366,433,0.991,574,4.523,628,4.816,652,1.641,657,1.845,685,4.681,734,5.255,2027,6.103,2051,5.804,2512,4.816,2965,5.608,3595,4.968,3798,9.261,3799,11.757,3800,7.083,3801,9.774,3802,6.362,3803,8.152,3804,11.377,3805,8.07,3806,8.1,3807,9.774,3808,6.195,3809,10.552,3810,8.07,3811,5.349,3812,8.385,3813,7.676,3814,4.724,3815,7.475,3816,6.362,3817,5.349,3818,8.07,3819,8.07,3820,6.79,3821,10.13,3822,8.07,3823,8.07,3824,6.049]],["title/injectables/BoardManagementUc.html",[589,0.926,3804,5.86]],["body/injectables/BoardManagementUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.879,26,2.412,27,0.477,29,0.955,30,0.001,31,0.687,32,0.158,33,0.559,34,0.88,35,1.365,36,2.161,55,2.835,95,0.133,96,1.343,97,2.075,99,1.036,101,0.007,103,0,104,0,125,1.225,129,1.523,130,1.392,135,1.549,148,1.23,155,2.455,183,2.937,195,1.13,197,1.438,277,0.736,317,2.484,400,1.508,433,0.632,478,1.441,527,2.186,532,2.821,569,1.599,589,1.022,591,1.22,629,2.715,652,2.809,657,2.626,756,4.077,873,5.871,896,2.86,1328,2.734,1329,3.133,1563,3.32,1853,1.688,2027,5.62,2031,3.57,2033,2.917,2051,3.255,2054,3.856,2081,4.179,2446,5.553,2912,3.682,2965,4.088,3076,4.931,3127,4.384,3467,7.265,3563,3.856,3571,3.949,3578,3.32,3589,4.005,3649,5.25,3668,6.644,3792,6.392,3801,7.125,3802,4.055,3803,6.684,3804,6.472,3806,5.904,3807,7.125,3811,3.41,3825,12.51,3826,4.765,3827,7.692,3828,7.692,3829,7.692,3830,7.692,3831,7.692,3832,7.125,3833,5.144,3834,5.144,3835,7.692,3836,5.144,3837,7.692,3838,5.144,3839,7.692,3840,5.144,3841,7.692,3842,5.144,3843,7.692,3844,9.213,3845,5.144,3846,4.055,3847,7.692,3848,8.305,3849,5.144,3850,5.144,3851,5.144,3852,5.144,3853,5.144,3854,5.144,3855,5.144,3856,5.144,3857,5.144,3858,5.144,3859,5.144,3860,5.144,3861,5.144,3862,4.179,3863,5.144,3864,5.144,3865,5.144,3866,4.765,3867,5.144,3868,5.144,3869,5.144,3870,4.765,3871,9.213,3872,5.144,3873,5.144,3874,5.144,3875,5.144,3876,5.144,3877,4.515,3878,5.144,3879,5.144,3880,5.144,3881,5.144,3882,5.144]],["title/modules/BoardModule.html",[252,1.839,1932,5.221]],["body/modules/BoardModule.html",[0,0.194,3,0.01,4,0.01,5,0.005,30,0.001,95,0.152,101,0.007,103,0,104,0,252,2.811,254,2.013,255,2.137,256,2.191,257,2.183,258,2.175,259,3.515,260,3.597,265,5.491,269,3.205,270,2.152,271,2.108,276,3.205,277,0.8,279,2.32,610,3.817,614,1.735,619,4.024,1027,1.712,1054,3.162,1317,3.566,1714,4.195,1829,2.398,1853,1.836,1911,7.287,1932,11.062,2019,9.774,2020,9.988,2049,2.284,2051,2.368,2513,3.189,2608,3.373,2636,2.739,2642,3.821,2668,9.246,2698,1.816,2831,2.24,3286,11.211,3446,8.357,3623,9.96,3624,4.911,3645,9.618,3647,9.96,3725,8.873,3811,3.709,3883,5.596,3884,5.596,3885,5.596,3886,5.596,3887,9.087,3888,9.618,3889,8.873,3890,7.369,3891,10.504,3892,10.825,3893,10.825,3894,9.618,3895,9.618,3896,9.96,3897,5.596,3898,2.804,3899,3.763,3900,2.953,3901,5.183,3902,4.911,3903,4.708,3904,5.352,3905,5.596,3906,4.911,3907,3.659,3908,3.821,3909,5.596,3910,4.411]],["title/entities/BoardNode.html",[205,1.419,3467,3.728]],["body/entities/BoardNode.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.158,9,4.176,26,2.418,27,0.465,30,0.001,32,0.166,33,0.411,34,1.935,47,0.935,55,2.418,95,0.142,96,1.668,101,0.012,103,0,104,0,112,0.706,125,2.144,134,3.188,135,1.356,142,3.259,145,3.913,148,1.173,153,1.033,155,3.613,159,0.653,190,2.139,195,1.978,196,3.755,197,3.46,205,1.835,206,2.084,211,5.749,223,3.718,224,1.85,225,3.45,226,2.905,229,2.519,231,1.102,232,1.729,233,1.98,277,0.914,414,5.289,458,3.59,459,4.656,467,1.859,579,1.824,734,2.692,756,3.59,886,2.85,1312,3.009,1770,2.557,2051,2.703,2504,5.375,2662,4.286,3056,3.075,3076,6.058,3456,5.375,3467,5.58,3477,5.372,3549,6.893,3611,6.147,3668,4.567,3681,4.593,3755,4.593,3911,5.917,3912,7.814,3913,6.388,3914,5.917,3915,6.388,3916,6.388,3917,6.388,3918,6.388,3919,6.388,3920,4.904,3921,8.338,3922,5.483,3923,9.655,3924,8.338,3925,5.036,3926,5.036,3927,5.917,3928,5.917,3929,5.917,3930,4.51,3931,4.51,3932,4.122,3933,4.936,3934,5.917,3935,5.917,3936,7.901,3937,5.917,3938,5.917,3939,5.917,3940,5.917,3941,5.917,3942,3.932,3943,5.917,3944,5.917]],["title/interfaces/BoardNodeProps.html",[159,0.712,3922,4.242]],["body/interfaces/BoardNodeProps.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.16,9,4.271,26,2.601,30,0.001,32,0.159,33,0.598,34,2.195,47,0.943,55,2.447,95,0.143,96,1.723,101,0.012,103,0,104,0,112,0.722,125,2.194,134,3.261,135,1.38,142,3.334,145,3.982,148,1.187,153,1.067,155,3.854,159,0.675,161,1.572,195,1.45,196,3.809,197,2.965,205,1.877,223,3.763,224,1.911,225,3.529,226,3,229,2.602,231,1.138,232,1.785,233,2.045,277,0.944,414,3.348,458,3.672,459,4.763,467,1.921,579,1.884,734,2.781,756,3.672,886,2.916,1312,3.108,1770,2.641,2051,2.792,2504,5.552,2662,4.384,3056,3.176,3076,6.464,3456,5.552,3467,6.145,3477,5.495,3549,6.46,3611,6.287,3668,6.126,3681,4.744,3755,4.744,3911,6.112,3912,4.946,3920,5.065,3921,8.53,3922,6.46,3923,9.825,3924,8.53,3925,5.201,3926,5.201,3927,6.112,3928,6.112,3929,6.112,3930,4.658,3931,4.658,3932,4.258,3933,5.023,3934,6.112,3935,6.112,3936,8.082,3937,6.112,3938,6.112,3939,6.112,3940,6.112,3941,6.112,3942,4.062,3943,6.112,3944,6.112]],["title/injectables/BoardNodeRepo.html",[589,0.926,3645,5.658]],["body/injectables/BoardNodeRepo.html",[0,0.222,3,0.012,4,0.012,5,0.006,7,0.089,8,1.031,12,4.083,26,2.297,27,0.442,29,0.865,30,0.001,31,0.637,32,0.14,33,0.518,34,1.786,35,1.198,36,2.619,40,4.367,55,2.116,59,1.992,95,0.126,96,1.673,97,2.585,99,1.291,101,0.008,103,0,104,0,125,1.527,135,1.719,141,3.867,145,2.406,148,1.251,205,2.434,228,1.151,277,0.916,317,2.859,400,1.879,412,2.846,414,4.578,433,0.787,478,1.795,589,1.199,591,1.52,657,2.388,813,3.592,814,7.591,1065,3.155,1078,2.808,1829,2.747,1832,4.084,2446,6.156,2796,5.589,3467,7.073,3523,10.485,3533,10.485,3611,4.376,3644,4.084,3645,7.33,3649,5.142,3652,11.065,3682,8.357,3912,4.804,3945,6.409,3946,9.023,3947,9.023,3948,6.409,3949,6.409,3950,9.023,3951,6.409,3952,9.023,3953,6.409,3954,6.409,3955,5.936,3956,6.409,3957,9.023,3958,8.357,3959,10.442,3960,5.206,3961,9.023,3962,9.023,3963,6.409,3964,6.409,3965,5.625,3966,6.409,3967,6.409,3968,9.023,3969,6.409,3970,6.409,3971,6.409,3972,4.248,3973,6.409,3974,6.409,3975,6.409,3976,6.409,3977,5.392,3978,6.409,3979,6.409,3980,6.409,3981,6.409,3982,6.409]],["title/injectables/BoardRepo.html",[589,0.926,3283,5.221]],["body/injectables/BoardRepo.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.08,8,0.955,10,3.358,12,3.782,18,4.188,26,2.74,27,0.502,29,0.965,30,0.001,31,0.71,32,0.156,33,0.577,34,1.429,35,1.449,36,2.765,40,4.044,95,0.12,99,1.16,101,0.007,103,0,104,0,135,1.644,148,1.175,153,0.931,158,2.125,205,1.173,206,2.726,231,1.442,277,0.823,317,3.033,436,3.188,478,1.613,532,4.86,589,1.111,591,1.366,652,2.62,653,4.046,657,3.064,728,7.155,734,3.521,735,3.782,736,4.843,759,3.435,760,3.506,761,3.47,762,3.506,764,3.47,765,3.506,766,3.081,896,3.2,2027,5.61,2033,4.093,2051,5.908,2911,3.544,2964,6.414,2968,6.789,2969,6.789,3011,4.495,3283,6.263,3409,8.634,3983,5.756,3984,8.356,3985,8.356,3986,8.356,3987,8.356,3988,8.356,3989,5.756,3990,8.356,3991,5.756,3992,5.756,3993,8.356,3994,5.756,3995,8.356,3996,5.756,3997,5.756,3998,4.064,3999,5.756,4000,8.356,4001,5.756,4002,5.756,4003,5.052,4004,5.756,4005,5.756,4006,5.756,4007,5.756,4008,5.756,4009,9.837,4010,5.756,4011,5.756,4012,5.756,4013,5.756,4014,5.756]],["title/classes/BoardResponse.html",[0,0.241,3243,5.86]],["body/classes/BoardResponse.html",[0,0.29,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,27,0.51,29,0.639,30,0.001,31,0.47,32,0.166,33,0.547,34,2.238,47,0.929,95,0.141,101,0.011,103,0.001,104,0.001,112,0.848,125,1.994,155,4.178,190,2.267,202,1.922,296,3.508,298,3.636,304,4.146,433,1.328,458,3.339,821,4.275,866,4.171,2926,7.593,3051,5.911,3054,6.727,3056,4.03,3196,5.474,3197,5.785,3198,5.785,3243,11.015,3244,10.274,3563,9.813,4015,8.373,4016,8.373,4017,8.373,4018,8.373,4019,6.88,4020,8.373,4021,8.373,4022,8.373,4023,5.474,4024,7.045,4025,5.474]],["title/classes/BoardResponseMapper.html",[0,0.241,3247,6.113]],["body/classes/BoardResponseMapper.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,8,1.271,27,0.341,29,0.668,30,0.001,31,0.492,32,0.138,33,0.4,34,1.497,35,1.004,95,0.143,100,3.054,101,0.011,103,0.001,104,0.001,135,1.139,141,4.767,148,1.093,153,1.977,155,2.795,277,1.252,430,3.601,467,3.558,571,3.466,579,2.5,653,3.601,829,5.175,830,6.183,1368,4.948,1853,2.873,2032,7.599,2051,3.706,2099,8.336,2472,5.278,2926,5.079,2965,6.834,3078,5.514,3243,10.819,3247,9.761,3248,7.368,3269,8.111,3362,6.296,3563,6.563,3870,8.111,4019,6.394,4026,11.122,4027,10.301,4028,7.685,4029,5.979,4030,7.685,4031,8.756,4032,8.756,4033,8.756,4034,7.685,4035,6.181,4036,8.756,4037,8.756]],["title/controllers/BoardSubmissionController.html",[314,2.65,3034,6.113]],["body/controllers/BoardSubmissionController.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.88,27,0.359,29,0.704,30,0.001,31,0.518,32,0.174,33,0.421,35,1.057,36,2.162,95,0.142,100,1.796,101,0.007,103,0,104,0,135,1.495,148,0.757,153,1.245,190,1.653,202,1.183,228,1.656,274,2.144,277,0.737,314,1.96,316,2.479,317,2.707,325,6.31,333,5.177,337,7.072,342,7.511,345,7.356,349,6.563,374,3.343,379,4.678,388,4.384,389,3.368,390,5.988,391,8.064,392,2.682,393,2.551,395,2.757,398,2.777,401,5.167,402,4.653,433,0.633,652,1.875,657,2.108,675,3.931,734,3.245,871,3.764,874,4.507,1351,6.879,2049,3.762,2051,2.18,2681,6.104,2918,4.351,2954,4.9,3025,7.268,3027,7.49,3028,7.757,3034,6.757,3036,2.414,3037,4.521,3038,4.771,3039,4.771,3159,5.388,3160,3.137,3212,6.629,3214,5.771,3216,6.911,3217,5.771,3220,8.003,3222,4.06,3235,9.386,3237,4.466,3240,2.647,3241,3.464,3242,2.819,3249,4.185,3259,3.778,3260,3.861,3418,3.468,3521,4.968,3612,4.907,3668,3.906,4038,10.23,4039,5.151,4040,4.507,4041,7.757,4042,7.757,4043,8.54,4044,4.771,4045,10.45,4046,8.607,4047,5.151,4048,5.151,4049,5.435,4050,4.521,4051,5.151,4052,5.151,4053,5.151,4054,8.978,4055,5.151,4056,5.151,4057,5.151,4058,5.151,4059,5.151,4060,8.978,4061,5.151,4062,5.151,4063,5.151,4064,3.861,4065,3.137,4066,5.536,4067,3.704,4068,6.478,4069,5.151,4070,5.151,4071,3.954,4072,4.334,4073,5.151,4074,5.151,4075,4.521,4076,5.151,4077,4.594,4078,5.151,4079,4.771,4080,5.151,4081,5.151,4082,5.151,4083,7.699,4084,4.771,4085,5.151,4086,3.137,4087,4.185,4088,4.185,4089,5.151,4090,5.151,4091,4.771]],["title/classes/BoardTaskResponse.html",[0,0.241,3761,5.86]],["body/classes/BoardTaskResponse.html",[0,0.233,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,27,0.533,29,0.515,30,0.001,31,0.707,32,0.169,33,0.625,34,2.081,47,0.994,83,3.86,95,0.12,101,0.009,103,0,104,0,112,0.733,157,2.484,190,2.426,201,5.195,202,1.548,296,3.541,298,2.928,402,4.378,430,5.006,431,5.216,433,1.148,458,2.689,460,4.106,462,4.106,821,3.442,2051,2.853,2055,7.446,2127,3.947,2184,2.669,2959,3.096,2965,7.329,3041,10.87,3042,10.87,3051,4.759,3054,7.213,3593,5.55,3761,10.24,3779,8.205,4092,6.742,4093,7.016,4094,6.757,4095,6.742,4096,6.742,4097,6.742,4098,6.742,4099,6.742,4100,6.742,4101,6.742,4102,6.742,4103,6.742,4104,9.029,4105,6.742,4106,6.742,4107,5.673]],["title/classes/BoardTaskStatusMapper.html",[0,0.241,4108,6.113]],["body/classes/BoardTaskStatusMapper.html",[0,0.343,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,8,1.371,27,0.386,29,0.756,30,0.001,31,0.556,32,0.123,33,0.452,35,1.135,95,0.134,99,1.995,100,4.186,101,0.013,103,0.001,104,0.001,135,1.288,148,0.973,153,1.601,402,3.561,467,3.76,830,6.673,837,4.903,4104,10.868,4108,10.534,4109,12.003,4110,9.901,4111,10.099,4112,9.03,4113,9.901,4114,9.901]],["title/classes/BoardTaskStatusResponse.html",[0,0.241,4104,5.86]],["body/classes/BoardTaskStatusResponse.html",[0,0.268,2,0.819,3,0.014,4,0.014,5,0.007,7,0.108,27,0.522,29,0.592,30,0.001,31,0.436,32,0.166,33,0.354,55,2.66,95,0.086,101,0.01,103,0,104,0,112,0.807,122,2.722,190,2.353,202,1.781,296,3.712,433,1.263,821,3.961,2959,6.245,2965,7.227,3041,10.72,3042,10.72,4104,10.748,4115,6.809,4116,8.722,4117,9.018,4118,8.467,4119,8.467,4120,9.186,4121,8.722,4122,7.186,4123,7.758,4124,7.758,4125,7.758,4126,7.758,4127,7.758,4128,7.758,4129,6.528,4130,7.186,4131,6.528,4132,6.303,4133,7.186,4134,7.186]],["title/injectables/BoardUc.html",[589,0.926,3024,5.658]],["body/injectables/BoardUc.html",[0,0.155,3,0.008,4,0.008,5,0.004,7,0.063,8,0.793,26,2.935,27,0.479,29,0.939,30,0.001,31,0.691,32,0.152,33,0.562,35,1.381,36,2.751,39,3.679,47,0.623,55,1.718,59,1.397,95,0.134,99,0.905,101,0.006,103,0,104,0,113,4.661,135,1.526,148,0.833,155,3.29,228,1.957,231,1.198,277,0.643,317,2.998,433,0.853,436,2.505,589,0.923,591,1.066,610,1.772,652,1.94,657,3.076,688,2.095,1027,1.375,1197,6.799,1792,7.153,1793,4.6,1853,1.474,1862,6.037,1936,3.022,1968,5.091,2020,8.514,2032,2.656,2051,5.297,2447,3.544,2448,4.469,2662,5.187,2663,8.364,2665,5.471,2666,5.471,2667,3.231,2668,8.14,2670,3.45,2671,5.091,2672,4.991,2674,3.542,2675,5.636,2677,3.542,2678,4.9,2680,2.064,2694,8.719,2965,5.479,3024,5.639,3205,7.854,3206,7.854,3209,7.854,3453,3.368,3624,3.944,3659,3.231,3734,7.913,3821,11.057,3891,8.954,3892,9.228,4135,4.494,4136,8.48,4137,8.48,4138,8.834,4139,4.494,4140,6.941,4141,4.494,4142,6.941,4143,4.494,4144,6.941,4145,4.494,4146,6.941,4147,4.494,4148,4.494,4149,8.024,4150,9.537,4151,4.494,4152,6.941,4153,4.494,4154,3.651,4155,3.651,4156,3.651,4157,3.296,4158,4.494,4159,3.651,4160,3.651,4161,4.494,4162,7.835,4163,10.309,4164,4.494,4165,4.494,4166,4.494,4167,4.494,4168,4.162,4169,7.854,4170,4.494,4171,4.494]],["title/injectables/BoardUrlHandler.html",[589,0.926,4172,5.86]],["body/injectables/BoardUrlHandler.html",[0,0.229,3,0.012,4,0.012,5,0.006,7,0.092,8,1.055,9,3.071,27,0.488,29,0.923,30,0.001,31,0.679,32,0.162,33,0.552,34,1.578,35,1.318,36,1.951,47,0.991,95,0.143,101,0.008,103,0,104,0,105,10.128,106,7.146,107,6.948,108,8.633,110,4.556,111,5.218,112,0.724,113,3.667,114,8.633,115,7.276,116,7.499,117,7.276,118,7.276,120,5.218,122,1.372,123,5.378,125,2.531,126,5.218,127,5.761,129,2.733,130,2.498,131,5.869,134,2.344,135,1.496,148,0.907,228,1.658,231,1.593,233,2.052,277,0.947,317,2.299,400,1.941,433,0.813,436,3.396,589,1.227,591,1.57,652,1.346,657,2.111,1237,1.918,1853,2.172,1933,4.673,2018,8.516,2020,9.385,2029,4.962,2031,4.593,2032,5.454,2033,3.5,2048,4.76,2051,2.801,2054,4.962,4172,7.766,4173,10.627,4174,6.207,4175,6.132,4176,6.62,4177,7.276,4178,6.62,4179,5.57,4180,5.57,4181,5.57,4182,9.23,4183,6.62,4184,7.085,4185,5.378,4186,7.085,4187,5.57,4188,5.378,4189,6.62,4190,4.452,4191,6.132,4192,6.62,4193,6.62,4194,6.62,4195,6.62]],["title/classes/BoardUrlParams.html",[0,0.241,3211,6.113]],["body/classes/BoardUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2051,5.11,3211,10.598,3821,10.539,4196,9.999,4197,6.09,4198,9.999]],["title/classes/BruteForceError.html",[0,0.241,1720,6.113]],["body/classes/BruteForceError.html",[0,0.264,2,0.805,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.528,29,0.582,30,0.001,31,0.428,32,0.173,33,0.522,35,0.875,47,0.96,55,2.647,95,0.113,101,0.01,103,0,104,0,112,0.797,155,3.892,190,2.277,205,1.554,228,2.541,231,1.754,233,2.364,277,1.09,347,3.918,393,3.776,402,2.743,433,0.937,436,3.859,868,5.869,871,2.806,998,5.414,1078,3.341,1080,4.227,1115,5.075,1354,8.637,1355,6.573,1356,7.475,1360,5.054,1361,4.384,1362,5.054,1363,5.054,1364,5.054,1365,5.054,1366,5.054,1367,4.694,1368,4.309,1374,4.921,1720,8.921,1744,12.101,4199,11.433,4200,7.626,4201,10.165,4202,10.165,4203,7.063,4204,7.626,4205,7.626]],["title/injectables/BsonConverter.html",[589,0.926,4206,5.86]],["body/injectables/BsonConverter.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,27,0.406,29,0.795,30,0.001,31,0.585,32,0.129,33,0.476,35,1.419,95,0.116,101,0.01,103,0,104,0,135,1.355,148,1.024,157,2.411,158,4.873,277,1.131,388,4.464,574,4.434,589,1.384,591,1.877,623,8.929,1610,10.017,2374,10.017,4206,8.763,4207,7.911,4208,9.647,4209,9.647,4210,10.415,4211,7.911,4212,10.415,4213,11.33,4214,9.754,4215,9.816,4216,9.274,4217,11.46,4218,12.373,4219,10.415,4220,7.911,4221,10.415,4222,7.911,4223,7.911,4224,9.141,4225,7.911]],["title/classes/Builder.html",[0,0.241,2203,4.554]],["body/classes/Builder.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.349,27,0.498,29,0.736,30,0.001,31,0.541,32,0.146,33,0.44,35,1.105,101,0.012,103,0.001,104,0.001,112,0.926,113,5.072,148,0.947,228,2.293,433,1.184,507,5.909,532,5.16,2138,7.022,2203,7.72,2204,10.741,4226,9.639,4227,11.809,4228,11.809,4229,11.809,4230,9.639,4231,11.809]],["title/classes/BusinessError.html",[0,0.241,1354,4.386]],["body/classes/BusinessError.html",[0,0.352,2,0.645,3,0.011,4,0.011,5,0.005,7,0.085,8,0.996,9,4.717,27,0.489,29,0.466,30,0.001,31,0.343,32,0.171,33,0.465,35,0.7,47,0.896,55,1.767,59,2.71,95,0.124,101,0.008,103,0,104,0,112,0.684,113,3.464,125,1.455,135,0.795,148,0.6,153,1.645,155,4.098,157,2.823,158,2.254,185,2.092,190,2.103,201,3.389,202,1.402,228,2.488,231,1.504,233,1.893,277,0.873,296,3.069,402,3.136,433,1.071,640,3.759,653,2.512,821,3.118,868,5.338,871,3.208,998,6.352,1078,5.139,1080,4.529,1084,7.573,1115,4.642,1354,5.49,1355,7.512,1356,7.252,1361,3.511,1367,7.729,1368,6.268,1373,3.719,1374,6.562,1381,7.458,1476,3.681,1516,7.652,1675,3.681,2099,8.314,2106,9.898,2109,3.82,2140,4.969,2831,3.49,3056,4.196,4232,6.107,4233,7.083,4234,7.083,4235,6.05,4236,6.693,4237,5.626,4238,8.719,4239,6.107,4240,6.107,4241,6.107,4242,6.107,4243,6.107,4244,6.107,4245,6.107,4246,5.36,4247,5.656,4248,5.656,4249,6.693,4250,8.076,4251,8.719,4252,6.107,4253,6.107]],["title/injectables/CacheService.html",[589,0.926,4254,5.86]],["body/injectables/CacheService.html",[0,0.347,3,0.019,4,0.019,5,0.009,7,0.14,8,1.382,27,0.391,30,0.001,35,1.15,95,0.145,101,0.013,103,0.001,104,0.001,148,0.985,277,1.433,589,1.608,591,2.378,1507,7.514,2219,4.494,2220,5.054,2221,4.879,4254,10.175,4255,10.024,4256,13.484,4257,10.024,4258,11.398,4259,5.868,4260,10.024,4261,7.514,4262,9.285,4263,8.798,4264,10.024]],["title/modules/CacheWrapperModule.html",[252,1.839,1522,5.86]],["body/modules/CacheWrapperModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,47,0.77,95,0.153,101,0.01,103,0,104,0,110,2.778,135,1.522,148,1.03,159,0.817,252,3.089,254,2.874,255,3.051,256,3.128,257,3.117,258,3.106,259,4.249,260,4.348,265,4.862,269,4.104,270,3.073,271,3.009,276,4.104,277,1.143,686,5.745,688,3.725,734,4.418,1027,2.445,1080,2.77,1522,11.515,1987,8.516,2219,3.582,2220,4.029,2221,3.889,2447,3.34,2448,5.483,2831,3.198,4254,12.09,4258,7.012,4259,4.677,4261,8.77,4263,7.012,4265,7.99,4266,7.99,4267,7.99,4268,7.99,4269,10.483,4270,10.483,4271,7.012,4272,6.298,4273,8.264,4274,8.82,4275,7.99,4276,7.99,4277,7.99,4278,9.71,4279,7.401,4280,7.99,4281,7.012,4282,7.401,4283,7.012,4284,7.012,4285,7.401]],["title/interfaces/CalendarEvent.html",[159,0.712,4286,5.86]],["body/interfaces/CalendarEvent.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.164,47,0.911,101,0.013,103,0.001,104,0.001,112,0.972,159,1.068,161,2.487,172,5.288,339,4.008,401,5.852,1170,6.575,4286,10.426,4287,10.441,4288,10.441,4289,8.483,4290,8.015,4291,7.245]],["title/classes/CalendarEventDto.html",[0,0.241,4292,5.86]],["body/classes/CalendarEventDto.html",[0,0.342,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,27,0.503,29,0.754,30,0.001,31,0.555,32,0.16,33,0.451,47,0.986,100,3.444,101,0.013,103,0.001,104,0.001,112,0.94,155,4.118,433,1.213,3056,4.753,4291,8.953,4292,11.565,4293,13.417,4294,9.876,4295,10.084,4296,11.985,4297,9.876,4298,9.876,4299,9.148,4300,9.148]],["title/injectables/CalendarMapper.html",[589,0.926,4301,5.86]],["body/injectables/CalendarMapper.html",[0,0.333,3,0.018,4,0.018,5,0.009,7,0.134,8,1.347,27,0.375,29,0.734,30,0.001,31,0.54,32,0.119,33,0.439,35,1.103,95,0.142,101,0.012,103,0.001,104,0.001,135,1.251,148,0.945,153,1.555,155,3.069,277,1.375,470,9.579,589,1.567,591,2.281,4286,11.186,4289,7.812,4290,7.382,4291,8.182,4292,11.186,4301,9.921,4302,9.616,4303,11.791,4304,9.616,4305,7.812,4306,9.616,4307,8.907,4308,8.907,4309,8.907,4310,9.616,4311,9.616,4312,9.616]],["title/modules/CalendarModule.html",[252,1.839,4313,6.113]],["body/modules/CalendarModule.html",[0,0.326,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.335,254,3.386,255,3.595,256,3.685,257,3.672,258,3.659,259,4.588,260,4.694,269,4.556,270,3.62,271,3.545,276,3.685,277,1.346,1054,5.319,3904,7.608,4301,11.622,4313,12.513,4314,9.413,4315,9.413,4316,9.413,4317,12.718,4318,9.413,4319,9.413,4320,8.719]],["title/injectables/CalendarService.html",[589,0.926,4317,6.113]],["body/injectables/CalendarService.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.091,8,1.049,26,2.598,27,0.47,29,0.808,30,0.001,31,0.594,32,0.149,33,0.483,34,1.123,35,1.052,36,1.94,39,2.547,47,0.918,55,2.144,95,0.152,99,1.323,101,0.008,103,0,104,0,110,3.983,112,0.72,135,1.194,142,2.377,148,0.902,153,1.711,189,4.042,228,2.349,277,0.939,317,2.289,326,3.492,400,1.925,414,5.368,433,0.807,579,1.875,589,1.22,591,1.558,652,2.738,1053,8.527,1054,3.71,1056,4.237,1164,5.04,1169,3.808,1312,4.323,1313,4.483,1314,4.816,1475,4.134,1611,5.334,2084,4.352,2088,4.91,2114,6.599,2219,2.943,2220,3.311,2221,3.195,2333,5.929,2352,9.286,2353,11.165,2382,7.234,2383,8.121,2398,6.082,2406,6.082,2407,6.082,2418,6.082,2429,6.082,2430,6.082,2432,6.082,2716,4.635,4259,3.844,4286,5.524,4292,5.524,4301,10.786,4307,6.082,4308,6.082,4309,6.082,4317,8.055,4320,6.082,4321,6.566,4322,10.58,4323,9.177,4324,5.763,4325,9.177,4326,9.177,4327,11.455,4328,6.566,4329,9.306,4330,6.566,4331,6.566,4332,6.566,4333,6.566,4334,9.177,4335,6.566,4336,6.566,4337,6.566,4338,4.921,4339,6.566,4340,6.566,4341,6.566]],["title/classes/Card.html",[0,0.241,3127,3.969]],["body/classes/Card.html",[0,0.199,2,0.607,3,0.011,4,0.011,5,0.008,7,0.08,8,0.954,27,0.522,29,0.964,30,0.001,31,0.71,32,0.162,33,0.577,35,1.477,36,1.764,47,0.842,55,2.498,59,1.787,95,0.141,101,0.013,103,0,104,0,112,0.655,113,3.316,122,2.038,134,2.036,135,0.748,148,1.06,155,3.814,158,2.122,159,0.588,189,5.138,231,1.696,317,2.126,435,2.868,436,3.731,527,2.443,532,3.061,567,3.112,569,3.714,614,1.782,653,5.071,657,1.315,711,2.418,735,3.778,1770,5.154,1773,5.986,1842,3.814,2051,2.433,2370,3.221,2662,6.227,2698,1.865,2912,2.751,3058,7.761,3061,5.893,3062,5.893,3063,5.893,3064,5.457,3065,5.893,3067,3.578,3068,5.084,3069,6.256,3071,5.699,3072,5.084,3073,6.201,3075,3.989,3076,4.468,3078,6.189,3079,3.989,3081,6.002,3083,3.989,3085,3.578,3112,5.031,3127,6.147,3134,5.457,3137,5.533,3140,5.196,3143,5.457,3146,5.138,3149,5.256,3154,8.292,3158,4.309,3159,2.601,3160,3.501,3556,4.309,3578,7.711,4342,5.324,4343,5.748,4344,5.748,4345,5.324,4346,4.133,4347,4.133,4348,4.133,4349,4.836,4350,5.748,4351,5.045,4352,5.748,4353,5.748,4354,5.748,4355,5.748,4356,5.748,4357,3.578,4358,5.792,4359,4.531,4360,7.732,4361,5.324,4362,5.138,4363,5.324,4364,5.324,4365,5.045,4366,5.324]],["title/controllers/CardController.html",[314,2.65,3032,6.113]],["body/controllers/CardController.html",[0,0.131,3,0.007,4,0.007,5,0.003,7,0.053,8,0.692,10,3.045,27,0.395,29,0.773,30,0.001,31,0.569,32,0.176,33,0.462,35,1.161,36,2.571,95,0.123,100,1.318,101,0.005,103,0,104,0,135,1.383,141,2.596,148,0.595,153,1.226,155,1.933,190,1.814,202,0.868,228,1.088,274,1.573,277,0.54,314,1.438,316,1.819,317,2.821,325,6.507,333,4.072,337,7.488,339,1.108,342,7.953,345,8.407,349,6.864,365,2.69,374,2.63,379,4.812,388,4.066,389,2.471,390,6.224,391,8.328,392,1.967,393,1.871,395,2.023,398,2.038,400,1.108,401,5.673,402,4.843,615,2.302,652,0.769,657,2.315,675,1.929,734,2.552,871,2.228,1351,7.15,2049,3.092,2661,3.07,2681,6.344,2918,5.72,2954,5.38,3025,5.974,3026,6.157,3032,5.315,3036,1.771,3127,5.769,3212,7.278,3214,4.539,3216,7.587,3217,7.11,3220,7.644,3222,6.833,3235,9.74,3236,7.042,3237,5.028,3240,1.942,3241,2.541,3242,2.068,3249,3.07,3259,6.358,3260,6.497,3263,3.317,3571,6.653,3578,3.908,3612,7.042,3728,4.355,3866,3.5,4041,6.376,4044,3.5,4046,7.293,4049,4.275,4050,3.317,4064,4.539,4065,2.302,4066,5.449,4067,5.449,4071,2.901,4086,2.302,4087,3.07,4088,3.07,4367,3.779,4368,5.609,4369,7.578,4370,6.651,4371,7.019,4372,7.019,4373,11.243,4374,3.779,4375,5.817,4376,3.779,4377,3.779,4378,3.779,4379,3.779,4380,8.667,4381,3.779,4382,3.779,4383,3.779,4384,7.578,4385,7.607,4386,3.779,4387,3.779,4388,3.779,4389,3.779,4390,3.779,4391,7.607,4392,3.779,4393,3.779,4394,3.779,4395,7.607,4396,3.779,4397,3.779,4398,3.779,4399,3.779,4400,3.779,4401,2.439,4402,6.651,4403,2.901,4404,4.649,4405,4.649,4406,3.779,4407,3.779,4408,3.18,4409,3.779,4410,5.315,4411,3.779,4412,6.056,4413,3.779,4414,6.056,4415,3.5,4416,3.779,4417,3.779,4418,9.485,4419,3.779,4420,3.317,4421,3.779,4422,3.779,4423,3.779,4424,3.779,4425,3.779,4426,3.779,4427,3.779,4428,3.779,4429,3.317,4430,3.317,4431,3.317,4432,3.317,4433,3.779,4434,4.649,4435,3.779,4436,3.317]],["title/classes/CardIdsParams.html",[0,0.241,4385,6.113]],["body/classes/CardIdsParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.159,47,1.008,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,125,2.335,157,2.269,190,1.757,195,2.154,200,3,202,2.251,296,3.122,615,8.354,855,4.831,1835,6.131,2531,5.286,4385,10.472,4437,11.051,4438,9.804,4439,9.804,4440,7.965,4441,7.051,4442,9.804]],["title/classes/CardListResponse.html",[0,0.241,4402,6.113]],["body/classes/CardListResponse.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.463,29,0.743,30,0.001,31,0.547,32,0.159,33,0.445,95,0.132,101,0.012,103,0.001,104,0.001,112,0.932,125,2.318,190,1.745,202,2.235,296,3.108,339,4.014,433,1.459,821,4.969,861,6.753,866,4.848,881,5.327,4402,12.015,4437,11.875,4443,9.733,4444,10.846,4445,9.733,4446,9.733]],["title/entities/CardNode.html",[205,1.419,3491,5.49]],["body/entities/CardNode.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,27,0.352,30,0.001,32,0.14,55,2.512,95,0.149,96,2.358,101,0.015,103,0.001,104,0.001,112,0.89,134,3.198,135,1.175,148,0.888,159,0.924,190,1.619,205,2.311,206,2.947,223,3.864,224,2.616,231,1.957,232,2.444,457,5.021,1770,4.54,1853,2.963,2109,3.957,2715,5.104,3127,6.464,3467,6.071,3477,6.768,3491,8.94,3549,5.501,3570,9.954,3578,8.392,3611,6.167,3920,6.933,3922,6.907,3942,5.56,4447,10.505,4448,5.687,4449,8.366,4450,5.687,4451,9.954,4452,7.6,4453,8.366,4454,8.366]],["title/interfaces/CardNodeProps.html",[159,0.712,4451,6.113]],["body/interfaces/CardNodeProps.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.141,55,2.639,95,0.149,96,2.369,101,0.015,103,0.001,104,0.001,112,0.892,134,3.213,135,1.181,148,0.892,159,0.928,161,2.161,205,2.318,223,3.544,224,2.628,231,2.144,232,2.455,457,5.044,1770,4.553,1853,2.977,2109,3.975,2715,5.127,3127,6.482,3467,6.088,3477,6.787,3491,7.152,3549,5.526,3570,9.982,3578,8.657,3611,6.195,3920,6.965,3922,7.566,3942,5.585,4447,8.404,4448,5.713,4450,5.713,4451,10.904,4452,7.634,4453,8.404,4454,8.404]],["title/interfaces/CardProps.html",[159,0.712,4365,6.113]],["body/interfaces/CardProps.html",[0,0.261,3,0.014,4,0.014,5,0.009,7,0.105,30,0.001,32,0.141,36,1.593,47,0.93,55,2.564,95,0.151,101,0.015,103,0,104,0,112,0.791,122,1.563,134,2.67,135,0.981,148,1.193,155,4.156,158,2.783,159,0.771,161,1.796,231,1.962,317,1.631,527,3.204,567,3.761,569,2.343,614,2.337,653,5.469,657,1.724,1770,5.213,1842,4.61,2051,3.191,2370,4.226,2662,4.803,2698,2.446,2912,3.609,3058,6.08,3068,4.592,3069,5.851,3072,4.592,3073,5.799,3081,5.421,3112,6.852,3127,6.479,3134,6.595,3137,6.687,3140,6.279,3143,6.595,3146,6.21,3149,6.352,3154,9.036,3158,5.652,3159,3.412,3160,4.592,3556,5.652,3578,8.403,4342,6.984,4357,4.693,4358,7,4359,5.944,4360,9.344,4361,6.984,4362,6.21,4363,6.984,4364,6.984,4365,8.854,4366,6.984]],["title/classes/CardResponse.html",[0,0.241,4444,5.658]],["body/classes/CardResponse.html",[0,0.244,2,0.746,3,0.013,4,0.013,5,0.006,7,0.098,27,0.51,29,0.539,30,0.001,31,0.397,32,0.165,33,0.502,34,2.116,47,0.868,55,1.956,95,0.138,101,0.009,103,0,104,0,112,0.757,125,1.682,155,3.949,190,2.29,201,3.751,202,1.622,296,3.533,298,3.067,304,3.497,433,1.186,458,2.816,821,3.606,866,3.518,874,5.65,896,6.879,1835,4.959,2049,2.882,2661,8.933,2918,7.218,2926,7.177,3054,6.008,3056,3.399,3196,4.617,3197,5.166,3198,5.166,3578,7.984,3779,6.198,4019,6.321,4023,4.617,4025,4.617,4064,7.234,4065,4.301,4066,6.94,4067,6.94,4086,4.301,4087,5.738,4088,5.738,4375,7.409,4403,7.409,4404,7.409,4405,7.409,4429,6.198,4430,6.198,4431,6.198,4432,6.198,4444,10.052,4452,5.942,4455,7.062,4456,11.461,4457,7.062,4458,7.062,4459,7.062,4460,7.062,4461,7.062,4462,7.062,4463,9.251,4464,7.062,4465,6.198,4466,7.062,4467,6.198,4468,7.062]],["title/classes/CardResponseMapper.html",[0,0.241,4408,5.86]],["body/classes/CardResponseMapper.html",[0,0.318,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,8,1.311,27,0.358,29,0.702,30,0.001,31,0.517,32,0.114,33,0.42,34,1.573,35,1.055,95,0.139,100,3.208,101,0.012,103,0.001,104,0.001,135,1.197,141,4.917,148,0.904,153,2.022,155,2.936,430,3.783,467,3.639,829,5.435,830,6.377,835,7.06,896,5.113,1853,3.017,2049,3.753,2393,3.525,2926,5.335,3127,7.676,3578,5.935,4019,6.595,4035,6.493,4071,7.06,4408,9.652,4436,8.073,4444,10.634,4456,8.519,4463,9.652,4469,11.471,4470,11.471,4471,8.519,4472,8.073,4473,8.073,4474,7.739,4475,9.198,4476,9.198,4477,9.198]],["title/injectables/CardService.html",[589,0.926,3891,5.49]],["body/injectables/CardService.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.892,10,3.136,12,3.532,26,2.427,27,0.49,29,0.96,30,0.001,31,0.706,32,0.156,33,0.575,34,0.897,35,1.411,36,2.878,47,0.685,49,1.976,55,2.343,59,2.426,83,2.288,95,0.133,99,1.057,101,0.007,103,0,104,0,135,1.436,148,0.916,153,1.784,155,3.522,228,1.674,277,0.75,317,3.054,430,2.157,431,2.248,433,0.959,574,2.94,579,1.498,589,1.037,591,1.244,615,3.194,652,2.352,653,2.157,657,2.97,734,3.289,1853,1.721,2019,8.786,2051,2.22,2393,2.01,2636,2.567,2954,2.788,2965,6.366,3066,3.639,3127,8.131,3445,3.932,3446,8.164,3571,5.991,3578,7.12,3639,6.566,3668,5.868,3725,8.978,3728,5.611,3734,7.923,3738,4.413,3891,6.152,4410,4.603,4473,4.603,4474,4.413,4478,5.245,4479,7.804,4480,7.804,4481,6.849,4482,5.245,4483,6.849,4484,10.581,4485,6.236,4486,5.245,4487,7.804,4488,5.245,4489,7.804,4490,5.245,4491,7.804,4492,5.245,4493,6.152,4494,7.804,4495,5.245,4496,7.804,4497,9.56,4498,5.245,4499,7.804,4500,5.245,4501,7.804,4502,5.245,4503,4.261,4504,5.245,4505,5.245,4506,5.245,4507,5.245,4508,5.245,4509,4.858,4510,3.229,4511,4.858,4512,5.245,4513,5.245,4514,5.245,4515,5.245,4516,7.804,4517,7.804,4518,7.804,4519,5.245]],["title/classes/CardSkeletonResponse.html",[0,0.241,4520,5.86]],["body/classes/CardSkeletonResponse.html",[0,0.302,2,0.922,3,0.016,4,0.016,5,0.008,7,0.122,27,0.476,29,0.667,30,0.001,31,0.491,32,0.151,33,0.399,47,0.816,55,2.25,72,5.1,95,0.097,101,0.011,103,0.001,104,0.001,112,0.871,130,3.005,157,2.022,190,1.991,202,2.006,296,3.195,304,4.327,433,1.364,802,7.362,821,4.461,868,4.205,1218,7.261,2587,8.526,3127,6.33,3196,5.712,3197,5.945,3198,5.945,3578,8.888,3750,7.583,4452,7.351,4493,10.456,4520,11.16,4521,12.848,4522,8.737,4523,8.737,4524,8.737,4525,11.106,4526,9.748,4527,11.106,4528,9.748,4529,11.106,4530,10.287,4531,10.287,4532,8.737,4533,8.737]],["title/injectables/CardUc.html",[589,0.926,3025,5.49]],["body/injectables/CardUc.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,8,0.715,26,2.917,27,0.471,29,0.939,30,0.001,31,0.679,32,0.161,33,0.552,35,1.358,36,2.731,39,3.648,47,0.572,55,2.399,59,1.945,95,0.12,99,0.794,101,0.005,103,0,104,0,113,4.456,125,0.938,135,1.645,141,1.688,148,0.952,155,3.09,183,2.39,228,1.739,231,1.08,277,0.563,290,0.934,317,2.98,433,0.769,436,2.301,532,3.551,589,0.832,591,0.934,610,1.553,652,2.097,657,3.083,688,1.836,896,2.189,1027,1.205,1197,7.139,1675,2.374,1778,2.48,1792,7.153,1793,2.61,1853,1.292,1862,5.744,1936,2.648,1962,2.35,1964,3.105,1968,4.591,2019,6.509,2024,6.995,2030,3.2,2049,3.621,2447,3.256,2448,4.158,2488,2.889,2492,3.105,2662,5.146,2663,7.913,2665,4.934,2666,4.934,2667,2.832,2668,7.782,2670,3.023,2671,4.591,2672,4.501,2674,3.105,2675,5.244,2677,3.105,2678,6.264,2680,1.809,2682,5.713,2694,7.913,3025,4.934,3127,6.748,3453,2.952,3571,4.805,3578,6.248,3734,7.432,3891,8.52,4041,7.466,4154,3.2,4155,3.2,4156,3.2,4159,3.2,4160,3.2,4162,7.412,4362,3.853,4368,7.215,4370,3.457,4371,7.215,4372,7.215,4410,7.788,4434,7.913,4485,4.62,4493,10.185,4534,3.938,4535,6.259,4536,7.789,4537,6.554,4538,6.836,4539,3.938,4540,3.648,4541,3.938,4542,6.259,4543,3.938,4544,6.259,4545,7.789,4546,3.938,4547,6.259,4548,3.938,4549,3.938,4550,8.873,4551,3.938,4552,6.259,4553,3.938,4554,6.259,4555,3.938,4556,3.938,4557,3.938,4558,6.259,4559,3.938,4560,8.219,4561,3.938,4562,3.938,4563,3.938,4564,3.938,4565,6.259,4566,3.648,4567,7.215,4568,3.938,4569,3.938,4570,3.938,4571,3.938,4572,3.938,4573,3.938]],["title/classes/CardUrlParams.html",[0,0.241,4373,6.113]],["body/classes/CardUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,3127,6.882,4197,6.09,4373,10.598,4493,10.226,4574,9.999,4575,9.999]],["title/classes/ChallengeParams.html",[0,0.241,4576,6.113]],["body/classes/ChallengeParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,180,5.16,187,6.803,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,299,4.713,308,7.298,4576,10.566,4577,9.95,4578,9.904,4579,9.95]],["title/classes/ChangeLanguageParams.html",[0,0.241,4580,5.86]],["body/classes/ChangeLanguageParams.html",[0,0.421,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,27,0.395,30,0.001,32,0.125,95,0.145,101,0.013,103,0.001,104,0.001,112,0.954,190,1.815,200,3.098,202,2.325,296,3.183,478,2.837,886,3.206,899,4.627,1198,7.861,3200,6.042,4580,10.237,4581,10.125,4582,9.238,4583,10.125,4584,10.125,4585,7.773]],["title/classes/Class.html",[0,0.331]],["body/classes/Class.html",[0,0.39,2,0.668,3,0.012,4,0.023,5,0.006,7,0.088,8,1.022,26,2.737,27,0.546,29,0.483,30,0.001,31,0.668,32,0.111,33,0.289,35,1.025,39,2.482,47,0.993,55,1.812,62,6.725,83,3.305,95,0.116,99,1.275,101,0.011,103,0,104,0,112,0.701,113,3.553,125,3.086,148,1.351,159,0.647,185,2.167,231,1.789,430,4.635,431,4.831,435,3.072,436,2.641,532,3.279,569,1.967,711,3.444,735,4.047,1767,4.857,1770,4.759,1773,6.316,1849,3.606,3067,3.939,3085,3.939,3088,4.988,3090,4.988,3093,4.391,3094,4.391,4586,5.861,4587,8.283,4588,3.86,4589,7.956,4590,8.652,4591,8.267,4592,8.652,4593,7.182,4594,8.652,4595,8.652,4596,8.283,4597,6.328,4598,4.857,4599,6.328,4600,3.985,4601,6.328,4602,6.328,4603,6.328,4604,5.324,4605,6.328,4606,6.328,4607,6.328,4608,6.328,4609,6.328,4610,6.328,4611,6.328,4612,6.328,4613,6.328,4614,6.328,4615,6.328,4616,6.328,4617,6.328,4618,6.328,4619,6.328,4620,6.328,4621,6.328,4622,7.961,4623,4.857,4624,5.324,4625,5.324,4626,5.324,4627,8.283,4628,5.861,4629,5.861,4630,5.861,4631,5.861,4632,5.861,4633,5.861,4634,5.861,4635,5.861,4636,5.861,4637,5.861]],["title/entities/ClassEntity.html",[205,1.419,4638,5.109]],["body/entities/ClassEntity.html",[0,0.276,2,0.569,3,0.01,4,0.022,5,0.005,7,0.168,26,1.614,27,0.509,30,0.001,31,0.588,32,0.162,33,0.625,34,0.922,47,0.972,49,5.152,55,1.92,62,6.243,95,0.124,96,2.08,97,2.175,99,1.087,101,0.01,103,0,104,0,112,0.743,125,3.069,130,1.459,153,0.872,159,0.552,185,2.729,190,2.343,195,3.006,196,4.203,205,1.623,206,1.759,211,6.666,221,5.971,223,4.122,224,1.562,225,3.053,229,2.127,231,0.931,232,1.459,233,1.672,458,2.151,459,4.12,579,1.54,652,1.097,756,2.151,2184,2.135,4588,3.584,4589,7.386,4590,8.032,4591,8.188,4592,8.032,4593,7.114,4594,8.032,4595,8.032,4638,5.843,4639,4.995,4640,5.393,4641,5.393,4642,5.393,4643,5.393,4644,5.393,4645,6.703,4646,5.393,4647,8.799,4648,3.682,4649,5.393,4650,5.393,4651,5.393,4652,5.393,4653,5.393,4654,4.204,4655,3.022,4656,4.538,4657,7.971,4658,4.538,4659,9.691,4660,6.703,4661,4.995,4662,4.995,4663,4.538,4664,2.429,4665,3.157,4666,3.956,4667,7.379,4668,4.251,4669,4.995,4670,4.995,4671,7.379,4672,4.995,4673,7.379,4674,4.995,4675,4.995,4676,6.28,4677,4.042,4678,7.379,4679,4.995,4680,6.115,4681,3.742,4682,7.379,4683,4.995]],["title/classes/ClassEntityFactory.html",[0,0.241,4684,6.451]],["body/classes/ClassEntityFactory.html",[0,0.167,2,0.509,3,0.009,4,0.016,5,0.004,7,0.067,8,0.837,27,0.515,29,1.017,30,0.001,31,0.734,32,0.167,33,0.582,34,1.692,35,1.409,47,0.538,49,4.629,55,2.36,59,3.308,62,5.287,95,0.11,101,0.006,103,0,104,0,112,0.575,113,4.452,127,4.959,129,3.553,130,3.247,135,0.953,148,0.72,153,1.883,157,2.051,172,3.127,185,2.51,192,2.66,205,2.169,206,2.39,228,1.316,231,1.264,326,4.847,374,3.182,433,0.593,436,3.86,467,2.133,501,7.293,502,5.501,505,4.073,506,5.501,507,5.458,508,4.073,509,4.073,510,4.073,511,4.01,512,4.524,513,4.926,514,7.098,515,5.824,516,7.079,517,2.703,522,2.681,523,4.073,524,2.703,525,5.187,526,5.335,527,4.205,528,5.021,529,4.041,530,2.681,531,2.528,532,4.109,533,2.563,534,2.528,535,2.681,536,2.703,537,4.849,538,2.681,539,7.179,540,3.981,541,6.671,542,2.703,543,4.312,544,2.681,545,2.703,546,2.681,547,2.703,548,2.681,549,3.002,550,2.823,551,2.681,552,6.133,553,2.703,554,2.681,555,4.073,556,3.717,557,4.073,558,2.703,559,2.6,560,2.563,561,2.172,562,2.681,563,2.681,564,2.681,565,2.703,566,2.703,567,1.798,568,2.681,569,1.499,570,2.703,571,2.9,572,2.681,573,2.703,574,2.703,575,2.773,577,2.878,1835,2.478,2370,2.703,4588,1.652,4589,3.405,4590,3.702,4591,3.538,4592,3.702,4593,3.074,4594,3.702,4595,3.702,4638,3.538,4647,5.776,4657,4.058,4684,8.207,4685,4.823,4686,6.431,4687,6.787,4688,4.823,4689,4.823,4690,4.058,4691,4.823,4692,3.468,4693,3.702]],["title/interfaces/ClassEntityProps.html",[159,0.712,4657,5.86]],["body/interfaces/ClassEntityProps.html",[0,0.286,2,0.597,3,0.01,4,0.023,5,0.005,7,0.171,26,2.17,30,0.001,31,0.639,32,0.165,33,0.636,34,1.831,47,1.013,49,5.311,55,2.17,62,6.793,95,0.127,96,2.155,97,2.283,99,1.14,101,0.011,103,0,104,0,112,0.764,125,3.104,130,1.531,153,0.915,159,0.579,161,1.348,185,1.938,195,2.818,196,4.173,205,1.682,223,4.115,224,1.639,225,3.163,229,2.232,231,0.976,232,1.531,233,1.754,458,2.257,459,4.268,579,1.616,652,1.151,756,2.257,2184,2.24,4588,3.899,4589,8.036,4590,8.739,4591,8.718,4592,8.739,4593,7.574,4594,8.739,4595,8.739,4638,4.151,4639,5.242,4647,9.369,4654,4.356,4655,3.172,4656,4.761,4657,9.009,4658,4.761,4659,9.917,4660,6.944,4661,5.242,4662,5.242,4663,4.761,4664,2.549,4665,3.313,4666,4.151,4667,7.644,4668,4.461,4669,5.242,4670,5.242,4671,7.644,4672,5.242,4673,7.644,4674,5.242,4675,5.242,4676,6.506,4677,4.242,4678,7.644,4679,5.242,4680,6.335,4681,3.927,4682,7.644,4683,5.242]],["title/classes/ClassFactory.html",[0,0.241,4694,6.451]],["body/classes/ClassFactory.html",[0,0.304,2,0.502,3,0.009,4,0.018,5,0.004,7,0.066,8,0.829,27,0.513,29,1.014,30,0.001,31,0.732,32,0.167,33,0.58,34,1.681,35,1.404,47,0.777,49,1.793,55,2.349,59,3.288,62,5.245,83,2.127,95,0.118,96,1.243,97,1.92,101,0.006,103,0,104,0,112,0.569,113,4.429,127,4.926,129,3.539,130,3.234,135,0.944,148,0.713,153,2.053,157,2.034,172,3.096,185,2.485,192,2.625,205,1.791,206,2.367,228,1.303,231,1.252,326,4.832,374,3.15,430,1.958,431,2.04,433,0.585,436,3.849,467,2.111,501,7.078,502,5.464,505,4.033,506,5.464,507,5.307,508,4.033,509,4.033,510,4.033,511,3.97,512,4.487,513,4.886,514,7.078,515,5.791,516,6.998,517,2.668,522,2.646,523,4.033,524,2.668,525,5.152,526,5.299,527,4.177,528,4.987,529,4.001,530,2.646,531,2.495,532,4.088,533,2.53,534,2.495,535,2.646,536,2.668,537,4.81,538,2.646,539,7.158,540,3.965,541,6.643,542,2.668,543,3.53,544,2.646,545,2.668,546,2.646,547,2.668,548,2.646,551,2.646,552,6.101,553,2.668,554,2.646,555,4.033,556,3.68,557,4.033,558,2.668,559,2.567,560,2.53,561,2.144,562,2.646,563,2.646,564,2.646,565,2.668,566,2.668,567,1.775,568,2.646,569,1.479,570,2.668,571,2.871,572,2.646,573,2.668,575,2.737,577,2.84,2081,3.867,2370,2.668,4510,7.356,4588,1.63,4589,3.36,4590,3.654,4591,3.492,4592,3.654,4593,3.034,4594,3.654,4595,3.654,4622,5.569,4623,3.654,4624,4.005,4686,6.367,4687,6.719,4692,3.423,4693,3.654,4694,8.141,4695,4.76,4696,6.204,4697,4.76,4698,3.423,4699,4.76,4700,4.76]],["title/classes/ClassFilterParams.html",[0,0.241,4701,6.113]],["body/classes/ClassFilterParams.html",[0,0.413,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.383,30,0.001,32,0.166,33,0.546,95,0.143,101,0.013,103,0.001,104,0.001,112,0.937,159,1.005,190,1.762,200,3.007,201,4.644,202,2.257,300,4.579,886,3.112,899,4.491,3201,5.6,4701,10.487,4702,11.068,4703,7.202,4704,8.269,4705,14.127,4706,9.828,4707,9.828,4708,9.828]],["title/classes/ClassInfoDto.html",[0,0.241,4709,5.658]],["body/classes/ClassInfoDto.html",[0,0.365,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.541,29,0.616,30,0.001,31,0.7,32,0.176,33,0.618,34,2.01,47,1.028,55,2.138,95,0.09,101,0.01,103,0,104,0,112,0.828,122,2.188,232,2.855,433,0.991,435,2.772,458,3.218,459,4.174,2109,3.536,2184,3.194,2552,5.6,4664,3.635,4709,10.512,4710,13.995,4711,7.475,4712,9.892,4713,9.892,4714,7.906,4715,9.892,4716,10.89,4717,10.552,4718,8.07,4719,8.07,4720,8.07,4721,8.07,4722,8.07,4723,8.07,4724,10.319,4725,8.07,4726,4.915,4727,7.475,4728,7.475,4729,8.07,4730,8.07,4731,6.195,4732,6.362,4733,7.475,4734,7.475,4735,7.475,4736,7.475]],["title/classes/ClassInfoResponse.html",[0,0.241,4737,5.86]],["body/classes/ClassInfoResponse.html",[0,0.256,2,0.78,3,0.014,4,0.014,5,0.007,7,0.103,27,0.531,29,0.564,30,0.001,31,0.676,32,0.175,33,0.604,34,1.924,47,1.021,55,2.016,95,0.111,101,0.009,103,0,104,0,112,0.781,122,2.063,125,1.76,190,2.411,201,5.142,202,1.696,232,2.693,296,3.566,433,0.908,435,2.538,458,2.946,459,3.821,866,3.68,886,2.339,2109,3.236,2184,2.924,2301,5.823,2552,5.126,3200,4.408,4664,3.327,4712,9.467,4713,9.467,4714,7.566,4715,9.467,4724,11.029,4726,4.499,4727,6.842,4728,6.842,4731,5.671,4732,5.823,4733,6.842,4734,6.842,4735,6.842,4736,6.842,4737,10.573,4738,12.758,4739,7.261,4740,9.95,4741,7.387,4742,7.387,4743,6.842,4744,7.387,4745,7.387,4746,6.484,4747,7.387,4748,7.387,4749,7.387,4750,7.387]],["title/classes/ClassInfoSearchListResponse.html",[0,0.241,4751,5.86]],["body/classes/ClassInfoSearchListResponse.html",[0,0.361,2,0.838,3,0.022,4,0.015,5,0.007,7,0.111,27,0.502,29,0.606,30,0.001,31,0.446,32,0.171,33,0.588,55,2.909,56,6.225,59,3.245,70,6.704,95,0.13,101,0.01,103,0,104,0,112,0.819,125,1.892,190,2.221,202,1.824,231,1.802,296,2.732,298,3.449,339,3.775,433,0.976,436,3.661,860,7.371,861,5.511,862,8.385,863,7.289,864,6.003,865,7.357,866,3.956,867,7.357,868,5.615,869,3.888,870,4.347,871,2.922,872,5.607,873,6.655,874,6.113,875,5.193,876,4.135,877,5.607,878,5.607,880,5.062,881,4.347,4737,11.334,4738,9.672,4751,8.786,4752,6.683]],["title/classes/ClassMapper.html",[0,0.241,4753,6.113]],["body/classes/ClassMapper.html",[0,0.482,2,0.729,3,0.013,4,0.022,5,0.006,7,0.096,8,1.086,27,0.456,29,0.894,30,0.001,31,0.713,32,0.145,33,0.535,34,1.625,35,1.342,49,2.601,62,5.671,95,0.13,96,1.803,97,2.785,101,0.009,103,0,104,0,125,2.788,148,1.151,153,2.141,205,1.937,206,2.253,430,2.84,431,2.959,467,4.03,652,2.21,773,4.576,1770,2.764,1883,2.592,2455,4.514,2498,4.791,4588,3.255,4589,6.708,4590,7.295,4591,6.971,4592,7.295,4593,6.056,4594,7.295,4595,7.295,4622,7.295,4623,5.3,4638,10.156,4693,5.3,4753,8.341,4754,6.905,4755,7.996,4756,8.802,4757,8.802,4758,7.996,4759,7.996,4760,6.905,4761,8.802,4762,6.905,4763,8.802,4764,6.905,4765,7.996,4766,6.905,4767,6.905,4768,4.162,4769,5.443,4770,6.905,4771,6.905,4772,6.905,4773,6.905,4774,6.905,4775,6.905,4776,6.905,4777,6.905,4778,6.06,4779,6.905,4780,6.905,4781,6.905,4782,5.3,4783,5.3,4784,6.06,4785,6.905,4786,6.905,4787,6.905,4788,6.905,4789,6.905,4790,6.905,4791,6.905,4792,6.905,4793,6.395,4794,6.905,4795,6.905,4796,6.905,4797,6.905,4798,4.874,4799,6.395,4800,6.06,4801,6.395]],["title/modules/ClassModule.html",[252,1.839,4802,5.86]],["body/modules/ClassModule.html",[0,0.331,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.359,254,3.443,255,3.655,256,3.747,257,3.733,258,3.72,259,4.622,260,4.729,269,4.603,270,3.68,271,3.605,277,1.369,610,3.774,2636,4.684,4802,12.029,4803,9.57,4804,9.57,4805,9.57,4806,12.745,4807,11.669,4808,9.57]],["title/interfaces/ClassProps.html",[159,0.712,4624,5.86]],["body/interfaces/ClassProps.html",[0,0.36,3,0.012,4,0.024,5,0.006,7,0.089,26,2.895,30,0.001,31,0.669,32,0.17,33,0.64,39,1.765,47,1.035,55,2.289,62,7.107,83,3.804,95,0.116,99,1.281,101,0.011,103,0,104,0,112,0.704,125,3.09,148,1.352,159,0.65,161,1.514,185,2.178,231,1.794,430,4.899,431,5.105,711,1.842,1767,5.648,1770,3.592,1849,3.623,3093,4.412,3094,4.412,4586,5.889,4588,4.08,4589,8.408,4590,9.143,4591,8.737,4592,9.143,4593,7.59,4594,9.143,4595,9.143,4596,5.889,4622,9.143,4623,4.881,4624,7.549,4625,5.349,4626,5.349,4627,8.31,4628,5.889,4629,5.889,4630,5.889,4631,5.889,4632,5.889,4633,5.889,4634,5.889,4635,5.889,4636,5.889,4637,5.889]],["title/injectables/ClassService.html",[589,0.926,4806,6.113]],["body/injectables/ClassService.html",[0,0.437,2,1.279,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,26,2.799,27,0.472,29,0.925,30,0.001,31,0.68,32,0.15,33,0.553,34,1.282,35,1.3,36,2.748,39,3.146,95,0.135,99,1.511,101,0.01,103,0,104,0,125,1.786,135,1.576,148,1.19,153,1.212,228,1.346,277,1.072,317,2.957,400,2.198,433,0.921,579,2.141,589,1.336,591,1.779,641,4.273,657,2.77,711,3.96,983,4.838,1312,3.532,1770,3.001,1883,2.814,2455,4.902,2636,3.67,4588,2.568,4800,6.58,4806,8.821,4807,10.939,4809,7.498,4810,10.05,4811,7.922,4812,10.05,4813,7.498,4814,7.498,4815,10.05,4816,7.498,4817,8.165,4818,7.498,4819,10.05,4820,7.498,4821,7.498,4822,10.05,4823,5.499,4824,6.308,4825,6.945,4826,7.498,4827,7.498,4828,7.498,4829,7.498,4830,7.498]],["title/classes/ClassSortParams.html",[0,0.241,4831,6.113]],["body/classes/ClassSortParams.html",[0,0.4,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.451,30,0.001,32,0.143,33,0.529,95,0.147,101,0.012,103,0.001,104,0.001,112,0.908,129,2.762,130,2.524,159,0.954,190,2.074,200,2.854,201,4.497,202,2.141,231,1.996,298,4.05,300,4.434,436,3.418,770,8.282,790,6.271,886,2.953,899,4.262,3329,9.656,4702,8.638,4704,7.847,4831,10.155,4832,7.576,4833,10.986,4834,13.523,4835,9.326,4836,9.326,4837,7.847,4838,8.185,4839,9.326]],["title/classes/ClassSourceOptions.html",[0,0.241,4622,5.346]],["body/classes/ClassSourceOptions.html",[0,0.328,2,1.001,3,0.018,4,0.025,5,0.009,7,0.132,27,0.494,29,0.724,30,0.001,31,0.533,32,0.145,33,0.433,47,0.859,101,0.015,103,0.001,104,0.001,112,0.917,113,5.035,125,2.258,148,0.932,159,0.969,232,3.163,433,1.165,435,4.668,735,5.29,1771,7.976,4622,8.972,4693,10.155,4840,12.253,4841,7.702,4842,12.144,4843,11.688,4844,9.48,4845,8.781,4846,8.781]],["title/classes/ClassSourceOptionsEntity.html",[0,0.241,4647,5.49]],["body/classes/ClassSourceOptionsEntity.html",[0,0.326,2,0.994,3,0.017,4,0.024,5,0.008,7,0.131,27,0.454,29,0.719,30,0.001,31,0.529,32,0.144,33,0.577,47,0.928,95,0.105,96,2.458,101,0.015,103,0.001,104,0.001,112,0.913,125,2.242,159,0.963,190,1.687,195,2.557,196,3.123,211,5.192,223,3.627,224,2.727,232,3.149,433,1.156,435,3.234,2712,5.904,4647,9.174,4693,10.13,4847,11.701,4848,7.647,4849,11.582,4850,10.779,4851,10.779,4852,8.719]],["title/interfaces/ClassSourceOptionsEntityProps.html",[159,0.712,4849,6.113]],["body/interfaces/ClassSourceOptionsEntityProps.html",[0,0.342,3,0.018,4,0.022,5,0.009,7,0.138,30,0.001,32,0.122,33,0.548,47,0.986,95,0.11,96,2.578,101,0.015,103,0.001,104,0.001,112,0.94,125,2.353,159,1.01,161,2.353,195,2.17,196,3.277,223,3.735,224,2.861,232,2.673,2712,6.08,4647,7.785,4693,10.551,4847,9.148,4848,8.024,4849,11.324,4851,11.101,4852,9.148]],["title/interfaces/ClassSourceOptionsProps.html",[159,0.712,4842,6.113]],["body/interfaces/ClassSourceOptionsProps.html",[0,0.349,3,0.019,4,0.022,5,0.009,7,0.14,30,0.001,32,0.125,33,0.554,47,0.993,101,0.016,103,0.001,104,0.001,112,0.951,113,4.003,125,2.4,148,0.99,159,1.03,161,2.4,232,2.726,435,4.167,1771,8.477,4622,7.734,4693,10.61,4840,9.332,4841,8.185,4842,11.855,4846,9.332]],["title/injectables/ClassesRepo.html",[589,0.926,4807,5.86]],["body/injectables/ClassesRepo.html",[0,0.473,2,1.133,3,0.013,4,0.013,5,0.006,7,0.094,8,1.068,26,2.617,27,0.452,29,0.885,30,0.001,31,0.651,32,0.143,33,0.529,34,1.598,35,1.231,36,2.661,39,1.871,47,0.495,49,2.539,62,4.023,95,0.144,96,1.76,97,2.72,99,1.358,101,0.009,103,0,104,0,125,1.606,135,1.713,148,0.919,153,1.968,205,1.374,228,1.211,277,0.964,317,2.892,400,1.977,433,0.828,579,1.925,589,1.243,591,1.599,657,2.65,675,3.442,773,6.196,1472,3.748,1883,2.531,2446,6.294,2796,5.004,3644,4.297,3649,5.328,4588,3.202,4589,4.759,4638,8.927,4753,5.917,4768,4.064,4807,7.865,4811,7.369,4817,7.595,4853,6.742,4854,9.348,4855,9.348,4856,6.742,4857,9.348,4858,6.742,4859,6.742,4860,9.348,4861,6.742,4862,4.469,4863,4.534,4864,10.731,4865,5.477,4866,6.494,4867,9.348,4868,6.742,4869,6.742,4870,6.245,4871,6.245,4872,6.742,4873,6.742,4874,6.742,4875,6.742,4876,6.742,4877,6.742,4878,6.742,4879,6.742,4880,6.742,4881,6.742,4882,9.348,4883,6.742,4884,6.742,4885,6.742]],["title/interfaces/CleanOptions.html",[159,0.712,4886,5.658]],["body/interfaces/CleanOptions.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.066,10,1.908,30,0.001,32,0.059,33,0.331,36,2.448,47,0.532,52,3.674,53,3.483,55,2.347,70,4.453,72,3.325,78,8.986,95,0.109,101,0.006,103,0,104,0,112,0.568,122,0.985,125,1.725,129,3.13,135,1.375,145,2.718,148,0.863,153,1.171,157,2.937,159,0.898,161,1.131,171,3.193,194,4.153,197,3.337,228,1.576,230,4.8,259,1.725,290,1.127,317,2.7,365,2.109,388,3.762,413,2.892,433,0.583,467,1.382,540,3.843,579,1.356,612,3.193,618,5.663,644,2.892,648,2.99,652,1.997,657,2.798,745,6.311,756,2.888,758,5.992,892,3.645,981,2.892,985,4.2,1027,1.453,1080,1.646,1372,2.506,1619,5.403,1626,4.058,1751,5.708,1900,3.105,1928,4.279,1939,2.524,2219,2.129,2235,3.743,2447,1.985,2448,3.393,2531,2.56,2858,6.918,2864,3.858,2938,7.566,3108,5.738,3418,5.378,3803,4.734,3811,3.148,3812,8.85,3813,6.506,3814,2.78,4886,7.13,4887,2.78,4888,2.956,4889,3.996,4890,3.996,4891,7.739,4892,6.093,4893,6.578,4894,3.743,4895,3.743,4896,6.093,4897,3.996,4898,3.996,4899,8.586,4900,3.996,4901,3.996,4902,5.883,4903,5.558,4904,3.996,4905,3.064,4906,3.645,4907,3.743,4908,3.996,4909,3.996,4910,7.752,4911,3.996,4912,8.893,4913,3.483,4914,3.996,4915,8.113,4916,3.996,4917,3.064,4918,3.56,4919,5.992,4920,3.415,4921,4.869,4922,3.56,4923,3.996,4924,3.996,4925,3.996,4926,5.112,4927,8.26,4928,3.996,4929,3.996,4930,3.56,4931,3.996,4932,8.26,4933,3.996,4934,3.996,4935,3.996,4936,8.26,4937,8.26,4938,3.743,4939,6.195,4940,3.996,4941,3.996,4942,3.996,4943,3.483,4944,3.858,4945,5.311,4946,3.743,4947,3.996,4948,3.996,4949,3.996,4950,3.996,4951,3.996,4952,5.311,4953,3.148,4954,3.743,4955,3.242,4956,3.645,4957,3.996,4958,3.996,4959,3.996,4960,3.996,4961,3.996,4962,3.996,4963,3.996,4964,3.996,4965,3.996,4966,3.996,4967,3.743,4968,3.858]],["title/injectables/CloseUserLoginMigrationUc.html",[589,0.926,4969,5.86]],["body/injectables/CloseUserLoginMigrationUc.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.133,26,2.677,27,0.386,29,0.757,30,0.001,31,0.557,32,0.123,33,0.453,35,0.843,36,2.095,39,2.039,95,0.15,99,1.48,101,0.009,103,0,104,0,122,1.523,125,1.75,135,1.563,142,2.66,148,0.974,153,1.188,180,5.539,228,2.157,290,3.134,317,2.427,433,1.218,478,2.058,579,2.098,589,1.318,591,1.743,595,2.786,610,2.897,652,2.443,657,2.956,693,3.341,1422,2.941,1780,4.428,1853,2.41,1862,7.021,1962,4.384,2680,3.374,4588,4.114,4969,8.341,4970,5.153,4971,11.22,4972,5.968,4973,8.701,4974,5.968,4975,9.48,4976,10.414,4977,11.115,4978,6.805,4979,9.914,4980,7.347,4981,5.389,4982,7.151,4983,5.791,4984,7.564,4985,5.968,4986,6.448,4987,5.968,4988,6.181,4989,8.701,4990,7.347,4991,9.182,4992,7.347,4993,7.347,4994,7.347]],["title/injectables/CollaborativeStorageAdapter.html",[589,0.926,4995,5.86]],["body/injectables/CollaborativeStorageAdapter.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,27,0.472,29,0.895,30,0.001,31,0.658,32,0.15,33,0.535,34,1.37,35,1.284,36,2.628,47,0.699,72,3.68,95,0.135,100,4.337,101,0.007,103,0,104,0,112,0.629,148,1.032,157,2.712,277,0.777,328,6.007,329,7.136,331,5.638,339,2.35,356,5.389,388,5.193,433,0.985,567,3.916,569,1.69,589,1.065,591,1.29,614,2.484,652,1.63,675,4.86,688,2.535,1027,1.664,1826,6.523,2343,5.763,2447,3.978,2448,4.922,3237,4.649,3898,6.362,4291,5.561,4995,6.743,4996,8.491,4997,10.914,4998,5.437,4999,5.878,5000,8.534,5001,10.463,5002,7.034,5003,6.511,5004,8.778,5005,6.743,5006,6.511,5007,6.511,5008,8.014,5009,6.511,5010,6.511,5011,5.437,5012,10.314,5013,8.838,5014,8.014,5015,6.511,5016,9.283,5017,5.437,5018,8.868,5019,6.511,5020,5.437,5021,8.014,5022,5.437,5023,6.511,5024,5.437,5025,8.014,5026,7.553,5027,8.28,5028,5.437,5029,6.152,5030,4.772,5031,4.286,5032,4.574,5033,4.173,5034,5.437,5035,5.437,5036,5.437,5037,5.437,5038,5.437,5039,8.014,5040,5.437,5041,5.437,5042,5.437,5043,5.437]],["title/injectables/CollaborativeStorageAdapterMapper.html",[589,0.926,5013,5.86]],["body/injectables/CollaborativeStorageAdapterMapper.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,8,1.204,27,0.314,29,0.615,30,0.001,31,0.452,32,0.1,33,0.368,35,0.924,95,0.144,100,4.879,101,0.01,103,0,104,0,148,1.036,153,1.302,157,1.864,277,1.152,331,6.003,388,5.034,589,1.401,591,1.911,711,3.402,1826,6.945,1883,3.956,3898,5.281,4291,5.588,4866,5.906,4996,7.195,5000,10.122,5003,8.561,5013,8.866,5016,8.959,5018,7.845,5026,8.959,5027,9.822,5029,8.089,5030,7.069,5031,8.307,5032,6.776,5033,6.182,5044,10.538,5045,8.054,5046,10.538,5047,10.538,5048,8.054,5049,8.561,5050,8.561,5051,10.122,5052,6.543,5053,7.069,5054,7.069,5055,7.069,5056,4.477,5057,5.791,5058,8.054,5059,8.054,5060,8.054,5061,8.054,5062,8.054]],["title/modules/CollaborativeStorageAdapterModule.html",[252,1.839,5063,6.113]],["body/modules/CollaborativeStorageAdapterModule.html",[0,0.252,3,0.013,4,0.013,5,0.007,30,0.001,47,0.535,95,0.156,101,0.009,103,0,104,0,135,0.947,252,2.948,254,2.619,255,2.78,256,2.85,257,2.84,258,2.83,259,4.056,260,4.15,265,5.979,269,3.857,270,2.8,271,2.742,276,3.857,277,1.041,675,3.717,685,5.715,1027,2.228,1054,4.114,1267,5.139,1934,9.894,1935,5.739,2219,3.263,2220,3.671,2221,3.543,3890,8.023,3898,3.648,3900,3.842,3904,6.442,4259,4.262,4995,11.75,4996,4.971,4997,6.389,5001,6.125,5012,5.914,5013,10.845,5063,12.767,5064,7.28,5065,7.28,5066,7.28,5067,7.28,5068,9.661,5069,9.455,5070,11.939,5071,11.567,5072,7.28,5073,5.588,5074,5.03,5075,6.743,5076,7.28,5077,7.28,5078,7.28,5079,9.853,5080,7.28,5081,7.28,5082,7.28]],["title/controllers/CollaborativeStorageController.html",[314,2.65,5083,6.113]],["body/controllers/CollaborativeStorageController.html",[0,0.372,3,0.013,4,0.013,5,0.006,7,0.094,8,1.072,27,0.264,29,0.517,30,0.001,31,0.381,32,0.084,33,0.31,35,0.777,36,1.983,95,0.144,101,0.009,103,0,104,0,148,0.666,153,1.517,157,3.136,190,1.215,193,2.956,202,1.556,228,1.217,274,2.821,277,0.969,290,2.755,314,2.579,316,3.261,325,5.75,331,5.602,333,6.308,337,5.775,342,6.133,345,6.745,347,4.82,349,6.186,356,7.809,360,5.393,371,4.986,379,4.759,388,5.226,389,4.43,391,7.506,392,3.528,395,3.627,398,3.654,400,1.987,402,4.177,614,3.6,652,1.378,693,3.082,1027,2.074,1080,3.252,1083,5.301,1826,5.967,2447,2.832,2448,4.396,2532,7.621,3240,3.482,3898,6.321,5001,10.259,5010,8.741,5018,8.299,5052,7.621,5083,8.233,5084,6.622,5085,9.381,5086,6.776,5087,7.395,5088,6.776,5089,11.294,5090,9.771,5091,12.193,5092,9.434,5093,6.776,5094,6.776,5095,8.233,5096,9.381,5097,6.277,5098,7.395,5099,6.776,5100,6.776,5101,9.381,5102,6.509,5103,8.233,5104,7.893,5105,6.776,5106,6.776,5107,5.947,5108,6.277,5109,6.776,5110,6.776,5111,6.776,5112,6.776,5113,6.776,5114,6.776]],["title/modules/CollaborativeStorageModule.html",[252,1.839,5115,5.86]],["body/modules/CollaborativeStorageModule.html",[0,0.266,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.01,103,0,104,0,252,3.033,254,2.769,255,2.94,256,3.014,257,3.003,258,2.992,259,4.172,260,4.269,265,6.076,269,4.005,270,2.961,271,2.9,274,4.258,276,4.005,277,1.101,279,3.192,314,2.93,675,3.931,1027,2.356,1524,10.056,1539,6.255,1856,7.466,1916,9.09,2680,3.535,2903,5.033,3036,3.608,3898,3.858,4997,6.757,5063,11.497,5083,10.083,5084,5.435,5104,11.854,5115,12.297,5116,7.699,5117,7.699,5118,7.699,5119,7.699,5120,11.022,5121,11.022,5122,11.022,5123,7.131,5124,7.131]],["title/injectables/CollaborativeStorageService.html",[589,0.926,5120,5.86]],["body/injectables/CollaborativeStorageService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,26,2.128,27,0.457,29,0.895,30,0.001,31,0.658,32,0.145,33,0.535,34,1.37,35,1.284,36,2.729,47,0.973,95,0.146,99,1.095,100,3.663,101,0.007,103,0,104,0,129,1.61,130,1.471,148,1.222,153,1.296,157,1.855,195,1.761,197,2.24,205,1.633,277,0.777,279,2.254,290,1.901,317,2.535,331,3.559,388,5.022,433,0.985,589,1.065,591,1.29,595,2.062,652,2.383,657,2.402,693,2.472,1027,1.664,1780,3.277,1826,5.397,1862,5.582,1916,8.408,1926,4.881,2447,3.978,2448,4.922,2680,2.497,2862,6.511,3418,3.61,3898,2.725,4291,9.084,4866,4.491,4995,8.838,5000,6.511,5006,6.511,5007,6.511,5009,6.511,5010,7.733,5015,6.511,5016,8.713,5018,7.378,5019,6.511,5023,6.511,5027,8.28,5031,4.286,5052,4.417,5084,8.554,5102,5.561,5120,6.743,5121,8.838,5124,5.036,5125,11.224,5126,5.036,5127,8.014,5128,5.437,5129,9.302,5130,9.518,5131,8.816,5132,5.437,5133,5.036,5134,5.437,5135,8.014,5136,8.032,5137,5.437,5138,4.29,5139,6.743,5140,5.24,5141,5.437,5142,5.437,5143,8.783,5144,10.374,5145,5.036,5146,6.152,5147,6.719,5148,7.423,5149,7.423,5150,4.574,5151,5.437,5152,5.437,5153,5.437,5154,5.437,5155,8.014,5156,5.437,5157,5.437,5158,5.437,5159,5.437,5160,5.437,5161,5.437,5162,5.437,5163,5.437,5164,5.437]],["title/interfaces/CollaborativeStorageStrategy.html",[159,0.712,5012,5.658]],["body/interfaces/CollaborativeStorageStrategy.html",[3,0.015,4,0.015,5,0.007,7,0.114,8,1.215,27,0.488,29,0.956,30,0.001,31,0.704,32,0.155,33,0.572,35,1.437,36,2.906,47,0.869,95,0.119,100,4.369,101,0.01,103,0.001,104,0.001,157,2.462,159,1.209,161,1.946,329,7.629,331,5.252,356,7.152,388,3.501,1826,5.465,2140,6.061,2842,9.851,4291,5.668,4996,8.869,5006,8.641,5007,8.641,5009,8.641,5010,8.641,5012,8.641,5015,8.641,5016,9.751,5018,7.888,5019,8.641,5023,8.641,5029,6.27,5031,6.439,5032,6.873,5051,10.177,5052,6.636,5165,8.169,5166,10.636,5167,9.335,5168,8.169,5169,8.169,5170,8.169,5171,9.851,5172,8.169]],["title/injectables/CollaborativeStorageUc.html",[589,0.926,5104,5.86]],["body/injectables/CollaborativeStorageUc.html",[0,0.233,3,0.012,4,0.012,5,0.006,7,0.094,8,1.067,27,0.474,29,0.929,30,0.001,31,0.683,32,0.151,33,0.556,35,1.328,36,2.781,47,0.925,95,0.14,101,0.009,103,0,104,0,148,1.138,153,1.51,157,1.558,228,1.677,277,0.963,290,2.215,317,2.319,331,5.143,388,4.595,433,1.147,589,1.241,591,1.597,610,3.682,652,1.899,1826,5.95,1926,5.687,2862,7.586,4291,4.67,5006,7.586,5007,7.586,5009,7.586,5015,7.586,5016,9.281,5018,7.925,5019,7.586,5023,7.586,5029,8.23,5032,5.663,5084,8.885,5089,10.725,5090,9.743,5092,9.407,5102,6.479,5104,7.856,5107,5.908,5108,6.235,5120,9.743,5122,9.743,5125,6.235,5146,7.168,5147,8.174,5148,8.649,5149,8.649,5173,12.587,5174,6.731,5175,10.721,5176,6.731,5177,10.721,5178,6.731,5179,6.731,5180,6.731,5181,6.731,5182,6.731,5183,11.579,5184,6.731,5185,9.337,5186,6.235,5187,6.235,5188,6.731,5189,8.649,5190,6.731,5191,6.731,5192,6.731,5193,6.731,5194,6.731,5195,6.731,5196,6.731]],["title/interfaces/CollectionFilePath.html",[159,0.712,5197,6.451]],["body/interfaces/CollectionFilePath.html",[0,0.092,3,0.005,4,0.017,5,0.008,7,0.037,10,1.064,27,0.103,30,0.001,31,0.439,32,0.056,33,0.269,35,0.975,36,1.918,47,0.941,55,0.914,83,1.323,95,0.127,96,0.691,97,1.068,101,0.01,103,0,104,0,112,0.354,122,0.935,125,0.631,130,0.716,135,1.751,145,1.694,146,1.808,148,1.25,153,0.953,158,2.176,159,0.271,161,0.631,195,0.991,206,0.864,228,1.25,260,0.984,276,1.037,277,0.379,317,2.157,329,1.613,339,2.661,340,1.667,356,1.78,371,1.407,374,1.959,388,3.348,403,2.303,414,2.289,415,2.571,433,0.325,478,0.742,514,1.438,571,1.048,574,4.377,579,0.756,589,0.6,611,2.452,619,1.904,623,1.731,634,3.419,651,1.343,652,2.587,657,2.963,688,1.234,695,1.904,700,2.183,701,2.183,702,2.234,734,2.484,756,2.776,788,1.808,980,2.488,985,1.536,1027,0.81,1080,0.918,1086,1.261,1087,1.222,1088,1.241,1089,1.319,1090,1.438,1091,1.755,1092,1.78,1420,2.324,1476,1.596,1582,1.904,1598,1.565,1610,7.01,1821,5.563,1842,1.21,1924,1.78,1927,3.964,1928,5.892,1995,4.324,2140,1.509,2219,1.187,2220,1.335,2221,1.289,2222,1.667,2328,1.667,2393,1.015,2446,2.451,2447,1.107,2448,2.114,2488,1.942,2492,2.087,2513,1.509,2543,2.841,2570,5.486,2912,4.772,2915,1.596,3102,5.124,3109,3.185,3237,1.536,3310,2.151,3430,1.959,3649,1.509,3817,2.99,3826,2.452,3862,3.665,4206,4.96,4208,2.452,4209,2.452,4213,7.764,4215,1.837,4217,4.179,4224,7.964,4588,0.907,4703,3.553,4832,2.151,4905,2.911,4939,5.513,5002,3.96,5102,1.837,5197,7.874,5198,2.648,5199,10.142,5200,7.764,5201,4.789,5202,1.869,5203,3.382,5204,4.324,5205,3.96,5206,1.869,5207,4.96,5208,2.452,5209,4.418,5210,4.55,5211,2.452,5212,2.648,5213,2.648,5214,7.81,5215,3.359,5216,5.895,5217,3.96,5218,8.501,5219,5.895,5220,2.087,5221,2.452,5222,4.831,5223,1.687,5224,6.962,5225,2.151,5226,2.648,5227,2.648,5228,2.452,5229,2.648,5230,4.179,5231,2.648,5232,2.648,5233,2.324,5234,4.069,5235,2.648,5236,4.512,5237,2.648,5238,5.174,5239,8.501,5240,4.512,5241,4.512,5242,2.648,5243,2.648,5244,2.648,5245,5.233,5246,2.452,5247,4.525,5248,2.648,5249,8.966,5250,2.648,5251,6.962,5252,2.648,5253,2.648,5254,2.648,5255,2.648,5256,2.452,5257,2.648,5258,2.648,5259,2.648,5260,1.667,5261,2.648,5262,2.648,5263,2.648,5264,1.869,5265,5.895,5266,3.034,5267,2.648,5268,6.962,5269,2.648,5270,2.648,5271,1.667,5272,2.648,5273,4.512,5274,4.512,5275,2.648,5276,2.648,5277,2.648,5278,1.667,5279,4.512,5280,2.648,5281,2.648,5282,2.648,5283,6.448,5284,4.512,5285,3.96,5286,4.512,5287,4.512,5288,2.648,5289,2.648,5290,2.648,5291,2.648,5292,2.648,5293,2.648,5294,2.648,5295,2.648,5296,2.648,5297,2.648,5298,2.648,5299,6.962,5300,5.858,5301,3.185,5302,2.648,5303,3.796,5304,4.96,5305,2.648,5306,4.512,5307,4.512,5308,2.648,5309,4.512,5310,2.648,5311,4.179,5312,2.648,5313,2.648,5314,2.648,5315,5.895,5316,2.648,5317,2.033,5318,2.648,5319,2.087,5320,2.452,5321,2.648,5322,2.648,5323,2.648,5324,3.309,5325,2.228,5326,2.648,5327,2.648,5328,2.648,5329,2.648,5330,2.648,5331,4.512,5332,2.648,5333,2.648,5334,2.648,5335,2.648,5336,2.648,5337,2.648,5338,2.648,5339,2.648,5340,3.665,5341,3.665,5342,2.648,5343,2.151,5344,2.648,5345,2.648,5346,2.648,5347,3.382,5348,1.985,5349,2.151,5350,2.648,5351,2.648,5352,2.648,5353,2.648,5354,2.648,5355,4.512,5356,2.648,5357,2.648,5358,5.895,5359,2.648,5360,2.648,5361,2.648,5362,2.648,5363,2.324,5364,2.648,5365,2.648,5366,3.665,5367,3.665,5368,3.665,5369,2.648,5370,5.46,5371,2.648,5372,2.452,5373,2.324,5374,2.648,5375,2.648,5376,1.985,5377,2.648,5378,3.96,5379,2.648,5380,2.648,5381,2.648,5382,2.648,5383,2.648,5384,2.648,5385,2.648,5386,2.648,5387,5.895,5388,2.648,5389,2.648,5390,2.648,5391,2.648,5392,2.648,5393,4.512,5394,3.556,5395,4.512,5396,2.648,5397,4.179,5398,4.512,5399,2.648,5400,4.179,5401,5.895,5402,2.648,5403,2.452,5404,2.324,5405,2.452,5406,2.087,5407,2.648,5408,1.904,5409,2.324,5410,2.648,5411,2.452,5412,2.033,5413,2.452,5414,2.648,5415,2.648,5416,2.648,5417,2.648,5418,2.648,5419,2.452,5420,2.452,5421,2.648]],["title/classes/Column.html",[0,0.241,2965,3.702]],["body/classes/Column.html",[0,0.228,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,27,0.525,29,0.98,30,0.001,31,0.721,32,0.165,33,0.586,35,1.501,36,1.944,47,0.887,55,1.864,59,2.047,95,0.118,101,0.014,103,0,104,0,112,0.722,113,3.655,122,2.197,134,2.333,135,0.857,148,1.042,155,3.99,158,2.432,159,0.674,189,5.662,231,1.829,317,2.293,435,3.16,436,3.866,527,2.799,532,3.373,567,2.456,569,3.751,653,3.783,657,1.506,711,2.664,735,4.163,1770,4.592,1773,6.455,1842,4.203,2051,2.788,2662,6.412,2965,6.097,3058,8.015,3061,6.493,3062,6.493,3063,6.493,3064,6.014,3065,6.493,3067,4.1,3068,5.602,3069,6.654,3071,6.28,3072,5.602,3073,6.595,3075,4.571,3076,4.924,3078,6.674,3079,4.571,3081,6.614,3083,4.571,3085,4.1,3112,5.544,3127,5.242,3155,5.543,4346,6.614,4347,4.737,4348,4.737,4349,5.543,4351,5.782,4357,4.1,4358,6.383,4359,5.193,4362,5.662,5422,6.102,5423,5.782,5424,6.102,5425,6.587,5426,6.587,5427,6.102,5428,6.102,5429,5.782,5430,6.102]],["title/classes/ColumnBoard.html",[0,0.241,2032,4.116]],["body/classes/ColumnBoard.html",[0,0.214,2,0.652,3,0.011,4,0.011,5,0.006,7,0.086,8,1.004,27,0.529,29,0.983,30,0.001,31,0.723,32,0.164,33,0.588,35,1.502,36,1.857,47,0.865,55,1.78,59,1.918,95,0.114,101,0.013,103,0,104,0,112,0.689,113,3.491,122,2.121,134,2.186,135,0.803,148,1.095,155,3.907,158,2.278,159,0.631,183,4.675,189,5.408,231,1.765,317,2.213,435,3.018,436,3.803,527,2.623,532,3.222,567,3.276,569,3.805,653,3.613,657,1.411,711,2.545,735,3.976,1770,4.461,1773,6.23,1842,4.015,2032,6.586,2051,2.612,2662,6.325,2965,4.669,3058,7.896,3061,6.202,3062,6.202,3063,6.202,3064,5.744,3065,6.202,3067,3.842,3068,5.351,3069,6.465,3071,5.999,3072,5.351,3073,6.407,3075,4.283,3076,4.703,3078,6.441,3079,4.283,3081,6.317,3083,4.283,3085,3.842,3112,5.295,3157,5.193,3659,8.802,4345,5.717,4346,4.438,4347,4.438,4348,4.438,4349,5.193,4351,5.417,4357,3.842,4358,6.096,4359,4.866,4362,5.408,5431,10.909,5432,5.717,5433,6.172,5434,5.717,5435,6.172,5436,6.172,5437,6.172,5438,6.172,5439,6.172,5440,6.172,5441,8.138,5442,5.717,5443,5.717,5444,5.717,5445,5.193,5446,5.717]],["title/injectables/ColumnBoardCopyService.html",[589,0.926,3286,5.86]],["body/injectables/ColumnBoardCopyService.html",[0,0.218,3,0.012,4,0.012,5,0.006,7,0.088,8,1.018,26,2.497,27,0.403,29,0.79,30,0.001,31,0.581,32,0.147,33,0.473,35,1.022,36,1.884,39,2.474,95,0.147,99,1.269,101,0.008,103,0,104,0,135,1.648,148,0.876,153,1.673,158,2.325,172,3.804,228,2.131,243,3.966,277,0.901,279,2.611,290,1.494,317,2.666,433,1.095,435,2.164,571,3.528,579,2.545,589,1.185,591,1.494,610,2.484,613,3.621,652,2.414,657,2.897,711,2.996,1312,2.967,1622,4.529,1829,2.699,1853,2.066,1911,7.799,2031,4.37,2032,6.113,2033,2.388,2051,5.57,2054,4.721,2472,5.372,2608,6.235,2636,3.083,2796,5.537,3071,4.3,3272,4.965,3275,8.255,3286,7.499,3305,6.763,3318,3.877,3319,3.589,3330,7.822,3362,6.409,3377,5.834,3379,5.834,3445,4.721,3446,8.699,3555,4.014,3623,10.659,3633,4.529,3634,7.822,3659,6.409,3821,5.117,3896,9.463,3900,3.324,5447,10.417,5448,8.912,5449,7.636,5450,10.344,5451,6.298,5452,8.912,5453,5.834,5454,8.912,5455,9.581,5456,6.298,5457,6.298,5458,5.528,5459,5.834,5460,6.298,5461,5.834,5462,6.298,5463,6.298,5464,6.298,5465,6.298,5466,3.621,5467,5.299,5468,6.298,5469,6.298,5470,6.298,5471,5.834,5472,6.298,5473,5.834,5474,5.117,5475,6.298,5476,6.298,5477,6.298,5478,6.298,5479,6.298,5480,6.298,5481,6.298,5482,6.298,5483,6.298,5484,5.834]],["title/classes/ColumnBoardFactory.html",[0,0.241,5485,6.451]],["body/classes/ColumnBoardFactory.html",[0,0.171,2,0.52,3,0.009,4,0.009,5,0.004,7,0.069,8,0.851,27,0.517,29,1.012,30,0.001,31,0.708,32,0.169,33,0.576,34,1.837,35,1.418,47,0.547,49,1.857,55,2.377,59,3.339,83,2.184,95,0.112,101,0.01,103,0,104,0,112,0.584,113,4.489,125,1.174,127,5.015,129,3.577,130,3.269,135,0.969,148,0.732,153,1.618,155,1.573,157,2.078,172,3.179,183,2.845,185,2.552,192,2.719,205,2.19,206,2.43,228,1.612,231,1.285,326,4.872,374,3.235,430,2.028,431,2.113,433,0.606,436,3.877,467,2.168,501,7.32,502,5.563,505,4.141,506,5.563,507,5.492,508,4.141,509,4.141,510,4.141,511,4.077,512,4.584,513,4.992,514,6.562,515,5.88,516,7.108,517,2.763,522,2.74,523,4.141,524,2.763,525,5.245,526,5.395,527,4.253,528,5.077,529,4.109,530,2.74,531,2.584,532,4.144,533,2.62,534,2.584,535,2.74,536,2.763,537,4.914,538,2.74,539,7.006,540,4.008,541,6.716,542,2.763,543,4.37,544,2.74,545,2.763,546,2.74,547,2.763,548,2.74,549,3.068,550,2.886,551,2.74,552,6.184,553,2.763,554,2.74,555,4.141,556,3.779,557,4.141,558,2.763,559,2.658,560,2.62,561,2.22,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,1.838,568,2.74,569,1.532,570,2.763,571,2.949,572,2.74,573,2.763,574,2.763,576,2.913,577,2.942,1853,1.617,2031,3.421,2032,2.913,2051,2.086,2054,3.695,2965,2.62,3066,3.421,3324,4.148,4510,4.586,5445,4.148,5485,8.317,5486,7.449,5487,4.93,5488,10.007,5489,4.93,5490,4.93,5491,4.93]],["title/entities/ColumnBoardNode.html",[205,1.419,3497,5.346]],["body/entities/ColumnBoardNode.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,27,0.415,30,0.001,32,0.155,34,1.397,49,4.454,95,0.148,96,2.133,101,0.014,103,0.001,104,0.001,112,0.834,134,2.893,135,1.063,148,1.045,153,1.321,159,0.835,183,4.784,190,1.906,205,2.167,206,2.665,223,3.685,224,2.366,231,1.835,232,2.21,457,4.541,574,4.578,1770,4.257,2031,8.206,2051,5.005,2109,3.579,2662,5.063,2715,4.616,2942,4.933,3324,6.873,3467,5.693,3477,6.347,3497,8.164,3549,4.975,3611,5.577,3659,8.504,3692,9.608,3694,10.38,3920,6.27,3922,6.477,3942,5.028,4448,5.144,4450,5.144,5492,10.38,5493,7.972,5494,8.169,5495,6.285,5496,8.169,5497,9.851,5498,9.335,5499,9.851,5500,7.566,5501,6.873,5502,7.566,5503,7.566,5504,7.566]],["title/interfaces/ColumnBoardNodeProps.html",[159,0.712,5498,6.113]],["body/interfaces/ColumnBoardNodeProps.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.149,34,1.447,49,4.098,95,0.15,96,2.209,101,0.014,103,0.001,104,0.001,112,0.853,134,2.996,135,1.101,148,1.069,153,1.368,159,0.865,161,2.015,183,5.134,205,2.217,223,3.748,224,2.451,231,2.075,232,2.29,457,4.704,574,4.742,1770,4.356,2031,7.55,2051,3.581,2109,3.707,2662,5.18,2715,4.781,2942,5.047,3324,7.119,3467,5.824,3477,6.493,3497,6.495,3549,5.153,3611,5.777,3659,9.444,3692,6.874,3694,7.426,3920,6.495,3922,7.325,3942,5.209,4448,5.328,4450,5.328,5492,7.426,5495,5,5497,10.078,5498,10.556,5499,10.078,5500,7.837,5501,7.119,5502,7.837,5503,7.837,5504,7.837]],["title/interfaces/ColumnBoardProps.html",[159,0.712,5445,5.86]],["body/interfaces/ColumnBoardProps.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,30,0.001,32,0.148,36,1.766,47,0.961,95,0.133,101,0.015,103,0.001,104,0.001,112,0.847,122,1.732,134,2.959,135,1.087,148,1.242,155,4.277,158,3.084,159,0.854,161,1.99,183,5.117,231,2.063,317,1.808,527,3.551,567,4.024,569,2.597,653,4.439,657,1.911,1770,3.345,1842,4.932,2032,7.065,2051,3.536,2662,5.138,2965,5.736,3058,6.505,3068,5.089,3069,6.26,3072,5.089,3073,6.205,3081,6.008,3112,7.206,3157,7.03,3659,9.634,4357,5.201,4358,7.489,4359,6.587,4362,6.644,5431,7.739,5432,7.739,5441,9.997,5442,7.739,5443,7.739,5444,7.739,5445,9.081,5446,7.739]],["title/injectables/ColumnBoardService.html",[589,0.926,2020,5.221]],["body/injectables/ColumnBoardService.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,8,0.745,10,2.621,12,2.952,26,2.437,27,0.469,29,0.918,30,0.001,31,0.675,32,0.149,33,0.549,34,1.698,35,1.347,36,2.704,47,0.916,49,1.563,83,3.349,95,0.127,99,0.836,101,0.005,103,0,104,0,129,1.932,130,1.123,135,1.749,148,1.084,153,2.13,155,3.913,158,1.532,183,3.078,228,1.447,277,0.593,317,2.966,430,3.757,431,3.916,433,0.801,574,2.326,579,1.185,589,0.867,591,0.984,615,3.973,652,2.144,653,1.707,657,2.522,734,2.749,756,1.655,1041,2.834,1472,2.307,1842,1.896,1853,1.362,2020,4.89,2032,7.562,2049,2.662,2051,4.834,2219,1.86,2220,2.093,2221,2.02,2370,2.326,2636,2.031,2662,4.728,2678,2.93,2912,3.123,2965,4.284,3066,6.339,3127,4.593,3146,6.113,3204,3.844,3445,3.111,3446,7.443,3456,5.489,3457,3.844,3458,3.844,3459,6.042,3461,7.466,3462,3.844,3578,2.678,3640,6.042,3658,6.042,3659,8.647,3725,8.267,3821,5.3,3894,8.96,4030,3.642,4259,2.429,4481,5.725,4485,2.161,4503,3.372,4510,5.624,4511,3.844,4862,2.751,4863,2.791,5447,11.356,5461,3.844,5484,3.844,5505,4.15,5506,6.523,5507,6.523,5508,6.523,5509,6.523,5510,4.15,5511,6.523,5512,4.15,5513,6.523,5514,4.15,5515,6.523,5516,4.15,5517,6.042,5518,6.523,5519,4.15,5520,6.523,5521,4.15,5522,6.523,5523,4.15,5524,4.15,5525,6.523,5526,4.15,5527,4.15,5528,6.523,5529,4.15,5530,4.15,5531,4.15,5532,4.15,5533,4.15,5534,6.523,5535,4.15,5536,6.523,5537,4.15,5538,4.15,5539,4.15,5540,4.15,5541,4.15,5542,4.15,5543,4.15,5544,4.15,5545,4.15,5546,9.136,5547,8.06,5548,4.15,5549,4.15,5550,4.15,5551,4.15,5552,6.523,5553,4.15,5554,4.15,5555,4.15,5556,4.15,5557,4.15,5558,4.15,5559,4.15,5560,4.15,5561,4.15,5562,4.15,5563,4.15,5564,4.15,5565,4.15,5566,6.523,5567,4.15,5568,4.15,5569,6.523,5570,6.523,5571,4.15,5572,4.15,5573,4.15,5574,4.15,5575,4.15,5576,4.15,5577,4.15,5578,4.15,5579,4.15,5580,4.15,5581,4.15,5582,6.523,5583,6.523,5584,4.15,5585,6.523,5586,6.523,5587,4.15,5588,4.15,5589,4.15,5590,6.523,5591,4.15,5592,3.642,5593,4.15,5594,4.15,5595,4.15,5596,4.15,5597,3.844]],["title/entities/ColumnBoardTarget.html",[205,1.419,2966,5.008]],["body/entities/ColumnBoardTarget.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,26,2.362,27,0.454,30,0.001,32,0.144,47,0.856,49,4.39,95,0.143,96,2.069,99,1.597,101,0.013,103,0,104,0,112,0.818,129,2.347,130,2.145,148,1.025,153,1.282,155,3.952,158,2.926,190,2.089,195,1.742,197,3.257,205,2.125,206,2.586,223,4.116,224,2.296,225,3.996,226,3.605,231,1.368,232,2.145,233,2.457,527,3.369,569,3.241,574,4.442,595,3.006,653,3.26,1237,2.296,1842,4.765,2032,6.163,2051,5.24,2939,9.761,2942,3.677,2955,6.73,2966,8.904,3044,8.005,3045,7.725,3056,3.815,3057,9.659,3932,5.115,5493,5.942,5598,11.469,5599,7.927,5600,10.795,5601,7.927,5602,7.927,5603,7.927,5604,10.429,5605,7.927,5606,7.927,5607,5.052,5608,5.182,5609,7.927,5610,7.927]],["title/injectables/ColumnBoardTargetService.html",[589,0.926,5611,5.86]],["body/injectables/ColumnBoardTargetService.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.131,26,2.676,27,0.437,29,0.856,30,0.001,31,0.63,32,0.139,33,0.512,34,1.693,35,1.135,36,2.537,95,0.144,96,2.585,97,2.958,99,1.477,101,0.009,103,0,104,0,135,1.631,148,1.102,153,1.186,155,3.578,158,2.707,224,2.124,228,1.778,277,1.049,317,2.794,400,2.15,433,0.901,478,2.054,589,1.316,591,1.74,652,2.441,657,2.745,1933,5.177,2020,9.682,2051,5.08,2446,6.52,2479,5.851,2966,7.12,3011,5.485,3044,5.629,3649,6.389,3687,6.792,3707,5.497,4175,6.792,5600,6.792,5611,8.331,5612,12.003,5613,7.333,5614,9.901,5615,9.901,5616,7.333,5617,9.901,5618,7.333,5619,10.383,5620,9.901,5621,7.333,5622,11.21,5623,7.333,5624,7.333,5625,9.901,5626,7.333,5627,7.333,5628,7.333,5629,7.333,5630,7.333,5631,7.333,5632,7.333]],["title/controllers/ColumnController.html",[314,2.65,3031,6.113]],["body/controllers/ColumnController.html",[0,0.168,3,0.009,4,0.009,5,0.004,7,0.068,8,0.843,10,3.579,27,0.387,29,0.759,30,0.001,31,0.558,32,0.177,33,0.454,35,1.14,36,2.543,59,1.512,95,0.134,100,1.696,101,0.006,103,0,104,0,135,1.159,148,0.478,153,1.193,155,2.354,190,1.781,194,1.911,197,2.061,202,1.117,228,1.324,274,2.025,277,0.696,314,1.851,316,2.341,317,2.799,325,6.482,337,7.406,342,7.865,345,8.651,349,6.869,379,5.042,388,4.26,389,3.18,390,6.253,391,8.334,392,2.532,393,2.409,395,2.603,398,2.622,400,1.426,401,5.57,402,4.837,652,0.989,657,2.273,675,2.483,734,3.108,871,2.713,1351,7.183,2681,6.374,2954,5.677,2965,5.677,3024,7.235,3026,7.235,3031,6.472,3036,2.279,3127,5.076,3212,7.146,3214,5.527,3216,7.45,3217,7.45,3220,7.865,3222,7.021,3235,8.862,3236,8.074,3237,4.277,3240,2.499,3241,3.271,3242,2.662,3249,3.951,3259,6.533,3260,6.676,3263,4.269,3563,3.646,3612,7.164,3728,5.302,4138,8.249,4401,3.139,4408,4.092,4415,4.505,4420,4.269,4444,5.991,4484,6.204,5633,4.864,5634,8.249,5635,6.83,5636,8.249,5637,4.864,5638,11.489,5639,10.812,5640,9.938,5641,4.864,5642,4.505,5643,4.864,5644,4.864,5645,4.864,5646,4.864,5647,4.864,5648,4.864,5649,8.723,5650,4.864,5651,4.864,5652,4.864,5653,4.864,5654,4.864,5655,6.472,5656,4.864,5657,4.864,5658,4.864,5659,4.864,5660,4.864,5661,9.938,5662,4.864,5663,4.864,5664,4.864,5665,4.864,5666,4.864,5667,4.864,5668,4.864,5669,4.864]],["title/entities/ColumnNode.html",[205,1.419,3494,5.658]],["body/entities/ColumnNode.html",[0,0.335,3,0.018,4,0.018,5,0.009,30,0.001,32,0.12,95,0.152,96,2.529,101,0.012,103,0.001,104,0.001,134,3.43,135,1.26,148,0.952,205,2.414,206,3.16,224,2.806,231,1.671,232,2.621,457,5.385,1770,5.121,2109,4.243,2662,5.638,2715,5.473,3467,6.339,3477,7.067,3494,9.622,3549,5.899,3562,10.97,3611,6.613,3920,7.435,3922,7.213,3942,5.962,4448,6.099,4450,6.099,5492,8.501,5670,9.686]],["title/interfaces/ColumnProps.html",[159,0.712,5429,6.113]],["body/interfaces/ColumnProps.html",[0,0.305,3,0.016,4,0.016,5,0.008,7,0.123,30,0.001,32,0.138,36,1.863,47,0.977,95,0.137,101,0.016,103,0.001,104,0.001,112,0.876,122,1.827,134,3.121,135,1.147,148,1.205,155,4.337,158,3.254,159,0.901,161,2.1,231,2.115,317,1.907,527,3.746,567,3.286,569,2.739,653,4.593,657,2.016,1770,3.528,1842,5.103,2051,3.73,2662,5.317,2965,6.516,3058,6.731,3068,5.368,3069,6.478,3072,5.368,3073,6.42,3081,6.338,3112,7.389,3127,6.365,3155,7.416,4357,5.486,4358,7.749,4359,6.948,4362,6.875,5422,8.164,5427,8.164,5428,8.164,5429,9.802,5430,8.164]],["title/classes/ColumnResponse.html",[0,0.241,3244,5.658]],["body/classes/ColumnResponse.html",[0,0.289,2,0.882,3,0.015,4,0.015,5,0.008,7,0.116,27,0.51,29,0.638,30,0.001,31,0.469,32,0.166,33,0.546,34,2.237,47,0.929,95,0.141,101,0.011,103,0.001,104,0.001,112,0.847,125,1.99,155,4.176,190,2.265,202,1.918,296,3.506,298,3.628,304,4.138,433,1.326,458,3.332,821,4.266,866,4.162,2926,7.588,3051,5.898,3054,6.718,3056,4.021,3127,4.762,3196,5.463,3197,5.777,3198,5.777,3244,10.628,3571,10.043,4019,6.873,4023,5.463,4025,5.463,4520,10.632,5671,8.356,5672,8.356,5673,8.356,5674,8.356,5675,8.356,5676,8.356,5677,8.356,5678,8.356]],["title/classes/ColumnResponseMapper.html",[0,0.241,3248,5.86]],["body/classes/ColumnResponseMapper.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.342,29,0.67,30,0.001,31,0.493,32,0.138,33,0.401,34,1.501,35,1.006,95,0.136,100,3.06,101,0.011,103,0.001,104,0.001,135,1.142,141,4.773,148,1.095,153,2.081,155,2.801,277,1.255,430,3.609,467,3.561,571,3.474,579,2.505,653,3.609,829,5.186,830,6.191,835,6.736,1368,4.959,1853,2.879,2099,6.578,2472,5.289,2926,5.09,2965,7.059,3078,5.526,3127,6.973,3244,10.455,3248,9.371,3362,6.31,3571,6.736,3578,5.663,4019,6.403,4034,7.702,4035,6.195,4472,7.702,4474,7.384,4493,6.918,4520,9.371,5679,11.137,5680,11.137,5681,8.128,5682,7.702,5683,8.776,5684,8.776,5685,8.776,5686,8.776,5687,8.776]],["title/injectables/ColumnService.html",[589,0.926,3892,5.658]],["body/injectables/ColumnService.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,10,3.696,12,4.163,26,2.324,27,0.487,29,0.954,30,0.001,31,0.702,32,0.155,33,0.571,34,1.126,35,1.384,36,2.847,47,0.779,49,2.481,55,2.148,59,2.047,83,2.697,95,0.139,99,1.327,101,0.008,103,0,104,0,135,1.379,148,0.904,153,1.855,155,3.852,228,1.652,277,0.942,317,3.031,400,1.932,430,2.709,431,2.823,433,0.809,574,3.692,589,1.223,591,1.563,652,1.34,657,2.859,734,3.876,1853,2.161,2032,7.582,2051,2.788,2636,3.224,2965,7.548,3066,4.571,3445,4.938,3446,8.825,3668,5.82,3725,9.617,3728,6.614,3734,8.806,3738,5.543,3892,7.473,4149,7.739,4169,10.626,4481,8.073,4483,8.073,4503,5.352,4510,4.055,5682,5.782,5688,6.587,5689,6.587,5690,6.587,5691,9.198,5692,6.587,5693,9.198,5694,6.587,5695,9.198,5696,6.587,5697,9.198,5698,6.587,5699,6.587,5700,6.587,5701,6.587,5702,6.587,5703,6.587,5704,6.587]],["title/injectables/ColumnUc.html",[589,0.926,3026,5.658]],["body/injectables/ColumnUc.html",[0,0.176,3,0.009,4,0.009,5,0.005,7,0.071,8,0.873,26,2.917,27,0.476,29,0.932,30,0.001,31,0.686,32,0.151,33,0.558,35,1.361,36,2.686,39,3.582,47,0.673,55,1.857,59,2.375,95,0.132,99,1.027,101,0.007,103,0,104,0,113,4.849,135,1.489,148,0.501,155,3.48,228,1.958,231,1.318,277,0.729,317,2.968,433,0.939,436,2.707,589,1.016,591,1.209,610,2.011,652,1.864,657,3.051,688,2.377,1027,1.56,1197,6.779,1792,7.062,1793,3.379,1853,1.673,1862,6.307,1936,3.429,1968,5.604,2447,3.83,2448,4.769,2662,5.449,2663,8.785,2665,6.023,2666,6.023,2667,3.666,2668,8.468,2670,3.914,2671,5.604,2672,5.494,2674,4.019,2675,6.015,2677,4.019,2678,5.394,2680,2.341,2694,8.369,2965,6.082,3026,6.207,3127,6.213,3453,3.822,3734,8.369,3891,9.354,3892,9.641,4149,10.998,4154,4.142,4155,4.142,4156,4.142,4159,4.142,4160,4.142,4162,7.318,4168,8.488,4370,8.043,4434,3.914,4484,8.563,4485,5.299,4493,8.023,4497,8.488,4560,4.723,5634,8.488,5635,8.488,5636,8.488,5705,5.099,5706,5.099,5707,7.641,5708,5.099,5709,7.641,5710,5.099,5711,7.641,5712,10.178,5713,5.099,5714,7.641,5715,5.099,5716,5.099,5717,5.099,5718,5.099,5719,5.099,5720,5.099,5721,5.099]],["title/classes/ColumnUrlParams.html",[0,0.241,5638,6.113]],["body/classes/ColumnUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2965,6.417,4149,10.915,4197,6.09,5638,10.598,5722,9.999,5723,9.999]],["title/entities/ColumnboardBoardElement.html",[205,1.419,2964,5.346]],["body/entities/ColumnboardBoardElement.html",[0,0.332,3,0.018,4,0.018,5,0.009,7,0.134,27,0.374,30,0.001,32,0.119,95,0.142,96,2.505,101,0.012,103,0.001,104,0.001,112,0.924,190,1.72,205,2.399,206,3.13,224,2.779,231,1.655,232,2.596,457,5.333,2051,5.391,2715,5.421,2939,9.281,2961,8.311,2963,8.072,2964,9.038,2965,5.098,2966,9.552,2967,8.42,3011,6.07,3325,7.364,3359,9.906,5598,10.906,5724,9.593,5725,11.774,5726,9.593,5727,4.472,5728,8.42]],["title/interfaces/CommonCartridgeConfig.html",[159,0.712,5729,6.113]],["body/interfaces/CommonCartridgeConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,101,0.014,103,0.001,104,0.001,112,0.989,122,2.773,159,1.099,161,2.56,5729,11.063,5730,7.027,5731,7.027,5732,10.749,5733,12.78]],["title/interfaces/CommonCartridgeElement.html",[159,0.712,5734,4.616]],["body/interfaces/CommonCartridgeElement.html",[3,0.02,4,0.02,5,0.01,7,0.148,8,1.429,27,0.413,30,0.001,35,1.216,101,0.014,103,0.001,104,0.001,159,1.085,161,2.527,1078,5.48,1211,8.865,5730,8.177,5731,8.177,5734,8.29,5735,7.876,5736,10.607,5737,10.607]],["title/injectables/CommonCartridgeExportService.html",[589,0.926,5738,5.86]],["body/injectables/CommonCartridgeExportService.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,8,0.747,26,2.647,27,0.43,29,0.843,30,0.001,31,0.62,32,0.157,33,0.504,35,1.211,36,2.231,39,3.064,47,0.864,95,0.131,99,0.839,101,0.005,103,0,104,0,110,3.458,125,1.924,135,1.623,141,2.803,148,1.124,153,0.673,155,3.754,228,1.45,277,0.595,317,2.544,388,1.784,417,3.665,433,0.803,478,1.166,533,3.475,589,0.869,591,0.988,641,3.727,652,2.7,657,2.274,1396,6.812,1821,3.097,2017,3.654,2018,6.997,2027,5.891,2033,4.46,2047,3.12,2048,2.993,2203,6.503,2393,3.507,2959,4.848,3431,4.22,4235,4.538,4739,4.22,4823,3.054,5049,5.313,5245,4.026,5735,7.406,5738,5.502,5739,11.435,5740,4.163,5741,8.076,5742,8.076,5743,5.739,5744,8.076,5745,6.539,5746,8.076,5747,7.539,5748,8.276,5749,4.163,5750,4.163,5751,9.014,5752,7.219,5753,9.066,5754,4.163,5755,4.163,5756,4.163,5757,6.057,5758,4.163,5759,4.163,5760,6.35,5761,4.163,5762,4.026,5763,6.2,5764,6.539,5765,4.163,5766,6.539,5767,4.163,5768,4.163,5769,7.088,5770,3.654,5771,3.654,5772,2.993,5773,4.163,5774,3.856,5775,3.382,5776,3.828,5777,6.057,5778,4.163,5779,4.163,5780,4.163,5781,3.282,5782,4.163,5783,3.282,5784,4.163,5785,4.163,5786,4.163,5787,4.163,5788,2.373,5789,4.163,5790,4.163,5791,5.313,5792,6.539,5793,4.163,5794,3.382,5795,4.22,5796,4.163,5797,5.313,5798,4.163,5799,4.163,5800,4.819,5801,4.163,5802,6.539,5803,6.539,5804,3.856,5805,2.722,5806,2.842,5807,9.946,5808,6.539,5809,6.795,5810,6.539,5811,6.057,5812,8.076,5813,2.993,5814,5.739,5815,6.057,5816,6.057,5817,4.797,5818,4.163,5819,2.993,5820,4.163,5821,5.502,5822,5.739,5823,5.739,5824,2.993,5825,6.539,5826,6.539,5827,4.163,5828,3.856,5829,4.163,5830,4.163,5831,4.163,5832,4.163,5833,6.539,5834,4.163,5835,6.539,5836,4.163,5837,4.163,5838,3.654,5839,4.163,5840,4.163,5841,4.163]],["title/interfaces/CommonCartridgeFile.html",[159,0.712,5842,5.49]],["body/interfaces/CommonCartridgeFile.html",[3,0.019,4,0.019,5,0.009,7,0.143,8,1.401,27,0.478,30,0.001,35,1.406,47,0.901,101,0.013,103,0.001,104,0.001,122,2.542,159,1.049,161,2.443,2393,5.207,5730,8.574,5731,8.574,5735,8.257,5842,9.664,5843,10.255,5844,11.038,5845,10.255,5846,10.255]],["title/classes/CommonCartridgeFileBuilder.html",[0,0.241,5751,5.49]],["body/classes/CommonCartridgeFileBuilder.html",[0,0.271,2,0.555,3,0.01,4,0.01,5,0.012,7,0.073,8,0.893,27,0.48,29,0.713,30,0.001,31,0.524,32,0.128,33,0.426,35,1.07,36,1.973,47,0.759,95,0.134,101,0.013,103,0,104,0,112,0.613,129,3.06,130,2.797,135,1.506,148,1.138,153,2.17,155,2.496,159,0.8,228,2.446,317,2.019,400,1.542,433,0.961,435,3.207,507,4.906,540,2.594,652,2.751,1211,3.394,1237,2.704,1396,5.046,1835,5.31,2049,3.809,2203,6.757,3521,5.046,5730,8.228,5731,8.228,5734,6.187,5735,8.45,5751,6.164,5752,4.044,5753,5.426,5763,9.202,5776,6.466,5781,6.164,5783,6.164,5791,6.352,5795,7.47,5797,4.272,5806,5.339,5847,4.425,5848,9.405,5849,8.707,5850,7.933,5851,8.696,5852,7.242,5853,7.242,5854,4.272,5855,8.696,5856,7.819,5857,5.259,5858,5.259,5859,8.696,5860,5.259,5861,7.853,5862,9.405,5863,5.259,5864,9.739,5865,7.853,5866,5.259,5867,5.259,5868,4.272,5869,4.272,5870,4.037,5871,3.591,5872,3.781,5873,6.164,5874,6.352,5875,4.146,5876,4.146,5877,5.622,5878,6.579,5879,4.272,5880,4.425,5881,4.425,5882,4.425,5883,8.696,5884,4.425,5885,6.579,5886,4.425,5887,4.425,5888,6.579,5889,4.425,5890,4.425,5891,4.425,5892,4.425,5893,4.425,5894,4.425,5895,4.425,5896,4.425,5897,4.425,5898,4.425,5899,4.425,5900,4.272,5901,4.425,5902,4.425,5903,4.425,5904,4.425,5905,4.425,5906,4.425,5907,4.425,5908,4.425]],["title/classes/CommonCartridgeLtiResource.html",[0,0.241,5909,6.113]],["body/classes/CommonCartridgeLtiResource.html",[0,0.221,2,0.674,3,0.012,4,0.012,5,0.008,7,0.089,8,1.029,27,0.441,29,0.488,30,0.001,31,0.359,32,0.14,33,0.292,35,1.195,47,0.935,95,0.126,101,0.012,103,0,104,0,110,2.221,122,1.866,129,1.892,135,0.831,148,1.025,155,2.873,157,2.084,197,1.785,228,1.617,232,1.729,400,1.873,433,0.785,435,3.093,652,1.299,1078,3.944,1211,7.304,1237,2.608,1393,3.641,1396,5.809,2038,4.071,2203,7.4,2393,4.337,4358,4.433,5730,7.801,5731,7.801,5734,6.909,5735,8.179,5752,3.304,5753,6.247,5775,5.19,5776,6.102,5809,7.574,5821,5.375,5842,8.217,5844,9.195,5850,8.002,5870,4.904,5871,4.362,5872,4.593,5909,7.901,5910,10.039,5911,5.607,5912,10.483,5913,6.388,5914,5.917,5915,6.388,5916,6.388,5917,5.375,5918,5.917,5919,6.388,5920,6.388,5921,5.607,5922,6.388,5923,6.388,5924,6.388,5925,5.607,5926,5.607,5927,3.976,5928,5.607,5929,6.388,5930,5.19,5931,6.388,5932,7.574,5933,6.388,5934,6.388,5935,8.338,5936,6.388,5937,6.388,5938,6.388,5939,5.607,5940,9.002,5941,9.002,5942,9.002,5943,9.002,5944,9.002,5945,9.002,5946,9.002,5947,9.002,5948,9.002,5949,6.388,5950,6.388,5951,6.388,5952,6.388,5953,5.967,5954,9.002,5955,9.002,5956,9.002,5957,9.002,5958,6.388,5959,6.388,5960,6.388,5961,6.388,5962,6.388,5963,5.19,5964,5.19,5965,5.607]],["title/classes/CommonCartridgeManifestElement.html",[0,0.241,5873,5.49]],["body/classes/CommonCartridgeManifestElement.html",[0,0.239,2,0.73,3,0.013,4,0.013,5,0.006,7,0.096,8,1.087,27,0.371,29,0.528,30,0.001,31,0.389,32,0.118,33,0.316,35,0.793,47,0.508,95,0.137,101,0.012,103,0,104,0,129,2.048,131,5.553,135,0.9,148,0.935,153,2.053,228,2.104,232,1.872,433,1.169,435,3.269,652,2.383,1078,4.168,1211,7.559,1237,2.756,1393,3.942,1396,7.018,2038,4.408,2049,4.438,5730,7.111,5731,7.111,5734,8.909,5735,8.341,5753,4.799,5776,7.19,5795,7.926,5806,4.722,5821,5.819,5849,9.682,5871,4.722,5872,4.973,5873,7.5,5874,9.978,5877,4.973,5921,8.35,5925,8.35,5926,8.35,5927,5.922,5928,8.35,5963,7.73,5966,5.452,5967,11.714,5968,10.876,5969,10.85,5970,6.406,5971,6.916,5972,6.07,5973,6.07,5974,8.35,5975,6.07,5976,9.514,5977,6.916,5978,9.514,5979,9.514,5980,9.514,5981,9.514,5982,9.514,5983,6.916,5984,9.514,5985,6.916,5986,6.916,5987,6.916,5988,6.916,5989,9.514,5990,9.514,5991,9.514,5992,9.514,5993,9.514,5994,9.514,5995,6.916,5996,6.916,5997,6.916]],["title/classes/CommonCartridgeMetadataElement.html",[0,0.241,5972,6.113]],["body/classes/CommonCartridgeMetadataElement.html",[0,0.296,2,0.903,3,0.016,4,0.016,5,0.008,7,0.119,8,1.252,27,0.427,29,0.653,30,0.001,31,0.48,32,0.136,33,0.391,35,0.981,47,0.888,59,2.658,95,0.122,101,0.014,103,0.001,104,0.001,131,6.171,148,0.841,155,2.729,228,1.536,232,2.314,400,2.507,433,1.051,435,3.763,1078,4.799,1211,8.225,1237,3.173,4049,6.037,4358,5.934,5730,7.903,5731,7.903,5734,8.012,5735,8.489,5752,4.423,5753,7.601,5776,7.076,5781,6.741,5783,6.741,5871,5.839,5872,6.149,5939,7.505,5966,6.741,5969,11.806,5970,7.921,5972,9.615,5998,8.551,5999,8.551,6000,8.551,6001,8.551,6002,8.551,6003,8.551,6004,10.955,6005,8.551,6006,8.551,6007,8.551,6008,8.551,6009,8.551,6010,8.551]],["title/classes/CommonCartridgeOrganizationBuilder.html",[0,0.241,5879,5.658]],["body/classes/CommonCartridgeOrganizationBuilder.html",[0,0.292,2,0.617,3,0.011,4,0.011,5,0.011,7,0.081,8,0.965,27,0.424,29,0.645,30,0.001,31,0.474,32,0.123,33,0.386,35,0.67,36,1.785,47,0.799,95,0.138,101,0.014,103,0,104,0,135,1.563,148,1.181,153,2.123,155,2.695,159,0.864,228,2.278,232,1.58,317,1.263,400,1.712,433,1.037,435,3.407,507,3.75,540,1.938,652,2.52,735,3.821,1211,3.769,1237,2.873,1396,5.449,1835,4.339,2049,4.047,2203,7.537,3521,5.449,5730,7.537,5731,7.537,5734,6.574,5735,8.265,5751,4.604,5752,4.367,5753,5.859,5763,9.511,5776,6.748,5781,6.656,5783,6.656,5791,6.86,5795,7.753,5797,4.745,5806,7.419,5847,4.914,5848,8.828,5849,7.818,5850,8.341,5851,9.143,5855,7.105,5859,9.699,5861,7.105,5862,9.761,5864,10.306,5865,7.105,5868,4.745,5869,4.745,5870,4.483,5871,3.987,5872,4.199,5873,6.656,5874,6.86,5875,4.604,5876,4.604,5877,6.072,5878,8.345,5879,6.86,5880,4.914,5881,4.914,5882,4.914,5883,9.143,5884,4.914,5885,7.105,5886,4.914,5887,4.914,5888,7.105,5889,4.914,5890,4.914,5891,4.914,5892,4.914,5893,4.914,5894,4.914,5895,4.914,5896,4.914,5897,4.914,5898,4.914,5899,4.914,5900,4.745,5901,4.914,5902,4.914,5903,4.914,5904,4.914,5905,4.914,5906,4.914,5907,4.914,5908,4.914,6011,7.821,6012,5.84,6013,5.84,6014,5.84,6015,5.84,6016,5.84,6017,5.84]],["title/classes/CommonCartridgeOrganizationItemElement.html",[0,0.241,5875,5.49]],["body/classes/CommonCartridgeOrganizationItemElement.html",[0,0.294,2,0.897,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,27,0.425,29,0.649,30,0.001,31,0.477,32,0.135,33,0.388,35,0.974,47,0.886,95,0.134,101,0.014,103,0.001,104,0.001,148,1.072,155,3.846,228,1.526,232,2.299,400,2.491,433,1.044,435,3.748,1078,4.78,1211,8.206,1237,3.16,1396,7.777,2049,3.467,2481,6.523,3521,8.486,4358,5.896,5730,7.879,5731,7.879,5734,7.988,5735,8.281,5752,4.395,5763,8.375,5776,6.387,5777,10.106,5795,5.483,5806,8.228,5811,7.87,5862,10.331,5871,5.801,5875,8.6,5877,6.11,5935,7.87,5963,6.903,5966,6.698,6018,8.497,6019,8.497,6020,8.497,6021,8.497]],["title/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.241,5973,6.113]],["body/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.31,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,8,1.289,27,0.44,29,0.683,30,0.001,31,0.503,32,0.111,33,0.409,35,1.027,95,0.1,101,0.011,103,0.001,104,0.001,148,0.88,228,1.608,400,2.625,433,1.1,756,3.57,1078,4.941,1211,8.364,1237,3.267,1396,7.278,3521,7.278,5730,8.073,5731,8.073,5734,9.042,5735,8.162,5776,5.24,5806,8.85,5871,6.112,5966,7.056,5973,9.898,5974,10.837,6022,8.952,6023,8.291,6024,11.278,6025,8.291,6026,8.952,6027,6.437,6028,8.952,6029,8.291,6030,8.952,6031,8.952,6032,8.952]],["title/classes/CommonCartridgeResourceItemElement.html",[0,0.241,5876,5.49]],["body/classes/CommonCartridgeResourceItemElement.html",[0,0.237,2,0.724,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.477,29,0.524,30,0.001,31,0.385,32,0.134,33,0.313,35,1.242,47,0.695,95,0.145,101,0.012,103,0,104,0,112,0.742,122,1.961,148,1.064,153,1.888,158,2.531,228,1.944,232,2.559,433,0.842,435,2.356,579,1.958,652,2.202,1078,4.144,1211,7.532,1237,2.74,2203,7.631,2370,3.843,2393,4.692,3521,8.169,4726,7.108,5730,8.277,5731,8.277,5734,7.736,5735,8.708,5763,8.96,5769,8.301,5775,5.571,5776,7.411,5814,6.018,5822,6.018,5823,6.018,5842,9.201,5844,9.482,5850,9.4,5870,5.264,5871,4.682,5872,4.931,5876,7.456,5877,9.647,5909,6.018,5910,5.77,5912,8.761,5917,5.77,5918,6.352,5966,5.406,6033,9.11,6034,9.458,6035,6.857,6036,6.857,6037,6.857,6038,6.018,6039,7.684,6040,6.018,6041,8.761,6042,10.827,6043,6.857,6044,6.857,6045,6.857,6046,6.857,6047,6.857,6048,6.857,6049,6.857]],["title/classes/CommonCartridgeResourceWrapperElement.html",[0,0.241,5975,6.113]],["body/classes/CommonCartridgeResourceWrapperElement.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.455,29,0.722,30,0.001,31,0.531,32,0.117,33,0.432,35,1.085,95,0.105,101,0.012,103,0.001,104,0.001,148,0.93,228,1.698,400,2.773,433,1.162,1078,5.113,1211,8.53,1237,3.381,5730,8.276,5731,8.276,5734,9.166,5735,8.323,5776,5.536,5871,6.457,5877,9.505,5966,7.455,5974,11.11,5975,10.243,6023,8.76,6025,8.76,6050,9.458,6051,11.671,6052,9.458,6053,9.458]],["title/classes/CommonCartridgeWebContentResource.html",[0,0.241,6038,6.113]],["body/classes/CommonCartridgeWebContentResource.html",[0,0.269,2,0.822,3,0.014,4,0.014,5,0.009,7,0.108,8,1.178,27,0.479,29,0.595,30,0.001,31,0.438,32,0.152,33,0.356,35,1.325,47,0.966,95,0.129,101,0.013,103,0,104,0,122,2.137,148,1.136,155,2.486,197,2.177,228,1.399,232,2.108,400,2.284,433,0.957,435,3.541,1078,4.516,1211,7.935,1237,2.986,1396,6.652,2393,5.278,5730,8.363,5731,8.363,5734,7.658,5735,8.57,5752,4.028,5753,7.153,5769,10.793,5774,9.548,5775,6.327,5776,6.764,5809,8.673,5814,6.836,5815,9.548,5816,7.214,5817,5.713,5842,9.108,5844,9.99,5871,5.318,5872,5.6,5911,6.836,5914,7.214,5917,6.553,5963,6.327,5964,6.327,5965,6.836,6038,9.047,6039,10.391,6054,7.214,6055,7.788,6056,7.788,6057,7.788,6058,7.788]],["title/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.241,6040,6.113]],["body/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.238,2,0.725,3,0.013,4,0.013,5,0.009,7,0.096,8,1.082,27,0.455,29,0.524,30,0.001,31,0.386,32,0.145,33,0.314,35,1.243,47,0.931,95,0.13,101,0.012,103,0,104,0,110,3.292,122,1.963,129,2.034,135,0.894,148,1.148,155,3.022,197,1.92,228,1.701,232,1.859,400,2.014,433,0.844,435,3.253,652,1.397,1078,4.149,1211,7.537,1237,2.743,1393,3.915,1396,6.111,2038,4.378,2203,7.636,2370,6.867,2393,4.476,3011,3.139,4358,4.766,5730,8.011,5731,8.011,5734,7.183,5735,8.327,5752,3.553,5753,6.571,5775,5.581,5776,6.344,5809,9.118,5821,5.78,5822,6.029,5823,6.029,5842,8.543,5844,9.489,5850,8.319,5870,5.273,5871,4.69,5872,4.939,5900,7.693,5911,6.029,5917,5.78,5921,8.311,5925,8.311,5926,8.311,5927,5.894,5928,8.311,5932,5.78,5939,6.029,5963,5.581,5964,5.581,5965,6.029,6039,9.954,6040,8.311,6041,10.819,6054,6.362,6059,6.869,6060,6.869,6061,6.869,6062,10.837,6063,6.869,6064,6.869,6065,6.869,6066,6.869,6067,9.469,6068,9.469,6069,6.869,6070,9.469,6071,6.869]],["title/modules/CommonToolModule.html",[252,1.839,6072,5.221]],["body/modules/CommonToolModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.144,101,0.01,103,0,104,0,206,2.601,252,3.086,254,2.868,255,3.045,256,3.122,257,3.111,258,3.099,259,4.245,260,4.344,265,6.136,269,4.099,270,3.066,271,3.003,276,4.099,277,1.14,279,3.306,610,3.145,703,2.446,1027,2.44,1829,3.418,1831,5.285,1913,10.388,1939,4.238,2070,4.299,2553,5.021,2830,4.625,6072,10.924,6073,7.974,6074,7.974,6075,7.974,6076,7.974,6077,8.769,6078,10.872,6079,11.164,6080,10.616,6081,7.974,6082,6.478,6083,7.974,6084,7.974,6085,7.974,6086,6.709]],["title/injectables/CommonToolService.html",[589,0.926,6078,5.346]],["body/injectables/CommonToolService.html",[0,0.332,3,0.013,4,0.013,5,0.006,7,0.097,8,1.095,27,0.426,29,0.835,30,0.001,31,0.614,32,0.135,33,0.5,35,1.254,80,5.238,95,0.145,101,0.009,102,3.714,103,0,104,0,122,2.439,135,0.909,148,1.156,153,1.13,159,0.715,183,4.493,195,2.709,197,3.056,277,0.999,412,4.256,589,1.274,591,1.658,614,3.39,652,2.224,703,2.144,711,3.688,886,2.213,1829,2.995,1883,2.623,1939,3.714,1941,4.569,2005,7.057,2006,6.834,2008,5.447,2035,6.489,2698,2.267,2776,6.87,6078,7.356,6087,10.898,6088,5.678,6089,10.129,6090,9.582,6091,9.582,6092,7.554,6093,6.473,6094,6.989,6095,9.042,6096,9.582,6097,6.473,6098,9.582,6099,7.781,6100,10.935,6101,6.473,6102,6.989,6103,5.88,6104,6.989,6105,8.062,6106,5.509,6107,4.933,6108,6.989,6109,9.582,6110,8.876,6111,8.876,6112,6.989,6113,6.989,6114,6.989,6115,6.989]],["title/injectables/CommonToolValidationService.html",[589,0.926,6079,5.49]],["body/injectables/CommonToolValidationService.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.054,8,0.71,27,0.46,29,0.902,30,0.001,31,0.743,32,0.152,33,0.526,35,1.321,47,0.847,95,0.125,101,0.008,103,0,104,0,112,0.488,122,2.129,125,3.006,129,1.156,130,1.682,135,1.499,148,0.384,153,1.742,183,1.491,194,1.534,195,1.94,197,3.301,277,0.558,329,2.378,338,6.321,347,2.006,388,5.259,393,1.933,417,4.948,467,2.254,567,1.456,569,4.009,579,2.752,589,0.826,591,0.926,614,2.401,652,2.765,653,2.556,695,2.807,703,1.198,711,2.975,886,1.236,1220,2.244,1883,1.465,1919,2.709,1986,2.403,2005,4.116,2006,4.059,2008,3.857,2034,6.932,2125,2.046,2234,2.666,2345,2.378,2698,4.095,2765,8.846,2776,4.372,2791,8.549,3614,5.23,4703,2.353,6079,4.9,6087,11.167,6116,3.077,6117,7.744,6118,6.216,6119,6.216,6120,6.216,6121,6.216,6122,6.216,6123,6.216,6124,6.216,6125,6.216,6126,6.216,6127,6.216,6128,13.387,6129,3.616,6130,3.426,6131,6.216,6132,3.904,6133,6.216,6134,11.809,6135,3.616,6136,6.216,6137,12.269,6138,3.904,6139,6.216,6140,3.904,6141,6.216,6142,3.904,6143,6.216,6144,3.616,6145,6.216,6146,12.269,6147,3.904,6148,6.216,6149,3.904,6150,4.771,6151,5.455,6152,6.216,6153,5.455,6154,5.455,6155,5.455,6156,5.455,6157,5.455,6158,3.904,6159,3.904,6160,2.709,6161,3.904,6162,3.904,6163,3.904,6164,3.904,6165,5.455,6166,2.926,6167,2.997,6168,3.904,6169,3.904,6170,3.904,6171,3.904,6172,3.904,6173,3.904,6174,3.904,6175,3.904,6176,3.616,6177,3.904,6178,2.307,6179,5.05,6180,3.904,6181,6.216,6182,3.904,6183,5.455,6184,3.904,6185,3.904,6186,5.05,6187,3.904,6188,3.904,6189,3.904,6190,3.904,6191,3.904,6192,3.426,6193,3.904,6194,7.744,6195,3.904,6196,3.616,6197,6.216,6198,3.285,6199,3.285,6200,3.904,6201,3.904,6202,3.904,6203,2.488]],["title/interfaces/ComponentEtherpadProperties.html",[159,0.712,6204,5.008]],["body/interfaces/ComponentEtherpadProperties.html",[0,0.158,3,0.008,4,0.008,5,0.004,7,0.134,26,2.106,30,0.001,31,0.395,32,0.136,47,1.024,55,2.106,95,0.138,96,1.195,101,0.016,103,0,104,0,110,3.975,112,0.552,122,1.459,125,1.676,134,1.62,135,1.66,145,1.718,148,1.254,153,1.557,155,3.649,157,2.541,158,1.689,159,1.207,161,1.09,195,1.885,196,1.518,197,1.967,205,1.434,223,3.239,224,1.325,225,2.697,226,2.081,229,1.805,231,0.79,232,1.238,233,1.418,277,0.654,290,1.085,371,3.74,527,1.945,579,2.009,595,1.735,613,4.046,652,1.432,653,1.882,711,1.325,789,2.504,886,1.449,1237,1.325,1312,2.155,1821,2.167,1842,3.216,1937,2.155,2027,2.24,2033,3.942,2051,1.936,2184,1.811,2393,4.206,2831,1.832,2912,4.105,2942,3.978,2946,3.767,2950,2.544,2955,4.542,2956,2.73,2957,4.624,2959,3.938,2960,4.432,2972,4.601,3076,3.767,3668,4.351,3774,5.4,3793,6.167,3930,3.23,3931,3.23,4441,4.159,4600,2.881,4664,2.061,5266,5.767,5607,2.916,5608,2.992,5727,2.133,5760,6.681,5772,3.29,5788,2.608,5795,4.542,5800,7.223,5813,3.29,5819,3.29,5824,3.29,6204,6.167,6205,3.356,6206,2.631,6207,6.202,6208,3.077,6209,5.534,6210,3.356,6211,4.485,6212,4.968,6213,4.805,6214,6.889,6215,5.061,6216,5.061,6217,3.29,6218,5.061,6219,5.061,6220,5.061,6221,3.356,6222,5.061,6223,3.077,6224,5.061,6225,5.061,6226,7.616,6227,3.356,6228,3.356,6229,3.356,6230,4.665,6231,4.542,6232,2.881,6233,3.23,6234,3.23,6235,3.356,6236,3.356,6237,3.356,6238,2.992,6239,5.162,6240,3.033,6241,6.054,6242,3.23,6243,5.162,6244,3.356,6245,3.356,6246,3.356,6247,3.175,6248,3.356,6249,3.356,6250,5.162,6251,4.805,6252,3.356,6253,3.356,6254,7.063,6255,6.291,6256,3.29,6257,6.167,6258,3.356,6259,3.356,6260,3.356,6261,3.356,6262,3.356,6263,3.356,6264,3.356,6265,3.356,6266,3.356,6267,3.356,6268,3.356,6269,3.175,6270,4.733,6271,3.356,6272,3.356]],["title/interfaces/ComponentGeogebraProperties.html",[159,0.712,6220,5.008]],["body/interfaces/ComponentGeogebraProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.121,30,0.001,31,0.4,32,0.12,47,1.01,55,2.121,95,0.138,96,1.214,101,0.016,103,0,104,0,110,3.376,112,0.559,122,1.477,125,1.697,134,1.647,135,1.666,145,1.745,148,1.259,153,1.57,155,3.099,157,2.005,158,1.716,159,1.213,161,1.108,195,1.904,196,1.543,197,1.991,205,1.452,223,3.263,224,1.347,225,2.731,226,2.115,229,1.834,231,0.802,232,1.258,233,1.441,277,0.665,290,1.103,371,3.787,527,1.976,579,2.034,595,1.763,613,4.096,652,1.449,653,1.912,711,1.347,789,2.545,886,1.472,1237,1.347,1312,2.19,1821,2.202,1842,3.256,1937,2.19,2027,2.276,2033,3.971,2051,1.968,2184,1.841,2393,4.233,2831,1.861,2912,4.147,2942,4.018,2946,3.814,2950,2.585,2955,4.598,2956,2.775,2957,4.671,2959,3.978,2960,4.487,2972,4.659,3076,3.814,3668,4.395,3774,5.455,3793,6.229,3930,3.282,3931,3.282,4441,4.211,4600,2.928,4664,2.094,5266,5.825,5607,2.963,5608,3.04,5727,2.168,5760,6.738,5772,3.344,5788,2.65,5795,4.598,5800,7.257,5813,3.344,5819,3.344,5824,3.344,6204,5.124,6205,3.411,6206,2.673,6207,6.248,6208,3.127,6209,5.59,6210,3.411,6211,4.541,6212,5.03,6213,4.865,6214,6.94,6215,5.124,6216,5.124,6217,3.344,6218,5.124,6219,5.124,6220,6.229,6221,7.122,6222,5.124,6223,3.127,6224,5.124,6225,5.124,6226,7.664,6227,3.411,6228,3.411,6229,3.411,6230,4.723,6231,4.598,6232,2.928,6233,3.282,6234,3.282,6235,3.411,6236,3.411,6237,3.411,6238,3.04,6239,5.227,6240,3.082,6241,6.115,6242,3.282,6243,5.227,6244,3.411,6245,3.411,6246,3.411,6247,3.226,6248,3.411,6249,3.411,6250,5.227,6251,4.865,6252,3.411,6253,3.411,6254,7.122,6255,6.354,6256,3.344,6257,6.229,6258,3.411,6259,3.411,6260,3.411,6261,3.411,6262,3.411,6263,3.411,6264,3.411,6265,3.411,6266,3.411,6267,3.411,6268,3.411,6269,3.226,6270,4.791,6271,3.411,6272,3.411]],["title/interfaces/ComponentInternalProperties.html",[159,0.712,6225,5.008]],["body/interfaces/ComponentInternalProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.121,30,0.001,31,0.4,32,0.12,47,1.01,55,2.121,95,0.138,96,1.214,101,0.016,103,0,104,0,110,3.997,112,0.559,122,1.477,125,1.697,134,1.647,135,1.666,145,1.745,148,1.259,153,1.57,155,3.099,157,2.005,158,1.716,159,1.213,161,1.108,195,1.904,196,1.543,197,1.991,205,1.452,223,3.263,224,1.347,225,2.731,226,2.115,229,1.834,231,0.802,232,1.258,233,1.441,277,0.665,290,1.103,371,3.787,527,1.976,579,2.034,595,1.763,613,4.096,652,1.449,653,1.912,711,1.347,789,2.545,886,1.472,1237,1.347,1312,2.19,1821,2.202,1842,3.256,1937,2.19,2027,2.276,2033,3.971,2051,1.968,2184,1.841,2393,4.233,2831,1.861,2912,4.147,2942,4.018,2946,3.814,2950,2.585,2955,4.598,2956,2.775,2957,4.671,2959,3.978,2960,4.487,2972,4.659,3076,3.814,3668,4.395,3774,5.455,3793,6.229,3930,3.282,3931,3.282,4441,4.211,4600,2.928,4664,2.094,5266,5.825,5607,2.963,5608,3.04,5727,2.168,5760,6.738,5772,3.344,5788,2.65,5795,4.598,5800,7.257,5813,3.344,5819,3.344,5824,3.344,6204,5.124,6205,3.411,6206,2.673,6207,6.248,6208,3.127,6209,5.59,6210,3.411,6211,4.541,6212,5.03,6213,4.865,6214,6.94,6215,5.124,6216,5.124,6217,3.344,6218,5.124,6219,5.124,6220,5.124,6221,3.411,6222,5.124,6223,3.127,6224,5.124,6225,6.229,6226,7.664,6227,3.411,6228,3.411,6229,3.411,6230,4.723,6231,4.598,6232,2.928,6233,3.282,6234,3.282,6235,3.411,6236,3.411,6237,3.411,6238,3.04,6239,5.227,6240,3.082,6241,6.115,6242,3.282,6243,5.227,6244,3.411,6245,3.411,6246,3.411,6247,3.226,6248,3.411,6249,3.411,6250,5.227,6251,4.865,6252,3.411,6253,3.411,6254,7.122,6255,6.354,6256,3.344,6257,6.229,6258,3.411,6259,3.411,6260,3.411,6261,3.411,6262,3.411,6263,3.411,6264,3.411,6265,3.411,6266,3.411,6267,3.411,6268,3.411,6269,3.226,6270,4.791,6271,3.411,6272,3.411]],["title/interfaces/ComponentLernstoreProperties.html",[159,0.712,6222,5.008]],["body/interfaces/ComponentLernstoreProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.119,30,0.001,31,0.4,32,0.137,47,1,55,2.119,95,0.138,96,1.211,101,0.016,103,0,104,0,110,3.372,112,0.558,122,1.475,125,1.694,134,1.643,135,1.666,145,1.741,148,1.258,153,1.568,155,3.096,157,2.002,158,1.713,159,1.212,161,1.105,172,3.036,195,1.901,196,1.539,197,1.988,205,1.449,223,3.259,224,1.344,225,2.726,226,2.11,229,1.83,231,0.8,232,1.255,233,1.438,277,0.663,290,1.1,371,3.78,527,1.972,579,2.031,595,1.759,613,4.089,652,1.447,653,1.908,711,1.344,789,2.539,886,1.469,1237,1.344,1312,2.185,1821,2.197,1842,3.25,1937,2.185,2027,2.271,2033,3.966,2051,1.963,2184,1.836,2393,4.229,2831,1.857,2912,4.141,2942,4.012,2946,3.807,2950,2.579,2955,4.59,2956,2.768,2957,4.664,2959,3.972,2960,4.479,2972,4.65,3076,3.807,3668,4.389,3774,5.447,3793,6.22,3930,3.275,3931,3.275,4441,4.203,4600,2.921,4664,2.089,5266,5.817,5607,2.956,5608,3.033,5727,2.163,5760,6.73,5772,3.336,5788,2.644,5795,6.749,5800,7.252,5813,3.336,5819,3.336,5824,3.336,6204,5.114,6205,3.403,6206,2.667,6207,6.241,6208,3.12,6209,5.582,6210,3.403,6211,4.533,6212,5.021,6213,4.856,6214,6.932,6215,5.114,6216,5.114,6217,3.336,6218,5.114,6219,5.114,6220,5.114,6221,3.403,6222,6.22,6223,3.12,6224,5.114,6225,5.114,6226,7.657,6227,3.403,6228,3.403,6229,3.403,6230,4.715,6231,4.59,6232,2.921,6233,3.275,6234,3.275,6235,3.403,6236,3.403,6237,3.403,6238,3.033,6239,5.217,6240,3.075,6241,6.106,6242,3.275,6243,5.217,6244,3.403,6245,3.403,6246,3.403,6247,3.219,6248,3.403,6249,3.403,6250,5.217,6251,4.856,6252,3.403,6253,3.403,6254,7.114,6255,6.345,6256,3.336,6257,6.22,6258,3.403,6259,3.403,6260,3.403,6261,3.403,6262,3.403,6263,3.403,6264,3.403,6265,3.403,6266,3.403,6267,3.403,6268,3.403,6269,3.219,6270,4.783,6271,3.403,6272,3.403]],["title/interfaces/ComponentNexboardProperties.html",[159,0.712,6224,5.008]],["body/interfaces/ComponentNexboardProperties.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.134,26,2.098,30,0.001,31,0.393,32,0.141,47,1.03,55,2.098,95,0.137,96,1.185,101,0.016,103,0,104,0,110,3.963,112,0.549,122,1.45,125,1.666,134,1.608,135,1.657,145,1.704,148,1.252,153,1.551,155,3.639,157,2.532,158,1.676,159,1.204,161,1.081,195,1.875,196,1.506,197,1.955,205,1.426,223,3.227,224,1.315,225,2.681,226,2.064,229,1.79,231,0.783,232,1.228,233,1.407,277,0.649,290,1.077,371,3.718,527,1.929,579,1.997,595,1.722,613,4.021,652,1.423,653,1.867,711,1.315,789,2.484,886,1.437,1237,1.315,1312,2.138,1821,2.15,1842,3.197,1937,2.138,2027,2.222,2033,3.928,2051,4.058,2184,1.797,2393,4.193,2831,1.817,2912,4.085,2942,3.958,2946,3.744,2950,2.524,2955,4.514,2956,2.709,2957,4.601,2959,3.919,2960,4.405,2972,4.573,3076,3.744,3668,4.33,3774,5.374,3793,6.136,3930,3.205,3931,3.205,4441,4.134,4600,2.858,4664,2.045,5266,5.739,5607,2.893,5608,2.968,5727,2.116,5760,6.653,5772,3.264,5788,2.587,5795,4.514,5800,7.206,5813,3.264,5819,3.264,5824,3.264,6204,5.03,6205,3.33,6206,2.61,6207,6.18,6208,3.053,6209,5.507,6210,3.33,6211,4.458,6212,4.938,6213,4.776,6214,6.864,6215,5.03,6216,5.03,6217,3.264,6218,5.03,6219,5.03,6220,5.03,6221,3.33,6222,5.03,6223,3.053,6224,6.136,6225,5.03,6226,7.591,6227,3.33,6228,3.33,6229,3.33,6230,4.636,6231,4.514,6232,2.858,6233,3.205,6234,3.205,6235,3.33,6236,3.33,6237,3.33,6238,2.968,6239,5.131,6240,3.009,6241,6.024,6242,3.205,6243,5.131,6244,3.33,6245,3.33,6246,3.33,6247,3.15,6248,3.33,6249,3.33,6250,5.131,6251,4.776,6252,3.33,6253,3.33,6254,7.033,6255,6.26,6256,3.264,6257,6.136,6258,3.33,6259,3.33,6260,3.33,6261,3.33,6262,3.33,6263,3.33,6264,3.33,6265,3.33,6266,3.33,6267,3.33,6268,3.33,6269,3.15,6270,4.704,6271,3.33,6272,3.33]],["title/interfaces/ComponentTextProperties.html",[159,0.712,6219,5.008]],["body/interfaces/ComponentTextProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.121,30,0.001,31,0.4,32,0.12,47,1.01,55,2.121,95,0.138,96,1.214,101,0.016,103,0,104,0,110,3.376,112,0.559,122,1.477,125,1.697,134,1.647,135,1.666,145,1.745,148,1.259,153,1.57,155,3.099,157,2.005,158,1.716,159,1.213,161,1.108,195,1.904,196,1.543,197,1.991,205,1.452,223,3.263,224,1.347,225,2.731,226,2.115,229,1.834,231,0.802,232,1.258,233,1.441,277,0.665,290,1.103,371,3.787,527,1.976,579,2.034,595,1.763,613,4.096,652,1.449,653,1.912,711,1.347,789,2.545,886,1.472,1237,1.347,1312,2.19,1821,2.202,1842,3.256,1937,2.19,2027,2.276,2033,3.971,2051,1.968,2184,1.841,2393,4.233,2831,1.861,2912,5.287,2942,4.018,2946,3.814,2950,2.585,2955,4.598,2956,2.775,2957,4.671,2959,3.978,2960,4.487,2972,4.659,3076,3.814,3668,4.395,3774,5.455,3793,6.229,3930,3.282,3931,3.282,4441,4.211,4600,2.928,4664,2.094,5266,5.825,5607,2.963,5608,3.04,5727,2.168,5760,6.738,5772,3.344,5788,2.65,5795,4.598,5800,7.257,5813,3.344,5819,3.344,5824,3.344,6204,5.124,6205,3.411,6206,2.673,6207,6.248,6208,3.127,6209,5.59,6210,3.411,6211,4.541,6212,5.03,6213,4.865,6214,6.94,6215,5.124,6216,5.124,6217,3.344,6218,5.124,6219,6.229,6220,5.124,6221,3.411,6222,5.124,6223,3.127,6224,5.124,6225,5.124,6226,7.664,6227,3.411,6228,3.411,6229,3.411,6230,4.723,6231,4.598,6232,2.928,6233,3.282,6234,3.282,6235,3.411,6236,3.411,6237,3.411,6238,3.04,6239,5.227,6240,3.082,6241,6.115,6242,3.282,6243,5.227,6244,3.411,6245,3.411,6246,3.411,6247,3.226,6248,3.411,6249,3.411,6250,5.227,6251,4.865,6252,3.411,6253,3.411,6254,7.122,6255,6.354,6256,3.344,6257,6.229,6258,3.411,6259,3.411,6260,3.411,6261,3.411,6262,3.411,6263,3.411,6264,3.411,6265,3.411,6266,3.411,6267,3.411,6268,3.411,6269,3.226,6270,4.791,6271,3.411,6272,3.411]],["title/classes/ConsentRequestBody.html",[0,0.241,6273,5.86]],["body/classes/ConsentRequestBody.html",[0,0.295,2,0.625,3,0.011,4,0.011,5,0.005,7,0.082,27,0.496,30,0.001,32,0.158,33,0.634,34,1.458,47,0.887,55,2.025,95,0.111,101,0.008,103,0,104,0,112,0.669,122,1.767,145,3.2,157,2.531,164,8.195,165,4.807,167,8.77,169,9.806,170,7.877,187,6.178,190,2.282,194,5.238,195,2.196,196,4.422,197,3.974,199,4.702,200,1.811,202,1.359,231,1.471,290,2.022,296,2.861,299,3.337,300,4.19,337,3.643,342,3.869,402,2.129,403,4.352,436,3.423,567,4.076,711,1.714,890,5.82,998,2.802,1042,3.922,1080,4.312,1302,3.29,1379,4.255,1390,3.683,1470,5.6,1475,7.6,1889,6.72,2164,2.745,2345,7.351,2531,3.191,2550,5.138,2831,4.376,4918,6.39,5074,4.352,5146,6.544,5317,4.543,6178,3.497,6273,7.172,6274,10.933,6275,10.343,6276,7.172,6277,7.172,6278,6.72,6279,5.918,6280,5.918,6281,6.719,6282,5.918,6283,5.194,6284,7.482,6285,7.482,6286,7.896,6287,7.482,6288,3.465,6289,5.918,6290,5.481,6291,7.896,6292,6.253,6293,10.127,6294,7.896,6295,5.918,6296,8.618,6297,4.543,6298,5.194,6299,5.194,6300,5.194,6301,5.481,6302,6.544,6303,5.915,6304,4.436,6305,4.807,6306,4.543,6307,4.979,6308,4.807,6309,5.481,6310,4.979,6311,5.481,6312,5.481,6313,5.194,6314,4.979,6315,4.979,6316,5.481,6317,4.945,6318,6.544,6319,5.481]],["title/classes/ConsentResponse.html",[0,0.241,6320,5.658]],["body/classes/ConsentResponse.html",[0,0.349,2,0.528,3,0.009,4,0.009,5,0.004,7,0.07,27,0.518,29,0.381,30,0.001,31,0.281,32,0.164,33,0.643,34,1.723,47,1.005,70,5.483,72,3.456,77,6.974,95,0.112,101,0.006,103,0,104,0,110,2.617,112,0.59,122,1.56,125,1.793,130,2.037,157,2.808,164,7.552,171,7.638,174,5.139,180,4.868,181,9.486,182,7.946,183,3.457,185,2.578,187,7.576,190,2.359,193,4.954,194,3.959,195,2.375,196,3.768,197,3.638,200,1.529,202,1.147,290,2.694,296,3.478,299,3.945,300,5.044,358,6.114,433,0.614,868,2.405,1470,5.647,1475,6.344,1775,4.119,1842,3.439,1900,6.587,2328,4.739,2345,6.136,2531,4.881,2766,7.734,2831,4.718,2860,6.502,3633,5.412,3756,3.528,4440,4.06,4578,8.925,6314,6.332,6317,5.844,6320,9.576,6321,4.997,6322,8.386,6323,8.386,6324,7.617,6325,7.617,6326,7.617,6327,7.355,6328,7.526,6329,4.997,6330,9.969,6331,4.997,6332,7.946,6333,7.526,6334,4.997,6335,7.526,6336,6.332,6337,4.997,6338,7.617,6339,8.386,6340,4.997,6341,4.997,6342,7.526,6343,6.605,6344,4.997,6345,7.526,6346,4.997,6347,7.617,6348,4.997,6349,7.526,6350,8.843,6351,4.997,6352,4.997,6353,4.997,6354,6.971,6355,6.971,6356,4.997,6357,4.997,6358,4.386,6359,4.629,6360,4.629,6361,4.629]],["title/classes/ConsentSessionResponse.html",[0,0.241,6362,5.86]],["body/classes/ConsentSessionResponse.html",[0,0.361,2,0.837,3,0.015,4,0.015,5,0.007,7,0.11,27,0.483,29,0.605,30,0.001,31,0.655,32,0.153,33,0.615,34,1.783,47,1.055,95,0.116,101,0.01,103,0,104,0,112,0.818,125,3.292,157,2.698,164,7.817,187,7.27,190,2.089,193,4.548,200,2.426,202,1.82,296,3.24,300,3.996,433,0.974,868,5.019,1475,6.567,1495,8.38,1508,7.342,2831,4.957,4578,9.681,6330,6.957,6362,8.774,6363,12.865,6364,7.342,6365,9.187,6366,9.659,6367,12.383,6368,7.927,6369,5.258,6370,9.659,6371,7.927,6372,7.927,6373,7.927,6374,7.927,6375,7.927]],["title/modules/ConsoleWriterModule.html",[252,1.839,3887,5.346]],["body/modules/ConsoleWriterModule.html",[0,0.339,3,0.018,4,0.018,5,0.009,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.395,254,3.527,255,3.744,256,3.838,257,3.824,258,3.811,259,4.671,260,4.779,269,4.671,270,3.77,271,3.693,277,1.402,3803,9.523,3813,6.035,3887,10.839,6376,9.804,6377,9.804,6378,9.804,6379,9.081,6380,7.965,6381,9.804,6382,8.605]],["title/injectables/ConsoleWriterService.html",[589,0.926,3803,4.554]],["body/injectables/ConsoleWriterService.html",[0,0.346,3,0.024,4,0.019,5,0.009,7,0.139,8,1.38,27,0.39,29,0.763,30,0.001,31,0.562,32,0.124,33,0.457,35,1.147,47,0.953,95,0.111,101,0.013,103,0.001,104,0.001,277,1.43,569,3.753,571,3.958,589,1.605,591,2.372,1086,4.76,1087,4.615,1088,4.686,2912,5.78,3803,7.894,3813,6.155,6379,11.184,6380,9.81,6383,9.999,6384,12.075,6385,9.999,6386,9.999]],["title/classes/ContentBodyParams.html",[0,0.241,1234,5.658]],["body/classes/ContentBodyParams.html",[0,0.451,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.444,30,0.001,32,0.154,47,1.006,95,0.127,101,0.017,103,0.001,104,0.001,112,0.893,125,2.166,190,2.042,195,1.998,200,2.783,202,2.088,296,3.512,299,5.104,300,4.365,855,4.612,1195,6.158,1228,7.388,1233,9.253,1234,10.104,1235,9.253,1238,6.98,1240,7.349,1242,7.651,2531,4.903,6317,6.607,6387,7.981,6388,8.63,6389,6.31,6390,9.094,6391,9.094,6392,9.094]],["title/injectables/ContentElementFactory.html",[589,0.926,3894,5.658]],["body/injectables/ContentElementFactory.html",[0,0.194,3,0.01,4,0.01,5,0.007,7,0.078,8,0.938,27,0.477,29,0.429,30,0.001,31,0.316,32,0.14,33,0.257,34,2.027,35,1.404,49,2.117,83,3.91,95,0.145,99,1.132,101,0.007,103,0,104,0,110,1.954,129,1.664,134,1.99,135,1.543,142,2.034,148,1.203,153,2.306,155,1.794,157,1.301,277,0.804,430,4.876,431,5.081,507,3.647,574,3.149,579,1.604,589,1.091,591,1.333,614,1.742,652,2.83,1393,6.757,2030,8.67,2038,3.581,2049,5.769,2370,3.149,2698,1.823,2912,3.93,3066,7.877,3134,5.368,3137,5.442,3140,5.111,3143,5.368,3146,5.054,3149,5.17,3153,4.314,3154,8.226,3158,4.212,3159,2.543,3160,3.422,3555,3.581,3581,3.321,3583,3.321,3589,4.275,3593,2.906,3877,4.932,3894,6.671,4485,5.556,4510,7.298,5953,8.116,6393,12.552,6394,5.619,6395,10.671,6396,10.671,6397,9.884,6398,10.671,6399,10.671,6400,10.671,6401,8.211,6402,5.619,6403,5.619,6404,5.619,6405,5.619,6406,5.619,6407,5.619,6408,5.619,6409,3.538,6410,5.619,6411,3.581,6412,5.619,6413,3.538,6414,5.619,6415,3.581,6416,5.619,6417,3.581,6418,5.619,6419,3.581,6420,5.619,6421,5.619]],["title/classes/ContentElementResponseFactory.html",[0,0.241,4071,5.346]],["body/classes/ContentElementResponseFactory.html",[0,0.241,2,0.736,3,0.013,4,0.013,5,0.009,7,0.097,8,1.094,27,0.426,29,0.731,30,0.001,31,0.538,32,0.145,33,0.437,35,1.098,95,0.152,100,2.433,101,0.009,103,0,104,0,112,0.751,129,2.066,130,1.888,135,1.422,141,5.039,148,0.941,153,1.548,277,0.998,467,3.92,579,2.733,614,2.163,652,2.222,830,5.321,1853,2.289,2049,5.733,2113,6.462,2140,3.976,2370,3.91,2653,8.014,2659,7.174,2661,8.876,2662,5.597,2698,2.264,2912,3.339,3140,7.318,3146,7.237,3153,5.355,3158,5.229,3159,3.157,3160,4.249,3555,4.446,4029,8.689,4066,7.856,4067,7.856,4071,7.347,6422,11.757,6423,10.12,6424,10.925,6425,9.571,6426,9.571,6427,9.571,6428,9.571,6429,9.571,6430,9.571,6431,6.976,6432,6.976,6433,6.976,6434,6.976,6435,5.892,6436,6.976,6437,6.976,6438,5.355,6439,6.123,6440,6.123,6441,6.123,6442,6.123,6443,6.123,6444,6.123,6445,9.571,6446,6.976,6447,6.976,6448,6.976,6449,6.123,6450,6.976,6451,6.976,6452,6.976,6453,6.976]],["title/injectables/ContentElementService.html",[589,0.926,2019,5.109]],["body/injectables/ContentElementService.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.964,10,3.389,12,3.817,26,2.509,27,0.483,29,0.945,30,0.001,31,0.696,32,0.162,33,0.566,34,1.442,35,1.377,36,2.839,55,2.008,95,0.138,99,1.175,101,0.007,103,0,104,0,135,1.499,148,1.067,153,1.603,228,1.78,277,0.834,317,3.025,433,1.036,579,2.408,589,1.121,591,1.383,652,2.016,657,2.9,734,3.555,837,2.888,1853,1.913,2019,6.187,2024,6.649,2030,10.66,2049,5.273,2051,2.468,2393,4.161,2636,2.854,2662,2.776,2675,6.417,2954,3.099,3127,7.058,3237,4.893,3445,4.371,3446,8.478,3611,3.982,3641,7.813,3668,6.283,3679,5.118,3725,9.283,3728,6.065,3734,8.336,3738,4.907,3894,10.061,4483,7.403,4485,5.654,4503,4.738,4567,10.058,6449,5.118,6454,11.746,6455,5.832,6456,5.832,6457,5.832,6458,8.435,6459,5.832,6460,8.435,6461,5.832,6462,8.435,6463,5.832,6464,8.435,6465,5.832,6466,8.435,6467,7.007,6468,5.832,6469,5.832,6470,5.118,6471,5.832,6472,5.832,6473,5.832,6474,5.832,6475,5.832,6476,5.832,6477,5.832,6478,5.832,6479,5.832,6480,4.278,6481,5.832,6482,5.832,6483,5.832,6484,5.832]],["title/injectables/ContentElementUpdateVisitor.html",[589,0.926,6470,6.113]],["body/injectables/ContentElementUpdateVisitor.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.785,27,0.5,29,0.967,30,0.001,31,0.712,32,0.161,33,0.579,35,1.431,36,2.899,47,0.326,95,0.126,99,0.893,101,0.006,103,0,104,0,110,2.924,112,0.539,125,1.636,135,1.094,148,1.319,153,1.111,154,3.731,228,1.51,277,0.634,298,1.925,317,3.049,356,2.982,433,0.545,589,0.913,591,1.052,652,2.204,653,4.457,837,2.196,1237,1.284,1842,2.026,1853,1.455,1939,2.357,2032,6.054,2049,5.349,2393,3.926,2555,3.602,2662,4.508,2675,5.596,2698,2.229,2802,8.319,2965,5.445,3073,3.949,3102,2.673,3127,5.839,3134,6.698,3137,6.791,3140,6.377,3143,6.698,3146,6.307,3149,6.451,3154,4.767,3159,2.007,3162,5.78,3163,5.78,3164,5.78,3165,5.78,3166,5.78,3167,5.78,3168,5.78,3169,5.78,3171,5.78,3172,5.78,3173,5.78,3174,5.78,3175,5.78,3176,5.78,3177,5.78,3178,5.78,3179,5.78,3180,5.78,3181,5.78,3237,2.572,3348,4.107,3556,3.324,3589,2.309,3771,6.68,6226,3.077,6454,12.022,6467,6.993,6470,6.029,6485,4.434,6486,6.869,6487,6.869,6488,6.869,6489,6.869,6490,4.434,6491,4.434,6492,4.434,6493,4.434,6494,4.434,6495,4.434,6496,4.434,6497,4.434,6498,4.434,6499,4.434,6500,6.363,6501,4.434,6502,4.107,6503,3.731,6504,4.491,6505,4.491,6506,4.491,6507,4.491,6508,4.491,6509,4.491,6510,4.434,6511,4.434,6512,4.434,6513,4.107,6514,4.434,6515,6.869,6516,4.107,6517,4.434,6518,4.434,6519,3.892,6520,4.434,6521,4.107,6522,4.434,6523,4.434,6524,6.869,6525,6.869,6526,4.434,6527,8.409,6528,4.434,6529,4.434,6530,4.434,6531,4.434,6532,4.434,6533,4.107,6534,4.434,6535,4.107,6536,4.434,6537,6.869,6538,4.107,6539,4.434,6540,4.107,6541,4.434,6542,6.869,6543,4.107,6544,4.434,6545,4.434,6546,6.869,6547,4.434,6548,3.602,6549,3.892,6550,4.434,6551,4.107,6552,4.434]],["title/classes/ContentElementUrlParams.html",[0,0.241,6553,6.113]],["body/classes/ContentElementUrlParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,34,2.058,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,855,4.875,2049,4.913,4197,6.06,6553,10.566,6554,12.039,6555,9.216,6556,11.99,6557,9.216]],["title/classes/ContentFileUrlParams.html",[0,0.241,6558,6.113]],["body/classes/ContentFileUrlParams.html",[0,0.412,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.464,30,0.001,32,0.147,34,2.197,47,0.983,95,0.133,101,0.013,103,0.001,104,0.001,112,0.935,190,2.136,200,2.993,202,2.246,296,3.362,299,4.664,855,4.824,856,6.623,1195,6.362,5260,8.09,6389,6.786,6558,10.456,6559,12.848,6560,9.059,6561,8.229,6562,9.78,6563,9.78]],["title/classes/ContentMetadata.html",[0,0.241,6564,5.658]],["body/classes/ContentMetadata.html",[0,0.209,2,0.397,3,0.007,4,0.016,5,0.003,7,0.12,26,2.151,27,0.527,29,0.287,30,0.001,31,0.211,32,0.168,33,0.637,47,1.028,49,3.258,95,0.113,96,1.576,97,1.519,99,0.759,101,0.011,103,0,104,0,112,0.474,131,4.834,148,0.743,153,1.222,155,2.413,158,2.229,159,0.385,190,2.412,195,3.057,196,4.247,205,1.23,211,7.06,223,4.368,224,1.091,225,2.314,229,1.485,231,0.65,233,1.167,433,0.742,478,1.055,703,1.155,886,2.393,1195,6.726,1198,4.556,1215,2.269,1237,1.749,1937,1.773,2164,1.746,2393,3.628,2712,3.063,2942,3.506,3056,1.812,3426,2.225,3668,1.91,3771,2.225,3933,3.58,4190,2.532,4588,2.589,4654,3.187,4681,2.612,4865,3.059,5788,2.146,6564,7.692,6565,11.034,6566,3.304,6567,6.607,6568,6.635,6569,6.635,6570,6.36,6571,5.083,6572,4.308,6573,6.36,6574,5.803,6575,5.803,6576,5.666,6577,5.803,6578,4.942,6579,6.635,6580,6.635,6581,5.336,6582,6.635,6583,6.635,6584,5.666,6585,5.803,6586,6.635,6587,6.635,6588,4.342,6589,6.038,6590,3.765,6591,3.765,6592,6.635,6593,3.765,6594,6.635,6595,3.765,6596,3.765,6597,8.149,6598,3.765,6599,3.765,6600,4.262,6601,4.635,6602,3.765,6603,3.765,6604,3.765,6605,3.765,6606,3.765,6607,3.765,6608,3.765,6609,3.765,6610,3.765,6611,3.765,6612,3.765,6613,3.765,6614,3.765,6615,3.765,6616,3.765,6617,3.441,6618,2.762,6619,5.299,6620,2.89,6621,3.304,6622,2.89,6623,3.304,6624,2.707,6625,2.707,6626,3.304,6627,3.304,6628,2.658,6629,3.304,6630,2.89,6631,3.304,6632,2.89,6633,3.304,6634,2.89,6635,3.304,6636,2.89,6637,3.304,6638,3.304,6639,3.304,6640,3.304,6641,3.304,6642,2.89,6643,3.304,6644,3.304,6645,3.304,6646,3.304,6647,3.304,6648,3.304,6649,3.304,6650,3.304,6651,3.304,6652,3.304,6653,3.304,6654,3.304,6655,3.304,6656,3.304,6657,3.304,6658,3.304,6659,3.304,6660,3.304,6661,3.168,6662,3.304,6663,5.161,6664,4.905,6665,4.106,6666,4.096,6667,2.822,6668,2.03,6669,2.658,6670,3.059,6671,2.571,6672,2.707,6673,2.762,6674,2.822,6675,2.399,6676,2.612,6677,3.168,6678,2.707,6679,3.168,6680,2.822,6681,2.707]],["title/classes/ContextExternalTool.html",[0,0.241,2006,3.651]],["body/classes/ContextExternalTool.html",[0,0.251,2,0.766,3,0.013,4,0.013,5,0.007,7,0.101,8,1.123,27,0.522,29,0.953,30,0.001,31,0.407,32,0.163,33,0.571,34,1.906,35,0.832,47,0.918,55,2.531,95,0.139,101,0.013,103,0,104,0,112,0.771,148,0.713,159,0.742,183,2.77,231,1.696,232,2.66,433,0.891,435,2.492,436,2.143,614,4.436,703,2.225,1237,2.847,1852,7.062,2006,5.152,2008,3.613,2791,7.92,2918,4.099,6099,7.857,6682,7.77,6683,11.756,6684,5.718,6685,8.878,6686,6.101,6687,9.173,6688,9.173,6689,10.054,6690,9.829,6691,7.254,6692,7.254,6693,7.254,6694,9.708,6695,7.254,6696,5.321,6697,6.719,6698,5.718,6699,4.568,6700,5.216,6701,5.568,6702,6.719,6703,6.719,6704,6.719,6705,6.719,6706,4.681,6707,5.033,6708,4.878,6709,5.321,6710,7.067,6711,5.437]],["title/injectables/ContextExternalToolAuthorizableService.html",[589,0.926,6712,5.658]],["body/injectables/ContextExternalToolAuthorizableService.html",[0,0.306,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,12,5.061,26,2.614,27,0.436,29,0.854,30,0.001,31,0.628,32,0.138,33,0.511,34,1.51,35,1.013,36,2.364,40,5.412,95,0.148,99,1.78,101,0.011,103,0.001,104,0.001,135,1.149,148,0.868,228,1.586,277,1.263,279,3.662,317,2.655,400,2.59,433,1.085,589,1.487,591,2.095,614,4.214,657,2.02,1237,2.559,1845,8.816,1883,3.316,2006,6.761,2680,4.057,2698,3.982,3442,8.182,6080,10.19,6682,7.118,6712,9.086,6713,10.771,6714,8.182,6715,8.833,6716,8.833,6717,8.833]],["title/classes/ContextExternalToolConfigurationStatus.html",[0,0.241,6095,5.109]],["body/classes/ContextExternalToolConfigurationStatus.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.497,29,0.732,30,0.001,31,0.539,32,0.158,33,0.438,101,0.012,103,0.001,104,0.001,112,0.924,122,2.754,232,3.186,433,1.179,435,3.296,614,4.118,2219,5.955,2698,4.31,6095,10,6106,10.042,6107,8.993,6718,13.284,6719,8.886,6720,11.774,6721,8.886,6722,7.794,6723,8.072,6724,8.42,6725,8.886]],["title/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.241,6726,5.86]],["body/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.285,2,0.869,3,0.015,4,0.015,5,0.007,7,0.115,27,0.463,29,0.629,30,0.001,31,0.463,32,0.161,33,0.376,95,0.092,101,0.011,103,0.001,104,0.001,112,0.839,122,2.856,157,2.909,183,4.083,190,1.917,194,4.938,202,1.891,232,2.893,296,3.107,417,7.043,433,1.012,435,2.829,614,3.896,703,3.28,866,5.326,2005,5.683,2219,5.633,2698,4.469,2776,5.295,4115,7.228,6106,9.359,6107,8.381,6288,5.108,6571,8.45,6722,6.691,6723,6.929,6724,7.228,6725,7.628,6726,10.958,6727,11.64,6728,10.692,6729,10.209,6730,9.419,6731,11.029,6732,8.236]],["title/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.241,6733,5.86]],["body/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.451,29,0.712,30,0.001,31,0.524,32,0.156,33,0.426,95,0.129,101,0.012,103,0.001,104,0.001,112,0.908,125,2.221,183,3.561,190,1.672,202,2.141,296,3.027,339,3.965,433,1.146,614,4.077,861,6.471,864,6.652,866,4.645,881,5.104,1167,7.744,2219,5.896,2696,5.72,2698,4.268,6733,9.735,6734,11.652,6735,11.351,6736,8.882,6737,8.638]],["title/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.241,6735,5.658]],["body/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.258,2,0.789,3,0.014,4,0.014,5,0.007,7,0.104,26,2.556,27,0.517,29,0.923,30,0.001,31,0.679,32,0.167,33,0.517,47,0.889,55,2.031,95,0.126,99,1.505,101,0.01,103,0,104,0,112,0.786,125,1.779,190,2.328,201,4.398,202,1.715,296,3.611,433,0.918,614,4.18,866,3.721,1220,4.294,2184,2.957,2219,6.123,2696,6.132,2698,4.375,5752,5.852,6708,5.023,6734,12.49,6735,10.248,6738,6.919,6739,7.988,6740,6.505,6741,8.136,6742,9.286,6743,10.025,6744,6.919,6745,6.919,6746,6.919,6747,9.533,6748,6.919,6749,6.919,6750,6.556,6751,6.285,6752,6.919,6753,7.47,6754,7.47,6755,6.919,6756,4.951,6757,6.919,6758,6.919,6759,5.599,6760,6.919]],["title/classes/ContextExternalToolContextParams.html",[0,0.241,6761,5.86]],["body/classes/ContextExternalToolContextParams.html",[0,0.387,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,27,0.436,30,0.001,32,0.138,47,0.822,95,0.137,101,0.011,103,0.001,104,0.001,112,0.877,125,2.104,190,2.005,194,5.069,195,2.835,196,4.072,197,3.605,200,2.703,202,2.028,296,3.211,614,4.214,855,4.528,886,2.797,899,4.037,2035,7.616,2036,4.349,2040,6.236,2641,7.856,2698,3.982,3201,5.241,5495,7.252,6682,7.118,6761,9.41,6762,9.97,6763,8.833,6764,7.821,6765,7.753,6766,8.833,6767,8.833,6768,8.833,6769,8.833,6770,8.833,6771,7.176]],["title/classes/ContextExternalToolCountPerContextResponse.html",[0,0.241,6772,5.49]],["body/classes/ContextExternalToolCountPerContextResponse.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,27,0.488,29,0.704,30,0.001,31,0.518,32,0.155,33,0.421,55,2.654,95,0.103,101,0.012,103,0.001,104,0.001,112,0.901,190,2.059,202,2.117,232,3.109,296,3.526,433,1.133,435,3.167,614,4.061,2033,4.746,2698,4.25,2938,7.531,2961,8.834,2972,6.027,4930,9.819,6240,6.11,6727,12.133,6772,10.624,6773,8.539,6774,11.488,6775,9.219,6776,9.219,6777,9.219]],["title/entities/ContextExternalToolEntity.html",[205,1.419,6778,5.109]],["body/entities/ContextExternalToolEntity.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,27,0.498,29,0.904,30,0.001,32,0.158,33,0.442,47,0.94,55,2.232,95,0.138,96,1.85,101,0.012,103,0,104,0,112,0.759,159,0.725,183,3.695,190,2.292,195,2.601,196,2.351,205,1.972,206,2.312,211,3.909,223,4.152,224,2.053,225,3.707,229,2.795,231,1.223,232,1.918,233,2.197,614,4.424,703,2.174,1507,5.312,1835,4.971,2698,2.299,4648,4.839,4654,5.106,4655,3.972,5495,6.994,5727,5.135,6099,7.062,6682,7.591,6686,6.042,6706,4.573,6707,4.918,6708,4.766,6709,5.199,6710,5.096,6711,5.312,6764,7.542,6778,7.096,6779,11.012,6780,5.758,6781,9.958,6782,7.087,6783,8.871,6784,7.087,6785,7.087,6786,9.51,6787,7.087,6788,8.681,6789,7.087,6790,7.087,6791,5.963,6792,4.363,6793,8.491,6794,4.316,6795,6.565,6796,6.565,6797,6.22,6798,5.963,6799,5.758,6800,5.963]],["title/classes/ContextExternalToolFactory.html",[0,0.241,6801,6.451]],["body/classes/ContextExternalToolFactory.html",[0,0.163,2,0.498,3,0.009,4,0.009,5,0.004,7,0.066,8,0.824,27,0.512,29,1.021,30,0.001,31,0.722,32,0.168,33,0.579,34,1.495,35,1.401,47,0.876,49,1.778,55,2.342,59,3.454,95,0.124,96,1.233,97,1.904,101,0.006,103,0,104,0,112,0.565,113,4.415,125,2.083,127,4.905,129,3.529,130,3.372,135,0.938,148,0.709,153,1.166,157,2.024,172,3.076,185,2.469,192,2.604,205,1.782,206,2.352,228,1.294,231,1.244,326,4.822,374,3.13,388,2.023,433,0.58,436,3.843,467,2.098,501,7.066,502,5.441,505,4.007,506,5.441,507,5.293,508,4.007,509,4.007,510,4.007,511,3.945,512,4.465,513,4.861,514,6.474,515,5.769,516,6.987,517,2.646,522,2.624,523,4.007,524,2.646,525,5.13,526,5.277,527,4.159,528,4.965,529,3.976,530,2.624,531,2.474,532,4.075,533,2.509,534,2.474,535,2.624,536,2.646,537,4.786,538,2.624,539,7.145,540,3.954,541,6.626,542,2.646,543,3.508,544,2.624,545,2.646,546,2.624,547,2.646,548,2.624,551,2.624,552,6.082,553,2.646,554,2.624,555,4.007,556,3.657,557,4.007,558,2.646,559,2.545,560,2.509,561,2.126,562,2.624,563,2.624,564,2.624,565,2.646,566,2.646,567,1.76,568,2.624,569,1.467,570,2.646,571,2.853,572,2.624,573,2.646,575,2.714,576,2.79,577,2.817,614,2.711,756,2.875,2006,2.474,2008,2.352,2033,1.79,2035,2.604,2040,3.333,2698,1.532,2791,4.778,3899,3.175,4510,2.906,4588,3.806,4696,6.173,4698,3.395,6099,2.817,6685,3.129,6686,2.41,6687,5.534,6689,3.972,6801,8.1,6802,7.209,6803,3.835,6804,7.209,6805,7.209,6806,4.721,6807,7.179,6808,3.721,6809,3.223,6810,4.721]],["title/classes/ContextExternalToolIdParams.html",[0,0.241,6811,5.346]],["body/classes/ContextExternalToolIdParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,47,0.882,95,0.134,101,0.013,103,0.001,104,0.001,112,0.942,190,1.775,194,4.716,195,2.638,196,3.285,197,3.355,200,3.03,202,2.273,296,3.14,307,7.262,614,4.163,855,4.86,2698,3.894,3598,7.239,6682,6.962,6762,9.751,6811,9.214,6812,8.33,6813,8.69]],["title/classes/ContextExternalToolIdParams-1.html",[0,0.2,756,2.309,6811,4.445]],["body/classes/ContextExternalToolIdParams-1.html",[0,0.418,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,26,2.631,27,0.391,30,0.001,32,0.124,95,0.145,99,2.02,101,0.013,103,0.001,104,0.001,112,0.949,190,1.797,200,3.068,202,2.302,296,3.164,307,7.353,614,3.749,855,4.897,2696,5.499,2698,3.924,3598,7.278,6811,9.283,6814,11.201,6815,7.208,6816,8.144]],["title/modules/ContextExternalToolModule.html",[252,1.839,3888,5.658]],["body/modules/ContextExternalToolModule.html",[0,0.245,3,0.013,4,0.013,5,0.006,30,0.001,95,0.151,101,0.009,103,0,104,0,252,2.905,254,2.545,255,2.702,256,2.77,257,2.76,258,2.75,259,3.997,260,4.09,265,5.928,269,3.783,270,2.721,271,2.665,276,3.783,277,1.012,610,3.811,614,3.838,703,2.171,1027,2.165,2698,3.837,3888,11.906,5752,3.659,5776,4.142,6072,9.579,6082,5.748,6092,10.958,6682,4.104,6712,11.293,6817,7.075,6818,7.075,6819,7.075,6820,7.075,6821,10.074,6822,10.383,6823,9.579,6824,9.089,6825,11.293,6826,11.696,6827,7.075,6828,6.553,6829,5.748,6830,5.431,6831,7.075]],["title/classes/ContextExternalToolPostParams.html",[0,0.241,6832,5.86]],["body/classes/ContextExternalToolPostParams.html",[0,0.392,2,0.791,3,0.014,4,0.014,5,0.007,7,0.104,27,0.507,29,0.865,30,0.001,32,0.169,33,0.553,47,0.955,55,2.036,95,0.141,101,0.01,103,0,104,0,112,0.788,190,2.33,195,1.648,200,2.294,201,4.406,202,1.721,296,3.305,299,3.935,300,4.344,614,4.42,703,2.3,855,4.59,899,3.426,1232,4.349,2035,6.253,2036,3.691,2531,4.042,2698,4.308,3791,7.095,5495,6.699,6099,6.765,6317,5.829,6389,6.974,6682,7.703,6686,5.788,6762,10.788,6764,7.225,6771,6.091,6807,8.315,6832,8.456,6833,6.945,6834,7.498,6835,7.498,6836,7.498,6837,5.499,6838,7.498,6839,9.695,6840,6.308,6841,6.308,6842,5.91,6843,7.498,6844,6.945,6845,6.945,6846,7.498,6847,5.419,6848,6.091]],["title/interfaces/ContextExternalToolProperties.html",[159,0.712,6793,6.113]],["body/interfaces/ContextExternalToolProperties.html",[0,0.265,3,0.014,4,0.014,5,0.007,7,0.107,29,0.972,30,0.001,32,0.162,33,0.558,47,0.997,55,2.477,95,0.142,96,2.002,101,0.013,103,0,104,0,112,0.8,159,0.784,161,1.827,183,3.896,195,2.242,196,2.545,205,2.079,223,3.966,224,2.222,225,3.91,229,3.025,231,1.323,232,2.075,233,2.377,614,3.945,703,2.353,1507,5.749,1835,3.941,2698,2.488,4654,5.385,4655,4.298,5495,7.52,5727,4.757,6099,7.594,6682,4.449,6686,6.497,6706,4.949,6707,5.322,6708,5.157,6709,5.626,6710,5.515,6711,5.749,6764,8.11,6778,5.626,6779,6.453,6780,6.231,6781,10.707,6783,9.539,6786,10.045,6788,9.335,6791,6.453,6792,4.721,6793,10.063,6794,4.671,6795,7.104,6796,7.104,6797,6.731,6798,6.453,6799,6.231,6800,6.453]],["title/interfaces/ContextExternalToolProps.html",[159,0.712,6689,5.86]],["body/interfaces/ContextExternalToolProps.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,29,0.988,30,0.001,32,0.164,33,0.57,34,2.132,47,0.994,55,2.622,95,0.144,101,0.014,103,0,104,0,112,0.828,148,0.793,159,0.825,161,1.922,183,3.082,231,1.392,232,2.184,614,3.645,703,2.476,1237,2.338,1852,6.236,2006,4.23,2008,4.02,2791,8.576,2918,4.56,6099,8.069,6682,4.681,6683,7.083,6684,6.362,6685,9.276,6686,6.606,6687,9.933,6688,6.195,6689,9.892,6694,10.512,6698,6.362,6699,5.082,6700,5.803,6701,6.195,6702,7.475,6703,7.475,6704,7.475,6705,7.475,6706,5.208,6707,5.6,6708,5.427,6709,5.919,6710,7.587,6711,6.049]],["title/injectables/ContextExternalToolRepo.html",[589,0.926,6080,5.221]],["body/injectables/ContextExternalToolRepo.html",[0,0.123,3,0.007,4,0.007,5,0.003,7,0.05,8,0.66,10,2.32,12,2.613,18,2.893,26,2.379,27,0.506,29,0.999,30,0.001,31,0.724,32,0.165,33,0.589,34,1.774,35,1.465,36,2.609,40,2.794,47,0.724,95,0.138,96,1.507,97,1.436,99,0.718,101,0.005,103,0,104,0,112,0.279,113,1.415,129,1.71,135,1.557,142,2.09,148,1.214,153,1.593,158,1.315,183,2.205,185,1.977,205,2.008,206,1.162,224,1.032,228,1.037,231,0.996,277,0.509,279,1.476,317,2.914,365,2.564,433,0.438,436,3.39,569,1.107,579,1.648,589,0.767,591,0.845,614,3.96,652,2.543,657,1.915,711,2.854,729,3.942,735,2.613,736,4.531,766,1.906,787,2.734,801,5.067,1027,1.09,1393,4.772,1476,2.146,1507,2.669,1770,2.914,2006,6.015,2008,2.876,2035,5.723,2038,3.679,2040,4.075,2043,4.857,2140,2.03,2437,8.444,2439,4.151,2440,4.075,2441,4.075,2442,4.151,2443,4.151,2444,4.075,2445,2.561,2446,4.548,2447,3.5,2448,3.924,2450,4.151,2451,2.561,2453,2.561,2455,3.774,2456,3.942,2457,2.561,2460,4.151,2462,2.471,2463,6.956,2464,4.075,2465,3.412,2467,2.561,2468,4.151,2470,2.561,2472,2.146,2473,2.217,2474,2.395,2476,2.561,2484,2.471,2517,5.457,2776,1.763,2938,3.319,3899,4.896,4588,1.22,4768,2.146,4798,2.514,4866,4.693,5136,4.826,5138,3.09,5495,4.302,6080,4.327,6099,3.445,6288,2.959,6685,6.1,6686,2.948,6687,4.432,6694,5.915,6764,2.269,6778,8.192,6781,6.126,6783,8.601,6788,2.612,6792,3.554,6807,2.612,6849,10.629,6850,3.126,6851,5.347,6852,5.773,6853,5.773,6854,5.067,6855,5.773,6856,5.773,6857,3.561,6858,5.347,6859,9.612,6860,3.561,6861,8.648,6862,5.773,6863,8.648,6864,3.561,6865,5.773,6866,3.561,6867,4.857,6868,3.126,6869,3.561,6870,5.067,6871,3.561,6872,5.773,6873,3.561,6874,5.773,6875,3.561,6876,3.561,6877,3.561,6878,2.612,6879,2.612,6880,2.612,6881,2.612,6882,2.612,6883,2.612,6884,2.612,6885,3.561,6886,3.561,6887,3.561,6888,2.561,6889,4.151,6890,2.893,6891,3.126,6892,2.734,6893,3.299,6894,3.299,6895,2.431,6896,7.281,6897,5.067,6898,5.067,6899,3.299,6900,3.561,6901,3.561,6902,3.561,6903,3.561,6904,3.561,6905,3.561,6906,3.299,6907,3.561,6908,3.561,6909,3.299,6910,3.561,6911,3.126,6912,3.299,6913,3.561,6914,3.561,6915,3.561,6916,3.561,6917,3.561,6918,3.561,6919,3.299,6920,3.299,6921,4.857,6922,4.857,6923,5.773]],["title/classes/ContextExternalToolRequestMapper.html",[0,0.241,6924,6.113]],["body/classes/ContextExternalToolRequestMapper.html",[0,0.282,2,0.861,3,0.015,4,0.015,5,0.007,7,0.114,8,1.214,27,0.414,29,0.902,30,0.001,31,0.664,32,0.146,33,0.485,34,1.394,35,1.218,95,0.139,101,0.01,103,0.001,104,0.001,125,1.942,130,2.206,148,1.161,193,3.556,467,3.874,614,4.261,652,2.403,703,2.501,837,4.037,2698,3.833,2791,7.831,6099,4.864,6682,6.853,6685,5.403,6686,4.162,6687,6.258,6699,5.133,6807,5.98,6832,10.532,6839,9.965,6848,6.623,6888,5.862,6924,9.322,6925,10.943,6926,6.426,6927,10.622,6928,10.369,6929,10.622,6930,8.152,6931,10.369,6932,7.155,6933,8.152,6934,8.937,6935,7.155,6936,8.152,6937,8.152,6938,8.152,6939,8.152,6940,8.152,6941,7.551,6942,7.155,6943,6.859,6944,7.155]],["title/classes/ContextExternalToolResponse.html",[0,0.241,6945,5.658]],["body/classes/ContextExternalToolResponse.html",[0,0.238,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,27,0.523,29,0.893,30,0.001,31,0.387,32,0.168,33,0.56,34,1.856,47,0.999,55,1.923,95,0.121,101,0.009,103,0,104,0,112,0.745,125,1.642,129,2.041,130,1.865,190,2.372,201,4.768,202,1.583,296,3.592,433,0.847,458,2.749,614,4.466,703,2.115,866,3.433,871,2.536,886,2.182,2035,6.766,2036,3.393,3200,4.113,5495,6.416,6099,6.478,6682,7.884,6686,5.543,6706,4.448,6708,4.635,6710,4.956,6740,6.241,6756,4.569,6762,11.042,6764,6.919,6797,6.049,6799,5.6,6807,7.963,6848,5.6,6945,9.966,6946,6.049,6947,7.286,6948,8.792,6949,6.384,6950,6.384,6951,6.384,6952,6.384,6953,9.221,6954,6.384,6955,6.384,6956,6.384,6957,5.291,6958,6.384,6959,6.893,6960,6.893,6961,6.893,6962,6.893,6963,6.049,6964,6.384,6965,6.049]],["title/classes/ContextExternalToolResponseMapper.html",[0,0.241,6966,5.86]],["body/classes/ContextExternalToolResponseMapper.html",[0,0.233,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,8,1.068,27,0.452,29,0.929,30,0.001,31,0.684,32,0.143,33,0.529,34,1.153,35,1.329,95,0.129,101,0.009,103,0,104,0,130,1.824,135,1.584,148,1.196,153,1.735,402,3.363,467,4.014,614,4.238,652,2.183,703,2.069,829,3.984,837,3.339,871,3.44,1883,2.531,2006,6.379,2012,6.245,2039,5.673,2698,3.949,4028,5.917,4029,4.603,4866,6.494,5495,3.984,6099,4.023,6682,7.06,6686,4.773,6740,3.876,6764,4.297,6807,4.945,6839,9.343,6848,5.477,6925,11.273,6928,9.418,6932,5.917,6934,7.865,6943,5.673,6944,5.917,6945,9.888,6953,10.377,6966,7.865,6967,9.348,6968,9.348,6969,9.348,6970,9.348,6971,6.245,6972,9.348,6973,10.26,6974,6.742,6975,10.491,6976,9.348,6977,6.742,6978,6.245,6979,5.917,6980,5.673,6981,5.315,6982,4.678,6983,5.917,6984,6.742,6985,6.742,6986,6.742,6987,6.742,6988,8.659,6989,6.742,6990,6.742,6991,5.477,6992,6.245,6993,6.245,6994,5.917,6995,5.673,6996,6.245,6997,6.742]],["title/injectables/ContextExternalToolRule.html",[589,0.926,1866,5.86]],["body/injectables/ContextExternalToolRule.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,27,0.438,29,0.857,30,0.001,31,0.631,32,0.149,33,0.513,35,1.138,95,0.144,101,0.009,103,0,104,0,122,2.681,135,0.958,148,0.976,183,4.289,205,2.775,228,1.322,277,1.053,290,3.265,400,2.158,433,0.904,478,2.062,589,1.319,591,1.746,614,4.009,653,4.619,711,3.746,1237,2.132,1775,6.579,1801,7.96,1838,7.966,1866,8.351,1982,4.69,1986,6.11,1993,6.489,2006,7.044,2008,3.666,2619,6.326,3711,4.878,3714,6.405,3716,4.878,3717,6.579,3718,7.137,3899,6.675,6778,9.989,6792,4.531,6998,12.021,6999,6.817,7000,6.817,7001,6.817,7002,6.817,7003,7.007,7004,7.36,7005,7.36]],["title/classes/ContextExternalToolScope.html",[0,0.241,6861,6.113]],["body/classes/ContextExternalToolScope.html",[0,0.223,2,0.681,3,0.012,4,0.012,5,0.006,7,0.09,8,1.036,26,2.717,27,0.516,29,0.948,30,0.001,31,0.698,32,0.164,33,0.567,34,1.792,35,1.424,95,0.127,99,1.3,101,0.008,103,0,104,0,112,0.711,122,2.172,125,3.345,129,1.91,130,1.745,148,1.117,231,1.564,279,2.674,365,2.865,436,3.537,569,2.005,614,3.85,652,2.526,2035,6.269,2479,6.192,3899,4.337,5495,6.192,6288,5.379,6764,6.678,6778,4.731,6781,5.427,6792,3.97,6807,7.686,6809,4.404,6849,11.091,6861,11.77,7006,5.661,7007,6.007,7008,6.007,7009,6.007,7010,9.063,7011,9.063,7012,9.063,7013,9.063,7014,6.007,7015,6.007,7016,4.337,7017,4.275,7018,4.337,7019,4.337,7020,9.063,7021,6.45,7022,9.063,7023,6.45,7024,9.063,7025,6.45,7026,9.063,7027,6.45,7028,4.275,7029,6.007,7030,4.337,7031,4.275,7032,4.337,7033,4.275,7034,7.534]],["title/classes/ContextExternalToolSearchListResponse.html",[0,0.241,7035,6.113]],["body/classes/ContextExternalToolSearchListResponse.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.452,29,0.715,30,0.001,31,0.526,32,0.156,33,0.428,95,0.129,101,0.012,103,0.001,104,0.001,112,0.91,125,2.232,183,3.578,190,1.679,202,2.151,296,3.036,339,3.971,433,1.151,614,4.336,860,8.899,861,6.501,864,6.671,866,4.667,881,5.128,2698,4.09,6682,7.312,6736,8.907,6762,10.241,6945,11.363,7035,10.184,7036,8.223]],["title/injectables/ContextExternalToolService.html",[589,0.926,6824,4.554]],["body/injectables/ContextExternalToolService.html",[0,0.171,3,0.009,4,0.009,5,0.004,7,0.069,8,0.854,12,3.384,26,2.557,27,0.483,29,0.945,30,0.001,31,0.696,32,0.153,33,0.566,35,1.387,36,2.805,95,0.143,99,0.998,101,0.006,103,0,104,0,135,1.574,142,1.793,148,1.058,153,0.801,183,2.855,228,1.801,277,0.708,279,2.054,317,3.034,365,2.2,433,0.919,579,1.414,589,0.994,591,1.175,614,4.362,652,2.04,657,2.886,703,2.294,711,4.062,1883,1.86,2005,4.786,2006,7.2,2008,3.724,2039,6.291,2698,3.255,2776,4.46,3598,4.19,6078,9.022,6080,8.486,6088,4.025,6101,4.589,6682,7.319,6685,7.504,6687,3.803,6713,11.075,6714,4.589,6741,5.376,6807,3.634,6824,4.888,6859,9.292,6888,3.562,6935,4.348,6982,3.437,7037,7.477,7038,7.477,7039,6.562,7040,7.477,7041,7.477,7042,7.477,7043,7.477,7044,7.235,7045,7.79,7046,4.954,7047,7.477,7048,4.954,7049,7.477,7050,4.589,7051,7.477,7052,4.589,7053,7.477,7054,4.954,7055,7.477,7056,4.954,7057,7.477,7058,4.954,7059,7.477,7060,4.954,7061,7.477,7062,4.654,7063,4.348,7064,3.713,7065,4.589,7066,4.954,7067,3.803,7068,8.071,7069,4.954,7070,4.954,7071,4.954,7072,7.477,7073,4.954,7074,7.477,7075,4.954,7076,4.954,7077,3.562,7078,3.562,7079,4.954,7080,4.954]],["title/injectables/ContextExternalToolUc.html",[589,0.926,7081,5.86]],["body/injectables/ContextExternalToolUc.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.06,8,0.765,26,2.872,27,0.435,29,0.852,30,0.001,31,0.627,32,0.143,33,0.51,34,1.144,35,1.226,36,2.565,39,3.369,47,0.605,95,0.144,99,0.864,101,0.005,103,0,104,0,135,1.71,148,0.991,153,1.631,158,1.583,183,4.798,228,1.811,277,0.613,290,1.952,317,2.887,433,0.822,478,1.201,579,1.911,589,0.89,591,1.017,595,1.626,610,1.691,614,4.189,652,2.349,657,3.052,693,3.043,703,2.053,711,3.096,1775,5.52,1780,2.584,1862,5.933,1883,1.609,1953,3.027,1957,3.38,1961,5.873,1962,2.558,1964,3.38,2005,5.36,2006,7.082,2008,2.136,2035,5.129,2036,2.111,2062,5.873,2680,1.969,2698,3.622,3319,2.443,3598,6.257,4157,3.145,4588,4.157,5495,5.496,6682,6.7,6685,4.436,6764,5.927,6794,6.142,6824,7.299,6825,9.07,6828,3.971,6829,3.483,6888,3.083,6931,11.31,6981,3.38,6991,6.687,7039,5.873,7045,7.4,7062,2.669,7077,4.812,7081,5.631,7082,11.55,7083,3.763,7084,7.624,7085,8.231,7086,6.198,7087,7.624,7088,7.624,7089,4.287,7090,8.011,7091,4.287,7092,4.287,7093,4.287,7094,6.692,7095,4.287,7096,4.287,7097,4.287,7098,6.692,7099,4.287,7100,4.287,7101,4.287,7102,4.287,7103,3.971,7104,3.38,7105,4.287,7106,8.231,7107,6.692,7108,6.198,7109,4.287,7110,4.287,7111,8.162,7112,4.287,7113,6.198,7114,6.198,7115,6.692,7116,3.483,7117,4.287,7118,6.198,7119,4.287,7120,4.287,7121,3.291,7122,9.3,7123,4.287,7124,4.287,7125,6.198,7126,4.287]],["title/injectables/ContextExternalToolValidationService.html",[589,0.926,6825,5.658]],["body/injectables/ContextExternalToolValidationService.html",[0,0.231,3,0.012,4,0.012,5,0.006,7,0.093,8,1.061,27,0.416,29,0.815,30,0.001,31,0.681,32,0.132,33,0.488,35,1.065,36,1.962,95,0.149,101,0.009,103,0,104,0,135,1.208,145,2.506,153,1.079,183,3.545,219,3.682,228,2.072,277,0.955,317,2.716,338,5.715,356,4.489,393,3.305,433,1.14,579,1.906,589,1.234,591,1.583,614,4.299,619,4.8,640,4.109,652,2.619,657,2.638,703,2.848,1213,5.916,1883,2.506,1925,4.632,2005,4.934,2006,7.153,2008,4.624,2033,3.521,2345,5.654,2698,4.178,2776,4.597,3820,5.616,4234,5.423,4235,4.632,5245,4.109,6079,10.151,6116,5.262,6129,6.183,6130,5.858,6682,6.692,6687,5.124,6713,10.126,6794,4.065,6824,8.208,6825,7.542,6981,5.262,6982,4.632,6983,5.858,7044,7.927,7045,8.536,7062,5.778,7067,5.124,7077,4.8,7127,9.283,7128,6.183,7129,6.675,7130,9.283,7131,9.283,7132,6.675,7133,5.423,7134,6.675,7135,6.675,7136,6.675,7137,6.183,7138,7.811,7139,6.183,7140,6.675,7141,6.675,7142,5.858,7143,6.183,7144,6.675,7145,6.675,7146,6.675,7147,6.675,7148,6.675,7149,6.675]],["title/classes/ContextRef.html",[0,0.241,6685,4.616]],["body/classes/ContextRef.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.496,29,0.731,30,0.001,31,0.538,32,0.172,33,0.437,34,2.176,47,0.864,95,0.107,101,0.012,103,0.001,104,0.001,112,0.922,232,3.181,433,1.176,435,3.288,458,3.817,459,4.95,614,4.115,2035,7.019,2036,4.711,2109,4.193,4726,5.828,6682,7.699,6683,11.649,6685,9.03,7150,8.864,7151,11.757,7152,9.57]],["title/classes/ContextRefParams.html",[0,0.241,7153,6.113]],["body/classes/ContextRefParams.html",[0,0.405,2,1.003,3,0.018,4,0.018,5,0.009,7,0.132,26,2.57,27,0.456,30,0.001,32,0.157,95,0.148,99,1.915,101,0.012,103,0.001,104,0.001,112,0.918,190,2.098,200,2.908,202,2.182,296,3.319,855,4.74,899,4.342,2035,7.499,2036,4.678,2696,5.769,5495,7.496,6764,8.084,6771,7.72,6814,11.75,6815,6.833,7153,10.273,7154,9.502,7155,9.502,7156,9.502,7157,9.502]],["title/injectables/ConverterUtil.html",[589,0.926,2338,5.86]],["body/injectables/ConverterUtil.html",[0,0.446,3,0.018,4,0.018,5,0.009,7,0.137,8,1.367,27,0.384,29,0.914,30,0.001,31,0.553,32,0.148,33,0.45,35,1.13,47,0.947,95,0.133,101,0.013,103,0.001,104,0.001,148,0.968,157,2.28,277,1.409,532,4.916,589,1.591,591,2.337,2338,10.069,5103,10.503,7158,9.852,7159,11.967,7160,11.967,7161,9.852,7162,9.852,7163,9.852,7164,9.125,7165,9.852]],["title/classes/CookiesDto.html",[0,0.241,7166,5.86]],["body/classes/CookiesDto.html",[0,0.345,2,1.053,3,0.018,4,0.018,5,0.009,7,0.139,27,0.505,29,0.761,30,0.001,31,0.56,32,0.16,33,0.456,47,0.989,101,0.013,103,0.001,104,0.001,112,0.946,232,3.263,433,1.225,435,3.427,7166,11.597,7167,9.974,7168,11.373,7169,11.373,7170,12.057,7171,9.974,7172,9.974,7173,9.974,7174,9.974,7175,9.974]],["title/classes/CopyApiResponse.html",[0,0.241,7176,5.49]],["body/classes/CopyApiResponse.html",[0,0.233,2,0.711,3,0.012,4,0.012,5,0.006,7,0.094,27,0.503,29,0.514,30,0.001,31,0.378,32,0.177,33,0.61,34,2.207,47,0.994,95,0.104,100,3.256,101,0.009,103,0,104,0,112,0.732,125,1.603,155,4.2,157,3.131,190,2.256,201,4.728,202,1.545,296,2.805,374,4.055,402,4.806,433,1.147,821,3.436,866,4.651,886,3.666,896,6.762,1361,6.163,1372,4.928,1562,10.373,2033,3.541,2049,5.37,2109,2.949,2127,3.94,2608,6.979,2836,6.189,3056,3.24,3316,9.588,3317,9.117,3318,4.143,3629,8.195,6027,6.714,7176,10.373,7177,11.072,7178,6.731,7179,7.361,7180,6.279,7181,9.41,7182,6.731,7183,8.195,7184,6.731,7185,6.235,7186,8.649,7187,6.714,7188,6.731,7189,6.731,7190,8.649,7191,6.731,7192,6.731,7193,6.731,7194,6.731]],["title/interfaces/CopyFileDO.html",[159,0.712,7195,5.658]],["body/interfaces/CopyFileDO.html",[3,0.014,4,0.019,5,0.007,7,0.106,10,3.064,26,2.807,30,0.001,31,0.714,32,0.141,33,0.464,34,2.172,39,2.116,47,1.008,55,1.545,83,2.236,95,0.113,99,1.536,101,0.017,103,0,104,0,112,0.797,135,0.992,159,1.247,161,1.816,290,1.809,374,3.311,703,2.34,870,4.174,886,3.62,1080,3.523,1154,6.94,1444,4.239,1937,3.592,1939,4.053,2033,2.892,2219,3.418,2220,3.845,2221,3.711,2608,4.596,2959,3.502,3011,3.485,3159,3.451,3418,3.435,3467,4.082,3668,5.801,3681,5.483,3933,4.813,4040,4.464,4259,4.464,4588,2.612,5234,5.837,5466,4.384,5788,4.346,5800,4.55,6665,5.521,6666,4.813,7195,8.258,7196,7.063,7197,7.063,7198,8.608,7199,6.011,7200,7.063,7201,6.416,7202,7.063,7203,7.063,7204,7.063,7205,7.063,7206,6.94,7207,7.803,7208,7.803,7209,7.803,7210,6.461,7211,4.921,7212,4.986,7213,7.378,7214,6.195,7215,6.011,7216,5.207]],["title/interfaces/CopyFileDomainObjectProps.html",[159,0.712,7217,5.86]],["body/interfaces/CopyFileDomainObjectProps.html",[3,0.018,4,0.018,5,0.011,7,0.137,26,2.863,30,0.001,31,0.752,32,0.159,33,0.546,34,2.29,47,0.946,95,0.11,99,1.98,101,0.013,103,0.001,104,0.001,112,0.937,125,3.067,159,1.005,161,2.341,185,3.366,1883,3.689,3898,4.925,7198,9.455,7217,10.054,7218,4.679,7219,9.103,7220,9.103]],["title/classes/CopyFileDto.html",[0,0.241,7221,5.346]],["body/classes/CopyFileDto.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,26,2.713,27,0.506,29,0.688,30,0.001,31,0.73,32,0.161,33,0.566,34,2.118,47,0.832,95,0.126,99,1.816,101,0.012,103,0.001,104,0.001,112,0.888,125,2.698,161,2.147,339,2.642,433,1.107,458,3.594,864,6.511,2184,3.567,3898,6.709,7198,8.743,7217,10.933,7218,6.374,7221,8.694,7222,13.388,7223,7.582,7224,11.326,7225,9.012,7226,9.012,7227,7.321,7228,7.321,7229,7.321,7230,7.321]],["title/classes/CopyFileListResponse.html",[0,0.241,7231,5.49]],["body/classes/CopyFileListResponse.html",[0,0.383,2,0.641,3,0.011,4,0.011,5,0.005,7,0.085,27,0.456,29,0.463,30,0.001,31,0.569,32,0.164,33,0.535,34,1.484,47,0.959,55,2.86,56,6.038,59,2.698,70,6.503,83,1.78,95,0.123,101,0.014,103,0,104,0,110,2.11,112,0.681,125,1.446,190,1.983,201,3.939,202,1.394,205,1.237,231,1.749,296,3.622,298,2.636,339,3.675,433,0.746,436,3.267,458,3.462,862,7.978,863,6.913,864,6.359,866,3.023,868,4.878,869,2.971,870,4.751,871,2.233,872,4.285,873,5.532,874,5.082,875,3.968,876,3.16,877,4.285,878,4.285,880,5.532,881,4.751,886,3.209,1315,4.931,1319,4.785,1444,3.374,2184,3.436,3054,6.309,3201,4.749,3933,2.874,5234,2.905,6665,3.297,6666,2.874,6675,3.868,7198,4.285,7206,6.92,7210,6.25,7215,4.785,7216,4.144,7218,4.133,7227,4.931,7228,4.931,7229,4.931,7230,4.931,7231,6.843,7232,5.754,7233,5.107,7234,10.104,7235,6.07,7236,6.07,7237,5.287,7238,8.415,7239,8.291,7240,5.107,7241,4.931,7242,5.107,7243,3.297,7244,5.107,7245,3.917,7246,5.107,7247,5.107,7248,5.107,7249,4.785,7250,4.931,7251,4.452,7252,5.107,7253,4.144,7254,4.931,7255,4.931,7256,4.452,7257,5.107,7258,5.107,7259,4.931,7260,5.107,7261,4.55]],["title/classes/CopyFileParams.html",[0,0.241,7262,4.833]],["body/classes/CopyFileParams.html",[0,0.474,2,0.687,3,0.012,4,0.017,5,0.008,7,0.091,26,2.524,27,0.356,30,0.001,32,0.154,39,1.807,47,1.015,95,0.143,99,1.312,101,0.017,103,0,104,0,110,2.264,112,0.716,122,1.892,157,1.507,159,0.666,190,1.636,195,1.431,199,5.033,200,1.993,201,4.437,202,1.495,203,6.136,205,1.327,296,3.711,298,2.828,299,4.877,300,4.374,403,3.325,855,5.044,856,6.346,886,3.335,899,2.976,1078,2.853,1080,2.257,1169,3.778,1237,1.886,1290,5.888,1291,4.317,1292,4.317,3011,5.492,3201,4.936,3933,3.084,4588,2.231,5260,6.633,6666,3.084,6847,6.48,7210,6.45,7212,4.258,7213,8.038,7218,5.015,7232,6.982,7262,6.332,7263,4.597,7264,7.436,7265,5.48,7266,6.513,7267,6.032,7268,6.513,7269,4.519,7270,8.256,7271,8.058,7272,8.058,7273,4.597,7274,4.519,7275,4.519,7276,4.597,7277,4.447,7278,6.23,7279,4.379,7280,4.447,7281,4.519,7282,4.447,7283,4.203,7284,4.597,7285,4.597,7286,4.597,7287,4.203,7288,4.203,7289,4.317,7290,4.447,7291,4.597]],["title/classes/CopyFileResponse.html",[0,0.241,7234,5.49]],["body/classes/CopyFileResponse.html",[0,0.396,2,0.69,3,0.012,4,0.012,5,0.006,7,0.091,27,0.446,29,0.499,30,0.001,31,0.676,32,0.154,33,0.482,34,1.955,47,1.008,55,2.594,56,5.385,70,5.799,83,1.916,95,0.127,101,0.015,103,0,104,0,110,2.272,112,0.717,190,1.891,201,4.443,202,1.5,205,1.331,231,1.578,296,3.681,298,2.837,339,3.528,433,0.803,458,3.647,862,6.568,863,5.044,864,6.571,870,3.576,880,5.828,881,5.006,886,3.341,1315,5.308,1319,5.151,1444,3.632,2184,3.62,3051,4.612,3054,6.568,3201,4.945,3933,3.094,5234,3.127,6665,3.549,6666,3.094,6675,4.164,7198,7.449,7206,7.205,7210,6.46,7215,5.151,7216,4.461,7218,5.728,7227,5.308,7228,5.308,7229,5.308,7230,5.308,7231,5.151,7232,7.975,7233,5.497,7234,10.297,7237,5.57,7238,8.652,7239,8.568,7240,5.497,7241,5.308,7242,5.497,7243,3.549,7244,5.497,7245,4.216,7246,5.497,7247,5.497,7248,5.497,7249,5.151,7250,5.308,7251,4.793,7252,5.497,7253,4.461,7254,5.308,7255,5.308,7256,4.793,7257,5.497,7258,5.497,7259,5.308,7260,5.497,7261,4.897,7292,6.534,7293,6.534,7294,6.534,7295,6.534]],["title/classes/CopyFileResponseBuilder.html",[0,0.241,7296,6.451]],["body/classes/CopyFileResponseBuilder.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.011,7,0.133,8,1.339,27,0.371,29,0.727,30,0.001,31,0.764,32,0.118,33,0.435,34,2.004,35,1.092,47,1.05,95,0.106,101,0.012,103,0.001,104,0.001,135,1.239,148,0.936,153,1.54,467,3.696,507,5.206,711,2.759,837,4.717,7198,9.354,7218,5.581,7234,10.92,7296,10.858,7297,11.722,7298,8.36,7299,11.722,7300,9.525]],["title/interfaces/CopyFiles.html",[159,0.712,7301,5.221]],["body/interfaces/CopyFiles.html",[3,0.016,4,0.016,5,0.01,7,0.122,30,0.001,32,0.138,47,1.083,55,2.479,95,0.098,101,0.017,103,0.001,104,0.001,112,0.874,125,2.653,159,1.388,161,2.09,339,3.266,414,5.65,1302,6.802,1304,5.001,1444,4.879,2233,5.344,5234,5.331,6572,5.001,7301,8.348,7302,6.578,7303,6.918,7304,9.878,7305,9.878,7306,5.526,7307,6.578,7308,5.992,7309,5.992,7310,5.992,7311,5.992,7312,6.195,7313,5.462,7314,5.344,7315,5.344,7316,6.437,7317,8.549,7318,8.549,7319,6.578]],["title/classes/CopyFilesOfParentParamBuilder.html",[0,0.241,7320,6.113]],["body/classes/CopyFilesOfParentParamBuilder.html",[0,0.318,2,0.971,3,0.021,4,0.025,5,0.01,7,0.128,8,1.311,26,2.652,27,0.358,29,0.702,30,0.001,31,0.517,32,0.114,33,0.42,35,1.055,39,3.184,95,0.139,99,1.853,101,0.012,103,0.001,104,0.001,135,1.197,148,0.904,161,2.191,193,4.012,467,3.639,507,5.095,3011,5.981,3668,5.82,3898,5.749,5234,5.491,7218,5.461,7320,10.068,7321,11.471,7322,8.519,7323,11.471,7324,11.195,7325,8.519,7326,10.518,7327,8.519]],["title/classes/CopyFilesOfParentParams.html",[0,0.241,7212,4.554]],["body/classes/CopyFilesOfParentParams.html",[0,0.476,2,0.701,3,0.012,4,0.017,5,0.008,7,0.092,26,2.54,27,0.259,30,0.001,32,0.15,39,1.843,47,1.011,95,0.143,99,1.338,101,0.017,103,0,104,0,110,2.309,112,0.726,122,1.918,157,1.537,159,0.679,190,1.191,195,1.46,199,5.103,200,2.032,201,4.475,202,1.525,203,6.221,205,1.354,296,3.72,298,2.884,299,4.907,300,4.412,403,3.391,855,5.075,856,6.4,886,3.371,899,3.035,1078,2.91,1080,2.302,1169,3.853,1237,1.924,1290,5.97,1291,4.402,1292,4.402,3011,5.531,3201,4.989,3933,3.145,4588,2.275,5260,6.703,6666,3.145,6847,6.526,7210,6.506,7212,6.048,7213,8.088,7218,4.404,7232,6.132,7262,4.609,7263,4.689,7264,4.689,7267,6.152,7269,4.609,7270,8.308,7271,8.127,7272,8.127,7273,4.689,7274,4.609,7275,4.609,7276,4.689,7277,4.535,7278,6.316,7279,4.466,7280,4.535,7281,4.609,7282,4.535,7283,4.286,7284,4.689,7285,4.689,7286,4.689,7287,4.286,7288,4.286,7289,4.402,7290,4.535,7291,4.689,7328,6.642]],["title/classes/CopyFilesOfParentPayload.html",[0,0.241,7282,4.755]],["body/classes/CopyFilesOfParentPayload.html",[0,0.473,2,0.674,3,0.012,4,0.021,5,0.008,7,0.089,26,2.578,27,0.406,30,0.001,32,0.157,39,2.893,47,1.004,95,0.142,99,1.287,101,0.017,103,0,104,0,110,2.221,112,0.706,122,1.866,157,1.479,159,0.653,190,1.869,195,1.404,199,4.965,200,1.955,201,4.399,202,1.467,203,6.054,205,1.302,296,3.702,298,2.774,299,4.847,300,4.337,403,3.262,855,5.151,856,6.292,886,3.301,899,2.919,1078,2.799,1080,2.214,1169,3.705,1237,1.85,1290,5.809,1291,4.234,1292,4.234,3011,5.452,3201,4.885,3933,3.025,4588,2.188,5260,6.564,6666,3.025,6847,6.858,7210,6.396,7212,4.177,7213,8.209,7218,5.388,7232,7.502,7262,4.433,7263,4.51,7264,4.51,7269,4.433,7270,8.205,7271,7.99,7272,7.99,7273,4.51,7274,4.433,7275,4.433,7276,4.51,7277,4.362,7278,6.147,7279,4.296,7280,4.362,7281,4.433,7282,6.147,7283,4.122,7284,4.51,7285,4.51,7286,4.51,7287,4.122,7288,4.122,7289,4.234,7290,4.362,7291,4.51,7329,6.388,7330,6.388,7331,6.388]],["title/interfaces/CopyFilesRequestInfo.html",[159,0.712,7326,5.86]],["body/interfaces/CopyFilesRequestInfo.html",[3,0.022,4,0.025,5,0.012,7,0.138,26,2.719,30,0.001,32,0.16,39,3.724,95,0.134,99,1.99,101,0.013,103,0.001,104,0.001,112,0.94,159,1.01,161,2.353,193,5.227,3011,6.131,3898,4.949,7218,4.702,7219,9.148,7324,11.147,7326,10.084,7332,8.668]],["title/injectables/CopyFilesService.html",[589,0.926,7333,5.86]],["body/injectables/CopyFilesService.html",[0,0.207,3,0.011,4,0.019,5,0.008,7,0.083,8,0.98,26,2.224,27,0.428,29,0.888,30,0.001,31,0.701,32,0.158,33,0.502,34,1.988,35,1.152,36,1.813,39,2.787,47,0.439,95,0.139,99,1.203,100,2.082,101,0.011,103,0,104,0,118,4.706,135,1.771,141,3.677,148,1.143,153,0.966,155,1.906,161,1.422,228,1.541,277,0.854,317,2.172,402,3.086,412,2.652,433,1.054,532,4.574,589,1.14,591,1.416,652,2.596,657,1.365,675,3.048,896,3.319,1562,4.706,3011,3.92,3287,8.88,3305,7.177,3316,4.706,3317,4.475,3318,3.675,3319,3.403,3337,8.654,3338,8.449,3346,5.023,3898,6.067,5234,2.858,5317,4.583,5409,8.813,6203,5.467,7198,7.089,7212,3.903,7218,5.536,7221,9.574,7320,5.24,7333,7.218,7334,10.77,7335,5.97,7336,10.042,7337,8.579,7338,7.947,7339,5.97,7340,8.968,7341,5.97,7342,5.97,7343,5.97,7344,8.579,7345,5.97,7346,10.042,7347,11.552,7348,8.579,7349,5.97,7350,5.97,7351,5.24,7352,5.53,7353,8.579,7354,5.97,7355,5.97,7356,5.97,7357,5.97,7358,5.97,7359,7.947,7360,5.97,7361,7.53,7362,5.97,7363,5.97,7364,4.475,7365,5.97,7366,5.97,7367,5.53,7368,5.97,7369,8.579,7370,5.97,7371,5.53,7372,4.706,7373,4.85,7374,5.24,7375,8.579,7376,5.97,7377,5.97]],["title/modules/CopyHelperModule.html",[252,1.839,7378,5.221]],["body/modules/CopyHelperModule.html",[0,0.339,3,0.018,4,0.018,5,0.009,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.395,254,3.527,255,3.744,256,3.838,257,3.824,258,3.811,259,4.671,260,4.779,269,4.671,270,3.77,271,3.693,277,1.402,3287,10.683,7177,8.249,7378,10.584,7379,9.804,7380,9.804,7381,9.804,7382,9.081,7383,9.804,7384,9.081,7385,9.804]],["title/injectables/CopyHelperService.html",[589,0.926,3287,5.109]],["body/injectables/CopyHelperService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,26,1.397,27,0.423,29,0.829,30,0.001,31,0.73,32,0.134,33,0.496,35,1.245,47,0.973,95,0.13,99,1.389,101,0.009,103,0,104,0,129,2.041,130,1.865,135,1.65,145,2.587,148,1.277,153,1.115,185,2.361,277,0.986,301,6.125,402,4.561,589,1.262,591,1.635,756,3.785,896,3.832,1767,3.744,1849,3.928,2125,3.613,2796,5.811,3287,6.962,3305,8.653,3317,8.138,3341,8.792,3346,5.799,3401,6.384,3409,6.049,5266,4.635,6257,4.956,7177,9.842,7372,8.558,7386,11.697,7387,6.893,7388,9.492,7389,9.492,7390,9.492,7391,9.492,7392,6.893,7393,10.856,7394,9.492,7395,9.842,7396,6.893,7397,9.492,7398,6.893,7399,6.384,7400,6.893,7401,9.492,7402,6.893,7403,5.799,7404,6.893,7405,6.893,7406,5.799,7407,6.893,7408,6.893,7409,6.893,7410,6.893,7411,10.856,7412,6.893,7413,5.166,7414,9.492,7415,6.893,7416,9.492,7417,6.893,7418,6.893,7419,6.893,7420,6.893,7421,6.893,7422,6.893]],["title/classes/CopyMapper.html",[0,0.241,7423,5.658]],["body/classes/CopyMapper.html",[0,0.246,2,0.751,3,0.013,4,0.013,5,0.006,7,0.099,8,1.108,26,2.654,27,0.43,29,0.842,30,0.001,31,0.62,32,0.147,33,0.504,35,1.266,39,3.701,95,0.149,99,1.433,100,4.464,101,0.009,103,0,104,0,135,1.542,148,1.085,153,1.15,155,2.27,326,3.691,402,2.558,467,3.936,478,1.993,830,5.391,2027,4.747,2957,5.229,2959,4.454,3305,8.109,3317,5.331,3337,5.607,3403,8.983,3407,8.983,5762,4.378,7176,9.343,7177,9.973,7372,7.645,7399,6.588,7423,7.879,7424,7.112,7425,9.698,7426,9.698,7427,9.698,7428,9.973,7429,7.112,7430,10.222,7431,9.698,7432,9.973,7433,7.112,7434,10.222,7435,9.698,7436,7.112,7437,7.112,7438,8.983,7439,7.112,7440,7.112,7441,7.112,7442,7.112,7443,7.112,7444,7.112,7445,9.698,7446,5.984,7447,7.112,7448,7.112,7449,7.112,7450,7.112,7451,7.112,7452,7.112,7453,7.112,7454,7.112,7455,8.983,7456,6.588]],["title/modules/CoreModule.html",[252,1.839,7457,4.494]],["body/modules/CoreModule.html",[0,0.286,3,0.015,4,0.015,5,0.007,30,0.001,95,0.145,101,0.011,103,0.001,104,0.001,157,1.91,252,3.44,254,2.969,255,3.151,256,3.231,257,3.219,258,3.208,259,2.997,260,4.416,265,6.602,269,4.192,270,3.174,271,3.108,276,4.192,277,1.18,1080,4.12,1373,5.026,2447,3.449,4237,6.909,4946,8.44,5087,8.44,5301,7.558,7457,9.232,7458,8.253,7459,8.253,7460,8.253,7461,11.236,7462,11.72,7463,11.72,7464,8.253,7465,7.699,7466,9.008,7467,9.917,7468,10.707,7469,7.699,7470,8.025,7471,10.707,7472,7.429,7473,9.397,7474,9.917,7475,10.707,7476,9.008,7477,6.704]],["title/interfaces/CoreModuleConfig.html",[159,0.712,7478,5.86]],["body/interfaces/CoreModuleConfig.html",[3,0.02,4,0.02,5,0.01,30,0.001,95,0.14,101,0.014,103,0.001,104,0.001,159,1.09,161,2.54,231,2.165,252,2.815,311,6.795,393,5.28,2447,4.457,7478,10.556,7479,10.663,7480,11.217,7481,11.217]],["title/classes/County.html",[0,0.241,7482,5.86]],["body/classes/County.html",[0,0.36,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,27,0.482,29,0.603,30,0.001,31,0.741,32,0.153,33,0.361,47,1.024,55,2.108,83,3.05,95,0.116,96,2.061,101,0.015,103,0,104,0,112,0.816,159,0.807,195,2.286,196,3.859,197,2.907,205,2.12,223,3.853,224,2.287,225,3.986,226,3.59,229,3.114,231,1.362,232,2.137,233,2.448,430,3.247,431,3.384,433,0.97,460,4.809,461,5.391,462,4.809,463,5.391,1835,4.057,2184,4.117,2712,5.277,4654,5.49,4664,3.556,6740,5.98,6756,5.233,7482,11.62,7483,11.276,7484,6.93,7485,10.209,7486,10.209,7487,9.129,7488,7.896,7489,7.896,7490,7.896,7491,7.896,7492,8.752,7493,9.129,7494,9.129,7495,6.93,7496,6.93,7497,6.93,7498,6.93,7499,6.93,7500,6.93,7501,5.479,7502,6.93,7503,6.93,7504,6.224]],["title/entities/Course.html",[205,1.419,2033,2.641]],["body/entities/Course.html",[0,0.188,2,0.845,3,0.006,4,0.006,5,0.003,7,0.14,26,2.037,27,0.479,30,0.001,31,0.497,32,0.148,33,0.511,34,1.182,39,1.919,47,0.923,62,3.24,83,3.188,95,0.131,96,0.862,101,0.009,103,0,104,0,112,0.426,122,1.126,125,2.79,129,3.468,130,2.942,134,1.17,135,1.666,148,1.258,153,1.959,155,1.054,157,2.048,159,0.338,190,2.201,195,2.662,196,2.935,197,0.923,205,1.107,206,1.078,211,3.813,219,2.995,223,3.574,224,0.957,225,2.081,226,1.502,229,1.303,231,0.57,232,0.894,233,1.024,290,2.256,304,1.636,371,1.756,403,2.772,433,0.406,458,1.317,467,1.58,526,1.781,540,1.096,569,1.688,578,1.731,579,1.55,595,1.253,615,3.307,652,1.629,692,4.124,700,2.628,701,2.628,703,2.456,711,3.242,756,1.317,774,2.779,886,2.189,962,2.332,1237,0.957,1312,2.558,1821,2.571,1829,2.327,1835,2.79,1926,2.012,2033,3.607,2164,1.532,2184,3.169,2942,5.432,2946,6.269,2950,3.843,2958,2.332,2960,2.08,3418,3.606,3469,2.221,3470,2.16,3649,1.883,3752,2.132,3907,3.55,3914,3.06,4049,2.332,4094,2.08,4118,3.599,4119,3.599,4174,2.221,4441,1.952,4588,1.86,4589,5.652,4604,2.779,4638,5.071,4664,2.446,4739,5.708,5466,1.899,5727,2.531,6206,1.899,6207,3.24,6208,2.221,6211,3.46,6230,3.599,6231,2.132,6238,3.55,6251,2.255,6270,3.651,7413,2.476,7469,2.375,7505,2.899,7506,6.759,7507,6.04,7508,6.361,7509,5.384,7510,5.085,7511,4.797,7512,6.361,7513,5.637,7514,5.652,7515,6.489,7516,5.029,7517,4.765,7518,3.303,7519,4.765,7520,3.303,7521,3.303,7522,4.765,7523,3.303,7524,4.765,7525,3.303,7526,7.027,7527,2.779,7528,3.303,7529,4.765,7530,3.303,7531,4.765,7532,3.303,7533,2.899,7534,3.303,7535,2.899,7536,3.303,7537,3.303,7538,6.403,7539,3.303,7540,4.765,7541,3.303,7542,3.303,7543,3.303,7544,2.899,7545,5.071,7546,2.899,7547,2.899,7548,2.899,7549,3.342,7550,3.983,7551,2.684,7552,2.056,7553,1.867,7554,4.411,7555,4.411,7556,2.899,7557,2.684,7558,2.375,7559,2.899,7560,2.899,7561,2.779,7562,2.476,7563,2.899,7564,2.899,7565,2.604,7566,2.899,7567,3.38,7568,10.191,7569,4.971,7570,2.684,7571,3.599,7572,1.971,7573,2.034,7574,1.971,7575,2.684,7576,2.899,7577,2.899,7578,4.765,7579,4.765,7580,4.765,7581,6.505,7582,4.411,7583,4.168,7584,4.765,7585,4.07,7586,4.168,7587,2.476,7588,2.899,7589,2.899,7590,2.899,7591,2.899,7592,2.899,7593,4.765,7594,2.899,7595,2.899,7596,2.899,7597,2.899,7598,2.899,7599,2.899,7600,2.899,7601,5.816,7602,6.067,7603,2.899,7604,2.899,7605,2.899,7606,2.899,7607,2.899,7608,2.423,7609,2.899,7610,2.899,7611,2.899,7612,2.899,7613,2.899,7614,2.899,7615,2.779,7616,2.899,7617,6.067,7618,4.765,7619,2.899,7620,2.899,7621,2.684,7622,2.292,7623,2.899,7624,5.616,7625,2.899,7626,2.899,7627,2.899,7628,2.899]],["title/controllers/CourseController.html",[314,2.65,7629,6.113]],["body/controllers/CourseController.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.369,29,0.722,30,0.001,31,0.531,32,0.134,33,0.432,35,1.085,36,2.467,56,4.455,70,4.799,95,0.151,100,2.391,101,0.009,103,0,104,0,135,1.593,141,4.641,148,0.93,153,1.751,190,1.695,195,1.507,202,1.574,228,1.944,274,2.855,277,0.981,298,2.978,314,2.61,316,3.3,317,2.739,325,6.424,349,6.582,365,4.809,388,4.054,392,3.57,395,3.67,398,3.697,433,0.842,579,1.958,634,6.28,651,3.479,652,2.202,657,2.163,863,5.217,871,4.773,883,8.239,1447,5.03,2352,9.503,2393,3.625,2954,5.027,3220,7.079,3240,3.524,4077,4.092,5466,5.437,5743,9.503,7629,8.301,7630,6.857,7631,10.029,7632,6.857,7633,10.244,7634,10.244,7635,9.458,7636,6.857,7637,6.352,7638,7.38,7639,6.857,7640,6.269,7641,5.571,7642,4.133,7643,6.018,7644,6.857,7645,9.11,7646,6.352,7647,6.857,7648,9.11,7649,6.857,7650,5.77,7651,6.857,7652,6.857,7653,6.857,7654,6.857,7655,5.406,7656,6.857,7657,6.857,7658,5.571,7659,6.857,7660,6.857,7661,6.857,7662,6.857,7663,6.857,7664,5.77,7665,6.857]],["title/injectables/CourseCopyService.html",[589,0.926,7666,5.658]],["body/injectables/CourseCopyService.html",[0,0.174,3,0.009,4,0.009,5,0.005,7,0.07,8,0.864,10,2.021,26,1.841,27,0.422,29,0.827,30,0.001,31,0.664,32,0.165,33,0.495,35,1.159,36,2.136,39,2.522,47,0.556,83,1.474,95,0.132,99,1.013,101,0.006,103,0,104,0,125,1.198,135,1.732,145,1.887,148,0.993,153,1.223,155,1.605,158,1.856,172,3.227,195,1.105,228,2.045,268,7.194,277,0.719,279,2.085,290,2.949,317,2.69,326,2.878,402,4.372,433,0.929,478,1.409,589,1.005,591,1.193,652,2.73,657,2.897,703,1.543,896,4.204,1911,7.008,1998,3.964,2027,4.448,2033,5.09,2048,3.616,2051,3.846,2608,3.031,2990,4.085,3270,9.938,3272,3.964,3283,8.854,3287,8.664,3293,3.964,3305,7.444,3315,10.545,3316,3.964,3317,3.769,3318,3.095,3319,2.866,3330,7.976,3336,4.413,3337,3.964,3338,4.231,3365,3.86,3633,3.616,3906,4.413,4739,3.245,5453,4.658,7372,3.964,7395,6.362,7406,7.646,7506,3.381,7507,3.433,7512,3.616,7515,3.688,7666,6.143,7667,11.385,7668,7.646,7669,7.561,7670,7.561,7671,7.561,7672,4.231,7673,9.596,7674,5.028,7675,5.028,7676,7.561,7677,10.107,7678,5.028,7679,7.561,7680,12.666,7681,5.028,7682,11.385,7683,7.561,7684,5.028,7685,5.028,7686,8.804,7687,6.636,7688,4.658,7689,5.028,7690,5.028,7691,5.028,7692,5.028,7693,5.028,7694,4.658,7695,5.028,7696,5.028,7697,5.028,7698,5.028,7699,5.028,7700,7.561,7701,5.028,7702,7.561,7703,5.028,7704,4.231,7705,5.028,7706,5.028,7707,5.028,7708,5.028,7709,5.028,7710,5.028,7711,4.658,7712,5.028,7713,5.028,7714,5.028,7715,7.561,7716,5.028,7717,5.028,7718,5.028,7719,5.028,7720,5.028,7721,5.028]],["title/injectables/CourseCopyUC.html",[589,0.926,7722,5.86]],["body/injectables/CourseCopyUC.html",[0,0.265,3,0.014,4,0.014,5,0.007,7,0.107,8,1.166,26,2.706,27,0.447,29,0.779,30,0.001,31,0.573,32,0.126,33,0.466,35,1.17,36,2.156,39,2.832,95,0.151,99,1.545,101,0.01,102,4.076,103,0,104,0,122,1.59,135,1.492,141,4.373,148,0.754,153,1.24,183,3.896,228,1.832,277,1.097,317,2.48,433,1.253,569,2.384,579,2.19,589,1.356,591,1.819,595,2.909,610,3.025,652,2.588,657,2.333,693,3.488,1268,7.058,1312,3.613,1475,6.425,1780,4.623,1909,9.635,1953,5.414,2027,6.229,2219,3.438,2220,5.145,2221,4.966,2222,6.425,2680,3.522,3305,5.014,3318,4.721,3319,4.371,3972,5.083,4157,5.626,7666,10.85,7668,8.585,7722,8.585,7723,11.321,7724,6.731,7725,10.284,7726,7.669,7727,7.669,7728,7.669,7729,9.451,7730,7.669,7731,6.731,7732,7.669,7733,7.669,7734,6.453,7735,7.104,7736,7.669,7737,6.731,7738,6.731,7739,4.829]],["title/injectables/CourseExportUc.html",[589,0.926,7645,5.86]],["body/injectables/CourseExportUc.html",[0,0.287,3,0.015,4,0.015,5,0.007,7,0.116,8,1.228,26,2.759,27,0.419,29,0.821,30,0.001,31,0.604,32,0.133,33,0.491,35,0.952,36,2.272,39,3.624,95,0.152,99,1.673,101,0.011,103,0.001,104,0.001,135,1.08,148,0.816,183,4.105,228,1.93,277,1.187,317,2.579,433,1.321,589,1.429,591,1.97,595,3.149,652,2.186,657,1.899,693,3.776,1780,5.005,1862,6.335,1909,9.937,1953,5.862,2027,5.261,2680,3.813,4157,6.091,5735,6.769,5738,10.607,5743,9.435,5752,6.52,5753,8.747,5757,9.957,5776,4.861,7645,9.045,7723,11.041,7734,6.987,7740,8.304,7741,8.304,7742,8.304,7743,10.75,7744,8.304,7745,8.304,7746,8.304,7747,8.304,7748,8.304,7749,8.304]],["title/classes/CourseFactory.html",[0,0.241,7750,5.86]],["body/classes/CourseFactory.html",[0,0.154,2,0.471,3,0.008,4,0.008,5,0.004,7,0.062,8,0.788,27,0.52,29,1.011,30,0.001,31,0.722,32,0.166,33,0.579,34,1.443,35,1.377,47,0.507,55,2.603,59,3.193,95,0.114,101,0.006,103,0,104,0,112,0.541,113,4.315,127,4.76,129,3.465,130,3.167,135,1.597,148,1.01,153,1.116,157,2.378,172,2.944,185,2.363,192,2.459,205,2.093,206,2.251,228,1.239,231,1.19,326,4.945,374,2.996,433,0.548,436,3.795,467,2.008,478,1.249,501,7.19,502,5.28,505,3.835,506,5.28,507,5.335,508,3.835,509,3.835,510,3.835,511,3.776,512,4.308,513,4.691,514,6.524,515,5.622,516,6.974,517,2.499,522,2.479,523,3.835,524,2.499,525,4.978,526,5.121,527,4.036,528,4.819,529,3.805,530,2.479,531,2.337,532,3.983,533,2.37,534,2.337,535,2.479,536,2.499,537,4.618,538,2.479,539,7.295,540,3.882,541,6.505,542,2.499,543,4.107,544,2.479,545,2.499,546,2.479,547,2.499,548,2.479,549,2.775,550,2.61,551,2.479,552,5.945,553,2.499,554,2.479,555,3.835,556,3.5,557,3.835,558,2.499,559,2.404,560,2.37,561,2.008,562,2.479,563,2.479,564,2.479,565,2.499,566,2.499,567,1.662,568,2.479,569,1.386,570,2.499,571,2.731,572,2.479,573,2.499,575,2.563,576,2.635,577,5.668,697,3.206,698,3.423,703,1.368,1743,3.206,2033,3.2,4118,6.295,4739,4.452,7506,2.998,7513,4.397,7515,6.967,7554,3.622,7750,7.1,7751,4.459,7752,9.498,7753,6.39,7754,6.899,7755,4.459,7756,4.459,7757,6.39,7758,4.459,7759,4.13,7760,6.899,7761,4.459,7762,4.459,7763,3.515,7764,3.622,7765,7.816,7766,3.206,7767,4.787,7768,5.605,7769,4.13,7770,4.459,7771,4.459,7772,4.459,7773,3.515]],["title/entities/CourseGroup.html",[205,1.419,6207,4.156]],["body/entities/CourseGroup.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.176,26,2.356,27,0.453,30,0.001,31,0.653,32,0.16,39,1.887,47,0.855,62,4.057,95,0.149,96,1.775,101,0.012,103,0,104,0,112,0.845,125,2.24,129,2.013,130,1.84,134,2.408,135,0.885,148,0.668,153,1.521,159,0.962,190,2.085,205,1.916,206,2.218,223,3.359,224,1.969,225,3.603,226,3.092,229,2.681,231,1.173,232,1.84,233,2.108,290,2.231,569,2.113,692,5.422,703,3.568,711,2.724,813,3.811,962,4.8,1065,3.347,1080,2.357,1237,1.969,1393,3.875,1821,3.22,2027,4.602,2033,5.141,2184,2.691,2513,3.875,2553,4.281,2942,5.856,2946,5.033,2950,3.78,2956,4.057,2958,4.8,2960,4.281,2972,4.445,3102,4.098,3159,3.077,3365,5.219,3750,4.642,4588,2.329,4664,3.062,5727,4.384,6207,5.611,6211,5.992,6230,6.232,6231,4.388,6232,4.281,6240,4.507,6270,7.248,7179,5.36,7508,4.889,7513,7.411,7549,5.788,7552,4.232,7553,3.842,7569,6.761,7573,4.186,7575,5.524,7624,5.524,7774,6.298,7775,5.968,7776,6.799,7777,6.799,7778,4.572,7779,6.298,7780,6.799,7781,6.799,7782,6.799,7783,7.911,7784,6.298,7785,6.298,7786,4.8,7787,6.298,7788,6.298,7789,6.298,7790,6.298,7791,6.298,7792,6.298]],["title/classes/CourseGroupFactory.html",[0,0.241,7793,6.451]],["body/classes/CourseGroupFactory.html",[0,0.172,2,0.525,3,0.009,4,0.009,5,0.004,7,0.069,8,0.857,27,0.518,29,1.023,30,0.001,31,0.73,32,0.168,33,0.586,34,1.543,35,1.421,47,0.551,55,2.559,59,3.352,95,0.12,101,0.006,103,0,104,0,112,0.588,113,4.504,127,5.037,129,3.587,130,3.278,135,1.174,148,0.737,157,2.089,172,3.2,185,2.568,192,2.742,205,2.198,206,2.446,228,1.346,231,1.294,326,4.882,374,3.256,433,0.611,436,3.884,467,2.182,478,1.393,501,7.331,502,5.587,505,4.168,506,5.587,507,5.505,508,4.168,509,4.168,510,4.168,511,4.104,512,4.608,513,5.018,514,6.579,515,5.903,516,7.119,517,2.787,522,2.764,523,4.168,524,2.787,525,5.268,526,5.419,527,4.271,528,5.099,529,4.135,530,2.764,531,2.606,532,4.158,533,2.643,534,2.606,535,2.764,536,2.787,537,4.94,538,2.764,539,7.228,540,4.019,541,6.733,542,2.787,543,4.393,544,2.764,545,2.787,546,2.764,547,2.787,548,2.764,549,3.095,550,2.911,551,2.764,552,6.205,553,2.787,554,2.764,555,4.168,556,3.804,557,4.168,558,2.787,559,2.681,560,2.643,561,2.24,562,2.764,563,2.764,564,2.764,565,2.787,566,2.787,567,1.854,568,2.764,569,1.545,570,2.787,571,2.968,572,2.764,573,2.787,575,2.859,576,2.938,577,2.967,697,3.575,698,3.817,2033,1.886,6207,4.474,7513,4.778,7750,4.184,7753,6.945,7757,6.945,7759,4.606,7769,4.606,7783,4.184,7793,8.36,7794,4.972,7795,4.972,7796,4.606,7797,4.972,7798,4.606]],["title/interfaces/CourseGroupProperties.html",[159,0.712,7783,5.86]],["body/interfaces/CourseGroupProperties.html",[0,0.246,3,0.013,4,0.013,5,0.006,7,0.178,26,2.402,30,0.001,31,0.697,32,0.162,33,0.443,39,1.974,47,0.911,62,4.244,95,0.151,96,1.857,101,0.012,103,0,104,0,112,0.866,125,1.694,134,2.519,135,0.925,148,0.699,153,1.15,159,0.992,161,1.694,205,1.976,223,3.022,224,2.06,225,3.716,226,3.234,229,2.805,231,1.227,232,1.925,233,2.205,290,2.812,569,2.211,692,5.145,703,2.975,711,2.809,813,3.986,962,5.021,1065,3.501,1080,2.465,1237,2.06,1393,4.053,1821,3.368,2027,3.481,2033,5.276,2184,2.815,2513,4.053,2553,4.479,2942,5.119,2946,3.807,2950,3.954,2956,4.244,2958,5.021,2960,4.479,2972,4.65,3102,4.287,3159,3.219,3365,5.46,3750,4.856,4588,2.436,4664,3.203,5727,4.521,6207,4.244,6211,6.18,6230,6.428,6231,4.59,6232,4.479,6240,4.714,6270,7.421,7179,5.607,7508,5.114,7513,7.905,7549,5.97,7552,4.427,7553,4.019,7569,5.114,7573,4.378,7575,5.778,7624,5.778,7774,6.588,7783,9.285,7784,6.588,7785,6.588,7786,5.021,7787,6.588,7788,6.588,7789,6.588,7790,6.588,7791,6.588,7792,6.588]],["title/injectables/CourseGroupRepo.html",[589,0.926,1910,5.346]],["body/injectables/CourseGroupRepo.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,10,3.801,12,4.28,13,6.677,18,4.74,26,2.629,27,0.506,29,0.966,30,0.001,31,0.711,32,0.157,33,0.578,34,1.173,35,1.452,36,2.794,39,1.903,40,4.577,42,6.677,47,0.796,49,2.583,95,0.136,96,1.79,97,2.766,98,4.133,99,1.382,101,0.009,103,0,104,0,135,1.409,148,1.147,153,1.109,205,1.397,206,3.086,231,1.632,277,0.981,317,3.013,436,3.448,478,1.921,532,5.029,589,1.257,591,1.627,657,2.669,728,7.525,734,3.986,735,4.28,736,5.33,759,4.092,760,4.176,761,4.133,762,4.176,764,4.133,765,4.176,766,3.67,773,4.545,1910,7.26,2033,3.587,2938,6.71,3998,4.841,6207,6.965,7508,8.393,7513,4.37,7799,6.857,7800,8.761,7801,8.761,7802,6.857,7803,7.26,7804,6.857,7805,6.857,7806,6.857,7807,5.264,7808,6.857,7809,9.458]],["title/injectables/CourseGroupRule.html",[589,0.926,1867,5.658]],["body/injectables/CourseGroupRule.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.446,29,0.873,30,0.001,31,0.642,32,0.151,33,0.522,35,1.166,95,0.142,101,0.01,103,0,104,0,122,2.528,135,1.587,148,0.999,183,4.657,205,2.761,228,1.825,277,1.09,290,3.254,400,2.236,433,0.937,478,2.136,589,1.351,591,1.809,652,1.551,653,3.136,711,3.784,1197,5.521,1237,2.209,1775,6.674,1778,7.199,1792,5.291,1801,8.042,1804,8.921,1838,7.35,1867,8.258,1868,9.996,1982,6.478,1986,6.257,1993,4.986,2619,6.478,3711,5.054,3714,6.559,3716,5.054,3717,6.737,6207,8.084,7513,4.86,7810,12.195,7811,7.626,7812,7.626,7813,7.626,7814,7.626,7815,6.693,7816,6.693,7817,6.416,7818,6.693]],["title/injectables/CourseGroupService.html",[589,0.926,7819,6.113]],["body/injectables/CourseGroupService.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.767,27,0.467,29,0.915,30,0.001,31,0.674,32,0.148,33,0.548,35,1.243,36,2.677,39,3.008,95,0.141,98,5.068,99,1.694,101,0.011,103,0.001,104,0.001,135,1.41,148,1.065,228,1.51,277,1.202,279,3.486,317,2.903,400,2.465,433,1.033,478,2.355,589,1.441,591,1.995,657,2.742,711,3.888,1910,9.723,2636,5.304,2938,7.281,6207,5.017,7508,8.622,7819,9.511,7820,8.408,7821,10.837,7822,10.837,7823,7.074,7824,8.408,7825,10.837,7826,8.408,7827,10.837,7828,8.408,7829,10.837,7830,8.408,7831,8.408,7832,8.408]],["title/classes/CourseMapper.html",[0,0.241,7643,6.113]],["body/classes/CourseMapper.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,27,0.377,29,0.738,30,0.001,31,0.543,32,0.12,33,0.441,35,1.108,95,0.132,100,4.124,101,0.012,103,0.001,104,0.001,135,1.539,148,0.95,153,1.563,467,3.72,478,2.707,837,4.785,2033,5.181,7643,10.379,7833,9.662,7834,11.826,7835,11.826,7836,9.662,7837,11.205,7838,9.662,7839,9.662,7840,9.662,7841,9.662,7842,9.662,7843,9.662,7844,9.662,7845,9.662,7846,9.662]],["title/classes/CourseMetadataListResponse.html",[0,0.241,7650,5.86]],["body/classes/CourseMetadataListResponse.html",[0,0.317,2,0.691,3,0.012,4,0.012,5,0.006,7,0.091,26,1.855,27,0.469,29,0.5,30,0.001,31,0.368,32,0.164,33,0.55,34,1.956,47,0.941,55,2.836,56,5.877,59,2.846,70,6.33,83,3.832,95,0.118,99,1.319,101,0.012,103,0,104,0,112,0.718,125,1.559,155,3.843,157,2.965,190,2.05,201,4.446,202,1.503,223,2.039,231,1.58,296,3.264,298,2.842,304,3.241,339,3.53,433,1.125,436,3.379,458,2.61,567,2.44,862,7.972,863,6.881,864,5.264,866,3.26,868,5.083,869,3.203,870,3.582,871,2.408,872,4.62,873,5.835,874,5.36,875,4.279,876,5.499,877,4.62,878,4.62,880,4.171,881,3.582,1568,4.541,2033,4.005,2049,4.668,2328,4.121,3056,3.15,3197,3.503,3198,3.503,4094,6.65,7506,4.401,7507,7.211,7512,7.594,7515,7.747,7581,5.317,7583,5.024,7585,4.905,7622,7.328,7650,7.704,7837,10.776,7847,8.481,7848,5.506,7849,6.544,7850,6.544,7851,5.317,7852,5.159,7853,7.937,7854,5.159,7855,6.062,7856,5.159,7857,5.159,7858,4.279,7859,4.62,7860,5.317]],["title/classes/CourseMetadataResponse.html",[0,0.241,7837,5.86]],["body/classes/CourseMetadataResponse.html",[0,0.297,2,0.631,3,0.011,4,0.011,5,0.005,7,0.083,26,2.226,27,0.498,29,0.456,30,0.001,31,0.336,32,0.161,33,0.57,34,2.183,47,1.026,55,2.036,56,4.046,59,3.124,70,4.357,83,4.131,95,0.112,99,1.205,101,0.011,103,0,104,0,112,0.674,155,4.263,157,2.888,190,2.237,201,4.27,202,1.373,223,2.676,231,1.032,296,3.169,298,2.596,304,4.253,339,2.518,433,1.055,458,2.385,567,3.202,862,5.346,863,3.298,864,3.437,868,5.287,876,5.719,880,3.81,881,3.272,1361,5.778,1568,5.959,2033,4.593,2049,5.21,2328,5.408,2435,4.082,3056,2.878,3197,4.597,3198,4.597,4094,7.857,7506,5.775,7507,8.519,7512,8.972,7515,9.152,7581,4.858,7583,4.59,7585,4.482,7622,8.658,7650,5.031,7837,9.789,7847,12.042,7848,5.031,7851,4.858,7852,4.713,7853,8.859,7854,6.77,7855,7.955,7856,6.77,7857,6.77,7858,5.615,7859,6.063,7860,6.977,7861,5.979,7862,5.979,7863,5.979,7864,5.979,7865,5.979,7866,5.979,7867,5.979,7868,5.979]],["title/entities/CourseNews.html",[205,1.419,7869,5.221]],["body/entities/CourseNews.html",[0,0.356,3,0.01,4,0.017,5,0.005,7,0.161,9,3.599,26,2.083,27,0.203,30,0.001,31,0.436,32,0.127,34,0.89,47,0.922,83,2.275,95,0.137,96,2.422,101,0.014,103,0,104,0,112,0.863,134,1.843,148,0.512,153,1.5,155,2.961,159,0.532,190,0.933,195,2.625,196,3.964,205,2.241,206,1.698,223,3.723,224,1.507,225,2.973,226,2.367,231,1.774,232,2.782,233,1.613,290,2.609,409,5.912,412,4.12,435,1.788,457,5.157,467,1.515,512,4.736,571,3.672,613,4.46,692,5.376,693,2.367,703,3.374,704,3.961,886,2.457,1086,4.416,1087,4.745,1088,4.347,1089,4.621,1090,5.039,1373,4.725,1821,3.674,1826,2.674,1842,3.545,1921,3.45,1939,2.766,2033,3.518,2393,3.555,2715,5.242,2923,3.901,2942,4.303,2956,3.106,3011,5.999,3056,2.505,3750,3.553,3752,3.358,3753,3.674,3755,3.742,3756,3.674,3757,3.901,3771,3.075,3908,3.553,3932,3.358,4588,1.783,4680,3.995,4681,3.611,4823,3.817,5301,3.674,5727,4.325,5817,3.817,6232,4.885,6480,6.804,6665,2.827,6668,5.002,7552,3.239,7553,2.941,7574,3.106,7869,5.816,7870,4.228,7871,5.204,7872,6.953,7873,6.065,7874,4.228,7875,4.776,7876,4.228,7877,9.091,7878,5.217,7879,5.816,7880,5.816,7881,6.951,7882,7.832,7883,4.228,7884,5.579,7885,4.228,7886,3.995,7887,3.995,7888,5.073,7889,4.228,7890,3.995,7891,3.995,7892,4.228,7893,3.901,7894,4.228,7895,3.137,7896,3.239,7897,3.995,7898,4.228,7899,4.228,7900,7.313,7901,4.228,7902,7.536,7903,4.228,7904,4.228,7905,5.956,7906,3.995,7907,6.548,7908,4.103,7909,5.143,7910,3.817,7911,3.995,7912,4.228]],["title/interfaces/CourseProperties.html",[159,0.712,7554,5.658]],["body/interfaces/CourseProperties.html",[0,0.201,2,0.976,3,0.007,4,0.007,5,0.003,7,0.145,26,2.11,30,0.001,31,0.556,32,0.158,33,0.613,34,1.252,39,2.032,47,0.956,62,2.142,83,3.517,95,0.134,96,0.937,101,0.009,103,0,104,0,112,0.456,122,1.205,125,2.356,129,2.168,134,1.271,135,1.693,148,1.279,153,1.753,155,1.146,157,2.289,159,0.367,161,0.855,195,2.382,196,3.066,197,1.003,205,1.184,219,3.205,223,3.378,224,1.04,225,2.227,226,1.632,229,1.416,231,0.619,232,0.971,233,1.113,290,2.845,304,1.778,371,1.908,403,2.967,433,0.441,458,1.432,467,1.691,526,1.936,540,1.191,569,1.806,578,1.882,579,1.659,595,1.361,615,3.539,652,1.711,692,4.611,700,2.812,701,2.812,703,2.835,711,3.333,756,1.432,774,3.02,886,2.318,962,2.534,1237,1.04,1312,2.737,1821,2.752,1829,2.491,1835,1.845,1926,2.186,2033,3.191,2164,1.665,2184,3.33,2942,4.587,2946,5.294,2950,4.07,2958,2.534,2960,2.26,3418,3.789,3469,2.414,3470,2.347,3649,2.046,3752,2.317,3907,3.799,4049,2.534,4094,2.26,4118,3.852,4119,3.852,4174,2.414,4441,2.121,4588,1.23,4589,5.168,4604,3.02,4638,6.778,4664,2.617,4739,6.382,5466,2.064,5727,2.709,6206,2.064,6207,3.467,6208,2.414,6211,3.703,6230,3.852,6231,2.317,6238,2.347,6251,2.451,6270,3.907,7413,2.691,7469,2.581,7505,3.151,7506,7.29,7507,6.752,7508,5.264,7509,6.214,7510,5.685,7511,2.491,7512,7.111,7513,6.302,7514,6.523,7515,7.254,7517,3.151,7519,3.151,7522,3.151,7524,3.151,7526,8.111,7529,3.151,7531,3.151,7540,3.151,7544,3.151,7545,6.778,7546,3.151,7547,3.151,7548,3.151,7549,3.577,7550,4.262,7551,2.916,7552,2.235,7553,2.029,7554,5.947,7555,4.721,7556,3.151,7557,2.916,7558,2.581,7559,3.151,7560,3.151,7561,3.02,7562,2.691,7563,3.151,7564,3.151,7565,2.83,7566,3.151,7567,3.617,7568,10.409,7569,5.264,7570,2.916,7571,3.852,7572,2.142,7573,2.21,7574,2.142,7575,2.916,7576,3.151,7577,3.151,7578,5.1,7579,5.1,7580,5.1,7581,6.835,7582,4.721,7583,4.461,7584,5.1,7585,4.356,7586,4.461,7587,2.691,7588,3.151,7589,3.151,7590,3.151,7591,3.151,7592,3.151,7593,5.1,7594,3.151,7595,3.151,7596,3.151,7597,3.151,7598,3.151,7599,3.151,7600,3.151,7601,6.159,7602,6.425,7603,3.151,7604,3.151,7605,3.151,7606,3.151,7607,3.151,7608,2.633,7609,3.151,7610,3.151,7611,3.151,7612,3.151,7613,3.151,7614,3.151,7615,3.02,7616,3.151,7617,6.425,7618,5.1,7619,3.151,7620,3.151,7621,2.916,7622,2.491,7623,3.151,7624,5.947,7625,3.151,7626,3.151,7627,3.151,7628,3.151]],["title/classes/CourseQueryParams.html",[0,0.241,7634,6.113]],["body/classes/CourseQueryParams.html",[0,0.409,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.12,95,0.142,101,0.016,103,0.001,104,0.001,112,0.928,157,2.237,190,1.732,194,4.647,195,2.599,196,3.924,197,3.305,200,2.957,202,2.219,296,3.094,299,4.63,301,6.235,886,3.744,1456,8.864,5735,6.084,5752,7.065,5753,9.479,5776,5.656,7634,10.379,7913,9.662,7914,9.662,7915,9.662,7916,9.662]],["title/injectables/CourseRepo.html",[589,0.926,1911,4.287]],["body/injectables/CourseRepo.html",[0,0.23,3,0.008,4,0.008,5,0.004,7,0.059,8,0.758,10,2.667,12,3.003,18,3.326,26,2.775,27,0.472,29,0.903,30,0.001,31,0.665,32,0.157,33,0.541,34,1.135,35,1.357,36,2.717,39,3.67,40,3.212,56,3.126,58,4.339,59,3.119,83,1.244,95,0.124,96,1.108,98,2.557,99,0.855,101,0.005,103,0,104,0,122,1.376,129,1.256,130,1.148,135,1.765,148,1.232,153,1.623,172,3.946,195,1.458,197,1.186,205,0.864,206,2.165,224,1.229,231,1.41,277,0.607,317,2.949,436,2.731,478,1.188,532,4.522,540,3.818,589,0.882,591,1.006,595,1.609,657,2.433,728,6.45,734,2.797,735,3.003,736,4.024,759,2.531,760,2.584,761,2.557,762,2.584,764,2.557,765,2.584,766,2.271,788,4.531,1911,4.085,1924,4.463,2027,3.248,2033,4.589,2232,5.27,2479,3.922,2938,6.117,3109,2.995,3998,2.995,4003,3.723,4119,6.129,4739,5.967,4811,6.444,4817,3.446,5136,6.129,5264,7.512,5466,6.117,6288,4.52,6895,6.313,7034,6.652,7508,3.05,7513,4.229,7514,5.771,7515,4.868,7638,4,7807,3.256,7917,3.929,7918,6.637,7919,7.175,7920,6.637,7921,6.147,7922,6.147,7923,4.242,7924,6.845,7925,4.242,7926,4.242,7927,4.242,7928,6.147,7929,4.242,7930,4.242,7931,6.147,7932,4.242,7933,4.242,7934,6.128,7935,10.621,7936,3.929,7937,6.147,7938,7.78,7939,3.929,7940,3.929,7941,3.929,7942,6.147,7943,6.147,7944,3.446,7945,3.929,7946,3.929,7947,3.929,7948,5.825,7949,6.147,7950,6.147,7951,6.147,7952,8.115,7953,4.868,7954,4.868,7955,7.572,7956,3.929,7957,3.723,7958,3.929,7959,3.929,7960,3.929]],["title/injectables/CourseRule.html",[589,0.926,1868,5.221]],["body/injectables/CourseRule.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.11,8,1.188,27,0.453,29,0.888,30,0.001,31,0.653,32,0.153,33,0.531,35,1.193,95,0.138,101,0.01,103,0,104,0,122,2.563,135,1.513,148,1.022,183,4.721,205,2.782,228,1.418,277,1.129,290,3.307,400,2.315,433,0.97,478,2.212,589,1.383,591,1.873,653,3.247,711,3.822,1197,6.318,1237,2.287,1775,6.767,1778,6.55,1793,5.233,1801,8.121,1838,7.452,1868,7.797,1982,6.629,1986,6.403,1993,5.162,2033,5.177,2619,6.629,3711,5.233,3714,6.712,3716,5.233,3717,6.894,4739,6.712,7513,5.032,7514,7.343,7961,7.896,7962,7.896,7963,7.896,7964,7.896,7965,7.896]],["title/classes/CourseScope.html",[0,0.241,7935,6.113]],["body/classes/CourseScope.html",[0,0.243,2,0.481,3,0.008,4,0.008,5,0.004,7,0.064,8,0.802,26,2.749,27,0.481,29,0.837,30,0.001,31,0.616,32,0.15,33,0.501,34,0.78,35,1.309,36,2.316,39,3.658,40,2.207,56,3.307,58,4.589,83,1.337,95,0.127,96,1.191,98,2.749,99,0.919,101,0.006,103,0,104,0,112,0.551,122,2.151,129,1.35,130,1.234,135,1.784,148,1.253,153,1.678,195,1.002,197,1.275,224,1.321,231,1.477,277,0.652,317,2.371,365,2.025,436,3.066,478,1.277,540,3.189,569,1.417,589,0.933,595,1.729,652,2.229,657,2.506,728,4.072,736,2.245,788,4.793,1911,2.807,1924,4.72,2027,3.436,2033,4.33,2232,5.478,2479,6.133,2938,6.301,3109,3.219,3998,3.219,4003,4.002,4119,6.371,4739,6.202,4811,3.595,5136,4.653,5264,4.955,5466,6.301,6288,5.306,6895,6.562,7007,4.653,7008,4.653,7009,4.653,7014,4.653,7015,4.653,7016,3.066,7017,3.023,7018,3.066,7019,3.066,7028,3.023,7029,4.653,7030,3.066,7031,3.023,7032,3.066,7033,3.023,7034,6.879,7508,3.279,7513,4.473,7514,6.041,7515,5.149,7638,4.231,7807,3.5,7917,4.224,7919,4.002,7922,4.224,7924,5.268,7928,4.224,7931,4.224,7934,6.415,7935,11.666,7936,6.502,7937,6.502,7938,8.087,7939,6.502,7940,6.502,7941,8.903,7942,6.502,7943,6.502,7944,3.705,7945,6.502,7946,4.224,7947,4.224,7948,6.161,7949,6.502,7950,6.502,7951,6.502,7952,8.436,7953,5.149,7954,5.149,7955,7.927,7956,4.224,7957,4.002,7958,4.224,7959,4.224,7960,4.224,7966,7.02,7967,7.02,7968,7.02,7969,7.02,7970,4.56,7971,4.56,7972,4.56,7973,4.56,7974,4.56]],["title/injectables/CourseService.html",[589,0.926,2018,4.616]],["body/injectables/CourseService.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,12,4.548,26,2.86,27,0.492,29,0.964,30,0.001,31,0.709,32,0.156,33,0.577,35,1.389,36,2.852,39,3.146,95,0.135,98,4.519,99,1.511,101,0.01,103,0,104,0,135,1.475,148,1.19,228,1.346,277,1.072,279,3.108,317,3.035,400,2.198,433,0.921,478,2.1,589,1.336,591,1.779,657,2.77,711,3.766,1911,7.456,2018,6.661,2027,3.67,2033,3.811,2636,4.919,2938,6.963,4811,7.922,4817,8.165,5466,7.261,7823,6.308,7975,7.498,7976,10.05,7977,10.05,7978,7.498,7979,10.05,7980,7.498,7981,7.498,7982,10.05,7983,7.498,7984,10.05,7985,7.498,7986,7.498,7987,11.337,7988,7.498,7989,7.498,7990,7.498]],["title/injectables/CourseUc.html",[589,0.926,7648,5.86]],["body/injectables/CourseUc.html",[0,0.308,3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,26,2.62,27,0.438,29,0.857,30,0.001,31,0.631,32,0.139,33,0.513,35,1.02,36,2.374,39,2.468,59,2.764,95,0.152,98,5.36,99,1.792,101,0.011,103,0.001,104,0.001,148,0.874,228,1.597,277,1.272,279,3.687,298,3.861,400,2.607,431,3.811,433,1.092,478,2.491,540,4.29,589,1.493,591,2.109,595,3.372,770,5.599,883,9.128,1911,8.383,2033,3.372,2232,5.068,7638,5.36,7648,9.449,7672,7.482,7694,8.236,7991,8.892,7992,11.231,7993,8.892,7994,11.231,7995,8.892,7996,6.826]],["title/injectables/CourseUrlHandler.html",[589,0.926,7997,5.86]],["body/injectables/CourseUrlHandler.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,9,3.23,27,0.496,29,0.94,30,0.001,31,0.692,32,0.164,33,0.563,34,1.635,35,1.347,36,2.02,47,1.001,95,0.137,101,0.009,103,0,104,0,105,10.269,106,7.34,107,7.136,108,8.868,110,4.613,111,5.49,112,0.75,113,3.798,114,8.868,115,7.536,116,7.766,117,7.536,118,7.536,120,5.49,122,1.444,123,5.658,125,2.6,126,5.49,127,5.888,129,2.831,130,2.587,131,5.998,134,2.466,135,1.42,148,0.94,228,1.251,231,1.649,233,2.159,277,0.996,317,2.361,400,2.042,433,0.856,436,3.47,589,1.271,591,1.652,657,1.593,1237,2.017,2017,6.112,2018,8.431,2029,5.22,2033,4.14,2048,5.008,4174,6.428,4177,7.536,4179,5.86,4180,5.86,4181,5.86,4184,7.338,4185,5.658,4186,7.338,4187,5.86,4188,5.658,4190,4.683,7997,8.043,7998,10.915,7999,6.112,8000,6.112,8001,9.56,8002,8.39,8003,8.39,8004,6.112,8005,6.964]],["title/classes/CourseUrlParams.html",[0,0.241,7633,6.113]],["body/classes/CourseUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2027,6.349,2033,4.579,4197,6.09,7633,10.598,8006,9.999,8007,9.999]],["title/classes/CreateCardBodyParams.html",[0,0.241,5639,6.113]],["body/classes/CreateCardBodyParams.html",[0,0.409,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.376,30,0.001,32,0.119,33,0.54,95,0.142,101,0.012,103,0.001,104,0.001,112,0.926,190,1.728,194,3.788,195,2.805,197,3.3,200,2.95,201,4.59,202,2.213,300,4.525,886,3.739,899,4.405,1853,3.162,2531,6.367,4484,10.741,4485,7.108,5639,10.364,6317,6.849,8008,11.809,8009,8.928,8010,7.72,8011,9.639,8012,9.639]],["title/classes/CreateContentElementBodyParams.html",[0,0.241,4046,5.86]],["body/classes/CreateContentElementBodyParams.html",[0,0.379,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,27,0.426,30,0.001,32,0.173,33,0.5,55,2.581,95,0.135,101,0.011,103,0.001,104,0.001,112,0.858,129,3.24,157,2.532,190,1.961,194,5.004,195,2.404,196,4.226,197,3.766,200,2.611,201,4.252,202,1.959,296,2.862,300,4.192,886,3.464,899,3.899,1083,6.182,1853,2.799,2049,5.197,2393,4.627,3076,6.817,3201,5.127,3792,5.921,3797,6.136,4046,9.205,4434,9.269,4485,7.133,6318,8.398,8010,5.579,8013,12.075,8014,7.18,8015,8.533,8016,10.133,8017,9.602,8018,8.533,8019,8.533,8020,8.533]],["title/interfaces/CreateJwtParams.html",[159,0.712,8021,6.113]],["body/interfaces/CreateJwtParams.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,30,0.001,32,0.167,33,0.64,47,1.068,85,8.714,95,0.111,101,0.009,103,0,104,0,112,0.782,135,1.569,148,0.98,159,0.758,161,1.766,403,5.093,467,2.904,711,2.889,1546,5.845,1548,5.558,1573,6.238,1585,4.516,1589,5.692,1593,4.564,1718,7.317,1730,7.477,7187,9.047,8021,9.894,8022,6.868,8023,9.919,8024,10.587,8025,9.919,8026,12.003,8027,10.903,8028,9.239,8029,6.868,8030,6.868,8031,6.868,8032,6.868,8033,8.755,8034,6.868,8035,9.239,8036,9.239,8037,6.868,8038,6.507,8039,6.507,8040,6.868,8041,9.239,8042,6.868,8043,6.868,8044,6.868,8045,6.868,8046,6.868,8047,5.845,8048,8.393,8049,5.845,8050,6.507,8051,6.868,8052,6.868,8053,6.868,8054,6.868]],["title/interfaces/CreateJwtPayload.html",[159,0.712,1699,5.49]],["body/interfaces/CreateJwtPayload.html",[3,0.015,4,0.015,5,0.008,7,0.116,30,0.001,32,0.169,33,0.577,39,3.629,47,1.073,48,5.917,55,2.184,85,8.49,101,0.014,103,0.001,104,0.001,112,0.845,122,2.776,159,1.102,161,1.986,180,3.574,231,1.439,290,1.978,413,5.078,561,3.756,812,5.314,1589,6.401,1593,5.133,1699,9.415,1719,6.116,1730,6.25,1829,4.62,1926,5.078,2530,9.229,3436,6.488,4588,4.325,4953,5.527,5805,5.451,7187,5.996,8023,6.573,8025,6.573,8047,6.573,8049,6.573,8055,7.723,8056,7.723,8057,10.623,8058,7.318,8059,7.723,8060,7.318,8061,7.318]],["title/interfaces/CreateNews.html",[159,0.712,8062,5.658]],["body/interfaces/CreateNews.html",[3,0.015,4,0.015,5,0.007,7,0.112,26,2.382,30,0.001,32,0.174,33,0.537,34,1.38,47,0.975,83,3.447,95,0.139,101,0.017,103,0,104,0,112,0.828,122,1.673,127,4.044,155,3.98,157,1.868,159,1.357,161,1.922,172,4.503,205,1.645,692,4.919,703,2.476,886,2.555,2033,4.459,2393,4.778,2473,5.023,3011,5.913,3965,7.083,5018,5.082,5466,4.639,7211,5.208,7872,6.049,7873,7.687,7875,6.495,7878,8.385,7881,6.36,7882,7.843,8062,8.572,8063,7.475,8064,9.774,8065,7.475,8066,7.475,8067,7.475,8068,5.427,8069,8.454,8070,6.79,8071,6.556,8072,6.556]],["title/classes/CreateNewsParams.html",[0,0.241,8073,5.658]],["body/classes/CreateNewsParams.html",[0,0.339,2,0.762,3,0.013,4,0.013,5,0.006,7,0.1,27,0.486,30,0.001,32,0.154,33,0.447,34,1.674,47,0.983,83,2.871,95,0.133,99,1.454,100,3.415,101,0.009,103,0,104,0,112,0.768,155,3.979,157,3.097,190,2.234,200,2.208,201,3.806,202,1.657,205,2.794,296,3.262,298,3.133,299,4.352,300,3.753,304,3.573,854,6.166,855,3.965,886,2.284,890,6.686,899,3.297,1083,5.534,1749,5.581,1924,6.585,2393,4.777,3011,5.448,3045,6.491,3197,5.242,3198,5.242,3589,3.756,4905,7.694,7180,6.585,7873,7.268,7878,7.476,7881,6.701,7882,8.188,8069,7.994,8073,7.956,8074,12.855,8075,6.332,8076,7.72,8077,7.215,8078,6.683,8079,6.07,8080,5.733,8081,8.239,8082,7.72,8083,6.683,8084,6.683,8085,7.215,8086,7.215,8087,7.183,8088,7.215,8089,5.861,8090,7.215,8091,6.686,8092,6.683,8093,6.683]],["title/classes/CreateSubmissionItemBodyParams.html",[0,0.241,8094,6.113]],["body/classes/CreateSubmissionItemBodyParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.121,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,122,2.775,157,2.269,190,1.757,194,4.688,195,2.622,199,6.581,200,3,202,2.251,296,3.122,3159,6.057,3595,8.444,8094,10.472,8095,9.405,8096,11.931,8097,9.081,8098,8.605,8099,10.472,8100,9.405,8101,9.081]],["title/classes/CurrentUserMapper.html",[0,0.241,8102,5.221]],["body/classes/CurrentUserMapper.html",[0,0.227,2,0.693,3,0.012,4,0.012,5,0.006,7,0.091,8,1.049,27,0.446,29,0.875,30,0.001,31,0.643,32,0.142,33,0.523,34,1.123,35,1.314,39,3.179,47,1.029,48,6.308,59,3.288,85,8.62,95,0.139,101,0.008,103,0,104,0,122,2.193,148,1.126,153,1.062,159,0.671,195,1.443,290,3.193,325,6.476,331,4.076,338,4.042,349,3.331,393,3.251,467,3.996,478,1.839,578,5.545,579,1.875,1699,8.34,1719,8.841,1722,5.524,1723,3.742,1853,2.154,2530,4.635,3436,5.886,4077,3.918,4588,3.924,5474,5.334,7003,4.635,8057,10.786,8102,6.879,8103,12.054,8104,5.524,8105,9.177,8106,9.177,8107,10.58,8108,9.177,8109,9.177,8110,6.566,8111,9.177,8112,6.566,8113,6.566,8114,6.222,8115,9.638,8116,6.566,8117,8.34,8118,9.177,8119,6.566,8120,6.266,8121,5.334,8122,6.566,8123,5.334,8124,6.566,8125,6.566,8126,5.763,8127,6.566,8128,5.04,8129,6.566,8130,6.566,8131,6.566,8132,6.566,8133,6.566,8134,6.566,8135,6.566,8136,6.566,8137,6.566,8138,6.082,8139,6.566,8140,6.566]],["title/interfaces/CustomLtiProperty.html",[159,0.712,8141,6.113]],["body/interfaces/CustomLtiProperty.html",[0,0.194,3,0.01,4,0.01,5,0.005,7,0.078,26,1.659,30,0.001,31,0.544,32,0.12,47,1.017,49,3.083,95,0.119,96,2.137,97,2.257,99,1.127,101,0.015,103,0,104,0,110,1.946,112,0.642,122,2.349,125,1.95,129,3.356,130,2.882,148,0.55,153,0.905,159,0.572,161,1.333,195,3.004,196,4.655,197,3.82,205,1.668,219,4.515,223,4.388,224,1.621,225,3.137,226,2.545,228,1.005,229,2.207,231,0.966,232,1.514,233,1.735,376,6.004,540,1.857,702,2.771,711,2.371,874,4.792,886,3.588,1454,3.445,1582,6.96,1598,3.307,1835,2.875,2125,5.94,2184,2.215,2465,3.307,2942,2.596,3436,2.875,4664,2.52,5343,4.546,7243,3.04,7557,4.546,7570,4.546,8141,8.495,8142,5.183,8143,7.184,8144,7.863,8145,7.582,8146,7.582,8147,5.183,8148,5.183,8149,7.582,8150,5.183,8151,5.183,8152,6.415,8153,7.582,8154,7.582,8155,5.183,8156,4.195,8157,4.411,8158,3.659,8159,4.411,8160,3.659,8161,6.887,8162,3.659,8163,4.411,8164,4.411,8165,4.195,8166,5.183,8167,5.183,8168,4.411,8169,5.183,8170,4.024,8171,4.411,8172,3.611,8173,3.373,8174,4.195,8175,3.408,8176,3.524,8177,4.105,8178,4.546,8179,4.411,8180,4.708,8181,4.708,8182,5.183,8183,4.296,8184,4.546,8185,4.708,8186,5.183,8187,4.296,8188,4.546,8189,4.411,8190,4.546,8191,4.296,8192,4.546,8193,4.708,8194,5.183,8195,4.708,8196,5.183,8197,4.708,8198,5.183,8199,5.183,8200,5.183,8201,5.183,8202,4.708,8203,5.183,8204,4.708,8205,5.183,8206,4.296,8207,4.546,8208,3.95,8209,4.195,8210,4.708,8211,5.183,8212,4.195,8213,4.546]],["title/classes/CustomLtiPropertyDO.html",[0,0.241,8214,5.86]],["body/classes/CustomLtiPropertyDO.html",[0,0.347,2,0.79,3,0.014,4,0.014,5,0.007,7,0.104,26,2.034,27,0.441,29,0.571,30,0.001,31,0.564,32,0.14,33,0.342,47,1.067,95,0.126,99,1.508,101,0.013,103,0,104,0,110,2.602,112,0.787,122,2.617,130,3.592,231,1.291,433,0.919,1598,4.422,1852,5.932,2125,6.811,2184,2.962,3436,3.845,4784,6.568,7243,4.065,8144,8.155,8152,6.653,8157,5.899,8158,4.893,8159,5.899,8160,4.893,8162,4.893,8163,5.899,8164,5.899,8165,5.609,8168,5.899,8170,5.381,8171,5.899,8172,4.829,8173,4.511,8174,5.609,8175,4.558,8177,7.363,8179,5.899,8181,6.297,8183,5.745,8185,6.297,8187,5.745,8189,5.899,8191,5.745,8193,6.297,8195,6.297,8197,6.297,8202,6.297,8204,6.297,8206,5.745,8208,5.283,8210,6.297,8212,5.609,8214,9.529,8215,6.932,8216,9.297,8217,10.038,8218,7.484,8219,6.568,8220,5.745,8221,5.609,8222,7.086,8223,5.899,8224,5.899,8225,6.932,8226,6.932,8227,6.932,8228,6.932,8229,6.932,8230,6.932,8231,6.932,8232,6.568,8233,6.932,8234,6.932,8235,6.932,8236,6.932,8237,6.932,8238,6.932,8239,6.932,8240,6.932,8241,6.932,8242,6.932,8243,6.932,8244,6.932]],["title/classes/CustomParameter.html",[0,0.241,2765,4.554]],["body/classes/CustomParameter.html",[0,0.264,2,0.807,3,0.014,4,0.014,5,0.007,7,0.106,27,0.545,29,0.583,30,0.001,31,0.686,32,0.176,33,0.627,47,1.034,95,0.085,101,0.01,103,0,104,0,112,0.798,122,2.11,129,3.389,157,2.649,232,2.754,300,4.386,433,0.939,435,2.625,886,2.419,2034,8.229,2109,3.347,2184,3.024,2765,8.31,2770,8.079,4664,3.441,4726,4.653,5223,7.293,6160,7.941,6203,7.293,6288,4.652,6686,5.843,6706,4.93,6707,5.301,7571,5.064,7572,4.559,8245,13.034,8246,7.64,8247,8.785,8248,10.177,8249,7.64,8250,7.64,8251,7.64,8252,7.64,8253,7.64,8254,7.64,8255,7.64,8256,7.64,8257,7.64,8258,7.077,8259,7.077,8260,6.207,8261,6.207,8262,5.138,8263,6.207,8264,6.706,8265,6.706,8266,6.706,8267,6.706,8268,6.706,8269,6.706]],["title/classes/CustomParameterEntity.html",[0,0.241,8270,5.658]],["body/classes/CustomParameterEntity.html",[0,0.226,2,0.69,3,0.012,4,0.012,5,0.006,7,0.091,27,0.53,29,0.499,30,0.001,31,0.642,32,0.172,33,0.606,47,1.008,95,0.102,96,1.706,101,0.008,103,0,104,0,112,0.717,122,1.896,129,3.125,157,2.443,190,2.41,195,2.871,196,3.793,211,6.305,223,4.236,224,1.893,232,2.475,300,4.044,433,0.803,435,2.245,886,4.053,2034,7.588,2036,3.217,2109,2.862,2184,2.586,2696,6.237,2712,4.64,2770,7.449,4664,2.943,4726,3.979,5223,6.725,6160,7.322,6203,6.725,6288,4.289,6686,5.387,6706,4.216,6707,4.534,7571,4.331,7572,3.899,8247,8.1,8258,6.052,8259,6.052,8260,5.308,8261,5.308,8262,4.394,8263,5.308,8264,5.734,8265,5.734,8266,5.734,8267,5.734,8268,5.734,8269,5.734,8270,9.775,8271,13.715,8272,13.715,8273,6.534,8274,9.146,8275,6.534,8276,6.534,8277,6.534,8278,6.534,8279,6.534,8280,6.534,8281,6.534,8282,6.534,8283,6.534]],["title/classes/CustomParameterEntry.html",[0,0.241,2791,4.616]],["body/classes/CustomParameterEntry.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.5,29,0.743,30,0.001,31,0.75,32,0.159,33,0.586,47,0.981,101,0.012,103,0.001,104,0.001,112,0.932,130,3.469,232,3.214,417,7.482,433,1.196,435,3.344,2184,3.853,2791,9.073,4664,4.384,8221,7.295,8245,12.365,8284,9.733,8285,11.878,8286,9.733,8287,7.672]],["title/classes/CustomParameterEntryEntity.html",[0,0.241,6786,5.346]],["body/classes/CustomParameterEntryEntity.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.491,29,0.715,30,0.001,31,0.74,32,0.156,33,0.576,47,0.968,95,0.104,96,2.446,101,0.012,103,0.001,104,0.001,112,0.91,130,3.411,190,2.08,223,4.22,224,2.714,232,3.14,417,7.384,433,1.151,435,3.219,2184,3.709,2712,5.887,4664,4.22,6786,10.395,8221,7.023,8287,7.386,8288,13.175,8289,9.369,8290,11.604,8291,9.369]],["title/classes/CustomParameterEntryParam.html",[0,0.241,6839,5.346]],["body/classes/CustomParameterEntryParam.html",[0,0.407,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.459,30,0.001,31,0.716,32,0.146,33,0.538,47,0.976,95,0.131,101,0.012,103,0.001,104,0.001,112,0.924,130,3.447,190,2.11,200,2.936,201,4.576,202,2.203,296,3.081,299,4.987,300,4.512,417,7.14,614,3.949,2721,6.657,6837,7.037,6839,9.038,8292,7.457,8293,11.8,8294,9.593,8295,9.593,8296,9.593]],["title/classes/CustomParameterEntryResponse.html",[0,0.241,6953,5.49]],["body/classes/CustomParameterEntryResponse.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,27,0.488,29,0.704,30,0.001,31,0.736,32,0.155,33,0.572,47,0.963,95,0.103,101,0.012,103,0.001,104,0.001,112,0.901,130,3.386,190,2.059,201,4.465,202,2.117,232,3.109,296,3.428,417,7.341,433,1.133,435,3.167,614,4.061,2184,3.649,4664,4.152,6953,10.624,8221,6.91,8287,7.267,8292,7.668,8293,12.133,8297,9.219,8298,11.488,8299,9.219,8300,9.219]],["title/classes/CustomParameterFactory.html",[0,0.241,8301,5.86]],["body/classes/CustomParameterFactory.html",[0,0.266,2,0.409,3,0.007,4,0.007,5,0.003,7,0.054,8,0.705,27,0.491,29,0.983,30,0.001,31,0.708,32,0.165,33,0.549,34,1.055,35,1.351,47,0.454,55,2.258,59,3.18,95,0.107,101,0.012,103,0,104,0,110,1.346,112,0.484,113,4.064,127,4.403,129,3.301,130,3.016,135,1.617,148,1.182,157,1.782,172,2.634,185,2.114,192,2.135,197,2.456,205,1.569,206,2.014,228,1.108,231,1.516,290,0.918,300,1.483,326,5.056,374,2.68,417,2.169,433,0.475,436,3.672,467,1.797,501,6.751,502,4.884,505,3.431,506,4.884,507,4.95,508,3.431,509,3.431,510,3.431,511,3.378,512,3.931,513,4.28,514,6.398,515,5.253,516,6.694,517,2.169,522,2.151,523,3.431,524,2.169,525,4.605,526,4.737,527,3.734,528,4.458,529,3.404,530,2.151,531,2.029,532,3.752,533,2.057,534,2.029,535,2.151,536,2.169,537,4.214,538,2.151,539,7.512,540,3.698,541,6.196,542,2.169,543,3.004,544,2.151,545,2.169,546,2.151,547,2.169,548,2.151,551,2.151,552,5.599,553,2.169,554,2.151,555,3.431,556,3.132,557,3.431,558,2.169,559,2.087,560,2.057,561,1.743,562,2.151,563,2.151,564,2.151,565,2.169,566,2.169,567,1.443,568,2.151,569,1.203,570,2.169,571,2.443,572,2.151,573,2.169,575,2.225,576,2.287,577,5.243,614,1.2,756,1.543,1220,2.225,1598,3.648,2008,1.928,2034,2.783,2085,2.685,2088,3.3,2125,3.235,2333,4.315,2695,2.839,2698,1.256,2703,2.187,2706,2.642,2765,5.034,2770,2.732,2776,1.916,4696,6.776,4698,2.783,5223,2.466,5376,4.627,5752,2.002,6150,2.971,6160,2.685,6166,4.627,6167,2.971,6288,3.902,6369,3.112,6686,1.976,6740,2.225,6803,3.144,6808,3.051,6809,2.642,8152,2.565,8158,2.53,8160,2.53,8162,2.53,8172,2.497,8173,2.333,8175,2.357,8301,6.478,8302,5.417,8303,6.173,8304,5.417,8305,3.87,8306,2.839,8307,4.627,8308,3.051,8309,2.839,8310,2.685,8311,2.437,8312,3.397,8313,3.397,8314,3.397,8315,6.757,8316,5.193,8317,3.397,8318,3.72,8319,3.144,8320,2.839,8321,2.971,8322,3.397,8323,2.901,8324,3.397,8325,3.397,8326,3.397,8327,3.397,8328,2.642,8329,3.397,8330,3.397,8331,3.397,8332,2.685,8333,3.397,8334,3.397,8335,3.256,8336,3.397,8337,2.783,8338,5.417,8339,6.757,8340,3.051,8341,5.417,8342,5.417,8343,3.397,8344,3.256,8345,3.051,8346,5.193,8347,3.397,8348,3.397,8349,3.397,8350,3.397,8351,3.397,8352,5.417,8353,3.397,8354,3.256,8355,2.565,8356,3.256,8357,3.397,8358,3.397,8359,3.397,8360,3.397]],["title/classes/CustomParameterPostParams.html",[0,0.241,8361,5.658]],["body/classes/CustomParameterPostParams.html",[0,0.337,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,27,0.534,30,0.001,31,0.622,32,0.173,33,0.61,47,1.023,95,0.123,101,0.009,103,0,104,0,112,0.764,122,2.018,157,2.561,190,2.454,199,5.368,200,2.188,201,4.83,202,1.642,296,3.432,299,5.136,300,5.116,856,6.152,899,3.267,2036,3.52,2696,6.283,4915,8.494,5223,7.052,6203,7.052,6288,4.498,6686,5.65,6837,8.713,8247,8.494,8361,7.908,8362,13.817,8363,7.15,8364,7.15,8365,7.15,8366,7.908,8367,7.15,8368,5.489,8369,7.15,8370,9.311,8371,7.15,8372,7.15,8373,7.15,8374,7.15,8375,7.15,8376,9.311,8377,7.15,8378,7.15,8379,9.311,8380,7.15,8381,7.15,8382,7.15,8383,7.15,8384,7.15]],["title/classes/CustomParameterResponse.html",[0,0.241,6747,5.49]],["body/classes/CustomParameterResponse.html",[0,0.233,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,27,0.533,29,0.515,30,0.001,31,0.651,32,0.173,33,0.611,47,1.013,95,0.104,101,0.009,103,0,104,0,112,0.733,122,1.938,157,2.484,190,2.426,201,5.195,202,1.548,232,2.53,296,3.541,300,4.112,433,0.828,435,2.316,886,3.398,2036,3.319,2109,2.954,2184,2.669,2696,6.271,3200,6.403,4664,3.037,4726,4.106,4915,8.237,5223,6.838,6203,6.838,6288,4.362,6686,5.479,6706,4.351,6707,4.678,6747,9.594,7571,4.469,7572,4.023,8247,8.237,8260,5.477,8261,5.477,8262,4.534,8263,5.477,8264,5.917,8265,5.917,8266,5.917,8267,5.917,8268,5.917,8269,5.917,8370,10.24,8376,10.24,8379,10.24,8385,13.79,8386,6.742,8387,9.348,8388,6.742,8389,6.742,8390,6.742,8391,6.742,8392,6.742,8393,6.742,8394,6.742,8395,6.742,8396,6.742,8397,6.742,8398,6.742]],["title/controllers/DashboardController.html",[314,2.65,8399,6.113]],["body/controllers/DashboardController.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,27,0.42,29,0.824,30,0.001,31,0.606,32,0.133,33,0.493,35,1.237,36,2.67,55,2.56,95,0.141,100,4.516,101,0.009,103,0,104,0,135,1.644,148,1.06,190,1.934,202,1.564,228,1.223,274,2.835,277,0.974,314,2.592,316,3.278,317,2.898,325,6.715,326,4.807,349,6.949,365,3.025,379,5.473,388,4.624,389,4.453,392,3.546,395,3.646,398,3.672,400,1.997,657,2.467,1170,7.328,3220,6.155,3240,3.5,4077,5.617,4537,9.077,7631,8.72,7637,6.309,8399,8.262,8400,6.811,8401,7.417,8402,10.788,8403,6.811,8404,6.811,8405,11.365,8406,9.792,8407,9.414,8408,6.811,8409,6.811,8410,7.826,8411,10.214,8412,9.414,8413,6.811,8414,5.978,8415,6.811,8416,9.077,8417,6.811,8418,5.228,8419,6.811,8420,6.811,8421,6.811,8422,6.811,8423,10.788,8424,8.262,8425,6.811,8426,6.811,8427,6.811,8428,6.811,8429,6.811,8430,6.811,8431,6.811,8432,6.309]],["title/injectables/DashboardElementRepo.html",[589,0.926,8433,5.86]],["body/injectables/DashboardElementRepo.html",[0,0.306,3,0.016,4,0.016,5,0.008,7,0.123,8,1.28,26,2.616,27,0.479,29,0.855,30,0.001,31,0.629,32,0.139,33,0.512,34,1.514,35,1.015,36,2.728,49,3.334,95,0.148,96,2.311,99,1.784,101,0.011,103,0.001,104,0.001,135,1.152,148,1.101,153,1.432,224,2.564,228,1.59,277,1.266,317,2.658,400,2.596,433,1.088,478,2.48,574,4.962,589,1.489,591,2.1,655,7.192,735,5.068,736,6.048,766,4.739,2446,7.012,3644,5.642,3649,6.383,8401,5.642,8433,9.423,8434,8.853,8435,11.199,8436,8.853,8437,11.199,8438,8.853,8439,8.853,8440,8.597,8441,8.853]],["title/classes/DashboardEntity.html",[0,0.241,8442,5.109]],["body/classes/DashboardEntity.html",[0,0.174,2,0.318,3,0.006,4,0.006,5,0.003,7,0.117,8,0.575,26,2.393,27,0.498,29,0.869,30,0.001,31,0.64,32,0.158,33,0.52,34,1.795,35,1.394,39,2.099,47,0.893,55,2.544,83,0.883,95,0.072,99,0.607,101,0.013,103,0,104,0,112,0.394,122,1.568,125,1.801,130,1.361,135,1.723,141,3.241,145,2.838,146,2.056,148,1.302,153,1.635,155,3.078,159,0.308,232,0.815,242,2.654,243,1.896,277,0.431,433,0.37,435,2.224,458,3.353,459,2.601,467,2.201,569,3.671,579,1.849,595,1.142,652,2.75,756,2.582,896,1.674,1065,4.14,1170,4.761,1237,0.872,1660,5.668,1675,3.031,1842,2.959,2049,4.542,2435,3.433,2796,3.466,2911,6.671,2953,1.747,2954,1.6,2995,2.089,3056,3.639,3076,5.801,3563,4.853,3756,2.126,3907,8.775,3932,3.245,4024,7.075,4094,3.166,4537,4.231,7403,2.534,7507,2.056,7550,3.688,7622,3.489,7853,6.306,8410,5.085,8442,3.688,8443,2.643,8444,5.029,8445,6.637,8446,5.029,8447,5.029,8448,6.637,8449,6.362,8450,7.646,8451,5.029,8452,5.961,8453,5.029,8454,5.029,8455,5.029,8456,5.029,8457,5.029,8458,5.029,8459,6.637,8460,3.011,8461,3.011,8462,3.011,8463,3.011,8464,3.011,8465,4.413,8466,3.011,8467,2.257,8468,3.011,8469,4.413,8470,3.011,8471,4.658,8472,4.413,8473,9.769,8474,3.011,8475,9.938,8476,3.011,8477,3.011,8478,6.976,8479,3.011,8480,4.413,8481,9.769,8482,3.011,8483,3.011,8484,4.413,8485,3.011,8486,4.413,8487,3.011,8488,4.413,8489,3.011,8490,4.413,8491,3.011,8492,4.413,8493,3.011,8494,4.413,8495,3.011,8496,3.011,8497,4.413,8498,3.011,8499,4.413,8500,2.257,8501,4.413,8502,2.643,8503,4.413,8504,4.413,8505,4.413,8506,2.643,8507,4.413,8508,2.643,8509,4.413,8510,2.643,8511,3.769,8512,8.975,8513,2.643,8514,4.413,8515,2.643,8516,4.413,8517,2.643,8518,4.413,8519,2.643,8520,2.643,8521,2.643,8522,2.643,8523,2.643,8524,4.413,8525,2.643,8526,4.413,8527,2.534,8528,4.413,8529,2.643,8530,4.413,8531,2.643,8532,2.643,8533,2.643,8534,2.643,8535,2.446,8536,2.643,8537,4.413,8538,2.643,8539,2.311,8540,2.643,8541,2.643,8542,2.643,8543,2.643,8544,2.643,8545,2.643,8546,2.643,8547,2.643,8548,2.643,8549,4.413,8550,4.413,8551,2.534,8552,5.682,8553,2.643,8554,4.413,8555,2.643,8556,2.643,8557,2.643,8558,2.643,8559,2.643,8560,2.643,8561,2.643,8562,2.643,8563,2.643,8564,2.643,8565,2.643,8566,2.643,8567,2.643,8568,2.643,8569,2.643,8570,2.643,8571,2.643,8572,2.643,8573,2.643,8574,2.643,8575,2.643,8576,2.643,8577,2.643,8578,4.413,8579,2.643,8580,2.643,8581,2.643,8582,4.413,8583,4.413,8584,2.643,8585,2.643,8586,2.643,8587,2.643,8588,2.643,8589,2.643,8590,2.643,8591,5.682,8592,2.643,8593,2.643]],["title/entities/DashboardGridElementModel.html",[205,1.419,8440,5.346]],["body/entities/DashboardGridElementModel.html",[0,0.32,3,0.012,4,0.012,5,0.006,7,0.169,27,0.472,30,0.001,32,0.142,33,0.423,34,2.07,39,2.568,47,0.89,49,2.502,55,2.54,95,0.135,96,2.415,97,2.679,101,0.015,103,0,104,0,112,0.726,125,2.204,129,1.967,130,1.797,153,1.722,155,4.001,159,0.946,190,2.17,195,2.66,196,2.204,205,2.169,206,2.167,211,3.663,223,3.906,224,1.924,225,4.079,229,3.648,231,1.596,232,1.797,233,2.868,290,2.731,433,0.816,458,3.689,459,3.435,1821,4.381,2033,3.508,2544,8.445,2911,7.451,2942,4.938,2943,8.172,2946,5.698,2948,7.516,2950,3.692,2952,4.872,2956,3.963,3056,3.197,4655,3.722,5727,3.096,6206,3.818,7553,3.753,7888,4.342,8401,8.195,8440,8.172,8594,5.588,8595,10.183,8596,10.183,8597,6.642,8598,6.642,8599,6.642,8600,6.642,8601,6.642,8602,6.642,8603,6.642,8604,7.516,8605,6.934,8606,5.588,8607,7.784,8608,5.588,8609,5.588,8610,5.588,8611,5.588,8612,5.588,8613,5.396,8614,5.588,8615,5.588,8616,7.516,8617,6.786,8618,5.588,8619,4.609,8620,5.588,8621,5.588,8622,5.588,8623,5.588,8624,5.588]],["title/interfaces/DashboardGridElementModelProperties.html",[159,0.712,8604,5.658]],["body/interfaces/DashboardGridElementModelProperties.html",[0,0.325,3,0.013,4,0.013,5,0.006,7,0.17,30,0.001,32,0.156,33,0.531,34,2.256,39,2.61,47,0.969,49,2.561,55,2.673,95,0.136,96,2.455,97,2.743,101,0.015,103,0,104,0,112,0.738,125,1.62,153,1.521,155,4.131,159,0.962,161,1.62,195,2.369,196,2.256,205,2.197,223,3.624,224,1.969,225,4.131,229,3.708,231,1.622,232,1.84,233,2.915,290,2.759,433,0.835,458,3.75,459,3.517,1821,4.453,2033,4.41,2544,7.906,2911,7.772,2942,4.361,2943,7.218,2946,5.033,2948,5.524,2950,3.78,2952,4.987,2956,4.057,3056,3.272,4655,3.811,5727,3.17,6206,3.909,7553,3.842,7888,4.445,8401,8.407,8440,7.218,8594,5.721,8595,10.515,8596,10.515,8604,8.757,8605,8.717,8606,5.721,8607,7.911,8608,5.721,8609,5.721,8610,5.721,8611,5.721,8612,5.721,8613,5.524,8614,5.721,8615,5.721,8616,7.639,8617,6.897,8618,5.721,8619,4.718,8620,5.721,8621,5.721,8622,5.721,8623,5.721,8624,5.721]],["title/classes/DashboardGridElementResponse.html",[0,0.241,8625,5.658]],["body/classes/DashboardGridElementResponse.html",[0,0.323,2,0.557,3,0.01,4,0.01,5,0.005,7,0.073,27,0.499,29,0.403,30,0.001,31,0.296,32,0.163,33,0.594,34,2.345,47,0.994,55,2.097,83,2.297,95,0.087,101,0.012,103,0,104,0,112,0.615,125,1.866,155,4.285,157,3.155,190,2.257,202,1.211,205,1.074,223,2.441,296,3.566,298,2.29,304,5.738,374,4.059,433,1.271,458,3.728,567,2.921,821,2.692,866,2.626,868,5.775,876,4.079,896,2.931,1065,5.094,1170,4.933,1568,5.436,2049,5.627,3054,5.819,3056,3.771,3076,5.539,3197,6.202,3198,6.202,4094,7.761,7506,6.286,7507,7.55,7585,3.952,7622,8.553,7851,6.365,7852,6.176,7853,9.456,7854,7.369,7857,6.176,7858,5.122,7859,5.53,7860,6.365,7884,3.791,8401,4.993,8410,5.268,8418,6.014,8511,8.289,8617,6.857,8625,9.748,8626,4.628,8627,9.705,8628,9.304,8629,9.304,8630,5.273,8631,5.273,8632,5.273,8633,8.984,8634,6.876,8635,5.273,8636,5.273,8637,5.273,8638,5.273,8639,4.628,8640,5.273,8641,5.273,8642,5.273,8643,4.628,8644,4.628,8645,4.628,8646,4.628,8647,4.628]],["title/classes/DashboardGridSubElementResponse.html",[0,0.241,8633,5.658]],["body/classes/DashboardGridSubElementResponse.html",[0,0.347,2,0.628,3,0.011,4,0.011,5,0.005,7,0.083,27,0.453,29,0.454,30,0.001,31,0.334,32,0.154,33,0.272,34,2.374,47,1.007,55,1.735,83,1.745,95,0.095,101,0.013,103,0,104,0,112,0.672,125,1.418,155,4.376,157,3.195,190,1.965,202,1.367,205,1.213,223,1.855,296,3.633,298,2.585,304,5.751,374,3.717,433,1.347,458,3.998,567,2.219,821,3.039,868,4.825,876,3.099,896,3.309,1065,4.214,1170,3.748,1568,4.13,2049,5.632,3054,6.24,3056,4.12,3076,4.582,3197,6.217,3198,6.217,4094,8.029,7506,6.741,7507,6.845,7585,4.462,7622,8.848,7851,6.955,7852,6.749,7853,9.513,7854,7.903,7857,4.692,7858,3.892,7859,4.202,7860,4.836,7884,4.28,8401,5.456,8410,4.003,8418,6.572,8511,7.515,8617,7.354,8625,8.906,8626,5.224,8627,8.799,8628,8.435,8629,8.435,8633,10.123,8634,5.224,8639,5.224,8643,5.224,8644,5.224,8645,5.224,8646,5.224,8647,5.224,8648,5.953,8649,5.953,8650,5.953,8651,5.953,8652,5.953]],["title/classes/DashboardMapper.html",[0,0.241,8414,6.113]],["body/classes/DashboardMapper.html",[0,0.264,2,0.805,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.446,29,0.873,30,0.001,31,0.642,32,0.141,33,0.522,34,1.304,35,1.311,95,0.127,99,1.536,100,4.253,101,0.01,103,0,104,0,125,1.816,131,3.893,135,1.587,148,1.124,153,1.849,155,2.434,339,2.236,467,3.992,478,2.136,652,2.657,830,5.651,837,3.776,3076,4.082,4094,4.802,7446,6.416,7507,5.207,7550,8.945,7622,5.291,8401,6.478,8414,8.921,8418,9.361,8442,8.945,8449,6.416,8478,9.361,8617,5.593,8625,9.907,8628,6.416,8629,6.416,8633,9.289,8653,7.626,8654,10.165,8655,10.165,8656,10.165,8657,7.626,8658,10.165,8659,7.626,8660,10.165,8661,7.626,8662,7.626,8663,7.626,8664,7.626,8665,7.626,8666,7.626,8667,7.626,8668,7.626,8669,7.626,8670,7.626,8671,7.626,8672,7.626,8673,7.626,8674,10.165,8675,7.626,8676,10.165,8677,7.626,8678,7.626,8679,7.626,8680,7.626,8681,7.626]],["title/entities/DashboardModelEntity.html",[205,1.419,8605,5.221]],["body/entities/DashboardModelEntity.html",[0,0.332,3,0.013,4,0.013,5,0.006,7,0.172,27,0.373,30,0.001,32,0.119,34,2.108,39,3.035,47,0.865,49,2.632,55,2.384,95,0.137,96,2.502,97,2.819,101,0.015,103,0,104,0,112,0.752,125,1.665,129,2.07,130,1.891,153,1.768,155,3.755,159,0.98,190,1.718,195,2.586,196,2.319,205,2.228,206,2.28,223,3.667,224,2.024,225,4.191,229,3.779,231,1.653,232,1.891,233,2.971,290,3.02,433,0.859,458,3.821,459,3.614,1821,5.178,2033,3.634,2544,8.63,2911,6.732,2942,5.072,2943,8.394,2946,5.853,2948,5.678,2950,3.885,2952,5.126,2956,4.17,3056,3.364,4655,3.917,5727,3.258,6206,4.018,7553,3.949,7888,4.569,8401,8.114,8440,7.356,8594,5.88,8595,9.559,8596,9.559,8604,7.785,8605,8.197,8606,5.88,8607,8.062,8608,5.88,8609,5.88,8610,5.88,8611,5.88,8612,5.88,8613,5.678,8614,5.88,8615,5.88,8616,7.785,8617,8.63,8618,5.88,8619,4.849,8620,5.88,8621,5.88,8622,5.88,8623,8.062,8624,5.88,8682,6.989,8683,6.473,8684,6.989]],["title/injectables/DashboardModelMapper.html",[589,0.926,8685,5.49]],["body/injectables/DashboardModelMapper.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.06,8,0.768,27,0.483,29,0.945,30,0.001,31,0.696,32,0.156,33,0.566,34,1.149,35,1.394,36,2.823,39,1.196,47,0.317,95,0.113,96,1.125,99,0.868,101,0.006,103,0,104,0,125,1.027,131,2.201,135,1.769,141,2.88,148,1.253,153,1.508,205,1.369,224,1.249,228,0.774,277,0.616,290,1.959,317,3.013,433,0.53,478,1.208,579,1.231,589,0.893,591,1.023,595,1.635,652,2.559,657,2.95,980,2.377,1170,2.714,1312,2.03,1660,3.231,1842,3.071,2033,4.509,2446,5.066,2465,2.547,2484,2.991,2911,6.224,2952,3.162,3102,6.974,3644,2.747,3649,3.83,3907,6.611,7551,3.502,7621,3.502,7853,4.663,8401,8.017,8410,2.899,8440,8.882,8442,8.205,8478,9.788,8512,7.971,8527,3.627,8595,3.502,8596,3.502,8605,9.671,8613,3.502,8617,3.162,8685,5.297,8686,4.31,8687,8.259,8688,8.259,8689,6.72,8690,6.72,8691,6.72,8692,6.72,8693,8.259,8694,6.72,8695,6.72,8696,8.259,8697,4.31,8698,4.31,8699,4.31,8700,12.751,8701,4.31,8702,4.31,8703,6.72,8704,4.31,8705,6.72,8706,4.31,8707,9.401,8708,6.72,8709,4.31,8710,6.72,8711,4.31,8712,4.31,8713,4.31,8714,6.72,8715,4.31,8716,6.72,8717,4.31,8718,4.31,8719,4.31,8720,10.111,8721,6.72,8722,4.31,8723,4.31,8724,4.31,8725,4.31,8726,4.31,8727,4.31,8728,4.31,8729,4.31,8730,4.31,8731,4.31,8732,4.31,8733,4.31,8734,4.31,8735,4.31,8736,4.31,8737,4.31,8738,3.993,8739,4.31,8740,6.72,8741,4.31,8742,6.72,8743,4.31,8744,4.31,8745,4.31,8746,6.72,8747,4.31,8748,6.72,8749,4.31,8750,6.72,8751,4.31,8752,4.31,8753,4.31,8754,6.72,8755,6.72,8756,4.31,8757,4.31,8758,4.31,8759,3.783,8760,4.31,8761,4.31,8762,4.31,8763,4.31,8764,4.31,8765,4.31,8766,3.783,8767,6.72,8768,4.31,8769,4.31]],["title/interfaces/DashboardModelProperties.html",[159,0.712,8616,5.658]],["body/interfaces/DashboardModelProperties.html",[0,0.334,3,0.013,4,0.013,5,0.006,7,0.172,30,0.001,32,0.136,33,0.441,34,2.277,39,2.682,47,0.939,49,2.665,55,2.396,95,0.138,96,2.523,97,2.854,101,0.015,103,0,104,0,112,0.758,125,1.685,153,1.563,155,3.775,159,0.988,161,1.685,195,2.418,196,2.347,205,2.243,223,3.685,224,2.049,225,4.217,229,3.811,231,1.667,232,1.914,233,2.996,290,3.204,433,0.869,458,3.854,459,3.659,1821,4.576,2033,3.665,2544,8.072,2911,6.775,2942,4.482,2943,7.418,2946,5.172,2948,5.748,2950,3.933,2952,5.189,2956,4.222,3056,3.405,4655,3.965,5727,3.298,6206,4.067,7553,3.998,7888,4.625,8401,7.89,8440,9.078,8594,5.953,8595,9.608,8596,9.608,8604,7.85,8605,7.243,8606,5.953,8607,8.13,8608,5.953,8609,5.953,8610,5.953,8611,5.953,8612,5.953,8613,5.748,8614,5.953,8615,5.953,8616,8.941,8617,9.081,8618,5.953,8619,4.909,8620,5.953,8621,5.953,8622,5.953,8623,5.953,8624,5.953]],["title/injectables/DashboardRepo.html",[589,0.926,8770,5.346]],["body/injectables/DashboardRepo.html",[0,0.303,3,0.011,4,0.011,5,0.006,7,0.086,8,1.002,9,2.854,26,2.793,27,0.477,29,0.934,30,0.001,31,0.687,32,0.151,33,0.559,34,1.499,35,1.349,36,2.963,39,3.394,49,2.318,95,0.131,96,1.606,97,2.482,99,1.24,101,0.011,103,0,104,0,113,2.445,135,1.728,148,1.237,153,0.995,159,0.629,205,1.787,228,1.574,277,0.88,290,2.08,317,3.001,433,0.756,478,1.724,561,2.771,589,1.165,591,1.46,657,2.878,675,5.214,728,3.569,1237,1.782,1829,2.637,2446,6.045,2484,4.27,3644,3.921,3649,4.996,5343,7.122,7853,4.27,8401,7.793,8442,9.436,8478,6.729,8605,4.612,8685,8.774,8707,7.694,8766,5.401,8770,6.729,8771,5.7,8772,7.694,8773,8.12,8774,7.694,8775,8.12,8776,6.153,8777,8.963,8778,6.153,8779,9.459,8780,6.153,8781,8.963,8782,6.153,8783,8.12,8784,6.153,8785,9.459,8786,6.153,8787,5.7,8788,5.7,8789,8.12,8790,5.7,8791,5.401,8792,7.122,8793,4.612,8794,8.12,8795,5.7,8796,8.12,8797,5.7,8798,9.459,8799,5.7,8800,8.12,8801,5.7,8802,5.7,8803,5.7]],["title/classes/DashboardResponse.html",[0,0.241,8418,5.346]],["body/classes/DashboardResponse.html",[0,0.354,2,0.652,3,0.011,4,0.011,5,0.006,7,0.086,27,0.399,29,0.471,30,0.001,31,0.347,32,0.146,33,0.282,34,2.386,47,0.988,55,1.78,83,1.81,95,0.098,101,0.013,103,0,104,0,112,0.689,125,2.093,155,4.241,157,3.231,190,1.575,202,1.417,205,1.79,223,1.923,296,3.652,298,2.68,304,5.832,374,4.442,433,1.369,458,4.08,567,2.301,821,3.151,866,3.075,868,2.971,876,3.213,896,4.884,1065,4.325,1170,3.887,1568,4.283,2049,5.486,3054,6.367,3056,4.228,3076,4.703,3197,6.304,3198,6.304,4094,7.708,7506,5.908,7507,6.984,7585,4.626,7622,8.494,7851,7.138,7852,6.926,7853,9.219,7854,6.926,7857,4.866,7858,4.035,7859,4.357,7860,5.014,7884,6.317,8401,7.103,8410,4.151,8418,9.041,8511,7.668,8617,8.639,8625,9.569,8626,5.417,8627,8.978,8628,8.607,8629,8.607,8633,9.055,8634,5.417,8643,5.417,8644,5.417,8645,5.417,8646,5.417,8647,5.417,8804,6.172,8805,6.172,8806,6.172]],["title/injectables/DashboardService.html",[589,0.926,8807,6.113]],["body/injectables/DashboardService.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,26,2.631,27,0.441,29,0.863,30,0.001,31,0.635,32,0.14,33,0.517,35,1.031,36,2.39,39,2.496,95,0.138,99,1.812,101,0.012,103,0.001,104,0.001,135,1.472,141,4.847,148,0.884,228,2.031,277,1.286,279,3.728,317,2.677,433,1.389,589,1.503,591,2.133,652,2.3,657,2.829,688,4.192,8433,11.663,8770,8.682,8772,9.926,8777,9.926,8792,10.548,8807,9.926,8808,8.992,8809,8.329,8810,8.992,8811,8.992,8812,8.329,8813,8.992,8814,8.329,8815,8.992,8816,8.992]],["title/injectables/DashboardUc.html",[589,0.926,8416,5.86]],["body/injectables/DashboardUc.html",[0,0.219,3,0.012,4,0.012,5,0.006,7,0.088,8,1.022,26,2.875,27,0.463,29,0.908,30,0.001,31,0.693,32,0.147,33,0.543,35,1.292,36,2.608,39,3.843,47,0.762,95,0.141,99,1.275,101,0.008,103,0,104,0,135,1.547,148,1.019,153,1.023,195,1.391,228,1.606,277,0.905,279,2.623,317,2.85,326,3.946,347,3.251,433,1.099,478,1.773,561,2.85,569,1.967,579,1.807,589,1.189,591,1.501,595,2.4,652,2.418,657,2.901,688,2.95,770,3.985,790,4.255,1911,7.809,2232,3.606,2954,4.752,2997,5.324,3076,5.551,5466,3.638,7948,5.554,8401,8.257,8416,7.524,8424,9.892,8442,8.267,8473,9.483,8481,10.674,8512,4.988,8551,5.324,8770,6.864,8774,7.848,8781,7.848,8792,9.156,8809,5.861,8812,5.861,8814,5.861,8817,6.328,8818,10.37,8819,10.37,8820,8.942,8821,6.328,8822,6.328,8823,6.328,8824,6.328,8825,6.328,8826,6.328,8827,8.942,8828,6.328,8829,6.328,8830,5.861,8831,4.857,8832,6.328,8833,6.328,8834,10.37,8835,8.942,8836,8.942,8837,6.328,8838,6.328,8839,6.328,8840,6.328]],["title/classes/DashboardUrlParams.html",[0,0.241,8405,6.113]],["body/classes/DashboardUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,4197,6.09,8401,7.695,8405,10.598,8424,11.385,8841,9.999,8842,9.999]],["title/classes/DatabaseManagementConsole.html",[0,0.241,8843,5.86]],["body/classes/DatabaseManagementConsole.html",[0,0.203,2,0.619,3,0.011,4,0.011,5,0.005,7,0.082,8,0.968,27,0.424,29,0.759,30,0.001,31,0.559,32,0.123,33,0.497,35,1.14,36,2.543,47,0.431,95,0.111,101,0.015,103,0,104,0,122,1.756,125,2.866,135,1.653,148,0.977,157,3.08,159,0.6,190,1.782,194,4.278,195,1.289,197,3.043,270,3.257,317,2.799,339,2.484,400,1.72,433,0.721,540,4.569,560,4.502,652,1.193,657,2.49,1212,5.466,1476,5.993,1821,4.708,1928,7.111,3102,3.535,3595,3.611,3612,5.398,3800,5.148,3802,4.624,3803,7.119,3806,6.502,3808,7.632,3812,8.541,3813,6.703,3814,3.434,3816,4.624,3817,5.615,4703,6.563,4910,7.987,4939,8.152,5220,9.78,5222,4.07,5234,2.808,5238,7.434,5249,10.201,5300,9.161,5347,8.656,5349,8.846,6380,4.765,6382,5.148,8843,7.127,8844,10.696,8845,7.846,8846,8.471,8847,5.866,8848,7.846,8849,5.866,8850,7.846,8851,5.866,8852,9.103,8853,6.502,8854,5.866,8855,5.148,8856,4.935,8857,7.846,8858,7.846,8859,5.148,8860,7.846,8861,7.846,8862,5.433,8863,5.433,8864,5.433,8865,9.161,8866,7.846,8867,9.209,8868,5.433,8869,5.433,8870,5.148]],["title/controllers/DatabaseManagementController.html",[314,2.65,8871,6.113]],["body/controllers/DatabaseManagementController.html",[0,0.261,3,0.014,4,0.014,5,0.007,7,0.105,8,1.153,27,0.493,29,0.868,30,0.001,31,0.639,32,0.141,33,0.519,35,1.451,36,2.856,47,0.957,95,0.112,101,0.01,103,0,104,0,122,2.357,135,0.981,148,1.244,190,2.268,274,3.139,277,1.078,314,2.869,316,3.629,317,3.038,365,3.349,388,3.232,400,2.211,657,2.307,3242,4.127,3816,5.944,5199,10.214,5220,8.962,5347,8.522,5349,9.862,7640,6.687,8845,11.244,8856,6.344,8870,8.854,8871,8.854,8872,13.022,8873,7.54,8874,7.54,8875,10.088,8876,9.344,8877,10.088,8878,7.54,8879,10.088,8880,7.54,8881,10.088,8882,7.54,8883,6.984,8884,10.088,8885,7.54,8886,7.54,8887,10.088,8888,7.54,8889,11.369,8890,10.088,8891,7.54,8892,7.54,8893,7.54,8894,7.54,8895,7.54,8896,7.54,8897,7.54,8898,7.54,8899,7.54]],["title/modules/DatabaseManagementModule.html",[252,1.839,8900,6.113]],["body/modules/DatabaseManagementModule.html",[0,0.34,3,0.018,4,0.018,5,0.009,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.399,254,3.535,255,3.753,256,3.848,257,3.834,258,3.82,259,4.676,260,4.785,269,4.678,270,3.779,271,3.702,277,1.405,1928,5.808,5201,11.836,8900,12.399,8901,9.828,8902,9.828,8903,9.828,8904,9.103,8905,8.626,8906,8.269]],["title/injectables/DatabaseManagementService.html",[589,0.926,5201,5.658]],["body/injectables/DatabaseManagementService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.075,8,0.913,27,0.51,29,0.948,30,0.001,31,0.712,32,0.154,33,0.568,35,1.454,36,2.892,47,1.034,95,0.125,96,2.086,97,2.184,101,0.007,103,0,104,0,135,1.702,141,3.425,145,3.564,148,1.246,158,3.505,195,2.087,224,1.568,228,0.972,277,0.774,317,3.065,400,1.588,433,0.665,478,1.517,589,1.062,591,1.285,624,8.381,652,1.625,657,2.767,735,3.616,804,4.059,1821,5.882,2446,5.694,2482,5.456,3644,3.451,3649,4.554,4213,6.491,4224,8.334,5199,10.182,5201,6.491,5249,6.299,5283,7.401,5349,8.517,5828,5.015,7909,6.294,8853,8.047,8876,7.401,8883,7.401,8904,12.26,8907,4.399,8908,7.99,8909,7.99,8910,7.99,8911,7.99,8912,10.483,8913,7.99,8914,5.415,8915,7.99,8916,5.415,8917,7.99,8918,4.752,8919,7.99,8920,5.015,8921,7.99,8922,5.415,8923,7.99,8924,5.415,8925,5.015,8926,7.99,8927,5.415,8928,5.415,8929,5.415,8930,5.415,8931,5.415,8932,5.415,8933,5.415,8934,5.415,8935,9.496,8936,7.99,8937,5.415,8938,5.415,8939,5.415,8940,5.415,8941,5.296,8942,5.415,8943,5.415,8944,5.415,8945,7.99,8946,5.415,8947,5.415,8948,5.415,8949,5.415,8950,5.415,8951,5.415,8952,5.415]],["title/classes/DeleteFilesConsole.html",[0,0.241,8953,6.113]],["body/classes/DeleteFilesConsole.html",[0,0.274,2,0.835,3,0.015,4,0.015,5,0.009,7,0.11,8,1.19,27,0.406,29,0.795,30,0.001,31,0.585,32,0.129,33,0.476,35,0.907,36,2.201,55,2.605,83,2.32,95,0.13,101,0.01,103,0,104,0,129,2.343,130,2.141,135,1.029,153,1.279,157,2.695,190,1.418,317,2.519,400,2.32,433,0.972,652,1.609,657,1.809,870,4.33,876,4.119,1027,2.421,1743,7.489,1939,5.535,2447,4.867,2448,5.798,2830,7.177,2873,6.656,2910,9.178,3036,3.707,3808,6.073,3812,8.32,3813,7.617,3814,4.631,5234,5.922,7562,9.637,8953,9.141,8954,11.643,8955,7.911,8956,9.647,8957,7.911,8958,11.106,8959,7.911,8960,10.415,8961,11.585,8962,11.585,8963,10.219,8964,10.785,8965,7.911,8966,11.643,8967,7.911,8968,6.943,8969,7.328,8970,6.943,8971,7.911,8972,7.911,8973,7.911,8974,7.911,8975,5.244]],["title/injectables/DeleteFilesUc.html",[589,0.926,8958,5.86]],["body/injectables/DeleteFilesUc.html",[0,0.176,3,0.009,4,0.009,5,0.008,7,0.071,8,0.871,27,0.462,29,0.831,30,0.001,31,0.612,32,0.141,33,0.498,35,1.249,36,2.148,47,0.672,55,1.854,58,4.986,83,2.683,95,0.132,101,0.007,103,0,104,0,112,0.598,129,1.506,130,1.376,135,1.7,145,4.292,148,0.899,153,1.644,195,2.011,197,1.421,205,1.036,228,1.643,259,1.847,271,1.916,277,0.727,317,2.826,335,5.128,385,3.472,433,0.937,478,1.425,589,1.014,591,1.206,629,2.684,644,3.097,652,2.79,657,2.711,711,2.65,756,3.041,1019,8.697,1027,1.556,1076,4.86,1080,1.763,1328,2.703,2125,2.666,2233,3.097,2447,3.824,2448,4.763,2488,3.73,2492,4.009,2636,2.489,2796,5.441,2831,3.663,2873,4.279,5209,8.163,5234,4.866,5419,4.711,5420,4.711,7308,3.472,7309,6.247,7310,3.472,7311,3.472,7374,6.693,8956,7.064,8958,6.416,8961,8.921,8968,6.693,8970,4.464,8975,3.371,8976,12.195,8977,5.086,8978,10.165,8979,6.693,8980,7.064,8981,7.626,8982,10.165,8983,5.086,8984,9.289,8985,9.976,8986,7.626,8987,7.626,8988,5.086,8989,6.416,8990,9.163,8991,7.626,8992,5.086,8993,7.626,8994,5.086,8995,7.626,8996,5.086,8997,5.086,8998,7.626,8999,4.279,9000,4.464,9001,4.132,9002,4.711,9003,5.086,9004,5.086,9005,9.15,9006,10.165,9007,10.165,9008,5.086,9009,9.15,9010,5.086,9011,5.086,9012,5.086,9013,9.15,9014,5.086,9015,5.086,9016,5.086,9017,6.693,9018,5.086,9019,5.086,9020,3.812,9021,5.086,9022,5.086,9023,5.086,9024,5.086,9025,5.086,9026,5.086,9027,5.086,9028,4.132,9029,5.086,9030,4.711,9031,5.086,9032,4.711,9033,3.812,9034,5.086,9035,5.086,9036,5.086,9037,7.626,9038,5.086,9039,5.086,9040,6.693,9041,5.086,9042,5.086,9043,5.086,9044,5.086,9045,5.086]],["title/modules/DeletionApiModule.html",[252,1.839,1010,5.49]],["body/modules/DeletionApiModule.html",[0,0.217,3,0.012,4,0.012,5,0.006,30,0.001,47,0.87,95,0.158,101,0.008,103,0,104,0,252,2.721,254,2.251,255,2.39,256,2.45,257,2.441,258,2.433,259,3.744,260,2.326,264,8.843,265,5.704,269,3.474,270,2.407,271,2.357,273,3.941,274,3.694,276,3.474,277,0.895,290,1.485,725,4.418,1010,11.551,1027,1.915,1060,4.273,1061,4.804,1062,4.804,1063,4.804,1317,3.989,1484,8.269,1537,4.591,1908,8.681,2029,4.691,2219,2.806,2220,3.156,2221,3.046,2222,3.941,2831,2.505,3036,2.933,3240,3.216,3320,4.343,3889,9.218,3890,7.655,3898,3.137,3900,3.303,4802,10.347,5068,9.218,5073,4.804,5234,2.996,9046,6.259,9047,6.259,9048,6.259,9049,10.347,9050,10.347,9051,8.681,9052,10.793,9053,9.619,9054,10.793,9055,10.347,9056,10.793,9057,6.259,9058,9.047,9059,9.047,9060,5.797,9061,5.797,9062,6.259,9063,7.788,9064,6.259,9065,5.493,9066,8.873,9067,6.259,9068,6.259,9069,5.493,9070,5.493,9071,5.493,9072,5.493,9073,5.493,9074,5.493]],["title/injectables/DeletionClient.html",[589,0.926,2821,5.658]],["body/injectables/DeletionClient.html",[0,0.169,3,0.009,4,0.009,5,0.004,7,0.068,8,0.844,27,0.48,29,0.681,30,0.001,31,0.501,32,0.145,33,0.408,35,1.141,36,2.103,47,0.923,55,1.807,56,4.687,59,1.515,83,1.43,95,0.125,101,0.006,103,0,104,0,112,0.579,135,1.295,142,1.765,145,1.83,148,1.051,153,1.89,159,0.499,193,4.34,194,1.916,228,2.376,277,0.697,290,1.157,317,2.434,326,1.855,402,3.579,433,0.908,531,2.556,534,5.216,579,3.696,589,0.982,591,1.157,628,4.408,629,3.899,634,6.78,644,4.499,651,2.474,652,2.802,657,1.689,871,3.282,998,4.712,1053,7.683,1054,2.755,1056,3.146,1080,3.9,1169,4.285,1170,5.616,1313,3.329,1314,3.576,1328,3.926,1329,4.499,1330,6.216,1372,4.707,1379,5.312,1842,2.228,2125,4.675,2164,5.219,2233,2.969,2333,4.999,2358,4.247,2382,3.843,2393,1.868,2401,4.516,2513,4.21,2588,3.07,2716,3.442,2816,7.162,2821,6.002,2830,5.772,2831,2.957,2839,4.968,2840,4.897,2843,8.084,2849,3.961,2922,5.312,2930,5.537,3242,2.668,3259,6.542,4324,4.279,9075,8.871,9076,4.876,9077,8.261,9078,8.919,9079,8.919,9080,9.951,9081,9.951,9082,6.843,9083,7.388,9084,7.388,9085,4.876,9086,4.876,9087,7.388,9088,4.876,9089,7.388,9090,4.876,9091,4.876,9092,4.876,9093,4.876,9094,4.876,9095,4.279,9096,4.876,9097,7.388,9098,4.876,9099,4.102,9100,4.102,9101,4.516,9102,7.388,9103,4.876,9104,7.388,9105,4.876,9106,4.876,9107,4.876,9108,8.919,9109,5.537,9110,7.388,9111,8.261,9112,4.516,9113,9.951,9114,7.388,9115,7.388,9116,3.743,9117,4.876,9118,7.388,9119,4.102,9120,4.876,9121,4.876,9122,4.516,9123,4.876,9124,6.843,9125,4.876,9126,9.951,9127,4.876,9128,4.876,9129,3.961,9130,4.876,9131,4.876]],["title/interfaces/DeletionClientConfig.html",[159,0.712,9095,6.113]],["body/interfaces/DeletionClientConfig.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.153,47,1.04,101,0.013,103,0.001,104,0.001,112,0.972,159,1.068,161,2.487,2816,5.951,2831,4.18,9075,7.371,9095,10.876,9132,8.785,9133,10.441,9134,13.668,9135,13.668]],["title/modules/DeletionConsoleModule.html",[252,1.839,9136,6.451]],["body/modules/DeletionConsoleModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.159,101,0.01,103,0,104,0,252,3.095,254,2.886,255,3.063,256,3.141,257,3.129,258,3.118,259,4.257,260,2.981,269,4.115,270,3.085,271,3.021,276,4.115,277,1.147,651,4.07,1021,5.176,1025,5.176,1026,5.051,1054,4.533,2815,11.149,2816,4.572,2821,10.765,2830,7.216,2831,3.211,2890,11.149,2903,5.245,3036,3.759,3811,5.317,3813,4.938,3814,4.696,3887,10.172,3904,6.872,9049,11.149,9060,7.43,9075,5.663,9136,13.262,9137,8.022,9138,8.022,9139,8.022,9140,8.022,9141,9.735,9142,8.022,9143,8.022,9144,8.022,9145,9.225,9146,8.022,9147,9.225,9148,8.022,9149,8.022]],["title/classes/DeletionExecutionConsole.html",[0,0.241,9147,6.113]],["body/classes/DeletionExecutionConsole.html",[0,0.258,2,0.787,3,0.014,4,0.014,5,0.007,7,0.104,8,1.144,27,0.39,29,0.764,30,0.001,31,0.562,32,0.124,33,0.457,35,0.855,36,2.116,56,4.716,95,0.14,101,0.01,103,0,104,0,125,2.385,141,5.179,148,0.984,157,2.797,159,0.762,190,1.336,194,2.93,197,2.084,317,2.446,371,3.962,400,2.186,402,3.602,433,0.916,540,3.751,629,5.284,652,1.517,657,1.705,1076,4.751,1080,3.471,1115,2.837,1328,3.962,1329,4.541,1372,3.935,1393,4.249,1461,5.589,1568,5.173,2203,4.875,2816,6.443,2830,7.529,2831,2.985,2836,4.942,2851,5.877,2860,4.811,2922,8.129,3036,3.494,3429,6.273,3802,5.877,3803,7.901,3806,7.686,3808,5.723,3811,4.942,3812,8.126,3813,7.439,3814,4.365,4910,5.469,5087,5.877,9075,7.98,9129,10.241,9147,8.788,9150,7.456,9151,9.274,9152,11.638,9153,7.456,9154,10.012,9155,10.168,9156,7.505,9157,7.456,9158,6.544,9159,8.424,9160,10.012,9161,7.456,9162,6.906,9163,6.544,9164,7.456,9165,7.456,9166,7.456,9167,7.456,9168,7.456]],["title/classes/DeletionExecutionParams.html",[0,0.241,9169,6.113]],["body/classes/DeletionExecutionParams.html",[0,0.409,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.12,33,0.54,55,2.396,56,6.435,95,0.132,101,0.012,103,0.001,104,0.001,112,0.928,129,2.861,130,2.615,157,2.237,190,1.732,200,2.957,201,4.597,202,2.219,300,4.532,745,9.575,756,4.716,869,5.788,890,8.074,891,9.608,3792,6.705,6318,9.078,9169,10.379,9170,9.95,9171,9.662,9172,9.662,9173,9.662,9174,8.95]],["title/interfaces/DeletionExecutionTriggerResult.html",[159,0.712,9159,5.86]],["body/interfaces/DeletionExecutionTriggerResult.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.151,33,0.558,47,0.961,95,0.113,101,0.013,103,0.001,104,0.001,112,0.957,159,1.041,161,2.424,402,4.875,1080,4.698,2155,8.022,2816,5.8,2830,5.903,2922,8.775,9129,9.914,9159,10.268,9175,10.177,9176,10.177,9177,12.553]],["title/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.241,9158,6.113]],["body/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.291,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,27,0.467,29,0.827,30,0.001,31,0.609,32,0.134,33,0.495,35,1.375,47,0.881,59,2.613,95,0.094,101,0.011,103,0.001,104,0.001,135,1.094,148,1.179,159,0.86,402,3.898,467,4.068,507,4.813,652,2.439,1080,4.795,1329,5.121,2816,7.218,2884,7.792,2922,9.107,9129,10.29,9158,9.511,9159,11.639,9177,11.732,9178,12.666,9179,8.408,9180,10.837,9181,11.732,9182,10.837,9183,8.408,9184,10.837,9185,8.408,9186,8.408,9187,7.788,9188,8.408,9189,8.408,9190,7.788]],["title/injectables/DeletionExecutionUc.html",[589,0.926,9152,6.113]],["body/injectables/DeletionExecutionUc.html",[0,0.327,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.455,29,0.891,30,0.001,31,0.656,32,0.144,33,0.533,35,1.085,36,2.467,55,2.565,56,4.455,59,2.94,95,0.13,101,0.012,103,0.001,104,0.001,228,1.698,277,1.352,317,2.739,400,2.773,433,1.162,589,1.551,591,2.244,657,2.163,2816,7.214,2820,8.76,2821,11.235,2830,5.486,2831,3.786,9151,10.81,9152,10.243,9191,12.659,9192,9.458,9193,9.458,9194,11.671,9195,9.458,9196,9.458]],["title/controllers/DeletionExecutionsController.html",[314,2.65,9059,6.113]],["body/controllers/DeletionExecutionsController.html",[0,0.308,3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,27,0.347,29,0.679,30,0.001,31,0.5,32,0.11,33,0.406,35,1.02,95,0.149,100,3.101,101,0.011,103,0.001,104,0.001,148,0.874,158,3.283,190,1.594,202,2.042,228,1.597,274,3.702,277,1.272,314,3.384,316,4.28,317,2.663,365,3.949,390,6.574,391,6.913,392,4.63,400,2.607,401,4.983,402,3.199,1545,6.277,2125,4.661,2830,6.514,3036,4.167,3241,5.98,3242,6.147,3259,8.238,3260,6.665,7858,5.814,9056,10.804,9059,9.857,9082,10.402,9169,11.349,9197,10.402,9198,8.892,9199,8.892,9200,8.892,9201,8.892,9202,8.238,9203,8.892,9204,8.892,9205,11.231,9206,7.804,9207,7.482,9208,8.892,9209,8.236,9210,8.892,9211,8.892,9212,8.892]],["title/classes/DeletionLog.html",[0,0.241,9213,5.49]],["body/classes/DeletionLog.html",[0,0.255,2,0.777,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,26,2.276,27,0.536,30,0.001,32,0.091,35,0.844,55,2.436,83,3.792,95,0.125,99,1.483,101,0.013,103,0,104,0,112,0.779,113,3.944,125,3.148,134,2.606,148,1.321,159,0.753,185,2.521,231,1.938,430,4.944,431,5.152,435,3.41,436,2.932,532,3.64,711,2.875,735,4.492,1767,5.391,1770,5.024,1773,6.84,1849,4.195,1883,4.512,3067,4.581,3085,4.581,3088,5.802,3090,5.802,3093,5.107,3094,5.107,8941,7.968,9213,7.824,9214,11.458,9215,6.817,9216,7.968,9217,8.084,9218,8.818,9219,9.476,9220,7.36,9221,7.36,9222,7.36,9223,7.36,9224,7.36,9225,7.36,9226,7.36,9227,7.36,9228,7.36,9229,7.36,9230,7.36,9231,7.36,9232,7.36,9233,7.36,9234,6.914,9235,9.124,9236,6.46,9237,6.817,9238,6.817,9239,6.817,9240,6.817,9241,6.817,9242,6.817]],["title/entities/DeletionLogEntity.html",[205,1.419,9243,5.658]],["body/entities/DeletionLogEntity.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.147,26,1.851,27,0.486,30,0.001,32,0.154,33,0.614,34,1.115,49,4.302,55,2.525,83,3.526,95,0.134,96,1.703,99,1.314,101,0.012,103,0,104,0,112,0.717,125,3.161,159,0.667,190,2.234,195,2.916,196,3.99,205,1.862,206,2.128,211,6.632,223,4.069,224,1.89,225,3.501,229,2.573,231,1.126,232,1.765,233,2.022,430,2.683,431,2.796,458,2.601,459,4.725,460,3.973,461,6.237,462,3.973,463,6.237,540,2.164,574,3.656,1883,4.288,4655,3.656,8941,7.571,9216,7.571,9217,7.681,9218,8.379,9219,9.004,9234,7.032,9235,9.28,9243,7.422,9244,10.766,9245,6.042,9246,6.523,9247,6.523,9248,6.523,9249,6.523,9250,6.523,9251,6.523,9252,6.523,9253,4.454,9254,8.018,9255,5.725,9256,4.605,9257,6.042,9258,6.042,9259,6.042,9260,8.462,9261,5.3,9262,8.462,9263,6.042,9264,8.462,9265,6.042,9266,8.462,9267,6.042,9268,8.462,9269,6.042]],["title/interfaces/DeletionLogEntityProps.html",[159,0.712,9254,6.113]],["body/interfaces/DeletionLogEntityProps.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.147,26,2.32,30,0.001,32,0.164,33,0.643,34,1.957,49,4.537,55,2.649,83,3.945,95,0.134,96,1.711,99,1.321,101,0.012,103,0,104,0,112,0.719,125,3.114,159,0.67,161,1.561,195,2.647,196,3.997,205,1.868,223,3.993,224,1.899,225,3.513,229,2.585,231,1.131,232,1.774,233,2.032,430,4.708,431,4.906,458,2.614,459,4.741,460,3.992,461,6.259,462,3.992,463,6.259,540,2.175,574,3.674,1883,4.522,4655,3.674,8941,7.985,9216,7.985,9217,8.101,9218,8.836,9219,9.496,9234,7.416,9235,9.787,9243,5.325,9244,5.515,9245,6.072,9253,4.476,9254,9.277,9255,5.753,9256,4.627,9257,6.072,9258,6.072,9259,6.072,9260,8.491,9261,5.325,9262,8.491,9263,6.072,9264,8.491,9265,6.072,9266,8.491,9267,6.072,9268,8.491,9269,6.072]],["title/classes/DeletionLogMapper.html",[0,0.241,9270,6.113]],["body/classes/DeletionLogMapper.html",[0,0.26,2,0.793,3,0.014,4,0.014,5,0.007,7,0.105,8,1.15,27,0.472,29,0.925,30,0.001,31,0.681,32,0.15,33,0.554,34,1.721,35,1.39,49,2.829,95,0.126,96,1.961,97,3.03,101,0.01,103,0,104,0,148,1.191,153,1.835,205,1.531,206,2.451,430,4.139,431,4.313,467,4.085,1770,3.007,1883,3.777,2455,4.911,2498,5.212,2522,6.102,2524,6.102,4755,8.467,4756,9.321,4757,9.321,4758,8.467,4759,8.467,4761,9.321,4763,9.321,4765,8.467,4768,4.528,4782,5.766,4783,5.766,4798,5.303,4799,6.958,4800,6.593,4801,6.958,8941,6.67,9213,11.064,9216,6.67,9217,6.767,9218,7.381,9219,7.932,9243,11.402,9270,8.832,9271,11.706,9272,7.512,9273,7.512,9274,7.512,9275,7.512,9276,7.512,9277,6.958,9278,6.958,9279,5.921,9280,6.593,9281,7.512,9282,7.512,9283,7.512,9284,7.512,9285,7.512,9286,7.512,9287,7.512,9288,7.512,9289,7.512,9290,7.512,9291,7.512,9292,7.512]],["title/interfaces/DeletionLogProps.html",[159,0.712,9236,6.113]],["body/interfaces/DeletionLogProps.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,26,2.551,30,0.001,32,0.167,33,0.648,55,2.729,83,4.108,95,0.126,99,1.497,101,0.013,103,0,104,0,112,0.783,125,3.156,134,2.63,148,1.324,159,0.76,161,1.769,185,2.544,231,1.947,430,5.178,431,5.396,1767,6.129,1770,3.998,1849,4.233,1883,4.726,3093,5.154,3094,5.154,8941,8.345,9213,5.856,9214,6.25,9215,6.88,9216,8.345,9217,8.466,9218,9.235,9219,9.925,9234,7.75,9235,10.229,9236,8.766,9237,6.88,9238,6.88,9239,6.88,9240,6.88,9241,6.88,9242,6.88]],["title/injectables/DeletionLogRepo.html",[589,0.926,9293,5.86]],["body/injectables/DeletionLogRepo.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.102,8,1.13,12,4.475,26,2.674,27,0.488,29,0.916,30,0.001,31,0.674,32,0.148,33,0.548,34,1.252,35,1.284,36,2.729,49,2.757,95,0.144,96,1.911,97,2.953,99,1.475,101,0.009,103,0,104,0,135,1.63,148,1.101,153,1.184,228,1.314,277,1.047,317,2.943,400,2.146,433,0.899,589,1.315,591,1.736,657,2.561,734,4.168,735,4.475,736,5.513,766,3.918,2446,6.515,3644,4.665,3649,5.636,3707,5.487,4866,6.722,9213,10.581,9218,7.254,9243,10.488,9270,6.424,9277,6.78,9278,6.78,9279,5.77,9280,6.424,9293,8.321,9294,11.331,9295,7.32,9296,9.889,9297,7.32,9298,9.889,9299,7.32,9300,9.889,9301,7.32,9302,9.889,9303,7.32,9304,9.889,9305,7.32,9306,6.78,9307,7.32,9308,7.32,9309,7.32,9310,7.32,9311,7.32,9312,7.32,9313,7.32,9314,7.32,9315,7.32]],["title/injectables/DeletionLogService.html",[589,0.926,9316,6.113]],["body/injectables/DeletionLogService.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,8,1.173,26,2.713,27,0.449,29,0.88,30,0.001,31,0.647,32,0.143,33,0.526,34,1.324,35,1.178,36,2.593,49,2.917,55,2.659,83,2.27,95,0.146,96,2.022,97,3.123,99,1.56,101,0.01,103,0,104,0,135,1.336,148,0.761,153,1.863,228,1.391,277,1.107,317,2.839,400,2.27,433,0.951,589,1.365,591,1.837,657,2.348,1883,4.605,2636,3.79,4510,4.767,8941,8.132,9213,9.082,9216,8.132,9217,8.25,9218,8.999,9219,6.104,9234,7.553,9235,9.968,9253,5.287,9255,9.012,9279,6.104,9280,6.796,9293,11.04,9316,9.012,9317,11.364,9318,7.743,9319,11.521,9320,10.269,9321,7.743,9322,7.743,9323,7.743,9324,7.743,9325,10.269,9326,7.743,9327,7.743,9328,7.743,9329,7.743]],["title/interfaces/DeletionLogStatistic.html",[159,0.712,9330,4.833]],["body/interfaces/DeletionLogStatistic.html",[3,0.018,4,0.018,5,0.009,7,0.136,26,2.407,30,0.001,32,0.159,33,0.61,34,1.664,55,2.822,95,0.132,99,1.961,101,0.015,103,0.001,104,0.001,112,0.932,159,1.215,161,2.318,1883,5.139,8941,8.849,9217,8.977,9234,8.427,9253,6.645,9330,8.242,9331,9.015,9332,6.645]],["title/interfaces/DeletionLogStatistic-1.html",[159,0.592,756,2.309,9330,4.018]],["body/interfaces/DeletionLogStatistic-1.html",[3,0.017,4,0.017,5,0.008,7,0.125,26,2.627,30,0.001,32,0.153,33,0.592,55,2.806,83,3.307,95,0.126,99,1.804,101,0.017,103,0.001,104,0.001,112,0.885,159,1.366,161,2.132,1883,5.015,2839,6.02,2840,7.475,2897,5.637,2898,5.853,8941,8.592,9217,8.716,9234,8.397,9330,8.568,9332,7.7,9333,7.272,9334,7.272,9335,7.272,9336,7.475,9337,6.872,9338,7.961,9339,6.872,9340,6.437,9341,7.272,9342,7.056]],["title/classes/DeletionLogStatisticBuilder.html",[0,0.241,9343,6.451]],["body/classes/DeletionLogStatisticBuilder.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.117,33,0.432,35,1.085,55,2.802,59,3.628,95,0.13,101,0.012,103,0.001,104,0.001,135,1.231,148,0.93,159,0.967,467,3.685,507,5.183,1883,4.381,4955,7.969,8941,8.761,9217,8.889,9234,8.137,9253,6.457,9330,9.422,9343,10.81,9344,9.82,9345,9.458,9346,9.82,9347,9.458]],["title/modules/DeletionModule.html",[252,1.839,9049,5.86]],["body/modules/DeletionModule.html",[0,0.295,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.184,254,3.063,255,3.252,256,3.334,257,3.322,258,3.31,259,4.381,260,4.483,269,4.277,270,3.275,271,3.207,277,1.218,634,6.337,651,4.32,1372,4.494,2636,4.168,9049,12.136,9293,11.33,9316,12.548,9348,8.515,9349,8.515,9350,8.515,9351,12.548,9352,11.33,9353,8.515,9354,10.925,9355,8.515,9356,7.887,9357,7.887,9358,6.918,9359,8.515,9360,7.887,9361,8.515]],["title/classes/DeletionQueueConsole.html",[0,0.241,9145,6.113]],["body/classes/DeletionQueueConsole.html",[0,0.25,2,0.763,3,0.013,4,0.013,5,0.009,7,0.101,8,1.12,27,0.382,29,0.749,30,0.001,31,0.625,32,0.121,33,0.448,35,0.829,36,2.072,55,1.465,95,0.133,101,0.009,103,0,104,0,125,2.65,135,0.94,153,1.586,157,3.045,159,0.739,190,1.296,194,4.688,195,1.588,197,3.11,317,2.407,335,4.86,339,2.875,371,3.841,400,2.119,401,4.051,414,3.667,433,0.888,540,3.692,612,4.86,652,1.47,657,1.653,1883,2.713,2816,6.341,2830,7.461,2831,2.893,2835,9.694,2858,5.697,2859,5.548,2890,11.068,2897,4.551,2898,4.725,2900,6.081,2906,6.695,2911,4.449,2918,4.084,3011,3.303,3036,3.387,3802,5.697,3803,7.801,3806,7.526,3808,5.548,3811,4.791,3812,8.024,3813,7.345,3814,4.231,4910,8.752,5087,5.697,7858,4.725,9075,7.855,9122,6.695,9145,8.605,9156,7.349,9163,6.343,9362,7.228,9363,9.805,9364,7.228,9365,9.805,9366,10.039,9367,11.932,9368,7.228,9369,7.228,9370,5.872,9371,7.228,9372,7.228,9373,7.228,9374,6.343,9375,6.695,9376,7.228,9377,7.228,9378,7.228,9379,7.228,9380,7.228,9381,7.228,9382,7.228,9383,7.228]],["title/classes/DeletionRequest.html",[0,0.241,9384,5.346]],["body/classes/DeletionRequest.html",[0,0.274,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,26,2.359,27,0.532,30,0.001,32,0.098,35,0.907,83,3.871,95,0.13,99,1.594,101,0.013,103,0,104,0,112,0.817,113,4.138,125,2.481,134,2.801,148,1.297,159,0.809,185,2.71,231,2.009,402,4.451,430,5.089,431,5.303,435,3.578,436,3.077,532,3.819,711,3.017,735,4.713,1767,5.657,1770,5.146,1773,7.091,1849,4.509,2897,7.791,3067,4.924,3085,4.924,3088,6.236,3090,6.236,3093,5.489,3094,5.489,9214,11.323,9234,7.167,9336,8.201,9340,5.689,9384,7.995,9385,7.328,9386,9.274,9387,7.911,9388,7.911,9389,7.911,9390,7.911,9391,7.911,9392,7.911,9393,7.911,9394,7.911,9395,7.911,9396,7.911,9397,8.938,9398,7.328,9399,7.328,9400,7.328,9401,7.328]],["title/classes/DeletionRequestBodyProps.html",[0,0.241,9402,5.86]],["body/classes/DeletionRequestBodyProps.html",[0,0.392,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,27,0.441,30,0.001,32,0.14,33,0.517,55,2.295,95,0.138,101,0.012,103,0.001,104,0.001,112,0.888,129,2.669,130,2.439,135,1.173,159,0.922,190,2.03,194,4.45,195,2.855,196,4.311,197,3.632,200,2.758,201,4.402,202,2.069,296,2.963,300,4.34,2898,8.098,2909,7.909,3791,7.995,3792,6.253,3797,6.48,7766,6.48,7767,6.253,9170,10.421,9332,8.456,9338,8.743,9402,9.529,9403,9.012,9404,12.386,9405,9.012,9406,9.012,9407,9.012,9408,9.012]],["title/classes/DeletionRequestBodyPropsBuilder.html",[0,0.241,9409,6.451]],["body/classes/DeletionRequestBodyPropsBuilder.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,26,2.659,27,0.361,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,34,2.244,35,1.062,55,2.541,59,2.879,95,0.14,99,1.866,101,0.012,103,0.001,104,0.001,135,1.205,148,0.91,193,5.025,379,5.845,467,3.65,507,5.117,837,4.586,1883,4.324,2898,8.578,9234,8.077,9253,6.323,9338,6.538,9344,9.693,9346,9.693,9402,10.551,9409,10.671,9410,9.261,9411,9.261,9412,11.521]],["title/interfaces/DeletionRequestCreateAnswer.html",[159,0.712,9342,5.49]],["body/interfaces/DeletionRequestCreateAnswer.html",[3,0.017,4,0.017,5,0.008,7,0.128,26,2.781,30,0.001,32,0.142,55,2.53,83,3.835,95,0.128,99,1.849,101,0.017,103,0.001,104,0.001,112,0.899,159,1.376,161,2.186,1883,4.3,2839,8.794,2840,8.921,2897,5.778,2898,6,8941,6.082,9217,6.171,9234,8.051,9330,7.948,9332,7.821,9333,7.455,9334,7.455,9335,7.455,9336,7.593,9337,7.044,9338,8.086,9339,7.044,9340,6.598,9341,7.455,9342,9.03]],["title/entities/DeletionRequestEntity.html",[205,1.419,9413,5.49]],["body/entities/DeletionRequestEntity.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.156,26,2.537,27,0.467,30,0.001,32,0.148,34,1.249,83,3.671,95,0.134,96,1.908,99,1.472,101,0.013,103,0,104,0,112,0.878,125,2.855,135,0.951,159,0.747,190,2.148,205,2.013,206,2.384,219,5.448,223,4.181,224,2.116,225,3.785,229,2.882,231,1.261,232,1.977,233,2.265,402,4.311,430,3.005,431,3.132,458,2.914,459,5.108,460,4.45,461,6.744,462,4.45,463,6.744,540,2.424,569,3.07,644,4.45,711,2.861,2127,6.55,2128,4.989,2897,7.883,4655,4.095,7766,5.254,7767,6.853,9100,6.148,9234,7.378,9244,10.534,9253,4.989,9256,5.158,9336,8.298,9386,8.984,9397,9.2,9413,7.786,9414,6.768,9415,7.307,9416,7.307,9417,7.307,9418,7.307,9419,7.307,9420,9.149,9421,6.768,9422,8.669,9423,6.768,9424,6.768,9425,6.768,9426,6.768,9427,6.768,9428,6.768,9429,5.76,9430,6.768,9431,6.413]],["title/interfaces/DeletionRequestEntityProps.html",[159,0.712,9422,6.113]],["body/interfaces/DeletionRequestEntityProps.html",[0,0.248,3,0.013,4,0.013,5,0.006,7,0.154,26,2.707,30,0.001,32,0.162,33,0.586,34,2.034,83,4.017,95,0.133,96,1.873,99,1.446,101,0.013,103,0,104,0,112,0.87,125,2.641,135,0.934,159,0.734,161,1.709,205,1.988,219,5.381,223,3.877,224,2.079,225,3.739,229,2.83,231,1.238,232,1.942,233,2.225,402,4.476,430,4.893,431,5.099,458,2.862,459,5.046,460,4.37,461,6.662,462,4.37,463,6.662,540,2.381,569,3.033,644,4.37,711,2.826,2127,6.49,2128,4.9,2897,8.082,4655,4.022,7766,5.16,7767,6.77,9100,6.038,9234,7.659,9244,6.038,9253,4.9,9256,5.066,9336,8.507,9386,9.326,9397,9.551,9413,5.657,9414,6.647,9420,9.037,9421,6.647,9422,9.73,9423,6.647,9424,6.647,9425,6.647,9426,6.647,9427,6.647,9428,6.647,9429,5.657,9430,6.647,9431,6.298]],["title/classes/DeletionRequestFactory.html",[0,0.241,9432,6.451]],["body/classes/DeletionRequestFactory.html",[0,0.171,2,0.52,3,0.009,4,0.009,5,0.004,7,0.069,8,0.851,27,0.517,29,1.021,30,0.001,31,0.719,32,0.168,33,0.585,34,1.837,35,1.418,47,0.79,49,1.857,55,2.377,59,3.339,83,2.633,95,0.12,96,1.287,97,1.988,101,0.006,103,0,104,0,112,0.584,113,4.489,127,5.015,129,3.577,130,3.269,134,1.746,135,0.969,148,0.732,153,1.738,157,2.078,172,3.179,185,2.552,192,2.719,205,1.83,206,2.43,228,1.338,231,1.285,326,4.872,374,3.235,402,1.773,430,2.028,431,2.113,433,0.606,436,3.877,467,2.168,501,7.13,502,5.563,505,4.141,506,5.563,507,5.365,508,4.141,509,4.141,510,4.141,511,4.077,512,4.584,513,4.992,514,6.138,515,5.88,516,7.046,517,2.763,522,2.74,523,4.141,524,2.763,525,5.245,526,5.395,527,4.253,528,5.077,529,4.109,530,2.74,531,2.584,532,4.144,533,2.62,534,2.584,535,2.74,536,2.763,537,4.914,538,2.74,539,7.214,540,4.008,541,6.716,542,2.763,543,3.625,544,2.74,545,2.763,546,2.74,547,2.763,548,2.74,551,2.74,552,6.184,553,2.763,554,2.74,555,4.141,556,3.779,557,4.141,558,2.763,559,2.658,560,2.62,561,2.22,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,1.838,568,2.74,569,1.532,570,2.763,571,2.949,572,2.74,573,2.763,575,2.834,577,2.942,2081,4.005,2830,2.859,2897,3.104,4510,4.586,4686,6.538,4696,6.339,4698,3.545,9234,3.035,9336,4.938,9340,3.545,9384,3.784,9386,3.695,9397,3.784,9432,8.317,9433,7.449,9434,4.93,9435,7.449,9436,4.93,9437,4.148,9438,4.93,9439,4.93,9440,4.327]],["title/interfaces/DeletionRequestInput.html",[159,0.712,2843,5.658]],["body/interfaces/DeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,33,0.557,55,2.646,95,0.113,101,0.013,103,0.001,104,0.001,112,0.956,159,1.038,161,2.418,193,5.314,2816,5.785,2830,5.888,2843,9.899,2898,8.853,2918,5.736,3011,4.639,9075,7.166,9132,8.541,9338,9.559,9441,8.909,9442,11.393,9443,10.151]],["title/classes/DeletionRequestInputBuilder.html",[0,0.241,2829,6.113]],["body/classes/DeletionRequestInputBuilder.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,8,1.326,27,0.365,29,0.715,30,0.001,31,0.526,32,0.116,33,0.428,35,1.074,47,1.014,55,2.554,59,2.912,95,0.129,101,0.012,103,0.001,104,0.001,148,0.921,159,0.958,193,5.498,467,3.669,507,5.154,2816,6.613,2829,10.184,2830,5.435,2843,10.241,2897,5.9,2898,8.614,2918,5.295,3011,4.281,9075,8.191,9336,8.733,9338,6.614,9444,10.184,9445,8.223,9446,10.748,9447,9.369,9448,8.223,9449,9.369,9450,9.369]],["title/interfaces/DeletionRequestLog.html",[159,0.712,9337,5.346]],["body/interfaces/DeletionRequestLog.html",[3,0.017,4,0.017,5,0.008,7,0.125,26,2.631,30,0.001,32,0.153,33,0.517,55,2.507,83,3.807,95,0.126,99,1.812,101,0.017,103,0.001,104,0.001,112,0.887,159,1.368,161,2.142,1883,4.245,2839,6.046,2840,8.868,2897,5.662,2898,5.879,8941,5.96,9217,6.046,9234,7.992,9330,9.009,9332,8.864,9333,7.305,9334,7.305,9335,7.305,9336,7.496,9337,8.682,9338,9.444,9339,9.966,9340,6.466,9341,7.305,9342,7.088]],["title/classes/DeletionRequestLogResponse.html",[0,0.241,9451,5.86]],["body/classes/DeletionRequestLogResponse.html",[0,0.386,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,27,0.502,29,0.671,30,0.001,31,0.494,32,0.159,33,0.56,83,3.27,95,0.136,101,0.011,103,0.001,104,0.001,112,0.875,159,0.899,190,2.195,193,5.797,200,2.691,202,2.019,296,3.553,300,4.274,433,1.08,871,3.236,2840,8.118,6947,8.561,9170,11.182,9330,8.498,9332,8.362,9338,8.645,9339,9.401,9451,11.182,9452,8.795,9453,11.153,9454,8.795,9455,8.795,9456,8.795,9457,8.795,9458,8.795,9459,8.146,9460,8.146,9461,8.795,9462,8.795]],["title/classes/DeletionRequestLogResponseBuilder.html",[0,0.241,9463,6.451]],["body/classes/DeletionRequestLogResponseBuilder.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,8,1.326,27,0.365,29,0.715,30,0.001,31,0.526,32,0.116,33,0.428,35,1.074,59,2.912,83,3.696,95,0.129,101,0.012,103,0.001,104,0.001,135,1.219,148,0.921,159,0.958,193,5.061,467,3.669,507,5.599,837,4.64,2840,8.733,4955,7.923,7298,8.223,9330,9.142,9332,8.995,9337,8.907,9338,8.899,9339,10.113,9344,9.763,9451,10.606,9463,10.748,9464,9.369,9465,8.678]],["title/classes/DeletionRequestMapper.html",[0,0.241,9466,6.113]],["body/classes/DeletionRequestMapper.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.847,30,0.001,31,0.623,32,0.137,33,0.507,34,1.896,35,1.272,95,0.124,101,0.011,103,0.001,104,0.001,148,1.09,153,1.794,205,2.26,402,3.99,430,4.562,431,4.754,467,3.944,1770,3.49,2498,6.05,2522,7.083,2524,7.083,2897,6.984,4755,9.332,4758,9.332,4759,9.332,4765,9.332,4768,5.255,4782,6.693,4783,6.693,6926,6.873,9271,11.298,9279,6.873,9336,7.351,9384,10.568,9386,8.313,9413,10.852,9437,7.336,9466,9.734,9467,8.075,9468,8.075,9469,8.718,9470,8.718,9471,8.718,9472,8.718,9473,8.718,9474,8.718,9475,8.718,9476,8.718]],["title/interfaces/DeletionRequestOutput.html",[159,0.712,2849,5.658]],["body/interfaces/DeletionRequestOutput.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.153,47,0.971,83,3.875,101,0.013,103,0.001,104,0.001,112,0.972,159,1.068,161,2.487,193,4.554,2816,5.951,2839,9.191,2840,9.059,2849,10.067,9075,7.371,9132,8.785,9477,9.671]],["title/classes/DeletionRequestOutputBuilder.html",[0,0.241,9478,6.451]],["body/classes/DeletionRequestOutputBuilder.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.381,29,0.747,30,0.001,31,0.549,32,0.121,33,0.447,35,1.122,47,0.944,83,3.767,95,0.109,101,0.013,103,0.001,104,0.001,148,0.961,159,1,193,5.196,467,3.74,507,5.291,2816,6.79,2839,8.011,2840,8.863,2849,10.438,9075,8.41,9444,10.456,9478,11.035,9479,9.059,9480,11.035,9481,9.059]],["title/interfaces/DeletionRequestProps.html",[159,0.712,9340,5.008]],["body/interfaces/DeletionRequestProps.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,26,2.634,30,0.001,32,0.165,33,0.573,83,4.169,95,0.132,99,1.649,101,0.014,103,0.001,104,0.001,112,0.835,125,2.537,134,2.899,148,1.31,159,0.837,161,1.95,185,2.804,231,2.043,402,4.676,430,5.346,431,5.571,1767,6.43,1770,4.263,1849,4.665,2897,8.184,3093,5.68,3094,5.68,9214,6.887,9234,8.001,9336,8.615,9340,7.658,9384,6.283,9385,7.582,9386,9.743,9397,9.978,9398,7.582,9399,7.582,9400,7.582,9401,7.582]],["title/interfaces/DeletionRequestProps-1.html",[159,0.592,756,2.309,9340,4.163]],["body/interfaces/DeletionRequestProps-1.html",[3,0.017,4,0.017,5,0.008,7,0.127,26,2.641,30,0.001,32,0.161,33,0.52,55,2.72,83,3.34,95,0.127,99,1.832,101,0.017,103,0.001,104,0.001,112,0.893,159,1.373,161,2.166,172,4.861,1883,4.275,2839,6.115,2840,7.549,2897,5.726,2898,8.523,8941,6.027,9217,6.115,9234,8.025,9330,7.903,9332,7.777,9333,7.388,9334,7.388,9335,7.388,9336,7.549,9337,6.98,9338,9.476,9339,6.98,9340,8.19,9341,7.388,9342,7.168]],["title/injectables/DeletionRequestRepo.html",[589,0.926,9352,5.86]],["body/injectables/DeletionRequestRepo.html",[0,0.189,3,0.01,4,0.01,5,0.005,7,0.076,8,0.919,12,3.641,26,2.714,27,0.495,29,0.951,30,0.001,31,0.7,32,0.154,33,0.569,34,1.801,35,1.392,36,2.856,55,1.935,56,3.79,59,1.699,83,1.603,95,0.139,96,1.427,97,2.205,99,1.101,101,0.007,103,0,104,0,135,1.743,142,1.979,148,1.154,153,1.301,193,2.384,195,2.098,205,1.64,228,0.982,277,0.782,317,3.038,400,1.603,430,2.248,433,0.672,589,1.07,591,1.297,595,2.073,657,2.956,729,5.494,734,3.391,735,3.641,736,4.701,766,2.926,770,3.442,788,3.732,2232,4.586,2446,5.72,2830,3.171,3237,4.667,3644,3.484,3649,4.586,3707,4.097,4866,5.902,6288,3.271,6895,3.732,7996,4.196,9218,9.136,9279,4.309,9294,11.346,9306,5.063,9352,6.77,9384,10.373,9413,9.818,9437,4.599,9466,4.798,9482,5.466,9483,8.046,9484,7.453,9485,7.453,9486,5.466,9487,8.046,9488,5.466,9489,7.453,9490,5.466,9491,8.046,9492,5.466,9493,7.453,9494,5.466,9495,7.453,9496,5.466,9497,7.453,9498,5.466,9499,8.046,9500,5.466,9501,5.466,9502,4.798,9503,4.798,9504,10.531,9505,5.466,9506,8.046,9507,5.466,9508,4.798,9509,5.466,9510,5.466,9511,5.466,9512,5.466,9513,5.466,9514,5.466,9515,5.466,9516,5.466,9517,5.466,9518,5.466,9519,8.046,9520,5.466,9521,4.798]],["title/classes/DeletionRequestResponse.html",[0,0.241,9522,6.113]],["body/classes/DeletionRequestResponse.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.496,29,0.731,30,0.001,31,0.538,32,0.157,33,0.437,47,0.864,83,3.447,95,0.107,101,0.012,103,0.001,104,0.001,112,0.922,190,2.107,202,2.197,296,3.565,433,1.176,871,3.521,2839,8.557,2840,8.435,6947,9.025,9170,11.167,9459,8.864,9460,8.864,9522,11.957,9523,8.864,9524,11.757,9525,9.57,9526,9.57,9527,9.57]],["title/classes/DeletionRequestScope.html",[0,0.241,9502,6.113]],["body/classes/DeletionRequestScope.html",[0,0.271,2,0.825,3,0.014,4,0.014,5,0.007,7,0.109,8,1.181,27,0.523,29,0.884,30,0.001,31,0.65,32,0.163,33,0.529,35,1.412,83,3.394,95,0.129,101,0.01,103,0,104,0,112,0.811,122,2.4,129,2.315,130,2.116,148,1.016,193,5.049,205,1.593,231,1.783,279,3.242,365,3.472,402,2.812,436,3.783,569,2.43,652,2.676,2479,6.841,6288,5.603,7007,6.85,7008,6.85,7009,6.85,7014,6.85,7015,6.85,7016,5.258,7017,5.182,7018,5.258,7019,5.258,7028,5.182,7029,6.85,7030,5.258,7031,5.182,7032,5.258,7033,5.182,7034,6.85,9253,5.338,9294,10.16,9386,5.861,9397,6.002,9413,6.163,9431,6.862,9440,6.862,9502,11.547,9508,9.07,9528,6.163,9529,10.335,9530,12.316,9531,10.335,9532,7.242,9533,7.819,9534,6.862]],["title/injectables/DeletionRequestService.html",[589,0.926,9351,6.113]],["body/injectables/DeletionRequestService.html",[0,0.208,3,0.011,4,0.011,5,0.005,7,0.084,8,0.987,12,3.908,26,2.818,27,0.499,29,0.977,30,0.001,31,0.719,32,0.158,33,0.584,34,1.03,35,1.434,36,2.903,49,2.269,55,2.364,56,2.838,59,1.872,83,1.766,95,0.135,96,1.573,97,2.43,99,1.214,101,0.008,103,0,104,0,129,1.784,130,1.63,135,1.434,148,1.147,153,1.632,228,1.082,277,0.861,317,3.073,400,1.766,402,2.167,433,0.74,589,1.148,591,1.429,657,2.668,729,5.895,2839,4.051,2840,3.993,2897,6.941,2898,7.207,2901,7.998,3237,5.008,4510,3.708,9218,8.085,9234,6.786,9253,4.113,9279,4.749,9317,12.064,9336,6.689,9351,7.578,9352,10.216,9356,5.58,9357,5.58,9384,9.998,9386,4.515,9397,4.624,9437,5.069,9440,5.287,9484,7.998,9485,7.998,9489,7.998,9493,7.998,9495,7.998,9497,7.998,9535,6.024,9536,10.092,9537,8.635,9538,6.024,9539,6.024,9540,6.024,9541,6.024,9542,6.024,9543,8.635,9544,6.024,9545,6.024,9546,6.024,9547,6.024,9548,8.635,9549,6.024,9550,6.024,9551,8.635,9552,6.024,9553,6.024,9554,6.024,9555,6.024,9556,6.024,9557,6.024,9558,8.635,9559,6.024,9560,6.024,9561,6.024,9562,6.024,9563,6.024]],["title/interfaces/DeletionRequestTargetRefInput.html",[159,0.712,9442,5.86]],["body/interfaces/DeletionRequestTargetRefInput.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.153,34,2.333,47,1.039,101,0.013,103,0.001,104,0.001,112,0.969,159,1.062,161,2.474,193,4.53,1883,5.122,2816,5.92,2918,5.87,3011,4.747,9075,7.333,9132,8.74,9441,9.117,9442,10.394]],["title/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.241,9448,6.113]],["body/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,8,1.353,27,0.378,29,0.739,30,0.001,31,0.544,32,0.12,33,0.443,34,2.279,35,1.111,47,1.022,95,0.108,101,0.012,103,0.001,104,0.001,148,0.952,159,0.991,193,5.166,467,3.724,507,5.26,1883,4.446,2816,6.75,2918,6.693,3011,5.412,9075,8.36,9346,9.965,9442,10.764,9444,10.395,9445,8.501,9448,10.395,9564,8.971]],["title/controllers/DeletionRequestsController.html",[314,2.65,9058,6.113]],["body/controllers/DeletionRequestsController.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,10,2.737,27,0.42,29,0.824,30,0.001,31,0.606,32,0.16,33,0.493,35,1.401,36,2.46,47,0.928,95,0.136,100,2.375,101,0.009,103,0,104,0,148,1.201,157,2.694,158,2.514,190,1.934,193,5.076,202,1.564,228,1.223,274,2.835,277,0.974,314,2.592,316,3.278,317,2.898,333,6.33,379,4.776,388,2.919,390,6.813,391,7.164,392,3.546,400,1.997,401,6.046,402,3.881,1355,6.69,1396,6.075,1545,4.808,2125,3.57,2830,7.945,2839,7.826,2921,8.72,3036,3.192,3241,4.58,3242,5.152,3259,6.905,3260,5.105,5097,8.72,9056,9.469,9058,8.262,9100,5.731,9111,8.72,9163,10.214,9197,10.78,9206,5.978,9207,5.731,9209,6.309,9402,9.792,9451,9.077,9522,9.469,9565,6.811,9566,9.414,9567,10.788,9568,9.414,9569,6.811,9570,6.811,9571,9.414,9572,6.811,9573,6.811,9574,6.811,9575,12.633,9576,6.811,9577,9.414,9578,6.811,9579,6.811,9580,9.414,9581,6.811,9582,6.811,9583,6.811,9584,6.811,9585,6.811,9586,6.811,9587,6.811,9588,6.811,9589,6.811,9590,6.811,9591,6.811,9592,6.811,9593,6.811]],["title/interfaces/DeletionTargetRef.html",[159,0.712,9332,4.755]],["body/interfaces/DeletionTargetRef.html",[3,0.019,4,0.019,5,0.009,7,0.139,26,2.73,30,0.001,32,0.149,34,2.304,55,2.447,95,0.135,99,2.015,101,0.015,103,0.001,104,0.001,112,0.947,159,1.235,161,2.382,1883,5.177,8941,6.628,9217,6.724,9234,8.49,9253,6.827,9330,6.938,9331,9.262,9332,8.244]],["title/interfaces/DeletionTargetRef-1.html",[159,0.592,756,2.309,9332,3.953]],["body/interfaces/DeletionTargetRef-1.html",[3,0.017,4,0.017,5,0.008,7,0.128,26,2.781,30,0.001,32,0.142,55,2.53,83,3.359,95,0.128,99,1.849,101,0.017,103,0.001,104,0.001,112,0.899,159,1.376,161,2.186,1883,4.3,2839,6.171,2840,7.593,2897,8.235,2898,6,8941,6.082,9217,6.171,9234,8.45,9330,7.948,9332,8.527,9333,7.455,9334,7.455,9335,7.455,9336,8.921,9337,7.044,9338,8.086,9339,7.044,9340,6.598,9341,7.455,9342,7.234]],["title/classes/DeletionTargetRefBuilder.html",[0,0.241,9594,6.451]],["body/classes/DeletionTargetRefBuilder.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,26,2.687,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,34,2.268,35,1.095,95,0.142,99,1.924,101,0.012,103,0.001,104,0.001,135,1.242,148,0.938,159,0.976,467,3.7,507,5.214,1883,4.407,3011,5.365,9234,8.164,9253,6.519,9332,9.296,9344,9.877,9346,9.877,9594,10.874,9595,9.548,9596,9.548]],["title/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.241,9597,5.49]],["body/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.392,2,1.332,3,0.014,4,0.014,5,0.007,7,0.104,27,0.492,29,0.57,30,0.001,31,0.42,32,0.161,33,0.576,47,0.831,95,0.112,101,0.014,102,6.427,103,0,104,0,110,2.597,112,0.786,122,2.346,153,1.956,172,3.188,231,1.952,289,6.563,402,4.07,412,5.371,433,0.918,436,3.342,540,3.754,595,2.833,693,5.906,871,4.45,1076,4.76,2127,4.373,2138,5.972,2512,7.216,7243,4.057,9109,5.599,9597,9.944,9598,8.92,9599,7.685,9600,6.556,9601,8.361,9602,10.63,9603,9.533,9604,7.47,9605,7.47,9606,6.919,9607,9.193,9608,6.919,9609,6.919,9610,6.285,9611,5.273,9612,6.285,9613,6.068,9614,6.556,9615,8.144,9616,8.799,9617,6.285,9618,5.371,9619,5.183,9620,5.183,9621,5.479,9622,6.285]],["title/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.241,9615,5.658]],["body/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.392,2,1.332,3,0.014,4,0.014,5,0.007,7,0.104,27,0.492,29,0.571,30,0.001,31,0.42,32,0.156,33,0.577,47,0.889,95,0.112,101,0.015,102,6.432,103,0,104,0,110,3.938,112,0.787,122,2.348,153,1.957,231,1.954,289,6.57,402,4.074,412,5.375,433,0.919,436,3.346,540,2.483,595,2.838,693,5.909,871,4.453,1076,4.769,2127,4.381,2138,5.977,2512,7.222,7243,4.065,9109,5.609,9597,7.912,9598,8.928,9599,7.688,9600,6.568,9601,8.366,9602,10.634,9603,9.54,9606,6.932,9607,9.201,9608,6.932,9609,6.932,9610,6.297,9611,5.283,9612,6.297,9613,6.08,9614,6.568,9615,10.254,9616,8.81,9617,6.297,9618,5.381,9619,5.193,9620,5.193,9621,5.489,9622,6.297,9623,10.038]],["title/classes/DoBaseFactory.html",[0,0.241,4696,4.917]],["body/classes/DoBaseFactory.html",[0,0.177,2,0.541,3,0.01,4,0.01,5,0.005,7,0.071,8,0.876,27,0.516,29,1.02,30,0.001,31,0.715,32,0.168,33,0.581,34,1.868,35,1.433,47,0.675,49,1.93,55,2.409,59,3.396,95,0.102,96,1.338,97,2.067,101,0.007,103,0,104,0,112,0.602,113,4.556,127,5.113,129,3.619,130,3.382,135,0.667,148,0.504,153,0.829,157,2.128,172,3.273,185,2.627,192,2.826,195,1.126,205,2.226,206,2.502,228,1.377,231,1.323,326,4.843,374,3.33,433,0.63,436,3.908,467,2.232,501,7.368,502,5.672,505,4.264,506,5.672,507,5.428,508,4.264,509,4.264,510,4.264,511,4.198,512,4.693,513,5.11,514,6.228,515,5.98,516,7.098,517,2.872,522,2.849,523,4.264,524,2.872,525,5.348,526,5.501,527,4.336,528,5.177,529,4.23,530,2.849,531,2.686,532,4.482,533,2.724,534,2.686,535,2.849,536,2.872,537,5.031,538,2.849,539,7.275,540,4.222,541,7.075,542,2.872,543,3.733,544,2.849,545,2.872,546,2.849,547,2.872,548,4.264,551,2.849,552,6.276,553,2.872,554,2.849,555,4.264,556,3.891,557,4.264,558,2.872,559,2.763,560,2.724,561,2.308,562,2.849,563,2.849,564,2.849,565,2.872,566,2.872,567,1.911,568,2.849,569,1.593,570,2.872,571,3.638,572,2.849,573,2.872,575,2.946,576,3.028,1086,2.44,1087,2.365,1088,2.401,1089,2.553,1090,2.784,1476,3.089,2135,3.618,2594,4.747,4510,3.155,4696,5.414,4698,3.685,9624,5.125,9625,5.125,9626,5.125,9627,5.125]],["title/classes/DomainObject.html",[0,0.241,1770,2.788]],["body/classes/DomainObject.html",[0,0.306,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,9,4.097,26,2.487,27,0.503,29,0.674,30,0.001,31,0.496,32,0.138,33,0.404,34,2.206,35,1.013,95,0.098,101,0.014,103,0.001,104,0.001,112,0.877,113,4.876,134,3.128,135,1.149,148,1.099,159,0.903,232,3.026,433,1.085,435,4.572,532,5.064,711,3.737,735,5.061,1237,3.239,1767,6.666,1768,12.327,1769,7.753,1770,4.477,1771,9.41,1772,8.182,1773,7.856,1774,10.359,8450,7.432,9628,11.184,9629,8.833,9630,8.833]],["title/classes/DomainObjectFactory.html",[0,0.241,9631,6.451]],["body/classes/DomainObjectFactory.html",[0,0.171,2,0.522,3,0.009,4,0.009,5,0.004,7,0.069,8,0.854,27,0.512,29,1.013,30,0.001,31,0.709,32,0.167,33,0.576,34,1.935,35,1.419,47,0.661,55,2.38,59,3.345,95,0.112,101,0.006,103,0,104,0,112,0.586,113,4.496,127,5.024,129,3.581,130,3.273,153,0.8,157,2.083,172,3.188,185,3.082,192,2.729,205,1.834,206,2.437,228,1.341,231,1.73,277,0.708,326,4.8,374,3.244,411,3.709,412,2.197,433,0.608,436,3.88,467,2.174,501,7.325,502,5.573,505,4.153,506,5.573,507,5.497,508,4.153,509,4.153,510,4.153,511,4.088,512,4.595,513,5.003,514,6.146,515,5.89,516,7.051,517,2.773,522,2.751,523,4.153,524,2.773,525,5.255,526,5.405,527,4.26,528,5.086,529,4.12,530,2.751,531,2.593,532,4.435,533,2.63,534,2.593,535,2.751,536,2.773,537,4.925,538,2.751,539,7.22,540,4.107,541,7.013,542,2.773,543,3.636,544,2.751,545,2.773,546,2.751,547,2.773,548,4.153,551,2.751,552,6.193,553,2.773,554,2.751,555,4.153,556,3.79,557,4.153,558,2.773,559,4.852,560,3.97,561,2.228,562,2.751,563,2.751,564,2.751,565,2.773,566,2.773,567,2.785,568,2.751,569,1.538,570,2.773,571,3.968,572,2.751,573,2.773,575,2.844,576,2.924,579,1.413,1086,3.556,1087,3.448,1088,3.501,1089,3.721,1090,4.058,1170,3.116,1476,2.982,1767,4.058,1770,2.99,1849,2.82,1883,1.857,2060,3.629,2061,3.558,2135,3.493,4215,3.433,7289,3.28,9631,6.919,9632,4.948,9633,4.948,9634,4.948,9635,7.47,9636,3.629]],["title/classes/DownloadFileParams.html",[0,0.241,7277,4.755]],["body/classes/DownloadFileParams.html",[0,0.474,2,0.687,3,0.012,4,0.017,5,0.008,7,0.091,26,2.592,27,0.356,30,0.001,32,0.154,39,1.807,47,1.015,95,0.143,99,1.312,101,0.017,103,0,104,0,110,2.264,112,0.716,122,1.892,157,1.507,159,0.666,190,1.636,195,1.431,199,5.033,200,1.993,201,4.437,202,1.495,203,6.136,205,1.327,296,3.711,298,2.828,299,4.877,300,4.374,403,3.325,855,5.044,856,6.346,886,3.335,899,2.976,1078,2.853,1080,2.257,1169,3.778,1237,1.886,1290,5.888,1291,4.317,1292,4.317,3011,4.814,3201,4.936,3933,3.084,4588,2.231,5260,7.567,6389,4.519,6666,3.084,6847,6.48,7210,6.45,7212,4.258,7213,7.755,7218,5.015,7232,6.982,7262,4.519,7263,4.597,7264,4.597,7265,5.48,7269,4.519,7270,8.256,7271,8.058,7272,8.058,7273,4.597,7274,4.519,7275,4.519,7276,4.597,7277,6.23,7278,7.794,7279,4.379,7280,4.447,7281,4.519,7282,4.447,7283,4.203,7284,4.597,7285,4.597,7286,4.597,7287,4.203,7288,4.203,7289,4.317,7290,4.447,7291,4.597,9637,6.513,9638,6.513]],["title/classes/DrawingContentBody.html",[0,0.241,6504,4.554]],["body/classes/DrawingContentBody.html",[0,0.474,2,0.578,3,0.01,4,0.01,5,0.005,7,0.076,9,2.539,27,0.213,30,0.001,31,0.682,32,0.172,47,0.95,83,1.605,95,0.125,99,1.103,101,0.017,103,0,104,0,110,1.903,112,0.632,130,3.286,155,1.747,157,2.719,190,0.981,195,1.203,200,1.675,201,3.714,202,1.257,223,1.706,231,2.027,296,3.711,299,4.979,300,4.501,339,1.605,360,3.147,854,5.072,855,3.261,886,1.733,899,2.501,1232,3.175,1749,3.12,1853,1.796,2049,3.899,2393,4.501,2721,3.798,2912,2.62,2918,6.638,3159,2.477,3201,2.565,3581,3.235,3583,3.235,3586,3.204,3589,4.975,3593,2.831,3598,3.068,4065,3.334,4086,3.334,4485,5.487,6409,6.017,6411,6.09,6413,6.017,6415,6.716,6417,6.09,6419,6.09,6467,3.532,6504,6.89,6505,6.248,6506,6.248,6507,6.248,6508,6.248,6509,6.248,6847,6.718,8010,3.579,8080,3.204,9639,5.416,9640,3.681,9641,5.474,9642,8.259,9643,6.248,9644,6.248,9645,6.248,9646,3.681,9647,6.248,9648,3.37,9649,3.628,9650,6.248,9651,6.89,9652,3.579,9653,3.579,9654,3.579,9655,3.579,9656,3.681,9657,3.681,9658,3.681,9659,3.681,9660,3.681,9661,3.681]],["title/classes/DrawingElement.html",[0,0.241,3134,4.554]],["body/classes/DrawingElement.html",[0,0.235,2,0.717,3,0.013,4,0.013,5,0.006,7,0.095,8,1.073,27,0.528,29,0.963,30,0.001,31,0.709,32,0.163,33,0.577,35,1.512,36,1.985,47,0.897,55,1.903,59,2.11,95,0.105,101,0.014,103,0,104,0,112,0.737,113,3.731,122,2.233,130,2.541,134,2.404,148,1.059,157,2.69,158,2.506,159,0.694,189,5.781,197,1.897,231,1.858,317,2.33,435,3.226,436,3.895,527,2.885,532,3.444,567,2.531,569,3.792,653,2.792,657,1.552,711,2.72,735,4.25,1770,3.76,1773,6.559,1842,4.292,2051,2.873,2662,6.008,3058,8.068,3061,6.63,3062,6.63,3063,6.63,3064,7.598,3065,6.63,3067,4.225,3068,5.72,3069,6.741,3071,6.412,3072,5.72,3073,6.681,3075,4.71,3076,5.027,3078,6.781,3079,4.71,3083,4.71,3085,4.225,3112,5.661,3134,7.598,4346,4.881,4347,4.881,4348,4.881,4357,4.225,5930,7.63,9662,9.975,9663,4.71,9664,6.287,9665,5.957,9666,6.287,9667,6.287,9668,5.711,9669,6.287,9670,5.711,9671,5.711,9672,6.287,9673,6.287,9674,5.957,9675,6.287]],["title/injectables/DrawingElementAdapterService.html",[589,0.926,3895,5.658]],["body/injectables/DrawingElementAdapterService.html",[0,0.3,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,27,0.431,29,0.844,30,0.001,31,0.621,32,0.137,33,0.505,35,0.995,36,2.338,47,0.895,95,0.148,101,0.011,103,0.001,104,0.001,189,5.344,228,1.559,277,1.241,317,2.633,400,2.545,433,1.066,589,1.47,591,2.059,652,1.766,657,1.985,1027,2.656,1053,9.391,1054,4.905,1056,5.602,1169,5.035,1611,7.052,2049,4.967,2219,3.891,2220,4.377,2221,4.225,2382,8.719,2447,4.623,2448,6.006,3282,5.837,3895,8.986,3902,10.684,4259,5.082,9676,11.275,9677,8.04,9678,11.06,9679,8.681,9680,11.06,9681,8.681,9682,6.128,9683,8.681,9684,8.681,9685,8.681,9686,8.681]],["title/classes/DrawingElementContent.html",[0,0.241,9687,5.86]],["body/classes/DrawingElementContent.html",[0,0.384,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.432,29,0.666,30,0.001,31,0.49,32,0.164,33,0.398,34,2.086,47,0.896,95,0.136,101,0.014,103,0.001,104,0.001,112,0.87,157,3.068,190,1.563,202,2.002,296,3.602,304,4.317,433,1.498,458,3.477,821,4.451,886,2.76,1853,2.86,2109,3.82,2393,4.674,2926,7.075,3197,4.667,3198,4.667,3201,4.086,3759,5.953,3771,5.152,4019,6.376,4023,5.7,4025,5.7,4403,8.514,4485,6.35,6415,5.556,7572,5.202,9687,11.4,9688,11.298,9689,7.336,9690,8.075]],["title/classes/DrawingElementContentBody.html",[0,0.241,9645,4.554]],["body/classes/DrawingElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,7.098,6417,6.018,6419,6.018,6467,3.462,6504,6.823,6505,6.174,6506,6.174,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.823,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,9692,5.364,9693,5.364]],["title/entities/DrawingElementNode.html",[205,1.419,3500,5.49]],["body/entities/DrawingElementNode.html",[0,0.315,3,0.017,4,0.017,5,0.008,7,0.127,27,0.355,30,0.001,32,0.113,47,0.915,95,0.145,96,2.379,101,0.015,103,0.001,104,0.001,112,0.895,134,3.227,135,1.186,148,0.896,157,3.02,159,0.932,190,1.634,205,2.324,206,2.973,223,3.88,224,2.64,231,1.968,232,2.466,457,5.067,1770,4.566,1853,2.99,2049,4.654,2109,3.993,2662,5.43,2715,5.15,3467,6.105,3477,6.806,3500,8.991,3549,5.551,3575,10.011,3922,6.946,3942,5.61,4448,5.739,4450,5.739,7571,6.041,7572,5.439,9694,10.565,9695,7.669,9696,10.011,9697,8.442]],["title/interfaces/DrawingElementNodeProps.html",[159,0.712,9696,6.113]],["body/interfaces/DrawingElementNodeProps.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,32,0.114,47,0.961,95,0.146,96,2.396,101,0.015,103,0.001,104,0.001,112,0.899,134,3.25,135,1.194,148,0.902,157,3.116,159,0.938,161,2.186,205,2.334,223,3.57,224,2.658,231,2.155,232,2.483,457,5.102,1770,4.585,1853,3.011,2049,3.745,2109,4.02,2662,5.453,2715,5.186,3467,6.131,3477,6.835,3500,7.234,3549,5.589,3575,10.054,3922,7.606,3942,5.649,4448,5.778,4450,5.778,7571,6.082,7572,5.476,9694,8.5,9696,10.961,9697,8.5]],["title/interfaces/DrawingElementProps.html",[159,0.712,9674,6.113]],["body/interfaces/DrawingElementProps.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.141,36,1.913,47,0.985,95,0.127,101,0.016,103,0.001,104,0.001,112,0.891,122,1.877,130,2.45,134,3.206,148,1.22,157,3.103,158,3.342,159,0.926,161,2.156,197,2.53,231,2.141,317,1.958,527,3.847,567,3.375,569,2.814,653,3.723,657,2.07,1842,5.19,2051,3.831,3058,6.846,3064,5.919,3068,5.513,3069,6.588,3072,5.513,3073,6.529,3112,7.481,3134,8.114,4357,5.635,5930,9.227,9662,8.385,9663,6.281,9671,7.617,9672,8.385,9673,8.385,9674,9.968,9675,8.385]],["title/classes/DrawingElementResponse.html",[0,0.241,4403,5.346]],["body/classes/DrawingElementResponse.html",[0,0.365,2,0.85,3,0.015,4,0.015,5,0.007,7,0.112,27,0.504,29,0.615,30,0.001,31,0.452,32,0.173,33,0.368,34,2.211,47,0.863,95,0.131,101,0.014,103,0,104,0,112,0.827,157,2.719,190,2.233,202,1.849,296,3.587,304,3.988,433,1.443,458,3.212,821,4.112,886,2.55,1853,2.642,2109,3.528,2393,4.955,2926,7.501,3196,5.266,3197,5.641,3198,5.641,3200,4.806,3201,4.938,3759,5.499,3771,4.759,4019,6.752,4023,5.266,4025,5.266,4403,9.926,4485,6.732,6415,6.716,7572,4.806,9687,10.483,9688,12.287,9698,6.776,9699,7.46,9700,7.069,9701,7.46,9702,7.069]],["title/classes/DrawingElementResponseMapper.html",[0,0.241,6439,6.113]],["body/classes/DrawingElementResponseMapper.html",[0,0.267,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,27,0.478,29,0.783,30,0.001,31,0.576,32,0.152,33,0.469,34,1.321,35,1.32,95,0.142,100,2.695,101,0.01,103,0,104,0,112,0.804,122,2.126,135,1.006,141,4.396,148,1.131,153,1.983,157,1.789,430,3.179,467,3.817,652,2.341,653,3.179,711,2.239,829,4.567,830,5.701,1237,2.971,1853,2.535,2049,5.545,2140,4.404,2393,2.962,2653,8.443,2656,7.872,2657,7.872,2659,7.687,2926,4.483,3134,8.883,3154,5.363,3556,5.793,4019,5.896,4035,5.456,4403,9.411,4485,4.024,5927,7.164,6415,4.925,6438,5.933,6439,11.744,9687,8.629,9703,12.758,9704,9.189,9705,6.092,9706,6.783,9707,7.728,9708,7.158,9709,7.728,9710,6.783,9711,11.51,9712,6.092,9713,6.092,9714,6.092,9715,7.158]],["title/classes/DtoCreator.html",[0,0.241,9716,6.113]],["body/classes/DtoCreator.html",[0,0.21,2,0.399,3,0.007,4,0.007,5,0.003,7,0.053,8,0.693,27,0.499,29,0.844,30,0.001,31,0.64,32,0.164,33,0.505,34,1.036,35,1.341,95,0.123,99,0.762,100,3.024,101,0.005,103,0,104,0,112,0.475,122,1.798,135,1.743,141,4.559,148,1.215,153,0.98,155,1.934,172,2.587,195,1.332,197,1.694,228,1.088,277,0.541,290,2.972,402,3.643,430,2.493,431,2.598,433,0.932,478,1.06,589,0.806,595,1.435,652,2.806,653,1.556,693,1.72,821,1.931,896,5.276,1132,2.625,1197,3.292,1778,2.382,1793,2.507,1862,5.044,1937,1.782,2033,3.599,2049,3.539,2051,5.875,2055,2.625,2219,1.696,2220,1.907,2221,1.841,2393,3.881,2680,1.737,2957,4.089,2959,5.076,2961,9.045,2964,4.652,2966,5.453,2976,7.985,3044,2.904,3045,2.507,3325,2.904,3351,8.329,3352,5.099,3356,5.099,3359,3.183,3378,3.32,3764,3.183,3774,2.382,3777,3.183,4094,2.382,4112,5.832,4259,2.214,4866,4.25,5266,5.099,5794,3.073,7938,7.297,8467,8.546,8619,2.625,8759,3.32,9716,6.655,9717,11.98,9718,3.504,9719,9.701,9720,9.742,9721,6.061,9722,6.061,9723,6.061,9724,8.033,9725,8.033,9726,6.061,9727,6.061,9728,6.061,9729,6.061,9730,6.061,9731,3.783,9732,3.783,9733,3.783,9734,3.783,9735,5.614,9736,11.067,9737,3.783,9738,8.52,9739,5.614,9740,3.783,9741,5.614,9742,3.783,9743,3.783,9744,3.783,9745,3.783,9746,5.614,9747,3.783,9748,5.614,9749,3.783,9750,5.614,9751,3.783,9752,5.614,9753,3.783,9754,2.775,9755,5.319,9756,5.319,9757,3.504,9758,3.504,9759,3.32,9760,5.614,9761,3.504,9762,5.614,9763,5.614,9764,3.504,9765,3.504,9766,3.504,9767,3.504,9768,3.504,9769,3.504,9770,3.504,9771,3.504,9772,3.504,9773,3.504,9774,5.614,9775,3.32,9776,3.504,9777,3.504,9778,3.504,9779,3.504,9780,7.024,9781,3.504,9782,3.504,9783,3.504,9784,3.32,9785,3.32,9786,5.614,9787,3.504,9788,3.504,9789,3.32,9790,3.32,9791,3.183,9792,3.32,9793,3.32,9794,3.504,9795,3.504,9796,3.504,9797,3.504,9798,3.504,9799,3.504,9800,3.32,9801,3.504,9802,3.504,9803,3.504,9804,3.504,9805,3.504,9806,3.504,9807,3.504,9808,3.504,9809,3.183,9810,3.504,9811,3.073,9812,3.504,9813,3.504,9814,3.504]],["title/injectables/DurationLoggingInterceptor.html",[589,0.926,9815,6.451]],["body/injectables/DurationLoggingInterceptor.html",[0,0.301,3,0.016,4,0.016,5,0.008,7,0.121,8,1.266,27,0.432,29,0.846,30,0.001,31,0.622,32,0.137,33,0.506,35,0.998,95,0.143,101,0.011,103,0.001,104,0.001,135,1.132,148,0.855,157,2.014,183,3.322,277,1.244,400,2.551,433,1.069,531,5.805,571,4.823,589,1.472,591,2.064,1027,2.662,1056,5.614,1058,6.678,1237,2.52,1924,5.85,2247,9.721,2383,9.354,2447,4.629,2448,6.011,3282,5.85,7470,8.302,7477,8.998,8048,9.319,9815,10.259,9816,12.185,9817,8.058,9818,10.259,9819,9.721,9820,8.7,9821,9.721,9822,11.258,9823,11.258,9824,8.7,9825,9.721,9826,8.058,9827,8.7,9828,8.7,9829,8.7,9830,8.7,9831,8.7]],["title/classes/ElementContentBody.html",[0,0.241,9642,4.616]],["body/classes/ElementContentBody.html",[0,0.474,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.515,27,0.211,30,0.001,31,0.68,32,0.174,47,0.932,83,1.59,95,0.125,99,1.092,101,0.017,103,0,104,0,110,1.885,112,0.627,130,3.276,155,1.731,157,2.59,190,0.972,195,1.192,200,1.659,201,3.694,202,1.245,223,1.69,231,2.02,296,3.707,299,4.967,300,4.486,339,1.59,360,4.598,854,5.036,855,3.239,886,1.717,899,2.478,1232,3.145,1749,3.09,1853,1.779,2049,4.281,2393,4.486,2912,2.595,2918,6.615,3159,2.454,3201,3.748,3581,3.204,3583,3.204,3586,3.174,3589,4.948,3593,2.804,3598,3.039,4065,3.302,4086,3.302,4485,6.303,6409,5.984,6411,6.056,6413,5.984,6415,6.685,6417,6.056,6419,6.056,6467,3.499,6504,6.213,6505,6.213,6506,6.213,6507,6.213,6508,6.213,6509,6.213,6847,6.7,8010,3.545,8080,3.174,9639,5.378,9640,3.646,9642,8.409,9643,6.213,9644,6.213,9645,6.213,9646,3.646,9647,6.213,9648,3.338,9649,3.594,9650,6.213,9651,6.858,9652,3.545,9653,3.545,9654,3.545,9655,3.545,9656,3.646,9657,3.646,9658,3.646,9659,3.646,9660,3.646,9661,3.646,9832,5.422,9833,5.422]],["title/controllers/ElementController.html",[314,2.65,3033,6.113]],["body/controllers/ElementController.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.061,8,0.78,10,3.362,27,0.368,29,0.72,30,0.001,31,0.53,32,0.175,33,0.431,35,1.082,36,2.462,95,0.13,100,1.534,101,0.006,103,0,104,0,135,1.328,148,0.671,153,1.104,190,1.69,194,1.729,195,1.501,202,1.01,228,1.226,274,1.832,277,0.629,314,1.675,316,2.118,317,2.735,325,6.344,337,7.172,342,7.617,345,8.378,349,6.753,379,4.785,388,4.376,389,2.877,390,5.976,391,8.193,392,2.291,393,2.179,395,2.355,398,2.372,400,1.29,401,5.285,402,4.75,652,0.895,657,2.157,675,3.486,734,2.878,871,3.47,896,2.446,1351,6.865,2049,4.408,2393,4.14,2661,3.575,2675,2.6,2681,6.092,2918,6.105,2954,5.426,3025,6.596,3027,6.798,3033,5.993,3036,2.062,3037,3.862,3159,4.268,3160,4.159,3212,6.781,3214,7.069,3216,7.069,3217,7.069,3220,7.617,3222,5.383,3235,9.431,3237,3.961,3240,2.261,3241,2.959,3242,2.408,3249,3.575,3259,5.009,3260,5.118,3521,4.406,3612,6.885,3668,3.464,3728,4.91,3925,5.383,4049,4.82,4050,3.862,4064,5.118,4065,2.68,4066,3.164,4067,3.164,4071,3.378,4072,3.702,4077,4.993,4079,4.076,4084,4.076,4086,2.68,4087,3.575,4088,3.575,4375,3.378,4401,2.839,4403,3.378,4404,3.378,4405,3.378,4420,3.862,4429,3.862,4430,3.862,4431,3.862,4432,3.862,4436,3.862,4537,7.041,5642,4.076,5655,5.993,6553,11.244,8094,8.96,9643,4.464,9644,5.471,9645,4.464,9647,5.471,9650,5.471,9651,5.471,9652,6.166,9834,4.4,9835,7.751,9836,7.751,9837,8.368,9838,4.4,9839,4.4,9840,4.4,9841,4.4,9842,4.4,9843,4.4,9844,6.829,9845,4.4,9846,4.4,9847,4.4,9848,8.277,9849,4.4,9850,4.4,9851,4.4,9852,4.4,9853,4.4,9854,4.4,9855,4.4,9856,5.548,9857,4.4,9858,4.4,9859,4.4,9860,9.431,9861,4.4,9862,4.4,9863,4.4,9864,4.4,9865,4.4,9866,4.4,9867,4.4,9868,4.4,9869,4.4,9870,4.4,9871,4.4]],["title/injectables/ElementUc.html",[589,0.926,3027,5.658]],["body/injectables/ElementUc.html",[0,0.168,3,0.009,4,0.009,5,0.004,7,0.068,8,0.841,26,2.888,27,0.469,29,0.918,30,0.001,31,0.675,32,0.152,33,0.549,35,1.338,36,2.653,39,3.483,59,1.508,95,0.137,99,0.978,101,0.006,103,0,104,0,113,4.776,122,1.844,135,1.518,148,0.874,153,1.438,228,1.916,231,1.27,277,0.694,290,1.151,317,2.946,433,0.904,436,2.627,579,2.539,589,0.978,591,1.151,610,1.914,652,2.284,657,2.917,688,2.262,734,2.045,837,2.403,874,2.84,1027,1.485,1197,5.796,1792,3.367,1793,3.216,1853,1.592,1862,6.202,1936,3.263,1968,5.399,2019,7.281,2024,10.055,2030,3.942,2049,5.023,2234,3.313,2393,3.804,2447,4.878,2662,5.723,2663,8.621,2665,5.802,2666,5.802,2667,3.489,2668,8.341,2670,3.725,2671,5.399,2672,6.394,2674,3.825,2675,6.896,2677,3.825,2678,5.196,2680,2.228,2681,4.392,2692,4.083,2694,5.65,3027,5.98,3066,3.367,3149,5.6,3159,5.083,3160,5.416,3453,3.637,3521,4.75,3595,6.11,3668,3.734,3893,9.48,4154,3.942,4155,3.942,4156,3.942,4159,3.942,4160,3.942,4362,2.987,4538,7.805,4566,4.494,4930,3.637,6435,4.531,6467,6.405,6556,8.237,6730,3.637,9835,8.237,9836,6.818,9872,4.852,9873,7.361,9874,8.893,9875,4.852,9876,4.852,9877,4.852,9878,7.361,9879,4.852,9880,7.361,9881,4.852,9882,4.852,9883,4.852,9884,4.259,9885,4.494,9886,4.852,9887,4.852,9888,4.852,9889,7.361,9890,4.852,9891,4.852,9892,4.852,9893,4.852,9894,4.494,9895,4.852,9896,4.494,9897,4.494,9898,4.852,9899,4.852,9900,7.361,9901,4.852,9902,4.852,9903,4.852,9904,4.494,9905,4.852]],["title/modules/EncryptionModule.html",[252,1.839,9906,5.221]],["body/modules/EncryptionModule.html",[0,0.297,3,0.016,4,0.016,5,0.008,30,0.001,47,0.631,95,0.147,101,0.011,103,0.001,104,0.001,135,1.117,148,0.844,153,1.389,252,3.197,254,3.089,255,3.279,256,3.362,257,3.35,258,3.338,259,3.989,260,4.082,265,6.26,269,4.301,270,3.303,271,3.235,276,4.301,277,1.228,527,3.65,634,8.059,651,4.357,685,6.372,686,7.899,688,5.121,1027,2.628,2125,5.758,2447,5.515,2448,6.324,5203,9.078,5205,10.63,9906,10.116,9907,8.588,9908,8.588,9909,8.588,9910,7.955,9911,7.537,9912,8.588,9913,12.112,9914,8.588,9915,8.588,9916,8.588,9917,7.955,9918,8.588]],["title/interfaces/EncryptionService.html",[159,0.712,5204,5.109]],["body/interfaces/EncryptionService.html",[3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.464,29,0.91,30,0.001,31,0.669,32,0.147,33,0.544,35,1.366,47,1.061,101,0.016,103,0.001,104,0.001,135,1.55,159,1,161,2.33,339,3.493,5203,7.331,5204,8.739,5205,8.584,9919,9.78,9920,10.456,9921,10.024,9922,11.035,9923,9.78,9924,11.035,9925,9.78,9926,9.78,9927,9.78]],["title/classes/EntityNotFoundError.html",[0,0.241,346,5.109]],["body/classes/EntityNotFoundError.html",[0,0.271,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,8,1.182,27,0.523,29,0.598,30,0.001,31,0.44,32,0.172,33,0.529,35,0.898,47,0.967,55,1.587,59,2.435,95,0.115,101,0.01,103,0,104,0,112,0.812,155,3.934,190,2.297,205,2.109,228,2.5,231,1.785,233,2.429,277,1.12,346,7.59,347,5.317,402,2.818,433,0.962,436,3.889,736,5.704,868,5.932,871,2.882,998,5.487,1078,5.4,1080,4.272,1115,4.41,1354,8.683,1355,7.718,1356,7.576,1360,5.193,1361,4.504,1362,5.193,1363,5.193,1364,5.193,1365,5.193,1366,5.193,1367,4.822,1368,4.427,1369,6.175,1370,6.591,1374,5.055,4203,7.256,9928,10.348,9929,7.834,9930,7.834,9931,7.834,9932,7.834]],["title/interfaces/EntityWithSchool.html",[159,0.712,7549,4.287]],["body/interfaces/EntityWithSchool.html",[3,0.018,4,0.018,5,0.009,7,0.138,30,0.001,32,0.122,34,1.689,47,0.726,49,4.514,83,3.514,95,0.134,96,2.578,97,3.984,101,0.017,103,0.001,104,0.001,112,0.94,159,1.32,161,2.353,231,2.226,430,4.062,431,4.233,692,6.255,703,4.116,789,5.405,2536,10.576,7549,7.378,9933,8.668,9934,6.743,9935,8.31]],["title/classes/ErrorLoggable.html",[0,0.241,9936,5.658]],["body/classes/ErrorLoggable.html",[0,0.346,2,0.626,3,0.011,4,0.011,5,0.005,7,0.083,8,0.975,27,0.471,29,0.835,30,0.001,31,0.615,32,0.154,33,0.5,35,1.147,47,0.804,95,0.135,101,0.008,103,0,104,0,112,0.669,113,2.355,122,1.769,129,1.755,130,3.137,131,3.026,135,1.509,148,1.187,158,3.15,195,1.875,200,2.611,223,3.613,228,1.965,277,0.847,297,4.815,338,6.735,371,3.15,393,2.935,400,1.738,433,0.728,543,2.884,561,2.669,571,3.378,652,2.741,653,2.437,809,3.875,1078,4.381,1080,4.67,1086,4.063,1087,3.938,1088,3.999,1089,4.251,1090,3.219,1091,3.928,1092,3.985,1115,3.247,1166,3.928,1167,3.648,1237,2.472,1313,4.046,1351,7.797,1359,6.933,1372,3.128,1373,3.609,1422,4.003,1423,4.662,1426,4.859,1468,5.1,1469,5.355,1885,3.648,2465,3.502,3011,3.9,4233,4.815,4955,4.046,5139,4.986,8831,4.549,9936,6.933,9937,5.926,9938,10,9939,8.534,9940,8.534,9941,8.534,9942,5.201,9943,5.926,9944,10,9945,5.926,9946,8.534,9947,5.926,9948,5.926,9949,8.534,9950,5.926,9951,8.534,9952,5.926,9953,5.926,9954,5.926,9955,5.926,9956,8.534,9957,5.926,9958,5.926,9959,10.94,9960,5.926,9961,5.926,9962,4.549,9963,5.926,9964,8.534,9965,5.926,9966,5.926,9967,8.534,9968,5.926,9969,5.489,9970,4.347,9971,4.986,9972,5.926,9973,5.926,9974,5.926,9975,5.926,9976,5.926,9977,5.926,9978,8.534,9979,5.926,9980,5.926,9981,5.926,9982,5.926]],["title/injectables/ErrorLogger.html",[589,0.926,9983,5.86]],["body/injectables/ErrorLogger.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,8,1.163,27,0.495,29,0.97,30,0.001,31,0.714,32,0.157,33,0.581,35,1.4,72,3.509,95,0.142,101,0.01,103,0,104,0,135,1.588,161,1.82,228,1.372,254,2.748,277,1.093,412,3.393,433,0.939,569,4.212,589,1.353,591,1.812,652,1.554,688,3.562,1080,3.528,1115,4.644,1212,4.93,1422,5.763,2447,4.783,3282,5.138,7461,6.428,9983,9.629,9984,13.071,9985,7.64,9986,10.177,9987,10.177,9988,10.177,9989,10.711,9990,7.64,9991,10.177,9992,7.64,9993,10.177,9994,7.64,9995,10.177,9996,7.64,9997,10.177,9998,7.64,9999,6.706,10000,8.023,10001,6.207,10002,7.077,10003,6.706,10004,11.304,10005,7.64,10006,7.64,10007,7.64,10008,7.64]],["title/classes/ErrorMapper.html",[0,0.241,10009,6.113]],["body/classes/ErrorMapper.html",[0,0.305,2,0.93,3,0.016,4,0.016,5,0.008,7,0.123,8,1.276,27,0.344,29,0.673,30,0.001,31,0.495,32,0.109,33,0.403,35,1.011,95,0.137,101,0.011,103,0.001,104,0.001,148,0.866,153,2.084,277,1.26,337,5.426,342,5.763,467,3.568,1080,4.71,1312,6.072,1313,6.018,1314,6.465,1343,7.416,2681,7.691,2953,7.476,10009,9.802,10010,8.814,10011,11.355,10012,8.814,10013,10.471,10014,8.814,10015,11.168,10016,5.368,10017,12.26,10018,8.814,10019,8.814,10020,6.766,10021,8.814,10022,8.814]],["title/modules/ErrorModule.html",[252,1.839,7461,5.86]],["body/modules/ErrorModule.html",[0,0.319,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,129,3.402,157,2.134,252,3.304,254,3.316,255,3.52,256,3.609,257,3.596,258,3.583,259,4.172,260,3.426,265,6.374,269,4.497,270,3.545,271,3.472,276,4.497,277,1.318,685,5.347,1472,6.386,2447,3.853,2834,7.614,3814,6.725,4703,6.924,7461,11.563,7472,7.971,7476,11.022,10023,9.219,10024,9.219,10025,9.219,10026,10.64,10027,7.077,10028,9.665,10029,9.219,10030,9.219,10031,7.077]],["title/classes/ErrorResponse.html",[0,0.241,1367,4.287]],["body/classes/ErrorResponse.html",[0,0.246,2,0.751,3,0.013,4,0.013,5,0.006,7,0.099,27,0.499,29,0.543,30,0.001,31,0.4,32,0.176,33,0.504,47,1.04,55,2.513,59,2.211,95,0.079,101,0.009,103,0,104,0,112,0.761,155,4.181,157,2.554,219,5.349,228,2.543,277,1.017,403,6.051,415,5.527,433,1.191,871,3.568,998,6.403,1078,5.434,1080,4.622,1115,4.985,1220,6.814,1355,7.773,1367,5.97,1368,4.019,1379,8.523,1380,7.269,1381,6.522,1388,7.073,1390,6.037,1392,8.512,1393,5.527,1395,8.983,1396,6.258,1397,8.983,1516,6.242,2109,3.116,3056,3.423,4248,6.588,4249,5.46,4250,6.588,10032,7.112,10033,7.112,10034,9.698,10035,7.112,10036,7.112,10037,7.112,10038,7.112]],["title/interfaces/ErrorType.html",[159,0.712,1084,4.755]],["body/interfaces/ErrorType.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.176,47,1.062,101,0.013,103,0.001,104,0.001,112,0.959,155,4.329,159,1.043,161,2.43,228,2.35,1084,8.345,1374,8.753,10039,10.203,10040,10.203]],["title/classes/ErrorUtils.html",[0,0.241,1313,4.755]],["body/classes/ErrorUtils.html",[0,0.263,2,0.802,3,0.014,4,0.014,5,0.007,7,0.106,8,1.158,27,0.475,29,0.93,30,0.001,31,0.684,32,0.125,33,0.556,35,1.396,47,0.839,59,2.361,95,0.127,101,0.01,103,0,104,0,125,2.415,148,1.197,153,1.229,157,2.818,158,4.495,159,0.777,197,2.123,277,1.086,393,3.762,467,4.092,653,5.008,1080,5.002,1313,6.923,1354,7.667,2099,9.127,2106,5.989,10041,7.597,10042,10.139,10043,10.139,10044,12.686,10045,10.139,10046,10.139,10047,7.597,10048,9.271,10049,10.139,10050,7.597,10051,10.139,10052,7.597,10053,10.245,10054,10.139,10055,7.597,10056,7.597,10057,12.176,10058,7.597]],["title/injectables/EtherpadService.html",[589,0.926,10059,6.113]],["body/injectables/EtherpadService.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.113,8,1.21,26,2.532,27,0.413,29,0.809,30,0.001,31,0.595,32,0.146,33,0.484,35,0.931,36,2.239,39,2.94,47,0.995,94,4.119,95,0.139,99,1.636,101,0.014,103,0.001,104,0.001,135,1.534,148,1.041,153,1.313,155,3.989,197,2.269,228,1.458,277,1.161,317,2.551,339,3.106,400,2.381,433,0.997,589,1.408,591,1.926,610,3.202,629,4.285,652,1.651,657,1.857,734,3.422,1027,2.485,1080,3.672,1328,4.315,1882,6.831,2027,6.117,2447,4.929,2448,5.857,6215,5.838,10059,9.298,10060,8.119,10061,10.594,10062,7.126,10063,9.752,10064,8.119,10065,10.594,10066,8.119,10067,10.594,10068,8.119,10069,8.119,10070,8.119,10071,8.119,10072,7.52,10073,8.119,10074,7.52]],["title/classes/ExternalGroupDto.html",[0,0.241,10075,5.221]],["body/classes/ExternalGroupDto.html",[0,0.286,2,0.871,3,0.015,4,0.015,5,0.007,7,0.115,27,0.537,29,0.63,30,0.001,31,0.706,32,0.175,33,0.621,47,0.924,83,3.688,95,0.119,101,0.011,103,0.001,104,0.001,112,0.84,232,2.897,290,2.819,433,1.014,435,2.835,614,2.558,704,6.068,1065,4.063,2109,3.615,2184,3.267,4664,3.717,4726,5.026,7895,4.974,7896,5.137,8619,5.726,9648,7.316,10075,9.768,10076,11.719,10077,7.644,10078,10.431,10079,10.707,10080,8.253,10081,8.253,10082,8.253,10083,10.273,10084,8.253,10085,8.546,10086,8.253,10087,8.253,10088,6.944,10089,7.644,10090,5.934,10091,8.253,10092,8.253,10093,7.243,10094,7.243,10095,7.243,10096,7.243]],["title/classes/ExternalGroupUserDto.html",[0,0.241,10083,5.49]],["body/classes/ExternalGroupUserDto.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.498,29,0.738,30,0.001,31,0.543,32,0.158,33,0.441,47,0.869,95,0.108,101,0.012,103,0.001,104,0.001,112,0.928,232,3.2,433,1.187,435,3.319,595,3.664,1065,6.556,5056,7.728,10076,11.205,10083,10.769,10097,8.95,10098,8.726,10099,10.954,10100,8.95,10101,8.48,10102,9.662,10103,8.95,10104,8.95]],["title/classes/ExternalSchoolDto.html",[0,0.241,10105,5.109]],["body/classes/ExternalSchoolDto.html",[0,0.318,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.525,29,0.702,30,0.001,31,0.735,32,0.167,33,0.615,47,1.035,101,0.012,103,0.001,104,0.001,112,0.9,232,3.104,433,1.13,435,3.16,704,6.383,2184,3.641,4664,4.143,5223,7.967,7895,5.544,7896,5.725,8260,7.472,8261,7.472,10076,11.556,10105,9.879,10106,9.198,10107,8.173,10108,11.471,10109,9.198,10110,9.198,10111,9.198,10112,6.894,10113,7.472]],["title/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.241,10114,6.113]],["body/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,35,1,47,0.896,55,2.601,95,0.124,101,0.011,103,0.001,104,0.001,148,0.857,180,5.228,228,1.566,231,1.914,233,2.703,277,1.247,339,2.556,400,2.556,433,1.071,614,2.703,685,5.057,703,4.067,1027,2.668,1115,3.318,1237,3.213,1422,4.883,1423,5.687,1426,5.702,1462,4.701,1465,6.05,1468,5.687,1469,5.97,1477,4.451,1478,4.634,3430,3.786,4970,5.601,6435,7.509,10114,9.734,10115,12.197,10116,10.705,10117,8.718,10118,11.298,10119,6.395,10120,8.718,10121,6.395,10122,8.718]],["title/classes/ExternalSource.html",[0,0.241,10123,4.755]],["body/classes/ExternalSource.html",[0,0.342,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,27,0.503,29,0.754,30,0.001,31,0.555,32,0.16,33,0.451,47,0.986,48,6.046,101,0.013,103,0.001,104,0.001,112,0.94,232,3.243,244,6.972,245,7.785,433,1.213,435,3.393,704,6.588,7895,5.953,7896,6.148,10123,9.385,10124,13.417,10125,9.876,10126,11.985,10127,9.876]],["title/classes/ExternalSourceEntity.html",[0,0.241,10128,5.49]],["body/classes/ExternalSourceEntity.html",[0,0.316,2,0.964,3,0.017,4,0.017,5,0.008,7,0.127,27,0.486,29,0.697,30,0.001,31,0.513,32,0.154,33,0.417,47,0.916,95,0.127,96,2.385,101,0.015,103,0.001,104,0.001,112,0.896,159,0.934,190,2.047,223,3.884,224,2.646,232,3.091,433,1.122,435,3.138,704,6.666,2712,5.795,3430,5.67,5210,7.195,5727,5.325,7778,6.143,7895,5.506,7896,5.686,10128,9.004,10129,12.094,10130,8.461,10131,11.46,10132,11.422,10133,9.135,10134,6.847,10135,6.847,10136,7.201]],["title/interfaces/ExternalSourceEntityProps.html",[159,0.712,10131,6.113]],["body/interfaces/ExternalSourceEntityProps.html",[0,0.332,3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.146,47,0.976,95,0.131,96,2.505,101,0.015,103,0.001,104,0.001,112,0.924,159,0.981,161,2.285,223,3.669,224,2.779,232,2.596,704,6.961,2712,5.973,3430,5.92,5210,7.428,5727,5.489,7895,5.782,7896,5.971,10128,7.562,10129,8.886,10130,8.886,10131,11.181,10134,7.191,10135,7.191,10136,7.562]],["title/classes/ExternalSourceResponse.html",[0,0.241,10137,5.86]],["body/classes/ExternalSourceResponse.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.496,29,0.731,30,0.001,31,0.538,32,0.157,33,0.437,47,0.975,48,5.963,95,0.107,101,0.012,103,0.001,104,0.001,112,0.922,190,2.107,202,2.197,232,3.181,244,6.756,245,7.544,296,3.565,433,1.176,435,3.288,704,6.497,7895,5.768,7896,5.957,10137,11.463,10138,13.273,10139,9.57,10140,11.757,10141,9.57]],["title/classes/ExternalTool.html",[0,0.241,2776,3.449]],["body/classes/ExternalTool.html",[0,0.182,2,0.557,3,0.01,4,0.01,5,0.005,7,0.073,8,0.895,27,0.531,29,0.941,30,0.001,31,0.692,32,0.167,33,0.623,34,1.598,35,1.187,47,0.987,55,2.241,95,0.129,101,0.01,103,0,104,0,110,3.598,112,0.615,122,2.402,148,1.017,153,1.674,159,0.539,231,1.352,232,2.12,277,0.754,433,0.648,435,1.811,436,1.558,467,3.666,579,1.505,1237,2.269,1312,2.484,1852,6.115,2035,5.708,2036,2.596,2088,5.642,2133,7.595,2184,2.087,2695,8.5,2696,6.197,2698,1.711,2700,9.606,2703,2.98,2706,3.6,2765,6.766,2776,3.879,4664,2.375,5752,5.352,6099,5.578,6684,4.156,6688,7.944,6696,3.868,6697,4.884,6698,4.156,6699,3.32,6700,3.791,6701,4.047,6708,3.546,6709,3.868,6740,5.949,6756,3.495,6759,5.872,7243,2.864,7504,4.156,8173,6.237,8175,6.302,8176,3.32,8208,3.722,8209,3.952,8212,3.952,8213,4.284,8308,8.157,8309,8.5,8310,8.04,8328,3.6,8332,3.659,8355,6.859,10142,11.466,10143,7.59,10144,7.834,10145,7.834,10146,7.834,10147,7.834,10148,4.884,10149,5.273,10150,5.273,10151,4.884,10152,5.273,10153,5.273,10154,5.273,10155,5.273,10156,5.273,10157,7.257,10158,5.273,10159,7.257,10160,5.273,10161,7.257,10162,5.273,10163,4.628,10164,4.884,10165,4.884,10166,4.884,10167,4.884,10168,4.884,10169,4.884,10170,4.884,10171,4.884,10172,4.284,10173,4.436,10174,4.628,10175,8.659]],["title/classes/ExternalToolConfig.html",[0,0.241,2700,5.221]],["body/classes/ExternalToolConfig.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,9,4.429,27,0.495,29,0.729,30,0.001,31,0.536,32,0.172,33,0.436,47,0.863,95,0.106,101,0.012,103,0.001,104,0.001,112,0.921,232,3.177,433,1.173,435,3.28,2036,4.7,2109,4.183,2333,7.124,2696,6.031,2698,4.303,2699,8.033,2700,10.205,2701,8.843,2703,7.184,2707,6.865,2716,6.74,4726,5.815,10176,13.262,10177,11.739]],["title/classes/ExternalToolConfigCreateParams.html",[0,0.241,2720,5.109]],["body/classes/ExternalToolConfigCreateParams.html",[0,0.346,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,9,6.576,27,0.471,30,0.001,32,0.171,47,0.887,95,0.111,101,0.013,103,0.001,104,0.001,112,0.947,2036,4.923,2333,7.27,2696,5.899,2698,4.209,2703,7.331,2719,9.262,2720,8.857,10178,12.972,10179,9.999,10180,9.999]],["title/classes/ExternalToolConfigEntity.html",[0,0.241,2713,5.658]],["body/classes/ExternalToolConfigEntity.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,9,5.276,27,0.484,29,0.693,30,0.001,31,0.51,32,0.172,33,0.415,47,0.836,95,0.127,96,2.369,101,0.012,103,0.001,104,0.001,112,0.892,190,2.039,195,1.994,223,3.872,224,2.628,232,3.078,433,1.115,435,3.117,886,3.934,2036,4.467,2109,3.975,2333,6.963,2696,5.923,2698,4.226,2703,7.021,2707,6.524,2710,7.634,2712,5.77,2713,10.898,2716,6.405,3755,6.524,4726,5.526,10181,13.025,10182,11.374,10183,9.073]],["title/classes/ExternalToolConfigResponse.html",[0,0.241,2730,5.658]],["body/classes/ExternalToolConfigResponse.html",[0,0.346,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,9,6.576,27,0.471,30,0.001,32,0.171,47,0.887,95,0.111,101,0.013,103,0.001,104,0.001,112,0.947,2036,4.923,2333,7.27,2696,5.899,2698,4.209,2703,7.331,2729,8.124,2730,9.81,10184,12.972,10185,9.999,10186,9.999]],["title/injectables/ExternalToolConfigurationService.html",[589,0.926,10187,5.658]],["body/injectables/ExternalToolConfigurationService.html",[0,0.174,3,0.009,4,0.009,5,0.005,7,0.07,8,0.864,26,2.048,27,0.46,29,0.869,30,0.001,31,0.64,32,0.141,33,0.52,35,1.306,95,0.143,99,1.013,101,0.006,103,0,104,0,122,2.095,125,1.198,135,1.648,142,2.737,148,1.222,183,1.92,195,1.105,228,1.358,277,0.719,417,2.818,433,0.929,569,1.563,589,1.005,591,1.193,614,2.344,652,1.538,688,2.344,703,1.543,711,3.966,869,4.947,1725,3.55,1853,1.65,1883,1.887,2005,7.133,2006,5.968,2008,3.767,2035,6.515,2036,2.475,2088,2.155,2696,5.527,2698,4.174,2765,4.944,2776,6.817,5495,5.973,6078,9.067,6160,7.013,6288,4.108,6699,3.166,6982,3.489,7067,3.86,10187,6.143,10188,9.11,10189,4.658,10190,9.087,10191,9.087,10192,7.561,10193,9.087,10194,7.561,10195,8.871,10196,4.658,10197,7.414,10198,5.028,10199,6.666,10200,5.028,10201,10.038,10202,5.028,10203,7.383,10204,11.197,10205,5.028,10206,8.417,10207,5.028,10208,5.338,10209,7.561,10210,8.417,10211,5.028,10212,5.028,10213,5.028,10214,9.992,10215,7.561,10216,5.028,10217,5.028,10218,3.964,10219,5.028,10220,5.028,10221,5.028,10222,5.028,10223,6.362,10224,5.028,10225,5.028,10226,5.028,10227,7.561,10228,5.028,10229,4.085,10230,5.028,10231,5.028,10232,5.028,10233,4.413,10234,5.028,10235,5.028,10236,10.837,10237,5.028,10238,5.028,10239,7.004,10240,5.028,10241,5.028,10242,5.028,10243,6.362,10244,5.028,10245,5.028,10246,6.362,10247,5.028]],["title/injectables/ExternalToolConfigurationUc.html",[589,0.926,10248,5.86]],["body/injectables/ExternalToolConfigurationUc.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.052,8,0.685,26,2.862,27,0.429,29,0.84,30,0.001,31,0.618,32,0.14,33,0.503,34,0.638,35,1.213,36,2.639,39,3.365,95,0.142,99,0.752,100,1.302,101,0.005,103,0,104,0,135,1.678,148,0.927,153,0.97,183,5.007,228,1.9,277,0.534,290,1.783,317,2.875,433,0.737,478,1.046,579,1.712,589,0.797,591,0.886,595,1.416,610,1.472,614,2.668,652,2.505,657,2.891,688,1.741,693,2.727,703,1.84,711,3.662,869,3.679,980,4.146,1167,3.692,1775,6.515,1780,2.25,1862,5.623,1883,1.401,1936,2.511,1962,2.228,2005,6.791,2006,5.95,2008,2.987,2035,5.2,2036,1.838,2680,1.714,2696,5.162,2698,4.101,2776,5.621,2954,1.984,3319,2.128,3453,2.798,3598,4.824,4588,3.768,5138,3.21,5495,5.571,6160,2.591,6166,4.495,6167,4.604,6741,5.405,6764,5.485,6794,6.131,6824,6.917,6982,2.591,7044,6.197,7045,7.013,7062,3.733,7077,2.685,7078,4.312,7090,8.246,7104,2.943,7111,5.264,7116,3.033,7125,5.555,7139,3.458,10187,8.595,10195,5.264,10201,5.555,10203,6.107,10204,5.046,10206,6.962,10208,4.234,10210,5.555,10214,5.264,10233,3.277,10239,7.972,10246,5.046,10248,5.046,10249,10.514,10250,3.458,10251,6.962,10252,6.597,10253,6.962,10254,5.555,10255,7.517,10256,7.517,10257,2.943,10258,7.931,10259,3.733,10260,3.458,10261,3.733,10262,3.277,10263,3.733,10264,3.733,10265,3.733,10266,5.997,10267,3.733,10268,3.733,10269,3.733,10270,3.733,10271,3.733,10272,5.997,10273,3.733,10274,3.458,10275,3.458,10276,3.733,10277,3.033,10278,3.458,10279,3.733,10280,5.997,10281,5.997,10282,4.604,10283,5.555,10284,3.458,10285,3.733,10286,3.733,10287,5.997,10288,7.517,10289,3.033,10290,5.555,10291,5.555,10292,5.555,10293,3.733,10294,3.733,10295,3.733,10296,3.733,10297,3.733,10298,5.997,10299,3.733,10300,5.997,10301,3.733,10302,3.277,10303,5.555,10304,5.555,10305,5.264,10306,5.264]],["title/classes/ExternalToolContentBody.html",[0,0.241,6505,4.554]],["body/classes/ExternalToolContentBody.html",[0,0.474,2,0.576,3,0.01,4,0.01,5,0.005,7,0.076,9,2.532,27,0.213,30,0.001,31,0.682,32,0.172,33,0.367,47,0.95,83,1.601,95,0.125,99,1.1,101,0.017,103,0,104,0,110,1.898,112,0.631,130,3.283,155,1.742,157,2.436,190,0.979,195,1.2,200,1.671,201,3.708,202,1.253,223,1.701,231,2.025,296,3.71,299,4.975,300,4.497,339,1.601,360,3.138,854,5.062,855,3.255,886,1.728,899,2.495,1232,3.166,1749,3.111,1853,1.791,2049,3.893,2393,4.497,2912,2.613,2918,6.631,3159,2.471,3201,2.558,3581,3.226,3583,3.226,3586,3.196,3589,4.967,3593,2.823,3598,5.347,4065,3.325,4086,3.325,4485,5.479,6409,6.008,6411,6.08,6413,6.008,6415,6.707,6417,6.08,6419,6.08,6467,3.523,6504,6.238,6505,6.881,6506,6.238,6507,6.238,6508,6.238,6509,6.238,6847,6.713,8010,3.569,8080,3.196,9639,5.405,9640,3.671,9642,8.252,9643,6.238,9644,6.238,9645,6.238,9646,3.671,9647,6.238,9648,3.36,9649,3.618,9650,6.238,9651,6.881,9652,3.569,9653,3.569,9654,3.569,9655,3.569,9656,3.671,9657,3.671,9658,3.671,9659,3.671,9660,3.671,9661,3.671,10307,5.459,10308,5.459]],["title/classes/ExternalToolCreateParams.html",[0,0.241,10309,5.86]],["body/classes/ExternalToolCreateParams.html",[0,0.35,2,0.638,3,0.011,4,0.011,5,0.005,7,0.084,27,0.499,29,0.772,30,0.001,31,0.683,32,0.169,33,0.585,47,0.893,95,0.135,101,0.008,103,0,104,0,110,3.515,112,0.679,122,2.288,125,1.439,130,2.736,190,2.295,195,2.671,199,5.576,200,1.849,201,4.541,202,1.387,223,1.883,296,3.057,299,4.321,300,4.477,571,3.425,886,1.913,899,2.761,1220,3.474,1232,3.505,2035,6.903,2036,2.975,2088,4.731,2472,5.216,2531,5.451,2696,5.927,2698,4.229,2703,3.414,2706,4.125,2717,9.491,2720,6.347,2721,4.193,2918,5.713,3201,4.055,3362,6.222,4064,4.529,4065,3.68,4086,3.68,6317,6.776,6740,5.812,6771,4.909,6837,6.347,6840,5.084,6841,5.084,6842,4.763,6847,5.451,8173,6.093,8175,6.157,8328,4.125,8332,4.193,8361,9.491,8368,6.642,9653,5.657,9654,3.95,9655,5.657,10143,7.415,10309,7.281,10310,10.589,10311,4.909,10312,9.287,10313,9.829,10314,5.303,10315,5.597,10316,6.042,10317,6.042,10318,5.597,10319,5.303,10320,6.042,10321,6.042,10322,5.597,10323,5.597,10324,6.042,10325,6.042,10326,5.597,10327,6.042,10328,5.597,10329,6.042,10330,6.042]],["title/classes/ExternalToolElement.html",[0,0.241,3137,4.616]],["body/classes/ExternalToolElement.html",[0,0.231,2,0.703,3,0.012,4,0.012,5,0.006,7,0.093,8,1.06,27,0.526,29,0.958,30,0.001,31,0.705,32,0.162,33,0.573,35,1.505,36,1.96,47,0.891,55,1.879,59,2.071,95,0.103,101,0.014,103,0,104,0,112,0.727,113,3.684,122,2.211,125,2.746,130,2.509,134,2.36,148,1.048,158,2.46,159,0.681,189,5.708,197,1.862,231,1.84,317,2.307,435,3.185,436,3.878,527,2.832,532,3.401,567,2.485,569,3.767,653,2.741,657,1.524,711,2.686,735,4.196,1770,3.712,1773,6.495,1842,4.237,2051,2.82,2662,5.974,2698,3.46,3058,8.036,3061,6.546,3062,6.546,3063,6.546,3064,7.538,3065,6.546,3067,4.148,3068,5.647,3069,6.688,3071,6.331,3072,5.647,3073,6.628,3075,4.624,3076,4.963,3078,6.715,3079,4.624,3083,4.624,3085,4.148,3112,5.589,3137,7.642,3598,6.461,4346,4.792,4347,4.792,4348,4.792,4357,4.148,9663,4.624,9664,6.172,9665,5.849,9666,6.172,9668,5.607,9670,5.607,10331,9.878,10332,6.664,10333,6.664,10334,8.589,10335,6.172,10336,6.172,10337,6.172,10338,5.849,10339,6.172]],["title/classes/ExternalToolElementContent.html",[0,0.241,10340,5.86]],["body/classes/ExternalToolElementContent.html",[0,0.377,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,27,0.425,29,0.647,30,0.001,31,0.476,32,0.157,33,0.387,34,1.45,47,0.966,95,0.134,101,0.014,103,0.001,104,0.001,112,0.855,142,3.944,190,1.52,194,4.281,195,2.792,196,3.615,202,1.947,232,3.258,296,3.519,304,4.199,433,1.042,435,2.913,458,3.381,459,4.385,866,4.224,886,2.685,1853,2.782,2109,3.715,2393,3.249,2698,3.906,2926,4.918,3197,4.539,3198,4.539,3201,3.973,3598,6.747,3759,5.789,3771,5.011,4019,6.264,4023,5.544,4025,5.544,4404,8.364,4485,6.268,4726,5.164,6419,5.404,7890,6.509,9689,7.134,9690,7.854,10340,11.317,10341,11.151,10342,7.854,10343,7.854,10344,7.854]],["title/classes/ExternalToolElementContentBody.html",[0,0.241,9651,4.554]],["body/classes/ExternalToolElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,6.65,6417,6.018,6419,6.65,6467,3.462,6504,6.174,6505,6.823,6506,6.174,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,7.282,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,10345,5.364,10346,5.364]],["title/entities/ExternalToolElementNodeEntity.html",[205,1.419,3503,5.49]],["body/entities/ExternalToolElementNodeEntity.html",[0,0.304,3,0.016,4,0.016,5,0.008,7,0.122,27,0.342,30,0.001,32,0.109,33,0.509,95,0.148,96,2.291,101,0.014,103,0.001,104,0.001,112,0.874,134,3.108,135,1.142,148,0.863,159,0.897,190,1.573,195,2.447,196,2.912,205,2.27,206,2.863,224,2.542,231,1.922,232,2.375,457,4.879,614,3.452,1770,4.458,1853,2.879,2006,6.745,2049,4.545,2109,3.845,2662,5.302,2698,3.613,2715,4.959,3467,5.961,3477,6.646,3503,8.779,3549,5.344,3577,9.775,3899,5.901,3922,6.783,3942,5.402,4448,5.526,4450,5.526,5727,5.192,6778,9.439,6779,7.384,10347,10.316,10348,8.776,10349,7.702,10350,8.128,10351,9.775,10352,8.128,10353,8.128,10354,8.128]],["title/interfaces/ExternalToolElementNodeEntityProps.html",[159,0.712,10351,6.113]],["body/interfaces/ExternalToolElementNodeEntityProps.html",[0,0.307,3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,32,0.11,33,0.512,95,0.148,96,2.316,101,0.014,103,0.001,104,0.001,112,0.88,134,3.142,135,1.154,148,0.872,159,0.907,161,2.113,195,1.95,196,2.944,205,2.285,224,2.57,231,2.122,232,2.401,457,4.932,614,3.477,1770,4.489,1853,2.911,2006,6.985,2049,3.621,2109,3.887,2662,5.339,2698,2.879,2715,5.014,3467,6.003,3477,6.692,3503,6.994,3549,5.404,3577,9.843,3899,5.966,3922,7.489,3942,5.462,4448,5.587,4450,5.587,5727,5.228,6778,9.774,6779,7.465,10347,8.218,10350,8.218,10351,10.793,10352,8.218,10353,8.218,10354,8.218]],["title/interfaces/ExternalToolElementProps.html",[159,0.712,10338,6.113]],["body/interfaces/ExternalToolElementProps.html",[0,0.308,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.139,33,0.514,36,1.883,47,0.981,95,0.125,101,0.016,103,0.001,104,0.001,112,0.882,122,1.848,125,2.679,130,2.412,134,3.156,148,1.211,158,3.29,159,0.911,161,2.123,197,2.491,231,2.126,317,1.928,527,3.787,567,3.323,569,2.77,653,3.665,657,2.038,1842,5.139,2051,3.771,2698,2.891,3058,6.779,3064,5.827,3068,5.427,3069,6.523,3072,5.427,3073,6.465,3112,7.427,3137,8.167,3598,7.478,4357,5.547,9663,6.184,10331,8.255,10334,10.417,10335,8.255,10336,8.255,10337,8.255,10338,9.871,10339,8.255]],["title/classes/ExternalToolElementResponse.html",[0,0.241,4404,5.346]],["body/classes/ExternalToolElementResponse.html",[0,0.36,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,27,0.501,29,0.604,30,0.001,31,0.444,32,0.171,33,0.361,34,1.991,47,0.909,95,0.13,101,0.013,103,0,104,0,112,0.817,142,2.864,190,2.218,194,3.109,195,2.289,196,2.625,202,1.816,232,3.151,296,3.573,304,3.917,433,0.972,435,2.718,458,3.155,459,4.092,886,2.505,1853,2.595,2109,3.466,2393,4.462,2698,4.283,2926,6.754,3196,5.172,3197,5.575,3198,5.575,3200,4.721,3201,4.881,3598,4.434,3759,5.401,3771,4.675,4019,6.694,4023,5.172,4025,5.172,4404,9.869,4485,6.693,4726,4.818,6419,6.637,7890,6.073,9698,6.656,9699,7.328,9700,6.943,9701,7.328,9702,6.943,10340,10.41,10341,12.227,10342,7.328,10343,7.328,10344,7.328]],["title/classes/ExternalToolElementResponseMapper.html",[0,0.241,6440,6.113]],["body/classes/ExternalToolElementResponseMapper.html",[0,0.269,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,8,1.176,27,0.479,29,0.786,30,0.001,31,0.578,32,0.152,33,0.47,34,1.329,35,1.324,95,0.129,100,2.711,101,0.01,103,0,104,0,112,0.808,122,2.134,135,1.011,141,4.412,142,2.814,148,1.135,153,1.987,430,3.197,467,3.823,652,2.348,653,3.197,711,2.252,829,4.594,830,5.723,833,6.315,835,5.967,1237,2.982,1853,2.55,2049,5.552,2140,4.43,2393,2.979,2653,8.467,2656,7.903,2657,7.903,2659,7.717,2698,4.147,2926,4.509,3137,9.018,3598,4.356,4019,5.918,4035,5.487,4404,9.433,4485,4.047,5927,7.185,6419,4.954,6438,5.967,6440,11.76,9704,9.21,9705,6.128,9712,6.128,9713,6.128,9714,6.128,10340,8.662,10355,12.783,10356,6.822,10357,11.543,10358,7.773]],["title/entities/ExternalToolEntity.html",[205,1.419,10359,5.008]],["body/entities/ExternalToolEntity.html",[0,0.216,3,0.012,4,0.012,5,0.006,7,0.087,27,0.519,29,0.785,30,0.001,31,0.578,32,0.167,33,0.608,47,0.948,55,1.792,95,0.132,96,1.626,101,0.011,103,0,104,0,110,3.575,112,0.694,122,2.32,190,2.386,195,2.988,196,4.074,205,1.802,206,2.032,211,6.173,219,4.878,223,4.238,224,1.805,225,3.389,228,1.119,229,2.457,231,1.075,232,1.686,233,1.931,417,3.491,614,1.931,1220,3.581,1835,4.544,2035,5.671,2036,3.067,2088,4.797,2133,5.061,2134,5.77,2184,2.466,2696,6.124,2708,9.092,4648,6.038,4654,5.426,4655,3.491,4664,2.806,5752,5.318,6708,4.189,6709,4.569,6740,5.911,6756,4.129,6759,4.67,6780,5.061,6794,3.794,7243,3.384,7504,4.911,8173,6.197,8175,6.262,8176,3.923,8208,4.398,8209,4.67,8212,4.67,8213,5.061,8270,9.092,10143,7.542,10172,5.061,10173,5.242,10174,5.468,10359,6.359,10360,13.467,10361,8.651,10362,9.092,10363,9.092,10364,5.77,10365,6.23,10366,5.77,10367,5.77,10368,6.23,10369,6.23,10370,6.23,10371,6.23,10372,6.23,10373,5.77,10374,6.23,10375,8.192,10376,6.23,10377,6.23]],["title/classes/ExternalToolEntityFactory.html",[0,0.241,10378,6.451]],["body/classes/ExternalToolEntityFactory.html",[0,0.14,2,0.426,3,0.007,4,0.007,5,0.004,7,0.056,8,0.729,27,0.515,29,1,30,0.001,31,0.736,32,0.168,33,0.565,34,1.354,35,1.336,47,0.831,55,2.211,59,3.046,95,0.1,101,0.01,103,0,104,0,110,1.404,112,0.501,113,4.14,127,4.509,129,3.532,130,3.062,135,1.42,148,1.073,153,1.455,157,2.083,172,2.724,185,2.186,192,2.227,195,0.887,197,2.213,205,1.997,206,2.083,228,1.146,231,1.101,290,0.958,300,1.547,326,4.894,374,2.772,417,2.263,433,0.496,436,3.71,467,1.858,501,7.054,502,5.002,505,3.549,506,5.002,507,5.173,508,3.549,509,3.549,510,3.549,511,3.494,512,4.042,513,4.401,514,6.479,515,5.364,516,6.834,517,2.263,522,2.245,523,3.549,524,2.263,525,4.716,526,4.851,527,3.824,528,4.565,529,3.521,530,2.245,531,2.116,532,3.821,533,2.146,534,2.116,535,2.245,536,2.263,537,4.333,538,2.245,539,7.219,540,3.754,541,6.29,542,2.263,543,3.853,544,2.245,545,2.263,546,2.245,547,2.263,548,2.245,549,2.513,550,2.363,551,2.245,552,5.703,553,2.263,554,2.245,555,3.549,556,3.239,557,3.549,558,2.263,559,2.177,560,2.146,561,1.818,562,2.245,563,2.245,564,2.245,565,2.263,566,2.263,567,1.505,568,2.245,569,1.255,570,2.263,571,2.527,572,2.245,573,2.263,575,2.321,576,2.386,577,5.848,614,1.252,756,1.61,1598,3.772,2034,2.903,2088,3.856,2125,3.346,2136,3.74,2333,5.043,2698,3.541,2703,2.282,2706,5.405,2708,6.432,2770,2.85,5223,2.573,5376,4.785,5752,2.088,6150,3.099,6160,2.801,6166,3.026,6288,1.641,6369,3.219,6686,2.061,6740,2.321,6792,2.485,6809,2.757,8152,2.676,8158,2.64,8160,4.173,8161,3.397,8162,2.64,8172,2.605,8173,2.434,8175,2.459,8270,5.186,8306,2.961,8311,2.542,8328,2.757,8335,3.397,8337,2.903,8344,3.397,8354,7.57,8356,3.397,10359,4.59,10361,3.397,10362,5.186,10363,5.186,10375,5.913,10378,7.333,10379,10.42,10380,4.037,10381,8.998,10382,8.334,10383,5.913,10384,5.913,10385,4.037,10386,4.037,10387,4.037,10388,5.913,10389,4.037,10390,6.383,10391,4.037,10392,8.998,10393,4.037,10394,4.037,10395,3.28,10396,3.397,10397,4.037,10398,4.037,10399,4.037]],["title/classes/ExternalToolFactory.html",[0,0.241,8346,5.86]],["body/classes/ExternalToolFactory.html",[0,0.26,2,0.394,3,0.007,4,0.007,5,0.003,7,0.052,8,0.686,27,0.503,29,0.993,30,0.001,31,0.718,32,0.166,33,0.563,34,1.026,35,1.302,47,0.441,55,2.413,59,3.42,95,0.105,101,0.012,103,0,104,0,110,1.299,112,0.471,113,4.002,127,4.316,129,3.259,130,2.978,135,1.603,148,1.17,157,1.741,172,2.561,185,2.056,192,2.061,197,2.407,205,1.533,206,1.958,228,1.078,231,1.486,290,0.886,300,1.432,326,4.99,374,2.606,417,2.094,433,0.459,436,3.64,467,1.747,501,6.692,502,4.787,505,3.337,506,4.787,507,4.887,508,3.337,509,3.337,510,3.337,511,3.285,512,3.84,513,4.181,514,6.329,515,5.162,516,6.639,517,2.094,522,2.077,523,3.337,524,2.094,525,4.514,526,4.643,527,3.66,528,4.369,529,3.31,530,2.077,531,1.959,532,3.694,533,1.986,534,1.959,535,2.077,536,2.094,537,4.117,538,2.077,539,7.604,540,3.651,541,6.118,542,2.094,543,2.921,544,2.077,545,2.094,546,2.077,547,2.094,548,2.077,551,2.077,552,5.512,553,2.094,554,2.077,555,3.337,556,3.045,557,3.337,558,2.094,559,2.015,560,1.986,561,1.683,562,2.077,563,2.077,564,2.077,565,2.094,566,2.094,567,1.393,568,2.077,569,1.161,570,2.094,571,2.376,572,2.077,573,2.094,575,2.148,576,2.208,577,5.139,614,1.158,756,1.49,1220,2.148,1598,3.547,2008,1.861,2034,2.687,2085,2.593,2088,3.224,2125,3.146,2333,4.215,2695,2.741,2698,1.212,2703,2.112,2706,2.551,2765,3.924,2770,2.638,2776,1.85,4696,6.658,4698,2.687,5223,2.381,5376,4.499,5752,1.933,6150,2.869,6160,2.593,6166,4.499,6167,2.869,6288,3.834,6369,3.026,6686,1.908,6740,2.148,6803,3.036,6808,2.946,6809,2.551,8152,2.477,8158,2.443,8160,2.443,8162,2.443,8172,2.411,8173,2.252,8175,2.276,8301,5.05,8302,8.278,8304,3.28,8306,2.741,8307,4.499,8308,2.946,8309,2.741,8310,2.593,8311,2.353,8312,3.28,8313,3.28,8314,3.28,8315,6.601,8316,5.05,8317,3.28,8318,3.618,8319,3.036,8320,2.741,8321,2.869,8322,3.28,8323,2.801,8324,3.28,8325,3.28,8326,3.28,8327,3.28,8328,2.551,8329,3.28,8330,3.28,8331,3.28,8332,2.593,8333,3.28,8334,3.28,8335,3.144,8336,3.28,8337,2.687,8338,5.268,8339,6.601,8340,2.946,8341,5.268,8342,5.268,8343,3.28,8344,3.144,8345,2.946,8346,6.328,8347,5.268,8348,3.28,8349,5.268,8350,3.28,8351,5.268,8352,8.839,8353,3.28,8354,7.246,8355,2.477,8356,3.144,8357,3.28,8358,3.28,8359,3.28,8360,3.28,10382,5.559,10384,5.559,10400,6.002,10401,3.737,10402,3.737,10403,3.737,10404,3.737]],["title/classes/ExternalToolIdParams.html",[0,0.241,10405,6.113]],["body/classes/ExternalToolIdParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,190,1.792,194,4.745,195,2.653,196,3.318,197,3.375,200,3.06,202,2.296,296,3.159,307,7.334,855,4.889,2696,5.491,2698,3.918,6739,9.157,6812,8.413,6813,8.776,10310,9.81,10405,10.598]],["title/classes/ExternalToolLogo.html",[0,0.241,10406,5.86]],["body/classes/ExternalToolLogo.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,27,0.499,29,0.739,30,0.001,31,0.544,32,0.158,33,0.443,47,0.87,101,0.012,103,0.001,104,0.001,112,0.929,433,1.19,2696,6.061,2698,4.324,6572,7.291,6661,8.149,8027,9.965,8355,8.48,10142,11.214,10163,8.501,10406,11.703,10407,9.686,10408,11.843,10409,11.843,10410,9.686,10411,9.686,10412,8.971]],["title/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.241,10413,6.113]],["body/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.236,2,0.72,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,27,0.515,29,0.521,30,0.001,31,0.383,32,0.17,33,0.493,35,1.081,47,0.929,55,1.382,59,2.12,95,0.12,101,0.009,103,0,104,0,112,0.739,148,0.671,155,3.717,190,2.191,228,2.481,231,1.626,233,2.115,277,0.976,339,2,393,3.378,400,2,402,2.454,433,0.838,436,3.734,614,3.347,644,7.093,652,1.388,868,5.605,871,2.51,998,5.113,1027,2.088,1078,2.989,1080,4.037,1115,4.432,1237,2.73,1354,8.438,1355,6.208,1356,7.06,1360,4.522,1361,3.922,1362,4.522,1363,4.522,1364,4.522,1365,4.522,1366,4.522,1367,4.2,1368,7.46,1374,4.403,1422,5.06,1423,5.034,1426,5.172,1462,3.678,1468,5.034,1469,5.285,1477,3.483,1478,3.626,2105,5.74,2696,4.91,2698,4.101,2990,9.462,6740,6.208,6756,4.522,8355,8.378,10413,8.272,10414,8.772,10415,6.319,10416,4.522,10417,5.74,10418,9.425,10419,7.43,10420,6.822]],["title/classes/ExternalToolLogoFetchedLoggable.html",[0,0.241,10421,6.113]],["body/classes/ExternalToolLogoFetchedLoggable.html",[0,0.315,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,8,1.301,27,0.444,29,0.694,30,0.001,31,0.511,32,0.141,33,0.415,35,1.043,47,0.914,95,0.101,101,0.012,103,0.001,104,0.001,148,0.894,228,1.633,339,2.666,400,2.666,433,1.117,614,2.819,1027,2.783,1115,3.461,1237,3.299,1418,7.651,1422,4.978,1423,5.798,1426,5.789,1468,5.798,1469,6.087,2696,5.656,2698,4.229,6740,7.15,6756,6.027,8355,8.64,10414,10.104,10415,8.423,10419,10.276,10421,9.997,10422,9.094,10423,9.094,10424,9.094]],["title/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.241,10425,6.113]],["body/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.434,29,0.67,30,0.001,31,0.493,32,0.138,33,0.401,35,1.006,47,0.899,95,0.124,101,0.011,103,0.001,104,0.001,148,0.863,228,1.576,231,1.922,233,2.72,277,1.255,339,2.573,347,6.612,400,2.573,433,1.078,614,2.72,1027,2.685,1115,3.34,1237,3.226,1422,5.433,1423,5.704,1426,5.715,1462,4.731,1465,6.089,1468,5.704,1469,5.988,1477,4.48,1478,4.664,2696,5.564,2698,4.175,2954,6.502,6739,8.637,6751,7.384,8355,8.53,10119,6.437,10414,9.94,10425,9.775,10426,8.128,10427,8.776]],["title/classes/ExternalToolLogoService.html",[0,0.241,10258,5.221]],["body/classes/ExternalToolLogoService.html",[0,0.166,2,0.507,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,26,2,27,0.453,29,0.888,30,0.001,31,0.653,32,0.144,33,0.531,34,1.248,35,1.283,36,2.364,47,0.969,95,0.142,99,0.967,101,0.006,103,0,104,0,125,2.351,127,5.605,135,1.716,145,1.802,148,1.178,153,1.938,228,1.773,277,0.686,317,2.655,433,0.897,569,2.269,579,3.193,614,1.488,629,2.533,652,2.546,653,3.633,657,2.02,688,2.238,871,1.766,1027,1.469,1053,7.938,1054,2.712,1055,5.604,1056,3.097,1078,2.103,1080,3.062,1167,2.955,1328,2.551,1422,1.921,1883,1.802,2084,3.182,2088,2.057,2099,5.472,2114,5.249,2447,4.859,2696,5.448,2698,4.128,2776,6.3,6572,5.626,6740,2.759,7044,7.157,7133,3.9,8027,10.081,8355,6.543,8500,3.598,10188,8.981,10196,4.446,10197,7.241,10199,6.48,10218,3.784,10258,5.472,10289,3.9,10361,6.142,10406,8.935,10413,4.213,10421,4.213,10425,4.213,10428,4.8,10429,7.3,10430,7.3,10431,7.3,10432,7.3,10433,7.3,10434,7.3,10435,4.8,10436,7.3,10437,4.8,10438,7.3,10439,4.8,10440,4.8,10441,7.3,10442,4.8,10443,7.3,10444,4.8,10445,7.3,10446,4.8,10447,2.647,10448,7.3,10449,4.8,10450,4.446,10451,6.407,10452,10.204,10453,4.8,10454,4.8,10455,7.3,10456,4.8,10457,4.8,10458,4.446,10459,4.8,10460,4.8,10461,4.213,10462,4.8,10463,4.8,10464,4.8,10465,4.8,10466,4.446,10467,4.8,10468,6.762,10469,4.8,10470,7.3,10471,3.451,10472,8.834,10473,4.8,10474,4.8,10475,3.182,10476,4.446,10477,3.521,10478,4.8,10479,4.8,10480,4.8,10481,4.8,10482,7.3,10483,4.8,10484,4.213,10485,4.8,10486,4.8,10487,7.3,10488,4.8,10489,4.8,10490,4.8,10491,4.8,10492,4.8]],["title/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.241,10451,6.113]],["body/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.233,2,0.709,3,0.012,4,0.012,5,0.006,7,0.094,8,1.066,27,0.513,29,0.513,30,0.001,31,0.377,32,0.169,33,0.489,35,1.07,47,0.924,55,2.345,95,0.119,101,0.009,103,0,104,0,112,0.732,125,2.552,148,0.66,155,3.693,190,2.179,228,2.475,231,1.609,233,2.083,277,0.961,339,1.97,393,3.327,402,2.417,433,1.146,436,3.716,614,3.321,652,1.897,868,5.569,870,6.885,871,2.472,998,5.072,1027,2.056,1078,2.944,1080,4.011,1115,4.403,1237,2.702,1354,8.41,1355,6.158,1356,7.003,1360,4.454,1361,3.863,1362,4.454,1363,4.454,1364,4.454,1365,4.454,1366,4.454,1367,4.136,1368,3.797,1374,4.336,1375,5.158,1422,5.036,1423,4.994,1426,5.139,1462,3.623,1468,4.994,1469,5.243,1477,3.431,1478,3.571,2696,4.871,2698,4.082,6739,7.562,6751,5.654,8355,8.338,10414,8.702,10416,4.454,10426,6.224,10451,8.186,10493,11.652,10494,10.155,10495,6.72,10496,9.326,10497,6.72]],["title/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.241,10452,6.113]],["body/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.241,2,0.734,3,0.013,4,0.013,5,0.012,7,0.097,8,1.091,27,0.517,30,0.001,32,0.175,33,0.436,35,1.095,47,0.801,55,1.409,95,0.122,101,0.009,103,0,104,0,112,0.749,148,0.683,155,3.747,190,2.206,228,2.445,231,1.647,233,2.155,277,0.994,393,3.443,402,2.501,433,1.34,436,3.755,614,3.381,868,5.65,871,2.558,998,5.164,1027,2.127,1078,3.046,1080,4.069,1115,4.468,1237,2.766,1354,8.473,1355,6.269,1356,7.13,1360,4.608,1361,3.997,1362,4.608,1363,4.608,1364,4.608,1365,4.608,1366,4.608,1367,4.28,1368,3.929,1374,4.486,1375,5.337,1422,5.089,1423,5.084,1426,5.214,1462,3.748,1468,5.084,1469,5.338,1477,3.55,1478,3.695,1622,6.866,2696,4.959,2698,4.125,5234,4.57,8355,8.426,8831,9.759,10414,8.86,10416,4.608,10417,5.85,10452,8.38,10498,9.548,10499,9.548,10500,8.844]],["title/classes/ExternalToolMetadata.html",[0,0.241,10501,5.49]],["body/classes/ExternalToolMetadata.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.495,29,0.727,30,0.001,31,0.535,32,0.157,33,0.435,55,2.375,95,0.106,101,0.012,103,0.001,104,0.001,112,0.92,183,3.637,433,1.17,614,2.953,1078,5.136,2696,6.026,2698,4.299,6783,7.14,6792,5.863,10142,11.149,10501,10.92,10502,8.822,10503,9.519,10504,10.685,10505,11.722,10506,11.722,10507,8.822,10508,8.822,10509,8.822,10510,8.014,10511,8.822]],["title/classes/ExternalToolMetadataMapper.html",[0,0.241,10512,5.86]],["body/classes/ExternalToolMetadataMapper.html",[0,0.328,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,8,1.336,27,0.369,29,0.724,30,0.001,31,0.533,32,0.117,33,0.433,35,1.087,95,0.141,101,0.012,103,0.001,104,0.001,135,1.233,148,0.932,153,1.89,467,3.689,837,4.694,1883,3.558,2696,5.315,2698,3.792,6772,9.214,10501,10.711,10503,7.106,10504,7.976,10509,8.781,10511,8.781,10512,9.834,10513,10.258,10514,8.781,10515,11.688,10516,11.688,10517,8.781,10518,11.391,10519,7.702]],["title/classes/ExternalToolMetadataResponse.html",[0,0.241,10518,5.658]],["body/classes/ExternalToolMetadataResponse.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,27,0.489,29,0.709,30,0.001,31,0.521,32,0.155,33,0.424,55,2.338,95,0.129,101,0.012,103,0.001,104,0.001,112,0.905,190,2.068,202,2.131,296,3.534,433,1.14,2696,5.972,2698,4.261,6772,9.896,7848,7.81,10503,9.41,10504,10.562,10508,8.598,10510,7.81,10518,11.184,10519,7.541,10520,11.525,10521,11.537,10522,11.537,10523,8.598,10524,9.283,10525,9.283]],["title/injectables/ExternalToolMetadataService.html",[589,0.926,10526,5.86]],["body/injectables/ExternalToolMetadataService.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.131,26,2.432,27,0.386,29,0.756,30,0.001,31,0.556,32,0.149,33,0.452,34,1.254,35,1.135,36,2.369,47,0.824,55,1.486,95,0.15,99,1.477,101,0.009,103,0,104,0,135,1.681,145,3.717,148,0.721,153,1.186,183,2.8,228,1.778,277,1.049,279,3.04,317,2.425,433,1.216,589,1.316,591,1.74,614,3.069,652,2.014,657,2.564,703,2.25,756,2.924,980,4.045,1078,3.213,1223,5.497,1883,2.753,1913,8.804,2005,6.379,2008,3.653,2035,5.461,2036,3.61,2636,3.589,2696,5.098,2698,3.637,4174,6.658,5495,4.334,6080,8.997,6783,7.422,6792,4.514,6863,8.69,6898,8.69,6921,6.17,6922,6.17,6980,6.17,10188,8.403,10208,5.177,10229,5.958,10447,4.045,10501,9.882,10503,5.497,10504,6.17,10526,8.331,10527,6.792,10528,7.333,10529,10.383,10530,7.333,10531,9.901,10532,9.901,10533,7.333,10534,5.958,10535,6.436,10536,7.333,10537,6.792,10538,7.805,10539,6.792,10540,6.792,10541,9.171,10542,7.333,10543,6.792]],["title/modules/ExternalToolModule.html",[252,1.839,6821,5.49]],["body/modules/ExternalToolModule.html",[0,0.228,3,0.012,4,0.012,5,0.006,30,0.001,95,0.152,101,0.008,103,0,104,0,252,2.795,254,2.366,255,2.511,256,2.575,257,2.565,258,2.556,259,3.846,260,3.935,265,5.796,269,3.597,270,2.529,271,2.477,276,3.597,277,0.94,279,2.727,610,2.594,675,3.358,1027,2.013,1054,3.716,2696,2.991,2698,2.134,3904,6.007,5074,3.358,5206,4.643,5776,3.85,6072,9.366,6082,5.343,6821,11.588,6823,9.366,6830,5.048,6980,5.533,7044,8.452,9906,9.366,10187,11.155,10258,9.807,10512,7.73,10526,11.553,10534,7.464,10535,5.772,10544,6.577,10545,6.577,10546,6.577,10547,6.577,10548,10.151,10549,11.553,10550,11.553,10551,10.513,10552,10.513,10553,10.513,10554,6.577,10555,4.49]],["title/injectables/ExternalToolParameterValidationService.html",[589,0.926,10551,5.86]],["body/injectables/ExternalToolParameterValidationService.html",[0,0.139,3,0.007,4,0.007,5,0.004,7,0.056,8,0.726,27,0.474,29,0.943,30,0.001,31,0.704,32,0.155,33,0.555,35,1.366,36,1.895,72,1.843,95,0.121,101,0.005,103,0,104,0,122,2.754,127,5.208,129,2.335,130,2.134,135,1.167,142,2.3,148,1.286,153,1.998,195,2.481,197,2.204,228,1.141,277,0.574,317,2.248,338,6.95,340,2.527,388,3.843,393,1.987,415,2.287,417,7.536,433,0.781,571,1.589,579,3.319,589,0.845,591,0.952,614,1.244,629,2.118,640,2.47,652,2.827,657,1.453,983,4.1,1086,1.911,1087,1.852,1088,1.881,1220,6.491,1328,2.133,1883,1.506,2036,1.976,2234,2.74,2345,2.444,2465,2.372,2696,5.62,2698,4.121,2765,9.113,2776,5.896,3614,7.545,6079,8.583,6116,3.164,6144,3.717,6160,2.785,6176,3.717,6178,2.372,6186,8.845,6196,3.717,6198,5.345,6199,5.345,6203,5.025,6288,1.631,6699,2.527,7044,6.398,7067,3.081,7133,3.26,7138,5.345,7472,4.408,8340,5.008,10188,9.263,10243,3.377,10257,3.164,10471,2.886,10551,5.345,10556,6.353,10557,6.353,10558,6.353,10559,6.353,10560,6.353,10561,6.353,10562,6.353,10563,6.353,10564,6.353,10565,6.353,10566,3.522,10567,6.353,10568,4.013,10569,6.353,10570,4.013,10571,6.353,10572,6.353,10573,4.013,10574,6.353,10575,4.013,10576,6.353,10577,4.013,10578,6.353,10579,4.013,10580,6.353,10581,4.013,10582,6.353,10583,4.013,10584,6.353,10585,3.522,10586,4.013,10587,4.013,10588,4.013,10589,6.053,10590,4.013,10591,4.013,10592,4.013,10593,4.013,10594,4.013,10595,4.013,10596,2.944,10597,4.013,10598,4.013,10599,3.081,10600,4.013,10601,4.013,10602,4.013,10603,3.008,10604,4.013,10605,4.013,10606,4.013,10607,4.013,10608,4.013,10609,3.522,10610,4.013,10611,3.717,10612,4.013,10613,6.353,10614,4.013,10615,6.353,10616,4.013,10617,4.013,10618,4.013,10619,7.304,10620,4.013,10621,4.013,10622,4.013,10623,4.013,10624,6.353,10625,6.353,10626,4.013,10627,6.353]],["title/interfaces/ExternalToolProps.html",[159,0.712,8308,5.49]],["body/interfaces/ExternalToolProps.html",[0,0.213,3,0.011,4,0.011,5,0.006,7,0.086,29,0.898,30,0.001,31,0.66,32,0.166,33,0.62,34,1.902,47,1.039,55,2.382,95,0.136,101,0.011,103,0,104,0,110,4.088,112,0.687,122,2.666,148,1.093,153,1.799,159,0.628,161,1.463,231,1.06,232,1.663,277,0.879,467,2.97,579,1.754,1237,1.78,1312,2.894,1852,5.175,2035,6.485,2036,3.025,2088,5.689,2133,8.289,2184,2.432,2695,8.965,2696,2.794,2698,1.993,2700,8.337,2703,3.472,2706,4.195,2765,7.687,2776,3.042,4664,2.767,5752,6.081,6099,5.225,6684,4.843,6688,4.716,6698,4.843,6699,3.869,6700,4.418,6701,4.716,6708,4.131,6709,4.507,6740,6.759,6756,4.072,6759,6.564,7243,3.337,7504,4.843,8173,7.087,8175,7.16,8176,3.869,8208,4.337,8209,4.605,8212,4.605,8213,4.991,8308,8.043,8309,8.965,8310,8.481,8328,4.195,8332,4.263,8355,7.793,10142,5.169,10143,8.624,10157,5.691,10159,5.691,10161,5.691,10163,5.392,10164,5.691,10165,5.691,10166,5.691,10167,5.691,10168,5.691,10169,5.691,10170,5.691,10171,5.691,10172,4.991,10173,5.169,10174,5.392,10175,9.451]],["title/entities/ExternalToolPseudonymEntity.html",[205,1.419,10628,5.008]],["body/entities/ExternalToolPseudonymEntity.html",[0,0.288,3,0.015,4,0.015,5,0.007,7,0.116,26,2.181,27,0.465,30,0.001,32,0.148,34,1.423,39,3.626,47,0.877,49,5.13,95,0.141,96,2.81,97,3.356,99,1.677,101,0.014,103,0.001,104,0.001,112,0.936,142,3.012,159,0.851,190,2.139,205,2.194,206,2.715,219,6.581,223,4.171,224,2.41,225,4.125,229,3.282,231,1.436,232,2.252,233,2.579,242,4.391,243,5.24,458,3.318,459,5.567,614,2.579,2698,4.239,4655,4.663,10447,7.206,10628,7.74,10629,11.686,10630,7.707,10631,7.385,10632,7.001,10633,8.321,10634,8.321,10635,8.321,10636,9.057,10637,5.595,10638,6.76,10639,7.001,10640,6.103,10641,6.559]],["title/interfaces/ExternalToolPseudonymEntityProps.html",[159,0.712,10636,5.86]],["body/interfaces/ExternalToolPseudonymEntityProps.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.117,26,2.568,30,0.001,32,0.157,33,0.496,34,2.167,39,3.727,47,0.931,49,5.266,95,0.141,96,2.833,97,3.399,99,1.698,101,0.014,103,0.001,104,0.001,112,0.942,142,3.05,159,0.862,161,2.007,205,2.211,219,6.62,223,3.95,224,2.441,225,4.158,229,3.323,231,1.454,232,2.28,233,2.612,242,4.447,243,5.305,458,3.36,459,5.612,614,2.612,2698,3.521,4655,4.722,10447,7.406,10628,6.059,10629,7.804,10630,7.804,10631,7.678,10636,10.099,10637,5.666,10638,6.845,10639,7.089,10640,6.18,10641,6.642]],["title/injectables/ExternalToolPseudonymRepo.html",[589,0.926,10642,5.86]],["body/injectables/ExternalToolPseudonymRepo.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.784,13,4.841,26,2.736,27,0.477,29,0.935,30,0.001,31,0.688,32,0.152,33,0.559,34,0.757,35,1.374,36,2.816,39,3.398,42,4.841,47,0.617,49,1.666,56,2.084,58,2.893,59,1.375,95,0.134,96,1.155,97,1.785,99,0.891,101,0.006,103,0,104,0,113,4.302,125,1.054,135,1.746,142,3.424,148,1.225,153,2.047,205,2.379,206,3.086,228,0.795,277,0.633,279,1.834,317,2.953,365,1.965,400,1.297,430,1.82,431,1.896,433,0.544,540,2.786,589,0.912,591,1.05,595,1.678,657,2.476,773,6.269,863,3.782,869,4.63,1770,4.521,1853,1.452,1883,1.661,2446,5.138,2462,3.07,2498,3.07,2698,4.045,3102,4.133,3644,2.82,3649,3.908,3707,3.316,4768,2.667,4782,3.396,4783,3.396,4798,4.841,6288,3.413,6895,3.021,7638,5.061,7924,5.823,7953,3.245,7954,3.245,10447,6.754,10628,8.805,10631,8.028,10636,7.958,10637,4.611,10642,5.77,10643,12.468,10644,4.424,10645,6.352,10646,6.019,10647,6.352,10648,6.352,10649,6.352,10650,5.77,10651,5.77,10652,6.352,10653,4.424,10654,6.352,10655,4.424,10656,6.019,10657,4.424,10658,4.424,10659,6.352,10660,4.424,10661,6.352,10662,4.424,10663,6.352,10664,7.958,10665,4.424,10666,5.264,10667,4.424,10668,6.352,10669,4.424,10670,6.352,10671,4.424,10672,6.019,10673,4.424,10674,4.424,10675,6.019,10676,9.48,10677,6.858,10678,4.424,10679,3.723,10680,4.098,10681,4.424,10682,3.723,10683,4.098,10684,4.424,10685,3.883,10686,4.098,10687,5.77,10688,4.424,10689,4.424,10690,4.098,10691,4.098,10692,3.883,10693,4.098,10694,4.098,10695,4.098,10696,3.723,10697,4.424,10698,4.424,10699,4.424,10700,3.883,10701,4.424,10702,3.883,10703,3.883]],["title/injectables/ExternalToolRepo.html",[589,0.926,10552,5.86]],["body/injectables/ExternalToolRepo.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.057,8,0.742,10,2.611,12,2.94,18,3.256,26,2.132,27,0.508,29,0.986,30,0.001,31,0.739,32,0.163,33,0.59,34,1.111,35,1.466,36,2.701,40,1.998,47,0.773,55,0.837,56,1.945,58,2.699,59,1.283,95,0.139,96,1.696,97,1.665,101,0.005,103,0,104,0,112,0.324,113,1.64,135,1.681,142,3.985,148,1.18,153,1.051,185,2.225,205,2.391,206,2.12,224,1.196,228,1.167,231,1.121,279,1.712,317,2.964,365,1.834,433,0.507,436,3.547,540,2.665,569,1.283,589,0.864,591,0.979,595,1.566,614,1.28,652,2.14,657,2.083,729,4.436,735,2.94,736,4.877,766,2.21,770,2.6,787,3.169,788,2.819,790,2.776,800,3.824,863,3.583,869,4.459,1027,1.263,1770,4.901,1853,1.355,2008,2.057,2088,2.785,2140,2.353,2232,3.703,2437,8.76,2439,4.672,2440,4.586,2441,4.586,2442,4.672,2443,4.672,2444,4.586,2445,2.969,2446,4.948,2447,3.808,2448,4.269,2450,4.672,2451,2.969,2453,2.969,2455,5.956,2456,4.436,2457,2.969,2460,4.672,2462,2.865,2463,7.426,2464,4.586,2465,3.839,2467,2.969,2468,4.672,2470,2.969,2472,2.489,2473,2.57,2474,2.776,2476,2.969,2484,2.865,2517,6.828,2703,5.148,2776,6.163,4798,4.586,4981,3.028,5138,3.478,6288,3.265,6369,3.276,6792,2.542,6809,2.819,6850,3.624,6867,5.467,6868,3.624,6878,3.028,6879,3.028,6880,3.028,6881,3.028,6882,3.028,6883,3.028,6884,3.028,6890,3.354,6891,3.624,6892,3.169,6895,2.819,7638,4.842,7924,5.608,7934,4.87,7953,3.028,7954,3.028,8311,4.091,10359,8.803,10552,5.467,10696,3.474,10700,3.624,10702,3.624,10703,3.624,10704,9.261,10705,6.497,10706,5.278,10707,6.497,10708,3.824,10709,6.993,10710,4.129,10711,6.497,10712,5.467,10713,3.824,10714,6.497,10715,4.129,10716,4.129,10717,4.129,10718,3.169,10719,3.824,10720,4.129,10721,3.624,10722,5.702,10723,6.018,10724,4.129,10725,3.824,10726,4.129,10727,4.129,10728,4.129,10729,5.702,10730,4.129,10731,4.129]],["title/classes/ExternalToolRepoMapper.html",[0,0.241,6890,5.658]],["body/classes/ExternalToolRepoMapper.html",[0,0.136,2,0.415,3,0.007,4,0.007,5,0.004,7,0.055,8,0.714,27,0.479,29,0.965,30,0.001,31,0.738,32,0.167,33,0.561,34,0.671,35,1.409,95,0.12,96,1.025,101,0.005,103,0,104,0,110,2.171,129,2.623,130,1.69,148,1.208,153,2.017,157,1.445,205,0.8,224,1.137,277,0.562,300,2.393,388,2.676,467,4.107,571,2.472,579,1.783,614,1.936,703,1.205,1393,5.867,1598,3.69,1829,1.683,2008,1.956,2038,3.979,2088,5.267,2125,3.273,2333,5.77,2440,4.408,2441,4.408,2460,4.49,2462,2.725,2463,5.488,2464,4.408,2472,3.764,2636,3.056,2695,8.677,2698,2.026,2703,2.219,2706,4.264,2708,9.102,2765,7.325,2776,5.346,2791,7.651,3362,4.49,4768,2.367,4769,3.096,4824,3.304,5223,3.979,5752,3.23,5953,6.824,6165,5.481,6179,5.073,6183,5.481,6186,5.073,6192,5.481,6198,5.254,6199,5.254,6203,3.979,6288,2.538,6369,3.149,6435,2.417,6686,3.188,6740,3.59,6786,8.861,6792,2.417,6808,3.096,6809,2.681,6890,5.073,8158,4.083,8160,4.083,8162,4.083,8172,4.03,8173,3.764,8175,3.803,8247,4.793,8270,9.102,8309,8.677,8310,8.209,8311,3.932,8328,4.264,8332,4.333,8337,4.49,8355,2.603,10143,4.58,10359,6.37,10361,3.304,10362,9.102,10363,9.102,10609,5.481,10619,5.784,10704,10.495,10732,3.927,10733,6.245,10734,6.245,10735,6.245,10736,6.245,10737,6.245,10738,6.245,10739,6.245,10740,6.245,10741,6.245,10742,6.245,10743,6.245,10744,3.927,10745,8.859,10746,6.245,10747,3.927,10748,6.245,10749,3.927,10750,5.784,10751,6.245,10752,3.927,10753,5.784,10754,6.245,10755,3.927,10756,6.245,10757,3.927,10758,3.927,10759,3.927,10760,6.245,10761,3.927,10762,6.245,10763,3.927,10764,6.245,10765,3.927,10766,5.481,10767,6.245,10768,3.927,10769,3.927,10770,3.927,10771,3.927,10772,3.927,10773,3.927,10774,3.927,10775,3.927,10776,6.245,10777,3.304,10778,3.927,10779,3.927,10780,3.927,10781,3.637,10782,3.637,10783,3.927,10784,3.927,10785,8.859,10786,8.859,10787,6.245,10788,6.245,10789,5.784,10790,6.245,10791,6.245,10792,6.245,10793,6.245,10794,6.245,10795,6.245,10796,6.245,10797,3.927,10798,3.927,10799,3.927,10800,3.927,10801,3.447,10802,3.637,10803,3.927,10804,3.927,10805,3.927,10806,3.637,10807,3.637,10808,3.927,10809,3.927,10810,6.245,10811,6.245,10812,6.245,10813,6.245,10814,5.784,10815,5.784]],["title/injectables/ExternalToolRequestMapper.html",[589,0.926,10816,5.86]],["body/injectables/ExternalToolRequestMapper.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.058,8,0.75,27,0.47,29,0.953,30,0.001,31,0.72,32,0.152,33,0.551,34,0.715,35,1.382,55,1.859,95,0.123,101,0.005,103,0,104,0,110,2.281,125,1.929,129,2.398,130,1.775,135,1.49,141,2.812,142,1.513,148,1.227,157,0.968,277,0.598,300,1.602,326,1.591,589,0.872,591,0.992,595,1.585,652,2.702,653,3.773,711,3.063,756,3.658,837,2.07,1078,3.548,1883,1.569,2034,3.006,2036,2.058,2088,2.812,2696,5.586,2698,3.985,2717,8.592,2770,2.951,2776,2.07,3036,1.959,3329,6.216,5223,2.664,5752,5.923,6150,3.209,6151,3.669,6153,3.669,6154,3.669,6155,3.669,6156,3.669,6157,3.669,6160,2.901,6166,3.133,6167,3.209,6203,2.664,6288,1.699,6369,2.108,6686,2.134,6700,3.006,6740,3.772,6926,3.295,6934,3.517,6942,3.669,6943,3.517,8173,3.954,8175,3.996,8247,3.209,8340,3.295,8345,3.295,8361,8.096,8370,3.517,8376,3.517,8379,3.517,10143,4.812,10309,8.385,10312,8.385,10313,7.717,10396,3.517,10513,10.781,10709,7.041,10816,5.52,10817,6.561,10818,6.561,10819,6.561,10820,6.561,10821,8.098,10822,8.098,10823,8.098,10824,8.098,10825,6.077,10826,6.561,10827,6.561,10828,4.18,10829,7.107,10830,6.561,10831,7.717,10832,4.18,10833,6.561,10834,4.18,10835,12.816,10836,9.966,10837,6.561,10838,4.18,10839,9.966,10840,4.18,10841,4.18,10842,9.172,10843,4.18,10844,8.385,10845,4.18,10846,9.172,10847,4.18,10848,4.18,10849,9.172,10850,4.18,10851,7.717,10852,4.18,10853,9.172,10854,6.077,10855,7.717,10856,4.18,10857,5.33,10858,7.23,10859,6.561,10860,8.385,10861,4.18,10862,7.107,10863,3.872,10864,3.872,10865,3.872,10866,3.872,10867,3.872,10868,3.872,10869,3.872,10870,3.669,10871,3.872,10872,3.669,10873,3.872,10874,3.872,10875,3.872,10876,3.872,10877,3.872,10878,3.872,10879,3.872,10880,11.162,10881,6.561,10882,4.18,10883,4.18,10884,4.18,10885,8.496,10886,6.561,10887,4.18,10888,4.18,10889,4.18,10890,4.18,10891,4.18,10892,4.18,10893,4.18,10894,4.18,10895,6.561,10896,4.18,10897,4.18,10898,4.18,10899,4.18,10900,4.18,10901,4.18,10902,4.18,10903,4.18,10904,4.18,10905,4.18,10906,4.18,10907,4.18,10908,4.18,10909,4.18,10910,4.18,10911,4.18,10912,4.18,10913,4.18,10914,4.18,10915,3.669,10916,6.561,10917,3.669,10918,4.18]],["title/classes/ExternalToolResponse.html",[0,0.241,10919,5.658]],["body/classes/ExternalToolResponse.html",[0,0.227,2,0.692,3,0.012,4,0.012,5,0.006,7,0.091,27,0.53,29,0.874,30,0.001,31,0.643,32,0.168,33,0.585,34,1.807,47,0.961,55,1.857,95,0.128,101,0.008,103,0,104,0,110,3.675,112,0.719,122,2.373,190,2.412,195,2.014,201,4.852,202,1.505,296,3.663,433,0.805,458,2.614,871,2.412,886,2.075,1220,3.768,2035,7.067,2036,3.227,2088,4.906,2133,5.325,2184,2.595,2696,6.24,2727,8.894,3201,4.296,5752,5.467,6317,5.317,6708,4.408,6740,6.077,6747,8.333,6750,5.753,6756,4.345,6759,4.913,6946,5.753,6947,7.037,6957,5.032,6963,5.753,6965,5.753,7243,3.561,8173,6.371,8175,6.438,8208,4.627,8212,4.913,10143,7.754,10173,5.515,10520,12.044,10919,9.787,10920,9.167,10921,8.894,10922,8.894,10923,6.555,10924,6.555,10925,6.555,10926,6.555,10927,6.555,10928,6.555,10929,6.555,10930,5.753,10931,6.555,10932,6.555,10933,5.753,10934,6.555,10935,6.555,10936,6.555,10937,6.555,10938,6.555,10939,6.555]],["title/injectables/ExternalToolResponseMapper.html",[589,0.926,10940,5.658]],["body/injectables/ExternalToolResponseMapper.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.08,8,0.955,27,0.447,29,0.913,30,0.001,31,0.693,32,0.148,33,0.524,34,0.984,35,1.314,95,0.128,101,0.007,103,0,104,0,110,2.001,135,1.404,148,1.175,153,1.745,157,1.332,277,0.823,300,2.206,467,3.996,589,1.111,591,1.366,652,2.62,653,3.437,829,3.402,837,2.85,1078,4.31,1883,2.161,2034,4.139,2036,2.834,2088,2.467,2695,8.407,2696,5.437,2698,3.879,2727,9.644,2765,7.494,2770,4.064,2776,5.676,4915,4.419,5223,3.668,5752,2.977,6150,4.419,6151,5.052,6153,5.052,6154,5.052,6155,5.052,6156,5.052,6157,5.052,6160,3.994,6166,4.315,6167,4.419,6203,3.668,6288,2.34,6686,2.939,6699,3.625,6740,3.309,6747,8.508,8173,3.47,8175,3.506,8247,4.419,8309,8.407,8310,7.489,8340,4.538,8345,4.538,8370,4.843,8376,4.843,8379,4.843,10143,4.222,10243,4.843,10289,4.677,10304,5.332,10396,4.843,10471,4.139,10513,10.493,10589,4.419,10750,5.332,10863,5.332,10864,5.332,10865,5.332,10866,5.332,10867,5.332,10868,5.332,10869,5.332,10870,5.052,10871,5.332,10872,5.052,10873,5.332,10874,5.332,10875,5.332,10876,5.332,10877,5.332,10878,5.332,10879,5.332,10880,10.617,10885,7.74,10919,8.769,10921,9.644,10922,9.644,10940,6.789,10941,8.356,10942,8.356,10943,8.356,10944,8.356,10945,8.356,10946,8.356,10947,5.332,10948,11.956,10949,8.356,10950,5.756,10951,8.356,10952,5.756,10953,8.356,10954,5.756,10955,8.356,10956,5.756,10957,7.031,10958,5.756,10959,5.756,10960,5.756,10961,5.756,10962,5.756,10963,5.332,10964,5.052,10965,5.756,10966,5.756,10967,5.756,10968,5.756,10969,5.756,10970,5.756,10971,5.756,10972,5.756,10973,5.756,10974,5.756,10975,5.756,10976,5.756]],["title/classes/ExternalToolScope.html",[0,0.241,10722,6.113]],["body/classes/ExternalToolScope.html",[0,0.248,2,0.758,3,0.013,4,0.013,5,0.006,7,0.1,8,1.115,27,0.521,29,0.95,30,0.001,31,0.761,32,0.165,33,0.568,35,1.119,47,0.943,95,0.109,101,0.009,103,0,104,0,112,0.765,122,2.661,125,3.263,129,2.125,130,1.942,148,1.09,231,1.683,365,3.187,436,3.675,569,2.23,652,2.611,814,6.038,2088,3.076,2479,6.551,6288,5.506,6369,5.59,6792,4.417,7006,6.298,7007,6.467,7008,6.467,7009,6.467,7014,6.467,7015,6.467,7016,4.825,7017,4.756,7018,4.825,7019,4.825,7028,4.756,7029,6.467,7030,4.825,7031,4.756,7032,4.825,7033,4.756,7034,7.348,8175,6.752,8311,4.519,10359,5.16,10704,10.01,10722,8.563,10977,9.757,10978,9.037,10979,9.757,10980,9.757,10981,7.176,10982,9.037,10983,7.176,10984,9.757,10985,7.176,10986,6.647]],["title/classes/ExternalToolSearchListResponse.html",[0,0.241,10987,5.86]],["body/classes/ExternalToolSearchListResponse.html",[0,0.274,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,27,0.501,29,0.604,30,0.001,31,0.444,32,0.171,33,0.587,55,2.908,56,6.218,59,3.237,70,6.697,95,0.13,101,0.01,103,0,104,0,112,0.817,125,1.884,190,2.218,202,1.816,231,1.797,296,2.725,298,3.435,339,3.77,433,0.972,436,3.655,614,2.452,860,7.352,861,5.489,862,8.377,863,7.281,864,5.987,866,3.941,868,5.604,869,3.872,870,4.33,871,2.911,872,5.585,873,6.637,874,6.097,875,5.172,876,4.119,877,5.585,878,5.585,880,5.042,881,4.33,2696,4.736,2698,3.379,7036,6.943,10520,9.141,10919,10.933,10987,8.763,10988,7.328,10989,7.328]],["title/classes/ExternalToolSearchParams.html",[0,0.241,10831,5.86]],["body/classes/ExternalToolSearchParams.html",[0,0.396,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,31,0.756,32,0.142,33,0.598,34,1.959,47,0.961,95,0.128,101,0.012,103,0.001,104,0.001,112,0.899,157,2.651,190,2.053,200,2.808,201,4.854,202,2.107,299,4.889,300,4.786,614,4.054,1361,6.585,2696,5.679,2698,4.367,2831,4.585,6281,7.703,6369,6.297,10310,10.146,10831,9.638,10990,8.054,10991,11.455,10992,9.177,10993,8.054]],["title/interfaces/ExternalToolSearchQuery.html",[159,0.712,10709,5.346]],["body/interfaces/ExternalToolSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,31,0.759,32,0.161,33,0.641,47,1.032,101,0.013,103,0.001,104,0.001,112,0.951,122,2.698,159,1.03,161,2.4,860,7.112,2698,3.269,6369,6.81,8175,8.226,10709,9.311,10994,10.075,10995,8.842]],["title/injectables/ExternalToolService.html",[589,0.926,7044,4.287]],["body/injectables/ExternalToolService.html",[0,0.131,3,0.007,4,0.007,5,0.003,7,0.053,8,0.695,12,2.751,26,2.158,27,0.466,29,0.913,30,0.001,31,0.684,32,0.148,33,0.546,34,1.039,35,1.372,36,2.736,40,2.942,47,0.839,59,1.18,95,0.141,99,0.765,101,0.005,103,0,104,0,125,1.811,135,1.61,148,1.088,153,0.983,228,1.988,271,2.29,277,0.543,279,1.574,317,2.929,365,2.7,433,0.747,540,2.884,579,1.736,589,0.808,591,0.901,595,1.44,614,2.357,629,3.208,652,2.633,657,2.902,675,3.881,688,1.77,703,1.165,869,2.975,980,3.353,1027,1.162,1223,2.846,1328,3.231,1563,2.45,1853,1.246,1883,1.425,1913,7.814,2005,4.619,2008,1.891,2036,1.869,2088,1.627,2448,4.992,2465,3.592,2588,3.828,2636,1.858,2696,5.539,2698,3.881,2776,6.835,5074,1.939,5203,2.846,5204,7.814,5206,2.68,5225,3.085,5266,4.088,5752,1.964,6080,7.985,6088,3.085,6303,5.275,6369,4.382,6435,2.337,6700,2.73,6794,3.702,6863,3.332,7044,3.742,7050,3.517,7924,5.35,8307,4.557,8310,6.03,10188,9.129,10208,2.68,10229,3.085,10447,2.094,10537,3.517,10550,7.312,10552,8.535,10553,7.312,10555,4.151,10589,2.915,10709,6.671,10766,6.672,10957,3.195,10996,6.079,10997,5.335,10998,5.335,10999,6.079,11000,6.079,11001,7.602,11002,5.335,11003,6.079,11004,7.602,11005,3.797,11006,7.814,11007,7.602,11008,3.797,11009,6.079,11010,3.797,11011,6.079,11012,3.797,11013,6.079,11014,3.797,11015,3.797,11016,6.079,11017,3.797,11018,6.079,11019,3.797,11020,3.797,11021,3.797,11022,6.079,11023,7.041,11024,9.867,11025,6.079,11026,3.797,11027,3.797,11028,8.966,11029,10.144,11030,3.797,11031,8.691,11032,2.73,11033,3.797,11034,3.797,11035,3.517,11036,5.631,11037,3.797,11038,3.517,11039,5.631,11040,6.079,11041,3.797,11042,3.797,11043,3.797,11044,3.797,11045,3.797,11046,3.797,11047,3.797,11048,3.797,11049,6.079,11050,6.079,11051,6.079,11052,6.079,11053,3.797,11054,3.797,11055,3.797,11056,3.797,11057,3.332,11058,3.797,11059,3.797,11060,3.797,11061,3.797,11062,3.797,11063,3.797,11064,3.797,11065,6.079,11066,3.797,11067,3.797,11068,3.797,11069,3.797,11070,3.797,11071,3.797,11072,3.797,11073,3.797,11074,3.797,11075,3.797,11076,3.797,11077,3.797,11078,3.797,11079,3.797,11080,3.797,11081,3.797,11082,3.797]],["title/injectables/ExternalToolServiceMapper.html",[589,0.926,10553,5.86]],["body/injectables/ExternalToolServiceMapper.html",[0,0.322,3,0.017,4,0.017,5,0.008,7,0.13,8,1.32,27,0.363,29,0.71,30,0.001,31,0.706,32,0.115,33,0.425,35,1.067,47,0.923,95,0.14,101,0.012,103,0.001,104,0.001,148,0.915,277,1.331,589,1.536,591,2.207,1495,6.69,1496,7.559,1883,3.493,2696,5.254,2698,3.749,6288,3.782,6365,7.334,8174,6.974,8310,9.119,10188,8.66,10553,9.721,10555,6.353,10766,11.029,10789,8.618,11028,9.419,11032,6.69,11083,9.304,11084,11.554,11085,11.554,11086,9.304,11087,9.304,11088,9.304,11089,8.618,11090,9.304,11091,8.166,11092,9.304,11093,9.304,11094,8.618,11095,8.618]],["title/classes/ExternalToolSortingMapper.html",[0,0.241,10721,6.113]],["body/classes/ExternalToolSortingMapper.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,8,1.313,10,3.704,27,0.359,29,0.704,30,0.001,31,0.645,32,0.114,33,0.421,35,1.057,95,0.146,96,2.407,101,0.012,103,0.001,104,0.001,125,2.196,135,1.199,148,0.906,224,2.67,467,3.643,595,3.496,789,5.045,2008,4.592,2698,3.727,2776,4.565,4832,7.489,6792,5.675,7934,10.301,8311,7.233,10359,6.629,10704,9.665,10721,10.082,10858,10.326,11096,9.219,11097,11.488,11098,11.488,11099,9.219,11100,8.539,11101,9.219,11102,8.539,11103,8.539,11104,10.64,11105,8.539]],["title/injectables/ExternalToolUc.html",[589,0.926,11106,5.86]],["body/injectables/ExternalToolUc.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.066,8,0.827,26,2.882,27,0.465,29,0.912,30,0.001,31,0.671,32,0.148,33,0.546,35,1.328,36,2.807,39,3.314,47,0.645,95,0.139,99,0.957,100,1.656,101,0.006,103,0,104,0,131,3.697,135,1.651,148,1.095,153,1.171,228,1.898,277,0.679,290,2.082,317,2.983,365,3.898,412,2.109,433,0.89,478,1.33,540,3.257,589,0.963,591,1.127,595,1.801,610,1.873,614,1.472,652,2.429,657,3.084,693,5.43,869,3.544,1829,2.035,1853,1.558,1862,6.156,1883,1.783,1941,3.105,1962,2.834,2088,2.035,2680,2.181,2696,5.564,2698,3.185,2700,5.428,2776,6.517,4441,5.186,5752,2.456,5805,3.105,6700,3.415,6794,5.345,7044,6.856,7083,4.168,7103,4.399,7924,6.043,10249,11.333,10257,3.743,10258,8.682,10277,3.858,10278,10.316,10447,7.098,10466,6.707,10484,6.355,10501,5.708,10526,9.746,10549,8.26,10709,7.536,10829,10.48,10862,8.616,10957,3.996,10997,6.355,10998,6.355,11002,6.355,11024,4.399,11106,6.093,11107,7.241,11108,8.129,11109,6.707,11110,6.355,11111,8.776,11112,4.749,11113,7.241,11114,4.749,11115,7.241,11116,4.749,11117,7.241,11118,4.749,11119,4.749,11120,7.241,11121,4.749,11122,7.241,11123,4.749,11124,7.241,11125,4.749,11126,11.138,11127,7.241,11128,4.749,11129,4.749,11130,4.749,11131,7.241,11132,4.749,11133,4.749,11134,6.707,11135,4.749,11136,4.749,11137,4.749,11138,4.749,11139,4.749,11140,4.749]],["title/classes/ExternalToolUpdateParams.html",[0,0.241,10860,5.86]],["body/classes/ExternalToolUpdateParams.html",[0,0.345,2,0.622,3,0.011,4,0.011,5,0.005,7,0.082,27,0.505,29,0.761,30,0.001,31,0.677,32,0.169,33,0.581,34,1.704,47,0.934,95,0.134,101,0.008,103,0,104,0,110,3.465,112,0.667,122,2.262,125,1.403,130,2.697,190,2.322,195,2.648,199,5.497,200,1.803,201,4.496,202,1.353,223,1.836,296,3.153,299,4.529,300,4.433,571,3.364,886,1.865,899,2.692,1220,3.387,1232,3.417,2035,6.852,2036,2.9,2088,4.676,2472,5.122,2531,5.374,2696,5.981,2698,4.267,2703,3.329,2706,4.023,2717,9.398,2720,6.233,2721,5.896,2918,5.632,3201,3.982,3362,6.11,4064,4.416,4065,3.588,4086,3.588,6317,6.71,6740,5.73,6771,4.786,6837,6.233,6840,4.957,6841,4.957,6842,4.644,6847,5.374,8173,6.008,8175,6.07,8328,4.023,8332,4.088,8361,9.398,8368,6.523,9653,5.556,9654,3.852,9655,5.556,10143,7.311,10310,10.684,10314,5.171,10315,5.457,10322,5.457,10323,5.457,10326,5.457,10328,5.457,10844,9.18,10851,9.733,10860,7.15,11141,4.957,11142,5.892,11143,5.171,11144,5.892,11145,5.171,11146,5.892,11147,5.892,11148,5.892,11149,5.892,11150,5.457,11151,5.892,11152,5.892,11153,5.892]],["title/injectables/ExternalToolValidationService.html",[589,0.926,10549,5.86]],["body/injectables/ExternalToolValidationService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.917,27,0.457,29,0.895,30,0.001,31,0.659,32,0.15,33,0.536,34,1.629,35,1.285,36,2.629,47,0.7,72,2.5,95,0.131,101,0.007,103,0,104,0,127,4.774,135,0.708,142,3.448,148,0.535,153,1.896,228,1.711,277,0.779,317,2.867,338,7.216,393,2.696,414,2.762,415,3.103,417,4.496,433,0.986,569,2.493,579,3.347,589,1.066,591,1.291,614,2.953,640,3.351,652,2.695,657,2.681,983,5.177,1598,4.741,1883,2.044,2088,2.333,2696,5.513,2698,4.414,2776,6.975,2831,3.813,5910,4.581,6116,4.292,6135,5.043,6829,4.423,7044,7.216,7133,4.423,7138,8.015,10188,9.087,10257,4.292,10258,9.087,10447,4.425,10471,5.768,10484,4.778,10549,6.75,10551,10.2,10585,4.778,10589,8.602,10611,5.043,10957,6.75,11023,5.043,11035,5.043,11036,5.043,11038,8.823,11154,8.022,11155,8.022,11156,8.022,11157,8.022,11158,8.022,11159,5.444,11160,8.022,11161,5.444,11162,8.022,11163,8.022,11164,5.444,11165,8.022,11166,8.022,11167,5.444,11168,5.444,11169,8.022,11170,5.444,11171,5.444,11172,8.022,11173,5.444,11174,8.022,11175,5.444,11176,5.444,11177,5.444,11178,8.022,11179,5.444,11180,5.444,11181,5.444,11182,5.444,11183,5.444,11184,5.444,11185,5.444,11186,5.444,11187,5.444]],["title/injectables/ExternalToolVersionIncrementService.html",[589,0.926,10550,5.86]],["body/injectables/ExternalToolVersionIncrementService.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,27,0.466,29,0.913,30,0.001,31,0.672,32,0.148,33,0.546,35,1.371,95,0.098,101,0.006,103,0,104,0,122,2.731,135,1.743,148,1.266,277,0.682,569,2.257,589,0.965,591,1.131,652,2.806,756,1.901,1883,1.789,2696,5.569,2698,3.974,2765,9.489,2776,5.743,2937,10.837,5752,6.334,6165,4.183,6186,7.99,6192,4.183,6198,4.01,6199,4.01,6699,3.001,10188,9.18,10550,6.109,11188,4.766,11189,7.261,11190,7.261,11191,7.261,11192,7.261,11193,7.261,11194,7.261,11195,7.261,11196,7.261,11197,7.261,11198,13.398,11199,4.766,11200,8.796,11201,7.261,11202,4.766,11203,7.261,11204,13.398,11205,4.766,11206,7.261,11207,4.766,11208,7.261,11209,4.766,11210,7.261,11211,4.766,11212,7.261,11213,4.766,11214,7.261,11215,8.796,11216,4.766,11217,4.766,11218,4.766,11219,7.261,11220,4.766,11221,4.766,11222,4.766,11223,4.766,11224,7.261,11225,7.261,11226,7.261,11227,4.766,11228,4.766,11229,4.766,11230,4.766,11231,4.766,11232,4.766,11233,4.766,11234,12.248,11235,7.261,11236,4.766,11237,4.766,11238,4.766,11239,7.261,11240,4.766,11241,4.766,11242,7.261,11243,4.766,11244,4.766,11245,4.766,11246,4.766,11247,4.766,11248,4.766,11249,4.766,11250,4.766,11251,9.835,11252,9.835,11253,9.835,11254,4.766,11255,4.766,11256,4.766]],["title/classes/ExternalUserDto.html",[0,0.241,11257,5.109]],["body/classes/ExternalUserDto.html",[0,0.293,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,27,0.533,29,0.647,30,0.001,31,0.476,32,0.169,33,0.649,47,1.018,83,3.195,95,0.094,101,0.011,103,0.001,104,0.001,112,0.855,232,2.948,433,1.042,435,2.913,595,3.216,700,5.826,701,5.826,702,5.961,704,6.147,3436,6.186,5056,6.693,7895,5.111,7896,5.278,8189,6.684,8190,6.889,10076,11.659,10097,7.854,10099,7.854,10100,7.854,11257,9.64,11258,9.242,11259,10.895,11260,8.479,11261,8.479,11262,8.479,11263,5.544,11264,5.986,11265,5.544,11266,5.986,11267,5.789,11268,6.219,11269,7.134,11270,7.442]],["title/injectables/FeathersAuthProvider.html",[589,0.926,1869,5.658]],["body/injectables/FeathersAuthProvider.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.082,8,0.967,26,2.887,27,0.469,29,0.918,30,0.001,31,0.676,32,0.149,33,0.55,35,1.324,36,2.776,39,3.442,47,0.848,49,3.742,95,0.129,96,1.529,97,2.363,99,1.18,101,0.008,103,0,104,0,135,1.709,142,2.12,148,1.182,153,0.947,159,0.599,197,1.637,277,0.838,290,3.012,317,2.978,365,2.601,400,1.717,433,0.72,478,1.641,579,1.672,589,1.125,591,1.389,610,3.918,652,2.021,657,2.639,703,1.797,789,3.206,981,3.567,1092,3.939,1826,5.93,1869,6.874,1882,4.928,2482,5.777,2954,4.497,4588,3.953,7873,8.107,7881,7.249,8069,7.824,9636,6.207,10062,5.141,10063,8.822,11271,11.486,11272,5.425,11273,8.462,11274,9.202,11275,7.427,11276,8.462,11277,9.202,11278,5.857,11279,8.462,11280,5.857,11281,5.425,11282,5.857,11283,8.462,11284,5.857,11285,8.462,11286,5.857,11287,5.857,11288,5.857,11289,8.462,11290,8.462,11291,8.462,11292,5.857,11293,5.857,11294,5.857,11295,8.462,11296,8.462,11297,6.67,11298,6.874,11299,5.857,11300,4.928,11301,5.857,11302,5.857,11303,5.857,11304,7.427,11305,5.425,11306,5.857,11307,5.857]],["title/injectables/FeathersAuthorizationService.html",[589,0.926,1863,5.86]],["body/injectables/FeathersAuthorizationService.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.97,26,2.808,27,0.425,29,0.832,30,0.001,31,0.612,32,0.135,33,0.498,35,1.326,36,2.546,39,3.528,47,0.885,95,0.111,99,1.185,101,0.008,103,0,104,0,135,1.419,145,2.208,148,0.834,153,1.373,205,2.455,206,3.557,277,0.841,290,3.119,317,2.801,374,4.734,388,5.635,400,1.725,433,0.723,579,2.424,589,1.128,591,1.396,615,5.17,657,2.644,693,2.675,1083,6.807,1566,5.163,1826,7.323,1863,7.142,1869,9.786,1885,3.621,1984,5.708,2389,4.779,2834,5.626,5278,3.704,7873,8.596,7881,8.399,7905,6.516,8069,9.573,11271,10.708,11308,5.883,11309,9.959,11310,8.489,11311,9.959,11312,5.883,11313,5.883,11314,5.883,11315,5.883,11316,6.516,11317,7.863,11318,8.489,11319,5.883,11320,5.883,11321,5.883,11322,7.863,11323,5.883,11324,5.883,11325,5.883,11326,5.883,11327,5.883,11328,5.883,11329,5.883,11330,5.883,11331,5.883,11332,7.142,11333,5.883,11334,5.883,11335,5.883,11336,8.489,11337,5.883,11338,5.883]],["title/interfaces/FeathersError.html",[159,0.712,10053,5.86]],["body/interfaces/FeathersError.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.176,47,1.034,55,2.649,101,0.013,103,0.001,104,0.001,112,0.957,159,1.041,161,2.424,231,2.106,998,6.418,1080,4.23,10053,10.268,11339,10.177,11340,10.177,11341,12.553]],["title/modules/FeathersModule.html",[252,1.839,1861,5.86]],["body/modules/FeathersModule.html",[0,0.313,3,0.017,4,0.017,5,0.008,30,0.001,95,0.126,101,0.012,103,0.001,104,0.001,157,2.091,193,4.947,252,3.537,254,4.46,255,3.449,256,3.536,257,3.523,258,3.511,259,4.503,260,4.607,269,4.44,270,3.473,271,3.402,277,1.292,371,6.028,543,5.52,610,4.473,997,7.06,1861,11.675,1885,7.632,2570,7.319,2903,7.415,9116,8.706,10063,10.572,11342,9.032,11343,9.032,11344,9.032,11345,9.032,11346,9.214,11347,9.214,11348,9.543,11349,9.543,11350,9.954,11351,8.366]],["title/injectables/FeathersRosterService.html",[589,0.926,11352,5.346]],["body/injectables/FeathersRosterService.html",[0,0.104,3,0.006,4,0.006,5,0.003,7,0.042,8,0.575,26,2.197,27,0.453,29,0.887,30,0.001,31,0.674,32,0.152,33,0.531,34,0.861,35,1.306,36,2.678,47,1.006,51,3.643,55,0.611,72,2.312,95,0.135,99,0.608,101,0.004,103,0,104,0,122,0.625,135,1.724,142,1.823,145,1.89,148,1.094,153,1.471,157,0.698,159,0.861,228,1.633,254,1.811,277,0.431,290,1.194,317,2.904,339,3.179,412,2.236,433,0.619,478,0.845,528,2.554,578,1.581,579,2.161,589,0.669,591,0.715,595,1.144,610,2.985,614,2.346,652,2.76,657,2.981,980,4.642,1065,3.726,1212,3.249,1472,1.676,1853,0.989,1885,3.099,2005,4.023,2006,3.967,2008,3.229,2018,6.396,2027,3.705,2033,4.223,2035,1.663,2040,3.554,2047,2.26,2048,2.168,2298,5.966,2370,1.69,2512,3.004,2550,3.035,2776,6.325,3418,1.358,3899,3.386,3900,1.592,4588,1.725,4739,4.182,4862,1.999,4863,2.028,5056,3.603,5057,2.168,5449,5.482,5466,4.838,5953,1.999,6303,3.494,6685,4.296,6739,5.343,6809,2.059,6824,6.309,6889,3.62,6982,2.092,7044,5.941,7045,6.396,7062,4.034,7068,4.858,7077,2.168,7078,2.168,7121,3.865,7510,2.894,7513,4.13,7514,2.129,7608,2.212,7655,2.377,8114,5.707,8120,3.438,8311,3.17,10208,2.129,10282,2.315,10447,4.642,10471,5.442,10538,2.377,10628,3.62,10631,7.417,10637,5.09,10650,4.236,10666,3.865,11352,3.865,11353,9.6,11354,2.45,11355,4.09,11356,4.09,11357,4.09,11358,3.62,11359,4.09,11360,5.035,11361,5.035,11362,5.035,11363,4.664,11364,5.035,11365,5.035,11366,5.035,11367,5.035,11368,5.035,11369,5.035,11370,5.035,11371,2.377,11372,6.696,11373,3.016,11374,4.09,11375,3.016,11376,3.016,11377,4.09,11378,3.016,11379,4.09,11380,3.016,11381,4.09,11382,8.536,11383,3.016,11384,4.09,11385,3.016,11386,4.09,11387,3.016,11388,4.09,11389,3.016,11390,4.09,11391,3.016,11392,7.973,11393,4.09,11394,3.016,11395,4.09,11396,3.016,11397,4.09,11398,3.016,11399,2.315,11400,2.45,11401,3.969,11402,5.966,11403,3.969,11404,4.09,11405,4.09,11406,6.837,11407,4.09,11408,2.45,11409,4.09,11410,2.45,11411,2.45,11412,4.09,11413,2.45,11414,2.45,11415,4.09,11416,2.45,11417,2.45,11418,2.45,11419,2.45,11420,2.45,11421,2.45,11422,2.45,11423,2.45,11424,2.45,11425,2.45,11426,5.266,11427,2.45,11428,2.45,11429,2.45,11430,2.45,11431,2.45,11432,2.45,11433,2.45,11434,2.45,11435,2.45,11436,2.45,11437,2.45,11438,4.09,11439,2.45,11440,2.377,11441,2.45,11442,3.386,11443,2.028,11444,2.377,11445,2.377,11446,2.45,11447,4.09,11448,2.45,11449,4.09,11450,2.45,11451,2.377,11452,2.45,11453,2.45,11454,2.45,11455,2.45,11456,2.45,11457,2.45,11458,2.377,11459,2.377]],["title/interfaces/FeathersService.html",[159,0.712,11460,6.113]],["body/interfaces/FeathersService.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.091,8,1.046,27,0.446,29,0.806,30,0.001,31,0.593,32,0.149,33,0.483,34,1.566,35,1.211,36,2.637,47,0.841,59,3.555,95,0.127,101,0.015,102,5.613,103,0,104,0,135,1.191,142,2.369,148,0.643,153,1.058,159,0.669,161,1.559,193,5.251,252,1.728,254,2.354,277,0.936,326,5.053,339,1.919,371,6.398,388,4.527,407,4.541,543,3.185,561,2.948,571,3.624,579,1.868,589,1.217,610,5.154,641,6.519,652,1.331,688,3.051,734,3.859,816,4.541,983,4.223,997,7.494,1078,4.011,1086,4.359,1087,4.226,1088,4.291,1089,4.561,1090,4.974,1197,3.555,1380,4.905,1885,6.501,2135,6.464,2543,4.121,2570,4.223,2903,4.279,4237,5.909,5138,6.123,5927,5.699,6288,3.722,7642,3.945,9116,5.024,10027,5.024,10063,4.8,10596,4.8,11346,5.317,11347,5.317,11348,5.506,11349,5.506,11350,5.744,11460,10.04,11461,10.595,11462,5.744,11463,8.481,11464,12.805,11465,6.544,11466,10.595,11467,8.481,11468,6.544,11469,8.481,11470,6.544,11471,5.744,11472,6.062,11473,6.062,11474,6.062,11475,6.062,11476,6.062,11477,8.481,11478,6.062,11479,5.506,11480,5.159,11481,6.062,11482,6.062,11483,6.062,11484,6.062]],["title/injectables/FeathersServiceProvider.html",[589,0.926,10063,5.109]],["body/injectables/FeathersServiceProvider.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,27,0.42,29,0.719,30,0.001,31,0.529,32,0.144,33,0.43,34,1.165,35,0.781,36,2.28,47,0.855,95,0.13,101,0.015,102,5.734,103,0,104,0,135,1.225,142,2.466,148,0.669,153,1.101,157,1.577,159,0.697,193,5.843,252,1.798,254,3.386,277,0.974,326,4.429,371,6.185,388,4.624,407,6.532,414,3.455,433,0.837,543,4.582,561,3.068,571,3.726,579,1.945,589,1.251,591,1.616,610,5.204,641,5.365,652,1.385,688,3.175,816,4.726,983,4.395,997,7.244,1078,4.124,1086,4.482,1087,4.345,1088,4.411,1089,4.689,1090,5.113,1197,3.699,1380,5.105,1885,7.164,2135,6.645,2543,4.289,2570,6.075,2903,6.155,4237,6.075,5138,3.646,5927,5.86,6288,3.827,7642,4.105,9116,7.226,10027,5.228,10063,6.905,10596,4.996,11346,7.648,11347,7.648,11348,7.921,11349,7.921,11350,8.262,11460,10.214,11461,9.993,11462,5.978,11463,6.309,11464,11.314,11466,8.72,11467,6.309,11469,6.309,11471,5.978,11472,6.309,11473,6.309,11474,6.309,11475,6.309,11476,8.72,11477,8.72,11478,6.309,11479,5.731,11480,5.369,11481,6.309,11482,6.309,11483,6.309,11484,6.309,11485,9.414,11486,6.811,11487,6.811,11488,6.811]],["title/entities/FederalStateEntity.html",[205,1.419,7501,4.833]],["body/entities/FederalStateEntity.html",[0,0.353,3,0.014,4,0.014,5,0.007,7,0.107,27,0.476,30,0.001,31,0.715,32,0.151,33,0.466,47,1.028,55,1.554,83,2.992,95,0.114,96,2.002,101,0.015,103,0,104,0,112,0.8,159,0.784,190,2.191,195,2.686,196,4.055,197,3.416,205,2.079,206,2.502,211,5.628,223,3.966,224,2.222,225,3.91,226,3.488,229,3.025,231,1.323,232,2.075,233,2.377,430,3.154,431,3.287,460,4.671,461,5.236,462,4.671,463,5.236,1835,5.243,2184,4.039,2712,5.177,4648,5.236,4654,5.385,4664,3.454,6740,7.026,6756,5.083,7482,11.01,7483,11.169,7484,6.731,7485,6.731,7486,6.731,7487,6.731,7492,8.585,7493,10.727,7494,10.727,7495,6.731,7496,6.731,7497,6.731,7498,6.731,7499,6.731,7500,6.731,7501,7.08,7502,6.731,7503,6.731,7504,6.046,11489,7.669,11490,7.669,11491,7.669,11492,7.669]],["title/interfaces/FederalStateProperties.html",[159,0.712,7492,5.86]],["body/interfaces/FederalStateProperties.html",[0,0.357,3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,31,0.738,32,0.163,33,0.471,47,1.048,55,1.578,83,3.854,95,0.115,96,2.033,101,0.015,103,0,104,0,112,0.809,159,0.796,161,1.855,195,2.265,196,3.833,197,2.881,205,2.101,223,3.832,224,2.256,225,3.95,226,3.542,229,3.072,231,1.344,232,2.108,233,2.414,430,5.058,431,5.271,460,4.743,461,5.318,462,4.743,463,5.318,1835,4.002,2184,4.08,2712,5.23,4654,5.44,4664,3.508,6740,7.353,6756,5.162,7482,11.28,7483,6.836,7484,6.836,7485,6.836,7486,6.836,7487,6.836,7492,9.721,7493,11.226,7494,11.226,7495,6.836,7496,6.836,7497,6.836,7498,6.836,7499,6.836,7500,6.836,7501,5.404,7502,6.836,7503,6.836,7504,6.14]],["title/injectables/FederalStateRepo.html",[589,0.926,11493,5.86]],["body/injectables/FederalStateRepo.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,8,1.17,10,4.116,12,4.635,18,5.133,26,2.075,27,0.511,29,0.973,30,0.001,31,0.751,32,0.158,33,0.583,34,1.319,35,1.462,36,2.695,40,3.733,47,0.845,49,3.858,95,0.137,96,2.014,101,0.01,103,0,104,0,148,1.007,205,1.572,206,3.342,224,2.234,231,1.767,277,1.103,317,2.835,436,3.619,478,2.161,532,5.133,589,1.362,591,1.83,728,7.758,734,4.316,735,4.635,736,6.277,759,4.603,760,4.698,761,4.649,762,4.698,763,5.352,764,4.649,765,4.698,766,4.129,3998,5.445,7501,7.107,10706,8.321,10712,8.618,11493,8.618,11494,11.499,11495,7.714,11496,7.714,11497,7.714,11498,7.714]],["title/injectables/FederalStateService.html",[589,0.926,11499,5.86]],["body/injectables/FederalStateService.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,8,1.298,27,0.443,29,0.867,30,0.001,31,0.697,32,0.141,33,0.519,35,1.038,36,2.4,47,0.912,95,0.138,101,0.012,103,0.001,104,0.001,135,1.178,148,0.89,228,1.626,277,1.295,279,3.753,317,2.685,400,2.654,433,1.112,478,2.536,589,1.51,591,2.147,657,2.07,734,3.815,1829,3.88,1883,3.398,1941,5.919,2615,7.073,4215,6.281,4714,6.087,7501,7.881,11493,11.51,11499,9.556,11500,12.411,11501,9.053,11502,11.358,11503,9.053,11504,9.053,11505,11.358,11506,9.053,11507,7.617,11508,6.949,11509,8.226,11510,9.053]],["title/interfaces/File.html",[5,0.006,159,0.712]],["body/interfaces/File.html",[3,0.016,4,0.016,5,0.011,7,0.122,30,0.001,32,0.138,47,1.08,55,2.479,95,0.098,101,0.017,103,0.001,104,0.001,112,0.874,125,2.653,159,1.388,161,2.09,339,3.894,414,5.65,1302,7.384,1304,5.001,1444,7.154,2233,5.344,5234,5.331,6572,5.001,7301,6.578,7302,6.578,7303,6.918,7304,6.736,7305,6.736,7306,5.526,7307,6.578,7308,5.992,7309,5.992,7310,5.992,7311,5.992,7312,6.195,7313,5.462,7314,5.344,7315,5.344,7316,6.437,7317,8.549,7318,8.549,7319,6.578]],["title/classes/FileContentBody.html",[0,0.241,6506,4.554]],["body/classes/FileContentBody.html",[0,0.473,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.498,27,0.31,30,0.001,31,0.679,32,0.173,47,0.96,83,1.579,95,0.124,99,1.085,101,0.017,103,0,104,0,110,1.873,112,0.624,130,3.269,155,1.719,157,2.42,190,1.427,195,1.184,200,1.648,201,3.679,202,1.237,223,1.678,231,2.015,296,3.705,299,4.958,300,4.475,339,1.579,360,3.096,854,5.011,855,3.223,886,1.705,899,2.461,1232,3.124,1749,3.069,1853,1.767,2049,4.267,2393,4.475,2721,5.522,2912,2.578,2918,6.599,3159,2.437,3201,2.524,3581,5.594,3583,5.594,3586,3.153,3589,4.928,3593,2.785,3598,3.018,4065,3.28,4086,3.28,4485,5.444,6409,5.96,6411,6.032,6413,5.96,6415,6.663,6417,6.032,6419,6.032,6467,3.475,6504,6.189,6505,6.189,6506,6.836,6507,6.189,6508,6.189,6509,6.189,6847,6.687,8010,3.521,8080,3.153,9639,6.365,9640,3.622,9642,8.22,9643,6.189,9644,6.189,9645,6.189,9646,3.622,9647,6.189,9648,3.315,9649,3.57,9650,6.189,9651,6.836,9652,3.521,9653,3.521,9654,3.521,9655,3.521,9656,3.622,9657,3.622,9658,3.622,9659,3.622,9660,3.622,9661,3.622,11511,5.386,11512,5.386]],["title/interfaces/FileDO.html",[159,0.712,7214,5.658]],["body/interfaces/FileDO.html",[3,0.013,4,0.018,5,0.006,7,0.098,10,2.828,26,2.586,30,0.001,31,0.694,32,0.167,33,0.539,34,2.113,39,1.953,47,1.048,55,2.224,83,3.218,95,0.107,99,1.418,101,0.017,103,0,104,0,112,0.755,135,0.916,159,1.207,161,1.676,290,1.669,374,3.056,703,2.159,870,6.458,886,3.475,1080,3.337,1154,6.574,1444,6.56,1937,3.315,1939,3.74,2033,2.669,2219,3.155,2220,3.548,2221,3.425,2608,4.242,2959,3.232,3011,3.216,3159,3.185,3418,3.17,3467,3.767,3668,5.568,3681,5.06,3933,5.852,4040,4.12,4259,4.12,4588,2.411,5234,5.648,5466,4.046,5788,4.011,5800,4.2,6665,6.713,6666,5.852,7195,5.717,7196,6.519,7197,6.519,7198,4.968,7199,5.548,7200,6.519,7201,5.921,7202,6.519,7203,6.519,7204,6.519,7205,6.519,7206,8.057,7207,7.391,7208,7.391,7209,7.391,7210,6.983,7211,4.541,7212,4.601,7213,7.082,7214,7.822,7215,9.302,7216,8.057]],["title/interfaces/FileDomainObjectProps.html",[159,0.712,11513,5.86]],["body/interfaces/FileDomainObjectProps.html",[3,0.018,4,0.018,5,0.009,7,0.135,26,2.855,30,0.001,31,0.749,32,0.165,34,2.281,47,0.941,95,0.132,99,1.956,101,0.012,103,0.001,104,0.001,112,0.93,159,0.993,161,2.313,185,3.326,1883,3.645,3898,4.866,3933,6.317,6666,6.317,7210,7.538,7218,4.622,7220,8.993,10016,5.913,11513,9.98,11514,8.993]],["title/classes/FileDto.html",[0,0.241,7364,5.221]],["body/classes/FileDto.html",[0,0.32,2,0.975,3,0.017,4,0.017,5,0.012,7,0.129,27,0.511,29,0.705,30,0.001,31,0.736,32,0.162,33,0.422,47,0.963,95,0.128,101,0.012,103,0.001,104,0.001,112,0.902,339,3.673,433,1.135,881,5.057,1237,3.332,1302,6.964,1304,5.266,1444,6.964,2184,3.658,2831,3.699,7218,6.421,7253,6.309,7364,10.109,11515,9.24,11516,9.679,11517,9.24,11518,9.24,11519,9.24,11520,9.24,11521,5.688,11522,7.774,11523,7.284,11524,7.507]],["title/classes/FileDto-1.html",[0,0.2,756,2.309,7364,4.34]],["body/classes/FileDto-1.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,26,2.698,27,0.519,29,0.676,30,0.001,31,0.725,32,0.165,33,0.404,34,2.101,47,0.823,95,0.137,99,1.784,101,0.011,103,0.001,104,0.001,112,0.878,161,2.109,232,3.031,433,1.088,435,3.041,458,3.531,459,4.579,2184,3.504,3898,6.817,3933,5.817,4664,3.987,6666,5.817,6675,5.642,7210,6.942,7218,6.476,7249,6.979,7364,8.395,10016,5.392,11513,10.862,11525,8.853,11526,11.199,11527,8.853,11528,8.853,11529,8.853,11530,6.636,11531,7.77]],["title/classes/FileDtoBuilder.html",[0,0.241,11532,6.451]],["body/classes/FileDtoBuilder.html",[0,0.265,2,0.808,3,0.014,4,0.014,5,0.012,7,0.107,8,1.164,27,0.446,29,0.875,30,0.001,31,0.735,32,0.142,33,0.523,35,1.314,47,1.009,95,0.136,101,0.01,103,0,104,0,135,1.589,148,1.126,153,1.238,339,3.976,467,3.996,507,4.526,711,3.318,871,4.215,1302,7.421,1304,5.808,1444,7.271,2084,5.074,2114,8.782,7218,5.814,7364,10.163,11532,9.439,11533,10.719,11534,7.655,11535,10.19,11536,10.19,11537,10.19,11538,7.655,11539,10.19,11540,7.655,11541,10.19,11542,12.718,11543,7.655,11544,7.09,11545,7.655,11546,7.655,11547,7.655,11548,7.655,11549,7.655,11550,7.09,11551,7.655,11552,6.441]],["title/classes/FileElement.html",[0,0.241,3140,4.335]],["body/classes/FileElement.html",[0,0.22,2,0.67,3,0.012,4,0.012,5,0.006,7,0.088,8,1.024,27,0.532,29,0.969,30,0.001,31,0.713,32,0.163,33,0.58,35,1.512,36,1.894,47,0.982,55,1.816,59,1.973,95,0.1,101,0.013,103,0,104,0,112,0.703,113,3.561,122,2.154,130,3.054,134,2.248,148,1.109,158,2.343,159,0.649,189,5.517,197,1.774,231,1.792,317,2.247,435,3.079,436,3.831,527,2.698,532,3.287,567,3.342,569,3.84,653,2.611,657,1.452,711,2.596,735,4.056,1770,3.588,1773,6.327,1842,4.095,2051,2.686,2662,5.882,3058,7.948,3061,6.327,3062,6.327,3063,6.327,3064,7.379,3065,6.327,3067,3.951,3068,5.458,3069,6.547,3071,6.119,3072,5.458,3073,6.488,3075,4.405,3076,4.797,3078,6.541,3079,4.405,3083,4.405,3085,3.951,3112,5.402,3140,7.025,3581,6.67,3583,6.67,4346,4.564,4347,4.564,4348,4.564,4357,3.951,9663,4.405,9665,5.571,9668,5.341,9670,5.341,11553,11.026,11554,6.348,11555,5.88,11556,6.348,11557,6.348,11558,6.348,11559,5.88,11560,6.348,11561,5.88,11562,8.301,11563,5.88,11564,8.301,11565,5.88,11566,5.88,11567,5.88,11568,5.571,11569,5.88]],["title/classes/FileElementContent.html",[0,0.241,11570,5.86]],["body/classes/FileElementContent.html",[0,0.371,2,0.873,3,0.015,4,0.015,5,0.007,7,0.115,27,0.464,29,0.631,30,0.001,31,0.465,32,0.165,33,0.378,34,2.034,47,0.958,95,0.14,101,0.014,103,0.001,104,0.001,112,0.841,190,1.922,202,1.899,296,3.559,298,3.591,304,4.095,433,1.461,458,3.298,821,4.222,886,2.618,1853,2.713,2109,3.623,2393,4.559,2926,6.9,3051,7.568,3054,7.405,3197,4.426,3198,4.426,3201,3.875,3581,7.706,3583,7.706,3759,5.646,3771,4.887,4019,6.163,4023,5.407,4025,5.407,4066,7.709,4485,6.194,6409,5.207,9698,6.958,11570,11.242,11571,11.658,11572,7.66,11573,7.66,11574,6.958,11575,6.958]],["title/classes/FileElementContentBody.html",[0,0.241,9643,4.554]],["body/classes/FileElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,6.571,6411,6.018,6413,5.946,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.823,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.823,9644,6.174,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,11576,5.364,11577,5.364]],["title/entities/FileElementNode.html",[205,1.419,3506,5.49]],["body/entities/FileElementNode.html",[0,0.302,3,0.016,4,0.016,5,0.008,7,0.121,27,0.432,30,0.001,32,0.137,47,0.996,95,0.143,96,2.276,101,0.014,103,0.001,104,0.001,112,0.87,134,3.087,135,1.134,148,0.857,159,0.892,190,1.988,205,2.26,206,2.844,223,4.131,224,2.525,231,1.914,232,2.359,457,4.847,1770,4.883,2049,4.977,2109,3.82,2662,5.28,2715,4.927,3467,5.937,3477,6.618,3506,8.743,3549,5.31,3572,9.734,3581,7.586,3583,7.586,3922,6.755,3942,5.367,4448,5.49,4450,5.49,9695,7.336,11574,7.336,11575,7.336,11578,11.298,11579,8.075,11580,9.734,11581,8.075,11582,8.075,11583,8.075]],["title/interfaces/FileElementNodeProps.html",[159,0.712,11580,6.113]],["body/interfaces/FileElementNodeProps.html",[0,0.307,3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,32,0.139,47,1.028,95,0.144,96,2.316,101,0.014,103,0.001,104,0.001,112,0.88,134,3.142,135,1.154,148,0.872,159,0.907,161,2.113,205,2.285,223,3.832,224,2.57,231,2.122,232,2.401,457,4.932,1770,4.923,2049,3.621,2109,3.887,2662,5.339,2715,5.014,3467,6.003,3477,6.692,3506,6.994,3549,5.404,3572,9.843,3581,7.875,3583,7.875,3922,7.489,3942,5.462,4448,5.587,4450,5.587,11574,7.465,11575,7.465,11578,8.218,11580,10.793,11581,8.218,11582,8.218,11583,8.218]],["title/interfaces/FileElementProps.html",[159,0.712,11568,6.113]],["body/interfaces/FileElementProps.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.149,36,1.803,47,1.038,95,0.122,101,0.015,103,0.001,104,0.001,112,0.858,122,1.769,130,2.96,134,3.022,148,1.252,158,3.15,159,0.873,161,2.033,197,2.385,231,2.083,317,1.846,527,3.626,567,4.079,569,2.652,653,3.51,657,1.951,1842,4.999,2051,3.611,3058,6.594,3064,5.579,3068,5.197,3069,6.346,3072,5.197,3073,6.289,3112,7.278,3140,7.516,3581,7.782,3583,7.782,4357,5.312,9663,5.921,11553,7.904,11562,10.133,11563,7.904,11564,10.133,11565,7.904,11566,7.904,11567,7.904,11568,9.602,11569,7.904]],["title/classes/FileElementResponse.html",[0,0.241,4066,5.008]],["body/classes/FileElementResponse.html",[0,0.358,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,27,0.499,29,0.598,30,0.001,31,0.44,32,0.172,33,0.358,34,2.191,47,0.906,95,0.137,101,0.013,103,0,104,0,112,0.812,190,2.209,202,1.799,296,3.608,298,3.402,304,3.879,433,1.424,458,3.124,821,4,886,2.48,1853,2.57,2109,3.432,2393,4.911,2926,7.433,3054,7.213,3196,5.122,3197,5.539,3198,5.539,3200,4.675,3201,4.849,3581,6.848,3583,6.848,3759,5.349,3771,4.629,4019,6.661,4023,5.122,4025,5.122,4066,9.215,4485,6.672,6409,6.516,11570,10.371,11571,12.193,11574,6.591,11575,6.591,11584,7.834,11585,7.256,11586,7.256,11587,7.834,11588,7.256]],["title/classes/FileElementResponseMapper.html",[0,0.241,6441,6.113]],["body/classes/FileElementResponseMapper.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.481,29,0.791,30,0.001,31,0.582,32,0.153,33,0.473,34,1.342,35,1.33,95,0.129,100,2.737,101,0.01,103,0,104,0,112,0.813,122,2.148,135,1.021,141,4.441,148,1.14,153,1.995,430,3.228,467,3.834,652,2.359,653,3.228,711,2.274,829,4.638,830,5.76,833,6.377,835,6.025,1237,3.001,1853,2.575,2049,5.563,2140,4.473,2393,3.008,2653,8.508,2656,7.954,2657,7.954,2659,7.766,2926,4.553,3140,8.486,3581,4.638,3583,4.638,4019,5.957,4035,5.541,4066,8.87,4485,4.087,5927,7.22,6409,4.942,6438,6.025,6441,11.788,9704,9.246,9705,6.188,9712,6.188,9713,6.188,9714,6.188,10356,6.889,11570,8.718,11589,12.824,11590,11.599,11591,7.849,11592,7.849]],["title/entities/FileEntity.html",[205,1.419,1019,5.109]],["body/entities/FileEntity.html",[0,0.122,3,0.007,4,0.007,5,0.008,7,0.144,26,2.319,27,0.509,30,0.001,31,0.515,32,0.164,33,0.605,47,0.967,49,4.194,55,1.988,83,2.877,95,0.124,96,1.496,97,1.424,99,0.711,101,0.007,103,0,104,0,112,0.45,122,1.5,125,2.892,129,2.713,130,2.479,135,0.459,148,0.965,153,1.801,159,0.361,185,1.963,190,2.343,195,2.982,196,4.418,197,3.272,205,1.168,206,1.152,211,5.941,223,4.073,224,1.022,225,2.197,231,0.609,232,0.955,233,1.094,335,5.602,411,2.646,430,1.452,431,1.513,460,2.15,461,3.914,462,2.15,463,3.914,478,0.989,540,1.171,569,1.782,579,1.008,620,5.185,652,0.718,711,2.096,756,1.408,813,1.978,870,5.014,886,1.815,1019,4.204,1080,1.224,1821,1.672,1826,4.28,1835,2.945,1883,1.325,2109,1.546,2125,1.85,2184,1.397,2942,4.796,2944,4.122,3668,2.908,3898,2.872,3933,2.714,4645,4.823,4648,3.914,4654,3.819,4655,1.978,4658,2.97,4663,2.97,4664,1.59,4726,2.15,5074,1.802,5209,6.867,5234,2.744,5493,6.867,5727,2.672,5752,1.826,6665,3.113,6668,1.903,6669,5.109,6670,2.868,6671,4.941,6676,2.449,6678,2.538,7245,2.278,7309,6.255,7527,2.97,7778,2.374,8087,2.589,8989,7.009,9040,7.311,11531,3.098,11593,3.27,11594,6.703,11595,6.703,11596,6.395,11597,7.716,11598,7.311,11599,6.11,11600,7.009,11601,7.716,11602,7.716,11603,7.716,11604,3.53,11605,3.53,11606,7.716,11607,3.53,11608,3.53,11609,3.53,11610,3.53,11611,3.53,11612,3.53,11613,3.53,11614,3.53,11615,3.53,11616,7.442,11617,3.53,11618,7.311,11619,3.53,11620,8.399,11621,3.53,11622,3.53,11623,3.53,11624,3.53,11625,5.309,11626,3.53,11627,3.53,11628,3.53,11629,3.53,11630,5.309,11631,3.53,11632,2.492,11633,3.27,11634,2.646,11635,3.27,11636,6.352,11637,5.309,11638,3.27,11639,8.485,11640,3.27,11641,3.27,11642,3.27,11643,2.538,11644,6.703,11645,4.4,11646,5.309,11647,5.309,11648,5.309,11649,3.27,11650,3.27,11651,3.27,11652,4.296,11653,3.27,11654,3.27,11655,3.27,11656,5.879,11657,6.703,11658,3.27,11659,3.27,11660,2.97,11661,5.309,11662,3.27,11663,3.27,11664,3.27,11665,3.27,11666,3.27,11667,3.27,11668,5.309,11669,3.27,11670,5.309,11671,2.71,11672,5.309,11673,3.27,11674,2.589,11675,3.27,11676,3.27,11677,3.27,11678,3.27,11679,2.71,11680,2.783,11681,3.27,11682,3.27,11683,3.27,11684,5.309,11685,3.27]],["title/interfaces/FileEntityProps.html",[159,0.712,11636,6.113]],["body/interfaces/FileEntityProps.html",[0,0.132,3,0.007,4,0.007,5,0.008,7,0.149,26,2.646,30,0.001,31,0.571,32,0.17,33,0.64,47,1.011,49,3.586,55,2.245,83,3.51,95,0.127,96,1.591,97,1.536,99,0.767,101,0.008,103,0,104,0,112,0.478,122,2.211,125,2.949,135,0.495,148,0.998,153,1.792,159,0.389,161,0.907,185,1.304,195,2.79,196,4.257,197,2.839,205,1.242,223,4.036,224,1.103,225,2.335,231,0.657,232,1.03,233,1.18,335,6.403,411,2.854,430,3.58,431,3.731,460,2.319,461,4.16,462,2.319,463,4.16,478,1.067,540,1.263,569,1.894,579,1.087,620,4.741,652,0.774,711,2.206,756,1.519,813,2.134,870,5.559,886,1.929,1019,2.793,1080,1.32,1821,1.803,1826,4.892,1835,1.957,1883,1.429,2109,1.668,2125,1.996,2184,1.507,2942,4.711,2944,2.738,3668,1.932,3898,3.053,3933,4.509,4654,4.02,4655,2.134,4658,3.204,4663,3.204,4664,1.715,4726,2.319,5074,1.944,5209,7.613,5234,2.916,5727,2.841,5752,1.969,6665,5.172,6668,2.053,6669,2.688,6670,3.093,6671,2.6,6676,2.642,6678,2.738,7245,2.457,7309,6.935,8087,2.793,8989,8.011,9040,8.357,11531,3.342,11593,3.527,11594,3.527,11595,3.527,11596,7.309,11597,8.819,11598,8.357,11599,6.984,11600,8.011,11601,8.819,11602,8.819,11603,8.819,11606,9.407,11616,8.251,11618,8.357,11620,8.664,11625,3.527,11630,3.527,11632,2.688,11633,3.527,11634,2.854,11635,3.527,11636,7.64,11637,8.819,11638,3.527,11639,8.819,11640,3.527,11641,3.527,11642,3.527,11643,2.738,11644,7.055,11645,4.677,11646,5.644,11647,5.644,11648,5.644,11649,3.527,11650,3.527,11651,3.527,11652,4.567,11653,3.527,11654,3.527,11655,3.527,11656,6.188,11657,7.055,11658,3.527,11659,3.527,11660,3.204,11661,5.644,11662,3.527,11663,3.527,11664,3.527,11665,3.527,11666,3.527,11667,3.527,11668,5.644,11669,3.527,11670,5.644,11671,2.923,11672,5.644,11673,3.527,11674,2.793,11675,3.527,11676,3.527,11677,3.527,11678,3.527,11679,2.923,11680,3.002,11681,3.527,11682,3.527,11683,3.527,11684,5.644,11685,3.527]],["title/classes/FileMetadata.html",[0,0.241,11686,5.658]],["body/classes/FileMetadata.html",[0,0.312,2,0.427,3,0.008,4,0.008,5,0.004,7,0.056,27,0.351,29,0.488,30,0.001,31,0.586,32,0.112,33,0.185,47,0.978,55,2.756,72,1.86,83,2.878,95,0.1,96,1.057,101,0.012,103,0,104,0,112,0.502,122,2.163,131,3.267,134,2.266,141,4.472,145,3.916,148,0.886,155,1.293,157,0.937,194,1.591,195,2.923,196,4.383,197,1.132,205,1.304,208,2.55,223,4.371,224,1.173,225,2.452,229,1.597,231,0.699,233,1.255,289,2.349,301,2.613,374,3.914,414,4.979,433,0.498,467,1.179,478,1.134,567,1.51,711,1.853,756,4.357,870,5.98,1087,1.869,1195,4.86,1199,6.918,1200,7.534,1201,7.534,1215,5.432,1224,4.601,1237,2.843,1372,2.137,1929,4.693,2164,3.679,2184,1.603,2393,3.04,2553,4.029,2643,4.369,2912,1.938,2915,6.585,2995,4.44,3056,1.949,3418,1.824,3426,3.781,3926,3.192,3972,4.241,5140,4.183,5234,3.797,5245,3.939,5406,5.044,6027,4.601,6178,3.781,6203,4.078,6574,3.109,6575,3.109,6576,3.035,6577,3.109,6578,2.648,6584,3.035,6585,3.109,6597,6.089,6600,2.859,6601,3.109,6617,3.647,6618,2.97,6620,3.109,6628,2.859,6630,3.109,6632,3.109,6634,3.109,6636,3.109,6642,3.109,7064,5.946,7245,2.613,7465,2.912,7572,2.417,9611,2.859,11686,7.322,11687,3.407,11688,6.253,11689,8.387,11690,5.198,11691,6.399,11692,4.05,11693,4.05,11694,5.384,11695,5.384,11696,5.384,11697,3.407,11698,7.322,11699,3.407,11700,5.384,11701,5.384,11702,5.384,11703,3.192,11704,3.407,11705,3.109,11706,5.198,11707,6.674,11708,3.407,11709,6.674,11710,6.63,11711,5.198,11712,4.912,11713,5.384,11714,5.044,11715,5.384,11716,4.601,11717,5.384,11718,5.384,11719,5.198,11720,5.384,11721,5.384,11722,3.192,11723,3.407,11724,3.192,11725,2.765,11726,3.407,11727,3.407,11728,3.407,11729,3.407,11730,3.407,11731,3.407,11732,3.407,11733,3.407,11734,3.407,11735,3.407,11736,3.407,11737,3.407,11738,3.407,11739,3.407,11740,3.407,11741,3.407,11742,3.407,11743,3.407,11744,3.407,11745,3.407,11746,3.407,11747,3.407,11748,3.407,11749,3.407,11750,3.407,11751,3.407,11752,3.407,11753,3.407,11754,3.407,11755,3.407,11756,3.407,11757,3.407,11758,3.407,11759,3.407,11760,3.407,11761,3.407,11762,3.407,11763,3.407,11764,3.407,11765,3.407,11766,3.407,11767,3.407,11768,3.407,11769,3.407,11770,3.407,11771,3.407,11772,3.407,11773,3.407,11774,3.407,11775,3.407,11776,3.407,11777,3.407,11778,3.407,11779,3.407,11780,3.407,11781,3.407,11782,3.407,11783,3.407,11784,3.407,11785,3.407,11786,3.407]],["title/classes/FileParamBuilder.html",[0,0.241,7351,6.113]],["body/classes/FileParamBuilder.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,26,2.659,27,0.361,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.062,95,0.14,99,1.866,101,0.012,103,0.001,104,0.001,135,1.499,148,0.91,161,2.206,467,3.65,507,5.117,3668,6.362,3898,6.763,3933,4.386,4588,3.946,5234,4.433,6666,5.456,7218,5.485,7322,8.578,7324,10.639,7325,8.578,7351,10.111,11787,10.671,11788,11.521,11789,12.153,11790,7.792,11791,9.261,11792,9.261,11793,9.261]],["title/classes/FileParams.html",[0,0.241,7275,4.833]],["body/classes/FileParams.html",[0,0.476,2,0.698,3,0.012,4,0.017,5,0.01,7,0.092,26,2.536,27,0.258,30,0.001,32,0.15,39,1.834,47,1.024,95,0.143,99,1.332,101,0.017,103,0,104,0,110,2.298,112,0.723,122,1.911,157,1.53,159,0.676,190,1.185,195,1.452,199,5.085,200,2.022,201,4.465,202,1.517,203,6.2,205,1.347,296,3.717,298,2.87,299,4.9,300,4.402,403,4.707,855,5.067,856,6.387,866,3.292,886,3.362,899,3.02,1078,2.895,1080,2.291,1169,3.834,1237,1.914,1290,5.949,1291,4.381,1292,4.381,3011,4.852,3201,4.975,3933,3.13,4588,2.264,5260,6.685,6666,3.13,6847,6.515,7210,6.492,7212,4.321,7213,7.797,7218,4.389,7232,6.111,7262,4.586,7263,4.665,7264,4.665,7269,4.586,7270,8.295,7271,8.11,7272,8.11,7273,4.665,7274,4.586,7275,6.397,7276,4.665,7277,4.512,7278,6.295,7279,4.444,7280,4.512,7281,4.586,7282,4.512,7283,4.265,7284,4.665,7285,4.665,7286,4.665,7287,4.265,7288,4.265,7289,4.381,7290,4.512,7291,4.665,11794,6.609,11795,6.609]],["title/classes/FilePermissionEntity.html",[0,0.241,11616,5.658]],["body/classes/FilePermissionEntity.html",[0,0.247,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,10,4.773,26,1.972,27,0.511,29,0.546,30,0.001,31,0.402,32,0.137,33,0.327,49,4.168,95,0.132,96,2.541,97,2.884,99,1.441,101,0.012,103,0,104,0,112,0.764,122,2.463,125,2.83,129,3.518,130,3.214,153,1.156,159,0.731,190,2.298,195,2.934,196,3.229,197,3.32,211,3.944,223,4.266,224,2.071,232,2.634,433,0.878,435,2.456,734,5.006,886,3.082,1783,7.312,1784,7.988,1883,2.684,2712,4.938,7527,6.016,11616,7.908,11796,11.233,11797,6.623,11798,10.426,11799,11.003,11800,10.426,11801,9.733,11802,7.15,11803,7.15,11804,7.15,11805,11.003,11806,7.15,11807,7.15,11808,6.623,11809,6.623,11810,6.623,11811,6.623,11812,8.543,11813,6.276,11814,8.543,11815,6.276,11816,8.543,11817,6.276,11818,8.543,11819,6.276]],["title/interfaces/FilePermissionEntityProps.html",[159,0.712,11800,6.113]],["body/interfaces/FilePermissionEntityProps.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,10,5.104,26,2.471,30,0.001,32,0.162,33,0.619,49,3.828,95,0.136,96,2.654,97,3.076,99,1.536,101,0.013,103,0,104,0,112,0.797,122,2.916,125,2.905,153,1.233,159,0.78,161,1.816,195,2.68,196,3.372,197,2.841,223,4.071,224,2.209,232,2.064,734,5.353,886,3.218,1783,7.819,1784,8.541,1883,2.862,2712,5.157,11616,6.195,11796,6.416,11797,7.063,11798,11.148,11799,11.765,11800,10.035,11805,11.765,11808,7.063,11809,7.063,11810,7.063,11811,7.063,11812,8.921,11813,6.693,11814,8.921,11815,6.693,11816,8.921,11817,6.693,11818,8.921,11819,6.693]],["title/entities/FileRecord.html",[205,1.419,7237,4.242]],["body/entities/FileRecord.html",[0,0.273,3,0.006,4,0.006,5,0.006,7,0.138,26,2.437,27,0.432,30,0.001,31,0.584,32,0.141,33,0.429,34,0.909,39,1.475,47,0.897,49,4.056,55,1.375,83,2.914,95,0.12,96,1.388,97,1.298,99,0.648,101,0.013,103,0,104,0,112,0.532,122,2.06,125,2.82,135,1.54,141,2.278,145,1.208,148,1.289,153,1.879,157,0.745,159,0.694,185,2.699,190,1.989,195,2.367,196,3.297,197,1.485,205,2.117,206,1.05,223,3.85,224,0.932,225,2.037,229,1.269,231,0.555,232,1.438,233,0.998,277,0.46,290,0.764,402,2.442,412,2.36,414,2.696,430,1.324,431,1.38,478,0.902,540,2.252,556,1.633,567,1.2,569,2.711,579,0.919,615,3.237,620,4.225,703,2.083,711,3.689,756,1.284,773,2.133,794,3.898,802,3.523,870,5.14,886,3.146,1078,2.328,1080,2.353,1084,2.198,1154,3.629,1309,3.822,1444,5.221,1829,2.278,1925,3.688,1937,1.516,2033,1.221,2127,1.884,2128,3.629,2184,3.119,2513,3.029,2712,2.696,2796,2.845,2942,3.655,2953,1.867,2959,1.478,3159,1.457,3418,1.45,3467,1.723,3668,2.696,3681,2.314,3933,4.706,4040,1.884,4216,3.984,4588,3.404,4598,2.471,4600,2.027,4648,2.198,4654,2.805,4664,1.45,4665,1.884,5466,1.85,5493,5.088,5788,1.834,5800,1.921,6665,3.687,6666,5.1,6668,2.866,6669,4.792,6671,5.381,6672,2.314,6673,5.781,6674,2.413,6675,2.051,6676,2.233,6678,3.822,6680,2.413,7206,5.381,7207,4.08,7208,4.08,7209,4.08,7210,4.929,7211,2.077,7216,5.381,7218,5.416,7237,4.8,7238,3.822,7245,2.077,7251,2.361,7253,2.198,7256,4.979,7549,1.981,7766,2.314,7767,3.688,9256,2.272,11530,2.413,11599,4.979,11632,2.272,11645,2.471,11671,4.08,11674,2.361,11679,2.471,11820,2.615,11821,4.19,11822,6.212,11823,5.515,11824,3.219,11825,7.087,11826,3.219,11827,2.981,11828,3.219,11829,3.219,11830,2.981,11831,2.981,11832,3.219,11833,3.219,11834,3.219,11835,2.981,11836,3.219,11837,6.538,11838,3.219,11839,3.219,11840,2.537,11841,2.361,11842,4.318,11843,4.318,11844,4.318,11845,4.318,11846,4.318,11847,4.318,11848,4.19,11849,5.381,11850,4.318,11851,2.471,11852,3.984,11853,2.413,11854,4.08,11855,2.471,11856,4.08,11857,5.351,11858,2.314,11859,2.537,11860,2.361,11861,2.361,11862,2.615,11863,2.615,11864,2.413,11865,2.537,11866,2.615,11867,2.615,11868,2.615,11869,2.615,11870,2.615,11871,2.615,11872,2.615,11873,2.615,11874,2.615,11875,2.615,11876,2.615,11877,7.63,11878,2.615,11879,2.615,11880,4.318,11881,2.615,11882,2.615,11883,4.318,11884,4.318,11885,4.318,11886,2.615,11887,2.615,11888,2.615,11889,2.615,11890,2.615,11891,2.615,11892,2.615,11893,4.318,11894,5.515,11895,2.537,11896,2.615,11897,4.318,11898,2.537,11899,2.615,11900,4.318,11901,2.615,11902,5.515,11903,5.515,11904,2.537,11905,5.351,11906,2.615,11907,2.615,11908,2.615,11909,2.615,11910,2.615,11911,2.615,11912,2.615,11913,2.537,11914,2.615,11915,2.615,11916,2.615,11917,2.615,11918,2.615,11919,2.615,11920,2.615,11921,2.615,11922,2.615,11923,2.615]],["title/classes/FileRecordFactory.html",[0,0.241,11924,6.451]],["body/classes/FileRecordFactory.html",[0,0.169,2,0.515,3,0.009,4,0.009,5,0.007,7,0.068,8,0.844,27,0.516,29,1.01,30,0.001,31,0.717,32,0.166,33,0.574,34,1.525,35,1.414,47,0.543,49,1.836,55,2.369,59,3.323,95,0.119,101,0.006,103,0,104,0,112,0.579,113,4.471,127,4.987,129,3.565,130,3.258,135,1.161,148,0.726,153,1.729,157,2.065,172,3.153,185,2.53,192,2.689,205,2.179,206,2.41,228,1.327,231,1.275,326,4.86,374,3.208,433,0.599,436,3.869,467,2.15,501,7.306,502,5.532,505,4.107,506,5.532,507,5.475,508,4.107,509,4.107,510,4.107,511,4.043,512,4.554,513,4.958,514,6.54,515,5.852,516,7.093,517,2.733,522,2.711,523,4.107,524,2.733,525,5.216,526,5.365,527,4.229,528,5.048,529,4.075,530,2.711,531,2.556,532,4.127,533,2.591,534,2.556,535,2.711,536,2.733,537,4.882,538,2.711,539,7.197,540,3.994,541,6.693,542,2.733,543,4.341,544,2.711,545,2.733,546,2.711,547,2.733,548,2.711,549,3.035,550,2.854,551,2.711,552,6.158,553,2.733,554,2.711,555,4.107,556,3.748,557,4.107,558,2.733,559,2.629,560,2.591,561,2.196,562,2.711,563,2.711,564,2.711,565,2.733,566,2.733,567,1.818,568,2.711,569,1.515,570,2.733,571,2.924,572,2.711,573,2.733,574,2.733,575,2.803,576,2.881,577,2.909,870,2.668,1078,2.136,1304,2.779,1317,3.107,1444,2.711,3933,2.309,4510,5.491,4588,1.67,6665,2.648,6666,2.309,7210,2.755,7216,3.329,7237,2.969,7768,3.961,8050,4.279,10016,2.969,11550,4.516,11599,3.576,11837,5.537,11856,3.743,11924,8.261,11925,4.876,11926,9.951,11927,4.876,11928,4.279,11929,6.484,11930,4.516,11931,4.876,11932,4.876,11933,4.876]],["title/classes/FileRecordListResponse.html",[0,0.241,7261,5.221]],["body/classes/FileRecordListResponse.html",[0,0.383,2,0.641,3,0.011,4,0.011,5,0.005,7,0.085,27,0.456,29,0.463,30,0.001,31,0.569,32,0.164,33,0.535,34,1.484,47,0.959,55,2.86,56,6.038,59,2.698,70,6.503,83,1.78,95,0.123,101,0.014,103,0,104,0,110,2.11,112,0.681,125,1.446,190,1.983,201,3.939,202,1.394,205,1.237,231,1.749,296,3.622,298,2.636,339,3.675,433,0.746,436,3.267,458,3.462,862,7.978,863,6.913,864,6.359,866,3.023,868,4.878,869,2.971,870,4.751,871,2.233,872,4.285,873,5.532,874,5.082,875,3.968,876,3.16,877,4.285,878,4.285,880,5.532,881,4.751,886,3.209,1315,4.931,1319,4.785,1444,3.374,2184,3.436,3054,6.309,3201,4.749,3933,2.874,5234,2.905,6665,3.297,6666,2.874,6675,3.868,7198,4.285,7206,6.92,7210,6.25,7215,4.785,7216,4.144,7218,4.133,7227,4.931,7228,4.931,7229,4.931,7230,4.931,7231,4.785,7232,5.754,7233,5.107,7234,9.225,7237,5.287,7238,8.415,7239,9.394,7240,5.107,7241,4.931,7242,5.107,7243,3.297,7244,5.107,7245,3.917,7246,5.107,7247,5.107,7248,5.107,7249,4.785,7250,4.931,7251,4.452,7252,5.107,7253,4.144,7254,4.931,7255,4.931,7256,4.452,7257,5.107,7258,5.107,7259,4.931,7260,5.107,7261,6.507,11934,6.07,11935,6.07]],["title/classes/FileRecordMapper.html",[0,0.241,11936,6.451]],["body/classes/FileRecordMapper.html",[0,0.252,2,0.77,3,0.014,4,0.014,5,0.007,7,0.102,8,1.127,27,0.436,29,0.853,30,0.001,31,0.628,32,0.138,33,0.511,35,1.282,55,2.754,56,5.642,59,3.066,70,6.076,95,0.11,101,0.009,103,0,104,0,125,1.737,135,1.558,141,3.126,148,1.099,153,1.808,205,1.486,402,2.623,467,3.956,837,3.611,863,6.606,871,3.63,1290,6.366,4926,5.148,7206,4.98,7218,5.702,7237,8.168,7239,9.378,7261,8.379,7279,8.414,11533,10.511,11849,4.98,11858,7.093,11895,5.749,11898,7.776,11904,5.749,11936,9.137,11937,7.293,11938,9.865,11939,10.354,11940,9.137,11941,9.865,11942,7.293,11943,10.077,11944,6.755,11945,7.293,11946,9.137,11947,7.293,11948,6.755,11949,6.755,11950,6.401,11951,7.293,11952,6.755,11953,9.865,11954,11.179,11955,11.179,11956,7.293,11957,7.293,11958,7.293,11959,11.179,11960,7.293]],["title/classes/FileRecordParams.html",[0,0.241,7213,4.494]],["body/classes/FileRecordParams.html",[0,0.472,2,0.671,3,0.012,4,0.017,5,0.008,7,0.089,26,2.629,27,0.405,30,0.001,32,0.157,39,1.765,47,1.003,95,0.142,99,1.281,101,0.017,103,0,104,0,110,2.21,112,0.704,122,1.86,157,1.472,159,0.65,190,1.864,195,1.397,199,4.949,200,1.946,201,4.39,202,1.46,203,6.033,205,1.296,296,3.7,298,2.761,299,4.839,300,4.328,403,3.246,855,5.005,856,6.279,886,3.292,899,2.905,1078,2.785,1080,2.204,1169,3.688,1237,1.842,1290,5.79,1291,4.214,1292,4.214,3011,4.751,3200,3.794,3201,5.293,3933,4.924,4588,3.561,5260,6.547,6389,6.226,6666,4.924,6847,6.422,7210,6.985,7212,4.157,7213,7.976,7218,5.377,7232,7.486,7262,4.412,7263,4.488,7264,4.488,7269,4.412,7270,8.193,7271,7.973,7272,7.973,7273,4.488,7274,4.412,7275,4.412,7276,4.488,7277,4.341,7278,6.126,7279,4.275,7280,4.341,7281,4.412,7282,4.341,7283,4.103,7284,4.488,7285,4.488,7286,4.488,7287,4.103,7288,4.103,7289,4.214,7290,4.341,7291,4.488,11961,6.358,11962,6.358,11963,6.358,11964,6.358]],["title/interfaces/FileRecordProperties.html",[159,0.712,11856,5.346]],["body/interfaces/FileRecordProperties.html",[0,0.246,3,0.006,4,0.006,5,0.005,7,0.142,26,2.671,30,0.001,31,0.62,32,0.14,33,0.443,34,0.96,39,1.557,47,0.932,49,3.404,55,1.662,83,3.127,95,0.123,96,1.465,97,1.387,99,0.693,101,0.013,103,0,104,0,112,0.558,122,2.12,125,2.872,135,1.569,141,2.405,145,1.291,148,1.303,153,1.916,159,0.727,161,0.819,185,1.922,195,1.986,196,2.722,197,0.961,205,1.842,223,3.757,224,0.996,225,2.151,229,1.356,231,0.593,232,1.519,233,1.066,277,0.492,290,0.816,402,2.557,412,1.527,414,2.847,430,1.415,431,1.474,478,0.963,540,2.359,556,1.745,567,1.282,569,2.809,579,0.982,615,2.095,620,4.425,703,1.722,711,3.739,756,1.372,773,2.28,794,2.523,802,2.28,870,5.597,886,3.238,1078,1.507,1080,2.464,1084,2.348,1154,3.832,1309,4.035,1444,5.685,1829,2.405,1925,2.386,1937,1.62,2033,1.304,2127,2.013,2128,3.832,2184,3.247,2513,1.96,2712,2.847,2796,1.841,2942,3.805,2953,1.995,2959,1.579,3159,1.556,3418,1.549,3467,1.841,3668,1.745,3681,2.473,3933,5.373,4040,2.013,4216,2.578,4588,3.886,4598,2.64,4600,2.166,4654,2.962,4664,1.549,4665,2.013,5466,1.977,5788,1.96,5800,2.052,6665,5.266,6666,5.373,6668,1.854,6669,2.428,6671,3.832,6672,2.473,6673,4.116,6674,2.578,6675,2.192,6676,2.386,6678,4.035,6680,2.578,7206,5.601,7207,4.308,7208,4.308,7209,4.308,7210,5.478,7211,2.219,7216,6.17,7218,1.637,7237,4.329,7238,4.035,7245,2.219,7251,2.523,7253,2.348,7256,5.214,7549,2.117,7766,2.473,7767,3.894,9256,2.428,11530,2.578,11599,2.523,11632,2.428,11645,2.64,11671,4.308,11674,2.523,11679,2.64,11820,2.794,11821,2.711,11822,4.424,11823,2.794,11825,8.308,11837,6.148,11840,2.711,11841,2.523,11842,4.559,11843,4.559,11844,4.559,11845,4.559,11846,4.559,11847,4.559,11848,4.424,11849,5.601,11850,4.559,11851,2.64,11852,4.206,11853,2.578,11854,4.308,11855,2.64,11856,5.457,11857,5.604,11858,2.473,11859,2.711,11860,2.523,11861,2.523,11862,2.794,11863,2.794,11864,2.578,11865,2.711,11866,2.794,11867,2.794,11868,2.794,11869,2.794,11870,2.794,11871,2.794,11872,2.794,11873,2.794,11874,2.794,11875,2.794,11876,2.794,11877,7.876,11878,2.794,11879,2.794,11880,4.559,11881,2.794,11882,2.794,11883,4.559,11884,4.559,11885,4.559,11886,2.794,11887,2.794,11888,2.794,11889,2.794,11890,2.794,11891,2.794,11892,2.794,11893,4.559,11894,5.775,11895,2.711,11896,2.794,11897,4.559,11898,2.711,11899,2.794,11900,4.559,11901,2.794,11902,5.775,11903,5.775,11904,2.711,11905,5.604,11906,2.794,11907,2.794,11908,2.794,11909,2.794,11910,2.794,11911,2.794,11912,2.794,11913,2.711,11914,2.794,11915,2.794,11916,2.794,11917,2.794,11918,2.794,11919,2.794,11920,2.794,11921,2.794,11922,2.794,11923,2.794]],["title/injectables/FileRecordRepo.html",[589,0.926,11965,6.113]],["body/injectables/FileRecordRepo.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.061,8,0.776,10,2.73,12,3.075,18,3.405,26,2.827,27,0.504,29,0.977,30,0.001,31,0.719,32,0.158,33,0.584,34,1.607,35,1.467,36,2.88,40,2.116,47,0.612,49,2.559,56,2.059,58,2.858,59,2.921,95,0.12,98,2.635,99,0.881,101,0.006,103,0,104,0,135,1.742,141,4.983,148,1.2,153,1.818,176,2.218,205,1.385,206,2.216,231,1.172,277,0.625,279,1.812,317,3.065,430,1.798,436,2.776,532,4.558,540,4.376,589,0.903,591,1.037,595,1.658,652,2.191,657,2.73,728,6.522,734,2.863,735,3.075,736,4.102,759,2.609,760,2.662,761,2.635,762,2.662,763,3.033,764,2.635,765,2.662,766,2.34,770,2.753,788,2.985,790,2.94,1626,2.45,1921,2.898,2232,3.872,2512,2.609,2938,3.906,3933,5.325,4588,3.219,5138,2.34,6288,5.052,6665,2.374,6895,4.639,7218,5.917,7237,7.57,7638,2.635,7924,7.874,7953,3.206,7954,3.206,7996,3.356,11858,4.885,11965,5.963,11966,4.371,11967,8.333,11968,6.794,11969,6.794,11970,8.333,11971,8.333,11972,6.794,11973,6.293,11974,6.794,11975,6.794,11976,4.371,11977,9.869,11978,4.371,11979,6.794,11980,4.371,11981,6.794,11982,4.371,11983,4.371,11984,4.371,11985,4.371,11986,4.371,11987,6.794,11988,4.371,11989,6.293,11990,4.371,11991,6.794,11992,4.371,11993,6.794,11994,4.371,11995,4.371,11996,4.371,11997,8.333,11998,4.371,11999,4.371,12000,9.398,12001,4.371,12002,4.371,12003,4.371,12004,4.371,12005,4.371,12006,4.371,12007,4.371,12008,4.371]],["title/classes/FileRecordResponse.html",[0,0.241,7239,5.221]],["body/classes/FileRecordResponse.html",[0,0.368,2,0.587,3,0.01,4,0.01,5,0.005,7,0.077,27,0.519,29,0.425,30,0.001,31,0.635,32,0.168,33,0.517,34,1.816,47,1.003,55,2.536,56,5.004,70,5.389,83,2.39,95,0.118,101,0.014,103,0,104,0,110,3.354,112,0.639,190,2.359,201,4.129,202,1.278,205,1.134,231,1.407,296,3.682,298,2.416,339,3.115,433,0.684,458,3.251,862,6.005,863,4.497,864,5.546,870,5.28,880,5.195,881,4.462,886,3.055,1315,4.521,1319,4.387,1444,5.363,2184,3.227,3051,3.928,3054,6.005,3200,5.757,3201,5.537,3933,4.569,5234,2.664,6665,5.24,6666,4.569,6675,3.546,7198,3.928,7206,7.72,7210,6.898,7215,7.605,7216,6.587,7218,6.399,7227,4.521,7228,4.521,7229,4.521,7230,4.521,7231,4.387,7232,8.909,7233,4.682,7234,8.913,7237,6.886,7238,9.334,7239,8.475,7240,6.859,7241,4.521,7242,4.682,7243,3.023,7244,4.682,7245,3.591,7246,4.682,7247,4.682,7248,4.682,7249,4.387,7250,4.521,7251,4.082,7252,4.682,7253,3.8,7254,4.521,7255,4.521,7256,4.082,7257,4.682,7258,4.682,7259,4.521,7260,6.859,7261,4.171,12009,5.565,12010,5.565,12011,5.565,12012,5.565,12013,5.565,12014,5.565,12015,5.565,12016,5.565,12017,5.565,12018,5.565,12019,5.565,12020,5.565]],["title/classes/FileRecordScope.html",[0,0.241,11977,6.113]],["body/classes/FileRecordScope.html",[0,0.211,2,0.645,3,0.011,4,0.011,5,0.005,7,0.085,8,0.996,26,2.769,27,0.523,29,0.98,30,0.001,31,0.721,32,0.164,33,0.587,34,1.044,35,1.472,47,0.747,49,2.3,95,0.124,96,1.594,97,2.463,99,1.23,101,0.008,103,0,104,0,112,0.684,122,2.108,129,2.582,130,2.359,135,0.795,142,3.156,148,1.199,153,1.645,176,4.424,195,1.916,205,1.244,231,1.504,279,2.532,365,3.872,436,3.465,569,1.898,652,2.481,1309,4.391,2479,6.009,3933,2.892,4588,2.092,4865,4.961,6288,5.311,6665,3.317,6669,4.311,6671,4.169,6673,4.479,6677,5.138,6679,5.138,7007,5.779,7008,5.779,7009,5.779,7014,5.779,7015,5.779,7016,4.106,7017,4.048,7018,4.106,7019,4.106,7028,4.048,7029,5.779,7030,4.106,7031,4.048,7032,4.106,7033,4.048,7034,7.775,7216,5.953,7218,5.978,7237,3.719,7278,5.953,9528,4.814,11599,4.479,11977,12.083,12021,12.556,12022,8.076,12023,8.719,12024,8.719,12025,8.719,12026,7.652,12027,8.719,12028,8.076,12029,5.656,12030,8.719,12031,6.107,12032,8.719,12033,5.656,12034,8.719,12035,8.719,12036,5.656,12037,7.652,12038,6.107,12039,8.719,12040,5.656,12041,5.36,12042,5.656]],["title/classes/FileRecordSecurityCheck.html",[0,0.241,11837,5.221]],["body/classes/FileRecordSecurityCheck.html",[0,0.244,2,0.358,3,0.006,4,0.006,5,0.005,7,0.142,26,2.471,27,0.375,29,0.259,30,0.001,31,0.571,32,0.111,33,0.322,34,0.948,39,1.539,47,0.908,49,3.378,55,1.124,83,3.109,95,0.122,96,1.448,97,1.367,99,0.683,101,0.013,103,0,104,0,112,0.552,122,2.107,125,2.861,129,2.656,130,2.427,135,1.563,141,2.377,145,1.272,148,1.3,153,1.972,159,0.72,185,1.9,190,1.608,195,1.971,196,2.698,197,0.947,205,1.828,223,3.939,224,0.982,225,2.125,229,1.337,231,0.585,232,1.905,233,1.051,277,0.485,290,0.804,402,3.226,412,1.506,414,2.814,430,2.895,431,3.017,433,0.416,435,1.165,478,0.95,540,2.335,556,1.72,567,1.264,569,2.788,579,0.968,615,2.064,620,5.062,703,1.701,711,3.728,756,1.352,773,2.247,794,2.486,802,2.247,870,4.451,886,3.358,1078,1.485,1080,2.44,1084,2.314,1154,3.787,1309,5.847,1444,4.521,1829,2.377,1925,2.352,1937,1.597,2033,1.286,2127,1.984,2128,3.787,2184,3.219,2513,1.932,2712,2.814,2796,1.814,2942,3.772,2953,1.966,2959,1.557,3159,1.534,3418,1.527,3467,1.814,3668,1.72,3681,2.437,3933,4.813,4040,1.984,4216,2.541,4588,3.481,4598,2.602,4600,2.135,4654,2.927,4664,1.527,4665,1.984,5466,1.949,5788,1.932,5800,2.023,6665,3.823,6666,4.813,6668,1.828,6669,2.393,6671,3.787,6672,2.437,6673,4.068,6674,2.541,6675,2.16,6676,2.352,6678,3.988,6680,2.541,7206,6.123,7207,4.257,7208,4.257,7209,4.257,7210,4.595,7211,2.187,7216,3.787,7218,4.839,7237,4.286,7238,3.988,7245,2.187,7251,2.486,7253,2.314,7256,5.162,7549,2.087,7766,2.437,7767,3.848,9256,2.393,11530,2.541,11599,2.486,11632,2.393,11645,2.602,11671,4.257,11674,2.486,11679,2.602,11820,2.754,11821,2.672,11822,4.372,11823,2.754,11825,6.607,11837,6.722,11840,2.672,11841,2.486,11842,4.506,11843,4.506,11844,4.506,11845,4.506,11846,4.506,11847,4.506,11848,6.41,11849,6.574,11850,5.718,11851,4.257,11852,4.157,11853,2.541,11854,4.257,11855,2.602,11856,4.257,11857,5.548,11858,2.437,11859,2.672,11860,2.486,11861,2.486,11862,2.754,11863,2.754,11864,2.541,11865,2.672,11866,2.754,11867,2.754,11868,2.754,11869,2.754,11870,2.754,11871,2.754,11872,2.754,11873,2.754,11874,2.754,11875,2.754,11876,2.754,11877,7.823,11878,2.754,11879,2.754,11880,4.506,11881,2.754,11882,2.754,11883,4.506,11884,4.506,11885,4.506,11886,2.754,11887,2.754,11888,2.754,11889,2.754,11890,2.754,11891,2.754,11892,2.754,11893,4.506,11894,5.718,11895,2.672,11896,2.754,11897,4.506,11898,2.672,11899,2.754,11900,4.506,11901,2.754,11902,5.718,11903,5.718,11904,2.672,11905,5.548,11906,2.754,11907,2.754,11908,2.754,11909,2.754,11910,2.754,11911,2.754,11912,2.754,11913,2.672,11914,2.754,11915,2.754,11916,2.754,11917,2.754,11918,2.754,11919,2.754,11920,2.754,11921,2.754,11922,2.754,11923,2.754,12043,5.546,12044,3.39,12045,3.39,12046,3.39,12047,3.39]],["title/interfaces/FileRecordSecurityCheckProperties.html",[159,0.712,11848,5.49]],["body/interfaces/FileRecordSecurityCheckProperties.html",[0,0.252,3,0.007,4,0.007,5,0.005,7,0.145,26,2.503,30,0.001,31,0.554,32,0.104,33,0.451,34,0.989,39,1.605,47,0.939,49,3.469,55,1.171,83,2.892,95,0.125,96,1.509,97,1.439,99,0.719,101,0.013,103,0,104,0,112,0.572,122,2.153,125,2.9,135,1.584,141,2.478,145,1.339,148,1.311,153,1.936,159,0.745,161,0.85,185,1.98,195,2.024,196,2.781,197,0.997,205,1.877,223,3.794,224,1.033,225,2.216,229,1.407,231,0.616,232,1.564,233,1.106,277,0.51,290,0.846,402,3.547,412,1.584,414,2.933,430,1.467,431,1.529,478,0.999,540,2.418,556,1.81,567,1.33,569,2.863,579,1.019,615,2.173,620,4.537,703,1.774,711,3.765,756,1.423,773,2.365,794,2.617,802,2.365,870,4.588,886,3.288,1078,1.563,1080,2.527,1084,2.436,1154,3.947,1309,6.623,1444,4.66,1829,2.478,1925,2.475,1937,1.681,2033,1.353,2127,2.088,2128,3.947,2184,3.318,2513,2.033,2712,2.933,2796,1.91,2942,3.888,2953,2.069,2959,1.638,3159,1.615,3418,1.607,3467,1.91,3668,1.81,3681,2.565,3933,4.918,4040,2.088,4216,2.674,4588,3.557,4598,2.739,4600,2.246,4654,3.051,4664,1.607,4665,2.088,5466,2.051,5788,2.033,5800,2.129,6665,3.959,6666,4.918,6668,1.923,6669,2.518,6671,3.947,6672,2.565,6673,4.241,6674,2.674,6675,2.274,6676,2.475,6678,4.157,6680,2.674,7206,6.733,7207,4.438,7208,4.438,7209,4.438,7210,4.737,7211,2.302,7216,3.947,7218,1.698,7237,4.439,7238,4.157,7245,2.302,7251,2.617,7253,2.436,7256,5.347,7549,2.196,7766,2.565,7767,4.012,9256,2.518,11530,2.674,11599,2.617,11632,2.518,11645,2.739,11671,4.438,11674,2.617,11679,2.739,11820,2.898,11821,2.812,11822,4.558,11823,2.898,11825,6.81,11837,6.283,11840,2.812,11841,2.617,11842,4.697,11843,4.697,11844,4.697,11845,4.697,11846,4.697,11847,4.697,11848,5.746,11849,7.09,11850,4.697,11851,2.739,11852,4.334,11853,2.674,11854,4.438,11855,2.739,11856,4.438,11857,5.746,11858,2.565,11859,2.812,11860,2.617,11861,2.617,11862,2.898,11863,2.898,11864,2.674,11865,2.812,11866,2.898,11867,2.898,11868,2.898,11869,2.898,11870,2.898,11871,2.898,11872,2.898,11873,2.898,11874,2.898,11875,2.898,11876,2.898,11877,8.011,11878,2.898,11879,2.898,11880,4.697,11881,2.898,11882,2.898,11883,4.697,11884,4.697,11885,4.697,11886,2.898,11887,2.898,11888,2.898,11889,2.898,11890,2.898,11891,2.898,11892,2.898,11893,4.697,11894,5.922,11895,2.812,11896,2.898,11897,4.697,11898,2.812,11899,2.898,11900,4.697,11901,2.898,11902,5.922,11903,5.922,11904,2.812,11905,5.746,11906,2.898,11907,2.898,11908,2.898,11909,2.898,11910,2.898,11911,2.898,11912,2.898,11913,2.812,11914,2.898,11915,2.898,11916,2.898,11917,2.898,11918,2.898,11919,2.898,11920,2.898,11921,2.898,11922,2.898,11923,2.898]],["title/interfaces/FileRequestInfo.html",[159,0.712,7324,5.49]],["body/interfaces/FileRequestInfo.html",[3,0.018,4,0.018,5,0.009,7,0.139,26,2.87,30,0.001,32,0.16,95,0.134,99,2.005,101,0.013,103,0.001,104,0.001,112,0.944,159,1.018,161,2.37,193,4.34,3898,4.986,3933,6.37,4588,4.607,6666,6.37,7210,7.601,7218,4.737,7324,9.49,7332,8.733,10016,6.06,11514,9.216]],["title/classes/FileResponseBuilder.html",[0,0.241,12048,6.113]],["body/classes/FileResponseBuilder.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.011,7,0.133,8,1.343,27,0.373,29,0.731,30,0.001,31,0.765,32,0.118,33,0.437,35,1.098,47,0.935,95,0.131,101,0.012,103,0.001,104,0.001,135,1.245,148,0.941,159,0.979,339,2.806,467,3.704,507,5.221,711,2.772,2831,3.831,7218,5.597,7298,8.4,7312,9.369,9465,8.864,11521,5.891,11523,7.544,11533,10.318,12048,10.318,12049,11.757,12050,8.435,12051,10.318]],["title/classes/FileSecurityCheckEntity.html",[0,0.241,11620,5.658]],["body/classes/FileSecurityCheckEntity.html",[0,0.258,2,0.786,3,0.014,4,0.014,5,0.007,7,0.104,27,0.506,29,0.568,30,0.001,31,0.418,32,0.149,33,0.516,47,0.926,83,3.541,95,0.126,96,1.943,101,0.013,103,0,104,0,112,0.784,125,2.69,129,3.731,130,3.409,153,1.953,159,0.761,190,2.258,223,4.253,224,2.156,232,2.706,402,4.344,430,4.645,431,4.841,433,0.914,435,2.557,620,7.516,886,3.576,1309,8.683,1883,2.793,2127,4.356,2128,6.828,2712,5.073,11620,8.124,11632,5.253,11634,9.935,11796,11.152,11849,8.245,11851,7.676,11852,7.496,11853,5.578,11854,7.676,11855,5.713,12052,6.893,12053,10.598,12054,10,12055,7.442,12056,7.442,12057,7.442,12058,11.185,12059,9.262,12060,7.442]],["title/interfaces/FileSecurityCheckEntityProps.html",[159,0.712,12053,6.113]],["body/interfaces/FileSecurityCheckEntityProps.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.149,33,0.614,47,1.005,83,3.19,95,0.134,96,2.209,101,0.014,103,0.001,104,0.001,112,0.853,125,2.865,153,1.76,159,0.865,161,2.015,223,4.093,224,2.451,232,2.29,402,4.724,430,3.48,431,3.627,620,7.486,886,3.445,1309,9.444,1883,3.176,2127,4.953,2128,7.429,2712,5.52,11620,6.874,11632,5.973,11634,6.342,11796,7.119,11849,8.967,11851,6.495,11852,8.156,11853,6.342,11854,8.352,11855,6.495,12052,7.837,12053,10.556,12058,12.165,12059,7.837]],["title/controllers/FileSecurityController.html",[314,2.65,12061,6.113]],["body/controllers/FileSecurityController.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,27,0.406,29,0.795,30,0.001,31,0.585,32,0.144,33,0.476,35,1.194,47,0.97,95,0.147,100,2.759,101,0.01,103,0,104,0,135,1.029,148,0.778,153,1.279,158,2.92,176,6.523,190,1.867,193,5.397,202,1.816,228,1.421,274,3.293,277,1.131,314,3.963,317,2.856,379,4.014,388,3.391,392,4.119,400,2.32,657,2.382,1316,7.328,1319,6.236,1447,5.803,3036,3.707,4401,5.105,5234,3.787,7218,5.543,7279,8.32,7640,5.244,7641,6.427,7642,4.768,7664,6.656,11634,5.93,11943,9.797,12061,9.141,12062,11.643,12063,7.911,12064,10.415,12065,10.415,12066,7.911,12067,9.43,12068,7.911,12069,7.911,12070,7.911,12071,7.911,12072,7.911,12073,11.643,12074,10.785,12075,7.911,12076,7.911,12077,7.911,12078,7.911,12079,6.943,12080,7.911,12081,7.911,12082,7.911,12083,7.911,12084,7.911,12085,7.911,12086,7.911]],["title/interfaces/FileStorageConfig.html",[159,0.712,12087,6.451]],["body/interfaces/FileStorageConfig.html",[3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,32,0.147,47,0.98,55,2.844,95,0.132,101,0.017,103,0.001,104,0.001,112,0.836,122,2.601,135,1.692,159,0.839,161,1.954,231,1.84,1318,6.296,2088,3.515,2219,3.677,2220,4.135,2221,3.992,2222,5.165,2233,4.995,2551,5.293,2831,3.283,4919,5.6,7218,3.905,7306,7.461,7307,6.148,7308,5.6,7309,5.6,7310,5.6,7311,5.6,7478,9.97,11521,5.049,12087,12.047,12088,8.202,12089,13.006,12090,13.006,12091,13.006,12092,5.293,12093,10.976,12094,9.877,12095,6.466,12096,7.199,12097,6.466,12098,8.202,12099,6.901,12100,7.597,12101,10.664,12102,8.202,12103,7.199,12104,7.597,12105,8.202,12106,8.202,12107,8.202,12108,8.202,12109,8.202,12110,8.202,12111,8.202]],["title/injectables/FileSystemAdapter.html",[589,0.926,5207,5.86]],["body/injectables/FileSystemAdapter.html",[0,0.156,3,0.008,4,0.008,5,0.012,7,0.063,8,0.795,27,0.48,29,0.868,30,0.001,31,0.639,32,0.145,33,0.52,35,1.412,36,2.688,47,1.04,95,0.115,101,0.006,103,0,104,0,112,0.546,135,1.42,148,1.072,157,2.212,277,0.645,317,2.912,329,7.153,388,4.874,403,5.996,412,2.003,414,6.73,433,1.044,589,0.925,591,1.07,640,4.284,652,1.728,657,2.361,735,3.149,890,4.751,1476,4.194,1563,4.49,1783,4.284,1784,4.679,1834,5.104,1835,3.576,2343,6.87,2356,6.107,2393,3.661,2488,3.307,2513,2.57,2588,4.382,2802,3.461,2856,5.216,2912,5.997,3102,7.079,3109,6.745,3611,3.079,3832,6.445,4214,5.486,5200,7.762,5207,5.855,5215,3.966,5222,8.824,5230,10.878,5234,3.331,5247,3.461,5256,10.106,5300,5.855,5403,6.445,12112,11.604,12113,11.604,12114,4.509,12115,8.375,12116,6.959,12117,6.959,12118,6.959,12119,8.498,12120,8.498,12121,6.959,12122,8.498,12123,8.498,12124,6.959,12125,6.959,12126,4.509,12127,5.855,12128,6.959,12129,4.509,12130,8.385,12131,10.324,12132,6.959,12133,6.107,12134,8.85,12135,11.745,12136,6.959,12137,4.509,12138,8.498,12139,4.509,12140,6.445,12141,8.498,12142,4.509,12143,7.15,12144,7.15,12145,9.554,12146,6.959,12147,4.509,12148,6.445,12149,5.342,12150,8.498,12151,4.509,12152,6.959,12153,4.509,12154,4.509,12155,6.959,12156,4.509,12157,3.461,12158,6.445,12159,4.509,12160,4.509,12161,4.509,12162,8.498,12163,4.509,12164,4.509,12165,4.509,12166,4.509,12167,4.509,12168,6.959,12169,4.509,12170,4.509,12171,3.461,12172,4.509,12173,4.509,12174,4.509]],["title/modules/FileSystemModule.html",[252,1.839,12175,6.113]],["body/modules/FileSystemModule.html",[0,0.339,3,0.018,4,0.018,5,0.011,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.395,254,3.527,255,3.744,256,3.838,257,3.824,258,3.811,259,4.671,260,4.779,269,4.671,270,3.77,271,3.693,277,1.402,5207,12.255,12112,9.081,12113,9.081,12175,12.392,12176,9.804,12177,9.804,12178,9.804,12179,9.804,12180,9.804]],["title/classes/FileUrlParams.html",[0,0.241,7274,4.833]],["body/classes/FileUrlParams.html",[0,0.472,2,0.669,3,0.012,4,0.017,5,0.008,7,0.088,26,2.502,27,0.405,30,0.001,32,0.157,33,0.409,39,1.759,47,1.018,95,0.141,99,1.277,101,0.017,103,0,104,0,110,3.609,112,0.702,122,1.856,157,1.467,159,0.648,190,1.861,195,1.393,199,4.938,200,1.939,201,4.384,202,1.455,203,6.02,205,1.292,296,3.698,298,2.752,299,4.834,300,4.322,403,3.236,855,5,856,6.27,866,5.17,886,3.286,899,2.896,1078,3.922,1080,2.197,1169,6.02,1237,1.836,1290,5.777,1291,4.201,1292,4.201,3011,4.743,3201,4.864,3933,3.001,4588,2.171,5260,7.491,6666,3.001,6847,6.414,7210,6.373,7212,4.144,7213,7.677,7218,5.369,7232,7.476,7262,4.398,7263,4.474,7264,4.474,7269,4.398,7270,8.184,7271,7.962,7272,7.962,7273,4.474,7274,6.212,7275,4.398,7276,4.474,7277,4.327,7278,6.112,7279,4.262,7280,4.327,7281,4.398,7282,4.327,7283,4.09,7284,4.474,7285,4.474,7286,4.474,7287,4.09,7288,4.09,7289,4.201,7290,4.327,7291,4.474,12181,8.952,12182,6.338,12183,6.338,12184,6.338,12185,6.338]],["title/modules/FilesModule.html",[252,1.839,9050,5.86]],["body/modules/FilesModule.html",[0,0.297,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.197,254,3.089,255,3.279,256,3.362,257,3.35,258,3.338,259,4.399,260,4.501,265,6.26,269,4.301,270,3.303,271,3.235,276,4.301,277,1.228,610,3.387,1027,2.628,2636,4.203,3036,4.024,8953,9.641,8958,11.355,8962,7.537,8984,10.964,8985,11.355,9002,7.955,9050,12.191,12186,8.588,12187,8.588,12188,8.588,12189,8.588,12190,12.563,12191,8.588]],["title/injectables/FilesRepo.html",[589,0.926,8984,5.658]],["body/injectables/FilesRepo.html",[0,0.196,3,0.01,4,0.01,5,0.005,7,0.079,8,0.942,10,3.313,12,3.731,18,4.132,26,2.598,27,0.5,29,0.96,30,0.001,31,0.706,32,0.156,33,0.574,34,1.41,35,1.407,36,2.71,40,2.735,49,3.666,55,2.407,56,2.662,58,6.996,83,2.854,95,0.137,96,2.152,97,2.279,99,1.139,101,0.007,103,0,104,0,135,1.636,148,1.052,153,1.333,205,1.68,206,2.69,224,1.637,228,1.015,231,1.423,277,0.808,317,2.961,415,3.221,433,0.694,436,3.161,532,4.841,540,2.735,589,1.096,591,1.341,657,2.226,711,3.714,728,7.114,734,3.474,735,3.731,736,4.792,759,3.372,760,3.442,761,3.406,762,3.442,763,3.921,764,3.406,765,3.442,766,3.025,771,4.063,788,3.858,1019,7.848,1826,2.904,1883,2.121,2445,4.063,2446,5.812,2450,5.928,2484,3.921,2944,4.063,3960,4.591,4703,6.449,5136,3.746,5234,5.686,5340,4.591,6892,4.338,8961,9.391,8970,7.236,8984,6.698,8989,4.755,9636,4.145,11596,4.338,11598,4.96,11618,4.96,11798,4.96,12192,5.651,12193,8.245,12194,8.245,12195,8.245,12196,5.651,12197,8.245,12198,5.651,12199,5.651,12200,8.245,12201,5.651,12202,5.651,12203,8.245,12204,5.651,12205,5.651,12206,7.637,12207,8.245,12208,5.651,12209,5.651,12210,7.236,12211,5.234,12212,5.651,12213,5.651,12214,5.651,12215,5.651,12216,5.651,12217,5.651]],["title/injectables/FilesService.html",[589,0.926,12190,6.113]],["body/injectables/FilesService.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.104,8,1.144,26,2.858,27,0.491,29,0.962,30,0.001,31,0.708,32,0.156,33,0.576,35,1.386,36,2.849,39,3.354,95,0.135,99,1.502,101,0.01,103,0,104,0,135,1.303,145,4.536,148,1.276,205,1.519,206,3.267,228,1.339,277,1.066,317,3.033,400,2.186,433,0.916,589,1.331,591,1.769,657,2.764,1019,5.469,2636,5.533,7823,6.273,8984,9.818,12190,8.788,12218,7.456,12219,10.012,12220,10.012,12221,10.012,12222,10.012,12223,7.456,12224,10.012,12225,7.456,12226,10.012,12227,7.456,12228,10.012,12229,7.456,12230,10.012,12231,7.456,12232,10.012,12233,11.193,12234,10.012,12235,7.456,12236,10.012,12237,10.012,12238,7.456]],["title/modules/FilesStorageAMQPModule.html",[252,1.839,12239,6.451]],["body/modules/FilesStorageAMQPModule.html",[0,0.315,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.283,254,3.271,255,3.473,256,3.56,257,3.547,258,3.535,259,4.517,260,3.379,265,6.353,269,4.459,270,3.497,271,3.425,276,4.459,277,1.3,314,3.461,1027,2.783,1318,6.98,3898,4.557,5234,4.353,7218,4.329,7457,8.838,12092,5.868,12239,13.362,12240,9.094,12241,9.094,12242,9.094,12243,11.523,12244,12.02,12245,8.423,12246,8.423]],["title/modules/FilesStorageApiModule.html",[252,1.839,12247,6.113]],["body/modules/FilesStorageApiModule.html",[0,0.293,3,0.016,4,0.016,5,0.008,30,0.001,95,0.154,101,0.011,103,0.001,104,0.001,252,3.178,254,3.05,255,3.238,256,3.32,257,3.308,258,3.296,259,4.372,260,3.151,269,4.266,270,3.261,271,3.194,273,5.339,274,4.535,276,4.266,277,1.213,314,3.227,1054,4.791,1318,6.509,1484,9.045,1903,9.866,3036,3.973,3898,4.249,3904,7.123,5234,4.059,7218,4.037,7457,8.68,12061,10.566,12074,12.459,12092,5.472,12243,11.317,12246,7.854,12247,12.653,12248,8.479,12249,8.479,12250,8.479,12251,12.039,12252,6.889,12253,6.509,12254,6.509]],["title/injectables/FilesStorageClientAdapterService.html",[589,0.926,7340,5.008]],["body/injectables/FilesStorageClientAdapterService.html",[0,0.234,3,0.017,4,0.013,5,0.008,7,0.094,8,1.069,26,2.618,27,0.475,29,0.93,30,0.001,31,0.684,32,0.151,33,0.556,35,1.33,36,2.783,95,0.147,99,1.361,100,2.355,101,0.009,103,0,104,0,135,1.681,148,1.14,161,1.609,193,2.946,228,1.213,277,0.966,317,2.984,388,4.011,400,1.98,433,0.83,589,1.244,591,1.602,652,1.374,657,2.652,675,3.448,871,4.267,1027,2.067,2447,3.912,2448,5.434,3282,4.541,3898,6.913,3933,3.198,5234,3.233,6665,3.668,7218,5.999,7221,5.184,7324,9.141,7326,9.757,7327,6.255,7340,6.73,7364,5.062,11790,5.682,12255,11.67,12256,6.754,12257,7.603,12258,8.214,12259,8.669,12260,8.214,12261,10.74,12262,9.757,12263,6.754,12264,9.359,12265,6.754,12266,9.359,12267,6.754,12268,9.359,12269,6.754,12270,9.359,12271,6.754,12272,6.255,12273,6.754,12274,6.754,12275,12.6,12276,6.754,12277,6.754,12278,9.359,12279,6.754,12280,6.754,12281,6.754]],["title/interfaces/FilesStorageClientConfig.html",[159,0.712,12282,5.86]],["body/interfaces/FilesStorageClientConfig.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.132,55,2.701,101,0.014,103,0.001,104,0.001,112,0.984,159,1.09,161,2.54,311,6.795,2831,4.268,3898,6.287,7218,5.077,12099,11.579,12282,10.556,12283,10.663]],["title/classes/FilesStorageClientMapper.html",[0,0.241,11790,5.86]],["body/classes/FilesStorageClientMapper.html",[0,0.209,2,0.639,3,0.011,4,0.011,5,0.005,7,0.084,8,0.99,27,0.474,29,0.928,30,0.001,31,0.719,32,0.158,33,0.556,34,1.481,35,1.395,47,0.744,95,0.123,100,3.528,101,0.008,103,0,104,0,135,1.666,148,1.3,153,1.786,161,1.441,205,2.251,467,4.09,478,1.695,579,2.473,653,4.161,871,4.064,1622,6.229,2358,5.817,2957,4.671,2959,3.978,3159,3.92,3898,6.889,3933,2.866,6666,4.102,6957,4.645,7198,4.272,7210,7.237,7217,10.536,7218,5.962,7221,8.479,7231,4.77,7239,4.536,7261,4.536,7364,9.916,10016,3.685,10933,5.311,11513,10.776,11787,11.599,11789,10.231,11790,7.289,12284,6.051,12285,8.663,12286,8.663,12287,8.663,12288,8.663,12289,8.663,12290,8.663,12291,8.663,12292,6.051,12293,8.663,12294,6.051,12295,8.663,12296,6.051,12297,8.663,12298,6.051,12299,8.663,12300,6.051,12301,8.663,12302,6.051,12303,11.046,12304,6.051,12305,6.051,12306,6.051,12307,6.051,12308,6.051,12309,6.051,12310,6.051,12311,6.051,12312,6.051,12313,6.051,12314,6.051,12315,6.051,12316,8.663,12317,6.051,12318,6.051,12319,6.051]],["title/modules/FilesStorageClientModule.html",[252,1.839,3889,5.221]],["body/modules/FilesStorageClientModule.html",[0,0.29,3,0.016,4,0.016,5,0.008,30,0.001,95,0.149,101,0.011,103,0.001,104,0.001,252,3.162,254,3.018,255,3.204,256,3.285,257,3.273,258,3.261,259,4.351,260,4.451,265,6.222,269,4.237,270,3.227,271,3.16,276,4.237,277,1.2,1027,2.568,3318,5.165,3319,4.782,3889,10.867,3898,6.003,7218,3.995,7333,12.004,7340,10.259,7352,7.772,7378,10.054,7384,7.772,12262,11.286,12272,7.772,12320,8.39,12321,8.39,12322,8.39,12323,8.39,12324,8.39,12325,7.364,12326,7.772,12327,10.024]],["title/injectables/FilesStorageConsumer.html",[589,0.926,12244,6.113]],["body/injectables/FilesStorageConsumer.html",[0,0.177,3,0.01,4,0.017,5,0.005,7,0.071,8,0.876,26,2.409,27,0.426,29,0.834,30,0.001,31,0.614,32,0.135,33,0.499,35,1.17,36,2.583,39,1.422,95,0.144,96,1.338,99,1.033,100,1.787,101,0.007,103,0,104,0,125,2.431,135,1.59,148,1.003,190,1.829,224,1.484,228,1.651,277,0.733,317,2.831,433,0.942,571,2.029,589,1.02,591,1.216,652,2.075,657,2.718,675,2.616,711,3.79,813,2.872,863,6.324,871,4.02,1027,1.568,1086,2.44,1087,2.365,1088,2.401,1089,2.553,1090,2.784,1115,4.158,1197,5.542,1272,6.425,1274,7.991,1310,3.618,1311,3.35,1723,7.54,1939,2.724,2060,3.759,2061,3.685,2447,3.842,2448,4.782,2557,3.446,2835,9.93,3011,3.505,4162,7.337,5186,4.747,7195,4.163,7199,9.852,7201,4.312,7213,6.584,7214,4.163,7218,5.459,7282,6.967,7909,6.092,8853,7.833,10016,3.121,11552,7.734,11858,6.609,12244,6.732,12257,8.29,12258,8.067,12260,8.067,12327,4.747,12328,11.466,12329,5.125,12330,9.191,12331,5.125,12332,9.648,12333,10.001,12334,5.125,12335,4.747,12336,9.451,12337,10.204,12338,5.125,12339,4.747,12340,5.125,12341,5.125,12342,5.125,12343,4.747,12344,5.125,12345,7.104,12346,10.12,12347,3.841,12348,4.747,12349,11.466,12350,4.498,12351,5.125,12352,5.125,12353,7.67,12354,5.125,12355,7.67,12356,5.125,12357,5.125,12358,7.67,12359,7.67,12360,5.125,12361,5.125,12362,5.125,12363,5.125,12364,7.67,12365,5.125,12366,5.125,12367,9.191,12368,5.125,12369,5.125]],["title/classes/FilesStorageMapper.html",[0,0.241,12350,6.113]],["body/classes/FilesStorageMapper.html",[0,0.298,2,0.633,3,0.011,4,0.011,5,0.005,7,0.084,8,0.983,27,0.473,29,0.926,30,0.001,31,0.681,32,0.158,33,0.554,35,1.39,55,2.636,56,5.182,59,2.675,70,5.581,95,0.135,101,0.008,103,0,104,0,134,2.124,135,1.625,148,1.192,153,1.884,159,0.613,205,1.222,277,0.858,326,2.282,467,4.086,579,1.712,837,2.97,863,6.067,871,3.167,1231,5.263,1232,3.479,1446,4.399,1953,7.107,2796,4.607,3555,5.485,3846,4.727,3933,2.84,4157,4.399,4588,2.054,6666,2.84,7210,6.216,7213,7.517,7218,5.946,7237,8.224,7239,7.546,7250,4.872,7255,4.872,7261,7.546,7277,7.511,7278,4.095,7280,7.953,7640,6.673,7641,9.463,7664,5.046,7734,5.046,11858,6.189,11939,9.325,11940,7.972,11944,5.555,11946,7.972,11948,5.555,11949,5.555,11950,5.263,11952,5.555,12050,7.291,12051,5.263,12350,7.554,12370,12.489,12371,5.997,12372,8.607,12373,7.242,12374,8.607,12375,8.607,12376,8.607,12377,5.997,12378,7.242,12379,5.997,12380,5.997,12381,5.997,12382,8.607,12383,5.997,12384,8.607,12385,5.997,12386,5.997,12387,5.555,12388,5.997,12389,5.997,12390,5.997,12391,5.997,12392,5.555,12393,5.997,12394,5.263,12395,5.997,12396,5.997,12397,5.997,12398,5.997,12399,4.872,12400,5.997,12401,5.997,12402,5.997,12403,5.997,12404,5.997,12405,5.997,12406,5.997,12407,5.997]],["title/modules/FilesStorageModule.html",[252,1.839,12243,5.86]],["body/modules/FilesStorageModule.html",[0,0.223,3,0.012,4,0.012,5,0.006,30,0.001,32,0.08,47,0.879,55,1.305,87,3.247,95,0.156,96,2.364,101,0.008,103,0,104,0,122,1.335,135,1.362,153,1.041,195,1.415,205,1.312,206,2.101,224,1.865,252,2.764,254,2.316,255,2.459,256,2.521,257,2.512,258,2.503,259,4.125,260,3.891,265,4.199,269,3.544,270,2.476,271,2.425,276,4.447,277,0.921,290,1.528,347,3.309,412,2.86,478,1.804,540,3.004,556,3.267,561,2.9,571,2.549,610,2.54,623,5.919,651,3.267,736,4.457,809,4.21,1011,8.474,1014,4.468,1015,4.397,1017,6.282,1021,4.155,1022,6.282,1023,6.391,1024,6.282,1025,4.155,1026,4.055,1027,1.971,1036,6.51,1040,4.468,1041,4.397,1042,4.268,1086,3.066,1087,2.972,1088,3.018,1089,3.208,1166,4.268,1167,3.964,1258,5.652,1268,3.964,1270,5.232,1272,4.055,1274,4.21,1283,4.546,1288,5.418,1318,4.943,1626,3.609,1829,2.76,2088,2.76,2219,2.887,2220,3.247,2221,3.134,2222,4.055,2636,3.152,2831,2.578,2860,4.155,2954,3.422,5123,5.965,5234,3.082,7218,3.066,7237,5.513,7269,4.468,7306,4.055,10016,3.922,11521,3.964,11643,4.63,11837,6.786,11841,4.723,11965,10.893,12243,11.681,12332,11.51,12333,11.51,12408,6.439,12409,6.439,12410,6.439,12411,6.439,12412,7.946,12413,4.63,12414,6.64,12415,6.64,12416,6.786,12417,5.652,12418,4.943,12419,6.439,12420,6.439,12421,6.439,12422,5.652,12423,6.439,12424,6.439,12425,6.439,12426,5.418,12427,4.723,12428,4.723,12429,5.232,12430,4.943,12431,5.076,12432,5.965]],["title/injectables/FilesStorageProducer.html",[589,0.926,12262,5.86]],["body/injectables/FilesStorageProducer.html",[0,0.191,3,0.01,4,0.01,5,0.005,7,0.077,8,0.926,26,2.467,27,0.487,29,0.989,30,0.001,31,0.702,32,0.16,33,0.571,35,1.396,36,2.639,47,0.866,55,1.118,95,0.136,99,1.112,101,0.007,103,0,104,0,113,4.962,135,1.377,148,1.04,158,2.991,161,1.315,193,3.534,228,1.724,231,1.398,277,0.789,317,2.928,433,0.995,436,2.836,532,2.972,569,1.715,571,2.185,589,1.077,591,1.309,634,7.062,651,2.8,652,1.123,657,2.419,871,4.689,1027,1.689,1086,2.628,1087,2.547,1088,2.586,1089,2.749,1090,2.998,1091,3.658,1094,4.137,1197,6.784,1272,3.475,1274,3.608,1297,4.484,1298,8.83,1310,3.896,1311,3.608,1723,8.012,2447,4.013,2448,4.958,3898,5.904,4162,8.98,4305,6.583,4338,4.137,7195,4.484,7199,6.388,7201,4.644,7212,6.917,7213,6.827,7214,4.484,7218,5.608,10016,3.361,12255,10.912,12257,6.583,12258,7.112,12259,7.506,12260,7.112,12262,6.818,12282,4.644,12335,7.506,12339,7.506,12343,7.506,12347,6.074,12433,5.519,12434,9.912,12435,7.112,12436,7.112,12437,5.519,12438,5.519,12439,5.519,12440,8.103,12441,5.519,12442,5.519,12443,4.844,12444,5.112,12445,4.844,12446,5.112,12447,4.844,12448,5.112,12449,5.112,12450,5.519,12451,5.519,12452,5.519,12453,5.519,12454,5.519,12455,5.519,12456,5.519,12457,5.519,12458,5.519,12459,5.519,12460,5.519,12461,5.519,12462,5.519,12463,5.519]],["title/modules/FilesStorageTestModule.html",[252,1.839,12464,6.451]],["body/modules/FilesStorageTestModule.html",[0,0.253,3,0.014,4,0.014,5,0.007,8,0.835,27,0.285,29,0.558,30,0.001,31,0.41,32,0.09,33,0.334,35,0.838,59,2.271,95,0.153,101,0.009,103,0,104,0,135,1.456,148,0.718,205,1.489,206,2.384,252,3.164,254,2.628,255,2.79,256,2.861,257,2.85,258,2.84,259,4.353,260,2.715,265,5.985,269,3.867,270,2.81,271,2.752,274,4.658,276,4.902,277,1.045,467,2.875,478,2.047,540,3.277,1016,7.131,1017,6.853,1027,2.236,1028,8.316,1029,8.419,1031,9.109,1034,5.609,1043,6.853,1045,6.458,1048,5.07,1318,7.582,1484,8.677,1856,7.354,2680,3.355,3240,3.754,3898,5.607,5202,5.158,5234,3.497,7218,4.702,7237,6.015,7457,8.327,10016,4.45,12092,4.715,12247,11.325,12464,13.351,12465,7.307,12466,7.307,12467,5.936,12468,7.307]],["title/classes/FilterImportUserParams.html",[0,0.241,12469,5.86]],["body/classes/FilterImportUserParams.html",[0,0.324,2,1.331,3,0.013,4,0.013,5,0.006,7,0.094,27,0.504,30,0.001,32,0.163,33,0.639,47,0.995,95,0.152,101,0.014,103,0,104,0,112,0.735,122,1.943,190,2.317,195,2.059,199,5.168,200,2.07,201,5.121,202,1.553,298,2.938,299,4.771,300,5.049,331,4.774,415,6.126,700,5.203,701,5.203,856,6.774,886,3.674,899,3.091,1582,6.738,2010,6.211,2531,5.052,2543,5.9,3431,6.046,3432,5.387,4703,5.648,4970,6.05,5408,4.864,6178,5.537,6317,6.731,10930,5.937,12469,7.884,12470,12.203,12471,5.692,12472,7.589,12473,7.459,12474,6.765,12475,6.765,12476,9.957,12477,6.765,12478,6.765,12479,6.765,12480,6.765,12481,6.765,12482,11.287,12483,6.765,12484,6.765,12485,6.765,12486,11.287,12487,6.765,12488,6.765,12489,9.37,12490,6.617,12491,6.765,12492,6.765]],["title/classes/FilterNewsParams.html",[0,0.241,12493,5.658]],["body/classes/FilterNewsParams.html",[0,0.368,2,0.861,3,0.015,4,0.015,5,0.007,7,0.114,27,0.46,30,0.001,32,0.146,33,0.608,34,1.816,47,0.92,95,0.139,99,1.642,101,0.01,103,0.001,104,0.001,112,0.833,122,2.202,157,3.005,190,2.118,199,5.858,200,2.495,201,4.865,202,1.872,203,7.143,299,4.158,300,4.797,304,4.037,855,4.301,886,2.581,899,3.725,1083,6.002,3011,5.72,3045,7.04,3197,5.685,3198,5.685,4905,8.078,5264,7.498,7873,7.724,7881,7.824,7882,7.72,8069,8.495,8072,9.598,8075,7.155,8078,7.551,8083,7.551,8087,7.791,8093,7.551,12493,8.629,12494,12.518,12495,7.155,12496,8.373,12497,8.937,12498,8.152,12499,8.152,12500,7.551,12501,7.498,12502,8.152]],["title/classes/FilterUserParams.html",[0,0.241,12503,5.86]],["body/classes/FilterUserParams.html",[0,0.412,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.381,30,0.001,31,0.722,32,0.121,33,0.544,47,0.875,95,0.133,101,0.013,103,0.001,104,0.001,112,0.935,130,3.224,190,1.753,200,2.993,201,4.631,202,2.246,299,4.664,300,4.565,329,7.256,700,5.766,701,5.766,856,6.623,4703,7.181,4970,5.471,12470,11.035,12471,8.229,12476,9.059,12503,10.024,12504,9.78]],["title/classes/ForbiddenLoggableException.html",[0,0.241,1957,5.49]],["body/classes/ForbiddenLoggableException.html",[0,0.295,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,8,1.25,26,2.581,27,0.426,29,0.651,30,0.001,31,0.479,32,0.149,33,0.39,35,0.979,39,3.351,47,0.887,95,0.147,99,1.719,101,0.011,103,0.001,104,0.001,135,1.11,148,0.839,183,4.611,228,2.168,231,1.888,233,2.645,242,4.503,277,1.22,339,2.502,433,1.344,652,2.456,736,6.27,801,7.489,1115,4.163,1197,4.635,1237,3.169,1422,4.834,1426,5.656,1462,4.601,1468,5.938,1477,4.357,1478,4.535,1775,6.97,1778,5.373,1957,8.624,2681,7.206,12505,12.075,12506,6.259,12507,7.904,12508,8.533,12509,6.727,12510,6.932,12511,8.533,12512,8.533,12513,8.533]],["title/classes/ForbiddenOperationError.html",[0,0.241,343,5.86]],["body/classes/ForbiddenOperationError.html",[0,0.269,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,8,1.176,27,0.522,29,0.593,30,0.001,31,0.437,32,0.172,33,0.527,35,0.891,47,0.965,55,1.575,59,3.2,95,0.115,101,0.01,103,0,104,0,112,0.808,155,3.922,190,2.291,228,2.497,231,1.776,233,2.41,277,1.112,343,8.662,402,2.796,433,0.955,436,3.88,868,5.914,871,2.86,998,5.466,1078,5.383,1080,4.553,1115,4.864,1354,8.67,1355,7.703,1356,7.547,1360,5.152,1361,4.469,1362,5.152,1363,5.152,1364,5.152,1365,5.152,1366,5.152,1367,4.785,1368,4.393,1369,6.128,1374,5.016,1796,8.662,5095,6.822,9216,6.824,12514,10.295,12515,7.773,12516,7.773,12517,7.773,12518,8.364,12519,7.2]],["title/controllers/FwuLearningContentsController.html",[314,2.65,12520,5.86]],["body/controllers/FwuLearningContentsController.html",[0,0.263,3,0.014,4,0.014,5,0.007,7,0.106,8,1.16,27,0.297,29,0.581,30,0.001,31,0.428,32,0.126,33,0.348,35,0.873,36,2.146,95,0.149,101,0.01,103,0,104,0,135,1.486,148,0.748,153,1.642,189,4.685,190,1.364,193,5.315,195,1.673,202,1.748,228,1.367,274,3.168,277,1.088,314,2.896,316,3.663,317,2.471,326,4.347,388,4.351,392,3.963,395,4.074,398,4.104,400,2.232,414,3.862,579,2.173,657,1.741,871,4.67,1268,4.685,1312,3.585,1368,4.301,1446,5.583,2219,3.412,2220,3.838,2221,3.704,2393,3.89,3240,3.911,3846,6,4259,4.456,7640,8.414,7641,6.183,7642,4.588,7658,6.183,7664,6.404,12067,8.938,12079,6.68,12520,8.541,12521,8.003,12522,10.293,12523,10.152,12524,7.611,12525,8.541,12526,7.611,12527,10.695,12528,10.152,12529,7.611,12530,9.28,12531,6.68,12532,6.68,12533,7.611,12534,7.611,12535,7.611,12536,7.611,12537,7.611,12538,7.611,12539,8.768,12540,7.611,12541,7.611,12542,7.611,12543,7.05,12544,7.05,12545,7.05,12546,6.68,12547,7.611,12548,7.05,12549,7.05,12550,7.611,12551,7.611,12552,7.611,12553,7.611,12554,7.611]],["title/modules/FwuLearningContentsModule.html",[252,1.839,12555,6.451]],["body/modules/FwuLearningContentsModule.html",[0,0.227,3,0.012,4,0.012,5,0.006,30,0.001,32,0.081,47,0.482,87,3.311,94,4.656,95,0.157,96,2.396,101,0.008,103,0,104,0,135,0.854,153,1.062,195,1.443,206,2.142,224,1.902,252,2.793,254,2.362,255,2.507,256,2.571,257,2.561,258,2.552,259,3.842,260,2.44,265,5.793,269,3.593,270,2.525,271,2.473,274,3.82,276,3.593,277,0.939,290,2.51,331,4.076,347,3.374,412,2.916,478,1.839,540,3.045,561,2.957,571,2.599,623,6,651,3.331,692,4.279,736,4.518,809,4.293,1011,8.527,1014,4.556,1015,4.483,1021,4.237,1022,6.368,1023,6.478,1024,6.368,1025,4.237,1026,4.134,1027,2.009,1036,6.599,1040,4.556,1041,4.483,1042,4.352,1054,3.71,1086,3.126,1087,3.03,1088,3.077,1089,3.271,1166,4.352,1167,4.042,1484,8.398,1626,3.68,1829,2.814,1856,7.117,2088,2.814,2680,3.015,2831,2.628,2860,4.237,2954,3.49,3904,6,5210,4.912,7306,4.134,7457,8.059,10016,3.999,11521,4.042,11643,4.721,12092,4.237,12413,8.667,12414,6.732,12415,6.732,12416,6.879,12418,5.04,12426,5.524,12427,4.816,12428,4.816,12429,5.334,12430,5.04,12431,5.176,12432,6.082,12520,8.902,12521,5.176,12522,9.502,12525,5.524,12530,10.146,12531,5.763,12532,5.763,12555,13.149,12556,6.566,12557,6.566,12558,6.566,12559,6.082,12560,6.566,12561,6.171,12562,6.082,12563,6.082,12564,6.082,12565,5.763]],["title/modules/FwuLearningContentsTestModule.html",[252,1.839,12566,6.451]],["body/modules/FwuLearningContentsTestModule.html",[0,0.227,3,0.012,4,0.012,5,0.006,8,0.749,27,0.255,29,0.5,30,0.001,31,0.368,32,0.081,33,0.299,35,0.752,59,2.037,94,4.651,95,0.157,101,0.008,103,0,104,0,135,1.375,148,0.644,206,2.139,252,3.022,254,2.358,255,2.503,256,2.566,257,2.557,258,2.548,259,4.375,260,2.436,265,5.79,269,3.589,270,2.521,271,2.469,274,4.765,276,4.716,277,0.937,290,2.175,331,4.071,467,2.668,478,1.836,540,3.041,651,3.326,692,4.274,1016,6.736,1021,4.23,1025,4.23,1026,4.128,1027,2.006,1028,7.943,1029,8.101,1031,8.811,1043,6.361,1045,5.993,1048,4.548,1054,3.704,1484,8.394,1856,7.114,2088,2.81,2680,3.01,2831,2.624,3904,5.993,5202,4.627,5210,4.907,6213,6.259,7306,4.128,7457,8.055,10016,3.992,11521,4.035,12092,4.23,12252,5.325,12413,8.662,12418,5.032,12426,5.515,12467,5.325,12520,8.894,12521,7.226,12522,10.101,12525,5.515,12530,10.141,12531,5.753,12532,5.753,12559,8.491,12561,6.164,12563,6.072,12564,6.072,12565,5.753,12566,13.277,12567,6.555,12568,6.555,12569,6.555,12570,6.555,12571,5.753,12572,4.913,12573,5.753]],["title/injectables/FwuLearningContentsUc.html",[589,0.926,12530,5.658]],["body/injectables/FwuLearningContentsUc.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.842,30,0.001,31,0.62,32,0.136,33,0.504,35,0.991,47,0.993,59,2.686,95,0.143,101,0.011,103,0.001,104,0.001,135,1.125,148,0.85,158,3.191,228,1.552,277,1.236,317,2.628,414,4.385,433,1.355,589,1.466,591,2.05,652,2.244,657,1.977,688,4.03,871,4.058,1027,2.645,1164,8.467,2447,4.61,2448,5.997,2831,3.46,3282,5.812,11521,5.321,12521,9.576,12522,10.831,12525,7.272,12530,8.961,12539,9.823,12565,7.586,12574,12.148,12575,8.643,12576,9.869,12577,9.387,12578,8.643,12579,8.643,12580,8.643,12581,8.643,12582,8.643,12583,8.643]],["title/interfaces/GetFile.html",[159,0.712,7312,4.917]],["body/interfaces/GetFile.html",[3,0.015,4,0.015,5,0.01,7,0.115,30,0.001,32,0.161,33,0.63,47,1.082,55,2.641,95,0.092,101,0.017,103,0.001,104,0.001,112,0.84,125,2.55,159,1.366,161,1.966,339,3.821,414,5.432,1302,7.245,1304,4.703,1444,4.588,2233,5.026,5234,5.125,6572,7.167,7301,6.186,7302,6.186,7303,6.505,7304,6.335,7305,6.335,7306,5.196,7307,6.186,7308,5.635,7309,5.635,7310,5.635,7311,5.635,7312,7.558,7313,7.828,7314,7.659,7315,7.659,7316,6.053,7317,8.219,7318,8.219,7319,6.186]],["title/interfaces/GetFileResponse.html",[159,0.712,12050,4.616]],["body/interfaces/GetFileResponse.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,31,0.721,32,0.17,33,0.637,47,1.073,55,2.472,95,0.136,101,0.014,103,0.001,104,0.001,112,0.87,159,1.134,161,2.077,205,1.777,339,3.764,403,4.451,837,4.317,1302,7.137,1304,4.969,6572,7.316,7218,4.151,7237,7.428,7283,7.871,7313,7.991,7314,7.818,7315,7.818,12050,7.351,12539,6.693,12584,8.075,12585,7.083,12586,7.652,12587,6.535,12588,6.395]],["title/interfaces/GetFileResponse-1.html",[159,0.592,756,2.309,12050,3.838]],["body/interfaces/GetFileResponse-1.html",[0,0.399,3,0.012,4,0.012,5,0.006,7,0.093,30,0.001,31,0.68,32,0.159,33,0.599,34,1.138,47,1.063,55,2.334,95,0.119,101,0.016,103,0,104,0,112,0.727,131,6.184,155,2.123,158,2.456,159,1.09,161,1.585,202,1.528,231,1.148,296,3.568,326,4.055,339,3.551,374,4.022,1195,3.294,1215,6.422,1240,3.931,1302,6.733,1304,3.792,1926,5.641,1927,6.228,2085,4.616,2164,3.086,2374,4.88,2393,2.549,2435,4.542,3056,3.202,3426,5.473,4190,4.474,5234,4.433,6567,8.199,6572,6.903,6581,4.696,6588,4.784,6617,3.792,6624,4.784,6625,4.784,6681,6.66,7313,7.539,7314,7.376,7315,7.376,8080,5.422,11710,5.422,12050,6.139,12589,4.35,12590,5.107,12591,7.11,12592,8.179,12593,7.11,12594,6.794,12595,7.11,12596,5.107,12597,5.107,12598,5.107,12599,5.107,12600,5.107,12601,5.107,12602,4.987,12603,6.538,12604,4.696,12605,5.107,12606,5.107,12607,4.616,12608,6.942,12609,4.88,12610,5.107,12611,5.107,12612,5.107,12613,5.107,12614,5.107,12615,7.986,12616,4.88,12617,5.107]],["title/classes/GetFwuLearningContentParams.html",[0,0.241,12527,6.113]],["body/classes/GetFwuLearningContentParams.html",[0,0.415,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,27,0.385,30,0.001,32,0.122,47,0.881,95,0.134,101,0.013,103,0.001,104,0.001,112,0.94,190,1.77,200,3.022,202,2.268,296,3.136,299,4.692,301,7.734,856,6.663,12521,9.447,12522,10.576,12527,10.519,12618,11.985,12619,9.876,12620,12.903,12621,9.876,12622,11.101,12623,11.985,12624,9.876,12625,9.876,12626,9.876]],["title/classes/GetH5PContentParams.html",[0,0.241,12627,5.221]],["body/classes/GetH5PContentParams.html",[0,0.457,2,0.776,3,0.014,4,0.014,5,0.007,7,0.102,26,2.009,27,0.386,30,0.001,32,0.123,33,0.453,47,0.971,95,0.147,99,1.48,101,0.017,103,0,104,0,112,0.778,131,5.061,158,3.66,190,1.777,200,2.248,202,1.687,205,1.497,296,3.721,298,3.19,299,4.393,300,3.799,326,4.27,478,2.058,855,5.233,856,7.185,886,3.803,899,3.357,1195,5.556,1198,7.56,1240,7.637,2164,3.408,3200,4.384,3201,5.878,3933,3.479,4582,9.549,4585,8.613,6389,5.098,6567,7.336,6617,4.187,6663,8.202,6666,3.479,8091,6.769,11710,4.301,12589,7.336,12627,7.431,12628,5.791,12629,7.347,12630,7.347,12631,7.347,12632,6.998,12633,5.507,12634,5.507,12635,5.507,12636,5.64,12637,5.791,12638,5.507,12639,5.791]],["title/classes/GetH5PEditorParams.html",[0,0.241,12634,5.221]],["body/classes/GetH5PEditorParams.html",[0,0.458,2,0.778,3,0.014,4,0.014,5,0.007,7,0.103,26,2.014,27,0.387,30,0.001,32,0.123,47,0.972,95,0.147,99,1.486,101,0.017,103,0,104,0,112,0.78,131,5.074,158,3.669,190,1.781,200,2.256,202,1.693,205,1.503,296,3.722,298,3.202,299,4.401,300,3.808,326,4.278,478,2.066,855,5.239,856,7.193,886,3.809,899,3.369,1195,5.567,1198,7.57,1240,7.646,2164,3.42,3200,4.4,3201,5.885,3933,3.492,4582,9.555,4585,8.629,6389,5.116,6567,7.35,6617,4.202,6663,8.214,6666,3.492,8091,6.785,11710,4.316,12589,7.35,12627,5.527,12628,5.813,12632,7.016,12633,5.527,12634,7.449,12635,5.527,12636,5.66,12637,5.813,12638,5.527,12639,5.813,12640,7.374,12641,6.83,12642,7.374]],["title/classes/GetH5PEditorParamsCreate.html",[0,0.241,12633,5.221]],["body/classes/GetH5PEditorParamsCreate.html",[0,0.46,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,26,2.044,27,0.294,30,0.001,32,0.093,47,0.957,95,0.148,99,1.519,101,0.017,103,0,104,0,112,0.791,131,5.15,158,3.724,190,1.352,200,2.307,202,1.731,205,1.537,296,3.733,298,3.274,299,4.451,300,3.866,326,4.326,478,2.112,855,5.273,856,7.239,886,3.844,899,3.445,1195,4.995,1198,7.627,1240,7.174,2164,3.497,3200,4.499,3201,5.93,3933,3.57,4582,9.588,4585,8.727,6567,7.433,6617,4.297,6663,8.288,6666,3.57,8091,6.888,11710,4.414,12589,6.595,12627,5.652,12628,5.944,12632,7.121,12633,7.562,12634,5.652,12635,5.652,12636,5.788,12637,5.944,12638,5.652,12639,5.944,12641,6.984,12643,7.54]],["title/interfaces/GetH5PFileResponse.html",[159,0.712,12607,4.833]],["body/interfaces/GetH5PFileResponse.html",[0,0.399,3,0.012,4,0.012,5,0.006,7,0.093,30,0.001,31,0.68,32,0.159,33,0.599,34,1.138,47,1.063,55,2.334,95,0.119,101,0.016,103,0,104,0,112,0.727,131,6.184,155,2.123,158,2.456,159,1.09,161,1.585,202,1.528,231,1.148,296,3.568,326,4.055,339,3.551,374,4.022,1195,3.294,1215,6.422,1240,3.931,1302,6.733,1304,3.792,1926,5.641,1927,6.228,2085,4.616,2164,3.086,2374,4.88,2393,2.549,2435,4.542,3056,3.202,3426,5.473,4190,4.474,5234,4.433,6567,8.199,6572,6.903,6581,4.696,6588,4.784,6617,3.792,6624,4.784,6625,4.784,6681,6.66,7313,7.539,7314,7.376,7315,7.376,8080,5.422,11710,5.422,12050,4.41,12589,4.35,12590,5.107,12591,7.11,12592,8.179,12593,7.11,12594,6.794,12595,7.11,12596,5.107,12597,5.107,12598,5.107,12599,5.107,12600,5.107,12601,5.107,12602,4.987,12603,6.538,12604,4.696,12605,5.107,12606,5.107,12607,6.427,12608,6.942,12609,4.88,12610,5.107,12611,5.107,12612,5.107,12613,5.107,12614,5.107,12615,7.986,12616,4.88,12617,5.107]],["title/interfaces/GetH5pFileResponse.html",[159,0.712,12607,4.833]],["body/interfaces/GetH5pFileResponse.html",[0,0.289,3,0.015,4,0.015,5,0.011,7,0.116,30,0.001,31,0.734,32,0.166,33,0.631,47,1.061,55,2.713,95,0.12,101,0.015,103,0.001,104,0.001,112,0.845,159,1.102,161,1.986,339,3.926,876,4.341,881,4.564,1195,4.129,1237,2.415,1302,7.444,1304,4.752,1444,4.635,2184,3.301,2328,5.25,2831,3.338,6572,7.451,7223,7.016,7253,5.693,7313,7.859,7314,7.962,7315,7.962,11516,7.016,11521,5.133,11522,7.016,11523,6.573,11524,6.774,12589,5.451,12607,7.479,12644,8.757,12645,6.401]],["title/interfaces/GetLibraryFile.html",[159,0.712,12645,5.346]],["body/interfaces/GetLibraryFile.html",[0,0.3,3,0.016,4,0.016,5,0.011,7,0.121,30,0.001,31,0.62,32,0.167,33,0.505,47,1.033,55,2.741,95,0.123,101,0.016,103,0.001,104,0.001,112,0.866,159,1.13,161,2.063,172,4.714,339,3.966,876,4.51,881,4.741,1195,4.289,1237,2.509,1302,7.52,1304,4.937,1444,4.815,2184,3.429,2328,5.454,2831,3.467,6572,7.539,7223,7.288,7253,5.914,7313,5.392,7314,8.057,7315,8.057,11516,7.288,11521,5.332,11522,7.288,11523,6.828,11524,7.037,12589,5.663,12607,6.01,12644,8.973,12645,8.479]],["title/interfaces/GetLibraryFile-1.html",[159,0.592,756,2.309,12645,4.445]],["body/interfaces/GetLibraryFile-1.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.172,33,0.541,47,0.94,55,2.77,95,0.108,101,0.012,103,0.001,104,0.001,112,0.929,159,0.991,161,2.307,172,5.054,339,3.908,876,5.043,1195,4.796,1302,7.409,1304,5.52,2328,6.099,6572,7.596,7314,8.117,7315,8.117,12645,9.091,12646,9.686,12647,9.686]],["title/classes/GetMetaTagDataBody.html",[0,0.241,12648,6.113]],["body/classes/GetMetaTagDataBody.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,106,8.095,107,7.871,110,4.501,112,0.944,190,1.783,194,3.91,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,299,4.713,2370,6.747,12648,10.566,12649,12.039,12650,9.95,12651,9.216,12652,9.95]],["title/interfaces/GlobalConstants.html",[159,0.712,12653,6.451]],["body/interfaces/GlobalConstants.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.164,33,0.604,47,1.065,95,0.105,101,0.012,103,0.001,104,0.001,110,3.288,112,0.916,135,1.519,159,0.967,161,2.253,1022,9.422,1023,9.585,1024,9.422,1928,5.589,12653,11.725,12654,9.458,12655,12.577,12656,11.671,12657,9.458,12658,11.671]],["title/classes/GlobalErrorFilter.html",[0,0.241,10028,5.86]],["body/classes/GlobalErrorFilter.html",[0,0.166,2,0.508,3,0.009,4,0.009,5,0.004,7,0.067,8,0.836,27,0.479,29,0.915,30,0.001,31,0.69,32,0.148,33,0.548,35,1.375,95,0.144,100,1.678,101,0.006,103,0,104,0,125,1.146,135,1.746,148,1.179,153,1.882,155,3.155,158,2.7,159,0.492,228,0.864,277,0.688,393,2.383,400,1.411,433,0.591,532,4.105,569,3.072,571,1.905,652,2.809,653,3.008,694,3.529,695,3.46,871,4.855,998,4.68,1027,1.472,1080,4.574,1086,2.291,1087,2.221,1088,2.255,1115,3.761,1237,2.118,1282,9.172,1312,3.445,1313,3.285,1328,5.253,1351,4.918,1354,6.223,1367,7.945,1376,4.223,1379,3.46,1422,5.013,1472,2.675,2099,7.408,2231,4.048,2447,3.057,2481,3.693,3282,3.235,4284,6.419,5095,4.223,5495,5.228,7642,2.9,9936,3.909,9983,8.316,10001,3.909,10013,3.909,10028,6.154,10053,8.316,11341,4.457,12347,6.632,12348,4.457,12659,12.524,12660,4.457,12661,8.847,12662,7.314,12663,7.314,12664,7.314,12665,7.314,12666,7.314,12667,9.883,12668,7.314,12669,4.811,12670,6.774,12671,11.636,12672,4.811,12673,7.314,12674,4.811,12675,7.314,12676,4.811,12677,7.314,12678,4.811,12679,7.314,12680,4.811,12681,7.314,12682,4.811,12683,4.811,12684,7.314,12685,4.811,12686,4.811,12687,6.154,12688,4.811,12689,4.811,12690,4.811,12691,4.811,12692,4.811,12693,4.811,12694,4.811,12695,4.811,12696,4.811,12697,4.811,12698,4.811,12699,4.811,12700,4.811,12701,4.811,12702,4.811,12703,4.811,12704,4.811,12705,4.811,12706,4.811,12707,4.811,12708,4.811,12709,7.314,12710,4.811,12711,4.811,12712,4.811,12713,7.314,12714,4.811,12715,4.811,12716,4.811,12717,4.811,12718,4.811,12719,4.811,12720,4.811,12721,4.811,12722,4.811]],["title/classes/GlobalValidationPipe.html",[0,0.241,12723,6.113]],["body/classes/GlobalValidationPipe.html",[0,0.403,2,0.837,3,0.015,4,0.015,5,0.007,27,0.309,30,0.001,32,0.144,95,0.116,100,4.486,101,0.01,103,0,104,0,112,0.622,129,3.088,130,2.822,131,4.047,153,1.282,157,1.835,190,1.869,194,3.115,195,2.902,197,2.215,200,3.191,231,1.799,233,2.457,277,1.134,296,2.074,326,3.017,338,7.174,339,2.324,365,3.52,393,3.925,412,4.632,433,1.432,525,5.466,561,3.57,567,2.955,628,4.73,807,6.085,813,4.442,875,5.182,1080,2.748,1172,7.817,1211,5.115,1214,6.957,1221,10.795,1223,5.942,1247,7.342,1268,6.42,1351,5.33,1373,7.835,1381,5.33,1388,4.73,1831,5.254,1939,4.213,2140,5.943,2234,5.412,2550,4.778,2884,5.7,3011,4.765,3612,5.052,3817,6.912,3824,5.942,5050,8.472,5927,4.934,7472,7.236,9936,6.44,10596,5.814,12723,9.153,12724,10.429,12725,7.927,12726,10.795,12727,7.927,12728,8.472,12729,7.927,12730,7.927,12731,7.927,12732,7.927,12733,6.957,12734,7.927,12735,6.957,12736,7.927,12737,7.342,12738,7.342,12739,7.927,12740,7.927]],["title/classes/GridElement.html",[0,0.241,8512,5.49]],["body/classes/GridElement.html",[0,0.178,2,0.326,3,0.006,4,0.006,5,0.003,7,0.119,8,0.587,26,2.507,27,0.487,29,0.809,30,0.001,31,0.596,32,0.156,33,0.534,34,1.87,35,1.341,39,1.425,47,0.936,55,2.478,83,0.905,95,0.073,99,0.622,101,0.013,103,0,104,0,112,0.403,122,1.908,125,2.323,129,0.914,130,1.784,135,1.73,141,3.292,145,2.883,146,2.108,148,1.307,153,1.652,155,3.663,159,0.316,172,2.191,232,1.389,242,2.71,243,1.944,277,0.442,433,0.379,435,1.764,458,3.4,459,2.656,467,3.34,569,3.697,579,1.882,595,1.171,652,2.455,756,2.629,896,1.716,1065,4.802,1170,4.837,1237,1.487,1660,4.941,1675,3.095,1842,4.457,2049,4.462,2435,2.108,2796,2.748,2911,7.322,2953,1.791,2954,1.641,2995,2.142,3056,3.697,3076,4.564,3563,2.314,3756,2.18,3907,8.929,3932,3.313,4024,7.174,4094,3.233,7403,2.598,7507,2.108,7550,3.766,7622,3.563,7853,5.33,8410,5.165,8442,2.265,8443,2.71,8445,2.71,8448,2.71,8449,2.598,8450,7.743,8452,2.434,8459,4.507,8465,2.71,8469,2.71,8472,2.71,8473,7.743,8475,9.2,8478,5.896,8480,2.71,8481,7.174,8484,2.71,8486,2.71,8488,2.71,8490,2.71,8492,2.71,8494,2.71,8497,2.71,8499,4.507,8500,2.314,8501,7.484,8502,6.741,8503,5.785,8504,7.484,8505,5.785,8506,4.507,8507,7.484,8508,4.507,8509,5.785,8510,2.71,8511,3.849,8512,9.754,8513,5.785,8514,4.507,8515,2.71,8516,4.507,8517,2.71,8518,4.507,8519,2.71,8520,4.507,8521,4.507,8522,4.507,8523,4.507,8524,4.507,8525,2.71,8526,4.507,8527,2.598,8528,4.507,8529,2.71,8530,4.507,8531,2.71,8532,2.71,8533,2.71,8534,4.507,8535,2.508,8536,2.71,8537,4.507,8538,2.71,8539,2.37,8540,2.71,8541,2.71,8542,2.71,8543,2.71,8544,2.71,8545,2.71,8546,2.71,8547,2.71,8548,2.71,8549,4.507,8550,4.507,8551,2.598,8552,5.785,8553,2.71,8554,4.507,8555,2.71,8556,2.71,8557,2.71,8558,2.71,8559,2.71,8560,2.71,8561,2.71,8562,2.71,8563,2.71,8564,2.71,8565,2.71,8566,2.71,8567,2.71,8568,2.71,8569,2.71,8570,2.71,8571,2.71,8572,2.71,8573,2.71,8574,2.71,8575,2.71,8576,2.71,8577,2.71,8578,4.507,8579,2.71,8580,2.71,8581,2.71,8582,4.507,8583,4.507,8584,2.71,8585,2.71,8586,2.71,8587,2.71,8588,2.71,8589,2.71,8590,2.71,8591,5.785,8592,2.71,8593,2.71,12741,4.756,12742,5.135,12743,5.135,12744,5.135,12745,5.135,12746,4.756,12747,4.756,12748,4.756,12749,3.088,12750,3.088,12751,3.088,12752,3.088,12753,3.088,12754,3.088,12755,2.86,12756,3.088,12757,3.088,12758,3.088,12759,3.088,12760,3.088,12761,3.088,12762,3.088,12763,3.088,12764,3.088,12765,3.088,12766,3.088,12767,3.088]],["title/classes/Group.html",[0,0.241,1065,3.429]],["body/classes/Group.html",[0,0.23,2,0.702,3,0.012,4,0.012,5,0.006,7,0.093,8,1.058,26,1.877,27,0.532,29,0.813,30,0.001,31,0.723,32,0.165,33,0.487,34,1.138,35,1.389,47,0.847,83,2.716,95,0.135,99,1.34,101,0.012,103,0,104,0,112,0.727,113,3.68,122,2.209,125,2.206,130,2.506,134,2.356,145,2.497,148,1.233,159,0.68,185,2.279,231,1.838,290,2.528,435,3.182,436,2.736,532,3.397,567,2.481,569,3.764,578,3.487,711,2.683,735,4.192,1065,5.672,1767,5.031,1770,4.848,1773,6.489,1849,3.792,1853,2.183,2688,5.839,3067,4.141,3085,4.141,3418,5.189,3419,6.162,3438,8.656,4587,8.579,4598,5.107,4625,5.598,5964,5.405,8114,6.258,10085,7.661,10123,8.784,12768,6.162,12769,9.262,12770,10.671,12771,8.844,12772,8.579,12773,10.36,12774,6.653,12775,6.653,12776,8.579,12777,6.653,12778,6.653,12779,6.653,12780,6.653,12781,6.653,12782,6.653,12783,6.653,12784,6.653,12785,6.653,12786,5.244,12787,6.653,12788,5.405,12789,5.598,12790,5.598,12791,6.162,12792,6.162,12793,6.162,12794,6.162,12795,5.839,12796,6.162,12797,6.162,12798,5.598,12799,6.162]],["title/modules/GroupApiModule.html",[252,1.839,12800,5.86]],["body/modules/GroupApiModule.html",[0,0.269,3,0.014,4,0.014,5,0.007,30,0.001,95,0.156,101,0.01,103,0,104,0,252,3.05,254,2.802,255,2.974,256,3.049,257,3.038,258,3.027,259,4.196,260,2.894,265,6.096,269,4.036,270,2.995,271,2.933,273,4.904,274,4.291,276,4.036,277,1.114,314,2.964,703,2.389,1027,2.383,1524,10.089,1525,9.45,1539,6.327,1540,5.404,1856,7.49,2070,4.199,2680,3.577,3036,3.65,3890,8.181,3900,4.11,4802,11.058,6077,8.711,9061,7.214,12800,12.287,12801,7.788,12802,7.788,12803,7.788,12804,11.058,12805,12.173,12806,7.788,12807,10.141,12808,7.788]],["title/controllers/GroupController.html",[314,2.65,12807,6.113]],["body/controllers/GroupController.html",[0,0.356,2,0.935,3,0.012,4,0.012,5,0.006,7,0.087,8,1.012,27,0.345,29,0.676,30,0.001,31,0.497,32,0.173,33,0.405,34,1.067,35,1.015,36,2.367,95,0.146,100,2.176,101,0.008,103,0,104,0,125,2.109,135,1.457,148,0.87,190,1.587,202,1.433,228,1.12,274,2.597,277,0.892,290,1.48,314,2.374,316,3.003,317,2.658,325,6.256,326,3.916,349,6.55,359,5.779,365,4.974,374,3.844,388,3.795,390,6.024,391,7.778,392,3.248,395,3.34,398,3.364,400,1.829,401,4.962,402,4.419,657,2.025,675,3.186,711,3.558,869,4.333,871,4.121,1065,5.066,1367,7.562,1368,3.526,1725,4.404,1853,2.047,2051,3.747,3036,2.924,3212,4.486,3240,3.206,4077,3.723,4701,9.83,4709,5.069,4751,8.658,4831,9.83,5102,6.143,7510,5.916,7638,5.336,8128,4.79,10857,8.36,10915,5.476,11363,9.532,12805,9.532,12807,7.77,12809,6.239,12810,10.291,12811,6.239,12812,9.83,12813,9.532,12814,6.239,12815,11.2,12816,8.854,12817,11.2,12818,6.239,12819,6.239,12820,6.239,12821,9.83,12822,6.239,12823,6.239,12824,6.239,12825,6.239,12826,6.239,12827,7.193,12828,8.658,12829,5.476,12830,6.239,12831,6.239,12832,8.201,12833,6.239,12834,6.239,12835,6.239,12836,7.77,12837,7.77,12838,6.239,12839,6.239,12840,6.239,12841,6.239,12842,6.239,12843,6.239]],["title/classes/GroupDomainMapper.html",[0,0.241,12844,6.113]],["body/classes/GroupDomainMapper.html",[0,0.187,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,8,0.91,27,0.455,29,0.892,30,0.001,31,0.697,32,0.154,33,0.534,34,1.362,35,1.34,39,1.497,48,2.527,95,0.124,96,1.408,97,2.175,101,0.01,103,0,104,0,125,2.783,135,1.648,148,1.148,153,1.805,205,2.132,290,1.89,331,3.538,435,1.853,459,2.789,467,4.027,478,1.511,692,2.514,704,4.067,1065,5.495,1078,3.49,1853,1.769,1883,2.024,2446,6.999,3418,3.588,3430,2.342,3649,7.448,4664,2.429,4768,3.251,4769,4.251,4866,7.412,5143,4.042,5210,2.887,5806,3.682,7545,7.675,9648,3.32,10085,3.878,10123,8.923,10128,9.527,10651,6.703,12771,4.14,12773,9.891,12788,9.069,12789,4.538,12790,4.538,12795,4.733,12844,6.992,12845,12.086,12846,4.995,12847,6.992,12848,7.967,12849,9.473,12850,7.967,12851,7.967,12852,7.967,12853,5.393,12854,8.5,12855,6.992,12856,5.393,12857,7.967,12858,5.393,12859,5.393,12860,5.393,12861,7.967,12862,9.78,12863,5.393,12864,7.967,12865,5.393,12866,4.381,12867,7.468,12868,5.393,12869,7.967,12870,6.703,12871,7.967,12872,6.703,12873,7.967,12874,6.703,12875,4.995,12876,5.393,12877,8.314,12878,7.967,12879,7.967,12880,5.393,12881,4.733,12882,5.393,12883,5.393,12884,5.393,12885,7.967,12886,4.995,12887,5.393,12888,5.393,12889,7.967,12890,5.393,12891,5.393,12892,5.393,12893,5.393,12894,5.393,12895,5.393,12896,5.393,12897,4.995,12898,5.393,12899,4.538,12900,4.995,12901,5.393,12902,5.393,12903,5.393,12904,5.393,12905,5.393]],["title/entities/GroupEntity.html",[205,1.419,7545,5.109]],["body/entities/GroupEntity.html",[0,0.374,3,0.013,4,0.013,5,0.006,7,0.095,26,1.91,27,0.493,30,0.001,31,0.654,32,0.168,33,0.577,34,1.167,47,0.793,95,0.144,96,1.781,99,1.375,101,0.014,103,0,104,0,112,0.739,159,0.698,190,2.266,195,2.901,196,4.194,205,1.921,206,2.226,223,3.365,224,1.976,225,3.612,229,2.691,231,1.177,232,1.846,233,2.115,458,2.721,459,4.875,628,4.071,692,5.698,886,3.687,1065,4.64,1835,4.843,2033,3.574,2109,2.989,2184,2.701,3418,5.246,4648,7.373,4654,6.147,4655,3.824,4664,3.073,4726,4.155,5727,4.394,5806,7.952,7510,3.922,7545,6.913,7553,3.855,7778,4.588,9934,4.658,10123,7.952,10128,9.635,12854,7.657,12862,9.635,12866,9.462,12867,9.635,12877,10.222,12881,5.988,12906,6.319,12907,6.822,12908,6.822,12909,6.822,12910,6.822,12911,6.822,12912,6.822,12913,6.319,12914,6.319,12915,6.319,12916,5.74,12917,6.319,12918,6.319,12919,5.543,12920,6.319,12921,6.319,12922,6.319]],["title/interfaces/GroupEntityProps.html",[159,0.712,12854,5.658]],["body/interfaces/GroupEntityProps.html",[0,0.379,3,0.013,4,0.013,5,0.006,7,0.098,26,2.389,30,0.001,31,0.694,32,0.172,33,0.607,34,2.016,47,0.867,95,0.146,96,1.834,99,1.415,101,0.014,103,0,104,0,112,0.754,159,0.718,161,1.673,195,2.591,196,3.638,205,1.96,223,2.997,224,2.035,225,3.685,229,2.771,231,1.212,232,1.901,233,2.178,458,2.802,459,4.974,628,4.192,692,5.946,886,3.472,1065,4.734,1835,3.61,2033,3.647,2109,3.078,2184,2.781,3418,5.563,4654,6.223,4655,3.937,4664,3.164,4726,4.279,5727,4.483,5806,8.432,7510,4.039,7545,5.153,7553,3.97,9934,4.797,10123,8.432,10128,10.053,12854,8.908,12862,10.053,12866,10.034,12867,10.053,12877,10.839,12881,6.166,12906,6.507,12913,6.507,12914,6.507,12915,6.507,12916,5.911,12917,6.507,12918,6.507,12919,5.707,12920,6.507,12921,6.507,12922,6.507]],["title/classes/GroupIdParams.html",[0,0.241,12821,6.113]],["body/classes/GroupIdParams.html",[0,0.419,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.392,30,0.001,32,0.124,34,2.071,47,0.89,95,0.135,101,0.013,103,0.001,104,0.001,112,0.95,190,1.801,194,4.759,195,2.661,196,3.334,197,3.385,200,3.075,202,2.307,296,3.169,855,4.904,4704,8.455,6812,8.455,8511,9.745,12821,10.63,12923,11.218,12924,9.308]],["title/modules/GroupModule.html",[252,1.839,12804,5.86]],["body/modules/GroupModule.html",[0,0.331,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.359,254,3.443,255,3.655,256,3.747,257,3.733,258,3.72,259,4.622,260,4.729,269,4.603,270,3.68,271,3.605,277,1.369,610,3.774,2636,4.684,12804,12.029,12925,9.57,12926,9.57,12927,9.57,12928,12.218,12929,11.669,12930,9.57]],["title/interfaces/GroupNameIdTuple.html",[159,0.712,12931,5.86]],["body/interfaces/GroupNameIdTuple.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,31,0.565,32,0.15,39,2.789,47,1.07,101,0.016,103,0.001,104,0.001,112,0.95,159,1.239,161,2.394,173,6.661,175,8.455,187,5.679,702,4.976,4588,3.442,6600,7.094,6686,6.89,7510,5.777,12931,10.938,12932,9.308,12933,11.845]],["title/classes/GroupPaginationParams.html",[0,0.241,12812,6.113]],["body/classes/GroupPaginationParams.html",[0,0.395,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.445,30,0.001,32,0.141,33,0.596,55,2.644,56,6.328,70,5.787,95,0.139,101,0.012,103,0.001,104,0.001,112,0.895,129,3.378,130,3.086,145,3.421,157,2.11,190,2.045,200,2.789,201,4.433,202,2.093,231,1.968,298,3.958,436,3.369,758,8.908,869,5.583,875,5.959,883,9.482,890,7.788,895,7.999,896,5.067,897,7.404,898,10.565,1476,5.493,6318,8.756,12812,10.011,12923,8.442,12934,9.114,12935,9.114]],["title/interfaces/GroupProps.html",[159,0.712,12788,5.658]],["body/interfaces/GroupProps.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.1,26,2.407,30,0.001,31,0.698,32,0.174,33,0.61,34,2.031,47,0.981,83,3.759,95,0.138,99,1.441,101,0.012,103,0,104,0,112,0.764,122,2.018,125,2.318,130,1.935,134,2.532,145,2.684,148,1.26,159,0.731,161,1.703,185,2.449,231,1.909,290,1.696,567,2.666,569,3.025,578,3.748,1065,5.448,1767,6.011,1770,3.896,1849,4.075,1853,2.346,2688,6.276,3418,5.597,3438,8.99,4625,6.016,5964,5.809,8114,5.287,10085,8.935,10123,9.347,12768,6.623,12770,6.623,12771,9.539,12772,6.623,12773,10.248,12776,6.623,12788,7.908,12789,9.995,12790,9.995,12791,6.623,12792,6.623,12793,6.623,12794,6.623,12795,6.276,12796,6.623,12797,6.623,12798,6.016,12799,6.623]],["title/injectables/GroupRepo.html",[589,0.926,12929,5.86]],["body/injectables/GroupRepo.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,10,2.92,12,3.289,18,3.642,26,2.532,27,0.452,29,0.886,30,0.001,31,0.652,32,0.148,33,0.53,34,1.683,35,1.28,36,2.723,40,3.517,47,0.647,48,4.612,59,2.259,95,0.137,96,1.246,97,1.925,99,0.961,101,0.006,103,0,104,0,125,1.731,135,1.787,142,4.04,148,1.249,153,1.934,195,1.049,197,1.334,205,2.364,206,2.371,228,0.857,277,0.682,279,1.978,290,1.132,317,2.938,400,1.399,433,0.586,435,3.381,589,0.966,591,1.132,657,2.735,704,3.71,711,3.934,1065,6.418,1770,4.467,1853,1.565,1883,1.791,2446,5.345,2455,6.434,2474,4.887,2497,6.378,2498,5.043,2511,5.904,3430,2.072,3644,3.041,3649,4.142,3707,3.576,4588,1.634,4798,5.13,6288,4.305,6895,4.962,7545,8.987,8114,5.345,9521,4.188,10085,9.705,10123,3.258,10679,4.015,10682,4.015,10687,6.115,12788,9.065,12844,4.188,12854,5.904,12866,9.426,12875,4.42,12929,6.115,12936,4.771,12937,6.731,12938,7.267,12939,7.267,12940,4.771,12941,4.771,12942,6.731,12943,4.771,12944,4.771,12945,7.267,12946,4.771,12947,7.267,12948,4.771,12949,4.771,12950,4.42,12951,4.188,12952,4.771,12953,9.841,12954,9.841,12955,9.841,12956,7.267,12957,7.267,12958,4.771,12959,7.267,12960,4.771,12961,4.771,12962,8.153,12963,4.771,12964,8.153,12965,4.42,12966,4.42,12967,4.771,12968,4.771,12969,4.771]],["title/classes/GroupResponse.html",[0,0.241,12828,5.86]],["body/classes/GroupResponse.html",[0,0.272,2,0.83,3,0.015,4,0.015,5,0.007,7,0.11,27,0.524,29,0.6,30,0.001,31,0.693,32,0.174,33,0.586,34,1.985,47,0.968,95,0.138,101,0.01,103,0,104,0,112,0.814,125,1.873,190,2.362,201,4.988,202,1.806,296,3.516,433,0.966,458,3.136,614,2.438,866,3.918,886,2.49,1065,5.715,1148,6.037,2109,3.446,2184,3.113,3200,4.693,3418,5.229,10123,7.927,10137,9.768,12771,8.912,12828,10.796,12916,6.617,12919,6.389,12970,7.865,12971,9.105,12972,10.375,12973,7.865,12974,7.865,12975,7.865,12976,11.885,12977,7.865,12978,10.386,12979,7.865,12980,7.865,12981,7.865,12982,7.865,12983,6.903,12984,6.617,12985,6.903,12986,6.903,12987,7.285,12988,7.285]],["title/classes/GroupResponseMapper.html",[0,0.241,12829,6.113]],["body/classes/GroupResponseMapper.html",[0,0.237,2,0.723,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,27,0.422,29,0.826,30,0.001,31,0.687,32,0.151,33,0.494,34,1.85,35,1.241,47,0.503,48,3.208,55,2.564,56,5.494,59,2.936,70,5.917,95,0.13,100,2.387,101,0.009,103,0,104,0,125,1.631,135,1.592,148,1.063,153,1.979,290,1.624,331,3.04,467,3.904,652,2.2,700,3.313,701,3.313,704,3.495,829,4.045,869,5.709,871,3.476,1078,2.999,1725,4.832,1853,2.246,1883,2.57,3418,3.083,4709,9.475,4712,5.76,4713,5.76,4714,4.603,4715,5.76,4737,10.296,4739,4.418,4751,10.296,4866,6.537,10085,4.922,10123,4.674,10137,7.949,10872,6.008,12771,5.255,12827,9.475,12828,10.296,12829,8.291,12870,5.76,12872,5.76,12874,5.76,12976,6.341,12978,7.949,12989,11.663,12990,10.817,12991,9.447,12992,9.447,12993,6.846,12994,6.341,12995,9.447,12996,9.447,12997,6.846,12998,6.846,12999,9.447,13000,6.846,13001,6.846,13002,6.846,13003,6.846,13004,6.846,13005,9.447,13006,6.846,13007,6.846,13008,6.846,13009,6.846,13010,6.846,13011,6.846,13012,6.846,13013,6.846,13014,6.846,13015,6.846,13016,6.846,13017,6.846,13018,6.846,13019,6.846,13020,6.846,13021,6.846,13022,6.846,13023,6.846,13024,6.846,13025,6.846,13026,6.846,13027,6.846,13028,6.846]],["title/classes/GroupRoleUnknownLoggable.html",[0,0.241,13029,6.113]],["body/classes/GroupRoleUnknownLoggable.html",[0,0.315,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,8,1.303,27,0.445,29,0.696,30,0.001,31,0.512,32,0.113,33,0.416,35,1.045,95,0.127,101,0.012,103,0.001,104,0.001,148,0.896,158,3.364,228,1.637,290,2.162,331,5.529,339,2.672,400,2.672,433,1.12,1027,2.789,1065,4.487,1115,3.468,1237,3.304,1422,4.984,1423,5.804,1426,5.794,1468,5.804,1469,6.094,1626,5.108,2617,5.673,3364,6.554,4953,6.041,10098,6.223,13029,10.011,13030,12.45,13031,9.114,13032,9.114,13033,10.599,13034,9.114,13035,10.011,13036,9.114,13037,9.114,13038,9.114,13039,9.114,13040,9.114]],["title/injectables/GroupRule.html",[589,0.926,1870,5.86]],["body/injectables/GroupRule.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.203,27,0.457,29,0.896,30,0.001,31,0.659,32,0.154,33,0.536,35,1.207,95,0.144,101,0.01,103,0,104,0,122,2.749,135,1.369,148,1.034,183,4.481,195,1.766,228,1.443,277,1.149,290,3.287,400,2.357,433,0.987,478,2.252,589,1.399,591,1.907,653,3.306,711,3.84,1065,6.746,1237,2.328,1770,5.408,1775,6.814,1801,8.162,1838,7.504,1870,8.855,1982,6.707,1986,6.478,1993,5.255,2619,6.707,3711,5.328,3714,6.791,3716,5.328,3717,6.976,3718,5.78,7003,5.674,13041,8.038,13042,8.038,13043,8.038,13044,8.038,13045,8.038,13046,10.524]],["title/classes/GroupScope.html",[0,0.241,12951,6.113]],["body/classes/GroupScope.html",[0,0.245,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,8,1.105,26,2.652,27,0.519,29,0.946,30,0.001,31,0.696,32,0.167,33,0.566,34,2.118,35,1.109,49,2.669,95,0.132,96,1.85,97,2.859,99,1.428,101,0.009,103,0,104,0,112,0.759,122,2.284,125,3.218,129,2.099,130,1.918,134,3.901,148,1.083,153,1.146,205,1.444,231,1.669,279,2.938,290,1.681,365,3.148,436,3.659,569,2.203,652,2.601,655,5.758,2479,6.509,3418,3.192,5806,4.839,6288,5.492,7007,6.413,7008,6.413,7009,6.413,7014,6.413,7015,6.413,7016,4.766,7017,4.698,7018,4.766,7019,4.766,7028,4.698,7029,6.413,7030,4.766,7031,4.698,7032,4.766,7033,4.698,7034,7.301,7545,5.199,12866,9.615,12951,8.491,13047,7.087,13048,9.675,13049,9.675,13050,8.961,13051,9.675,13052,7.087,13053,9.675,13054,7.087,13055,9.675,13056,7.087]],["title/injectables/GroupService.html",[589,0.926,12928,5.86]],["body/injectables/GroupService.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.08,8,0.956,10,3.361,12,3.786,18,4.192,26,2.741,27,0.493,29,0.965,30,0.001,31,0.71,32,0.159,33,0.578,34,1.683,35,1.415,36,2.882,40,4.048,47,0.723,48,5.061,59,1.792,95,0.138,99,1.161,101,0.007,103,0,104,0,135,1.556,142,3.564,148,1.176,153,0.932,228,1.035,277,0.824,290,1.367,317,3.057,400,1.69,433,0.708,579,1.646,589,1.112,591,1.367,657,2.822,704,2.943,711,4.093,1065,7.021,1237,1.67,1472,3.205,1853,1.891,1854,7.038,1883,2.164,2636,2.822,2680,2.647,4588,1.975,4862,3.821,4863,3.876,7510,4.809,8114,5.867,10085,9.875,12928,7.038,12929,10.064,12937,7.748,12942,7.748,13057,5.765,13058,8.365,13059,8.365,13060,8.365,13061,5.765,13062,5.765,13063,8.365,13064,5.765,13065,5.765,13066,5.765,13067,8.365,13068,5.765,13069,8.365,13070,5.765,13071,8.365,13072,5.765,13073,8.365,13074,5.765,13075,8.365,13076,5.765,13077,5.765,13078,5.765,13079,5.765,13080,8.365,13081,5.765,13082,5.765]],["title/classes/GroupUcMapper.html",[0,0.241,13083,6.451]],["body/classes/GroupUcMapper.html",[0,0.415,2,0.682,3,0.012,4,0.012,5,0.006,7,0.09,8,1.037,27,0.409,29,0.801,30,0.001,31,0.717,32,0.158,33,0.479,34,1.793,35,1.203,59,2.82,95,0.145,100,2.253,101,0.008,103,0,104,0,135,1.559,145,2.425,148,1.031,153,1.696,467,3.854,478,1.81,595,2.45,711,3.038,1065,6.604,1148,6.965,1540,4.483,1853,2.119,1883,2.425,2552,4.483,3418,2.91,3430,4.554,3470,4.224,3846,5.093,4660,5.436,4709,10.756,4712,7.634,4713,7.634,4714,7.649,4715,7.634,4716,8.404,4724,5.67,4739,6.768,4866,6.963,4870,5.984,4871,5.984,5056,3.591,8114,6.508,10123,4.411,11442,4.344,11443,4.344,12561,7.649,12827,9.734,12983,7.964,12984,5.436,12986,5.67,13083,8.404,13084,11.374,13085,6.46,13086,9.074,13087,10.488,13088,9.074,13089,9.074,13090,6.46,13091,6.46,13092,11.374,13093,11.287,13094,7.892,13095,6.46,13096,9.074,13097,11.374,13098,6.46,13099,6.46,13100,6.46,13101,6.46,13102,6.46,13103,6.46,13104,9.074,13105,6.46,13106,6.46,13107,6.46,13108,9.074,13109,6.46,13110,6.46,13111,6.46,13112,6.46,13113,6.46,13114,6.46,13115,6.46,13116,6.46,13117,6.46]],["title/classes/GroupUser.html",[0,0.241,12773,5.346]],["body/classes/GroupUser.html",[0,0.338,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,26,2.776,27,0.5,29,0.745,30,0.001,31,0.548,32,0.159,33,0.446,39,3.562,95,0.109,99,1.966,101,0.013,103,0.001,104,0.001,112,0.933,232,3.219,242,5.149,243,6.143,433,1.199,435,3.352,5143,9.62,12773,10.515,13118,13.361,13119,8.563,13120,11.896,13121,9.756,13122,8.563,13123,8.563]],["title/classes/GroupUserEntity.html",[0,0.241,12862,5.49]],["body/classes/GroupUserEntity.html",[0,0.315,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.485,29,0.694,30,0.001,31,0.511,32,0.154,33,0.415,95,0.127,96,2.374,101,0.015,103,0.001,104,0.001,112,0.893,159,0.93,190,2.042,224,2.634,232,3.082,290,3.362,331,6.295,433,1.117,435,3.124,478,2.548,2269,6.67,2712,5.779,5727,5.798,7778,7.659,8619,6.31,10090,6.539,12862,8.979,13124,10.968,13125,7.168,13126,11.441,13127,11.39,13128,9.094,13129,6.98]],["title/interfaces/GroupUserEntityProps.html",[159,0.712,13126,6.113]],["body/interfaces/GroupUserEntityProps.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.145,95,0.131,96,2.493,101,0.015,103,0.001,104,0.001,112,0.921,159,0.976,161,2.274,224,2.766,232,2.584,290,3.429,331,6.42,478,2.675,2269,7.003,2712,5.956,5727,5.927,8619,6.625,10090,6.865,12862,7.526,13124,8.033,13125,7.526,13126,11.157,13129,7.329]],["title/classes/GroupUserResponse.html",[0,0.241,12978,5.86]],["body/classes/GroupUserResponse.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,27,0.516,29,0.663,30,0.001,31,0.488,32,0.164,33,0.397,34,2.081,47,0.995,95,0.123,101,0.011,103,0.001,104,0.001,112,0.868,190,2.298,202,1.993,290,2.059,296,3.643,331,5.406,433,1.066,458,3.462,578,4.55,595,3.292,700,5.891,701,5.891,886,2.748,2269,6.367,3200,5.18,3469,5.837,3470,5.675,5056,7.359,11263,5.675,11265,5.675,12978,11.138,13130,13.534,13131,7.052,13132,9.306,13133,11.06,13134,8.681,13135,8.681,13136,8.681,13137,8.681]],["title/interfaces/GroupUsers.html",[159,0.712,13138,5.221]],["body/interfaces/GroupUsers.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.038,55,2.549,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,5.924,4996,6.367,7510,5.361,13138,8.673,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,6.99]],["title/classes/GroupValidPeriodEntity.html",[0,0.241,12867,5.49]],["body/classes/GroupValidPeriodEntity.html",[0,0.322,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.49,29,0.71,30,0.001,31,0.523,32,0.155,33,0.425,83,4.039,95,0.104,96,2.429,101,0.015,103,0.001,104,0.001,112,0.906,159,0.951,190,2.071,223,4.211,224,2.695,232,3.126,433,1.143,435,3.196,628,7.842,2712,5.862,9648,8.09,10093,8.166,10094,8.166,10095,8.166,10096,8.166,12867,9.108,13124,11.058,13152,8.618,13153,11.535,13154,11.554,13155,9.304]],["title/interfaces/GroupValidPeriodEntityProps.html",[159,0.712,13153,6.113]],["body/interfaces/GroupValidPeriodEntityProps.html",[0,0.342,3,0.018,4,0.018,5,0.009,7,0.138,30,0.001,32,0.148,83,4.184,95,0.11,96,2.578,101,0.015,103,0.001,104,0.001,112,0.94,159,1.01,161,2.353,223,4.021,224,2.861,232,2.673,628,5.893,2712,6.08,9648,8.461,10093,8.668,10094,8.668,10095,8.668,10096,8.668,12867,7.785,13124,8.31,13152,9.148,13153,11.324]],["title/interfaces/GroupfoldersCreated.html",[159,0.712,13151,5.221]],["body/interfaces/GroupfoldersCreated.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,2.249,47,1.013,55,2.74,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,5.361,13138,6.99,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,8.673]],["title/interfaces/GroupfoldersFolder.html",[159,0.712,13149,5.221]],["body/interfaces/GroupfoldersFolder.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.013,55,2.74,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,5.361,13138,6.99,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,8.673,13150,10.097,13151,6.99]],["title/classes/GuardAgainst.html",[0,0.241,13156,6.113]],["body/classes/GuardAgainst.html",[0,0.297,2,0.907,3,0.016,4,0.016,5,0.008,7,0.12,8,1.255,27,0.335,29,0.839,30,0.001,31,0.482,32,0.136,33,0.392,35,1.26,101,0.011,103,0.001,104,0.001,125,3.215,130,3.797,142,4.886,148,0.844,157,1.988,158,3.17,388,4.708,467,3.525,532,4.949,579,2.452,985,6.372,1461,8.234,1472,7.097,2389,10.372,2862,8.924,4967,8.659,9636,8.057,13156,9.641,13157,10.985,13158,8.588,13159,10.985,13160,10.985,13161,13.194,13162,8.588,13163,10.175,13164,8.432,13165,10.985]],["title/entities/H5PContent.html",[205,1.419,6667,5.221]],["body/entities/H5PContent.html",[0,0.262,3,0.009,4,0.014,5,0.005,7,0.141,26,2.394,27,0.444,30,0.001,32,0.141,47,1,49,4.451,95,0.127,96,1.976,97,2.031,99,1.014,101,0.013,103,0,104,0,112,0.594,131,5.815,148,0.894,153,1.471,155,1.607,158,2.794,159,0.515,190,2.042,195,2.972,196,4.487,205,1.542,206,1.643,223,4.428,224,1.458,225,2.9,229,1.986,231,0.869,233,1.561,433,0.619,478,1.41,703,2.322,886,2.879,1195,5.851,1198,3.035,1215,3.035,1237,1.458,1937,2.372,2164,2.335,2393,4.528,2712,3.84,2942,4.218,3056,2.423,3426,2.975,3668,3.84,3771,2.975,3933,4.307,4190,3.386,4588,3.115,4648,3.438,4654,3.994,4681,3.493,4865,4.09,5493,5.673,5788,2.869,6564,8.809,6565,9.6,6566,4.419,6567,5.946,6568,4.419,6569,4.419,6570,4.236,6571,3.386,6572,2.869,6573,4.236,6574,3.865,6575,3.865,6576,3.774,6577,3.865,6578,3.292,6579,4.419,6580,4.419,6581,3.554,6582,4.419,6583,4.419,6584,3.774,6585,3.865,6586,4.419,6587,4.419,6588,3.62,6592,6.643,6594,6.643,6597,7.764,6600,3.554,6601,3.865,6617,4.313,6618,3.693,6619,7.982,6620,3.865,6621,4.419,6622,3.865,6623,4.419,6624,3.62,6625,3.62,6626,4.419,6627,4.419,6628,3.554,6629,4.419,6630,3.865,6631,4.419,6632,3.865,6633,4.419,6634,3.865,6635,4.419,6636,3.865,6637,4.419,6638,4.419,6639,4.419,6640,4.419,6641,4.419,6642,3.865,6643,4.419,6644,4.419,6645,4.419,6646,4.419,6647,4.419,6648,4.419,6649,4.419,6650,4.419,6651,4.419,6652,4.419,6653,4.419,6654,4.419,6655,4.419,6656,4.419,6657,4.419,6658,4.419,6659,4.419,6660,4.419,6661,4.236,6662,4.419,6663,6.905,6664,6.149,6665,4.94,6666,5.394,6667,5.673,6668,4.081,6669,6.42,6670,4.09,6671,6.209,6672,3.62,6673,6.671,6674,3.774,6675,3.208,6676,3.493,6677,4.236,6678,3.62,6679,4.236,6680,3.774,6681,3.62,11827,4.663,11835,4.663,13166,5.035,13167,5.035,13168,5.035,13169,4.663,13170,5.035,13171,5.035,13172,5.035]],["title/classes/H5PContentFactory.html",[0,0.241,13173,6.451]],["body/classes/H5PContentFactory.html",[0,0.171,2,0.52,3,0.009,4,0.009,5,0.004,7,0.069,8,0.851,27,0.512,29,1.012,30,0.001,31,0.708,32,0.167,33,0.576,34,1.535,35,1.418,47,0.547,49,1.857,55,2.377,59,3.339,95,0.1,101,0.006,103,0,104,0,112,0.584,113,4.489,127,5.015,129,3.577,130,3.269,131,2.517,135,0.641,148,0.485,153,1.738,155,2.378,157,2.078,172,3.179,185,2.552,192,2.719,195,1.637,205,2.19,206,2.43,228,1.338,231,1.285,326,4.796,374,3.235,433,0.606,436,3.877,467,2.168,501,7.32,502,5.563,505,4.141,506,5.563,507,5.492,508,4.141,509,4.141,510,4.141,511,4.077,512,4.584,513,4.992,514,6.845,515,5.88,516,7.108,517,2.763,522,2.74,523,4.141,524,2.763,525,5.245,526,5.395,527,4.253,528,5.077,529,4.109,530,2.74,531,2.584,532,4.144,533,2.62,534,2.584,535,2.74,536,2.763,537,4.914,538,2.74,539,7.006,540,4.008,541,6.716,542,2.763,543,4.37,544,2.74,545,2.763,546,2.74,547,2.763,548,2.74,549,3.068,550,2.886,551,2.74,552,6.184,553,2.763,554,2.74,555,4.141,556,3.779,557,4.141,558,2.763,559,2.658,560,2.62,561,2.22,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,1.838,568,2.74,569,1.532,570,2.763,571,2.949,572,2.74,573,2.763,574,2.763,576,2.913,1198,2.971,2393,1.889,3933,2.334,4510,5.527,4588,1.688,5376,7.501,6564,6.052,6573,4.148,6576,3.695,6578,4.87,6581,3.48,6584,3.695,6600,3.48,6663,3.366,6664,4.005,6665,2.678,6666,2.334,6667,3.695,11710,2.886,12496,3.886,13173,8.317,13174,4.566,13175,4.93,13176,4.148,13177,4.566,13178,4.93,13179,4.93,13180,4.93,13181,4.93,13182,4.93,13183,4.93,13184,4.566,13185,4.93]],["title/classes/H5PContentMapper.html",[0,0.241,13186,6.451]],["body/classes/H5PContentMapper.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.144,33,0.432,35,1.085,95,0.141,101,0.012,103,0.001,104,0.001,134,3.349,135,1.519,148,0.93,153,1.887,205,1.927,277,1.352,467,3.685,579,2.7,1195,5.779,1953,8.936,2796,5.062,3555,7.438,6663,9.025,7640,8.391,12373,9.82,12378,9.82,12394,8.301,12399,7.683,13186,10.81,13187,10.81,13188,9.458,13189,9.458,13190,9.458,13191,9.458]],["title/classes/H5PContentMetadata.html",[0,0.241,12615,5.221]],["body/classes/H5PContentMetadata.html",[0,0.402,2,0.717,3,0.013,4,0.013,5,0.006,7,0.095,27,0.42,29,0.518,30,0.001,31,0.605,32,0.144,33,0.31,34,1.161,47,1.047,55,1.903,95,0.12,101,0.016,103,0,104,0,112,0.737,131,6.443,155,3.437,158,2.506,159,1.101,190,1.684,202,1.559,231,1.171,296,3.639,326,4.098,339,2.754,374,4.078,433,0.834,1195,5.755,1215,6.491,1240,4.011,1302,5.987,1304,3.868,1926,5.72,1927,6.316,2085,4.71,2164,3.148,2374,4.979,2393,2.601,2435,4.635,3056,3.267,3426,5.55,4190,4.564,5234,4.496,6567,8.621,6572,5.353,6581,7.602,6588,6.753,6617,3.868,6624,4.881,6625,4.881,6681,6.753,7313,5.846,7314,5.72,7315,5.72,8080,5.498,11710,5.498,12050,4.499,12589,7.598,12590,5.211,12591,7.21,12592,8.267,12593,7.21,12594,6.889,12595,7.21,12596,5.211,12597,5.211,12598,5.211,12599,5.211,12600,5.211,12601,5.211,12602,5.088,12603,6.63,12604,4.792,12605,5.211,12606,5.211,12607,4.71,12608,7.04,12609,4.979,12610,5.211,12611,5.211,12612,5.211,12613,5.211,12614,5.211,12615,8.711,12616,4.979,12617,5.211,13192,6.788,13193,6.788,13194,6.788]],["title/interfaces/H5PContentParentParams.html",[159,0.712,13195,6.113]],["body/interfaces/H5PContentParentParams.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,26,2.861,30,0.001,31,0.477,32,0.157,34,1.453,47,0.886,95,0.134,99,1.712,101,0.014,103,0.001,104,0.001,112,0.856,122,2.498,159,0.869,161,2.024,205,1.732,458,3.389,578,4.454,702,4.208,1195,4.208,1237,2.461,1619,5.231,2109,3.723,2164,3.941,2184,3.363,3933,6.022,4588,4.505,4665,4.974,6617,4.843,6663,8.979,6666,6.022,11267,5.801,13132,7.149,13195,10.577,13196,7.87,13197,7.87,13198,9.79,13199,7.458,13200,7.87,13201,7.87,13202,7.149,13203,7.149,13204,7.149,13205,7.149,13206,7.87,13207,7.87,13208,7.87,13209,7.87,13210,7.87,13211,7.87,13212,7.87,13213,7.87,13214,7.87,13215,7.87,13216,7.87,13217,6.369,13218,7.87,13219,7.87]],["title/interfaces/H5PContentProperties.html",[159,0.712,6664,5.658]],["body/interfaces/H5PContentProperties.html",[0,0.271,3,0.01,4,0.015,5,0.005,7,0.144,26,2.695,30,0.001,32,0.143,47,1.008,49,3.895,95,0.129,96,2.043,97,2.124,99,1.061,101,0.013,103,0,104,0,112,0.614,131,6.123,148,0.918,153,1.511,155,1.681,158,2.889,159,0.539,161,1.254,195,2.994,196,4.521,205,1.595,223,4.448,224,1.525,225,2.999,229,2.077,231,0.909,233,1.632,433,0.647,478,1.475,703,1.616,886,2.958,1195,2.607,1198,3.174,1215,3.174,1237,1.525,1937,2.48,2164,2.442,2393,4.722,2712,3.971,2942,4.333,3056,2.534,3426,3.112,3668,2.672,3771,3.112,3933,5.485,4190,3.541,4588,3.967,4654,4.131,4681,3.654,4865,4.278,5788,3.001,6564,9.409,6565,4.278,6566,4.622,6567,6.107,6568,4.622,6569,4.622,6570,4.431,6571,3.541,6572,3.001,6573,4.431,6574,4.042,6575,4.042,6576,3.947,6577,4.042,6578,3.443,6579,4.622,6580,4.622,6581,3.717,6582,4.622,6583,4.622,6584,3.947,6585,4.042,6586,4.622,6587,4.622,6588,3.786,6592,6.869,6594,6.869,6597,7.939,6600,3.717,6601,4.042,6617,4.461,6618,3.862,6619,6.869,6620,4.042,6621,4.622,6622,4.042,6623,4.622,6624,3.786,6625,3.786,6626,4.622,6627,4.622,6628,3.717,6629,4.622,6630,4.042,6631,4.622,6632,4.042,6633,4.622,6634,4.042,6635,4.622,6636,4.042,6637,4.622,6638,4.622,6639,4.622,6640,4.622,6641,4.622,6642,4.042,6643,4.622,6644,4.622,6645,4.622,6646,4.622,6647,4.622,6648,4.622,6649,4.622,6650,4.622,6651,4.622,6652,4.622,6653,4.622,6654,4.622,6655,4.622,6656,4.622,6657,4.622,6658,4.622,6659,4.622,6660,4.622,6661,4.431,6662,4.622,6663,7.546,6664,7.589,6665,6.291,6666,5.679,6667,3.947,6668,2.839,6669,3.717,6670,4.278,6671,3.595,6672,3.786,6673,3.862,6674,3.947,6675,3.356,6676,3.654,6677,4.431,6678,3.786,6679,4.431,6680,3.947,6681,3.786]],["title/injectables/H5PContentRepo.html",[589,0.926,13220,5.86]],["body/injectables/H5PContentRepo.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,10,3.787,12,4.265,18,4.723,26,2.625,27,0.515,29,0.965,30,0.001,31,0.71,32,0.156,33,0.577,34,1.612,35,1.486,36,2.867,95,0.13,99,1.375,101,0.009,103,0,104,0,135,0.888,148,1.201,205,1.921,206,3.075,231,1.626,277,0.976,317,3.06,436,3.44,532,5.025,589,1.253,591,1.618,657,1.56,728,7.514,734,3.972,735,4.265,736,5.316,756,2.721,759,4.071,760,4.155,761,4.112,762,4.155,764,4.112,765,5.74,766,3.652,771,4.906,787,5.237,1195,6.052,1240,6.882,2393,2.614,2516,5.543,6667,9.162,6899,6.319,13220,7.93,13221,12.222,13222,6.822,13223,9.425,13224,9.425,13225,11.646,13226,9.425,13227,6.822,13228,9.425,13229,6.822,13230,9.425,13231,6.822,13232,6.822,13233,9.425,13234,6.822]],["title/interfaces/H5PContentResponse.html",[159,0.712,12608,5.221]],["body/interfaces/H5PContentResponse.html",[0,0.407,3,0.013,4,0.013,5,0.006,7,0.097,30,0.001,31,0.537,32,0.157,34,1.191,47,1.05,55,1.937,95,0.122,101,0.016,103,0,104,0,112,0.75,131,6.286,155,2.223,158,2.571,159,1.116,161,1.659,172,4.08,202,1.599,231,1.202,296,3.598,326,4.84,339,2.803,374,4.151,1195,3.449,1215,7.666,1240,4.116,1302,6.068,1304,3.969,1926,5.822,1927,6.428,2085,4.832,2164,3.23,2374,5.108,2393,2.669,2435,4.755,3056,3.352,3426,5.649,4190,4.683,5234,4.576,6567,8.674,6572,5.448,6581,4.916,6588,5.008,6617,3.969,6624,5.008,6625,5.008,6681,6.874,7313,5.95,7314,5.822,7315,5.822,8080,5.596,11710,7.208,12050,4.616,12589,4.553,12590,5.346,12591,7.338,12592,8.379,12593,7.338,12594,7.012,12595,7.338,12596,5.346,12597,5.346,12598,5.346,12599,5.346,12600,5.346,12601,5.346,12602,5.22,12603,6.748,12604,4.916,12605,5.346,12606,5.346,12607,4.832,12608,8.182,12609,5.108,12610,5.346,12611,5.346,12612,5.346,12613,5.346,12614,5.346,12615,8.182,12616,5.108,12617,5.346]],["title/controllers/H5PEditorController.html",[314,2.65,13235,5.86]],["body/controllers/H5PEditorController.html",[0,0.1,3,0.005,4,0.005,5,0.009,7,0.04,8,0.557,27,0.448,29,0.877,30,0.001,31,0.667,32,0.169,33,0.525,34,0.834,35,1.317,36,1.031,47,0.656,55,1.67,59,1.516,95,0.123,100,1.013,101,0.004,103,0,104,0,135,1.567,141,2.091,148,1.149,153,1.534,158,4.058,172,3.154,189,1.788,190,2.017,193,4.665,195,1.072,202,0.667,274,1.209,277,0.415,314,1.105,316,1.398,317,2.949,325,6.708,326,4.583,333,4.97,337,4.55,339,1.85,342,3.19,349,7.114,365,4.421,374,1.261,379,5.253,388,3.532,390,2.856,391,6.373,392,1.512,393,1.438,395,1.555,398,1.566,400,0.852,401,1.628,402,3.581,467,2.398,569,0.903,652,1.283,657,2.368,756,1.946,871,4.302,876,1.512,1172,2.177,1194,6.487,1195,5.789,1208,2.549,1215,4.966,1228,6.005,1250,6.487,1312,2.298,1351,3.281,1368,1.641,2233,1.769,2328,1.829,2393,3.158,2550,5.378,2681,2.911,2953,2.83,3212,2.088,3214,5.54,3216,2.177,3217,2.177,3240,1.492,3242,1.59,3426,4.869,3846,4.973,5234,3.944,5247,2.23,5817,3.579,6558,6.487,6572,5.085,7314,6.695,7315,4.501,7465,3.508,7640,7.089,7641,2.36,7642,2.941,7658,3.964,10020,3.745,12067,8.711,12079,5.537,12543,2.69,12544,2.69,12545,4.519,12546,7.232,12548,2.69,12549,2.69,12594,4.627,12609,4.627,12616,6.044,12627,7.109,12633,5.54,12634,5.54,12635,5.54,12638,7.109,12645,3.745,13235,4.105,13236,11.692,13237,2.904,13238,4.879,13239,6.308,13240,4.879,13241,7.391,13242,4.879,13243,4.879,13244,4.879,13245,4.879,13246,6.308,13247,6.308,13248,6.308,13249,4.879,13250,2.904,13251,2.904,13252,2.904,13253,2.904,13254,4.879,13255,2.904,13256,2.904,13257,4.879,13258,2.904,13259,2.904,13260,4.879,13261,2.904,13262,2.904,13263,4.879,13264,2.904,13265,2.904,13266,2.904,13267,2.904,13268,2.904,13269,6.487,13270,4.879,13271,2.904,13272,2.904,13273,2.904,13274,2.904,13275,2.904,13276,4.879,13277,2.904,13278,2.904,13279,2.904,13280,2.904,13281,2.904,13282,4.879,13283,4.879,13284,2.904,13285,2.904,13286,2.904,13287,2.904,13288,2.904,13289,2.904,13290,2.904,13291,4.879,13292,2.904,13293,2.904,13294,4.879,13295,4.879,13296,4.879,13297,2.69,13298,5.537,13299,2.549,13300,2.904,13301,2.904,13302,2.904,13303,2.904,13304,2.904,13305,2.088,13306,2.904,13307,2.904,13308,2.904,13309,7.391,13310,2.69,13311,2.904,13312,2.904,13313,2.904,13314,2.904,13315,2.904,13316,2.904,13317,2.904,13318,4.879,13319,2.904,13320,2.904,13321,2.904,13322,2.904,13323,6.308,13324,6.308,13325,2.904,13326,2.904,13327,2.904,13328,2.549,13329,2.904,13330,4.879,13331,2.904,13332,2.904,13333,2.904,13334,2.904,13335,2.904,13336,4.879,13337,2.904,13338,4.879,13339,4.879,13340,2.904,13341,4.879,13342,2.904,13343,2.904,13344,4.879,13345,2.904,13346,2.904,13347,2.904,13348,4.282,13349,2.904,13350,4.519,13351,2.904,13352,2.904,13353,2.904,13354,2.904,13355,2.904,13356,2.904,13357,2.904,13358,2.904,13359,4.879,13360,4.879,13361,4.879,13362,4.519,13363,4.519,13364,7.391,13365,4.879,13366,4.879,13367,2.904,13368,2.904,13369,4.879,13370,2.904,13371,2.904]],["title/classes/H5PEditorModelContentResponse.html",[0,0.241,12609,5.109]],["body/classes/H5PEditorModelContentResponse.html",[0,0.388,2,0.66,3,0.012,4,0.012,5,0.006,7,0.087,27,0.493,29,0.477,30,0.001,31,0.579,32,0.156,33,0.286,34,1.069,47,1.041,55,1.796,95,0.115,101,0.016,103,0,104,0,112,0.695,131,6.454,155,1.995,158,2.307,159,1.053,190,2.203,202,1.435,231,1.529,296,3.676,326,4.503,339,2.599,374,3.849,433,0.768,436,3.042,1195,5.86,1215,6.208,1240,3.693,1302,5.726,1304,3.561,1926,5.398,1927,5.96,2085,4.336,2164,2.899,2374,4.584,2393,3.947,2435,4.267,3056,3.008,3426,5.238,4190,4.202,5234,4.243,6567,8.264,6572,5.051,6581,4.411,6588,4.493,6617,3.561,6624,4.493,6625,4.493,6681,6.373,7313,5.517,7314,5.398,7315,5.398,8080,5.188,11710,6.561,12050,4.142,12589,7.737,12590,4.797,12591,6.804,12592,9.084,12593,7.906,12594,9.016,12595,7.906,12596,4.797,12597,4.797,12598,4.797,12599,4.797,12600,4.797,12601,4.797,12602,7.72,12603,6.257,12604,7.271,12605,4.797,12606,7.906,12607,4.336,12608,8.401,12609,6.501,12610,4.797,12611,4.797,12612,4.797,12613,4.797,12614,4.797,12615,7.72,12616,4.584,12617,4.797,13348,5.485,13372,6.249,13373,6.249,13374,6.249,13375,6.249,13376,6.249,13377,6.249,13378,6.249]],["title/classes/H5PEditorModelResponse.html",[0,0.241,12594,5.109]],["body/classes/H5PEditorModelResponse.html",[0,0.399,2,0.702,3,0.012,4,0.012,5,0.006,7,0.093,27,0.449,29,0.508,30,0.001,31,0.599,32,0.15,33,0.304,34,1.138,47,1.045,55,1.877,95,0.119,101,0.016,103,0,104,0,112,0.727,131,6.184,155,2.123,158,2.456,159,1.09,190,1.91,202,1.528,231,1.148,296,3.65,326,4.055,339,2.716,374,4.022,433,0.817,1195,5.998,1215,6.422,1240,3.931,1302,5.923,1304,3.792,1926,5.641,1927,6.228,2085,4.616,2164,3.086,2374,4.88,2393,2.549,2435,4.542,3056,3.202,3426,5.473,4190,4.474,5234,4.433,6567,8.199,6572,5.278,6581,4.696,6588,4.784,6617,3.792,6624,4.784,6625,4.784,6681,6.66,7313,5.765,7314,5.641,7315,5.641,8080,5.422,11710,5.422,12050,4.41,12589,7.919,12590,5.107,12591,7.11,12592,9.297,12593,8.179,12594,7.815,12595,8.179,12596,5.107,12597,5.107,12598,5.107,12599,5.107,12600,5.107,12601,5.107,12602,7.986,12603,6.538,12604,7.521,12605,5.107,12606,8.179,12607,4.616,12608,6.942,12609,4.88,12610,5.107,12611,5.107,12612,5.107,12613,5.107,12614,5.107,12615,7.986,12616,4.88,12617,5.107,13348,5.839,13379,6.653,13380,6.653,13381,6.653,13382,6.653]],["title/modules/H5PEditorModule.html",[252,1.839,13383,5.86]],["body/modules/H5PEditorModule.html",[0,0.194,3,0.01,4,0.01,5,0.005,30,0.001,32,0.069,47,0.412,87,2.829,95,0.156,96,2.141,101,0.007,103,0,104,0,135,1.388,153,0.908,195,1.233,205,1.144,206,1.831,224,1.625,252,2.559,254,2.019,255,2.143,256,2.197,257,2.189,258,2.181,259,3.873,260,3.602,269,3.211,270,2.158,271,2.114,274,4.036,276,3.795,277,0.802,290,1.331,347,2.883,478,1.572,540,2.721,561,2.527,571,2.221,610,2.213,623,5.363,651,2.847,736,4.038,809,3.669,1011,8.091,1014,3.894,1015,3.831,1017,6.727,1021,3.621,1022,5.692,1023,5.79,1024,5.692,1025,3.621,1026,3.533,1027,1.717,1036,5.898,1040,3.894,1041,3.831,1086,2.672,1087,2.59,1088,2.63,1089,2.795,1166,3.719,1167,3.454,1195,2.779,1215,3.382,1475,3.533,1484,7.968,1626,3.145,1829,2.405,1903,8.692,1926,3.418,2088,2.405,2447,4.953,2636,2.747,2831,2.246,2860,3.621,2954,2.982,3240,2.883,3890,7.376,3900,2.962,5074,2.865,6667,6.148,7457,7.647,10016,3.418,11521,3.454,11643,4.035,11705,6.296,12092,3.621,12253,4.308,12254,4.308,12413,8.158,12414,6.017,12415,6.017,12416,6.148,12418,4.308,12427,4.116,12428,4.116,12429,4.559,13220,9.97,13235,8.157,13298,10.4,13299,4.925,13383,12.205,13384,5.612,13385,5.612,13386,5.612,13387,5.612,13388,11.217,13389,11.217,13390,9.97,13391,9.627,13392,9.97,13393,5.198,13394,5.612,13395,5.612,13396,5.612,13397,6.296,13398,4.925,13399,7.199,13400,4.925,13401,7.598,13402,7.598,13403,7.598,13404,4.925,13405,4.925]],["title/modules/H5PEditorTestModule.html",[252,1.839,13406,6.451]],["body/modules/H5PEditorTestModule.html",[0,0.2,3,0.011,4,0.011,5,0.005,8,0.662,27,0.226,29,0.442,30,0.001,31,0.325,32,0.072,33,0.265,35,0.664,59,1.799,95,0.156,101,0.007,103,0,104,0,135,1.284,148,0.569,205,1.18,206,1.889,252,2.857,254,2.083,255,2.211,256,2.267,257,2.258,258,2.25,259,4.172,260,2.151,265,5.557,269,3.285,270,2.226,271,2.181,274,4.505,276,4.498,277,0.828,314,2.203,467,2.442,478,1.622,540,2.784,610,2.283,1016,6.289,1017,5.822,1027,1.772,1028,7.509,1029,7.725,1031,8.457,1034,4.444,1043,5.822,1045,5.486,1048,4.017,1195,4.155,1215,5.058,1480,9.443,1484,8.056,1903,8.787,2636,2.834,2831,2.318,3240,2.975,3426,4.959,3890,7.457,3900,3.056,5074,2.956,5202,4.087,6667,6.29,7457,7.73,10016,3.526,11521,3.564,12092,3.736,12253,4.444,12254,4.444,12413,8.261,12467,4.704,13220,10.079,13235,8.304,13298,10.514,13299,5.081,13383,10.079,13388,10.079,13389,10.079,13390,10.079,13391,9.732,13392,10.079,13393,7.772,13398,5.081,13399,7.365,13400,5.081,13401,7.772,13402,7.772,13403,7.772,13405,5.081,13406,13.547,13407,5.79,13408,5.79,13409,5.79,13410,5.79,13411,5.081,13412,5.79]],["title/classes/H5PErrorMapper.html",[0,0.241,13413,6.451]],["body/classes/H5PErrorMapper.html",[0,0.344,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,8,1.376,27,0.388,29,0.76,30,0.001,31,0.559,32,0.123,33,0.455,35,1.141,95,0.134,101,0.013,103,0.001,104,0.001,148,0.978,153,1.609,277,1.423,711,3.75,1080,3.449,1195,5.961,2099,7.458,2164,4.615,6617,5.67,13187,11.151,13413,11.151,13414,9.95,13415,12.039,13416,12.039,13417,13.451,13418,9.95,13419,9.95,13420,9.95]],["title/modules/H5PLibraryManagementModule.html",[252,1.839,13421,6.451]],["body/modules/H5PLibraryManagementModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,135,1.527,252,3.098,254,2.891,255,3.069,256,3.147,257,3.135,258,3.124,259,4.521,260,3.911,269,4.12,270,3.091,271,3.027,274,4.381,276,4.594,277,1.149,610,3.17,651,4.078,1011,9.052,1021,5.187,1025,5.187,1026,5.061,1027,2.46,1195,3.98,2447,5.542,2831,3.218,3426,4.75,7457,8.556,8905,7.055,10016,4.895,11521,4.948,11710,6.161,12092,5.187,12413,9.292,13383,11.155,13398,7.055,13399,9.237,13405,7.055,13421,13.366,13422,8.038,13423,8.038,13424,8.038,13425,11.155,13426,8.038,13427,8.038,13428,7.445,13429,8.038]],["title/injectables/H5PLibraryManagementService.html",[589,0.926,13425,5.86]],["body/injectables/H5PLibraryManagementService.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,8,0.773,27,0.484,29,0.715,30,0.001,31,0.57,32,0.154,33,0.428,34,0.743,35,1.164,36,2.272,47,0.876,74,3.338,95,0.136,101,0.009,103,0,104,0,112,0.531,125,2.561,135,1.682,142,1.574,145,3.117,148,0.998,153,1.928,158,2.497,159,0.445,185,3.844,195,1.825,197,1.891,228,1.491,277,0.622,290,2.223,317,2.579,412,1.931,433,0.831,527,1.848,543,2.116,569,2.103,579,1.932,589,0.899,591,1.031,634,6.509,651,2.206,652,2.479,657,2.726,702,2.153,711,3.453,756,2.698,810,3.189,1195,6.242,1215,2.621,1312,2.048,1563,2.806,1619,2.676,1675,2.621,1819,3.816,1929,4.962,1939,2.311,2164,2.017,2333,2.437,2358,2.499,2393,1.666,2555,3.532,2557,2.924,2954,2.311,3426,3.998,5200,3.532,5278,5.9,6572,4.733,6617,5.34,6618,3.189,7786,3.069,8907,3.532,8918,3.816,8920,4.027,11710,8.136,11725,6.398,12115,3.338,12143,3.658,12144,3.658,12157,3.338,13176,3.658,13198,7.613,13202,3.658,13203,3.658,13204,3.658,13388,9.442,13389,9.442,13425,5.692,13430,11.064,13431,9.957,13432,7.692,13433,9.957,13434,10.395,13435,7.692,13436,6.765,13437,8.679,13438,6.765,13439,7.692,13440,4.348,13441,6.266,13442,6.266,13443,8.679,13444,4.348,13445,4.348,13446,6.266,13447,4.348,13448,4.348,13449,4.348,13450,4.348,13451,7.692,13452,8.679,13453,4.348,13454,6.266,13455,7.692,13456,4.348,13457,4.348,13458,8.679,13459,4.027,13460,7.692,13461,4.027,13462,4.027,13463,4.027,13464,3.816,13465,4.027,13466,3.658,13467,4.027,13468,4.027,13469,4.027,13470,4.027,13471,4.027,13472,8.224,13473,6.266,13474,6.266,13475,6.266,13476,4.027,13477,4.027,13478,6.266,13479,4.027,13480,6.266,13481,4.027,13482,4.027,13483,4.027,13484,6.266,13485,4.027,13486,4.027,13487,4.027,13488,4.027,13489,4.027,13490,4.027,13491,4.027,13492,4.027,13493,4.027,13494,4.027,13495,6.266,13496,4.027,13497,6.266,13498,6.266,13499,4.027,13500,4.027,13501,3.816,13502,5.938,13503,4.027,13504,4.027,13505,4.027,13506,4.027,13507,4.027,13508,6.266,13509,6.266,13510,3.658,13511,4.027,13512,4.027,13513,4.027,13514,4.027,13515,4.027,13516,6.266,13517,4.027,13518,4.027,13519,4.027]],["title/classes/H5PSaveResponse.html",[0,0.241,12616,5.109]],["body/classes/H5PSaveResponse.html",[0,0.401,2,0.711,3,0.012,4,0.012,5,0.006,7,0.094,27,0.418,29,0.514,30,0.001,31,0.602,32,0.143,33,0.308,34,1.597,47,1.05,55,1.892,95,0.119,101,0.016,103,0,104,0,112,0.732,131,6.822,155,2.148,158,2.485,159,1.096,190,1.674,202,1.545,231,1.161,296,3.607,326,4.08,339,2.738,374,4.055,433,0.827,866,3.353,1195,5.734,1215,6.462,1240,6.336,1302,5.96,1304,3.836,1926,5.687,1927,6.279,2085,4.67,2164,3.122,2374,4.937,2393,2.579,2435,6.375,3056,3.24,3426,5.518,4190,4.526,5234,4.469,6567,8.603,6572,5.321,6581,4.751,6588,4.84,6617,3.836,6624,4.84,6625,4.84,6681,6.714,7313,5.812,7314,5.687,7315,5.687,8080,5.466,11710,5.466,12050,4.461,12589,7.57,12590,5.167,12591,7.168,12592,8.23,12593,7.168,12594,6.849,12595,7.168,12596,5.167,12597,5.167,12598,5.167,12599,5.167,12600,5.167,12601,5.167,12602,5.045,12603,6.591,12604,4.751,12605,5.167,12606,5.167,12607,4.67,12608,6.999,12609,4.937,12610,5.167,12611,5.167,12612,5.167,12613,5.167,12614,5.167,12615,9.117,12616,6.849,12617,5.167,13520,6.731,13521,6.731,13522,6.731]],["title/classes/H5PTemporaryFileFactory.html",[0,0.241,13523,6.451]],["body/classes/H5PTemporaryFileFactory.html",[0,0.166,2,0.505,3,0.009,4,0.009,5,0.007,7,0.067,8,0.833,27,0.514,29,1.006,30,0.001,31,0.703,32,0.166,33,0.571,34,1.508,35,1.406,47,0.535,55,2.354,59,3.297,95,0.098,101,0.006,103,0,104,0,112,0.572,113,4.439,127,4.941,129,3.545,130,3.24,135,1.38,146,3.269,148,0.716,153,1.594,157,2.042,172,3.11,185,2.496,192,2.641,205,2.162,206,2.377,210,5.692,228,1.309,231,1.257,290,1.136,326,4.839,357,5.594,374,3.164,433,0.588,436,3.854,467,2.121,501,7.283,502,5.481,505,4.051,506,5.481,507,5.447,508,4.051,509,4.051,510,4.051,511,3.988,512,4.504,513,4.904,514,6.662,515,5.806,516,7.07,517,2.684,522,2.662,523,4.051,524,2.684,525,5.168,526,5.316,527,4.19,528,5.002,529,4.019,530,2.662,531,2.51,532,4.098,533,2.545,534,2.51,535,2.662,536,2.684,537,4.828,538,2.662,539,7.168,540,3.972,541,6.656,542,2.684,543,4.293,544,2.662,545,2.684,546,2.662,547,2.684,548,2.662,549,2.981,550,2.803,551,2.662,552,6.116,553,2.684,554,2.662,555,4.051,556,3.697,557,4.051,558,2.684,559,2.582,560,2.545,561,2.157,562,2.662,563,2.662,564,2.662,565,2.684,566,2.684,567,1.785,568,2.662,569,1.488,570,2.684,571,2.884,572,2.662,573,2.684,575,2.753,576,2.83,577,2.857,870,2.621,1743,3.443,2588,3.015,2910,3.775,5260,3.015,7765,9.826,7766,3.443,7767,5.056,7768,8.01,8964,4.435,11689,6.772,11929,6.396,13174,6.75,13176,4.029,13177,4.435,13397,3.676,13523,8.171,13524,4.789,13525,9.859,13526,4.789,13527,4.029,13528,4.029,13529,4.029,13530,4.789,13531,4.789,13532,4.029,13533,4.789]],["title/entities/H5pEditorTempFile.html",[205,1.419,13397,5.346]],["body/entities/H5pEditorTempFile.html",[0,0.259,3,0.014,4,0.014,5,0.011,7,0.104,27,0.492,30,0.001,31,0.564,32,0.156,47,0.955,55,2.295,83,3.81,95,0.126,96,1.954,101,0.013,103,0,104,0,112,0.787,159,0.765,190,2.263,205,2.046,206,2.441,210,8.385,223,4.34,224,2.168,225,3.846,229,2.951,231,1.291,233,2.32,248,5.609,414,5.092,433,0.919,478,2.096,870,7.112,1195,6.434,1215,4.511,1237,2.168,2164,3.471,2550,6.05,3426,7.844,5260,8.182,6565,10.556,6617,4.265,7245,4.829,11688,7.912,11689,9.974,11703,5.899,12130,6.568,12149,7.705,13397,7.705,13527,8.445,13532,10.933,13534,6.932,13535,7.484,13536,7.484,13537,7.484,13538,8.81,13539,9.297,13540,9.297,13541,7.484,13542,7.484,13543,8.81,13544,6.932,13545,6.932]],["title/classes/H5pFileDto.html",[0,0.241,12644,5.658]],["body/classes/H5pFileDto.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.012,7,0.118,27,0.495,29,0.646,30,0.001,31,0.738,32,0.157,33,0.387,47,1.028,55,2.573,95,0.121,101,0.015,103,0.001,104,0.001,112,0.853,159,1.113,339,3.851,433,1.039,876,4.405,881,4.631,1195,6.504,1237,3.152,1302,7.301,1304,4.822,1444,6.686,2184,3.349,2328,5.328,2831,3.387,6572,6.201,7223,7.119,7253,5.777,7313,5.267,7314,6.626,7315,6.626,11516,9.155,11521,5.209,11522,7.119,11523,6.67,11524,6.874,12589,8.587,12607,5.871,12644,10.67,12645,6.495,13546,8.461,13547,8.461,13548,8.461,13549,8.461]],["title/interfaces/HtmlMailContent.html",[159,0.712,1453,5.221]],["body/interfaces/HtmlMailContent.html",[3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,31,0.5,32,0.139,33,0.513,47,1.077,77,5.738,101,0.011,103,0.001,104,0.001,112,0.881,159,1.414,161,2.118,231,2.301,1240,5.255,1439,8.418,1440,6.826,1441,9.227,1442,8.621,1443,6.826,1444,4.943,1445,8.418,1446,6.522,1447,6.522,1448,9.692,1449,6.826,1450,8.418,1451,10.236,1452,10.236,1453,9.227,1454,6.913,1455,6.665,1456,6.665,1457,6.826,1458,6.826]],["title/classes/HydraOauthFailedLoggableException.html",[0,0.241,13550,6.451]],["body/classes/HydraOauthFailedLoggableException.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.345,27,0.459,29,0.732,30,0.001,31,0.539,32,0.119,33,0.438,35,1.1,95,0.131,101,0.012,103,0.001,104,0.001,162,8.17,231,2.031,433,1.179,436,2.834,644,7.17,1080,3.325,1422,4.713,1423,4.472,1426,5.658,1462,5.172,1465,6.657,1468,4.472,1469,4.695,1470,6.599,2082,11.177,2084,6.359,2096,11.177,9942,10.334,13550,10.906,13551,11.774,13552,8.886,13553,8.886,13554,8.886,13555,9.593]],["title/injectables/HydraOauthUc.html",[589,0.926,13556,5.86]],["body/injectables/HydraOauthUc.html",[0,0.191,3,0.01,4,0.01,5,0.005,7,0.077,8,0.927,27,0.459,29,0.808,30,0.001,31,0.595,32,0.14,33,0.484,35,1.102,36,2.491,47,1.02,55,1.947,56,2.603,59,2.521,95,0.142,100,2.829,101,0.007,103,0,104,0,112,0.636,113,3.818,122,1.146,129,2.402,130,2.195,135,1.585,145,3.045,148,0.945,153,1.554,159,0.565,195,1.215,228,2.025,277,0.79,317,2.758,333,3.716,402,3.457,433,0.996,478,1.548,571,2.188,579,2.316,589,1.078,591,1.311,610,2.18,652,2.593,657,2.857,758,5.538,837,2.737,871,2.984,998,5.339,1027,1.691,1080,3.67,1086,2.631,1087,2.551,1088,2.59,1169,3.206,1312,2.603,1422,2.212,1459,4.65,1585,6.867,1887,7.807,2084,3.663,2114,8.108,2447,4.016,2448,4.961,2848,4.49,4329,6.59,7168,4.851,7169,4.851,8170,7.613,10493,5.119,11552,4.65,13556,6.825,13557,12.18,13558,5.527,13559,9.609,13560,10.587,13561,8.111,13562,9.609,13563,8.111,13564,5.119,13565,9.291,13566,10.248,13567,5.527,13568,8.111,13569,5.527,13570,5.527,13571,5.527,13572,10.587,13573,8.111,13574,5.527,13575,5.527,13576,5.527,13577,6.825,13578,5.119,13579,6.668,13580,6.08,13581,5.527,13582,5.527,13583,9.806,13584,8.111,13585,7.513,13586,5.527,13587,5.527,13588,5.527,13589,8.111,13590,8.085,13591,5.527,13592,5.527,13593,5.527,13594,5.527,13595,5.527,13596,8.111,13597,5.119,13598,4.851,13599,4.65,13600,5.527,13601,5.527,13602,5.527,13603,5.527,13604,5.527,13605,8.111,13606,5.527,13607,5.527]],["title/classes/HydraRedirectDto.html",[0,0.241,13577,5.86]],["body/classes/HydraRedirectDto.html",[0,0.309,2,0.943,3,0.017,4,0.017,5,0.008,7,0.124,27,0.531,29,0.682,30,0.001,31,0.502,32,0.169,33,0.408,47,0.828,55,2.282,95,0.126,101,0.011,103,0.001,104,0.001,112,0.883,232,3.048,433,1.097,435,3.068,871,4.538,1104,7.256,2084,5.92,2114,8.869,4329,10.021,7166,10.378,13577,11.234,13590,10.378,13597,11.425,13598,10.826,13599,10.378,13608,8.932,13609,8.932,13610,8.932,13611,8.932,13612,8.932,13613,8.932,13614,8.932,13615,8.273,13616,8.932,13617,8.932,13618,8.932,13619,8.932,13620,8.932,13621,8.932,13622,8.932,13623,8.932,13624,8.932]],["title/injectables/HydraSsoService.html",[589,0.926,13566,5.86]],["body/injectables/HydraSsoService.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.063,8,0.8,27,0.444,29,0.836,30,0.001,31,0.615,32,0.141,33,0.5,35,1.188,36,2.607,47,1.007,95,0.148,100,1.585,101,0.006,103,0,104,0,110,1.58,112,0.549,113,3.393,125,1.083,129,1.346,130,1.23,135,1.714,148,1.018,153,1.552,228,2.048,277,0.65,279,1.884,289,2.636,317,2.613,347,2.335,365,2.018,414,2.306,433,0.86,478,1.273,569,1.413,579,1.298,589,0.931,591,1.078,619,3.268,652,2.509,657,1.601,688,2.119,756,1.812,998,2.152,1027,1.391,1053,7.787,1054,2.568,1056,2.933,1282,6.732,1312,2.141,1495,3.268,1498,3.989,1566,3.989,1593,2.798,1622,3.268,1675,2.739,1887,3.692,1926,2.768,2084,3.012,2114,3.268,2219,2.037,2220,2.291,2221,2.212,2230,3.334,2382,3.583,2383,5.374,2412,4.209,2417,3.989,2447,3.569,2448,4.496,2698,2.272,4259,2.66,4329,9.265,4981,3.334,5069,7.037,5074,2.32,5203,3.406,5204,7.037,5206,3.208,5221,4.209,5223,6.114,5225,3.692,5592,7.495,6288,2.846,6369,2.291,7166,10.164,7168,6.145,7169,6.145,7640,6.359,8165,5.248,8170,3.268,8222,4.942,8318,2.739,10475,3.012,13566,5.891,13577,8.718,13578,4.209,13579,7.19,13583,6.485,13590,9.907,13598,3.989,13599,9.209,13615,4.209,13625,4.545,13626,7.001,13627,7.001,13628,7.001,13629,7.001,13630,4.545,13631,7.495,13632,4.545,13633,7.001,13634,7.001,13635,4.545,13636,7.001,13637,4.545,13638,7.001,13639,4.545,13640,2.862,13641,7.001,13642,4.545,13643,4.545,13644,7.001,13645,4.545,13646,4.545,13647,4.545,13648,3.489,13649,6.145,13650,3.824,13651,4.545,13652,4.545,13653,3.406,13654,3.406,13655,3.334,13656,3.406,13657,4.545,13658,4.545,13659,4.545,13660,4.545,13661,7.001,13662,4.545,13663,4.545,13664,4.545,13665,4.545,13666,7.001,13667,4.545,13668,4.545,13669,3.824,13670,4.545,13671,4.545,13672,8.072,13673,4.545,13674,4.545,13675,4.545,13676,7.001,13677,4.545,13678,4.545,13679,4.545,13680,7.001,13681,4.545,13682,4.545,13683,4.545,13684,4.545,13685,4.545,13686,4.545,13687,4.545,13688,4.545,13689,4.545,13690,4.545,13691,4.545,13692,4.545,13693,4.545,13694,7.001,13695,4.545,13696,4.545,13697,4.545,13698,7.001,13699,4.545,13700,3.056,13701,4.545,13702,4.545,13703,2.971,13704,3.824,13705,3.056,13706,4.545,13707,4.545,13708,3.056,13709,4.545,13710,4.545,13711,2.798,13712,4.545,13713,4.545,13714,3.583,13715,3.012,13716,4.545,13717,4.545,13718,4.545]],["title/interfaces/IBbbSettings.html",[159,0.712,2337,5.658]],["body/interfaces/IBbbSettings.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,47,1.06,101,0.016,103,0.001,104,0.001,112,0.954,135,1.317,159,1.035,161,2.412,1282,10.666,2138,5.344,2334,10.992,2335,11.875,2337,9.884,2340,8.887,13719,10.125,13720,8.887,13721,10.125]],["title/interfaces/ICommonCartridgeFileBuilder.html",[159,0.712,5848,5.658]],["body/interfaces/ICommonCartridgeFileBuilder.html",[0,0.297,3,0.011,4,0.011,5,0.01,7,0.083,8,0.979,27,0.391,29,0.654,30,0.001,31,0.481,32,0.124,33,0.392,35,1.151,36,2.121,47,0.806,95,0.139,101,0.014,103,0,104,0,135,1.574,148,1.189,153,2.132,155,2.735,159,0.876,161,1.42,228,2.291,317,1.29,400,1.748,433,0.732,435,3.447,507,5.161,540,1.978,652,2.536,1211,3.847,1237,2.482,1396,5.53,1835,4.404,2049,4.094,2203,6.56,3521,5.53,5730,7.172,5731,7.172,5734,6.65,5735,8.181,5751,4.699,5752,4.432,5753,5.947,5763,9.57,5776,6.803,5781,6.756,5783,6.756,5791,6.962,5795,7.079,5797,4.843,5806,5.851,5847,5.016,5848,9.83,5849,7.909,5850,6.579,5851,7.211,5852,7.938,5853,7.938,5855,7.211,5859,8.442,5861,8.442,5862,9.83,5864,10.128,5865,8.442,5868,4.843,5869,4.843,5870,4.576,5871,4.07,5872,4.287,5873,6.756,5874,6.962,5875,4.699,5876,4.699,5877,6.162,5878,7.211,5879,4.843,5880,5.016,5881,5.016,5882,5.016,5883,9.23,5884,5.016,5885,7.211,5886,5.016,5887,5.016,5888,7.211,5889,5.016,5890,5.016,5891,5.016,5892,5.016,5893,5.016,5894,5.016,5895,5.016,5896,5.016,5897,5.016,5898,5.016,5899,5.016,5900,4.843,5901,5.016,5902,5.016,5903,5.016,5904,5.016,5905,5.016,5906,5.016,5907,5.016,5908,5.016,13722,5.961,13723,5.961,13724,5.961]],["title/interfaces/ICommonCartridgeOrganizationBuilder.html",[159,0.712,5864,5.658]],["body/interfaces/ICommonCartridgeOrganizationBuilder.html",[0,0.307,3,0.012,4,0.012,5,0.009,7,0.087,8,1.014,27,0.244,29,0.478,30,0.001,31,0.352,32,0.11,33,0.286,35,0.718,36,1.875,47,0.824,95,0.141,101,0.014,103,0,104,0,135,1.6,148,1.209,153,2.155,155,2.832,159,0.907,161,1.491,228,2.32,317,1.354,400,1.835,433,0.769,435,3.048,507,3.941,540,2.077,652,2.572,1211,4.039,1237,2.57,1396,5.726,1835,4.559,2049,4.206,2203,6.74,3521,5.726,5730,5.801,5731,5.801,5734,6.833,5735,7.963,5751,4.934,5752,4.589,5753,6.157,5763,9.707,5776,6.931,5781,6.995,5783,6.995,5791,7.209,5795,7.237,5797,5.085,5806,6.058,5847,5.266,5848,9.111,5849,8.126,5850,6.811,5851,7.466,5855,7.466,5859,8.673,5861,7.466,5862,9.111,5864,10.497,5865,7.466,5868,5.085,5869,5.085,5870,4.804,5871,4.273,5872,4.5,5873,6.995,5874,7.209,5875,4.934,5876,4.934,5877,6.38,5878,8.673,5879,5.085,5880,5.266,5881,5.266,5882,5.266,5883,9.436,5884,5.266,5885,7.466,5886,5.266,5887,5.266,5888,7.466,5889,5.266,5890,5.266,5891,5.266,5892,5.266,5893,5.266,5894,5.266,5895,5.266,5896,5.266,5897,5.266,5898,5.266,5899,5.266,5900,5.085,5901,5.266,5902,5.266,5903,5.266,5904,5.266,5905,5.266,5906,5.266,5907,5.266,5908,5.266,6011,8.219,13725,6.259]],["title/interfaces/ICurrentUser.html",[159,0.712,325,3.449]],["body/interfaces/ICurrentUser.html",[3,0.014,4,0.014,5,0.007,7,0.107,26,2.956,30,0.001,32,0.165,33,0.559,34,2.091,39,3.395,48,5.732,85,8.225,94,5.183,95,0.086,99,1.548,101,0.01,103,0,104,0,112,0.801,122,2.714,159,0.786,161,1.83,180,4.379,195,2.877,290,3.341,325,5.059,331,4.537,358,8.3,413,6.222,614,3.792,615,6.222,1092,6.87,1470,5.726,2530,7.212,2550,6.158,2834,6.772,3418,5.897,3430,4.436,3436,6.285,4588,4.484,5805,6.679,8057,10.292,8058,8.966,8138,11.33,13726,7.684,13727,10.216,13728,6.772]],["title/interfaces/IDashboardRepo.html",[159,0.712,8792,5.658]],["body/interfaces/IDashboardRepo.html",[0,0.318,3,0.012,4,0.012,5,0.006,7,0.092,8,1.05,9,3.05,26,2.822,27,0.447,29,0.875,30,0.001,31,0.644,32,0.142,33,0.524,34,1.571,35,1.315,36,2.976,39,3.468,49,2.477,95,0.134,96,1.717,97,2.653,99,1.325,101,0.012,103,0,104,0,113,2.613,135,1.752,148,1.261,153,1.064,159,0.673,161,1.567,205,1.34,228,1.65,277,0.94,290,2.18,317,2.609,478,1.842,561,2.962,589,1.221,657,2.933,675,3.358,728,3.815,1237,1.905,1829,2.819,2446,4.991,2484,4.563,3649,3.748,7853,4.563,8401,7.963,8442,9.165,8478,7.053,8605,4.93,8685,7.243,8707,8.064,8766,5.772,8770,5.048,8771,6.092,8772,8.064,8773,8.51,8774,8.064,8775,8.51,8777,9.294,8779,9.808,8781,9.294,8783,6.092,8785,9.808,8787,6.092,8788,6.092,8789,8.51,8790,6.092,8791,5.772,8792,8.603,8793,4.93,8794,8.51,8795,6.092,8796,8.51,8797,6.092,8798,9.808,8799,6.092,8800,8.51,8801,6.092,8802,6.092,8803,6.092,13729,6.577,13730,6.577,13731,6.577,13732,6.577]],["title/interfaces/IEntity.html",[159,0.712,2536,5.49]],["body/interfaces/IEntity.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.147,34,2.285,47,0.943,49,5.032,83,3.488,95,0.133,96,2.547,97,3.935,101,0.016,103,0.001,104,0.001,112,0.933,159,1.312,161,2.324,231,2.053,430,4.013,431,4.182,692,5.546,703,2.993,789,7.313,2536,10.532,7549,6.006,9933,8.563,9934,6.661,9935,8.209]],["title/interfaces/IEntityWithTimestamps.html",[159,0.712,9935,5.86]],["body/interfaces/IEntityWithTimestamps.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.147,34,1.66,47,0.713,49,4.467,83,4.081,95,0.132,96,2.535,97,3.916,101,0.016,103,0.001,104,0.001,112,0.93,159,1.31,161,2.313,231,2.21,430,5.486,431,5.717,692,5.53,703,2.979,789,5.314,2536,10.515,7549,5.977,9933,8.521,9934,6.629,9935,9.98]],["title/interfaces/IError.html",[159,0.712,10013,5.658]],["body/interfaces/IError.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,33,0.556,47,0.958,55,2.643,101,0.016,103,0.001,104,0.001,112,0.954,159,1.244,161,2.412,231,2.099,402,4.867,532,3.713,1080,4.521,1115,5.267,10013,10.596,12347,7.59,13733,8.887,13734,9.379]],["title/interfaces/IFindOptions.html",[159,0.712,7924,4.287]],["body/interfaces/IFindOptions.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.159,33,0.611,55,2.414,56,4.607,70,4.962,101,0.017,103,0.001,104,0.001,112,0.935,127,4.901,159,1.218,161,2.33,770,6.158,886,3.097,2232,7.621,2618,8.584,3977,10.024,5340,9.679,7638,8.585,7924,7.334,10858,10.541,13735,9.059]],["title/interfaces/IGridElement.html",[159,0.712,8475,5.86]],["body/interfaces/IGridElement.html",[0,0.197,3,0.006,4,0.006,5,0.003,7,0.127,8,0.649,26,2.364,27,0.401,29,0.632,30,0.001,31,0.465,32,0.144,33,0.378,34,1.669,35,1.18,39,1.576,47,0.915,55,2.551,83,1.023,95,0.08,99,0.703,101,0.014,103,0,104,0,112,0.445,122,2.024,125,1.971,130,1.537,135,1.763,141,3.547,145,3.106,146,2.383,148,1.332,153,1.734,155,3.284,159,0.357,161,0.831,232,0.944,242,2.997,243,2.198,277,0.499,435,1.199,458,3.632,459,2.937,467,2.409,527,3.516,569,3.818,579,2.05,595,1.324,652,2.42,756,2.864,896,1.94,1065,4.483,1170,5.21,1237,1.011,1660,5.382,1675,3.423,1842,3.781,2049,4.652,2435,2.383,2796,3.04,2911,7.018,2953,2.024,2954,1.855,2995,2.422,3056,3.982,3076,4.875,3563,2.616,3756,2.464,3907,8.78,3932,3.665,4024,7.662,4094,3.576,7403,2.936,7507,2.383,7550,4.166,7622,3.941,7853,5.742,8410,5.564,8442,2.56,8443,3.063,8445,3.063,8448,3.063,8449,2.936,8450,8.213,8452,2.751,8459,4.985,8465,3.063,8469,3.063,8472,3.063,8473,8.213,8475,9.592,8478,6.352,8480,3.063,8481,7.662,8484,3.063,8486,3.063,8488,3.063,8490,3.063,8492,3.063,8494,3.063,8497,3.063,8499,4.985,8500,2.616,8501,7.993,8502,7.262,8503,4.985,8504,7.993,8505,6.302,8506,4.985,8507,7.993,8508,4.985,8509,6.302,8510,3.063,8511,4.257,8512,9.381,8513,3.063,8514,4.985,8515,3.063,8516,4.985,8517,3.063,8518,4.985,8519,3.063,8520,3.063,8521,3.063,8522,3.063,8523,3.063,8524,4.985,8525,3.063,8526,4.985,8527,2.936,8528,4.985,8529,3.063,8530,4.985,8531,3.063,8532,3.063,8533,3.063,8534,4.985,8535,2.835,8536,3.063,8537,4.985,8538,3.063,8539,2.679,8540,3.063,8541,3.063,8542,3.063,8543,3.063,8544,3.063,8545,3.063,8546,3.063,8547,3.063,8548,3.063,8549,4.985,8550,4.985,8551,2.936,8552,6.302,8553,3.063,8554,4.985,8555,3.063,8556,3.063,8557,3.063,8558,3.063,8559,3.063,8560,3.063,8561,3.063,8562,3.063,8563,3.063,8564,3.063,8565,3.063,8566,3.063,8567,3.063,8568,3.063,8569,3.063,8570,3.063,8571,3.063,8572,3.063,8573,3.063,8574,3.063,8575,3.063,8576,3.063,8577,3.063,8578,4.985,8579,3.063,8580,3.063,8581,3.063,8582,4.985,8583,4.985,8584,3.063,8585,3.063,8586,3.063,8587,3.063,8588,3.063,8589,3.063,8590,3.063,8591,6.302,8592,3.063,8593,3.063,12741,5.26,12746,5.26,12747,5.26,12748,5.26,12755,3.233,13736,3.49,13737,3.49,13738,3.49,13739,3.49,13740,3.49,13741,3.49,13742,3.49]],["title/interfaces/IH5PLibraryManagementConfig.html",[159,0.712,13466,5.86]],["body/interfaces/IH5PLibraryManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.124,47,0.992,95,0.112,101,0.017,103,0.001,104,0.001,112,0.95,135,1.576,159,1.028,161,2.394,1195,4.976,2088,5.191,2219,4.505,2220,5.067,2221,4.891,2222,6.328,11710,7.09,13428,9.308,13430,8.82,13466,10.938,13743,9.308,13744,13.812,13745,10.049]],["title/interfaces/IImportUserScope.html",[159,0.712,13746,5.658]],["body/interfaces/IImportUserScope.html",[2,1.34,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,31,0.475,32,0.171,33,0.659,47,1.055,95,0.094,101,0.015,103,0.001,104,0.001,112,0.853,122,2.493,159,1.113,161,2.015,301,8.193,331,5.638,415,4.822,700,6.356,701,6.356,886,2.679,1582,7.824,2010,7.212,4703,5.1,5408,6.084,7553,4.781,12472,8.962,12473,8.809,12490,5.209,13746,8.84,13747,7.837,13748,10.682,13749,10.008,13750,7.837,13751,6.874]],["title/interfaces/IKeycloakConfigurationInputFiles.html",[159,0.712,13752,5.86]],["body/interfaces/IKeycloakConfigurationInputFiles.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,47,1.036,101,0.016,103,0.001,104,0.001,112,0.963,135,1.338,159,1.051,161,2.449,2219,4.609,2358,5.91,4887,6.018,4888,6.399,13752,10.33,13753,10.281,13754,10.281,13755,12.596,13756,12.596,13757,9.023,13758,10.281]],["title/interfaces/IKeycloakSettings.html",[159,0.712,13759,5.86]],["body/interfaces/IKeycloakSettings.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.172,47,1.068,51,4.628,87,5.945,101,0.015,103,0.001,104,0.001,112,0.925,135,1.251,159,0.983,161,2.291,172,5.032,2333,7.451,4887,5.629,4888,5.986,6369,6.879,9033,9.965,13703,6.287,13720,8.44,13759,9.921,13760,9.616,13761,11.186,13762,8.091,13763,9.616]],["title/interfaces/ILegacyLogger.html",[159,0.712,13764,6.113]],["body/interfaces/ILegacyLogger.html",[3,0.014,4,0.014,5,0.007,7,0.105,8,1.151,27,0.493,29,0.965,30,0.001,31,0.71,32,0.161,33,0.578,35,1.45,39,2.089,47,1.068,59,4.045,72,4.627,101,0.013,102,5.355,103,0,104,0,110,2.616,125,1.793,153,1.629,158,4.907,159,0.77,161,1.793,183,5.447,193,3.282,326,2.864,365,3.342,569,4.296,641,4.289,1042,6.678,1080,3.937,1115,4.812,1379,7.245,2447,4.211,4955,6.879,13764,8.843,13765,13.015,13766,7.526,13767,8.843,13768,8.843,13769,9.332,13770,7.526,13771,9.332,13772,10.52,13773,7.526,13774,9.332,13775,10.646,13776,7.526,13777,9.332,13778,7.526,13779,9.332,13780,7.526]],["title/interfaces/INewsScope.html",[159,0.712,8071,5.658]],["body/interfaces/INewsScope.html",[3,0.015,4,0.015,5,0.007,7,0.115,26,2.408,30,0.001,32,0.172,33,0.61,34,1.411,47,0.787,83,2.42,95,0.14,101,0.017,103,0.001,104,0.001,112,0.84,122,2.464,127,4.136,155,2.634,157,1.91,159,1.366,161,1.966,172,4.569,205,1.682,692,4.991,703,2.532,886,2.613,2033,4.507,2393,3.162,2473,5.137,3011,5.955,3965,9.397,5018,5.196,5466,4.744,7211,5.325,7872,6.186,7873,7.77,7875,6.591,7878,5.549,7881,6.453,7882,7.746,8062,6.704,8063,7.644,8064,7.644,8065,7.644,8066,7.644,8067,7.644,8068,5.549,8069,9.043,8070,6.944,8071,8.698,8072,10.217]],["title/interfaces/IProvisioningFeatures.html",[159,0.712,13781,5.658]],["body/interfaces/IProvisioningFeatures.html",[0,0.338,3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.147,95,0.109,101,0.016,103,0.001,104,0.001,112,0.935,122,2.953,135,1.273,159,1,161,2.33,311,6.233,467,2.847,2219,4.384,2220,4.931,2221,4.76,4259,5.725,13781,10.438,13782,9.059,13783,12.697,13784,12.697,13785,9.679,13786,9.059,13787,8.229,13788,9.059,13789,9.059]],["title/interfaces/ITask.html",[159,0.712,13790,5.49]],["body/interfaces/ITask.html",[3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.702,32,0.168,33,0.627,47,1.029,55,2.389,83,3.898,95,0.118,99,1.636,101,0.016,103,0.001,104,0.001,112,0.831,122,2.756,157,2.893,159,1.326,161,1.934,231,2.035,290,2.797,478,2.275,652,1.651,692,4.939,703,2.491,1937,3.825,2027,5.185,2033,4.472,2957,5.712,3159,4.794,3589,6.507,3593,6.464,4040,4.753,4093,8.171,4112,5.46,4116,5.543,4117,5.731,4118,5.381,4119,5.381,4120,5.838,4121,5.543,5762,6.521,6668,4.378,8975,5.381,13790,10.22,13791,6.596,13792,9.167,13793,6.086,13794,6.086,13795,5.838,13796,6.086,13797,5.955]],["title/interfaces/IToolFeatures.html",[159,0.712,10197,5.109]],["body/interfaces/IToolFeatures.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.166,47,0.932,55,2.57,80,8.145,95,0.094,101,0.015,103,0.001,104,0.001,112,0.852,122,3.008,129,2.5,135,1.099,159,0.863,161,2.011,311,5.381,467,2.458,1756,4.854,1829,4.657,1941,7.104,2219,3.785,2220,4.257,2221,4.109,4259,4.943,6103,9.142,7739,6.842,8793,8.145,10197,8.813,10199,7.97,10461,11.52,10494,11.52,12501,7.67,13798,12.157,13799,12.157,13800,12.157,13801,12.157,13802,7.821,13803,7.104,13804,7.821,13805,7.821,13806,7.821,13807,7.821,13808,7.821,13809,7.821]],["title/interfaces/IVideoConferenceSettings.html",[159,0.712,13810,6.113]],["body/interfaces/IVideoConferenceSettings.html",[3,0.018,4,0.018,5,0.009,7,0.139,30,0.001,32,0.16,47,0.952,95,0.111,101,0.015,103,0.001,104,0.001,112,0.946,122,2.687,135,1.298,159,1.02,161,2.376,1268,8.287,2138,5.264,2154,8.394,2337,10.937,9599,5.685,13720,8.754,13810,10.582,13811,9.974,13812,12.469,13813,9.239,13814,9.974]],["title/classes/IdParams.html",[0,0.241,13815,6.113]],["body/classes/IdParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,34,2.352,47,0.882,95,0.134,101,0.013,103,0.001,104,0.001,112,0.942,157,2.292,187,6.783,190,1.775,194,4.716,195,2.638,196,3.982,197,3.355,200,3.03,202,2.273,296,3.14,299,4.699,308,7.262,1470,6.727,2831,4.805,13815,10.534,13816,9.901,13817,9.901]],["title/interfaces/IdToken.html",[159,0.712,173,4.616]],["body/interfaces/IdToken.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.735,32,0.17,33,0.653,39,3.63,47,1.078,101,0.015,103,0.001,104,0.001,112,0.899,159,1.171,161,2.186,173,7.593,175,7.721,187,5.186,702,6.476,4588,4.48,6600,9.232,6686,4.685,7510,7.519,12931,11.004,12932,8.5,12933,8.054]],["title/classes/IdTokenCreationLoggableException.html",[0,0.241,13818,6.113]],["body/classes/IdTokenCreationLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,34,1.491,35,1,39,3.563,47,0.996,59,2.71,95,0.124,101,0.011,103,0.001,104,0.001,135,1.134,148,0.857,176,6.513,187,6.893,228,1.992,231,1.914,233,2.703,242,4.601,277,1.247,339,2.556,347,4.48,400,2.556,433,1.071,652,1.773,1027,2.668,1115,4.642,1237,3.213,1312,5.746,1422,4.883,1426,5.702,1468,5.687,1477,4.451,1478,4.634,2698,2.829,3824,9.623,6366,8.075,6369,6.15,8831,6.693,13818,9.734,13819,12.197,13820,8.718,13821,8.718,13822,8.718,13823,8.718,13824,7.336,13825,8.075,13826,5.953]],["title/classes/IdTokenExtractionFailureLoggableException.html",[0,0.241,13827,5.86]],["body/classes/IdTokenExtractionFailureLoggableException.html",[0,0.308,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,8,1.285,27,0.438,29,0.68,30,0.001,31,0.501,32,0.139,33,0.407,35,1.022,47,0.905,95,0.125,101,0.011,103,0.001,104,0.001,148,0.876,176,5.706,228,1.6,231,1.94,233,2.763,339,2.613,400,2.613,433,1.095,436,2.633,644,5.427,1027,2.727,1080,3.089,1115,3.391,1422,4.933,1423,5.745,1426,5.747,1461,8.43,1462,4.805,1463,9.7,1465,6.184,1467,7.498,1468,5.745,1469,6.031,1470,4.995,1471,6.537,1472,4.954,1476,5.372,1477,4.55,1478,4.736,2942,5.716,6388,6.184,13827,9.462,13828,9.871,13829,11.246,13830,8.912,13831,8.255,13832,7.498,13833,8.912]],["title/classes/IdTokenInvalidLoggableException.html",[0,0.241,13834,6.113]],["body/classes/IdTokenInvalidLoggableException.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,27,0.372,30,0.001,32,0.118,35,1.095,95,0.131,101,0.012,103,0.001,104,0.001,148,0.938,173,6.328,176,4.844,231,2.026,340,6.012,436,2.82,644,5.815,1027,2.922,1080,3.309,1115,3.633,1213,6.084,1422,4.699,1423,5.927,1426,5.89,1462,5.148,1463,9.941,1468,5.927,1469,6.222,1470,5.351,1471,7.003,1472,5.308,1476,5.755,1477,4.875,1478,5.074,13828,8.38,13831,8.843,13834,10.303,13835,9.548]],["title/injectables/IdTokenService.html",[589,0.926,13836,5.86]],["body/injectables/IdTokenService.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.965,27,0.424,29,0.83,30,0.001,31,0.696,32,0.134,33,0.496,34,0.999,35,1.137,36,2.297,39,2.344,47,1.011,95,0.146,101,0.007,103,0,104,0,125,2.746,135,1.612,148,1.068,153,0.944,159,0.597,173,3.871,176,4.284,187,6.514,228,1.951,277,0.835,279,2.421,290,2.003,317,2.599,433,1.037,478,1.636,578,4.426,579,1.667,589,1.122,591,1.385,652,2.67,657,2.748,702,2.892,1470,3.273,1829,2.503,1853,1.916,1916,8.597,1941,3.818,2008,2.909,2698,2.74,2766,7.613,2776,4.181,3824,4.378,3900,3.082,4588,2,5053,5.126,5055,5.126,5073,4.483,5449,7.468,5474,4.745,6369,6.247,6600,7.001,6686,2.982,7510,5.702,7875,7.396,8068,6.669,8114,6.262,8222,5.961,8311,3.677,8793,4.378,10223,4.914,10631,5.806,11372,8.597,11459,4.604,12931,9.699,12933,5.126,13217,4.378,13818,5.126,13836,7.105,13837,10.678,13838,5.409,13839,8.444,13840,8.444,13841,8.444,13842,5.84,13843,9.761,13844,5.84,13845,8.444,13846,5.409,13847,8.444,13848,5.84,13849,8.444,13850,5.84,13851,5.84,13852,5.84,13853,5.84,13854,4.745,13855,5.126,13856,8.444,13857,5.409,13858,5.126,13859,5.84,13860,5.84,13861,5.84,13862,5.84,13863,8.444,13864,5.84,13865,5.84,13866,5.84,13867,5.84,13868,5.84,13869,7.821]],["title/classes/IdTokenUserNotFoundLoggableException.html",[0,0.241,13870,6.113]],["body/classes/IdTokenUserNotFoundLoggableException.html",[0,0.299,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.66,30,0.001,31,0.486,32,0.136,33,0.395,34,1.478,35,0.991,47,0.993,59,2.686,95,0.123,101,0.011,103,0.001,104,0.001,148,0.85,176,6.163,228,1.981,231,1.903,233,2.679,290,2.882,339,2.534,347,5.668,400,2.534,433,1.062,436,2.553,620,7.966,644,5.264,652,1.758,1027,2.645,1080,2.996,1115,3.289,1422,4.863,1423,5.664,1426,5.683,1462,4.66,1463,9.592,1465,5.997,1467,7.272,1468,5.664,1469,5.946,1470,4.844,1471,6.34,1472,4.805,1476,5.21,1477,4.413,1478,4.594,5138,4.626,13828,9.681,13870,9.681,13871,8.643,13872,11.853,13873,8.643,13874,8.643,13875,8.643]],["title/interfaces/IdentityManagementConfig.html",[159,0.712,13876,5.86]],["body/interfaces/IdentityManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.162,101,0.013,103,0.001,104,0.001,112,0.962,122,2.997,159,1.049,161,2.443,4887,6.003,13743,9.498,13876,10.315,13877,8.331,13878,12.585,13879,12.585,13880,12.585]],["title/modules/IdentityManagementModule.html",[252,1.839,665,5.658]],["body/modules/IdentityManagementModule.html",[0,0.282,3,0.015,4,0.015,5,0.007,30,0.001,95,0.155,101,0.01,103,0.001,104,0.001,252,3.116,254,2.926,255,3.107,256,3.185,257,3.174,258,3.162,259,3.852,260,4.386,269,4.153,270,3.129,271,3.064,276,4.153,277,1.163,618,5.25,633,11.161,648,6.679,665,11.54,685,6.153,1054,4.597,3108,8.178,3904,6.935,4887,4.762,8905,7.14,8906,8.925,9906,9.971,10031,8.143,13877,6.609,13881,8.136,13882,8.136,13883,8.136,13884,10.807,13885,11.192,13886,10.83,13887,7.535,13888,9.31,13889,6.609,13890,7.14,13891,8.136,13892,8.925,13893,10.608,13894,8.925]],["title/classes/IdentityManagementOauthService.html",[0,0.241,13886,5.49]],["body/classes/IdentityManagementOauthService.html",[0,0.259,2,0.791,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,9,6.407,27,0.442,29,0.572,30,0.001,31,0.421,32,0.093,33,0.343,35,1.584,36,2.748,47,0.992,51,5.829,78,9.511,87,6.555,94,6.145,95,0.084,101,0.01,103,0,104,0,125,2.394,157,1.735,195,2.209,197,2.809,329,6.121,388,4.307,648,7.627,985,7.025,1076,6.405,1080,2.599,1461,7.533,1470,7.661,1568,6.974,1585,7.376,2088,5.859,2389,6.091,2543,7.953,4887,7.09,4920,8.709,9033,7.533,13877,9.84,13886,7.922,13895,6.945,13896,11.219,13897,11.219,13898,9.309,13899,7.498,13900,7.498,13901,9.309,13902,7.498,13903,5.62,13904,6.945]],["title/classes/IdentityManagementService.html",[0,0.241,633,5.658]],["body/classes/IdentityManagementService.html",[0,0.129,2,0.392,3,0.007,4,0.007,5,0.003,7,0.052,8,0.683,9,6.477,27,0.463,29,0.924,30,0.001,31,0.701,32,0.152,33,0.553,34,2.223,35,1.523,36,2.823,39,2.788,47,1.037,51,4.131,55,1.211,56,1.751,59,1.857,70,1.885,85,7.385,87,6.29,94,7.262,95,0.067,98,2.24,99,0.749,101,0.008,103,0,104,0,122,0.77,125,1.785,130,3.277,142,2.163,153,1.388,157,2.692,230,7.279,290,2.759,318,5.244,319,5.244,328,4.479,335,5.772,339,1.752,347,3.07,360,6.313,385,7.498,388,5.524,533,3.176,540,3.333,567,3.746,593,3.019,595,1.409,633,4.854,648,5.405,734,2.518,860,4.218,1083,6.843,1355,4.935,1568,4.146,1834,6.296,1835,3.07,1927,7.385,2588,3.762,3102,5.174,3108,5.612,3109,7.752,3237,4.979,4441,6.49,4887,7.089,5002,5.244,5146,4.587,5285,5.244,5303,7.223,8907,3.019,8918,3.262,8925,3.442,13441,3.442,13877,9.838,13905,5.534,13906,5.534,13907,5.534,13908,5.534,13909,7.951,13910,6.941,13911,6.941,13912,5.534,13913,5.534,13914,5.534,13915,9.781,13916,3.716,13917,10.982,13918,5.975,13919,3.716,13920,5.534,13921,8.584,13922,5.534,13923,5.534,13924,5.534,13925,5.975,13926,5.534,13927,7.951,13928,3.716,13929,3.716,13930,3.442,13931,10.172,13932,3.716,13933,8.712,13934,11.823,13935,3.442,13936,7.951,13937,3.716,13938,5.975,13939,3.716,13940,5.975,13941,3.716,13942,2.929]],["title/entities/ImportUser.html",[205,1.419,13943,5.008]],["body/entities/ImportUser.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,27,0.491,30,0.001,31,0.38,32,0.162,33,0.428,47,0.995,49,1.638,95,0.12,96,1.135,101,0.012,103,0,104,0,112,0.843,122,1.722,125,1.978,129,2.459,130,2.247,135,1.081,142,2.449,145,3.117,146,2.969,148,0.665,153,0.703,159,0.692,180,2.9,190,2.26,195,2.808,196,3.109,197,1.891,205,1.379,206,1.418,219,5.599,223,3.981,224,1.259,225,2.593,226,1.977,229,1.715,231,0.75,232,1.177,233,1.348,271,1.638,290,3.066,301,2.806,413,2.648,415,5.34,540,1.443,567,2.522,579,1.241,614,1.348,652,0.884,692,3.872,700,4.535,701,4.535,702,5.323,703,3.56,704,5.183,756,1.734,886,2.967,1065,2.14,1237,1.259,1783,6.249,1829,1.863,2010,4.484,2345,2.648,2373,3.816,2544,7.447,2545,3.658,2856,3.259,2911,5.112,2942,5.205,2943,7.193,2952,3.189,3019,3.816,3237,3.924,3430,4.069,3436,3.476,4588,2.317,4593,6.47,4676,3.427,4677,3.259,4692,4.865,5056,2.417,5210,4.445,5408,3.126,5493,3.259,5727,3.872,6388,6.502,7003,3.069,7535,3.816,7549,4.165,7552,2.706,7553,2.457,7573,2.676,7778,4.549,7888,4.423,7895,2.621,7896,2.706,8619,4.694,10090,3.126,10134,3.259,10135,3.259,11263,2.843,11264,3.069,11265,2.843,11266,3.069,11267,2.969,11268,3.189,11442,2.924,11443,2.924,12472,6.615,12473,5.762,12490,2.676,12497,5.692,13125,3.427,13169,4.027,13749,7.387,13832,3.658,13943,4.865,13944,11.834,13945,7.193,13946,8.908,13947,6.398,13948,4.348,13949,4.348,13950,5.692,13951,4.348,13952,4.348,13953,4.348,13954,4.348,13955,4.348,13956,8.248,13957,6.765,13958,6.266,13959,4.348,13960,7.193,13961,4.348,13962,7.613,13963,4.348,13964,4.348,13965,7.289,13966,4.348,13967,3.338,13968,5.692,13969,3.658,13970,3.816,13971,4.027,13972,3.658,13973,4.027,13974,4.027,13975,4.027,13976,4.027,13977,4.027,13978,4.027,13979,4.027,13980,4.027,13981,5.692,13982,4.027,13983,5.692,13984,3.658,13985,4.027,13986,4.027,13987,4.027,13988,3.338,13989,4.027,13990,4.027,13991,4.027,13992,4.027,13993,3.658,13994,4.027,13995,4.027,13996,3.338,13997,5.692,13998,4.027]],["title/controllers/ImportUserController.html",[314,2.65,13999,6.113]],["body/controllers/ImportUserController.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.061,8,0.776,10,1.757,27,0.453,29,0.888,30,0.001,31,0.653,32,0.144,33,0.531,35,1.333,36,2.787,56,4.427,59,1.359,70,4.768,95,0.136,100,1.524,101,0.006,103,0,104,0,122,1.728,135,1.742,141,3.572,148,1,153,1.099,158,1.614,190,2.084,202,1.004,228,1.22,274,1.82,277,0.625,290,1.037,298,1.898,314,1.664,316,2.104,317,2.987,325,6.863,326,4.1,349,7.056,365,5.42,379,4.228,388,4.028,389,2.858,392,2.276,395,2.34,398,2.357,400,1.282,478,1.225,540,3.118,595,1.658,652,0.889,657,2.659,863,3.747,871,4.49,883,7.938,2938,3.906,3220,7.044,3240,2.246,3242,2.393,4970,5.483,6288,4.379,7638,7.356,7924,5.13,10857,6.77,12469,7.907,12503,7.907,13943,3.143,13999,5.963,14000,11.94,14001,4.371,14002,4.371,14003,6.794,14004,8.333,14005,8.333,14006,8.333,14007,6.794,14008,8.333,14009,8.333,14010,8.333,14011,4.371,14012,6.794,14013,4.371,14014,4.371,14015,7.907,14016,4.371,14017,4.371,14018,6.794,14019,4.371,14020,4.371,14021,10.711,14022,6.794,14023,4.371,14024,4.371,14025,6.293,14026,4.371,14027,4.371,14028,8.248,14029,6.794,14030,4.371,14031,4.371,14032,8.705,14033,6.794,14034,4.371,14035,4.371,14036,8.248,14037,6.794,14038,4.371,14039,3.837,14040,4.371,14041,4.371,14042,3.678,14043,4.371,14044,3.837,14045,8.705,14046,4.049,14047,4.049,14048,3.678,14049,3.551,14050,5.716,14051,4.371,14052,4.371,14053,3.551,14054,3.837,14055,4.371,14056,4.371,14057,4.371,14058,4.371,14059,5.716,14060,4.371,14061,4.371,14062,4.371,14063,4.371,14064,8.333,14065,4.371,14066,8.333,14067,4.371,14068,4.371,14069,4.371,14070,4.371,14071,4.371,14072,4.371,14073,4.371,14074,4.049,14075,4.371,14076,4.371,14077,4.371,14078,4.371,14079,4.371,14080,4.371,14081,4.371]],["title/classes/ImportUserFactory.html",[0,0.241,14082,6.451]],["body/classes/ImportUserFactory.html",[0,0.163,2,0.496,3,0.009,4,0.009,5,0.004,7,0.065,8,0.821,27,0.512,29,1.012,30,0.001,31,0.711,32,0.167,33,0.578,34,1.491,35,1.399,47,0.641,55,2.338,59,3.269,95,0.129,101,0.006,103,0,104,0,112,0.563,113,4.407,127,4.893,129,3.524,130,3.22,135,0.935,148,0.706,157,2.018,158,1.735,172,3.065,185,2.46,192,2.592,197,1.313,205,2.144,206,2.343,228,1.29,231,1.239,290,2.894,326,4.817,374,3.119,433,0.577,436,3.839,467,2.091,478,1.316,501,7.259,502,5.428,505,3.993,506,5.428,507,5.417,508,3.993,509,3.993,510,3.993,511,3.931,512,4.452,513,4.847,514,6.268,515,5.757,516,7.045,517,2.633,522,2.612,523,3.993,524,2.633,525,5.117,526,5.264,527,4.149,528,4.953,529,3.962,530,2.612,531,3.765,532,4.068,533,2.497,534,2.463,535,2.612,536,2.633,537,4.772,538,2.612,539,7.137,540,3.949,541,6.616,542,2.633,543,4.243,544,2.612,545,2.633,546,2.612,547,2.633,548,2.612,549,2.925,550,2.751,551,2.612,552,6.07,553,2.633,554,2.612,555,3.993,556,3.644,557,3.993,558,2.633,559,2.533,560,2.497,561,2.116,562,2.612,563,2.612,564,2.612,565,2.633,566,2.633,567,1.752,568,2.612,569,1.46,570,2.633,571,3.451,572,2.612,573,2.633,575,2.701,576,2.777,577,2.804,595,1.782,620,2.925,700,2.274,701,2.274,702,2.327,703,1.442,704,2.399,1086,2.237,1087,2.169,1088,2.202,1089,2.341,1090,2.552,1091,3.115,3430,2.04,4246,6.304,4593,2.994,5056,2.612,7763,3.704,7764,3.817,7773,3.704,11443,3.16,11632,3.317,12472,3.317,13749,5.662,13943,3.379,13945,3.607,13946,5.514,13947,3.208,13956,7.932,13968,3.954,14082,8.076,14083,7.183,14084,4.699,14085,7.183,14086,4.699,14087,6.653,14088,6.304,14089,4.699,14090,4.699,14091,4.699,14092,4.699,14093,4.699,14094,4.124,14095,4.699]],["title/classes/ImportUserListResponse.html",[0,0.241,14048,5.86]],["body/classes/ImportUserListResponse.html",[0,0.349,2,0.911,3,0.011,4,0.011,5,0.005,7,0.084,27,0.455,29,0.459,30,0.001,31,0.485,32,0.165,33,0.533,34,1.029,47,0.857,55,2.801,56,5.717,59,2.681,70,6.157,94,3.052,95,0.135,101,0.011,103,0,104,0,112,0.677,122,1.247,125,1.433,134,2.13,142,2.178,157,2.96,180,2.578,190,1.975,195,2.216,197,1.681,200,1.841,201,3.353,202,1.381,231,1.488,232,1.628,290,3.033,296,3.407,298,2.612,299,4.313,304,2.979,331,2.671,339,3.419,374,2.612,415,3.428,433,0.739,436,3.254,556,3.052,571,2.381,614,3.615,700,4.174,701,4.174,703,1.845,855,3.492,862,7.781,863,6.694,864,4.959,866,2.996,868,4.853,869,2.944,870,3.292,871,2.213,872,4.246,873,5.497,874,5.049,875,3.933,876,3.132,877,4.246,878,4.246,880,3.833,881,3.292,886,1.904,1086,2.864,1087,2.776,1088,2.819,1089,2.996,1090,3.267,1619,3.703,1842,2.749,1930,4.325,2135,4.246,3197,3.22,3198,3.22,3430,4.783,3431,3.882,3432,3.458,3436,3.091,4703,3.626,4970,3.961,5215,4.916,5245,3.703,5271,3.788,5408,4.325,6317,3.489,11263,3.933,11264,4.246,11265,3.933,11266,4.246,12472,4.246,12473,4.174,12490,3.703,12501,4.246,13131,4.887,13945,4.617,13947,4.107,13983,5.061,13984,5.061,14048,7.257,14049,10.388,14096,7.57,14097,6.015,14098,6.015,14099,7.949,14100,5.571,14101,7.741,14102,5.571,14103,5.571,14104,5.061,14105,5.061,14106,5.061,14107,5.061,14108,5.571,14109,5.571,14110,7.989,14111,5.571,14112,4.887,14113,5.571,14114,5.571,14115,4.742,14116,5.571]],["title/classes/ImportUserMapper.html",[0,0.241,14039,6.113]],["body/classes/ImportUserMapper.html",[0,0.225,2,0.685,3,0.012,4,0.012,5,0.006,7,0.09,8,1.04,27,0.41,29,0.803,30,0.001,31,0.591,32,0.13,33,0.48,35,1.206,95,0.148,99,1.308,100,3.975,101,0.008,103,0,104,0,125,2.505,129,1.922,135,1.562,141,3.902,142,3.807,148,1.12,153,1.472,195,2.001,277,0.928,290,2.16,331,2.883,365,2.883,393,3.214,467,3.858,478,1.819,579,1.853,595,2.462,700,3.142,701,3.142,830,5.061,837,3.214,1393,5.189,2038,4.137,2953,5.281,3329,8.072,4970,5.234,5953,4.303,8104,5.462,10825,8.433,10854,8.433,10857,7.397,10858,8.985,10915,5.697,12469,9.59,12472,4.582,12473,4.504,13746,9.26,13943,8.948,13945,4.983,13947,4.432,14015,9.59,14039,7.991,14042,5.462,14044,7.991,14049,9.26,14074,6.013,14112,5.274,14117,11.398,14118,9.104,14119,9.104,14120,6.492,14121,6.492,14122,9.104,14123,6.492,14124,5.117,14125,6.013,14126,5.462,14127,5.697,14128,6.492,14129,6.492,14130,6.492,14131,6.492,14132,6.492,14133,6.492,14134,6.492,14135,6.492,14136,6.492,14137,6.492,14138,6.492,14139,6.492,14140,6.013,14141,9.104,14142,6.492,14143,6.492,14144,6.013,14145,6.492,14146,6.492,14147,6.013,14148,6.492,14149,6.492,14150,6.492,14151,6.492,14152,6.492,14153,6.492,14154,6.492,14155,6.492,14156,6.492,14157,6.492,14158,6.492,14159,6.492,14160,6.492,14161,6.492,14162,6.492,14163,6.492]],["title/classes/ImportUserMatchMapper.html",[0,0.241,14126,5.86]],["body/classes/ImportUserMatchMapper.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,27,0.431,29,0.844,30,0.001,31,0.621,32,0.137,33,0.505,35,1.268,95,0.136,99,1.749,101,0.011,103,0.001,104,0.001,129,2.571,148,1.301,365,3.855,415,7.544,467,3.939,478,2.432,579,2.478,837,4.299,1393,6.303,2038,5.532,4703,5.232,4970,5.59,12482,11.872,13748,10.242,13956,10.995,14126,9.306,14164,8.681,14165,11.06,14166,11.06,14167,11.06,14168,8.681,14169,11.06,14170,8.681,14171,10.684,14172,8.681,14173,8.04,14174,8.681,14175,8.04,14176,8.681,14177,8.04,14178,6.843,14179,8.681,14180,8.681,14181,8.681,14182,8.681]],["title/modules/ImportUserModule.html",[252,1.839,14183,5.86]],["body/modules/ImportUserModule.html",[0,0.265,3,0.014,4,0.014,5,0.007,30,0.001,52,3.884,94,3.884,95,0.151,101,0.01,103,0,104,0,252,3.224,254,2.754,255,2.923,256,2.997,257,2.986,258,2.975,259,4.16,260,3.787,264,9.404,265,6.066,268,7.965,269,3.99,270,2.944,271,2.883,274,4.242,276,3.99,277,1.095,279,3.174,290,1.816,614,2.373,671,9.593,685,4.44,703,2.348,1027,2.342,1475,4.82,1531,9.232,1856,7.454,1900,5.005,2070,4.127,2370,4.29,2911,4.712,3102,4.614,3418,3.448,4970,3.515,6077,8.669,8852,6.034,12728,6.219,13728,5.074,13999,10.054,14045,12.114,14046,7.09,14047,7.09,14183,12.268,14184,7.655,14185,7.655,14186,7.655,14187,11.479,14188,7.655,14189,7.655,14190,7.655,14191,7.655]],["title/interfaces/ImportUserProperties.html",[159,0.712,13968,5.86]],["body/interfaces/ImportUserProperties.html",[0,0.166,3,0.009,4,0.009,5,0.004,7,0.067,30,0.001,31,0.41,32,0.166,33,0.572,47,1.033,49,1.806,95,0.125,96,1.252,101,0.013,103,0,104,0,112,0.877,122,2.045,125,1.737,135,1.149,142,2.64,145,3.314,146,3.273,148,0.717,153,0.775,159,0.746,161,1.142,180,3.126,195,2.632,196,2.42,197,1.34,205,1.486,219,5.854,223,3.732,224,1.389,225,2.795,226,2.18,229,1.891,231,0.827,232,1.297,233,1.486,271,1.806,290,3.128,301,3.094,413,2.92,415,5.031,540,1.591,567,1.788,579,1.369,614,1.486,652,0.975,692,4.948,700,5.137,701,5.137,702,5.755,703,3.764,704,5.708,756,1.912,886,3.124,1065,2.36,1237,1.389,1783,5.434,1829,2.055,2010,4.834,2345,2.92,2373,4.208,2544,6.475,2545,4.034,2856,3.594,2911,4.49,2942,4.923,2943,5.599,2952,3.517,3019,4.208,3237,2.781,3430,4.609,3436,2.463,4588,1.642,4593,7.124,4676,3.779,4677,3.594,4692,5.245,5056,2.665,5210,5.681,5408,3.447,5727,4.116,6388,5.061,7003,3.384,7549,4.49,7552,2.984,7553,2.709,7573,2.951,7888,3.134,7895,2.89,7896,2.984,8619,5.061,10090,3.447,10134,3.594,10135,3.594,11263,3.134,11264,3.384,11265,3.134,11266,3.384,11267,3.273,11268,3.517,11442,3.224,11443,3.224,12472,7.492,12473,6.125,12490,2.951,12497,4.034,13125,3.779,13749,8.367,13832,4.034,13943,3.447,13944,4.441,13945,8.147,13946,9.194,13947,7.247,13950,4.034,13956,9.082,13958,4.441,13960,5.599,13962,5.925,13965,6.401,13967,3.68,13968,7.428,13969,4.034,13970,4.208,13971,4.441,13972,4.034,13973,4.441,13974,4.441,13975,4.441,13976,4.441,13977,4.441,13978,4.441,13979,4.441,13980,4.441,13981,6.137,13982,4.441,13983,6.137,13984,4.034,13985,4.441,13986,4.441,13987,4.441,13988,3.68,13989,4.441,13990,4.441,13991,4.441,13992,4.441,13993,4.034,13994,4.441,13995,4.441,13996,3.68,13997,6.137,13998,4.441]],["title/injectables/ImportUserRepo.html",[589,0.926,14187,6.113]],["body/injectables/ImportUserRepo.html",[0,0.174,3,0.009,4,0.009,5,0.005,7,0.07,8,0.865,10,3.041,12,3.425,18,3.793,26,2.049,27,0.485,29,0.928,30,0.001,31,0.683,32,0.15,33,0.555,34,1.555,35,1.394,36,2.755,40,3.663,49,1.896,56,2.372,58,3.292,59,2.352,94,3.84,95,0.135,96,1.976,97,2.031,98,3.035,99,1.014,101,0.006,103,0,104,0,129,1.491,130,1.362,135,1.618,142,4.401,148,1.066,153,1.471,195,1.106,205,1.026,206,2.469,224,1.458,231,1.306,277,0.72,290,2.95,317,2.979,331,2.236,365,4.039,436,2.988,478,1.41,532,4.719,540,4.034,579,1.437,589,1.006,591,1.194,595,1.909,652,1.85,654,4.663,657,2.702,692,5.509,703,3.103,728,6.854,734,3.19,735,3.425,736,4.477,759,3.004,760,3.066,761,3.035,762,3.066,764,3.035,765,3.066,766,2.695,771,3.62,788,3.438,1619,4.659,1927,3.386,2232,4.313,2479,5.977,2938,4.351,3418,2.268,3436,3.889,3750,3.438,4246,6.643,5245,3.099,5264,6.42,6288,3.076,6895,3.438,7638,3.035,7924,7.274,7934,5.673,7952,6.643,7953,3.693,7954,3.693,13746,8.217,13943,8.19,13972,6.368,14140,4.663,14178,3.969,14187,6.643,14192,5.035,14193,7.569,14194,9.094,14195,9.094,14196,7.569,14197,7.569,14198,5.035,14199,4.663,14200,5.035,14201,5.035,14202,5.035,14203,5.035,14204,7.569,14205,5.035,14206,6.643,14207,5.035,14208,7.982,14209,5.035,14210,5.035,14211,5.035,14212,5.035,14213,5.035,14214,5.035,14215,5.035,14216,5.035,14217,5.035,14218,5.035,14219,5.035,14220,5.035,14221,5.035,14222,5.035,14223,5.035,14224,5.035,14225,5.035,14226,5.035,14227,5.035,14228,5.035,14229,7.569,14230,5.035,14231,7.569,14232,5.035,14233,5.035,14234,5.035,14235,5.035,14236,5.035,14237,5.035]],["title/classes/ImportUserResponse.html",[0,0.241,14049,5.658]],["body/classes/ImportUserResponse.html",[0,0.331,2,1.01,3,0.01,4,0.01,5,0.005,7,0.076,27,0.496,29,0.419,30,0.001,31,0.538,32,0.166,33,0.437,34,1.38,47,0.951,55,1.939,56,3.802,70,4.095,94,4.095,95,0.135,101,0.01,103,0,104,0,112,0.633,122,1.673,129,1.625,130,1.485,134,1.944,142,1.987,157,2.946,180,3.459,190,2.235,195,2.319,197,2.256,200,1.68,201,3.137,202,1.26,231,0.947,232,2.184,290,3.208,296,3.33,298,2.383,299,4.131,304,2.718,308,7.021,331,2.438,339,2.366,374,3.504,415,5.455,433,0.674,435,1.886,556,2.785,571,2.173,614,4.011,700,5.442,701,5.442,703,1.684,855,3.268,862,5.024,863,3.027,864,3.155,868,4.606,880,3.498,881,3.004,886,2.555,1086,2.613,1087,2.533,1088,2.572,1089,2.734,1090,2.981,1361,3.155,1619,4.968,1842,3.688,1930,3.947,2135,3.875,3197,4.32,3198,4.32,3430,5.278,3431,5.208,3432,4.64,3436,4.147,4703,4.864,4970,5.942,5215,6.014,5245,4.968,5271,5.082,5408,5.803,6317,4.681,8084,5.084,11263,3.589,11264,3.875,11265,3.589,11266,3.875,12472,6.756,12473,6.641,12490,4.968,12501,5.697,13131,4.459,13945,7.347,13947,6.535,13983,4.618,13984,4.618,14048,4.618,14049,10.13,14096,11.357,14099,8.863,14100,5.084,14101,8.631,14102,5.084,14103,5.084,14104,4.618,14105,4.618,14106,4.618,14107,4.618,14108,5.084,14109,5.084,14110,7.475,14111,5.084,14112,7.776,14113,7.475,14114,7.475,14115,4.327,14116,5.084,14238,5.489,14239,5.489,14240,5.489,14241,5.489,14242,5.489,14243,5.489,14244,5.489,14245,5.489,14246,5.489]],["title/classes/ImportUserScope.html",[0,0.241,14208,6.113]],["body/classes/ImportUserScope.html",[0,0.15,2,0.713,3,0.008,4,0.008,5,0.004,7,0.06,8,0.772,27,0.504,29,0.947,30,0.001,31,0.726,32,0.158,33,0.567,34,1.155,35,1.423,39,1.204,47,0.926,49,1.634,95,0.129,96,1.763,97,1.75,99,0.874,101,0.006,103,0,104,0,112,0.53,122,1.719,129,2.456,130,1.828,135,1.459,142,3.002,145,1.629,148,1.255,153,1.341,180,2.895,195,2.548,224,1.257,231,1.165,290,2.66,301,4.358,331,1.927,365,1.927,393,2.148,415,5.78,436,2.996,478,1.215,540,3.105,569,1.348,579,2.368,595,1.645,624,7.015,652,2.185,692,4.363,700,3.269,701,3.269,703,2.544,1072,6.73,1393,5.78,1829,4.603,1831,6.204,1919,4.686,2010,2.876,2038,2.765,2472,5.641,2479,5.993,4588,1.486,4593,2.765,4692,4.856,4703,4.071,5056,5.971,5138,3.615,5264,4.768,5953,5.497,6178,3.991,6203,5.965,6288,4.95,7007,4.477,7008,4.477,7009,4.477,7014,4.477,7015,4.477,7016,2.917,7017,2.876,7018,2.917,7019,2.917,7028,2.876,7029,4.477,7030,2.917,7031,2.876,7032,2.917,7033,2.876,7034,8.222,11442,4.542,11443,4.542,12472,5.854,12473,3.01,12490,2.671,13748,7.875,13943,3.12,13945,3.33,13946,6.366,13947,5.662,13967,5.185,14124,3.42,14173,4.018,14175,4.018,14177,4.018,14178,5.324,14208,11.559,14247,4.338,14248,6.754,14249,6.754,14250,6.754,14251,6.754,14252,6.754,14253,6.754,14254,6.754,14255,6.754,14256,6.754,14257,6.754,14258,4.338,14259,6.754,14260,4.338,14261,6.754,14262,4.338,14263,6.754,14264,4.338,14265,6.256,14266,6.754,14267,4.338,14268,6.754,14269,4.338,14270,6.754,14271,4.338,14272,6.754,14273,4.338,14274,6.754,14275,4.338,14276,3.65,14277,4.018,14278,4.338,14279,4.018,14280,4.338,14281,4.338,14282,6.754,14283,4.338,14284,8.214,14285,8.669,14286,4.338,14287,6.754,14288,6.754,14289,6.754,14290,6.754,14291,4.338,14292,4.338,14293,4.338,14294,4.338,14295,4.338,14296,4.338,14297,4.338,14298,6.754,14299,4.338,14300,4.338,14301,5.487,14302,4.338,14303,4.338,14304,4.018]],["title/classes/ImportUserUrlParams.html",[0,0.241,14021,6.113]],["body/classes/ImportUserUrlParams.html",[0,0.408,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.375,30,0.001,32,0.119,34,2.016,47,0.866,95,0.131,101,0.012,103,0.001,104,0.001,112,0.925,157,2.226,185,4.039,190,1.724,194,4.633,195,2.591,196,3.912,197,3.296,200,2.943,202,2.208,290,3.154,296,3.085,301,7.609,613,6.779,614,3.655,855,4.774,4197,5.856,4970,5.415,13943,8.478,14021,10.349,14096,10.349,14112,10.36,14305,9.616,14306,9.616]],["title/interfaces/InlineAttachment.html",[159,0.712,1445,5.221]],["body/interfaces/InlineAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,31,0.506,32,0.112,47,1.073,77,5.815,101,0.012,103,0.001,104,0.001,112,0.888,159,1.418,161,2.147,231,2.31,1240,7.679,1439,8.489,1440,6.918,1441,9.739,1442,10.277,1443,6.918,1444,5.01,1445,9.284,1446,6.61,1447,6.61,1448,9.284,1449,6.918,1450,8.489,1451,8.694,1452,8.694,1453,8.489,1454,6.972,1455,6.755,1456,6.755,1457,6.918,1458,6.918]],["title/entities/InstalledLibrary.html",[205,1.419,11705,5.346]],["body/entities/InstalledLibrary.html",[0,0.264,3,0.006,4,0.006,5,0.003,7,0.043,27,0.515,29,0.233,30,0.001,31,0.286,32,0.168,33,0.627,47,0.941,55,2.663,72,2.337,83,1.492,95,0.085,96,0.797,101,0.01,103,0,104,0,112,0.399,122,2.108,131,2.598,134,2.316,141,3.923,145,3.817,148,0.75,155,2.088,157,1.514,172,3.906,190,2.368,194,2,195,3.03,196,4.139,197,0.854,205,1.037,206,0.997,208,1.923,211,6.88,223,4.318,224,0.885,225,1.95,229,1.205,231,0.527,233,0.947,289,3.794,301,1.971,374,3.313,414,4.925,467,0.889,478,0.856,567,1.897,711,1.474,756,4.211,870,3.58,1087,1.41,1195,6.574,1199,7.026,1200,7.451,1201,7.451,1215,4.599,1224,3.659,1237,2.21,1372,2.686,1929,3.733,2164,3.034,2184,1.209,2393,2.924,2553,3.204,2643,3.475,2912,1.462,2915,6.129,2995,3.531,3056,1.47,3418,2.292,3426,3.007,3926,2.408,3972,3.373,5140,3.327,5234,4.057,5245,3.133,5406,4.012,6027,3.659,6178,3.007,6203,3.243,6574,5.021,6575,5.021,6576,4.903,6577,5.021,6578,4.277,6584,4.903,6585,5.021,6597,5.021,6600,3.592,6601,3.907,6617,2.9,6618,2.241,6620,2.345,6628,2.156,6630,2.345,6632,2.345,6634,2.345,6636,2.345,6642,2.345,7064,6.354,7245,1.971,7465,3.659,7572,1.823,9611,2.156,11686,6.199,11687,2.57,11688,4.012,11689,5.021,11690,2.482,11694,4.282,11695,4.282,11696,4.282,11697,2.57,11698,7.886,11699,2.57,11700,4.282,11701,4.282,11702,4.282,11703,2.408,11704,2.57,11705,3.907,11706,6.199,11707,6.42,11708,5.504,11709,5.504,11710,6.377,11711,4.134,11712,3.907,11713,4.282,11714,4.012,11715,4.282,11716,3.659,11717,4.282,11718,4.282,11719,4.134,11720,4.282,11721,4.282,11722,4.012,11723,4.282,11724,5.156,11725,3.475,11726,5.504,11727,5.504,11728,5.504,11729,5.504,11730,2.57,11731,5.504,11732,5.504,11733,5.504,11734,5.504,11735,2.57,11736,2.57,11737,2.57,11738,2.57,11739,2.57,11740,2.57,11741,2.57,11742,2.57,11743,2.57,11744,2.57,11745,2.57,11746,2.57,11747,2.57,11748,2.57,11749,2.57,11750,2.57,11751,2.57,11752,2.57,11753,2.57,11754,2.57,11755,2.57,11756,2.57,11757,2.57,11758,2.57,11759,2.57,11760,2.57,11761,2.57,11762,2.57,11763,2.57,11764,2.57,11765,2.57,11766,2.57,11767,2.57,11768,2.57,11769,2.57,11770,2.57,11771,2.57,11772,2.57,11773,2.57,11774,2.57,11775,2.57,11776,2.57,11777,2.57,11778,2.57,11779,2.57,11780,2.57,11781,2.57,11782,2.57,11783,2.57,11784,2.57,11785,2.57,11786,2.57,14307,3.055,14308,3.055,14309,3.055,14310,3.055,14311,3.055,14312,3.055,14313,3.055,14314,3.055,14315,3.055,14316,3.055,14317,3.055,14318,3.055,14319,3.055,14320,3.055,14321,3.055,14322,3.055,14323,3.055,14324,3.055,14325,3.055,14326,3.055,14327,3.055,14328,3.055,14329,3.055,14330,3.055,14331,3.055,14332,3.055]],["title/interfaces/InterceptorConfig.html",[159,0.712,7480,5.86]],["body/interfaces/InterceptorConfig.html",[3,0.02,4,0.02,5,0.009,7,0.147,30,0.001,32,0.154,55,2.873,101,0.013,103,0.001,104,0.001,112,0.977,159,1.076,161,2.507,311,6.706,7480,10.475,12097,10.802,12099,11.53,14333,10.523]],["title/modules/InterceptorModule.html",[252,1.839,7462,6.113]],["body/modules/InterceptorModule.html",[0,0.304,3,0.016,4,0.016,5,0.008,30,0.001,95,0.144,101,0.011,103,0.001,104,0.001,135,1.144,148,0.864,153,1.422,157,2.036,252,2.944,254,3.164,259,3.194,277,1.258,339,3.27,393,4.355,543,6.268,567,4.158,634,7.47,651,4.462,685,6.469,686,6.324,688,4.1,1213,7.107,1829,3.769,1939,4.674,2358,6.411,2553,7.023,3817,7.392,4338,9.18,5271,7.023,7462,9.788,7472,7.739,7473,10.749,7477,9.061,7480,7.4,9156,8.36,10027,6.751,10031,6.751,13305,6.324,14334,8.795,14335,9.061,14336,12.879,14337,10.749,14338,8.146,14339,8.795]],["title/interfaces/IntrospectResponse.html",[159,0.712,14340,6.113]],["body/interfaces/IntrospectResponse.html",[3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,32,0.176,33,0.671,47,1.081,51,5.919,55,2.791,101,0.01,103,0,104,0,112,0.809,122,2.395,159,0.796,161,1.855,162,5.404,185,3.957,1495,8.842,4917,7.935,6288,4.999,7187,8.842,8023,9.694,8025,9.694,8047,9.694,8049,9.694,14340,9.047,14341,7.788,14342,11.39,14343,12.297,14344,12.297,14345,12.297,14346,12.297]],["title/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.241,14347,6.113]],["body/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.292,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.242,27,0.424,29,0.645,30,0.001,31,0.474,32,0.134,33,0.386,35,0.968,47,0.987,72,3.877,95,0.121,101,0.011,103,0.001,104,0.001,125,2.862,148,0.83,153,1.365,193,3.683,228,1.951,231,1.875,233,2.617,277,1.207,339,2.476,400,2.476,433,1.037,652,1.717,1027,2.584,1115,3.213,1237,3.147,1422,4.81,1423,5.601,1426,5.634,1462,4.552,1465,5.859,1468,5.601,1469,5.881,1477,4.311,1478,4.487,1883,3.169,2138,6.341,2161,7.964,2163,10.491,2834,5.596,2930,6.329,2932,7.411,2953,6.969,8831,6.481,10119,6.193,12603,5.96,14347,9.537,14348,12.015,14349,9.223,14350,12.015,14351,8.443,14352,8.443,14353,8.443,14354,8.443]],["title/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.241,14355,6.113]],["body/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.243,26,2.771,27,0.424,29,0.646,30,0.001,31,0.475,32,0.135,33,0.387,35,0.97,39,3.338,52,5.52,95,0.134,99,1.705,101,0.011,103,0.001,104,0.001,148,0.832,180,5.762,228,1.954,231,1.877,233,2.623,242,4.466,277,1.21,290,2.853,339,2.481,400,2.481,433,1.039,652,1.721,1027,2.589,1115,3.22,1237,3.152,1422,4.814,1423,5.607,1426,5.638,1434,5.46,1462,4.562,1468,5.607,1469,5.887,1477,4.32,1478,4.497,3011,3.866,3430,3.674,4970,5.523,6435,7.404,10416,5.608,12506,6.206,14355,9.55,14356,12.027,14357,11.14,14358,9.312,14359,6.495,14360,8.461,14361,7.119,14362,7.426]],["title/classes/IservMapper.html",[0,0.241,14363,6.113]],["body/classes/IservMapper.html",[0,0.299,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.842,30,0.001,31,0.682,32,0.136,33,0.504,35,1.265,95,0.135,100,3.014,101,0.011,103,0.001,104,0.001,148,1.084,153,1.784,467,3.935,595,3.278,700,4.183,701,4.183,702,4.28,704,5.631,1853,2.836,2071,7.562,3436,4.441,5056,7.114,8114,7.181,10105,9.387,10107,5.651,11257,9.387,13947,8.737,14363,9.681,14364,12.148,14365,8.643,14366,10.217,14367,10.217,14368,11.03,14369,8.643,14370,7.022,14371,11.03,14372,8.643,14373,8.643,14374,8.643,14375,8.006,14376,8.643,14377,8.643,14378,8.643,14379,8.006]],["title/injectables/IservProvisioningStrategy.html",[589,0.926,14380,5.86]],["body/injectables/IservProvisioningStrategy.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.082,8,0.968,27,0.45,29,0.831,30,0.001,31,0.612,32,0.135,33,0.497,35,1.249,36,2.543,47,0.912,95,0.15,100,2.046,101,0.008,103,0,104,0,125,2.594,135,1.709,142,3.067,145,2.202,148,1.135,153,1.608,173,5.615,195,1.289,228,1.521,231,1.462,233,1.818,277,0.839,290,2.583,317,2.603,339,1.72,400,1.72,433,0.721,436,2.937,478,1.643,579,2.418,589,1.126,591,1.391,595,2.224,652,1.193,657,2.49,702,4.195,703,1.8,1476,5.106,1548,4.397,1585,3.572,1610,4.303,1719,6.213,1853,1.924,2065,5.148,2066,7.217,2068,5.878,2070,3.163,2071,5.006,2358,3.372,3430,2.547,3900,3.096,4588,2.009,5056,5.527,5271,5.334,5449,7.478,7003,4.141,8114,4.601,8120,5.783,10098,4.005,10105,6.213,11257,6.213,12786,8.583,13827,4.935,13870,5.148,13872,7.846,13947,5.783,14363,5.148,14380,7.127,14381,5.866,14382,7.181,14383,8.471,14384,6.677,14385,5.866,14386,6.882,14387,8.653,14388,5.866,14389,8.471,14390,5.866,14391,6.882,14392,8.162,14393,5.866,14394,5.866,14395,6.189,14396,3.693,14397,3.693,14398,5.433,14399,6.502,14400,5.148,14401,5.866,14402,5.866,14403,5.866,14404,5.433,14405,8.471,14406,5.866,14407,8.471,14408,5.866,14409,5.433,14410,5.866,14411,5.866,14412,5.866,14413,5.866,14414,5.866,14415,5.866,14416,6.882,14417,5.866,14418,7.127,14419,5.866,14420,7.127,14421,5.148,14422,5.433,14423,5.866,14424,5.866,14425,5.866,14426,5.866,14427,5.866,14428,5.866,14429,5.148]],["title/interfaces/JsonAccount.html",[159,0.712,14430,6.113]],["body/interfaces/JsonAccount.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.177,33,0.535,39,3.675,47,1.061,48,6.204,51,6.372,87,6.676,101,0.012,103,0.001,104,0.001,112,0.918,159,0.972,161,2.263,172,5.65,789,7.246,4887,5.563,4888,5.915,14430,10.273,14431,8.802,14432,9.502,14433,10.842]],["title/interfaces/JsonUser.html",[159,0.712,14434,6.113]],["body/interfaces/JsonUser.html",[3,0.018,4,0.018,5,0.009,7,0.138,30,0.001,32,0.173,47,1.062,101,0.013,103,0.001,104,0.001,112,0.94,159,1.01,161,2.353,172,5.115,700,6.493,701,6.493,702,6.644,789,7.343,4887,5.782,4888,6.148,14431,9.148,14433,9.148,14434,10.519,14435,9.876]],["title/injectables/JwtAuthGuard.html",[589,0.926,14436,6.113]],["body/injectables/JwtAuthGuard.html",[0,0.371,3,0.02,4,0.02,5,0.01,30,0.001,95,0.14,101,0.014,103,0.001,104,0.001,231,2.172,277,1.533,589,1.673,591,2.543,1545,7.567,9207,9.02,14436,11.046,14437,10.72,14438,10.72,14439,12.586]],["title/interfaces/JwtConstants.html",[159,0.712,1549,5.86]],["body/interfaces/JwtConstants.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.161,39,2.518,47,1.041,85,7.648,95,0.101,101,0.015,103,0.001,104,0.001,112,0.892,135,1.48,159,0.928,161,2.161,172,4.854,195,1.994,617,9.982,1546,7.152,1549,10.959,1589,6.965,1591,8.404,1593,5.585,1595,7.371,1598,7.927,1730,6.801,1829,3.889,1885,5.585,2530,6.405,3102,5.469,7187,6.524,8023,7.152,8025,7.152,8047,7.152,8049,7.152,14440,9.073,14441,13.415,14442,11.374,14443,9.073,14444,9.073,14445,7.371,14446,7.634,14447,7.634,14448,9.073,14449,9.073,14450,9.073,14451,8.404,14452,9.073,14453,9.073]],["title/classes/JwtExtractor.html",[0,0.241,14454,6.113]],["body/classes/JwtExtractor.html",[0,0.306,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.344,29,0.674,30,0.001,31,0.628,32,0.109,33,0.404,35,1.013,47,0.948,95,0.137,101,0.011,103,0.001,104,0.001,135,1.149,142,4.049,148,1.099,176,6.226,193,5.352,371,5.944,467,3.572,571,4.427,1086,5.324,1087,5.161,1088,5.241,1089,6.113,1090,6.666,1091,8.134,1092,7.52,1103,6.781,1585,5.38,7642,5.324,13599,9.41,13672,9.41,14454,9.816,14455,10.359,14456,8.833,14457,11.184,14458,11.184,14459,8.833,14460,12.272,14461,6.781,14462,8.833,14463,11.184]],["title/interfaces/JwtPayload.html",[159,0.712,1719,5.109]],["body/interfaces/JwtPayload.html",[3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.166,39,2.999,47,1.068,48,3.924,55,2.716,85,5.63,101,0.014,103,0.001,104,0.001,112,0.848,122,2.241,159,1.105,161,1.994,180,3.589,231,1.865,290,1.986,413,5.099,561,3.771,812,5.336,1589,8.296,1593,6.653,1699,9.434,1719,7.927,1730,9.479,1829,5.42,1926,5.099,2530,7.629,3436,4.302,4588,2.868,4953,5.55,5805,5.474,7187,9.093,8023,9.969,8025,9.969,8047,9.969,8049,9.969,8055,7.755,8056,7.755,8057,7.045,8058,7.349,8059,7.755,8060,7.349,8061,9.485]],["title/injectables/JwtStrategy.html",[589,0.926,1527,6.113]],["body/injectables/JwtStrategy.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.399,29,0.781,30,0.001,31,0.575,32,0.127,33,0.467,35,0.883,36,2.162,85,5.177,95,0.153,101,0.01,103,0,104,0,135,1.331,148,0.757,153,1.245,159,0.787,197,2.152,228,1.383,231,1.765,233,2.387,277,1.101,290,1.826,317,2.485,325,3.812,331,3.419,349,5.19,400,2.257,433,0.946,525,4.035,579,2.198,589,1.36,591,1.826,629,4.063,657,1.761,675,3.931,985,6.663,1080,2.669,1213,6.519,1328,4.092,1329,6.23,1527,8.978,1528,10.642,1545,5.435,1549,6.478,1550,6.757,1554,6.757,1585,7.455,1599,7.131,1719,8.979,1722,6.478,1723,6.547,1730,7.667,1829,3.3,1984,5.177,2106,6.069,3109,5.435,4917,4.968,5004,4.968,5278,4.848,6179,6.255,8102,5.771,12733,6.757,14454,6.757,14461,5.91,14464,7.699,14465,8.31,14466,7.699,14467,7.699,14468,10.229,14469,7.699,14470,6.255,14471,7.699,14472,6.255,14473,7.699,14474,7.699,14475,7.699,14476,7.699,14477,7.699,14478,7.699,14479,7.699,14480,7.699,14481,7.699,14482,7.699,14483,7.699,14484,7.699]],["title/classes/JwtTestFactory.html",[0,0.241,8038,6.113]],["body/classes/JwtTestFactory.html",[0,0.27,2,0.824,3,0.014,4,0.014,5,0.007,7,0.109,8,1.179,27,0.402,29,0.596,30,0.001,31,0.438,32,0.143,33,0.357,35,1.184,47,1.037,59,2.425,85,7.777,95,0.115,101,0.01,103,0,104,0,135,1.601,148,1.014,159,0.798,326,2.97,403,5.27,467,3.828,711,2.99,1546,6.151,1548,5.849,1573,6.566,1585,4.752,1589,5.99,1593,4.804,1718,7.571,1730,7.736,7187,7.422,8021,10.801,8022,7.228,8023,8.136,8024,8.684,8025,8.136,8026,10.712,8027,10.769,8028,9.56,8029,7.228,8030,7.228,8031,7.228,8032,7.228,8033,9.059,8034,7.228,8035,9.56,8036,9.56,8037,7.228,8038,9.059,8039,10.801,8040,9.56,8041,9.56,8042,7.228,8043,7.228,8044,7.228,8045,7.228,8046,7.228,8047,6.151,8048,8.684,8049,6.151,8050,6.849,8051,7.228,8052,7.228,8053,7.228,8054,7.228,14485,10.321,14486,7.804,14487,7.804]],["title/injectables/JwtValidationAdapter.html",[589,0.926,1528,5.658]],["body/injectables/JwtValidationAdapter.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.089,8,1.029,27,0.441,29,0.864,30,0.001,31,0.636,32,0.14,33,0.517,34,1.935,35,1.195,36,2.616,47,1.044,85,8.024,94,4.567,95,0.138,101,0.008,103,0,104,0,135,1.171,157,1.479,194,3.537,197,1.785,228,1.617,277,0.914,317,2.857,388,3.858,433,1.106,531,5.932,571,3.563,589,1.197,591,1.515,652,1.831,657,2.384,688,2.978,985,5.222,1086,4.286,1087,4.155,1088,4.219,1089,4.484,1090,4.89,1091,5.967,1226,7.901,1507,4.788,1528,7.314,1536,5.607,1585,7.91,1730,10.322,1749,5.131,1831,5.967,1885,3.932,1987,7.314,2553,7.127,2915,5.426,3418,4.055,4214,7.097,4254,10.703,4258,5.607,4261,4.788,4263,5.607,4271,5.607,4272,9.406,4273,7.097,8061,7.901,12733,7.901,13969,7.574,14455,11.052,14488,6.388,14489,9.002,14490,9.002,14491,9.002,14492,6.388,14493,6.388,14494,9.002,14495,9.002,14496,6.388,14497,9.002,14498,6.388,14499,9.002,14500,9.002,14501,9.002,14502,6.388,14503,6.388,14504,6.388,14505,6.388,14506,6.388,14507,9.002,14508,6.388,14509,6.388,14510,6.388,14511,9.002,14512,9.002,14513,6.388,14514,6.388,14515,6.388]],["title/classes/KeycloakAdministration.html",[0,0.241,14516,6.451]],["body/classes/KeycloakAdministration.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,27,0.341,30,0.001,47,1.055,51,5.353,87,6.483,95,0.124,101,0.011,103,0.001,104,0.001,112,0.872,122,2.306,129,3.293,130,2.37,311,5.58,467,3.558,2219,3.925,2220,4.415,2221,4.262,2333,6.233,2384,7.368,4259,5.126,4887,6.511,4888,6.923,6369,6.483,9033,8.336,13703,7.271,13759,11.168,13761,9.358,13762,10.284,13889,9.035,14516,10.301,14517,9.358,14518,11.122,14519,11.122,14520,11.122,14521,11.122,14522,11.122,14523,11.122,14524,8.756,14525,6.903]],["title/modules/KeycloakAdministrationModule.html",[252,1.839,13884,5.658]],["body/modules/KeycloakAdministrationModule.html",[0,0.315,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.283,254,3.271,255,3.473,256,3.56,257,3.547,258,3.535,259,4.517,260,4.622,269,4.459,270,3.497,271,3.425,274,3.785,277,1.3,618,5.868,685,5.275,1267,6.419,2088,3.898,2384,7.651,2831,4.559,4887,5.323,4888,5.66,12490,7.011,13762,9.583,13884,11.29,13889,7.388,14525,7.168,14526,9.094,14527,9.094,14528,9.094,14529,10.581,14530,9.094,14531,10.55,14532,6.816,14533,8.423,14534,8.423,14535,7.651,14536,7.651,14537,6.98,14538,9.094]],["title/injectables/KeycloakAdministrationService.html",[589,0.926,14529,5.109]],["body/injectables/KeycloakAdministrationService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.112,8,0.917,27,0.516,29,0.416,30,0.001,31,0.306,32,0.099,33,0.249,34,0.931,35,1.456,36,2.478,47,0.861,55,1.103,95,0.106,101,0.007,103,0,104,0,112,0.629,129,2.376,130,2.171,135,1.458,145,3.576,148,1.223,153,1.297,195,1.196,197,1.522,228,1.441,277,0.779,317,2.943,433,0.986,467,2.773,569,2.493,589,1.066,591,1.291,629,2.873,652,2.664,657,2.845,688,2.538,711,4.128,1328,2.893,1329,3.316,1741,7.431,1743,5.768,2219,2.441,2333,3.051,2384,4.581,2831,3.211,4887,7.836,4888,8.332,6369,2.745,8318,3.281,12490,4.938,13759,8.844,13761,4.581,13762,4.581,14525,4.292,14529,5.884,14531,9.736,14532,4.081,14533,5.043,14534,5.043,14539,10.275,14540,5.444,14541,9.526,14542,9.526,14543,10.511,14544,10.511,14545,10.511,14546,10.511,14547,10.511,14548,10.511,14549,10.511,14550,10.511,14551,10.511,14552,5.043,14553,9.526,14554,8.022,14555,7.431,14556,5.444,14557,5.444,14558,5.444,14559,5.444,14560,5.444,14561,5.444,14562,5.444,14563,5.444,14564,5.444,14565,8.022,14566,5.444,14567,5.444,14568,5.444,14569,5.444,14570,5.444,14571,5.444,14572,5.444,14573,8.022,14574,5.444,14575,5.444,14576,5.444,14577,8.022,14578,6.517,14579,8.022,14580,9.526,14581,5.043,14582,5.043,14583,5.444,14584,5.444,14585,5.043,14586,4.778,14587,5.444,14588,5.444,14589,5.444,14590,9.526,14591,8.022,14592,5.444]],["title/classes/KeycloakConfiguration.html",[0,0.241,14535,5.86]],["body/classes/KeycloakConfiguration.html",[0,0.343,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,95,0.11,101,0.013,103,0.001,104,0.001,112,0.942,129,3.554,130,2.679,311,6.309,467,3.76,2219,4.438,2358,5.692,4887,7.026,4888,7.471,13752,10.868,13755,11.117,13756,11.117,14525,7.805,14535,10.099,14593,10.534,14594,12.917,14595,12.003,14596,12.003,14597,8.69,14598,8.69]],["title/modules/KeycloakConfigurationModule.html",[252,1.839,14599,6.113]],["body/modules/KeycloakConfigurationModule.html",[0,0.235,3,0.013,4,0.013,5,0.006,30,0.001,95,0.158,101,0.009,103,0,104,0,252,2.845,254,2.446,255,2.596,256,2.662,257,2.652,258,2.643,259,3.915,260,4.005,264,9.079,265,5.856,269,3.681,270,2.615,271,2.561,274,3.914,276,3.681,277,0.972,618,6.068,685,3.944,1027,2.081,1267,4.8,1525,9.079,1537,4.987,1540,4.718,2088,2.914,2219,3.048,2358,3.909,3811,4.507,3887,9.692,4887,3.98,4888,4.232,4893,9.464,4894,5.36,4895,5.36,4907,10.399,5206,4.8,9906,9.464,13757,8.253,13884,10.258,13889,5.524,13890,5.968,14525,5.36,14535,5.721,14536,9.069,14593,5.968,14598,5.968,14599,12.741,14600,6.799,14601,6.799,14602,6.799,14603,6.799,14604,11.619,14605,11.099,14606,10.623,14607,6.799,14608,9.46,14609,6.799,14610,6.799,14611,7.911,14612,6.298,14613,6.298,14614,6.298,14615,6.298,14616,6.799,14617,6.799,14618,5.968,14619,6.799]],["title/injectables/KeycloakConfigurationService.html",[589,0.926,14604,5.86]],["body/injectables/KeycloakConfigurationService.html",[0,0.092,3,0.005,4,0.005,5,0.002,7,0.037,8,0.518,10,1.82,27,0.444,29,0.763,30,0.001,31,0.599,32,0.124,33,0.456,34,1.869,35,1.306,36,2.407,47,0.906,59,0.827,74,2.042,95,0.125,101,0.003,103,0,104,0,135,1.752,141,1.941,145,0.999,148,0.77,157,0.616,180,1.14,195,1.873,197,2.189,219,1.467,228,1.254,230,1.763,277,0.38,290,1.403,317,2.848,335,3.046,360,2.604,388,1.941,413,1.62,414,3.973,433,0.556,571,3.791,589,0.602,591,0.631,614,0.825,618,3.817,634,5.275,641,4.463,649,1.675,650,2.161,651,1.35,652,2.689,657,3.132,675,3.565,711,2.894,734,2.493,756,2.359,886,0.842,1086,4.56,1087,4.42,1088,4.488,1197,4.629,1268,1.637,1278,2.335,1926,2.758,2010,1.763,2088,3.653,2343,1.913,2370,1.491,2473,1.656,2531,2.442,2848,6.362,2915,2.73,2922,1.913,2938,4.502,3237,2.627,3242,2.479,3430,1.967,4401,1.717,4887,6.782,4888,7.212,5049,2.161,5074,1.358,6369,2.284,7064,4.434,7187,3.257,8024,4.977,8076,2.097,8320,3.322,8323,1.994,8969,2.464,9162,4.195,10189,2.464,10599,2.042,12490,5.246,13711,2.788,13761,8.705,13934,5.479,14529,5.122,14532,6.388,14537,2.042,14539,2.042,14578,8.405,14581,2.464,14582,2.464,14585,2.464,14586,2.335,14604,3.811,14611,7.652,14612,2.464,14613,2.464,14620,10.168,14621,4.529,14622,6.983,14623,6.983,14624,6.983,14625,6.983,14626,4.529,14627,4.529,14628,4.529,14629,6.983,14630,4.529,14631,4.529,14632,4.529,14633,4.529,14634,2.238,14635,7.652,14636,2.66,14637,3.811,14638,4.529,14639,2.66,14640,9.577,14641,2.66,14642,2.66,14643,2.66,14644,2.66,14645,4.529,14646,8.617,14647,2.66,14648,5.021,14649,4.529,14650,2.66,14651,9.095,14652,4.529,14653,2.66,14654,6.446,14655,2.66,14656,5.915,14657,4.529,14658,2.66,14659,5.915,14660,4.529,14661,8.522,14662,6.468,14663,2.66,14664,4.529,14665,5.915,14666,4.529,14667,2.66,14668,4.529,14669,2.66,14670,2.66,14671,2.66,14672,2.66,14673,2.66,14674,4.529,14675,2.66,14676,2.66,14677,2.464,14678,2.66,14679,2.335,14680,2.66,14681,2.464,14682,4.529,14683,9.871,14684,2.335,14685,3.975,14686,6.468,14687,5.915,14688,4.805,14689,5.915,14690,9.08,14691,4.529,14692,4.977,14693,4.529,14694,7.832,14695,4.529,14696,7.832,14697,2.66,14698,8.522,14699,2.66,14700,2.66,14701,2.66,14702,4.529,14703,4.529,14704,4.529,14705,4.529,14706,2.66,14707,4.529,14708,2.464,14709,2.335,14710,2.66,14711,2.66,14712,5.191,14713,4.529,14714,2.66,14715,2.335,14716,2.464,14717,4.195,14718,2.464,14719,2.66,14720,2.66,14721,4.529,14722,4.529,14723,4.529,14724,3.477,14725,2.66,14726,2.66,14727,2.66,14728,2.66,14729,2.66,14730,2.66,14731,4.529,14732,2.66,14733,5.915,14734,5.915,14735,2.66,14736,5.915,14737,2.66,14738,5.915,14739,2.66,14740,2.66,14741,4.529,14742,2.66,14743,4.529,14744,4.529,14745,4.529,14746,6.983,14747,2.66,14748,2.66,14749,4.529,14750,2.66,14751,4.195,14752,2.66,14753,2.66,14754,5.915,14755,4.529,14756,5.915,14757,4.529,14758,2.66,14759,2.66,14760,4.529,14761,2.66,14762,4.529,14763,2.66,14764,2.66,14765,1.994,14766,2.66,14767,2.66,14768,2.66,14769,2.66,14770,4.529,14771,4.529,14772,2.66,14773,2.66,14774,4.529,14775,2.66,14776,2.464,14777,2.66,14778,2.464,14779,4.529,14780,2.66,14781,2.66,14782,2.66,14783,2.66,14784,2.66,14785,2.66,14786,2.66,14787,2.66]],["title/injectables/KeycloakConfigurationUc.html",[589,0.926,4893,5.221]],["body/injectables/KeycloakConfigurationUc.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.095,8,1.074,27,0.492,29,0.823,30,0.001,31,0.605,32,0.133,33,0.492,35,1.4,36,2.865,55,2.558,59,3.35,70,3.45,95,0.136,101,0.009,103,0,104,0,122,2.235,148,1.2,228,2.088,277,0.972,317,3.045,433,1.155,589,1.25,591,1.613,618,4.388,652,2.365,657,2.659,711,4,985,6.746,4887,7.577,4888,8.056,4891,5.36,4893,7.048,4903,8.927,4926,6.638,4939,8.209,4945,8.53,4952,6.897,10250,6.298,14529,8.53,14536,9.069,14537,5.219,14539,5.219,14604,9.785,14605,10.89,14606,10.89,14614,6.298,14615,6.298,14618,5.968,14634,5.721,14637,7.911,14788,12.943,14789,10.779,14790,6.799,14791,6.799,14792,8.709,14793,6.799,14794,6.799,14795,9.403,14796,6.799,14797,6.799,14798,6.799,14799,6.799,14800,6.799,14801,6.799,14802,6.799,14803,6.799,14804,6.799,14805,6.799,14806,6.799]],["title/classes/KeycloakConsole.html",[0,0.241,4907,5.49]],["body/classes/KeycloakConsole.html",[0,0.12,2,0.367,3,0.006,4,0.006,5,0.003,7,0.048,8,0.647,10,1.396,27,0.432,29,0.817,30,0.001,31,0.577,32,0.127,33,0.469,35,1.178,36,2.555,47,0.606,52,3.632,53,4.151,55,2.408,70,3.632,72,3.79,78,9.017,95,0.092,101,0.004,103,0,104,0,112,0.444,122,0.72,125,2.32,129,3.279,130,1.531,135,1.182,145,2.124,148,0.704,153,0.915,157,2.969,159,0.732,171,2.337,190,1.629,194,4.036,197,3.182,228,1.286,230,4.745,259,2.055,290,1.342,317,2.857,365,1.543,388,3.069,413,2.116,433,0.695,467,2.084,527,1.477,532,1.274,540,4.125,569,1.08,579,0.992,612,3.806,618,5.863,644,2.116,648,2.188,652,2.178,657,2.532,745,5.148,756,3.291,758,6.651,892,2.667,981,3.447,985,5.651,1027,1.063,1080,1.205,1372,1.834,1619,5.997,1626,4.625,1751,4.461,1900,2.272,1928,4.877,1939,3.008,2219,2.537,2235,4.461,2447,2.992,2448,3.868,2531,3.051,2858,8.729,2864,2.823,2938,7.305,3108,5.396,3418,5.353,3803,5.396,3808,6.975,3811,2.303,3812,8.545,3813,5.997,3814,2.034,4886,4.598,4887,6.664,4888,7.086,4889,9.578,4890,2.924,4891,2.739,4892,6.024,4893,7.699,4894,2.739,4895,2.739,4896,4.762,4897,2.924,4898,2.924,4899,8.996,4900,2.924,4901,2.924,4902,4.598,4903,4.344,4904,2.924,4905,2.242,4906,2.667,4907,4.461,4908,2.924,4909,6.024,4910,7.534,4911,4.762,4912,9.578,4913,4.151,4914,4.762,4915,7.884,4916,4.762,4917,3.652,4918,4.242,4919,6.651,4920,4.069,4921,5.55,4922,4.242,4923,2.924,4924,2.924,4925,4.762,4926,6.414,4927,6.944,4928,2.924,4929,2.924,4930,2.605,4931,4.762,4932,6.944,4933,2.924,4934,2.924,4935,2.924,4936,6.944,4937,6.944,4938,4.461,4939,7.25,4940,4.762,4941,2.924,4942,2.924,4943,4.151,4944,4.598,4945,6.665,4946,4.461,4947,4.762,4948,2.924,4949,2.924,4950,2.924,4951,4.762,4952,6.665,4953,2.303,4954,2.739,4955,2.373,4956,2.667,4957,4.762,4958,2.924,4959,2.924,4960,2.924,4961,2.924,4962,2.924,4963,2.924,4964,4.762,4965,2.924,4966,2.924,4967,2.739,4968,4.598,14807,5.659,14808,3.475,14809,3.475,14810,3.475,14811,3.475,14812,3.475,14813,3.475,14814,3.475,14815,3.475,14816,3.475,14817,3.475,14818,3.475,14819,3.475]],["title/injectables/KeycloakIdentityManagementOauthService.html",[589,0.926,13892,5.86]],["body/injectables/KeycloakIdentityManagementOauthService.html",[0,0.196,3,0.011,4,0.011,5,0.005,7,0.079,8,0.944,27,0.463,29,0.631,30,0.001,31,0.464,32,0.133,33,0.377,35,1.229,36,2.513,47,0.971,51,3.976,87,5.743,95,0.143,101,0.007,103,0,104,0,110,1.97,112,0.648,125,2.552,135,1.597,148,1.169,153,0.916,195,1.245,228,1.924,231,1.425,233,1.757,277,0.81,317,2.776,339,2.422,433,1.015,436,2.88,569,2.568,589,1.098,591,1.344,618,3.657,629,2.991,634,7.121,641,3.23,648,7.172,651,2.875,652,2.497,657,2.23,688,2.642,702,2.806,871,3.04,998,2.684,1053,8.382,1054,3.202,1055,6.342,1056,3.657,1169,3.287,1278,4.974,1328,3.012,1329,3.451,1470,3.176,1495,4.075,1496,4.604,1497,4.974,1593,3.489,2393,2.172,2838,4.768,3108,7.447,3242,3.102,4887,6.272,5074,2.893,5203,4.248,5204,7.859,5206,4,5225,4.604,6288,2.304,6369,4.916,8318,4.98,8320,4.157,10475,3.756,13631,8.557,13650,6.951,13700,3.811,13703,3.705,13704,4.768,13705,3.811,13708,3.811,13711,5.086,13715,6.462,13886,9.373,13888,4.974,13892,6.951,13895,5.249,13896,9.924,13897,9.924,13898,7.652,13901,7.652,13903,8.031,13904,5.249,14529,7.859,14537,4.35,14539,4.35,14717,7.652,14718,5.249,14820,9.403,14821,9.749,14822,10.714,14823,5.667,14824,8.262,14825,8.262,14826,5.667,14827,5.667,14828,5.667,14829,5.667,14830,11.891,14831,5.667,14832,5.667,14833,5.667,14834,5.667,14835,5.667,14836,5.667,14837,5.667,14838,5.667,14839,5.667,14840,5.667,14841,5.667,14842,5.667,14843,5.667,14844,5.667,14845,5.667,14846,5.667,14847,5.667,14848,5.667,14849,5.249,14850,5.249,14851,5.249,14852,5.667,14853,5.667]],["title/injectables/KeycloakIdentityManagementService.html",[589,0.926,13894,5.86]],["body/injectables/KeycloakIdentityManagementService.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.047,8,0.633,27,0.475,29,0.943,30,0.001,31,0.674,32,0.155,33,0.548,34,2.233,35,1.377,36,2.778,39,3.044,47,1.035,51,4.631,59,1.721,87,5.827,94,4.122,95,0.113,98,2.04,99,0.682,101,0.004,103,0,104,0,125,0.806,130,2.603,135,1.627,142,2.005,145,2.079,148,1.198,153,1.714,158,1.249,195,1.217,197,1.548,228,0.608,230,5.385,231,0.956,233,1.049,277,0.484,290,2.282,317,2.98,318,4.861,319,4.861,346,2.482,347,4.604,357,4.251,393,1.676,400,0.992,413,2.061,433,0.416,436,3.414,484,3.982,540,2.332,578,1.774,579,3.026,589,0.736,591,0.803,593,8.251,595,1.283,600,2.97,602,3.135,603,2.97,604,2.97,618,2.184,629,1.786,633,9.902,652,1.957,657,3.071,700,3.402,701,3.402,702,3.481,711,1.604,756,2.209,863,3.055,1268,3.409,1328,1.799,1329,3.373,2345,3.373,3108,5.858,3469,2.276,3470,2.213,3848,2.749,4289,2.749,4887,4.756,8906,2.847,8907,2.749,12490,2.083,13217,2.537,13894,4.66,13905,5.13,13906,5.13,13907,5.13,13908,5.13,13909,7.525,13910,6.511,13911,6.511,13912,5.13,13913,5.13,13914,5.13,13915,7.525,13920,5.13,13922,5.13,13923,5.13,13924,5.13,13926,5.13,13927,7.525,13930,3.135,13931,9.407,13933,8.912,13935,3.135,13936,8.3,13942,2.668,14529,5.959,14532,2.537,14537,2.598,14539,2.598,14552,3.135,14555,5.13,14578,6.6,14820,7.13,14854,5.538,14855,5.538,14856,3.384,14857,3.384,14858,5.538,14859,3.384,14860,5.538,14861,7.864,14862,3.384,14863,5.538,14864,3.384,14865,3.384,14866,3.384,14867,5.538,14868,3.384,14869,3.384,14870,3.384,14871,3.384,14872,3.384,14873,5.538,14874,3.384,14875,5.538,14876,3.384,14877,2.97,14878,10.598,14879,3.384,14880,5.538,14881,5.538,14882,5.538,14883,2.97,14884,2.97,14885,2.97,14886,3.384,14887,5.538,14888,5.538,14889,3.384,14890,3.384,14891,3.384,14892,5.538,14893,3.384,14894,7.03,14895,3.384,14896,7.03,14897,5.538,14898,5.538,14899,3.384,14900,8.124,14901,5.13,14902,5.538,14903,3.384,14904,3.384,14905,2.97,14906,3.384,14907,3.384,14908,3.384,14909,3.384,14910,3.384,14911,3.384,14912,3.384,14913,3.384,14914,3.384,14915,5.538,14916,5.538,14917,7.03,14918,7.03,14919,3.384,14920,2.97,14921,5.13,14922,3.135,14923,3.384,14924,3.384,14925,3.384,14926,3.384,14927,3.384,14928,3.384,14929,3.384,14930,3.384,14931,3.384,14932,3.384]],["title/controllers/KeycloakManagementController.html",[314,2.65,14608,6.113]],["body/controllers/KeycloakManagementController.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,8,1.215,27,0.318,30,0.001,35,1.22,36,2.248,55,2.155,72,4.884,78,8.075,95,0.132,101,0.01,103,0.001,104,0.001,148,1.045,153,1.321,190,1.464,228,1.91,259,3.863,274,3.4,277,1.168,314,3.109,316,3.931,317,2.558,400,2.395,579,2.332,629,4.311,652,1.661,657,2.704,756,3.258,981,6.477,1027,2.5,1328,4.341,1329,4.975,2010,7.05,2389,6.636,2447,3.414,2448,4.984,2836,7.05,3108,6.954,3242,4.471,3418,5.642,4887,6.226,4888,6.62,4893,7.972,4894,6.439,4895,6.439,4938,9.875,14608,9.335,14933,10.636,14934,7.566,14935,8.169,14936,12.527,14937,10.636,14938,8.169,14939,10.636,14940,10.636,14941,8.641,14942,8.641,14943,10.636,14944,9.851,14945,10.636,14946,11.826,14947,8.169,14948,8.169,14949,8.169,14950,8.169,14951,8.169,14952,8.169,14953,8.169,14954,8.169]],["title/injectables/KeycloakMigrationService.html",[589,0.926,14606,5.86]],["body/injectables/KeycloakMigrationService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.081,8,0.961,27,0.385,29,0.755,30,0.001,31,0.555,32,0.134,33,0.452,34,1.438,35,0.964,36,2.29,51,4.758,55,1.704,66,7.52,70,5.015,87,2.928,94,5.498,95,0.134,101,0.007,103,0,104,0,129,1.719,130,2.275,135,1.648,145,4.317,148,0.972,153,0.939,195,1.848,197,2.35,228,1.775,230,7.183,277,0.83,317,2.594,433,1.033,480,7.251,484,7.108,489,4.885,492,10.038,571,3.328,579,1.658,589,1.118,591,1.377,618,3.747,629,3.064,644,3.536,652,2.439,657,2.897,666,9.494,745,4.175,756,3.942,758,3.964,838,4.885,873,5.359,876,4.378,923,4.885,938,4.717,1027,1.777,1086,4.003,1087,3.881,1088,3.94,1268,3.574,1328,3.086,1329,5.121,1546,4.577,1712,4.457,2334,4.717,2447,4.132,2448,5.078,2848,6.831,3237,3.368,4289,4.717,4887,6.344,4888,6.746,4903,8.829,4952,6.168,9033,4.352,9216,3.849,9970,4.259,12490,3.574,13942,4.577,14529,7.949,14532,4.352,14537,4.457,14539,4.457,14578,4.717,14606,7.075,14620,9.511,14634,4.885,14637,7.075,14690,5.096,14861,7.38,14877,5.096,14883,5.096,14884,5.096,14885,5.096,14905,5.096,14920,5.096,14955,4.885,14956,7.788,14957,5.806,14958,7.788,14959,5.806,14960,8.409,14961,5.378,14962,5.096,14963,5.806,14964,9.885,14965,5.806,14966,5.806,14967,8.409,14968,5.378,14969,5.806,14970,5.806,14971,5.806,14972,7.788,14973,5.378,14974,7.788,14975,5.378,14976,5.378,14977,5.378,14978,7.788,14979,7.788,14980,9.885,14981,5.806,14982,5.378,14983,5.806,14984,5.806,14985,5.806]],["title/modules/KeycloakModule.html",[252,1.839,13885,5.86]],["body/modules/KeycloakModule.html",[0,0.287,3,0.015,4,0.015,5,0.007,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.147,254,2.987,255,3.171,256,3.251,257,3.239,258,3.228,259,4.329,260,4.429,265,6.204,269,4.208,270,3.193,271,3.128,276,4.208,277,1.187,618,5.358,648,5.229,1027,2.541,1054,4.692,3108,7.028,3904,7.028,4887,4.861,5206,5.862,8906,6.987,9906,10.026,13884,10.867,13885,12.185,13888,7.288,13889,6.746,13890,7.288,13892,11.987,13894,11.987,14536,9.045,14986,8.304,14987,8.304,14988,8.304,14989,8.304,14990,8.304]],["title/classes/KeycloakSeedService.html",[0,0.241,14605,5.86]],["body/classes/KeycloakSeedService.html",[0,0.165,2,0.503,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,10,1.915,27,0.435,29,0.671,30,0.001,31,0.494,32,0.122,33,0.402,34,1.242,35,1.214,36,2.64,51,4.233,55,1.471,87,2.403,94,4.462,95,0.133,101,0.006,103,0,104,0,129,1.411,130,1.965,135,1.676,145,3.974,148,1.14,195,2.161,197,1.332,219,2.629,228,1.579,230,4.813,277,0.682,290,2.646,317,2.875,339,2.129,347,2.449,433,0.892,484,5.221,489,4.01,571,4.19,578,2.498,618,3.075,652,2.62,657,3.086,688,2.222,700,2.306,701,2.306,702,2.36,711,2.548,725,5.125,745,5.221,756,3.508,758,3.254,923,4.01,938,3.872,979,9.805,986,4.414,1027,1.458,1086,5.04,1087,4.885,1088,4.961,1268,2.934,1546,3.757,2219,2.136,2234,3.254,2334,3.872,2345,2.902,2358,2.74,2447,3.676,2448,4.609,2848,7.99,3418,5.223,3469,3.205,3470,3.116,3848,3.872,4289,3.872,4887,6.789,4888,7.219,4891,5.724,4926,5.125,4939,6.943,7064,3.572,7601,4.01,9033,3.572,12115,5.574,12143,6.109,12144,6.109,12157,3.658,12490,2.934,13217,3.572,13752,8.275,13757,4.183,13942,3.757,14430,9.291,14434,9.291,14525,3.757,14529,7.214,14532,3.572,14537,3.658,14539,3.658,14578,7.146,14598,4.183,14605,6.109,14620,10.179,14634,4.01,14637,6.109,14690,7.72,14712,4.183,14792,6.725,14861,6.372,14877,4.183,14883,4.183,14884,4.183,14885,4.183,14905,6.372,14920,4.183,14922,4.414,14956,6.725,14958,6.725,14968,4.414,14972,6.725,14973,4.414,14974,6.725,14975,4.414,14976,4.414,14977,4.414,14978,6.725,14979,6.725,14982,4.414,14991,4.766,14992,9.835,14993,9.835,14994,8.796,14995,4.766,14996,4.766,14997,4.766,14998,4.766,14999,4.766,15000,4.766,15001,4.766,15002,7.261,15003,4.766,15004,4.766,15005,4.766,15006,8.796,15007,4.766,15008,4.766,15009,4.766,15010,4.766,15011,4.766,15012,9.835,15013,4.766,15014,4.766,15015,4.766,15016,4.766,15017,4.766,15018,4.766,15019,4.766,15020,4.766,15021,4.766,15022,4.766,15023,7.261,15024,4.766]],["title/classes/LdapAlreadyPersistedException.html",[0,0.241,15025,5.658]],["body/classes/LdapAlreadyPersistedException.html",[0,0.423,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.398,29,0.587,30,0.001,31,0.432,32,0.095,33,0.351,35,0.881,47,0.936,52,5.823,55,1.557,59,2.388,95,0.114,101,0.016,103,0,104,0,148,1.128,208,4.838,231,2.197,277,1.099,290,2.723,433,0.944,640,6.289,703,3.521,983,4.959,1027,2.351,1115,4.368,1237,3.543,1422,5.097,1423,5.937,1426,5.815,1468,5.937,1469,6.233,1472,5.679,2953,5.926,4970,5.27,10048,10.637,10121,5.636,13728,5.093,15025,8.3,15026,9.657,15027,6.465,15028,10.345,15029,10.292,15030,7.684,15031,10.292,15032,7.684,15033,6.465,15034,6.243,15035,6.243,15036,8.596,15037,6.243]],["title/classes/LdapAuthorizationBodyParams.html",[0,0.241,15038,5.86]],["body/classes/LdapAuthorizationBodyParams.html",[0,0.396,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.509,30,0.001,32,0.162,47,1.034,48,5.846,51,6.004,87,6.29,95,0.127,101,0.012,103,0.001,104,0.001,112,0.897,190,2.342,200,2.802,202,2.102,296,3.519,299,4.884,855,5.051,856,6.935,4588,4.273,6815,8.225,8366,9.293,15038,9.624,15039,13.451,15040,8.036,15041,8.48,15042,9.156,15043,9.156,15044,9.156]],["title/classes/LdapConfig.html",[0,0.241,15045,4.684]],["body/classes/LdapConfig.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.516,29,0.727,30,0.001,31,0.535,32,0.164,33,0.58,47,0.974,101,0.012,103,0.001,104,0.001,110,4.415,112,0.92,122,2.43,232,3.172,311,6.07,433,1.17,435,3.272,4917,8.195,5074,6.483,7243,5.174,8176,5.998,14597,8.36,15045,9.149,15046,13.606,15047,10.288,15048,8.822,15049,7.508,15050,9.525,15051,6.987,15052,9.525]],["title/classes/LdapConfigEntity.html",[0,0.241,15053,5.221]],["body/classes/LdapConfigEntity.html",[0,0.308,2,0.417,3,0.007,4,0.007,5,0.004,7,0.055,26,1.581,27,0.487,29,0.302,30,0.001,31,0.222,32,0.16,33,0.619,47,1.07,83,3.027,95,0.108,96,1.031,101,0.012,103,0,104,0,110,3.371,112,0.492,122,1.301,134,1.399,153,0.639,157,0.914,159,0.404,172,1.686,185,1.353,190,2.206,195,3.082,196,4.474,197,1.104,205,1.59,211,6.671,223,4.453,224,1.144,225,2.404,226,1.796,228,1.401,229,1.558,231,0.682,232,1.069,233,1.225,331,1.754,433,0.485,540,1.311,561,1.779,620,2.459,628,2.357,886,2.471,997,2.459,1454,2.432,1561,2.788,1593,2.432,1821,1.871,2070,2.13,2109,1.731,2161,2.618,2186,3.032,2712,3.183,2946,2.114,4654,3.311,4692,4.511,4726,2.406,4917,5.036,5074,4.538,5210,2.114,5215,2.251,6206,3.607,6288,1.606,6369,3.163,6686,3.203,6706,2.549,6707,2.741,7243,3.408,8176,2.487,8262,2.656,8318,3.781,10475,2.618,11509,5.173,13579,6.167,13640,3.95,13653,2.961,13654,2.961,13655,2.897,13656,2.961,13700,2.656,13703,2.583,13705,2.656,13708,2.656,13711,2.432,13715,2.618,13826,4.284,13988,3.032,14382,3.744,14395,4.858,14396,2.487,14397,2.487,14648,4.511,14654,4.048,14765,2.961,15045,5.248,15049,3.114,15051,4.602,15053,7.268,15054,3.209,15055,6.34,15056,6.34,15057,6.34,15058,6.34,15059,6.34,15060,6.34,15061,6.34,15062,6.34,15063,5.097,15064,3.95,15065,3.95,15066,3.95,15067,3.95,15068,3.95,15069,3.95,15070,3.95,15071,3.95,15072,3.95,15073,3.95,15074,3.95,15075,3.95,15076,3.95,15077,4.602,15078,4.219,15079,2.897,15080,4.816,15081,6.662,15082,4.219,15083,3.209,15084,4.602,15085,3.032,15086,4.602,15087,3.032,15088,2.961,15089,2.961,15090,2.961,15091,3.032,15092,2.961,15093,2.961,15094,2.961,15095,3.032,15096,3.032,15097,2.961,15098,3.032,15099,2.961,15100,2.961,15101,2.961,15102,3.032,15103,4.219,15104,3.114,15105,2.84,15106,3.209,15107,3.209,15108,3.209,15109,3.209,15110,3.209,15111,3.209,15112,3.209,15113,3.209,15114,3.209,15115,3.032,15116,3.209,15117,3.209,15118,3.209,15119,3.209,15120,3.209,15121,3.209,15122,3.114,15123,3.209,15124,3.209,15125,2.897,15126,3.209,15127,3.209,15128,3.209,15129,3.209,15130,3.209,15131,3.209,15132,3.209,15133,3.209,15134,3.209,15135,3.209,15136,3.209,15137,3.209,15138,3.209,15139,3.209,15140,3.032,15141,3.209,15142,3.114,15143,3.032,15144,3.114,15145,3.032,15146,3.032,15147,3.114,15148,3.032,15149,3.114,15150,3.032,15151,2.897,15152,2.897,15153,2.897,15154,2.961,15155,3.209,15156,2.897,15157,2.549,15158,3.032,15159,3.209,15160,3.032,15161,3.209,15162,3.209,15163,3.209,15164,3.209,15165,3.209,15166,2.961,15167,3.114,15168,3.032,15169,3.114]],["title/classes/LdapConnectionError.html",[0,0.241,15170,6.113]],["body/classes/LdapConnectionError.html",[0,0.274,2,0.837,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.525,29,0.605,30,0.001,31,0.445,32,0.173,33,0.532,35,0.909,47,0.856,55,1.606,59,2.464,95,0.116,101,0.01,103,0,104,0,112,0.818,155,3.952,190,2.306,228,2.505,231,1.799,233,2.457,277,1.134,393,3.925,402,2.851,433,0.974,436,3.901,644,6.351,868,5.96,871,2.917,998,5.519,1078,5.425,1080,4.292,1115,4.435,1354,8.703,1355,7.396,1356,7.62,1360,5.254,1361,4.557,1362,5.254,1363,5.254,1364,5.254,1365,5.254,1366,5.254,1367,4.88,1368,4.479,1374,5.115,4921,7.013,13728,6.912,15170,9.153,15171,10.429,15172,7.927,15173,10.429,15174,7.927,15175,7.927,15176,7.927]],["title/injectables/LdapService.html",[589,0.926,1529,5.86]],["body/injectables/LdapService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,8,1.083,27,0.423,29,0.828,30,0.001,31,0.609,32,0.134,33,0.496,35,1.087,36,2.47,47,1.017,51,6.249,87,6.67,95,0.141,101,0.009,103,0,104,0,110,2.392,135,1.411,148,0.932,153,1.754,228,1.236,277,0.984,290,1.632,317,2.346,347,3.536,395,5.075,400,2.018,433,0.845,478,1.928,579,2.707,589,1.26,591,1.632,652,2.206,657,1.574,745,4.948,1027,2.106,1080,2.385,1313,4.698,1314,5.047,1329,7.119,1330,5.789,1529,7.977,1984,6.375,2088,2.949,2447,3.963,2448,5.478,2831,4.342,2851,5.424,2863,6.039,3282,4.627,3430,5.076,3862,5.59,4281,6.039,4283,6.039,4921,4.627,5210,6.95,8979,8.321,13728,4.561,14724,7.278,15045,6.375,15115,5.282,15170,8.321,15177,6.881,15178,9.481,15179,6.881,15180,9.481,15181,6.881,15182,9.481,15183,6.881,15184,6.373,15185,6.881,15186,6.881,15187,6.881,15188,6.881,15189,6.881,15190,6.881,15191,6.881,15192,6.881,15193,5.047,15194,6.881,15195,6.881,15196,6.881,15197,6.881,15198,6.881,15199,8.781,15200,6.881,15201,6.881,15202,6.881,15203,6.881,15204,6.373,15205,6.881,15206,6.881]],["title/injectables/LdapStrategy.html",[589,0.926,1530,6.113]],["body/injectables/LdapStrategy.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.06,8,0.771,27,0.418,29,0.856,30,0.001,31,0.669,32,0.153,33,0.491,34,0.741,35,1.162,36,2.269,39,1.203,47,0.949,48,5.705,51,5.167,66,7.019,72,1.99,87,6.004,94,6.042,95,0.144,101,0.006,103,0,104,0,125,2.228,130,2.531,135,1.584,142,3.386,148,0.919,153,1.513,158,1.6,159,0.443,172,3.992,180,2.892,193,2.943,194,2.652,195,0.952,228,1.928,230,4.473,231,1.164,233,1.343,268,6.826,277,0.62,279,1.797,290,2.405,304,2.146,317,2.576,325,3.342,347,2.227,349,3.424,379,3.424,412,1.925,433,0.829,478,1.214,532,3.937,571,1.715,579,2.671,589,0.897,591,1.028,629,3.561,652,2.719,653,1.782,657,2.723,671,6.861,675,2.213,703,3.294,985,2.514,1027,1.326,1080,3.242,1213,4.3,1220,2.491,1328,3.586,1329,4.11,1396,5.348,1526,8.604,1529,9.431,1530,5.923,1531,6.603,1545,3.059,1551,3.646,1552,4.014,1561,3.059,1689,6.251,1701,6.251,1712,3.327,1829,1.857,1853,1.422,1984,5.573,1998,3.416,2071,5.99,2232,2.47,2447,4.685,2587,3.327,3430,5.034,3925,3.416,3972,2.872,4530,4.014,4588,3.204,4593,6.842,5004,2.797,5138,3.612,5210,5.426,6251,2.959,6388,3.007,6571,2.914,8102,3.248,9636,4.95,9936,5.482,9962,3.327,10118,7.676,12171,3.327,13528,3.646,13728,6.2,14361,3.646,14461,3.327,14465,5.482,14470,3.521,15038,6.973,15193,3.179,15207,4.334,15208,7.676,15209,6.748,15210,6.748,15211,3.646,15212,6.733,15213,4.334,15214,5.058,15215,4.334,15216,4.334,15217,6.748,15218,4.334,15219,6.748,15220,4.334,15221,4.334,15222,6.251,15223,4.334,15224,4.334,15225,4.014,15226,4.334,15227,4.334,15228,4.014,15229,3.521,15230,4.014,15231,4.334,15232,4.334,15233,4.334,15234,4.014,15235,4.334,15236,4.334,15237,4.014,15238,6.251,15239,4.014,15240,4.014,15241,4.334,15242,4.014,15243,4.334,15244,4.334,15245,4.334,15246,4.014,15247,6.748,15248,3.804,15249,4.334,15250,4.334,15251,6.251,15252,4.334,15253,2.959,15254,4.334,15255,4.334]],["title/classes/LdapUserMigrationException.html",[0,0.241,15028,5.658]],["body/classes/LdapUserMigrationException.html",[0,0.437,2,0.878,3,0.015,4,0.015,5,0.007,30,0.001,47,0.877,52,6.053,55,1.686,95,0.12,101,0.016,103,0.001,104,0.001,148,1.173,208,5.24,231,2.254,277,1.19,290,1.974,640,6.626,703,3.661,983,5.37,1027,2.546,1115,4.541,1237,3.456,1422,5.05,1423,5.882,1426,5.299,1468,5.882,1469,6.175,1472,5.984,2953,6.921,4970,3.821,10048,10.249,10121,6.103,13728,5.515,15025,6.76,15026,7.001,15027,7.001,15028,10.615,15029,10.039,15031,10.039,15033,7.001,15034,6.76,15035,6.76,15036,9.057,15037,6.76]],["title/interfaces/Learnroom.html",[159,0.712,3907,4.554]],["body/interfaces/Learnroom.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.127,95,0.114,99,2.066,101,0.016,103,0.001,104,0.001,112,0.962,159,1.254,161,2.443,527,5.21,569,3.81,2955,6.617,3907,8.015,4174,9.137,5607,6.535,5608,6.704,7550,8.992,15256,9.498]],["title/modules/LearnroomApiModule.html",[252,1.839,15257,5.86]],["body/modules/LearnroomApiModule.html",[0,0.222,3,0.012,4,0.012,5,0.006,30,0.001,95,0.152,101,0.008,103,0,104,0,252,2.761,254,2.313,255,2.455,256,2.517,257,2.508,258,2.499,259,3.799,260,2.389,268,7.555,269,3.54,270,2.472,271,2.422,273,4.048,274,3.764,276,4.095,277,0.919,279,2.665,412,2.855,685,3.729,1856,7.07,1903,9.099,1908,8.757,1911,7.636,1939,3.417,2051,2.721,2680,2.952,2903,4.203,3036,3.013,3283,9.298,3318,3.958,3319,3.664,3320,4.461,4029,4.39,4823,4.716,7378,9.298,7629,9.181,7645,10.437,7648,10.437,7722,10.437,8399,9.181,8416,10.437,8685,9.779,8770,6.942,8793,4.819,9051,8.757,9720,9.779,9811,10.078,10031,4.935,12253,4.935,12254,4.935,15257,12.396,15258,6.429,15259,6.429,15260,6.429,15261,10.437,15262,10.437,15263,10.437,15264,6.429,15265,9.181,15266,6.429,15267,6.429,15268,6.429,15269,6.429,15270,5.955,15271,6.429,15272,5.955]],["title/interfaces/LearnroomElement.html",[159,0.712,2955,4.494]],["body/interfaces/LearnroomElement.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,95,0.112,99,2.03,101,0.016,103,0.001,104,0.001,112,0.951,159,1.24,161,2.4,527,5.74,569,3.77,2955,7.827,3907,6.587,4174,6.775,5607,8.608,5608,8.831,7550,8.897,15256,9.332]],["title/modules/LearnroomModule.html",[252,1.839,9051,4.917]],["body/modules/LearnroomModule.html",[0,0.215,3,0.011,4,0.011,5,0.006,30,0.001,95,0.144,101,0.008,103,0,104,0,252,2.707,254,2.231,255,2.368,256,2.428,257,2.419,258,2.41,259,3.725,260,3.811,265,5.687,268,7.466,269,3.451,270,2.385,271,2.336,276,3.451,277,0.887,279,2.571,610,2.445,685,3.597,1027,1.898,1908,8.654,1910,9.411,1911,7.547,1932,9.19,1933,4.377,2018,9.006,3270,10.315,3283,9.19,3318,3.817,3319,3.534,3320,4.303,3321,5.038,5611,10.315,5738,11.432,7378,9.19,7666,11.039,7673,11.039,7819,11.925,8433,10.315,8685,9.664,8770,6.766,8807,11.925,9051,10.44,10031,4.76,15272,5.744,15273,6.201,15274,6.201,15275,6.201,15276,6.201,15277,9.19,15278,6.201]],["title/injectables/LegacyLogger.html",[589,0.926,2448,3.264]],["body/injectables/LegacyLogger.html",[0,0.318,3,0.01,4,0.01,5,0.005,7,0.071,8,1.167,27,0.496,29,0.954,30,0.001,31,0.726,32,0.155,33,0.571,35,1.402,47,1.031,59,3.696,72,2.356,95,0.128,101,0.007,102,2.727,103,0,104,0,112,0.602,125,2.191,129,2.273,130,1.389,135,0.999,141,2.199,148,0.755,153,0.83,158,4.39,161,1.222,183,5.46,228,0.921,277,0.734,339,2.994,412,3.41,433,0.63,515,2.808,525,2.69,569,4.017,589,1.021,591,1.217,610,3.028,622,6.052,652,2.589,688,2.392,1042,5.089,1080,2.661,1115,4.845,1212,3.311,1220,2.95,1237,2.664,1379,5.52,2164,2.38,2447,5.225,2448,3.598,2588,3.231,2834,3.401,2915,4.627,3282,3.45,4237,3.311,4955,8.348,4999,5.631,5927,3.194,6288,3.121,9099,6.459,9989,8.961,9999,4.503,10000,6.052,10003,4.503,11346,7.473,12171,3.939,12687,6.459,13764,9.594,13767,4.503,13768,6.738,13769,7.111,13771,7.111,13772,9.457,13774,7.111,13775,8.961,13777,7.111,13779,7.111,15279,12.924,15280,5.131,15281,7.677,15282,9.457,15283,9.457,15284,7.677,15285,7.677,15286,5.131,15287,5.131,15288,5.131,15289,5.131,15290,5.131,15291,7.111,15292,5.131,15293,7.677,15294,5.131,15295,5.131,15296,7.677,15297,7.677,15298,6.052,15299,7.677,15300,5.131,15301,5.131,15302,4.753,15303,4.169,15304,5.131,15305,4.169,15306,4.753,15307,4.169,15308,5.131,15309,5.131,15310,5.131,15311,5.131,15312,5.131,15313,6.459,15314,5.131,15315,4.753,15316,4.753]],["title/modules/LegacySchoolApiModule.html",[252,1.839,15317,5.86]],["body/modules/LegacySchoolApiModule.html",[0,0.308,3,0.017,4,0.017,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.253,254,3.206,255,3.403,256,3.489,257,3.476,258,3.464,259,4.475,260,3.312,269,4.403,270,3.427,271,3.357,274,4.682,276,4.403,277,1.274,314,3.391,997,5.547,1525,9.798,1540,6.184,1856,7.765,2615,5.079,2680,4.093,3036,4.176,6077,9.031,15317,12.105,15318,8.912,15319,8.912,15320,8.912,15321,11.465,15322,7.498,15323,7.822,15324,8.255,15325,10.815,15326,8.912]],["title/classes/LegacySchoolDo.html",[0,0.241,2071,4.116]],["body/classes/LegacySchoolDo.html",[0,0.228,2,0.697,3,0.012,4,0.012,5,0.006,7,0.092,26,2.447,27,0.54,29,0.504,30,0.001,31,0.645,32,0.171,33,0.655,34,1.575,47,0.978,83,2.7,95,0.118,99,1.329,101,0.008,102,6.101,103,0,104,0,112,0.722,122,1.909,231,1.981,233,2.045,326,2.511,433,0.811,436,1.949,458,2.631,478,1.848,704,5.416,734,3.881,1829,3.947,1852,7.392,1883,3.457,1941,6.021,2071,7.136,2184,2.612,4215,6.39,4714,8.12,4731,5.065,5215,6.045,6696,4.84,7501,7.361,7509,7.133,7587,4.946,7895,3.977,8220,5.065,10107,6.935,10112,4.946,10917,5.791,11507,7.748,11508,7.069,11509,8.004,12561,7.133,13328,5.791,15105,4.744,15253,7.243,15327,13.843,15328,6.598,15329,8.143,15330,7.781,15331,7.628,15332,9.209,15333,9.209,15334,6.598,15335,7.628,15336,6.598,15337,6.598,15338,6.598,15339,6.598,15340,6.598,15341,6.598,15342,6.598,15343,6.598,15344,6.598,15345,6.598,15346,6.598,15347,5.36,15348,6.598,15349,5.065,15350,6.598,15351,4.946,15352,6.598,15353,6.598,15354,6.598,15355,6.598,15356,6.598,15357,5.201,15358,6.598,15359,6.598]],["title/classes/LegacySchoolFactory.html",[0,0.241,15360,6.451]],["body/classes/LegacySchoolFactory.html",[0,0.175,2,0.533,3,0.009,4,0.009,5,0.005,7,0.07,8,0.866,27,0.514,29,1.017,30,0.001,31,0.723,32,0.167,33,0.579,34,1.297,35,1.427,47,0.557,55,2.396,59,3.374,95,0.113,101,0.006,103,0,104,0,112,0.595,113,4.53,127,5.075,129,3.603,130,3.292,135,0.657,148,0.496,153,1.638,157,2.108,172,3.236,185,2.597,192,2.784,195,1.109,205,1.856,206,2.474,228,1.362,231,1.308,326,4.825,374,3.293,433,0.62,436,3.896,467,2.207,501,7.164,502,5.63,505,4.216,506,5.63,507,5.404,508,4.216,509,4.216,510,4.216,511,4.15,512,4.65,513,5.063,514,6.609,515,5.941,516,7.078,517,2.829,522,2.806,523,4.216,524,2.829,525,5.308,526,5.46,527,4.303,528,5.138,529,4.182,530,2.806,531,2.646,532,4.181,533,2.682,534,2.646,535,2.806,536,2.829,537,4.985,538,2.806,539,7.048,540,4.037,541,6.764,542,2.829,543,3.69,544,2.806,545,2.829,546,2.806,547,2.829,548,2.806,551,2.806,552,6.24,553,2.829,554,2.806,555,4.216,556,3.847,557,4.216,558,2.829,559,2.721,560,2.682,561,2.273,562,2.806,563,2.806,564,2.806,565,2.829,566,2.829,567,1.882,568,2.806,569,1.569,570,2.829,571,3.002,572,2.806,573,2.829,576,2.983,704,2.577,756,4.038,1853,1.656,2071,2.983,4696,6.43,4698,3.629,4714,3.394,5215,2.877,7509,3.394,10107,3.3,11509,3.345,15125,3.702,15253,3.446,15329,3.874,15330,3.702,15360,7.024,15361,5.047,15362,5.047,15363,5.047,15364,4.1,15365,5.047,15366,5.047,15367,5.047,15368,5.047,15369,5.047,15370,5.047,15371,10.126,15372,5.047,15373,5.047,15374,5.047,15375,5.047,15376,5.047,15377,5.047,15378,5.047]],["title/modules/LegacySchoolModule.html",[252,1.839,6077,4.616]],["body/modules/LegacySchoolModule.html",[0,0.257,3,0.014,4,0.014,5,0.007,30,0.001,95,0.14,101,0.009,102,6.408,103,0,104,0,252,2.976,254,2.667,255,2.831,256,2.903,257,2.892,258,2.882,259,4.094,260,4.189,265,6.011,269,3.905,270,2.851,271,2.793,276,3.905,277,1.06,279,3.074,610,2.924,1027,2.269,1531,9.148,2066,9.284,2071,5.895,2615,4.226,2636,3.629,6077,9.733,11493,10.903,11499,11.785,15322,6.238,15379,7.414,15380,7.414,15381,7.414,15382,7.414,15383,11.379,15384,11.785,15385,10.903,15386,10.903,15387,10.903,15388,7.414,15389,7.477]],["title/injectables/LegacySchoolRepo.html",[589,0.926,1531,4.917]],["body/injectables/LegacySchoolRepo.html",[0,0.159,3,0.009,4,0.009,5,0.004,7,0.064,8,0.806,10,2.835,12,3.193,18,3.536,26,2.394,27,0.51,29,0.987,30,0.001,31,0.741,32,0.16,33,0.591,34,1.47,35,1.464,36,2.614,40,2.222,47,0.89,48,4.878,95,0.132,96,1.842,97,1.852,99,0.925,101,0.006,102,5.127,103,0,104,0,112,0.36,113,1.824,125,1.094,135,1.255,142,3.769,148,1.023,153,1.141,185,2.417,205,1.751,224,1.33,228,1.267,231,1.218,277,0.657,317,2.92,347,2.359,433,0.564,436,3.654,478,1.286,569,1.427,579,1.311,589,0.938,591,1.089,652,2.235,657,1.614,692,5.124,703,2.165,704,4.925,729,4.818,735,3.193,736,5.125,756,1.831,766,2.458,1027,1.405,1312,2.163,1531,4.981,1770,3.44,1853,1.506,2071,7.437,2140,2.617,2437,8.973,2439,5.074,2440,4.981,2441,4.981,2442,5.074,2443,5.074,2444,4.981,2445,3.301,2446,5.24,2447,4.032,2448,4.52,2450,5.074,2451,3.301,2453,3.301,2455,4.614,2456,4.818,2457,3.301,2460,5.074,2462,3.186,2463,7.758,2464,4.981,2465,4.17,2467,3.301,2468,5.074,2470,3.301,2472,2.767,2473,2.858,2474,3.087,2476,3.301,2484,3.186,2938,4.057,4714,4.745,4768,2.767,4769,3.619,4984,2.891,5210,3.777,5215,4.898,6878,3.368,6879,3.368,6880,3.368,6881,3.368,6882,3.368,6883,3.368,6884,3.368,6892,3.525,7211,4.554,7509,4.745,10107,7.185,10718,3.525,10801,4.03,11509,4.677,12899,3.863,14370,7.837,15193,3.368,15253,4.818,15329,5.417,15330,5.176,15331,3.301,15389,5.289,15390,10.41,15391,4.591,15392,6.193,15393,7.057,15394,4.591,15395,6.193,15396,4.591,15397,7.057,15398,4.591,15399,4.591,15400,4.591,15401,4.591,15402,3.442,15403,4.253,15404,4.591,15405,4.591,15406,4.591,15407,4.591,15408,4.591,15409,4.591,15410,4.253,15411,4.591,15412,4.591,15413,4.253,15414,4.591,15415,4.591,15416,4.591,15417,4.591,15418,4.591,15419,4.591,15420,4.253,15421,4.591,15422,4.591,15423,4.591,15424,4.253,15425,4.591,15426,4.591,15427,4.591,15428,4.591,15429,4.253,15430,7.057,15431,4.591,15432,4.591]],["title/injectables/LegacySchoolRule.html",[589,0.926,1871,5.86]],["body/injectables/LegacySchoolRule.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.448,29,0.877,30,0.001,31,0.645,32,0.151,33,0.525,35,1.173,95,0.146,101,0.01,102,6.506,103,0,104,0,122,2.538,135,1.331,148,1.005,183,4.387,185,4.364,205,2.341,228,1.383,277,1.101,290,3.26,400,2.257,433,0.946,478,2.157,589,1.36,591,1.826,653,3.166,711,3.795,1237,2.23,1767,6.649,1775,6.7,1801,8.064,1838,7.378,1849,4.388,1852,7.234,1853,2.526,1871,8.607,1982,6.519,1986,6.297,1993,5.033,2071,7.9,2619,6.519,3711,5.103,3714,6.601,3716,5.103,3717,6.78,3718,5.536,4768,4.64,7003,5.435,15389,7.667,15433,12.241,15434,7.699,15435,7.699,15436,7.699,15437,7.699]],["title/injectables/LegacySchoolService.html",[589,0.926,2066,4.616]],["body/injectables/LegacySchoolService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.081,8,0.96,18,4.209,26,2.505,27,0.482,29,0.944,30,0.001,31,0.694,32,0.153,33,0.565,34,0.991,35,1.374,36,2.836,47,0.986,48,5.075,95,0.134,99,1.168,101,0.007,102,5.756,103,0,104,0,129,1.717,130,1.569,135,1.559,142,3.041,148,1.13,197,2.761,205,1.182,228,1.508,277,0.829,279,2.404,317,3.023,433,1.032,478,1.624,552,3.173,589,1.117,591,1.375,652,1.709,657,2.895,703,2.577,704,2.96,1213,6.902,1373,3.531,1531,7.645,1853,1.902,2066,5.568,2071,7.929,2615,7.216,4588,2.877,7739,7.784,14370,9.737,14921,7.78,15212,6.824,15228,7.78,15335,9.104,15386,10.402,15389,6.296,15410,5.37,15438,12.661,15439,5.798,15440,8.4,15441,8.4,15442,8.4,15443,8.4,15444,8.4,15445,5.37,15446,5.798,15447,8.4,15448,5.798,15449,8.4,15450,5.798,15451,8.4,15452,5.798,15453,5.798,15454,8.4,15455,5.798,15456,8.4,15457,5.798,15458,8.4,15459,5.798,15460,5.798,15461,8.4,15462,5.798,15463,5.798,15464,8.4,15465,5.798,15466,5.798,15467,5.798,15468,5.798]],["title/injectables/LegacySystemRepo.html",[589,0.926,671,5.109]],["body/injectables/LegacySystemRepo.html",[0,0.23,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,10,3.717,12,4.187,18,4.636,26,1.875,27,0.501,29,0.924,30,0.001,31,0.68,32,0.165,33,0.553,34,1.136,35,1.437,36,2.718,40,3.214,49,3.484,95,0.135,99,1.338,101,0.009,102,4.917,103,0,104,0,129,1.967,135,0.864,148,1.046,153,1.496,158,2.452,185,3.169,205,1.354,206,3.018,231,1.596,252,1.753,277,0.95,317,2.976,412,2.95,436,3.401,478,1.861,532,5,571,2.629,579,1.896,589,1.23,591,1.576,610,2.619,671,6.786,728,7.459,734,3.899,735,4.187,736,5.241,759,3.963,760,4.045,761,4.003,762,4.045,763,4.609,764,4.003,765,4.045,766,3.555,771,4.776,809,4.342,1086,3.162,1087,3.065,1088,3.112,1089,3.308,1166,4.402,1167,4.089,1393,6.067,1829,2.847,1941,4.342,1995,4.872,2038,4.233,2370,3.722,2456,6.316,2513,3.785,3430,2.884,5210,4.952,5953,7.056,6288,3.76,6895,4.535,15214,4.978,15469,11.513,15470,6.642,15471,9.075,15472,8.569,15473,6.642,15474,8.569,15475,9.075,15476,6.642,15477,6.642,15478,8.12,15479,6.642,15480,6.152,15481,5.829,15482,4.776,15483,6.642,15484,6.642,15485,6.152,15486,6.642,15487,6.642,15488,6.642,15489,6.642,15490,9.251]],["title/injectables/LegacySystemService.html",[589,0.926,15491,5.346]],["body/injectables/LegacySystemService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.915,12,3.623,18,4.012,26,2.127,27,0.436,29,0.855,30,0.001,31,0.629,32,0.162,33,0.511,34,1.369,35,1.204,36,2.627,40,3.875,59,1.688,95,0.139,99,1.094,100,1.893,101,0.007,102,4.255,103,0,104,0,110,2.784,135,1.237,148,1.191,153,1.538,185,2.742,228,1.438,277,0.776,279,2.251,317,2.865,346,3.983,393,2.689,412,2.411,433,0.984,478,1.521,579,1.55,589,1.064,591,1.288,610,2.141,647,3.983,648,3.419,652,2.277,657,2.993,671,7.7,675,2.772,1829,2.327,1941,3.55,1995,3.983,2370,3.043,2456,3.707,3430,5.259,5210,6.793,5215,6.675,5394,7.497,5397,7.416,6686,4.088,13094,7.767,13640,3.419,13886,8.275,14382,4.777,14654,5.166,15082,5.384,15193,5.873,15211,4.568,15214,6.001,15475,8.275,15480,5.029,15481,4.765,15482,5.757,15485,7.416,15491,6.146,15492,11.712,15493,5.429,15494,8.006,15495,8.006,15496,8.809,15497,5.429,15498,5.429,15499,8.006,15500,5.429,15501,8.006,15502,5.429,15503,8.006,15504,5.429,15505,4.765,15506,4.765,15507,5.429,15508,4.765,15509,8.006,15510,7.416,15511,5.429,15512,8.006,15513,5.029,15514,5.429,15515,5.429,15516,5.429,15517,5.429,15518,5.429,15519,5.429,15520,4.568,15521,8.006,15522,7.727,15523,8.006,15524,8.002,15525,8.006,15526,8.006,15527,6.736,15528,8.006,15529,7.416,15530,8.006,15531,7.416,15532,8.006,15533,5.429,15534,5.429,15535,5.029,15536,8.006,15537,5.429,15538,9.511,15539,5.429,15540,5.429,15541,5.429,15542,5.429,15543,5.429,15544,5.429]],["title/modules/LessonApiModule.html",[252,1.839,15545,5.86]],["body/modules/LessonApiModule.html",[0,0.32,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.307,254,3.324,255,3.529,256,3.617,257,3.604,258,3.591,259,4.55,260,3.434,269,4.504,270,3.553,271,3.48,273,5.818,274,4.789,276,4.504,277,1.321,314,3.516,1856,7.836,1908,9.707,2680,4.243,3036,4.33,15545,12.039,15546,9.24,15547,9.24,15548,9.24,15549,11.569,15550,9.24,15551,10.995,15552,9.24]],["title/entities/LessonBoardElement.html",[205,1.419,2968,5.658]],["body/entities/LessonBoardElement.html",[0,0.335,3,0.018,4,0.018,5,0.009,7,0.135,27,0.378,30,0.001,32,0.12,95,0.143,96,2.529,101,0.012,103,0.001,104,0.001,112,0.929,190,1.736,205,2.414,206,3.16,224,2.806,231,1.671,232,2.621,457,5.385,2715,5.473,2939,9.336,2957,7.186,2958,6.837,2961,8.36,2963,8.149,2968,9.622,3011,6.09,3325,7.435,3356,9.965,5727,4.516,5728,8.501,15553,11.843,15554,8.971,15555,9.965,15556,9.686]],["title/controllers/LessonController.html",[314,2.65,15551,6.113]],["body/controllers/LessonController.html",[0,0.312,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,10,4.977,27,0.351,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,36,2.394,95,0.149,100,3.143,101,0.012,103,0.001,104,0.001,135,1.173,141,4.854,148,0.886,190,1.615,202,2.069,228,1.618,274,3.751,277,1.289,314,3.429,316,4.337,317,2.679,325,6.434,349,6.792,388,3.863,392,4.692,395,4.824,398,4.859,400,2.642,657,2.061,3036,4.223,3220,7.405,3240,4.631,5788,5.136,15549,10.421,15551,9.94,15557,9.012,15558,7.582,15559,10.243,15560,11.326,15561,9.012,15562,9.012,15563,9.012,15564,7.582,15565,9.012,15566,8.347]],["title/classes/LessonCopyApiParams.html",[0,0.241,7428,5.86]],["body/classes/LessonCopyApiParams.html",[0,0.403,2,0.996,3,0.017,4,0.017,5,0.008,7,0.131,27,0.368,30,0.001,32,0.117,33,0.532,34,1.993,47,0.856,95,0.13,100,4.064,101,0.012,103,0.001,104,0.001,112,0.914,157,2.927,190,1.691,200,2.887,201,4.53,202,2.166,300,4.466,304,4.672,855,4.719,1562,9.187,1937,5.49,2027,6.19,2033,4.42,2608,7.024,2959,5.352,3197,6.238,3198,6.238,3668,5.913,7183,10.229,7428,9.806,8076,9.187,12495,8.281,15567,11.654,15568,8.74,15569,8.74]],["title/injectables/LessonCopyUC.html",[589,0.926,15261,5.86]],["body/injectables/LessonCopyUC.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.081,8,0.959,26,2.504,27,0.448,29,0.826,30,0.001,31,0.608,32,0.134,33,0.494,35,1.241,36,1.773,39,1.607,95,0.144,99,1.166,101,0.007,103,0,104,0,122,1.2,135,1.678,148,0.569,153,1.357,228,2.063,277,0.828,279,2.4,290,3.182,317,2.135,433,1.031,478,1.622,569,3.571,579,2.396,589,1.115,591,1.373,641,4.782,652,2.812,657,2.475,693,2.633,980,3.193,1080,2.007,1115,2.203,1268,6.075,1312,2.727,1780,3.49,1833,4.704,1862,5.752,1911,7.607,1937,2.727,2033,4.104,2038,3.69,2219,2.595,2220,2.919,2221,2.818,2222,3.646,2608,3.49,2680,2.659,2681,3.455,2957,6.194,3276,7.06,3285,10.397,3287,9.064,3293,9.741,3300,11.096,3305,6.452,3318,3.564,3319,3.3,3320,4.017,3370,5.081,3371,5.081,3372,5.363,3910,6.615,5098,4.564,5138,3.099,5747,8.437,5762,6.075,7395,7.06,7430,10.024,7686,6.817,7724,5.081,7725,9.106,7731,5.081,7737,5.081,7738,5.081,7739,3.646,13205,8.304,15261,7.06,15570,11.979,15571,8.391,15572,8.391,15573,5.79,15574,5.79,15575,8.391,15576,5.363,15577,5.79,15578,8.391,15579,5.79,15580,7.772,15581,5.79,15582,5.79,15583,5.363,15584,5.081,15585,5.79,15586,6.615,15587,5.363,15588,5.79,15589,5.79,15590,5.79,15591,5.79,15592,5.79,15593,5.79,15594,5.79,15595,5.79,15596,8.391,15597,5.79,15598,5.79,15599,5.79,15600,5.79,15601,5.79,15602,8.391,15603,4.871,15604,5.79]],["title/entities/LessonEntity.html",[205,1.419,2957,3.755]],["body/entities/LessonEntity.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.128,26,2.023,27,0.447,30,0.001,31,0.516,32,0.142,33,0.301,47,0.99,55,2.147,95,0.134,96,1.096,101,0.016,103,0,104,0,110,3.196,112,0.516,122,1.365,125,1.934,129,2.404,130,2.197,134,1.487,135,1.626,145,1.576,148,1.228,153,1.713,155,2.934,157,1.879,158,1.55,159,1.173,190,2.056,195,2.194,196,2.184,197,2.269,205,1.341,206,1.37,223,3.574,224,1.216,225,2.522,226,1.909,229,1.656,231,0.724,232,1.136,233,1.301,277,0.6,290,0.996,371,3.498,527,1.784,579,1.879,595,1.592,613,3.784,652,1.339,653,1.727,711,1.216,789,2.297,886,1.329,1237,1.216,1312,1.977,1821,1.988,1842,3.008,1937,3.101,2027,3.222,2033,4.349,2051,1.776,2184,1.662,2393,4.06,2831,1.68,2912,3.887,2942,4.914,2946,4.921,2950,2.334,2955,4.248,2956,2.505,2957,4.957,2959,3.729,2960,4.145,2972,4.303,3076,4.921,3668,4.119,3774,6.288,3793,5.838,3930,2.963,3931,2.963,4441,3.89,4600,2.643,4664,1.891,5266,5.46,5607,2.675,5608,2.745,5727,1.957,5760,6.929,5772,3.018,5788,2.392,5795,4.248,5800,7.338,5813,3.018,5819,3.018,5824,3.018,6204,4.733,6205,3.079,6206,2.413,6207,6.843,6208,2.823,6209,5.24,6210,3.079,6211,4.195,6212,4.647,6213,6.277,6214,7.342,6215,4.733,6216,4.733,6217,3.018,6218,4.733,6219,4.733,6220,4.733,6221,3.079,6222,4.733,6223,2.823,6224,4.733,6225,4.733,6226,7.351,6227,3.079,6228,3.079,6229,3.079,6230,4.363,6231,4.248,6232,2.643,6233,4.647,6234,4.647,6235,4.828,6236,4.828,6237,4.828,6238,4.303,6239,4.828,6240,2.782,6241,5.732,6242,2.963,6243,4.828,6244,3.079,6245,3.079,6246,3.079,6247,2.913,6248,3.079,6249,3.079,6250,4.828,6251,4.494,6252,3.079,6253,3.079,6254,6.743,6255,5.956,6256,3.018,6257,5.838,6258,3.079,6259,3.079,6260,3.079,6261,3.079,6262,3.079,6263,3.079,6264,3.079,6265,3.079,6266,3.079,6267,3.079,6268,3.079,6269,2.913,6270,4.426,6271,3.079,6272,3.079,7775,3.684,15605,4.198,15606,4.198,15607,4.198,15608,4.198,15609,4.198,15610,4.198,15611,4.198,15612,4.198,15613,4.198]],["title/classes/LessonFactory.html",[0,0.241,15614,6.451]],["body/classes/LessonFactory.html",[0,0.172,2,0.525,3,0.009,4,0.009,5,0.004,7,0.069,8,0.857,27,0.513,29,1.014,30,0.001,31,0.721,32,0.167,33,0.577,34,1.543,35,1.421,47,0.551,55,2.384,59,3.352,95,0.101,101,0.006,103,0,104,0,112,0.588,113,4.504,127,5.037,129,3.587,130,3.278,135,1.174,148,0.489,157,2.089,172,3.2,185,2.568,192,2.742,197,1.39,205,2.198,206,2.446,228,1.346,231,1.294,326,4.882,374,3.256,433,0.611,436,3.884,467,2.182,478,1.393,501,7.331,502,5.587,505,4.168,506,5.587,507,5.505,508,4.168,509,4.168,510,4.168,511,4.104,512,4.608,513,5.018,514,6.579,515,5.903,516,7.119,517,2.787,522,2.764,523,4.168,524,2.787,525,5.268,526,5.419,527,4.271,528,5.099,529,4.135,530,2.764,531,2.606,532,4.158,533,2.643,534,2.606,535,2.764,536,2.787,537,4.94,538,2.764,539,7.021,540,4.019,541,6.733,542,2.787,543,4.393,544,2.764,545,2.787,546,2.764,547,2.787,548,2.764,549,3.095,550,2.911,551,2.764,552,6.205,553,2.787,554,2.764,555,4.168,556,3.804,557,4.168,558,2.787,559,2.681,560,2.643,561,2.24,562,2.764,563,2.764,564,2.764,565,2.787,566,2.787,567,1.854,568,2.764,569,1.545,570,2.787,571,2.968,572,2.764,573,2.787,576,2.938,1937,2.342,2033,4.463,2957,4.043,3774,4.721,5760,5.203,6212,3.51,6213,5.119,6214,3.296,7750,4.184,7796,4.606,7798,4.606,15614,8.36,15615,4.972,15616,4.972,15617,7.498,15618,4.972,15619,4.972,15620,4.972,15621,4.972]],["title/modules/LessonModule.html",[252,1.839,1908,4.917]],["body/modules/LessonModule.html",[0,0.264,3,0.014,4,0.014,5,0.007,30,0.001,95,0.151,101,0.01,103,0,104,0,252,3.021,254,2.748,255,2.918,256,2.991,257,2.98,258,2.97,259,4.156,260,4.253,265,6.063,269,3.985,270,2.938,271,2.878,276,3.985,277,1.093,610,3.013,1027,2.338,1317,4.869,1882,6.428,1908,10.36,2831,3.058,3285,11.84,3318,4.703,3319,4.354,3321,6.207,3889,9.798,3898,3.829,5747,9.608,7378,9.798,10059,11.472,10063,9.588,15277,9.798,15622,7.64,15623,7.64,15624,7.64,15625,7.64,15626,10.998,15627,11.472,15628,7.64,15629,5.301]],["title/interfaces/LessonParent.html",[159,0.712,6230,4.616]],["body/interfaces/LessonParent.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,8,0.813,26,2.237,27,0.181,30,0.001,31,0.4,32,0.107,35,0.533,47,1,55,2.12,95,0.138,96,1.213,101,0.016,103,0,104,0,110,3.374,122,1.476,125,1.696,134,1.645,135,1.666,145,1.743,148,1.259,153,1.569,155,3.097,157,2.004,158,1.715,159,1.213,161,1.106,195,1.902,196,1.541,197,1.99,205,1.451,223,3.261,224,1.345,225,2.728,226,2.112,229,1.832,231,0.801,232,1.257,233,1.44,277,0.664,290,1.102,371,3.784,527,1.974,579,2.033,595,1.761,613,4.093,652,1.448,653,1.91,711,1.345,789,2.542,886,1.471,1237,1.345,1312,2.188,1821,2.199,1842,3.253,1937,2.188,2027,2.273,2033,3.968,2051,1.966,2184,1.838,2393,4.231,2831,1.859,2912,4.144,2942,4.015,2946,3.811,2950,2.582,2955,4.594,2956,2.771,2957,4.667,2959,3.975,2960,4.483,2972,4.654,3076,3.811,3668,4.392,3774,5.451,3793,6.224,3930,3.279,3931,3.279,4441,4.207,4600,2.925,4664,2.092,5266,5.821,5607,2.96,5608,3.037,5727,2.165,5760,6.734,5772,3.34,5788,2.647,5795,4.594,5800,7.254,5813,3.34,5819,3.34,5824,3.34,6204,5.119,6205,3.407,6206,2.67,6207,6.244,6208,3.123,6209,5.586,6210,3.407,6211,4.537,6212,5.026,6213,4.861,6214,6.936,6215,5.119,6216,5.119,6217,3.34,6218,5.119,6219,5.119,6220,5.119,6221,3.407,6222,5.119,6223,3.123,6224,5.119,6225,5.119,6226,7.661,6227,3.407,6228,3.407,6229,3.407,6230,5.738,6231,6.753,6232,2.925,6233,3.279,6234,3.279,6235,3.407,6236,3.407,6237,3.407,6238,3.037,6239,5.222,6240,3.078,6241,6.111,6242,3.279,6243,5.222,6244,3.407,6245,3.407,6246,3.407,6247,3.223,6248,3.407,6249,3.407,6250,5.222,6251,4.861,6252,3.407,6253,3.407,6254,7.118,6255,6.35,6256,3.34,6257,6.224,6258,3.407,6259,3.407,6260,3.407,6261,3.407,6262,3.407,6263,3.407,6264,3.407,6265,3.407,6266,3.407,6267,3.407,6268,3.407,6269,3.223,6270,4.787,6271,3.407,6272,3.407,15630,4.645]],["title/interfaces/LessonProperties.html",[159,0.712,6212,4.917]],["body/interfaces/LessonProperties.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.131,26,2.068,30,0.001,31,0.573,32,0.151,33,0.493,47,1.002,55,2.283,95,0.136,96,1.148,101,0.016,103,0,104,0,110,3.277,112,0.535,122,1.954,125,1.625,134,1.556,135,1.645,145,1.65,148,1.242,153,1.524,155,3.008,157,1.936,158,1.623,159,1.191,161,1.047,195,1.838,196,1.458,197,1.907,205,1.39,223,3.18,224,1.273,225,2.615,226,1.999,229,1.733,231,0.758,232,1.189,233,1.363,277,0.629,290,1.043,371,3.626,527,1.868,579,1.948,595,1.667,613,3.922,652,1.388,653,1.808,711,1.273,789,2.406,886,1.392,1237,1.273,1312,2.071,1821,2.081,1842,3.118,1937,2.071,2027,2.151,2033,4.635,2051,1.86,2184,1.74,2393,4.138,2831,1.759,2912,4.003,2942,3.879,2946,3.652,2950,2.444,2955,4.403,2956,2.623,2957,4.509,2959,3.84,2960,4.296,2972,4.461,3076,5.462,3668,4.242,3774,6.799,3793,6.013,3930,3.103,3931,3.103,4441,4.032,4600,2.768,4664,1.98,5266,5.623,5607,2.801,5608,2.874,5727,2.049,5760,7.493,5772,3.161,5788,2.505,5795,4.403,5800,7.137,5813,3.161,5819,3.161,5824,3.161,6204,4.906,6205,3.224,6206,2.527,6207,7.294,6208,2.956,6209,6.584,6210,3.224,6211,4.348,6212,5.903,6213,6.967,6214,7.72,6215,4.906,6216,4.906,6217,3.161,6218,4.906,6219,4.906,6220,4.906,6221,3.224,6222,4.906,6223,2.956,6224,4.906,6225,4.906,6226,7.493,6227,3.224,6228,3.224,6229,3.224,6230,4.522,6231,4.403,6232,2.768,6233,3.103,6234,3.103,6235,3.224,6236,3.224,6237,3.224,6238,2.874,6239,5.005,6240,2.913,6241,5.903,6242,3.103,6243,5.005,6244,3.224,6245,3.224,6246,3.224,6247,3.05,6248,3.224,6249,3.224,6250,5.005,6251,4.658,6252,3.224,6253,3.224,6254,6.913,6255,6.134,6256,3.161,6257,6.013,6258,3.224,6259,3.224,6260,3.224,6261,3.224,6262,3.224,6263,3.224,6264,3.224,6265,3.224,6266,3.224,6267,3.224,6268,3.224,6269,3.05,6270,4.588,6271,3.224,6272,3.224]],["title/injectables/LessonRepo.html",[589,0.926,15626,5.86]],["body/injectables/LessonRepo.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.081,8,0.961,10,3.379,12,3.805,13,5.936,18,4.214,26,2.656,27,0.494,29,0.944,30,0.001,31,0.695,32,0.16,33,0.565,34,0.993,35,1.418,36,2.77,39,1.611,40,4.069,42,5.936,49,2.187,59,1.805,95,0.141,96,2.195,97,2.342,98,3.5,99,1.17,101,0.007,103,0,104,0,122,1.204,125,1.383,135,1.609,148,1.13,153,1.36,172,3.589,205,1.183,206,2.743,224,1.682,231,1.451,277,0.83,279,2.407,290,1.377,317,2.993,415,3.309,436,3.201,478,1.627,532,4.869,589,1.118,591,1.377,595,2.202,657,2.63,711,2.863,728,7.174,734,3.544,735,3.805,736,4.866,759,3.465,760,3.536,761,3.5,762,3.536,764,3.5,765,3.536,766,3.108,770,3.656,773,3.849,788,3.964,790,3.904,1937,5.105,2033,3.189,2232,4.792,2938,4.834,2957,6.201,3076,3.108,3774,3.656,5264,6.978,5788,6.176,5800,5.018,6213,3.964,6214,5.573,6288,3.418,6895,3.964,7803,4.457,7807,4.457,12206,7.788,12210,7.38,12211,5.378,15626,7.075,15631,5.806,15632,8.409,15633,8.409,15634,8.409,15635,5.806,15636,8.409,15637,5.806,15638,5.378,15639,5.806,15640,5.806,15641,7.38,15642,5.806,15643,5.806,15644,5.806,15645,5.806,15646,5.806,15647,5.806,15648,5.806,15649,5.806,15650,5.806,15651,5.806,15652,5.806,15653,5.806,15654,5.806]],["title/injectables/LessonRule.html",[589,0.926,1872,5.658]],["body/injectables/LessonRule.html",[0,0.17,3,0.009,4,0.009,5,0.004,7,0.068,8,0.847,27,0.47,29,0.92,30,0.001,31,0.677,32,0.153,33,0.551,35,1.343,95,0.126,101,0.006,103,0,104,0,122,2.769,135,1.569,141,5.48,148,1.151,153,0.792,183,3.809,197,2.5,205,2.895,228,1.606,277,0.701,290,3.37,433,0.911,478,1.373,579,1.399,589,0.986,591,1.162,652,2.774,653,2.015,711,3.265,1197,7.656,1237,1.419,1622,3.523,1775,5.46,1778,6.281,1783,3.016,1784,3.295,1792,6.207,1793,4.915,1801,6.94,1838,4.469,1867,9.512,1868,8.776,1872,6.024,1982,4.725,1986,4.564,1993,3.203,2033,4.275,2619,4.725,2957,7.309,3431,4.785,3432,2.817,3555,3.122,3711,3.248,3714,4.785,3716,3.248,3717,4.915,6207,5.953,7187,3.523,7815,4.3,7817,4.122,7818,6.508,15655,4.9,15656,7.415,15657,7.415,15658,7.415,15659,7.415,15660,7.415,15661,4.9,15662,7.415,15663,4.9,15664,7.415,15665,4.9,15666,4.9,15667,4.9,15668,7.415,15669,4.9,15670,7.415,15671,4.9,15672,6.868,15673,4.9,15674,4.9,15675,9.24,15676,4.9,15677,4.9,15678,4.538,15679,7.415,15680,7.415,15681,4.9,15682,9.976,15683,8.286,15684,7.415,15685,7.415,15686,4.9,15687,4.9,15688,4.538,15689,4.9]],["title/classes/LessonScope.html",[0,0.241,15641,6.113]],["body/classes/LessonScope.html",[0,0.267,2,0.814,3,0.014,4,0.014,5,0.007,7,0.107,8,1.17,26,2.482,27,0.521,29,0.935,30,0.001,31,0.688,32,0.165,33,0.56,35,1.405,95,0.128,99,1.554,101,0.01,103,0,104,0,112,0.803,122,2.717,129,2.284,130,2.087,148,1.007,231,1.767,279,3.198,365,3.426,436,3.766,478,2.161,569,2.397,652,2.666,2033,2.925,2479,6.795,2957,4.159,3774,4.857,6288,5.588,7007,6.789,7008,6.789,7009,6.789,7014,6.789,7015,6.789,7016,5.187,7017,5.113,7018,5.187,7019,5.187,7028,5.113,7029,6.789,7030,5.187,7031,5.113,7032,5.187,7033,5.113,7034,6.789,7803,7.862,8175,6.238,9528,6.081,9532,7.145,10978,9.487,10982,9.487,15641,11.504,15690,11.499,15691,9.487,15692,9.487,15693,7.714,15694,6.77]],["title/injectables/LessonService.html",[589,0.926,5747,4.755]],["body/injectables/LessonService.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,8,1.052,12,4.168,26,2.805,27,0.488,29,0.955,30,0.001,31,0.703,32,0.162,33,0.571,35,1.385,36,2.848,39,2.944,59,2.051,95,0.139,98,3.977,99,1.329,101,0.008,103,0,104,0,122,1.368,125,1.572,135,1.38,148,1.229,172,3.93,228,1.654,277,0.944,317,3.032,433,1.131,478,1.848,560,3.507,589,1.224,591,1.565,652,1.873,657,2.761,1237,1.911,1317,4.205,1845,7.259,1937,4.338,2831,2.641,2957,6.511,3774,4.155,3898,3.307,5264,8.104,5747,6.287,5760,6.39,5762,4.062,5788,6.045,7340,9.23,7800,8.53,7801,8.53,7803,5.065,15626,10.524,15629,4.578,15695,6.598,15696,9.209,15697,9.209,15698,9.209,15699,6.598,15700,6.598,15701,9.209,15702,6.598,15703,9.209,15704,6.598,15705,9.209,15706,6.598,15707,6.598,15708,9.209,15709,6.598,15710,6.598,15711,6.598,15712,6.598,15713,6.598,15714,6.598,15715,9.209,15716,6.598,15717,6.598,15718,6.598,15719,9.209,15720,6.598,15721,6.598]],["title/injectables/LessonUC.html",[589,0.926,15549,5.86]],["body/injectables/LessonUC.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.119,8,1.248,10,4.39,26,2.775,27,0.426,29,0.834,30,0.001,31,0.614,32,0.135,33,0.499,35,0.977,39,2.363,95,0.147,99,1.716,101,0.011,103,0.001,104,0.001,135,1.108,148,0.837,158,3.143,194,3.346,195,1.871,228,1.962,277,1.218,290,2.02,317,2.61,433,1.342,589,1.452,591,2.02,595,3.229,610,3.358,652,2.222,657,2.498,693,3.872,980,4.696,985,4.939,1780,5.132,1862,7.157,1937,5.146,1962,5.081,2667,6.123,2680,3.91,2685,6.246,2927,6.712,3432,4.895,5747,9.349,5762,7.426,5788,4.853,6207,5.081,15549,9.192,15584,7.473,15722,8.515,15723,8.515,15724,9.192,15725,8.515,15726,8.515,15727,8.515,15728,8.515,15729,8.515]],["title/injectables/LessonUrlHandler.html",[589,0.926,15730,5.86]],["body/injectables/LessonUrlHandler.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,9,3.23,27,0.496,29,0.94,30,0.001,31,0.692,32,0.164,33,0.563,34,1.635,35,1.347,36,2.02,47,1.001,95,0.137,101,0.009,103,0,104,0,105,10.269,106,7.34,107,7.136,108,8.868,110,4.613,111,5.49,112,0.75,113,3.798,114,8.868,115,7.536,116,7.766,117,7.536,118,7.536,120,5.49,122,1.444,123,5.658,125,2.6,126,5.49,127,5.888,129,2.831,130,2.587,131,5.998,134,2.466,135,1.42,148,0.94,228,1.251,231,1.649,233,2.159,277,0.996,317,2.361,400,2.042,433,0.856,436,3.47,589,1.271,591,1.652,657,1.593,1237,2.017,1937,5.142,3320,4.832,4174,6.428,4177,7.536,4179,5.86,4180,5.86,4181,5.86,4184,7.338,4185,5.658,4186,7.338,4187,5.86,4188,5.658,4190,4.683,5747,8.684,5794,5.658,7999,6.112,8000,6.112,8002,8.39,8003,8.39,8004,6.112,15730,8.043,15731,10.915,15732,6.964,15733,9.56,15734,6.964]],["title/classes/LessonUrlParams.html",[0,0.241,15559,5.49]],["body/classes/LessonUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,1937,5.688,4197,6.09,5762,7.986,15559,9.519,15735,9.999,15736,9.999]],["title/classes/LessonUrlParams-1.html",[0,0.2,756,2.309,15559,4.564]],["body/classes/LessonUrlParams-1.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,1937,5.688,4197,6.09,5762,7.986,15559,9.519,15737,9.999,15738,9.999]],["title/classes/LibrariesBodyParams.html",[0,0.241,1233,5.658]],["body/classes/LibrariesBodyParams.html",[0,0.455,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.363,30,0.001,32,0.143,47,0.993,95,0.129,101,0.017,103,0.001,104,0.001,112,0.906,125,2.216,190,1.668,195,2.539,200,2.847,202,2.136,296,3.536,299,5.145,300,4.428,855,4.678,1195,5.721,1228,7.559,1233,10.209,1234,9.386,1235,9.386,1238,9.646,1240,5.498,1242,7.828,2531,5.017,6317,6.702,6387,8.166,6388,6.456,15739,9.304,15740,9.304]],["title/interfaces/LibrariesContentType.html",[159,0.712,13472,6.113]],["body/interfaces/LibrariesContentType.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,30,0.001,31,0.303,32,0.117,34,0.921,36,2.001,47,0.858,74,4.134,95,0.144,101,0.01,103,0,104,0,112,0.624,125,2.782,135,1.754,142,1.95,145,3.553,148,1.097,153,2.048,158,2.938,159,0.551,161,1.283,185,4.138,195,2.08,197,2.224,228,1.7,277,0.77,290,2.48,317,2.048,412,2.392,433,0.662,527,2.289,543,2.621,569,1.674,579,2.272,589,1.058,634,5.491,651,2.732,652,2.375,657,2.896,702,2.667,711,2.742,756,3.174,810,3.95,1195,2.667,1215,3.246,1312,2.537,1563,3.475,1619,3.315,1675,3.246,1819,4.727,1929,5.838,1939,2.862,2164,2.498,2333,3.018,2358,3.096,2393,2.064,2555,4.375,2557,3.622,2954,2.862,3426,4.703,5200,4.375,5278,6.584,6572,4.536,6617,5.959,6618,3.95,7786,3.802,8907,4.375,11710,6.121,11725,3.677,12115,4.134,12143,4.532,12144,4.532,12157,4.134,13176,4.532,13198,7.69,13202,4.532,13203,4.532,13204,4.532,13388,7.964,13389,8.798,13425,4.532,13430,4.727,13431,8.768,13432,4.989,13433,8.768,13434,9.685,13435,4.989,13437,4.989,13439,4.989,13442,4.989,13443,7.372,13446,4.989,13451,4.989,13452,7.372,13454,4.989,13455,7.372,13458,9.685,13459,4.989,13460,8.768,13461,4.989,13462,4.989,13463,4.989,13464,4.727,13465,4.989,13466,4.532,13467,4.989,13468,4.989,13469,4.989,13470,4.989,13471,4.989,13472,9.791,13473,10.333,13474,7.372,13475,7.372,13476,4.989,13477,4.989,13478,7.372,13479,4.989,13480,7.372,13481,4.989,13482,4.989,13483,4.989,13484,7.372,13485,4.989,13486,4.989,13487,4.989,13488,4.989,13489,4.989,13490,4.989,13491,4.989,13492,4.989,13493,4.989,13494,4.989,13495,7.372,13496,4.989,13497,7.372,13498,7.372,13499,4.989,13500,4.989,13501,4.727,13502,6.985,13503,4.989,13504,4.989,13505,4.989,13506,4.989,13507,4.989,13508,7.372,13509,7.372,13510,4.532,13511,4.989,13512,4.989,13513,4.989,13514,4.989,13515,4.989,13516,7.372,13517,4.989,13518,4.989,13519,4.989]],["title/classes/LibraryFileUrlParams.html",[0,0.241,13269,6.113]],["body/classes/LibraryFileUrlParams.html",[0,0.412,2,1.032,3,0.018,4,0.018,5,0.012,7,0.136,27,0.464,30,0.001,32,0.147,47,0.983,95,0.133,101,0.013,103,0.001,104,0.001,112,0.935,190,2.136,200,2.993,202,2.246,296,3.362,299,5.03,856,7.142,1195,6.362,6560,9.059,6561,10.024,13269,10.456,15741,12.848,15742,12.848,15743,9.78,15744,9.78]],["title/classes/LibraryName.html",[0,0.241,11698,5.658]],["body/classes/LibraryName.html",[0,0.31,2,0.424,3,0.007,4,0.007,5,0.004,7,0.056,27,0.35,29,0.485,30,0.001,31,0.443,32,0.111,33,0.183,47,0.976,55,2.788,72,1.843,83,1.863,95,0.1,96,1.048,101,0.011,103,0,104,0,112,0.498,122,2.155,131,3.244,134,2.25,141,4.455,145,3.901,148,0.881,155,1.281,157,0.929,190,1.414,194,1.577,195,2.919,196,4.376,197,1.122,205,1.295,208,2.527,223,4.397,224,1.162,225,2.435,229,1.583,231,0.692,233,1.244,289,2.328,301,2.59,374,3.894,414,4.958,433,0.493,467,1.168,478,1.124,567,1.496,711,1.84,756,4.342,870,4.316,1087,1.852,1195,4.839,1199,8.358,1200,8.924,1201,8.924,1215,5.405,1224,4.568,1237,2.83,1372,2.118,1929,4.66,2164,3.658,2184,1.589,2393,3.022,2553,4,2643,4.338,2912,1.921,2915,6.562,2995,4.408,3056,1.932,3418,1.808,3426,3.754,3926,3.164,3972,4.211,5140,4.154,5234,3.775,5245,3.911,5406,5.008,6027,4.568,6178,3.754,6203,4.049,6574,3.081,6575,3.081,6576,3.008,6577,3.081,6578,2.624,6584,3.008,6585,3.081,6597,6.884,6600,2.833,6601,3.081,6617,3.621,6618,2.944,6620,3.081,6628,2.833,6630,3.081,6632,3.081,6634,3.081,6636,3.081,6642,3.081,7064,5.911,7245,2.59,7465,2.886,7572,2.395,9611,2.833,11686,6.407,11687,3.377,11688,5.008,11689,6.053,11690,3.26,11694,5.345,11695,5.345,11696,5.345,11697,3.377,11698,7.939,11699,5.345,11700,5.345,11701,5.345,11702,5.345,11703,3.164,11704,3.377,11705,3.081,11706,5.161,11707,6.635,11708,3.377,11709,6.635,11710,6.609,11711,5.161,11712,4.877,11713,5.345,11714,5.008,11715,5.345,11716,4.568,11717,5.345,11718,5.345,11719,5.161,11720,5.345,11721,5.345,11722,3.164,11723,3.377,11724,3.164,11725,2.74,11726,3.377,11727,3.377,11728,3.377,11729,3.377,11730,3.377,11731,3.377,11732,3.377,11733,3.377,11734,3.377,11735,3.377,11736,3.377,11737,3.377,11738,3.377,11739,3.377,11740,3.377,11741,3.377,11742,3.377,11743,3.377,11744,3.377,11745,3.377,11746,3.377,11747,3.377,11748,3.377,11749,3.377,11750,3.377,11751,3.377,11752,3.377,11753,3.377,11754,3.377,11755,3.377,11756,3.377,11757,3.377,11758,3.377,11759,3.377,11760,3.377,11761,3.377,11762,3.377,11763,3.377,11764,3.377,11765,3.377,11766,3.377,11767,3.377,11768,3.377,11769,3.377,11770,3.377,11771,3.377,11772,3.377,11773,3.377,11774,3.377,11775,3.377,11776,3.377,11777,3.377,11778,3.377,11779,3.377,11780,3.377,11781,3.377,11782,3.377,11783,3.377,11784,3.377,11785,3.377,11786,3.377,15745,6.353,15746,4.013,15747,4.013]],["title/classes/LibraryParametersBodyParams.html",[0,0.241,1235,5.658]],["body/classes/LibraryParametersBodyParams.html",[0,0.455,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.363,30,0.001,32,0.143,47,0.994,95,0.129,101,0.017,103,0.001,104,0.001,112,0.908,125,2.221,190,1.672,195,2.049,200,2.854,202,2.141,296,3.538,299,5.15,300,4.434,855,4.685,1195,5.729,1228,7.576,1233,9.4,1234,9.4,1235,10.22,1238,7.159,1240,5.511,1242,10.584,2531,5.028,6317,6.711,6387,8.185,6388,6.471,7265,7.847,15748,9.326]],["title/injectables/LibraryRepo.html",[589,0.926,13390,5.86]],["body/injectables/LibraryRepo.html",[0,0.175,3,0.009,4,0.009,5,0.005,7,0.071,8,0.869,10,3.056,12,3.441,18,3.811,26,1.541,27,0.502,29,0.951,30,0.001,31,0.724,32,0.154,33,0.569,34,0.866,35,1.455,36,2.84,40,2.452,47,0.959,49,2.864,55,2.818,95,0.102,101,0.006,103,0,104,0,135,1.415,142,3.673,145,1.902,148,1.164,153,1.476,205,1.86,206,2.481,231,1.312,277,0.725,317,3.042,347,3.907,436,2.997,532,4.726,579,2.606,589,1.011,591,1.202,657,2.32,728,6.869,734,3.205,735,3.441,736,4.494,756,3.641,759,3.023,760,3.086,761,3.054,762,3.086,763,3.515,764,3.054,765,3.086,766,2.712,771,3.643,787,7.788,1195,6.032,1199,9.892,1200,10.021,1201,10.021,1238,5.837,2345,4.631,2938,5.248,5752,3.933,10706,6.178,11705,8.764,11706,8.242,11710,2.966,13390,6.398,14901,4.693,15749,5.066,15750,7.604,15751,9.129,15752,9.129,15753,9.129,15754,10.146,15755,7.604,15756,5.066,15757,7.604,15758,5.066,15759,5.066,15760,5.066,15761,5.066,15762,5.066,15763,5.066,15764,5.066,15765,5.066,15766,5.066,15767,5.066,15768,5.066,15769,10.146,15770,7.604,15771,7.604,15772,5.066,15773,8.536,15774,7.604,15775,5.066,15776,5.066,15777,4.693,15778,5.066,15779,3.994]],["title/classes/LinkContentBody.html",[0,0.241,6507,4.554]],["body/classes/LinkContentBody.html",[0,0.47,2,0.547,3,0.01,4,0.01,5,0.005,7,0.072,9,2.402,27,0.4,30,0.001,31,0.67,32,0.173,33,0.526,47,0.974,83,1.518,95,0.122,99,1.043,101,0.017,103,0,104,0,110,3.215,112,0.606,130,3.227,155,2.952,157,2.664,190,1.838,195,1.138,200,1.584,201,3.595,202,1.189,223,1.613,231,1.986,296,3.688,299,4.906,300,4.411,339,1.518,360,2.976,854,4.867,855,3.129,886,1.639,899,2.366,1232,3.003,1749,2.951,1853,1.699,2049,4.697,2393,4.411,2721,3.593,2912,2.478,2918,6.504,3159,2.343,3201,2.426,3581,3.06,3583,3.06,3586,5.414,3589,4.815,3593,2.678,3598,2.902,4065,3.153,4086,3.153,4485,5.339,6409,5.823,6411,5.893,6413,5.823,6415,6.536,6417,5.893,6419,5.893,6467,3.341,6504,6.046,6505,6.046,6506,6.046,6507,6.705,6508,6.046,6509,6.046,6847,6.61,8010,3.385,8080,3.031,9639,7.379,9640,3.482,9642,8.126,9643,6.046,9644,6.046,9645,6.046,9646,3.482,9647,6.046,9648,3.187,9649,3.432,9650,6.046,9651,6.705,9652,3.385,9653,3.385,9654,3.385,9655,3.385,9656,3.482,9657,3.482,9658,3.482,9659,3.482,9660,3.482,9661,3.482,15780,9.248,15781,5.177,15782,5.177,15783,5.177,15784,5.177]],["title/classes/LinkElement.html",[0,0.241,3143,4.554]],["body/classes/LinkElement.html",[0,0.195,2,0.595,3,0.01,4,0.01,5,0.005,7,0.078,8,0.94,27,0.537,29,0.978,30,0.001,31,0.72,32,0.163,33,0.585,35,1.513,36,1.739,47,1.032,55,1.667,59,1.751,95,0.092,101,0.012,103,0,104,0,110,3.715,112,0.645,113,3.269,122,2.015,130,3.399,134,1.996,148,1.166,155,3.411,157,2.473,158,2.08,159,0.576,189,5.065,197,1.575,231,1.677,317,2.102,435,2.827,436,3.711,527,2.395,532,3.017,567,3.984,569,3.904,653,2.318,657,1.289,711,2.383,735,3.723,1295,4.741,1770,3.294,1773,5.918,1842,3.76,2051,2.385,2662,5.65,3058,7.722,3061,5.808,3062,5.808,3063,5.808,3064,6.986,3065,5.808,3067,3.508,3068,5.011,3069,6.198,3071,5.618,3072,5.011,3073,6.143,3075,3.91,3076,4.404,3078,6.119,3079,3.91,3083,3.91,3085,3.508,3112,4.959,3143,6.986,3586,6.255,4346,4.052,4347,4.052,4348,4.052,4349,4.741,4357,3.508,4358,5.709,5930,6.684,5932,6.923,9663,3.91,9667,5.22,9668,4.741,9669,5.22,9670,4.741,9671,4.741,11559,5.22,11561,5.22,15785,11.867,15786,5.635,15787,5.635,15788,5.635,15789,5.635,15790,5.635,15791,5.635,15792,5.635,15793,5.635,15794,5.635,15795,5.635,15796,5.635,15797,5.22,15798,5.22,15799,7.621,15800,5.22,15801,5.22,15802,5.22,15803,4.946,15804,5.22]],["title/classes/LinkElementContent.html",[0,0.241,15805,5.86]],["body/classes/LinkElementContent.html",[0,0.355,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,27,0.497,29,0.59,30,0.001,31,0.434,32,0.168,33,0.583,34,1.968,47,1.011,95,0.128,101,0.013,103,0,104,0,110,4.436,112,0.804,155,4.072,157,2.953,190,2.198,201,4.959,202,1.774,296,3.598,304,3.827,433,1.414,458,3.082,821,3.946,886,2.447,1853,2.535,2109,3.386,2393,4.411,2926,6.676,3056,3.72,3197,4.137,3198,4.137,3201,3.622,3586,7.469,3759,5.277,3766,7.158,3771,4.567,4019,5.896,4023,5.053,4025,5.053,4375,7.872,4485,5.992,6411,4.925,7243,4.198,7572,4.612,9689,6.503,9698,6.503,9700,6.783,15805,11.034,15806,12.147,15807,7.728,15808,6.279]],["title/classes/LinkElementContentBody.html",[0,0.241,9644,4.554]],["body/classes/LinkElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.65,6413,5.946,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.823,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.823,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,15809,5.364,15810,5.364]],["title/entities/LinkElementNode.html",[205,1.419,3509,5.49]],["body/entities/LinkElementNode.html",[0,0.288,3,0.015,4,0.015,5,0.007,7,0.116,27,0.465,30,0.001,32,0.148,33,0.492,47,1.025,95,0.141,96,2.172,101,0.014,103,0.001,104,0.001,110,4.386,112,0.844,134,2.947,135,1.083,148,0.818,155,4.027,159,0.851,190,2.139,205,2.194,206,2.715,223,4.244,224,2.41,231,1.857,232,2.252,457,4.626,1770,4.776,2049,5.148,2109,3.645,2662,5.125,2715,4.702,3056,4.005,3467,5.762,3477,6.423,3509,8.485,3549,5.068,3573,9.447,3586,7.385,3922,6.555,3932,5.37,3942,5.122,4448,5.24,4450,5.24,7243,4.52,8176,5.24,9695,7.001,11579,7.707,15808,6.76,15811,11.686,15812,8.321,15813,9.447,15814,7.707,15815,7.707]],["title/interfaces/LinkElementNodeProps.html",[159,0.712,15813,6.113]],["body/interfaces/LinkElementNodeProps.html",[0,0.296,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.15,33,0.501,47,1.051,95,0.142,96,2.233,101,0.014,103,0.001,104,0.001,110,4.581,112,0.859,134,3.028,135,1.113,148,0.841,155,4.206,159,0.875,161,2.037,205,2.232,223,3.972,224,2.477,231,2.086,232,2.314,457,4.754,1770,4.839,2049,3.489,2109,3.746,2662,5.215,2715,4.832,3056,4.116,3467,5.864,3477,6.537,3509,6.741,3549,5.208,3573,9.615,3586,7.714,3922,7.361,3932,5.518,3942,5.264,4448,5.385,4450,5.385,7243,4.645,8176,5.385,15808,6.947,15811,7.921,15813,10.609,15814,7.921,15815,7.921]],["title/interfaces/LinkElementProps.html",[159,0.712,15803,6.113]],["body/interfaces/LinkElementProps.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.157,33,0.557,36,1.612,47,1.067,95,0.113,101,0.015,103,0,104,0,110,4.416,112,0.797,122,1.581,130,3.3,134,2.7,148,1.284,155,4.054,157,2.94,158,2.815,159,0.78,161,1.816,197,2.131,231,1.973,317,1.65,527,3.241,567,4.547,569,2.37,653,3.136,657,1.744,1842,4.645,2051,3.227,3058,6.127,3064,4.986,3068,4.644,3069,5.896,3072,4.644,3073,5.843,3112,6.891,3143,7.475,3586,7.436,4357,4.747,4358,7.053,5930,8.258,5932,8.552,9663,5.291,9671,6.416,15785,7.063,15797,7.063,15798,7.063,15799,9.415,15800,7.063,15801,7.063,15802,7.063,15803,8.921,15804,7.063]],["title/classes/LinkElementResponse.html",[0,0.241,4375,5.346]],["body/classes/LinkElementResponse.html",[0,0.354,2,0.814,3,0.014,4,0.014,5,0.007,7,0.107,27,0.497,29,0.589,30,0.001,31,0.433,32,0.172,33,0.352,34,2.18,47,0.963,95,0.128,101,0.013,103,0,104,0,110,3.998,112,0.803,155,3.67,157,2.662,190,2.196,201,4.469,202,1.771,296,3.597,304,3.82,433,1.413,458,3.076,821,3.938,886,2.442,1853,2.531,2109,3.379,2393,4.886,2926,7.396,3056,3.712,3196,5.043,3197,5.482,3198,5.482,3200,4.603,3201,4.8,3586,6.731,3759,5.267,3771,4.558,4019,6.611,4023,5.043,4025,5.043,4375,9.788,4485,6.638,6411,6.527,7243,4.19,7572,4.603,9702,6.77,15805,10.307,15806,12.14,15808,6.267,15816,7.714,15817,7.714,15818,7.714,15819,7.714]],["title/classes/LinkElementResponseMapper.html",[0,0.241,6442,6.113]],["body/classes/LinkElementResponseMapper.html",[0,0.269,2,0.822,3,0.014,4,0.014,5,0.007,7,0.108,8,1.178,27,0.479,29,0.787,30,0.001,31,0.579,32,0.152,33,0.471,34,1.332,35,1.325,95,0.129,100,2.716,101,0.01,103,0,104,0,110,2.708,112,0.809,122,2.137,135,1.013,141,4.418,148,1.136,153,1.989,155,2.486,157,1.803,430,3.203,467,3.825,652,2.35,653,3.203,711,2.256,829,4.603,830,5.731,833,6.327,835,5.979,1237,2.986,1853,2.555,2049,5.554,2140,4.439,2393,2.985,2653,8.475,2656,7.913,2657,7.913,2659,7.727,2926,4.518,3143,8.898,3586,4.559,4019,5.926,4035,5.498,4375,9.44,4485,4.055,5927,7.192,6411,4.963,6438,5.979,6442,11.766,9704,9.218,9705,6.14,9712,6.14,9713,6.14,9714,6.14,9715,7.214,15805,8.673,15820,12.791,15821,6.836,15822,11.554,15823,7.788,15824,7.788,15825,7.788]],["title/interfaces/ListFiles.html",[159,0.712,7316,5.109]],["body/interfaces/ListFiles.html",[3,0.016,4,0.016,5,0.01,7,0.117,30,0.001,32,0.157,33,0.613,47,1.083,55,2.656,95,0.094,101,0.017,103,0.001,104,0.001,112,0.85,125,2.581,159,1.372,161,2.003,339,3.177,414,6.65,1302,6.666,1304,4.792,1444,4.674,2233,5.121,5234,6.274,6572,4.792,7301,6.302,7302,6.302,7303,6.628,7304,6.454,7305,6.454,7306,5.294,7307,6.302,7308,5.741,7309,5.741,7310,5.741,7311,5.741,7312,5.935,7313,5.234,7314,5.121,7315,5.121,7316,7.949,7317,10.062,7318,10.062,7319,6.302]],["title/classes/ListOauthClientsParams.html",[0,0.241,15826,6.113]],["body/classes/ListOauthClientsParams.html",[0,0.342,2,0.771,3,0.014,4,0.014,5,0.007,7,0.102,27,0.467,30,0.001,31,0.555,32,0.148,33,0.613,47,0.881,55,2.429,56,5.271,58,8.185,95,0.11,101,0.009,103,0,104,0,112,0.775,145,4.499,157,2.774,187,7.075,190,2.148,194,5.272,196,4.452,197,3.988,200,2.236,202,1.678,296,3.276,299,4.381,300,4.798,534,5.177,873,6.294,876,5.142,891,9.737,892,9.2,1470,7.017,2944,9.002,3791,7.899,3792,5.07,3797,7.102,3848,5.936,4703,7.224,6296,7.786,6365,8.82,9028,10.9,10020,9.2,15826,8.669,15827,12.52,15828,7.307,15829,7.307,15830,7.307,15831,9.877,15832,9.877,15833,7.307,15834,7.307,15835,9.877,15836,7.307,15837,7.307,15838,7.307]],["title/classes/LocalAuthorizationBodyParams.html",[0,0.241,15839,6.113]],["body/classes/LocalAuthorizationBodyParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.466,30,0.001,32,0.148,47,0.985,51,6.203,87,6.499,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,190,2.145,200,3.015,202,2.262,296,3.372,299,5.046,856,7.165,8366,9.722,15040,8.647,15839,10.503,15840,12.889,15841,9.125,15842,9.125]],["title/injectables/LocalStrategy.html",[589,0.926,1532,6.113]],["body/injectables/LocalStrategy.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.972,27,0.426,29,0.834,30,0.001,31,0.613,32,0.143,33,0.499,35,1.144,36,2.307,39,1.638,47,1.038,51,5.981,59,3.393,66,7.138,87,6.849,94,6.117,95,0.15,101,0.008,103,0,104,0,135,1.569,148,0.836,153,1.95,159,0.603,172,2.518,195,1.297,197,1.649,228,1.961,231,1.468,233,1.829,268,7.569,277,0.844,279,2.446,290,2.018,317,2.608,325,2.922,349,4.316,433,1.045,480,4.328,579,1.685,589,1.131,591,1.4,634,7.209,647,4.328,648,3.715,651,2.993,652,2.676,657,2.757,675,3.012,838,4.964,923,4.964,924,5.178,1213,5.421,1526,9.256,1532,7.466,1545,4.165,1551,4.964,1585,3.593,1619,3.632,1712,4.529,1984,8.108,5004,3.807,8102,4.423,13156,5.178,13164,4.529,13876,4.964,13886,8.607,14461,4.529,14465,6.911,14470,4.793,15208,9.24,15234,5.465,15237,5.465,15239,5.465,15240,5.465,15242,5.465,15496,9.24,15843,5.9,15844,8.507,15845,5.9,15846,5.9,15847,5.9,15848,10.918,15849,5.9,15850,8.507,15851,8.507,15852,5.9,15853,8.507,15854,5.9,15855,5.9,15856,5.9,15857,5.9,15858,5.9,15859,5.9,15860,5.9,15861,8.507,15862,5.9,15863,5.9,15864,5.9,15865,5.9,15866,5.9,15867,5.178,15868,5.9,15869,5.9,15870,5.9,15871,5.9]],["title/interfaces/Loggable.html",[159,0.712,1422,2.788]],["body/interfaces/Loggable.html",[3,0.019,4,0.019,5,0.009,7,0.144,8,1.409,27,0.404,30,0.001,35,1.188,95,0.115,101,0.013,103,0.001,104,0.001,134,3.669,159,1.06,161,2.468,1422,4.938,1423,6.14,1426,6.055,1468,6.14,1469,6.447,15872,10.36,15873,10.36]],["title/injectables/Logger.html",[589,0.926,2447,2.911]],["body/injectables/Logger.html",[0,0.24,3,0.02,4,0.013,5,0.006,7,0.097,8,1.09,27,0.507,29,0.97,30,0.001,31,0.745,32,0.161,33,0.581,35,1.41,47,0.862,95,0.137,101,0.009,103,0,104,0,112,0.748,129,2.055,130,1.878,135,1.526,161,1.653,183,4.161,228,1.246,277,0.992,433,0.853,569,4.181,589,1.268,591,1.646,652,2.386,688,3.236,711,4.088,1042,6.321,1115,4.464,1212,4.479,1422,5.699,2447,5.14,3282,4.667,6288,3.877,9989,10.296,9999,6.091,10000,7.518,10001,5.638,10002,6.428,10003,6.091,10004,10.866,15282,8.834,15291,8.834,15302,6.428,15313,10.347,15874,6.94,15875,8.37,15876,9.537,15877,9.537,15878,9.537,15879,6.94,15880,9.537,15881,6.94,15882,9.537,15883,6.94,15884,6.94,15885,9.537,15886,6.94,15887,6.94,15888,6.94,15889,6.94,15890,6.94]],["title/interfaces/LoggerConfig.html",[159,0.712,7481,5.86]],["body/interfaces/LoggerConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,311,6.868,7481,10.623,12095,10.886,15891,10.778]],["title/modules/LoggerModule.html",[252,1.839,265,3.231]],["body/modules/LoggerModule.html",[0,0.27,3,0.014,4,0.014,5,0.007,30,0.001,95,0.152,101,0.01,103,0,104,0,148,0.767,153,1.262,161,1.859,195,2.268,197,2.181,252,3.053,254,2.807,255,2.98,256,3.055,257,3.044,258,3.033,259,4.2,260,4.298,265,6.585,269,4.041,270,3.001,271,2.939,276,3.055,277,1.116,403,5.27,634,7.138,651,3.959,686,5.611,688,3.638,997,4.857,1080,2.705,1212,5.036,2447,5.963,2448,6.615,3912,5.849,7481,6.566,9983,11.878,10000,9.117,15892,7.804,15893,7.804,15894,7.804,15895,7.804,15896,7.228,15897,7.804,15898,7.804,15899,7.804,15900,6.566,15901,7.804,15902,7.804,15903,7.804,15904,7.804,15905,7.804,15906,7.804,15907,7.804,15908,7.804,15909,7.804,15910,7.804,15911,7.804,15912,7.804,15913,7.804,15914,7.804,15915,7.804]],["title/classes/LoggingUtils.html",[0,0.241,10001,5.658]],["body/classes/LoggingUtils.html",[0,0.285,2,0.869,3,0.015,4,0.015,5,0.007,7,0.115,8,1.222,27,0.463,29,0.906,30,0.001,31,0.667,32,0.132,33,0.542,35,1.362,47,0.957,59,2.56,95,0.132,101,0.011,103,0.001,104,0.001,125,2.828,134,2.916,135,1.635,148,1.167,158,3.04,161,1.962,183,4.799,185,4.067,467,4.052,652,2.415,1115,4.518,1422,5.439,1426,3.658,10001,8.687,12687,8.996,15283,11.64,15315,7.628,15316,7.628,15916,8.236,15917,10.692,15918,10.692,15919,10.692,15920,10.692,15921,8.236,15922,11.873,15923,10.692,15924,8.236,15925,10.692,15926,8.236,15927,8.236,15928,8.236,15929,10.692]],["title/controllers/LoginController.html",[314,2.65,1487,6.113]],["body/controllers/LoginController.html",[0,0.169,3,0.009,4,0.009,5,0.004,7,0.068,8,0.844,27,0.348,29,0.681,30,0.001,31,0.501,32,0.172,33,0.408,35,1.023,36,2.378,95,0.14,100,1.7,101,0.006,103,0,104,0,135,1.464,146,3.329,148,0.877,157,3.155,159,0.499,180,5.548,190,1.599,193,4.908,202,1.119,228,0.876,274,2.03,277,0.697,290,3.071,314,1.855,316,2.347,317,2.667,325,5.788,333,7.567,337,6.927,338,7.195,339,3.299,340,8.151,341,8.261,342,7.357,343,9.835,349,3.748,358,8.084,379,5.048,390,5.825,391,7.736,392,2.538,393,2.414,400,1.43,401,4.999,402,4.434,403,4.554,571,3.531,657,2.04,694,9.042,1086,4.246,1087,4.116,1088,4.18,1089,4.443,1090,4.845,1368,2.755,1470,4.14,1485,7.505,1487,6.484,1490,4.516,1545,3.442,1724,9.214,1725,3.442,1900,3.188,2060,6.542,2061,6.413,2836,6.596,2851,7.031,3241,3.279,3242,2.668,3418,5.068,4029,3.329,4866,6.306,7858,7.357,8117,7.844,9033,8.434,9206,4.279,9207,4.102,9971,4.102,12430,5.671,13728,3.232,15038,8.372,15839,8.734,15930,4.876,15931,7.388,15932,7.388,15933,8.919,15934,4.876,15935,4.876,15936,10.422,15937,4.876,15938,8.864,15939,8.919,15940,4.876,15941,4.876,15942,4.876,15943,4.876,15944,4.876,15945,4.876,15946,8.372,15947,4.876,15948,4.876,15949,4.876,15950,6.216,15951,4.279,15952,4.876,15953,4.876,15954,4.876,15955,4.876,15956,8.261,15957,4.876,15958,4.876,15959,8.919,15960,7.388,15961,4.876,15962,4.876,15963,4.876,15964,4.876,15965,4.876,15966,4.876,15967,4.876,15968,4.876]],["title/classes/LoginDto.html",[0,0.241,1724,5.49]],["body/classes/LoginDto.html",[0,0.356,2,1.085,3,0.019,4,0.019,5,0.009,7,0.143,27,0.479,29,0.785,30,0.001,31,0.578,32,0.152,33,0.47,47,0.902,101,0.013,103,0.001,104,0.001,112,0.963,232,3.322,433,1.263,435,3.532,1605,8.963,1724,10.955,15969,10.281,15970,12.278,15971,8.65,15972,8.65]],["title/classes/LoginRequestBody.html",[0,0.241,15973,5.658]],["body/classes/LoginRequestBody.html",[0,0.309,2,0.666,3,0.012,4,0.012,5,0.006,7,0.088,27,0.494,30,0.001,32,0.157,33,0.632,47,0.827,55,2.098,95,0.115,101,0.008,103,0,104,0,112,0.7,122,1.85,145,3.349,157,2.396,164,8.436,165,5.125,169,9.991,170,8.161,187,5.85,190,2.272,194,5.174,195,1.961,196,4.369,197,3.948,199,4.921,200,1.93,202,1.448,231,1.539,290,2.117,296,2.709,300,3.967,337,3.883,342,4.124,402,2.269,403,4.555,436,3.508,567,4.196,711,1.827,890,6.092,998,2.987,1042,4.181,1080,4.393,1302,3.507,1379,4.536,1390,3.926,1470,5.802,1475,7.763,1889,7.033,2164,2.926,2345,7.508,2550,5.378,2831,3.572,4918,6.688,5074,4.555,5146,6.849,5317,4.842,6178,3.728,6275,10.518,6276,7.507,6277,7.507,6278,7.033,6281,4.242,6283,5.536,6284,7.831,6285,7.831,6286,8.264,6287,7.831,6288,3.627,6290,5.843,6291,8.264,6292,6.545,6293,10.425,6294,8.264,6296,8.872,6297,4.842,6298,5.536,6299,5.536,6300,5.536,6301,5.843,6302,6.849,6303,6.191,6304,4.728,6305,5.125,6306,4.842,6307,5.307,6308,5.125,6309,5.843,6310,5.307,6311,5.843,6312,5.843,6313,5.536,6314,5.307,6315,5.307,6316,5.843,6318,6.849,6319,5.843,15973,7.249,15974,10.353,15975,6.308,15976,6.308]],["title/classes/LoginResponse.html",[0,0.241,15938,5.008]],["body/classes/LoginResponse.html",[0,0.348,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.472,29,0.767,30,0.001,31,0.565,32,0.15,33,0.459,47,0.89,95,0.112,101,0.013,103,0.001,104,0.001,112,0.95,190,1.801,202,2.307,232,3.277,296,3.402,433,1.235,435,3.452,1605,8.876,15938,9.931,15971,8.455,15972,8.455,15977,10.049,15978,12.111]],["title/classes/LoginResponse-1.html",[0,0.2,756,2.309,15938,4.163]],["body/classes/LoginResponse-1.html",[0,0.29,2,0.609,3,0.011,4,0.011,5,0.005,7,0.08,27,0.517,29,0.441,30,0.001,31,0.324,32,0.164,33,0.618,34,2.046,47,1.002,70,5.822,72,3.845,77,6.358,95,0.12,101,0.007,103,0,104,0,110,2.911,112,0.657,122,1.736,125,3.012,157,2.858,164,6.276,171,5.631,174,5.717,180,5.129,187,7.576,190,2.347,193,5.516,194,3.29,195,2.165,196,2.778,197,3.021,200,1.767,202,1.326,290,2.839,296,3.508,299,3.278,300,4.731,358,6.803,417,4.693,433,0.709,868,4.742,1475,5.273,1495,7.085,2328,5.273,2345,6.582,2531,3.113,2766,8.296,2831,5.16,2860,5.403,3633,6.021,3756,4.075,4440,4.69,4578,7.085,6317,4.857,6324,8.29,6325,8.29,6326,8.29,6327,8.005,6330,8.648,6332,5.067,6338,8.29,6339,7.756,6347,8.29,6354,7.756,6355,7.756,6358,5.067,6359,5.347,6360,5.347,6361,5.347,6370,7.756,14349,6.428,14688,6.803,15938,8.877,15979,5.773,15980,9.126,15981,8.374,15982,5.773,15983,5.773,15984,5.773,15985,7.349,15986,5.773,15987,5.773,15988,8.374,15989,5.773,15990,5.773,15991,5.773,15992,8.374,15993,8.374,15994,8.374,15995,5.773,15996,5.773,15997,5.773]],["title/classes/LoginResponseMapper.html",[0,0.241,15951,6.113]],["body/classes/LoginResponseMapper.html",[0,0.306,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.436,29,0.854,30,0.001,31,0.628,32,0.138,33,0.511,35,1.283,47,0.902,59,2.746,95,0.125,100,3.08,101,0.011,103,0.001,104,0.001,135,1.455,148,1.099,153,1.809,467,3.957,829,5.22,871,4.746,1605,7.636,1724,11.116,1725,6.236,8115,10.854,15938,9.569,15950,11.197,15951,9.816,15998,12.272,15999,11.184,16000,11.184,16001,11.184,16002,7.176,16003,11.184,16004,8.182,16005,11.184]],["title/injectables/LoginUc.html",[589,0.926,1485,5.86]],["body/injectables/LoginUc.html",[0,0.304,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.434,29,0.85,30,0.001,31,0.626,32,0.138,33,0.509,35,1.006,36,2.354,95,0.151,100,3.06,101,0.011,103,0.001,104,0.001,135,1.592,148,0.863,153,1.419,159,0.897,228,1.576,277,1.255,317,2.647,325,6.372,400,2.573,433,1.078,589,1.48,591,2.082,657,2.007,675,4.48,1485,9.371,1526,9.878,1551,7.384,1605,5.992,1699,9.644,1722,7.384,1723,5.001,1724,10.699,5131,10.316,8102,6.578,16006,8.776,16007,11.137,16008,8.776,16009,8.776,16010,11.137,16011,8.776,16012,8.128,16013,8.776,16014,8.776,16015,8.776,16016,8.776]],["title/injectables/Lti11EncryptionService.html",[589,0.926,16017,6.113]],["body/injectables/Lti11EncryptionService.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.12,8,1.255,27,0.335,29,0.656,30,0.001,31,0.482,32,0.106,33,0.392,35,0.985,47,1.046,95,0.135,101,0.011,103,0.001,104,0.001,110,4.439,135,1.576,148,0.844,153,1.389,277,1.228,339,2.518,589,1.46,591,2.037,641,4.894,711,3.508,1078,5.306,1470,7.155,1475,8.498,1598,7.544,1718,6.299,1723,7.276,1756,6.315,2125,5.758,2355,7.955,3242,4.7,7558,6.175,16017,9.641,16018,10.985,16019,8.588,16020,10.175,16021,10.985,16022,8.588,16023,7.226,16024,10.985,16025,7.955,16026,8.588,16027,8.057,16028,8.588,16029,8.588,16030,8.588,16031,8.588,16032,8.588,16033,8.588,16034,8.588,16035,8.588]],["title/classes/Lti11ToolConfig.html",[0,0.241,8309,5.109]],["body/classes/Lti11ToolConfig.html",[0,0.268,2,0.817,3,0.014,4,0.014,5,0.007,7,0.108,27,0.536,29,0.591,30,0.001,31,0.435,32,0.174,33,0.526,47,1.011,95,0.114,101,0.01,103,0,104,0,112,0.805,231,1.772,232,2.779,233,2.4,433,0.951,435,2.66,436,3.033,614,2.4,1598,6.808,2036,3.812,2125,6.039,2333,6.457,2696,6.181,2698,4.464,2699,6.515,2700,9.569,2702,6.796,2703,5.803,2704,6.796,2705,6.796,2707,5.568,8152,7.636,8158,7.532,8160,7.532,8162,7.532,8177,5.68,8178,6.291,8179,6.104,8180,6.515,8183,5.944,8184,6.291,8187,5.944,8188,6.291,8191,5.944,8192,6.291,8306,8.451,8309,9.364,8332,5.373,8337,8.284,16036,13.593,16037,9.511,16038,7.172,16039,7.172,16040,7.172,16041,7.172,16042,7.172,16043,6.796,16044,6.796]],["title/classes/Lti11ToolConfigCreateParams.html",[0,0.241,10312,5.86]],["body/classes/Lti11ToolConfigCreateParams.html",[0,0.345,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.524,30,0.001,32,0.172,33,0.455,47,1.013,95,0.134,101,0.009,103,0,104,0,112,0.781,190,2.412,200,2.265,201,3.872,202,1.699,231,1.719,296,3.521,299,4.923,300,3.818,436,2.943,614,2.294,899,3.382,1598,6.655,2036,3.643,2088,5.673,2125,5.903,2333,6.312,2696,6.019,2698,4.366,2703,6.364,2720,9.224,2721,7.815,2722,6.013,2723,6.013,2724,6.013,2725,6.013,2726,6.013,6837,5.429,8152,7.465,8158,7.363,8160,7.363,8162,7.363,8306,8.261,8337,8.098,10311,6.013,10312,8.383,10319,6.495,16045,12.259,16046,6.855,16047,7.401,16048,6.855,16049,6.855,16050,6.855,16051,7.401,16052,7.401,16053,6.855,16054,9.228,16055,6.855,16056,6.855]],["title/classes/Lti11ToolConfigEntity.html",[0,0.241,10363,5.658]],["body/classes/Lti11ToolConfigEntity.html",[0,0.257,2,0.784,3,0.014,4,0.014,5,0.007,7,0.103,27,0.516,29,0.567,30,0.001,31,0.417,32,0.164,33,0.516,47,0.99,95,0.134,96,1.939,101,0.01,103,0,104,0,112,0.783,190,2.324,195,2.195,196,2.465,211,4.097,223,4.197,224,2.152,231,1.282,232,2.703,433,0.913,435,2.552,457,4.13,614,2.303,886,3.986,1598,6.668,2036,3.657,2109,3.254,2125,5.914,2696,6.124,2698,4.427,2703,4.198,2710,6.25,2712,5.067,2713,8.114,2714,6.519,2715,4.198,8152,7.479,8158,7.377,8160,7.377,8162,7.377,8177,5.449,8178,6.035,8179,5.856,8180,6.25,8183,5.702,8184,6.035,8187,5.702,8188,6.035,8191,5.702,8192,6.035,8219,6.519,8306,8.276,8332,6.93,8337,8.113,10363,10.229,16043,6.519,16044,6.519,16057,13.468,16058,9.988,16059,7.428,16060,7.428,16061,7.428,16062,7.428,16063,7.428]],["title/classes/Lti11ToolConfigResponse.html",[0,0.241,10922,5.86]],["body/classes/Lti11ToolConfigResponse.html",[0,0.256,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.524,29,0.565,30,0.001,31,0.416,32,0.172,33,0.515,47,0.989,95,0.126,101,0.009,103,0,104,0,112,0.781,190,2.372,201,4.378,202,1.699,231,1.719,232,2.696,233,2.294,296,3.687,433,0.909,435,2.542,436,2.943,614,2.294,2036,3.643,2109,3.242,2125,5.903,2333,6.312,2696,6.019,2698,4.366,2703,6.364,2707,5.322,2716,5.224,2729,6.013,2730,10.216,2732,6.495,2733,6.495,2734,6.013,8152,7.465,8158,7.363,8160,7.363,8162,7.363,8177,5.429,8178,6.013,8183,5.681,8184,6.013,8187,5.681,8188,6.013,8191,5.681,8192,6.013,8306,8.261,8332,5.135,8337,8.098,10922,10.58,16043,6.495,16044,6.495,16064,13.236,16065,9.228,16066,6.855,16067,6.855,16068,6.855,16069,6.495]],["title/classes/Lti11ToolConfigUpdateParams.html",[0,0.241,10844,5.86]],["body/classes/Lti11ToolConfigUpdateParams.html",[0,0.343,2,0.777,3,0.014,4,0.014,5,0.007,7,0.102,27,0.524,30,0.001,32,0.172,33,0.549,47,1.011,95,0.134,101,0.009,103,0,104,0,112,0.779,190,2.409,200,2.252,201,4.365,202,1.69,231,1.713,296,3.458,299,4.914,300,4.304,436,2.932,614,2.282,899,3.363,1598,6.637,2036,3.623,2088,5.665,2125,5.887,2333,6.294,2696,6.01,2698,4.36,2703,6.347,2720,9.206,2721,6.887,2722,5.979,2723,5.979,2724,5.979,2725,5.979,2726,5.979,6837,7.281,8152,7.444,8158,7.343,8160,7.343,8162,7.343,8306,8.238,8337,8.076,10844,8.351,11141,6.193,11143,6.46,11145,6.46,16045,12.242,16046,6.817,16048,6.817,16050,6.817,16054,9.194,16055,6.817,16056,6.817,16070,7.36,16071,7.36,16072,7.36,16073,6.817]],["title/classes/LtiRoleMapper.html",[0,0.241,16074,6.451]],["body/classes/LtiRoleMapper.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,27,0.351,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,95,0.126,101,0.012,103,0.001,104,0.001,125,2.95,127,4.516,135,1.612,148,0.886,467,3.605,595,3.418,711,2.61,1756,6.511,2036,4.436,5056,7.443,11442,6.06,11443,6.06,13947,6.153,13967,6.918,16074,10.49,16075,11.326,16076,9.012,16077,11.326,16078,11.326,16079,9.012,16080,14.253,16081,8.347,16082,9.012,16083,11.326,16084,9.012,16085,11.326,16086,9.012,16087,9.012,16088,9.012,16089,9.012,16090,11.326,16091,9.012]],["title/entities/LtiTool.html",[205,1.419,8156,5.221]],["body/entities/LtiTool.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,26,1.322,27,0.524,30,0.001,31,0.558,32,0.167,33,0.621,47,1.008,49,3.036,95,0.102,96,1.703,97,1.674,99,0.836,101,0.013,103,0,104,0,110,2.802,112,0.512,122,2.493,125,2.176,129,3.561,130,1.123,148,0.408,153,0.671,159,0.424,190,2.41,195,3.047,196,4.485,197,3.862,205,1.329,206,1.354,211,7.318,219,3.598,223,4.213,224,1.202,225,2.5,226,1.887,228,0.745,229,1.637,231,0.716,232,1.123,233,1.287,376,4.785,540,1.377,702,2.055,711,1.89,874,4.718,886,3.144,1454,2.555,1582,6.569,1598,4.763,1835,2.132,2125,4.789,2184,1.643,2465,2.452,2942,3.026,3436,4.141,4664,1.869,5343,3.372,7243,2.254,7535,3.642,7557,3.372,7570,3.372,8141,7.074,8142,3.844,8143,5.725,8144,7.422,8145,6.042,8146,6.042,8147,3.844,8148,3.844,8149,6.042,8150,3.844,8151,3.844,8152,6.583,8153,6.042,8154,6.042,8155,3.844,8156,4.89,8157,6.354,8158,5.27,8159,6.354,8160,5.27,8161,5.489,8162,5.27,8163,6.354,8164,6.354,8165,6.041,8166,6.042,8167,7.466,8168,3.271,8169,3.844,8170,5.796,8171,6.354,8172,5.201,8173,4.858,8174,6.041,8175,4.909,8176,2.613,8177,3.044,8178,3.372,8179,3.271,8180,3.492,8181,3.492,8182,3.844,8183,3.186,8184,3.372,8185,3.492,8186,3.844,8187,3.186,8188,3.372,8189,3.271,8190,3.372,8191,3.186,8192,3.372,8193,3.492,8194,3.844,8195,3.492,8196,3.844,8197,3.492,8198,3.844,8199,3.844,8200,3.844,8201,3.844,8202,3.492,8203,3.844,8204,3.492,8205,3.844,8206,3.186,8207,3.372,8208,2.93,8209,3.111,8210,3.492,8211,3.844,8212,3.111,8213,3.372,16092,4.15,16093,4.15,16094,4.15,16095,4.15,16096,4.15,16097,4.15,16098,4.15,16099,4.15,16100,4.15,16101,4.15,16102,4.15,16103,4.15,16104,4.15,16105,4.15,16106,4.15,16107,4.15,16108,4.15,16109,4.15,16110,4.15,16111,4.15,16112,4.15,16113,4.15,16114,4.15]],["title/classes/LtiToolDO.html",[0,0.241,8222,4.917]],["body/classes/LtiToolDO.html",[0,0.291,2,0.613,3,0.011,4,0.011,5,0.005,7,0.081,26,2.003,27,0.553,29,0.443,30,0.001,31,0.609,32,0.176,33,0.65,34,1.438,47,1.056,95,0.11,99,1.17,101,0.011,103,0,104,0,110,3.437,112,0.66,122,2.718,130,2.675,231,1.451,433,0.713,436,1.715,1598,5.842,1770,2.324,1852,6.404,2125,6.028,2184,2.298,3436,5.079,4784,5.096,6696,4.259,7243,3.154,8144,8.031,8152,6.552,8157,7.793,8158,6.463,8159,7.793,8160,6.463,8162,6.463,8163,7.793,8164,7.793,8165,7.41,8168,7.793,8170,7.108,8171,7.793,8172,6.379,8173,5.958,8174,7.41,8175,6.02,8177,6.168,8179,4.577,8181,4.885,8183,4.457,8185,4.885,8187,4.457,8189,4.577,8191,4.457,8193,4.885,8195,4.885,8197,4.885,8202,4.885,8204,4.885,8206,4.457,8208,4.099,8210,4.885,8212,4.352,8214,8.317,8215,5.378,8216,5.378,8219,5.096,8220,4.457,8221,4.352,8222,8.119,8223,6.628,8224,4.577,8225,5.378,8226,5.378,8227,5.378,8228,5.378,8229,5.378,8230,5.378,8231,5.378,8232,5.096,8233,5.378,8234,5.378,8235,5.378,8236,5.378,8237,5.378,8238,5.378,8239,5.378,8240,5.378,8241,5.378,8242,5.378,8243,5.378,8244,5.378,16115,8.409,16116,5.806,16117,5.806,16118,5.806,16119,5.806,16120,5.806,16121,5.806,16122,5.806,16123,5.806,16124,5.806,16125,5.806,16126,5.806,16127,5.806,16128,5.806,16129,5.806,16130,5.806,16131,5.806,16132,5.806,16133,5.806,16134,5.806]],["title/classes/LtiToolFactory.html",[0,0.241,16135,6.451]],["body/classes/LtiToolFactory.html",[0,0.161,2,0.49,3,0.009,4,0.009,5,0.004,7,0.065,8,0.813,27,0.515,29,1.018,30,0.001,31,0.743,32,0.167,33,0.585,34,1.479,35,1.394,47,0.871,55,2.328,59,3.251,95,0.108,101,0.006,103,0,104,0,110,2.473,112,0.558,113,4.385,127,4.86,129,3.51,130,3.289,135,1.126,148,0.85,153,0.75,157,2.002,172,3.036,185,2.436,192,2.559,195,1.563,197,2.418,205,2.131,206,2.321,228,1.277,231,1.227,326,4.871,374,3.089,433,0.57,436,3.828,467,2.07,478,1.3,501,7.243,502,5.392,505,3.954,506,5.392,507,5.397,508,3.954,509,3.954,510,3.954,511,3.893,512,4.416,513,4.809,514,6.438,515,5.724,516,7.028,517,2.6,522,2.579,523,3.954,524,2.6,525,5.083,526,5.229,527,4.122,528,4.92,529,3.923,530,2.579,531,2.432,532,4.047,533,2.466,534,2.432,535,2.579,536,2.6,537,4.734,538,2.579,539,7.205,540,3.933,541,6.589,542,2.6,543,4.21,544,2.579,545,2.6,546,2.579,547,2.6,548,2.579,549,2.888,550,2.716,551,2.579,552,6.04,553,2.6,554,2.579,555,3.954,556,3.609,557,3.954,558,2.6,559,2.501,560,2.466,561,2.089,562,2.579,563,2.579,564,2.579,565,2.6,566,2.6,567,1.73,568,2.579,569,1.442,570,2.6,571,2.815,572,2.579,573,2.6,575,2.667,577,4.244,1598,4.203,2125,3.728,3436,2.384,4690,3.903,6369,2.339,8143,4.072,8144,3.769,8152,3.075,8156,5.331,8157,5.607,8158,4.65,8159,5.607,8160,4.65,8162,3.033,8163,3.657,8164,3.657,8165,3.477,8168,5.607,8170,6.22,8171,5.607,8172,2.994,8173,2.796,8174,5.331,8175,2.825,8214,3.903,10383,6.588,10388,6.588,13648,3.561,16135,8.012,16136,4.639,16137,7.113,16138,4.639,16139,7.113,16140,4.639,16141,4.639,16142,4.639,16143,4.639,16144,4.639,16145,4.639]],["title/modules/LtiToolModule.html",[252,1.839,16146,6.113]],["body/modules/LtiToolModule.html",[0,0.32,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,252,3.307,254,3.324,255,3.529,256,3.617,257,3.604,258,3.591,259,4.55,260,4.655,269,4.504,270,3.553,271,3.48,277,1.321,279,3.831,610,3.644,1027,2.828,2448,6.444,5069,10.086,6082,7.507,16146,12.628,16147,9.24,16148,9.24,16149,9.24,16150,12.163,16151,8.559,16152,9.24]],["title/injectables/LtiToolRepo.html",[589,0.926,5069,5.109]],["body/injectables/LtiToolRepo.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,8,0.813,10,2.858,12,3.219,18,3.564,26,2.236,27,0.511,29,0.989,30,0.001,31,0.76,32,0.16,33,0.592,34,1.479,35,1.486,36,2.705,40,2.245,47,0.893,95,0.117,96,1.211,101,0.006,103,0,104,0,110,2.473,112,0.364,113,4.385,122,1.793,135,1.361,142,2.575,145,1.741,148,1.129,153,1.15,185,2.436,205,2.249,206,1.514,224,1.344,231,1.227,277,0.663,317,2.973,347,2.384,436,3.664,478,1.3,569,1.442,579,1.325,589,0.946,591,1.1,652,2.245,657,1.978,729,4.856,735,3.219,736,5.149,766,2.483,1598,4.203,1770,4.187,2125,3.728,2140,2.644,2437,8.993,2439,5.114,2440,5.021,2441,5.021,2442,5.114,2443,5.114,2444,5.021,2451,3.336,2453,3.336,2455,4.65,2456,4.856,2457,3.336,2460,5.114,2462,3.219,2463,7.79,2464,5.021,2465,4.203,2467,3.336,2468,5.114,2470,3.336,2472,2.796,2473,2.888,2474,3.12,2476,3.336,2517,6.484,3436,3.655,4768,2.796,4769,3.657,4798,3.275,5069,5.217,6878,3.403,6879,3.403,6880,3.403,6881,3.403,6882,3.403,6883,3.403,6884,3.403,6897,6.243,8152,3.075,8156,8.611,8157,5.607,8158,4.65,8159,5.607,8160,4.65,8161,3.903,8162,4.65,8163,5.607,8164,5.607,8165,8.272,8168,5.607,8170,7.935,8171,5.607,8172,4.59,8173,4.287,8174,5.331,8175,4.332,8222,8.579,10706,5.779,10712,5.985,10718,3.561,10777,3.903,10781,4.297,10782,4.297,10801,4.072,10802,4.297,10806,4.297,10807,4.297,12233,4.297,13648,3.561,16153,4.639,16154,6.588,16155,7.113,16156,7.113,16157,4.639,16158,4.639,16159,7.113,16160,4.639,16161,4.639,16162,4.639,16163,4.639,16164,4.639,16165,3.903,16166,4.639,16167,4.639,16168,4.639,16169,4.639,16170,4.639,16171,4.639,16172,4.639,16173,4.639,16174,4.639,16175,4.639,16176,4.297,16177,4.639,16178,4.639,16179,4.639,16180,4.639,16181,4.639,16182,4.639,16183,4.639,16184,4.639,16185,4.639,16186,4.639,16187,4.639,16188,4.639,16189,4.639,16190,4.639,16191,4.639,16192,4.639,16193,4.639,16194,4.639,16195,4.639,16196,4.639,16197,4.639,16198,4.639,16199,4.639,16200,4.639,16201,4.639]],["title/injectables/LtiToolService.html",[589,0.926,16150,5.86]],["body/injectables/LtiToolService.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.126,8,1.3,27,0.443,29,0.868,30,0.001,31,0.639,32,0.141,33,0.52,35,1.04,36,2.626,47,0.913,95,0.138,101,0.012,103,0.001,104,0.001,122,2.576,135,1.181,148,0.892,228,1.629,277,1.297,279,3.762,317,2.688,400,2.66,433,1.115,589,1.512,591,2.152,711,3.599,5069,10.04,6088,7.371,6369,4.575,8156,8.525,8165,9.763,8222,6.405,13648,6.965,16150,9.57,16151,11.508,16154,10.535,16202,12.424,16203,9.073,16204,9.073,16205,11.374,16206,9.073,16207,9.073]],["title/classes/LumiUserWithContentData.html",[0,0.241,13199,6.113]],["body/classes/LumiUserWithContentData.html",[0,0.247,2,0.752,3,0.013,4,0.013,5,0.006,7,0.099,26,2.741,27,0.538,29,0.544,30,0.001,31,0.666,32,0.174,33,0.326,34,1.889,47,0.941,95,0.123,99,1.436,101,0.012,103,0,104,0,112,0.762,122,2.655,159,0.729,205,1.452,290,1.69,433,0.875,458,2.841,578,3.735,702,5.47,1195,6.892,1237,2.813,1619,5.977,2109,3.122,2164,3.305,2184,2.82,3933,3.374,4588,4.063,4665,4.171,6617,4.061,6663,8.099,6666,3.374,11267,4.865,13132,8.17,13195,10.41,13196,12.891,13197,6.6,13198,10.405,13199,8.522,13200,10.231,13201,10.231,13202,9.294,13203,9.294,13204,9.294,13205,9.294,13206,6.6,13207,6.6,13208,6.6,13209,6.6,13210,6.6,13211,6.6,13212,6.6,13213,6.6,13214,6.6,13215,6.6,13216,6.6,13217,5.341,13218,6.6,13219,6.6,16208,9.71,16209,7.125,16210,7.125,16211,7.125,16212,7.125,16213,7.125,16214,7.125,16215,7.125,16216,7.125,16217,7.125]],["title/interfaces/Mail.html",[159,0.712,1454,4.287]],["body/interfaces/Mail.html",[3,0.015,4,0.015,5,0.007,7,0.115,30,0.001,31,0.465,32,0.165,33,0.63,47,1.082,77,5.347,101,0.011,103,0.001,104,0.001,112,0.842,159,1.392,161,1.974,231,2.173,1240,4.897,1439,8.047,1440,6.361,1441,8.926,1442,8.241,1443,6.361,1444,4.607,1445,8.047,1446,6.078,1447,6.078,1448,8.926,1449,6.361,1450,9.442,1451,8.241,1452,8.241,1453,9.442,1454,8.23,1455,9.442,1456,9.442,1457,9.669,1458,9.669]],["title/interfaces/MailAttachment.html",[159,0.712,1441,5.221]],["body/interfaces/MailAttachment.html",[3,0.016,4,0.016,5,0.008,7,0.123,30,0.001,31,0.725,32,0.152,47,1.081,77,5.7,101,0.011,103,0.001,104,0.001,112,0.877,159,1.412,161,2.104,231,2.226,1240,5.22,1439,8.383,1440,6.781,1441,9.669,1442,8.585,1443,9.902,1444,7.171,1445,8.383,1446,6.479,1447,6.479,1448,9.199,1449,6.781,1450,8.383,1451,8.585,1452,8.585,1453,8.383,1454,6.884,1455,6.621,1456,6.621,1457,6.781,1458,6.781]],["title/interfaces/MailConfig.html",[159,0.712,16218,5.346]],["body/interfaces/MailConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,311,6.868,16218,9.692,16219,10.778,16220,12.791]],["title/interfaces/MailContent.html",[159,0.712,1448,5.221]],["body/interfaces/MailContent.html",[3,0.016,4,0.016,5,0.008,7,0.123,30,0.001,31,0.497,32,0.139,33,0.512,47,1.071,77,8.331,101,0.011,103,0.001,104,0.001,112,0.878,159,1.413,161,2.109,231,2.228,1240,5.232,1439,9.677,1440,6.796,1441,9.208,1442,8.597,1443,6.796,1444,4.922,1445,9.677,1446,6.494,1447,6.494,1448,9.677,1449,9.91,1450,8.395,1451,8.597,1452,8.597,1453,8.395,1454,6.894,1455,6.636,1456,6.636,1457,6.796,1458,6.796]],["title/modules/MailModule.html",[252,1.839,16221,5.658]],["body/modules/MailModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,8,1.051,27,0.358,29,0.702,30,0.001,31,0.517,32,0.114,33,0.42,35,1.055,47,0.843,95,0.146,101,0.012,103,0.001,104,0.001,148,0.904,159,0.941,252,3.3,254,3.309,259,3.34,260,3.418,277,1.315,467,3.339,540,3.052,634,6.654,651,4.666,685,5.335,1016,7.967,1045,7.5,1048,6.382,1267,6.493,1272,7.223,1273,8.073,1274,7.5,1275,8.073,2088,3.942,16218,7.06,16221,10.156,16222,8.519,16223,11.488,16224,9.198,16225,7.739,16226,10.156,16227,8.519,16228,8.519]],["title/interfaces/MailModuleOptions.html",[159,0.712,16223,6.113]],["body/interfaces/MailModuleOptions.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,32,0.142,47,1.009,95,0.146,101,0.012,103,0.001,104,0.001,112,0.9,148,0.904,159,0.941,161,2.191,252,3.3,259,3.34,260,3.418,277,1.315,467,2.677,634,6.654,651,4.666,685,5.335,1016,7.31,1045,6.013,1267,6.493,1272,8.481,1273,8.073,1274,8.806,1275,8.073,2088,3.942,16218,7.06,16221,9.319,16222,8.519,16223,10.972,16225,7.739,16226,10.156,16227,8.519,16228,8.519]],["title/injectables/MailService.html",[589,0.926,16226,5.658]],["body/injectables/MailService.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,8,1.052,27,0.471,29,0.876,30,0.001,31,0.645,32,0.149,33,0.525,35,1.217,36,1.946,47,1.03,95,0.135,101,0.008,103,0,104,0,112,0.722,125,2.979,135,1.38,142,2.389,145,3.457,148,1.128,159,0.675,195,1.45,228,2.246,277,0.944,317,2.295,339,2.7,433,1.131,540,3.52,589,1.224,591,1.565,634,7.446,651,3.348,652,2.794,657,1.509,688,3.076,711,3.073,1272,4.155,1274,4.314,1296,7.748,1297,5.36,1298,9.376,1310,4.658,1311,4.314,1339,5.791,1342,5.791,1454,7.7,1647,7.481,2088,2.828,16218,5.065,16225,5.552,16226,7.481,16229,6.112,16230,9.825,16231,9.209,16232,9.209,16233,10.076,16234,9.209,16235,8.53,16236,6.598,16237,11.185,16238,8.53,16239,6.598,16240,6.598,16241,6.112,16242,6.112,16243,6.112,16244,6.112,16245,6.112,16246,6.112,16247,6.112,16248,6.112,16249,6.112,16250,6.112,16251,6.112,16252,6.112,16253,6.112,16254,6.112,16255,6.112,16256,8.53,16257,8.53,16258,6.112,16259,6.112,16260,6.112,16261,6.112]],["title/interfaces/MailServiceOptions.html",[159,0.712,16233,6.113]],["body/interfaces/MailServiceOptions.html",[0,0.263,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.126,36,1.609,47,1.04,95,0.141,101,0.01,103,0,104,0,112,0.796,125,2.721,135,1.486,142,2.755,145,3.811,148,1.198,159,0.778,161,1.813,195,1.673,228,2.188,277,1.088,317,1.647,339,2.232,433,0.935,540,2.525,589,1.349,634,6.626,651,3.862,652,2.656,657,1.741,688,3.548,711,2.205,1272,7.673,1274,7.967,1298,8.562,1310,5.373,1311,4.976,1339,6.68,1342,6.68,1454,7.032,1647,6.183,2088,3.262,16218,5.843,16225,6.404,16226,6.183,16229,7.05,16230,7.05,16233,10.025,16235,7.05,16237,11.287,16238,7.05,16241,7.05,16242,7.05,16243,7.05,16244,7.05,16245,7.05,16246,7.05,16247,7.05,16248,7.05,16249,7.05,16250,7.05,16251,7.05,16252,7.05,16253,7.05,16254,7.05,16255,7.05,16256,9.403,16257,9.403,16258,7.05,16259,7.05,16260,7.05,16261,7.05]],["title/modules/ManagementModule.html",[252,1.839,16262,5.658]],["body/modules/ManagementModule.html",[0,0.25,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,101,0.009,103,0,104,0,122,1.496,135,1.551,252,2.935,254,2.595,255,2.755,256,2.825,257,2.814,258,2.804,259,4.527,260,2.681,265,4.542,269,3.834,270,2.774,271,2.717,274,4.628,276,4.352,277,1.032,647,5.292,649,4.543,651,3.66,1021,4.656,1025,4.656,1026,4.543,1027,2.208,1039,5.687,1716,6.332,2219,3.234,2220,3.638,2221,3.511,2903,4.717,3430,3.133,3798,8.595,3803,8.405,3804,10.816,3811,4.782,3813,4.441,3815,6.683,3816,7.72,4206,10.816,4259,4.223,4888,4.491,5201,10.444,5202,5.093,5206,5.093,5208,6.683,5211,6.683,5220,10.134,8843,8.239,8856,6.07,8871,9.757,8900,8.595,9906,7.34,12175,8.595,14517,6.07,14593,6.332,14599,8.595,16262,11.468,16263,7.215,16264,7.215,16265,7.215,16266,7.215,16267,7.215,16268,9.793,16269,7.215,16270,7.215,16271,7.215,16272,11.117,16273,7.215]],["title/modules/ManagementServerModule.html",[252,1.839,16274,6.113]],["body/modules/ManagementServerModule.html",[0,0.358,3,0.014,4,0.014,5,0.007,30,0.001,32,0.097,47,0.575,87,3.942,95,0.152,96,2.698,101,0.015,103,0,104,0,135,1.017,148,0.769,153,1.264,206,2.551,224,2.265,252,3.473,254,2.812,255,2.986,256,3.061,257,3.05,258,3.039,259,2.84,260,2.905,269,4.046,270,3.007,271,2.945,276,4.822,277,1.118,290,1.855,347,4.018,467,2.276,478,2.19,540,2.594,571,3.095,623,5.112,736,5.088,809,5.112,1014,5.425,1015,5.338,1016,6.586,1017,7.171,1022,7.171,1023,7.295,1024,7.171,1026,4.923,1028,7.171,1029,5.258,1036,8.856,1040,5.425,1041,5.338,1043,7.171,1045,5.112,1086,3.722,1087,3.608,1088,3.664,1089,3.895,1166,5.182,1167,4.813,1829,3.351,2164,3.627,2860,5.045,2954,4.155,5202,5.519,5348,5.861,12414,7.58,12415,7.58,12416,7.746,12427,5.735,12428,5.735,12571,6.862,12572,5.861,12573,6.862,16262,11.067,16274,11.547,16275,7.819,16276,7.819,16277,7.242,16278,7.242,16279,6.862,16280,6.862,16281,6.862]],["title/modules/ManagementServerTestModule.html",[252,1.839,16281,6.113]],["body/modules/ManagementServerTestModule.html",[0,0.346,3,0.014,4,0.014,5,0.007,8,0.85,27,0.29,29,0.568,30,0.001,31,0.418,32,0.124,33,0.34,35,0.853,47,0.547,59,2.313,87,3.752,95,0.15,96,2.611,101,0.014,103,0,104,0,135,0.968,148,0.731,153,1.204,206,2.428,224,2.156,252,3.425,254,2.677,255,2.842,256,2.914,257,2.903,258,2.893,259,2.703,260,2.765,269,3.915,270,2.862,271,2.803,276,4.728,277,1.064,290,1.765,347,3.824,467,2.911,478,2.085,540,3.318,571,2.946,623,4.866,736,4.923,809,4.866,1014,5.164,1015,5.081,1016,7.197,1017,6.939,1022,6.939,1023,7.059,1024,6.939,1026,4.686,1028,8.379,1029,8.472,1036,8.683,1040,5.164,1041,5.081,1043,6.939,1045,6.538,1048,5.164,1086,3.543,1087,3.435,1088,3.487,1089,3.707,1166,4.933,1167,4.581,1829,3.19,2164,3.452,2860,4.802,2954,3.955,5202,5.253,5348,5.578,12414,7.335,12415,7.335,12416,7.496,12427,5.459,12428,5.459,12571,6.532,12572,5.578,12573,6.532,16262,10.946,16274,6.532,16277,9.262,16278,6.893,16279,6.532,16280,6.532,16281,11.825,16282,7.442,16283,7.442,16284,7.442]],["title/entities/Material.html",[205,1.419,6209,4.494]],["body/entities/Material.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,27,0.525,30,0.001,32,0.167,33,0.524,47,1.071,95,0.102,96,1.717,101,0.015,103,0,104,0,110,3.986,112,0.721,155,3.659,157,2.653,159,1.083,190,2.414,205,1.872,206,2.146,223,4.468,224,1.905,225,3.521,226,2.991,231,1.135,232,1.78,233,2.039,289,3.815,1821,3.114,2831,4.589,3056,3.165,3932,4.244,6209,5.929,6214,4.359,6223,7.709,6578,7.495,6628,4.643,7243,3.572,7571,4.359,7572,3.924,8176,4.141,16285,5.533,16286,9.313,16287,9.313,16288,9.037,16289,9.313,16290,6.577,16291,6.577,16292,6.577,16293,6.577,16294,9.313,16295,6.577,16296,6.577,16297,6.577,16298,9.313,16299,6.577,16300,6.577,16301,6.577,16302,5.533,16303,4.824,16304,5.533,16305,5.533,16306,7.243,16307,5.343,16308,5.533,16309,5.533,16310,5.533,16311,5.533,16312,5.533,16313,5.533,16314,5.533,16315,5.533,16316,5.533,16317,5.533,16318,5.533,16319,5.533]],["title/classes/MaterialFactory.html",[0,0.241,16320,6.451]],["body/classes/MaterialFactory.html",[0,0.177,2,0.541,3,0.01,4,0.01,5,0.005,7,0.071,8,0.876,27,0.516,29,1.02,30,0.001,31,0.715,32,0.168,33,0.581,34,1.572,35,1.433,47,0.564,55,2.409,59,3.396,95,0.085,101,0.007,103,0,104,0,110,2.667,112,0.602,113,4.556,127,5.113,129,3.619,130,3.307,135,0.667,148,0.504,155,1.636,157,2.529,172,3.273,185,2.627,192,2.826,205,2.226,206,2.502,228,1.377,231,1.323,326,4.843,374,3.33,433,0.63,436,3.908,467,2.232,501,7.368,502,5.672,505,4.264,506,5.672,507,5.55,508,4.264,509,4.264,510,4.264,511,4.198,512,4.693,513,5.11,514,6.639,515,5.98,516,7.157,517,2.872,522,2.849,523,4.264,524,2.872,525,5.348,526,5.501,527,4.336,528,5.177,529,4.23,530,2.849,531,2.686,532,4.205,533,2.724,534,2.686,535,2.849,536,2.872,537,5.031,538,2.849,539,7.075,540,4.055,541,6.795,542,2.872,543,4.473,544,2.849,545,2.872,546,2.849,547,2.872,548,2.849,549,3.19,550,3,551,2.849,552,6.276,553,2.872,554,2.849,555,4.264,556,3.891,557,4.264,558,2.872,559,2.763,560,2.724,561,2.308,562,2.849,563,2.849,564,2.849,565,2.872,566,2.872,567,1.911,568,2.849,569,1.593,570,2.872,571,3.036,572,2.849,573,2.872,576,3.028,981,5.598,2831,3.07,6209,7.05,6223,3.446,6578,3.35,16286,4.163,16287,4.163,16288,4.04,16289,4.163,16306,4.04,16320,8.514,16321,5.125,16322,4.747,16323,5.125]],["title/interfaces/MaterialProperties.html",[159,0.712,16306,5.49]],["body/interfaces/MaterialProperties.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,30,0.001,32,0.169,33,0.537,47,1.085,95,0.107,96,1.818,101,0.015,103,0,104,0,110,4.281,112,0.75,155,3.93,157,2.85,159,1.116,161,1.659,205,1.948,223,4.286,224,2.017,225,3.663,226,3.167,231,1.202,232,1.885,233,2.159,289,4.04,1821,3.298,2831,4.929,3056,3.352,3932,4.494,6209,4.494,6214,4.616,6223,8.28,6578,8.05,6628,4.916,7243,3.783,7571,4.616,7572,4.156,8176,4.385,16285,5.86,16286,10.003,16287,10.003,16288,9.706,16289,10.003,16294,10.003,16298,10.003,16302,5.86,16303,5.108,16304,5.86,16305,5.86,16306,8.605,16307,5.658,16308,5.86,16309,5.86,16310,5.86,16311,5.86,16312,5.86,16313,5.86,16314,5.86,16315,5.86,16316,5.86,16317,5.86,16318,5.86,16319,5.86]],["title/injectables/MaterialsRepo.html",[589,0.926,16324,6.451]],["body/injectables/MaterialsRepo.html",[0,0.287,3,0.015,4,0.015,5,0.007,7,0.115,8,1.227,10,4.314,12,4.858,18,5.38,26,2.175,27,0.509,29,0.962,30,0.001,31,0.708,32,0.156,33,0.576,34,1.417,35,1.445,36,2.517,40,4.01,49,4.043,95,0.133,101,0.011,103,0.001,104,0.001,148,0.815,205,1.689,206,3.502,231,1.852,277,1.185,317,2.892,436,3.721,532,5.192,589,1.427,591,1.966,728,7.893,734,4.524,735,4.858,736,5.862,759,4.945,760,5.047,761,4.995,762,5.047,763,5.75,764,4.995,765,5.047,766,4.436,3998,5.85,6209,6.927,16322,7.675,16324,9.943,16325,8.287,16326,8.287]],["title/interfaces/Meta.html",[159,0.712,13143,4.755]],["body/interfaces/Meta.html",[3,0.016,4,0.016,5,0.008,7,0.122,30,0.001,32,0.164,34,1.497,47,1.064,55,2.689,101,0.018,103,0.001,104,0.001,112,0.872,122,1.815,159,1.409,161,2.086,339,2.568,402,4.625,532,3.211,1076,5.58,1081,8.779,1115,4.893,3418,3.944,4996,5.979,7510,5.034,13138,6.563,13139,6.722,13140,6.563,13141,6.563,13142,6.722,13143,8.779,13144,9.87,13145,9.87,13146,6.563,13147,6.722,13148,6.423,13149,6.563,13150,6.722,13151,6.563]],["title/modules/MetaTagExtractorApiModule.html",[252,1.839,16327,5.86]],["body/modules/MetaTagExtractorApiModule.html",[0,0.309,3,0.017,4,0.017,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,106,6.006,107,8.064,252,3.256,254,3.213,255,3.411,256,3.497,257,3.484,258,3.472,259,4.48,260,3.319,265,6.324,269,4.409,270,3.435,271,3.364,273,5.624,274,4.688,276,4.409,277,1.277,314,3.399,1027,2.733,1856,6.418,1936,7.573,2680,4.102,3036,4.186,13143,6.098,14472,7.256,16327,11.975,16328,8.932,16329,8.932,16330,8.932,16331,11.076,16332,11.471,16333,8.273,16334,10.826,16335,8.932]],["title/controllers/MetaTagExtractorController.html",[314,2.65,16334,6.113]],["body/controllers/MetaTagExtractorController.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.299,29,0.587,30,0.001,31,0.432,32,0.165,33,0.351,35,0.881,36,2.159,95,0.146,100,2.68,101,0.01,103,0,104,0,106,6.87,107,8.736,135,1.493,141,4.379,148,1.128,153,1.243,190,1.377,202,1.764,228,1.38,274,3.199,277,1.099,314,2.924,316,3.698,317,2.483,325,6.057,349,6.206,379,5.183,390,5.981,391,7.53,392,4.001,395,4.113,398,4.143,400,2.253,401,4.306,402,4.128,657,1.757,871,3.759,1312,4.812,1984,6.87,2370,4.306,3036,3.601,3212,5.525,3214,7.658,3235,9.047,3240,3.948,3242,6.281,3586,5.981,6315,8.596,10020,7.842,12648,10.735,13143,7.836,13832,8.596,14472,9.324,16288,6.057,16332,9.657,16334,8.966,16336,10.216,16337,7.684,16338,11.477,16339,7.684,16340,7.684,16341,7.684,16342,7.684,16343,7.117,16344,7.684,16345,10.073,16346,7.684,16347,7.684,16348,7.684,16349,7.684,16350,7.684,16351,7.684]],["title/modules/MetaTagExtractorModule.html",[252,1.839,16331,5.658]],["body/modules/MetaTagExtractorModule.html",[0,0.231,3,0.012,4,0.012,5,0.006,30,0.001,95,0.157,101,0.009,103,0,104,0,106,4.496,107,7.549,252,2.82,254,2.405,255,2.553,256,2.618,257,2.608,258,2.599,259,3.88,260,3.97,265,5.826,269,3.639,270,2.571,271,2.518,276,3.639,277,0.956,290,1.586,610,2.637,613,3.844,651,3.392,1021,4.315,1025,4.315,1026,4.21,1027,2.046,1054,3.778,1484,8.446,1908,8.867,1932,9.415,1937,3.15,2051,2.829,2959,3.07,3811,4.432,3887,9.642,3890,7.818,3904,6.076,3907,4.371,4172,10.568,4186,5.132,7997,10.568,9051,8.867,12562,6.193,13143,4.565,15277,9.415,15730,10.568,16331,11.917,16333,6.193,16352,6.686,16353,6.686,16354,6.686,16355,6.686,16356,11.586,16357,10.568,16358,10.568,16359,6.686,16360,6.686,16361,6.686,16362,6.686,16363,6.193,16364,6.686,16365,6.686]],["title/classes/MetaTagExtractorResponse.html",[0,0.241,16345,6.113]],["body/classes/MetaTagExtractorResponse.html",[0,0.332,2,0.74,3,0.013,4,0.013,5,0.006,7,0.098,27,0.518,29,0.535,30,0.001,31,0.394,32,0.173,33,0.629,47,1.002,95,0.131,101,0.009,103,0,104,0,106,9.065,107,9.353,110,4.291,112,0.753,134,2.483,155,3.94,157,2.857,190,2.339,200,2.146,202,1.61,296,3.477,298,3.045,299,4.613,433,1.18,821,3.581,2109,3.072,3051,7.733,3054,7.334,3056,3.375,3586,7.225,6666,5.845,6675,4.469,7243,3.809,7265,9.217,7572,4.185,15808,5.697,16345,10.833,16366,13.481,16367,7.013,16368,12.343,16369,7.013,16370,7.013,16371,7.013,16372,7.013,16373,12.343,16374,7.013,16375,7.013,16376,7.013,16377,7.013,16378,7.013,16379,8.897,16380,7.013]],["title/injectables/MetaTagExtractorService.html",[589,0.926,16356,5.86]],["body/injectables/MetaTagExtractorService.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.879,27,0.464,29,0.909,30,0.001,31,0.669,32,0.16,33,0.544,35,1.317,36,2.427,47,0.99,55,1.559,95,0.128,101,0.007,103,0,104,0,106,8.229,107,8.932,110,4.553,117,6.063,125,2.98,126,6.063,129,1.523,130,1.392,131,6.076,132,4.765,134,1.822,135,1.657,145,2.887,148,1.203,152,4.515,153,1.244,154,4.328,155,3.493,156,4.765,157,2.366,158,2.839,228,0.924,277,0.736,290,1.22,317,2.706,329,3.133,337,4.735,339,1.508,400,1.508,414,2.61,433,0.632,579,1.469,589,1.022,591,1.22,613,2.957,614,1.595,628,3.07,629,4.059,652,2.741,657,2.107,1080,2.666,1169,2.984,1328,4.088,2995,3.57,4174,5.172,4177,6.063,4188,4.179,10596,3.773,13143,3.512,16356,6.472,16357,8.602,16363,4.765,16381,11.334,16382,5.144,16383,7.692,16384,7.692,16385,7.692,16386,7.125,16387,5.144,16388,5.144,16389,7.692,16390,5.144,16391,5.144,16392,7.692,16393,11.483,16394,10.223,16395,5.144,16396,7.692,16397,7.692,16398,5.144,16399,7.692,16400,5.144,16401,7.125,16402,5.144,16403,7.692,16404,7.751,16405,8.086,16406,7.125,16407,5.144,16408,5.144,16409,5.144,16410,5.144,16411,5.144,16412,5.144,16413,5.144,16414,5.144,16415,5.144,16416,5.144,16417,5.144,16418,7.692,16419,5.144,16420,5.144,16421,5.144,16422,5.144,16423,5.144,16424,5.144,16425,5.144,16426,5.144,16427,7.692,16428,5.144,16429,7.692,16430,7.692,16431,7.692,16432,5.144]],["title/injectables/MetaTagExtractorUc.html",[589,0.926,16332,5.86]],["body/injectables/MetaTagExtractorUc.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.566,27,0.422,29,0.827,30,0.001,31,0.609,32,0.134,33,0.495,35,0.964,36,2.29,39,2.334,47,0.881,95,0.146,99,1.694,101,0.011,103,0.001,104,0.001,106,8.063,107,8.774,110,4.169,131,4.293,134,2.977,135,1.094,141,4.645,148,0.826,153,1.36,228,1.946,277,1.202,317,2.594,433,1.331,579,2.401,589,1.441,591,1.995,610,3.316,629,4.437,652,2.204,657,2.478,1080,2.914,1328,4.469,1862,7.133,1962,5.017,1984,7.287,2667,6.046,2680,3.861,4174,7.287,16332,9.118,16356,11.488,16433,11.991,16434,8.408,16435,8.408,16436,10.837,16437,8.408,16438,8.408]],["title/injectables/MetaTagInternalUrlService.html",[589,0.926,16357,5.86]],["body/injectables/MetaTagInternalUrlService.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.089,8,1.027,27,0.465,29,0.863,30,0.001,31,0.635,32,0.157,33,0.517,35,1.194,36,2.39,47,0.983,95,0.133,101,0.008,103,0,104,0,106,8.32,107,8.929,110,4.146,112,0.705,129,1.889,130,1.726,131,3.256,134,2.259,135,1.552,141,3.854,148,1.172,152,5.598,153,1.031,154,5.366,155,2.87,157,1.476,158,2.354,228,2.031,277,0.912,317,2.677,433,1.105,589,1.195,591,1.513,613,7.31,652,2.721,657,1.459,1883,4.245,2219,2.859,2220,3.216,2221,3.104,2229,5.598,2802,4.896,4172,10.698,4184,7.995,4185,5.182,4186,8.682,4259,3.734,7997,10.698,15730,10.698,16357,7.566,16358,10.411,16381,11.461,16386,8.329,16401,8.329,16439,6.378,16440,10.415,16441,8.992,16442,8.992,16443,6.378,16444,8.992,16445,8.992,16446,6.378,16447,8.992,16448,6.378,16449,6.378,16450,6.378,16451,6.378,16452,6.378,16453,6.378,16454,6.378,16455,6.378,16456,6.378,16457,6.378,16458,5.908,16459,5.366,16460,6.378,16461,8.992,16462,6.378,16463,6.378,16464,6.378,16465,6.378,16466,6.378]],["title/classes/MetadataTypeMapper.html",[0,0.241,16467,6.451]],["body/classes/MetadataTypeMapper.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.144,33,0.432,35,1.085,95,0.141,99,1.906,101,0.012,103,0.001,104,0.001,134,3.349,135,1.519,148,0.93,153,1.887,277,1.352,467,3.685,579,2.7,2796,6.247,3555,7.438,7551,10.284,7621,7.683,7640,8.391,12399,7.683,16467,10.81,16468,11.671,16469,8.301,16470,11.671,16471,11.671,16472,9.172,16473,8.301,16474,6.36,16475,6.269,16476,8.76]],["title/classes/MigrationAlreadyActivatedException.html",[0,0.241,15037,5.658]],["body/classes/MigrationAlreadyActivatedException.html",[0,0.423,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.398,29,0.587,30,0.001,31,0.432,32,0.095,33,0.351,35,0.881,47,0.936,52,5.823,55,1.557,59,2.388,95,0.114,101,0.016,103,0,104,0,148,1.128,208,4.838,231,2.197,277,1.099,290,2.723,433,0.944,640,6.289,703,3.521,983,4.959,1027,2.351,1115,4.368,1237,3.543,1422,5.097,1423,5.937,1426,5.815,1468,5.937,1469,6.233,1472,5.679,2953,5.926,4970,5.27,10048,10.637,10121,5.636,13728,5.093,15025,6.243,15026,9.657,15027,6.465,15028,10.345,15029,10.292,15031,10.292,15033,6.465,15034,6.243,15035,6.243,15036,8.596,15037,8.3,16477,7.684,16478,7.684]],["title/injectables/MigrationCheckService.html",[589,0.926,16479,5.86]],["body/injectables/MigrationCheckService.html",[0,0.229,3,0.012,4,0.012,5,0.006,7,0.092,8,1.055,26,2.329,27,0.448,29,0.878,30,0.001,31,0.646,32,0.142,33,0.525,35,1.219,36,1.951,47,0.92,48,5.387,95,0.14,99,1.334,101,0.008,103,0,104,0,122,2.383,125,1.577,135,1.383,142,4.533,148,1.231,180,5.182,195,1.455,197,2.97,228,1.908,277,0.947,279,2.745,290,2.521,317,2.299,433,1.134,589,1.227,591,1.57,652,2.708,657,2.43,703,2.832,711,3.078,1853,2.172,2066,7.62,2068,7.374,2070,3.569,2071,5.454,3900,3.494,4970,5.552,4982,8.352,4984,8.09,5449,7.547,8114,6.567,10098,6.302,10107,6.948,11371,5.218,16479,7.766,16480,12.09,16481,6.62,16482,9.23,16483,9.23,16484,9.843,16485,10.128,16486,6.62,16487,9.23,16488,6.62,16489,9.23,16490,6.62,16491,6.62,16492,6.62,16493,6.132,16494,6.132,16495,6.62,16496,6.62,16497,5.81,16498,6.62,16499,8.549,16500,5.81,16501,5.378]],["title/classes/MigrationDto.html",[0,0.241,16502,6.113]],["body/classes/MigrationDto.html",[0,0.35,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,27,0.474,29,0.773,30,0.001,31,0.569,32,0.151,33,0.463,47,0.894,101,0.013,103,0.001,104,0.001,112,0.954,180,5.59,433,1.244,2258,9.378,2274,8.887,4970,5.989,16502,12.147,16503,10.125,16504,12.166,16505,12.166,16506,10.125,16507,10.125]],["title/classes/MigrationMayBeCompleted.html",[0,0.241,16508,6.451]],["body/classes/MigrationMayBeCompleted.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,27,0.449,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.062,52,4.699,59,2.879,95,0.103,101,0.012,103,0.001,104,0.001,122,2.6,148,0.91,228,1.663,339,2.716,400,2.716,433,1.138,640,5.701,703,2.841,1027,2.834,1115,3.524,1237,3.337,1422,5.02,1423,5.846,1426,5.827,1468,5.846,1469,6.138,3595,5.701,4970,5.759,15330,9.198,15349,7.109,16508,10.671,16509,11.615,16510,8.578,16511,8.578,16512,8.578,16513,8.578,16514,8.578,16515,7.524]],["title/classes/MigrationMayNotBeCompleted.html",[0,0.241,16516,6.451]],["body/classes/MigrationMayNotBeCompleted.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,8,1.318,27,0.45,29,0.709,30,0.001,31,0.521,32,0.115,33,0.424,35,1.065,52,4.71,59,2.885,95,0.103,101,0.012,103,0.001,104,0.001,122,2.603,148,0.912,228,1.667,339,2.722,400,2.722,433,1.14,703,2.848,1027,2.841,1115,3.533,1237,3.342,1422,5.025,1423,5.852,1426,5.832,1468,5.852,1469,6.144,4970,5.765,15330,9.208,15349,7.126,16509,11.628,16510,8.598,16511,8.598,16512,8.598,16513,8.598,16514,8.598,16515,7.541,16516,10.686,16517,7.541]],["title/interfaces/MigrationOptions.html",[159,0.712,4902,5.658]],["body/interfaces/MigrationOptions.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,10,1.868,30,0.001,32,0.107,33,0.505,36,2.43,47,0.714,52,3.615,53,3.411,55,2.33,70,5.604,72,3.272,78,8.948,95,0.108,101,0.006,103,0,104,0,112,0.559,122,1.796,125,1.697,129,3.1,135,1.362,145,2.675,148,0.851,153,1.152,157,2.922,159,0.886,161,1.108,171,3.127,194,4.114,197,3.315,228,1.556,230,4.723,259,1.689,290,1.103,317,2.685,365,4.313,388,3.713,413,2.832,433,0.571,467,1.353,540,3.815,579,1.328,612,3.127,618,5.59,644,2.832,648,2.928,652,1.975,657,2.781,745,6.229,756,2.842,758,5.915,892,3.569,981,2.832,985,4.133,1027,1.423,1080,1.612,1372,2.454,1619,5.333,1626,3.993,1751,5.617,1900,3.04,1928,4.211,1939,2.471,2219,2.084,2235,3.665,2447,1.944,2448,3.339,2531,2.507,2858,6.829,2864,3.778,2938,7.535,3108,5.664,3418,5.342,3803,4.659,3811,3.082,3812,8.813,3813,6.445,3814,2.722,4886,5.789,4887,2.722,4888,2.894,4889,3.912,4890,3.912,4891,3.665,4892,5.995,4893,6.493,4894,3.665,4895,3.665,4896,5.995,4897,3.912,4898,3.912,4899,8.506,4900,3.912,4901,3.912,4902,7.038,4903,8.037,4904,3.912,4905,3.001,4906,3.569,4907,3.665,4908,3.912,4909,3.912,4910,7.68,4911,3.912,4912,8.809,4913,3.411,4914,3.912,4915,8.037,4916,3.912,4917,3.001,4918,3.485,4919,5.915,4920,3.344,4921,4.791,4922,3.485,4923,3.912,4924,3.912,4925,3.912,4926,5.03,4927,8.17,4928,3.912,4929,3.912,4930,3.485,4931,3.912,4932,8.17,4933,3.912,4934,3.912,4935,3.912,4936,8.17,4937,8.17,4938,3.665,4939,6.115,4940,3.912,4941,3.912,4942,3.912,4943,3.411,4944,3.778,4945,5.227,4946,3.665,4947,3.912,4948,3.912,4949,3.912,4950,3.912,4951,3.912,4952,5.227,4953,3.082,4954,3.665,4955,3.175,4956,3.569,4957,3.912,4958,3.912,4959,3.912,4960,3.912,4961,3.912,4962,3.912,4963,3.912,4964,3.912,4965,3.912,4966,3.912,4967,3.665,4968,3.778]],["title/classes/MissingSchoolNumberException.html",[0,0.241,15035,5.658]],["body/classes/MissingSchoolNumberException.html",[0,0.423,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.398,29,0.587,30,0.001,31,0.432,32,0.095,33,0.351,35,0.881,47,0.936,52,5.823,55,1.557,59,2.388,95,0.114,101,0.016,103,0,104,0,148,1.128,208,4.838,231,2.197,277,1.099,290,2.723,433,0.944,640,6.289,703,3.521,983,4.959,1027,2.351,1115,4.368,1237,3.543,1422,5.097,1423,5.937,1426,5.815,1468,5.937,1469,6.233,1472,5.679,2953,5.926,4970,5.27,10048,10.637,10121,5.636,13728,5.093,15025,6.243,15026,9.657,15027,6.465,15028,10.345,15029,10.292,15031,10.292,15033,6.465,15034,6.243,15035,8.3,15036,8.596,15037,6.243,16518,7.684,16519,7.684]],["title/classes/MissingToolParameterValueLoggableException.html",[0,0.241,16520,6.451]],["body/classes/MissingToolParameterValueLoggableException.html",[0,0.226,2,0.69,3,0.012,4,0.012,5,0.006,7,0.091,8,1.045,27,0.509,29,0.873,30,0.001,31,0.367,32,0.168,33,0.482,35,1.049,47,0.941,55,1.324,95,0.134,101,0.008,103,0,104,0,112,0.717,130,1.768,135,0.85,148,0.642,155,3.649,183,2.495,190,2.157,228,2.463,231,1.578,233,2.025,277,0.934,339,1.916,393,3.235,402,2.35,417,6.743,433,1.124,436,3.683,614,2.835,652,1.86,868,5.502,871,2.404,983,4.216,998,4.997,1027,1.999,1078,2.862,1080,3.962,1115,4.35,1237,2.649,1354,8.358,1355,6.066,1356,6.899,1360,4.331,1361,3.756,1362,4.331,1363,4.331,1364,4.331,1365,4.331,1366,4.331,1367,4.022,1368,3.692,1374,4.216,1422,4.224,1423,4.919,1426,5.077,1462,3.523,1468,4.919,1469,5.165,1477,3.336,1478,3.472,1756,6.066,2006,6.536,2008,3.255,2109,2.862,2698,3.904,2765,7.473,2800,4.461,3598,3.662,4034,5.734,4249,5.016,6186,7.43,6699,4.114,10609,5.734,12507,6.052,16459,5.497,16520,8.471,16521,10.552,16522,10.552,16523,6.534,16524,6.534,16525,6.534,16526,6.534,16527,6.534,16528,9.146,16529,10.552,16530,6.534,16531,6.534,16532,6.534]],["title/modules/MongoMemoryDatabaseModule.html",[252,1.839,1029,4.684]],["body/modules/MongoMemoryDatabaseModule.html",[0,0.263,3,0.014,4,0.014,5,0.007,8,0.868,27,0.395,29,0.58,30,0.001,31,0.427,32,0.125,33,0.347,35,1.163,36,2.143,59,2.361,95,0.145,96,2.647,101,0.01,103,0,104,0,134,2.69,135,1.651,148,1.122,195,1.669,206,2.478,224,2.201,252,3.013,254,2.733,260,2.823,276,2.974,277,1.086,317,2.193,467,2.951,478,2.128,540,4.209,571,3.007,623,4.967,652,1.545,657,1.737,686,5.463,688,3.542,694,5.572,695,5.463,809,4.967,1014,8.449,1015,5.187,1016,7.76,1017,7.035,1028,8.449,1029,7.674,1041,6.923,1045,6.629,1048,5.271,1086,3.617,1087,3.506,1088,3.56,1089,3.784,1166,5.035,1167,4.676,1237,2.201,7858,4.967,7909,5.035,8853,7.783,12572,9.782,13404,6.667,16533,11.412,16534,11.412,16535,7.597,16536,7.597,16537,11.134,16538,7.597,16539,10.139,16540,7.597,16541,7.597,16542,7.597,16543,10.139,16544,7.597,16545,6.172,16546,7.597,16547,7.597,16548,7.597,16549,9.391,16550,7.597]],["title/classes/MongoPatterns.html",[0,0.241,14276,5.86]],["body/classes/MongoPatterns.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.374,30,0.001,72,5.407,101,0.012,103,0.001,104,0.001,112,0.924,129,2.841,130,2.596,409,7.503,412,5.229,467,3.708,622,9.281,1198,7.097,1928,6.958,1939,6.257,6203,8.465,6730,8.825,12133,10.334,13164,9.038,14276,9.906,16551,9.593,16552,12.739,16553,11.774,16554,11.774,16555,9.593,16556,11.774,16557,9.906,16558,11.774,16559,11.774,16560,10.906]],["title/classes/MoveCardBodyParams.html",[0,0.241,4391,6.113]],["body/classes/MoveCardBodyParams.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.456,30,0.001,32,0.145,47,0.859,55,2.368,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.095,194,4.593,195,2.907,196,4.389,197,3.697,200,2.901,202,2.177,296,3.316,855,4.733,3791,8.251,3792,6.578,3797,6.817,4391,10.258,4434,9.728,8009,8.781,16561,11.738,16562,12.672,16563,8.781,16564,9.48,16565,8.32,16566,9.48]],["title/classes/MoveColumnBodyParams.html",[0,0.241,5649,6.113]],["body/classes/MoveColumnBodyParams.html",[0,0.4,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.45,30,0.001,32,0.143,34,1.976,47,0.849,55,2.341,95,0.129,101,0.012,103,0.001,104,0.001,112,0.906,157,2.154,190,2.071,194,4.938,195,2.888,196,4.36,197,3.673,200,2.847,202,2.136,296,3.288,855,4.678,2051,4.889,3011,5.28,3791,8.156,3792,6.456,3797,6.69,4197,5.666,4434,9.646,5649,10.14,16561,11.64,16565,8.166,16567,9.304,16568,12.566,16569,9.304,16570,9.304]],["title/classes/MoveContentElementBody.html",[0,0.241,9848,6.113]],["body/classes/MoveContentElementBody.html",[0,0.403,2,0.994,3,0.017,4,0.017,5,0.008,7,0.131,27,0.454,30,0.001,32,0.144,47,0.855,55,2.358,95,0.13,101,0.012,103,0.001,104,0.001,112,0.913,190,2.086,194,4.573,195,2.9,196,4.378,197,3.688,200,2.881,202,2.161,296,3.305,855,4.712,2393,4.841,3791,8.215,3792,6.532,3797,6.769,4434,9.697,8014,7.92,9848,10.214,16563,8.719,16565,8.262,16571,12.632,16572,12.632,16573,9.413,16574,9.413]],["title/classes/MoveElementParams.html",[0,0.241,8406,5.86]],["body/classes/MoveElementParams.html",[0,0.432,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,32,0.142,55,2.528,72,4.204,95,0.127,100,3.193,101,0.015,103,0.001,104,0.001,112,0.897,157,2.119,190,2.05,200,2.802,201,4.446,202,2.102,296,3.519,300,4.383,1065,4.507,1170,5.765,2049,3.736,2473,5.699,3076,6.123,3791,9.225,3792,6.353,3797,8.97,4235,6.353,6336,7.703,6847,6.726,8014,7.703,8401,5.835,8406,9.624,8410,6.157,8535,7.438,9691,8.781,16575,11.555,16576,11.805,16577,9.156,16578,9.156]],["title/classes/MoveElementPositionParams.html",[0,0.241,16576,6.113]],["body/classes/MoveElementPositionParams.html",[0,0.42,2,0.909,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,30,0.001,32,0.15,33,0.503,55,2.736,72,5.051,95,0.123,100,3.836,101,0.014,103,0.001,104,0.001,112,0.863,157,2.546,190,2.173,200,2.634,201,4.275,202,1.976,296,3.455,300,4.215,1065,5.415,1170,7.634,2049,4.489,2473,6.847,3076,6.839,3788,10.189,3791,9.019,3792,5.972,3797,8.718,4235,7.633,6336,9.255,6847,6.537,8014,7.241,8401,7.01,8406,7.241,8410,8.153,8535,9.85,16575,11.834,16576,11.214,16579,8.606,16580,8.606,16581,8.606,16582,8.606]],["title/interfaces/NameMatch.html",[159,0.712,13751,5.658]],["body/interfaces/NameMatch.html",[2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,31,0.743,32,0.144,33,0.533,47,1.03,95,0.105,101,0.016,103,0.001,104,0.001,112,0.916,122,1.961,159,1.194,161,2.253,301,6.103,331,4.2,415,6.652,700,6.126,701,6.126,886,2.994,1582,8.392,2010,7.736,4703,7.035,5408,6.801,7553,5.344,12472,6.676,12473,6.562,12490,5.822,13746,7.683,13747,8.76,13748,9.82,13749,9.2,13750,8.76,13751,9.482]],["title/entities/News.html",[205,1.419,7882,4.04]],["body/entities/News.html",[0,0.324,3,0.008,4,0.019,5,0.004,7,0.15,9,3.138,26,1.899,27,0.491,30,0.001,31,0.526,32,0.162,33,0.53,34,1.157,47,0.95,83,2.435,95,0.129,96,2.168,101,0.013,103,0,104,0,112,0.796,129,1.288,130,1.177,134,1.54,148,0.427,153,1.343,155,3.431,159,0.445,190,2.184,195,2.678,196,3.723,205,2.069,206,1.418,211,4.58,221,3.259,223,3.715,224,1.259,225,2.593,226,1.977,231,1.617,232,2.536,233,1.348,290,2.662,409,5.292,412,3.688,435,1.494,457,4.617,467,1.266,512,4.24,571,3.287,613,4.774,692,5.232,693,3.076,703,3.443,704,4.784,886,2.629,1086,3.954,1087,4.325,1088,3.892,1089,4.137,1090,4.511,1373,4.12,1821,4.437,1826,4.267,1842,3.795,1921,4.484,1939,2.311,2033,2.566,2393,4.12,2715,4.693,2923,3.259,2942,4.986,2956,2.594,3011,5.838,3056,2.093,3750,4.619,3752,4.366,3753,4.776,3755,3.126,3756,3.069,3757,3.259,3771,2.569,3908,2.969,3932,2.806,4588,2.317,4680,3.338,4681,3.017,4823,3.189,5301,3.069,5727,3.872,5817,4.962,6232,2.738,6480,7.447,6665,3.675,6668,5.474,7552,2.706,7553,2.457,7574,2.594,7778,2.924,7869,3.259,7870,3.532,7872,7.024,7873,6.126,7874,3.532,7875,4.165,7876,3.532,7877,8.474,7878,6.301,7879,6.225,7880,7.024,7881,6.994,7882,7.855,7883,5.496,7884,6.738,7885,5.496,7886,5.193,7887,5.193,7888,6.126,7889,5.496,7890,3.338,7891,3.338,7892,3.532,7893,3.259,7894,3.532,7895,2.621,7896,2.706,7897,3.338,7898,3.532,7899,3.532,7900,6.546,7901,3.532,7902,6.747,7903,3.532,7904,3.532,7905,5.193,7906,3.338,7907,5.862,7908,3.427,7909,4.484,7910,3.189,7911,3.338,7912,3.532,16583,4.348,16584,4.348,16585,4.348,16586,4.348,16587,4.348,16588,4.348,16589,4.348,16590,4.348,16591,4.348,16592,4.348,16593,4.348,16594,4.348]],["title/controllers/NewsController.html",[314,2.65,16595,6.113]],["body/controllers/NewsController.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.072,8,0.885,10,4.414,27,0.428,29,0.839,30,0.001,31,0.617,32,0.136,33,0.502,34,1.324,35,1.26,36,2.698,95,0.133,100,4.163,101,0.007,103,0,104,0,112,0.607,135,1.661,148,1.08,153,0.839,190,1.969,202,1.192,205,1.578,228,0.932,274,2.161,277,0.742,290,2.911,298,2.254,314,1.975,316,2.498,317,2.92,325,6.731,326,4.384,329,4.716,349,6.98,365,4.114,379,4.699,388,3.319,389,3.394,392,2.703,395,2.778,398,2.799,400,1.522,657,2.512,693,3.521,703,3.15,734,4.328,871,2.849,883,7.249,1083,4.376,1783,6.321,2766,5.944,2938,4.452,3220,7.533,3237,6.372,3240,2.667,3242,5.069,3752,4.997,4077,6.555,5018,4.876,5245,4.767,6179,6.291,6288,4.465,7638,6.189,7882,7.98,7921,7.173,8073,8.343,8128,3.985,12493,8.343,14059,4.368,15471,7.301,15558,4.368,15564,4.368,16595,6.796,16596,5.191,16597,5.191,16598,5.191,16599,11.205,16600,7.744,16601,5.191,16602,4.808,16603,5.191,16604,7.173,16605,5.191,16606,7.744,16607,5.191,16608,7.744,16609,5.191,16610,8.64,16611,7.744,16612,5.191,16613,4.217,16614,4.556,16615,7.525,16616,4.808,16617,4.217,16618,4.217,16619,4.808,16620,5.191,16621,4.808,16622,4.808,16623,4.808,16624,9.013,16625,4.556,16626,4.808,16627,4.808,16628,4.808,16629,4.808,16630,5.191,16631,5.191,16632,5.191,16633,5.191,16634,5.191,16635,7.744,16636,5.191]],["title/classes/NewsCrudOperationLoggable.html",[0,0.241,16637,6.113]],["body/classes/NewsCrudOperationLoggable.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,26,2.597,27,0.431,29,0.663,30,0.001,31,0.488,32,0.107,33,0.397,35,0.995,39,3.557,95,0.148,99,1.749,101,0.011,103,0.001,104,0.001,148,0.853,228,2.186,242,4.581,339,2.545,433,1.359,478,2.432,652,2.476,1027,2.656,1115,3.303,1237,3.204,1422,4.873,1423,5.675,1426,5.692,2532,10.413,7882,8.154,9216,8.496,9261,7.052,16613,7.052,16614,7.619,16637,9.707,16638,12.173,16639,8.681,16640,8.681,16641,11.872,16642,8.681,16643,8.681,16644,8.04,16645,8.04,16646,8.681]],["title/classes/NewsListResponse.html",[0,0.241,16617,5.658]],["body/classes/NewsListResponse.html",[0,0.273,2,0.561,3,0.01,4,0.022,5,0.005,7,0.074,27,0.432,29,0.406,30,0.001,31,0.528,32,0.163,33,0.507,34,1.987,47,0.908,55,2.746,56,5.474,59,2.449,70,5.896,83,2.754,95,0.13,99,1.071,101,0.01,103,0,104,0,112,0.618,125,1.266,135,1.222,155,3.316,157,3.159,185,1.82,190,1.862,201,4.038,202,1.22,205,2.655,231,1.36,290,2.464,296,3.518,298,2.308,304,3.902,339,3.253,360,3.055,374,2.308,430,3.863,431,4.025,433,0.968,436,3.069,458,2.119,460,3.237,462,3.237,613,3.055,703,3.565,862,7.488,863,6.41,864,4.53,866,2.647,868,4.52,869,2.601,870,2.909,871,1.955,872,3.752,873,5.022,874,4.613,875,3.475,876,2.767,877,3.752,878,3.752,880,3.387,881,2.909,886,2.495,1083,3.003,1675,3.203,1749,3.029,1826,5.338,1842,3.601,2033,2.015,2393,3.981,2588,3.346,3011,5.497,3056,2.558,3197,4.218,3198,4.218,3201,2.49,3237,3.083,3771,3.141,3824,3.984,4681,3.688,4752,7.902,4905,5.085,5018,3.346,5102,3.688,6480,6.889,6668,5.064,7573,3.272,7873,5.152,7878,6.316,7879,3.984,7880,7.04,7881,5.661,7882,7.556,7891,4.08,7897,4.08,7907,3.752,8069,6.753,8080,3.111,8081,4.472,8082,4.189,8087,3.898,9119,6.631,11652,3.984,16617,6.402,16618,10.037,16647,4.923,16648,5.315,16649,5.315,16650,6.402,16651,6.402,16652,7.63,16653,7.299,16654,7.299,16655,4.664,16656,7.299,16657,4.923,16658,4.923,16659,4.189,16660,4.318,16661,4.923,16662,4.664]],["title/classes/NewsMapper.html",[0,0.241,16613,5.658]],["body/classes/NewsMapper.html",[0,0.213,2,0.65,3,0.011,4,0.016,5,0.006,7,0.086,8,1.002,27,0.459,29,0.898,30,0.001,31,0.661,32,0.146,33,0.537,34,1.499,35,1.349,95,0.14,99,1.24,100,4.486,101,0.008,103,0,104,0,135,1.674,148,1.156,153,0.995,155,3.26,290,1.46,326,3.336,339,2.571,365,3.893,430,2.531,431,2.637,467,4.038,478,1.724,703,3.133,830,4.874,837,3.047,1027,1.883,1424,8.963,1826,3.162,2393,3.913,3011,5.086,6668,4.727,7873,6.677,7878,6.867,7880,4.612,7881,6.708,7882,7.702,8062,8.296,8069,8.003,8070,8.592,8071,9.042,8072,4.999,8073,9.042,8432,8.12,12493,9.042,16610,9.364,16613,7.122,16618,9.042,16663,6.153,16664,8.767,16665,8.767,16666,8.767,16667,8.767,16668,8.767,16669,6.153,16670,8.767,16671,6.153,16672,8.767,16673,6.153,16674,8.767,16675,6.153,16676,8.767,16677,6.153,16678,5.401,16679,10.212,16680,5.401,16681,5.401,16682,6.153,16683,6.153,16684,6.153,16685,8.767,16686,6.153,16687,6.153,16688,5.7,16689,6.153,16690,6.153,16691,8.12,16692,8.12,16693,6.153,16694,6.153,16695,5.7,16696,6.153,16697,6.153,16698,6.153,16699,8.767,16700,6.153,16701,6.153,16702,6.153,16703,6.153,16704,8.767,16705,8.767,16706,6.153,16707,6.153,16708,6.153]],["title/modules/NewsModule.html",[252,1.839,16709,5.86]],["body/modules/NewsModule.html",[0,0.298,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.204,254,3.102,255,3.294,256,3.377,257,3.364,258,3.352,259,4.408,260,4.51,265,6.267,269,4.312,270,3.317,271,3.249,274,4.585,276,4.312,277,1.233,279,3.576,1027,2.639,1856,7.7,2680,3.961,16595,10.651,16615,11.636,16616,7.989,16709,12.107,16710,8.625,16711,8.625,16712,8.625,16713,8.625,16714,10.977,16715,8.625,16716,10.651,16717,8.625,16718,8.625,16719,8.625]],["title/interfaces/NewsProperties.html",[159,0.712,7877,5.49]],["body/interfaces/NewsProperties.html",[0,0.338,3,0.009,4,0.021,5,0.004,7,0.155,9,3.335,26,2.523,30,0.001,31,0.404,32,0.161,33,0.544,34,0.804,47,0.989,83,2.865,95,0.133,96,2.278,101,0.013,103,0,104,0,112,0.826,134,1.666,148,0.462,153,1.411,155,3.542,159,0.481,161,1.121,195,2.439,196,3.682,205,2.145,223,3.598,224,1.363,225,2.755,226,2.139,231,1.686,232,2.644,233,1.458,290,2.895,409,5.561,412,3.875,435,1.616,457,4.851,467,1.369,512,4.455,571,3.454,613,5.616,692,5.55,693,2.139,703,3.653,704,5.373,886,2.276,1086,4.154,1087,4.509,1088,4.089,1089,4.346,1090,4.739,1373,4.378,1821,3.404,1826,2.417,1842,3.285,1921,3.118,1939,2.5,2033,2.726,2393,4.252,2715,4.931,2923,3.526,2942,4.047,2956,2.807,3011,5.94,3056,2.264,3750,3.212,3752,3.036,3753,3.321,3755,3.383,3756,3.321,3757,3.526,3771,2.78,3908,3.212,3932,3.036,4588,1.611,4680,3.611,4681,3.264,4823,3.451,5301,3.321,5727,4.068,5817,3.451,6232,2.962,6480,8.139,6665,2.555,6668,5.983,7552,2.928,7553,2.658,7574,2.807,7869,3.526,7870,3.822,7872,7.889,7873,5.705,7874,3.822,7875,4.426,7876,3.822,7877,9.101,7878,7.077,7879,7.323,7880,7.889,7881,6.688,7882,7.691,7883,3.822,7884,5.169,7885,3.822,7886,3.611,7887,3.611,7888,4.7,7889,3.822,7890,3.611,7891,3.611,7892,3.822,7893,3.526,7894,3.822,7895,2.835,7896,2.928,7897,3.611,7898,3.822,7899,3.822,7900,6.878,7901,3.822,7902,7.089,7903,3.822,7904,3.822,7905,5.519,7906,3.611,7907,6.159,7908,3.708,7909,4.765,7910,3.451,7911,3.611,7912,3.822]],["title/injectables/NewsRepo.html",[589,0.926,16714,5.658]],["body/injectables/NewsRepo.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,8,0.816,10,2.868,12,3.23,18,3.577,26,2.466,27,0.484,29,0.906,30,0.001,31,0.667,32,0.151,33,0.542,34,1.483,35,1.361,36,2.67,40,2.256,49,2.689,59,2.696,95,0.132,96,1.217,98,2.809,99,0.939,101,0.006,103,0,104,0,112,0.56,129,1.38,130,1.261,134,1.65,135,1.644,148,1.03,153,1.154,157,1.079,205,0.95,206,2.329,224,1.35,231,1.232,277,0.666,317,2.927,365,3.17,374,3.767,388,4.492,436,2.872,478,1.306,532,4.632,540,4.35,589,0.949,591,1.106,595,1.768,640,5.985,652,1.765,653,3.568,657,2.783,703,3.392,728,6.675,734,3.008,735,3.23,736,4.271,759,2.781,760,2.838,761,2.809,762,2.838,763,3.234,764,2.809,765,2.838,766,2.495,771,3.351,788,3.182,896,5.405,1218,3.047,2232,4.068,2479,5.745,2938,4.104,3011,5.561,3752,6.274,3755,6.991,4213,5.799,4703,2.809,5136,3.089,5138,5.204,6178,2.754,6288,3.526,6480,5.236,6665,6.005,6668,3.849,7180,4.8,7638,4.302,7869,6.503,7882,7.741,7906,6.659,7911,6.659,7924,7.645,7934,5.35,9636,5.236,11300,8.818,11973,6.612,11989,6.612,12496,3.674,14206,8.533,16714,5.799,16720,4.661,16721,8.675,16722,7.138,16723,8.675,16724,7.138,16725,7.138,16726,9.349,16727,4.661,16728,4.661,16729,4.661,16730,7.138,16731,4.661,16732,9.722,16733,4.661,16734,4.661,16735,4.661,16736,7.614,16737,7.138,16738,4.661,16739,9.722,16740,7.138,16741,4.661,16742,4.661,16743,7.138,16744,4.661,16745,4.661,16746,7.138,16747,7.138,16748,4.661,16749,4.661,16750,4.661,16751,8.675,16752,4.661,16753,4.661,16754,4.661]],["title/classes/NewsResponse.html",[0,0.241,16618,5.658]],["body/classes/NewsResponse.html",[0,0.238,2,0.469,3,0.008,4,0.023,5,0.004,7,0.062,27,0.516,29,0.339,30,0.001,31,0.576,32,0.169,33,0.517,34,2.134,47,0.972,55,1.706,56,3.241,70,3.491,83,3.181,95,0.121,99,0.895,101,0.009,103,0,104,0,112,0.54,135,1.096,155,3.611,157,3.145,185,2.357,190,2.351,201,3.685,202,1.02,205,2.797,231,0.767,290,2.684,296,3.398,298,1.93,304,4.17,339,2.018,360,3.956,374,2.988,430,4.218,431,4.396,433,0.845,458,1.772,460,2.706,462,2.706,613,2.555,703,3.761,821,2.269,862,4.283,863,2.451,864,2.555,868,5.901,880,2.832,881,2.432,886,2.666,1083,3.889,1361,3.956,1675,2.679,1749,3.922,1826,5.813,1842,4.332,2033,2.61,2393,4.335,2588,4.333,3011,5.791,3056,2.139,3196,2.905,3197,5.075,3198,5.075,3200,2.652,3201,3.225,3237,3.991,3771,2.626,3824,5.158,4681,3.084,4752,7.085,4905,6.118,5018,4.333,5102,4.775,6480,7.523,6668,5.53,7185,4.116,7573,2.736,7873,5.505,7878,6.897,7879,3.331,7880,7.687,7881,6.182,7882,7.96,7891,3.411,7897,3.411,7907,3.137,8069,7.375,8080,4.028,8081,5.79,8082,5.424,8087,5.047,9119,7.977,11652,3.331,16617,3.61,16618,9.496,16647,4.116,16650,6.841,16651,6.841,16652,8.332,16653,7.799,16654,7.799,16655,3.9,16656,7.799,16657,4.116,16658,4.116,16659,3.503,16660,3.61,16661,4.116,16662,6.039,16755,4.444,16756,4.444,16757,4.444,16758,4.444,16759,4.444,16760,4.444,16761,4.444,16762,4.444,16763,4.444,16764,4.444,16765,4.444,16766,4.444,16767,4.444,16768,4.444,16769,4.444,16770,4.444]],["title/classes/NewsScope.html",[0,0.241,16736,6.113]],["body/classes/NewsScope.html",[0,0.22,2,0.672,3,0.012,4,0.012,5,0.006,7,0.089,8,1.026,26,2.29,27,0.514,29,0.863,30,0.001,31,0.635,32,0.157,33,0.516,35,1.418,83,2.634,95,0.138,96,1.663,99,1.283,101,0.008,103,0,104,0,112,0.705,122,2.157,125,1.517,129,1.886,130,1.723,135,1.354,141,2.729,145,2.39,148,1.171,153,1.453,224,1.845,231,1.55,365,5.02,436,3.52,478,1.784,569,1.979,652,2.515,756,2.54,1834,4.671,1924,7.6,2479,7.043,3011,2.91,3958,5.898,3960,5.173,4703,3.838,6288,5.437,6665,5.652,6668,3.433,7007,5.954,7008,5.954,7009,5.954,7014,5.954,7015,5.954,7016,4.282,7017,4.221,7018,4.282,7019,4.282,7028,4.221,7029,5.954,7030,4.282,7031,4.221,7032,4.282,7033,4.221,7034,7.491,7878,6.04,7881,3.838,7882,5.21,9528,5.02,11300,5.358,11305,5.898,11316,4.888,12029,5.898,14301,7.297,14304,8.32,16726,9.182,16736,11.739,16771,11.039,16772,8.982,16773,11.302,16774,8.982,16775,11.302,16776,8.982,16777,6.368,16778,8.982,16779,6.368,16780,6.368,16781,5.898,16782,6.368,16783,6.368,16784,6.368,16785,6.368,16786,6.368,16787,6.368,16788,6.368]],["title/interfaces/NewsTargetFilter.html",[159,0.712,16726,5.658]],["body/interfaces/NewsTargetFilter.html",[3,0.019,4,0.019,5,0.009,7,0.144,26,2.76,30,0.001,32,0.152,95,0.115,99,2.082,101,0.013,103,0.001,104,0.001,112,0.966,159,1.057,161,2.462,3011,4.722,7873,8.906,7881,8.21,11304,11.955,16726,10.005,16771,9.572,16789,10.334]],["title/injectables/NewsUc.html",[589,0.926,16615,5.658]],["body/injectables/NewsUc.html",[0,0.114,3,0.006,4,0.006,5,0.003,7,0.046,8,0.619,10,2.176,25,4.753,26,2.812,27,0.436,29,0.854,30,0.001,31,0.628,32,0.142,33,0.511,34,1.716,35,1.388,36,2.558,39,3.728,47,0.507,59,1.683,83,2.343,95,0.121,98,1.985,99,0.663,101,0.004,103,0,104,0,122,1.43,125,1.643,129,2.615,130,1.866,135,1.65,142,2.497,145,1.236,148,1.099,153,0.876,157,0.762,158,1.215,277,0.471,279,1.365,290,1.285,317,2.864,326,4.133,388,5.187,413,4.2,433,0.665,435,1.86,467,2.008,478,0.922,540,3.33,567,2.572,571,1.303,589,0.72,591,0.781,595,1.249,652,2.496,657,2.991,693,3.136,703,1.01,711,3.554,734,2.282,770,2.073,980,2.987,1027,1.008,1083,1.861,1086,1.568,1087,1.52,1088,1.543,1778,3.41,1826,6.121,1862,3.666,1863,6.723,1921,3.589,2125,1.726,2447,4.195,2532,2.675,2680,1.512,3011,4.035,3045,5.296,3237,3.141,3418,2.439,3612,2.098,4588,3.025,4999,3.972,6288,4.261,6668,1.775,7064,2.468,7638,1.985,7873,5.224,7878,7.05,7881,6.739,7882,7.913,7924,4.919,7996,2.527,8062,6.492,8069,7.217,8070,6.723,8071,8.154,8072,7.174,8087,2.415,10477,5.059,11274,5.016,11281,5.016,11300,8.444,11304,4.753,14054,4.753,14712,2.89,15773,5.803,16615,4.399,16625,4.753,16637,2.89,16641,3.05,16644,3.05,16655,2.89,16688,3.05,16691,7.401,16692,7.401,16695,5.016,16714,7.715,16726,4.399,16790,3.293,16791,6.897,16792,5.415,16793,5.415,16794,5.415,16795,6.897,16796,3.293,16797,3.293,16798,5.016,16799,3.293,16800,3.293,16801,3.293,16802,3.293,16803,5.415,16804,6.053,16805,5.415,16806,3.293,16807,5.415,16808,3.293,16809,9.496,16810,3.293,16811,5.415,16812,3.293,16813,5.016,16814,3.293,16815,5.603,16816,3.293,16817,5.415,16818,3.293,16819,3.293,16820,3.293,16821,5.415,16822,6.897,16823,3.293,16824,3.293,16825,7.991,16826,3.293,16827,5.415,16828,3.293,16829,5.415,16830,3.293,16831,3.293,16832,3.293,16833,3.293,16834,5.415,16835,3.293,16836,3.293,16837,3.293,16838,5.415,16839,6.897,16840,2.596,16841,3.293,16842,3.293,16843,3.293,16844,3.293,16845,3.293,16846,3.293,16847,3.293,16848,3.293,16849,3.293,16850,3.293,16851,5.415,16852,3.293,16853,3.293,16854,3.293,16855,5.415,16856,3.293,16857,3.293,16858,3.293,16859,3.293,16860,3.293]],["title/classes/NewsUrlParams.html",[0,0.241,16599,6.113]],["body/classes/NewsUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,4197,6.09,7882,7.004,16599,10.598,16861,9.999,16862,12.972,16863,9.999]],["title/injectables/NexboardService.html",[589,0.926,15627,6.113]],["body/injectables/NexboardService.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,26,2.521,27,0.41,29,0.802,30,0.001,31,0.59,32,0.145,33,0.48,34,1.372,35,0.92,36,2.221,39,3.253,47,1.007,94,4.07,95,0.139,99,1.616,101,0.013,103,0,104,0,110,2.789,135,1.525,148,1.033,153,1.297,155,3.971,157,2.88,197,2.242,228,1.441,277,1.147,317,2.536,339,2.352,400,2.352,433,0.985,589,1.397,591,1.903,610,3.164,629,4.234,652,1.632,657,1.834,734,3.381,1027,2.455,1080,3.643,1328,4.263,2051,3.395,2447,4.9,2448,5.83,6218,7.558,10062,7.04,10063,9.72,10072,7.43,10074,7.43,11351,7.43,15627,9.225,16864,8.022,16865,11.723,16866,8.022,16867,8.022,16868,8.022,16869,8.022,16870,10.51,16871,8.022,16872,8.022,16873,8.022,16874,8.022]],["title/interfaces/NextcloudGroups.html",[159,0.712,13140,5.221]],["body/interfaces/NextcloudGroups.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.038,55,2.549,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,7.562,13138,6.99,13139,7.159,13140,8.673,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,6.99]],["title/injectables/NextcloudStrategy.html",[589,0.926,5071,6.113]],["body/injectables/NextcloudStrategy.html",[0,0.106,3,0.006,4,0.006,5,0.003,7,0.043,8,0.582,27,0.425,29,0.777,30,0.001,31,0.655,32,0.126,33,0.465,34,1.806,35,1.212,36,2.579,39,1.414,47,0.971,55,1.719,62,3.041,72,1.405,95,0.13,100,2.663,101,0.004,103,0,104,0,112,0.4,113,4.546,135,1.639,142,1.108,145,1.148,148,0.955,153,0.495,157,2.12,228,1.645,277,0.437,290,2.012,317,2.771,328,3.819,331,1.359,335,3.427,356,3.427,360,1.759,388,4.528,433,0.626,467,2.666,526,2.747,567,1.141,579,0.873,589,0.677,591,0.726,612,5.136,614,0.948,629,1.615,652,2.327,657,2.97,703,1.563,756,1.22,812,1.95,980,2.81,983,1.974,985,1.775,1027,0.936,1065,5.743,1147,3.912,1237,1.476,1328,2.708,1396,1.974,1470,1.715,1568,2.123,1627,3.664,1826,1.572,1829,1.311,1853,1.004,1900,2,1926,1.863,1941,2,2008,1.524,2060,3.738,2343,3.664,2370,5.134,2447,2.13,2448,3.579,2465,1.808,2473,3.172,2512,1.826,2553,3.209,2588,3.209,2643,3.479,2698,2.478,2776,3.243,2831,2.621,2915,3.071,3102,1.844,3237,1.775,3282,2.057,3418,3.44,3728,2.2,3824,4.908,3898,3.282,3900,1.615,3908,2.089,4291,7.06,4300,4.72,4905,4.928,4996,7.639,5001,4.287,5004,3.288,5006,4.14,5007,4.14,5009,4.14,5010,4.14,5012,5.32,5015,4.14,5016,7.597,5018,8.277,5019,4.14,5023,4.14,5029,2.348,5031,2.412,5051,8.583,5052,2.485,5053,2.685,5054,8.525,5055,7.446,5069,7.125,5070,7.074,5071,4.472,5073,2.348,5075,2.834,5171,4.72,5215,1.744,5222,2.123,5278,3.209,5449,5.855,5910,2.574,6435,1.883,6668,2.747,6686,2.602,6794,1.863,7044,5.98,7062,1.904,8068,3.427,8076,2.412,8114,2.768,8222,4.623,8311,3.209,8511,9.026,8852,4.017,8968,2.685,9897,2.834,10631,4.966,11372,6.74,13648,2.348,13669,9.17,13714,10.171,16459,2.574,16875,3.059,16876,7.637,16877,7.637,16878,5.096,16879,5.096,16880,5.096,16881,3.059,16882,3.059,16883,7.707,16884,9.16,16885,6.719,16886,3.059,16887,3.819,16888,3.059,16889,3.059,16890,5.096,16891,3.059,16892,8.483,16893,7.637,16894,5.096,16895,3.059,16896,3.059,16897,5.51,16898,3.059,16899,4.472,16900,5.096,16901,7.892,16902,3.059,16903,4.287,16904,4.72,16905,4.72,16906,5.096,16907,3.059,16908,3.059,16909,3.059,16910,3.059,16911,10.175,16912,7.637,16913,3.059,16914,2.834,16915,3.059,16916,3.059,16917,3.059,16918,5.096,16919,3.059,16920,5.096,16921,6.548,16922,7.637,16923,5.096,16924,3.059,16925,2.685,16926,2.485,16927,3.059,16928,5.096,16929,3.059,16930,3.059,16931,3.059,16932,3.059,16933,3.059,16934,3.059,16935,5.096,16936,3.059,16937,5.096,16938,3.059,16939,3.059,16940,3.059,16941,2.834,16942,3.059,16943,3.059,16944,3.059,16945,3.059,16946,3.059,16947,3.059,16948,3.059,16949,3.059,16950,3.059,16951,3.059,16952,3.059,16953,3.059,16954,3.059,16955,3.059,16956,3.059,16957,3.059,16958,3.059,16959,3.059,16960,5.096,16961,5.096,16962,3.059,16963,3.059,16964,3.059,16965,3.059,16966,3.059,16967,3.059,16968,3.059,16969,3.059,16970,3.059]],["title/classes/NotFoundLoggableException.html",[0,0.241,4862,4.616]],["body/classes/NotFoundLoggableException.html",[0,0.308,2,0.939,3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,27,0.438,29,0.679,30,0.001,31,0.5,32,0.139,33,0.406,35,1.02,47,0.905,95,0.137,101,0.011,103,0.001,104,0.001,135,1.157,148,0.874,228,2.017,231,1.938,233,2.757,277,1.272,339,2.607,400,2.607,433,1.092,652,1.809,1078,5.393,1115,4.274,1237,3.253,1422,4.928,1426,5.743,1462,4.794,1468,6.028,1477,4.54,1478,4.726,2954,6.542,4862,7.444,10416,5.894,12509,7.01,12510,7.224,13969,10.357,14359,6.826,16971,11.402,16972,12.31,16973,11.402,16974,8.892,16975,12.31,16976,8.892,16977,8.892,16978,8.892]],["title/injectables/OAuth2ToolLaunchStrategy.html",[589,0.926,16979,5.86]],["body/injectables/OAuth2ToolLaunchStrategy.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.831,9,2.216,26,2.262,27,0.514,29,0.996,30,0.001,31,0.733,32,0.166,33,0.596,35,1.496,36,2.453,39,2.445,47,0.919,95,0.118,99,0.962,101,0.006,103,0,104,0,110,3.424,112,0.876,125,2.346,130,1.968,134,1.692,142,3.189,148,0.866,172,3.104,228,1.306,231,1.255,277,0.683,317,2.704,326,2.768,339,3.273,436,3.892,569,2.261,571,3.898,589,0.967,591,1.133,652,2.763,711,3.778,1086,4.688,1087,4.545,1088,4.614,1089,4.905,1090,5.349,1476,5.309,1756,2.746,2005,6.849,2006,6.754,2060,7.223,2061,7.081,2698,2.36,2736,4.193,2738,4.425,2739,12.503,2740,6.737,2741,8.159,2742,6.737,2743,6.737,2744,6.737,2745,6.737,2746,6.737,2747,6.737,2748,6.737,2749,6.737,2750,6.384,2751,6.384,2752,6.737,2753,6.737,2754,4.425,2755,9.431,2756,4.425,2757,6.737,2758,11.037,2760,6.737,2762,7.411,2763,4.425,2764,6.737,2765,7.589,2766,5.584,2767,4.425,2768,4.425,2769,6.737,2770,6.951,2771,4.425,2772,4.425,2773,6.737,2774,4.425,2775,4.425,2776,4.362,2777,4.425,2778,8.569,2779,4.425,2780,4.425,2781,4.425,2782,4.425,2783,4.193,2784,4.193,2785,4.425,2786,4.425,2787,4.425,2788,3.504,2789,4.425,2790,6.737,2791,6.527,2792,4.425,2793,4.425,2794,6.737,2795,4.425,2796,2.557,2797,6.737,2799,4.425,2800,3.262,2801,4.193,2802,3.667,2814,4.193,16979,6.12,16980,4.777,16981,4.777]],["title/classes/OAuthProcessDto.html",[0,0.241,16982,6.451]],["body/classes/OAuthProcessDto.html",[0,0.34,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.502,29,0.75,30,0.001,31,0.552,32,0.159,33,0.588,47,0.984,101,0.013,103,0.001,104,0.001,112,0.937,433,1.207,871,3.616,1585,7.841,2258,9.258,2274,8.626,6947,9.172,16982,12.714,16983,12.407,16984,9.828,16985,11.949,16986,9.828,16987,9.828,16988,9.828,16989,9.828]],["title/classes/OAuthRejectableBody.html",[0,0.241,6275,5.658]],["body/classes/OAuthRejectableBody.html",[0,0.32,2,0.701,3,0.012,4,0.012,5,0.006,7,0.092,27,0.472,30,0.001,32,0.15,33,0.616,47,0.964,55,1.875,95,0.103,101,0.009,103,0,104,0,112,0.726,157,2.977,187,7.083,190,2.17,194,5.301,196,4.476,197,4,200,2.032,202,1.525,296,3.28,299,4.739,300,4.803,337,5.695,342,6.048,402,3.328,403,5.878,711,2.68,890,7.861,998,4.381,1042,6.132,1080,4.804,1302,5.143,1379,6.652,1390,5.759,1889,8.392,2164,4.291,2550,6.939,3791,6.531,5317,7.102,6178,5.467,6275,7.516,6276,8.957,6277,8.957,6278,8.392,6281,6.221,6296,9.075,6297,7.102,6298,8.12,6299,8.12,6300,8.12,6302,8.838,6303,7.988,6304,6.934,6305,7.516,6306,7.102,6307,7.784,6308,7.516,6310,7.784,6313,5.829,6314,7.784,6315,7.784,16990,11.61,16991,6.642,16992,6.642,16993,6.642,16994,6.642,16995,6.642,16996,6.642]],["title/injectables/OAuthService.html",[589,0.926,13565,5.49]],["body/injectables/OAuthService.html",[0,0.134,3,0.007,4,0.007,5,0.003,7,0.054,8,0.706,26,1.782,27,0.435,29,0.851,30,0.001,31,0.627,32,0.138,33,0.51,35,1.232,36,2.588,47,1.059,48,5.639,52,1.967,59,2.396,95,0.147,99,0.781,100,1.352,101,0.005,103,0,104,0,122,0.804,125,0.924,135,1.705,142,3.184,148,1.13,153,1.422,159,0.397,173,6.368,180,1.662,195,1.359,228,2.003,277,0.555,290,2.279,317,2.835,339,1.137,433,0.759,478,1.086,579,2.511,589,0.822,591,0.92,652,2.563,657,2.844,688,1.808,703,2.698,998,4.165,1027,1.187,1309,4.445,1422,1.552,1459,3.263,1466,8.147,1470,2.173,1491,7.806,1540,2.691,1548,2.906,1569,3.592,1573,3.263,1585,2.362,1589,2.977,1593,2.387,1605,6.005,1675,2.337,1719,4.535,1723,3.523,1735,7.141,1853,1.272,2066,5.83,2068,5.349,2070,2.091,2071,3.653,2447,3.222,2448,4.122,2557,2.607,2617,3.848,2927,3.057,3430,2.684,3900,3.263,3903,3.263,4981,2.844,5203,2.906,5204,6.452,5206,2.737,5225,3.15,5394,3.057,5449,6.171,6281,4.157,7211,2.502,7739,2.442,8033,5.426,8114,4.778,9503,3.403,10098,6.005,10107,7.516,11371,3.057,13094,4.29,13565,4.873,13579,8.177,13580,5.779,13585,5.726,13631,6.766,13640,7.83,13655,4.535,13711,7.539,13834,5.426,14387,4.445,14679,3.403,15089,2.906,15100,2.906,15335,2.788,15482,5.543,15491,6.752,16479,9.038,16484,5.726,16493,3.592,16497,5.426,16926,3.15,16997,3.878,16998,7.709,16999,7.709,17000,7.709,17001,6.182,17002,6.182,17003,6.182,17004,9.038,17005,8.727,17006,3.878,17007,3.878,17008,8.796,17009,3.878,17010,3.878,17011,3.878,17012,3.878,17013,3.878,17014,6.182,17015,3.878,17016,6.182,17017,3.878,17018,6.182,17019,3.878,17020,6.182,17021,3.878,17022,3.263,17023,3.403,17024,3.403,17025,3.403,17026,3.878,17027,5.022,17028,3.878,17029,3.878,17030,3.263,17031,3.878,17032,3.878,17033,3.878,17034,3.878,17035,3.263,17036,3.878,17037,7.709,17038,3.878,17039,3.878,17040,5.726,17041,3.878,17042,3.878,17043,3.592,17044,5.426,17045,3.878,17046,3.878,17047,3.878,17048,3.592,17049,3.878,17050,5.426,17051,3.878,17052,3.878,17053,3.878,17054,5.726,17055,3.878,17056,6.182,17057,3.878]],["title/classes/OAuthTokenDto.html",[0,0.241,13580,5.221]],["body/classes/OAuthTokenDto.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.517,29,0.731,30,0.001,31,0.538,32,0.164,33,0.437,47,1.019,101,0.012,103,0.001,104,0.001,112,0.922,173,8.435,232,3.181,433,1.176,435,3.288,1605,8.689,13580,10.212,15971,8.052,15972,8.052,17058,13.624,17059,9.57,17060,11.787,17061,11.757,17062,9.57,17063,9.57,17064,8.864,17065,8.864,17066,9.57,17067,9.57]],["title/classes/Oauth2AuthorizationBodyParams.html",[0,0.241,15946,5.86]],["body/classes/Oauth2AuthorizationBodyParams.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.494,30,0.001,32,0.157,47,1.017,48,5.938,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.272,200,2.901,202,2.177,296,3.461,299,4.961,855,4.733,856,7.045,998,6.001,6815,6.817,8366,9.496,13711,7.801,15040,8.32,15041,8.781,15841,8.781,15842,8.781,15946,9.834,17068,13.229]],["title/classes/Oauth2MigrationParams.html",[0,0.241,17069,6.113]],["body/classes/Oauth2MigrationParams.html",[0,0.4,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.49,30,0.001,32,0.155,47,1.012,48,5.889,95,0.129,101,0.012,103,0.001,104,0.001,112,0.906,180,5.633,190,2.253,200,2.847,202,2.136,296,3.439,299,4.92,855,4.678,856,6.986,998,5.951,4970,6.035,6815,6.69,8366,9.386,13711,7.736,17069,10.14,17070,13.142,17071,9.304,17072,9.304,17073,9.304,17074,9.304]],["title/injectables/Oauth2Strategy.html",[589,0.926,1533,6.113]],["body/injectables/Oauth2Strategy.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.133,27,0.386,29,0.757,30,0.001,31,0.557,32,0.149,33,0.453,35,0.843,36,2.095,48,4.646,66,6.481,94,5.693,95,0.155,101,0.009,103,0,104,0,135,1.632,142,3.589,148,0.722,153,1.603,159,0.751,172,4.231,174,5.016,193,3.204,228,1.78,231,1.711,233,2.277,277,1.051,290,2.662,317,2.427,325,3.638,347,3.775,349,5.03,379,3.727,400,2.154,433,0.903,480,5.389,578,3.851,579,2.83,589,1.318,591,1.743,652,1.494,657,2.566,666,10.141,675,3.751,998,4.695,1213,6.318,1220,4.223,1422,2.941,1533,8.701,1545,5.186,1712,5.64,1984,4.94,5004,4.741,6281,6.666,8102,5.507,8114,5.385,8117,7.815,8121,5.968,13564,6.805,13565,10.188,13580,7.431,13711,6.103,14461,5.64,14465,8.054,14470,5.968,14962,6.448,15222,9.182,15225,6.805,15238,6.805,15946,8.341,17050,6.448,17075,7.347,17076,7.347,17077,7.347,17078,8.701,17079,7.347,17080,7.347,17081,9.182,17082,6.805,17083,7.347,17084,7.347,17085,7.347]],["title/classes/Oauth2ToolConfig.html",[0,0.241,8310,4.833]],["body/classes/Oauth2ToolConfig.html",[0,0.257,2,0.784,3,0.014,4,0.014,5,0.007,7,0.103,27,0.537,29,0.567,30,0.001,31,0.417,32,0.174,33,0.635,47,1.022,95,0.111,101,0.01,103,0,104,0,112,0.783,122,2.071,231,1.723,232,2.703,233,2.303,433,0.913,435,2.552,436,2.95,614,2.303,2036,3.657,2333,6.324,2696,6.204,2698,4.474,2699,6.25,2700,9.437,2702,6.519,2703,5.644,2704,6.519,2705,6.519,2707,5.341,6288,4.586,6369,5.689,8172,7.281,8206,5.702,8207,6.035,8262,4.995,8263,6.035,8307,9.719,8310,8.736,8318,6.801,8321,8.662,8323,8.458,8328,5.072,13826,5.072,15084,5.449,16037,6.88,16038,6.88,16039,6.88,16040,6.88,16041,6.88,16042,6.88,17086,13.644,17087,9.988,17088,6.519,17089,7.428,17090,6.88,17091,6.88,17092,6.88,17093,6.88,17094,6.88,17095,6.88]],["title/classes/Oauth2ToolConfigCreateParams.html",[0,0.241,10313,5.86]],["body/classes/Oauth2ToolConfigCreateParams.html",[0,0.336,2,0.752,3,0.013,4,0.013,5,0.006,7,0.099,27,0.527,30,0.001,32,0.172,33,0.542,47,1.023,95,0.132,101,0.009,103,0,104,0,112,0.762,122,2.013,190,2.425,199,5.355,200,2.18,201,4.293,202,1.636,231,1.675,296,3.49,299,5.014,300,4.233,436,2.868,614,2.209,899,3.256,2036,3.508,2088,5.717,2333,6.19,2696,6.066,2698,4.389,2703,6.242,2720,9.104,2721,7.664,2722,5.788,2723,5.788,2724,5.788,2725,5.788,2726,5.788,6288,4.49,6317,5.632,6369,5.569,6837,7.122,8172,7.128,8307,9.6,8318,6.658,8321,8.479,8323,8.279,8368,5.469,10311,5.788,10313,8.17,10319,6.253,16049,6.6,16053,6.6,17096,12.355,17097,6.6,17098,7.125,17099,7.125,17100,6.6,17101,6.6,17102,7.125,17103,6.6]],["title/classes/Oauth2ToolConfigEntity.html",[0,0.241,10362,5.658]],["body/classes/Oauth2ToolConfigEntity.html",[0,0.308,2,0.939,3,0.016,4,0.016,5,0.008,7,0.124,27,0.48,29,0.679,30,0.001,31,0.5,32,0.152,33,0.406,47,0.825,95,0.137,96,2.321,101,0.011,103,0.001,104,0.001,112,0.881,122,2.328,190,2.013,223,4.155,224,2.576,231,1.534,232,3.039,433,1.092,435,3.055,457,4.943,614,2.757,2036,4.378,2109,3.896,2696,5.88,2698,4.326,2703,5.025,2710,7.482,2712,5.698,2713,9.124,2714,7.804,2715,5.025,6369,6.207,8172,7.943,8206,6.826,8207,7.224,8328,7.668,10362,10.833,13826,6.071,17088,7.804,17104,12.931,17105,11.231,17106,8.892]],["title/classes/Oauth2ToolConfigFactory.html",[0,0.241,8316,5.86]],["body/classes/Oauth2ToolConfigFactory.html",[0,0.267,2,0.41,3,0.007,4,0.007,5,0.003,7,0.054,8,0.707,27,0.491,29,0.983,30,0.001,31,0.708,32,0.165,33,0.55,34,1.058,35,1.319,47,0.455,55,2.261,59,3.184,95,0.107,101,0.012,103,0,104,0,110,1.349,112,0.485,113,4.07,127,4.41,129,3.304,130,3.019,135,1.618,148,1.183,157,1.786,172,2.64,185,2.119,192,2.141,197,2.46,205,1.572,206,2.018,228,1.111,231,1.518,290,0.921,300,1.487,326,5.025,374,2.686,417,2.175,433,0.477,436,3.674,467,1.801,501,6.756,502,4.892,505,3.439,506,4.892,507,4.955,508,3.439,509,3.439,510,3.439,511,3.386,512,3.938,513,4.288,514,6.403,515,5.261,516,6.698,517,2.175,522,2.158,523,3.439,524,2.175,525,4.613,526,4.745,527,3.74,528,4.465,529,3.412,530,2.158,531,2.034,532,3.756,533,2.063,534,2.034,535,2.158,536,2.175,537,4.222,538,2.158,539,7.515,540,3.702,541,6.203,542,2.175,543,3.011,544,2.158,545,2.175,546,2.158,547,2.175,548,2.158,551,2.158,552,5.606,553,2.175,554,2.158,555,3.439,556,3.139,557,3.439,558,2.175,559,2.093,560,2.063,561,1.748,562,2.158,563,2.158,564,2.158,565,2.175,566,2.175,567,1.447,568,2.158,569,1.206,570,2.175,571,2.449,572,2.158,573,2.175,575,2.231,576,2.294,577,5.251,614,1.203,756,1.548,1220,2.231,1598,3.656,2008,1.933,2034,2.791,2085,2.693,2088,3.306,2125,3.243,2333,4.323,2695,2.847,2698,1.259,2703,2.193,2706,2.65,2765,4.045,2770,2.74,2776,1.922,4696,6.786,4698,2.791,5223,2.473,5376,4.637,5752,2.007,6150,2.979,6160,2.693,6166,4.637,6167,2.979,6288,3.907,6369,3.119,6686,1.982,6740,2.231,6803,3.153,6808,3.06,6809,2.65,8152,2.573,8158,2.538,8160,2.538,8162,2.538,8172,2.505,8173,2.339,8175,2.364,8301,5.205,8302,5.43,8304,3.407,8306,2.847,8307,4.637,8308,3.06,8309,2.847,8310,2.693,8311,2.444,8312,3.407,8313,3.407,8314,3.407,8315,6.77,8316,6.491,8317,5.43,8318,3.729,8319,3.153,8320,2.847,8321,2.979,8322,3.407,8323,2.909,8324,3.407,8325,3.407,8326,5.43,8327,3.407,8328,2.65,8329,3.407,8330,3.407,8331,3.407,8332,2.693,8333,3.407,8334,3.407,8335,3.266,8336,3.407,8337,2.791,8338,5.43,8339,6.77,8340,3.06,8341,5.43,8342,5.43,8343,3.407,8344,3.266,8345,3.06,8346,5.205,8347,3.407,8348,3.407,8349,3.407,8350,3.407,8351,3.407,8352,5.43,8353,3.407,8354,3.266,8355,2.573,8356,3.266,8357,3.407,8358,3.407,8359,3.407,8360,3.407,17107,6.187,17108,3.881]],["title/classes/Oauth2ToolConfigResponse.html",[0,0.241,10921,5.86]],["body/classes/Oauth2ToolConfigResponse.html",[0,0.245,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,27,0.527,29,0.541,30,0.001,31,0.398,32,0.172,33,0.617,47,1.004,95,0.123,101,0.009,103,0,104,0,112,0.759,122,2.006,190,2.388,201,5.252,202,1.627,231,1.669,232,2.618,233,2.197,296,3.535,433,0.871,435,2.435,436,2.858,614,2.197,2036,3.489,2109,3.105,2333,6.173,2696,6.058,2698,4.384,2703,6.225,2707,5.096,2716,5.003,2729,5.758,2730,10.064,2732,6.22,2733,6.22,2734,5.758,6288,4.477,6369,5.554,8172,7.108,8206,5.44,8207,5.758,8262,4.766,8263,5.758,8307,9.585,8321,8.456,8323,8.257,8328,4.839,10921,10.423,13826,4.839,16065,6.565,16066,6.565,16067,6.565,16068,6.565,16069,6.22,17088,6.22,17090,6.565,17091,6.565,17092,6.565,17093,6.565,17094,6.565,17095,6.565,17109,13.323,17110,9.675]],["title/classes/Oauth2ToolConfigUpdateParams.html",[0,0.241,10851,5.86]],["body/classes/Oauth2ToolConfigUpdateParams.html",[0,0.335,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,27,0.527,30,0.001,32,0.172,33,0.584,47,1.022,95,0.132,101,0.009,103,0,104,0,112,0.759,122,2.006,190,2.422,199,5.336,200,2.169,201,4.6,202,1.627,231,1.669,296,3.424,299,5.006,300,4.535,436,2.858,614,2.197,899,3.239,2036,3.489,2088,5.71,2333,6.173,2696,6.058,2698,4.384,2703,6.225,2720,9.087,2721,6.713,2722,5.758,2723,5.758,2724,5.758,2725,5.758,2726,5.758,6288,4.477,6317,5.612,6369,5.554,6837,8.08,8172,7.108,8307,9.585,8318,6.639,8321,8.456,8323,8.257,8368,5.44,10851,8.14,11141,5.963,11143,6.22,11145,6.22,11150,6.565,16073,6.565,17096,12.34,17097,6.565,17101,6.565,17103,6.565,17111,7.087,17112,7.087,17113,7.087]],["title/injectables/OauthAdapterService.html",[589,0.926,17004,5.86]],["body/injectables/OauthAdapterService.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.457,29,0.895,30,0.001,31,0.659,32,0.152,33,0.536,35,1.248,36,2.749,47,0.956,95,0.148,100,2.416,101,0.009,103,0,104,0,135,1.599,148,1.07,153,1.12,158,2.558,195,1.523,228,1.244,317,2.747,400,2.032,433,0.851,579,2.72,589,1.266,591,1.644,629,3.657,652,2.214,657,2.178,711,3.153,1053,8.671,1054,3.915,1055,5.318,1056,4.471,1080,3.302,1169,4.019,1328,3.682,1422,2.773,1491,9.524,1723,6.204,2084,4.592,2089,6.417,2114,6.849,2125,3.632,2383,9.748,2393,2.655,2417,6.081,2831,2.773,2838,5.829,4272,5.462,4324,6.081,8039,8.36,9677,6.417,13650,5.829,13715,6.314,14849,6.417,14850,6.417,14851,6.417,17004,8.015,17027,5.629,17048,8.823,17114,12.29,17115,10.886,17116,10.886,17117,6.928,17118,9.526,17119,6.928,17120,9.526,17121,6.928,17122,6.928,17123,6.928,17124,6.928,17125,6.928,17126,9.526,17127,6.081,17128,6.417,17129,6.081,17130,6.928,17131,6.928,17132,6.928,17133,6.928,17134,9.526,17135,6.928,17136,6.928,17137,6.928,17138,9.526,17139,6.928,17140,6.928,17141,6.928,17142,6.928,17143,6.928]],["title/modules/OauthApiModule.html",[252,1.839,17144,5.86]],["body/modules/OauthApiModule.html",[0,0.319,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.304,254,3.316,255,3.52,256,3.609,257,3.596,258,3.583,259,4.545,260,3.426,265,6.374,269,4.497,270,3.545,271,3.472,273,5.805,274,4.782,276,4.497,277,1.318,1027,2.821,1523,11.164,3036,4.32,13556,11.563,17144,12.035,17145,9.219,17146,9.219,17147,9.219,17148,9.219,17149,10.983,17150,8.539,17151,9.219,17152,9.219]],["title/classes/OauthClientBody.html",[0,0.241,17153,6.113]],["body/classes/OauthClientBody.html",[0,0.25,2,0.501,3,0.009,4,0.009,5,0.004,7,0.066,27,0.486,30,0.001,31,0.406,32,0.154,33,0.627,34,1.237,47,0.997,95,0.109,101,0.006,103,0,104,0,112,0.567,134,3.942,157,2.888,174,4.94,176,3.67,187,7.169,190,2.237,194,5.391,195,1.927,196,4.552,197,4.036,200,1.451,202,1.089,296,3.319,299,4.788,300,4.861,371,3.845,374,4.26,412,3.213,417,4.054,540,2.4,586,6.701,628,4.317,641,4.123,711,2.096,871,2.662,899,2.167,1060,4.94,1171,3.641,1470,4.054,1493,5.877,1495,6.306,1496,7.125,1507,3.555,1561,6.926,1582,5.202,1598,4.275,1622,5.202,1900,4.73,2164,3.356,2233,4.406,2258,5.202,2531,4.728,2546,5.877,2547,6.087,2831,5.432,2860,6.331,4362,4.453,4440,7.125,6178,4.275,6281,8.652,6288,4.706,6296,8.327,6317,5.691,6332,7.697,6350,6.35,6365,6.913,8174,6.574,9370,5.877,11089,8.123,11091,7.697,11094,9.784,11095,6.701,12603,5.107,13148,5.307,14349,5.553,16990,11.75,17153,6.35,17154,4.743,17155,8.123,17156,8.123,17157,4.743,17158,4.743,17159,4.743,17160,7.235,17161,7.235,17162,4.743,17163,4.743,17164,4.743,17165,4.743,17166,5.877,17167,6.701,17168,6.087,17169,7.235,17170,7.235,17171,7.235,17172,7.235,17173,4.743,17174,8.77,17175,4.743,17176,7.235,17177,7.235,17178,4.743,17179,8.77,17180,4.743,17181,6.701,17182,7.235,17183,7.235,17184,4.743,17185,4.743,17186,4.743,17187,4.743,17188,4.743,17189,4.743]],["title/classes/OauthConfig.html",[0,0.241,13640,4.386]],["body/classes/OauthConfig.html",[0,0.242,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.548,29,0.534,30,0.001,31,0.393,32,0.174,33,0.563,47,1.071,72,4.4,101,0.009,103,0,104,0,112,0.752,180,4.107,290,2.273,311,4.454,433,0.859,567,3.573,1593,6.732,2233,5.836,2258,6.89,3108,6.265,5074,6.294,6288,4.445,6369,5.514,8262,4.7,8318,6.591,10475,7.248,13640,7.762,13700,7.353,13703,7.149,13705,7.353,13708,7.353,13711,6.732,13715,7.248,13826,4.772,13903,5.238,14349,7.356,14597,6.134,15047,6.134,15048,6.473,15051,5.126,15084,5.126,15086,5.126,15088,5.238,15090,5.238,15092,5.238,15093,5.238,15094,5.238,15097,5.238,15099,5.238,15101,5.238,15103,7.353,17190,14.126,17191,8.876,17192,9.582,17193,6.989,17194,6.989,17195,6.989,17196,6.989,17197,6.989,17198,6.989,17199,6.473,17200,6.989,17201,6.473,17202,6.134,17203,6.473,17204,6.134,17205,6.134,17206,6.134,17207,6.134,17208,6.134,17209,6.134,17210,6.134,17211,6.134,17212,6.134,17213,6.134,17214,6.134]],["title/classes/OauthConfigDto.html",[0,0.241,13903,5.221]],["body/classes/OauthConfigDto.html",[0,0.242,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.548,29,0.534,30,0.001,31,0.393,32,0.174,33,0.563,47,1.071,72,4.4,101,0.009,103,0,104,0,112,0.752,180,4.107,290,2.273,433,0.859,567,3.573,1593,6.732,2233,5.836,2258,6.89,3108,6.265,5074,6.294,6288,4.445,6369,5.514,8262,4.7,8318,6.591,10475,7.248,13700,7.353,13703,7.149,13705,7.353,13708,7.353,13711,6.732,13715,7.248,13826,4.772,13903,9.544,14349,7.356,15051,5.126,15084,5.126,15086,5.126,15088,5.238,15090,5.238,15092,5.238,15093,5.238,15094,5.238,15097,5.238,15099,5.238,15101,5.238,15103,7.353,17191,8.876,17202,6.134,17203,6.473,17204,6.134,17205,6.134,17206,6.134,17207,6.134,17208,6.134,17209,6.134,17210,6.134,17211,6.134,17212,6.134,17213,6.134,17214,6.134,17215,14.126,17216,6.473,17217,9.582,17218,6.473,17219,6.989,17220,6.989,17221,6.989,17222,6.989,17223,6.989,17224,6.989,17225,6.473,17226,6.989,17227,6.473,17228,6.473,17229,6.989]],["title/classes/OauthConfigEntity.html",[0,0.241,13579,4.833]],["body/classes/OauthConfigEntity.html",[0,0.311,2,0.425,3,0.007,4,0.007,5,0.004,7,0.056,26,1.289,27,0.495,29,0.307,30,0.001,31,0.226,32,0.161,33,0.447,47,1.076,83,2.315,95,0.109,96,1.05,101,0.013,103,0,104,0,110,2.745,112,0.499,122,0.834,134,1.424,153,0.65,157,0.931,159,0.411,185,1.377,190,2.249,195,3,196,4.487,197,1.124,205,1.609,211,3.51,223,4.511,224,1.165,225,2.438,226,1.829,228,0.722,229,1.586,231,0.694,232,1.088,233,1.247,331,1.786,433,0.494,540,1.334,561,1.811,620,2.503,628,2.4,886,2.5,997,2.503,1454,2.475,1561,2.839,1593,4.861,1821,1.904,2070,2.168,2109,1.762,2161,2.665,2186,3.087,2712,3.228,2946,2.152,4654,3.358,4692,4.576,4726,2.449,4917,2.595,5074,4.584,5210,2.152,5215,2.292,6206,3.658,6288,3.21,6369,4.527,6686,3.249,6706,2.595,6707,2.79,7243,3.456,8176,2.532,8262,2.704,8318,5.411,10475,5.234,11509,2.665,13579,7.561,13640,4.972,13653,3.014,13654,3.014,13655,2.95,13656,3.014,13700,5.31,13703,5.162,13705,5.31,13708,5.31,13711,4.861,13715,5.234,13826,4.345,13988,3.087,14382,3.797,14395,4.915,14396,2.532,14397,2.532,14648,4.576,14654,4.106,14765,3.014,15045,4.279,15049,3.17,15051,4.667,15053,6.729,15054,3.267,15055,3.267,15056,3.267,15057,3.267,15058,3.267,15059,3.267,15060,3.267,15061,3.267,15062,3.267,15063,3.267,15077,4.667,15078,4.279,15079,2.95,15080,4.885,15081,6.729,15082,4.279,15083,5.17,15084,4.667,15085,3.087,15086,4.667,15087,3.087,15088,3.014,15089,3.014,15090,3.014,15091,3.087,15092,3.014,15093,3.014,15094,3.014,15095,3.087,15096,3.087,15097,3.014,15098,3.087,15099,3.014,15100,3.014,15101,3.014,15102,3.087,15103,6.037,15104,3.17,15105,2.891,15106,3.267,15107,3.267,15108,3.267,15109,3.267,15110,3.267,15111,3.267,15112,3.267,15113,3.267,15114,3.267,15115,3.087,15116,3.267,15117,3.267,15118,3.267,15119,3.267,15120,3.267,15121,3.267,15122,3.17,15123,3.267,15124,3.267,15125,2.95,15126,3.267,15127,3.267,15128,3.267,15129,3.267,15130,3.267,15131,3.267,15132,3.267,15133,3.267,15134,3.267,15135,3.267,15136,3.267,15137,3.267,15138,3.267,15139,3.267,15140,3.087,15141,3.267,15142,3.17,15143,3.087,15144,3.17,15145,3.087,15146,3.087,15147,3.17,15148,3.087,15149,3.17,15150,3.087,15151,2.95,15152,2.95,15153,2.95,15154,3.014,15155,3.267,15156,2.95,15157,2.595,15158,3.087,15159,3.267,15160,3.087,15161,3.267,15162,3.267,15163,3.267,15164,3.267,15165,3.267,15166,3.014,15167,3.17,15168,3.087,15169,3.17,17230,4.021,17231,4.021,17232,4.021,17233,4.021,17234,4.021,17235,4.021,17236,4.021,17237,4.021,17238,4.021,17239,4.021,17240,4.021,17241,4.021,17242,4.021,17243,4.021]],["title/classes/OauthConfigMissingLoggableException.html",[0,0.241,17023,6.113]],["body/classes/OauthConfigMissingLoggableException.html",[0,0.309,2,0.943,3,0.017,4,0.017,5,0.008,7,0.124,8,1.287,27,0.439,29,0.682,30,0.001,31,0.502,32,0.139,33,0.408,35,1.024,47,0.906,48,5.78,95,0.126,101,0.011,103,0.001,104,0.001,148,0.878,228,1.604,231,1.943,233,2.769,244,6.305,339,2.619,400,2.619,433,1.097,436,2.638,983,7.267,1027,2.733,1080,3.096,1115,3.399,1422,4.938,1423,5.751,1426,5.752,1462,4.816,1463,9.708,1465,6.198,1467,7.515,1468,5.751,1469,6.037,1470,6.312,1471,6.551,1472,4.965,1476,5.383,1477,4.56,1478,4.747,2088,4.827,2860,5.764,3430,3.878,16459,7.515,17023,9.884,17244,10.431,17245,8.273,17246,8.932]],["title/classes/OauthConfigResponse.html",[0,0.241,17247,5.86]],["body/classes/OauthConfigResponse.html",[0,0.177,2,0.539,3,0.009,4,0.009,5,0.005,7,0.071,27,0.515,29,0.39,30,0.001,31,0.287,32,0.171,33,0.542,34,1.308,47,1.061,95,0.057,101,0.007,103,0,104,0,112,0.6,157,3.027,172,3.264,176,3.88,190,2.344,194,5.53,195,3.071,196,4.669,197,3.957,202,1.172,296,3.459,433,0.627,868,6.293,871,2.814,1060,5.222,1171,5.871,1493,6.213,1593,7.048,2233,7.435,2258,5.499,2729,4.147,2831,3.061,5074,5.846,5317,5.871,6288,4.654,6369,5.135,8262,3.433,10475,6.75,13700,6.848,13703,6.658,13705,6.848,13708,6.848,13711,6.269,13715,6.75,13826,3.486,14349,5.871,14692,6.435,15051,3.745,15086,3.745,15088,3.827,15090,3.827,15092,3.827,15093,3.827,15094,3.827,15097,3.827,15099,3.827,15101,3.827,15103,6.848,16069,4.481,17127,6.712,17247,7.716,17248,13.346,17249,7.648,17250,7.648,17251,5.105,17252,5.105,17253,5.105,17254,7.648,17255,5.105,17256,5.105,17257,5.105,17258,5.105,17259,5.105,17260,5.105,17261,5.105,17262,5.105,17263,5.105,17264,5.105,17265,5.105,17266,5.105,17267,5.105,17268,5.105,17269,5.105,17270,5.105,17271,5.105,17272,5.105,17273,5.105]],["title/interfaces/OauthCurrentUser.html",[159,0.712,8117,5.49]],["body/interfaces/OauthCurrentUser.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.121,33,0.544,47,0.944,72,5.471,95,0.109,101,0.013,103,0.001,104,0.001,112,0.935,159,1,161,2.33,173,7.897,180,5.106,231,2.056,290,2.32,325,6.362,567,4.442,614,3.693,4953,7.897,5102,6.786,6178,7.04,6281,8.011,8115,11.251,8117,9.391,13119,8.584,14349,9.145,14692,10.024,17274,9.78,17275,11.914,17276,11.914]],["title/classes/OauthDataDto.html",[0,0.241,14387,5.008]],["body/classes/OauthDataDto.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.517,29,0.666,30,0.001,31,0.49,32,0.164,33,0.606,95,0.143,101,0.011,103,0.001,104,0.001,112,0.87,232,3.001,433,1.071,435,2.995,614,3.781,2617,5.427,3430,5.296,10075,9.143,10089,8.075,10105,8.947,10135,6.535,10136,6.873,11257,8.947,14387,9.531,14416,9.909,14418,10.263,17277,12.55,17278,8.718,17279,10.705,17280,11.091,17281,8.718,17282,8.718,17283,9.615,17284,8.718,17285,8.718,17286,8.075,17287,8.718,17288,8.718,17289,8.718,17290,8.718,17291,8.718,17292,8.718,17293,8.718]],["title/classes/OauthDataStrategyInputDto.html",[0,0.241,14392,5.221]],["body/classes/OauthDataStrategyInputDto.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,27,0.511,29,0.704,30,0.001,31,0.518,32,0.162,33,0.421,47,0.963,95,0.103,101,0.012,103,0.001,104,0.001,112,0.901,173,8.295,232,3.109,339,3.952,433,1.133,435,3.167,1605,8.544,2617,5.738,3430,5.434,5004,8.697,10135,6.91,10136,7.267,14392,10.102,15971,7.757,15972,7.757,17064,8.539,17065,8.539,17277,12.484,17283,9.865,17286,8.539,17294,9.219,17295,11.488,17296,9.219,17297,9.219]],["title/classes/OauthLoginResponse.html",[0,0.241,15950,5.86]],["body/classes/OauthLoginResponse.html",[0,0.31,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.481,29,0.683,30,0.001,31,0.503,32,0.153,33,0.564,34,1.928,47,0.907,95,0.126,101,0.011,103,0.001,104,0.001,112,0.885,157,2.072,176,5.722,190,2.022,201,4.384,202,2.055,231,1.946,232,3.052,296,2.342,433,1.1,435,3.075,436,2.644,457,4.976,567,4.205,614,4.018,1361,5.146,1470,6.321,1605,7.7,2543,7.101,3430,4.897,6288,4.584,8115,10.389,8320,8.272,15938,9.32,15950,11.242,17298,12.347,17299,8.952,17300,11.278,17301,8.952,17302,8.952,17303,8.952,17304,8.952]],["title/modules/OauthModule.html",[252,1.839,1523,5.658]],["body/modules/OauthModule.html",[0,0.237,3,0.013,4,0.013,5,0.006,30,0.001,52,3.479,95,0.157,101,0.009,103,0,104,0,180,2.939,252,2.858,254,2.467,255,2.619,256,2.685,257,2.675,258,2.665,259,3.932,260,4.023,265,5.872,269,3.703,270,2.637,271,2.583,276,3.703,277,0.981,279,2.843,703,2.104,1027,2.098,1054,3.875,1522,10.651,1523,11.924,1525,9.103,1536,6.018,1540,4.758,1856,7.215,2070,3.697,2680,3.149,3890,7.88,3900,4.992,3903,5.77,3904,6.184,5069,9.286,5206,4.841,6077,8.391,9906,9.489,13565,10.902,13566,11.636,17004,10.651,17022,5.77,17305,6.857,17306,6.857,17307,6.857,17308,6.857,17309,10.651,17310,10.651,17311,6.857,17312,6.857,17313,6.018,17314,6.857]],["title/modules/OauthProviderApiModule.html",[252,1.839,17315,5.86]],["body/modules/OauthProviderApiModule.html",[0,0.254,3,0.014,4,0.014,5,0.007,30,0.001,95,0.153,101,0.009,103,0,104,0,187,4.152,252,2.962,254,2.643,255,2.806,256,2.876,257,2.866,258,2.856,259,4.075,260,2.73,265,5.995,269,3.881,270,2.825,271,2.767,273,4.626,274,4.127,276,3.881,277,1.051,1027,2.248,1470,4.117,1856,7.366,2680,3.374,3036,3.443,3890,8.045,3900,3.877,4029,5.016,5068,9.687,5073,5.64,5074,5.729,10548,10.5,10555,5.016,17150,6.805,17315,12.347,17316,7.347,17317,7.347,17318,7.347,17319,11.343,17320,10.874,17321,10.874,17322,10.874,17323,10.874,17324,10.874,17325,10.874,17326,6.181,17327,9.848,17328,7.347,17329,6.805,17330,7.347]],["title/injectables/OauthProviderClientCrudUc.html",[589,0.926,17320,5.86]],["body/injectables/OauthProviderClientCrudUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.881,27,0.464,29,0.877,30,0.001,31,0.646,32,0.147,33,0.525,34,2.141,35,1.256,36,2.694,47,0.991,55,2.329,56,4.822,58,6.692,59,3.182,95,0.133,101,0.007,103,0,104,0,112,0.605,129,1.527,130,1.396,135,1.683,148,1.077,176,3.91,178,6.261,187,6.92,228,1.967,277,0.738,290,3.069,317,2.916,325,6.724,339,3.591,349,6.043,433,0.947,478,1.445,589,1.024,591,1.223,595,1.956,652,2.228,657,2.863,693,2.345,998,3.649,1862,6.331,2680,2.368,2831,4.902,2944,7.36,3240,2.65,6288,3.133,6365,8.069,8319,6.261,8320,5.653,10277,8.9,10555,5.262,11006,8.431,11028,10.105,11032,3.709,11091,6.764,13704,6.484,17155,7.138,17156,7.138,17320,6.484,17331,9.949,17332,11.343,17333,5.158,17334,9.227,17335,6.764,17336,6.764,17337,6.764,17338,8.098,17339,8.098,17340,4.19,17341,5.158,17342,7.138,17343,5.158,17344,7.138,17345,5.158,17346,7.138,17347,5.158,17348,4.777,17349,5.158,17350,4.777,17351,5.158,17352,7.138,17353,5.158,17354,5.158,17355,10.955,17356,7.707,17357,5.158,17358,5.158,17359,9.227,17360,9.227,17361,7.707,17362,5.158,17363,5.158,17364,5.158]],["title/injectables/OauthProviderConsentFlowUc.html",[589,0.926,17321,5.86]],["body/injectables/OauthProviderConsentFlowUc.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.075,8,0.911,27,0.456,29,0.892,30,0.001,31,0.657,32,0.145,33,0.534,35,1.281,36,2.724,39,2.631,47,1.03,95,0.135,101,0.007,103,0,104,0,125,2.784,135,1.453,148,1.029,153,0.873,160,8.809,164,4.048,173,7.403,174,6.473,175,4.544,176,2.74,178,4.387,186,8.506,187,6.833,228,1.432,277,0.772,317,2.742,325,5.987,349,5.312,365,4.211,379,6.781,389,3.531,433,0.98,569,2.479,579,1.542,589,1.06,591,1.281,652,2.659,657,2.394,871,4.449,1495,7.528,2681,3.222,3240,2.775,4077,4.759,4578,9.112,5074,2.757,5140,3.531,6273,8.809,6320,8.506,6327,8.506,10555,5.445,11006,8.574,11032,3.883,13836,10.173,13837,5.002,17321,6.71,17331,9.823,17340,4.387,17365,11.199,17366,4.74,17367,8.782,17368,6.999,17369,8.782,17370,7.386,17371,7.974,17372,5.4,17373,5.002,17374,5.4,17375,7.386,17376,5.4,17377,5.4,17378,5.002,17379,7.386,17380,8.506,17381,5.4,17382,7.974,17383,8.573,17384,5.4,17385,5.977,17386,4.544,17387,5.002,17388,7.974,17389,5.4,17390,5.002,17391,5.4,17392,5.4,17393,5.4,17394,5.4,17395,8.253,17396,5.4,17397,5.4,17398,5.4,17399,5.4,17400,5.4,17401,5.4,17402,4.257,17403,5.4]],["title/controllers/OauthProviderController.html",[314,2.65,17327,6.113]],["body/controllers/OauthProviderController.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.047,8,0.632,10,1.359,27,0.468,29,0.9,30,0.001,31,0.662,32,0.146,33,0.539,35,1.376,36,2.902,47,0.248,95,0.138,100,1.179,101,0.004,103,0,104,0,135,1.71,148,1.18,171,2.274,186,8.248,187,6.886,190,2.151,202,0.776,228,1.727,274,1.408,277,0.484,314,1.287,316,1.627,317,2.951,325,6.706,326,5.085,349,6.897,365,5.132,379,6.625,388,4.541,389,2.211,392,1.76,395,1.81,398,6.23,433,0.415,652,1.956,657,2.58,871,2.036,1295,6.832,2219,1.516,2220,1.705,2221,1.646,2222,2.129,2258,2.431,2831,3.25,3240,1.737,3242,1.851,4029,2.309,4077,3.303,4401,2.182,4576,10.97,4866,7.147,5074,2.826,6273,6.832,6281,2.274,6320,4.496,6338,8.092,6362,5.911,9028,2.747,10555,3.779,11028,7.209,11032,2.431,13328,6.166,13815,9.902,13854,2.747,15826,7.126,15938,5.052,15973,6.597,17153,8.91,17320,4.657,17321,4.657,17322,5.911,17323,4.657,17324,5.911,17325,5.911,17327,4.857,17329,3.132,17332,3.132,17335,6.166,17336,4.857,17337,6.166,17338,6.166,17339,6.166,17342,3.132,17344,3.132,17346,3.132,17348,3.132,17350,3.132,17365,3.132,17368,4.857,17369,6.508,17383,4.248,17385,6.086,17395,7.581,17404,12.186,17405,3.381,17406,5.126,17407,4.857,17408,4.857,17409,6.508,17410,4.857,17411,3.381,17412,3.381,17413,3.381,17414,3.381,17415,3.381,17416,3.381,17417,3.381,17418,3.381,17419,3.381,17420,3.381,17421,3.381,17422,5.534,17423,3.381,17424,3.381,17425,3.381,17426,5.534,17427,3.381,17428,3.381,17429,3.381,17430,3.381,17431,3.381,17432,3.381,17433,3.381,17434,3.381,17435,3.381,17436,3.381,17437,3.381,17438,3.381,17439,3.381,17440,7.126,17441,3.381,17442,3.381,17443,3.381,17444,3.381,17445,5.538,17446,4.363,17447,8.957,17448,3.381,17449,7.026,17450,3.132,17451,3.381,17452,3.381,17453,3.381,17454,3.381,17455,3.381,17456,3.381,17457,3.381,17458,3.381,17459,3.381,17460,3.381,17461,8.12,17462,3.381,17463,3.381,17464,3.381,17465,3.381,17466,3.381,17467,3.381,17468,3.381,17469,3.381,17470,3.381,17471,3.381,17472,3.381,17473,3.381,17474,3.381,17475,3.381,17476,3.381,17477,3.381,17478,3.381,17479,3.381,17480,3.381,17481,5.534,17482,5.534,17483,3.381,17484,3.381,17485,3.381,17486,3.381,17487,3.381,17488,3.381,17489,3.381,17490,3.381,17491,3.381,17492,3.381,17493,3.381,17494,3.381,17495,3.381,17496,2.845,17497,3.381,17498,3.381,17499,3.381,17500,3.381,17501,3.381,17502,3.381,17503,3.381,17504,3.381]],["title/injectables/OauthProviderLoginFlowService.html",[589,0.926,13843,5.658]],["body/injectables/OauthProviderLoginFlowService.html",[0,0.244,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,27,0.428,29,0.838,30,0.001,31,0.617,32,0.136,33,0.501,35,1.104,36,2.035,47,0.807,95,0.148,101,0.009,103,0,104,0,122,2.275,135,1.428,142,3.486,148,1.079,153,1.138,187,6.668,195,1.547,228,1.971,277,1.006,317,2.374,433,1.183,579,2.009,589,1.28,591,1.669,622,5.548,652,2.232,657,2.202,688,3.281,711,3.696,1829,3.016,1941,4.601,2008,3.506,2088,3.016,2698,2.283,2776,6.681,2954,3.74,4981,5.162,5138,3.767,6369,5.95,7044,8.042,7062,5.993,8156,8.845,8222,8.724,8311,6.063,10197,8.656,10199,8.656,10218,5.548,10274,6.519,10275,6.519,11057,6.177,11451,5.548,13648,5.402,13843,7.822,13854,9.587,16150,10.736,17505,11.8,17506,7.038,17507,9.628,17508,9.628,17509,7.038,17510,7.038,17511,9.628,17512,7.038,17513,9.628,17514,7.038,17515,6.519,17516,5.921,17517,7.038,17518,7.038,17519,7.038,17520,7.038,17521,7.038,17522,7.038,17523,9.628,17524,7.038]],["title/injectables/OauthProviderLoginFlowUc.html",[589,0.926,17322,5.86]],["body/injectables/OauthProviderLoginFlowUc.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.066,8,0.827,27,0.434,29,0.85,30,0.001,31,0.625,32,0.138,33,0.509,34,0.811,35,1.211,36,2.637,47,0.997,95,0.147,101,0.006,103,0,104,0,122,1.818,135,1.623,148,1.094,153,1.418,174,4.94,179,7.971,180,3.101,186,7.971,187,6.543,228,1.897,277,0.678,290,2.327,317,2.783,365,3.895,379,5.359,412,2.107,433,0.889,478,1.329,579,2.504,589,0.962,591,1.125,595,1.799,652,2.676,653,2.976,657,2.73,693,2.157,871,1.745,1312,2.234,1853,1.556,1862,6.153,2008,2.363,2680,2.178,2698,3.427,2776,5.513,3900,2.503,4578,9.363,5074,3.694,5138,2.539,5147,7.457,5449,6.979,6275,7.971,6281,4.865,6435,4.453,8114,3.93,8156,3.555,8170,3.411,8172,4.668,8222,7.859,8310,5.02,8311,2.987,9503,4.163,10223,3.991,10277,3.853,10555,4.94,10631,5.134,11006,8.166,11032,3.411,11057,4.163,11372,8.034,11440,3.739,11458,3.739,13648,3.641,13843,9.406,13854,9.697,13855,4.163,15938,6.306,15973,10.306,17313,4.163,17322,6.087,17331,9.406,17340,3.853,17366,4.163,17378,4.393,17380,7.971,17385,6.574,17386,3.991,17390,4.393,17395,9.409,17407,6.35,17409,8.123,17446,5.703,17525,8.123,17526,8.123,17527,7.235,17528,4.743,17529,4.743,17530,4.743,17531,6.701,17532,4.743,17533,4.743,17534,4.393,17535,4.743,17536,7.235,17537,4.743,17538,4.163,17539,4.163,17540,4.743,17541,7.235,17542,4.743,17543,4.743,17544,7.235,17545,4.743,17546,4.743,17547,4.743,17548,4.743,17549,4.743,17550,4.743,17551,3.739,17552,4.743,17553,4.743,17554,4.743,17555,4.743,17556,4.743,17557,4.743,17558,4.743,17559,4.743]],["title/injectables/OauthProviderLogoutFlowUc.html",[589,0.926,17323,5.86]],["body/injectables/OauthProviderLogoutFlowUc.html",[0,0.32,3,0.017,4,0.017,5,0.008,7,0.129,8,1.314,27,0.448,29,0.878,30,0.001,31,0.646,32,0.142,33,0.526,35,1.06,36,2.648,47,0.921,95,0.14,101,0.012,103,0.001,104,0.001,135,1.202,148,0.908,187,7.079,228,1.659,277,1.321,400,2.709,433,1.135,589,1.529,591,2.192,4578,6.644,5074,4.718,10555,7.855,11006,10.086,11032,6.644,17323,9.679,17331,10.177,17340,7.507,17366,8.11,17385,6.926,17450,11.603,17560,11.504,17561,9.24,17562,11.504,17563,9.24,17564,11.504,17565,9.24]],["title/modules/OauthProviderModule.html",[252,1.839,17319,6.113]],["body/modules/OauthProviderModule.html",[0,0.255,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.009,103,0,104,0,187,4.167,252,2.968,254,2.652,255,2.816,256,2.887,257,2.876,258,2.866,259,4.083,260,4.177,265,6.001,269,3.891,270,2.836,271,2.777,276,3.891,277,1.054,279,3.057,1027,2.256,1916,8.977,1934,9.932,1935,5.813,2698,2.392,3890,8.053,3900,3.892,5068,9.698,5073,5.66,5074,3.765,6823,9.698,6830,5.66,10548,10.511,10555,5.034,13836,11.774,13843,11.369,13854,5.99,13855,6.472,16146,11.355,17313,6.472,17319,12.847,17326,6.204,17387,6.83,17515,6.83,17516,6.204,17566,7.374,17567,7.374,17568,7.374,17569,7.374,17570,7.374,17571,7.374]],["title/classes/OauthProviderRequestMapper.html",[0,0.241,17538,6.113]],["body/classes/OauthProviderRequestMapper.html",[0,0.318,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,8,1.309,27,0.358,29,0.701,30,0.001,31,0.515,32,0.114,33,0.419,35,1.052,47,1.009,59,2.852,77,5.922,95,0.128,101,0.012,103,0.001,104,0.001,148,0.902,169,7.234,170,7.234,174,6.266,179,10.146,183,4.994,184,8.5,185,4.277,187,6.473,467,3.635,5074,5.848,5147,9.232,6926,7.234,9467,8.5,10555,6.266,10631,7.656,11032,6.598,15973,11.152,17386,7.721,17538,10.054,17539,10.054,17572,12.488,17573,9.177,17574,9.177,17575,9.177]],["title/injectables/OauthProviderResponseMapper.html",[589,0.926,17324,5.86]],["body/injectables/OauthProviderResponseMapper.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,8,1.141,10,2.985,27,0.491,29,0.961,30,0.001,31,0.707,32,0.156,33,0.575,35,1.444,95,0.126,101,0.01,103,0,104,0,148,1.238,153,2.036,164,7.486,171,4.995,174,5.072,187,7.327,277,1.062,589,1.328,591,1.762,829,4.39,2258,7.182,5074,6.62,6320,9.803,6338,10.152,6362,10.152,10356,6.519,10555,5.072,11028,9.044,11032,5.341,11039,9.251,15821,6.519,15938,8.676,17324,8.403,17383,9.262,17385,9.044,17386,6.25,17395,9.512,17445,9.512,17446,10.221,17539,11.38,17576,9.988,17577,9.988,17578,9.988,17579,9.988,17580,9.988,17581,9.988,17582,7.428,17583,9.988,17584,9.988,17585,6.88,17586,9.988,17587,9.988,17588,7.428,17589,7.428,17590,7.428,17591,7.428,17592,7.428]],["title/classes/OauthProviderService.html",[0,0.241,11006,5.109]],["body/classes/OauthProviderService.html",[0,0.169,2,0.517,3,0.009,4,0.009,5,0.004,7,0.068,8,0.846,9,6.776,27,0.525,29,1.02,30,0.001,31,0.75,32,0.165,33,0.61,34,1.528,35,1.544,36,3.021,47,1.075,55,2.283,56,3.49,58,5.844,59,3.329,95,0.055,100,1.707,101,0.006,103,0,104,0,160,8.388,162,9.404,176,2.483,179,8.099,290,1.757,339,2.923,379,6.573,2831,3.578,2944,6.428,4578,8.415,6288,3.634,6365,7.047,11006,5.434,11028,8.773,14340,4.295,17326,11.403,17335,6.502,17336,6.502,17337,6.502,17338,7.846,17339,6.502,17367,6.862,17368,6.502,17370,6.862,17373,6.862,17375,6.862,17379,6.862,17380,9.508,17383,3.756,17385,3.668,17406,6.862,17407,6.502,17408,6.502,17410,6.502,17445,3.858,17446,3.858,17525,6.862,17526,6.862,17531,6.862,17534,6.862,17593,4.894,17594,7.408,17595,9.969,17596,4.894,17597,7.408,17598,4.894,17599,7.408,17600,4.894,17601,7.408,17602,4.894,17603,7.408,17604,4.894,17605,4.894,17606,4.894,17607,7.408,17608,4.894,17609,7.408,17610,4.894,17611,4.894,17612,7.408,17613,4.894,17614,4.894,17615,4.894,17616,4.894,17617,4.894,17618,7.408,17619,4.894,17620,7.408,17621,4.894]],["title/modules/OauthProviderServiceModule.html",[252,1.839,10548,5.658]],["body/modules/OauthProviderServiceModule.html",[0,0.332,3,0.018,4,0.018,5,0.009,30,0.001,95,0.148,101,0.012,103,0.001,104,0.001,162,6.657,252,3.363,254,3.451,255,3.663,256,3.756,257,3.742,258,3.729,259,4.276,260,4.734,269,4.61,270,3.689,271,3.613,276,3.756,277,1.372,685,5.564,1054,5.421,1470,5.376,3904,7.698,5074,4.898,10031,7.364,10548,11.076,11006,10.411,17326,8.072,17622,9.593,17623,9.593,17624,9.593,17625,9.593,17626,11.774,17627,9.593]],["title/injectables/OauthProviderUc.html",[589,0.926,17325,5.86]],["body/injectables/OauthProviderUc.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,26,2.772,27,0.469,29,0.919,30,0.001,31,0.676,32,0.149,33,0.55,35,1.249,36,2.929,39,3.024,47,0.885,95,0.142,99,1.708,101,0.011,103,0.001,104,0.001,135,1.418,148,1.071,187,7.18,228,1.523,277,1.213,400,2.486,433,1.042,589,1.448,591,2.011,5074,4.329,6369,6.406,10555,7.439,11006,9.866,11032,6.097,17325,9.167,17331,10.322,17340,6.889,17408,9.563,17410,9.563,17445,6.684,17496,9.167,17628,8.479,17629,8.479,17630,10.895,17631,8.479,17632,10.895,17633,8.479,17634,8.479,17635,8.479]],["title/controllers/OauthSSOController.html",[314,2.65,17149,6.113]],["body/controllers/OauthSSOController.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.099,8,1.111,27,0.379,29,0.742,30,0.001,31,0.546,32,0.12,33,0.444,35,1.115,36,2.509,47,0.981,95,0.151,100,2.489,101,0.009,103,0,104,0,125,1.7,135,1.265,148,0.956,153,1.154,159,0.73,176,3.621,190,1.743,193,5.177,202,1.639,228,1.746,274,2.971,277,1.021,290,1.693,314,2.716,316,3.435,317,2.772,325,5.878,349,6.022,365,5.272,388,3.059,392,3.716,395,3.821,398,5.242,400,2.093,579,2.038,652,1.452,1027,2.184,1470,4,1471,5.236,1475,4.494,1585,5.921,1595,5.799,1613,6.006,1887,5.799,1984,6.537,2447,2.983,2448,4.556,3036,3.345,3240,3.668,3430,3.099,4077,4.259,7642,4.302,7858,4.667,8170,9.596,12067,9.109,13556,8.18,13580,5.35,17149,8.532,17636,11.056,17637,7.138,17638,11.056,17639,11.056,17640,7.138,17641,10.418,17642,7.138,17643,7.138,17644,7.138,17645,7.138,17646,7.138,17647,7.138,17648,7.138,17649,7.138,17650,7.138,17651,7.138,17652,7.138,17653,7.138,17654,9.722,17655,9.722,17656,7.138,17657,7.138,17658,7.138,17659,7.138,17660,7.138,17661,7.138,17662,7.138,17663,7.138,17664,7.138]],["title/classes/OauthSsoErrorLoggableException.html",[0,0.241,1463,5.221]],["body/classes/OauthSsoErrorLoggableException.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,27,0.372,30,0.001,32,0.118,35,1.095,95,0.131,101,0.012,103,0.001,104,0.001,148,0.938,231,2.026,277,1.365,1027,2.922,1080,4.069,1115,3.633,1237,3.4,1312,5.988,1422,5.45,1423,5.927,1426,5.89,1462,5.148,1463,8.799,1468,5.927,1469,6.222,1471,8.611,1477,4.875,1478,5.074,4249,7.329,10416,6.328,17244,10.874,17665,9.548]],["title/interfaces/OauthTokenResponse.html",[159,0.712,17027,5.658]],["body/interfaces/OauthTokenResponse.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.162,47,1.063,101,0.013,103,0.001,104,0.001,112,0.963,159,1.051,161,2.449,177,11.935,178,11.048,16983,9.523,17027,9.975,17352,12.596,17666,9.523]],["title/interfaces/ObjectKeysRecursive.html",[159,0.712,7319,5.221]],["body/interfaces/ObjectKeysRecursive.html",[3,0.016,4,0.016,5,0.01,7,0.117,30,0.001,32,0.156,47,1.083,55,2.653,95,0.093,101,0.017,103,0.001,104,0.001,112,0.848,125,3.193,159,1.371,161,1.994,339,3.169,414,6.642,1302,6.653,1304,4.772,1444,4.655,2233,5.099,5234,6.266,6572,4.772,7301,6.276,7302,6.276,7303,6.6,7304,6.427,7305,6.427,7306,5.272,7307,6.276,7308,5.717,7309,5.717,7310,5.717,7311,5.717,7312,5.911,7313,5.212,7314,5.099,7315,5.099,7316,6.142,7317,10.049,7318,10.049,7319,8.101]],["title/interfaces/OcsResponse.html",[159,0.712,13141,5.221]],["body/interfaces/OcsResponse.html",[3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,32,0.155,34,1.587,47,1.012,55,2.544,101,0.018,103,0.001,104,0.001,112,0.905,122,1.924,159,1.427,161,2.211,172,4.924,339,2.722,402,3.339,532,3.404,1076,5.916,1081,6.338,1115,3.533,3418,4.181,4996,6.338,7510,5.337,13138,6.958,13139,7.126,13140,6.958,13141,8.648,13142,10.08,13143,8.571,13144,7.126,13145,7.126,13146,6.958,13147,7.126,13148,6.809,13149,6.958,13150,7.126,13151,6.958]],["title/classes/OidcConfigDto.html",[0,0.241,14646,5.49]],["body/classes/OidcConfigDto.html",[0,0.279,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.545,29,0.616,30,0.001,31,0.453,32,0.173,33,0.369,47,1.067,101,0.01,103,0,104,0,112,0.828,433,0.991,2161,7.793,2186,6.195,6369,5.928,8318,7.086,13826,5.51,14646,10.463,15084,5.919,15086,5.919,15103,7.906,15142,6.362,15144,6.362,15147,6.362,15149,6.362,15151,8.624,15152,8.624,15153,8.624,15154,8.813,17216,7.475,17218,7.475,17225,7.475,17227,7.475,17228,7.475,17667,14.099,17668,10.89,17669,10.552,17670,8.07,17671,8.07,17672,8.07,17673,8.07,17674,8.07,17675,8.07,17676,8.07,17677,8.07,17678,8.07,17679,8.07,17680,8.07,17681,8.07,17682,8.07,17683,8.07,17684,8.07,17685,8.07]],["title/classes/OidcConfigEntity.html",[0,0.241,15081,5.221]],["body/classes/OidcConfigEntity.html",[0,0.321,2,0.45,3,0.008,4,0.008,5,0.004,7,0.059,26,1.349,27,0.462,29,0.325,30,0.001,31,0.239,32,0.153,33,0.195,47,1.076,83,2.404,95,0.112,96,1.112,101,0.013,103,0,104,0,110,2.85,112,0.522,122,0.883,134,1.509,153,0.689,157,0.986,159,0.436,185,1.459,190,2.066,195,2.997,196,4.526,197,1.191,205,1.67,223,4.516,224,1.234,225,2.552,226,1.937,228,0.765,229,1.68,231,0.735,232,1.153,233,1.321,331,1.892,433,0.523,540,1.413,561,1.919,620,2.652,628,2.542,886,2.595,997,2.652,1454,2.622,1561,3.007,1593,2.622,1821,2.017,2070,2.297,2109,1.866,2161,5.433,2186,3.27,2712,3.378,2946,2.28,4654,3.514,4692,4.788,4726,2.595,4917,2.749,5074,3.4,5210,2.28,5215,2.428,6206,3.828,6288,1.732,6369,4.673,6686,3.4,6706,2.749,6707,2.956,7243,3.617,8176,2.683,8262,2.865,8318,5.586,10475,2.824,11509,2.824,13579,6.431,13640,4.193,13653,3.193,13654,3.193,13655,3.125,13656,3.193,13700,2.865,13703,2.785,13705,2.865,13708,2.865,13711,2.622,13715,2.824,13826,4.546,13988,3.27,14382,3.973,14395,5.102,14396,2.683,14397,2.683,14648,5.894,14654,4.297,14765,3.193,15045,4.478,15049,3.358,15051,4.884,15053,6.947,15054,3.461,15055,3.461,15056,3.461,15057,3.461,15058,3.461,15059,3.461,15060,3.461,15061,3.461,15062,3.461,15063,3.461,15077,4.884,15078,4.478,15079,3.125,15080,5.111,15081,8.348,15082,4.478,15083,3.461,15084,4.884,15085,3.27,15086,4.884,15087,3.27,15088,3.193,15089,3.193,15090,3.193,15091,3.27,15092,3.193,15093,3.193,15094,3.193,15095,3.27,15096,3.27,15097,3.193,15098,3.27,15099,3.193,15100,3.193,15101,3.193,15102,3.27,15103,6.232,15104,3.358,15105,3.063,15106,3.461,15107,3.461,15108,3.461,15109,3.461,15110,3.461,15111,3.461,15112,3.461,15113,3.461,15114,3.461,15115,3.27,15116,3.461,15117,3.461,15118,3.461,15119,3.461,15120,3.461,15121,3.461,15122,3.358,15123,3.461,15124,3.461,15125,3.125,15126,3.461,15127,3.461,15128,3.461,15129,3.461,15130,3.461,15131,3.461,15132,3.461,15133,3.461,15134,3.461,15135,3.461,15136,3.461,15137,3.461,15138,3.461,15139,5.41,15140,3.27,15141,3.461,15142,3.358,15143,3.27,15144,3.358,15145,3.27,15146,3.27,15147,3.358,15148,3.27,15149,3.358,15150,3.27,15151,6.013,15152,6.013,15153,6.013,15154,6.144,15155,3.461,15156,3.125,15157,2.749,15158,3.27,15159,3.461,15160,3.27,15161,3.461,15162,3.461,15163,3.461,15164,3.461,15165,3.461,15166,3.193,15167,3.358,15168,3.27,15169,3.358,17686,4.26,17687,4.26,17688,4.26,17689,4.26,17690,4.26,17691,4.26,17692,4.26,17693,4.26,17694,4.26]],["title/classes/OidcContextResponse.html",[0,0.241,6347,5.86]],["body/classes/OidcContextResponse.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.517,30,0.001,32,0.164,33,0.655,47,1.024,95,0.124,101,0.011,103,0.001,104,0.001,112,0.87,185,3.799,187,7.657,190,2.376,202,2.002,277,1.247,296,3.71,6347,9.332,6358,11.892,6773,8.075,11358,8.771,17695,11.298,17696,11.298,17697,11.298,17698,11.298,17699,8.718,17700,8.718,17701,8.718,17702,8.718,17703,8.718,17704,8.718]],["title/classes/OidcIdentityProviderMapper.html",[0,0.241,14611,5.86]],["body/classes/OidcIdentityProviderMapper.html",[0,0.289,2,0.882,3,0.015,4,0.015,5,0.008,7,0.116,8,1.233,27,0.421,29,0.824,30,0.001,31,0.606,32,0.134,33,0.493,35,0.958,47,0.879,95,0.149,101,0.011,103,0.001,104,0.001,148,0.821,180,3.581,195,2.372,228,1.5,277,1.195,433,1.026,652,1.7,688,3.895,711,3.463,1268,5.144,2088,3.581,2161,5.538,4887,6.999,4888,7.442,5203,8.961,5204,9.268,5206,5.898,6369,4.213,6686,4.266,8318,5.036,12490,5.144,14532,6.263,14611,9.081,14646,9.961,14648,6.008,14654,5.392,14662,11.074,14677,7.739,14679,7.333,14683,11.704,14688,6.788,14708,7.739,14765,8.09,14776,7.739,15140,6.414,15143,6.414,15145,6.414,15146,6.414,15148,6.414,15150,6.414,15151,6.129,15152,6.129,15153,6.129,17181,7.739,17705,11.955,17706,8.356,17707,10.793,17708,8.356,17709,8.356,17710,10.793,17711,8.356,17712,8.356,17713,8.356,17714,8.356,17715,8.356,17716,8.356,17717,8.356,17718,8.356,17719,8.356]],["title/injectables/OidcMockProvisioningStrategy.html",[589,0.926,17720,5.86]],["body/injectables/OidcMockProvisioningStrategy.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.447,29,0.78,30,0.001,31,0.574,32,0.126,33,0.467,35,1.316,36,2.585,47,0.565,95,0.146,100,2.68,101,0.01,103,0,104,0,135,1.493,142,2.782,148,1.128,153,1.856,173,6.772,195,1.689,231,1.763,277,1.099,317,2.483,339,2.253,436,3.39,579,2.194,589,1.358,591,1.823,704,3.923,1476,6.158,1548,5.76,1585,4.68,1610,5.636,1719,7.494,2358,4.417,3430,3.337,5271,6.433,8024,6.465,10098,5.246,11257,8.418,12786,9.642,13827,6.465,14382,7.813,14384,8.053,14386,8.3,14387,9.414,14391,8.3,14392,9.168,14395,7.144,14396,4.838,14397,4.838,14398,7.117,14399,7.842,14400,6.744,14404,7.117,14416,8.3,14420,6.465,14421,6.744,14422,7.117,17035,6.465,17720,8.596,17721,7.684,17722,7.684,17723,7.684,17724,7.684,17725,7.684,17726,7.684,17727,7.117,17728,10.216,17729,7.684,17730,7.684]],["title/injectables/OidcProvisioningService.html",[589,0.926,17731,5.658]],["body/injectables/OidcProvisioningService.html",[0,0.093,3,0.005,4,0.005,5,0.002,7,0.038,8,0.524,26,2.549,27,0.406,29,0.794,30,0.001,31,0.631,32,0.133,33,0.475,34,0.784,35,1.153,36,2.529,39,1.273,47,0.9,48,6.398,49,1.017,51,1.299,59,0.839,64,3.615,95,0.133,99,0.544,100,0.941,101,0.003,103,0,104,0,125,2.617,135,1.661,142,3.767,148,1.053,153,1.816,195,1.314,197,0.754,208,1.7,228,1.805,277,0.386,290,2.173,317,2.78,433,0.563,478,0.756,574,1.513,578,1.415,579,1.707,589,0.61,591,0.64,614,0.837,652,2.538,657,2.899,666,7.031,700,1.306,701,1.306,702,1.337,703,2.424,704,4.033,711,3.37,734,1.933,756,1.077,812,1.72,980,2.53,1027,0.826,1065,5.408,1422,1.081,1472,1.501,1537,1.98,1539,2.193,1718,1.98,1829,1.157,1853,0.886,1883,1.013,1941,1.765,2066,4.673,2068,4.149,2070,2.473,2071,5.075,2073,2.271,2447,3.828,2623,5.481,3364,1.941,3418,2.066,3436,3.073,3469,1.815,3470,1.765,3900,1.425,4215,1.873,4510,1.662,4588,3.919,4714,4.021,4862,1.789,4863,1.815,5026,5.07,5033,2.072,5057,1.941,5129,7.031,5143,2.023,5215,1.538,5449,5.177,5474,2.193,6435,2.823,7501,3.182,7509,1.815,7558,1.941,8114,4.975,8120,4.814,8123,2.193,10075,9.079,10078,4.025,10083,6.227,10085,1.941,10088,2.271,10098,4.083,10105,7.632,10107,1.765,10123,4.083,10477,3.364,11257,5.172,11258,2.072,11371,2.128,11499,7.707,11507,2.271,11508,2.072,11509,3.963,12561,3.084,12771,4.59,12773,8.433,12789,2.271,12790,2.271,12870,2.271,12872,2.271,12874,2.271,12928,7.707,12984,5.031,12985,2.369,13217,2.023,14416,3.726,14418,7.707,15125,3.364,15229,3.726,15230,2.5,15335,1.941,15383,7.441,15384,7.707,16023,2.271,16497,2.369,17040,5.539,17279,7.538,17731,3.726,17732,10.714,17733,2.699,17734,5.98,17735,4.586,17736,4.586,17737,5.98,17738,4.586,17739,5.98,17740,4.586,17741,5.98,17742,5.98,17743,2.699,17744,2.699,17745,2.699,17746,4.586,17747,2.699,17748,7.051,17749,4.586,17750,2.699,17751,4.586,17752,2.699,17753,2.699,17754,4.586,17755,2.699,17756,2.699,17757,2.699,17758,4.586,17759,2.699,17760,2.699,17761,2.699,17762,2.699,17763,2.699,17764,6.418,17765,2.699,17766,2.699,17767,2.369,17768,2.369,17769,7.317,17770,4.586,17771,5.98,17772,2.699,17773,4.586,17774,4.586,17775,2.699,17776,2.699,17777,2.699,17778,2.699,17779,2.699,17780,2.369,17781,4.586,17782,2.369,17783,4.586,17784,4.586,17785,7.051,17786,2.5,17787,2.699,17788,2.5,17789,2.699,17790,5.98,17791,4.586,17792,2.699,17793,4.586,17794,2.699,17795,4.586,17796,2.699,17797,2.5,17798,2.699,17799,2.699,17800,2.699,17801,4.586,17802,2.699,17803,4.586,17804,4.248,17805,2.699,17806,2.699,17807,2.699,17808,2.699,17809,2.699,17810,7.899,17811,2.699,17812,2.699,17813,5.98,17814,2.699,17815,2.699,17816,2.699,17817,4.586,17818,2.699,17819,4.586,17820,2.699,17821,5.98,17822,2.699,17823,2.699,17824,2.699,17825,2.699,17826,2.699,17827,2.699,17828,2.699,17829,2.699,17830,4.248,17831,2.699,17832,4.586,17833,2.699,17834,2.699,17835,4.586,17836,2.699,17837,2.699,17838,2.699,17839,4.586,17840,2.699,17841,2.699,17842,2.699,17843,2.699,17844,2.699,17845,4.586,17846,2.699,17847,2.699,17848,2.699,17849,2.699,17850,2.699,17851,2.699,17852,2.699,17853,2.699,17854,4.586,17855,2.699,17856,2.699,17857,2.699,17858,2.699,17859,2.699,17860,2.699]],["title/injectables/OidcProvisioningStrategy.html",[589,0.926,17861,6.113]],["body/injectables/OidcProvisioningStrategy.html",[0,0.248,3,0.013,4,0.013,5,0.006,7,0.1,8,1.114,9,5.768,27,0.463,29,0.846,30,0.001,31,0.622,32,0.137,33,0.506,35,1.27,36,2.341,95,0.143,100,2.498,101,0.009,103,0,104,0,113,3.872,125,1.706,135,0.932,148,0.704,153,1.158,228,1.75,231,1.681,233,2.221,277,1.024,290,1.699,317,2.396,339,2.1,433,1.197,436,3.272,589,1.295,591,1.699,657,2.844,688,3.34,703,2.99,980,3.951,1476,4.318,1853,2.35,2071,5.759,2088,3.07,2358,4.118,5271,6.136,7510,5.602,8114,5.293,10075,8.302,10098,4.891,12786,8.731,13781,9.658,13785,8.998,14382,7.655,14384,7.682,14386,7.917,14387,8.548,14391,5.819,14392,7.305,14395,4.459,14399,7.481,14400,6.287,14429,6.287,16494,9.026,17035,8.199,17731,10.662,17861,8.553,17862,7.163,17863,6.635,17864,7.163,17865,6.635,17866,7.163,17867,7.163,17868,7.163,17869,6.287,17870,6.635,17871,9.026,17872,7.163,17873,12.434,17874,7.163,17875,7.163,17876,6.635,17877,7.163,17878,11.076,17879,7.163,17880,7.163,17881,7.163,17882,7.163]],["title/interfaces/Options.html",[159,0.712,540,2.311]],["body/interfaces/Options.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,30,0.001,32,0.131,33,0.586,36,2.24,47,0.779,95,0.118,101,0.015,103,0,104,0,112,0.722,122,2.592,125,2.525,135,1.703,148,1.042,157,3.03,159,0.674,161,1.569,194,4.508,195,1.448,197,3.206,270,2.533,317,2.293,339,1.932,400,1.932,540,4.257,560,4.889,652,1.34,657,2.623,1212,4.251,1476,7.535,1821,5.92,1928,6.779,3102,3.97,3595,4.055,3612,5.862,3800,5.782,3803,6.014,3806,5.057,3812,8.802,3813,7.062,3814,3.856,3816,5.193,3817,6.097,4703,6.914,4910,8.415,4939,7.482,5220,8.355,5222,4.571,5234,3.153,5238,8.073,5249,10.114,5300,7.739,5347,7.944,5349,5.352,6380,5.352,6382,5.782,8843,5.543,8844,6.102,8848,6.102,8850,6.102,8852,8.355,8853,5.057,8855,5.782,8856,5.543,8857,11.178,8858,8.52,8859,5.782,8860,8.52,8861,8.52,8862,6.102,8863,6.102,8864,6.102,8865,9.652,8866,8.52,8867,9.817,8868,6.102,8869,6.102,8870,5.782]],["title/classes/Page.html",[0,0.241,869,3.409]],["body/classes/Page.html",[0,0.34,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.502,29,0.75,30,0.001,31,0.552,32,0.159,33,0.449,55,2.781,101,0.013,103,0.001,104,0.001,112,0.937,339,4.025,433,1.207,532,5.034,863,7.792,864,6.869,869,5.849,881,5.379,17883,9.828,17884,11.949,17885,9.828,17886,9.103]],["title/classes/PageContentDto.html",[0,0.241,17887,6.451]],["body/classes/PageContentDto.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,27,0.499,29,0.739,30,0.001,31,0.544,32,0.158,33,0.443,47,0.979,101,0.012,103,0.001,104,0.001,112,0.929,180,5.712,232,3.205,433,1.19,435,3.327,4970,6.12,17887,12.662,17888,13.328,17889,9.686,17890,12.793,17891,12.793,17892,11.843,17893,9.686,17894,9.686,17895,9.686,17896,9.686,17897,9.686]],["title/interfaces/Pagination.html",[159,0.712,7638,4.198]],["body/interfaces/Pagination.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.159,33,0.611,55,2.825,56,6.299,70,6.784,101,0.017,103,0.001,104,0.001,112,0.935,127,4.901,159,1.218,161,2.33,770,6.158,886,3.097,2232,5.574,2618,8.584,3977,10.024,5340,9.679,7638,8.06,7924,6.02,10858,9.391,13735,9.059]],["title/classes/PaginationParams.html",[0,0.241,883,4.917]],["body/classes/PaginationParams.html",[0,0.389,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,27,0.438,30,0.001,32,0.139,33,0.591,55,2.761,56,6.286,70,6.252,95,0.125,101,0.011,103,0.001,104,0.001,112,0.882,129,3.33,130,3.043,145,4.222,157,2.603,190,2.016,200,2.727,201,4.789,202,2.046,756,4.485,758,8.836,869,5.505,875,7.353,883,7.939,889,8.255,890,7.679,891,9.137,892,8.633,893,10.417,895,7.822,896,6.252,897,9.137,3792,6.184,3797,6.408,3848,7.24,6318,9.459,9174,8.255,17898,8.912,17899,8.912,17900,8.912,17901,8.912]],["title/classes/PaginationResponse.html",[0,0.241,862,4.335]],["body/classes/PaginationResponse.html",[0,0.271,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,9,5.717,27,0.499,29,0.598,30,0.001,31,0.44,32,0.174,33,0.586,55,2.955,56,6.324,59,3.216,70,6.811,95,0.087,101,0.01,103,0,104,0,112,0.812,157,2.853,190,2.209,202,1.799,296,3.353,339,3.398,433,0.962,532,3.795,862,6.441,863,7.405,868,5.932,869,6.033,870,5.663,871,3.807,873,7.855,874,7.706,875,6.765,876,5.387,5102,7.18,17886,7.256,17902,7.834,17903,10.348,17904,7.834,17905,7.834,17906,7.834,17907,7.834,17908,7.834,17909,7.834,17910,7.834]],["title/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.241,2037,6.113]],["body/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,8,1.28,27,0.436,29,0.676,30,0.001,31,0.497,32,0.168,33,0.404,35,1.015,47,0.903,95,0.125,101,0.011,103,0.001,104,0.001,148,0.87,228,1.59,231,1.932,233,2.744,277,1.266,339,2.596,400,2.596,417,4.962,433,1.088,614,2.744,1027,2.709,1115,3.369,1237,3.244,1422,4.918,1423,5.727,1426,5.734,1462,4.773,1465,6.143,1468,5.727,1469,6.013,1477,4.52,1478,4.705,1756,7.062,2037,9.829,2698,2.872,3555,7.829,10119,6.494,14447,7.449,17911,12.285,17912,12.285,17913,8.853,17914,12.285,17915,8.853,17916,8.853,17917,8.853]],["title/interfaces/ParentInfo.html",[159,0.712,11857,5.49]],["body/interfaces/ParentInfo.html",[0,0.253,3,0.007,4,0.007,5,0.005,7,0.145,26,2.616,30,0.001,31,0.555,32,0.104,34,0.993,39,1.612,47,0.896,49,3.479,55,1.177,83,2.899,95,0.125,96,1.516,97,1.447,99,0.723,101,0.013,103,0,104,0,112,0.574,122,2.158,125,2.904,135,1.586,141,2.489,145,1.346,148,1.312,153,1.939,159,0.748,161,0.854,185,1.989,195,2.03,196,2.79,197,1.002,205,1.882,223,3.799,224,1.039,225,2.225,229,1.414,231,0.619,232,1.571,233,1.112,277,0.513,290,0.851,402,2.632,412,1.593,414,2.946,430,1.475,431,1.537,478,1.005,540,2.427,556,1.82,567,1.337,569,2.871,579,1.024,615,2.184,620,4.554,703,1.781,711,3.769,756,1.43,773,2.377,794,2.631,802,2.377,870,4.602,886,3.295,1078,1.571,1080,2.536,1084,2.449,1154,3.965,1309,4.175,1444,4.675,1829,2.489,1925,2.489,1937,1.69,2033,1.36,2127,2.1,2128,3.965,2184,3.329,2513,2.044,2712,2.946,2796,1.92,2942,3.9,2953,2.08,2959,1.647,3159,1.623,3418,1.615,3467,1.92,3668,1.82,3681,2.579,3933,5.447,4040,2.1,4216,2.688,4588,3.939,4598,2.753,4600,2.258,4654,3.064,4664,1.615,4665,2.1,5466,2.062,5788,2.044,5800,2.14,6665,3.974,6666,5.447,6668,1.934,6669,2.532,6671,3.965,6672,2.579,6673,4.259,6674,2.688,6675,2.286,6676,2.489,6678,4.175,6680,2.688,7206,5.741,7207,4.457,7208,4.457,7209,4.457,7210,5.586,7211,2.314,7216,3.965,7218,1.708,7237,4.456,7238,4.175,7245,2.314,7251,2.631,7253,2.449,7256,5.366,7549,2.208,7766,2.579,7767,4.029,9256,2.532,11530,2.688,11599,2.631,11632,2.532,11645,2.753,11671,4.457,11674,2.631,11679,2.753,11820,2.914,11821,2.827,11822,4.577,11823,2.914,11825,6.831,11837,6.303,11840,2.827,11841,2.631,11842,4.717,11843,4.717,11844,4.717,11845,4.717,11846,4.717,11847,4.717,11848,4.577,11849,5.741,11850,4.717,11851,2.753,11852,4.352,11853,2.688,11854,4.457,11855,2.753,11856,4.457,11857,6.629,11858,2.579,11859,2.827,11860,2.631,11861,2.631,11862,2.914,11863,2.914,11864,2.688,11865,2.827,11866,2.914,11867,2.914,11868,2.914,11869,2.914,11870,2.914,11871,2.914,11872,2.914,11873,2.914,11874,2.914,11875,2.914,11876,2.914,11877,8.031,11878,2.914,11879,2.914,11880,4.717,11881,2.914,11882,2.914,11883,4.717,11884,4.717,11885,4.717,11886,2.914,11887,2.914,11888,2.914,11889,2.914,11890,2.914,11891,2.914,11892,2.914,11893,4.717,11894,5.944,11895,2.827,11896,2.914,11897,4.717,11898,2.827,11899,2.914,11900,4.717,11901,2.914,11902,5.944,11903,5.944,11904,2.827,11905,5.767,11906,2.914,11907,2.914,11908,2.914,11909,2.914,11910,2.914,11911,2.914,11912,2.914,11913,2.827,11914,2.914,11915,2.914,11916,2.914,11917,2.914,11918,2.914,11919,2.914,11920,2.914,11921,2.914,11922,2.914,11923,2.914]],["title/classes/PatchGroupParams.html",[0,0.241,8411,6.113]],["body/classes/PatchGroupParams.html",[0,0.406,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.371,30,0.001,31,0.658,32,0.118,47,0.861,95,0.142,100,4.088,101,0.012,103,0.001,104,0.001,112,0.92,155,4.343,157,2.713,190,1.707,200,2.915,202,2.187,296,3.067,298,4.136,299,4.589,1065,6.523,2049,5.407,7853,9.195,8089,7.738,8091,8.004,8411,10.288,17918,10.288,17919,9.525,17920,10.288,17921,9.525]],["title/classes/PatchMyAccountParams.html",[0,0.241,383,6.113]],["body/classes/PatchMyAccountParams.html",[0,0.33,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,27,0.48,30,0.001,31,0.659,32,0.152,33,0.606,47,1.001,87,6.204,95,0.131,101,0.009,103,0,104,0,112,0.749,153,2.145,157,2.848,190,2.206,194,5.35,195,2.992,196,4.517,197,3.805,200,2.127,202,1.596,290,3.23,296,3.326,297,7.757,298,3.019,299,4.817,300,4.715,301,4.486,302,8.844,303,5.85,304,3.443,305,5.85,308,5.1,383,8.38,413,5.815,700,5.278,701,5.278,702,6.093,1197,5.186,3237,5.538,5102,9.447,6296,7.527,8017,8.38,17922,11.775,17923,6.952,17924,10.906,17925,10.906,17926,6.952,17927,8.034,17928,6.952,17929,6.952,17930,6.952,17931,6.952,17932,6.952,17933,8.38,17934,6.952]],["title/classes/PatchMyPasswordParams.html",[0,0.241,354,6.113]],["body/classes/PatchMyPasswordParams.html",[0,0.384,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.432,30,0.001,32,0.137,47,0.943,87,7.148,95,0.143,101,0.011,103,0.001,104,0.001,112,0.87,153,2.076,157,2.567,190,1.988,194,5.044,195,2.821,196,4.259,197,3.588,200,2.668,202,2.002,290,3.045,296,3.191,297,9.909,298,3.786,299,4.775,301,5.626,303,7.336,304,4.317,305,9.332,354,9.734,415,6.321,6388,7.696,17922,11.298,17935,8.718,17936,12.197,17937,11.091,17938,11.091,17939,8.718,17940,8.718]],["title/classes/PatchOrderParams.html",[0,0.241,17941,6.113]],["body/classes/PatchOrderParams.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.369,30,0.001,32,0.117,47,0.859,95,0.13,100,4.076,101,0.012,103,0.001,104,0.001,112,0.917,153,1.89,157,2.706,190,1.699,195,2.083,200,2.901,202,2.177,296,3.058,615,7.118,855,4.733,896,7.553,1835,6.006,2051,4.946,2232,7.539,2531,5.111,4235,8.11,4440,7.702,6317,6.78,17918,10.258,17920,10.258,17941,10.258,17942,9.48,17943,9.48,17944,10.826,17945,9.48]],["title/classes/PatchVisibilityParams.html",[0,0.241,17946,6.113]],["body/classes/PatchVisibilityParams.html",[0,0.409,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.12,95,0.132,100,4.124,101,0.012,103,0.001,104,0.001,112,0.928,122,2.452,157,2.737,190,1.732,195,2.599,197,3.305,199,6.523,200,2.957,202,2.219,296,3.094,2049,5.434,2051,5.005,4465,11.99,5607,7.536,5608,7.732,8098,8.48,17918,10.379,17920,10.379,17946,10.379,17947,9.662,17948,9.662]],["title/classes/Path.html",[0,0.241,414,3.534]],["body/classes/Path.html",[0,0.316,2,0.437,3,0.008,4,0.008,5,0.004,7,0.058,27,0.254,29,0.497,30,0.001,31,0.452,32,0.081,33,0.189,47,0.981,55,2.722,72,1.9,83,1.908,95,0.102,96,1.08,101,0.012,103,0,104,0,112,0.51,122,2.183,131,3.322,134,2.304,141,4.513,145,3.952,148,0.896,155,1.321,157,0.958,190,0.742,194,1.626,195,2.934,196,4.4,197,1.156,205,1.326,208,2.605,223,4.391,224,1.198,225,2.494,229,1.632,231,0.714,233,1.283,289,2.4,301,2.67,374,3.96,414,5.955,433,0.508,467,1.204,478,1.159,567,1.543,711,1.885,756,4.393,870,4.402,1087,1.909,1195,3.983,1199,7.001,1200,7.612,1201,7.612,1215,5.497,1224,4.679,1237,2.872,1372,2.183,1929,4.773,2164,3.731,2184,1.638,2393,3.082,2553,4.098,2643,4.443,2912,1.98,2915,6.64,2995,4.516,3056,1.991,3418,1.863,3426,3.846,3926,3.261,3972,4.313,5140,4.255,5234,3.85,5245,4.006,5406,5.13,6027,4.679,6178,3.846,6203,4.147,6574,3.176,6575,3.176,6576,3.101,6577,3.176,6578,2.705,6584,3.101,6585,3.176,6597,6.175,6600,2.921,6601,3.176,6617,3.709,6618,3.035,6620,3.176,6628,2.921,6630,3.176,6632,3.176,6634,3.176,6636,3.176,6642,3.176,7064,6.029,7245,2.67,7465,2.975,7572,2.469,9611,2.921,11686,6.535,11687,3.481,11688,5.13,11689,6.175,11690,3.361,11694,5.475,11695,5.475,11696,6.768,11697,5.475,11698,7.409,11699,3.481,11700,5.475,11701,5.475,11702,5.475,11703,3.261,11704,3.481,11705,3.176,11706,5.287,11707,6.768,11708,3.481,11709,6.768,11710,6.68,11711,5.287,11712,4.995,11713,5.475,11714,5.13,11715,5.475,11716,4.679,11717,5.475,11718,5.475,11719,5.287,11720,5.475,11721,5.475,11722,3.261,11723,3.481,11724,3.261,11725,2.825,11726,3.481,11727,3.481,11728,3.481,11729,3.481,11730,3.481,11731,3.481,11732,3.481,11733,3.481,11734,3.481,11735,3.481,11736,3.481,11737,3.481,11738,3.481,11739,3.481,11740,3.481,11741,3.481,11742,3.481,11743,3.481,11744,3.481,11745,3.481,11746,3.481,11747,3.481,11748,3.481,11749,3.481,11750,3.481,11751,3.481,11752,3.481,11753,3.481,11754,3.481,11755,3.481,11756,3.481,11757,3.481,11758,3.481,11759,3.481,11760,3.481,11761,3.481,11762,3.481,11763,3.481,11764,3.481,11765,3.481,11766,3.481,11767,3.481,11768,3.481,11769,3.481,11770,3.481,11771,3.481,11772,3.481,11773,3.481,11774,3.481,11775,3.481,11776,3.481,11777,3.481,11778,3.481,11779,3.481,11780,3.481,11781,3.481,11782,3.481,11783,3.481,11784,3.481,11785,3.481,11786,3.481,17949,6.508]],["title/injectables/PermissionService.html",[267,5.86,589,0.926]],["body/injectables/PermissionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.246,27,0.425,29,0.833,30,0.001,31,0.613,32,0.135,33,0.498,35,1.346,47,0.975,95,0.122,101,0.009,102,5.075,103,0,104,0,122,1.98,135,1.528,145,4.094,148,1.154,153,1.544,197,1.943,267,9.176,277,0.994,290,3.331,331,5.646,388,2.98,407,6.625,409,6.085,412,4.241,579,1.985,589,1.269,591,1.649,610,2.742,641,5.442,652,2.218,874,4.07,1223,7.157,1778,6.867,1822,6.44,1824,6.44,1825,6.44,1826,6.691,1829,2.98,1831,6.329,1836,6.44,1837,6.44,1862,5.075,1939,3.695,2512,5.698,3436,6.032,4441,6.445,5136,6.329,5249,7.527,6303,6.625,11332,8.034,12148,8.844,13184,8.844,17950,6.952,17951,9.548,17952,7.757,17953,9.548,17954,9.548,17955,6.952,17956,9.548,17957,6.952,17958,9.548,17959,8.844,17960,9.548,17961,6.952,17962,6.952,17963,6.952,17964,6.952,17965,6.952,17966,6.952,17967,5.648,17968,9.548,17969,6.952,17970,9.548,17971,6.952,17972,5.648,17973,6.952]],["title/interfaces/PlainTextMailContent.html",[159,0.712,1450,5.221]],["body/interfaces/PlainTextMailContent.html",[3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,31,0.5,32,0.139,33,0.513,47,1.077,77,5.738,101,0.011,103,0.001,104,0.001,112,0.881,159,1.414,161,2.118,231,2.301,1240,5.255,1439,8.418,1440,6.826,1441,9.227,1442,8.621,1443,6.826,1444,4.943,1445,8.418,1446,6.522,1447,6.522,1448,9.692,1449,6.826,1450,9.227,1451,10.236,1452,10.236,1453,8.418,1454,6.913,1455,6.665,1456,6.665,1457,6.826,1458,6.826]],["title/classes/PostH5PContentCreateParams.html",[0,0.241,12638,5.221]],["body/classes/PostH5PContentCreateParams.html",[0,0.452,2,0.744,3,0.013,4,0.013,5,0.006,7,0.098,26,2.226,27,0.46,30,0.001,32,0.153,47,0.96,95,0.146,99,1.42,101,0.016,103,0,104,0,112,0.756,131,4.922,158,3.559,172,3.009,190,2.117,200,2.157,202,1.619,205,1.437,296,3.7,298,3.061,299,4.301,300,3.694,326,4.706,478,1.975,855,5.169,856,7.097,886,3.739,899,3.222,1195,6.123,1198,6.621,1240,6.978,2164,3.27,3200,4.207,3201,5.795,3933,5.202,4582,9.321,4585,8.433,6389,4.892,6561,5.932,6567,7.182,6617,4.018,6663,8.717,6666,5.202,8091,6.582,11710,6.431,12589,8.085,12627,5.284,12628,5.557,12632,6.805,12633,5.284,12634,5.284,12635,5.284,12636,5.412,12637,5.557,12638,7.226,12639,5.557,17974,7.05,17975,7.05,17976,7.05,17977,7.05,17978,7.05,17979,7.05]],["title/classes/PostH5PContentParams.html",[0,0.241,12636,5.346]],["body/classes/PostH5PContentParams.html",[0,0.454,2,0.753,3,0.013,4,0.013,5,0.006,7,0.099,26,1.97,27,0.463,30,0.001,32,0.137,47,0.981,95,0.146,99,1.438,101,0.016,103,0,104,0,112,0.763,131,6.06,158,3.589,190,2.128,200,2.184,202,1.639,205,1.455,296,3.707,298,3.099,299,4.328,300,3.725,326,4.726,478,2,855,5.189,856,7.124,886,3.758,899,3.262,1195,6.15,1198,6.664,1240,7.572,2164,3.311,3201,5.563,3933,3.38,4582,9.344,4585,8.487,6389,4.953,6567,7.761,6617,4.068,6663,8.105,6666,3.38,8091,6.638,11710,4.178,12589,8.12,12627,5.35,12628,5.627,12632,6.863,12633,5.35,12634,5.35,12635,5.35,12636,7.463,12637,8.715,12638,5.35,12639,5.627,17980,7.138,17981,7.138,17982,7.138,17983,9.722,17984,7.138,17985,7.138]],["title/classes/PreviewActionsLoggable.html",[0,0.241,17986,5.658]],["body/classes/PreviewActionsLoggable.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,8,1.3,27,0.443,29,0.693,30,0.001,31,0.51,32,0.112,33,0.415,35,1.04,47,0.913,95,0.127,101,0.012,103,0.001,104,0.001,135,1.181,148,0.892,159,0.928,228,2.042,339,2.66,400,2.66,403,4.632,433,1.115,652,1.845,1027,2.776,1115,4.728,1237,3.295,1422,4.973,1423,5.792,1426,5.785,1723,7.08,1796,7.634,4249,6.965,7287,5.855,12587,8.525,12588,8.343,17986,9.24,17987,8.621,17988,12.424,17989,9.073,17990,9.554,17991,9.073,17992,9.073,17993,6.801,17994,7.371,17995,9.073,17996,9.073]],["title/classes/PreviewBuilder.html",[0,0.241,17997,6.113]],["body/classes/PreviewBuilder.html",[0,0.261,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,8,1.153,27,0.393,29,0.77,30,0.001,31,0.567,32,0.125,33,0.461,34,1.944,35,1.157,47,0.835,95,0.141,101,0.01,103,0,104,0,125,2.708,135,1.758,148,0.992,159,0.771,205,1.537,326,3.839,403,6.198,467,3.79,556,3.825,711,2.922,837,3.734,1444,5.608,1723,5.749,3319,4.297,4588,2.583,7218,5.412,7237,8.23,7283,8.922,7287,4.865,11841,5.53,12539,9.318,12585,10.978,12586,9.978,12587,9.099,12588,8.904,17990,8.339,17993,5.652,17997,8.854,17998,7.54,17999,11.369,18000,10.088,18001,7.54,18002,7.54,18003,10.088,18004,7.54,18005,7.54,18006,7.54,18007,7.54,18008,7.54,18009,7.54,18010,7.54,18011,7.54,18012,7.54,18013,7.54]],["title/interfaces/PreviewConfig.html",[159,0.712,18014,5.86]],["body/interfaces/PreviewConfig.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,47,0.74,55,2.041,95,0.112,101,0.016,103,0.001,104,0.001,112,0.951,159,1.24,161,2.4,311,6.42,649,8.505,2831,4.033,7306,8.505,11521,6.202,12095,7.942,12097,7.942,16027,7.39,17987,6.991,18014,10.206,18015,9.332,18016,11.365,18017,11.365]],["title/interfaces/PreviewFileOptions.html",[159,0.712,17990,5.109]],["body/interfaces/PreviewFileOptions.html",[3,0.018,4,0.018,5,0.009,7,0.137,30,0.001,32,0.159,47,1.048,55,1.991,101,0.016,103,0.001,104,0.001,112,0.937,122,2.038,159,1.317,161,2.341,402,3.535,403,5.018,7287,6.342,12587,10.04,12588,10.068,17987,6.819,17990,8.765,17993,10.686,18018,8.626,18019,7.747]],["title/interfaces/PreviewFileParams.html",[159,0.712,12585,5.658]],["body/interfaces/PreviewFileParams.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,31,0.489,32,0.172,33,0.506,47,1.077,55,1.763,95,0.136,101,0.014,103,0.001,104,0.001,112,0.869,159,1.133,161,2.072,205,1.773,339,2.551,403,6.549,837,4.308,1302,6.157,1304,4.958,6572,4.958,7218,4.142,7237,8.483,7283,8.989,7313,5.415,7314,5.298,7315,5.298,12050,5.766,12539,9.847,12584,8.058,12585,8.998,12586,11.258,12587,9.615,12588,9.409]],["title/modules/PreviewGeneratorAMQPModule.html",[252,1.839,18020,6.451]],["body/modules/PreviewGeneratorAMQPModule.html",[0,0.326,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.335,254,3.386,255,3.595,256,3.685,257,3.672,258,3.659,259,3.419,260,3.498,269,4.556,270,3.62,271,3.545,276,4.556,277,1.346,556,4.776,649,5.927,1318,7.226,5234,4.506,7218,4.482,7288,6.074,7306,7.328,7457,8.914,11841,6.905,12092,6.074,12094,10.779,12245,8.719,12417,8.262,18016,7.92,18020,13.101,18021,9.413,18022,9.413,18023,11.901,18024,9.413]],["title/classes/PreviewGeneratorBuilder.html",[0,0.241,18025,6.113]],["body/classes/PreviewGeneratorBuilder.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.012,7,0.13,8,1.322,27,0.363,29,0.712,30,0.001,31,0.524,32,0.115,33,0.426,35,1.069,95,0.14,101,0.012,103,0.001,104,0.001,135,1.505,148,0.917,159,0.954,339,2.735,403,5.907,467,3.662,711,2.701,1304,5.315,1444,5.184,2831,3.733,6397,10.717,7288,7.466,7658,10.686,11521,5.741,17987,8.028,17993,10.583,18025,10.155,18026,9.4,18027,9.326,18028,11.57,18029,9.326]],["title/injectables/PreviewGeneratorConsumer.html",[589,0.926,18030,6.113]],["body/injectables/PreviewGeneratorConsumer.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.113,8,1.21,27,0.413,29,0.809,30,0.001,31,0.595,32,0.131,33,0.484,35,0.931,95,0.151,101,0.01,103,0.001,104,0.001,125,2.523,135,1.056,148,0.798,158,2.997,159,0.83,190,1.455,228,1.458,277,1.161,317,2.551,400,2.381,433,0.997,589,1.408,591,1.926,652,1.651,657,1.857,711,3.416,871,3.898,1027,2.485,1115,3.09,1272,5.112,1274,6.926,1310,5.731,1311,5.308,1723,7.123,2447,5.66,2835,8.606,7288,5.239,10016,4.945,10477,7.77,12336,7.52,12345,7.52,12346,9.812,17986,6.596,17987,8.182,17990,9.167,18026,9.58,18030,9.298,18031,8.119,18032,9.298,18033,8.119,18034,11.186,18035,8.119,18036,8.119,18037,9.921,18038,8.119,18039,7.52,18040,7.126,18041,7.126,18042,7.126,18043,8.119,18044,10.594,18045,8.119,18046,8.119,18047,8.119,18048,8.119]],["title/modules/PreviewGeneratorConsumerModule.html",[252,1.839,18023,6.113]],["body/modules/PreviewGeneratorConsumerModule.html",[0,0.286,3,0.015,4,0.015,5,0.007,8,0.943,27,0.322,29,0.63,30,0.001,31,0.464,32,0.102,33,0.377,35,0.946,95,0.155,101,0.011,103,0.001,104,0.001,135,1.393,148,0.811,153,1.335,252,3.137,254,2.969,259,3.888,265,4.966,276,3.231,277,1.18,467,3.116,556,5.432,649,6.742,651,4.187,685,4.787,686,5.934,688,3.847,1011,7.31,1016,7.574,1021,5.325,1025,5.325,1026,5.196,1027,2.525,2088,5.094,2447,5.447,2831,3.304,7288,6.909,10016,5.026,11521,5.08,12413,5.934,12576,6.704,12577,7.853,16027,6.053,17987,7.429,18014,10.582,18016,6.944,18023,10.431,18026,8.698,18030,9.397,18034,9.008,18042,7.243,18049,8.253,18050,7.243,18051,10.707,18052,8.253,18053,7.644,18054,8.253,18055,8.253,18056,8.253,18057,8.253,18058,8.253]],["title/modules/PreviewGeneratorProducerModule.html",[252,1.839,12412,6.113]],["body/modules/PreviewGeneratorProducerModule.html",[0,0.317,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,252,3.293,254,3.293,255,3.496,256,3.585,257,3.572,258,3.559,259,4.531,260,4.636,265,6.363,269,4.478,270,3.521,271,3.448,276,4.478,277,1.309,556,4.645,1011,9.367,1027,2.802,1311,5.986,12412,12.612,17987,6.353,18026,7.438,18059,9.156,18060,9.156,18061,9.156,18062,9.156,18063,12.148,18064,9.156,18065,9.156]],["title/injectables/PreviewGeneratorService.html",[589,0.926,18034,5.86]],["body/injectables/PreviewGeneratorService.html",[0,0.202,3,0.011,4,0.011,5,0.01,7,0.081,8,0.964,27,0.468,29,0.88,30,0.001,31,0.647,32,0.143,33,0.526,35,1.245,36,2.295,47,0.728,95,0.141,101,0.007,103,0,104,0,112,0.662,125,1.389,129,1.727,130,1.578,135,1.681,141,3.615,148,0.974,153,0.943,159,0.596,195,1.282,228,1.047,277,0.834,317,2.598,326,4.917,400,1.71,402,2.098,403,2.977,433,0.716,569,2.622,579,1.665,589,1.121,591,1.383,652,2.757,657,2.266,711,2.87,1027,1.785,1304,3.323,2447,5.176,2831,2.334,3633,7.126,6435,6.685,7283,7.007,7287,5.443,7288,6.395,7312,8.742,7658,8.051,10477,6.187,11521,3.59,11840,4.597,11864,6.323,11905,6.649,12576,6.853,12577,7.965,12587,4.371,12588,6.187,17986,4.738,17987,8.593,17990,9.084,17993,9.002,18019,4.597,18025,5.118,18026,10.061,18032,7.403,18034,7.097,18040,5.118,18041,5.118,18066,5.402,18067,11.521,18068,7.813,18069,8.435,18070,8.435,18071,5.402,18072,8.435,18073,8.435,18074,5.832,18075,8.435,18076,5.832,18077,5.832,18078,7.813,18079,5.832,18080,8.435,18081,5.832,18082,9.91,18083,5.402,18084,5.832,18085,5.832,18086,5.832,18087,5.832,18088,5.832,18089,5.832,18090,5.832,18091,5.832,18092,5.832,18093,5.832,18094,9.91,18095,5.832,18096,5.402,18097,5.832,18098,5.832,18099,5.832,18100,5.832,18101,5.832,18102,5.832,18103,5.832,18104,5.832,18105,5.832]],["title/interfaces/PreviewModuleConfig.html",[159,0.712,18017,5.86]],["body/interfaces/PreviewModuleConfig.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,47,0.956,55,2.637,95,0.112,101,0.016,103,0.001,104,0.001,112,0.951,159,1.24,161,2.4,311,6.42,649,6.344,2831,4.033,7306,7.638,11521,6.202,12095,10.648,12097,10.648,16027,7.39,17987,6.991,18014,8.477,18015,9.332,18016,8.477,18017,10.95]],["title/interfaces/PreviewOptions.html",[159,0.712,17993,5.221]],["body/interfaces/PreviewOptions.html",[3,0.018,4,0.018,5,0.009,7,0.139,30,0.001,32,0.149,33,0.55,47,1.029,55,2.623,101,0.017,103,0.001,104,0.001,112,0.944,122,2.063,159,1.324,161,2.37,402,3.579,403,6.867,7287,8.68,12587,7.458,12588,8.83,17987,6.904,17990,7.298,17993,10.082,18018,8.733,18019,7.843]],["title/classes/PreviewParams.html",[0,0.241,7283,4.494]],["body/classes/PreviewParams.html",[0,0.471,2,0.658,3,0.012,4,0.016,5,0.008,7,0.087,26,2.488,27,0.401,30,0.001,32,0.156,33,0.561,39,1.729,47,0.999,95,0.141,99,1.255,101,0.017,103,0,104,0,110,2.166,112,0.694,122,2.132,157,1.442,159,0.637,190,1.843,195,1.943,199,4.878,200,1.906,201,4.35,202,1.43,203,5.947,205,1.27,296,3.69,298,2.705,299,4.807,300,4.289,403,3.181,855,4.972,856,6.222,886,3.255,899,2.847,1078,2.729,1080,2.159,1169,3.613,1237,1.805,1290,5.707,1291,4.129,1292,4.129,3011,4.698,3201,5.539,3933,2.95,4588,2.134,5260,6.474,6666,2.95,6847,6.373,7210,6.324,7212,4.073,7213,7.627,7218,5.328,7232,7.418,7262,4.323,7263,4.398,7264,4.398,7269,4.323,7270,8.139,7271,8.668,7272,8.668,7273,4.398,7274,4.323,7275,4.323,7276,4.398,7277,4.253,7278,6.038,7279,4.189,7280,4.253,7281,4.323,7282,4.253,7283,5.707,7284,4.398,7285,7.258,7286,4.398,7287,6.635,7288,5.707,7289,5.862,7290,6.038,7291,7.258,10930,7.762,12500,5.77,18106,6.23,18107,6.23,18108,6.23,18109,6.23,18110,6.23]],["title/injectables/PreviewProducer.html",[589,0.926,18063,5.86]],["body/injectables/PreviewProducer.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,27,0.478,29,0.992,30,0.001,31,0.689,32,0.161,33,0.56,35,1.341,36,2.006,47,0.932,55,1.397,95,0.147,101,0.009,103,0,104,0,113,5.258,135,1.235,148,0.677,158,3.504,159,0.705,193,4.14,228,1.95,231,1.638,277,0.986,317,2.654,433,1.166,436,3.207,532,3.481,550,5.556,569,2.142,589,1.262,591,1.635,634,7.535,651,3.497,652,1.402,657,1.576,871,3.994,1027,2.109,1272,4.34,1274,4.506,1297,5.6,1298,9.504,1310,4.866,1311,4.506,1723,7.654,2088,2.954,2447,5.43,4305,7.711,4338,8.138,10016,4.198,10477,6.962,12347,7.115,12434,10.668,12435,8.331,12436,8.331,12443,6.049,12444,6.384,12445,6.049,12446,6.384,12447,6.049,12448,6.384,12449,6.384,14338,6.384,16027,5.056,17986,5.6,17987,7.533,17990,8.58,18017,5.799,18019,5.433,18037,7.986,18039,6.384,18040,6.049,18041,6.049,18053,6.384,18063,7.986,18111,6.893,18112,6.893,18113,9.492,18114,6.893,18115,6.893,18116,6.893,18117,6.893,18118,6.893]],["title/interfaces/PreviewResponseMessage.html",[159,0.712,18019,5.49]],["body/interfaces/PreviewResponseMessage.html",[3,0.019,4,0.019,5,0.009,7,0.139,30,0.001,32,0.149,47,1.03,55,2.026,101,0.017,103,0.001,104,0.001,112,0.947,122,2.689,159,1.327,161,2.382,402,4.846,403,5.105,7287,6.453,12587,7.495,12588,10.117,17987,6.938,17990,7.334,17993,9.724,18018,8.776,18019,9.519]],["title/injectables/PreviewService.html",[589,0.926,12333,5.86]],["body/injectables/PreviewService.html",[0,0.183,3,0.01,4,0.01,5,0.01,7,0.074,8,0.896,27,0.468,29,0.916,30,0.001,31,0.708,32,0.149,33,0.548,35,1.33,36,2.709,47,0.687,59,1.641,95,0.145,101,0.007,103,0,104,0,135,1.639,148,0.92,153,0.854,159,0.54,205,1.076,228,1.408,277,0.755,317,2.928,326,3.941,433,0.963,550,3.091,556,2.679,569,2.437,579,2.239,589,1.042,591,1.252,629,2.786,652,2.753,653,2.171,657,2.82,675,2.696,688,2.461,711,3.358,837,2.614,871,3.81,1027,1.616,1080,3.589,1084,3.605,1328,2.806,1723,3.009,2447,3.91,2448,4.852,2488,3.873,2492,4.162,2831,2.113,2954,4.168,3319,3.009,5234,2.527,5247,4.053,6435,5.759,7218,5.87,7237,8.178,7238,3.796,7241,6.371,7254,4.289,7259,4.289,7283,8.129,7288,3.407,11521,3.25,11841,3.873,11858,3.796,11913,4.162,11950,4.634,12048,4.634,12050,5.198,12093,4.89,12333,6.598,12417,4.634,12539,8.899,12576,6.371,12577,7.595,12585,10.567,12588,3.873,17997,4.634,18032,6.883,18063,10.099,18068,7.264,18071,4.89,18078,7.264,18119,5.28,18120,7.842,18121,9.356,18122,7.842,18123,7.842,18124,5.28,18125,7.842,18126,5.28,18127,7.842,18128,5.28,18129,5.28,18130,5.28,18131,5.28,18132,7.842,18133,5.28,18134,7.842,18135,5.28,18136,5.28,18137,5.28,18138,5.28,18139,5.28,18140,5.28,18141,5.28,18142,5.28,18143,5.28,18144,4.89,18145,5.28,18146,4.89,18147,5.28,18148,5.28,18149,7.842,18150,7.842,18151,5.28,18152,5.28,18153,5.28,18154,5.28,18155,5.28,18156,5.28]],["title/classes/PrometheusMetricsConfig.html",[0,0.241,18157,6.113]],["body/classes/PrometheusMetricsConfig.html",[0,0.237,2,0.724,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.546,30,0.001,32,0.157,35,0.786,47,0.858,55,2.365,95,0.076,101,0.009,103,0,104,0,112,0.742,122,2.867,125,1.633,148,1.244,153,1.53,228,2.53,433,1.33,467,3.776,569,2.131,652,2.921,711,2.74,735,4.28,1283,7.643,2219,3.074,2220,3.458,2221,3.337,2222,4.318,5927,6.739,9704,5.14,11297,8.535,18157,10.244,18158,6.857,18159,10.827,18160,10.827,18161,10.827,18162,10.827,18163,10.827,18164,10.827,18165,10.244,18166,10.827,18167,10.029,18168,10.029,18169,6.857,18170,6.857,18171,6.857,18172,6.857,18173,6.857,18174,6.857,18175,6.857,18176,6.857,18177,6.857,18178,6.857,18179,6.857,18180,6.857,18181,6.857,18182,6.857,18183,6.857,18184,6.857,18185,6.857,18186,6.857,18187,6.857,18188,9.458,18189,9.458,18190,9.458,18191,9.458,18192,9.458,18193,6.857,18194,6.857,18195,6.857,18196,6.857,18197,6.857,18198,11.672]],["title/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.241,18199,6.451]],["body/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.234,2,0.714,3,0.013,4,0.013,5,0.006,7,0.094,8,1.071,27,0.365,29,0.516,30,0.001,31,0.38,32,0.084,33,0.309,35,0.776,95,0.129,101,0.015,103,0,104,0,129,2.003,135,1.64,148,1.057,153,2.039,228,1.215,289,6.235,339,1.984,385,4.619,400,1.984,433,0.831,871,2.489,876,3.522,886,2.142,1027,2.07,1115,2.574,1220,3.889,1237,2.714,1283,4.775,1372,3.57,1419,5.937,1421,5.937,1422,4.645,1423,5.012,1425,7.884,1426,5.154,1627,9.065,1749,3.855,2164,3.138,2447,5.093,2588,4.26,2859,5.193,2915,6.479,2923,5.071,7642,6.479,7739,5.9,9611,4.775,11297,9.148,17044,10.185,18157,5.937,18167,9.957,18168,9.957,18199,10.748,18200,10.75,18201,6.765,18202,6.765,18203,11.604,18204,6.765,18205,6.765,18206,5.937,18207,6.765,18208,6.765,18209,6.765,18210,12.606,18211,13.899,18212,6.765,18213,6.765,18214,6.765,18215,5.333,18216,6.765,18217,6.765,18218,9.37,18219,6.765,18220,6.765,18221,5.193,18222,6.765,18223,9.37,18224,12.185,18225,6.765,18226,6.765,18227,6.765,18228,6.765,18229,6.765,18230,6.765,18231,6.765,18232,6.765,18233,9.37,18234,6.765,18235,6.765,18236,6.765,18237,6.765,18238,6.765]],["title/classes/PropertyData.html",[0,0.241,2758,5.658]],["body/classes/PropertyData.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,27,0.512,29,0.709,30,0.001,31,0.738,32,0.162,33,0.574,47,0.965,95,0.103,101,0.012,103,0.001,104,0.001,112,0.905,130,3.397,223,2.893,232,3.122,433,1.14,435,3.189,1756,7.764,2184,3.674,2758,10.972,2798,11.018,4664,4.181,5223,8.369,8221,6.958,8260,7.541,8261,7.541,8287,7.317,18239,13.505,18240,8.598,18241,11.537,18242,9.283,18243,9.283]],["title/interfaces/ProviderConsentResponse.html",[159,0.712,17383,5.346]],["body/interfaces/ProviderConsentResponse.html",[3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,32,0.176,33,0.669,47,1.081,70,6.234,77,7.929,95,0.115,101,0.01,103,0,104,0,112,0.808,122,2.393,159,0.795,161,1.852,162,5.394,181,10.785,182,10.785,183,4.692,185,3.954,1506,6.54,2831,4.919,4578,8.836,6322,11.382,6323,11.382,6324,10.339,6325,10.339,6326,10.339,6327,9.983,11028,9.21,17383,7.903,18244,7.773,18245,10.339,18246,7.2,18247,7.2,18248,6.822]],["title/interfaces/ProviderConsentSessionResponse.html",[159,0.712,17445,5.49]],["body/interfaces/ProviderConsentSessionResponse.html",[3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,32,0.175,33,0.657,47,1.052,55,2.494,95,0.099,101,0.011,103,0.001,104,0.001,112,0.881,122,2.552,159,0.909,161,2.118,162,6.17,166,11.977,167,11.349,168,11.977,169,10.193,170,10.193,171,8.695,172,4.793,177,7.804,178,7.224,6364,8.236,17383,9.926,17445,8.853,18249,8.892,18250,12.931,18251,8.892]],["title/interfaces/ProviderLoginResponse.html",[159,0.712,17446,5.49]],["body/interfaces/ProviderLoginResponse.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,32,0.174,33,0.587,47,1.075,70,6.513,77,8.284,95,0.124,101,0.011,103,0.001,104,0.001,112,0.87,122,2.529,159,0.892,161,2.077,162,6.05,1506,7.336,2831,5.139,4578,9.231,6324,10.802,6325,10.802,6326,10.802,6327,10.43,11028,9.623,15980,11.891,17446,8.743,18245,10.802,18246,8.075,18247,8.075,18248,7.652,18252,8.718]],["title/interfaces/ProviderOidcContext.html",[159,0.712,18245,5.86]],["body/interfaces/ProviderOidcContext.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.169,33,0.657,47,1.067,101,0.012,103,0.001,104,0.001,112,0.922,159,0.979,161,2.28,162,6.641,185,4.359,1777,8.864,11358,9.544,17695,12.294,17696,12.294,17697,12.294,17698,12.294,18245,9.892,18253,9.57]],["title/interfaces/ProviderRedirectResponse.html",[159,0.712,17385,5.221]],["body/interfaces/ProviderRedirectResponse.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,162,7.478,17385,9.463,18254,10.778,18255,12.791]],["title/modules/ProvisioningConfigModule.html",[252,1.839,18256,6.113]],["body/modules/ProvisioningConfigModule.html",[0,0.362,3,0.019,4,0.019,5,0.009,30,0.001,95,0.138,101,0.013,103,0.001,104,0.001,252,3.276,254,3.766,259,3.802,260,3.89,277,1.497,685,6.072,1267,7.39,2088,4.487,13785,10.747,13787,8.808,18256,10.892,18257,10.469,18258,9.696,18259,10.469]],["title/classes/ProvisioningConfiguration.html",[0,0.241,13787,5.86]],["body/classes/ProvisioningConfiguration.html",[0,0.333,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.375,30,0.001,32,0.119,95,0.107,101,0.016,103,0.001,104,0.001,112,0.925,122,2.879,129,2.848,130,2.602,135,1.251,159,0.983,311,6.128,467,3.712,2219,4.311,2220,4.849,2221,4.68,4259,5.629,13781,10.36,13782,10.922,13783,11.812,13784,11.812,13785,10.801,13786,8.907,13787,9.921,13788,10.922,13789,10.922,18260,9.616]],["title/classes/ProvisioningDto.html",[0,0.241,14399,5.346]],["body/classes/ProvisioningDto.html",[0,0.356,2,1.085,3,0.019,4,0.019,5,0.009,7,0.143,27,0.479,29,0.785,30,0.001,31,0.578,32,0.152,33,0.47,47,0.902,101,0.013,103,0.001,104,0.001,112,0.963,433,1.263,10098,8.963,10101,9.023,14399,10.827,18261,10.281,18262,12.278,18263,12.278,18264,10.281]],["title/modules/ProvisioningModule.html",[252,1.839,17309,5.86]],["body/modules/ProvisioningModule.html",[0,0.24,3,0.013,4,0.013,5,0.006,30,0.001,95,0.155,101,0.009,103,0,104,0,252,2.874,254,2.492,255,2.646,256,2.712,257,2.703,258,2.693,259,3.954,260,4.045,264,9.131,265,5.89,269,3.729,270,2.664,271,2.61,276,3.729,277,0.991,703,2.126,1027,2.12,1054,3.915,1524,9.748,1525,9.131,1539,5.629,2070,3.736,2617,4.313,3890,7.905,3900,3.657,3904,6.228,5004,4.471,6077,8.417,6830,5.318,10088,5.829,12804,10.685,14380,10.685,17005,11.255,17309,12.371,17720,10.685,17731,10.317,17869,6.081,18256,11.146,18265,6.928,18266,6.928,18267,6.928,18268,6.928,18269,10.685,18270,10.685,18271,6.928,18272,6.928,18273,6.928,18274,6.928,18275,6.928]],["title/classes/ProvisioningOptionsEntity.html",[0,0.241,18276,5.86]],["body/classes/ProvisioningOptionsEntity.html",[0,0.295,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.496,29,0.65,30,0.001,31,0.478,32,0.157,33,0.626,95,0.122,96,2.223,101,0.011,103,0.001,104,0.001,112,0.857,122,2.792,159,0.871,190,2.162,195,2.959,196,4.002,211,6.653,223,3.966,224,2.466,232,2.956,433,1.046,435,2.925,1237,3.165,2615,7.5,2621,9.877,2712,5.543,4848,6.918,4850,7.887,18276,9.192,18277,13.16,18278,9.509,18279,9.509,18280,9.509,18281,10.925,18282,8.515,18283,7.473,18284,7.473,18285,7.473,18286,7.473,18287,7.473,18288,7.473]],["title/classes/ProvisioningOptionsInvalidTypeLoggableException.html",[0,0.241,18289,6.113]],["body/classes/ProvisioningOptionsInvalidTypeLoggableException.html",[0,0.284,2,0.868,3,0.015,4,0.015,5,0.007,7,0.114,8,1.22,26,2.752,27,0.416,29,0.627,30,0.001,31,0.462,32,0.155,33,0.376,35,0.943,48,5.884,95,0.14,99,1.656,101,0.011,103,0.001,104,0.001,148,0.808,153,1.329,228,2.13,231,1.842,233,2.548,244,5.802,277,1.175,339,2.41,340,7.469,433,1.312,540,4.166,652,2.413,1027,2.515,1115,3.128,1237,3.093,1422,4.748,1423,5.53,1426,5.577,1462,4.431,1468,5.53,1469,5.806,1477,4.196,1478,4.368,1883,3.085,2615,6.76,2617,5.116,2930,6.16,4588,4.301,4665,4.811,6435,7.302,18289,9.372,18290,10.41,18291,11.861,18292,8.219,18293,7.213,18294,11.861,18295,7.613,18296,7.538,18297,8.219,18298,8.219]],["title/classes/ProvisioningOptionsParams.html",[0,0.241,18299,6.113]],["body/classes/ProvisioningOptionsParams.html",[0,0.398,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,27,0.488,30,0.001,32,0.155,33,0.628,95,0.128,101,0.012,103,0.001,104,0.001,112,0.902,122,2.851,159,0.945,190,2.246,199,7.231,200,2.828,300,5.024,440,10.995,1237,3.332,2615,7.472,2621,9.189,18278,9.875,18279,9.875,18280,9.875,18299,10.097,18300,13.11,18301,8.559,18302,9.24,18303,9.24,18304,9.24]],["title/injectables/ProvisioningService.html",[589,0.926,17005,5.658]],["body/injectables/ProvisioningService.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.971,27,0.496,29,0.92,30,0.001,31,0.677,32,0.154,33,0.551,35,1.327,36,2.625,47,0.989,48,3.982,95,0.138,100,2.055,101,0.008,103,0,104,0,112,0.667,113,3.96,125,1.403,129,1.745,130,1.594,135,1.686,148,1.072,153,1.764,173,7.232,228,1.959,277,0.843,317,2.802,339,2.492,433,1.044,569,1.831,579,1.682,589,1.13,591,1.398,652,2.675,657,2.279,1312,2.775,1540,4.088,1605,7.449,2358,3.387,2796,5.84,3430,4.328,5004,8.359,5167,8.748,13094,6.916,14380,9.18,14382,7.73,14384,6.699,14387,8.318,14392,7.471,14395,6.791,14396,3.71,14397,3.71,14399,7.651,14420,4.957,15482,6.11,15491,8.375,17005,6.904,17030,4.957,17283,7.857,17720,9.18,18269,9.18,18305,5.892,18306,8.498,18307,7.871,18308,8.498,18309,8.498,18310,5.892,18311,9.967,18312,9.967,18313,9.967,18314,5.892,18315,8.498,18316,5.892,18317,8.498,18318,5.892,18319,8.498,18320,5.892,18321,5.892,18322,8.498,18323,5.892,18324,8.498,18325,5.892,18326,5.892,18327,4.957,18328,5.171,18329,5.892,18330,5.892,18331,5.892,18332,5.892,18333,5.892,18334,5.892,18335,5.892,18336,5.892,18337,5.892,18338,8.498,18339,5.892,18340,5.892,18341,5.892,18342,5.892,18343,5.892]],["title/classes/ProvisioningStrategy.html",[0,0.241,14382,4.156]],["body/classes/ProvisioningStrategy.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,9,6.639,27,0.489,29,0.88,30,0.001,31,0.647,32,0.143,33,0.526,35,1.438,36,2.773,95,0.128,100,3.23,101,0.012,103,0.001,104,0.001,339,2.716,2358,5.324,5271,7.254,12786,10.343,14382,6.875,14384,9.082,14386,9.359,14387,9.435,14391,9.359,14392,9.835,14395,7.806,14396,5.832,14397,5.832,14399,7.109,18344,9.261,18345,9.261,18346,9.261,18347,9.261]],["title/classes/ProvisioningStrategyInvalidOptionsLoggableException.html",[0,0.241,18348,6.113]],["body/classes/ProvisioningStrategyInvalidOptionsLoggableException.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,27,0.422,29,0.641,30,0.001,31,0.471,32,0.148,33,0.383,35,0.962,95,0.141,101,0.011,103,0.001,104,0.001,148,0.825,159,0.858,228,1.943,231,1.867,233,2.601,277,1.2,339,2.46,340,7.969,433,1.33,540,2.784,652,2.201,1027,2.568,1115,3.193,1237,3.135,1422,4.795,1423,5.585,1426,5.621,1462,4.524,1468,5.585,1469,5.863,1477,4.284,1478,4.459,2615,6.827,2617,5.223,2621,9.283,2623,8.782,5004,8.167,6435,7.374,10119,6.154,10417,7.06,14382,7.148,14395,7.878,14396,5.283,14397,5.283,15166,6.289,18290,10.514,18348,9.498,18349,11.979,18350,7.772,18351,8.39,18352,7.364]],["title/classes/ProvisioningStrategyMissingLoggableException.html",[0,0.241,18353,5.86]],["body/classes/ProvisioningStrategyMissingLoggableException.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,8,1.271,26,2.605,27,0.433,29,0.668,30,0.001,31,0.492,32,0.138,33,0.4,35,1.004,48,5.727,95,0.136,99,1.764,101,0.011,103,0.001,104,0.001,148,0.861,228,1.572,231,1.919,233,2.714,244,6.181,277,1.252,339,2.568,400,2.568,433,1.076,540,2.905,812,5.58,1027,2.68,1115,3.332,1237,3.222,1422,4.893,1423,5.698,1426,5.711,1462,4.721,1468,5.698,1469,5.982,1477,4.471,1478,4.654,2615,6.966,2617,6.923,5004,8.298,5215,4.99,6435,7.524,10116,10.727,10416,5.804,14359,6.722,17245,8.111,18290,10.727,18353,9.358,18354,8.756]],["title/classes/ProvisioningSystemDto.html",[0,0.241,17283,5.49]],["body/classes/ProvisioningSystemDto.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,26,2.544,27,0.512,29,0.709,30,0.001,31,0.521,32,0.162,33,0.574,47,0.848,48,5.883,95,0.129,99,1.87,101,0.012,103,0.001,104,0.001,112,0.905,232,3.122,244,6.553,245,7.317,433,1.14,435,3.189,14382,7.491,14395,7.814,14396,5.845,14397,5.845,15082,8.442,15166,6.958,15167,7.317,15168,7.126,15169,7.317,17283,10.646,18355,13.505,18356,9.283,18357,11.537,18358,9.283,18359,9.283]],["title/classes/ProvisioningSystemInputMapper.html",[0,0.241,18328,6.113]],["body/classes/ProvisioningSystemInputMapper.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,35,1.095,48,4.474,95,0.142,100,4.094,101,0.012,103,0.001,104,0.001,125,2.274,148,0.938,153,1.544,467,3.7,3430,5.098,7446,8.033,13094,9.202,14382,5.697,14395,5.943,14396,6.012,14397,6.012,15082,6.42,17283,9.254,18327,8.033,18328,10.303,18360,11.739,18361,9.548,18362,11.739,18363,11.739,18364,9.548,18365,9.548,18366,9.548,18367,9.548]],["title/classes/Pseudonym.html",[0,0.241,10631,4.077]],["body/classes/Pseudonym.html",[0,0.291,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.656,27,0.532,30,0.001,32,0.104,35,0.964,39,3.515,47,0.796,83,3.714,95,0.121,99,1.694,101,0.014,103,0.001,104,0.001,112,0.85,113,4.305,148,1.288,159,0.86,185,2.88,231,2.069,430,5.209,431,5.429,435,3.723,436,3.201,532,3.974,711,3.139,735,4.904,1767,5.886,1770,5.247,1773,7.303,1883,3.156,3067,5.234,3085,5.234,3088,6.628,3090,6.628,3093,5.834,3094,5.834,8452,6.628,10447,6.986,10631,7.856,18368,7.788,18369,7.788,18370,8.408,18371,8.408,18372,8.408,18373,8.408,18374,8.408,18375,8.408,18376,7.379,18377,7.788,18378,7.788,18379,6.454]],["title/modules/PseudonymApiModule.html",[252,1.839,18380,5.86]],["body/modules/PseudonymApiModule.html",[0,0.31,3,0.017,4,0.017,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.26,254,3.22,255,3.418,256,3.505,257,3.492,258,3.479,259,4.484,260,3.326,269,4.415,270,3.442,271,3.372,273,5.637,274,4.695,276,4.415,277,1.28,703,2.746,1856,7.774,2070,4.826,2680,4.111,3036,4.195,5068,10.225,6077,9.042,18380,12.112,18381,8.952,18382,8.952,18383,8.952,18384,11.477,18385,8.952,18386,10.837,18387,8.952,18388,8.952]],["title/controllers/PseudonymController.html",[314,2.65,18386,6.113]],["body/controllers/PseudonymController.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,27,0.313,29,0.612,30,0.001,31,0.451,32,0.145,33,0.367,35,1.344,36,2.221,95,0.153,100,2.797,101,0.01,103,0,104,0,135,1.368,148,0.788,157,1.857,190,1.438,202,1.842,228,1.441,274,3.339,277,1.147,290,2.493,314,3.053,316,3.861,317,2.536,325,6.16,326,4.461,347,5.401,349,6.552,388,4.505,390,6.153,392,4.176,395,4.294,398,4.325,400,2.352,401,4.496,657,1.834,1390,6.542,1853,2.632,2698,3.41,3036,3.759,3240,4.122,4905,6.782,10631,7.904,10637,5.394,18369,10.858,18384,9.863,18386,9.225,18389,8.022,18390,8.022,18391,10.918,18392,8.022,18393,8.022,18394,8.022,18395,7.558,18396,8.843,18397,7.558,18398,7.04,18399,8.022,18400,10.866,18401,8.022,18402,8.022,18403,8.022,18404,8.022,18405,8.022,18406,8.022,18407,8.022]],["title/entities/PseudonymEntity.html",[205,1.419,18408,5.86]],["body/entities/PseudonymEntity.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,26,2.211,27,0.47,30,0.001,32,0.149,34,1.453,39,3.65,47,0.886,49,5.155,95,0.142,96,2.848,97,3.427,99,1.712,101,0.014,103,0.001,104,0.001,112,0.945,142,3.076,159,0.869,190,2.16,205,2.223,206,2.772,219,6.647,223,4.194,224,2.461,225,4.181,229,3.351,231,1.466,232,2.299,233,2.634,242,4.484,243,5.35,458,3.389,459,5.643,4655,4.762,10447,7.254,10631,7.444,10632,7.149,10637,5.714,10638,6.903,10639,7.149,10640,6.233,10641,6.698,18408,9.18,18409,7.87,18410,8.497,18411,8.497,18412,8.497,18413,9.18]],["title/interfaces/PseudonymEntityProps.html",[159,0.712,18413,5.86]],["body/interfaces/PseudonymEntityProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,26,2.577,30,0.001,32,0.157,33,0.498,34,2.174,39,3.735,47,0.934,49,5.274,95,0.142,96,2.848,97,3.427,99,1.712,101,0.014,103,0.001,104,0.001,112,0.945,142,3.076,159,0.869,161,2.024,205,2.223,219,6.647,223,3.963,224,2.461,225,4.181,229,3.351,231,1.466,232,2.299,233,2.634,242,4.484,243,5.35,458,3.389,459,5.643,4655,4.762,10447,7.423,10631,7.699,10637,5.714,10638,6.903,10639,7.149,10640,6.233,10641,6.698,18408,7.149,18409,7.87,18413,10.14]],["title/classes/PseudonymMapper.html",[0,0.241,18398,6.113]],["body/classes/PseudonymMapper.html",[0,0.338,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,8,1.359,27,0.38,29,0.745,30,0.001,31,0.548,32,0.121,33,0.446,34,1.668,35,1.119,39,2.708,95,0.133,101,0.013,103,0.001,104,0.001,135,1.269,148,0.959,153,1.578,467,3.736,830,6.613,837,4.831,871,4.377,1853,3.201,10447,5.381,10631,8.019,18398,10.441,18400,11.526,18414,9.756,18415,11.896,18416,9.756,18417,9.756,18418,9.756,18419,9.756]],["title/modules/PseudonymModule.html",[252,1.839,5068,5.221]],["body/modules/PseudonymModule.html",[0,0.28,3,0.015,4,0.015,5,0.007,30,0.001,95,0.151,101,0.01,103,0,104,0,252,3.107,254,2.909,255,3.088,256,3.166,257,3.154,258,3.143,259,4.274,260,4.373,269,4.137,270,3.11,271,3.046,276,4.137,277,1.156,610,3.189,1027,2.475,1934,8.111,1935,6.374,1936,7.105,2029,6.061,2448,6.223,2636,3.958,3890,8.266,3900,4.268,5068,10.938,9051,9.375,10642,11.174,11352,10.894,11372,9.847,18420,8.086,18421,8.086,18422,8.086,18423,8.086,18424,11.174,18425,8.086]],["title/classes/PseudonymParams.html",[0,0.241,18391,6.113]],["body/classes/PseudonymParams.html",[0,0.42,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,47,0.893,95,0.135,101,0.013,103,0.001,104,0.001,112,0.953,190,1.81,194,4.773,195,2.67,196,3.351,197,3.395,200,3.091,202,2.319,296,3.179,299,4.756,4704,8.498,10631,7.627,12924,9.355,18391,10.662,18426,12.148,18427,10.1]],["title/interfaces/PseudonymProps.html",[159,0.712,18376,6.113]],["body/interfaces/PseudonymProps.html",[0,0.302,3,0.016,4,0.016,5,0.008,7,0.121,26,2.851,30,0.001,32,0.164,39,3.679,47,0.943,83,4.086,95,0.124,99,1.757,101,0.014,103,0.001,104,0.001,112,0.87,148,1.303,159,0.892,161,2.077,185,2.986,231,2.105,430,5.452,431,5.681,1767,6.625,1770,4.44,1883,3.273,3093,6.05,3094,6.05,10447,7.311,10631,7.932,18368,8.075,18376,9.734,18377,8.075,18378,8.075,18379,6.693]],["title/classes/PseudonymResponse.html",[0,0.241,18400,5.86]],["body/classes/PseudonymResponse.html",[0,0.322,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.512,29,0.71,30,0.001,31,0.523,32,0.163,33,0.425,34,2.149,39,3.488,47,1.012,95,0.104,101,0.012,103,0.001,104,0.001,112,0.906,190,2.253,202,2.136,242,4.91,296,3.654,433,1.143,458,3.711,871,3.423,6947,8.869,6957,7.142,10447,6.931,10640,6.825,18400,11.371,18428,9.304,18429,11.554,18430,9.304,18431,9.304,18432,8.618,18433,9.304]],["title/classes/PseudonymScope.html",[0,0.241,10672,6.113]],["body/classes/PseudonymScope.html",[0,0.25,2,0.762,3,0.013,4,0.013,5,0.006,7,0.1,8,1.119,27,0.521,29,0.952,30,0.001,31,0.7,32,0.166,33,0.57,35,1.123,39,3.085,47,0.997,49,2.717,95,0.124,101,0.009,103,0,104,0,112,0.768,122,2.305,125,3.23,129,2.136,130,1.952,148,1.093,153,1.584,231,1.69,279,2.991,365,3.204,436,3.682,569,2.242,574,4.043,614,2.237,652,2.615,773,4.782,2479,6.569,2698,2.341,6288,5.513,7007,6.491,7008,6.491,7009,6.491,7014,6.491,7015,6.491,7016,4.852,7017,4.782,7018,4.852,7019,4.852,7028,4.782,7029,6.491,7030,4.852,7031,4.782,7032,4.852,7033,4.782,7034,7.369,10447,6.132,10628,5.188,10631,6.508,10672,8.595,10675,6.332,13050,9.07,18434,7.215,18435,9.793,18436,9.07,18437,9.793,18438,7.215,18439,9.07,18440,7.215,18441,9.793,18442,7.215,18443,7.215]],["title/interfaces/PseudonymSearchQuery.html",[159,0.712,10664,5.86]],["body/interfaces/PseudonymSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,33,0.642,39,3.752,47,1.06,101,0.013,103,0.001,104,0.001,112,0.953,159,1.033,161,2.406,860,7.13,10447,7.456,10631,7.914,10664,10.221,10995,8.864,18444,10.1]],["title/injectables/PseudonymService.html",[589,0.926,11372,4.833]],["body/injectables/PseudonymService.html",[0,0.14,3,0.008,4,0.008,5,0.004,7,0.056,8,0.732,11,5.048,13,4.521,27,0.49,29,0.96,30,0.001,31,0.706,32,0.156,33,0.574,34,1.679,35,1.421,36,2.9,37,5.048,39,3.237,42,4.521,47,1.012,49,1.527,83,1.878,95,0.13,96,1.058,97,1.635,101,0.005,103,0,104,0,125,1.525,135,1.585,141,3.865,142,2.318,148,1.236,153,1.832,228,1.15,277,0.58,290,1.519,317,3.019,365,1.8,430,1.667,431,1.737,433,0.787,540,2.992,578,4.161,579,2.575,589,0.851,591,0.962,595,1.537,620,2.523,652,2.667,653,1.667,657,2.387,711,3.589,869,3.134,980,3.532,983,5.819,1312,1.91,1853,1.33,1883,1.522,2008,2.019,2219,1.817,2220,2.044,2221,1.973,2636,1.984,2698,3.875,2776,6.032,4259,2.373,4510,2.495,4825,8.353,7924,5.551,8114,5.937,8222,8.431,8311,2.553,10223,8.262,10447,2.236,10631,7.253,10637,6.064,10642,10.048,10646,5.62,10649,5.932,10650,5.388,10656,5.62,10663,5.932,10664,7.587,10666,4.916,11372,4.443,11632,2.862,13869,5.932,14087,5.932,15629,2.813,16941,5.932,18424,9.196,18445,4.054,18446,6.404,18447,6.404,18448,6.404,18449,6.404,18450,6.404,18451,6.404,18452,6.404,18453,4.054,18454,4.054,18455,6.404,18456,4.054,18457,6.404,18458,4.054,18459,4.054,18460,4.054,18461,4.054,18462,6.404,18463,4.054,18464,6.404,18465,4.054,18466,4.054,18467,4.054,18468,6.404,18469,4.054,18470,6.404,18471,4.054,18472,6.404,18473,4.054,18474,10.438,18475,4.054,18476,9.018,18477,4.054,18478,4.054,18479,6.404,18480,4.054,18481,4.054,18482,4.054,18483,6.404,18484,6.404,18485,4.054,18486,4.054,18487,4.054,18488,9.018,18489,4.054,18490,4.054,18491,4.054,18492,4.054,18493,4.054,18494,4.054,18495,4.054]],["title/injectables/PseudonymUc.html",[589,0.926,18384,5.86]],["body/injectables/PseudonymUc.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,26,2.484,27,0.4,29,0.783,30,0.001,31,0.576,32,0.127,33,0.469,35,0.886,36,2.167,39,2.145,47,0.901,95,0.151,99,1.557,101,0.01,103,0,104,0,135,1.66,142,3.713,148,0.76,153,1.25,228,2.067,277,1.105,290,2.908,317,2.49,433,1.26,478,2.165,579,2.207,589,1.363,591,1.833,610,3.048,652,2.341,657,2.804,703,2.371,1472,4.296,1780,4.658,1853,2.535,1862,7.111,1962,4.612,2066,8.126,2068,7.986,2070,4.167,2071,6.06,2680,3.549,2685,5.669,4862,5.123,4863,5.197,10631,7.677,10650,8.629,11372,9.1,11444,6.092,11445,6.092,18384,8.629,18496,7.728,18497,7.728,18498,7.728,18499,10.255,18500,7.728,18501,11.51,18502,7.728,18503,7.728,18504,7.728,18505,7.728,18506,10.255,18507,7.728,18508,6.503]],["title/injectables/PseudonymsRepo.html",[589,0.926,18424,5.86]],["body/injectables/PseudonymsRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.917,13,5.663,26,2.821,27,0.485,29,0.95,30,0.001,31,0.699,32,0.154,33,0.568,34,1.372,35,1.39,36,2.829,39,3.584,42,5.663,49,2.051,95,0.125,96,1.421,97,2.196,99,1.097,101,0.007,103,0,104,0,113,4.658,125,1.297,135,1.68,142,2.904,148,1.223,153,2.089,205,2.535,206,1.776,228,0.978,277,0.779,317,2.943,400,1.596,430,2.239,431,2.333,433,0.669,589,1.066,591,1.291,657,2.404,773,6.967,1770,4.486,1853,1.786,2446,5.709,2462,3.778,2498,3.778,3102,4.835,3644,3.469,3649,4.572,3707,4.081,4768,3.281,4782,4.179,4783,4.179,4798,3.843,10447,7.123,10631,8.019,10637,5.395,10645,7.431,10646,7.041,10647,7.431,10648,7.431,10651,6.75,10652,7.431,10654,7.431,10656,7.041,10659,7.431,10661,7.431,10668,7.431,10670,7.431,10675,7.041,10676,9.736,10679,4.581,10680,5.043,10682,4.581,10683,5.043,10685,4.778,10686,5.043,10687,6.75,10690,5.043,10691,5.043,10692,4.778,10693,5.043,10694,5.043,10695,5.043,18408,10.685,18413,8.844,18424,6.75,18509,5.444,18510,5.444,18511,5.444,18512,5.444,18513,5.444,18514,5.444,18515,5.444,18516,5.444,18517,5.444,18518,5.444,18519,5.444,18520,5.444,18521,5.444,18522,5.444,18523,5.444,18524,5.444]],["title/classes/PublicSystemListResponse.html",[0,0.241,18525,5.86]],["body/classes/PublicSystemListResponse.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.46,29,0.736,30,0.001,31,0.541,32,0.158,33,0.44,95,0.132,101,0.012,103,0.001,104,0.001,112,0.926,125,2.296,190,1.728,202,2.213,296,3.09,339,3.743,433,1.184,711,2.792,861,6.688,866,4.802,871,3.547,881,5.276,3430,5.778,6736,9.065,18525,9.936,18526,11.825,18527,11.809,18528,11.431,18529,10.938]],["title/classes/PublicSystemResponse.html",[0,0.241,18528,5.658]],["body/classes/PublicSystemResponse.html",[0,0.242,2,0.739,3,0.013,4,0.013,5,0.006,7,0.097,27,0.497,29,0.534,30,0.001,31,0.615,32,0.17,33,0.596,34,2.109,47,0.976,95,0.107,101,0.009,103,0,104,0,112,0.753,157,2.855,190,2.211,193,4.184,194,5.357,195,2.996,196,4.523,197,3.81,202,1.607,296,3.333,433,0.86,458,2.792,868,5.937,1470,6.599,2088,5.047,2109,3.067,2734,5.688,3430,6.163,5215,5.468,5394,5.519,6686,5.588,6706,4.518,11358,6.898,12501,6.772,13640,6.892,14654,7.96,15158,5.374,15160,5.374,15193,5.135,15520,5.89,15522,5.688,15524,5.89,17247,10.379,18526,12.083,18528,10.021,18530,4.942,18531,8.886,18532,9.594,18533,6.484,18534,7.001,18535,5.89,18536,7.001,18537,6.484]],["title/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.241,18538,6.451]],["body/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.326,2,0.994,3,0.017,4,0.017,5,0.008,7,0.131,8,1.33,10,4.676,27,0.367,29,0.719,30,0.001,31,0.529,32,0.116,33,0.43,35,1.08,47,1.015,55,2.799,95,0.105,101,0.012,103,0.001,104,0.001,148,0.925,159,0.963,467,3.677,507,5.61,2816,6.632,2897,8.309,2898,8.628,2900,10.629,9156,8.723,9366,10.629,9374,11.582,18538,10.779,18539,11.637,18540,8.262,18541,9.413,18542,8.719]],["title/interfaces/PushDeletionRequestsOptions.html",[159,0.712,9366,5.86]],["body/interfaces/PushDeletionRequestsOptions.html",[3,0.018,4,0.018,5,0.009,7,0.139,10,4.008,30,0.001,32,0.167,47,1.029,55,2.838,101,0.013,103,0.001,104,0.001,112,0.946,159,1.02,161,2.376,2816,5.685,2897,8.477,2898,8.801,2900,11.327,9156,7.476,9366,10.144,9374,11.815,18543,9.974,18544,9.239]],["title/interfaces/QueueDeletionRequestInput.html",[159,0.712,2824,5.346]],["body/interfaces/QueueDeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,1.035,55,2.651,101,0.013,103,0.001,104,0.001,112,0.959,159,1.043,161,2.43,193,4.45,2816,5.814,2824,9.382,2830,5.918,2897,8.541,2898,8.868,9336,8.991,9441,8.954,18545,9.45]],["title/classes/QueueDeletionRequestInputBuilder.html",[0,0.241,2904,6.113]],["body/classes/QueueDeletionRequestInputBuilder.html",[0,0.333,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,8,1.347,27,0.375,29,0.734,30,0.001,31,0.54,32,0.119,33,0.439,35,1.103,47,1.02,55,2.584,95,0.107,101,0.012,103,0.001,104,0.001,148,0.945,159,0.983,193,5.143,467,3.712,507,5.237,2816,6.72,2824,9.789,2830,6.839,2897,7.425,2898,8.692,2904,10.349,9336,8.812,9445,8.44,9446,10.922,9564,8.907,18546,10.922]],["title/interfaces/QueueDeletionRequestOutput.html",[159,0.712,2832,5.49]],["body/interfaces/QueueDeletionRequestOutput.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.161,33,0.641,47,1.031,83,3.812,101,0.013,103,0.001,104,0.001,112,0.95,159,1.028,161,2.394,193,4.383,1080,4.678,2816,5.727,2830,5.829,2832,9.547,2839,9.075,2840,8.945,9477,9.308,18545,9.308]],["title/classes/QueueDeletionRequestOutputBuilder.html",[0,0.241,2828,6.113]],["body/classes/QueueDeletionRequestOutputBuilder.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.452,29,0.885,30,0.001,31,0.652,32,0.144,33,0.53,35,1.33,47,1.014,59,3.605,83,3.862,95,0.087,101,0.01,103,0,104,0,125,1.87,135,1.021,148,1.14,159,0.803,193,5.38,467,4.015,507,4.602,652,2.359,1080,4.656,1329,4.78,2816,7.03,2828,9.094,2830,7.155,2832,10.747,2839,8.295,2840,9.144,2884,7.45,9181,9.597,9187,7.27,9190,7.27,9479,7.27,9480,9.597,9481,7.27,18546,11.425,18547,10.361,18548,10.361,18549,7.849,18550,10.361,18551,7.849,18552,7.849,18553,7.849,18554,7.849,18555,7.849,18556,7.849]],["title/modules/RabbitMQWrapperModule.html",[252,1.839,1011,4.755]],["body/modules/RabbitMQWrapperModule.html",[0,0.358,3,0.015,4,0.015,5,0.007,30,0.001,31,0.692,32,0.153,47,0.851,95,0.137,101,0.015,103,0,104,0,135,1.019,153,1.267,194,3.078,228,1.407,252,3.254,254,3.722,260,3.845,276,4.537,277,1.12,317,1.695,400,2.297,516,4.163,657,1.791,734,3.301,813,5.799,980,4.321,1011,7.065,1031,5.53,1060,5.349,1097,5.53,1237,2.269,1272,4.933,1298,8.685,1310,5.53,1311,5.122,2219,3.512,2220,3.95,2221,3.813,2222,4.933,2512,4.675,2543,4.933,2551,5.055,2557,5.268,2836,5.193,2938,4.504,3912,5.872,4999,5.746,5140,5.122,5805,6.765,7199,8.157,7472,8.892,7786,5.53,12422,6.876,14335,6.364,14684,10.818,16537,10.17,18037,8.707,18557,7.256,18558,10.733,18559,11.87,18560,7.256,18561,7.256,18562,6.876,18563,7.256,18564,7.256,18565,6.591,18566,7.256,18567,7.256,18568,7.256,18569,7.256,18570,7.256,18571,6.876,18572,7.256,18573,6.591,18574,7.256,18575,6.364,18576,6.591,18577,7.256,18578,7.256,18579,7.256]],["title/modules/RabbitMQWrapperTestModule.html",[252,1.839,1031,4.917]],["body/modules/RabbitMQWrapperTestModule.html",[0,0.354,3,0.014,4,0.014,5,0.007,8,0.881,27,0.301,30,0.001,31,0.688,32,0.152,35,0.885,47,0.845,95,0.137,101,0.015,103,0,104,0,135,1.004,153,1.247,194,3.031,228,1.385,252,3.234,254,3.684,260,3.806,276,4.502,277,1.103,317,2.216,400,2.262,516,4.099,657,1.764,734,3.251,813,5.74,980,4.254,1011,5.267,1031,7.23,1060,5.267,1097,5.445,1237,2.234,1272,4.857,1298,8.619,1310,5.445,1311,5.043,2219,3.458,2220,3.889,2221,3.754,2222,4.857,2512,4.603,2543,4.857,2551,4.978,2557,5.187,2836,5.113,2938,4.434,3912,5.782,4999,5.658,5140,5.043,5805,6.696,7199,8.074,7472,8.847,7786,5.445,12422,6.77,14335,6.267,14684,10.752,16537,11.191,18037,8.618,18557,7.145,18558,10.651,18559,11.81,18560,7.145,18561,7.145,18562,6.77,18563,7.145,18564,7.145,18565,6.49,18566,7.145,18567,7.145,18568,7.145,18569,7.145,18570,7.145,18571,6.77,18572,7.145,18573,6.49,18574,7.145,18575,6.267,18576,6.49,18577,7.145,18578,7.145,18579,7.145,18580,7.714]],["title/classes/ReadableStreamWithFileTypeImp.html",[0,0.241,18581,6.451]],["body/classes/ReadableStreamWithFileTypeImp.html",[0,0.297,2,0.907,3,0.016,4,0.016,5,0.012,7,0.12,27,0.428,29,0.656,30,0.001,31,0.482,32,0.158,33,0.553,95,0.135,101,0.011,103,0.001,104,0.001,112,0.862,135,1.429,148,0.844,231,1.895,232,2.973,233,2.662,433,1.055,435,2.95,501,4.665,571,3.399,576,5.075,1086,4.089,1087,3.963,1088,4.024,1089,4.278,1090,4.665,1237,3.182,1302,7.627,1304,7.276,2135,6.062,10458,7.955,10500,7.955,11865,6.77,14342,7.955,18581,10.175,18582,12.112,18583,8.588,18584,12.112,18585,13.194,18586,12.766,18587,10.985,18588,12.766,18589,8.588,18590,8.588,18591,8.588,18592,8.588,18593,8.588]],["title/classes/RecursiveCopyVisitor.html",[0,0.241,3628,6.113]],["body/classes/RecursiveCopyVisitor.html",[0,0.105,2,0.32,3,0.006,4,0.006,5,0.005,7,0.042,8,0.578,26,0.614,27,0.48,29,0.917,30,0.001,31,0.675,32,0.164,33,0.549,34,1.8,35,1.357,36,2.722,49,1.142,83,3.651,95,0.108,99,0.611,101,0.004,103,0,104,0,110,1.054,112,0.397,125,1.205,129,1.498,130,1.368,135,1.636,141,3.618,148,1.096,153,2.244,155,2.91,157,0.702,158,1.119,183,1.158,228,0.544,317,2.938,400,0.889,402,4.104,430,4.33,431,4.512,433,0.372,571,1.2,574,1.699,579,0.866,657,2.212,703,0.93,896,4.692,1083,1.713,1237,1.465,1562,2.39,1853,0.995,2032,4.988,2472,1.827,2608,8.46,2662,5.634,2675,4.488,2678,2.14,2796,4.065,2802,6.479,2912,1.451,2965,4.486,3066,7.305,3073,3.74,3127,4.81,3134,5.518,3137,5.595,3140,5.254,3143,5.518,3146,5.196,3149,5.315,3154,2.104,3172,4.255,3173,4.255,3174,4.255,3175,4.255,3176,4.255,3177,4.255,3178,4.255,3179,4.255,3180,4.255,3181,4.255,3305,4.254,3316,2.39,3317,2.272,3318,1.866,3319,1.728,3337,8.299,3346,4.255,3362,2.18,3411,2.808,3441,9.334,3578,1.956,3581,1.791,3583,1.791,3586,1.775,3589,1.578,3593,1.568,3598,1.699,3628,4.438,3631,5.986,3632,2.551,3633,8.366,3634,4.438,4510,6.481,6503,2.551,6666,2.395,7210,1.713,7361,6.665,7371,4.684,7372,8.793,7373,4.108,7374,4.438,7406,2.551,10016,1.846,18594,12.452,18595,3.032,18596,6.506,18597,6.506,18598,5.057,18599,5.057,18600,4.684,18601,3.032,18602,5.057,18603,3.032,18604,5.057,18605,3.032,18606,5.057,18607,3.032,18608,5.057,18609,3.032,18610,5.057,18611,3.032,18612,4.684,18613,3.032,18614,5.057,18615,3.032,18616,5.057,18617,3.032,18618,5.057,18619,3.032,18620,5.057,18621,3.032,18622,5.057,18623,3.032,18624,5.057,18625,3.032,18626,5.057,18627,3.032,18628,5.057,18629,3.032,18630,5.057,18631,3.032,18632,3.032,18633,3.032,18634,3.032,18635,7.594,18636,7.594,18637,3.032,18638,6.506,18639,10.864,18640,7.594,18641,10.528,18642,3.032,18643,3.032,18644,3.032,18645,3.032,18646,3.032,18647,5.057,18648,5.057,18649,4.684,18650,5.057,18651,4.684,18652,5.057,18653,5.057,18654,5.057,18655,7.594,18656,5.057,18657,5.057,18658,3.032,18659,3.032,18660,3.032,18661,3.032,18662,5.057,18663,3.032,18664,3.032,18665,3.032,18666,5.057,18667,3.032,18668,3.032,18669,3.032,18670,3.032,18671,3.032,18672,3.032,18673,3.032,18674,3.032,18675,3.032,18676,3.032,18677,2.808,18678,5.057,18679,5.057,18680,5.057,18681,3.032,18682,3.032,18683,4.684,18684,5.057,18685,3.032,18686,3.032]],["title/injectables/RecursiveDeleteVisitor.html",[589,0.926,3647,5.86]],["body/injectables/RecursiveDeleteVisitor.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.832,27,0.508,29,0.996,30,0.001,31,0.733,32,0.161,33,0.596,35,1.478,36,2.929,95,0.139,96,1.249,97,1.929,101,0.006,103,0,104,0,135,0.622,142,1.731,228,1.769,277,0.684,317,3.092,433,0.894,478,1.34,569,2.263,589,0.968,591,1.135,614,2.257,652,2.004,657,3.066,1237,1.385,1317,3.048,1770,2.914,1853,1.569,2006,3.816,2008,2.382,2032,6.265,2049,1.952,2446,5.352,2498,3.319,2662,5.528,2675,5.823,2831,1.915,2965,5.635,3073,4.185,3078,3.012,3127,6.042,3134,6.932,3137,7.028,3140,6.6,3143,6.932,3146,6.527,3149,6.676,3154,5.052,3159,2.164,3162,6.126,3163,6.126,3164,6.126,3165,6.126,3166,6.126,3167,6.126,3168,6.126,3169,6.126,3171,6.126,3172,6.126,3173,6.126,3174,6.126,3175,6.126,3176,6.126,3177,6.126,3178,6.126,3179,6.126,3180,6.126,3181,6.126,3467,2.56,3556,3.585,3644,3.048,3647,6.126,3649,4.149,3895,9.433,3898,2.397,3899,4.896,3901,4.43,3902,4.198,3903,4.024,6500,6.743,6503,4.024,6549,6.39,6824,7.592,7062,2.977,7340,8.349,18677,4.43,18687,12.208,18688,4.783,18689,7.28,18690,7.28,18691,4.783,18692,7.28,18693,4.783,18694,4.783,18695,7.28,18696,4.783,18697,4.783,18698,4.783,18699,4.783,18700,4.783,18701,4.783,18702,4.783,18703,4.783,18704,4.783,18705,4.783,18706,4.783,18707,4.783,18708,4.783,18709,4.783,18710,4.783,18711,4.783,18712,4.783,18713,4.783,18714,4.783,18715,4.783,18716,4.783,18717,4.783,18718,4.783,18719,4.783,18720,4.783,18721,4.783,18722,4.783,18723,4.783,18724,4.783,18725,4.783,18726,4.783,18727,7.28,18728,4.783,18729,4.783,18730,4.783,18731,4.783,18732,4.783,18733,4.783]],["title/classes/RecursiveSaveVisitor.html",[0,0.241,3673,6.113]],["body/classes/RecursiveSaveVisitor.html",[0,0.117,2,0.355,3,0.006,4,0.006,5,0.003,7,0.047,8,0.63,18,2.764,26,0.682,27,0.492,29,0.953,30,0.001,31,0.701,32,0.158,33,0.57,34,1.926,35,1.415,36,1.166,39,0.935,55,0.682,59,1.047,95,0.129,96,1.44,97,1.358,99,0.678,101,0.004,103,0,104,0,110,1.171,112,0.433,125,1.314,129,0.997,130,0.911,135,1.729,153,1.939,155,2.585,157,0.779,183,1.286,224,0.975,228,0.99,317,1.515,400,0.987,433,0.414,478,0.943,569,4.171,579,0.961,614,1.044,652,2.476,657,0.77,756,1.343,1237,1.598,1770,1.348,1829,1.443,1831,2.232,1853,1.105,2006,1.765,2032,5.672,2049,2.251,2051,1.425,2446,4.399,2455,2.201,2474,3.709,2481,2.585,2551,2.173,2662,6.358,2675,5.672,2693,2.955,2796,4.335,2912,1.612,2965,5.101,3069,4.063,3076,6.604,3078,6.381,3102,3.324,3107,2.955,3111,2.955,3116,4.841,3117,4.841,3118,4.841,3119,4.841,3120,4.841,3121,4.841,3122,4.841,3123,4.841,3124,4.841,3125,4.841,3126,4.641,3127,5.47,3129,4.641,3131,4.641,3133,4.641,3134,6.275,3136,4.841,3137,5.923,3139,4.841,3140,5.974,3142,4.641,3143,5.843,3145,4.841,3146,5.908,3148,4.641,3149,6.044,3151,4.641,3154,3.827,3467,7.347,3491,4.348,3494,4.481,3497,4.234,3500,4.348,3503,5.522,3506,4.348,3509,4.348,3512,4.348,3515,4.348,3518,4.348,3520,4.841,3556,2.524,3557,3.119,3565,3.119,3578,2.173,3581,1.99,3583,1.99,3586,1.971,3589,1.753,3593,1.741,3595,2.073,3644,2.146,3645,8.233,3649,3.143,3668,6.403,3671,3.119,3673,4.841,3899,2.264,3955,3.119,4191,3.119,4472,2.955,4473,2.955,4474,2.833,4509,3.119,5681,3.119,5682,2.955,5805,2.201,6503,2.833,6513,3.119,6516,3.119,6519,2.955,6521,3.119,6533,3.119,6535,3.119,6538,3.119,6540,3.119,6543,3.119,6549,4.841,6551,3.119,6778,2.47,6792,2.073,10685,2.955,18687,11.802,18734,3.367,18735,7.005,18736,5.515,18737,5.515,18738,5.515,18739,5.515,18740,5.515,18741,5.515,18742,3.367,18743,5.515,18744,11.266,18745,3.367,18746,3.367,18747,5.515,18748,3.367,18749,3.367,18750,5.515,18751,3.367,18752,3.367,18753,3.367,18754,3.367,18755,3.367,18756,3.367,18757,3.367,18758,3.367,18759,3.367,18760,3.367,18761,3.367,18762,11.778,18763,3.367,18764,3.367,18765,5.515,18766,5.515,18767,5.109,18768,3.367,18769,3.367,18770,11.266,18771,11.266,18772,3.367,18773,10.577,18774,3.367,18775,3.367,18776,3.367,18777,3.367,18778,3.367,18779,3.367,18780,7.005,18781,3.367,18782,3.367,18783,3.367,18784,3.367,18785,3.367,18786,3.367,18787,3.367,18788,3.367,18789,3.119,18790,3.119,18791,3.367,18792,3.367,18793,3.367,18794,3.367,18795,3.367,18796,3.367,18797,3.367,18798,3.367,18799,3.367,18800,3.367]],["title/classes/RedirectResponse.html",[0,0.241,17395,5.49]],["body/classes/RedirectResponse.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,27,0.458,29,0.729,30,0.001,31,0.536,32,0.145,33,0.436,47,0.863,95,0.106,101,0.012,103,0.001,104,0.001,110,4.082,112,0.921,157,2.21,187,7.184,190,1.711,202,2.192,290,2.785,296,3.072,433,1.173,868,4.595,1900,7.675,2258,8.441,3595,7.227,7858,7.675,17395,10.733,18255,11.775,18801,9.548,18802,11.739,18803,9.548,18804,9.548,18805,11.739,18806,9.877,18807,9.548,18808,9.548,18809,9.548]],["title/modules/RedisModule.html",[252,1.839,18810,5.86]],["body/modules/RedisModule.html",[0,0.301,3,0.016,4,0.016,5,0.008,30,0.001,47,0.814,95,0.148,101,0.011,103,0.001,104,0.001,110,3.025,125,2.072,135,1.441,148,1.089,252,3.217,254,3.129,255,3.322,256,3.406,257,3.394,258,3.381,259,4.022,260,4.116,265,6.281,269,4.336,270,3.345,271,3.277,276,4.336,277,1.244,685,5.046,686,6.255,688,4.056,1027,2.662,1080,3.016,2219,3.9,2220,4.386,2221,4.234,2447,3.636,2448,5.71,2831,4.434,4259,5.093,4262,8.058,4273,6.858,4274,9.319,4278,10.259,4279,8.058,4281,7.635,4282,8.058,4283,7.635,4284,7.635,4285,8.058,8979,9.721,18810,11.394,18811,8.7,18812,8.7,18813,8.7,18814,10.694,18815,8.7,18816,8.7]],["title/injectables/ReferenceLoader.html",[589,0.926,1912,5.658]],["body/injectables/ReferenceLoader.html",[0,0.192,3,0.01,4,0.01,5,0.005,7,0.077,8,0.931,26,2.151,27,0.414,29,0.736,30,0.001,31,0.542,32,0.151,33,0.44,35,0.934,36,1.721,49,3.631,95,0.142,99,1.12,101,0.007,103,0,104,0,112,0.639,122,1.152,129,1.646,130,1.504,135,1.06,148,0.801,153,1.559,159,0.568,185,3.871,195,1.79,228,2.362,268,7.431,277,0.795,279,2.304,317,2.085,433,1.001,579,1.587,589,1.083,591,1.318,652,2.811,657,1.862,1531,7.977,1767,4.424,1849,3.167,1852,4.813,1853,1.823,1910,9.605,1911,7.703,1912,6.616,1913,9.178,1914,9.605,1915,8.833,1916,8.683,1933,3.923,1935,4.381,1953,8.613,2636,6.682,2668,7.841,2796,5.682,3320,3.856,3555,3.541,5136,5.398,5747,8.544,6086,8.111,6712,10.166,15212,7.832,18817,5.147,18818,8.929,18819,8.144,18820,4.877,18821,8.929,18822,8.144,18823,5.557,18824,5.557,18825,7.544,18826,7.544,18827,5.557,18828,9.918,18829,7.544,18830,5.147,18831,5.147,18832,5.147,18833,5.147,18834,5.147,18835,5.147,18836,5.147,18837,5.147,18838,5.147,18839,5.147,18840,5.147,18841,5.147,18842,5.147,18843,5.147,18844,5.147,18845,5.147,18846,5.147,18847,5.147,18848,5.147,18849,5.147,18850,5.147,18851,5.147,18852,5.147,18853,5.147,18854,5.147,18855,5.147,18856,7.544]],["title/classes/ReferencedEntityNotFoundLoggable.html",[0,0.241,18857,6.451]],["body/classes/ReferencedEntityNotFoundLoggable.html",[0,0.295,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,8,1.248,26,2.775,27,0.426,29,0.65,30,0.001,31,0.478,32,0.105,33,0.389,35,0.977,47,0.99,95,0.122,101,0.011,103,0.001,104,0.001,148,0.837,205,2.593,228,2.285,339,2.497,347,6.539,433,1.342,652,2.588,1027,2.606,1115,3.24,1237,3.165,1418,7.164,1422,4.829,1423,5.624,1426,5.652,1468,5.624,1469,5.904,2860,5.495,3750,5.814,7859,6.011,9253,5.814,18857,10.119,18858,12.063,18859,8.515,18860,12.726,18861,12.726,18862,12.726,18863,8.515,18864,12.063,18865,8.515,18866,8.515,18867,8.515,18868,8.515,18869,8.515]],["title/classes/ReferencesService.html",[0,0.241,2902,6.113]],["body/classes/ReferencesService.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.011,7,0.122,8,1.273,27,0.342,29,0.67,30,0.001,31,0.493,32,0.109,33,0.401,34,1.501,35,1.006,47,1.013,95,0.098,101,0.011,103,0.001,104,0.001,135,1.592,145,3.294,148,0.863,467,3.561,628,5.237,1088,4.112,1626,4.918,1834,6.437,1835,4.509,1842,5.089,1995,6.437,2393,3.363,2816,6.347,2902,9.775,2911,7.531,4441,5.186,5200,7.129,5311,10.316,6178,5.186,6730,6.578,12157,8.549,16887,6.578,18870,8.776,18871,11.137,18872,11.137,18873,8.776,18874,8.776,18875,8.776,18876,8.776,18877,11.137,18878,8.776,18879,11.137,18880,7.702,18881,8.776,18882,8.776,18883,8.776,18884,8.776,18885,8.776,18886,6.918,18887,7.702,18888,8.776,18889,8.776,18890,8.776,18891,8.776,18892,8.776]],["title/entities/RegistrationPinEntity.html",[205,1.419,18893,5.86]],["body/entities/RegistrationPinEntity.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.18,26,2.132,27,0.485,30,0.001,32,0.154,34,1.374,47,1.018,95,0.131,96,2.098,99,1.619,101,0.013,103,0,104,0,112,0.92,122,2.433,125,1.915,129,2.38,159,0.822,190,2.232,197,2.941,205,2.145,206,2.622,221,7.889,223,4.132,224,2.328,225,4.033,229,3.17,231,1.387,232,2.175,233,2.492,458,3.205,459,5.443,702,6.399,1154,8.5,4655,4.505,9065,11.342,11267,5.488,11268,5.896,18893,8.855,18894,10.498,18895,11.97,18896,7.445,18897,9.814,18898,8.038,18899,8.038,18900,8.038,18901,8.038,18902,8.038,18903,9.237,18904,7.445,18905,7.445,18906,7.445,18907,7.445,18908,7.445,18909,7.055,18910,7.445]],["title/interfaces/RegistrationPinEntityProps.html",[159,0.712,18903,6.113]],["body/interfaces/RegistrationPinEntityProps.html",[0,0.285,3,0.015,4,0.015,5,0.007,7,0.181,26,2.546,30,0.001,32,0.161,33,0.489,34,2.149,47,1.046,95,0.132,96,2.15,99,1.659,101,0.014,103,0.001,104,0.001,112,0.931,122,2.605,125,1.962,129,2.439,159,0.842,161,1.962,197,2.302,205,2.179,223,4.058,224,2.386,225,4.097,229,3.248,231,1.421,232,2.229,233,2.553,458,3.284,459,5.53,702,6.609,1154,8.892,4655,4.616,9065,11.714,11267,5.623,11268,6.041,18893,6.929,18894,6.691,18895,7.628,18896,7.628,18897,10.266,18903,10.42,18904,7.628,18905,7.628,18906,7.628,18907,7.628,18908,7.628,18909,7.228,18910,7.628]],["title/modules/RegistrationPinModule.html",[252,1.839,9052,6.113]],["body/modules/RegistrationPinModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,252,3.297,254,3.301,255,3.504,256,3.593,257,3.58,258,3.567,259,4.535,260,4.641,265,6.367,269,4.485,270,3.529,271,3.456,276,4.485,277,1.312,610,3.619,1027,2.808,2636,4.492,9052,12.616,18894,7.455,18911,9.177,18912,9.177,18913,9.177,18914,9.177,18915,12.676,18916,11.549,18917,9.177,18918,9.177]],["title/injectables/RegistrationPinRepo.html",[589,0.926,18916,5.86]],["body/injectables/RegistrationPinRepo.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,8,1.311,27,0.447,29,0.876,30,0.001,31,0.644,32,0.142,33,0.524,35,1.055,36,2.847,47,0.919,95,0.139,96,2.401,97,3.71,101,0.012,103,0.001,104,0.001,135,1.197,148,0.904,205,1.874,228,1.652,277,1.315,317,2.704,400,2.697,433,1.13,589,1.525,591,2.182,702,5.68,2446,7.11,3644,5.861,3649,6.538,18893,7.739,18894,10.156,18916,9.652,18919,12.501,18920,9.198,18921,10.625,18922,9.198,18923,10.625,18924,9.198,18925,9.198]],["title/injectables/RegistrationPinService.html",[589,0.926,18915,6.113]],["body/injectables/RegistrationPinService.html",[0,0.329,3,0.018,4,0.018,5,0.009,7,0.132,8,1.337,27,0.456,29,0.894,30,0.001,31,0.658,32,0.145,33,0.535,35,1.09,36,2.474,47,0.932,95,0.13,101,0.012,103,0.001,104,0.001,148,0.934,228,1.706,277,1.359,317,2.744,400,2.786,433,1.167,589,1.556,591,2.254,702,4.705,2636,4.651,18894,10.306,18915,10.273,18916,11.649,18921,10.842,18923,10.842,18926,12.686,18927,9.502,18928,9.502,18929,9.502,18930,9.502,18931,9.502]],["title/interfaces/RejectRequestBody.html",[159,0.712,17380,5.658]],["body/interfaces/RejectRequestBody.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.169,33,0.657,47,1.067,55,2.579,101,0.012,103,0.001,104,0.001,112,0.922,159,0.979,161,2.28,162,6.641,165,7.775,1080,4.601,1889,10.463,6276,11.167,6277,11.167,6278,10.463,17380,9.551,18932,9.57]],["title/interfaces/RelatedResourceProperties.html",[159,0.712,16294,5.658]],["body/interfaces/RelatedResourceProperties.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,30,0.001,32,0.127,33,0.56,47,1.078,95,0.114,96,2.014,101,0.016,103,0,104,0,110,3.561,112,0.803,155,3.269,157,2.371,159,1.176,161,1.837,205,2.087,223,4.362,224,2.234,225,3.925,226,3.508,231,1.331,232,2.087,233,2.391,289,4.474,1821,3.653,2831,4.1,3056,3.712,3932,4.978,6209,4.978,6214,5.113,6223,6.887,6578,6.696,6628,5.445,7243,4.19,7571,5.113,7572,4.603,8176,4.857,16285,6.49,16286,8.321,16287,8.321,16288,8.074,16289,8.321,16294,9.952,16298,9.342,16302,6.49,16303,5.658,16304,10.307,16305,10.307,16306,8.074,16307,6.267,16308,6.49,16309,6.49,16310,6.49,16311,6.49,16312,6.49,16313,6.49,16314,6.49,16315,6.49,16316,6.49,16317,6.49,16318,6.49,16319,6.49]],["title/classes/RenameBodyParams.html",[0,0.241,3236,5.658]],["body/classes/RenameBodyParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,47,0.887,95,0.145,101,0.013,103,0.001,104,0.001,112,0.947,155,4.141,190,1.792,194,3.929,195,2.653,196,4.006,197,2.795,200,3.06,202,2.296,296,3.159,298,4.342,299,4.727,3236,9.81,8091,8.244,12651,9.262,18933,9.999,18934,9.999,18935,9.999]],["title/classes/RenameFileParams.html",[0,0.241,7281,4.833]],["body/classes/RenameFileParams.html",[0,0.476,2,0.701,3,0.012,4,0.017,5,0.008,7,0.092,26,2.54,27,0.259,30,0.001,32,0.15,39,1.843,47,1.018,95,0.143,99,1.338,101,0.017,103,0,104,0,110,2.309,112,0.726,122,1.918,157,1.537,159,0.679,190,1.191,195,1.46,199,5.103,200,2.032,201,4.475,202,1.525,203,6.221,205,1.354,296,3.72,298,2.884,299,4.907,300,4.412,403,3.391,855,5.075,856,6.4,886,3.371,899,3.035,1078,2.91,1080,2.302,1169,3.853,1237,1.924,1290,5.97,1291,4.402,1292,4.402,3011,4.865,3201,4.989,3933,3.145,4588,2.275,5260,7.622,6561,5.588,6666,3.145,6847,6.526,7210,6.506,7212,4.342,7213,7.811,7218,4.404,7232,6.132,7262,4.609,7263,4.689,7264,4.689,7269,4.609,7270,8.308,7271,8.127,7272,8.127,7273,4.689,7274,4.609,7275,4.609,7276,4.689,7277,4.535,7278,6.316,7279,4.466,7280,4.535,7281,6.419,7282,4.535,7283,4.286,7284,4.689,7285,4.689,7286,4.689,7287,4.286,7288,4.286,7289,4.402,7290,4.535,7291,4.689,18936,6.642]],["title/interfaces/RepoLoader.html",[159,0.712,18828,6.113]],["body/interfaces/RepoLoader.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.089,26,1.82,30,0.001,32,0.14,33,0.41,36,1.346,49,2.398,95,0.147,99,1.283,101,0.008,103,0,104,0,112,0.705,122,2.157,135,1.169,148,0.883,153,1.453,159,0.651,161,1.517,185,4.082,195,1.974,228,2.429,268,6.883,277,0.911,279,2.64,317,1.378,433,0.782,579,1.818,589,1.194,652,2.799,657,2.054,1531,7.346,1767,4.879,1849,3.629,1852,5.308,1853,2.089,1910,8.676,1911,6.957,1912,5.173,1913,8.29,1914,8.676,1915,7.978,1916,7.842,1933,4.495,1935,5.02,1953,7.346,2636,6.923,2668,7.221,2796,4.808,3320,4.419,3555,4.058,5136,7.899,5747,7.717,6086,5.358,6712,9.182,15212,5.173,18817,5.898,18818,5.898,18821,5.898,18825,5.898,18826,5.898,18828,10.46,18829,10.469,18830,5.898,18831,5.898,18832,5.898,18833,5.898,18834,5.898,18835,5.898,18836,5.898,18837,5.898,18838,5.898,18839,5.898,18840,5.898,18841,5.898,18842,5.898,18843,5.898,18844,5.898,18845,5.898,18846,5.898,18847,5.898,18848,5.898,18849,5.898,18850,5.898,18851,5.898,18852,5.898,18853,5.898,18854,5.898,18855,5.898,18856,8.32]],["title/classes/RequestInfo.html",[0,0.241,18937,6.113]],["body/classes/RequestInfo.html",[0,0.324,2,0.713,3,0.013,4,0.013,5,0.006,7,0.094,8,1.069,27,0.491,29,0.714,30,0.001,31,0.603,32,0.156,33,0.428,35,0.774,47,0.968,55,1.896,95,0.12,101,0.014,103,0,104,0,112,0.734,125,1.609,129,2,130,1.828,135,1.681,142,2.445,148,0.92,153,1.737,158,2.493,172,2.882,185,2.313,193,5.495,414,4.748,433,0.83,641,6.94,652,2.185,871,4.636,1081,4.611,1101,5.324,1372,3.564,1675,4.071,1743,4.856,1749,6.609,2333,6.019,2716,6.607,2831,3.746,4290,5.184,4918,5.062,6278,7.378,6302,5.184,7640,7.119,7642,4.071,12067,6.865,18206,5.927,18937,8.214,18938,6.255,18939,9.948,18940,9.948,18941,9.359,18942,8.669,18943,6.754,18944,6.754,18945,6.754,18946,6.754,18947,6.754,18948,8.669,18949,6.754,18950,11.28,18951,5.927,18952,6.255,18953,8.669,18954,5.682,18955,5.927,18956,8.669,18957,8.669,18958,6.255,18959,8.669,18960,6.255,18961,5.927,18962,6.255,18963,6.255,18964,8.669,18965,8.669,18966,8.669,18967,8.669,18968,6.255,18969,6.255,18970,6.255,18971,6.255,18972,6.255,18973,6.255,18974,6.255,18975,6.255,18976,6.255,18977,6.255,18978,6.255,18979,6.255,18980,6.255,18981,6.255,18982,6.255,18983,6.255,18984,6.255,18985,6.255]],["title/injectables/RequestLoggingInterceptor.html",[589,0.926,18986,6.451]],["body/injectables/RequestLoggingInterceptor.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,27,0.41,29,0.802,30,0.001,31,0.59,32,0.13,33,0.48,35,0.92,39,2.226,95,0.148,101,0.01,103,0,104,0,110,2.789,125,1.911,135,1.525,148,1.033,158,2.961,183,3.063,193,5.113,277,1.147,325,5.205,326,3.053,349,4.07,365,3.563,400,2.352,433,0.985,571,4.64,589,1.397,591,1.903,641,4.572,1027,2.455,1056,5.176,1057,6.323,1058,6.158,1080,2.781,1237,2.324,1329,6.401,2383,8.999,2447,4.393,2448,5.83,3282,5.394,4077,4.787,7470,6.013,7642,4.835,9817,7.43,9819,9.225,9821,9.225,9822,10.918,9823,10.918,9825,9.225,9826,9.735,12067,5.884,13775,9.225,18955,7.04,18986,9.735,18987,11.723,18988,8.022,18989,8.022,18990,8.022,18991,9.735,18992,8.022,18993,8.022,18994,8.022,18995,8.022,18996,8.022,18997,8.022,18998,7.43,18999,10.51,19000,7.43,19001,8.022]],["title/classes/ResolvedGroupDto.html",[0,0.241,12827,5.658]],["body/classes/ResolvedGroupDto.html",[0,0.29,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,27,0.532,29,0.639,30,0.001,31,0.71,32,0.174,33,0.598,34,2.046,47,0.985,95,0.133,101,0.011,103,0.001,104,0.001,112,0.848,290,1.986,433,1.029,458,3.339,1065,5.32,1148,6.427,1853,2.747,1883,3.143,2109,3.668,2184,3.314,3310,6.802,3418,5.39,10077,7.755,10085,8.605,10123,9.153,12771,9.186,12827,10.635,12916,7.045,12919,6.802,12971,9.485,12983,7.349,12984,7.045,12985,7.349,12986,7.349,12987,7.755,12988,7.755,13093,10.069,19002,12.802,19003,10.807,19004,8.373,19005,8.373,19006,8.373,19007,8.373,19008,8.373]],["title/classes/ResolvedGroupUser.html",[0,0.241,13093,5.86]],["body/classes/ResolvedGroupUser.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,27,0.495,29,0.729,30,0.001,31,0.536,32,0.157,33,0.436,95,0.131,101,0.012,103,0.001,104,0.001,112,0.921,232,3.177,290,3.016,331,5.646,433,1.173,435,3.28,1065,6.529,1853,3.132,2269,7.003,5026,9.141,5033,7.329,8114,6.905,8619,6.625,10090,6.865,13093,11.455,13119,8.38,13129,7.329,19002,12.284,19009,11.739,19010,9.548]],["title/classes/ResolvedUserMapper.html",[0,0.241,19011,6.113]],["body/classes/ResolvedUserMapper.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.34,29,0.666,30,0.001,31,0.623,32,0.108,33,0.398,34,1.491,35,1,47,0.896,95,0.124,100,3.868,101,0.011,103,0.001,104,0.001,129,2.582,130,2.359,135,1.134,148,1.09,153,1.41,290,3.144,331,5.702,467,3.55,478,2.442,578,4.57,830,6.166,837,4.317,1826,6.597,3436,6.267,3469,5.863,3470,5.7,5057,6.269,7446,7.336,8104,7.336,8123,7.083,14144,8.075,14147,8.075,16914,8.075,17788,8.075,19011,9.734,19012,11.091,19013,9.734,19014,8.718,19015,10.802,19016,8.718,19017,8.718,19018,8.718,19019,8.718,19020,8.718,19021,8.718,19022,8.718]],["title/classes/ResolvedUserResponse.html",[0,0.241,19015,5.86]],["body/classes/ResolvedUserResponse.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.536,30,0.001,31,0.46,32,0.172,34,2.144,47,1.045,83,3.676,95,0.091,101,0.014,103,0.001,104,0.001,112,0.835,190,2.466,202,1.879,296,3.795,331,5.257,430,4.869,431,5.074,700,5.729,701,5.729,1826,6.083,3436,6.083,4588,4.055,13131,6.65,19015,8.961,19023,13.906,19024,8.185,19025,8.185,19026,8.185,19027,8.185,19028,8.185,19029,8.185,19030,8.185,19031,8.185]],["title/classes/ResponseInfo.html",[0,0.241,18961,6.113]],["body/classes/ResponseInfo.html",[0,0.341,2,0.769,3,0.013,4,0.013,5,0.007,7,0.101,27,0.384,29,0.556,30,0.001,31,0.553,32,0.122,33,0.333,47,0.879,55,2.263,95,0.124,101,0.014,103,0,104,0,112,0.773,125,1.734,135,1.715,142,2.635,148,0.968,153,1.806,158,2.687,185,2.494,193,5.22,414,4.999,433,0.894,641,6.365,652,1.481,871,4.933,1081,7.625,1101,5.739,1372,3.842,1675,4.388,1743,5.235,1749,6.82,2333,4.08,2716,6.955,2831,3.944,4290,5.588,4918,5.457,6278,7.767,6302,5.588,7640,7.932,7642,4.388,12067,5.34,18206,6.389,18937,6.389,18938,6.743,18939,6.743,18940,6.743,18942,6.743,18948,6.743,18950,11.085,18951,6.389,18952,6.743,18953,9.126,18954,6.125,18955,6.389,18956,9.126,18957,9.126,18958,6.743,18959,9.126,18960,6.743,18961,8.647,18962,9.126,18963,6.743,18964,9.126,18965,9.126,18966,9.126,18967,9.126,18968,6.743,18969,6.743,18970,6.743,18971,6.743,18972,6.743,18973,6.743,18974,6.743,18975,6.743,18976,6.743,18977,6.743,18978,6.743,18979,6.743,18980,6.743,18981,6.743,18982,6.743,18983,6.743,18984,6.743,18985,6.743,19032,9.853]],["title/injectables/RestartUserLoginMigrationUc.html",[589,0.926,19033,5.86]],["body/injectables/RestartUserLoginMigrationUc.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,8,1.14,27,0.389,29,0.762,30,0.001,31,0.56,32,0.123,33,0.456,35,0.85,36,2.108,39,2.058,47,0.952,95,0.15,101,0.009,103,0,104,0,135,1.467,142,2.684,148,0.729,153,1.199,180,5.554,228,2.165,290,3.141,317,2.439,433,1.225,478,2.077,579,2.117,589,1.326,591,1.759,595,2.812,610,2.924,652,2.452,657,2.757,693,3.372,711,3.265,1027,2.269,1422,2.968,1780,4.469,1853,2.432,1862,7.038,1962,4.424,2447,5.535,2680,3.405,4588,4.13,4970,5.177,4972,6.024,4974,6.024,4975,9.505,4976,10.438,4978,6.868,4981,5.439,4982,7.184,4983,5.845,4984,7.592,4985,6.024,4986,6.507,4987,6.024,4988,6.238,4989,8.755,10477,5.439,19033,8.393,19034,11.273,19035,8.755,19036,9.975,19037,6.868,19038,6.238,19039,7.414,19040,7.414,19041,7.414,19042,6.868,19043,7.414]],["title/classes/RestrictedContextMismatchLoggable.html",[0,0.241,7063,6.113]],["body/classes/RestrictedContextMismatchLoggable.html",[0,0.286,2,0.871,3,0.015,4,0.015,5,0.007,7,0.115,8,1.223,27,0.417,29,0.63,30,0.001,31,0.464,32,0.132,33,0.377,35,0.946,47,0.873,95,0.14,101,0.011,103,0.001,104,0.001,135,1.074,148,0.811,183,5.319,228,1.923,231,1.847,233,2.558,277,1.18,339,2.42,400,2.42,433,1.014,614,3.684,652,1.679,734,3.478,1027,2.525,1115,4.523,1237,3.101,1422,4.757,1423,5.863,1426,5.585,1468,5.863,1469,6.156,1477,4.213,1478,4.386,2035,6.937,2036,4.063,2698,2.678,5927,5.137,6435,7.316,6682,6.894,7063,9.397,7065,11.008,12509,6.505,15313,9.008,19044,11.885,19045,8.253,19046,8.253,19047,8.253,19048,11.885,19049,8.253,19050,8.253,19051,10.707,19052,7.644]],["title/interfaces/RetryOptions.html",[159,0.712,4899,5.658]],["body/interfaces/RetryOptions.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.065,10,1.888,30,0.001,32,0.089,33,0.446,36,2.439,47,0.528,52,3.644,53,3.447,55,2.472,70,4.424,72,3.298,78,8.967,95,0.109,101,0.006,103,0,104,0,112,0.563,122,0.974,125,1.711,129,3.115,135,1.369,145,2.696,148,0.857,153,1.162,157,2.93,159,0.892,161,1.119,171,3.16,194,4.133,197,3.326,228,1.566,230,4.761,259,1.707,290,1.115,317,2.693,365,2.087,388,3.737,413,2.862,433,0.577,467,1.368,540,3.829,579,1.342,612,3.16,618,5.626,644,2.862,648,2.959,652,1.986,657,2.789,745,6.27,756,2.864,758,5.953,892,3.607,981,2.862,985,4.166,1027,1.438,1080,1.629,1372,2.48,1619,5.367,1626,4.025,1751,5.662,1900,3.072,1928,4.245,1939,2.497,2219,2.106,2235,3.704,2447,1.964,2448,3.366,2531,2.533,2858,6.873,2864,3.817,2938,7.55,3108,5.701,3418,5.36,3803,4.696,3811,3.115,3812,8.832,3813,6.475,3814,2.751,4886,5.835,4887,2.751,4888,2.925,4889,3.954,4890,3.954,4891,3.704,4892,6.043,4893,6.536,4894,3.704,4895,3.704,4896,6.043,4897,3.954,4898,3.954,4899,9.011,4900,8.215,4901,8.215,4902,5.835,4903,5.514,4904,3.954,4905,3.032,4906,3.607,4907,3.704,4908,3.954,4909,3.954,4910,7.716,4911,3.954,4912,8.851,4913,3.447,4914,3.954,4915,8.075,4916,3.954,4917,3.032,4918,3.522,4919,5.953,4920,3.379,4921,4.83,4922,3.522,4923,3.954,4924,3.954,4925,3.954,4926,5.07,4927,8.215,4928,3.954,4929,3.954,4930,3.522,4931,3.954,4932,8.215,4933,3.954,4934,3.954,4935,3.954,4936,8.215,4937,8.215,4938,3.704,4939,6.155,4940,3.954,4941,3.954,4942,3.954,4943,3.447,4944,3.817,4945,5.269,4946,3.704,4947,3.954,4948,3.954,4949,3.954,4950,3.954,4951,3.954,4952,5.269,4953,3.115,4954,3.704,4955,3.208,4956,3.607,4957,3.954,4958,3.954,4959,3.954,4960,3.954,4961,3.954,4962,3.954,4963,3.954,4964,3.954,4965,3.954,4966,3.954,4967,3.704,4968,3.817]],["title/classes/RevokeConsentParams.html",[0,0.241,17440,6.113]],["body/classes/RevokeConsentParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,34,2.046,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,187,6.762,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,299,4.685,308,7.227,2831,5.499,6281,8.047,17440,10.503,19053,11.967,19054,9.852,19055,9.852]],["title/classes/RichText.html",[0,0.241,19056,5.658]],["body/classes/RichText.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.475,29,0.666,30,0.001,31,0.49,32,0.174,33,0.398,47,0.815,95,0.136,101,0.011,103,0.001,104,0.001,112,0.87,157,2.567,190,1.988,202,2.002,296,3.191,403,5.663,433,1.363,821,4.451,868,5.338,886,3.512,2049,5.239,2109,3.82,2358,7.012,2393,5.192,2912,6.145,3158,9.623,3589,6.901,3771,5.152,6502,8.075,19056,10.769,19057,12.838,19058,8.718,19059,8.718,19060,8.718,19061,8.718,19062,8.718,19063,8.718,19064,7.336,19065,8.718]],["title/classes/RichTextContentBody.html",[0,0.241,6508,4.554]],["body/classes/RichTextContentBody.html",[0,0.473,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.498,27,0.31,30,0.001,31,0.679,32,0.173,47,0.947,83,1.579,95,0.124,99,1.085,101,0.017,103,0,104,0,110,1.873,112,0.624,130,3.269,155,1.719,157,2.42,190,1.427,195,1.184,200,1.648,201,3.679,202,1.237,223,1.678,231,2.015,296,3.705,299,4.958,300,4.475,339,1.579,360,3.096,854,5.011,855,3.223,886,1.705,899,2.461,1232,3.124,1749,3.069,1853,1.767,2049,4.267,2393,4.475,2721,3.737,2912,4.531,2918,6.599,3159,2.437,3201,2.524,3581,3.183,3583,3.183,3586,3.153,3589,6.08,3593,2.785,3598,3.018,4065,3.28,4086,3.28,4485,5.444,6409,5.96,6411,6.032,6413,5.96,6415,6.663,6417,6.032,6419,6.032,6467,3.475,6504,6.189,6505,6.189,6506,6.189,6507,6.189,6508,6.836,6509,6.189,6847,6.687,8010,3.521,8080,3.153,9639,6.365,9640,3.622,9642,8.22,9643,6.189,9644,6.189,9645,6.189,9646,3.622,9647,6.189,9648,3.315,9649,3.57,9650,6.189,9651,6.836,9652,3.521,9653,3.521,9654,3.521,9655,3.521,9656,3.622,9657,3.622,9658,3.622,9659,3.622,9660,3.622,9661,3.622,19066,5.386,19067,5.386,19068,5.386]],["title/classes/RichTextElement.html",[0,0.241,3146,4.287]],["body/classes/RichTextElement.html",[0,0.218,2,0.664,3,0.012,4,0.012,5,0.006,7,0.088,8,1.017,27,0.531,29,0.967,30,0.001,31,0.711,32,0.163,33,0.579,35,1.509,36,1.882,47,0.872,55,1.804,59,1.954,95,0.115,99,1.267,101,0.013,103,0,104,0,112,0.698,113,3.537,122,2.143,130,3.041,134,2.227,148,1.105,158,2.321,159,0.643,189,5.48,197,1.757,231,1.783,317,2.236,435,3.058,436,3.821,527,2.672,532,3.265,567,3.319,569,3.828,653,2.586,657,1.438,711,2.579,735,4.029,1770,3.564,1773,6.294,1842,4.068,2051,2.661,2662,5.864,2912,6.298,3058,7.93,3061,6.285,3062,6.285,3063,6.285,3064,7.348,3065,6.285,3067,3.914,3068,5.422,3069,6.519,3071,6.078,3072,5.422,3073,6.461,3075,4.363,3076,4.765,3078,6.508,3079,4.363,3083,4.363,3085,3.914,3112,5.366,3146,6.918,3589,6.945,4346,4.522,4347,4.522,4348,4.522,4357,3.914,5434,5.824,9663,4.363,19069,10.987,19070,6.288,19071,6.288,19072,6.288,19073,5.824,19074,6.288,19075,5.824,19076,6.288,19077,6.288,19078,6.288,19079,6.288,19080,8.246,19081,5.824,19082,8.246,19083,5.824,19084,5.824,19085,5.824,19086,5.519,19087,5.824]],["title/classes/RichTextElementContent.html",[0,0.241,19088,5.86]],["body/classes/RichTextElementContent.html",[0,0.37,2,0.869,3,0.015,4,0.015,5,0.007,7,0.115,27,0.463,29,0.629,30,0.001,31,0.463,32,0.165,33,0.376,34,2.03,47,0.872,95,0.14,99,1.659,101,0.014,103,0.001,104,0.001,112,0.839,190,1.917,202,1.891,296,3.643,304,4.078,433,1.459,458,3.284,821,4.205,886,2.608,1853,2.702,2109,3.608,2393,4.55,2912,6.664,2926,6.887,3197,4.408,3198,4.408,3201,3.859,3589,7.171,3759,5.623,3771,4.867,4019,6.147,4023,5.384,4025,5.384,4067,7.688,4485,6.181,6413,5.186,11572,7.628,19088,11.23,19089,11.64,19090,8.236,19091,8.236,19092,6.929,19093,6.929]],["title/classes/RichTextElementContentBody.html",[0,0.241,9647,4.554]],["body/classes/RichTextElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,6.571,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.174,6508,6.823,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.174,9646,3.607,9647,6.823,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,19094,5.364,19095,5.364]],["title/entities/RichTextElementNode.html",[205,1.419,3512,5.49]],["body/entities/RichTextElementNode.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.119,27,0.428,30,0.001,32,0.136,47,0.889,95,0.147,96,2.237,99,1.727,101,0.014,103,0.001,104,0.001,112,0.86,134,3.035,135,1.115,148,0.842,159,0.876,190,1.966,205,2.236,206,2.796,223,4.109,224,2.482,231,1.893,232,2.319,457,4.764,1770,4.391,1853,2.811,2049,4.937,2109,3.754,2662,5.223,2715,4.843,2912,6.564,3467,5.872,3477,6.546,3512,8.647,3549,5.219,3574,9.628,3589,7.23,3922,6.681,3942,5.275,4448,5.396,4450,5.396,10349,7.521,19092,7.21,19093,7.21,19096,11.207,19097,8.57,19098,9.628,19099,7.938,19100,7.938,19101,7.938]],["title/interfaces/RichTextElementNodeProps.html",[159,0.712,19098,6.113]],["body/interfaces/RichTextElementNodeProps.html",[0,0.303,3,0.016,4,0.016,5,0.008,7,0.122,30,0.001,32,0.138,47,0.945,95,0.148,96,2.286,99,1.764,101,0.014,103,0.001,104,0.001,112,0.872,134,3.101,135,1.139,148,0.861,159,0.895,161,2.086,205,2.266,223,3.809,224,2.536,231,2.109,232,2.37,457,4.868,1770,4.452,1853,2.873,2049,3.573,2109,3.836,2662,5.295,2715,4.948,2912,6.493,3467,5.953,3477,6.637,3512,6.903,3549,5.333,3574,9.761,3589,7.387,3922,7.444,3942,5.39,4448,5.514,4450,5.514,19092,7.368,19093,7.368,19096,8.111,19098,10.727,19099,8.111,19100,8.111,19101,8.111]],["title/interfaces/RichTextElementProps.html",[159,0.712,19086,6.113]],["body/interfaces/RichTextElementProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.149,36,1.796,47,0.966,95,0.134,99,1.712,101,0.015,103,0.001,104,0.001,112,0.856,122,1.762,130,2.952,134,3.009,148,1.25,158,3.137,159,0.869,161,2.024,197,2.375,231,2.079,317,1.838,527,3.611,567,4.068,569,2.641,653,3.495,657,1.943,1842,4.986,2051,3.596,2912,6.442,3058,6.576,3064,5.555,3068,5.175,3069,6.328,3072,5.175,3073,6.272,3112,7.264,3146,7.418,3589,7.4,4357,5.289,9663,5.896,19069,7.87,19080,10.106,19081,7.87,19082,10.106,19083,7.87,19084,7.87,19085,7.87,19086,9.576,19087,7.87]],["title/classes/RichTextElementResponse.html",[0,0.241,4067,5.008]],["body/classes/RichTextElementResponse.html",[0,0.356,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,27,0.498,29,0.593,30,0.001,31,0.437,32,0.172,33,0.355,34,2.186,47,0.848,95,0.137,99,1.566,101,0.013,103,0,104,0,112,0.808,190,2.203,202,1.785,296,3.603,304,3.849,433,1.418,458,3.1,821,3.969,886,2.461,1853,2.55,2109,3.406,2393,4.899,2912,6.591,2926,7.415,3196,5.082,3197,5.51,3198,5.51,3200,4.638,3201,4.824,3589,6.655,3759,5.307,3771,4.594,4019,6.636,4023,5.082,4025,5.082,4067,9.191,4485,6.655,6413,6.482,19088,10.339,19089,12.167,19092,6.54,19093,6.54,19102,7.773,19103,7.773,19104,7.773,19105,7.773,19106,7.773]],["title/classes/RichTextElementResponseMapper.html",[0,0.241,6443,6.113]],["body/classes/RichTextElementResponseMapper.html",[0,0.266,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.477,29,0.78,30,0.001,31,0.574,32,0.151,33,0.467,34,1.314,35,1.316,95,0.136,100,2.68,101,0.01,103,0,104,0,112,0.801,122,2.118,135,1,141,4.379,148,1.128,153,1.978,430,3.16,467,3.811,652,2.334,653,3.16,711,2.226,829,4.541,830,5.679,1237,2.959,1853,2.521,2049,5.538,2140,4.379,2393,2.945,2653,8.418,2656,7.842,2657,7.842,2659,7.658,2912,6.396,2926,4.457,3146,8.354,3589,4.001,4019,5.873,4028,6.744,4035,5.424,4067,8.795,4485,4.001,5597,7.117,5927,7.144,6413,4.838,6438,5.899,6443,11.727,9704,9.168,9710,6.744,9712,6.057,9713,6.057,9714,6.057,19088,8.596,19107,12.734,19108,7.684,19109,7.684,19110,7.684,19111,7.684,19112,11.477,19113,7.684]],["title/classes/RocketChatError.html",[0,0.241,1079,5.658]],["body/classes/RocketChatError.html",[0,0.196,2,0.367,3,0.006,4,0.006,5,0.003,7,0.048,27,0.322,29,0.266,30,0.001,31,0.511,32,0.127,33,0.159,34,1.555,36,2.808,39,3.591,47,1.055,51,3.976,55,1.674,72,2.603,83,1.662,87,3.614,95,0.092,101,0.011,103,0,104,0,112,0.445,122,2.021,135,1.394,148,1.319,153,1.471,159,0.733,176,4.614,185,1.192,195,0.765,228,1.018,231,0.978,277,0.498,290,1.7,317,2.874,371,3.81,379,4.192,402,2.039,433,0.696,532,1.277,540,1.155,559,1.877,567,2.673,569,1.082,571,4.509,579,2.597,589,0.753,652,2.632,657,2.23,688,1.623,702,1.724,711,3.682,725,4.001,789,3.102,809,4.686,871,3.587,890,2.377,1050,8.35,1051,7.388,1052,2.929,1053,4.894,1054,1.967,1055,6.342,1056,2.246,1057,2.744,1058,2.672,1059,4.467,1060,3.869,1061,4.35,1062,4.35,1063,4.35,1064,4.604,1065,1.714,1066,2.929,1067,2.929,1068,2.929,1069,2.929,1070,2.929,1071,2.929,1072,2.503,1073,2.929,1074,2.929,1075,2.929,1076,2.218,1077,8.203,1078,1.525,1079,4.604,1080,2.485,1081,4.894,1082,2.457,1083,1.967,1084,4.894,1085,4.768,1086,5.423,1087,5.257,1088,5.338,1089,5.674,1090,6.332,1091,7.727,1092,6.556,1093,6.031,1094,2.609,1095,2.929,1096,2.929,1097,2.457,1098,2.929,1099,2.929,1100,2.828,1101,2.744,1102,2.929,1103,5.502,1104,2.828,1105,2.929,1106,2.929,1107,2.929,1108,2.828,1109,2.929,1110,2.929,1111,2.929,1112,7.391,1113,2.929,1114,2.929,1115,1.325,1116,2.929,1117,2.929,1118,2.929,1119,2.929,1120,2.929,1121,2.929,1122,2.929,1123,2.929,1124,8.203,1125,8.203,1126,2.929,1127,2.929,1128,2.929,1129,2.929,1130,2.929,1131,2.929,1132,2.415,1133,2.929,1134,2.929,1135,2.929,1136,2.929,1137,2.929,1138,2.929,1139,2.929,1140,2.929,1141,2.929,1142,2.929,1143,2.929,1144,2.929,1145,2.929,1146,2.929,1147,4.35,1148,4.35,1149,2.929,1150,2.929,1151,2.929,1152,2.929,1153,2.929,1154,2.377,1155,2.929,1156,2.929,1157,2.929,1158,4.768,1159,2.929,1160,4.768,1161,4.768,1162,2.929,1163,2.929,1164,2.672,1165,6.031,1166,4.751,1167,4.412,1168,2.929,1169,3.287,1170,5.202,1171,4.35,1172,5.373,1173,6.031,1174,6.031,1175,6.031,1176,2.672,1177,2.929,1178,2.929,1179,2.929,1180,7.652,1181,6.031,1182,6.031,1183,6.031,1184,2.929,1185,4.768,1186,4.768,1187,2.929,1188,2.929,1189,2.929,1190,2.929,1191,2.929,1192,4.768,1193,3.756,2465,2.057,19114,5.667,19115,3.481,19116,3.481]],["title/interfaces/RocketChatGroupModel.html",[159,0.712,1064,5.658]],["body/interfaces/RocketChatGroupModel.html",[0,0.2,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.471,32,0.128,34,1.574,36,2.819,39,3.607,47,1.056,51,4.032,55,1.476,72,2.653,83,1.694,87,3.673,95,0.093,101,0.011,103,0,104,0,112,0.453,122,2.241,135,1.407,148,1.324,153,1.489,159,0.745,161,0.849,172,2.466,176,4.671,185,1.221,195,0.783,228,1.037,231,0.615,277,0.51,290,1.728,317,2.886,371,3.872,379,4.251,402,2.078,433,0.438,532,1.307,540,1.183,559,1.922,567,2.716,569,1.108,571,4.544,579,2.629,589,0.768,652,2.476,657,2.254,688,1.662,702,1.765,711,3.701,725,4.078,789,3.162,809,4.763,871,3.083,890,2.434,1050,8.434,1051,2.896,1052,2.999,1053,4.974,1054,2.014,1055,6.431,1056,2.3,1057,2.81,1058,2.736,1059,4.554,1060,3.945,1061,4.435,1062,4.435,1063,4.435,1064,5.918,1065,4.124,1066,2.999,1067,2.999,1068,2.999,1069,2.999,1070,2.999,1071,2.999,1072,2.563,1073,2.999,1074,2.999,1075,2.999,1076,5.339,1077,7.747,1078,1.562,1079,2.896,1080,2.003,1081,2.434,1082,2.516,1083,2.014,1084,2.434,1085,2.999,1086,5.465,1087,5.297,1088,5.379,1089,5.718,1090,6.378,1091,7.783,1092,6.629,1093,6.129,1094,2.672,1095,2.999,1096,2.999,1097,2.516,1098,2.999,1099,2.999,1100,2.896,1101,2.81,1102,2.999,1103,5.592,1104,2.896,1105,2.999,1106,2.999,1107,2.999,1108,2.896,1109,2.999,1110,2.999,1111,2.999,1112,7.464,1113,2.999,1114,2.999,1115,1.356,1116,2.999,1117,2.999,1118,2.999,1119,2.999,1120,2.999,1121,2.999,1122,2.999,1123,2.999,1124,8.294,1125,8.294,1126,2.999,1127,2.999,1128,2.999,1129,2.999,1130,2.999,1131,2.999,1132,2.473,1133,2.999,1134,2.999,1135,2.999,1136,2.999,1137,2.999,1138,2.999,1139,2.999,1140,2.999,1141,2.999,1142,2.999,1143,2.999,1144,2.999,1145,2.999,1146,2.999,1147,4.435,1148,4.435,1149,2.999,1150,2.999,1151,2.999,1152,2.999,1153,2.999,1154,2.434,1155,2.999,1156,2.999,1157,2.999,1158,4.861,1159,2.999,1160,4.861,1161,4.861,1162,2.999,1163,2.999,1164,2.736,1165,6.129,1166,4.829,1167,4.484,1168,2.999,1169,3.351,1170,5.276,1171,4.435,1172,5.461,1173,6.129,1174,6.129,1175,6.129,1176,2.736,1177,2.999,1178,2.999,1179,2.999,1180,7.747,1181,6.129,1182,6.129,1183,6.129,1184,2.999,1185,4.861,1186,4.861,1187,2.999,1188,2.999,1189,2.999,1190,2.999,1191,2.999,1192,4.861,1193,3.829]],["title/modules/RocketChatModule.html",[252,1.839,9053,5.658]],["body/modules/RocketChatModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,8,1.086,27,0.37,29,0.725,30,0.001,31,0.534,32,0.118,33,0.434,35,1.09,95,0.141,101,0.012,103,0.001,104,0.001,148,0.934,252,3.349,254,3.418,259,3.451,260,3.531,276,3.72,277,1.359,467,3.407,540,3.884,685,5.512,1016,8.084,1045,7.653,1048,6.594,1051,9.509,1054,5.37,1059,10.437,1108,10.306,1267,6.708,3904,7.653,9053,10.306,19117,9.502,19118,9.502,19119,7.995,19120,9.502,19121,9.502]],["title/interfaces/RocketChatOptions.html",[159,0.712,1059,5.49]],["body/interfaces/RocketChatOptions.html",[0,0.196,3,0.006,4,0.006,5,0.003,7,0.048,30,0.001,31,0.464,32,0.132,33,0.52,34,1.554,36,2.807,39,3.59,47,1.063,51,3.972,55,1.451,72,2.599,83,1.659,87,3.61,95,0.092,101,0.011,103,0,104,0,112,0.444,122,2.02,135,1.393,148,1.319,153,1.469,159,0.732,161,0.828,176,4.61,185,1.19,195,0.764,228,1.016,231,0.6,277,0.497,290,1.698,317,2.873,371,3.805,379,4.187,402,2.036,433,0.427,532,1.274,540,1.153,559,1.874,567,2.669,569,1.08,571,4.506,579,2.594,589,0.752,652,2.459,657,2.228,688,1.62,702,1.721,711,3.681,725,6.414,789,3.097,809,4.681,871,3.037,890,2.373,1050,8.344,1051,2.823,1052,2.924,1053,4.888,1054,1.964,1055,6.335,1056,2.242,1057,2.739,1058,2.667,1059,5.644,1060,6.204,1061,6.975,1062,6.975,1063,6.975,1064,4.598,1065,1.711,1066,2.924,1067,2.924,1068,2.924,1069,2.924,1070,2.924,1071,2.924,1072,2.499,1073,2.924,1074,2.924,1075,2.924,1076,2.214,1077,7.645,1078,1.522,1079,2.823,1080,1.962,1081,2.373,1082,2.453,1083,1.964,1084,2.373,1085,2.924,1086,5.42,1087,5.254,1088,5.335,1089,5.671,1090,6.329,1091,7.723,1092,6.551,1093,6.024,1094,2.605,1095,2.924,1096,2.924,1097,2.453,1098,2.924,1099,2.924,1100,2.823,1101,2.739,1102,2.924,1103,5.496,1104,2.823,1105,2.924,1106,2.924,1107,2.924,1108,2.823,1109,2.924,1110,2.924,1111,2.924,1112,7.385,1113,2.924,1114,2.924,1115,1.322,1116,2.924,1117,2.924,1118,2.924,1119,2.924,1120,2.924,1121,2.924,1122,2.924,1123,2.924,1124,8.197,1125,8.197,1126,2.924,1127,2.924,1128,2.924,1129,2.924,1130,2.924,1131,2.924,1132,2.411,1133,2.924,1134,2.924,1135,2.924,1136,2.924,1137,2.924,1138,2.924,1139,2.924,1140,2.924,1141,2.924,1142,2.924,1143,2.924,1144,2.924,1145,2.924,1146,2.924,1147,4.344,1148,4.344,1149,2.924,1150,2.924,1151,2.924,1152,2.924,1153,2.924,1154,2.373,1155,2.924,1156,2.924,1157,2.924,1158,4.762,1159,2.924,1160,4.762,1161,4.762,1162,2.924,1163,2.924,1164,2.667,1165,6.024,1166,4.745,1167,4.407,1168,2.924,1169,3.283,1170,5.197,1171,4.344,1172,5.366,1173,6.024,1174,6.024,1175,6.024,1176,2.667,1177,2.924,1178,2.924,1179,2.924,1180,7.645,1181,6.024,1182,6.024,1183,6.024,1184,2.924,1185,4.762,1186,4.762,1187,2.924,1188,2.924,1189,2.924,1190,2.924,1191,2.924,1192,4.762,1193,3.751]],["title/classes/RocketChatUser.html",[0,0.241,19122,5.49]],["body/classes/RocketChatUser.html",[0,0.268,2,0.819,3,0.014,4,0.014,5,0.007,7,0.108,8,1.175,26,2.337,27,0.53,30,0.001,32,0.096,35,0.89,39,3.408,47,0.965,51,5.909,83,3.6,95,0.115,99,1.563,101,0.013,103,0,104,0,112,0.807,113,4.085,125,2.747,148,1.29,159,0.793,185,2.657,231,1.99,430,5.05,431,5.263,435,3.532,436,3.037,532,3.771,711,2.978,735,4.653,1112,8.829,1193,8.877,1767,5.585,1770,5.114,1773,7.023,1849,4.422,3067,4.829,3085,4.829,3088,6.116,3090,6.116,3093,5.383,3094,5.383,8452,6.116,18379,5.955,19122,8.105,19123,9.824,19124,12.405,19125,7.186,19126,9.679,19127,7.758,19128,7.758,19129,7.758,19130,7.758,19131,7.758,19132,7.758,19133,7.758,19134,7.758,19135,7.758,19136,6.809,19137,7.186,19138,7.186,19139,7.186]],["title/entities/RocketChatUserEntity.html",[205,1.419,19140,5.49]],["body/entities/RocketChatUserEntity.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.158,26,2.039,27,0.472,30,0.001,32,0.15,33,0.46,34,1.284,39,3.364,47,1.005,49,4.565,51,5.834,83,2.951,95,0.135,96,2.627,97,3.03,99,1.513,101,0.013,103,0,104,0,112,0.789,125,2.887,159,0.768,190,2.173,195,2.211,196,2.492,205,2.051,206,2.451,211,4.143,219,6.259,221,5.63,223,3.938,224,2.176,225,3.856,229,2.962,231,1.296,232,2.033,233,2.329,234,5.766,235,6.32,242,3.964,243,4.73,430,3.089,431,3.219,458,2.996,459,5.204,460,4.575,461,6.87,462,4.575,463,6.87,1112,8.716,1193,8.377,4655,4.21,10632,8.467,13125,5.921,19123,9.27,19126,9.555,19140,7.932,19141,11.706,19142,7.512,19143,7.512,19144,7.512,19145,7.512,19146,8.467,19147,6.958,19148,6.958,19149,6.958,19150,9.321,19151,6.958]],["title/interfaces/RocketChatUserEntityProps.html",[159,0.712,19146,5.86]],["body/interfaces/RocketChatUserEntityProps.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.158,26,2.452,30,0.001,32,0.164,33,0.616,34,2.069,39,3.503,47,1.031,49,4.754,51,6.075,83,3.81,95,0.135,96,2.621,97,3.019,99,1.508,101,0.013,103,0,104,0,112,0.787,125,2.883,159,0.765,161,1.783,195,1.645,196,2.483,205,2.046,219,6.247,223,3.933,224,2.168,225,3.846,229,2.951,231,1.291,232,2.025,233,2.32,234,5.745,235,6.297,242,3.95,243,4.712,430,4.978,431,5.187,458,2.984,459,5.191,460,4.558,461,6.853,462,4.558,463,6.853,1112,9.076,1193,4.96,4655,4.194,13125,5.899,19123,5.489,19126,9.95,19140,5.899,19141,6.932,19146,9.529,19147,6.932,19148,6.932,19149,6.932,19150,9.297,19151,6.932]],["title/classes/RocketChatUserFactory.html",[0,0.241,19152,6.451]],["body/classes/RocketChatUserFactory.html",[0,0.176,2,0.538,3,0.009,4,0.009,5,0.005,7,0.071,8,0.872,27,0.515,29,1.018,30,0.001,31,0.714,32,0.168,33,0.581,34,1.739,35,1.431,39,1.413,47,0.561,49,2.875,51,3.674,55,2.403,59,3.387,83,2.238,95,0.102,96,1.329,97,2.054,101,0.007,103,0,104,0,112,0.599,113,4.545,127,5.097,129,3.613,130,3.301,135,0.663,148,0.501,153,1.645,157,2.119,172,3.258,185,2.615,192,2.809,205,2.22,206,2.49,228,1.371,231,1.317,326,4.835,374,3.315,430,2.094,431,2.183,433,0.626,436,3.903,467,2.222,501,7.36,502,5.655,505,4.244,506,5.655,507,5.541,508,4.244,509,4.244,510,4.244,511,4.178,512,4.675,513,5.09,514,6.902,515,5.963,516,7.149,517,2.854,522,2.831,523,4.244,524,2.854,525,5.331,526,5.484,527,4.323,528,5.16,529,4.21,530,2.831,531,2.669,532,4.195,533,2.706,534,2.669,535,2.831,536,2.854,537,5.011,538,2.831,539,7.064,540,4.048,541,6.782,542,2.854,543,4.456,544,2.831,545,2.854,546,2.831,547,2.854,548,2.831,549,3.17,550,2.981,551,2.831,552,6.261,553,2.854,554,2.831,555,4.244,556,3.873,557,4.244,558,2.854,559,2.746,560,2.706,561,2.293,562,2.831,563,2.831,564,2.831,565,2.854,566,2.854,567,1.899,568,2.831,569,1.583,570,2.854,571,3.022,572,2.831,573,2.854,1112,3.662,1193,5.06,2081,4.137,4510,3.135,7553,2.878,19119,4.284,19123,3.735,19126,6.017,19140,4.014,19146,4.284,19152,7.07,19153,5.092,19154,5.092,19155,5.092,19156,5.092,19157,5.092]],["title/classes/RocketChatUserMapper.html",[0,0.241,19158,6.113]],["body/classes/RocketChatUserMapper.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.243,27,0.424,29,0.831,30,0.001,31,0.611,32,0.135,33,0.497,34,1.86,35,1.248,39,3.02,49,3.187,51,5.237,95,0.134,96,2.209,97,3.413,101,0.011,103,0.001,104,0.001,148,1.069,153,1.945,205,2.217,430,4.475,431,4.663,467,3.913,1112,7.824,1193,8.415,1770,3.387,2498,5.871,2522,6.874,2524,6.874,4755,9.155,4758,9.155,4759,9.155,4765,9.155,4768,5.1,4782,6.495,4783,6.495,8104,7.119,10692,7.426,19122,10.779,19123,8.822,19126,8.577,19140,10.779,19158,9.55,19159,12.027,19160,8.461,19161,8.461,19162,7.837,19163,7.837,19164,8.461,19165,8.461,19166,8.461,19167,8.461,19168,8.461,19169,8.461,19170,8.461]],["title/modules/RocketChatUserModule.html",[252,1.839,9054,6.113]],["body/modules/RocketChatUserModule.html",[0,0.328,3,0.018,4,0.018,5,0.009,30,0.001,95,0.141,101,0.012,103,0.001,104,0.001,252,3.345,254,3.41,255,3.62,256,3.711,257,3.698,258,3.685,259,4.602,260,4.709,269,4.576,270,3.646,271,3.571,277,1.356,1193,6.284,2636,4.64,9054,12.528,19123,6.954,19171,9.48,19172,9.48,19173,9.48,19174,12.729,19175,11.642,19176,9.48,19177,9.48,19178,9.48,19179,9.48]],["title/interfaces/RocketChatUserProps.html",[159,0.712,19136,6.113]],["body/interfaces/RocketChatUserProps.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,26,2.634,30,0.001,32,0.165,33,0.609,39,3.607,47,1.045,51,6.256,83,4.034,95,0.119,99,1.649,101,0.014,103,0.001,104,0.001,112,0.835,125,2.82,148,1.31,159,0.837,161,1.95,185,2.804,231,2.043,430,5.346,431,5.571,1112,9.346,1193,5.425,1767,6.43,1770,4.263,1849,4.665,3093,5.68,3094,5.68,18379,6.283,19122,6.452,19123,6.004,19124,7.582,19125,7.582,19126,10.246,19136,9.347,19137,7.582,19138,7.582,19139,7.582]],["title/injectables/RocketChatUserRepo.html",[589,0.926,19175,5.86]],["body/injectables/RocketChatUserRepo.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,11,8.084,13,7.239,26,2.711,27,0.478,29,0.879,30,0.001,31,0.647,32,0.142,33,0.526,35,1.176,36,2.828,37,8.084,39,3.403,42,7.239,49,2.911,95,0.146,96,2.018,97,3.117,99,1.557,101,0.01,103,0,104,0,135,1.498,148,1.131,153,1.659,205,2.09,228,1.388,277,1.105,317,2.837,400,2.266,433,0.949,589,1.363,591,1.833,657,1.767,675,3.946,735,4.641,736,5.666,766,4.137,773,6.798,1193,8.692,2446,6.659,3644,4.925,3649,5.845,4866,5.748,19122,8.084,19123,9.358,19140,9.073,19158,6.783,19162,7.158,19163,7.158,19175,8.629,19180,12.758,19181,7.158,19182,7.728,19183,7.728,19184,7.728,19185,7.728,19186,7.728,19187,7.728,19188,7.728]],["title/injectables/RocketChatUserService.html",[589,0.926,19174,6.113]],["body/injectables/RocketChatUserService.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,11,8.589,13,7.691,26,2.772,27,0.469,29,0.919,30,0.001,31,0.676,32,0.149,33,0.55,35,1.249,36,2.685,37,8.589,39,3.024,42,7.691,95,0.142,99,1.708,101,0.011,103,0.001,104,0.001,135,1.103,148,1.071,228,1.523,277,1.213,290,2.585,317,2.604,400,2.486,433,1.042,589,1.448,591,2.011,657,1.939,711,3.896,1193,8.422,1883,3.183,2636,4.15,19122,8.589,19123,9.32,19174,9.563,19175,11.317,19189,12.706,19190,8.479,19191,8.479,19192,8.479,19193,8.479,19194,8.479,19195,8.479,19196,8.479]],["title/entities/Role.html",[205,1.419,331,3.093]],["body/entities/Role.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.11,27,0.453,30,0.001,31,0.695,32,0.129,47,0.764,95,0.13,96,2.061,101,0.013,103,0,104,0,112,0.816,129,3.08,130,2.815,135,1.513,148,0.776,153,1.999,159,1.064,190,2.085,205,2.37,206,2.576,219,5.737,223,3.853,224,2.287,225,3.986,226,3.59,229,3.114,231,1.362,232,2.137,233,2.448,331,5.706,579,2.254,693,5.622,711,2.287,874,4.622,1821,3.739,1826,6.912,2184,3.125,2946,5.568,2950,5.782,3436,6.602,4441,4.666,4664,3.556,5056,6.873,8190,6.414,10632,6.643,11652,7.797,11680,8.199,17952,6.414,17967,6.414,17972,6.414,19197,7.313,19198,7.896,19199,7.896,19200,7.896,19201,7.896,19202,9.129,19203,6.643,19204,6.643,19205,7.313,19206,6.643,19207,7.313,19208,9.634,19209,7.313,19210,8.752]],["title/classes/RoleDto.html",[0,0.241,5026,5.008]],["body/classes/RoleDto.html",[0,0.323,2,0.987,3,0.017,4,0.017,5,0.008,7,0.13,26,2.552,27,0.513,29,0.714,30,0.001,31,0.739,32,0.163,33,0.618,34,2.153,95,0.129,99,1.883,101,0.012,103,0.001,104,0.001,112,0.909,232,3.135,433,1.148,435,3.211,458,3.728,459,4.834,595,3.545,693,5.726,1826,6.471,2184,3.7,4664,4.21,5026,9.73,5056,7.001,11652,7.007,11680,7.369,19211,9.348,19212,11.587,19213,9.348,19214,9.348]],["title/classes/RoleMapper.html",[0,0.241,19215,6.113]],["body/classes/RoleMapper.html",[0,0.32,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,8,1.314,27,0.448,29,0.878,30,0.001,31,0.704,32,0.142,33,0.526,34,1.58,35,1.319,95,0.128,101,0.012,103,0.001,104,0.001,148,1.131,153,1.494,205,1.883,331,6.193,467,4.002,478,2.589,1826,4.748,4768,5.569,4769,7.284,5026,9.887,5033,7.093,19215,10.097,19216,9.24,19217,10.097,19218,9.679,19219,11.504,19220,9.24,19221,9.24,19222,9.679,19223,9.24,19224,9.24,19225,9.24,19226,8.11]],["title/modules/RoleModule.html",[252,1.839,1524,5.346]],["body/modules/RoleModule.html",[0,0.31,3,0.017,4,0.017,5,0.008,30,0.001,95,0.144,101,0.011,103,0.001,104,0.001,252,3.26,254,3.22,255,3.418,256,3.505,257,3.492,258,3.479,259,4.484,260,4.588,269,4.415,270,3.442,271,3.372,277,1.28,279,3.711,1524,11.098,5129,11.05,5150,7.532,19227,8.952,19228,8.952,19229,8.952,19230,12.112,19231,12.634,19232,8.952,19233,8.952]],["title/classes/RoleNameMapper.html",[0,0.241,14127,6.113]],["body/classes/RoleNameMapper.html",[0,0.294,2,0.897,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,27,0.425,29,0.833,30,0.001,31,0.714,32,0.135,33,0.498,35,1.251,95,0.134,101,0.011,103,0.001,104,0.001,148,1.323,331,4.845,365,3.774,467,3.917,478,2.38,579,3.115,595,3.222,830,6.065,837,4.208,1883,3.19,4970,5.534,5056,7.785,11442,7.337,11443,7.337,12486,11.778,13749,10.609,13967,8.375,14101,9.251,14127,9.576,14178,8.6,19234,12.051,19235,8.497,19236,10.106,19237,10.91,19238,8.497,19239,10.91,19240,8.497,19241,7.87,19242,7.87,19243,7.87,19244,8.497,19245,8.497,19246,8.497]],["title/interfaces/RoleProperties.html",[159,0.712,19202,6.113]],["body/interfaces/RoleProperties.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.727,32,0.146,33,0.57,47,0.776,95,0.131,96,2.111,101,0.014,103,0,104,0,112,0.829,135,1.531,148,0.795,153,1.903,159,1.081,161,1.926,205,2.398,219,5.828,223,3.667,224,2.342,225,4.049,226,3.677,229,3.189,231,1.395,232,2.188,233,2.507,331,5.75,579,2.309,693,5.888,711,2.342,874,4.734,1821,3.829,1826,7.05,2184,3.201,2946,4.328,2950,5.874,3436,6.824,4441,4.779,4664,3.642,5056,7.198,8190,6.569,11652,7.92,11680,8.329,17952,6.569,17967,6.569,17972,6.569,19197,7.49,19202,10.329,19203,6.804,19204,6.804,19205,7.49,19206,6.804,19207,7.49,19208,9.786,19209,7.49,19210,8.89]],["title/classes/RoleReference.html",[0,0.241,8120,4.755]],["body/classes/RoleReference.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,26,2.587,27,0.498,29,0.736,30,0.001,31,0.747,32,0.158,33,0.44,34,2.183,95,0.132,101,0.012,103,0.001,104,0.001,112,0.926,134,3.413,159,0.986,232,3.195,433,1.184,435,3.311,458,3.844,459,4.985,2184,3.816,3772,8.46,4664,4.342,5056,7.097,8120,9.321,19247,13.306,19248,11.809,19249,9.639]],["title/injectables/RoleRepo.html",[589,0.926,19230,5.86]],["body/injectables/RoleRepo.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,10,3.546,12,3.994,18,4.422,26,2.265,27,0.511,29,0.963,30,0.001,31,0.747,32,0.16,33,0.576,34,1.755,35,1.447,36,3.021,40,4.271,47,0.754,55,1.258,95,0.132,99,1.251,101,0.008,103,0,104,0,112,0.692,129,1.839,130,1.681,135,1.454,148,1.16,205,1.266,206,2.879,231,1.523,277,0.888,317,3.022,331,3.919,436,3.301,478,1.74,532,4.936,589,1.173,591,1.473,595,2.355,615,5.374,728,7.319,734,3.719,735,3.994,736,5.053,759,3.706,760,3.782,761,3.743,762,3.782,764,3.743,765,3.782,766,3.324,3639,7.425,3656,7.745,3998,4.384,4272,8.81,5056,7.014,5245,5.432,10706,7.169,10712,7.425,15638,5.752,19230,7.425,19250,6.21,19251,9.507,19252,7.745,19253,6.21,19254,6.21,19255,7.745,19256,6.21,19257,8.174,19258,6.21,19259,6.21,19260,8.824,19261,10.352,19262,8.824]],["title/injectables/RoleService.html",[589,0.926,5129,5.346]],["body/injectables/RoleService.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.102,8,1.127,12,4.464,26,2.672,27,0.488,29,0.914,30,0.001,31,0.673,32,0.148,33,0.547,34,1.247,35,1.373,36,2.834,40,4.774,95,0.147,99,1.469,101,0.009,103,0,104,0,135,1.716,148,1.177,205,1.486,206,2.379,228,1.31,277,1.043,279,3.024,317,3.022,331,5.319,400,2.139,433,0.896,478,2.043,589,1.311,591,1.73,595,2.766,615,4.442,657,2.739,3436,3.748,3639,8.3,3656,8.658,5026,9.481,5056,6.658,5129,7.573,5245,4.49,11442,4.904,19215,6.401,19230,10.851,19252,8.658,19255,8.658,19263,7.293,19264,11.976,19265,7.293,19266,7.293,19267,7.293,19268,7.293,19269,7.293,19270,7.293,19271,7.293,19272,7.293,19273,12.896,19274,7.293,19275,7.293,19276,7.293,19277,7.293,19278,7.293,19279,7.293,19280,7.293]],["title/injectables/RoleUc.html",[589,0.926,19231,6.113]],["body/injectables/RoleUc.html",[0,0.322,3,0.017,4,0.017,5,0.008,7,0.13,8,1.32,27,0.45,29,0.882,30,0.001,31,0.649,32,0.143,33,0.528,35,1.067,36,2.856,95,0.146,101,0.012,103,0.001,104,0.001,135,1.211,148,0.915,228,1.671,277,1.331,317,2.719,400,2.728,433,1.143,589,1.536,591,2.207,595,3.529,5026,6.69,5033,7.142,5056,7.306,5129,10.573,5150,7.828,5245,5.727,19231,10.14,19252,10.14,19255,10.14,19281,9.304,19282,9.304,19283,9.304,19284,9.304,19285,9.304]],["title/injectables/RoomBoardDTOFactory.html",[589,0.926,9811,5.658]],["body/injectables/RoomBoardDTOFactory.html",[0,0.247,3,0.009,4,0.009,5,0.004,7,0.065,8,0.814,27,0.278,29,0.544,30,0.001,31,0.487,32,0.15,33,0.326,34,1.218,35,0.533,95,0.132,99,0.937,100,3.386,101,0.006,103,0,104,0,122,1.477,135,1.797,141,4.928,148,1.275,153,1.152,155,2.274,172,3.041,195,1.566,197,1.991,228,1.28,277,0.665,290,2.995,402,3.973,430,2.931,431,3.054,433,1.064,478,1.303,589,0.947,591,1.103,595,1.763,652,2.568,653,1.912,693,2.115,896,3.961,1132,3.226,1197,3.87,1778,2.928,1793,3.082,1862,5.87,1937,2.19,2033,3.682,2049,1.897,2051,5.546,2055,3.226,2219,2.084,2220,2.345,2221,2.263,2393,4.233,2680,2.135,2957,4.671,2959,4.808,2961,7.797,2964,5.47,2966,6.229,2976,8.809,3044,3.569,3045,3.082,3325,3.569,3351,9.189,3352,5.995,3356,5.995,3359,3.912,3378,4.081,3764,3.912,3774,2.928,3777,3.912,4094,2.928,4112,5.825,4259,2.722,4866,4.855,5266,5.825,5794,3.778,7938,3.912,8467,8.618,8619,3.226,8759,4.081,9716,6.254,9717,8.024,9718,4.307,9719,10.091,9720,10.331,9724,4.307,9725,4.307,9735,4.307,9736,10.231,9738,8.809,9739,4.307,9741,4.307,9746,4.307,9748,4.307,9750,4.307,9752,4.307,9754,3.411,9755,6.254,9756,6.254,9757,4.307,9758,4.307,9759,4.081,9760,6.6,9761,4.307,9762,6.6,9763,6.6,9764,4.307,9765,4.307,9766,4.307,9767,4.307,9768,4.307,9769,4.307,9770,4.307,9771,4.307,9772,4.307,9773,4.307,9774,6.6,9775,4.081,9776,4.307,9777,4.307,9778,4.307,9779,4.307,9780,8.024,9781,4.307,9782,4.307,9783,4.307,9784,4.081,9785,4.081,9786,6.6,9787,4.307,9788,4.307,9789,4.081,9790,4.081,9791,3.912,9792,4.081,9793,4.081,9794,4.307,9795,4.307,9796,4.307,9797,4.307,9798,4.307,9799,4.307,9800,4.081,9801,4.307,9802,4.307,9803,4.307,9804,4.307,9805,4.307,9806,4.307,9807,4.307,9808,4.307,9809,3.912,9810,4.307,9811,5.789,9812,8.024,9813,4.307,9814,4.307,19286,4.65,19287,4.65,19288,4.65,19289,4.65]],["title/injectables/RoomBoardResponseMapper.html",[589,0.926,15262,5.86]],["body/injectables/RoomBoardResponseMapper.html",[0,0.196,3,0.011,4,0.011,5,0.005,7,0.079,8,0.945,27,0.444,29,0.433,30,0.001,31,0.548,32,0.133,33,0.259,34,1.668,35,0.651,95,0.133,101,0.007,103,0,104,0,112,0.649,129,3.175,130,2.901,134,2.01,135,1.755,148,1.12,153,1.986,155,2.64,277,0.812,402,2.975,430,4.013,431,4.182,478,1.59,589,1.099,591,1.346,652,2.718,829,3.354,830,4.598,837,2.81,896,5.96,1132,3.938,1937,2.673,2033,3.136,2051,5.432,2055,3.938,2393,3.739,2959,2.606,2965,4.395,3040,6.958,3042,4.474,3044,4.356,3045,3.762,3758,11.526,3761,6.958,3762,6.958,3764,4.775,3768,5.256,3774,3.573,3775,5.256,3776,5.256,3777,4.775,4027,7.66,4030,4.981,4094,3.573,4108,4.981,4866,4.635,5794,4.61,9706,4.981,9738,9.589,9754,7.157,9755,8.564,9756,8.564,9785,7.258,9789,7.258,9790,4.981,9791,4.775,9792,4.981,9793,4.981,9800,7.258,9809,4.775,15262,6.958,19290,11.897,19291,9.757,19292,9.757,19293,9.757,19294,9.757,19295,5.675,19296,9.021,19297,5.675,19298,5.675,19299,5.675,19300,5.675,19301,5.675,19302,5.675,19303,5.675,19304,5.675,19305,5.675,19306,5.675,19307,9.757,19308,5.675,19309,5.675,19310,5.675,19311,7.66,19312,5.675,19313,5.675,19314,5.675,19315,8.27,19316,5.675,19317,8.27,19318,5.675,19319,5.675,19320,5.675,19321,5.675,19322,5.675,19323,5.675,19324,5.675,19325,5.675,19326,5.675,19327,5.675,19328,5.675,19329,5.675,19330,5.675,19331,5.675,19332,5.675,19333,5.675,19334,8.27,19335,5.675,19336,5.675,19337,5.675,19338,5.675,19339,5.675,19340,8.27,19341,5.675,19342,5.675,19343,5.675,19344,5.675,19345,5.675,19346,5.675]],["title/classes/RoomElementUrlParams.html",[0,0.241,19347,6.113]],["body/classes/RoomElementUrlParams.html",[0,0.397,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.447,30,0.001,32,0.142,34,2.238,47,0.962,95,0.128,101,0.012,103,0.001,104,0.001,112,0.9,157,2.655,190,2.056,194,5.143,195,2.876,196,4.343,197,3.658,200,2.815,202,2.112,296,3.271,855,5.062,1132,8.674,2024,9.855,2049,4.681,4197,6.986,4235,7.96,6555,8.519,6557,8.519,8467,9.811,19347,10.068,19348,12.501,19349,9.198]],["title/classes/RoomUrlParams.html",[0,0.241,19350,6.113]],["body/classes/RoomUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,1132,9.001,4197,6.09,8467,9.051,19350,10.598,19351,9.999,19352,9.999]],["title/injectables/RoomsAuthorisationService.html",[589,0.926,9720,5.49]],["body/injectables/RoomsAuthorisationService.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,8,1.104,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.356,95,0.108,101,0.012,103,0,104,0,122,2.761,135,1.539,148,1.162,153,1.144,197,2.701,277,1.012,290,3.397,478,1.982,579,2.02,589,1.285,591,1.678,886,2.24,1783,4.355,1784,4.757,1838,7.703,1937,5.184,2033,5.308,2530,4.994,2957,6.376,2959,6.007,3555,4.509,5788,4.032,5800,4.222,6256,5.087,9720,7.617,9791,5.953,19353,7.075,19354,9.663,19355,9.663,19356,9.663,19357,9.663,19358,9.663,19359,7.075,19360,9.663,19361,7.075,19362,9.663,19363,7.075,19364,9.663,19365,7.075,19366,7.075,19367,9.663,19368,9.663,19369,7.075,19370,8.481,19371,7.075,19372,12.335,19373,7.075,19374,7.075,19375,7.075,19376,10.194,19377,9.663,19378,9.663,19379,8.95]],["title/controllers/RoomsController.html",[314,2.65,15265,6.113]],["body/controllers/RoomsController.html",[0,0.192,3,0.01,4,0.01,5,0.005,7,0.077,8,0.93,27,0.44,29,0.862,30,0.001,31,0.634,32,0.14,33,0.516,35,1.295,36,2.742,95,0.147,100,3.939,101,0.007,103,0,104,0,135,1.536,148,0.947,190,2.025,202,1.274,228,1.905,274,2.31,277,0.794,314,2.112,316,2.671,317,2.953,325,6.803,326,4.857,349,7.08,379,5.382,388,5.059,389,3.628,392,2.889,393,2.748,395,2.97,398,2.992,433,0.682,649,3.494,650,4.509,652,2.158,657,2.583,675,2.833,2051,3.443,3220,8.697,3240,2.852,3242,3.037,3276,8.105,3305,5.319,3318,3.416,3319,3.163,4029,3.789,4077,6.74,4866,4.56,7176,4.375,7423,4.509,7428,8.925,7646,5.14,7668,8.105,7722,8.105,8471,5.14,15261,8.105,15262,6.845,15263,8.105,15265,7.141,15270,5.14,15559,8.362,15566,5.14,17941,9.31,17946,9.31,19296,4.669,19347,9.31,19350,11.386,19380,5.55,19381,9.632,19382,9.632,19383,9.632,19384,5.55,19385,5.55,19386,5.55,19387,5.55,19388,5.55,19389,5.55,19390,5.55,19391,8.136,19392,5.55,19393,5.55,19394,8.136,19395,5.55,19396,5.55,19397,8.136,19398,5.55,19399,4.669,19400,7.536,19401,5.55,19402,5.55,19403,5.55,19404,5.55,19405,5.55,19406,5.55,19407,5.55,19408,8.136,19409,5.55,19410,5.55,19411,5.55,19412,5.55,19413,5.55,19414,7.141,19415,5.55,19416,7.141,19417,5.55,19418,5.55,19419,5.55]],["title/injectables/RoomsService.html",[589,0.926,7673,5.658]],["body/injectables/RoomsService.html",[0,0.231,3,0.012,4,0.012,5,0.006,7,0.093,8,1.062,26,2.737,27,0.416,29,0.816,30,0.001,31,0.6,32,0.143,33,0.488,34,1.143,35,1.066,36,2.44,39,2.965,95,0.151,99,1.347,101,0.009,103,0,104,0,122,1.386,135,1.676,145,2.51,148,0.914,195,1.469,228,2.179,277,0.956,279,2.772,317,2.717,433,1.142,478,1.873,589,1.235,591,1.586,652,2.672,657,2.946,1132,8.715,1853,2.194,1933,4.72,2020,9.657,2031,4.639,2032,3.951,2051,5.452,2054,5.012,2219,2.997,2220,3.371,2221,3.254,2965,3.553,2966,6.683,3283,9.657,3320,4.639,3321,5.432,4259,3.914,5517,6.193,5611,10.84,5619,6.193,5747,8.797,5748,9.415,5804,6.193,7673,7.551,9775,5.868,19420,6.686,19421,9.294,19422,9.294,19423,6.193,19424,6.686,19425,9.294,19426,6.686,19427,9.294,19428,6.686,19429,6.686,19430,9.294,19431,6.686,19432,9.294,19433,12.134,19434,6.686,19435,6.686,19436,6.686,19437,6.193,19438,6.686,19439,6.686,19440,6.686,19441,6.686,19442,6.686]],["title/injectables/RoomsUc.html",[589,0.926,15263,5.86]],["body/injectables/RoomsUc.html",[0,0.207,3,0.011,4,0.011,5,0.005,7,0.083,8,0.982,26,2.908,27,0.428,29,0.839,30,0.001,31,0.618,32,0.136,33,0.502,35,1.154,36,2.561,39,3.78,95,0.139,99,1.206,101,0.008,103,0,104,0,122,2.085,134,2.121,135,1.738,148,0.589,153,1.39,195,1.316,228,2.176,268,7.602,277,0.856,279,2.483,290,2.608,317,2.814,433,1.056,516,5.346,579,2.455,589,1.143,591,1.421,652,2.465,657,3.087,1132,8.078,1911,7.46,1998,7.929,2024,7.929,2033,4.596,2049,2.444,2051,4.927,2681,3.573,3283,9.357,4362,5.293,4465,9.648,7672,5.038,7673,10.141,7886,6.6,8467,6.444,9719,8.828,9720,8.666,9738,8.463,9759,5.256,9811,8.931,15263,7.234,19437,7.964,19443,5.988,19444,8.598,19445,8.598,19446,10.059,19447,5.988,19448,8.598,19449,5.988,19450,8.598,19451,10.059,19452,5.988,19453,5.988,19454,5.988,19455,5.988,19456,5.988,19457,10.059,19458,5.988,19459,5.988,19460,5.988,19461,8.598,19462,7.964,19463,8.598,19464,5.988,19465,5.988,19466,5.988,19467,5.988]],["title/interfaces/RpcMessage.html",[159,0.712,12347,5.221]],["body/interfaces/RpcMessage.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.151,33,0.558,47,0.748,55,2.062,101,0.016,103,0.001,104,0.001,112,0.957,159,1.248,161,2.424,231,1.756,402,3.661,532,4.794,1080,4.804,1115,5.274,10013,11.01,12347,9.147,13733,8.932,13734,9.426]],["title/classes/RpcMessageProducer.html",[0,0.241,12434,5.86]],["body/classes/RpcMessageProducer.html",[0,0.246,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,8,1.107,9,3.293,27,0.462,29,0.977,30,0.001,31,0.665,32,0.158,33,0.541,35,1.264,47,1.014,55,2.4,80,5.322,95,0.123,101,0.009,103,0,104,0,113,5.526,135,1.435,148,0.952,158,4.372,193,4.225,228,1.98,317,2.385,433,1.19,532,3.552,569,2.207,579,2.027,657,1.624,813,3.979,871,4.057,1080,3.358,1115,4.869,1272,7.806,1274,6.333,1297,5.768,1298,9.59,1310,5.012,1311,4.642,1723,7.703,1945,5.768,4305,8.957,4338,9.292,7910,5.208,10009,6.231,10011,6.576,12347,8.878,12434,8.15,12435,8.501,12436,8.501,12443,8.501,12445,8.501,12447,8.501,13733,10.88,19468,7.1,19469,7.1,19470,7.1,19471,7.1,19472,7.1,19473,7.1,19474,7.1,19475,7.1,19476,7.1,19477,7.1,19478,7.1,19479,7.1,19480,9.686,19481,7.1,19482,7.1,19483,6.576]],["title/interfaces/Rule.html",[159,0.712,1986,4.287]],["body/interfaces/Rule.html",[3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,27,0.438,29,0.857,30,0.001,31,0.631,32,0.139,33,0.513,35,1.288,59,2.764,95,0.149,101,0.011,103,0.001,104,0.001,122,2.681,159,0.909,161,2.118,183,5.2,185,4.736,290,3.349,478,2.491,532,4.994,1475,5.599,1767,4.83,1775,7.568,1838,6.769,1849,5.068,1850,6.277,1851,6.826,1852,5.255,1853,2.917,1982,7.157,1986,6.913,2619,7.157,3714,7.247,18248,7.804,19484,8.892,19485,8.892,19486,8.892]],["title/injectables/RuleManager.html",[589,0.926,1873,5.86]],["body/injectables/RuleManager.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.082,8,0.967,27,0.424,29,0.758,30,0.001,31,0.558,32,0.149,33,0.454,35,0.97,95,0.138,101,0.008,103,0,104,0,112,0.664,135,1.101,145,2.199,148,0.832,153,1.368,183,4.155,185,3.953,228,2.513,277,0.838,290,2.738,433,1.04,478,1.641,579,2.416,589,1.125,591,1.389,652,2.88,711,2.878,756,2.336,1312,2.759,1767,5.91,1775,5.955,1849,3.338,1850,4.135,1851,4.496,1852,6.43,1853,1.922,1864,10.434,1865,10.434,1866,10.434,1867,10.074,1868,9.015,1870,10.434,1871,9.155,1872,10.074,1873,7.12,1874,10.434,1875,10.434,1876,10.434,1877,10.074,1878,10.434,1879,10.434,1880,10.434,1886,9.098,1986,8.085,3555,5.392,19487,11.541,19488,5.857,19489,8.462,19490,8.462,19491,5.857,19492,9.934,19493,8.462,19494,8.462,19495,5.857,19496,8.462,19497,5.857,19498,5.857,19499,5.857,19500,5.857,19501,5.857,19502,5.857,19503,5.857,19504,5.857,19505,5.857,19506,5.857,19507,5.857,19508,5.857,19509,5.857,19510,5.857,19511,5.857,19512,5.857,19513,5.857,19514,5.857,19515,5.857,19516,5.857,19517,5.857,19518,8.462,19519,5.857,19520,5.857]],["title/injectables/S3ClientAdapter.html",[589,0.926,12577,5.109]],["body/injectables/S3ClientAdapter.html",[0,0.09,3,0.005,4,0.005,5,0.009,7,0.036,8,0.506,10,2.759,27,0.44,29,0.827,30,0.001,31,0.609,32,0.137,33,0.495,34,0.758,35,1.243,36,2.342,47,0.963,59,0.806,72,1.191,95,0.105,101,0.003,103,0,104,0,112,0.348,125,0.618,129,0.768,130,0.702,135,1.72,141,4.39,145,0.973,148,1.111,153,1.981,158,1.636,159,0.265,183,2.622,185,0.888,228,0.796,277,0.371,316,2.133,317,2.861,326,4.217,339,2.465,371,3.649,374,2.52,379,1.316,414,6.274,433,0.544,569,0.806,571,3.327,579,3.093,589,0.589,591,0.615,615,1.579,629,5.964,652,2.083,653,1.067,657,2.708,688,1.209,711,3.797,734,2.894,1027,0.794,1080,0.899,1086,3.673,1087,3.56,1088,3.615,1089,3.843,1090,4.19,1091,5.113,1092,4.618,1094,1.944,1164,3.402,1197,5.368,1302,4.289,1304,3.913,1312,2.734,1313,1.77,1314,1.902,1328,5.758,1329,6.43,1330,9.116,1343,2.182,1476,2.671,1550,2.276,1743,1.865,1930,3.187,2088,2.488,2125,4.406,2447,2.426,2448,3.218,2472,1.563,2608,3.498,2830,2.571,2831,2.323,2954,1.378,2993,4.105,3102,2.671,3362,1.865,3898,1.299,4162,7.106,4215,1.799,4703,1.563,5138,3.107,5222,3.075,5234,4.299,5247,6.894,5278,2.791,6572,2.526,7301,5.147,7302,8.62,7304,3.402,7305,3.402,7306,4.324,7309,8.085,7312,1.83,7313,1.614,7314,1.579,7315,1.579,7316,6.588,7317,6.894,7318,4.455,7319,3.322,7640,1.719,7767,1.799,8990,5.778,8999,3.729,9000,2.276,9001,3.601,9017,2.276,11523,2.044,11524,2.107,12067,7.249,12539,5.271,12546,2.276,12577,3.251,16307,2.107,18144,4.105,18146,5.376,19521,10.651,19522,2.593,19523,5.804,19524,4.432,19525,6.867,19526,5.804,19527,6.867,19528,4.432,19529,4.432,19530,5.094,19531,2.593,19532,4.432,19533,4.432,19534,2.593,19535,4.432,19536,2.593,19537,4.432,19538,2.593,19539,2.593,19540,4.432,19541,2.593,19542,4.432,19543,2.593,19544,2.593,19545,2.593,19546,2.593,19547,4.432,19548,2.593,19549,4.432,19550,2.593,19551,4.432,19552,2.593,19553,4.432,19554,2.593,19555,6.867,19556,4.432,19557,2.593,19558,4.432,19559,4.432,19560,4.432,19561,4.432,19562,2.593,19563,5.804,19564,2.593,19565,5.376,19566,2.402,19567,2.593,19568,2.593,19569,2.593,19570,2.593,19571,2.593,19572,2.276,19573,11.841,19574,8.981,19575,2.593,19576,2.593,19577,2.593,19578,2.593,19579,2.593,19580,2.593,19581,2.593,19582,2.593,19583,4.432,19584,6.867,19585,2.593,19586,2.593,19587,4.432,19588,2.593,19589,2.593,19590,2.593,19591,2.593,19592,2.593,19593,4.432,19594,4.432,19595,4.432,19596,3.601,19597,4.432,19598,2.593,19599,2.593,19600,2.593,19601,4.432,19602,2.593,19603,2.593,19604,2.593,19605,2.593,19606,2.593,19607,2.593,19608,2.593,19609,2.593,19610,2.593,19611,2.593,19612,2.593,19613,2.593,19614,5.804,19615,2.593,19616,4.715,19617,2.593,19618,4.432,19619,2.593,19620,4.432,19621,2.593,19622,2.593,19623,2.593,19624,4.432,19625,2.593,19626,2.044,19627,2.593,19628,2.593,19629,2.593,19630,2.593,19631,2.593,19632,2.593,19633,4.432,19634,4.432,19635,2.593,19636,4.432,19637,2.593,19638,2.593,19639,2.593,19640,2.593,19641,2.593,19642,2.593,19643,5.804,19644,2.593,19645,4.432,19646,2.593,19647,2.593,19648,2.593,19649,2.593,19650,2.593,19651,2.593]],["title/modules/S3ClientModule.html",[252,1.839,12413,5.008]],["body/modules/S3ClientModule.html",[0,0.285,3,0.015,4,0.015,5,0.007,8,0.941,27,0.321,29,0.629,30,0.001,31,0.463,32,0.102,33,0.376,35,0.944,95,0.145,101,0.011,103,0.001,104,0.001,135,1.635,148,1.051,153,1.729,159,0.842,195,2.35,252,3.134,254,2.962,259,4.312,260,3.06,265,4.96,276,3.224,277,1.178,467,3.112,685,4.777,686,5.922,688,3.84,1016,7.566,1027,2.52,2088,5.089,2233,6.512,2447,4.469,2448,6.254,7302,8.015,7306,8.2,7308,7.3,7310,7.3,7311,7.3,8990,9.99,8999,6.929,9000,7.228,9001,8.687,9030,7.628,9032,7.628,9033,6.173,12325,7.228,12413,8.537,12577,6.041,14751,7.628,18050,7.228,19521,9.904,19652,10.692,19653,8.236,19654,8.236,19655,8.236,19656,8.236,19657,8.236,19658,8.236,19659,8.236]],["title/interfaces/S3Config.html",[159,0.712,7306,4.386]],["body/interfaces/S3Config.html",[3,0.015,4,0.015,5,0.01,7,0.115,30,0.001,32,0.165,47,1.089,55,2.411,95,0.092,101,0.017,103,0.001,104,0.001,112,0.841,125,2.554,159,1.366,161,1.97,339,3.144,414,5.439,1302,6.613,1304,4.713,1444,4.597,2233,7.665,5234,5.132,6572,4.713,7301,6.199,7302,6.199,7303,6.519,7304,6.348,7305,6.348,7306,6.751,7307,9.434,7308,8.594,7309,8.594,7310,8.594,7311,8.594,7312,5.838,7313,5.147,7314,5.036,7315,5.036,7316,6.066,7317,8.23,7318,8.23,7319,6.199]],["title/interfaces/S3Config-1.html",[159,0.592,756,2.309,7306,3.646]],["body/interfaces/S3Config-1.html",[3,0.018,4,0.018,5,0.009,7,0.137,30,0.001,32,0.17,47,1.08,101,0.013,103,0.001,104,0.001,112,0.936,159,1.003,161,2.335,2233,8.151,7306,7.513,7308,9.138,7309,9.138,7310,9.138,7311,9.138,12521,7.728,12522,7.728,19660,9.804]],["title/classes/SanisAnschriftResponse.html",[0,0.241,19661,6.113]],["body/classes/SanisAnschriftResponse.html",[0,0.425,2,1.088,3,0.019,4,0.019,5,0.009,7,0.144,27,0.402,30,0.001,32,0.128,33,0.562,47,0.904,95,0.115,101,0.013,103,0.001,104,0.001,112,0.965,190,1.848,200,3.154,299,4.814,300,4.712,1203,9.046,18530,7.276,19661,10.792,19662,8.842,19663,11.39,19664,13.142,19665,8.672]],["title/classes/SanisGeburtResponse.html",[0,0.241,19666,6.113]],["body/classes/SanisGeburtResponse.html",[0,0.425,2,1.088,3,0.019,4,0.019,5,0.009,7,0.144,27,0.402,30,0.001,32,0.128,33,0.562,47,0.904,95,0.115,101,0.013,103,0.001,104,0.001,112,0.965,190,1.848,200,3.154,299,4.814,300,4.712,442,8.374,18530,7.276,19662,8.842,19665,8.672,19666,10.792,19667,11.39,19668,13.142]],["title/classes/SanisGruppeResponse.html",[0,0.241,19669,6.113]],["body/classes/SanisGruppeResponse.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.494,30,0.001,32,0.164,34,2.167,47,0.972,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.272,200,2.901,299,5.319,899,4.332,1065,4.667,14451,11.738,18530,6.692,19662,9.512,19665,7.976,19669,10.258,19670,12.253,19671,12.672,19672,9.48,19673,11.738,19674,11.688,19675,9.48,19676,6.692]],["title/classes/SanisGruppenResponse.html",[0,0.241,19677,5.658]],["body/classes/SanisGruppenResponse.html",[0,0.42,2,0.91,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,30,0.001,32,0.17,33,0.503,95,0.147,101,0.011,103,0.001,104,0.001,112,0.864,190,2.175,195,1.895,200,2.639,300,4.221,871,4.465,1232,5.003,2531,4.65,6317,6.389,6847,6.894,12632,8.567,13033,10.388,18530,6.088,19662,9.194,19669,11.223,19670,11.844,19676,8.567,19677,8.949,19678,11.844,19679,11.844,19680,12.136,19681,10.203,19682,7.989,19683,11.223,19684,7.989,19685,8.625,19686,7.989,19687,8.625,19688,7.989,19689,7.989]],["title/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.241,19683,6.113]],["body/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.416,2,1.048,3,0.018,4,0.018,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,33,0.549,95,0.134,101,0.013,103,0.001,104,0.001,112,0.943,190,1.779,195,2.642,200,3.037,300,4.606,331,4.408,899,4.535,1065,4.886,2531,6.481,6317,6.972,18530,7.006,19662,8.643,19676,7.006,19679,11.134,19683,10.55,19690,11.349,19691,11.349,19692,9.193,19693,9.193,19694,9.193]],["title/classes/SanisNameResponse.html",[0,0.241,19695,6.113]],["body/classes/SanisNameResponse.html",[0,0.418,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,27,0.471,30,0.001,31,0.729,32,0.15,47,0.991,95,0.112,101,0.013,103,0.001,104,0.001,112,0.949,190,2.168,200,3.068,299,5.404,18530,7.076,19662,9.338,19693,9.285,19695,10.614,19696,12.986,19697,12.986,19698,10.024]],["title/classes/SanisOrganisationResponse.html",[0,0.241,19699,6.113]],["body/classes/SanisOrganisationResponse.html",[0,0.425,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,27,0.503,30,0.001,31,0.69,32,0.168,33,0.512,34,2.101,47,1,95,0.137,101,0.011,103,0.001,104,0.001,112,0.878,190,2.314,200,2.709,299,5.408,300,4.292,871,3.257,1232,5.135,6847,6.038,12632,7.906,18530,6.249,18535,7.449,19661,11.331,19662,9.576,19663,11.958,19676,6.249,19699,9.829,19700,12.335,19701,12.285,19702,8.2,19703,8.853,19704,8.853,19705,8.2]],["title/classes/SanisPersonResponse.html",[0,0.241,19706,6.113]],["body/classes/SanisPersonResponse.html",[0,0.434,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.449,30,0.001,31,0.737,32,0.167,33,0.526,95,0.146,101,0.012,103,0.001,104,0.001,112,0.904,190,2.065,200,2.834,300,4.415,871,4.239,1232,5.372,6847,6.761,12632,8.852,18530,6.538,18535,7.792,19662,9.017,19666,11.516,19667,12.153,19676,8.133,19681,8.578,19684,8.578,19695,11.516,19702,8.578,19706,10.111,19707,11.006]],["title/classes/SanisPersonenkontextResponse.html",[0,0.241,19708,6.113]],["body/classes/SanisPersonenkontextResponse.html",[0,0.4,2,0.822,3,0.014,4,0.014,5,0.007,7,0.108,27,0.479,30,0.001,32,0.166,33,0.471,34,1.976,47,0.757,95,0.146,101,0.01,103,0,104,0,112,0.809,125,2.455,190,2.204,195,2.265,200,2.383,299,4.036,300,3.95,331,3.459,871,4.251,899,3.559,1232,4.518,1373,4.743,2531,4.199,6317,5.979,6842,8.126,6847,6.23,7510,7.995,12632,7.277,18530,5.498,18533,7.214,18535,6.553,19662,9.197,19676,8.681,19677,9.99,19678,11.39,19699,10.793,19700,11.39,19705,7.214,19708,9.047,19709,11.848,19710,11.554,19711,7.788,19712,7.788,19713,7.788,19714,7.214,19715,7.214,19716,7.214,19717,7.788,19718,10.702,19719,10.308,19720,6.836,19721,9.047,19722,11.39,19723,9.548]],["title/injectables/SanisProvisioningStrategy.html",[589,0.926,18269,5.86]],["body/injectables/SanisProvisioningStrategy.html",[0,0.301,3,0.009,4,0.009,5,0.004,7,0.065,8,0.82,27,0.464,29,0.881,30,0.001,31,0.648,32,0.137,33,0.527,34,0.803,35,1.323,36,1.841,95,0.148,100,1.637,101,0.006,103,0,104,0,110,1.632,113,2.851,122,1.488,125,2.324,135,1.646,148,0.959,153,1.409,158,1.733,185,1.608,189,2.889,195,1.031,197,1.312,200,1.436,228,1.752,231,1.238,277,0.671,317,2.574,338,4.418,339,1.376,357,3.603,411,3.518,433,0.882,436,2.574,569,2.23,579,2.049,589,0.954,591,1.113,595,1.78,652,2.671,657,2.231,688,2.188,871,3.868,983,3.029,1053,7.876,1054,2.652,1056,3.029,1065,2.311,1169,2.722,1213,2.991,1231,4.119,1232,2.722,1312,3.38,1359,3.813,1472,2.609,1475,2.955,1476,2.829,1613,3.949,1675,2.829,1850,3.313,2084,3.111,2088,2.012,2114,6.265,2358,2.698,2382,5.657,2617,2.921,3310,3.813,3430,3.116,4029,3.204,4329,5.83,4863,3.156,5056,2.609,5271,4.519,6304,3.518,7510,6.373,10075,5.379,10105,5.264,11257,7.712,12115,3.603,12738,4.347,12786,7.692,13035,4.119,13590,6.038,13781,7.927,13785,7.078,14382,5.199,14384,5.657,14386,3.813,14387,7.56,14391,5.83,14392,7.314,14395,5.423,14396,2.955,14397,2.955,14409,4.347,14416,7.078,14418,6.038,14420,6.038,14421,4.119,17279,7.647,17731,9.665,17786,4.347,17861,7.647,17863,4.347,17865,4.347,17869,4.119,17870,4.347,17876,4.347,18269,6.038,18270,8.21,19676,5.066,19677,5.83,19720,8.564,19721,4.119,19722,4.347,19723,4.347,19724,4.693,19725,7.176,19726,7.176,19727,7.176,19728,7.176,19729,8.07,19730,4.693,19731,7.176,19732,4.693,19733,7.176,19734,10.799,19735,4.693,19736,4.693,19737,4.693,19738,7.176,19739,4.693,19740,8.713,19741,7.176,19742,4.693,19743,4.119,19744,4.693,19745,4.693,19746,4.693,19747,4.693,19748,4.693,19749,4.693,19750,4.693,19751,4.693,19752,7.176,19753,4.693,19754,4.693,19755,7.176,19756,4.693,19757,4.693,19758,4.693,19759,4.693,19760,4.693,19761,4.693,19762,7.176,19763,4.693,19764,9.757,19765,6.647,19766,4.693,19767,4.693,19768,4.693,19769,4.693,19770,4.693,19771,4.693,19772,4.693,19773,4.693,19774,4.693,19775,4.693,19776,4.693,19777,4.693,19778,4.693]],["title/classes/SanisResponse.html",[0,0.241,19734,5.86]],["body/classes/SanisResponse.html",[0,0.42,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,30,0.001,32,0.167,47,0.811,95,0.147,101,0.011,103,0.001,104,0.001,112,0.865,125,2.059,190,2.178,195,1.899,200,2.645,299,4.318,871,4.47,1232,5.014,1373,5.264,2531,4.66,6317,6.398,6842,6.813,6847,6.55,7510,7.357,12632,7.786,19676,8.576,19686,8.006,19706,11.231,19707,11.231,19708,11.231,19709,8.006,19714,8.006,19715,8.006,19716,8.006,19720,7.586,19721,10.662,19734,9.281,19779,8.643,19780,12.148,19781,12.148,19782,8.643,19783,8.643,19784,8.643,19785,8.643,19786,8.643,19787,8.643]],["title/injectables/SanisResponseMapper.html",[589,0.926,18270,5.86]],["body/injectables/SanisResponseMapper.html",[0,0.17,3,0.009,4,0.021,5,0.004,7,0.069,8,0.85,27,0.471,29,0.895,30,0.001,31,0.694,32,0.149,33,0.536,35,1.295,47,0.362,95,0.131,100,1.717,101,0.006,103,0,104,0,112,0.584,125,2.876,127,3.73,129,1.458,130,1.332,135,1.688,142,4.751,148,1.258,153,1.737,228,0.884,277,0.704,290,2.128,400,1.444,433,0.605,589,0.989,591,1.168,595,1.867,652,2.514,700,2.383,701,2.383,704,4.581,711,2.599,829,2.91,871,1.812,1027,1.507,1065,5.56,1078,2.157,1422,1.971,2447,4.721,3282,3.311,3436,2.53,4866,6.768,5056,5.97,5223,3.138,7510,5.158,10075,8.791,10078,7.875,10083,9.744,10085,5.351,10088,4.143,10098,3.362,10105,7.335,10107,4.866,10477,3.611,10947,4.56,11257,7.335,11258,3.779,11442,5.005,11443,5.005,12870,4.143,12872,4.143,12874,4.143,13029,4.321,13033,8.724,13035,4.321,13967,5.713,14101,6.888,14366,6.893,14367,6.893,16081,4.56,17585,4.56,18270,6.262,19673,4.56,19677,8.724,19690,4.321,19691,4.321,19718,4.56,19734,11.337,19765,6.893,19788,12.361,19789,8.972,19790,7.442,19791,7.442,19792,7.442,19793,7.442,19794,7.442,19795,7.442,19796,4.924,19797,7.442,19798,4.924,19799,7.442,19800,7.442,19801,4.924,19802,7.442,19803,7.442,19804,4.924,19805,7.442,19806,4.924,19807,4.924,19808,4.924,19809,4.924,19810,4.924,19811,4.924,19812,4.924,19813,4.924,19814,4.924,19815,4.924,19816,4.924,19817,4.924,19818,4.924,19819,4.924,19820,4.924,19821,4.924,19822,4.924,19823,4.924,19824,4.924,19825,4.924,19826,4.924,19827,4.924,19828,4.924,19829,4.924,19830,4.924,19831,4.924,19832,4.924,19833,8.972,19834,4.924,19835,4.924,19836,4.56,19837,4.924,19838,4.924,19839,4.924,19840,4.924,19841,4.924,19842,7.442,19843,4.924,19844,4.924,19845,4.924,19846,4.924,19847,4.924,19848,4.924]],["title/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.241,13033,5.658]],["body/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.456,30,0.001,32,0.145,33,0.534,47,0.859,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.095,195,2.569,200,2.901,299,4.961,300,4.479,331,4.21,899,4.332,1065,4.667,2531,6.302,6317,6.78,13033,9.496,18530,6.692,19662,9.112,19665,7.976,19676,6.692,19682,8.781,19688,11.738,19689,11.738,19690,11.122,19691,11.122,19692,8.781,19694,8.781,19836,11.738]],["title/classes/SaveH5PEditorParams.html",[0,0.241,12635,5.221]],["body/classes/SaveH5PEditorParams.html",[0,0.461,2,0.8,3,0.014,4,0.014,5,0.007,7,0.106,26,2.052,27,0.296,30,0.001,32,0.094,47,0.979,95,0.148,99,1.528,101,0.017,103,0,104,0,112,0.794,131,5.17,158,3.738,190,1.359,200,2.32,202,1.741,205,1.545,296,3.736,298,3.293,299,4.464,300,3.88,326,4.339,478,2.124,855,5.281,856,7.251,886,3.852,899,3.465,1195,5.014,1198,6.872,1240,7.708,2164,3.517,3201,5.702,3933,3.591,4582,9.45,4585,8.752,6389,5.261,6567,7.454,6617,4.321,6663,8.307,6666,3.591,8091,6.914,11710,4.439,12589,6.62,12627,5.684,12628,5.977,12632,7.148,12633,5.684,12634,5.684,12635,7.59,12636,5.821,12637,5.977,12638,5.684,12639,5.977,19849,7.582]],["title/interfaces/ScanResult.html",[159,0.712,1290,4.494]],["body/interfaces/ScanResult.html",[3,0.017,4,0.017,5,0.008,7,0.131,30,0.001,32,0.156,33,0.631,47,1.069,55,1.912,101,0.016,103,0.001,104,0.001,112,0.914,122,2.813,159,1.293,161,2.248,1080,4.578,1260,7.665,1268,7.174,1270,9.468,1272,7.338,1274,7.62,1283,6.661,1287,8.281,1288,7.939,1289,7.665,1290,7.521,1291,8.754,1292,8.754]],["title/classes/ScanResultDto.html",[0,0.241,11943,5.86]],["body/classes/ScanResultDto.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.498,29,0.738,30,0.001,31,0.543,32,0.158,33,0.441,47,0.869,95,0.108,101,0.012,103,0.001,104,0.001,112,0.928,205,1.969,232,3.2,402,4.597,433,1.187,435,3.319,2127,5.656,2128,6.597,7206,8.726,7218,6.34,11849,8.726,11852,7.243,11853,7.243,11943,11.494,19850,13.317,19851,9.662,19852,11.826,19853,9.662]],["title/classes/ScanResultParams.html",[0,0.241,7279,4.684]],["body/classes/ScanResultParams.html",[0,0.472,2,0.666,3,0.012,4,0.017,5,0.008,7,0.088,26,2.498,27,0.403,30,0.001,32,0.157,33,0.563,39,1.751,47,1.017,95,0.141,99,1.271,101,0.017,103,0,104,0,110,2.193,112,0.7,122,2.146,157,1.46,159,0.645,190,1.856,195,1.386,199,4.921,200,1.93,201,4.375,202,1.448,203,6,205,1.285,296,3.696,298,2.739,299,4.827,300,4.313,403,3.221,855,4.992,856,6.257,886,3.278,899,2.883,1078,2.764,1080,3.589,1169,3.659,1237,2.584,1290,6.681,1291,6.862,1292,6.862,3011,4.731,3201,4.851,3933,2.987,4588,2.161,5260,6.519,6666,2.987,6847,6.403,7210,6.36,7212,4.124,7213,7.663,7218,5.358,7232,7.46,7262,4.377,7263,4.453,7264,4.453,7269,4.377,7270,8.172,7271,7.945,7272,7.945,7273,4.453,7274,4.377,7275,4.377,7276,4.453,7277,4.307,7278,6.092,7279,6,7280,4.307,7281,4.377,7282,4.307,7283,4.071,7284,4.453,7285,4.453,7286,4.453,7287,4.071,7288,4.071,7289,4.181,7290,4.307,7291,4.453,19854,10.353,19855,6.308,19856,6.308,19857,6.308]],["title/controllers/SchoolController.html",[314,2.65,15325,6.113]],["body/controllers/SchoolController.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,27,0.344,29,0.674,30,0.001,31,0.496,32,0.127,33,0.403,35,1.012,36,2.362,95,0.141,100,2.166,101,0.008,103,0,104,0,130,3.024,135,1.454,148,0.867,157,2.587,190,1.582,202,1.426,228,1.115,274,2.585,277,0.888,314,2.363,316,2.989,317,2.654,325,6.248,326,4.668,349,6.402,379,6.223,388,4.399,390,6.009,392,3.233,395,3.324,398,3.348,400,1.821,533,4.69,540,4.509,657,2.018,703,3.149,711,3.553,1883,2.331,2615,5.85,2617,8.026,2918,4.987,3036,2.91,3240,3.191,3242,3.399,3430,5.697,4049,7.89,4064,4.655,4065,3.782,4077,5.266,4086,5.374,4866,6.264,5146,6.774,5655,7.745,7211,4.008,15321,8.636,15325,7.745,18296,7.246,18299,9.809,18395,7.381,18397,7.381,19858,6.21,19859,8.636,19860,10.264,19861,6.21,19862,11.074,19863,8.824,19864,8.824,19865,5.752,19866,8.824,19867,6.21,19868,6.21,19869,8.824,19870,6.21,19871,6.21,19872,6.21,19873,7.425,19874,9.009,19875,6.614,19876,8.339,19877,9.507,19878,7.745,19879,5.225,19880,5.451,19881,6.21,19882,6.21,19883,6.21,19884,8.824,19885,8.824,19886,6.21,19887,7.745,19888,8.174,19889,8.824,19890,6.21]],["title/entities/SchoolEntity.html",[205,1.419,692,3.247]],["body/entities/SchoolEntity.html",[0,0.294,3,0.008,4,0.008,5,0.004,7,0.118,27,0.502,30,0.001,31,0.537,32,0.155,33,0.615,47,0.947,83,2.493,95,0.127,96,1.178,101,0.013,102,2.399,103,0,104,0,112,0.667,122,2.142,125,2.026,129,2.062,130,1.885,142,1.634,153,1.546,159,0.462,180,1.935,185,2.386,190,2.309,195,3.047,196,4.402,197,2.672,205,1.419,206,1.473,211,6.021,223,4.015,224,1.308,226,2.053,229,1.78,231,0.779,232,1.221,233,1.399,316,3.352,540,2.311,692,3.247,704,5.274,789,2.471,886,1.429,1082,3.187,1821,2.138,1826,4.37,2070,2.434,2184,1.787,2482,4.755,2712,4.314,2942,5.711,2946,5.117,2950,3.872,2951,5.49,3431,4.494,3432,4.004,4648,3.082,4654,3.676,4664,2.033,4714,6.429,4731,3.465,4732,5.49,4984,6.873,5210,4.552,5215,6.484,5727,3.964,6206,4.004,6238,4.554,7211,2.913,7501,7.168,7509,6.429,7516,4.181,7567,4.335,7586,5.346,7587,3.384,7778,4.683,7895,2.721,7896,4.335,10107,6.25,10112,3.384,10113,5.658,10134,3.384,11509,7.235,12561,6.946,13714,5.49,15077,6.238,15078,4.683,15079,3.311,15105,3.246,15156,3.311,15157,5.487,15253,6.527,15329,7.339,15330,7.012,15335,6.874,15347,3.667,15349,3.465,15351,3.384,15364,3.667,15402,8.182,19891,3.798,19892,5.86,19893,4.514,19894,4.514,19895,4.514,19896,4.514,19897,4.514,19898,4.514,19899,4.514,19900,7.767,19901,4.514,19902,4.514,19903,4.181,19904,5.86,19905,4.514,19906,5.86,19907,4.514,19908,4.514,19909,4.181,19910,5.86,19911,4.514,19912,3.667,19913,3.667,19914,3.798,19915,3.798,19916,3.798,19917,5.86,19918,3.798,19919,3.798,19920,3.798,19921,3.798,19922,3.798,19923,3.798,19924,3.798,19925,3.798,19926,5.658,19927,6.909,19928,3.798,19929,3.798,19930,5.49,19931,3.798,19932,5.86,19933,3.798,19934,3.798,19935,5.86,19936,3.798,19937,3.798]],["title/classes/SchoolExternalTool.html",[0,0.241,2005,3.702]],["body/classes/SchoolExternalTool.html",[0,0.246,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,8,1.107,27,0.527,29,0.946,30,0.001,31,0.696,32,0.165,33,0.598,34,1.885,35,0.814,47,1.014,55,2.512,95,0.132,101,0.012,103,0,104,0,112,0.76,148,0.698,159,0.726,231,1.671,232,2.621,402,4.26,433,0.872,435,2.439,436,2.097,614,4.441,837,3.516,1237,2.806,1852,6.999,2005,5.148,2127,4.156,2128,4.848,2184,2.81,2791,7.85,4588,4.057,4664,3.198,4665,4.156,4666,5.208,6099,7.813,6684,5.597,6688,9.092,6696,5.208,6698,5.597,6699,4.471,6700,5.105,6701,5.45,6708,4.774,6709,5.208,6710,6.965,6711,5.322,8292,7.912,10148,6.576,10151,8.972,10447,6.532,10640,5.208,10641,5.597,19938,11.372,19939,9.965,19940,7.1,19941,7.1,19942,7.1,19943,9.336,19944,7.1,19945,7.1]],["title/classes/SchoolExternalToolConfigurationStatus.html",[0,0.241,19943,5.49]],["body/classes/SchoolExternalToolConfigurationStatus.html",[0,0.34,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.466,29,0.75,30,0.001,31,0.552,32,0.148,33,0.449,101,0.013,103,0.001,104,0.001,112,0.937,122,2.477,232,3.233,433,1.207,435,3.376,614,4.327,2219,5.772,2698,4.177,6107,9.089,6719,9.103,6721,11.068,6722,7.984,6723,8.269,8292,7.537,19943,10.821,19946,12.875]],["title/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.241,19947,5.86]],["body/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,27,0.443,29,0.693,30,0.001,31,0.51,32,0.154,33,0.415,95,0.101,101,0.012,103,0.001,104,0.001,112,0.892,122,2.7,157,2.633,190,1.626,194,4.469,202,2.083,232,3.078,296,2.976,417,6.374,433,1.115,435,3.117,614,4.243,703,3.489,866,4.519,2698,4.352,2776,5.632,6107,8.77,6288,4.623,6571,7.648,6722,7.371,6723,7.634,6729,9.24,6730,8.525,6731,9.982,8292,7.273,19947,11.287,19948,9.537,19949,9.073,19950,11.374]],["title/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.241,19951,5.86]],["body/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.451,29,0.712,30,0.001,31,0.524,32,0.156,33,0.426,95,0.129,101,0.012,103,0.001,104,0.001,112,0.908,125,2.221,190,1.672,202,2.141,296,3.027,339,3.965,433,1.146,614,4.077,703,2.861,861,6.471,864,6.652,866,4.645,881,5.104,1167,7.744,2219,5.896,2696,5.72,2698,4.268,6736,8.882,6737,8.638,19951,9.735,19952,11.652,19953,11.351]],["title/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.241,19953,5.658]],["body/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.269,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,26,2.339,27,0.512,29,0.938,30,0.001,31,0.69,32,0.166,33,0.527,47,0.903,55,2.086,95,0.129,99,1.566,101,0.01,103,0,104,0,112,0.808,125,1.852,190,2.291,201,4.487,202,1.785,296,3.56,433,0.955,614,4.154,866,3.872,1220,4.469,2184,3.077,2219,6.099,2696,6.093,2698,4.347,5752,5.97,6708,5.227,6738,7.2,6739,8.148,6740,6.636,6742,9.536,6744,7.2,6745,7.2,6746,7.2,6747,9.686,6748,9.536,6749,7.2,6750,6.822,6751,6.54,6752,7.2,6755,7.2,6756,5.152,6757,7.2,6758,7.2,6759,5.827,6760,7.2,19952,12.411,19953,10.385]],["title/entities/SchoolExternalToolEntity.html",[205,1.419,6788,5.109]],["body/entities/SchoolExternalToolEntity.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,27,0.477,30,0.001,32,0.152,55,2.33,95,0.142,96,2.014,101,0.013,103,0,104,0,112,0.803,159,0.789,190,2.196,195,2.692,205,2.087,206,2.517,223,3.583,224,2.234,225,3.925,229,3.042,231,1.331,232,2.087,233,2.391,614,4.369,692,5.944,703,3.912,1835,5.263,2698,3.975,4648,5.267,4654,5.406,4655,4.323,5727,5.711,6099,7.31,6710,5.546,6711,5.782,6780,6.267,6786,9.788,6788,7.513,6791,6.49,6792,4.748,6794,4.698,7573,4.748,7574,4.603,7778,5.187,8292,7.464,9934,5.267,10359,8.809,10364,7.145,10366,7.145,10367,7.145,10373,7.145,13962,8.321,19954,11.81,19955,10.752,19956,8.989,19957,7.145,19958,7.145,19959,7.145,19960,7.145]],["title/classes/SchoolExternalToolFactory.html",[0,0.241,19961,6.451]],["body/classes/SchoolExternalToolFactory.html",[0,0.169,2,0.515,3,0.009,4,0.009,5,0.004,7,0.068,8,0.844,27,0.516,29,1.027,30,0.001,31,0.743,32,0.168,33,0.583,34,1.263,35,1.414,47,0.786,55,2.369,59,3.323,95,0.119,101,0.006,103,0,104,0,112,0.579,113,4.471,127,4.987,129,3.565,130,3.401,135,0.961,148,0.726,153,0.789,157,2.065,172,3.153,185,2.53,192,2.689,205,1.818,206,2.41,228,1.327,231,1.275,326,4.86,374,3.208,402,1.754,433,0.599,436,3.869,467,2.15,501,7.114,502,5.532,505,4.107,506,5.532,507,5.347,508,4.107,509,4.107,510,4.107,511,4.043,512,4.554,513,4.958,514,6.696,515,5.852,516,7.031,517,2.733,522,2.711,523,4.107,524,2.733,525,5.216,526,5.365,527,4.229,528,5.048,529,4.075,530,2.711,531,2.556,532,4.127,533,2.591,534,2.556,535,2.711,536,2.733,537,4.882,538,2.711,539,7.197,540,3.994,541,6.693,542,2.733,543,3.595,544,2.711,545,2.733,546,2.711,547,2.733,548,2.711,551,2.711,552,6.158,553,2.733,554,2.711,555,4.107,556,3.748,557,4.107,558,2.733,559,2.629,560,2.591,561,2.196,562,2.711,563,2.711,564,2.711,565,2.733,566,2.733,567,1.818,568,2.711,569,1.515,570,2.733,571,2.924,572,2.711,573,2.733,575,2.803,576,2.881,577,2.909,614,3.085,703,1.496,756,1.944,2005,2.591,2008,2.429,2219,2.186,2698,1.582,2791,4.897,4588,3.408,4696,6.296,4698,3.506,6099,2.909,6803,3.961,6808,3.843,6889,3.506,10447,4.075,19939,4.102,19961,8.261,19962,7.388,19963,7.388,19964,7.388,19965,4.876,19966,4.876,19967,4.876,19968,4.876,19969,4.876,19970,4.876]],["title/classes/SchoolExternalToolIdParams.html",[0,0.241,19971,5.49]],["body/classes/SchoolExternalToolIdParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,47,0.882,95,0.134,101,0.013,103,0.001,104,0.001,112,0.942,190,1.775,194,4.716,195,2.638,196,3.285,197,3.355,200,3.03,202,2.273,296,3.14,307,7.262,614,4.163,855,4.86,2698,3.894,6741,9.288,6812,8.33,6813,8.69,8292,7.026,19948,9.214,19971,9.462]],["title/classes/SchoolExternalToolIdParams-1.html",[0,0.2,756,2.309,19971,4.564]],["body/classes/SchoolExternalToolIdParams-1.html",[0,0.418,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,26,2.631,27,0.391,30,0.001,32,0.124,95,0.145,99,2.02,101,0.013,103,0.001,104,0.001,112,0.949,190,1.797,200,3.068,202,2.302,296,3.164,307,7.353,614,3.749,855,4.897,2696,5.499,2698,3.924,6741,9.338,6815,7.208,6816,8.144,19971,9.533,19972,11.201]],["title/classes/SchoolExternalToolMetadata.html",[0,0.241,19973,5.49]],["body/classes/SchoolExternalToolMetadata.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.463,29,0.743,30,0.001,31,0.547,32,0.147,33,0.445,95,0.108,101,0.012,103,0.001,104,0.001,112,0.932,183,3.717,433,1.196,614,4.371,1078,5.204,2698,4.16,6783,7.295,6792,5.991,8292,7.505,10502,9.015,10503,9.61,10507,11.002,10510,8.189,19938,10.787,19973,10.977,19974,11.878,19975,9.015]],["title/classes/SchoolExternalToolMetadataMapper.html",[0,0.241,19976,6.113]],["body/classes/SchoolExternalToolMetadataMapper.html",[0,0.325,2,0.991,3,0.017,4,0.017,5,0.008,7,0.131,8,1.328,27,0.366,29,0.717,30,0.001,31,0.528,32,0.116,33,0.429,35,1.077,95,0.141,101,0.012,103,0.001,104,0.001,135,1.222,148,0.923,153,1.879,467,3.673,614,4.088,837,4.65,1883,3.525,2698,3.77,6772,9.16,8292,6.803,10503,7.039,10514,8.699,10517,8.699,10518,9.441,10519,7.63,19973,10.883,19975,8.699,19976,10.199,19977,9.777,19978,12.619,19979,9.391,19980,11.401]],["title/classes/SchoolExternalToolMetadataResponse.html",[0,0.241,19980,5.86]],["body/classes/SchoolExternalToolMetadataResponse.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.458,29,0.731,30,0.001,31,0.538,32,0.145,33,0.437,95,0.131,101,0.012,103,0.001,104,0.001,112,0.922,190,1.715,202,2.197,296,3.33,433,1.176,614,4.299,2698,4.129,6772,10.032,7848,8.052,8292,7.45,10503,9.539,10510,8.052,10519,7.775,10523,10.89,19948,9.769,19980,11.669,19981,11.757,19982,9.57]],["title/injectables/SchoolExternalToolMetadataService.html",[589,0.926,19983,5.86]],["body/injectables/SchoolExternalToolMetadataService.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,8,1.195,26,2.513,27,0.408,29,0.798,30,0.001,31,0.587,32,0.144,33,0.478,35,0.913,36,1.682,55,1.613,95,0.15,99,1.603,101,0.01,103,0,104,0,135,1.614,145,3.925,148,0.782,153,1.287,158,2.938,183,3.039,228,1.429,277,1.138,279,3.299,317,2.526,400,2.333,433,0.978,589,1.39,591,1.888,614,4.178,657,2.391,980,4.389,1078,3.487,1883,2.987,2035,5.767,2036,3.918,2698,3.789,4174,7.031,5495,4.703,6080,9.296,6741,7.518,6783,7.837,6792,4.899,6898,9.177,6921,6.696,6922,6.696,6980,6.696,8292,6.836,10503,5.965,10527,7.371,10529,9.685,10534,6.465,10535,6.985,10539,7.371,10540,7.371,10541,9.685,10543,7.371,19973,10.154,19983,8.797,19984,10.249,19985,7.958,19986,7.958,19987,10.456,19988,7.958,19989,7.958]],["title/modules/SchoolExternalToolModule.html",[252,1.839,6822,5.658]],["body/modules/SchoolExternalToolModule.html",[0,0.284,3,0.015,4,0.015,5,0.007,30,0.001,95,0.145,101,0.011,103,0.001,104,0.001,252,3.131,254,2.956,255,3.139,256,3.218,257,3.206,258,3.195,259,4.308,260,4.408,269,4.181,270,3.161,271,3.096,276,4.181,277,1.175,610,3.241,614,3.677,2698,3.464,5776,4.811,6072,9.998,6082,6.677,6821,10.515,6822,11.847,6823,9.998,6830,6.309,7045,9.429,8292,4.811,19983,11.969,19990,8.219,19991,8.219,19992,8.219,19993,8.219,19994,11.214,19995,8.219]],["title/classes/SchoolExternalToolPostParams.html",[0,0.241,19996,5.86]],["body/classes/SchoolExternalToolPostParams.html",[0,0.41,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.489,29,0.904,30,0.001,32,0.168,33,0.487,47,0.921,55,2.158,95,0.14,101,0.01,103,0.001,104,0.001,112,0.835,190,2.247,195,1.799,200,2.505,201,4.139,202,1.879,296,3.28,299,4.635,300,4.081,417,4.587,614,4.349,855,4.793,1220,4.706,1232,4.748,2531,4.413,2698,4.217,3791,7.518,4588,4.055,5752,6.122,6317,6.177,6833,7.582,6839,9.978,6840,6.887,6841,6.887,6842,6.452,6844,7.582,6845,7.582,6847,5.742,8292,7.609,10447,6.529,19948,9.978,19996,8.961,19997,8.185,19998,9.864,19999,8.185,20000,8.185,20001,8.185]],["title/interfaces/SchoolExternalToolProperties.html",[159,0.712,19956,6.113]],["body/interfaces/SchoolExternalToolProperties.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,32,0.155,33,0.487,55,2.54,95,0.145,96,2.137,101,0.014,103,0.001,104,0.001,112,0.835,159,0.837,161,1.95,195,2.34,205,2.17,223,3.319,224,2.371,225,4.081,229,3.228,231,1.412,232,2.215,233,2.537,614,3.887,692,6.212,703,4.088,1835,4.206,2698,4.217,4654,5.621,4655,4.587,5727,5.519,6099,7.756,6710,5.886,6711,6.135,6780,6.65,6786,10.228,6788,6.004,6791,6.887,6792,5.039,6794,4.985,7573,5.039,7574,4.884,8292,4.792,9934,5.589,10359,9.346,13962,6.65,19954,7.582,19955,11.408,19956,10.39,19957,7.582,19958,7.582,19959,7.582,19960,7.582]],["title/interfaces/SchoolExternalToolProps.html",[159,0.712,19939,5.86]],["body/interfaces/SchoolExternalToolProps.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,29,0.983,30,0.001,31,0.723,32,0.167,33,0.604,34,2.119,47,1.055,55,2.608,95,0.138,101,0.013,103,0,104,0,112,0.819,148,0.781,159,0.812,161,1.892,231,1.37,232,2.149,402,4.631,614,3.237,837,3.933,1237,2.301,1852,6.171,2005,4.221,2127,4.649,2128,5.423,2184,3.144,2791,8.532,4588,4.409,4664,3.577,4665,4.649,4666,5.826,6099,8.038,6684,6.261,6688,6.097,6698,6.261,6699,5.001,6700,5.711,6701,6.097,6708,5.341,6709,5.826,6710,7.508,6711,5.953,8292,4.649,10447,7.1,10640,5.826,10641,6.261,19938,6.683,19939,9.816,19943,10.148]],["title/classes/SchoolExternalToolRefDO.html",[0,0.241,6694,5.658]],["body/classes/SchoolExternalToolRefDO.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,27,0.493,29,0.722,30,0.001,31,0.531,32,0.157,33,0.578,47,0.971,101,0.012,103,0.001,104,0.001,112,0.916,232,3.158,433,1.162,435,3.249,614,4.388,2698,4.289,4588,4.336,4665,5.536,4666,6.937,6694,11.031,6807,9.285,6958,8.76,8292,7.738,19938,11.122,20002,9.458,20003,11.671,20004,9.458,20005,9.458]],["title/injectables/SchoolExternalToolRepo.html",[589,0.926,1913,5.109]],["body/injectables/SchoolExternalToolRepo.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,8,0.747,10,2.628,12,2.959,18,3.277,26,2.139,27,0.514,29,1.006,30,0.001,31,0.734,32,0.162,33,0.597,34,1.381,35,1.484,36,2.735,40,2.015,47,0.864,95,0.139,96,1.707,97,1.679,101,0.005,103,0,104,0,112,0.327,113,1.654,135,1.597,148,1.183,153,1.058,185,2.24,205,1.646,206,2.635,224,1.206,228,1.174,231,1.128,317,2.967,365,2.904,433,0.511,436,3.555,478,1.166,569,1.294,589,0.869,591,0.988,614,3.921,652,2.392,657,1.847,692,1.941,703,2.478,729,4.465,735,2.959,736,4.896,766,2.228,787,6.2,1027,1.274,1770,4.42,1913,4.797,2005,6.805,2008,2.074,2140,2.373,2437,8.777,2439,4.702,2440,4.616,2441,4.616,2442,4.702,2443,4.702,2444,4.616,2445,2.993,2446,4.971,2447,3.825,2448,4.288,2450,4.702,2451,2.993,2453,2.993,2455,6.902,2456,4.465,2457,2.993,2460,4.702,2462,2.889,2463,7.452,2464,4.616,2465,3.864,2467,2.993,2468,4.702,2470,2.993,2472,2.509,2473,2.591,2474,2.799,2476,2.993,2484,2.889,2517,6.054,2698,2.62,2776,2.061,2938,3.759,4588,2.766,4768,2.509,4798,5.701,4981,3.054,5138,3.5,6099,3.902,6288,3.283,6788,9,6792,4.026,6850,3.654,6851,6.057,6858,6.057,6867,5.502,6868,3.654,6878,3.054,6879,3.054,6880,3.054,6881,3.054,6882,3.054,6883,3.054,6884,3.054,6888,2.993,6889,5.807,6890,3.382,6891,3.654,6892,3.196,6893,3.856,6894,3.856,6895,2.842,6897,5.739,6906,3.856,6912,3.856,6919,3.856,6920,3.856,8311,2.621,10359,2.993,10447,5.486,10708,3.856,10713,3.856,10718,3.196,10719,3.856,16165,3.503,19955,3.654,20006,10.592,20007,6.539,20008,6.539,20009,6.057,20010,10.227,20011,4.163,20012,9.266,20013,6.539,20014,4.163,20015,4.163,20016,6.539,20017,6.057,20018,4.163,20019,4.163,20020,4.163,20021,4.163,20022,4.163,20023,4.163,20024,3.282,20025,4.163,20026,3.654,20027,3.654,20028,4.163,20029,4.163]],["title/injectables/SchoolExternalToolRequestMapper.html",[589,0.926,20030,5.86]],["body/injectables/SchoolExternalToolRequestMapper.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,27,0.423,29,0.916,30,0.001,31,0.674,32,0.134,33,0.496,35,1.244,95,0.141,101,0.011,103,0.001,104,0.001,125,2.007,130,2.28,148,1.18,193,3.675,277,1.205,589,1.442,591,1.999,614,4.235,652,2.441,837,4.172,2698,3.894,2791,7.956,4588,2.886,6099,5.028,6699,5.305,6839,10.069,6888,6.059,6926,6.642,6928,10.535,6932,7.395,6934,9.13,6941,7.804,6942,7.395,6943,7.089,6944,7.395,8292,7.026,9468,7.804,10447,4.647,19977,10.099,19996,10.665,20030,9.13,20031,10.851,20032,10.851,20033,8.426,20034,10.535,20035,7.395,20036,8.426,20037,8.426,20038,8.426]],["title/classes/SchoolExternalToolResponse.html",[0,0.241,20039,5.658]],["body/classes/SchoolExternalToolResponse.html",[0,0.241,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,27,0.524,29,0.896,30,0.001,31,0.659,32,0.17,33,0.498,34,1.865,47,1.001,55,1.935,95,0.122,101,0.009,103,0,104,0,112,0.749,125,1.656,190,2.377,201,4.239,202,1.596,296,3.652,402,3.923,417,3.896,433,0.854,458,2.773,614,4.47,703,2.133,866,4.756,871,2.558,1220,3.997,2127,4.07,2184,2.752,2698,2.256,4588,3.735,4665,4.07,6099,6.508,6708,4.675,6710,4.999,6740,6.269,6756,4.608,6946,6.102,6947,7.33,6948,8.844,6949,6.44,6950,6.44,6951,6.44,6952,6.44,6953,9.255,6954,6.44,6955,6.44,6956,6.44,6957,5.337,6963,6.102,6964,6.44,6965,6.102,8292,7.97,10447,6.015,10640,5.1,10933,6.102,18432,6.44,19947,10.353,19948,10.451,20039,9.997,20040,6.952,20041,6.44,20042,6.952,20043,6.952]],["title/injectables/SchoolExternalToolResponseMapper.html",[589,0.926,20044,5.86]],["body/injectables/SchoolExternalToolResponseMapper.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.105,8,1.15,27,0.442,29,0.925,30,0.001,31,0.71,32,0.14,33,0.518,34,1.284,35,1.301,95,0.141,101,0.01,103,0,104,0,130,2.033,135,0.977,148,1.115,153,1.627,197,2.099,277,1.074,402,3.62,589,1.338,591,1.782,614,4.239,652,2.308,703,2.305,829,4.439,837,3.72,1883,2.82,2005,7.268,2062,6.593,2698,4.1,2791,8.622,4029,5.129,4588,2.573,6099,4.482,6107,5.303,6179,6.102,6183,6.593,6699,4.73,6953,9.555,8292,7.095,10203,6.102,10229,6.102,10233,6.593,10447,4.143,10753,6.958,10814,6.958,10815,6.958,12994,6.958,13148,5.51,16004,6.958,19977,10.198,20039,9.847,20044,8.467,20045,10.063,20046,10.063,20047,10.063,20048,10.063,20049,7.512,20050,10.063,20051,10.063,20052,9.547,20053,6.593,20054,7.512,20055,7.512,20056,7.512,20057,7.512,20058,7.512,20059,7.512,20060,7.512,20061,7.512]],["title/injectables/SchoolExternalToolRule.html",[589,0.926,1874,5.86]],["body/injectables/SchoolExternalToolRule.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,27,0.438,29,0.857,30,0.001,31,0.631,32,0.149,33,0.513,35,1.138,95,0.144,101,0.009,103,0,104,0,122,2.681,135,0.958,148,0.976,183,4.289,205,2.775,228,1.322,277,1.053,290,3.265,400,2.158,433,0.904,478,2.062,589,1.319,591,1.746,614,4.009,653,4.619,711,3.746,1237,2.132,1775,6.579,1801,7.96,1838,7.966,1874,8.351,1982,4.69,1986,6.11,1993,6.489,2005,7.143,2008,3.666,2619,6.326,3711,4.878,3714,6.405,3716,4.878,3717,6.579,3718,7.137,6788,9.989,6792,4.531,6889,7.137,6999,6.817,7000,6.817,7001,6.817,7002,6.817,7003,7.007,20024,5.802,20062,11.135,20063,6.817]],["title/classes/SchoolExternalToolScope.html",[0,0.241,20012,6.113]],["body/classes/SchoolExternalToolScope.html",[0,0.26,2,0.793,3,0.014,4,0.014,5,0.007,7,0.105,8,1.15,26,2.692,27,0.518,29,0.925,30,0.001,31,0.681,32,0.164,33,0.554,35,1.154,95,0.126,99,1.513,101,0.01,103,0,104,0,112,0.789,122,2.352,125,3.216,129,2.224,130,2.033,148,0.989,231,1.736,365,3.336,436,3.733,569,2.335,614,3.757,652,2.646,703,2.305,2479,6.706,2698,2.437,4588,3.887,6288,5.559,6788,5.51,6792,4.624,6889,5.401,7006,6.593,7007,6.67,7008,6.67,7009,6.67,7014,6.67,7015,6.67,7016,5.051,7017,4.979,7018,5.051,7019,5.051,7028,4.979,7029,6.67,7030,5.051,7031,4.979,7032,5.051,7033,4.979,7034,6.67,10447,6.259,10986,6.958,12026,8.832,12037,8.832,18436,9.321,18439,9.321,20006,10.51,20012,8.832,20064,7.512,20065,7.512]],["title/classes/SchoolExternalToolSearchListResponse.html",[0,0.241,20052,5.86]],["body/classes/SchoolExternalToolSearchListResponse.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.452,29,0.715,30,0.001,31,0.526,32,0.156,33,0.428,95,0.129,101,0.012,103,0.001,104,0.001,112,0.91,125,2.232,190,1.679,202,2.151,296,3.036,339,3.971,433,1.151,614,4.336,703,2.875,860,8.899,861,6.501,864,6.671,866,4.667,881,5.128,2698,4.09,6736,8.907,7036,8.223,8292,7.379,19948,9.677,20039,11.363,20052,9.763]],["title/classes/SchoolExternalToolSearchParams.html",[0,0.241,20066,6.113]],["body/classes/SchoolExternalToolSearchParams.html",[0,0.419,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.392,30,0.001,32,0.124,47,0.89,95,0.135,101,0.013,103,0.001,104,0.001,112,0.95,190,1.801,200,3.075,202,2.307,296,3.169,299,4.742,614,4.184,855,4.904,2698,3.929,4588,4.453,8292,7.09,10990,8.82,10993,8.82,19948,9.297,19998,9.308,20066,10.63]],["title/injectables/SchoolExternalToolService.html",[589,0.926,7045,4.616]],["body/injectables/SchoolExternalToolService.html",[0,0.176,3,0.009,4,0.009,5,0.005,7,0.071,8,0.872,12,3.455,26,2.318,27,0.475,29,0.931,30,0.001,31,0.701,32,0.151,33,0.557,35,1.36,36,2.819,95,0.142,99,1.026,101,0.007,103,0,104,0,135,1.488,148,1.166,153,1.234,195,1.119,197,1.423,228,1.827,277,0.728,279,2.111,317,2.998,365,2.262,402,3.919,433,0.938,589,1.015,591,1.208,614,4.331,629,2.687,652,2.687,657,2.906,688,2.374,703,1.562,837,2.522,980,2.809,1328,2.706,1329,3.101,1883,1.911,1913,8.391,2005,7.501,2008,2.537,2088,2.183,2698,3.848,2776,6.292,4588,1.744,6088,4.137,6097,4.717,6107,3.595,6741,5.489,6794,3.101,6829,4.137,6888,3.662,7044,7.302,7045,5.06,7052,4.717,7062,3.17,8292,7.303,10197,7.461,10199,7.461,10208,6.464,10218,4.014,10306,4.469,10589,3.909,10964,4.469,19943,8.018,19984,10.95,19994,9.35,20010,9.421,20035,4.469,20067,7.633,20068,9.157,20069,7.633,20070,7.633,20071,7.07,20072,7.633,20073,5.092,20074,5.092,20075,5.092,20076,5.092,20077,5.092,20078,7.633,20079,7.633,20080,5.092,20081,7.633,20082,5.092,20083,7.633,20084,5.092,20085,7.633,20086,5.092,20087,5.092,20088,5.092,20089,4.717,20090,5.092,20091,7.633,20092,5.092,20093,5.092,20094,5.092,20095,4.469,20096,5.092,20097,4.284,20098,5.092,20099,8.481,20100,5.092,20101,5.092]],["title/injectables/SchoolExternalToolUc.html",[589,0.926,20102,5.86]],["body/injectables/SchoolExternalToolUc.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.062,8,0.788,26,2.864,27,0.456,29,0.893,30,0.001,31,0.657,32,0.145,33,0.535,34,0.762,35,1.299,36,2.746,39,3.467,47,0.62,95,0.134,99,0.898,101,0.006,103,0,104,0,131,3.522,135,1.707,148,1.01,153,1.365,183,5.094,228,1.845,277,0.638,317,2.956,360,2.563,365,3.748,433,0.848,589,0.917,591,1.058,595,1.691,610,1.758,614,4.214,652,2.38,657,3.051,693,3.137,980,3.805,1775,6.716,1780,2.688,1883,1.674,2005,7.409,2680,2.048,2698,2.238,3319,2.541,4588,1.527,6741,9.343,6794,6.898,6824,7.405,6888,3.206,7045,7.199,7062,2.775,7083,3.913,7090,8.49,7104,3.515,8292,7.031,10252,7.406,10262,3.913,10282,3.423,10283,10.061,10284,4.13,10302,7.406,10303,10.061,10306,3.913,11134,6.39,19973,5.438,19983,9.53,19994,8.928,20034,11.618,20071,6.39,20089,6.39,20099,6.39,20102,5.805,20103,12.011,20104,7.816,20105,6.39,20106,8.438,20107,6.39,20108,7.816,20109,4.13,20110,4.459,20111,4.459,20112,4.459,20113,6.899,20114,4.459,20115,4.459,20116,6.899,20117,9.498,20118,4.459,20119,4.459,20120,4.459,20121,6.899,20122,4.459,20123,4.459,20124,4.459,20125,4.459,20126,6.39,20127,4.459,20128,4.459,20129,4.459,20130,4.459,20131,4.459]],["title/injectables/SchoolExternalToolValidationService.html",[589,0.926,19994,5.49]],["body/injectables/SchoolExternalToolValidationService.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.103,8,1.136,27,0.438,29,0.858,30,0.001,31,0.631,32,0.139,33,0.514,35,1.14,36,2.1,55,2.622,95,0.147,101,0.009,103,0,104,0,135,0.959,153,1.192,228,2.019,277,1.054,317,2.432,329,4.491,338,6.118,393,3.651,415,4.202,433,1.221,569,3.089,579,2.105,589,1.321,591,1.749,614,4.268,652,2.632,657,1.686,688,3.438,1213,6.333,1883,2.768,2005,7.028,2008,3.673,2088,3.16,2698,4.075,2776,5.567,5752,5.14,6079,10.424,6116,5.813,6130,6.472,7044,7.964,7062,4.59,7067,5.66,7078,5.302,7137,6.83,8292,7.042,10197,8.824,10199,8.824,10218,5.813,10257,5.813,10566,6.472,19984,10.558,19994,7.834,20095,6.472,20132,9.938,20133,9.938,20134,12.559,20135,7.374,20136,11.241,20137,9.938,20138,7.374,20139,7.374,20140,7.374,20141,7.374]],["title/classes/SchoolForGroupNotFoundLoggable.html",[0,0.241,17767,6.113]],["body/classes/SchoolForGroupNotFoundLoggable.html",[0,0.31,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,8,1.289,27,0.44,29,0.683,30,0.001,31,0.503,32,0.111,33,0.409,35,1.027,95,0.126,100,3.122,101,0.011,103,0.001,104,0.001,148,0.88,228,2.025,339,2.625,347,4.6,400,2.625,433,1.1,652,1.821,703,3.977,1027,2.739,1065,6.715,1115,3.407,1237,3.267,1422,4.943,1423,5.756,1426,5.757,1468,5.756,1469,6.044,3364,6.437,10075,9.716,10105,9.508,12971,7.857,17767,9.898,20142,12.347,20143,8.291,20144,8.291,20145,8.291,20146,8.291,20147,7.857,20148,8.952,20149,8.952,20150,8.952,20151,8.291]],["title/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.241,20152,6.451]],["body/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.292,2,0.889,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,26,2.568,27,0.423,29,0.643,30,0.001,31,0.473,32,0.104,33,0.385,34,2.296,35,0.966,47,0.987,59,2.619,95,0.121,99,1.698,101,0.011,103,0.001,104,0.001,148,0.828,228,2.155,290,3.112,339,2.471,415,7.224,433,1.333,652,2.441,703,4.12,1027,2.578,1115,3.206,1237,3.143,1422,4.805,1423,5.596,1426,5.63,1468,5.596,1469,5.875,4588,4.342,4665,4.932,4970,5.512,5325,7.089,14112,6.845,20152,10.051,20153,10.535,20154,8.426,20155,8.426,20156,12.003,20157,8.426,20158,12.003,20159,8.426,20160,8.426,20161,8.426]],["title/classes/SchoolIdParams.html",[0,0.241,20162,5.49]],["body/classes/SchoolIdParams.html",[0,0.42,2,1.064,3,0.019,4,0.019,5,0.009,7,0.14,26,2.637,27,0.393,30,0.001,32,0.125,95,0.145,99,2.03,101,0.013,103,0.001,104,0.001,112,0.951,180,5.199,190,1.806,200,3.083,202,2.313,296,3.174,307,7.39,855,4.911,4588,4.458,4970,5.57,6389,6.991,6816,8.185,20162,9.562,20163,12.13]],["title/classes/SchoolIdParams-1.html",[0,0.2,756,2.309,20162,4.564]],["body/classes/SchoolIdParams-1.html",[0,0.421,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,26,2.643,27,0.395,30,0.001,32,0.125,95,0.145,99,2.04,101,0.013,103,0.001,104,0.001,112,0.954,190,1.815,200,3.098,202,2.325,296,3.183,307,7.427,855,4.926,2696,5.533,4588,4.467,6815,7.281,6816,8.226,19972,11.269,20162,9.591]],["title/classes/SchoolInMigrationLoggableException.html",[0,0.241,17078,6.113]],["body/classes/SchoolInMigrationLoggableException.html",[0,0.26,2,0.794,3,0.014,4,0.014,5,0.007,7,0.105,8,1.151,27,0.526,30,0.001,32,0.171,33,0.46,35,1.155,47,0.835,52,5.112,55,1.525,95,0.127,101,0.01,103,0,104,0,112,0.79,148,0.74,155,3.872,180,4.318,190,2.267,228,2.482,231,1.738,233,2.333,277,1.076,290,1.785,393,3.727,402,2.707,433,1.395,436,3.845,644,6.136,703,2.309,868,5.838,871,2.769,998,5.379,1027,2.303,1078,3.297,1080,4.205,1115,4.322,1237,2.918,1354,8.614,1355,6.53,1356,7.426,1360,4.988,1361,4.326,1362,4.988,1363,4.988,1364,4.988,1365,4.988,1366,4.988,1367,4.633,1368,4.253,1374,4.856,1422,4.547,1426,5.387,1462,4.058,1468,5.295,1477,3.842,1478,4,1800,6.971,2109,3.297,2642,5.138,3824,5.641,4953,4.988,10416,4.988,10417,6.332,14357,10.52,17078,8.843,20164,11.358,20165,7.526]],["title/classes/SchoolInUserMigrationEndLoggable.html",[0,0.241,20166,6.451]],["body/classes/SchoolInUserMigrationEndLoggable.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,8,1.313,27,0.448,29,0.704,30,0.001,31,0.518,32,0.114,33,0.421,35,1.057,47,0.92,52,6.646,95,0.103,101,0.012,103,0.001,104,0.001,148,0.906,228,1.655,290,2.969,339,2.703,400,2.703,433,1.133,703,2.828,1027,2.821,1115,3.508,1237,3.328,1422,5.009,1423,5.834,1426,5.818,1468,5.834,1469,6.125,3595,5.675,4970,5.747,15125,9.179,20153,10.983,20166,10.64,20167,9.219,20168,9.219,20169,9.219,20170,9.219,20171,8.539]],["title/classes/SchoolInUserMigrationStartLoggable.html",[0,0.241,20172,6.451]],["body/classes/SchoolInUserMigrationStartLoggable.html",[0,0.299,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,26,2.593,27,0.43,29,0.66,30,0.001,31,0.486,32,0.107,33,0.395,35,0.991,39,3.061,47,0.893,52,6.492,95,0.123,99,1.741,101,0.011,103,0.001,104,0.001,122,2.519,148,0.85,228,2.182,242,4.562,290,2.882,339,2.534,376,6.34,433,1.355,652,2.471,703,3.384,1027,2.645,1115,3.289,1237,3.195,1422,4.863,1423,5.664,1426,5.683,1434,5.578,1468,5.664,1469,5.946,4970,5.579,5147,6.101,12506,6.34,14032,11.252,15125,9.387,20153,10.662,20171,8.006,20172,10.217,20173,8.006,20174,8.006,20175,8.643,20176,8.643,20177,8.643]],["title/classes/SchoolInfoMapper.html",[0,0.241,16678,6.113]],["body/classes/SchoolInfoMapper.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.381,29,0.747,30,0.001,31,0.669,32,0.121,33,0.447,34,1.672,35,1.122,95,0.133,100,4.155,101,0.013,103,0.001,104,0.001,135,1.273,148,0.961,153,1.582,467,3.74,478,2.74,692,6.234,830,6.623,837,4.843,16650,10.864,16678,10.456,20178,11.914,20179,8.584,20180,11.914,20181,8.584,20182,9.78,20183,9.78,20184,9.78]],["title/classes/SchoolInfoResponse.html",[0,0.241,16650,5.658]],["body/classes/SchoolInfoResponse.html",[0,0.313,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.484,29,0.691,30,0.001,31,0.789,32,0.154,33,0.414,34,2.374,47,0.956,95,0.101,101,0.012,103,0.001,104,0.001,112,0.891,157,2.873,190,2.036,202,2.079,205,2.652,296,3.247,304,4.483,433,1.395,458,3.61,703,3.993,821,4.622,868,4.357,2184,3.583,2301,7.136,3196,5.919,3197,6.079,3198,6.079,4746,7.945,16650,10.891,20185,13.015,20186,7.945,20187,8.385]],["title/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.241,20188,6.113]],["body/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.284,2,0.866,3,0.015,4,0.015,5,0.007,7,0.114,8,1.218,27,0.416,29,0.626,30,0.001,31,0.461,32,0.147,33,0.375,35,0.941,52,6.764,95,0.14,101,0.011,103,0.001,104,0.001,125,1.954,148,0.806,153,1.326,158,3.028,180,5.079,228,1.915,231,1.84,277,1.173,339,2.405,433,1.31,543,3.992,652,2.169,703,3.635,711,3.432,1027,2.51,1080,4.107,1237,3.089,1312,5.582,1313,5.6,1314,6.016,1422,4.743,1426,5.572,1462,4.422,1468,5.524,1477,4.188,1478,4.359,1829,3.515,1853,2.691,1928,7.002,1939,4.359,2071,7.415,4588,3.653,4970,5.442,9216,8.997,9261,6.663,10119,6.016,13996,6.296,19596,9.627,20188,9.359,20189,10.4,20190,10.976,20191,7.597,20192,8.202,20193,7.597,20194,8.202]],["title/injectables/SchoolMigrationService.html",[589,0.926,4976,5.49]],["body/injectables/SchoolMigrationService.html",[0,0.137,3,0.007,4,0.007,5,0.004,7,0.055,8,0.717,27,0.462,29,0.905,30,0.001,31,0.666,32,0.147,33,0.542,35,1.327,36,2.675,39,1.743,47,1.031,52,2.006,55,1.802,95,0.125,101,0.005,103,0,104,0,122,1.844,125,2.118,135,1.626,142,2.273,145,1.484,148,1.015,153,1.438,158,2.318,180,5.186,195,0.869,197,2.183,228,1.742,277,0.565,279,1.639,290,0.938,317,2.902,433,0.771,569,1.951,579,1.793,589,0.835,591,0.938,629,3.314,652,2.654,657,2.815,703,3.168,704,5.907,711,3.708,869,4.353,1027,1.21,1080,3.083,1328,3.337,1422,1.583,1853,1.297,2065,3.47,2066,5.894,2068,4.357,2070,2.132,2071,7.642,2305,7.805,2314,7.805,2447,4.524,2448,5.073,2924,8.237,3418,1.781,3900,2.087,4588,3.323,4970,5.556,4976,4.949,4982,7.157,4984,5.6,4991,5.816,5449,6.524,8114,4.83,9375,5.816,10107,5.814,13858,3.47,14358,7.94,14370,3.212,14375,5.816,14955,3.327,15229,5.101,15251,3.662,16485,8.533,16500,5.511,16501,5.101,17769,8.237,17782,3.47,19596,3.212,20188,3.47,20195,12.099,20196,6.279,20197,5.816,20198,7.809,20199,6.279,20200,7.809,20201,7.809,20202,5.816,20203,7.809,20204,3.954,20205,6.279,20206,9.701,20207,3.954,20208,6.279,20209,3.954,20210,3.954,20211,3.954,20212,6.279,20213,8.893,20214,3.954,20215,6.279,20216,6.279,20217,3.954,20218,6.279,20219,3.662,20220,3.954,20221,3.954,20222,6.279,20223,3.662,20224,3.954,20225,6.279,20226,3.954,20227,3.47,20228,3.954,20229,5.511,20230,3.954,20231,3.954,20232,3.954,20233,3.954,20234,6.279,20235,3.954,20236,3.954,20237,3.954,20238,3.954,20239,3.954,20240,3.954,20241,3.954,20242,6.279,20243,3.954,20244,6.279,20245,3.954,20246,7.809,20247,8.237,20248,3.662,20249,3.954,20250,3.954,20251,5.816,20252,3.954,20253,6.279,20254,6.279,20255,3.954,20256,2.964,20257,3.662,20258,3.954,20259,3.954,20260,3.662,20261,3.954,20262,3.954,20263,3.954]],["title/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.241,20264,6.113]],["body/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,27,0.441,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,52,6.284,95,0.126,101,0.012,103,0.001,104,0.001,148,0.886,180,5.308,228,2.034,339,2.642,385,6.153,400,2.642,433,1.107,652,1.833,703,3.8,704,4.601,1027,2.758,1115,3.429,1237,3.281,1422,4.958,1423,5.774,1426,5.771,1853,2.957,2071,7.679,4588,3.087,4970,5.688,4982,8.281,4984,7.799,13996,6.918,15253,6.153,15331,6.48,16926,7.321,20151,8.347,20191,8.347,20264,9.94,20265,12.386,20266,8.347,20267,9.012,20268,9.012,20269,9.012,20270,7.909]],["title/entities/SchoolNews.html",[205,1.419,7906,5.346]],["body/entities/SchoolNews.html",[0,0.356,3,0.01,4,0.017,5,0.005,7,0.161,9,3.606,26,2.086,27,0.203,30,0.001,31,0.437,32,0.127,34,0.892,47,0.923,83,2.279,95,0.137,96,2.426,101,0.014,103,0,104,0,112,0.864,134,1.848,148,0.513,153,1.502,155,2.965,159,0.534,190,0.935,195,2.537,196,3.83,205,2.244,206,1.702,223,3.726,224,1.511,225,2.979,226,2.373,231,1.776,232,2.786,233,1.618,290,2.612,409,5.921,412,4.126,435,1.793,457,5.165,467,1.519,512,4.743,571,3.678,613,4.469,692,5.575,693,2.373,703,3.378,704,3.969,886,2.461,1086,4.423,1087,4.751,1088,4.354,1089,4.628,1090,5.047,1373,4.734,1821,3.681,1826,2.681,1842,3.552,1921,3.459,1939,2.773,2033,2.948,2393,3.56,2715,5.25,2923,3.911,2942,4.309,2956,3.114,3011,6.003,3056,2.511,3750,3.563,3752,3.367,3753,3.683,3755,3.752,3756,3.683,3757,3.911,3771,3.083,3908,3.563,3932,3.367,4588,1.787,4680,4.005,4681,3.621,4823,3.827,5301,3.683,5727,4.331,5817,3.827,6232,3.286,6480,6.815,6665,2.834,6668,5.009,7552,3.248,7553,2.949,7574,3.114,7778,3.509,7869,3.911,7870,4.239,7872,6.964,7873,6.074,7874,4.239,7875,4.785,7876,4.239,7877,9.099,7878,5.227,7879,5.827,7880,5.827,7881,6.958,7882,7.835,7883,4.239,7884,5.59,7885,4.239,7886,4.005,7887,4.005,7888,5.082,7889,4.239,7890,4.005,7891,4.005,7892,4.239,7893,3.911,7894,4.239,7895,3.145,7896,3.248,7897,4.005,7898,4.239,7899,4.239,7900,7.324,7901,4.239,7902,7.548,7903,4.239,7904,4.239,7905,5.967,7906,5.967,7907,6.558,7908,4.113,7909,5.153,7910,3.827,7911,4.005,7912,4.239,20271,5.218]],["title/classes/SchoolNumberDuplicateLoggableException.html",[0,0.241,20272,6.113]],["body/classes/SchoolNumberDuplicateLoggableException.html",[0,0.304,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,18,4.407,27,0.435,29,0.671,30,0.001,31,0.494,32,0.138,33,0.402,35,1.009,47,0.9,55,2.61,95,0.124,101,0.011,103,0.001,104,0.001,148,0.864,228,1.579,231,1.924,233,2.726,277,1.258,339,2.579,400,2.579,433,1.08,640,5.414,703,3.757,1027,2.691,1115,3.347,1237,3.23,1422,4.903,1423,5.71,1426,5.72,1462,4.742,1465,6.103,1468,5.71,1469,5.994,1477,4.49,1478,4.674,1563,5.675,2615,6.98,3364,6.324,6435,7.539,10107,8.007,10112,6.592,10119,6.451,10121,6.451,20272,9.788,20273,12.247,20274,12.247,20275,8.795,20276,8.795]],["title/classes/SchoolNumberMismatchLoggableException.html",[0,0.241,20229,6.113]],["body/classes/SchoolNumberMismatchLoggableException.html",[0,0.238,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,27,0.516,29,0.526,30,0.001,31,0.387,32,0.17,33,0.496,35,1.089,47,0.987,52,4.816,55,2.37,95,0.121,101,0.009,103,0,104,0,112,0.745,148,0.677,155,3.734,180,4.653,190,2.199,228,2.486,231,1.638,233,2.137,277,0.986,290,1.635,339,2.021,393,3.413,400,2.021,402,2.479,433,0.847,436,3.745,644,4.198,652,1.402,703,2.912,868,5.63,871,2.536,998,5.141,1027,2.109,1078,3.02,1080,4.055,1115,4.451,1237,2.749,1354,8.457,1355,6.241,1356,7.098,1360,4.569,1361,3.963,1362,4.569,1363,4.569,1364,4.569,1365,4.569,1366,4.569,1367,4.243,1368,3.895,1374,4.448,1422,4.346,1423,5.061,1426,5.195,1462,3.716,1468,5.061,1469,5.314,1477,3.519,1478,3.663,2105,5.799,2109,3.02,4249,5.291,4952,5.056,4953,4.569,4970,4.985,7858,4.506,10416,4.569,20189,9.528,20229,8.331,20277,10.856,20278,6.893,20279,12.267,20280,11.697,20281,6.893,20282,6.893,20283,6.893,20284,6.893]],["title/classes/SchoolNumberMissingLoggableException.html",[0,0.241,20285,5.86]],["body/classes/SchoolNumberMissingLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,26,2.601,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,35,1,55,2.601,95,0.136,99,1.757,101,0.011,103,0.001,104,0.001,148,0.857,180,5.228,228,1.566,231,1.914,233,2.703,277,1.247,339,2.556,400,2.556,433,1.071,703,3.403,983,5.626,1027,2.668,1115,3.318,1237,3.213,1422,4.883,1423,5.687,1426,5.702,1462,4.701,1468,5.687,1469,5.97,1477,4.451,1478,4.634,4588,4.178,4665,5.104,4970,5.601,6435,7.509,10116,10.705,10121,6.395,10416,5.779,14359,6.693,20189,10.705,20285,9.332,20286,8.075,20287,8.718]],["title/interfaces/SchoolProperties.html",[159,0.712,19926,5.658]],["body/interfaces/SchoolProperties.html",[0,0.313,3,0.009,4,0.009,5,0.004,7,0.126,30,0.001,31,0.606,32,0.161,33,0.631,47,1.01,83,2.949,95,0.131,96,1.3,101,0.014,102,2.646,103,0,104,0,112,0.709,122,2.351,125,1.186,142,1.802,153,1.214,159,0.509,161,1.186,180,2.134,185,1.705,195,2.919,196,4.364,197,2.098,205,1.529,223,4.053,224,1.442,226,2.264,229,1.963,231,0.859,232,1.347,233,1.543,316,2.396,540,1.652,692,2.321,704,5.791,789,5.504,886,1.576,1082,3.514,1821,2.358,1826,2.558,2070,2.684,2184,1.971,2482,5.124,2712,4.583,2942,5.261,2946,4.017,2950,4.172,2951,5.916,3431,4.843,3432,4.314,4654,3.961,4664,2.242,4714,7.256,4731,3.822,4732,5.916,4984,7.142,5210,5.776,5215,6.709,5727,4.211,6206,4.314,6238,3.255,7211,3.213,7501,7.87,7509,7.256,7567,4.672,7586,5.761,7587,3.732,7895,3.001,7896,4.672,10107,7.055,10112,3.732,10113,6.097,10134,3.732,11509,7.518,12561,7.627,13714,5.916,15077,5.505,15078,5.047,15079,3.652,15105,3.58,15156,3.652,15157,3.213,15253,7.367,15329,8.283,15330,7.915,15335,7.759,15347,4.045,15349,3.822,15351,3.732,15364,4.045,15402,8.824,19891,4.189,19892,4.189,19900,7.338,19904,4.189,19906,4.189,19910,4.189,19912,4.045,19913,4.045,19914,4.189,19915,4.189,19916,4.189,19917,6.315,19918,4.189,19919,4.189,19920,4.189,19921,4.189,19922,4.189,19923,4.189,19924,4.189,19925,4.189,19926,7.338,19927,7.338,19928,4.189,19929,4.189,19930,5.916,19931,4.189,19932,6.315,19933,4.189,19934,4.189,19935,6.315,19936,4.189,19937,4.189]],["title/classes/SchoolRolePermission.html",[0,0.241,19927,5.658]],["body/classes/SchoolRolePermission.html",[0,0.332,2,0.582,3,0.01,4,0.01,5,0.005,7,0.134,27,0.316,30,0.001,31,0.455,32,0.1,33,0.483,47,0.936,83,2.374,95,0.136,96,1.439,101,0.014,102,2.929,103,0,104,0,112,0.753,122,2.441,125,1.313,142,1.995,153,1.309,159,0.564,180,2.362,185,1.888,190,1.451,195,3.016,196,4.451,197,2.262,205,1.65,211,4.465,223,4.14,224,1.596,226,2.506,229,2.174,231,0.951,232,1.491,233,1.709,316,2.653,540,1.829,692,2.569,704,4.898,789,3.016,886,1.745,1082,3.891,1821,2.61,1826,2.832,2070,2.972,2184,2.182,2482,5.527,2712,4.868,2942,5.462,2946,4.333,2950,4.5,2951,6.381,3431,5.224,3432,4.654,4654,4.272,4664,2.482,4714,5.443,4731,4.231,4732,6.381,4984,6.041,5210,5.135,5215,6.026,5727,4.473,6206,4.654,6238,3.603,7211,3.557,7501,7.336,7509,5.443,7567,5.039,7586,6.214,7587,4.131,7895,3.322,7896,5.039,10107,5.292,10112,4.131,10113,6.576,10134,4.131,11509,6.359,12561,7.11,13714,6.381,15077,5.938,15078,5.443,15079,4.043,15105,3.963,15156,4.043,15157,3.557,15253,5.527,15329,6.214,15330,5.938,15335,6.899,15347,4.478,15349,4.231,15351,4.131,15364,4.478,15402,8.442,19891,4.637,19892,4.637,19900,7.794,19904,4.637,19906,4.637,19910,4.637,19912,4.478,19913,4.478,19914,4.637,19915,4.637,19916,4.637,19917,6.811,19918,4.637,19919,4.637,19920,4.637,19921,4.637,19922,4.637,19923,4.637,19924,4.637,19925,4.637,19926,6.576,19927,8.59,19928,8.072,19929,8.072,19930,6.381,19931,4.637,19932,6.811,19933,4.637,19934,4.637,19935,6.811,19936,4.637,19937,4.637,20288,5.511,20289,5.511]],["title/classes/SchoolRoles.html",[0,0.241,19900,5.658]],["body/classes/SchoolRoles.html",[0,0.331,2,0.579,3,0.01,4,0.01,5,0.005,7,0.133,27,0.314,30,0.001,31,0.453,32,0.1,33,0.482,47,0.935,83,2.364,95,0.135,96,1.431,101,0.014,102,2.913,103,0,104,0,112,0.75,122,2.186,125,1.306,142,1.984,153,1.304,159,0.561,180,2.349,185,1.877,190,1.445,195,3.013,196,4.447,197,2.253,205,1.643,211,4.447,223,4.135,224,1.588,226,2.493,229,2.162,231,0.946,232,1.483,233,1.699,316,2.638,540,1.819,692,2.555,704,4.883,789,3,886,1.736,1082,3.869,1821,2.596,1826,2.817,2070,2.955,2184,2.17,2482,5.505,2712,4.852,2942,5.782,2946,4.316,2950,4.482,2951,6.356,3431,7.252,3432,6.46,4654,4.255,4664,2.469,4714,5.422,4731,4.208,4732,6.356,4984,6.022,5210,5.119,5215,6.01,5727,4.459,6206,4.635,6238,3.584,7211,3.537,7501,7.317,7509,5.422,7567,5.019,7586,6.189,7587,4.109,7895,3.304,7896,5.019,10107,5.271,10112,4.109,10113,6.55,10134,4.109,11509,6.339,12561,7.091,13714,6.356,15077,5.914,15078,5.422,15079,4.021,15105,3.941,15156,4.021,15157,3.537,15253,5.505,15329,6.189,15330,5.914,15335,6.877,15347,4.453,15349,4.208,15351,4.109,15364,4.453,15402,8.423,19891,4.612,19892,4.612,19900,8.567,19904,4.612,19906,4.612,19910,4.612,19912,4.453,19913,4.453,19914,4.612,19915,4.612,19916,4.612,19917,6.784,19918,4.612,19919,4.612,19920,4.612,19921,4.612,19922,4.612,19923,4.612,19924,4.612,19925,4.612,19926,6.55,19927,9.129,19928,4.612,19929,4.612,19930,6.356,19931,4.612,19932,6.784,19933,4.612,19934,4.612,19935,6.784,19936,4.612,19937,4.612,20290,5.481,20291,5.481]],["title/interfaces/SchoolSpecificFileCopyService.html",[159,0.712,3631,5.49]],["body/interfaces/SchoolSpecificFileCopyService.html",[3,0.017,4,0.017,5,0.011,7,0.129,8,1.316,26,2.788,27,0.361,29,0.707,30,0.001,31,0.52,32,0.155,33,0.423,35,1.062,36,2.435,39,2.57,95,0.14,99,1.866,101,0.016,103,0.001,104,0.001,159,0.947,161,2.206,326,3.524,1083,6.51,1317,7.342,2608,6.944,3441,8.635,3631,9.082,3898,4.641,5471,8.578,5473,8.578,6666,4.386,7210,6.51,7221,7.109,11928,8.128,12257,9.359,18649,8.578,18651,8.578,20292,10.111,20293,9.261,20294,10.671,20295,12.153,20296,9.261,20297,8.578,20298,8.128]],["title/injectables/SchoolSpecificFileCopyServiceFactory.html",[589,0.926,3896,5.86]],["body/injectables/SchoolSpecificFileCopyServiceFactory.html",[0,0.307,3,0.016,4,0.016,5,0.012,7,0.124,8,1.281,27,0.437,29,0.856,30,0.001,31,0.63,32,0.139,33,0.512,35,1.017,95,0.144,101,0.011,103,0.001,104,0.001,148,0.872,153,1.435,228,1.593,277,1.269,400,2.602,433,1.09,435,3.853,507,4.981,589,1.491,591,2.105,703,3.441,1083,7.53,1317,5.654,2608,8.203,2831,3.552,3441,9.217,3631,9.694,3632,7.465,3896,9.436,3898,4.446,3906,7.787,7340,9.787,20292,10.793,20298,11.34,20299,8.873,20300,8.218,20301,8.873,20302,11.215,20303,8.873,20304,7.787,20305,8.873]],["title/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.241,20304,6.113]],["body/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.288,2,0.878,3,0.015,4,0.02,5,0.012,7,0.116,8,1.23,27,0.42,29,0.822,30,0.001,31,0.605,32,0.133,33,0.492,35,0.954,36,2.275,39,2.309,95,0.133,101,0.011,103,0.001,104,0.001,148,0.818,228,1.933,317,2.581,326,3.167,433,1.322,435,4.099,652,2.189,703,2.553,711,3.456,1083,7.129,1237,3.118,1317,6.86,2608,7.192,2831,3.331,3011,3.802,3272,6.559,3441,8.944,3631,9.406,3632,7.001,3898,5.394,3933,5.097,4588,3.687,6666,5.097,7221,6.387,7340,9.623,12257,8.745,18379,6.387,20292,10.472,20294,9.97,20295,11.686,20297,7.707,20298,11.073,20300,7.707,20304,9.447,20306,8.321,20307,8.321,20308,8.321,20309,8.321,20310,10.764,20311,8.321,20312,8.321,20313,8.321]],["title/classes/SchoolSystemOptions.html",[0,0.241,15157,4.494]],["body/classes/SchoolSystemOptions.html",[0,0.29,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,8,1.235,26,2.653,27,0.51,30,0.001,32,0.134,35,0.96,48,5.926,95,0.133,99,1.687,101,0.015,103,0.001,104,0.001,112,0.848,113,4.294,148,1.176,159,0.856,185,2.868,231,2.065,435,3.713,436,3.192,532,4.638,711,3.792,735,4.891,1767,5.87,1770,5.24,1773,7.288,1849,4.772,2615,7.207,2623,8.775,3067,5.212,3085,5.212,3430,5.491,4588,4.331,4600,5.272,4623,6.427,4626,7.045,4841,6.802,15157,6.974,17764,8.78,18296,5.911,19859,7.045,20314,11.099,20315,8.373,20316,8.373,20317,8.373,20318,8.373,20319,7.755,20320,7.349,20321,6.802,20322,7.755,20323,7.755]],["title/classes/SchoolSystemOptionsBuilder.html",[0,0.241,20324,5.86]],["body/classes/SchoolSystemOptionsBuilder.html",[0,0.292,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.242,27,0.424,29,0.83,30,0.001,31,0.61,32,0.134,33,0.496,35,0.968,95,0.146,101,0.011,103,0.001,104,0.001,125,2.011,135,1.414,148,0.83,153,2.052,159,0.863,228,1.516,400,2.476,433,1.037,540,2.801,579,3.102,703,2.59,711,3.48,1422,3.38,2615,6.847,2617,5.256,2621,9.305,2623,8.337,3430,5.509,4623,6.481,5004,5.449,14382,6.484,14395,7.896,14396,5.317,14397,5.317,18296,9.265,18348,7.411,18350,7.821,18540,7.411,20314,10.545,20324,9.142,20325,10.866,20326,8.443,20327,10.866,20328,8.443,20329,8.443,20330,11.129,20331,8.443,20332,10.866,20333,10.866,20334,8.443,20335,8.443]],["title/entities/SchoolSystemOptionsEntity.html",[205,1.419,15078,4.684]],["body/entities/SchoolSystemOptionsEntity.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,26,2.113,27,0.454,30,0.001,32,0.144,34,1.355,95,0.15,96,2.069,99,1.597,101,0.013,103,0,104,0,112,0.914,153,1.282,159,1.066,190,2.089,205,2.125,206,2.586,219,5.752,224,2.296,225,3.996,229,3.126,231,1.368,232,2.145,233,2.457,458,3.161,459,5.394,540,2.63,692,5.998,703,4.052,2615,7.057,2617,4.934,2621,7.649,2623,8.592,3430,6.058,4648,5.412,4654,5.504,4655,4.442,4656,6.669,4848,6.44,5210,6.886,5727,5.433,7573,4.88,7574,4.73,7778,7.013,9934,5.412,10135,5.942,10136,6.249,15078,7.013,18276,10.418,18352,6.957,20336,11.469,20337,7.927,20338,7.927,20339,7.927,20340,6.957,20341,8.472,20342,7.342]],["title/interfaces/SchoolSystemOptionsEntityProps.html",[159,0.712,20341,5.658]],["body/interfaces/SchoolSystemOptionsEntityProps.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,26,2.527,30,0.001,32,0.154,33,0.482,34,2.132,95,0.151,96,2.107,99,1.626,101,0.014,103,0,104,0,112,0.922,153,1.305,159,1.079,161,1.922,205,2.15,219,5.82,224,2.338,225,4.044,229,3.183,231,1.392,232,2.184,233,2.502,458,3.218,459,5.457,540,2.678,692,6.188,703,4.149,2615,4.599,2617,5.023,2621,9.146,2623,8.978,3430,5.955,4654,5.569,4655,4.523,4656,6.79,4848,6.556,5210,7.105,5727,5.481,7573,4.968,7574,4.816,9934,5.51,10135,6.049,10136,6.362,15078,5.427,18276,9.892,18352,7.083,20336,7.475,20340,7.083,20341,9.552,20342,7.475]],["title/classes/SchoolSystemOptionsMapper.html",[0,0.241,19880,6.113]],["body/classes/SchoolSystemOptionsMapper.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.345,27,0.374,29,0.732,30,0.001,31,0.539,32,0.119,33,0.438,35,1.1,95,0.131,100,3.345,101,0.012,103,0.001,104,0.001,135,1.248,148,0.943,153,1.551,467,3.708,540,3.183,1883,3.601,2615,6.71,3430,5.113,4866,6.599,18278,7.562,18279,7.562,18280,7.562,18296,9.377,19877,11.8,19879,10.719,19880,10.334,20343,11.774,20344,9.593,20345,11.774,20346,11.774,20347,9.593,20348,9.593,20349,9.593,20350,9.593]],["title/interfaces/SchoolSystemOptionsProps.html",[159,0.712,20321,5.658]],["body/interfaces/SchoolSystemOptionsProps.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.124,26,2.863,30,0.001,32,0.16,48,6.257,95,0.137,99,1.8,101,0.016,103,0.001,104,0.001,112,0.883,148,1.212,159,0.913,161,2.128,185,3.059,231,2.128,532,4.75,711,3.573,1767,6.7,1770,4.508,1849,5.09,2615,5.09,2623,9.265,3430,3.878,4588,4.573,4623,6.856,4626,7.515,4841,7.256,15157,5.764,17764,9.149,18296,6.305,20314,7.839,20319,8.273,20320,7.839,20321,9.149,20322,8.273,20323,8.273]],["title/injectables/SchoolSystemOptionsRepo.html",[589,0.926,15385,5.86]],["body/injectables/SchoolSystemOptionsRepo.html",[0,0.207,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,18,4.304,26,2.528,27,0.428,29,0.839,30,0.001,31,0.617,32,0.136,33,0.502,34,1.469,35,1.153,36,2.322,48,5.148,95,0.145,96,1.561,97,2.412,99,1.205,101,0.008,103,0,104,0,135,1.717,142,3.977,148,1.08,153,1.882,205,2.371,228,1.074,277,0.855,317,2.62,400,1.753,433,0.735,435,2.054,478,1.675,540,1.984,579,2.452,589,1.142,591,1.418,652,2.044,657,2.512,703,2.635,711,3.508,1422,2.393,1770,4.848,1883,2.244,2446,5.967,2474,5.775,2497,7.538,2498,4.149,2615,6.631,2623,5.959,3430,5.544,3528,9.309,3644,3.81,3649,4.895,3707,4.482,4588,2.942,5136,3.963,5210,4.597,10679,5.031,10682,5.031,10687,7.226,12962,9.309,12964,9.309,12965,5.538,12966,5.538,14382,6.555,14395,6.838,14396,3.765,14397,3.765,15078,8.743,15157,8.39,15385,7.226,15527,7.226,18296,6.063,18353,5.031,20321,6.977,20324,7.226,20341,6.977,20351,10.777,20352,5.979,20353,7.955,20354,5.979,20355,5.979,20356,5.979,20357,7.955,20358,5.979,20359,5.979,20360,5.248,20361,5.979,20362,5.979,20363,8.588,20364,5.979,20365,5.979,20366,5.979,20367,5.979,20368,5.979,20369,5.538,20370,5.979,20371,5.979,20372,5.979,20373,5.979,20374,5.979,20375,5.979,20376,5.979]],["title/classes/SchoolSystemOptionsRepoMapper.html",[0,0.241,20360,6.113]],["body/classes/SchoolSystemOptionsRepoMapper.html",[0,0.276,2,0.842,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,27,0.408,29,0.799,30,0.001,31,0.588,32,0.13,33,0.478,34,1.79,35,1.201,48,3.737,95,0.138,96,2.082,97,3.216,101,0.01,103,0,104,0,135,1.521,148,1.029,205,2.382,245,6.286,435,2.739,459,4.124,467,3.851,478,2.234,540,3.878,692,3.718,703,2.446,1883,2.993,2446,6.742,2615,6.661,2623,8.944,3430,5.389,3649,6.661,4588,2.731,4666,5.849,4768,4.806,4866,6.956,5210,4.268,10651,9.835,12847,10.259,12855,6.998,12886,7.386,12897,7.386,12900,7.386,15078,8.346,15157,8.537,18296,8.761,20024,6.286,20321,10.472,20341,10.083,20351,10.827,20360,9.189,20377,7.974,20378,7.974,20379,7.974,20380,7.974,20381,7.974,20382,7.974]],["title/injectables/SchoolSystemOptionsRule.html",[589,0.926,1875,5.86]],["body/injectables/SchoolSystemOptionsRule.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.447,29,0.876,30,0.001,31,0.645,32,0.151,33,0.524,35,1.172,95,0.142,101,0.01,103,0,104,0,122,2.848,135,1.657,148,1.004,183,4.383,228,1.38,277,1.099,290,3.259,400,2.253,433,0.944,478,2.153,589,1.358,591,1.823,653,3.16,703,2.357,711,3.792,1237,2.226,1770,5.349,1775,6.694,1801,8.06,1838,6.158,1875,8.596,1982,6.511,1986,6.289,1993,5.024,2070,4.143,2619,6.511,3430,5.311,3711,5.093,3714,6.593,3716,5.093,3717,6.772,3718,5.525,7003,5.424,11332,8.596,15157,8.757,18296,5.424,20062,11.33,20383,7.684,20384,7.684,20385,7.684,20386,7.684,20387,10.216,20388,7.117,20389,10.216,20390,7.684,20391,9.463]],["title/injectables/SchoolSystemOptionsService.html",[589,0.926,15383,5.658]],["body/injectables/SchoolSystemOptionsService.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,18,4.734,26,2.822,27,0.455,29,0.934,30,0.001,31,0.655,32,0.151,33,0.533,35,1.241,36,2.674,48,6.285,95,0.136,99,1.379,101,0.009,103,0,104,0,135,1.518,142,3.42,148,1.063,153,1.749,228,1.229,277,0.979,317,2.901,400,2.007,433,0.841,532,4.277,540,3.87,579,1.954,589,1.256,591,1.624,653,2.816,657,2.474,711,3.885,1422,2.74,1883,2.57,2615,6.974,2636,3.351,3430,5.314,4588,4.192,15157,8.922,15383,7.675,15385,10.646,16549,8.75,18289,6.008,18296,4.832,19859,9.102,20330,10.803,20353,8.75,20357,8.75,20392,11.335,20393,6.846,20394,6.846,20395,6.846,20396,6.846,20397,6.846,20398,6.846,20399,9.447,20400,6.846,20401,9.447,20402,8.75,20403,6.846,20404,8.75,20405,6.846]],["title/injectables/SchoolSystemOptionsUc.html",[589,0.926,15321,5.86]],["body/injectables/SchoolSystemOptionsUc.html",[0,0.208,3,0.011,4,0.011,5,0.005,7,0.084,8,0.987,26,2.858,27,0.393,29,0.77,30,0.001,31,0.567,32,0.125,33,0.461,34,1.476,35,0.99,36,2.33,39,3.059,48,6.269,49,2.269,95,0.149,96,1.573,97,2.43,99,1.214,101,0.008,103,0,104,0,135,1.664,142,3.654,148,0.849,153,1.964,159,0.616,228,1.812,277,0.861,290,2.615,317,2.627,433,1.061,579,2.881,589,1.148,591,1.429,595,2.285,610,2.376,652,2.053,657,2.777,693,2.739,711,3.517,1422,2.411,1472,3.349,1540,4.18,1780,3.631,1862,6.453,1883,2.261,1962,5.152,2615,6.282,2621,8.085,2623,5.991,2667,4.332,2680,2.766,3430,5.555,4510,3.708,4588,4.382,4862,3.993,4863,4.051,4987,7.015,15157,8.721,15321,7.265,15383,10.16,15482,8.992,15527,7.265,17030,5.069,18296,6.095,18353,5.069,19859,8.492,20324,7.265,20402,5.58,20404,5.58,20406,11.023,20407,6.024,20408,10.092,20409,6.024,20410,6.024,20411,10.092,20412,6.024,20413,6.024,20414,6.024,20415,8.635,20416,6.024,20417,6.024,20418,5.58,20419,6.024,20420,6.024,20421,6.024,20422,6.024,20423,6.024,20424,6.024,20425,6.024]],["title/classes/SchoolSystemParams.html",[0,0.241,19862,6.113]],["body/classes/SchoolSystemParams.html",[0,0.411,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,26,2.774,27,0.463,30,0.001,32,0.147,48,6.008,95,0.143,99,1.961,101,0.012,103,0.001,104,0.001,112,0.932,190,2.129,200,2.978,202,2.235,296,3.354,855,5.191,2615,7.307,4588,4.391,6815,8.541,19862,10.425,20426,12.821,20427,9.733,20428,9.733,20429,9.733]],["title/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.241,20053,6.113]],["body/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.329,2,1.003,3,0.018,4,0.018,5,0.009,7,0.132,8,1.337,27,0.37,29,0.725,30,0.001,31,0.534,32,0.118,33,0.434,35,1.09,95,0.13,101,0.012,103,0.001,104,0.001,135,1.236,148,0.934,153,1.537,402,4.563,467,3.692,614,4.215,829,5.615,830,6.507,837,4.705,2698,4.116,4111,9.849,6105,9.849,6107,6.708,8292,6.852,16002,7.72,19943,10.437,19947,11.44,19977,9.849,20041,8.802,20053,10.273,20097,7.995,20430,9.502]],["title/injectables/SchoolValidationService.html",[589,0.926,15386,5.86]],["body/injectables/SchoolValidationService.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,8,1.215,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.22,36,2.648,47,0.6,95,0.14,101,0.01,103,0.001,104,0.001,135,1.063,142,3.85,148,1.045,153,1.321,195,1.795,228,1.467,277,1.168,279,3.387,317,2.881,400,2.395,433,1.004,579,2.332,589,1.414,591,1.938,652,2.405,657,2.432,703,3.263,711,3.426,1213,6.778,1422,3.27,1531,8.843,1853,2.68,2071,8.126,2073,6.873,2615,7.139,6116,6.439,10566,7.169,10585,7.169,15212,8.641,15386,8.949,15445,7.566,20272,7.169,20431,12.527,20432,10.636,20433,8.169,20434,10.636,20435,10.636,20436,8.169,20437,8.169,20438,10.636,20439,8.169,20440,8.169,20441,7.566]],["title/entities/SchoolYearEntity.html",[205,1.419,12561,4.684]],["body/entities/SchoolYearEntity.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.125,27,0.482,30,0.001,31,0.729,32,0.153,47,0.909,83,4.004,95,0.126,96,2.347,101,0.014,103,0.001,104,0.001,112,0.887,159,0.92,190,2.218,205,2.305,206,2.934,223,4.32,224,2.605,226,4.089,229,3.546,231,1.551,232,2.433,233,2.787,1237,2.605,2184,3.559,2482,7.722,4664,4.05,7512,9.336,7582,7.305,7583,6.902,12561,7.605,20442,8.329,20443,10.924,20444,8.992,20445,8.992,20446,8.992,20447,10.859,20448,7.565,20449,8.329,20450,8.329]],["title/interfaces/SchoolYearProperties.html",[159,0.712,20447,6.113]],["body/interfaces/SchoolYearProperties.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.756,32,0.155,47,0.961,83,4.127,95,0.128,96,2.396,101,0.015,103,0.001,104,0.001,112,0.899,159,0.938,161,2.186,205,2.334,223,4.076,224,2.658,226,4.173,229,3.619,231,1.583,232,2.483,233,2.845,1237,2.658,2184,3.632,2482,7.821,4664,4.133,7512,9.678,7582,7.455,7583,7.044,12561,6.171,20442,8.5,20443,11.325,20447,11.478,20448,7.721,20449,8.5,20450,8.5]],["title/injectables/SchoolYearRepo.html",[589,0.926,15387,5.86]],["body/injectables/SchoolYearRepo.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.105,8,1.151,10,4.048,12,4.56,18,5.049,26,2.042,27,0.507,29,0.926,30,0.001,31,0.681,32,0.15,33,0.554,34,1.287,35,1.45,36,2.673,40,3.642,49,3.795,83,2.207,95,0.127,101,0.01,103,0,104,0,135,1.311,142,2.724,148,0.99,153,1.217,205,1.534,206,3.287,231,1.738,277,1.076,317,2.959,436,3.583,478,2.108,532,5.112,589,1.339,591,1.785,657,1.721,728,7.71,734,4.246,735,4.56,736,5.591,759,4.491,760,4.583,761,4.536,762,4.583,763,5.222,764,4.536,765,4.583,766,4.028,771,5.411,2615,6.473,3960,6.114,4591,7.39,7512,5.411,7944,6.114,9508,9.969,12561,7.638,15387,8.477,20443,6.332,20451,7.526,20452,12.13,20453,7.526,20454,7.526,20455,7.526]],["title/injectables/SchoolYearService.html",[589,0.926,15384,5.86]],["body/injectables/SchoolYearService.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,12,4.931,26,2.575,27,0.469,29,0.832,30,0.001,31,0.612,32,0.135,33,0.498,34,1.45,35,1.249,36,2.685,40,5.273,95,0.142,99,1.708,101,0.011,103,0.001,104,0.001,135,1.418,148,1.071,228,1.523,277,1.213,317,2.91,400,2.486,433,1.042,478,2.375,589,1.448,591,2.011,657,2.492,734,3.573,1829,3.634,1883,3.183,1941,5.544,2615,7.241,2636,4.15,4215,5.883,4591,7.992,4714,5.702,5102,7.56,11507,7.134,11508,6.509,11509,5.62,12561,8.096,15384,9.167,15387,11.317,20392,11.769,20456,8.479,20457,12.706,20458,8.479,20459,8.479,20460,8.479,20461,8.479,20462,8.479,20463,8.479]],["title/classes/SchulConneXProvisioningOptions.html",[0,0.241,17764,5.658]],["body/classes/SchulConneXProvisioningOptions.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,27,0.511,29,0.826,30,0.001,31,0.608,32,0.134,33,0.494,35,0.962,95,0.121,101,0.011,103,0.001,104,0.001,112,0.849,129,3.547,130,3.242,148,0.825,159,0.858,195,2.378,197,3.537,231,1.867,435,2.882,436,3.197,532,3.077,540,2.784,567,4.035,711,3.135,1237,3.135,2140,4.782,2614,11.497,2615,7.213,2617,5.223,2619,6.897,2620,7.772,2621,7.938,2623,5.822,2624,10.024,4841,6.817,4845,7.772,17764,8.792,18278,9.443,18279,9.443,18280,9.443,18283,7.364,18284,7.364,18285,7.364,18286,7.364,18287,7.364,18288,7.364,20320,11.108,20464,12.656,20465,11.772,20466,8.39,20467,8.39,20468,8.39,20469,8.39]],["title/classes/SchulConneXProvisioningOptionsParams.html",[0,0.241,19878,6.113]],["body/classes/SchulConneXProvisioningOptionsParams.html",[0,0.325,2,0.991,3,0.017,4,0.017,5,0.008,7,0.131,27,0.492,30,0.001,32,0.156,95,0.129,101,0.012,103,0.001,104,0.001,112,0.912,122,2.862,159,0.96,190,2.262,202,2.156,296,3.661,1237,3.366,2615,7.515,2617,8.207,18278,9.948,18279,9.948,18280,9.948,18301,8.699,19878,10.199,20465,11.075,20470,13.186,20471,9.391,20472,9.391,20473,9.391]],["title/classes/SchulConneXProvisioningOptionsResponse.html",[0,0.241,19879,5.86]],["body/classes/SchulConneXProvisioningOptionsResponse.html",[0,0.305,2,0.93,3,0.016,4,0.016,5,0.008,7,0.123,27,0.502,29,0.673,30,0.001,31,0.495,32,0.159,33,0.403,95,0.124,101,0.011,103,0.001,104,0.001,112,0.876,122,2.817,159,0.901,190,2.198,202,2.024,232,3.022,296,3.611,433,1.083,435,3.028,1237,3.235,2615,7.579,2617,8.278,18278,9.664,18279,9.664,18280,9.664,18283,7.736,18284,7.736,18285,7.736,18286,7.736,18287,7.736,18288,7.736,19879,11.19,20465,10.76,20474,13.299,20475,8.164,20476,11.168,20477,8.814,20478,8.814]],["title/classes/Scope.html",[0,0.241,6288,2.831]],["body/classes/Scope.html",[0,0.255,2,0.778,3,0.014,4,0.014,5,0.007,7,0.103,8,1.136,27,0.515,29,0.858,30,0.001,31,0.631,32,0.166,33,0.514,35,1.14,95,0.111,96,1.925,101,0.009,103,0,104,0,112,0.78,122,2.604,129,2.184,130,1.995,135,0.959,145,2.768,148,1.182,197,2.061,224,2.136,365,5.746,433,0.906,569,3.089,652,2.771,735,4.498,756,2.941,815,8.722,1675,4.444,2479,8.137,6288,4.89,7007,7.451,7008,7.451,7009,7.451,7014,6.587,7015,6.587,7017,8.576,7028,6.587,7029,7.974,7031,6.587,7033,6.587,16781,10.412,20479,7.374,20480,9.938,20481,9.938,20482,7.374,20483,7.374,20484,7.374,20485,7.374,20486,7.374,20487,7.374,20488,7.374,20489,7.374,20490,9.938,20491,11.241,20492,9.938,20493,7.374,20494,7.374,20495,7.374]],["title/interfaces/ScopeInfo.html",[159,0.712,20496,5.658]],["body/interfaces/ScopeInfo.html",[3,0.018,4,0.018,5,0.009,7,0.138,26,2.721,30,0.001,32,0.166,47,1.056,95,0.11,99,1.995,101,0.013,103,0.001,104,0.001,112,0.942,155,4.286,159,1.012,161,2.358,2138,5.225,2161,8.9,11298,10.909,20496,9.751,20497,9.17,20498,9.901,20499,13.428]],["title/classes/ScopeRef.html",[0,0.241,20500,5.346]],["body/classes/ScopeRef.html",[0,0.326,2,0.994,3,0.017,4,0.017,5,0.008,7,0.131,26,2.799,27,0.492,29,0.719,30,0.001,31,0.529,32,0.156,33,0.43,34,2.319,95,0.13,99,1.897,101,0.012,103,0.001,104,0.001,112,0.913,433,1.156,458,3.754,595,3.57,2138,6.965,2435,7.946,6288,5.691,7150,8.719,8262,6.33,20497,12.223,20500,8.933,20501,10.889,20502,11.637,20503,9.413]],["title/interfaces/ServerConfig.html",[159,0.712,649,4.386]],["body/interfaces/ServerConfig.html",[3,0.014,4,0.014,5,0.007,7,0.104,30,0.001,32,0.167,47,1.014,52,5.08,55,2.291,95,0.152,101,0.014,103,0,104,0,112,0.785,122,2.613,135,1.303,159,0.762,161,1.776,231,1.728,310,9.922,312,6.544,313,9.274,647,5.469,648,4.695,649,7.609,886,2.361,981,6.098,1317,4.751,1537,5.469,2088,4.845,2219,3.342,2220,3.759,2221,3.629,2222,4.695,2229,6.544,2831,2.985,3240,3.831,3898,3.736,3900,3.935,4919,6.836,4943,7.344,5729,9.922,5733,6.906,5735,4.695,7478,9.512,9358,9.184,12092,4.811,12095,5.877,12096,6.544,12097,5.877,12099,6.273,12100,6.906,12282,9.512,13876,9.512,13878,6.906,13879,6.906,13880,6.906,14517,6.273,16218,8.678,16220,6.906,18880,8.788,20504,7.456,20505,9.184,20506,12.606,20507,12.606,20508,7.456,20509,7.456,20510,10.012,20511,6.906,20512,6.906,20513,7.456,20514,7.456,20515,7.456,20516,7.456,20517,6.906,20518,7.456,20519,7.456,20520,7.456,20521,6.906,20522,7.456,20523,7.456,20524,7.456,20525,7.456,20526,7.456,20527,7.456]],["title/classes/ServerConsole.html",[0,0.241,20528,6.113]],["body/classes/ServerConsole.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,8,1.217,27,0.461,29,0.813,30,0.001,31,0.598,32,0.132,33,0.487,35,1.221,47,0.87,95,0.119,101,0.01,103,0.001,104,0.001,148,1.047,157,3.009,190,1.909,271,4.011,400,2.4,433,1.006,569,3.897,641,7.145,981,8.378,1372,4.32,2164,5.491,2358,7.207,2884,9.015,3802,6.452,3803,8.197,3806,8.175,3808,8.175,3811,5.425,3812,8.96,3813,8.468,3814,4.792,11480,9.332,20528,9.347,20529,8.185,20530,11.613,20531,10.65,20532,8.185,20533,8.185,20534,10.65,20535,9.347,20536,8.185,20537,9.864,20538,8.185,20539,8.185]],["title/modules/ServerConsoleModule.html",[252,1.839,20540,6.451]],["body/modules/ServerConsoleModule.html",[0,0.252,3,0.014,4,0.014,5,0.007,30,0.001,32,0.09,47,0.536,87,3.677,95,0.159,96,2.575,101,0.009,103,0,104,0,122,1.512,153,1.179,195,1.603,206,2.379,224,2.113,252,3.162,254,2.623,255,2.785,256,2.855,257,2.845,258,2.835,259,4.06,260,2.71,269,3.862,270,2.805,271,2.747,276,3.862,277,1.043,290,1.73,347,3.748,478,2.043,623,4.768,647,5.35,649,4.592,651,3.7,736,4.856,1014,5.061,1015,4.98,1017,6.845,1019,7.236,1020,6.401,1021,4.706,1022,6.845,1023,6.964,1024,6.845,1025,4.706,1026,4.592,1039,5.749,1040,5.061,1041,4.98,1317,6.287,1626,4.087,1716,6.401,1829,3.126,2164,3.383,2219,3.269,2220,3.677,2221,3.55,2860,4.706,2903,4.768,2954,3.876,3813,6.073,3814,4.269,3887,9.9,4259,4.269,5348,5.467,6380,5.925,7237,6.008,8855,6.401,9050,10.851,9141,9.137,11928,6.401,12414,7.236,12415,7.236,12427,5.35,12428,5.35,13404,6.401,13885,8.3,14517,6.136,16262,10.477,16280,6.401,20528,8.658,20540,12.728,20541,7.293,20542,7.293,20543,7.293,20544,7.293,20545,7.293,20546,7.293,20547,7.293,20548,7.293]],["title/controllers/ServerController.html",[314,2.65,20549,5.86]],["body/controllers/ServerController.html",[0,0.349,3,0.019,4,0.019,5,0.009,7,0.14,8,1.386,27,0.393,30,0.001,35,1.155,47,0.891,95,0.112,101,0.013,103,0.001,104,0.001,129,3.592,148,0.99,190,1.806,274,4.194,277,1.441,314,4.616,371,6.446,711,3.513,981,7.387,1372,5.317,2164,4.673,11297,9.562,13669,8.477,20530,12.511,20549,10.206,20550,10.075,20551,10.075]],["title/modules/ServerModule.html",[252,1.839,20552,6.113]],["body/modules/ServerModule.html",[0,0.211,3,0.007,4,0.007,5,0.003,8,0.435,27,0.238,29,0.291,30,0.001,31,0.343,32,0.075,33,0.174,35,0.437,47,0.861,52,1.934,55,1.236,72,4,87,1.922,95,0.159,96,1.592,101,0.01,103,0,104,0,107,2.492,122,1.806,125,2.541,135,1.239,148,0.375,153,0.986,157,0.882,171,5.125,174,2.602,180,2.613,195,0.838,197,1.704,206,1.243,224,1.104,228,1.564,252,3.017,253,5.13,254,3.133,255,1.455,256,1.492,257,1.487,258,1.481,259,1.384,260,1.416,265,4.949,269,2.387,270,1.466,271,1.436,274,3.626,276,3.41,277,0.545,290,0.904,347,1.958,412,2.708,433,0.749,467,1.109,478,1.068,507,1.693,540,2.529,543,1.855,561,1.717,569,1.185,571,1.509,614,1.182,623,3.987,649,2.4,651,1.934,652,1.772,688,1.777,725,2.69,736,3.002,809,2.492,1010,6.866,1011,6.937,1014,2.645,1015,2.602,1016,3.886,1017,4.231,1021,2.459,1022,4.231,1023,4.304,1024,4.231,1025,2.459,1026,2.4,1027,1.166,1028,4.231,1029,2.563,1031,5.38,1034,9.749,1035,3.207,1036,6.263,1038,7.328,1039,3.004,1040,2.645,1041,2.602,1042,2.526,1043,4.231,1045,2.492,1060,2.602,1061,2.926,1062,2.926,1063,2.926,1082,2.69,1086,1.815,1087,1.759,1088,1.786,1089,1.899,1166,2.526,1167,2.346,1218,2.492,1220,2.191,1237,1.766,1272,2.4,1274,2.492,1311,2.492,1317,2.429,1454,2.346,1480,4.807,1582,2.741,1598,2.252,1626,3.417,1743,2.741,1829,3.267,1928,2.252,2070,2.055,2164,3.535,2219,1.709,2220,1.922,2221,1.855,2222,2.4,2345,2.321,2447,3.186,2448,4.082,2513,3.475,2831,2.441,2860,2.459,2954,2.026,3020,5.13,3817,2.526,3889,4.57,3898,3.056,3900,3.218,4261,5.713,4273,4.807,4274,9.617,4921,2.563,4943,5.59,4945,2.796,5029,2.926,5074,1.946,5115,5.13,5202,2.69,5271,2.4,7457,3.935,7642,2.297,9053,3.096,9063,3.345,9069,3.345,9070,3.345,9071,3.345,9072,3.345,9073,3.345,9074,3.345,9599,2.172,10016,2.321,11643,2.741,12092,2.459,12414,4.473,12415,4.473,12416,4.57,12427,2.796,12428,2.796,12429,3.096,12430,2.926,12431,3.004,12572,2.857,12800,5.13,13305,2.741,13411,3.345,13672,3.207,14183,5.13,14301,3.096,14472,3.096,14724,2.926,14942,3.096,15257,5.13,15317,5.13,15322,3.207,15323,3.345,15545,5.13,16027,5.59,16221,3.096,16327,5.13,16331,4.954,16709,5.13,17144,5.13,17315,5.13,17496,5.13,17516,3.207,18380,5.13,18573,3.207,18810,8.976,18814,3.345,20549,8.015,20552,11.015,20553,3.811,20554,3.811,20555,3.53,20556,7.059,20557,9.411,20558,3.811,20559,3.53,20560,3.53,20561,3.53,20562,3.53,20563,3.53,20564,3.53,20565,3.53,20566,3.53,20567,3.53,20568,3.53,20569,3.53,20570,4.954,20571,3.53,20572,5.13,20573,3.53,20574,5.13,20575,3.53,20576,5.13,20577,3.53,20578,5.13,20579,5.13,20580,3.207,20581,5.13,20582,3.53,20583,5.13,20584,3.096,20585,3.096,20586,7.059,20587,3.53,20588,3.53,20589,3.53,20590,3.53,20591,3.53,20592,7.059,20593,3.53,20594,5.648,20595,7.059,20596,3.53,20597,3.53,20598,3.53,20599,3.53,20600,3.53,20601,3.53,20602,3.53,20603,3.53,20604,3.53,20605,3.53,20606,3.53,20607,3.345,20608,3.53,20609,3.53,20610,3.53,20611,3.53,20612,3.53,20613,3.53,20614,3.53,20615,3.53,20616,3.53,20617,3.53,20618,3.53,20619,3.53,20620,5.648,20621,3.53,20622,5.648,20623,3.53,20624,5.648,20625,3.53,20626,3.53,20627,3.53,20628,5.352,20629,3.53]],["title/modules/ServerTestModule.html",[252,1.839,20628,6.113]],["body/modules/ServerTestModule.html",[0,0.203,3,0.007,4,0.007,5,0.003,8,0.416,27,0.288,29,0.448,30,0.001,31,0.415,32,0.091,33,0.268,35,0.674,47,0.849,52,1.846,55,1.19,59,1.131,72,3.894,87,1.835,95,0.158,96,1.534,101,0.009,103,0,104,0,107,2.379,122,1.758,125,2.494,135,1.211,148,0.358,153,0.95,157,0.842,171,4.968,174,2.484,180,2.518,195,0.8,197,1.642,206,1.187,224,1.054,228,1.523,252,2.97,253,4.943,254,3.766,255,1.39,256,1.425,257,1.419,258,1.414,259,1.321,260,1.352,265,4.856,269,2.3,270,1.399,271,1.37,274,3.53,276,3.32,277,0.52,290,0.863,347,1.87,412,3.281,433,0.722,467,1.71,478,1.019,507,1.616,540,2.813,543,1.771,561,1.639,569,1.131,571,1.44,614,1.821,623,3.841,649,2.291,651,1.846,652,1.725,688,1.696,725,2.569,736,2.892,809,2.379,1010,6.685,1011,4.011,1014,2.525,1015,2.484,1016,4.708,1017,4.076,1021,2.348,1022,4.076,1023,4.147,1024,4.076,1025,2.348,1026,2.291,1027,1.113,1028,5.884,1029,6.257,1031,7.391,1034,9.647,1035,3.062,1036,6.097,1038,7.135,1039,2.868,1040,2.525,1041,2.484,1042,2.412,1043,4.076,1045,3.841,1048,2.525,1060,2.484,1061,2.793,1062,2.793,1063,2.793,1082,4.147,1086,1.732,1087,1.679,1088,1.705,1089,1.813,1166,2.412,1167,2.24,1218,3.841,1220,3.377,1237,1.702,1272,2.291,1274,2.379,1311,3.841,1317,2.319,1454,3.616,1480,4.631,1582,2.616,1598,2.15,1626,4.14,1743,2.616,1829,3.988,1928,3.472,2070,1.962,2164,3.427,2219,1.631,2220,1.835,2221,1.771,2222,2.291,2345,3.578,2447,3.088,2448,3.974,2513,4.833,2831,2.352,2860,2.348,2954,1.934,3020,4.943,3817,2.412,3889,4.403,3898,2.944,3900,3.1,4261,5.538,4273,4.631,4274,9.467,4921,3.95,4943,4.309,4945,2.669,5029,2.793,5074,1.858,5115,4.943,5202,2.569,5271,2.291,7457,3.791,7642,2.193,9053,2.956,9063,3.194,9069,3.194,9070,3.194,9071,3.194,9072,3.194,9073,3.194,9074,3.194,9599,2.074,10016,2.216,11643,2.616,12092,2.348,12414,4.309,12415,4.309,12416,4.403,12427,2.669,12428,2.669,12429,2.956,12430,2.793,12431,2.868,12572,4.403,12800,4.943,13305,4.224,13411,3.194,13672,3.062,14183,4.943,14301,2.956,14472,2.956,14724,2.793,14942,2.956,15257,4.943,15317,4.943,15322,3.062,15323,3.194,15545,4.943,16027,5.419,16221,2.956,16327,4.943,16331,4.773,16709,4.943,17144,4.943,17315,4.943,17496,4.943,17516,3.062,18380,4.943,18573,3.062,18810,8.809,18814,3.194,20549,7.829,20552,8.167,20555,3.37,20556,6.843,20557,9.217,20559,3.37,20560,3.37,20561,3.37,20562,3.37,20563,3.37,20564,3.37,20565,3.37,20566,3.37,20567,3.37,20568,3.37,20569,3.37,20570,4.773,20571,3.37,20572,4.943,20573,3.37,20574,4.943,20575,3.37,20576,4.943,20577,3.37,20578,4.943,20579,4.943,20580,3.062,20581,4.943,20582,3.37,20583,4.943,20584,2.956,20585,2.956,20586,6.843,20587,3.37,20588,3.37,20589,3.37,20590,3.37,20591,3.37,20592,6.843,20593,3.37,20594,5.441,20595,6.843,20596,3.37,20597,3.37,20598,3.37,20599,3.37,20600,3.37,20601,3.37,20602,3.37,20603,3.37,20604,3.37,20605,3.37,20606,3.37,20607,3.194,20608,3.37,20609,3.37,20610,3.37,20611,3.37,20612,3.37,20613,3.37,20614,3.37,20615,3.37,20616,3.37,20617,3.37,20618,3.37,20619,3.37,20620,5.441,20621,3.37,20622,5.441,20623,3.37,20624,5.441,20625,5.441,20626,5.441,20627,5.441,20628,11.03,20629,3.37,20630,3.639,20631,3.639,20632,3.639,20633,3.639]],["title/classes/SetHeightBodyParams.html",[0,0.241,4395,6.113]],["body/classes/SetHeightBodyParams.html",[0,0.42,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,55,2.462,95,0.135,101,0.013,103,0.001,104,0.001,112,0.953,190,1.81,194,3.969,195,2.67,196,4.03,197,3.395,200,3.091,202,2.319,296,3.179,3578,8.407,4395,10.662,20634,12.148,20635,10.1,20636,10.1,20637,10.1,20638,11.252]],["title/entities/ShareToken.html",[205,1.419,7511,4.833]],["body/entities/ShareToken.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.151,26,2.48,27,0.493,30,0.001,32,0.157,33,0.578,34,1.171,49,4.884,83,3.172,95,0.136,96,2.466,97,2.761,101,0.012,103,0,104,0,112,0.741,125,2.25,145,2.57,148,0.929,153,1.528,159,0.7,176,5.917,183,3.608,190,2.268,195,2.78,196,3.87,205,1.925,206,2.233,210,7.526,223,3.943,224,1.983,225,3.62,229,2.7,231,1.181,232,1.852,233,2.122,238,5.255,239,5.76,248,5.131,249,5.76,540,2.271,886,3.693,2942,4.382,3668,4.793,3692,8.788,3933,4.474,4655,3.837,5493,7.081,5495,6.892,5501,5.76,6666,5.523,6671,7.386,6672,4.922,6675,4.363,6676,4.75,6764,6.02,6798,5.76,6799,5.562,6800,5.76,7511,6.555,7527,5.76,9256,4.832,11530,5.131,11600,5.76,11674,5.021,11830,6.341,11831,6.341,16472,8.093,16474,4.603,16475,4.537,20639,12.011,20640,6.341,20641,6.846,20642,6.846,20643,9.475,20644,6.846,20645,6.846,20646,6.846,20647,9.194,20648,6.846,20649,6.341,20650,8.291,20651,6.341,20652,6.341]],["title/classes/ShareTokenBodyParams.html",[0,0.241,20653,6.113]],["body/classes/ShareTokenBodyParams.html",[0,0.345,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.524,30,0.001,32,0.16,33,0.55,34,1.704,47,0.732,55,2.441,95,0.126,101,0.009,103,0,104,0,112,0.781,122,2.065,157,2.789,185,4.127,190,2.16,194,5.288,195,2.957,196,4.465,197,3.761,199,5.495,200,2.265,202,1.699,296,3.29,300,4.316,329,6.068,703,3.057,756,3.973,855,4.034,886,3.154,891,8.094,899,3.382,1147,7.648,2587,9.249,2910,7.854,3418,4.487,3933,5.333,4197,4.507,6283,6.495,6318,7.648,6666,5.333,7511,8.36,16472,8.725,16474,4.977,16475,4.905,20638,9.228,20653,8.744,20654,9.912,20655,7.401,20656,9.885,20657,9.885,20658,7.401,20659,9.963,20660,7.401,20661,8.663,20662,7.401,20663,7.401,20664,7.401,20665,9.963,20666,8.383,20667,7.401,20668,7.401]],["title/classes/ShareTokenContextTypeMapper.html",[0,0.241,20669,6.113]],["body/classes/ShareTokenContextTypeMapper.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.144,33,0.432,35,1.085,95,0.141,101,0.012,103,0.001,104,0.001,134,3.349,135,1.519,148,0.93,153,1.887,277,1.352,467,3.685,579,2.7,1953,8.936,2796,6.247,3555,7.438,4157,6.937,7640,8.391,12373,9.82,12378,9.82,12392,8.76,12399,7.683,16469,8.301,16473,8.301,16474,6.36,16475,6.269,20643,10.739,20669,10.243,20670,11.671,20671,9.458]],["title/controllers/ShareTokenController.html",[314,2.65,20672,5.86]],["body/controllers/ShareTokenController.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.888,27,0.362,29,0.709,30,0.001,31,0.522,32,0.177,33,0.424,35,1.065,36,2.44,95,0.146,100,1.82,101,0.007,103,0,104,0,135,1.502,148,0.913,176,5.223,190,1.665,202,1.198,228,0.937,274,2.172,277,0.746,314,1.986,316,2.511,317,2.717,325,6.33,333,5.227,337,4.785,340,3.286,342,7.547,345,7.403,349,6.485,379,6.371,388,3.982,390,6.027,391,8.249,392,2.717,393,2.584,395,2.793,398,2.813,400,1.53,401,5.207,402,4.776,649,3.286,650,4.239,657,2.125,675,2.664,734,3.276,871,4.051,1312,4.85,1351,5.227,1713,4.239,1714,3.911,1715,4.58,1723,2.974,2681,6.143,2954,4.938,3036,2.445,3212,6.681,3214,7.717,3216,3.911,3217,6.964,3220,7.547,3240,2.681,3242,4.255,3305,3.411,3318,3.212,3319,2.974,3555,4.954,3933,2.471,4077,4.639,6666,2.471,7176,6.128,7423,4.239,7511,5.394,10020,8.861,13362,4.833,13363,4.833,14445,6.315,16343,4.833,18221,5.967,19399,4.39,19414,4.58,19416,4.58,20653,9.036,20656,4.58,20657,4.58,20672,6.541,20673,10.295,20674,5.218,20675,8.605,20676,8.605,20677,8.605,20678,5.218,20679,8.861,20680,7.774,20681,5.218,20682,5.218,20683,5.218,20684,10.495,20685,9.036,20686,5.218,20687,5.218,20688,7.774,20689,5.218,20690,7.774,20691,5.218,20692,5.218,20693,5.218,20694,5.218,20695,5.218,20696,5.218,20697,4.58,20698,4.58,20699,7.548,20700,6.541,20701,6.541,20702,5.218,20703,5.218,20704,5.218,20705,5.218,20706,5.218,20707,5.218,20708,5.218,20709,5.218,20710,4.58,20711,5.218,20712,7.774,20713,5.218,20714,5.218,20715,5.218,20716,5.218,20717,5.218]],["title/classes/ShareTokenDO.html",[0,0.241,20718,5.346]],["body/classes/ShareTokenDO.html",[0,0.273,2,0.832,3,0.015,4,0.015,5,0.007,7,0.11,26,2.355,27,0.514,29,0.602,30,0.001,31,0.443,32,0.171,33,0.614,34,1.776,47,0.763,83,3.046,95,0.116,99,1.588,101,0.017,103,0,104,0,112,0.815,176,5.896,183,4.438,210,7.499,231,1.792,238,6.049,248,5.907,433,0.968,436,2.328,703,2.418,886,3.289,1723,6.623,1770,3.154,1852,7.301,1853,2.585,1937,3.712,2033,2.988,2959,3.619,3933,3.732,5466,4.53,5495,4.657,5788,4.491,5800,4.702,6666,3.732,6696,5.78,6764,5.022,7211,5.085,8223,8.189,8224,6.212,15313,6.63,16472,7.208,17994,6.402,20643,8.439,20647,9.161,20718,9.856,20719,13.186,20720,7.88,20721,10.388,20722,9.778,20723,7.88,20724,9.441,20725,7.88,20726,7.88,20727,7.299,20728,7.88,20729,7.88,20730,7.299]],["title/classes/ShareTokenFactory.html",[0,0.241,20731,6.451]],["body/classes/ShareTokenFactory.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,26,2.633,27,0.351,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,34,1.937,35,1.033,49,3.394,59,2.801,95,0.145,99,1.816,101,0.012,103,0.001,104,0.001,135,1.173,148,1.113,153,1.832,176,5.746,231,1.954,514,6.152,516,6.582,571,3.567,574,5.051,575,5.181,1723,5.136,2085,6.253,2472,5.432,3362,6.48,3933,4.268,4510,5.548,6666,4.268,16472,6.253,16475,5.973,20679,6.918,20718,6.918,20731,11.472,20732,11.326,20733,9.012,20734,11.326,20735,11.326,20736,9.012,20737,9.012,20738,9.012,20739,9.012,20740,7.909]],["title/classes/ShareTokenImportBodyParams.html",[0,0.241,20685,6.113]],["body/classes/ShareTokenImportBodyParams.html",[0,0.388,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,27,0.436,30,0.001,31,0.629,32,0.139,33,0.512,34,1.915,47,0.949,95,0.137,101,0.011,103,0.001,104,0.001,112,0.878,153,1.811,157,2.592,176,6.232,185,3.836,190,2.007,194,5.073,195,2.837,196,4.283,197,3.608,200,2.709,202,2.033,296,3.214,298,3.844,299,4.809,300,4.292,2033,4.247,2915,6.75,5325,9.423,7181,10.782,7687,10.782,8089,7.192,8091,7.647,20654,9.684,20685,9.829,20741,8.853,20742,8.853,20743,11.199,20744,8.853,20745,8.853]],["title/interfaces/ShareTokenInfoDto.html",[159,0.712,20746,5.86]],["body/interfaces/ShareTokenInfoDto.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,47,1.032,95,0.113,101,0.013,103,0.001,104,0.001,112,0.953,159,1.033,161,2.406,176,7.017,4711,9.355,6666,6.402,16472,9.38,16474,6.792,16475,6.694,20746,10.221,20747,10.1,20748,10.983]],["title/classes/ShareTokenInfoResponse.html",[0,0.241,20700,5.86]],["body/classes/ShareTokenInfoResponse.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.5,29,0.666,30,0.001,31,0.49,32,0.159,33,0.398,47,0.943,95,0.136,101,0.011,103,0.001,104,0.001,112,0.87,176,7.193,190,2.186,202,2.002,238,6.693,296,3.468,298,3.786,433,1.363,821,4.451,886,2.76,3051,6.154,3054,6.904,3200,5.202,6666,6.277,6675,5.556,16472,9.198,16474,5.863,16475,5.779,20654,10.449,20700,11.153,20748,10.769,20749,8.718,20750,8.718,20751,8.718,20752,8.718,20753,8.718,20754,8.718]],["title/classes/ShareTokenInfoResponseMapper.html",[0,0.241,20697,6.113]],["body/classes/ShareTokenInfoResponseMapper.html",[0,0.334,2,1.018,3,0.024,4,0.018,5,0.009,7,0.134,8,1.349,27,0.376,29,0.736,30,0.001,31,0.541,32,0.119,33,0.44,35,1.105,95,0.132,100,4.118,101,0.012,103,0.001,104,0.001,135,1.254,148,0.947,153,1.559,176,6.477,467,3.716,829,5.696,830,6.565,837,4.773,1725,6.805,6666,4.565,16002,7.831,20697,10.364,20700,11.195,20710,8.46,20746,11.195,20748,7.831,20755,10.938,20756,11.809,20757,9.639,20758,9.639,20759,9.639]],["title/classes/ShareTokenParentTypeMapper.html",[0,0.241,20760,6.113]],["body/classes/ShareTokenParentTypeMapper.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,8,1.326,27,0.365,29,0.715,30,0.001,31,0.526,32,0.144,33,0.428,35,1.074,95,0.14,101,0.012,103,0.001,104,0.001,134,3.318,135,1.51,148,0.921,153,1.877,277,1.34,467,3.669,579,2.675,1953,8.899,2796,6.211,3555,7.395,4157,6.872,7640,8.355,7734,7.883,12373,9.763,12378,9.763,12387,8.678,12394,8.223,12399,7.612,16469,8.223,16472,9.142,16473,8.223,16474,6.3,16475,6.21,16476,8.678,20760,10.184,20761,11.604,20762,9.369,20763,9.369]],["title/classes/ShareTokenPayloadResponse.html",[0,0.241,20764,6.113]],["body/classes/ShareTokenPayloadResponse.html",[0,0.32,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,27,0.488,29,0.705,30,0.001,31,0.519,32,0.155,33,0.422,47,0.845,95,0.128,101,0.012,103,0.001,104,0.001,112,0.902,176,6.651,190,2.062,202,2.122,296,3.43,433,1.135,886,2.926,1723,5.266,3200,5.514,3933,5.932,6666,5.932,6675,5.888,7249,7.284,16472,9.358,16474,6.213,16475,6.124,20654,10.335,20724,10.651,20764,10.097,20765,9.24,20766,11.504,20767,9.24,20768,9.24,20769,9.24,20770,8.559,20771,8.559]],["title/interfaces/ShareTokenProperties.html",[159,0.712,20650,6.113]],["body/interfaces/ShareTokenProperties.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.154,26,2.741,30,0.001,32,0.158,33,0.585,34,1.218,49,5.095,83,3.478,95,0.138,96,2.535,97,2.874,101,0.012,103,0,104,0,112,0.762,125,2.313,145,2.675,148,0.954,153,1.57,159,0.729,161,1.697,176,6.297,183,2.721,195,2.427,196,3.665,205,1.979,210,8.009,223,3.868,224,2.064,225,3.721,229,2.81,231,1.229,232,1.928,233,2.209,238,5.469,239,5.995,248,5.341,249,5.995,540,2.364,886,3.497,2942,4.504,3668,3.615,3692,5.788,3933,5.877,4655,3.993,5495,7.334,5501,5.995,6666,5.877,6671,4.865,6672,5.123,6675,4.541,6676,4.944,6764,7.909,6798,5.995,6799,5.788,6800,5.995,7511,4.944,9256,5.03,11530,5.341,11600,5.995,11674,5.226,16472,8.612,16474,4.791,16475,4.723,20639,6.6,20640,6.6,20643,10.083,20647,9.784,20649,6.6,20650,9.694,20651,6.6,20652,6.6]],["title/injectables/ShareTokenRepo.html",[589,0.926,20772,5.658]],["body/injectables/ShareTokenRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.915,10,3.217,12,3.623,18,4.012,26,2.373,27,0.516,29,0.999,30,0.001,31,0.735,32,0.162,33,0.598,34,1.626,35,1.501,36,2.627,40,2.628,95,0.125,96,1.417,101,0.007,103,0,104,0,112,0.746,113,4.653,125,1.907,135,1.524,148,1.032,153,0.878,176,5.326,183,3.057,185,2.742,205,2.139,210,5.166,224,1.573,231,1.381,277,0.776,317,2.942,436,3.812,569,1.688,589,1.064,591,1.288,652,2.382,657,1.242,729,5.466,735,3.623,736,5.511,766,2.906,1723,4.563,1770,4.688,2140,3.094,2437,9.283,2439,5.757,2440,5.652,2441,5.652,2442,5.757,2443,5.757,2444,5.652,2451,3.904,2453,3.904,2455,5.234,2456,5.466,2457,3.904,2463,8.267,2464,5.652,2465,4.731,2467,3.904,2468,5.757,2470,3.904,2472,3.273,2473,3.38,2474,3.651,2476,3.904,2517,4.07,3933,3.791,4768,3.273,5495,4.731,6666,3.791,6764,5.102,6878,3.983,6879,3.983,6880,3.983,6881,3.983,6882,3.983,6883,3.983,6884,3.983,6909,7.416,7511,8.404,10718,4.168,16165,4.568,16474,3.651,16475,3.599,20647,8.275,20718,9.298,20722,6.736,20724,6.504,20727,5.029,20730,5.029,20772,6.504,20773,9.511,20774,5.429,20775,8.006,20776,8.006,20777,5.429,20778,8.006,20779,5.429,20780,5.429,20781,5.429,20782,5.429,20783,5.429,20784,5.429,20785,5.429,20786,5.429,20787,8.006,20788,5.429,20789,5.429,20790,5.429,20791,5.429,20792,5.429,20793,5.429]],["title/classes/ShareTokenResponse.html",[0,0.241,20701,5.86]],["body/classes/ShareTokenResponse.html",[0,0.308,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,27,0.504,29,0.68,30,0.001,31,0.501,32,0.16,33,0.563,47,0.826,83,3.298,95,0.125,101,0.011,103,0.001,104,0.001,112,0.882,153,1.441,176,6.913,190,2.209,201,4.789,202,2.046,210,8.611,238,6.841,248,6.68,296,3.491,433,1.382,821,4.55,1723,7.375,17666,8.255,17994,7.24,20654,10.519,20679,6.841,20701,11.227,20764,10.815,20794,8.912,20795,8.912,20796,8.912,20797,8.912,20798,8.912,20799,8.912]],["title/classes/ShareTokenResponseMapper.html",[0,0.241,20698,6.113]],["body/classes/ShareTokenResponseMapper.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,27,0.377,29,0.738,30,0.001,31,0.543,32,0.12,33,0.441,35,1.108,95,0.132,100,4.124,101,0.012,103,0.001,104,0.001,135,1.257,148,0.95,153,1.563,176,6.484,210,6.235,467,3.72,829,5.71,830,6.574,837,4.785,1723,5.507,7511,6.705,16002,7.85,16474,6.498,16475,6.404,20698,10.379,20701,11.205,20718,10.222,20755,10.954,20800,11.826,20801,9.662,20802,9.662,20803,8.95]],["title/injectables/ShareTokenService.html",[589,0.926,20804,5.658]],["body/injectables/ShareTokenService.html",[0,0.216,3,0.012,4,0.012,5,0.006,7,0.087,8,1.012,27,0.461,29,0.903,30,0.001,31,0.664,32,0.156,33,0.54,35,1.284,36,2.596,59,1.939,83,1.829,95,0.141,101,0.008,103,0,104,0,129,1.848,135,1.457,142,2.259,148,1.011,153,1.009,172,3.778,176,6,183,3.381,210,5.713,228,2.124,277,0.892,317,2.841,433,1.088,540,3.414,569,1.939,589,1.177,591,1.48,652,2.626,657,2.809,1393,5.865,1723,5.865,2018,8.375,2038,3.976,5747,8.627,5748,9.47,5770,5.476,5771,5.476,5953,6.821,7511,8.767,11399,4.79,13838,5.779,13846,5.779,16472,4.329,16474,4.196,16475,4.136,18042,5.476,20647,9.96,20718,9.078,20722,7.449,20724,9.099,20740,5.476,20748,9.608,20772,10.265,20803,8.201,20804,7.193,20805,12.285,20806,8.854,20807,10.291,20808,8.854,20809,8.854,20810,6.239,20811,9.98,20812,6.239,20813,8.854,20814,6.239,20815,6.239,20816,6.239,20817,8.854,20818,8.854,20819,6.239,20820,5.476,20821,5.476,20822,6.239,20823,6.239,20824,6.239,20825,6.239,20826,6.239,20827,6.239,20828,6.239,20829,5.779,20830,6.239,20831,5.779,20832,6.239,20833,5.779,20834,6.239]],["title/injectables/ShareTokenUC.html",[589,0.926,20699,5.658]],["body/injectables/ShareTokenUC.html",[0,0.103,3,0.006,4,0.006,5,0.003,7,0.042,8,0.57,26,2.602,27,0.442,29,0.867,30,0.001,31,0.638,32,0.148,33,0.519,34,0.853,35,1.272,36,2.399,39,3.443,47,1.02,55,1.523,59,2.336,83,2.204,95,0.135,99,0.601,100,1.04,101,0.004,102,3.417,103,0,104,0,122,1.558,125,1.188,129,2.226,135,1.577,141,3.585,148,0.944,153,1.628,172,2.129,176,5.307,183,2.87,194,1.96,210,1.924,228,1.808,277,0.426,290,2.145,317,2.861,433,0.613,540,2.494,569,0.927,571,1.974,579,2.741,589,0.663,591,0.707,595,1.131,610,1.176,652,2.747,657,2.891,675,1.522,693,2.924,1027,0.913,1086,2.375,1087,2.302,1088,2.337,1197,3.492,1268,3.958,1312,1.405,1393,6.713,1622,2.144,1723,5.737,1775,4.113,1778,6.587,1780,1.797,1783,3.958,1862,5.103,1909,7.568,1937,2.35,1962,4.485,2018,6.364,2027,5.286,2029,2.235,2033,2.438,2038,4.79,2047,3.739,2219,1.337,2220,1.504,2221,1.451,2447,2.687,2448,3.522,2608,3.006,2680,1.369,2910,3.932,2953,1.73,2959,2.291,3276,4.197,3277,5.223,3284,7.568,3285,8.078,3293,5.925,3305,3.261,3318,1.836,3319,1.699,3370,2.617,3371,2.617,3373,2.617,3374,6.324,3555,1.9,3668,1.513,3972,4.262,4157,2.187,4162,4.623,4259,1.746,4920,2.144,5495,1.762,5762,4.627,5770,2.617,5771,2.617,5953,7.158,6666,4.547,6764,1.9,7003,2.105,7181,8.426,7511,5.215,7666,7.8,7668,4.197,7686,8.178,7687,9.736,7725,4.197,7729,4.62,7735,2.762,7739,4.732,10277,2.423,11399,2.289,14447,4.197,15580,4.62,16472,6.662,16474,2.005,16475,1.977,18508,2.509,20517,5.955,20643,2.423,20656,2.617,20657,2.617,20669,2.617,20675,6.961,20676,6.961,20677,5.955,20699,4.052,20710,4.378,20718,2.289,20722,7.037,20724,7.8,20740,6.596,20746,4.197,20748,4.052,20760,2.617,20770,2.762,20771,2.762,20804,7.347,20829,6.961,20831,6.961,20833,6.961,20835,11.578,20836,2.982,20837,4.988,20838,4.988,20839,4.988,20840,4.988,20841,2.982,20842,2.982,20843,4.988,20844,2.982,20845,4.988,20846,2.982,20847,4.988,20848,2.982,20849,4.988,20850,2.982,20851,2.982,20852,2.982,20853,2.762,20854,2.982,20855,2.982,20856,2.982,20857,2.982,20858,2.982,20859,4.988,20860,2.982,20861,4.988,20862,2.982,20863,2.982,20864,2.982,20865,2.982,20866,4.988,20867,2.982,20868,4.988,20869,2.982,20870,6.43,20871,2.982,20872,2.982,20873,2.982,20874,2.982,20875,2.982,20876,4.988,20877,4.988,20878,7.516,20879,2.982,20880,2.982,20881,6.43,20882,4.988,20883,2.982,20884,2.982,20885,2.982,20886,4.988,20887,2.982,20888,4.62,20889,4.988,20890,4.988,20891,2.982,20892,4.988,20893,4.988,20894,2.982,20895,2.982,20896,2.982,20897,2.982,20898,6.43,20899,5.643,20900,2.982,20901,6.43,20902,2.982,20903,2.982,20904,2.982]],["title/classes/ShareTokenUrlParams.html",[0,0.241,20684,6.113]],["body/classes/ShareTokenUrlParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,176,6.969,185,4.099,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,299,4.685,308,7.227,20654,9.433,20661,8.605,20684,10.503,20905,9.852,20906,11.967,20907,9.852]],["title/modules/SharingApiModule.html",[252,1.839,20570,5.658]],["body/modules/SharingApiModule.html",[0,0.35,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.013,103,0,104,0,252,3.209,254,2.722,255,2.89,256,2.963,257,2.952,258,2.942,259,4.415,260,3.758,265,6.174,269,3.959,270,2.91,271,2.851,274,4.741,276,4.459,277,1.082,610,2.985,1027,2.316,1856,7.586,1903,9.763,1908,9.396,1937,3.565,2680,3.475,2959,3.475,3036,3.547,3907,4.948,9051,9.396,12253,5.81,12254,5.81,15277,9.977,20570,11.782,20672,9.584,20699,10.591,20772,8.216,20804,9.254,20811,8.216,20820,6.642,20821,6.642,20908,7.568,20909,7.568,20910,7.568,20911,11.441,20912,7.01,20913,7.01,20914,7.01]],["title/modules/SharingModule.html",[252,1.839,20911,6.113]],["body/modules/SharingModule.html",[0,0.344,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.013,103,0,104,0,252,3.176,254,2.652,255,2.816,256,2.887,257,2.876,258,2.866,259,4.369,260,4.177,265,6.133,269,3.891,270,2.836,271,2.777,274,4.137,276,4.401,277,1.054,610,2.908,1027,2.256,1856,7.536,1903,9.699,1908,9.334,1937,3.473,2680,3.386,2959,3.386,3036,3.455,3907,4.821,9051,9.334,12253,5.66,12254,5.66,15277,9.912,20570,5.99,20672,8.362,20699,8.074,20772,10.511,20804,11.369,20811,10.511,20820,6.472,20821,6.472,20911,12.805,20912,6.83,20913,6.83,20914,6.83,20915,7.374,20916,7.374,20917,7.374,20918,7.374]],["title/classes/SingleColumnBoardResponse.html",[0,0.241,19296,5.86]],["body/classes/SingleColumnBoardResponse.html",[0,0.248,2,0.756,3,0.013,4,0.013,5,0.006,7,0.1,27,0.5,29,0.547,30,0.001,31,0.402,32,0.168,33,0.327,34,1.666,47,0.943,95,0.123,101,0.009,103,0,104,0.001,112,0.764,122,2.465,125,1.706,155,4.189,157,2.969,190,2.229,202,1.645,223,3.037,296,3.356,298,3.11,304,4.826,433,1.197,821,3.657,866,3.568,868,5.331,896,6.913,1083,5.507,1132,8.628,1829,3.07,1835,5.007,2051,5.849,2965,6.975,3041,10.346,3054,6.066,3056,3.448,3197,5.216,3198,5.216,3758,10.002,4094,7.83,4467,6.287,5788,5.554,5800,5.815,6343,10.433,7506,6.553,7852,5.647,7856,7.682,8418,5.499,8467,8.911,8639,6.287,9710,6.287,9809,10.462,19296,10.462,20919,7.163,20920,7.163,20921,7.163,20922,7.163,20923,7.163,20924,7.163,20925,7.163,20926,5.499,20927,7.163,20928,7.163]],["title/classes/SingleFileParams.html",[0,0.241,7280,4.755]],["body/classes/SingleFileParams.html",[0,0.476,2,0.701,3,0.012,4,0.017,5,0.008,7,0.092,26,2.606,27,0.259,30,0.001,32,0.15,39,1.843,47,1.011,95,0.143,99,1.338,101,0.017,103,0,104,0,110,2.309,112,0.726,122,1.918,157,1.537,159,0.679,190,1.191,195,1.46,199,5.103,200,2.032,201,4.475,202,1.525,203,6.221,205,1.354,296,3.72,298,2.884,299,4.907,300,4.412,403,3.391,855,5.075,856,6.4,886,3.371,899,3.035,1078,2.91,1080,2.302,1169,3.853,1237,1.924,1290,5.97,1291,4.402,1292,4.402,3011,4.865,3201,4.989,3933,3.145,4588,2.275,5260,6.703,6389,4.609,6666,3.145,6847,6.526,7210,6.506,7212,4.342,7213,7.811,7218,4.404,7232,6.132,7262,4.609,7263,4.689,7264,4.689,7269,4.609,7270,8.308,7271,8.127,7272,8.127,7273,4.689,7274,4.609,7275,4.609,7276,4.689,7277,4.535,7278,7.861,7279,4.466,7280,6.316,7281,4.609,7282,4.535,7283,4.286,7284,4.689,7285,4.689,7286,4.689,7287,4.286,7288,4.286,7289,4.402,7290,4.535,7291,4.689,20929,6.642]],["title/classes/SortExternalToolParams.html",[0,0.241,10855,5.86]],["body/classes/SortExternalToolParams.html",[0,0.396,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,31,0.643,32,0.142,33,0.523,34,1.959,95,0.139,101,0.015,103,0.001,104,0.001,112,0.899,129,2.717,130,2.483,190,2.053,200,2.808,201,4.452,202,2.107,231,1.976,298,3.985,300,4.39,436,3.384,770,8.235,790,6.171,886,3.627,899,4.193,2696,4.173,2698,2.977,3329,9.586,4833,10.935,4837,7.721,4838,8.054,10310,7.455,10855,9.638,20930,9.177,20931,13.46,20932,9.177,20933,8.5,20934,9.177]],["title/classes/SortHelper.html",[0,0.241,20935,6.451]],["body/classes/SortHelper.html",[0,0.289,2,0.88,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,27,0.325,29,0.823,30,0.001,31,0.468,32,0.133,33,0.381,35,0.956,47,0.792,55,2.649,95,0.093,101,0.011,103,0.001,104,0.001,125,3.007,129,2.469,130,2.256,145,3.13,148,0.82,467,3.476,532,4.997,711,2.415,756,4.298,770,8.695,790,7.248,1675,8.323,2232,7.87,2995,9.582,7996,6.401,20935,9.983,20936,10.778,20937,7.318,20938,10.778,20939,10.778,20940,8.338,20941,8.338,20942,8.338]],["title/classes/SortImportUserParams.html",[0,0.241,14015,5.86]],["body/classes/SortImportUserParams.html",[0,0.396,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,32,0.142,33,0.523,95,0.146,101,0.015,103,0.001,104,0.001,112,0.899,129,2.717,130,2.483,190,2.053,200,2.808,201,4.452,202,2.107,231,1.976,298,3.985,300,4.39,436,3.384,700,5.544,701,5.544,770,8.235,790,6.171,886,3.627,899,4.193,3329,9.586,4833,10.935,4837,7.721,4838,8.054,4970,4.214,12471,7.721,14015,9.638,14125,12.467,20933,8.5,20943,9.177,20944,9.177,20945,9.177]],["title/classes/SortingParams.html",[0,0.241,4833,5.658]],["body/classes/SortingParams.html",[0,0.396,2,1.318,3,0.017,4,0.017,5,0.008,7,0.128,9,6.066,27,0.446,30,0.001,32,0.162,33,0.523,95,0.128,101,0.012,103,0.001,104,0.001,112,0.899,129,2.717,130,2.483,190,2.239,200,2.808,201,4.452,202,2.107,300,4.39,532,4.201,567,4.271,770,8.863,790,7.703,886,3.627,899,4.193,3329,9.586,3977,9.638,4833,9.306,4837,7.721,5340,9.306,20946,9.177,20947,9.177,20948,11.455,20949,9.177,20950,9.177]],["title/injectables/StartUserLoginMigrationUc.html",[589,0.926,20951,5.86]],["body/injectables/StartUserLoginMigrationUc.html",[0,0.23,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,26,2.606,27,0.415,29,0.813,30,0.001,31,0.598,32,0.132,33,0.486,35,1.061,36,2.433,39,2.568,47,0.921,95,0.15,99,1.338,101,0.009,103,0,104,0,135,1.385,142,2.404,148,0.653,153,1.496,180,5.622,183,3.533,228,2.067,290,3.051,317,2.712,433,1.137,478,1.861,579,2.641,589,1.23,591,1.576,595,2.519,610,2.619,652,2.616,657,2.768,693,3.02,703,3.266,1027,2.032,1422,2.659,1775,5.063,1780,4.003,1853,2.179,1862,6.835,1962,3.963,2066,7.631,2068,7.387,2070,3.581,2071,5.467,2073,5.588,2447,5.375,2680,3.05,2685,4.872,4588,4.492,4970,5.287,4972,5.396,4974,5.396,4975,9.194,4981,4.872,4982,5.896,4984,7.249,4985,5.396,4988,5.588,10477,4.872,16501,5.396,19038,5.588,19042,6.152,20285,5.588,20951,7.784,20952,11.513,20953,9.251,20954,8.12,20955,6.642,20956,9.251,20957,6.642,20958,9.251,20959,6.642,20960,5.396,20961,6.642,20962,6.642,20963,6.642,20964,8.12,20965,6.152,20966,5.829,20967,6.642]],["title/classes/StatelessAuthorizationParams.html",[0,0.241,17641,6.113]],["body/classes/StatelessAuthorizationParams.html",[0,0.39,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.505,30,0.001,32,0.16,33,0.64,47,1.002,95,0.126,101,0.011,103,0.001,104,0.001,112,0.885,190,2.323,200,2.739,299,5.075,300,5.12,442,9.162,856,6.27,899,4.091,998,5.847,1080,4.28,1889,9.733,1890,11.437,1891,8.291,1893,11.437,1894,8.291,1899,8.291,1900,5.853,1901,8.291,1902,8.291,17641,9.898,20968,13.361,20969,8.952,20970,8.952,20971,8.952,20972,8.952,20973,8.952]],["title/classes/StorageProviderEncryptedStringType.html",[0,0.241,20974,5.86]],["body/classes/StorageProviderEncryptedStringType.html",[0,0.242,2,0.739,3,0.013,4,0.013,5,0.006,7,0.097,8,1.096,27,0.459,29,0.836,30,0.001,31,0.615,32,0.167,33,0.5,35,1.1,47,1.06,59,2.176,95,0.122,96,1.828,101,0.009,103,0,104,0,112,0.753,125,3.035,130,3.447,135,1.248,142,3.473,145,3.601,148,1.252,157,1.621,158,3.542,224,2.028,231,1.655,233,2.17,433,0.86,610,2.761,622,8.628,652,2.226,1561,8.312,1718,5.135,1829,3.001,1834,8.028,1928,5.669,2125,5.737,2219,3.138,2220,3.53,2221,3.407,2222,4.408,5324,7.037,6730,8.204,7558,5.034,8177,7.037,9920,8.42,9921,9.209,16023,5.89,20974,8.072,20975,7.001,20976,8.886,20977,9.594,20978,9.594,20979,9.594,20980,9.594,20981,9.594,20982,10.945,20983,9.594,20984,7.001,20985,9.594,20986,7.001,20987,7.001,20988,7.001,20989,9.594,20990,8.886,20991,9.594,20992,7.001,20993,6.484,20994,9.594,20995,7.001,20996,6.484]],["title/entities/StorageProviderEntity.html",[205,1.419,5209,5.221]],["body/entities/StorageProviderEntity.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,27,0.492,30,0.001,32,0.166,33,0.492,47,1.048,95,0.133,96,2.177,101,0.014,103,0.001,104,0.001,112,0.845,159,0.853,190,2.263,195,2.369,196,2.766,205,2.196,206,2.72,211,4.599,223,4.246,224,2.415,225,4.13,226,3.792,229,3.288,231,1.439,232,2.256,233,2.585,2942,3.868,5209,8.079,5217,7.318,5493,6.25,7308,8.621,7310,8.621,7311,9.143,20974,10.049,20997,7.723,20998,11.695,20999,8.338,21000,8.338,21001,8.338,21002,8.338,21003,7.723,21004,9.46,21005,7.723,21006,7.723,21007,7.723,21008,7.723,21009,7.723,21010,7.723,21011,7.723,21012,7.723]],["title/interfaces/StorageProviderProperties.html",[159,0.712,21004,6.113]],["body/interfaces/StorageProviderProperties.html",[0,0.298,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.163,33,0.503,47,1.069,95,0.135,96,2.252,101,0.014,103,0.001,104,0.001,112,0.864,159,0.882,161,2.054,195,1.895,196,2.862,205,2.245,223,4.117,224,2.498,225,4.221,226,3.922,229,3.401,231,1.488,232,2.334,233,2.674,2942,4.001,5209,6.465,5217,7.57,7308,9.021,7310,9.021,7311,9.225,20974,9.268,20997,7.989,20998,12.237,21003,7.989,21004,10.651,21005,7.989,21006,7.989,21007,7.989,21008,7.989,21009,7.989,21010,7.989,21011,7.989,21012,7.989]],["title/injectables/StorageProviderRepo.html",[589,0.926,8985,5.86]],["body/injectables/StorageProviderRepo.html",[0,0.261,3,0.014,4,0.014,5,0.007,7,0.105,8,1.154,10,4.059,12,4.571,18,5.062,26,2.047,27,0.519,29,0.967,30,0.001,31,0.711,32,0.157,33,0.579,34,1.292,35,1.452,36,2.676,40,3.656,49,3.804,95,0.135,96,1.972,97,3.047,101,0.01,103,0,104,0,135,0.983,148,0.993,205,1.539,206,3.295,228,1.357,231,1.743,259,3.668,277,1.08,317,2.962,433,0.928,436,3.589,478,2.116,532,5.115,589,1.343,591,1.792,728,7.717,734,4.257,735,4.571,736,5.602,759,4.508,760,4.6,761,4.553,762,4.6,763,5.242,764,4.553,765,4.6,766,4.043,2445,5.432,2446,6.599,2450,7.263,2484,5.242,3998,5.332,5209,7.571,6892,5.799,8985,8.499,15471,9.577,21013,7.554,21014,7.554,21015,7.554,21016,7.554,21017,7.554]],["title/classes/StringValidator.html",[0,0.241,14124,5.49]],["body/classes/StringValidator.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.847,30,0.001,31,0.623,32,0.137,33,0.507,35,1.272,47,1.034,59,3.447,101,0.011,103,0.001,104,0.001,122,2.299,129,2.582,130,3.666,135,1.443,141,5.502,142,3.156,145,4.163,148,1.262,195,2.437,197,3.588,299,4.342,467,3.944,1675,5.255,14124,8.743,14284,11.267,20990,8.075,21018,8.718,21019,11.091,21020,11.091,21021,8.718,21022,11.091,21023,8.718,21024,8.718,21025,8.718]],["title/entities/Submission.html",[205,1.419,3159,3.152]],["body/entities/Submission.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.146,26,2.125,27,0.484,30,0.001,32,0.159,33,0.543,34,0.798,47,0.846,55,1.759,62,2.784,72,2.143,95,0.132,96,1.218,101,0.009,103,0,104,0,112,0.763,122,2.62,125,2.317,129,1.382,130,1.263,134,1.652,135,1.722,148,1.167,153,1.573,159,0.477,190,2.227,195,2.61,196,3.479,197,1.997,205,1.456,206,1.522,211,4.788,219,3.941,223,3.7,224,1.352,225,2.738,226,2.122,229,1.84,231,0.805,232,1.263,233,1.446,277,0.667,290,2.817,578,2.446,579,1.332,652,1.453,692,4.889,703,2.984,711,3.204,813,2.615,962,3.294,985,2.707,998,2.21,1312,3.365,1821,2.21,1922,3.238,1924,3.138,1930,3.355,1939,2.48,2091,3.926,2942,5.762,2946,3.824,2950,2.594,2959,5.705,2960,2.938,3159,3.929,3432,6.359,3752,3.011,3753,3.294,4040,2.731,4116,6.642,4121,6.642,4129,6.011,4131,6.011,4588,1.598,4905,3.011,5727,3.331,6207,7.086,6208,3.138,6233,5.043,6234,5.043,6241,5.043,6242,3.294,6665,3.881,7552,2.904,7553,2.637,7569,5.137,7573,2.872,7574,2.784,7778,3.138,7779,4.322,7888,4.671,10603,7.292,16303,7.135,21026,4.322,21027,9.01,21028,9.686,21029,4.666,21030,4.666,21031,4.666,21032,4.666,21033,4.666,21034,4.666,21035,6.618,21036,4.666,21037,4.666,21038,6.27,21039,4.666,21040,4.666,21041,4.666,21042,6.011,21043,4.322,21044,4.322,21045,4.322,21046,4.322,21047,4.322,21048,3.791,21049,4.322,21050,4.322,21051,4.322,21052,3.926,21053,4.322,21054,4.322,21055,4.322,21056,4.322,21057,4.322,21058,4.322,21059,9.713,21060,4.322,21061,4.322,21062,4.322,21063,4.322,21064,4.322,21065,4.322,21066,9.01,21067,4.322,21068,6.507,21069,3.791,21070,10.245,21071,6.618,21072,3.926,21073,6.618,21074,3.582,21075,3.678,21076,4.322,21077,4.322,21078,4.322,21079,4.322,21080,6.618,21081,6.618,21082,4.322,21083,4.322,21084,4.322,21085,4.322,21086,6.507,21087,3.791,21088,3.926,21089,6.618]],["title/classes/SubmissionContainerContentBody.html",[0,0.241,6509,4.554]],["body/classes/SubmissionContainerContentBody.html",[0,0.474,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.515,27,0.211,30,0.001,31,0.68,32,0.172,33,0.365,47,0.932,83,2.345,95,0.125,99,1.092,101,0.017,103,0,104,0,110,1.885,112,0.627,130,3.276,155,1.731,157,2.428,190,0.972,195,1.192,200,1.659,201,3.694,202,1.245,223,1.69,231,2.02,296,3.707,299,4.967,300,4.486,339,1.59,360,3.117,854,5.036,855,3.239,886,1.717,899,2.478,1232,3.145,1749,4.558,1853,1.779,2049,3.878,2393,4.486,2912,2.595,2918,6.615,3159,3.62,3201,2.541,3581,3.204,3583,3.204,3586,3.174,3589,4.948,3593,4.915,3598,3.039,4065,3.302,4086,3.302,4485,5.462,6409,5.984,6411,6.056,6413,5.984,6415,6.685,6417,6.056,6419,6.056,6467,3.499,6504,6.213,6505,6.213,6506,6.213,6507,6.213,6508,6.213,6509,6.858,6847,6.7,8010,3.545,8079,4.562,8080,4.682,9639,5.378,9640,3.646,9642,8.236,9643,6.213,9644,6.213,9645,6.213,9646,3.646,9647,6.213,9648,4.924,9649,5.301,9650,6.213,9651,6.858,9652,3.545,9653,3.545,9654,3.545,9655,3.545,9656,3.646,9657,3.646,9658,3.646,9659,3.646,9660,3.646,9661,3.646,21090,5.422]],["title/classes/SubmissionContainerElement.html",[0,0.241,3149,4.386]],["body/classes/SubmissionContainerElement.html",[0,0.222,2,0.677,3,0.012,4,0.012,5,0.006,7,0.089,8,1.031,27,0.522,29,0.972,30,0.001,31,0.715,32,0.164,33,0.582,35,1.491,36,1.907,55,1.828,59,1.992,83,3.503,95,0.116,101,0.013,103,0,104,0,112,0.708,113,3.585,122,2.165,130,2.442,134,2.269,135,0.834,142,4.325,148,1.026,158,2.366,159,0.655,189,5.554,231,1.802,317,2.259,435,3.1,436,3.84,527,2.723,532,3.309,567,2.389,569,3.713,653,3.711,657,1.466,711,2.614,735,4.083,1770,4.537,1773,6.36,1842,4.123,2051,2.712,2662,6.376,2675,5.332,3058,7.965,3061,6.369,3062,6.369,3063,6.369,3064,5.899,3065,6.369,3067,3.989,3068,5.495,3069,6.574,3071,6.16,3072,5.495,3073,6.516,3075,4.447,3076,4.829,3078,6.575,3079,4.447,3081,6.488,3083,4.447,3085,3.989,3112,5.438,3149,7.137,3159,2.9,3160,6.36,3161,5.206,3593,5.862,4346,6.488,4347,4.608,4348,4.608,4357,3.989,4362,5.554,5423,5.625,5424,5.936,9663,4.447,19073,5.936,19075,5.936,21091,8.483,21092,6.409,21093,6.409,21094,8.357,21095,5.936,21096,5.936,21097,5.936,21098,5.625,21099,5.936]],["title/classes/SubmissionContainerElementContent.html",[0,0.241,21100,5.86]],["body/classes/SubmissionContainerElementContent.html",[0,0.368,2,0.862,3,0.015,4,0.015,5,0.007,7,0.114,27,0.415,29,0.624,30,0.001,31,0.459,32,0.165,33,0.373,34,2.022,47,0.869,83,3.905,95,0.132,101,0.014,103,0.001,104,0.001,112,0.834,142,4.535,157,2.462,190,1.464,202,1.876,296,3.484,304,4.045,433,1.453,458,3.258,567,3.965,821,4.171,866,4.069,886,2.586,1853,2.68,2109,3.579,2393,4.532,2641,6.477,2926,6.86,3160,7.202,3197,4.372,3198,4.372,3201,3.828,3593,7.014,3759,5.577,3771,4.827,4019,6.114,4023,5.341,4025,5.341,4405,8.164,4485,6.157,6417,5.206,9689,6.873,21100,11.205,21101,10.954,21102,9.335,21103,9.851,21104,9.851,21105,8.169,21106,6.27]],["title/classes/SubmissionContainerElementContentBody.html",[0,0.241,9650,4.554]],["body/classes/SubmissionContainerElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,6.65,6417,6.65,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.174,6508,6.174,6509,6.823,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.823,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,21107,5.364,21108,5.364]],["title/entities/SubmissionContainerElementNode.html",[205,1.419,3515,5.49]],["body/entities/SubmissionContainerElementNode.html",[0,0.307,3,0.016,4,0.016,5,0.008,7,0.124,27,0.346,30,0.001,32,0.11,83,3.606,95,0.144,96,2.316,101,0.014,103,0.001,104,0.001,112,0.88,134,3.142,135,1.154,142,4.452,148,0.872,159,0.907,190,1.59,195,2.465,196,2.944,205,2.285,206,2.895,211,4.894,223,3.495,224,2.57,231,1.935,232,2.401,457,4.932,1770,4.923,2049,4.576,2109,3.887,2662,5.339,2715,5.014,3160,6.83,3467,6.003,3477,6.692,3515,8.841,3549,5.404,3576,9.843,3593,6.682,3922,6.83,3942,5.462,4448,5.587,4450,5.587,9695,7.465,21106,6.811,21109,9.436,21110,9.843,21111,7.208,21112,8.218]],["title/interfaces/SubmissionContainerElementProps.html",[159,0.712,21098,6.113]],["body/interfaces/SubmissionContainerElementProps.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.136,36,1.811,83,3.866,95,0.135,101,0.016,103,0.001,104,0.001,112,0.86,122,1.777,130,2.319,134,3.035,135,1.115,142,4.773,148,1.189,158,3.163,159,0.876,161,2.041,231,2.088,317,1.854,527,3.642,567,3.195,569,2.663,653,4.512,657,1.96,1770,3.43,1842,5.013,2051,3.627,2662,5.223,2675,6.483,3058,6.612,3068,5.219,3069,6.363,3072,5.219,3073,6.306,3081,6.162,3112,7.293,3149,7.619,3159,3.878,3160,5.219,3161,6.962,3593,6.82,4357,5.334,4362,6.753,9663,5.946,21091,6.962,21094,10.161,21095,7.938,21096,7.938,21097,7.938,21098,9.628,21099,7.938]],["title/classes/SubmissionContainerElementResponse.html",[0,0.241,4405,5.346]],["body/classes/SubmissionContainerElementResponse.html",[0,0.355,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,27,0.497,29,0.59,30,0.001,31,0.434,32,0.173,33,0.353,34,2.182,47,0.846,83,3.375,95,0.128,101,0.013,103,0,104,0,112,0.804,142,3.713,157,1.789,190,2.198,202,1.774,296,3.555,304,3.827,433,1.414,458,3.082,567,2.882,821,3.946,886,2.447,1853,2.535,2109,3.386,2393,4.889,2641,4.707,2926,7.4,3160,7.987,3196,5.053,3197,5.489,3198,5.489,3200,4.612,3201,4.806,3593,6.341,3759,5.277,3771,4.567,4019,6.617,4023,5.053,4025,5.053,4405,9.794,4485,6.642,6417,6.536,11573,7.158,11585,7.158,11586,7.158,11588,7.158,21100,10.315,21101,12.147,21102,6.783,21103,7.158,21104,7.158,21106,5.933,21113,7.728]],["title/classes/SubmissionContainerElementResponseMapper.html",[0,0.241,6444,6.113]],["body/classes/SubmissionContainerElementResponseMapper.html",[0,0.265,2,0.808,3,0.014,4,0.014,5,0.007,7,0.107,8,1.164,27,0.476,29,0.778,30,0.001,31,0.572,32,0.151,33,0.466,34,1.309,35,1.314,95,0.128,100,2.669,101,0.01,103,0,104,0,112,0.799,122,2.113,135,0.996,141,4.368,148,1.126,153,2.057,430,3.148,467,3.807,652,2.33,653,3.148,711,2.217,829,4.524,830,5.665,833,6.219,835,5.876,1237,2.952,1853,2.511,2049,5.533,2140,4.363,2393,2.933,2653,8.402,2656,7.822,2657,7.822,2659,7.638,2926,4.44,3149,8.538,3160,7.745,3593,5.27,4019,5.858,4035,5.404,4405,9.375,4485,3.985,5927,7.13,6417,4.878,6438,5.876,6444,11.716,9704,9.154,9705,6.034,9712,6.034,9713,6.034,9714,6.034,21100,9.638,21114,11.78,21115,7.09,21116,11.455,21117,11.455,21118,7.655]],["title/interfaces/SubmissionContainerNodeProps.html",[159,0.712,21110,6.113]],["body/interfaces/SubmissionContainerNodeProps.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.111,83,3.798,95,0.144,96,2.332,101,0.014,103,0.001,104,0.001,112,0.883,134,3.163,135,1.162,142,4.689,148,0.878,159,0.913,161,2.128,195,1.963,196,2.963,205,2.295,223,3.51,224,2.587,231,2.128,232,2.417,457,4.965,1770,4.938,2049,3.645,2109,3.913,2662,5.362,2715,5.047,3160,5.44,3467,6.028,3477,6.72,3515,7.041,3549,5.44,3576,9.884,3593,6.906,3922,7.512,3942,5.498,4448,5.624,4450,5.624,21106,6.856,21109,7.515,21110,10.826,21111,7.256,21112,8.273]],["title/classes/SubmissionContainerUrlParams.html",[0,0.241,4054,6.113]],["body/classes/SubmissionContainerUrlParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,34,2.046,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,855,4.846,3159,5.416,3160,7.288,4054,10.503,4197,6,8095,9.433,21119,10.503,21120,9.852,21121,11.939,21122,9.852]],["title/controllers/SubmissionController.html",[314,2.65,21123,6.113]],["body/controllers/SubmissionController.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.11,8,1.187,10,4.67,27,0.405,29,0.793,30,0.001,31,0.584,32,0.129,33,0.475,35,1.191,36,2.611,95,0.147,100,2.748,101,0.01,103,0,104,0,135,1.607,141,4.452,148,1.021,153,1.274,190,1.862,202,1.809,228,1.415,274,3.28,277,1.127,314,2.999,316,3.793,317,2.853,325,6.657,326,4.422,349,6.923,388,4.452,392,4.103,395,4.218,398,4.249,400,2.311,657,2.376,675,4.023,3036,3.693,3220,6.792,3240,4.049,4040,6.081,15558,6.63,15564,6.63,21123,9.117,21124,7.88,21125,11.621,21126,10.843,21127,10.388,21128,7.88,21129,7.88,21130,10.394,21131,10.388,21132,7.88,21133,6.916,21134,9.778,21135,6.63,21136,7.88,21137,7.88,21138,7.88,21139,7.88,21140,7.88,21141,7.299,21142,7.88,21143,10.388,21144,7.88,21145,7.88,21146,7.88]],["title/classes/SubmissionFactory.html",[0,0.241,21147,6.451]],["body/classes/SubmissionFactory.html",[0,0.159,2,0.486,3,0.009,4,0.009,5,0.004,7,0.064,8,0.808,27,0.523,29,1.008,30,0.001,31,0.708,32,0.166,33,0.575,34,1.473,35,1.391,47,0.52,55,2.509,59,3.241,95,0.123,101,0.006,103,0,104,0,112,0.555,113,4.373,127,4.843,129,3.502,130,3.2,135,1.432,148,1.025,157,1.994,172,3.02,185,2.423,192,2.541,195,1.555,205,2.125,206,2.308,228,1.271,231,1.221,326,4.978,374,3.072,433,0.566,436,3.823,467,2.059,478,1.291,501,7.234,502,5.372,505,3.933,506,5.372,507,5.386,508,3.933,509,3.933,510,3.933,511,3.872,512,4.397,513,4.788,514,6.424,515,5.706,516,7.019,517,2.582,522,2.561,523,3.933,524,2.582,525,5.065,526,5.21,527,4.107,528,4.903,529,3.902,530,2.561,531,2.415,532,4.036,533,2.449,534,2.415,535,2.561,536,2.582,537,4.714,538,2.561,539,7.342,540,3.924,541,6.575,542,2.582,543,4.192,544,2.561,545,2.582,546,2.561,547,2.582,548,2.561,549,2.868,550,2.697,551,2.561,552,6.023,553,2.582,554,2.561,555,3.933,556,3.59,557,3.933,558,2.582,559,2.484,560,2.449,561,2.075,562,2.561,563,2.561,564,2.561,565,2.582,566,2.582,567,1.718,568,2.561,569,1.432,570,2.582,571,2.801,572,2.561,573,2.582,575,2.649,576,2.723,577,5.766,697,3.313,698,3.537,703,1.413,2959,2.116,3159,3.202,3432,4.067,4116,7.119,4121,7.119,7763,3.632,7764,3.743,7773,3.632,10603,5.303,21028,5.953,21042,3.876,21147,7.978,21148,4.607,21149,9.663,21150,7.075,21151,4.607,21152,4.607,21153,4.607,21154,7.075,21155,4.607,21156,4.607,21157,4.044,21158,4.607,21159,4.044,21160,4.607,21161,4.607,21162,4.607,21163,4.267]],["title/classes/SubmissionItem.html",[0,0.241,2675,4.116]],["body/classes/SubmissionItem.html",[0,0.207,2,0.631,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,26,2.454,27,0.526,29,0.975,30,0.001,31,0.717,32,0.163,33,0.583,35,1.491,36,1.815,39,3.049,55,1.74,59,1.858,95,0.122,99,1.205,101,0.014,103,0,104,0,112,0.674,113,3.412,122,2.647,130,2.973,134,2.117,135,1.117,148,1.08,158,2.207,159,0.611,189,5.287,231,1.734,317,2.174,435,2.95,436,3.771,527,2.541,532,3.15,567,3.202,569,3.765,653,2.459,657,1.367,711,2.488,735,3.887,1770,3.438,1773,6.121,1842,3.925,1853,1.962,2049,3.505,2051,2.53,2662,6.359,2675,6.492,3058,7.836,3061,6.063,3062,6.063,3063,6.063,3064,5.615,3065,6.063,3067,3.722,3068,5.23,3069,6.372,3071,5.864,3072,5.23,3073,6.315,3075,4.149,3076,4.597,3078,6.917,3079,4.149,3083,4.149,3085,3.722,3112,5.177,3140,5.346,3146,5.287,3595,6.762,4346,4.299,4347,4.299,4348,4.299,4357,3.722,4362,5.287,5423,5.248,8452,4.713,11555,5.538,18379,6.593,21091,9.452,21164,5.538,21165,5.979,21166,7.955,21167,5.979,21168,5.979,21169,5.979,21170,5.979,21171,5.979,21172,5.979,21173,5.979,21174,5.248,21175,5.248,21176,7.955,21177,5.538,21178,5.538,21179,5.538,21180,5.538,21181,5.538,21182,5.538,21183,5.248,21184,5.538,21185,5.248,21186,5.248,21187,5.248]],["title/injectables/SubmissionItemFactory.html",[589,0.926,21188,6.451]],["body/injectables/SubmissionItemFactory.html",[0,0.338,3,0.018,4,0.018,5,0.009,7,0.136,8,1.359,27,0.38,30,0.001,34,1.668,35,1.119,39,2.708,49,3.675,83,3.488,95,0.143,101,0.013,103,0.001,104,0.001,148,0.959,153,2.215,197,2.727,277,1.395,430,4.013,431,4.182,507,5.934,574,5.468,589,1.581,591,2.314,2675,7.896,3159,4.415,3161,7.926,3595,6.006,4510,7.323,21091,9.664,21188,11.019,21189,9.756,21190,9.756]],["title/entities/SubmissionItemNode.html",[205,1.419,3518,5.49]],["body/entities/SubmissionItemNode.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.148,26,2.532,27,0.413,30,0.001,32,0.131,39,3.469,95,0.144,96,2.12,99,1.636,101,0.014,103,0.001,104,0.001,112,0.831,122,2.445,134,2.875,135,1.056,148,0.798,159,0.83,190,1.899,205,2.159,206,2.649,223,3.895,224,2.352,231,1.828,232,2.197,242,4.285,243,5.112,290,2.513,457,4.514,644,4.945,648,5.112,734,3.422,816,7.351,1080,2.814,1268,4.998,1770,4.72,1829,3.48,2109,3.557,2551,5.239,2662,5.043,2715,4.588,3159,4.794,3432,6.09,3467,5.67,3477,6.321,3518,8.351,3521,7.609,3549,4.945,3592,9.298,3595,7.694,3922,6.452,3942,4.998,4448,5.112,4449,7.52,4450,5.112,4913,5.955,5347,6.086,6306,8.132,10349,7.126,10603,6.086,21109,9.921,21191,8.119,21192,9.812,21193,9.812,21194,7.52,21195,9.298,21196,7.126,21197,7.52,21198,7.52]],["title/interfaces/SubmissionItemNodeProps.html",[159,0.712,21195,6.113]],["body/interfaces/SubmissionItemNodeProps.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.151,26,2.653,30,0.001,32,0.134,39,3.633,95,0.146,96,2.186,99,1.687,101,0.014,103,0.001,104,0.001,112,0.848,122,2.622,134,2.965,135,1.089,148,0.823,159,0.856,161,1.994,205,2.202,223,3.729,224,2.425,231,2.065,232,2.266,242,4.419,243,5.272,290,1.986,457,4.655,644,5.099,648,5.272,734,3.529,816,5.81,1080,2.902,1268,5.154,1770,4.791,1829,3.589,2109,3.668,2551,5.403,2662,5.145,2715,4.732,3159,3.789,3432,4.814,3467,5.785,3477,6.449,3518,6.6,3521,5.403,3549,5.099,3592,9.485,3595,8.059,3922,7.288,3942,5.154,4448,5.272,4450,5.272,4913,6.142,5347,6.276,6306,6.427,10603,6.276,21109,7.045,21192,7.755,21193,7.755,21194,7.755,21195,10.503,21196,7.349,21197,7.755,21198,7.755]],["title/interfaces/SubmissionItemProps.html",[159,0.712,21183,6.113]],["body/interfaces/SubmissionItemProps.html",[0,0.277,3,0.015,4,0.015,5,0.007,7,0.111,26,2.684,30,0.001,32,0.145,36,1.692,39,3.582,95,0.139,99,1.613,101,0.016,103,0,104,0,112,0.823,122,2.746,130,2.84,134,2.835,135,1.366,148,1.222,158,2.955,159,0.819,161,1.907,231,2.021,317,1.732,527,3.402,567,3.914,569,2.488,653,3.293,657,1.831,1842,4.797,1853,2.626,2049,4.283,2051,3.388,2662,5.576,2675,6.921,3058,6.327,3068,4.876,3069,6.089,3072,4.876,3073,6.034,3112,7.059,3140,6.534,3146,6.462,3595,7.945,4357,4.983,4362,6.462,18379,8.058,21091,6.504,21164,7.415,21166,7.415,21174,7.026,21175,7.026,21176,9.723,21177,7.415,21178,7.415,21179,7.415,21180,7.415,21181,7.415,21182,7.415,21183,9.213,21184,7.415,21185,7.026,21186,7.026,21187,7.026]],["title/classes/SubmissionItemResponse.html",[0,0.241,9856,5.658]],["body/classes/SubmissionItemResponse.html",[0,0.261,2,0.797,3,0.014,4,0.014,5,0.007,7,0.105,27,0.508,29,0.577,30,0.001,31,0.424,32,0.165,33,0.345,34,2.165,39,3.514,47,0.893,95,0.127,101,0.01,103,0,104,0,112,0.792,122,2.094,125,1.799,190,2.27,202,1.734,242,3.987,296,3.537,304,5.002,433,1.241,458,3.012,821,3.857,866,3.763,874,5.913,896,7.039,1835,5.19,2049,3.083,2918,5.708,2926,7.344,3196,6.604,3197,6.503,3198,6.503,3595,7.794,4019,6.542,4023,4.939,4025,4.939,4064,5.662,4065,4.6,4066,8.182,4067,8.735,4086,4.6,4087,6.137,4088,6.137,4467,6.63,8095,10.488,9856,10.287,21119,11.677,21196,6.63,21199,7.554,21200,7.554,21201,7.554,21202,7.554,21203,7.554,21204,7.554,21205,7.554,21206,7.554]],["title/classes/SubmissionItemResponseMapper.html",[0,0.241,4072,5.86]],["body/classes/SubmissionItemResponseMapper.html",[0,0.235,2,0.718,3,0.013,4,0.013,5,0.006,7,0.095,8,1.074,27,0.476,29,0.823,30,0.001,31,0.605,32,0.144,33,0.492,34,1.163,35,1.334,39,2.61,95,0.12,100,2.371,101,0.009,103,0,104,0,112,0.738,135,1.643,141,4.984,148,1.143,153,1.974,290,1.613,430,2.797,467,3.675,652,2.568,700,3.291,701,3.291,711,3.749,829,4.018,830,5.227,871,3.46,896,3.78,1853,2.231,2049,2.775,2393,2.606,2675,7.795,2693,5.968,2926,3.944,3066,4.718,3140,5.853,3146,5.788,3418,4.855,3435,9.935,3469,4.572,3470,4.445,3521,8.148,3595,4.186,4019,5.406,4035,4.8,4068,9.069,4071,5.219,4072,10.89,4075,5.968,4091,6.298,4471,6.298,5927,6.709,7608,4.987,9704,8.717,9856,9.918,12798,5.721,18789,6.298,18790,6.298,21114,11.695,21115,6.298,21185,5.968,21207,9.403,21208,9.403,21209,6.799,21210,6.298,21211,9.403,21212,9.403,21213,6.799,21214,9.403,21215,6.799,21216,9.069,21217,10.779,21218,6.298,21219,6.799,21220,6.799,21221,9.403,21222,6.799,21223,6.799,21224,6.799,21225,6.799,21226,6.799,21227,6.799]],["title/injectables/SubmissionItemService.html",[589,0.926,3893,5.658]],["body/injectables/SubmissionItemService.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,12,4.265,26,2.625,27,0.454,29,0.889,30,0.001,31,0.654,32,0.156,33,0.532,34,1.846,35,1.238,36,2.671,39,2.997,40,4.561,49,2.57,83,3.166,95,0.144,99,1.375,101,0.009,103,0,104,0,122,2.414,135,1.515,148,0.926,153,2.095,172,4.022,228,1.693,277,0.976,317,2.899,338,4.2,393,3.378,400,2,430,2.806,431,2.924,433,0.838,574,3.824,579,2.691,589,1.253,591,1.618,652,1.388,653,2.806,657,2.469,734,4.551,1723,6.154,1853,2.238,1924,4.588,2049,4.406,2051,2.887,2636,3.339,2675,7.919,2954,3.626,3149,7.333,3237,5.467,3445,5.114,3446,8.922,3454,6.319,3595,7.524,3679,5.988,3725,9.711,3893,7.657,4503,5.543,4510,4.2,6435,5.802,6449,5.988,9884,5.988,16798,6.319,21228,12.222,21229,6.822,21230,6.822,21231,11.646,21232,6.822,21233,6.822,21234,9.425,21235,6.822,21236,6.822,21237,6.822,21238,6.822,21239,6.822,21240,6.822,21241,6.822,21242,9.425]],["title/injectables/SubmissionItemUc.html",[589,0.926,3028,5.86]],["body/injectables/SubmissionItemUc.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.888,26,2.867,27,0.466,29,0.913,30,0.001,31,0.672,32,0.164,33,0.546,34,0.892,35,1.324,36,2.597,39,3.548,59,1.622,95,0.129,99,1.051,101,0.007,103,0,104,0,113,5.079,122,1.926,135,1.502,148,0.913,153,1.502,228,1.849,231,1.341,277,0.746,317,2.922,433,0.955,436,2.744,579,2.653,589,1.033,591,1.238,610,2.058,657,2.923,688,2.433,1197,5.98,1793,3.459,1853,1.712,1862,6.355,1936,3.509,1968,5.702,2019,7.552,2049,3.172,2662,5.496,2663,8.861,2665,6.128,2666,8.116,2667,3.752,2668,8.526,2670,4.005,2671,5.702,2672,6.681,2674,4.113,2675,7.554,2677,4.113,2678,5.488,2680,2.396,2692,4.39,2694,4.005,2953,4.509,2954,2.773,3028,6.541,3140,3.248,3146,3.212,3149,5.85,3159,2.361,3160,3.178,3418,4.185,3435,4.005,3453,3.911,3595,6.338,3893,9.714,4041,7.817,4043,8.605,4075,8.154,4154,4.239,4155,4.239,4156,4.239,4159,4.239,4160,4.239,4485,5.36,4538,8.154,4540,4.833,5138,2.793,6409,3.286,6413,3.286,6435,4.785,9884,4.58,9885,4.833,9894,7.2,9896,4.833,9904,4.833,10305,4.58,21121,8.605,21174,4.58,21175,4.58,21186,4.58,21187,4.58,21243,11.009,21244,5.218,21245,9.291,21246,5.218,21247,10.692,21248,5.218,21249,5.218,21250,5.218,21251,5.218,21252,5.218,21253,5.218,21254,5.218,21255,5.218,21256,5.218,21257,5.218,21258,5.218,21259,5.218,21260,5.218,21261,7.774,21262,5.218,21263,5.218]],["title/classes/SubmissionItemUrlParams.html",[0,0.241,4045,6.113]],["body/classes/SubmissionItemUrlParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,34,2.046,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,855,4.846,3159,5.416,3521,7.722,4045,10.503,4197,6,8095,9.433,21119,10.503,21247,11.939,21264,9.852,21265,9.852]],["title/classes/SubmissionMapper.html",[0,0.241,21133,6.113]],["body/classes/SubmissionMapper.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.349,27,0.376,29,0.736,30,0.001,31,0.541,32,0.119,33,0.44,34,1.648,35,1.105,95,0.132,100,4.118,101,0.012,103,0.001,104,0.001,135,1.254,148,0.947,153,1.559,467,3.716,478,2.7,837,4.773,3159,6.178,16303,7.07,21068,7.225,21086,7.225,21133,10.364,21266,9.639,21267,11.809,21268,11.809,21269,9.639,21270,11.195,21271,9.639,21272,8.46,21273,8.11,21274,7.831,21275,9.639,21276,8.11,21277,8.46,21278,9.639]],["title/interfaces/SubmissionProperties.html",[159,0.712,21042,5.86]],["body/interfaces/SubmissionProperties.html",[0,0.17,3,0.009,4,0.009,5,0.004,7,0.149,26,2.175,30,0.001,32,0.162,33,0.593,34,0.841,47,0.908,55,2.025,62,2.934,72,2.258,95,0.135,96,1.284,101,0.01,103,0,104,0,112,0.784,122,2.72,125,2.136,134,1.741,135,1.739,148,1.186,153,1.45,159,0.503,161,1.171,195,2.196,196,3.316,197,2.078,205,1.515,219,4.101,223,3.518,224,1.424,225,2.849,226,2.236,229,1.939,231,0.848,232,1.331,233,1.524,277,0.703,290,3.036,578,2.578,579,1.404,652,1.512,692,5.263,703,3.293,711,3.27,813,2.756,962,3.471,985,2.852,998,2.329,1312,3.503,1821,2.329,1922,3.412,1924,3.307,1930,3.536,1939,2.613,2091,4.138,2942,4.978,2946,2.632,2950,2.734,2959,5.956,2960,3.096,3159,3.365,3432,6.739,3752,3.173,3753,3.471,4040,2.879,4116,7.328,4121,7.328,4129,6.256,4131,6.256,4588,1.684,4905,3.173,5727,3.466,6207,7.515,6208,3.307,6233,3.471,6234,3.471,6241,5.249,6242,3.471,6665,4.039,7552,3.061,7553,2.779,7569,3.536,7573,3.027,7574,2.934,7888,3.215,10603,8.045,16303,7.873,21026,4.555,21027,9.941,21028,9.864,21035,4.555,21038,4.316,21042,7.544,21043,4.555,21044,4.555,21045,4.555,21046,4.555,21047,4.555,21048,3.995,21049,4.555,21050,4.555,21051,4.555,21052,4.138,21053,4.555,21054,4.555,21055,4.555,21056,4.555,21057,4.555,21058,4.555,21059,9.941,21060,4.555,21061,4.555,21062,4.555,21063,4.555,21064,4.555,21065,4.555,21066,9.257,21067,4.555,21068,6.72,21069,3.995,21070,10.456,21071,6.887,21072,4.138,21073,6.887,21074,3.775,21075,3.876,21076,4.555,21077,4.555,21078,4.555,21079,4.555,21080,6.887,21081,6.887,21082,4.555,21083,4.555,21084,4.555,21085,4.555,21086,6.72,21087,3.995,21088,4.138,21089,6.887]],["title/injectables/SubmissionRepo.html",[589,0.926,1914,5.346]],["body/injectables/SubmissionRepo.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,10,3.422,12,3.854,18,4.267,26,2.667,27,0.505,29,0.972,30,0.001,31,0.715,32,0.157,33,0.581,34,1.01,35,1.459,36,2.846,39,3.214,40,4.121,47,0.734,95,0.129,96,1.543,98,3.561,99,1.191,101,0.008,103,0,104,0,135,1.507,141,3.65,148,1.138,205,1.204,206,2.778,224,1.712,231,1.469,277,0.845,317,3.044,365,3.782,436,3.227,478,1.655,532,4.887,589,1.132,591,1.402,652,2.454,657,2.91,728,7.212,734,3.589,735,3.854,736,4.915,759,3.526,760,3.599,761,3.561,762,3.599,764,3.561,765,3.599,766,3.163,1626,3.312,1829,2.533,1914,6.537,2479,3.492,2938,4.895,2959,2.713,3159,5.627,3319,3.368,3432,3.397,3998,4.171,4040,5.844,4811,6.713,4817,6.918,6207,5.957,6288,2.402,7513,3.766,7807,4.536,15777,7.888,19376,5.473,21028,4.972,21279,5.909,21280,8.516,21281,8.516,21282,8.516,21283,8.516,21284,5.909,21285,8.516,21286,5.909,21287,8.516,21288,5.909,21289,5.473,21290,8.516,21291,5.909,21292,5.909,21293,5.909,21294,5.909,21295,5.909,21296,8.516,21297,5.909,21298,5.909,21299,5.909,21300,5.909]],["title/injectables/SubmissionRule.html",[589,0.926,1876,5.86]],["body/injectables/SubmissionRule.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,8,0.908,27,0.483,29,0.946,30,0.001,31,0.696,32,0.157,33,0.566,35,1.385,95,0.124,101,0.007,103,0,104,0,122,2.503,135,1.519,141,3.408,148,1.187,153,0.87,183,3.99,197,2.222,205,2.129,228,1.428,277,0.769,290,3.4,400,1.577,433,0.661,478,1.507,579,1.536,589,1.057,591,1.276,652,2.781,653,2.212,711,3.381,1197,7.254,1237,1.558,1622,3.867,1775,5.719,1778,6.58,1792,5.517,1793,5.27,1801,7.185,1838,4.792,1876,6.69,1877,9.81,1982,5.067,1986,4.894,1993,3.516,2619,5.067,3159,6.637,3555,3.428,3711,3.565,3714,5.131,3716,3.565,3717,5.27,15678,4.982,21274,4.37,21301,5.379,21302,11.672,21303,10.449,21304,10.449,21305,11.672,21306,10.449,21307,5.379,21308,7.951,21309,5.379,21310,7.951,21311,5.379,21312,7.951,21313,5.379,21314,5.379,21315,7.951,21316,5.379,21317,7.951,21318,5.379,21319,5.379,21320,5.379,21321,5.379,21322,7.951,21323,5.379,21324,7.951,21325,5.379,21326,5.379,21327,5.379,21328,7.951,21329,7.951]],["title/injectables/SubmissionService.html",[589,0.926,21330,5.658]],["body/injectables/SubmissionService.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,10,4.212,12,4.744,26,2.733,27,0.484,29,0.948,30,0.001,31,0.698,32,0.154,33,0.567,35,1.342,36,2.797,95,0.144,98,4.816,99,1.61,101,0.01,103,0,104,0,135,1.04,148,1.03,228,1.883,277,1.143,279,3.313,317,2.995,433,1.288,478,2.238,589,1.394,591,1.895,652,2.132,657,2.397,1317,5.092,1914,10.161,2831,3.198,3159,5.837,3898,4.004,4040,6.137,7340,9.7,21330,8.516,21331,7.99,21332,9.71,21333,7.99,21334,7.99,21335,10.483,21336,7.99,21337,10.483,21338,7.99,21339,6.298,21340,10.483,21341,7.99,21342,7.012,21343,7.99,21344,7.99,21345,7.99,21346,7.99]],["title/classes/SubmissionStatusListResponse.html",[0,0.241,21135,5.86]],["body/classes/SubmissionStatusListResponse.html",[0,0.386,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,27,0.435,29,0.671,30,0.001,31,0.494,32,0.152,33,0.402,34,2.094,47,0.9,55,1.782,95,0.098,101,0.014,103,0.001,104,0.001,112,0.875,122,2.312,125,2.095,190,1.576,201,4.76,202,2.019,296,3.553,339,3.897,433,1.37,458,3.507,864,6.411,866,4.381,881,4.813,16303,8.983,21052,7.4,21068,9.18,21072,7.4,21086,9.18,21088,7.4,21135,9.384,21270,11.745,21272,10.749,21277,10.749,21347,8.146,21348,8.795,21349,8.795,21350,8.146,21351,8.146]],["title/classes/SubmissionStatusResponse.html",[0,0.241,21270,5.86]],["body/classes/SubmissionStatusResponse.html",[0,0.36,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,27,0.524,29,0.603,30,0.001,31,0.444,32,0.169,33,0.587,34,2.197,47,0.969,55,2.108,95,0.088,101,0.013,103,0,104,0,112,0.816,122,2.563,190,2.365,201,4.994,202,1.813,296,3.648,339,3.05,433,1.278,458,3.149,821,4.031,864,4.539,881,4.321,16303,9.424,21052,6.643,21068,9.631,21072,6.643,21086,9.631,21088,6.643,21135,6.643,21270,11.486,21272,11.276,21277,11.276,21347,7.313,21350,7.313,21351,7.313,21352,7.896,21353,7.896,21354,7.896,21355,7.896,21356,7.896,21357,7.896,21358,7.896]],["title/injectables/SubmissionUc.html",[589,0.926,21134,5.86]],["body/injectables/SubmissionUc.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,8,1.104,10,3.883,26,2.836,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.262,36,2.042,39,2.682,95,0.142,99,1.425,101,0.009,103,0,104,0,135,1.702,148,1.162,158,2.612,195,1.555,228,1.735,277,1.012,290,3.272,317,2.765,433,1.187,478,1.982,589,1.285,591,1.678,595,2.683,610,2.79,652,2.518,657,2.705,693,3.217,980,3.902,1780,4.264,1838,5.824,1862,6.952,1962,5.766,1964,5.577,2680,3.249,3159,6.112,4040,5.657,4987,5.748,15724,8.13,21134,8.13,21330,10.383,21332,8.95,21339,8.675,21342,9.659,21359,7.075,21360,9.663,21361,7.075,21362,7.075,21363,7.075,21364,9.663,21365,7.075,21366,9.663,21367,7.075,21368,7.075,21369,11.826,21370,7.075,21371,7.075,21372,7.075,21373,6.553,21374,9.663,21375,7.075,21376,5.953]],["title/classes/SubmissionUrlParams.html",[0,0.241,21126,6.113]],["body/classes/SubmissionUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,3159,5.465,4197,6.09,21126,10.598,21342,11.385,21377,9.999,21378,9.999]],["title/classes/SubmissionsResponse.html",[0,0.241,4068,5.86]],["body/classes/SubmissionsResponse.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,27,0.483,29,0.688,30,0.001,31,0.506,32,0.166,33,0.412,95,0.138,101,0.012,103,0.001,104,0.001,112,0.888,125,2.698,190,2.03,202,2.069,290,2.138,296,3.241,433,1.107,866,5.642,3159,4.078,3418,6.247,4068,9.529,8095,10.243,9856,11.267,12919,7.321,21216,11.669,21218,12.401,21379,9.012,21380,11.326,21381,9.012,21382,9.012,21383,9.012,21384,9.012,21385,9.012,21386,9.012]],["title/interfaces/SuccessfulRes.html",[159,0.712,13146,5.221]],["body/interfaces/SuccessfulRes.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.013,55,2.549,101,0.018,103,0.001,104,0.001,112,0.908,122,2.608,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,8.382,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,5.361,13138,6.99,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,8.673,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,6.99]],["title/classes/SuccessfulResponse.html",[0,0.241,21387,6.113]],["body/classes/SuccessfulResponse.html",[0,0.348,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.472,29,0.767,30,0.001,31,0.565,32,0.15,33,0.459,95,0.112,101,0.013,103,0.001,104,0.001,112,0.95,122,2.863,190,1.801,202,2.307,296,3.402,433,1.235,2851,10.888,21387,10.63,21388,10.049,21389,12.111,21390,10.049,21391,10.049,21392,10.049]],["title/classes/SwapInternalLinksVisitor.html",[0,0.241,5458,6.113]],["body/classes/SwapInternalLinksVisitor.html",[0,0.198,2,0.603,3,0.011,4,0.011,5,0.005,7,0.08,8,0.95,26,1.158,27,0.526,29,0.982,30,0.001,31,0.722,32,0.159,33,0.587,35,1.534,95,0.109,99,1.152,101,0.007,103,0,104,0,130,1.547,228,1.026,400,1.676,433,0.702,569,4.403,613,7.828,652,2.426,1237,2.408,1853,1.875,2032,6.754,2125,2.996,2608,8.208,2662,5.121,2675,6.754,2678,4.035,2796,5.244,2965,6.074,3069,5.683,3116,7.296,3117,7.296,3118,7.296,3119,7.296,3120,9.441,3121,9.441,3122,7.296,3123,9.441,3124,7.296,3125,7.296,3126,6.994,3127,6.514,3129,6.994,3131,6.994,3133,6.994,3134,7.472,3142,6.994,3143,7.472,3148,6.994,3149,7.197,3151,6.994,3154,3.966,3441,10.207,3556,4.284,5455,7.7,5458,7.296,5459,12.613,6519,5.016,18600,7.7,18612,7.7,18767,5.294,21393,5.715,21394,10.757,21395,5.715,21396,5.715,21397,5.715,21398,5.715,21399,5.715,21400,5.715,21401,5.715,21402,5.715,21403,5.715,21404,5.715,21405,5.715,21406,5.715,21407,5.715,21408,5.715,21409,5.715,21410,5.715,21411,5.715,21412,5.715,21413,9.797,21414,5.715,21415,5.715,21416,5.715,21417,5.715,21418,5.715]],["title/injectables/SymetricKeyEncryptionService.html",[589,0.926,9911,6.113]],["body/injectables/SymetricKeyEncryptionService.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.113,8,1.207,27,0.518,29,0.898,30,0.001,31,0.661,32,0.146,33,0.538,35,1.212,47,1.048,59,2.513,95,0.139,101,0.01,103,0,104,0,148,1.305,277,1.156,339,3.659,400,2.371,433,0.993,589,1.405,591,1.918,652,1.645,711,3.847,816,5.611,1027,2.475,1237,2.342,1718,5.931,2125,6.961,2447,4.416,2448,5.848,2912,5.057,3282,5.438,4216,7.92,5204,7.75,7558,5.815,8177,8.632,9910,7.49,9911,9.273,9920,9.273,9921,8.89,9922,9.786,9924,9.786,13887,7.49,16023,6.804,20993,7.49,20996,7.49,21419,8.086,21420,8.086,21421,8.086,21422,8.086,21423,11.768,21424,11.768,21425,8.086,21426,8.086]],["title/classes/System.html",[0,0.241,3430,3.024]],["body/classes/System.html",[0,0.297,2,0.907,3,0.016,4,0.016,5,0.008,7,0.12,8,1.255,27,0.498,30,0.001,32,0.136,35,0.985,47,0.97,95,0.142,101,0.014,103,0.001,104,0.001,110,2.986,112,0.862,113,4.364,125,2.617,148,1.08,159,0.878,185,2.942,231,2.09,435,3.774,436,3.245,532,4.028,711,3.182,735,4.971,1470,4.813,1767,5.967,1770,5.282,1773,7.376,1849,4.894,2088,4.708,3067,5.346,3085,5.346,3430,4.77,6686,4.385,13640,7.626,13728,5.692,14382,7.618,14395,7.539,14396,5.408,14397,5.408,14654,5.542,15045,9.226,15082,5.775,18307,7.955,21427,7.955,21428,8.588,21429,8.588,21430,8.588,21431,6.977,21432,7.955,21433,7.955]],["title/modules/SystemApiModule.html",[252,1.839,20572,5.86]],["body/modules/SystemApiModule.html",[0,0.32,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.307,254,3.324,255,3.529,256,3.617,257,3.604,258,3.591,259,4.55,260,3.434,269,4.504,270,3.553,271,3.48,273,5.818,274,4.789,276,4.504,277,1.321,1525,9.887,1856,7.836,2680,4.243,20572,12.039,21434,9.24,21435,9.24,21436,9.24,21437,11.569,21438,9.24,21439,10.995,21440,9.24,21441,9.24,21442,9.24]],["title/controllers/SystemController.html",[314,2.65,21439,6.113]],["body/controllers/SystemController.html",[0,0.211,3,0.011,4,0.011,5,0.005,7,0.085,8,0.995,10,2.45,27,0.396,29,0.776,30,0.001,31,0.571,32,0.155,33,0.464,35,1.439,36,2.577,72,5.09,95,0.14,100,2.126,101,0.008,103,0,104,0,135,1.442,148,0.856,157,2.566,180,4.751,190,1.821,202,1.4,228,1.095,274,2.538,277,0.872,314,2.32,316,2.935,317,2.826,325,5.488,326,4.461,328,6.528,333,7.453,339,3.25,349,5.155,365,2.708,374,3.782,388,3.733,390,6.488,391,6.255,392,3.174,395,3.264,398,3.287,400,1.788,401,5.694,402,3.133,534,5.81,610,2.405,657,2.324,741,9.728,1368,3.446,1390,5.421,1563,5.62,2233,6.75,2543,6.979,2642,7.568,3240,3.133,3241,4.1,3418,3.923,3430,4.813,4029,4.163,4866,6.212,5138,4.662,5215,7.314,12813,8.067,13094,7.691,16804,7.644,18395,6.263,18397,6.263,18525,9.326,18528,9.005,19888,5.648,21437,8.549,21439,7.644,21443,6.097,21444,8.709,21445,8.709,21446,6.097,21447,11.015,21448,6.097,21449,6.097,21450,6.097,21451,6.097,21452,9.728,21453,6.097,21454,10.266,21455,6.097,21456,6.097,21457,11.084,21458,6.097,21459,6.097,21460,6.097,21461,6.097,21462,6.097,21463,5.351,21464,6.097,21465,6.097,21466,6.097,21467,6.097,21468,6.097,21469,6.097,21470,6.097,21471,6.097,21472,6.097,21473,6.097,21474,6.097,21475,6.097,21476,6.097,21477,6.097,21478,5.13,21479,6.097,21480,6.097]],["title/classes/SystemDomainMapper.html",[0,0.241,21481,6.113]],["body/classes/SystemDomainMapper.html",[0,0.256,2,0.78,3,0.014,4,0.014,5,0.007,7,0.103,8,1.137,27,0.439,29,0.859,30,0.001,31,0.632,32,0.149,33,0.514,34,1.263,35,1.29,95,0.111,101,0.009,103,0,104,0,110,3.46,125,2.37,135,1.464,148,1.106,153,1.609,205,1.505,467,3.967,478,2.069,652,2.633,711,2.14,1593,4.547,1883,2.773,4768,4.453,4866,7.255,4917,4.767,5074,5.08,5210,6.444,6288,3.003,6369,3.725,6686,3.772,6911,6.484,8318,4.453,10475,4.896,10777,6.215,12846,6.842,12847,8.733,12855,8.733,13579,8.354,13640,8.33,13653,5.537,13654,5.537,13655,5.419,13656,5.537,13700,4.968,13703,4.83,13705,4.968,13708,4.968,13711,4.547,13715,4.896,14382,4.408,14654,4.767,15045,8.896,15053,9.024,15082,4.968,15085,5.671,15087,5.671,15089,5.537,15091,5.671,15095,5.671,15096,5.671,15098,5.671,15100,5.537,15102,5.671,15103,4.968,15104,5.823,15115,5.671,15122,5.823,21431,9.781,21481,8.733,21482,12.039,21483,9.95,21484,9.95,21485,7.387,21486,9.95,21487,7.387,21488,9.95,21489,7.387,21490,6.842,21491,6.842,21492,6.842,21493,6.842,21494,7.387,21495,7.387,21496,7.387,21497,7.387]],["title/classes/SystemDto.html",[0,0.241,13094,4.833]],["body/classes/SystemDto.html",[0,0.267,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,26,2.332,27,0.541,29,0.59,30,0.001,31,0.434,32,0.175,33,0.659,34,1.968,47,1.021,95,0.128,99,1.557,101,0.01,103,0,104,0,110,4.002,112,0.804,122,2.126,433,0.949,458,3.082,2109,3.386,3430,3.356,5394,6.092,6686,5.876,6706,4.987,7243,4.198,13094,8.853,13640,7.248,13903,8.627,14382,6.868,14395,7.164,14396,4.866,14397,4.866,14654,7.427,15082,7.74,15158,5.933,15160,5.933,15166,5.793,15168,5.933,15193,5.669,15520,6.503,15522,6.279,15524,6.503,15527,6.503,15529,7.158,15531,7.158,18531,9.499,21498,7.728,21499,10.661,21500,10.255,21501,7.728,21502,7.728,21503,7.728,21504,7.728,21505,7.728,21506,7.728,21507,7.728,21508,7.728,21509,6.783,21510,6.503,21511,7.728,21512,7.158]],["title/entities/SystemEntity.html",[205,1.419,5210,3.728]],["body/entities/SystemEntity.html",[0,0.312,3,0.008,4,0.008,5,0.004,7,0.057,26,1.3,27,0.466,30,0.001,32,0.156,33,0.594,47,1.071,83,2.331,95,0.11,96,1.06,101,0.013,103,0,104,0,110,3.417,112,0.503,122,0.842,125,0.968,129,1.203,130,1.099,134,1.438,153,1.037,157,0.94,159,0.415,185,2.197,190,2.142,195,3.067,196,4.515,197,1.793,205,1.62,206,1.325,211,6.254,223,4.457,224,1.177,225,2.458,226,1.847,228,0.729,229,1.602,231,0.701,232,1.099,233,1.259,331,1.804,540,2.128,561,1.829,620,2.528,628,2.424,886,2.517,997,2.528,1454,2.5,1561,2.867,1593,2.5,1821,1.924,2070,2.19,2109,1.78,2161,2.692,2186,3.118,2712,3.254,2946,3.433,4654,3.385,4692,4.612,4726,2.474,4917,2.621,5074,3.275,5210,3.433,5215,2.315,6206,3.687,6288,1.651,6369,3.234,6686,4.609,6706,2.621,6707,2.818,7243,3.484,8176,2.558,8262,2.731,8318,3.866,10475,2.692,11509,2.692,13579,6.82,13640,5.685,13653,3.045,13654,3.045,13655,2.979,13656,3.045,13700,2.731,13703,2.656,13705,2.731,13708,2.731,13711,2.5,13715,2.692,13826,4.379,13988,3.118,14382,5.387,14395,5.62,14396,2.558,14397,2.558,14648,6.492,14654,5.826,14765,3.045,15045,6.071,15049,3.202,15051,4.705,15053,7.831,15054,3.3,15055,3.3,15056,3.3,15057,3.3,15058,3.3,15059,3.3,15060,3.3,15061,3.3,15062,3.3,15063,3.3,15077,5.83,15078,4.313,15079,2.979,15080,4.924,15081,7.368,15082,6.071,15083,3.3,15084,4.705,15085,3.118,15086,4.705,15087,3.118,15088,3.045,15089,3.045,15090,3.045,15091,3.118,15092,3.045,15093,3.045,15094,3.045,15095,3.118,15096,3.118,15097,3.045,15098,3.118,15099,3.045,15100,3.045,15101,3.045,15102,3.118,15103,4.313,15104,3.202,15105,2.921,15106,3.3,15107,3.3,15108,3.3,15109,3.3,15110,3.3,15111,3.3,15112,3.3,15113,3.3,15114,3.3,15115,3.118,15116,3.3,15117,3.3,15118,3.3,15119,3.3,15120,3.3,15121,3.3,15122,3.202,15123,3.3,15124,3.3,15125,2.979,15126,3.3,15127,3.3,15128,3.3,15129,3.3,15130,3.3,15131,3.3,15132,3.3,15133,3.3,15134,3.3,15135,3.3,15136,3.3,15137,3.3,15138,3.3,15139,3.3,15140,3.118,15141,3.3,15142,3.202,15143,3.118,15144,3.202,15145,3.118,15146,3.118,15147,3.202,15148,3.118,15149,3.202,15150,3.118,15151,2.979,15152,2.979,15153,2.979,15154,3.045,15155,5.211,15156,2.979,15157,5.129,15158,3.118,15159,3.3,15160,3.118,15161,3.3,15162,3.3,15163,3.3,15164,3.3,15165,3.3,15166,3.045,15167,3.202,15168,3.118,15169,3.202,19903,3.762,21513,4.062,21514,4.062,21515,4.062,21516,4.062,21517,4.062,21518,4.062,21519,4.062,21520,4.062,21521,4.062,21522,4.062,21523,4.062,21524,4.062]],["title/classes/SystemEntityFactory.html",[0,0.241,14088,6.113]],["body/classes/SystemEntityFactory.html",[0,0.152,2,0.464,3,0.008,4,0.008,5,0.004,7,0.061,8,0.78,27,0.515,29,0.999,30,0.001,31,0.699,32,0.166,33,0.569,34,1.612,35,1.372,47,0.501,55,2.283,59,3.356,95,0.105,101,0.009,103,0,104,0,110,2.372,112,0.535,113,4.29,127,4.723,129,3.449,130,3.152,135,1.226,148,0.926,153,1.352,157,1.936,172,2.912,185,2.337,192,2.424,195,0.966,205,2.079,206,2.226,228,1.225,231,1.177,326,4.874,374,2.963,433,0.54,436,3.783,467,1.986,478,1.231,501,7.171,502,5.24,505,3.793,506,5.24,507,5.312,508,3.793,509,3.793,510,3.793,511,3.734,512,4.269,513,4.649,514,6.326,515,5.585,516,6.955,517,2.463,522,2.444,523,3.793,524,2.463,525,4.94,526,5.082,527,4.005,528,4.782,529,3.763,530,2.444,531,2.304,532,3.96,533,2.336,534,2.304,535,2.444,536,2.463,537,4.577,538,2.444,539,7.34,540,3.864,541,6.475,542,2.463,543,4.07,544,2.444,545,2.463,546,2.444,547,2.463,548,2.444,549,2.736,550,2.573,551,2.444,552,5.91,553,2.463,554,2.444,555,3.793,556,3.461,557,3.793,558,2.463,559,2.37,560,2.336,561,1.98,562,2.444,563,2.444,564,2.444,565,2.463,566,2.463,567,1.639,568,2.444,569,1.366,570,2.463,571,2.701,572,2.444,573,2.463,575,2.527,576,2.597,577,4.99,620,2.736,702,2.177,998,2.081,1470,3.824,1593,2.706,1598,2.597,2161,2.913,2831,2.731,3430,2.963,4917,2.836,5074,2.244,5210,2.353,6288,1.787,6369,3.44,6686,2.244,8318,4.112,8320,5.005,10395,7.657,10475,2.913,13579,4.734,13640,2.768,13700,2.956,13703,2.874,13704,3.698,13705,2.956,13708,2.956,13711,2.706,13715,2.913,14088,7.339,14382,2.623,14395,2.736,14396,2.768,14397,2.768,14648,3.161,14654,2.836,14688,3.571,15045,2.956,15053,5.114,15080,3.374,15081,5.114,15082,2.956,15103,6.338,15151,3.224,15152,3.224,15153,3.224,15154,3.295,16012,4.071,17727,4.071,21525,4.395,21526,6.32,21527,8.73,21528,8.73,21529,6.823,21530,4.395,21531,6.823,21532,4.395,21533,4.395,21534,4.395,21535,4.395,21536,4.395,21537,4.395,21538,4.395,21539,4.395,21540,4.395,21541,4.395,21542,4.395,21543,4.395,21544,4.395,21545,4.395,21546,4.395,21547,4.395,21548,4.395,21549,4.395,21550,4.395,21551,4.395]],["title/interfaces/SystemEntityProps.html",[159,0.712,15080,5.346]],["body/interfaces/SystemEntityProps.html",[0,0.323,3,0.008,4,0.008,5,0.004,7,0.06,26,1.364,30,0.001,32,0.16,33,0.601,47,1.078,83,2.425,95,0.113,96,1.128,101,0.013,103,0,104,0,110,3.728,112,0.528,122,0.896,134,1.53,153,0.699,157,1,159,0.442,161,1.029,185,1.48,195,3.004,196,4.535,197,1.207,205,1.685,223,4.479,224,1.251,225,2.579,226,1.964,228,0.776,229,1.704,231,0.745,232,1.169,233,1.339,331,1.918,540,1.433,561,1.946,620,2.689,628,2.578,886,2.619,997,2.689,1454,2.659,1561,3.049,1593,2.659,1821,2.046,2070,2.329,2109,1.893,2161,2.863,2186,3.316,2712,3.415,2946,2.312,4654,3.553,4692,4.84,4726,2.631,4917,2.788,5074,3.437,5210,2.312,5215,2.462,6206,3.87,6288,1.756,6369,3.394,6686,5.168,6706,2.788,6707,2.997,7243,3.656,8176,2.72,8262,2.905,8318,4.057,10475,2.863,11509,2.863,13579,7.439,13640,6.373,13653,3.238,13654,3.238,13655,3.169,13656,3.238,13700,2.905,13703,2.824,13705,2.905,13708,2.905,13711,2.659,13715,2.863,13826,4.596,13988,3.316,14382,6.04,14395,6.3,14396,2.72,14397,2.72,14648,7.278,14654,6.531,14765,3.238,15045,6.806,15049,3.405,15051,4.937,15053,8.036,15054,3.509,15055,3.509,15056,3.509,15057,3.509,15058,3.509,15059,3.509,15060,3.509,15061,3.509,15062,3.509,15063,3.509,15077,4.937,15078,4.526,15079,3.169,15080,6.348,15081,8.036,15082,6.806,15083,3.509,15084,4.937,15085,3.316,15086,4.937,15087,3.316,15088,3.238,15089,3.238,15090,3.238,15091,3.316,15092,3.238,15093,3.238,15094,3.238,15095,3.316,15096,3.316,15097,3.238,15098,3.316,15099,3.238,15100,3.238,15101,3.238,15102,3.316,15103,4.526,15104,3.405,15105,3.106,15106,3.509,15107,3.509,15108,3.509,15109,3.509,15110,3.509,15111,3.509,15112,3.509,15113,3.509,15114,3.509,15115,3.316,15116,3.509,15117,3.509,15118,3.509,15119,3.509,15120,3.509,15121,3.509,15122,3.405,15123,3.509,15124,3.509,15125,3.169,15126,3.509,15127,3.509,15128,3.509,15129,3.509,15130,3.509,15131,3.509,15132,3.509,15133,3.509,15134,3.509,15135,3.509,15136,3.509,15137,3.509,15138,3.509,15139,3.509,15140,3.316,15141,3.509,15142,3.405,15143,3.316,15144,3.405,15145,3.316,15146,3.316,15147,3.405,15148,3.316,15149,3.405,15150,3.316,15151,3.169,15152,3.169,15153,3.169,15154,3.238,15155,3.509,15156,3.169,15157,2.788,15158,3.316,15159,3.509,15160,3.316,15161,3.509,15162,3.509,15163,3.509,15164,3.509,15165,3.509,15166,3.238,15167,3.405,15168,3.316,15169,3.405]],["title/classes/SystemFilterParams.html",[0,0.241,21452,6.113]],["body/classes/SystemFilterParams.html",[0,0.396,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,32,0.172,33,0.597,95,0.146,99,1.845,101,0.012,103,0.001,104,0.001,112,0.897,122,2.371,157,2.648,190,2.05,193,4.989,199,6.309,200,2.802,201,4.849,202,2.102,203,7.692,298,3.976,300,4.781,899,4.184,1361,6.576,1470,6.411,2088,3.924,3430,3.976,5215,6.519,12501,8.075,15475,9.834,21452,10.039,21552,9.156,21553,11.555,21554,9.156,21555,9.156,21556,9.156,21557,9.156,21558,9.156]],["title/classes/SystemIdParams.html",[0,0.241,21447,6.113]],["body/classes/SystemIdParams.html",[0,0.422,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,26,2.649,27,0.397,30,0.001,32,0.126,48,6.125,95,0.146,99,2.05,101,0.013,103,0.001,104,0.001,112,0.957,190,1.824,200,3.114,202,2.337,296,3.193,307,7.465,855,4.941,6815,7.318,6816,8.268,21447,10.71,21559,12.203]],["title/classes/SystemMapper.html",[0,0.241,15505,6.113]],["body/classes/SystemMapper.html",[0,0.266,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.447,29,0.876,30,0.001,31,0.645,32,0.151,33,0.524,34,1.314,35,1.316,95,0.128,101,0.01,103,0,104,0,110,2.672,125,3.119,148,1.202,153,1.652,205,1.566,206,2.507,467,3.999,478,2.153,1593,4.73,4768,4.631,4798,5.424,5074,3.923,5210,7.152,6288,3.123,6369,3.874,6686,3.923,6911,6.744,8318,4.631,10475,5.093,10777,6.465,13094,9.085,13579,8.487,13640,7.227,13653,5.76,13654,5.76,13655,5.636,13656,5.76,13700,5.167,13703,5.024,13705,5.167,13708,5.167,13711,4.73,13715,5.093,13903,9.168,14382,4.585,14654,4.959,15082,5.167,15085,5.899,15087,5.899,15089,5.76,15091,5.899,15095,5.899,15096,5.899,15098,5.899,15100,5.76,15102,5.899,15103,5.167,15505,8.966,18327,6.465,19217,8.966,19218,8.596,19222,8.596,19226,6.744,21490,7.117,21491,7.117,21492,7.117,21493,9.463,21499,7.117,21509,6.744,21510,6.465,21560,7.684,21561,10.216,21562,9.463,21563,7.684,21564,7.684,21565,10.216,21566,7.684,21567,7.684,21568,7.684]],["title/modules/SystemModule.html",[252,1.839,1525,5.008]],["body/modules/SystemModule.html",[0,0.284,3,0.015,4,0.015,5,0.007,30,0.001,95,0.149,101,0.011,103,0.001,104,0.001,252,3.128,254,2.95,255,3.132,256,3.211,257,3.199,258,3.188,259,4.304,260,4.403,269,4.175,270,3.154,271,3.089,276,4.175,277,1.173,279,3.4,610,3.235,647,6.016,665,10.831,671,9.779,1525,10.483,2636,4.015,13877,6.663,14635,11.965,14681,7.597,15214,9.993,15482,10.226,15491,10.917,16279,7.199,21569,8.202,21570,8.202,21571,8.202,21572,8.202,21573,8.202,21574,8.202]],["title/classes/SystemOidcMapper.html",[0,0.241,21575,6.113]],["body/classes/SystemOidcMapper.html",[0,0.276,2,0.843,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.456,29,0.893,30,0.001,31,0.657,32,0.145,33,0.535,35,1.342,47,0.86,48,4.912,95,0.117,101,0.01,103,0,104,0,125,2.959,148,1.221,153,1.292,205,2.384,206,3.42,467,4.029,478,2.238,2161,5.296,5210,7.221,6369,4.029,8318,4.816,14646,10.912,14648,8.413,14765,5.989,15081,9.31,15103,5.373,15140,6.133,15143,6.133,15145,6.133,15146,6.133,15148,6.133,15150,6.133,15151,5.861,15152,5.861,15153,5.861,15154,5.989,17668,7.401,19217,9.201,19218,8.82,19222,8.82,19226,7.012,21510,6.723,21562,9.71,21575,9.201,21576,12.421,21577,7.99,21578,10.483,21579,7.99,21580,7.99,21581,10.483,21582,7.99,21583,7.99,21584,10.483,21585,7.99,21586,7.99,21587,7.99,21588,7.99]],["title/injectables/SystemOidcService.html",[589,0.926,14635,5.86]],["body/injectables/SystemOidcService.html",[0,0.286,3,0.015,4,0.015,5,0.007,7,0.115,8,1.223,12,4.845,26,2.548,27,0.463,29,0.817,30,0.001,31,0.601,32,0.132,33,0.489,34,1.831,35,1.228,36,2.658,40,5.182,95,0.151,99,1.663,100,2.878,101,0.011,103,0.001,104,0.001,135,1.546,148,1.052,153,1.335,228,1.482,277,1.18,279,3.421,317,2.889,346,6.053,393,4.086,400,2.42,433,1.014,478,2.312,579,2.356,589,1.423,591,1.958,657,2.448,671,9.225,675,4.213,3430,4.649,5210,4.417,14635,9.008,14646,6.505,15211,6.944,15214,8.025,15471,9.914,15475,6.505,15506,7.243,15508,7.243,15513,7.644,21575,7.243,21589,12.576,21590,8.253,21591,8.253,21592,8.253,21593,8.253,21594,11.885,21595,8.253,21596,8.253]],["title/interfaces/SystemProps.html",[159,0.712,21431,5.658]],["body/interfaces/SystemProps.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,30,0.001,32,0.175,33,0.654,47,1.056,95,0.139,101,0.013,103,0,104,0,110,4.325,112,0.824,125,2.504,148,1.033,159,0.82,161,1.911,185,2.748,231,2.023,1470,4.496,1767,6.367,1770,4.207,1849,4.572,2088,4.505,3430,3.483,6686,6.351,13640,8.625,13728,5.317,14382,7.706,14395,8.039,14396,5.051,14397,5.051,14654,8.028,15045,9.401,15082,8.365,21427,7.43,21431,8.539,21432,7.43,21433,7.43]],["title/injectables/SystemRepo.html",[589,0.926,15214,5.221]],["body/injectables/SystemRepo.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,8,1.175,10,4.131,12,4.653,26,2.488,27,0.449,29,0.88,30,0.001,31,0.648,32,0.143,33,0.527,34,1.972,35,1.179,36,2.595,40,4.976,95,0.146,96,2.025,97,3.129,99,1.563,101,0.01,103,0,104,0,135,1.598,142,4.175,148,1.207,153,1.255,195,1.705,197,2.168,205,2.502,228,1.393,277,1.109,317,2.84,400,2.275,433,0.953,435,2.665,478,2.173,589,1.367,591,1.84,657,2.637,711,3.803,1770,4.616,1883,2.912,2446,6.669,2498,5.383,2511,8.353,3430,5.701,3644,4.944,3649,5.86,5210,6.173,9521,6.809,12950,7.186,15214,7.707,20369,9.523,21431,8.353,21481,6.809,21597,7.758,21598,7.758,21599,7.758,21600,7.758,21601,7.758,21602,7.758]],["title/classes/SystemResponseMapper.html",[0,0.241,21463,6.113]],["body/classes/SystemResponseMapper.html",[0,0.252,2,0.769,3,0.013,4,0.013,5,0.007,7,0.101,8,1.126,27,0.435,29,0.853,30,0.001,31,0.627,32,0.148,33,0.51,34,1.245,35,1.281,95,0.139,101,0.009,103,0,104,0,125,1.734,135,1.557,148,1.098,153,1.806,467,3.955,829,4.302,871,2.679,1593,4.481,2734,5.914,3430,5.197,4866,4.08,5074,3.717,5215,4.149,5394,5.739,6288,2.959,6369,3.671,6686,3.717,8318,4.388,9705,5.739,9708,6.743,10475,4.825,11634,5.457,13094,9.302,13640,4.584,13700,4.895,13703,4.76,13705,4.895,13708,4.895,13711,4.481,13715,4.825,13903,9.373,14654,4.698,15103,4.895,15193,5.34,15520,6.125,15522,5.914,15524,6.125,15821,6.389,17202,6.389,17204,6.389,17205,6.389,17206,6.389,17207,6.389,17208,6.389,17209,6.389,17210,6.389,17211,6.389,17212,6.389,17213,6.389,17214,6.389,17247,11.089,18327,6.125,18525,10.069,18528,10.707,18529,6.743,18537,6.743,21463,8.647,21509,6.389,21510,6.125,21603,11.967,21604,9.853,21605,9.853,21606,9.853,21607,9.853,21608,9.853,21609,9.853,21610,9.853,21611,7.28,21612,7.28,21613,7.28,21614,9.853,21615,7.28,21616,9.853,21617,7.28,21618,6.743]],["title/injectables/SystemRule.html",[589,0.926,1864,5.86]],["body/injectables/SystemRule.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.099,8,1.109,27,0.462,29,0.906,30,0.001,31,0.666,32,0.147,33,0.542,35,1.267,95,0.138,101,0.009,103,0,104,0,122,2.863,135,1.543,148,1.086,158,2.63,183,4.218,185,3.326,228,1.28,277,1.019,290,3.209,400,2.089,433,0.875,478,1.996,589,1.291,591,1.69,653,2.93,711,3.918,1197,3.87,1237,2.064,1540,4.944,1675,5.852,1770,5.246,1775,6.492,1792,4.944,1801,7.884,1838,5.852,1864,8.17,1982,6.188,1986,5.977,1993,4.658,2619,6.188,3430,6.043,3711,4.723,3714,6.266,3716,4.723,3717,6.436,3718,5.123,3722,6.6,5074,3.638,5400,10.231,11332,8.17,11716,5.123,15045,4.791,20391,10.987,21619,7.125,21620,11.861,21621,7.125,21622,9.71,21623,7.125,21624,7.125,21625,7.125,21626,9.71,21627,7.125,21628,7.125,21629,7.125]],["title/classes/SystemScope.html",[0,0.241,15478,6.113]],["body/classes/SystemScope.html",[0,0.267,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,27,0.53,29,0.783,30,0.001,31,0.576,32,0.158,33,0.469,35,1.463,95,0.114,101,0.01,103,0,104,0,112,0.804,122,2.386,129,2.289,130,2.091,142,4.167,148,1.131,231,1.769,365,3.432,436,3.769,478,2.165,569,2.402,652,2.667,2479,6.802,5210,4.137,6288,5.645,7007,6.798,7008,6.798,7009,6.798,7014,6.798,7015,6.798,7016,5.197,7017,5.123,7018,5.197,7019,5.197,7028,5.123,7029,6.798,7030,5.197,7031,5.123,7032,5.197,7033,5.123,7034,7.629,9528,6.092,12041,10.102,13640,4.866,14648,5.557,15045,5.197,15478,11.925,21526,11.356,21527,11.356,21528,11.356,21630,12.26,21631,7.728,21632,7.728,21633,7.728]],["title/injectables/SystemService.html",[589,0.926,15482,5.008]],["body/injectables/SystemService.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,10,4.384,12,4.937,26,2.577,27,0.47,29,0.92,30,0.001,31,0.677,32,0.149,33,0.551,34,1.453,35,1.251,36,2.687,40,5.28,95,0.142,99,1.712,101,0.011,103,0.001,104,0.001,122,1.762,135,1.42,142,3.076,148,1.072,228,1.526,277,1.215,317,2.911,335,7.337,400,2.491,433,1.044,589,1.45,591,2.016,657,2.495,711,3.898,1770,3.401,1883,3.19,2511,8.864,2636,4.159,3430,5.943,15211,7.149,15214,10.088,15482,7.845,15506,7.458,21634,8.497,21635,8.497,21636,8.497,21637,8.497,21638,8.497]],["title/injectables/SystemUc.html",[589,0.926,21437,5.86]],["body/injectables/SystemUc.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.091,8,1.047,10,3.683,12,4.148,26,2.726,27,0.446,29,0.874,30,0.001,31,0.643,32,0.149,33,0.523,34,1.807,35,1.212,36,2.638,39,1.819,40,4.436,48,5.364,59,2.037,95,0.148,99,1.321,101,0.008,103,0,104,0,129,1.941,130,1.774,135,1.375,142,2.373,148,0.901,153,1.482,197,3.199,228,1.898,277,0.937,290,2.715,317,2.874,346,4.808,393,3.246,433,1.126,478,1.836,579,2.617,589,1.219,591,1.555,595,2.486,610,2.585,652,2.15,657,2.854,693,2.981,1472,3.644,1780,3.951,1862,6.81,1883,2.461,1962,3.912,2680,3.01,3430,5.564,4862,4.345,4863,4.408,4987,5.325,5210,3.509,5215,6.865,13094,7.943,15472,8.491,15474,8.491,15475,5.167,15482,9.213,15491,9.582,15508,5.753,15535,6.072,15724,7.713,17030,5.515,20418,6.072,21437,7.713,21512,8.491,21553,10.603,21639,6.555,21640,6.555,21641,6.555,21642,6.555,21643,11.447,21644,6.555,21645,6.555,21646,6.555,21647,6.555,21648,6.555,21649,6.555,21650,6.555]],["title/interfaces/TargetGroupProperties.html",[159,0.712,16298,5.658]],["body/interfaces/TargetGroupProperties.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.141,33,0.596,47,1.079,95,0.113,96,1.98,101,0.016,103,0,104,0,110,3.521,112,0.794,155,3.232,157,2.344,159,1.166,161,1.806,205,2.064,223,4.349,224,2.196,225,3.88,226,3.448,231,1.308,232,2.052,233,2.351,289,7.057,1821,3.591,2831,4.053,3056,3.649,3932,4.893,6209,4.893,6214,5.026,6223,6.809,6578,6.62,6628,5.353,7243,4.119,7571,5.026,7572,4.525,8176,4.775,16285,6.38,16286,8.227,16287,8.227,16288,7.982,16289,8.227,16294,9.262,16298,9.884,16302,10.237,16303,8.924,16304,6.38,16305,6.38,16306,7.982,16307,6.16,16308,6.38,16309,6.38,16310,6.38,16311,6.38,16312,6.38,16313,6.38,16314,6.38,16315,6.38,16316,6.38,16317,6.38,16318,6.38,16319,6.38]],["title/classes/TargetInfoMapper.html",[0,0.241,16680,6.113]],["body/classes/TargetInfoMapper.html",[0,0.338,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,8,1.359,27,0.38,29,0.745,30,0.001,31,0.668,32,0.121,33,0.446,34,1.668,35,1.119,95,0.133,99,1.966,100,4.148,101,0.013,103,0.001,104,0.001,135,1.269,148,0.959,153,1.578,467,3.736,830,6.613,3011,4.458,4752,8.209,7872,10.015,16651,10.855,16680,10.441,20179,8.563,20181,8.563,21651,11.896,21652,11.896,21653,9.756,21654,9.756,21655,9.756]],["title/classes/TargetInfoResponse.html",[0,0.241,16651,5.658]],["body/classes/TargetInfoResponse.html",[0,0.313,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.484,29,0.691,30,0.001,31,0.789,32,0.154,33,0.414,34,2.374,47,0.956,95,0.101,101,0.012,103,0.001,104,0.001,112,0.891,157,2.873,190,2.036,202,2.079,205,2.652,296,3.247,304,4.483,433,1.395,458,3.61,821,4.622,868,4.357,2184,3.583,2301,7.136,3011,5.947,3196,5.919,3197,6.079,3198,6.079,4746,7.945,16651,10.891,20186,7.945,20187,8.385,21656,13.015]],["title/entities/Task.html",[205,1.419,2959,3.198]],["body/entities/Task.html",[0,0.169,3,0.005,4,0.005,5,0.003,7,0.157,26,1.67,27,0.456,30,0.001,31,0.354,32,0.154,33,0.514,34,0.834,47,0.761,55,0.989,83,2.781,95,0.128,96,0.758,101,0.011,103,0,104,0,112,0.7,122,2.381,125,1.963,129,1.868,130,1.707,135,1.788,141,1.245,142,1.051,145,1.831,148,1.273,153,1.73,157,1.46,158,1.072,159,0.499,190,2.096,195,2.646,196,3.303,197,3.146,205,0.994,206,0.948,211,4.077,223,3.579,224,0.841,225,1.87,226,1.321,229,1.145,231,0.501,232,0.786,233,0.9,277,0.415,290,2.817,402,3.412,527,1.234,567,1.083,569,2.297,578,1.522,579,1.393,628,1.733,652,2.48,653,2.007,692,3.446,703,1.935,711,3.26,756,2.948,813,1.628,874,1.7,962,2.05,1237,0.841,1312,1.368,1563,1.874,1821,1.375,1829,1.245,1842,2.229,1928,2.883,1937,2.972,2027,4.033,2033,3.775,2055,4.377,2127,1.7,2184,1.15,2570,1.874,2942,4.961,2946,3.956,2950,1.615,2955,3.148,2956,1.733,2957,3.401,2958,2.05,2959,5.049,2972,5.387,3159,3.729,3432,1.67,3589,3.284,3593,3.823,3668,4.527,3752,1.874,4040,6.061,4042,2.444,4093,4.124,4112,5.541,4116,3.331,4117,5.817,4118,4.899,4119,5.914,4120,6.416,4121,3.331,4132,6.005,4441,1.716,4588,1.671,4600,1.829,4645,2.444,4664,1.308,5278,1.829,5607,1.851,5608,1.899,5727,2.275,5762,3.003,6206,1.67,6211,3.109,6231,1.874,6232,1.829,6240,1.925,6247,2.015,6269,2.015,6668,3.401,7506,4.242,7533,2.549,7538,2.69,7549,3.003,7553,1.641,7565,2.29,7569,2.088,7571,1.925,7572,1.733,7573,1.788,7574,1.733,7775,2.549,7856,3.846,7888,1.899,7893,2.177,8683,2.69,8975,5.914,9754,2.13,9934,1.983,13792,4.627,13795,3.508,13796,4.729,13797,4.627,13996,2.23,15555,2.444,16660,3.964,16840,2.29,19064,2.444,21048,2.36,21068,5.54,21069,2.36,21086,5.54,21087,2.36,21106,2.23,21111,2.36,21273,2.444,21274,2.36,21276,2.444,21376,4.105,21657,2.549,21658,2.904,21659,2.904,21660,4.282,21661,2.904,21662,2.904,21663,2.904,21664,2.904,21665,2.904,21666,2.904,21667,2.904,21668,2.904,21669,2.904,21670,2.904,21671,2.904,21672,4.282,21673,2.904,21674,2.904,21675,2.549,21676,2.549,21677,2.549,21678,2.549,21679,2.549,21680,2.549,21681,5.537,21682,5.125,21683,4.973,21684,2.549,21685,2.549,21686,2.549,21687,2.444,21688,7.831,21689,2.549,21690,4.282,21691,6.487,21692,6.487,21693,2.549,21694,2.549,21695,2.549,21696,4.282,21697,2.549,21698,2.549,21699,2.549,21700,2.549,21701,2.549,21702,2.549,21703,2.549,21704,2.549,21705,2.549,21706,2.549,21707,2.549,21708,2.549,21709,4.282,21710,2.549,21711,2.549,21712,2.23,21713,2.549,21714,2.549,21715,2.549,21716,2.549,21717,2.549,21718,2.549,21719,4.282,21720,2.549,21721,2.549,21722,4.282,21723,2.549,21724,4.282,21725,2.444,21726,2.549,21727,6.487,21728,5.537,21729,5.537,21730,2.549,21731,5.537,21732,4.282,21733,2.549,21734,2.549,21735,2.549,21736,5.537,21737,2.549,21738,4.282,21739,2.549,21740,2.549,21741,6.487,21742,2.549,21743,2.549,21744,2.549,21745,2.549,21746,2.549,21747,2.549,21748,2.549,21749,4.282,21750,2.549,21751,2.549,21752,4.282,21753,2.549,21754,2.549,21755,2.549,21756,2.549,21757,2.444,21758,2.549,21759,6.487,21760,2.549,21761,2.549,21762,2.549,21763,2.549,21764,2.549,21765,2.549,21766,2.549,21767,2.549,21768,2.549,21769,2.549]],["title/modules/TaskApiModule.html",[252,1.839,20574,5.86]],["body/modules/TaskApiModule.html",[0,0.275,3,0.015,4,0.015,5,0.007,30,0.001,95,0.152,101,0.01,103,0,104,0,252,3.08,254,2.857,255,3.033,256,3.109,257,3.098,258,3.087,259,4.237,260,2.951,269,4.088,270,3.054,271,2.991,273,5.001,274,4.347,276,4.088,277,1.136,279,3.293,314,3.022,1856,7.531,1908,9.329,1911,8.135,1915,9.329,2680,3.647,3036,3.722,3318,4.889,3320,5.511,7378,9.905,7382,7.357,15277,9.905,20574,12.307,21123,10.239,21134,11.119,21770,7.942,21771,7.942,21772,7.942,21773,11.119,21774,11.119,21775,7.942,21776,10.239,21777,7.942,21778,7.942]],["title/entities/TaskBoardElement.html",[205,1.419,2969,5.658]],["body/entities/TaskBoardElement.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.127,27,0.356,30,0.001,32,0.113,95,0.139,96,3.254,101,0.012,103,0.001,104,0.001,112,0.896,190,1.637,195,2.51,196,4.135,205,2.328,206,2.98,224,2.646,231,1.576,232,2.472,457,5.078,1087,4.216,1373,6.956,1842,4.174,1939,4.855,2715,5.162,2923,6.847,2939,9.004,2959,5.996,2960,5.752,2961,8.063,2963,7.686,2969,9.28,3011,5.967,3325,7.012,3352,9.611,3908,6.237,4823,6.7,5301,6.448,5727,4.259,5728,8.017,7908,7.201,7909,7.571,7910,6.7,15554,8.461,21038,10.025,21779,11.422,21780,9.135]],["title/controllers/TaskController.html",[314,2.65,21776,6.113]],["body/controllers/TaskController.html",[0,0.159,3,0.009,4,0.009,5,0.004,7,0.064,8,0.808,10,3.458,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.356,36,2.814,56,3.33,70,3.586,95,0.144,100,3.002,101,0.006,103,0,104,0,129,1.363,130,1.245,135,1.683,141,4.139,148,1.162,153,0.744,190,2.053,195,1.553,197,2.406,202,1.057,228,1.269,274,1.916,277,0.658,298,1.998,314,1.751,316,2.215,317,3.007,325,6.907,326,3.275,340,2.898,349,7.16,365,4.289,379,3.586,388,3.689,389,3.009,392,2.396,393,2.279,395,2.463,398,2.481,400,1.349,649,2.898,650,3.739,652,1.964,657,2.62,675,2.35,863,3.899,871,4.047,883,8.737,1713,3.739,1714,3.449,1715,4.039,2959,3.953,3220,8.233,3240,2.365,3242,2.519,3277,6.992,3305,3.009,3318,2.833,3319,2.623,4077,4.218,5800,2.746,7176,3.628,7423,3.739,7432,8.126,7438,4.263,7638,7.883,8975,6.401,15471,6.785,15558,3.872,15564,3.872,16602,4.263,19399,3.872,19400,4.263,19414,4.039,19416,4.039,19530,6.204,21130,11.203,21773,7.242,21774,7.242,21776,6.204,21781,4.602,21782,7.972,21783,8.607,21784,7.069,21785,7.972,21786,4.602,21787,4.602,21788,4.602,21789,7.069,21790,4.602,21791,4.602,21792,4.602,21793,7.069,21794,4.602,21795,4.602,21796,4.602,21797,4.602,21798,7.069,21799,4.602,21800,4.602,21801,7.069,21802,4.602,21803,4.602,21804,7.069,21805,4.602,21806,4.039,21807,4.602,21808,4.602,21809,3.872,21810,3.739,21811,4.602,21812,4.602,21813,4.602,21814,7.069,21815,4.602,21816,4.602,21817,4.602,21818,4.602,21819,4.602,21820,9.658,21821,4.602,21822,4.602,21823,7.069,21824,10.421,21825,4.602,21826,4.602,21827,4.602,21828,4.602,21829,4.602,21830,4.602]],["title/classes/TaskCopyApiParams.html",[0,0.241,7432,5.86]],["body/classes/TaskCopyApiParams.html",[0,0.382,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.43,30,0.001,32,0.137,33,0.585,34,2.19,47,0.941,95,0.123,100,3.852,101,0.011,103,0.001,104,0.001,112,0.866,157,3.062,190,1.98,200,2.651,201,4.727,202,1.989,300,4.66,304,5.469,855,4.924,1562,10.096,1937,5.203,2027,5.952,2033,4.189,2608,6.657,2959,6.212,3197,6.855,3198,6.855,3668,6.498,5762,7.486,7183,11.24,7432,9.293,8076,8.707,12495,9.694,15568,8.023,15569,8.023,21831,10.232,21832,8.662]],["title/injectables/TaskCopyService.html",[589,0.926,3284,5.49]],["body/injectables/TaskCopyService.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,8,0.909,26,1.613,27,0.435,29,0.852,30,0.001,31,0.656,32,0.159,33,0.51,35,1.199,36,1.682,47,0.396,95,0.135,99,1.085,101,0.007,103,0,104,0,125,2.782,135,1.572,148,0.93,153,0.871,155,1.719,157,1.247,158,1.988,228,1.7,277,0.77,279,2.233,290,3.137,317,2.74,326,3.979,402,4.201,433,0.978,478,1.509,578,2.823,589,1.058,591,1.278,652,2.689,657,2.67,703,1.652,896,4.424,1317,5.072,1915,8.243,1937,2.537,2033,4.429,2831,2.156,2957,6.015,2959,6.237,3272,4.246,3277,6.466,3284,6.274,3287,8.861,3293,9.523,3303,11.467,3305,7.635,3316,4.246,3317,4.037,3318,3.315,3319,3.069,3336,4.727,3337,4.246,3338,4.532,3374,4.532,3898,3.988,5409,6.985,6203,3.432,6668,2.904,7333,10.165,7334,4.989,7338,7.372,7347,9.685,7359,10.333,7361,8.308,7372,6.274,7406,4.532,7686,4.375,7704,4.532,7711,4.989,12326,4.989,13792,3.95,13797,3.95,21833,11.678,21834,9.466,21835,7.959,21836,4.727,21837,5.386,21838,7.959,21839,12.081,21840,5.386,21841,5.386,21842,11.19,21843,5.386,21844,7.959,21845,12.664,21846,5.386,21847,7.959,21848,5.386,21849,5.386,21850,5.386,21851,5.386,21852,5.386,21853,5.386,21854,5.386,21855,5.386,21856,5.386,21857,5.386,21858,5.386,21859,5.386,21860,5.386,21861,4.989,21862,5.386,21863,4.989,21864,5.386,21865,5.386,21866,5.386,21867,5.386]],["title/injectables/TaskCopyUC.html",[589,0.926,21773,5.86]],["body/injectables/TaskCopyUC.html",[0,0.146,3,0.008,4,0.008,5,0.004,7,0.059,8,0.754,26,2.447,27,0.46,29,0.876,30,0.001,31,0.645,32,0.146,33,0.525,35,1.317,36,2.344,39,1.169,47,0.904,95,0.135,99,0.848,101,0.005,102,2.238,103,0,104,0,122,0.873,125,3.119,134,1.491,135,1.571,148,1.043,153,1.316,158,1.554,183,4.051,228,1.905,277,0.602,279,1.746,290,2.967,317,2.706,339,1.235,340,2.652,402,2.374,433,0.811,478,1.18,528,2.136,569,3.447,579,2.629,589,0.877,591,0.999,610,1.661,612,2.832,629,2.222,652,2.825,657,2.426,693,1.915,813,2.36,980,4.487,981,2.565,1080,1.46,1115,1.603,1268,5.008,1312,1.984,1328,2.238,1381,2.832,1390,2.621,1626,3.698,1780,2.538,1783,2.592,1829,1.805,1832,2.684,1862,4.894,1911,6.53,1915,7.828,1937,1.984,2027,3.23,2033,3.793,2092,3.9,2219,1.888,2220,2.123,2221,2.049,2222,2.652,2608,2.538,2680,1.934,2681,2.513,2954,2.238,2957,5.392,2959,5.093,3277,5.361,3284,8.742,3287,8.134,3293,9.702,3303,9.31,3305,2.753,3318,2.592,3319,2.4,3320,2.922,3373,3.696,3374,3.543,3375,3.9,3910,6.414,3972,2.791,4401,4.258,5098,3.32,5138,2.254,5747,7.572,5762,4.062,6665,2.287,7395,6.846,7434,8.53,7555,3.421,7562,3.156,7672,3.543,7686,5.361,7688,3.9,7724,3.696,7725,7.748,7731,3.696,7737,3.696,7738,3.696,7739,2.652,10305,3.696,13205,6.846,14445,3.421,15576,3.9,15583,3.9,15584,3.696,15587,3.9,15603,5.552,18508,3.543,18886,3.32,19462,3.9,20853,6.112,20899,3.696,21075,3.32,21339,6.414,21773,5.552,21842,11.185,21868,12.076,21869,6.599,21870,6.599,21871,6.599,21872,8.136,21873,6.599,21874,8.136,21875,4.211,21876,6.599,21877,4.211,21878,8.124,21879,6.599,21880,4.211,21881,4.211,21882,6.599,21883,4.211,21884,6.599,21885,10,21886,4.211,21887,4.211,21888,6.599,21889,4.211,21890,6.599,21891,4.211,21892,3.9,21893,3.9,21894,3.696,21895,4.211,21896,4.211,21897,4.211,21898,3.543,21899,3.9,21900,4.211,21901,4.211,21902,4.211,21903,6.599,21904,4.211,21905,4.211,21906,3.9,21907,4.211,21908,4.211,21909,4.211,21910,4.211,21911,4.211,21912,4.211]],["title/interfaces/TaskCreate.html",[159,0.712,13794,5.221]],["body/interfaces/TaskCreate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.478,32,0.157,33,0.581,47,1.038,55,2.444,83,3.203,95,0.122,99,1.716,101,0.016,103,0.001,104,0.001,112,0.857,122,2.792,157,1.971,159,1.346,161,2.028,231,2.196,290,2.862,478,2.385,652,1.732,692,5.093,703,2.612,1937,4.011,2027,6.441,2033,4.575,2957,5.89,3159,4.944,3589,5.688,3593,4.404,4040,4.985,4093,5.567,4112,5.726,4116,5.814,4117,6.011,4118,5.644,4119,5.644,4120,6.123,4121,5.814,5762,8.101,6668,4.591,8975,5.644,13790,10.374,13791,6.918,13792,6.246,13793,6.383,13794,8.189,13795,6.123,13796,6.383,13797,6.246]],["title/classes/TaskCreateParams.html",[0,0.241,21913,6.113]],["body/classes/TaskCreateParams.html",[0,0.328,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,27,0.494,30,0.001,31,0.61,32,0.168,33,0.621,34,2,47,0.973,83,4.059,95,0.13,99,1.389,101,0.009,103,0,104,0,112,0.745,155,3.03,157,3.177,185,4.007,190,2.273,194,4.596,195,2.571,196,3.149,197,2.653,200,2.109,201,4.928,202,1.583,296,2.484,298,2.993,299,4.803,300,4.859,304,5.792,854,6.836,855,4.396,1216,8.331,1237,2.749,1937,4.471,2027,5.314,2033,3.6,2959,6.078,3045,6.291,3197,6.261,3198,6.261,3589,3.589,3593,5.615,4040,5.556,4093,7.098,5762,6.683,8079,7.986,8089,5.6,8091,6.481,9648,5.843,10311,5.6,13794,8.138,17100,6.384,21831,10.93,21913,8.331,21914,6.893,21915,8.792,21916,6.893,21917,6.384,21918,6.893,21919,6.893,21920,6.893,21921,6.384]],["title/classes/TaskFactory.html",[0,0.241,21157,6.113]],["body/classes/TaskFactory.html",[0,0.154,2,0.47,3,0.008,4,0.008,5,0.004,7,0.062,8,0.787,27,0.52,29,1.001,30,0.001,31,0.712,32,0.165,33,0.57,34,1.441,35,1.377,47,0.506,55,2.293,59,3.189,95,0.121,99,0.896,101,0.006,103,0,104,0,112,0.54,113,4.312,127,4.754,129,3.555,130,3.164,135,1.521,148,1.009,153,1.363,157,1.95,172,2.939,185,2.359,192,2.454,195,1.513,197,2.651,205,2.091,206,2.247,228,1.237,231,1.188,290,2.574,326,4.943,374,2.991,433,0.846,436,3.794,467,2.005,478,1.246,501,7.187,502,5.274,505,3.829,506,5.274,507,5.331,508,3.829,509,3.829,510,3.829,511,3.769,512,4.302,513,4.684,514,6.351,515,5.616,516,6.971,517,2.493,522,2.473,523,3.829,524,2.493,525,4.972,526,5.115,527,4.032,528,4.813,529,3.799,530,2.473,531,2.332,532,3.98,533,2.364,534,2.332,535,2.473,536,2.493,537,4.612,538,2.473,539,7.292,540,3.88,541,6.501,542,2.493,543,4.101,544,2.473,545,2.493,546,2.473,547,2.493,548,2.473,549,2.769,550,2.604,551,2.473,552,5.939,553,2.493,554,2.473,555,3.829,556,3.494,557,3.829,558,2.493,559,2.399,560,2.364,561,2.004,562,2.473,563,2.473,564,2.473,565,2.493,566,2.493,567,1.659,568,2.473,569,1.383,570,2.493,571,2.726,572,2.473,573,2.493,575,2.558,576,2.629,577,5.661,652,2.207,697,3.199,698,3.415,703,2.585,813,2.493,981,2.709,1224,3.199,2959,3.163,4093,5.509,6668,3.713,7763,3.507,7764,3.614,7768,6.846,7773,3.507,8975,5.585,11929,6.045,11930,4.121,13795,3.199,16840,7.478,21157,7.396,21163,4.121,21712,7.282,21725,7.982,21922,4.449,21923,4.449,21924,6.887,21925,4.449,21926,4.449,21927,4.449,21928,6.887,21929,4.449]],["title/classes/TaskListResponse.html",[0,0.241,21809,5.86]],["body/classes/TaskListResponse.html",[0,0.315,2,0.685,3,0.012,4,0.012,5,0.006,7,0.09,27,0.468,29,0.496,30,0.001,31,0.64,32,0.168,33,0.548,34,1.798,47,0.974,55,2.833,56,5.862,59,2.83,70,6.313,83,3.342,95,0.127,99,1.308,100,2.264,101,0.012,103,0,104,0,112,0.714,122,1.346,125,1.546,134,2.299,157,2.434,185,2.223,190,2.043,197,1.814,201,4.837,202,1.491,231,1.571,296,3.514,298,2.819,339,3.52,402,3.782,403,3.314,430,4.325,431,4.507,433,1.118,435,2.23,436,3.367,458,2.589,460,3.953,462,3.953,862,7.954,863,6.863,864,5.234,866,3.234,868,5.061,869,3.177,870,3.553,871,2.388,872,4.582,873,5.802,874,5.33,875,4.244,876,3.38,877,4.582,878,4.582,880,4.137,881,3.553,1372,3.426,2027,5.147,2055,7.296,2127,3.8,2184,2.57,2358,3.732,2393,2.488,2836,4.303,2959,4.829,3054,7.095,3593,3.357,4093,4.244,4094,4.088,4107,5.462,7179,5.117,7180,4.365,19056,8.543,21682,5.274,21683,5.117,21809,7.66,21810,10.595,21930,6.013,21931,6.492,21932,6.492,21933,7.397,21934,6.013,21935,6.013,21936,6.013]],["title/classes/TaskMapper.html",[0,0.241,21806,6.113]],["body/classes/TaskMapper.html",[0,0.237,2,0.724,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.422,29,0.827,30,0.001,31,0.711,32,0.144,33,0.495,34,1.173,35,1.242,95,0.13,99,1.382,100,4.415,101,0.009,103,0,104,0,135,1.647,148,1.064,153,1.53,157,2.189,197,1.917,326,3.599,402,3.402,430,2.82,431,2.939,467,3.905,478,1.921,830,5.258,837,3.396,2027,5.299,2055,4.758,2393,2.628,2959,4.343,3589,3.57,3593,4.892,3877,8.301,4093,6.184,5762,5.822,5838,6.018,7455,8.761,7456,8.761,9754,8.561,10917,8.301,13793,8.749,13794,8.749,19056,7.684,19311,8.761,21683,5.406,21687,5.77,21712,5.264,21806,8.301,21810,9.482,21861,8.761,21913,10.244,21937,6.857,21938,9.458,21939,9.458,21940,9.458,21941,6.857,21942,9.458,21943,10.244,21944,6.857,21945,9.458,21946,6.857,21947,6.018,21948,6.857,21949,6.857,21950,6.857,21951,9.458,21952,6.857,21953,6.857,21954,6.857,21955,6.857,21956,6.857,21957,6.857,21958,6.857,21959,6.857,21960,6.857,21961,6.857,21962,6.857,21963,6.857,21964,6.857,21965,6.857,21966,9.458,21967,6.857,21968,6.857,21969,6.857,21970,10.811,21971,9.458,21972,9.458,21973,9.458]],["title/modules/TaskModule.html",[252,1.839,15277,5.221]],["body/modules/TaskModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.144,101,0.01,103,0,104,0,252,3.086,254,2.868,255,3.045,256,3.122,257,3.111,258,3.099,259,4.245,260,4.344,269,4.099,270,3.066,271,3.003,276,4.099,277,1.14,279,3.306,610,3.145,1317,5.082,1911,8.144,1914,10.155,1915,9.339,2831,3.192,3284,11.164,3318,4.909,3319,4.544,3889,9.916,3898,3.996,5748,10.616,7378,9.916,15277,10.986,21330,11.506,21974,7.974,21975,7.974,21976,7.974,21977,7.974,21978,7.974]],["title/interfaces/TaskParent.html",[159,0.712,6211,4.439]],["body/interfaces/TaskParent.html",[0,0.188,3,0.006,4,0.006,5,0.003,7,0.163,8,0.621,26,1.929,27,0.129,30,0.001,31,0.186,32,0.13,34,0.93,35,0.379,47,0.739,55,1.102,83,2.596,95,0.133,96,0.864,101,0.011,103,0,104,0,112,0.629,122,2.379,125,1.909,135,1.815,141,1.418,142,1.198,145,2.041,148,1.302,153,1.699,157,0.766,158,1.221,159,0.556,161,0.788,195,2.461,196,3.158,197,3.275,205,1.108,223,3.39,224,0.958,225,2.084,226,1.505,229,1.305,231,0.571,232,0.895,233,1.026,277,0.473,290,2.874,402,3.618,527,1.406,567,1.234,569,2.491,578,1.734,579,1.552,628,1.974,652,2.499,653,2.236,692,3.227,703,1.015,711,3.394,756,3.196,813,1.854,874,1.937,962,2.336,1237,0.958,1312,1.559,1563,2.135,1821,1.567,1829,1.418,1842,2.485,1928,3.213,1937,1.559,2027,3.923,2033,3.358,2055,4.802,2127,1.937,2184,1.31,2570,2.135,2942,4.107,2946,2.91,2950,1.839,2955,3.509,2956,1.974,2957,2.931,2958,2.336,2959,4.996,2972,5.789,3159,4.007,3432,1.902,3589,2.831,3593,2.812,3668,4.829,3752,2.135,4040,5.888,4042,2.784,4093,2.163,4112,5.954,4116,3.712,4117,6.25,4118,5.312,4119,6.309,4120,6.844,4121,3.712,4132,6.511,4441,1.955,4588,1.133,4600,2.084,4664,1.49,5278,2.084,5607,2.109,5608,2.163,5727,2.535,5762,2.037,6206,1.902,6211,4.411,6231,5.172,6232,2.084,6240,2.193,6247,2.296,6269,2.296,6668,1.784,7506,4.654,7549,3.347,7553,1.87,7565,2.608,7569,2.379,7571,2.193,7572,1.974,7573,2.037,7574,1.974,7856,2.608,7888,2.163,7893,2.48,8975,5.312,9754,2.427,9934,2.259,13792,2.427,13795,3.91,13796,2.48,13797,2.427,13996,2.54,15555,2.784,16660,4.417,16840,2.608,19064,2.784,21048,2.688,21068,6.007,21069,2.688,21086,6.007,21087,2.688,21106,2.54,21111,2.688,21273,2.784,21274,2.688,21276,2.784,21376,4.575,21657,2.904,21660,2.904,21672,2.904,21675,2.904,21676,2.904,21677,2.904,21678,2.904,21679,2.904,21680,2.904,21681,6.074,21682,5.623,21683,5.456,21684,2.904,21685,2.904,21686,2.904,21687,2.784,21688,8.354,21689,2.904,21690,4.772,21691,7.034,21692,7.034,21693,2.904,21694,2.904,21695,2.904,21696,4.772,21697,2.904,21698,2.904,21699,2.904,21700,2.904,21701,2.904,21702,2.904,21703,2.904,21704,2.904,21705,2.904,21706,2.904,21707,2.904,21708,2.904,21709,4.772,21710,2.904,21711,2.904,21712,2.54,21713,2.904,21714,2.904,21715,2.904,21716,2.904,21717,2.904,21718,2.904,21719,4.772,21720,2.904,21721,2.904,21722,4.772,21723,2.904,21724,4.772,21725,2.784,21726,2.904,21727,7.034,21728,6.074,21729,6.074,21730,2.904,21731,6.074,21732,4.772,21733,2.904,21734,2.904,21735,2.904,21736,6.074,21737,2.904,21738,4.772,21739,2.904,21740,2.904,21741,7.034,21742,2.904,21743,2.904,21744,2.904,21745,2.904,21746,2.904,21747,2.904,21748,2.904,21749,4.772,21750,2.904,21751,2.904,21752,4.772,21753,2.904,21754,2.904,21755,2.904,21756,2.904,21757,2.784,21758,2.904,21759,7.034,21760,2.904,21761,2.904,21762,2.904,21763,2.904,21764,2.904,21765,2.904,21766,2.904,21767,2.904,21768,2.904,21769,2.904,21979,3.309]],["title/interfaces/TaskProperties.html",[159,0.712,13795,5.008]],["body/interfaces/TaskProperties.html",[3,0.014,4,0.014,5,0.007,7,0.105,30,0.001,31,0.425,32,0.173,33,0.649,47,0.958,55,2.308,83,2.965,95,0.113,99,1.525,101,0.016,103,0,104,0,112,0.793,122,2.913,157,1.752,159,1.296,161,1.803,231,2.098,290,3.158,478,2.12,652,2.473,692,5.668,703,3.73,1937,5.727,2027,4.95,2033,5.129,2957,6.555,3159,5.502,3589,5.265,3593,3.914,4040,7.117,4093,4.948,4112,5.089,4116,5.167,4117,5.343,4118,5.016,4119,5.016,4120,5.442,4121,5.167,5762,6.226,6668,6.555,8975,8.058,13790,9.988,13791,6.148,13792,5.551,13793,5.673,13794,5.673,13795,7.272,13796,9.113,13797,8.918]],["title/injectables/TaskRepo.html",[589,0.926,1915,4.917]],["body/injectables/TaskRepo.html",[0,0.127,3,0.007,4,0.007,5,0.003,7,0.103,8,0.675,10,2.374,12,2.674,18,2.961,26,2.648,27,0.461,29,0.884,30,0.001,31,0.651,32,0.16,33,0.529,34,0.627,35,1.358,36,2.69,39,1.017,40,2.86,53,2.688,56,1.727,58,2.396,59,3.103,72,1.683,83,1.733,95,0.117,96,0.957,98,2.209,99,0.738,101,0.005,103,0,104,0,122,1.539,125,2.028,129,1.085,130,0.992,135,1.7,142,2.139,148,1.032,153,1.951,157,0.848,172,4.663,195,1.871,205,0.747,206,1.928,224,1.062,231,1.02,277,0.524,317,2.927,365,2.624,374,3.698,388,3.182,436,2.516,478,1.027,532,4.342,540,4.222,589,0.786,591,0.869,595,1.39,652,2.031,657,2.499,728,6.091,734,2.49,735,2.674,736,3.655,759,2.187,760,2.232,761,2.209,762,2.232,763,2.543,764,2.209,765,2.232,766,1.962,770,2.308,788,2.503,789,3.234,790,2.465,802,2.429,812,2.336,869,1.794,1563,2.365,1915,4.171,1937,4.011,2027,3.634,2033,2.241,2230,2.688,2232,4.853,2479,5.032,2553,2.308,2938,3.397,2959,5.71,3431,5.495,3593,3.056,3668,1.86,3936,9.217,3998,2.587,4040,2.146,5136,3.917,5138,3.974,5264,7.963,5271,2.308,5347,2.747,5466,4.896,5467,4.972,5788,3.368,5800,5.573,6288,3.462,6665,4.626,7638,5.629,7803,2.814,7807,2.814,7924,7.547,7953,2.688,7954,2.688,8975,2.429,10696,3.084,10725,3.395,10729,5.186,19379,3.395,20926,4.536,21712,2.814,21980,3.665,21981,5.909,21982,7.424,21983,7.424,21984,6.877,21985,5.909,21986,5.909,21987,3.665,21988,3.665,21989,3.665,21990,5.473,21991,7.424,21992,3.665,21993,3.665,21994,3.395,21995,3.665,21996,5.909,21997,3.665,21998,5.909,21999,3.665,22000,3.665,22001,9.589,22002,3.665,22003,3.665,22004,3.665,22005,3.665,22006,3.665,22007,3.395,22008,3.395,22009,3.395,22010,3.395,22011,9.34,22012,3.665,22013,3.665,22014,3.665,22015,3.665,22016,3.665,22017,3.665,22018,3.665,22019,3.665,22020,3.665,22021,3.665,22022,3.665,22023,3.665,22024,3.665,22025,2.814,22026,3.665,22027,3.665,22028,3.665,22029,3.665,22030,3.665,22031,3.665,22032,3.665,22033,3.665,22034,3.665,22035,3.665,22036,3.665,22037,3.665,22038,3.665,22039,3.665,22040,3.665,22041,3.665,22042,3.665,22043,9.984,22044,7.424,22045,3.217,22046,3.217,22047,3.217,22048,3.665,22049,7.424,22050,3.665,22051,3.665,22052,3.665,22053,3.665,22054,3.665,22055,3.665,22056,3.665,22057,3.665,22058,3.665,22059,3.665,22060,5.909,22061,3.665,22062,3.665,22063,3.665,22064,3.665,22065,3.665,22066,3.665,22067,3.217,22068,3.665,22069,5.909,22070,3.665,22071,3.665,22072,3.665,22073,3.217,22074,3.665,22075,3.217,22076,3.665,22077,3.395,22078,2.978,22079,3.665,22080,3.217,22081,3.665,22082,3.665,22083,3.395,22084,3.665,22085,3.395,22086,3.665,22087,3.665]],["title/classes/TaskResponse.html",[0,0.241,21810,5.658]],["body/classes/TaskResponse.html",[0,0.288,2,0.604,3,0.011,4,0.011,5,0.005,7,0.08,27,0.531,29,0.437,30,0.001,31,0.67,32,0.173,33,0.605,34,1.955,47,1.025,55,1.987,56,3.92,70,4.222,83,3.699,95,0.12,99,1.153,100,2.902,101,0.011,103,0,104,0,112,0.653,122,1.725,129,2.464,130,2.252,134,2.947,157,2.85,185,2.85,190,2.422,197,1.6,201,5.079,202,1.314,231,0.988,296,3.612,298,2.485,339,2.44,402,4.114,403,4.249,430,4.703,431,4.901,433,1.022,435,2.859,458,2.283,460,3.486,462,3.486,821,2.922,862,5.18,863,3.157,864,3.29,880,3.648,881,3.133,1361,3.29,1372,4.392,2027,5.597,2055,7.935,2127,3.351,2184,2.266,2358,4.784,2393,3.189,2836,5.516,2959,5.252,3051,5.874,3054,6.7,3593,5.071,4093,6.41,4094,6.174,4107,4.816,7179,6.56,7180,5.596,19056,8.745,21682,7.966,21683,7.729,21809,4.816,21810,10.25,21930,5.301,21933,7.966,21934,5.301,21935,5.301,21936,5.301,22088,5.724,22089,5.724,22090,5.724,22091,5.724,22092,5.724,22093,5.724,22094,5.724,22095,5.724,22096,5.724,22097,5.724,22098,5.724,22099,5.724,22100,5.724,22101,5.724,22102,5.724]],["title/injectables/TaskRule.html",[589,0.926,1877,5.658]],["body/injectables/TaskRule.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.089,8,1.03,27,0.441,29,0.865,30,0.001,31,0.636,32,0.148,33,0.517,35,1.196,95,0.138,101,0.008,103,0,104,0,122,2.568,135,1.691,141,3.863,148,1.217,183,4.559,195,1.406,197,1.788,205,2.785,228,1.874,277,0.915,290,3.267,433,1.107,478,1.792,589,1.198,591,1.518,652,2.519,653,2.632,693,2.91,711,3.588,1197,7.422,1237,1.853,1775,6.199,1778,7.132,1792,4.44,1801,7.625,1829,2.742,1838,5.432,1868,9.539,1872,10.339,1877,7.322,1982,5.743,1986,5.548,1993,4.183,2619,5.743,2959,6.217,3668,3.246,3711,4.241,3714,5.816,3716,4.241,3717,5.974,6668,3.45,7815,5.616,7816,5.616,7817,5.384,7818,7.91,15675,8.348,19370,7.91,19372,8.348,22103,6.398,22104,10.491,22105,6.398,22106,9.012,22107,6.398,22108,6.398,22109,6.398,22110,6.398,22111,9.012,22112,6.398,22113,6.398,22114,6.398,22115,9.012,22116,6.398]],["title/classes/TaskScope.html",[0,0.241,22001,6.113]],["body/classes/TaskScope.html",[0,0.15,2,0.457,3,0.008,4,0.008,5,0.004,7,0.06,8,0.771,26,2.805,27,0.521,29,0.986,30,0.001,31,0.726,32,0.164,33,0.59,35,1.496,39,2.3,83,3.492,95,0.104,96,1.131,99,0.873,101,0.006,103,0,104,0,112,0.529,122,2.611,129,1.283,130,2.743,135,1.217,142,3.386,148,1.255,153,0.701,195,1.821,224,1.255,231,1.164,365,4.978,436,2.994,478,1.214,569,1.347,652,2.627,1937,3.904,2033,2.559,2479,6.85,2959,1.99,3593,4.838,3960,6.733,4093,6.627,4117,5.85,6288,4.949,6665,6.613,6668,5.465,7007,4.473,7008,4.473,7009,4.473,7014,4.473,7015,4.473,7016,2.914,7017,2.872,7018,2.914,7019,2.914,7028,2.872,7029,4.473,7030,2.914,7031,2.872,7032,2.914,7033,2.872,7034,8.07,7768,3.521,7803,5.18,7944,3.521,8975,4.473,9528,3.416,12022,6.251,12028,6.251,12033,4.014,12036,4.014,12040,4.014,12041,7.273,12042,6.251,15691,6.251,15692,6.251,15694,3.804,22001,12.105,22045,5.923,22046,5.923,22047,8.21,22067,8.21,22117,12.916,22118,6.748,22119,6.748,22120,6.748,22121,6.748,22122,6.748,22123,6.748,22124,6.748,22125,6.748,22126,6.748,22127,6.748,22128,4.334,22129,6.748,22130,4.334,22131,6.748,22132,4.334,22133,6.748,22134,6.748,22135,4.334,22136,6.748,22137,4.334,22138,6.748,22139,4.334,22140,6.748,22141,4.334,22142,6.748,22143,4.334,22144,6.748,22145,4.334,22146,4.334,22147,4.334,22148,4.334,22149,4.334,22150,4.334]],["title/injectables/TaskService.html",[589,0.926,5748,5.221]],["body/injectables/TaskService.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,10,3.783,12,4.26,26,2.748,27,0.476,29,0.933,30,0.001,31,0.686,32,0.16,33,0.558,35,1.335,36,2.789,59,2.926,95,0.144,98,4.105,99,1.372,101,0.009,103,0,104,0,122,1.952,135,1.225,148,0.925,172,4.018,228,1.937,277,0.974,279,2.824,317,2.988,433,1.157,478,1.908,540,3.861,589,1.251,591,1.616,595,2.583,652,2.569,657,2.661,1317,4.34,1915,8.918,2027,5.696,2488,4.996,2492,5.369,2831,2.726,2959,6.152,3898,3.413,4040,3.987,5264,8.215,5748,7.056,6665,5.113,7340,9.311,7924,7.164,21141,6.309,21330,10.52,21339,5.369,21373,6.309,21712,5.228,21836,5.978,21894,5.978,21984,9.993,21994,6.309,22067,5.978,22151,6.811,22152,9.414,22153,6.811,22154,9.414,22155,6.811,22156,9.414,22157,6.811,22158,9.414,22159,6.811,22160,6.811,22161,6.811,22162,6.811,22163,6.811,22164,6.811,22165,6.811,22166,6.811]],["title/interfaces/TaskStatus.html",[159,0.712,4112,4.684]],["body/interfaces/TaskStatus.html",[3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.457,32,0.17,47,0.978,55,2.815,83,3.11,95,0.118,99,1.639,101,0.016,103,0.001,104,0.001,112,0.832,122,2.945,157,1.883,159,1.327,161,1.938,231,2.037,290,2.8,478,2.279,652,1.655,692,4.945,703,2.496,1937,3.832,2027,5.192,2033,4.476,2957,5.719,3159,4.801,3589,5.523,3593,4.208,4040,4.762,4093,5.319,4112,7.133,4116,8.54,4117,8.83,4118,8.291,4119,8.291,4120,8.994,4121,8.54,5762,6.53,6668,4.386,8975,5.392,13790,9.86,13791,6.609,13792,5.967,13793,6.098,13794,6.098,13795,5.85,13796,6.098,13797,5.967]],["title/classes/TaskStatusMapper.html",[0,0.241,21947,6.113]],["body/classes/TaskStatusMapper.html",[0,0.342,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,8,1.369,27,0.385,29,0.754,30,0.001,31,0.555,32,0.122,33,0.451,35,1.133,95,0.134,99,1.99,100,4.179,101,0.013,103,0.001,104,0.001,135,1.285,148,0.971,153,1.597,402,3.553,467,3.756,830,6.663,4107,8.31,4111,10.084,4112,9.022,21933,10.482,21947,10.519,22167,11.985,22168,9.876,22169,9.876,22170,9.876,22171,9.876]],["title/classes/TaskStatusResponse.html",[0,0.241,21933,5.658]],["body/classes/TaskStatusResponse.html",[0,0.282,2,0.859,3,0.015,4,0.015,5,0.007,7,0.113,27,0.528,29,0.621,30,0.001,31,0.457,32,0.168,33,0.372,55,2.695,95,0.091,101,0.01,103,0.001,104,0.001,112,0.832,122,2.758,190,2.384,202,1.868,296,3.736,433,1.303,821,4.154,4115,7.14,4116,8.857,4117,9.158,4118,8.599,4119,8.599,4120,9.328,4121,8.857,4122,7.535,4129,6.845,4130,7.535,4131,6.845,4132,6.609,4133,7.535,4134,7.535,21831,11.559,21933,10.539,22172,8.136,22173,8.136,22174,8.136,22175,8.136,22176,8.136,22177,8.136]],["title/injectables/TaskUC.html",[589,0.926,21774,5.86]],["body/injectables/TaskUC.html",[0,0.108,3,0.006,4,0.006,5,0.003,7,0.043,8,0.59,10,2.076,26,2.671,27,0.439,29,0.837,30,0.001,31,0.616,32,0.136,33,0.501,35,1.257,36,2.647,39,2.951,59,0.967,83,2.511,95,0.114,98,3.115,99,0.627,101,0.004,103,0,104,0,122,1.775,130,1.398,135,1.814,141,3.308,148,1.172,153,1.72,195,0.684,197,2.157,205,0.634,228,1.538,277,0.445,279,1.29,290,3.091,317,2.881,365,1.382,402,4.217,412,1.382,433,0.635,478,0.872,560,1.654,578,4.045,579,0.888,589,0.687,591,0.738,595,1.18,610,1.227,652,2.594,657,3.015,693,2.35,770,1.959,790,2.092,807,2.388,863,5.095,871,2.84,980,1.716,1197,4.192,1213,1.983,1393,1.773,1626,1.744,1780,1.875,1783,3.181,1784,3.475,1792,3.586,1793,4.393,1829,1.334,1850,2.196,1862,5.202,1911,6.025,1915,6.521,1962,5.11,1964,4.074,1984,3.475,2033,3.247,2232,3.777,2513,1.773,2529,2.882,2570,2.008,2680,1.429,2685,4.861,2915,1.875,2957,1.678,2959,4.495,3320,2.159,3432,2.971,3593,4.429,3774,3.254,4112,3.475,4118,5.116,4703,1.875,5466,5.89,5747,6.683,5748,7.337,5788,3.777,5800,3.955,6665,3.6,7270,2.062,7638,8.128,7803,5.925,7919,4.536,7996,3.967,8975,3.425,9754,2.282,9784,7.516,11864,2.332,15471,4.074,15603,6.494,15724,4.348,18508,2.618,20926,2.388,21339,8.382,21774,4.348,21782,4.787,21785,4.787,21836,2.731,21863,4.787,21894,5.817,22007,4.787,22008,4.787,22009,4.787,22010,4.787,22045,4.536,22046,2.731,22047,4.536,22178,3.111,22179,5.168,22180,5.168,22181,7.718,22182,5.168,22183,5.168,22184,3.111,22185,5.168,22186,3.111,22187,3.111,22188,5.168,22189,3.111,22190,5.168,22191,3.111,22192,5.168,22193,3.111,22194,5.168,22195,3.111,22196,3.111,22197,5.168,22198,8.563,22199,3.111,22200,5.168,22201,3.111,22202,5.168,22203,3.111,22204,3.111,22205,6.628,22206,5.168,22207,6.628,22208,6.628,22209,9.237,22210,5.168,22211,9.237,22212,5.168,22213,5.168,22214,7.718,22215,3.111,22216,9.237,22217,6.628,22218,7.718,22219,6.628,22220,4.787,22221,3.111,22222,3.111,22223,3.111,22224,3.111,22225,3.111,22226,3.111,22227,3.111,22228,3.111,22229,7.718,22230,5.168,22231,3.111,22232,7.718,22233,5.168,22234,5.168,22235,5.168,22236,3.111,22237,5.168,22238,3.111,22239,3.111,22240,7.718,22241,3.111,22242,3.111,22243,3.111,22244,3.111,22245,3.111,22246,3.111,22247,3.111,22248,3.111,22249,3.111,22250,3.111,22251,3.111,22252,5.168,22253,5.168,22254,3.111,22255,3.111,22256,5.168,22257,5.168,22258,3.111,22259,3.111]],["title/interfaces/TaskUpdate.html",[159,0.712,13793,5.221]],["body/interfaces/TaskUpdate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.478,32,0.157,33,0.581,47,1.038,55,2.444,83,3.203,95,0.122,99,1.716,101,0.016,103,0.001,104,0.001,112,0.857,122,2.792,157,1.971,159,1.346,161,2.028,231,2.196,290,2.862,478,2.385,652,1.732,692,5.093,703,2.612,1937,4.011,2027,6.441,2033,4.575,2957,5.89,3159,4.944,3589,5.688,3593,4.404,4040,4.985,4093,5.567,4112,5.726,4116,5.814,4117,6.011,4118,5.644,4119,5.644,4120,6.123,4121,5.814,5762,8.101,6668,4.591,8975,5.644,13790,10.374,13791,6.918,13792,6.246,13793,8.189,13794,6.383,13795,6.123,13796,6.383,13797,6.246]],["title/classes/TaskUpdateParams.html",[0,0.241,21943,6.113]],["body/classes/TaskUpdateParams.html",[0,0.328,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,27,0.494,30,0.001,31,0.61,32,0.168,33,0.621,34,2,47,0.973,83,4.059,95,0.13,99,1.389,101,0.009,103,0,104,0,112,0.745,155,3.03,157,3.177,185,4.007,190,2.273,194,4.596,195,2.571,196,3.149,197,2.653,200,2.109,201,4.928,202,1.583,296,2.484,298,2.993,299,4.803,300,4.859,304,5.792,854,6.836,855,4.396,1216,8.331,1237,2.749,1937,4.471,2027,5.314,2033,3.6,2959,6.078,3045,6.291,3197,6.261,3198,6.261,3589,3.589,3593,5.615,4040,5.556,4093,7.098,5762,6.683,8079,7.986,8089,5.6,8091,6.481,9648,5.843,11141,5.799,13793,8.138,21831,10.93,21915,8.792,21917,6.384,21921,6.384,21943,8.331,22260,6.893,22261,6.893,22262,6.893,22263,6.893,22264,6.893,22265,6.893]],["title/injectables/TaskUrlHandler.html",[589,0.926,16358,5.86]],["body/injectables/TaskUrlHandler.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,9,3.23,27,0.496,29,0.94,30,0.001,31,0.692,32,0.164,33,0.563,34,1.635,35,1.347,36,2.02,47,1.001,95,0.137,101,0.009,103,0,104,0,105,10.269,106,7.34,107,7.136,108,8.868,110,4.613,111,5.49,112,0.75,113,3.798,114,8.868,115,7.536,116,7.766,117,7.536,118,7.536,120,5.49,122,1.444,123,5.658,125,2.6,126,5.49,127,5.888,129,2.831,130,2.587,131,5.998,134,2.466,135,1.42,148,0.94,228,1.251,231,1.649,233,2.159,277,0.996,317,2.361,400,2.042,433,0.856,436,3.47,589,1.271,591,1.652,657,1.593,1237,2.017,2959,5.013,3321,5.658,4174,6.428,4177,7.536,4179,5.86,4180,5.86,4181,5.86,4184,7.338,4185,5.658,4186,7.338,4187,5.86,4188,5.658,4190,4.683,5748,9.534,5838,6.112,7999,6.112,8000,6.112,8002,8.39,8003,8.39,8004,6.112,16358,8.043,19423,6.451,22266,10.915,22267,9.56,22268,6.964]],["title/classes/TaskUrlParams.html",[0,0.241,21130,5.86]],["body/classes/TaskUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2959,5.545,4197,6.09,21130,10.16,21339,10.226,22269,9.999,22270,9.999]],["title/classes/TaskWithStatusVo.html",[0,0.241,9754,5.109]],["body/classes/TaskWithStatusVo.html",[0,0.185,2,0.343,3,0.006,4,0.006,5,0.003,7,0.162,26,1.777,27,0.266,29,0.248,30,0.001,31,0.301,32,0.141,33,0.148,34,0.916,47,0.733,55,1.086,83,2.571,95,0.132,96,0.848,101,0.011,103,0,104,0,112,0.74,122,2.366,125,1.888,135,1.811,141,1.393,142,1.177,145,2.011,148,1.298,153,1.687,157,0.752,158,1.2,159,0.548,195,2.446,196,3.131,197,3.257,205,1.092,223,3.368,224,0.941,225,2.053,226,1.478,229,1.282,231,0.561,232,0.879,233,1.007,277,0.465,290,2.861,402,4.105,433,0.399,527,1.381,567,1.212,569,2.464,578,1.703,579,1.53,628,1.939,652,2.488,653,2.203,692,3.186,703,0.997,711,3.376,756,3.161,813,1.821,874,1.902,962,2.294,1237,0.941,1312,1.531,1563,2.097,1821,1.539,1829,1.393,1842,2.448,1928,3.166,1937,1.531,2027,3.88,2033,3.325,2055,4.742,2127,1.902,2184,1.286,2570,2.097,2942,4.067,2946,2.868,2950,1.807,2955,3.457,2956,1.939,2957,2.888,2958,2.294,2959,5.616,2972,5.733,3159,3.968,3432,1.868,3589,2.789,3593,2.771,3668,4.788,3752,2.097,4040,5.842,4042,2.734,4093,2.125,4112,7.013,4116,3.658,4117,6.19,4118,5.254,4119,6.255,4120,6.785,4121,3.658,4132,6.44,4441,1.921,4588,1.113,4600,2.046,4664,1.464,5278,2.046,5607,2.071,5608,2.125,5727,2.498,5762,2.001,6206,1.868,6211,3.414,6231,2.097,6232,2.046,6240,2.154,6247,2.255,6269,2.255,6668,1.752,7506,4.596,7549,3.298,7553,1.837,7565,2.562,7569,2.337,7571,2.154,7572,1.939,7573,2.001,7574,1.939,7856,2.562,7888,2.125,7893,2.436,8975,5.254,9754,3.93,9934,2.219,13792,2.384,13795,3.852,13796,2.436,13797,2.384,13996,2.495,15555,2.734,16660,4.352,16840,2.562,19064,2.734,21048,2.64,21068,5.942,21069,2.64,21086,5.942,21087,2.64,21106,2.495,21111,2.64,21273,2.734,21274,2.64,21276,2.734,21376,4.508,21657,2.852,21660,2.852,21672,2.852,21675,2.852,21676,2.852,21677,2.852,21678,2.852,21679,2.852,21680,4.702,21681,5.998,21682,5.552,21683,5.388,21684,2.852,21685,2.852,21686,2.852,21687,2.734,21688,8.282,21689,2.852,21690,4.702,21691,6.958,21692,6.958,21693,2.852,21694,2.852,21695,2.852,21696,4.702,21697,2.852,21698,2.852,21699,2.852,21700,2.852,21701,2.852,21702,2.852,21703,2.852,21704,2.852,21705,2.852,21706,2.852,21707,2.852,21708,2.852,21709,4.702,21710,2.852,21711,2.852,21712,2.495,21713,2.852,21714,2.852,21715,2.852,21716,2.852,21717,2.852,21718,2.852,21719,4.702,21720,2.852,21721,2.852,21722,4.702,21723,2.852,21724,4.702,21725,2.734,21726,2.852,21727,6.958,21728,5.998,21729,5.998,21730,2.852,21731,5.998,21732,4.702,21733,2.852,21734,2.852,21735,2.852,21736,5.998,21737,2.852,21738,4.702,21739,2.852,21740,2.852,21741,6.958,21742,2.852,21743,2.852,21744,2.852,21745,2.852,21746,2.852,21747,2.852,21748,2.852,21749,4.702,21750,2.852,21751,2.852,21752,4.702,21753,2.852,21754,2.852,21755,2.852,21756,2.852,21757,2.734,21758,2.852,21759,6.958,21760,2.852,21761,2.852,21762,2.852,21763,2.852,21764,2.852,21765,2.852,21766,2.852,21767,2.852,21768,2.852,21769,2.852,22271,5.357,22272,3.25]],["title/classes/TeamDto.html",[0,0.241,5016,5.008]],["body/classes/TeamDto.html",[0,0.377,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,26,2.439,27,0.495,29,0.647,30,0.001,31,0.714,32,0.157,33,0.387,34,2.059,39,2.353,47,0.966,95,0.094,99,1.708,100,3.8,101,0.014,103,0.001,104,0.001,112,0.855,157,1.963,232,3.258,242,4.475,243,5.339,252,2.876,433,1.042,435,2.913,458,3.381,459,4.385,1829,4.67,2184,3.356,2588,6.861,4588,2.904,4664,3.819,4665,4.964,4666,6.219,5016,9.45,5084,9.278,5143,6.356,8068,7.327,11716,7.834,13122,7.442,13123,7.442,16885,8.831,16901,10.322,18806,9.167,22273,7.854,22274,9.563,22275,9.167,22276,10.092,22277,10.895,22278,8.479,22279,8.479,22280,7.854,22281,6.684]],["title/entities/TeamEntity.html",[205,1.419,7875,4.287]],["body/entities/TeamEntity.html",[0,0.338,3,0.013,4,0.013,5,0.006,7,0.1,27,0.38,30,0.001,31,0.668,32,0.121,39,1.992,47,0.815,62,6.615,72,3.295,95,0.139,96,2.547,101,0.015,103,0,104,0,112,0.765,130,3,148,1.09,153,1.16,159,0.998,190,1.749,195,2.144,205,1.988,206,2.341,223,3.455,224,2.079,225,3.739,226,3.263,229,2.83,231,1.238,232,2.64,233,2.225,242,5.851,290,3.17,331,5.7,567,4.133,652,1.46,692,5.984,703,2.993,1835,5.014,2184,2.841,2269,5.264,2712,5.625,2942,3.329,3908,4.9,4588,2.458,4648,4.9,4654,5.149,4664,3.232,4665,6.49,4668,8.739,5727,5.801,7552,4.467,7553,4.055,7574,4.282,7875,6.006,7909,4.756,8068,4.825,10090,5.16,11860,5.264,11861,5.264,13129,5.509,16885,7.157,22281,5.657,22282,6.038,22283,7.176,22284,9.441,22285,7.176,22286,5.657,22287,7.691,22288,7.927,22289,6.038,22290,6.038,22291,6.038,22292,6.038,22293,6.038,22294,6.038,22295,6.038]],["title/classes/TeamFactory.html",[0,0.241,22296,6.451]],["body/classes/TeamFactory.html",[0,0.166,2,0.507,3,0.009,4,0.009,5,0.004,7,0.067,8,0.835,27,0.519,29,1.024,30,0.001,31,0.733,32,0.168,33,0.59,34,1.512,35,1.408,39,2.454,47,0.781,55,2.357,59,3.302,95,0.11,101,0.006,103,0,104,0,112,0.573,113,4.446,127,4.95,129,3.549,130,3.243,135,1.15,148,0.869,157,2.046,172,3.118,185,2.503,192,2.651,205,2.165,206,2.384,228,1.312,231,1.261,326,4.91,331,4.719,374,3.173,433,0.59,436,3.857,467,2.127,478,1.346,501,7.288,502,5.491,505,4.062,506,5.491,507,5.452,508,4.062,509,4.062,510,4.062,511,3.999,512,4.514,513,4.915,514,6.51,515,5.815,516,7.075,517,2.693,522,2.672,523,4.062,524,2.693,525,5.177,526,5.326,527,4.198,528,5.011,529,4.03,530,2.672,531,2.519,532,4.104,533,2.554,534,2.519,535,2.672,536,2.693,537,4.839,538,2.672,539,7.259,540,3.977,541,6.663,542,2.693,543,4.303,544,2.672,545,2.693,546,2.672,547,2.693,548,2.672,549,2.991,550,2.813,551,2.672,552,6.124,553,2.693,554,2.672,555,4.062,556,3.707,557,4.062,558,2.693,559,2.591,560,2.554,561,2.164,562,2.672,563,2.672,564,2.672,565,2.693,566,2.693,567,1.792,568,2.672,569,1.494,570,2.693,571,2.892,572,2.672,573,2.693,575,2.763,577,4.36,4690,4.043,5018,3.026,7875,2.958,16885,6.485,16897,6.148,22284,7.102,22287,3.788,22296,8.189,22297,4.806,22298,6.768,22299,7.307,22300,6.768,22301,4.806,22302,7.307,22303,4.806,22304,4.218,22305,4.806,22306,4.806,22307,4.806,22308,4.806,22309,4.806]],["title/injectables/TeamMapper.html",[589,0.926,5121,5.86]],["body/injectables/TeamMapper.html",[0,0.306,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.344,29,0.674,30,0.001,31,0.628,32,0.109,33,0.404,34,1.51,35,1.013,39,2.452,95,0.137,100,3.9,101,0.011,103,0.001,104,0.001,135,1.149,148,1.099,153,1.809,157,2.045,205,2.629,277,1.263,388,3.786,478,2.475,589,1.487,591,2.095,711,3.555,4588,3.026,5016,9.276,5018,7.042,5049,9.086,5084,7.895,5121,9.41,5143,6.621,7875,8.369,16885,8.203,16897,7.432,16901,9.97,22284,8.042,22310,8.833,22311,11.184,22312,11.184,22313,8.833,22314,10.359,22315,8.833,22316,8.833,22317,8.182,22318,8.833,22319,8.833,22320,8.833,22321,8.833]],["title/entities/TeamNews.html",[205,1.419,7911,5.346]],["body/entities/TeamNews.html",[0,0.356,3,0.01,4,0.017,5,0.005,7,0.161,9,3.606,26,2.086,27,0.203,30,0.001,31,0.437,32,0.127,34,0.892,47,0.923,83,2.279,95,0.137,96,2.426,101,0.014,103,0,104,0,112,0.864,134,1.848,148,0.513,153,1.502,155,2.965,159,0.534,190,0.935,195,2.537,196,3.83,205,2.244,206,1.702,223,3.726,224,1.511,225,2.979,226,2.373,231,1.776,232,2.786,233,1.618,290,2.612,409,5.921,412,4.126,435,1.793,457,5.165,467,1.519,512,4.743,571,3.678,613,4.469,692,5.382,693,2.373,703,3.378,704,3.969,886,2.461,1086,4.423,1087,4.751,1088,4.354,1089,4.628,1090,5.047,1373,4.734,1821,3.681,1826,2.681,1842,3.552,1921,3.459,1939,2.773,2033,2.948,2393,3.56,2715,5.25,2923,3.911,2942,4.309,2956,3.114,3011,6.003,3056,2.511,3750,3.563,3752,3.367,3753,3.683,3755,3.752,3756,3.683,3757,3.911,3771,3.083,3908,3.563,3932,3.367,4588,1.787,4680,4.005,4681,3.621,4823,3.827,5301,3.683,5727,4.331,5817,3.827,6232,3.286,6480,6.815,6665,2.834,6668,5.009,7552,3.248,7553,2.949,7574,3.114,7869,3.911,7870,4.239,7872,6.964,7873,6.074,7874,4.239,7875,5.719,7876,4.239,7877,9.099,7878,5.227,7879,5.827,7880,5.827,7881,6.958,7882,7.835,7883,4.239,7884,5.59,7885,4.239,7886,4.005,7887,4.005,7888,5.082,7889,4.239,7890,4.005,7891,4.005,7892,4.239,7893,3.911,7894,4.239,7895,3.145,7896,3.248,7897,4.005,7898,4.239,7899,4.239,7900,7.324,7901,4.239,7902,7.548,7903,4.239,7904,4.239,7905,5.967,7906,4.005,7907,6.558,7908,4.113,7909,5.153,7910,3.827,7911,5.967,7912,6.315,22322,5.218]],["title/controllers/TeamNewsController.html",[314,2.65,16716,6.113]],["body/controllers/TeamNewsController.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,8,1.17,27,0.301,29,0.589,30,0.001,31,0.433,32,0.095,33,0.352,35,0.885,36,2.165,72,3.542,95,0.149,100,2.69,101,0.01,103,0,104,0,135,1.496,148,0.758,153,1.247,190,1.383,202,1.771,228,1.385,274,3.211,277,1.103,290,2.43,298,3.349,314,2.935,316,3.712,317,2.488,325,6.066,329,7.003,349,6.469,365,5.107,388,4.39,392,4.016,395,4.129,398,4.159,400,2.262,657,1.764,871,3.768,883,8.648,2938,5.888,3036,3.615,3220,6.696,3240,3.964,4077,4.603,4703,4.649,5018,8.029,5341,6.267,6288,4.674,7638,7.384,7882,5.941,8068,5.187,12493,9.952,14059,6.49,16604,9.487,16613,6.267,16614,6.77,16615,9.342,16617,6.267,16619,7.145,16624,6.77,16625,6.77,16626,7.145,16627,7.145,16628,7.145,16629,7.145,16716,8.989,22323,10.242,22324,7.714,22325,11.499,22326,7.714,22327,10.752,22328,10.242,22329,7.714,22330,7.714,22331,7.145,22332,7.714,22333,7.714,22334,7.714]],["title/classes/TeamPermissionsBody.html",[0,0.241,5092,5.658]],["body/classes/TeamPermissionsBody.html",[0,0.386,2,0.93,3,0.016,4,0.016,5,0.008,7,0.123,10,4.926,27,0.518,30,0.001,32,0.165,95,0.124,101,0.011,103,0.001,104,0.001,112,0.876,122,2.944,190,2.384,199,7.494,200,2.697,202,2.024,296,3.555,734,5.167,1783,7.547,1784,8.244,5084,9.592,5092,9.073,8368,10.209,20679,9.411,22335,12.585,22336,8.814,22337,8.814,22338,8.814,22339,8.814,22340,8.814,22341,8.814]],["title/classes/TeamPermissionsDto.html",[0,0.241,5027,5.49]],["body/classes/TeamPermissionsDto.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,10,4.891,27,0.527,29,0.663,30,0.001,31,0.488,32,0.167,33,0.651,101,0.011,103,0.001,104,0.001,112,0.868,122,2.937,232,2.993,433,1.066,435,2.982,734,5.13,1783,7.493,1784,8.186,5027,10.435,5030,12.071,5084,9.709,11812,7.619,11813,7.619,11814,7.619,11815,7.619,11816,7.619,11817,7.619,11818,7.619,11819,7.619,20679,9.344,22342,8.04,22343,11.06,22344,8.04,22345,8.04,22346,8.04,22347,8.04,22348,8.681,22349,8.681]],["title/injectables/TeamPermissionsMapper.html",[589,0.926,5122,5.86]],["body/injectables/TeamPermissionsMapper.html",[0,0.31,3,0.017,4,0.017,5,0.008,7,0.125,8,1.29,10,3.605,27,0.35,29,0.685,30,0.001,31,0.504,32,0.111,33,0.41,35,1.029,95,0.138,100,3.938,101,0.011,103,0.001,104,0.001,148,1.11,153,1.451,157,2.077,277,1.283,379,6.925,388,3.845,589,1.501,591,2.128,711,3.58,734,3.781,1783,5.523,1784,6.033,4866,6.329,5027,10.226,5031,7.072,5049,9.175,5084,7.972,5092,10.539,5107,7.874,5122,9.502,5144,12.016,5187,10.461,5189,8.31,20679,6.887,22314,10.461,22350,8.972,22351,11.294,22352,11.294,22353,8.972,22354,8.972,22355,8.972,22356,8.972,22357,8.972,22358,8.972,22359,8.972]],["title/interfaces/TeamProperties.html",[159,0.712,22287,5.49]],["body/interfaces/TeamProperties.html",[0,0.34,3,0.013,4,0.013,5,0.007,7,0.101,30,0.001,31,0.702,32,0.122,33,0.449,39,2.013,47,0.878,62,4.328,72,3.331,95,0.139,96,2.566,101,0.015,103,0,104,0,112,0.771,130,3.017,148,1.096,153,1.173,159,1.005,161,1.728,195,1.594,205,2.003,223,3.063,224,2.101,225,3.766,226,3.299,229,2.861,231,1.252,232,2.66,233,2.249,242,5.883,290,3.178,331,5.718,567,4.156,652,1.475,692,6.003,703,3.015,1835,3.727,2184,2.871,2269,5.321,2712,5.656,2942,3.365,3908,4.953,4588,2.485,4654,5.187,4664,3.267,4665,6.526,4668,8.788,5727,5.822,7552,4.515,7553,4.099,7574,4.328,7875,4.465,7909,4.808,8068,4.878,10090,5.216,11860,5.321,11861,5.321,13129,5.568,16885,9.16,22281,5.718,22282,6.103,22284,9.632,22286,5.718,22287,8.788,22288,7.985,22289,6.103,22290,6.103,22291,6.103,22292,6.103,22293,6.103,22294,6.103,22295,6.103]],["title/classes/TeamRoleDto.html",[0,0.241,5090,5.86]],["body/classes/TeamRoleDto.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.466,30,0.001,32,0.148,47,0.985,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,190,2.145,200,3.015,202,2.262,296,3.372,855,5.219,4291,8.944,5084,9.099,5090,10.069,5143,9.661,6815,8.605,22335,11.939,22360,9.852,22361,9.852,22362,9.852]],["title/classes/TeamRolePermissionsDto.html",[0,0.241,5051,5.658]],["body/classes/TeamRolePermissionsDto.html",[0,0.313,2,0.953,3,0.017,4,0.017,5,0.008,7,0.126,27,0.522,29,0.69,30,0.001,31,0.507,32,0.166,33,0.413,47,1.005,101,0.012,103,0.001,104,0.001,112,0.89,122,2.351,232,3.069,331,6.072,433,1.11,435,3.103,1826,6.371,4291,8.603,4299,8.366,4996,9.335,5051,10.884,5054,10.882,5056,6.893,10103,8.366,10104,8.366,11652,6.77,11680,7.12,22342,8.366,22344,8.366,22345,10.505,22346,8.366,22347,8.366,22363,13.672,22364,9.032,22365,9.032,22366,9.032]],["title/injectables/TeamRule.html",[589,0.926,1878,5.86]],["body/injectables/TeamRule.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.113,8,1.207,27,0.459,29,0.898,30,0.001,31,0.661,32,0.154,33,0.538,35,1.212,95,0.139,101,0.01,103,0,104,0,122,2.587,135,1.052,148,1.039,183,4.494,197,2.26,205,2.757,228,1.452,277,1.156,290,3.291,400,2.371,433,0.993,478,2.265,578,4.238,589,1.405,591,1.918,653,3.326,711,3.847,1237,2.342,1775,6.83,1801,8.175,1838,7.804,1878,8.89,1982,6.733,1986,6.504,2619,6.733,3711,5.36,3714,6.818,3716,5.36,3718,5.815,7875,8.446,22284,7.597,22317,7.49,22367,8.086,22368,8.086,22369,8.086,22370,8.086,22371,10.566,22372,8.086,22373,8.086]],["title/injectables/TeamService.html",[589,0.926,22374,6.113]],["body/injectables/TeamService.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,26,2.761,27,0.466,29,0.912,30,0.001,31,0.671,32,0.148,33,0.546,35,1.236,36,2.668,39,3.315,95,0.141,99,1.68,101,0.011,103,0.001,104,0.001,135,1.402,148,1.059,228,1.497,277,1.192,279,3.457,317,2.897,400,2.445,433,1.024,478,2.336,589,1.433,591,1.978,657,2.731,711,3.879,1916,9.292,7875,5.133,8068,8.031,13857,9.983,22374,9.46,22375,8.338,22376,10.778,22377,10.778,22378,8.338,22379,8.338,22380,10.778,22381,8.338,22382,10.778,22383,8.338,22384,8.338,22385,8.338,22386,8.338,22387,8.338,22388,8.338,22389,8.338]],["title/classes/TeamUrlParams.html",[0,0.241,22327,6.113]],["body/classes/TeamUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,4197,6.09,4291,9.001,5018,7.603,22327,10.598,22390,9.999,22391,9.999]],["title/classes/TeamUserDto.html",[0,0.241,16901,5.658]],["body/classes/TeamUserDto.html",[0,0.383,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,26,2.241,27,0.5,29,0.663,30,0.001,31,0.621,32,0.159,33,0.397,34,1.484,39,3.378,47,1.011,95,0.097,99,1.749,100,3.027,101,0.014,103,0.001,104,0.001,112,0.868,232,3.294,242,4.581,243,5.466,252,2.292,433,1.066,435,2.982,458,3.462,459,4.49,1829,3.721,2184,3.436,2588,5.466,4588,4.169,4664,3.91,4665,5.082,4666,6.367,5016,7.953,5084,9.345,5143,9.124,8068,5.837,11716,6.242,13122,7.619,13123,7.619,16885,6.367,16901,10.995,18806,7.304,22273,8.04,22274,7.619,22275,7.304,22276,8.04,22280,8.04,22281,6.843,22392,11.06,22393,8.681,22394,8.681]],["title/classes/TeamUserEntity.html",[0,0.241,22284,5.008]],["body/classes/TeamUserEntity.html",[0,0.314,2,0.682,3,0.012,4,0.012,5,0.006,7,0.09,27,0.508,29,0.801,30,0.001,31,0.673,32,0.154,33,0.479,35,1.041,39,2.911,47,0.667,62,3.855,72,2.967,95,0.134,96,2.369,101,0.015,103,0,104,0,112,0.712,130,3.242,148,1.031,153,1.045,159,0.928,190,1.88,195,1.42,205,1.849,223,2.828,224,1.871,225,3.477,226,2.938,229,2.548,231,1.115,232,2.838,233,2.003,242,5.535,290,3.273,331,5.88,433,0.794,435,2.219,567,3.91,569,2.82,652,2.133,692,6.172,703,3.49,735,4.106,1835,3.319,2184,2.557,2269,4.739,2712,5.321,2942,2.997,3908,4.411,4588,3.592,4654,4.789,4664,2.91,4665,6.139,4668,8.267,5727,5.586,7552,4.021,7553,3.651,7574,3.855,7778,7.053,7875,3.977,7909,4.282,8068,4.344,10090,4.645,11275,5.67,11860,4.739,11861,4.739,13129,4.959,16885,6.655,22281,5.093,22282,5.436,22284,9.176,22286,5.093,22287,7.153,22288,9.241,22289,5.436,22290,5.436,22291,5.436,22292,5.436,22293,5.436,22294,5.436,22295,5.436,22395,6.46,22396,6.46,22397,6.46,22398,6.46,22399,6.46,22400,6.46,22401,6.46,22402,6.46,22403,6.46,22404,6.46,22405,6.46]],["title/classes/TeamUserFactory.html",[0,0.241,22304,6.113]],["body/classes/TeamUserFactory.html",[0,0.159,2,0.484,3,0.008,4,0.008,5,0.004,7,0.064,8,0.805,27,0.514,29,1.016,30,0.001,31,0.717,32,0.167,33,0.583,34,1.468,35,1.389,39,3.047,47,0.867,55,2.317,59,3.232,95,0.122,101,0.006,103,0,104,0,112,0.553,113,4.363,127,4.828,129,3.496,130,3.194,135,1.536,148,0.844,153,0.741,157,1.987,172,3.006,185,2.413,192,2.527,205,2.119,206,2.298,228,1.265,231,1.215,290,2.285,326,4.857,331,5.49,374,3.059,433,0.563,436,3.818,467,2.05,478,1.283,501,7.226,502,5.356,505,3.916,506,5.356,507,5.377,508,3.916,509,3.916,510,3.916,511,3.855,512,4.382,513,4.771,514,5.964,515,5.692,516,7.011,517,2.567,522,2.547,523,3.916,524,2.567,525,5.05,526,5.195,527,4.094,528,4.888,529,3.885,530,2.547,531,2.401,532,4.027,533,2.435,534,2.401,535,2.547,536,2.567,537,4.697,538,2.547,539,7.185,540,3.917,541,6.563,542,2.567,543,4.177,544,2.547,545,2.567,546,2.547,547,2.567,548,2.547,549,2.851,550,2.682,551,2.547,552,6.01,553,2.567,554,2.547,555,3.916,556,3.574,557,3.916,558,2.567,559,2.47,560,2.435,561,2.063,562,2.547,563,2.547,564,2.547,565,2.567,566,2.567,567,1.708,568,2.547,569,1.424,570,2.567,571,2.788,572,2.547,573,2.567,575,2.634,577,4.203,697,3.294,703,3.622,2280,6.525,3436,4.41,4690,3.854,7763,3.611,7773,5.553,21159,7.533,22284,5.065,22298,6.525,22300,6.525,22304,7.533,22406,4.581,22407,4.581,22408,7.044,22409,4.581,22410,4.243,22411,4.581,22412,4.581,22413,4.581,22414,4.581,22415,4.581,22416,4.243,22417,4.581]],["title/interfaces/TeamUserProperties.html",[159,0.712,22288,5.658]],["body/interfaces/TeamUserProperties.html",[0,0.338,3,0.013,4,0.013,5,0.006,7,0.1,30,0.001,31,0.549,32,0.137,39,1.995,47,0.718,62,4.29,72,3.301,95,0.139,96,2.55,101,0.015,103,0,104,0,112,0.766,130,3.003,148,1.091,153,1.163,159,0.999,161,1.712,195,1.58,205,1.991,223,3.044,224,2.082,225,3.744,226,3.269,229,2.835,231,1.24,232,2.643,233,2.229,242,5.856,290,3.328,331,6.142,567,4.137,652,1.462,692,6.232,703,3.82,1835,3.694,2184,2.846,2269,5.273,2712,5.63,2942,3.334,3908,4.908,4588,2.462,4654,5.156,4664,3.238,4665,6.496,4668,8.747,5727,5.804,7552,4.475,7553,4.062,7574,4.29,7875,4.425,7909,4.765,8068,4.834,10090,5.169,11860,5.273,11861,5.273,13129,5.518,16885,7.166,22281,5.667,22282,6.049,22284,9.234,22286,5.667,22287,7.701,22288,9.015,22289,6.049,22290,6.049,22291,6.049,22292,6.049,22293,6.049,22294,6.049,22295,6.049]],["title/modules/TeamsApiModule.html",[252,1.839,20576,5.86]],["body/modules/TeamsApiModule.html",[0,0.345,3,0.018,4,0.018,5,0.009,30,0.001,95,0.134,101,0.013,103,0.001,104,0.001,252,3.421,254,3.588,255,3.809,256,3.905,257,3.891,258,3.877,259,4.379,260,4.48,269,4.72,270,3.836,271,3.757,273,6.281,274,4.152,276,4.72,277,1.426,9055,11.784,20576,11.784,22418,9.974,22419,9.974,22420,9.974,22421,9.974]],["title/modules/TeamsModule.html",[252,1.839,9055,5.86]],["body/modules/TeamsModule.html",[0,0.331,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.359,254,3.443,255,3.655,256,3.747,257,3.733,258,3.72,259,4.622,260,4.729,269,4.603,270,3.68,271,3.605,277,1.369,279,3.968,610,3.774,1916,9.623,9055,12.029,22374,12.745,22422,9.57,22423,9.57,22424,9.57,22425,9.57]],["title/injectables/TeamsRepo.html",[589,0.926,1916,4.833]],["body/injectables/TeamsRepo.html",[0,0.21,3,0.011,4,0.011,5,0.005,7,0.085,8,0.992,10,3.488,12,3.929,13,6.128,18,4.35,26,2.54,27,0.5,29,0.929,30,0.001,31,0.684,32,0.155,33,0.556,34,1.484,35,1.396,36,2.798,39,2.813,40,4.201,42,6.128,49,2.286,55,1.23,62,3.622,95,0.13,96,1.585,97,2.448,99,1.223,101,0.008,103,0,104,0,112,0.681,129,2.571,130,2.349,135,1.13,148,1.15,153,0.982,197,2.426,205,1.237,206,2.832,231,1.498,277,0.868,290,2.059,317,2.953,331,5.566,388,2.601,436,3.267,478,1.7,532,4.913,589,1.154,591,1.44,652,2.061,657,2.866,728,7.27,734,3.659,735,3.929,736,4.989,741,7.619,759,3.622,760,3.696,761,3.658,762,3.696,764,3.658,765,3.696,766,3.249,773,4.023,980,4.788,1092,5.838,1835,4.461,1916,6.024,3436,4.461,3998,4.285,4272,4.785,5018,5.466,5136,7.331,7875,6.239,8068,8.186,16897,5.107,19251,9.387,19257,8.041,19261,5.622,21289,5.622,22284,6.242,22426,6.07,22427,7.619,22428,6.07,22429,7.619,22430,6.07,22431,6.07,22432,6.07,22433,6.07,22434,6.07,22435,6.07,22436,6.07,22437,6.07,22438,6.07,22439,6.07,22440,6.07,22441,6.07]],["title/interfaces/TemporaryFileProperties.html",[159,0.712,13527,5.86]],["body/interfaces/TemporaryFileProperties.html",[0,0.279,3,0.015,4,0.015,5,0.011,7,0.112,30,0.001,31,0.452,32,0.16,47,1.007,55,2.525,83,4.02,95,0.131,96,2.103,101,0.014,103,0,104,0,112,0.827,159,0.824,161,1.918,205,2.148,210,8.722,223,4.134,224,2.333,225,4.038,229,3.176,231,1.39,233,2.497,248,6.037,414,4.086,433,0.989,478,2.256,870,7.397,1195,3.988,1215,4.854,1237,2.333,2164,3.736,2550,4.854,3426,6.227,5260,8.51,6565,6.543,6617,4.59,7245,5.197,11688,8.307,11689,10.375,11703,6.349,12130,7.069,12149,6.182,13397,6.182,13527,9.883,13532,11.372,13534,7.46,13538,7.069,13539,7.46,13540,7.46,13543,9.249,13544,7.46,13545,7.46]],["title/injectables/TemporaryFileRepo.html",[589,0.926,13391,5.658]],["body/injectables/TemporaryFileRepo.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.972,10,3.418,12,3.85,18,4.263,26,2.793,27,0.513,29,0.971,30,0.001,31,0.715,32,0.157,33,0.581,34,1.009,35,1.486,36,2.871,39,3.531,40,2.855,47,0.886,49,3.204,83,2.494,95,0.122,99,1.189,101,0.008,103,0,104,0,135,1.107,148,1.185,153,1.376,205,1.734,206,2.775,210,5.489,231,1.468,277,0.844,317,3.065,436,3.225,532,4.885,589,1.131,591,1.4,728,7.209,734,3.585,735,3.85,736,4.911,759,3.521,760,3.593,761,3.556,762,3.593,763,4.094,764,3.556,765,3.593,766,3.158,771,4.243,787,8.381,1195,6.154,1924,7.342,2516,4.793,5260,8.01,9534,7.466,13391,6.911,13397,6.53,13532,9.186,22442,12.428,22443,5.9,22444,8.507,22445,8.507,22446,8.507,22447,10.918,22448,8.507,22449,8.507,22450,5.9,22451,8.507,22452,5.9,22453,8.507,22454,5.9,22455,5.9,22456,8.507,22457,5.9,22458,5.9]],["title/injectables/TemporaryFileStorage.html",[589,0.926,13392,5.86]],["body/injectables/TemporaryFileStorage.html",[0,0.152,3,0.008,4,0.008,5,0.011,7,0.061,8,0.778,27,0.476,29,0.933,30,0.001,31,0.686,32,0.151,33,0.558,35,1.371,36,2.737,39,3.125,47,1.039,55,2.065,59,2.117,83,2.76,95,0.133,101,0.006,103,0,104,0,125,2.242,129,1.299,130,1.187,135,1.465,145,3.534,148,1.06,153,1.102,228,1.223,277,0.627,290,3.103,317,2.898,414,2.225,433,0.837,569,2.117,578,2.299,579,1.252,589,0.905,591,1.04,641,2.5,652,2.485,657,2.661,688,2.045,711,3.88,756,1.749,812,2.795,860,3.096,871,1.614,1195,6.16,1215,2.643,1237,1.27,1302,2.438,1304,2.5,1834,3.217,1924,2.949,1928,2.592,2164,2.034,2530,3.096,2636,3.334,2831,1.756,2930,3.287,3109,4.808,3426,2.592,5126,4.062,5133,4.062,5145,4.062,5234,5.389,5260,8.435,6178,2.592,6617,2.5,7316,4.996,7823,3.69,8980,6.309,8990,7.026,9017,3.849,11521,2.7,11552,3.69,12133,3.849,12157,3.367,12518,3.563,12577,6.905,12622,4.062,12644,3.563,13143,2.994,13198,10.721,13391,7.648,13392,5.731,13397,3.367,13400,3.849,13529,3.69,13543,5.978,15389,3.287,22459,12.44,22460,6.811,22461,6.811,22462,6.811,22463,6.811,22464,6.811,22465,8.35,22466,8.35,22467,4.386,22468,6.811,22469,4.386,22470,6.811,22471,4.386,22472,6.811,22473,4.386,22474,6.811,22475,4.386,22476,4.386,22477,4.386,22478,6.811,22479,4.386,22480,9.414,22481,9.414,22482,4.386,22483,6.811,22484,4.386,22485,8.35,22486,9.414,22487,9.414,22488,4.386,22489,6.811,22490,4.386,22491,4.386,22492,4.386,22493,4.386,22494,4.386,22495,4.386,22496,4.386,22497,4.386,22498,4.386,22499,4.386,22500,4.386,22501,4.386,22502,4.386,22503,4.386,22504,4.386,22505,10.193,22506,6.811,22507,4.386,22508,4.386,22509,4.386,22510,4.386,22511,4.386,22512,4.386,22513,4.386,22514,8.35,22515,4.386,22516,4.386,22517,4.386,22518,4.386,22519,4.386,22520,3.69,22521,4.386,22522,4.386]],["title/classes/TestApiClient.html",[0,0.241,1617,6.113]],["body/classes/TestApiClient.html",[0,0.126,2,0.385,3,0.007,4,0.007,5,0.003,7,0.051,8,0.673,10,2.366,27,0.496,29,0.935,30,0.001,31,0.688,32,0.156,33,0.559,35,1.382,36,1.244,47,1.05,51,2.834,55,1.5,59,3.097,87,2.968,94,4.728,95,0.095,101,0.005,103,0,104,0,112,0.462,122,1.221,129,2.759,130,2.522,135,1.751,142,1.321,145,2.21,148,1.184,153,1.374,157,0.845,158,1.347,159,0.373,180,2.523,185,3.59,189,3.624,228,2.023,277,0.522,316,1.756,317,1.601,326,1.388,339,3.302,379,5.318,389,3.849,414,6.38,433,0.448,478,1.022,484,2.624,579,1.681,581,5.167,652,2.773,657,0.834,711,3.752,756,1.455,802,3.902,871,3.666,1080,1.265,1176,4.519,1372,6.776,1585,6.383,1602,7.454,1603,11.268,1604,3.202,1605,5.053,1606,9.199,1607,4.954,1608,3.379,1609,3.379,1610,2.676,1611,2.964,1612,3.379,1613,3.07,1614,3.379,1615,3.379,1616,3.202,1617,6.496,1618,3.379,1619,2.246,1620,3.379,1621,5.453,1622,4.233,1623,5.167,1624,4.954,1625,4.783,1626,3.3,1627,7.164,1628,9.199,1629,6.855,1630,5.167,1631,5.167,1632,5.167,1633,3.202,1634,9.228,1635,3.379,1636,5.167,1637,10.15,1638,8.178,1639,10.15,1640,3.379,1641,5.167,1642,8.178,1643,3.379,1644,7.867,1645,5.453,1646,3.379,1647,6.013,1648,5.453,1649,3.379,1650,5.167,1651,5.453,1652,3.379,1653,3.379,1654,3.379,1655,3.379,1656,5.453,1657,3.379,1658,3.202,1659,5.167,1660,5.548,1661,7.454,1662,3.202,1663,5.167,1664,3.202,1665,8.178,1666,5.167,1667,5.167,1668,3.202,1669,5.167,1670,5.167,1671,3.202,1672,3.202,1673,5.453,1674,7.867,1675,2.199,1676,3.379,1677,5.453,1678,3.379,1679,3.379,1680,3.379,1681,3.379,1682,3.379,1683,3.379,1684,3.379,1685,3.379,3242,3.222,4401,3.799,22523,5.453,22524,5.453,22525,5.887,22526,5.453,22527,5.887,22528,3.649,22529,3.379,22530,3.649,22531,3.649,22532,3.649,22533,8.631,22534,3.379,22535,3.649,22536,3.649,22537,3.379,22538,3.649,22539,3.649,22540,3.649,22541,3.649,22542,3.649,22543,3.379]],["title/classes/TestBootstrapConsole.html",[0,0.241,22544,6.451]],["body/classes/TestBootstrapConsole.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,8,1.28,27,0.345,30,0.001,35,1.015,36,2.596,47,0.651,95,0.148,101,0.014,103,0.001,104,0.001,135,1.457,148,1.101,231,1.932,258,3.441,276,3.466,317,1.915,571,3.504,657,2.025,734,5.441,981,5.392,1086,4.215,1087,4.086,1088,4.149,1089,4.41,1090,4.809,2060,6.494,2061,6.366,2802,6.796,3803,5.788,3811,5.868,3813,6.894,3814,5.182,3816,6.979,5220,6.979,9202,6.494,20535,9.829,22544,10.373,22545,11.199,22546,11.199,22547,8.853,22548,12.285,22549,8.853,22550,8.2,22551,8.853,22552,6.796,22553,8.2,22554,8.853,22555,8.853,22556,11.199,22557,8.2,22558,8.853,22559,8.853,22560,11.199,22561,8.853,22562,7.77,22563,8.853,22564,8.853]],["title/classes/TestConnection.html",[0,0.241,22565,6.451]],["body/classes/TestConnection.html",[0,0.311,2,0.949,3,0.017,4,0.017,5,0.008,7,0.125,27,0.441,30,0.001,36,1.9,47,0.909,55,1.822,95,0.1,101,0.012,103,0.001,104,0.001,112,0.887,129,3.349,130,3.06,135,1.17,148,1.112,153,2.001,317,1.945,467,3.975,657,2.056,711,3.276,2863,7.892,6303,6.239,9682,7.984,22565,10.476,22566,12.373,22567,8.992,22568,12.373,22569,12.373,22570,8.992,22571,8.992,22572,9.188,22573,10.27,22574,8.992,22575,12.373,22576,8.992,22577,8.992,22578,8.992,22579,8.992]],["title/classes/TestHelper.html",[0,0.241,22580,6.451]],["body/classes/TestHelper.html",[0,0.296,2,0.903,3,0.016,4,0.016,5,0.011,7,0.119,27,0.427,30,0.001,31,0.615,47,0.805,95,0.135,101,0.011,103,0.001,104,0.001,112,0.859,129,3.244,130,2.964,135,1.754,148,1.077,159,0.875,339,2.507,467,3.924,711,3.173,1302,6.72,1304,4.873,2831,3.423,2912,4.093,6572,4.873,7218,5.755,7312,7.733,7313,5.323,7314,5.208,7315,7.361,11521,5.264,12050,7.261,12051,11.187,20937,7.505,22580,10.147,22581,12.087,22582,12.087,22583,12.087,22584,8.551,22585,8.551,22586,8.551,22587,8.551,22588,8.551,22589,8.551,22590,8.551,22591,8.551,22592,8.551]],["title/classes/TestXApiKeyClient.html",[0,0.241,22593,6.451]],["body/classes/TestXApiKeyClient.html",[0,0.19,2,0.579,3,0.01,4,0.01,5,0.005,7,0.076,8,0.922,10,3.243,27,0.504,29,0.952,30,0.001,31,0.7,32,0.16,33,0.57,35,1.394,47,1.057,55,1.939,59,2.975,95,0.09,101,0.007,103,0,104,0,112,0.633,122,1.673,129,2.834,130,2.59,135,1.656,145,3.029,148,1.195,185,2.764,228,2.111,277,0.785,339,2.806,414,6.734,433,0.674,652,2.821,711,3.686,756,2.189,1176,4.213,1603,11.514,1604,4.817,1606,10.319,1607,6.79,1611,7.776,1627,8.085,1628,10.319,1630,7.083,1631,4.817,1632,4.817,1633,4.817,1636,7.083,1637,10.319,1638,8.4,1639,10.319,1641,7.083,1642,4.817,1647,4.459,1650,7.083,1659,7.083,1660,7.174,1661,9.261,1662,4.817,1663,7.083,1664,4.817,1665,9.868,1666,7.083,1667,7.083,1668,4.817,1669,7.083,1670,7.083,1671,4.817,1672,4.817,3242,4.417,22523,7.475,22524,7.475,22526,7.475,22529,5.084,22533,8.865,22534,5.084,22537,5.084,22543,5.084,22593,7.475,22594,13.119,22595,8.071,22596,5.489,22597,5.489,22598,5.489,22599,5.489,22600,5.489,22601,5.489,22602,5.489,22603,5.489]],["title/injectables/TimeoutInterceptor.html",[589,0.926,14337,6.113]],["body/injectables/TimeoutInterceptor.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,27,0.408,29,0.799,30,0.001,31,0.588,32,0.13,33,0.478,35,0.914,55,2.368,95,0.138,101,0.01,103,0,104,0,135,1.362,148,1.149,153,1.693,157,1.846,183,3.045,193,4.566,228,1.432,277,1.14,314,3.984,329,6.376,400,2.338,433,0.98,571,4.627,589,1.392,591,1.892,653,3.28,1056,5.146,1057,6.286,1058,6.121,1080,2.764,1237,2.31,1329,6.376,2313,7.679,2383,8.973,2903,6.845,2922,7.528,4338,8.761,4968,8.505,5372,9.697,7477,8.505,9819,9.189,9821,9.189,9822,10.893,9823,10.893,9825,9.189,10027,6.121,14337,9.189,18991,10.827,18998,7.386,19000,7.386,19399,8.809,22604,7.974,22605,10.469,22606,9.697,22607,7.974,22608,7.974,22609,7.974,22610,10.469,22611,11.689,22612,10.469,22613,7.974,22614,10.469,22615,7.974,22616,7.974,22617,7.974,22618,7.974]],["title/classes/TimestampsResponse.html",[0,0.241,4019,4.004]],["body/classes/TimestampsResponse.html",[0,0.318,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.51,29,0.701,30,0.001,31,0.515,32,0.162,33,0.571,83,4.025,95,0.102,101,0.012,103,0.001,104,0.001,112,0.899,190,2.239,201,4.854,202,2.107,296,3.522,430,5.536,433,1.407,460,5.589,821,4.685,4019,7.738,4035,9.501,11596,10.332,11656,7.455,22619,9.177,22620,9.177,22621,9.177,22622,9.177,22623,9.177,22624,9.177]],["title/injectables/TldrawBoardRepo.html",[589,0.926,22625,5.346]],["body/injectables/TldrawBoardRepo.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.89,27,0.506,29,0.841,30,0.001,31,0.619,32,0.161,33,0.504,35,1.182,36,2.442,47,1,55,1.578,95,0.133,101,0.007,103,0,104,0,112,0.611,122,1.615,135,1.434,145,1.964,148,0.766,153,0.846,228,1.671,277,0.748,317,2.719,337,3.22,371,4.139,433,0.643,569,3.204,571,4.363,589,1.035,591,1.241,634,7.289,651,2.654,653,2.152,657,2.128,711,4.141,804,3.921,1072,5.601,1086,5.247,1087,5.087,1088,5.165,1089,5.135,1090,6.501,1091,7.932,1092,5.238,1100,4.25,1103,4.016,2088,2.242,2231,4.402,2472,3.153,2481,4.016,3237,4.518,5074,2.671,5199,8.673,8410,3.518,9682,7.277,10603,3.921,20661,3.762,22625,5.979,22626,13.143,22627,5.231,22628,9.305,22629,10.308,22630,9.305,22631,10.308,22632,7.214,22633,7.789,22634,7.214,22635,7.789,22636,4.402,22637,7.789,22638,7.214,22639,5.231,22640,7.789,22641,5.231,22642,7.214,22643,10.141,22644,8.375,22645,5.231,22646,7.789,22647,11.554,22648,9.047,22649,5.231,22650,5.231,22651,5.231,22652,5.231,22653,5.231,22654,9.305,22655,5.231,22656,5.231,22657,6.836,22658,5.231,22659,5.231,22660,4.591,22661,4.25,22662,5.231,22663,4.846,22664,4.591,22665,5.231,22666,5.231,22667,5.231,22668,7.789,22669,5.231,22670,4.402,22671,7.789,22672,5.231,22673,7.789,22674,5.231,22675,8.619,22676,5.231,22677,5.231,22678,4.846,22679,5.231,22680,7.789,22681,5.231,22682,7.789,22683,5.231,22684,5.231,22685,7.789,22686,5.231,22687,5.231,22688,5.231,22689,5.231,22690,5.231,22691,5.231,22692,5.231,22693,5.231]],["title/modules/TldrawClientModule.html",[252,1.839,22694,6.451]],["body/modules/TldrawClientModule.html",[0,0.334,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.374,254,3.476,255,3.69,256,3.783,257,3.769,258,3.756,259,4.641,260,4.395,265,6.448,269,4.63,270,3.716,271,3.639,276,4.63,277,1.382,610,3.811,1027,2.957,3895,11.293,9676,8.95,12325,8.48,22694,13.164,22695,9.662,22696,9.662,22697,9.662,22698,9.662]],["title/interfaces/TldrawConfig.html",[159,0.712,22661,5.658]],["body/interfaces/TldrawConfig.html",[3,0.015,4,0.015,5,0.007,7,0.112,30,0.001,32,0.171,47,1.06,55,2.888,95,0.089,101,0.015,103,0,104,0,112,0.824,122,2.872,135,1.619,159,0.82,161,1.911,2088,3.438,2219,3.596,2220,4.045,2221,3.904,2222,5.051,12095,10.18,12096,7.04,12097,10.18,20511,7.43,22661,10.106,22699,8.022,22700,12.914,22701,12.914,22702,12.914,22703,12.914,22704,12.914,22705,12.914,22706,12.914,22707,10.51,22708,8.022,22709,8.022,22710,8.022,22711,8.022,22712,8.022,22713,8.022,22714,8.022,22715,7.43,22716,8.022]],["title/controllers/TldrawController.html",[314,2.65,22717,6.113]],["body/controllers/TldrawController.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,10,4.799,27,0.325,29,0.637,30,0.001,31,0.468,32,0.169,33,0.381,35,0.956,95,0.146,101,0.011,103,0.001,104,0.001,190,1.495,202,1.915,228,1.497,274,3.471,277,1.192,314,3.173,316,4.013,317,2.584,337,6.635,342,7.047,345,7.75,388,3.574,390,6.31,391,8.048,392,4.341,393,4.129,400,2.445,401,4.673,402,4.542,657,1.907,1351,7.248,2049,4.398,2681,6.432,2954,5.728,3153,8.274,3212,5.996,3216,6.25,3217,6.25,3220,7.047,3222,6.573,3241,5.607,3259,6.116,3260,6.25,7180,8.031,9682,5.886,22717,9.46,22718,8.338,22719,10.482,22720,9.983,22721,8.338,22722,11.081,22723,8.338,22724,8.338,22725,8.338,22726,9.703,22727,7.723,22728,8.338,22729,8.338,22730,8.338,22731,8.338,22732,8.338,22733,8.338]],["title/classes/TldrawDeleteParams.html",[0,0.241,22722,6.113]],["body/classes/TldrawDeleteParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,31,0.676,32,0.123,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,299,4.713,308,7.298,335,8.095,3153,9.241,9682,9.138,22722,10.566,22734,9.95,22735,9.95]],["title/entities/TldrawDrawing.html",[205,1.419,22736,5.658]],["body/entities/TldrawDrawing.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.102,27,0.504,30,0.001,31,0.413,32,0.16,33,0.549,47,1.035,49,4.23,55,2.436,95,0.125,96,2.591,97,2.969,101,0.013,103,0,104,0,112,0.779,130,3.253,153,1.19,159,0.753,190,2.318,195,2.642,196,4.164,197,3.614,205,2.023,206,2.401,211,6.923,223,4.03,224,2.132,229,2.903,232,1.992,277,1.053,579,2.101,789,6.579,1197,6.53,1675,4.436,2049,3.003,2537,9.449,2953,4.269,5752,6.217,6759,5.517,8221,5.517,8287,5.802,9682,8.486,10172,5.979,22670,6.193,22736,8.064,22737,12.242,22738,6.817,22739,11.135,22740,7.36,22741,7.36,22742,7.36,22743,7.36,22744,7.36,22745,7.36,22746,8.712,22747,9.194,22748,6.817,22749,6.817,22750,9.194,22751,6.817,22752,9.194,22753,6.817]],["title/interfaces/TldrawDrawingProps.html",[159,0.712,22746,6.113]],["body/interfaces/TldrawDrawingProps.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,31,0.435,32,0.162,33,0.599,47,1.065,49,3.868,55,2.587,95,0.128,96,2.681,97,3.123,101,0.013,103,0,104,0,112,0.805,130,3.455,153,1.252,159,0.792,161,1.844,195,2.257,196,4.236,197,3.22,205,2.093,223,4.089,224,2.243,229,3.054,232,2.095,277,1.107,579,2.211,789,6.987,1197,6.934,1675,4.667,2049,3.16,2537,8.64,2953,4.491,5752,6.603,6759,5.804,8221,5.804,8287,6.104,9682,9.012,10172,6.291,22670,6.515,22736,6.291,22737,7.172,22738,7.172,22739,11.825,22746,10.112,22747,9.511,22748,7.172,22749,7.172,22750,9.511,22751,7.172,22752,9.511,22753,7.172]],["title/modules/TldrawModule.html",[252,1.839,22754,6.451]],["body/modules/TldrawModule.html",[0,0.24,3,0.013,4,0.013,5,0.006,30,0.001,32,0.086,47,0.509,87,3.493,95,0.158,96,2.487,101,0.009,103,0,104,0,135,0.901,153,1.12,206,3.108,224,2.007,252,2.874,254,2.492,255,2.646,256,2.712,257,2.703,258,2.693,259,3.954,260,2.575,269,3.729,270,2.664,271,2.61,274,3.965,276,3.729,277,0.991,290,1.644,347,3.56,571,2.742,623,4.53,651,3.515,736,4.689,809,4.53,1014,4.807,1015,4.73,1021,4.471,1022,6.61,1024,6.61,1025,4.471,1026,4.363,1027,2.12,1031,8.965,1036,6.849,1040,4.807,1041,4.73,1086,3.298,1087,3.198,1088,3.247,1089,3.451,1166,4.592,1167,4.265,1484,8.54,1856,7.237,2088,4.083,2447,5.308,2636,3.391,2680,3.182,2860,4.471,2954,3.682,7457,8.195,10016,4.219,12092,4.471,12252,5.629,12414,6.987,12415,6.987,12416,7.14,12418,5.318,12427,5.082,12428,5.082,12655,8.823,22625,9.748,22717,9.554,22726,10.317,22727,6.417,22736,7.739,22754,13.315,22755,6.928,22756,6.928,22757,6.928,22758,10.685,22759,6.928,22760,6.928,22761,6.417]],["title/injectables/TldrawRepo.html",[589,0.926,22758,5.86]],["body/injectables/TldrawRepo.html",[0,0.287,3,0.015,4,0.015,5,0.007,7,0.116,8,1.228,10,4.319,27,0.491,29,0.962,30,0.001,31,0.708,32,0.156,33,0.576,35,1.367,36,2.827,47,0.876,95,0.133,96,2.168,97,3.349,101,0.011,103,0.001,104,0.001,148,0.816,205,2.191,206,2.709,228,1.491,277,1.187,317,3.017,400,2.435,433,1.02,589,1.429,591,1.97,657,2.458,734,4.53,759,6.414,2445,5.971,2446,6.847,2450,7.73,9682,7.588,22736,11.425,22758,9.045,22762,8.304,22763,10.75,22764,8.304,22765,8.304,22766,10.75,22767,8.304,22768,10.75,22769,8.304,22770,8.304,22771,8.304,22772,8.304]],["title/injectables/TldrawService.html",[589,0.926,22726,5.658]],["body/injectables/TldrawService.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.133,8,1.339,27,0.457,29,0.895,30,0.001,31,0.658,32,0.145,33,0.536,35,1.092,36,2.477,47,0.933,95,0.131,101,0.012,103,0.001,104,0.001,135,1.239,228,1.71,277,1.362,317,2.747,400,2.793,433,1.17,589,1.558,591,2.26,657,2.681,9682,6.724,22670,8.014,22720,10.858,22726,9.523,22758,11.656,22761,8.822,22773,9.525,22774,9.525,22775,9.525,22776,11.722,22777,9.525,22778,9.525,22779,9.525]],["title/modules/TldrawTestModule.html",[252,1.839,22780,6.451]],["body/modules/TldrawTestModule.html",[0,0.244,3,0.013,4,0.013,5,0.006,8,0.807,27,0.275,29,0.539,30,0.001,31,0.397,32,0.087,33,0.323,35,0.81,59,2.195,95,0.155,101,0.009,103,0,104,0,135,1.256,148,0.694,206,2.304,252,3.12,254,2.54,255,2.697,256,2.765,257,2.755,258,2.745,259,4.494,260,2.624,265,5.925,269,3.779,270,2.716,271,2.66,276,4.844,277,1.01,290,2.29,314,2.688,467,2.809,478,1.979,540,3.202,610,2.785,1016,7.007,1027,2.161,1028,8.2,1029,8.32,1034,5.421,1043,6.697,1045,6.31,1048,4.9,1480,10.069,1484,8.589,1856,7.28,2033,3.66,2636,3.457,2680,3.243,5202,4.985,7457,8.243,12092,4.557,12252,5.738,12467,5.738,22625,9.805,22719,6.198,22780,13.438,22781,7.062,22782,7.062,22783,7.062,22784,11.211,22785,9.805,22786,8.471,22787,7.062,22788,7.062,22789,7.062,22790,7.841]],["title/classes/TldrawWs.html",[0,0.241,22790,5.658]],["body/classes/TldrawWs.html",[0,0.237,2,0.723,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,27,0.477,29,0.826,30,0.001,31,0.655,32,0.144,33,0.494,35,1.241,47,0.694,95,0.141,101,0.009,103,0,104,0,110,2.38,112,0.741,134,2.424,135,1.229,145,2.57,148,0.673,190,1.227,193,5.92,228,1.697,317,2.044,371,3.638,433,1.161,528,3.473,569,3.625,571,2.71,610,2.7,634,7.339,651,3.473,652,2.489,657,2.16,711,3.665,1086,3.259,1087,3.159,1088,3.208,1089,3.41,1090,5.131,1091,6.262,1092,4.603,1237,2.736,2088,2.934,2164,5.869,2698,2.221,2831,2.74,5412,5.255,7180,6.353,9682,8.233,18576,5.76,22025,5.255,22572,9.475,22573,5.255,22636,5.76,22643,8.291,22661,5.562,22675,6.341,22715,6.341,22719,6.008,22785,9.954,22790,7.675,22791,6.846,22792,10.817,22793,10.817,22794,11.663,22795,9.447,22796,9.447,22797,9.447,22798,10.817,22799,6.846,22800,9.447,22801,6.846,22802,9.447,22803,6.846,22804,6.846,22805,6.341,22806,6.846,22807,6.846,22808,6.846,22809,6.846,22810,6.846,22811,6.846,22812,6.846,22813,6.846,22814,6.846,22815,6.846,22816,6.846,22817,6.846,22818,6.846,22819,6.846,22820,9.447,22821,6.846,22822,6.846]],["title/classes/TldrawWsFactory.html",[0,0.241,22823,6.451]],["body/classes/TldrawWsFactory.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,27,0.449,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.321,55,2.541,95,0.128,101,0.012,103,0.001,104,0.001,148,1.132,153,1.498,467,4.005,711,3.337,2796,4.957,18575,7.524,20661,6.659,22572,10.66,22573,7.109,22644,10.66,22664,8.128,22823,10.671,22824,9.261,22825,11.521,22826,13.121,22827,11.521,22828,9.261,22829,11.521,22830,9.261,22831,9.261,22832,8.578,22833,8.578]],["title/modules/TldrawWsModule.html",[252,1.839,22784,6.113]],["body/modules/TldrawWsModule.html",[0,0.302,3,0.016,4,0.016,5,0.008,30,0.001,95,0.157,101,0.011,103,0.001,104,0.001,252,3.22,254,3.136,255,3.329,256,3.413,257,3.401,258,3.389,259,4.43,260,3.24,269,4.342,270,3.353,271,3.284,276,4.342,277,1.247,314,3.318,610,3.438,651,4.423,1021,5.626,1025,5.626,1026,5.49,1027,2.668,2088,4.754,2447,5.663,2636,4.267,7457,8.743,12092,5.626,12418,6.693,22625,10.401,22784,12.589,22785,10.401,22786,7.652,22790,9.01,22834,8.718,22835,8.718,22836,8.718,22837,8.718]],["title/injectables/TldrawWsService.html",[589,0.926,22785,5.346]],["body/injectables/TldrawWsService.html",[0,0.114,3,0.006,4,0.006,5,0.003,7,0.046,8,0.618,27,0.464,29,0.853,30,0.001,31,0.68,32,0.15,33,0.511,35,1.245,36,1.688,47,0.875,55,1.097,95,0.125,101,0.004,103,0,104,0,112,0.424,122,0.682,125,0.784,129,2.614,130,2.161,134,1.165,135,1.522,142,3.93,145,2.031,148,0.933,153,1.535,157,0.762,195,1.94,197,0.919,228,0.972,277,0.47,289,1.908,317,2.053,388,5.014,433,0.665,533,2.876,567,2.018,569,3.636,579,0.939,589,0.719,591,0.78,629,4.215,634,5.506,640,2.025,651,1.669,652,1.101,657,1.237,711,3.976,734,2.281,756,2.158,813,1.844,985,1.908,1080,1.14,1115,4.533,1296,5.8,1328,4.691,1329,5.376,1393,3.084,1563,2.123,2038,2.097,2088,1.41,2163,6.131,2465,3.198,2588,3.407,2636,1.61,2642,2.246,2796,3.69,3237,3.998,3846,2.593,4261,2.466,4921,4.635,4956,2.525,5005,4.553,5138,2.897,5953,4.569,6178,3.198,7270,3.587,7472,3.755,7859,2.322,8100,6.296,8410,3.639,9682,7.664,10476,3.047,12115,2.525,12572,4.056,15034,2.673,18575,2.673,20661,2.366,22025,2.525,22572,10.089,22573,8.979,22625,7.701,22632,5.012,22634,5.012,22636,2.768,22638,5.012,22642,5.012,22643,7.01,22644,10.625,22648,10.054,22657,11.479,22661,2.673,22663,3.047,22664,2.887,22785,4.154,22833,3.047,22838,3.29,22839,6.385,22840,6.893,22841,6.893,22842,5.411,22843,5.411,22844,5.411,22845,5.411,22846,5.411,22847,5.411,22848,5.411,22849,5.411,22850,3.29,22851,3.29,22852,5.411,22853,9.293,22854,3.29,22855,7.987,22856,5.411,22857,5.411,22858,3.29,22859,11.91,22860,5.411,22861,3.29,22862,5.411,22863,9.492,22864,3.29,22865,5.411,22866,5.411,22867,3.29,22868,3.29,22869,5.411,22870,3.29,22871,3.29,22872,3.29,22873,3.29,22874,3.047,22875,3.29,22876,3.047,22877,3.29,22878,3.047,22879,3.29,22880,3.29,22881,3.29,22882,3.29,22883,3.29,22884,3.047,22885,5.411,22886,3.29,22887,7.987,22888,5.411,22889,3.29,22890,3.29,22891,3.29,22892,3.29,22893,3.29,22894,3.29,22895,3.29,22896,3.29,22897,3.29,22898,3.29,22899,3.29,22900,3.29,22901,5.411,22902,3.29,22903,3.29,22904,9.492,22905,3.29,22906,8.792,22907,6.385,22908,7.398,22909,7.987,22910,3.29,22911,7.398,22912,3.29,22913,7.987,22914,3.29,22915,3.29,22916,3.29,22917,3.29,22918,3.29,22919,3.29,22920,3.29,22921,5.411,22922,3.29,22923,3.29,22924,6.893,22925,3.29,22926,5.012,22927,3.29,22928,3.29,22929,3.29,22930,3.29,22931,3.29,22932,3.29,22933,3.29,22934,3.29,22935,3.29,22936,3.29,22937,3.29,22938,3.29,22939,3.29,22940,7.987,22941,3.29,22942,3.29,22943,6.893,22944,3.29,22945,6.893,22946,3.29,22947,3.29,22948,3.29,22949,3.29,22950,3.29,22951,3.29,22952,3.047,22953,3.29,22954,3.29,22955,3.29,22956,3.29]],["title/modules/TldrawWsTestModule.html",[252,1.839,22957,6.451]],["body/modules/TldrawWsTestModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,8,0.918,27,0.313,29,0.614,30,0.001,31,0.452,32,0.099,33,0.367,35,0.922,59,2.498,95,0.154,101,0.01,103,0,104,0,135,1.369,148,0.79,252,3.287,254,2.891,255,3.069,256,3.147,257,3.135,258,3.124,259,4.693,260,2.987,269,4.12,270,3.091,271,3.027,276,5.059,277,1.149,314,3.059,467,3.063,540,3.492,610,3.17,651,4.078,1016,7.478,1021,5.187,1025,5.187,1026,5.061,1028,8.639,1029,5.405,1043,5.577,1045,6.881,1048,5.577,2088,4.511,2636,3.934,5202,5.674,7457,8.556,12092,5.187,12418,6.17,12467,6.53,22573,8.079,22625,10.178,22785,10.178,22786,9.237,22790,8.55,22957,13.051,22958,8.038,22959,8.038,22960,8.038,22961,8.038]],["title/injectables/ToggleUserLoginMigrationUc.html",[589,0.926,22962,5.86]],["body/injectables/ToggleUserLoginMigrationUc.html",[0,0.232,3,0.012,4,0.012,5,0.006,7,0.093,8,1.063,26,2.612,27,0.417,29,0.816,30,0.001,31,0.601,32,0.132,33,0.489,35,1.067,36,2.442,39,2.582,47,0.923,95,0.151,99,1.349,101,0.009,103,0,104,0,122,2.217,135,1.391,142,2.425,148,0.658,153,1.083,180,5.633,183,3.553,228,2.075,277,0.958,290,3.058,317,2.719,433,1.143,478,1.876,579,1.912,589,1.237,591,1.589,595,2.54,610,2.641,652,2.622,657,2.776,693,3.046,703,3.28,1027,2.049,1422,2.681,1775,5.093,1780,4.037,1853,2.197,1862,6.85,1962,3.996,1968,6.825,2066,7.658,2068,7.419,2070,3.611,2071,5.499,2447,5.387,2670,7.143,2680,3.076,2685,4.912,2694,5.141,4588,4.502,4970,5.306,4972,5.441,4974,5.441,4975,9.218,4982,5.93,4983,5.279,4984,7.275,4985,5.441,4986,5.878,4988,5.635,5412,9.32,19037,6.203,20964,5.878,20966,5.878,22962,7.829,22963,11.554,22964,8.167,22965,6.697,22966,6.697,22967,9.305,22968,5.878,22969,6.697,22970,6.203,22971,6.697]],["title/injectables/TokenGenerator.html",[589,0.926,20811,5.658]],["body/injectables/TokenGenerator.html",[0,0.348,3,0.019,4,0.019,5,0.009,7,0.14,8,1.384,27,0.392,30,0.001,35,1.152,95,0.145,101,0.013,103,0.001,104,0.001,135,1.308,148,0.988,176,6.145,277,1.437,589,1.61,591,2.384,13649,10.63,16474,6.758,16475,6.661,18066,9.308,20647,10.248,20811,9.839,22972,12.111,22973,13.496,22974,10.049,22975,10.049]],["title/classes/TokenRequestLoggableException.html",[0,0.241,17129,6.113]],["body/classes/TokenRequestLoggableException.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,8,1.353,27,0.462,29,0.739,30,0.001,31,0.544,32,0.12,33,0.443,35,1.111,95,0.132,101,0.012,103,0.001,104,0.001,193,5.166,231,2.043,433,1.19,436,2.861,1080,3.357,1422,4.741,1423,4.516,1426,5.682,1462,5.222,1465,6.721,1468,4.516,1469,4.741,2082,11.214,2084,6.42,2096,11.214,9942,10.395,13552,8.971,13553,8.971,13554,8.971,17129,10.395,22976,11.843,22977,9.686]],["title/classes/TokenRequestMapper.html",[0,0.241,17025,6.113]],["body/classes/TokenRequestMapper.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.243,27,0.424,29,0.831,30,0.001,31,0.611,32,0.135,33,0.497,35,1.248,47,1.05,95,0.134,101,0.011,103,0.001,104,0.001,148,1.069,153,1.76,159,0.865,173,5.608,467,3.913,871,3.113,998,6.012,1491,10.314,1493,6.874,1495,6.084,1496,6.874,1497,7.426,1498,7.426,1502,7.837,1505,7.837,1506,7.119,1507,6.342,1605,5.777,6369,6.064,6926,6.67,13580,9.516,13711,7.815,17025,9.55,17027,10.314,17054,11.759,17060,7.837,22978,12.027,22979,12.027,22980,10.881,22981,8.461,22982,8.461,22983,10.881,22984,8.461,22985,8.461,22986,8.461,22987,8.461,22988,8.461]],["title/classes/TooManyPseudonymsLoggableException.html",[0,0.241,22989,6.451]],["body/classes/TooManyPseudonymsLoggableException.html",[0,0.246,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,8,1.107,27,0.519,29,0.542,30,0.001,31,0.399,32,0.171,33,0.504,35,1.111,47,0.94,55,1.439,95,0.132,101,0.009,103,0,104,0,112,0.76,148,0.698,155,3.78,190,2.222,228,2.478,231,1.671,233,2.201,277,1.015,339,2.082,347,5.665,393,3.516,400,2.082,402,2.554,433,0.872,436,3.779,868,5.7,871,2.612,998,5.221,1078,3.11,1080,4.105,1115,4.507,1237,2.806,1354,8.511,1355,6.338,1356,7.208,1360,4.706,1361,4.082,1362,4.706,1363,4.706,1364,4.706,1365,4.706,1366,4.706,1367,4.371,1368,4.012,1374,4.582,1375,5.45,1422,4.413,1423,5.14,1426,5.26,1462,3.828,1468,5.14,1469,5.396,1477,3.625,1478,3.773,10631,6.454,10637,7.414,10638,5.768,12509,5.597,12510,5.768,15779,10.085,18293,6.231,22989,8.972,22990,11.025,22991,11.025,22992,7.1,22993,7.1,22994,9.686]],["title/modules/ToolApiModule.html",[252,1.839,20578,5.86]],["body/modules/ToolApiModule.html",[0,0.191,3,0.01,4,0.01,5,0.005,30,0.001,95,0.158,101,0.007,103,0,104,0,183,3.67,252,2.537,254,1.988,255,2.11,256,2.164,257,2.156,258,2.148,259,3.49,260,2.054,265,5.467,269,3.176,270,2.125,271,2.082,273,3.48,274,3.377,276,3.176,277,0.79,279,2.291,614,4.018,693,2.513,703,3.248,1027,1.691,1756,3.177,1856,6.717,1932,8.834,1934,9.047,2051,2.339,2070,2.98,2680,2.538,2698,3.118,3319,3.15,3890,7.336,3900,2.917,3907,3.613,5069,8.645,5776,3.235,6072,8.834,6077,7.812,6823,8.834,6830,4.242,7062,3.44,7081,9.917,7090,8.834,7104,4.357,9051,8.32,10187,9.575,10248,9.917,10816,9.917,10940,9.575,11106,9.917,20030,9.917,20044,9.917,20102,9.917,20578,12.368,22995,5.527,22996,5.527,22997,5.527,22998,9.917,22999,9.917,23000,8.434,23001,8.434,23002,8.434,23003,8.434,23004,8.434,23005,8.434,23006,9.609,23007,4.49,23008,5.527,23009,9.609,23010,8.111,23011,5.119,23012,5.527,23013,5.527,23014,5.527]],["title/modules/ToolConfigModule.html",[252,1.839,6823,5.221]],["body/modules/ToolConfigModule.html",[0,0.361,3,0.019,4,0.019,5,0.009,30,0.001,95,0.138,101,0.013,103,0.001,104,0.001,252,3.271,254,3.756,259,3.792,260,3.88,277,1.493,685,6.056,1267,7.371,1756,6.003,2088,4.475,2698,3.388,6823,9.288,10199,9.693,13803,8.785,18258,9.671,23015,10.441]],["title/classes/ToolConfiguration.html",[0,0.241,13803,5.86]],["body/classes/ToolConfiguration.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,27,0.33,30,0.001,32,0.105,47,0.884,55,2.437,80,9.015,95,0.094,101,0.015,103,0.001,104,0.001,112,0.853,122,2.961,129,3.222,130,2.29,135,1.101,159,0.865,311,5.392,467,3.501,1756,6.255,1829,5.155,1941,7.863,2219,3.793,2220,4.266,2221,4.118,4259,4.953,6103,10.119,7739,7.573,8793,9.015,10197,8.822,10199,9.312,10461,10.556,10494,10.556,12501,8.49,13798,11.14,13799,11.14,13800,11.14,13801,11.14,13802,7.837,13803,9.155,13804,10.078,13805,10.078,13806,10.078,13807,10.078,13808,10.078,13809,10.078,17199,7.837]],["title/controllers/ToolConfigurationController.html",[314,2.65,23001,6.113]],["body/controllers/ToolConfigurationController.html",[0,0.155,3,0.008,4,0.008,5,0.004,7,0.062,8,0.791,27,0.401,29,0.786,30,0.001,31,0.578,32,0.163,33,0.47,35,1.18,36,2.597,95,0.131,100,1.562,101,0.006,103,0,104,0,134,3.645,135,1.599,148,1.012,157,2.382,183,4.776,190,1.845,202,1.028,228,0.804,274,1.864,277,0.64,314,1.704,316,2.156,317,2.841,325,6.56,326,4.832,329,5.798,349,6.664,374,4.725,388,4.411,390,6.37,392,2.332,395,2.397,398,2.415,400,1.313,401,5.768,614,3.936,657,2.354,703,3.48,711,3.805,1167,7.563,1883,1.681,2035,3.818,2036,2.205,2219,5.253,2543,7.994,2696,4.948,2698,3.802,2776,4.19,2915,5.738,3036,2.099,3240,2.301,4077,6.142,4866,6.886,6733,8.01,6735,7.734,6794,7.617,6811,7.308,7153,8.356,8128,3.438,10195,6.076,10204,7.12,10214,6.076,10246,3.768,10248,7.12,10253,7.838,10254,7.838,12140,10.079,14934,4.148,15773,8.01,18395,7.824,18396,7.12,18397,6.085,19865,4.148,19875,7.136,19887,3.931,19951,8.01,19953,7.734,19971,7.505,20162,7.505,23001,6.076,23007,8.84,23016,8.462,23017,8.462,23018,4.479,23019,6.923,23020,6.923,23021,4.148,23022,4.479,23023,4.479,23024,6.923,23025,4.479,23026,4.479,23027,8.818,23028,6.923,23029,6.923,23030,6.923,23031,4.479,23032,4.479,23033,6.923,23034,6.923,23035,4.479,23036,4.479,23037,4.479,23038,4.479,23039,8.01,23040,4.479,23041,3.931,23042,4.479,23043,4.479,23044,3.531,23045,4.148,23046,4.479,23047,4.479,23048,4.479,23049,4.479,23050,4.479,23051,4.479,23052,4.479,23053,3.931,23054,3.931,23055,4.479,23056,4.479,23057,4.148,23058,4.479,23059,4.479,23060,3.768,23061,4.479]],["title/classes/ToolConfigurationMapper.html",[0,0.241,23041,6.113]],["body/classes/ToolConfigurationMapper.html",[0,0.22,2,0.671,3,0.012,4,0.012,5,0.006,7,0.089,8,1.025,27,0.464,29,0.97,30,0.001,31,0.714,32,0.147,33,0.544,35,1.366,95,0.133,101,0.008,103,0,104,0,135,1.688,148,1.171,153,1.926,467,4.058,614,1.971,837,3.148,1883,2.387,2005,3.379,2035,6.229,2036,3.13,2696,5.621,2698,3.373,2776,6.621,3036,2.979,4029,4.341,4866,7.271,5752,4.64,6733,8.748,6735,9.676,6739,6.334,6740,5.158,6741,4.572,10203,7.289,10204,10.688,10229,5.165,10243,7.549,10246,5.349,10289,7.289,10471,6.451,10589,6.887,10940,5.165,10964,7.875,19951,8.748,19953,9.676,23039,8.748,23041,7.875,23062,11.449,23063,6.358,23064,10.397,23065,10.397,23066,10.397,23067,10.397,23068,8.972,23069,6.358,23070,6.358,23071,8.972,23072,6.358,23073,6.358,23074,10.397,23075,6.358,23076,6.358,23077,6.358,23078,6.358,23079,8.972,23080,6.358,23081,8.972,23082,8.31,23083,6.358,23084,6.358,23085,6.358,23086,6.358,23087,6.358,23088,6.358,23089,8.972,23090,6.358]],["title/controllers/ToolContextController.html",[314,2.65,23003,6.113]],["body/controllers/ToolContextController.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.06,8,0.772,10,1.743,27,0.395,29,0.774,30,0.001,31,0.57,32,0.161,33,0.463,34,2.037,35,1.423,36,2.574,95,0.136,100,1.513,101,0.006,103,0,104,0,135,1.614,148,0.92,153,0.702,157,2.486,183,3.574,190,1.818,193,2.946,202,0.996,228,1.213,274,1.806,277,0.62,290,1.967,314,1.651,316,2.088,317,2.824,325,6.521,326,4.795,328,5.062,329,7.062,335,2.917,337,4.158,338,5.105,339,1.98,340,4.253,349,6.682,356,4.542,360,3.883,374,4.064,379,6.044,385,6.39,388,4.347,390,6.287,391,4.158,392,2.259,393,2.148,395,2.322,398,2.339,400,1.272,401,5.684,402,1.561,403,2.215,614,3.693,652,0.882,657,2.319,675,2.215,871,4.267,1027,1.328,1368,2.452,1883,1.629,2006,7.258,2343,4.856,2447,1.813,2448,3.165,2588,5.222,2698,1.408,3036,2.033,3240,2.229,3241,2.917,3242,3.696,4077,6.691,4162,4.856,4401,2.8,5495,2.564,6682,6.23,6761,7.875,6764,2.765,6794,4.113,6811,9.348,6832,9.435,6888,3.12,6924,3.808,6931,7.278,6935,3.808,6945,9.678,6957,3.33,6966,3.65,7035,7.278,7039,7.278,7068,8.051,7081,6.978,7084,7.681,7086,7.681,7087,7.681,7088,7.681,7114,4.018,7118,4.018,8128,5.185,10419,3.42,18395,7.723,18397,7.723,19873,5.683,19874,5.928,19875,7.015,19876,6.737,21478,3.65,23003,5.928,23007,8.726,23044,3.42,23053,5.928,23054,5.928,23060,7.875,23082,4.018,23091,4.338,23092,4.338,23093,4.338,23094,3.808,23095,4.338,23096,3.808,23097,4.338,23098,4.338,23099,4.338,23100,4.338,23101,4.338,23102,4.338,23103,4.338,23104,4.338,23105,6.754,23106,4.338,23107,4.338,23108,4.338,23109,4.338,23110,4.338,23111,4.338,23112,4.338,23113,4.338,23114,4.338,23115,4.338,23116,6.754,23117,4.338,23118,4.338,23119,4.338,23120,4.338,23121,4.338,23122,4.338,23123,4.338,23124,4.018,23125,4.338,23126,4.338,23127,4.338,23128,4.338,23129,4.338,23130,4.338,23131,4.338,23132,4.338]],["title/classes/ToolContextMapper.html",[0,0.241,10534,5.658]],["body/classes/ToolContextMapper.html",[0,0.343,2,1.048,3,0.018,4,0.018,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,95,0.134,101,0.013,103,0.001,104,0.001,112,0.943,129,2.939,130,2.686,183,3.79,467,3.764,614,3.077,886,3.142,1078,5.266,2035,5.474,2040,8.486,2043,10.114,6783,7.439,6792,6.11,6921,10.114,6922,10.114,10534,9.766,23133,11.134,23134,9.925,23135,12.931,23136,9.925]],["title/classes/ToolContextTypesListResponse.html",[0,0.241,23039,5.86]],["body/classes/ToolContextTypesListResponse.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.452,29,0.715,30,0.001,31,0.526,32,0.144,33,0.428,95,0.129,101,0.012,103,0.001,104,0.001,112,0.91,134,4.464,183,4.814,190,1.679,195,2.55,202,2.151,296,3.036,339,3.971,433,1.151,861,6.501,864,6.671,881,5.128,886,2.967,2035,7.909,2036,4.612,2696,5.732,3200,5.591,3201,5.438,6317,6.731,6736,8.907,23039,9.763,23137,12.606]],["title/controllers/ToolController.html",[314,2.65,23005,6.113]],["body/controllers/ToolController.html",[0,0.119,3,0.006,4,0.006,5,0.003,7,0.048,8,0.641,10,1.382,27,0.399,29,0.781,30,0.001,31,0.574,32,0.161,33,0.467,34,1.824,35,1.332,36,2.68,95,0.14,100,1.199,101,0.004,103,0,104,0,131,4.188,135,1.65,148,0.953,153,0.556,157,2.791,190,1.833,193,3.578,202,0.79,228,1.473,274,1.432,277,0.492,290,2.755,298,1.493,314,1.309,316,1.655,317,2.834,325,6.391,326,4.657,328,4.206,329,3.418,335,2.313,337,5.049,338,5.563,339,2.405,340,5.165,347,2.884,349,6.548,356,3.774,360,4.716,365,4.306,371,2.982,374,2.437,379,3.607,385,6.982,388,3.873,390,6.243,391,4.376,392,1.791,393,1.703,395,1.841,398,1.854,401,5.731,402,2.019,403,2.865,433,0.423,533,4.359,540,1.862,595,1.304,610,1.356,614,3.306,652,1.668,657,2.217,675,1.756,869,2.747,871,3.567,883,5.79,1027,1.052,1368,1.943,1853,1.128,1883,1.291,2343,4.035,2447,1.437,2448,2.63,2479,4.201,2588,5.165,2696,4.85,2698,3.845,2776,6.338,3036,1.612,3240,1.767,3241,2.313,3242,3.071,4077,5.785,4162,2.473,4362,3.455,4866,5.977,5877,2.473,6700,2.473,6794,5.504,7638,4.944,7640,5.99,7642,2.073,7924,3.455,8355,5.99,10203,4.559,10258,5.328,10309,6.902,10405,11.012,10406,5.981,10412,3.186,10419,6.466,10450,3.186,10501,5.604,10512,2.894,10518,5.775,10709,4.308,10816,4.722,10829,4.925,10831,6.902,10855,6.902,10857,5.775,10860,6.902,10862,4.925,10919,8.664,10940,2.794,10987,6.902,10997,6.239,10998,6.239,11002,6.239,11106,5.981,11108,6.584,11109,6.584,11110,6.239,12836,3.018,12837,3.018,14054,3.018,14059,4.722,18395,6.498,18396,4.722,18397,7.353,19873,4.722,19875,6.148,19876,4.559,21478,2.894,23005,4.925,23044,2.711,23094,3.018,23096,4.925,23138,3.439,23139,3.439,23140,5.612,23141,3.439,23142,9.695,23143,3.439,23144,3.439,23145,3.439,23146,3.439,23147,3.186,23148,7.442,23149,3.439,23150,3.439,23151,3.439,23152,3.439,23153,3.186,23154,3.439,23155,3.439,23156,3.439,23157,3.439,23158,3.439,23159,3.439,23160,3.439,23161,5.198,23162,3.439,23163,3.439,23164,3.186,23165,3.439,23166,3.439,23167,3.439,23168,3.439,23169,3.439,23170,3.439,23171,3.439,23172,3.439,23173,3.439,23174,3.439,23175,3.439,23176,3.439,23177,5.612,23178,5.198,23179,3.439,23180,3.439,23181,3.439,23182,3.439,23183,3.439,23184,3.439,23185,3.439,23186,3.439,23187,9.695,23188,3.439,23189,3.439,23190,3.439,23191,3.439,23192,3.439,23193,3.439,23194,3.439,23195,3.439,23196,3.439,23197,3.439,23198,3.439,23199,3.439,23200,3.018,23201,3.439,23202,3.439,23203,3.439,23204,3.439,23205,3.439]],["title/controllers/ToolLaunchController.html",[314,2.65,23000,6.113]],["body/controllers/ToolLaunchController.html",[0,0.265,3,0.014,4,0.014,5,0.007,7,0.107,8,1.166,27,0.299,29,0.585,30,0.001,31,0.431,32,0.142,33,0.35,34,1.311,35,0.88,36,2.156,95,0.149,100,2.675,101,0.01,103,0,104,0,134,2.716,135,1.328,148,0.754,157,2.829,183,3.896,190,1.375,193,5.331,202,1.761,228,1.377,274,3.193,277,1.097,314,2.919,316,3.691,317,2.48,325,6.052,326,4.363,349,6.201,388,4.373,390,5.973,392,3.993,395,4.105,398,4.135,400,2.249,401,4.298,614,3.163,657,1.754,675,3.916,871,3.754,1756,5.866,2698,4.246,2755,9.635,2788,8.41,2800,8.345,3036,3.594,3240,3.941,4077,4.576,6729,8.289,6794,6.983,12518,6.231,18395,7.337,18397,7.337,19875,7.648,22998,9.647,23000,8.955,23011,9.451,23044,6.046,23045,7.104,23060,6.453,23206,7.669,23207,10.62,23208,7.669,23209,7.669,23210,7.669,23211,7.669,23212,7.669,23213,7.669,23214,8.955,23215,7.669,23216,9.451,23217,6.453,23218,9.647,23219,7.669,23220,7.669,23221,7.669,23222,7.669]],["title/classes/ToolLaunchData.html",[0,0.241,2778,5.346]],["body/classes/ToolLaunchData.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,27,0.517,29,0.668,30,0.001,31,0.492,32,0.174,33,0.4,47,0.817,95,0.124,101,0.011,103,0.001,104,0.001,112,1.041,122,2.306,223,2.729,232,3.01,339,3.261,433,1.076,435,3.008,1756,7.798,2109,3.836,2333,6.85,2698,2.841,2707,6.296,2716,6.181,2758,9.929,2778,10.189,2800,9.409,4726,5.333,8173,7.367,8208,6.181,8209,6.563,18240,8.111,23223,12.564,23224,11.122,23225,8.756,23226,8.756,23227,11.321,23228,8.756,23229,8.756,23230,8.756]],["title/classes/ToolLaunchMapper.html",[0,0.241,23217,5.86]],["body/classes/ToolLaunchMapper.html",[0,0.247,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,8,1.112,27,0.463,29,0.907,30,0.001,31,0.667,32,0.147,33,0.543,35,1.362,95,0.123,101,0.009,103,0,104,0,110,3.384,134,2.532,135,1.737,148,1.168,153,1.156,467,4.053,641,5.547,837,3.541,871,3.581,1078,4.848,1723,5.547,1756,7.144,2036,3.52,2703,7.245,2706,6.646,2770,8.386,2788,9.404,2798,9.712,2806,6.623,5223,4.557,8173,5.867,8328,6.646,8332,6.754,8345,5.637,10396,6.016,10870,6.276,23217,8.19,23218,9.995,23227,11.875,23231,12.427,23232,7.15,23233,9.733,23234,9.733,23235,9.733,23236,9.733,23237,9.733,23238,7.15,23239,9.733,23240,7.15,23241,7.15,23242,9.733,23243,7.15,23244,7.15,23245,9.733,23246,7.15,23247,7.15,23248,7.15,23249,7.15,23250,7.15,23251,9.733,23252,9.733,23253,9.733,23254,7.15,23255,9.733,23256,7.15,23257,11.879,23258,7.15,23259,7.15]],["title/modules/ToolLaunchModule.html",[252,1.839,23260,6.113]],["body/modules/ToolLaunchModule.html",[0,0.223,3,0.012,4,0.012,5,0.006,30,0.001,95,0.154,101,0.008,103,0,104,0,183,2.459,252,2.764,254,2.316,255,2.459,256,2.521,257,2.512,258,2.503,259,3.802,260,3.891,269,3.544,270,2.476,271,2.425,276,3.544,277,0.921,417,3.609,610,2.54,614,3.246,703,2.777,1756,3.702,1932,9.303,1933,4.546,1936,6.088,1999,10.893,2013,10.893,2029,4.827,2059,10.893,2063,10.893,2070,3.472,2552,4.468,2698,3.397,2735,10.443,3428,5.232,3888,10.083,3890,7.726,3900,3.399,5004,5.842,5068,6.786,5073,4.943,5776,3.77,6072,9.303,6077,8.227,6304,4.827,6821,9.784,6822,10.083,9051,8.761,16017,10.893,16979,10.443,22078,5.232,23260,12.921,23261,6.439,23262,6.439,23263,6.439,23264,6.439,23265,11.51,23266,11.496,23267,6.439,23268,6.439,23269,6.439,23270,6.439,23271,6.439]],["title/classes/ToolLaunchParams.html",[0,0.241,2755,5.49]],["body/classes/ToolLaunchParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.121,34,2.04,47,0.877,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,157,2.269,183,4.556,190,1.757,194,4.688,195,2.622,196,3.959,197,3.335,200,3,202,2.251,296,3.122,614,3.699,855,4.831,1756,6.859,2698,3.871,2755,9.405,3598,7.208,4197,5.971,23272,11.051,23273,9.804,23274,9.804]],["title/classes/ToolLaunchRequest.html",[0,0.241,2788,5.109]],["body/classes/ToolLaunchRequest.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,27,0.519,29,0.676,30,0.001,31,0.497,32,0.165,33,0.561,47,0.949,95,0.099,101,0.011,103,0.001,104,0.001,110,4.271,112,0.878,122,2.322,193,3.861,232,3.031,433,1.088,435,3.041,641,7.358,1723,7.001,1756,7.82,2762,10.336,2788,9.768,2800,9.432,7243,4.809,8173,7.404,8176,5.574,8208,6.249,8209,6.636,17994,7.192,18954,7.449,23223,12.599,23275,8.853,23276,11.199,23277,8.853,23278,8.853,23279,8.853,23280,8.2,23281,8.2]],["title/classes/ToolLaunchRequestResponse.html",[0,0.241,23218,5.86]],["body/classes/ToolLaunchRequestResponse.html",[0,0.25,2,0.762,3,0.013,4,0.013,5,0.006,7,0.1,27,0.486,29,0.551,30,0.001,31,0.405,32,0.154,33,0.601,47,0.876,95,0.109,101,0.009,103,0,104,0,110,4.334,112,0.768,122,2.03,125,1.719,130,2.65,134,2.555,153,1.584,157,2.76,190,2.137,193,5.607,194,4.685,195,2.152,197,3.332,202,1.657,232,2.65,296,3.262,433,0.886,435,2.478,641,7.104,868,5.738,886,3.101,1723,7.104,1756,7.39,2125,5.133,2641,8.147,2698,4.171,2762,10.488,2800,9.638,2814,6.332,3242,5.36,5341,7.956,7243,3.919,8100,7.72,8173,6.701,8176,4.543,8208,5.093,8209,5.408,9523,6.683,17994,5.861,18954,6.07,23214,8.595,23218,10.488,23272,11.907,23280,6.683,23281,6.683,23282,9.793,23283,7.215,23284,9.07,23285,7.215,23286,9.793,23287,7.215]],["title/injectables/ToolLaunchService.html",[589,0.926,23265,5.86]],["body/injectables/ToolLaunchService.html",[0,0.175,3,0.009,4,0.009,5,0.005,7,0.07,8,0.867,26,2.466,27,0.445,29,0.829,30,0.001,31,0.61,32,0.151,33,0.496,35,1.162,36,2.411,39,2.812,47,0.67,95,0.148,99,1.018,101,0.006,103,0,104,0,112,0.595,125,1.808,134,1.79,135,1.65,148,0.896,153,1.639,183,2.898,228,2.048,277,0.723,317,2.693,339,1.482,402,1.818,433,0.932,579,2.602,589,1.009,591,1.199,610,1.993,614,3.536,652,2.732,657,2.609,675,2.58,703,2.329,1080,1.752,1312,2.381,1756,6.802,2005,7.079,2006,7.093,2008,4.54,2036,2.488,2088,2.166,2698,2.463,2703,5.151,2735,10.241,2776,6.596,2778,8.756,2788,7.432,2796,4.879,2800,5.182,5004,7.008,5167,8,5752,2.614,6092,9.327,6095,5.567,6699,3.182,6741,6.554,6981,3.984,6982,3.507,7044,7.283,7045,7.561,7062,4.724,7078,3.634,8738,7.03,10302,4.435,16979,10.241,20097,6.386,20109,4.681,23217,4.252,23265,6.386,23266,11.274,23288,11.832,23289,5.054,23290,7.59,23291,7.59,23292,9.115,23293,9.115,23294,7.59,23295,7.59,23296,5.054,23297,7.59,23298,5.054,23299,5.054,23300,5.054,23301,5.054,23302,5.054,23303,4.435,23304,6.662,23305,8,23306,5.054,23307,5.054,23308,5.054,23309,5.054,23310,5.054,23311,5.054,23312,7.03,23313,5.054,23314,5.054,23315,5.054,23316,5.054,23317,7.59,23318,5.054,23319,4.681,23320,7.03]],["title/interfaces/ToolLaunchStrategy.html",[159,0.712,23305,6.113]],["body/interfaces/ToolLaunchStrategy.html",[3,0.017,4,0.017,5,0.008,7,0.128,8,1.311,26,2.652,27,0.447,29,0.876,30,0.001,31,0.644,32,0.142,33,0.524,35,1.316,36,2.424,39,2.553,95,0.139,99,1.853,101,0.012,103,0.001,104,0.001,134,3.257,159,0.941,161,2.191,326,4.757,1756,7.187,2698,2.984,2736,10.972,2750,10.068,2751,10.068,2755,10.318,2778,10.047,2783,8.073,2784,10.068,2788,9.17,2800,8.937,2801,8.073,23305,10.068,23321,12.501,23322,9.198,23323,9.198,23324,11.471,23325,9.198]],["title/injectables/ToolLaunchUc.html",[589,0.926,22998,5.86]],["body/injectables/ToolLaunchUc.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,8,1.173,26,2.713,27,0.4,29,0.784,30,0.001,31,0.577,32,0.127,33,0.469,35,0.888,36,2.17,39,2.149,95,0.153,99,1.56,101,0.01,103,0,104,0,134,2.742,135,1.596,148,0.761,183,4.685,228,2.069,277,1.107,317,2.492,433,1.262,589,1.365,591,1.837,595,2.937,610,3.054,614,3.183,652,2.343,657,2.635,693,4.67,1756,6.623,1775,5.62,1780,4.667,2006,6.692,2008,3.857,2680,3.556,2778,8.844,2788,7.532,3319,4.413,3598,6.876,6824,8.752,7062,4.82,7090,10.034,7104,6.104,7111,6.796,7116,6.291,22998,8.64,23207,9.511,23265,11.04,23312,9.511,23326,11.521,23327,7.743,23328,7.743,23329,7.743,23330,10.269,23331,7.743,23332,7.172,23333,7.743,23334,7.743]],["title/modules/ToolModule.html",[252,1.839,1934,5.346]],["body/modules/ToolModule.html",[0,0.259,3,0.014,4,0.014,5,0.007,30,0.001,95,0.15,101,0.01,103,0,104,0,183,2.863,252,2.993,254,2.697,255,2.863,256,2.935,257,2.925,258,2.914,259,4.117,260,4.213,269,3.935,270,2.883,271,2.824,276,3.935,277,1.072,543,3.649,610,2.957,614,3.514,703,2.3,1829,3.213,1842,3.426,1846,5.91,1934,11.149,1936,6.758,1939,3.985,2513,4.273,2636,3.67,2698,4.098,2800,5.119,3888,11.399,5776,4.389,6072,7.533,6078,10.77,6821,11.06,6822,11.399,6823,9.745,6830,5.755,7067,5.755,23260,12.314,23335,7.498,23336,7.498,23337,7.498,23338,7.498,23339,7.498]],["title/injectables/ToolPermissionHelper.html",[589,0.926,7090,5.221]],["body/injectables/ToolPermissionHelper.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.966,26,2.512,27,0.387,29,0.758,30,0.001,31,0.558,32,0.123,33,0.454,35,0.969,36,2.298,39,3.018,95,0.15,99,1.178,101,0.007,103,0,104,0,135,1.501,153,0.946,159,0.598,183,5.132,193,2.551,228,2.071,252,1.544,277,0.836,290,2.355,317,2.601,340,3.683,412,2.597,433,1.038,478,1.638,507,2.597,579,1.67,589,1.124,591,1.387,610,3.334,614,2.62,652,2.346,657,2.638,688,2.727,693,4.945,703,3.336,711,3.482,886,1.852,980,3.226,1218,3.824,1714,4.384,1775,6.784,1829,2.507,1853,1.919,1862,6.588,1919,6.888,1933,4.129,1936,3.933,1953,4.129,1957,4.61,1961,5.133,1962,5.044,2005,6.588,2006,6.652,2008,4.211,2018,8.216,2019,7.976,2029,4.384,2033,4.124,2035,3.226,2039,7.112,2040,4.129,2043,4.921,2051,3.577,2066,7.207,2068,6.888,2070,3.153,2071,4.995,2072,5.417,2570,3.774,2667,4.205,2668,7.545,2680,2.686,2682,6.2,2685,4.29,2915,3.525,2961,4.129,3036,5.096,3453,4.384,4157,4.29,5495,3.456,6303,4.058,7090,6.336,7108,5.417,10251,9.194,10252,8.712,10260,5.417,10262,5.133,20937,5.133,21878,4.751,22078,4.751,23340,10.874,23341,9.926,23342,9.926,23343,5.849,23344,5.849,23345,5.849,23346,6.663,23347,9.194,23348,9.194,23349,5.849,23350,5.849,23351,9.926,23352,8.453,23353,7.829,23354,5.849,23355,5.849,23356,5.849]],["title/classes/ToolReference.html",[0,0.241,6973,5.346]],["body/classes/ToolReference.html",[0,0.298,2,0.909,3,0.016,4,0.016,5,0.008,7,0.12,27,0.526,29,0.657,30,0.001,31,0.483,32,0.167,33,0.554,47,0.992,95,0.096,101,0.011,103,0.001,104,0.001,112,0.863,122,2.28,402,4.361,433,1.057,614,4.255,2127,5.038,3772,7.553,6095,8.893,6682,7.962,6686,6.19,6699,5.419,6706,5.554,6740,6.97,6756,5.704,6973,10.366,6991,9.85,6992,7.972,6993,7.972,6994,7.553,6995,10.201,6996,7.972,23357,13.727,23358,11,23359,11,23360,8.606,23361,8.606,23362,8.606,23363,8.606,23364,7.972,23365,7.972,23366,8.606]],["title/controllers/ToolReferenceController.html",[314,2.65,23004,6.113]],["body/controllers/ToolReferenceController.html",[0,0.217,3,0.012,4,0.012,5,0.006,7,0.087,8,1.016,27,0.347,29,0.679,30,0.001,31,0.5,32,0.152,33,0.406,35,1.02,36,2.374,95,0.141,100,2.189,101,0.008,103,0,104,0,135,1.542,148,0.874,153,1.015,157,2.849,183,3.943,190,1.594,202,1.442,228,1.127,274,2.614,277,0.898,290,3.068,314,2.389,316,3.022,317,2.663,325,6.268,326,4.685,329,6.84,349,6.422,371,5.969,385,7.668,388,4.426,390,6.045,392,3.269,395,3.361,398,3.385,400,1.841,401,4.984,614,3.924,657,2.034,675,3.205,1842,5.132,1883,2.357,2698,3.846,2776,5.561,2911,7.578,3036,2.942,3240,3.226,4077,5.306,4362,6.914,5877,6.394,6682,5.99,6761,9.45,6811,8.621,6966,5.283,6973,8.621,6975,10.001,6978,5.815,6988,5.815,10419,8.853,18395,7.425,18397,7.425,19875,7.74,22999,8.688,23004,7.805,23007,8.389,23021,5.815,23027,8.237,23044,4.949,23053,5.51,23054,5.51,23060,5.283,23147,8.237,23148,8.621,23367,6.278,23368,6.278,23369,9.063,23370,9.564,23371,6.278,23372,6.278,23373,6.278,23374,6.278,23375,6.278,23376,6.278,23377,6.278,23378,6.278,23379,6.278,23380,10.404,23381,6.278,23382,6.278,23383,6.278,23384,6.278,23385,6.278,23386,6.278,23387,6.278,23388,6.278]],["title/classes/ToolReferenceListResponse.html",[0,0.241,23380,6.113]],["body/classes/ToolReferenceListResponse.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.457,29,0.727,30,0.001,31,0.535,32,0.157,33,0.435,95,0.131,101,0.012,103,0.001,104,0.001,112,0.92,125,2.269,190,1.707,202,2.187,296,3.067,339,3.989,433,1.17,614,3.937,861,6.609,864,6.739,866,4.745,881,5.213,1842,5.803,2698,3.09,6682,7.366,6736,8.998,6975,11.402,23380,10.288,23389,11.762,23390,9.525]],["title/classes/ToolReferenceMapper.html",[0,0.241,23391,6.113]],["body/classes/ToolReferenceMapper.html",[0,0.313,2,0.953,3,0.017,4,0.017,5,0.008,7,0.126,8,1.296,27,0.352,29,0.69,30,0.001,31,0.507,32,0.112,33,0.413,35,1.036,95,0.138,101,0.012,103,0.001,104,0.001,135,1.175,148,0.888,153,1.461,402,4.678,467,3.609,614,3.843,1883,3.39,2006,7.273,2008,4.499,2776,6.77,6095,9.539,6682,6.579,6686,4.611,6699,5.687,6740,5.192,6973,10.495,6981,7.12,6983,7.927,6991,7.338,6995,7.6,10289,7.338,10589,6.933,10963,8.366,23062,10.505,23391,9.954,23392,9.032,23393,12.398,23394,9.032,23395,9.032]],["title/classes/ToolReferenceResponse.html",[0,0.241,6975,5.658]],["body/classes/ToolReferenceResponse.html",[0,0.239,2,0.73,3,0.013,4,0.013,5,0.006,7,0.096,27,0.495,29,0.528,30,0.001,31,0.611,32,0.161,33,0.497,34,1.627,47,0.933,95,0.106,101,0.009,103,0,104,0,110,3.308,112,0.746,122,1.972,153,1.539,157,3.148,183,3.633,190,2.202,194,5.344,195,2.911,196,4.211,197,3.871,201,3.698,202,1.588,296,3.214,402,4.418,433,0.85,614,4.031,624,7.132,866,3.445,2127,4.049,2698,4.298,5341,7.73,6682,7.542,6686,5.553,6706,4.463,6726,10.334,6740,6.252,6756,4.584,6765,9.546,6975,10.312,6991,8.836,6995,9.151,8100,7.5,8355,6.306,10519,5.619,11358,6.841,23364,6.406,23365,6.406,23389,12.044,23396,6.916,23397,9.514,23398,9.514,23399,6.916,23400,6.916,23401,6.916,23402,9.514,23403,6.916,23404,8.813,23405,6.916,23406,6.916,23407,6.916,23408,6.916,23409,6.916,23410,6.916]],["title/injectables/ToolReferenceService.html",[589,0.926,6826,5.86]],["body/injectables/ToolReferenceService.html",[0,0.246,3,0.013,4,0.013,5,0.006,7,0.099,8,1.108,26,2.402,27,0.378,29,0.74,30,0.001,31,0.545,32,0.12,33,0.443,35,0.816,36,2.05,95,0.154,99,1.433,101,0.009,103,0,104,0,135,1.614,148,0.699,183,2.716,228,2.227,277,1.017,317,2.387,402,3.489,433,1.191,589,1.289,591,1.687,610,2.805,614,4.133,652,2.523,657,2.71,675,3.631,703,2.975,1883,2.67,1944,6.588,2005,6.299,2006,6.501,2008,4.831,2698,2.308,2776,6.339,3598,5.435,5752,3.678,6092,10.327,6095,7.114,6682,6.401,6699,4.479,6824,8.565,6826,8.16,6973,9.098,6982,4.935,6994,6.242,7044,7.88,7045,8.683,7062,6.037,7077,5.114,7078,5.114,7116,5.778,7133,5.778,10257,5.607,10258,9.819,10290,6.588,10291,6.588,10292,6.588,23303,9.685,23319,6.588,23369,8.512,23391,6.242,23411,7.112,23412,9.698,23413,7.112,23414,7.112]],["title/injectables/ToolReferenceUc.html",[589,0.926,22999,5.86]],["body/injectables/ToolReferenceUc.html",[0,0.194,3,0.01,4,0.01,5,0.005,7,0.078,8,0.936,26,2.831,27,0.442,29,0.866,30,0.001,31,0.637,32,0.147,33,0.518,34,0.958,35,1.222,36,2.817,39,3.395,47,0.602,95,0.14,99,1.129,101,0.007,103,0,104,0,135,1.692,142,3.858,148,1.115,153,0.906,158,2.069,183,3.129,228,1.74,277,0.801,317,2.911,433,1.007,589,1.089,591,1.329,595,2.125,610,2.21,614,3.672,629,2.957,652,2.602,657,2.798,693,3.726,1328,2.978,1775,4.485,1780,3.378,1883,2.103,2006,7.408,2035,5.878,2036,2.759,2465,3.312,2680,2.573,3319,3.194,3598,5.973,5495,6.298,6682,6.87,6685,7.064,6764,6.792,6824,7.744,6826,10.293,6973,10.418,6981,6.459,7068,4.2,7090,9.17,7104,4.417,7116,4.553,7121,4.302,7128,5.19,22999,6.894,23124,5.19,23332,5.19,23369,7.192,23370,8.972,23415,11.844,23416,5.604,23417,8.194,23418,9.687,23419,5.604,23420,8.194,23421,5.604,23422,8.194,23423,5.604,23424,5.604,23425,5.604,23426,5.604,23427,5.604,23428,5.604,23429,5.604,23430,5.604,23431,5.604,23432,8.194,23433,5.604,23434,8.194,23435,8.194,23436,5.604]],["title/controllers/ToolSchoolController.html",[314,2.65,23002,6.113]],["body/controllers/ToolSchoolController.html",[0,0.137,3,0.007,4,0.007,5,0.004,7,0.055,8,0.719,10,1.592,27,0.403,29,0.789,30,0.001,31,0.581,32,0.162,33,0.472,34,1.922,35,1.36,36,2.603,95,0.135,100,1.382,101,0.005,103,0,104,0,131,4.545,135,1.603,148,0.954,157,2.68,190,1.853,193,3.883,202,0.91,228,1.599,274,1.649,277,0.567,290,2.303,314,1.508,316,1.907,317,2.846,325,6.562,326,4.687,328,4.714,329,5.422,335,2.664,337,3.871,338,5.977,339,2.61,340,5.606,347,4.018,349,6.724,356,4.229,360,5.118,365,2.793,374,2.731,379,5.873,385,7.056,388,4.162,390,6.342,391,3.871,392,2.063,393,1.962,395,2.121,398,2.136,401,5.792,402,1.425,403,3.211,433,0.487,533,3.342,614,3.97,652,1.811,657,2.363,675,2.023,703,3.171,871,3.276,1027,1.212,1368,2.239,1883,1.487,2005,6.875,2343,4.522,2447,1.656,2448,2.947,2588,4.924,2698,3.15,3036,1.857,3240,2.036,3241,2.664,3242,3.442,4077,6.167,4162,2.849,4401,2.557,4588,1.357,4866,5.792,6794,3.83,6848,3.219,6888,2.849,6957,3.041,8292,6.342,10208,6.285,10419,4.957,10987,5.291,11110,6.863,18395,7.431,18396,5.291,18397,7.79,19729,3.67,19873,5.291,19875,5.861,19876,5.109,19971,9.854,19973,6.164,19976,3.477,19980,6.579,19996,9.115,20030,5.291,20034,9.508,20035,3.477,20039,8.396,20044,5.291,20052,5.291,20066,7.814,20102,6.579,20104,7.243,20105,7.243,20107,7.243,20108,7.243,21478,3.333,23002,5.519,23007,8.801,23044,3.123,23057,8.994,23094,3.477,23096,5.519,23148,4.827,23153,3.67,23161,3.67,23164,3.67,23178,3.67,23216,5.825,23437,3.962,23438,3.962,23439,7.819,23440,3.962,23441,3.962,23442,3.962,23443,3.962,23444,3.962,23445,3.962,23446,3.962,23447,3.962,23448,3.962,23449,3.962,23450,3.962,23451,3.962,23452,3.962,23453,3.962,23454,7.819,23455,3.962,23456,3.962,23457,3.962,23458,3.962,23459,3.962,23460,3.962,23461,3.962,23462,3.962,23463,3.962,23464,3.962,23465,3.962,23466,3.962,23467,3.962,23468,3.962,23469,3.962,23470,6.289,23471,3.962,23472,3.962,23473,6.289,23474,3.962,23475,3.962,23476,3.962,23477,3.962,23478,3.962,23479,3.962,23480,3.962,23481,3.962]],["title/classes/ToolStatusOutdatedLoggableException.html",[0,0.241,23304,6.113]],["body/classes/ToolStatusOutdatedLoggableException.html",[0,0.284,2,0.866,3,0.015,4,0.015,5,0.007,7,0.114,8,1.218,26,2.751,27,0.416,29,0.626,30,0.001,31,0.461,32,0.132,33,0.375,35,0.941,39,3.289,95,0.132,99,1.653,101,0.011,103,0.001,104,0.001,122,2.764,148,0.806,228,2.253,231,1.84,233,2.543,242,4.329,277,1.173,290,1.946,339,2.405,402,4.513,433,1.31,652,2.552,1027,2.51,1115,3.121,1237,3.089,1422,4.743,1423,5.524,1426,5.572,1462,4.422,1468,5.524,1469,5.8,1477,4.188,1478,4.359,1756,6.812,2698,2.661,2953,6.873,6106,9.891,6107,8.857,6722,6.663,6724,7.199,6729,6.663,10416,5.436,10447,6.92,10640,6.016,12506,6.016,18295,7.597,23214,7.199,23304,9.359,23482,11.85,23483,11.85,23484,8.202]],["title/classes/ToolStatusResponseMapper.html",[0,0.241,6979,6.113]],["body/classes/ToolStatusResponseMapper.html",[0,0.336,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,8,1.355,27,0.378,29,0.741,30,0.001,31,0.545,32,0.12,33,0.444,35,1.113,95,0.132,101,0.012,103,0.001,104,0.001,135,1.263,148,0.954,153,1.57,402,4.607,467,3.728,829,5.738,830,6.594,837,4.808,1883,3.645,4111,9.98,6095,9.784,6105,9.98,6106,7.654,6107,6.854,6726,11.51,6979,10.41,16002,7.888,20097,8.169,23133,10.986,23320,8.993]],["title/interfaces/ToolVersion.html",[159,0.712,6099,4.156]],["body/interfaces/ToolVersion.html",[3,0.02,4,0.02,5,0.01,7,0.149,8,1.438,27,0.418,30,0.001,35,1.229,55,2.55,101,0.014,103,0.001,104,0.001,159,1.096,161,2.554,6099,7.51,6688,10.582,23485,12.586,23486,10.72,23487,10.72]],["title/injectables/ToolVersionService.html",[589,0.926,6092,5.49]],["body/injectables/ToolVersionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.091,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,35,0.797,36,2.018,80,5.211,95,0.152,101,0.009,103,0,104,0,135,1.242,148,0.939,153,1.124,183,2.655,195,2.098,197,2.669,228,2.108,277,0.994,317,2.359,402,3.435,433,1.173,589,1.269,591,1.649,614,4.036,629,5.039,652,2.388,657,2.184,688,3.241,703,2.929,1328,5.075,1329,5.815,1829,2.98,1847,5.85,1883,2.61,1939,3.695,1941,4.545,2005,7.048,2006,6.951,2008,4.756,2088,2.98,2698,3.098,2776,6.448,4981,5.1,5752,5.64,6078,9.995,6089,10.101,6092,7.527,6093,6.44,6095,8.611,6103,5.85,6105,8.034,6106,5.48,6107,4.908,6110,6.44,6111,6.44,6682,6.326,6699,4.378,6825,10.328,6829,5.648,7062,4.328,7067,5.337,7113,6.44,7739,4.378,10197,8.611,10199,8.611,10218,5.48,12501,4.908,19994,10.264,20095,6.102,20126,6.44,23303,9.571,23488,6.952,23489,6.952,23490,6.952,23491,6.102,23492,6.952]],["title/interfaces/TriggerDeletionExecutionOptions.html",[159,0.712,9155,5.86]],["body/interfaces/TriggerDeletionExecutionOptions.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,55,2.704,56,6.488,101,0.014,103,0.001,104,0.001,112,0.986,159,1.093,161,2.547,2816,6.093,2830,6.202,2922,7.688,9155,10.573,18544,9.903,23493,10.691]],["title/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.241,23494,6.451]],["body/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.344,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,8,1.376,27,0.388,29,0.76,30,0.001,31,0.559,32,0.123,33,0.455,35,1.141,55,2.623,56,5.671,95,0.111,101,0.013,103,0.001,104,0.001,148,0.978,159,1.018,467,3.768,507,5.347,2816,6.861,2830,6.983,2922,8.656,9155,10.891,18540,8.733,18542,9.216,23494,11.151,23495,12.039,23496,12.039]],["title/classes/UnauthorizedLoggableException.html",[0,0.241,1721,5.86]],["body/classes/UnauthorizedLoggableException.html",[0,0.31,2,0.947,3,0.017,4,0.017,5,0.008,7,0.125,8,1.29,27,0.44,29,0.685,30,0.001,31,0.504,32,0.14,33,0.41,35,1.029,47,1.003,48,6.079,51,5.949,59,2.788,95,0.138,101,0.011,103,0.001,104,0.001,135,1.167,148,0.882,228,2.028,231,1.949,233,2.781,234,6.887,244,6.333,277,1.283,339,2.631,400,2.631,433,1.102,652,1.825,1115,4.298,1237,3.271,1422,4.948,1426,5.761,1462,4.837,1468,6.048,1477,4.58,1478,4.768,1721,9.502,1984,8.312,10416,5.947,12509,7.072,12510,7.289,14359,6.887,23497,12.36,23498,8.972,23499,8.31]],["title/classes/UnknownQueryTypeLoggableException.html",[0,0.241,23500,6.451]],["body/classes/UnknownQueryTypeLoggableException.html",[0,0.387,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.436,29,0.674,30,0.001,31,0.496,32,0.168,33,0.404,35,1.013,47,0.902,95,0.125,101,0.011,103,0.001,104,0.001,148,0.868,158,3.261,228,1.586,231,1.93,233,2.738,277,1.263,339,2.59,365,5.729,400,2.59,433,1.085,1027,2.703,1115,3.362,1237,3.239,1312,5.781,1422,5.442,1423,5.721,1426,5.729,1462,4.763,1465,6.129,1468,5.721,1469,6.007,1477,4.51,1478,4.695,3364,6.352,7858,5.775,10119,6.479,20448,7.432,23500,10.359,23501,12.272,23502,8.833,23503,12.272,23504,8.833,23505,8.833]],["title/classes/UpdateElementContentBodyParams.html",[0,0.241,9652,4.554]],["body/classes/UpdateElementContentBodyParams.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.209,30,0.001,31,0.678,32,0.172,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.89,130,3.265,155,1.712,157,2.416,190,0.962,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.012,296,3.703,299,4.953,300,4.468,339,2.769,360,3.084,854,4.997,855,3.213,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.468,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.211,9643,6.823,9644,6.823,9645,6.823,9646,3.607,9647,6.823,9648,3.302,9649,3.556,9650,6.823,9651,7.282,9652,5.188,9653,5.188,9654,3.507,9655,5.188,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,10314,4.708,23506,5.364,23507,5.364]],["title/classes/UpdateFlagParams.html",[0,0.241,14036,6.113]],["body/classes/UpdateFlagParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,95,0.15,101,0.013,103,0.001,104,0.001,112,0.947,122,2.503,157,2.315,190,1.792,199,6.66,200,3.06,202,2.296,290,2.372,296,3.159,356,8.12,868,4.813,4970,5.545,12472,9.157,12501,8.524,14036,10.598,23508,11.184,23509,9.999,23510,9.999,23511,9.999]],["title/classes/UpdateMatchParams.html",[0,0.241,14028,6.113]],["body/classes/UpdateMatchParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,39,3.585,47,0.882,95,0.15,101,0.013,103,0.001,104,0.001,112,0.942,157,2.292,190,1.775,200,3.03,202,2.273,290,3.064,296,3.14,356,8.071,855,4.86,868,4.765,1619,7.389,1842,5.485,4970,5.512,14028,10.534,23508,11.117,23512,9.901,23513,9.901,23514,9.901]],["title/classes/UpdateNewsParams.html",[0,0.241,16610,5.86]],["body/classes/UpdateNewsParams.html",[0,0.431,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.458,30,0.001,32,0.145,33,0.482,47,0.916,83,3.094,95,0.139,99,1.626,100,3.68,101,0.01,103,0,104,0,112,0.978,155,4.13,157,2.886,190,2.107,200,2.47,201,4.847,202,1.853,205,2.705,298,3.504,299,4.603,300,4.778,525,5.531,806,8.1,854,6.644,1749,6.014,2393,4.958,2473,6.568,3102,6.36,3589,4.202,7180,7.096,7878,7.906,7882,7.955,8075,7.083,8080,6.177,8081,8.878,8082,8.318,8091,7.204,8092,7.475,16610,8.878,23515,12.469,23516,10.552,23517,10.552,23518,9.261,23519,8.07,23520,8.07,23521,8.07,23522,8.07,23523,8.07,23524,8.07]],["title/classes/UpdateSubmissionItemBodyParams.html",[0,0.241,4060,6.113]],["body/classes/UpdateSubmissionItemBodyParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.121,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,122,2.775,157,2.269,190,1.757,194,4.688,195,2.622,199,6.581,200,3,202,2.251,296,3.122,3159,6.057,3595,8.444,4060,10.472,8095,9.405,8097,9.081,8098,8.605,8099,10.472,8100,9.405,8101,9.081,23525,11.931]],["title/interfaces/UrlHandler.html",[159,0.712,4184,5.346]],["body/interfaces/UrlHandler.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.353,27,0.462,29,0.904,30,0.001,31,0.665,32,0.147,33,0.541,35,1.358,36,2.503,47,1.022,95,0.108,101,0.012,103,0.001,104,0.001,106,8.603,107,8.364,110,4.118,111,7.635,115,9.336,119,8.971,120,9.336,122,2.455,131,4.945,134,3.43,159,0.991,161,2.307,4174,7.964,4177,9.336,4184,9.091,23526,12.793,23527,9.686]],["title/entities/User.html",[205,1.419,290,1.652]],["body/entities/User.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.176,27,0.523,30,0.001,32,0.165,33,0.639,34,0.705,47,1.021,83,3.648,95,0.117,96,1.076,101,0.01,103,0,104,0,112,0.863,122,1.663,129,1.22,130,1.115,135,1.044,148,0.405,153,1.472,159,0.663,190,2.407,195,3.064,196,4.326,205,1.854,206,1.344,211,7.046,219,2.273,221,3.088,223,4.184,224,1.193,225,2.486,226,1.874,229,1.625,231,0.711,232,1.115,233,1.277,290,1.903,331,4.041,579,1.176,692,4.614,700,4.79,701,4.79,702,4.901,703,3.374,704,5.053,711,1.193,874,2.412,886,1.305,1078,3.515,1198,5.485,1237,1.193,1821,1.951,1826,4.122,1827,3.616,1835,3.333,2942,4.591,2946,3.472,2950,3.606,3418,1.856,3436,5.855,4441,2.435,4582,6.213,4588,2.222,4593,6.307,4645,6.75,4648,2.813,4654,3.423,4676,3.248,4677,3.088,5366,6.517,5367,6.517,5368,6.517,5376,4.862,5467,7.656,5727,3.024,6622,3.163,7533,3.616,7549,3.993,7552,2.565,7573,2.536,7574,2.459,7895,2.483,7896,2.565,11258,6.985,11263,2.694,11264,2.909,11265,2.694,11266,2.909,11267,2.813,11268,3.022,11269,3.467,11270,3.616,11596,6.985,11656,3.347,11660,3.467,13950,5.458,15253,6.213,15351,3.088,17952,3.347,17967,3.347,17972,3.347,18897,6.324,19203,3.467,19204,3.467,19206,3.467,19210,5.458,19930,3.248,20256,6.821,22286,3.248,23528,3.816,23529,7.173,23530,6.985,23531,7.173,23532,4.12,23533,4.12,23534,4.12,23535,4.12,23536,4.12,23537,4.12,23538,4.12,23539,4.12,23540,4.12,23541,4.12,23542,4.12,23543,4.12,23544,4.12,23545,4.12,23546,4.12,23547,8.04,23548,4.12,23549,4.12,23550,4.12,23551,4.12,23552,4.12,23553,4.12,23554,3.816,23555,6.008,23556,6.008,23557,6.008,23558,5.458,23559,3.467,23560,3.816,23561,3.816,23562,3.467,23563,3.816,23564,3.467,23565,3.816,23566,3.467,23567,3.816,23568,3.816,23569,3.816,23570,3.816,23571,6.008]],["title/classes/UserAlreadyAssignedToImportUserError.html",[0,0.241,23572,6.451]],["body/classes/UserAlreadyAssignedToImportUserError.html",[0,0.278,2,0.847,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,27,0.526,30,0.001,32,0.171,33,0.48,35,0.92,47,0.861,55,1.625,95,0.139,101,0.01,103,0,104,0,112,0.824,155,3.971,190,2.315,228,2.511,231,1.813,233,2.487,290,2.493,402,2.886,433,1.44,436,3.914,640,7.216,868,5.987,871,2.951,998,5.551,1078,3.514,1080,4.312,1115,4.461,1218,5.245,1354,8.723,1355,6.739,1356,7.664,1360,5.317,1361,4.612,1362,5.317,1363,5.317,1364,5.317,1365,5.317,1366,5.317,1367,4.938,1369,6.323,1374,5.176,1842,3.666,3750,5.477,3820,8.843,4362,4.938,5278,5.051,14361,6.749,23572,9.735,23573,10.51,23574,10.51,23575,8.022,23576,8.022,23577,10.51]],["title/interfaces/UserAndAccountParams.html",[159,0.712,705,5.86]],["body/interfaces/UserAndAccountParams.html",[0,0.238,3,0.013,4,0.013,5,0.006,26,1.919,30,0.001,47,0.9,48,4.438,49,3.567,51,4.558,94,7.068,95,0.145,99,1.384,101,0.012,103,0,104,0,135,1.746,148,1.204,159,1.108,161,1.636,231,1.634,290,3.254,326,4.939,467,3.566,478,1.924,499,5.581,574,3.85,595,2.605,652,1.926,689,9.828,690,6.029,691,6.029,692,4.415,693,5.312,694,5.038,695,4.939,696,6.029,697,8.399,698,5.273,699,10.29,700,4.583,701,4.583,702,4.689,703,2.905,704,4.835,705,10.92,706,5.78,707,6.029,708,8.311,709,6.029,710,6.029,711,3.139,712,6.029,713,9.118,714,8.311,715,8.311,716,5.78,717,9.511,718,9.511,719,6.029,720,8.311,721,8.311,722,5.78,723,6.029,724,8.311,725,6.685,726,5.78]],["title/classes/UserAndAccountTestFactory.html",[0,0.241,706,5.86]],["body/classes/UserAndAccountTestFactory.html",[0,0.194,2,0.591,3,0.01,4,0.01,5,0.005,7,0.078,8,0.935,26,1.659,27,0.442,29,0.865,30,0.001,31,0.637,32,0.155,33,0.518,35,1.3,47,0.833,48,3.836,49,3.083,51,3.94,94,6.884,95,0.136,99,1.127,101,0.01,103,0,104,0,129,3.154,130,2.882,135,1.664,148,1.114,159,0.99,172,4.131,231,0.966,290,3.219,326,5.12,467,3.978,478,1.568,499,4.546,574,3.136,595,2.122,652,2.408,689,8.144,690,10.39,691,4.911,692,3.816,693,5.911,694,4.105,695,4.024,696,4.911,697,7.658,698,4.296,699,9.618,700,3.962,701,3.962,702,4.053,703,2.511,704,4.179,705,11.574,706,6.887,707,7.184,708,7.184,709,7.184,710,4.911,711,2.804,712,8.495,713,10.761,714,7.184,715,7.184,716,4.708,717,8.495,718,8.495,719,8.495,720,7.184,721,7.184,722,4.708,723,8.495,724,7.184,725,5.778,726,4.708,23578,8.186,23579,8.186,23580,5.596,23581,5.596,23582,5.596,23583,5.596,23584,5.596,23585,5.596,23586,5.596,23587,5.596]],["title/modules/UserApiModule.html",[252,1.839,20581,5.86]],["body/modules/UserApiModule.html",[0,0.33,3,0.018,4,0.018,5,0.009,30,0.001,95,0.148,101,0.012,103,0.001,104,0.001,252,3.352,254,3.426,255,3.637,256,3.729,257,3.716,258,3.702,259,4.612,260,3.539,269,4.589,270,3.663,271,3.588,273,5.998,274,4.88,276,4.589,277,1.362,314,3.625,3036,4.464,3890,8.623,14053,11.254,20581,11.927,23588,9.525,23589,9.525,23590,9.525,23591,9.525,23592,11.145,23593,9.525]],["title/interfaces/UserBoardRoles.html",[159,0.712,3435,5.346]],["body/interfaces/UserBoardRoles.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,26,2.61,30,0.001,32,0.159,33,0.567,34,1.361,39,3.442,47,0.972,95,0.117,99,1.603,101,0.017,102,4.229,103,0,104,0,112,0.82,125,2.491,148,1.028,159,1.069,161,1.896,185,2.726,231,1.804,357,6.109,567,2.967,693,3.619,700,6.002,701,6.002,886,3.31,1767,5.679,1770,4.185,1832,5.072,1849,4.535,1922,5.522,2671,7.669,2672,10.181,2682,5.837,3113,6.273,3417,6.985,3418,4.709,3425,10.075,3426,6.179,3427,9.177,3428,6.465,3429,6.696,3430,3.456,3431,7.535,3432,6.011,3433,6.985,3434,6.985,3435,9.52,3436,6.372,3437,6.696,3438,6.465,3439,9.177,3440,6.985]],["title/interfaces/UserConfig.html",[159,0.712,20505,5.658]],["body/interfaces/UserConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,311,6.868,20505,10.257,20512,12.791,23594,10.778]],["title/controllers/UserController.html",[314,2.65,23592,6.113]],["body/controllers/UserController.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,8,1.193,27,0.407,29,0.797,30,0.001,31,0.587,32,0.129,33,0.477,35,1.197,36,2.619,95,0.147,100,2.77,101,0.01,103,0,104,0,135,1.612,141,3.404,148,1.026,153,1.284,190,1.872,202,1.824,228,1.426,274,3.306,277,1.136,290,2.767,314,3.022,316,3.823,317,2.859,325,6.67,326,4.439,349,6.834,379,5.298,389,5.193,392,4.135,395,4.251,398,4.282,400,2.329,657,2.388,675,4.055,1826,5.366,2552,5.511,3036,3.722,3045,5.264,3240,4.081,3436,4.081,4580,10.427,14053,9.478,19011,6.971,19015,6.683,21387,10.239,23592,9.165,23595,7.942,23596,11.666,23597,7.942,23598,10.442,23599,7.942,23600,7.942,23601,10.442,23602,7.942,23603,7.942,23604,7.357,23605,7.942,23606,7.942,23607,9.672,23608,7.942,23609,7.942,23610,7.942,23611,7.942]],["title/classes/UserDO.html",[0,0.241,8114,3.783]],["body/classes/UserDO.html",[0,0.203,2,0.618,3,0.011,4,0.011,5,0.005,7,0.082,26,2.013,27,0.554,29,0.447,30,0.001,31,0.329,32,0.176,33,0.664,34,1.447,47,1.04,83,3.851,95,0.121,99,1.18,101,0.008,103,0,104,0,112,0.664,122,1.754,231,1.46,331,2.601,430,4.086,431,4.258,433,0.72,436,1.73,460,3.567,462,3.567,478,1.641,700,4.808,701,4.808,702,4.919,704,5.072,1078,3.707,1198,5.988,1770,2.345,1842,2.677,1852,6.43,2522,4.758,2524,4.758,3436,5.105,4582,6.783,4588,3.403,4593,6.331,4665,3.429,4677,4.39,4793,5.425,5366,8.071,5367,8.071,5368,8.071,6622,4.496,6696,4.296,7895,3.53,8114,6.269,8120,6.783,8189,4.617,8220,4.496,8223,6.67,8224,4.617,8232,5.141,11258,7.626,11263,3.829,11265,3.829,11267,3.999,11269,4.928,15253,6.783,15351,4.39,18897,7.831,18909,5.141,20256,7.446,20388,5.425,23529,7.831,23530,7.626,23531,7.831,23559,4.928,23562,4.928,23564,4.928,23566,4.928,23612,5.857,23613,8.462,23614,5.857,23615,5.857,23616,5.857,23617,5.857,23618,5.857,23619,5.857,23620,5.857,23621,5.857,23622,5.857,23623,5.857,23624,5.857,23625,5.857,23626,5.857,23627,5.857,23628,5.857,23629,5.857,23630,5.857,23631,5.857,23632,5.857,23633,5.857,23634,5.857,23635,5.857,23636,5.857,23637,5.857,23638,5.857,23639,5.857,23640,5.857,23641,5.857,23642,5.857,23643,5.857,23644,5.857,23645,5.857,23646,5.857,23647,5.857,23648,5.857,23649,5.857,23650,5.857]],["title/injectables/UserDORepo.html",[589,0.926,23651,5.86]],["body/injectables/UserDORepo.html",[0,0.118,3,0.006,4,0.006,5,0.003,7,0.048,8,0.639,10,2.846,12,2.529,18,2.801,26,2.35,27,0.494,29,0.957,30,0.001,31,0.711,32,0.155,33,0.573,34,1.745,35,1.437,36,2.618,40,2.705,47,0.87,48,4.988,55,0.693,56,1.612,58,2.237,59,1.063,95,0.129,96,0.893,99,0.689,101,0.004,103,0,104,0,112,0.268,122,1.159,125,1.331,129,1.655,130,1.512,135,1.631,142,3.263,145,1.284,148,1.14,153,1.458,158,1.263,185,1.914,197,2.286,205,1.444,206,1.116,224,0.991,231,0.964,277,0.489,279,1.419,290,2.938,317,2.934,331,4.003,346,2.51,365,1.52,393,1.694,430,1.407,431,1.467,436,3.346,478,0.959,540,2.35,569,1.063,579,0.977,589,0.743,591,0.812,595,1.298,652,2.407,657,2.518,692,1.595,700,2.705,701,2.705,702,2.767,703,1.05,704,4.602,729,3.816,735,2.529,736,4.437,766,1.831,770,2.155,788,2.336,789,1.873,790,2.301,863,3.082,869,4.003,1198,3.368,1770,3.608,1853,1.123,2140,1.95,2232,3.185,2437,8.354,2439,4.018,2440,3.945,2441,3.945,2442,4.018,2443,4.018,2444,3.945,2451,2.46,2453,2.46,2455,3.654,2456,3.816,2457,2.46,2460,4.018,2462,2.374,2463,6.827,2464,3.945,2465,3.302,2467,2.46,2468,4.018,2470,2.46,2472,2.062,2473,2.13,2474,2.301,2476,2.46,2479,4.186,2516,2.78,2517,2.565,3436,4.631,3637,3.169,4588,1.172,4593,3.561,4768,2.062,4778,3.003,4782,2.627,4783,2.627,4798,2.415,4832,2.78,5057,2.46,5136,7.299,5138,2.991,5215,3.185,5366,2.78,5367,2.78,5368,2.78,6288,2.879,6854,4.905,6867,4.702,6870,4.905,6878,2.51,6879,2.51,6880,2.51,6881,2.51,6882,2.51,6883,2.51,6884,2.51,6895,2.336,7638,4.27,7704,2.879,7924,5.034,7934,7.648,7953,2.51,7954,2.51,8114,6.879,8120,5.583,8121,2.78,8123,2.78,8126,3.003,10696,2.879,10700,3.003,10702,3.003,10703,3.003,10723,3.169,10729,4.905,10858,6.446,11100,3.169,11102,3.169,11103,3.169,11104,5.176,11105,3.169,11258,4.29,12899,2.879,15193,2.51,15229,5.755,15253,3.816,15392,4.905,15395,4.905,15413,3.169,15420,3.169,15424,3.169,16176,3.169,17797,3.169,18897,2.697,20024,2.697,20026,3.003,20027,3.003,20256,4.189,22427,4.905,22429,4.905,23529,4.405,23530,4.29,23531,4.405,23651,4.702,23652,10.643,23653,5.588,23654,5.176,23655,5.588,23656,3.422,23657,7.575,23658,3.422,23659,3.422,23660,5.176,23661,3.422,23662,3.169,23663,3.422,23664,3.422,23665,3.422,23666,3.422,23667,3.422,23668,3.422,23669,3.169,23670,4.905,23671,3.422,23672,3.422,23673,3.422,23674,3.422,23675,3.422,23676,3.169,23677,3.422,23678,3.422,23679,3.422,23680,3.169,23681,6.561,23682,3.422,23683,5.176,23684,3.422,23685,5.588,23686,3.169,23687,3.169,23688,3.422,23689,3.422,23690,3.422,23691,3.422,23692,3.169,23693,3.422,23694,3.169,23695,3.169,23696,3.169,23697,3.169,23698,3.422,23699,3.422,23700,3.422,23701,3.422,23702,3.169,23703,3.169,23704,3.169,23705,3.169,23706,3.169,23707,3.422,23708,3.422,23709,3.422,23710,3.422,23711,3.422,23712,3.422,23713,3.422,23714,3.422,23715,3.422,23716,3.422,23717,3.422,23718,3.422,23719,3.422,23720,3.422,23721,3.422,23722,3.422]],["title/interfaces/UserData.html",[159,0.712,11392,5.49]],["body/interfaces/UserData.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.054,26,1.788,30,0.001,31,0.349,32,0.127,34,1.062,36,2.495,47,0.994,51,5.182,55,0.79,72,1.791,95,0.144,99,0.786,101,0.005,103,0,104,0,112,0.487,122,0.809,135,1.79,142,2.248,145,2.331,148,1.185,153,1.66,159,0.985,161,0.929,228,1.843,254,1.403,277,0.558,290,0.925,317,2.554,339,3.277,412,1.732,433,0.479,478,1.093,528,1.979,578,2.044,579,2.519,589,0.826,595,1.479,610,2.449,614,2.736,652,2.596,657,3.108,980,5.315,1065,4.344,1212,2.517,1472,2.168,1853,1.28,1885,2.401,2005,4.69,2006,4.625,2008,3.855,2018,5.13,2027,3.04,2033,4.368,2035,2.151,2040,4.384,2047,2.923,2048,2.804,2298,8.487,2370,2.186,2512,2.327,2550,2.351,2776,6.444,3899,4.176,3900,2.058,4588,1.336,4739,4.994,4862,2.585,4863,2.623,5056,4.302,5057,2.804,5449,4.665,5466,5.073,5953,2.585,6303,2.706,6685,5.13,6739,4.384,6809,2.663,6824,5.06,6889,4.466,6982,2.706,7044,4.764,7045,5.13,7062,4.817,7068,5.801,7077,2.804,7078,2.804,7121,4.768,7510,3.57,7513,4.932,7514,2.753,7608,2.861,7655,3.074,8114,5.234,8120,4.24,8311,3.911,10208,2.753,10282,2.994,10447,4.268,10471,6.345,10538,3.074,10628,2.804,10631,7.056,10637,5.204,10666,2.994,11352,2.994,11353,3.169,11354,3.169,11355,3.169,11356,3.169,11357,3.169,11358,2.804,11359,3.169,11372,5.37,11374,3.169,11377,3.169,11379,3.169,11381,3.169,11382,7.169,11384,3.169,11386,3.169,11388,3.169,11390,3.169,11392,8.81,11393,3.169,11395,3.169,11397,3.169,11399,2.994,11400,3.169,11401,4.896,11402,6.956,11403,4.896,11404,5.046,11405,5.046,11406,7.828,11407,5.046,11408,3.169,11409,5.046,11410,3.169,11411,3.169,11412,5.046,11413,3.169,11414,3.169,11415,5.046,11416,3.169,11417,3.169,11418,3.169,11419,3.169,11420,3.169,11421,3.169,11422,3.169,11423,3.169,11424,3.169,11425,3.169,11426,6.287,11427,3.169,11428,3.169,11429,3.169,11430,3.169,11431,3.169,11432,3.169,11433,3.169,11434,3.169,11435,3.169,11436,3.169,11437,3.169,11438,5.046,11439,3.169,11440,3.074,11441,3.169,11442,4.176,11443,2.623,11444,3.074,11445,3.074,11446,3.169,11447,5.046,11448,3.169,11449,5.046,11450,3.169,11451,3.074,11452,3.169,11453,3.169,11454,3.169,11455,3.169,11456,3.169,11457,3.169,11458,3.074,11459,3.074]],["title/classes/UserDataResponse.html",[0,0.241,21216,5.86]],["body/classes/UserDataResponse.html",[0,0.316,2,0.964,3,0.017,4,0.017,5,0.008,7,0.127,27,0.509,29,0.697,30,0.001,31,0.513,32,0.162,33,0.417,39,3.731,47,1.008,95,0.102,101,0.012,103,0.001,104,0.001,112,0.896,190,2.234,202,2.097,242,4.821,296,3.64,433,1.403,700,6.505,701,6.505,821,4.664,11263,5.972,11265,5.972,21216,11.31,23723,13.442,23724,9.135,23725,9.135,23726,9.135,23727,9.135,23728,9.135]],["title/classes/UserDoFactory.html",[0,0.241,23729,6.451]],["body/classes/UserDoFactory.html",[0,0.17,2,0.518,3,0.009,4,0.009,5,0.004,7,0.068,8,0.849,26,1.505,27,0.516,29,1.02,30,0.001,31,0.728,32,0.17,33,0.584,34,1.532,35,1.444,47,0.546,49,1.85,55,2.374,59,3.334,95,0.126,99,0.99,101,0.006,103,0,104,0,112,0.583,113,4.483,127,5.005,129,3.573,130,3.265,135,0.967,148,0.73,153,0.794,157,2.074,172,4.263,185,2.544,192,2.709,205,1.826,206,2.424,228,1.334,231,1.282,290,1.165,326,4.868,374,3.226,433,0.603,436,3.875,467,2.162,501,7.125,502,5.553,505,4.13,506,5.553,507,5.359,508,4.13,509,4.13,510,4.13,511,4.066,512,4.574,513,4.981,514,6.554,515,5.871,516,7.041,517,2.753,522,2.73,523,4.13,524,2.753,525,5.235,526,5.385,527,4.245,528,5.067,529,4.097,530,2.73,531,2.574,532,4.138,533,2.61,534,2.574,535,2.73,536,2.753,537,4.903,538,2.73,539,7.208,540,4.003,541,6.708,542,2.753,543,3.615,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,551,2.73,552,6.176,553,2.753,554,2.73,555,4.13,556,3.769,557,4.13,558,2.753,559,2.648,560,2.61,561,2.212,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.831,568,2.73,569,1.527,570,2.753,571,2.941,572,2.73,573,2.753,574,2.753,575,2.824,577,2.931,595,1.863,700,2.377,701,2.377,702,2.432,1770,1.966,3436,4.603,4588,1.682,4696,6.324,4698,3.532,5056,4.13,8114,2.668,8121,3.99,8791,4.311,14094,4.311,23729,8.298,23730,4.912,23731,7.429,23732,7.429,23733,4.912,23734,4.912,23735,4.549,23736,4.549]],["title/classes/UserDto.html",[0,0.241,23737,5.86]],["body/classes/UserDto.html",[0,0.241,2,0.735,3,0.013,4,0.013,5,0.006,7,0.097,26,2.495,27,0.547,29,0.532,30,0.001,31,0.391,32,0.174,33,0.651,34,1.866,47,1.019,83,3.445,95,0.107,99,1.403,101,0.009,103,0,104,0,112,0.75,122,1.982,129,2.831,130,2.587,205,1.419,290,2.268,433,0.856,458,2.777,478,1.951,561,3.137,578,3.65,700,5.283,701,5.283,702,5.405,704,5.573,1078,4.188,1198,6.579,3469,4.683,3470,4.553,4582,7.453,4588,3.739,4593,6.956,4665,4.077,4677,5.22,5474,5.658,6622,5.346,7895,4.198,11263,4.553,11265,4.553,11267,4.755,13132,8.043,13217,5.22,14429,6.112,16499,6.451,20251,6.451,20256,8.182,23529,8.605,23530,8.379,23531,8.605,23559,5.86,23562,5.86,23564,5.86,23566,5.86,23737,10.359,23738,6.964,23739,10.11,23740,6.964,23741,6.964,23742,6.964,23743,6.964,23744,6.964,23745,6.964,23746,6.964,23747,6.964,23748,6.964,23749,6.964,23750,6.964,23751,6.964,23752,6.964,23753,6.964,23754,6.964,23755,6.964,23756,6.964,23757,6.112,23758,6.964,23759,6.964]],["title/classes/UserFactory.html",[0,0.241,697,5.008]],["body/classes/UserFactory.html",[0,0.139,2,0.425,3,0.007,4,0.007,5,0.004,7,0.056,8,0.727,27,0.514,29,1.014,30,0.001,31,0.751,32,0.166,33,0.587,34,1.35,35,1.334,47,0.468,55,2.208,59,3.04,95,0.126,101,0.005,103,0,104,0,112,0.499,113,4.133,127,4.499,129,3.6,130,3.289,135,1.609,148,1.022,157,1.828,172,2.716,185,2.18,192,2.218,205,1.993,206,2.076,228,1.143,231,1.098,290,1.873,326,4.89,331,5.572,374,2.763,433,0.494,436,3.706,467,1.852,478,1.127,501,7.048,502,4.991,505,3.537,506,4.991,507,5.166,508,3.537,509,3.537,510,3.537,511,3.483,512,4.031,513,4.39,514,6.137,515,5.353,516,6.829,517,2.254,522,2.236,523,3.537,524,2.254,525,4.706,526,4.84,527,3.815,528,4.555,529,3.51,530,2.236,531,2.108,532,3.815,533,2.137,534,2.108,535,2.236,536,2.254,537,4.322,538,2.236,539,7.214,540,3.749,541,6.281,542,2.254,543,3.843,544,2.236,545,2.254,546,2.236,547,2.254,548,2.236,549,2.503,550,2.354,551,2.236,552,5.693,553,2.254,554,2.236,555,3.537,556,3.228,557,3.537,558,2.254,559,2.168,560,2.137,561,1.811,562,2.236,563,2.236,564,2.236,565,2.254,566,2.254,567,1.499,568,2.236,569,1.25,570,2.254,571,2.519,572,2.236,573,2.254,575,2.312,576,2.376,577,5.837,595,1.525,693,5.418,694,2.95,695,2.891,697,5.678,700,1.946,701,1.946,702,1.991,703,1.234,713,8.752,716,5.354,722,5.354,726,5.354,1826,5.599,2279,5.894,3436,5.345,5056,4.991,7763,3.17,7764,3.267,7773,3.17,11442,2.704,11443,2.704,13967,3.087,14094,3.529,22410,3.725,22416,8.315,23558,3.383,23735,3.725,23736,3.725,23760,4.021,23761,6.363,23762,6.363,23763,6.363,23764,6.363,23765,4.021,23766,4.021,23767,4.021,23768,6.363,23769,4.021,23770,6.363,23771,4.021,23772,6.363,23773,6.363,23774,6.363,23775,4.021,23776,4.021,23777,7.896,23778,4.021]],["title/classes/UserForGroupNotFoundLoggable.html",[0,0.241,17768,6.113]],["body/classes/UserForGroupNotFoundLoggable.html",[0,0.315,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,8,1.303,27,0.445,29,0.696,30,0.001,31,0.512,32,0.113,33,0.416,35,1.045,95,0.127,100,3.178,101,0.012,103,0.001,104,0.001,148,0.896,158,3.364,228,1.637,290,2.162,339,2.672,400,2.672,433,1.12,1027,2.789,1065,6.423,1115,3.468,1237,3.304,1422,4.984,1423,5.804,1426,5.794,1468,5.804,1469,6.094,1626,5.108,2617,5.673,3364,6.554,4953,6.041,5056,5.067,10083,10.284,10098,6.223,12773,8.756,17768,10.011,20143,8.442,20144,8.442,20145,8.442,23779,12.45,23780,9.114,23781,9.114,23782,9.114]],["title/interfaces/UserGroup.html",[159,0.712,11403,5.49]],["body/interfaces/UserGroup.html",[0,0.134,3,0.007,4,0.007,5,0.003,7,0.054,26,1.781,30,0.001,31,0.539,32,0.133,34,1.056,36,2.49,47,0.993,51,4.231,55,1.561,72,1.779,95,0.143,99,0.781,101,0.005,103,0,104,0,112,0.485,122,0.803,135,1.788,142,2.236,145,2.319,148,1.182,153,1.655,159,0.982,161,0.923,228,1.838,254,1.393,277,0.554,290,0.919,317,2.549,339,3.269,412,1.72,433,0.476,478,1.085,528,1.965,578,2.03,579,2.51,589,0.821,595,1.469,610,2.436,614,2.725,652,2.592,657,3.105,980,5.297,1065,4.328,1212,2.5,1472,2.154,1853,1.271,1885,2.385,2005,4.672,2006,4.608,2008,3.838,2018,5.107,2027,3.024,2033,4.358,2035,2.137,2040,4.361,2047,2.904,2048,2.786,2298,6.93,2370,2.171,2512,2.312,2550,2.335,2776,6.435,3899,4.154,3900,2.044,4588,1.327,4739,4.972,4862,2.568,4863,2.605,5056,4.283,5057,2.786,5449,4.644,5466,5.054,5953,2.568,6303,2.688,6685,5.107,6739,4.361,6809,2.645,6824,5.037,6889,4.442,6982,2.688,7044,4.743,7045,5.107,7062,4.796,7068,5.775,7077,2.786,7078,2.786,7121,4.742,7510,3.551,7513,4.91,7514,2.735,7608,2.841,7655,3.054,8114,5.216,8120,4.218,8311,3.89,10208,2.735,10282,2.974,10447,4.249,10471,6.321,10538,3.054,10628,2.786,10631,7.042,10637,5.181,10666,2.974,11352,2.974,11353,3.147,11354,3.147,11355,3.147,11356,3.147,11357,3.147,11358,2.786,11359,3.147,11372,5.346,11374,3.147,11377,3.147,11379,3.147,11381,3.147,11382,7.142,11384,3.147,11386,3.147,11388,3.147,11390,3.147,11392,8.465,11393,3.147,11395,3.147,11397,3.147,11399,2.974,11400,3.147,11401,4.869,11402,6.93,11403,6.073,11404,7.802,11405,7.802,11406,7.802,11407,5.018,11408,3.147,11409,5.018,11410,3.147,11411,3.147,11412,5.018,11413,3.147,11414,3.147,11415,5.018,11416,3.147,11417,3.147,11418,3.147,11419,3.147,11420,3.147,11421,3.147,11422,3.147,11423,3.147,11424,3.147,11425,3.147,11426,6.259,11427,3.147,11428,3.147,11429,3.147,11430,3.147,11431,3.147,11432,3.147,11433,3.147,11434,3.147,11435,3.147,11436,3.147,11437,3.147,11438,5.018,11439,3.147,11440,3.054,11441,3.147,11442,4.154,11443,2.605,11444,3.054,11445,3.054,11446,3.147,11447,5.018,11448,3.147,11449,5.018,11450,3.147,11451,3.054,11452,3.147,11453,3.147,11454,3.147,11455,3.147,11456,3.147,11457,3.147,11458,3.054,11459,3.054]],["title/interfaces/UserGroups.html",[159,0.712,11402,5.49]],["body/interfaces/UserGroups.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.793,30,0.001,31,0.35,32,0.133,34,1.066,36,2.499,47,0.972,51,4.259,55,0.794,72,1.8,95,0.144,99,0.79,101,0.005,103,0,104,0,112,0.489,122,0.813,135,1.791,142,2.257,145,2.34,148,1.186,153,1.664,159,0.988,161,0.934,172,2.661,228,1.847,254,1.41,277,0.56,290,0.93,317,2.558,339,3.539,412,1.741,433,0.481,478,1.098,528,1.988,578,2.054,579,2.526,589,0.829,595,1.486,610,2.459,614,2.743,652,2.599,657,3.11,980,5.327,1065,4.356,1212,2.529,1472,2.179,1853,1.286,1885,2.413,2005,4.703,2006,4.638,2008,3.867,2018,5.146,2027,3.052,2033,4.375,2035,2.162,2040,4.401,2047,2.938,2048,2.818,2298,6.976,2370,2.196,2512,2.339,2550,2.362,2776,6.45,3899,4.193,3900,2.068,4588,1.342,4739,5.01,4862,2.598,4863,2.635,5056,4.316,5057,2.818,5449,4.68,5466,5.087,5953,2.598,6303,2.719,6685,5.146,6739,4.401,6809,2.676,6824,5.076,6889,4.483,6982,2.719,7044,4.779,7045,5.146,7062,4.833,7068,5.819,7077,2.818,7078,2.818,7121,4.786,7510,3.584,7513,4.948,7514,2.767,7608,2.875,7655,3.089,8114,5.246,8120,4.257,8311,3.926,10208,2.767,10282,3.009,10447,4.282,10471,6.363,10538,3.089,10628,2.818,10631,7.065,10637,5.221,10666,3.009,11352,3.009,11353,3.184,11354,3.184,11355,3.184,11356,3.184,11357,3.184,11358,2.818,11359,3.184,11372,5.387,11374,3.184,11377,3.184,11379,3.184,11381,3.184,11382,7.189,11384,3.184,11386,3.184,11388,3.184,11390,3.184,11392,8.504,11393,3.184,11395,3.184,11397,3.184,11399,3.009,11400,3.184,11401,4.915,11402,7.614,11403,4.915,11404,5.065,11405,5.065,11406,7.847,11407,5.065,11408,3.184,11409,5.065,11410,3.184,11411,3.184,11412,5.065,11413,3.184,11414,3.184,11415,5.065,11416,3.184,11417,3.184,11418,3.184,11419,3.184,11420,3.184,11421,3.184,11422,3.184,11423,3.184,11424,3.184,11425,3.184,11426,6.307,11427,3.184,11428,3.184,11429,3.184,11430,3.184,11431,3.184,11432,3.184,11433,3.184,11434,3.184,11435,3.184,11436,3.184,11437,3.184,11438,5.065,11439,3.184,11440,3.089,11441,3.184,11442,4.193,11443,2.635,11444,3.089,11445,3.089,11446,3.184,11447,5.065,11448,3.184,11449,5.065,11450,3.184,11451,3.089,11452,3.184,11453,3.184,11454,3.184,11455,3.184,11456,3.184,11457,3.184,11458,3.089,11459,3.089]],["title/classes/UserInfoMapper.html",[0,0.241,16681,6.113]],["body/classes/UserInfoMapper.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,8,1.357,27,0.379,29,0.743,30,0.001,31,0.547,32,0.12,33,0.445,34,1.664,35,1.116,95,0.132,100,4.142,101,0.012,103,0.001,104,0.001,135,1.266,148,0.957,153,1.574,290,3.247,467,3.732,478,2.727,578,5.101,700,4.71,701,4.71,830,6.603,837,4.819,3469,6.545,3470,6.363,16652,10.846,16681,10.425,19013,10.425,20179,8.542,20181,8.542,23783,11.878]],["title/classes/UserInfoResponse.html",[0,0.241,16652,5.658]],["body/classes/UserInfoResponse.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,27,0.495,29,0.646,30,0.001,31,0.738,32,0.157,33,0.6,34,2.338,47,0.988,95,0.094,101,0.011,103,0.001,104,0.001,112,0.853,157,2.939,190,2.156,201,4.675,202,1.943,205,2.217,290,3.189,296,2.847,304,4.19,413,6.626,433,1.337,458,3.374,700,6.356,701,6.356,821,4.32,1361,6.255,2301,6.67,3196,5.532,3197,5.824,3198,5.824,4743,7.837,8017,9.55,11263,5.532,11265,5.532,16652,10.67,20186,7.426,23784,13.134,23785,8.461,23786,7.837]],["title/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.241,20960,5.658]],["body/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,26,2.564,27,0.422,29,0.641,30,0.001,31,0.471,32,0.134,33,0.383,35,0.962,52,6.421,59,2.608,83,3.512,95,0.133,99,1.691,101,0.011,103,0.001,104,0.001,148,0.825,180,5.749,228,1.943,231,1.867,233,2.601,277,1.2,339,2.46,400,2.46,433,1.031,640,7.791,652,1.707,703,2.574,1027,2.568,1115,3.193,1237,3.135,1422,4.795,1423,5.585,1426,5.621,1434,5.414,1462,4.524,1468,5.585,1469,5.863,1477,4.284,1478,4.459,4970,5.501,6435,7.374,10416,5.561,12171,6.441,14359,6.441,15331,9.1,15357,6.614,20960,8.792,22025,6.441,23787,9.443,23788,11.979,23789,8.39,23790,9.443,23791,8.39,23792,8.39]],["title/modules/UserLoginMigrationApiModule.html",[252,1.839,20579,5.86]],["body/modules/UserLoginMigrationApiModule.html",[0,0.253,3,0.014,4,0.014,5,0.007,30,0.001,52,3.714,95,0.153,101,0.009,103,0,104,0,174,4.998,180,5.141,252,2.957,254,2.633,255,2.795,256,2.866,257,2.855,258,2.845,259,4.067,260,2.72,265,5.988,269,3.872,270,2.815,271,2.757,273,4.609,274,4.117,276,3.872,277,1.047,290,1.736,703,2.246,1027,2.24,1484,8.682,1523,10.488,1856,7.358,2070,3.947,2680,3.361,3036,3.43,4969,10.862,4970,3.361,6077,8.557,12252,5.947,17022,6.159,17309,10.862,17310,10.862,19033,10.862,20579,12.344,20580,6.159,20951,10.862,22962,10.862,23793,7.32,23794,7.32,23795,7.32,23796,10.862,23797,9.83,23798,7.32,23799,7.32,23800,7.32]],["title/controllers/UserLoginMigrationController.html",[314,2.65,23797,6.113]],["body/controllers/UserLoginMigrationController.html",[0,0.112,3,0.006,4,0.006,5,0.003,7,0.045,8,0.608,27,0.388,29,0.759,30,0.001,31,0.559,32,0.172,33,0.454,35,1.14,36,2.543,47,0.499,52,6.987,55,1.078,95,0.127,100,1.124,101,0.004,103,0,104,0,125,1.879,135,1.566,148,0.977,153,0.521,157,3.035,180,6.051,190,1.782,202,0.74,228,1.568,274,1.342,277,0.461,290,3.299,314,1.227,316,1.552,317,2.8,325,6.452,326,3.577,333,2.168,347,5.342,349,6.27,365,2.364,379,5.467,385,3.634,388,2.281,390,3.115,392,1.678,395,1.726,398,1.738,401,1.807,402,1.914,433,0.396,534,1.69,567,1.984,619,3.827,640,6.399,652,1.776,657,2.274,675,1.646,703,2.42,869,2.605,871,2.902,1368,1.822,1390,3.313,1422,1.291,1434,5.09,1563,3.434,1585,4.804,1853,1.058,2642,5.386,3011,2.432,3036,1.511,3240,1.657,3241,2.168,3242,1.764,3430,2.311,4077,5.21,4401,2.08,4969,5.718,4970,4.774,4973,4.671,4982,6.337,4983,6.218,4984,5.919,5138,4.222,5278,4.967,6281,2.168,7786,3.757,8128,6.055,10121,3.904,12798,4.478,13529,6.637,14025,4.929,15956,2.986,16502,5.965,16926,4.323,17069,6.923,18395,7.15,18397,5.672,19033,5.718,19035,4.671,19874,7.663,19875,7.792,19876,8.445,19887,2.829,20162,6.218,20285,4.478,20951,5.718,20954,4.671,20960,6.409,22025,8.521,22962,5.718,22964,5.965,23604,2.986,23796,5.718,23797,4.671,23801,10.395,23802,3.224,23803,4.929,23804,6.295,23805,6.295,23806,6.796,23807,3.224,23808,3.224,23809,9.629,23810,5.322,23811,5.322,23812,4.929,23813,3.224,23814,3.224,23815,3.224,23816,5.322,23817,3.224,23818,3.224,23819,3.224,23820,9.4,23821,3.224,23822,3.224,23823,3.224,23824,6.637,23825,3.224,23826,3.224,23827,3.224,23828,3.224,23829,3.224,23830,3.224,23831,3.224,23832,3.224,23833,3.224,23834,3.224,23835,5.322,23836,6.923,23837,6.923,23838,6.637,23839,3.224,23840,5.322,23841,3.224,23842,3.224,23843,6.923,23844,3.224,23845,3.224,23846,3.224,23847,4.929,23848,3.224,23849,3.224,23850,3.224,23851,3.224,23852,3.224,23853,3.224,23854,6.796,23855,5.322,23856,6.637,23857,2.829,23858,6.409,23859,9.446,23860,6.923,23861,3.224,23862,3.224,23863,3.224,23864,3.224,23865,3.224,23866,3.224,23867,3.224,23868,3.224,23869,3.224,23870,3.224,23871,5.322,23872,3.224,23873,6.796,23874,3.224,23875,3.224,23876,3.224,23877,3.224,23878,3.224,23879,3.224,23880,10.395,23881,6.796,23882,3.224,23883,3.224,23884,3.224,23885,3.224,23886,3.224,23887,3.224,23888,3.224,23889,3.224,23890,3.224,23891,3.224,23892,3.224,23893,3.224,23894,3.224]],["title/classes/UserLoginMigrationDO.html",[0,0.241,4982,4.439]],["body/classes/UserLoginMigrationDO.html",[0,0.27,2,0.824,3,0.014,4,0.014,5,0.007,7,0.109,26,2.718,27,0.537,29,0.596,30,0.001,31,0.438,32,0.17,33,0.641,34,1.765,47,0.573,83,3.993,95,0.115,101,0.01,103,0,104,0,112,0.81,134,2.763,180,5.906,231,1.781,232,2.793,433,0.959,435,2.681,436,2.305,1852,7.273,4588,3.961,4665,4.568,4666,5.724,4982,8.157,6696,5.724,6701,5.99,8220,5.99,14358,8.483,14362,6.849,23790,9.117,23895,13.779,23896,7.804,23897,9.117,23898,9.396,23899,9.396,23900,9.117,23901,10.321,23902,7.804,23903,7.804,23904,7.804,23905,7.804,23906,7.804,23907,7.804,23908,7.228,23909,7.228,23910,7.228,23911,6.849,23912,6.849,23913,6.849,23914,6.849,23915,6.849,23916,6.849,23917,6.849,23918,6.849]],["title/entities/UserLoginMigrationEntity.html",[205,1.419,15402,5.221]],["body/entities/UserLoginMigrationEntity.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,27,0.506,30,0.001,32,0.164,33,0.604,83,3.877,95,0.13,96,1.793,101,0.012,103,0,104,0,112,0.743,125,1.636,180,5.752,190,2.326,195,2.985,196,4.306,197,2.647,205,1.93,206,2.241,211,5.977,223,3.947,224,1.99,225,3.629,226,3.124,228,1.234,229,2.709,231,1.185,232,1.859,233,2.129,290,1.629,692,5.445,703,3.759,1619,4.228,2944,6.809,2951,7.465,5210,6.947,5727,5.052,7573,4.228,7574,4.099,7778,6.368,9934,4.69,15402,7.098,19909,6.362,20340,6.029,23790,8.543,23803,6.362,23897,8.543,23898,8.804,23900,8.543,23911,6.029,23912,6.029,23913,6.029,23914,6.029,23915,6.029,23916,6.029,23917,6.029,23918,6.029,23919,11.606,23920,6.869,23921,10.038,23922,10.038,23923,6.869,23924,6.869,23925,6.869,23926,9.469,23927,6.869,23928,6.869,23929,6.869,23930,6.869,23931,9.469,23932,6.869,23933,6.869,23934,6.869,23935,6.869,23936,6.869]],["title/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.241,23856,5.86]],["body/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.288,2,0.878,3,0.015,4,0.015,5,0.007,7,0.116,8,1.23,26,2.556,27,0.42,29,0.635,30,0.001,31,0.467,32,0.133,33,0.38,35,0.954,52,6.401,83,3.499,95,0.133,99,1.677,101,0.011,103,0.001,104,0.001,148,0.818,180,5.838,228,1.933,231,1.857,233,2.579,277,1.19,290,1.974,339,2.44,400,2.44,433,1.022,652,1.692,1027,2.546,1115,3.167,1237,3.118,1422,4.776,1423,5.563,1426,5.603,1468,5.563,1469,5.84,1477,4.248,1478,4.422,4970,5.479,6435,7.345,13529,10.615,15331,8.58,15357,6.559,23787,9.406,23812,7.707,23836,11.073,23837,11.073,23856,9.057,23897,9.945,23937,8.321,23938,8.321,23939,8.321,23940,8.321,23941,8.321,23942,8.321,23943,8.321]],["title/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.241,22968,6.113]],["body/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.291,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.767,27,0.422,29,0.642,30,0.001,31,0.472,32,0.104,33,0.384,35,0.964,39,3.328,52,6.426,95,0.121,99,1.694,101,0.011,103,0.001,104,0.001,122,2.486,125,2.856,148,0.826,180,5.852,228,2.153,242,4.437,290,1.995,339,2.465,376,6.167,402,3.025,433,1.331,652,2.439,703,3.325,1027,2.573,1115,3.2,1237,3.139,1422,4.8,1423,5.59,1426,5.625,1468,5.59,1469,5.869,4970,5.507,5412,9.723,12171,6.454,12506,6.167,14715,7.379,15331,9.107,15357,6.628,22968,9.511,23787,9.452,23944,8.408,23945,8.408,23946,8.408,23947,8.408]],["title/classes/UserLoginMigrationMandatoryParams.html",[0,0.241,23843,6.113]],["body/classes/UserLoginMigrationMandatoryParams.html",[0,0.42,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,52,6.163,95,0.135,101,0.013,103,0.001,104,0.001,112,0.953,122,2.518,180,5.794,190,1.81,199,6.7,200,3.091,202,2.319,296,3.179,4970,5.579,5412,10.001,8368,7.753,23843,10.662,23948,11.252,23949,10.1,23950,10.1]],["title/classes/UserLoginMigrationMapper.html",[0,0.241,23857,6.113]],["body/classes/UserLoginMigrationMapper.html",[0,0.294,2,0.897,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,27,0.425,29,0.833,30,0.001,31,0.613,32,0.135,33,0.498,34,1.453,35,1.251,39,2.358,47,0.624,95,0.134,101,0.011,103,0.001,104,0.001,135,1.42,148,1.072,153,1.374,180,5.768,365,4.845,467,3.917,837,4.208,871,4.014,1770,3.401,1853,2.788,2498,5.896,3036,3.982,4970,5.534,4982,8.104,14358,6.233,23790,6.698,23824,10.699,23857,9.576,23858,10.331,23859,10.684,23897,6.698,23898,6.903,23899,6.903,23900,6.698,23951,12.051,23952,8.497,23953,10.91,23954,10.91,23955,10.91,23956,8.497,23957,8.497,23958,10.91,23959,8.497,23960,8.497,23961,8.497,23962,8.497,23963,8.497,23964,8.497,23965,8.497,23966,8.497]],["title/modules/UserLoginMigrationModule.html",[252,1.839,17310,5.86]],["body/modules/UserLoginMigrationModule.html",[0,0.246,3,0.013,4,0.013,5,0.006,30,0.001,95,0.149,101,0.009,103,0,104,0,180,4.157,252,2.913,254,2.558,255,2.716,256,2.785,257,2.774,258,2.765,259,4.008,260,4.101,264,9.204,265,5.937,269,3.797,270,2.735,271,2.679,276,3.797,277,1.017,279,2.949,610,2.805,703,2.182,1027,2.176,1525,9.204,1537,5.217,1540,4.935,2070,3.835,3890,7.968,3900,3.754,4970,3.266,4975,10.205,4976,10.968,4977,11.706,6077,8.484,16479,11.706,16485,10.091,17310,12.365,20580,5.984,23967,7.112,23968,7.112,23969,7.112,23970,7.112,23971,11.706,23972,7.112]],["title/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.241,4983,5.49]],["body/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.292,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.242,26,2.769,27,0.424,29,0.645,30,0.001,31,0.474,32,0.134,33,0.386,35,0.968,52,6.436,59,2.624,95,0.134,99,1.701,101,0.011,103,0.001,104,0.001,148,0.83,180,5.858,228,1.951,231,1.875,233,2.617,277,1.207,290,2.003,339,2.476,400,2.476,433,1.037,652,1.717,703,2.59,1027,2.584,1115,3.213,1237,3.147,1422,4.81,1423,5.601,1426,5.634,1462,4.552,1468,5.601,1469,5.881,1477,4.311,1478,4.487,2860,5.449,2954,6.386,4588,4.115,4665,4.943,4970,5.518,4983,8.566,5138,4.519,10416,5.596,14359,6.481,15331,9.122,15357,6.656,16973,11.129,20286,7.821,23787,9.471,23973,8.443]],["title/interfaces/UserLoginMigrationQuery.html",[159,0.712,23858,5.658]],["body/interfaces/UserLoginMigrationQuery.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.131,33,0.571,39,3.813,47,0.977,52,5.381,101,0.014,103,0.001,104,0.001,112,0.981,159,1.085,161,2.527,180,5.361,4970,4.871,10995,9.309,23858,10.161,23974,10.607]],["title/injectables/UserLoginMigrationRepo.html",[589,0.926,16485,5.49]],["body/injectables/UserLoginMigrationRepo.html",[0,0.177,3,0.009,4,0.009,5,0.005,7,0.071,8,0.875,10,3.076,12,3.464,18,3.836,26,2.577,27,0.515,29,0.998,30,0.001,31,0.735,32,0.162,33,0.598,34,1.569,35,1.481,36,2.581,40,2.474,95,0.139,96,1.999,97,2.062,99,1.03,101,0.007,103,0,104,0,112,0.401,113,2.031,125,1.218,135,1.326,142,2.771,148,1.073,153,0.827,180,4.678,185,2.622,205,1.87,224,1.481,228,1.375,231,1.321,277,0.731,317,2.912,433,0.628,436,3.757,478,1.432,569,1.589,589,1.018,591,1.213,652,2.33,657,1.169,692,2.383,703,2.349,729,5.227,735,3.464,736,5.373,766,2.736,1027,1.564,1770,3.674,1853,1.677,2140,2.913,2437,9.175,2439,5.504,2440,5.404,2441,5.404,2442,5.504,2443,5.504,2444,5.404,2445,3.675,2446,5.535,2447,4.259,2448,4.776,2450,5.504,2451,3.675,2453,3.675,2455,5.005,2456,5.227,2457,3.675,2460,5.504,2462,3.547,2463,8.384,2464,5.404,2465,4.524,2467,3.675,2468,5.504,2470,3.675,2472,3.081,2473,3.182,2474,3.437,2476,3.675,2484,3.547,4588,3.143,4768,3.081,4982,8.335,4984,4.82,5210,2.736,6878,3.749,6879,3.749,6880,3.749,6881,3.749,6882,3.749,6883,3.749,6884,3.749,6892,3.924,10718,3.924,14358,3.749,15402,8.587,15403,4.735,15429,7.091,16485,6.035,19912,4.153,19913,4.153,20009,7.091,20017,7.091,20024,4.029,20026,4.486,20027,4.486,23790,6.035,23897,6.035,23898,6.219,23899,4.153,23900,6.035,23921,4.735,23922,4.735,23975,10.191,23976,5.112,23977,5.112,23978,5.112,23979,5.112,23980,5.112,23981,5.112,23982,5.112,23983,5.112,23984,5.112,23985,5.112,23986,5.112,23987,5.112,23988,5.112,23989,5.112,23990,7.655,23991,7.655,23992,5.112,23993,5.112,23994,5.112,23995,5.112,23996,5.112]],["title/classes/UserLoginMigrationResponse.html",[0,0.241,23859,5.658]],["body/classes/UserLoginMigrationResponse.html",[0,0.231,2,0.706,3,0.012,4,0.012,5,0.006,7,0.093,27,0.512,29,0.51,30,0.001,31,0.376,32,0.163,33,0.61,34,2.203,47,0.923,52,6.986,83,4.137,95,0.075,101,0.009,103,0,104,0,112,0.729,157,2.907,180,6.098,190,2.309,194,3.652,201,4.716,202,1.535,232,2.515,296,3.175,433,0.821,435,2.297,458,2.666,459,3.458,868,4.473,1361,6.638,1434,5.997,2163,7.134,3011,4.247,3430,5.014,3595,7.107,4970,6.127,8963,8.157,12149,7.134,14358,7.836,14362,5.868,23790,8.421,23836,8.157,23837,8.157,23859,9.858,23897,8.421,23898,8.679,23899,8.679,23900,8.421,23908,6.193,23909,6.193,23910,6.193,23911,5.868,23912,5.868,23913,5.868,23914,5.868,23915,5.868,23916,5.868,23917,5.868,23918,5.868,23997,12.358,23998,6.686,23999,9.294,24000,6.686,24001,6.686,24002,6.686,24003,6.686,24004,6.686,24005,6.686]],["title/injectables/UserLoginMigrationRevertService.html",[589,0.926,4977,5.86]],["body/injectables/UserLoginMigrationRevertService.html",[0,0.3,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,27,0.431,29,0.844,30,0.001,31,0.621,32,0.137,33,0.505,35,0.995,36,2.338,52,6.176,95,0.148,101,0.011,103,0.001,104,0.001,180,5.895,228,1.986,277,1.241,290,2.059,317,2.633,433,1.359,478,2.432,589,1.47,591,2.059,652,2.25,657,2.529,703,2.663,1853,2.848,2066,8.496,2068,8.446,2070,4.68,4970,5.59,4974,7.052,4975,9.927,4977,9.306,4982,8.168,4984,5.466,14618,7.619,15335,6.242,17780,7.619,24006,10.684,24007,8.681,24008,11.06,24009,8.681,24010,11.06,24011,8.681,24012,8.681,24013,8.681]],["title/injectables/UserLoginMigrationRule.html",[589,0.926,1879,5.86]],["body/injectables/UserLoginMigrationRule.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,27,0.456,29,0.892,30,0.001,31,0.657,32,0.154,33,0.534,35,1.201,95,0.144,101,0.01,103,0,104,0,122,2.743,135,1.362,148,1.029,180,5.32,183,4.464,205,2.748,228,1.432,277,1.14,290,3.282,400,2.338,433,0.98,478,2.234,589,1.392,591,1.892,653,3.28,711,3.832,1237,2.31,1775,6.793,1801,8.144,1838,7.481,1853,2.616,1879,8.809,1982,6.672,1986,6.445,1993,5.213,2619,6.672,3711,5.285,3714,6.756,3716,5.285,3717,6.939,3718,5.734,4982,8.718,7003,5.629,20063,7.386,24014,12.411,24015,7.974,24016,7.974,24017,7.974,24018,7.974]],["title/classes/UserLoginMigrationSearchListResponse.html",[0,0.241,23860,6.113]],["body/classes/UserLoginMigrationSearchListResponse.html",[0,0.271,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,27,0.499,29,0.598,30,0.001,31,0.44,32,0.171,33,0.586,52,5.25,55,2.905,56,6.201,59,3.216,70,6.679,95,0.129,101,0.01,103,0,104,0,112,0.812,125,1.866,180,5.493,190,2.209,202,1.799,231,1.785,290,1.858,296,2.708,298,3.402,339,3.758,433,0.962,436,3.641,860,7.305,861,5.436,862,8.357,863,7.261,864,5.949,866,3.902,868,5.577,869,3.834,870,4.288,871,2.882,872,5.53,873,6.594,874,6.058,875,5.122,876,4.079,877,5.53,878,5.53,880,4.992,881,4.288,4970,4.752,10988,7.256,10989,7.256,23859,10.907,23860,9.082,23997,9.585,24019,7.834]],["title/classes/UserLoginMigrationSearchParams.html",[0,0.241,23824,5.86]],["body/classes/UserLoginMigrationSearchParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,33,0.552,39,3.6,47,0.887,52,6.126,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,180,5.775,190,1.792,200,3.06,201,4.693,202,2.296,299,4.727,300,4.627,4970,5.545,10990,8.776,10993,8.776,23824,10.16,23948,11.184,24020,9.999]],["title/injectables/UserLoginMigrationService.html",[589,0.926,4975,5.109]],["body/injectables/UserLoginMigrationService.html",[0,0.13,3,0.007,4,0.007,5,0.003,7,0.052,8,0.687,26,2.042,27,0.473,29,0.926,30,0.001,31,0.682,32,0.15,33,0.554,35,1.366,36,2.702,39,1.039,47,0.857,48,1.754,55,1.218,83,2.528,95,0.13,99,0.754,101,0.005,103,0,104,0,122,2.196,125,2.054,135,1.679,142,3.121,148,1.193,153,1.781,180,5.841,228,1.548,277,0.535,279,1.552,317,2.923,433,0.738,478,1.049,569,1.868,579,2.15,589,0.799,591,0.888,652,2.6,657,2.819,703,1.844,711,3.851,1312,1.764,1422,1.499,1540,2.598,1853,1.228,1924,4.042,2066,5.714,2068,5.226,2070,2.019,2071,6.507,2219,1.678,2220,1.888,2221,1.822,2504,3.15,3430,1.626,3900,1.976,4259,2.192,4588,2.953,4970,5.661,4973,5.276,4975,4.409,4982,8.781,4984,8.318,4989,5.276,5138,2.004,5412,6.618,5449,6.076,8048,3.15,8114,4.683,11371,2.951,13094,5.982,13858,3.286,14358,2.746,14370,4.883,14955,3.15,15335,2.692,15475,2.951,15482,5.415,15491,6.618,15510,3.468,15522,3.042,16485,8.35,16500,3.286,16501,7.67,17780,3.286,19035,5.276,19676,4.243,20219,3.468,20223,3.468,20247,3.468,20257,9.337,20260,3.468,20441,3.468,20954,5.276,20960,3.042,20964,5.276,20965,3.468,20966,3.286,22964,6.61,23856,5.057,23899,4.883,23900,2.951,24006,10.819,24021,6.011,24022,6.011,24023,6.011,24024,6.011,24025,6.011,24026,6.011,24027,8.621,24028,3.744,24029,6.011,24030,6.011,24031,3.744,24032,6.011,24033,3.744,24034,6.011,24035,3.744,24036,6.011,24037,3.744,24038,6.011,24039,3.744,24040,6.011,24041,3.744,24042,6.011,24043,3.744,24044,6.011,24045,3.744,24046,3.744,24047,6.011,24048,3.744,24049,3.744,24050,3.744,24051,3.744,24052,3.744,24053,7.531,24054,7.531,24055,7.531,24056,3.744,24057,3.744,24058,6.011,24059,3.744,24060,3.744,24061,3.744,24062,3.744,24063,3.744,24064,6.011,24065,3.744,24066,3.744,24067,3.744,24068,6.011,24069,3.744,24070,6.011,24071,3.744,24072,3.744,24073,3.744,24074,6.011,24075,5.568,24076,3.744]],["title/classes/UserLoginMigrationStartLoggable.html",[0,0.241,19038,5.86]],["body/classes/UserLoginMigrationStartLoggable.html",[0,0.301,2,0.918,3,0.016,4,0.016,5,0.008,7,0.121,8,1.266,26,2.788,27,0.432,29,0.664,30,0.001,31,0.489,32,0.108,33,0.397,35,0.998,39,3.382,52,6.508,95,0.123,99,1.753,101,0.011,103,0.001,104,0.001,125,2.903,148,0.855,180,5.804,228,1.989,242,4.591,339,2.551,376,6.381,400,2.551,433,1.069,652,1.769,703,3.398,1027,2.662,1115,3.311,1237,3.208,1422,4.878,1423,5.681,1426,5.697,1434,5.614,1468,5.681,1469,5.964,4970,5.596,12506,6.381,15331,9.224,15357,6.858,19038,9.319,20173,8.058,20174,8.058,23787,9.605,24077,8.7]],["title/injectables/UserLoginMigrationUc.html",[589,0.926,23796,5.86]],["body/injectables/UserLoginMigrationUc.html",[0,0.171,3,0.009,4,0.009,5,0.004,7,0.069,8,0.852,26,2.731,27,0.39,29,0.764,30,0.001,31,0.562,32,0.124,33,0.457,35,1.03,36,2.389,39,2.494,47,0.909,52,2.504,95,0.148,99,0.994,100,1.721,101,0.006,103,0,104,0,135,1.527,142,3.625,145,1.853,148,0.733,153,1.828,174,3.37,180,5.403,228,2.17,277,0.706,290,2.375,317,2.676,339,1.447,365,3.991,402,1.775,433,0.916,478,1.383,579,2.859,589,0.991,591,1.171,595,1.872,610,1.947,652,2.458,657,2.883,693,2.244,756,1.968,869,5.262,998,4.742,1027,1.51,1197,4.05,1422,1.976,1472,2.744,1526,9.01,1778,3.108,1793,3.271,1853,1.619,1862,6.238,1962,2.945,2071,4.406,2447,4.906,2680,2.267,2681,2.945,2685,3.62,3240,2.536,4588,3.682,4862,3.271,4863,3.319,4952,6.591,4970,4.937,4972,4.01,4975,8.61,4976,9.253,4982,6.381,4984,8.065,4985,4.01,5147,7.589,10114,4.332,12518,4.01,13565,9.253,13580,5.589,13711,6.164,14355,4.332,14358,8.864,14387,5.361,16501,4.01,17005,9.536,17022,4.153,17035,4.153,17050,4.332,17081,4.572,17082,4.572,17402,3.891,17871,4.572,20264,4.332,22970,8.323,23796,6.274,23804,6.906,23805,6.906,23858,8.135,23971,9.512,24078,10.75,24079,4.936,24080,4.936,24081,7.456,24082,4.936,24083,7.456,24084,4.936,24085,4.936,24086,4.936,24087,7.456,24088,4.332,24089,4.332,24090,8.986,24091,4.936,24092,7.456,24093,4.936,24094,4.936,24095,4.936,24096,4.936,24097,4.936,24098,4.936,24099,4.936,24100,4.936,24101,7.456,24102,4.936,24103,8.986,24104,4.936,24105,7.456,24106,4.936,24107,4.936,24108,4.936,24109,4.936,24110,4.936]],["title/classes/UserMapper.html",[0,0.241,24111,6.113]],["body/classes/UserMapper.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,8,1.322,27,0.363,29,0.712,30,0.001,31,0.524,32,0.115,33,0.426,34,1.595,35,1.069,95,0.129,101,0.012,103,0.001,104,0.001,148,0.917,153,1.508,205,1.9,290,3.12,331,5.139,467,3.662,478,2.613,700,4.513,701,4.513,702,4.618,704,4.761,1198,5.621,4588,3.194,4593,5.943,4768,5.621,4778,8.185,8123,7.576,12899,7.847,19218,9.735,19222,9.735,20024,7.351,20256,6.99,23529,7.351,23530,7.159,23531,7.351,23695,8.638,23696,8.638,23697,8.638,23702,8.638,23703,8.638,23704,8.638,23705,8.638,23706,8.638,23737,11.067,23739,8.638,24111,10.155,24112,9.326,24113,9.326,24114,9.326,24115,9.326]],["title/classes/UserMatchListResponse.html",[0,0.241,14050,5.86]],["body/classes/UserMatchListResponse.html",[0,0.365,2,0.689,3,0.012,4,0.012,5,0.006,7,0.091,27,0.469,29,0.498,30,0.001,31,0.513,32,0.168,33,0.549,34,1.115,39,1.81,47,0.839,55,2.835,56,5.871,59,2.839,70,6.323,95,0.134,101,0.012,103,0,104,0,112,0.717,125,1.554,142,2.361,157,2.885,180,2.796,190,2.048,195,1.433,200,1.996,201,3.551,202,1.498,231,1.576,232,1.765,242,3.443,243,4.107,290,3.035,296,3.348,298,2.833,331,2.897,339,3.526,374,2.833,415,6.008,433,0.801,436,3.374,567,2.432,614,2.022,700,4.421,701,4.421,855,3.699,862,7.965,863,6.874,864,5.252,866,3.249,868,5.074,869,3.193,870,3.57,871,2.4,872,4.605,873,5.822,874,5.348,875,4.265,876,3.396,877,4.605,878,4.605,880,4.157,881,3.57,886,2.892,1619,7.032,2010,4.324,3430,2.833,3431,4.209,3432,3.75,3436,3.352,3612,4.157,4970,4.195,5245,4.016,5408,4.691,6317,3.784,11263,4.265,11264,4.605,11265,4.265,11266,4.605,12473,4.526,12490,5.624,13946,5.007,13947,4.454,13981,7.686,13997,5.488,14050,7.686,14099,10.293,14101,8.093,14104,5.488,14105,5.488,14106,5.488,14107,5.488,14171,9.253,24116,8.462,24117,6.042,24118,6.523,24119,6.523,24120,5.725]],["title/classes/UserMatchMapper.html",[0,0.241,14042,5.86]],["body/classes/UserMatchMapper.html",[0,0.251,2,0.767,3,0.013,4,0.013,5,0.007,7,0.101,8,1.124,27,0.384,29,0.751,30,0.001,31,0.627,32,0.122,33,0.45,35,1.129,39,2.017,59,2.259,95,0.144,99,1.464,100,3.432,101,0.009,103,0,104,0,129,2.152,135,1.676,142,4.039,148,1.266,153,1.175,195,1.597,290,2.964,365,4.37,376,5.33,393,3.598,467,3.75,478,2.036,578,3.809,579,2.075,700,3.517,701,3.517,830,5.471,837,3.598,1393,6.359,2038,4.631,3431,4.689,3432,4.178,3469,4.887,3470,4.751,4970,5.124,5056,5.471,5057,5.225,6288,4,12473,5.042,12503,10.062,13217,5.447,13751,9.715,13946,7.554,13947,6.719,13956,10.887,14042,8.28,14044,6.378,14099,9.427,14101,8.565,14124,5.728,14126,6.114,14178,5.728,19013,8.637,19236,9.115,19241,6.731,19242,6.731,19243,6.731,24121,11.158,24122,7.267,24123,9.841,24124,7.267,24125,7.267,24126,7.267,24127,7.267,24128,9.841,24129,7.267,24130,7.267,24131,7.267,24132,7.267,24133,9.841,24134,7.267,24135,7.267,24136,7.267,24137,7.267,24138,7.267]],["title/classes/UserMatchResponse.html",[0,0.241,14099,5.49]],["body/classes/UserMatchResponse.html",[0,0.356,2,0.66,3,0.012,4,0.012,5,0.006,7,0.087,27,0.493,29,0.477,30,0.001,31,0.579,32,0.167,33,0.471,34,1.516,39,2.859,47,0.949,55,2.087,56,4.175,70,4.497,95,0.132,101,0.011,103,0,104,0,112,0.695,142,2.262,157,2.845,180,3.799,190,2.203,195,1.948,200,1.912,201,3.445,202,1.435,231,1.078,232,2.398,242,3.298,243,3.935,290,3.255,296,3.307,298,2.714,331,2.775,339,2.599,374,3.849,415,6.744,433,0.768,435,2.147,567,3.305,614,2.748,700,5.727,701,5.727,855,3.589,862,5.517,863,3.447,864,3.593,868,5.394,880,3.982,881,3.42,886,3.549,1361,3.593,1619,7.951,2010,5.875,3430,3.849,3431,5.719,3432,5.095,3436,4.554,3612,5.648,4197,3.806,4970,5.931,5245,5.456,5408,6.373,6317,5.141,11263,4.086,11264,4.411,11265,4.086,11266,4.411,12473,7.147,12490,6.899,13946,7.906,13947,7.032,13981,7.457,13997,5.258,14050,5.258,14099,10.181,14101,9.084,14104,5.258,14105,5.258,14106,5.258,14107,5.258,14171,10.386,24116,11.963,24117,5.788,24120,7.779,24139,6.249,24140,6.249,24141,6.249,24142,6.249,24143,6.249,24144,6.249,24145,6.249]],["title/interfaces/UserMetdata.html",[159,0.712,11401,5.49]],["body/interfaces/UserMetdata.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.793,30,0.001,31,0.35,32,0.133,34,1.066,36,2.499,47,0.972,51,4.259,55,0.794,72,1.8,95,0.144,99,0.79,101,0.005,103,0,104,0,112,0.489,122,0.813,135,1.791,142,2.257,145,2.34,148,1.186,153,1.664,159,0.988,161,0.934,172,2.661,228,1.847,254,1.41,277,0.56,290,0.93,317,2.558,339,3.539,412,1.741,433,0.481,478,1.098,528,1.988,578,2.054,579,2.526,589,0.829,595,1.486,610,2.459,614,2.743,652,2.599,657,3.11,980,5.327,1065,4.356,1212,2.529,1472,2.179,1853,1.286,1885,2.413,2005,4.703,2006,4.638,2008,3.867,2018,5.146,2027,3.052,2033,4.375,2035,2.162,2040,4.401,2047,2.938,2048,2.818,2298,6.976,2370,2.196,2512,2.339,2550,2.362,2776,6.45,3899,4.193,3900,2.068,4588,1.342,4739,5.01,4862,2.598,4863,2.635,5056,4.316,5057,2.818,5449,4.68,5466,5.087,5953,2.598,6303,2.719,6685,5.146,6739,4.401,6809,2.676,6824,5.076,6889,4.483,6982,2.719,7044,4.779,7045,5.146,7062,4.833,7068,5.819,7077,2.818,7078,2.818,7121,4.786,7510,3.584,7513,4.948,7514,2.767,7608,2.875,7655,3.089,8114,5.246,8120,4.257,8311,3.926,10208,2.767,10282,3.009,10447,4.282,10471,6.363,10538,3.089,10628,2.818,10631,7.065,10637,5.221,10666,3.009,11352,3.009,11353,3.184,11354,3.184,11355,3.184,11356,3.184,11357,3.184,11358,2.818,11359,3.184,11372,5.387,11374,3.184,11377,3.184,11379,3.184,11381,3.184,11382,7.189,11384,3.184,11386,3.184,11388,3.184,11390,3.184,11392,8.504,11393,3.184,11395,3.184,11397,3.184,11399,3.009,11400,3.184,11401,6.12,11402,6.976,11403,4.915,11404,5.065,11405,5.065,11406,7.847,11407,5.065,11408,3.184,11409,5.065,11410,3.184,11411,3.184,11412,5.065,11413,3.184,11414,3.184,11415,5.065,11416,3.184,11417,3.184,11418,3.184,11419,3.184,11420,3.184,11421,3.184,11422,3.184,11423,3.184,11424,3.184,11425,3.184,11426,6.307,11427,3.184,11428,3.184,11429,3.184,11430,3.184,11431,3.184,11432,3.184,11433,3.184,11434,3.184,11435,3.184,11436,3.184,11437,3.184,11438,5.065,11439,3.184,11440,3.089,11441,3.184,11442,4.193,11443,2.635,11444,3.089,11445,3.089,11446,3.184,11447,5.065,11448,3.184,11449,5.065,11450,3.184,11451,3.089,11452,3.184,11453,3.184,11454,3.184,11455,3.184,11456,3.184,11457,3.184,11458,3.089,11459,3.089]],["title/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.241,24146,6.113]],["body/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,26,2.564,27,0.422,29,0.641,30,0.001,31,0.471,32,0.134,33,0.383,35,0.962,39,3.325,52,6.805,95,0.141,99,1.691,101,0.011,103,0.001,104,0.001,148,0.825,158,3.097,180,5.134,228,1.943,231,1.867,242,4.428,277,1.2,339,2.46,400,2.46,433,1.031,652,1.707,711,3.47,1027,2.568,1080,4.152,1237,3.135,1312,5.643,1313,5.729,1314,6.154,1422,4.795,1426,5.621,1462,4.524,1468,5.585,1477,4.284,1478,4.459,1928,7.079,4970,5.501,9216,9.045,9261,6.817,10119,6.154,12506,6.154,19596,9.732,20190,11.096,20193,7.772,23787,9.443,24146,9.498,24147,8.39,24148,8.39]],["title/classes/UserMigrationIsNotEnabled.html",[0,0.241,24149,6.451]],["body/classes/UserMigrationIsNotEnabled.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,8,1.357,27,0.379,30,0.001,35,1.116,52,6.504,95,0.108,101,0.012,103,0.001,104,0.001,148,0.957,290,2.309,703,2.986,1027,2.978,1087,4.492,1115,3.704,1237,3.441,1422,5.132,1423,5.977,1426,5.929,1468,5.977,1469,6.275,4970,5.455,7739,6.128,12501,6.87,13728,6.451,24149,11.002,24150,11.878,24151,9.733,24152,9.733,24153,9.733]],["title/injectables/UserMigrationService.html",[589,0.926,23971,5.86]],["body/injectables/UserMigrationService.html",[0,0.21,3,0.011,4,0.011,5,0.005,7,0.085,8,0.993,26,2.683,27,0.431,29,0.845,30,0.001,31,0.622,32,0.137,33,0.506,35,1.163,36,2.574,47,0.959,52,3.084,66,8.658,83,1.782,94,6.179,95,0.143,99,1.225,101,0.008,103,0,104,0,135,1.44,153,1.79,158,3.208,180,5.019,228,1.822,277,0.869,317,2.824,433,1.068,579,1.736,589,1.155,591,1.442,629,4.587,652,2.655,657,2.932,666,9.625,938,4.938,1027,1.86,1080,3.837,1328,4.619,1422,2.433,1712,4.666,2447,5.241,3900,3.208,4970,5.377,5147,7.16,5449,7.341,8114,7.473,8121,4.938,10098,8.755,11371,4.792,14358,9.406,14379,8.05,14955,5.115,14961,5.63,14962,5.335,17551,4.792,18096,5.63,19596,4.938,20197,9.395,20202,9.395,23971,7.312,24006,10.277,24075,5.63,24146,5.335,24154,8.691,24155,6.079,24156,6.079,24157,6.079,24158,8.691,24159,6.079,24160,11.709,24161,11.709,24162,6.079,24163,6.079,24164,6.079,24165,6.079,24166,8.691,24167,6.079,24168,6.079,24169,6.079,24170,6.079,24171,6.079]],["title/classes/UserMigrationStartedLoggable.html",[0,0.241,24088,6.113]],["body/classes/UserMigrationStartedLoggable.html",[0,0.31,2,0.947,3,0.017,4,0.017,5,0.008,7,0.125,8,1.29,26,2.629,27,0.44,29,0.685,30,0.001,31,0.504,32,0.111,33,0.41,35,1.029,39,3.43,52,6.582,95,0.138,99,1.808,101,0.011,103,0.001,104,0.001,148,0.882,180,5.56,228,2.028,242,4.735,290,2.679,339,2.631,400,2.631,433,1.102,652,1.825,1027,2.745,1115,3.414,1237,3.271,1422,4.948,1423,5.762,1426,5.761,1434,5.789,1853,2.943,4970,5.676,4982,8.267,4984,7.783,12506,6.581,15331,6.451,20270,7.874,24088,9.912,24172,11.449,24173,8.972,24174,8.972,24175,8.972]],["title/classes/UserMigrationSuccessfulLoggable.html",[0,0.241,24089,6.113]],["body/classes/UserMigrationSuccessfulLoggable.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,26,2.633,27,0.441,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,39,3.437,52,6.284,95,0.138,99,1.816,101,0.012,103,0.001,104,0.001,148,0.886,180,5.308,228,2.034,242,4.756,290,2.138,339,2.642,385,6.153,400,2.642,433,1.107,652,1.833,1027,2.758,1115,3.429,1237,3.281,1422,4.958,1423,5.774,1426,5.771,1853,2.957,4970,5.688,4982,8.281,4984,7.799,12506,6.61,15331,6.48,16926,7.321,20266,8.347,20270,7.909,24089,9.94,24172,11.472,24176,9.012,24177,9.012]],["title/modules/UserModule.html",[252,1.839,3890,4.335]],["body/modules/UserModule.html",[0,0.279,3,0.015,4,0.015,5,0.007,30,0.001,95,0.153,101,0.01,103,0,104,0,252,3.104,254,2.903,255,3.082,256,3.159,257,3.148,258,3.137,259,4.27,260,4.369,264,9.544,265,6.157,268,8.641,269,4.131,270,3.103,271,3.04,276,4.131,277,1.154,279,3.346,703,2.476,1027,2.47,1524,10.189,1537,5.919,2070,4.351,3890,9.082,5449,8.551,6077,8.798,23651,11.168,24178,8.07,24179,8.07,24180,8.07,24181,8.07,24182,8.07,24183,7.475,24184,7.475,24185,8.07,24186,8.07]],["title/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.241,17024,6.113]],["body/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.286,2,0.871,3,0.015,4,0.015,5,0.007,7,0.115,8,1.223,26,2.548,27,0.417,29,0.63,30,0.001,31,0.464,32,0.102,33,0.377,35,0.946,47,0.981,48,5.894,59,2.565,95,0.132,99,1.663,101,0.011,103,0.001,104,0.001,148,0.811,228,2.134,231,1.847,233,2.558,244,5.826,290,1.958,339,2.42,347,5.501,433,1.315,436,2.438,652,2.417,703,2.532,1027,2.525,1080,2.861,1115,3.141,1237,3.101,1422,5.034,1423,5.541,1426,5.585,1462,4.449,1463,9.427,1468,5.541,1469,5.817,1470,4.625,1471,6.053,1472,4.588,1476,4.974,1477,4.213,1478,4.386,2617,6.664,3364,5.934,4249,6.335,5138,4.417,6281,5.549,7739,5.196,10098,8.114,10101,7.243,10107,8.222,10112,6.186,10416,5.47,17024,9.397,17044,7.243,24187,10.707,24188,10.707,24189,8.253,24190,8.253,24191,8.253]],["title/classes/UserParams.html",[0,0.241,699,5.658]],["body/classes/UserParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,34,2.058,39,3.593,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,187,6.803,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,290,2.856,296,3.15,699,9.78,855,4.875,4197,6.06,24192,9.95,24193,9.95]],["title/classes/UserParentsEntity.html",[0,0.241,23547,5.658]],["body/classes/UserParentsEntity.html",[0,0.308,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,27,0.504,29,0.68,30,0.001,31,0.501,32,0.16,33,0.407,47,1.038,95,0.099,96,2.327,101,0.014,103,0.001,104,0.001,112,0.882,159,0.911,190,2.209,223,4.311,224,2.581,232,3.043,433,1.095,435,3.062,700,6.263,701,6.263,702,6.408,2712,5.706,11263,5.827,11264,6.291,11265,5.827,11266,6.291,11267,6.085,11268,6.537,23547,9.137,23919,11.711,24194,8.255,24195,11.358,24196,11.246,24197,8.912,24198,8.912]],["title/interfaces/UserParentsEntityProps.html",[159,0.712,24195,6.113]],["body/interfaces/UserParentsEntityProps.html",[0,0.326,3,0.017,4,0.017,5,0.008,7,0.131,30,0.001,32,0.156,47,1.065,95,0.105,96,2.463,101,0.015,103,0.001,104,0.001,112,0.914,159,0.965,161,2.248,223,4.116,224,2.733,232,2.553,700,6.567,701,6.567,702,6.719,2712,5.913,11263,6.169,11264,6.661,11265,6.169,11266,6.661,11267,6.442,11268,6.921,23547,7.665,23919,8.281,24194,8.74,24195,11.099]],["title/interfaces/UserProperties.html",[159,0.712,23558,5.86]],["body/interfaces/UserProperties.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.181,30,0.001,32,0.166,33,0.632,34,0.808,47,1.042,83,3.923,95,0.124,96,1.234,101,0.011,103,0,104,0,112,0.907,122,2.03,135,1.139,148,0.465,153,1.415,159,0.738,161,1.126,195,2.94,196,4.403,205,1.783,219,2.607,223,4.226,224,1.369,225,2.765,226,2.149,229,1.864,231,0.816,232,1.279,233,1.465,290,1.712,331,4.684,579,1.349,692,5.183,700,5.38,701,5.38,702,5.505,703,3.658,704,5.676,711,1.369,874,2.767,886,1.497,1078,4.29,1198,6.357,1237,1.369,1821,2.238,1826,4.496,1827,4.148,1835,2.429,2942,4.059,2946,2.53,2950,4.011,3418,2.129,3436,6.127,4441,2.793,4582,7.201,4588,1.619,4593,7.085,4654,3.808,4676,3.726,4677,3.543,5366,3.84,5367,3.84,5368,3.84,5376,5.408,5467,8.874,5727,3.364,6622,3.628,7549,4.441,7552,2.942,7573,2.91,7574,2.82,7895,2.849,7896,2.942,11258,8.096,11263,3.09,11264,3.337,11265,3.09,11266,3.337,11267,3.227,11268,3.467,11269,3.977,11270,4.148,11596,8.096,11656,3.84,11660,3.977,13950,3.977,15253,7.201,15351,3.543,17952,3.84,17967,3.84,17972,3.84,18897,3.726,19203,3.977,19204,3.977,19206,3.977,19210,6.071,19930,3.726,20256,7.905,22286,3.726,23528,4.378,23529,8.314,23530,8.096,23531,8.314,23547,9.032,23554,4.378,23555,6.683,23556,6.683,23557,6.683,23558,7.363,23559,3.977,23560,4.378,23561,4.378,23562,3.977,23563,4.378,23564,3.977,23565,4.378,23566,3.977,23567,4.378,23568,4.378,23569,4.378,23570,4.378,23571,6.683]],["title/injectables/UserRepo.html",[268,4.242,589,0.926]],["body/injectables/UserRepo.html",[0,0.122,3,0.007,4,0.007,5,0.003,7,0.049,8,0.656,10,2.307,12,2.598,18,2.877,26,2.32,27,0.473,29,0.894,30,0.001,31,0.658,32,0.145,33,0.535,34,1.426,35,1.37,36,2.782,39,2.314,40,2.778,47,0.819,48,3.908,49,1.332,55,0.717,56,1.666,59,1.784,70,1.794,72,2.636,95,0.124,96,1.499,97,1.426,98,2.131,99,0.712,101,0.005,103,0,104,0,129,2.146,130,0.957,135,1.713,142,2.078,145,3.442,148,1.059,153,0.928,158,2.119,193,2.504,195,1.261,197,1.604,205,0.721,206,1.873,224,1.024,231,0.99,252,1.515,268,3.496,277,0.506,290,2.557,317,2.937,331,3.704,393,1.751,415,4.752,436,2.463,478,0.991,532,4.296,540,3.258,569,1.099,571,2.868,579,1.01,589,0.763,591,0.839,595,1.341,624,2.651,652,1.474,657,2.548,692,3.888,700,1.711,701,1.711,702,2.842,703,2.558,704,2.931,728,6.001,730,6.711,732,5.317,734,2.419,735,2.598,736,3.567,756,1.41,759,2.11,760,2.154,761,2.131,762,2.154,764,2.131,765,2.154,766,1.893,770,2.227,771,2.543,781,3.104,789,3.965,790,3.86,863,1.95,870,1.935,1065,1.741,1072,5.996,1086,3.449,1087,3.344,1088,3.395,1089,3.609,1090,1.921,1091,2.344,1094,2.651,1393,5.226,1454,2.177,1829,1.516,1831,2.344,2038,3.658,2232,3.271,2472,3.46,2938,4.794,3418,4.13,3436,3.723,3750,3.919,4588,1.966,4832,2.873,5136,6.078,5138,1.893,5215,3.271,5264,5.115,5953,5.527,6203,4.617,7638,2.131,7704,2.975,7807,2.714,7924,5.133,7934,4.303,7953,2.594,7954,2.594,7996,4.406,10603,4.303,11596,2.714,12104,3.275,12210,6.359,12836,3.104,12837,3.104,13751,6.775,13943,2.543,13965,3.104,13972,9.069,14124,2.788,14178,2.788,14199,3.275,14265,3.275,14276,2.975,14277,3.275,14279,3.275,14284,3.104,14285,3.275,15193,2.594,15229,4.663,22427,5.038,22429,5.038,22678,5.317,23654,5.317,23660,5.317,23680,3.275,23683,3.275,23686,3.275,23687,3.275,23692,3.275,23694,3.275,24199,3.536,24200,5.317,24201,5.317,24202,7.246,24203,5.317,24204,5.317,24205,3.536,24206,5.317,24207,3.536,24208,3.536,24209,3.536,24210,3.536,24211,3.536,24212,5.317,24213,3.536,24214,3.536,24215,3.536,24216,3.536,24217,3.536,24218,3.536,24219,5.317,24220,3.536,24221,3.536,24222,5.74,24223,5.74,24224,5.74,24225,3.536,24226,3.536,24227,7.246,24228,3.536,24229,3.536,24230,3.536,24231,3.536,24232,3.536,24233,2.975,24234,5.74,24235,3.536,24236,3.536,24237,5.74,24238,3.536,24239,3.536,24240,5.74,24241,5.74,24242,5.74,24243,5.74,24244,5.74,24245,5.74,24246,5.74,24247,7.246,24248,3.536,24249,3.536,24250,3.536,24251,3.536,24252,3.536,24253,3.536,24254,5.317,24255,3.536,24256,3.536,24257,5.74,24258,3.536,24259,3.536]],["title/injectables/UserRule.html",[589,0.926,1880,5.86]],["body/injectables/UserRule.html",[0,0.282,3,0.015,4,0.015,5,0.007,7,0.114,8,1.214,27,0.46,29,0.902,30,0.001,31,0.664,32,0.155,33,0.54,35,1.218,95,0.139,101,0.01,103,0.001,104,0.001,122,2.595,135,1.537,148,1.044,183,4.512,205,2.801,228,1.464,277,1.166,290,3.439,400,2.39,433,1.001,478,2.284,589,1.412,591,1.934,653,3.353,711,3.855,1237,2.361,1775,6.851,1801,8.193,1838,7.545,1880,8.937,1982,6.769,1986,6.538,1993,5.33,2619,6.769,3711,5.403,3714,6.854,3716,5.403,3717,7.04,3718,5.862,24260,8.152,24261,8.152,24262,8.152,24263,8.152,24264,10.622]],["title/classes/UserScope.html",[0,0.241,23670,6.113]],["body/classes/UserScope.html",[0,0.213,2,0.651,3,0.011,4,0.011,5,0.006,7,0.086,8,1.003,26,2.257,27,0.518,29,0.961,30,0.001,31,0.707,32,0.164,33,0.575,35,1.444,59,3.659,83,4.13,95,0.114,99,1.242,101,0.008,103,0,104,0,112,0.688,122,2.537,125,2.804,129,1.825,130,1.668,148,1.157,197,1.722,231,1.514,279,2.555,290,1.462,365,2.737,436,3.477,478,1.726,569,1.915,652,2.489,703,1.891,2479,6.04,3109,6.195,4588,3.501,6288,5.323,7007,5.817,7008,5.817,7009,5.817,7014,5.817,7015,5.817,7016,4.144,7017,4.085,7018,4.144,7019,4.144,7028,4.085,7029,5.817,7030,4.144,7031,4.085,7032,4.144,7033,4.085,7034,7.802,7512,7.349,7944,5.007,9534,7.703,12026,7.703,12037,7.703,15694,5.409,20248,10.903,20256,6.578,20443,9.904,23530,7.846,23670,11.912,23676,8.129,24265,6.163,24266,8.776,24267,8.776,24268,6.163,24269,8.776,24270,6.163,24271,8.776,24272,6.163,24273,8.776,24274,6.163,24275,8.776,24276,6.163]],["title/injectables/UserService.html",[589,0.926,5449,4.198]],["body/injectables/UserService.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.052,8,0.683,12,2.704,18,2.994,26,2.654,27,0.497,29,0.974,30,0.001,31,0.717,32,0.158,33,0.583,34,1.281,35,1.448,36,2.944,39,2.61,40,2.892,47,0.938,48,4.023,59,1.155,66,3.906,94,1.885,95,0.146,99,0.749,101,0.005,102,1.975,103,0,104,0,122,1.554,135,1.717,142,1.345,148,1.226,153,0.601,161,0.885,185,2.047,195,2.067,208,2.34,228,1.689,268,6.118,277,0.531,279,1.541,290,2.919,317,3.07,340,2.34,365,1.65,412,1.65,433,0.734,478,1.041,540,2.848,569,1.857,579,1.061,589,0.794,591,0.882,595,1.409,634,6.125,651,1.885,652,2.234,657,2.66,666,8.106,702,1.84,704,1.897,711,2.171,869,2.925,938,3.019,987,3.442,1198,2.24,1537,2.726,1712,2.853,1823,3.262,1826,3.07,1853,1.219,1998,4.71,2370,2.083,2444,4.218,2456,4.08,2513,2.118,2953,4.347,3418,3.375,3469,2.499,3470,3.906,4582,7.21,5026,5.388,5033,2.853,5129,8.106,5150,3.127,5449,3.601,6686,3.051,6854,5.244,6870,5.244,7924,5.284,8102,2.785,8114,6.933,8117,4.71,8120,4.08,8126,3.262,11275,5.244,15392,5.244,15395,5.244,17804,5.534,18820,3.262,20505,3.019,23607,5.534,23651,8.885,23657,7.951,23669,3.442,23681,3.442,23737,6.305,23757,3.262,24111,3.262,24183,3.442,24184,3.442,24200,5.534,24201,5.534,24203,5.534,24204,5.534,24206,5.534,24212,5.534,24254,5.534,24277,3.716,24278,5.975,24279,5.975,24280,5.975,24281,5.975,24282,5.534,24283,3.716,24284,5.975,24285,3.716,24286,3.716,24287,3.716,24288,3.716,24289,3.716,24290,3.716,24291,5.975,24292,3.716,24293,5.975,24294,3.716,24295,3.716,24296,5.975,24297,3.716,24298,5.975,24299,3.716,24300,5.534,24301,3.716,24302,5.534,24303,8.584,24304,3.716,24305,5.975,24306,3.716,24307,5.975,24308,3.716,24309,3.716,24310,3.716,24311,3.716,24312,3.716,24313,3.716,24314,3.716,24315,3.716,24316,3.716,24317,3.716,24318,3.716,24319,3.716,24320,3.716,24321,3.716,24322,5.975,24323,3.716,24324,3.716,24325,3.716,24326,3.716,24327,3.716,24328,5.975,24329,3.716,24330,3.716,24331,3.716,24332,3.716,24333,3.716,24334,3.442,24335,3.716,24336,3.442,24337,3.716,24338,5.975,24339,3.716]],["title/injectables/UserUc.html",[589,0.926,14053,5.658]],["body/injectables/UserUc.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.104,8,1.144,26,2.687,27,0.471,29,0.923,30,0.001,31,0.679,32,0.15,33,0.552,35,1.296,36,2.554,39,2.779,95,0.148,99,1.502,101,0.01,103,0,104,0,135,1.471,148,0.984,153,1.206,161,1.776,195,2.2,208,4.695,228,1.798,268,7.905,277,1.066,279,3.091,290,2.867,317,2.808,326,4.302,400,2.186,433,0.916,478,2.089,569,3.112,579,2.129,589,1.331,591,1.769,634,7.692,651,3.783,652,2.458,657,2.585,837,3.692,1080,3.471,1823,6.544,1826,5.145,1998,7.893,2953,4.325,4580,10.168,4582,8.251,13350,6.906,14053,8.134,18820,6.544,20505,6.057,23757,6.544,24282,9.274,24300,9.274,24302,9.274,24334,6.906,24336,6.906,24340,7.456,24341,10.012,24342,7.456,24343,10.012,24344,7.456,24345,7.456,24346,7.456,24347,7.456,24348,7.456,24349,7.456]],["title/classes/UsersList.html",[0,0.241,7568,5.86]],["body/classes/UsersList.html",[0,0.216,2,0.82,3,0.007,4,0.007,5,0.004,7,0.15,26,2.186,27,0.303,30,0.001,31,0.436,32,0.133,34,1.652,39,2.155,47,0.949,62,2.339,83,3.016,95,0.137,96,1.023,101,0.01,103,0,104,0,112,0.489,122,1.293,125,2.45,129,2.299,134,1.388,135,1.721,148,1.3,153,1.811,155,1.251,157,1.797,159,0.401,195,2.46,196,3.205,197,1.095,205,1.271,219,3.439,223,3.489,224,1.135,225,2.389,226,1.782,229,1.546,231,0.676,232,1.061,233,1.215,290,2.44,304,1.941,371,2.083,403,3.183,433,0.481,458,1.563,467,1.815,526,2.113,540,1.3,569,1.938,578,2.054,579,1.78,595,1.486,615,3.797,652,1.8,692,4.125,700,4.283,701,4.283,703,1.913,711,3.425,756,1.563,774,3.298,886,2.458,962,2.767,1237,1.135,1312,2.937,1821,2.952,1829,2.672,1835,2.014,1926,2.387,2033,3.356,2164,1.818,2184,3.503,2942,4.771,2946,5.506,2950,4.316,2958,2.767,2960,2.468,3418,3.986,3469,2.635,3470,2.562,3649,2.234,3752,2.529,3907,4.076,4049,2.767,4094,2.468,4118,4.133,4119,4.133,4174,2.635,4441,2.316,4588,1.342,4589,5.481,4604,3.298,4638,5.695,4664,2.808,4739,5.01,5466,2.253,5727,2.907,6206,2.253,6207,3.72,6208,2.635,6211,3.973,6230,4.133,6231,2.529,6238,2.562,6251,2.676,6270,4.193,7413,2.938,7469,2.818,7505,3.44,7506,6.495,7507,5.301,7508,5.583,7509,4.193,7510,4.463,7511,2.719,7512,5.583,7513,4.948,7514,4.401,7515,5.695,7517,3.44,7519,3.44,7522,3.44,7524,3.44,7526,6.814,7529,3.44,7531,3.44,7540,3.44,7544,3.44,7545,5.695,7546,3.44,7547,3.44,7548,3.44,7549,3.838,7550,4.573,7551,3.184,7552,2.44,7553,2.215,7554,5.065,7555,5.065,7556,3.44,7557,3.184,7558,2.818,7559,3.44,7560,3.44,7561,3.298,7562,2.938,7563,3.44,7564,3.44,7565,3.089,7566,3.44,7567,3.881,7568,10.751,7569,5.583,7570,3.184,7571,4.133,7572,2.339,7573,2.413,7574,2.339,7575,3.184,7576,3.44,7577,3.44,7578,5.472,7579,5.472,7580,5.472,7581,7.189,7582,5.065,7583,4.786,7584,5.472,7585,4.673,7586,4.786,7587,2.938,7588,3.44,7589,3.44,7590,3.44,7591,3.44,7592,3.44,7593,5.472,7594,3.44,7595,3.44,7596,3.44,7597,3.44,7598,3.44,7599,3.44,7600,3.44,7601,6.532,7602,6.814,7603,3.44,7604,3.44,7605,3.44,7606,3.44,7607,3.44,7608,2.875,7609,3.44,7610,3.44,7611,3.44,7612,3.44,7613,3.44,7614,3.44,7615,3.298,7616,3.44,7617,6.814,7618,5.472,7619,3.44,7620,3.44,7621,3.184,7622,2.719,7623,3.44,7624,6.307,7625,3.44,7626,3.44,7627,3.44,7628,3.44,24350,3.919,24351,3.919,24352,3.919]],["title/classes/ValidationError.html",[0,0.241,338,4.287]],["body/classes/ValidationError.html",[0,0.273,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.188,27,0.524,29,0.603,30,0.001,31,0.444,32,0.173,33,0.531,35,0.905,47,0.969,55,1.6,59,2.454,95,0.116,101,0.01,103,0,104,0,112,0.816,155,3.946,190,2.303,228,2.504,231,1.795,233,2.448,277,1.129,338,6.403,402,2.84,433,0.97,436,3.897,868,5.95,871,2.905,998,5.508,1078,5.417,1080,4.454,1115,5.021,1354,8.696,1355,7.733,1356,7.605,1360,5.233,1361,4.539,1362,5.233,1363,5.233,1364,5.233,1365,5.233,1366,5.233,1367,4.86,1368,4.462,1369,6.224,1370,6.643,1373,4.809,1374,5.095,1375,6.061,1796,6.643,24353,7.896,24354,7.896,24355,7.313]],["title/classes/ValidationErrorDetailResponse.html",[0,0.241,1385,6.113]],["body/classes/ValidationErrorDetailResponse.html",[0,0.359,2,1.097,3,0.019,4,0.019,5,0.009,27,0.405,29,0.793,30,0.001,31,0.583,32,0.129,33,0.475,47,1.039,101,0.013,103,0.001,104,0.001,228,1.865,433,1.276,1080,4.282,1370,8.74,1381,8.867,1385,10.842,6388,8.572,24356,12.353,24357,10.387,24358,10.387,24359,10.387]],["title/classes/ValidationErrorLoggableException.html",[0,0.241,19743,6.113]],["body/classes/ValidationErrorLoggableException.html",[0,0.377,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,27,0.425,29,0.647,30,0.001,31,0.476,32,0.135,33,0.387,35,0.972,47,0.623,55,1.718,95,0.142,101,0.011,103,0.001,104,0.001,125,2.595,135,1.418,148,1.071,195,1.863,200,2.595,228,1.523,231,1.88,233,2.629,277,1.213,338,7.821,339,2.486,400,2.486,433,1.042,1115,4.146,1237,3.156,1312,5.671,1357,7.854,1359,8.852,1422,4.819,1426,5.643,1462,4.572,1468,5.924,1477,4.329,1478,4.506,2125,4.444,12509,6.684,12510,6.889,16971,11.151,18293,7.442,19743,9.563,24355,7.854,24360,12.039,24361,12.039,24362,8.479,24363,10.895,24364,8.479,24365,10.895,24366,8.479,24367,10.895,24368,8.479]],["title/modules/ValidationModule.html",[252,1.839,7463,6.113]],["body/modules/ValidationModule.html",[0,0.36,3,0.019,4,0.019,5,0.009,30,0.001,95,0.147,101,0.013,103,0.001,104,0.001,252,3.266,254,3.746,259,3.782,277,1.489,685,6.041,7463,10.859,7474,11.46,10027,7.994,10031,7.994,12723,10.859,24369,10.414,24370,10.414,24371,10.414]],["title/entities/VideoConference.html",[205,1.419,7567,4.335]],["body/entities/VideoConference.html",[0,0.369,3,0.015,4,0.015,5,0.007,7,0.175,27,0.461,30,0.001,32,0.155,47,0.783,95,0.119,96,2.137,101,0.016,103,0.001,104,0.001,112,0.929,122,2.454,190,2.122,205,2.17,206,2.67,221,6.135,223,4.152,224,2.371,225,4.081,226,3.722,228,1.47,229,3.228,231,1.412,232,2.215,233,2.537,540,4.16,886,2.592,3011,5.729,3757,6.135,4956,8.175,5466,6.122,5854,6.65,7567,6.629,7881,7.557,7907,5.778,9599,4.665,9601,5.425,9619,5.68,9620,5.68,9621,6.004,16659,6.452,16815,9.617,24372,11.613,24373,7.582,24374,9.397,24375,8.185,24376,8.185,24377,8.185,24378,7.184,24379,7.582,24380,7.582,24381,6.65,24382,6.887,24383,6.65,24384,6.452,24385,9.864,24386,7.582,24387,7.582,24388,7.582,24389,7.582,24390,7.582]],["title/classes/VideoConference-1.html",[0,0.2,756,2.309,7567,3.604]],["body/classes/VideoConference-1.html",[0,0.313,2,0.953,3,0.017,4,0.017,5,0.008,7,0.126,27,0.507,29,0.69,30,0.001,31,0.507,32,0.161,33,0.566,95,0.138,100,3.15,101,0.012,103,0.001,104,0.001,112,0.89,289,7.192,433,1.11,595,3.425,693,6.217,2138,7.07,2148,6.376,2154,5.501,2324,10.495,4295,9.543,7567,8.339,9599,5.147,9601,5.987,9611,6.376,9613,7.338,24391,11.758,24392,9.032,24393,11.342,24394,9.032,24395,9.517,24396,9.032,24397,8.366,24398,8.366,24399,9.032,24400,9.032,24401,8.366]],["title/modules/VideoConferenceApiModule.html",[252,1.839,20583,5.86]],["body/modules/VideoConferenceApiModule.html",[0,0.291,3,0.016,4,0.016,5,0.008,30,0.001,95,0.15,101,0.011,103,0.001,104,0.001,252,3.165,254,3.025,255,3.211,256,3.292,257,3.28,258,3.268,259,4.355,260,3.124,269,4.243,270,3.233,271,3.167,273,5.294,274,4.511,276,4.243,277,1.202,314,3.2,1856,7.649,2138,4.437,2680,3.861,3036,3.94,3890,8.354,3900,4.437,9599,4.792,9601,5.573,20583,12.267,20585,6.831,24402,8.408,24403,8.408,24404,8.408,24405,11.779,24406,11.292,24407,11.292,24408,11.292,24409,11.292,24410,10.089,24411,8.408]],["title/classes/VideoConferenceBaseResponse.html",[0,0.241,9602,5.49]],["body/classes/VideoConferenceBaseResponse.html",[0,0.396,2,1.342,3,0.014,4,0.014,5,0.007,7,0.106,27,0.476,29,0.583,30,0.001,31,0.429,32,0.151,33,0.523,47,0.841,95,0.113,101,0.015,102,6.486,103,0,104,0,110,2.656,112,0.798,122,2.373,153,1.974,231,1.756,289,6.638,402,4.117,412,5.42,433,0.939,540,2.535,595,2.897,693,5.944,871,4.49,1076,4.869,2127,4.473,2138,6.708,2512,7.282,7243,4.15,9109,5.727,9597,8.023,9598,10.019,9599,7.899,9600,6.706,9601,8.424,9602,10.518,9603,9.62,9607,9.297,9610,6.428,9611,5.393,9612,6.428,9613,6.207,9614,6.706,9615,8.268,9616,8.932,9617,6.428,9618,5.494,9619,5.301,9620,5.301,9621,5.604,9622,6.428,24412,10.177,24413,7.64,24414,7.64]],["title/classes/VideoConferenceConfiguration.html",[0,0.241,24415,6.113]],["body/classes/VideoConferenceConfiguration.html",[0,0.3,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.43,30,0.001,32,0.137,47,1.023,95,0.136,101,0.011,103,0.001,104,0.001,112,0.866,122,2.29,129,3.601,130,2.989,159,0.886,311,5.52,467,3.937,1268,6.799,1282,8.707,2138,6.418,2154,8.238,2219,3.883,2220,4.367,2221,4.216,2334,8.973,2335,9.694,2337,9.879,4259,5.071,5592,9.694,7567,7.569,9599,6.93,13810,10.673,13812,10.231,15047,7.602,17201,8.023,20585,9.879,24415,9.694,24416,11.045,24417,11.045,24418,11.045,24419,11.045,24420,10.231]],["title/controllers/VideoConferenceController.html",[314,2.65,24410,5.86]],["body/controllers/VideoConferenceController.html",[0,0.132,3,0.016,4,0.007,5,0.003,7,0.053,8,0.698,27,0.34,29,0.847,30,0.001,31,0.49,32,0.137,33,0.399,35,1.399,36,2.345,95,0.131,100,2.663,101,0.005,103,0,104,0,125,3.059,135,1.489,148,0.601,153,1.645,157,3.282,159,0.391,190,1.564,193,3.805,194,4.36,202,0.878,228,1.567,274,1.591,277,0.547,290,2.632,314,1.455,316,1.84,317,2.639,325,6.136,326,2.906,339,3.253,340,6.987,349,6.287,374,2.654,379,3.101,388,4.089,390,5.584,391,7.978,392,1.99,395,2.046,398,2.061,401,4.889,402,4.701,412,4.928,433,0.47,579,1.091,652,1.774,657,1.995,693,5.046,734,2.576,876,4.967,1080,1.325,1368,2.16,1375,6.697,1390,7.304,1434,5.63,1725,2.698,2105,7.34,2138,5.035,2233,6.757,2277,8.783,2313,8.79,2328,6.406,2343,6.273,2350,5.364,2370,4.889,2588,3.848,2990,9.014,3036,1.791,3102,3.684,3240,1.964,3364,7.978,4401,2.466,7642,2.304,9109,6.539,9216,2.533,9599,7.847,9601,8.788,12067,6.399,12519,8.081,12832,8.081,14347,3.355,20500,8.783,24374,6.539,24406,6.425,24407,6.425,24408,6.425,24409,6.425,24410,5.142,24421,8.836,24422,3.822,24423,3.822,24424,3.54,24425,12.201,24426,10.875,24427,3.822,24428,9.423,24429,3.822,24430,8.081,24431,3.822,24432,3.54,24433,3.822,24434,3.822,24435,3.822,24436,3.822,24437,3.822,24438,3.822,24439,6.111,24440,3.822,24441,3.822,24442,3.822,24443,7.087,24444,3.822,24445,6.111,24446,3.822,24447,3.216,24448,3.216,24449,3.105,24450,4.691,24451,4.691,24452,6.425,24453,6.425,24454,3.54,24455,3.822,24456,3.822,24457,3.54,24458,3.822,24459,6.111,24460,3.822,24461,8.724,24462,8.724,24463,3.822,24464,3.822,24465,3.822,24466,3.822,24467,3.822,24468,3.822,24469,3.822,24470,3.822,24471,3.822,24472,3.822,24473,3.822]],["title/classes/VideoConferenceCreateParams.html",[0,0.241,24443,5.658]],["body/classes/VideoConferenceCreateParams.html",[0,0.355,2,0.817,3,0.014,4,0.014,5,0.007,7,0.108,27,0.478,30,0.001,32,0.152,33,0.621,47,0.755,95,0.128,101,0.01,103,0,104,0,110,4.266,112,0.805,122,2.72,129,3.412,157,1.792,159,0.792,171,6.905,190,2.199,197,2.164,199,6.767,200,2.37,201,4.962,202,1.778,271,3.868,300,4.892,1115,3.908,1361,4.452,1434,6.626,1883,3.854,2138,6.738,2161,7.636,2345,6.254,2831,4.111,2934,8.64,3418,4.625,9599,7.629,9618,8.284,9619,7.994,9620,7.994,10311,6.291,10318,7.172,16379,9.511,23148,7.882,24443,8.342,24474,11.825,24475,11.521,24476,11.521,24477,7.743,24478,7.743,24479,10.269,24480,10.269,24481,10.269,24482,10.269,24483,10.269,24484,7.743,24485,7.743,24486,7.743,24487,6.515,24488,6.796,24489,6.796,24490,6.796,24491,7.743]],["title/injectables/VideoConferenceCreateUc.html",[589,0.926,24406,5.86]],["body/injectables/VideoConferenceCreateUc.html",[0,0.179,3,0.01,4,0.01,5,0.005,7,0.072,8,0.882,26,2.416,27,0.448,29,0.878,30,0.001,31,0.67,32,0.142,33,0.526,35,1.258,36,2.431,47,0.845,95,0.14,99,1.042,100,1.803,101,0.007,103,0,104,0,125,2.201,135,1.497,148,0.508,153,1.249,159,0.529,228,1.659,277,0.739,290,1.832,317,2.71,331,3.429,433,0.949,540,4.35,569,1.607,579,1.476,589,1.026,591,1.227,610,2.039,629,4.075,652,2.743,657,2.917,734,3.254,803,4.789,813,2.898,876,2.692,980,2.852,997,3.219,1328,4.104,1616,8.995,1853,1.696,1962,3.086,1995,3.793,2033,1.961,2137,5.788,2138,6.292,2142,5.552,2154,3.149,2155,4.076,2160,4.538,2200,10.097,2223,8.623,2237,4.201,2265,4.538,2299,8.645,2324,5.927,2326,8.831,2465,3.056,2570,3.337,2681,3.086,3900,2.729,4362,3.183,4588,1.771,5147,6.523,5449,7.186,6288,5.184,7567,3.219,7875,3.183,8114,4.194,9599,6.794,15688,4.789,17551,4.076,20496,10.362,20500,9.791,21878,4.201,24374,9.56,24384,4.076,24406,6.497,24492,10.031,24493,5.171,24494,7.721,24495,9.241,24496,7.721,24497,7.721,24498,4.351,24499,9.686,24500,5.171,24501,7.721,24502,5.171,24503,7.721,24504,5.171,24505,5.171,24506,5.171,24507,7.721,24508,5.171,24509,7.721,24510,5.171,24511,4.351,24512,5.171,24513,5.171,24514,7.775,24515,5.171,24516,4.538,24517,4.538,24518,5.171,24519,4.789,24520,7.775,24521,4.789,24522,4.538,24523,5.171,24524,5.171,24525,9.241,24526,5.171,24527,5.171,24528,5.171,24529,5.171,24530,5.171,24531,5.171,24532,4.538,24533,5.171,24534,5.171,24535,4.789]],["title/classes/VideoConferenceDO.html",[0,0.241,24536,5.49]],["body/classes/VideoConferenceDO.html",[0,0.378,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.513,29,0.65,30,0.001,31,0.478,32,0.163,33,0.551,34,1.868,47,0.886,95,0.122,101,0.014,103,0.001,104,0.001,112,0.857,122,2.501,231,1.885,433,1.046,436,2.515,540,4.002,1770,3.409,1852,7.52,3011,5.512,5854,6.918,6696,6.246,7881,7.271,7907,6.011,8220,6.536,8223,8.612,8224,6.712,9599,4.853,9618,6.123,9619,5.908,9620,5.908,9621,6.246,16659,6.712,20501,9.509,24381,6.918,24382,7.164,24383,6.918,24384,6.712,24532,7.473,24536,10.374,24537,12.189,24538,7.887,24539,10.925,24540,10.707,24541,8.515,24542,8.515,24543,7.887,24544,7.887,24545,7.473,24546,7.887,24547,7.887,24548,7.887]],["title/controllers/VideoConferenceDeprecatedController.html",[314,2.65,24549,6.113]],["body/controllers/VideoConferenceDeprecatedController.html",[0,0.154,3,0.018,4,0.008,5,0.004,7,0.062,8,0.786,10,1.784,27,0.328,29,0.828,30,0.001,31,0.473,32,0.171,33,0.384,35,1.297,36,2.291,47,0.881,95,0.139,100,3.304,101,0.006,102,4.472,103,0,104,0,135,1.233,148,0.827,157,3.161,159,0.454,190,1.508,194,4.26,202,1.019,228,0.797,274,1.848,277,0.635,290,2.572,314,3.202,316,2.136,317,2.595,325,6.069,326,3.202,333,4.623,337,6.674,339,3.179,340,6.827,342,7.088,349,6.218,374,2.985,379,3.488,388,1.903,390,5.547,391,7.681,392,2.311,395,2.376,398,2.393,400,1.302,401,4.716,402,4.409,412,3.053,595,1.683,657,2.344,693,4.93,734,2.897,1312,5.327,1390,7.273,1434,4.437,1725,3.134,2138,5.001,2148,3.134,2154,2.704,2277,5.278,2313,6.95,2328,5.298,2343,6.813,2350,6.034,2370,4.716,2512,4.103,2513,3.918,2681,6.748,2953,6.559,2990,8.808,3036,2.08,3240,2.281,3242,2.43,3364,7.796,4029,3.031,6288,5.277,7567,5.238,9597,6.633,9599,7.472,9601,8.124,9602,3.499,9618,3.192,9619,3.08,9620,3.08,10020,8.323,11298,10.547,20501,9.662,24395,3.408,24410,5.785,24421,8.777,24424,4.112,24428,10.042,24430,7.794,24432,4.112,24443,7.698,24450,6.459,24451,5.278,24454,4.112,24487,3.735,24488,3.896,24489,3.896,24490,3.896,24549,6.034,24550,4.439,24551,8.415,24552,4.439,24553,4.439,24554,4.439,24555,4.439,24556,4.439,24557,4.439,24558,4.439,24559,4.439,24560,3.896,24561,4.439,24562,6.368,24563,4.439,24564,4.112,24565,4.439,24566,4.439,24567,4.439,24568,8.415,24569,8.415,24570,4.439,24571,6.875,24572,4.439,24573,3.735,24574,4.439,24575,4.112,24576,4.112,24577,4.112,24578,4.439,24579,4.439,24580,4.439,24581,4.439,24582,4.439,24583,4.439,24584,4.439]],["title/injectables/VideoConferenceEndUc.html",[589,0.926,24407,5.86]],["body/injectables/VideoConferenceEndUc.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.091,26,2.379,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,35,0.797,36,2.018,39,1.93,47,0.702,95,0.15,99,1.401,100,2.424,101,0.009,103,0,104,0,135,1.726,148,0.683,153,1.764,228,1.958,277,0.994,289,4.033,290,2.265,317,2.359,433,1.173,578,3.644,579,1.985,589,1.269,591,1.649,610,2.742,652,2.218,657,2.907,693,3.162,813,3.896,980,3.835,1853,2.281,1962,4.149,1995,5.1,2033,2.637,2088,2.98,2137,8.174,2138,5.756,2142,4.999,2148,4.908,2154,4.234,2155,5.48,2223,8.8,2237,5.648,2324,9.012,2326,9.759,2328,6.012,2681,4.149,3900,3.669,5147,4.908,5449,7.848,6288,4.772,7567,7.308,7875,4.28,8114,5.186,9599,6.215,17551,5.48,20496,8.86,20500,9.012,20584,5.648,21878,5.648,24395,5.337,24407,8.034,24448,5.85,24449,5.648,24492,9.176,24498,5.85,24499,10.578,24511,5.85,24514,8.034,24516,6.102,24517,6.102,24520,8.034,24522,6.102,24535,6.44,24585,6.952,24586,6.952,24587,9.548,24588,6.952,24589,6.102,24590,5.85,24591,6.102,24592,6.952,24593,6.952,24594,6.952,24595,6.44,24596,6.44]],["title/classes/VideoConferenceInfo.html",[0,0.241,24450,5.346]],["body/classes/VideoConferenceInfo.html",[0,0.313,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.507,29,0.691,30,0.001,31,0.509,32,0.161,33,0.414,47,0.665,95,0.138,100,3.157,101,0.012,103,0.001,104,0.001,112,0.891,159,0.926,190,2.036,221,6.785,223,2.821,231,1.96,433,1.112,436,3.666,540,4.118,2138,5.994,2154,5.513,2299,7.136,3011,5.19,4295,9.556,7332,7.945,7567,8.515,7881,6.846,9599,7.073,9601,6,9621,6.64,16815,7.354,24374,9.303,24391,9.968,24450,10.291,24597,9.053,24598,9.053,24599,9.053,24600,9.053,24601,9.053,24602,9.053]],["title/classes/VideoConferenceInfoResponse.html",[0,0.241,24452,5.86]],["body/classes/VideoConferenceInfoResponse.html",[0,0.298,2,0.91,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,29,0.658,30,0.001,31,0.484,32,0.15,33,0.394,95,0.135,101,0.011,103,0.001,104,0.001,112,0.864,157,2.809,190,1.974,202,1.98,289,7.663,296,3.175,433,1.06,540,4.383,868,4.151,886,2.731,2138,6.748,2301,6.799,3200,5.147,3201,5.162,9109,6.465,9598,10.08,9599,8.066,9601,8.955,9603,8.683,9607,11.157,9610,7.257,9611,6.088,9612,7.257,9621,6.326,9622,7.257,23786,10.203,24452,11.116,24603,10.211,24604,8.625,24605,7.989]],["title/injectables/VideoConferenceInfoUc.html",[589,0.926,24408,5.86]],["body/injectables/VideoConferenceInfoUc.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.966,26,2.203,27,0.387,29,0.758,30,0.001,31,0.558,32,0.123,33,0.454,35,0.969,36,2.298,95,0.146,99,1.178,100,2.04,101,0.007,103,0,104,0,122,1.213,135,1.683,148,0.831,153,1.758,159,0.598,228,1.783,277,0.836,289,4.903,290,2.005,317,2.601,433,1.038,540,4.29,579,1.67,589,1.124,591,1.387,610,2.307,629,4.461,652,2.445,657,2.957,693,3.844,813,3.278,871,4.001,980,3.226,1328,4.492,1853,1.919,1962,3.49,1995,4.29,2033,2.218,2088,2.507,2137,7.44,2138,5.739,2142,4.205,2154,3.562,2155,4.61,2223,8.646,2237,6.867,2299,4.61,2324,8.347,2326,9.228,2331,7.829,2681,3.49,3900,3.087,5147,7.007,5449,7.471,6288,4.688,7875,3.6,8114,4.591,9599,6.197,17551,4.61,20496,8.064,20500,9.515,20584,4.751,21878,4.751,24374,7.44,24384,4.61,24395,4.49,24408,7.112,24448,4.921,24449,4.751,24450,8.347,24487,7.112,24492,9.149,24498,4.921,24499,10.07,24511,4.921,24514,8.352,24516,5.133,24517,5.133,24519,5.417,24520,9.149,24521,5.417,24522,7.419,24536,6.663,24540,8.352,24573,4.921,24589,5.133,24590,4.921,24591,5.133,24596,7.829,24606,5.849,24607,8.453,24608,5.849,24609,8.453,24610,5.849,24611,8.453,24612,5.849,24613,5.849,24614,5.849,24615,5.417,24616,5.417,24617,5.849,24618,5.849,24619,5.849,24620,5.849,24621,5.849,24622,5.417,24623,5.849]],["title/classes/VideoConferenceJoin.html",[0,0.241,24451,5.346]],["body/classes/VideoConferenceJoin.html",[0,0.315,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.508,29,0.694,30,0.001,31,0.511,32,0.161,33,0.415,47,0.837,95,0.127,100,3.171,101,0.012,103,0.001,104,0.001,110,4.324,112,0.893,289,7.214,433,1.117,595,3.449,693,6.228,2138,7.085,4295,9.583,7243,4.939,9599,7.805,9601,6.027,9611,6.419,9613,7.388,24391,11.782,24395,9.547,24397,8.423,24398,8.423,24401,8.423,24451,10.304,24624,9.094,24625,11.39,24626,9.094,24627,9.094,24628,9.094]],["title/classes/VideoConferenceJoinResponse.html",[0,0.241,24453,5.86]],["body/classes/VideoConferenceJoinResponse.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.459,29,0.732,30,0.001,31,0.539,32,0.146,33,0.438,47,0.865,95,0.107,101,0.012,103,0.001,104,0.001,110,4.74,112,0.924,157,2.221,190,1.72,202,2.203,296,3.081,433,1.179,868,4.617,2138,6.723,2277,9.038,2294,8.886,7243,5.211,9109,7.191,9598,10.042,9599,7.77,9601,7.804,9603,9.281,9617,8.072,24453,11.471,24629,11.774]],["title/injectables/VideoConferenceJoinUc.html",[589,0.926,24409,5.86]],["body/injectables/VideoConferenceJoinUc.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,26,2.365,27,0.369,29,0.722,30,0.001,31,0.531,32,0.117,33,0.432,35,0.786,36,1.999,47,0.504,95,0.15,99,1.382,100,2.391,101,0.009,103,0,104,0,110,3.288,135,1.647,148,0.674,153,1.751,228,1.944,277,0.981,289,3.978,290,1.627,317,2.342,331,4.201,433,1.162,579,1.958,589,1.257,591,1.627,610,2.704,652,2.202,657,2.8,693,3.118,1268,4.221,1853,2.25,2138,5.714,2142,4.931,2154,4.176,2155,5.406,2223,5.14,2256,6.018,2276,9.503,2277,8.311,2326,9.718,2681,5.644,3470,4.483,3900,3.619,5147,6.677,5449,7.819,6288,4.401,7567,4.268,8114,5.138,8467,5.14,9599,6.652,17551,5.406,20500,8.96,20584,5.571,24395,5.264,24409,7.958,24448,5.77,24449,5.571,24451,9.4,24492,9.11,24498,5.77,24499,10.539,24511,5.77,24514,9.11,24520,7.958,24536,7.456,24573,5.77,24589,6.018,24590,5.77,24591,6.018,24616,10.029,24622,6.352,24630,6.857,24631,6.857,24632,9.458,24633,6.857,24634,6.857,24635,6.857,24636,6.857,24637,6.857,24638,6.857,24639,9.458,24640,6.857,24641,9.458,24642,6.857,24643,6.857,24644,6.857,24645,6.857,24646,6.857,24647,6.857]],["title/classes/VideoConferenceMapper.html",[0,0.241,24447,5.86]],["body/classes/VideoConferenceMapper.html",[0,0.247,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,8,1.112,27,0.463,29,0.907,30,0.001,31,0.667,32,0.147,33,0.543,35,1.362,95,0.143,101,0.012,103,0,104,0,110,2.486,135,1.266,148,1.168,153,1.79,159,0.731,289,5.646,326,2.721,467,4.053,540,2.372,595,2.712,693,3.252,837,3.541,1725,5.048,2138,6.558,2154,4.355,2161,4.739,2223,5.36,2237,5.809,2239,6.623,9599,4.075,9607,8.99,9618,5.142,9619,4.962,9620,4.962,24374,8.295,24395,9.119,24443,9.651,24447,8.19,24450,9.539,24451,9.539,24452,9.995,24453,9.995,24457,6.623,24487,6.016,24488,6.276,24489,6.276,24490,6.276,24573,6.016,24575,6.623,24576,6.623,24577,6.623,24590,6.016,24595,6.623,24603,6.016,24605,6.623,24615,6.623,24648,12.427,24649,7.15,24650,9.733,24651,9.733,24652,9.733,24653,9.733,24654,9.733,24655,7.15,24656,9.733,24657,7.15,24658,9.733,24659,7.15,24660,9.733,24661,7.15,24662,6.623,24663,7.15,24664,7.15,24665,7.15,24666,7.15,24667,7.15,24668,7.15,24669,7.15,24670,7.15,24671,7.15,24672,7.15]],["title/modules/VideoConferenceModule.html",[252,1.839,24405,6.113]],["body/modules/VideoConferenceModule.html",[0,0.211,3,0.011,4,0.011,5,0.005,30,0.001,80,6.535,95,0.157,101,0.008,102,3.245,103,0,104,0,159,0.624,252,2.684,254,2.197,255,2.332,256,2.391,257,2.382,258,2.374,259,4.028,260,4.122,265,5.658,269,3.414,270,2.348,271,2.3,274,3.629,276,3.414,277,0.873,279,2.532,314,2.324,393,3.024,610,2.408,685,5.057,703,1.873,1027,1.869,1054,3.451,1267,6.155,1829,4.359,1856,6.952,1903,8.947,1916,8.464,1939,5.405,1941,6.649,2070,3.292,2088,2.617,2138,3.223,2154,3.719,2326,10.401,2338,10.263,2340,7.652,2680,2.804,3036,2.862,3890,8.133,3900,3.223,3904,5.7,3907,3.992,4313,10.706,4926,4.311,6077,8.085,6086,5.138,9051,8.611,9599,4.969,9601,6.74,12253,4.688,12254,4.688,13813,8.076,18221,4.688,20585,4.961,24405,12.81,24415,5.36,24420,5.656,24499,11.008,24549,9.735,24562,11.63,24673,6.107,24674,6.107,24675,6.107,24676,6.107,24677,10.706,24678,6.107,24679,6.107,24680,6.107,24681,6.107,24682,6.107,24683,6.107,24684,6.107,24685,6.107,24686,8.719]],["title/classes/VideoConferenceOptions.html",[0,0.241,24374,5.221]],["body/classes/VideoConferenceOptions.html",[0,0.367,2,0.857,3,0.015,4,0.015,5,0.007,7,0.174,27,0.487,29,0.62,30,0.001,31,0.456,32,0.16,33,0.371,47,0.597,95,0.118,96,2.12,101,0.016,103,0.001,104,0.001,112,0.925,122,2.756,205,2.159,223,3.895,224,2.352,225,4.06,226,3.692,228,1.458,229,3.202,231,1.401,232,2.197,233,2.517,433,0.997,540,3.912,886,2.571,3011,4.841,3757,6.086,4956,8.132,5466,6.09,5854,8.606,7567,5.054,7881,6.385,7907,5.731,9599,4.627,9601,5.381,9619,8.182,9620,8.182,9621,5.955,16659,6.4,16815,8.606,24372,12.008,24373,7.52,24374,9.965,24378,10.349,24379,7.52,24380,7.52,24381,6.596,24382,6.831,24383,6.596,24384,6.4,24385,9.812,24386,7.52,24387,7.52,24388,7.52,24389,7.52,24390,7.52,24687,10.594,24688,8.119,24689,8.119]],["title/classes/VideoConferenceOptionsDO.html",[0,0.241,24540,5.86]],["body/classes/VideoConferenceOptionsDO.html",[0,0.385,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,27,0.501,29,0.668,30,0.001,31,0.492,32,0.159,33,0.4,47,0.643,95,0.124,101,0.014,103,0.001,104,0.001,112,0.872,122,2.812,231,1.511,433,1.076,540,3.69,1852,6.572,3011,4.001,5854,9.035,7881,5.278,7907,6.181,8220,6.722,8223,6.903,8224,6.903,9599,4.99,9618,8.788,9619,8.481,9620,8.481,9621,6.423,16659,6.903,20501,8.767,24381,7.114,24382,7.368,24383,7.114,24384,6.903,24532,7.685,24536,8.767,24537,12.294,24538,8.111,24540,11.413,24543,8.111,24544,8.111,24545,7.685,24546,8.111,24547,8.111,24548,8.111,24690,11.122,24691,8.756,24692,8.756]],["title/classes/VideoConferenceOptionsResponse.html",[0,0.241,24603,5.86]],["body/classes/VideoConferenceOptionsResponse.html",[0,0.287,2,0.875,3,0.015,4,0.015,5,0.007,7,0.115,27,0.491,29,0.633,30,0.001,31,0.465,32,0.156,33,0.379,95,0.092,101,0.011,103,0.001,104,0.001,112,0.842,122,2.772,157,2.756,190,2.135,195,2.359,197,3.521,202,1.903,296,3.296,433,1.018,868,5.731,2138,6.887,2265,11.055,2277,8.241,2317,11.667,2641,8.142,9109,6.211,9156,8.047,9598,10.286,9599,7.437,9603,8.462,9618,8.563,9619,8.263,9620,8.263,20475,7.675,24381,6.732,24383,6.732,24545,7.273,24603,10.979,24693,10.735,24694,12.596,24695,10.735,24696,8.287,24697,8.287,24698,10.735,24699,8.287,24700,8.287,24701,8.287]],["title/injectables/VideoConferenceRepo.html",[589,0.926,24677,6.113]],["body/injectables/VideoConferenceRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,10,3.22,12,3.627,18,4.016,26,2.374,27,0.516,29,0.999,30,0.001,31,0.735,32,0.162,33,0.598,34,1.628,35,1.501,36,2.628,40,2.631,47,0.699,95,0.131,96,1.419,101,0.007,103,0,104,0,112,0.426,113,4.655,135,1.238,148,1.032,153,0.879,185,2.745,205,2.141,224,1.575,231,1.383,277,0.777,317,2.943,436,3.814,540,2.659,569,1.69,589,1.065,591,1.29,595,2.062,652,2.383,657,1.243,729,5.472,735,3.627,736,5.514,766,2.91,1770,3.81,1853,1.784,2140,3.098,2437,9.286,2439,5.763,2440,5.657,2441,5.657,2442,5.763,2443,5.763,2444,5.657,2451,3.909,2453,3.909,2455,5.24,2456,5.472,2457,3.909,2460,5.763,2462,3.773,2463,8.271,2464,5.657,2465,4.736,2467,3.909,2468,5.763,2470,3.909,2472,3.277,2473,3.384,2474,3.656,2476,3.909,2517,4.075,3011,4.35,4441,4.736,4768,3.277,6878,3.988,6879,3.988,6880,3.988,6881,3.988,6882,3.988,6883,3.988,6884,3.988,7567,6.971,7881,5.737,9618,3.909,9619,5.561,9620,5.561,10718,4.173,11298,6.511,16165,4.574,16815,4.417,20501,9.552,23662,5.036,24378,4.772,24536,9.552,24677,7.034,24702,9.518,24703,5.437,24704,8.014,24705,8.014,24706,5.437,24707,5.437,24708,5.437,24709,5.437,24710,5.437,24711,5.437,24712,8.014,24713,8.014,24714,8.014,24715,8.014,24716,5.437,24717,5.437,24718,5.437,24719,5.036,24720,5.437,24721,5.437,24722,5.437,24723,5.437,24724,5.437,24725,5.437,24726,5.437,24727,5.437,24728,5.437]],["title/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.241,24560,6.113]],["body/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.452,29,0.885,30,0.001,31,0.652,32,0.144,33,0.53,35,1.33,95,0.137,101,0.01,102,7,103,0,104,0,110,2.729,148,1.14,153,1.876,289,6.728,412,4.602,467,4.015,540,2.604,693,5.274,829,4.638,1725,5.541,2138,6.51,2148,5.541,2154,4.78,2512,6.183,2513,5.905,6971,7.27,7567,7.678,9597,9.724,9599,4.473,9601,5.203,9602,9.724,9615,10.021,9706,6.889,21210,7.27,24447,6.604,24449,6.377,24450,9.469,24451,9.469,24560,9.094,24564,7.27,24662,7.27,24729,12.335,24730,10.361,24731,10.361,24732,10.361,24733,10.361,24734,10.361,24735,10.361,24736,10.361,24737,11.599,24738,11.599,24739,7.849,24740,7.849]],["title/classes/VideoConferenceScopeParams.html",[0,0.241,24426,6.113]],["body/classes/VideoConferenceScopeParams.html",[0,0.395,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.445,30,0.001,32,0.141,47,0.838,95,0.139,101,0.012,103,0.001,104,0.001,112,0.895,190,2.045,194,5.126,195,2.736,196,3.784,197,3.646,200,2.789,202,2.093,296,3.257,595,3.456,855,4.618,886,3.611,899,4.165,2138,6.57,3201,5.345,6288,5.06,6765,10.011,9599,7.095,11298,10.114,20501,10.802,24426,10.011,24474,11.531,24741,9.114,24742,9.114,24743,9.114,24744,9.114,24745,9.114,24746,9.114]],["title/classes/VisibilitySettingsResponse.html",[0,0.241,4463,5.86]],["body/classes/VisibilitySettingsResponse.html",[0,0.343,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.468,29,0.756,30,0.001,31,0.556,32,0.149,33,0.59,47,0.882,95,0.11,101,0.013,103,0.001,104,0.001,112,0.942,190,1.775,201,5.021,202,2.273,433,1.475,821,5.055,4463,11.573,24747,12.917,24748,9.901,24749,13.755,24750,9.901,24751,9.901,24752,9.901]],["title/classes/WsSharedDocDo.html",[0,0.241,22644,5.658]],["body/classes/WsSharedDocDo.html",[0,0.17,2,0.518,3,0.009,4,0.009,5,0.004,7,0.068,8,0.849,27,0.47,29,0.819,30,0.001,31,0.719,32,0.153,33,0.456,35,1.027,47,0.829,55,2.174,80,9.045,95,0.126,101,0.006,103,0,104,0,112,0.583,122,1.018,125,1.17,129,1.454,130,1.329,135,1.468,142,4.242,148,0.73,153,1.201,157,2.312,172,3.17,195,1.079,231,1.282,233,1.523,360,6.737,388,5.294,433,0.603,560,3.948,569,2.785,652,2.561,711,3.756,886,1.555,1115,3.801,1835,6.807,2163,8.662,2184,1.944,2356,6.52,2796,4.795,2915,7.063,3237,2.849,4921,6.716,5805,6.53,6571,7.213,8410,3.303,9028,6.035,11690,6.035,11712,7.667,12115,3.77,12171,5.702,20661,8.882,22572,9.52,22573,3.77,22644,7.278,22648,10.285,22657,9.415,22660,4.311,22726,8.114,22785,8.234,22832,8.298,22853,4.549,22874,4.549,22876,4.549,22878,4.549,22884,4.549,22906,4.549,22907,4.549,22908,4.549,22911,4.549,22926,4.549,22952,4.549,24753,12.352,24754,4.912,24755,11.284,24756,8.959,24757,8.959,24758,7.429,24759,7.429,24760,10.727,24761,7.429,24762,4.912,24763,12.352,24764,4.912,24765,4.912,24766,4.912,24767,4.912,24768,7.429,24769,4.912,24770,11.284,24771,7.429,24772,4.912,24773,9.988,24774,4.912,24775,4.912,24776,4.912,24777,4.912,24778,4.912,24779,4.912,24780,4.912,24781,4.912,24782,4.912,24783,4.912,24784,4.912,24785,4.912,24786,4.912,24787,4.912,24788,7.429,24789,4.912,24790,4.912,24791,4.912,24792,4.912,24793,4.912,24794,4.912,24795,4.912,24796,4.912]],["title/interfaces/XApiKeyConfig.html",[159,0.712,9358,5.658]],["body/interfaces/XApiKeyConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.983,101,0.014,103,0.001,104,0.001,112,0.989,159,1.099,161,2.56,1372,5.673,9358,10.241,20521,12.78,24797,10.749,24798,10.749]],["title/injectables/XApiKeyStrategy.html",[589,0.926,1534,6.113]],["body/injectables/XApiKeyStrategy.html",[0,0.284,3,0.015,4,0.015,5,0.007,7,0.114,27,0.462,29,0.627,30,0.001,31,0.462,32,0.132,33,0.376,47,0.872,95,0.145,101,0.011,103,0.001,104,0.001,112,0.838,122,1.704,129,2.434,130,2.224,142,4.294,195,1.806,197,2.297,228,2.255,231,1.842,233,2.548,277,1.175,339,2.41,400,2.41,433,1.01,569,2.554,589,1.419,591,1.95,634,7.737,651,4.17,652,2.413,711,3.436,1080,3.701,1170,5.175,1213,7.559,1372,7.266,1534,9.372,1545,5.802,1595,6.677,1984,7.181,2125,6.217,5004,5.304,9077,7.613,9358,6.677,9360,7.613,9970,6.028,14461,6.309,14465,8.675,14470,6.677,22636,6.915,24799,12.557,24800,8.219,24801,11.861,24802,10.678,24803,8.219,24804,7.613,24805,8.219,24806,8.219,24807,8.219,24808,8.219,24809,8.219,24810,8.219]],["title/dependencies.html",[255,3.205,24811,5.082]],["body/dependencies.html",[0,0.249,4,0.009,5,0.006,10,1.89,30,0.001,32,0.058,34,0.804,36,1.844,56,2.216,96,2.278,97,1.898,103,0,104,0,131,2.402,171,3.163,193,3.136,200,2.67,202,1.08,206,1.535,224,1.363,255,1.796,277,0.673,317,1.888,379,2.387,574,2.636,610,1.855,620,2.928,651,2.387,695,3.383,702,2.33,804,5.389,871,1.731,924,4.129,1015,3.212,1054,2.658,1056,3.036,1060,3.212,1212,3.036,1220,2.704,1232,2.729,1263,4.129,1310,3.321,1311,3.076,1470,2.636,1543,4.129,1545,3.321,1548,3.526,1585,2.865,1619,4.426,1718,3.451,1749,2.681,1783,2.896,1885,4.426,1987,8.55,2084,4.765,2154,2.865,2164,2.182,2220,2.372,2221,3.499,2222,2.962,2530,3.321,2796,2.518,2831,3.911,3813,2.896,3814,2.754,3898,2.358,4261,5.389,4271,4.129,4272,5.667,4273,8.297,4921,3.163,4952,3.451,5000,3.822,5074,2.402,5776,2.754,5817,5.273,5868,3.822,5869,3.822,6281,3.163,6617,2.681,7164,4.357,7465,3.383,7466,3.958,7558,3.383,7642,6.344,7879,3.526,8410,4.834,8830,4.357,8999,6.049,10000,5.667,10027,3.611,10395,3.822,10468,4.357,11471,4.129,11544,4.357,11643,7.979,12157,3.611,12158,4.357,12490,2.896,13297,6.659,13649,4.129,13650,3.958,14115,3.708,14461,8.079,14532,3.526,14724,3.611,15184,4.357,16025,4.357,16404,3.958,16405,4.129,16406,4.357,16545,3.822,16899,4.129,17127,4.129,17128,4.357,18083,4.357,18951,4.129,19565,4.357,19566,4.357,19616,3.822,20535,4.129,22573,5.519,22660,4.129,22805,4.357,24804,4.357,24812,4.704,24813,4.704,24814,4.704,24815,11.906,24816,7.189,24817,4.704,24818,4.704,24819,4.704,24820,8.725,24821,7.189,24822,4.704,24823,4.704,24824,4.704,24825,7.189,24826,4.704,24827,9.769,24828,7.189,24829,11.097,24830,4.704,24831,4.704,24832,4.704,24833,4.704,24834,4.704,24835,4.704,24836,4.704,24837,4.704,24838,4.704,24839,4.704,24840,4.704,24841,4.704,24842,4.704,24843,4.704,24844,4.704,24845,4.704,24846,4.704,24847,4.704,24848,4.704,24849,4.704,24850,4.704,24851,7.189,24852,4.704,24853,4.704,24854,4.704,24855,7.189,24856,4.704,24857,4.704,24858,7.189,24859,4.704,24860,4.704,24861,7.189,24862,4.704,24863,7.189,24864,7.189,24865,4.704,24866,4.704,24867,4.704,24868,4.704,24869,4.704,24870,4.704,24871,4.704,24872,4.704,24873,4.704,24874,4.704,24875,4.704,24876,4.704,24877,4.704,24878,4.704,24879,4.704,24880,4.704,24881,4.704,24882,7.189,24883,4.704,24884,4.704,24885,4.704,24886,4.704,24887,4.704,24888,4.704,24889,7.189,24890,4.704,24891,4.704,24892,4.129,24893,4.704,24894,8.082,24895,4.704,24896,4.704,24897,7.189,24898,4.704,24899,8.725,24900,7.189,24901,4.704,24902,4.357,24903,4.704,24904,4.704,24905,4.704,24906,7.189,24907,4.704,24908,4.704,24909,4.704,24910,4.704,24911,4.704,24912,4.704,24913,4.704,24914,4.704,24915,4.704,24916,4.704,24917,4.704,24918,7.189,24919,4.357,24920,4.704,24921,4.704,24922,7.189,24923,4.704,24924,4.704,24925,4.704,24926,4.704,24927,4.704,24928,4.704,24929,4.704,24930,4.704,24931,4.704,24932,4.704,24933,4.704,24934,4.704,24935,4.704,24936,4.704,24937,4.704,24938,7.189,24939,4.704,24940,4.704,24941,4.704,24942,4.357,24943,4.704,24944,4.704,24945,4.704,24946,4.704,24947,4.704,24948,4.704,24949,4.704,24950,4.357,24951,4.704,24952,4.704,24953,4.704,24954,4.704,24955,4.704,24956,4.704,24957,4.704,24958,6.659,24959,4.357,24960,4.704,24961,4.704,24962,4.704,24963,4.704,24964,4.704,24965,4.704,24966,4.704,24967,4.704,24968,4.704,24969,4.704,24970,4.704,24971,4.357,24972,4.704]],["title/index.html",[7,0.081,1434,3.736,24973,5.082]],["body/index.html",[30,0.001,31,0.49,34,1.046,55,2.062,102,3.25,103,0,104,0,129,1.811,153,0.989,155,1.952,157,1.416,183,2.335,193,3.807,255,2.335,316,4.898,347,3.143,409,5.562,412,2.716,413,3.725,414,6.516,415,3.485,511,3.347,528,3.103,561,3.931,567,2.28,613,3.516,614,2.706,734,4.289,802,4.054,807,4.695,812,3.897,876,3.184,897,4.969,981,3.725,982,4.821,984,10.569,997,3.807,998,4.82,1080,3.026,1115,2.327,1218,3.999,1355,3.516,1372,4.607,1390,5.433,1477,3.122,1627,6.276,1749,3.485,1783,3.765,1832,3.897,1885,7.225,1900,3.999,1919,4.244,1939,3.25,1945,9.017,2164,4.049,2219,2.742,2221,2.976,2232,3.485,2531,5.984,2550,6.69,2551,5.632,2552,6.056,2557,4.113,2570,5.632,2641,3.725,2642,4.176,2834,4.054,2859,6.7,2915,5.261,2927,4.821,2934,5.146,2937,5.146,3078,6.409,3430,2.656,3814,6.871,3817,7.357,4049,4.317,4236,6.7,4237,8.821,4290,4.695,4919,4.176,5003,4.969,5138,3.274,5222,4.244,5247,8.52,5319,4.821,5324,6.402,5373,5.368,5776,3.58,5927,5.433,6033,5.146,6178,5.158,6292,4.486,6304,4.584,6548,4.969,6571,4.113,6794,3.725,7180,4.113,7289,5.785,7373,4.969,7469,4.398,7470,4.584,7642,6.69,7739,5.496,7882,5.063,7887,4.695,8500,4.584,9370,4.969,10599,6.7,11297,4.821,11725,6.949,12496,4.821,12603,7.185,13305,4.398,13960,6.7,14941,8.268,15586,6.881,15629,4.244,16517,4.969,16887,4.584,16903,5.146,17166,4.969,18215,4.821,18221,4.695,19626,6.881,20147,5.368,23148,4.695,24233,5.146,24974,7.344,24975,4.695,24976,5.368,24977,5.146,24978,5.368,24979,4.969,24980,7.344,24981,7.091,24982,5.368,24983,5.368,24984,5.368,24985,8.085,24986,7.344,24987,5.665,24988,5.665,24989,5.665,24990,5.146,24991,5.368,24992,8.085,24993,5.146,24994,5.146,24995,8.085,24996,5.368,24997,4.695,24998,5.146,24999,5.368,25000,5.368,25001,4.969,25002,5.665,25003,5.368,25004,5.665,25005,5.146,25006,4.821,25007,5.368,25008,8.085,25009,8.085,25010,8.933,25011,10.301,25012,5.368,25013,5.665,25014,8.085,25015,5.368,25016,5.665,25017,5.665,25018,5.665,25019,8.085,25020,8.085,25021,5.665,25022,5.665,25023,5.665,25024,5.146,25025,5.665,25026,4.969,25027,5.665,25028,7.344,25029,5.665,25030,5.146,25031,5.665,25032,5.368,25033,5.665,25034,5.146]],["title/license.html",[1434,3.736,6578,3.786,24973,5.082]],["body/license.html",[0,0.042,4,0.023,5,0.002,8,0.139,27,0.047,30,0,53,2.877,55,0.456,56,1.06,72,3.567,74,0.933,76,1.126,77,0.784,79,1.975,83,0.356,87,0.613,95,0.014,103,0,104,0,141,0.965,146,3.145,148,0.119,153,1.009,159,0.588,161,0.749,183,0.464,185,3.368,189,1.386,194,1.541,205,0.459,223,0.379,271,0.458,289,0.705,290,2.043,329,1.915,339,0.922,347,0.624,356,0.817,370,1.126,371,3.316,374,0.977,379,0.617,402,0.437,403,0.62,412,4.367,413,0.74,416,1.126,525,0.637,528,1.99,540,0.403,543,1.909,550,0.711,552,0.665,560,2.448,561,1.767,569,0.378,571,0.481,585,0.891,610,0.888,612,0.817,617,1.067,627,1.067,628,2.34,640,0.748,652,0.247,685,3.023,693,3.217,703,0.373,711,3.188,756,1.837,758,2.147,810,1.651,812,3.976,813,2.198,815,1.067,816,9.439,876,0.633,982,1.774,998,5.535,1083,2.216,1088,0.569,1097,1.589,1198,1.357,1218,3.408,1222,0.958,1223,2.357,1224,2.261,1238,2.413,1302,0.676,1355,0.699,1380,1.687,1388,4.984,1390,3.883,1393,2.235,1454,0.748,1455,3.907,1461,0.911,1475,0.765,1493,3.742,1568,3.617,1619,1.386,1625,7.192,1626,2.198,1713,1.829,1749,2.235,1799,1.067,1826,3.635,1831,5.149,1832,3.322,1886,0.958,1919,4.909,1921,0.805,1925,0.843,1930,1.618,1931,1.126,1939,1.196,2106,1.774,2125,0.637,2163,0.933,2164,3.449,2204,8.274,2231,1.894,2232,1.283,2313,2.877,2328,0.765,2345,2.389,2370,1.261,2393,0.466,2465,1.33,2530,2.219,2531,3.814,2543,4.683,2546,4.674,2570,3.364,2586,2.085,2587,1.728,2608,6.284,2641,4.916,2642,0.83,2643,1.537,2834,5.35,2838,6.257,2856,0.911,2862,1.829,2884,1.618,2909,1.067,2910,1.774,2915,1.895,2919,1.126,2930,0.911,2931,6.184,2932,5.049,2935,4.235,2995,3.617,2997,7.976,3045,2.6,3310,0.987,3418,3.349,3430,2,3521,0.784,3612,1.434,3633,1.618,3753,3.252,3862,4.674,3898,0.609,3925,1.774,3972,3.813,4214,0.958,4233,0.987,4235,1.562,4237,0.784,4305,0.987,4362,1.935,4526,1.067,4528,2.759,4531,1.126,4660,1.022,4906,0.933,4913,0.891,4921,2.638,4922,0.911,4944,0.987,4999,0.891,5003,4.674,5005,1.022,5087,0.958,5138,1.205,5139,1.022,5140,1.472,5228,1.126,5234,1.877,5245,1.386,5271,4.891,5278,3.282,5285,1.067,5324,2.306,5348,0.911,5363,4.043,5370,2.085,5413,1.126,5607,1.434,5752,5.927,5776,0.711,5805,2.564,5806,1.537,5849,1.774,6039,0.987,6178,1.33,6209,5.209,6213,0.83,6226,3.196,6284,1.067,6288,0.494,6292,2.306,6297,2.413,6570,2.645,6578,8.967,6730,4.676,6731,6.527,6794,0.74,7180,2.114,7186,2.912,7413,2.357,7466,1.022,7561,1.022,7642,1.357,7739,0.765,7767,0.843,7786,2.219,7857,3.631,7884,0.874,7910,1.651,8082,0.958,8087,0.891,8099,1.067,8100,3.092,8500,2.357,8539,0.933,8963,1.067,9020,2.94,9116,2.413,9202,0.891,9216,1.492,9370,0.987,9648,0.748,10121,0.891,10596,0.891,10599,3.011,11316,3.011,11322,2.912,11358,2.261,11710,0.711,11712,2.413,11714,0.958,11716,7.296,11719,0.987,11722,1.774,11724,1.774,11725,3.928,11849,0.83,11864,2.357,12149,4.789,12496,6.123,12604,0.858,12728,0.987,12735,1.975,13164,1.728,13501,1.067,13510,2.645,13528,1.022,13942,0.958,13960,0.933,14686,1.126,14709,1.067,14715,4.043,14716,1.126,14778,2.085,14941,0.987,15303,0.987,15307,0.987,15389,2.357,15779,1.774,15875,5.049,15985,9.369,16020,1.126,16027,2.877,16458,2.085,16515,0.987,16557,3.3,16645,2.085,16813,1.126,16883,3.3,16887,2.357,17168,7.246,17927,1.022,17944,1.126,18562,4.575,18571,1.067,18683,7.195,19052,2.085,19626,2.478,20146,2.912,20227,1.067,20448,1.022,20537,1.126,20607,1.067,20661,0.874,20666,1.894,20679,1.728,20926,2.413,21454,2.912,21757,1.022,22075,1.975,22078,3.742,22080,1.067,22085,6.552,22274,1.067,22331,2.085,22520,6.257,23200,4.575,23284,2.085,23491,1.975,23518,5.86,23809,8.407,23838,1.022,24971,1.126,24984,1.067,24986,10.157,24997,7.277,24998,9.343,24999,2.759,25030,1.894,25035,9.077,25036,8.853,25037,1.215,25038,1.215,25039,3.144,25040,10.9,25041,8.658,25042,4.606,25043,1.215,25044,1.215,25045,2.251,25046,4.606,25047,3.144,25048,3.144,25049,1.215,25050,1.215,25051,2.251,25052,4.267,25053,5.329,25054,2.251,25055,2.251,25056,7.737,25057,6.239,25058,1.215,25059,1.126,25060,5.213,25061,1.126,25062,12.014,25063,3.144,25064,1.215,25065,1.215,25066,3.922,25067,6.677,25068,1.215,25069,1.215,25070,4.606,25071,0.987,25072,1.022,25073,3.633,25074,1.126,25075,8.612,25076,0.987,25077,1.126,25078,7.074,25079,7.436,25080,4.606,25081,7.768,25082,1.215,25083,2.251,25084,1.215,25085,1.215,25086,1.215,25087,1.215,25088,1.215,25089,1.215,25090,1.215,25091,3.633,25092,1.126,25093,1.067,25094,1.126,25095,3.144,25096,1.215,25097,1.215,25098,1.215,25099,2.251,25100,1.215,25101,1.215,25102,2.645,25103,1.126,25104,2.251,25105,2.251,25106,3.144,25107,6.792,25108,4.606,25109,4.828,25110,3.144,25111,2.251,25112,1.215,25113,1.215,25114,1.215,25115,3.144,25116,1.215,25117,1.215,25118,2.251,25119,1.215,25120,1.215,25121,1.215,25122,3.922,25123,2.251,25124,10.491,25125,3.144,25126,6.677,25127,3.442,25128,1.215,25129,2.251,25130,3.144,25131,6.677,25132,7.074,25133,1.126,25134,3.922,25135,2.251,25136,3.922,25137,1.215,25138,3.144,25139,0.987,25140,10.554,25141,2.251,25142,1.126,25143,6.239,25144,1.215,25145,3.144,25146,8.612,25147,3.144,25148,2.251,25149,7.436,25150,5.213,25151,1.215,25152,2.251,25153,8.072,25154,2.251,25155,1.215,25156,1.215,25157,2.912,25158,1.215,25159,1.215,25160,1.067,25161,3.144,25162,3.922,25163,1.126,25164,1.215,25165,1.215,25166,1.067,25167,3.144,25168,1.215,25169,4.606,25170,1.126,25171,2.912,25172,1.215,25173,1.126,25174,1.215,25175,1.215,25176,1.215,25177,2.251,25178,1.067,25179,1.215,25180,1.215,25181,2.251,25182,1.215,25183,1.975,25184,4.043,25185,1.215,25186,5.753,25187,3.633,25188,1.215,25189,4.606,25190,1.215,25191,1.215,25192,1.215,25193,1.215,25194,1.215,25195,3.144,25196,1.215,25197,2.251,25198,1.215,25199,1.215,25200,1.215,25201,1.126,25202,1.215,25203,1.215,25204,3.144,25205,0.958,25206,1.215,25207,1.215,25208,1.215,25209,1.215,25210,4.606,25211,1.215,25212,1.215,25213,3.144,25214,1.215,25215,3.922,25216,1.215,25217,2.251,25218,1.215,25219,1.215,25220,1.215,25221,1.215,25222,1.215,25223,1.215,25224,2.251,25225,1.215,25226,1.215,25227,1.215,25228,2.251,25229,1.215,25230,1.215,25231,1.215,25232,1.215,25233,1.215,25234,2.085,25235,6.184,25236,1.215,25237,5.213,25238,1.215,25239,1.215,25240,3.144,25241,3.922,25242,3.922,25243,3.922,25244,1.215,25245,4.606,25246,4.043,25247,1.126,25248,3.144,25249,1.215,25250,2.251,25251,1.215,25252,1.975,25253,2.251,25254,3.633,25255,3.922,25256,1.215,25257,3.144,25258,4.606,25259,1.215,25260,1.215,25261,2.912,25262,2.251,25263,1.126,25264,1.215,25265,1.126,25266,1.215,25267,1.215,25268,2.912,25269,1.215,25270,1.215,25271,2.251,25272,1.215,25273,1.215,25274,1.215,25275,3.144,25276,3.144,25277,2.251,25278,5.213,25279,3.144,25280,2.251,25281,2.251,25282,2.251,25283,3.442,25284,1.975,25285,1.215,25286,1.215,25287,1.215,25288,5.213,25289,2.251,25290,1.215,25291,1.215,25292,1.215,25293,2.251,25294,1.215,25295,2.251,25296,1.215,25297,1.215,25298,5.068,25299,1.215,25300,6.888,25301,1.215,25302,1.215,25303,1.215,25304,1.215,25305,2.251,25306,1.215,25307,4.043,25308,3.922,25309,2.251,25310,1.215,25311,1.215,25312,1.215,25313,1.215,25314,1.215,25315,2.251,25316,1.215,25317,1.215,25318,1.215,25319,2.251,25320,2.251,25321,1.215,25322,1.215,25323,1.215,25324,1.215,25325,1.215,25326,1.215,25327,1.215,25328,1.215,25329,1.126,25330,1.215,25331,1.215,25332,1.215,25333,1.215,25334,4.606,25335,1.215,25336,1.215,25337,3.922,25338,1.215,25339,1.215,25340,1.215,25341,1.215,25342,1.215,25343,1.215,25344,1.215,25345,5.753,25346,2.912,25347,1.215,25348,3.922,25349,1.215,25350,1.215,25351,3.144,25352,1.215,25353,1.215,25354,3.144,25355,1.215,25356,2.251,25357,1.215,25358,1.215,25359,1.215,25360,1.215,25361,1.067,25362,1.215,25363,1.067,25364,2.251,25365,2.085,25366,1.215,25367,3.922,25368,1.215,25369,2.912,25370,2.085,25371,3.144,25372,2.251,25373,1.215,25374,3.144,25375,5.753,25376,1.215,25377,2.251,25378,1.215,25379,1.215,25380,1.215,25381,1.215,25382,3.922,25383,1.215,25384,1.215,25385,1.215,25386,1.215,25387,1.215,25388,1.215,25389,2.251,25390,2.251,25391,2.251,25392,3.144,25393,1.215,25394,1.126,25395,3.144,25396,1.215,25397,2.251,25398,1.215,25399,1.215,25400,2.251,25401,10.147,25402,3.144,25403,1.215,25404,4.606,25405,7.074,25406,3.144,25407,1.215,25408,1.215,25409,1.215,25410,3.922,25411,1.215,25412,3.144,25413,1.215,25414,1.215,25415,1.215,25416,1.215,25417,1.215,25418,1.215,25419,1.215,25420,3.922,25421,1.215,25422,1.215,25423,3.144,25424,1.215,25425,3.144,25426,1.067,25427,2.251,25428,1.215,25429,1.215,25430,1.215,25431,1.215,25432,2.251,25433,3.144,25434,1.126,25435,1.215,25436,1.215,25437,1.215,25438,1.126,25439,1.215,25440,1.215,25441,1.215,25442,3.144,25443,2.251,25444,1.126,25445,1.215,25446,1.215,25447,3.922,25448,1.215,25449,3.144,25450,1.215,25451,1.215,25452,1.215,25453,1.215,25454,1.215,25455,3.144,25456,2.251,25457,2.251,25458,1.215,25459,2.251,25460,5.753,25461,2.251,25462,3.144,25463,3.922,25464,1.126,25465,1.126,25466,2.251,25467,1.215,25468,3.144,25469,1.215,25470,1.215,25471,1.215,25472,1.215,25473,1.215,25474,3.144,25475,2.251,25476,1.215,25477,1.215,25478,1.215,25479,1.215,25480,2.251,25481,2.251,25482,1.215,25483,2.085,25484,1.215,25485,1.126,25486,1.126,25487,1.215,25488,3.144,25489,1.215,25490,1.215,25491,1.215,25492,2.251,25493,3.144,25494,1.215,25495,1.215,25496,1.215,25497,1.215,25498,2.251,25499,1.215,25500,1.215,25501,1.215,25502,1.215,25503,1.215,25504,1.215,25505,1.215,25506,1.215,25507,1.215,25508,1.215,25509,1.215,25510,1.215,25511,1.215,25512,3.922,25513,1.215,25514,1.215,25515,2.251,25516,1.215,25517,1.126,25518,1.215,25519,1.215,25520,1.215,25521,1.215,25522,1.215,25523,1.215,25524,1.126,25525,1.215,25526,1.215,25527,1.215,25528,1.215,25529,2.251,25530,1.215,25531,1.215,25532,1.215,25533,1.215,25534,1.067,25535,2.251,25536,1.215,25537,1.215,25538,1.215,25539,1.126,25540,1.126,25541,1.022,25542,1.215,25543,2.251,25544,2.085,25545,1.215,25546,1.215,25547,3.144,25548,2.085,25549,1.215,25550,2.085,25551,2.251,25552,2.251,25553,1.126,25554,1.067,25555,1.215,25556,1.215,25557,1.126,25558,1.215,25559,1.215,25560,1.215,25561,2.251,25562,1.215,25563,3.144,25564,1.215,25565,1.215,25566,1.215,25567,1.215,25568,1.215,25569,1.215,25570,1.215,25571,1.215,25572,1.215,25573,1.215,25574,1.215,25575,1.022,25576,1.215,25577,1.215,25578,1.215,25579,1.215,25580,1.215,25581,1.215,25582,1.215,25583,1.215,25584,1.215,25585,1.215,25586,1.215,25587,1.215,25588,1.067,25589,1.126,25590,2.251,25591,2.085,25592,1.215,25593,1.215,25594,1.215,25595,1.215,25596,1.215,25597,1.215,25598,1.215,25599,1.215,25600,1.215,25601,1.022,25602,1.215,25603,1.126,25604,0.987,25605,1.215,25606,1.215,25607,1.126,25608,1.215]],["title/properties.html",[112,0.658,24811,5.082]],["body/properties.html",[30,0.001,103,0.001,104,0.001,112,0.836,157,2.468,1212,6.881,1883,4.003,1885,6.564,2164,4.946,2637,9.877,5018,6.714,6578,6.971,11724,8.406,15629,7.399,22552,8.185,25607,9.877,25609,11.012,25610,9.877,25611,8.972,25612,10.663,25613,10.663,25614,10.663,25615,10.663]],["title/todo.html",[1434,3.736,1829,2.482,24973,5.082]],["body/todo.html",[0,0.196,5,0.005,30,0.001,31,0.465,32,0.102,34,1.414,36,1.199,47,0.417,72,2.606,100,2.884,103,0,104,0,110,1.973,112,0.445,129,3.175,131,2.897,141,2.432,161,1.352,183,3.158,185,1.944,193,3.607,194,2.23,205,2.565,206,1.851,252,3.009,260,2.109,271,3.115,276,2.222,290,1.962,314,2.16,316,2.731,317,2.111,345,4.081,360,3.263,409,3.617,412,4.762,414,4.95,433,0.697,507,2.52,525,2.975,540,3.237,543,2.762,561,5.133,623,3.71,624,7.314,644,3.456,688,2.646,876,2.955,981,7.48,985,5.66,997,6.073,1018,4.981,1072,4.081,1080,2.867,1083,3.207,1087,3.817,1171,4.356,1212,7.354,1218,3.71,1220,4.754,1372,5.658,1373,3.456,1381,3.816,1472,3.155,1585,3.456,1610,6.066,1627,5.947,1829,2.432,1850,8.045,1883,4.024,1885,5.091,1922,3.938,1928,3.354,1939,6.931,2140,4.713,2164,2.632,2219,2.544,2221,4.025,2230,4.163,2234,3.875,2447,2.372,2513,3.234,2530,4.006,2547,8.21,2550,4.985,2551,8.122,2636,2.778,3036,2.659,3611,3.875,3612,3.617,3649,4.713,3817,3.762,3972,3.762,4186,4.356,4338,4.254,4401,5.337,4703,3.421,4913,4.163,4919,3.875,4921,3.816,4922,4.254,4943,4.163,4953,3.762,4955,5.647,5004,3.662,5050,9.259,5074,2.897,5138,5.223,5139,6.958,5140,3.71,5234,5.455,5245,3.493,5271,3.573,5278,3.573,5324,6.066,5347,4.254,5607,3.617,5805,3.71,6308,4.61,6668,3.06,6729,4.61,6730,4.254,7142,4.981,7180,5.561,7465,5.947,7469,5.947,7472,3.938,7473,4.981,7476,4.775,7562,7.314,7882,3.292,7909,3.762,8852,4.474,8853,7.49,9112,5.256,9202,4.163,9962,4.356,9970,4.163,11479,6.958,11643,7.016,11710,3.322,12127,4.775,12604,4.006,12660,5.256,12728,4.61,13728,3.762,14361,4.775,14446,4.775,15303,4.61,15629,3.938,16557,4.775,17166,4.61,18165,4.981,18215,4.474,19483,5.256,20661,7.016,20976,5.256,21075,6.519,21893,5.256,22552,4.356,22839,5.256,23847,5.256,24811,4.981,24942,5.256,24975,6.348,24991,4.981,24994,4.775,25034,4.775,25071,4.61,25173,5.256,25201,5.256,25588,7.258,25604,4.61,25616,5.675,25617,5.256,25618,4.775,25619,4.981,25620,5.256,25621,5.675,25622,5.675,25623,5.675,25624,4.775,25625,5.675,25626,5.675,25627,4.775,25628,5.675,25629,5.675,25630,5.256,25631,5.675,25632,5.675,25633,5.675,25634,5.675,25635,5.675,25636,4.775,25637,4.981,25638,5.675,25639,5.675,25640,5.675,25641,5.675,25642,5.256,25643,5.675,25644,5.256,25645,5.675,25646,5.675,25647,5.675,25648,5.675,25649,5.675,25650,5.675,25651,4.981,25652,5.675,25653,5.675,25654,5.256,25655,5.675,25656,5.675,25657,5.675,25658,5.675,25659,5.675,25660,5.675,25661,5.675,25662,5.675,25663,9.757,25664,5.675,25665,5.675,25666,5.675,25667,5.675,25668,5.675,25669,5.675,25670,4.775,25671,8.27,25672,5.675,25673,5.675]],["title/additional-documentation/nestjs-application.html",[869,2.425,1388,2.956,3814,2.9,4237,3.197]],["body/additional-documentation/nestjs-application.html",[5,0.009,18,1.883,30,0.001,31,0.424,33,0.275,72,1.726,78,6.458,87,1.895,95,0.042,103,0,104,0,129,1.113,161,0.895,180,1.611,185,2.065,193,1.639,194,1.477,223,1.171,231,0.648,252,2.281,254,2.169,270,2.318,304,1.861,326,1.43,339,3.111,347,3.879,360,2.16,412,5.052,415,2.142,467,2.198,507,4.201,543,2.934,561,4.26,585,2.756,610,1.482,619,4.335,624,5.659,626,3.298,629,1.983,648,3.796,694,2.756,804,4.519,807,4.628,812,3.842,813,3.379,869,2.951,876,4.924,981,5.76,982,7.456,985,3.497,997,3.753,998,4.781,1042,3.996,1083,3.407,1086,4.113,1089,3.003,1212,6.104,1220,2.16,1283,7.488,1296,3.162,1311,5.648,1355,3.466,1372,4.56,1388,2.242,1390,4.699,1434,5.575,1477,1.919,1563,2.425,1598,3.563,1610,5.538,1624,3.162,1625,3.053,1626,5.659,1714,2.817,1832,2.395,1850,2.653,1885,3.711,1919,2.607,1921,2.491,1922,4.183,1928,3.563,1930,2.702,1939,1.997,2010,2.491,2061,2.702,2164,4.683,2219,1.685,2220,1.895,2221,4.205,2313,4.422,2366,5.291,2393,1.44,2465,3.563,2513,2.142,2543,2.366,2550,3.634,2551,8.072,2552,2.607,2553,2.366,2570,2.425,2641,4.598,2643,2.566,2800,2.566,2831,1.504,2834,2.491,2836,2.491,2856,2.817,2915,2.265,3045,3.996,3102,5.207,3108,2.457,3160,2.289,3430,1.632,3612,3.842,3812,5.077,3813,6.215,3814,6.833,3817,5.004,3898,5.701,3910,2.962,4234,3.053,4235,2.607,4237,7.696,4261,2.817,4905,2.425,4906,2.885,4919,2.566,4920,4.335,4939,6.677,4943,5.538,4945,2.756,4954,2.962,5138,3.227,5215,4.924,5222,5.995,5233,3.298,5234,1.799,5260,2.366,5271,5.44,5378,3.298,5405,9.352,5411,3.481,5412,2.885,5752,1.944,5805,2.457,6039,3.053,6287,3.298,6369,1.895,6571,2.527,7289,2.491,7290,2.566,7367,5.584,7413,2.817,7467,3.481,7509,4.054,7558,2.702,7642,2.265,7739,2.366,8865,5.073,9001,4.898,9020,6.476,9101,5.584,9202,6.938,9429,4.753,9917,3.481,9921,3.162,10596,4.422,11316,4.628,11725,9.229,11822,4.753,12103,3.298,12127,3.162,12171,2.885,12430,4.628,12431,4.753,12490,2.313,12604,5.33,13164,2.885,13305,4.335,13510,3.162,13669,3.162,14115,2.962,14335,3.053,14445,3.053,14654,2.425,14685,3.298,14941,3.053,15305,3.053,15307,3.053,15936,6.993,16515,8.203,16545,6.134,16887,2.817,16903,3.162,17166,3.053,17168,3.162,17927,3.162,18165,8.302,19616,8.203,19676,2.653,22520,5.073,22552,6.632,22562,3.298,23348,3.481,23404,5.584,23491,3.298,23838,3.162,24894,3.481,24950,3.481,24958,3.481,24959,3.481,24974,3.162,24975,9.602,24976,5.291,24977,3.162,24979,3.053,24982,3.298,24990,6.352,25010,3.298,25093,3.298,25139,3.053,25170,5.584,25283,3.298,25298,3.053,25307,5.291,25363,3.298,25438,3.481,25444,3.481,25554,5.291,25575,3.162,25624,9.572,25636,5.073,25637,5.291,25651,5.291,25654,8.761,25674,3.758,25675,3.758,25676,7.958,25677,3.758,25678,3.758,25679,3.758,25680,3.758,25681,3.758,25682,6.029,25683,3.758,25684,6.626,25685,3.758,25686,3.758,25687,3.758,25688,3.758,25689,3.758,25690,3.758,25691,3.758,25692,3.758,25693,3.758,25694,3.758,25695,3.758,25696,3.758,25697,3.758,25698,3.758,25699,8.761,25700,3.481,25701,3.481,25702,3.481,25703,3.481,25704,3.481,25705,3.481,25706,3.481,25707,3.481,25708,3.758,25709,3.481,25710,3.758,25711,3.758,25712,3.758,25713,6.029,25714,3.298,25715,3.481,25716,3.298,25717,3.298,25718,3.758,25719,9.459,25720,3.481,25721,3.758,25722,3.758,25723,10.097,25724,3.758,25725,3.758,25726,3.758,25727,3.758,25728,6.029,25729,8.64,25730,3.758,25731,6.029,25732,3.758,25733,6.029,25734,3.758,25735,3.758,25736,8.64,25737,3.758,25738,3.758,25739,3.758,25740,3.758,25741,6.029,25742,3.758,25743,3.758,25744,3.758,25745,3.758,25746,6.029,25747,3.758,25748,3.758,25749,3.758,25750,3.481,25751,3.758,25752,3.758,25753,3.758,25754,6.029,25755,3.758,25756,3.758,25757,3.758,25758,3.758,25759,3.758,25760,3.758,25761,3.758,25762,6.029,25763,7.55,25764,3.758,25765,3.758,25766,7.55,25767,6.029,25768,3.758,25769,3.758,25770,3.758,25771,3.758,25772,3.758,25773,3.758,25774,3.758,25775,3.758,25776,6.029,25777,3.758,25778,6.029,25779,6.029,25780,3.481,25781,3.758,25782,3.758,25783,6.993,25784,3.758,25785,3.758,25786,3.758,25787,3.481,25788,3.481,25789,3.758,25790,3.758,25791,3.758,25792,3.758,25793,3.758,25794,3.758,25795,3.758,25796,3.758]],["title/additional-documentation/nestjs-application/software-architecture.html",[869,2.425,1388,2.956,24981,4.025,25041,4.169]],["body/additional-documentation/nestjs-application/software-architecture.html",[0,0.336,2,0.664,5,0.004,7,0.055,8,0.453,27,0.379,30,0.001,72,4.748,95,0.044,101,0.011,103,0,104,0,134,2.771,153,0.641,159,1.15,161,2.758,206,2.053,252,3.474,254,4.654,255,1.514,259,2.842,260,1.474,274,3.257,276,2.464,290,0.941,314,1.509,371,3.345,403,2.025,407,2.752,409,2.527,411,2.973,412,2.795,507,2.795,512,4.548,527,1.685,534,2.079,550,2.321,585,2.909,589,0.527,591,0.941,610,1.564,612,5.262,614,3.012,629,3.321,711,2.266,734,1.671,802,2.629,806,3.044,812,4.986,813,4.385,816,2.752,998,5.324,1083,3.556,1097,4.443,1198,2.39,1214,5.524,1218,6.76,1272,2.497,1302,2.205,1372,6.262,1373,2.415,1390,2.468,1626,2.223,1714,7.282,1829,1.7,1831,2.629,1832,5.677,1883,4.975,1919,6.181,1921,2.629,1925,4.367,1926,5.917,1927,2.667,1928,2.343,1930,2.852,2135,2.799,2164,3.629,2232,3.587,2234,4.297,2328,3.963,2345,5.425,2358,3.618,2513,3.587,2531,5.843,2542,3.337,2543,2.497,2546,3.222,2551,2.559,2552,2.752,2570,4.061,2587,3.044,2640,3.673,2641,6.297,2642,4.297,2643,2.708,2796,3.369,2834,2.629,2836,4.171,2884,2.852,2903,7.351,2911,2.441,2935,3.222,3036,1.858,3045,2.629,3430,4.706,3612,4.986,3814,2.321,3912,4.717,3925,3.126,3972,4.171,4215,4.367,4233,3.222,4235,6.181,4237,4.061,4362,2.441,4401,2.559,4866,2.223,4917,2.559,4919,4.297,4926,2.799,4953,2.629,4999,2.909,5050,5.113,5087,3.126,5215,3.587,5234,1.898,5271,3.963,5278,4.927,5301,2.799,5304,8.174,5324,4.616,5325,5.295,5343,3.222,5348,4.717,5805,5.824,6029,3.673,6178,4.624,6292,2.909,6297,3.044,6307,3.337,6423,5.829,6571,4.232,7179,3.126,7190,3.673,7858,2.593,7859,4.443,8539,4.831,8853,3.044,9020,2.973,9124,3.673,9156,5.865,9216,2.629,9962,3.044,9970,4.616,10599,3.044,11316,3.044,11508,3.044,11634,2.973,11711,3.222,11849,2.708,12149,3.044,13824,3.337,13942,4.961,14115,3.126,14445,3.222,15298,3.126,15303,5.113,15305,3.222,15586,6.168,15629,6.741,15779,3.126,15875,3.481,15985,3.481,16404,6.583,16405,3.481,16905,3.673,17402,3.126,17933,3.481,18880,5.524,18886,3.126,18887,3.481,19572,5.524,19626,4.961,20661,4.525,20666,3.337,20926,3.044,21074,6.838,21075,3.126,21618,3.673,22025,3.044,22073,3.481,22275,3.337,23346,10.449,23518,3.481,23838,3.337,24120,3.481,24975,3.044,24981,8.4,24983,5.524,24993,3.337,24994,3.337,24997,3.044,25006,4.961,25030,3.337,25041,5.295,25071,3.222,25072,8.174,25102,3.337,25103,7.247,25109,3.673,25124,3.481,25127,5.524,25139,3.222,25157,3.673,25160,3.481,25178,3.481,25184,6.867,25205,3.126,25234,3.673,25246,3.481,25254,3.673,25283,3.481,25284,3.481,25307,5.524,25434,7.247,25485,3.673,25524,3.673,25539,3.673,25541,6.583,25589,5.829,25601,3.337,25611,3.337,25618,6.583,25627,8.174,25717,3.481,25797,3.966,25798,3.966,25799,9.715,25800,3.966,25801,3.966,25802,3.966,25803,3.966,25804,3.966,25805,8.908,25806,3.966,25807,3.966,25808,3.966,25809,7.824,25810,3.966,25811,3.966,25812,7.247,25813,3.966,25814,3.966,25815,3.481,25816,3.673,25817,3.966,25818,3.337,25819,3.966,25820,7.824,25821,8.527,25822,5.295,25823,3.966,25824,3.966,25825,7.818,25826,3.966,25827,6.293,25828,3.481,25829,3.966,25830,6.293,25831,3.966,25832,3.966,25833,3.966,25834,3.966,25835,3.966,25836,3.966,25837,3.966,25838,3.673,25839,3.966,25840,3.966,25841,3.673,25842,3.966,25843,6.293,25844,3.673,25845,3.966,25846,3.966,25847,3.966,25848,8.251,25849,3.966,25850,3.673,25851,3.966,25852,3.966,25853,3.966,25854,3.673,25855,3.966,25856,3.966,25857,6.293,25858,3.966,25859,3.966,25860,3.966,25861,3.481,25862,3.966,25863,3.673,25864,3.966,25865,3.966,25866,3.966,25867,3.673,25868,3.966,25869,3.966,25870,3.966,25871,3.966,25872,3.966,25873,5.829,25874,3.966,25875,3.966,25876,6.293,25877,6.293,25878,7.824,25879,7.824,25880,6.293,25881,6.293,25882,3.673,25883,3.966,25884,3.966,25885,3.337,25886,6.293,25887,3.966,25888,3.966,25889,3.966,25890,3.966,25891,3.481,25892,3.966,25893,3.966,25894,3.966,25895,3.966,25896,3.966,25897,6.293,25898,3.966,25899,3.673,25900,3.966]],["title/additional-documentation/nestjs-application/file-structure.html",[5,0.004,869,2.425,1388,2.956,6027,3.562]],["body/additional-documentation/nestjs-application/file-structure.html",[0,0.389,2,0.352,3,0.006,5,0.01,9,2.541,27,0.373,30,0.001,31,0.567,32,0.068,34,0.571,36,1.158,72,4.086,95,0.061,100,3.521,101,0.012,103,0,104,0,112,0.546,127,1.673,129,0.989,134,2.466,135,1.049,141,2.985,148,0.685,153,1.126,159,0.341,161,1.305,180,1.431,185,1.876,190,1.445,194,1.312,200,2.131,205,2.058,206,3.119,223,1.041,252,3.387,254,4.14,255,1.275,258,1.298,259,1.989,260,3.553,268,2.034,274,2.899,276,2.145,290,1.652,314,4.012,317,1.507,325,2.713,326,1.271,329,2.034,339,2.363,349,2.779,371,5.603,379,1.694,400,0.979,407,2.317,409,2.128,412,5.649,413,2.034,415,1.903,433,0.41,507,1.483,512,4.542,527,1.419,543,3.922,561,1.504,585,4.018,589,0.728,610,4.856,612,4.684,613,3.149,627,2.931,641,1.903,657,1.253,675,4.542,688,2.554,694,2.449,703,2.137,734,3.396,796,5.074,807,2.563,810,2.449,812,3.491,813,1.871,871,1.229,876,1.738,981,3.336,997,5.951,998,2.594,1072,5.008,1083,3.096,1089,1.663,1172,5.221,1193,3.631,1211,2.155,1213,2.128,1218,2.183,1220,1.92,1222,2.632,1226,2.931,1238,2.563,1372,5.329,1373,4.242,1380,6.04,1381,2.245,1388,4.156,1393,5.07,1472,1.856,1563,2.155,1585,2.034,1626,1.871,1627,5.008,1821,1.581,1831,2.213,1832,3.491,1833,2.713,1847,4.609,1856,1.903,1861,5.86,1862,2.911,1869,6.547,1883,2.614,1885,7.232,1886,2.632,1900,3.581,1919,2.317,1922,2.317,2088,1.431,2140,1.903,2164,1.549,2234,3.74,2328,3.449,2345,2.034,2358,3.149,2393,2.099,2481,2.563,2531,1.8,2551,4.494,2553,5.074,2558,2.809,2559,2.931,2636,3.409,2641,5.418,2643,2.28,2796,1.787,2836,2.213,2903,6.892,2911,2.055,2912,1.598,2915,4.198,2935,2.713,3036,1.565,3045,4.616,3242,1.828,3365,2.563,3612,3.491,3728,2.401,3774,2.103,3814,6.39,3972,2.213,4049,3.867,4077,1.993,4214,4.318,4215,2.317,4216,2.503,4235,3.801,4236,4.205,4237,2.155,4362,2.055,4401,2.155,4526,2.931,4824,2.809,4866,3.07,4905,3.535,4930,2.503,5050,4.45,5074,1.705,5098,2.632,5138,1.787,5140,2.183,5222,4.833,5223,2.128,5234,3.334,5245,4.961,5278,3.449,5303,2.809,5304,5.86,5348,5.221,5363,2.931,5404,6.113,6027,2.401,6178,4.116,6292,2.449,6302,2.563,6794,2.034,7143,3.093,7180,2.245,7187,2.401,7465,5.008,7472,3.801,7477,2.713,7509,4.684,7882,4.04,8073,4.45,8128,2.563,8539,2.563,8793,2.503,9116,2.563,9636,2.449,9818,6.451,9962,2.563,9971,2.809,10063,7.012,10599,2.563,11272,3.093,11277,3.093,11316,2.563,11346,5.658,11347,2.713,11348,2.809,11349,2.809,11462,2.931,11479,4.609,11480,2.632,11634,2.503,11643,2.401,12471,2.809,12518,2.713,12687,2.809,13131,2.713,13163,5.074,13164,2.563,13464,2.931,13502,2.931,13960,2.563,13993,4.609,14115,7.013,14436,2.931,15298,4.318,15324,3.093,15629,2.317,16517,2.713,16560,3.093,16621,3.093,16622,3.093,16623,3.093,16624,2.931,16662,2.931,16887,2.503,16925,6.113,17402,2.632,18215,2.632,19119,4.609,19181,3.093,19626,6.353,20661,6.874,20899,2.931,21074,5.346,21898,4.609,21990,3.093,23346,7.536,24981,4.45,24990,2.809,25005,2.809,25006,5.49,25015,2.931,25024,5.86,25026,2.713,25032,2.931,25034,2.809,25074,3.093,25076,2.713,25160,2.931,25166,2.931,25183,2.931,25187,3.093,25261,3.093,25298,2.713,25363,2.931,25464,6.451,25534,2.931,25541,2.809,25557,3.093,25575,2.809,25603,3.093,25604,4.45,25611,2.809,25618,6.78,25619,6.113,25627,2.809,25670,5.86,25676,4.609,25715,3.093,25716,6.113,25717,2.931,25720,3.093,25815,2.931,25821,2.931,25822,2.809,25825,2.931,25882,3.093,25901,7.464,25902,4.808,25903,6.451,25904,3.093,25905,3.339,25906,5.478,25907,9.56,25908,8.059,25909,3.339,25910,3.339,25911,3.339,25912,5.478,25913,8.059,25914,3.339,25915,3.339,25916,3.339,25917,3.339,25918,5.478,25919,2.931,25920,3.339,25921,3.339,25922,3.339,25923,3.339,25924,3.339,25925,3.339,25926,3.339,25927,3.339,25928,3.339,25929,3.339,25930,3.339,25931,3.339,25932,3.093,25933,3.339,25934,3.339,25935,3.339,25936,3.339,25937,3.339,25938,3.339,25939,3.339,25940,3.339,25941,3.339,25942,3.339,25943,3.339,25944,3.339,25945,3.093,25946,3.339,25947,3.093,25948,5.074,25949,3.339,25950,3.339,25951,3.339,25952,3.339,25953,3.339,25954,3.339,25955,3.339,25956,3.339,25957,3.339,25958,3.339,25959,3.339,25960,3.339,25961,3.339,25962,3.339,25963,3.339,25964,3.339,25965,3.339,25966,3.093,25967,3.339,25968,3.339,25969,3.339,25970,3.339,25971,3.339,25972,3.093,25973,3.339,25974,3.339,25975,3.339,25976,3.339,25977,3.339,25978,3.339,25979,6.451,25980,2.931,25981,5.478,25982,3.339,25983,3.339,25984,3.339,25985,3.339,25986,3.339,25987,3.339]],["title/additional-documentation/nestjs-application/api-design.html",[869,2.425,1372,2.615,1388,2.956,25611,4.169]],["body/additional-documentation/nestjs-application/api-design.html",[30,0.001,103,0.001,104,0.001,25361,10.081]],["title/additional-documentation/nestjs-application/logging.html",[869,2.834,1388,3.455,7470,4.34]],["body/additional-documentation/nestjs-application/logging.html",[0,0.362,3,0.015,8,0.911,26,1.616,30,0.001,39,3.244,95,0.089,101,0.013,103,0,104,0,148,0.784,153,1.29,159,0.815,183,3.045,228,1.432,242,4.208,252,2.105,339,3.639,400,3.07,412,4.65,515,4.364,528,4.046,567,2.973,578,4.18,622,8.253,641,4.544,688,3.718,711,2.31,734,3.36,997,4.963,1027,2.44,1042,5.285,1080,3.629,1115,4.905,1237,3.033,1381,7.04,1422,4.968,1423,4.881,1426,3.541,1472,4.433,2447,5.882,2448,3.737,2531,4.299,2543,5.021,2557,5.362,2641,7.559,2884,5.734,4401,5.146,4703,4.806,4903,6.121,4955,9.206,5103,6.998,5140,7.642,5304,6.709,6288,3.241,6308,6.478,6388,5.533,7373,6.478,7470,9.303,7859,5.629,7910,5.849,9969,7.386,10000,6.286,13767,9.189,13768,6.998,13824,6.709,15305,6.478,15900,6.709,21075,6.286,21102,6.998,23148,8.037,25205,6.286,25247,7.386,25298,6.478,25604,6.478,25988,7.974,25989,7.974,25990,7.974,25991,10.469,25992,7.974,25993,7.974,25994,7.974,25995,7.974,25996,7.974,25997,7.974,25998,7.974,25999,7.974,26000,7.974,26001,7.974,26002,7.386,26003,7.386,26004,7.974]],["title/additional-documentation/nestjs-application/exception-handling.html",[869,2.425,1388,2.956,1472,2.754,7469,3.562]],["body/additional-documentation/nestjs-application/exception-handling.html",[0,0.319,9,3.066,30,0.001,31,0.371,32,0.15,47,0.844,48,5.383,51,4.437,72,4.234,101,0.012,103,0,104,0,129,3.144,135,0.86,148,0.65,153,1.858,155,2.109,159,0.676,193,2.883,223,2.873,228,1.656,231,1.14,233,2.049,234,5.073,244,4.665,252,1.745,338,5.675,339,3.113,400,1.938,403,4.707,409,4.212,412,4.715,512,4.707,516,3.512,525,3.464,529,3.645,561,4.152,579,3.031,585,4.848,629,3.488,652,1.344,711,1.914,734,2.785,810,4.848,871,3.392,998,5.028,1080,4.721,1115,4.762,1220,6.104,1237,2.671,1302,3.674,1328,3.512,1355,3.799,1371,6.122,1372,4.866,1373,6.466,1379,6.629,1381,8.415,1388,5.501,1390,4.114,1396,4.265,1422,5.01,1426,2.935,1468,3.081,1472,7.493,1477,3.374,1478,3.512,1713,5.369,1721,5.561,1729,6.122,1832,4.212,1984,4.444,2106,8.369,2358,3.799,2548,5.561,2550,3.984,2557,4.444,2641,7.622,2831,2.646,2834,4.381,3365,5.073,3633,4.752,3814,6.215,4214,5.21,4233,9.816,4234,5.369,4401,6.851,4955,4.512,5098,5.21,5140,4.321,5278,5.805,6310,5.561,6388,4.586,7469,4.752,7470,6.911,7476,5.561,9028,5.369,9962,8.15,10020,5.073,10026,6.122,10028,5.561,11480,5.21,12670,6.122,13538,5.801,15307,5.369,16557,5.561,23499,6.122,24974,5.561,25052,6.122,25205,5.21,25365,12.326,25822,5.561,25885,5.561,25932,6.122,26005,6.122,26006,6.609,26007,9.219,26008,6.609,26009,6.609,26010,6.609,26011,6.609,26012,6.609,26013,6.609,26014,6.609,26015,6.609,26016,6.609,26017,6.609,26018,6.609,26019,6.609,26020,6.122,26021,6.609,26022,6.609,26023,6.609,26024,6.609,26025,6.122,26026,6.609]],["title/additional-documentation/nestjs-application/domain-object-validation.html",[185,1.483,869,2.119,1373,2.637,1388,2.584,1883,1.625]],["body/additional-documentation/nestjs-application/domain-object-validation.html",[0,0.317,30,0.001,103,0.001,104,0.001,122,1.898,159,1.17,185,4.607,304,5.664,412,4.066,507,4.066,525,4.799,532,3.358,543,4.456,628,5.463,711,2.652,813,6.411,1213,5.835,1373,5.576,1784,6.157,1832,5.835,1883,5.049,1925,6.353,2033,3.472,2234,6.251,2512,6.826,2542,7.703,2550,6.894,2557,7.692,2636,4.481,2641,5.576,2856,8.574,2903,5.986,2944,6.583,2959,5.253,3159,4.143,3432,5.264,3820,7.703,4920,6.583,6285,8.036,6292,6.716,9020,6.863,9649,6.069,11714,9.017,15298,7.217,20926,7.028,21074,7.028,25001,7.438,25107,9.624,25139,7.438,25263,8.48,25534,8.036,25816,8.48,25979,13.144,26027,9.156,26028,9.156,26029,9.156,26030,9.156,26031,11.439,26032,9.156,26033,9.156,26034,9.156,26035,9.156,26036,11.439,26037,9.156]],["title/additional-documentation/nestjs-application/testing.html",[869,2.834,1388,3.455,13305,4.163]],["body/additional-documentation/nestjs-application/testing.html",[0,0.185,27,0.157,29,0.407,30,0.001,31,0.3,32,0.098,35,0.462,36,1.67,51,1.117,72,4.495,79,3.535,94,1.177,95,0.026,96,0.606,100,0.809,103,0,104,0,110,1.4,129,1.193,130,1.724,131,1.185,135,1.419,141,3.388,146,1.584,148,0.777,153,0.375,157,0.932,183,0.886,205,0.821,206,1.741,219,2.221,252,2.372,255,2.433,259,1.938,270,0.892,271,0.874,274,1.677,276,0.908,289,3.095,290,0.955,304,1.149,314,0.883,317,2.404,335,1.56,339,2.967,347,1.192,371,3.386,407,1.61,409,2.567,411,1.739,412,4.842,413,1.413,417,1.3,512,1.185,527,4.423,528,3.232,531,4.143,537,1.27,543,4.373,550,1.358,567,2.688,585,1.702,610,2.513,612,2.708,614,1.654,619,1.668,624,4.775,629,1.225,640,1.428,641,3.631,657,2.314,685,2.336,688,1.082,734,3.331,756,0.925,804,3.019,810,1.702,873,1.479,981,7.974,982,1.829,985,2.336,998,4.255,1029,2.708,1040,1.61,1042,1.538,1043,1.61,1072,1.668,1080,3.608,1083,3.6,1088,1.087,1089,1.156,1094,1.739,1212,3.443,1213,1.479,1218,2.633,1220,1.334,1222,1.829,1223,1.739,1224,3.837,1225,5.901,1267,1.638,1328,2.14,1372,4.742,1380,1.739,1381,1.56,1390,1.444,1392,3.535,1393,4.505,1434,1.497,1561,4.497,1564,2.149,1607,1.952,1626,1.3,1627,1.668,1714,3.019,1783,1.428,1784,2.708,1831,1.538,1832,1.479,1834,1.702,1846,1.829,1919,3.703,1922,2.795,1925,1.61,1926,1.413,1928,5.784,1929,2.954,2033,1.527,2140,1.322,2164,1.868,2230,1.702,2232,1.322,2233,2.453,2313,1.702,2366,2.037,2446,2.898,2488,4.673,2512,1.385,2513,3.631,2531,4.576,2543,3.36,2550,2.427,2551,8.414,2553,1.461,2558,1.952,2561,2.037,2587,1.781,2588,2.536,2608,1.399,2636,4.154,2641,5.961,2642,5.397,2643,4.35,2698,0.753,2796,1.242,2834,1.538,2836,2.669,2856,1.739,2859,1.781,2903,1.517,2911,1.428,2915,2.427,2922,4.581,2930,4.775,2935,1.885,2952,1.702,2997,3.389,3242,1.27,3319,2.295,3418,1.045,3430,1.008,3432,1.334,3436,1.192,3633,1.668,3649,2.295,3753,1.638,3814,2.358,3817,7.072,3910,1.829,3972,1.538,4215,2.795,4235,1.61,4236,1.781,4237,1.497,4338,3.019,4528,2.037,4913,1.702,4919,2.75,4920,1.668,4930,1.739,4953,1.538,4967,1.829,4999,4.673,5074,2.056,5098,3.175,5138,1.242,5140,3.489,5146,1.781,5222,2.795,5245,1.428,5278,4.54,5301,1.638,5317,1.781,5319,1.829,5320,2.149,5324,1.702,5404,2.037,5795,1.497,5805,1.517,5927,3.321,6027,5.184,6033,1.952,6178,2.38,6226,2.795,6292,2.954,6302,1.781,6304,1.739,6305,1.885,6306,1.781,6336,1.952,6548,1.885,7138,1.952,7270,1.538,7469,2.896,7509,1.56,7558,1.668,7562,1.739,7786,4.497,7858,1.517,7859,1.638,7869,1.739,7882,1.346,7909,3.537,7957,6.328,8076,1.829,8539,3.092,8831,3.092,8852,1.829,8859,3.535,8865,3.389,8962,2.037,9099,3.389,9116,3.092,9119,1.952,9202,2.954,9429,3.175,9636,2.954,9970,6.591,10395,7.648,11316,5.535,11317,2.149,11480,7.083,11508,1.781,11710,1.358,11716,1.668,11725,1.584,11821,1.829,12134,2.149,12149,3.092,12431,3.175,12497,1.952,12572,5.925,12602,5.925,12728,1.885,12737,2.149,13164,1.781,13305,7.991,13528,1.952,13825,2.149,13960,3.092,14301,4.335,14335,1.885,14446,1.952,14709,2.037,14942,1.885,15199,2.149,15248,2.037,15298,1.829,15305,1.885,15306,2.149,15307,1.885,15389,1.739,15586,1.829,15629,3.703,15896,3.73,15900,3.389,16404,1.952,16714,3.272,16883,3.389,17043,2.149,17402,1.829,18221,4.096,18565,1.952,18575,1.885,18806,1.952,18886,1.829,19530,2.037,19572,2.037,19707,3.535,20666,1.952,20926,1.781,21074,3.092,21159,2.037,21898,1.952,22025,3.092,22075,3.535,22077,2.149,22083,2.149,22275,1.952,22520,1.952,22550,3.73,22552,4.891,22553,5.901,22557,5.901,22562,5.592,23200,3.535,23346,3.175,24219,4.942,24892,2.037,24919,2.149,24975,3.092,24977,3.389,24986,3.389,24997,1.781,25001,1.885,25003,2.037,25006,5.022,25026,1.885,25041,1.952,25053,2.149,25056,2.149,25059,2.149,25061,2.149,25071,1.885,25072,1.952,25076,1.885,25077,2.149,25091,2.149,25092,2.149,25107,3.389,25124,3.535,25139,4.335,25163,2.149,25166,2.037,25171,2.149,25178,2.037,25184,2.037,25246,2.037,25252,2.037,25284,2.037,25298,1.885,25361,2.037,25465,2.149,25483,2.149,25517,2.149,25544,2.149,25548,2.149,25554,2.037,25588,2.037,25601,1.952,25618,1.952,25619,2.037,25627,4.49,25642,4.942,25644,3.73,25670,1.952,25676,7.56,25714,2.037,25780,2.149,25812,2.149,25821,2.037,25822,1.952,25825,3.535,25828,2.037,25841,2.149,25848,2.149,25850,2.149,25861,3.535,25863,2.149,25867,9.067,25885,3.389,25891,3.535,25899,3.73,25901,4.942,25902,2.037,25903,3.73,25904,2.149,25919,3.535,25947,2.149,25948,2.149,25972,2.149,26003,2.149,26005,2.149,26020,2.149,26038,2.32,26039,2.32,26040,2.32,26041,2.037,26042,2.32,26043,5.336,26044,8.488,26045,2.32,26046,4.027,26047,2.32,26048,2.32,26049,4.027,26050,2.32,26051,2.32,26052,2.32,26053,2.037,26054,2.32,26055,2.32,26056,2.32,26057,2.32,26058,2.32,26059,2.32,26060,2.32,26061,2.32,26062,2.32,26063,2.32,26064,2.32,26065,2.32,26066,6.371,26067,2.32,26068,2.149,26069,2.32,26070,2.32,26071,2.149,26072,2.32,26073,2.32,26074,7.904,26075,2.32,26076,2.32,26077,2.32,26078,2.32,26079,2.32,26080,2.149,26081,3.73,26082,4.027,26083,7.21,26084,4.027,26085,2.32,26086,2.32,26087,2.037,26088,2.32,26089,5.336,26090,4.027,26091,4.027,26092,7.904,26093,4.027,26094,2.32,26095,2.32,26096,2.149,26097,2.037,26098,5.336,26099,2.32,26100,5.336,26101,4.027,26102,7.21,26103,4.027,26104,5.336,26105,2.32,26106,2.32,26107,2.32,26108,4.027,26109,8.488,26110,2.32,26111,2.32,26112,2.32,26113,2.32,26114,2.32,26115,2.32,26116,2.32,26117,2.32,26118,2.32,26119,2.32,26120,2.32,26121,2.32,26122,2.32,26123,2.32,26124,2.32,26125,2.32,26126,2.32,26127,4.027,26128,2.32,26129,2.149,26130,5.336,26131,2.32,26132,2.32,26133,2.32,26134,2.32,26135,5.336,26136,2.32,26137,4.027,26138,4.027,26139,2.32,26140,2.32,26141,2.32,26142,2.32,26143,2.32,26144,4.027,26145,4.027,26146,4.027,26147,5.336,26148,2.32,26149,2.32,26150,4.027,26151,4.027,26152,4.027,26153,5.336,26154,2.32,26155,2.32,26156,2.32,26157,4.027,26158,2.32,26159,4.027,26160,2.32,26161,2.32,26162,2.32,26163,2.32,26164,4.027,26165,4.027,26166,2.32,26167,2.32,26168,2.32,26169,2.32,26170,7.21,26171,2.32,26172,5.336,26173,2.149,26174,2.037,26175,2.32,26176,2.32,26177,2.32,26178,2.32,26179,2.32,26180,2.32,26181,2.32,26182,2.32,26183,6.371,26184,2.32,26185,2.32,26186,4.027,26187,4.027,26188,2.32,26189,4.027,26190,2.32,26191,2.32,26192,2.32,26193,2.32,26194,2.32,26195,2.32,26196,2.32,26197,2.149,26198,2.32,26199,2.32,26200,2.32,26201,2.32,26202,2.32,26203,2.32,26204,4.027,26205,2.32,26206,2.32,26207,2.32,26208,2.32,26209,2.32,26210,2.32,26211,2.32,26212,2.32,26213,2.32,26214,2.32,26215,2.32]],["title/additional-documentation/nestjs-application/vscode.html",[869,2.834,1388,3.455,24979,4.704]],["body/additional-documentation/nestjs-application/vscode.html",[5,0.011,30,0.001,72,4.513,103,0.001,104,0.001,561,5.382,640,6.05,806,7.544,876,5.117,981,5.985,2313,7.209,2551,7.711,2800,6.71,2836,6.514,3814,6.995,4236,7.544,4237,7.711,5138,6.396,5234,5.72,5341,7.984,5348,7.367,7270,6.514,7466,8.269,9020,7.367,12604,6.938,15867,8.626,22552,9.172,24979,9.708,25007,10.487,25265,9.103,25426,8.626,25540,9.103,25591,11.926,25617,9.103,25624,8.269,25676,8.269,25716,8.626,25750,9.103,25787,9.103,25818,8.269,25919,8.626,25980,10.487,26216,9.828,26217,9.828,26218,9.828,26219,9.828,26220,9.828,26221,9.828,26222,9.828]],["title/additional-documentation/nestjs-application/git.html",[869,2.834,1388,3.455,24980,4.872]],["body/additional-documentation/nestjs-application/git.html",[30,0.001,31,0.427,55,2.312,72,3.489,77,4.902,103,0,104,0.001,129,2.25,155,2.425,157,1.758,271,2.861,379,3.854,407,5.271,412,3.374,561,3.422,567,2.832,813,6.396,876,3.955,984,6.392,998,5.404,1088,3.56,1115,2.891,1222,5.989,1223,5.694,1393,4.329,1624,6.392,1625,6.172,1626,5.682,1784,6.818,1831,7.564,1850,7.157,1921,5.035,1926,4.627,1937,3.579,1939,4.037,1945,10.306,1946,10.016,2088,3.256,2091,6.392,2232,4.329,2328,4.784,2358,4.367,2512,4.533,2531,4.096,2551,6.543,2553,4.784,2608,4.579,2641,6.95,2912,4.853,3102,4.579,3753,5.363,4905,4.902,4917,4.902,4922,5.694,4926,5.363,5138,4.066,5222,5.271,5319,5.989,5805,7.461,6178,4.489,6216,5.463,6217,5.463,6306,5.832,6571,8.188,7142,8.899,7472,5.271,7739,4.784,7854,5.989,8793,5.694,9970,5.572,11712,7.783,13970,6.667,13993,6.392,15248,6.667,16804,6.667,18221,5.832,18887,6.667,21906,7.037,24980,10.245,24996,6.667,25001,6.172,25011,6.667,25012,6.667,25024,9.602,25028,8.531,25072,10.245,25073,7.037,25205,7.992,25252,10.016,25329,7.037,25486,7.037,25604,9.271,25630,7.037,25651,8.899,25818,8.531,25838,7.037,25902,8.899,25945,7.037,26173,7.037,26174,6.667,26223,7.597,26224,7.597,26225,7.597,26226,7.597,26227,7.597,26228,7.597,26229,7.597,26230,7.597,26231,7.597,26232,7.597,26233,7.597,26234,7.597,26235,7.597,26236,7.597,26237,10.139,26238,7.597,26239,7.597,26240,10.139,26241,7.597,26242,7.597,26243,7.597,26244,7.597,26245,7.597,26246,7.597,26247,7.597,26248,7.597,26249,7.597,26250,7.597,26251,7.597,26252,7.597]],["title/additional-documentation/nestjs-application/keycloak.html",[618,3.736,869,2.834,1388,3.455]],["body/additional-documentation/nestjs-application/keycloak.html",[5,0.004,18,2.267,30,0.001,31,0.614,51,3.358,53,6.246,78,8.237,87,3.518,95,0.107,101,0.012,103,0,104,0,157,1.615,180,1.939,189,4.295,259,1.643,270,1.74,271,1.704,290,1.655,339,3.204,374,1.965,376,5.118,407,3.139,411,3.391,412,4.251,561,3.142,567,2.601,618,8.877,619,3.253,641,2.578,648,2.849,734,1.907,794,3.318,810,3.318,814,5.87,816,3.139,876,5.384,981,4.249,1060,3.089,1083,2.557,1169,2.624,1170,5.362,1283,3.194,1355,4.011,1372,3.682,1381,3.042,1471,3.318,1595,5.668,1619,5.242,1626,3.91,1826,3.585,1831,4.624,1900,2.958,1921,2.999,2061,3.253,2125,3.657,2164,5.454,2221,4.658,2232,2.578,2313,3.318,2345,2.755,2465,6.948,2473,2.816,2543,2.849,2552,5.909,2553,2.849,2557,3.042,2617,5.301,2641,7.16,2831,1.811,2836,2.999,2903,2.958,2920,4.19,3108,8.055,3160,7.16,3242,3.818,3418,3.835,3430,1.965,3612,5.427,3812,5.726,3817,4.624,3908,3.089,4237,2.919,4290,6.537,4905,2.919,4906,7.938,4917,2.919,4919,5.814,4938,3.566,4939,6.011,4946,3.566,4953,4.624,4954,7.545,4955,4.764,4999,3.318,5074,4.348,5140,2.958,5233,8.4,5271,4.393,5303,3.807,5378,3.971,6178,2.674,6297,3.473,6350,3.971,6571,5.726,7413,3.391,7510,2.601,7739,4.393,7786,3.194,7858,4.561,8320,7.021,9020,5.23,9129,5.668,9202,5.118,9429,3.566,9970,3.318,10395,8.876,11725,8.689,11859,3.566,12127,3.807,12430,3.473,12490,2.785,13305,6.123,13728,6.344,14586,7.474,14685,7.474,14688,7.776,14692,3.807,14724,7.347,14820,3.971,14942,3.675,14944,4.19,15629,5.909,15867,3.971,16515,3.675,16545,6.918,16904,4.19,17168,3.807,19616,9.552,22080,3.971,22552,3.473,24975,3.473,24978,3.971,25000,3.971,25028,3.807,25076,3.675,25093,3.971,25133,4.19,25205,5.5,25235,4.19,25268,4.19,25300,4.19,25369,4.19,25609,9.075,25624,8.053,25684,11.005,25699,9.578,25700,7.888,25701,6.462,25702,6.462,25703,6.462,25704,8.865,25705,6.462,25706,6.462,25707,8.865,25709,4.19,25783,6.462,26071,4.19,26080,4.19,26087,3.971,26129,4.19,26253,4.524,26254,4.524,26255,4.524,26256,4.524,26257,9.571,26258,4.524,26259,4.524,26260,4.524,26261,6.977,26262,4.524,26263,4.524,26264,6.977,26265,4.524,26266,4.524,26267,4.524,26268,4.524,26269,4.524,26270,6.977,26271,6.977,26272,6.977,26273,6.977,26274,11.386,26275,6.977,26276,6.977,26277,6.977,26278,6.977,26279,4.524,26280,4.524,26281,4.524,26282,10.34,26283,6.977,26284,6.977,26285,4.524,26286,4.524,26287,6.977,26288,4.524,26289,4.524,26290,4.524,26291,4.524,26292,4.524,26293,4.524,26294,4.524,26295,4.524,26296,6.977,26297,4.524,26298,4.524,26299,6.977,26300,6.977,26301,4.524,26302,4.524,26303,4.524,26304,4.524,26305,4.524,26306,4.524,26307,4.524,26308,4.524,26309,4.524,26310,4.524]],["title/additional-documentation/nestjs-application/rocket.chat.html",[869,2.834,1388,3.455,26311,5.363]],["body/additional-documentation/nestjs-application/rocket.chat.html",[5,0.007,30,0.001,31,0.424,103,0,104,0,145,2.83,412,3.349,789,4.127,804,9.968,876,3.925,985,4.373,997,6.279,1082,5.322,1147,5.788,1193,6.687,1222,5.944,1282,5.944,1833,6.125,2164,4.679,2221,3.669,2465,8.677,2512,4.499,2641,7.706,2800,5.148,2831,4.038,3160,4.592,3430,3.274,3812,5.07,3813,4.641,3817,4.998,4237,4.865,4945,5.53,7413,5.652,8082,5.944,9202,5.53,10596,5.53,11725,6.888,11849,5.148,15773,6.344,16545,6.125,16925,6.617,17927,6.344,18886,5.944,19119,8.488,19616,6.125,21899,6.984,24233,6.344,24902,6.984,25609,6.617,25636,6.344,25684,11.106,25980,6.617,26311,10.53,26312,7.54,26313,7.54,26314,7.54,26315,7.54,26316,7.54,26317,10.088,26318,7.54,26319,7.54,26320,7.54,26321,7.54,26322,7.54,26323,7.54,26324,10.088,26325,7.54,26326,7.54,26327,7.54,26328,7.54,26329,7.54,26330,7.54,26331,7.54,26332,7.54,26333,7.54,26334,7.54,26335,7.54,26336,7.54,26337,7.54,26338,7.54,26339,7.54,26340,7.54,26341,7.54,26342,7.54,26343,7.54,26344,7.54,26345,7.54,26346,7.54,26347,7.54,26348,7.54,26349,7.54,26350,7.54,26351,7.54,26352,7.54,26353,7.54,26354,7.54,26355,7.54,26356,7.54,26357,7.54,26358,10.088,26359,10.088,26360,7.54,26361,7.54]],["title/additional-documentation/nestjs-application/configuration.html",[869,2.834,1388,3.455,2219,2.596]],["body/additional-documentation/nestjs-application/configuration.html",[30,0.001,31,0.49,34,1.046,55,2.062,102,3.25,103,0,104,0,129,1.811,153,0.989,155,1.952,157,1.416,183,2.335,193,3.807,255,2.335,316,4.898,347,3.143,409,5.562,412,2.716,413,3.725,414,6.516,415,3.485,511,3.347,528,3.103,561,3.931,567,2.28,613,3.516,614,2.706,734,4.289,802,4.054,807,4.695,812,3.897,876,3.184,897,4.969,981,3.725,982,4.821,984,10.569,997,3.807,998,4.82,1080,3.026,1115,2.327,1218,3.999,1355,3.516,1372,4.607,1390,5.433,1477,3.122,1627,6.276,1749,3.485,1783,3.765,1832,3.897,1885,7.225,1900,3.999,1919,4.244,1939,3.25,1945,9.017,2164,4.049,2219,2.742,2221,2.976,2232,3.485,2531,5.984,2550,6.69,2551,5.632,2552,6.056,2557,4.113,2570,5.632,2641,3.725,2642,4.176,2834,4.054,2859,6.7,2915,5.261,2927,4.821,2934,5.146,2937,5.146,3078,6.409,3430,2.656,3814,6.871,3817,7.357,4049,4.317,4236,6.7,4237,8.821,4290,4.695,4919,4.176,5003,4.969,5138,3.274,5222,4.244,5247,8.52,5319,4.821,5324,6.402,5373,5.368,5776,3.58,5927,5.433,6033,5.146,6178,5.158,6292,4.486,6304,4.584,6548,4.969,6571,4.113,6794,3.725,7180,4.113,7289,5.785,7373,4.969,7469,4.398,7470,4.584,7642,6.69,7739,5.496,7882,5.063,7887,4.695,8500,4.584,9370,4.969,10599,6.7,11297,4.821,11725,6.949,12496,4.821,12603,7.185,13305,4.398,13960,6.7,14941,8.268,15586,6.881,15629,4.244,16517,4.969,16887,4.584,16903,5.146,17166,4.969,18215,4.821,18221,4.695,19626,6.881,20147,5.368,23148,4.695,24233,5.146,24974,7.344,24975,4.695,24976,5.368,24977,5.146,24978,5.368,24979,4.969,24980,7.344,24981,7.091,24982,5.368,24983,5.368,24984,5.368,24985,8.085,24986,7.344,24987,5.665,24988,5.665,24989,5.665,24990,5.146,24991,5.368,24992,8.085,24993,5.146,24994,5.146,24995,8.085,24996,5.368,24997,4.695,24998,5.146,24999,5.368,25000,5.368,25001,4.969,25002,5.665,25003,5.368,25004,5.665,25005,5.146,25006,4.821,25007,5.368,25008,8.085,25009,8.085,25010,8.933,25011,10.301,25012,5.368,25013,5.665,25014,8.085,25015,5.368,25016,5.665,25017,5.665,25018,5.665,25019,8.085,25020,8.085,25021,5.665,25022,5.665,25023,5.665,25024,5.146,25025,5.665,25026,4.969,25027,5.665,25028,7.344,25029,5.665,25030,5.146,25031,5.665,25032,5.368,25033,5.665,25034,5.146]],["title/additional-documentation/nestjs-application/authorisation.html",[869,2.834,1388,3.455,3910,4.564]],["body/additional-documentation/nestjs-application/authorisation.html",[0,0.076,5,0.005,8,0.441,9,1.025,10,1.551,26,1.866,27,0.086,30,0.001,31,0.346,32,0.048,33,0.101,34,0.879,47,0.645,72,4.403,74,1.697,94,1.121,101,0.007,103,0,104,0,122,1.066,134,1.367,135,1.564,141,1.655,146,1.509,148,0.862,153,1.131,157,0.512,159,0.226,183,3.789,185,2.633,193,0.964,194,2.421,195,1.354,197,1.079,205,1.876,206,1.677,223,0.689,228,0.923,231,0.381,233,0.685,252,2.531,254,1.389,260,1.435,290,3.081,304,1.912,316,1.064,317,1.513,326,2.662,330,5.706,331,4.539,371,2.052,376,3.77,400,0.648,409,3.926,412,4.656,413,1.346,417,1.239,512,1.971,527,0.939,528,2.608,531,3.666,537,1.21,561,0.996,567,1.44,571,2.439,585,1.621,589,0.294,595,0.838,610,4.642,612,4.703,613,3.542,614,0.685,626,1.94,640,3.792,641,2.2,652,1.253,653,0.909,657,1.892,693,3.181,700,1.07,701,1.07,702,1.095,703,3.471,711,1.118,734,3.698,756,0.882,806,1.697,810,3.77,812,3.276,813,5.161,816,1.534,876,1.151,886,1.627,983,1.426,985,5.089,997,1.376,998,1.047,1083,3.952,1092,2.596,1097,1.56,1197,5.825,1213,2.46,1218,6.02,1224,3.696,1237,0.64,1311,4.028,1328,1.175,1372,3.251,1381,1.486,1388,3.676,1390,1.376,1393,2.929,1475,8.335,1477,1.129,1563,3.317,1567,2.047,1568,1.534,1585,1.346,1623,1.94,1626,3.92,1775,1.21,1778,4.84,1783,3.164,1784,3.457,1799,6.138,1801,2.377,1821,2.434,1826,6.544,1831,2.559,1832,4.457,1833,1.796,1834,1.621,1835,1.984,1838,3.098,1842,1.01,1846,1.743,1851,2.964,1868,3.853,1883,4.18,1885,1.361,1886,6.06,1921,5.095,1922,1.534,1924,4.143,1925,2.679,1927,1.486,1928,1.306,1929,4.519,1930,5.029,1937,2.421,1939,3.717,1959,2.047,1962,4.174,1964,1.743,1982,1.409,1986,5.902,1987,1.796,1993,1.445,2027,2.516,2033,4.411,2038,2.46,2049,0.902,2135,2.725,2140,2.929,2164,2.384,2203,1.445,2221,1.076,2232,1.26,2234,2.636,2345,1.346,2346,2.047,2512,3.676,2513,1.26,2531,4.145,2532,4.176,2533,2.047,2543,1.392,2548,3.249,2550,1.332,2553,1.392,2570,6.594,2608,3.098,2641,7.083,2642,2.636,2643,5.249,2685,4.519,2766,6.35,2796,1.183,2831,0.885,2835,1.796,2851,1.743,2859,1.697,2903,5.026,2915,1.332,2927,1.743,2944,1.589,2959,1.015,3011,2.349,3036,3.602,3102,1.332,3109,5.84,3237,1.282,3365,3.946,3418,1.739,3428,1.796,3430,3.592,3431,2.491,3432,3.542,3436,4.926,3521,1.426,3612,5.272,3714,1.426,3717,2.559,3728,3.696,3752,1.426,3813,1.361,3814,2.26,3898,3.087,3912,1.657,3972,4.636,4213,1.796,4215,4.853,4234,1.796,4236,1.697,4237,4.513,4588,1.322,4824,1.86,4910,3.77,4920,1.589,4922,1.657,4926,1.56,5000,1.796,5004,2.491,5005,1.86,5018,5.209,5102,1.534,5136,1.465,5138,1.183,5140,6.487,5234,3.348,5245,2.377,5246,2.047,5249,1.743,5271,1.392,5278,3.879,5301,1.56,5324,5.13,5406,1.743,5805,2.524,5927,4.785,6027,2.776,6288,5.177,6297,1.697,6305,1.796,6388,1.534,6548,1.796,6571,1.486,6668,2.082,7180,1.486,7290,1.509,7465,1.589,7472,1.534,7508,1.589,7555,1.796,7562,2.894,7642,1.332,7739,3.879,7786,1.56,7816,1.94,7817,1.86,7859,1.56,7882,5.089,7884,1.589,7886,3.946,7900,1.743,7905,1.697,8016,2.047,8060,5.407,8068,2.596,8080,1.294,8087,2.832,8319,1.796,8401,1.409,8500,1.657,8831,1.697,9099,1.86,9156,2.894,9202,2.832,9216,5.095,9429,4.857,9636,1.621,9962,1.697,9970,3.77,9971,1.86,10596,1.621,11347,4.176,11508,1.697,11716,1.589,11722,1.743,11849,1.509,12332,1.86,12490,3.164,12501,1.56,12735,1.94,13310,4.761,13824,4.325,13962,1.796,14206,1.94,14446,1.86,14447,4.325,15204,3.576,15246,2.047,15298,3.044,15303,1.796,15389,1.657,15481,1.94,15586,3.044,15603,3.249,15629,2.679,15672,2.047,15683,2.047,15779,3.044,15900,1.86,16027,2.832,16517,3.137,16883,3.249,16887,1.657,16899,1.94,17402,1.743,17782,1.94,17830,3.576,17933,1.94,17959,2.047,18050,1.94,18215,1.743,18565,1.86,18886,3.044,19370,3.389,20227,1.94,20888,2.047,21074,5.901,21892,2.047,21898,1.86,21970,2.047,22073,6.747,22078,4.176,22104,5.706,22220,2.047,22606,2.047,23346,3.044,23347,2.047,24719,3.576,24892,8.082,24993,1.86,24997,3.946,24998,1.86,25005,1.86,25006,1.743,25026,1.796,25071,3.137,25076,5.682,25094,2.047,25102,1.86,25107,3.249,25127,1.94,25142,2.047,25183,3.389,25346,2.047,25426,5.407,25541,1.86,25550,2.047,25553,2.047,25575,1.86,25601,1.86,25620,2.047,25636,1.86,25637,1.94,25714,4.511,25788,2.047,25815,1.94,25818,3.249,25828,1.94,25844,4.761,25854,2.047,25861,1.94,25873,3.576,25891,4.511,25966,3.576,26002,2.047,26041,1.94,26053,1.94,26068,2.047,26081,2.047,26087,1.94,26096,2.047,26174,1.94,26197,3.576,26362,2.211,26363,2.211,26364,3.861,26365,2.211,26366,5.14,26367,2.211,26368,2.211,26369,2.047,26370,6.161,26371,3.861,26372,2.211,26373,2.211,26374,3.861,26375,3.861,26376,3.861,26377,2.211,26378,2.211,26379,3.861,26380,8.774,26381,2.211,26382,2.211,26383,2.211,26384,2.211,26385,2.211,26386,2.211,26387,2.211,26388,2.211,26389,2.211,26390,3.861,26391,2.211,26392,2.211,26393,2.211,26394,2.211,26395,5.14,26396,2.211,26397,3.861,26398,3.861,26399,2.211,26400,3.861,26401,2.211,26402,2.211,26403,2.211,26404,2.211,26405,2.211,26406,2.211,26407,2.211,26408,2.211,26409,2.211,26410,2.211,26411,2.211,26412,2.211,26413,3.861,26414,3.861,26415,2.211,26416,2.211,26417,2.211,26418,2.211,26419,3.861,26420,2.211,26421,2.211,26422,2.211,26423,2.211,26424,2.211,26425,2.211,26426,5.14,26427,2.211,26428,2.211,26429,2.211,26430,2.211,26431,2.211,26432,2.211,26433,2.211,26434,2.211,26435,5.14,26436,2.211,26437,6.161,26438,2.211,26439,2.211,26440,3.861,26441,2.211,26442,2.211,26443,2.211,26444,2.211,26445,2.211,26446,2.211,26447,2.211,26448,2.211,26449,2.211,26450,2.211,26451,2.211,26452,2.211,26453,3.861,26454,2.211,26455,2.211,26456,3.861,26457,2.211,26458,2.211,26459,2.211,26460,2.047,26461,2.211,26462,2.211,26463,2.211,26464,3.861,26465,2.211,26466,2.211,26467,2.211,26468,2.211,26469,2.211,26470,2.211,26471,2.211,26472,2.211,26473,2.211,26474,2.211,26475,2.211,26476,2.211,26477,2.211,26478,2.211,26479,2.211,26480,2.211]],["title/additional-documentation/nestjs-application/code-style.html",[869,2.425,998,2.346,1388,2.956,26097,4.348]],["body/additional-documentation/nestjs-application/code-style.html",[0,0.303,2,1.174,8,1.397,30,0.001,31,0.722,35,1.004,47,0.898,101,0.011,103,0.001,104,0.001,112,0.959,122,2.306,146,5.979,148,0.861,232,2.37,257,3.416,316,5.882,369,7.685,412,3.889,433,1.366,527,5.856,579,2.5,756,3.492,813,4.907,985,6.451,998,4.147,1080,3.855,1083,6.285,1783,5.39,1832,7.088,1838,5.278,1968,6.423,2033,3.321,2232,6.338,2358,5.034,2641,6.773,2643,5.979,3328,8.111,3614,7.368,3862,7.114,4247,8.111,5271,5.514,6343,7.685,7615,7.368,9020,6.563,12726,11.321,16840,6.903,17167,8.111,24997,6.722,25102,7.368,25370,8.111,25394,8.111,25610,8.111,25670,7.368,25885,7.368,26041,7.685,26053,9.761,26097,7.685,26460,8.111,26481,8.756,26482,8.756,26483,8.756,26484,8.756,26485,8.756,26486,8.756,26487,8.756,26488,8.756]],["title/additional-documentation/nestjs-application/s3clientmodule.html",[869,2.834,1388,3.455,12413,4.163]],["body/additional-documentation/nestjs-application/s3clientmodule.html",[0,0.387,30,0.001,31,0.496,101,0.016,103,0.001,104,0.001,135,1.455,176,5.674,219,4.872,228,1.586,252,3.24,254,3.178,259,4.062,276,3.458,407,8.515,412,5.45,433,1.085,567,3.294,589,1.174,610,3.484,641,5.034,652,1.797,734,4.713,806,6.781,813,4.951,1218,7.312,1835,4.539,2219,3.96,2233,5.38,2234,6.031,2641,5.38,2831,4.913,3898,4.427,4921,7.52,5319,6.963,7306,7.042,7307,6.621,7308,6.031,7309,6.031,7310,6.031,7311,6.031,9001,11.218,12103,9.816,12332,7.432,12426,7.432,12576,7.176,12577,6.479,14724,6.781,15779,6.963,18576,7.432,23346,6.963,23353,8.182,26025,8.182,26369,8.182,26489,8.833,26490,8.833,26491,8.833,26492,8.833,26493,8.833,26494,12.272,26495,8.833,26496,8.833,26497,8.833,26498,8.833]]],"invertedIndex":[["",{"_index":30,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["0",{"_index":145,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupUcMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomsService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["0.0.19",{"_index":24838,"title":{},"body":{"dependencies.html":{}}}],["0.1.1",{"_index":24913,"title":{},"body":{"dependencies.html":{}}}],["0.1.13",{"_index":24943,"title":{},"body":{"dependencies.html":{}}}],["0.1.4",{"_index":24952,"title":{},"body":{"dependencies.html":{}}}],["0.1.7",{"_index":24970,"title":{},"body":{"dependencies.html":{}}}],["0.14.0",{"_index":24872,"title":{},"body":{"dependencies.html":{}}}],["0.4.0",{"_index":24858,"title":{},"body":{"dependencies.html":{}}}],["0.4.11",{"_index":24846,"title":{},"body":{"dependencies.html":{}}}],["0.5.1",{"_index":24965,"title":{},"body":{"dependencies.html":{}}}],["0.5.19",{"_index":24955,"title":{},"body":{"dependencies.html":{}}}],["0.5.2",{"_index":24927,"title":{},"body":{"dependencies.html":{}}}],["0.5.4",{"_index":24917,"title":{},"body":{"dependencies.html":{}}}],["0.5.9",{"_index":24847,"title":{},"body":{"dependencies.html":{}}}],["0.6.0",{"_index":24918,"title":{},"body":{"dependencies.html":{}}}],["0.7.0",{"_index":24954,"title":{},"body":{"dependencies.html":{}}}],["0.8.0",{"_index":24853,"title":{},"body":{"dependencies.html":{}}}],["0.8.1",{"_index":24921,"title":{},"body":{"dependencies.html":{}}}],["0.9.7",{"_index":24915,"title":{},"body":{"dependencies.html":{}}}],["0000d231816abba584714c9e",{"_index":26001,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["0000dcfbfb5c7a3f00bf21ab",{"_index":6770,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["0000dcfbfb5c7a3f00bf21ab'})@ismongoid",{"_index":6766,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["05",{"_index":25998,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["08",{"_index":21103,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["0]?.id",{"_index":14582,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["1",{"_index":756,"title":{"classes/ContextExternalToolIdParams-1.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/FileDto-1.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/LessonUrlParams-1.html":{},"classes/LoginResponse-1.html":{},"interfaces/S3Config-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/VideoConference-1.html":{}},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RetryOptions.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/Scope.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SortHelper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["1.0.0",{"_index":24938,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":24821,"title":{},"body":{"dependencies.html":{}}}],["1.0.5",{"_index":24897,"title":{},"body":{"dependencies.html":{}}}],["1.0.56",{"_index":24886,"title":{},"body":{"dependencies.html":{}}}],["1.0a",{"_index":16025,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"dependencies.html":{}}}],["1.1",{"_index":26186,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.1.1",{"_index":24935,"title":{},"body":{"dependencies.html":{}}}],["1.1.4",{"_index":24944,"title":{},"body":{"dependencies.html":{}}}],["1.15.2",{"_index":24865,"title":{},"body":{"dependencies.html":{}}}],["1.17.3",{"_index":24891,"title":{},"body":{"dependencies.html":{}}}],["1.2",{"_index":26187,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.2.0",{"_index":24863,"title":{},"body":{"dependencies.html":{}}}],["1.2.2",{"_index":24936,"title":{},"body":{"dependencies.html":{}}}],["1.21.2",{"_index":24862,"title":{},"body":{"dependencies.html":{}}}],["1.25.0",{"_index":24898,"title":{},"body":{"dependencies.html":{}}}],["1.25.1",{"_index":24840,"title":{},"body":{"dependencies.html":{}}}],["1.28.1",{"_index":24905,"title":{},"body":{"dependencies.html":{}}}],["1.3.4",{"_index":24822,"title":{},"body":{"dependencies.html":{}}}],["1.6.0",{"_index":24867,"title":{},"body":{"dependencies.html":{}}}],["1.6.2",{"_index":24861,"title":{},"body":{"dependencies.html":{}}}],["1.9.4",{"_index":24929,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":758,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"classes/GroupPaginationParams.html":{},"injectables/HydraOauthUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["10.0.1",{"_index":24833,"title":{},"body":{"dependencies.html":{}}}],["10.1.1",{"_index":24831,"title":{},"body":{"dependencies.html":{}}}],["10.2.4",{"_index":24829,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":745,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionExecutionParams.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["1000",{"_index":1743,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CourseFactory.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["10000",{"_index":21928,"title":{},"body":{"classes/TaskFactory.html":{}}}],["100000",{"_index":8050,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/FileRecordFactory.html":{},"classes/JwtTestFactory.html":{}}}],["1010",{"_index":24684,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["1055",{"_index":1942,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["10start",{"_index":26319,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["11",{"_index":25217,"title":{},"body":{"license.html":{}}}],["12.12.23",{"_index":19761,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["123",{"_index":15370,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["1234",{"_index":26230,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["12345",{"_index":21534,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["124",{"_index":16924,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["13",{"_index":4660,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/GroupUcMapper.html":{},"license.html":{}}}],["13.1.0",{"_index":24939,"title":{},"body":{"dependencies.html":{}}}],["13.6.7",{"_index":24972,"title":{},"body":{"dependencies.html":{}}}],["1337",{"_index":6103,"title":{},"body":{"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["14.14",{"_index":12172,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["1496",{"_index":11138,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["15",{"_index":5370,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["150",{"_index":4511,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{}}}],["1547",{"_index":15480,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["15672:15672",{"_index":25686,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["15:20:30.888",{"_index":26000,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["16",{"_index":25377,"title":{},"body":{"license.html":{}}}],["172.29.173.128",{"_index":26323,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["173",{"_index":2510,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["17t14:17:51.958+00:00",{"_index":21104,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["18.5.0",{"_index":24895,"title":{},"body":{"dependencies.html":{}}}],["19",{"_index":25037,"title":{},"body":{"license.html":{}}}],["1993",{"_index":26243,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["1996",{"_index":25223,"title":{},"body":{"license.html":{}}}],["2",{"_index":146,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/CollectionFilePath.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/LoginController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["2.'})@apiresponse({status",{"_index":15948,"title":{},"body":{"controllers/LoginController.html":{}}}],["2.0",{"_index":6350,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["2.0.0",{"_index":24869,"title":{},"body":{"dependencies.html":{}}}],["2.0.1",{"_index":24836,"title":{},"body":{"dependencies.html":{}}}],["2.0.5",{"_index":24907,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":24828,"title":{},"body":{"dependencies.html":{}}}],["2.1.2",{"_index":24871,"title":{},"body":{"dependencies.html":{}}}],["2.1.5",{"_index":24903,"title":{},"body":{"dependencies.html":{}}}],["2.1375.0",{"_index":24860,"title":{},"body":{"dependencies.html":{}}}],["2.19.2",{"_index":24914,"title":{},"body":{"dependencies.html":{}}}],["2.2.5",{"_index":24842,"title":{},"body":{"dependencies.html":{}}}],["2.2.6",{"_index":24930,"title":{},"body":{"dependencies.html":{}}}],["2.3.2",{"_index":24899,"title":{},"body":{"dependencies.html":{}}}],["2.8.1",{"_index":24881,"title":{},"body":{"dependencies.html":{}}}],["2.8.32",{"_index":24844,"title":{},"body":{"dependencies.html":{}}}],["2.9.0",{"_index":24868,"title":{},"body":{"dependencies.html":{}}}],["20",{"_index":25221,"title":{},"body":{"license.html":{}}}],["200",{"_index":333,"title":{},"body":{"controllers/AccountController.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["2007",{"_index":25039,"title":{},"body":{"license.html":{}}}],["200})@apiinternalservererrorresponse({description",{"_index":23831,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["201",{"_index":3214,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["202",{"_index":9111,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionRequestsController.html":{}}}],["2023",{"_index":21102,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["204",{"_index":3259,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["204})@apiresponse({status",{"_index":3222,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["21.1.2",{"_index":24823,"title":{},"body":{"dependencies.html":{}}}],["23.3.0",{"_index":24901,"title":{},"body":{"dependencies.html":{}}}],["24",{"_index":7766,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{}}}],["250",{"_index":3875,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["28",{"_index":25508,"title":{},"body":{"license.html":{}}}],["2984",{"_index":19479,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["2a$10$/dsztv5o6p5piw2ewjsxw.4nhovmjgba.qnwitmuz/uvuc40b.uhu",{"_index":584,"title":{},"body":{"classes/AccountFactory.html":{}}}],["2auth",{"_index":25646,"title":{},"body":{"todo.html":{}}}],["3",{"_index":3862,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LdapService.html":{},"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["3.0",{"_index":25615,"title":{},"body":{"properties.html":{}}}],["3.0.0",{"_index":24827,"title":{},"body":{"dependencies.html":{}}}],["3.0.1",{"_index":24830,"title":{},"body":{"dependencies.html":{}}}],["3.0.2",{"_index":24946,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":24932,"title":{},"body":{"dependencies.html":{}}}],["3.100.0",{"_index":24812,"title":{},"body":{"dependencies.html":{}}}],["3.13.0",{"_index":24947,"title":{},"body":{"dependencies.html":{}}}],["3.2.2",{"_index":24851,"title":{},"body":{"dependencies.html":{}}}],["3.3",{"_index":17169,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["3.3.4",{"_index":24928,"title":{},"body":{"dependencies.html":{}}}],["3.8.2",{"_index":24968,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":2909,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionRequestBodyProps.html":{},"license.html":{}}}],["300",{"_index":15197,"title":{},"body":{"injectables/LdapService.html":{}}}],["3000:3000",{"_index":26356,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["302",{"_index":13589,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["3030/api/v3/docs",{"_index":25772,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["3030/docs",{"_index":25777,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["31",{"_index":25999,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["335",{"_index":13865,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["3532",{"_index":26244,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["389:389",{"_index":26283,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["3990",{"_index":1947,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["4",{"_index":8500,"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":24820,"title":{},"body":{"dependencies.html":{}}}],["4.0.1",{"_index":24937,"title":{},"body":{"dependencies.html":{}}}],["4.1.6",{"_index":24960,"title":{},"body":{"dependencies.html":{}}}],["4.13.2",{"_index":24890,"title":{},"body":{"dependencies.html":{}}}],["4.17.19",{"_index":24911,"title":{},"body":{"dependencies.html":{}}}],["4.18.2",{"_index":24889,"title":{},"body":{"dependencies.html":{}}}],["4.2.0",{"_index":24883,"title":{},"body":{"dependencies.html":{}}}],["4.2.5",{"_index":24873,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":24866,"title":{},"body":{"dependencies.html":{}}}],["4.x",{"_index":25679,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["400",{"_index":337,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["400/bad",{"_index":26015,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["401",{"_index":6315,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthRejectableBody.html":{}}}],["4011:80",{"_index":26271,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["403",{"_index":342,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["404",{"_index":345,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"todo.html":{}}}],["409/conflict",{"_index":26014,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["4096",{"_index":8032,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["43200",{"_index":2901,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionRequestService.html":{}}}],["4444",{"_index":25735,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["456",{"_index":15375,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["47494638",{"_index":10459,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["4xx",{"_index":12815,"title":{},"body":{"controllers/GroupController.html":{}}}],["5",{"_index":18571,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["5.0.0",{"_index":24855,"title":{},"body":{"dependencies.html":{}}}],["5.0.1",{"_index":24856,"title":{},"body":{"dependencies.html":{}}}],["5.0.12",{"_index":24815,"title":{},"body":{"dependencies.html":{}}}],["5.1.1",{"_index":24934,"title":{},"body":{"dependencies.html":{}}}],["5.2.1",{"_index":24826,"title":{},"body":{"dependencies.html":{}}}],["5.5.3",{"_index":24825,"title":{},"body":{"dependencies.html":{}}}],["500",{"_index":10020,"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":20690,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["5069",{"_index":1996,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["5672",{"_index":25688,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["5672:5672",{"_index":25685,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["59",{"_index":14565,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["5xx",{"_index":12817,"title":{},"body":{"controllers/GroupController.html":{}}}],["6.0.0",{"_index":24878,"title":{},"body":{"dependencies.html":{}}}],["6.1.3",{"_index":24879,"title":{},"body":{"dependencies.html":{}}}],["6.12.3",{"_index":24916,"title":{},"body":{"dependencies.html":{}}}],["6.2.2",{"_index":24931,"title":{},"body":{"dependencies.html":{}}}],["6.9.7",{"_index":24940,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":7767,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/S3ClientAdapter.html":{},"license.html":{}}}],["60000",{"_index":19257,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["64",{"_index":26227,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["699615164",{"_index":25639,"title":{},"body":{"todo.html":{}}}],["6b",{"_index":25294,"title":{},"body":{"license.html":{}}}],["6d",{"_index":25313,"title":{},"body":{"license.html":{}}}],["7",{"_index":11864,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/TaskUC.html":{},"license.html":{}}}],["7.0.0",{"_index":24882,"title":{},"body":{"dependencies.html":{}}}],["7.1.10",{"_index":24834,"title":{},"body":{"dependencies.html":{}}}],["7.3.1",{"_index":24948,"title":{},"body":{"dependencies.html":{}}}],["7.5.7",{"_index":24969,"title":{},"body":{"dependencies.html":{}}}],["720",{"_index":2907,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["7776000",{"_index":9257,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["789",{"_index":15376,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["8",{"_index":12144,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["8.1.0",{"_index":24875,"title":{},"body":{"dependencies.html":{}}}],["8.1.1",{"_index":24893,"title":{},"body":{"dependencies.html":{}}}],["8.3.0",{"_index":24967,"title":{},"body":{"dependencies.html":{}}}],["8.8.2",{"_index":24849,"title":{},"body":{"dependencies.html":{}}}],["80",{"_index":25770,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080",{"_index":25742,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080:8080",{"_index":25701,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["8443:8443",{"_index":25702,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["86400000",{"_index":11930,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/TaskFactory.html":{}}}],["885",{"_index":24686,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["89504e47",{"_index":10457,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["9.0.0",{"_index":24906,"title":{},"body":{"dependencies.html":{}}}],["9.2.0",{"_index":24824,"title":{},"body":{"dependencies.html":{}}}],["9/._",{"_index":22500,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["90",{"_index":9421,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["9000:9000",{"_index":25693,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001",{"_index":25698,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001:9001",{"_index":25694,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["91",{"_index":17520,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["9229",{"_index":25731,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["99",{"_index":893,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["990",{"_index":11507,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["999",{"_index":25014,"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":12626,"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":12624,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9]{24",{"_index":3198,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["9a",{"_index":8002,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["_",{"_index":694,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/GlobalErrorFilter.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["_${now.getdate()}_${now.gethours()}_${now.getminutes()}_${now.getseconds",{"_index":5244,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_.pick(params",{"_index":708,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["_.random(35).tostring(36)).join",{"_index":16542,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.snakecase(classname).touppercase",{"_index":12711,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.snakecase(exceptionname).touppercase",{"_index":12721,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.spec.ts",{"_index":25905,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["_.startcase(exceptionname",{"_index":12722,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.startcase(name",{"_index":12712,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.test.[ts|js",{"_index":25749,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["_.times(20",{"_index":16541,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.union(userpermissions",{"_index":23777,"title":{},"body":{"classes/UserFactory.html":{}}}],["_\\w\\d",{"_index":16553,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["__v",{"_index":11630,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_allowemptyquery",{"_index":7007,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":18159,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_collectmetricsroutemetrics",{"_index":18160,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_columnboardid",{"_index":5600,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["_contextid",{"_index":3692,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_contexttype",{"_index":3694,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["_creatorid",{"_index":6669,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_em",{"_index":2450,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["_id",{"_index":789,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["_id.$oid",{"_index":5338,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_instance",{"_index":18161,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_iscopyfrom",{"_index":11823,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_isenabled",{"_index":18162,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_lockid",{"_index":11594,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_oauthconfigcache",{"_index":14821,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["_operator",{"_index":7008,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":8167,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["_ownerid",{"_index":11595,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_parentid",{"_index":6671,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_port",{"_index":18163,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_queries",{"_index":7009,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":18164,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_schoolid",{"_index":6673,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_self",{"_index":6063,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["_updatedat",{"_index":1075,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["a.getmetadata().title",{"_index":8515,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["a.localecompare(b",{"_index":20942,"title":{},"body":{"classes/SortHelper.html":{}}}],["a.m",{"_index":25031,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["a.position",{"_index":3605,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["a.userid.$oid",{"_index":15010,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["a.width",{"_index":16423,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["a11ytitle",{"_index":6568,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["a@b.de",{"_index":13507,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["aaa",{"_index":26072,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["abbreviation",{"_index":7493,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["ability",{"_index":25353,"title":{},"body":{"license.html":{}}}],["aborted",{"_index":14985,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["above",{"_index":19626,"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":25244,"title":{},"body":{"license.html":{}}}],["absolute",{"_index":5228,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["abstract",{"_index":9,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"injectables/AccountIdmToDtoMapper.html":{},"interfaces/AuthorizableObject.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"entities/CourseNews.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PaginationResponse.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["abstractaccountservice",{"_index":1,"title":{"classes/AbstractAccountService.html":{}},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:100",{"_index":920,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:109",{"_index":905,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:114",{"_index":906,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:118",{"_index":918,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:123",{"_index":917,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:128",{"_index":922,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:147",{"_index":913,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:19",{"_index":909,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:25",{"_index":914,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:30",{"_index":910,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:35",{"_index":911,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:43",{"_index":912,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:48",{"_index":916,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:84",{"_index":921,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:92",{"_index":919,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractbootstrapconsole",{"_index":22548,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["abstraction",{"_index":26369,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["abstraction/detail",{"_index":25810,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractions",{"_index":25846,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractlaunchstrategy",{"_index":2739,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:105",{"_index":2774,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:128",{"_index":2777,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:139",{"_index":2780,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:155",{"_index":2767,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:18",{"_index":2759,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:181",{"_index":2795,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:19",{"_index":16981,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:218",{"_index":2792,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:24",{"_index":2797,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:249",{"_index":2771,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:33",{"_index":2761,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:40",{"_index":2785,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:64",{"_index":2787,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:79",{"_index":2782,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:9",{"_index":2756,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstracturlhandler",{"_index":105,"title":{"classes/AbstractUrlHandler.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:11",{"_index":4183,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["abstracturlhandler:19",{"_index":4179,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:24",{"_index":4181,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:7",{"_index":4180,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:9",{"_index":8004,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["acacac",{"_index":7565,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["accept",{"_index":189,"title":{},"body":{"classes/AcceptQuery.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["accept(visitor",{"_index":3068,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptance",{"_index":25420,"title":{},"body":{"license.html":{}}}],["acceptasync",{"_index":3061,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["acceptasync(visitor",{"_index":3072,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptconsentrequest",{"_index":17367,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequest(challenge",{"_index":17373,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequestbody",{"_index":160,"title":{"interfaces/AcceptConsentRequestBody.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["accepted",{"_index":9112,"title":{},"body":{"injectables/DeletionClient.html":{},"todo.html":{}}}],["acceptloginrequest",{"_index":17525,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptloginrequest(challenge",{"_index":17597,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptloginrequest(currentuserid",{"_index":17529,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["acceptloginrequestbody",{"_index":179,"title":{"interfaces/AcceptLoginRequestBody.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest",{"_index":17406,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(@param",{"_index":17484,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptlogoutrequest(challenge",{"_index":17599,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(params",{"_index":17411,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptquery",{"_index":186,"title":{"classes/AcceptQuery.html":{}},"body":{"classes/AcceptQuery.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["accepts",{"_index":192,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["access",{"_index":371,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ErrorLoggable.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/JwtExtractor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthClientBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ServerController.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["access,@typescript",{"_index":1093,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["access.token.claim",{"_index":14786,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["access_token",{"_index":177,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["accessed",{"_index":7887,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["accessible",{"_index":25099,"title":{},"body":{"license.html":{}}}],["accessing",{"_index":25863,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["accesskeyid",{"_index":7310,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["accessors",{"_index":735,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassSourceOptions.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"injectables/DeletionLogRepo.html":{},"classes/DeletionRequest.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"classes/Group.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolYearRepo.html":{},"classes/Scope.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"injectables/TaskRepo.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["accesstoken",{"_index":1605,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/ProvisioningService.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{}}}],["accesstokendto",{"_index":16014,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accesstokendto.accesstoken",{"_index":16016,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accompanied",{"_index":25279,"title":{},"body":{"license.html":{}}}],["accompanies",{"_index":25586,"title":{},"body":{"license.html":{}}}],["accomplish",{"_index":25101,"title":{},"body":{"license.html":{}}}],["accord",{"_index":25243,"title":{},"body":{"license.html":{}}}],["according",{"_index":25578,"title":{},"body":{"license.html":{}}}],["account",{"_index":94,"title":{"entities/Account.html":{}},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/EtherpadService.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"classes/TestApiClient.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["account${sequence",{"_index":588,"title":{},"body":{"classes/AccountFactory.html":{}}}],["account's",{"_index":13917,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["account.'})@apiresponse({status",{"_index":336,"title":{},"body":{"controllers/AccountController.html":{}}}],["account._id.$oid",{"_index":15020,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.activated",{"_index":485,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.attdbcaccountid",{"_index":602,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcsystemid",{"_index":604,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcuserid",{"_index":603,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.createdat",{"_index":481,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.createddate",{"_index":601,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["account.credentialhash",{"_index":486,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.email",{"_index":14880,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.expiresat",{"_index":487,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.factory",{"_index":696,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.firstname",{"_index":14881,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.id",{"_index":480,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["account.interface",{"_index":15003,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.interface.ts",{"_index":14432,"title":{},"body":{"interfaces/JsonAccount.html":{}}}],["account.lastname",{"_index":14882,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.lasttriedfailedlogin",{"_index":488,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["account.lasttriedfailedlogin.gettime",{"_index":1742,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["account.module",{"_index":281,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["account.params.ts",{"_index":17923,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:13",{"_index":17934,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:24",{"_index":17932,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:33",{"_index":17928,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:42",{"_index":17929,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:51",{"_index":17930,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.password",{"_index":489,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["account.response",{"_index":879,"title":{},"body":{"classes/AccountSearchListResponse.html":{}}}],["account.service.abstract",{"_index":925,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["account.systemid",{"_index":938,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["account.systemid?.tostring",{"_index":490,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.test.factory.ts",{"_index":691,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:25",{"_index":23587,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:30",{"_index":23580,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:36",{"_index":23584,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:51",{"_index":23586,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:63",{"_index":23582,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.token",{"_index":491,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.updatedat",{"_index":482,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{}}}],["account.userid",{"_index":838,"title":{},"body":{"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{}}}],["account.userid.$oid",{"_index":15021,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.userid?.tostring",{"_index":483,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{}}}],["account.username",{"_index":484,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/TestApiClient.html":{}}}],["account?.id",{"_index":1004,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["account?.systemid?.tostring",{"_index":1005,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountapimodule",{"_index":253,"title":{"modules/AccountApiModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["accountbyidbodyparams",{"_index":284,"title":{"classes/AccountByIdBodyParams.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{}}}],["accountbyidparams",{"_index":306,"title":{"classes/AccountByIdParams.html":{}},"body":{"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{}}}],["accountconfig",{"_index":310,"title":{"interfaces/AccountConfig.html":{}},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["accountcontroller",{"_index":275,"title":{"controllers/AccountController.html":{}},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountcopy",{"_index":24161,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountdbcaccountid",{"_index":13922,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdbcuserid",{"_index":13924,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdto",{"_index":66,"title":{"classes/AccountDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountdto.activated",{"_index":942,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.credentialhash",{"_index":947,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.expiresat",{"_index":943,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.id",{"_index":935,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.lasttriedfailedlogin",{"_index":944,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.password",{"_index":945,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.systemid",{"_index":939,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.token",{"_index":948,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.username",{"_index":941,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdtos",{"_index":494,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities",{"_index":475,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountentities[0",{"_index":493,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities[1",{"_index":496,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentity",{"_index":928,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper",{"_index":464,"title":{"classes/AccountEntityToDtoMapper.html":{}},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.mapaccountstodto(accountentities",{"_index":931,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(await",{"_index":964,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(foundaccounts",{"_index":495,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentitytodtomapper.mapsearchresult(accountentities",{"_index":956,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapsearchresult(await",{"_index":988,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.maptodto(account",{"_index":950,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.maptodto(accountentity",{"_index":498,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountfactory",{"_index":499,"title":{"classes/AccountFactory.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountfactory.define(account",{"_index":587,"title":{},"body":{"classes/AccountFactory.html":{}}}],["accountfactory.withuser(user).build(accountparams",{"_index":710,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountid",{"_index":85,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["accountid?.tostring",{"_index":1002,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountidmtodtomapper",{"_index":590,"title":{"injectables/AccountIdmToDtoMapper.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapper:6",{"_index":598,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["accountidmtodtomapperdb",{"_index":596,"title":{"classes/AccountIdmToDtoMapperDb.html":{}},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory",{"_index":687,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory(configservice",{"_index":683,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperidm",{"_index":605,"title":{"classes/AccountIdmToDtoMapperIdm.html":{}},"body":{"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountlookupservice",{"_index":607,"title":{"injectables/AccountLookupService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountmodule",{"_index":264,"title":{"modules/AccountModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{}}}],["accountparams",{"_index":689,"title":{"interfaces/AccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountpassword",{"_index":15861,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountrepo",{"_index":668,"title":{"injectables/AccountRepo.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountresponse",{"_index":334,"title":{"classes/AccountResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountresponsemapper",{"_index":828,"title":{"classes/AccountResponseMapper.html":{}},"body":{"classes/AccountResponseMapper.html":{}}}],["accounts",{"_index":230,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["accounts.'})@apiresponse({status",{"_index":375,"title":{},"body":{"controllers/AccountController.html":{}}}],["accounts.filter((foundaccount",{"_index":991,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accounts.find((a",{"_index":15009,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["accounts.find((foundaccount",{"_index":1728,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["accounts.length",{"_index":14966,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["accounts.map((accountentity",{"_index":497,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accounts_allowanonymousread=false",{"_index":26339,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowemailchange=false",{"_index":26338,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowrealnamechange=false",{"_index":26336,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowusernamechange=false",{"_index":26337,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_method=get",{"_index":26354,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_url=http://localhost:4000/rocketchat/authget",{"_index":26335,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_enabled=true",{"_index":26333,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_url=http://localhost:4000/rocketchat/iframe",{"_index":26334,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_activating=false",{"_index":26340,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_deactivating=false",{"_index":26341,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_setdefaultavatar=false",{"_index":26352,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_usedefaultblockeddomainslist=false",{"_index":26342,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accountsavedto",{"_index":64,"title":{"classes/AccountSaveDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/OidcProvisioningService.html":{}}}],["accountsavedto:21",{"_index":455,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:26",{"_index":449,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:30",{"_index":452,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:34",{"_index":443,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:38",{"_index":453,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:42",{"_index":451,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:46",{"_index":447,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:5",{"_index":438,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:50",{"_index":445,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:54",{"_index":441,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:57",{"_index":446,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:7",{"_index":437,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:9",{"_index":439,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsearchlistresponse",{"_index":372,"title":{"classes/AccountSearchListResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountsearchqueryparams",{"_index":366,"title":{"classes/AccountSearchQueryParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{}}}],["accountsearchtype",{"_index":884,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["accountservice",{"_index":666,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountservicedb",{"_index":669,"title":{"injectables/AccountServiceDb.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountserviceidm",{"_index":670,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountsfile",{"_index":13755,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["accountuc",{"_index":266,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountuserid",{"_index":15864,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountvalidationservice",{"_index":667,"title":{"injectables/AccountValidationService.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{}}}],["accumulator",{"_index":24365,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["achieve",{"_index":25589,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["achieved",{"_index":26171,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["acknowledges",{"_index":25193,"title":{},"body":{"license.html":{}}}],["acquired",{"_index":25466,"title":{},"body":{"license.html":{}}}],["acr",{"_index":181,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["acr_values",{"_index":17695,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["act",{"_index":26071,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["action",{"_index":1197,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/BaseDomainObject.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LessonRule.html":{},"classes/PatchMyAccountParams.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["action.enum",{"_index":1779,"title":{},"body":{"interfaces/AuthorizationContext.html":{}}}],["action.read",{"_index":1793,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskUC.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["action.write",{"_index":1792,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{}}}],["actions",{"_index":25426,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.loggable",{"_index":18041,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["actions.loggable.ts",{"_index":17989,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:4",{"_index":17991,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:7",{"_index":17992,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.read",{"_index":2533,"title":{},"body":{"classes/BaseDomainObject.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.write",{"_index":26426,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["activated",{"_index":208,"title":{},"body":{"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/LibraryName.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OidcProvisioningService.html":{},"classes/Path.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["activation",{"_index":288,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["active",{"_index":4917,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IntrospectResponse.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RetryOptions.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["activities",{"_index":25138,"title":{},"body":{"license.html":{}}}],["activity",{"_index":25503,"title":{},"body":{"license.html":{}}}],["actor",{"_index":25849,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["actual",{"_index":25486,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["actualkeys",{"_index":2628,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["actualkeys.has(key",{"_index":2634,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["actualkeys.size",{"_index":2632,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["actually",{"_index":25329,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["adapt",{"_index":25120,"title":{},"body":{"license.html":{}}}],["adapter",{"_index":5000,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adapter.mapper",{"_index":5035,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["adapter.mapper.ts",{"_index":5045,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.mapper.ts:16",{"_index":5048,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.module.ts",{"_index":5072,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["adapter.service",{"_index":3903,"title":{},"body":{"modules/BoardModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["adapter.service.ts",{"_index":9677,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:11",{"_index":17117,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:13",{"_index":9681,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapter.service.ts:14",{"_index":17119,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:23",{"_index":17124,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:37",{"_index":17122,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:8",{"_index":9679,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapters",{"_index":26211,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["add",{"_index":1626,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TestApiClient.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addchild",{"_index":3062,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addchild(child",{"_index":3075,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addclientprotocolmappers",{"_index":14621,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addclientprotocolmappers(defaultclientinternalid",{"_index":14638,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["added",{"_index":2915,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/TaskUC.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["added.concat(updated",{"_index":24787,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["added.foreach((clientid",{"_index":24790,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["addexecutionrequest",{"_index":14705,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addexternaloauth2datatoconfig",{"_index":10996,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addexternaloauth2datatoconfig(config",{"_index":11009,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addgroupmoderator(groupname",{"_index":1136,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adding",{"_index":526,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UsersList.html":{}}}],["additional",{"_index":1388,"title":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["additionalinfo",{"_index":13872,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["additionally",{"_index":25005,"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":14974,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["additionalpermissions",{"_index":713,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["additionaly",{"_index":25724,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["addlessons",{"_index":5741,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addlessons(builder",{"_index":5750,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addon",{"_index":11709,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addons",{"_index":11707,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addorganization",{"_index":5852,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addorganization(props",{"_index":5861,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addparameters",{"_index":2744,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addparameters(propertydata",{"_index":2763,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addprometheusmetricsmiddlewaresifenabled",{"_index":18222,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["addproperty",{"_index":2745,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addproperty(propertydata",{"_index":2768,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addquery",{"_index":7014,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7028,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":12741,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addreferences(anotherreference",{"_index":8508,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addresourcetofile",{"_index":5853,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addresourcetofile(props",{"_index":5865,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization",{"_index":6011,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization(props",{"_index":5878,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["address",{"_index":17927,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["addressed",{"_index":25117,"title":{},"body":{"license.html":{}}}],["addroom",{"_index":8444,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["addroom(room",{"_index":8465,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["adds",{"_index":5246,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addtasks",{"_index":5742,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addtasks(builder",{"_index":5755,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addteacherroleifadmin",{"_index":19725,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addteacherroleifadmin(externaluser",{"_index":19731,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addto",{"_index":11708,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addtokentowhitelist",{"_index":14505,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtokentowhitelist(redisidentifier",{"_index":14513,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist",{"_index":14489,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist(accountid",{"_index":14495,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["adduser",{"_index":12769,"title":{},"body":{"classes/Group.html":{}}}],["adduser(user",{"_index":12772,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["adduserids",{"_index":16950,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adduserids.tostring",{"_index":16954,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adjust",{"_index":6084,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["adm",{"_index":5868,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["admin",{"_index":12490,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["admin_api__allowed_api_keys",{"_index":20521,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{}}}],["admin_api_client_api_key",{"_index":9134,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_api_client_base_url",{"_index":9135,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_pass=huhu",{"_index":26331,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["adminaccount",{"_index":724,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["adminapiservermodule",{"_index":1007,"title":{"modules/AdminApiServerModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminapiservertestmodule",{"_index":1044,"title":{"modules/AdminApiServerTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminid",{"_index":1062,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminidandtoken",{"_index":1050,"title":{"interfaces/AdminIdAndToken.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.id",{"_index":1161,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.token",{"_index":1160,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["administration.module",{"_index":13890,"title":{},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration.module.ts",{"_index":14530,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["administration.service",{"_index":14537,"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":14540,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:21",{"_index":14557,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:26",{"_index":14564,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:35",{"_index":14561,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:39",{"_index":14558,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:43",{"_index":14559,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:47",{"_index":14560,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:57",{"_index":14563,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:62",{"_index":14562,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:66",{"_index":14556,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:7",{"_index":14566,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:9",{"_index":14554,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration/interface/keycloak",{"_index":13760,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["administration/keycloak",{"_index":13889,"title":{},"body":{"modules/IdentityManagementModule.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration/service/keycloak",{"_index":14539,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["administrator",{"_index":376,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchMapper.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adminpassword",{"_index":1061,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminpermissions",{"_index":23772,"title":{},"body":{"classes/UserFactory.html":{}}}],["adminstrator",{"_index":26393,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["admintoken",{"_index":1063,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminuser",{"_index":725,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/KeycloakSeedService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["admzip",{"_index":5859,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["adopted",{"_index":25220,"title":{},"body":{"license.html":{}}}],["adversely",{"_index":25359,"title":{},"body":{"license.html":{}}}],["advised",{"_index":25574,"title":{},"body":{"license.html":{}}}],["aes",{"_index":21424,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["aes_key",{"_index":9917,"title":{},"body":{"modules/EncryptionModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["aeskey",{"_index":9914,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["affected",{"_index":26024,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["affects",{"_index":5413,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["affero",{"_index":25036,"title":{},"body":{"license.html":{}}}],["affirmed",{"_index":25448,"title":{},"body":{"license.html":{}}}],["affirms",{"_index":25191,"title":{},"body":{"license.html":{}}}],["afterall",{"_index":26159,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterall(async",{"_index":26150,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterbuild",{"_index":505,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuild(afterbuildfn",{"_index":522,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuildfn",{"_index":530,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterduedateornone",{"_index":22046,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["afterduedateornone(duedate",{"_index":22127,"title":{},"body":{"classes/TaskScope.html":{}}}],["aftereach",{"_index":26066,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterinit",{"_index":22794,"title":{},"body":{"classes/TldrawWs.html":{}}}],["afterwards",{"_index":25972,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["again",{"_index":7290,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["against",{"_index":13164,"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":13158,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["against.ts:8",{"_index":13162,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["age",{"_index":26385,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["agent",{"_index":16415,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["aggregate",{"_index":25268,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["aggregate.attrs",{"_index":14782,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["agility",{"_index":25801,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["agnostic",{"_index":14285,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["ago",{"_index":8964,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["agpl",{"_index":25607,"title":{},"body":{"license.html":{},"properties.html":{}}}],["agree",{"_index":25521,"title":{},"body":{"license.html":{}}}],["agreed",{"_index":25562,"title":{},"body":{"license.html":{}}}],["agreement",{"_index":25474,"title":{},"body":{"license.html":{}}}],["aims",{"_index":25797,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["aint",{"_index":25834,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ajax",{"_index":13318,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["ajaxgetqueryparams",{"_index":1194,"title":{"classes/AjaxGetQueryParams.html":{}},"body":{"classes/AjaxGetQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostbodyparams",{"_index":1228,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"controllers/H5PEditorController.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["ajaxpostbodyparamstransformpipe",{"_index":1208,"title":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostqueryparams",{"_index":1250,"title":{"classes/AjaxPostQueryParams.html":{}},"body":{"classes/AjaxPostQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajv",{"_index":24848,"title":{},"body":{"dependencies.html":{}}}],["aktuelle",{"_index":5555,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["alert",{"_index":9986,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alert(loggable",{"_index":9991,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alg",{"_index":1597,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["algorithm",{"_index":1546,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/JwtConstants.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["algorithms",{"_index":1569,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/OAuthService.html":{}}}],["algorithms.includes(jwtconstants.jwtoptions.algorithm",{"_index":1583,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["alias",{"_index":14654,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["alive",{"_index":22939,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["all('seed",{"_index":8887,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["all_entities",{"_index":1017,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["allcollectionswithfilepaths",{"_index":5268,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.filter",{"_index":5275,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.map((file",{"_index":5280,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["alleging",{"_index":25454,"title":{},"body":{"license.html":{}}}],["allforcreator",{"_index":22036,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(allforfinishedcoursesandlessonsforcreator.query",{"_index":22039,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closeddraftsforcreator.query",{"_index":22038,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closedwithoutparentforcreator.query",{"_index":22037,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons",{"_index":22022,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.addquery(parentsfinished.query",{"_index":22023,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.bydraft(false",{"_index":22024,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator",{"_index":22033,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.addquery(parentsfinished.query",{"_index":22034,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.bycreatorid(parentids.creatorid",{"_index":22035,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allmappers",{"_index":14741,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allmappers.find((mapper",{"_index":14744,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allow",{"_index":7270,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["allowed",{"_index":4362,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ElementUc.html":{},"classes/OauthClientBody.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/VideoConferenceCreateUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["allowedapikeys",{"_index":24801,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["allowedcards",{"_index":4558,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedcontexttype",{"_index":20893,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["alloweddos",{"_index":4573,"title":{},"body":{"injectables/CardUc.html":{}}}],["alloweddos.push(boarddo",{"_index":4572,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedparenttype",{"_index":20886,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["allowedstrings",{"_index":12313,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowedstrings.includes(input",{"_index":12315,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowemptyquery",{"_index":7015,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7031,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":10700,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["allowglobalcontext",{"_index":13404,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{}}}],["allowmodstounmuteusers",{"_index":2158,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["allows",{"_index":806,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["allpseudonyms",{"_index":18479,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["allrooms",{"_index":8445,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["allteacherpseudonyms",{"_index":11435,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["allteacherpseudonyms.map((pseudonym",{"_index":11439,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["alone",{"_index":26063,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["along",{"_index":25246,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["already",{"_index":640,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/NewsRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["altered",{"_index":5185,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["alternate",{"_index":25086,"title":{},"body":{"license.html":{}}}],["alternative",{"_index":14716,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["alternativetext",{"_index":3583,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["alternativetext(value",{"_index":11565,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["although",{"_index":25969,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["always",{"_index":411,"title":{},"body":{"controllers/AccountController.html":{},"classes/DomainObjectFactory.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/SanisProvisioningStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["always_accept",{"_index":2180,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["always_deny",{"_index":2181,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["ambiguous",{"_index":22079,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["amount",{"_index":873,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["amqp",{"_index":24850,"title":{},"body":{"dependencies.html":{}}}],["amqp.module.ts",{"_index":12245,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["amqpconnection",{"_index":1298,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{}}}],["amqpconnectionmanager",{"_index":18558,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["amqplib",{"_index":24852,"title":{},"body":{"dependencies.html":{}}}],["amr",{"_index":182,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["analysis",{"_index":25767,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["analytics",{"_index":24964,"title":{},"body":{"dependencies.html":{}}}],["analytics_features_messages=false",{"_index":26343,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_rooms=false",{"_index":26344,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_users=false",{"_index":26345,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ancestor",{"_index":3969,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestorids",{"_index":3456,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/ColumnBoardService.html":{}}}],["ancestornodes",{"_index":3978,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestornodes.foreach((node",{"_index":3980,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestors",{"_index":3967,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancillary",{"_index":25421,"title":{},"body":{"license.html":{}}}],["and/opr",{"_index":26107,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["and/or",{"_index":25080,"title":{},"body":{"license.html":{}}}],["annotations",{"_index":25915,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["anonymous",{"_index":8153,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["another",{"_index":17402,"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":12755,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["anschrift",{"_index":19663,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["antareskey",{"_index":7485,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["anti",{"_index":25209,"title":{},"body":{"license.html":{}}}],["antivirus.service",{"_index":1265,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirus_service_options",{"_index":1266,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirusmodule",{"_index":1258,"title":{"modules/AntivirusModule.html":{}},"body":{"modules/AntivirusModule.html":{},"modules/FilesStorageModule.html":{}}}],["antivirusmodule.forroot",{"_index":12419,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["antivirusmoduleoptions",{"_index":1260,"title":{"interfaces/AntivirusModuleOptions.html":{}},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["antivirusservice",{"_index":1264,"title":{"injectables/AntivirusService.html":{}},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["antivirusservice:checkstream",{"_index":1331,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusservice:send",{"_index":1344,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusserviceoptions",{"_index":1289,"title":{"interfaces/AntivirusServiceOptions.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["anyboarddo",{"_index":2662,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["anycontentelementdo",{"_index":2030,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{}}}],["anycontentelementresponse",{"_index":2661,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{}}}],["anyelementcontentbody",{"_index":6467,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["anyentity",{"_index":768,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["anymore",{"_index":1567,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anyone",{"_index":25255,"title":{},"body":{"license.html":{}}}],["anyprovisioningoptions",{"_index":18296,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"controllers/SchoolController.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["anyprovisioningoptionsresponse",{"_index":19877,"title":{},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{}}}],["anything",{"_index":25127,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anywhere",{"_index":25882,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["api",{"_index":1372,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/CopyApiResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"modules/DeletionModule.html":{},"classes/ErrorLoggable.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"classes/LibraryName.html":{},"interfaces/MigrationOptions.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["api.module",{"_index":1034,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["api.module.ts",{"_index":273,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/ToolApiModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["api.server.module.ts",{"_index":1013,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["api.server.module.ts:44",{"_index":1049,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["api.spec.ts",{"_index":25751,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v1",{"_index":24987,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3",{"_index":24988,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/docs",{"_index":25773,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v3/h5p",{"_index":13469,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["api/v3/news",{"_index":24995,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api_enable_cors=true",{"_index":26347,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_enable_rate_limiter_limit_calls_default=255",{"_index":26332,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_keys",{"_index":26388,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["api_response_time_metric_middleware_successfully_added",{"_index":18213,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["api_validation_error",{"_index":1371,"title":{},"body":{"classes/ApiValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["api_version_path",{"_index":1315,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["api_version_path}/file/download/${filerecord.id}/${encodeuricomponent(filerecord.name",{"_index":7244,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["apibadrequestresponse",{"_index":23216,"title":{},"body":{"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{}}}],["apibody",{"_index":5655,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/SchoolController.html":{}}}],["apicreatedresponse",{"_index":19873,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiexcludeendpoint",{"_index":12073,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":12068,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@put(filesstorageinternalactions.updatesecuritystatus",{"_index":12071,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiextramodels",{"_index":4064,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/SchoolController.html":{},"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(fileelementresponse",{"_index":21206,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(lti11toolconfigcreateparams",{"_index":10327,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["apiextramodels(lti11toolconfigupdateparams",{"_index":11151,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["apiextramodels(richtextelementresponse",{"_index":4085,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apiextramodels(schulconnexprovisioningoptionsresponse",{"_index":19885,"title":{},"body":{"controllers/SchoolController.html":{}}}],["apiextramodels(submissionitemresponse",{"_index":9868,"title":{},"body":{"controllers/ElementController.html":{}}}],["apiforbiddenresponse",{"_index":18395,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SchoolController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apifoundresponse",{"_index":18396,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiinternalservererrorresponse",{"_index":23854,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apikey",{"_index":9077,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/XApiKeyStrategy.html":{}}}],["apikey.trim",{"_index":20524,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apikeyheader",{"_index":9080,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apinocontentresponse",{"_index":23855,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinotfoundresponse",{"_index":19874,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiokresponse",{"_index":19875,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apioperation",{"_index":390,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apioperation({summary",{"_index":3212,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apiproperty",{"_index":296,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolSystemParams.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty()@allow",{"_index":19854,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["apiproperty()@apipropertyoptional",{"_index":8300,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["apiproperty()@decodehtmlentities",{"_index":3051,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileElementContent.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/TaskResponse.html":{}}}],["apiproperty()@isarray()@isstring({each",{"_index":15739,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["apiproperty()@ismongoid",{"_index":6389,"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":17983,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isnotempty()@isobject",{"_index":17975,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["apiproperty()@isnumber",{"_index":6845,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["apiproperty()@isoptional",{"_index":9455,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["apiproperty()@isstring",{"_index":7265,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/DownloadFileParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@isstring()@ismongoid",{"_index":19998,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["apiproperty()@isstring()@isnotempty",{"_index":6561,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RenameFileParams.html":{}}}],["apiproperty()@isstring()@isoptional",{"_index":6391,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["apiproperty()@isstring()@sanitizehtml()@isnotempty",{"_index":17981,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isurl",{"_index":16377,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@matches('([a",{"_index":12621,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["apiproperty()@validatenested",{"_index":7267,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{}}}],["apiproperty({description",{"_index":868,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BoardElementResponse.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CardSkeletonResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigResponse.html":{},"classes/PaginationResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RichText.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskListResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["apiproperty({enum",{"_index":3200,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RichTextElementResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["apiproperty({nullable",{"_index":6765,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty({pattern",{"_index":3196,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["apiproperty({required",{"_index":9407,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["apiproperty({type",{"_index":866,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/BoardResponse.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileUrlParams.html":{},"classes/GroupResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RichTextElementContentBody.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/TaskListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["apipropertyoptional",{"_index":201,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BusinessError.html":{},"classes/CardResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthLoginResponse.html":{},"classes/PaginationParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TimestampsResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["apipropertyoptional()@decodehtmlentities",{"_index":3779,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{}}}],["apipropertyoptional()@isoptional()@isboolean",{"_index":12478,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["apipropertyoptional()@isoptional()@isstring()@isnotempty",{"_index":12476,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["apipropertyoptional()@isstring()@isoptional",{"_index":24020,"title":{},"body":{"classes/UserLoginMigrationSearchParams.html":{}}}],["apipropertyoptional({default",{"_index":24475,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({description",{"_index":1361,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SystemFilterParams.html":{},"classes/TaskResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({enum",{"_index":10930,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilterImportUserParams.html":{},"classes/PreviewParams.html":{}}}],["apipropertyoptional({nullable",{"_index":23401,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["apipropertyoptional({type",{"_index":7185,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/NewsResponse.html":{}}}],["apiresponse",{"_index":391,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiresponsetimemetrichistogram",{"_index":18978,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetrichistogram.observe(labels",{"_index":18985,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetriclabelnames",{"_index":18964,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apitags",{"_index":392,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apitags('account",{"_index":397,"title":{},"body":{"controllers/AccountController.html":{}}}],["apitags('authentication",{"_index":15953,"title":{},"body":{"controllers/LoginController.html":{}}}],["apitags('board",{"_index":3249,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apitags('collaborative",{"_index":5109,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["apitags('courses",{"_index":7651,"title":{},"body":{"controllers/CourseController.html":{}}}],["apitags('dashboard",{"_index":8419,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apitags('deletionexecutions",{"_index":9208,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["apitags('deletionrequests",{"_index":9583,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["apitags('file",{"_index":12075,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apitags('fwu",{"_index":12535,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["apitags('group",{"_index":12830,"title":{},"body":{"controllers/GroupController.html":{}}}],["apitags('h5p",{"_index":13303,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["apitags('lesson",{"_index":15562,"title":{},"body":{"controllers/LessonController.html":{}}}],["apitags('meta",{"_index":16347,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["apitags('news",{"_index":16619,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["apitags('oauth2",{"_index":17455,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["apitags('pseudonym",{"_index":18402,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apitags('rooms",{"_index":19403,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apitags('school",{"_index":19882,"title":{},"body":{"controllers/SchoolController.html":{}}}],["apitags('sharetoken",{"_index":20702,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apitags('sso",{"_index":17649,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apitags('submission",{"_index":21136,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apitags('systems",{"_index":21465,"title":{},"body":{"controllers/SystemController.html":{}}}],["apitags('task",{"_index":21812,"title":{},"body":{"controllers/TaskController.html":{}}}],["apitags('tldraw",{"_index":22729,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apitags('tool",{"_index":23044,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["apitags('user",{"_index":23603,"title":{},"body":{"controllers/UserController.html":{}}}],["apitags('userimport",{"_index":14051,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["apitags('userloginmigration",{"_index":23867,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apitags('videoconference",{"_index":24454,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiunauthorizedresponse",{"_index":18397,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SchoolController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiunprocessableentityresponse",{"_index":19876,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apivalidationerror",{"_index":1351,"title":{"classes/ApiValidationError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apivalidationerror(errors",{"_index":12739,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apivalidationerror.validationerrors.foreach((validationerror",{"_index":1404,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apivalidationerrorresponse",{"_index":1376,"title":{"classes/ApiValidationErrorResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/GlobalErrorFilter.html":{}}}],["apivalidationerrorresponse(error",{"_index":12714,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apivalidationerror})@apiresponse({status",{"_index":3216,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["app",{"_index":1627,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["app.service('/nest",{"_index":25973,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["app.use(createapiresponsetimemetricmiddleware",{"_index":18226,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["app_filter",{"_index":7476,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["app_guard",{"_index":7475,"title":{},"body":{"modules/CoreModule.html":{}}}],["app_interceptor",{"_index":7473,"title":{},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"todo.html":{}}}],["app_pipe",{"_index":7474,"title":{},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["append",{"_index":25673,"title":{},"body":{"todo.html":{}}}],["appendedattachment",{"_index":1439,"title":{"interfaces/AppendedAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["appendnotcontainedboardelements(boardelementtargets",{"_index":3006,"title":{},"body":{"entities/Board.html":{}}}],["applicable",{"_index":25131,"title":{},"body":{"license.html":{}}}],["applicaiton",{"_index":25733,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["application",{"_index":4237,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BusinessError.html":{},"modules/CoreModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["application/json",{"_index":1611,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/CalendarService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["application/octet",{"_index":11550,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{}}}],["application/x",{"_index":14849,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["application/xml",{"_index":2394,"title":{},"body":{"injectables/BBBService.html":{}}}],["application/zip",{"_index":7663,"title":{},"body":{"controllers/CourseController.html":{}}}],["applications",{"_index":24974,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["applied",{"_index":5303,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["applies",{"_index":5005,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/TldrawWsService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["apply",{"_index":5271,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["apply(data",{"_index":14386,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["applyawarenessupdate",{"_index":22873,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applyawarenessupdate(doc.awareness",{"_index":22927,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applypropertiestopathparams",{"_index":2746,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applypropertiestopathparams(url",{"_index":2772,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applyupdate",{"_index":22656,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["applyupdate(ydoc",{"_index":22689,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["appname",{"_index":1419,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["approach",{"_index":26169,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appropriate",{"_index":5003,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["appropriately",{"_index":25239,"title":{},"body":{"license.html":{}}}],["approve",{"_index":24698,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["approximate",{"_index":4525,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["approximates",{"_index":25582,"title":{},"body":{"license.html":{}}}],["apps/server",{"_index":25720,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["apps/server/doc",{"_index":25782,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src",{"_index":25786,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src/apps/helpers/app",{"_index":1417,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["apps/server/src/apps/helpers/prometheus",{"_index":18200,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["apps/server/src/config/database.config.ts",{"_index":12654,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["apps/server/src/console/api",{"_index":22545,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["apps/server/src/console/console.module.ts",{"_index":20543,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["apps/server/src/console/server.console.ts",{"_index":20529,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:11",{"_index":20533,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:17",{"_index":20536,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:6",{"_index":20532,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/core/core.module.ts",{"_index":7464,"title":{},"body":{"modules/CoreModule.html":{}}}],["apps/server/src/core/error/dto/api",{"_index":1377,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts",{"_index":10032,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:10",{"_index":10038,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:15",{"_index":10037,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:20",{"_index":10036,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:25",{"_index":10035,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:30",{"_index":10034,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/validation",{"_index":24356,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["apps/server/src/core/error/error.module.ts",{"_index":10025,"title":{},"body":{"modules/ErrorModule.html":{}}}],["apps/server/src/core/error/filter/global",{"_index":12659,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apps/server/src/core/error/interface/error",{"_index":10039,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["apps/server/src/core/error/interface/feathers",{"_index":11339,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["apps/server/src/core/error/loggable/axios",{"_index":2097,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts",{"_index":9937,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:11",{"_index":9945,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:13",{"_index":9948,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:34",{"_index":9947,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:47",{"_index":9950,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:56",{"_index":9952,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:8",{"_index":9943,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts",{"_index":10041,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:16",{"_index":10050,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:20",{"_index":10055,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:24",{"_index":10047,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:6",{"_index":10052,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/interceptor/interceptor.module.ts",{"_index":14334,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["apps/server/src/core/interfaces/core",{"_index":7479,"title":{},"body":{"interfaces/CoreModuleConfig.html":{}}}],["apps/server/src/core/logger/error",{"_index":9984,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["apps/server/src/core/logger/interfaces/legacy",{"_index":13765,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts",{"_index":15872,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts:4",{"_index":15873,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/logger",{"_index":15891,"title":{},"body":{"interfaces/LoggerConfig.html":{}}}],["apps/server/src/core/logger/legacy",{"_index":15279,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["apps/server/src/core/logger/logger.module.ts",{"_index":15895,"title":{},"body":{"modules/LoggerModule.html":{}}}],["apps/server/src/core/logger/logger.ts",{"_index":15874,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:13",{"_index":15886,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:18",{"_index":15883,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:23",{"_index":15881,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:28",{"_index":15879,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:33",{"_index":15884,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:9",{"_index":15877,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logging.utils.ts",{"_index":15916,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:13",{"_index":15926,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:18",{"_index":15924,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:6",{"_index":15921,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/validation/pipe/global",{"_index":12724,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apps/server/src/core/validation/validation.module.ts",{"_index":24369,"title":{},"body":{"modules/ValidationModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts",{"_index":1259,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts:8",{"_index":1261,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts",{"_index":1293,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:10",{"_index":1300,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:17",{"_index":1303,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:44",{"_index":1308,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:62",{"_index":1306,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/interfaces/antivirus.ts",{"_index":1287,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["apps/server/src/infra/cache/cache.module.ts",{"_index":4268,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts",{"_index":4255,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts:7",{"_index":4257,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/calendar/calendar.module.ts",{"_index":4318,"title":{},"body":{"modules/CalendarModule.html":{}}}],["apps/server/src/infra/calendar/dto/calendar",{"_index":4293,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["apps/server/src/infra/calendar/interface/calendar",{"_index":4287,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts",{"_index":4302,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7",{"_index":4304,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts",{"_index":4321,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:15",{"_index":4331,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:17",{"_index":4325,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:24",{"_index":4328,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:46",{"_index":4330,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/collaborative",{"_index":4996,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["apps/server/src/infra/console/console",{"_index":6379,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{}}}],["apps/server/src/infra/database/management/database",{"_index":8904,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{}}}],["apps/server/src/infra/database/mongo",{"_index":16533,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts",{"_index":9919,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:5",{"_index":9925,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:6",{"_index":9923,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.module.ts",{"_index":9909,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts",{"_index":21419,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:15",{"_index":21422,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:23",{"_index":21421,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:8",{"_index":21420,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/feathers/feathers",{"_index":11461,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["apps/server/src/infra/feathers/feathers.module.ts",{"_index":11345,"title":{},"body":{"modules/FeathersModule.html":{}}}],["apps/server/src/infra/file",{"_index":12112,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["apps/server/src/infra/identity",{"_index":4887,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["apps/server/src/infra/mail/interfaces/mail",{"_index":16219,"title":{},"body":{"interfaces/MailConfig.html":{}}}],["apps/server/src/infra/mail/mail.interface.ts",{"_index":1440,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["apps/server/src/infra/mail/mail.module.ts",{"_index":16222,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["apps/server/src/infra/mail/mail.module.ts:13",{"_index":16224,"title":{},"body":{"modules/MailModule.html":{}}}],["apps/server/src/infra/mail/mail.service.ts",{"_index":16229,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:14",{"_index":16234,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:24",{"_index":16240,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:39",{"_index":16236,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:54",{"_index":16239,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts",{"_index":18158,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:12",{"_index":18175,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:14",{"_index":18180,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:18",{"_index":18174,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:20",{"_index":18182,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:24",{"_index":18170,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:26",{"_index":18184,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:30",{"_index":18171,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:32",{"_index":18186,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:34",{"_index":18169,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:4",{"_index":18172,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:44",{"_index":18187,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:52",{"_index":18176,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:6",{"_index":18173,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:8",{"_index":18178,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts",{"_index":18938,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:10",{"_index":18945,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:12",{"_index":18947,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:14",{"_index":18949,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:16",{"_index":18943,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:32",{"_index":19032,"title":{},"body":{"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:6",{"_index":18946,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:8",{"_index":18944,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/oauth",{"_index":162,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/RejectRequestBody.html":{}}}],["apps/server/src/infra/preview",{"_index":17987,"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":10010,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts:6",{"_index":10014,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/exchange/files",{"_index":7196,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts",{"_index":18557,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55",{"_index":18580,"title":{},"body":{"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rpc",{"_index":13733,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["apps/server/src/infra/redis/redis.module.ts",{"_index":18813,"title":{},"body":{"modules/RedisModule.html":{}}}],["apps/server/src/infra/s3",{"_index":7302,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{}}}],["apps/server/src/modules/account/account",{"_index":272,"title":{},"body":{"modules/AccountApiModule.html":{},"interfaces/AccountConfig.html":{}}}],["apps/server/src/modules/account/account.module.ts",{"_index":672,"title":{},"body":{"modules/AccountModule.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts",{"_index":315,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:31",{"_index":377,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:44",{"_index":352,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:60",{"_index":387,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:70",{"_index":381,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:84",{"_index":348,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:97",{"_index":363,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/dto/account",{"_index":285,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts",{"_index":820,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:13",{"_index":824,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:16",{"_index":827,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:19",{"_index":826,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:22",{"_index":823,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:25",{"_index":825,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:3",{"_index":822,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/patch",{"_index":17922,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["apps/server/src/modules/account/mapper/account",{"_index":465,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts",{"_index":727,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:11",{"_index":767,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:19",{"_index":740,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:23",{"_index":746,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:28",{"_index":742,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:32",{"_index":743,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:36",{"_index":749,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:43",{"_index":751,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:47",{"_index":747,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:51",{"_index":755,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:55",{"_index":757,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:59",{"_index":738,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:64",{"_index":739,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:74",{"_index":744,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:80",{"_index":754,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/services/account",{"_index":608,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts",{"_index":6,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:10",{"_index":43,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:12",{"_index":45,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:14",{"_index":50,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:16",{"_index":65,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:18",{"_index":90,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:23",{"_index":84,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:25",{"_index":88,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:27",{"_index":28,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:29",{"_index":38,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:31",{"_index":71,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:33",{"_index":68,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:35",{"_index":93,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:39",{"_index":57,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:6",{"_index":41,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:8",{"_index":61,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts",{"_index":966,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:11",{"_index":972,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:29",{"_index":976,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:34",{"_index":974,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:8",{"_index":970,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/dto/account",{"_index":839,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts",{"_index":429,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts:9",{"_index":434,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/authentication/authentication",{"_index":1486,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["apps/server/src/modules/authentication/authentication.module.ts",{"_index":1535,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["apps/server/src/modules/authentication/config/x",{"_index":24797,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["apps/server/src/modules/authentication/constants.ts",{"_index":14440,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/ldap",{"_index":15039,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/local",{"_index":15840,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts",{"_index":15977,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts:5",{"_index":15978,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth",{"_index":17298,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth2",{"_index":17068,"title":{},"body":{"classes/Oauth2AuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts",{"_index":15930,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:31",{"_index":15940,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:47",{"_index":15944,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:62",{"_index":15949,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/mapper/login",{"_index":15998,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["apps/server/src/modules/authentication/errors/brute",{"_index":4199,"title":{},"body":{"classes/BruteForceError.html":{}}}],["apps/server/src/modules/authentication/errors/ldap",{"_index":15171,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["apps/server/src/modules/authentication/errors/unauthorized.loggable",{"_index":23497,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["apps/server/src/modules/authentication/guard/jwt",{"_index":14437,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["apps/server/src/modules/authentication/interface/jwt",{"_index":8055,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["apps/server/src/modules/authentication/interface/oauth",{"_index":17274,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["apps/server/src/modules/authentication/interface/user.ts",{"_index":13726,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["apps/server/src/modules/authentication/loggable/school",{"_index":20164,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["apps/server/src/modules/authentication/mapper/current",{"_index":8103,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts",{"_index":1686,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:17",{"_index":1695,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:25",{"_index":1702,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:42",{"_index":1700,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:57",{"_index":1708,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:65",{"_index":1697,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:76",{"_index":1711,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:80",{"_index":1706,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:84",{"_index":1704,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts",{"_index":15177,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:14",{"_index":15181,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:23",{"_index":15183,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:9",{"_index":15179,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt",{"_index":14455,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts",{"_index":14464,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12",{"_index":14467,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25",{"_index":14469,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts",{"_index":15207,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17",{"_index":15213,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29",{"_index":15223,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57",{"_index":15220,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69",{"_index":15218,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76",{"_index":15216,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92",{"_index":15221,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts",{"_index":15843,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:15",{"_index":15846,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:25",{"_index":15854,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:46",{"_index":15852,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:54",{"_index":15849,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts",{"_index":17075,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14",{"_index":17076,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19",{"_index":17077,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/x",{"_index":24799,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts",{"_index":15969,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts:2",{"_index":15970,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts",{"_index":16006,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:12",{"_index":16011,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:9",{"_index":16009,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authorization/authorization",{"_index":1917,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["apps/server/src/modules/authorization/authorization.module.ts",{"_index":1881,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["apps/server/src/modules/authorization/domain/error/forbidden.loggable",{"_index":12505,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["apps/server/src/modules/authorization/domain/mapper/authorization",{"_index":1781,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["apps/server/src/modules/authorization/domain/rules/board",{"_index":3709,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/context",{"_index":6998,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course",{"_index":7810,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts",{"_index":7961,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:10",{"_index":7964,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:16",{"_index":7963,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:7",{"_index":7962,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts",{"_index":13041,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:11",{"_index":13044,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:17",{"_index":13043,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:8",{"_index":13042,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/legacy",{"_index":15433,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts",{"_index":15655,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16",{"_index":15667,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22",{"_index":15666,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40",{"_index":15669,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53",{"_index":15671,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59",{"_index":15673,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73",{"_index":15665,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79",{"_index":15663,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9",{"_index":15661,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/school",{"_index":20062,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts",{"_index":21301,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11",{"_index":21319,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17",{"_index":21314,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27",{"_index":21309,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41",{"_index":21318,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47",{"_index":21316,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61",{"_index":21313,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70",{"_index":21311,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8",{"_index":21307,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts",{"_index":21619,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:11",{"_index":21625,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:17",{"_index":21624,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:31",{"_index":21623,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:8",{"_index":21621,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts",{"_index":22103,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:16",{"_index":22109,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:22",{"_index":22108,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:43",{"_index":22107,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:9",{"_index":22105,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts",{"_index":22367,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:10",{"_index":22370,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:14",{"_index":22369,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:7",{"_index":22368,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user",{"_index":24014,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts",{"_index":24260,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:10",{"_index":24263,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:16",{"_index":24262,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:7",{"_index":24261,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization",{"_index":1943,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts",{"_index":1802,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14",{"_index":1815,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21",{"_index":1817,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32",{"_index":1811,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38",{"_index":1820,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7",{"_index":1813,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts",{"_index":1965,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:13",{"_index":1971,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:20",{"_index":1977,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:26",{"_index":1983,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:33",{"_index":1973,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:40",{"_index":1980,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:44",{"_index":1975,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:51",{"_index":1981,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:55",{"_index":1979,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts",{"_index":18817,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:41",{"_index":18822,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:71",{"_index":18827,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:79",{"_index":18824,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/rule",{"_index":19487,"title":{},"body":{"injectables/RuleManager.html":{}}}],["apps/server/src/modules/authorization/domain/type/authorization",{"_index":1776,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts",{"_index":19484,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:7",{"_index":19486,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:8",{"_index":19485,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/feathers/feathers",{"_index":11271,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{}}}],["apps/server/src/modules/board/board",{"_index":3029,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["apps/server/src/modules/board/board.module.ts",{"_index":3897,"title":{},"body":{"modules/BoardModule.html":{}}}],["apps/server/src/modules/board/controller/board",{"_index":4038,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts",{"_index":3203,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:33",{"_index":3233,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:50",{"_index":3228,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:68",{"_index":3239,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:83",{"_index":3224,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:93",{"_index":3219,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts",{"_index":4367,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:114",{"_index":4382,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:143",{"_index":4378,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:48",{"_index":4389,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:69",{"_index":4393,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:84",{"_index":4397,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:99",{"_index":4400,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts",{"_index":5633,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:34",{"_index":5651,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:49",{"_index":5654,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:64",{"_index":5647,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:75",{"_index":5644,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board",{"_index":3193,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts",{"_index":4015,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:17",{"_index":4018,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:21",{"_index":4021,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:26",{"_index":4017,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:29",{"_index":4020,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:6",{"_index":4016,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts",{"_index":4196,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11",{"_index":4198,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/card",{"_index":4521,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts",{"_index":5671,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:17",{"_index":5674,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:21",{"_index":5676,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:26",{"_index":5673,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:29",{"_index":5675,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:6",{"_index":5672,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts",{"_index":5722,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11",{"_index":5723,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/content",{"_index":6554,"title":{},"body":{"classes/ContentElementUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/move",{"_index":16561,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts",{"_index":18933,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12",{"_index":18935,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/set",{"_index":20634,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts",{"_index":4574,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts:11",{"_index":4575,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card",{"_index":4437,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts",{"_index":4455,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:23",{"_index":4457,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:36",{"_index":4460,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:40",{"_index":4462,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:43",{"_index":4459,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:58",{"_index":4458,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:61",{"_index":4464,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:64",{"_index":4461,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/create",{"_index":8008,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/move",{"_index":16571,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["apps/server/src/modules/board/controller/dto/card/visibility",{"_index":24747,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/create",{"_index":8013,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/element/drawing",{"_index":9688,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/external",{"_index":10341,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/file",{"_index":11571,"title":{},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/link",{"_index":15806,"title":{},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/rich",{"_index":19089,"title":{},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/submission",{"_index":21101,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/update",{"_index":9639,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/submission",{"_index":8095,"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":22619,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:11",{"_index":22623,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:14",{"_index":22621,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:17",{"_index":22622,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:3",{"_index":22620,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/user",{"_index":23723,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts",{"_index":9834,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:114",{"_index":9846,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:129",{"_index":9842,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:53",{"_index":9850,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:93",{"_index":9855,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/mapper/base",{"_index":2654,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/board",{"_index":4026,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/card",{"_index":4469,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/column",{"_index":5679,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/content",{"_index":6422,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["apps/server/src/modules/board/controller/mapper/drawing",{"_index":9703,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/external",{"_index":10355,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/file",{"_index":11589,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/link",{"_index":15820,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/rich",{"_index":19107,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/submission",{"_index":21114,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["apps/server/src/modules/board/repo/board",{"_index":3523,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["apps/server/src/modules/board/repo/recursive",{"_index":18687,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["apps/server/src/modules/board/service/board",{"_index":3441,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["apps/server/src/modules/board/service/card.service.ts",{"_index":4478,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:10",{"_index":4482,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:17",{"_index":4492,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:21",{"_index":4495,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:30",{"_index":4486,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:51",{"_index":4490,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:55",{"_index":4498,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:59",{"_index":4500,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:65",{"_index":4502,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:71",{"_index":4488,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/column",{"_index":5447,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts",{"_index":5688,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:12",{"_index":5694,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:17",{"_index":5690,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:33",{"_index":5692,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:37",{"_index":5696,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:41",{"_index":5698,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:9",{"_index":5689,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/content",{"_index":6454,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["apps/server/src/modules/board/service/submission",{"_index":21228,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts",{"_index":2664,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:13",{"_index":2673,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:29",{"_index":2679,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:45",{"_index":2676,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:7",{"_index":2669,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts",{"_index":4135,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:12",{"_index":4139,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:26",{"_index":4145,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:35",{"_index":4147,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:44",{"_index":4143,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:53",{"_index":4153,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:62",{"_index":4141,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:72",{"_index":4151,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts",{"_index":4534,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:10",{"_index":4539,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:23",{"_index":4548,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:32",{"_index":4553,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:41",{"_index":4555,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:50",{"_index":4543,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:61",{"_index":4541,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:80",{"_index":4551,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:97",{"_index":4546,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts",{"_index":5705,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:10",{"_index":5706,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:23",{"_index":5710,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:32",{"_index":5715,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:41",{"_index":5708,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:52",{"_index":5713,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts",{"_index":9872,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:19",{"_index":9875,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:32",{"_index":9883,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:43",{"_index":9879,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:49",{"_index":9881,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:63",{"_index":9877,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/submission",{"_index":21243,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["apps/server/src/modules/class/class.module.ts",{"_index":4808,"title":{},"body":{"modules/ClassModule.html":{}}}],["apps/server/src/modules/class/domain/class",{"_index":4840,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts",{"_index":4586,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:22",{"_index":4599,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:26",{"_index":4601,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:30",{"_index":4603,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:34",{"_index":4605,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:38",{"_index":4607,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:42",{"_index":4609,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:46",{"_index":4611,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:50",{"_index":4613,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:54",{"_index":4615,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:58",{"_index":4617,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:62",{"_index":4619,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:66",{"_index":4620,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:70",{"_index":4621,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:74",{"_index":4597,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts",{"_index":4695,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8",{"_index":4697,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/entity/class",{"_index":4847,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts",{"_index":4639,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:26",{"_index":4643,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:30",{"_index":4644,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:34",{"_index":4652,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:38",{"_index":4651,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:41",{"_index":4641,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:44",{"_index":4653,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:47",{"_index":4640,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:50",{"_index":4642,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:53",{"_index":4650,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:57",{"_index":4646,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:60",{"_index":4649,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts",{"_index":4685,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7",{"_index":4688,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts",{"_index":4853,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:10",{"_index":4856,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:13",{"_index":4858,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:21",{"_index":4859,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:31",{"_index":4861,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts",{"_index":4754,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:26",{"_index":4766,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:43",{"_index":4762,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:47",{"_index":4764,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:7",{"_index":4760,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/service/class.service.ts",{"_index":4809,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:10",{"_index":4820,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:16",{"_index":4818,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:23",{"_index":4816,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:7",{"_index":4814,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/collaborative",{"_index":5084,"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":7177,"title":{},"body":{"classes/CopyApiResponse.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["apps/server/src/modules/deletion",{"_index":2816,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReferencesService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["apps/server/src/modules/deletion/builder/deletion",{"_index":9344,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["apps/server/src/modules/deletion/controller/deletion",{"_index":9197,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["apps/server/src/modules/deletion/controller/dto/deletion",{"_index":9170,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["apps/server/src/modules/deletion/deletion",{"_index":9057,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["apps/server/src/modules/deletion/deletion.module.ts",{"_index":9353,"title":{},"body":{"modules/DeletionModule.html":{}}}],["apps/server/src/modules/deletion/domain/deletion",{"_index":9214,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["apps/server/src/modules/deletion/domain/testing/factory/deletion",{"_index":9433,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["apps/server/src/modules/deletion/entity/deletion",{"_index":9244,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["apps/server/src/modules/deletion/interface/interfaces.ts",{"_index":9331,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionTargetRef.html":{}}}],["apps/server/src/modules/deletion/repo/deletion",{"_index":9294,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["apps/server/src/modules/deletion/repo/mapper/deletion",{"_index":9271,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["apps/server/src/modules/deletion/services/deletion",{"_index":9317,"title":{},"body":{"injectables/DeletionLogService.html":{},"injectables/DeletionRequestService.html":{}}}],["apps/server/src/modules/deletion/uc/interface/interfaces.ts",{"_index":9333,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["apps/server/src/modules/files",{"_index":7218,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TestHelper.html":{}}}],["apps/server/src/modules/files/entity/file",{"_index":11796,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts",{"_index":11593,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:100",{"_index":11605,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:107",{"_index":11617,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:110",{"_index":11607,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:117",{"_index":11631,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:40",{"_index":11613,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:43",{"_index":11612,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:46",{"_index":11614,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:49",{"_index":11615,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:52",{"_index":11623,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:55",{"_index":11629,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:58",{"_index":11624,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:61",{"_index":11611,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:64",{"_index":11626,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:67",{"_index":11627,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:70",{"_index":11628,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:73",{"_index":11621,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:77",{"_index":11622,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:81",{"_index":11610,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:89",{"_index":11609,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:96",{"_index":11619,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/files.module.ts",{"_index":12191,"title":{},"body":{"modules/FilesModule.html":{}}}],["apps/server/src/modules/files/job/delete",{"_index":8954,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts",{"_index":12192,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:10",{"_index":12196,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:15",{"_index":12205,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:19",{"_index":12204,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:33",{"_index":12198,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:44",{"_index":12201,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/service/files.service.ts",{"_index":12218,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:10",{"_index":12225,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:14",{"_index":12231,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:28",{"_index":12227,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:32",{"_index":12229,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:7",{"_index":12223,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/uc/delete",{"_index":8976,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["apps/server/src/modules/fwu",{"_index":12521,"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":4702,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{}}}],["apps/server/src/modules/group/controller/dto/request/group",{"_index":12923,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{}}}],["apps/server/src/modules/group/controller/dto/response/class",{"_index":4738,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/external",{"_index":10138,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group",{"_index":13130,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts",{"_index":12970,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:11",{"_index":12975,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:14",{"_index":12977,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:17",{"_index":12979,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:20",{"_index":12973,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:23",{"_index":12972,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:8",{"_index":12974,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts",{"_index":12809,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:29",{"_index":12819,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:59",{"_index":12825,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/mapper/group",{"_index":12989,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["apps/server/src/modules/group/domain/group",{"_index":13118,"title":{},"body":{"classes/GroupUser.html":{}}}],["apps/server/src/modules/group/domain/group.ts",{"_index":12768,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["apps/server/src/modules/group/domain/group.ts:26",{"_index":12778,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:30",{"_index":12779,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:34",{"_index":12781,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:38",{"_index":12783,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:42",{"_index":12785,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:46",{"_index":12787,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:50",{"_index":12777,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:54",{"_index":12775,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:58",{"_index":12774,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/entity/group",{"_index":13124,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts",{"_index":12906,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:34",{"_index":12908,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:37",{"_index":12910,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:40",{"_index":12907,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:43",{"_index":12912,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:46",{"_index":12911,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:49",{"_index":12909,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/group",{"_index":12806,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["apps/server/src/modules/group/group.module.ts",{"_index":12930,"title":{},"body":{"modules/GroupModule.html":{}}}],["apps/server/src/modules/group/loggable/unknown",{"_index":23501,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["apps/server/src/modules/group/repo/group",{"_index":12845,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts",{"_index":12936,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:111",{"_index":12941,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:12",{"_index":12940,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:15",{"_index":12944,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:29",{"_index":12943,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:48",{"_index":12948,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:67",{"_index":12946,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:86",{"_index":12949,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts",{"_index":13047,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts:14",{"_index":13052,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts:21",{"_index":13056,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts:7",{"_index":13054,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/service/group.service.ts",{"_index":13057,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:10",{"_index":13062,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:13",{"_index":13066,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:23",{"_index":13074,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:29",{"_index":13065,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:35",{"_index":13070,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:41",{"_index":13068,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:47",{"_index":13072,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:53",{"_index":13064,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/uc/dto/class",{"_index":4710,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["apps/server/src/modules/group/uc/dto/resolved",{"_index":19002,"title":{},"body":{"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["apps/server/src/modules/group/uc/mapper/group",{"_index":13084,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["apps/server/src/modules/h5p",{"_index":1195,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["apps/server/src/modules/learnroom/common",{"_index":5730,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts",{"_index":7630,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:23",{"_index":7639,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:36",{"_index":7636,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts",{"_index":8400,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15",{"_index":8403,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22",{"_index":8408,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38",{"_index":8413,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course",{"_index":7847,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts",{"_index":7913,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14",{"_index":7915,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts",{"_index":8006,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11",{"_index":8007,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts",{"_index":8626,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100",{"_index":8635,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105",{"_index":8631,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108",{"_index":8804,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118",{"_index":8806,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124",{"_index":8805,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16",{"_index":8650,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22",{"_index":8652,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27",{"_index":8651,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32",{"_index":8649,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35",{"_index":8630,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4",{"_index":8648,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62",{"_index":8637,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68",{"_index":8640,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73",{"_index":8638,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78",{"_index":8632,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83",{"_index":8641,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88",{"_index":8642,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94",{"_index":8636,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts",{"_index":8841,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11",{"_index":8842,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson",{"_index":15567,"title":{},"body":{"classes/LessonCopyApiParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts",{"_index":15737,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11",{"_index":15738,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/move",{"_index":16575,"title":{},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/patch",{"_index":17918,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room",{"_index":19348,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts",{"_index":19351,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11",{"_index":19352,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/single",{"_index":3041,"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":19380,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:33",{"_index":19392,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:43",{"_index":19395,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:57",{"_index":19398,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:67",{"_index":19386,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:78",{"_index":19389,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/learnroom",{"_index":15264,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["apps/server/src/modules/learnroom/learnroom.module.ts",{"_index":15278,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["apps/server/src/modules/learnroom/mapper/board",{"_index":4109,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts",{"_index":7833,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts:5",{"_index":7836,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts",{"_index":8653,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16",{"_index":8657,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37",{"_index":8659,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6",{"_index":8661,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/room",{"_index":19290,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["apps/server/src/modules/learnroom/service/board",{"_index":3271,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/column",{"_index":5612,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["apps/server/src/modules/learnroom/service/common",{"_index":5739,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["apps/server/src/modules/learnroom/service/course",{"_index":7667,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts",{"_index":7975,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:10",{"_index":7985,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:14",{"_index":7983,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:20",{"_index":7980,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:30",{"_index":7981,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:7",{"_index":7978,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts",{"_index":7820,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:10",{"_index":7828,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:16",{"_index":7826,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:7",{"_index":7824,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/dashboard.service.ts",{"_index":8808,"title":{},"body":{"injectables/DashboardService.html":{}}}],["apps/server/src/modules/learnroom/service/dashboard.service.ts:12",{"_index":8811,"title":{},"body":{"injectables/DashboardService.html":{}}}],["apps/server/src/modules/learnroom/service/dashboard.service.ts:6",{"_index":8810,"title":{},"body":{"injectables/DashboardService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts",{"_index":19420,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:13",{"_index":19424,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:22",{"_index":19428,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:36",{"_index":19426,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/uc/course",{"_index":7723,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts",{"_index":7991,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:12",{"_index":7995,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:9",{"_index":7993,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts",{"_index":8817,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15",{"_index":8822,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28",{"_index":8824,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43",{"_index":8826,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59",{"_index":8828,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9",{"_index":8821,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/lesson",{"_index":15570,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["apps/server/src/modules/learnroom/uc/room",{"_index":9717,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts",{"_index":19353,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11",{"_index":19361,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17",{"_index":19359,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24",{"_index":19365,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45",{"_index":19363,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts",{"_index":19443,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:10",{"_index":19447,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:20",{"_index":19449,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:31",{"_index":19454,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:52",{"_index":19452,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/legacy",{"_index":2615,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"controllers/SchoolController.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts",{"_index":15735,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11",{"_index":15736,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts",{"_index":15557,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts:14",{"_index":15561,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/lesson",{"_index":15550,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["apps/server/src/modules/lesson/lesson.module.ts",{"_index":15628,"title":{},"body":{"modules/LessonModule.html":{}}}],["apps/server/src/modules/lesson/repository/lesson",{"_index":15690,"title":{},"body":{"classes/LessonScope.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts",{"_index":15631,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:12",{"_index":15640,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:16",{"_index":15635,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:26",{"_index":15637,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:44",{"_index":15639,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts",{"_index":10060,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:12",{"_index":10066,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:9",{"_index":10064,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts",{"_index":15695,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:15",{"_index":15702,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:21",{"_index":15709,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:25",{"_index":15707,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:29",{"_index":15706,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:35",{"_index":15704,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:9",{"_index":15700,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts",{"_index":16864,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:12",{"_index":16868,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:9",{"_index":16866,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts",{"_index":15722,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:14",{"_index":15725,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:8",{"_index":15723,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lti",{"_index":16151,"title":{},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{}}}],["apps/server/src/modules/management/console/board",{"_index":3799,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["apps/server/src/modules/management/console/database",{"_index":8844,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["apps/server/src/modules/management/controller/database",{"_index":8872,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts",{"_index":4207,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:11",{"_index":4220,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:21",{"_index":4211,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/management",{"_index":16277,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["apps/server/src/modules/management/management.module.ts",{"_index":16265,"title":{},"body":{"modules/ManagementModule.html":{}}}],["apps/server/src/modules/management/uc/board",{"_index":3825,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["apps/server/src/modules/management/uc/database",{"_index":5198,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["apps/server/src/modules/meta",{"_index":106,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["apps/server/src/modules/news/controller/dto/create",{"_index":8074,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/filter",{"_index":12494,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts",{"_index":16647,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:101",{"_index":16762,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:106",{"_index":16758,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:111",{"_index":16770,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:116",{"_index":16757,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:12",{"_index":16755,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:121",{"_index":16769,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:126",{"_index":16761,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:129",{"_index":16648,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:51",{"_index":16760,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:56",{"_index":16768,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:61",{"_index":16756,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:66",{"_index":16759,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:73",{"_index":16763,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:78",{"_index":16764,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:85",{"_index":16767,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:91",{"_index":16766,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:96",{"_index":16765,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts",{"_index":16861,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts:11",{"_index":16863,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/school",{"_index":20185,"title":{},"body":{"classes/SchoolInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/target",{"_index":21656,"title":{},"body":{"classes/TargetInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts",{"_index":22390,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts:11",{"_index":22391,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/update",{"_index":23515,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/user",{"_index":23784,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts",{"_index":16596,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:26",{"_index":16598,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:40",{"_index":16603,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:61",{"_index":16607,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:71",{"_index":16612,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:89",{"_index":16601,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/team",{"_index":22323,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["apps/server/src/modules/news/loggable/news",{"_index":16638,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts",{"_index":16663,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:10",{"_index":16675,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:39",{"_index":16671,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:53",{"_index":16669,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:66",{"_index":16677,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:75",{"_index":16673,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/school",{"_index":20178,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/target",{"_index":21651,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/user",{"_index":23783,"title":{},"body":{"classes/UserInfoMapper.html":{}}}],["apps/server/src/modules/news/news.module.ts",{"_index":16715,"title":{},"body":{"modules/NewsModule.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts",{"_index":16790,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:113",{"_index":16818,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:139",{"_index":16800,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:14",{"_index":16797,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:150",{"_index":16810,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:170",{"_index":16816,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:188",{"_index":16808,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:198",{"_index":16812,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:30",{"_index":16799,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:58",{"_index":16802,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:91",{"_index":16806,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/oauth",{"_index":187,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcContextResponse.html":{},"classes/RedirectResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/UserParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts",{"_index":1888,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12",{"_index":1895,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16",{"_index":1896,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20",{"_index":1897,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24",{"_index":1898,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8",{"_index":1892,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/stateless",{"_index":20968,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/oauth",{"_index":17636,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apps/server/src/modules/oauth/interface/oauth",{"_index":17058,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["apps/server/src/modules/oauth/loggable/auth",{"_index":1460,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/id",{"_index":13828,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/oauth",{"_index":17244,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/token",{"_index":22976,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/user",{"_index":24187,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["apps/server/src/modules/oauth/mapper/token",{"_index":22978,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["apps/server/src/modules/oauth/oauth",{"_index":17148,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["apps/server/src/modules/oauth/oauth.module.ts",{"_index":17311,"title":{},"body":{"modules/OauthModule.html":{}}}],["apps/server/src/modules/oauth/service/dto/authentication",{"_index":1492,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts",{"_index":7167,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2",{"_index":7171,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4",{"_index":7170,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts",{"_index":13608,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13",{"_index":13612,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15",{"_index":13613,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17",{"_index":13611,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19",{"_index":13614,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21",{"_index":13610,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4",{"_index":13609,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/oauth",{"_index":16983,"title":{},"body":{"classes/OAuthProcessDto.html":{},"interfaces/OauthTokenResponse.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts",{"_index":13625,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:126",{"_index":13637,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:19",{"_index":13632,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:27",{"_index":13646,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:29",{"_index":13639,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:43",{"_index":13645,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:79",{"_index":13642,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:99",{"_index":13635,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/oauth",{"_index":17114,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts",{"_index":16997,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:115",{"_index":17015,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:125",{"_index":17019,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:137",{"_index":17021,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:152",{"_index":17011,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:27",{"_index":17006,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:41",{"_index":17009,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:64",{"_index":17017,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:99",{"_index":17013,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/uc/hydra",{"_index":13557,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["apps/server/src/modules/provisioning/config/provisioning",{"_index":13782,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["apps/server/src/modules/provisioning/dto/external",{"_index":10076,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalUserDto.html":{}}}],["apps/server/src/modules/provisioning/dto/oauth",{"_index":17277,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning",{"_index":18355,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts",{"_index":18261,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2",{"_index":18263,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/loggable/group",{"_index":13030,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/school",{"_index":20142,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/user",{"_index":23779,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/mapper/provisioning",{"_index":18360,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["apps/server/src/modules/provisioning/provisioning",{"_index":18257,"title":{},"body":{"modules/ProvisioningConfigModule.html":{}}}],["apps/server/src/modules/provisioning/provisioning.module.ts",{"_index":18271,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts",{"_index":18305,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:16",{"_index":18326,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:19",{"_index":18314,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:32",{"_index":18325,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:36",{"_index":18318,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:50",{"_index":18316,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:56",{"_index":18323,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:62",{"_index":18320,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts",{"_index":18344,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:5",{"_index":18347,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:7",{"_index":18346,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:9",{"_index":18345,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv",{"_index":14364,"title":{},"body":{"classes/IservMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts",{"_index":14381,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24",{"_index":14385,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67",{"_index":14390,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc",{"_index":17721,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts",{"_index":17862,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9",{"_index":17864,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/service/oidc",{"_index":17732,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis",{"_index":19662,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts",{"_index":19779,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14",{"_index":19782,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20",{"_index":19784,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9",{"_index":19785,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis",{"_index":19788,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts",{"_index":19724,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:114",{"_index":19739,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:118",{"_index":19735,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:130",{"_index":19732,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24",{"_index":19730,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:88",{"_index":19742,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym",{"_index":18426,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts",{"_index":18428,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11",{"_index":18429,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5",{"_index":18430,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8",{"_index":18431,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts",{"_index":18389,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27",{"_index":18394,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/domain/pseudonym",{"_index":18444,"title":{},"body":{"interfaces/PseudonymSearchQuery.html":{}}}],["apps/server/src/modules/pseudonym/entity/external",{"_index":10629,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts",{"_index":18409,"title":{},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18",{"_index":18410,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21",{"_index":18411,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24",{"_index":18412,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts",{"_index":18434,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13",{"_index":18442,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20",{"_index":18440,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6",{"_index":18438,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/loggable/too",{"_index":22990,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts",{"_index":18414,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5",{"_index":18416,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym",{"_index":18385,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym.module.ts",{"_index":18425,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["apps/server/src/modules/pseudonym/repo/external",{"_index":10643,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts",{"_index":18509,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11",{"_index":18515,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22",{"_index":18514,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37",{"_index":18513,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45",{"_index":18511,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66",{"_index":18512,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72",{"_index":18517,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8",{"_index":18510,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83",{"_index":18516,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/service/feathers",{"_index":11353,"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":18445,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100",{"_index":18459,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106",{"_index":18458,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113",{"_index":18473,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12",{"_index":18454,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121",{"_index":18467,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127",{"_index":18466,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133",{"_index":18471,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18",{"_index":18460,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28",{"_index":18461,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51",{"_index":18465,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75",{"_index":18456,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88",{"_index":18469,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94",{"_index":18463,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts",{"_index":18496,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11",{"_index":18498,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18",{"_index":18500,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/registration",{"_index":18894,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["apps/server/src/modules/rocketchat",{"_index":19123,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["apps/server/src/modules/rocketchat/rocket",{"_index":1051,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts",{"_index":19216,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:13",{"_index":19220,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:5",{"_index":19223,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/role.module.ts",{"_index":19232,"title":{},"body":{"modules/RoleModule.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts",{"_index":19211,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:5",{"_index":19213,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:7",{"_index":19214,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:9",{"_index":19212,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/role.service.ts",{"_index":19263,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:10",{"_index":19266,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:13",{"_index":19270,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:18",{"_index":19267,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:24",{"_index":19268,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:30",{"_index":19269,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts",{"_index":19281,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:10",{"_index":19284,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:7",{"_index":19283,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/server/admin",{"_index":1012,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts",{"_index":20550,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts:7",{"_index":20551,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/server.config.ts",{"_index":20504,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apps/server/src/modules/server/server.module.ts",{"_index":20555,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:157",{"_index":20558,"title":{},"body":{"modules/ServerModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:188",{"_index":20632,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:192",{"_index":20633,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/sharing/controller/dto/share",{"_index":20654,"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":20673,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apps/server/src/modules/sharing/domainobject/share",{"_index":20719,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["apps/server/src/modules/sharing/entity/share",{"_index":20639,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["apps/server/src/modules/sharing/mapper/context",{"_index":20670,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/metadata",{"_index":16468,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/parent",{"_index":20761,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/share",{"_index":20755,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["apps/server/src/modules/sharing/repo/share",{"_index":20773,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["apps/server/src/modules/sharing/service/share",{"_index":20805,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["apps/server/src/modules/sharing/service/token",{"_index":22972,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["apps/server/src/modules/sharing/sharing.module.ts",{"_index":20912,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["apps/server/src/modules/sharing/uc/dto/share",{"_index":20747,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{}}}],["apps/server/src/modules/sharing/uc/share",{"_index":20835,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["apps/server/src/modules/system/controller/dto/oauth",{"_index":17248,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/public",{"_index":18526,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/system",{"_index":21559,"title":{},"body":{"classes/SystemIdParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts",{"_index":21552,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:10",{"_index":21557,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:16",{"_index":21555,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/mapper/system",{"_index":21603,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts",{"_index":21443,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:21",{"_index":21456,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:36",{"_index":21461,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:50",{"_index":21450,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/domain/ldap",{"_index":15046,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/modules/system/domain/oauth",{"_index":17190,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts",{"_index":21427,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts:25",{"_index":21429,"title":{},"body":{"classes/System.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts:29",{"_index":21430,"title":{},"body":{"classes/System.html":{}}}],["apps/server/src/modules/system/mapper/system",{"_index":21576,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts",{"_index":21560,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:20",{"_index":21566,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:39",{"_index":21563,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:6",{"_index":21564,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/repo/system",{"_index":21482,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts",{"_index":21597,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:12",{"_index":21600,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:26",{"_index":21599,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:9",{"_index":21598,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/service/dto/oauth",{"_index":17215,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/oidc",{"_index":17667,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts",{"_index":21498,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:10",{"_index":21508,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:12",{"_index":21501,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:14",{"_index":21502,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:16",{"_index":21505,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:18",{"_index":21506,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:20",{"_index":21504,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:22",{"_index":21500,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:6",{"_index":21503,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:8",{"_index":21507,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/legacy",{"_index":15492,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["apps/server/src/modules/system/service/system",{"_index":21589,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts",{"_index":21634,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:10",{"_index":21637,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:16",{"_index":21636,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:7",{"_index":21635,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/system",{"_index":21438,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["apps/server/src/modules/system/system.module.ts",{"_index":21573,"title":{},"body":{"modules/SystemModule.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts",{"_index":21639,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:12",{"_index":21641,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:19",{"_index":21644,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:33",{"_index":21645,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:43",{"_index":21642,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts",{"_index":21347,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:14",{"_index":21354,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:17",{"_index":21357,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:20",{"_index":21356,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:23",{"_index":21353,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:26",{"_index":21355,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:29",{"_index":21358,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:3",{"_index":21352,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:32",{"_index":21348,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:38",{"_index":21349,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts",{"_index":21377,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts:11",{"_index":21378,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task",{"_index":21831,"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":21930,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:22",{"_index":22097,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:26",{"_index":22100,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:29",{"_index":22089,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:32",{"_index":22096,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:36",{"_index":22091,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:39",{"_index":22099,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:42",{"_index":22090,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:49",{"_index":22094,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:52",{"_index":22098,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:55",{"_index":22095,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:58",{"_index":22092,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:61",{"_index":22102,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:64",{"_index":22101,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:67",{"_index":21931,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:9",{"_index":22088,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts",{"_index":22269,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts:11",{"_index":22270,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts",{"_index":21124,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:15",{"_index":21132,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:29",{"_index":21128,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts",{"_index":21781,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:100",{"_index":21790,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:22",{"_index":21791,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:30",{"_index":21794,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:37",{"_index":21796,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:54",{"_index":21799,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:63",{"_index":21802,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:72",{"_index":21805,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:85",{"_index":21788,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts",{"_index":21266,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts:5",{"_index":21269,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/task",{"_index":22167,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts",{"_index":21937,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:40",{"_index":21944,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:55",{"_index":21941,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:7",{"_index":21946,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts",{"_index":21331,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:14",{"_index":21341,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:18",{"_index":21338,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:24",{"_index":21336,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:8",{"_index":21334,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/task",{"_index":21833,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts",{"_index":22151,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:10",{"_index":22153,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:17",{"_index":22160,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:26",{"_index":22155,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:34",{"_index":22157,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:41",{"_index":22159,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/task",{"_index":21775,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["apps/server/src/modules/task/task.module.ts",{"_index":21978,"title":{},"body":{"modules/TaskModule.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts",{"_index":21359,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:15",{"_index":21367,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:24",{"_index":21363,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:41",{"_index":21365,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:9",{"_index":21362,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/task",{"_index":21868,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts",{"_index":22178,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:102",{"_index":22203,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:11",{"_index":22184,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:118",{"_index":22193,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:147",{"_index":22195,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:177",{"_index":22199,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:189",{"_index":22201,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:20",{"_index":22191,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:210",{"_index":22196,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:217",{"_index":22187,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:61",{"_index":22189,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:77",{"_index":22186,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts",{"_index":22375,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:10",{"_index":22383,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:16",{"_index":22381,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:7",{"_index":22379,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/teams",{"_index":22420,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["apps/server/src/modules/teams/teams.module.ts",{"_index":22425,"title":{},"body":{"modules/TeamsModule.html":{}}}],["apps/server/src/modules/tldraw",{"_index":9676,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"modules/TldrawClientModule.html":{}}}],["apps/server/src/modules/tldraw/config.ts",{"_index":22699,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts",{"_index":22718,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19",{"_index":22725,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts",{"_index":22734,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts:11",{"_index":22735,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts",{"_index":22791,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11",{"_index":22797,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18",{"_index":22803,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31",{"_index":22799,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44",{"_index":22801,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/domain/ws",{"_index":24753,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["apps/server/src/modules/tldraw/entities/tldraw",{"_index":22737,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw",{"_index":22626,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts",{"_index":22762,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13",{"_index":22769,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17",{"_index":22767,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6",{"_index":22764,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9",{"_index":22765,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts",{"_index":22773,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:5",{"_index":22775,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:8",{"_index":22777,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts",{"_index":22838,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102",{"_index":22854,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113",{"_index":22858,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14",{"_index":22872,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146",{"_index":22867,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16",{"_index":22871,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18",{"_index":22848,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202",{"_index":22868,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206",{"_index":22851,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27",{"_index":22864,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35",{"_index":22850,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65",{"_index":22861,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85",{"_index":22870,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/testing/test",{"_index":22566,"title":{},"body":{"classes/TestConnection.html":{}}}],["apps/server/src/modules/tldraw/tldraw",{"_index":22786,"title":{},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["apps/server/src/modules/tldraw/tldraw.module.ts",{"_index":22759,"title":{},"body":{"modules/TldrawModule.html":{}}}],["apps/server/src/modules/tool/common/common",{"_index":6081,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["apps/server/src/modules/tool/common/controller/dto/context",{"_index":6727,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["apps/server/src/modules/tool/common/domain/context",{"_index":6718,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["apps/server/src/modules/tool/common/domain/custom",{"_index":8245,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntry.html":{}}}],["apps/server/src/modules/tool/common/entity/custom",{"_index":8288,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["apps/server/src/modules/tool/common/interface/external",{"_index":10994,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{}}}],["apps/server/src/modules/tool/common/interface/tool",{"_index":23485,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["apps/server/src/modules/tool/common/mapper/tool",{"_index":23133,"title":{},"body":{"classes/ToolContextMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["apps/server/src/modules/tool/common/service/common",{"_index":6087,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{}}}],["apps/server/src/modules/tool/common/uc/tool",{"_index":23340,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["apps/server/src/modules/tool/context",{"_index":6682,"title":{},"body":{"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"controllers/ToolContextController.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{}}}],["apps/server/src/modules/tool/external",{"_index":2696,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{}}}],["apps/server/src/modules/tool/school",{"_index":8292,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["apps/server/src/modules/tool/tool",{"_index":1756,"title":{},"body":{"classes/AuthenticationValues.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolFeatures.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PropertyData.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["apps/server/src/modules/tool/tool.module.ts",{"_index":23339,"title":{},"body":{"modules/ToolModule.html":{}}}],["apps/server/src/modules/user",{"_index":4970,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SortImportUserParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["apps/server/src/modules/user/controller/dto/resolved",{"_index":19023,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts",{"_index":4581,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts:8",{"_index":4584,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts",{"_index":21388,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:3",{"_index":21390,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:9",{"_index":21391,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts",{"_index":23595,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:15",{"_index":23602,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:25",{"_index":23599,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/interfaces/user",{"_index":23594,"title":{},"body":{"interfaces/UserConfig.html":{}}}],["apps/server/src/modules/user/mapper/resolved",{"_index":19012,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts",{"_index":24112,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts:5",{"_index":24113,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/service/user.service.ts",{"_index":24277,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:111",{"_index":24304,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:120",{"_index":24285,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:126",{"_index":24286,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:132",{"_index":24295,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:22",{"_index":24283,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:31",{"_index":24301,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:41",{"_index":24299,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:48",{"_index":24297,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:57",{"_index":24289,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:63",{"_index":24290,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:69",{"_index":24306,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:75",{"_index":24308,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:81",{"_index":24292,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:87",{"_index":24288,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:93",{"_index":24287,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:99",{"_index":24294,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts",{"_index":23738,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:21",{"_index":23745,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:23",{"_index":23741,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:25",{"_index":23743,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:27",{"_index":23748,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:29",{"_index":23752,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:31",{"_index":23753,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:33",{"_index":23749,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:35",{"_index":23742,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:37",{"_index":23746,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:39",{"_index":23744,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:4",{"_index":23740,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:42",{"_index":23751,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:44",{"_index":23747,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:46",{"_index":23750,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts",{"_index":24340,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:10",{"_index":24342,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:13",{"_index":24346,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:20",{"_index":24344,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:26",{"_index":24347,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/user",{"_index":23591,"title":{},"body":{"modules/UserApiModule.html":{}}}],["apps/server/src/modules/user/user.module.ts",{"_index":24182,"title":{},"body":{"modules/UserModule.html":{}}}],["apps/server/src/modules/video",{"_index":2138,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/Builder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apps/server/src/shared/common/error/api",{"_index":1352,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts",{"_index":1795,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts:4",{"_index":1797,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts",{"_index":4232,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:12",{"_index":4239,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:15",{"_index":4242,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:18",{"_index":4241,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:21",{"_index":4240,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:25",{"_index":4238,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:47",{"_index":4243,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/entity",{"_index":9928,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["apps/server/src/shared/common/error/forbidden",{"_index":12514,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["apps/server/src/shared/common/error/user",{"_index":23573,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts",{"_index":24353,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts:4",{"_index":24354,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/interceptor/duration",{"_index":9816,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/interfaces/interceptor",{"_index":14333,"title":{},"body":{"interfaces/InterceptorConfig.html":{}}}],["apps/server/src/shared/common/interceptor/request",{"_index":18987,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts",{"_index":22604,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11",{"_index":22608,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14",{"_index":22609,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/loggable",{"_index":16971,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["apps/server/src/shared/common/loggable/referenced",{"_index":18858,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts",{"_index":7158,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts:9",{"_index":7161,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/guard",{"_index":13157,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["apps/server/src/shared/common/utils/sort",{"_index":20936,"title":{},"body":{"classes/SortHelper.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts",{"_index":21018,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:10",{"_index":21021,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:2",{"_index":21023,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts",{"_index":17898,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:14",{"_index":17899,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:8",{"_index":17900,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts",{"_index":17902,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:11",{"_index":17905,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:14",{"_index":17908,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:17",{"_index":17907,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:20",{"_index":17906,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:3",{"_index":17904,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts",{"_index":20946,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:13",{"_index":20947,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:18",{"_index":20949,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/domain/domain",{"_index":1768,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts",{"_index":2434,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts:5",{"_index":2436,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/board/board",{"_index":3059,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts",{"_index":4342,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:11",{"_index":4350,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:15",{"_index":4352,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:19",{"_index":4354,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:23",{"_index":4356,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column",{"_index":5431,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts",{"_index":5422,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:10",{"_index":5426,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:6",{"_index":5425,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/content",{"_index":6393,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["apps/server/src/shared/domain/domainobject/board/drawing",{"_index":9662,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/external",{"_index":10331,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/file",{"_index":11553,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/link",{"_index":15785,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/rich",{"_index":19069,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/submission",{"_index":21091,"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":3113,"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":10124,"title":{},"body":{"classes/ExternalSource.html":{}}}],["apps/server/src/shared/domain/domainobject/legacy",{"_index":15327,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts",{"_index":8215,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:17",{"_index":16125,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:19",{"_index":16134,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:21",{"_index":16121,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:23",{"_index":16132,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:25",{"_index":16122,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:27",{"_index":16123,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:29",{"_index":16124,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:31",{"_index":16130,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:33",{"_index":16131,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:35",{"_index":16129,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:37",{"_index":16116,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:39",{"_index":16120,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:41",{"_index":16119,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:43",{"_index":16128,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:45",{"_index":16126,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:47",{"_index":16117,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:49",{"_index":16133,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:51",{"_index":16127,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:53",{"_index":16118,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:55",{"_index":16115,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:6",{"_index":8218,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:8",{"_index":8217,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts",{"_index":17883,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:2",{"_index":17885,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:4",{"_index":17884,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts",{"_index":18368,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13",{"_index":18370,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17",{"_index":18372,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21",{"_index":18373,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25",{"_index":18374,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29",{"_index":18375,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/role",{"_index":19247,"title":{},"body":{"classes/RoleReference.html":{}}}],["apps/server/src/shared/domain/domainobject/user",{"_index":23895,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts",{"_index":23612,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:11",{"_index":23615,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:13",{"_index":23618,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:15",{"_index":23624,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:17",{"_index":23630,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:19",{"_index":23631,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:21",{"_index":23626,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:23",{"_index":23617,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:25",{"_index":23621,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:27",{"_index":23619,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:29",{"_index":23625,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:31",{"_index":23616,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:33",{"_index":23622,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:35",{"_index":23620,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:37",{"_index":23628,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:39",{"_index":23623,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:41",{"_index":23627,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:43",{"_index":23629,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:45",{"_index":23613,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:7",{"_index":23614,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:9",{"_index":23632,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/video",{"_index":24537,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts",{"_index":207,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:12",{"_index":222,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:15",{"_index":216,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:18",{"_index":218,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:21",{"_index":213,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:24",{"_index":220,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:27",{"_index":217,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:30",{"_index":215,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:33",{"_index":214,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:36",{"_index":212,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts",{"_index":2535,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:11",{"_index":2540,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:24",{"_index":2566,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:27",{"_index":2563,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:30",{"_index":2565,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:33",{"_index":2564,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:36",{"_index":2568,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:8",{"_index":2538,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts",{"_index":3911,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29",{"_index":3915,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32",{"_index":3913,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35",{"_index":3916,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39",{"_index":3919,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42",{"_index":3917,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/card",{"_index":4447,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/column",{"_index":5492,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/drawing",{"_index":9694,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/external",{"_index":10347,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/file",{"_index":11578,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/link",{"_index":15811,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/rich",{"_index":19096,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/submission",{"_index":21109,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/types/board",{"_index":3478,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts",{"_index":7505,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:100",{"_index":7518,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:103",{"_index":7530,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:44",{"_index":24351,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:46",{"_index":24350,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:48",{"_index":24352,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:54",{"_index":7532,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:57",{"_index":7525,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:61",{"_index":7534,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:65",{"_index":7539,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:69",{"_index":7542,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:73",{"_index":7541,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:76",{"_index":7523,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:80",{"_index":7520,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:83",{"_index":7537,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:87",{"_index":7543,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:90",{"_index":7521,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:94",{"_index":7536,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:97",{"_index":7528,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts",{"_index":7774,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:21",{"_index":7777,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:25",{"_index":7782,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:29",{"_index":7776,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:33",{"_index":7780,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts",{"_index":8443,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:100",{"_index":12765,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:108",{"_index":12754,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:117",{"_index":12760,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:138",{"_index":12764,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:14",{"_index":13739,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:142",{"_index":12767,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:16",{"_index":13741,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:161",{"_index":8463,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:163",{"_index":8461,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:165",{"_index":8462,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:167",{"_index":8464,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:169",{"_index":8485,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:176",{"_index":8491,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:18",{"_index":13740,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:180",{"_index":8460,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:193",{"_index":8479,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:197",{"_index":8483,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:20",{"_index":13737,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:201",{"_index":8477,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:213",{"_index":8474,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:22",{"_index":13736,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:221",{"_index":8489,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:231",{"_index":8498,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:24",{"_index":13742,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:240",{"_index":8495,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:255",{"_index":8470,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:266",{"_index":8468,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:272",{"_index":8466,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:278",{"_index":8476,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:286",{"_index":8482,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:298",{"_index":8493,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:307",{"_index":8487,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:38",{"_index":12750,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:40",{"_index":12753,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:42",{"_index":12752,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:52",{"_index":12749,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:60",{"_index":12758,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:64",{"_index":12757,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:68",{"_index":12759,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:72",{"_index":12756,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:76",{"_index":12751,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:78",{"_index":12763,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:8",{"_index":13738,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:82",{"_index":12761,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:86",{"_index":12762,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:90",{"_index":12766,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts",{"_index":8594,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42",{"_index":8601,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45",{"_index":8602,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48",{"_index":8603,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52",{"_index":8600,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56",{"_index":8598,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76",{"_index":8682,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81",{"_index":8684,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/external",{"_index":10129,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/federal",{"_index":7483,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["apps/server/src/shared/domain/entity/import",{"_index":13944,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/legacy",{"_index":2939,"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":6205,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:101",{"_index":15612,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:104",{"_index":15605,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:107",{"_index":15610,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:110",{"_index":15613,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:81",{"_index":15630,"title":{},"body":{"interfaces/LessonParent.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:87",{"_index":15611,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:91",{"_index":15609,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:95",{"_index":15606,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:98",{"_index":15607,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts",{"_index":8142,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:101",{"_index":16096,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:33",{"_index":16103,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:36",{"_index":16114,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:39",{"_index":16099,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:42",{"_index":16112,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:45",{"_index":16100,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:48",{"_index":16101,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:51",{"_index":16102,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:54",{"_index":16108,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:58",{"_index":16111,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:65",{"_index":16107,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:68",{"_index":16093,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:71",{"_index":16098,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:74",{"_index":16097,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:77",{"_index":16092,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:85",{"_index":16104,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:89",{"_index":16094,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:92",{"_index":16113,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:95",{"_index":16105,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:98",{"_index":16095,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts",{"_index":16285,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:31",{"_index":16290,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:34",{"_index":16291,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:37",{"_index":16292,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:40",{"_index":16293,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:43",{"_index":16295,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:46",{"_index":16296,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:49",{"_index":16297,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:52",{"_index":16299,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:55",{"_index":16300,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:58",{"_index":16301,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts",{"_index":7870,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:102",{"_index":20271,"title":{},"body":{"entities/SchoolNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:116",{"_index":7871,"title":{},"body":{"entities/CourseNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:127",{"_index":22322,"title":{},"body":{"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:34",{"_index":16593,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:38",{"_index":16583,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:43",{"_index":16585,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:46",{"_index":16586,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:49",{"_index":16589,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:52",{"_index":16590,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:55",{"_index":16591,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:59",{"_index":16592,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:62",{"_index":16588,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:65",{"_index":16584,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:68",{"_index":16594,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:70",{"_index":16587,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts",{"_index":19197,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:15",{"_index":19198,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:18",{"_index":19199,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:21",{"_index":19201,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts",{"_index":19891,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:105",{"_index":19911,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:108",{"_index":19895,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:111",{"_index":19905,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:50",{"_index":20289,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:53",{"_index":20288,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:59",{"_index":20290,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:62",{"_index":20291,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:69",{"_index":19894,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:72",{"_index":19896,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:75",{"_index":19897,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:78",{"_index":19893,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:81",{"_index":19902,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:84",{"_index":19898,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:87",{"_index":19899,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:90",{"_index":19908,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:93",{"_index":19901,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:96",{"_index":19907,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts",{"_index":20442,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:13",{"_index":20445,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:16",{"_index":20446,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:19",{"_index":20444,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts",{"_index":20997,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:15",{"_index":21000,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:18",{"_index":20999,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:21",{"_index":21002,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:24",{"_index":21001,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts",{"_index":21026,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:30",{"_index":21034,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:34",{"_index":21040,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:37",{"_index":21036,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:40",{"_index":21030,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:43",{"_index":21041,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:46",{"_index":21029,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:49",{"_index":21037,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:52",{"_index":21033,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:55",{"_index":21031,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:58",{"_index":21032,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts",{"_index":15054,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:100",{"_index":15070,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:103",{"_index":15068,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:106",{"_index":15069,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:109",{"_index":15067,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:112",{"_index":15076,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:115",{"_index":15073,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:118",{"_index":15074,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:121",{"_index":15075,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:124",{"_index":15071,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:127",{"_index":15072,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:154",{"_index":17686,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:167",{"_index":17688,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:170",{"_index":17689,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:173",{"_index":17691,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:176",{"_index":17687,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:179",{"_index":17693,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:182",{"_index":17692,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:185",{"_index":17694,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:188",{"_index":17690,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:19",{"_index":17230,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:194",{"_index":21523,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:197",{"_index":21524,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:200",{"_index":21513,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:203",{"_index":21514,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:206",{"_index":21517,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:210",{"_index":21520,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:213",{"_index":21518,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:216",{"_index":21516,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:219",{"_index":21521,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:222",{"_index":21522,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:37",{"_index":17232,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:40",{"_index":17233,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:43",{"_index":17235,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:46",{"_index":17240,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:49",{"_index":17234,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:52",{"_index":17243,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:55",{"_index":17231,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:58",{"_index":17241,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:61",{"_index":17242,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:64",{"_index":17239,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:67",{"_index":17238,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:70",{"_index":17236,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:73",{"_index":17237,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:77",{"_index":15064,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:94",{"_index":15065,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:97",{"_index":15066,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts",{"_index":21657,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:16",{"_index":22272,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:18",{"_index":22271,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:35",{"_index":21979,"title":{},"body":{"interfaces/TaskParent.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:45",{"_index":21668,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:48",{"_index":21662,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:51",{"_index":21663,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:54",{"_index":21658,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:58",{"_index":21664,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:61",{"_index":21669,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:64",{"_index":21670,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:67",{"_index":21674,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:71",{"_index":21661,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:75",{"_index":21659,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:79",{"_index":21671,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:83",{"_index":21667,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:86",{"_index":21673,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:90",{"_index":21665,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts",{"_index":22282,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:19",{"_index":22395,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:27",{"_index":22398,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:30",{"_index":22396,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:33",{"_index":22397,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:36",{"_index":22399,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:40",{"_index":22401,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:44",{"_index":22403,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:48",{"_index":22405,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:56",{"_index":22283,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:59",{"_index":22285,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/user",{"_index":23919,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts",{"_index":23528,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:100",{"_index":23546,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:103",{"_index":23532,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:106",{"_index":23548,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:44",{"_index":23534,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:47",{"_index":23537,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:50",{"_index":23543,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:54",{"_index":23552,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:58",{"_index":23553,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:62",{"_index":23545,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:65",{"_index":23536,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:68",{"_index":23550,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:72",{"_index":23540,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:75",{"_index":23538,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:78",{"_index":23544,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:81",{"_index":23535,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:84",{"_index":23541,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:87",{"_index":23539,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:90",{"_index":23549,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:94",{"_index":23533,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:97",{"_index":23542,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/video",{"_index":24372,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["apps/server/src/shared/domain/interface/base",{"_index":2527,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["apps/server/src/shared/domain/interface/entity.ts",{"_index":9933,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/interface/find",{"_index":13735,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["apps/server/src/shared/domain/interface/learnroom.ts",{"_index":15256,"title":{},"body":{"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts",{"_index":17950,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:17",{"_index":17957,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:26",{"_index":17961,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:51",{"_index":17955,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/types/importuser.types.ts",{"_index":13747,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["apps/server/src/shared/domain/types/news.types.ts",{"_index":8063,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["apps/server/src/shared/domain/types/rich",{"_index":19057,"title":{},"body":{"classes/RichText.html":{}}}],["apps/server/src/shared/domain/types/task.types.ts",{"_index":13791,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["apps/server/src/shared/infra/identity",{"_index":26294,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts",{"_index":2438,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:10",{"_index":2449,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:100",{"_index":2469,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:13",{"_index":2478,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:15",{"_index":2466,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:17",{"_index":2461,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:19",{"_index":2475,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:24",{"_index":2477,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:38",{"_index":2452,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:55",{"_index":2454,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:72",{"_index":2458,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:84",{"_index":2459,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:92",{"_index":2471,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts",{"_index":2635,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:13",{"_index":2644,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:16",{"_index":2649,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:18",{"_index":2645,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:22",{"_index":2648,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:26",{"_index":2646,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:30",{"_index":2647,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts",{"_index":3983,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:12",{"_index":3991,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:18",{"_index":3994,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:26",{"_index":3989,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:39",{"_index":3996,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:8",{"_index":3997,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/contextexternaltool/context",{"_index":6849,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts",{"_index":7917,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:11",{"_index":7971,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:122",{"_index":7929,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:131",{"_index":7932,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:23",{"_index":7974,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:34",{"_index":7973,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:39",{"_index":7970,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:49",{"_index":7972,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:57",{"_index":7933,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:61",{"_index":7923,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:73",{"_index":7925,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:97",{"_index":7927,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts",{"_index":7799,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10",{"_index":7806,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20",{"_index":7802,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27",{"_index":7805,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts",{"_index":8686,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112",{"_index":8709,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128",{"_index":8704,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16",{"_index":8697,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19",{"_index":8715,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24",{"_index":8711,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34",{"_index":8706,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42",{"_index":8717,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51",{"_index":8713,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64",{"_index":8702,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75",{"_index":8719,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95",{"_index":8699,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts",{"_index":8771,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15",{"_index":13731,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16",{"_index":13730,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17",{"_index":13732,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:18",{"_index":13729,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:22",{"_index":8776,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:26",{"_index":8784,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:32",{"_index":8786,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:38",{"_index":8780,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:44",{"_index":8782,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:56",{"_index":8778,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts",{"_index":8434,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts:11",{"_index":8439,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts:15",{"_index":8438,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts:8",{"_index":8436,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/externaltool/external",{"_index":10704,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["apps/server/src/shared/repo/federalstate/federal",{"_index":11494,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts",{"_index":14192,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:13",{"_index":14207,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:29",{"_index":14205,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:36",{"_index":14201,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:54",{"_index":14203,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:71",{"_index":14198,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts",{"_index":14247,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:102",{"_index":14267,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:115",{"_index":14275,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:12",{"_index":14271,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:19",{"_index":14273,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:26",{"_index":14260,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:40",{"_index":14262,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:56",{"_index":14264,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:71",{"_index":14269,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:88",{"_index":14258,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts",{"_index":16153,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:13",{"_index":16158,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:22",{"_index":16160,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:27",{"_index":16157,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9",{"_index":16163,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts",{"_index":16325,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts:7",{"_index":16326,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts",{"_index":16551,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts:6",{"_index":16555,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/news/news",{"_index":16771,"title":{},"body":{"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts",{"_index":16720,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:12",{"_index":16734,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:14",{"_index":16735,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:23",{"_index":16727,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:38",{"_index":16729,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:53",{"_index":16733,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:60",{"_index":16731,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts",{"_index":19250,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:13",{"_index":19258,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:15",{"_index":19254,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:25",{"_index":19256,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:30",{"_index":19253,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:9",{"_index":19259,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/school/legacy",{"_index":15390,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["apps/server/src/shared/repo/schoolexternaltool/school",{"_index":20006,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["apps/server/src/shared/repo/scope.ts",{"_index":20479,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:11",{"_index":20482,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:13",{"_index":20481,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:20",{"_index":20487,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:31",{"_index":20484,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:35",{"_index":20485,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:9",{"_index":20483,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts",{"_index":21013,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12",{"_index":21016,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16",{"_index":21015,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7",{"_index":21014,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts",{"_index":21279,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:11",{"_index":21292,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:22",{"_index":21286,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:31",{"_index":21288,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:36",{"_index":21284,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:42",{"_index":21291,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/system/legacy",{"_index":15469,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system",{"_index":21630,"title":{},"body":{"classes/SystemScope.html":{}}}],["apps/server/src/shared/repo/task/task",{"_index":22117,"title":{},"body":{"classes/TaskScope.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts",{"_index":21980,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:106",{"_index":21989,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:11",{"_index":22000,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:15",{"_index":21999,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:164",{"_index":21995,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:190",{"_index":21997,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:26",{"_index":21987,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:38",{"_index":21993,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts",{"_index":22426,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:13",{"_index":22431,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:36",{"_index":22428,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:43",{"_index":22430,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:9",{"_index":22432,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts",{"_index":20975,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:10",{"_index":20981,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:21",{"_index":20984,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:36",{"_index":20986,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/user/user",{"_index":23652,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts",{"_index":24199,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:13",{"_index":24217,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:150",{"_index":24207,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:158",{"_index":24205,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:165",{"_index":24213,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:172",{"_index":24214,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:184",{"_index":24216,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:188",{"_index":24211,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:28",{"_index":24208,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:40",{"_index":24210,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts",{"_index":24265,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:13",{"_index":24274,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:20",{"_index":24272,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:29",{"_index":24276,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:36",{"_index":24268,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:6",{"_index":24270,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/userloginmigration/user",{"_index":23975,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["apps/server/src/shared/repo/videoconference/video",{"_index":24702,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts",{"_index":500,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:10",{"_index":519,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:16",{"_index":521,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/axios",{"_index":2075,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts",{"_index":2569,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:110",{"_index":2575,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:122",{"_index":2582,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:134",{"_index":2585,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:144",{"_index":2583,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:148",{"_index":2580,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:15",{"_index":2573,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:160",{"_index":2584,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:32",{"_index":2581,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:47",{"_index":2576,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:60",{"_index":2579,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:75",{"_index":2577,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:84",{"_index":2578,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:98",{"_index":2574,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts",{"_index":7751,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:12",{"_index":7755,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:19",{"_index":7756,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:26",{"_index":7758,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:33",{"_index":7761,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts",{"_index":7794,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts:8",{"_index":7795,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/board/column",{"_index":5486,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/do",{"_index":9624,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/domain",{"_index":9632,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/legacy",{"_index":15361,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/context",{"_index":6802,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/external",{"_index":8302,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/school",{"_index":19962,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/external",{"_index":10379,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts",{"_index":11925,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts:10",{"_index":11927,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/h5p",{"_index":13174,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["apps/server/src/shared/testing/factory/import",{"_index":14083,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts",{"_index":8022,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:18",{"_index":14487,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:22",{"_index":14486,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/lesson.factory.ts",{"_index":15615,"title":{},"body":{"classes/LessonFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts",{"_index":16136,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:14",{"_index":16140,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:7",{"_index":16138,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/material.factory.ts",{"_index":16321,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["apps/server/src/shared/testing/factory/readable",{"_index":18582,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["apps/server/src/shared/testing/factory/share",{"_index":20732,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts",{"_index":21148,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:15",{"_index":21153,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:21",{"_index":21152,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:27",{"_index":21155,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:9",{"_index":21151,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts",{"_index":21525,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:13",{"_index":21532,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:34",{"_index":21530,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:46",{"_index":21533,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts",{"_index":21922,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:11",{"_index":21923,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:17",{"_index":21926,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:23",{"_index":21927,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:29",{"_index":21925,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts",{"_index":22297,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:14",{"_index":22303,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:7",{"_index":22301,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts",{"_index":22406,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:19",{"_index":22409,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:9",{"_index":22407,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts",{"_index":22824,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5",{"_index":22830,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9",{"_index":22828,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/user",{"_index":690,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts",{"_index":23730,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts:9",{"_index":23733,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts",{"_index":23760,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:12",{"_index":23771,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:18",{"_index":23769,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:24",{"_index":23766,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:33",{"_index":23767,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:42",{"_index":23765,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/test",{"_index":1603,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["apps\\server\\src\\shared\\testing\\factory",{"_index":26199,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appstartinfo",{"_index":1416,"title":{"interfaces/AppStartInfo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["appstartloggable",{"_index":1425,"title":{"classes/AppStartLoggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["appthis",{"_index":24989,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["arbitrary",{"_index":25989,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["arc",{"_index":2639,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["architectural",{"_index":25807,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["architecture",{"_index":24981,"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":25977,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["archive",{"_index":25602,"title":{},"body":{"license.html":{}}}],["archived",{"_index":7856,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["archivegroup(groupname",{"_index":1126,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["are.claim.values.regex",{"_index":14777,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["area",{"_index":26378,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["areas",{"_index":26068,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["aresubmissionspublic",{"_index":21729,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["arg",{"_index":24854,"title":{},"body":{"dependencies.html":{}}}],["args",{"_index":20535,"title":{},"body":{"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{}}}],["argument",{"_index":1094,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/FilesStorageProducer.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["argumentshost",{"_index":12671,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["arising",{"_index":25566,"title":{},"body":{"license.html":{}}}],["around",{"_index":21893,"title":{},"body":{"injectables/TaskCopyUC.html":{},"todo.html":{}}}],["arrange",{"_index":25483,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["arrangement",{"_index":25493,"title":{},"body":{"license.html":{}}}],["array",{"_index":1835,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"classes/CardIdsParams.html":{},"classes/CardResponse.html":{},"classes/ClassEntityFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/LtiTool.html":{},"classes/PatchOrderParams.html":{},"classes/ReferencesService.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["array(length).keys()].map((_",{"_index":3878,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["array.from(awarenessstates.keys",{"_index":22954,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(classmap.keys",{"_index":4873,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["array.from(controlledids",{"_index":22893,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(modelentity.gridelements).foreach((el",{"_index":8762,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["array.isarray(boardnode",{"_index":3619,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(cardidparams.ids",{"_index":4411,"title":{},"body":{"controllers/CardController.html":{}}}],["array.isarray(collectionnamefilter",{"_index":5272,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["array.isarray(matches",{"_index":13990,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(object",{"_index":13476,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(object.h5p_libraries",{"_index":13477,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(permissions",{"_index":11327,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["array.isarray(props.classnames",{"_index":13978,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(props.rolenames",{"_index":13975,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(requiredpermissions",{"_index":1836,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["array.isarray(t",{"_index":3615,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(user.attributes[attributename",{"_index":14919,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["array.isarray(user.permissions",{"_index":11292,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["array.isarray(value",{"_index":14931,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["arraybuffer",{"_index":10476,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/TldrawWsService.html":{}}}],["arraybufferlike",{"_index":22936,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["arrayminsize",{"_index":19786,"title":{},"body":{"classes/SanisResponse.html":{}}}],["arrayminsize(1",{"_index":19787,"title":{},"body":{"classes/SanisResponse.html":{}}}],["article",{"_index":25216,"title":{},"body":{"license.html":{}}}],["asadmin",{"_index":23761,"title":{},"body":{"classes/UserFactory.html":{}}}],["asadmin(additionalpermissions",{"_index":726,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["asc",{"_index":5340,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FilesRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["asguest",{"_index":2278,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["asguest(isguest",{"_index":24638,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["asguest(value",{"_index":2281,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["ask",{"_index":15688,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["ask_moderator",{"_index":2182,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["asks",{"_index":6286,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["aspnetcore_environment='development",{"_index":26272,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["assert",{"_index":25077,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assets",{"_index":25438,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["assigned",{"_index":3820,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["assignemnt",{"_index":14114,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["assigning",{"_index":25947,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assignment",{"_index":1103,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["assignment,@typescript",{"_index":1100,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["associated",{"_index":22274,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{}}}],["associations",{"_index":506,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["associations(associations",{"_index":535,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["asstudent",{"_index":23762,"title":{},"body":{"classes/UserFactory.html":{}}}],["asstudent(additionalpermissions",{"_index":716,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["assume",{"_index":25557,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["assumption",{"_index":25585,"title":{},"body":{"license.html":{}}}],["assumptions",{"_index":25391,"title":{},"body":{"license.html":{}}}],["asteacher",{"_index":23763,"title":{},"body":{"classes/UserFactory.html":{}}}],["asteacher(additionalpermissions",{"_index":722,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["async",{"_index":317,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["asynchronous",{"_index":26106,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["atm",{"_index":1623,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["attach",{"_index":25591,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["attachment",{"_index":1447,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attachments",{"_index":1449,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attempt",{"_index":25399,"title":{},"body":{"license.html":{}}}],["attempted",{"_index":16526,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["attendee",{"_index":2317,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["attendeepw",{"_index":2159,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["attendees",{"_index":2302,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["attends",{"_index":14113,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["attention",{"_index":26432,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["attribute",{"_index":13934,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["attributename",{"_index":13931,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributes",{"_index":4289,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["attributes.summary",{"_index":4312,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributes['x",{"_index":4311,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributevalue",{"_index":13936,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributions",{"_index":25379,"title":{},"body":{"license.html":{}}}],["aud",{"_index":8023,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["audience",{"_index":1589,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["auf",{"_index":5540,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["autenticationresponse",{"_index":1620,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["auth",{"_index":1171,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"todo.html":{}}}],["auth.guard.ts",{"_index":14438,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["auth.provider",{"_index":11323,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["auth.provider.ts",{"_index":11272,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["auth.provider.ts:14",{"_index":11278,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:17",{"_index":11286,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:27",{"_index":11288,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:39",{"_index":11282,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:56",{"_index":11280,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:61",{"_index":11284,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth_token",{"_index":2295,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["authcode",{"_index":17008,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception",{"_index":1459,"title":{"classes/AuthCodeFailureLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception(error",{"_index":13582,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authcodefailureloggableexception(errorcode",{"_index":17029,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authconfig",{"_index":14444,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.jwtoptions",{"_index":14453,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.secret",{"_index":14452,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authendpoint",{"_index":13700,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["authenticate",{"_index":395,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapService.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt",{"_index":398,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt')@delete(':systemid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21448,"title":{},"body":{"controllers/SystemController.html":{}}}],["authenticate('jwt')@delete('auth/sessions/consent",{"_index":17441,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@delete('clients/:id",{"_index":17416,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('auth/sessions/consent",{"_index":17429,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients",{"_index":17431,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients/:id",{"_index":17424,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('consentrequest/:challenge",{"_index":17419,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('consentrequest/:challenge",{"_index":17434,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('loginrequest/:challenge",{"_index":17437,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('logoutrequest/:challenge",{"_index":17412,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@post('clients",{"_index":17414,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@put('clients/:id",{"_index":17443,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticated",{"_index":358,"title":{},"body":{"controllers/AccountController.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{}}}],["authenticateuser",{"_index":16998,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticateuser(systemid",{"_index":17007,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticating",{"_index":25860,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["authentication",{"_index":1900,"title":{},"body":{"classes/AuthorizationParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"controllers/LoginController.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthClientBody.html":{},"classes/RedirectResponse.html":{},"interfaces/RetryOptions.html":{},"classes/StatelessAuthorizationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["authentication.module",{"_index":1488,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["authentication/authentication",{"_index":22788,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["authentication/authentication.module",{"_index":12562,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["authentication/config/x",{"_index":9359,"title":{},"body":{"modules/DeletionModule.html":{}}}],["authentication/local",{"_index":1615,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationapimodule",{"_index":1480,"title":{"modules/AuthenticationApiModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["authenticationcodegranttokenrequest",{"_index":1491,"title":{"classes/AuthenticationCodeGrantTokenRequest.html":{}},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/TokenRequestMapper.html":{}}}],["authenticationexecutioninforepresentation",{"_index":14670,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationflowrepresentation",{"_index":14672,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationmodule",{"_index":1484,"title":{"modules/AuthenticationModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["authenticationresponse",{"_index":1602,"title":{"interfaces/AuthenticationResponse.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationresponse.accesstoken",{"_index":1685,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationservice",{"_index":1526,"title":{"injectables/AuthenticationService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["authenticationvalues",{"_index":1755,"title":{"classes/AuthenticationValues.html":{}},"body":{"classes/AuthenticationValues.html":{}}}],["authguard",{"_index":9207,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"controllers/LoginController.html":{}}}],["authguard('jwt",{"_index":14439,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["authheader",{"_index":17660,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.split",{"_index":17663,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader?.tolowercase()?.startswith('bearer",{"_index":17662,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["author",{"_index":11724,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["authorcomments",{"_index":6569,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["authoriation",{"_index":26445,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorisation",{"_index":3910,"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":15599,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorisationservice",{"_index":9719,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["authorizable",{"_index":2691,"title":{},"body":{"classes/BaseUc.html":{}}}],["authorizable.service",{"_index":4158,"title":{},"body":{"injectables/BoardUc.html":{}}}],["authorizable.service.ts",{"_index":3442,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:11",{"_index":6716,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:18",{"_index":3447,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:24",{"_index":3448,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:32",{"_index":3450,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:50",{"_index":3452,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:8",{"_index":6715,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.ts",{"_index":3417,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizable.ts:32",{"_index":3420,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:36",{"_index":3422,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:40",{"_index":3424,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizableobject",{"_index":1767,"title":{"interfaces/AuthorizableObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizablereferencetype",{"_index":1953,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.boardnode",{"_index":12398,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.contextexternaltoolentity",{"_index":7108,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.course",{"_index":7734,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.lesson",{"_index":12394,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.school",{"_index":12392,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{}}}],["authorizablereferencetype.submission",{"_index":12396,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.task",{"_index":12387,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.user",{"_index":12390,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizableuser",{"_index":21878,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["authorization",{"_index":1475,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CalendarService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/CourseCopyUC.html":{},"modules/H5PEditorModule.html":{},"modules/ImportUserModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/OauthSSOController.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorization.body.params.ts",{"_index":15040,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:12",{"_index":15044,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:13",{"_index":15841,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:17",{"_index":15041,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:21",{"_index":15042,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:7",{"_index":15043,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:8",{"_index":15842,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.helper",{"_index":1985,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["authorization.module",{"_index":1938,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorization.params",{"_index":17648,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authorization.params.ts",{"_index":20969,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:12",{"_index":20971,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:16",{"_index":20972,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:20",{"_index":20973,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:8",{"_index":20970,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.service",{"_index":1958,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["authorization.service.ts",{"_index":11308,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:16",{"_index":11319,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:32",{"_index":11315,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:54",{"_index":11321,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:6",{"_index":11313,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization_code",{"_index":13704,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{}}}],["authorization_operation",{"_index":1798,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["authorization_timebox_ms",{"_index":14541,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorizationapimodule",{"_index":1923,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorizationcontext",{"_index":1775,"title":{"interfaces/AuthorizationContext.html":{}},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder",{"_index":1780,"title":{"classes/AuthorizationContextBuilder.html":{}},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read",{"_index":18508,"title":{},"body":{"injectables/PseudonymUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_admin",{"_index":7125,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_user",{"_index":23332,"title":{},"body":{"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read([permission.course_edit",{"_index":7747,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["authorizationcontextbuilder.read([permission.filestorage_view",{"_index":26404,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.read([permission.school_system_edit",{"_index":20423,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["authorizationcontextbuilder.read([permission.school_system_view",{"_index":20417,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["authorizationcontextbuilder.read([permission.school_tool_admin",{"_index":10283,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["authorizationcontextbuilder.read([permission.submissions_view",{"_index":21375,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.read([permission.topic_create",{"_index":15597,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorizationcontextbuilder.read([permissions.course_view",{"_index":26401,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write",{"_index":15603,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.change_team_roles",{"_index":5158,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["authorizationcontextbuilder.write([permission.context_tool_admin",{"_index":7106,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["authorizationcontextbuilder.write([permission.course_create",{"_index":7732,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_create",{"_index":26403,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_edit",{"_index":26405,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_remove",{"_index":26406,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.instance",{"_index":26413,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.submissions_edit",{"_index":21372,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.write([permission.system_create",{"_index":21649,"title":{},"body":{"injectables/SystemUc.html":{}}}],["authorizationcontextbuilder.write([permission.topic_view",{"_index":15728,"title":{},"body":{"injectables/LessonUC.html":{}}}],["authorizationcontextbuilder.write([permission.user_login_migration_admin",{"_index":4988,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["authorizationcontextbuilder.write(requiredpermissions",{"_index":20891,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["authorizationerror",{"_index":1794,"title":{"classes/AuthorizationError.html":{}},"body":{"classes/AuthorizationError.html":{}}}],["authorizationhelper",{"_index":1801,"title":{"injectables/AuthorizationHelper.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationloaderservice",{"_index":1845,"title":{"interfaces/AuthorizationLoaderService.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/LessonService.html":{}}}],["authorizationloaderservicegeneric",{"_index":1854,"title":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/GroupService.html":{}}}],["authorizationmodule",{"_index":1856,"title":{"modules/AuthorizationModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/NewsModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationparams",{"_index":1887,"title":{"classes/AuthorizationParams.html":{}},"body":{"classes/AuthorizationParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/OauthSSOController.html":{}}}],["authorizationreferencemodule",{"_index":1903,"title":{"modules/AuthorizationReferenceModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["authorizationreferenceservice",{"_index":1909,"title":{"injectables/AuthorizationReferenceService.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ShareTokenUC.html":{}}}],["authorizations",{"_index":21892,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationservice",{"_index":1862,"title":{"injectables/AuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseExportUc.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PermissionService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationservice.checkpermission",{"_index":11139,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["authorizationurl",{"_index":15151,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["authorize",{"_index":17933,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizeaccess",{"_index":14543,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorized",{"_index":1799,"title":{},"body":{"classes/AuthorizationError.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizes",{"_index":25461,"title":{},"body":{"license.html":{}}}],["authorizing",{"_index":25497,"title":{},"body":{"license.html":{}}}],["authors",{"_index":6570,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"license.html":{}}}],["authparams",{"_index":13596,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authservice",{"_index":5131,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/LoginUc.html":{}}}],["authtoken",{"_index":1112,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["auto",{"_index":2010,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["autocontextidstrategy",{"_index":1999,"title":{"injectables/AutoContextIdStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autocontextnamestrategy",{"_index":2013,"title":{"injectables/AutoContextNameStrategy.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["automated",{"_index":26038,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["automatic",{"_index":25430,"title":{},"body":{"license.html":{}}}],["automatically",{"_index":10599,"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":10586,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameters.includes(customparameter.type",{"_index":10625,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameterstrategy",{"_index":2009,"title":{"interfaces/AutoParameterStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["autoparameterstrategymap",{"_index":2740,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["autoschoolidstrategy",{"_index":2059,"title":{"injectables/AutoSchoolIdStrategy.html":{}},"body":{"injectables/AutoSchoolIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autoschoolnumberstrategy",{"_index":2063,"title":{"injectables/AutoSchoolNumberStrategy.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["avaible",{"_index":1851,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available",{"_index":2543,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FilterImportUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/OauthLoginResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available_languages",{"_index":20512,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{}}}],["availabledate",{"_index":4093,"title":{},"body":{"classes/BoardTaskResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["availableon",{"_index":22047,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["availableschoolexternaltools",{"_index":10201,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availableschoolexternaltools.map",{"_index":10231,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletool",{"_index":10241,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools",{"_index":10214,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["availabletools.filter",{"_index":10240,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools.foreach((externaltool",{"_index":10287,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext",{"_index":10239,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext.foreach((tooltemplateinfo",{"_index":10298,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["avoid",{"_index":1929,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["await",{"_index":657,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["awaited",{"_index":26108,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["awaiting_scan_status",{"_index":11843,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["awaits",{"_index":23353,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["aware",{"_index":9120,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["awareness",{"_index":24755,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awareness(this",{"_index":24778,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenesschangehandler",{"_index":24756,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenessstates",{"_index":22949,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["awarenessstates.size",{"_index":22951,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["away",{"_index":25059,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["aws",{"_index":8999,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"dependencies.html":{}}}],["axios",{"_index":2084,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolLogoService.html":{},"classes/FileDtoBuilder.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TokenRequestLoggableException.html":{},"dependencies.html":{}}}],["axiosconfig",{"_index":13590,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axioserror",{"_index":2082,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserror.cause",{"_index":2107,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserror.status",{"_index":2104,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserrorfactory",{"_index":2074,"title":{"classes/AxiosErrorFactory.html":{}},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorfactory.define",{"_index":2087,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorloggable",{"_index":2096,"title":{"classes/AxiosErrorLoggable.html":{}},"body":{"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserrorloggable:12",{"_index":13552,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axiosheaders",{"_index":2083,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosheaders(props.headers",{"_index":2132,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaderskeyvalue",{"_index":2124,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheadervalue",{"_index":2123,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosrequestconfig",{"_index":4329,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponse",{"_index":2114,"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":2080,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosresponsefactory.build",{"_index":2086,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axiosresponseimp",{"_index":2112,"title":{"classes/AxiosResponseImp.html":{}},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseprops",{"_index":2116,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["aythtoken",{"_index":19157,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["b",{"_index":2995,"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":8517,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["b.position",{"_index":3606,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["b.width",{"_index":16424,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["back",{"_index":568,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["backchannel",{"_index":15994,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["backchannelsupported",{"_index":17718,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["backend",{"_index":24902,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["backendurl",{"_index":10461,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["backendurl}${filledtemplate",{"_index":10465,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["background",{"_index":11859,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup",{"_index":5224,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["backup/idm/keycloak",{"_index":26307,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup/setup/accounts.json",{"_index":14595,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["backup/setup/users.json",{"_index":14596,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["bad",{"_index":2091,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["badgatewayexception",{"_index":9094,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:executedeletions",{"_index":9130,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:queuedeletionrequest",{"_index":9125,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badrequest",{"_index":2092,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/TaskCopyUC.html":{}}}],["badrequestexception",{"_index":2953,"title":{},"body":{"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/DashboardEntity.html":{},"classes/ErrorMapper.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"interfaces/ParentInfo.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["badrequestexception('dashboard",{"_index":8538,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('destination",{"_index":20882,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["badrequestexception('elements",{"_index":2989,"title":{},"body":{"entities/Board.html":{}}}],["badrequestexception('language",{"_index":24336,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["badrequestexception('this",{"_index":8525,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('tldraw",{"_index":22748,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["badrequestexception(`cannot",{"_index":3101,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(`invalid",{"_index":3099,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(errorobj.message",{"_index":10018,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["badrequestexception(errortype.file_name_empty",{"_index":11891,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["badrequestexception})@apiresponse({status",{"_index":13278,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["badrequestloggableexception",{"_index":26022,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["base",{"_index":2140,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BaseDORepo.html":{},"classes/BusinessError.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchulConneXProvisioningOptions.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":8220,"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":15403,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["base.do.repo.ts",{"_index":2562,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["base.entity",{"_index":226,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["base.factory",{"_index":576,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["base.factory.ts",{"_index":9625,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["base.interface.strategy",{"_index":16907,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["base.repo",{"_index":3998,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FederalStateRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{}}}],["base.response",{"_index":2253,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{}}}],["base.response.ts",{"_index":2150,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["base.strategy",{"_index":14400,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["base.uc",{"_index":4159,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["base64",{"_index":10468,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"dependencies.html":{}}}],["base64content",{"_index":1443,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["base64logo",{"_index":10472,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["base_string",{"_index":16031,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["base_url",{"_index":18965,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["based",{"_index":2570,"title":{},"body":{"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["basedir",{"_index":5229,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["basedo",{"_index":1852,"title":{"classes/BaseDO.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LtiToolDO.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["basedo:5",{"_index":6696,"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":2526,"title":{"classes/BaseDomainObject.html":{}},"body":{"classes/BaseDomainObject.html":{}}}],["basedorepo",{"_index":2437,"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:100",{"_index":6881,"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:117",{"_index":6876,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:127",{"_index":23664,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:19",{"_index":6883,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:21",{"_index":20780,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:24",{"_index":6884,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:33",{"_index":24707,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:34",{"_index":23980,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:38",{"_index":6878,"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:39",{"_index":16162,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:40",{"_index":15400,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:43",{"_index":20779,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:46",{"_index":23662,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:49",{"_index":23979,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:52",{"_index":6869,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:55",{"_index":6879,"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:57",{"_index":15399,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:65",{"_index":16161,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:67",{"_index":20019,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:72",{"_index":6880,"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:77",{"_index":20018,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:81",{"_index":10717,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:84",{"_index":10718,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:87",{"_index":10716,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:92",{"_index":6882,"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:93",{"_index":23665,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:96",{"_index":6877,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["baseentity",{"_index":2482,"title":{"classes/BaseEntity.html":{}},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["baseentityproperties",{"_index":2483,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["baseentityproperties.includes(key",{"_index":2519,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["baseentityreference",{"_index":2545,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["baseentitywithtimestamps",{"_index":225,"title":{"classes/BaseEntityWithTimestamps.html":{}},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["basefactory",{"_index":501,"title":{"classes/BaseFactory.html":{}},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory.define",{"_index":2136,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["basefactory.define(readablestreamwithfiletypeimp",{"_index":18592,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["basefactory:110",{"_index":536,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:122",{"_index":565,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:134",{"_index":573,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:14",{"_index":9634,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["basefactory:144",{"_index":566,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:148",{"_index":553,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:15",{"_index":517,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:160",{"_index":570,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:32",{"_index":558,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:47",{"_index":542,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:60",{"_index":549,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:7",{"_index":4698,"title":{},"body":{"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/UserDoFactory.html":{}}}],["basefactory:75",{"_index":545,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:84",{"_index":547,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:98",{"_index":524,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["baseimports",{"_index":16272,"title":{},"body":{"modules/ManagementModule.html":{}}}],["basename",{"_index":132,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basename(urlobject.pathname",{"_index":156,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basepath",{"_index":1420,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/CollectionFilePath.html":{}}}],["basepermission",{"_index":26434,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["baseprovisioningoptions",{"_index":2614,"title":{"classes/BaseProvisioningOptions.html":{}},"body":{"classes/BaseProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["baseprovisioningoptions:14",{"_index":20468,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["baseprovisioningoptions:4",{"_index":20469,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["baserepo",{"_index":728,"title":{"injectables/BaseRepo.html":{}},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:14",{"_index":7804,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["baserepo:15",{"_index":21289,"title":{},"body":{"injectables/SubmissionRepo.html":{},"injectables/TeamsRepo.html":{}}}],["baserepo:17",{"_index":14199,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:18",{"_index":760,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:20",{"_index":15638,"title":{},"body":{"injectables/LessonRepo.html":{},"injectables/RoleRepo.html":{}}}],["baserepo:22",{"_index":765,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:26",{"_index":762,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:30",{"_index":763,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["baserepo:33",{"_index":3992,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["baserepo:65",{"_index":7930,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["baseresponsemapper",{"_index":2653,"title":{"interfaces/BaseResponseMapper.html":{}},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["baseroute",{"_index":1628,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["baseuc",{"_index":2663,"title":{"classes/BaseUc.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:13",{"_index":4154,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:29",{"_index":4156,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:45",{"_index":4155,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseurl",{"_index":2333,"title":{},"body":{"injectables/BBBService.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"interfaces/LibrariesContentType.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["baseurl.com",{"_index":8315,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["bash",{"_index":26257,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["basic",{"_index":14709,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["basically",{"_index":18888,"title":{},"body":{"classes/ReferencesService.html":{}}}],["basictoolconfig",{"_index":2695,"title":{"classes/BasicToolConfig.html":{}},"body":{"classes/BasicToolConfig.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfig(props.config",{"_index":10166,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["basictoolconfigdto",{"_index":10836,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["basictoolconfigentity",{"_index":2708,"title":{"classes/BasicToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["basictoolconfigfactory",{"_index":8312,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigfactory.build",{"_index":8359,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigparams",{"_index":2717,"title":{"classes/BasicToolConfigParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["basictoolconfigresponse",{"_index":2727,"title":{"classes/BasicToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["basictoollaunchstrategy",{"_index":2735,"title":{"injectables/BasicToolLaunchStrategy.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["batch",{"_index":2873,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["batchcounter",{"_index":9005,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["batchdeletionservice",{"_index":2815,"title":{"injectables/BatchDeletionService.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{}}}],["batchdeletionsummary",{"_index":2865,"title":{"interfaces/BatchDeletionSummary.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder",{"_index":2875,"title":{"classes/BatchDeletionSummaryBuilder.html":{}},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder.build(endtime",{"_index":2933,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarydetail",{"_index":2872,"title":{"interfaces/BatchDeletionSummaryDetail.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["batchdeletionsummarydetailbuilder",{"_index":2886,"title":{"classes/BatchDeletionSummaryDetailBuilder.html":{}},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus",{"_index":2880,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus.failure",{"_index":2882,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["batchdeletionuc",{"_index":2890,"title":{"injectables/BatchDeletionUc.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["batchsize",{"_index":8961,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["bbb",{"_index":2154,"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":2137,"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":2178,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["bbbbaseresponse",{"_index":2148,"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":2156,"title":{"classes/BBBCreateConfig.html":{}},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbcreateconfigbuilder",{"_index":2200,"title":{"classes/BBBCreateConfigBuilder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["bbbcreateresponse",{"_index":2242,"title":{"interfaces/BBBCreateResponse.html":{}},"body":{"interfaces/BBBCreateResponse.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfig",{"_index":2254,"title":{"classes/BBBJoinConfig.html":{}},"body":{"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfigbuilder",{"_index":2276,"title":{"classes/BBBJoinConfigBuilder.html":{}},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["bbbjoinresponse",{"_index":2293,"title":{"interfaces/BBBJoinResponse.html":{}},"body":{"interfaces/BBBJoinResponse.html":{}}}],["bbbmeetinginforesponse",{"_index":2299,"title":{"interfaces/BBBMeetingInfoResponse.html":{}},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbresp",{"_index":2399,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.message",{"_index":2405,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.returncode",{"_index":2402,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresponse",{"_index":2324,"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":2223,"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":2237,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.viewer",{"_index":2239,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbservice",{"_index":2326,"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":2408,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:end",{"_index":2414,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:getmeetinginfo",{"_index":2416,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbsettings",{"_index":2340,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbstatus",{"_index":2153,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/BBBService.html":{}}}],["bbbstatus.success",{"_index":2403,"title":{},"body":{"injectables/BBBService.html":{}}}],["bc",{"_index":1946,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bcc",{"_index":1457,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["bcrypt",{"_index":923,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LocalStrategy.html":{}}}],["bcrypt.compare(comparepassword",{"_index":959,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcrypt.compare(enteredpassword",{"_index":15871,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["bcrypt.hash(password",{"_index":963,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcryptjs",{"_index":924,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/LocalStrategy.html":{},"dependencies.html":{}}}],["bearer",{"_index":1613,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TestApiClient.html":{}}}],["become",{"_index":76,"title":{},"body":{"classes/AbstractAccountService.html":{},"license.html":{}}}],["becomes",{"_index":25098,"title":{},"body":{"license.html":{}}}],["becoming",{"_index":26372,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["beetween",{"_index":4662,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["before",{"_index":409,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"entities/CourseNews.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beforeall",{"_index":26157,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeall(async",{"_index":26135,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeeach",{"_index":26158,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforehand",{"_index":9101,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application.html":{}}}],["begin",{"_index":9122,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionQueueConsole.html":{}}}],["beginning",{"_index":25015,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["behalf",{"_index":25199,"title":{},"body":{"license.html":{}}}],["behaves",{"_index":26023,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["behavior",{"_index":803,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["behaviour",{"_index":5301,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["behind",{"_index":22606,"title":{},"body":{"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["being",{"_index":2587,"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":25491,"title":{},"body":{"license.html":{}}}],["belong",{"_index":4509,"title":{},"body":{"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["belongs",{"_index":6343,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["below",{"_index":25205,"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":25083,"title":{},"body":{"license.html":{}}}],["ber",{"_index":5585,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["berechtigungen",{"_index":5568,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["beside",{"_index":25716,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["best",{"_index":25588,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["better",{"_index":25604,"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":11357,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["between",{"_index":612,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beware",{"_index":25830,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["beyond",{"_index":25270,"title":{},"body":{"license.html":{}}}],["bezeichnung",{"_index":19671,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["big",{"_index":25819,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bigbluebutton",{"_index":24479,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["bigbluebutton/api/${callname",{"_index":2431,"title":{},"body":{"injectables/BBBService.html":{}}}],["binary",{"_index":7276,"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":11794,"title":{},"body":{"classes/FileParams.html":{}}}],["bind",{"_index":15204,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["binding",{"_index":15249,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["bindstate",{"_index":22816,"title":{},"body":{"classes/TldrawWs.html":{}}}],["birthday",{"_index":11258,"title":{},"body":{"classes/ExternalUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["birthtime",{"_index":11689,"title":{},"body":{"classes/FileMetadata.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["blackbox",{"_index":26046,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["block",{"_index":26080,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["blocked",{"_index":7208,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["blocklist_of_email_domains",{"_index":16220,"title":{},"body":{"interfaces/MailConfig.html":{},"interfaces/ServerConfig.html":{}}}],["blocks",{"_index":26049,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["blti",{"_index":5929,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_bundle",{"_index":5936,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_icon",{"_index":5938,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["bn",{"_index":3613,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["bn.type",{"_index":3617,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["board",{"_index":2051,"title":{"entities/Board.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/CourseCopyService.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MoveColumnBodyParams.html":{},"injectables/NexboardService.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["board.'})@apiresponse({status",{"_index":3213,"title":{},"body":{"controllers/BoardController.html":{}}}],["board.accept(visitor",{"_index":5483,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["board.children.map((column",{"_index":4031,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.context",{"_index":4164,"title":{},"body":{"injectables/BoardUc.html":{}}}],["board.context.type",{"_index":2053,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["board.createdat",{"_index":4037,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.displaycolor",{"_index":19304,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.do",{"_index":3156,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["board.do.factory.ts",{"_index":5487,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.factory.ts:10",{"_index":5489,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.ts",{"_index":5432,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["board.do.ts:10",{"_index":5436,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:14",{"_index":5438,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:18",{"_index":5440,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:6",{"_index":5435,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.elements.foreach((element",{"_index":19306,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.getbytargetid(elementid",{"_index":19464,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.id",{"_index":3870,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{}}}],["board.isarchived",{"_index":19305,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.module",{"_index":3035,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["board.references.getitems",{"_index":4007,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.references.init",{"_index":4006,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.reorderelements(orderedlist",{"_index":19467,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.repo.ts",{"_index":22627,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:11",{"_index":22652,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:13",{"_index":22650,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:15",{"_index":22653,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:17",{"_index":22655,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:19",{"_index":22637,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:21",{"_index":22651,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:38",{"_index":22641,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:46",{"_index":22649,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:53",{"_index":22645,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:68",{"_index":22639,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.response",{"_index":3768,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.response.ts",{"_index":3043,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:15",{"_index":3049,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:19",{"_index":3052,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:22",{"_index":3050,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:25",{"_index":3048,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:28",{"_index":3053,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:31",{"_index":3047,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:4",{"_index":3046,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.roomid",{"_index":19303,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.service.ts",{"_index":5505,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:145",{"_index":5514,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:20",{"_index":5510,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:27",{"_index":5523,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:33",{"_index":5524,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:39",{"_index":5521,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:52",{"_index":5526,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:57",{"_index":5512,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:72",{"_index":5519,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:76",{"_index":5529,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:81",{"_index":5516,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.syncboardelementreferences(boardelementtargets",{"_index":19436,"title":{},"body":{"injectables/RoomsService.html":{}}}],["board.title",{"_index":4030,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardService.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.types",{"_index":9758,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["board.updatedat",{"_index":4036,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board/board",{"_index":3042,"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":2940,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:29",{"_index":2945,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:32",{"_index":2949,"title":{},"body":{"entities/Board.html":{}}}],["board/board.response.ts",{"_index":20919,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:19",{"_index":20924,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:25",{"_index":20925,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:30",{"_index":20921,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:36",{"_index":20922,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:41",{"_index":20923,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:6",{"_index":20920,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/boardelement.entity.ts",{"_index":3748,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:26",{"_index":3751,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:30",{"_index":3749,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/column",{"_index":5598,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{}}}],["board/lesson",{"_index":15553,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["board/task",{"_index":21779,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardapimodule",{"_index":3020,"title":{"modules/BoardApiModule.html":{}},"body":{"modules/BoardApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["boardauthorizable",{"_index":21255,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardauthorizable.users.filter((user",{"_index":21257,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardcolumnboardresponse",{"_index":3040,"title":{"classes/BoardColumnBoardResponse.html":{}},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardcomposite",{"_index":3058,"title":{"classes/BoardComposite.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcomposite:13",{"_index":9666,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:14",{"_index":5424,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:17",{"_index":9664,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:19",{"_index":4346,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:21",{"_index":9665,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{}}}],["boardcomposite:22",{"_index":5434,"title":{},"body":{"classes/ColumnBoard.html":{},"classes/RichTextElement.html":{}}}],["boardcomposite:23",{"_index":5423,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:25",{"_index":11554,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:26",{"_index":19070,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:27",{"_index":4345,"title":{},"body":{"classes/Card.html":{},"classes/ColumnBoard.html":{}}}],["boardcomposite:29",{"_index":11555,"title":{},"body":{"classes/FileElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:30",{"_index":19071,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:31",{"_index":5433,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:33",{"_index":21165,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:35",{"_index":4348,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:37",{"_index":15788,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:38",{"_index":4343,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:39",{"_index":4347,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:41",{"_index":15786,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:42",{"_index":4344,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:45",{"_index":15787,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcompositeprops",{"_index":3112,"title":{"interfaces/BoardCompositeProps.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcompositevisitor",{"_index":3069,"title":{"interfaces/BoardCompositeVisitor.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["boardcompositevisitorasync",{"_index":3073,"title":{"interfaces/BoardCompositeVisitorAsync.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcontext",{"_index":3256,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse",{"_index":3192,"title":{"classes/BoardContextResponse.html":{}},"body":{"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{}}}],["boardcontextresponse(boardcontext",{"_index":3258,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse})@apiresponse({status",{"_index":3226,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontroller",{"_index":3030,"title":{"controllers/BoardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{}}}],["boardcopy",{"_index":3334,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyparams",{"_index":3290,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyservice",{"_index":3270,"title":{"injectables/BoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{}}}],["boarddo",{"_index":2678,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["boarddo.children.foreach((child",{"_index":21418,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["boarddo.id",{"_index":3458,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["boarddoauthorizable",{"_index":2682,"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":2684,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find",{"_index":3720,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find((u",{"_index":2687,"title":{},"body":{"classes/BaseUc.html":{}}}],["boarddoauthorizableprops",{"_index":3437,"title":{"interfaces/BoardDoAuthorizableProps.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizableservice",{"_index":2668,"title":{"injectables/BoardDoAuthorizableService.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boarddobuilder",{"_index":3477,"title":{"interfaces/BoardDoBuilder.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boarddobuilderimpl",{"_index":3522,"title":{"classes/BoardDoBuilderImpl.html":{}},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(children).builddomainobject(boardnode",{"_index":3686,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(descendants).builddomainobject(boardnode",{"_index":3677,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddocopyparams",{"_index":3626,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["boarddocopyservice",{"_index":3623,"title":{"injectables/BoardDoCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["boarddorepo",{"_index":3446,"title":{"injectables/BoardDoRepo.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["boarddorule",{"_index":1865,"title":{"injectables/BoardDoRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/BoardDoRule.html":{},"injectables/RuleManager.html":{}}}],["boarddos",{"_index":4545,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddos.map((boarddo",{"_index":4569,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddoservice",{"_index":3725,"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":2961,"title":{"entities/BoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boardelement.entity",{"_index":2963,"title":{},"body":{"entities/Board.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts",{"_index":15554,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts:13",{"_index":15556,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["boardelement.entity.ts:16",{"_index":21780,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardelement.ts",{"_index":5724,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelement.ts:13",{"_index":5726,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelementprops",{"_index":3754,"title":{},"body":{"entities/BoardElement.html":{}}}],["boardelementreference",{"_index":2962,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{}}}],["boardelementresponse",{"_index":3758,"title":{"classes/BoardElementResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["boardelements",{"_index":3295,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelements.map((element",{"_index":3347,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelementservice",{"_index":23341,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardelementtarget",{"_index":3018,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets",{"_index":19435,"title":{},"body":{"injectables/RoomsService.html":{}}}],["boardelementtargets.filter(isnotcontained).map(maptoboardelement",{"_index":3014,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets.includes(ref.target",{"_index":3004,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtype",{"_index":3325,"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":3359,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.lesson",{"_index":3356,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.task",{"_index":3352,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardexternalreference",{"_index":3659,"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":2031,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/RoomsService.html":{}}}],["boardexternalreferencetype.course",{"_index":2054,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/RoomsService.html":{}}}],["boardid",{"_index":3821,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardUc.html":{},"classes/BoardUrlParams.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["boardids",{"_index":5527,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["boardlessonresponse",{"_index":3762,"title":{"classes/BoardLessonResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardmanagementconsole",{"_index":3798,"title":{"classes/BoardManagementConsole.html":{}},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["boardmanagementuc",{"_index":3804,"title":{"injectables/BoardManagementUc.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ManagementModule.html":{}}}],["boardmodule",{"_index":1932,"title":{"modules/BoardModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{}}}],["boardnode",{"_index":3467,"title":{"entities/BoardNode.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"interfaces/CopyFileDO.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/FileDO.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.alternativetext",{"_index":3584,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.ancestorids",{"_index":3702,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.caption",{"_index":3582,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.completed",{"_index":3596,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.context",{"_index":3569,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.contextexternaltool?.id",{"_index":3599,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.createdat",{"_index":3567,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.description",{"_index":3591,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.duedate",{"_index":3594,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.entity",{"_index":4450,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.foreach((bn",{"_index":3620,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.height",{"_index":3579,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.id",{"_index":3565,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnode.imageurl",{"_index":3587,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.inputformat",{"_index":3590,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.joinpath(props.parent.path",{"_index":3927,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.joinpath(this.path",{"_index":3939,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.parentid",{"_index":3699,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.text",{"_index":3588,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.title",{"_index":3566,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.updatedat",{"_index":3568,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.url",{"_index":3585,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.usedobuilder(this",{"_index":3560,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.userid",{"_index":3597,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnodeauthorizableservice",{"_index":18821,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["boardnodeprops",{"_index":3922,"title":{"interfaces/BoardNodeProps.html":{}},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnoderepo",{"_index":3645,"title":{"injectables/BoardNodeRepo.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnodes",{"_index":3681,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["boardnodes.map((boardnode",{"_index":3684,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.map((o",{"_index":3696,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.reduce((map",{"_index":3688,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodetype",{"_index":3549,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnodetype.card",{"_index":3570,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["boardnodetype.column",{"_index":3562,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{}}}],["boardnodetype.column_board",{"_index":5497,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["boardnodetype.drawing_element",{"_index":3575,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["boardnodetype.external_tool",{"_index":3577,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["boardnodetype.file_element",{"_index":3572,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["boardnodetype.link_element",{"_index":3573,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["boardnodetype.rich_text_element",{"_index":3574,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["boardnodetype.submission_container_element",{"_index":3576,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["boardnodetype.submission_item",{"_index":3592,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardprops",{"_index":2970,"title":{},"body":{"entities/Board.html":{}}}],["boardrepo",{"_index":3283,"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":3243,"title":{"classes/BoardResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper",{"_index":3247,"title":{"classes/BoardResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper.maptoresponse(board",{"_index":3254,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardresponse})@apiresponse({status",{"_index":3231,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardroles",{"_index":3425,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"interfaces/UserBoardRoles.html":{}}}],["boardroles.editor",{"_index":3471,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boardroles.reader",{"_index":3476,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boards",{"_index":3204,"title":{},"body":{"controllers/BoardController.html":{},"injectables/ColumnBoardService.html":{}}}],["boardservice",{"_index":23342,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardstatus",{"_index":3315,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["boardstatus.elements",{"_index":3392,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardsubmissioncontroller",{"_index":3034,"title":{"controllers/BoardSubmissionController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["boardtask",{"_index":19312,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.availabledate",{"_index":19327,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.course",{"_index":19323,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.createdat",{"_index":19320,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.description",{"_index":19333,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.duedate",{"_index":19329,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.getparentdata",{"_index":19314,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.id",{"_index":19318,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.name",{"_index":19319,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.updatedat",{"_index":19321,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc",{"_index":19313,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc.color",{"_index":19331,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskresponse",{"_index":3761,"title":{"classes/BoardTaskResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatus",{"_index":19315,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper",{"_index":4108,"title":{"classes/BoardTaskStatusMapper.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper.maptoresponse(status",{"_index":19316,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusresponse",{"_index":4104,"title":{"classes/BoardTaskStatusResponse.html":{}},"body":{"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{}}}],["boardtaskstatusresponse(status",{"_index":4114,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["boarduc",{"_index":3024,"title":{"injectables/BoardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["boardurlhandler",{"_index":4172,"title":{"injectables/BoardUrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["boardurlparams",{"_index":3211,"title":{"classes/BoardUrlParams.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardUrlParams.html":{}}}],["boardvalue",{"_index":2044,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["bodies",{"_index":1217,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["body",{"_index":379,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"controllers/SchoolController.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":13337,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.code",{"_index":23893,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.create",{"_index":22355,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.delete",{"_index":22356,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.destinationcourseid",{"_index":20717,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.expiresindays",{"_index":20706,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.library",{"_index":13361,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.mandatory",{"_index":23887,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.newname",{"_index":20716,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.params.metadata",{"_index":13360,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.params.params",{"_index":13359,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.parentid",{"_index":13363,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.parenttype",{"_index":13362,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.read",{"_index":22357,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.redirecturi",{"_index":23894,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.schoolexclusive",{"_index":20705,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.session",{"_index":17398,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["body.share",{"_index":22358,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.systemid",{"_index":23892,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.write",{"_index":22359,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["bodyparams",{"_index":3235,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["bodyparams.completed",{"_index":4084,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.data.content",{"_index":9865,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.height",{"_index":4423,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.title",{"_index":3263,"title":{},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["bodyparams.toboardid",{"_index":5662,"title":{},"body":{"controllers/ColumnController.html":{}}}],["bodyparams.tocardid",{"_index":9861,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.tocolumnid",{"_index":4419,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.toposition",{"_index":4420,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.url",{"_index":16350,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["bodyproperties",{"_index":2803,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["bom",{"_index":24957,"title":{},"body":{"dependencies.html":{}}}],["boolean",{"_index":122,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseProvisioningOptions.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoRule.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementModule.html":{},"interfaces/Meta.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSystemOptionsRule.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["boolean(options.verbose",{"_index":4962,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["bootstrap",{"_index":258,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bootstrap.boot([process.argv0",{"_index":22564,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts",{"_index":22547,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts:8",{"_index":22549,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrapconsole",{"_index":22556,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstraps",{"_index":26133,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["both",{"_index":25524,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bound",{"_index":15832,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["box",{"_index":26129,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["branch",{"_index":984,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["break",{"_index":5953,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["breaking",{"_index":26363,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["breakout",{"_index":2303,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["breakoutrooms",{"_index":2304,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["bring",{"_index":8016,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["broadcast",{"_index":1070,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["broken",{"_index":25827,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["broker",{"_index":14685,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["brokerconfig",{"_index":15536,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["brokering",{"_index":26264,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["browse",{"_index":25781,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["brute",{"_index":73,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{}}}],["bruteforceerror",{"_index":1720,"title":{"classes/BruteForceError.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["bruteforceerror(timetowait",{"_index":1747,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["bson",{"_index":574,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/BaseRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BsonConverter.html":{},"injectables/CardService.html":{},"classes/ClassEntityFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"injectables/DashboardElementRepo.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"dependencies.html":{}}}],["bson/ejson",{"_index":4218,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["bsonconverter",{"_index":4206,"title":{"injectables/BsonConverter.html":{}},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["bsondocuments",{"_index":4217,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["btw",{"_index":2559,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bucket",{"_index":7309,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buckets",{"_index":26492,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buff",{"_index":24773,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["buffer",{"_index":8027,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"classes/JwtTestFactory.html":{}}}],["buffer.from(externaltool.logo",{"_index":10467,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(manifest",{"_index":5907,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(newresource.content",{"_index":5889,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(resource.content",{"_index":5894,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(response.data",{"_index":10479,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(tool.logo",{"_index":10488,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.length",{"_index":10469,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.tostring('base64",{"_index":10481,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["bufferencoding",{"_index":12152,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["bug",{"_index":22289,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["bugs",{"_index":25614,"title":{},"body":{"properties.html":{}}}],["build",{"_index":507,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/Builder.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileResponseBuilder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/ToolPermissionHelper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["build(domain",{"_index":9346,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["build(executiontimemilliseconds",{"_index":2878,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["build(file",{"_index":12049,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["build(id",{"_index":7299,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["build(input",{"_index":2888,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["build(limit",{"_index":23496,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["build(name",{"_index":11537,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["build(params",{"_index":538,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["build(props",{"_index":20302,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["build(refsfilepath",{"_index":18541,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["build(requestid",{"_index":9480,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["build(requiredpermissions",{"_index":1785,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["build(schoolid",{"_index":11788,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["build(status",{"_index":9182,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["build(targetref",{"_index":9464,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["build(targetrefdomain",{"_index":9446,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["build(type",{"_index":6401,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["build(userid",{"_index":7323,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["buildaccount",{"_index":23578,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildaccount(user",{"_index":709,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin",{"_index":723,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin(params",{"_index":23581,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildcard",{"_index":3480,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcard(boardnode",{"_index":3490,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren",{"_index":3527,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren(boardnode",{"_index":3535,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn",{"_index":3481,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn(boardnode",{"_index":3493,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard",{"_index":3482,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard(boardnode",{"_index":3496,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcopyentitydict",{"_index":7388,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["buildcopyentitydict(status",{"_index":7391,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["builddomainobject",{"_index":3528,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["builddomainobject(boardnode",{"_index":3539,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddomainobject(entity",{"_index":20355,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["builddrawing",{"_index":6395,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["builddrawingelement",{"_index":3483,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddrawingelement(boardnode",{"_index":3499,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddtowithelements",{"_index":9721,"title":{},"body":{"classes/DtoCreator.html":{}}}],["builddtowithelements(elements",{"_index":9735,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["builder",{"_index":2203,"title":{"classes/Builder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/Builder.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["builder.addorganization",{"_index":5792,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.build",{"_index":5787,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.buildcard(this",{"_index":4454,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["builder.buildcolumn(this",{"_index":5670,"title":{},"body":{"entities/ColumnNode.html":{}}}],["builder.buildcolumnboard(this",{"_index":5504,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["builder.builddrawingelement(this",{"_index":9697,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["builder.buildexternaltoolelement(this",{"_index":10354,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["builder.buildfileelement(this",{"_index":11583,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["builder.buildlinkelement(this",{"_index":15815,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["builder.buildrichtextelement(this",{"_index":19101,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["builder.buildsubmissioncontainerelement(this",{"_index":21112,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["builder.buildsubmissionitem(this",{"_index":21198,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["builder.ts",{"_index":5847,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:24",{"_index":13725,"title":{},"body":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:28",{"_index":13722,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:30",{"_index":13723,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:32",{"_index":13724,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:35",{"_index":6012,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:42",{"_index":6015,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:46",{"_index":6017,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:52",{"_index":6013,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:63",{"_index":5858,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:65",{"_index":5860,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:67",{"_index":5857,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:69",{"_index":5856,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:73",{"_index":5863,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:79",{"_index":5866,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:88",{"_index":5867,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder:2",{"_index":2209,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["builder:26",{"_index":2210,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["builder:8",{"_index":2287,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["builderror",{"_index":18547,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["builderror(err",{"_index":18548,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildexternaltool",{"_index":6396,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildexternaltoolelement",{"_index":3484,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildexternaltoolelement(boardnode",{"_index":3502,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfailure",{"_index":9180,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfailure(err",{"_index":9184,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfile",{"_index":6397,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/PreviewGeneratorBuilder.html":{}}}],["buildfile(preview",{"_index":18028,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["buildfileelement",{"_index":3485,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfileelement(boardnode",{"_index":3505,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfromaxiosresponse",{"_index":11535,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromaxiosresponse(name",{"_index":11539,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest",{"_index":11536,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest(fileinfo",{"_index":11541,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildgroupsclaim",{"_index":13839,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildgroupsclaim(teams",{"_index":13845,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildlink",{"_index":6398,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildlinkelement",{"_index":3486,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlinkelement(boardnode",{"_index":3508,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlist",{"_index":508,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlist(number",{"_index":544,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwitheachtype",{"_index":8303,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["buildlistwitheachtype(params",{"_index":8304,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["buildlistwithid",{"_index":509,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwithid(number",{"_index":546,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlogourl",{"_index":10429,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildlogourl(template",{"_index":10436,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildoptions",{"_index":541,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildparams",{"_index":17999,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildparams(filerecord",{"_index":18001,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload",{"_index":18000,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload(params",{"_index":18003,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildprovisioningoptions",{"_index":20325,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["buildprovisioningoptions(entity.provisioningoptions",{"_index":20374,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["buildprovisioningoptions(provisioningoptions",{"_index":20327,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["buildprovisioningoptions(requestedprovisioningoptions",{"_index":20420,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["buildrichtext",{"_index":6399,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildrichtextelement",{"_index":3487,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildrichtextelement(boardnode",{"_index":3511,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builds",{"_index":2366,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["buildscope",{"_index":6851,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildscope(query",{"_index":6858,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildstudent",{"_index":712,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildstudent(params",{"_index":23583,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildsubmissioncontainer",{"_index":6400,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildsubmissioncontainerelement",{"_index":3488,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissioncontainerelement(boardnode",{"_index":3514,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem",{"_index":3489,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem(boardnode",{"_index":3517,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsuccess",{"_index":9181,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildsuccess(requestid",{"_index":18550,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildteacher",{"_index":719,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildteacher(params",{"_index":23585,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildtokenrequestpayload",{"_index":16999,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtokenrequestpayload(code",{"_index":17010,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtoollaunchdatafromconcreteconfig",{"_index":2741,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromconcreteconfig(userid",{"_index":2754,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool",{"_index":2747,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool(externaltool",{"_index":2775,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools",{"_index":2748,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools(data",{"_index":2779,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload",{"_index":2742,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload(url",{"_index":2757,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl",{"_index":2749,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl(toollaunchdatado",{"_index":2781,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildwithid",{"_index":510,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(params",{"_index":548,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(userandaccounttestfactory.getuserparams(params",{"_index":717,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["built",{"_index":529,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["builtin",{"_index":14711,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["bundle",{"_index":25620,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["busboy",{"_index":11544,"title":{},"body":{"classes/FileDtoBuilder.html":{},"dependencies.html":{}}}],["business",{"_index":4233,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["business.error",{"_index":1369,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ForbiddenOperationError.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror",{"_index":1354,"title":{"classes/BusinessError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:12",{"_index":1360,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:15",{"_index":1365,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:18",{"_index":1364,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:21",{"_index":1363,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:25",{"_index":1362,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:47",{"_index":1366,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businessexception",{"_index":26007,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["businesslogic",{"_index":25872,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["button",{"_index":24482,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["byavailable",{"_index":22118,"title":{},"body":{"classes/TaskScope.html":{}}}],["byavailable(availabledate",{"_index":22129,"title":{},"body":{"classes/TaskScope.html":{}}}],["byclasses",{"_index":14248,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclasses(classes",{"_index":14257,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclientid",{"_index":10977,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(clientid",{"_index":10980,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(query.clientid",{"_index":10727,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["bycontextid",{"_index":7010,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontextid(contextid",{"_index":7020,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype",{"_index":7011,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype(contexttype",{"_index":7022,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycourseids",{"_index":15691,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycourseids(courseids",{"_index":15692,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycreator",{"_index":16772,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreator(creatorid",{"_index":16776,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreatorid",{"_index":12022,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["bycreatorid(creatorid",{"_index":12028,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["bydeleteafter",{"_index":9529,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydeleteafter(currentdate",{"_index":9531,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydraft",{"_index":22119,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydraft(isdraft",{"_index":22131,"title":{},"body":{"classes/TaskScope.html":{}}}],["byexpires",{"_index":12004,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["byfilerecordid",{"_index":12023,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfilerecordid(filerecordid",{"_index":12030,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfinished",{"_index":22120,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfinished(userid",{"_index":22133,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfirstname",{"_index":14249,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byfirstname(firstname",{"_index":14259,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byhidden",{"_index":10978,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(ishidden",{"_index":10982,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(query.ishidden",{"_index":10728,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byid",{"_index":7012,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byid(id",{"_index":7024,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bylastname",{"_index":14250,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylastname(lastname",{"_index":14261,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylessonids",{"_index":22121,"title":{},"body":{"classes/TaskScope.html":{}}}],["bylessonids(lessonids",{"_index":22134,"title":{},"body":{"classes/TaskScope.html":{}}}],["byloginname",{"_index":14251,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byloginname(loginname",{"_index":14263,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymarkedfordelete",{"_index":12024,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymarkedfordelete(ismarked",{"_index":12032,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymatches",{"_index":14252,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymatches(matches",{"_index":14266,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byname",{"_index":10979,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(name",{"_index":10984,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(query.name",{"_index":10726,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byonlycreatorid",{"_index":22122,"title":{},"body":{"classes/TaskScope.html":{}}}],["byonlycreatorid(creatorid",{"_index":22136,"title":{},"body":{"classes/TaskScope.html":{}}}],["byorganizationid",{"_index":13048,"title":{},"body":{"classes/GroupScope.html":{}}}],["byorganizationid(id",{"_index":13051,"title":{},"body":{"classes/GroupScope.html":{}}}],["byparentid",{"_index":12025,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byparentid(parentid",{"_index":12035,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bypassdocumentvalidation",{"_index":8939,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["bypasstest",{"_index":1285,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["bypseudonym",{"_index":18435,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(pseudonym",{"_index":18437,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(query.pseudonym",{"_index":10697,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bypublished",{"_index":16773,"title":{},"body":{"classes/NewsScope.html":{}}}],["byrole",{"_index":14253,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byrole(rolename",{"_index":14268,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool",{"_index":14254,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool(school",{"_index":14270,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschoolid",{"_index":12026,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschoolid(query.schoolid",{"_index":23673,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["byschoolid(schoolid",{"_index":12037,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschooltoolid",{"_index":7013,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byschooltoolid(schooltoolid",{"_index":7026,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bysecuritycheckrequesttoken",{"_index":12027,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bysecuritycheckrequesttoken(token",{"_index":12039,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bystatus",{"_index":9530,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bytargets",{"_index":16774,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytargets(targets",{"_index":16778,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytes",{"_index":12545,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["bytesrange",{"_index":12539,"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":18436,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytoolid(query.toolid",{"_index":10698,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bytoolid(toolid",{"_index":18439,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytypes",{"_index":13049,"title":{},"body":{"classes/GroupScope.html":{}}}],["bytypes(types",{"_index":13053,"title":{},"body":{"classes/GroupScope.html":{}}}],["byunpublished",{"_index":16775,"title":{},"body":{"classes/NewsScope.html":{}}}],["byuserid",{"_index":13050,"title":{},"body":{"classes/GroupScope.html":{},"classes/PseudonymScope.html":{}}}],["byuserid(id",{"_index":13055,"title":{},"body":{"classes/GroupScope.html":{}}}],["byuserid(query.userid",{"_index":10699,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["byuserid(userid",{"_index":18441,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuseridquery",{"_index":21280,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byuseridquery(userid",{"_index":21283,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byusermatch",{"_index":14255,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byusermatch(user",{"_index":14272,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["c",{"_index":560,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonService.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Options.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["c.id",{"_index":22211,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished",{"_index":22230,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished()).map((c",{"_index":22210,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.user",{"_index":15719,"title":{},"body":{"injectables/LessonService.html":{}}}],["cache",{"_index":4272,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/OauthAdapterService.html":{},"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{},"dependencies.html":{}}}],["cache_manager",{"_index":14503,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cacheexpiration",{"_index":19251,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["cacheimplementations",{"_index":13459,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cacheimplementations.cachedkeyvaluestorage('kvcache",{"_index":13481,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cachemanager",{"_index":14494,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachemodule",{"_index":4269,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemodule.registerasync",{"_index":4276,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemoduleoptions",{"_index":4270,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cacheservice",{"_index":4254,"title":{"injectables/CacheService.html":{}},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cacheservice.getstoretype",{"_index":4277,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachestoretype",{"_index":4258,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachestoretype.memory",{"_index":4264,"title":{},"body":{"injectables/CacheService.html":{}}}],["cachestoretype.redis",{"_index":4263,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachewrappermodule",{"_index":1522,"title":{"modules/CacheWrapperModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CacheWrapperModule.html":{},"modules/OauthModule.html":{}}}],["caf",{"_index":14287,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["cafe",{"_index":14289,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["calc",{"_index":22680,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff",{"_index":22662,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff(diff",{"_index":22681,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatenumberofsubmitters(submissions",{"_index":21735,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["calculations",{"_index":25853,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["calendarevent",{"_index":4286,"title":{"interfaces/CalendarEvent.html":{}},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendareventdto",{"_index":4292,"title":{"classes/CalendarEventDto.html":{}},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendarmapper",{"_index":4301,"title":{"injectables/CalendarMapper.html":{}},"body":{"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarmodule",{"_index":4313,"title":{"modules/CalendarModule.html":{}},"body":{"modules/CalendarModule.html":{},"modules/VideoConferenceModule.html":{}}}],["calendarservice",{"_index":4317,"title":{"injectables/CalendarService.html":{}},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarservice:findevent",{"_index":4340,"title":{},"body":{"injectables/CalendarService.html":{}}}],["call",{"_index":531,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountValidationService.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["call,@typescript",{"_index":22675,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{}}}],["callable",{"_index":2367,"title":{},"body":{"injectables/BBBService.html":{}}}],["callback",{"_index":26111,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["callback_uri",{"_index":1341,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["callbackuri",{"_index":1335,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["calld",{"_index":26156,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["called",{"_index":528,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TldrawWs.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callhandler",{"_index":9823,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["calling",{"_index":17959,"title":{},"body":{"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callkcadminclient",{"_index":14544,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["callname",{"_index":2359,"title":{},"body":{"injectables/BBBService.html":{}}}],["calls",{"_index":2859,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callsdelaymilliseconds",{"_index":2825,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["callsdelayms",{"_index":9374,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["camelcase",{"_index":25946,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["can't",{"_index":1565,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cancelbuttonurl",{"_index":17890,"title":{},"body":{"classes/PageContentDto.html":{}}}],["canceldeletionrequest",{"_index":9566,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(@param('requestid",{"_index":9592,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(requestid",{"_index":9569,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceling",{"_index":9571,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["cancreaterestricted",{"_index":13202,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canedit",{"_index":21620,"title":{},"body":{"injectables/SystemRule.html":{}}}],["canedit(system",{"_index":21622,"title":{},"body":{"injectables/SystemRule.html":{}}}],["caninline",{"_index":5844,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["caninstallrecommended",{"_index":13203,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canmap",{"_index":2656,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["canmap(element",{"_index":2657,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["cant",{"_index":25884,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["canupdateandinstalllibraries",{"_index":13204,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["capabilities",{"_index":25744,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["caption",{"_index":3581,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["caption(value",{"_index":11563,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["card",{"_index":3127,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["card.'})@apiextramodels(externaltoolelementresponse",{"_index":4374,"title":{},"body":{"controllers/CardController.html":{}}}],["card.'})@apiresponse({status",{"_index":4380,"title":{},"body":{"controllers/CardController.html":{}}}],["card.addchild(text1",{"_index":5561,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text2",{"_index":5577,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text3",{"_index":5589,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text4",{"_index":5595,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.body.params",{"_index":5657,"title":{},"body":{"controllers/ColumnController.html":{}}}],["card.body.params.ts",{"_index":8009,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:10",{"_index":16564,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:13",{"_index":8012,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["card.body.params.ts:18",{"_index":16566,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.children.map((element",{"_index":4475,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.constructor.name",{"_index":5685,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["card.createdat",{"_index":4477,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.do",{"_index":3155,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["card.height",{"_index":4474,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.id",{"_index":4472,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.response",{"_index":4446,"title":{},"body":{"classes/CardListResponse.html":{}}}],["card.title",{"_index":4473,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.updatedat",{"_index":4476,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["cardcontroller",{"_index":3032,"title":{"controllers/CardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{}}}],["cardid",{"_index":4493,"title":{},"body":{"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{}}}],["cardidparams",{"_index":4384,"title":{},"body":{"controllers/CardController.html":{}}}],["cardidparams.ids",{"_index":4412,"title":{},"body":{"controllers/CardController.html":{}}}],["cardids",{"_index":4410,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{}}}],["cardidsparams",{"_index":4385,"title":{"classes/CardIdsParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardIdsParams.html":{}}}],["cardlistresponse",{"_index":4402,"title":{"classes/CardListResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardListResponse.html":{}}}],["cardlistresponse})@apiresponse({status",{"_index":4387,"title":{},"body":{"controllers/CardController.html":{}}}],["cardnode",{"_index":3491,"title":{"entities/CardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["cardnodefactory",{"_index":3850,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodefactory.build",{"_index":3873,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodeprops",{"_index":4451,"title":{"interfaces/CardNodeProps.html":{}},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["cardprops",{"_index":4365,"title":{"interfaces/CardProps.html":{}},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["cardresponse",{"_index":4444,"title":{"classes/CardResponse.html":{}},"body":{"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper",{"_index":4408,"title":{"classes/CardResponseMapper.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper.maptoresponse(card",{"_index":4415,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["cardresponses",{"_index":4414,"title":{},"body":{"controllers/CardController.html":{}}}],["cardresponse})@apiresponse({status",{"_index":5641,"title":{},"body":{"controllers/ColumnController.html":{}}}],["cards",{"_index":3571,"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":3866,"title":{},"body":{"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{}}}],["cards.some((card",{"_index":4507,"title":{},"body":{"injectables/CardService.html":{}}}],["cardservice",{"_index":3891,"title":{"injectables/CardService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["cardskeletonresponse",{"_index":4520,"title":{"classes/CardSkeletonResponse.html":{}},"body":{"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cardspercolumn",{"_index":3859,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardspercolumn.flat",{"_index":3863,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["carduc",{"_index":3025,"title":{"injectables/CardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"controllers/ElementController.html":{}}}],["cardurlparams",{"_index":4373,"title":{"classes/CardUrlParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardUrlParams.html":{}}}],["care",{"_index":25919,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["careful",{"_index":26231,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["carefully",{"_index":26179,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cares",{"_index":26010,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["carry",{"_index":25250,"title":{},"body":{"license.html":{}}}],["cartridge",{"_index":5735,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ServerConfig.html":{}}}],["cartridge.config.ts",{"_index":5732,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{}}}],["cartridge/common",{"_index":5731,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["cartridge/utils",{"_index":5778,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["cartridge_basiclti_link",{"_index":5920,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_bundle",{"_index":5934,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_icon",{"_index":5937,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cascade",{"_index":15077,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["cascade.remove",{"_index":15156,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["cascading",{"_index":6083,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["case",{"_index":1393,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["caseinsensitivenames",{"_index":6170,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["cases",{"_index":1224,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/TaskFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cast",{"_index":1618,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["casttolibrariescontenttype",{"_index":13478,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["casttolibrariescontenttype(parse(librariesyamlcontent",{"_index":13494,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["catch",{"_index":1328,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["catch((error",{"_index":2406,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["catch(error",{"_index":12670,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["catcherror",{"_index":1057,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["catcherror((e",{"_index":1173,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["catcherror((err",{"_index":19000,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["cause",{"_index":2106,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BusinessError.html":{},"classes/ErrorUtils.html":{},"injectables/JwtStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["causeerror",{"_index":10057,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["caution",{"_index":15297,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["cc",{"_index":1456,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/CourseQueryParams.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["cdm",{"_index":9373,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["cease",{"_index":25403,"title":{},"body":{"license.html":{}}}],["ceating",{"_index":8064,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["centralldap",{"_index":20176,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["certain",{"_index":25370,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cessation",{"_index":25413,"title":{},"body":{"license.html":{}}}],["ch.id",{"_index":3106,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["chaining",{"_index":26017,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["chains",{"_index":25642,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["chalk",{"_index":24870,"title":{},"body":{"dependencies.html":{}}}],["challenge",{"_index":4578,"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":4576,"title":{"classes/ChallengeParams.html":{}},"body":{"classes/ChallengeParams.html":{},"controllers/OauthProviderController.html":{}}}],["change",{"_index":5805,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/ExternalToolUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changed",{"_index":12171,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application.html":{}}}],["changedclients",{"_index":24770,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["changefinishedforuser",{"_index":22179,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changefinishedforuser(userid",{"_index":22185,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changelanguage",{"_index":23596,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguage(params",{"_index":23597,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguageparams",{"_index":4580,"title":{"classes/ChangeLanguageParams.html":{}},"body":{"classes/ChangeLanguageParams.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["changes",{"_index":6571,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/LdapStrategy.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changing",{"_index":23838,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["channel",{"_index":18569,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["chapter",{"_index":2640,"title":{},"body":{"injectables/BaseRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["char",{"_index":18882,"title":{},"body":{"classes/ReferencesService.html":{}}}],["character",{"_index":793,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["characterized",{"_index":25350,"title":{},"body":{"license.html":{}}}],["characters",{"_index":12133,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/MongoPatterns.html":{},"injectables/TemporaryFileStorage.html":{}}}],["charge",{"_index":25067,"title":{},"body":{"license.html":{}}}],["chat",{"_index":1193,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["chat.module.ts",{"_index":19117,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.module.ts:7",{"_index":19118,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service",{"_index":19120,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service.ts",{"_index":1052,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["chat.service.ts:42",{"_index":19116,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:44",{"_index":19115,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:47",{"_index":19114,"title":{},"body":{"classes/RocketChatError.html":{}}}],["check",{"_index":985,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["check.entity",{"_index":11635,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["check.entity.ts",{"_index":12052,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["check.entity.ts:14",{"_index":12060,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:17",{"_index":12056,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:20",{"_index":12057,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:23",{"_index":12055,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:26",{"_index":12054,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.service.ts",{"_index":16481,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:16",{"_index":16492,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:42",{"_index":16490,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:48",{"_index":16488,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:9",{"_index":16486,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["checkallpermissions",{"_index":1966,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkallpermissions(user",{"_index":1972,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkandaddprefix",{"_index":22523,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkandaddprefix(inputpath",{"_index":1663,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkavaiblelanguages",{"_index":24341,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavaiblelanguages(settedlanguage",{"_index":24343,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavailablelanguages",{"_index":24278,"title":{},"body":{"injectables/UserService.html":{}}}],["checkavailablelanguages(language",{"_index":24284,"title":{},"body":{"injectables/UserService.html":{}}}],["checkbrutforce",{"_index":1687,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkbrutforce(account",{"_index":1696,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkcontenttypeexists",{"_index":13436,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["checkcontenttypeexists(contenttype",{"_index":13442,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["checkcontextreadpermission",{"_index":20837,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextreadpermission(userid",{"_index":20843,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextrestrictions",{"_index":7037,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcontextrestrictions(contextexternaltool",{"_index":7047,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcreatepermission",{"_index":20838,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission(userid",{"_index":20845,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcredentials",{"_index":15208,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["checkcredentials(account",{"_index":15215,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkcredentials(enteredpassword",{"_index":15847,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["checkcustomparameterentries",{"_index":6118,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkcustomparameterentries(loadedexternaltool",{"_index":6127,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkdestinationcourseauthorisation",{"_index":21869,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorisation(authorizableuser",{"_index":21876,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorization",{"_index":15571,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationcourseauthorization(user",{"_index":15575,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationlessonauthorization",{"_index":21870,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationlessonauthorization(authorizableuser",{"_index":21879,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkduplicateusesincontext",{"_index":7127,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checkduplicateusesincontext(contextexternaltool",{"_index":7130,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checked",{"_index":1566,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/HydraSsoService.html":{}}}],["checkentitypermissions",{"_index":11309,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkentitypermissions(userid",{"_index":11314,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkerror",{"_index":12435,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkerror(response",{"_index":12443,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkexpired",{"_index":20806,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkexpired(sharetoken",{"_index":20813,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkfeatureenabled",{"_index":7725,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["checkfeatureenabled(parenttype",{"_index":20847,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkfilename",{"_index":22460,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkfilename(filename",{"_index":22468,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkforduplicateparameters",{"_index":6119,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforduplicateparameters(validatabletool",{"_index":6131,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters",{"_index":6120,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters(validatabletool",{"_index":6133,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkgraceperiod",{"_index":24021,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkgraceperiod(userloginmigration",{"_index":24029,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkifpreviewpossible",{"_index":18068,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(filerecord",{"_index":18125,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(original",{"_index":18073,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["checking",{"_index":12726,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkinputisvalid",{"_index":26487,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["checkldapcredentials",{"_index":15178,"title":{},"body":{"injectables/LdapService.html":{}}}],["checkldapcredentials(system",{"_index":15180,"title":{},"body":{"injectables/LdapService.html":{}}}],["checklist",{"_index":25021,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checklistscontainingequalentities(first",{"_index":2992,"title":{},"body":{"entities/Board.html":{}}}],["checkofficialschoolnumbersmatch",{"_index":20196,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkofficialschoolnumbersmatch(schooldo",{"_index":20205,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkoneofpermissions",{"_index":1967,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoneofpermissions(user",{"_index":1974,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoptionalparameter",{"_index":6121,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoptionalparameter(param",{"_index":6136,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoriginallessonauthorization",{"_index":15572,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginallessonauthorization(user",{"_index":15578,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginaltaskauthorization",{"_index":21871,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkoriginaltaskauthorization(authorizableuser",{"_index":21882,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkout",{"_index":25025,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checkparameterregex",{"_index":6122,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparameterregex(foundentry",{"_index":6139,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype",{"_index":6123,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype(foundentry",{"_index":6141,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparentwritepermission",{"_index":20839,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkparentwritepermission(userid",{"_index":20849,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkpermission",{"_index":1968,"title":{},"body":{"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkpermission(user",{"_index":1976,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkpermission(userid",{"_index":2670,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["checkpermissionbyreferences",{"_index":1948,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpermissionbyreferences(userid",{"_index":1952,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpreconditions",{"_index":20953,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkpreconditions(userid",{"_index":20956,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkresponsevalidation",{"_index":19726,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checkresponsevalidation(response",{"_index":19733,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checks",{"_index":4920,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["checkshorttitle",{"_index":8528,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["checkstream",{"_index":1294,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstream(stream",{"_index":1301,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstreamresponsive",{"_index":19524,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checkstreamresponsive(stream",{"_index":19533,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checksubmissionitemwritepermission",{"_index":2665,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksubmissionitemwritepermission(userid",{"_index":2674,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksum",{"_index":2357,"title":{},"body":{"injectables/BBBService.html":{}}}],["checkvalidityofparameters",{"_index":6124,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalidityofparameters(validatabletool",{"_index":6143,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalue",{"_index":15209,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkvalue(value",{"_index":15217,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkversionmatch",{"_index":20132,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["checkversionmatch(schoolexternaltoolversion",{"_index":20133,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["child",{"_index":3078,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoService.html":{},"classes/BoardResponseMapper.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["child.accept(this",{"_index":18767,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["child.acceptasync(this",{"_index":18677,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["child.constructor.name",{"_index":3097,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["child.id",{"_index":3107,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["childcopy",{"_index":18684,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childid",{"_index":3663,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["children",{"_index":3066,"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":3608,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["children.map((element",{"_index":21227,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["children.sort((a",{"_index":3604,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["childrenmap",{"_index":3526,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["childrenmap[boardnode.pathofchildren",{"_index":3685,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["childstatus",{"_index":18680,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses",{"_index":18678,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses.push(childstatus",{"_index":18682,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["choose",{"_index":25544,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["choosing",{"_index":25546,"title":{},"body":{"license.html":{}}}],["chunk",{"_index":24941,"title":{},"body":{"dependencies.html":{}}}],["circumstances",{"_index":25203,"title":{},"body":{"license.html":{}}}],["circumvention",{"_index":25210,"title":{},"body":{"license.html":{}}}],["civil",{"_index":25584,"title":{},"body":{"license.html":{}}}],["cjs",{"_index":14534,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["cjs/keycloak",{"_index":14533,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["claim",{"_index":14778,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["claim.name",{"_index":14787,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["claims",{"_index":25463,"title":{},"body":{"license.html":{}}}],["clamconnection",{"_index":1299,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["clamdscan",{"_index":1281,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["clamscan",{"_index":1263,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"dependencies.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupScope.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.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/SwapInternalLinksVisitor.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["class.do",{"_index":4699,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classattributenamemapping",{"_index":15137,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classentity",{"_index":4638,"title":{"entities/ClassEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classentityfactory",{"_index":4684,"title":{"classes/ClassEntityFactory.html":{}},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityfactory.define(classentity",{"_index":4691,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityprops",{"_index":4657,"title":{"interfaces/ClassEntityProps.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupScope.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IImportUserScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.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/SwapInternalLinksVisitor.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["classes.map((clazz",{"_index":4869,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classes.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14299,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["classesrepo",{"_index":4807,"title":{"injectables/ClassesRepo.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{}}}],["classfactory",{"_index":4694,"title":{"classes/ClassFactory.html":{}},"body":{"classes/ClassFactory.html":{}}}],["classfactory.define(class",{"_index":4700,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classfilterparams",{"_index":4701,"title":{"classes/ClassFilterParams.html":{}},"body":{"classes/ClassFilterParams.html":{},"controllers/GroupController.html":{}}}],["classid",{"_index":4876,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classids",{"_index":7517,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classinfo",{"_index":12998,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.externalsourcename",{"_index":13012,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.id",{"_index":13009,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.isupgradable",{"_index":13015,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.name",{"_index":13011,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.schoolyear",{"_index":13014,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.studentcount",{"_index":13016,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.teachernames",{"_index":13013,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.type",{"_index":13010,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfodto",{"_index":4709,"title":{"classes/ClassInfoDto.html":{}},"body":{"classes/ClassInfoDto.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["classinforesponse",{"_index":4737,"title":{"classes/ClassInfoResponse.html":{}},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfos",{"_index":12995,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.data.map((classinfo",{"_index":13006,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.total",{"_index":13008,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse",{"_index":4751,"title":{"classes/ClassInfoSearchListResponse.html":{}},"body":{"classes/ClassInfoSearchListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse})@apiresponse({status",{"_index":12814,"title":{},"body":{"controllers/GroupController.html":{}}}],["classmap",{"_index":4868,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmap.get(entity.id",{"_index":4881,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper",{"_index":4753,"title":{"classes/ClassMapper.html":{}},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{}}}],["classmapper.maptodos(classes",{"_index":4867,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper.maptoentity(updateddomainobject",{"_index":4883,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmodule",{"_index":4802,"title":{"modules/ClassModule.html":{}},"body":{"modules/ClassModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["classname",{"_index":11341,"title":{},"body":{"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["classnames",{"_index":13945,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{}}}],["classpathadditions",{"_index":15127,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classprops",{"_index":4624,"title":{"interfaces/ClassProps.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{}}}],["classroottype",{"_index":4724,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{}}}],["classroottype.class",{"_index":13112,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classroottype.group",{"_index":13101,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classserializerinterceptor",{"_index":14336,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["classservice",{"_index":4806,"title":{"injectables/ClassService.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{}}}],["classsortby",{"_index":4834,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["classsortparams",{"_index":4831,"title":{"classes/ClassSortParams.html":{}},"body":{"classes/ClassSortParams.html":{},"controllers/GroupController.html":{}}}],["classsourceoptions",{"_index":4622,"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":4647,"title":{"classes/ClassSourceOptionsEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsentityprops",{"_index":4849,"title":{"interfaces/ClassSourceOptionsEntityProps.html":{}},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsprops",{"_index":4842,"title":{"interfaces/ClassSourceOptionsProps.html":{}},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classvalidatormetadatastorage",{"_index":9938,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["clause",{"_index":811,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["clazz",{"_index":4871,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel",{"_index":13108,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel}${clazz.name",{"_index":13109,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.id",{"_index":4870,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.name",{"_index":13110,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.source",{"_index":13113,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.successor",{"_index":13111,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids",{"_index":13116,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids.length",{"_index":13117,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clean",{"_index":4926,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/FileRecordMapper.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["clean(options",{"_index":4931,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["clean(pagesize",{"_index":14792,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["cleanoptions",{"_index":4886,"title":{"interfaces/CleanOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleans",{"_index":4925,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleanup",{"_index":7562,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeleteFilesConsole.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cleanupinput",{"_index":15844,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanupinput(username",{"_index":15851,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanuppath",{"_index":22524,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["cleanuppath(inputpath",{"_index":1666,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["clear",{"_index":5285,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"license.html":{}}}],["clearcollection",{"_index":8908,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearcollection(collectionname",{"_index":8915,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearinterval(pinginterval",{"_index":22945,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["clearly",{"_index":25885,"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":19646,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["cli",{"_index":25783,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["click",{"_index":24480,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["client",{"_index":2831,"title":{},"body":{"injectables/BatchDeletionService.html":{},"modules/BoardModule.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"classes/IdParams.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RevokeConsentParams.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"classes/SystemEntityFactory.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"classes/TldrawWs.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["client.adapter",{"_index":19654,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.adapter.ts",{"_index":19522,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:113",{"_index":19552,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:136",{"_index":19554,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:157",{"_index":19536,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:181",{"_index":19541,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:201",{"_index":19548,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:213",{"_index":19550,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:23",{"_index":19532,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:243",{"_index":19546,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:265",{"_index":19543,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:292",{"_index":19534,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:34",{"_index":19539,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:51",{"_index":19544,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:84",{"_index":19538,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.bind(username",{"_index":15200,"title":{},"body":{"injectables/LdapService.html":{}}}],["client.body.ts",{"_index":17154,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:10",{"_index":17157,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:15",{"_index":17158,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:20",{"_index":17159,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:26",{"_index":17164,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:36",{"_index":17184,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:46",{"_index":17178,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:56",{"_index":17173,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:65",{"_index":17162,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:71",{"_index":17163,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:77",{"_index":17165,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.close",{"_index":22812,"title":{},"body":{"classes/TldrawWs.html":{}}}],["client.config",{"_index":9144,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client.getsigningkey",{"_index":17132,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["client.histogram",{"_index":18979,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["client.interface",{"_index":18246,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["client.mapper",{"_index":11791,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["client.mapper.ts",{"_index":12284,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:17",{"_index":12292,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:27",{"_index":12300,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:39",{"_index":12294,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:49",{"_index":12302,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:62",{"_index":12296,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:7",{"_index":12298,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.module.ts",{"_index":12325,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"modules/S3ClientModule.html":{},"modules/TldrawClientModule.html":{}}}],["client.module.ts:25",{"_index":19653,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.on('connect",{"_index":4283,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.on('error",{"_index":4281,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.response",{"_index":6361,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["client.send(deletioncommand",{"_index":9045,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["client.service",{"_index":7352,"title":{},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{}}}],["client.service.ts",{"_index":12256,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:11",{"_index":12263,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:16",{"_index":12265,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:23",{"_index":12269,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:31",{"_index":12267,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:39",{"_index":12271,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.ts",{"_index":1604,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:104",{"_index":22539,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:110",{"_index":22530,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:120",{"_index":22531,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:129",{"_index":22536,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:136",{"_index":22538,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:14",{"_index":22599,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:142",{"_index":22535,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:21",{"_index":22598,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:26",{"_index":22528,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:28",{"_index":22529,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:30",{"_index":22527,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:38",{"_index":22534,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:44",{"_index":22597,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:45",{"_index":22532,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:5",{"_index":22596,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:54",{"_index":22543,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:63",{"_index":22600,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:64",{"_index":22541,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:7",{"_index":22595,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:74",{"_index":22542,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:84",{"_index":22540,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client/builder/deletion",{"_index":9444,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["client/deletion",{"_index":9143,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client/deletion.client.ts",{"_index":9076,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:10",{"_index":9092,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:12",{"_index":9091,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:14",{"_index":9093,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:16",{"_index":9084,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:30",{"_index":9090,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:64",{"_index":9088,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:88",{"_index":9085,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:92",{"_index":9086,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/dto",{"_index":20297,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["client/dto/copy",{"_index":7222,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["client/dto/file.dto.ts",{"_index":11525,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:10",{"_index":11529,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:12",{"_index":11526,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:6",{"_index":11527,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:8",{"_index":11528,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/files",{"_index":12324,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["client/interface/deletion",{"_index":9132,"title":{},"body":{"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{}}}],["client/interface/index.ts",{"_index":7303,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{}}}],["client/interfaces/copy",{"_index":7219,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFilesRequestInfo.html":{}}}],["client/interfaces/file",{"_index":11514,"title":{},"body":{"interfaces/FileDomainObjectProps.html":{},"interfaces/FileRequestInfo.html":{}}}],["client/interfaces/files",{"_index":12283,"title":{},"body":{"interfaces/FilesStorageClientConfig.html":{}}}],["client/lib/defs/authenticationexecutioninforepresentation",{"_index":14671,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/authenticationflowrepresentation",{"_index":14673,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/clientrepresentation",{"_index":14675,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityprovidermapperrepresentation",{"_index":14676,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityproviderrepresentation",{"_index":14677,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["client/lib/defs/protocolmapperrepresentation",{"_index":14678,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/userrepresentation",{"_index":14877,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["client/mapper/copy",{"_index":7321,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["client/mapper/files",{"_index":11787,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["client/s3",{"_index":19521,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["client/service/copy",{"_index":7334,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["client/service/drawing",{"_index":3902,"title":{},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["client/service/files",{"_index":12255,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["client/tldraw",{"_index":22698,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["client_id",{"_index":1495,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/HydraSsoService.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/TokenRequestMapper.html":{}}}],["client_name",{"_index":6365,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{}}}],["client_secret",{"_index":1496,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["client_secret_basic",{"_index":17182,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client_secret_post",{"_index":17181,"title":{},"body":{"classes/OauthClientBody.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["clientauthmethod",{"_index":17717,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["clientid",{"_index":6369,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["clientinternalid",{"_index":14580,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clientname",{"_index":6367,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["clientrepresentation",{"_index":14674,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["clients",{"_index":9028,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["clients.map",{"_index":17468,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["clients.params.ts",{"_index":15828,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:16",{"_index":15833,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:27",{"_index":15836,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:36",{"_index":15829,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:45",{"_index":15837,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients_configuration_path='/tmp/config/clients",{"_index":26276,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["clientsecret",{"_index":8318,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["clientsecret.value",{"_index":14584,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clienttype",{"_index":2322,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["clienturl",{"_index":1041,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/ColumnBoardService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["clock",{"_index":22739,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["clone",{"_index":511,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["clone(this",{"_index":551,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["clone>(this",{"_index":2607,"title":{},"body":{"classes/BaseFactory.html":{}}}],["close",{"_index":18575,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closeconn",{"_index":22842,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closeconn(doc",{"_index":22849,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closed",{"_index":22025,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed.loggable",{"_index":23788,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["closedat",{"_index":23790,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["closeddraftsforcreator",{"_index":22029,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.addquery(parentsopen.query",{"_index":22030,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.bycreatorid(parentids.creatorid",{"_index":22032,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.byfinished(parentids.creatorid",{"_index":22031,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons",{"_index":22018,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.addquery(parentsopen.query",{"_index":22019,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.bydraft(false",{"_index":22020,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.byfinished(parentids.creatorid",{"_index":22021,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator",{"_index":22026,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byfinished(parentids.creatorid",{"_index":22027,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byonlycreatorid(parentids.creatorid",{"_index":22028,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closely",{"_index":25581,"title":{},"body":{"license.html":{}}}],["closemigration",{"_index":4973,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["closemigration(@currentuser",{"_index":23889,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(currentuser",{"_index":23807,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(userid",{"_index":4979,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["closemigration(userloginmigration",{"_index":24030,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["closeuserloginmigrationuc",{"_index":4969,"title":{"injectables/CloseUserLoginMigrationUc.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["closing",{"_index":26194,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cloud",{"_index":16903,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["cloud.github.io/schulcloud",{"_index":25658,"title":{},"body":{"todo.html":{}}}],["cloud/commons",{"_index":2222,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"injectables/LessonCopyUC.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"dependencies.html":{}}}],["cloud/commons/lib",{"_index":4259,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"modules/ServerConsoleModule.html":{},"injectables/ShareTokenUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#l9",{"_index":26322,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["cloud/erwin",{"_index":25705,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/node",{"_index":24909,"title":{},"body":{"dependencies.html":{}}}],["cloud/sc",{"_index":26284,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/schulcloud",{"_index":25637,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cluster_accountapimodule",{"_index":261,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_imports",{"_index":262,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_providers",{"_index":263,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountmodule",{"_index":661,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_exports",{"_index":662,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_imports",{"_index":663,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_providers",{"_index":664,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_adminapiservermodule",{"_index":1008,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservermodule_imports",{"_index":1009,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservertestmodule",{"_index":1046,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_adminapiservertestmodule_imports",{"_index":1047,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_authenticationapimodule",{"_index":1481,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_imports",{"_index":1483,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_providers",{"_index":1482,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationmodule",{"_index":1518,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_exports",{"_index":1521,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_imports",{"_index":1519,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_providers",{"_index":1520,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authorizationmodule",{"_index":1857,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_exports",{"_index":1859,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_imports",{"_index":1860,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_providers",{"_index":1858,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationreferencemodule",{"_index":1904,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_exports",{"_index":1906,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_imports",{"_index":1907,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_providers",{"_index":1905,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_boardapimodule",{"_index":3021,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_imports",{"_index":3022,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_providers",{"_index":3023,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardmodule",{"_index":3883,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_exports",{"_index":3886,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_imports",{"_index":3885,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_providers",{"_index":3884,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_cachewrappermodule",{"_index":4265,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_exports",{"_index":4266,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_providers",{"_index":4267,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_calendarmodule",{"_index":4314,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_exports",{"_index":4315,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_providers",{"_index":4316,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_classmodule",{"_index":4803,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_exports",{"_index":4804,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_providers",{"_index":4805,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_collaborativestorageadaptermodule",{"_index":5064,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_exports",{"_index":5065,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_imports",{"_index":5066,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_providers",{"_index":5067,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestoragemodule",{"_index":5116,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_exports",{"_index":5117,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_imports",{"_index":5118,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_providers",{"_index":5119,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_commontoolmodule",{"_index":6073,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_exports",{"_index":6075,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_imports",{"_index":6074,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_providers",{"_index":6076,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_consolewritermodule",{"_index":6376,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_exports",{"_index":6378,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_providers",{"_index":6377,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_contextexternaltoolmodule",{"_index":6817,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_exports",{"_index":6818,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_imports",{"_index":6820,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_providers",{"_index":6819,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_copyhelpermodule",{"_index":7379,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_exports",{"_index":7380,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_providers",{"_index":7381,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_coremodule",{"_index":7458,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_exports",{"_index":7459,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_imports",{"_index":7460,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_databasemanagementmodule",{"_index":8901,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_exports",{"_index":8902,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_providers",{"_index":8903,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_deletionapimodule",{"_index":9046,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_imports",{"_index":9047,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_providers",{"_index":9048,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionconsolemodule",{"_index":9137,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_imports",{"_index":9139,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_providers",{"_index":9138,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionmodule",{"_index":9348,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_exports",{"_index":9350,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_providers",{"_index":9349,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_encryptionmodule",{"_index":9907,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_encryptionmodule_imports",{"_index":9908,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_errormodule",{"_index":10023,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_errormodule_imports",{"_index":10024,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_externaltoolmodule",{"_index":10544,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_exports",{"_index":10547,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_imports",{"_index":10546,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_providers",{"_index":10545,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_feathersmodule",{"_index":11342,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_exports",{"_index":11343,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_providers",{"_index":11344,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_filesmodule",{"_index":12186,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_exports",{"_index":12188,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_imports",{"_index":12187,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_providers",{"_index":12189,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesstorageamqpmodule",{"_index":12240,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_imports",{"_index":12241,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_providers",{"_index":12242,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageapimodule",{"_index":12248,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_imports",{"_index":12249,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_providers",{"_index":12250,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageclientmodule",{"_index":12320,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_exports",{"_index":12323,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_imports",{"_index":12322,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_providers",{"_index":12321,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstoragemodule",{"_index":12408,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_exports",{"_index":12409,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_imports",{"_index":12411,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_providers",{"_index":12410,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragetestmodule",{"_index":12465,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesstoragetestmodule_imports",{"_index":12466,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesystemmodule",{"_index":12176,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_exports",{"_index":12178,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_providers",{"_index":12177,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_fwulearningcontentsmodule",{"_index":12556,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_imports",{"_index":12557,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_providers",{"_index":12558,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentstestmodule",{"_index":12567,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_imports",{"_index":12568,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_providers",{"_index":12569,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_groupapimodule",{"_index":12801,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_imports",{"_index":12802,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_providers",{"_index":12803,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupmodule",{"_index":12925,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_exports",{"_index":12926,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_providers",{"_index":12927,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_h5peditormodule",{"_index":13384,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_exports",{"_index":13385,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_imports",{"_index":13386,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_providers",{"_index":13387,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditortestmodule",{"_index":13407,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_imports",{"_index":13408,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_providers",{"_index":13409,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5plibrarymanagementmodule",{"_index":13422,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_imports",{"_index":13424,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_providers",{"_index":13423,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_identitymanagementmodule",{"_index":13881,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_exports",{"_index":13883,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_imports",{"_index":13882,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_importusermodule",{"_index":14184,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_imports",{"_index":14185,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_providers",{"_index":14186,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_keycloakadministrationmodule",{"_index":14526,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_exports",{"_index":14527,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_providers",{"_index":14528,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakconfigurationmodule",{"_index":14600,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_exports",{"_index":14603,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_imports",{"_index":14601,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_providers",{"_index":14602,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakmodule",{"_index":14986,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_exports",{"_index":14989,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_imports",{"_index":14988,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_providers",{"_index":14987,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_learnroomapimodule",{"_index":15258,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_imports",{"_index":15259,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_providers",{"_index":15260,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroommodule",{"_index":15273,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_exports",{"_index":15276,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_imports",{"_index":15274,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_providers",{"_index":15275,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_legacyschoolapimodule",{"_index":15318,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_imports",{"_index":15320,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_providers",{"_index":15319,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolmodule",{"_index":15379,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_exports",{"_index":15381,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_imports",{"_index":15382,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_providers",{"_index":15380,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_lessonapimodule",{"_index":15546,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_imports",{"_index":15548,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_providers",{"_index":15547,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonmodule",{"_index":15622,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_exports",{"_index":15623,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_imports",{"_index":15625,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_providers",{"_index":15624,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_loggermodule",{"_index":15892,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_exports",{"_index":15894,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_providers",{"_index":15893,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_ltitoolmodule",{"_index":16147,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_exports",{"_index":16149,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_providers",{"_index":16148,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_managementmodule",{"_index":16263,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementmodule_providers",{"_index":16264,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementservermodule",{"_index":16275,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservermodule_imports",{"_index":16276,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservertestmodule",{"_index":16282,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_managementservertestmodule_imports",{"_index":16283,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_metatagextractorapimodule",{"_index":16328,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_imports",{"_index":16329,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_providers",{"_index":16330,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractormodule",{"_index":16352,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_exports",{"_index":16353,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_imports",{"_index":16355,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_providers",{"_index":16354,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_newsmodule",{"_index":16710,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_exports",{"_index":16711,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_imports",{"_index":16713,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_providers",{"_index":16712,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_oauthapimodule",{"_index":17145,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_imports",{"_index":17147,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_providers",{"_index":17146,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthmodule",{"_index":17305,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_exports",{"_index":17307,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_imports",{"_index":17308,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_providers",{"_index":17306,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthproviderapimodule",{"_index":17316,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_imports",{"_index":17318,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_providers",{"_index":17317,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthprovidermodule",{"_index":17566,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_exports",{"_index":17567,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_imports",{"_index":17569,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_providers",{"_index":17568,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthproviderservicemodule",{"_index":17622,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_oauthproviderservicemodule_exports",{"_index":17623,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_previewgeneratoramqpmodule",{"_index":18021,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratoramqpmodule_imports",{"_index":18022,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratorproducermodule",{"_index":18059,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_exports",{"_index":18060,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_imports",{"_index":18061,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_providers",{"_index":18062,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_provisioningmodule",{"_index":18265,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_exports",{"_index":18267,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_imports",{"_index":18266,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_providers",{"_index":18268,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_pseudonymapimodule",{"_index":18381,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_imports",{"_index":18383,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_providers",{"_index":18382,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymmodule",{"_index":18420,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_exports",{"_index":18421,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_imports",{"_index":18422,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_providers",{"_index":18423,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_redismodule",{"_index":18811,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_redismodule_imports",{"_index":18812,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_registrationpinmodule",{"_index":18911,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_exports",{"_index":18913,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_imports",{"_index":18912,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_providers",{"_index":18914,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_rocketchatusermodule",{"_index":19171,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_exports",{"_index":19173,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_providers",{"_index":19172,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rolemodule",{"_index":19227,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_exports",{"_index":19228,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_providers",{"_index":19229,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_schoolexternaltoolmodule",{"_index":19990,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_exports",{"_index":19991,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_imports",{"_index":19993,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_providers",{"_index":19992,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_serverconsolemodule",{"_index":20541,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_serverconsolemodule_imports",{"_index":20542,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_servermodule",{"_index":20553,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servermodule_imports",{"_index":20554,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servertestmodule",{"_index":20630,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_servertestmodule_imports",{"_index":20631,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_sharingapimodule",{"_index":20908,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_imports",{"_index":20910,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_providers",{"_index":20909,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingmodule",{"_index":20915,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_exports",{"_index":20916,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_imports",{"_index":20917,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_providers",{"_index":20918,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_systemapimodule",{"_index":21434,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_imports",{"_index":21436,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_providers",{"_index":21435,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemmodule",{"_index":21569,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_exports",{"_index":21570,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_imports",{"_index":21571,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_providers",{"_index":21572,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_taskapimodule",{"_index":21770,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_imports",{"_index":21772,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_providers",{"_index":21771,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskmodule",{"_index":21974,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_exports",{"_index":21976,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_imports",{"_index":21975,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_providers",{"_index":21977,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_teamsapimodule",{"_index":22418,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsapimodule_imports",{"_index":22419,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsmodule",{"_index":22422,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_exports",{"_index":22424,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_providers",{"_index":22423,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_tldrawclientmodule",{"_index":22695,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_imports",{"_index":22696,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_providers",{"_index":22697,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawmodule",{"_index":22755,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_imports",{"_index":22756,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_providers",{"_index":22757,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawtestmodule",{"_index":22781,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_imports",{"_index":22783,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_providers",{"_index":22782,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawwsmodule",{"_index":22834,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_imports",{"_index":22836,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_providers",{"_index":22835,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwstestmodule",{"_index":22958,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_imports",{"_index":22960,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_providers",{"_index":22959,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_toolapimodule",{"_index":22995,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_imports",{"_index":22997,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_providers",{"_index":22996,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toollaunchmodule",{"_index":23261,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_exports",{"_index":23262,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_imports",{"_index":23263,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_providers",{"_index":23264,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toolmodule",{"_index":23335,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_exports",{"_index":23336,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_imports",{"_index":23337,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_providers",{"_index":23338,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_userapimodule",{"_index":23588,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_imports",{"_index":23589,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_providers",{"_index":23590,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userloginmigrationapimodule",{"_index":23793,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_imports",{"_index":23794,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_providers",{"_index":23795,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationmodule",{"_index":23967,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_exports",{"_index":23969,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_imports",{"_index":23968,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_providers",{"_index":23970,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_usermodule",{"_index":24178,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_exports",{"_index":24181,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_imports",{"_index":24179,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_providers",{"_index":24180,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_videoconferenceapimodule",{"_index":24402,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_imports",{"_index":24403,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_providers",{"_index":24404,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferencemodule",{"_index":24673,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_exports",{"_index":24675,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_imports",{"_index":24674,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_providers",{"_index":24676,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["code",{"_index":998,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"injectables/AccountValidationService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginRequestBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SystemEntityFactory.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["codebase",{"_index":25870,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["coded",{"_index":5407,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["codes",{"_index":11718,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coersion",{"_index":12730,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["cohesion",{"_index":25896,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["collaborative",{"_index":5001,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorage",{"_index":5166,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["collaborativestorageadapter",{"_index":4995,"title":{"injectables/CollaborativeStorageAdapter.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["collaborativestorageadaptermapper",{"_index":5013,"title":{"injectables/CollaborativeStorageAdapterMapper.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{}}}],["collaborativestorageadaptermodule",{"_index":5063,"title":{"modules/CollaborativeStorageAdapterModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragecontroller",{"_index":5083,"title":{"controllers/CollaborativeStorageController.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragemodule",{"_index":5115,"title":{"modules/CollaborativeStorageModule.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["collaborativestorageservice",{"_index":5120,"title":{"injectables/CollaborativeStorageService.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collaborativestoragestrategy",{"_index":5012,"title":{"interfaces/CollaborativeStorageStrategy.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorageuc",{"_index":5104,"title":{"injectables/CollaborativeStorageUc.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collect",{"_index":25523,"title":{},"body":{"license.html":{}}}],["collectdefaultmetrics",{"_index":18167,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collected",{"_index":18219,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting",{"_index":18218,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_default_metrics_disabled",{"_index":18217,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_metrics_route_metrics_disabled",{"_index":18220,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collection",{"_index":1821,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collection(this",{"_index":2946,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["collection.deletemany",{"_index":8942,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.find({}).toarray",{"_index":8940,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.insertmany(jsondocuments",{"_index":8937,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.name",{"_index":8947,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionexists",{"_index":5283,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["collectionexists(collectionname",{"_index":8917,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionfilepath",{"_index":5197,"title":{"interfaces/CollectionFilePath.html":{}},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname",{"_index":5199,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{}}}],["collectionnamefilter",{"_index":5265,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter.length",{"_index":5273,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter?.includes(collectionname",{"_index":5276,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnames",{"_index":8945,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname}.json",{"_index":5254,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname}:${data.length",{"_index":5298,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections",{"_index":5249,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collections.includes(collectionname",{"_index":8949,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.includes(data.collectionname",{"_index":5293,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.length",{"_index":5292,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.map((collection",{"_index":8946,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.map((collectionname",{"_index":5252,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport",{"_index":5330,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport.map(async",{"_index":5332,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed",{"_index":5308,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed.map(async",{"_index":5310,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionswithfilepaths",{"_index":5251,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectmetricsroutemetrics",{"_index":18168,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collects",{"_index":26444,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["color",{"_index":7506,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["column",{"_index":2965,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["column.'})@apiresponse({status",{"_index":5640,"title":{},"body":{"controllers/ColumnController.html":{}}}],["column.addchild(card",{"_index":5544,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["column.body.params.ts",{"_index":16567,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:11",{"_index":16569,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:19",{"_index":16570,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.children.map((card",{"_index":5683,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.constructor.name",{"_index":4033,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["column.createdat",{"_index":5687,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.do",{"_index":3157,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["column.id",{"_index":5681,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.response",{"_index":4022,"title":{},"body":{"classes/BoardResponse.html":{}}}],["column.title",{"_index":5682,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.updatedat",{"_index":5686,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["columnboard",{"_index":2032,"title":{"classes/ColumnBoard.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoomsService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["columnboard.addchild(column",{"_index":5538,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["columnboard.context",{"_index":18772,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.context.type",{"_index":4192,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["columnboard.id",{"_index":18769,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.title",{"_index":4191,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnboardboardelement",{"_index":2964,"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":3286,"title":{"injectables/ColumnBoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["columnboardelement",{"_index":3386,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["columnboardelements",{"_index":4013,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["columnboardfactory",{"_index":5485,"title":{"classes/ColumnBoardFactory.html":{}},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardfactory.define(columnboard",{"_index":5491,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardid",{"_index":3044,"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":5619,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardids.length",{"_index":19439,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardids.map((id",{"_index":5626,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardids.push(columnboard.id",{"_index":19441,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardinfo",{"_index":19339,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.columnboardid",{"_index":19342,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.createdat",{"_index":19345,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.id",{"_index":19341,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.published",{"_index":19344,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.title",{"_index":19343,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.updatedat",{"_index":19346,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardmetadata",{"_index":9755,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardnode",{"_index":3497,"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":3851,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodefactory.build",{"_index":3855,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodeprops",{"_index":5498,"title":{"interfaces/ColumnBoardNodeProps.html":{}},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["columnboardprops",{"_index":5445,"title":{"interfaces/ColumnBoardProps.html":{}},"body":{"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{}}}],["columnboardservice",{"_index":2020,"title":{"injectables/ColumnBoardService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget",{"_index":2966,"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":3378,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.createdat",{"_index":9803,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.id",{"_index":9801,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.published",{"_index":9805,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.title",{"_index":9802,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.updatedat",{"_index":9804,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtargetprops",{"_index":5604,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["columnboardtargets",{"_index":5625,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardtargetservice",{"_index":5611,"title":{"injectables/ColumnBoardTargetService.html":{}},"body":{"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{}}}],["columncontroller",{"_index":3031,"title":{"controllers/ColumnController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ColumnController.html":{}}}],["columnid",{"_index":4149,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{}}}],["columnnode",{"_index":3494,"title":{"entities/ColumnNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnnodefactory",{"_index":3852,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnnodefactory.build",{"_index":3872,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnprops",{"_index":5429,"title":{"interfaces/ColumnProps.html":{}},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["columnresponse",{"_index":3244,"title":{"classes/ColumnResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper",{"_index":3248,"title":{"classes/ColumnResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper.maptoresponse(column",{"_index":3269,"title":{},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["columnresponse})@apiresponse({status",{"_index":3215,"title":{},"body":{"controllers/BoardController.html":{}}}],["columns",{"_index":3563,"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":3860,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnservice",{"_index":3892,"title":{"injectables/ColumnService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{}}}],["columnuc",{"_index":3026,"title":{"injectables/ColumnUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["columnurlparams",{"_index":5638,"title":{"classes/ColumnUrlParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{}}}],["colums",{"_index":8536,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["combination",{"_index":18565,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["combinations",{"_index":26298,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["combine",{"_index":25534,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["combined",{"_index":20926,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["combines",{"_index":26478,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["come",{"_index":25094,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["comes",{"_index":25256,"title":{},"body":{"license.html":{}}}],["coming",{"_index":26396,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["command",{"_index":3812,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["command({command",{"_index":3808,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"classes/ServerConsole.html":{}}}],["commander",{"_index":24874,"title":{},"body":{"dependencies.html":{}}}],["commandname",{"_index":14818,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["commandoption",{"_index":4892,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["commandoutput",{"_index":19587,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["commandresponse",{"_index":22563,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["commands",{"_index":4906,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["comment",{"_index":10603,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["comments",{"_index":26240,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["commercial",{"_index":25332,"title":{},"body":{"license.html":{}}}],["commit",{"_index":25028,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["commitment",{"_index":25475,"title":{},"body":{"license.html":{}}}],["commits",{"_index":26237,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["committing",{"_index":25023,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common",{"_index":5776,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"modules/ExternalToolModule.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common/controller/dto",{"_index":10519,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["common/domain",{"_index":6699,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["common/entity",{"_index":6791,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["common/enum",{"_index":2036,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceUc.html":{}}}],["common/interface",{"_index":6700,"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":6980,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["common/service",{"_index":7067,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["common/uc/tool",{"_index":7104,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["commoncartridgeconfig",{"_index":5729,"title":{"interfaces/CommonCartridgeConfig.html":{}},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["commoncartridgeelement",{"_index":5734,"title":{"interfaces/CommonCartridgeElement.html":{}},"body":{"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeexportservice",{"_index":5738,"title":{"injectables/CommonCartridgeExportService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomModule.html":{}}}],["commoncartridgefile",{"_index":5842,"title":{"interfaces/CommonCartridgeFile.html":{}},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgefilebuilder",{"_index":5751,"title":{"classes/CommonCartridgeFileBuilder.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgefilebuilderoptions",{"_index":5855,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeintendedusetype",{"_index":5774,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeintendedusetype.assignment",{"_index":5841,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeintendedusetype.unspecified",{"_index":5816,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeltiresource",{"_index":5909,"title":{"classes/CommonCartridgeLtiResource.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeltiresource(props",{"_index":6043,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgemanifestelement",{"_index":5873,"title":{"classes/CommonCartridgeManifestElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgemetadataelement",{"_index":5972,"title":{"classes/CommonCartridgeMetadataElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["commoncartridgemetadataelement(this.metadataprops).transform",{"_index":5989,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeorganizationbuilder",{"_index":5879,"title":{"classes/CommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationbuilder(props",{"_index":5890,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement",{"_index":5875,"title":{"classes/CommonCartridgeOrganizationItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement(this.props",{"_index":5880,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationwrapperelement",{"_index":5973,"title":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["commoncartridgeorganizationwrapperelement(this.organizations).transform",{"_index":5990,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeresourceitemelement",{"_index":5876,"title":{"classes/CommonCartridgeResourceItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(props",{"_index":5885,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(resourceprops",{"_index":5882,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourcetype",{"_index":5775,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.lti",{"_index":5918,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeresourcetype.web_content",{"_index":5814,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeresourcetype.web_link_v1",{"_index":5823,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.web_link_v3",{"_index":5822,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcewrapperelement",{"_index":5975,"title":{"classes/CommonCartridgeResourceWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["commoncartridgeresourcewrapperelement(this.resources).transform",{"_index":5991,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeversion",{"_index":5753,"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":5840,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeversion.v_1_3_0",{"_index":5821,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgewebcontentresource",{"_index":6038,"title":{"classes/CommonCartridgeWebContentResource.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgewebcontentresource(props",{"_index":6044,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeweblinkresourceelement",{"_index":6040,"title":{"classes/CommonCartridgeWebLinkResourceElement.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeweblinkresourceelement(props",{"_index":6045,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commonobject",{"_index":5919,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$.xmlns",{"_index":5940,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:blti",{"_index":5942,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticm",{"_index":5944,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticp",{"_index":5946,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xsi:schemalocation",{"_index":5948,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonprops",{"_index":5807,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commons",{"_index":24814,"title":{},"body":{"dependencies.html":{}}}],["commontags",{"_index":6062,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commontoolmodule",{"_index":6072,"title":{"modules/CommonToolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["commontoolservice",{"_index":6078,"title":{"injectables/CommonToolService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["commontoolvalidationservice",{"_index":6079,"title":{"injectables/CommonToolValidationService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["commontoolvalidationservice.typecheckers[type",{"_index":6161,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["communicate",{"_index":26460,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["communication",{"_index":25183,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["community",{"_index":25055,"title":{},"body":{"license.html":{}}}],["comparator",{"_index":25950,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["comparealphabetic",{"_index":2994,"title":{},"body":{"entities/Board.html":{}}}],["compared",{"_index":26249,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["compareparameters",{"_index":11189,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["compareparameters(oldparams",{"_index":11197,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["comparepassword",{"_index":92,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["compareversions(otherlibrary",{"_index":11742,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["compass",{"_index":26202,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["compatible",{"_index":25691,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["compilation",{"_index":25262,"title":{},"body":{"license.html":{}}}],["compilation's",{"_index":25269,"title":{},"body":{"license.html":{}}}],["compilations",{"_index":25506,"title":{},"body":{"license.html":{}}}],["compile",{"_index":22562,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["compiler",{"_index":25175,"title":{},"body":{"license.html":{}}}],["complete",{"_index":16517,"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":3595,"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":21177,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["completed.loggable.ts",{"_index":16510,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:3",{"_index":16512,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:6",{"_index":16513,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completion",{"_index":26154,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["completly",{"_index":26443,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["complex",{"_index":15298,"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":26364,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["compliance",{"_index":25435,"title":{},"body":{"license.html":{}}}],["comply",{"_index":25198,"title":{},"body":{"license.html":{}}}],["compodoc",{"_index":25779,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["component",{"_index":6226,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["component.constructor.name",{"_index":6552,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["componentetherpadproperties",{"_index":6204,"title":{"interfaces/ComponentEtherpadProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentgeogebraproperties",{"_index":6220,"title":{"interfaces/ComponentGeogebraProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentinternalproperties",{"_index":6225,"title":{"interfaces/ComponentInternalProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentlernstoreproperties",{"_index":6222,"title":{"interfaces/ComponentLernstoreProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentnexboardproperties",{"_index":6224,"title":{"interfaces/ComponentNexboardProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentproperties",{"_index":5760,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{}}}],["components",{"_index":25006,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["componenttextproperties",{"_index":6219,"title":{"interfaces/ComponentTextProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype",{"_index":5772,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.etherpad",{"_index":5824,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.geogebra",{"_index":5819,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.internal",{"_index":6227,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.lernstore",{"_index":6228,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.nexboard",{"_index":6229,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.text",{"_index":5813,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["composedname",{"_index":7416,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["composemetatags",{"_index":16441,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composemetatags(url",{"_index":16445,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composite",{"_index":3114,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["composite.do",{"_index":4357,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["composite.do.ts",{"_index":3060,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["composite.do.ts:11",{"_index":3089,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:15",{"_index":3091,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:19",{"_index":3077,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:33",{"_index":3082,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:35",{"_index":3084,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:39",{"_index":3080,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:45",{"_index":3070,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:47",{"_index":3074,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:7",{"_index":3087,"title":{},"body":{"classes/BoardComposite.html":{}}}],["compression",{"_index":24876,"title":{},"body":{"dependencies.html":{}}}],["computer",{"_index":25134,"title":{},"body":{"license.html":{}}}],["concatenating",{"_index":16893,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["concept",{"_index":25908,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concepts",{"_index":25907,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concern",{"_index":25843,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["concerns",{"_index":25541,"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":25968,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concurrently",{"_index":24877,"title":{},"body":{"dependencies.html":{}}}],["cond",{"_index":22114,"title":{},"body":{"injectables/TaskRule.html":{}}}],["condition",{"_index":26053,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["conditioned",{"_index":25500,"title":{},"body":{"license.html":{}}}],["conditions",{"_index":25107,"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":2392,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference",{"_index":9599,"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":24428,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference.controller.ts",{"_index":24422,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:105",{"_index":24435,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:132",{"_index":24431,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:44",{"_index":24446,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:77",{"_index":24441,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.do.ts",{"_index":24538,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:19",{"_index":24541,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:21",{"_index":24542,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:23",{"_index":24539,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:5",{"_index":24691,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:7",{"_index":24692,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:9",{"_index":24690,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.entity",{"_index":24710,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.entity.ts",{"_index":24373,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:10",{"_index":24688,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:12",{"_index":24689,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:14",{"_index":24687,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:31",{"_index":24376,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:34",{"_index":24377,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:37",{"_index":24375,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.mapper",{"_index":24449,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference.mapper.ts",{"_index":24649,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:25",{"_index":24655,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:32",{"_index":24657,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:38",{"_index":24661,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:42",{"_index":24659,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.module",{"_index":24411,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["conference.module.ts",{"_index":24678,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo",{"_index":24681,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo.ts",{"_index":24703,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:20",{"_index":24708,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:24",{"_index":24706,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.ts",{"_index":24392,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:10",{"_index":24393,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:6",{"_index":24396,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:8",{"_index":24394,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference/bbb/bbb",{"_index":13719,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["conference/bbb/bbb.service.ts",{"_index":2327,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:107",{"_index":2363,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:136",{"_index":2354,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:14",{"_index":2339,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:150",{"_index":2372,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:167",{"_index":2365,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:21",{"_index":2376,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:25",{"_index":2378,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:29",{"_index":2380,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:39",{"_index":2342,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:61",{"_index":2361,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:72",{"_index":2369,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:84",{"_index":2349,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/builder/bbb",{"_index":2201,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["conference/bbb/builder/builder.ts",{"_index":4226,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:2",{"_index":4228,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:8",{"_index":4230,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/request/bbb",{"_index":2139,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["conference/bbb/response/bbb",{"_index":2149,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["conference/bbb/response/bbb.response.ts",{"_index":2325,"title":{},"body":{"interfaces/BBBResponse.html":{}}}],["conference/controller/dto/request/video",{"_index":24474,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference/controller/dto/response/video",{"_index":9598,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["conference/controller/video",{"_index":24421,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference/error/error",{"_index":24589,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/error/invalid",{"_index":14348,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["conference/interface/video",{"_index":13811,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["conference/mapper/vc",{"_index":24729,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference/mapper/video",{"_index":24648,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference/uc/dto/scope",{"_index":20497,"title":{},"body":{"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{}}}],["conference/uc/dto/video",{"_index":24391,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["conference/uc/video",{"_index":24492,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/video",{"_index":20585,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["conferences",{"_index":24685,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["config",{"_index":2088,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ProvisioningConfigModule.html":{},"classes/PublicSystemResponse.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"interfaces/ServerConfig.html":{},"classes/System.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolConfigModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolVersionService.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["config.'})@isoptional()@isboolean()@stringtoboolean",{"_index":21554,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["config.allowmodstounmuteusers",{"_index":2197,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.attendeepw",{"_index":2195,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.builder.ts",{"_index":2202,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:10",{"_index":2284,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:11",{"_index":2218,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:15",{"_index":2286,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:16",{"_index":2212,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:21",{"_index":2216,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:5",{"_index":2282,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:6",{"_index":2214,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.clientid",{"_index":11453,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["config.connectionname",{"_index":19658,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["config.do",{"_index":2705,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts",{"_index":2699,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:11",{"_index":16039,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:13",{"_index":16040,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:15",{"_index":16037,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:17",{"_index":17087,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:4",{"_index":2701,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{}}}],["config.do.ts:5",{"_index":16038,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:6",{"_index":10177,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["config.do.ts:7",{"_index":16042,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:9",{"_index":16041,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.dto",{"_index":21510,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["config.dto.ts",{"_index":17216,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:1",{"_index":17670,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:10",{"_index":17221,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:12",{"_index":17229,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:14",{"_index":17218,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:16",{"_index":17227,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:18",{"_index":17228,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:2",{"_index":17219,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:20",{"_index":17225,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:22",{"_index":17671,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:24",{"_index":17674,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:25",{"_index":17224,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:26",{"_index":17673,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:27",{"_index":17223,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:28",{"_index":17675,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:29",{"_index":17217,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:30",{"_index":17672,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:4",{"_index":17220,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:6",{"_index":17222,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:8",{"_index":17226,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.entity",{"_index":2714,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts",{"_index":2710,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:10",{"_index":10182,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:11",{"_index":17105,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:12",{"_index":16063,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:15",{"_index":16062,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:18",{"_index":16060,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:21",{"_index":16061,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:24",{"_index":16058,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:6",{"_index":2711,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["config.entity.ts:7",{"_index":10183,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:8",{"_index":17106,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:9",{"_index":16059,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.frontchannellogouturi",{"_index":11081,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.fullname",{"_index":2268,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guest",{"_index":2273,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guestpolicy",{"_index":2191,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.interface.ts",{"_index":9133,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["config.json",{"_index":26274,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["config.logouturl",{"_index":2187,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.meetingid",{"_index":2147,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"injectables/BBBService.html":{}}}],["config.moderatorpw",{"_index":2193,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.module",{"_index":6830,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/ProvisioningModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["config.module.ts",{"_index":18258,"title":{},"body":{"modules/ProvisioningConfigModule.html":{},"modules/ToolConfigModule.html":{}}}],["config.name",{"_index":2185,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.params",{"_index":2725,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["config.params.ts",{"_index":2719,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:4",{"_index":10180,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:6",{"_index":10179,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.redirect",{"_index":2275,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.redirecturis",{"_index":11079,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.response",{"_index":2734,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["config.response.ts",{"_index":2729,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:10",{"_index":2731,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["config.response.ts:13",{"_index":16066,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:16",{"_index":16069,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:19",{"_index":16067,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:22",{"_index":16068,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:23",{"_index":17258,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:25",{"_index":16065,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:28",{"_index":17110,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:30",{"_index":17253,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:37",{"_index":17261,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:4",{"_index":10186,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:44",{"_index":17251,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:51",{"_index":17259,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:58",{"_index":17260,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:6",{"_index":10185,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:65",{"_index":17257,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:72",{"_index":17256,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:79",{"_index":17255,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:86",{"_index":17250,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:9",{"_index":17252,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.role",{"_index":2270,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.scope",{"_index":11075,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.tokenendpointauthmethod",{"_index":11077,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.ts",{"_index":311,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"interfaces/InterceptorConfig.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/MailConfig.html":{},"classes/OauthConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ToolConfiguration.html":{},"interfaces/UserConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:10",{"_index":17194,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:11",{"_index":18260,"title":{},"body":{"classes/ProvisioningConfiguration.html":{}}}],["config.ts:12",{"_index":17201,"title":{},"body":{"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:14",{"_index":17193,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:16",{"_index":17199,"title":{},"body":{"classes/OauthConfig.html":{},"classes/ToolConfiguration.html":{}}}],["config.ts:18",{"_index":17200,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:2",{"_index":15048,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:20",{"_index":17197,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:25",{"_index":17196,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:27",{"_index":17195,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:29",{"_index":17192,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:4",{"_index":14597,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:5",{"_index":14524,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["config.ts:6",{"_index":15047,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:8",{"_index":17198,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.type",{"_index":10175,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["config.userid",{"_index":2271,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.welcome",{"_index":2189,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config/development.json",{"_index":12105,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/test.json",{"_index":12106,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/x",{"_index":24805,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["config['meta_bbb",{"_index":2199,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["configbuilder",{"_index":24525,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withguestpolicy(guestpolicy.ask_moderator",{"_index":24531,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withmuteonstart(true",{"_index":24533,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configmodule",{"_index":1021,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions",{"_index":18058,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(config",{"_index":12418,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(getdeletionclientconfig",{"_index":9149,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(h5plibrarymanagementconfig",{"_index":13429,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(metatagextractorconfig",{"_index":16365,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(serverconfig",{"_index":1039,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configs",{"_index":14751,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/S3ClientModule.html":{}}}],["configs.flatmap((config",{"_index":19657,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["configservice",{"_index":634,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/FilesStorageProducer.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{}}}],["configservice.get('feature_identity_management_login_enabled",{"_index":684,"title":{},"body":{"modules/AccountModule.html":{}}}],["configservice.get('incoming_request_timeout",{"_index":14338,"title":{},"body":{"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{}}}],["configservice.get('incoming_request_timeout_copy_api",{"_index":12450,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["configservice.get('nest_log_level",{"_index":15902,"title":{},"body":{"modules/LoggerModule.html":{}}}],["configservice.get(aeskey",{"_index":9915,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["configtoupdate",{"_index":11131,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["configtype",{"_index":23244,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["configuration",{"_index":2219,"title":{"additional-documentation/nestjs-application/configuration.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configuration.console",{"_index":14610,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.console.ts",{"_index":4890,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.console.ts:121",{"_index":14813,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:156",{"_index":14816,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:172",{"_index":14817,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:201",{"_index":14815,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:23",{"_index":14809,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:32",{"_index":14810,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:51",{"_index":14811,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:77",{"_index":14812,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:99",{"_index":14819,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.controller",{"_index":14617,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.controller.ts",{"_index":14934,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:106",{"_index":23035,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:129",{"_index":23031,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:19",{"_index":14938,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration.controller.ts:40",{"_index":23040,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:58",{"_index":23025,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:80",{"_index":23022,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.externaltoolid",{"_index":6752,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.get",{"_index":20517,"title":{},"body":{"interfaces/ServerConfig.html":{},"injectables/ShareTokenUC.html":{}}}],["configuration.get('admin_api__allowed_api_keys",{"_index":20522,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('antivirus_exchange",{"_index":12422,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('antivirus_routing_key",{"_index":12423,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('blocklist_of_email_domains",{"_index":20525,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('calendar_uri",{"_index":4333,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('clamav__service_hostname",{"_index":12424,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('clamav__service_port",{"_index":12425,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('column_board_feedback_link",{"_index":5580,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('column_board_help_link",{"_index":5564,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('ctl_tools__external_tool_max_logo_size_in_bytes",{"_index":13808,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('enable_file_security_check",{"_index":12420,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('feature_column_board_enabled",{"_index":9775,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["configuration.get('feature_compute_tool_status_without_versions_enabled",{"_index":13807,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_copy_service_enabled",{"_index":7737,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["configuration.get('feature_course_share_new",{"_index":20900,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_ctl_context_configuration_enabled",{"_index":13806,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_ctl_tools_tab_enabled",{"_index":13804,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_fwu_content_enabled",{"_index":12537,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["configuration.get('feature_identity_management_enabled",{"_index":14517,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{}}}],["configuration.get('feature_identity_management_login_enabled",{"_index":20520,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_identity_management_store_enabled",{"_index":20519,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_imscc_course_export_enabled",{"_index":20518,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_lesson_share",{"_index":20902,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_lti_tools_tab_enabled",{"_index":13805,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_prometheus_metrics_enabled",{"_index":18193,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('feature_provisioning_options_enabled",{"_index":13789,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["configuration.get('feature_sanis_group_provisioning_enabled",{"_index":13788,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["configuration.get('feature_task_share",{"_index":20903,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_tldraw_enabled",{"_index":22712,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('feature_videoconference_enabled",{"_index":24419,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('files_storage__exchange",{"_index":7200,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["configuration.get('files_storage__incoming_request_timeout",{"_index":12098,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__max_file_size",{"_index":12101,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_access_key_id",{"_index":12110,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_bucket",{"_index":12109,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_endpoint",{"_index":12107,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_region",{"_index":12108,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_secret_access_key",{"_index":12111,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__service_base_url",{"_index":12421,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('files_storage__use_stream_to_antivirus",{"_index":12102,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('h5p_editor__library_list_path",{"_index":13745,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["configuration.get('host",{"_index":5592,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/HydraSsoService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('hydra_public_uri",{"_index":13699,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('i18n__available_languages",{"_index":20513,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('identity_management__admin_clientid",{"_index":14523,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_password",{"_index":14522,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_user",{"_index":14521,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__clientid",{"_index":14520,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__tenant",{"_index":14519,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__uri",{"_index":14518,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('incoming_request_timeout_api",{"_index":20511,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('incoming_request_timeout_copy_api",{"_index":12100,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('login_block_time",{"_index":20516,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('mail_send_exchange",{"_index":18573,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('mail_send_routing_key",{"_index":20590,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('migration_end_grace_period_ms",{"_index":24059,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["configuration.get('nest_log_level",{"_index":12096,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('nextcloud_scopes",{"_index":13713,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('nextcloud_sociallogin_oidc_internal_name",{"_index":5082,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["configuration.get('node_env",{"_index":20515,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_default_metrics",{"_index":18196,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_metrics_route_metrics",{"_index":18197,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_port",{"_index":18195,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_route",{"_index":18194,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('public_backend_url",{"_index":13809,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('rabbitmq_uri",{"_index":18574,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('redis_uri",{"_index":4279,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["configuration.get('request_option__timeout_ms",{"_index":4335,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('rocket_chat_admin_id",{"_index":9071,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_password",{"_index":9074,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_token",{"_index":9072,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_user",{"_index":9073,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_uri",{"_index":9070,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('s3_key",{"_index":20988,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["configuration.get('sc_domain",{"_index":2229,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('sc_theme",{"_index":5591,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('session__expires_seconds",{"_index":20593,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__http_only",{"_index":20617,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__name",{"_index":20606,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__proxy",{"_index":20609,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__same_site",{"_index":20613,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secret",{"_index":20602,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secure",{"_index":20611,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('tldraw__db_collection_name",{"_index":22709,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_flush_size",{"_index":22710,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_multiple_collections",{"_index":22711,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__gc_enabled",{"_index":22714,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__ping_timeout",{"_index":22713,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__socket_port",{"_index":22716,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw_db_url",{"_index":22708,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('videoconference_default_presentation",{"_index":24418,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_host",{"_index":24416,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_salt",{"_index":24417,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get(placeholder",{"_index":5386,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.has('column_board_feedback_link",{"_index":5578,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('column_board_help_link",{"_index":5562,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('redis_uri",{"_index":4262,"title":{},"body":{"injectables/CacheService.html":{},"modules/RedisModule.html":{}}}],["configuration.has('session__name",{"_index":20605,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has('session__proxy",{"_index":20608,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has(placeholder",{"_index":5385,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.logourl",{"_index":6757,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.mapper",{"_index":23043,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.mapper.ts",{"_index":23063,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:14",{"_index":23078,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:30",{"_index":23076,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:43",{"_index":23073,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:62",{"_index":23070,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:75",{"_index":23080,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.module",{"_index":16266,"title":{},"body":{"modules/ManagementModule.html":{}}}],["configuration.module.ts",{"_index":14607,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.name",{"_index":6755,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.parameters",{"_index":6758,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.response",{"_index":20041,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["configuration.response.ts",{"_index":19949,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.response.ts:9",{"_index":19950,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.schoolexternaltoolid",{"_index":6754,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.service",{"_index":14614,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.service.ts",{"_index":10189,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:100",{"_index":10217,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:108",{"_index":14642,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:128",{"_index":14643,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:14",{"_index":10198,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:155",{"_index":14644,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:167",{"_index":14639,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:191",{"_index":14663,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:20",{"_index":10211,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:214",{"_index":14647,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:224",{"_index":14667,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:235",{"_index":14653,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:240",{"_index":14669,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:254",{"_index":14650,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:26",{"_index":14636,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:262",{"_index":14658,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:277",{"_index":14655,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:29",{"_index":10207,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:34",{"_index":14641,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:51",{"_index":10202,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:82",{"_index":10213,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:92",{"_index":10216,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.uc",{"_index":4895,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.uc.ts",{"_index":10250,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:133",{"_index":10271,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:153",{"_index":10269,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:16",{"_index":14791,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:182",{"_index":10263,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:19",{"_index":10259,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:194",{"_index":10261,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:20",{"_index":14793,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:24",{"_index":14797,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:28",{"_index":14796,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:31",{"_index":10273,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:32",{"_index":14794,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:40",{"_index":10267,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:76",{"_index":10265,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:8",{"_index":14790,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.version",{"_index":6760,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration/console/keycloak",{"_index":4889,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration/controller/keycloak",{"_index":14933,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration/interface/json",{"_index":14431,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["configuration/interface/keycloak",{"_index":13753,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["configuration/keycloak",{"_index":14593,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["configuration/mapper/identity",{"_index":17705,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["configuration/service/keycloak",{"_index":14620,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["configuration/uc/keycloak",{"_index":14788,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configurations",{"_index":12103,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configurationstatus",{"_index":6105,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopecontext",{"_index":6110,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopeschool",{"_index":6111,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configure",{"_index":4945,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["configure(consumer",{"_index":20556,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configure(options",{"_index":4947,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configureaction",{"_index":14682,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.action",{"_index":14733,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.create",{"_index":14734,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.delete",{"_index":14738,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.update",{"_index":14736,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureactions",{"_index":14731,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurebrokerflows",{"_index":14622,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureclient",{"_index":14623,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configured",{"_index":16459,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["configureidentityproviders",{"_index":14624,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurerealm",{"_index":14625,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configures",{"_index":4946,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/CoreModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["confirmed",{"_index":17938,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["confirmpassword",{"_index":17936,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["conflict",{"_index":7692,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["conflicts",{"_index":13502,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["conjunction",{"_index":26281,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["conn",{"_index":22859,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.readystate",{"_index":22901,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.send(message",{"_index":22905,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conncontrolledids",{"_index":24788,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.add(clientid",{"_index":24791,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.delete(clientid",{"_index":24793,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["connect",{"_index":14724,"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":15182,"title":{},"body":{"injectables/LdapService.html":{}}}],["connected",{"_index":20147,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["connecting",{"_index":25711,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["connection",{"_index":4921,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connection.connected",{"_index":15189,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error",{"_index":15186,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error.ts",{"_index":15172,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.error.ts:4",{"_index":15174,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.managedconnection.close",{"_index":18579,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["connection.ts",{"_index":22567,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:4",{"_index":22570,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:9",{"_index":22571,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.unbind",{"_index":15190,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection_string",{"_index":22700,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["connectionname",{"_index":7307,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connections",{"_index":18576,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connectionstring",{"_index":22628,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["connectredis",{"_index":20587,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis(session",{"_index":20596,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis.redisstore",{"_index":20594,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connects",{"_index":14939,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["conns",{"_index":22832,"title":{},"body":{"classes/TldrawWsFactory.html":{},"classes/WsSharedDocDo.html":{}}}],["consent",{"_index":164,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consent.params.ts",{"_index":19054,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.params.ts:7",{"_index":19055,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.response",{"_index":18251,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consent_request",{"_index":18250,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consentflowuc",{"_index":17456,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequest",{"_index":17489,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequestbody",{"_index":6273,"title":{"classes/ConsentRequestBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["consentresponse",{"_index":6320,"title":{"classes/ConsentResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consentresponse.client?.client_id",{"_index":17393,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentresponse.requested_scope",{"_index":17392,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentsessionresponse",{"_index":6362,"title":{"classes/ConsentSessionResponse.html":{}},"body":{"classes/ConsentSessionResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consequence",{"_index":25423,"title":{},"body":{"license.html":{}}}],["consequential",{"_index":25565,"title":{},"body":{"license.html":{}}}],["considerations",{"_index":25894,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["considered",{"_index":25393,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":2231,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/GlobalErrorFilter.html":{},"injectables/TldrawBoardRepo.html":{},"license.html":{}}}],["console",{"_index":3813,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["console.info('info",{"_index":6386,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["console.module.ts",{"_index":9140,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["console/board",{"_index":16267,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/builder/batch",{"_index":2876,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["console/builder/deletion",{"_index":9178,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["console/builder/push",{"_index":18539,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["console/builder/trigger",{"_index":23495,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["console/database",{"_index":16269,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/deletion",{"_index":9075,"title":{},"body":{"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["console/interface/deletion",{"_index":9175,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["console/interface/push",{"_index":18543,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{}}}],["console/interface/trigger",{"_index":23493,"title":{},"body":{"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["console/keycloak",{"_index":14609,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["console/services/batch",{"_index":2817,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["console/services/builder/queue",{"_index":18546,"title":{},"body":{"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["console/services/interface/queue",{"_index":18545,"title":{},"body":{"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["console/services/references.service.ts",{"_index":18870,"title":{},"body":{"classes/ReferencesService.html":{}}}],["console/services/references.service.ts:4",{"_index":18873,"title":{},"body":{"classes/ReferencesService.html":{}}}],["console/uc/batch",{"_index":2891,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["console/uc/deletion",{"_index":9191,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["console/uc/interface/batch",{"_index":2866,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{}}}],["consolelogger",{"_index":15304,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["consolemodule",{"_index":9141,"title":{},"body":{"modules/DeletionConsoleModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriter",{"_index":3806,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{}}}],["consolewritermodule",{"_index":3887,"title":{"modules/ConsoleWriterModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriterservice",{"_index":3803,"title":{"injectables/ConsoleWriterService.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["conspicuously",{"_index":25238,"title":{},"body":{"license.html":{}}}],["const",{"_index":135,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDtoBuilder.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constants",{"_index":1550,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{},"injectables/S3ClientAdapter.html":{}}}],["constitutes",{"_index":25192,"title":{},"body":{"license.html":{}}}],["constraint",{"_index":18568,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["constructor",{"_index":433,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"injectables/CopyFilesService.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/LoginUc.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoResponse.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constructor(@inject(defaultencryptionservice",{"_index":17712,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(@inject(mikroorm",{"_index":16548,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["constructor(@inject(request",{"_index":11475,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["constructor(@inject(winston_module_provider",{"_index":10003,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["constructor(_em",{"_index":2445,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(accountrepo",{"_index":903,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["constructor(adapter",{"_index":5128,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["constructor(amqpconnection",{"_index":1297,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["constructor(apivalidationerror",{"_index":1383,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["constructor(app",{"_index":1630,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["constructor(authenticationservice",{"_index":15845,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["constructor(authorisation",{"_index":15573,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["constructor(authorisationservice",{"_index":19286,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["constructor(authorization",{"_index":7726,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["constructor(authorizationhelper",{"_index":3711,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["constructor(authorizationservice",{"_index":2667,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["constructor(authservice",{"_index":16008,"title":{},"body":{"injectables/LoginUc.html":{}}}],["constructor(axioserror",{"_index":2100,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["constructor(batchdeletionservice",{"_index":2894,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["constructor(bbbservice",{"_index":24498,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["constructor(bbbsettings",{"_index":2336,"title":{},"body":{"injectables/BBBService.html":{}}}],["constructor(boarddorepo",{"_index":3445,"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":14492,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["constructor(classesrepo",{"_index":4813,"title":{},"body":{"injectables/ClassService.html":{}}}],["constructor(client",{"_index":19531,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["constructor(clientid",{"_index":6366,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/IdTokenCreationLoggableException.html":{}}}],["constructor(closedat",{"_index":23789,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["constructor(columnboardservice",{"_index":4175,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["constructor(config",{"_index":2143,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["constructor(configservice",{"_index":22636,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/XApiKeyStrategy.html":{}}}],["constructor(configuration",{"_index":6742,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["constructor(consentresponse",{"_index":6328,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["constructor(console",{"_index":14808,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["constructor(consolewriter",{"_index":3802,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ServerConsole.html":{}}}],["constructor(content",{"_index":6487,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["constructor(contextexternaltool",{"_index":16523,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["constructor(contextexternaltoolrepo",{"_index":6714,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{}}}],["constructor(contextexternaltoolservice",{"_index":7128,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolReferenceUc.html":{}}}],["constructor(contextexternaltoolvalidationservice",{"_index":23488,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["constructor(contexttoolrepo",{"_index":19985,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["constructor(copyhelperservice",{"_index":7339,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["constructor(county",{"_index":7487,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["constructor(courseexportservice",{"_index":7741,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["constructor(courserepo",{"_index":7672,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{},"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["constructor(courserule",{"_index":19491,"title":{},"body":{"injectables/RuleManager.html":{}}}],["constructor(courseservice",{"_index":2017,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseUrlHandler.html":{}}}],["constructor(customkey",{"_index":20980,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["constructor(dashboardrepo",{"_index":8809,"title":{},"body":{"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{}}}],["constructor(data",{"_index":864,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["constructor(defaultencryptionservice",{"_index":17708,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(deletefilesuc",{"_index":8957,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["constructor(deletionclient",{"_index":2820,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionExecutionUc.html":{}}}],["constructor(deletionlogrepo",{"_index":9321,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["constructor(deletionrequestrepo",{"_index":9538,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["constructor(descendants",{"_index":3531,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["constructor(descriptionoroptions",{"_index":15029,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["constructor(details",{"_index":15173,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["constructor(domainobject",{"_index":8223,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(dto",{"_index":4295,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["constructor(e",{"_index":1085,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["constructor(editormodel",{"_index":12595,"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":3644,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SystemRepo.html":{}}}],["constructor(entityclass",{"_index":2572,"title":{},"body":{"classes/BaseFactory.html":{}}}],["constructor(entityname",{"_index":9930,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["constructor(error",{"_index":9942,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["constructor(errorcode",{"_index":1464,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["constructor(expectedtype",{"_index":18292,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["constructor(externalschoolid",{"_index":10117,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["constructor(externaltoolid",{"_index":10426,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["constructor(externaltoollogo",{"_index":10408,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["constructor(externaltoolmetadata",{"_index":10505,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["constructor(externaltoolmetadataresponse",{"_index":10521,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["constructor(externaltoolname",{"_index":19046,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["constructor(externaltoolrepo",{"_index":11005,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["constructor(externaltoolservice",{"_index":10257,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["constructor(externaluserid",{"_index":24189,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["constructor(feathersauthprovider",{"_index":11312,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["constructor(feathersserviceprovider",{"_index":10062,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/NexboardService.html":{}}}],["constructor(federalstaterepo",{"_index":11503,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["constructor(field",{"_index":24358,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(fieldname",{"_index":13830,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["constructor(file",{"_index":11516,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["constructor(filecopyservice",{"_index":18601,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["constructor(filerecord",{"_index":7240,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["constructor(filesrepo",{"_index":8983,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["constructor(filesstorageclientadapterservice",{"_index":20300,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["constructor(filesstorageservice",{"_index":12331,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["constructor(group",{"_index":12971,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["constructor(grouprepo",{"_index":13061,"title":{},"body":{"injectables/GroupService.html":{}}}],["constructor(groupuser",{"_index":23780,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["constructor(httpservice",{"_index":4324,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/OauthAdapterService.html":{}}}],["constructor(id",{"_index":2435,"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(idmap",{"_index":21395,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["constructor(idmservice",{"_index":632,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["constructor(info",{"_index":1436,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["constructor(init",{"_index":4227,"title":{},"body":{"classes/Builder.html":{}}}],["constructor(internallinkmatatagservice",{"_index":16387,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["constructor(inusermigration",{"_index":16511,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["constructor(jwtservice",{"_index":1693,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["constructor(jwtvalidationadapter",{"_index":14466,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["constructor(kcadmin",{"_index":14634,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["constructor(kcadminclient",{"_index":14552,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["constructor(kcadminservice",{"_index":14823,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["constructor(key",{"_index":8216,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["constructor(ldapconfig",{"_index":15063,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(legacysystemservice",{"_index":21640,"title":{},"body":{"injectables/SystemUc.html":{}}}],["constructor(lessonrepo",{"_index":15699,"title":{},"body":{"injectables/LessonService.html":{}}}],["constructor(lessonservice",{"_index":15732,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["constructor(librarymetadata",{"_index":11749,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(librarystorage",{"_index":13440,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["constructor(loader",{"_index":1950,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["constructor(logger",{"_index":3282,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ErrorLogger.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["constructor(loginresponse",{"_index":15981,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["constructor(logourl",{"_index":10415,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["constructor(logouturl",{"_index":14351,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["constructor(ltirepo",{"_index":13630,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["constructor(ltitoolrepo",{"_index":16203,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["constructor(ltitoolservice",{"_index":17509,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["constructor(machinename",{"_index":11699,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(message",{"_index":1796,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/ForbiddenOperationError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/ValidationError.html":{}}}],["constructor(metadata",{"_index":6588,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["constructor(name",{"_index":11690,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{}}}],["constructor(newsrepo",{"_index":16796,"title":{},"body":{"injectables/NewsUc.html":{}}}],["constructor(oauthconfig",{"_index":15083,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oauthconfigdto",{"_index":17191,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["constructor(oauthconfigresponse",{"_index":17249,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["constructor(oauthproviderloginflowservice",{"_index":13842,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["constructor(oauthproviderservice",{"_index":17340,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["constructor(oauthservice",{"_index":13564,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/Oauth2Strategy.html":{}}}],["constructor(officialschoolnumber",{"_index":20275,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["constructor(oidcconfig",{"_index":15139,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oidcconfigdto",{"_index":17669,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["constructor(operation",{"_index":16640,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["constructor(operator",{"_index":20480,"title":{},"body":{"classes/Scope.html":{}}}],["constructor(options",{"_index":5854,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(organizationelements",{"_index":6022,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["constructor(parametertype",{"_index":17913,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["constructor(params",{"_index":15332,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["constructor(path",{"_index":11697,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(payload",{"_index":20766,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["constructor(previewgeneratorservice",{"_index":18033,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["constructor(private",{"_index":400,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FederalStateService.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapService.html":{},"injectables/LegacySchoolRule.html":{},"controllers/LessonController.html":{},"injectables/LessonUrlHandler.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"controllers/NewsController.html":{},"injectables/NexboardService.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/ServerConsole.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"controllers/TaskController.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserRule.html":{},"injectables/UserUc.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["constructor(props",{"_index":232,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/PageContentDto.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"entities/User.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["constructor(protected",{"_index":2484,"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/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(provisioningdto",{"_index":18262,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["constructor(provisioningfeatures",{"_index":17863,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["constructor(provisioningstrategy",{"_index":18350,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{}}}],["constructor(pseudonym",{"_index":22992,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["constructor(pseudonymrepo",{"_index":18453,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["constructor(pseudonymservice",{"_index":18497,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["constructor(public",{"_index":22665,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["constructor(readonly",{"_index":1370,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(redirectreponse",{"_index":18802,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["constructor(registrationpinrepo",{"_index":18928,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["constructor(relation",{"_index":13032,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["constructor(repo",{"_index":7823,"title":{},"body":{"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/FilesService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["constructor(req",{"_index":18942,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(request",{"_index":11486,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["constructor(requesttimeout",{"_index":22607,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["constructor(res",{"_index":18962,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(resourceelements",{"_index":6050,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["constructor(resourcename",{"_index":16974,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["constructor(resp",{"_index":9603,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["constructor(response",{"_index":6947,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["constructor(rocketchatuserrepo",{"_index":19191,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["constructor(rolerepo",{"_index":19265,"title":{},"body":{"injectables/RoleService.html":{}}}],["constructor(roleservice",{"_index":19282,"title":{},"body":{"injectables/RoleUc.html":{}}}],["constructor(rulemanager",{"_index":1970,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["constructor(school",{"_index":20191,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["constructor(schoolexternaltoolmetadata",{"_index":19974,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{}}}],["constructor(schoolexternaltoolmetadataresponse",{"_index":19981,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["constructor(schoolexternaltoolrepo",{"_index":20073,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["constructor(schoolexternaltoolservice",{"_index":20109,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["constructor(schoolid",{"_index":20286,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["constructor(schoolname",{"_index":20168,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["constructor(schoolrepo",{"_index":15445,"title":{},"body":{"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["constructor(schoolservice",{"_index":2065,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["constructor(schoolsystemoptionsrepo",{"_index":20394,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["constructor(schooltoolrepo",{"_index":10528,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["constructor(schoolyearrepo",{"_index":20458,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["constructor(service",{"_index":5176,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["constructor(sharetokenservice",{"_index":20841,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["constructor(sourceentityname",{"_index":18859,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["constructor(sourceschoolnumber",{"_index":20278,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["constructor(state",{"_index":18202,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["constructor(storageclient",{"_index":18071,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["constructor(strategy",{"_index":5011,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["constructor(submissionitemsresponse",{"_index":21380,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["constructor(submissionrepo",{"_index":21333,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["constructor(submissionservice",{"_index":21361,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["constructor(successful",{"_index":21389,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["constructor(system",{"_index":18531,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{}}}],["constructor(systemid",{"_index":17245,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{}}}],["constructor(systemrepo",{"_index":15211,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["constructor(systemresponses",{"_index":18527,"title":{},"body":{"classes/PublicSystemListResponse.html":{}}}],["constructor(systemservice",{"_index":18310,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["constructor(task",{"_index":21680,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["constructor(taskrepo",{"_index":21836,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["constructor(taskservice",{"_index":19423,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["constructor(taskurlhandler",{"_index":16443,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["constructor(teamsrepo",{"_index":22378,"title":{},"body":{"injectables/TeamService.html":{}}}],["constructor(timetowait",{"_index":4201,"title":{},"body":{"classes/BruteForceError.html":{}}}],["constructor(tldrawrepo",{"_index":22774,"title":{},"body":{"injectables/TldrawService.html":{}}}],["constructor(tokengenerator",{"_index":20810,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["constructor(toolfeatures",{"_index":10196,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{}}}],["constructor(toollaunchservice",{"_index":23328,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["constructor(toolpermissionhelper",{"_index":7089,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["constructor(toolreference",{"_index":23358,"title":{},"body":{"classes/ToolReference.html":{}}}],["constructor(toolreferenceresponse",{"_index":23397,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["constructor(total",{"_index":17903,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["constructor(type",{"_index":10033,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["constructor(undefined",{"_index":821,"title":{},"body":{"classes/AccountResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BusinessError.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyApiResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["constructor(unknownquerytype",{"_index":23502,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["constructor(user",{"_index":13132,"title":{},"body":{"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"classes/UserDto.html":{}}}],["constructor(userid",{"_index":12506,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["constructor(userloginmigrationid",{"_index":23938,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["constructor(userloginmigrationservice",{"_index":4974,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["constructor(usermatchschoolid",{"_index":20155,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["constructor(usermigrationdto",{"_index":16504,"title":{},"body":{"classes/MigrationDto.html":{}}}],["constructor(usermigrationservice",{"_index":24079,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["constructor(username",{"_index":23498,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["constructor(userrepo",{"_index":18820,"title":{},"body":{"injectables/ReferenceLoader.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["constructor(userservice",{"_index":11371,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["constructor(uuid",{"_index":13871,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["constructor(validationerrors",{"_index":1357,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["construed",{"_index":25510,"title":{},"body":{"license.html":{}}}],["consumer",{"_index":16027,"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":16035,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["consumer.module.ts",{"_index":18049,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["consumer.module.ts:13",{"_index":18052,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["contact",{"_index":25598,"title":{},"body":{"license.html":{}}}],["contain",{"_index":585,"title":{},"body":{"classes/AccountFactory.html":{},"entities/Board.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["contained",{"_index":5766,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["container",{"_index":3160,"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":4055,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["container.url.params.ts",{"_index":21120,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["container.url.params.ts:11",{"_index":21122,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["containing",{"_index":9370,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/OauthClientBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["contains",{"_index":6178,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/FileMetadata.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"injectables/NewsRepo.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["content",{"_index":2393,"title":{},"body":{"injectables/BBBService.html":{},"classes/BoardElementResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"controllers/CourseController.html":{},"entities/CourseNews.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/DeletionClient.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["content.body.params.ts",{"_index":9640,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:106",{"_index":21090,"title":{},"body":{"classes/SubmissionContainerContentBody.html":{}}}],["content.body.params.ts:115",{"_index":21107,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["content.body.params.ts:122",{"_index":10308,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["content.body.params.ts:131",{"_index":10345,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["content.body.params.ts:14",{"_index":9833,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["content.body.params.ts:169",{"_index":23507,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:20",{"_index":11512,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:24",{"_index":11511,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:33",{"_index":11576,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["content.body.params.ts:39",{"_index":15784,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:44",{"_index":15783,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:49",{"_index":15781,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:54",{"_index":15782,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:63",{"_index":15809,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["content.body.params.ts:69",{"_index":9641,"title":{},"body":{"classes/DrawingContentBody.html":{}}}],["content.body.params.ts:78",{"_index":9692,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["content.body.params.ts:84",{"_index":19068,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:88",{"_index":19067,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:97",{"_index":19094,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["content.component",{"_index":5812,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.description",{"_index":5826,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.url",{"_index":5825,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.dto.ts",{"_index":17889,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:2",{"_index":17893,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:4",{"_index":17892,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.entity.ts",{"_index":6566,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["content.entity.ts:11",{"_index":6598,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:122",{"_index":13166,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:130",{"_index":13172,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:134",{"_index":13167,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:14",{"_index":6599,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:141",{"_index":13168,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:148",{"_index":13171,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:151",{"_index":13170,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:17",{"_index":6602,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:20",{"_index":6603,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:23",{"_index":6604,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:26",{"_index":6608,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:29",{"_index":6609,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:32",{"_index":6610,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:35",{"_index":6611,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:38",{"_index":6614,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:41",{"_index":6596,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:44",{"_index":6590,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:47",{"_index":6605,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:50",{"_index":6607,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:53",{"_index":6615,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:56",{"_index":6616,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:59",{"_index":6612,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:62",{"_index":6613,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:65",{"_index":6593,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:68",{"_index":6606,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:71",{"_index":6595,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:74",{"_index":6591,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:77",{"_index":6589,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.factory.ts",{"_index":13175,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["content.identifier",{"_index":6021,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.library",{"_index":12612,"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":13188,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.mapper.ts:6",{"_index":13189,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.numberofdrafttasks",{"_index":9796,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.numberofplannedtasks",{"_index":9798,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.params.metadata",{"_index":12613,"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":12614,"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":13222,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:12",{"_index":13229,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:18",{"_index":13227,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:26",{"_index":13231,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:8",{"_index":13232,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.title",{"_index":5811,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.title}${content.content.text",{"_index":5818,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content/:contentid/:file",{"_index":13315,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["content_developer",{"_index":8147,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentbodyparams",{"_index":1234,"title":{"classes/ContentBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["contentdeveloper",{"_index":8148,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentdisposition",{"_index":1442,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["contentelementfactory",{"_index":3894,"title":{"injectables/ContentElementFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{}}}],["contentelementid",{"_index":6556,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"injectables/ElementUc.html":{}}}],["contentelementresponsefactory",{"_index":4071,"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":4091,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.maptoresponse(element",{"_index":4436,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ElementController.html":{}}}],["contentelementservice",{"_index":2019,"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":4485,"title":{},"body":{"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.drawing",{"_index":6415,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.external_tool",{"_index":6419,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.file",{"_index":6409,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.link",{"_index":6411,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.rich_text",{"_index":6413,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.submission_container",{"_index":6417,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementupdatevisitor",{"_index":6470,"title":{"injectables/ContentElementUpdateVisitor.html":{}},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["contentelementupdatevisitor(content",{"_index":6481,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["contentelementurlparams",{"_index":6553,"title":{"classes/ContentElementUrlParams.html":{}},"body":{"classes/ContentElementUrlParams.html":{},"controllers/ElementController.html":{}}}],["contentfile",{"_index":13339,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contentfileurlparams",{"_index":6558,"title":{"classes/ContentFileUrlParams.html":{}},"body":{"classes/ContentFileUrlParams.html":{},"controllers/H5PEditorController.html":{}}}],["contentid",{"_index":1240,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppendedAttachment.html":{},"classes/ContentBodyParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["contentlength",{"_index":7314,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contentmanager",{"_index":13460,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmanager(this.contentstorage",{"_index":13488,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmetadata",{"_index":6564,"title":{"classes/ContentMetadata.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["contentparameters",{"_index":12591,"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":13201,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentparenttype",{"_index":13200,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentrange",{"_index":7315,"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":13369,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contents",{"_index":6213,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"license.html":{}}}],["contents.config",{"_index":12565,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["contents.controller",{"_index":12564,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.controller.ts",{"_index":12524,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.controller.ts:25",{"_index":12529,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.module.ts",{"_index":12560,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["contents.params",{"_index":12534,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.params.ts",{"_index":12619,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.params.ts:11",{"_index":12625,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.push(element",{"_index":15620,"title":{},"body":{"classes/LessonFactory.html":{}}}],["contents.uc",{"_index":12532,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.uc.ts",{"_index":12575,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:15",{"_index":12579,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:7",{"_index":12578,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents/controller/dto/fwu",{"_index":12618,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents/controller/fwu",{"_index":12523,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents/fwu",{"_index":12559,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents/interface/config.ts",{"_index":19660,"title":{},"body":{"interfaces/S3Config-1.html":{}}}],["contents/uc/fwu",{"_index":12574,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contentstorage",{"_index":13388,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttype",{"_index":6572,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFiles.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contenttypecache",{"_index":13431,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypecache(h5pconfig",{"_index":13483,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypedetector",{"_index":10453,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypedetector[imagesignature",{"_index":10492,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypeinformationrepository",{"_index":13455,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypeinformationrepository(this.contenttypecache",{"_index":13487,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttyperepo",{"_index":13432,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentuserstatesaveinterval",{"_index":13470,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["context",{"_index":183,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BaseUc.html":{},"controllers/BoardController.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/CardUc.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsRule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["context'})@apiokresponse({description",{"_index":23021,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["context(context",{"_index":5442,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["context.action",{"_index":3722,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/SystemRule.html":{}}}],["context.builder",{"_index":26453,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["context.builder.ts",{"_index":1782,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:11",{"_index":1790,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:17",{"_index":1788,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:5",{"_index":1786,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.contextid",{"_index":20895,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["context.controller.ts",{"_index":23091,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:122",{"_index":23106,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:146",{"_index":23114,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:44",{"_index":23097,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:70",{"_index":23101,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:89",{"_index":23110,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.getclass",{"_index":22616,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.gethandler",{"_index":22615,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.interface",{"_index":18248,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/Rule.html":{}}}],["context.interface.ts",{"_index":1777,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/ProviderOidcContext.html":{}}}],["context.mapper",{"_index":10535,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["context.mapper.ts",{"_index":23134,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.mapper.ts:5",{"_index":23136,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.params.ts",{"_index":6763,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:18",{"_index":6769,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:8",{"_index":6767,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.reponse",{"_index":3246,"title":{},"body":{"controllers/BoardController.html":{}}}],["context.reponse.ts",{"_index":3194,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:13",{"_index":3199,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:16",{"_index":3202,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:4",{"_index":3195,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.requiredpermissions",{"_index":3718,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SystemRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["context.response",{"_index":6359,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["context.response.ts",{"_index":6773,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/OidcContextResponse.html":{}}}],["context.response.ts:12",{"_index":17701,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:15",{"_index":17702,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:19",{"_index":17704,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:5",{"_index":6775,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:6",{"_index":17699,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:8",{"_index":6774,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:9",{"_index":17700,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.switchtohttp().getrequest",{"_index":18993,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["contextcanwrite",{"_index":15602,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextconfigurationenabled",{"_index":13798,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["contextdo",{"_index":23350,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool",{"_index":2006,"title":{"classes/ContextExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"controllers/ToolContextController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool'})@httpcode(httpstatus.no_content",{"_index":23100,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltool(contextexternaltooldto",{"_index":7110,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.contextref",{"_index":7141,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.contextref.id",{"_index":2012,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltool.contextref.type",{"_index":2039,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool.displayname",{"_index":6983,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ToolReferenceMapper.html":{}}}],["contextexternaltool.id",{"_index":6981,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltool.schooltoolref",{"_index":7140,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.schooltoolref.schoolid",{"_index":7117,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.schooltoolref.schooltoolid",{"_index":6982,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool.toolversion",{"_index":6984,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltoolauthorizableservice",{"_index":6712,"title":{"injectables/ContextExternalToolAuthorizableService.html":{}},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["contextexternaltoolconfigurationstatus",{"_index":6095,"title":{"classes/ContextExternalToolConfigurationStatus.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["contextexternaltoolconfigurationstatusresponse",{"_index":6726,"title":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse",{"_index":6733,"title":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":23088,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplateresponse",{"_index":6735,"title":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolcontextparams",{"_index":6761,"title":{"classes/ContextExternalToolContextParams.html":{}},"body":{"classes/ContextExternalToolContextParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolcount",{"_index":6898,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcount[type",{"_index":10543,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontext",{"_index":10503,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontextresponse",{"_index":6772,"title":{"classes/ContextExternalToolCountPerContextResponse.html":{}},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["contextexternaltooldto",{"_index":6931,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltooldto.schooltoolref.schoolid",{"_index":7109,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltooldto.schooltoolref.schooltoolid",{"_index":7107,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltoolentity",{"_index":6778,"title":{"entities/ContextExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["contextexternaltoolfactory",{"_index":6801,"title":{"classes/ContextExternalToolFactory.html":{}},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolfactory.define(contextexternaltool",{"_index":6810,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolid",{"_index":3598,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contextexternaltoolid(value",{"_index":10335,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["contextexternaltoolidparams",{"_index":6811,"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":3888,"title":{"modules/ContextExternalToolModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["contextexternaltoolpostparams",{"_index":6832,"title":{"classes/ContextExternalToolPostParams.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolproperties",{"_index":6793,"title":{"interfaces/ContextExternalToolProperties.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["contextexternaltoolprops",{"_index":6689,"title":{"interfaces/ContextExternalToolProps.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["contextexternaltoolquery",{"_index":6859,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{}}}],["contextexternaltoolrepo",{"_index":6080,"title":{"injectables/ContextExternalToolRepo.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolrequestmapper",{"_index":6924,"title":{"classes/ContextExternalToolRequestMapper.html":{}},"body":{"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolrequestmapper.mapcontextexternaltoolrequest(body",{"_index":23116,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse",{"_index":6945,"title":{"classes/ContextExternalToolResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper",{"_index":6966,"title":{"classes/ContextExternalToolResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(contextexternaltool",{"_index":23129,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(createdtool",{"_index":23118,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(tool",{"_index":23125,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(updatedtool",{"_index":23132,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponse(toolreference",{"_index":23384,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponses(toolreferences",{"_index":23387,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiunprocessableentityresponse()@apioperation({summary",{"_index":23113,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23095,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apioperation({summary",{"_index":23104,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolrule",{"_index":1866,"title":{"injectables/ContextExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/RuleManager.html":{}}}],["contextexternaltools",{"_index":7068,"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":11455,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.map",{"_index":23124,"title":{},"body":{"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltoolscope",{"_index":6861,"title":{"classes/ContextExternalToolScope.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["contextexternaltoolsearchlistresponse",{"_index":7035,"title":{"classes/ContextExternalToolSearchListResponse.html":{}},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse(mappedtools",{"_index":23126,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse})@apioperation({summary",{"_index":23109,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolservice",{"_index":6824,"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":10206,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["contextexternaltoolsinuse.some",{"_index":10228,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["contextexternaltooltemplateinfo",{"_index":10204,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltooltype",{"_index":6783,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.board_element",{"_index":6922,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.course",{"_index":6921,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooluc",{"_index":7081,"title":{"injectables/ContextExternalToolUc.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolvalidationservice",{"_index":6825,"title":{"injectables/ContextExternalToolValidationService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["contextid",{"_index":6764,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextmapping",{"_index":23135,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["contextparameter",{"_index":8342,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["contextreadwithtopiccreate",{"_index":15596,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextref",{"_index":6685,"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":11457,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextrefparams",{"_index":7153,"title":{"classes/ContextRefParams.html":{}},"body":{"classes/ContextRefParams.html":{},"controllers/ToolConfigurationController.html":{}}}],["contexttoolid",{"_index":6991,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["contexttoolrepo",{"_index":10529,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contexttype",{"_index":5495,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["continuationtoken",{"_index":19621,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["continue",{"_index":25356,"title":{},"body":{"license.html":{}}}],["continued",{"_index":25340,"title":{},"body":{"license.html":{}}}],["contractual",{"_index":25390,"title":{},"body":{"license.html":{}}}],["contradict",{"_index":25517,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contrast",{"_index":25061,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contributor",{"_index":25460,"title":{},"body":{"license.html":{}}}],["contributor's",{"_index":25462,"title":{},"body":{"license.html":{}}}],["control",{"_index":23200,"title":{},"body":{"controllers/ToolController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlled",{"_index":25465,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlledids",{"_index":22889,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["controller",{"_index":314,"title":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/AccountController.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"modules/LegacySchoolApiModule.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/SchoolController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controller('account",{"_index":399,"title":{},"body":{"controllers/AccountController.html":{}}}],["controller('authentication",{"_index":15954,"title":{},"body":{"controllers/LoginController.html":{}}}],["controller('board",{"_index":4073,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["controller('boards",{"_index":3250,"title":{},"body":{"controllers/BoardController.html":{}}}],["controller('cards",{"_index":4409,"title":{},"body":{"controllers/CardController.html":{}}}],["controller('collaborative",{"_index":5110,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["controller('columns",{"_index":5658,"title":{},"body":{"controllers/ColumnController.html":{}}}],["controller('courses",{"_index":7652,"title":{},"body":{"controllers/CourseController.html":{}}}],["controller('dashboard",{"_index":8420,"title":{},"body":{"controllers/DashboardController.html":{}}}],["controller('deletionexecutions",{"_index":9210,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["controller('deletionrequests",{"_index":9584,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["controller('elements",{"_index":9857,"title":{},"body":{"controllers/ElementController.html":{}}}],["controller('fwu",{"_index":12536,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["controller('groups",{"_index":12831,"title":{},"body":{"controllers/GroupController.html":{}}}],["controller('h5p",{"_index":13304,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["controller('lessons",{"_index":15563,"title":{},"body":{"controllers/LessonController.html":{}}}],["controller('management/database",{"_index":8892,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["controller('management/idm",{"_index":14947,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["controller('meta",{"_index":16348,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["controller('news",{"_index":16620,"title":{},"body":{"controllers/NewsController.html":{}}}],["controller('oauth2",{"_index":17454,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["controller('pseudonyms",{"_index":18403,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["controller('rooms",{"_index":19404,"title":{},"body":{"controllers/RoomsController.html":{}}}],["controller('schools",{"_index":19883,"title":{},"body":{"controllers/SchoolController.html":{}}}],["controller('sharetoken",{"_index":20703,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["controller('sso",{"_index":17650,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["controller('submissions",{"_index":21137,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["controller('systems",{"_index":21466,"title":{},"body":{"controllers/SystemController.html":{}}}],["controller('tasks",{"_index":21813,"title":{},"body":{"controllers/TaskController.html":{}}}],["controller('team",{"_index":22330,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["controller('tldraw",{"_index":22730,"title":{},"body":{"controllers/TldrawController.html":{}}}],["controller('tools",{"_index":23045,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolLaunchController.html":{}}}],["controller('tools/context",{"_index":23115,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["controller('tools/external",{"_index":23172,"title":{},"body":{"controllers/ToolController.html":{}}}],["controller('tools/school",{"_index":23461,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["controller('tools/tool",{"_index":23381,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["controller('user",{"_index":23604,"title":{},"body":{"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["controller('user/import",{"_index":14052,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["controller('videoconference",{"_index":24565,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["controller('videoconference2",{"_index":24455,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["controller.ts",{"_index":25918,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["controller/account.controller",{"_index":282,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["controller/api",{"_index":26209,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["controller/course.controller",{"_index":15266,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/dashboard.controller",{"_index":15267,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/database",{"_index":16270,"title":{},"body":{"modules/ManagementModule.html":{}}}],["controller/deletion",{"_index":9066,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["controller/dto",{"_index":837,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CourseMapper.html":{},"classes/DashboardMapper.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFileResponse.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/NewsMapper.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/TaskMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["controller/dto/filter",{"_index":24126,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["controller/dto/h5p",{"_index":22491,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["controller/dto/password",{"_index":857,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["controller/dto/response/video",{"_index":24662,"title":{},"body":{"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["controller/dto/school",{"_index":20430,"title":{},"body":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["controller/dto/single",{"_index":19300,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["controller/dto/target",{"_index":21653,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["controller/dto/task",{"_index":22170,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["controller/dto/team",{"_index":5189,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["controller/fwu",{"_index":12563,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["controller/h5p",{"_index":13395,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["controller/import",{"_index":14190,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["controller/keycloak",{"_index":14616,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["controller/news.controller",{"_index":16717,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/oauth",{"_index":17150,"title":{},"body":{"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{}}}],["controller/pseudonym.controller",{"_index":18388,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["controller/rooms.controller",{"_index":15268,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/server.controller",{"_index":20588,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["controller/share",{"_index":20913,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["controller/team",{"_index":16718,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/tldraw.controller",{"_index":22760,"title":{},"body":{"modules/TldrawModule.html":{}}}],["controller/transformer/sanitize",{"_index":19062,"title":{},"body":{"classes/RichText.html":{}}}],["controller/user",{"_index":23798,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["controllers",{"_index":274,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.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/SchoolController.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"modules/TeamsApiModule.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controllers/dto",{"_index":15225,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["controllers/login.controller",{"_index":1489,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["convenient",{"_index":25151,"title":{},"body":{"license.html":{}}}],["convention",{"_index":26048,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["conventions",{"_index":25902,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["conversion",{"_index":643,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convert",{"_index":611,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/CollectionFilePath.html":{}}}],["converted",{"_index":642,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convertedteamuserids",{"_index":16937,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter((userid",{"_index":16951,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter(boolean",{"_index":16944,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.includes(userid",{"_index":16947,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["converter/bson.converter",{"_index":5211,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["converterutil",{"_index":2338,"title":{"injectables/ConverterUtil.html":{}},"body":{"injectables/BBBService.html":{},"injectables/ConverterUtil.html":{},"modules/VideoConferenceModule.html":{}}}],["converts",{"_index":639,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["converttodatabasevalue",{"_index":20978,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttodatabasevalue(value",{"_index":20983,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue",{"_index":20979,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue(value",{"_index":20985,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["convey",{"_index":25140,"title":{},"body":{"license.html":{}}}],["conveyance",{"_index":25495,"title":{},"body":{"license.html":{}}}],["conveyed",{"_index":25351,"title":{},"body":{"license.html":{}}}],["conveying",{"_index":25146,"title":{},"body":{"license.html":{}}}],["conveys",{"_index":25389,"title":{},"body":{"license.html":{}}}],["cookie",{"_index":13672,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["cookie.parse(request.headers.cookie",{"_index":14462,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookie.startswith('oauth2",{"_index":13688,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["cookies",{"_index":13599,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{}}}],["cookies[name",{"_index":14463,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookiesdto",{"_index":7166,"title":{"classes/CookiesDto.html":{}},"body":{"classes/CookiesDto.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["cooperation",{"_index":25054,"title":{},"body":{"license.html":{}}}],["copied",{"_index":1562,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/LessonCopyApiParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TaskCopyApiParams.html":{}}}],["copies",{"_index":18683,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"license.html":{}}}],["copies.push(childcopy",{"_index":18686,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy",{"_index":2608,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"interfaces/FileDO.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenUC.html":{},"classes/SwapInternalLinksVisitor.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":18604,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy(params",{"_index":3625,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy(paths",{"_index":19535,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copy(userid",{"_index":11882,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["copy.id",{"_index":18652,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl",{"_index":18666,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.includes(copyfiledto.sourceid",{"_index":18665,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.replace(copyfiledto.sourceid",{"_index":18667,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.interface",{"_index":3632,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.interface.ts",{"_index":20293,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.interface.ts:18",{"_index":20296,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.params",{"_index":7438,"title":{},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{}}}],["copy.params.ts",{"_index":15568,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:14",{"_index":15569,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:22",{"_index":21832,"title":{},"body":{"classes/TaskCopyApiParams.html":{}}}],["copy.service",{"_index":3906,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CourseCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["copy.service.ts",{"_index":3272,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:115",{"_index":3299,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:123",{"_index":3302,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:131",{"_index":3297,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:14",{"_index":3627,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.service.ts:146",{"_index":3306,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:15",{"_index":20307,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.service.ts:16",{"_index":7674,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:167",{"_index":3314,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:17",{"_index":5451,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copy.service.ts:18",{"_index":21837,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:180",{"_index":3312,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:203",{"_index":3309,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:25",{"_index":21840,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:26",{"_index":5453,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["copy.service.ts:37",{"_index":3288,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:42",{"_index":21843,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:47",{"_index":3291,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:57",{"_index":7678,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:59",{"_index":5456,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copy.service.ts:63",{"_index":21848,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:70",{"_index":21846,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:73",{"_index":7684,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:79",{"_index":7681,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:81",{"_index":3294,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:9",{"_index":20306,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.uc",{"_index":19400,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/TaskController.html":{}}}],["copy.uc.ts",{"_index":7724,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:104",{"_index":21891,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:11",{"_index":7727,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:114",{"_index":21881,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:12",{"_index":15574,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:13",{"_index":21875,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:17",{"_index":7730,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:21",{"_index":15581,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:23",{"_index":21883,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:28",{"_index":7728,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:55",{"_index":15579,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:63",{"_index":15576,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:68",{"_index":15577,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:71",{"_index":21877,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:76",{"_index":21880,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:83",{"_index":21886,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:94",{"_index":21889,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.visitor",{"_index":3630,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.visitor.ts",{"_index":18595,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:127",{"_index":18619,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:145",{"_index":18625,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:192",{"_index":18627,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:211",{"_index":18629,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:22",{"_index":18603,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:229",{"_index":18631,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:238",{"_index":18621,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:24",{"_index":18602,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:256",{"_index":18613,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:260",{"_index":18609,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:273",{"_index":18607,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:28",{"_index":18605,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:39",{"_index":18617,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:60",{"_index":18615,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:78",{"_index":18611,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:97",{"_index":18623,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy_files_of_parent",{"_index":7202,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["copyapiresponse",{"_index":7176,"title":{"classes/CopyApiResponse.html":{}},"body":{"classes/CopyApiResponse.html":{},"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copyapiresponse})@apiresponse({status",{"_index":20687,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["copyboard",{"_index":3273,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboard(params",{"_index":3289,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements",{"_index":3274,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements(boardelements",{"_index":3292,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard",{"_index":3275,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["copycolumnboard(columnboardtarget",{"_index":3296,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard(props",{"_index":5452,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copycourse",{"_index":7668,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourse(currentuser",{"_index":19384,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copycourse(undefined",{"_index":7675,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourse(userid",{"_index":7729,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourseentity",{"_index":7669,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourseentity(params",{"_index":7676,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copydict",{"_index":3390,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydict.foreach((value",{"_index":3400,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydictionary",{"_index":7393,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copyelementtype",{"_index":3316,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.board",{"_index":3335,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.card",{"_index":18644,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.column",{"_index":18642,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.columnboard",{"_index":3411,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.content",{"_index":21864,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.course",{"_index":7721,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.coursegroup_group",{"_index":7718,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.drawing_element",{"_index":18660,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.external_tool_element",{"_index":18675,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file",{"_index":7371,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_element",{"_index":18658,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_group",{"_index":7376,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyelementtype.lesson",{"_index":3396,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.link_element",{"_index":18663,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.ltitool_group",{"_index":7713,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.metadata",{"_index":7711,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.richtext_element",{"_index":18671,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_container_element",{"_index":18673,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_group",{"_index":21865,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.submission_item",{"_index":18674,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.task",{"_index":21867,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.time_group",{"_index":7714,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.user_group",{"_index":7712,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyentity",{"_index":3337,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyentity.course?.id",{"_index":7449,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyentity.id",{"_index":7447,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyfiledo",{"_index":7195,"title":{"interfaces/CopyFileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfiledomainobjectprops",{"_index":7217,"title":{"interfaces/CopyFileDomainObjectProps.html":{}},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfiledto",{"_index":7221,"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":18655,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.name",{"_index":18656,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.sourceid",{"_index":18657,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfilelistresponse",{"_index":7231,"title":{"classes/CopyFileListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfilelistresponse.map((response",{"_index":12306,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["copyfileparams",{"_index":7262,"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":7234,"title":{"classes/CopyFileResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["copyfileresponsebuilder",{"_index":7296,"title":{"classes/CopyFileResponseBuilder.html":{}},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["copyfiles",{"_index":7301,"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":7336,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofentity(originalentity",{"_index":7342,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparent",{"_index":12257,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(param",{"_index":12264,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesofparent(params",{"_index":20294,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(payload",{"_index":12335,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:finished",{"_index":12454,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:started",{"_index":12452,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparentparambuilder",{"_index":7320,"title":{"classes/CopyFilesOfParentParamBuilder.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparambuilder.build(userid",{"_index":7357,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparams",{"_index":7212,"title":{"classes/CopyFilesOfParentParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesofparentpayload",{"_index":7282,"title":{"classes/CopyFilesOfParentPayload.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesrequestinfo",{"_index":7326,"title":{"interfaces/CopyFilesRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesservice",{"_index":7333,"title":{"injectables/CopyFilesService.html":{}},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["copyhelpermodule",{"_index":7378,"title":{"modules/CopyHelperModule.html":{}},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["copyhelperservice",{"_index":3287,"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":7857,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"license.html":{}}}],["copyingsince",{"_index":7507,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["copyleft",{"_index":25050,"title":{},"body":{"license.html":{}}}],["copylesson",{"_index":3276,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copylesson(currentuser",{"_index":19387,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copylesson(originallesson",{"_index":3298,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copylesson(userid",{"_index":15580,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copymap",{"_index":18596,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copymapper",{"_index":7423,"title":{"classes/CopyMapper.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maplessoncopytodomain(params",{"_index":19419,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copymapper.maptaskcopytodomain(params",{"_index":21829,"title":{},"body":{"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(copystatus",{"_index":19416,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(element",{"_index":7452,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyname",{"_index":7686,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copyobjectcommand",{"_index":19556,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyobjectcommandoutput",{"_index":19557,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths",{"_index":19593,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths.map((p",{"_index":19603,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyprops",{"_index":1774,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["copyrequest",{"_index":19597,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyrequests",{"_index":19607,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyright",{"_index":25040,"title":{},"body":{"license.html":{}}}],["copyrightable",{"_index":25114,"title":{},"body":{"license.html":{}}}],["copyrighted",{"_index":25202,"title":{},"body":{"license.html":{}}}],["copyrightowners",{"_index":5781,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["copysource",{"_index":19609,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copystatus",{"_index":3305,"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":3403,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyMapper.html":{}}}],["copystatus.copyentity.context",{"_index":5478,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copystatus.copyentity.course.id",{"_index":3406,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copystatus.elements",{"_index":3407,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyMapper.html":{}}}],["copystatus.originalentity",{"_index":3404,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copystatus.status",{"_index":7445,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.title",{"_index":7443,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.type",{"_index":7444,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatusenum",{"_index":3317,"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":3346,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copystatusenum.not_doing",{"_index":7406,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.not_implemented",{"_index":7719,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copystatusenum.partial",{"_index":7401,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copystatusenum.success",{"_index":7372,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copytask",{"_index":3277,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copytask(currentuser",{"_index":21786,"title":{},"body":{"controllers/TaskController.html":{}}}],["copytask(originaltask",{"_index":3301,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copytask(params",{"_index":21838,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytask(userid",{"_index":20853,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copytaskentity",{"_index":21834,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytaskentity(params",{"_index":21841,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["core",{"_index":7465,"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":26252,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["core/error",{"_index":26011,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["core/logger/logger.module",{"_index":280,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["coreapi",{"_index":11726,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coremodule",{"_index":7457,"title":{"modules/CoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["coremoduleconfig",{"_index":7478,"title":{"interfaces/CoreModuleConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["correct",{"_index":5098,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correction",{"_index":25560,"title":{},"body":{"license.html":{}}}],["correctly",{"_index":1225,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correctness",{"_index":25804,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["corresponding",{"_index":15985,"title":{},"body":{"classes/LoginResponse-1.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["cors",{"_index":24880,"title":{},"body":{"dependencies.html":{}}}],["cost",{"_index":25289,"title":{},"body":{"license.html":{}}}],["count",{"_index":2938,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/FileRecordRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"controllers/TeamNewsController.html":{},"injectables/UserRepo.html":{}}}],["countbyschooltoolidsandcontexttype",{"_index":6852,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["countbyschooltoolidsandcontexttype(contexttype",{"_index":6862,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["counted",{"_index":98,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/FileRecordRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/UserRepo.html":{}}}],["countedimportusers",{"_index":14229,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["countednewslist",{"_index":16739,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["countedtasklist",{"_index":22043,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["counterclaim",{"_index":25452,"title":{},"body":{"license.html":{}}}],["counties",{"_index":7494,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countpercontext",{"_index":10541,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["countpipeline",{"_index":24234,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countpipeline.push",{"_index":24235,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countries",{"_index":25137,"title":{},"body":{"license.html":{}}}],["country",{"_index":25488,"title":{},"body":{"license.html":{}}}],["counts",{"_index":7855,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["county",{"_index":7482,"title":{"classes/County.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.antareskey",{"_index":7499,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.countyid",{"_index":7497,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.name",{"_index":7495,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countyid",{"_index":7486,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["coupling",{"_index":25897,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["course",{"_index":2033,"title":{"entities/Course.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/TldrawTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["course.createdat.getfullyear().tostring",{"_index":5784,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.description",{"_index":26422,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.entity",{"_index":2956,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["course.extractids(this.students",{"_index":7590,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.substitutionteachers",{"_index":7594,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.teachers",{"_index":7591,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractuserlist(users",{"_index":7602,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.factory",{"_index":7796,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["course.getmetadata",{"_index":7839,"title":{},"body":{"classes/CourseMapper.html":{}}}],["course.getstudentslist().map((user",{"_index":3475,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getsubstitutionteacherslist().map((user",{"_index":3473,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getteacherslist().map((user",{"_index":3468,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.id",{"_index":11415,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.name",{"_index":2048,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.removeuser(userid",{"_index":7989,"title":{},"body":{"injectables/CourseService.html":{}}}],["course.rule",{"_index":7815,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["course.school",{"_index":26420,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.school.id",{"_index":5472,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["course.service",{"_index":5779,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.students.contains(user",{"_index":19369,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.students.length",{"_index":11416,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.students.loaditems",{"_index":11422,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.substitutionteachers.contains(user",{"_index":19367,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.substitutionteachers.loaditems",{"_index":11424,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.teachers",{"_index":5827,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.teachers.contains(user",{"_index":19368,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.teachers.loaditems",{"_index":11423,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursecolumnboardtargets",{"_index":19433,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursecontroller",{"_index":7629,"title":{"controllers/CourseController.html":{}},"body":{"controllers/CourseController.html":{},"modules/LearnroomApiModule.html":{}}}],["coursecopy",{"_index":7680,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.copyingsince",{"_index":7709,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.name",{"_index":7720,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyparams",{"_index":7677,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyservice",{"_index":7666,"title":{"injectables/CourseCopyService.html":{}},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenUC.html":{}}}],["coursecopyuc",{"_index":7722,"title":{"injectables/CourseCopyUC.html":{}},"body":{"injectables/CourseCopyUC.html":{},"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["courseexportservice",{"_index":7743,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["courseexportuc",{"_index":7645,"title":{"injectables/CourseExportUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomApiModule.html":{}}}],["coursefactory",{"_index":7750,"title":{"classes/CourseFactory.html":{}},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.build",{"_index":7798,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.define(course",{"_index":7771,"title":{},"body":{"classes/CourseFactory.html":{}}}],["coursefeatures",{"_index":7526,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup",{"_index":6207,"title":{"entities/CourseGroup.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/UsersList.html":{}}}],["coursegroup.course",{"_index":15644,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["coursegroup.entity",{"_index":6208,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup.removestudent(userid",{"_index":7831,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupfactory",{"_index":7793,"title":{"classes/CourseGroupFactory.html":{}},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupfactory.define(coursegroup",{"_index":7797,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupid",{"_index":6234,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegroupmemberids",{"_index":21059,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegrouppermission",{"_index":15656,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouppermission(user",{"_index":15662,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegroupproperties",{"_index":7783,"title":{"interfaces/CourseGroupProperties.html":{}},"body":{"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{}}}],["coursegrouprepo",{"_index":1910,"title":{"injectables/CourseGroupRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["coursegrouprule",{"_index":1867,"title":{"injectables/CourseGroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{}}}],["coursegroups",{"_index":7508,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["coursegroups.foreach((coursegroup",{"_index":7830,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupservice",{"_index":7819,"title":{"injectables/CourseGroupService.html":{}},"body":{"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{}}}],["coursegroupsexist",{"_index":7715,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursegroupsofuser",{"_index":21296,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["courseid",{"_index":2027,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"classes/CourseUrlParams.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courseids",{"_index":7803,"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":19430,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursemapper",{"_index":7643,"title":{"classes/CourseMapper.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMapper.html":{}}}],["coursemapper.maptometadataresponse(course",{"_index":7656,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadata",{"_index":7838,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.copyingsince",{"_index":7846,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.displaycolor",{"_index":7843,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.id",{"_index":7840,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.shorttitle",{"_index":7842,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.startdate",{"_index":7844,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.title",{"_index":7841,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.untildate",{"_index":7845,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadatalistresponse",{"_index":7650,"title":{"classes/CourseMetadataListResponse.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursemetadatalistresponse(courseresponses",{"_index":7657,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadataresponse",{"_index":7837,"title":{"classes/CourseMetadataResponse.html":{}},"body":{"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursename",{"_index":2055,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["coursenews",{"_index":7869,"title":{"entities/CourseNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["coursenews(props",{"_index":7901,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["coursepermission",{"_index":15657,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursepermission(user",{"_index":15664,"title":{},"body":{"injectables/LessonRule.html":{}}}],["courseproperties",{"_index":7554,"title":{"interfaces/CourseProperties.html":{}},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursequeryparams",{"_index":7634,"title":{"classes/CourseQueryParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseQueryParams.html":{}}}],["coursereference",{"_index":5517,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/RoomsService.html":{}}}],["courserepo",{"_index":1911,"title":{"injectables/CourseRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["courseresponses",{"_index":7654,"title":{},"body":{"controllers/CourseController.html":{}}}],["courserule",{"_index":1868,"title":{"injectables/CourseRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courses",{"_index":5466,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"interfaces/CreateNews.html":{},"injectables/DashboardUc.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/ShareTokenDO.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["courses.filter((c",{"_index":22209,"title":{},"body":{"injectables/TaskUC.html":{}}}],["courses.foreach((course",{"_index":7988,"title":{},"body":{"injectables/CourseService.html":{}}}],["courses.map((course",{"_index":7655,"title":{},"body":{"controllers/CourseController.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["courses.map(async",{"_index":11448,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursescope",{"_index":7935,"title":{"classes/CourseScope.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["courseservice",{"_index":2018,"title":{"injectables/CourseService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursestatus",{"_index":7702,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursetasks",{"_index":19432,"title":{},"body":{"injectables/RoomsService.html":{}}}],["courseuc",{"_index":7648,"title":{"injectables/CourseUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"modules/LearnroomApiModule.html":{}}}],["courseurlhandler",{"_index":7997,"title":{"injectables/CourseUrlHandler.html":{}},"body":{"injectables/CourseUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["courseurlparams",{"_index":7633,"title":{"classes/CourseUrlParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseUrlParams.html":{}}}],["coursevalue",{"_index":2041,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["court",{"_index":25516,"title":{},"body":{"license.html":{}}}],["courts",{"_index":25580,"title":{},"body":{"license.html":{}}}],["covenant",{"_index":25478,"title":{},"body":{"license.html":{}}}],["cover",{"_index":26043,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["coverage",{"_index":982,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["covered",{"_index":25124,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["cp",{"_index":26306,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cr",{"_index":14721,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["create",{"_index":734,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"modules/CacheWrapperModule.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"interfaces/FeathersService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OidcProvisioningService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/StorageProviderRepo.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["create(@currentuser",{"_index":16621,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["create(config",{"_index":2341,"title":{},"body":{"injectables/BBBService.html":{}}}],["create(context",{"_index":5511,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["create(currentuser",{"_index":16597,"title":{},"body":{"controllers/NewsController.html":{}}}],["create(currentuserid",{"_index":24501,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create(data",{"_index":11463,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["create(deletionlog",{"_index":9298,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["create(deletionrequest",{"_index":9487,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["create(entity",{"_index":759,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserRepo.html":{}}}],["create(parent",{"_index":4483,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["create(path",{"_index":19537,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["create(userid",{"_index":16798,"title":{},"body":{"injectables/NewsUc.html":{},"injectables/SubmissionItemService.html":{}}}],["create.config.ts",{"_index":2157,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:23",{"_index":2176,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:25",{"_index":2170,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:27",{"_index":2174,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:29",{"_index":2172,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:31",{"_index":2177,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:33",{"_index":2171,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:35",{"_index":2175,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:37",{"_index":2169,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:39",{"_index":2173,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:9",{"_index":2168,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.params.ts",{"_index":10311,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:14",{"_index":24478,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:16",{"_index":21916,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:17",{"_index":10319,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:19",{"_index":24486,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:21",{"_index":16053,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:22",{"_index":10325,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:25",{"_index":17100,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{}}}],["create.params.ts:26",{"_index":16052,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:27",{"_index":10318,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:30",{"_index":16049,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:33",{"_index":21920,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:34",{"_index":16051,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:35",{"_index":17099,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:38",{"_index":16047,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:39",{"_index":17098,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:41",{"_index":21918,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:43",{"_index":17102,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:48",{"_index":10316,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:49",{"_index":21914,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:55",{"_index":10321,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:57",{"_index":21919,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:59",{"_index":10317,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:63",{"_index":10320,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:69",{"_index":10324,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:9",{"_index":24477,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.response.ts",{"_index":2243,"title":{},"body":{"interfaces/BBBCreateResponse.html":{}}}],["create.uc.ts",{"_index":24493,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:20",{"_index":24500,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:27",{"_index":24504,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:41",{"_index":24502,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:68",{"_index":24506,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:89",{"_index":24510,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:93",{"_index":24508,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create_tokens_for_users=true",{"_index":26329,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["createaccount",{"_index":13905,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createaccount(account",{"_index":13914,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createandjoin",{"_index":24551,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandjoin(currentuser",{"_index":24552,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandstartprometheusmetricsappifenabled",{"_index":18228,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createapiresponsetimemetricmiddleware",{"_index":18206,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["createauthenticationcodegranttokenrequestpayload",{"_index":22979,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createauthenticationcodegranttokenrequestpayload(clientid",{"_index":22981,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createboard",{"_index":3801,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboard(courseid",{"_index":3807,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboardelementfor(boardelementtarget",{"_index":3017,"title":{},"body":{"entities/Board.html":{}}}],["createboardforcourse",{"_index":3984,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createboardforcourse(courseid",{"_index":3988,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createbucket",{"_index":19525,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createbucketcommand",{"_index":19558,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createcard",{"_index":5634,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["createcard(urlparams",{"_index":5637,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcard(userid",{"_index":5707,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["createcardbodyparams",{"_index":5639,"title":{"classes/CreateCardBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/CreateCardBodyParams.html":{}}}],["createcardbodyparams})@post(':columnid/cards",{"_index":5643,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcards",{"_index":3827,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcards(amount",{"_index":3835,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createclient",{"_index":8979,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["createclient(storageprovider",{"_index":8987,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["createcollection",{"_index":8909,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcollection(collectionname",{"_index":8919,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcolumn",{"_index":3205,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["createcolumn(urlparams",{"_index":3210,"title":{},"body":{"controllers/BoardController.html":{}}}],["createcolumn(userid",{"_index":4140,"title":{},"body":{"injectables/BoardUc.html":{}}}],["createcolumns",{"_index":3828,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcolumns(amount",{"_index":3837,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createconfigmoduleoptions",{"_index":1025,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["createcontentelementbodyparams",{"_index":4046,"title":{"classes/CreateContentElementBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CreateContentElementBodyParams.html":{}}}],["createcontextexternaltool",{"_index":7084,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(currentuser",{"_index":23093,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(userid",{"_index":7092,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["createcourse",{"_index":7918,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["createcourse(course",{"_index":7922,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["createcourse(userid",{"_index":26424,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["created",{"_index":2588,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/DeletionClient.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"injectables/LegacyLogger.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["created.'})@apiresponse({status",{"_index":24445,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["createdaccountid",{"_index":14981,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdaccountid.id",{"_index":14983,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdat",{"_index":430,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["createdat.$date",{"_index":5339,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createdate",{"_index":2244,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createddate",{"_index":600,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createdefaultiuser",{"_index":13437,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["createdeletionlog",{"_index":9319,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionlog(deletionrequestid",{"_index":9323,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionrequest",{"_index":9536,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequest(targetrefid",{"_index":9540,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequests",{"_index":9567,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdeletionrequests(deletionrequestbody",{"_index":9573,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdir",{"_index":12116,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdir(folderpath",{"_index":12125,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdmodel",{"_index":8742,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["createdprovisioningoptions",{"_index":20333,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["createdprovisioningoptions.isapplicable(provisioningoptions",{"_index":20334,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["createdprovisioningoptions.set(provisioningoptions",{"_index":20335,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["createdschoolexternaltool",{"_index":20099,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["createdschoolexternaltooldo",{"_index":23476,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createdto",{"_index":9812,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createdto(undefined",{"_index":19288,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["createdtool",{"_index":7114,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createelement",{"_index":4041,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelement(urlparams",{"_index":4044,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{}}}],["createelement(userid",{"_index":4540,"title":{},"body":{"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelements",{"_index":3829,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createelements(amount",{"_index":3839,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createemptyelements",{"_index":4479,"title":{},"body":{"injectables/CardService.html":{}}}],["createemptyelements(card",{"_index":4487,"title":{},"body":{"injectables/CardService.html":{}}}],["createerrorloggable",{"_index":12662,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorloggable(error",{"_index":12673,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse",{"_index":12663,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse(error",{"_index":12675,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror",{"_index":12664,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror(error",{"_index":12677,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror",{"_index":12665,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror(error",{"_index":12679,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception",{"_index":12666,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception(exception",{"_index":12681,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforunknownerror",{"_index":12667,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createetherpad",{"_index":10061,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createetherpad(userid",{"_index":10065,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createexternaltool",{"_index":10997,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["createexternaltool(currentuser",{"_index":23141,"title":{},"body":{"controllers/ToolController.html":{}}}],["createexternaltool(externaltool",{"_index":11011,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["createexternaltool(userid",{"_index":11113,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["createfile",{"_index":22582,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileresponse",{"_index":22583,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileurlreplacements",{"_index":7337,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createfileurlreplacements(filedtos",{"_index":7344,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createflowrequest",{"_index":14702,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["creategridelement",{"_index":8687,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategridelement(elementwithposition",{"_index":8698,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategroup(name",{"_index":1146,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createh5pcontent",{"_index":13238,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(@body",{"_index":13357,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(body",{"_index":13250,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createhttpexceptionoptions",{"_index":10042,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createhttpexceptionoptions(error",{"_index":10046,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createidentifier",{"_index":5777,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["createidentifier(content._id",{"_index":5808,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(courseid",{"_index":5780,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lesson.id",{"_index":5793,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lessonid)}/${createidentifier(content._id)}.html",{"_index":5810,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(task.id",{"_index":5836,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentityprovider",{"_index":14626,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidentityprovider(oidcconfig",{"_index":14645,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper",{"_index":14627,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper(idpalias",{"_index":14649,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidtoken",{"_index":13840,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createidtoken(userid",{"_index":13847,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createifnotrunning",{"_index":24494,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createifnotrunning(currentuserid",{"_index":24503,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createiframesubject",{"_index":13841,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createiframesubject(user",{"_index":13849,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createinstance(targetmodel",{"_index":7899,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["createjwt",{"_index":14485,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["createjwt(params",{"_index":8040,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtparams",{"_index":8021,"title":{"interfaces/CreateJwtParams.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtpayload",{"_index":1699,"title":{"interfaces/CreateJwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/JwtPayload.html":{},"injectables/LoginUc.html":{}}}],["createlaunchdata",{"_index":2750,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchdata(userid",{"_index":2784,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest",{"_index":2751,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdata",{"_index":2786,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdatado",{"_index":23324,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["createlesson",{"_index":15632,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(lesson",{"_index":15634,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(userid",{"_index":26428,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createlibrary",{"_index":15750,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlibrary(library",{"_index":15755,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlogmessageforvalidationerrors",{"_index":9939,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createlogmessageforvalidationerrors(error",{"_index":9946,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createmessage",{"_index":15281,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessage(message",{"_index":15285,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessagewithcontext",{"_index":15917,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmessagewithcontext(loggable",{"_index":15920,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmikroormmodule",{"_index":16543,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["createmock",{"_index":22550,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["createnewaccount",{"_index":17790,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["createnewmigration",{"_index":24022,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewmigration(school",{"_index":24032,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnews",{"_index":8062,"title":{"interfaces/CreateNews.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["createnewsparams",{"_index":8073,"title":{"classes/CreateNewsParams.html":{}},"body":{"classes/CreateNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["createnexboard",{"_index":16865,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createnexboard(userid",{"_index":16867,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createoauth2client",{"_index":17335,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["createoauth2client(currentuser",{"_index":17342,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["createoauth2client(data",{"_index":17601,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["createorupdate",{"_index":10645,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdate(domainobject",{"_index":10654,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdateboardnode",{"_index":18736,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateboardnode(boardnode",{"_index":18741,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateentity",{"_index":2439,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createorupdateentity(domainobject",{"_index":2451,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createorupdateidmaccount",{"_index":14956,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateidmaccount(account",{"_index":14958,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateprovisioningoptions",{"_index":20408,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["createorupdateprovisioningoptions(userid",{"_index":20410,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["createpath",{"_index":18005,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpath(schoolid",{"_index":18009,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewdirectorypath",{"_index":18136,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewdirectorypath(filerecord.getschoolid",{"_index":18143,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewfilepath",{"_index":18006,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewfilepath(schoolid",{"_index":18012,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash",{"_index":18007,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash(id",{"_index":18011,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createprometheusmetricsapp",{"_index":18207,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createprometheusmetricsapp(route",{"_index":18236,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createqueryordermap",{"_index":23653,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createqueryordermap(sort",{"_index":23655,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createredisidentifierfromjwtdata",{"_index":14506,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createredisidentifierfromjwtdata(accountid",{"_index":14512,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createrequest",{"_index":12436,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrequest(event",{"_index":12445,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrichtextelement",{"_index":5506,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createrichtextelement(text",{"_index":5513,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creates",{"_index":2343,"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":19655,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["creates3clientadapter(config",{"_index":19659,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["createschoolbysuperhero(userid",{"_index":26409,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createschoolexternaltool",{"_index":20104,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(currentuser",{"_index":23440,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(userid",{"_index":20111,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["createsharetoken",{"_index":20675,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["createsharetoken(currentuser",{"_index":20678,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["createsharetoken(userid",{"_index":20855,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["createstudentstatusforuser(user",{"_index":21754,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createsubmissionitem",{"_index":9835,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["createsubmissionitem(urlparams",{"_index":9838,"title":{},"body":{"controllers/ElementController.html":{}}}],["createsubmissionitem(userid",{"_index":9876,"title":{},"body":{"injectables/ElementUc.html":{}}}],["createsubmissionitembodyparams",{"_index":8094,"title":{"classes/CreateSubmissionItemBodyParams.html":{}},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"controllers/ElementController.html":{}}}],["createsubmissionitembodyparams})@post(':contentelementid/submissions",{"_index":9841,"title":{},"body":{"controllers/ElementController.html":{}}}],["createtask",{"_index":21981,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtask(task",{"_index":21986,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtaskstatus",{"_index":9722,"title":{},"body":{"classes/DtoCreator.html":{}}}],["createtaskstatus(task",{"_index":9739,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createteacherstatusforuser(user",{"_index":21745,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createteam",{"_index":5006,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createteam(team",{"_index":5015,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createtestingmodule",{"_index":26155,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["createtime",{"_index":2245,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createtmpdir",{"_index":12117,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtmpdir(dirnameprefix",{"_index":12128,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtoken",{"_index":20807,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createtoken(payload",{"_index":20815,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createuser(email",{"_index":1152,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createuserbyadmin(userid",{"_index":26412,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createusersearchindex",{"_index":5352,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createusertoken(userid",{"_index":1116,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createwebsocket",{"_index":22825,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwebsocket(readystate",{"_index":22827,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwelcomecolumnboard",{"_index":5507,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwelcomecolumnboard(coursereference",{"_index":5515,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwsshareddocdo",{"_index":22826,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["creating",{"_index":8076,"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":3824,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["creationyear",{"_index":5783,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["creator",{"_index":6668,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["creator'})@index",{"_index":11604,"title":{},"body":{"entities/FileEntity.html":{}}}],["creatorid",{"_index":6665,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/CourseNews.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageClientAdapterService.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{}}}],["creatorid(userid",{"_index":11867,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["credential",{"_index":14888,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["credentialdata",{"_index":14975,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["credentialhash",{"_index":209,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["credentials",{"_index":9033,"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":9987,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["crit(loggable",{"_index":9993,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["criteria",{"_index":369,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["criterion",{"_index":25159,"title":{},"body":{"license.html":{}}}],["crlf",{"_index":18875,"title":{},"body":{"classes/ReferencesService.html":{}}}],["cross",{"_index":7466,"title":{},"body":{"modules/CoreModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["crossing",{"_index":25975,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["crud",{"_index":2532,"title":{},"body":{"classes/BaseDomainObject.html":{},"controllers/CollaborativeStorageController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["crud.uc",{"_index":17448,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crud.uc.ts",{"_index":17333,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:10",{"_index":17341,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:16",{"_index":17353,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:23",{"_index":17349,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:42",{"_index":17347,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:51",{"_index":17343,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:60",{"_index":17351,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:73",{"_index":17345,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crudoperation",{"_index":16641,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["cruduc",{"_index":17458,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crypto",{"_index":1718,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"dependencies.html":{}}}],["crypto.createhash('sha1",{"_index":2420,"title":{},"body":{"injectables/BBBService.html":{}}}],["crypto.generatekeypairsync('rsa",{"_index":8030,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["cryptojs",{"_index":16023,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(data",{"_index":21426,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(value",{"_index":20995,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.aes.encrypt(data",{"_index":21425,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.encrypt(value",{"_index":20992,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.hmacsha1(base_string",{"_index":16033,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["cryptojs.sha256(saveduser.id",{"_index":17808,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["css",{"_index":12605,"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":11356,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["ctltoolstabenabled",{"_index":13799,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["cumbersome",{"_index":2549,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["cure",{"_index":25416,"title":{},"body":{"license.html":{}}}],["curl",{"_index":14944,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currenlty",{"_index":19375,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["current",{"_index":5102,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/GroupController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PaginationResponse.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["currentdate",{"_index":9508,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/SchoolYearRepo.html":{}}}],["currentdatetime",{"_index":5241,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["currentindex",{"_index":24367,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentldapid",{"_index":14428,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["currently",{"_index":619,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseRepo.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/HydraSsoService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currentredirect",{"_index":13597,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{}}}],["currentrooms",{"_index":8563,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentrooms.foreach((room",{"_index":8565,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentteacher",{"_index":5833,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["currentuser",{"_index":349,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuser.accountid",{"_index":8127,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.impersonated",{"_index":8131,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.isexternaluser",{"_index":8132,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.roles",{"_index":8129,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.schoolid",{"_index":8128,"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":8130,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.userid",{"_index":4077,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.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":5147,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["currentusermapper",{"_index":8102,"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":14483,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["currentusermapper.mapcurrentusertocreatejwtpayload(userinfo",{"_index":16013,"title":{},"body":{"injectables/LoginUc.html":{}}}],["currentusermapper.maptooauthcurrentuser",{"_index":17085,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["currentusermapper.maptooauthcurrentuser(account.id",{"_index":24318,"title":{},"body":{"injectables/UserService.html":{}}}],["currentusermapper.usertoicurrentuser(account.id",{"_index":15237,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["currentvalue",{"_index":24366,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentvalue.tostring(false",{"_index":24368,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentyear",{"_index":19906,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["custom",{"_index":1220,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["custom_error_type",{"_index":26008,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["customarily",{"_index":25281,"title":{},"body":{"license.html":{}}}],["customary",{"_index":25531,"title":{},"body":{"license.html":{}}}],["customer",{"_index":25286,"title":{},"body":{"license.html":{}}}],["customfields",{"_index":1069,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["customizations",{"_index":20626,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["customizing",{"_index":7468,"title":{},"body":{"modules/CoreModule.html":{}}}],["customkey",{"_index":20982,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["customltiproperty",{"_index":8141,"title":{"interfaces/CustomLtiProperty.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["customltipropertydo",{"_index":8214,"title":{"classes/CustomLtiPropertyDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["customltipropertydo('key",{"_index":16142,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["customparam",{"_index":8352,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter",{"_index":2765,"title":{"classes/CustomParameter.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter.default",{"_index":10626,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regex",{"_index":10622,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regexcomment",{"_index":10623,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.scope",{"_index":10624,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some",{"_index":10614,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some((item",{"_index":10612,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameterdo.default",{"_index":10970,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.description",{"_index":10969,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.displayname",{"_index":10968,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.isoptional",{"_index":10976,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.name",{"_index":10967,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regex",{"_index":10971,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regexcomment",{"_index":10972,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdos",{"_index":2764,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["customparameterdto",{"_index":10839,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterentity",{"_index":8270,"title":{"classes/CustomParameterEntity.html":{}},"body":{"classes/CustomParameterEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["customparameterentityfactory",{"_index":10393,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentityfactory.build",{"_index":10399,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentry",{"_index":2791,"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":6786,"title":{"classes/CustomParameterEntryEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["customparameterentryparam",{"_index":6839,"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":6953,"title":{"classes/CustomParameterEntryResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterfactory",{"_index":8301,"title":{"classes/CustomParameterFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.buildlist(number",{"_index":8353,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.define(customparameter",{"_index":8343,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterlocation",{"_index":2770,"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":8345,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.path",{"_index":10396,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.query",{"_index":10870,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocationparams",{"_index":8370,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.body",{"_index":10871,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.path",{"_index":10868,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.query",{"_index":10869,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterparam",{"_index":6987,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparam.defaultvalue",{"_index":10908,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.description",{"_index":10907,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.displayname",{"_index":10906,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.isoptional",{"_index":10914,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.name",{"_index":6943,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparam.regex",{"_index":10909,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.regexcomment",{"_index":10910,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.value",{"_index":6944,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams",{"_index":6934,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams.map",{"_index":6986,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparams.map((customparameterparam",{"_index":6942,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterpostparams",{"_index":8361,"title":{"classes/CustomParameterPostParams.html":{}},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["customparameterresponse",{"_index":6747,"title":{"classes/CustomParameterResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["customparameters",{"_index":10750,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameters.map",{"_index":10810,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["customparameters.map((customparameterdo",{"_index":10966,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscope",{"_index":6160,"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":6167,"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":8340,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.school",{"_index":6166,"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":8376,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.context",{"_index":10866,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.global",{"_index":10864,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.school",{"_index":10865,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype",{"_index":2034,"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":6154,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname",{"_index":6155,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname}/${contextexternaltool.contextref.type",{"_index":2046,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["customparametertype.auto_schoolid",{"_index":6156,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_schoolnumber",{"_index":6157,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.boolean",{"_index":6153,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.number",{"_index":6151,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.string",{"_index":6150,"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":8379,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextid",{"_index":10876,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextname",{"_index":10877,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolid",{"_index":10878,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolnumber",{"_index":10879,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.boolean",{"_index":10874,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.number",{"_index":10875,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.string",{"_index":10873,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customproviderclass.name",{"_index":15296,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["customs",{"_index":8163,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["customtoparameterlocationmapping",{"_index":23247,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["customtoparameterlocationmapping[location",{"_index":23256,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["cycle",{"_index":3909,"title":{},"body":{"modules/BoardModule.html":{}}}],["cycles",{"_index":1715,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["d",{"_index":7413,"title":{},"body":{"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["damages",{"_index":25563,"title":{},"body":{"license.html":{}}}],["das",{"_index":5549,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["dash",{"_index":25016,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dashboard",{"_index":8401,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"interfaces/IDashboardRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["dashboard.getelement(position",{"_index":8838,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.getid",{"_index":8662,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboard.getuserid",{"_index":8840,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.model.mapper",{"_index":8787,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboard.moveelement(from",{"_index":8837,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.setlearnrooms(courses",{"_index":8833,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard_repo",{"_index":15272,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardcontroller",{"_index":8399,"title":{"controllers/DashboardController.html":{}},"body":{"controllers/DashboardController.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardelement",{"_index":8606,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardelementrepo",{"_index":8433,"title":{"injectables/DashboardElementRepo.html":{}},"body":{"injectables/DashboardElementRepo.html":{},"injectables/DashboardService.html":{},"modules/LearnroomModule.html":{}}}],["dashboardentity",{"_index":8442,"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":8735,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["dashboardentity(new",{"_index":8790,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardgridelementmodel",{"_index":8440,"title":{"entities/DashboardGridElementModel.html":{}},"body":{"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementmodelproperties",{"_index":8604,"title":{"interfaces/DashboardGridElementModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementresponse",{"_index":8625,"title":{"classes/DashboardGridElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse",{"_index":8633,"title":{"classes/DashboardGridSubElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse(metadata",{"_index":8681,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardid",{"_index":8424,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{}}}],["dashboardmapper",{"_index":8414,"title":{"classes/DashboardMapper.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{}}}],["dashboardmapper.mapgridelement(elementwithposition",{"_index":8664,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maplearnroom(groupmetadata",{"_index":8680,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maptoresponse(dashboard",{"_index":8423,"title":{},"body":{"controllers/DashboardController.html":{}}}],["dashboardmodel",{"_index":8798,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelentity",{"_index":8605,"title":{"entities/DashboardModelEntity.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelmapper",{"_index":8685,"title":{"injectables/DashboardModelMapper.html":{}},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardmodelproperties",{"_index":8616,"title":{"interfaces/DashboardModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardprops",{"_index":8459,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["dashboardrepo",{"_index":8770,"title":{"injectables/DashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardresponse",{"_index":8418,"title":{"classes/DashboardResponse.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["dashboardservice",{"_index":8807,"title":{"injectables/DashboardService.html":{}},"body":{"injectables/DashboardService.html":{},"modules/LearnroomModule.html":{}}}],["dashboarduc",{"_index":8416,"title":{"injectables/DashboardUc.html":{}},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardurlparams",{"_index":8405,"title":{"classes/DashboardUrlParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardUrlParams.html":{}}}],["data",{"_index":339,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardMapper.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EncryptionService.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileResponseBuilder.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/PublicSystemListResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["data.basepath",{"_index":1431,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.bcc",{"_index":16250,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.body",{"_index":19577,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.cc",{"_index":16248,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.contentlength",{"_index":19580,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentrange",{"_index":19581,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents.map((p",{"_index":19637,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents?.length",{"_index":19636,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contenttype",{"_index":19579,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.destroy",{"_index":13323,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["data.dto.ts",{"_index":17278,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:11",{"_index":17281,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:13",{"_index":17280,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:7",{"_index":17284,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:9",{"_index":17282,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.etag",{"_index":19582,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.externalgroups",{"_index":17878,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalschool",{"_index":17871,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.externalid",{"_index":24105,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.officialschoolnumber",{"_index":24101,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool?.officialschoolnumber",{"_index":17036,"title":{},"body":{"injectables/OAuthService.html":{}}}],["data.externaluser",{"_index":17875,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externaluser.externalid",{"_index":17035,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externaluser?.externalid",{"_index":14423,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["data.gridelement.getcontent",{"_index":8666,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.id",{"_index":7227,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.mountsdescription",{"_index":1433,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.name",{"_index":7230,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.port",{"_index":1429,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.pos",{"_index":8667,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.recipients",{"_index":16246,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.recipients.length",{"_index":16254,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.replyto",{"_index":16252,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.response",{"_index":21384,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["data.response.ts",{"_index":23724,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:11",{"_index":23726,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:14",{"_index":23727,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:17",{"_index":23728,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:3",{"_index":23725,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.result?.ogdescription",{"_index":16417,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogimage",{"_index":16419,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogtitle",{"_index":16416,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.sourceid",{"_index":7229,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.system.systemid",{"_index":17873,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.ts",{"_index":18240,"title":{},"body":{"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["data.ts:11",{"_index":23224,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:4",{"_index":18242,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:5",{"_index":23225,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:6",{"_index":18243,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:7",{"_index":23228,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:8",{"_index":18241,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:9",{"_index":23226,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data/generateseeddata",{"_index":5213,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["data?.contents?.filter((o",{"_index":19623,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.continuationtoken",{"_index":19630,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.istruncated",{"_index":19631,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["database",{"_index":1928,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"interfaces/GlobalConstants.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["database.js",{"_index":12429,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["database.module.ts",{"_index":16535,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:31",{"_index":16536,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:42",{"_index":16538,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/mongo",{"_index":16534,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/types",{"_index":12573,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["databasemanagementconsole",{"_index":8843,"title":{"classes/DatabaseManagementConsole.html":{}},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["databasemanagementcontroller",{"_index":8871,"title":{"controllers/DatabaseManagementController.html":{}},"body":{"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementmodule",{"_index":8900,"title":{"modules/DatabaseManagementModule.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementservice",{"_index":5201,"title":{"injectables/DatabaseManagementService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementuc",{"_index":5220,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["dataformats",{"_index":26205,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["datamodel",{"_index":25869,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["datastream",{"_index":22485,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["datawithdefaults",{"_index":17360,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["date",{"_index":83,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TimestampsResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"license.html":{}}}],["date().gettime",{"_index":1741,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["date(2020",{"_index":15371,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["date(date.now",{"_index":7768,"title":{},"body":{"classes/CourseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{}}}],["date(now.gettime",{"_index":24060,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["date(sequence",{"_index":13182,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["date(source.person.geburt?.datum",{"_index":19827,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["date(user.createdtimestamp",{"_index":14924,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["date.now",{"_index":8048,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/JwtTestFactory.html":{},"injectables/UserLoginMigrationService.html":{}}}],["date.setdate(date.getdate",{"_index":20897,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["datefield",{"_index":13181,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["dateofdeletion",{"_index":9551,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["dateofdeletion.setminutes(dateofdeletion.getminutes",{"_index":9552,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["datum",{"_index":19668,"title":{},"body":{"classes/SanisGeburtResponse.html":{}}}],["days",{"_index":2910,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"license.html":{}}}],["dayssincedeletion",{"_index":8966,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["db",{"_index":624,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/DatabaseManagementService.html":{},"classes/ImportUserScope.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["db.service",{"_index":678,"title":{},"body":{"modules/AccountModule.html":{}}}],["db.service.ts",{"_index":901,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:135",{"_index":915,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:14",{"_index":904,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:143",{"_index":908,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db_password",{"_index":1022,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["db_url",{"_index":1023,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["db_username",{"_index":1024,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["dbc",{"_index":13921,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["dbcaccountid",{"_index":14883,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcaccountid:${accountdbcaccountid",{"_index":14899,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbcsystemid",{"_index":14885,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid",{"_index":14884,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid:${accountdbcuserid",{"_index":14903,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbildungscloud",{"_index":25609,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["dbname",{"_index":16540,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["dd",{"_index":15912,"title":{},"body":{"modules/LoggerModule.html":{}}}],["de",{"_index":5376,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/H5PContentFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["dealing",{"_index":25871,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["debug",{"_index":1042,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"classes/ConsentRequestBody.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debug(loggable",{"_index":15878,"title":{},"body":{"injectables/Logger.html":{}}}],["debug(message",{"_index":13769,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["debugger",{"_index":25007,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["debugging",{"_index":12431,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debugmode",{"_index":1280,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["december",{"_index":25222,"title":{},"body":{"license.html":{}}}],["decide",{"_index":5139,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"todo.html":{}}}],["decides",{"_index":14664,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["decisions",{"_index":25837,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["declarations",{"_index":257,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declare",{"_index":18563,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["declared",{"_index":4247,"title":{},"body":{"classes/BusinessError.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declining",{"_index":25383,"title":{},"body":{"license.html":{}}}],["decodedjwt",{"_index":1735,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/OAuthService.html":{}}}],["decodedjwt.accountid",{"_index":1738,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodedjwt.jti",{"_index":1737,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodehtmlentities",{"_index":3054,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["decodehtmlentities()@apiproperty({description",{"_index":8639,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["decoder",{"_index":22919,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding",{"_index":22877,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.createdecoder(message",{"_index":22920,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint(decoder",{"_index":22922,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint8array(decoder",{"_index":22928,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decorated",{"_index":12734,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["decorator",{"_index":9971,"title":{},"body":{"classes/ErrorLoggable.html":{},"controllers/LoginController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["decorators",{"_index":190,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"entities/ClassEntity.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"controllers/CollaborativeStorageController.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"entities/DashboardGridElementModel.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"entities/RegistrationPinEntity.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"classes/SchoolSystemParams.html":{},"entities/SchoolYearEntity.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"entities/SubmissionItemNode.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["decoupled",{"_index":26203,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["decrypt",{"_index":9920,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decrypt(data",{"_index":9922,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decryptedclientsecret",{"_index":17054,"title":{},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["decryptedstring",{"_index":20994,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["deemed",{"_index":25211,"title":{},"body":{"license.html":{}}}],["deepmocked",{"_index":26144,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["deeppartial",{"_index":539,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["default",{"_index":129,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"modules/ErrorModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupScope.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IToolFeatures.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"controllers/ServerController.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["default...what",{"_index":7559,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.color",{"_index":7519,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.description",{"_index":7524,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.name",{"_index":7531,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.schema.json",{"_index":25681,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["default_language",{"_index":5371,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaultclientinternalid",{"_index":14640,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultcolumns",{"_index":8499,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["defaultconfig",{"_index":12094,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["defaultencryptionservice",{"_index":5203,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["defaulterror",{"_index":4896,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultheaders",{"_index":9081,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["defaultlanguage",{"_index":6573,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["defaultmapper",{"_index":14743,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper.id",{"_index":14770,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper?.id",{"_index":14746,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmessage",{"_index":1374,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"interfaces/ErrorType.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["defaultmikroormoptions",{"_index":1036,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["defaultoauthclientbody",{"_index":17334,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["defaultoptions",{"_index":16549,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["defaults",{"_index":890,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ConsentRequestBody.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionExecutionParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/GroupPaginationParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PaginationParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["defaultscope",{"_index":17715,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["defaultscopes",{"_index":15154,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["defaultsecretreplacementhinttext",{"_index":5218,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaulttestpassword",{"_index":581,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["defaulttestpasswordhash",{"_index":583,"title":{},"body":{"classes/AccountFactory.html":{}}}],["defaultvalue",{"_index":4915,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultvideoconferenceoptions",{"_index":24487,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everyattendeejoinsmuted",{"_index":24488,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everybodyjoinsasmoderator",{"_index":24489,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.moderatormustapprovejoinrequests",{"_index":24490,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defective",{"_index":25556,"title":{},"body":{"license.html":{}}}],["defending",{"_index":25084,"title":{},"body":{"license.html":{}}}],["defenses",{"_index":25513,"title":{},"body":{"license.html":{}}}],["define",{"_index":512,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["define(this",{"_index":554,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["defined",{"_index":27,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.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/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["defines",{"_index":25717,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["defining",{"_index":2558,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definition",{"_index":1380,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"classes/ErrorResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definitions",{"_index":5348,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["delay",{"_index":2858,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["delay(ms",{"_index":14814,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["delete",{"_index":10,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LessonController.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["delete(':boardid",{"_index":3264,"title":{},"body":{"controllers/BoardController.html":{}}}],["delete(':cardid",{"_index":4426,"title":{},"body":{"controllers/CardController.html":{}}}],["delete(':columnid",{"_index":5665,"title":{},"body":{"controllers/ColumnController.html":{}}}],["delete(':contentelementid",{"_index":9866,"title":{},"body":{"controllers/ElementController.html":{}}}],["delete(':contextexternaltoolid",{"_index":23120,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23099,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':docname",{"_index":22731,"title":{},"body":{"controllers/TldrawController.html":{}}}],["delete(':externaltoolid",{"_index":23193,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':externaltoolid')@apiforbiddenresponse({description",{"_index":23146,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':id",{"_index":423,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':id')@apioperation({summary",{"_index":327,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':importuserid/match",{"_index":14022,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["delete(':lessonid",{"_index":15560,"title":{},"body":{"controllers/LessonController.html":{}}}],["delete(':newsid",{"_index":16600,"title":{},"body":{"controllers/NewsController.html":{}}}],["delete(':requestid",{"_index":9591,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':requestid')@httpcode(204)@apioperation({summary",{"_index":9570,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':schoolexternaltoolid",{"_index":23474,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23444,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':scope/:scopeid",{"_index":24582,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':scope/:scopeid')@apioperation({summary",{"_index":24556,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':submissionid",{"_index":21127,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["delete(':systemid",{"_index":21477,"title":{},"body":{"controllers/SystemController.html":{}}}],["delete(':taskid",{"_index":21789,"title":{},"body":{"controllers/TaskController.html":{}}}],["delete('auth/sessions/consent",{"_index":17500,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete('clients/:id",{"_index":17473,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete(@param",{"_index":15564,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(board",{"_index":5518,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["delete(card",{"_index":4489,"title":{},"body":{"injectables/CardService.html":{}}}],["delete(column",{"_index":5691,"title":{},"body":{"injectables/ColumnService.html":{}}}],["delete(domainobject",{"_index":2511,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["delete(domainobjects",{"_index":2453,"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":6458,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["delete(entities",{"_index":761,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["delete(entity",{"_index":22766,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["delete(group",{"_index":13063,"title":{},"body":{"injectables/GroupService.html":{}}}],["delete(id",{"_index":25,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/NewsUc.html":{}}}],["delete(path",{"_index":1643,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(paths",{"_index":19540,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["delete(submission",{"_index":21335,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["delete(subpath",{"_index":1641,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["delete(task",{"_index":22154,"title":{},"body":{"injectables/TaskService.html":{}}}],["delete(urlparams",{"_index":15558,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(userid",{"_index":15724,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{}}}],["delete.vistor",{"_index":3672,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["delete.vistor.ts",{"_index":18688,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:103",{"_index":18696,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:24",{"_index":18691,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:32",{"_index":18698,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:37",{"_index":18697,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:42",{"_index":18694,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:47",{"_index":18701,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:54",{"_index":18702,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:61",{"_index":18703,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:66",{"_index":18699,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:73",{"_index":18704,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:78",{"_index":18705,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:83",{"_index":18700,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:99",{"_index":18693,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete_files_of_parent",{"_index":7204,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["deleteaccountbyid",{"_index":318,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteaccountbyid(accountid",{"_index":13918,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["deleteaccountbyid(currentuser",{"_index":324,"title":{},"body":{"controllers/AccountController.html":{}}}],["deleteaccountbyid(id",{"_index":14858,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteafter",{"_index":9386,"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":3206,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["deleteboard(@param",{"_index":3265,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(urlparams",{"_index":3221,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(userid",{"_index":4142,"title":{},"body":{"injectables/BoardUc.html":{}}}],["deletebydashboardid",{"_index":8435,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["deletebydashboardid(id",{"_index":8437,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["deletebydocname",{"_index":22720,"title":{},"body":{"controllers/TldrawController.html":{},"injectables/TldrawService.html":{}}}],["deletebydocname(@param",{"_index":22732,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebydocname(docname",{"_index":22776,"title":{},"body":{"injectables/TldrawService.html":{}}}],["deletebydocname(urlparams",{"_index":22721,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebyexternaltoolid",{"_index":20007,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyexternaltoolid(toolid",{"_index":20013,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyid",{"_index":729,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deletebyid(accountid",{"_index":737,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["deletebyid(deletionrequestid",{"_index":9489,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletebyid(id",{"_index":2457,"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":7038,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":7049,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolids",{"_index":6853,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":6865,"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":4368,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["deletecard(@param",{"_index":4427,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(urlparams",{"_index":4379,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(userid",{"_index":4542,"title":{},"body":{"injectables/CardUc.html":{}}}],["deletecolumn",{"_index":5635,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["deletecolumn(@param",{"_index":5666,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(urlparams",{"_index":5645,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(userid",{"_index":5709,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["deletecontent",{"_index":13223,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontent(content",{"_index":13226,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontextexternaltool",{"_index":7039,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(contextexternaltool",{"_index":7051,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletecontextexternaltool(currentuser",{"_index":23098,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(userid",{"_index":7094,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["deleted",{"_index":335,"title":{},"body":{"controllers/AccountController.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionQueueConsole.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SystemService.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deletedashboardbyuserid",{"_index":8772,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"interfaces/IDashboardRepo.html":{}}}],["deletedashboardbyuserid(userid",{"_index":8777,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"interfaces/IDashboardRepo.html":{}}}],["deletedat",{"_index":11596,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{}}}],["deletedcount",{"_index":8941,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletedexternaltoolpseudonyms",{"_index":18484,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedfoldername",{"_index":19523,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedid",{"_index":16635,"title":{},"body":{"controllers/NewsController.html":{}}}],["deletedirectory",{"_index":19526,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedirectory(path",{"_index":19542,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedpseudonyms",{"_index":18483,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedrawingbindata",{"_index":9678,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedrawingbindata(docname",{"_index":9680,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedsince",{"_index":7216,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["deletedusernumber",{"_index":24254,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deletedusers",{"_index":15012,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["deleteelement",{"_index":9836,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["deleteelement(urlparams",{"_index":9843,"title":{},"body":{"controllers/ElementController.html":{}}}],["deleteelement(userid",{"_index":9878,"title":{},"body":{"injectables/ElementUc.html":{}}}],["deleteexternaltool",{"_index":10998,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["deleteexternaltool(currentuser",{"_index":23145,"title":{},"body":{"controllers/ToolController.html":{}}}],["deleteexternaltool(toolid",{"_index":11013,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["deleteexternaltool(userid",{"_index":11115,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["deleteexternaltoolpseudonymsbyuserid",{"_index":18446,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18457,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletefile",{"_index":8980,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["deletefile(file",{"_index":8991,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefile(filename",{"_index":22470,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["deletefileinstorage",{"_index":8981,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefileinstorage(file",{"_index":8993,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefilesconsole",{"_index":8953,"title":{"classes/DeleteFilesConsole.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{}}}],["deletefilesofparent",{"_index":12258,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent(@rabbitpayload",{"_index":12360,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["deletefilesofparent(parentid",{"_index":12266,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["deletefilesofparent(payload",{"_index":12339,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:finished",{"_index":12460,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:started",{"_index":12458,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesuc",{"_index":8958,"title":{"injectables/DeleteFilesUc.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["deletegroup(groupname",{"_index":1150,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteh5pcontent",{"_index":13239,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteh5pcontent(params",{"_index":13253,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteidentityprovider",{"_index":14628,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteidentityprovider(alias",{"_index":14652,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteimportusersbyschool",{"_index":14193,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteimportusersbyschool(school",{"_index":14197,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteinminutes",{"_index":2898,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["deletelesson",{"_index":15696,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletelesson(lesson",{"_index":15701,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletemarkedfiles",{"_index":8956,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["deletemarkedfiles(dayssincedeletion",{"_index":8960,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["deletemarkedfiles(thresholddate",{"_index":8995,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletenode",{"_index":18689,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deletenode(domainobject",{"_index":18692,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deleteoauth2client",{"_index":17336,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["deleteoauth2client(@currentuser",{"_index":17474,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(currentuser",{"_index":17344,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(id",{"_index":17603,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["deleteobjectcommand",{"_index":8998,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deleteobjects",{"_index":19602,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deleteobjectscommand",{"_index":19559,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletepreviews",{"_index":18120,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepreviews(filerecords",{"_index":18127,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepseudonymsbyuserid",{"_index":10646,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletepseudonymsbyuserid(userid",{"_index":10656,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deleterefsfromtxtfile",{"_index":2893,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleterefsfromtxtfile(refsfilepath",{"_index":2896,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleteregistrationpinbyemail",{"_index":18921,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deleteregistrationpinbyemail(email",{"_index":18923,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deletes",{"_index":328,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool",{"_index":20105,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(currentuser",{"_index":23443,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(userid",{"_index":20113,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["deleteschoolexternaltoolbyid",{"_index":20067,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":20075,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deletesubmissions",{"_index":22152,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesubmissions(task",{"_index":22156,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesuccessfull",{"_index":13344,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deletesystem",{"_index":21444,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(@currentuser",{"_index":21479,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(currentuser",{"_index":21446,"title":{},"body":{"controllers/SystemController.html":{}}}],["deleteteam",{"_index":5007,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteteam(teamid",{"_index":5019,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteuser",{"_index":24200,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(userid",{"_index":24204,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(username",{"_index":1155,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteuserdatafromclasses",{"_index":4810,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromclasses(userid",{"_index":4815,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromcourse",{"_index":7976,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcourse(userid",{"_index":7979,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcoursegroup",{"_index":7821,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromcoursegroup(userid",{"_index":7825,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromlessons",{"_index":15697,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromlessons(userid",{"_index":15703,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromteams",{"_index":22376,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserdatafromteams(userid",{"_index":22380,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserloginmigration",{"_index":24023,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deleteuserloginmigration(userloginmigration",{"_index":24034,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deletevisitor",{"_index":3646,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["deletewithdescendants",{"_index":3727,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deletewithdescendants(domainobject",{"_index":3730,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deleting",{"_index":8969,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["deletion",{"_index":2830,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"modules/CommonToolModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["deletion'})@apiresponse({status",{"_index":9581,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletion.service.ts",{"_index":2818,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:10",{"_index":2826,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:7",{"_index":2822,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.uc.ts",{"_index":2892,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:12",{"_index":2899,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:9",{"_index":2895,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion/deletion",{"_index":1033,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["deletionapimodule",{"_index":1010,"title":{"modules/DeletionApiModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["deletionclient",{"_index":2821,"title":{"injectables/DeletionClient.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionclientconfig",{"_index":9095,"title":{"interfaces/DeletionClientConfig.html":{}},"body":{"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{}}}],["deletioncommand",{"_index":9042,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionconsolemodule",{"_index":9136,"title":{"modules/DeletionConsoleModule.html":{}},"body":{"modules/DeletionConsoleModule.html":{}}}],["deletiondomainmodel",{"_index":9234,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiondomainmodel.user",{"_index":9439,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionexecutionconsole",{"_index":9147,"title":{"classes/DeletionExecutionConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutionparams",{"_index":9169,"title":{"classes/DeletionExecutionParams.html":{}},"body":{"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionquery",{"_index":9205,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutions",{"_index":9199,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionscontroller",{"_index":9059,"title":{"controllers/DeletionExecutionsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutiontriggerresult",{"_index":9159,"title":{"interfaces/DeletionExecutionTriggerResult.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder",{"_index":9158,"title":{"classes/DeletionExecutionTriggerResultBuilder.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder.buildfailure(err",{"_index":9167,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerresultbuilder.buildsuccess",{"_index":9166,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerstatus",{"_index":9177,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutionuc",{"_index":9152,"title":{"injectables/DeletionExecutionUc.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionlog",{"_index":9213,"title":{"classes/DeletionLog.html":{}},"body":{"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogentities",{"_index":9310,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogentity",{"_index":9243,"title":{"entities/DeletionLogEntity.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogentityprops",{"_index":9254,"title":{"interfaces/DeletionLogEntityProps.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["deletionlogid",{"_index":9304,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper",{"_index":9270,"title":{"classes/DeletionLogMapper.html":{}},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodo(deletionlog",{"_index":9309,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodos(deletionlogentities",{"_index":9313,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptoentity(deletionlog",{"_index":9314,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogprops",{"_index":9236,"title":{"interfaces/DeletionLogProps.html":{}},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["deletionlogrepo",{"_index":9293,"title":{"injectables/DeletionLogRepo.html":{}},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogs",{"_index":9255,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogservice",{"_index":9316,"title":{"injectables/DeletionLogService.html":{}},"body":{"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogstatistic",{"_index":9330,"title":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionlogstatisticbuilder",{"_index":9343,"title":{"classes/DeletionLogStatisticBuilder.html":{}},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["deletionmodule",{"_index":9049,"title":{"modules/DeletionModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{}}}],["deletionoperationmodel",{"_index":9235,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionplannedat",{"_index":2840,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["deletionqueueconsole",{"_index":9145,"title":{"classes/DeletionQueueConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["deletionrequest",{"_index":9384,"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":9518,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequest.failed",{"_index":9520,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestbody",{"_index":9577,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodyprops",{"_index":9402,"title":{"classes/DeletionRequestBodyProps.html":{}},"body":{"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodypropsbuilder",{"_index":9409,"title":{"classes/DeletionRequestBodyPropsBuilder.html":{}},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestcreateanswer",{"_index":9342,"title":{"interfaces/DeletionRequestCreateAnswer.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestentities",{"_index":9510,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentities.map((entity",{"_index":9512,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentity",{"_index":9413,"title":{"entities/DeletionRequestEntity.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestentity.id",{"_index":9516,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentityprops",{"_index":9422,"title":{"interfaces/DeletionRequestEntityProps.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestfactory",{"_index":9432,"title":{"classes/DeletionRequestFactory.html":{}},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestfactory.define(deletionrequest",{"_index":9438,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestid",{"_index":9218,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestinput",{"_index":2843,"title":{"interfaces/DeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder",{"_index":2829,"title":{"classes/DeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder.build",{"_index":2844,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestitem",{"_index":9412,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestlog",{"_index":9337,"title":{"interfaces/DeletionRequestLog.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestlogresponse",{"_index":9451,"title":{"classes/DeletionRequestLogResponse.html":{}},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestlogresponsebuilder",{"_index":9463,"title":{"classes/DeletionRequestLogResponseBuilder.html":{}},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["deletionrequestmapper",{"_index":9466,"title":{"classes/DeletionRequestMapper.html":{}},"body":{"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(deletionrequest",{"_index":9505,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(entity",{"_index":9513,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptoentity(deletionrequest",{"_index":9506,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestoutput",{"_index":2849,"title":{"interfaces/DeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestoutput.deletionplannedat",{"_index":2855,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutput.requestid",{"_index":2854,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutputbuilder",{"_index":9478,"title":{"classes/DeletionRequestOutputBuilder.html":{}},"body":{"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestprops",{"_index":9340,"title":{"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestrepo",{"_index":9352,"title":{"injectables/DeletionRequestRepo.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestresponse",{"_index":9522,"title":{"classes/DeletionRequestResponse.html":{}},"body":{"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequests",{"_index":9100,"title":{},"body":{"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscontroller",{"_index":9058,"title":{"controllers/DeletionRequestsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscope",{"_index":9502,"title":{"classes/DeletionRequestScope.html":{}},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestscope().bydeleteafter(currentdate).bystatus",{"_index":9509,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestservice",{"_index":9351,"title":{"injectables/DeletionRequestService.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequesttargetrefinput",{"_index":9442,"title":{"interfaces/DeletionRequestTargetRefInput.html":{}},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder",{"_index":9448,"title":{"classes/DeletionRequestTargetRefInputBuilder.html":{}},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder.build(targetrefdomain",{"_index":9450,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequesttoupdate",{"_index":9550,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["deletionrequestuc",{"_index":9056,"title":{},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletions",{"_index":9018,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionstatusmodel",{"_index":9397,"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":9431,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionstatusmodel.registered",{"_index":9440,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.success",{"_index":9430,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletiontargetref",{"_index":9332,"title":{"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiontargetrefbuilder",{"_index":9594,"title":{"classes/DeletionTargetRefBuilder.html":{}},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["dem",{"_index":5541,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["demand",{"_index":16967,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["denied",{"_index":25357,"title":{},"body":{"license.html":{}}}],["denominated",{"_index":25476,"title":{},"body":{"license.html":{}}}],["depend",{"_index":25821,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependencies",{"_index":255,"title":{"dependencies.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dependency",{"_index":1714,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/BoardModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependent",{"_index":26328,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["depending",{"_index":12145,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["depends",{"_index":12134,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deployment",{"_index":14940,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["deployments",{"_index":25890,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["deprecated",{"_index":102,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonToolService.html":{},"injectables/CourseCopyUC.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/PermissionService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["deprecated.controller.ts",{"_index":24550,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:106",{"_index":24557,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:46",{"_index":24555,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:86",{"_index":24559,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.response",{"_index":24564,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecated.response.ts",{"_index":9600,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:10",{"_index":24413,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:12",{"_index":24412,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:25",{"_index":9623,"title":{},"body":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["deprecated.response.ts:37",{"_index":9605,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:43",{"_index":9604,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:8",{"_index":24414,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecatedvideoconferenceinforesponse",{"_index":9597,"title":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecatedvideoconferencejoinresponse",{"_index":9615,"title":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprive",{"_index":25484,"title":{},"body":{"license.html":{}}}],["depth",{"_index":3652,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["der",{"_index":5554,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["derivecopyname",{"_index":7389,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopyname(name",{"_index":7394,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopystatus",{"_index":7338,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filecopystatus",{"_index":21844,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filedtos",{"_index":7348,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["derivecoursestatus",{"_index":7670,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivecoursestatus(originalcourse",{"_index":7679,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivestatusfromelements",{"_index":7390,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivestatusfromelements(elements",{"_index":7397,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["des",{"_index":5572,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["desc",{"_index":3977,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["descendant",{"_index":3968,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendant.path.match(`^${n.pathofchildren",{"_index":3976,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendants",{"_index":3533,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["describe",{"_index":25867,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"course",{"_index":26057,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"when",{"_index":26059,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('[method",{"_index":26088,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('createcourse",{"_index":26058,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('somefunction",{"_index":26162,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('when",{"_index":26089,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["described",{"_index":17167,"title":{},"body":{"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["describes",{"_index":2542,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["description",{"_index":157,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardUrlParams.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupPaginationParams.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolFactory.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUserFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolInfoResponse.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawDeleteParams.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"properties.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["description(value",{"_index":9671,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["description.a",{"_index":26033,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["descriptioncommit",{"_index":26235,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["descriptioninputformat",{"_index":13792,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptionoroptions",{"_index":15031,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["descriptions",{"_index":21759,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptive",{"_index":13970,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["deserialize",{"_index":4208,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["deserialize(bsondocuments",{"_index":4210,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["deserializes",{"_index":4212,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["design",{"_index":25611,"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":25296,"title":{},"body":{"license.html":{}}}],["designed",{"_index":25053,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["desireable",{"_index":17522,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["desired",{"_index":26087,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["destination",{"_index":7183,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["destinationcourse",{"_index":3293,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destinationcourse).then((status",{"_index":3355,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourse.id",{"_index":3380,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourseid",{"_index":7181,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["destinationexternalreference",{"_index":3379,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["destinationlesson",{"_index":21842,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destroy",{"_index":22833,"title":{},"body":{"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["destroyed",{"_index":18577,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["detail",{"_index":25539,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["detail.builder.ts",{"_index":2887,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.builder.ts:5",{"_index":2889,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.interface",{"_index":2874,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["detail.interface.ts",{"_index":2883,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{}}}],["detail.response",{"_index":1402,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["detail.response.ts",{"_index":24357,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detail.response.ts:1",{"_index":24359,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detailed",{"_index":25806,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["details",{"_index":1355,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/DeletionRequestsController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/IdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["detect",{"_index":5306,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["detectable",{"_index":23271,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["detectcontenttypeorthrow",{"_index":10430,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detectcontenttypeorthrow(imagebuffer",{"_index":10438,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detected",{"_index":11958,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["detection",{"_index":75,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["determine",{"_index":25803,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["determineinput",{"_index":18306,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determineinput(systemid",{"_index":18315,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determinelaunchrequestmethod",{"_index":2743,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinelaunchrequestmethod(properties",{"_index":2760,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinenewroomsin",{"_index":8446,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["determinenewroomsin(rooms",{"_index":8469,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["determineschooltoolstatus",{"_index":20068,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determineschooltoolstatus(tool",{"_index":20077,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinetoolconfigurationstatus",{"_index":6089,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determinetoolconfigurationstatus(externaltool",{"_index":6093,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determining",{"_index":17944,"title":{},"body":{"classes/PatchOrderParams.html":{},"license.html":{}}}],["deubg",{"_index":26216,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["dev",{"_index":25729,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["develop",{"_index":14941,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["developer",{"_index":6305,"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":25073,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["development",{"_index":4919,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/FileStorageConfig.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["devices",{"_index":4529,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["dfsdfsf",{"_index":25033,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["di",{"_index":25929,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dialnumber",{"_index":2246,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["dictionary",{"_index":12414,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["didn't",{"_index":9115,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["didnt",{"_index":26247,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["diff",{"_index":22647,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["diffenrent",{"_index":25665,"title":{},"body":{"todo.html":{}}}],["differ",{"_index":25538,"title":{},"body":{"license.html":{}}}],["different",{"_index":1218,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/CardSkeletonResponse.html":{},"injectables/NewsRepo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["differentiation",{"_index":26382,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["differently",{"_index":25376,"title":{},"body":{"license.html":{}}}],["differs",{"_index":26077,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dim",{"_index":9372,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["dir",{"_index":5233,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["direct",{"_index":14684,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["direction",{"_index":25200,"title":{},"body":{"license.html":{}}}],["directions",{"_index":25302,"title":{},"body":{"license.html":{}}}],["directly",{"_index":810,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["directories",{"_index":11639,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["directory",{"_index":12127,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dirnameprefix",{"_index":12131,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["dirpath",{"_index":12166,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["disable",{"_index":1087,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileMetadata.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Path.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserRepo.html":{},"todo.html":{}}}],["disabled",{"_index":17044,"title":{},"body":{"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["disableextratitlefield",{"_index":11730,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["disallow",{"_index":26384,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["disclaim",{"_index":25232,"title":{},"body":{"license.html":{}}}],["disclaimer",{"_index":25547,"title":{},"body":{"license.html":{}}}],["disclaiming",{"_index":25373,"title":{},"body":{"license.html":{}}}],["discovery",{"_index":2547,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"todo.html":{}}}],["discriminator",{"_index":9653,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["discriminatorcolumn",{"_index":3755,"title":{},"body":{"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CourseNews.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["discriminatorvalue",{"_index":2715,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["discriminatory",{"_index":25498,"title":{},"body":{"license.html":{}}}],["discussed",{"_index":2638,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["discussion",{"_index":25855,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["discussion_enabled=false",{"_index":26348,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["disk",{"_index":22856,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["display",{"_index":11358,"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":7878,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UpdateNewsParams.html":{}}}],["displaycolor",{"_index":4094,"title":{},"body":{"classes/BoardTaskResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UsersList.html":{}}}],["displayed",{"_index":8082,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["displayname",{"_index":6686,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserService.html":{}}}],["displays",{"_index":25148,"title":{},"body":{"license.html":{}}}],["disposable",{"_index":24884,"title":{},"body":{"dependencies.html":{}}}],["disposition",{"_index":7664,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{}}}],["dist",{"_index":24959,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["distinguish",{"_index":16905,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["distinguished",{"_index":26069,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["distinguishing",{"_index":25542,"title":{},"body":{"license.html":{}}}],["distingush",{"_index":26386,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["distribute",{"_index":25047,"title":{},"body":{"license.html":{}}}],["distributed",{"_index":25596,"title":{},"body":{"license.html":{}}}],["distributing",{"_index":25501,"title":{},"body":{"license.html":{}}}],["distribution",{"_index":25108,"title":{},"body":{"license.html":{}}}],["div",{"_index":6601,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dn",{"_index":4692,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["do.builder",{"_index":3524,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["do.builder.ts",{"_index":3479,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:25",{"_index":3498,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:26",{"_index":3495,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:27",{"_index":3492,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:28",{"_index":3501,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:29",{"_index":3507,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:30",{"_index":3510,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:31",{"_index":3513,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:32",{"_index":3516,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:33",{"_index":3519,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:34",{"_index":3504,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.mapper",{"_index":14402,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["do.mapper.ts",{"_index":14365,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:14",{"_index":14372,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:6",{"_index":14369,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.repo",{"_index":24184,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["do.repo.ts",{"_index":3637,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/UserDORepo.html":{}}}],["do.repo.ts:13",{"_index":3648,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:146",{"_index":23656,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:15",{"_index":23667,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:156",{"_index":23666,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:19",{"_index":23658,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:20",{"_index":3655,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:28",{"_index":3653,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:41",{"_index":3657,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:55",{"_index":3667,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:57",{"_index":23663,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:67",{"_index":3660,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:74",{"_index":23661,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:77",{"_index":3662,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:82",{"_index":23659,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:84",{"_index":3665,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:89",{"_index":3669,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:95",{"_index":3650,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.rule.ts",{"_index":3710,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:11",{"_index":3715,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:17",{"_index":3713,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:8",{"_index":3712,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.service",{"_index":4503,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["do.service.ts",{"_index":3726,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:20",{"_index":3735,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:6",{"_index":3729,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:9",{"_index":3731,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["dob",{"_index":2490,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dob.id",{"_index":2503,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dobasefactory",{"_index":4696,"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":8313,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["dobasefactory.define(lti11toolconfig",{"_index":8331,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["doc",{"_index":22657,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["doc).catch",{"_index":22917,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.awareness.getstates",{"_index":22950,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.delete(ws",{"_index":22891,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.foreach((_",{"_index":22912,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.get(ws",{"_index":22890,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.has(ws",{"_index":22888,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.set(ws",{"_index":22933,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.size",{"_index":22894,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.destroy",{"_index":22897,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.do",{"_index":22664,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["doc.do.ts",{"_index":24754,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:11",{"_index":24764,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:13",{"_index":24761,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:37",{"_index":24762,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:50",{"_index":24767,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:72",{"_index":24769,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:83",{"_index":24772,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:9",{"_index":24765,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.emit('error",{"_index":22929,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["docker",{"_index":25684,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/mongo",{"_index":26315,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/rocketchat/rocket.chat:4.7.2envs",{"_index":26357,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["doclass",{"_index":3654,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["doclass.name",{"_index":3680,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["docname",{"_index":9682,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["docname.'})@apiresponse({status",{"_index":22723,"title":{},"body":{"controllers/TldrawController.html":{}}}],["docname.length",{"_index":22809,"title":{},"body":{"classes/TldrawWs.html":{}}}],["docs",{"_index":22839,"title":{},"body":{"injectables/TldrawWsService.html":{},"todo.html":{}}}],["document",{"_index":7180,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/CreateNewsParams.html":{},"injectables/NewsRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawWs.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["document/${docname",{"_index":9686,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["documentation",{"_index":24975,"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":25361,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["documents",{"_index":4213,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doe",{"_index":23736,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["doe${sequence",{"_index":14093,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["doescourseexist",{"_index":3830,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doescourseexist(courseid",{"_index":3841,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doesmatch",{"_index":149,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["doesn't",{"_index":2927,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/LessonUC.html":{},"injectables/OAuthService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doesnt",{"_index":18797,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["doesurlmatch",{"_index":115,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doesurlmatch(url",{"_index":120,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doing",{"_index":25852,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["domain",{"_index":1883,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObjectFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LegacySchoolDo.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleNameMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolYearService.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/VideoConferenceCreateParams.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain)scopes",{"_index":26392,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain.mapper",{"_index":12950,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["domain.mapper.ts",{"_index":12846,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:20",{"_index":12853,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:21",{"_index":21489,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:41",{"_index":21487,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:48",{"_index":12856,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:5",{"_index":21485,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:65",{"_index":12860,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:77",{"_index":12858,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:86",{"_index":12865,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:95",{"_index":12863,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.trim",{"_index":20527,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["domain/class",{"_index":4767,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domain/deletion",{"_index":9279,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["domain/external",{"_index":10450,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["domain/interface",{"_index":20941,"title":{},"body":{"classes/SortHelper.html":{}}}],["domain/rocket",{"_index":19162,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["domain/rules",{"_index":1884,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["domain/types",{"_index":9253,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["domain/types/deletion",{"_index":9334,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["domain/ws",{"_index":22663,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["domainblacklist",{"_index":16230,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["domainentity",{"_index":8721,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["domainerror",{"_index":19480,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["domainobject",{"_index":1770,"title":{"classes/DomainObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"injectables/BaseDORepo.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["domainobject.acceptasync(this.deletevisitor",{"_index":3708,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["domainobject.authtoken",{"_index":19170,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.birthday",{"_index":23650,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.closedat",{"_index":23964,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.context",{"_index":20729,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.context?.contextid",{"_index":20793,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.context?.contexttype",{"_index":20792,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.createdat",{"_index":2522,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.customs",{"_index":8234,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.deleteafter",{"_index":9474,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.deletedcount",{"_index":9290,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.domain",{"_index":9287,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.email",{"_index":23633,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.emailsearchvalues",{"_index":23643,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.expiresat",{"_index":20730,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.externalid",{"_index":23636,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.finishedat",{"_index":23965,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.firstname",{"_index":23634,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.firstnamesearchvalues",{"_index":23639,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.forcepasswordchange",{"_index":23645,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.friendlyurl",{"_index":8240,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.frontchannel_logout_uri",{"_index":8243,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.gradelevel",{"_index":4792,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.id",{"_index":2498,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RocketChatUserMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SystemRepo.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.importhash",{"_index":23637,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.invitationlink",{"_index":4789,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.ishidden",{"_index":8244,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.islocal",{"_index":8236,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.istemplate",{"_index":8235,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.key",{"_index":8226,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.language",{"_index":23644,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastloginsystemchange",{"_index":23647,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastname",{"_index":23635,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastnamesearchvalues",{"_index":23641,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.ldapdn",{"_index":4793,"title":{},"body":{"classes/ClassMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.logo_url",{"_index":8228,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_message_type",{"_index":8229,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_version",{"_index":8230,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.mandatorysince",{"_index":23966,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.modifiedcount",{"_index":9289,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.name",{"_index":4784,"title":{},"body":{"classes/ClassMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.oauthclientid",{"_index":8239,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.opennewtab",{"_index":8242,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.operation",{"_index":9288,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.options",{"_index":24548,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.organizationid",{"_index":13046,"title":{},"body":{"injectables/GroupRule.html":{}}}],["domainobject.origintoolid",{"_index":8238,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.outdatedsince",{"_index":23648,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.payload",{"_index":20728,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.payload.parentid",{"_index":20791,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.payload.parenttype",{"_index":20790,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.performedat",{"_index":9292,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.preferences",{"_index":23646,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.previousexternalid",{"_index":23649,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.privacy_permission",{"_index":8233,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.rcid",{"_index":19169,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.removeuser(userid",{"_index":4828,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.resource_link_id",{"_index":8231,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.roles",{"_index":8232,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["domainobject.schoolid",{"_index":20388,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{},"classes/UserDO.html":{}}}],["domainobject.secret",{"_index":8227,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.skipconsent",{"_index":8241,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.source",{"_index":4796,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourceoptions",{"_index":4797,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourcesystemid",{"_index":23961,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.startedat",{"_index":23963,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.status",{"_index":9476,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.successor",{"_index":4794,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.systemid",{"_index":20370,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["domainobject.target",{"_index":24546,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetmodel",{"_index":24547,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetrefdomain",{"_index":9473,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetrefid",{"_index":9475,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetsystemid",{"_index":23962,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.teacherids.map((teacherid",{"_index":4786,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.token",{"_index":20727,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.updatedat",{"_index":2524,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.url",{"_index":8225,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.userids",{"_index":4827,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.userids?.map((userid",{"_index":4788,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.username",{"_index":19168,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.year",{"_index":4790,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject/share",{"_index":16474,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["domainobject:18",{"_index":3085,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SchoolSystemOptions.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobject:8",{"_index":3067,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SchoolSystemOptions.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobjectfactory",{"_index":9631,"title":{"classes/DomainObjectFactory.html":{}},"body":{"classes/DomainObjectFactory.html":{}}}],["domainobjects",{"_index":2455,"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":18765,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["domainobjects.map((domainobject",{"_index":4800,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{}}}],["domainobjects.map(async",{"_index":2489,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["domainrolenames",{"_index":24133,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles",{"_index":24131,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles.map((role",{"_index":24134,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domains",{"_index":24885,"title":{},"body":{"dependencies.html":{}}}],["domigration",{"_index":20197,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["domigration(externalid",{"_index":20208,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["domigration(userdo",{"_index":24156,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["don't",{"_index":2557,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OAuthService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["done",{"_index":9970,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["done(new",{"_index":24810,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["done(null",{"_index":24809,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["donothing",{"_index":21394,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["dont",{"_index":21906,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["dos",{"_index":6897,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["dosomethingcrazy",{"_index":26098,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z",{"_index":26103,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).catch(err",{"_index":26118,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).then(result",{"_index":26113,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazysync(wrong",{"_index":26121,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["doubtful",{"_index":25326,"title":{},"body":{"license.html":{}}}],["down",{"_index":25828,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["download",{"_index":18121,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download(filerecord",{"_index":18129,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download_uri",{"_index":1340,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downloadbysecuritytoken",{"_index":12064,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(@param('token",{"_index":12077,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(token",{"_index":12066,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadfileparams",{"_index":7277,"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":18069,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloadoriginfile(pathtofile",{"_index":18075,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloaduri",{"_index":1333,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downstream",{"_index":25432,"title":{},"body":{"license.html":{}}}],["draft",{"_index":21712,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskWithStatusVo.html":{}}}],["drawing",{"_index":3153,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["drawing.entity.ts",{"_index":22738,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["drawing.entity.ts:21",{"_index":22740,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:24",{"_index":22743,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:27",{"_index":22745,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:30",{"_index":22744,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:33",{"_index":22742,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:36",{"_index":22741,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawingcontentbody",{"_index":6504,"title":{"classes/DrawingContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelement",{"_index":3134,"title":{"classes/DrawingElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["drawingelement.description",{"_index":6540,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelement.id",{"_index":18785,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementadapterservice",{"_index":3895,"title":{"injectables/DrawingElementAdapterService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/TldrawClientModule.html":{}}}],["drawingelementcontent",{"_index":9687,"title":{"classes/DrawingElementContent.html":{}},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementcontentbody",{"_index":9645,"title":{"classes/DrawingElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelementcontentbody)@apiresponse({status",{"_index":9853,"title":{},"body":{"controllers/ElementController.html":{}}}],["drawingelementnode",{"_index":3500,"title":{"entities/DrawingElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementnodeprops",{"_index":9696,"title":{"interfaces/DrawingElementNodeProps.html":{}},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["drawingelementprops",{"_index":9674,"title":{"interfaces/DrawingElementProps.html":{}},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["drawingelementresponse",{"_index":4403,"title":{"classes/DrawingElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"controllers/ElementController.html":{}}}],["drawingelementresponsemapper",{"_index":6439,"title":{"classes/DrawingElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementresponsemapper.getinstance",{"_index":6428,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["drawingelementresponsemapper.instance",{"_index":9711,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["drawings",{"_index":22670,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawService.html":{}}}],["driven",{"_index":2637,"title":{},"body":{"injectables/BaseRepo.html":{},"properties.html":{}}}],["driver",{"_index":805,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drivers",{"_index":818,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drop/create",{"_index":5318,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["dropcollection",{"_index":8910,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollection(collectionname",{"_index":8921,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollectionifexists(collectionname",{"_index":5282,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["droplibrarycss",{"_index":11727,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dry",{"_index":25841,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto",{"_index":100,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"interfaces/BaseResponseMapper.html":{},"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CalendarEventDto.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"classes/CourseMapper.html":{},"classes/CreateNewsParams.html":{},"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/FileElementResponseMapper.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolSystemOptionsMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUserDto.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateNewsParams.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/VideoConference-1.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto's",{"_index":25913,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dto.availabledate",{"_index":21960,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.bbbresponse",{"_index":24400,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["dto.builder.ts",{"_index":11534,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:13",{"_index":11543,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:19",{"_index":11540,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:7",{"_index":11538,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.classes",{"_index":14156,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.cookies",{"_index":13675,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["dto.createdat",{"_index":19016,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.currentredirect",{"_index":13604,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.description",{"_index":21958,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.descriptioninputformat",{"_index":21973,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.destinationcourseid",{"_index":7448,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.displaycolor",{"_index":21964,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.duedate",{"_index":21962,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.elements",{"_index":7450,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.factory",{"_index":19456,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["dto.factory.ts",{"_index":9718,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:102",{"_index":9753,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:121",{"_index":9751,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:129",{"_index":9740,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:139",{"_index":9749,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:158",{"_index":9747,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:173",{"_index":9737,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:186",{"_index":19287,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:192",{"_index":19289,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:28",{"_index":9733,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:30",{"_index":9732,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:32",{"_index":9734,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:34",{"_index":9731,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:36",{"_index":9730,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:58",{"_index":9745,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:67",{"_index":9742,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:89",{"_index":9743,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:95",{"_index":9744,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.firstname",{"_index":14144,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.flagged",{"_index":14163,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.groupelements",{"_index":8678,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.groupid",{"_index":8677,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.id",{"_index":7446,"title":{},"body":{"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lastname",{"_index":14147,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lessonhidden",{"_index":21968,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.lessonname",{"_index":21967,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.loginname",{"_index":14150,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.mapper",{"_index":978,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["dto.mapper.abstract",{"_index":599,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.abstract.ts",{"_index":592,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.abstract.ts:7",{"_index":594,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.db.ts",{"_index":597,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{}}}],["dto.mapper.idm.ts",{"_index":606,"title":{},"body":{"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.ts",{"_index":466,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:23",{"_index":474,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:29",{"_index":472,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:6",{"_index":477,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.match",{"_index":14142,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.matchedby",{"_index":24138,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["dto.matches",{"_index":14159,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.options",{"_index":24602,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["dto.permission",{"_index":24401,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.permissions",{"_index":16914,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.provisioningstrategy",{"_index":18365,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.provisioningurl",{"_index":18367,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.response",{"_index":13607,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.response.status",{"_index":13603,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.role",{"_index":14153,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.rolename",{"_index":16970,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.roles",{"_index":19022,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.schoolid",{"_index":19020,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.state",{"_index":24398,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.target",{"_index":16700,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.teamid",{"_index":4300,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto.teamname",{"_index":16969,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.title",{"_index":4298,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["dto.unpublished",{"_index":16702,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.updatedat",{"_index":19018,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.updater",{"_index":16697,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.url",{"_index":24628,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["dto/ajax/post.body.params.transform",{"_index":13300,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/board/board",{"_index":3245,"title":{},"body":{"controllers/BoardController.html":{}}}],["dto/board/set",{"_index":4406,"title":{},"body":{"controllers/CardController.html":{}}}],["dto/calendar",{"_index":4308,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["dto/card/create",{"_index":5656,"title":{},"body":{"controllers/ColumnController.html":{}}}],["dto/class",{"_index":13100,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["dto/context",{"_index":7105,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["dto/copy.response",{"_index":7442,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto/element/drawing",{"_index":9709,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["dto/element/rich",{"_index":19111,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["dto/file.dto",{"_index":11545,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto/fwu",{"_index":12533,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["dto/h5p",{"_index":13301,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/oauth2",{"_index":23861,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/pseudonym",{"_index":18401,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["dto/public",{"_index":21610,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["dto/request/school",{"_index":23863,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/request/user",{"_index":23865,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/response/consent.response",{"_index":17452,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/redirect.response",{"_index":17453,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/video",{"_index":24563,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["dto/role.dto",{"_index":19272,"title":{},"body":{"injectables/RoleService.html":{}}}],["dto/school",{"_index":20125,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["dto/stateless",{"_index":17647,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dto/submission",{"_index":4069,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["dto/task",{"_index":21811,"title":{},"body":{"controllers/TaskController.html":{}}}],["dto/team",{"_index":5052,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto/team.dto",{"_index":5152,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["dtocreator",{"_index":9716,"title":{"classes/DtoCreator.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dtolist",{"_index":14059,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["dtos",{"_index":5050,"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":3908,"title":{},"body":{"modules/BoardModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["duedate",{"_index":3593,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardTaskResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["duedate(value",{"_index":21095,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["dummy",{"_index":13276,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dummypasswd!1",{"_index":582,"title":{},"body":{"classes/AccountFactory.html":{}}}],["duplicate",{"_index":7138,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["duplicate.filter",{"_index":7144,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.id",{"_index":10611,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["duplicate.length",{"_index":7148,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.loggable",{"_index":20274,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["duplicates",{"_index":17965,"title":{},"body":{"injectables/PermissionService.html":{}}}],["duplicatetool",{"_index":7145,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.displayname",{"_index":7147,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.id",{"_index":7146,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplication",{"_index":2556,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["durable",{"_index":25280,"title":{},"body":{"license.html":{}}}],["duration",{"_index":2247,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/DurationLoggingInterceptor.html":{}}}],["durationlogginginterceptor",{"_index":9815,"title":{"injectables/DurationLoggingInterceptor.html":{}},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["during",{"_index":4953,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dwelling",{"_index":25325,"title":{},"body":{"license.html":{}}}],["dynamically",{"_index":25179,"title":{},"body":{"license.html":{}}}],["dynamicdependencies",{"_index":6574,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dynamicmodule",{"_index":1016,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["e",{"_index":2465,"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/ShareTokenRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["e.g",{"_index":2550,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/ConsentRequestBody.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICurrentUser.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["e.property",{"_index":9967,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.response.data",{"_index":1105,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.data.errortype",{"_index":1107,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.statuscode",{"_index":1102,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.target",{"_index":9972,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.value",{"_index":9974,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["each",{"_index":2531,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/BatchDeletionUc.html":{},"classes/CardIdsParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"interfaces/RetryOptions.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["eager",{"_index":13962,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["earlier",{"_index":25123,"title":{},"body":{"license.html":{}}}],["ease",{"_index":26452,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["easier",{"_index":26178,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["easily",{"_index":26081,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["easy",{"_index":25799,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["eathers",{"_index":11466,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["edit",{"_index":7886,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["editcoursebyadmin(userid",{"_index":26418,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["editor",{"_index":3426,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserBoardRoles.html":{}}}],["editor.config",{"_index":13400,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["editor.controller",{"_index":13396,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.controller.ts",{"_index":13237,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:103",{"_index":13284,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:123",{"_index":13258,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:136",{"_index":13287,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:151",{"_index":13255,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:162",{"_index":13274,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:170",{"_index":13267,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:182",{"_index":13252,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:199",{"_index":13290,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:219",{"_index":13292,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:53",{"_index":13280,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:66",{"_index":13271,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:75",{"_index":13264,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:82",{"_index":13261,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.module",{"_index":13412,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["editor.module.ts",{"_index":13394,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.params.ts",{"_index":12628,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:14",{"_index":12631,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:18",{"_index":12629,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:24",{"_index":12643,"title":{},"body":{"classes/GetH5PEditorParamsCreate.html":{}}}],["editor.params.ts:30",{"_index":12640,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:34",{"_index":12642,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:40",{"_index":19849,"title":{},"body":{"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:46",{"_index":17980,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:50",{"_index":17985,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:54",{"_index":17984,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:60",{"_index":17982,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:66",{"_index":17979,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:70",{"_index":17977,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:75",{"_index":17976,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:83",{"_index":17974,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.response",{"_index":13302,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.response.ts",{"_index":12590,"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":13380,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:17",{"_index":13381,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:21",{"_index":13382,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:42",{"_index":13372,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:5",{"_index":13379,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:52",{"_index":13373,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:55",{"_index":13374,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:58",{"_index":13375,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:61",{"_index":13192,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:68",{"_index":13194,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:71",{"_index":13193,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:74",{"_index":13520,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:81",{"_index":13521,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:84",{"_index":13522,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor/controller/dto/ajax/get.params.ts",{"_index":1196,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:10",{"_index":1205,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:14",{"_index":1206,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:18",{"_index":1207,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:22",{"_index":1204,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:6",{"_index":1202,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.transform",{"_index":1209,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts",{"_index":6387,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:14",{"_index":6390,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:19",{"_index":6392,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:25",{"_index":15748,"title":{},"body":{"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:8",{"_index":15740,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts",{"_index":1251,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:10",{"_index":1255,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:14",{"_index":1256,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:18",{"_index":1257,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:22",{"_index":1254,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:26",{"_index":1253,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:6",{"_index":1252,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/content",{"_index":6559,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["editor/controller/dto/h5p",{"_index":12589,"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":15741,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["editor/controller/h5p",{"_index":13236,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor/entity",{"_index":13177,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["editor/entity/h5p",{"_index":6565,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["editor/entity/library.entity.ts",{"_index":11687,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editor/entity/library.entity.ts:111",{"_index":14328,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:114",{"_index":14308,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:120",{"_index":14309,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:126",{"_index":14310,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:129",{"_index":14311,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:134",{"_index":14312,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:137",{"_index":14313,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:140",{"_index":14314,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:143",{"_index":14316,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:146",{"_index":14317,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:149",{"_index":14318,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:152",{"_index":14321,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:158",{"_index":14324,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:161",{"_index":14325,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:164",{"_index":14326,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:167",{"_index":14329,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:17",{"_index":15746,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:170",{"_index":14331,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:173",{"_index":14332,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:176",{"_index":14327,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:181",{"_index":14330,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:189",{"_index":14315,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:20",{"_index":15747,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:23",{"_index":15745,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:33",{"_index":11693,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:35",{"_index":11692,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:37",{"_index":11691,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:49",{"_index":14319,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:52",{"_index":14320,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:55",{"_index":14322,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:58",{"_index":14323,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:64",{"_index":14307,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:8",{"_index":17949,"title":{},"body":{"classes/Path.html":{}}}],["editor/h5p",{"_index":13393,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["editor/mapper/h5p",{"_index":13187,"title":{},"body":{"classes/H5PContentMapper.html":{},"classes/H5PErrorMapper.html":{}}}],["editor/repo/h5p",{"_index":13221,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["editor/repo/library.repo.ts",{"_index":15749,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:11",{"_index":15756,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:16",{"_index":15765,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:20",{"_index":15764,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:35",{"_index":15758,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:39",{"_index":15762,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:58",{"_index":15760,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:7",{"_index":15766,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/temporary",{"_index":22442,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["editor/service/temporary",{"_index":22459,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["editor/types/lumi",{"_index":13196,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["editor/uc/dto/h5p",{"_index":12646,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["editordependencies",{"_index":6575,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editormodel",{"_index":13348,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{}}}],["editormodel.integration",{"_index":12597,"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":12599,"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":12601,"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":11715,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editusernameallowed",{"_index":14740,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["effect",{"_index":25577,"title":{},"body":{"license.html":{}}}],["effected",{"_index":25229,"title":{},"body":{"license.html":{}}}],["effective",{"_index":25212,"title":{},"body":{"license.html":{}}}],["effectively",{"_index":25593,"title":{},"body":{"license.html":{}}}],["effects",{"_index":2347,"title":{},"body":{"injectables/BBBService.html":{}}}],["efficient",{"_index":3971,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["effortless",{"_index":26042,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["efforts",{"_index":25446,"title":{},"body":{"license.html":{}}}],["eid",{"_index":2507,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["einsatz",{"_index":5571,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ejson",{"_index":4222,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.deserialize(bsondocuments",{"_index":4225,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.serialize(documents",{"_index":4223,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["el",{"_index":3409,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"injectables/CopyHelperService.html":{}}}],["el.copyentity",{"_index":3412,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["el.getreferences()).flat",{"_index":8576,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["el.status",{"_index":7404,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["el.target.id",{"_index":2986,"title":{},"body":{"entities/Board.html":{}}}],["el.type",{"_index":3410,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elapsedtimemilliseconds",{"_index":14591,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["electronic",{"_index":25599,"title":{},"body":{"license.html":{}}}],["element",{"_index":2049,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BaseResponseMapper.html":{},"entities/Board.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/GridElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["element.'})@apiextramodels(fileelementcontentbody",{"_index":9852,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiextramodels(submissionitemresponse)@apiresponse({status",{"_index":9839,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiresponse({status",{"_index":9844,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.acceptasync(updater",{"_index":6482,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.alternativetext",{"_index":11592,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.boardelementtype",{"_index":3351,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.body.params.ts",{"_index":8014,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:10",{"_index":16573,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:12",{"_index":16581,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:14",{"_index":8020,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:17",{"_index":16582,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:18",{"_index":16574,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:23",{"_index":16580,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:25",{"_index":8018,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:29",{"_index":16577,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.body.params.ts:33",{"_index":16578,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.caption",{"_index":11591,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.constructor.name",{"_index":6449,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["element.contextexternaltoolid",{"_index":10358,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["element.createdat",{"_index":9714,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.description",{"_index":9715,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{}}}],["element.do",{"_index":3154,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["element.do.ts",{"_index":9663,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["element.do.ts:10",{"_index":19075,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:13",{"_index":11559,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:14",{"_index":19077,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:17",{"_index":11561,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:18",{"_index":19079,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:21",{"_index":15791,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:25",{"_index":15792,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:29",{"_index":15794,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:33",{"_index":15796,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:5",{"_index":9668,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:6",{"_index":19073,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:9",{"_index":9670,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.duedate",{"_index":21117,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.factory.ts",{"_index":6394,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:109",{"_index":6404,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:14",{"_index":6402,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:47",{"_index":6405,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:60",{"_index":6406,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:72",{"_index":6407,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:85",{"_index":6403,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:97",{"_index":6408,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.getreferences",{"_index":8564,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.getreferences().length",{"_index":8568,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.gridelement",{"_index":8546,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.id",{"_index":9712,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.imageurl",{"_index":15825,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.inputformat",{"_index":19113,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["element.interface",{"_index":5871,"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":5736,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.interface.ts:2",{"_index":5737,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.publish",{"_index":19465,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.removereference(room",{"_index":8567,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.removereferencebyindex(position.groupindex",{"_index":8589,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.response",{"_index":9710,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["element.response.ts",{"_index":3759,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:11",{"_index":9690,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{}}}],["element.response.ts:13",{"_index":19091,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:14",{"_index":9698,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:15",{"_index":21105,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:16",{"_index":19090,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:17",{"_index":3766,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:18",{"_index":11573,"title":{},"body":{"classes/FileElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:19",{"_index":19102,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:20",{"_index":15807,"title":{},"body":{"classes/LinkElementContent.html":{}}}],["element.response.ts:21",{"_index":11584,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:22",{"_index":3763,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.response.ts:23",{"_index":9700,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:26",{"_index":9702,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementResponse.html":{}}}],["element.response.ts:27",{"_index":21113,"title":{},"body":{"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:28",{"_index":19104,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:29",{"_index":9701,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:30",{"_index":11586,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:31",{"_index":19106,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:32",{"_index":9699,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:33",{"_index":11588,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:34",{"_index":19103,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:35",{"_index":15817,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:36",{"_index":11585,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:37",{"_index":19105,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:38",{"_index":15819,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:39",{"_index":11587,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:41",{"_index":15816,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:44",{"_index":15818,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:5",{"_index":9689,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{},"classes/LinkElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:6",{"_index":11572,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{}}}],["element.response.ts:7",{"_index":3760,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.service",{"_index":4504,"title":{},"body":{"injectables/CardService.html":{}}}],["element.service.ts",{"_index":6455,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:18",{"_index":6456,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:25",{"_index":6461,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:35",{"_index":6463,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:43",{"_index":6457,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:50",{"_index":6459,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:54",{"_index":6465,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:58",{"_index":6468,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.status",{"_index":7454,"title":{},"body":{"classes/CopyMapper.html":{}}}],["element.target",{"_index":2976,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.text",{"_index":5597,"title":{},"body":{"injectables/ColumnBoardService.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["element.title",{"_index":15824,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.ts",{"_index":5966,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:11",{"_index":5970,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:12",{"_index":6018,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:14",{"_index":5998,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:15",{"_index":6019,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:19",{"_index":5971,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["element.ts:21",{"_index":6034,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:3",{"_index":6023,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:38",{"_index":6035,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:42",{"_index":6036,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:46",{"_index":6037,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:6",{"_index":6025,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.type",{"_index":19307,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["element.unpublish",{"_index":19466,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.updatedat",{"_index":9713,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.url",{"_index":15823,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.url.params.ts",{"_index":6555,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:11",{"_index":6557,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:19",{"_index":19349,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["elementcontentbody",{"_index":9642,"title":{"classes/ElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["elementcontentbody:111",{"_index":21108,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["elementcontentbody:127",{"_index":10346,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["elementcontentbody:29",{"_index":11577,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["elementcontentbody:59",{"_index":15810,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["elementcontentbody:74",{"_index":9693,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["elementcontentbody:93",{"_index":19095,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["elementcontroller",{"_index":3033,"title":{"controllers/ElementController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ElementController.html":{}}}],["elementcopystatus",{"_index":3398,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementcopystatus.type",{"_index":3395,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementdata",{"_index":8665,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.copyingsince",{"_index":8673,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.displaycolor",{"_index":8670,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group",{"_index":8675,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group.map((groupmetadata",{"_index":8679,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.groupid",{"_index":8676,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.referencedid",{"_index":8674,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.shorttitle",{"_index":8669,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.title",{"_index":8668,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementid",{"_index":2024,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{}}}],["elementmapper",{"_index":6445,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmapper.maptoresponse(element",{"_index":6450,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmodel",{"_index":8720,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.dashboard",{"_index":8757,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.references.set(references",{"_index":8756,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.title",{"_index":8752,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.xpos",{"_index":8747,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.ypos",{"_index":8749,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elements",{"_index":896,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/GridElement.html":{},"classes/GroupPaginationParams.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":4009,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["elements.filter((element",{"_index":9768,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.foreach((element",{"_index":9778,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.map((el",{"_index":7403,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elements.map((elementcopystatus",{"_index":3394,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.map(async",{"_index":3408,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.push",{"_index":7717,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["elements.push(this.mapcolumnboard(element.content",{"_index":19310,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maplesson(element.content",{"_index":19309,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maptask(element.content",{"_index":19308,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elementservice",{"_index":4538,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["elementspercard",{"_index":3865,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementspercard.flat",{"_index":3868,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementsstatuses",{"_index":7402,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementsstatuses.filter((status",{"_index":7405,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementstoadd",{"_index":3013,"title":{},"body":{"entities/Board.html":{}}}],["elementtomove",{"_index":8552,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.getreferences",{"_index":8585,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.isgroup",{"_index":8584,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementuc",{"_index":3027,"title":{"injectables/ElementUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["elementwithposition",{"_index":8700,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.x",{"_index":8748,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.y",{"_index":8750,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elemmatch",{"_index":12211,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["em",{"_index":3649,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SystemRepo.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["em.config.options.clienturl",{"_index":26200,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["em.getreference(role",{"_index":12902,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(schoolentity",{"_index":12886,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["em.getreference(systementity",{"_index":12897,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["em.getreference(user",{"_index":12901,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["email",{"_index":702,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SystemEntityFactory.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emails",{"_index":25864,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["emailsearchvalues",{"_index":5368,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["embeddable",{"_index":2712,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ContentMetadata.html":{},"classes/County.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["embedded",{"_index":4654,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["embedded(undefined",{"_index":4648,"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/SchoolSystemOptionsEntity.html":{},"entities/TeamEntity.html":{},"entities/User.html":{}}}],["embedded({entity",{"_index":21515,"title":{},"body":{"entities/SystemEntity.html":{}}}],["embedtypes",{"_index":6576,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["embodied",{"_index":25277,"title":{},"body":{"license.html":{}}}],["emerg",{"_index":9988,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["emerg(loggable",{"_index":9995,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["employer",{"_index":25605,"title":{},"body":{"license.html":{}}}],["empty",{"_index":1834,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"classes/NewsScope.html":{},"classes/ReferencesService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emptyresultquery",{"_index":16781,"title":{},"body":{"classes/NewsScope.html":{},"classes/Scope.html":{}}}],["emptyresultquerytype",{"_index":7029,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":23555,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["enable",{"_index":12728,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"modules/ImportUserModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["enable.loggable.ts",{"_index":24151,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable.loggable.ts:4",{"_index":24152,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable_ldap_sync_during_migration",{"_index":19924,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enabled",{"_index":1268,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/IVideoConferenceSettings.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScanResult.html":{},"injectables/ShareTokenUC.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["enableimplicitconversion",{"_index":12732,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["enableldapsyncduringmigration",{"_index":19925,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enableoauthmigrationfeature",{"_index":24024,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enableoauthmigrationfeature(schooldo",{"_index":24036,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enables",{"_index":25142,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["encapsulates",{"_index":5103,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/ConverterUtil.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["encodeawarenessupdate",{"_index":22874,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodeawarenessupdate(doc.awareness",{"_index":22953,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encodeawarenessupdate(this.awareness",{"_index":24794,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["encoded",{"_index":2356,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FileSystemAdapter.html":{},"classes/WsSharedDocDo.html":{}}}],["encoder",{"_index":22906,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodestateasupdate",{"_index":22658,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(persistedydoc",{"_index":22690,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(ydoc",{"_index":22687,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector",{"_index":22659,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector(persistedydoc",{"_index":22686,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodeuricomponent(token",{"_index":1347,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["encoding",{"_index":12115,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.createencoder",{"_index":22907,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.length(encoder",{"_index":22925,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encoding.touint8array(encoder",{"_index":22911,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint(encoder",{"_index":22908,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint8array(encoder",{"_index":22952,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encouraged",{"_index":25090,"title":{},"body":{"license.html":{}}}],["encrypt",{"_index":9921,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application.html":{}}}],["encrypt(data",{"_index":9924,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encrypted",{"_index":1071,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["encryptedstring",{"_index":20991,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["encryption",{"_index":13887,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.interface",{"_index":9910,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.service",{"_index":9912,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryption.service.ts",{"_index":16019,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryption.service.ts:7",{"_index":16022,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryptionmodule",{"_index":9906,"title":{"modules/EncryptionModule.html":{}},"body":{"modules/EncryptionModule.html":{},"modules/ExternalToolModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"modules/OauthModule.html":{}}}],["encryptionproviderfactory(configservice",{"_index":9913,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryptionservice",{"_index":5204,"title":{"interfaces/EncryptionService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryptpassword",{"_index":902,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptpassword(password",{"_index":907,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptsecrets(collectionname",{"_index":5390,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["encryptsecretsinsystems(systems",{"_index":5392,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["end",{"_index":2328,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/LoginResponse-1.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["end(@currentuser",{"_index":24472,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["end(config",{"_index":2348,"title":{},"body":{"injectables/BBBService.html":{}}}],["end(currentuser",{"_index":24424,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["end(currentuserid",{"_index":24587,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.loggable.ts",{"_index":20167,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:3",{"_index":20169,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:6",{"_index":20170,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.uc.ts",{"_index":24585,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:12",{"_index":24586,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:19",{"_index":24588,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end2end",{"_index":26221,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["enddate",{"_index":20443,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{}}}],["ended",{"_index":24483,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["endings",{"_index":26251,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["endpoint",{"_index":2233,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"controllers/H5PEditorController.html":{},"interfaces/ListFiles.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"controllers/SystemController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["endpoints",{"_index":13310,"title":{},"body":{"controllers/H5PEditorController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["endpointurl",{"_index":20998,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["ends",{"_index":2350,"title":{},"body":{"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["endschoolinmaintenance",{"_index":14003,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(@currentuser",{"_index":14080,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(currentuser",{"_index":14011,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endtime",{"_index":2305,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["enforce",{"_index":22331,"title":{},"body":{"controllers/TeamNewsController.html":{},"license.html":{}}}],["enforces",{"_index":26078,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["enforcing",{"_index":25234,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["enities",{"_index":19221,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enities.map((entity",{"_index":19225,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enrichdatafromexternaltool",{"_index":20069,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichdatafromexternaltool(tool",{"_index":20078,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichedtools",{"_index":20091,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools",{"_index":20070,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools(tools",{"_index":20079,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["ensure",{"_index":11316,"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":3529,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureboardnodetype(boardnode",{"_index":3548,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurecontextpermissions",{"_index":10251,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensurecontextpermissions(userid",{"_index":10260,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureleafnode",{"_index":3530,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureleafnode(boardnode",{"_index":3551,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurepermission",{"_index":11107,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensurepermission(userid",{"_index":11117,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensures",{"_index":24990,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ensureschoolpermissions",{"_index":10252,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureschoolpermissions(userid",{"_index":10262,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensuretokeniswhitelisted",{"_index":14507,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["ensuretoolpermissions",{"_index":23417,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["ensuretoolpermissions(userid",{"_index":23420,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["entered",{"_index":25507,"title":{},"body":{"license.html":{}}}],["enteredpassword",{"_index":15850,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["entire",{"_index":25254,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["entirely",{"_index":25526,"title":{},"body":{"license.html":{}}}],["entities",{"_index":206,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"injectables/BoardRepo.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"modules/CommonToolModule.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/GroupEntity.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/PseudonymEntity.html":{},"injectables/PseudonymsRepo.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserRepo.html":{},"entities/VideoConference.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entities.foreach((entity",{"_index":12234,"title":{},"body":{"injectables/FilesService.html":{}}}],["entities.length",{"_index":12233,"title":{},"body":{"injectables/FilesService.html":{},"injectables/LtiToolRepo.html":{}}}],["entities.map((entity",{"_index":4798,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLogMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{}}}],["entitieswithfiles",{"_index":11789,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["entitiyids",{"_index":11336,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entity",{"_index":205,"title":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"entities/DeletionRequestEntity.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/GroupEntity.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"entities/PseudonymEntity.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SubmissionItemNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"entities/VideoConference.html":{}},"body":{"entities/Account.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BruteForceError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.alias",{"_index":21493,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.authtoken",{"_index":19166,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.birthday",{"_index":23707,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.closedat",{"_index":23988,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.config.type",{"_index":10772,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.contextid",{"_index":6909,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["entity.contexttype",{"_index":20787,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.course",{"_index":7818,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["entity.coursegroup",{"_index":15685,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.createdat",{"_index":4782,"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":16178,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.deleteafter",{"_index":9470,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.deletedcount",{"_index":9284,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.deletionrequestid?.tohexstring",{"_index":9285,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.displayname",{"_index":6911,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.domain",{"_index":9281,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.email",{"_index":23695,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.emailsearchvalues",{"_index":23701,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.expiresat",{"_index":20789,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.externalid",{"_index":12899,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.externalsource",{"_index":12892,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.factory.ts",{"_index":10380,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:21",{"_index":10389,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:28",{"_index":10386,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:38",{"_index":10391,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:50",{"_index":10387,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:66",{"_index":10385,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.features",{"_index":15410,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{}}}],["entity.features.includes(feature",{"_index":15460,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["entity.federalstate",{"_index":15419,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.finishedat",{"_index":23989,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.firstname",{"_index":23696,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.firstnamesearchvalues",{"_index":23699,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.forcepasswordchange",{"_index":23703,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.friendlyurl",{"_index":16183,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.frontchannel_logout_uri",{"_index":16185,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.getgrid().map((elementwithposition",{"_index":8760,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getid",{"_index":8767,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getuserid",{"_index":8769,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.gradelevel",{"_index":4777,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.hidden",{"_index":15681,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.id",{"_index":4768,"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/SchoolSystemOptionsRepoMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entity.importhash",{"_index":23698,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.inmaintenancesince",{"_index":15411,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.inusermigration",{"_index":15412,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.invitationlink",{"_index":4775,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.isdraft",{"_index":22112,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.ishidden",{"_index":10781,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.islocal",{"_index":16180,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.istemplate",{"_index":16179,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.key",{"_index":16170,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.language",{"_index":23702,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastloginsystemchange",{"_index":23705,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastname",{"_index":23697,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastnamesearchvalues",{"_index":23700,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.ldapconfig",{"_index":21496,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.ldapconfig?.active",{"_index":21568,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.ldapdn",{"_index":4778,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lesson",{"_index":22115,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.logo_url",{"_index":16172,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.logobase64",{"_index":10779,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.logourl",{"_index":10778,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.lti_message_type",{"_index":16173,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.lti_version",{"_index":16174,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.mandatorysince",{"_index":23986,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.markfordeletion",{"_index":12238,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.modifiedcount",{"_index":9283,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.name",{"_index":4769,"title":{},"body":{"classes/ClassMapper.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RoleMapper.html":{}}}],["entity.oauthclientid",{"_index":16182,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.oauthconfig",{"_index":21494,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.officialschoolnumber",{"_index":15414,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.oidcconfig",{"_index":21584,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["entity.opennewtab",{"_index":10782,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.operation",{"_index":9282,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.options.everyattendejoinsmuted",{"_index":24722,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.everybodyjoinsasmoderator",{"_index":24721,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.moderatormustapprovejoinrequests",{"_index":24723,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.organization?.id",{"_index":12895,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.origintoolid",{"_index":16181,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.outdatedsince",{"_index":23706,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.parentid",{"_index":20786,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.parenttype",{"_index":20785,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.performedat",{"_index":9286,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.permissions",{"_index":19224,"title":{},"body":{"classes/RoleMapper.html":{}}}],["entity.preferences",{"_index":23704,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.previousexternalid",{"_index":15413,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.privacy_permission",{"_index":16177,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.provisioningstrategy",{"_index":21492,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.provisioningurl",{"_index":21491,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.pseudonym",{"_index":10690,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.rcid",{"_index":19165,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.removepermissionsbyrefid(userid",{"_index":12235,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.resource_link_id",{"_index":16175,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.restricttocontexts",{"_index":10784,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.role.id",{"_index":12905,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.roles",{"_index":16176,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.roles.getitems().map((role",{"_index":24115,"title":{},"body":{"classes/UserMapper.html":{}}}],["entity.roles.isinitialized",{"_index":23708,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.school.id",{"_index":20024,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{}}}],["entity.schoolid",{"_index":20063,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["entity.schoolid.tohexstring",{"_index":4770,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.schooltool.id",{"_index":6908,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltool.school.id",{"_index":7004,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schooltool.school?.id",{"_index":6907,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltoolref.schoolid",{"_index":7005,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schoolyear",{"_index":15415,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.secret",{"_index":16171,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.skipconsent",{"_index":16184,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.source",{"_index":4780,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourceoptions?.tspuid",{"_index":4781,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourcesystem?.id",{"_index":23984,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.startedat",{"_index":23987,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.status",{"_index":9472,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.successor?.tohexstring",{"_index":4779,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.system.id",{"_index":12900,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["entity.system.provisioningstrategy",{"_index":20363,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["entity.systems.getitems().map((system",{"_index":15417,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.systems.isinitialized",{"_index":15416,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.target",{"_index":24719,"title":{},"body":{"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetmodel",{"_index":26440,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetrefdomain",{"_index":9469,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetrefid",{"_index":9471,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetsystem.id",{"_index":23985,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.teacherids.map((teacherid",{"_index":4773,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.teamusers.find((teamuser",{"_index":22372,"title":{},"body":{"injectables/TeamRule.html":{}}}],["entity.token",{"_index":20788,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.tool.id",{"_index":20023,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.toolid.tohexstring",{"_index":10691,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.toolversion",{"_index":6912,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entity.ts",{"_index":25912,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["entity.type",{"_index":21490,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.updatedat",{"_index":4783,"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":10777,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.user.id",{"_index":12904,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.userid.tohexstring",{"_index":10692,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{}}}],["entity.userids?.map((userid",{"_index":4771,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.userloginmigration?.id",{"_index":15418,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.username",{"_index":19164,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.users.map((groupuser",{"_index":12887,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod",{"_index":12889,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.from",{"_index":12890,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.until",{"_index":12891,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.version",{"_index":10783,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.year?.tohexstring",{"_index":4776,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity/course.entity",{"_index":8065,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/deletion",{"_index":9277,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["entity/h5p",{"_index":22493,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["entity/import",{"_index":13750,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["entity/pseudonym.scope",{"_index":10673,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["entity/role.entity",{"_index":17963,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity/school.entity",{"_index":8066,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/share",{"_index":20782,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity/team.entity",{"_index":8067,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/user.entity",{"_index":17964,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity[prop",{"_index":1843,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["entity_not_found",{"_index":4203,"title":{},"body":{"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{}}}],["entityclass",{"_index":555,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["entitycount",{"_index":13233,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["entitydata",{"_index":2463,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydata[key",{"_index":2520,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entitydictionary",{"_index":12206,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["entitydo",{"_index":2462,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydo.birthday",{"_index":23722,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.closedat",{"_index":23995,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.config.type",{"_index":10797,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.contextref.id",{"_index":6914,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.customs",{"_index":16194,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.displayname",{"_index":6916,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.email",{"_index":23711,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.externalid",{"_index":15420,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.features",{"_index":15421,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.federalstate",{"_index":15432,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.finishedat",{"_index":23996,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.firstname",{"_index":23712,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.forcepasswordchange",{"_index":23718,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.friendlyurl",{"_index":16199,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.frontchannel_logout_uri",{"_index":16201,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.id",{"_index":18524,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["entitydo.inmaintenancesince",{"_index":15422,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.inusermigration",{"_index":15423,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.ishidden",{"_index":10806,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.islocal",{"_index":16196,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.istemplate",{"_index":16195,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.key",{"_index":16186,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.language",{"_index":23717,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastloginsystemchange",{"_index":23720,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastname",{"_index":23713,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.ldapdn",{"_index":23716,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.logo",{"_index":10804,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.logo_url",{"_index":16188,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.logourl",{"_index":10803,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.lti_message_type",{"_index":16189,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.lti_version",{"_index":16190,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.mandatorysince",{"_index":23993,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.name",{"_index":10801,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.oauthclientid",{"_index":16198,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.officialschoolnumber",{"_index":15425,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.opennewtab",{"_index":10807,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.options.everyattendeejoinsmuted",{"_index":24727,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.everybodyjoinsasmoderator",{"_index":24726,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.moderatormustapprovejoinrequests",{"_index":24728,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.origintoolid",{"_index":16197,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.outdatedsince",{"_index":23721,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.preferences",{"_index":23719,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.previousexternalid",{"_index":15424,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.privacy_permission",{"_index":16193,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.pseudonym",{"_index":10693,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entitydo.resource_link_id",{"_index":16191,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.restricttocontexts",{"_index":10809,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.roles",{"_index":16192,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles.map((roleref",{"_index":23714,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.schoolid",{"_index":20027,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.schooltoolref.schooltoolid",{"_index":6918,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.schoolyear",{"_index":15426,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.secret",{"_index":16187,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.skipconsent",{"_index":16200,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.sourcesystemid",{"_index":23991,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.startedat",{"_index":23994,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.systems",{"_index":15427,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.systems.map((systemid",{"_index":15428,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.target",{"_index":24724,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.targetsystemid",{"_index":23992,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.toolid",{"_index":20029,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.toolversion",{"_index":6919,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.url",{"_index":10802,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.userloginmigrationid",{"_index":15430,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.version",{"_index":10808,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydos",{"_index":10702,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entityid",{"_index":26,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"injectables/ImportUserRepo.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MigrationCheckService.html":{},"entities/News.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entitymanager",{"_index":2446,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["entityname",{"_index":736,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/EntityNotFoundError.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"classes/ForbiddenLoggableException.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"modules/TldrawModule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitynotfounderror",{"_index":346,"title":{"classes/EntityNotFoundError.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/EntityNotFoundError.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{}}}],["entitynotfounderror('account",{"_index":933,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror('user",{"_index":23690,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitynotfounderror(`account",{"_index":961,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror(`user",{"_index":14916,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["entitynotfounderror(systementity.name",{"_index":15508,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{}}}],["entitypermissions",{"_index":11330,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entitypermissions.includes(p",{"_index":11334,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entityprops",{"_index":10682,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["entityschema",{"_index":2554,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["entitytype",{"_index":16708,"title":{},"body":{"classes/NewsMapper.html":{}}}],["entitywithembeddedfiles",{"_index":7350,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["entitywithid",{"_index":2596,"title":{},"body":{"classes/BaseFactory.html":{}}}],["entitywithschool",{"_index":7549,"title":{"interfaces/EntityWithSchool.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/EntityWithSchool.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/ParentInfo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["entries",{"_index":10753,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entries.map",{"_index":10814,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry",{"_index":6179,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/JwtStrategy.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.do.ts",{"_index":8284,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:2",{"_index":8286,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:4",{"_index":8285,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.entity.ts",{"_index":8289,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:6",{"_index":8291,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:9",{"_index":8290,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.name",{"_index":6183,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.params",{"_index":20001,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["entry.params.ts",{"_index":8294,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:12",{"_index":8296,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:7",{"_index":8295,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.response",{"_index":20040,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["entry.response.ts",{"_index":8297,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:5",{"_index":8299,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:9",{"_index":8298,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.value",{"_index":10815,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["enum",{"_index":886,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamNews.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["enum({array",{"_index":16109,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({fieldname",{"_index":13957,"title":{},"body":{"entities/ImportUser.html":{}}}],["enum({items",{"_index":16106,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({nullable",{"_index":7527,"title":{},"body":{"entities/Course.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/ShareToken.html":{}}}],["enumname",{"_index":3201,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["enums",{"_index":5872,"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":16545,"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":25629,"title":{},"body":{"todo.html":{}}}],["envirement",{"_index":21912,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["envirements",{"_index":7736,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["envirment",{"_index":20898,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["environment",{"_index":14942,"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":12123,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["eq",{"_index":15694,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["equal",{"_index":22076,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["equivalent",{"_index":25195,"title":{},"body":{"license.html":{}}}],["eric",{"_index":26027,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["erorr",{"_index":21904,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["err",{"_index":1329,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolVersionService.html":{}}}],["err.code",{"_index":26119,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["err.message",{"_index":19634,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err.tostring",{"_index":9190,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["err?.cause?.name",{"_index":19599,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.code",{"_index":19583,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["error",{"_index":1080,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CleanOptions.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PErrorMapper.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"injectables/ToolLaunchService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["error('boardnode",{"_index":3609,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["error('broken",{"_index":3349,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error('cannot",{"_index":22900,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["error('error",{"_index":4966,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('gradelevel",{"_index":4661,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["error('idm",{"_index":4897,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('invalid",{"_index":14178,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["error('library",{"_index":15772,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('multiple",{"_index":14901,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LibraryRepo.html":{}}}],["error('no",{"_index":9118,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error('not",{"_index":3019,"title":{},"body":{"entities/Board.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["error('nothing",{"_index":18634,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["error('resource",{"_index":6046,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["error('rocket",{"_index":1192,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["error('roles",{"_index":17967,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["error('root",{"_index":3466,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["error('too",{"_index":15778,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('unexpected",{"_index":14297,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["error('unknown",{"_index":6923,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["error('user",{"_index":580,"title":{},"body":{"classes/AccountFactory.html":{}}}],["error(`${jwtconstants.jwtoptions.algorithm",{"_index":1584,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["error(`${testreqestconst.errormessage",{"_index":1683,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(`account",{"_index":14894,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["error(`boardcopyservice",{"_index":3366,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error(`cannot",{"_index":6551,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["error(`duplicate",{"_index":14984,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["error(`invalid",{"_index":9114,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error(`login",{"_index":15866,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["error(`mapping",{"_index":12316,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["error(`metatagextractorservice",{"_index":16409,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["error(`no",{"_index":15192,"title":{},"body":{"injectables/LdapService.html":{}}}],["error(`system",{"_index":15489,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["error(error",{"_index":1680,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(json.stringify(cause",{"_index":4252,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(json.stringify(error",{"_index":10058,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["error(loggable",{"_index":9997,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["error(message",{"_index":13771,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["error(string(cause",{"_index":4253,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(util.inspect(error",{"_index":12697,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.enum",{"_index":1901,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error.exception",{"_index":7548,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["error.factory.ts",{"_index":2076,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.factory.ts:7",{"_index":2079,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.filter",{"_index":10030,"title":{},"body":{"modules/ErrorModule.html":{}}}],["error.filter.ts",{"_index":12660,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"todo.html":{}}}],["error.filter.ts:102",{"_index":12683,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:15",{"_index":12669,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:19",{"_index":12672,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:34",{"_index":12674,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:49",{"_index":12685,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:56",{"_index":12676,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:72",{"_index":12680,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:80",{"_index":12678,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:92",{"_index":12682,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getresponse",{"_index":12715,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getstatus",{"_index":10483,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["error.httpstatuscode",{"_index":13420,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.interface.ts",{"_index":11340,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["error.loggable",{"_index":24361,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["error.loggable.ts",{"_index":2098,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:12",{"_index":2102,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:5",{"_index":2101,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.mapper",{"_index":19473,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["error.mapper.ts",{"_index":13414,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.mapper.ts:5",{"_index":13418,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.response",{"_index":1401,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts",{"_index":1378,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:10",{"_index":1384,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:21",{"_index":1400,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.tostring",{"_index":18554,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["error.ts",{"_index":23575,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.ts:3",{"_index":23576,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.validationerrors.map((e",{"_index":9965,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["error/error",{"_index":24512,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["error/id",{"_index":13851,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["error_debug",{"_index":6276,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_description",{"_index":1889,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error_hint",{"_index":6277,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_uri",{"_index":1890,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["errorcode",{"_index":1466,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/OAuthService.html":{}}}],["errorloggable",{"_index":9936,"title":{"classes/ErrorLoggable.html":{}},"body":{"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LdapStrategy.html":{}}}],["errorloggable(error",{"_index":12695,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorloggable(unknownerror",{"_index":12698,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorlogger",{"_index":9983,"title":{"injectables/ErrorLogger.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"modules/LoggerModule.html":{}}}],["errorlogmessage",{"_index":1468,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["errormapper",{"_index":10009,"title":{"classes/ErrorMapper.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["errormapper.maprpcerrorresponsetodomainerror(error",{"_index":19481,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["errormessage",{"_index":1616,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["errormessages",{"_index":9964,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errormodule",{"_index":7461,"title":{"modules/ErrorModule.html":{}},"body":{"modules/CoreModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{}}}],["errorobj",{"_index":10015,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorobj.status",{"_index":10017,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorresponse",{"_index":1367,"title":{"classes/ErrorResponse.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["errorresponse(type",{"_index":12713,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorresponse:10",{"_index":1394,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:15",{"_index":1391,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:20",{"_index":1389,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:25",{"_index":1386,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:30",{"_index":1387,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse})@apiresponse({status",{"_index":12816,"title":{},"body":{"controllers/GroupController.html":{}}}],["errorresponse})@get('/class",{"_index":12818,"title":{},"body":{"controllers/GroupController.html":{}}}],["errors",{"_index":1381,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskCopyUC.html":{},"classes/ValidationErrorDetailResponse.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["errors/ldap",{"_index":15185,"title":{},"body":{"injectables/LdapService.html":{}}}],["errorstatus",{"_index":24511,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["errorstatus.guests_cannot_join_conference",{"_index":24643,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["errortype",{"_index":1084,"title":{"interfaces/ErrorType.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BusinessError.html":{},"interfaces/ErrorType.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["errorutils",{"_index":1313,"title":{"classes/ErrorUtils.html":{}},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["errorutils.createhttpexceptionoptions(err",{"_index":1330,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/DeletionClient.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(error",{"_index":2407,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["errorutils.createhttpexceptionoptions(errorobj",{"_index":10022,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorutils.isbusinesserror(error",{"_index":12706,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isbusinesserror(this.error",{"_index":9960,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isfeatherserror(error",{"_index":12704,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isfeatherserror(this.error",{"_index":9958,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isnesthttpexception(error",{"_index":12708,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isnesthttpexception(this.error",{"_index":9961,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["erweitern",{"_index":5548,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["erwin",{"_index":25699,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["erwinidm",{"_index":25700,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["es",{"_index":23556,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["es256",{"_index":1576,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es384",{"_index":1577,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es512",{"_index":1578,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es6",{"_index":24887,"title":{},"body":{"dependencies.html":{}}}],["escape",{"_index":16556,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["escaped",{"_index":5382,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["escapedclasses",{"_index":14298,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedfirstname",{"_index":14282,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedlastname",{"_index":14290,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedloginname",{"_index":14293,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedname",{"_index":24227,"title":{},"body":{"injectables/UserRepo.html":{}}}],["escapedusername",{"_index":797,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["escapes",{"_index":792,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["eslint",{"_index":1086,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{}}}],["eslint/ban",{"_index":22678,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["eslint/dot",{"_index":2611,"title":{},"body":{"classes/BaseFactory.html":{}}}],["eslint/no",{"_index":1090,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["eslint/restrict",{"_index":1166,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["eslintrc.js",{"_index":25769,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["especially",{"_index":25899,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["essential",{"_index":25171,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["etag",{"_index":7313,"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":24991,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["etherpad",{"_index":6215,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/EtherpadService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["etherpadservice",{"_index":10059,"title":{"injectables/EtherpadService.html":{}},"body":{"injectables/EtherpadService.html":{},"modules/LessonModule.html":{}}}],["evaluate",{"_index":26012,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evaluated",{"_index":26013,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evans",{"_index":26028,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["even",{"_index":25030,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["event",{"_index":4305,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"license.html":{}}}],["event.data[0",{"_index":4310,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["event.dto",{"_index":4309,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.dto.ts",{"_index":4294,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:2",{"_index":4297,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:4",{"_index":4296,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.interface",{"_index":4307,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.interface.ts",{"_index":4288,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["eventid",{"_index":4327,"title":{},"body":{"injectables/CalendarService.html":{}}}],["events",{"_index":4956,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TldrawWsService.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["everyattendeejoinsmuted",{"_index":9618,"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":24378,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everybodyjoinsasmoderator",{"_index":9619,"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":25045,"title":{},"body":{"license.html":{}}}],["everything",{"_index":26377,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exact",{"_index":13942,"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":24120,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactmatch",{"_index":753,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["example",{"_index":2641,"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":26288,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["exampleapimodule",{"_index":25889,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplecolor",{"_index":8532,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["examplecontroller",{"_index":25888,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplemodule",{"_index":25879,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examples",{"_index":26368,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exampleuc",{"_index":25887,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exceeded",{"_index":10493,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/HydraOauthUc.html":{}}}],["except",{"_index":16557,"title":{},"body":{"classes/MongoPatterns.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception",{"_index":1472,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"modules/ErrorModule.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception.constructor.name.replace('loggable",{"_index":12719,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.getstatus",{"_index":12716,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.loggable",{"_index":13852,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["exception.loggable.ts",{"_index":13820,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:4",{"_index":13821,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:9",{"_index":13822,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.message",{"_index":12717,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.ts",{"_index":1462,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:10",{"_index":14359,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["exception.ts:11",{"_index":24362,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:14",{"_index":24147,"title":{},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:15",{"_index":18295,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["exception.ts:16",{"_index":12508,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["exception.ts:17",{"_index":10417,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["exception.ts:18",{"_index":22993,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:19",{"_index":20192,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:20",{"_index":10495,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["exception.ts:21",{"_index":20281,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["exception.ts:26",{"_index":16524,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:4",{"_index":1465,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception.ts:5",{"_index":10416,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:6",{"_index":18293,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:7",{"_index":12507,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:9",{"_index":10119,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception/not",{"_index":16972,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exception/validation",{"_index":24360,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exceptionfactory",{"_index":1247,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["exceptionfactory(validationresult",{"_index":1249,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["exceptionfilter",{"_index":12661,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptionname",{"_index":12718,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptions",{"_index":25365,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exceptionshandler",{"_index":21194,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["exchange",{"_index":1272,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exchanges",{"_index":18572,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["excluded",{"_index":25317,"title":{},"body":{"license.html":{}}}],["excludedraftsofothers",{"_index":22123,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludedraftsofothers(creatorid",{"_index":22138,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers",{"_index":22124,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers(creatorid",{"_index":22140,"title":{},"body":{"classes/TaskScope.html":{}}}],["excluding",{"_index":25511,"title":{},"body":{"license.html":{}}}],["exclusion",{"_index":25594,"title":{},"body":{"license.html":{}}}],["exclusive",{"_index":25470,"title":{},"body":{"license.html":{}}}],["exclusively",{"_index":20666,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["excuse",{"_index":25518,"title":{},"body":{"license.html":{}}}],["exec",{"_index":26299,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["executable",{"_index":25167,"title":{},"body":{"license.html":{}}}],["execute",{"_index":9202,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"classes/TestBootstrapConsole.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executed",{"_index":9429,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executedeletions",{"_index":9082,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(@query",{"_index":9211,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(deletionexecutionquery",{"_index":9200,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(limit",{"_index":9087,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["executes",{"_index":25723,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["executing",{"_index":25133,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["execution",{"_index":2922,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TimeoutInterceptor.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["execution(s",{"_index":9160,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console",{"_index":9148,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["execution.console.ts",{"_index":9150,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:22",{"_index":9157,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:8",{"_index":9153,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.id",{"_index":14714,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["execution.params.ts",{"_index":9171,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.params.ts:9",{"_index":9173,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.uc.ts",{"_index":9192,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:5",{"_index":9193,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:8",{"_index":9195,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["executioncontext",{"_index":9822,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["executionprovider",{"_index":14713,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executionproviders",{"_index":14691,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executions",{"_index":9162,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["executions.controller",{"_index":9068,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["executions.controller.ts",{"_index":9198,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executions.controller.ts:21",{"_index":9204,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executiontimemilliseconds",{"_index":2868,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["exercise",{"_index":25447,"title":{},"body":{"license.html":{}}}],["exercising",{"_index":25230,"title":{},"body":{"license.html":{}}}],["exist",{"_index":1563,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BoardManagementUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existing",{"_index":3102,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"modules/ImportUserModule.html":{},"interfaces/JwtConstants.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/S3ClientAdapter.html":{},"classes/UpdateNewsParams.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existingaccountid",{"_index":14980,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["existingaccounts",{"_index":14977,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts.length",{"_index":14978,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts[0].id",{"_index":14979,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingcourses",{"_index":7693,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingcourses.map((course",{"_index":7695,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingelements",{"_index":2984,"title":{},"body":{"entities/Board.html":{}}}],["existingentities",{"_index":4872,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.find((entity",{"_index":4875,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.foreach((entity",{"_index":4879,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.length",{"_index":4874,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentity",{"_index":2497,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["existinggroup",{"_index":17819,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.externalsource?.systemid",{"_index":17851,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.id",{"_index":17822,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.users",{"_index":17827,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupfromsystem.externalsource?.externalid",{"_index":17856,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser",{"_index":17847,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser.filter",{"_index":17850,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinglessons",{"_index":15591,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existinglessons.map((l",{"_index":15593,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existingmatch",{"_index":24222,"title":{},"body":{"injectables/UserRepo.html":{}}}],["existingnames",{"_index":7395,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["existingnames.includes(composedname",{"_index":7417,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingnames.includes(name",{"_index":7410,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingrooms",{"_index":8570,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingrooms.includes(room",{"_index":8573,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingschool",{"_index":17769,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingschool.id",{"_index":17817,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschool.officialschoolnumber",{"_index":17775,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschoolsystemoptions",{"_index":20421,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["existingschoolsystemoptions?.id",{"_index":20422,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["existingtargets",{"_index":5622,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtargets.find((item",{"_index":5628,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtasks",{"_index":21907,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existingtasks.map((t",{"_index":21909,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existinguser",{"_index":17040,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["existinguser.birthday",{"_index":17802,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.email",{"_index":17796,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.firstname",{"_index":17792,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.lastname",{"_index":17794,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.roles",{"_index":17798,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.schoolid",{"_index":17799,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["exists",{"_index":3109,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/JwtStrategy.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserScope.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existsone",{"_index":13224,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existsone(contentid",{"_index":13228,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existssync",{"_index":12156,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["existssync(folderpath",{"_index":12164,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["exitonerror",{"_index":15903,"title":{},"body":{"modules/LoggerModule.html":{}}}],["exp",{"_index":8049,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["expect",{"_index":25861,"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":26120,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazy(x,y,z)).to",{"_index":26101,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazysync(wrong",{"_index":26123,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(mockservice.getuser).tohavebeencalled",{"_index":26166,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).to",{"_index":26104,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).toequal(resultuser",{"_index":26167,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expectation",{"_index":26093,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expected",{"_index":2930,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/DeletionClient.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["expectedkeys",{"_index":2626,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["expectedkeys.size",{"_index":2631,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["expectedkeys].every((key",{"_index":2633,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["expectedtype",{"_index":18294,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["expecting",{"_index":26109,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expects",{"_index":25330,"title":{},"body":{"license.html":{}}}],["expensive",{"_index":22084,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["expert",{"_index":26375,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["expiration",{"_index":8061,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtValidationAdapter.html":{}}}],["expirationtime",{"_index":22487,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["expire",{"_index":20659,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["expireafterseconds",{"_index":9256,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["expired",{"_index":13529,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["expires",{"_index":12003,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["expiresat",{"_index":210,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["expiresin",{"_index":1591,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{}}}],["expiresindays",{"_index":20656,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["explains",{"_index":26245,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["explanation",{"_index":26367,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicit",{"_index":2135,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicitly",{"_index":1097,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["export",{"_index":101,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["export.service",{"_index":7746,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.service.ts",{"_index":5740,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:146",{"_index":5765,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:154",{"_index":5768,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:19",{"_index":5749,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:26",{"_index":5758,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:42",{"_index":5754,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:71",{"_index":5756,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:91",{"_index":5761,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.uc",{"_index":7647,"title":{},"body":{"controllers/CourseController.html":{}}}],["export.uc.ts",{"_index":7740,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:10",{"_index":7742,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:16",{"_index":7744,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["exportcollection",{"_index":8875,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(@param('collectionname",{"_index":8898,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(collectionname",{"_index":8878,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollections",{"_index":8845,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{}}}],["exportcollections(options",{"_index":8848,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["exportcollectionstofilesystem(collections",{"_index":5327,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportcourse",{"_index":5743,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(courseid",{"_index":5757,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(currentuser",{"_index":7632,"title":{},"body":{"controllers/CourseController.html":{}}}],["exported",{"_index":5304,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exportedcollections",{"_index":5331,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportedcollections.push(`${collectionname}:${sortedbsondocuments.length",{"_index":5346,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exporting",{"_index":25715,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["exports",{"_index":260,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["expose",{"_index":21075,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exposed",{"_index":6307,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exposes",{"_index":26002,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express",{"_index":7642,"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":13338,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["expressed",{"_index":25549,"title":{},"body":{"license.html":{}}}],["expressions",{"_index":809,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["expressly",{"_index":25398,"title":{},"body":{"license.html":{}}}],["ext",{"_index":14342,"title":{},"body":{"interfaces/IntrospectResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["extend",{"_index":525,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UpdateNewsParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["extendability",{"_index":25800,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extended",{"_index":4214,"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":20948,"title":{},"body":{"classes/SortingParams.html":{}}}],["extends",{"_index":231,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"injectables/PreviewProducer.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/SchulConneXProvisioningOptions.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["extension",{"_index":11711,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extensions",{"_index":25265,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["extent",{"_index":25150,"title":{},"body":{"license.html":{}}}],["external",{"_index":614,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponse.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["external_school_number_missing",{"_index":10120,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["external_sub",{"_index":8024,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["external_tool_logo_fetch_failed",{"_index":10418,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["external_tool_logo_fetched",{"_index":10424,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["external_tool_logo_not_found",{"_index":10427,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}}}],["external_tool_logo_size_exceeded",{"_index":10496,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["external_tool_logo_wrong_file_type",{"_index":10498,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externalauthconfig",{"_index":14442,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["externalgroup",{"_index":17748,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.externalid",{"_index":17821,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.from",{"_index":17825,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.name",{"_index":17823,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers",{"_index":17828,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers.map",{"_index":17837,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers?.length",{"_index":17836,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.type",{"_index":17824,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.until",{"_index":17826,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.user.externaluserid",{"_index":17833,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupdto",{"_index":10075,"title":{"classes/ExternalGroupDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroupid",{"_index":20148,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroups",{"_index":17279,"title":{},"body":{"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalgroups.some",{"_index":17855,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuser",{"_index":17751,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuserdto",{"_index":10083,"title":{"classes/ExternalGroupUserDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["externalid",{"_index":704,"title":{},"body":{"interfaces/AccountParams.html":{},"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["externalidtoken",{"_index":8115,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/LoginResponseMapper.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{}}}],["externalorganizationid",{"_index":20150,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalrolename",{"_index":13039,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["externalschool",{"_index":14418,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalschool.externalid",{"_index":17771,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.location",{"_index":17783,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.name",{"_index":17784,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.officialschoolnumber",{"_index":17774,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschooldto",{"_index":10105,"title":{"classes/ExternalSchoolDto.html":{}},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalschoolid",{"_index":10118,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/LdapStrategy.html":{}}}],["externalschoolnumbermissingloggableexception",{"_index":10114,"title":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["externalschoolnumbermissingloggableexception(data.externalschool.externalid",{"_index":24102,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["externalsource",{"_index":10123,"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":12896,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsource.systemid",{"_index":12898,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsourceentity",{"_index":10128,"title":{"classes/ExternalSourceEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["externalsourceentityprops",{"_index":10131,"title":{"interfaces/ExternalSourceEntityProps.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["externalsourcename",{"_index":4712,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["externalsourceresponse",{"_index":10137,"title":{"classes/ExternalSourceResponse.html":{}},"body":{"classes/ExternalSourceResponse.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["externalsub",{"_index":8053,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["externaltool",{"_index":2776,"title":{"classes/ExternalTool.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool'})@httpcode(httpstatus.no_content",{"_index":23150,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltool.config",{"_index":10957,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientid",{"_index":11179,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientsecret",{"_index":11182,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.secret",{"_index":11036,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.type",{"_index":11175,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.id",{"_index":10471,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolConfigurationMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool.isbasicconfig(props.config",{"_index":10165,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.ishidden",{"_index":10304,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.islti11config(externaltool.config",{"_index":11035,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.islti11config(props.config",{"_index":10169,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.isoauth2config(externaltool.config",{"_index":11038,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(loadedtool.config",{"_index":11174,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(props.config",{"_index":10167,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.isoauth2config(tool.config",{"_index":11049,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.isoauth2config(toupdate.config",{"_index":11064,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.logo",{"_index":10466,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltool.logourl",{"_index":10289,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.name",{"_index":10589,"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":10963,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.parameters",{"_index":10243,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltool.parameters.filter",{"_index":10244,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltool.parameters.foreach((param",{"_index":10591,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["externaltool.restricttocontexts",{"_index":10965,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.restricttocontexts.includes(context",{"_index":6115,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.restricttocontexts?.length",{"_index":6114,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.url",{"_index":10962,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.version",{"_index":10964,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltoolconfig",{"_index":2700,"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":2704,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:6",{"_index":2702,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfigcreateparams",{"_index":2720,"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":2722,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:9",{"_index":2724,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigdo",{"_index":10948,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltoolconfigentity",{"_index":2713,"title":{"classes/ExternalToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["externaltoolconfigparams",{"_index":10835,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolconfigresponse",{"_index":2730,"title":{"classes/ExternalToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:10",{"_index":2732,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:7",{"_index":2733,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigurationservice",{"_index":10187,"title":{"injectables/ExternalToolConfigurationService.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"modules/ToolApiModule.html":{}}}],["externaltoolconfigurationuc",{"_index":10248,"title":{"injectables/ExternalToolConfigurationUc.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["externaltoolcontentbody",{"_index":6505,"title":{"classes/ExternalToolContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolcreate",{"_index":10829,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams",{"_index":10309,"title":{"classes/ExternalToolCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams.config",{"_index":10895,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.ishidden",{"_index":10903,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.logourl",{"_index":10902,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.name",{"_index":10900,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.opennewtab",{"_index":10904,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.parameters",{"_index":10899,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.restricttocontexts",{"_index":10905,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.url",{"_index":10901,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltooldomapper",{"_index":23173,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolelement",{"_index":3137,"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":6549,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.id",{"_index":18792,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementcontent",{"_index":10340,"title":{"classes/ExternalToolElementContent.html":{}},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementcontentbody",{"_index":9651,"title":{"classes/ExternalToolElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolelementnodeentity",{"_index":3503,"title":{"entities/ExternalToolElementNodeEntity.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementnodeentityprops",{"_index":10351,"title":{"interfaces/ExternalToolElementNodeEntityProps.html":{}},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["externaltoolelementprops",{"_index":10338,"title":{"interfaces/ExternalToolElementProps.html":{}},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["externaltoolelementresponse",{"_index":4404,"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":6440,"title":{"classes/ExternalToolElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper.getinstance",{"_index":6430,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["externaltoolelementresponsemapper.instance",{"_index":10357,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolentity",{"_index":10359,"title":{"entities/ExternalToolEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolentityfactory",{"_index":10378,"title":{"classes/ExternalToolEntityFactory.html":{}},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolentityfactory.define",{"_index":10397,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolfactory",{"_index":8346,"title":{"classes/ExternalToolFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolfactory.define(externaltool",{"_index":8357,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolid",{"_index":6739,"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":10405,"title":{"classes/ExternalToolIdParams.html":{}},"body":{"classes/ExternalToolIdParams.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo",{"_index":10406,"title":{"classes/ExternalToolLogo.html":{}},"body":{"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.contenttype",{"_index":10412,"title":{},"body":{"classes/ExternalToolLogo.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.logo",{"_index":10411,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["externaltoollogofetchedloggable",{"_index":10421,"title":{"classes/ExternalToolLogoFetchedLoggable.html":{}},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchedloggable(logourl",{"_index":10478,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception",{"_index":10413,"title":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception(logourl",{"_index":10482,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception",{"_index":10425,"title":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception(toolid",{"_index":10486,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogoservice",{"_index":10258,"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":10451,"title":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["externaltoollogowrongfiletypeloggableexception",{"_index":10452,"title":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externaltoolmetadata",{"_index":10501,"title":{"classes/ExternalToolMetadata.html":{}},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadata.contextexternaltoolcountpercontext",{"_index":10511,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadata.schoolexternaltoolcount",{"_index":10509,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadatamapper",{"_index":10512,"title":{"classes/ExternalToolMetadataMapper.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"modules/ExternalToolModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadatamapper.maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":23205,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse",{"_index":10518,"title":{"classes/ExternalToolMetadataResponse.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":10525,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse.schoolexternaltoolcount",{"_index":10524,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":23166,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataservice",{"_index":10526,"title":{"injectables/ExternalToolMetadataService.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltoolmodule",{"_index":6821,"title":{"modules/ExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["externaltoolname",{"_index":19048,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["externaltoolparametervalidationservice",{"_index":10551,"title":{"injectables/ExternalToolParameterValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolparams",{"_index":23142,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolprops",{"_index":8308,"title":{"interfaces/ExternalToolProps.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolpseudonymentity",{"_index":10628,"title":{"entities/ExternalToolPseudonymEntity.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/PseudonymScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolpseudonymentity(entityprops",{"_index":10684,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonymentityprops",{"_index":10636,"title":{"interfaces/ExternalToolPseudonymEntityProps.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonympromise",{"_index":18488,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolpseudonymrepo",{"_index":10642,"title":{"injectables/ExternalToolPseudonymRepo.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{}}}],["externaltoolpseudonyms",{"_index":18476,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolrepo",{"_index":10552,"title":{"injectables/ExternalToolRepo.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["externaltoolrepomapper",{"_index":6890,"title":{"classes/ExternalToolRepoMapper.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentrydostoentities(entitydo.parameters",{"_index":6920,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.parameters",{"_index":6913,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.schoolparameters",{"_index":20025,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapdotoentityproperties(entitydo",{"_index":10731,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapentitytodo(entity",{"_index":10730,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrequestmapper",{"_index":10816,"title":{"injectables/ExternalToolRequestMapper.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponse",{"_index":10919,"title":{"classes/ExternalToolResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper",{"_index":10940,"title":{"injectables/ExternalToolResponseMapper.html":{}},"body":{"injectables/ExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.mapcustomparametertoresponse(externaltool.parameters",{"_index":23081,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(created",{"_index":23176,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(externaltool",{"_index":23188,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(tool",{"_index":23183,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(updated",{"_index":23192,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23170,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23143,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltools",{"_index":10203,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltools.data",{"_index":10296,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["externaltools.data.filter((tool",{"_index":10220,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.find",{"_index":10232,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.map",{"_index":23083,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltools.map((tooldo",{"_index":20054,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["externaltoolscope",{"_index":10722,"title":{"classes/ExternalToolScope.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{}}}],["externaltoolsearchlistresponse",{"_index":10987,"title":{"classes/ExternalToolSearchListResponse.html":{}},"body":{"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23455,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":23154,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolsearchparams",{"_index":10831,"title":{"classes/ExternalToolSearchParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSearchParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolsearchquery",{"_index":10709,"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":7044,"title":{"injectables/ExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolservice.deleteexternaltool",{"_index":6085,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["externaltoolservicemapper",{"_index":10553,"title":{"injectables/ExternalToolServiceMapper.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["externaltoolsortby",{"_index":20931,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["externaltoolsortingmapper",{"_index":10721,"title":{"classes/ExternalToolSortingMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["externaltoolsortingmapper.mapdosortordertoqueryorder",{"_index":10724,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltooluc",{"_index":11106,"title":{"injectables/ExternalToolUc.html":{}},"body":{"injectables/ExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdate",{"_index":10862,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams",{"_index":10860,"title":{"classes/ExternalToolUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams.config",{"_index":10881,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.id",{"_index":10888,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.ishidden",{"_index":10892,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.logourl",{"_index":10891,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.name",{"_index":10889,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.opennewtab",{"_index":10893,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.parameters",{"_index":10887,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.restricttocontexts",{"_index":10894,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.url",{"_index":10890,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolvalidationservice",{"_index":10549,"title":{"injectables/ExternalToolValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolversion",{"_index":20134,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["externaltoolversionincrementservice",{"_index":10550,"title":{"injectables/ExternalToolVersionIncrementService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["externaltoolversionservice",{"_index":11007,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaluser",{"_index":14416,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.birthday",{"_index":17801,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.email",{"_index":17795,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.externalid",{"_index":17803,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.firstname",{"_index":17791,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.lastname",{"_index":17793,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.roles",{"_index":17786,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.includes(rolename.administrator",{"_index":19777,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.push(rolename.teacher",{"_index":19778,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluserdto",{"_index":11257,"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":10098,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningDto.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["extra",{"_index":26439,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["extract",{"_index":13832,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/MetaTagExtractorController.html":{}}}],["extractaccount",{"_index":14854,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractaccount(user",{"_index":14860,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue",{"_index":14855,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue(value",{"_index":14863,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractid",{"_index":116,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractid(url",{"_index":123,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractids(users",{"_index":7595,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extracting",{"_index":12737,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["extraction",{"_index":13829,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["extractjwt",{"_index":14471,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromauthheaderasbearertoken",{"_index":14475,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromextractors",{"_index":14474,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractor",{"_index":14472,"title":{},"body":{"injectables/JwtStrategy.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["extractor.config",{"_index":16361,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.controller.ts",{"_index":16337,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.controller.ts:19",{"_index":16344,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.module",{"_index":16335,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["extractor.module.ts",{"_index":16359,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.response.ts",{"_index":16367,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:19",{"_index":16378,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:23",{"_index":16375,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:27",{"_index":16370,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:31",{"_index":16371,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:35",{"_index":16376,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:39",{"_index":16372,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:43",{"_index":16374,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:6",{"_index":16369,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.service.ts",{"_index":16382,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:12",{"_index":16391,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:26",{"_index":16402,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:30",{"_index":16398,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:50",{"_index":16400,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:65",{"_index":16390,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:69",{"_index":16395,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:9",{"_index":16388,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.ts",{"_index":14456,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.ts:6",{"_index":14459,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.uc.ts",{"_index":16434,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:14",{"_index":16437,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:8",{"_index":16435,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor/controller/dto/meta",{"_index":16366,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor/controller/meta",{"_index":16336,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor/controller/post",{"_index":12649,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["extractor/interface/url",{"_index":23526,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["extractor/meta",{"_index":16333,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["extractor/service/meta",{"_index":16381,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["extractor/service/url",{"_index":108,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractor/uc/meta",{"_index":16433,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractparamsfromrequest",{"_index":15210,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractparamsfromrequest(request",{"_index":15219,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractreferences",{"_index":3278,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extractreferences(statuses",{"_index":3304,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extracts",{"_index":2373,"title":{},"body":{"injectables/BBBService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["extractuserlist(users",{"_index":7607,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extractvalidationerrordetails",{"_index":1382,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["extractvalidationerrordetails(validationerror",{"_index":1398,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["f",{"_index":552,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["f0",{"_index":3197,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["facilitate",{"_index":26055,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["facilitating",{"_index":25532,"title":{},"body":{"license.html":{}}}],["facilities",{"_index":25197,"title":{},"body":{"license.html":{}}}],["factories",{"_index":8859,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["factory",{"_index":516,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomsUc.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["factory.define",{"_index":562,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["factory.define(generator",{"_index":2590,"title":{},"body":{"classes/BaseFactory.html":{}}}],["factory/account.factory",{"_index":1608,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["fail",{"_index":25093,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failafter",{"_index":15198,"title":{},"body":{"injectables/LdapService.html":{}}}],["failed",{"_index":644,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/ApiValidationError.html":{},"interfaces/CleanOptions.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConnectionError.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"todo.html":{}}}],["failed.loggable",{"_index":20190,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["failing",{"_index":15867,"title":{},"body":{"injectables/LocalStrategy.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failingfileids",{"_index":9008,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.length",{"_index":9009,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.push(result.fileid",{"_index":9016,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.tostring",{"_index":9021,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["fails",{"_index":4913,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["failure",{"_index":1461,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"license.html":{}}}],["failurecount",{"_index":2869,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["fair",{"_index":25194,"title":{},"body":{"license.html":{}}}],["fallback",{"_index":22225,"title":{},"body":{"injectables/TaskUC.html":{}}}],["fallbackhostname",{"_index":6527,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["fallbackimage",{"_index":16430,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["false",{"_index":197,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["false})@index",{"_index":11608,"title":{},"body":{"entities/FileEntity.html":{}}}],["false})@isoptional",{"_index":24485,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["false})@sanitizehtml",{"_index":18934,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["familiar",{"_index":26373,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["familienname",{"_index":19696,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["family",{"_index":25321,"title":{},"body":{"license.html":{}}}],["fantasy",{"_index":25018,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["far",{"_index":15019,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fashion",{"_index":25121,"title":{},"body":{"license.html":{}}}],["fast",{"_index":26052,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["favicon",{"_index":24951,"title":{},"body":{"dependencies.html":{}}}],["favor",{"_index":25327,"title":{},"body":{"license.html":{}}}],["featherjs",{"_index":8060,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathers",{"_index":1885,"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":11477,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersapp.service(path",{"_index":11484,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersauthorizationservice",{"_index":1863,"title":{"injectables/FeathersAuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/NewsUc.html":{}}}],["feathersauthprovider",{"_index":1869,"title":{"injectables/FeathersAuthProvider.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["featherserror",{"_index":10053,"title":{"interfaces/FeathersError.html":{}},"body":{"classes/ErrorUtils.html":{},"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["featherserror)?.type",{"_index":10056,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["feathersexpress",{"_index":11482,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersexpress.services['nest",{"_index":25970,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersjs/adapter",{"_index":24813,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/authentication",{"_index":24816,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/commons",{"_index":24817,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/configuration",{"_index":24818,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/errors",{"_index":8830,"title":{},"body":{"injectables/DashboardUc.html":{},"dependencies.html":{}}}],["feathersjs/express",{"_index":11471,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"dependencies.html":{}}}],["feathersjs/feathers",{"_index":24819,"title":{},"body":{"dependencies.html":{}}}],["feathersmodule",{"_index":1861,"title":{"modules/FeathersModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/FeathersModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersrosterservice",{"_index":11352,"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":11460,"title":{"interfaces/FeathersService.html":{}},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceparams",{"_index":11464,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceprovider",{"_index":10063,"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":11473,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feature",{"_index":7739,"title":{},"body":{"injectables/CourseCopyUC.html":{},"interfaces/IToolFeatures.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feature/bc",{"_index":25027,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature/sc",{"_index":25017,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature_disabled_app_will_not_be_created",{"_index":18216,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_disabled_middlewares_will_not_be_created",{"_index":18209,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_identity_management_enabled",{"_index":13878,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_login_enabled",{"_index":13879,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_store_enabled",{"_index":13880,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_imscc_course_export_enabled",{"_index":5733,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_tldraw_enabled",{"_index":22701,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["features",{"_index":7509,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["featureundertest",{"_index":26146,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["federal",{"_index":15364,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstate",{"_index":11509,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["federalstateentity",{"_index":7501,"title":{"entities/FederalStateEntity.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstatefactory",{"_index":15363,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatefactory.build",{"_index":15377,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatenames",{"_index":17765,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstatenames.niedersachen",{"_index":17779,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstateproperties",{"_index":7492,"title":{"interfaces/FederalStateProperties.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstaterepo",{"_index":11493,"title":{"injectables/FederalStateRepo.html":{}},"body":{"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{}}}],["federalstates",{"_index":7500,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstateservice",{"_index":11499,"title":{"injectables/FederalStateService.html":{}},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{}}}],["fee",{"_index":25248,"title":{},"body":{"license.html":{}}}],["feed",{"_index":18881,"title":{},"body":{"classes/ReferencesService.html":{}}}],["feedback",{"_index":5586,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feedbacklink",{"_index":5579,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feel",{"_index":1624,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fetch",{"_index":2990,"title":{},"body":{"entities/Board.html":{},"injectables/CourseCopyService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["fetchbase64logo",{"_index":10431,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchbase64logo(logourl",{"_index":10441,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetched",{"_index":10419,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["fetchlogo",{"_index":10432,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchlogo(externaltool",{"_index":10443,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchoptions",{"_index":16414,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["few",{"_index":26481,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["ffd8ffe0",{"_index":10454,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffd8ffe1",{"_index":10456,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffffff",{"_index":7772,"title":{},"body":{"classes/CourseFactory.html":{}}}],["field",{"_index":6388,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LdapStrategy.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/ValidationErrorDetailResponse.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["field${sequence",{"_index":13180,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["fieldname",{"_index":2942,"title":{},"body":{"entities/Board.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["fields",{"_index":2230,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BatchDeletionUc.html":{},"injectables/HydraSsoService.html":{},"injectables/TaskRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["file",{"_index":5,"title":{"interfaces/File.html":{},"additional-documentation/nestjs-application/file-structure.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["file.bucket",{"_index":9039,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.collectionname",{"_index":5281,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["file.data",{"_index":11523,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.dto",{"_index":22492,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.dto.ts",{"_index":7223,"title":{},"body":{"classes/CopyFileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.dto.ts:11",{"_index":13549,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:13",{"_index":13547,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:15",{"_index":13548,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:4",{"_index":13546,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:5",{"_index":7225,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:7",{"_index":7226,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:9",{"_index":7224,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.factory.ts",{"_index":13524,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.factory.ts:8",{"_index":13526,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.id",{"_index":9037,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.interface",{"_index":5917,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["file.interface.ts",{"_index":5843,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:2",{"_index":5845,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:3",{"_index":5846,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.isdirectory",{"_index":9034,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.mimetype",{"_index":11524,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.name",{"_index":11522,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.repo",{"_index":22497,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.repo.ts",{"_index":22443,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:12",{"_index":22454,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:16",{"_index":22450,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:20",{"_index":22455,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:25",{"_index":22452,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:29",{"_index":22457,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:8",{"_index":22458,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.storagefilename",{"_index":9041,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.storageprovider",{"_index":9043,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.url.params.ts",{"_index":6560,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:12",{"_index":6562,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:13",{"_index":15743,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:7",{"_index":6563,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:8",{"_index":15744,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file_could_not_be_copied_hint",{"_index":7353,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filecontent",{"_index":5311,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ReferencesService.html":{}}}],["filecontent.replace(/\\r\\n?/g",{"_index":18878,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontent.split('\\n",{"_index":18884,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontentbody",{"_index":6506,"title":{"classes/FileContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["filecopy",{"_index":18647,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.foreach((copyfiledto",{"_index":18664,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.map((copyfiledto",{"_index":18654,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservice",{"_index":3634,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservicefactory",{"_index":5450,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["filecopystatus",{"_index":7361,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["filecouldnotbecopied",{"_index":7354,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedo",{"_index":7214,"title":{"interfaces/FileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filedomainobjectprops",{"_index":11513,"title":{"interfaces/FileDomainObjectProps.html":{}},"body":{"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filedto",{"_index":7364,"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":11532,"title":{"classes/FileDtoBuilder.html":{}},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(fileinfo.filename",{"_index":11546,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(name",{"_index":11551,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtos",{"_index":7346,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map",{"_index":7370,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map((filedto",{"_index":7363,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileelement",{"_index":3140,"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":6516,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.caption",{"_index":6513,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.id",{"_index":18777,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["fileelementcontent",{"_index":11570,"title":{"classes/FileElementContent.html":{}},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementcontentbody",{"_index":9643,"title":{"classes/FileElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["fileelementnode",{"_index":3506,"title":{"entities/FileElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelementnodeprops",{"_index":11580,"title":{"interfaces/FileElementNodeProps.html":{}},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["fileelementprops",{"_index":11568,"title":{"interfaces/FileElementProps.html":{}},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["fileelementresponse",{"_index":4066,"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":4048,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["fileelementresponsemapper",{"_index":6441,"title":{"classes/FileElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementresponsemapper.getinstance",{"_index":6425,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["fileelementresponsemapper.instance",{"_index":11590,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["fileentity",{"_index":1019,"title":{"entities/FileEntity.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/ServerConsoleModule.html":{}}}],["fileentityprops",{"_index":11636,"title":{"interfaces/FileEntityProps.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["fileexists",{"_index":22461,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["fileexists(filename",{"_index":22472,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filefieldsinterceptor",{"_index":13296,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["filegroupstatus",{"_index":7375,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileid",{"_index":7374,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/DeleteFilesUc.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["fileinfo",{"_index":11542,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfo.mimetype",{"_index":11547,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfos",{"_index":12275,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["fileline.trim",{"_index":18890,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines",{"_index":18883,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines.foreach((fileline",{"_index":18889,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filemetadata",{"_index":11686,"title":{"classes/FileMetadata.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["filename",{"_index":5260,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application.html":{}}}],["filename.includes",{"_index":22502,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename.split('.')[0",{"_index":5261,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filename.startswith",{"_index":22503,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename=\"${encodeuri(fileresponse.name",{"_index":12406,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filename=\"${encodeuri(params.fwulearningcontent",{"_index":12553,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["filenameobj",{"_index":11920,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameobj.name",{"_index":11922,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameprefix",{"_index":7264,"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":5256,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["filenames.map((filename",{"_index":5258,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filenamewithoutextension",{"_index":11919,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["fileownermodel",{"_index":11618,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["fileownermodel.user",{"_index":12209,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["fileparambuilder",{"_index":7351,"title":{"classes/FileParamBuilder.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileParamBuilder.html":{}}}],["fileparambuilder.build(copyentity.getschoolid",{"_index":7356,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparambuilder.build(originalentity.getschoolid",{"_index":7355,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparams",{"_index":7275,"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":5200,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{}}}],["filepermissionentity",{"_index":11616,"title":{"classes/FilePermissionEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionentityprops",{"_index":11800,"title":{"interfaces/FilePermissionEntityProps.html":{}},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionreferencemodel",{"_index":11805,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filerecord",{"_index":7237,"title":{"entities/FileRecord.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"modules/ServerConsoleModule.html":{}}}],["filerecord.creatorid",{"_index":7252,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.deletedsince",{"_index":7257,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.getpreviewstatus",{"_index":7259,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.id",{"_index":7241,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.mimetype",{"_index":7254,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.name",{"_index":7242,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.parentid",{"_index":7250,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.parenttype",{"_index":7255,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.schoolid",{"_index":12402,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filerecord.securitycheck.status",{"_index":7248,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.size",{"_index":7246,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordcopy",{"_index":11884,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordcopy.securitycheck",{"_index":11886,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordfactory",{"_index":11924,"title":{"classes/FileRecordFactory.html":{}},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordfactory.define(filerecord",{"_index":11931,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordid",{"_index":7278,"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":7261,"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":11952,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse.map((record",{"_index":12304,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordmapper",{"_index":11936,"title":{"classes/FileRecordMapper.html":{}},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordmapper.maptofilerecordresponse(filerecord",{"_index":11951,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordparams",{"_index":7213,"title":{"classes/FileRecordParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype",{"_index":7210,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype'})@isenum(filerecordparenttype",{"_index":11962,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["filerecordparenttype.boardnode",{"_index":18653,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filerecordparenttype.course",{"_index":11933,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordparenttype.lesson",{"_index":12317,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.submission",{"_index":12319,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.task",{"_index":12318,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordproperties",{"_index":11856,"title":{"interfaces/FileRecordProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordrepo",{"_index":11965,"title":{"injectables/FileRecordRepo.html":{}},"body":{"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{}}}],["filerecordresponse",{"_index":7239,"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":11948,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse.id",{"_index":12309,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.name",{"_index":12310,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.parentid",{"_index":12311,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecords",{"_index":11858,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["filerecords.map((filerecord",{"_index":11950,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"injectables/PreviewService.html":{}}}],["filerecordscanstatus",{"_index":7260,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordscope",{"_index":11977,"title":{"classes/FileRecordScope.html":{}},"body":{"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{}}}],["filerecordscope().bycreatorid(creatorid",{"_index":12006,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(false",{"_index":11996,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(true",{"_index":11998,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byparentid(parentid).bymarkedfordelete(false",{"_index":11999,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(false",{"_index":12001,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(true",{"_index":12002,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().bysecuritycheckrequesttoken(token",{"_index":12005,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordsecuritycheck",{"_index":11837,"title":{"classes/FileRecordSecurityCheck.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordsecuritycheckproperties",{"_index":11848,"title":{"interfaces/FileRecordSecurityCheckProperties.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerequestinfo",{"_index":7324,"title":{"interfaces/FileRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["fileresponse",{"_index":12051,"title":{},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"classes/TestHelper.html":{}}}],["fileresponse.contentlength",{"_index":12407,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponse.contenttype",{"_index":12405,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponsebuilder",{"_index":12048,"title":{"classes/FileResponseBuilder.html":{}},"body":{"classes/FileResponseBuilder.html":{},"injectables/PreviewService.html":{}}}],["fileresponsebuilder.build(file",{"_index":18154,"title":{},"body":{"injectables/PreviewService.html":{}}}],["files",{"_index":5234,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/Options.html":{},"classes/Path.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["files.concat(returnedfiles",{"_index":19629,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["files.console.ts",{"_index":8955,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:15",{"_index":8965,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:6",{"_index":8959,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.interface",{"_index":14598,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["files.interface.ts",{"_index":13754,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["files.length",{"_index":9017,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TemporaryFileStorage.html":{}}}],["files.map((file",{"_index":9011,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.service",{"_index":12326,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["files.service.ts",{"_index":7335,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:17",{"_index":7341,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:23",{"_index":7343,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:42",{"_index":7345,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:58",{"_index":7349,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.uc.ts",{"_index":8977,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:106",{"_index":8994,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:12",{"_index":8986,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:22",{"_index":8996,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:66",{"_index":8997,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:76",{"_index":8988,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:91",{"_index":8992,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files/:file",{"_index":13283,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.file?.[0",{"_index":13340,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.h5p?.[0",{"_index":13342,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files_storage_s3_connection",{"_index":12093,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/PreviewService.html":{}}}],["filesdto",{"_index":12303,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesecuritycheckentity",{"_index":11620,"title":{"classes/FileSecurityCheckEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckentityprops",{"_index":12053,"title":{"interfaces/FileSecurityCheckEntityProps.html":{}},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus",{"_index":12058,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus.pending",{"_index":12059,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycontroller",{"_index":12061,"title":{"controllers/FileSecurityController.html":{}},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filesmodule",{"_index":9050,"title":{"modules/FilesModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/FilesModule.html":{},"modules/ServerConsoleModule.html":{}}}],["filespreviewevents",{"_index":18039,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{}}}],["filespreviewevents.generate_preview",{"_index":18044,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["filespreviewexchange",{"_index":18037,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesrepo",{"_index":8984,"title":{"injectables/FilesRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{}}}],["filesservice",{"_index":12190,"title":{"injectables/FilesService.html":{}},"body":{"modules/FilesModule.html":{},"injectables/FilesService.html":{}}}],["filesservicebaseurl",{"_index":1270,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["filesstorageamqpmodule",{"_index":12239,"title":{"modules/FilesStorageAMQPModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["filesstorageapimodule",{"_index":12247,"title":{"modules/FilesStorageApiModule.html":{}},"body":{"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{}}}],["filesstorageclientadapterservice",{"_index":7340,"title":{"injectables/FilesStorageClientAdapterService.html":{}},"body":{"injectables/CopyFilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SubmissionService.html":{},"injectables/TaskService.html":{}}}],["filesstorageclientconfig",{"_index":12282,"title":{"interfaces/FilesStorageClientConfig.html":{}},"body":{"interfaces/FilesStorageClientConfig.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ServerConfig.html":{}}}],["filesstorageclientmapper",{"_index":11790,"title":{"classes/FilesStorageClientMapper.html":{}},"body":{"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapcopyfilelistresponsetocopyfilesdto(response",{"_index":12276,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapcopyfileresponsetocopyfiledto(response",{"_index":12307,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapentitytoparenttype(parent",{"_index":11792,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["filesstorageclientmapper.mapfilerecordlistresponsetodomainfilesdto(response",{"_index":12278,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapfilerecordresponsetofiledto(record",{"_index":12305,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapstringtoparenttype(filerecordresponse.parenttype",{"_index":12308,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmodule",{"_index":3889,"title":{"modules/FilesStorageClientModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LessonModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskModule.html":{}}}],["filesstorageconsumer",{"_index":12244,"title":{"injectables/FilesStorageConsumer.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["filesstoragecontroller",{"_index":12251,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["filesstorageevents",{"_index":7201,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageevents.copy_files_of_parent",{"_index":12353,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.delete_files_of_parent",{"_index":12359,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.list_files_of_parent",{"_index":12355,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.remove_creatorid_of_files",{"_index":12364,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageexchange",{"_index":7199,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesstorageinternalactions",{"_index":1316,"title":{},"body":{"injectables/AntivirusService.html":{},"controllers/FileSecurityController.html":{}}}],["filesstoragemapper",{"_index":12350,"title":{"classes/FilesStorageMapper.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(filerecords",{"_index":12358,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(updatedfilerecords",{"_index":12369,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordresponse(filerecord",{"_index":12403,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filesstoragemodule",{"_index":12243,"title":{"modules/FilesStorageModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{}}}],["filesstorageproducer",{"_index":12262,"title":{"injectables/FilesStorageProducer.html":{}},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageservice",{"_index":12332,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["filesstoragetestmodule",{"_index":12464,"title":{"modules/FilesStorageTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{}}}],["filesstorageuc",{"_index":12074,"title":{},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filestatuses",{"_index":7369,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filestorageauthorizationcontext",{"_index":26402,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["filestorageconfig",{"_index":12087,"title":{"interfaces/FileStorageConfig.html":{}},"body":{"interfaces/FileStorageConfig.html":{}}}],["filestoragemqproducer",{"_index":12261,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesystem",{"_index":5300,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/Options.html":{}}}],["filesystemadapter",{"_index":5207,"title":{"injectables/FileSystemAdapter.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["filesystemmodule",{"_index":12175,"title":{"modules/FileSystemModule.html":{}},"body":{"modules/FileSystemModule.html":{},"modules/ManagementModule.html":{}}}],["filetype",{"_index":18585,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["filetyperesult",{"_index":18588,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["fileupload_enabled=false",{"_index":26349,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["fileurlparams",{"_index":7274,"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":7347,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements",{"_index":7359,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements.foreach",{"_index":21860,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["fill",{"_index":26198,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["filled",{"_index":10600,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["filledtemplate",{"_index":10463,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["filter",{"_index":4703,"title":{},"body":{"classes/ClassFilterParams.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/DatabaseManagementConsole.html":{},"modules/ErrorModule.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/NameMatch.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["filter((data",{"_index":5291,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filter((element",{"_index":7453,"title":{},"body":{"classes/CopyMapper.html":{}}}],["filter((entity",{"_index":21588,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["filter((group",{"_index":19832,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((groupuser",{"_index":13103,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["filter((key",{"_index":11103,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["filter((match",{"_index":14303,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["filter((otheruser",{"_index":19841,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((result",{"_index":140,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["filter((rolename",{"_index":24136,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["filter((user",{"_index":15015,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["filter(issubmissionitem",{"_index":9902,"title":{},"body":{"injectables/ElementUc.html":{}}}],["filter.ts",{"_index":16789,"title":{},"body":{"interfaces/NewsTargetFilter.html":{}}}],["filter/global",{"_index":10029,"title":{},"body":{"modules/ErrorModule.html":{}}}],["filterallowed",{"_index":4535,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterallowed(userid",{"_index":4544,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterbypermission",{"_index":9723,"title":{},"body":{"classes/DtoCreator.html":{}}}],["filterbypermission(elements",{"_index":9741,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtercoursesbytoolavailability",{"_index":11360,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["filtercoursesbytoolavailability(courses",{"_index":11374,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["filtered",{"_index":5266,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtered.every((status",{"_index":7407,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filtered.length",{"_index":6257,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["filtered.some((status",{"_index":7409,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filteredaccounts",{"_index":990,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts.length",{"_index":994,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts[0].id.tostring",{"_index":1001,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredcollectionswithfilepaths",{"_index":5274,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredcollectionswithfilepaths.length",{"_index":5277,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredgroups",{"_index":17810,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteredgroups.filter((group",{"_index":17813,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteredpathobjects",{"_index":19639,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["filteredtoolreferences",{"_index":23432,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["filteredusers",{"_index":17839,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteremailadresses",{"_index":16231,"title":{},"body":{"injectables/MailService.html":{}}}],["filteremailadresses(mails",{"_index":16235,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["filterexternalgroups",{"_index":17734,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filterexternalgroups(externalgroups",{"_index":17744,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filterforavailableexternaltools",{"_index":10190,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableexternaltools(externaltools",{"_index":10200,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools",{"_index":10191,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools(schoolexternaltools",{"_index":10205,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools",{"_index":10192,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools(externaltools",{"_index":10209,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions",{"_index":10193,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions(availabletools",{"_index":10212,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterimportuserparams",{"_index":12469,"title":{"classes/FilterImportUserParams.html":{}},"body":{"classes/FilterImportUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["filtermatchtype",{"_index":12482,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.auto",{"_index":14172,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.manual",{"_index":14174,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.none",{"_index":14176,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filternewsparams",{"_index":12493,"title":{"classes/FilterNewsParams.html":{}},"body":{"classes/FilterNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["filterparametersforscope",{"_index":10194,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparametersforscope(externaltool",{"_index":10215,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparams",{"_index":12813,"title":{},"body":{"controllers/GroupController.html":{},"controllers/SystemController.html":{}}}],["filterparams.onlyoauth",{"_index":21471,"title":{},"body":{"controllers/SystemController.html":{}}}],["filterparams.type",{"_index":12835,"title":{},"body":{"controllers/GroupController.html":{}}}],["filterquery",{"_index":2479,"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":{},"classes/GroupScope.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":12486,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/RoleNameMapper.html":{}}}],["filterroletype.admin",{"_index":19244,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.student",{"_index":19246,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.teacher",{"_index":19245,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filters",{"_index":5264,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/FilterNewsParams.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/UserRepo.html":{}}}],["filters.availableon",{"_index":22065,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.classes",{"_index":14223,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.finished.value",{"_index":22058,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.firstname",{"_index":14215,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.flagged",{"_index":14227,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.lastname",{"_index":14217,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.loginname",{"_index":14219,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.matches",{"_index":14225,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.name.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":24228,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters.role",{"_index":14221,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters?.afterduedateornone",{"_index":22061,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.availableon",{"_index":22063,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.draft",{"_index":22069,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.finished",{"_index":22056,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.hidden",{"_index":15646,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["filters?.name",{"_index":24225,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters?.nofutureavailabledate",{"_index":22071,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.onlyactivecourses",{"_index":7950,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["filtersubmissionsbypermission",{"_index":21360,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtersubmissionsbypermission(submissions",{"_index":21364,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtertoolswithpermissions",{"_index":7085,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filtertoolswithpermissions(userid",{"_index":7096,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filterundefined",{"_index":16090,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["filteruserparams",{"_index":12503,"title":{"classes/FilterUserParams.html":{}},"body":{"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/UserMatchMapper.html":{}}}],["final",{"_index":13312,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["finally",{"_index":25408,"title":{},"body":{"license.html":{}}}],["find",{"_index":5138,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionItemUc.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["find((item",{"_index":9903,"title":{},"body":{"injectables/ElementUc.html":{}}}],["find((result",{"_index":143,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["find(@query",{"_index":21468,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(filterparams",{"_index":21451,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(params",{"_index":11467,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["find(query",{"_index":6867,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["findaccountbydbcaccountid",{"_index":13906,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcaccountid(accountdbcaccountid",{"_index":13920,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid",{"_index":13907,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid(accountdbcuserid",{"_index":13923,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid",{"_index":319,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid(accountid",{"_index":13925,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["findaccountbyid(currentuser",{"_index":350,"title":{},"body":{"controllers/AccountController.html":{}}}],["findaccountbyid(id",{"_index":14867,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername",{"_index":13908,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername(username",{"_index":13926,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findall",{"_index":15471,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"controllers/NewsController.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findall(currentuser",{"_index":16602,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TaskController.html":{}}}],["findall(userid",{"_index":22188,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallbyconfigtype",{"_index":10705,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbyconfigtype(type",{"_index":10711,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbycontext",{"_index":7040,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycontext(contextref",{"_index":7053,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycourseids",{"_index":15633,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbycourseids(courseids",{"_index":15636,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbydeletionrequestid",{"_index":9296,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbydeletionrequestid(deletionrequestid",{"_index":9300,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbyparentids",{"_index":21982,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyparentids(parentids",{"_index":21988,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyschoolid",{"_index":4854,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbyschoolid(schoolid",{"_index":4857,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbytask",{"_index":21332,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{}}}],["findallbytask(taskid",{"_index":21337,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findallbytask(userid",{"_index":21366,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["findallbytaskids",{"_index":21281,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbytaskids(taskids",{"_index":21285,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbyuser",{"_index":7992,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuser(userid",{"_index":7994,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuserandfilename",{"_index":22444,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserandfilename(userid",{"_index":22449,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserid",{"_index":4811,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallbyuserid(userid",{"_index":4817,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallcoursegroupsbyuserid",{"_index":7822,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursegroupsbyuserid(userid",{"_index":7827,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursesbyuserid",{"_index":7977,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallcoursesbyuserid(userid",{"_index":7982,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallfinished",{"_index":21782,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findallfinished(currentuser",{"_index":21792,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallfinished(userid",{"_index":22190,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallfinishedbyparentids",{"_index":21983,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallfinishedbyparentids(parentids",{"_index":21992,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallforstudent",{"_index":22180,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforstudent(user",{"_index":22192,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher",{"_index":7919,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/TaskUC.html":{}}}],["findallforteacher(user",{"_index":22194,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher(userid",{"_index":7926,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher",{"_index":7920,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher(userid",{"_index":7928,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findallforteam",{"_index":22325,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforteam(urlparams",{"_index":22326,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforuser",{"_index":16791,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallforuser(userid",{"_index":16801,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallimportusers",{"_index":14004,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallimportusers(currentuser",{"_index":14014,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallitemstoexecute",{"_index":9537,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecute(limit",{"_index":9543,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecution",{"_index":9483,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findallitemstoexecution(limit",{"_index":9491,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findalllessonsbyuserid",{"_index":15698,"title":{},"body":{"injectables/LessonService.html":{}}}],["findalllessonsbyuserid(userid",{"_index":15705,"title":{},"body":{"injectables/LessonService.html":{}}}],["findallpublished",{"_index":16722,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallpublished(targets",{"_index":16725,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findalltasks",{"_index":21783,"title":{},"body":{"controllers/TaskController.html":{}}}],["findalltasks(currentuser",{"_index":21795,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallunmatchedusers",{"_index":14005,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunmatchedusers(currentuser",{"_index":14017,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunpublishedbyuser",{"_index":16723,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallunpublishedbyuser(targets",{"_index":16728,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findandcount",{"_index":11967,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findandcount(scope",{"_index":11976,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findboard",{"_index":4136,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboard(userid",{"_index":4144,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext",{"_index":4137,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext(userid",{"_index":4146,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findbyclassandid",{"_index":3638,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclassandid(doclass",{"_index":3651,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclientidandislocal",{"_index":16154,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(clientid",{"_index":16205,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(oauthclientid",{"_index":16156,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbycourseid",{"_index":3985,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseid(courseid",{"_index":3990,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseids",{"_index":7800,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycourseids(courseids",{"_index":7801,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycreatorid",{"_index":11968,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbycreatorid(creatorid",{"_index":11979,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbydeletionrequestid",{"_index":9320,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydeletionrequestid(deletionrequestid",{"_index":9325,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydescendant",{"_index":5508,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydescendant(boarddo",{"_index":5520,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydocname",{"_index":22763,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbydocname(docname",{"_index":22768,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbyemail",{"_index":24201,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyemail(email",{"_index":24206,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid",{"_index":15392,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid(externalid",{"_index":15395,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalidorfail",{"_index":23654,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalidorfail(externalid",{"_index":23660,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalsource",{"_index":12937,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternalsource(externalid",{"_index":12942,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternaltoolid",{"_index":20008,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyexternaltoolid(toolid",{"_index":20016,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyfilter",{"_index":15472,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyfilter(type",{"_index":15474,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyid",{"_index":12,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(boardid",{"_index":5522,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyid(cardid",{"_index":4491,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyid(columnid",{"_index":5693,"title":{},"body":{"injectables/ColumnService.html":{}}}],["findbyid(contentid",{"_index":13230,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["findbyid(contextexternaltoolid",{"_index":7055,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyid(courseid",{"_index":7984,"title":{},"body":{"injectables/CourseService.html":{}}}],["findbyid(deletionlogid",{"_index":9302,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findbyid(deletionrequestid",{"_index":9493,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["findbyid(elementid",{"_index":6460,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findbyid(id",{"_index":40,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(lessonid",{"_index":15708,"title":{},"body":{"injectables/LessonService.html":{}}}],["findbyid(schoolexternaltoolid",{"_index":20081,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findbyid(submissionid",{"_index":21340,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findbyid(taskid",{"_index":22158,"title":{},"body":{"injectables/TaskService.html":{}}}],["findbyidorfail",{"_index":7041,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidorfail(contextexternaltoolid",{"_index":7057,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidornull",{"_index":6854,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyidornull(id",{"_index":6870,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyids",{"_index":3639,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyids(cardids",{"_index":4494,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyids(ids",{"_index":3656,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyname",{"_index":10706,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbyname(machinename",{"_index":15757,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbyname(name",{"_index":10712,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbynameandexactversion",{"_index":15751,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynameandexactversion(machinename",{"_index":15759,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynames",{"_index":19252,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbynames(names",{"_index":19255,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbyoauth2configclientid",{"_index":10707,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauth2configclientid(clientid",{"_index":10714,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauthclientid",{"_index":16155,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyoauthclientid(oauthclientid",{"_index":16159,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyowneruserid",{"_index":12193,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyowneruserid(owneruserid",{"_index":12197,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyparentid",{"_index":11969,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyparentid(parentid",{"_index":11981,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbypermissionrefid",{"_index":12194,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbypermissionrefid(permissionrefid",{"_index":12200,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyschoolid",{"_index":20009,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolid(schoolid",{"_index":20017,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolidandgrouptypes",{"_index":12938,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyschoolidandgrouptypes(schoolid",{"_index":12945,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyschoolidandparentid",{"_index":11970,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentid(schoolid",{"_index":11983,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete",{"_index":11971,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete(schoolid",{"_index":11985,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandsystemid",{"_index":20353,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["findbyschoolidandsystemid(schoolid",{"_index":20357,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["findbyschoolnumber",{"_index":15393,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyschoolnumber(officialschoolnumber",{"_index":15397,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyscopeandscopeid",{"_index":24704,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbyscopeandscopeid(scopeid",{"_index":24705,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbysecuritycheckrequesttoken",{"_index":11972,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysecuritycheckrequesttoken(token",{"_index":11987,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysingleparent",{"_index":21984,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbysingleparent(creatorid",{"_index":21994,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbytype",{"_index":15494,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbytype(type",{"_index":15499,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbyuser",{"_index":22445,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuser(userid",{"_index":22451,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename",{"_index":22446,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename(userid",{"_index":22453,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandgrouptypes",{"_index":12939,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyuserandgrouptypes(user",{"_index":12947,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyuserandtoolorthrow",{"_index":18447,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findbyuserandtoolorthrow(user",{"_index":16941,"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":10647,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolid(userid",{"_index":10659,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail",{"_index":10648,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail(userid",{"_index":10661,"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":4536,"title":{},"body":{"injectables/CardUc.html":{}}}],["findcards(userid",{"_index":4547,"title":{},"body":{"injectables/CardUc.html":{}}}],["findclasses",{"_index":12810,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclasses(pagination",{"_index":12811,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclassesforschool",{"_index":4812,"title":{},"body":{"injectables/ClassService.html":{}}}],["findclassesforschool(schoolid",{"_index":4819,"title":{},"body":{"injectables/ClassService.html":{}}}],["findcontextexternaltools",{"_index":7042,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcontextexternaltools(query",{"_index":7059,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcurrentyear",{"_index":20452,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["finddescendants",{"_index":3946,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendants(node",{"_index":3950,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany",{"_index":3947,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany(nodes",{"_index":3952,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddocumentsofcollection",{"_index":8911,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["finddocumentsofcollection(collectionname",{"_index":8923,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["findevent",{"_index":4323,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findevent(userid",{"_index":4326,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findexistinggridelement",{"_index":8688,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistinggridelement(elementwithposition",{"_index":8701,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistingtargets",{"_index":5614,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexistingtargets(columnboardids",{"_index":5617,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexpired",{"_index":22447,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser",{"_index":22448,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser(userid",{"_index":22456,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexternaltool",{"_index":11108,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["findexternaltool(currentuser",{"_index":23152,"title":{},"body":{"controllers/ToolController.html":{}}}],["findexternaltool(userid",{"_index":11119,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["findexternaltoolbyname",{"_index":10999,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyname(name",{"_index":11016,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid",{"_index":11000,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid(clientid",{"_index":11018,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolpseudonymsbyuserid",{"_index":18448,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltoolpseudonymsbyuserid(userid",{"_index":18462,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltools",{"_index":11001,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltools(query",{"_index":11020,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findfederalstatebyname",{"_index":11502,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfederalstatebyname(name",{"_index":11505,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfilesaccessiblebyuser",{"_index":12219,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesaccessiblebyuser(userid",{"_index":12224,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser",{"_index":12220,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser(userid",{"_index":12226,"title":{},"body":{"injectables/FilesService.html":{}}}],["findforcleanup",{"_index":12195,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforcleanup(thresholddate",{"_index":12203,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforuser",{"_index":7631,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findforuser(@currentuser",{"_index":8421,"title":{},"body":{"controllers/DashboardController.html":{}}}],["findforuser(currentuser",{"_index":7637,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findgroupsbyschoolidandgrouptypes",{"_index":13058,"title":{},"body":{"injectables/GroupService.html":{}}}],["findgroupsbyschoolidandgrouptypes(schoolid",{"_index":13067,"title":{},"body":{"injectables/GroupService.html":{}}}],["findgroupsbyuserandgrouptypes",{"_index":13059,"title":{},"body":{"injectables/GroupService.html":{}}}],["findgroupsbyuserandgrouptypes(user",{"_index":13069,"title":{},"body":{"injectables/GroupService.html":{}}}],["findidsbyexternalreference",{"_index":3640,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findidsbyexternalreference(reference",{"_index":3658,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findimportusers",{"_index":14194,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusers(school",{"_index":14200,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount",{"_index":14195,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount(query",{"_index":14202,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["finding",{"_index":3965,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["findlegacyltitool",{"_index":16876,"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":24025,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyschool(schoolid",{"_index":24038,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser",{"_index":24026,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser(userid",{"_index":24040,"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":15752,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewestbynameandversion(machinename",{"_index":15761,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewsandcount",{"_index":16724,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnewsandcount(query",{"_index":16730,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnextcloudtool",{"_index":16877,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findone",{"_index":7921,"title":{},"body":{"injectables/CourseRepo.html":{},"controllers/NewsController.html":{}}}],["findone(@param",{"_index":16630,"title":{},"body":{"controllers/NewsController.html":{}}}],["findone(courseid",{"_index":7931,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findone(urlparams",{"_index":16605,"title":{},"body":{"controllers/NewsController.html":{}}}],["findonebyid",{"_index":11973,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyid(id",{"_index":11989,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyidforuser",{"_index":16792,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidforuser(id",{"_index":16805,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidmarkedfordelete",{"_index":11974,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebyidmarkedfordelete(id",{"_index":11991,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebynameandversionorfail",{"_index":15753,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebynameandversionorfail(machinename",{"_index":15763,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebytoken",{"_index":20775,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findonebytoken(token",{"_index":20776,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findoneorfail",{"_index":11975,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfail(scope",{"_index":11993,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfailhandler",{"_index":12427,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["findorcreatepseudonym",{"_index":18449,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatepseudonym(user",{"_index":18464,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatetargets",{"_index":5615,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findorcreatetargets(columnboardids",{"_index":5620,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findparentofid",{"_index":3641,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{}}}],["findparentofid(childid",{"_index":3661,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findparentofid(elementid",{"_index":6462,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findpseudonym",{"_index":10649,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonym(query",{"_index":10663,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonymbypseudonym",{"_index":10650,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{}}}],["findpseudonymbypseudonym(pseudonym",{"_index":10666,"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":18499,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["findpseudonymsbyuserid",{"_index":18450,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findpseudonymsbyuserid(userid",{"_index":18468,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["finds",{"_index":741,"title":{},"body":{"injectables/AccountRepo.html":{},"controllers/SystemController.html":{},"injectables/TeamsRepo.html":{}}}],["findschoolexternaltools",{"_index":20071,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["findschoolexternaltools(query",{"_index":20083,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findschoolexternaltools(userid",{"_index":20116,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["findstatusesbytask",{"_index":21125,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findstatusesbytask(currentuser",{"_index":21129,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findsubmissionitems",{"_index":21245,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findsubmissionitems(userid",{"_index":21249,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findtasksandcount",{"_index":21985,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findtasksandcount(query",{"_index":21996,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findteambyid",{"_index":5127,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findteambyid(teamid",{"_index":5135,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findtoolbyclientid",{"_index":17507,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["findtoolbyclientid(clientid",{"_index":17511,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["finduserafterprovisioningorthrow",{"_index":17000,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserafterprovisioningorthrow(externaluserid",{"_index":17012,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserdatafromteams",{"_index":22377,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserdatafromteams(userid",{"_index":22382,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserloginmigrationbyschool",{"_index":23804,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["finduserloginmigrationbyschool(user",{"_index":23818,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["finduserloginmigrationbyschool(userid",{"_index":24081,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["findusers",{"_index":24279,"title":{},"body":{"injectables/UserService.html":{}}}],["findusers(query",{"_index":24291,"title":{},"body":{"injectables/UserService.html":{}}}],["findwithoutimportuser",{"_index":24202,"title":{},"body":{"injectables/UserRepo.html":{}}}],["findwithoutimportuser(school",{"_index":24209,"title":{},"body":{"injectables/UserRepo.html":{}}}],["fine",{"_index":26086,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["finish",{"_index":21784,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(@param",{"_index":21822,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(urlparams",{"_index":21797,"title":{},"body":{"controllers/TaskController.html":{}}}],["finishcoursecopying",{"_index":7671,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishcoursecopying(coursecopy",{"_index":7683,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finished",{"_index":8975,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["finished(user",{"_index":21924,"title":{},"body":{"classes/TaskFactory.html":{}}}],["finishedat",{"_index":23897,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["finishedcoursecopy",{"_index":7700,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishedcourseids",{"_index":22009,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["finishedids",{"_index":21709,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids",{"_index":21707,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids.map((id",{"_index":21710,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserid",{"_index":21721,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids",{"_index":21717,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids.some((finisheduserid",{"_index":21720,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishforuser(user",{"_index":21765,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishing",{"_index":23942,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["first",{"_index":413,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"classes/PatchMyAccountParams.html":{},"interfaces/RetryOptions.html":{},"classes/UserInfoResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstbrokerloginflowalias",{"_index":17713,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["firstchar",{"_index":7617,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["firstclass",{"_index":14095,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["firstname",{"_index":700,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14283,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["firstnamesearchvalues",{"_index":5366,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["firstvaluefrom",{"_index":2382,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["firstvaluefrom(observable",{"_index":2397,"title":{},"body":{"injectables/BBBService.html":{}}}],["firstvaluefrom(request",{"_index":9110,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["firstvaluefrom(respobservable",{"_index":13718,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["fishery",{"_index":575,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["fit",{"_index":6202,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["fitness",{"_index":25552,"title":{},"body":{"license.html":{}}}],["fix",{"_index":1850,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TaskUC.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fixable",{"_index":25765,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["fixed",{"_index":7910,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["fixeddata",{"_index":19752,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse",{"_index":19762,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen",{"_index":19764,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen.length",{"_index":19771,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse?.personenkontexte?.length",{"_index":19763,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixes",{"_index":25640,"title":{},"body":{"todo.html":{}}}],["fixing",{"_index":26472,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["fixme",{"_index":4823,"title":{},"body":{"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/CourseNews.html":{},"modules/LearnroomApiModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["fixtures",{"_index":26181,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fixups",{"_index":26248,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["flag",{"_index":12501,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFilterParams.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateFlagParams.html":{},"classes/UserMigrationIsNotEnabled.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flag.params.ts",{"_index":23509,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flag.params.ts:7",{"_index":23511,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flagged",{"_index":12472,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UpdateFlagParams.html":{}}}],["flags",{"_index":4910,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flexible",{"_index":25839,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["flow",{"_index":14686,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["flow.id",{"_index":14701,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flow.service",{"_index":13855,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["flow.service.ts",{"_index":17506,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:11",{"_index":17510,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:18",{"_index":17512,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:39",{"_index":17514,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.uc",{"_index":17449,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["flow.uc.ts",{"_index":17366,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:104",{"_index":17535,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:15",{"_index":17372,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:17",{"_index":17528,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:21",{"_index":17376,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:26",{"_index":17378,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:31",{"_index":17533,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:46",{"_index":17530,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:50",{"_index":17381,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:58",{"_index":17374,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:6",{"_index":17561,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:80",{"_index":17384,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:9",{"_index":17563,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:92",{"_index":17537,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flowalias",{"_index":14683,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["flows",{"_index":14697,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flows.find((tempflow",{"_index":14699,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flush",{"_index":730,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["flushdocument",{"_index":22632,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushdocument(docname",{"_index":22638,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushsize",{"_index":22629,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["fn",{"_index":3844,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fn(i",{"_index":3879,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fname",{"_index":1066,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["folder",{"_index":5222,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["folder_id",{"_index":13150,"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":16911,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foldername",{"_index":16922,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["folderpath",{"_index":5230,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["folders",{"_index":16925,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["folgendem",{"_index":5588,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["follow",{"_index":6297,"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":9020,"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":26270,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["foo",{"_index":25785,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["foractivecourses",{"_index":7941,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forallgrouptypes",{"_index":7966,"title":{},"body":{"classes/CourseScope.html":{}}}],["forallgrouptypes(userid",{"_index":7936,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forbid",{"_index":25228,"title":{},"body":{"license.html":{}}}],["forbidden",{"_index":12518,"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":23213,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["forbidden_exception",{"_index":12511,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["forbidden_operation",{"_index":12517,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["forbiddenexception",{"_index":2681,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorMapper.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/H5PEditorController.html":{},"injectables/LessonCopyUC.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/RoomsUc.html":{},"controllers/ShareTokenController.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["forbiddenexception(\"you",{"_index":17401,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["forbiddenexception('accessing",{"_index":24091,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["forbiddenexception('could",{"_index":15601,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["forbiddenexception('some",{"_index":26019,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["forbiddenexception('user",{"_index":2690,"title":{},"body":{"classes/BaseUc.html":{}}}],["forbiddenexception('you",{"_index":19462,"title":{},"body":{"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["forbiddenexception(`cannot",{"_index":3096,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["forbiddenexception(errorobj.message",{"_index":10019,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["forbiddenexception(errorstatus.guests_cannot_join_conference",{"_index":24620,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["forbiddenexception(errorstatus.insufficient_permission",{"_index":24535,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["forbiddenexception})@apiresponse({status",{"_index":3217,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["forbiddenexception})@get",{"_index":4388,"title":{},"body":{"controllers/CardController.html":{}}}],["forbiddenexception})@get(':submissioncontainerid",{"_index":4057,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["forbiddenloggableexception",{"_index":1957,"title":{"classes/ForbiddenLoggableException.html":{}},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenloggableexception(user.id",{"_index":1989,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["forbiddenloggableexception(userid",{"_index":1961,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenoperationerror",{"_index":343,"title":{"classes/ForbiddenOperationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ForbiddenOperationError.html":{},"controllers/LoginController.html":{}}}],["forbidnonwhitelisted",{"_index":12736,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["forbidunknownvalues",{"_index":12738,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["force",{"_index":74,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["force.error.ts",{"_index":4200,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force.error.ts:5",{"_index":4202,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force_subject_identifier",{"_index":184,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["forcepasswordchange",{"_index":23529,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["forcepathstyle",{"_index":9030,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["forceserverobjectid",{"_index":8938,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["forceupdate",{"_index":7291,"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":7967,"title":{},"body":{"classes/CourseScope.html":{}}}],["forcourseid(courseid",{"_index":7945,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["foreach((key",{"_index":11105,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["foreign",{"_index":15247,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["foreignfield",{"_index":24232,"title":{},"body":{"injectables/UserRepo.html":{}}}],["form",{"_index":2838,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"license.html":{}}}],["format",{"_index":403,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"classes/JwtTestFactory.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["format.'})@apioperation({summary",{"_index":23096,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["format.'})@apiresponse({status",{"_index":341,"title":{},"body":{"controllers/AccountController.html":{},"controllers/LoginController.html":{}}}],["format.types",{"_index":19064,"title":{},"body":{"classes/RichText.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["formatted",{"_index":621,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["formattedjwt",{"_index":1629,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["formatting",{"_index":25763,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["forms",{"_index":25274,"title":{},"body":{"license.html":{}}}],["forroot",{"_index":1048,"title":{},"body":{"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroot(options",{"_index":1045,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroutes",{"_index":20619,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["forteacher",{"_index":7968,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacher(userid",{"_index":7940,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher",{"_index":7969,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher(userid",{"_index":7939,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forwardref",{"_index":1936,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/SubmissionItemUc.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["found",{"_index":347,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/DashboardUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/Oauth2Strategy.html":{},"controllers/PseudonymController.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["found.error.ts",{"_index":9929,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.error.ts:4",{"_index":9931,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.exception",{"_index":10275,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["found.loggable",{"_index":16973,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["found.loggable.ts",{"_index":20143,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:4",{"_index":20144,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:7",{"_index":20145,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["foundaccount.systemid",{"_index":992,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{}}}],["foundaccounts",{"_index":492,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/KeycloakMigrationService.html":{}}}],["foundation",{"_index":25042,"title":{},"body":{"license.html":{}}}],["foundentry",{"_index":6137,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.name",{"_index":6197,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.value",{"_index":6194,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry?.value",{"_index":6191,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundparameter",{"_index":6181,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundpseudonym",{"_index":18501,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundpseudonym.userid",{"_index":18503,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundschool",{"_index":20438,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundschool.id",{"_index":20440,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundtools",{"_index":16963,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools.length",{"_index":16965,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools[0",{"_index":16968,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundusers",{"_index":979,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["foundusers.length",{"_index":993,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["foundusers[0].id.tostring",{"_index":999,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["free",{"_index":1625,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["freedom",{"_index":25060,"title":{},"body":{"license.html":{}}}],["freejoin",{"_index":2323,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["freeport",{"_index":24896,"title":{},"body":{"dependencies.html":{}}}],["freuen",{"_index":5582,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["friendly",{"_index":8344,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["friendlyurl",{"_index":8171,"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":24484,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["from.options",{"_index":24740,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.permission",{"_index":24738,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.url",{"_index":24739,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["fromcookie",{"_index":14457,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromcookie(name",{"_index":14458,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromgroup",{"_index":12742,"title":{},"body":{"classes/GridElement.html":{}}}],["fromgroup(title",{"_index":8523,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedgroup",{"_index":12743,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedgroup(id",{"_index":8521,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedreference",{"_index":12744,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedreference(id",{"_index":8520,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["fromsinglereference",{"_index":12745,"title":{},"body":{"classes/GridElement.html":{}}}],["fromsinglereference(reference",{"_index":8522,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["front",{"_index":15993,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["frontchannel",{"_index":17161,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["frontchannel_logout_uri",{"_index":8174,"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":8321,"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":12157,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["fs.readfile(this.inputfiles.accountsfile",{"_index":15022,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfile(this.inputfiles.usersfile",{"_index":15024,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfilesync(filepath).tostring",{"_index":18874,"title":{},"body":{"classes/ReferencesService.html":{}}}],["fs.rm",{"_index":12170,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fsp",{"_index":12155,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fulfil",{"_index":26208,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fulfill",{"_index":25850,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fulfilling",{"_index":25214,"title":{},"body":{"license.html":{}}}],["fulfills",{"_index":26031,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["fulfils",{"_index":26485,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["full",{"_index":2856,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["full_path",{"_index":18966,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullname",{"_index":2256,"title":{},"body":{"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["fullpath",{"_index":18939,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullscreen",{"_index":11728,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["fully",{"_index":15481,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["function",{"_index":527,"title":{},"body":{"classes/AccountFactory.html":{},"modules/AccountModule.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserFactory.html":{},"classes/KeycloakConsole.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["functional",{"_index":7467,"title":{},"body":{"modules/CoreModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["functionalities",{"_index":26255,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["functionality",{"_index":22275,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["functioning",{"_index":25341,"title":{},"body":{"license.html":{}}}],["functions",{"_index":26044,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["funktionen",{"_index":5553,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["further",{"_index":25298,"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":26145,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fut.somefunction",{"_index":26165,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["future",{"_index":1921,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"entities/CourseNews.html":{},"injectables/FileRecordRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["fwu",{"_index":12525,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["fwu_content_s3_connection",{"_index":12580,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["fwulearningcontent",{"_index":12620,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["fwulearningcontentscontroller",{"_index":12520,"title":{"controllers/FwuLearningContentsController.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsmodule",{"_index":12555,"title":{"modules/FwuLearningContentsModule.html":{}},"body":{"modules/FwuLearningContentsModule.html":{}}}],["fwulearningcontentstestmodule",{"_index":12566,"title":{"modules/FwuLearningContentsTestModule.html":{}},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsuc",{"_index":12530,"title":{"injectables/FwuLearningContentsUc.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["g",{"_index":7367,"title":{},"body":{"injectables/CopyFilesService.html":{},"additional-documentation/nestjs-application.html":{}}}],["g.test(filename",{"_index":22501,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["gates",{"_index":25766,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["gatewayport",{"_index":22574,"title":{},"body":{"classes/TestConnection.html":{}}}],["gc",{"_index":22853,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["gcenabled",{"_index":24760,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["geburt",{"_index":19667,"title":{},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["general",{"_index":11716,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/SystemRule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["generall",{"_index":2534,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["generally",{"_index":25178,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate",{"_index":550,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate(payload",{"_index":18113,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatearray",{"_index":3831,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatearray(length",{"_index":3843,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatebrokersystems",{"_index":15495,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatebrokersystems(systems",{"_index":15501,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatechecksum",{"_index":2329,"title":{},"body":{"injectables/BBBService.html":{}}}],["generatechecksum(callname",{"_index":2351,"title":{},"body":{"injectables/BBBService.html":{}}}],["generateconfig",{"_index":13626,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generateconfig(oauthclientid",{"_index":13634,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generated",{"_index":7289,"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":2595,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedid.tohexstring",{"_index":2598,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedsystem",{"_index":15538,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.id",{"_index":15540,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig",{"_index":15541,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.idphint",{"_index":15542,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.redirecturi",{"_index":15544,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generateemptydashboard",{"_index":8788,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generateemptydashboard(userid",{"_index":8801,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generategroupfoldername",{"_index":16878,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupfoldername(teamid",{"_index":16890,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid",{"_index":16879,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid(dto",{"_index":16894,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generatejwt",{"_index":1688,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatejwt(user",{"_index":1698,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatelaunchrequest",{"_index":23290,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatelaunchrequest(toollaunchdata",{"_index":23295,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatepreview",{"_index":18032,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(@rabbitpayload",{"_index":18045,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generatepreview(params",{"_index":18078,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(payload",{"_index":18036,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generates",{"_index":16892,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generateseeddata",{"_index":5212,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generateseeddata((s",{"_index":5289,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generatesharetoken",{"_index":22973,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generating",{"_index":25774,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["generator",{"_index":556,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generator.builder",{"_index":18084,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.builder.ts",{"_index":18027,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.builder.ts:6",{"_index":18029,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.consumer",{"_index":18054,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["generator.consumer.ts",{"_index":18031,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:10",{"_index":18035,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:20",{"_index":18038,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.service",{"_index":18042,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/ShareTokenService.html":{}}}],["generator.service.ts",{"_index":18066,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/TokenGenerator.html":{}}}],["generator.service.ts:12",{"_index":18072,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:18",{"_index":18079,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:40",{"_index":18074,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:50",{"_index":18076,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:56",{"_index":18081,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:7",{"_index":22974,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generator/interface/preview",{"_index":18015,"title":{},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["generator/interface/preview.ts",{"_index":18018,"title":{},"body":{"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["generator/loggable/preview",{"_index":17988,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["generator/preview",{"_index":18026,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["generator/preview.producer.ts",{"_index":18111,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:11",{"_index":18112,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:23",{"_index":18114,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatorfn",{"_index":557,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generell",{"_index":26468,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["generic",{"_index":25815,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["genericdata",{"_index":1077,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["genericsortfunction",{"_index":20938,"title":{},"body":{"classes/SortHelper.html":{}}}],["genericsortfunction(a",{"_index":20939,"title":{},"body":{"classes/SortHelper.html":{}}}],["geogebra",{"_index":6216,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["get('*/:fwulearningcontent",{"_index":12528,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get('/:contexttype/:contextid",{"_index":23385,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:contexttype/:contextid')@apioperation({summary",{"_index":23377,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:externaltoolid/logo",{"_index":23195,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/logo')@apioperation({summary",{"_index":23160,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata",{"_index":23203,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata')@apioperation({summary",{"_index":23165,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:groupid",{"_index":12840,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:groupid')@apioperation({summary",{"_index":12822,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:schoolexternaltoolid/metadata",{"_index":23479,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/:schoolexternaltoolid/metadata')@apioperation({summary",{"_index":23447,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/:schoolid/systems/:systemid/provisioning",{"_index":19863,"title":{},"body":{"controllers/SchoolController.html":{}}}],["get('/class",{"_index":12833,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/edit/:contentid/:language",{"_index":13352,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:contentid/:language')@apiresponse({status",{"_index":13266,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language",{"_index":13346,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language')@apiresponse({status",{"_index":13273,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/play/:contentid",{"_index":13306,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get(':boardid",{"_index":3251,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':boardid/context",{"_index":3255,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':contextexternaltoolid",{"_index":23127,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apinotfoundresponse()@apiokresponse({description",{"_index":23103,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid",{"_index":23122,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid')@apiforbiddenresponse()@apiunauthorizedresponse()@apiokresponse({description",{"_index":23108,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid/available",{"_index":23019,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get(':courseid/export",{"_index":7635,"title":{},"body":{"controllers/CourseController.html":{}}}],["get(':externaltoolid",{"_index":23185,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':externaltoolid')@apioperation({summary",{"_index":23157,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':id",{"_index":405,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':id')@apioperation({summary",{"_index":351,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':newsid",{"_index":16606,"title":{},"body":{"controllers/NewsController.html":{}}}],["get(':pseudonym",{"_index":18404,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':pseudonym')@apifoundresponse({description",{"_index":18392,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':requestid",{"_index":9587,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':requestid')@httpcode(200)@apioperation({summary",{"_index":9579,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':roomid/board",{"_index":19391,"title":{},"body":{"controllers/RoomsController.html":{}}}],["get(':schoolexternaltoolid",{"_index":23466,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23451,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':scope/:scopeid",{"_index":24580,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid')@apioperation({summary",{"_index":24558,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid/end",{"_index":24471,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/end')@apioperation({summary",{"_index":24427,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info",{"_index":24468,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info')@apioperation({summary",{"_index":24433,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join",{"_index":24465,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join')@apioperation({summary",{"_index":24437,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':submissioncontainerid",{"_index":4074,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["get(':teamid/news",{"_index":22328,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["get(':token",{"_index":20709,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["get('ajax",{"_index":13257,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('auth/:oauthclientid",{"_index":17659,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/:oauthclientid')@authenticate('jwt",{"_index":17645,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/sessions/consent",{"_index":17494,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('baseurl",{"_index":17426,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients",{"_index":17462,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients/:id",{"_index":17459,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('consentrequest/:challenge",{"_index":17487,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('content/:id/:filename",{"_index":13260,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('context",{"_index":23027,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["get('context/:contextexternaltoolid/launch",{"_index":23219,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('context/:contextexternaltoolid/launch')@apioperation({summary",{"_index":23209,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('finished",{"_index":21793,"title":{},"body":{"controllers/TaskController.html":{}}}],["get('hydra/:oauthclientid",{"_index":17653,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('hydra/:oauthclientid')@authenticate('jwt",{"_index":17642,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('libraries/:ubername/:file",{"_index":13270,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('loginrequest/:challenge",{"_index":17422,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('me",{"_index":23601,"title":{},"body":{"controllers/UserController.html":{}}}],["get('params/:id",{"_index":13263,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('public",{"_index":21467,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public')@apioperation({summary",{"_index":21453,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid",{"_index":21473,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid')@apioperation({summary",{"_index":21459,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('school",{"_index":23033,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('school/:schoolid/available",{"_index":23024,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('schools/:schoolid",{"_index":23875,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('schools/:schoolid')@apiforbiddenresponse()@apiokresponse({description",{"_index":23819,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('status/task/:taskid",{"_index":21131,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["get('temp",{"_index":13282,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('unassigned",{"_index":14018,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["get()@apiforbiddenresponse()@apioperation({summary",{"_index":23825,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get()@apifoundresponse({description",{"_index":23153,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["get()@apioperation({summary",{"_index":367,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(`${this.options.uri}${path",{"_index":1168,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":12076,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["get(id",{"_index":11469,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["get(path",{"_index":1164,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/CalendarService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{}}}],["get(req",{"_index":12526,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get(subpath",{"_index":1636,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["get(url",{"_index":13636,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["get/post",{"_index":13319,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getadditionalerrorinfo",{"_index":14383,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadditionalerrorinfo(email",{"_index":14389,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadminidandtoken",{"_index":1178,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getadminuser",{"_index":14545,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getajax",{"_index":13240,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(@query",{"_index":13333,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(query",{"_index":13256,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getall",{"_index":15754,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["getallaccounts",{"_index":13909,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getallcontents",{"_index":13225,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["getalternativetext",{"_index":11558,"title":{},"body":{"classes/FileElement.html":{}}}],["getancestorids",{"_index":3642,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getancestorids(boarddo",{"_index":3664,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getandpseudonyms",{"_index":11361,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getandpseudonyms(users",{"_index":11377,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getapiresponsetimemetriclabels",{"_index":18968,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getapiresponsetimemetriclabels(req",{"_index":18984,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getasadmin(path",{"_index":1162,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getauthtoken",{"_index":19132,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getavailabletoolsforcontext",{"_index":10253,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(currentuser",{"_index":23018,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(userid",{"_index":10264,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getavailabletoolsforschool",{"_index":10254,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(currentuser",{"_index":23023,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(userid",{"_index":10266,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getbaseurl",{"_index":2375,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig",{"_index":2330,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig(presentationurl",{"_index":2360,"title":{},"body":{"injectables/BBBService.html":{}}}],["getboard",{"_index":19444,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboard(roomid",{"_index":19448,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboardauthorizable",{"_index":3443,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardauthorizable(boarddo",{"_index":3449,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardcontext",{"_index":3207,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardcontext(urlparams",{"_index":3225,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardobjecttitlesbyid",{"_index":5509,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardobjecttitlesbyid(boardids",{"_index":5525,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardskeleton",{"_index":3208,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardskeleton(urlparams",{"_index":3229,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardvalue",{"_index":2015,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getboardvalue(elementid",{"_index":2022,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getbydraftforcreatorquery",{"_index":22125,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftforcreatorquery(creatorid",{"_index":22142,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery",{"_index":22126,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery(isdraft",{"_index":22144,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbyid(externaltoolpseudonymentity.name",{"_index":10681,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["getbyid(pseudonymentity.name",{"_index":18521,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["getbytargetid(id",{"_index":2974,"title":{},"body":{"entities/Board.html":{}}}],["getcaption",{"_index":11556,"title":{},"body":{"classes/FileElement.html":{}}}],["getcards",{"_index":4369,"title":{},"body":{"controllers/CardController.html":{}}}],["getcards(currentuser",{"_index":4383,"title":{},"body":{"controllers/CardController.html":{}}}],["getchildren",{"_index":3086,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["getchildren(boardnode",{"_index":3553,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["getclientid",{"_index":14546,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getclientsecret",{"_index":14547,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getcollectdefaultmetrics",{"_index":18183,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcollectionnames",{"_index":8912,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getcollectmetricsroutemetrics",{"_index":18185,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcompleted",{"_index":21167,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["getconfigurationtemplateforcontext",{"_index":23016,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforcontext(currentuser",{"_index":23026,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool",{"_index":23017,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool(currentuser",{"_index":23032,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconsentrequest",{"_index":17368,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(@param",{"_index":17488,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getconsentrequest(challenge",{"_index":17375,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(params",{"_index":17418,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getcontent",{"_index":8502,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getcontentfile",{"_index":13241,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentfile(params",{"_index":13259,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters",{"_index":13242,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(@param('id",{"_index":13325,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(id",{"_index":13262,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontext",{"_index":5437,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["getcontextexternaltool",{"_index":7086,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(currentuser",{"_index":23102,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(userid",{"_index":7098,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcontextexternaltoolid",{"_index":10332,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["getcontextexternaltoolsforcontext",{"_index":7087,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(currentuser",{"_index":23107,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(userid",{"_index":7100,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcopiesforchildrenof",{"_index":18598,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopiesforchildrenof(original",{"_index":18606,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopyname",{"_index":21872,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopyname(originaltaskname",{"_index":21884,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopystatusesforchildrenof",{"_index":18599,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopystatusesforchildrenof(original",{"_index":18608,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcoursegroupitems",{"_index":7611,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getcoursegroupstudentids",{"_index":21058,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getcoursesfromuserspseudonym",{"_index":11362,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getcoursesfromuserspseudonym(pseudonym",{"_index":11379,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getcoursevalue",{"_index":2016,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcoursevalue(courseid",{"_index":2025,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcreatedat",{"_index":3088,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["getcurrentschoolyear",{"_index":20457,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["getdashboardbyid",{"_index":8773,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdashboardbyid(id",{"_index":8779,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdata",{"_index":14384,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(input",{"_index":14391,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(systemid",{"_index":18317,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getdatabasecollection",{"_index":8913,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdatabasecollection(collectionname",{"_index":8926,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdb",{"_index":8930,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdefaultmaxduedate",{"_index":22181,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getdefaultmetadata",{"_index":117,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdefaultmetadata(url",{"_index":126,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdeleteafter",{"_index":9391,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getdeletedcount",{"_index":9228,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdeletionclientconfig",{"_index":9142,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["getdeletionrequestid",{"_index":9230,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdescription",{"_index":9667,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["getdestinationcourse",{"_index":21873,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationcourse(courseid",{"_index":21888,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson",{"_index":21874,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson(lessonid",{"_index":21890,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdisplayname",{"_index":24280,"title":{},"body":{"injectables/UserService.html":{}}}],["getdisplayname(user",{"_index":24293,"title":{},"body":{"injectables/UserService.html":{}}}],["getdocnamefromrequest",{"_index":22795,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdocnamefromrequest(request",{"_index":22800,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdomain",{"_index":9222,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getduedate",{"_index":21092,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["getelement",{"_index":8447,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getelement(position",{"_index":8472,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getelements",{"_index":2977,"title":{},"body":{"entities/Board.html":{}}}],["getelementwithwritepermission",{"_index":9873,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getelementwithwritepermission(userid",{"_index":9880,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getentityname",{"_index":766,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["getentitypermissions",{"_index":11310,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getentitypermissions(userid",{"_index":11318,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["geteol",{"_index":12153,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["getestet",{"_index":5559,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getexternalid",{"_index":630,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalid(id",{"_index":637,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalsource",{"_index":12782,"title":{},"body":{"classes/Group.html":{}}}],["getexternalsubclientmapperconfiguration",{"_index":14629,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getexternaltool",{"_index":11109,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["getexternaltool(currentuser",{"_index":23156,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltool(userid",{"_index":11120,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getexternaltoolbinarylogo",{"_index":10433,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoolbinarylogo(toolid",{"_index":10445,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoollogo",{"_index":23140,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(@param",{"_index":23196,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(params",{"_index":23159,"title":{},"body":{"controllers/ToolController.html":{}}}],["getfile",{"_index":7312,"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":22462,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileinfo(filename",{"_index":22474,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath",{"_index":22463,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath(userid",{"_index":22476,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileresponse",{"_index":12050,"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":12330,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(@rabbitpayload",{"_index":12356,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(payload",{"_index":12341,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilestats",{"_index":22464,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestats(filename",{"_index":22478,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream",{"_index":22465,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream(filename",{"_index":22479,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilteredgroupusers",{"_index":17735,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfilteredgroupusers(externalgroup",{"_index":17746,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfinisheduserids",{"_index":21704,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getfirstopenindex",{"_index":8448,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getflowexecutionsrequest",{"_index":14703,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getflowsrequest",{"_index":14693,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getformat",{"_index":18008,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getformat(previewparams.outputformat",{"_index":18010,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getfwulearningcontentparams",{"_index":12527,"title":{"classes/GetFwuLearningContentParams.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{}}}],["getgradedsubmissions",{"_index":21730,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getgradelevel",{"_index":4610,"title":{},"body":{"classes/Class.html":{}}}],["getgrid",{"_index":8449,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getgroup",{"_index":11363,"title":{},"body":{"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{}}}],["getgroup(courseid",{"_index":11381,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getgroup(currentuser",{"_index":12820,"title":{},"body":{"controllers/GroupController.html":{}}}],["getgroupdata(groupname",{"_index":1144,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmembers(groupname",{"_index":1142,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmoderators(groupname",{"_index":1140,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupuser",{"_index":17736,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getgroupuser(externalgroupuser",{"_index":17749,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["geth5pcontentparams",{"_index":12627,"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":13243,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(@param",{"_index":13353,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(params",{"_index":13265,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditorparams",{"_index":12634,"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":12633,"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":12607,"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":4353,"title":{},"body":{"classes/Card.html":{}}}],["gethello",{"_index":20530,"title":{},"body":{"classes/ServerConsole.html":{},"controllers/ServerController.html":{}}}],["gethydraoauthtoken",{"_index":17638,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["gethydraoauthtoken(query",{"_index":17640,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getid",{"_index":8450,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DomainObject.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getidpmapperconfiguration",{"_index":14630,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getidpmapperconfiguration(idpalias",{"_index":14657,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getiframesubject",{"_index":18451,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getiframesubject(pseudonym",{"_index":18470,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getimageurl",{"_index":15793,"title":{},"body":{"classes/LinkElement.html":{}}}],["getinout",{"_index":20531,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinout(whatever",{"_index":20534,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinputformat",{"_index":19076,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getinstance",{"_index":9704,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["getinternalid",{"_index":631,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinternalid(id",{"_index":645,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinvitationlink",{"_index":4606,"title":{},"body":{"classes/Class.html":{}}}],["getisenabled",{"_index":18177,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getitems",{"_index":23709,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["getjwtfromresponse",{"_index":22525,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getjwtfromresponse(response",{"_index":1677,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getlaunchdata",{"_index":23291,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getlaunchdata(userid",{"_index":23297,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getldapconfig",{"_index":21428,"title":{},"body":{"classes/System.html":{}}}],["getldapdn",{"_index":4612,"title":{},"body":{"classes/Class.html":{}}}],["getlessoncomponents",{"_index":6262,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonlinkedtasks",{"_index":6263,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonmaterials",{"_index":6264,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlibrary",{"_index":13313,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile",{"_index":12645,"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":13320,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile(params",{"_index":13268,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile.ts",{"_index":12647,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["getlogindata",{"_index":16007,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getlogindata(userinfo",{"_index":16010,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getloginrequest",{"_index":17407,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(@param",{"_index":17476,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginrequest(challenge",{"_index":17531,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(params",{"_index":17421,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getlogmessage",{"_index":1426,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["getmaildomain",{"_index":16232,"title":{},"body":{"injectables/MailService.html":{}}}],["getmaildomain(mail",{"_index":16238,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["getmaxsubmissions",{"_index":21711,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getmeetinginfo",{"_index":2331,"title":{},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["getmeetinginfo(config",{"_index":2362,"title":{},"body":{"injectables/BBBService.html":{}}}],["getmeetinginfo(currentuserid",{"_index":24609,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getmetadata",{"_index":4174,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{},"classes/UsersList.html":{}}}],["getmetadata(schoolexternaltoolid",{"_index":19987,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["getmetadata(toolid",{"_index":10532,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["getmetadata(url",{"_index":4177,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["getmetadata(userid",{"_index":16436,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["getmetadataforexternaltool",{"_index":11110,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(currentuser",{"_index":23164,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(userid",{"_index":11122,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool",{"_index":20106,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool(userid",{"_index":20119,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadatastorage",{"_index":9944,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getmetatagdatabody",{"_index":12648,"title":{"classes/GetMetaTagDataBody.html":{}},"body":{"classes/GetMetaTagDataBody.html":{},"controllers/MetaTagExtractorController.html":{}}}],["getmetatags",{"_index":16338,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmetatags(currentuser",{"_index":16339,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmigrations",{"_index":23805,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["getmigrations(user",{"_index":23823,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["getmigrations(userid",{"_index":24083,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["getmodifiedcount",{"_index":9226,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getname",{"_index":4598,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/ParentInfo.html":{}}}],["getnewh5peditor",{"_index":13244,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(@param",{"_index":13347,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(params",{"_index":13272,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewspermissions",{"_index":16793,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnewspermissions(userid",{"_index":16807,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnumberofdrafttasks",{"_index":6258,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofplannedtasks",{"_index":6260,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofpublishedtasks",{"_index":6253,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getoauth2client",{"_index":17337,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getoauth2client(currentuser",{"_index":17346,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["getoauth2client(id",{"_index":17607,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["getoauthconfig",{"_index":13896,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["getoauthtoken",{"_index":13561,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getoauthtoken(oauthclientid",{"_index":13568,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getobjectcommand",{"_index":19560,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["getobjectreference",{"_index":731,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getobjectreference(entityname",{"_index":748,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getoperation",{"_index":9224,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getorconstructdashboardmodelentity",{"_index":8689,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorconstructdashboardmodelentity(entity",{"_index":8703,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorcreatecourseboard",{"_index":3986,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorcreatecourseboard(courseid",{"_index":3993,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorganization",{"_index":6014,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getorganizationid",{"_index":12784,"title":{},"body":{"classes/Group.html":{}}}],["getparametervalue",{"_index":2752,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparametervalue(customparameter",{"_index":2789,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparent",{"_index":6247,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentdata",{"_index":21758,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentemailsfromuser",{"_index":24203,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentemailsfromuser(userid",{"_index":24212,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentinfo",{"_index":11907,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpath",{"_index":22526,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getpath(routenameinput",{"_index":1669,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getperformedat",{"_index":9232,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getperformeddeletiondetails",{"_index":9568,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(@param('requestid",{"_index":9589,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(requestid",{"_index":9578,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getpermittedcourses",{"_index":22182,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedcourses(user",{"_index":22197,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedentities",{"_index":11311,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedentities(userid",{"_index":11320,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedlessonids",{"_index":22239,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons",{"_index":22183,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons(user",{"_index":22200,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedschools",{"_index":11273,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedschools(userid",{"_index":11279,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedtargets",{"_index":11274,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getpermittedtargets(userid",{"_index":11281,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getplayer",{"_index":13245,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(@currentuser",{"_index":13307,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(currentuser",{"_index":13275,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getport",{"_index":18181,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getpresentationurl",{"_index":2379,"title":{},"body":{"injectables/BBBService.html":{}}}],["getpreviewfile",{"_index":18122,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewfile(params",{"_index":18132,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname",{"_index":18137,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname(filerecord",{"_index":18151,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewstatus",{"_index":11908,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpropertyvalue",{"_index":9940,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getpropertyvalue(e",{"_index":9949,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getprops",{"_index":1773,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SchoolSystemOptions.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["getprotectedroles",{"_index":19264,"title":{},"body":{"injectables/RoleService.html":{}}}],["getprovisioningoptions",{"_index":19859,"title":{},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["getprovisioningoptions(currentuser",{"_index":19861,"title":{},"body":{"controllers/SchoolController.html":{}}}],["getprovisioningoptions(provisioningoptionsconstructor",{"_index":20397,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["getprovisioningoptions(userid",{"_index":20413,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["getprovisioningoptionsordefault",{"_index":17737,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getprovisioningoptionsordefault(schoolid",{"_index":17752,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getprovisioningstrategy",{"_index":18307,"title":{},"body":{"injectables/ProvisioningService.html":{},"classes/System.html":{}}}],["getprovisioningstrategy(systemstrategy",{"_index":18319,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getpseudonym",{"_index":18369,"title":{},"body":{"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{}}}],["getpseudonym(params",{"_index":18390,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["getpublickey",{"_index":8039,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["getpublickey(jwksuri",{"_index":17118,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["getquery",{"_index":20486,"title":{},"body":{"classes/Scope.html":{}}}],["getrcid",{"_index":19130,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getreferences",{"_index":8507,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getreferencesfromposition",{"_index":8451,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getreferencesfromposition(position",{"_index":8480,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getrepository",{"_index":18452,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrepository(tool",{"_index":18472,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrequiredpermissions",{"_index":16794,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequiredpermissions(unpublished",{"_index":16811,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequireduserrole",{"_index":3421,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["getresolveduser",{"_index":24281,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolveduser(userid",{"_index":24296,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolvedvalues",{"_index":3322,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresolvedvalues(results",{"_index":3368,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresources",{"_index":6016,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getresponse",{"_index":1356,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["getroomboard",{"_index":19381,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroomboard(urlparams",{"_index":19390,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroute",{"_index":18179,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["gets",{"_index":533,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["getsalt",{"_index":2377,"title":{},"body":{"injectables/BBBService.html":{}}}],["getschemapath",{"_index":4065,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"controllers/SchoolController.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(basictoolconfigparams",{"_index":10328,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(drawingelementcontentbody",{"_index":9661,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(drawingelementresponse",{"_index":4432,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(externaltoolelementcontentbody",{"_index":9660,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(externaltoolelementresponse",{"_index":4429,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(fileelementcontentbody",{"_index":9656,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(fileelementresponse",{"_index":4088,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(linkelementcontentbody",{"_index":9657,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(linkelementresponse",{"_index":4430,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(lti11toolconfigcreateparams",{"_index":10329,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(lti11toolconfigupdateparams",{"_index":11152,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(oauth2toolconfigcreateparams",{"_index":10330,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(oauth2toolconfigupdateparams",{"_index":11153,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(richtextelementcontentbody",{"_index":9658,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(richtextelementresponse",{"_index":4087,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(schulconnexprovisioningoptionsresponse",{"_index":19884,"title":{},"body":{"controllers/SchoolController.html":{}}}],["getschemapath(submissioncontainerelementcontentbody",{"_index":9659,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(submissioncontainerelementresponse",{"_index":4431,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschool",{"_index":22402,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["getschoolbyexternalid",{"_index":15440,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyexternalid(externalid",{"_index":15447,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid",{"_index":15441,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid(id",{"_index":15449,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber",{"_index":15442,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber(schoolnumber",{"_index":15451,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolexternaltool",{"_index":20107,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(currentuser",{"_index":23450,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(userid",{"_index":20121,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getschoolexternaltools",{"_index":23439,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltools(currentuser",{"_index":23453,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolformigration",{"_index":20198,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolformigration(userid",{"_index":20210,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolid",{"_index":4600,"title":{},"body":{"classes/Class.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"classes/SchoolSystemOptions.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getschoolname",{"_index":17738,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getschoolname(externalschool",{"_index":17754,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getsecuritytoken",{"_index":11881,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getseedfolder",{"_index":5235,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["getservice",{"_index":11485,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["getservice(path",{"_index":11476,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["getshorttitle",{"_index":7615,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["getsource",{"_index":4616,"title":{},"body":{"classes/Class.html":{}}}],["getsourceoptions",{"_index":4618,"title":{},"body":{"classes/Class.html":{}}}],["getstatus",{"_index":9395,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getstoretype",{"_index":4256,"title":{},"body":{"injectables/CacheService.html":{}}}],["getstudentids",{"_index":6231,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["getstudentslist",{"_index":7599,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubmissionitems",{"_index":4042,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmissionitems(currentuser",{"_index":4053,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["getsubmittedsubmissions",{"_index":21726,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmitterids",{"_index":21076,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getsubstitutionteacherids",{"_index":7592,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubstitutionteacherslist",{"_index":7605,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsuccessor",{"_index":4614,"title":{},"body":{"classes/Class.html":{}}}],["getsystem",{"_index":21445,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(@param",{"_index":21474,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(params",{"_index":21458,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystemid",{"_index":20316,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["gettargetfilters",{"_index":16795,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfilters(userid",{"_index":16814,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfolder(toseedfolder",{"_index":5237,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["gettargetrefdomain",{"_index":9389,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettargetrefid",{"_index":9393,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettasksitems",{"_index":6248,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getteacherids",{"_index":4604,"title":{},"body":{"classes/Class.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteacherslist",{"_index":7603,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteammemberids",{"_index":21061,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["gettempfile",{"_index":13316,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemplateforcontextexternaltool",{"_index":10255,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforcontextexternaltool(userid",{"_index":10268,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool",{"_index":10256,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool(userid",{"_index":10270,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemporaryfile",{"_index":13246,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemporaryfile(currentuser",{"_index":13281,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getter",{"_index":7557,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["gettext",{"_index":19072,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getting",{"_index":24973,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{}}],["gettitle",{"_index":4349,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/LinkElement.html":{}}}],["gettitlesbyids",{"_index":3643,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettitlesbyids(id",{"_index":3666,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettoolcontexttypes",{"_index":10195,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(@currentuser",{"_index":23047,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(currentuser",{"_index":23036,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(userid",{"_index":10272,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettoolid",{"_index":18371,"title":{},"body":{"classes/Pseudonym.html":{}}}],["gettoollaunchrequest",{"_index":23207,"title":{},"body":{"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["gettoollaunchrequest(currentuser",{"_index":23208,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["gettoollaunchrequest(userid",{"_index":23330,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["gettoolreference",{"_index":23369,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreference(contextexternaltoolid",{"_index":23412,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["gettoolreference(currentuser",{"_index":23371,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreference(userid",{"_index":23422,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext",{"_index":23370,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext(currentuser",{"_index":23376,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreferencesforcontext(userid",{"_index":23424,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettspuid",{"_index":4844,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["gettype",{"_index":12786,"title":{},"body":{"classes/Group.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getunitofwork",{"_index":10680,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["getupdatedat",{"_index":3090,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["geturl",{"_index":1295,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/LinkElement.html":{},"controllers/OauthProviderController.html":{}}}],["geturl(callname",{"_index":2364,"title":{},"body":{"injectables/BBBService.html":{}}}],["geturl(path",{"_index":1305,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["getuser",{"_index":11275,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/TeamUserEntity.html":{},"injectables/UserService.html":{}}}],["getuser(id",{"_index":24298,"title":{},"body":{"injectables/UserService.html":{}}}],["getuser(userid",{"_index":11283,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserattribute",{"_index":13910,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getuserattribute(userid",{"_index":13930,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getusergroups",{"_index":11364,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusergroups(pseudonym",{"_index":11384,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getuserid",{"_index":8452,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionItem.html":{}}}],["getuserids",{"_index":4602,"title":{},"body":{"classes/Class.html":{}}}],["getuserlist(querystring",{"_index":1120,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getusername",{"_index":19128,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getuserparams",{"_index":23579,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["getuserparams(params",{"_index":707,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["getuserrole",{"_index":11365,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getuserrole(user",{"_index":11386,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusers",{"_index":3419,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"classes/Group.html":{}}}],["getuserschoolpermissions",{"_index":11276,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserschoolpermissions(userid",{"_index":11285,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getusersdashboard",{"_index":8774,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersdashboard(userid",{"_index":8781,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersmetadata",{"_index":11366,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusersmetadata(pseudonym",{"_index":11388,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusertargetpermissions",{"_index":11277,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["getusertargetpermissions(userid",{"_index":11287,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserwithpermissions",{"_index":1969,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getuserwithpermissions(userid",{"_index":1978,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getvalue",{"_index":2003,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getvalue(schoolexternaltool",{"_index":2004,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getversion",{"_index":6688,"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":24607,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getvideoconferenceoptions(scope",{"_index":24611,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getwellknownurl",{"_index":14548,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getwsurl",{"_index":22568,"title":{},"body":{"classes/TestConnection.html":{}}}],["getydoc",{"_index":22843,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydoc(docname",{"_index":22852,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydocfrommdb",{"_index":22633,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getydocfrommdb(docname",{"_index":22640,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getyear",{"_index":4608,"title":{},"body":{"classes/Class.html":{}}}],["ghcr.io/hpi",{"_index":25704,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ghcr.io/soluto/oidc",{"_index":26278,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["gi",{"_index":16554,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["gid",{"_index":12933,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["git",{"_index":24980,"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":24908,"title":{},"body":{"dependencies.html":{}}}],["git://github.com/leeroybrun/mongoose",{"_index":24924,"title":{},"body":{"dependencies.html":{}}}],["github",{"_index":24976,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["give",{"_index":25245,"title":{},"body":{"license.html":{}}}],["given",{"_index":329,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/FilterUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["givenname",{"_index":15130,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["gives",{"_index":9116,"title":{},"body":{"injectables/DeletionClient.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["giving",{"_index":25251,"title":{},"body":{"license.html":{}}}],["global",{"_index":7472,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["globalconstants",{"_index":12653,"title":{"interfaces/GlobalConstants.html":{}},"body":{"interfaces/GlobalConstants.html":{}}}],["globalerrorfilter",{"_index":10028,"title":{"classes/GlobalErrorFilter.html":{}},"body":{"modules/ErrorModule.html":{},"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["globally",{"_index":14335,"title":{},"body":{"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["globalparameter",{"_index":8338,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["globals",{"_index":12656,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["globalsetup",{"_index":25934,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalteardown",{"_index":25935,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalvalidationpipe",{"_index":12723,"title":{"classes/GlobalValidationPipe.html":{}},"body":{"classes/GlobalValidationPipe.html":{},"modules/ValidationModule.html":{}}}],["gm",{"_index":18083,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"dependencies.html":{}}}],["gnu",{"_index":25035,"title":{},"body":{"license.html":{}}}],["go",{"_index":2934,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["goal",{"_index":25661,"title":{},"body":{"todo.html":{}}}],["goals",{"_index":25103,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["golevelup",{"_index":26142,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["golevelup/nestjs",{"_index":1310,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"dependencies.html":{}}}],["golevelup/ts",{"_index":22551,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["gonna",{"_index":25835,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["good",{"_index":15248,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["governed",{"_index":25367,"title":{},"body":{"license.html":{}}}],["gpl",{"_index":25104,"title":{},"body":{"license.html":{}}}],["grace",{"_index":23836,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["graceperiodduration",{"_index":24058,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["grade",{"_index":16303,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/TargetGroupProperties.html":{}}}],["gradecomment",{"_index":21027,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["graded",{"_index":4116,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradedsubmissions",{"_index":21731,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradelevel",{"_index":4592,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["grant",{"_index":1493,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/TokenRequestMapper.html":{},"license.html":{}}}],["grant_access_token_audience",{"_index":166,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_scope",{"_index":167,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_type",{"_index":1497,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/TokenRequestMapper.html":{}}}],["grant_types",{"_index":17155,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["granted",{"_index":25186,"title":{},"body":{"license.html":{}}}],["grants",{"_index":25425,"title":{},"body":{"license.html":{}}}],["granttype",{"_index":13703,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["graph",{"_index":16405,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["gratis",{"_index":25297,"title":{},"body":{"license.html":{}}}],["greatest",{"_index":25587,"title":{},"body":{"license.html":{}}}],["grep",{"_index":26326,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["grid",{"_index":7853,"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":8789,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["gridelement",{"_index":8512,"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":8729,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.fromsinglereference(referenceforindex",{"_index":8588,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.fromsinglereference(room",{"_index":8579,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.getcontent().title",{"_index":8753,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.getid",{"_index":8746,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.hasid",{"_index":8744,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.isgroup",{"_index":8751,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.setgroupname(params",{"_index":8839,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["gridelementcontent",{"_index":8503,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelements",{"_index":8617,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{}}}],["gridelementwithposition",{"_index":8478,"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":8453,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["gridindexfromposition(pos",{"_index":8484,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridposition",{"_index":8473,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridpositionwithgroupindex",{"_index":8481,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["group",{"_index":1065,"title":{"classes/Group.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchGroupParams.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["group(props",{"_index":12955,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group(savedprops",{"_index":12969,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.adduser(self",{"_index":17834,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.dto",{"_index":17287,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["group.dto.ts",{"_index":10077,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:10",{"_index":19007,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:11",{"_index":10084,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:12",{"_index":19008,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:13",{"_index":10081,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:14",{"_index":19004,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:15",{"_index":10086,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:16",{"_index":19003,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:17",{"_index":10079,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:5",{"_index":10080,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:6",{"_index":19005,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:7",{"_index":10082,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:8",{"_index":19006,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:9",{"_index":10087,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.externalsource",{"_index":12986,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.getprops",{"_index":12876,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["group.gruppe.bezeichnung",{"_index":19843,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.id",{"_index":19844,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppenzugehoerigkeit.rollen",{"_index":19838,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.id",{"_index":12983,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.isempty",{"_index":17859,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.module",{"_index":12808,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["group.name",{"_index":1148,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["group.organizationid",{"_index":12988,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.params.ts",{"_index":17919,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.params.ts:14",{"_index":17921,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.removeuser(user",{"_index":17858,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.rule",{"_index":15674,"title":{},"body":{"injectables/LessonRule.html":{}}}],["group.rule.ts",{"_index":7811,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:11",{"_index":7814,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:17",{"_index":7813,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:8",{"_index":7812,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.scope",{"_index":12952,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.sonstige_gruppenzugehoerige",{"_index":19765,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["group.sonstige_gruppenzugehoerige?.filter",{"_index":19766,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.sonstige_gruppenzugehoerige?.length",{"_index":19768,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.type",{"_index":12984,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.users",{"_index":12985,"title":{},"body":{"classes/GroupResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["group_id",{"_index":11404,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["groupapimodule",{"_index":12800,"title":{"modules/GroupApiModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["groupcontroller",{"_index":12807,"title":{"controllers/GroupController.html":{}},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupdata",{"_index":8533,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupdomainmapper",{"_index":12844,"title":{"classes/GroupDomainMapper.html":{}},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapdomainobjecttoentityproperties(domainobject",{"_index":12961,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":12954,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(savedentity",{"_index":12968,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapgroupusertogroupuserentity(groupuser",{"_index":12884,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupelements",{"_index":8627,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["groupentity",{"_index":7545,"title":{"entities/GroupEntity.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"classes/UsersList.html":{}}}],["groupentity(entityprops",{"_index":12963,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupentityprops",{"_index":12854,"title":{"interfaces/GroupEntityProps.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes",{"_index":12866,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{}}}],["groupentitytypes.class",{"_index":12869,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypes.course",{"_index":12871,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypes.other",{"_index":12873,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping",{"_index":12868,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping[entity.type",{"_index":12894,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupfolder",{"_index":16884,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupfolders",{"_index":13147,"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":13151,"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":13149,"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":8511,"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":12821,"title":{"classes/GroupIdParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupIdParams.html":{}}}],["groupids",{"_index":7529,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["groupindex",{"_index":8535,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["groupinfo",{"_index":1129,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupinfo.group._id",{"_index":1133,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["grouping",{"_index":3973,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["groupmetadata",{"_index":8530,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupmodule",{"_index":12804,"title":{"modules/GroupModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/ProvisioningModule.html":{}}}],["groupname",{"_index":1125,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupnameidtuple",{"_index":12931,"title":{"interfaces/GroupNameIdTuple.html":{}},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["grouppaginationparams",{"_index":12812,"title":{"classes/GroupPaginationParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupPaginationParams.html":{}}}],["groupprops",{"_index":12788,"title":{"interfaces/GroupProps.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{}}}],["groupprovisioningclassesenabled",{"_index":18278,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["groupprovisioningcoursesenabled",{"_index":18279,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["groupprovisioningotherenabled",{"_index":18280,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["grouprepo",{"_index":12929,"title":{"injectables/GroupRepo.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["groupresponse",{"_index":12828,"title":{"classes/GroupResponse.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper",{"_index":12829,"title":{"classes/GroupResponseMapper.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper.maptoclassinfostolistresponse",{"_index":12839,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponsemapper.maptogroupresponse(group",{"_index":12843,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponse})@apiresponse({status",{"_index":12824,"title":{},"body":{"controllers/GroupController.html":{}}}],["grouprolemapping",{"_index":19810,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprolemapping[relation.rollen[0",{"_index":19846,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable",{"_index":13029,"title":{"classes/GroupRoleUnknownLoggable.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable(relation",{"_index":19847,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprule",{"_index":1870,"title":{"injectables/GroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/GroupRule.html":{},"injectables/RuleManager.html":{}}}],["groups",{"_index":7510,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupService.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["groups.filter((group",{"_index":19769,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["groups.map((group",{"_index":17881,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["groupscope",{"_index":12951,"title":{"classes/GroupScope.html":{}},"body":{"injectables/GroupRepo.html":{},"classes/GroupScope.html":{}}}],["groupscope().byorganizationid(schoolid).bytypes(groupentitytypes",{"_index":12960,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupscope().byuserid(user.id).bytypes(groupentitytypes",{"_index":12958,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupservice",{"_index":12928,"title":{"injectables/GroupService.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem",{"_index":17849,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem.filter((existinggroupfromsystem",{"_index":17853,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser",{"_index":17852,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser.map(async",{"_index":17857,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["grouptype",{"_index":19833,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping",{"_index":19813,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping[group.gruppe.typ",{"_index":19834,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptyperesponse",{"_index":12976,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.class",{"_index":13002,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.course",{"_index":13003,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.other",{"_index":13004,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptypes",{"_index":10085,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.class",{"_index":12870,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.course",{"_index":12872,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.map((type",{"_index":12956,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["grouptypes.other",{"_index":12874,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypestogroupentitytypesmapping",{"_index":12875,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["grouptypestogroupentitytypesmapping[props.type",{"_index":12880,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["grouptypestogroupentitytypesmapping[type",{"_index":12957,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupuc",{"_index":12805,"title":{},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupucmapper",{"_index":13083,"title":{"classes/GroupUcMapper.html":{}},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser",{"_index":12773,"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":13104,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.roleid",{"_index":12903,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuser.user.lastname",{"_index":13106,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.userid",{"_index":12795,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{}}}],["groupuserentity",{"_index":12862,"title":{"classes/GroupUserEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserentityprops",{"_index":13126,"title":{"interfaces/GroupUserEntityProps.html":{}},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserids",{"_index":16933,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.filter((userid",{"_index":16946,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.includes(userid",{"_index":16952,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserresponse",{"_index":12978,"title":{"classes/GroupUserResponse.html":{}},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{}}}],["groupusers",{"_index":13138,"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":12867,"title":{"classes/GroupValidPeriodEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["groupvalidperiodentityprops",{"_index":13153,"title":{"interfaces/GroupValidPeriodEntityProps.html":{}},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["gruppe",{"_index":19670,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["gruppen",{"_index":19678,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["gruppenzugehoerige",{"_index":19689,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["gruppenzugehoerigkeit",{"_index":19679,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["gt",{"_index":3958,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/NewsScope.html":{}}}],["gte",{"_index":7944,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["guarantee",{"_index":627,"title":{},"body":{"injectables/AccountLookupService.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guard",{"_index":25949,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["guardagainst",{"_index":13156,"title":{"classes/GuardAgainst.html":{}},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined",{"_index":15865,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(account.password",{"_index":15862,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(jwt",{"_index":15860,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(password",{"_index":15870,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(username",{"_index":15869,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guards",{"_index":13163,"title":{},"body":{"classes/GuardAgainst.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guest",{"_index":2257,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["guest:guest",{"_index":25690,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["guestpolicy",{"_index":2160,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["guests",{"_index":24644,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["guide",{"_index":26212,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["gzip",{"_index":19750,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["h",{"_index":6577,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h.doesurlmatch(url",{"_index":16464,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["h5p",{"_index":1215,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5p_content_s3_connection",{"_index":22495,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["h5p_editor__library_list_path",{"_index":13744,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5p_libraries",{"_index":13473,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5p_library",{"_index":11704,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5pajaxendpointprovider",{"_index":13401,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pconfig",{"_index":13458,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pconfig(undefined",{"_index":13468,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pcontent",{"_index":6667,"title":{"entities/H5PContent.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentfactory",{"_index":13173,"title":{"classes/H5PContentFactory.html":{}},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentfactory.define(h5pcontent",{"_index":13178,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentmapper",{"_index":13186,"title":{"classes/H5PContentMapper.html":{}},"body":{"classes/H5PContentMapper.html":{}}}],["h5pcontentmetadata",{"_index":12615,"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":13195,"title":{"interfaces/H5PContentParentParams.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["h5pcontentparenttype",{"_index":6663,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["h5pcontentparenttype'})@isenum(h5pcontentparenttype",{"_index":17978,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["h5pcontentparenttype.lesson",{"_index":13179,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentproperties",{"_index":6664,"title":{"interfaces/H5PContentProperties.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["h5pcontentrepo",{"_index":13220,"title":{"injectables/H5PContentRepo.html":{}},"body":{"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentresponse",{"_index":12608,"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":13235,"title":{"controllers/H5PEditorController.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditorcontroller.setrangeresponseheaders(res",{"_index":13330,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelcontentresponse",{"_index":12609,"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":13355,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse",{"_index":12594,"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":13351,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse:13",{"_index":13376,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:17",{"_index":13377,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:21",{"_index":13378,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodule",{"_index":13383,"title":{"modules/H5PEditorModule.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["h5peditorprovider",{"_index":13402,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditortempfile",{"_index":13397,"title":{"entities/H5pEditorTempFile.html":{}},"body":{"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5peditortestmodule",{"_index":13406,"title":{"modules/H5PEditorTestModule.html":{}},"body":{"modules/H5PEditorTestModule.html":{}}}],["h5peditoruc",{"_index":13298,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5perror",{"_index":13417,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["h5perrormapper",{"_index":13413,"title":{"classes/H5PErrorMapper.html":{}},"body":{"classes/H5PErrorMapper.html":{}}}],["h5pfile",{"_index":13341,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5pfiledto",{"_index":12644,"title":{"classes/H5pFileDto.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5plibrarymanagementconfig",{"_index":13428,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5plibrarymanagementmodule",{"_index":13421,"title":{"modules/H5PLibraryManagementModule.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["h5plibrarymanagementservice",{"_index":13425,"title":{"injectables/H5PLibraryManagementService.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pplayerprovider",{"_index":13403,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5psaveresponse",{"_index":12616,"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":13365,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5ptemporaryfilefactory",{"_index":13523,"title":{"classes/H5PTemporaryFileFactory.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["h5ptemporaryfilefactory.define(h5peditortempfile",{"_index":13530,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["halper",{"_index":23517,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["handed",{"_index":9649,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["handle",{"_index":3365,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handlecolumnboardintegration",{"_index":19421,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handlecolumnboardintegration(roomid",{"_index":19425,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handleconnection",{"_index":22796,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handleconnection(client",{"_index":22802,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handled",{"_index":4234,"title":{},"body":{"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handled_at",{"_index":168,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["handleexceptions",{"_index":15906,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handleparameterstoinclude",{"_index":2753,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handleparameterstoinclude(propertydata",{"_index":2793,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handler",{"_index":4186,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"todo.html":{}}}],["handler.getmetadata(url",{"_index":16465,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handler.ts",{"_index":111,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:11",{"_index":4176,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:15",{"_index":8000,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler.ts:17",{"_index":4178,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:19",{"_index":121,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:24",{"_index":128,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:4",{"_index":23527,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["handler.ts:5",{"_index":119,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:7",{"_index":124,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:9",{"_index":7999,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler/abstract",{"_index":109,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler/board",{"_index":4173,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler/course",{"_index":7998,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["handler/lesson",{"_index":15731,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["handler/task",{"_index":22266,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["handlerejections",{"_index":15907,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handlers",{"_index":16440,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handles",{"_index":26197,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handling",{"_index":7469,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"modules/CoreModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["happen",{"_index":17043,"title":{},"body":{"injectables/OAuthService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["happened",{"_index":25967,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["hard",{"_index":5406,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasaccess",{"_index":21626,"title":{},"body":{"injectables/SystemRule.html":{}}}],["hasaccesstoentity",{"_index":1803,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstoentity(user",{"_index":1808,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstosubmission",{"_index":21302,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasaccesstosubmission(user",{"_index":21308,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasallpermissions",{"_index":1804,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseGroupRule.html":{}}}],["hasallpermissions(user",{"_index":1812,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasallpermissionsbyrole",{"_index":1805,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasallpermissionsbyrole(role",{"_index":1814,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasbeenforciblyended",{"_index":2248,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasbodyproperty",{"_index":2811,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["haschangedparameternames",{"_index":11190,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameternames(oldparams",{"_index":11201,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex",{"_index":11191,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex(newparams",{"_index":11203,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope",{"_index":11192,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope(newparams",{"_index":11206,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes",{"_index":11193,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes(newparams",{"_index":11208,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters",{"_index":11194,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters(newparams",{"_index":11210,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschild",{"_index":3063,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["haschild(child",{"_index":3079,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["hasconn",{"_index":22943,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["hascontextexternaltool",{"_index":10227,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["hascoursepermission",{"_index":19372,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{}}}],["hascoursereadpermission",{"_index":19354,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursereadpermission(user",{"_index":19358,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission",{"_index":19355,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission(user",{"_index":19360,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasduplicateattributes",{"_index":10556,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["hasduplicateattributes(customparameter",{"_index":10567,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["haserror",{"_index":11897,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasfeature",{"_index":15443,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hasfeature(schoolid",{"_index":15454,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hash",{"_index":12586,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{}}}],["hash_function",{"_index":16030,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashiterations",{"_index":14976,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["hashiterations(310000",{"_index":14589,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["hashkey",{"_index":16032,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashkey).tostring(cryptojs.enc.base64",{"_index":16034,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hasid",{"_index":8501,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["hasjoinedvoice",{"_index":2320,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haslessonpermission",{"_index":15675,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["haslessonreadpermission",{"_index":19356,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["haslessonreadpermission(user",{"_index":19362,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasmatch",{"_index":14196,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmatch(user",{"_index":14204,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasname",{"_index":11893,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasname(name",{"_index":11892,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasnewrequiredparameter",{"_index":11195,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewrequiredparameter(oldparams",{"_index":11212,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewspermission",{"_index":26437,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasoneofpermissions",{"_index":1806,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasoneofpermissions(user",{"_index":1816,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasparent",{"_index":3940,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["hasparentpermission",{"_index":22104,"title":{},"body":{"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasparentpermission(user",{"_index":22106,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasparentreadpermission",{"_index":15682,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasparenttaskreadaccess",{"_index":21303,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskreadaccess(user",{"_index":21310,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess",{"_index":21304,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess(user",{"_index":21312,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparentwritepermission",{"_index":15684,"title":{},"body":{"injectables/LessonRule.html":{}}}],["haspath",{"_index":18941,"title":{},"body":{"classes/RequestInfo.html":{}}}],["haspath(reqroute",{"_index":18948,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["haspermission",{"_index":1838,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["haspermission(user",{"_index":1982,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["haspermissionbyreferences",{"_index":1949,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissionbyreferences(userid",{"_index":1955,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissions",{"_index":11332,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"injectables/PermissionService.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SystemRule.html":{}}}],["hasproperties",{"_index":2630,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["hasreadaccess",{"_index":21305,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasreadaccess(user",{"_index":21315,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasrequiredpermission",{"_index":22111,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasscanstatuserror",{"_index":11896,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasscanstatuswontcheck",{"_index":11899,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasschoolmigrated",{"_index":20199,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrated(sourceexternalid",{"_index":20212,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser",{"_index":4991,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser(schoolid",{"_index":20216,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hassystem",{"_index":20389,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["hastaskreadpermission",{"_index":19357,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hastaskreadpermission(user",{"_index":19364,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasuserallschoolpermissions",{"_index":17951,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserallschoolpermissions(user",{"_index":17954,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserjoined",{"_index":2249,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasusermigrated",{"_index":24074,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["hasuserpermission",{"_index":15679,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasvideo",{"_index":2321,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haswontcheckstatus",{"_index":11900,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["haswriteaccess",{"_index":21306,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["haswriteaccess(user",{"_index":21317,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["having",{"_index":3925,"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":19527,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["head(path",{"_index":19545,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["header",{"_index":1595,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"controllers/OauthSSOController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headerapikey",{"_index":24804,"title":{},"body":{"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["headerconst",{"_index":1609,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headerconst.json",{"_index":1654,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headercookies",{"_index":13676,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["headers",{"_index":1169,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/DeletionClient.html":{},"classes/DownloadFileParams.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headobjectcommand",{"_index":19561,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headobjectcommandoutput",{"_index":19562,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headresponse",{"_index":19633,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["heartened",{"_index":25089,"title":{},"body":{"license.html":{}}}],["height",{"_index":3578,"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":4361,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["height.body.params",{"_index":4407,"title":{},"body":{"controllers/CardController.html":{}}}],["height.body.params.ts",{"_index":20635,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height.body.params.ts:10",{"_index":20637,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height=100",{"_index":6066,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hell",{"_index":7560,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["help",{"_index":6302,"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":3319,"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":21777,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["helper.module.ts",{"_index":7383,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service",{"_index":7385,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service.ts",{"_index":7387,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:10",{"_index":7398,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:28",{"_index":7396,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:45",{"_index":7392,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.ts",{"_index":20937,"title":{},"body":{"classes/SortHelper.html":{},"classes/TestHelper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:15",{"_index":23343,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:21",{"_index":22585,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper.ts:28",{"_index":23344,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:4",{"_index":20940,"title":{},"body":{"classes/SortHelper.html":{}}}],["helper.ts:53",{"_index":23345,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:6",{"_index":22584,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper/copy",{"_index":7382,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/TaskApiModule.html":{}}}],["helper/dto/copy.response.ts",{"_index":7178,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:17",{"_index":7189,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:22",{"_index":7192,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:29",{"_index":7193,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:34",{"_index":7184,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:41",{"_index":7191,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:47",{"_index":7188,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:7",{"_index":7182,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/mapper/copy.mapper.ts",{"_index":7424,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:11",{"_index":7436,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:31",{"_index":7429,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:40",{"_index":7433,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/service/copy",{"_index":7386,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper/types/copy.types",{"_index":7194,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helpers",{"_index":25933,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["helpful",{"_index":26110,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helplink",{"_index":5563,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["helps",{"_index":26095,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helpto",{"_index":25747,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["hendt/xml2json",{"_index":7164,"title":{},"body":{"injectables/ConverterUtil.html":{},"dependencies.html":{}}}],["here",{"_index":2553,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/CommonToolModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hereafter",{"_index":25467,"title":{},"body":{"license.html":{}}}],["hex",{"_index":625,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["hh:mm:ss.sss",{"_index":15913,"title":{},"body":{"modules/LoggerModule.html":{}}}],["hidden",{"_index":3774,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/DtoCreator.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["hier",{"_index":5558,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hierarchy",{"_index":6029,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["high",{"_index":25895,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["higher",{"_index":25823,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["highly",{"_index":26379,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hilfebereich",{"_index":5575,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hint",{"_index":5317,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"injectables/CopyFilesService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthConfigResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["history",{"_index":25623,"title":{},"body":{"todo.html":{}}}],["historywindows",{"_index":26250,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["hmac",{"_index":16029,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["holder",{"_index":25405,"title":{},"body":{"license.html":{}}}],["holders",{"_index":25372,"title":{},"body":{"license.html":{}}}],["holds",{"_index":26456,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["homepage",{"_index":25612,"title":{},"body":{"properties.html":{}}}],["homework",{"_index":25911,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["homework\\/([0",{"_index":22267,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["homeworkid",{"_index":21043,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["homeworkid'})@index",{"_index":21039,"title":{},"body":{"entities/Submission.html":{}}}],["homeworks",{"_index":21684,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["hook",{"_index":26466,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hookfn",{"_index":523,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["hooks",{"_index":24892,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hope",{"_index":7561,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{}}}],["horizontal",{"_index":25892,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["host",{"_index":1282,"title":{},"body":{"modules/AntivirusModule.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["host.gettype",{"_index":12691,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host.switchtohttp",{"_index":12701,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host=http://localhost:4000",{"_index":26268,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["hostname",{"_index":1288,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["hosts",{"_index":25304,"title":{},"body":{"license.html":{}}}],["hosturl",{"_index":13812,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["hot",{"_index":25654,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["hours",{"_index":2908,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["household",{"_index":25322,"title":{},"body":{"license.html":{}}}],["hpi",{"_index":2220,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["href",{"_index":5809,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hs256",{"_index":1570,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs384",{"_index":1571,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs512",{"_index":1572,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["html",{"_index":5817,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{},"entities/CourseNews.html":{},"controllers/H5PEditorController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["html.transformer",{"_index":19063,"title":{},"body":{"classes/RichText.html":{}}}],["htmlcontent",{"_index":1451,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["htmlmailcontent",{"_index":1453,"title":{"interfaces/HtmlMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["http",{"_index":1379,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/ErrorResponse.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["http(message",{"_index":13774,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["http(s",{"_index":26464,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["http://:4011",{"_index":26266,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://fsf.org",{"_index":25044,"title":{},"body":{"license.html":{}}}],["http://localhost:3030",{"_index":14719,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["http://localhost:3030/api/v1/sync?target=ldap",{"_index":26287,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://localhost:3030/api/v3/sso/oauth",{"_index":14834,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["http://localhost:8080",{"_index":26259,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/manifest",{"_index":5993,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/resource",{"_index":5994,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/manifest",{"_index":5980,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/resource",{"_index":5982,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.gnu.org/licenses",{"_index":25608,"title":{},"body":{"license.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd",{"_index":5996,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lommanifest_v1p0.xsd",{"_index":5997,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lomresource_v1p0.xsd",{"_index":5995,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd",{"_index":5988,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd",{"_index":5986,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd",{"_index":6069,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lommanifest_v1p0.xsd",{"_index":5987,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lomresource_v1p0.xsd",{"_index":5985,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsbasiclti_v1p0",{"_index":5943,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1",{"_index":5992,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1",{"_index":6070,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2",{"_index":5984,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1",{"_index":5978,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3",{"_index":6068,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3",{"_index":5941,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3.xsd",{"_index":5949,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticm_v1p0",{"_index":5945,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticp_v1p0",{"_index":5947,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.w3.org/2001/xmlschema",{"_index":5926,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["httpargumenthost",{"_index":12700,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpargumenthost.getresponse",{"_index":12702,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpcode",{"_index":3241,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/LoginController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpcode(200",{"_index":9588,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(201",{"_index":9862,"title":{},"body":{"controllers/ElementController.html":{}}}],["httpcode(202",{"_index":9585,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(204",{"_index":3260,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["httpcode(httpstatus.no_content",{"_index":21478,"title":{},"body":{"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["httpcode(httpstatus.ok",{"_index":15956,"title":{},"body":{"controllers/LoginController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpexception",{"_index":2099,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoService.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PErrorMapper.html":{}}}],["httpexception(`unsupported",{"_index":5684,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["httpexception(error.message",{"_index":13419,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["httpexceptionoptions",{"_index":10048,"title":{},"body":{"classes/ErrorUtils.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["httpexceptions",{"_index":26006,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["httpmodule",{"_index":3904,"title":{},"body":{"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"modules/RocketChatModule.html":{},"modules/VideoConferenceModule.html":{}}}],["httponly",{"_index":20616,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["https://${scdomain",{"_index":14720,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["https://${scdomain}/api/v3/sso/oauth",{"_index":14835,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["https://dbildungscloud.de",{"_index":25613,"title":{},"body":{"properties.html":{}}}],["https://docs.nestjs.com/first",{"_index":25937,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://example.com/tool",{"_index":23286,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["https://github.com/goldbergyoni/javascript",{"_index":26214,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["https://github.com/hpi",{"_index":25636,"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":11860,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["https://github.com/thoughtbot/fishery",{"_index":2571,"title":{},"body":{"classes/BaseFactory.html":{}}}],["https://hpi",{"_index":25657,"title":{},"body":{"todo.html":{}}}],["https://jestjs.io",{"_index":25790,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://khalilstemmler.com/articles/software",{"_index":25976,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://logo.com",{"_index":8360,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://logourl.com",{"_index":10398,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["https://mikro",{"_index":25791,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://min.io",{"_index":25793,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://mock.de",{"_index":21549,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/auth",{"_index":21538,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/jwks",{"_index":21542,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/logout",{"_index":21540,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/mock/auth/public/mocktoken",{"_index":21536,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/auth",{"_index":21544,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/logout",{"_index":21547,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/token",{"_index":21545,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/userinfo",{"_index":21546,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mockhost:3030/api/v3/sso/oauth",{"_index":21537,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://nestjs.com",{"_index":25789,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://provisioningurl.de",{"_index":21551,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://stackoverflow.com/a/61909588",{"_index":25622,"title":{},"body":{"todo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/arc",{"_index":2509,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/bc",{"_index":19478,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["https://url.com",{"_index":8358,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.basic",{"_index":8314,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.fallback",{"_index":6528,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["https://www.frontchannel.com",{"_index":8322,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.geogebra.org/m/${content.content.materialid",{"_index":5820,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd",{"_index":6071,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["https://www.lti11",{"_index":8333,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.npmjs.com/package/@golevelup/nestjs",{"_index":18560,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["https://www.oauth2",{"_index":8329,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.rabbitmq.com",{"_index":25794,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://www.redirect.com",{"_index":8324,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["httpservice",{"_index":1053,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["httpstatus",{"_index":1368,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/SystemController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_gateway",{"_index":15176,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["httpstatus.bad_request",{"_index":1375,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_request.tostring",{"_index":2090,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["httpstatus.conflict",{"_index":4248,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["httpstatus.forbidden",{"_index":12519,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.internal_server_error",{"_index":2105,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.not_found",{"_index":9932,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["httpstatus.ok",{"_index":12832,"title":{},"body":{"controllers/GroupController.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.too_many_requests",{"_index":4204,"title":{},"body":{"classes/BruteForceError.html":{}}}],["httpstatus.unauthorized",{"_index":1800,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["httpstatus.unprocessable_entity",{"_index":4034,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["human",{"_index":6310,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["hydra",{"_index":13710,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydra/hydra.adapter",{"_index":17627,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydra_oauth_failed",{"_index":13555,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraadapter",{"_index":17626,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydracookies",{"_index":7168,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydracookies.includes(cookie",{"_index":13689,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydracookies.push(cookie",{"_index":13690,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig",{"_index":13583,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig.redirecturi",{"_index":13587,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraoauthfailedloggableexception",{"_index":13550,"title":{"classes/HydraOauthFailedLoggableException.html":{}},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraoauthuc",{"_index":13556,"title":{"injectables/HydraOauthUc.html":{}},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["hydraredirectdto",{"_index":13577,"title":{"classes/HydraRedirectDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["hydraredirectdto(dto",{"_index":13662,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrassoservice",{"_index":13566,"title":{"injectables/HydraSsoService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"modules/OauthModule.html":{}}}],["hydrauc",{"_index":17651,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["hydrauri",{"_index":13698,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/.well",{"_index":13706,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/auth",{"_index":13701,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/sessions/logout",{"_index":13709,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/token",{"_index":13716,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["i...properties",{"_index":7564,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["i.name",{"_index":5360,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["i.width",{"_index":16429,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["i18next",{"_index":24900,"title":{},"body":{"dependencies.html":{}}}],["iat",{"_index":8047,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["ibbbsettings",{"_index":2337,"title":{"interfaces/IBbbSettings.html":{}},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["icolumnboardproperties",{"_index":5490,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["icommoncartridgefilebuilder",{"_index":5848,"title":{"interfaces/ICommonCartridgeFileBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeltiresourceprops",{"_index":5912,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["icommoncartridgemanifestprops",{"_index":5967,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["icommoncartridgemetadataprops",{"_index":5969,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["icommoncartridgeorganizationbuilder",{"_index":5864,"title":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeorganizationprops",{"_index":5862,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeresourceprops",{"_index":5763,"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":5769,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["icommoncartridgeweblinkresourceprops",{"_index":6041,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["icons",{"_index":26222,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["icontentauthor",{"_index":6592,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentchange",{"_index":6594,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentmetadata",{"_index":6567,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["icurrentuser",{"_index":325,"title":{"interfaces/ICurrentUser.html":{}},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICurrentUser.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["id",{"_index":34,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxPostQueryParams.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"injectables/CalendarService.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardUrlParams.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilterNewsParams.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["id'})@apiokresponse({description",{"_index":23210,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["id.'})@apiresponse({status",{"_index":12823,"title":{},"body":{"controllers/GroupController.html":{}}}],["id.body.params.ts",{"_index":286,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:15",{"_index":295,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:26",{"_index":293,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:35",{"_index":291,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.id",{"_index":14887,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["id.loggable.ts",{"_index":20154,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:11",{"_index":20159,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:4",{"_index":20157,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.params",{"_index":23864,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["id.params.ts",{"_index":307,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.params.ts:11",{"_index":309,"title":{},"body":{"classes/AccountByIdParams.html":{}}}],["id.params.ts:7",{"_index":6813,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["id.params.ts:8",{"_index":6816,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.pipe.ts",{"_index":25958,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["id.strategy.ts",{"_index":2002,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.strategy.ts:8",{"_index":2007,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.token.claim",{"_index":14785,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["id.tostring",{"_index":962,"title":{},"body":{"injectables/AccountServiceDb.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["id/authorization",{"_index":6335,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["id/challenge",{"_index":6370,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["id='${child.id",{"_index":3103,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["id_token",{"_index":178,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["id_token_hint_claims",{"_index":17696,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["idashboardrepo",{"_index":8792,"title":{"interfaces/IDashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["idea",{"_index":2529,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/TaskUC.html":{}}}],["idempotent",{"_index":2344,"title":{},"body":{"injectables/BBBService.html":{}}}],["identical",{"_index":14500,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["identifiable",{"_index":25490,"title":{},"body":{"license.html":{}}}],["identified",{"_index":13538,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiedreference",{"_index":2544,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["identifier",{"_index":1396,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"controllers/DeletionRequestsController.html":{},"classes/ErrorResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LdapStrategy.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifierref",{"_index":5935,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["identifiers",{"_index":13969,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/JwtValidationAdapter.html":{},"classes/NotFoundLoggableException.html":{}}}],["identifies",{"_index":20906,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["identify",{"_index":6336,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["identities",{"_index":26256,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["identity",{"_index":3108,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["identitymanagementconfig",{"_index":13876,"title":{"interfaces/IdentityManagementConfig.html":{}},"body":{"interfaces/IdentityManagementConfig.html":{},"injectables/LocalStrategy.html":{},"interfaces/ServerConfig.html":{}}}],["identitymanagementmodule",{"_index":665,"title":{"modules/IdentityManagementModule.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/IdentityManagementModule.html":{},"modules/SystemModule.html":{}}}],["identitymanagementoauthservice",{"_index":13886,"title":{"classes/IdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["identitymanagementoauthservice:24",{"_index":14826,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:54",{"_index":14827,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:61",{"_index":14829,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementservice",{"_index":633,"title":{"classes/IdentityManagementService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:114",{"_index":14869,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:127",{"_index":14870,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:132",{"_index":14859,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:137",{"_index":14871,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:15",{"_index":14857,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:153",{"_index":14872,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:47",{"_index":14874,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:63",{"_index":14876,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:77",{"_index":14868,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:85",{"_index":14865,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:99",{"_index":14866,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identityprovideralias",{"_index":14775,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapper",{"_index":14774,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapperrepresentation",{"_index":14659,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityproviderrepresentation",{"_index":14662,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["idhierarchy",{"_index":5531,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idhierarchy[0",{"_index":5532,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idm",{"_index":78,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idm.service",{"_index":679,"title":{},"body":{"modules/AccountModule.html":{}}}],["idm/dev:latest",{"_index":25706,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idmaccount",{"_index":593,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmaccountproperties",{"_index":227,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{}}}],["idmaccountupdate",{"_index":13915,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmap",{"_index":5455,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["idmoauthservice",{"_index":15496,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["idmreferenceid",{"_index":432,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{}}}],["idmservice",{"_index":636,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["idmuserrepresentation",{"_index":14972,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["idp",{"_index":14692,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idpalias",{"_index":14651,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["idparams",{"_index":13815,"title":{"classes/IdParams.html":{}},"body":{"classes/IdParams.html":{},"controllers/OauthProviderController.html":{}}}],["idphint",{"_index":15103,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["ids",{"_index":615,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseDORepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/ParentInfo.html":{},"classes/PatchOrderParams.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/S3ClientAdapter.html":{},"classes/UsersList.html":{}}}],["ids.'})@apiresponse({status",{"_index":4386,"title":{},"body":{"controllers/CardController.html":{}}}],["ids.length",{"_index":2515,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.map((eid",{"_index":2505,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.map((id",{"_index":2981,"title":{},"body":{"entities/Board.html":{}}}],["ids.params.ts",{"_index":4438,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids.params.ts:10",{"_index":4442,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids[0",{"_index":3460,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["idtoken",{"_index":173,"title":{"interfaces/IdToken.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/TokenRequestMapper.html":{}}}],["idtoken.external_sub",{"_index":17728,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtoken.uuid",{"_index":14405,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokencreationloggableexception",{"_index":13818,"title":{"classes/IdTokenCreationLoggableException.html":{}},"body":{"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{}}}],["idtokencreationloggableexception(clientid",{"_index":13867,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["idtokenextractionfailureloggableexception",{"_index":13827,"title":{"classes/IdTokenExtractionFailureLoggableException.html":{}},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('external_sub",{"_index":17729,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('uuid",{"_index":14406,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokeninvalidloggableexception",{"_index":13834,"title":{"classes/IdTokenInvalidLoggableException.html":{}},"body":{"classes/IdTokenInvalidLoggableException.html":{},"injectables/OAuthService.html":{}}}],["idtokenservice",{"_index":13836,"title":{"injectables/IdTokenService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["idtokenusernotfoundloggableexception",{"_index":13870,"title":{"classes/IdTokenUserNotFoundLoggableException.html":{}},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["idtokenusernotfoundloggableexception(idtoken?.uuid",{"_index":14411,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ieditormodel",{"_index":12592,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ientity",{"_index":2536,"title":{"interfaces/IEntity.html":{}},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ientitywithtimestamps",{"_index":9935,"title":{"interfaces/IEntityWithTimestamps.html":{}},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ierror",{"_index":10013,"title":{"interfaces/IError.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["iexternaltoolproperties",{"_index":10375,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["if/else",{"_index":26079,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ifilestats",{"_index":11688,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["ifindoptions",{"_index":7924,"title":{"interfaces/IFindOptions.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"injectables/PseudonymService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["iframe",{"_index":6600,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GroupNameIdTuple.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iframe_restrict_access=false",{"_index":26353,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["iframesubject",{"_index":13869,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/PseudonymService.html":{}}}],["ignore",{"_index":2472,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ignored",{"_index":2561,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ignoreexpiration",{"_index":14477,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["igridelement",{"_index":8475,"title":{"interfaces/IGridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["ih5plibrarymanagementconfig",{"_index":13466,"title":{"interfaces/IH5PLibraryManagementConfig.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["ihubcontenttype",{"_index":13443,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["iimportuserrolename",{"_index":13749,"title":{},"body":{"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"classes/RoleNameMapper.html":{}}}],["iimportuserscope",{"_index":13746,"title":{"interfaces/IImportUserScope.html":{}},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"interfaces/NameMatch.html":{}}}],["iinstalledlibrary",{"_index":11694,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iintegration",{"_index":12593,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ikeycloakconfigurationinputfiles",{"_index":13752,"title":{"interfaces/IKeycloakConfigurationInputFiles.html":{}},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloaksettings",{"_index":13759,"title":{"interfaces/IKeycloakSettings.html":{}},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["ilegacylogger",{"_index":13764,"title":{"interfaces/ILegacyLogger.html":{}},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["ilibraryadministrationoverviewitem",{"_index":13452,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ilibrarymetadata",{"_index":11695,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ilibraryname",{"_index":6597,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iltitoolproperties",{"_index":8143,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{}}}],["im",{"_index":5574,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["image",{"_index":16418,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["image/gif",{"_index":10460,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/jpeg",{"_index":10455,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/png",{"_index":10458,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["image/webp",{"_index":22588,"title":{},"body":{"classes/TestHelper.html":{}}}],["imagebuffer",{"_index":10440,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagebuffer.tostring('hex",{"_index":10491,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagemagick",{"_index":18067,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["imageobject",{"_index":16393,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images",{"_index":16396,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images/xyz.png",{"_index":13540,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["images[0",{"_index":16431,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images[0].width",{"_index":16432,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["imagesignature",{"_index":10490,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imageurl",{"_index":3586,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["imageurl(value",{"_index":15800,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["imageurlobject",{"_index":6530,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imageurlobject.origin",{"_index":6531,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imateapotexception",{"_index":11472,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imateapotexception('this",{"_index":11483,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immediately",{"_index":11350,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immutable",{"_index":11178,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["impact",{"_index":24993,"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":26242,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["impersonated",{"_index":8138,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{}}}],["impersonates",{"_index":13727,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["impl",{"_index":3670,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["impl.ts",{"_index":3525,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:102",{"_index":3543,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:116",{"_index":3544,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:131",{"_index":3545,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:145",{"_index":3541,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:158",{"_index":3546,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:173",{"_index":3547,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:191",{"_index":3542,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:205",{"_index":3536,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:210",{"_index":3554,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:216",{"_index":3552,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:221",{"_index":3550,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:32",{"_index":3532,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:41",{"_index":3540,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:45",{"_index":3538,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:62",{"_index":3537,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:77",{"_index":3534,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["implemenation",{"_index":26474,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implement",{"_index":15303,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implementation",{"_index":2643,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["implementations",{"_index":25822,"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":14447,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implemented.loggable",{"_index":17912,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["implementing",{"_index":25854,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implements",{"_index":1237,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUrlHandler.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"classes/FileDto.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LumiUserWithContentData.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRule.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionRule.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implications",{"_index":25987,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["implicit",{"_index":26370,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implicitly",{"_index":26390,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implied",{"_index":25512,"title":{},"body":{"license.html":{}}}],["implies",{"_index":6354,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["import",{"_index":95,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["import.body.params.ts",{"_index":20741,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:13",{"_index":20745,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:22",{"_index":20744,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.module.ts",{"_index":14189,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["import.uc",{"_index":14047,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["import/controller/dto/filter",{"_index":12470,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["import/controller/dto/import",{"_index":14096,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{}}}],["import/controller/dto/sort",{"_index":20943,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["import/controller/dto/update",{"_index":23508,"title":{},"body":{"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{}}}],["import/controller/dto/user",{"_index":24116,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["import/controller/import",{"_index":14000,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["import/export",{"_index":26301,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["import/loggable/migration",{"_index":16509,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["import/loggable/school",{"_index":20153,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["import/loggable/user",{"_index":24150,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["import/mapper/import",{"_index":14117,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["import/mapper/match.mapper.ts",{"_index":14164,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:13",{"_index":14170,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:6",{"_index":14168,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/role",{"_index":19234,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["import/mapper/user",{"_index":24121,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["import/uc/ldap",{"_index":15026,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["import/user",{"_index":14188,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["important",{"_index":407,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importcollection",{"_index":8876,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollection(@param('collectionname",{"_index":8895,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollection(collectionname",{"_index":8883,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollections",{"_index":8877,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(@query('with",{"_index":8893,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(withindexes",{"_index":8886,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["imported",{"_index":5325,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/ShareTokenImportBodyParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["importeddocumentsamount",{"_index":5322,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["importhash",{"_index":18897,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["importing",{"_index":25458,"title":{},"body":{"license.html":{}}}],["imports",{"_index":276,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importseeddata",{"_index":14936,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["importsharetoken",{"_index":20676,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["importsharetoken(currentuser",{"_index":20683,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["importsharetoken(userid",{"_index":20857,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["importuser",{"_index":13943,"title":{"entities/ImportUser.html":{}},"body":{"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/UserRepo.html":{}}}],["importuser.classnames",{"_index":14138,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.firstname",{"_index":14134,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.flagged",{"_index":14139,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.id",{"_index":14132,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.lastname",{"_index":14135,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.loginname",{"_index":14133,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.matchedby",{"_index":14141,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.rolenames.map((role",{"_index":14136,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.scope",{"_index":14209,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuser.user",{"_index":14140,"title":{},"body":{"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["importuser.user).filter((user",{"_index":14235,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importusercontroller",{"_index":13999,"title":{"controllers/ImportUserController.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["importuserentities",{"_index":14231,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserentities.map((importuser",{"_index":14234,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserfactory",{"_index":14082,"title":{"classes/ImportUserFactory.html":{}},"body":{"classes/ImportUserFactory.html":{}}}],["importuserfactory.define(importuser",{"_index":14089,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["importuserid",{"_index":14112,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserlist",{"_index":14057,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlist.map((importuser",{"_index":14060,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlistresponse",{"_index":14048,"title":{"classes/ImportUserListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["importuserlistresponse(dtolist",{"_index":14062,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper",{"_index":14039,"title":{"classes/ImportUserMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["importusermapper.mapimportuserfilterquerytodomain(scope",{"_index":14056,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.mapsortingquerytodomain(sortingquery",{"_index":14055,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(importuser",{"_index":14061,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(result",{"_index":14066,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermatchmapper",{"_index":14126,"title":{"classes/ImportUserMatchMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["importusermatchmapper.mapimportusermatchscopetodomain(match",{"_index":14161,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusermatchmapper.mapmatchcreatortoresponse(matchcreator",{"_index":24137,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["importusermodule",{"_index":14183,"title":{"modules/ImportUserModule.html":{}},"body":{"modules/ImportUserModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["importuserproperties",{"_index":13968,"title":{"interfaces/ImportUserProperties.html":{}},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{}}}],["importuserrepo",{"_index":14187,"title":{"injectables/ImportUserRepo.html":{}},"body":{"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{}}}],["importuserresponse",{"_index":14049,"title":{"classes/ImportUserResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{}}}],["importusers",{"_index":13972,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["importuserschoolid",{"_index":20156,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserscope",{"_index":14208,"title":{"classes/ImportUserScope.html":{}},"body":{"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{}}}],["importusersortorder",{"_index":14125,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["importusersortorder.firstname",{"_index":14129,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusersortorder.lastname",{"_index":14130,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuserurlparams",{"_index":14021,"title":{"classes/ImportUserUrlParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserUrlParams.html":{}}}],["impose",{"_index":25392,"title":{},"body":{"license.html":{}}}],["imposed",{"_index":25515,"title":{},"body":{"license.html":{}}}],["impossile",{"_index":16786,"title":{},"body":{"classes/NewsScope.html":{}}}],["improvements",{"_index":25085,"title":{},"body":{"license.html":{}}}],["improves",{"_index":26039,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ims",{"_index":5999,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["imsbasiclti_v1p0p1.xsd",{"_index":5952,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticm_v1p0.xsd",{"_index":5951,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticp_v1p0.xsd",{"_index":5950,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["in.'})@apioperation({summary",{"_index":23149,"title":{},"body":{"controllers/ToolController.html":{}}}],["in/out",{"_index":25914,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["inability",{"_index":25567,"title":{},"body":{"license.html":{}}}],["inaccurate",{"_index":25570,"title":{},"body":{"license.html":{}}}],["inc",{"_index":25043,"title":{},"body":{"license.html":{}}}],["incidental",{"_index":25564,"title":{},"body":{"license.html":{}}}],["include",{"_index":2546,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["included",{"_index":7186,"title":{},"body":{"classes/CopyApiResponse.html":{},"license.html":{}}}],["includes",{"_index":16883,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["including",{"_index":12149,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inclusion",{"_index":25273,"title":{},"body":{"license.html":{}}}],["incoming",{"_index":1214,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["incoming_request_timeout",{"_index":12097,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["incoming_request_timeout_copy_api",{"_index":12099,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/ServerConfig.html":{}}}],["incomplete",{"_index":13311,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["incorporate",{"_index":25088,"title":{},"body":{"license.html":{}}}],["incorporated",{"_index":25533,"title":{},"body":{"license.html":{}}}],["incorporation",{"_index":25324,"title":{},"body":{"license.html":{}}}],["increase",{"_index":2937,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["increaseversionofnewtoolifnecessary",{"_index":11196,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increaseversionofnewtoolifnecessary(oldtool",{"_index":11214,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service",{"_index":11034,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["increment.service.ts",{"_index":11188,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:16",{"_index":11199,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:32",{"_index":11213,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:39",{"_index":11202,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:52",{"_index":11211,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:60",{"_index":11205,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:68",{"_index":11209,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:7",{"_index":11216,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:76",{"_index":11207,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["indefinitely",{"_index":6294,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["indemnification",{"_index":25388,"title":{},"body":{"license.html":{}}}],["independent",{"_index":25263,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["index",{"_index":7,"title":{"index.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["index()@enum",{"_index":11835,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@enum(undefined",{"_index":3918,"title":{},"body":{"entities/BoardNode.html":{}}}],["index()@manytomany('course",{"_index":8599,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytomany('user",{"_index":7538,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{}}}],["index()@manytomany({fieldname",{"_index":23551,"title":{},"body":{"entities/User.html":{}}}],["index()@manytoone('course",{"_index":7775,"title":{},"body":{"entities/CourseGroup.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone('dashboardmodelentity",{"_index":8597,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytoone('lessonentity",{"_index":21666,"title":{},"body":{"entities/Task.html":{}}}],["index()@manytoone('user",{"_index":8683,"title":{},"body":{"entities/DashboardModelEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone(undefined",{"_index":7533,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["index()@property",{"_index":15608,"title":{},"body":{"entities/LessonEntity.html":{}}}],["index()@property({fieldname",{"_index":11827,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@property({nullable",{"_index":3914,"title":{},"body":{"entities/BoardNode.html":{},"entities/Course.html":{}}}],["index({options",{"_index":11830,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["index.ts",{"_index":25619,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["indexes",{"_index":5347,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskRepo.html":{},"todo.html":{}}}],["indexes.filter((i",{"_index":5359,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["indicate",{"_index":25429,"title":{},"body":{"license.html":{}}}],["indicating",{"_index":8099,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["individual",{"_index":25271,"title":{},"body":{"license.html":{}}}],["individuals",{"_index":25119,"title":{},"body":{"license.html":{}}}],["industrial",{"_index":25333,"title":{},"body":{"license.html":{}}}],["inestapplication",{"_index":1606,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inewsscope",{"_index":8071,"title":{"interfaces/INewsScope.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["inferrable",{"_index":14116,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["info(currentuser",{"_index":24432,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["info(loggable",{"_index":15880,"title":{},"body":{"injectables/Logger.html":{}}}],["info(text",{"_index":6384,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["info.dto.ts",{"_index":4711,"title":{},"body":{"classes/ClassInfoDto.html":{},"interfaces/ShareTokenInfoDto.html":{}}}],["info.dto.ts:10",{"_index":4718,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:12",{"_index":4723,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:14",{"_index":4722,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:16",{"_index":4720,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:18",{"_index":4717,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:4",{"_index":4719,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:6",{"_index":4725,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:8",{"_index":4721,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.interface.ts",{"_index":20498,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["info.mapper",{"_index":16679,"title":{},"body":{"classes/NewsMapper.html":{}}}],["info.mapper.ts",{"_index":20179,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.mapper.ts:5",{"_index":20181,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.reponse.ts",{"_index":20749,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:13",{"_index":20753,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:16",{"_index":20752,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:20",{"_index":20751,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:5",{"_index":20750,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.response",{"_index":4752,"title":{},"body":{"classes/ClassInfoSearchListResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{}}}],["info.response.ts",{"_index":2301,"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":24604,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:12",{"_index":4744,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:13",{"_index":20187,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:14",{"_index":23786,"title":{},"body":{"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:15",{"_index":4741,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:18",{"_index":4746,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:19",{"_index":23785,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["info.response.ts:21",{"_index":4745,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:24",{"_index":4743,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:27",{"_index":4740,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:3",{"_index":20186,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:6",{"_index":4742,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:9",{"_index":4747,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.ts",{"_index":7332,"title":{},"body":{"interfaces/CopyFilesRequestInfo.html":{},"interfaces/FileRequestInfo.html":{},"classes/VideoConferenceInfo.html":{}}}],["info.ts:6",{"_index":24597,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["info.uc.ts",{"_index":24606,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:13",{"_index":24608,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:20",{"_index":24610,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:75",{"_index":24612,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["infodto",{"_index":24570,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["infodto.state",{"_index":24572,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["inform",{"_index":25310,"title":{},"body":{"license.html":{}}}],["information",{"_index":1390,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/BBBService.html":{},"classes/ConsentRequestBody.html":{},"classes/ErrorResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["informationen",{"_index":5566,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["infra",{"_index":16273,"title":{},"body":{"modules/ManagementModule.html":{}}}],["infra/antivirus",{"_index":7269,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["infra/cache",{"_index":1536,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/OauthModule.html":{}}}],["infra/cache/interface/cache",{"_index":14504,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["infra/calendar",{"_index":24679,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["infra/calendar/interface/calendar",{"_index":4306,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["infra/collaborative",{"_index":5124,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["infra/console",{"_index":3811,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"interfaces/CleanOptions.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["infra/console/console",{"_index":8855,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["infra/database",{"_index":5202,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["infra/database/mongo",{"_index":12571,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["infra/encryption",{"_index":5206,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["infra/feathers",{"_index":1882,"title":{},"body":{"modules/AuthorizationModule.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/LessonModule.html":{}}}],["infra/feathers/feathers",{"_index":16869,"title":{},"body":{"injectables/NexboardService.html":{}}}],["infra/file",{"_index":5208,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["infra/identity",{"_index":647,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/SystemModule.html":{}}}],["infra/mail",{"_index":20559,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/metrics",{"_index":18208,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["infra/oauth",{"_index":10555,"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":11841,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["infra/rabbitmq",{"_index":10016,"title":{},"body":{"classes/ErrorMapper.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRequestInfo.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["infra/rabbitmq/rpc",{"_index":12348,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{}}}],["infra/redis",{"_index":20560,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/s3",{"_index":11521,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["infrastructure",{"_index":25924,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["infrastucture",{"_index":20625,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infringe",{"_index":25427,"title":{},"body":{"license.html":{}}}],["infringed",{"_index":25455,"title":{},"body":{"license.html":{}}}],["infringement",{"_index":25130,"title":{},"body":{"license.html":{}}}],["inherit",{"_index":2548,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritance",{"_index":26374,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritances",{"_index":16750,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["inherited",{"_index":436,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"classes/Group.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupScope.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/PseudonymScope.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolYearRepo.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationDO.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["init",{"_index":4229,"title":{},"body":{"classes/Builder.html":{}}}],["initauth",{"_index":13627,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initauth(oauthconfig",{"_index":13638,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initialdelay",{"_index":15195,"title":{},"body":{"injectables/LdapService.html":{}}}],["initialize",{"_index":22931,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["initialized",{"_index":18564,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["initializes3clientmap",{"_index":8982,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["initiate",{"_index":25450,"title":{},"body":{"license.html":{}}}],["initiated",{"_index":17276,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["initresponse",{"_index":13572,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["initresponse.config",{"_index":13601,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["inject",{"_index":688,"title":{},"body":{"modules/AccountModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraSsoService.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewService.html":{},"modules/RedisModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inject('antivirus_service_options",{"_index":1320,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["inject('collaborativestoragestrategy",{"_index":5037,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["inject('dashboard_repo",{"_index":8812,"title":{},"body":{"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{}}}],["inject('mail_service_options",{"_index":16242,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["inject('rocket_chat_options",{"_index":1109,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["inject(bbbsettings",{"_index":2385,"title":{},"body":{"injectables/BBBService.html":{}}}],["inject(cache_manager",{"_index":14509,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["inject(defaultencryptionservice",{"_index":5225,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["inject(files_storage_s3_connection",{"_index":18138,"title":{},"body":{"injectables/PreviewService.html":{}}}],["inject(forwardref",{"_index":3453,"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":12581,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["inject(h5p_content_s3_connection",{"_index":22498,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["inject(keycloakconfigurationinputfiles",{"_index":15005,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inject(keycloaksettings",{"_index":14567,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["inject(ldapencryptionservice",{"_index":5226,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["inject(provisioningfeatures",{"_index":17870,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["inject(redis_client",{"_index":20620,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["inject(s3_client",{"_index":19569,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(s3_config",{"_index":19570,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(toolfeatures",{"_index":10218,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["inject(your_s3_uniq_connection_token",{"_index":26496,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectable",{"_index":589,"title":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectables",{"_index":591,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["injected",{"_index":11346,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["injectenvvars(json",{"_index":5377,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["injecting",{"_index":26489,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injection",{"_index":15305,"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":26446,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inline",{"_index":1446,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inlineattachment",{"_index":1445,"title":{"interfaces/InlineAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inmaintenancesince",{"_index":15329,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["inner",{"_index":6033,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["innerpermissions",{"_index":19208,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerrole.resolvepermissions",{"_index":19209,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles",{"_index":19205,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles.foreach((innerrole",{"_index":19207,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["input",{"_index":2358,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/DeletionClient.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichText.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ServerConsole.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["input.accesstoken",{"_index":19749,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.builder",{"_index":9449,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.builder.ts",{"_index":9445,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:4",{"_index":9564,"title":{},"body":{"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:5",{"_index":9447,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.deleteinminutes",{"_index":2847,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.dto.ts",{"_index":17294,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:4",{"_index":17296,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:6",{"_index":17297,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:8",{"_index":17295,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.interface",{"_index":9443,"title":{},"body":{"interfaces/DeletionRequestInput.html":{}}}],["input.interface.ts",{"_index":9441,"title":{},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/QueueDeletionRequestInput.html":{}}}],["input.mapper",{"_index":18330,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["input.mapper.ts",{"_index":18361,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.mapper.ts:6",{"_index":18364,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.system",{"_index":14421,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.provisioningurl",{"_index":19748,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.systemid",{"_index":14409,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.targetrefdomain",{"_index":2845,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.targetrefid",{"_index":2846,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["inputdto",{"_index":18338,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["inputfiles",{"_index":14994,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inputformat",{"_index":3589,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["inputformat(value",{"_index":19083,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["inputformat.plain_text",{"_index":6515,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["inputformat.rich_text_ck4",{"_index":21687,"title":{},"body":{"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["inputformat.rich_text_ck5",{"_index":3877,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"classes/TaskMapper.html":{}}}],["inputpath",{"_index":1665,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputpath.charat(pos",{"_index":1662,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputroles",{"_index":17962,"title":{},"body":{"injectables/PermissionService.html":{}}}],["inputs",{"_index":2827,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["inputs.length",{"_index":2929,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["inputs.push(queuedeletionrequestinputbuilder.build(targetrefdomain",{"_index":2917,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["insensitive",{"_index":14265,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["insertedcount",{"_index":8936,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["inside",{"_index":4236,"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":26325,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["inspired",{"_index":26213,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["install",{"_index":13510,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["installation",{"_index":25337,"title":{},"body":{"license.html":{}}}],["installed",{"_index":25354,"title":{},"body":{"license.html":{}}}],["installedlibraries",{"_index":13516,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["installedlibrary",{"_index":11705,"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":11743,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.minorversion",{"_index":11745,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.patchversion",{"_index":11747,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installlibraries",{"_index":13438,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["installlibraries(librariestoinstall",{"_index":13446,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["instance",{"_index":5927,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacyLogger.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instanceof",{"_index":653,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/FilesStorageClientMapper.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupRule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PreviewService.html":{},"injectables/PseudonymService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instances",{"_index":6548,"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":7563,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["instead",{"_index":2513,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeletionClient.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LegacySystemRepo.html":{},"interfaces/ParentInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"modules/ToolModule.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instructions",{"_index":25930,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["instructor",{"_index":8146,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["intact",{"_index":25240,"title":{},"body":{"license.html":{}}}],["integration",{"_index":12602,"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":5410,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["intended",{"_index":4526,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["intendeduse",{"_index":5815,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["intention",{"_index":25233,"title":{},"body":{"license.html":{}}}],["interact",{"_index":25601,"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":25528,"title":{},"body":{"license.html":{}}}],["interaction",{"_index":25145,"title":{},"body":{"license.html":{}}}],["interactions",{"_index":25865,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interactive",{"_index":25147,"title":{},"body":{"license.html":{}}}],["intercept",{"_index":9819,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["intercept(context",{"_index":9821,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["interceptor",{"_index":7477,"title":{},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interceptorconfig",{"_index":7480,"title":{"interfaces/InterceptorConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{}}}],["interceptormodule",{"_index":7462,"title":{"modules/InterceptorModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{}}}],["interchange",{"_index":25282,"title":{},"body":{"license.html":{}}}],["interest",{"_index":25443,"title":{},"body":{"license.html":{}}}],["interface",{"_index":159,"title":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFiles.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"interfaces/XApiKeyConfig.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFilterParams.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CommonToolService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileParams.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigEntity.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["interface/cache",{"_index":4260,"title":{},"body":{"injectables/CacheService.html":{}}}],["interface/calendar",{"_index":4332,"title":{},"body":{"injectables/CalendarService.html":{}}}],["interface/json",{"_index":15002,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["interface/jwt",{"_index":1722,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{}}}],["interface/keycloak",{"_index":14525,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["interface/learnroom",{"_index":21676,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["interface/oauth",{"_index":1506,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["interface/oidc",{"_index":18247,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["interface/preview",{"_index":18053,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{}}}],["interface/redis.constants",{"_index":18815,"title":{},"body":{"modules/RedisModule.html":{}}}],["interface/sso",{"_index":1899,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["interface/url",{"_index":4185,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["interfaces",{"_index":161,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ErrorLogger.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interfaces/copy",{"_index":7327,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["interfaces/legacy",{"_index":15300,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["interfaces/mail",{"_index":16225,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["interfered",{"_index":25343,"title":{},"body":{"license.html":{}}}],["intermediate",{"_index":1920,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["internal",{"_index":613,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseNews.html":{},"classes/ImportUserUrlParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"classes/SwapInternalLinksVisitor.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":23504,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["internal_server_error_exception",{"_index":13823,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["internalaxiosrequestconfig",{"_index":2118,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["internalid",{"_index":926,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["internallinkmatatagservice",{"_index":16389,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["internally",{"_index":19572,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["internalmeetingid",{"_index":2250,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["internalrepo",{"_index":25876,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["internalservererrorexception",{"_index":1312,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolLaunchService.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["internalservererrorexception('cannot",{"_index":2504,"title":{},"body":{"injectables/BaseDORepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/UserLoginMigrationService.html":{}}}],["internalservererrorexception('copy",{"_index":7738,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["internalservererrorexception('courses",{"_index":7613,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["internalservererrorexception('expected",{"_index":5477,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["internalservererrorexception('feature",{"_index":12538,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["internalservererrorexception('import",{"_index":20901,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["internalservererrorexception('invalid",{"_index":13479,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["internalservererrorexception('lessons",{"_index":6250,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["internalservererrorexception('multiple_matches_are_not_allowed",{"_index":19519,"title":{},"body":{"injectables/RuleManager.html":{}}}],["internalservererrorexception('provisioning",{"_index":18343,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["internalservererrorexception('s3clientadapter:copy",{"_index":19613,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:create",{"_index":19592,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:delete",{"_index":19601,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:get",{"_index":19586,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:restore",{"_index":19606,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('submissions",{"_index":21702,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('task.finished",{"_index":21706,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('tool",{"_index":17547,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception('unknown",{"_index":8738,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["internalservererrorexception('user",{"_index":4825,"title":{},"body":{"injectables/ClassService.html":{},"injectables/PseudonymService.html":{}}}],["internalservererrorexception(`${bbbresp.response.messagekey",{"_index":2404,"title":{},"body":{"injectables/BBBService.html":{}}}],["internalservererrorexception(`cannot",{"_index":17545,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception(`multiple",{"_index":15407,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["internalservererrorexception(`redirect",{"_index":13606,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["internalservererrorexception(`unknown",{"_index":10171,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["internalservererrorexception(errorobj.message",{"_index":10021,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["internalservererrorexception(null",{"_index":1343,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/ErrorMapper.html":{},"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception(oauthclientid",{"_index":13696,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["internalservererrorexception})@apiresponse({status",{"_index":20689,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@get('/play/:contentid",{"_index":13279,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["internalservererrorexception})@get(':token",{"_index":20695,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@post",{"_index":16343,"title":{},"body":{"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["internalservice",{"_index":25877,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interpretation",{"_index":25576,"title":{},"body":{"license.html":{}}}],["interpreter",{"_index":25176,"title":{},"body":{"license.html":{}}}],["intimate",{"_index":25182,"title":{},"body":{"license.html":{}}}],["introduce",{"_index":11347,"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":25966,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introducing",{"_index":25674,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["introduction",{"_index":25616,"title":{},"body":{"todo.html":{}}}],["introspectoauth2token",{"_index":17594,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectoauth2token(token",{"_index":17609,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectresponse",{"_index":14340,"title":{"interfaces/IntrospectResponse.html":{}},"body":{"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{}}}],["inusermigration",{"_index":15330,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["invalid",{"_index":340,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AuthenticationService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"controllers/LoginController.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.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":14352,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["invalid_request",{"_index":6298,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["invalid_user_login_migration",{"_index":14360,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["invalidate",{"_index":25260,"title":{},"body":{"license.html":{}}}],["invalidoriginforlogouturlloggableexception",{"_index":14347,"title":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["invalidoriginforlogouturlloggableexception(params.logouturl",{"_index":24460,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["invaliduserloginmigrationloggableexception",{"_index":14355,"title":{"classes/InvalidUserLoginMigrationLoggableException.html":{}},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["invaliduserloginmigrationloggableexception(currentuserid",{"_index":24097,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["inversion",{"_index":25820,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["invitationlink",{"_index":4590,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["inviteusertogroup(groupname",{"_index":1134,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["invoke",{"_index":26289,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["ip",{"_index":26324,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipaddress",{"_index":26327,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipath",{"_index":11696,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iprimarykey",{"_index":12415,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["iprovisioningfeatures",{"_index":13781,"title":{"interfaces/IProvisioningFeatures.html":{}},"body":{"interfaces/IProvisioningFeatures.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["irrevocable",{"_index":25188,"title":{},"body":{"license.html":{}}}],["isactive",{"_index":9774,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isallowedaschild",{"_index":3064,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["isallowedaschild(child",{"_index":21166,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isallowedaschild(domainobject",{"_index":3081,"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":6469,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isanycontentelement(element",{"_index":6473,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isapplicable",{"_index":2619,"title":{},"body":{"classes/BaseProvisioningOptions.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/SchoolSystemOptionsRule.html":{},"classes/SchulConneXProvisioningOptions.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["isapplicable(provisioningoptions",{"_index":2620,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["isapplicable(user",{"_index":3714,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["isarchived",{"_index":9809,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["isarray",{"_index":6317,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["isarray()@apiproperty",{"_index":17097,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isarray()@arrayminsize(1)@validatenested({each",{"_index":19783,"title":{},"body":{"classes/SanisResponse.html":{}}}],["isarray()@ismongoid({each",{"_index":17943,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["isarray()@isoptional()@isenum(toolcontexttype",{"_index":10322,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isarray()@isoptional()@isstring({each",{"_index":6332,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{}}}],["isarray()@isstring({each",{"_index":6279,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["isatleastpartialsuccessfull",{"_index":7400,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatleastpartialsuccessfull(status",{"_index":7408,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatschool",{"_index":20387,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["isauthenticated",{"_index":26482,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["isauthenticationresponse",{"_index":1674,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthenticationresponse(body",{"_index":1673,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthorized",{"_index":20391,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{},"injectables/SystemRule.html":{}}}],["isauthorizedstudent",{"_index":2666,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isauthorizedstudent(userid",{"_index":2677,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isautoparameterglobal",{"_index":10557,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isautoparameterglobal(customparameter",{"_index":10569,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isaxioserror",{"_index":2089,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["isaxioserror(error",{"_index":17141,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["isbasicconfig",{"_index":10144,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isbasicconfig(config",{"_index":10157,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isblocked",{"_index":11894,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isboolean",{"_index":199,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/LoginRequestBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isboolean()@apiproperty",{"_index":8368,"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":8098,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["isboolean()@isoptional()@apiproperty({description",{"_index":6283,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":191,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["isbreakout",{"_index":2306,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["isbusinesserror",{"_index":10043,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isbusinesserror(error",{"_index":10049,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["iscard(reference",{"_index":4366,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["isclientidunique",{"_index":11154,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["isclientidunique(externaltool",{"_index":11160,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["iscolumn(reference",{"_index":5430,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["iscolumnboard",{"_index":5457,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(copystatus.copyentity",{"_index":5476,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(reference",{"_index":5446,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["iscolumnboardfeatureflagactive",{"_index":9724,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["iscolumnboardtarget",{"_index":3326,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(element.target",{"_index":3360,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(reference",{"_index":5610,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["iscontextrestricted",{"_index":6090,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscontextrestricted(externaltool",{"_index":6096,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscopyfrom",{"_index":11825,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["iscoursefinished",{"_index":21722,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["iscreator",{"_index":19370,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iscustomparameternameempty",{"_index":10558,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["iscustomparameternameempty(param",{"_index":10571,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdate",{"_index":854,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["isdate()@isoptional()@apipropertyoptional({description",{"_index":8079,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isdefaultvalueofvalidregex",{"_index":10559,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidregex(param",{"_index":10572,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype",{"_index":10560,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype(param",{"_index":10574,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdirectory",{"_index":11597,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["isdraft",{"_index":4117,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["isdrawingelement(reference",{"_index":9675,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["isemail",{"_index":302,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/PatchMyAccountParams.html":{}}}],["isemail()@isoptional()@apiproperty({description",{"_index":17926,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["isempty",{"_index":12770,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["isemptyqueryallowed",{"_index":7033,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":18166,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["isenum",{"_index":899,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["isenum(accountsearchtype",{"_index":900,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(accountsearchtype)@apiproperty({description",{"_index":885,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(classsortby",{"_index":4839,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isenum(contentelementtype",{"_index":8010,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({description",{"_index":8019,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({enum",{"_index":9832,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["isenum(customparameterlocationparams",{"_index":8383,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterlocationparams)@apiproperty",{"_index":8371,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams",{"_index":8382,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams)@apiproperty",{"_index":8377,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams",{"_index":8384,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams)@apiproperty",{"_index":8380,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(externaltoolsortby",{"_index":20934,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isenum(filerecordparenttype",{"_index":7273,"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":12491,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(filterroletype",{"_index":12492,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(h5pcontentparenttype",{"_index":12639,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(importusersortorder",{"_index":20945,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isenum(inputformat",{"_index":9646,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(inputformat)@apiproperty",{"_index":19066,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["isenum(languagetype",{"_index":4585,"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":16055,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltimessagetype)@apiproperty",{"_index":16048,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission",{"_index":16056,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission)@apiproperty",{"_index":16050,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(newstargetmodel",{"_index":8093,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["isenum(newstargetmodel)@apiproperty({enum",{"_index":8086,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isenum(previewoutputmimetypes",{"_index":7284,"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":7286,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(sanisgrouprole",{"_index":19694,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isenum(sanisgrouptype",{"_index":19674,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["isenum(sanisrole",{"_index":19719,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isenum(schoolyearquerytype",{"_index":4708,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isenum(sharetokenparenttype",{"_index":20668,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sharetokenparenttype)@apiproperty({description",{"_index":20663,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sortorder",{"_index":20950,"title":{},"body":{"classes/SortingParams.html":{}}}],["isenum(ssoauthenticationerror",{"_index":1902,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isenum(subjecttypeenum",{"_index":17189,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(subjecttypeenum)@isoptional()@apiproperty({description",{"_index":17175,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(systemtypeenum",{"_index":21558,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["isenum(tokenauthmethod",{"_index":17188,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenauthmethod)@isoptional()@apiproperty({description",{"_index":17180,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenendpointauthmethod",{"_index":17103,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(tokenendpointauthmethod)@apiproperty",{"_index":17101,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype",{"_index":2726,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype)@apiproperty",{"_index":2723,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolcontexttype",{"_index":6771,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isenum(toolcontexttype)@apiproperty",{"_index":6835,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({enum",{"_index":6768,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({type",{"_index":7156,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["isenum(videoconferencescope",{"_index":24746,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["iserv",{"_index":14401,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper",{"_index":14363,"title":{"classes/IservMapper.html":{}},"body":{"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternalschooldto(ldapschool",{"_index":14419,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternaluserdto(ldapuser",{"_index":14417,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservprovisioningstrategy",{"_index":14380,"title":{"injectables/IservProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["iservstrategy",{"_index":18312,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["isexpired",{"_index":13525,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["isexternalidequivalent",{"_index":20244,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["isexternaltoolelement(reference",{"_index":10339,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["isexternaluser",{"_index":8057,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["isfeatherserror",{"_index":10044,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfeatherserror(error",{"_index":10051,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfileelement",{"_index":21174,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(child",{"_index":21179,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isfileelement(element",{"_index":21187,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(reference",{"_index":11569,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["isfileelementresponse",{"_index":6436,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfileelementresponse(result",{"_index":6452,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfinished",{"_index":4118,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["isfinishedforuser",{"_index":21724,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isfinishedforuser(user",{"_index":21716,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isflagged",{"_index":14256,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isflagged(flagged",{"_index":14274,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isglobal",{"_index":10627,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid",{"_index":10561,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid(customparameter",{"_index":10576,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isgraceperiodexpired",{"_index":24027,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraceperiodexpired(userloginmigration",{"_index":24042,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraded",{"_index":21086,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgradedforuser",{"_index":21089,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isgradedforuser(user",{"_index":21087,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgroup",{"_index":8504,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["isguest",{"_index":24616,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["ishidden",{"_index":8175,"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":13666,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["isinfected",{"_index":1321,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["isinstancealive",{"_index":17595,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["isinstanceofloggable",{"_index":15918,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isinstanceofloggable(object",{"_index":15923,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isint",{"_index":6318,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/GroupPaginationParams.html":{},"classes/LoginRequestBody.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isint()@apipropertyoptional({description",{"_index":12935,"title":{},"body":{"classes/GroupPaginationParams.html":{}}}],["isint()@isoptional()@apiproperty({description",{"_index":6290,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["isint()@isoptional()@ispositive()@apiproperty({description",{"_index":20658,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isint()@min(0)@apipropertyoptional({description",{"_index":895,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/GroupPaginationParams.html":{},"classes/PaginationParams.html":{}}}],["isint()@min(1)@isoptional()@apipropertyoptional({description",{"_index":9172,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["isint()@min(1)@max(100)@apipropertyoptional({description",{"_index":889,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isinternal",{"_index":16461,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl",{"_index":16442,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl(url",{"_index":16447,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["islatest",{"_index":6091,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islatest(tool1",{"_index":6098,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islesson",{"_index":3327,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(element.target",{"_index":3357,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(reference",{"_index":6272,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["islibrariescontenttype(object",{"_index":13474,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["islinkelement(reference",{"_index":15804,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["islisteningonly",{"_index":2319,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["islocal",{"_index":8165,"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":16054,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocale()@apiproperty",{"_index":16046,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocalhost",{"_index":1276,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["islti11config",{"_index":10145,"title":{},"body":{"classes/ExternalTool.html":{}}}],["islti11config(config",{"_index":10159,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["ismarked",{"_index":12034,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["ismarkedfordeletion",{"_index":11658,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ismatched",{"_index":3717,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ismember",{"_index":21070,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["ismigrationactive",{"_index":16482,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismigrationactive(userloginmigration",{"_index":16487,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismongoid",{"_index":855,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseUrlParams.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupIdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PatchOrderParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolSystemParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["ismongoid()@apiproperty",{"_index":6815,"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/SchoolSystemParams.html":{},"classes/SystemIdParams.html":{},"classes/TeamRoleDto.html":{}}}],["ismongoid()@apiproperty({description",{"_index":4197,"title":{},"body":{"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/CourseUrlParams.html":{},"classes/DashboardUrlParams.html":{},"classes/ImportUserUrlParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/MoveColumnBodyParams.html":{},"classes/NewsUrlParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{}}}],["ismongoid()@apiproperty({nullable",{"_index":6812,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/GroupIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["ismongoid()@apiproperty({pattern",{"_index":8084,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/ImportUserResponse.html":{}}}],["ismongoid()@apiproperty({required",{"_index":16563,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["ismongoid()@isoptional()@apipropertyoptional",{"_index":10307,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["ismongoid({each",{"_index":4439,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["isnameunique",{"_index":10562,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnameunique(externaltool",{"_index":10578,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnan",{"_index":6159,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnan(number(val",{"_index":6152,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnesthttpexception",{"_index":10045,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnesthttpexception(error",{"_index":10054,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnextcloud",{"_index":17523,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool",{"_index":17508,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool(tool",{"_index":17513,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnotcontained",{"_index":3007,"title":{},"body":{"entities/Board.html":{}}}],["isnotempty",{"_index":856,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isnotemptystring",{"_index":21019,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnotemptystring(value",{"_index":21020,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnumber",{"_index":3791,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["isnumber()@isoptional()@apiproperty({description",{"_index":6313,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["isnumber()@min(0)@apiproperty",{"_index":3788,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@apiproperty({required",{"_index":16565,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty",{"_index":3785,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty({description",{"_index":15834,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({description",{"_index":16579,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({required",{"_index":9405,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["isnumber()@min(0)@max(500)@isoptional()@apiproperty({description",{"_index":15830,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isoauth2config",{"_index":10146,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isoauth2config(config",{"_index":10161,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isoauthconfigavailable",{"_index":13897,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["isoauthprovisioningenabledforschool",{"_index":17001,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":17014,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isobject",{"_index":12632,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isobject()@validatenested()@type(undefined",{"_index":19681,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isobject({groups",{"_index":19715,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isobjectempty",{"_index":19727,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isobjectempty(obj",{"_index":19738,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isolate",{"_index":26365,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["isolated",{"_index":26127,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isolation",{"_index":26062,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isopen",{"_index":7752,"title":{},"body":{"classes/CourseFactory.html":{}}}],["isoptional",{"_index":300,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BoardLessonResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LessonCopyApiParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isoptional()@apiproperty",{"_index":6339,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@apiproperty({description",{"_index":6330,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@isarray()@isenum(sanisgrouprole",{"_index":19692,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isoptional()@isarray()@validatenested({each",{"_index":19685,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["isoptional()@isboolean",{"_index":440,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/ProvisioningOptionsParams.html":{}}}],["isoptional()@isboolean()@apiproperty({description",{"_index":287,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":12500,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{}}}],["isoptional()@isdate",{"_index":444,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isdate()@apipropertyoptional({description",{"_index":23521,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isenum(classsortby)@apipropertyoptional({enum",{"_index":4835,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isoptional()@isenum(externaltoolsortby)@apipropertyoptional({enum",{"_index":20932,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isoptional()@isenum(filterroletype)@apipropertyoptional({enum",{"_index":12487,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isenum(importusersortorder)@apipropertyoptional({enum",{"_index":20944,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isoptional()@isenum(schoolyearquerytype)@apipropertyoptional({enum",{"_index":4706,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isoptional()@isenum(sortorder)@apipropertyoptional({enum",{"_index":4837,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["isoptional()@isenum(ssoauthenticationerror",{"_index":1894,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isint()@min(0)@apipropertyoptional({description",{"_index":8015,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isoptional()@ismongoid",{"_index":450,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@ismongoid()@apipropertyoptional({pattern",{"_index":12495,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["isoptional()@isobject()@validatenested()@type(undefined",{"_index":19702,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isoptional()@isstring",{"_index":442,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthorizationParams.html":{},"classes/SanisGeburtResponse.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@apiproperty({description",{"_index":20742,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["isoptional()@isstring()@isemail()@apiproperty({description",{"_index":294,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isstring()@isenum(newstargetmodel)@apipropertyoptional({enum",{"_index":12498,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["isoptional()@isstring()@isnotempty",{"_index":1891,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@isnotempty()@apipropertyoptional({type",{"_index":12474,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isstring()@sanitizehtml()@apipropertyoptional({description",{"_index":23523,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isstring()@sanitizehtml(inputformat.rich_text_ck5_simple)@apipropertyoptional({description",{"_index":23519,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional({groups",{"_index":19711,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isoutdated",{"_index":20248,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserScope.html":{}}}],["isoutdated(isoutdated",{"_index":24269,"title":{},"body":{"classes/UserScope.html":{}}}],["isoutdated(query.isoutdated",{"_index":23674,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["isoutdatedonscopecontext",{"_index":6106,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isoutdatedonscopeschool",{"_index":6107,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isowner",{"_index":24264,"title":{},"body":{"injectables/UserRule.html":{}}}],["ispending",{"_index":11902,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isplanned",{"_index":21725,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["ispositive",{"_index":20638,"title":{},"body":{"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["ispositive()@apiproperty({required",{"_index":20636,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["ispresenter",{"_index":2318,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["ispreviewpossible",{"_index":11905,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["ispropertyprivacyprotected",{"_index":9941,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["ispropertyprivacyprotected(target",{"_index":9951,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["isprotecteduser",{"_index":24328,"title":{},"body":{"injectables/UserService.html":{}}}],["isprovisioningenabled",{"_index":17037,"title":{},"body":{"injectables/OAuthService.html":{}}}],["ispublished",{"_index":16840,"title":{},"body":{"injectables/NewsUc.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isregexcommentmandatoryandfilled",{"_index":10563,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexcommentmandatoryandfilled(customparameter",{"_index":10580,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid",{"_index":10564,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid(param",{"_index":10582,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isrelativeurl",{"_index":6526,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrelativeurl(this.content.imageurl",{"_index":6532,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrequiredtool",{"_index":11449,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["isrichtextelement",{"_index":21175,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(child",{"_index":21180,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isrichtextelement(element",{"_index":21186,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(reference",{"_index":19087,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["isrichtextelementresponse",{"_index":6437,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isrichtextelementresponse(result",{"_index":6453,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["iss",{"_index":8025,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["issatisfiedby(t",{"_index":26032,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["isschoolnumberunique",{"_index":20432,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isschoolnumberunique(school",{"_index":20434,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isslash",{"_index":1661,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isslash(inputpath",{"_index":1659,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isstring",{"_index":299,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["isstring()@apiproperty",{"_index":2721,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/DrawingContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/LinkContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RichTextContentBody.html":{}}}],["isstring()@apiproperty({description",{"_index":308,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ChallengeParams.html":{},"classes/IdParams.html":{},"classes/ImportUserResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/RevokeConsentParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/TldrawDeleteParams.html":{}}}],["isstring()@apiproperty({nullable",{"_index":18427,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["isstring()@apiproperty({required",{"_index":12651,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"classes/RenameBodyParams.html":{}}}],["isstring()@ismongoid()@isoptional()@apipropertyoptional({description",{"_index":21915,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@isnotempty",{"_index":454,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{}}}],["isstring()@isnotempty()@apiproperty",{"_index":8366,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{}}}],["isstring()@isoptional",{"_index":1203,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/SanisAnschriftResponse.html":{}}}],["isstring()@isoptional()@apiproperty",{"_index":15780,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isstring()@isoptional()@apiproperty({description",{"_index":6296,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{}}}],["isstring()@isoptional()@apipropertyoptional",{"_index":6837,"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":21917,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@matches(undefined)@apiproperty({description",{"_index":7914,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["isstring()@sanitizehtml()@apiproperty({description",{"_index":8089,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/PatchGroupParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@sanitizehtml(inputformat.rich_text_ck5_simple)@apiproperty({description",{"_index":8077,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isstring(value",{"_index":21022,"title":{},"body":{"classes/StringValidator.html":{}}}],["isstring({groups",{"_index":19714,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isstudent",{"_index":7937,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["issubmissioncontainerelement",{"_index":9884,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(reference",{"_index":21099,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["issubmissioncontainerelement(submissioncontainerelement",{"_index":9896,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(submissioncontainterelement",{"_index":21241,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["issubmissionitem",{"_index":9885,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissionitem(child",{"_index":9899,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(parent",{"_index":9893,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(reference",{"_index":21184,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["issubmissionitemcontent",{"_index":21185,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["issubmitted",{"_index":21068,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubmittedforuser",{"_index":21073,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["issubmittedforuser(user",{"_index":21069,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubstitutionteacher",{"_index":4119,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["issuer",{"_index":1593,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["issues",{"_index":25762,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["istanbul",{"_index":3362,"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":3328,"title":{},"body":{"injectables/BoardCopyService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["istask(element.target",{"_index":3353,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["istask(reference",{"_index":21769,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isteacher",{"_index":7938,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isteamuser",{"_index":22371,"title":{},"body":{"injectables/TeamRule.html":{}}}],["istemplate",{"_index":8164,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["istoolstatuslatestorthrow",{"_index":23292,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istoolstatuslatestorthrow(userid",{"_index":23299,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istype",{"_index":13475,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["isuniqueemail",{"_index":967,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemail(email",{"_index":971,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount",{"_index":968,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount(email",{"_index":973,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser",{"_index":969,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser(email",{"_index":975,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isupgradable",{"_index":4713,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["isurl",{"_index":16379,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isuserinfinisheduser",{"_index":21719,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isuseringroup",{"_index":17854,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["isusermigrated",{"_index":16483,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isusermigrated(user",{"_index":16489,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isuserreferenced",{"_index":1807,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isuserreferenced(user",{"_index":1818,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isusersubmitter(user",{"_index":21083,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isusersubstitutionteacher(user",{"_index":7609,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["isusersubstitutionteacherincourse(user",{"_index":21743,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isvalid",{"_index":3614,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isvaluevalidfortype",{"_index":6125,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isvaluevalidfortype(type",{"_index":6145,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isverified",{"_index":11903,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isvisible",{"_index":15680,"title":{},"body":{"injectables/LessonRule.html":{}}}],["iswhitelisted",{"_index":14490,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["iswhitelisted(accountid",{"_index":14497,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["it's",{"_index":26096,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["it(\"should",{"_index":26061,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('bad",{"_index":26100,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('good",{"_index":26102,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('should",{"_index":26164,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["itask",{"_index":13790,"title":{"interfaces/ITask.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["item",{"_index":3521,"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":4047,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.'})@apiresponse({status",{"_index":4061,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.body.params.ts",{"_index":8097,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.body.params.ts:10",{"_index":8101,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.columnboardid",{"_index":5629,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["item.do",{"_index":3161,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"injectables/SubmissionItemFactory.html":{}}}],["item.do.ts",{"_index":21164,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["item.do.ts:11",{"_index":21170,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:15",{"_index":21171,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:19",{"_index":21173,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:7",{"_index":21168,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.factory.ts",{"_index":21189,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.factory.ts:7",{"_index":21190,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.name.tolocalelowercase",{"_index":10616,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["item.response",{"_index":21385,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item.response.ts",{"_index":21199,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:16",{"_index":21203,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:19",{"_index":21204,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:22",{"_index":21201,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:25",{"_index":21205,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:33",{"_index":21202,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:6",{"_index":21200,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.service",{"_index":9887,"title":{},"body":{"injectables/ElementUc.html":{}}}],["item.service.ts",{"_index":21229,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:12",{"_index":21230,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:15",{"_index":21233,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:25",{"_index":21232,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:45",{"_index":21235,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.split(';')[0",{"_index":13687,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["item.uc",{"_index":3039,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["item.uc.ts",{"_index":21244,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:27",{"_index":21246,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:38",{"_index":21250,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:64",{"_index":21252,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:76",{"_index":21248,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.url.params.ts",{"_index":21264,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.url.params.ts:11",{"_index":21265,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.userid",{"_index":9904,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["item/create",{"_index":8096,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{}}}],["item/submission",{"_index":21119,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["item/submissions.response",{"_index":4070,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item/submissions.response.ts",{"_index":21379,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:14",{"_index":21382,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:19",{"_index":21383,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:5",{"_index":21381,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/update",{"_index":23525,"title":{},"body":{"classes/UpdateSubmissionItemBodyParams.html":{}}}],["itemindex",{"_index":10613,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["itemporaryfile",{"_index":13543,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["itemporaryfilestorage",{"_index":22489,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["items",{"_index":874,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"entities/LtiTool.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/SubmissionItemResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"interfaces/UserProperties.html":{}}}],["itemsperpage",{"_index":13145,"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":9558,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["iterate",{"_index":18885,"title":{},"body":{"classes/ReferencesService.html":{}}}],["itoolfeatures",{"_index":10197,"title":{"interfaces/IToolFeatures.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["itself",{"_index":1925,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iupdatenews",{"_index":8070,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["iuser",{"_index":13198,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TemporaryFileStorage.html":{}}}],["iuserloginmigration",{"_index":23931,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["ivborw0kggoaaaansuheugaaafqaaadicayaaaaegrpoaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaaynpvfh0we1momnvbs5hzg9izs54bxaaaaaaadw/ehbhy2tldcbizwdpbj0i77u/iibpzd0ivzvnme1wq2voauh6cmvtek5uy3pryzlkij8+idx4onhtcg1ldgegeg1sbnm6ed0iywrvymu6bnm6bwv0ys8iihg6eg1wdgs9ikfkb2jlifhnucbdb3jliduuni1jmtqwidc5lje2mdq1mswgmjaxny8wns8wni0wmtowodoymsagicagicagij4gphjkzjpsreygeg1sbnm6cmrmpsjodhrwoi8vd3d3lnczlm9yzy8xotk5lzaylziylxjkzi1zew50yxgtbnmjij4gphjkzjpezxnjcmlwdglvbibyzgy6ywjvdxq9iiigeg1sbnm6eg1wpsjodhrwoi8vbnmuywrvymuuy29tl3hhcc8xljaviib4bwxuczp4bxbntt0iahr0cdovl25zlmfkb2jllmnvbs94yxavms4wl21tlyigeg1sbnm6c3rszwy9imh0dha6ly9ucy5hzg9izs5jb20vegfwlzeumc9zvhlwzs9szxnvdxjjzvjlzimiihhtcdpdcmvhdg9yvg9vbd0iqwrvymugughvdg9zag9wiendichnywnpbnrvc2gpiib4bxbnttpjbnn0yw5jzulepsj4bxauawlkojq2muq2q0y5rtqxmtexrtdbmtg3qkq2mdvgmufemuiwiib4bxbnttpeb2n1bwvudelepsj4bxauzglkojq2muq2q0zbrtqxmtexrtdbmtg3qkq2mdvgmufemuiwij4gphhtce1nokrlcml2zwrgcm9tihn0umvmomluc3rhbmnlsuq9inhtcc5pawq6ndyxrdzdrjdfndexmtffn0exoddcrdywnuyxquqxqjaiihn0umvmomrvy3vtzw50suq9inhtcc5kawq6ndyxrdzdrjhfndexmtffn0exoddcrdywnuyxquqxqjailz4gpc9yzgy6rgvzy3jpchrpb24+idwvcmrmoljerj4gpc94onhtcg1ldge+idw/ehbhy2tldcblbmq9iniipz45ejsraaalfuleqvr42uzdgxwjoaigyhlvgsiv4cnbu4jtgqeepis4hksepis4blseu4rjcemscmhgzpplkycmago+7z3ezs3tysus+beicfx29lyaaop2hz8baah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaaidabdoaibabwaeogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqaqcbdgaidaaq6acaqacabdoainabqkadaaidabdoaibabwcbdgaidabaoamaah0abdoainabgn79109abldxv9flpxblnov/doblfv7+ug77+hfvn39vb29vb78emdpg1faup2idwwvcgm3883ambbas6/yorpp414ujf+w4z+2r/12wdasol6zdl4ufa4fdvgu0gyp/x6styjd0jx8a/03gogn1cvtuyxn3eq4267cv3+t16u2jhz701lfb6dealngbt2ydz+ccddheq7lottznizy11pvahv6aeohj3erhgp12ltujzrj6e28y1cw8g/p4cgeqkbephvpq522jp3lmynvjwwe/2rbbjsq66kht/wwn4+pw3jt76lq9o76nb5jco+gw35/l/p/ijxx43/auy+2+cqpmu7+o+9zfzzihsj511nf+bmr5gt/jltz1oeicnbzh/lt8c0+rc1wwl/3ivlvkvcu3h44/krtth/lzdvfy8bblxxquej8f+6b8zieut6snviccnxm/oc5jmpchdmixqzxlk3qiustov3d8inkc6c0hkoum45pmj9zhyj+pq4hozr9qr08i8zbrzru3u4rjcs9+fwhe44nkryewu/gd+ijr04blrrzu4xh4bi1t3camgmkb4lh4m4n2/0gnrh5jqwbr1u3vzmntwrxhefszuep7ez1+tcu2v9lr+2syagv3mvcfteumzb0vml1ifz0q6/74kzf3za3km/lb/cjd56zuh4oyyuy/1nnpzhknfe9fnd/9jqr0g/1vk1d+frk/hym2d+3vx7o7g83ybtggm86ydn1g1lfzlw3lumy4/9df7mv68vwdjrbpc3sbnrlt7lru//2bztekuwv0y2t/myb+jr6kh9q0lzjk2yv+1q6jx7dsy3qf4xe9/2c/t+rqy2tmq91lrcewv4zcf/8txmzzqz2ish+sirsvvzv2ei/bhgv1uuzrzduyqjls1upyenu+doj7+f78s+lay/l3z+pwnaq6wqm9x4pt8udzi3tki7vhrdn7rovee753uyiotr+7xec4zzutpd45kvim+e3old1ih/sew3yldgu609hb4zpnvty0vugzpd11maqmgbbp6a+5rngpiwxdd1dwqxdhpse6fohc1ijkqm7khnnvjvjxhv0iroqrrxwxf2/btvty1tnazvwhap2jqesyvnqjl5s2toryc8thv1luvbd9rvk2od+t1ofz16faz3tqll89xpjktpq2srtociphtm/lswyeeaz1n7psukzpfzrvhqp0pqwuu4rovlnulzjotfue7c9drsfvu/dz8xytq5yzpl8ddluhap1rspmo9ntp2pjmpnv31tlb3vwefc8j1nwg7/yz2zmvvr0kdkygph+aelyddlrh5u6vmtq3mdxdjidhgkx7bvchepyj7x30zvwhap38fmx4vxwwbtj8t3a/quncd4sy7uhfcchgx2laz1q1n7sxl0d3a3ynbcvvpkayqsmr8niwtjrtlym4zew99y1j1wszsivjdnwljdywkihrejegd2mqa3inezhpenlzl2/uoudnckp9utxgfewe1ycguxpy2cgm2eogp4/tevvysbktm9a95bqtzcujzv10wnb5ucpokdxhoxhjnvahxqqt2td0ifrnqpnm+zszrkkoeegmeorhunl4mcoqc7chuxu4z/5kljyaqkefud8cvsutbhvos2nhefanugcevbvqhqp0livyyy0e+++3nxv5zrkgy/avfuhjtkpatq4gevyx9nnxcyqrohtozlqto8vvb9tntx16h99rhil9f8wfe+1tan5xse8tpvmdcxeuj1rwdsjq4dor+/oo4mmiprzwsonceladm9ajbc3/p8tobthyo5/6381o7hc3qsf6rtcvsjlshqp0jhvwr2ggfln9ikp31al1ks974dkc1ys04onkouv3hkvz1afahzaj92pcxcqz55aonybajtp7vgebej7bjso61pegtkkobtq8c/a7hfc3vow0pnyo6fonfnwfty3votjf9szkqg4fomrrdy9v4seaxgleqidc9jfyja8c7uxfi4kvdbkd2yh9snuo0ohzg8dwl0hiafapyy8q77vwpv1xknqhqd2vqfa9htthwdehqgecqiejz73q1cldomdwtvlq+nhgekj1i8jhtpdq4zlkdftyjq3ptakobtpjfl7d+htf6jtbv4+mervbtkq8tvxqrdcfzyel+vuuhyjtmmekx8syztxh2dahqgd0o/pqsaqdsng2fjprpljcz1chrfc1mllresotmkeco7zeimg6sotpe9s173cyu+ngxuvzdsjqmv6y337qscjetv2mzlh3p80ifxruirr1csio76xn4kphhdkcocygwtagco6y1gnle8nr38jop5z3qq4fotmk88uxgxsdo2n47elt0w4z78m/fpwz2ndqynkj9dbqtv3jlartaionvhwmiracclekpukrwulhb2uni9nugpnb307py3eem1pedtigy3t5q08tldzfvxzcbrgv7zl4j59a3njfblm0wwv5oy6ow7ru+y/2u4xn03x73na9fv05ty9lbn+n/i7xyn10zsa6aooxhr6qe8jiz2xmamsyqg37upmstweqm5ctvlnv1tfjl6mclbw6nbuogq7nkkvdt6kobbpap+dav46b3uze26h455l5rgi+smz3rjugqd/fqi/fofw+afd6cyjm/s2xci95lbfsk6jdibjktuob+bbfrnlmflo1lnljeujpdykdkmbtmnylxq308b0fqryfhqtrq86+/n1jomeyt6kobtpjokcu4ogmz9nmz5c0cyxwbfaxtse+zyahs9jf+gyco+wqhwi/dszvwh0kdc77gbo6xvci/s1pbaziqq3et8huf/q0hdhdxverhgyqaxv+fqtraxzb/ui6vfoqq4hour9qj9+stupgxl6pbxyjc+pgsddf/uwcd7fdf4urua1+ahnved0v3vwdc79fcpfvxxpq1og4mbt37wzmutzp5vng3zb889tnsmmlvnvxl/rg1d4uuf118tvgryluy/ubtwh/29ggd2dcdzn62j6w9tk+vnyo5zpmhqp0xhqw1amk1+8csvrz69fiyxv/vj1ab6ttykgmx87ftb3j9lc9etha9hf7wlxw2qdl3cdyjqqsu6pdgq4a/oueogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4aah0aeogageahaaq6aah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaah0abdoaibabwaeogag0afaoamaah0aeogageahaieoaah0aecgawachqaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqayd+/v+aaqadxuxs75wqpqaaaabjru5erkjggg",{"_index":8356,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ivideoconferenceproperties",{"_index":24385,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["ivideoconferencesettings",{"_index":13810,"title":{"interfaces/IVideoConferenceSettings.html":{}},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["javascript",{"_index":2374,"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":22552,"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":25771,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["jest.fn",{"_index":26175,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.resetallmocks",{"_index":26152,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.restoreallmocks",{"_index":26160,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.spyon",{"_index":26172,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jira",{"_index":25012,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["job",{"_index":8962,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["job_init_idm.yml.j2",{"_index":14943,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["john",{"_index":23735,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["john${sequence",{"_index":14092,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["join",{"_index":2277,"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":2368,"title":{},"body":{"injectables/BBBService.html":{}}}],["join(currentuser",{"_index":24436,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["join(currentuserid",{"_index":24632,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.config",{"_index":2289,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["join.config.ts",{"_index":2255,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:18",{"_index":2260,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:20",{"_index":2263,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:22",{"_index":2264,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:24",{"_index":2261,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:26",{"_index":2262,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:8",{"_index":2259,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.response.ts",{"_index":2294,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["join.response.ts:5",{"_index":24629,"title":{},"body":{"classes/VideoConferenceJoinResponse.html":{}}}],["join.ts",{"_index":24624,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:5",{"_index":24627,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:7",{"_index":24626,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:9",{"_index":24625,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.uc.ts",{"_index":24630,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:12",{"_index":24631,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:19",{"_index":24633,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder",{"_index":24635,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.asguest(true",{"_index":24642,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.withrole(bbbrole.moderator",{"_index":24640,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joining",{"_index":24439,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["joinpath",{"_index":12118,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(...paths",{"_index":12136,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(path",{"_index":3943,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["joins",{"_index":24694,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["jose",{"_index":24904,"title":{},"body":{"dependencies.html":{}}}],["jpeg",{"_index":10499,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["js",{"_index":7558,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/UsersList.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["json",{"_index":1610,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["json.parse(data",{"_index":15023,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["json.parse(filecontent",{"_index":5314,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace",{"_index":5379,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace(/\\\\\\$/g",{"_index":5383,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify",{"_index":5279,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(collections",{"_index":8866,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["json.stringify(e.constraints",{"_index":9968,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["json.stringify(payload",{"_index":2810,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["json.stringify(response.body",{"_index":1682,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(response.error",{"_index":1679,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(sortedbsondocuments",{"_index":5342,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(this.axioserror.response?.data",{"_index":2110,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["json.stringify(where",{"_index":20548,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["jsonaccount",{"_index":14430,"title":{"interfaces/JsonAccount.html":{}},"body":{"interfaces/JsonAccount.html":{},"classes/KeycloakSeedService.html":{}}}],["jsondocuments",{"_index":4224,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["jsondocuments.length",{"_index":8934,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["jsontype",{"_index":6619,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["jsonuser",{"_index":14434,"title":{"interfaces/JsonUser.html":{}},"body":{"interfaces/JsonUser.html":{},"classes/KeycloakSeedService.html":{}}}],["jsonwebtoken",{"_index":1548,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"dependencies.html":{}}}],["jti",{"_index":1730,"title":{},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["jwks",{"_index":17127,"title":{},"body":{"injectables/OauthAdapterService.html":{},"classes/OauthConfigResponse.html":{},"dependencies.html":{}}}],["jwksendpoint",{"_index":13705,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["jwksrsa",{"_index":17126,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.jwksclient",{"_index":17130,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.signingkey",{"_index":17131,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksuri",{"_index":17120,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwt",{"_index":1585,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/HydraOauthUc.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LocalStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"controllers/UserLoginMigrationController.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["jwt.decode(input.idtoken",{"_index":14404,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwt.decode(jwttoken",{"_index":1736,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwt.sign",{"_index":8042,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwt.verify(idtoken",{"_index":17053,"title":{},"body":{"injectables/OAuthService.html":{}}}],["jwt=${jwt",{"_index":13600,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["jwtauthguard",{"_index":14436,"title":{"injectables/JwtAuthGuard.html":{}},"body":{"injectables/JwtAuthGuard.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["jwtconstants",{"_index":1549,"title":{"interfaces/JwtConstants.html":{}},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions",{"_index":14479,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions.algorithm",{"_index":1588,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.audience",{"_index":1590,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.expiresin",{"_index":1592,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.header",{"_index":1596,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.issuer",{"_index":1594,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.secret",{"_index":1599,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor",{"_index":14454,"title":{"classes/JwtExtractor.html":{}},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor.fromcookie('jwt",{"_index":14476,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequest",{"_index":14473,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequestfunction",{"_index":14460,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["jwtfromresponse",{"_index":1656,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["jwtid",{"_index":1733,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtmodule",{"_index":1541,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmodule.register(jwtmoduleoptions",{"_index":1601,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmoduleoptions",{"_index":1542,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtoptions",{"_index":14441,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["jwtpayload",{"_index":1719,"title":{"interfaces/JwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwtpayload.accountid",{"_index":8133,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.isexternaluser",{"_index":8140,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.roles",{"_index":8135,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.schoolid",{"_index":8136,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.support",{"_index":8139,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.systemid",{"_index":8134,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.userid",{"_index":8137,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtservice",{"_index":1694,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtstrategy",{"_index":1527,"title":{"injectables/JwtStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwttestfactory",{"_index":8038,"title":{"classes/JwtTestFactory.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwttoicurrentuser",{"_index":8105,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoicurrentuser(jwtpayload",{"_index":8109,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoken",{"_index":1709,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtvalidationadapter",{"_index":1528,"title":{"injectables/JwtValidationAdapter.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["k",{"_index":1810,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["kann",{"_index":5557,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["kc",{"_index":14578,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.clients.addprotocolmapper",{"_index":14750,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.create(cr",{"_index":14726,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.find",{"_index":14581,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.getclientsecret",{"_index":14583,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kc.clients.listprotocolmappers",{"_index":14742,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.update",{"_index":14727,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.updateprotocolmapper",{"_index":14747,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.create",{"_index":14761,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.createmapper",{"_index":14773,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.del",{"_index":14767,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.find",{"_index":14729,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.findmappers",{"_index":14768,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.update",{"_index":14764,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.updatemapper",{"_index":14769,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realmname",{"_index":14698,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.makerequest",{"_index":14694,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.update",{"_index":14585,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.users.count",{"_index":14904,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create",{"_index":14879,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create(idmuserrepresentation",{"_index":14982,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.del",{"_index":15017,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["kc.users.del(id",{"_index":14889,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.find",{"_index":14905,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.findone",{"_index":14915,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.resetpassword",{"_index":14886,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.update",{"_index":14920,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadmin",{"_index":14637,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadminclient",{"_index":14555,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["kcadminservice",{"_index":14825,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["kcsettings",{"_index":14553,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.baseurl",{"_index":14569,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.realmname",{"_index":14570,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kebab",{"_index":26234,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["keep",{"_index":5324,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/StorageProviderEncryptedStringType.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["keepdiscriminatorproperty",{"_index":9655,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["keeps",{"_index":25721,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["kennung",{"_index":19701,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["kernel",{"_index":25172,"title":{},"body":{"license.html":{}}}],["key",{"_index":2125,"title":{},"body":{"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BoardCopyService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/CopyHelperService.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/S3ClientAdapter.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["key.config",{"_index":9360,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["key.config.ts",{"_index":24798,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["key.getpublickey",{"_index":17133,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["key.strategy",{"_index":1560,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["key.strategy.ts",{"_index":24800,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:16",{"_index":24803,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:9",{"_index":24802,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.substring(path.length",{"_index":19628,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["keycloak",{"_index":618,"title":{"additional-documentation/nestjs-application/keycloak.html":{}},"body":{"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloak/keycloak",{"_index":14532,"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":13891,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak/service/keycloak",{"_index":13893,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak:/tmp/realms",{"_index":26308,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloakadminclient",{"_index":14531,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakadministration",{"_index":14516,"title":{"classes/KeycloakAdministration.html":{}},"body":{"classes/KeycloakAdministration.html":{}}}],["keycloakadministrationmodule",{"_index":13884,"title":{"modules/KeycloakAdministrationModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["keycloakadministrationservice",{"_index":14529,"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":14592,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["keycloakconfigservice",{"_index":14789,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfiguration",{"_index":14535,"title":{"classes/KeycloakConfiguration.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloakinputfiles",{"_index":14619,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloaksettings",{"_index":14538,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["keycloakconfigurationinputfiles",{"_index":13757,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakconfigurationmodule",{"_index":14599,"title":{"modules/KeycloakConfigurationModule.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["keycloakconfigurationservice",{"_index":14604,"title":{"injectables/KeycloakConfigurationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfigurationuc",{"_index":4893,"title":{"injectables/KeycloakConfigurationUc.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole",{"_index":4907,"title":{"classes/KeycloakConsole.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole.retryflags",{"_index":4927,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakidentitymanagementoauthservice",{"_index":13892,"title":{"injectables/KeycloakIdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakidentitymanagementservice",{"_index":13894,"title":{"injectables/KeycloakIdentityManagementService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakinputfiles",{"_index":14594,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["keycloakmanagementcontroller",{"_index":14608,"title":{"controllers/KeycloakManagementController.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakmanagementuc",{"_index":14948,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["keycloakmigrationservice",{"_index":14606,"title":{"injectables/KeycloakMigrationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{}}}],["keycloakmodule",{"_index":13885,"title":{"modules/KeycloakModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/ServerConsoleModule.html":{}}}],["keycloakseedservice",{"_index":14605,"title":{"classes/KeycloakSeedService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloaksettings",{"_index":13762,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakuser",{"_index":14892,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers",{"_index":14896,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.length",{"_index":14900,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.map((user",{"_index":14912,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keypair",{"_index":8029,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.privatekey.export",{"_index":8037,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.publickey.export",{"_index":8034,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypairkeyobjectresult",{"_index":8028,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keys",{"_index":617,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/JwtConstants.html":{},"license.html":{}}}],["keyvalue",{"_index":1759,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["keywords",{"_index":25610,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["kickuserfromgroup(groupname",{"_index":1128,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["kind",{"_index":25141,"title":{},"body":{"license.html":{}}}],["kinds",{"_index":25051,"title":{},"body":{"license.html":{}}}],["kiss",{"_index":25826,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["know",{"_index":25071,"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":25866,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["knowingly",{"_index":25480,"title":{},"body":{"license.html":{}}}],["knowledge",{"_index":25487,"title":{},"body":{"license.html":{}}}],["known",{"_index":5404,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["known/jwks.json",{"_index":13707,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["known/openid",{"_index":14575,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kontinuierlich",{"_index":5550,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ktid",{"_index":19836,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["kurse",{"_index":7566,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["kvcache",{"_index":13480,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["l",{"_index":9161,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["l.course.isfinished()).map((l",{"_index":22213,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.id",{"_index":22214,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.name",{"_index":15594,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["label",{"_index":25020,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["labelnames",{"_index":18981,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["labels",{"_index":18983,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["language",{"_index":1198,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"classes/MongoPatterns.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["language_override",{"_index":5375,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["languagetype",{"_index":4582,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["languagetype'})@isenum(languagetype",{"_index":12641,"title":{},"body":{"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{}}}],["languagetype'})@isenum(languagetype)@isoptional",{"_index":12630,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["languagetype})@isenum(languagetype",{"_index":4583,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["largely",{"_index":26076,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["larger",{"_index":25266,"title":{},"body":{"license.html":{}}}],["last",{"_index":8017,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/UserInfoResponse.html":{}}}],["lastauthorizationtime",{"_index":14542,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["lastloginsystemchange",{"_index":23530,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["lastloginsystemchangebetweenend",{"_index":20262,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangebetweenstart",{"_index":20261,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangesmallerthan",{"_index":20249,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastmodifytimestamp",{"_index":15055,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastname",{"_index":701,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lastname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14291,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["lastnamesearchvalues",{"_index":5367,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["lastpositionlibrariestocheckarray",{"_index":13498,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastpositionlibrariestoinstallarray",{"_index":13509,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastsuccessfulfullsync",{"_index":15056,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsuccessfulpartialsync",{"_index":15057,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsyncattempt",{"_index":15058,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lasttriedfailedlogin",{"_index":82,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["lastupdatedat",{"_index":4035,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["lastvaluefrom",{"_index":1055,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ExternalToolLogoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["lastvaluefrom(observable",{"_index":17140,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["lastvaluefrom(this.httpservice.get>(wellknownurl))).data",{"_index":14833,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["later",{"_index":3753,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["latest",{"_index":15773,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/NewsUc.html":{},"controllers/ToolConfigurationController.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["latest.patchversion",{"_index":15776,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["launch",{"_index":2800,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["launch.controller",{"_index":23012,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch.controller.ts",{"_index":23206,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.controller.ts:28",{"_index":23215,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.mapper.ts",{"_index":23232,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:24",{"_index":23238,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:29",{"_index":23243,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:34",{"_index":23240,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:39",{"_index":23246,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.module.ts",{"_index":23268,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch.params.ts",{"_index":23273,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.params.ts:7",{"_index":23274,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.service.ts",{"_index":23289,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:23",{"_index":23294,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:39",{"_index":23296,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:52",{"_index":23298,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:74",{"_index":23302,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:87",{"_index":23300,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.strategy",{"_index":2799,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.strategy.ts",{"_index":2738,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.uc.ts",{"_index":23327,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:12",{"_index":23329,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:19",{"_index":23331,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch/controller/dto/tool",{"_index":23272,"title":{},"body":{"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launch/controller/tool",{"_index":23011,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["launch/error/missing",{"_index":16521,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["launch/error/parameter",{"_index":17911,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launch/error/tool",{"_index":23482,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launch/mapper/lti",{"_index":16075,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["launch/mapper/tool",{"_index":23231,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch/service/auto",{"_index":2000,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["launch/service/launch",{"_index":2736,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["launch/service/lti11",{"_index":16018,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["launch/service/tool",{"_index":23288,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch/settings",{"_index":25635,"title":{},"body":{"todo.html":{}}}],["launch/tool",{"_index":23267,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch/types/authentication",{"_index":1757,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["launch/types/property",{"_index":18239,"title":{},"body":{"classes/PropertyData.html":{}}}],["launch/types/tool",{"_index":23223,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{}}}],["launch/uc",{"_index":23013,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch/uc/tool",{"_index":23326,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch_presentation_locale",{"_index":8337,"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":5931,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["launchdata",{"_index":23317,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launchdatatype",{"_index":23241,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launched",{"_index":23214,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launching",{"_index":17916,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launchrequest",{"_index":23312,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["launchrequestmethod",{"_index":2762,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.get",{"_index":2814,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.post",{"_index":2813,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["law",{"_index":25132,"title":{},"body":{"license.html":{}}}],["laws",{"_index":25111,"title":{},"body":{"license.html":{}}}],["lawsuit",{"_index":25453,"title":{},"body":{"license.html":{}}}],["lax",{"_index":20614,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["layer",{"_index":23346,"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":25974,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["layers",{"_index":25618,"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":17958,"title":{},"body":{"injectables/PermissionService.html":{}}}],["ldap",{"_index":13728,"title":{},"body":{"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"controllers/LoginController.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"classes/UserMigrationIsNotEnabled.html":{},"todo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ldap'})@apiresponse({status",{"_index":15937,"title":{},"body":{"controllers/LoginController.html":{}}}],["ldap_connection_failed",{"_index":15175,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["ldap_password_encryption_key",{"_index":9918,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["ldap_univention_migration",{"_index":19918,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapactive",{"_index":21499,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{}}}],["ldapalreadypersistedexception",{"_index":15025,"title":{"classes/LdapAlreadyPersistedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["ldapauthorizationbodyparams",{"_index":15038,"title":{"classes/LdapAuthorizationBodyParams.html":{}},"body":{"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{}}}],["ldapconfig",{"_index":15045,"title":{"classes/LdapConfig.html":{}},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{}}}],["ldapconfig.active",{"_index":15104,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.federalstate",{"_index":15106,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastmodifytimestamp",{"_index":15114,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulfullsync",{"_index":15110,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulpartialsync",{"_index":15112,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsyncattempt",{"_index":15108,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provider",{"_index":15122,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provideroptions",{"_index":15124,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.rootpath",{"_index":15117,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuser",{"_index":15119,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuserpassword",{"_index":15121,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.url",{"_index":15115,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfigentity",{"_index":15053,"title":{"classes/LdapConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconnectionerror",{"_index":15170,"title":{"classes/LdapConnectionError.html":{}},"body":{"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{}}}],["ldapdn",{"_index":4593,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["ldapencryptionservice",{"_index":5205,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{}}}],["ldapid",{"_index":13950,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["ldapjs",{"_index":15184,"title":{},"body":{"injectables/LdapService.html":{},"dependencies.html":{}}}],["ldapjs.git",{"_index":24910,"title":{},"body":{"dependencies.html":{}}}],["ldaps:mock.de:389",{"_index":21543,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["ldapschool",{"_index":14412,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapschoolidentifier",{"_index":19892,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapservice",{"_index":1529,"title":{"injectables/LdapService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{}}}],["ldapservice:connect",{"_index":15202,"title":{},"body":{"injectables/LdapService.html":{}}}],["ldapstrategy",{"_index":1530,"title":{"injectables/LdapStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["ldapuniventionmigrationschool",{"_index":19919,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapuser",{"_index":14407,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapuser.roles.map((roleref",{"_index":14414,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapusermigrationexception",{"_index":15028,"title":{"classes/LdapUserMigrationException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["lead",{"_index":4530,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{}}}],["leads",{"_index":22080,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["leaf",{"_index":3610,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["lean",{"_index":24919,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["learn",{"_index":25710,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["learner",{"_index":8145,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["learning",{"_index":12522,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["learningmodules",{"_index":6030,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["learnroom",{"_index":3907,"title":{"interfaces/Learnroom.html":{}},"body":{"modules/BoardModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroom.module",{"_index":15269,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["learnroomapimodule",{"_index":15257,"title":{"modules/LearnroomApiModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["learnroomelement",{"_index":2955,"title":{"interfaces/LearnroomElement.html":{}},"body":{"entities/Board.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["learnroommetadata",{"_index":7550,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/UsersList.html":{}}}],["learnroommodule",{"_index":9051,"title":{"modules/LearnroomModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PseudonymModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroomtypes",{"_index":7551,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["learnroomtypes.course",{"_index":7621,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["leave",{"_index":7142,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["leaves",{"_index":22605,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["left",{"_index":25893,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["legacy",{"_index":997,"title":{},"body":{"injectables/AccountValidationService.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapConfigEntity.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LoggerModule.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/deprecated",{"_index":26442,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/feathers",{"_index":25775,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/feathers/mocha",{"_index":25752,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/nest",{"_index":25662,"title":{},"body":{"todo.html":{}}}],["legacylogger",{"_index":2448,"title":{"injectables/LegacyLogger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["legacyschoolapimodule",{"_index":15317,"title":{"modules/LegacySchoolApiModule.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["legacyschooldo",{"_index":2071,"title":{"classes/LegacySchoolDo.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymUc.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["legacyschooldofactory",{"_index":15368,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory",{"_index":15360,"title":{"classes/LegacySchoolFactory.html":{}},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory.define(legacyschooldo",{"_index":15369,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolmodule",{"_index":6077,"title":{"modules/LegacySchoolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["legacyschoolrepo",{"_index":1531,"title":{"injectables/LegacySchoolRepo.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["legacyschoolrule",{"_index":1871,"title":{"injectables/LegacySchoolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/RuleManager.html":{}}}],["legacyschoolservice",{"_index":2066,"title":{"injectables/LegacySchoolService.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legacysystemrepo",{"_index":671,"title":{"injectables/LegacySystemRepo.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["legacysystemservice",{"_index":15491,"title":{"injectables/LegacySystemService.html":{}},"body":{"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legal",{"_index":25079,"title":{},"body":{"license.html":{}}}],["legayschoolrule",{"_index":19492,"title":{},"body":{"injectables/RuleManager.html":{}}}],["legend",{"_index":256,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["length",{"_index":3846,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/TldrawWsService.html":{}}}],["lernstore",{"_index":6217,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lernstore_view",{"_index":19929,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["lesson",{"_index":1937,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson({course",{"_index":26430,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson.contents.foreach((content",{"_index":5796,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.contents.map((c",{"_index":15718,"title":{},"body":{"injectables/LessonService.html":{}}}],["lesson.course",{"_index":19379,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRepo.html":{}}}],["lesson.course.name",{"_index":9794,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.coursegroup",{"_index":22003,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["lesson.coursename",{"_index":19338,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.createdat",{"_index":9792,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.entity",{"_index":2958,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["lesson.getnumberofdrafttasks",{"_index":9797,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofplannedtasks",{"_index":9799,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofpublishedtasks",{"_index":9795,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.hidden",{"_index":9791,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["lesson.id",{"_index":9790,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.module",{"_index":15552,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["lesson.name",{"_index":5794,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/DtoCreator.html":{},"injectables/LessonUrlHandler.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofdrafttasks",{"_index":19336,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofplannedtasks",{"_index":19337,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofpublishedtasks",{"_index":19335,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.response",{"_index":3769,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["lesson.response.ts",{"_index":3773,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:27",{"_index":3783,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:31",{"_index":3784,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:35",{"_index":3780,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:40",{"_index":3789,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:46",{"_index":3786,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:5",{"_index":3778,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:52",{"_index":3787,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:55",{"_index":3781,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:58",{"_index":3790,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:61",{"_index":3782,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.rule",{"_index":22110,"title":{},"body":{"injectables/TaskRule.html":{}}}],["lesson.tasks.getitems",{"_index":5801,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.updatedat",{"_index":9793,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson/task",{"_index":20743,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["lessonapimodule",{"_index":15545,"title":{"modules/LessonApiModule.html":{}},"body":{"modules/LessonApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["lessonboardelement",{"_index":2968,"title":{"entities/LessonBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/LessonBoardElement.html":{}}}],["lessoncontroller",{"_index":15551,"title":{"controllers/LessonController.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{}}}],["lessoncopyapiparams",{"_index":7428,"title":{"classes/LessonCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"classes/LessonCopyApiParams.html":{},"controllers/RoomsController.html":{}}}],["lessoncopyparentparams",{"_index":7430,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/LessonCopyUC.html":{}}}],["lessoncopyservice",{"_index":3285,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/ShareTokenUC.html":{}}}],["lessoncopyuc",{"_index":15261,"title":{"injectables/LessonCopyUC.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{}}}],["lessonelement",{"_index":3384,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["lessonelements",{"_index":4011,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["lessonentity",{"_index":2957,"title":{"entities/LessonEntity.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"entities/LessonBoardElement.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonfactory",{"_index":15614,"title":{"classes/LessonFactory.html":{}},"body":{"classes/LessonFactory.html":{}}}],["lessonfactory.define",{"_index":15616,"title":{},"body":{"classes/LessonFactory.html":{}}}],["lessonhidden",{"_index":21683,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonid",{"_index":5762,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"interfaces/ITask.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonids",{"_index":22045,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["lessonidsoffinishedcourses",{"_index":22010,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonidsofopencourses",{"_index":22008,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonmetadata",{"_index":9756,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lessonmodule",{"_index":1908,"title":{"modules/LessonModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{}}}],["lessonname",{"_index":21682,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonparent",{"_index":6230,"title":{"interfaces/LessonParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["lessonproperties",{"_index":6212,"title":{"interfaces/LessonProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["lessonreadpermission",{"_index":15658,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonreadpermission(user",{"_index":15668,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonrepo",{"_index":15626,"title":{"injectables/LessonRepo.html":{}},"body":{"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{}}}],["lessonrule",{"_index":1872,"title":{"injectables/LessonRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{}}}],["lessons",{"_index":5788,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"controllers/LessonController.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessons.filter((l",{"_index":22212,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.foreach((lesson",{"_index":5790,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lessons.map((l",{"_index":22235,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.map((lesson",{"_index":15717,"title":{},"body":{"injectables/LessonService.html":{}}}],["lessonscope",{"_index":15641,"title":{"classes/LessonScope.html":{}},"body":{"injectables/LessonRepo.html":{},"classes/LessonScope.html":{}}}],["lessonservice",{"_index":5747,"title":{"injectables/LessonService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["lessonuc",{"_index":15549,"title":{"injectables/LessonUC.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonUC.html":{}}}],["lessonurlhandler",{"_index":15730,"title":{"injectables/LessonUrlHandler.html":{}},"body":{"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["lessonurlparams",{"_index":15559,"title":{"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{}},"body":{"controllers/LessonController.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"controllers/RoomsController.html":{}}}],["lessonwritepermission",{"_index":15659,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonwritepermission(user",{"_index":15670,"title":{},"body":{"injectables/LessonRule.html":{}}}],["letter",{"_index":796,"title":{},"body":{"injectables/AccountRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["letters",{"_index":26228,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["letting",{"_index":25096,"title":{},"body":{"license.html":{}}}],["level",{"_index":3912,"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":3957,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["levels",{"_index":15900,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lf",{"_index":18877,"title":{},"body":{"classes/ReferencesService.html":{}}}],["liability",{"_index":25375,"title":{},"body":{"license.html":{}}}],["liable",{"_index":25129,"title":{},"body":{"license.html":{}}}],["lib",{"_index":15774,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib.patchversion",{"_index":15775,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib0",{"_index":22878,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["libraries",{"_index":1238,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["libraries/:ubername/:file",{"_index":13314,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["librariesbodyparams",{"_index":1233,"title":{"classes/LibrariesBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["librariescontenttype",{"_index":13472,"title":{"interfaces/LibrariesContentType.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariescontenttype.h5p_libraries",{"_index":13496,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck",{"_index":13451,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.length",{"_index":13497,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.slice(0",{"_index":13505,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck[lastpositionlibrariestocheckarray].dependentscount",{"_index":13500,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestoinstall",{"_index":13448,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["librariestoinstall.length",{"_index":13508,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariesyamlcontent",{"_index":13492,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["library",{"_index":11710,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["libraryadministration",{"_index":13433,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryadministration(this.librarymanager",{"_index":13490,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryfileurlparams",{"_index":13269,"title":{"classes/LibraryFileUrlParams.html":{}},"body":{"controllers/H5PEditorController.html":{},"classes/LibraryFileUrlParams.html":{}}}],["librarymanager",{"_index":13434,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarymetadata.addto",{"_index":11759,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.author",{"_index":11761,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.coreapi",{"_index":11763,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.description",{"_index":11764,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.droplibrarycss",{"_index":11766,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.dynamicdependencies",{"_index":11767,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.editordependencies",{"_index":11768,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.embedtypes",{"_index":11769,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.fullscreen",{"_index":11771,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.h",{"_index":11772,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.license",{"_index":11773,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.machinename",{"_index":11750,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.majorversion",{"_index":11751,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.metadatasettings",{"_index":11775,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.minorversion",{"_index":11752,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.patchversion",{"_index":11754,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedcss",{"_index":11777,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadeddependencies",{"_index":11778,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedjs",{"_index":11780,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.requiredextensions",{"_index":11783,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.runnable",{"_index":11756,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.state",{"_index":11784,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.title",{"_index":11757,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.w",{"_index":11781,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryname",{"_index":11698,"title":{"classes/LibraryName.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryparameters",{"_index":1242,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryparametersbodyparams",{"_index":1235,"title":{"classes/LibraryParametersBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryrepo",{"_index":13390,"title":{"injectables/LibraryRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/LibraryRepo.html":{}}}],["librarystorage",{"_index":13389,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarywishlist",{"_index":13435,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libs",{"_index":15769,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs.length",{"_index":15770,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs[0",{"_index":15771,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["license",{"_index":6578,"title":{"license.html":{}},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{},"properties.html":{}}}],["licensed",{"_index":25115,"title":{},"body":{"license.html":{}}}],["licensee",{"_index":25116,"title":{},"body":{"license.html":{}}}],["licensees",{"_index":25118,"title":{},"body":{"license.html":{}}}],["licenseextras",{"_index":6579,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licenses",{"_index":25057,"title":{},"body":{"license.html":{}}}],["licenseversion",{"_index":6580,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licensing",{"_index":25431,"title":{},"body":{"license.html":{}}}],["licensors",{"_index":25382,"title":{},"body":{"license.html":{}}}],["likes",{"_index":26238,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["likewise",{"_index":25424,"title":{},"body":{"license.html":{}}}],["limit",{"_index":56,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"dependencies.html":{},"license.html":{}}}],["limitation",{"_index":25561,"title":{},"body":{"license.html":{}}}],["limited",{"_index":25550,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["limiting",{"_index":25374,"title":{},"body":{"license.html":{}}}],["line",{"_index":1088,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ReferencesService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lines",{"_index":18887,"title":{},"body":{"classes/ReferencesService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["link",{"_index":2370,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/GetMetaTagDataBody.html":{},"modules/ImportUserModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["linkcontentbody",{"_index":6507,"title":{"classes/LinkContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linked",{"_index":25180,"title":{},"body":{"license.html":{}}}],["linkedtool",{"_index":18727,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["linkelement",{"_index":3143,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["linkelement.description",{"_index":6523,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["linkelement.id",{"_index":18779,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.imageurl",{"_index":6533,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.title",{"_index":6521,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.url",{"_index":6519,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["linkelement.url.replace(key",{"_index":21415,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["linkelementcontent",{"_index":15805,"title":{"classes/LinkElementContent.html":{}},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementcontentbody",{"_index":9644,"title":{"classes/LinkElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linkelementnode",{"_index":3509,"title":{"entities/LinkElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementnodeprops",{"_index":15813,"title":{"interfaces/LinkElementNodeProps.html":{}},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["linkelementprops",{"_index":15803,"title":{"interfaces/LinkElementProps.html":{}},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["linkelementresponse",{"_index":4375,"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":6442,"title":{"classes/LinkElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper.getinstance",{"_index":6426,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["linkelementresponsemapper.instance",{"_index":15822,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["linkid",{"_index":8336,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["links.visitor",{"_index":5460,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["links.visitor.ts",{"_index":21393,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:14",{"_index":21396,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:17",{"_index":21402,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:21",{"_index":21398,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:25",{"_index":21400,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:29",{"_index":21401,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:33",{"_index":21403,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:37",{"_index":21404,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:41",{"_index":21405,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:47",{"_index":21406,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:51",{"_index":21407,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:55",{"_index":21408,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:59",{"_index":21399,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:63",{"_index":21397,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["linter",{"_index":25651,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["liskov",{"_index":25813,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["list",{"_index":374,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["list(params",{"_index":19547,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["list.response",{"_index":21611,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["list.response.ts",{"_index":861,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list.response.ts:10",{"_index":4445,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:4",{"_index":4443,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:5",{"_index":865,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["list.response.ts:6",{"_index":6736,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{}}}],["list.response.ts:7",{"_index":10988,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list_files_of_parent",{"_index":7203,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["listconsentsessions",{"_index":17408,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["listconsentsessions(@currentuser",{"_index":17495,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(currentuser",{"_index":17428,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(user",{"_index":17612,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listconsentsessions(userid",{"_index":17630,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["listen",{"_index":22934,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["listenercount",{"_index":2307,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["listening",{"_index":1435,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["listfiles",{"_index":7316,"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":22483,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listfilesofparent",{"_index":12259,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent(param",{"_index":12268,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["listfilesofparent(payload",{"_index":12440,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:finished",{"_index":12457,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:started",{"_index":12455,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listing",{"_index":22517,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listoauth2clients",{"_index":17338,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["listoauth2clients(currentuser",{"_index":17348,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["listoauth2clients(limit",{"_index":17614,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listoauthclientsparams",{"_index":15826,"title":{"classes/ListOauthClientsParams.html":{}},"body":{"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{}}}],["listobjectkeysrecursive",{"_index":19528,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectkeysrecursive(params",{"_index":19549,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectsv2command",{"_index":19563,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listresponse",{"_index":21143,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["lists",{"_index":12140,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/ToolConfigurationController.html":{}}}],["listsequal",{"_index":2987,"title":{},"body":{"entities/Board.html":{}}}],["literal",{"_index":172,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CalendarEvent.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ComponentLernstoreProperties.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LocalStrategy.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OcsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/RequestInfo.html":{},"interfaces/RocketChatGroupModel.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/WsSharedDocDo.html":{}}}],["litigation",{"_index":25451,"title":{},"body":{"license.html":{}}}],["load",{"_index":1927,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["load/perf",{"_index":25628,"title":{},"body":{"todo.html":{}}}],["load/persist",{"_index":25920,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["loadaccount",{"_index":1689,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccount(username",{"_index":1701,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccounts",{"_index":14992,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["loadallcollectionsfromdatabase(targetfolder",{"_index":5248,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadallcollectionsfromfilesystem(basedir",{"_index":5255,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadauthorizableobject",{"_index":18818,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["loadauthorizableobject(objectname",{"_index":18823,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5267,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loaded",{"_index":4441,"title":{},"body":{"classes/CardIdsParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/ExternalToolUc.html":{},"classes/IdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceRepo.html":{}}}],["loaded.config",{"_index":11132,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loaded.version",{"_index":11133,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loadedexternaltool",{"_index":6130,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedexternaltool.parameters",{"_index":6164,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["loadedexternaltool.version",{"_index":20140,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedoauthclient",{"_index":11031,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedoauthclient.client_id",{"_index":11070,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedpseudonym",{"_index":11406,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["loadedschoolexternaltool",{"_index":7135,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["loadedtool",{"_index":11023,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.clientid",{"_index":11180,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.type",{"_index":11176,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loader",{"_index":1846,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadfromtxtfile",{"_index":18871,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loadfromtxtfile(filepath",{"_index":18872,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loading",{"_index":23347,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadings",{"_index":23349,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["loads",{"_index":5002,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{}}}],["loadtoolhierarchy",{"_index":23293,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadtoolhierarchy(schoolexternaltoolid",{"_index":23301,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadusers",{"_index":14993,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["local",{"_index":1619,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"interfaces/CleanOptions.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/KeycloakConsole.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/TestApiClient.html":{},"classes/UpdateMatchParams.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localauthorizationbodyparams",{"_index":15839,"title":{"classes/LocalAuthorizationBodyParams.html":{}},"body":{"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{}}}],["localcookies",{"_index":7169,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["localcookies.includes(cookie",{"_index":13691,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localcookies.push(cookie",{"_index":13692,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto",{"_index":13661,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig",{"_index":13684,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig.headers",{"_index":13679,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies",{"_index":13673,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.hydracookies.join",{"_index":13677,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.localcookies.join",{"_index":13678,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.currentredirect",{"_index":13685,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.referer",{"_index":13680,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response",{"_index":13682,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers",{"_index":13664,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers.location",{"_index":13663,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers['set",{"_index":13671,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localfallback",{"_index":1286,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["localfield",{"_index":24231,"title":{},"body":{"injectables/UserRepo.html":{}}}],["localhost",{"_index":1278,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["localhost:15672",{"_index":25689,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["localhost:27017\"}]})start",{"_index":26321,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["localhost:3030",{"_index":25726,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["locally",{"_index":12430,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"controllers/LoginController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localstrategy",{"_index":1532,"title":{"injectables/LocalStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LocalStrategy.html":{}}}],["locate",{"_index":25985,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["located",{"_index":25903,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["location",{"_index":5223,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/HydraSsoService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PropertyData.html":{},"injectables/SanisResponseMapper.html":{},"classes/ToolLaunchMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["location.startswith('http",{"_index":13665,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["location.startswith(configuration.get('hydra_public_uri",{"_index":13667,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["locationmapping",{"_index":10867,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterdo.location",{"_index":10974,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterparam.location",{"_index":10912,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["locations",{"_index":13668,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["lockid",{"_index":11606,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["lodash",{"_index":695,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"dependencies.html":{}}}],["log",{"_index":4955,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/ErrorLoggable.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacyLogger.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["log(message",{"_index":13777,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["log.do",{"_index":9280,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["log.do.ts",{"_index":9215,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["log.do.ts:17",{"_index":9220,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:21",{"_index":9221,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:25",{"_index":9223,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:29",{"_index":9225,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:33",{"_index":9227,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:37",{"_index":9229,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:41",{"_index":9231,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:45",{"_index":9233,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.entity",{"_index":9278,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["log.entity.ts",{"_index":9245,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["log.entity.ts:22",{"_index":9248,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:25",{"_index":9250,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:28",{"_index":9249,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:31",{"_index":9246,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:34",{"_index":9247,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:38",{"_index":9252,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.mapper",{"_index":9307,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.mapper.ts",{"_index":9272,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:20",{"_index":9276,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:34",{"_index":9274,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:38",{"_index":9275,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:6",{"_index":9273,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.repo.ts",{"_index":9295,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:12",{"_index":9305,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:16",{"_index":9303,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:26",{"_index":9301,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:36",{"_index":9299,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:9",{"_index":9297,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.response.ts",{"_index":9452,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:10",{"_index":9454,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:14",{"_index":9453,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:7",{"_index":9456,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.service",{"_index":9361,"title":{},"body":{"modules/DeletionModule.html":{}}}],["log.service.ts",{"_index":9318,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:12",{"_index":9324,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:32",{"_index":9326,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:9",{"_index":9322,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log/response",{"_index":25652,"title":{},"body":{"todo.html":{}}}],["loggabble",{"_index":7066,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["loggabble.ts",{"_index":19045,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:11",{"_index":19049,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:6",{"_index":19047,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggable",{"_index":1422,"title":{"interfaces/Loggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["loggable.exception.ts",{"_index":23937,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:13",{"_index":23940,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:8",{"_index":23939,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.getlogmessage",{"_index":15927,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["loggable.ts",{"_index":1418,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:10",{"_index":1437,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:12",{"_index":18865,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:13",{"_index":1438,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:3",{"_index":10422,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:4",{"_index":18863,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:6",{"_index":10423,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable/error.loggable",{"_index":12688,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["loggable/news",{"_index":16819,"title":{},"body":{"injectables/NewsUc.html":{}}}],["loggable/preview",{"_index":18040,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["loggables",{"_index":13767,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logged",{"_index":23148,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logger",{"_index":2447,"title":{"injectables/Logger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logger.debug",{"_index":18224,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.error(error",{"_index":4282,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.info",{"_index":18238,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.info(`could",{"_index":26114,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["logger.interface",{"_index":15301,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.interface.ts",{"_index":13766,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:11",{"_index":13776,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:12",{"_index":13778,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:13",{"_index":13773,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:14",{"_index":13780,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:15",{"_index":13770,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.log(msg",{"_index":4285,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.service",{"_index":15898,"title":{},"body":{"modules/LoggerModule.html":{}}}],["logger.service.ts",{"_index":15280,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:22",{"_index":15284,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:26",{"_index":15290,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:30",{"_index":15295,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:34",{"_index":15287,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:38",{"_index":15289,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:42",{"_index":15288,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:50",{"_index":15292,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:54",{"_index":15286,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:58",{"_index":15294,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.setcontext(durationlogginginterceptor.name",{"_index":9827,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logger.setcontext(redismodule.name",{"_index":18816,"title":{},"body":{"modules/RedisModule.html":{}}}],["logger.setcontext(servermodule.name",{"_index":20621,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.setcontext(servertestmodule.name",{"_index":20629,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.ts",{"_index":9985,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:12",{"_index":9996,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:17",{"_index":9992,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:22",{"_index":9994,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:27",{"_index":9998,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:9",{"_index":9990,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.warn",{"_index":20598,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger/interfaces",{"_index":9953,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logger/types",{"_index":9954,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["loggerconfig",{"_index":7481,"title":{"interfaces/LoggerConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{}}}],["loggermodule",{"_index":265,"title":{"modules/LoggerModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["logging",{"_index":7470,"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":19001,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts",{"_index":9817,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:10",{"_index":9820,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:12",{"_index":18989,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:15",{"_index":9824,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:9",{"_index":18988,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.utils",{"_index":10002,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils",{"_index":10001,"title":{"classes/LoggingUtils.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{}}}],["loggingutils.createmessagewithcontext(loggable",{"_index":10004,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils.isinstanceofloggable(error",{"_index":12694,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["logic",{"_index":21074,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["login",{"_index":180,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ConsentResponse.html":{},"interfaces/CreateJwtPayload.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/OAuthService.html":{},"classes/Oauth2MigrationParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/SystemController.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["login(account",{"_index":1651,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["login.response",{"_index":17302,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts",{"_index":17299,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts:9",{"_index":17300,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login_block_time",{"_index":312,"title":{},"body":{"interfaces/AccountConfig.html":{},"injectables/AuthenticationService.html":{},"interfaces/ServerConfig.html":{}}}],["login_challenge",{"_index":6322,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["login_hint",{"_index":17697,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["login_required",{"_index":6299,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["login_session_id",{"_index":6323,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["loginchallenge",{"_index":6342,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["logincontroller",{"_index":1487,"title":{"controllers/LoginController.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["logindto",{"_index":1724,"title":{"classes/LoginDto.html":{}},"body":{"injectables/AuthenticationService.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{}}}],["logindto.accesstoken",{"_index":16005,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["loginldap",{"_index":15931,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(@currentuser",{"_index":15958,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(user",{"_index":15934,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal",{"_index":15932,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(@currentuser",{"_index":15964,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(user",{"_index":15941,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginname",{"_index":12473,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["loginname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14294,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["loginoauth2",{"_index":15933,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginoauth2(user",{"_index":15945,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginpath",{"_index":1614,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["loginrequestbody",{"_index":15973,"title":{"classes/LoginRequestBody.html":{}},"body":{"classes/LoginRequestBody.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember",{"_index":17574,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember_for",{"_index":17575,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginresponse",{"_index":15938,"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":17555,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse.client.client_id",{"_index":17544,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse:5",{"_index":17301,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["loginresponsemapper",{"_index":15951,"title":{"classes/LoginResponseMapper.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{}}}],["loginresponsemapper.maptologinresponse(logindto",{"_index":15960,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginresponsemapper.maptooauthloginresponse(logindto",{"_index":15967,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginsessionid",{"_index":6345,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["loginuc",{"_index":1485,"title":{"injectables/LoginUc.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{}}}],["loginuseruc",{"_index":25952,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["logmessage",{"_index":1423,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logmessage.type",{"_index":9959,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logmessagedata",{"_index":1424,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/NewsMapper.html":{}}}],["logmessagewithcontext",{"_index":15922,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["logo",{"_index":8355,"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":11168,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["logo.service.ts",{"_index":10428,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:114",{"_index":10439,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:26",{"_index":10435,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:34",{"_index":10437,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:46",{"_index":10449,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:61",{"_index":10444,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:73",{"_index":10442,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:97",{"_index":10446,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.ts",{"_index":10407,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:2",{"_index":10410,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:4",{"_index":10409,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo_url",{"_index":8157,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["logobase64",{"_index":10361,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["logobinarydata",{"_index":10487,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logourl",{"_index":6740,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/County.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["logout",{"_index":14349,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{}}}],["logoutendpoint",{"_index":13708,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["logoutflow",{"_index":17560,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflow(challenge",{"_index":17562,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflowuc",{"_index":17457,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["logoutresponse",{"_index":17564,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logouturl",{"_index":2161,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScopeInfo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceMapper.html":{}}}],["logoutuser(authtoken",{"_index":1118,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["logs",{"_index":6308,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["long",{"_index":6292,"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":26226,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["look",{"_index":14445,"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":15835,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["looks",{"_index":25845,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lookup",{"_index":12104,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/UserRepo.html":{}}}],["lookup.service",{"_index":680,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["lookup.service.ts",{"_index":609,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:15",{"_index":635,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:27",{"_index":646,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:44",{"_index":638,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookupsharetoken",{"_index":20677,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["lookupsharetoken(currentuser",{"_index":20693,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["lookupsharetoken(userid",{"_index":20859,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["lookuptoken",{"_index":20808,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptoken(token",{"_index":20817,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname",{"_index":20809,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname(token",{"_index":20818,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["loop",{"_index":2848,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["loss",{"_index":25568,"title":{},"body":{"license.html":{}}}],["losses",{"_index":25571,"title":{},"body":{"license.html":{}}}],["lot",{"_index":26177,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["low",{"_index":25898,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lower",{"_index":25824,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lowercase",{"_index":13993,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lt",{"_index":9534,"title":{},"body":{"classes/DeletionRequestScope.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserScope.html":{}}}],["lte",{"_index":3960,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/FilesRepo.html":{},"classes/NewsScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{}}}],["lti",{"_index":5910,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{}}}],["lti11config",{"_index":10745,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.baseurl",{"_index":10786,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.key",{"_index":10791,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.launch_presentation_locale",{"_index":10796,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.lti_message_type",{"_index":10793,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.privacy_permission",{"_index":10795,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.resource_link_id",{"_index":10794,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.secret",{"_index":10792,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.type",{"_index":10785,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11encryptionservice",{"_index":16017,"title":{"injectables/Lti11EncryptionService.html":{}},"body":{"injectables/Lti11EncryptionService.html":{},"modules/ToolLaunchModule.html":{}}}],["lti11toolconfig",{"_index":8309,"title":{"classes/Lti11ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfig(props.config",{"_index":10170,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["lti11toolconfigcreate",{"_index":10842,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigcreateparams",{"_index":10312,"title":{"classes/Lti11ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Lti11ToolConfigCreateParams.html":{}}}],["lti11toolconfigentity",{"_index":10363,"title":{"classes/Lti11ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfigEntity.html":{}}}],["lti11toolconfigfactory",{"_index":8330,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigfactory.build(customparam",{"_index":8350,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigresponse",{"_index":10922,"title":{"classes/Lti11ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["lti11toolconfigupdate",{"_index":10846,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigupdateparams",{"_index":10844,"title":{"classes/Lti11ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["lti11toollaunchstrategy",{"_index":23266,"title":{},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["lti_message_type",{"_index":8158,"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":8159,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["ltimessagetype",{"_index":8306,"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":8335,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission",{"_index":8152,"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":8161,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalToolEntityFactory.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{}}}],["ltiprivacypermission.name",{"_index":16143,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiprivacypermission.pseudonymous",{"_index":8334,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltirepo",{"_index":13633,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["ltirole",{"_index":16080,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.administrator",{"_index":16085,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.instructor",{"_index":16084,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.learner",{"_index":16083,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirolemapper",{"_index":16074,"title":{"classes/LtiRoleMapper.html":{}},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles",{"_index":16087,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles.filter",{"_index":16091,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroletype",{"_index":8144,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["ltiroletype.instructor",{"_index":16144,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype.learner",{"_index":16145,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype})@property({nullable",{"_index":16110,"title":{},"body":{"entities/LtiTool.html":{}}}],["ltitool",{"_index":8156,"title":{"entities/LtiTool.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["ltitooldo",{"_index":8222,"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":16135,"title":{"classes/LtiToolFactory.html":{}},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolfactory.define(ltitool",{"_index":16141,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolmodule",{"_index":16146,"title":{"modules/LtiToolModule.html":{}},"body":{"modules/LtiToolModule.html":{},"modules/OauthProviderModule.html":{}}}],["ltitoolpromise",{"_index":16961,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["ltitoolrepo",{"_index":5069,"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":8155,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["ltitoolservice",{"_index":16150,"title":{"injectables/LtiToolService.html":{}},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["ltitoolstabenabled",{"_index":13800,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["lumi",{"_index":22518,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["lumieducation/h5p",{"_index":6617,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["lumiuserwithcontentdata",{"_index":13199,"title":{"classes/LumiUserWithContentData.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["m=256m",{"_index":26313,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["machine",{"_index":11719,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{}}}],["machinename",{"_index":1199,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["machinenames",{"_index":11720,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["made",{"_index":11712,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["magic",{"_index":17521,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["mail",{"_index":1454,"title":{"interfaces/Mail.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LdapConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/PlainTextMailContent.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/UserRepo.html":{},"license.html":{}}}],["mail.interface",{"_index":16241,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail.service",{"_index":16227,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mail.split('@')[1",{"_index":16261,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail_service_options",{"_index":16228,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailattachment",{"_index":1441,"title":{"interfaces/MailAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["mailconfig",{"_index":16218,"title":{"interfaces/MailConfig.html":{}},"body":{"interfaces/MailConfig.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/ServerConfig.html":{}}}],["mailcontent",{"_index":1448,"title":{"interfaces/MailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["maildomain",{"_index":16257,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailmodule",{"_index":16221,"title":{"modules/MailModule.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmodule.forroot",{"_index":20589,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmoduleoptions",{"_index":16223,"title":{"interfaces/MailModuleOptions.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mails",{"_index":16237,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailservice",{"_index":16226,"title":{"injectables/MailService.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailserviceoptions",{"_index":16233,"title":{"interfaces/MailServiceOptions.html":{}},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist",{"_index":16256,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist.push(mail",{"_index":16260,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["main",{"_index":25024,"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":11479,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mainlibrary",{"_index":6581,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["mainlibraryubername",{"_index":12637,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["maintain",{"_index":25301,"title":{},"body":{"license.html":{}}}],["maintainability",{"_index":25798,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["maintenance",{"_index":16514,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["major",{"_index":25169,"title":{},"body":{"license.html":{}}}],["majorversion",{"_index":1200,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["make",{"_index":1831,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"modules/CommonToolModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/ImportUserScope.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["makes",{"_index":1222,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["making",{"_index":23518,"title":{},"body":{"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["makse",{"_index":15600,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["manage",{"_index":11821,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manageclientsconnections",{"_index":24757,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["manageclientsconnections(undefined",{"_index":24766,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["managed",{"_index":15963,"title":{},"body":{"controllers/LoginController.html":{}}}],["managed.'})@apiresponse({status",{"_index":15943,"title":{},"body":{"controllers/LoginController.html":{}}}],["management",{"_index":648,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.config",{"_index":13467,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.config.ts",{"_index":13743,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IdentityManagementConfig.html":{}}}],["management.console",{"_index":16268,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.console.ts",{"_index":3800,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["management.console.ts:12",{"_index":8847,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:14",{"_index":3810,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:31",{"_index":8851,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:58",{"_index":8849,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:7",{"_index":3805,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:72",{"_index":8854,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.controller",{"_index":16271,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.controller.ts",{"_index":8873,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:18",{"_index":8885,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:23",{"_index":8882,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:28",{"_index":8880,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:33",{"_index":8891,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:9",{"_index":8888,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.integration.spec.ts",{"_index":26292,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.module",{"_index":16279,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/SystemModule.html":{}}}],["management.module.ts",{"_index":8905,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{}}}],["management.service",{"_index":8906,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["management.service.integration.spec.tsseeding",{"_index":26295,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.service.ts",{"_index":8907,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.service.ts:10",{"_index":14856,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:101",{"_index":13937,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:11",{"_index":8931,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:110",{"_index":13444,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:116",{"_index":13445,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:130",{"_index":13447,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:145",{"_index":13449,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:15",{"_index":8927,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:171",{"_index":14862,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:18",{"_index":13916,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:187",{"_index":14864,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:20",{"_index":8928,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:27",{"_index":13939,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:32",{"_index":8924,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:36",{"_index":13941,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:38",{"_index":8916,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:44",{"_index":8925,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:52",{"_index":8918,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:54",{"_index":13456,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:56",{"_index":13457,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:58",{"_index":8920,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:60",{"_index":13441,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:62",{"_index":8922,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:66",{"_index":8929,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:68",{"_index":13928,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:75",{"_index":13929,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:8",{"_index":8914,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:82",{"_index":13919,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:88",{"_index":13453,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:90",{"_index":13932,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.uc",{"_index":3816,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["management.uc.ts",{"_index":3826,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{}}}],["management.uc.ts:15",{"_index":3833,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:18",{"_index":3834,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:41",{"_index":3838,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:51",{"_index":3836,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:62",{"_index":3840,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:73",{"_index":3845,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:77",{"_index":3849,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:81",{"_index":3842,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management/database",{"_index":8874,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management/h5p",{"_index":13426,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["management/identity",{"_index":13877,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"modules/SystemModule.html":{}}}],["management/idm",{"_index":14935,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["management/keycloak",{"_index":4888,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["management/keycloak/keycloak.module",{"_index":20545,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["management/keycloak/keycloak.module.ts",{"_index":14990,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["management/keycloak/service/keycloak",{"_index":14820,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management/service/h5p",{"_index":13430,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["managementmodule",{"_index":16262,"title":{"modules/ManagementModule.html":{}},"body":{"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["managementservermodule",{"_index":16274,"title":{"modules/ManagementServerModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["managementservertestmodule",{"_index":16281,"title":{"modules/ManagementServerTestModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["manager",{"_index":1987,"title":{},"body":{"injectables/AuthorizationService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["manager.ts",{"_index":19488,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:26",{"_index":19493,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:64",{"_index":19497,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:71",{"_index":19495,"title":{},"body":{"injectables/RuleManager.html":{}}}],["mandatory",{"_index":5412,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/TldrawWs.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["mandatory.loggable.ts",{"_index":23944,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:11",{"_index":23946,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:4",{"_index":23945,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.params",{"_index":23866,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["mandatory.params.ts",{"_index":23949,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory.params.ts:7",{"_index":23950,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory/optional",{"_index":23847,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"todo.html":{}}}],["mandatorysince",{"_index":23898,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["manifest",{"_index":5874,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["manner",{"_index":25468,"title":{},"body":{"license.html":{}}}],["manual",{"_index":5408,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["manually",{"_index":26003,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manufacture",{"_index":9725,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["many",{"_index":15779,"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":2950,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytomany('boardelement",{"_index":2947,"title":{},"body":{"entities/Board.html":{}}}],["manytomany('course",{"_index":8614,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytomany('material",{"_index":6235,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["manytomany('user",{"_index":7569,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["manytomany(undefined",{"_index":7516,"title":{},"body":{"entities/Course.html":{},"entities/SchoolEntity.html":{}}}],["manytomany({entity",{"_index":19200,"title":{},"body":{"entities/Role.html":{}}}],["manytoone",{"_index":5727,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytoone('columnboardtarget",{"_index":5725,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["manytoone('course",{"_index":6232,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone('coursegroup",{"_index":6233,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["manytoone('dashboardmodelentity",{"_index":8615,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytoone('lessonentity",{"_index":15555,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["manytoone('task",{"_index":21038,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{}}}],["manytoone('teamentity",{"_index":7912,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["manytoone('user",{"_index":7888,"title":{},"body":{"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone(undefined",{"_index":7778,"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/SchoolSystemOptionsEntity.html":{},"entities/Submission.html":{},"classes/TeamUserEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["manytoone({nullable",{"_index":10348,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{}}}],["map",{"_index":2796,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"classes/GridElement.html":{},"classes/H5PContentMapper.html":{},"interfaces/IGridElement.html":{},"classes/MetadataTypeMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ParentInfo.html":{},"injectables/ProvisioningService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolLaunchService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["map((apikey",{"_index":20523,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((domain",{"_index":20526,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((element",{"_index":7451,"title":{},"body":{"classes/CopyMapper.html":{}}}],["map((elementwithposition",{"_index":8663,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["map((entity",{"_index":21587,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["map((group",{"_index":19830,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((groupuser",{"_index":13105,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["map((key",{"_index":19627,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((match",{"_index":14302,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["map((o",{"_index":19625,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((pattern",{"_index":138,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["map((relation",{"_index":19839,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((role",{"_index":23710,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["map((rolename",{"_index":24135,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["map((teacher",{"_index":5829,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["map(async",{"_index":5294,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["map.set(copystatus.originalentity.course.id",{"_index":3405,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["map.set(key",{"_index":3401,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["map.set(status.originalentity.id",{"_index":7422,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.setifundefined(this.docs",{"_index":22914,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["map[node.id",{"_index":3689,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["map[node.pathofchildren",{"_index":3981,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["map[node.pathofchildren].push(desc",{"_index":3982,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["mapaccountstodto",{"_index":468,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapaccountstodto(accounts",{"_index":471,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapbasictoolconfigdotoentity",{"_index":10733,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoentity(lti11config",{"_index":10743,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoresponse",{"_index":10941,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigdotoresponse(externaltoolconfigdo",{"_index":10946,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigtodo",{"_index":10734,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigtodo(lti11config",{"_index":10746,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapboardelements",{"_index":19291,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapbodytodto",{"_index":22351,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapbodytodto(body",{"_index":22352,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapclasstoclassinfodto",{"_index":13086,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapclasstoclassinfodto(clazz",{"_index":13089,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapcolumnboard",{"_index":19292,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapcolumnboardelement",{"_index":9726,"title":{},"body":{"classes/DtoCreator.html":{}}}],["mapcolumnboardelement(element",{"_index":9746,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mapconsentresponse",{"_index":17576,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentresponse(consent",{"_index":17581,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse",{"_index":17577,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse(session",{"_index":17583,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapcontenttoresource",{"_index":5744,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontenttoresource(lessonid",{"_index":5759,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontextexternaltoolrequest",{"_index":6927,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolrequest(request",{"_index":6929,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolresponse",{"_index":6967,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontextexternaltoolresponse(contextexternaltool",{"_index":6970,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontexttypetodotype",{"_index":6855,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetodotype(type",{"_index":6872,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype",{"_index":6856,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype(type",{"_index":6874,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto",{"_index":12285,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto(copyfilelistresponse",{"_index":12291,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto",{"_index":12286,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto(response",{"_index":12293,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcourseteacherstocopyrightowners",{"_index":5745,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseteacherstocopyrightowners(course",{"_index":5764,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseuserstousergroup",{"_index":3444,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcourseuserstousergroup(course",{"_index":3451,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcreateacceptloginrequestbody",{"_index":17572,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreateacceptloginrequestbody(loginrequestbody",{"_index":17573,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreatenewstodomain",{"_index":16664,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreatenewstodomain(params",{"_index":16668,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreaterequest",{"_index":10817,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcreaterequest(externaltoolcreateparams",{"_index":10827,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcurrentusertocreatejwtpayload",{"_index":8106,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcurrentusertocreatejwtpayload(currentuser",{"_index":8111,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcustomparameterdostoentities",{"_index":10735,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterdostoentities(customparameters",{"_index":10748,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities",{"_index":10736,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities(entries",{"_index":10751,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos",{"_index":10737,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos(entries",{"_index":10754,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos",{"_index":10738,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos(customparameters",{"_index":10756,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparametertoresponse",{"_index":10942,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapcustomparametertoresponse(customparameters",{"_index":10949,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapdashboardtoentity",{"_index":8690,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtoentity(modelentity",{"_index":8705,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel",{"_index":8691,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel(entity",{"_index":8708,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdomainobjecttoentityproperties",{"_index":10651,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/PseudonymsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["mapdomainobjecttoentityproperties(entitydo",{"_index":10668,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(group",{"_index":12852,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapdomainobjecttoentityproperties(schoolsystemoptions",{"_index":20378,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["mapdomaintoadapter",{"_index":5046,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoadapter(team",{"_index":5047,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoresponse",{"_index":25926,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapdosortordertoqueryorder",{"_index":11097,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdosortordertoqueryorder(sort",{"_index":11098,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdotoentityproperties",{"_index":2440,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapdotoentityproperties(domainobject",{"_index":20778,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["mapdotoentityproperties(entitydo",{"_index":2460,"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":11084,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdotoprovideroauthclient(name",{"_index":11085,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapelementtoentity",{"_index":8692,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapelementtoentity(modelentity",{"_index":8710,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapentitytodo",{"_index":2441,"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":2464,"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":10652,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobject(entity",{"_index":10670,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobjectproperties",{"_index":12847,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodomainobjectproperties(entity",{"_index":12855,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodto",{"_index":22311,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytodto(teamentity",{"_index":22312,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytoparenttype",{"_index":12287,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapentitytoparenttype(entity",{"_index":12295,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapexternalgroup",{"_index":19790,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalgroup(source",{"_index":19795,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalsourceentitytoexternalsource",{"_index":12848,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourceentitytoexternalsource(entity",{"_index":12857,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity",{"_index":12849,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity(externalsource",{"_index":12859,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery",{"_index":10818,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery(params",{"_index":10830,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto",{"_index":12288,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto(filerecordlistresponse",{"_index":12297,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto",{"_index":12289,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto(filerecordresponse",{"_index":12299,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordtofilerecordparams",{"_index":12372,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfilerecordtofilerecordparams(filerecord",{"_index":12376,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfootodomain",{"_index":25927,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapfromdtotolistresponse",{"_index":21604,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotolistresponse(systems",{"_index":21607,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse",{"_index":21605,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse(system",{"_index":21608,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromentitiestodtos",{"_index":19217,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitiestodtos(enities",{"_index":19219,"title":{},"body":{"classes/RoleMapper.html":{}}}],["mapfromentitiestodtos(entities",{"_index":21562,"title":{},"body":{"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitytodto",{"_index":19218,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromentitytodto(entity",{"_index":19222,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromoauthconfigdtotoresponse",{"_index":21606,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigdtotoresponse(oauthconfigdto",{"_index":21609,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigentitytodto",{"_index":21561,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoauthconfigentitytodto(oauthconfig",{"_index":21565,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoidcconfigentitytodto",{"_index":21578,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapfromoidcconfigentitytodto(systemid",{"_index":21581,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapgridelement",{"_index":8654,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelement(data",{"_index":8656,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelementtomodel",{"_index":8693,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgridelementtomodel(elementwithposition",{"_index":8712,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgrouptoclassinfodto",{"_index":13087,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgrouptoclassinfodto(group",{"_index":13091,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgroupuserentitytogroupuser",{"_index":12850,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupuserentitytogroupuser(entity",{"_index":12861,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity",{"_index":12851,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity(groupuser",{"_index":12864,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["maph5perror",{"_index":13415,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["maph5perror(error",{"_index":13416,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["mapimportuserfilterquerytodomain",{"_index":14118,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportuserfilterquerytodomain(query",{"_index":14119,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportusermatchscopetodomain",{"_index":14165,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapimportusermatchscopetodomain(match",{"_index":14167,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapldapconfigentitytodomainobject",{"_index":21483,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapldapconfigentitytodomainobject(ldapconfig",{"_index":21486,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["maplearnroom",{"_index":8655,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplearnroom(metadata",{"_index":8658,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplesson",{"_index":19293,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maplessoncopytodomain",{"_index":7425,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessoncopytodomain(params",{"_index":7427,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessonelement",{"_index":9727,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maplessonelement(element",{"_index":9748,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maploginresponse",{"_index":17578,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maploginresponse(providerloginresponse",{"_index":17584,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maplti11toolconfigdotoentity",{"_index":10739,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoentity(lti11config",{"_index":10760,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoresponse",{"_index":10943,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigdotoresponse(externaltoolconfigdo",{"_index":10951,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigtodo",{"_index":10740,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigtodo(lti11config",{"_index":10762,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapmatchcreatortoresponse",{"_index":14166,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapmatchcreatortoresponse(matchcreator",{"_index":14169,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapnewsscopetodomain",{"_index":16665,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapnewsscopetodomain(query",{"_index":16670,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapoauth2configdotoentity",{"_index":10741,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configdotoentity(oauth2config",{"_index":10764,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo",{"_index":10742,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo(oauth2config",{"_index":10767,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2toolconfigdotoresponse",{"_index":10944,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauth2toolconfigdotoresponse(externaltoolconfigdo",{"_index":10953,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauthclientresponse",{"_index":17579,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthclientresponse(oauthclient",{"_index":17586,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthconfigentitytodomainobject",{"_index":21484,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapoauthconfigentitytodomainobject(oauthconfig",{"_index":21488,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapped",{"_index":4866,"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/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapped.id",{"_index":23178,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["mappedcolumnboard",{"_index":19340,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedconfig",{"_index":10880,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappedcustomparameter",{"_index":10885,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappeddata",{"_index":13005,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["mappedelements",{"_index":8759,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mappedelements.includes(el",{"_index":8763,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mappedentity",{"_index":21594,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["mappedlesson",{"_index":19334,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedlocation",{"_index":23255,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtask",{"_index":19317,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.availabledate",{"_index":19326,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.coursename",{"_index":19324,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.description",{"_index":19332,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.displaycolor",{"_index":19330,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.duedate",{"_index":19328,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtools",{"_index":23082,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{}}}],["mappedtype",{"_index":23257,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtypes",{"_index":23089,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["mapper",{"_index":675,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"injectables/CopyFilesService.html":{},"injectables/DashboardRepo.html":{},"controllers/ElementController.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/GroupController.html":{},"interfaces/IDashboardRepo.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/PreviewService.html":{},"injectables/RocketChatUserRepo.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/SubmissionController.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper.canmap(element",{"_index":6447,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapper.interface",{"_index":6438,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["mapper.interface.ts",{"_index":2655,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:5",{"_index":2660,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:7",{"_index":2658,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.mapsubmissionitemtoresponse(submissionitem",{"_index":9871,"title":{},"body":{"controllers/ElementController.html":{}}}],["mapper.maptoresponse(submissionitems",{"_index":4080,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["mapper.name",{"_index":14745,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mapper.ts",{"_index":25925,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper/account",{"_index":977,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["mapper/calendar.mapper",{"_index":4320,"title":{},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["mapper/collaborative",{"_index":5034,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["mapper/course.mapper",{"_index":7644,"title":{},"body":{"controllers/CourseController.html":{}}}],["mapper/dashboard.mapper",{"_index":8415,"title":{},"body":{"controllers/DashboardController.html":{}}}],["mapper/deletion",{"_index":9306,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{}}}],["mapper/identity",{"_index":14612,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["mapper/import",{"_index":14040,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/login",{"_index":15952,"title":{},"body":{"controllers/LoginController.html":{}}}],["mapper/news.mapper",{"_index":16614,"title":{},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"controllers/TeamNewsController.html":{}}}],["mapper/oauth",{"_index":17329,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["mapper/provisioning",{"_index":18329,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["mapper/pseudonym.mapper",{"_index":18399,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["mapper/role.mapper",{"_index":19271,"title":{},"body":{"injectables/RoleService.html":{}}}],["mapper/room",{"_index":15270,"title":{},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["mapper/system",{"_index":21464,"title":{},"body":{"controllers/SystemController.html":{}}}],["mapper/team.mapper",{"_index":5151,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["mapper/token",{"_index":17026,"title":{},"body":{"injectables/OAuthService.html":{}}}],["mapper/tool",{"_index":23042,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["mapper/user",{"_index":14043,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/user.mapper",{"_index":24311,"title":{},"body":{"injectables/UserService.html":{}}}],["mapper/vc",{"_index":24561,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["mapper/video",{"_index":24448,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["mapperid",{"_index":14748,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mappers",{"_index":6423,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mapping",{"_index":25901,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mapprovisioningoptionstoresponse",{"_index":20345,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["mapprovisioningoptionstoresponse(options",{"_index":20346,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["mappseudonymtouserdata",{"_index":11367,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["mappseudonymtouserdata(pseudonym",{"_index":11390,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["mapredirectresponse",{"_index":17580,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapredirectresponse(redirect",{"_index":17587,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapreferencetoentity",{"_index":8694,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetoentity(modelentity",{"_index":8714,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel",{"_index":8695,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel(reference",{"_index":8716,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["maprequesttobasictoolconfig",{"_index":10819,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttobasictoolconfig(externaltoolconfigparams",{"_index":10833,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo",{"_index":10820,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo(customparameterparams",{"_index":10837,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo",{"_index":6928,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo(customparameterparams",{"_index":6932,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate",{"_index":10821,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate(externaltoolconfigparams",{"_index":10840,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate",{"_index":10822,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate(externaltoolconfigparams",{"_index":10843,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate",{"_index":10823,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate(externaltoolconfigparams",{"_index":10847,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate",{"_index":10824,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate(externaltoolconfigparams",{"_index":10850,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprolestoltiroles",{"_index":16077,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprolestoltiroles(rolenames",{"_index":16078,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprpcerrorresponsetodomainerror",{"_index":10011,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["maprpcerrorresponsetodomainerror(errorobj",{"_index":10012,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["maps",{"_index":5049,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["mapsanisroletorolename",{"_index":19791,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapsanisroletorolename(source",{"_index":19797,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapscanresultparamstodto",{"_index":11938,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapscanresultparamstodto(scanresultparams",{"_index":11941,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapschoolexternaltoolrequest",{"_index":20031,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapschoolexternaltoolrequest(request",{"_index":20032,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapsearchparamstoquery",{"_index":23953,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchparamstoquery(searchparams",{"_index":23955,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchresult",{"_index":469,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsearchresult(accountentities",{"_index":473,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsortingquerytodomain",{"_index":10825,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapsortingquerytodomain(sortingquery",{"_index":10854,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapstringtoparenttype",{"_index":12290,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapstringtoparenttype(input",{"_index":12301,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapsubmissioncontenttoresponse",{"_index":6424,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissioncontenttoresponse(element",{"_index":6432,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissionitemtoresponse",{"_index":21207,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapsubmissionitemtoresponse(submissionitem",{"_index":21211,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptask",{"_index":19294,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maptaskcopytodomain",{"_index":7426,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcopytodomain(params",{"_index":7431,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcreatetodomain",{"_index":21938,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskcreatetodomain(params",{"_index":21940,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskelement",{"_index":9728,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptaskelement(element",{"_index":9750,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptasktowebcontentresource",{"_index":5746,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptasktowebcontentresource(task",{"_index":5767,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptaskupdatetodomain",{"_index":21939,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskupdatetodomain(params",{"_index":21942,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoallowedauthorizationentitytype",{"_index":12373,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowedauthorizationentitytype(type",{"_index":12378,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowemetadatatype",{"_index":16470,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptoallowemetadatatype(type",{"_index":16471,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptobaseresponse",{"_index":24731,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptobaseresponse(from",{"_index":24734,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoboardelement",{"_index":3010,"title":{},"body":{"entities/Board.html":{}}}],["maptoclassinfostolistresponse",{"_index":12990,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfostolistresponse(classinfos",{"_index":12993,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse",{"_index":12991,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse(classinfo",{"_index":12996,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse",{"_index":23064,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse(toolinfos",{"_index":23069,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse",{"_index":23065,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse(toolinfo",{"_index":23072,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocustomparameterentryresponse",{"_index":20045,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptocustomparameterentryresponse(entries",{"_index":20048,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptodo",{"_index":4755,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodo(entity",{"_index":4759,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodomain",{"_index":19236,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptodomain(query",{"_index":24123,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["maptodomain(rolename",{"_index":19237,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptodos",{"_index":4756,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodos(entities",{"_index":4761,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodto",{"_index":470,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/CalendarMapper.html":{}}}],["maptodto(account",{"_index":476,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["maptodto(event",{"_index":4303,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["maptoelementdtos",{"_index":9729,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptoelementdtos(elements",{"_index":9752,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptoentities",{"_index":4757,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentities(domainobjects",{"_index":4763,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentity",{"_index":4758,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoentity(domainobject",{"_index":4765,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoexternalgroupdtos",{"_index":19792,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupdtos(source",{"_index":19799,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser",{"_index":19793,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser(relation",{"_index":19800,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto",{"_index":14366,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto(schooldo",{"_index":14368,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptoexternalschooldto(source",{"_index":19802,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaltoolmetadataresponse",{"_index":10515,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":10516,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolresponse",{"_index":10945,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaltoolresponse(externaltool",{"_index":10955,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaluserdto",{"_index":14367,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(source",{"_index":19803,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(userdo",{"_index":14371,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptofilerecordlistresponse",{"_index":11939,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordlistresponse(filerecords",{"_index":11944,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse",{"_index":11940,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse(filerecord",{"_index":11946,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptogroupresponse",{"_index":12992,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptogroupresponse(resolvedgroup",{"_index":12999,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoinforesponse",{"_index":24732,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoinforesponse(from",{"_index":24735,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptointernal",{"_index":18362,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptointernal(dto",{"_index":18363,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptojoinresponse",{"_index":24733,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptojoinresponse(from",{"_index":24736,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptokenresponsetodto",{"_index":22980,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokenresponsetodto(response",{"_index":22983,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokeycloakidentityprovider",{"_index":17707,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptokeycloakidentityprovider(oidcconfig",{"_index":17710,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptologinresponse",{"_index":15999,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologinresponse(logindto",{"_index":16001,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologmessagedata",{"_index":16666,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptologmessagedata(news",{"_index":16672,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptometadataresponse",{"_index":7834,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptometadataresponse(course",{"_index":7835,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptooauthcurrentuser",{"_index":8107,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthcurrentuser(accountid",{"_index":8113,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthloginresponse",{"_index":16000,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptooauthloginresponse(logindto",{"_index":16003,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptoparameterlocation",{"_index":23233,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoparameterlocation(location",{"_index":23237,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoresolvedgroupdto",{"_index":13088,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresolvedgroupdto(group",{"_index":13096,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresponse",{"_index":830,"title":{},"body":{"classes/AccountResponseMapper.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/ImportUserMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsMapper.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponse(account",{"_index":832,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponse(board",{"_index":4027,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["maptoresponse(card",{"_index":4470,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["maptoresponse(column",{"_index":5680,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["maptoresponse(copystatus",{"_index":7435,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptoresponse(dashboard",{"_index":8660,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maptoresponse(element",{"_index":2659,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["maptoresponse(importuser",{"_index":14122,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["maptoresponse(news",{"_index":16674,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptoresponse(pseudonym",{"_index":18415,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["maptoresponse(rolename",{"_index":19239,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptoresponse(schoolinfo",{"_index":20180,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["maptoresponse(sharetoken",{"_index":20800,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["maptoresponse(sharetokeninfo",{"_index":20756,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["maptoresponse(status",{"_index":4111,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["maptoresponse(submissionitems",{"_index":21212,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptoresponse(target",{"_index":21652,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["maptoresponse(taskwithstatus",{"_index":21945,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoresponse(user",{"_index":19013,"title":{},"body":{"classes/ResolvedUserMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponsefromentity",{"_index":831,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponsefromentity(account",{"_index":834,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse",{"_index":23066,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse(externaltools",{"_index":23075,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse",{"_index":23067,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse(externaltool",{"_index":23077,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse",{"_index":19978,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":19979,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolresponse",{"_index":20046,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":20050,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse",{"_index":20047,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse(externaltools",{"_index":20051,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosinglefileparams",{"_index":12374,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptosinglefileparams(params",{"_index":12382,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostatusresponse",{"_index":21267,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostatusresponse(submission",{"_index":21268,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostreamablefile",{"_index":12375,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostreamablefile(fileresponse",{"_index":12384,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptotoolconfigtype",{"_index":23234,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolconfigtype(launchdatatype",{"_index":23239,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolcontexttypeslistresponse",{"_index":23068,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":23079,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoollaunchdatatype",{"_index":23235,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype(configtype",{"_index":23242,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse",{"_index":23236,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse(toollaunchrequest",{"_index":23245,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolreference",{"_index":23393,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreference(externaltool",{"_index":23394,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreferenceresponse",{"_index":6968,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponse(toolreference",{"_index":6972,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses",{"_index":6969,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses(toolreferences",{"_index":6976,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapupdatenewstodomain",{"_index":16667,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdatenewstodomain(params",{"_index":16676,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdaterequest",{"_index":10826,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapupdaterequest(externaltoolupdateparams",{"_index":10859,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapuserloginmigrationdotoresponse",{"_index":23954,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserloginmigrationdotoresponse(domainobject",{"_index":23958,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserstoresponse",{"_index":21208,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapuserstoresponse(user",{"_index":21214,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["march",{"_index":25509,"title":{},"body":{"license.html":{}}}],["markdeletionrequestasexecuted",{"_index":9484,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasexecuted(deletionrequestid",{"_index":9495,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed",{"_index":9485,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed(deletionrequestid",{"_index":9497,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["marked",{"_index":8963,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["markedfordelete",{"_index":11926,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["markfilesownedbyuserfordeletion",{"_index":12221,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfilesownedbyuserfordeletion(userid",{"_index":12228,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfordelete",{"_index":11887,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["markfordeletion",{"_index":11655,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["marks",{"_index":25387,"title":{},"body":{"license.html":{}}}],["markunmigratedusersasoutdated",{"_index":20200,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["markunmigratedusersasoutdated(userloginmigration",{"_index":20218,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["masks",{"_index":25113,"title":{},"body":{"license.html":{}}}],["master",{"_index":26297,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["match",{"_index":415,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["match.mapper",{"_index":14044,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["match.mapper.ts",{"_index":24122,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:21",{"_index":24125,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:9",{"_index":24124,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.params.ts",{"_index":23512,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.params.ts:7",{"_index":23514,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.response",{"_index":14100,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["match.response.ts",{"_index":24117,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["match.response.ts:19",{"_index":24145,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:22",{"_index":24142,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:25",{"_index":24140,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:28",{"_index":24141,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:35",{"_index":24144,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:41",{"_index":24143,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:44",{"_index":24118,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["match.response.ts:7",{"_index":24139,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match_matchedby",{"_index":13958,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["match_userid",{"_index":13965,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/UserRepo.html":{}}}],["matchancestors",{"_index":3974,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchancestors(desc",{"_index":3979,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchcreator",{"_index":13956,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchMapper.html":{}}}],["matchcreator.auto",{"_index":14181,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreator.manual",{"_index":14179,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreatorscope",{"_index":13748,"title":{},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["matchcreatorscope.auto",{"_index":14173,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.manual",{"_index":14175,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.none",{"_index":14177,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matched",{"_index":4246,"title":{},"body":{"classes/BusinessError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{}}}],["matched(matchedby",{"_index":14085,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["matchedby",{"_index":13946,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["matches",{"_index":301,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"injectables/CopyHelperService.html":{},"classes/CourseQueryParams.html":{},"classes/FileMetadata.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{}}}],["matches(object.values(commoncartridgeversion).join",{"_index":7916,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["matches(passwordpattern",{"_index":305,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["matches.groups",{"_index":7414,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["matches.length",{"_index":13991,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matches[1",{"_index":13992,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matching",{"_index":104,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["matchingparameterentry",{"_index":2790,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["matchingparams",{"_index":11204,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchingparams.some((param",{"_index":11251,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchsinglerule",{"_index":19489,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchsinglerule(rules",{"_index":19494,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchtype",{"_index":14171,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["matchtype.auto",{"_index":14182,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchtype.manual",{"_index":14180,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["material",{"_index":6209,"title":{"entities/Material.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{}}}],["materialfactory",{"_index":16320,"title":{"classes/MaterialFactory.html":{}},"body":{"classes/MaterialFactory.html":{}}}],["materialfactory.define(material",{"_index":16323,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["materialid",{"_index":6221,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialids",{"_index":6236,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materially",{"_index":25358,"title":{},"body":{"license.html":{}}}],["materialproperties",{"_index":16306,"title":{"interfaces/MaterialProperties.html":{}},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials",{"_index":6214,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials.entity",{"_index":6210,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialsrepo",{"_index":16324,"title":{"injectables/MaterialsRepo.html":{}},"body":{"injectables/MaterialsRepo.html":{}}}],["math.ceil(timedifference",{"_index":1746,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["math.floor(index",{"_index":8541,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["math.floor(math.random",{"_index":3880,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["math.round(math.random",{"_index":11932,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["matter",{"_index":26223,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["max",{"_index":3848,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["max(100",{"_index":17901,"title":{},"body":{"classes/PaginationParams.html":{}}}],["max(500",{"_index":15838,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["max_file_size",{"_index":12089,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["max_redirects",{"_index":13559,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["max_security_check_file_size",{"_index":12090,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["maxage",{"_index":20618,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["maxcount",{"_index":13336,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["maxdelay",{"_index":15196,"title":{},"body":{"injectables/LdapService.html":{}}}],["maxexternaltoollogosizeinbytes",{"_index":10494,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["maximum",{"_index":892,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{}}}],["maxkeys",{"_index":7317,"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":4929,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["maxredirects",{"_index":13592,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["maxsubmission",{"_index":21714,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxsubmissions",{"_index":4120,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxusers",{"_index":2308,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["maybe",{"_index":10770,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["md",{"_index":25655,"title":{},"body":{"todo.html":{}}}],["mdb",{"_index":22630,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["me(@currentuser",{"_index":23605,"title":{},"body":{"controllers/UserController.html":{}}}],["me(authtoken",{"_index":1110,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["me(currentuser",{"_index":23600,"title":{},"body":{"controllers/UserController.html":{}}}],["me(userid",{"_index":24300,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["meaning",{"_index":25394,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["meaningful",{"_index":25029,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["means",{"_index":24997,"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":2919,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["measures",{"_index":24999,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mechanism",{"_index":25875,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["medium",{"_index":25237,"title":{},"body":{"license.html":{}}}],["meet",{"_index":25249,"title":{},"body":{"license.html":{}}}],["meeting",{"_index":2300,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{}}}],["meeting.config",{"_index":2179,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["meeting.config.ts",{"_index":2141,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:1",{"_index":2144,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:6",{"_index":2145,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting_id",{"_index":2296,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["meetingid",{"_index":2142,"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":2309,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["meets",{"_index":25158,"title":{},"body":{"license.html":{}}}],["member",{"_index":1092,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICurrentUser.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TeamsRepo.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["memberids",{"_index":21080,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["memberids.some((id",{"_index":21085,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["members",{"_index":1147,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/NextcloudStrategy.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/ShareTokenBodyParams.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["memory",{"_index":12572,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["memorystore",{"_index":20601,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mention",{"_index":26246,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["mentioned",{"_index":25847,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mentor",{"_index":8149,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["menu",{"_index":25156,"title":{},"body":{"license.html":{}}}],["merchantability",{"_index":25551,"title":{},"body":{"license.html":{}}}],["mere",{"_index":25144,"title":{},"body":{"license.html":{}}}],["merge",{"_index":25034,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mergeelementintoposition",{"_index":8454,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["mergeelementintoposition(element",{"_index":8486,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["merging",{"_index":25440,"title":{},"body":{"license.html":{}}}],["merlinreference",{"_index":6223,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["message",{"_index":1115,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"interfaces/BBBBaseResponse.html":{},"injectables/BatchDeletionService.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/DeletionExecutionConsole.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"interfaces/Meta.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OcsResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["message.ts",{"_index":13734,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["messagehandler",{"_index":22844,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagehandler(conn",{"_index":22857,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagekey",{"_index":2151,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["messages",{"_index":26241,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["messagetype",{"_index":22921,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagewithcontext",{"_index":15929,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["met",{"_index":25190,"title":{},"body":{"license.html":{}}}],["meta",{"_index":13143,"title":{"interfaces/Meta.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TemporaryFileStorage.html":{}}}],["meta_bbb",{"_index":2162,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["metadata",{"_index":131,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolUc.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/TaskUrlHandler.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UrlHandler.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["metadata.a11ytitle",{"_index":6645,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authorcomments",{"_index":6660,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authors",{"_index":6654,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.changes",{"_index":6658,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.contenttype",{"_index":6662,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.defaultlanguage",{"_index":6627,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.dynamicdependencies",{"_index":6633,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.editordependencies",{"_index":6635,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.embedtypes",{"_index":6621,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.h",{"_index":6637,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.language",{"_index":6623,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.license",{"_index":6629,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseextras",{"_index":6656,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseversion",{"_index":6647,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.mainlibrary",{"_index":6625,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["metadata.mapper.ts",{"_index":10514,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.mapper.ts:6",{"_index":10517,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.metadescription",{"_index":6639,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.metakeywords",{"_index":6641,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.parenttitle",{"_index":4195,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.parenttype",{"_index":4194,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.preloadeddependencies",{"_index":6631,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.response.ts",{"_index":7848,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:28",{"_index":7864,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:33",{"_index":7867,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:38",{"_index":7865,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:43",{"_index":7863,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:48",{"_index":7866,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:5",{"_index":7861,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:53",{"_index":7868,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:58",{"_index":7862,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:6",{"_index":10523,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:61",{"_index":7849,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["metadata.response.ts:9",{"_index":10522,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["metadata.service.ts",{"_index":10527,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:10",{"_index":19986,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:11",{"_index":10530,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.service.ts:13",{"_index":19988,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:17",{"_index":10533,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.source",{"_index":6652,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.title",{"_index":4190,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["metadata.ts",{"_index":10502,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:4",{"_index":10507,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:6",{"_index":10506,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["metadata.type",{"_index":8737,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["metadata.w",{"_index":6643,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearfrom",{"_index":6649,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearto",{"_index":6651,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadataentitytype",{"_index":16373,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["metadataprops",{"_index":5968,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["metadatas",{"_index":9975,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatas.some",{"_index":9979,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatasettings",{"_index":11729,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["metadatatypemapper",{"_index":16467,"title":{"classes/MetadataTypeMapper.html":{}},"body":{"classes/MetadataTypeMapper.html":{}}}],["metadescription",{"_index":6582,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metakeywords",{"_index":6583,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metatagextractorapimodule",{"_index":16327,"title":{"modules/MetaTagExtractorApiModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorconfig",{"_index":16360,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["metatagextractorcontroller",{"_index":16334,"title":{"controllers/MetaTagExtractorController.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{}}}],["metatagextractormodule",{"_index":16331,"title":{"modules/MetaTagExtractorModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorresponse",{"_index":16345,"title":{"classes/MetaTagExtractorResponse.html":{}},"body":{"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["metatagextractorresponse})@apiresponse({status",{"_index":16341,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["metatagextractorservice",{"_index":16356,"title":{"injectables/MetaTagExtractorService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metatagextractoruc",{"_index":16332,"title":{"injectables/MetaTagExtractorUc.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metataginternalurlservice",{"_index":16357,"title":{"injectables/MetaTagInternalUrlService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["method",{"_index":641,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LessonCopyUC.html":{},"injectables/Lti11EncryptionService.html":{},"classes/OauthClientBody.html":{},"injectables/PermissionService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/ServerConsole.html":{},"injectables/TemporaryFileStorage.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["method.enum",{"_index":17187,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["methodes",{"_index":26465,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["methodnotallowedexception",{"_index":9635,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["methods",{"_index":8,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["metric",{"_index":18214,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics",{"_index":18211,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts",{"_index":18201,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:19",{"_index":18204,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:22",{"_index":18205,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["micro",{"_index":26395,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["microservice",{"_index":25734,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["microservices",{"_index":26458,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["middleware",{"_index":18215,"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":20557,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["middlewares",{"_index":18212,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["migrate",{"_index":4952,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{},"dependencies.html":{}}}],["migrate(options",{"_index":4957,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrate(skip",{"_index":14795,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["migrate(start",{"_index":14960,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migrate(userjwt",{"_index":24085,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrated",{"_index":16926,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migratedaccounts",{"_index":14964,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migratedusers",{"_index":20255,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migratedusers.data.foreach((user",{"_index":20258,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool",{"_index":20201,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool(existingschool",{"_index":20220,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateuser",{"_index":24154,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuser(currentuserid",{"_index":24158,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuserlogin",{"_index":23806,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrateuserlogin(jwt",{"_index":23829,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrating",{"_index":23932,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration",{"_index":52,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"modules/ImportUserModule.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/KeycloakConsole.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration.controller",{"_index":23799,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.controller.ts",{"_index":23802,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:115",{"_index":23853,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:139",{"_index":23841,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:167",{"_index":23848,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:201",{"_index":23817,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:218",{"_index":23832,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:59",{"_index":23828,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:89",{"_index":23822,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.do.ts",{"_index":23896,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:11",{"_index":23903,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:13",{"_index":23906,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:15",{"_index":23902,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:17",{"_index":23901,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:5",{"_index":23904,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:7",{"_index":23905,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:9",{"_index":23907,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.entity",{"_index":19913,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["migration.entity.ts",{"_index":23920,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:11",{"_index":23927,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:15",{"_index":23928,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:18",{"_index":23930,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:21",{"_index":23925,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:24",{"_index":23929,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:27",{"_index":23923,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:30",{"_index":23924,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.error.ts",{"_index":15027,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:11",{"_index":15032,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.error.ts:17",{"_index":16518,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:22",{"_index":16519,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:28",{"_index":16477,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:33",{"_index":16478,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:6",{"_index":15030,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.loggable",{"_index":14357,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["migration.mapper.ts",{"_index":23952,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:14",{"_index":23959,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:6",{"_index":23956,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.module",{"_index":23800,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.module.ts",{"_index":23972,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["migration.params",{"_index":23862,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.params.ts",{"_index":17071,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:13",{"_index":17072,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:17",{"_index":17074,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:8",{"_index":17073,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.repo.ts",{"_index":23976,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:12",{"_index":23977,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:17",{"_index":23981,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:21",{"_index":23978,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.response",{"_index":24019,"title":{},"body":{"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration.response.ts",{"_index":23998,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:10",{"_index":24003,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:15",{"_index":24005,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:20",{"_index":24002,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:25",{"_index":24004,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:30",{"_index":24000,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:35",{"_index":23999,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:5",{"_index":24001,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.rule.ts",{"_index":24015,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:11",{"_index":24018,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:17",{"_index":24017,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:8",{"_index":24016,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.service",{"_index":14618,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["migration.service.ts",{"_index":14955,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:105",{"_index":24043,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:11",{"_index":24155,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:112",{"_index":24033,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:119",{"_index":20226,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:134",{"_index":24037,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:139",{"_index":20217,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:14",{"_index":20204,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:142",{"_index":24039,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:148",{"_index":24041,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:16",{"_index":24028,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:168",{"_index":24035,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:18",{"_index":14961,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:23",{"_index":20221,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:24",{"_index":24048,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:34",{"_index":24157,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:37",{"_index":24045,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:39",{"_index":20209,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:48",{"_index":14959,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:49",{"_index":24162,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:52",{"_index":20223,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:62",{"_index":20211,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:73",{"_index":24031,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:81",{"_index":20207,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:9",{"_index":14957,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:90",{"_index":20214,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:96",{"_index":20219,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.uc.ts",{"_index":4972,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:11",{"_index":4978,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:13",{"_index":22965,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:17",{"_index":20955,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:19",{"_index":4980,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:21",{"_index":19037,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:23",{"_index":24080,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:27",{"_index":20959,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:35",{"_index":24084,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:39",{"_index":22966,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:45",{"_index":20957,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:55",{"_index":24082,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:73",{"_index":24086,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/controller/dto/oauth2",{"_index":17070,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration/controller/dto/request/school",{"_index":20163,"title":{},"body":{"classes/SchoolIdParams.html":{}}}],["migration/controller/dto/request/user",{"_index":23948,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["migration/controller/dto/response/user",{"_index":23997,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration/controller/user",{"_index":23801,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration/loggable/debug/school",{"_index":20265,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/debug/user",{"_index":24172,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/external",{"_index":10115,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/invalid",{"_index":14356,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["migration/loggable/school",{"_index":20189,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/user",{"_index":23787,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["migration/mapper/user",{"_index":23951,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration/service/dto/migration.dto.ts",{"_index":16503,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/migration.dto.ts:2",{"_index":16505,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/page",{"_index":17888,"title":{},"body":{"classes/PageContentDto.html":{}}}],["migration/service/migration",{"_index":16480,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["migration/service/school",{"_index":20195,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration/service/user",{"_index":24006,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration/uc/close",{"_index":4971,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration/uc/dto/user",{"_index":23974,"title":{},"body":{"interfaces/UserLoginMigrationQuery.html":{}}}],["migration/uc/restart",{"_index":19034,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration/uc/start",{"_index":20952,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration/uc/toggle",{"_index":22963,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration/uc/user",{"_index":24078,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/user",{"_index":20580,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationalreadyactivatedexception",{"_index":15037,"title":{"classes/MigrationAlreadyActivatedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migrationcheckservice",{"_index":16479,"title":{"injectables/MigrationCheckService.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationdto",{"_index":16502,"title":{"classes/MigrationDto.html":{}},"body":{"classes/MigrationDto.html":{},"controllers/UserLoginMigrationController.html":{}}}],["migrationmaybecompleted",{"_index":16508,"title":{"classes/MigrationMayBeCompleted.html":{}},"body":{"classes/MigrationMayBeCompleted.html":{}}}],["migrationmaynotbecompleted",{"_index":16516,"title":{"classes/MigrationMayNotBeCompleted.html":{}},"body":{"classes/MigrationMayNotBeCompleted.html":{}}}],["migrationoptions",{"_index":4902,"title":{"interfaces/MigrationOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrationpage",{"_index":23869,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.data.map",{"_index":23872,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.total",{"_index":23874,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse",{"_index":23880,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponses",{"_index":23871,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrations",{"_index":23803,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["mikro",{"_index":96,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroorm",{"_index":8853,"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":25649,"title":{},"body":{"todo.html":{}}}],["mikroormmodule",{"_index":1014,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroormmodule.forroot",{"_index":1040,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroormmodule.forrootasync",{"_index":16544,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmoduleasyncoptions",{"_index":16539,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmodulesyncoptions",{"_index":12416,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroservice",{"_index":25900,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["milliseconds",{"_index":9375,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"injectables/SchoolMigrationService.html":{}}}],["mime",{"_index":11865,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["mimetype",{"_index":1444,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetFile.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/ListFiles.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"interfaces/S3Config.html":{}}}],["min",{"_index":3792,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(0",{"_index":3797,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(1",{"_index":9174,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/PaginationParams.html":{}}}],["mind",{"_index":26371,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["minimum",{"_index":891,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["minio",{"_index":25682,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_password=miniouser",{"_index":25696,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_user=`miniouser",{"_index":25695,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minios3storage",{"_index":25692,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minorversion",{"_index":1201,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["minus",{"_index":16560,"title":{},"body":{"classes/MongoPatterns.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["minutes",{"_index":2906,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{}}}],["minutes_of_30_days",{"_index":9404,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["minwidth",{"_index":16394,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["mismatch",{"_index":7065,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["mismatch.loggable",{"_index":20277,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["misrepresentation",{"_index":25380,"title":{},"body":{"license.html":{}}}],["missed",{"_index":8059,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["missing",{"_index":983,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/ClassService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/PseudonymService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["missing.loggable",{"_index":10116,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["missing_tool_parameter_value",{"_index":16525,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["missingentityids.tostring",{"_index":4878,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["missingschoolnumberexception",{"_index":15035,"title":{"classes/MissingSchoolNumberException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["missingtoolparametervalueloggableexception",{"_index":16520,"title":{"classes/MissingToolParameterValueLoggableException.html":{}},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["mission",{"_index":16785,"title":{},"body":{"classes/NewsScope.html":{}}}],["missmatches",{"_index":22074,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["mixing",{"_index":15246,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mixwith",{"_index":24912,"title":{},"body":{"dependencies.html":{}}}],["mkdir",{"_index":12160,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdir(folderpath",{"_index":12165,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp",{"_index":12161,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp(dirpath",{"_index":12169,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mm",{"_index":15911,"title":{},"body":{"modules/LoggerModule.html":{}}}],["mnf:copyrightandotherrestrictions",{"_index":6006,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:description",{"_index":6008,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:general",{"_index":6002,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:lom",{"_index":6001,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:rights",{"_index":6005,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:string",{"_index":6004,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:title",{"_index":6003,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:value",{"_index":6007,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mocha",{"_index":25778,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mocha's",{"_index":26065,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mock",{"_index":10395,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/SystemEntityFactory.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock.strategy.ts",{"_index":17723,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock/oidc",{"_index":17722,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock:0.6.0powershell",{"_index":26279,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock:0.6.0setup",{"_index":26280,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock_issuer",{"_index":21541,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mock_type",{"_index":21539,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockbaseurl",{"_index":10392,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mocked",{"_index":26170,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocking",{"_index":26130,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockreturnvalueonce",{"_index":26168,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocks",{"_index":26092,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocksecret",{"_index":21535,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockservice",{"_index":26147,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockservice.getuser.mockreturnvalueonce(resultuser",{"_index":26163,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockstack",{"_index":2093,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["mode",{"_index":16515,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["model",{"_index":8087,"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":9335,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["modelentity",{"_index":8707,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["modelentity.gridelements.init",{"_index":8732,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.isinitialized",{"_index":8731,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.remove(el",{"_index":8764,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.references.loaditems",{"_index":8724,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.title",{"_index":8730,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.user.id",{"_index":8736,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.xpos",{"_index":8727,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.ypos",{"_index":8728,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["models",{"_index":16850,"title":{},"body":{"injectables/NewsUc.html":{}}}],["moderator",{"_index":2265,"title":{},"body":{"classes/BBBJoinConfig.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["moderatorcount",{"_index":2310,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["moderatormustapprovejoinrequests",{"_index":9620,"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":2165,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["modification",{"_index":25109,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["modifications",{"_index":25161,"title":{},"body":{"license.html":{}}}],["modified",{"_index":23809,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["modifiedcount",{"_index":9217,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["modifies",{"_index":25253,"title":{},"body":{"license.html":{}}}],["modify",{"_index":25081,"title":{},"body":{"license.html":{}}}],["modifying",{"_index":25135,"title":{},"body":{"license.html":{}}}],["modularization",{"_index":25677,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["modularize",{"_index":20987,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["module",{"_index":252,"title":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["module.close",{"_index":26151,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(featureundertest",{"_index":26148,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(mockservice",{"_index":26149,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.ts",{"_index":15324,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/application",{"_index":26128,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module/repo",{"_index":25957,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/uc",{"_index":25953,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["moduleref",{"_index":26136,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(catscontroller",{"_index":26140,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(sampleservice",{"_index":26139,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["modules",{"_index":254,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"interfaces/UserMetdata.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["modules/account",{"_index":1537,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"modules/DeletionApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ServerConfig.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["modules/account/account",{"_index":20561,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/account/account.module",{"_index":18272,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/account/services/account.service",{"_index":14962,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{}}}],["modules/account/services/dto",{"_index":1712,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["modules/account/services/dto/account.dto",{"_index":836,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["modules/authentication",{"_index":3240,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"modules/DeletionApiModule.html":{},"controllers/ElementController.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"interfaces/ServerConfig.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["modules/authentication/authentication",{"_index":13411,"title":{},"body":{"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/authentication/authentication.module",{"_index":12252,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["modules/authentication/decorator/auth.decorator",{"_index":13293,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["modules/authentication/interface",{"_index":24309,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authentication/interface/user",{"_index":18990,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["modules/authentication/mapper",{"_index":24310,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authorization",{"_index":2680,"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":{},"modules/LessonApiModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"modules/MetaTagExtractorApiModule.html":{},"injectables/MetaTagExtractorUc.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"modules/SystemApiModule.html":{},"injectables/SystemUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/authorization/authorization",{"_index":12253,"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":25963,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/authorization/domain",{"_index":4157,"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":1933,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board/board",{"_index":20562,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/class",{"_index":9061,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["modules/class/domain",{"_index":13099,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["modules/class/entity",{"_index":4689,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["modules/class/entity/class.entity",{"_index":7544,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/collaborative",{"_index":5029,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/copy",{"_index":3318,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["modules/deletion",{"_index":9060,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{}}}],["modules/feathers/feathers",{"_index":25961,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/feathers/feathers.module.ts",{"_index":25962,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/files",{"_index":1317,"title":{},"body":{"injectables/AntivirusService.html":{},"modules/BoardModule.html":{},"modules/DeletionApiModule.html":{},"classes/FileRecordFactory.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["modules/files/entity",{"_index":1020,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/group",{"_index":10088,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisResponseMapper.html":{}}}],["modules/group/entity/group.entity",{"_index":7546,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/group/group",{"_index":20563,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/h5p",{"_index":13427,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["modules/learnroom",{"_index":2029,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"modules/DeletionApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/ShareTokenUC.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/learnroom/common",{"_index":20508,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["modules/learnroom/controller/dto/lesson/lesson",{"_index":7437,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/learnroom/learnroom",{"_index":20564,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom/service",{"_index":11399,"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":3767,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["modules/legacy",{"_index":2070,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"modules/OauthModule.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSystemOptionsRule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/lesson",{"_index":3320,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["modules/lesson/lesson",{"_index":20565,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/lesson/service",{"_index":5770,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/lesson/types",{"_index":7439,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/lti",{"_index":17515,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{}}}],["modules/management/management.module",{"_index":20546,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/management/uc/database",{"_index":22555,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["modules/meta",{"_index":20566,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/news",{"_index":20567,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth",{"_index":174,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/oauth/controller/dto/authorization.params",{"_index":13647,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["modules/oauth/loggable",{"_index":14398,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["modules/oauth/oauth",{"_index":20568,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth/oauth.module",{"_index":1538,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["modules/oauth/service/dto/cookies.dto",{"_index":13615,"title":{},"body":{"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/dto/hydra.redirect.dto",{"_index":13578,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["modules/provisioning",{"_index":17022,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/pseudonym",{"_index":5073,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolLaunchModule.html":{}}}],["modules/pseudonym/pseudonym",{"_index":20569,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/pseudonym/service",{"_index":17540,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["modules/registration",{"_index":9064,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/rocketchat",{"_index":9063,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/role",{"_index":1539,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{}}}],["modules/role/role.module",{"_index":24185,"title":{},"body":{"modules/UserModule.html":{}}}],["modules/role/service/dto/role.dto",{"_index":5033,"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":5150,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"modules/RoleModule.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/uc/role.uc",{"_index":19233,"title":{},"body":{"modules/RoleModule.html":{}}}],["modules/server",{"_index":1716,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/server/server.config",{"_index":650,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["modules/sharing/domainobject/share",{"_index":20737,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["modules/sharing/sharing.module",{"_index":20571,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system",{"_index":1540,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"classes/GroupUcMapper.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemRule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{}}}],["modules/system/controller/dto/oauth",{"_index":18537,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/controller/system.controller",{"_index":21440,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/system/service",{"_index":14679,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["modules/system/service/dto",{"_index":13904,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["modules/system/service/dto/oauth",{"_index":21509,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/dto/oidc",{"_index":21583,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["modules/system/service/dto/system.dto",{"_index":18327,"title":{},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/system",{"_index":14680,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["modules/system/system",{"_index":20573,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system/system.module",{"_index":18273,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/system/uc/system.uc",{"_index":21441,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/task",{"_index":3321,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["modules/task/controller/dto/task",{"_index":7440,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/task/service",{"_index":5771,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/task/task",{"_index":20575,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/task/types",{"_index":7441,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/teams",{"_index":9062,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/teams/teams",{"_index":20577,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/teams/teams.module",{"_index":22421,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["modules/tldraw",{"_index":3901,"title":{},"body":{"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["modules/tldraw/domain/ws",{"_index":22831,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["modules/tldraw/service",{"_index":24774,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["modules/tool",{"_index":1935,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["modules/tool/common/domain",{"_index":6808,"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":10769,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["modules/tool/common/enum",{"_index":6809,"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":6886,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["modules/tool/common/interface",{"_index":10720,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["modules/tool/context",{"_index":3899,"title":{},"body":{"modules/BoardModule.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/external",{"_index":8311,"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":6889,"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":17516,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/user",{"_index":3900,"title":{},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/DeletionApiModule.html":{},"injectables/FeathersRosterService.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/VideoConferenceApiModule.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/user/service/user",{"_index":23668,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["modules/user/uc/dto/user.dto",{"_index":24114,"title":{},"body":{"classes/UserMapper.html":{}}}],["modules/user/user",{"_index":20582,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/video",{"_index":20584,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["moduluslength",{"_index":8031,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["moin.schule",{"_index":19760,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["moment",{"_index":16899,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mongo",{"_index":623,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"todo.html":{}}}],["mongo.patterns",{"_index":14277,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["mongo_url=mongodb://172.29.173.128:27030/rocketchat",{"_index":26330,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongod",{"_index":25683,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mongodatabasemoduleoptions",{"_index":1028,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["mongodb",{"_index":804,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongodbpersistence",{"_index":22654,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongodbpersistence(this.connectionstring",{"_index":22677,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongoexport",{"_index":5315,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongoimport",{"_index":5302,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongomemorydatabasemodule",{"_index":1029,"title":{"modules/MongoMemoryDatabaseModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemorydatabasemodule.forroot",{"_index":1043,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemoryserver",{"_index":25936,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongoose",{"_index":11643,"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":14276,"title":{"classes/MongoPatterns.html":{}},"body":{"classes/ImportUserScope.html":{},"classes/MongoPatterns.html":{},"injectables/UserRepo.html":{}}}],["moodle",{"_index":24926,"title":{},"body":{"dependencies.html":{}}}],["more",{"_index":1832,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["moreover",{"_index":25414,"title":{},"body":{"license.html":{}}}],["mostly",{"_index":26461,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mount",{"_index":24992,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounted",{"_index":24985,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounts",{"_index":25631,"title":{},"body":{"todo.html":{}}}],["mountsdescription",{"_index":1421,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["move",{"_index":3728,"title":{},"body":{"injectables/BoardDoService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"controllers/ElementController.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["move(card",{"_index":4496,"title":{},"body":{"injectables/CardService.html":{}}}],["move(child",{"_index":3732,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["move(column",{"_index":5695,"title":{},"body":{"injectables/ColumnService.html":{}}}],["move(element",{"_index":6464,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["moveable",{"_index":26389,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["movecard",{"_index":4370,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["movecard(urlparams",{"_index":4390,"title":{},"body":{"controllers/CardController.html":{}}}],["movecard(userid",{"_index":5711,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["movecardbodyparams",{"_index":4391,"title":{"classes/MoveCardBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/MoveCardBodyParams.html":{}}}],["movecolumn",{"_index":4138,"title":{},"body":{"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["movecolumn(urlparams",{"_index":5648,"title":{},"body":{"controllers/ColumnController.html":{}}}],["movecolumn(userid",{"_index":4148,"title":{},"body":{"injectables/BoardUc.html":{}}}],["movecolumnbodyparams",{"_index":5649,"title":{"classes/MoveColumnBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/MoveColumnBodyParams.html":{}}}],["movecontentelementbody",{"_index":9848,"title":{"classes/MoveContentElementBody.html":{}},"body":{"controllers/ElementController.html":{},"classes/MoveContentElementBody.html":{}}}],["moved",{"_index":22276,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["moveelement",{"_index":4537,"title":{},"body":{"injectables/CardUc.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"controllers/ElementController.html":{}}}],["moveelement(from",{"_index":8488,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["moveelement(undefined",{"_index":8404,"title":{},"body":{"controllers/DashboardController.html":{}}}],["moveelement(urlparams",{"_index":9847,"title":{},"body":{"controllers/ElementController.html":{}}}],["moveelement(userid",{"_index":4549,"title":{},"body":{"injectables/CardUc.html":{}}}],["moveelementondashboard",{"_index":8818,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementondashboard(dashboardid",{"_index":8823,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementparams",{"_index":8406,"title":{"classes/MoveElementParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moveelementpositionparams",{"_index":16576,"title":{"classes/MoveElementPositionParams.html":{}},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moves",{"_index":4951,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["movetotrash",{"_index":19529,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["movetotrash(paths",{"_index":19551,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["moving",{"_index":26471,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mps",{"_index":4928,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["ms",{"_index":4968,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["msg",{"_index":4284,"title":{},"body":{"modules/CacheWrapperModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/RedisModule.html":{}}}],["msgs",{"_index":1067,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["much",{"_index":26073,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["multi",{"_index":3809,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["multiple",{"_index":2234,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"classes/KeycloakSeedService.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["multiplecollections",{"_index":22631,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["multivalued",{"_index":14784,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["muted",{"_index":24695,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["muteonstart",{"_index":2166,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["mutex",{"_index":24857,"title":{},"body":{"dependencies.html":{}}}],["n",{"_index":18879,"title":{},"body":{"classes/ReferencesService.html":{}}}],["n21",{"_index":1941,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CommonToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{}}}],["name",{"_index":31,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["name${sequence",{"_index":10394,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["name.length",{"_index":11890,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["name.mapper",{"_index":14128,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["name.mapper.ts",{"_index":19235,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:13",{"_index":19238,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:6",{"_index":19240,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.match",{"_index":7412,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["name.strategy.ts",{"_index":2014,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:15",{"_index":2021,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:22",{"_index":2028,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:45",{"_index":2026,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:51",{"_index":2023,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["named",{"_index":25026,"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":26253,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["namematch",{"_index":13751,"title":{"interfaces/NameMatch.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["nameonly",{"_index":8944,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["names",{"_index":5245,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/FileMetadata.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"controllers/NewsController.html":{},"classes/Path.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["namespace",{"_index":26232,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["naming",{"_index":25670,"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":13649,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/TokenGenerator.html":{},"dependencies.html":{}}}],["nanoid(12",{"_index":22975,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["nanoid(15",{"_index":13657,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["narrowed",{"_index":13165,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["native",{"_index":24945,"title":{},"body":{"dependencies.html":{}}}],["nature",{"_index":25264,"title":{},"body":{"license.html":{}}}],["nbf",{"_index":14343,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["ne",{"_index":12041,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["necessary",{"_index":22075,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["need",{"_index":813,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["needed",{"_index":1930,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/S3ClientAdapter.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["neededpermission",{"_index":22198,"title":{},"body":{"injectables/TaskUC.html":{}}}],["needs",{"_index":1926,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"classes/H5PSaveResponse.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["nest",{"_index":1212,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ErrorLogger.html":{},"injectables/FeathersRosterService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/Options.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"dependencies.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["nest.js",{"_index":410,"title":{},"body":{"controllers/AccountController.html":{}}}],["nest/legacy",{"_index":25660,"title":{},"body":{"todo.html":{}}}],["nest:build",{"_index":25719,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:build:all",{"_index":25722,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console",{"_index":25745,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console:dev",{"_index":25746,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:build",{"_index":25740,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:serve",{"_index":25741,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint",{"_index":25761,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint:fix",{"_index":25764,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:prebuild",{"_index":25718,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start",{"_index":25725,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:debug",{"_index":25730,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:dev",{"_index":25727,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:files",{"_index":25736,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:prod",{"_index":25732,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test",{"_index":25754,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:all",{"_index":25755,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:api",{"_index":25756,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:cov",{"_index":25758,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:debug",{"_index":25760,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:unit",{"_index":25757,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:watch",{"_index":25759,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest_log_level",{"_index":12095,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["nestapp.get(rocketchatservice",{"_index":25971,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["nested",{"_index":13184,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/PermissionService.html":{}}}],["nestexpress.set('feathersapp",{"_index":11481,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["nestinterceptor",{"_index":9825,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["nestjs",{"_index":3814,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/ErrorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["nestjs/axios",{"_index":1054,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/HydraSsoService.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{}}}],["nestjs/cache",{"_index":4271,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{}}}],["nestjs/clithen",{"_index":25784,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nestjs/common",{"_index":277,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"modules/CoreModule.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"modules/IdentityManagementModule.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/common/decorators",{"_index":17125,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["nestjs/common/decorators/core/injectable.decorator",{"_index":4981,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/HydraSsoService.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToolVersionService.html":{}}}],["nestjs/common/exceptions/internal",{"_index":7547,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["nestjs/common/exceptions/not",{"_index":10274,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["nestjs/config",{"_index":651,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/core",{"_index":10027,"title":{},"body":{"modules/ErrorModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"modules/ValidationModule.html":{},"dependencies.html":{}}}],["nestjs/jwt",{"_index":1543,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"dependencies.html":{}}}],["nestjs/microservices",{"_index":24832,"title":{},"body":{"dependencies.html":{}}}],["nestjs/passport",{"_index":1545,"title":{},"body":{"modules/AuthenticationModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/platform",{"_index":13297,"title":{},"body":{"controllers/H5PEditorController.html":{},"dependencies.html":{}}}],["nestjs/swagger",{"_index":202,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"controllers/GroupController.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolSystemParams.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"dependencies.html":{}}}],["nestjs/testing",{"_index":22554,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["nestjs/testing.test",{"_index":26131,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nestjs/websockets",{"_index":22805,"title":{},"body":{"classes/TldrawWs.html":{},"dependencies.html":{}}}],["nestmodule",{"_index":20586,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nestwinston",{"_index":25997,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["net",{"_index":25004,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["network",{"_index":25056,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["neuen",{"_index":5542,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["never",{"_index":9636,"title":{},"body":{"classes/DomainObjectFactory.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FilesRepo.html":{},"classes/GuardAgainst.html":{},"injectables/LdapStrategy.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["new",{"_index":153,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BusinessError.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newconfig",{"_index":14757,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfig.idphint",{"_index":14755,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs",{"_index":14665,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.foreach((newconfig",{"_index":14752,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.some((newconfig",{"_index":14759,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newdeletionlog",{"_index":9327,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["newdeletionrequest",{"_index":9553,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.deleteafter",{"_index":9556,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.id",{"_index":9555,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newelement",{"_index":8578,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newentity",{"_index":12962,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["newfactory",{"_index":2601,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newgroupname",{"_index":8534,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newid",{"_index":7365,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newid}/${name",{"_index":7368,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newlanguage",{"_index":24303,"title":{},"body":{"injectables/UserService.html":{}}}],["newlist",{"_index":3015,"title":{},"body":{"entities/Board.html":{}}}],["newname",{"_index":7687,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["newnonoptionalparamnames",{"_index":11245,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.includes(name",{"_index":11248,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.some((name",{"_index":11249,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams",{"_index":11243,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams.map((parameter",{"_index":11246,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam",{"_index":11234,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.isoptional",{"_index":11235,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.name",{"_index":11225,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.regex",{"_index":11254,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.scope",{"_index":11256,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.type",{"_index":11255,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams",{"_index":11198,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.filter((parameter",{"_index":11244,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.find((p",{"_index":11252,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some",{"_index":11233,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some((newparam",{"_index":11223,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newpath",{"_index":1345,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["newpropsfactory",{"_index":2599,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newresource",{"_index":5884,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newresource.caninline",{"_index":5887,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newrooms",{"_index":8558,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newrooms.foreach((room",{"_index":8560,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["news",{"_index":7882,"title":{"entities/News.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["news.content",{"_index":16687,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.controller",{"_index":16719,"title":{},"body":{"modules/NewsModule.html":{}}}],["news.controller.ts",{"_index":22324,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.controller.ts:19",{"_index":22329,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.createdat",{"_index":16693,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.createinstance(targetmodel",{"_index":16828,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news.displayat",{"_index":16688,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.id",{"_index":16685,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.params.ts",{"_index":8075,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["news.params.ts:14",{"_index":12499,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:15",{"_index":8090,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:17",{"_index":23524,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:22",{"_index":8078,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:25",{"_index":23520,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:30",{"_index":8083,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:32",{"_index":23522,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:37",{"_index":8088,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:44",{"_index":8085,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.permissions",{"_index":16695,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.source",{"_index":16689,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.sourcedescription",{"_index":16690,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.target.id",{"_index":16691,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.targetmodel",{"_index":16692,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.title",{"_index":16686,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updatedat",{"_index":16694,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updater",{"_index":16696,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news[key",{"_index":16844,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news].params.ts",{"_index":25984,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news].response.dto",{"_index":25986,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news_edit",{"_index":16846,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news_sources",{"_index":16653,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["news_sources[number",{"_index":16657,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["newscontroller",{"_index":16595,"title":{"controllers/NewsController.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["newscount",{"_index":16834,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable",{"_index":16637,"title":{"classes/NewsCrudOperationLoggable.html":{}},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.create",{"_index":16830,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.delete",{"_index":16848,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.update",{"_index":16845,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsentities",{"_index":16747,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentities.filter((news",{"_index":16751,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentity",{"_index":16743,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsid",{"_index":16862,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["newslist",{"_index":16625,"title":{},"body":{"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map((news",{"_index":16628,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map(async",{"_index":16837,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newslistresponse",{"_index":16617,"title":{"classes/NewsListResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"controllers/TeamNewsController.html":{}}}],["newslistresponse(dtolist",{"_index":16629,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper",{"_index":16613,"title":{"classes/NewsMapper.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.mapcreatenewstodomain(params",{"_index":16623,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapnewsscopetodomain(scope",{"_index":16627,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.maptologmessagedata(this.news",{"_index":16646,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["newsmapper.maptoresponse(news",{"_index":16624,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapupdatenewstodomain(params",{"_index":16634,"title":{},"body":{"controllers/NewsController.html":{}}}],["newsmodule",{"_index":16709,"title":{"modules/NewsModule.html":{}},"body":{"modules/NewsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["newspermission",{"_index":16809,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsproperties",{"_index":7877,"title":{"interfaces/NewsProperties.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsrepo",{"_index":16714,"title":{"injectables/NewsRepo.html":{}},"body":{"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["newsresponse",{"_index":16618,"title":{"classes/NewsResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{}}}],["newsrule",{"_index":26433,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newsscope",{"_index":16736,"title":{"classes/NewsScope.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{}}}],["newstarget",{"_index":7872,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"classes/TargetInfoMapper.html":{},"entities/TeamNews.html":{}}}],["newstargetfilter",{"_index":16726,"title":{"interfaces/NewsTargetFilter.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["newstargetmodel",{"_index":7873,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newstargetmodel.course",{"_index":7900,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.school",{"_index":7905,"title":{},"body":{"entities/CourseNews.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.team",{"_index":7902,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsuc",{"_index":16615,"title":{"injectables/NewsUc.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newsuc.getrequiredpermissions(ispublished",{"_index":16841,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsuc.getrequiredpermissions(unpublished",{"_index":16832,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsurlparams",{"_index":16599,"title":{"classes/NewsUrlParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsUrlParams.html":{}}}],["newtool",{"_index":11215,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.parameters",{"_index":11219,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.version",{"_index":11221,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newuser",{"_index":26415,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newvar",{"_index":1183,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["nexboard",{"_index":6218,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/NexboardService.html":{}}}],["nexboard.id",{"_index":16873,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboard.publiclink",{"_index":16874,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardresponse",{"_index":16870,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardservice",{"_index":15627,"title":{"injectables/NexboardService.html":{}},"body":{"modules/LessonModule.html":{},"injectables/NexboardService.html":{}}}],["next",{"_index":571,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"controllers/LoginController.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["next.handle().pipe",{"_index":18998,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["next.handle().pipe(tap",{"_index":9829,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["nextcloud",{"_index":13714,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["nextcloud.client",{"_index":16908,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudclient",{"_index":5070,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudgroups",{"_index":13140,"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":16906,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy",{"_index":5071,"title":{"injectables/NextcloudStrategy.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy.generategroupfoldername(team.id",{"_index":16923,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudtool",{"_index":16935,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextmarker",{"_index":7318,"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":19805,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["node",{"_index":3611,"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":3520,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.entity.ts",{"_index":4448,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["node.entity.ts:10",{"_index":10349,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"entities/RichTextElementNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:12",{"_index":11579,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{}}}],["node.entity.ts:13",{"_index":19097,"title":{},"body":{"entities/RichTextElementNode.html":{}}}],["node.entity.ts:15",{"_index":15812,"title":{},"body":{"entities/LinkElementNode.html":{}}}],["node.entity.ts:16",{"_index":4449,"title":{},"body":{"entities/CardNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:23",{"_index":5496,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:26",{"_index":5494,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:9",{"_index":9695,"title":{},"body":{"entities/DrawingElementNode.html":{},"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{},"entities/SubmissionContainerElementNode.html":{}}}],["node.js",{"_index":24982,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["node.level",{"_index":3959,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.pathofchildren",{"_index":3961,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo",{"_index":3671,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.repo.ts",{"_index":3945,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:10",{"_index":3949,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:20",{"_index":3951,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:31",{"_index":3953,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:7",{"_index":3948,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.title",{"_index":3690,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["node.usedobuilder(this",{"_index":3601,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["node:fs/promises",{"_index":15001,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["node:path",{"_index":133,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["node_env",{"_index":20506,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["node_env=test",{"_index":20627,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nodeclam",{"_index":1262,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["nodeclam().init",{"_index":1279,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["nodeenvtype",{"_index":20510,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["nodejs",{"_index":11713,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["nodejs.timeout",{"_index":19644,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nodeps",{"_index":24923,"title":{},"body":{"dependencies.html":{}}}],["nodeps.git",{"_index":24925,"title":{},"body":{"dependencies.html":{}}}],["nodes",{"_index":3954,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.filter((n",{"_index":3975,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.map((node",{"_index":3963,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nofutureavailabledate",{"_index":22067,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{}}}],["non",{"_index":6730,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ElementUc.html":{},"classes/MongoPatterns.html":{},"classes/ReferencesService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"license.html":{},"todo.html":{}}}],["noncommercially",{"_index":25292,"title":{},"body":{"license.html":{}}}],["none",{"_index":1582,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nonemptytargets",{"_index":16855,"title":{},"body":{"injectables/NewsUc.html":{}}}],["nonoptionalparamnames",{"_index":11240,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.includes(name",{"_index":11250,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.some((name",{"_index":11247,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams",{"_index":11237,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams.map((parameter",{"_index":11241,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["normal",{"_index":1931,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"license.html":{}}}],["normalizepassword",{"_index":1690,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizepassword(password",{"_index":1703,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername",{"_index":1691,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername(username",{"_index":1705,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normally",{"_index":25320,"title":{},"body":{"license.html":{}}}],["nosuchbucket",{"_index":19589,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nosuchkey",{"_index":19584,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["not_found",{"_index":16976,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["notacceptableexception",{"_index":22490,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notacceptableexception(`filename",{"_index":22504,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notation",{"_index":2612,"title":{},"body":{"classes/BaseFactory.html":{}}}],["note",{"_index":802,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/TaskRepo.html":{},"classes/TestApiClient.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["notfinished",{"_index":22232,"title":{},"body":{"injectables/TaskUC.html":{}}}],["notfound",{"_index":8829,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["notfounderror",{"_index":16164,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfounderror(`ltitool",{"_index":16167,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfoundexception",{"_index":2954,"title":{},"body":{"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"controllers/CourseController.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GridElement.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["notfoundexception('board",{"_index":2996,"title":{},"body":{"entities/Board.html":{}}}],["notfoundexception('could",{"_index":10305,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{}}}],["notfoundexception('no",{"_index":8551,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["notfoundexception('nosuchkey",{"_index":19585,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception('some",{"_index":4508,"title":{},"body":{"injectables/CardService.html":{}}}],["notfoundexception('there",{"_index":6475,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["notfoundexception('this",{"_index":13506,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["notfoundexception(`the",{"_index":12428,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["notfoundexception(`there",{"_index":3679,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["notfoundexception(`unable",{"_index":17519,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["notfoundexception(null",{"_index":19618,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception})@apibody({required",{"_index":5642,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["notfoundexception})@apiresponse({status",{"_index":20688,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notfoundexception})@get(':boardid",{"_index":3232,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@get(':boardid/context",{"_index":3227,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(201)@patch(':contentelementid/content",{"_index":9854,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':boardid",{"_index":3223,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':cardid",{"_index":4381,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':columnid",{"_index":5646,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':contentelementid",{"_index":9845,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':docname",{"_index":22724,"title":{},"body":{"controllers/TldrawController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':boardid/title",{"_index":3238,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/height",{"_index":4396,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/title",{"_index":4399,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':columnid/title",{"_index":5653,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':submissionitemid",{"_index":4062,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundexception})@httpcode(204)@put(':cardid/position",{"_index":4392,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@put(':columnid/position",{"_index":5650,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@put(':contentelementid/position",{"_index":9849,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@post(':boardid/columns",{"_index":3218,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@post(':cardid/elements",{"_index":4377,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@post(':submissionitemid/elements",{"_index":4051,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundloggableexception",{"_index":4862,"title":{"classes/NotFoundLoggableException.html":{}},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception('userloginmigration",{"_index":24094,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["notfoundloggableexception(class.name",{"_index":4877,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["notfoundloggableexception(columnboard.name",{"_index":5533,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["notfoundloggableexception(contextexternaltool.name",{"_index":11456,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(externaltool.name",{"_index":11452,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(group.name",{"_index":13076,"title":{},"body":{"injectables/GroupService.html":{}}}],["notfoundloggableexception(pseudonym.name",{"_index":11445,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolexternaltool.name",{"_index":11454,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolsystemoptions.name",{"_index":20416,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["notfoundloggableexception(system.name",{"_index":20418,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{}}}],["notfoundloggableexception(userdo.name",{"_index":17832,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["nothing",{"_index":16458,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"license.html":{}}}],["notice",{"_index":15875,"title":{},"body":{"injectables/Logger.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["notice(loggable",{"_index":15882,"title":{},"body":{"injectables/Logger.html":{}}}],["notices",{"_index":25149,"title":{},"body":{"license.html":{}}}],["notifies",{"_index":25415,"title":{},"body":{"license.html":{}}}],["notify",{"_index":25411,"title":{},"body":{"license.html":{}}}],["notimplementedexception",{"_index":3555,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/LessonRule.html":{},"classes/MetadataTypeMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RuleManager.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('action",{"_index":15678,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('copy",{"_index":20885,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('import",{"_index":20904,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('only",{"_index":5465,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["notimplementedexception('repo_or_service_not_implement",{"_index":18853,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["notimplementedexception('rooms",{"_index":19374,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["notimplementedexception(`invalid",{"_index":3618,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["notimplementedexception(`unknown",{"_index":6421,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["notimplementedexception(`unsupported",{"_index":6448,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["notimplementedexception})@post(':token/import')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":20691,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notmigratedusers",{"_index":20245,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notmigratedusers.data.foreach((user",{"_index":20250,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notwithstanding",{"_index":25371,"title":{},"body":{"license.html":{}}}],["nountildate",{"_index":7942,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["november",{"_index":25038,"title":{},"body":{"license.html":{}}}],["now",{"_index":1924,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/NewsScope.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["now.getfullyear()}_",{"_index":5242,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["now.getmonth",{"_index":5243,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["nowplusdays",{"_index":20840,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["nowplusdays(days",{"_index":20861,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["now}ms",{"_index":9831,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["npm",{"_index":25624,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["npx",{"_index":26293,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["null",{"_index":142,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{}}}],["nullable",{"_index":196,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ColumnUrlParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["nullish",{"_index":20989,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["nullorundefined",{"_index":13159,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["nullorundefined(value",{"_index":13160,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["num",{"_index":7411,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number",{"_index":55,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContentElementService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileElement.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/S3Config.html":{},"interfaces/ScanResult.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["number(a.width",{"_index":16425,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(b.width",{"_index":16426,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(batchsize",{"_index":8973,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["number(matches.groups.number",{"_index":7415,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number(options.callsdelayms",{"_index":9382,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.deleteinminutes",{"_index":9380,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.limit",{"_index":9165,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["number(options.pagesize",{"_index":4934,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number(options.skip",{"_index":4960,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number.isnan(this.deletedat.gettime",{"_index":11659,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["number.strategy.ts",{"_index":2064,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:12",{"_index":2069,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:9",{"_index":2067,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["numbered",{"_index":25543,"title":{},"body":{"license.html":{}}}],["numberofdrafttasks",{"_index":3775,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberoffailingfilesinbatch",{"_index":9013,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberoffilesinbatch",{"_index":9006,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofplannedtasks",{"_index":3776,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofprocessedfiles",{"_index":9007,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofpublishedtasks",{"_index":3777,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofstudents",{"_index":7759,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["numberofsubmitters",{"_index":21741,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofsubmitterswithgrade",{"_index":21749,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofteachers",{"_index":7762,"title":{},"body":{"classes/CourseFactory.html":{}}}],["numberofteammembers",{"_index":21156,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["numbers",{"_index":16558,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["numerous",{"_index":26075,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nuxt",{"_index":26267,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nvmrc",{"_index":25678,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["o",{"_index":8858,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["o.id",{"_index":3697,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["o.key",{"_index":19624,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["oauth",{"_index":1470,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderServiceModule.html":{},"controllers/OauthSSOController.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth.module",{"_index":17152,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["oauth.service",{"_index":13888,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["oauth.service.ts",{"_index":13895,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:13",{"_index":14824,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:15",{"_index":13900,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:23",{"_index":13902,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:50",{"_index":14828,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:9",{"_index":13899,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.uc.ts",{"_index":13558,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:12",{"_index":13567,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:21",{"_index":13575,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:23",{"_index":13569,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:40",{"_index":13576,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:42",{"_index":13574,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:59",{"_index":13571,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth2",{"_index":6281,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/RevokeConsentParams.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth2')@apiokresponse({description",{"_index":23830,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["oauth2.0",{"_index":15988,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["oauth2authorizationbodyparams",{"_index":15946,"title":{"classes/Oauth2AuthorizationBodyParams.html":{}},"body":{"controllers/LoginController.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2clientid",{"_index":11382,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["oauth2config",{"_index":10766,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.baseurl",{"_index":10788,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.clientid",{"_index":10789,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.clientsecret",{"_index":11087,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.frontchannellogouturi",{"_index":11093,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.redirecturis",{"_index":11092,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.scope",{"_index":11088,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.skipconsent",{"_index":10790,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.tokenendpointauthmethod",{"_index":11090,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.type",{"_index":10787,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2migrationparams",{"_index":17069,"title":{"classes/Oauth2MigrationParams.html":{}},"body":{"classes/Oauth2MigrationParams.html":{},"controllers/UserLoginMigrationController.html":{}}}],["oauth2params",{"_index":8326,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2strategy",{"_index":1533,"title":{"injectables/Oauth2Strategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2toolconfig",{"_index":8310,"title":{"classes/Oauth2ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauth2toolconfig(props.config",{"_index":10168,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["oauth2toolconfigcreate",{"_index":10849,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigcreateparams",{"_index":10313,"title":{"classes/Oauth2ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["oauth2toolconfigentity",{"_index":10362,"title":{"classes/Oauth2ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["oauth2toolconfigfactory",{"_index":8316,"title":{"classes/Oauth2ToolConfigFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.build(customparam",{"_index":8348,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.define(oauth2toolconfig",{"_index":8327,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigresponse",{"_index":10921,"title":{"classes/Oauth2ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["oauth2toolconfigupdate",{"_index":10853,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigupdateparams",{"_index":10851,"title":{"classes/Oauth2ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["oauth2toollaunchstrategy",{"_index":16979,"title":{"injectables/OAuth2ToolLaunchStrategy.html":{}},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["oauth_provisioning_enabled",{"_index":19920,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauth_token_request_error",{"_index":22977,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["oauthadapterservice",{"_index":17004,"title":{"injectables/OauthAdapterService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{}}}],["oauthapimodule",{"_index":17144,"title":{"modules/OauthApiModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthclient",{"_index":11039,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.client_secret",{"_index":17589,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.frontchannel_logout_uri",{"_index":11082,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.redirect_uris",{"_index":11080,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.scope",{"_index":11076,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.token_endpoint_auth_method",{"_index":11078,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclientbody",{"_index":17153,"title":{"classes/OauthClientBody.html":{}},"body":{"classes/OauthClientBody.html":{},"controllers/OauthProviderController.html":{}}}],["oauthclientid",{"_index":8170,"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":6338,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthconfig",{"_index":13640,"title":{"classes/OauthConfig.html":{}},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{}}}],["oauthconfig.authendpoint",{"_index":15095,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientid",{"_index":13655,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientsecret",{"_index":15085,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.granttype",{"_index":15091,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.idphint",{"_index":15087,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.issuer",{"_index":15100,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.jwksendpoint",{"_index":15102,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.logoutendpoint",{"_index":15098,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.provider",{"_index":15096,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.redirecturi",{"_index":13656,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.responsetype",{"_index":13653,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.scope",{"_index":13654,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.tokenendpoint",{"_index":15089,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigdto",{"_index":13903,"title":{"classes/OauthConfigDto.html":{}},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.authendpoint",{"_index":17208,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientid",{"_index":17202,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientsecret",{"_index":17203,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["oauthconfigdto.granttype",{"_index":17206,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.idphint",{"_index":17204,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.issuer",{"_index":17213,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.jwksendpoint",{"_index":17214,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.logoutendpoint",{"_index":17212,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.provider",{"_index":17211,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.redirecturi",{"_index":17205,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.responsetype",{"_index":17209,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.scope",{"_index":17210,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.tokenendpoint",{"_index":17207,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigentity",{"_index":13579,"title":{"classes/OauthConfigEntity.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigmissingloggableexception",{"_index":17023,"title":{"classes/OauthConfigMissingLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthconfigmissingloggableexception(systemid",{"_index":17031,"title":{},"body":{"injectables/OAuthService.html":{}}}],["oauthconfigresponse",{"_index":17247,"title":{"classes/OauthConfigResponse.html":{}},"body":{"classes/OauthConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse.authendpoint",{"_index":17267,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.clientid",{"_index":17262,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.granttype",{"_index":17265,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.idphint",{"_index":17263,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.issuer",{"_index":17272,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.jwksendpoint",{"_index":17273,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.logoutendpoint",{"_index":17271,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.provider",{"_index":17270,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.redirecturi",{"_index":17264,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.responsetype",{"_index":17268,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.scope",{"_index":17269,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.tokenendpoint",{"_index":17266,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigs",{"_index":11073,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthcurrentuser",{"_index":8117,"title":{"interfaces/OauthCurrentUser.html":{}},"body":{"classes/CurrentUserMapper.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserService.html":{}}}],["oauthdata",{"_index":14420,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oauthdatadto",{"_index":14387,"title":{"classes/OauthDataDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatastrategyinputdto",{"_index":14392,"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":13631,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["oauthgranttype",{"_index":1505,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthgranttype.authorization_code_grant",{"_index":1502,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthloginresponse",{"_index":15950,"title":{"classes/OauthLoginResponse.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{}}}],["oauthmigrationfinished",{"_index":15374,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationmandatory",{"_index":15372,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationpossible",{"_index":15373,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmodule",{"_index":1523,"title":{"modules/OauthModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["oauthprocessdto",{"_index":16982,"title":{"classes/OAuthProcessDto.html":{}},"body":{"classes/OAuthProcessDto.html":{}}}],["oauthproviderapimodule",{"_index":17315,"title":{"modules/OauthProviderApiModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthproviderclientcruduc",{"_index":17320,"title":{"injectables/OauthProviderClientCrudUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderconsentflowuc",{"_index":17321,"title":{"injectables/OauthProviderConsentFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthprovidercontroller",{"_index":17327,"title":{"controllers/OauthProviderController.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderloginflowservice",{"_index":13843,"title":{"injectables/OauthProviderLoginFlowService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderloginflowuc",{"_index":17322,"title":{"injectables/OauthProviderLoginFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderlogoutflowuc",{"_index":17323,"title":{"injectables/OauthProviderLogoutFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["oauthprovidermodule",{"_index":17319,"title":{"modules/OauthProviderModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderrequestmapper",{"_index":17538,"title":{"classes/OauthProviderRequestMapper.html":{}},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["oauthproviderrequestmapper.mapcreateacceptloginrequestbody",{"_index":17553,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderresponsemapper",{"_index":17324,"title":{"injectables/OauthProviderResponseMapper.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthproviderservice",{"_index":11006,"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":10548,"title":{"modules/OauthProviderServiceModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{}}}],["oauthprovideruc",{"_index":17325,"title":{"injectables/OauthProviderUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthprovisioningenabled",{"_index":19921,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthrejectablebody",{"_index":6275,"title":{"classes/OAuthRejectableBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthrejectablebody:13",{"_index":6301,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:23",{"_index":6309,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:32",{"_index":6311,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:41",{"_index":6312,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:50",{"_index":6316,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthscope",{"_index":13853,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["oauthservice",{"_index":13565,"title":{"injectables/OAuthService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthssocontroller",{"_index":17149,"title":{"controllers/OauthSSOController.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["oauthssoerrorloggableexception",{"_index":1463,"title":{"classes/OauthSsoErrorLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:17",{"_index":24190,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:5",{"_index":13835,"title":{},"body":{"classes/IdTokenInvalidLoggableException.html":{}}}],["oauthssoerrorloggableexception:9",{"_index":1467,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthsystems",{"_index":15510,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthsystems.find((system",{"_index":24065,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["oauthtoken",{"_index":17655,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthtokendto",{"_index":13580,"title":{"classes/OAuthTokenDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthtokenresponse",{"_index":17027,"title":{"interfaces/OauthTokenResponse.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"interfaces/OauthTokenResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthtokens",{"_index":13585,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["obfuscated",{"_index":12740,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["obfuscated_subject",{"_index":14344,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["obj",{"_index":19740,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["obj.id",{"_index":3111,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["obj[key",{"_index":19773,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object",{"_index":185,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BusinessError.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"injectables/CopyHelperService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/IntrospectResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LoggingUtils.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["object.assign(entity",{"_index":2597,"title":{},"body":{"classes/BaseFactory.html":{}}}],["object.assign(this",{"_index":3756,"title":{},"body":{"entities/BoardElement.html":{},"classes/ConsentResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/LoginResponse-1.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["object.constructor.name",{"_index":1990,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["object.defineproperty(entity",{"_index":9626,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["object.entries(params",{"_index":16843,"title":{},"body":{"injectables/NewsUc.html":{}}}],["object.factory.ts",{"_index":9633,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["object.keys(entitydata).foreach((key",{"_index":2518,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["object.keys(obj).some((key",{"_index":19772,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object.keys(object).foreach((key",{"_index":2424,"title":{},"body":{"injectables/BBBService.html":{}}}],["object.keys(payload).length",{"_index":2809,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["object.keys(queryordermap",{"_index":11102,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["object.setprototypeof(this",{"_index":1098,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["object.ts",{"_index":1769,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BaseDomainObject.html":{},"classes/DomainObject.html":{}}}],["object.ts:14",{"_index":9630,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:18",{"_index":9629,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:8",{"_index":9628,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:9",{"_index":2528,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["object.values(filerecordparenttype",{"_index":12314,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["object.values(newstargetmodel",{"_index":16655,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["object.values(previewinputmimetypes).includes(original.contenttype",{"_index":18095,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["object.values(previewinputmimetypes).includes(this.mimetype",{"_index":11906,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["object.values(toolcontexttype",{"_index":10247,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["object.values(toolcontexttype).map(async",{"_index":10539,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["object.values(validationerror.constraints",{"_index":1410,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["object],[object",{"_index":2456,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["objectid",{"_index":49,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FederalStateRepo.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"injectables/UserRepo.html":{}}}],["objectid().tohexstring",{"_index":4510,"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":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{}}}],["objectid().tostring",{"_index":8791,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"classes/UserDoFactory.html":{}}}],["objectid(account.attdbcaccountid",{"_index":659,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["objectid(accountdto.systemid",{"_index":940,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(accountdto.userid",{"_index":937,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(creatorid",{"_index":6679,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(deletionrequestid",{"_index":9312,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["objectid(domainobject.deletionrequestid",{"_index":9291,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["objectid(domainobject.schoolid",{"_index":4785,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.successor",{"_index":4795,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.userid",{"_index":19167,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["objectid(domainobject.year",{"_index":4791,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(entitydo.toolid",{"_index":10694,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(entitydo.userid",{"_index":10695,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(id",{"_index":655,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DashboardElementRepo.html":{},"classes/GroupScope.html":{}}}],["objectid(id).tohexstring",{"_index":20738,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["objectid(owneruserid",{"_index":12208,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(parentid",{"_index":6677,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(permissionrefid",{"_index":12212,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(props.columnboardid",{"_index":5606,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["objectid(props.context.id",{"_index":5502,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["objectid(props.contextid",{"_index":20652,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.creatorid",{"_index":11679,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.iscopyfrom",{"_index":11874,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.lockid",{"_index":11683,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.origintoolid",{"_index":8201,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["objectid(props.ownerid",{"_index":11676,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.parentid",{"_index":11674,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.refid",{"_index":11809,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["objectid(props.schoolid",{"_index":11871,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(reference.id",{"_index":3693,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["objectid(refid",{"_index":11651,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(schoolid",{"_index":4865,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(systemid",{"_index":778,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["objectid(teacherid",{"_index":4787,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(toolid",{"_index":10675,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(userid",{"_index":773,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/LessonRepo.html":{},"interfaces/ParentInfo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/TeamsRepo.html":{}}}],["objectid.createfromhexstring(id",{"_index":8608,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.createfromhexstring(props.id",{"_index":8618,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.isvalid(courseid",{"_index":3818,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["objectid.isvalid(id",{"_index":654,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/ImportUserRepo.html":{}}}],["objectid.isvalid(schoolid",{"_index":14279,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["objectid.isvalid(userid",{"_index":14281,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["objectids",{"_index":774,"title":{},"body":{"injectables/AccountRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectids.map((id",{"_index":7598,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectives",{"_index":26362,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["objectkeysrecursive",{"_index":7319,"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":18825,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["objects",{"_index":4215,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"classes/DomainObjectFactory.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["obligate",{"_index":25522,"title":{},"body":{"license.html":{}}}],["obligated",{"_index":25306,"title":{},"body":{"license.html":{}}}],["obligations",{"_index":25215,"title":{},"body":{"license.html":{}}}],["observable",{"_index":2383,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["occasionally",{"_index":25291,"title":{},"body":{"license.html":{}}}],["occur",{"_index":408,"title":{},"body":{"controllers/AccountController.html":{}}}],["occurred",{"_index":5095,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{}}}],["occurrences",{"_index":18876,"title":{},"body":{"classes/ReferencesService.html":{}}}],["occurring",{"_index":25422,"title":{},"body":{"license.html":{}}}],["occurs",{"_index":25344,"title":{},"body":{"license.html":{}}}],["ocs",{"_index":13142,"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":13141,"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":16803,"title":{},"body":{"injectables/NewsUc.html":{}}}],["offer",{"_index":25078,"title":{},"body":{"license.html":{}}}],["offered",{"_index":25312,"title":{},"body":{"license.html":{}}}],["offering",{"_index":25295,"title":{},"body":{"license.html":{}}}],["offers",{"_index":25743,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["official",{"_index":10121,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["officialexternalschoolnumber",{"_index":20206,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["officialschoolnumber",{"_index":10107,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["offline",{"_index":8319,"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":16403,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["oid",{"_index":14433,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["oidc",{"_index":14688,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LoginResponse-1.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidc.mapper.ts",{"_index":21577,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:12",{"_index":21582,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:26",{"_index":21579,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:5",{"_index":21580,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.service",{"_index":14681,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{}}}],["oidc.service.ts",{"_index":21590,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:10",{"_index":21591,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:13",{"_index":21593,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:22",{"_index":21592,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc/oidc.strategy",{"_index":19744,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc/service/oidc",{"_index":19745,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc_context",{"_index":6324,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["oidcconfig",{"_index":14648,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemScope.html":{}}}],["oidcconfig.authorizationurl",{"_index":15143,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientid",{"_index":15140,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientsecret",{"_index":15141,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["oidcconfig.defaultscopes",{"_index":15150,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.idphint",{"_index":14765,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.logouturl",{"_index":15146,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.tokenurl",{"_index":15145,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.userinfourl",{"_index":15148,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.clientsecret",{"_index":21586,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.idphint",{"_index":14760,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcconfigdto",{"_index":14646,"title":{"classes/OidcConfigDto.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["oidcconfigdto.authorizationurl",{"_index":17681,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientid",{"_index":17678,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientsecret",{"_index":17679,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.defaultscopes",{"_index":17685,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.idphint",{"_index":17680,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.logouturl",{"_index":17684,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.parentsystemid",{"_index":17677,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.tokenurl",{"_index":17682,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.userinfourl",{"_index":17683,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigentity",{"_index":15081,"title":{"classes/OidcConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidccontextresponse",{"_index":6347,"title":{"classes/OidcContextResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["oidcexternalsubmappername",{"_index":14689,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcidentityprovidermapper",{"_index":14611,"title":{"classes/OidcIdentityProviderMapper.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["oidcinternalname",{"_index":5081,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["oidcmock__base_url",{"_index":26265,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidcmockprovisioningstrategy",{"_index":17720,"title":{"injectables/OidcMockProvisioningStrategy.html":{}},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["oidcmockstrategy",{"_index":18313,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["oidcprovisioningservice",{"_index":17731,"title":{"injectables/OidcProvisioningService.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcprovisioningstrategy",{"_index":17861,"title":{"injectables/OidcProvisioningStrategy.html":{}},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcsystems",{"_index":15512,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["oidcuserattributemappername",{"_index":14687,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["ok",{"_index":24481,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["okay",{"_index":22083,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["old",{"_index":7373,"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":14754,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs",{"_index":14661,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.foreach((oldconfig",{"_index":14758,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.some((oldconfig",{"_index":14753,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["older",{"_index":25100,"title":{},"body":{"license.html":{}}}],["oldparam.name",{"_index":11224,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams",{"_index":11200,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.every((oldparam",{"_index":11236,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((oldparam",{"_index":11222,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((parameter",{"_index":11238,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool",{"_index":11217,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool.parameters",{"_index":11218,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["once",{"_index":18806,"title":{},"body":{"classes/RedirectResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["one",{"_index":5278,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/JwtStrategy.html":{},"interfaces/LibrariesContentType.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["oneday",{"_index":7765,"title":{},"body":{"classes/CourseFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["oneof",{"_index":4086,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"controllers/SchoolController.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ones",{"_index":7143,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["onetomany",{"_index":6206,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["onetomany('coursegroup",{"_index":7522,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["onetomany('dashboardgridelementmodel",{"_index":8623,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["onetomany('submission",{"_index":21672,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["onetomany('task",{"_index":6237,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["onetomany(undefined",{"_index":19903,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/SystemEntity.html":{}}}],["onetoone",{"_index":2951,"title":{},"body":{"entities/Board.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone(undefined",{"_index":19909,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone({type",{"_index":2941,"title":{},"body":{"entities/Board.html":{}}}],["oneweekago",{"_index":22257,"title":{},"body":{"injectables/TaskUC.html":{}}}],["oneweekago.setdate(oneweekago.getdate",{"_index":22258,"title":{},"body":{"injectables/TaskUC.html":{}}}],["ongatewayconnection",{"_index":22793,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongatewayinit",{"_index":22792,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongoing",{"_index":7860,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["onlyactivecourses",{"_index":7948,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardUc.html":{}}}],["onlyexistingreferences",{"_index":3002,"title":{},"body":{"entities/Board.html":{}}}],["onlyfactories",{"_index":8857,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["onlyoauth",{"_index":21553,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemUc.html":{}}}],["onlyreadcourses",{"_index":22251,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onlywritecoursesids",{"_index":22250,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onmoduledestroy",{"_index":16537,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["onupdate",{"_index":2560,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["open",{"_index":16404,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["open/closed",{"_index":25811,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["openapi",{"_index":14115,"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":22007,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["opencourses",{"_index":22229,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opencourses.map((c",{"_index":22234,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opened",{"_index":23404,"title":{},"body":{"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["openid",{"_index":8320,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["opening",{"_index":24387,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["openinnewtab",{"_index":6995,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["openldap",{"_index":26282,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["opennewtab",{"_index":8173,"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":25573,"title":{},"body":{"license.html":{}}}],["operated",{"_index":25299,"title":{},"body":{"license.html":{}}}],["operates",{"_index":26040,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["operating",{"_index":25174,"title":{},"body":{"license.html":{}}}],["operation",{"_index":9216,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"classes/ForbiddenOperationError.html":{},"injectables/KeycloakMigrationService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["operation.'})@apiresponse({status",{"_index":24429,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["operation.error.ts",{"_index":12515,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.error.ts:4",{"_index":12516,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.loggable",{"_index":16820,"title":{},"body":{"injectables/NewsUc.html":{}}}],["operation.loggable.ts",{"_index":16639,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:14",{"_index":16643,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:7",{"_index":16642,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operations",{"_index":26380,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["operator",{"_index":815,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/Scope.html":{},"license.html":{}}}],["operators",{"_index":26035,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["oplogicchecks",{"_index":11739,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["oplogsize",{"_index":26318,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["opportunity",{"_index":25530,"title":{},"body":{"license.html":{}}}],["ops",{"_index":25650,"title":{},"body":{"todo.html":{}}}],["opschema",{"_index":11737,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["opt/keycloak/bin/kc.sh",{"_index":25707,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optimal",{"_index":15244,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["optimisation",{"_index":25833,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["option",{"_index":25369,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optional",{"_index":33,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["optional()@apiproperty",{"_index":17703,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["optionaldatathere",{"_index":26009,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["optionally",{"_index":5263,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["optionalprops",{"_index":2541,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["options",{"_index":540,"title":{"interfaces/Options.html":{}},"body":{"classes/AccountFactory.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"injectables/PseudonymService.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"todo.html":{}}}],["options')@apioperation({description",{"_index":19864,"title":{},"body":{"controllers/SchoolController.html":{}}}],["options.builder.ts",{"_index":18540,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.builder.ts:10",{"_index":20328,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["options.builder.ts:4",{"_index":18542,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.builder.ts:7",{"_index":20326,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["options.callsdelayms",{"_index":9381,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.collection",{"_index":8861,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.deleteinminutes",{"_index":9379,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.do",{"_index":4623,"title":{},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["options.do.ts",{"_index":4841,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["options.do.ts:10",{"_index":20467,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["options.do.ts:12",{"_index":4845,"title":{},"body":{"classes/ClassSourceOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["options.do.ts:16",{"_index":20315,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["options.do.ts:20",{"_index":20317,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["options.do.ts:24",{"_index":20318,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["options.do.ts:6",{"_index":4843,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.do.ts:8",{"_index":20466,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["options.enabled",{"_index":1269,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.entity",{"_index":4656,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["options.entity.ts",{"_index":4848,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["options.entity.ts:10",{"_index":4850,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"classes/ProvisioningOptionsEntity.html":{}}}],["options.entity.ts:13",{"_index":18281,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{}}}],["options.entity.ts:23",{"_index":20338,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{}}}],["options.entity.ts:26",{"_index":20339,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{}}}],["options.entity.ts:29",{"_index":20337,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{}}}],["options.entity.ts:7",{"_index":18282,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{}}}],["options.everyattendeejoinsmuted",{"_index":24532,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.everyattendejoinsmuted",{"_index":24380,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["options.everybodyjoinsasmoderator",{"_index":24382,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.exchange",{"_index":1273,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.filesservicebaseurl",{"_index":1271,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.groupprovisioningclassesenabled",{"_index":20348,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.groupprovisioningcoursesenabled",{"_index":20349,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.groupprovisioningotherenabled",{"_index":20350,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.hostname",{"_index":1277,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.interface.ts",{"_index":18544,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["options.loggable",{"_index":18349,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{}}}],["options.mapper",{"_index":19881,"title":{},"body":{"controllers/SchoolController.html":{}}}],["options.mapper.ts",{"_index":20344,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.mapper.ts:5",{"_index":20347,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.moderatormustapprovejoinrequests",{"_index":24384,"title":{},"body":{"entities/VideoConference.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.onlyfactories",{"_index":8862,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.order",{"_index":14054,"title":{},"body":{"controllers/ImportUserController.html":{},"injectables/NewsUc.html":{},"controllers/ToolController.html":{}}}],["options.params.ts",{"_index":18301,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.params.ts:11",{"_index":18303,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["options.params.ts:12",{"_index":20473,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.params.ts:15",{"_index":18304,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["options.params.ts:6",{"_index":20471,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.params.ts:7",{"_index":18302,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["options.params.ts:9",{"_index":20472,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.port",{"_index":1284,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.refsfilepath",{"_index":9377,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.repo.ts",{"_index":20352,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:17",{"_index":20354,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:20",{"_index":20358,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:43",{"_index":20359,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:79",{"_index":20356,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.response",{"_index":24605,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["options.response.ts",{"_index":20475,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:12",{"_index":20476,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["options.response.ts:14",{"_index":24697,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:20",{"_index":24693,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:6",{"_index":20477,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["options.response.ts:8",{"_index":24696,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:9",{"_index":20478,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["options.retrycount",{"_index":4936,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.retrydelay",{"_index":4937,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.routingkey",{"_index":1275,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.rule.ts",{"_index":20383,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.rule.ts:11",{"_index":20386,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.rule.ts:17",{"_index":20385,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.rule.ts:8",{"_index":20384,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.school",{"_index":19904,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["options.service.ts",{"_index":20393,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:11",{"_index":20396,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:18",{"_index":20398,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:42",{"_index":20400,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:8",{"_index":20395,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.skip",{"_index":4959,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.system",{"_index":15155,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["options.targetrefdomain",{"_index":9378,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.ts",{"_index":2618,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["options.ts:14",{"_index":2625,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["options.ts:4",{"_index":2622,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["options.uc.ts",{"_index":20407,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.uc.ts:14",{"_index":20409,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.uc.ts:21",{"_index":20414,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.uc.ts:43",{"_index":20412,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.verbose",{"_index":4961,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options?.collection",{"_index":8860,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.context",{"_index":20823,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.exact",{"_index":14906,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.expiresat",{"_index":20824,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.expiresindays",{"_index":20871,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.limit",{"_index":14908,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.order",{"_index":10725,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{}}}],["options?.override",{"_index":8868,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.pagination",{"_index":10696,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["options?.schoolexclusive",{"_index":20867,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.skip",{"_index":14907,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["orchestrate",{"_index":26394,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["orchestrates",{"_index":25851,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["orchestration",{"_index":25891,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["order",{"_index":2232,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/ImportUserRepo.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"interfaces/Pagination.html":{},"classes/PatchOrderParams.html":{},"classes/SortHelper.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["order._id",{"_index":10729,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["order.firstname",{"_index":24241,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.lastname",{"_index":24245,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.params.ts",{"_index":17942,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["order.params.ts:13",{"_index":17945,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["orderby",{"_index":788,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["orderby(bsondocuments",{"_index":5337,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["orderedlist",{"_index":19451,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["orderquery",{"_index":24240,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.firstname",{"_index":24242,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.lastname",{"_index":24246,"title":{},"body":{"injectables/UserRepo.html":{}}}],["org",{"_index":6026,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organisation",{"_index":19700,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["organization",{"_index":5806,"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":{},"classes/GroupScope.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["organization.organization",{"_index":5897,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organization.resources).concat(this.resources",{"_index":5899,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder",{"_index":5791,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder.addresourcetoorganization(resourceprops",{"_index":5799,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationbuilder.addresourcetoorganization(this.maptasktowebcontentresource(task",{"_index":5803,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationelement.transform",{"_index":6032,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationelements",{"_index":6024,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationid",{"_index":12771,"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":5849,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["origin",{"_index":2163,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["original",{"_index":3633,"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":18632,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.alternativetext",{"_index":18646,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.caption",{"_index":18645,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.children.foreach((child",{"_index":18679,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.contenttype",{"_index":18094,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["original.context",{"_index":18637,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.description",{"_index":18659,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.duedate",{"_index":18672,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.height",{"_index":18643,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.id",{"_index":18650,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.imageurl",{"_index":18662,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.inputformat",{"_index":18670,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.text",{"_index":18669,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.title",{"_index":18636,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.url",{"_index":18661,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["originalboard",{"_index":3330,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["originalboard.context.type",{"_index":5464,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["originalboard.getelements",{"_index":3331,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["originalcolumnboardid",{"_index":3377,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["originalcourse",{"_index":7682,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.color",{"_index":7705,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.getcoursegroupitems().length",{"_index":7716,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.name",{"_index":7697,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalentity",{"_index":3338,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["originallesson",{"_index":3300,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallesson.course",{"_index":15589,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["originallesson.id",{"_index":3372,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallessonid",{"_index":3371,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["originalschooldo",{"_index":20224,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["originaltask",{"_index":3303,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.description",{"_index":21856,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.descriptioninputformat",{"_index":21857,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.id",{"_index":3375,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.name",{"_index":21855,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.teamsubmissions",{"_index":21858,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltaskid",{"_index":3374,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltaskname",{"_index":21887,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["originfilepath",{"_index":12587,"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":16304,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["origintool",{"_index":8166,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["origintoolid",{"_index":8168,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["orm",{"_index":7909,"title":{},"body":{"entities/CourseNews.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["orm.io",{"_index":25792,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["orm/core",{"_index":224,"title":{},"body":{"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{}}}],["orm/entitymanager",{"_index":26182,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["orm/issues/1230",{"_index":11862,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["orm/issues/2165",{"_index":22290,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mikro",{"_index":11861,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mongodb",{"_index":97,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TeamsRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"dependencies.html":{}}}],["orm/nestjs",{"_index":1015,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"dependencies.html":{}}}],["orphan",{"_index":6547,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["orphanremoval",{"_index":6238,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["ort",{"_index":19664,"title":{},"body":{"classes/SanisAnschriftResponse.html":{}}}],["os",{"_index":12135,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["os.eol",{"_index":12163,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["other.name.tolocalelowercase",{"_index":10617,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherindex",{"_index":10615,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherlibrary.machinename",{"_index":11741,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.majorversion",{"_index":11744,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.minorversion",{"_index":11746,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.patchversion",{"_index":11748,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["othermodule",{"_index":25881,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["otherparams",{"_index":21531,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["others",{"_index":12735,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["otheruser",{"_index":19842,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["otherusers",{"_index":10078,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["otherwise",{"_index":1568,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionExecutionConsole.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ours",{"_index":25943,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["out",{"_index":271,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceCreateParams.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["outcome",{"_index":26054,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outdated",{"_index":6729,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"todo.html":{}}}],["outdated.loggable",{"_index":23483,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["outdatedsince",{"_index":20256,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["outer",{"_index":26082,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outgoing",{"_index":25862,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["output",{"_index":2884,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/GlobalValidationPipe.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ServerConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["output.builder.ts",{"_index":9479,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:22",{"_index":18551,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:26",{"_index":18549,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:4",{"_index":9481,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.deletionplannedat",{"_index":18553,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.error",{"_index":9187,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.interface.ts",{"_index":9477,"title":{},"body":{"interfaces/DeletionRequestOutput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["output.requestid",{"_index":18552,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["outputformat",{"_index":7285,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["outputs",{"_index":2833,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["outputs.length",{"_index":2928,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["outputs.push",{"_index":2852,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outputs.push(queuedeletionrequestoutputbuilder.builderror(err",{"_index":2857,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outside",{"_index":8539,"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":18886,"title":{},"body":{"classes/ReferencesService.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["overall",{"_index":2920,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["overallstatus",{"_index":2870,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["overenginiering",{"_index":25831,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["overridden",{"_index":16547,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["override",{"_index":1476,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BusinessError.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/FileSystemAdapter.html":{},"classes/GroupPaginationParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["overrideprovider(consolewriterservice",{"_index":22561,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrideprovider(databasemanagementuc",{"_index":22559,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrides",{"_index":10026,"title":{},"body":{"modules/ErrorModule.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["overrides/configures",{"_index":7471,"title":{},"body":{"modules/CoreModule.html":{}}}],["overriding",{"_index":26132,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["overview",{"_index":25748,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["overwrite_setting_show_setup_wizard='completed",{"_index":26355,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["overwritten",{"_index":26134,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["owned",{"_index":25464,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["ownedbyuserid",{"_index":13532,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["owner",{"_index":2944,"title":{},"body":{"entities/Board.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/ListOauthClientsParams.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"entities/UserLoginMigrationEntity.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ownerid",{"_index":11637,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ownership",{"_index":16662,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["owneruserid",{"_index":12199,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["owns",{"_index":21990,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["p",{"_index":19616,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["p.key",{"_index":19638,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p.name",{"_index":11253,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["p.sourcepath",{"_index":19604,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p27030:27017",{"_index":26314,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["package",{"_index":24811,"title":{"dependencies.html":{},"properties.html":{}},"body":{"todo.html":{}}}],["packaged",{"_index":25259,"title":{},"body":{"license.html":{}}}],["packages",{"_index":25625,"title":{},"body":{"todo.html":{}}}],["packaging",{"_index":25168,"title":{},"body":{"license.html":{}}}],["pad",{"_index":10071,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["pad.data.padid",{"_index":10073,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padid",{"_index":10068,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padname",{"_index":10069,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padresponse",{"_index":10067,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["page",{"_index":869,"title":{"classes/Page.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeletionExecutionParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/FileRecordListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/Page.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"injectables/PseudonymService.html":{},"injectables/SchoolMigrationService.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application.html":{}}}],["page([userloginmigration",{"_index":24093,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["page(entitydos",{"_index":10703,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["pagecontentdto",{"_index":17887,"title":{"classes/PageContentDto.html":{}},"body":{"classes/PageContentDto.html":{}}}],["paged",{"_index":373,"title":{},"body":{"controllers/AccountController.html":{}}}],["pages",{"_index":897,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/GroupPaginationParams.html":{},"classes/PaginationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["pagesize",{"_index":4891,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["paginate",{"_index":11303,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["pagination",{"_index":7638,"title":{"interfaces/Pagination.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"controllers/GroupController.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["pagination.limit",{"_index":12837,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination.params.ts",{"_index":12934,"title":{},"body":{"classes/GroupPaginationParams.html":{}}}],["pagination.skip",{"_index":12836,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination?.limit",{"_index":7954,"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":7953,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["paginationparams",{"_index":883,"title":{"classes/PaginationParams.html":{}},"body":{"classes/AccountSearchQueryParams.html":{},"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"classes/GroupPaginationParams.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"classes/PaginationParams.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["paginationparams:14",{"_index":894,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationparams:8",{"_index":898,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/GroupPaginationParams.html":{}}}],["paginationresponse",{"_index":862,"title":{"classes/PaginationResponse.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["paginationresponse:12",{"_index":867,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["paginationresponse:136",{"_index":16649,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["paginationresponse:14",{"_index":878,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:17",{"_index":877,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:20",{"_index":872,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:51",{"_index":24119,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["paginationresponse:63",{"_index":11935,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["paginationresponse:68",{"_index":7850,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["paginationresponse:7",{"_index":10989,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["paginationresponse:71",{"_index":14098,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["paginationresponse:74",{"_index":21932,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["paginationresponse:91",{"_index":7236,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["pair",{"_index":2841,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["pairwise",{"_index":11095,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["papaparse",{"_index":24933,"title":{},"body":{"dependencies.html":{}}}],["paper",{"_index":25600,"title":{},"body":{"license.html":{}}}],["paragraph",{"_index":25402,"title":{},"body":{"license.html":{}}}],["paragraphs",{"_index":25473,"title":{},"body":{"license.html":{}}}],["parallel",{"_index":26180,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param",{"_index":388,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BsonConverter.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolFactory.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"classes/GuardAgainst.html":{},"controllers/H5PEditorController.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"controllers/LessonController.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/WsSharedDocDo.html":{}}}],["param('file",{"_index":13331,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["param('oauthclientid",{"_index":17654,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["param('scope",{"_index":24568,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('scopeid",{"_index":24569,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('token",{"_index":12085,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["param)).rejects.tothrow(badrequestexception",{"_index":26124,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param)).tothrow(badrequestexception",{"_index":26122,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param.builder.ts",{"_index":7322,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.builder.ts:6",{"_index":7325,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.default",{"_index":10619,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["param.description",{"_index":10811,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.displayname",{"_index":10609,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.isoptional",{"_index":6192,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.location",{"_index":10813,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.name",{"_index":6186,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.regex",{"_index":6199,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.regexcomment",{"_index":10812,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.scope",{"_index":6165,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.type",{"_index":6198,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["paramdisplayat",{"_index":16827,"title":{},"body":{"injectables/NewsUc.html":{}}}],["parameter",{"_index":417,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ToolLaunchModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parameter.do.ts",{"_index":8246,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:10",{"_index":8249,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:12",{"_index":8254,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:14",{"_index":8255,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:16",{"_index":8256,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:18",{"_index":8252,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:20",{"_index":8257,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:22",{"_index":8248,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:4",{"_index":8253,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:6",{"_index":8251,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:8",{"_index":8250,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.entity.ts",{"_index":8273,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:10",{"_index":8277,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:13",{"_index":8276,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:16",{"_index":8275,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:19",{"_index":8280,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:22",{"_index":8281,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:25",{"_index":8282,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:28",{"_index":8278,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:31",{"_index":8283,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:34",{"_index":8274,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:7",{"_index":8279,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.isoptional",{"_index":11239,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.name",{"_index":11242,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.params",{"_index":10326,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["parameter.params.ts",{"_index":8363,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:13",{"_index":8373,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:18",{"_index":8367,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:23",{"_index":8365,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:28",{"_index":8364,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:33",{"_index":8374,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:38",{"_index":8375,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:42",{"_index":8378,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:46",{"_index":8372,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:50",{"_index":8381,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:54",{"_index":8369,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.response",{"_index":6750,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["parameter.response.ts",{"_index":8386,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:10",{"_index":8392,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:13",{"_index":8390,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:16",{"_index":8389,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:19",{"_index":8388,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:22",{"_index":8393,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:25",{"_index":8394,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:28",{"_index":8395,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:31",{"_index":8391,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:34",{"_index":8396,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:37",{"_index":8387,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.scope",{"_index":10245,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["parameter.strategy",{"_index":2011,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["parameter.strategy.ts",{"_index":2057,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter.strategy.ts:5",{"_index":2058,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter/custom",{"_index":8272,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter_type_not_implemented",{"_index":17915,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parameterkeys",{"_index":16527,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames",{"_index":16529,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames.join",{"_index":16532,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameters",{"_index":29,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["parameters.'})@apiresponse({status",{"_index":24430,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["parameters.map((param",{"_index":16528,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parametersforscope",{"_index":6134,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parametersforscope.find",{"_index":6182,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parameterstoinclude",{"_index":2794,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["parametertype",{"_index":17914,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parametertypenotimplementedloggableexception",{"_index":2037,"title":{"classes/ParameterTypeNotImplementedLoggableException.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["params",{"_index":326,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/CalendarService.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/JwtTestFactory.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"controllers/OauthProviderController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatUserFactory.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"classes/SaveH5PEditorParams.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"interfaces/ToolLaunchStrategy.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params(params",{"_index":564,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["params.append('event",{"_index":4336,"title":{},"body":{"injectables/CalendarService.html":{}}}],["params.append(key",{"_index":2425,"title":{},"body":{"injectables/BBBService.html":{}}}],["params.availabledate",{"_index":21971,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.challenge",{"_index":17481,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client",{"_index":17503,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client_name",{"_index":17466,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.clientid",{"_index":10918,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["params.confirmpassword",{"_index":428,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.content",{"_index":16704,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.contentid",{"_index":13309,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.contents",{"_index":15618,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contents.foreach((element",{"_index":15619,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contextexternaltoolid",{"_index":23060,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contextid",{"_index":23053,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contexttype",{"_index":23054,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.copyname",{"_index":21854,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["params.course",{"_index":15617,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.courseid",{"_index":7455,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.description",{"_index":21970,"title":{},"body":{"classes/TaskMapper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params.displayat",{"_index":16705,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.dto",{"_index":25857,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["params.duedate",{"_index":21972,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.elements",{"_index":19412,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params.everyattendeejoinsmuted",{"_index":24575,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.everybodyjoinsasmoderator",{"_index":24576,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.externalid",{"_index":15345,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.externaltoolid",{"_index":23187,"title":{},"body":{"controllers/ToolController.html":{}}}],["params.features",{"_index":15346,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.federalstate",{"_index":15359,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.file",{"_index":13322,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filename",{"_index":13329,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filerecordid",{"_index":12400,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["params.files",{"_index":19620,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["params.flagged",{"_index":14069,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.from",{"_index":8426,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.groupid",{"_index":12842,"title":{},"body":{"controllers/GroupController.html":{}}}],["params.hidden",{"_index":15621,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.id",{"_index":13328,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/LegacySchoolDo.html":{},"controllers/OauthProviderController.html":{}}}],["params.inmaintenancesince",{"_index":15348,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.interface",{"_index":2801,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["params.inusermigration",{"_index":15350,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.language",{"_index":13350,"title":{},"body":{"controllers/H5PEditorController.html":{},"injectables/UserUc.html":{}}}],["params.lessonid",{"_index":7456,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.limit",{"_index":17464,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.logouturl",{"_index":24457,"title":{},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.moderatormustapprovejoinrequests",{"_index":24577,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.name",{"_index":10917,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/TaskMapper.html":{}}}],["params.officialschoolnumber",{"_index":15353,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.offset",{"_index":17465,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.originalboard",{"_index":3339,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["params.owner",{"_index":17467,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.parenttype",{"_index":20310,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.password",{"_index":427,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.previewoptions",{"_index":18091,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["params.previewparams.forceupdate",{"_index":18148,"title":{},"body":{"injectables/PreviewService.html":{}}}],["params.previousexternalid",{"_index":15352,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.pseudonym",{"_index":18406,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["params.schoolexternaltoolid",{"_index":23057,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["params.schoolid",{"_index":19887,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["params.schoolyear",{"_index":15354,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.sourceparentid",{"_index":20309,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.systemid",{"_index":19888,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/SystemController.html":{}}}],["params.systems",{"_index":15356,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.target",{"_index":16824,"title":{},"body":{"injectables/NewsUc.html":{}}}],["params.targetid",{"_index":16707,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetmodel",{"_index":16706,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetparentid",{"_index":20312,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.taskid",{"_index":21139,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["params.title",{"_index":8432,"title":{},"body":{"controllers/DashboardController.html":{},"classes/NewsMapper.html":{}}}],["params.to",{"_index":8427,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.ts",{"_index":4704,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:7",{"_index":12924,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:9",{"_index":4707,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["params.userid",{"_index":14065,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.userloginmigrationid",{"_index":15358,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.visibility",{"_index":19410,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params?.accountid",{"_index":8051,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.aud",{"_index":8046,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.external_sub",{"_index":8052,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.iss",{"_index":8045,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.privatekey",{"_index":8054,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.sub",{"_index":8043,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params].ts",{"_index":25916,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["paranoid",{"_index":995,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["parent",{"_index":3668,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"controllers/BoardSubmissionController.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.addchild(card",{"_index":4512,"title":{},"body":{"injectables/CardService.html":{}}}],["parent.addchild(column",{"_index":5700,"title":{},"body":{"injectables/ColumnService.html":{}}}],["parent.addchild(element",{"_index":6477,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["parent.children.findindex((obj",{"_index":18796,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.children.foreach((child",{"_index":18795,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.email",{"_index":24259,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parent.getstudentids",{"_index":6271,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["parent.getstudentids().length",{"_index":21715,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.id",{"_index":11793,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["parent.removechild(domainobject",{"_index":3737,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["parentcourseid",{"_index":21885,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["parentdata",{"_index":18762,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.boardnode",{"_index":18770,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.position",{"_index":18771,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentemails",{"_index":24338,"title":{},"body":{"injectables/UserService.html":{}}}],["parentid",{"_index":3933,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{}}}],["parentids",{"_index":3936,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/TaskRepo.html":{}}}],["parentids.courseids",{"_index":22051,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.creatorid",{"_index":22049,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.lessonids",{"_index":22053,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope",{"_index":22048,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bycourseids(parentids.courseids",{"_index":22052,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bylessonids(parentids.lessonids",{"_index":22054,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.byonlycreatorid(parentids.creatorid",{"_index":22050,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentinfo",{"_index":11857,"title":{"interfaces/ParentInfo.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["parentmeetingid",{"_index":2251,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["parentname",{"_index":20748,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["parentnode",{"_index":18744,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentparams",{"_index":13205,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/LessonCopyUC.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.courseid",{"_index":15587,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.parentid",{"_index":13209,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.parenttype",{"_index":13207,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.schoolid",{"_index":13210,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentpermission",{"_index":15660,"title":{},"body":{"injectables/LessonRule.html":{}}}],["parentpermission(user",{"_index":15672,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parentpropertypath",{"_index":1399,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["parentrule",{"_index":26438,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["parents",{"_index":5467,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity",{"_index":23554,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity.ts",{"_index":24194,"title":{},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["parents.entity.ts:12",{"_index":24197,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:15",{"_index":24198,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:18",{"_index":24196,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parentsemails",{"_index":24257,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parentsfinished",{"_index":22015,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bycourseids(parentids.finishedcourseids",{"_index":22016,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bylessonids(parentids.lessonidsoffinishedcourses",{"_index":22017,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsmap",{"_index":18735,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentsopen",{"_index":22012,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bycourseids(parentids.opencourseids",{"_index":22013,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bylessonids(parentids.lessonidsofopencourses",{"_index":22014,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsystemid",{"_index":17668,"title":{},"body":{"classes/OidcConfigDto.html":{},"classes/SystemOidcMapper.html":{}}}],["parenttitle",{"_index":16368,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["parenttype",{"_index":6666,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{}}}],["parse",{"_index":13464,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["parsed",{"_index":25983,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parseobjectidpipe",{"_index":25959,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parser",{"_index":24864,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":1919,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/BaseUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ImportUserScope.html":{},"injectables/ToolPermissionHelper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["partial",{"_index":127,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFindOptions.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Pagination.html":{},"classes/RocketChatUserFactory.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["partialfilterexpression",{"_index":13994,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["partialtype",{"_index":23516,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["participantcount",{"_index":2311,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["particular",{"_index":22085,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{}}}],["parties",{"_index":25143,"title":{},"body":{"license.html":{}}}],["parts",{"_index":25184,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["party",{"_index":25300,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["party's",{"_index":25441,"title":{},"body":{"license.html":{}}}],["pascalcase",{"_index":25944,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["pass",{"_index":807,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskUC.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["passed",{"_index":537,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["passing",{"_index":26397,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["passport",{"_index":14461,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["passportmodule",{"_index":1544,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["passportstrategy",{"_index":14470,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passportstrategy(strategy",{"_index":14465,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passthrough",{"_index":7658,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["password",{"_index":87,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/TestApiClient.html":{},"modules/TldrawModule.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["password.'})@apiresponse({status",{"_index":362,"title":{},"body":{"controllers/AccountController.html":{}}}],["password.params.ts",{"_index":17935,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:15",{"_index":17940,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:25",{"_index":17939,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.trim",{"_index":1754,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["passwordnew",{"_index":17924,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordold",{"_index":17925,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordpattern",{"_index":303,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["passwordpolicy",{"_index":14588,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["past",{"_index":7883,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["paste",{"_index":26201,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["patch",{"_index":389,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"controllers/UserController.html":{}}}],["patch('/language",{"_index":23598,"title":{},"body":{"controllers/UserController.html":{}}}],["patch(':boardid/title",{"_index":3261,"title":{},"body":{"controllers/BoardController.html":{}}}],["patch(':cardid/height",{"_index":4421,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':cardid/title",{"_index":4424,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':columnid/title",{"_index":5663,"title":{},"body":{"controllers/ColumnController.html":{}}}],["patch(':contentelementid/content",{"_index":9863,"title":{},"body":{"controllers/ElementController.html":{}}}],["patch(':dashboardid/element",{"_index":8412,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':dashboardid/moveelement",{"_index":8407,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':id",{"_index":421,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':id')@apioperation({summary",{"_index":380,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':importuserid/flag",{"_index":14037,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':importuserid/match",{"_index":14029,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':newsid",{"_index":16611,"title":{},"body":{"controllers/NewsController.html":{}}}],["patch(':roomid/board/order",{"_index":19397,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':roomid/elements/:elementid/visibility",{"_index":19394,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':submissionitemid",{"_index":4081,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["patch(':taskid/finish",{"_index":21798,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/restore",{"_index":21801,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/revertpublished",{"_index":21804,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch('consentrequest/:challenge",{"_index":17492,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('loginrequest/:challenge",{"_index":17479,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('logoutrequest/:challenge",{"_index":17483,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('me",{"_index":418,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me')@apioperation({summary",{"_index":384,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password",{"_index":425,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password')@apioperation({summary",{"_index":355,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions",{"_index":5113,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions')@apiresponse({status",{"_index":5093,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch(path",{"_index":1649,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patch(subpath",{"_index":1648,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patchconsentrequest",{"_index":17369,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["patchconsentrequest(challenge",{"_index":17377,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["patchconsentrequest(params",{"_index":17433,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchelementvisibility",{"_index":19382,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchelementvisibility(urlparams",{"_index":19393,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchgroup",{"_index":8402,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroup(urlparams",{"_index":8409,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroupparams",{"_index":8411,"title":{"classes/PatchGroupParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/PatchGroupParams.html":{}}}],["patching",{"_index":17920,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["patchlanguage",{"_index":24282,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchlanguage(userid",{"_index":24302,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchloginrequest",{"_index":17409,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(currentuserid",{"_index":17532,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(params",{"_index":17436,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchmyaccountparams",{"_index":383,"title":{"classes/PatchMyAccountParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyAccountParams.html":{}}}],["patchmypasswordparams",{"_index":354,"title":{"classes/PatchMyPasswordParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyPasswordParams.html":{}}}],["patchorderingofelements",{"_index":19383,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderingofelements(urlparams",{"_index":19396,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderparams",{"_index":17941,"title":{"classes/PatchOrderParams.html":{}},"body":{"classes/PatchOrderParams.html":{},"controllers/RoomsController.html":{}}}],["patchversion",{"_index":11706,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["patchvisibilityparams",{"_index":17946,"title":{"classes/PatchVisibilityParams.html":{}},"body":{"classes/PatchVisibilityParams.html":{},"controllers/RoomsController.html":{}}}],["patent",{"_index":25401,"title":{},"body":{"license.html":{}}}],["patents",{"_index":25459,"title":{},"body":{"license.html":{}}}],["path",{"_index":414,"title":{"classes/Path.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CalendarService.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CopyFiles.html":{},"classes/DeletionQueueConsole.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/File.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["path.join(...paths",{"_index":12174,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["path.parse(this.name",{"_index":11921,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["path.replace(':token",{"_index":1346,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["path.slice(1",{"_index":1668,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["path.targetpath",{"_index":19611,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["path_separator",{"_index":3921,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathobjects",{"_index":19614,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathobjects.filter((p",{"_index":19640,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathofchildren",{"_index":3938,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathproperties",{"_index":2773,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["pathqueries",{"_index":3962,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["pathqueries.length",{"_index":3964,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["paths",{"_index":5247,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"controllers/H5PEditorController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["paths.join",{"_index":19600,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((p",{"_index":19615,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((path",{"_index":18144,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["paths.map(async",{"_index":19608,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathtofile",{"_index":18077,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["path}${id}${path_separator",{"_index":3944,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pattern",{"_index":304,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LdapStrategy.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pattern.a",{"_index":26030,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["pattern.exec(url",{"_index":139,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern.test(firstchar",{"_index":7620,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["pattern.test(url",{"_index":151,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern_login_from_dn",{"_index":13986,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["patterns",{"_index":114,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["payload",{"_index":1723,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/CurrentUserMapper.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RpcMessageProducer.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemService.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["payload.'})@apiresponse({status",{"_index":20686,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["payload.completed",{"_index":21236,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["payload.parentid",{"_index":20771,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.parenttype",{"_index":20770,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.response",{"_index":20798,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["payload.response.ts",{"_index":20765,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:11",{"_index":20769,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:14",{"_index":20768,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:4",{"_index":20767,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.ts",{"_index":8056,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["payload[property.name",{"_index":2807,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["payment",{"_index":25502,"title":{},"body":{"license.html":{}}}],["peer",{"_index":25308,"title":{},"body":{"license.html":{}}}],["peers",{"_index":25311,"title":{},"body":{"license.html":{}}}],["pem",{"_index":8036,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["pending",{"_index":7207,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["per",{"_index":4930,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ElementUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["perf_hooks",{"_index":20228,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["perfectly",{"_index":26085,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["performance",{"_index":20227,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["performance.now",{"_index":2924,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["performed",{"_index":9163,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{}}}],["performedat",{"_index":9219,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["performing",{"_index":16645,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"license.html":{}}}],["period",{"_index":23837,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["period.entity",{"_index":12915,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["period.entity.ts",{"_index":13152,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["period.entity.ts:12",{"_index":13155,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["period.entity.ts:15",{"_index":13154,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["permanently",{"_index":25410,"title":{},"body":{"license.html":{}}}],["permission",{"_index":693,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission'})@apiresponse({status",{"_index":5099,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permission(s",{"_index":26399,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_create",{"_index":20888,"title":{},"body":{"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_edit",{"_index":26429,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_view",{"_index":9773,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["permission.create_user",{"_index":26414,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.entity",{"_index":11633,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.entity.ts",{"_index":11797,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["permission.entity.ts:18",{"_index":11804,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:21",{"_index":11806,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:24",{"_index":11807,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:27",{"_index":11803,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:30",{"_index":11802,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:33",{"_index":11801,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.enum",{"_index":26457,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.homework_create",{"_index":20890,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.includes('news",{"_index":16860,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.join_meeting",{"_index":24664,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.news_create",{"_index":16826,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_edit",{"_index":16822,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_view",{"_index":16821,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.nextcloud_user",{"_index":17550,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["permission.oauth_client_edit",{"_index":17359,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.oauth_client_view",{"_index":17356,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.refid.equals(refobjectid",{"_index":11654,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.school_create",{"_index":26410,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.start_meeting",{"_index":24663,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.task_dashboard_teacher_view_v3",{"_index":22205,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.task_dashboard_view_v3",{"_index":22206,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.tool_admin",{"_index":10278,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["permission.topic_create",{"_index":20889,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.topic_edit",{"_index":15727,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.topic_view",{"_index":15726,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.user_login_migration_admin",{"_index":24095,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["permissioncontext",{"_index":21374,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["permissioncontexts.create",{"_index":26407,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissionmapper",{"_index":5177,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionmapping",{"_index":24590,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["permissionmapping[bbbrole",{"_index":24596,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["permissionmapping[role",{"_index":24647,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["permissionrefid",{"_index":12202,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["permissions",{"_index":1826,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/CourseNews.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"classes/TeamRolePermissionsDto.html":{},"entities/User.html":{},"controllers/UserController.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissions(+share",{"_index":5101,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissions.body.params",{"_index":5107,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.body.params.ts",{"_index":22336,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:11",{"_index":22341,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:15",{"_index":22337,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:19",{"_index":22338,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:23",{"_index":22340,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:7",{"_index":22339,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.create",{"_index":5060,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.delete",{"_index":5061,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.dto",{"_index":5031,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.dto.ts",{"_index":22342,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:10",{"_index":22343,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["permissions.dto.ts:2",{"_index":22346,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:4",{"_index":22347,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:6",{"_index":22344,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:8",{"_index":22345,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.every((p",{"_index":11333,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.filter((permission",{"_index":16859,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permissions.includes(p",{"_index":1828,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["permissions.length",{"_index":11328,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.mapper",{"_index":5188,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissions.mapper.ts",{"_index":22350,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.mapper.ts:12",{"_index":22353,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.read",{"_index":5058,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.refid",{"_index":11638,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permissions.share",{"_index":5062,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.write",{"_index":5059,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissionsbody",{"_index":5091,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissionsdto",{"_index":5183,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionservice",{"_index":267,"title":{"injectables/PermissionService.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/PermissionService.html":{}}}],["permissive",{"_index":25242,"title":{},"body":{"license.html":{}}}],["permit",{"_index":25272,"title":{},"body":{"license.html":{}}}],["permits",{"_index":25095,"title":{},"body":{"license.html":{}}}],["permitted",{"_index":25046,"title":{},"body":{"license.html":{}}}],["permittedcourses",{"_index":22240,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedlessons",{"_index":22256,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedmatch",{"_index":24223,"title":{},"body":{"injectables/UserRepo.html":{}}}],["permittedsubmissions",{"_index":21369,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["perpetuity",{"_index":25349,"title":{},"body":{"license.html":{}}}],["persist",{"_index":5343,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardRepo.html":{},"entities/LtiTool.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["persist(entity",{"_index":8783,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush",{"_index":8775,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush(entity",{"_index":8785,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persisted",{"_index":15034,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/TldrawWsService.html":{}}}],["persistedentity",{"_index":2468,"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":{}}}],["persistedentity.createdat",{"_index":2523,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.id",{"_index":2521,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.updatedat",{"_index":2525,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedstatevector",{"_index":22685,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc",{"_index":22683,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc.destroy",{"_index":22692,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistence",{"_index":22840,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistence_",{"_index":22865,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistent",{"_index":1342,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["persitence",{"_index":22863,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["person",{"_index":19707,"title":{},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["personal",{"_index":25319,"title":{},"body":{"license.html":{}}}],["personenkontext",{"_index":19709,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["personenkontexte",{"_index":19780,"title":{},"body":{"classes/SanisResponse.html":{}}}],["perspective",{"_index":26381,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pertinent",{"_index":25520,"title":{},"body":{"license.html":{}}}],["php",{"_index":11717,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["physical",{"_index":25278,"title":{},"body":{"license.html":{}}}],["physically",{"_index":25290,"title":{},"body":{"license.html":{}}}],["pickimage",{"_index":16383,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pickimage(images",{"_index":16392,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pid",{"_index":19781,"title":{},"body":{"classes/SanisResponse.html":{}}}],["piece",{"_index":25809,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["pieces",{"_index":25069,"title":{},"body":{"license.html":{}}}],["pilot",{"_index":24153,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["pin",{"_index":9065,"title":{},"body":{"modules/DeletionApiModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts",{"_index":18896,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts:18",{"_index":18898,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:21",{"_index":18900,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:24",{"_index":18902,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:28",{"_index":18899,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.module.ts",{"_index":18918,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin.repo.ts",{"_index":18920,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:6",{"_index":18922,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:9",{"_index":18924,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.service.ts",{"_index":18927,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:5",{"_index":18929,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:8",{"_index":18930,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin/entity/registration",{"_index":18895,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin/registration",{"_index":18917,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin/repo/registration",{"_index":18919,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin/service/registration",{"_index":18926,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pinginterval",{"_index":22941,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pingtimeout",{"_index":22841,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pipe",{"_index":1172,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["pipe.ts",{"_index":1210,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe.ts:18",{"_index":1229,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe/global",{"_index":24370,"title":{},"body":{"modules/ValidationModule.html":{}}}],["pipeline",{"_index":12210,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{},"injectables/UserRepo.html":{}}}],["pipeline.push",{"_index":24247,"title":{},"body":{"injectables/UserRepo.html":{}}}],["pipes",{"_index":25932,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["pipetransform",{"_index":1230,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pkcs1",{"_index":8035,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["place",{"_index":22078,"title":{},"body":{"injectables/TaskRepo.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["placeholder",{"_index":5219,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholder.length",{"_index":5381,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholders",{"_index":5411,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["placeholdervalue",{"_index":5387,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["places",{"_index":25844,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plain",{"_index":4216,"title":{},"body":{"injectables/BsonConverter.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["plaintextcontent",{"_index":1452,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintextmailcontent",{"_index":1450,"title":{"interfaces/PlainTextMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintoclass",{"_index":1231,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/FilesStorageMapper.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["plaintoclass(contentbodyparams",{"_index":1241,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(filerecordparams",{"_index":12401,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["plaintoclass(librariesbodyparams",{"_index":1239,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(libraryparametersbodyparams",{"_index":1243,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(sanisresponse",{"_index":19754,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["planned",{"_index":9575,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["player",{"_index":11721,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["please",{"_index":2512,"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":26206,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["plus",{"_index":25445,"title":{},"body":{"license.html":{}}}],["png",{"_index":10500,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["point",{"_index":8080,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pointer",{"_index":25595,"title":{},"body":{"license.html":{}}}],["pointing",{"_index":3350,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["policy",{"_index":26477,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pongreceived",{"_index":22940,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pool",{"_index":24962,"title":{},"body":{"dependencies.html":{}}}],["populate",{"_index":5136,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FilesRepo.html":{},"injectables/NewsRepo.html":{},"injectables/PermissionService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populate(tasks",{"_index":21998,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["populateboard",{"_index":3987,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populateboard(board",{"_index":3995,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populated",{"_index":3752,"title":{},"body":{"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populatereferences",{"_index":21282,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populatereferences(submissions",{"_index":21290,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populateroles",{"_index":22427,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["populateroles(roles",{"_index":22429,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["port",{"_index":1283,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/FilesStorageModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/ScanResult.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["portion",{"_index":25315,"title":{},"body":{"license.html":{}}}],["pos",{"_index":1660,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BoardCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["pos.x",{"_index":8537,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["pos.y",{"_index":8540,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position",{"_index":3076,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LinkElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["position.groupindex",{"_index":8583,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position.x",{"_index":8671,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["position.y",{"_index":8672,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["positionfromgridindex",{"_index":8455,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["positionfromgridindex(index",{"_index":8490,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["possesses",{"_index":25287,"title":{},"body":{"license.html":{}}}],["possession",{"_index":25257,"title":{},"body":{"license.html":{}}}],["possibility",{"_index":25575,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["possible",{"_index":2642,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"classes/SchoolInMigrationLoggableException.html":{},"controllers/SystemController.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["post",{"_index":3242,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["post('/:externaltoolid",{"_index":23189,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:externaltoolid')@apiokresponse({description",{"_index":23169,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:schoolid/systems/:systemid/provisioning",{"_index":19869,"title":{},"body":{"controllers/SchoolController.html":{}}}],["post('/delete/:contentid",{"_index":13254,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit",{"_index":13356,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit')@apiresponse({status",{"_index":13251,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid",{"_index":13367,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid')@apiresponse({status",{"_index":13289,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post(':boardid/columns",{"_index":3267,"title":{},"body":{"controllers/BoardController.html":{}}}],["post(':cardid/elements",{"_index":4433,"title":{},"body":{"controllers/CardController.html":{}}}],["post(':columnid/cards",{"_index":5668,"title":{},"body":{"controllers/ColumnController.html":{}}}],["post(':contentelementid/submissions",{"_index":9869,"title":{},"body":{"controllers/ElementController.html":{}}}],["post(':roomid/copy",{"_index":19413,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':roomid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19385,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':scope/:scopeid",{"_index":24567,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':scope/:scopeid')@apioperation({summary",{"_index":24553,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':submissionitemid/elements",{"_index":4089,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["post(':taskid/copy",{"_index":21827,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':taskid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":21787,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':token/import",{"_index":20714,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["post('ajax",{"_index":13335,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('ajax')@useinterceptors(undefined",{"_index":13286,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('clients",{"_index":17469,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["post('close",{"_index":23888,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('close')@httpcode(httpstatus.ok)@apiunprocessableentityresponse({description",{"_index":23808,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('export",{"_index":8881,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('export/:collectionname",{"_index":8879,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('ldap",{"_index":15957,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('lessons/:lessonid/copy",{"_index":19417,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('lessons/:lessonid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19388,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('local",{"_index":15962,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('migrate",{"_index":14025,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["post('oauth2",{"_index":15966,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('seed",{"_index":14937,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["post('seed/:collectionname",{"_index":8884,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('start",{"_index":23877,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('start')@apiunprocessableentityresponse({description",{"_index":23850,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('startsync",{"_index":14012,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('startusermigration",{"_index":14033,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('sync",{"_index":8890,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post()@apicreatedresponse({description",{"_index":23094,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["post()@httpcode(202)@apioperation({summary",{"_index":9574,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["post()@httpcode(204)@apioperation({summary",{"_index":9201,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["post(`${this.options.uri}${path",{"_index":1177,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(`${this.options.uri}/api/v1/login",{"_index":1184,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(path",{"_index":1176,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post(subpath",{"_index":1650,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post.body.params",{"_index":1236,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["post.params.ts",{"_index":6833,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:10",{"_index":6844,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:14",{"_index":6834,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:15",{"_index":19999,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:18",{"_index":6836,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:22",{"_index":19997,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:23",{"_index":6838,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:26",{"_index":20000,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:30",{"_index":6843,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:34",{"_index":6846,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["postajax",{"_index":13247,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postajax(body",{"_index":13285,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postasadmin(path",{"_index":1157,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["postdeletionexecutionsendpoint",{"_index":9078,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["postdeletionrequestsendpoint",{"_index":9079,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["posth5pcontentcreateparams",{"_index":12638,"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":12636,"title":{"classes/PostH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["potential",{"_index":7691,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["potentially",{"_index":26490,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["povider",{"_index":25643,"title":{},"body":{"todo.html":{}}}],["power",{"_index":25227,"title":{},"body":{"license.html":{}}}],["powershell",{"_index":26258,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["pr",{"_index":25011,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["practical",{"_index":25058,"title":{},"body":{"license.html":{}}}],["practice",{"_index":25477,"title":{},"body":{"license.html":{}}}],["practices",{"_index":26215,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["practices/layers/orm",{"_index":25648,"title":{},"body":{"todo.html":{}}}],["preamble",{"_index":25049,"title":{},"body":{"license.html":{}}}],["precise",{"_index":4531,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{}}}],["preconditions",{"_index":24977,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["predecessor",{"_index":25442,"title":{},"body":{"license.html":{}}}],["predefined",{"_index":26005,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["preexisting",{"_index":26064,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["preferences",{"_index":23531,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["preferred",{"_index":25160,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["prefetch",{"_index":18567,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefetchcount",{"_index":18570,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefix",{"_index":316,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"classes/TestApiClient.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["prefixes",{"_index":4904,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["preloadedcss",{"_index":11731,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadeddependencies",{"_index":6584,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadedjs",{"_index":11732,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["premature",{"_index":25832,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["preparation",{"_index":26084,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepare",{"_index":9099,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["prepareawarenessmessage",{"_index":24758,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["prepareawarenessmessage(changedclients",{"_index":24768,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["preparebbbcreateconfigbuilder",{"_index":24495,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["preparebbbcreateconfigbuilder(scope",{"_index":24505,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["prepared",{"_index":26091,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepended",{"_index":25002,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prerendering",{"_index":4527,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["presence",{"_index":2936,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["present",{"_index":25537,"title":{},"body":{"license.html":{}}}],["presentationurl",{"_index":2335,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["presents",{"_index":25155,"title":{},"body":{"license.html":{}}}],["preservation",{"_index":25378,"title":{},"body":{"license.html":{}}}],["preset",{"_index":24386,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["prettier",{"_index":25768,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["prevent",{"_index":2555,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["prevented",{"_index":25342,"title":{},"body":{"license.html":{}}}],["prevention",{"_index":1748,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["preview",{"_index":7288,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["preview.coalesce",{"_index":18103,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.producer",{"_index":18065,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["preview.resize(width",{"_index":18104,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.selectframe(0",{"_index":18101,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.stream(format",{"_index":18105,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview_not_possible_scan_status_blocked",{"_index":11846,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_error",{"_index":11844,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_wont_check",{"_index":11845,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_wrong_mime_type",{"_index":11847,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_possible",{"_index":11842,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewactionsloggable",{"_index":17986,"title":{"classes/PreviewActionsLoggable.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:end",{"_index":18048,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:start",{"_index":18046,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:end",{"_index":18093,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:start",{"_index":18086,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.previewnotpossible",{"_index":18097,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewproducer.generate:finished",{"_index":18118,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewproducer.generate:started",{"_index":18116,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewbuilder",{"_index":17997,"title":{"classes/PreviewBuilder.html":{}},"body":{"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{}}}],["previewbuilder.buildparams(filerecord",{"_index":18141,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewbuilder.buildpayload(params",{"_index":18155,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewconfig",{"_index":18014,"title":{"interfaces/PreviewConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["previewfileoptions",{"_index":17990,"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":12585,"title":{"interfaces/PreviewFileParams.html":{}},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{}}}],["previewfilepath",{"_index":12588,"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":18020,"title":{"modules/PreviewGeneratorAMQPModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorbuilder",{"_index":18025,"title":{"classes/PreviewGeneratorBuilder.html":{}},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorbuilder.buildfile(preview",{"_index":18090,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorconsumer",{"_index":18030,"title":{"injectables/PreviewGeneratorConsumer.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule",{"_index":18023,"title":{"modules/PreviewGeneratorConsumerModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule.register",{"_index":18024,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorproducermodule",{"_index":12412,"title":{"modules/PreviewGeneratorProducerModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorProducerModule.html":{}}}],["previewgeneratorservice",{"_index":18034,"title":{"injectables/PreviewGeneratorService.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorservice(storageclient",{"_index":18055,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewinputmimetypes",{"_index":11840,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.application_pdf",{"_index":18100,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.image_gif",{"_index":18102,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewmoduleconfig",{"_index":18017,"title":{"interfaces/PreviewModuleConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{}}}],["previewoptions",{"_index":17993,"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":17995,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoptions.width",{"_index":17996,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoutputmimetypes",{"_index":7271,"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":18107,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previewparams",{"_index":7283,"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":18152,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewparams.width",{"_index":18013,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["previewproducer",{"_index":18063,"title":{"injectables/PreviewProducer.html":{}},"body":{"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{}}}],["previewresponsemessage",{"_index":18019,"title":{"interfaces/PreviewResponseMessage.html":{}},"body":{"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewservice",{"_index":12333,"title":{"injectables/PreviewService.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/PreviewService.html":{}}}],["previewstatus",{"_index":7238,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewstatus.awaiting_scan_status",{"_index":11915,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_blocked",{"_index":11910,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_error",{"_index":11918,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_wont_check",{"_index":11917,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_wrong_mime_type",{"_index":11912,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_possible",{"_index":11913,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewwidth",{"_index":7272,"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":18109,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previous",{"_index":25444,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["previousexternalid",{"_index":15253,"title":{},"body":{"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["previously",{"_index":6355,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["previousteachers",{"_index":5834,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["price",{"_index":25066,"title":{},"body":{"license.html":{}}}],["primarily",{"_index":25504,"title":{},"body":{"license.html":{}}}],["primary",{"_index":616,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{}}}],["primarykey",{"_index":2537,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["principle",{"_index":25812,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["principles",{"_index":25805,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prior",{"_index":25412,"title":{},"body":{"license.html":{}}}],["privacy",{"_index":9969,"title":{},"body":{"classes/ErrorLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["privacy_permission",{"_index":8162,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["privacyprotect",{"_index":297,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ErrorLoggable.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["privacyprotect()@isoptional()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":292,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["privacyprotect()@isoptional()@matches(passwordpattern",{"_index":448,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["privacyprotect()@isstring()@isoptional()@matches(passwordpattern)@apiproperty({description",{"_index":17931,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["privacyprotect()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":17937,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["privacyprotected",{"_index":9978,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["private",{"_index":652,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestScope.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["private_key_jwt",{"_index":17183,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["privatedevice",{"_index":14510,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["privatekey",{"_index":8026,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["privilege",{"_index":11723,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["probably",{"_index":3970,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["problem",{"_index":6304,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ToolLaunchModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["problems",{"_index":25540,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["procedures",{"_index":25338,"title":{},"body":{"license.html":{}}}],["proceedbuttonurl",{"_index":17891,"title":{},"body":{"classes/PageContentDto.html":{}}}],["process",{"_index":7858,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/OauthSSOController.html":{},"classes/RedirectResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["process'})@apiresponse({status",{"_index":9203,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["process.dto.ts",{"_index":16984,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:2",{"_index":16986,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:4",{"_index":16985,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.env.mongo_test_uri}/${dbname",{"_index":16546,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["processcookies",{"_index":13628,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processcookies(setcookies",{"_index":13641,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processed",{"_index":2842,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CollaborativeStorageStrategy.html":{}}}],["processing",{"_index":5096,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["processredirect",{"_index":13629,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirect(dto",{"_index":13644,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirectcascade",{"_index":13562,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["processredirectcascade(initresponse",{"_index":13570,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["procuring",{"_index":25494,"title":{},"body":{"license.html":{}}}],["produce",{"_index":1713,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["producer.module.ts",{"_index":18064,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["producer.ts",{"_index":19468,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:12",{"_index":19472,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:21",{"_index":19470,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:29",{"_index":19471,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:5",{"_index":19469,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["produces",{"_index":25996,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["product",{"_index":2204,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"license.html":{}}}],["production",{"_index":4943,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["products",{"_index":25505,"title":{},"body":{"license.html":{}}}],["profile",{"_index":14839,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["program",{"_index":25062,"title":{},"body":{"license.html":{}}}],["program's",{"_index":25236,"title":{},"body":{"license.html":{}}}],["programmer",{"_index":25606,"title":{},"body":{"license.html":{}}}],["programming",{"_index":25165,"title":{},"body":{"license.html":{}}}],["programs",{"_index":25070,"title":{},"body":{"license.html":{}}}],["progress",{"_index":7190,"title":{},"body":{"classes/CopyApiResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prohibit",{"_index":25201,"title":{},"body":{"license.html":{},"todo.html":{}}}],["prohibiting",{"_index":25224,"title":{},"body":{"license.html":{}}}],["prohibits",{"_index":25499,"title":{},"body":{"license.html":{}}}],["project",{"_index":24233,"title":{},"body":{"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prom",{"_index":18951,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"dependencies.html":{}}}],["prometheus",{"_index":18210,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp",{"_index":18235,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp.listen(prometheusmetricsappport",{"_index":18237,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsappport",{"_index":18233,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig",{"_index":18157,"title":{"classes/PrometheusMetricsConfig.html":{}},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance",{"_index":18230,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.isenabled",{"_index":18223,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.port",{"_index":18234,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate",{"_index":18203,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.api_response_time_metric_middleware_successfully_added",{"_index":18227,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.feature_disabled_middlewares_will_not_be_created",{"_index":18225,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable",{"_index":18199,"title":{"classes/PrometheusMetricsSetupStateLoggable.html":{}},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_default_metrics_disabled",{"_index":18231,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_metrics_route_metrics_disabled",{"_index":18232,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.feature_disabled_app_will_not_be_created",{"_index":18229,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prominent",{"_index":25157,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prominently",{"_index":25152,"title":{},"body":{"license.html":{}}}],["promise",{"_index":36,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UrlHandler.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promise((resolve",{"_index":2863,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/LdapService.html":{},"classes/TestConnection.html":{}}}],["promise.all",{"_index":980,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DashboardModelMapper.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/TeamsRepo.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["promise.all(adduserids.map((nextclouduserid",{"_index":16957,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(array.from(modelentity.gridelements).map(async",{"_index":8733,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(copyrequests",{"_index":19612,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["promise.all(domainobject.children.map(async",{"_index":18733,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["promise.all(gridelement.getreferences().map((ref",{"_index":8754,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(promises",{"_index":2492,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{}}}],["promise.all(referencemodels.map((ref",{"_index":8725,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(removeuserids.map((nextclouduserid",{"_index":16955,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(studententities.map((user",{"_index":11425,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(substitutionteacherentities.map((user",{"_index":11428,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(teacherentities.map((user",{"_index":11427,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(toolreferencespromises",{"_index":23431,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["promise.allsettled(boarddo.children.map((child",{"_index":18676,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["promise.allsettled(promises",{"_index":3367,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["promise.reject",{"_index":24221,"title":{},"body":{"injectables/UserRepo.html":{}}}],["promise.reject(new",{"_index":3348,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["promise.resolve",{"_index":2802,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/FileSystemAdapter.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TestBootstrapConsole.html":{}}}],["promise.resolve(configuration.get('hydra_uri",{"_index":17504,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["promise.resolve(false",{"_index":958,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["promise.resolve(new",{"_index":14422,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(oauthdata",{"_index":17730,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(response",{"_index":20708,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["promise.resolve(undefined",{"_index":16457,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["promises",{"_index":2488,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FileSystemAdapter.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promisify",{"_index":24888,"title":{},"body":{"dependencies.html":{}}}],["prompt",{"_index":17719,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["prop",{"_index":1819,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["propagate",{"_index":25126,"title":{},"body":{"license.html":{}}}],["propagating",{"_index":25428,"title":{},"body":{"license.html":{}}}],["propagation",{"_index":25136,"title":{},"body":{"license.html":{}}}],["propaly",{"_index":21713,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["proper",{"_index":3429,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/UserBoardRoles.html":{}}}],["properly",{"_index":26161,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["properties",{"_index":112,"title":{"properties.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupScope.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"classes/NewsUrlParams.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchoolSystemParams.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["properties.filter((property",{"_index":2804,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["properties.some",{"_index":2812,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertiestopopulate",{"_index":16721,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["property",{"_index":223,"title":{},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["property()@index",{"_index":221,"title":{},"body":{"entities/Account.html":{},"entities/ClassEntity.html":{},"entities/News.html":{},"entities/RegistrationPinEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/User.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{}}}],["property()@index({options",{"_index":9415,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["property()@unique",{"_index":10632,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"entities/PseudonymEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{}}}],["property({comment",{"_index":21191,"title":{},"body":{"entities/SubmissionItemNode.html":{}}}],["property({default",{"_index":18901,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["property({fieldname",{"_index":5493,"title":{},"body":{"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/H5PContent.html":{},"entities/ImportUser.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{}}}],["property({nullable",{"_index":211,"title":{},"body":{"entities/Account.html":{},"entities/BoardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DeletionLogEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/OauthConfigEntity.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["property({onupdate",{"_index":2567,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["property({type",{"_index":13169,"title":{},"body":{"entities/H5PContent.html":{},"entities/ImportUser.html":{}}}],["property.location",{"_index":2805,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["property.value",{"_index":2808,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertydata",{"_index":2758,"title":{"classes/PropertyData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["propertylocation",{"_index":2798,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.body",{"_index":2806,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.path",{"_index":23248,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertylocation.query",{"_index":23249,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertyname",{"_index":2769,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["propertypath",{"_index":1406,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["propertypath.push(validationerror.property",{"_index":1408,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["props",{"_index":435,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"entities/CourseNews.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalUserDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/HydraRedirectDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LinkElement.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/PageContentDto.html":{},"classes/PropertyData.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{},"injectables/SystemRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{}}}],["props.abbreviation",{"_index":7503,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.accesskeyid",{"_index":21008,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.accesstoken",{"_index":15972,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.action",{"_index":22752,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.activated",{"_index":251,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.active",{"_index":15050,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.alias",{"_index":15159,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.alternativetext",{"_index":11582,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.authtoken",{"_index":19150,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.availabledate",{"_index":21689,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.axiosconfig",{"_index":13624,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.baseurl",{"_index":2707,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/ToolLaunchData.html":{}}}],["props.birthday",{"_index":11270,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.boardelement",{"_index":6777,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["props.bucket",{"_index":11647,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.builder.ts",{"_index":9410,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.builder.ts:6",{"_index":9411,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.cancelbuttonurl",{"_index":17897,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.caption",{"_index":11581,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.classnames",{"_index":14109,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.classnames.length",{"_index":13979,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.client",{"_index":16308,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.client_id",{"_index":1509,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.client_secret",{"_index":1511,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.clientid",{"_index":17088,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.clientsecret",{"_index":17089,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["props.clock",{"_index":22750,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.closedat",{"_index":23916,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.code",{"_index":1517,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.color",{"_index":7578,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.colums",{"_index":8542,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.comment",{"_index":21047,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.completed",{"_index":21197,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["props.config",{"_index":2134,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/ExternalToolEntity.html":{}}}],["props.content",{"_index":7890,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.contents",{"_index":6244,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.context.type",{"_index":5500,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["props.contextexternaltool",{"_index":10353,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["props.contextexternaltoolid",{"_index":10343,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.contextid",{"_index":6798,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.contextref",{"_index":6705,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.contexttype",{"_index":6800,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.cookies",{"_index":13621,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.copyingsince",{"_index":7584,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.course",{"_index":6240,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.course.school",{"_index":7784,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.coursegroup",{"_index":6242,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.create",{"_index":11816,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.createdat",{"_index":461,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.creator",{"_index":7893,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["props.creatorid",{"_index":11870,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.credentialhash",{"_index":241,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.currentredirect",{"_index":13617,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.customs",{"_index":8194,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.data",{"_index":2126,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.default",{"_index":8259,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["props.defaultvalue",{"_index":8398,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["props.delete",{"_index":11818,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.deleteafter",{"_index":9426,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.deleted",{"_index":11661,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.deletedat",{"_index":11660,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.deletedcount",{"_index":9264,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.deletedsince",{"_index":11875,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.deletionrequestid",{"_index":9266,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.description",{"_index":7571,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["props.descriptioninputformat",{"_index":21686,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.destinationexternalreference",{"_index":5479,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.displayat",{"_index":7892,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.displayname",{"_index":6707,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.docname",{"_index":22747,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.domain",{"_index":9259,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.duedate",{"_index":21111,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.email",{"_index":11268,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.enddate",{"_index":20450,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["props.endpointurl",{"_index":21006,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.expiresat",{"_index":249,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.externalgroups",{"_index":17293,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalid",{"_index":7896,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.externalidtoken",{"_index":17304,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["props.externalschool",{"_index":17291,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalsource",{"_index":12881,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.externalsourcename",{"_index":4728,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.externaluser",{"_index":17289,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externaluserid",{"_index":10102,"title":{},"body":{"classes/ExternalGroupUserDto.html":{}}}],["props.features",{"_index":7586,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["props.federalstate",{"_index":19937,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.filetype",{"_index":18590,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["props.finishedat",{"_index":23918,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.firstname",{"_index":11264,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.flagged",{"_index":13983,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["props.forcepasswordchange",{"_index":23560,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.friendlyurl",{"_index":8205,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.from",{"_index":10094,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.frontchannel_logout_uri",{"_index":8211,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.frontchannellogouturi",{"_index":17095,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.grade",{"_index":21053,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradecomment",{"_index":21055,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.graded",{"_index":21051,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradelevel",{"_index":4659,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.grant_type",{"_index":1515,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.grid.foreach((element",{"_index":8544,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.gridelements",{"_index":8621,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["props.groupprovisioningclassesenabled",{"_index":18284,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["props.groupprovisioningcoursesenabled",{"_index":18286,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["props.groupprovisioningotherenabled",{"_index":18288,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["props.height",{"_index":4453,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["props.hidden",{"_index":6239,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.hydracookies",{"_index":7175,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.id",{"_index":459,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextRef.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/FileDto-1.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.idmreferenceid",{"_index":859,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["props.idtoken",{"_index":17065,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.imageurl",{"_index":15814,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["props.importhash",{"_index":18910,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.importuserid",{"_index":14103,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.inmaintenancesince",{"_index":19931,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.inputformat",{"_index":19100,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.inusermigration",{"_index":19932,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.invitationlink",{"_index":4671,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.iscopyfrom",{"_index":11872,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.isdirectory",{"_index":11644,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.ishidden",{"_index":8213,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{}}}],["props.islocal",{"_index":8198,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isoptional",{"_index":8269,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.isoutdatedonscopecontext",{"_index":6725,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["props.isoutdatedonscopeschool",{"_index":6723,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["props.istemplate",{"_index":8196,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isupgradable",{"_index":4734,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.key",{"_index":8178,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.keyvalue",{"_index":1764,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.language",{"_index":23561,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastloginsystemchange",{"_index":23565,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastname",{"_index":11266,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.lasttriedfailedlogin",{"_index":247,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.launch_presentation_locale",{"_index":16044,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["props.ldapconfig",{"_index":15165,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.ldapdn",{"_index":4676,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lesson",{"_index":21693,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.license",{"_index":16309,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.localcookies",{"_index":7173,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.location",{"_index":8261,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["props.lockid",{"_index":11681,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.loginname",{"_index":14105,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.logo",{"_index":10164,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.logo_url",{"_index":8182,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.logobase64",{"_index":10377,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["props.logourl",{"_index":7504,"title":{},"body":{"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.lti_message_type",{"_index":8184,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.lti_version",{"_index":8186,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.mandatorysince",{"_index":23912,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.match",{"_index":14110,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.matchedby",{"_index":13981,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.materials",{"_index":6245,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.merlinreference",{"_index":16311,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.method",{"_index":23280,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.mimetype",{"_index":11869,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.modifiedcount",{"_index":9262,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.name",{"_index":4664,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["props.oauthclientid",{"_index":8203,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.oauthconfig",{"_index":15161,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.officialschoolnumber",{"_index":10113,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.oidcconfig",{"_index":15163,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.opennewtab",{"_index":8209,"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":9260,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.options",{"_index":24390,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.organization",{"_index":12922,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.organizationid",{"_index":12885,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.originalcolumnboardid",{"_index":5462,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.origintoolid",{"_index":8199,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.otherusers",{"_index":10092,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["props.outdatedsince",{"_index":23567,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parameters",{"_index":6709,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.parent",{"_index":3923,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.id",{"_index":3924,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.level",{"_index":3929,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parentid",{"_index":11531,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.parents",{"_index":23569,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parenttype",{"_index":11530,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.password",{"_index":237,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.payload",{"_index":23281,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.performedat",{"_index":9268,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.permissions",{"_index":11680,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.pin",{"_index":18906,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.position",{"_index":3931,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.preferences",{"_index":23563,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.previousexternalid",{"_index":19930,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.privacy_permission",{"_index":8192,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.private",{"_index":21690,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.proceedbuttonurl",{"_index":17895,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.properties",{"_index":23230,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["props.provider",{"_index":15052,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.provisioningoptions",{"_index":20382,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["props.provisioningstrategy",{"_index":15167,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.provisioningurl",{"_index":15169,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.pseudonym",{"_index":10639,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["props.publicsubmissions",{"_index":21697,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.rcid",{"_index":19149,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.read",{"_index":11814,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.reason",{"_index":11852,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["props.redirect_uri",{"_index":1513,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.redirecturis",{"_index":17091,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.references.sort(this.sortreferences",{"_index":8519,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.referer",{"_index":13619,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.refownermodel",{"_index":11678,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.refpermmodel",{"_index":11811,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["props.refreshtoken",{"_index":17067,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["props.regex",{"_index":8265,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.regexcomment",{"_index":8267,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.region",{"_index":21012,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.relatedresources",{"_index":16313,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.requesttoken",{"_index":11854,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["props.resource_link_id",{"_index":8188,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.response",{"_index":13622,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.restricttocontexts",{"_index":10174,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.role",{"_index":13129,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.roleid",{"_index":13123,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["props.rolename",{"_index":10104,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.rolenames",{"_index":14107,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.rolenames.length",{"_index":13976,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.roles",{"_index":8190,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["props.school",{"_index":7574,"title":{},"body":{"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["props.schoolid",{"_index":4666,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationDO.html":{}}}],["props.schoolparameters",{"_index":19960,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.schooltool",{"_index":6796,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["props.schooltoolid",{"_index":20005,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["props.schooltoolref",{"_index":6703,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.schoolyear",{"_index":4732,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.scope",{"_index":8263,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.secret",{"_index":8180,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{}}}],["props.secretaccesskey",{"_index":21010,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.secretvalue",{"_index":1766,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.securitycheck",{"_index":11670,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.share",{"_index":22349,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["props.sharetokens",{"_index":11672,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.size",{"_index":11645,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.skipconsent",{"_index":8207,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.source",{"_index":4680,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourcedescription",{"_index":7898,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourceoptions",{"_index":4682,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.sourcesystem",{"_index":23934,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.sourcesystemid",{"_index":23909,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.startdate",{"_index":7582,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["props.startedat",{"_index":23914,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.status",{"_index":2128,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.statustext",{"_index":2130,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.storagefilename",{"_index":11646,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.storageprovider",{"_index":11648,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.student",{"_index":21045,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.studentcount",{"_index":4736,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.students",{"_index":7785,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.subjects",{"_index":16315,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.submitted",{"_index":21050,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.successor",{"_index":4678,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.system",{"_index":10136,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["props.systemid",{"_index":245,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["props.systems",{"_index":19933,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.tags",{"_index":16317,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.target",{"_index":3757,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetgroups",{"_index":16319,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.targetmodel",{"_index":24389,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetrefdomain",{"_index":9424,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetrefid",{"_index":9428,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetsystem",{"_index":23936,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.targetsystemid",{"_index":23910,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.task",{"_index":21049,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teacherids",{"_index":4670,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.teachernames",{"_index":4730,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["props.teachers",{"_index":4750,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["props.teamid",{"_index":22364,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teammembers",{"_index":21056,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teamname",{"_index":22366,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teamsubmissions",{"_index":21699,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.teamusers",{"_index":22281,"title":{},"body":{"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.teamusers.map((teamuser",{"_index":22294,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.text",{"_index":19099,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.thumbnail",{"_index":11667,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.thumbnailrequesttoken",{"_index":11668,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.timestamps",{"_index":10344,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.title",{"_index":3932,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["props.token",{"_index":239,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.tokenendpointauthmethod",{"_index":17093,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.tool",{"_index":19958,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.toolid",{"_index":10641,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.toolversion",{"_index":6711,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.ts",{"_index":7220,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/FileDomainObjectProps.html":{}}}],["props.tspuid",{"_index":4851,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["props.type",{"_index":4726,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/ContextRef.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["props.until",{"_index":10096,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.untildate",{"_index":7580,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.updatedat",{"_index":463,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.updater",{"_index":7894,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.url",{"_index":8176,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.user",{"_index":10090,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.userid",{"_index":243,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.userids",{"_index":4667,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.userloginmigration",{"_index":19935,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.username",{"_index":235,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.users",{"_index":12920,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.users.map",{"_index":12883,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validfrom",{"_index":12878,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validperiod",{"_index":12918,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.validuntil",{"_index":12879,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.value",{"_index":8287,"title":{},"body":{"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.verified",{"_index":18908,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.version",{"_index":10172,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.versionkey",{"_index":11684,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.write",{"_index":11812,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.year",{"_index":4673,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["propsfactory",{"_index":502,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["propsoffactory",{"_index":2609,"title":{},"body":{"classes/BaseFactory.html":{}}}],["protect",{"_index":25074,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["protected",{"_index":113,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageProducer.html":{},"classes/Group.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningStrategy.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":{},"classes/SchoolSystemOptions.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["protectedrole.id",{"_index":24332,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles",{"_index":24326,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles.find((protectedrole",{"_index":24331,"title":{},"body":{"injectables/UserService.html":{}}}],["protecting",{"_index":25208,"title":{},"body":{"license.html":{}}}],["protection",{"_index":25247,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["protocol",{"_index":14723,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapper",{"_index":14780,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapperrepresentation",{"_index":14656,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocols",{"_index":24971,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["protocols/awareness",{"_index":22876,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["protocols/sync",{"_index":22882,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["prototype",{"_index":1096,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["prove",{"_index":25555,"title":{},"body":{"license.html":{}}}],["provide",{"_index":685,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"classes/BoardManagementConsole.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ProvisioningConfigModule.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":2834,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardDoBuilderImpl.html":{},"modules/ErrorModule.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["provider",{"_index":5074,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"classes/ConsentRequestBody.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LoginRequestBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provider(s",{"_index":4950,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["provider.client",{"_index":17332,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.consent",{"_index":17365,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.controller",{"_index":17328,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.controller.ts",{"_index":17405,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:103",{"_index":17417,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:109",{"_index":17423,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:117",{"_index":17438,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:135",{"_index":17413,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:143",{"_index":17420,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:151",{"_index":17435,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:169",{"_index":17430,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:182",{"_index":17442,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:188",{"_index":17427,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:49",{"_index":17425,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:60",{"_index":17432,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:80",{"_index":17415,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:91",{"_index":17444,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.login",{"_index":13854,"title":{},"body":{"injectables/IdTokenService.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["provider.logout",{"_index":17450,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["provider.mapper",{"_index":14613,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["provider.mapper.ts",{"_index":17706,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:6",{"_index":17709,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:9",{"_index":17711,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.module",{"_index":17330,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.module.ts",{"_index":17570,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["provider.service",{"_index":17625,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["provider.service.ts",{"_index":17593,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:14",{"_index":17606,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:16",{"_index":17598,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:18",{"_index":17617,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:20",{"_index":17605,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:22",{"_index":17596,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:24",{"_index":17616,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:26",{"_index":17600,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:28",{"_index":17610,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:30",{"_index":17611,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:32",{"_index":17615,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:39",{"_index":17602,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:41",{"_index":17608,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:43",{"_index":17621,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:45",{"_index":17604,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:47",{"_index":17613,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:49",{"_index":17619,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.uc",{"_index":17451,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.uc.ts",{"_index":17628,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:10",{"_index":17631,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:15",{"_index":17633,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:7",{"_index":17629,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider/controller/dto",{"_index":17386,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/controller/dto/request/accept.query.ts",{"_index":188,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/accept.query.ts:9",{"_index":198,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/challenge.params.ts",{"_index":4577,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/challenge.params.ts:11",{"_index":4579,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/consent",{"_index":6274,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["provider/controller/dto/request/id.params.ts",{"_index":13816,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/id.params.ts:11",{"_index":13817,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/list",{"_index":15827,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["provider/controller/dto/request/login",{"_index":15974,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["provider/controller/dto/request/oauth",{"_index":16990,"title":{},"body":{"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{}}}],["provider/controller/dto/request/revoke",{"_index":19053,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["provider/controller/dto/request/user.params.ts",{"_index":24192,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/request/user.params.ts:7",{"_index":24193,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/response/consent",{"_index":6363,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts",{"_index":6321,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:16",{"_index":6331,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:22",{"_index":6334,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:28",{"_index":6337,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:32",{"_index":6340,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:36",{"_index":6341,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:40",{"_index":6344,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:44",{"_index":6346,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:48",{"_index":6348,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:54",{"_index":6351,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:6",{"_index":6329,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:60",{"_index":6352,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:66",{"_index":6353,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:72",{"_index":6356,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:76",{"_index":6357,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/login.response.ts",{"_index":15979,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:13",{"_index":15986,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:16",{"_index":15983,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:19",{"_index":15984,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:23",{"_index":15987,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:27",{"_index":15989,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:31",{"_index":15990,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:37",{"_index":15991,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:43",{"_index":15995,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:48",{"_index":15996,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:51",{"_index":15997,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:6",{"_index":15982,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oauth",{"_index":6360,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oidc",{"_index":6358,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts",{"_index":18801,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:12",{"_index":18807,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:3",{"_index":18803,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/oauth",{"_index":17404,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider/dto",{"_index":11032,"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":18253,"title":{},"body":{"interfaces/ProviderOidcContext.html":{}}}],["provider/dto/request/accept",{"_index":163,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{}}}],["provider/dto/request/reject",{"_index":18932,"title":{},"body":{"interfaces/RejectRequestBody.html":{}}}],["provider/dto/response/consent",{"_index":18249,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["provider/dto/response/consent.response.ts",{"_index":18244,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{}}}],["provider/dto/response/introspect.response.ts",{"_index":14341,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["provider/dto/response/login.response.ts",{"_index":18252,"title":{},"body":{"interfaces/ProviderLoginResponse.html":{}}}],["provider/dto/response/redirect.response.ts",{"_index":18254,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{}}}],["provider/error/id",{"_index":13819,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["provider/index",{"_index":17354,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["provider/interface/id",{"_index":175,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/interface/subject",{"_index":17185,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/interface/token",{"_index":17186,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/loggable/hydra",{"_index":13551,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["provider/mapper/oauth",{"_index":17539,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/oauth",{"_index":17326,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{}}}],["provider/service/id",{"_index":13837,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/service/oauth",{"_index":17505,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["provider/uc/oauth",{"_index":17331,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["providerconsentresponse",{"_index":17383,"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":17445,"title":{"interfaces/ProviderConsentSessionResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerid",{"_index":14708,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["providerloginresponse",{"_index":17446,"title":{"interfaces/ProviderLoginResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroauthclient",{"_index":11028,"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":18245,"title":{"interfaces/ProviderOidcContext.html":{}},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["provideroptions",{"_index":15059,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["providerredirectresponse",{"_index":17385,"title":{"interfaces/ProviderRedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderRedirectResponse.html":{}}}],["providers",{"_index":259,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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":{},"interfaces/MigrationOptions.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"interfaces/RetryOptions.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["providers.foreach((provider",{"_index":9023,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["provides",{"_index":4999,"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":5087,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CoreModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["provision",{"_index":20146,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"license.html":{}}}],["provisionally",{"_index":25407,"title":{},"body":{"license.html":{}}}],["provisiondata",{"_index":18308,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisiondata(oauthdata",{"_index":18322,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisionexternalgroup",{"_index":17739,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalgroup(externalgroup",{"_index":17756,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool",{"_index":17740,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool(externalschool",{"_index":17758,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser",{"_index":17741,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser(externaluser",{"_index":17760,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionin",{"_index":20320,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["provisioning",{"_index":2617,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provisioning.loggable",{"_index":24188,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["provisioning.service",{"_index":17869,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioning.service.ts",{"_index":17733,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:143",{"_index":17745,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:170",{"_index":17753,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:189",{"_index":17757,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:245",{"_index":17747,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:26",{"_index":17743,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:262",{"_index":17750,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:279",{"_index":17763,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:39",{"_index":17759,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:77",{"_index":17755,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:85",{"_index":17761,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.strategy",{"_index":14397,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["provisioning_options_invalid_type",{"_index":18297,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["provisioning_strategy_invalid_options",{"_index":18351,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{}}}],["provisioning_strategy_missing",{"_index":18354,"title":{},"body":{"classes/ProvisioningStrategyMissingLoggableException.html":{}}}],["provisioningconfigmodule",{"_index":18256,"title":{"modules/ProvisioningConfigModule.html":{}},"body":{"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{}}}],["provisioningconfiguration",{"_index":13787,"title":{"classes/ProvisioningConfiguration.html":{}},"body":{"interfaces/IProvisioningFeatures.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{}}}],["provisioningconfiguration.provisioningfeatures",{"_index":18259,"title":{},"body":{"modules/ProvisioningConfigModule.html":{}}}],["provisioningdto",{"_index":14399,"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":18264,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["provisioningfeatures",{"_index":13785,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningmodule",{"_index":17309,"title":{"modules/ProvisioningModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["provisioningoptions",{"_index":2623,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["provisioningoptions.groupprovisioningclassesenabled",{"_index":17812,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioningoptions.groupprovisioningcoursesenabled",{"_index":17814,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioningoptions.groupprovisioningotherenabled",{"_index":17815,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioningoptionsconstructor",{"_index":20330,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["provisioningoptionsenabled",{"_index":13783,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["provisioningoptionsentity",{"_index":18276,"title":{"classes/ProvisioningOptionsEntity.html":{}},"body":{"classes/ProvisioningOptionsEntity.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["provisioningoptionsentity(props.provisioningoptions",{"_index":20342,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["provisioningoptionsinterface",{"_index":2621,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["provisioningoptionsinvalidtypeloggableexception",{"_index":18289,"title":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["provisioningoptionsinvalidtypeloggableexception(provisioningoptionsconstructor",{"_index":20403,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["provisioningoptionsparams",{"_index":18299,"title":{"classes/ProvisioningOptionsParams.html":{}},"body":{"classes/ProvisioningOptionsParams.html":{},"controllers/SchoolController.html":{}}}],["provisioningservice",{"_index":17005,"title":{"injectables/ProvisioningService.html":{}},"body":{"injectables/OAuthService.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["provisioningstrategy",{"_index":14382,"title":{"classes/ProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisioningstrategy:10",{"_index":17726,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:14",{"_index":17725,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:17",{"_index":17865,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:29",{"_index":14394,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:31",{"_index":17724,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:33",{"_index":14393,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:34",{"_index":19737,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:38",{"_index":19736,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:5",{"_index":17867,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategy:63",{"_index":14388,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:7",{"_index":17866,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategyinvalidoptionsloggableexception",{"_index":18348,"title":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{}},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningstrategyinvalidoptionsloggableexception(this.provisioningstrategy",{"_index":20332,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningstrategymissingloggableexception",{"_index":18353,"title":{"classes/ProvisioningStrategyMissingLoggableException.html":{}},"body":{"classes/ProvisioningStrategyMissingLoggableException.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["provisioningstrategymissingloggableexception(domainobject.systemid",{"_index":20372,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["provisioningstrategymissingloggableexception(entity.system.id",{"_index":20364,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["provisioningstrategymissingloggableexception(systemid",{"_index":20419,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["provisioningstrategyoptions",{"_index":20329,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningstrategyoptions.get(this.provisioningstrategy",{"_index":20331,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningsystemdto",{"_index":17283,"title":{"classes/ProvisioningSystemDto.html":{}},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper",{"_index":18328,"title":{"classes/ProvisioningSystemInputMapper.html":{}},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper.maptointernal(systemdto",{"_index":18339,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisioningurl",{"_index":15082,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisionuser",{"_index":17002,"title":{},"body":{"injectables/OAuthService.html":{}}}],["provisionuser(systemid",{"_index":17016,"title":{},"body":{"injectables/OAuthService.html":{}}}],["proxy",{"_index":20607,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{}}}],["proxy's",{"_index":25545,"title":{},"body":{"license.html":{}}}],["ps256",{"_index":1579,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps384",{"_index":1580,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps512",{"_index":1581,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["pseudonym",{"_index":10631,"title":{"classes/Pseudonym.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.entity",{"_index":18443,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["pseudonym.entity.ts",{"_index":10630,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["pseudonym.entity.ts:18",{"_index":10633,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:21",{"_index":10634,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:24",{"_index":10635,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.id",{"_index":18417,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.module",{"_index":18387,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["pseudonym.pseudonym",{"_index":11458,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.repo.ts",{"_index":10644,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:106",{"_index":10669,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:114",{"_index":10665,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:12",{"_index":10653,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:15",{"_index":10662,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:26",{"_index":10660,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:41",{"_index":10658,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:50",{"_index":10655,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:71",{"_index":10657,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:79",{"_index":10667,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:93",{"_index":10671,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.service",{"_index":11400,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.toolid",{"_index":18418,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.userid",{"_index":18419,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonymapimodule",{"_index":18380,"title":{"modules/PseudonymApiModule.html":{}},"body":{"modules/PseudonymApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["pseudonymcontroller",{"_index":18386,"title":{"controllers/PseudonymController.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{}}}],["pseudonymentity",{"_index":18408,"title":{"entities/PseudonymEntity.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymentity(entityprops",{"_index":18522,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["pseudonymentityprops",{"_index":18413,"title":{"interfaces/PseudonymEntityProps.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymmapper",{"_index":18398,"title":{"classes/PseudonymMapper.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{}}}],["pseudonymmapper.maptoresponse(pseudonym",{"_index":18407,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonymmodule",{"_index":5068,"title":{"modules/PseudonymModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolLaunchModule.html":{}}}],["pseudonymous",{"_index":8154,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["pseudonymparams",{"_index":18391,"title":{"classes/PseudonymParams.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{}}}],["pseudonympromise",{"_index":18474,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymprops",{"_index":18376,"title":{"interfaces/PseudonymProps.html":{}},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["pseudonymrepo",{"_index":18455,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymresponse",{"_index":18400,"title":{"classes/PseudonymResponse.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{}}}],["pseudonymresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":18393,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonyms",{"_index":10637,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonyms.loggable",{"_index":22991,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonyms_too_many_pseudonyms_found",{"_index":22994,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonymschool",{"_index":18506,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymscope",{"_index":10672,"title":{"classes/PseudonymScope.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{}}}],["pseudonymsearchquery",{"_index":10664,"title":{"interfaces/PseudonymSearchQuery.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{}}}],["pseudonymservice",{"_index":11372,"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":18424,"title":{"injectables/PseudonymsRepo.html":{}},"body":{"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymuc",{"_index":18384,"title":{"injectables/PseudonymUc.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymUc.html":{}}}],["pseudonymuser",{"_index":18504,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymuserid",{"_index":18502,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["public",{"_index":711,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseProvisioningOptions.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/ColumnBoardCopyService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileResponseBuilder.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"injectables/PseudonymService.html":{},"classes/PublicSystemListResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"controllers/ServerController.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["publicclient",{"_index":14725,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["publicity",{"_index":25381,"title":{},"body":{"license.html":{}}}],["publickey",{"_index":8033,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["publiclink",{"_index":16871,"title":{},"body":{"injectables/NexboardService.html":{}}}],["publicly",{"_index":21454,"title":{},"body":{"controllers/SystemController.html":{},"license.html":{}}}],["publicservice",{"_index":25878,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["publicsubmissions",{"_index":13796,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["publicsystemlistresponse",{"_index":18525,"title":{"classes/PublicSystemListResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publicsystemlistresponse(systemresponses",{"_index":21615,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["publicsystemresponse",{"_index":18528,"title":{"classes/PublicSystemResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publish",{"_index":5607,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"todo.html":{}}}],["published",{"_index":3045,"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":24749,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["pull",{"_index":25010,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["purpose",{"_index":53,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["purposes",{"_index":4528,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["pursuant",{"_index":25492,"title":{},"body":{"license.html":{}}}],["push",{"_index":9367,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeleterequestsoptionsbuilder",{"_index":18538,"title":{"classes/PushDeleteRequestsOptionsBuilder.html":{}},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["pushdeletionrequests",{"_index":9363,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequests(options",{"_index":9365,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequestsoptions",{"_index":9366,"title":{"interfaces/PushDeletionRequestsOptions.html":{}},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["put",{"_index":4401,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/OauthProviderController.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["put('/:schoolexternaltoolid",{"_index":23469,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put('/:schoolexternaltoolid')@apiokresponse({description",{"_index":23458,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put(':cardid/position",{"_index":4416,"title":{},"body":{"controllers/CardController.html":{}}}],["put(':columnid/position",{"_index":5659,"title":{},"body":{"controllers/ColumnController.html":{}}}],["put(':contentelementid/position",{"_index":9858,"title":{},"body":{"controllers/ElementController.html":{}}}],["put(':contextexternaltoolid",{"_index":23130,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':contextexternaltoolid')@apiokresponse({description",{"_index":23112,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':scope/:scopeid/start",{"_index":24456,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put(':scope/:scopeid/start')@apioperation({summary",{"_index":24444,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put('clients/:id",{"_index":17471,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["put('mandatory",{"_index":23885,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('mandatory')@apinotfoundresponse({description",{"_index":23844,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart",{"_index":23882,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart')@apinotfoundresponse({description",{"_index":23834,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put(filesstorageinternalactions.updatesecuritystatus",{"_index":12083,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["put(path",{"_index":1646,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["put(subpath",{"_index":1645,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["putting",{"_index":25712,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["pw",{"_index":8058,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["pwd/backup/idm/keycloak:/tmp/realms",{"_index":25703,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["pwd/backup/idm/oidcmock:/tmp/config",{"_index":26277,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["p{extended_pictographic}/u",{"_index":7619,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["q",{"_index":14898,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["qs",{"_index":13650,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["qs.stringify(data",{"_index":14852,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["qualify",{"_index":25419,"title":{},"body":{"license.html":{}}}],["quality",{"_index":25554,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["quarkus",{"_index":26304,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["quay.io/minio/minio",{"_index":25697,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["queries",{"_index":14301,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["queries.length",{"_index":14304,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{}}}],["query",{"_index":365,"title":{},"body":{"controllers/AccountController.html":{},"classes/AuthCodeFailureLoggableException.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"controllers/CourseController.html":{},"classes/CourseScope.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"classes/FileRecordScope.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/GroupScope.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"classes/LessonScope.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RoleNameMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/Scope.html":{},"injectables/SubmissionRepo.html":{},"controllers/SystemController.html":{},"classes/SystemScope.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{}}}],["query('usecentralldap",{"_index":14078,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["query('x",{"_index":8428,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query('y",{"_index":8429,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query.accept",{"_index":17390,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["query.classes",{"_index":14157,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.code",{"_index":17657,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.error",{"_index":17658,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.firstname",{"_index":14145,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.flagged",{"_index":14162,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.lastloginsystemchangebetweenend",{"_index":23678,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastloginsystemchangebetweenstart",{"_index":23677,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastname",{"_index":14148,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.loginname",{"_index":14151,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match",{"_index":14158,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match.map((match",{"_index":14160,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.name",{"_index":24128,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["query.role",{"_index":14152,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.schoolid",{"_index":20089,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["query.targetid",{"_index":16701,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.targetmodel",{"_index":16699,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.ts",{"_index":10995,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/UserLoginMigrationQuery.html":{}}}],["query.type",{"_index":23669,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["query.unpublished",{"_index":16703,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.userid",{"_index":24090,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["query/body",{"_index":25982,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["query/empty",{"_index":20488,"title":{},"body":{"classes/Scope.html":{}}}],["queryfiltermatch",{"_index":24224,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryfiltermatch.$or",{"_index":24230,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryoptions",{"_index":7952,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ImportUserRepo.html":{}}}],["queryordermap",{"_index":7934,"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":11104,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["queryordernumeric",{"_index":24218,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.asc",{"_index":24244,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.desc",{"_index":24243,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryparams",{"_index":2352,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"controllers/CourseController.html":{}}}],["queryparams.append('checksum",{"_index":2428,"title":{},"body":{"injectables/BBBService.html":{}}}],["queryparams.tostring",{"_index":2418,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["queryparams.version",{"_index":7661,"title":{},"body":{"controllers/CourseController.html":{}}}],["querys",{"_index":12432,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{}}}],["querystring",{"_index":2417,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{}}}],["querystring.stringify",{"_index":13651,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["querystring.stringify(payload",{"_index":17135,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["queue",{"_index":2835,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["queue.console",{"_index":9146,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["queue.console.ts",{"_index":9362,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:37",{"_index":9368,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:8",{"_index":9364,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queuedeletionrequest",{"_index":9083,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequest(input",{"_index":9089,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequestinput",{"_index":2824,"title":{"interfaces/QueueDeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestinputbuilder",{"_index":2904,"title":{"classes/QueueDeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestoutput",{"_index":2832,"title":{"interfaces/QueueDeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder",{"_index":2828,"title":{"classes/QueueDeletionRequestOutputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder.buildsuccess",{"_index":2853,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests",{"_index":2819,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests(inputs",{"_index":2823,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queueing",{"_index":2921,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/DeletionRequestsController.html":{}}}],["rabbitmq",{"_index":1311,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rabbitmq#usage",{"_index":18561,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmq:3.8.9",{"_index":25687,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmq_url",{"_index":25680,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmqmodule",{"_index":18559,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqmodule.forroot(rabbitmqmodule",{"_index":18566,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqwrappermodule",{"_index":1011,"title":{"modules/RabbitMQWrapperModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rabbitmqwrappertestmodule",{"_index":1031,"title":{"modules/RabbitMQWrapperTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["rabbitpayload",{"_index":12345,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc",{"_index":12346,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc({exchange",{"_index":12336,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["random",{"_index":3832,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/FileSystemAdapter.html":{}}}],["random(min",{"_index":3847,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["randomuuid",{"_index":1717,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["range",{"_index":12546,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"injectables/S3ClientAdapter.html":{}}}],["range.end}/${contentlength",{"_index":13371,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["range.start",{"_index":13370,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["rangeend",{"_index":22481,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rangeendnew",{"_index":22514,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ranges",{"_index":12544,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["rangestart",{"_index":22480,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rawfiledocument",{"_index":12217,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments",{"_index":12213,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments.map((rawfiledocument",{"_index":12215,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawlessondocument",{"_index":15654,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments",{"_index":15650,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments.map((rawlessondocument",{"_index":15652,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rc",{"_index":4911,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["rcid",{"_index":19126,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rd",{"_index":4916,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["re",{"_index":814,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"classes/ExternalToolScope.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["reachable",{"_index":4898,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["react",{"_index":25802,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["read",{"_index":1783,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LessonRule.html":{},"controllers/NewsController.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["read(requiredpermissions",{"_index":1787,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["readable",{"_index":1302,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["readable.from('abc",{"_index":18593,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readable.from(text",{"_index":22587,"title":{},"body":{"classes/TestHelper.html":{}}}],["readablestreamwithfiletype",{"_index":18584,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypefactory",{"_index":18591,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeimp",{"_index":18581,"title":{"classes/ReadableStreamWithFileTypeImp.html":{}},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeprops",{"_index":18586,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readcourseids",{"_index":22248,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses",{"_index":22244,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses.map((c",{"_index":22249,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readdir",{"_index":12119,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readdir(folderpath",{"_index":12138,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["reader",{"_index":3427,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["readfile",{"_index":12120,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfile(filepath",{"_index":12141,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfilesync",{"_index":13463,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readfilesync(filepath",{"_index":13493,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readily",{"_index":25482,"title":{},"body":{"license.html":{}}}],["reading",{"_index":25363,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["readlessons",{"_index":22253,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readonly",{"_index":228,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileRecordFactory.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.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":{},"classes/SwapInternalLinksVisitor.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["readstream",{"_index":22486,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["readsyncmessage",{"_index":22879,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["readsyncmessage(decoder",{"_index":22923,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ready",{"_index":14950,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["readystate",{"_index":22829,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["real",{"_index":25714,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["really",{"_index":7555,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["realm",{"_index":14586,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["realmname",{"_index":13761,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows",{"_index":14695,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions",{"_index":14704,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions/execution",{"_index":14706,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["reason",{"_index":11849,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reasonable",{"_index":25288,"title":{},"body":{"license.html":{}}}],["reasons",{"_index":21618,"title":{},"body":{"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["receipt",{"_index":25417,"title":{},"body":{"license.html":{}}}],["receive",{"_index":2931,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["received",{"_index":2932,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"license.html":{}}}],["receives",{"_index":25433,"title":{},"body":{"license.html":{}}}],["receiving",{"_index":25496,"title":{},"body":{"license.html":{}}}],["recieved",{"_index":26143,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["recieving",{"_index":25868,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["recipient",{"_index":25348,"title":{},"body":{"license.html":{}}}],["recipient's",{"_index":25489,"title":{},"body":{"license.html":{}}}],["recipients",{"_index":1455,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"license.html":{}}}],["recognized",{"_index":25163,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["recommend",{"_index":26174,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["recommendations",{"_index":26220,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["recommended",{"_index":26218,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["reconnect",{"_index":15194,"title":{},"body":{"injectables/LdapService.html":{}}}],["reconsidered",{"_index":15245,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["record",{"_index":1078,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardNodeRepo.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LdapConnectionError.html":{},"injectables/Lti11EncryptionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"classes/ValidationError.html":{}}}],["record.mapper.ts",{"_index":11937,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:11",{"_index":11945,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:23",{"_index":11942,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:5",{"_index":11947,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["recording",{"_index":2312,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["recursive",{"_index":3629,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/CopyApiResponse.html":{}}}],["recursivecopyvisitor",{"_index":3628,"title":{"classes/RecursiveCopyVisitor.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["recursivecopyvisitor(params.filecopyservice",{"_index":3635,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["recursivedeletevisitor",{"_index":3647,"title":{"injectables/RecursiveDeleteVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["recursively",{"_index":12148,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/PermissionService.html":{}}}],["recursivesavevisitor",{"_index":3673,"title":{"classes/RecursiveSaveVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["recursivesavevisitor(this.em",{"_index":3704,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["red",{"_index":25641,"title":{},"body":{"todo.html":{}}}],["redirect",{"_index":2258,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirect_to",{"_index":18255,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{},"classes/RedirectResponse.html":{}}}],["redirect_uri",{"_index":1498,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/HydraSsoService.html":{},"classes/TokenRequestMapper.html":{}}}],["redirect_uris",{"_index":11091,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["redirectreponse",{"_index":18804,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectreponse.redirect_to",{"_index":18809,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectresponse",{"_index":17395,"title":{"classes/RedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirects",{"_index":17254,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["redirecturi",{"_index":13711,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturis",{"_index":8323,"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":18805,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redis",{"_index":4273,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{}}}],["redis_client",{"_index":18814,"title":{},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redis_uri",{"_index":20600,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisclient",{"_index":4274,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisidentifier",{"_index":14511,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["redismodule",{"_index":18810,"title":{"modules/RedisModule.html":{}},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisstore",{"_index":20595,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redistribute",{"_index":25590,"title":{},"body":{"license.html":{}}}],["redisurl",{"_index":4278,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["reduce",{"_index":26479,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["reduce((previousteachers",{"_index":5832,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["ref",{"_index":2918,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"controllers/SchoolController.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ref.builder.ts",{"_index":9595,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.builder.ts:6",{"_index":9596,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.do.ts",{"_index":20002,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:2",{"_index":20004,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:4",{"_index":20003,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.params.ts",{"_index":7154,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:13",{"_index":7155,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:9",{"_index":7157,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.target",{"_index":3009,"title":{},"body":{"entities/Board.html":{}}}],["ref.ts",{"_index":7150,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:4",{"_index":7152,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:5",{"_index":20503,"title":{},"body":{"classes/ScopeRef.html":{}}}],["ref.ts:6",{"_index":7151,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:7",{"_index":20502,"title":{},"body":{"classes/ScopeRef.html":{}}}],["refactor",{"_index":8793,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"modules/LearnroomApiModule.html":{},"classes/ToolConfiguration.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["refactoring",{"_index":11508,"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":3765,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["reference",{"_index":1842,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DeletionClient.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/ReferencesService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.contains(user",{"_index":1844,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["reference.controller",{"_index":23008,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["reference.controller.ts",{"_index":23367,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:28",{"_index":23375,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:51",{"_index":23379,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.getmetadata",{"_index":8527,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["reference.length",{"_index":18891,"title":{},"body":{"classes/ReferencesService.html":{}}}],["reference.loader",{"_index":1959,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.mapper.ts",{"_index":23392,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.mapper.ts:6",{"_index":23395,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.module",{"_index":12254,"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":1918,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["reference.response",{"_index":23390,"title":{},"body":{"classes/ToolReferenceListResponse.html":{}}}],["reference.response.ts",{"_index":23396,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:13",{"_index":23403,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:16",{"_index":23400,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:19",{"_index":23405,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:27",{"_index":23398,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:6",{"_index":23399,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.service.ts",{"_index":1944,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:12",{"_index":1951,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:14",{"_index":23411,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:15",{"_index":1954,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:23",{"_index":23413,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:26",{"_index":1956,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.ts",{"_index":3772,"title":{},"body":{"interfaces/BoardExternalReference.html":{},"classes/RoleReference.html":{},"classes/ToolReference.html":{}}}],["reference.ts:10",{"_index":23363,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:12",{"_index":23359,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:4",{"_index":23360,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:5",{"_index":19249,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:6",{"_index":23362,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:7",{"_index":19248,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:8",{"_index":23361,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.type",{"_index":3695,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["reference.uc.ts",{"_index":23416,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:11",{"_index":23419,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:18",{"_index":23425,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:41",{"_index":23427,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:58",{"_index":23423,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:72",{"_index":23421,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["referenced",{"_index":3750,"title":{},"body":{"entities/BoardElement.html":{},"classes/CardSkeletonResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"injectables/ImportUserRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserRepo.html":{}}}],["referencedentity",{"_index":9514,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["referencedentityid",{"_index":18862,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentityname",{"_index":18861,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentitynotfoundloggable",{"_index":18857,"title":{"classes/ReferencedEntityNotFoundLoggable.html":{}},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedid",{"_index":8510,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceforindex",{"_index":8586,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceids",{"_index":2948,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["referenceloader",{"_index":1912,"title":{"injectables/ReferenceLoader.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["referencemodels",{"_index":8723,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["references",{"_index":2911,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionQueueConsole.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ReferencesService.html":{},"controllers/ToolReferenceController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["references.filter((ref",{"_index":3003,"title":{},"body":{"entities/Board.html":{}}}],["references.push(columnboardelement",{"_index":3389,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(lessonelement",{"_index":3385,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(reference",{"_index":18892,"title":{},"body":{"classes/ReferencesService.html":{}}}],["references.push(taskelement",{"_index":3383,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.some((ref",{"_index":3008,"title":{},"body":{"entities/Board.html":{}}}],["references[position.groupindex",{"_index":8587,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referencesservice",{"_index":2902,"title":{"classes/ReferencesService.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/ReferencesService.html":{}}}],["referencesservice.loadfromtxtfile(refsfilepath",{"_index":2914,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["referer",{"_index":13598,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["referring",{"_index":25065,"title":{},"body":{"license.html":{}}}],["refers",{"_index":25110,"title":{},"body":{"license.html":{}}}],["refid",{"_index":11798,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refined",{"_index":26224,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reflect",{"_index":24942,"title":{},"body":{"dependencies.html":{},"todo.html":{}}}],["reflector",{"_index":22611,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["reflector.get('timeout",{"_index":22614,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["refobjectid",{"_index":11650,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["refownermodel",{"_index":11598,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refpermmodel",{"_index":11799,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["refrain",{"_index":25525,"title":{},"body":{"license.html":{}}}],["refresh_token",{"_index":17352,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{}}}],["refreshtimeout",{"_index":19645,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["refreshtoken",{"_index":17060,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/TokenRequestMapper.html":{}}}],["refsfilepath",{"_index":2900,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["refsfromtxtfile",{"_index":2913,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["refsfromtxtfile.foreach((ref",{"_index":2916,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["regard",{"_index":25368,"title":{},"body":{"license.html":{}}}],["regarding",{"_index":25000,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["regardless",{"_index":25258,"title":{},"body":{"license.html":{}}}],["regenerate",{"_index":25185,"title":{},"body":{"license.html":{}}}],["regex",{"_index":6203,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/CopyFilesService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/MongoPatterns.html":{},"classes/Path.html":{},"injectables/TaskCopyService.html":{},"injectables/UserRepo.html":{}}}],["regex_mongo_language_pattern_whitelist",{"_index":16552,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["regexcomment",{"_index":8247,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["regexp",{"_index":118,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["regexp(`${sourceid",{"_index":7366,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`^${email.replace(/\\w/g",{"_index":24253,"title":{},"body":{"injectables/UserRepo.html":{}}}],["regexp(param.regex",{"_index":10618,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(param.regex).test(foundentry.value",{"_index":6200,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["regexp(param.regex).test(param.default",{"_index":10620,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(searchusername",{"_index":819,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["regexpmatcharray",{"_index":136,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["region",{"_index":7308,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["register",{"_index":18050,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["register(config",{"_index":18051,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["register(configs",{"_index":19652,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["registerparentdata",{"_index":18737,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerparentdata(parent",{"_index":18743,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerstrategy",{"_index":18309,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registerstrategy(strategy",{"_index":18324,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registrated",{"_index":26447,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["registrationpinentity",{"_index":18893,"title":{"entities/RegistrationPinEntity.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{}}}],["registrationpinentityprops",{"_index":18903,"title":{"interfaces/RegistrationPinEntityProps.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinmodule",{"_index":9052,"title":{"modules/RegistrationPinModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RegistrationPinModule.html":{}}}],["registrationpinrepo",{"_index":18916,"title":{"injectables/RegistrationPinRepo.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["registrationpins",{"_index":18904,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinservice",{"_index":18915,"title":{"injectables/RegistrationPinService.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{}}}],["regular",{"_index":808,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["reinstated",{"_index":25406,"title":{},"body":{"license.html":{}}}],["reject",{"_index":15199,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reject(new",{"_index":15206,"title":{},"body":{"injectables/LdapService.html":{}}}],["rejectable.body",{"_index":6319,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rejectable.body.ts",{"_index":16991,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:13",{"_index":16992,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:23",{"_index":16993,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:32",{"_index":16994,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:41",{"_index":16995,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:50",{"_index":16996,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectconsentrequest",{"_index":17370,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectconsentrequest(challenge",{"_index":17379,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest",{"_index":17526,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest(challenge",{"_index":17534,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectnothandled",{"_index":6486,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectnothandled(component",{"_index":6489,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectrequestbody",{"_index":17380,"title":{"interfaces/RejectRequestBody.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/RejectRequestBody.html":{}}}],["related",{"_index":4905,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["relatedresourceproperties",{"_index":16294,"title":{"interfaces/RelatedResourceProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relatedresources",{"_index":16286,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relation",{"_index":13035,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["relation.ktid",{"_index":19848,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relation.rollen?.length",{"_index":19845,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relations",{"_index":11822,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relationship",{"_index":21757,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{}}}],["relationtype",{"_index":16305,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relative",{"_index":5221,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/HydraSsoService.html":{}}}],["relative.org",{"_index":6529,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["release",{"_index":26193,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["released",{"_index":25105,"title":{},"body":{"license.html":{}}}],["releasing",{"_index":25097,"title":{},"body":{"license.html":{}}}],["relevant",{"_index":25252,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["relicensing",{"_index":25106,"title":{},"body":{"license.html":{}}}],["reload",{"_index":18165,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relying",{"_index":25481,"title":{},"body":{"license.html":{}}}],["remain",{"_index":25305,"title":{},"body":{"license.html":{}}}],["remains",{"_index":25063,"title":{},"body":{"license.html":{}}}],["remapprotectedentityfields",{"_index":2442,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["remapprotectedentityfields(domainobject",{"_index":2467,"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":{}}}],["remember",{"_index":169,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remember_for",{"_index":170,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remembered",{"_index":6293,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rememberfor",{"_index":6291,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["remote",{"_index":25527,"title":{},"body":{"license.html":{}}}],["remotely",{"_index":25529,"title":{},"body":{"license.html":{}}}],["removal",{"_index":13501,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{}}}],["remove",{"_index":1939,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"interfaces/CopyFileDO.html":{},"entities/CourseNews.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"classes/KeycloakConsole.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["remove_creatorid_of_files",{"_index":7205,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["removeawarenessstates",{"_index":22875,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removeawarenessstates(doc.awareness",{"_index":22892,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removechild",{"_index":3065,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removechild(child",{"_index":3083,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removecreatorid",{"_index":11923,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["removecreatoridfromfilerecords",{"_index":12260,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["removecreatoridfromfilerecords(@rabbitpayload",{"_index":12365,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["removecreatoridfromfilerecords(creatorid",{"_index":12270,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["removecreatoridfromfilerecords(payload",{"_index":12343,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["removecreatoridfromfilerecords:finished",{"_index":12463,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["removecreatoridfromfilerecords:started",{"_index":12461,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["removed",{"_index":80,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/RpcMessageProducer.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"classes/WsSharedDocDo.html":{}}}],["removed.foreach((clientid",{"_index":24792,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["removedeletedreferences(boardelementtargets",{"_index":3001,"title":{},"body":{"entities/Board.html":{}}}],["removedirrecursive",{"_index":12121,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removedirrecursive(folderpath",{"_index":12146,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removeemptyobjectsfromresponse",{"_index":19728,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeemptyobjectsfromresponse(response",{"_index":19741,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeexternalgroupsandaffiliation",{"_index":17742,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removeexternalgroupsandaffiliation(externaluserid",{"_index":17762,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removefeature",{"_index":15444,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefeature(schoolid",{"_index":15456,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefromposition",{"_index":8456,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removefromposition(position",{"_index":8492,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removefromwhitelist",{"_index":14491,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removefromwhitelist(accountid",{"_index":14501,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removegroupmoderator(groupname",{"_index":1138,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["removejwtfromwhitelist",{"_index":1692,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removejwtfromwhitelist(jwttoken",{"_index":1707,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removematch",{"_index":14006,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removematch(urlparams",{"_index":14020,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removepermissionsbyrefid(refid",{"_index":11649,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["removeprotectedentityfields",{"_index":2443,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["removeprotectedentityfields(entitydata",{"_index":2470,"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":12746,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereference(reference",{"_index":8506,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex",{"_index":12747,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex(index",{"_index":8505,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removeroomsnotinlist",{"_index":8457,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removeroomsnotinlist(roomlist",{"_index":8494,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removes",{"_index":5403,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["removesecrets(collectionname",{"_index":5414,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromstorageproviders(storageproviders",{"_index":5417,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromsystems(systems",{"_index":5421,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removestudent(userid",{"_index":7791,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["removesubstitutionteacher(userid",{"_index":7627,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeteacher(userid",{"_index":7625,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeuser",{"_index":4587,"title":{},"body":{"classes/Class.html":{},"classes/Group.html":{}}}],["removeuser(user",{"_index":12776,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["removeuser(userid",{"_index":4596,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["removeuserids",{"_index":16945,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserids.tostring",{"_index":16949,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserpermissionstoanyfiles",{"_index":12222,"title":{},"body":{"injectables/FilesService.html":{}}}],["removeuserpermissionstoanyfiles(userid",{"_index":12230,"title":{},"body":{"injectables/FilesService.html":{}}}],["rename",{"_index":10771,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["renamebodyparams",{"_index":3236,"title":{"classes/RenameBodyParams.html":{}},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/RenameBodyParams.html":{}}}],["renamed",{"_index":16927,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["renamefileparams",{"_index":7281,"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":8819,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["renamegroupondashboard(dashboardid",{"_index":8825,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["rendered",{"_index":25569,"title":{},"body":{"license.html":{}}}],["reorderboardelements",{"_index":19445,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderboardelements(roomid",{"_index":19450,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderelements(ids",{"_index":2979,"title":{},"body":{"entities/Board.html":{}}}],["reordering",{"_index":2991,"title":{},"body":{"entities/Board.html":{}}}],["repair",{"_index":25559,"title":{},"body":{"license.html":{}}}],["repeat",{"_index":25840,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["repeatcommand",{"_index":14807,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["repeatcommand(commandname",{"_index":4964,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["repeats",{"_index":16280,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["repetitions",{"_index":4965,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["replace",{"_index":1995,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/ReferencesService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["replace('exception",{"_index":12720,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["replace(/\\\\n/g",{"_index":15316,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["replaced",{"_index":1922,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/UserBoardRoles.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["replacement",{"_index":5409,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["replacemypassword",{"_index":320,"title":{},"body":{"controllers/AccountController.html":{}}}],["replacemypassword(currentuser",{"_index":353,"title":{},"body":{"controllers/AccountController.html":{}}}],["replicaset",{"_index":26312,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replikaset",{"_index":25645,"title":{},"body":{"todo.html":{}}}],["replset",{"_index":26316,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["reply",{"_index":22924,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["replyto",{"_index":1458,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["repo",{"_index":2636,"title":{},"body":{"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"injectables/GroupService.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LegacySchoolModule.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearService.html":{},"injectables/SubmissionItemService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["repo.integration.spec",{"_index":7958,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["repo.integration.spec.js",{"_index":26185,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repo.mapper",{"_index":20361,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["repo.mapper.ts",{"_index":20377,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["repo.mapper.ts:23",{"_index":20380,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["repo.mapper.ts:7",{"_index":20379,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["repo.ts",{"_index":25923,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["repo/account.repo",{"_index":676,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["repo/deletion",{"_index":9356,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["repo/share",{"_index":20820,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["repo/temporary",{"_index":22496,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["repo/tldraw.repo",{"_index":22761,"title":{},"body":{"modules/TldrawModule.html":{},"injectables/TldrawService.html":{}}}],["repoloader",{"_index":18828,"title":{"interfaces/RepoLoader.html":{}},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.populate",{"_index":18855,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.repo.findbyid(objectid",{"_index":18856,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["report",{"_index":8865,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reported",{"_index":26016,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["reporting",{"_index":26225,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reports",{"_index":26196,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repos",{"_index":6086,"title":{},"body":{"modules/CommonToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/VideoConferenceModule.html":{}}}],["repositories",{"_index":25627,"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":15629,"title":{},"body":{"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/PseudonymService.html":{},"index.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["repository.createorupdate(pseudonym",{"_index":18482,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repository.findbyuseridandtoolid(user.id",{"_index":18481,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repotype",{"_index":18829,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["represent",{"_index":25335,"title":{},"body":{"license.html":{}}}],["representation",{"_index":626,"title":{},"body":{"injectables/AccountLookupService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["represents",{"_index":6314,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["req",{"_index":12067,"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":18956,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.header('range",{"_index":12540,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.headers.authorization",{"_index":17661,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["req.headers.origin",{"_index":24459,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["req.method",{"_index":18955,"title":{},"body":{"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{}}}],["req.on('close",{"_index":12079,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["req.params",{"_index":18996,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.params[0]}/${params.fwulearningcontent",{"_index":12541,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.query",{"_index":18997,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.route.path",{"_index":18960,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.url",{"_index":18995,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.user",{"_index":18994,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["reqinfo",{"_index":18969,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.baseurl",{"_index":18974,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.fullpath",{"_index":18975,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.method",{"_index":18973,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.routepath",{"_index":18976,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqroute",{"_index":18950,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["request",{"_index":193,"title":{},"body":{"classes/AcceptQuery.html":{},"controllers/AccountController.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/FileRequestInfo.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ILegacyLogger.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/JwtExtractor.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RpcMessageProducer.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SystemFilterParams.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TokenRequestLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["request's",{"_index":9121,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request'})@apiresponse({status",{"_index":5097,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{}}}],["request(event",{"_index":12447,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["request(s",{"_index":9128,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request.body",{"_index":15238,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["request.body.params.ts",{"_index":9403,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:11",{"_index":9408,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:20",{"_index":9406,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.ts",{"_index":165,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["request.body.ts:10",{"_index":6282,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:14",{"_index":15975,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:20",{"_index":6289,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:24",{"_index":15976,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:30",{"_index":6295,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.contextid",{"_index":6937,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.contexttype",{"_index":6938,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.displayname",{"_index":6939,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.do",{"_index":9437,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["request.do.ts",{"_index":9385,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["request.do.ts:15",{"_index":9387,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:19",{"_index":9388,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:23",{"_index":9390,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:27",{"_index":9392,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:31",{"_index":9394,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:35",{"_index":9396,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.entity.ts",{"_index":9414,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["request.entity.ts:22",{"_index":9416,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:25",{"_index":9419,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:28",{"_index":9418,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:31",{"_index":9417,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.factory.ts",{"_index":9434,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.factory.ts:8",{"_index":9436,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.mapper",{"_index":9503,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["request.mapper.ts",{"_index":6926,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:115",{"_index":10834,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:119",{"_index":10841,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:125",{"_index":10845,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:131",{"_index":10848,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:137",{"_index":10852,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:143",{"_index":10838,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:160",{"_index":10856,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:17",{"_index":9468,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:172",{"_index":10832,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:21",{"_index":22984,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:22",{"_index":6933,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:5",{"_index":9467,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["request.mapper.ts:6",{"_index":22982,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:60",{"_index":10861,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:7",{"_index":6930,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:8",{"_index":20033,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:88",{"_index":10828,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.repo",{"_index":9357,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["request.repo.ts",{"_index":9482,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:11",{"_index":9486,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:14",{"_index":9501,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:18",{"_index":9494,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:28",{"_index":9488,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:34",{"_index":9492,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:49",{"_index":9500,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:56",{"_index":9496,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:67",{"_index":9498,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:78",{"_index":9490,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.response.ts",{"_index":9523,"title":{},"body":{"classes/DeletionRequestResponse.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:10",{"_index":23283,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:16",{"_index":23287,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:23",{"_index":23285,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:30",{"_index":23282,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:5",{"_index":9525,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.response.ts:8",{"_index":9524,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.schoolid",{"_index":20037,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.schooltoolid",{"_index":6936,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.service",{"_index":9355,"title":{},"body":{"modules/DeletionModule.html":{}}}],["request.service.ts",{"_index":9535,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:12",{"_index":9541,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:33",{"_index":9545,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:39",{"_index":9544,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:45",{"_index":9549,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:49",{"_index":9546,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:53",{"_index":9547,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:57",{"_index":9542,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:9",{"_index":9539,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.toolid",{"_index":20036,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.toolversion",{"_index":6940,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.ts",{"_index":23275,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:10",{"_index":23276,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:4",{"_index":23277,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:6",{"_index":23279,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:8",{"_index":23278,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.url.replace(/(\\/)|(tldraw",{"_index":22821,"title":{},"body":{"classes/TldrawWs.html":{}}}],["request.user.user",{"_index":25633,"title":{},"body":{"todo.html":{}}}],["request.version",{"_index":20038,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request/bbb",{"_index":2288,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["request/response",{"_index":25981,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["request_denied",{"_index":6300,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["request_url",{"_index":6325,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestauthcode",{"_index":13563,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthcode(jwt",{"_index":13573,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthtoken",{"_index":17639,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestauthtoken(currentuser",{"_index":17644,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestconfig",{"_index":9126,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["requestdata",{"_index":16026,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requested",{"_index":2860,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/ConsentResponse.html":{},"classes/DeletionExecutionConsole.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/LoginResponse-1.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["requested_access_token_audience",{"_index":6326,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requested_scope",{"_index":6327,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestedprovisioningoptions",{"_index":20411,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["requesthandler",{"_index":18953,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestid",{"_index":2839,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["requestinfo",{"_index":18937,"title":{"classes/RequestInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestinfo(req",{"_index":18970,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requesting",{"_index":17171,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["requestloggingbody",{"_index":13775,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["requestlogginginterceptor",{"_index":18986,"title":{"injectables/RequestLoggingInterceptor.html":{}},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["requestmapper",{"_index":23462,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["requestoptions",{"_index":16024,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requests",{"_index":9156,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/InterceptorModule.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"classes/VideoConferenceOptionsResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requests.controller",{"_index":9067,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["requests.controller.ts",{"_index":9565,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:23",{"_index":9576,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:39",{"_index":9582,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:51",{"_index":9572,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requesttimeout",{"_index":19399,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TimeoutInterceptor.html":{}}}],["requesttimeout(serverconfig().incoming_request_timeout_copy_api",{"_index":19414,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["requesttimeoutexception",{"_index":22610,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["requesttoken",{"_index":1309,"title":{},"body":{"injectables/AntivirusService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{}}}],["requesttoken(code",{"_index":17018,"title":{},"body":{"injectables/OAuthService.html":{}}}],["requesturl",{"_index":6349,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["require",{"_index":5363,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["require('../../../../../src/services/authentication/configuration",{"_index":14443,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["require('../../../../config/globals",{"_index":12657,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["require('rimraf",{"_index":12159,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["require_tld",{"_index":24491,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["required",{"_index":194,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileMetadata.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/IdParams.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"interfaces/Options.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["required.'})@apiresponse({status",{"_index":332,"title":{},"body":{"controllers/AccountController.html":{}}}],["requiredemptyelement",{"_index":4518,"title":{},"body":{"injectables/CardService.html":{}}}],["requiredemptyelements",{"_index":4484,"title":{},"body":{"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{},"classes/CreateCardBodyParams.html":{}}}],["requiredentitydata",{"_index":2480,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["requiredextensions",{"_index":11734,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["requiredpermissions",{"_index":1778,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/LessonRule.html":{},"injectables/NewsUc.html":{},"injectables/PermissionService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requiredpermissions.every((p",{"_index":1824,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.length",{"_index":1837,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.some((p",{"_index":1839,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["requireduserrole",{"_index":2671,"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":3440,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["requirement",{"_index":14715,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"license.html":{}}}],["requirements",{"_index":25307,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["requires",{"_index":10596,"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":25122,"title":{},"body":{"license.html":{}}}],["res",{"_index":7640,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"classes/MetadataTypeMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"controllers/ToolController.html":{}}}],["res.contenttype",{"_index":12082,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.cookie",{"_index":1621,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["res.data.destroy",{"_index":12080,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.files.length",{"_index":19632,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["res.send(externaltoollogo.logo",{"_index":23202,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.set",{"_index":12543,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.setheader('cache",{"_index":23199,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.setheader('content",{"_index":23198,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.status(httpstatus.ok",{"_index":12549,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.status(httpstatus.partial_content",{"_index":12548,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.statuscode",{"_index":18963,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resave",{"_index":20603,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["reset",{"_index":270,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["resetlastauthorizationtime",{"_index":14549,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["resetoauthconfigcache",{"_index":14822,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resinfo",{"_index":18971,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resinfo.statuscode",{"_index":18977,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resizeandconvert",{"_index":18070,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resizeandconvert(original",{"_index":18080,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resolve",{"_index":6303,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/PermissionService.html":{},"classes/TestConnection.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["resolve(client",{"_index":15205,"title":{},"body":{"injectables/LdapService.html":{}}}],["resolved",{"_index":3310,"title":{},"body":{"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{}}}],["resolvedgroup",{"_index":13001,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource",{"_index":13020,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.externalid",{"_index":13021,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.systemid",{"_index":13022,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.id",{"_index":13017,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.name",{"_index":13018,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.organizationid",{"_index":13028,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.users.map",{"_index":13023,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroupdto",{"_index":12827,"title":{"classes/ResolvedGroupDto.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["resolvedgroupuser",{"_index":13093,"title":{"classes/ResolvedGroupUser.html":{}},"body":{"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["resolvedgroupusers",{"_index":13097,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedtools",{"_index":11047,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolvedtools.filter((tool",{"_index":11054,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolveduser",{"_index":23607,"title":{},"body":{"controllers/UserController.html":{},"injectables/UserService.html":{}}}],["resolvedusermapper",{"_index":19011,"title":{"classes/ResolvedUserMapper.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"controllers/UserController.html":{}}}],["resolvedusermapper.maptoresponse(user",{"_index":23608,"title":{},"body":{"controllers/UserController.html":{}}}],["resolveduserresponse",{"_index":19015,"title":{"classes/ResolvedUserResponse.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"controllers/UserController.html":{}}}],["resolvedusers",{"_index":13092,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedusers.filter((groupuser",{"_index":13107,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvepermissions",{"_index":17952,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["resolvepermissions(user",{"_index":17956,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles",{"_index":17953,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles(inputroles",{"_index":17960,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolveplaceholder(placeholder",{"_index":5384,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["resolverepo",{"_index":18819,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["resolverepo(type",{"_index":18826,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["resolves",{"_index":14206,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["resolvetokenrequest",{"_index":17115,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resolvetokenrequest(observable",{"_index":17121,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resource",{"_index":5877,"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":23147,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.caninline",{"_index":5893,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resource.ts",{"_index":5911,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:15",{"_index":6059,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:16",{"_index":5913,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:18",{"_index":6060,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:19",{"_index":5914,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:22",{"_index":6054,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:23",{"_index":5915,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:26",{"_index":6055,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:30",{"_index":6056,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:61",{"_index":6061,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:81",{"_index":5916,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource_link_id",{"_index":8160,"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":6053,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceelements",{"_index":6051,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourcename",{"_index":16975,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourceownerpasswordgrant",{"_index":13898,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceownerpasswordgrant(username",{"_index":13901,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceprops",{"_index":5797,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resources",{"_index":5795,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resp",{"_index":9109,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.data",{"_index":2401,"title":{},"body":{"injectables/BBBService.html":{},"injectables/DeletionClient.html":{}}}],["resp.data.deletionplannedat",{"_index":9123,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.data.requestid",{"_index":9117,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.everyattendeejoinsmuted",{"_index":24699,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.everybodyjoinsasmoderator",{"_index":24700,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.moderatormustapprovejoinrequests",{"_index":24701,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.options",{"_index":9622,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.permission",{"_index":9614,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["resp.state",{"_index":9612,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.status",{"_index":9113,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.url",{"_index":9617,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["respect",{"_index":25231,"title":{},"body":{"license.html":{}}}],["respective",{"_index":26020,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["respobservable",{"_index":13717,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["respond",{"_index":25666,"title":{},"body":{"todo.html":{}}}],["responds",{"_index":16604,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["responsability",{"_index":25842,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response",{"_index":871,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/ClassInfoSearchListResponse.html":{},"controllers/ColumnController.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileListResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"controllers/ToolSchoolController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["response.access_token",{"_index":22988,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.authorization_endpoint",{"_index":14842,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.body",{"_index":1684,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.builder.ts",{"_index":7298,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.builder.ts:4",{"_index":7300,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["response.builder.ts:5",{"_index":9465,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.config",{"_index":10935,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.contentlength",{"_index":12554,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contentrange",{"_index":12547,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contenttype",{"_index":12552,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contextid",{"_index":6960,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.contexttype",{"_index":6961,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.data",{"_index":11552,"title":{},"body":{"classes/FileDtoBuilder.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/HydraOauthUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["response.data.access_token",{"_index":14853,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.data.destroy",{"_index":12550,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.deletionplannedat",{"_index":9460,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["response.displayname",{"_index":6962,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.dto",{"_index":25858,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response.end_session_endpoint",{"_index":14843,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.error",{"_index":1678,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.factory",{"_index":4471,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.factory.ts",{"_index":2113,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:14",{"_index":2119,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:16",{"_index":2121,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:18",{"_index":2122,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:19",{"_index":6431,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:20",{"_index":2120,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:22",{"_index":2117,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:28",{"_index":6434,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:40",{"_index":6433,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.headers['content",{"_index":11548,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["response.id",{"_index":6957,"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":22986,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.ishidden",{"_index":10936,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.issuer",{"_index":14840,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwks_uri",{"_index":14844,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwt",{"_index":16988,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.length",{"_index":12281,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["response.logourl",{"_index":6965,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.mapper",{"_index":4029,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolResponseMapper.html":{},"modules/LearnroomApiModule.html":{},"controllers/LoginController.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"controllers/SystemController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["response.mapper.ts",{"_index":829,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:10",{"_index":9707,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["response.mapper.ts:12",{"_index":21209,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:120",{"_index":19801,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:13",{"_index":16004,"title":{},"body":{"classes/LoginResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:14",{"_index":21210,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:15",{"_index":19295,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:16",{"_index":833,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:17",{"_index":19110,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:18",{"_index":9708,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:19",{"_index":17588,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:20",{"_index":12994,"title":{},"body":{"classes/GroupResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:21",{"_index":6971,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:22",{"_index":21213,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:23",{"_index":17582,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:27",{"_index":10356,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:28",{"_index":19108,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:29",{"_index":9706,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:32",{"_index":15821,"title":{},"body":{"classes/LinkElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:33",{"_index":21115,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:34",{"_index":20049,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:36",{"_index":19794,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:38",{"_index":6977,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:39",{"_index":12997,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:40",{"_index":17585,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:44",{"_index":10956,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:46",{"_index":6974,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:47",{"_index":19299,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:49",{"_index":21215,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:5",{"_index":16002,"title":{},"body":{"classes/LoginResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["response.mapper.ts:54",{"_index":13000,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:56",{"_index":19804,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:6",{"_index":835,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:68",{"_index":19798,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:7",{"_index":4028,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:72",{"_index":10947,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:73",{"_index":19298,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:76",{"_index":10952,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:8",{"_index":9705,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:80",{"_index":10954,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:84",{"_index":10950,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:86",{"_index":19796,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:9",{"_index":19109,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:93",{"_index":19297,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.message",{"_index":19477,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["response.metadata",{"_index":13366,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["response.name",{"_index":10933,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.opennewtab",{"_index":10937,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.parameters",{"_index":6963,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.redirect",{"_index":16989,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.refresh_token",{"_index":22987,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.requestid",{"_index":9527,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["response.restricttocontexts",{"_index":10939,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.schoolid",{"_index":20042,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.schooltoolid",{"_index":6959,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.set",{"_index":7662,"title":{},"body":{"controllers/CourseController.html":{}}}],["response.sourceid",{"_index":12312,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["response.state",{"_index":24619,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["response.statistics",{"_index":9462,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.status",{"_index":20043,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.status(errorresponse.code).json(errorresponse",{"_index":12703,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["response.subject",{"_index":17400,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["response.targetref",{"_index":9458,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.token_endpoint",{"_index":14841,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.toolid",{"_index":18432,"title":{},"body":{"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.toolversion",{"_index":6964,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.ts",{"_index":18530,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:10",{"_index":18535,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:11",{"_index":19682,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:12",{"_index":19675,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.ts:13",{"_index":19705,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:16",{"_index":19684,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["response.ts:17",{"_index":18536,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:18",{"_index":19717,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:19",{"_index":19703,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:22",{"_index":19687,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["response.ts:24",{"_index":18533,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:31",{"_index":18534,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:39",{"_index":18532,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:5",{"_index":19698,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["response.ts:6",{"_index":19665,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:7",{"_index":19704,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:8",{"_index":19693,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{}}}],["response.ts:9",{"_index":19672,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.url",{"_index":10934,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.userid",{"_index":18433,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["response.version",{"_index":10938,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response?.data",{"_index":1175,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["response].ts",{"_index":25917,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["response_type",{"_index":13652,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["response_types",{"_index":17156,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["responsedata",{"_index":17138,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsefilerecords",{"_index":11949,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["responseinfo",{"_index":18961,"title":{"classes/ResponseInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responseinfo(res",{"_index":18972,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsejson",{"_index":1187,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.authtoken",{"_index":1189,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.userid",{"_index":1188,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsemapper",{"_index":19729,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"controllers/ToolSchoolController.html":{}}}],["responses",{"_index":13148,"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":18952,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetime((req",{"_index":18982,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetoken",{"_index":17048,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["responsetoken.data",{"_index":17143,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetokenobservable",{"_index":17136,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetype",{"_index":10475,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["responsibilities",{"_index":25978,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["responsibility",{"_index":25808,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["responsible",{"_index":25434,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ressouces",{"_index":26448,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressource",{"_index":26449,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressources",{"_index":23348,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{}}}],["resssource",{"_index":25667,"title":{},"body":{"todo.html":{}}}],["rest",{"_index":9818,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["restart",{"_index":23810,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restarted",{"_index":23812,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["restartmigration",{"_index":19035,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(@currentuser",{"_index":23883,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(currentuser",{"_index":23833,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(userid",{"_index":19036,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["restartmigration(userloginmigration",{"_index":24044,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["restartuserloginmigrationuc",{"_index":19033,"title":{"injectables/RestartUserLoginMigrationUc.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["restmethod",{"_index":26290,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["restore",{"_index":19530,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"controllers/TaskController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["restore(@param",{"_index":21825,"title":{},"body":{"controllers/TaskController.html":{}}}],["restore(paths",{"_index":19553,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["restore(urlparams",{"_index":21800,"title":{},"body":{"controllers/TaskController.html":{}}}],["restored",{"_index":26176,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["restoreforuser(user",{"_index":21767,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["restricted",{"_index":7064,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"injectables/NewsUc.html":{},"classes/Path.html":{}}}],["restrictedcontextmismatchloggable",{"_index":7063,"title":{"classes/RestrictedContextMismatchLoggable.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["restrictedcontextmismatchloggable(externaltool.name",{"_index":7080,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["restricting",{"_index":25225,"title":{},"body":{"license.html":{}}}],["restriction",{"_index":25395,"title":{},"body":{"license.html":{}}}],["restrictions",{"_index":19052,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{},"license.html":{}}}],["restricttocontexts",{"_index":10143,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["result",{"_index":141,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardService.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"controllers/LessonController.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/UserController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["result.builder.ts",{"_index":9179,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:14",{"_index":9186,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:18",{"_index":9185,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:4",{"_index":9183,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.content",{"_index":21118,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["result.dto.ts",{"_index":19851,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:4",{"_index":19853,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:6",{"_index":19852,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.elements",{"_index":18668,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["result.image?.url",{"_index":16351,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["result.push",{"_index":14756,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["result.push(room",{"_index":8574,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["result.query",{"_index":20489,"title":{},"body":{"classes/Scope.html":{}}}],["result.reduce((alloweddos",{"_index":4571,"title":{},"body":{"injectables/CardUc.html":{}}}],["result.success",{"_index":9015,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["result.ts",{"_index":9176,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["result?.length",{"_index":144,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["result[sortby",{"_index":14131,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["resultelement",{"_index":8554,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["resulting",{"_index":25091,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resultmap",{"_index":18597,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["results",{"_index":103,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["results.foreach((result",{"_index":9014,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["results.map",{"_index":2493,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["results.map((account",{"_index":14909,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["results.push(mapped",{"_index":9780,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["results[1",{"_index":147,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["resultuser",{"_index":24219,"title":{},"body":{"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ret",{"_index":14921,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySchoolService.html":{}}}],["ret.attdbcaccountid",{"_index":14929,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcsystemid",{"_index":14925,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcuserid",{"_index":14927,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["retaccountid",{"_index":14967,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["retains",{"_index":25352,"title":{},"body":{"license.html":{}}}],["retried",{"_index":4914,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrieve",{"_index":16608,"title":{},"body":{"controllers/NewsController.html":{}}}],["retrieving",{"_index":9580,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["retry",{"_index":4912,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrycount",{"_index":4900,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrydelay",{"_index":4901,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryflags",{"_index":4909,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryoptions",{"_index":4899,"title":{"interfaces/RetryOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["return",{"_index":148,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["returncode",{"_index":2152,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["returned",{"_index":534,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/ListOauthClientsParams.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returned.'})@apiokresponse({description",{"_index":23826,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["returnedfiles",{"_index":19622,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["returning",{"_index":7179,"title":{},"body":{"classes/CopyApiResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returns",{"_index":35,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["retvalue",{"_index":26099,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["reuse",{"_index":6285,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["reused",{"_index":25931,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["revalidate",{"_index":23201,"title":{},"body":{"controllers/ToolController.html":{}}}],["revert.service.ts",{"_index":24007,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:14",{"_index":24011,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:8",{"_index":24009,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["reverted",{"_index":23816,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["revertpublished",{"_index":21785,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["revertpublished(urlparams",{"_index":21803,"title":{},"body":{"controllers/TaskController.html":{}}}],["revertpublished(userid",{"_index":22202,"title":{},"body":{"injectables/TaskUC.html":{}}}],["revertuserloginmigration",{"_index":24008,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revertuserloginmigration(userloginmigration",{"_index":24010,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["review",{"_index":26239,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reviewers",{"_index":25022,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["reviewing",{"_index":25579,"title":{},"body":{"license.html":{}}}],["revised",{"_index":25535,"title":{},"body":{"license.html":{}}}],["revokeconsentparams",{"_index":17440,"title":{"classes/RevokeConsentParams.html":{}},"body":{"controllers/OauthProviderController.html":{},"classes/RevokeConsentParams.html":{}}}],["revokeconsentsession",{"_index":17410,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["revokeconsentsession(@currentuser",{"_index":17501,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(currentuser",{"_index":17439,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(user",{"_index":17618,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["revokeconsentsession(userid",{"_index":17632,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["revokematch",{"_index":13998,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["rewindsequence",{"_index":513,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["rfc6749",{"_index":17170,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["rfp",{"_index":9369,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["rich",{"_index":3158,"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":19056,"title":{"classes/RichText.html":{}},"body":{"classes/RichText.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["richtextcontentbody",{"_index":6508,"title":{"classes/RichTextContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelement",{"_index":3146,"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":18783,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.inputformat",{"_index":6538,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.text",{"_index":6535,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelementcontent",{"_index":19088,"title":{"classes/RichTextElementContent.html":{}},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementcontentbody",{"_index":9647,"title":{"classes/RichTextElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelementnode",{"_index":3512,"title":{"entities/RichTextElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementnodefactory",{"_index":3853,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodefactory.build",{"_index":3876,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodeprops",{"_index":19098,"title":{"interfaces/RichTextElementNodeProps.html":{}},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementprops",{"_index":19086,"title":{"interfaces/RichTextElementProps.html":{}},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["richtextelementresponse",{"_index":4067,"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":6443,"title":{"classes/RichTextElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementresponsemapper.getinstance",{"_index":6427,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["richtextelementresponsemapper.instance",{"_index":19112,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["richtext})@decodehtmlentities",{"_index":22093,"title":{},"body":{"classes/TaskResponse.html":{}}}],["rid",{"_index":5469,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["right",{"_index":25346,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rights",{"_index":25075,"title":{},"body":{"license.html":{}}}],["rimraf",{"_index":12158,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"dependencies.html":{}}}],["rimraf.sync(folderpath",{"_index":12173,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["risk",{"_index":25553,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rmq",{"_index":12693,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["ro",{"_index":1073,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocket",{"_index":19119,"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":26311,"title":{"additional-documentation/nestjs-application/rocket.chat.html":{}},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat",{"_index":19916,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["rocket_chat_admin_password=huhudbildungscloud",{"_index":26361,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_admin_user=admin",{"_index":26360,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_options",{"_index":19121,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["rocket_chat_uri=\"http://localhost:3000",{"_index":26359,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat",{"_index":1082,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat_service_enabled=true",{"_index":26358,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchaterror",{"_index":1079,"title":{"classes/RocketChatError.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror(e",{"_index":1174,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror.prototype",{"_index":1099,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatgroupmodel",{"_index":1064,"title":{"interfaces/RocketChatGroupModel.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatmodule",{"_index":9053,"title":{"modules/RocketChatModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatmodule.forroot",{"_index":9069,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatoptions",{"_index":1059,"title":{"interfaces/RocketChatOptions.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatservice",{"_index":1108,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatuser",{"_index":19122,"title":{"classes/RocketChatUser.html":{}},"body":{"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatuserentity",{"_index":19140,"title":{"entities/RocketChatUserEntity.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatuserentityfactory",{"_index":19155,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserentityprops",{"_index":19146,"title":{"interfaces/RocketChatUserEntityProps.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory",{"_index":19152,"title":{"classes/RocketChatUserFactory.html":{}},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory.define(rocketchatuserentity",{"_index":19156,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatusermapper",{"_index":19158,"title":{"classes/RocketChatUserMapper.html":{}},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermapper.maptodo(entity",{"_index":19187,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermodule",{"_index":9054,"title":{"modules/RocketChatUserModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatUserModule.html":{}}}],["rocketchatuserprops",{"_index":19136,"title":{"interfaces/RocketChatUserProps.html":{}},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rocketchatuserrepo",{"_index":19175,"title":{"injectables/RocketChatUserRepo.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatusers",{"_index":19147,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["rocketchatuserservice",{"_index":19174,"title":{"injectables/RocketChatUserService.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{}}}],["role",{"_index":331,"title":{"entities/Role.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AuthorizationHelper.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/CurrentUserMapper.html":{},"classes/FilterImportUserParams.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/JwtStrategy.html":{},"classes/LdapConfigEntity.html":{},"interfaces/NameMatch.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/PermissionService.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["role.entity",{"_index":22286,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.factory",{"_index":23776,"title":{},"body":{"classes/UserFactory.html":{}}}],["role.id",{"_index":8123,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["role.mapper.ts",{"_index":16076,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.mapper.ts:13",{"_index":16079,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.name",{"_index":5057,"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":5108,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["role.params.ts",{"_index":22360,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:11",{"_index":22361,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:7",{"_index":22362,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.resolvepermissions",{"_index":1827,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.roles.isinitialized(true",{"_index":22439,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roleadmin",{"_index":15135,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleattributenamemapping",{"_index":15132,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roledto",{"_index":5026,"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":19273,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolefactory",{"_index":22410,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["rolefactory.build",{"_index":22414,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["rolefactory.buildwithid",{"_index":22416,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["roleid",{"_index":5143,"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":23739,"title":{},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["rolemapper",{"_index":19215,"title":{"classes/RoleMapper.html":{}},"body":{"classes/RoleMapper.html":{},"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(entities",{"_index":19280,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(roles",{"_index":19278,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitytodto(entity",{"_index":19276,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapping",{"_index":16081,"title":{},"body":{"classes/LtiRoleMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["rolemapping[rolename",{"_index":16089,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolemapping[source.personenkontexte[0].rolle",{"_index":19828,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["rolemodule",{"_index":1524,"title":{"modules/RoleModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"modules/ProvisioningModule.html":{},"modules/RoleModule.html":{},"modules/UserModule.html":{}}}],["rolename",{"_index":5056,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.administrator",{"_index":13967,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserFactory.html":{}}}],["rolename.enum",{"_index":26455,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["rolename.student",{"_index":11443,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.superhero",{"_index":16086,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolename.teacher",{"_index":11442,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.user",{"_index":16082,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenamemapper",{"_index":14127,"title":{"classes/RoleNameMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/RoleNameMapper.html":{}}}],["rolenamemapper.maptodomain(query.role",{"_index":14154,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenamemapper.maptoresponse(role",{"_index":14137,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenames",{"_index":13947,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["rolenames.map((rolename",{"_index":16088,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenosc",{"_index":15136,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["rolepermissions",{"_index":23571,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roleproperties",{"_index":19202,"title":{"interfaces/RoleProperties.html":{}},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["roleref",{"_index":24330,"title":{},"body":{"injectables/UserService.html":{}}}],["roleref.id",{"_index":8126,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["roleref.name",{"_index":14415,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["rolereference",{"_index":8120,"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":17785,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolerepo",{"_index":19230,"title":{"injectables/RoleRepo.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["roles",{"_index":3436,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/IservMapper.html":{},"interfaces/JwtPayload.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["roles.foreach((role",{"_index":23570,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roles.length",{"_index":17844,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["roles.map((role",{"_index":17788,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{}}}],["roles.map(async",{"_index":22438,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roles[0].id",{"_index":17845,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolesandpermissions",{"_index":17968,"title":{},"body":{"injectables/PermissionService.html":{}}}],["roleservice",{"_index":5129,"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":15133,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleteacher",{"_index":15134,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roletype",{"_index":15128,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleuc",{"_index":19231,"title":{"injectables/RoleUc.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleUc.html":{}}}],["rollback",{"_index":19596,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["rolle",{"_index":19710,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["rollen",{"_index":19690,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["rom",{"_index":25355,"title":{},"body":{"license.html":{}}}],["room",{"_index":8467,"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":9738,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{}}}],["roomboarddtofactory",{"_index":9811,"title":{"injectables/RoomBoardDTOFactory.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["roomboardelementdto",{"_index":9736,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["roomboardelementtypes",{"_index":3764,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.column_board",{"_index":9800,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.lesson",{"_index":9789,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.task",{"_index":9785,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardresponsemapper",{"_index":15262,"title":{"injectables/RoomBoardResponseMapper.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{}}}],["roomelementurlparams",{"_index":19347,"title":{"classes/RoomElementUrlParams.html":{}},"body":{"classes/RoomElementUrlParams.html":{},"controllers/RoomsController.html":{}}}],["roomid",{"_index":1132,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/DtoCreator.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["roomlist",{"_index":8496,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["roomlist.includes(room",{"_index":8566,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["roomname",{"_index":1124,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rooms",{"_index":8471,"title":{},"body":{"classes/DashboardEntity.html":{},"controllers/RoomsController.html":{}}}],["rooms.authorisation.service",{"_index":9759,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["rooms.foreach((room",{"_index":8572,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["rooms.service",{"_index":7685,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["rooms\\/(.*?)\\/board\\/?$/i",{"_index":4182,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["rooms\\/([0",{"_index":8001,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["roomsauthorisationservice",{"_index":9720,"title":{"injectables/RoomsAuthorisationService.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{}}}],["roomscontroller",{"_index":15265,"title":{"controllers/RoomsController.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["roomsservice",{"_index":7673,"title":{"injectables/RoomsService.html":{}},"body":{"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["roomsuc",{"_index":15263,"title":{"injectables/RoomsUc.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{},"injectables/RoomsUc.html":{}}}],["roomurlparams",{"_index":19350,"title":{"classes/RoomUrlParams.html":{}},"body":{"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{}}}],["root",{"_index":2552,"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":3461,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootboarddo.context?.type",{"_index":3463,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["rooted",{"_index":6028,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["rootid",{"_index":3459,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootpath",{"_index":15060,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roster",{"_index":11355,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts",{"_index":11354,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts:103",{"_index":11383,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:140",{"_index":11378,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:148",{"_index":11387,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:156",{"_index":11376,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:166",{"_index":11380,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:172",{"_index":11375,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:202",{"_index":11394,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:214",{"_index":11398,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:225",{"_index":11396,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:235",{"_index":11391,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:56",{"_index":11373,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:66",{"_index":11389,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:81",{"_index":11385,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["route",{"_index":11297,"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":18967,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routename",{"_index":1670,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routenameinput",{"_index":22537,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routepath",{"_index":18940,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routes",{"_index":24994,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["routingkey",{"_index":1274,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["royalty",{"_index":25449,"title":{},"body":{"license.html":{}}}],["rp",{"_index":17275,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["rpc",{"_index":19474,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["rpcmessage",{"_index":12347,"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":12434,"title":{"classes/RpcMessageProducer.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer:12",{"_index":12448,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:21",{"_index":12444,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:29",{"_index":12446,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rs.initiate({\"_id",{"_index":26320,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs0",{"_index":26317,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs256",{"_index":1573,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["rs384",{"_index":1574,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rs512",{"_index":1575,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rsa",{"_index":17128,"title":{},"body":{"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["rss",{"_index":7879,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["rule",{"_index":1986,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rule(val",{"_index":6162,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["rule.haspermission(user",{"_index":1992,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["rule.isapplicable(user",{"_index":19516,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rulemanager",{"_index":1873,"title":{"injectables/RuleManager.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationService.html":{},"injectables/RuleManager.html":{}}}],["rules",{"_index":1886,"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":19518,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rules[0",{"_index":19520,"title":{},"body":{"injectables/RuleManager.html":{}}}],["run",{"_index":11725,"title":{},"body":{"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runnable",{"_index":11733,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["runner",{"_index":26126,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["running",{"_index":2313,"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":24438,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["runs",{"_index":24984,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runtime",{"_index":1564,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["rxjs",{"_index":1056,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TimeoutInterceptor.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":1058,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["s",{"_index":1751,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["s3",{"_index":9001,"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":19567,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3_config",{"_index":19568,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3client",{"_index":8990,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["s3clientadapter",{"_index":12577,"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":19656,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["s3clientadapter:createbucket",{"_index":19576,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:deletedirectory",{"_index":19642,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:head",{"_index":19635,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:listdirectory",{"_index":19619,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientmap",{"_index":8978,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["s3clientmodule",{"_index":12413,"title":{"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{}}}],["s3clientmodule.register",{"_index":26491,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3config",{"_index":12426,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3configcontent",{"_index":13405,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3clientmodule.register([storageconfig",{"_index":18057,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["s3config",{"_index":7306,"title":{"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3configcontent",{"_index":13398,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3configlibraries",{"_index":13399,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["safest",{"_index":25592,"title":{},"body":{"license.html":{}}}],["safety",{"_index":25003,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sale",{"_index":25457,"title":{},"body":{"license.html":{}}}],["salt",{"_index":2334,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["same",{"_index":2345,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LibraryRepo.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sameschool",{"_index":11290,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["samesite",{"_index":20612,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["saml",{"_index":26254,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["sample",{"_index":11480,"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":26137,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["samples",{"_index":25948,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservice",{"_index":26138,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservicemethod(username",{"_index":26026,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["sampleucmethod(user",{"_index":25993,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["sanis",{"_index":19676,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["sanis_client_id",{"_index":25713,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sanisanschriftresponse",{"_index":19661,"title":{"classes/SanisAnschriftResponse.html":{}},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["sanisgeburtresponse",{"_index":19666,"title":{"classes/SanisGeburtResponse.html":{}},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisgrouprole",{"_index":19691,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisgrouprole.student",{"_index":19812,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouprole.teacher",{"_index":19811,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype",{"_index":19673,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.class",{"_index":19814,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.course",{"_index":19815,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.other",{"_index":19816,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenresponse",{"_index":19677,"title":{"classes/SanisGruppenResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenzugehoerigkeitresponse",{"_index":19683,"title":{"classes/SanisGruppenzugehoerigkeitResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["sanisgrupperesponse",{"_index":19669,"title":{"classes/SanisGruppeResponse.html":{}},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["sanisnameresponse",{"_index":19695,"title":{"classes/SanisNameResponse.html":{}},"body":{"classes/SanisNameResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisorganisationresponse",{"_index":19699,"title":{"classes/SanisOrganisationResponse.html":{}},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["sanispersonenkontextresponse",{"_index":19708,"title":{"classes/SanisPersonenkontextResponse.html":{}},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["sanispersonresponse",{"_index":19706,"title":{"classes/SanisPersonResponse.html":{}},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{}}}],["sanisprovisioningstrategy",{"_index":18269,"title":{"injectables/SanisProvisioningStrategy.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponse",{"_index":19734,"title":{"classes/SanisResponse.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsemapper",{"_index":18270,"title":{"injectables/SanisResponseMapper.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsevalidationgroups",{"_index":19720,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisresponsevalidationgroups.groups",{"_index":19722,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.school",{"_index":19723,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.user",{"_index":19721,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisrole",{"_index":19718,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lehr",{"_index":19806,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.leit",{"_index":19808,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lern",{"_index":19807,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.orgadmin",{"_index":19809,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanissonstigegruppenzugehoerigeresponse",{"_index":13033,"title":{"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"classes/SanisGruppenResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisstrategy",{"_index":18311,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["sanissystem",{"_index":24064,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanissystem.id",{"_index":24068,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanitize",{"_index":24949,"title":{},"body":{"dependencies.html":{}}}],["sanitizehtml",{"_index":8091,"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_ck5",{"_index":21921,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sanitizehtml(inputformat.rich_text_ck5_simple",{"_index":8092,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizer",{"_index":25621,"title":{},"body":{"todo.html":{}}}],["sanitizerichtext",{"_index":6502,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RichText.html":{}}}],["sanitizerichtext(content",{"_index":19065,"title":{},"body":{"classes/RichText.html":{}}}],["sanitizerichtext(this.content.alternativetext",{"_index":6517,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.caption",{"_index":6514,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.text",{"_index":6536,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizing",{"_index":25859,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["satisfied",{"_index":11326,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["satisfies",{"_index":368,"title":{},"body":{"controllers/AccountController.html":{}}}],["satisfy",{"_index":11322,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"license.html":{}}}],["save",{"_index":18,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["save(accountdto",{"_index":63,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["save(domainobject",{"_index":2474,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["save(entities",{"_index":764,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["save(group",{"_index":13071,"title":{},"body":{"injectables/GroupService.html":{}}}],["save(school",{"_index":15458,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["save(schoolsystemoptions",{"_index":20399,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["save(systemdto",{"_index":15503,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["save(user",{"_index":24305,"title":{},"body":{"injectables/UserService.html":{}}}],["save.dto",{"_index":456,"title":{},"body":{"classes/AccountDto.html":{}}}],["save.dto.ts",{"_index":840,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:13",{"_index":843,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:17",{"_index":851,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:21",{"_index":853,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:26",{"_index":848,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:30",{"_index":850,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:34",{"_index":844,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:38",{"_index":852,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:42",{"_index":849,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:46",{"_index":847,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:50",{"_index":845,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:54",{"_index":842,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:57",{"_index":841,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:9",{"_index":846,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.visitor",{"_index":3674,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["save.visitor.ts",{"_index":18734,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:100",{"_index":18756,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:114",{"_index":18757,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:130",{"_index":18758,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:144",{"_index":18754,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:157",{"_index":18759,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:170",{"_index":18760,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:183",{"_index":18755,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:199",{"_index":18751,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:206",{"_index":18745,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:214",{"_index":18748,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:220",{"_index":18742,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:41",{"_index":18740,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:45",{"_index":18746,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:59",{"_index":18753,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:73",{"_index":18752,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:86",{"_index":18749,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveall",{"_index":2444,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["saveall(domainobjects",{"_index":2476,"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":24307,"title":{},"body":{"injectables/UserService.html":{}}}],["saveallusersmatches",{"_index":14007,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(@currentuser",{"_index":14076,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(currentuser",{"_index":14024,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["savecontextexternaltool",{"_index":7043,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["savecontextexternaltool(contextexternaltool",{"_index":7061,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saved",{"_index":11134,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["savedcontextexternaltool",{"_index":7072,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saveddomainobject",{"_index":10687,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["saveddomainobjects",{"_index":2485,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["saveddomainobjects[0",{"_index":2487,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["savedentity",{"_index":12964,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["savedgroup",{"_index":13080,"title":{},"body":{"injectables/GroupService.html":{}}}],["savedpassword",{"_index":15848,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["savedprops",{"_index":12967,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedschool",{"_index":17781,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedschoolsystemoptions",{"_index":20404,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["savedschoolsystemoptions.provisioningoptions",{"_index":20425,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["saveduser",{"_index":17804,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserService.html":{}}}],["saveduser.id",{"_index":17807,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedusers",{"_index":24322,"title":{},"body":{"injectables/UserService.html":{}}}],["savefile",{"_index":22466,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["savefile(filename",{"_index":22484,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["saveh5pcontent",{"_index":13248,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5pcontent(body",{"_index":13288,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5peditorparams",{"_index":12635,"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":18738,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saverecursive(boardnode",{"_index":18747,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveresponse",{"_index":13364,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveschoolexternaltool",{"_index":20072,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveschoolexternaltool(schoolexternaltool",{"_index":20085,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveuninitialized",{"_index":20604,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["savevisitor",{"_index":3703,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savevisitor.save(domainobject",{"_index":3706,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savewithoutflush",{"_index":732,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["savewithoutflush(account",{"_index":750,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["savewithoutflush(user",{"_index":24215,"title":{},"body":{"injectables/UserRepo.html":{}}}],["saying",{"_index":25303,"title":{},"body":{"license.html":{}}}],["sc",{"_index":4290,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sc_api_response_time_in_seconds",{"_index":18980,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["sc_domain",{"_index":20507,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["sc_theme",{"_index":5590,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["scan",{"_index":11960,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanned",{"_index":11851,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["scanresult",{"_index":1290,"title":{"interfaces/ScanResult.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["scanresult.error",{"_index":1327,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.reason",{"_index":11955,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.status",{"_index":11954,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.virus_detected",{"_index":1324,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.virus_signature",{"_index":1325,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresultdto",{"_index":11943,"title":{"classes/ScanResultDto.html":{}},"body":{"classes/FileRecordMapper.html":{},"controllers/FileSecurityController.html":{},"classes/ScanResultDto.html":{}}}],["scanresultparams",{"_index":7279,"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":11959,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_detected",{"_index":11953,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_signature",{"_index":11956,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scans",{"_index":5262,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["scanstatus",{"_index":7206,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["scanstatus.blocked",{"_index":11895,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.error",{"_index":11898,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.pending",{"_index":11850,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.verified",{"_index":11904,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.wont_check",{"_index":11901,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scdomain",{"_index":14717,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["scenario",{"_index":26083,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["scenarios",{"_index":26074,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["schema",{"_index":4049,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CommonCartridgeMetadataElement.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"controllers/ElementController.html":{},"controllers/SchoolController.html":{},"classes/UsersList.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["schema.ts",{"_index":25921,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemas",{"_index":25922,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemaversion",{"_index":6000,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["school",{"_index":703,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BoardDoCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/ContextExternalToolEntity.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/GroupApiModule.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["school'})@apibody({type",{"_index":19870,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school'})@apiokresponse({description",{"_index":19865,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolConfigurationController.html":{}}}],["school(params",{"_index":26411,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["school(value",{"_index":22292,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["school._id",{"_index":14278,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["school.api",{"_index":15323,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["school.controller.ts",{"_index":23437,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:106",{"_index":23446,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:126",{"_index":23442,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:152",{"_index":23449,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:51",{"_index":23456,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:66",{"_index":23452,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:84",{"_index":23460,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.do.ts",{"_index":15328,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:11",{"_index":15337,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:13",{"_index":15338,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:15",{"_index":15341,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:17",{"_index":15339,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:19",{"_index":15340,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:21",{"_index":15343,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:23",{"_index":15336,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:26",{"_index":15342,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:28",{"_index":15344,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:31",{"_index":15333,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:9",{"_index":15334,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.dto",{"_index":17285,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["school.dto.ts",{"_index":10106,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:2",{"_index":10109,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:4",{"_index":10110,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:6",{"_index":10111,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:8",{"_index":10108,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.entity",{"_index":7552,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["school.externalid",{"_index":20234,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.factory",{"_index":7764,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["school.factory.ts",{"_index":15362,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["school.features",{"_index":15461,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.filter((f",{"_index":15463,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.includes(feature",{"_index":15462,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features?.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":17046,"title":{},"body":{"injectables/OAuthService.html":{}}}],["school.id",{"_index":20441,"title":{},"body":{"injectables/SchoolValidationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["school.module",{"_index":15326,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["school.module.ts",{"_index":15388,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school.name",{"_index":17772,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.officialschoolnumber",{"_index":2073,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["school.previousexternalid",{"_index":15251,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["school.previousexternalid}/${username}`.tolowercase",{"_index":15255,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.repo.ts",{"_index":15391,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:14",{"_index":15394,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:19",{"_index":15401,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:23",{"_index":15396,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:30",{"_index":15398,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.rule.ts",{"_index":15434,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:12",{"_index":15435,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:15",{"_index":15437,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:21",{"_index":15436,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.schoolyear",{"_index":23683,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.service.ts",{"_index":15439,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:12",{"_index":15446,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:18",{"_index":15455,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:23",{"_index":15457,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:31",{"_index":15450,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:37",{"_index":15448,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:43",{"_index":15452,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:49",{"_index":15459,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.systems",{"_index":15229,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.systems.includes(systemid",{"_index":15230,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{}}}],["school.systems.includes(targetsystemid",{"_index":20235,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems.push(systemid",{"_index":17776,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.systems.push(targetsystemid",{"_index":20236,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems?.filter((systemid",{"_index":24067,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["school.userloginmigration",{"_index":23926,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["school/controller/dto/request/provisioning",{"_index":18300,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["school/controller/dto/request/school",{"_index":20426,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["school/controller/dto/request/schulconnex",{"_index":20470,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["school/controller/dto/response/schulconnex",{"_index":20474,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["school/controller/school",{"_index":20343,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["school/controller/school.controller.ts",{"_index":19858,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school/controller/school.controller.ts:50",{"_index":19867,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school/controller/school.controller.ts:85",{"_index":19872,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school/domain/base",{"_index":2616,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["school/domain/school",{"_index":20314,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["school/domain/schulconnex",{"_index":20464,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["school/entity",{"_index":15079,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["school/entity/provisioning",{"_index":18277,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{}}}],["school/entity/school",{"_index":20336,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["school/legacy",{"_index":15322,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["school/loggable/provisioning",{"_index":18290,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{}}}],["school/loggable/school",{"_index":20273,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school/repo/school",{"_index":20351,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["school/repo/schoolyear.repo.ts",{"_index":20451,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:11",{"_index":20453,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:7",{"_index":20454,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/service/federal",{"_index":11500,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["school/service/legacy",{"_index":15438,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school/service/school",{"_index":20392,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearService.html":{}}}],["school/service/validation/school",{"_index":20431,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["school/types",{"_index":17766,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school/uc/school",{"_index":20406,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["school?.id",{"_index":16494,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["school_in_migration",{"_index":20165,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["school_login_migration_database_operation_failed",{"_index":20194,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["school_migration_failed",{"_index":20282,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["school_number_duplicate",{"_index":20276,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school_number_missing",{"_index":20287,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["schoolcontroller",{"_index":15325,"title":{"controllers/SchoolController.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/SchoolController.html":{}}}],["schooldo",{"_index":14370,"title":{},"body":{"classes/IservMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schooldo.externalid",{"_index":14374,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.features",{"_index":24070,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":24071,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.push(schoolfeatures.oauth_provisioning_enabled",{"_index":24072,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.name",{"_index":14373,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.officialschoolnumber",{"_index":14375,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldocopy",{"_index":20230,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolentity",{"_index":692,"title":{"entities/SchoolEntity.html":{}},"body":{"interfaces/AccountParams.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{}}}],["schoolexclusive",{"_index":20657,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["schoolexternal",{"_index":19969,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltool",{"_index":2005,"title":{"classes/SchoolExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltool'})@httpcode(httpstatus.no_content",{"_index":23445,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltool.id",{"_index":10229,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltool.name",{"_index":20057,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.schoolid",{"_index":2062,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.status",{"_index":20061,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolid",{"_index":10233,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolversion",{"_index":20059,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatus",{"_index":19943,"title":{"classes/SchoolExternalToolConfigurationStatus.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatusresponse",{"_index":19947,"title":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse",{"_index":19951,"title":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":23085,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplateresponse",{"_index":19953,"title":{"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolcount",{"_index":10504,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{}}}],["schoolexternaltooldto",{"_index":20034,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolentity",{"_index":6788,"title":{"entities/SchoolExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolfactory",{"_index":19961,"title":{"classes/SchoolExternalToolFactory.html":{}},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolfactory.define(schoolexternaltool",{"_index":19968,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolid",{"_index":6741,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["schoolexternaltoolidparams",{"_index":19971,"title":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{}},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolids",{"_index":6863,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolmetadata",{"_index":19973,"title":{"classes/SchoolExternalToolMetadata.html":{}},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadata.contextexternaltoolcountpercontext",{"_index":19975,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["schoolexternaltoolmetadatamapper",{"_index":19976,"title":{"classes/SchoolExternalToolMetadataMapper.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadatamapper.maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":23481,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse",{"_index":19980,"title":{"classes/SchoolExternalToolMetadataResponse.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":19982,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["schoolexternaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":23448,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataservice",{"_index":19983,"title":{"injectables/SchoolExternalToolMetadataService.html":{}},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolmodule",{"_index":6822,"title":{"modules/SchoolExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["schoolexternaltoolparams",{"_index":23454,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolparams.schoolid",{"_index":23464,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolpostparams",{"_index":19996,"title":{"classes/SchoolExternalToolPostParams.html":{}},"body":{"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolproperties",{"_index":19956,"title":{"interfaces/SchoolExternalToolProperties.html":{}},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["schoolexternaltoolprops",{"_index":19939,"title":{"interfaces/SchoolExternalToolProps.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["schoolexternaltoolquery",{"_index":20010,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolqueryinput",{"_index":20117,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolrefdo",{"_index":6694,"title":{"classes/SchoolExternalToolRefDO.html":{}},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schoolexternaltoolrepo",{"_index":1913,"title":{"injectables/SchoolExternalToolRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolrequestmapper",{"_index":20030,"title":{"injectables/SchoolExternalToolRequestMapper.html":{}},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse",{"_index":20039,"title":{"classes/SchoolExternalToolResponse.html":{}},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponsemapper",{"_index":20044,"title":{"injectables/SchoolExternalToolResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apibadrequestresponse({type",{"_index":23459,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23441,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolrule",{"_index":1874,"title":{"injectables/SchoolExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["schoolexternaltools",{"_index":10208,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.filter",{"_index":10225,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["schoolexternaltools.length",{"_index":10538,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.map",{"_index":10537,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolscope",{"_index":20012,"title":{"classes/SchoolExternalToolScope.html":{}},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolsearchlistresponse",{"_index":20052,"title":{"classes/SchoolExternalToolSearchListResponse.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolsearchlistresponse(responses",{"_index":20056,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolsearchparams",{"_index":20066,"title":{"classes/SchoolExternalToolSearchParams.html":{}},"body":{"classes/SchoolExternalToolSearchParams.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolservice",{"_index":7045,"title":{"injectables/SchoolExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltoolsinuse",{"_index":10281,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltoolsinuse.map",{"_index":10285,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltooluc",{"_index":20102,"title":{"injectables/SchoolExternalToolUc.html":{}},"body":{"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolvalidationservice",{"_index":19994,"title":{"injectables/SchoolExternalToolValidationService.html":{}},"body":{"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["schoolexternaltoolversion",{"_index":20136,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolfactory",{"_index":7763,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.build",{"_index":7773,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.buildwithid",{"_index":22417,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["schoolfeatures",{"_index":15335,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.enable_ldap_sync_during_migration",{"_index":24057,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.oauth_provisioning_enabled",{"_index":17780,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolforgroupnotfoundloggable",{"_index":17767,"title":{"classes/SchoolForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["schoolforgroupnotfoundloggable(externalgroup",{"_index":17818,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["schoolid",{"_index":4588,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DownloadFileParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"classes/LumiUserWithContentData.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schoolid'})@index",{"_index":7779,"title":{},"body":{"entities/CourseGroup.html":{},"entities/Submission.html":{}}}],["schooliddoesnotmatchwithuserschoolid",{"_index":20152,"title":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["schoolidparams",{"_index":20162,"title":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{}},"body":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolinfo",{"_index":20182,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.id",{"_index":20183,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.name",{"_index":20184,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper",{"_index":16678,"title":{"classes/SchoolInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper.maptoresponse(news.school",{"_index":16683,"title":{},"body":{"classes/NewsMapper.html":{}}}],["schoolinforesponse",{"_index":16650,"title":{"classes/SchoolInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{}}}],["schoolinmigrationloggableexception",{"_index":17078,"title":{"classes/SchoolInMigrationLoggableException.html":{}},"body":{"injectables/Oauth2Strategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["schoolinusermigrationendloggable",{"_index":20166,"title":{"classes/SchoolInUserMigrationEndLoggable.html":{}},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["schoolinusermigrationstartloggable",{"_index":20172,"title":{"classes/SchoolInUserMigrationStartLoggable.html":{}},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["schoolmigrated",{"_index":20242,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception",{"_index":20188,"title":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(existingschool",{"_index":20233,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(originalschooldo",{"_index":20239,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationservice",{"_index":4976,"title":{"injectables/SchoolMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable",{"_index":20264,"title":{"classes/SchoolMigrationSuccessfulLoggable.html":{}},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable(schooltomigrate",{"_index":24107,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schoolname",{"_index":15125,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolnews",{"_index":7906,"title":{"entities/SchoolNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnews(props",{"_index":7904,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnumber",{"_index":15453,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["schoolnumber_prefix_regex",{"_index":19789,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["schoolnumberduplicateloggableexception",{"_index":20272,"title":{"classes/SchoolNumberDuplicateLoggableException.html":{}},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolnumberduplicateloggableexception(school.officialschoolnumber",{"_index":20437,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["schoolnumbermismatchloggableexception",{"_index":20229,"title":{"classes/SchoolNumberMismatchLoggableException.html":{}},"body":{"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{}}}],["schoolnumbermissingloggableexception",{"_index":20285,"title":{"classes/SchoolNumberMissingLoggableException.html":{}},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolnumbermissingloggableexception(schoolid",{"_index":20967,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["schoolnumbermissingloggableexception})@apiokresponse({description",{"_index":23851,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["schoolparameter",{"_index":8341,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["schoolparameters",{"_index":19955,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolproperties",{"_index":19926,"title":{"interfaces/SchoolProperties.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrepo",{"_index":15212,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolrolepermission",{"_index":19927,"title":{"classes/SchoolRolePermission.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolroles",{"_index":19900,"title":{"classes/SchoolRoles.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrule",{"_index":26435,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["schools",{"_index":7211,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CreateNews.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenDO.html":{}}}],["schools[0",{"_index":15408,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolservice",{"_index":2068,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolspecificfilecopyservice",{"_index":3631,"title":{"interfaces/SchoolSpecificFileCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicecopyparams",{"_index":20295,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicefactory",{"_index":3896,"title":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceimpl",{"_index":20304,"title":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyserviceimpl(this.filesstorageclientadapterservice",{"_index":20305,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceprops",{"_index":20298,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolsystemoptions",{"_index":15157,"title":{"classes/SchoolSystemOptions.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolsystemoptions(props",{"_index":20376,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptions.getprops",{"_index":20381,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptions.provisioningoptions",{"_index":20402,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemoptionsbuilder",{"_index":20324,"title":{"classes/SchoolSystemOptionsBuilder.html":{}},"body":{"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemoptionsentity",{"_index":15078,"title":{"entities/SchoolSystemOptionsEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolsystemoptionsentity(entityprops",{"_index":20367,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptionsentityprops",{"_index":20341,"title":{"interfaces/SchoolSystemOptionsEntityProps.html":{}},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptionsmapper",{"_index":19880,"title":{"classes/SchoolSystemOptionsMapper.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{}}}],["schoolsystemoptionsmapper.mapprovisioningoptionstoresponse(options",{"_index":19889,"title":{},"body":{"controllers/SchoolController.html":{}}}],["schoolsystemoptionsprops",{"_index":20321,"title":{"interfaces/SchoolSystemOptionsProps.html":{}},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptionsrepo",{"_index":15385,"title":{"injectables/SchoolSystemOptionsRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["schoolsystemoptionsrepomapper",{"_index":20360,"title":{"classes/SchoolSystemOptionsRepoMapper.html":{}},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptionsrepomapper.mapdomainobjecttoentityproperties",{"_index":20366,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptionsrepomapper.mapentitytodomainobjectproperties(entity",{"_index":20375,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptionsrule",{"_index":1875,"title":{"injectables/SchoolSystemOptionsRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolSystemOptionsRule.html":{}}}],["schoolsystemoptionsservice",{"_index":15383,"title":{"injectables/SchoolSystemOptionsService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemoptionsuc",{"_index":15321,"title":{"injectables/SchoolSystemOptionsUc.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/SchoolController.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemparams",{"_index":19862,"title":{"classes/SchoolSystemParams.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemParams.html":{}}}],["schooltomigrate",{"_index":24103,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schooltool",{"_index":6781,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["schooltool.school",{"_index":6896,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["schooltoolconfigurationstatusfactory",{"_index":19966,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusfactory.build",{"_index":19970,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusresponsemapper",{"_index":20053,"title":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schooltoolconfigurationstatusresponsemapper.maptoresponse",{"_index":20060,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schooltoolid",{"_index":6807,"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":6687,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["schooltoolrepo",{"_index":10531,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["schooltype",{"_index":16302,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["schoolvalidationservice",{"_index":15386,"title":{"injectables/SchoolValidationService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolyear",{"_index":4714,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/FederalStateService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyear.entity",{"_index":19915,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolyear.factory",{"_index":15367,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyear?.name",{"_index":13115,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["schoolyearentity",{"_index":12561,"title":{"entities/SchoolYearEntity.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearfactory",{"_index":15366,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearfactory.build",{"_index":15378,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearproperties",{"_index":20447,"title":{"interfaces/SchoolYearProperties.html":{}},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["schoolyearquerytype",{"_index":4705,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["schoolyearrepo",{"_index":15387,"title":{"injectables/SchoolYearRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearservice",{"_index":15384,"title":{"injectables/SchoolYearService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["schould",{"_index":8081,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{}}}],["schul",{"_index":2221,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schulcloud",{"_index":13669,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ServerController.html":{},"additional-documentation/nestjs-application.html":{}}}],["schulcloudnextcloud",{"_index":17524,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["schulconnex",{"_index":20319,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["schulconnexgroupprovisioningenabled",{"_index":13784,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["schulconnexprovisioningoptions",{"_index":17764,"title":{"classes/SchulConneXProvisioningOptions.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["schulconnexprovisioningoptionsinterface",{"_index":20465,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["schulconnexprovisioningoptionsparams",{"_index":19878,"title":{"classes/SchulConneXProvisioningOptionsParams.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["schulconnexprovisioningoptionsparams})@apicreatedresponse({description",{"_index":19871,"title":{},"body":{"controllers/SchoolController.html":{}}}],["schulconnexprovisioningoptionsresponse",{"_index":19879,"title":{"classes/SchulConneXProvisioningOptionsResponse.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["scope",{"_index":6288,"title":{"classes/Scope.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolServiceMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfigEntity.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"injectables/SubmissionRepo.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"controllers/TeamNewsController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope)roles",{"_index":26391,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope.addquery(allforcreator.query",{"_index":22042,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(allforfinishedcoursesandlessons.query",{"_index":22041,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(closedforopencoursesandlessons.query",{"_index":22040,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(parentidscope.query",{"_index":22055,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.afterduedateornone(filters.afterduedateornone",{"_index":22062,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.allowemptyquery(true",{"_index":6906,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byavailable(filters?.availableon",{"_index":22066,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byclasses(filters.classes",{"_index":14224,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bycontextid(query.context?.id",{"_index":6904,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycontexttype(query.context?.type",{"_index":6905,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycourseids([courseid",{"_index":22068,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.bycourseids(courseids",{"_index":15645,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bycreator(creatorid",{"_index":16742,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bydraft(false",{"_index":22060,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfinished(filters.finished.userid",{"_index":22057,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfirstname(filters.firstname",{"_index":14216,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byhidden(filters.hidden",{"_index":15647,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.byid(query.id",{"_index":6902,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bylastname(filters.lastname",{"_index":14218,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byloginname(filters.loginname",{"_index":14220,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bymatches(filters.matches",{"_index":14226,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bypublished",{"_index":16738,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byrole(filters.role",{"_index":14222,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschool(school",{"_index":14214,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschoolid(query.schoolid",{"_index":20021,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byschooltoolid(query.schooltoolref?.schooltoolid",{"_index":6903,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bytargets(targets",{"_index":16737,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bytoolid(query.toolid",{"_index":20022,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byunpublished",{"_index":16741,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byusermatch(user",{"_index":14212,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.enum",{"_index":24544,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["scope.excludedraftsofothers(creatorid",{"_index":22070,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludedraftsofothers(parentids.creatorid",{"_index":22059,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludeunavailableofothers(parentids.creatorid",{"_index":22064,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.foractivecourses",{"_index":7951,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forallgrouptypes(userid",{"_index":7949,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forcourseid(courseid",{"_index":7960,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacher(userid",{"_index":7956,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacherorsubstituteteacher(userid",{"_index":7959,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.id",{"_index":24514,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.isflagged(true",{"_index":14228,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.name",{"_index":24130,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["scope.nofutureavailabledate",{"_index":22072,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.params.ts",{"_index":24741,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:12",{"_index":24745,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:8",{"_index":24743,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.query",{"_index":6895,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/GroupRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["scope.request",{"_index":11474,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["scope.scope",{"_index":24520,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.target",{"_index":16852,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope.targetid",{"_index":22332,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.targetmodel",{"_index":22334,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.transient",{"_index":15302,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["scope.ts",{"_index":9528,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/FileRecordScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:10",{"_index":21632,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:11",{"_index":15693,"title":{},"body":{"classes/LessonScope.html":{}}}],["scope.ts:12",{"_index":9533,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:13",{"_index":12031,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:15",{"_index":21633,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:17",{"_index":22137,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:19",{"_index":12038,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:25",{"_index":12040,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:26",{"_index":16777,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:31",{"_index":12033,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:32",{"_index":16780,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:38",{"_index":12029,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/NewsScope.html":{}}}],["scope.ts:39",{"_index":22135,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:45",{"_index":22132,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:5",{"_index":21631,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:52",{"_index":22139,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:6",{"_index":9532,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/LessonScope.html":{}}}],["scope.ts:60",{"_index":22130,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:66",{"_index":22146,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:7",{"_index":12036,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:73",{"_index":22141,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:83",{"_index":22128,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:89",{"_index":22145,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:9",{"_index":16779,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:95",{"_index":22143,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.withldapconfig",{"_index":15484,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoauthconfig",{"_index":15486,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoidcconfig",{"_index":15488,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope:11",{"_index":7018,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7016,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7030,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7032,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7019,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":16849,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope?.unpublished",{"_index":16831,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scoped",{"_index":22238,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopeid",{"_index":11298,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/ScopeInfo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["scopeinfo",{"_index":20496,"title":{"interfaces/ScopeInfo.html":{}},"body":{"interfaces/ScopeInfo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopeinfo.logouturl",{"_index":24530,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["scopeinfo.scopeid",{"_index":24522,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopemapping",{"_index":10863,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterdo.scope",{"_index":10973,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterparam.scope",{"_index":10911,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["scopename",{"_index":20499,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["scopeoperator",{"_index":7017,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":24425,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopeparams.scope",{"_index":24462,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopepermission",{"_index":22237,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopepermissions",{"_index":22236,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scoperef",{"_index":20500,"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":24461,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scoperessource",{"_index":24516,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopes",{"_index":2766,"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":13862,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.groups",{"_index":13856,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.profile",{"_index":13863,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes/rules/permissions/user",{"_index":26475,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scraper",{"_index":16406,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{}}}],["scraper/dist/lib/types",{"_index":16407,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["scripts",{"_index":12604,"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":24859,"title":{},"body":{"dependencies.html":{}}}],["sdk/client",{"_index":9000,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["sdk/lib",{"_index":19566,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["search",{"_index":860,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/IdentityManagementService.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["search.params.ts",{"_index":10990,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.params.ts:13",{"_index":10992,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["search.params.ts:8",{"_index":10993,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.query.params.ts",{"_index":882,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:14",{"_index":887,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:22",{"_index":888,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["searchability",{"_index":25988,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["searchaccounts",{"_index":321,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchaccounts(currentuser",{"_index":364,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchbyusername",{"_index":733,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusername(username",{"_index":752,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusernameexactmatch",{"_index":19,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernameexactmatch(username",{"_index":67,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch",{"_index":20,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch(username",{"_index":69,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searches",{"_index":23105,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["searching",{"_index":14288,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["searchoptions",{"_index":13927,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["searchparams",{"_index":23957,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchparams.userid",{"_index":23960,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchquery",{"_index":10916,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["searchuser",{"_index":15061,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["searchusername",{"_index":799,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchuserpassword",{"_index":15062,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["second",{"_index":2993,"title":{},"body":{"entities/Board.html":{},"injectables/S3ClientAdapter.html":{}}}],["secondarily",{"_index":25128,"title":{},"body":{"license.html":{}}}],["secondary",{"_index":25082,"title":{},"body":{"license.html":{}}}],["secondchar",{"_index":7618,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["seconds",{"_index":4918,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/KeycloakConsole.html":{},"classes/LoginRequestBody.html":{},"interfaces/MigrationOptions.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{}}}],["seconds_of_90_days",{"_index":9420,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["secret",{"_index":1598,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/JwtConstants.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretaccesskey",{"_index":7311,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["secretdata",{"_index":14973,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["secretorkey",{"_index":14478,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["secrets",{"_index":5405,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretvalue",{"_index":1760,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["section",{"_index":17168,"title":{},"body":{"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sections",{"_index":25275,"title":{},"body":{"license.html":{}}}],["secure",{"_index":20610,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["secure_launch_url",{"_index":5933,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["security",{"_index":11634,"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":12063,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:15",{"_index":12069,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:29",{"_index":12072,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["securitycheck",{"_index":11599,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheck.requesttoken",{"_index":11863,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheckstatus",{"_index":7215,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["see",{"_index":561,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ApiValidationError.html":{},"injectables/AuthorizationReferenceService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"interfaces/JwtPayload.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seed",{"_index":4939,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seed(options",{"_index":4940,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["seed.service",{"_index":14615,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["seed.service.ts",{"_index":14991,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:13",{"_index":14995,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:20",{"_index":15000,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:35",{"_index":14996,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:60",{"_index":14997,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:94",{"_index":14998,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:99",{"_index":14999,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seedcollections",{"_index":8846,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["seedcollections(options",{"_index":8850,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["seeddata",{"_index":26067,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["seeddatabasecollectionsfromfactories(collections",{"_index":5288,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeddatabasecollectionsfromfilesystem(collections",{"_index":5305,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeded",{"_index":14945,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["seededcollectionswithamount",{"_index":5299,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seededcollectionswithamount.push(`${collectionname}:${importeddocumentsamount",{"_index":5326,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeding",{"_index":26261,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["seeds",{"_index":4938,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seems",{"_index":25656,"title":{},"body":{"todo.html":{}}}],["segregation",{"_index":25817,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sehr",{"_index":5584,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["select",{"_index":26436,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["selectconfigureaction",{"_index":14631,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selectconfigureaction(newconfigs",{"_index":14660,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selected",{"_index":14361,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/LdapStrategy.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"todo.html":{}}}],["selectedrules",{"_index":19514,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule",{"_index":19490,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule(user",{"_index":19496,"title":{},"body":{"injectables/RuleManager.html":{}}}],["self",{"_index":17830,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sell",{"_index":25472,"title":{},"body":{"license.html":{}}}],["selling",{"_index":25456,"title":{},"body":{"license.html":{}}}],["semiconductor",{"_index":25112,"title":{},"body":{"license.html":{}}}],["senario",{"_index":26090,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["send",{"_index":1296,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application.html":{}}}],["send(data",{"_index":1647,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["send(doc",{"_index":22860,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["send(params",{"_index":1655,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["send(requesttoken",{"_index":1307,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["sendauthenticationcodetokenrequest",{"_index":17116,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendauthenticationcodetokenrequest(tokenendpoint",{"_index":17123,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendawarenessmessage",{"_index":24759,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendawarenessmessage(buff",{"_index":24771,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendhttpresponse",{"_index":12668,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sendhttpresponse(error",{"_index":12684,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sending",{"_index":9124,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sense",{"_index":1833,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/LessonCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sensible",{"_index":21457,"title":{},"body":{"controllers/SystemController.html":{}}}],["sent",{"_index":1216,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sentence",{"_index":1392,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separable",{"_index":25314,"title":{},"body":{"license.html":{}}}],["separate",{"_index":15307,"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":17166,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["separately",{"_index":25261,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["seperate",{"_index":15586,"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":25873,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperation",{"_index":24983,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sequence",{"_index":514,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}.0",{"_index":13185,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["sequence}.txt",{"_index":13531,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["sequence}@example.com",{"_index":14094,"title":{},"body":{"classes/ImportUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}displayname",{"_index":21550,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["serialization",{"_index":20976,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"todo.html":{}}}],["serialize",{"_index":4209,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["serialize(documents",{"_index":4219,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serializedprimarykey",{"_index":2539,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["serializes",{"_index":4221,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serve",{"_index":24950,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["served",{"_index":25776,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server",{"_index":2164,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DeletionClient.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"injectables/LegacyLogger.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TldrawWs.html":{},"classes/UsersList.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["server)/g",{"_index":22822,"title":{},"body":{"classes/TldrawWs.html":{}}}],["server.config",{"_index":1035,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["server.console",{"_index":20547,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["server.module",{"_index":1037,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["server.module.ts",{"_index":16278,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["server.module.ts:36",{"_index":16284,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["server/blob/main/apps/server/src/modules/authorization/readme.md",{"_index":25796,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/config/readme.md",{"_index":25795,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/src/services/lesson/hooks/index.js#l232",{"_index":26467,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["server/build/src/contentmanager",{"_index":13461,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/contenttypeinformationrepository",{"_index":13462,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/types",{"_index":6618,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["server/overview.html",{"_index":25659,"title":{},"body":{"todo.html":{}}}],["server/pull/2729#pullrequestreview",{"_index":25638,"title":{},"body":{"todo.html":{}}}],["server/server.config",{"_index":674,"title":{},"body":{"modules/AccountModule.html":{}}}],["server_options_path='/tmp/config/server",{"_index":26273,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["serverconfig",{"_index":649,"title":{"interfaces/ServerConfig.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakConfigurationService.html":{},"modules/ManagementModule.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"controllers/RoomsController.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["serverconsole",{"_index":20528,"title":{"classes/ServerConsole.html":{}},"body":{"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{}}}],["serverconsolemodule",{"_index":20540,"title":{"modules/ServerConsoleModule.html":{}},"body":{"modules/ServerConsoleModule.html":{}}}],["servercontroller",{"_index":20549,"title":{"controllers/ServerController.html":{}},"body":{"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodule",{"_index":20552,"title":{"modules/ServerModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodules",{"_index":1038,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servers",{"_index":25092,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["servertestmodule",{"_index":20628,"title":{"modules/ServerTestModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["serves",{"_index":25170,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["service",{"_index":610,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FilesModule.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonModule.html":{},"injectables/LessonUC.html":{},"modules/LtiToolModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/PermissionService.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymUc.html":{},"modules/RegistrationPinModule.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["service(logic",{"_index":26470,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["service.create(data",{"_index":10072,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["service.factory.ts",{"_index":20299,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:10",{"_index":20301,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:13",{"_index":20303,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.find",{"_index":11301,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.get",{"_index":25965,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.get(userid",{"_index":11296,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.mapper",{"_index":11033,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["service.mapper.ts",{"_index":11083,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.mapper.ts:7",{"_index":11086,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.module.ts",{"_index":17624,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["service.provider",{"_index":11351,"title":{},"body":{"modules/FeathersModule.html":{},"injectables/NexboardService.html":{}}}],["service.provider.ts",{"_index":11462,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.provider.ts:13",{"_index":11470,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:19",{"_index":11468,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:24",{"_index":11465,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:38",{"_index":11487,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.provider.ts:41",{"_index":11488,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.ts",{"_index":1847,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.ts:11",{"_index":1855,"title":{},"body":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["service.ts:13",{"_index":23489,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:21",{"_index":23490,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:6",{"_index":1848,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{}}}],["service/authorization.helper",{"_index":3716,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["service/auto",{"_index":23269,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/board",{"_index":3624,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{}}}],["service/cache.service",{"_index":4275,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["service/calendar.service",{"_index":4319,"title":{},"body":{"modules/CalendarModule.html":{}}}],["service/column",{"_index":3905,"title":{},"body":{"modules/BoardModule.html":{}}}],["service/common",{"_index":7745,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["service/context",{"_index":6828,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{}}}],["service/copy",{"_index":7384,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{}}}],["service/dto",{"_index":22985,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["service/files",{"_index":12327,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["service/hydra.service",{"_index":17312,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/id",{"_index":17571,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["service/keycloak",{"_index":14536,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"modules/KeycloakModule.html":{}}}],["service/launch",{"_index":23270,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/meta",{"_index":16362,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/oauth",{"_index":17313,"title":{},"body":{"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["service/oauth.service",{"_index":17314,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/oidc",{"_index":17868,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["service/preview.service",{"_index":12351,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["service/provisioning.service",{"_index":18274,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["service/recursive",{"_index":18594,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["service/rocket",{"_index":19178,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["service/rooms.service",{"_index":19455,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["service/school",{"_index":20292,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["service/submission",{"_index":9886,"title":{},"body":{"injectables/ElementUc.html":{}}}],["service/swap",{"_index":5459,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["service/system",{"_index":21574,"title":{},"body":{"modules/SystemModule.html":{}}}],["service/tldraw.service",{"_index":22727,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["service/tool",{"_index":6831,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["service/url",{"_index":16364,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/user.service",{"_index":24186,"title":{},"body":{"modules/UserModule.html":{}}}],["servicedto",{"_index":22314,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["serviceoptions",{"_index":20866,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.context",{"_index":20868,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.expiresat",{"_index":20872,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoutputtypes",{"_index":19564,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["services",{"_index":2903,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"modules/CollaborativeStorageModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/LearnroomApiModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["services/account",{"_index":677,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.service",{"_index":681,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.validation.service",{"_index":682,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/authentication.service",{"_index":1551,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{}}}],["services/builder",{"_index":2905,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["services/deletion",{"_index":9354,"title":{},"body":{"modules/DeletionModule.html":{}}}],["services/dto/account.dto",{"_index":479,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["services/dto/team",{"_index":22354,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["services/dto/team.dto",{"_index":22315,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["services/interface",{"_index":2885,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["services/ldap.service",{"_index":1552,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["serviceunavailableexception",{"_index":14946,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["servicing",{"_index":25558,"title":{},"body":{"license.html":{}}}],["session",{"_index":171,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/KeycloakConsole.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{}}}],["session.consent_request.challenge",{"_index":17592,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_id",{"_index":17590,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_name",{"_index":17591,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.response.ts",{"_index":6364,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["session.response.ts:13",{"_index":6372,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:16",{"_index":6373,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:19",{"_index":6371,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:4",{"_index":6368,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session_id",{"_index":15980,"title":{},"body":{"classes/LoginResponse-1.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["session_token",{"_index":2297,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["sessionduration",{"_index":20592,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions",{"_index":17496,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions.map",{"_index":17498,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["set",{"_index":567,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"interfaces/ParentInfo.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/SchulConneXProvisioningOptions.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["set('accept",{"_index":22603,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["set('authorization",{"_index":1644,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(caseinsensitivenames",{"_index":6173,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["set(headerconst.accept",{"_index":1653,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(memberids",{"_index":21082,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["set(object.keys(provisioningoptions",{"_index":2629,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["set(object.keys(this",{"_index":2627,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["set(permissions",{"_index":17972,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["set(props",{"_index":2624,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["set(tasksubmitterids",{"_index":21740,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["setalternativetext(value",{"_index":11560,"title":{},"body":{"classes/FileElement.html":{}}}],["setcaption(value",{"_index":11557,"title":{},"body":{"classes/FileElement.html":{}}}],["setcompleted(value",{"_index":21169,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setcontext",{"_index":15282,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontext(context",{"_index":5439,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["setcontext(name",{"_index":15291,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontextexternaltoolid(value",{"_index":10333,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["setcookies",{"_index":13643,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setcookies.foreach((item",{"_index":13686,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setdescription(value",{"_index":9669,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["setduedate(value",{"_index":21093,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["setfinishedenabled",{"_index":13471,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["setgroupname",{"_index":12748,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setgroupname(newgroupname",{"_index":8509,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setheight(height",{"_index":4355,"title":{},"body":{"classes/Card.html":{}}}],["setheightbodyparams",{"_index":4395,"title":{"classes/SetHeightBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/SetHeightBodyParams.html":{}}}],["setimageurl(value",{"_index":15795,"title":{},"body":{"classes/LinkElement.html":{}}}],["setinputformat(value",{"_index":19078,"title":{},"body":{"classes/RichTextElement.html":{}}}],["setinterval",{"_index":22942,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setlearnrooms",{"_index":8458,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["setlearnrooms(rooms",{"_index":8497,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setmatch",{"_index":14008,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(urlparams",{"_index":14027,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(user",{"_index":13995,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["setmigrationmandatory",{"_index":22964,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(currentuser",{"_index":23842,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["setmigrationmandatory(userid",{"_index":22967,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["setmigrationmandatory(userloginmigration",{"_index":24046,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["setname(name",{"_index":11889,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["setpasswordpolicy",{"_index":14550,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["setpersistence",{"_index":22845,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setpersistence(persistence_",{"_index":22862,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setprovisioningoptions",{"_index":19860,"title":{},"body":{"controllers/SchoolController.html":{}}}],["setprovisioningoptions(currentuser",{"_index":19868,"title":{},"body":{"controllers/SchoolController.html":{}}}],["setrangeresponseheaders",{"_index":13249,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrangeresponseheaders(res",{"_index":13291,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrequireduserrole(userroleenum",{"_index":3423,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["sets",{"_index":5146,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ConsentRequestBody.html":{},"classes/IdentityManagementService.html":{},"classes/LoginRequestBody.html":{},"controllers/SchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["setschool(value",{"_index":22404,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setstrategy",{"_index":5008,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["setstrategy(strategy",{"_index":5021,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["settedlanguage",{"_index":24345,"title":{},"body":{"injectables/UserUc.html":{}}}],["settext(value",{"_index":19074,"title":{},"body":{"classes/RichTextElement.html":{}}}],["settimeout",{"_index":19647,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["settimeout(resolve",{"_index":2864,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["setting",{"_index":2923,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["settings",{"_index":25980,"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":2384,"title":{},"body":{"injectables/BBBService.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["settings.interface.ts",{"_index":13720,"title":{},"body":{"interfaces/IBbbSettings.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IVideoConferenceSettings.html":{}}}],["settings.response",{"_index":4466,"title":{},"body":{"classes/CardResponse.html":{}}}],["settings.response.ts",{"_index":24748,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:3",{"_index":24750,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:9",{"_index":24751,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settitle(title",{"_index":4351,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{}}}],["settitle(value",{"_index":15790,"title":{},"body":{"classes/LinkElement.html":{}}}],["setup",{"_index":3817,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"interfaces/Options.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["setup:db",{"_index":26269,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm",{"_index":25709,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:configure",{"_index":26310,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:seed",{"_index":26309,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setuppath",{"_index":5307,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["setupsessions",{"_index":20591,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupsessions(consumer",{"_index":20622,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupws",{"_index":22569,"title":{},"body":{"classes/TestConnection.html":{}}}],["setupwsconnection",{"_index":22846,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setupwsconnection(ws",{"_index":22866,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["seturl(value",{"_index":15789,"title":{},"body":{"classes/LinkElement.html":{}}}],["setuser(value",{"_index":22400,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setuserattribute",{"_index":13911,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserattribute(userid",{"_index":13935,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserid(value",{"_index":21172,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setusers(value",{"_index":12780,"title":{},"body":{"classes/Group.html":{}}}],["setuserstatus(authtoken",{"_index":1113,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["sha",{"_index":2419,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.digest('hex",{"_index":2423,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.update(callname",{"_index":2421,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha1",{"_index":2355,"title":{},"body":{"injectables/BBBService.html":{},"injectables/Lti11EncryptionService.html":{}}}],["shall",{"_index":18562,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["shapes",{"_index":1219,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["share",{"_index":20679,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenResponse.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"license.html":{}}}],["shared",{"_index":20661,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/common",{"_index":393,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CoreModuleConfig.html":{},"classes/CurrentUserMapper.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacySystemService.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/common/loggable",{"_index":4863,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["shared/common/utils",{"_index":2381,"title":{},"body":{"injectables/BBBService.html":{}}}],["shared/common/utils/guard",{"_index":15855,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["shared/common/utils/promise",{"_index":3323,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["shared/controller",{"_index":298,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ColumnResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupPaginationParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SystemFilterParams.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["shared/controller/index",{"_index":204,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["shared/controller/transformer",{"_index":12502,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["shared/core",{"_index":25938,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/domain",{"_index":1018,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"todo.html":{}}}],["shared/domain/domain",{"_index":1849,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["shared/domain/domainobject",{"_index":1853,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BaseDORepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/domainobject/base.do",{"_index":6698,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["shared/domain/domainobject/board/drawing",{"_index":3556,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["shared/domain/domainobject/board/link",{"_index":6503,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/types",{"_index":3324,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["shared/domain/domainobject/ltitool.do",{"_index":13648,"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":10276,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["shared/domain/domainobject/user.do",{"_index":8121,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"injectables/UserMigrationService.html":{}}}],["shared/domain/entity",{"_index":478,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/ChangeLanguageParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRule.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PseudonymUc.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["shared/domain/entity/account.entity",{"_index":769,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["shared/domain/entity/base.entity",{"_index":4655,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/entity/boardnode/drawing",{"_index":3557,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/boardnode/link",{"_index":18761,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/external",{"_index":12913,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["shared/domain/entity/ltitool.entity",{"_index":8219,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/LtiToolDO.html":{}}}],["shared/domain/entity/materials.entity",{"_index":16322,"title":{},"body":{"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{}}}],["shared/domain/entity/school.entity",{"_index":9934,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/system.entity",{"_index":20340,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/user",{"_index":19912,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["shared/domain/entity/video",{"_index":24709,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/interface",{"_index":595,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContextExternalToolUc.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"injectables/FileRecordRepo.html":{},"classes/GridElement.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"classes/LtiRoleMapper.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/ScopeRef.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["shared/domain/interface/permission.enum",{"_index":15582,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["shared/domain/interface/system",{"_index":14396,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["shared/domain/interface/video",{"_index":24543,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["shared/domain/service",{"_index":278,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{}}}],["shared/domain/types",{"_index":99,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterNewsParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/SystemDto.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamDto.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["shared/domain/types/entity",{"_index":20649,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/types/input",{"_index":21675,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["shared/pipes",{"_index":25960,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/repo",{"_index":279,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LocalStrategy.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/MigrationCheckService.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderModule.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SubmissionService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"modules/ToolApiModule.html":{},"injectables/UserDORepo.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/repo/base.do.repo",{"_index":16165,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/repo/base.repo",{"_index":771,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["shared/repo/ltitool",{"_index":5075,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["shared/repo/scope",{"_index":10986,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["shared/repo/storageprovider",{"_index":9002,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["shared/repo/system/system",{"_index":15479,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["shared/repo/types/storageproviderencryptedstring.type",{"_index":21003,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["shared/repo/user/user",{"_index":24183,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["shared/repo/videoconference/video",{"_index":24680,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["shared/testing",{"_index":2081,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/RocketChatUserFactory.html":{}}}],["shared/testing/factory/base.factory",{"_index":4690,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/LtiToolFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/role.factory",{"_index":22411,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/school.factory",{"_index":22412,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/teamuser.factory",{"_index":22305,"title":{},"body":{"classes/TeamFactory.html":{}}}],["shared/testing/factory/user.factory",{"_index":22413,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/types",{"_index":16644,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["shared/utils",{"_index":25939,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators",{"_index":25956,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators/text.validator.ts",{"_index":25942,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sharedstate",{"_index":11735,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["sharetoken",{"_index":7511,"title":{"entities/ShareToken.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/UsersList.html":{}}}],["sharetoken.context",{"_index":20878,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.expiresat",{"_index":20803,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{}}}],["sharetoken.payload",{"_index":20802,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetoken.payload.parentid",{"_index":20881,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.payload.parenttype",{"_index":20829,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetoken.token",{"_index":20801,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenbodyparams",{"_index":20653,"title":{"classes/ShareTokenBodyParams.html":{}},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{}}}],["sharetokencontext",{"_index":20722,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype",{"_index":20643,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype.school",{"_index":20869,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper",{"_index":20669,"title":{"classes/ShareTokenContextTypeMapper.html":{}},"body":{"classes/ShareTokenContextTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper.maptoallowedauthorizationentitytype(context.contexttype",{"_index":20894,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontroller",{"_index":20672,"title":{"controllers/ShareTokenController.html":{}},"body":{"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokendo",{"_index":20718,"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":20731,"title":{"classes/ShareTokenFactory.html":{}},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenfactory.define",{"_index":20739,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenimportbodyparams",{"_index":20685,"title":{"classes/ShareTokenImportBodyParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{}}}],["sharetokeninfo",{"_index":20710,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninfo.parentname",{"_index":20759,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.parenttype",{"_index":20758,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.token",{"_index":20757,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfodto",{"_index":20746,"title":{"interfaces/ShareTokenInfoDto.html":{}},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninforesponse",{"_index":20700,"title":{"classes/ShareTokenInfoResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper",{"_index":20697,"title":{"classes/ShareTokenInfoResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper.maptoresponse(sharetokeninfo",{"_index":20713,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokeninforesponse})@apiresponse({status",{"_index":20694,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenparenttype",{"_index":16472,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.course",{"_index":20740,"title":{},"body":{"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.lesson",{"_index":20831,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.task",{"_index":20833,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper",{"_index":20760,"title":{"classes/ShareTokenParentTypeMapper.html":{}},"body":{"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(parenttype",{"_index":20896,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(payload.parenttype",{"_index":20887,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenpayload",{"_index":20724,"title":{},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenpayloadresponse",{"_index":20764,"title":{"classes/ShareTokenPayloadResponse.html":{}},"body":{"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["sharetokenpayloadresponse(payload",{"_index":20799,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["sharetokenproperties",{"_index":20650,"title":{"interfaces/ShareTokenProperties.html":{}},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenrepo",{"_index":20772,"title":{"injectables/ShareTokenRepo.html":{}},"body":{"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenresponse",{"_index":20701,"title":{"classes/ShareTokenResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper",{"_index":20698,"title":{"classes/ShareTokenResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper.maptoresponse(sharetoken",{"_index":20707,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenresponse})@apiresponse({status",{"_index":20681,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokens",{"_index":11600,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenservice",{"_index":20804,"title":{"injectables/ShareTokenService.html":{}},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenstring",{"_index":20647,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/TokenGenerator.html":{}}}],["sharetokenuc",{"_index":20699,"title":{"injectables/ShareTokenUC.html":{}},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenurlparams",{"_index":20684,"title":{"classes/ShareTokenUrlParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenUrlParams.html":{}}}],["sharingapimodule",{"_index":20570,"title":{"modules/SharingApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharingmodule",{"_index":20911,"title":{"modules/SharingModule.html":{}},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["shit",{"_index":7556,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["short",{"_index":7854,"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":26229,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["shortid",{"_index":24922,"title":{},"body":{"dependencies.html":{}}}],["shorttitle",{"_index":7622,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["shouldincrementversion",{"_index":11226,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["shouldskipconsent",{"_index":17527,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldskipconsent(tool",{"_index":17536,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldusermigrate",{"_index":16484,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["shouldusermigrate(externaluserid",{"_index":16491,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["show",{"_index":16804,"title":{},"body":{"injectables/NewsUc.html":{},"controllers/SystemController.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["show_outdated_users",{"_index":19922,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["showoutdatedusers",{"_index":19923,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["sid",{"_index":15992,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["side",{"_index":2346,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sideeffects",{"_index":26486,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["sign",{"_index":16020,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"license.html":{}}}],["sign(key",{"_index":16021,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["signalgorithm",{"_index":1587,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signature_method",{"_index":16028,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["significant",{"_index":25336,"title":{},"body":{"license.html":{}}}],["signing",{"_index":1586,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signoptions",{"_index":1547,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["similar",{"_index":25102,"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":25825,"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":11740,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["simplicity",{"_index":25672,"title":{},"body":{"todo.html":{}}}],["simplification",{"_index":25906,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["simplify",{"_index":26094,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["simply",{"_index":25001,"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":25519,"title":{},"body":{"license.html":{}}}],["sind",{"_index":5573,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["single",{"_index":3612,"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":3621,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single(boardnode",{"_index":3622,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single:latestexample",{"_index":26285,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["single:latestthe",{"_index":26286,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["singlecolumnboardresponse",{"_index":19296,"title":{"classes/SingleColumnBoardResponse.html":{}},"body":{"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["singlefileparams",{"_index":7280,"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":12489,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["situations",{"_index":26366,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["six",{"_index":12132,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["size",{"_index":870,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/ImportUserListResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/TaskListResponse.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserRepo.html":{}}}],["sizetype",{"_index":8624,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["skeleton",{"_index":3230,"title":{},"body":{"controllers/BoardController.html":{}}}],["skeleton.response",{"_index":5677,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["skeleton.response.ts",{"_index":4522,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:12",{"_index":4524,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:18",{"_index":4532,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:3",{"_index":4523,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skip",{"_index":70,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/RetryOptions.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["skipconsent",{"_index":8172,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["skipped",{"_index":875,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupPaginationParams.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["slash",{"_index":25664,"title":{},"body":{"todo.html":{}}}],["sleep",{"_index":2861,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["slow",{"_index":5320,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["small",{"_index":25818,"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":16427,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sn",{"_index":15131,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["snapshotlogicchecks",{"_index":11738,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["snapshotschema",{"_index":11736,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["socket_port",{"_index":22715,"title":{},"body":{"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{}}}],["socketio",{"_index":24953,"title":{},"body":{"dependencies.html":{}}}],["software",{"_index":25041,"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":25323,"title":{},"body":{"license.html":{}}}],["sole",{"_index":25196,"title":{},"body":{"license.html":{}}}],["solely",{"_index":25204,"title":{},"body":{"license.html":{}}}],["solution",{"_index":3428,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserBoardRoles.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["solutions",{"_index":25603,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["solve",{"_index":22073,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["somejson",{"_index":2095,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["somemethod",{"_index":26018,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["someotherservice",{"_index":25880,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["something",{"_index":13824,"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":26462,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sonstige",{"_index":19688,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sonstige_gruppenzugehoerige",{"_index":19680,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["soon",{"_index":26376,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sort",{"_index":4832,"title":{},"body":{"classes/ClassSortParams.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sort.id",{"_index":11100,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["sort.name",{"_index":11101,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sort.params.ts",{"_index":20930,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["sortby",{"_index":3329,"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":3415,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder",{"_index":3279,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder(resolved",{"_index":3308,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos",{"_index":3414,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos.map",{"_index":3416,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortedbsondocuments",{"_index":5336,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["sortedchildren",{"_index":3603,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["sortedimages",{"_index":16421,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.find((i",{"_index":16428,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.sort((a",{"_index":16422,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortexternaltoolparams",{"_index":10855,"title":{"classes/SortExternalToolParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolController.html":{}}}],["sorthelper",{"_index":20935,"title":{"classes/SortHelper.html":{}},"body":{"classes/SortHelper.html":{}}}],["sortimportuserparams",{"_index":14015,"title":{"classes/SortImportUserParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["sorting",{"_index":21991,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["sorting.mapper.ts",{"_index":11096,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.mapper.ts:7",{"_index":11099,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.ts",{"_index":25634,"title":{},"body":{"todo.html":{}}}],["sortingparams",{"_index":4833,"title":{"classes/SortingParams.html":{}},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortingparams:10",{"_index":4836,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["sortingparams:14",{"_index":20933,"title":{},"body":{"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingparams:18",{"_index":4838,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingquery",{"_index":10857,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"controllers/ToolController.html":{}}}],["sortingquery.sortby",{"_index":12838,"title":{},"body":{"controllers/GroupController.html":{}}}],["sortingquery.sortorder",{"_index":10915,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"classes/ImportUserMapper.html":{}}}],["sortorder",{"_index":770,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/LessonRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.asc",{"_index":790,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/DashboardUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/LessonRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.desc",{"_index":7996,"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":10858,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IFindOptions.html":{},"classes/ImportUserMapper.html":{},"interfaces/Pagination.html":{},"injectables/UserDORepo.html":{}}}],["sortreferences",{"_index":8513,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{}}}],["source.entity",{"_index":12914,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["source.entity.ts",{"_index":10130,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["source.entity.ts:13",{"_index":10133,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.entity.ts:16",{"_index":10132,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.person.geburt?.datum",{"_index":19826,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.familienname",{"_index":19823,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.vorname",{"_index":19822,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].gruppen",{"_index":19829,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].id",{"_index":19837,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.anschrift?.ort",{"_index":19821,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.id.tostring",{"_index":19820,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.kennung.replace",{"_index":19817,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.name",{"_index":19819,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.pid",{"_index":19825,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.response",{"_index":12980,"title":{},"body":{"classes/GroupResponse.html":{}}}],["source.response.ts",{"_index":10139,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:5",{"_index":10141,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:8",{"_index":10140,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.ts",{"_index":10125,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:2",{"_index":10127,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:4",{"_index":10126,"title":{},"body":{"classes/ExternalSource.html":{}}}],["sourcecode",{"_index":25910,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sourcedescription",{"_index":7880,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["sourceentityid",{"_index":18860,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceentityname",{"_index":18864,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceexternalid",{"_index":20215,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["sourceid",{"_index":7198,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["sourceoptions",{"_index":4595,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["sourceparent",{"_index":3742,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparent.removechild(child",{"_index":3744,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparentid",{"_index":18649,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourcepath",{"_index":7304,"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":25728,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sourceschoolid",{"_index":5471,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourceschoolnumber",{"_index":20280,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["sourcesystem",{"_index":23921,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["sourcesystemid",{"_index":23899,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["sourcetype",{"_index":16656,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["space",{"_index":586,"title":{},"body":{"classes/AccountFactory.html":{},"classes/OauthClientBody.html":{}}}],["spalten",{"_index":5543,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["spare",{"_index":25285,"title":{},"body":{"license.html":{}}}],["sparse",{"_index":7570,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["speak",{"_index":25064,"title":{},"body":{"license.html":{}}}],["spec.ts",{"_index":25750,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["special",{"_index":11722,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["specialized",{"_index":25816,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specific",{"_index":1083,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardDoCopyService.html":{},"classes/BoardElementResponse.html":{},"controllers/CollaborativeStorageController.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"classes/IdentityManagementService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleColumnBoardResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["specifically",{"_index":25052,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["specification",{"_index":25979,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specifications",{"_index":26036,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specified",{"_index":2862,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/GuardAgainst.html":{},"license.html":{}}}],["specifies",{"_index":23284,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{},"license.html":{}}}],["specify",{"_index":11714,"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":26153,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["spirit",{"_index":25536,"title":{},"body":{"license.html":{}}}],["split",{"_index":18880,"title":{},"body":{"classes/ReferencesService.html":{},"interfaces/ServerConfig.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["splitting",{"_index":26469,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sql",{"_index":817,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["squashed",{"_index":26236,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["src",{"_index":25909,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["src/config",{"_index":1026,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core",{"_index":12092,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core/error/dto",{"_index":12826,"title":{},"body":{"controllers/GroupController.html":{}}}],["src/core/error/dto/error.response",{"_index":4244,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/interface",{"_index":4245,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/loggable",{"_index":13553,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["src/core/error/loggable/error.loggable",{"_index":15224,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["src/core/error/utils",{"_index":1314,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorMapper.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["src/core/logger",{"_index":1027,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BaseDORepo.html":{},"modules/BoardApiModule.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/GroupApiModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/ImportUserModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LessonModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"classes/OauthConfigMissingLoggableException.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/RegistrationPinModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["src/core/logger/interfaces",{"_index":12509,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/core/logger/logger.module",{"_index":673,"title":{},"body":{"modules/AccountModule.html":{}}}],["src/core/logger/logging.utils",{"_index":12686,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["src/core/logger/types",{"_index":12510,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/imports",{"_index":14508,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["src/infra/database",{"_index":1030,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/infra/mail/interfaces/mail",{"_index":20509,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["src/infra/rabbitmq",{"_index":1032,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/modules/authentication",{"_index":394,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authentication/decorator/auth.decorator",{"_index":396,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authorization",{"_index":15710,"title":{},"body":{"injectables/LessonService.html":{}}}],["src/modules/authorization/domain",{"_index":13190,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["src/modules/database",{"_index":26188,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["src/modules/group",{"_index":13045,"title":{},"body":{"injectables/GroupRule.html":{}}}],["src/modules/h5p",{"_index":13176,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/LibrariesContentType.html":{}}}],["src/shared/domain/entity/lesson.entity",{"_index":5773,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["sso",{"_index":1471,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sso.controller",{"_index":17151,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["sso.controller.ts",{"_index":17637,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:20",{"_index":17643,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:30",{"_index":17646,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso_auth_code_step",{"_index":1474,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["sso_internal_error",{"_index":17246,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{}}}],["sso_jwt_problem",{"_index":13831,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{}}}],["sso_login_failed",{"_index":17665,"title":{},"body":{"classes/OauthSsoErrorLoggableException.html":{}}}],["sso_user_not_found_after_provisioning",{"_index":24191,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso_user_notfound",{"_index":13873,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["ssoauthenticationerror",{"_index":1893,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["stack",{"_index":1477,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stand",{"_index":5556,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["standard",{"_index":25162,"title":{},"body":{"license.html":{}}}],["standards",{"_index":25164,"title":{},"body":{"license.html":{}}}],["start",{"_index":876,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["start(req",{"_index":24442,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["start.loggable.ts",{"_index":20173,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:11",{"_index":20175,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["start.loggable.ts:4",{"_index":20174,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:7",{"_index":24077,"title":{},"body":{"classes/UserLoginMigrationStartLoggable.html":{}}}],["startdate",{"_index":7512,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{}}}],["started",{"_index":1434,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["started.loggable.ts",{"_index":24173,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:5",{"_index":24174,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:8",{"_index":24175,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["startedat",{"_index":23900,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startet",{"_index":26459,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["starting",{"_index":24978,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["startmigration",{"_index":20954,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startmigration(@currentuser",{"_index":23878,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(currentuser",{"_index":23849,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(schoolid",{"_index":24047,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["startmigration(userid",{"_index":20958,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["starts",{"_index":15936,"title":{},"body":{"controllers/LoginController.html":{},"additional-documentation/nestjs-application.html":{}}}],["startschoolinusermigration",{"_index":14009,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["startschoolinusermigration(currentuser",{"_index":14031,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["starttime",{"_index":2314,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["startup",{"_index":26296,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["startuserloginmigrationuc",{"_index":20951,"title":{"injectables/StartUserLoginMigrationUc.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["state",{"_index":289,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TldrawWsService.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["state.entity",{"_index":19914,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["state.entity.ts",{"_index":7484,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["state.entity.ts:14",{"_index":7488,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:21",{"_index":7491,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:23",{"_index":7490,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:25",{"_index":7489,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:31",{"_index":11492,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:34",{"_index":11489,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:37",{"_index":11491,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:40",{"_index":11490,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.enum",{"_index":24397,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["state.factory",{"_index":15365,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["state.repo.ts",{"_index":11495,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:12",{"_index":11496,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:8",{"_index":11497,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.response",{"_index":9610,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["state.service.ts",{"_index":11501,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:10",{"_index":11506,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:6",{"_index":11504,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["stated",{"_index":25189,"title":{},"body":{"license.html":{}}}],["statelessauthorizationparams",{"_index":17641,"title":{"classes/StatelessAuthorizationParams.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["statemapping",{"_index":24665,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statemapping[state",{"_index":24672,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statement",{"_index":23491,"title":{},"body":{"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["static",{"_index":467,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolMetadataMapper.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"entities/InstalledLibrary.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReferencesService.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"modules/S3ClientModule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsTestModule.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["stating",{"_index":25241,"title":{},"body":{"license.html":{}}}],["statistic.builder.ts",{"_index":9345,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistic.builder.ts:5",{"_index":9347,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistics",{"_index":9339,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["statistics_reporting=false",{"_index":26346,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["status",{"_index":402,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ForbiddenOperationError.html":{},"controllers/GroupController.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"interfaces/NextcloudGroups.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/OcsResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"interfaces/RpcMessage.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ShareTokenController.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["status.copyentity",{"_index":3341,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["status.copyentity.id",{"_index":3387,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.copyentity.title",{"_index":3388,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.elements?.foreach((elementstatus",{"_index":7419,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.enum",{"_index":2155,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["status.factory",{"_index":19967,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["status.isoutdatedonscopecontext",{"_index":23320,"title":{},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.isoutdatedonscopeschool",{"_index":20097,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.mapper",{"_index":21948,"title":{},"body":{"classes/TaskMapper.html":{}}}],["status.mapper.ts",{"_index":22168,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.mapper.ts:5",{"_index":22169,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.originalentity",{"_index":7421,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.response",{"_index":4107,"title":{},"body":{"classes/BoardTaskResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{}}}],["status.response.ts",{"_index":4115,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:14",{"_index":22177,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:16",{"_index":6728,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.response.ts:17",{"_index":22176,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:20",{"_index":22172,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:21",{"_index":4128,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:23",{"_index":22173,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:24",{"_index":4127,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:26",{"_index":22175,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:27",{"_index":4123,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:29",{"_index":22174,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:3",{"_index":4122,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:30",{"_index":4124,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:33",{"_index":4126,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:36",{"_index":4125,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:9",{"_index":6732,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.status",{"_index":3345,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.ts",{"_index":6719,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:2",{"_index":6721,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:4",{"_index":6720,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["status_code",{"_index":6278,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["statuscode",{"_index":1081,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{}}}],["statusdto",{"_index":21951,"title":{},"body":{"classes/TaskMapper.html":{}}}],["statuses",{"_index":3307,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statuses.foreach((status",{"_index":3381,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statustext",{"_index":2115,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["stay",{"_index":25838,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["stemming",{"_index":5374,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["steps",{"_index":25076,"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":26398,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepshow",{"_index":26408,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stick",{"_index":26045,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["still",{"_index":7859,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stop",{"_index":5372,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/TimeoutInterceptor.html":{}}}],["storage",{"_index":3898,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/DeletionApiModule.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storage'})@apiresponse({status",{"_index":5094,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.adapter",{"_index":5076,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["storage.adapter.ts",{"_index":4998,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:15",{"_index":5014,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:30",{"_index":5022,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:40",{"_index":5028,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:49",{"_index":5020,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:58",{"_index":5017,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:67",{"_index":5024,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.config",{"_index":12417,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["storage.config.ts",{"_index":12088,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["storage.const",{"_index":1319,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{}}}],["storage.consumer.ts",{"_index":12329,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:14",{"_index":12334,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:31",{"_index":12338,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:48",{"_index":12342,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:63",{"_index":12340,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:82",{"_index":12344,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.controller.ts",{"_index":5086,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.controller.ts:32",{"_index":5100,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.mapper.ts",{"_index":12371,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:15",{"_index":12379,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:33",{"_index":12383,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:39",{"_index":12377,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:49",{"_index":12381,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:53",{"_index":12380,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:65",{"_index":12385,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.module",{"_index":12246,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{}}}],["storage.module.ts",{"_index":5123,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageModule.html":{}}}],["storage.params.ts",{"_index":7263,"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":7331,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:103",{"_index":7329,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:106",{"_index":7330,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:113",{"_index":18108,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:118",{"_index":18110,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:12",{"_index":11964,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:126",{"_index":18106,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:16",{"_index":11961,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:20",{"_index":11963,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:27",{"_index":12185,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:32",{"_index":12182,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:36",{"_index":12184,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:42",{"_index":11795,"title":{},"body":{"classes/FileParams.html":{}}}],["storage.params.ts:48",{"_index":9638,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:52",{"_index":9637,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:58",{"_index":19856,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:62",{"_index":19857,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:66",{"_index":19855,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:72",{"_index":20929,"title":{},"body":{"classes/SingleFileParams.html":{}}}],["storage.params.ts:79",{"_index":18936,"title":{},"body":{"classes/RenameFileParams.html":{}}}],["storage.params.ts:85",{"_index":7328,"title":{},"body":{"classes/CopyFilesOfParentParams.html":{}}}],["storage.params.ts:91",{"_index":7268,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.params.ts:95",{"_index":7266,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.producer",{"_index":12272,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{}}}],["storage.producer.ts",{"_index":12433,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:18",{"_index":12437,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:28",{"_index":12438,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:37",{"_index":12441,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:46",{"_index":12439,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:55",{"_index":12442,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.response.ts",{"_index":7233,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["storage.response.ts:22",{"_index":12012,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:26",{"_index":12014,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:29",{"_index":12015,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:32",{"_index":12020,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:35",{"_index":12018,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:38",{"_index":12019,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:41",{"_index":12010,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:44",{"_index":12013,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:47",{"_index":12016,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:50",{"_index":12017,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:53",{"_index":12011,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:56",{"_index":11934,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["storage.response.ts:6",{"_index":12009,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:66",{"_index":7292,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:74",{"_index":7293,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:77",{"_index":7295,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:81",{"_index":7294,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:84",{"_index":7235,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["storage.service",{"_index":5186,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/FilesStorageConsumer.html":{}}}],["storage.service.ts",{"_index":5126,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:119",{"_index":22477,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:12",{"_index":22467,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:14",{"_index":5132,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:18",{"_index":22469,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:24",{"_index":22475,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:29",{"_index":22471,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:32",{"_index":5137,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:36",{"_index":22473,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:43",{"_index":5145,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:47",{"_index":22482,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:61",{"_index":5134,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:65",{"_index":5133,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:69",{"_index":5141,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:79",{"_index":22488,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.ts",{"_index":7197,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["storage.uc",{"_index":5106,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.uc.ts",{"_index":5174,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:21",{"_index":5184,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:34",{"_index":5180,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:38",{"_index":5179,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:42",{"_index":5181,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:9",{"_index":5178,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage/collaborative",{"_index":4997,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["storage/controller/collaborative",{"_index":5085,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage/controller/dto/file",{"_index":7232,"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":19850,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["storage/controller/dto/team",{"_index":22335,"title":{},"body":{"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{}}}],["storage/controller/file",{"_index":12062,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["storage/controller/files",{"_index":12328,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage/dto/file.dto.ts",{"_index":11515,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:11",{"_index":11520,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:13",{"_index":11518,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:15",{"_index":11519,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:4",{"_index":11517,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/team",{"_index":22363,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["storage/entity",{"_index":11928,"title":{},"body":{"classes/FileRecordFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"modules/ServerConsoleModule.html":{}}}],["storage/entity/filerecord.entity.ts",{"_index":11820,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["storage/entity/filerecord.entity.ts:105",{"_index":11832,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:108",{"_index":11839,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:111",{"_index":11834,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:114",{"_index":11833,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:117",{"_index":11838,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:121",{"_index":11836,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:125",{"_index":11828,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:132",{"_index":11824,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:143",{"_index":11829,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:150",{"_index":11826,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:46",{"_index":12047,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:49",{"_index":12045,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:52",{"_index":12046,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:55",{"_index":12044,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:58",{"_index":12043,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/files",{"_index":1318,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["storage/helper/test",{"_index":22581,"title":{},"body":{"classes/TestHelper.html":{}}}],["storage/interface/interfaces.ts",{"_index":12584,"title":{},"body":{"interfaces/GetFileResponse.html":{},"interfaces/PreviewFileParams.html":{}}}],["storage/mapper/collaborative",{"_index":5044,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["storage/mapper/copy",{"_index":7297,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["storage/mapper/file",{"_index":11533,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{}}}],["storage/mapper/files",{"_index":12370,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage/mapper/preview.builder.ts",{"_index":17998,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:33",{"_index":18004,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:8",{"_index":18002,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/team",{"_index":5187,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["storage/mapper/team.mapper.ts",{"_index":22310,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/mapper/team.mapper.ts:12",{"_index":22313,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/repo/filerecord",{"_index":12021,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["storage/repo/filerecord.repo.ts",{"_index":11966,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:10",{"_index":11995,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:14",{"_index":11990,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:21",{"_index":11992,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:28",{"_index":11982,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:35",{"_index":11984,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:46",{"_index":11986,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:57",{"_index":11988,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:66",{"_index":11980,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:73",{"_index":11978,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:89",{"_index":11994,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/service/preview.service.ts",{"_index":18119,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:14",{"_index":18124,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:23",{"_index":18130,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:37",{"_index":18128,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:45",{"_index":18126,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:52",{"_index":18135,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:73",{"_index":18133,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:83",{"_index":18131,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/services/collaborative",{"_index":5125,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team",{"_index":5030,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/TeamPermissionsDto.html":{}}}],["storage/services/dto/team.dto",{"_index":5032,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team.dto.ts",{"_index":22273,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:11",{"_index":22279,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:13",{"_index":22277,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:23",{"_index":22394,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:25",{"_index":22393,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:27",{"_index":22392,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:9",{"_index":22278,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/strategy/base.interface.strategy.ts",{"_index":5165,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:12",{"_index":5172,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:14",{"_index":5169,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:16",{"_index":5168,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:18",{"_index":5170,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.interface.ts",{"_index":13139,"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":16875,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:129",{"_index":16902,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:158",{"_index":16889,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:172",{"_index":16888,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:192",{"_index":16891,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:202",{"_index":16895,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:21",{"_index":16881,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:38",{"_index":16898,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:59",{"_index":16886,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:75",{"_index":16882,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:98",{"_index":16896,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/uc/collaborative",{"_index":5173,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage:debug",{"_index":25738,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:dev",{"_index":25737,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:prod",{"_index":25739,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storageclient",{"_index":12576,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storageconfig",{"_index":18016,"title":{},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["storageconfig.connectionname",{"_index":18056,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["storagefilename",{"_index":9040,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageprovider",{"_index":8989,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["storageprovider.accesskeyid",{"_index":5419,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageprovider.endpointurl",{"_index":9029,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.region",{"_index":9031,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.secretaccesskey",{"_index":5420,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageproviderencryptedstringtype",{"_index":20974,"title":{"classes/StorageProviderEncryptedStringType.html":{}},"body":{"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderentity",{"_index":5209,"title":{"entities/StorageProviderEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviderid",{"_index":11625,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageproviderproperties",{"_index":21004,"title":{"interfaces/StorageProviderProperties.html":{}},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderrepo",{"_index":8985,"title":{"injectables/StorageProviderRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviders",{"_index":5217,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviders.foreach((storageprovider",{"_index":5418,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storageproviderscollectionname",{"_index":5216,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storagestrategy",{"_index":5079,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["store",{"_index":4261,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["store.getclient",{"_index":4280,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["stored",{"_index":23402,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["strategies",{"_index":5167,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/ToolLaunchService.html":{}}}],["strategy",{"_index":5004,"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":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["strategy.apply(oauthdata",{"_index":18341,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.createlaunchdata(userid",{"_index":23318,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.createlaunchrequest(toollaunchdata",{"_index":23313,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.getdata(input",{"_index":18337,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.interface.ts",{"_index":23322,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:6",{"_index":23323,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:8",{"_index":23325,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/auto",{"_index":2001,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["strategy/base.interface.strategy",{"_index":5036,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["strategy/basic",{"_index":2737,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["strategy/jwt",{"_index":1553,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{}}}],["strategy/jwt.strategy",{"_index":1555,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/ldap.strategy",{"_index":1556,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/local.strategy",{"_index":1557,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/nextcloud/nextcloud.client",{"_index":5077,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/nextcloud/nextcloud.strategy",{"_index":5078,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/oauth2",{"_index":16980,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["strategy/oauth2.strategy",{"_index":1558,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/oidc/service/oidc",{"_index":18275,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/sanis/response",{"_index":13037,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["strategy/tool",{"_index":23321,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/x",{"_index":1559,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["stream",{"_index":1304,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["stream.destroy",{"_index":19650,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["stream.on('data",{"_index":19651,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["streamablefile",{"_index":7641,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["streamablefile(data",{"_index":13324,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["streamablefile(fileresponse.data",{"_index":12404,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["streamablefile(res.data",{"_index":12081,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["streamablefile(response.data",{"_index":12551,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["streamablefile(result",{"_index":7665,"title":{},"body":{"controllers/CourseController.html":{}}}],["strict",{"_index":20615,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["string",{"_index":47,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PageContentDto.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["string'})@allow",{"_index":12183,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string'})@isstring()@isnotempty",{"_index":12181,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string(object[key",{"_index":2426,"title":{},"body":{"injectables/BBBService.html":{}}}],["string).split",{"_index":20514,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["string).tostring(cryptojs.enc.base64",{"_index":17809,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["stringifiedmessage",{"_index":15283,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["stringifiedmessage(message",{"_index":15293,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stringifymessage",{"_index":15919,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["stringifymessage(message",{"_index":15925,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["strings",{"_index":622,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/LegacyLogger.html":{},"classes/MongoPatterns.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["stringtoboolean",{"_index":203,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{}}}],["stringvalidator",{"_index":14124,"title":{"classes/StringValidator.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(escapedclasses",{"_index":14300,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedfirstname",{"_index":14286,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedlastname",{"_index":14292,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedloginname",{"_index":14295,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedname",{"_index":24229,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(filters.name",{"_index":24226,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(query.classes",{"_index":14155,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.firstname",{"_index":14143,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.lastname",{"_index":14146,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.loginname",{"_index":14149,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.name",{"_index":24129,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["stringvalidator.isstring(value",{"_index":21024,"title":{},"body":{"classes/StringValidator.html":{}}}],["string}/api/v3/sso/hydra/${oauthclientid",{"_index":13712,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["string}/api/v3/tldraw",{"_index":9685,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["strip",{"_index":24956,"title":{},"body":{"dependencies.html":{}}}],["strong",{"_index":11348,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["strongly",{"_index":26173,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["structure",{"_index":6027,"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":25904,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["structures",{"_index":15299,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stubstitution",{"_index":7596,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["stucture",{"_index":25632,"title":{},"body":{"todo.html":{}}}],["student",{"_index":3432,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["student_count",{"_index":11405,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["student_list",{"_index":19928,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentaccount",{"_index":714,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentcount",{"_index":4715,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["studententities",{"_index":11419,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentid",{"_index":21035,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["studentids",{"_index":6270,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["studentobjectids",{"_index":7788,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentobjectids.map((id",{"_index":7790,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentpermissions",{"_index":23773,"title":{},"body":{"classes/UserFactory.html":{}}}],["studentpseudonyms",{"_index":11429,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentpseudonyms.map((pseudonym",{"_index":11437,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["students",{"_index":7513,"title":{},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"injectables/SubmissionRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["studentswithid",{"_index":7753,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentswithid(numberofstudents",{"_index":7757,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentuser",{"_index":715,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentvisibility",{"_index":19917,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentwithid",{"_index":21149,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["studio",{"_index":25009,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["stuff",{"_index":25032,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["style",{"_index":26097,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["styles",{"_index":12606,"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":7187,"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":26484,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["subclass",{"_index":18082,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["subdirectories",{"_index":13539,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["subdividing",{"_index":25439,"title":{},"body":{"license.html":{}}}],["subelements",{"_index":8634,"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":11094,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["subject_types_supported",{"_index":17177,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjects",{"_index":16287,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["subjecttype",{"_index":17176,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjecttypeenum",{"_index":17174,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["sublicenses",{"_index":25469,"title":{},"body":{"license.html":{}}}],["sublicensing",{"_index":25206,"title":{},"body":{"license.html":{}}}],["submission",{"_index":3159,"title":{"entities/Submission.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"interfaces/CopyFileDO.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["submission.controller.ts",{"_index":4039,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:44",{"_index":4058,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:65",{"_index":4063,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:89",{"_index":4052,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.coursegroup?.name",{"_index":21278,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.entity",{"_index":21679,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.getsubmitterids",{"_index":21273,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.grade",{"_index":21275,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.id",{"_index":21271,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.isgraded",{"_index":21276,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isgradedforuser(user",{"_index":21734,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmitted",{"_index":21274,"title":{},"body":{"classes/SubmissionMapper.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmittedforuser(user",{"_index":21733,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isusersubmitter(user",{"_index":21324,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.service",{"_index":22161,"title":{},"body":{"injectables/TaskService.html":{}}}],["submission.task",{"_index":21329,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.task.aresubmissionspublic",{"_index":21327,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.teammembers",{"_index":21063,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissioncontainer",{"_index":21231,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainer.addchild(submissionitem",{"_index":21237,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainercontentbody",{"_index":6509,"title":{"classes/SubmissionContainerContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelement",{"_index":3149,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["submissioncontainerelement.children",{"_index":9901,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.every((child",{"_index":9898,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.filter(issubmissionitem",{"_index":21254,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.duedate",{"_index":6543,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelement.id",{"_index":18787,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelementcontent",{"_index":21100,"title":{"classes/SubmissionContainerElementContent.html":{}},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementcontentbody",{"_index":9650,"title":{"classes/SubmissionContainerElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelementnode",{"_index":3515,"title":{"entities/SubmissionContainerElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerelementprops",{"_index":21098,"title":{"interfaces/SubmissionContainerElementProps.html":{}},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["submissioncontainerelementresponse",{"_index":4405,"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":4376,"title":{},"body":{"controllers/CardController.html":{}}}],["submissioncontainerelementresponsemapper",{"_index":6444,"title":{"classes/SubmissionContainerElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponsemapper.getinstance",{"_index":6429,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["submissioncontainerelementresponsemapper.instance",{"_index":21116,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerid",{"_index":21121,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainernodeprops",{"_index":21110,"title":{"interfaces/SubmissionContainerNodeProps.html":{}},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerurlparams",{"_index":4054,"title":{"classes/SubmissionContainerUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionContainerUrlParams.html":{}}}],["submissioncontainterelement",{"_index":21239,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainterelement.duedate",{"_index":21242,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontroller",{"_index":21123,"title":{"controllers/SubmissionController.html":{}},"body":{"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{}}}],["submissionfactory",{"_index":21147,"title":{"classes/SubmissionFactory.html":{}},"body":{"classes/SubmissionFactory.html":{}}}],["submissionfactory.define(submission",{"_index":21161,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["submissionid",{"_index":21342,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{}}}],["submissionitem",{"_index":2675,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["submissionitem.children.filter(issubmissionitemcontent",{"_index":21224,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.completed",{"_index":18790,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.createdat",{"_index":21226,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.id",{"_index":18789,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.updatedat",{"_index":21225,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.userid",{"_index":2693,"title":{},"body":{"classes/BaseUc.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemfactory",{"_index":21188,"title":{"injectables/SubmissionItemFactory.html":{}},"body":{"injectables/SubmissionItemFactory.html":{}}}],["submissionitemid",{"_index":21247,"title":{},"body":{"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionitemnode",{"_index":3518,"title":{"entities/SubmissionItemNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemnodeprops",{"_index":21195,"title":{"interfaces/SubmissionItemNodeProps.html":{}},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemprops",{"_index":21183,"title":{"interfaces/SubmissionItemProps.html":{}},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["submissionitemresponse",{"_index":9856,"title":{"classes/SubmissionItemResponse.html":{}},"body":{"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemresponsemapper",{"_index":4072,"title":{"classes/SubmissionItemResponseMapper.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponsemapper.getinstance",{"_index":4079,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["submissionitemresponsemapper.instance",{"_index":21217,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponse})@apiresponse({status",{"_index":9840,"title":{},"body":{"controllers/ElementController.html":{}}}],["submissionitems",{"_index":4075,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitems.filter((item",{"_index":21260,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissionitems.map((item",{"_index":21219,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemservice",{"_index":3893,"title":{"injectables/SubmissionItemService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemsresponse",{"_index":21218,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemuc",{"_index":3028,"title":{"injectables/SubmissionItemUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemurlparams",{"_index":4045,"title":{"classes/SubmissionItemUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionmapper",{"_index":21133,"title":{"classes/SubmissionMapper.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionMapper.html":{}}}],["submissionmapper.maptostatusresponse(submission",{"_index":21142,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionproperties",{"_index":21042,"title":{"interfaces/SubmissionProperties.html":{}},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissionrepo",{"_index":1914,"title":{"injectables/SubmissionRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"modules/TaskModule.html":{}}}],["submissionresponses",{"_index":21140,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrule",{"_index":1876,"title":{"injectables/SubmissionRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{}}}],["submissions",{"_index":4040,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ITask.html":{},"interfaces/ParentInfo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.coursegroup",{"_index":22004,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["submissions.filter((submission",{"_index":21376,"title":{},"body":{"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.foreach((submission",{"_index":21737,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.map((submission",{"_index":21141,"title":{},"body":{"controllers/SubmissionController.html":{},"injectables/TaskService.html":{}}}],["submissions.some((submission",{"_index":21732,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissionservice",{"_index":21330,"title":{"injectables/SubmissionService.html":{}},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["submissionsresponse",{"_index":4068,"title":{"classes/SubmissionsResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionsresponse(submissionitemsresponse",{"_index":21223,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionsresponse})@apiresponse({status",{"_index":4056,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submissionstatuslistresponse",{"_index":21135,"title":{"classes/SubmissionStatusListResponse.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionstatuslistresponse(submissionresponses",{"_index":21144,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionstatusresponse",{"_index":21270,"title":{"classes/SubmissionStatusResponse.html":{}},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionuc",{"_index":21134,"title":{"injectables/SubmissionUc.html":{}},"body":{"controllers/SubmissionController.html":{},"injectables/SubmissionUc.html":{},"modules/TaskApiModule.html":{}}}],["submissionurlparams",{"_index":21126,"title":{"classes/SubmissionUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionUrlParams.html":{}}}],["submitted",{"_index":4121,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["submittedsubmissions",{"_index":21728,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitterids",{"_index":21738,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitters",{"_index":21272,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submitting",{"_index":21193,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submittingcoursegroupname",{"_index":21277,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["subpath",{"_index":22533,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["subpermissions",{"_index":17970,"title":{},"body":{"injectables/PermissionService.html":{}}}],["subprograms",{"_index":25181,"title":{},"body":{"license.html":{}}}],["subsection",{"_index":25293,"title":{},"body":{"license.html":{}}}],["subset",{"_index":6287,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application.html":{}}}],["subsitution",{"_index":3434,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substantial",{"_index":25331,"title":{},"body":{"license.html":{}}}],["substantially",{"_index":25437,"title":{},"body":{"license.html":{}}}],["substitution",{"_index":25814,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["substitution_teacher",{"_index":3433,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substitutionids",{"_index":7540,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherentities",{"_index":11421,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteacherids",{"_index":7593,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherpseudonyms",{"_index":11431,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteachers",{"_index":7514,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["subtypes",{"_index":9654,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["succeed",{"_index":26116,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["success",{"_index":1076,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BatchDeletionUc.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/IdentityManagementOauthService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["successcount",{"_index":2871,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["successful",{"_index":2851,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/LdapService.html":{},"controllers/LoginController.html":{},"classes/SuccessfulResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["successful.'})@apiresponse({status",{"_index":15939,"title":{},"body":{"controllers/LoginController.html":{}}}],["successful.loggable.ts",{"_index":20266,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:4",{"_index":20267,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:5",{"_index":24176,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:7",{"_index":20268,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:8",{"_index":24177,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully",{"_index":385,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/DeleteFilesUc.html":{},"classes/IdentityManagementService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully.'})@apiresponse({status",{"_index":361,"title":{},"body":{"controllers/AccountController.html":{}}}],["successfully.'})@apiunauthorizedresponse({description",{"_index":23162,"title":{},"body":{"controllers/ToolController.html":{}}}],["successfulres",{"_index":13146,"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":21387,"title":{"classes/SuccessfulResponse.html":{}},"body":{"classes/SuccessfulResponse.html":{},"controllers/UserController.html":{}}}],["successfulresponse(result",{"_index":23611,"title":{},"body":{"controllers/UserController.html":{}}}],["successor",{"_index":4594,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["such",{"_index":2997,"title":{},"body":{"entities/Board.html":{},"injectables/DashboardUc.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sue",{"_index":25479,"title":{},"body":{"license.html":{}}}],["suffice",{"_index":25339,"title":{},"body":{"license.html":{}}}],["sufficient",{"_index":11317,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["suffix",{"_index":25671,"title":{},"body":{"todo.html":{}}}],["suggested",{"_index":25617,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["suggests",{"_index":26029,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["suitable",{"_index":13697,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["suites",{"_index":25753,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sum",{"_index":24236,"title":{},"body":{"injectables/UserRepo.html":{}}}],["summary",{"_index":401,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["summary.builder.ts",{"_index":2877,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.builder.ts:4",{"_index":2879,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.interface.ts",{"_index":2867,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["super",{"_index":233,"title":{},"body":{"entities/Account.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LocalStrategy.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["super('ldap",{"_index":15036,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super('ldapalreadypersisted",{"_index":15033,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super(_em",{"_index":6892,"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":12449,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["super(authorizationservice",{"_index":4160,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["super(config",{"_index":2183,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["super(domainobject.id",{"_index":8224,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["super(dto",{"_index":24601,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["super(e.response.statustext",{"_index":1095,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["super(editormodel",{"_index":12610,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["super(error",{"_index":13554,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["super(errorcode",{"_index":1473,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["super(errorutils.createhttpexceptionoptions(error",{"_index":20193,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["super(json.stringify(axioserror.response?.data",{"_index":2103,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["super(props",{"_index":457,"title":{},"body":{"classes/AccountDto.html":{},"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthLoginResponse.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["super(props.id",{"_index":6701,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/UserLoginMigrationDO.html":{}}}],["super(provisioningfeatures",{"_index":19746,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["super(resp",{"_index":9616,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["super(total",{"_index":880,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["super(type",{"_index":1403,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["super.build",{"_index":2241,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["super.findbyid(id",{"_index":7807,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/LessonRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserRepo.html":{}}}],["superhero",{"_index":330,"title":{},"body":{"controllers/AccountController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["superhero.'})@apiresponse({status",{"_index":344,"title":{},"body":{"controllers/AccountController.html":{}}}],["supertest",{"_index":1607,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["supertest(this.app.gethttpserver",{"_index":1642,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).delete(path).set('accept",{"_index":22602,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('accept",{"_index":22601,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('authorization",{"_index":1640,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest.test",{"_index":1637,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supplement",{"_index":25364,"title":{},"body":{"license.html":{}}}],["support",{"_index":2530,"title":{},"body":{"classes/BaseDomainObject.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{},"license.html":{},"todo.html":{}}}],["support_${objectid",{"_index":14450,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["supported",{"_index":1622,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/HydraSsoService.html":{},"injectables/LessonRule.html":{},"classes/OauthClientBody.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"classes/TestApiClient.html":{}}}],["supporting",{"_index":25675,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["supports",{"_index":2586,"title":{},"body":{"classes/BaseFactory.html":{},"license.html":{}}}],["supportuserid",{"_index":14448,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["sure",{"_index":1223,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalValidationPipe.html":{},"injectables/PermissionService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["surrender",{"_index":25514,"title":{},"body":{"license.html":{}}}],["survive",{"_index":25396,"title":{},"body":{"license.html":{}}}],["sustained",{"_index":25572,"title":{},"body":{"license.html":{}}}],["svs",{"_index":23046,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["svs'})@apiokresponse({description",{"_index":23038,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["swagger",{"_index":24894,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["swapinternallinksvisitor",{"_index":5458,"title":{"classes/SwapInternalLinksVisitor.html":{}},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["swapinternallinksvisitor(idmap",{"_index":5482,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["swaplinkedids",{"_index":5448,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["swaplinkedids(boardid",{"_index":5454,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["swaplinkedidsinboards",{"_index":3280,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["swaplinkedidsinboards(copystatus",{"_index":3311,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["switch",{"_index":2038,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["switching",{"_index":26473,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["symbol('bbbsettings",{"_index":13721,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["symbol('defaultencryptionservice",{"_index":9926,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('keycloakconfigurationinputfiles",{"_index":13758,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["symbol('keycloaksettings",{"_index":13763,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["symbol('ldapencryptionservice",{"_index":9927,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('provisioningfeatures",{"_index":13786,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["symbol('toolfeatures",{"_index":13802,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["symbol('videoconferencesettings",{"_index":13814,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["symetrickeyencryptionservice",{"_index":9911,"title":{"injectables/SymetricKeyEncryptionService.html":{}},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["symetrickeyencryptionservice(logger",{"_index":9916,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["sync",{"_index":8852,"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":17716,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["syncboardelementreferences(boardelementtargets",{"_index":2998,"title":{},"body":{"entities/Board.html":{}}}],["syncindexes",{"_index":5349,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{}}}],["syncmode",{"_index":14776,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["syntax",{"_index":14712,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/NewsUc.html":{}}}],["sysmes",{"_index":1074,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["system",{"_index":3430,"title":{"classes/System.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["system(props",{"_index":21602,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["system.'})@apiresponse({status",{"_index":21460,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@httpcode(httpstatus.no_content",{"_index":21449,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@isoptional()@isenum(systemtypeenum",{"_index":21556,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["system.adapter",{"_index":12180,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.adapter.ts",{"_index":12114,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:12",{"_index":12124,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:18",{"_index":12154,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:26",{"_index":12126,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:36",{"_index":12139,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:48",{"_index":12151,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:57",{"_index":12142,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:68",{"_index":12129,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:78",{"_index":12147,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:84",{"_index":12137,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.alias",{"_index":15522,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserLoginMigrationService.html":{}}}],["system.displayname",{"_index":15524,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.dto",{"_index":17286,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["system.dto.ts",{"_index":18356,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:5",{"_index":18359,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:7",{"_index":18358,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:9",{"_index":18357,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.entity",{"_index":10134,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["system.id",{"_index":15193,"title":{},"body":{"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["system.ldapactive",{"_index":21512,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemUc.html":{}}}],["system.ldapconfig",{"_index":5400,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/SystemRule.html":{}}}],["system.ldapconfig.provider",{"_index":21629,"title":{},"body":{"injectables/SystemRule.html":{}}}],["system.ldapconfig.searchuserpassword",{"_index":5401,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.module",{"_index":21442,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["system.module.ts",{"_index":12179,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.oauthconfig",{"_index":5394,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.oauthconfig.clientsecret",{"_index":5395,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig",{"_index":5397,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{}}}],["system.oidcconfig.clientsecret",{"_index":5398,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig.idphint",{"_index":15543,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.params.ts",{"_index":20427,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["system.params.ts:12",{"_index":20429,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["system.params.ts:8",{"_index":20428,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["system.provisioningstrategy",{"_index":15527,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SystemDto.html":{}}}],["system.provisioningurl",{"_index":15529,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system.repo.ts",{"_index":15470,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:13",{"_index":15477,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:17",{"_index":15476,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:36",{"_index":15473,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.service.ts",{"_index":15493,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:15",{"_index":15497,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:21",{"_index":15498,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:30",{"_index":15500,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:45",{"_index":15504,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:71",{"_index":15502,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.type",{"_index":15520,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.url",{"_index":15531,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system/file",{"_index":12113,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["system?.displayname",{"_index":13102,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["system?.provisioningstrategy",{"_index":20371,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["systemapimodule",{"_index":20572,"title":{"modules/SystemApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SystemApiModule.html":{}}}],["systemcontroller",{"_index":21439,"title":{"controllers/SystemController.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{}}}],["systemdomainmapper",{"_index":21481,"title":{"classes/SystemDomainMapper.html":{}},"body":{"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{}}}],["systemdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":21601,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemdto",{"_index":13094,"title":{"classes/SystemDto.html":{}},"body":{"classes/GroupUcMapper.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemdto.alias",{"_index":15523,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.displayname",{"_index":15525,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.id",{"_index":15518,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.oauthconfig",{"_index":15526,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningstrategy",{"_index":15528,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningurl",{"_index":15530,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.type",{"_index":15521,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.url",{"_index":15532,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdtos",{"_index":21469,"title":{},"body":{"controllers/SystemController.html":{}}}],["systementity",{"_index":5210,"title":{"entities/SystemEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["systementityfactory",{"_index":14088,"title":{"classes/SystemEntityFactory.html":{}},"body":{"classes/ImportUserFactory.html":{},"classes/SystemEntityFactory.html":{}}}],["systementityfactory.build",{"_index":14090,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["systementityfactory.define(systementity",{"_index":21548,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["systementityprops",{"_index":15080,"title":{"interfaces/SystemEntityProps.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["systemfilterparams",{"_index":21452,"title":{"classes/SystemFilterParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{}}}],["systemid",{"_index":48,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemUc.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["systemidparams",{"_index":21447,"title":{"classes/SystemIdParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemIdParams.html":{}}}],["systemids",{"_index":24066,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemids[0",{"_index":24069,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemlistresponse",{"_index":21614,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemmapper",{"_index":15505,"title":{"classes/SystemMapper.html":{}},"body":{"injectables/LegacySystemService.html":{},"classes/SystemMapper.html":{}}}],["systemmapper.mapfromentitiestodtos(systems",{"_index":15517,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromentitytodto(system",{"_index":15509,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromoauthconfigentitytodto(entity.oauthconfig",{"_index":21567,"title":{},"body":{"classes/SystemMapper.html":{}}}],["systemmodule",{"_index":1525,"title":{"modules/SystemModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["systemoidcmapper",{"_index":21575,"title":{"classes/SystemOidcMapper.html":{}},"body":{"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitiestodtos(system",{"_index":21596,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitytodto(system",{"_index":21595,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromoidcconfigentitytodto(entity.id",{"_index":21585,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["systemoidcservice",{"_index":14635,"title":{"injectables/SystemOidcService.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["systemprops",{"_index":21431,"title":{"interfaces/SystemProps.html":{}},"body":{"classes/System.html":{},"classes/SystemDomainMapper.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{}}}],["systemprovisioningstrategy",{"_index":14395,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["systemprovisioningstrategy.iserv",{"_index":14403,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.oidc",{"_index":17727,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"classes/SystemEntityFactory.html":{}}}],["systemprovisioningstrategy.sanis",{"_index":19747,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.undefined",{"_index":18366,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["systemrepo",{"_index":15214,"title":{"injectables/SystemRepo.html":{}},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemresponse",{"_index":21616,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper",{"_index":21463,"title":{"classes/SystemResponseMapper.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper.mapfromdtotolistresponse(systemdtos",{"_index":21472,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromdtotoresponse(systemdto",{"_index":21476,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromoauthconfigdtotoresponse(system.oauthconfig",{"_index":21617,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponses",{"_index":18529,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["systemrule",{"_index":1864,"title":{"injectables/SystemRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SystemRule.html":{}}}],["systems",{"_index":5215,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/PublicSystemResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["systems.'})@apiresponse({status",{"_index":21455,"title":{},"body":{"controllers/SystemController.html":{}}}],["systems.filter((system",{"_index":15535,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemUc.html":{}}}],["systems.foreach((system",{"_index":5393,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systems.getitems().find((system",{"_index":23694,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["systems.map",{"_index":21612,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systems.map((system",{"_index":15539,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemscollectionname",{"_index":5214,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systemscope",{"_index":15478,"title":{"classes/SystemScope.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"classes/SystemScope.html":{}}}],["systemservice",{"_index":15482,"title":{"injectables/SystemService.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemstrategy",{"_index":18321,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["systemtype",{"_index":21643,"title":{},"body":{"injectables/SystemUc.html":{}}}],["systemtypeenum",{"_index":15475,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemtypeenum.ldap",{"_index":15483,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemtypeenum.oauth",{"_index":15485,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["systemtypeenum.oidc",{"_index":15487,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemuc",{"_index":21437,"title":{"injectables/SystemUc.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"injectables/SystemUc.html":{}}}],["t",{"_index":532,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBResponse.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/Builder.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/Group.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"injectables/NewsRepo.html":{},"interfaces/NextcloudGroups.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearRepo.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SortHelper.html":{},"classes/SortingParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["t.name",{"_index":21910,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["tab",{"_index":5341,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/TeamNewsController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["table",{"_index":16904,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["tablename",{"_index":229,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["tag",{"_index":107,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["tags",{"_index":16288,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"controllers/MetaTagExtractorController.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["tags'})@apiresponse({status",{"_index":16340,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["take",{"_index":13960,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["takes",{"_index":22077,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tangible",{"_index":25318,"title":{},"body":{"license.html":{}}}],["tap",{"_index":9826,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["target",{"_index":3011,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"injectables/BoardRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorLoggable.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/INewsScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"entities/LessonBoardElement.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolNews.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["target._id.tostring",{"_index":11306,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["target.constructor",{"_index":9977,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["target.entity",{"_index":2967,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{}}}],["target.entity.ts",{"_index":5599,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:21",{"_index":5603,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:32",{"_index":5602,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:35",{"_index":5601,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.id",{"_index":21654,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.name",{"_index":21655,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.service",{"_index":19429,"title":{},"body":{"injectables/RoomsService.html":{}}}],["target.service.ts",{"_index":5613,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:12",{"_index":5621,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:34",{"_index":5618,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:9",{"_index":5616,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.targetids",{"_index":16784,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.targetids.length",{"_index":16857,"title":{},"body":{"injectables/NewsUc.html":{}}}],["target.targetmodel",{"_index":16782,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.title",{"_index":5630,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target:in",{"_index":16783,"title":{},"body":{"classes/NewsScope.html":{}}}],["target_model_values",{"_index":16654,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["targetboard",{"_index":4169,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{}}}],["targetboardid",{"_index":4150,"title":{},"body":{"injectables/BoardUc.html":{}}}],["targetcard",{"_index":4567,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ContentElementService.html":{}}}],["targetcardid",{"_index":4550,"title":{},"body":{"injectables/CardUc.html":{}}}],["targetcolumn",{"_index":4497,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnUc.html":{}}}],["targetcolumnid",{"_index":5712,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["targetelement",{"_index":8591,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetelement.addreferences(element.getreferences",{"_index":8592,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetexternalid",{"_index":20213,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["targetfolder",{"_index":5239,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["targetgroupproperties",{"_index":16298,"title":{"interfaces/TargetGroupProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetgroups",{"_index":16289,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetid",{"_index":8069,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["targetids",{"_index":11304,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["targetinfomapper",{"_index":16680,"title":{"classes/TargetInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/TargetInfoMapper.html":{}}}],["targetinfomapper.maptoresponse(news.target",{"_index":16682,"title":{},"body":{"classes/NewsMapper.html":{}}}],["targetinforesponse",{"_index":16651,"title":{"classes/TargetInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{}}}],["targetmodel",{"_index":7881,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels",{"_index":16815,"title":{},"body":{"injectables/NewsUc.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.courses",{"_index":24715,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.events",{"_index":24713,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.map(async",{"_index":16853,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targetmodelsmapping",{"_index":24711,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[entitydo.targetmodel",{"_index":24725,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[videoconferencescope",{"_index":24718,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetparent",{"_index":3733,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.addchild(child",{"_index":3746,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.haschild(child",{"_index":3740,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.removechild(child",{"_index":3741,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparentid",{"_index":18651,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetparentinfo",{"_index":11883,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["targetpath",{"_index":7305,"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":11295,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["targetposition",{"_index":3734,"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":9338,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdoamin",{"_index":9341,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdomain",{"_index":2897,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targetrefid",{"_index":9336,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targets",{"_index":11300,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{}}}],["targets.filter((target",{"_index":16856,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targets.map((target",{"_index":11305,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/NewsScope.html":{}}}],["targetschoolid",{"_index":5473,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetschoolnumber",{"_index":20279,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["targetsystem",{"_index":23922,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["targetsystemid",{"_index":14358,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["task",{"_index":2959,"title":{"entities/Task.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["task's",{"_index":26034,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["task.availabledate",{"_index":21961,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.course",{"_index":19376,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/SubmissionRepo.html":{}}}],["task.createdat",{"_index":21956,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.createstudentstatusforuser(this.user",{"_index":9788,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createstudentstatusforuser(user",{"_index":22219,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.createteacherstatusforuser(this.user",{"_index":9787,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createteacherstatusforuser(user",{"_index":22218,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.creator",{"_index":19371,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.description",{"_index":21861,"title":{},"body":{"injectables/TaskCopyService.html":{},"classes/TaskMapper.html":{}}}],["task.description.replace(regex",{"_index":21862,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["task.descriptioninputformat",{"_index":21959,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.duedate",{"_index":21963,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.entity",{"_index":2960,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"classes/UsersList.html":{}}}],["task.factory",{"_index":21158,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["task.finishforuser(user",{"_index":22223,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.getparentdata",{"_index":21950,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.id",{"_index":21953,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.isdraft",{"_index":6259,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.isplanned",{"_index":6261,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.ispublished",{"_index":6256,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson",{"_index":19373,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson.course",{"_index":21299,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.lesson.coursegroup.course",{"_index":21300,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.module",{"_index":21778,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["task.name",{"_index":5838,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/TaskMapper.html":{},"injectables/TaskUrlHandler.html":{}}}],["task.name}${task.description",{"_index":5839,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["task.response",{"_index":3770,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["task.response.ts",{"_index":4092,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:15",{"_index":4102,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:19",{"_index":4103,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:22",{"_index":4096,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:25",{"_index":4101,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:29",{"_index":4097,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:33",{"_index":4099,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:36",{"_index":4100,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:39",{"_index":4098,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:42",{"_index":4106,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:45",{"_index":4105,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:5",{"_index":4095,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.restoreforuser(user",{"_index":22224,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.rule",{"_index":21320,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["task.submissions.getitems",{"_index":22166,"title":{},"body":{"injectables/TaskService.html":{}}}],["task.unpublish",{"_index":22228,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.updatedat",{"_index":21957,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskapimodule",{"_index":20574,"title":{"modules/TaskApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskApiModule.html":{}}}],["taskboardelement",{"_index":2969,"title":{"entities/TaskBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/TaskBoardElement.html":{}}}],["taskcontroller",{"_index":21776,"title":{"controllers/TaskController.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{}}}],["taskcopy",{"_index":21845,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopy.name",{"_index":21866,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyapiparams",{"_index":7432,"title":{"classes/TaskCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{}}}],["taskcopyparams",{"_index":21839,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyparentparams",{"_index":7434,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcopyservice",{"_index":3284,"title":{"injectables/TaskCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["taskcopyuc",{"_index":21773,"title":{"injectables/TaskCopyUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcourse",{"_index":19322,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcourse.name",{"_index":19325,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcreate",{"_index":13794,"title":{"interfaces/TaskCreate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["taskcreateparams",{"_index":21913,"title":{"classes/TaskCreateParams.html":{}},"body":{"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["taskdesc",{"_index":21949,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.color",{"_index":21965,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.courseid",{"_index":21955,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.coursename",{"_index":21954,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonhidden",{"_index":21969,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonname",{"_index":21966,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskelement",{"_index":3382,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["taskelements",{"_index":4008,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["taskfactory",{"_index":21157,"title":{"classes/TaskFactory.html":{}},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["taskfactory.build",{"_index":21162,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["taskfactory.define(task",{"_index":21929,"title":{},"body":{"classes/TaskFactory.html":{}}}],["taskid",{"_index":21339,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUrlParams.html":{}}}],["taskidentifier",{"_index":5835,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskidentifier}/${taskidentifier}.html",{"_index":5837,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskids",{"_index":21287,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["tasklistresponse",{"_index":21809,"title":{"classes/TaskListResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["tasklistresponse(taskresponses",{"_index":21821,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmapper",{"_index":21806,"title":{"classes/TaskMapper.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskMapper.html":{}}}],["taskmapper.maptoresponse(task",{"_index":21820,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmodule",{"_index":15277,"title":{"modules/TaskModule.html":{}},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["taskparent",{"_index":6211,"title":{"interfaces/TaskParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["taskparentdescriptions",{"_index":21681,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskparentpermission",{"_index":19366,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["taskproperties",{"_index":13795,"title":{"interfaces/TaskProperties.html":{}},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskrepo",{"_index":1915,"title":{"injectables/TaskRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskresponse",{"_index":21810,"title":{"classes/TaskResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["taskresponses",{"_index":21818,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskrule",{"_index":1877,"title":{"injectables/TaskRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{}}}],["tasks",{"_index":5800,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["tasks.filter((task",{"_index":6255,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["tasks.foreach((task",{"_index":5802,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["tasks.map((task",{"_index":22217,"title":{},"body":{"injectables/TaskUC.html":{}}}],["taskscope",{"_index":22001,"title":{"classes/TaskScope.html":{}},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{}}}],["taskscope('$or",{"_index":22011,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["taskservice",{"_index":5748,"title":{"injectables/TaskService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskstatus",{"_index":4112,"title":{"interfaces/TaskStatus.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/DtoCreator.html":{},"interfaces/ITask.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskstatus.mapper",{"_index":19301,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskstatus.mapper.ts",{"_index":4110,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatus.mapper.ts:5",{"_index":4113,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatusmapper",{"_index":21947,"title":{"classes/TaskStatusMapper.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{}}}],["taskstatusmapper.maptoresponse(status",{"_index":21952,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskstatusresponse",{"_index":21933,"title":{"classes/TaskStatusResponse.html":{}},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{}}}],["taskstatusresponse(status",{"_index":22171,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["tasksubmitterids",{"_index":21736,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskswithstatus",{"_index":21815,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskswithstatus.map((task",{"_index":21819,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskuc",{"_index":21774,"title":{"injectables/TaskUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["taskupdate",{"_index":13793,"title":{"interfaces/TaskUpdate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{}}}],["taskupdateparams",{"_index":21943,"title":{"classes/TaskUpdateParams.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["taskurlhandler",{"_index":16358,"title":{"injectables/TaskUrlHandler.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskurlparams",{"_index":21130,"title":{"classes/TaskUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"classes/TaskUrlParams.html":{}}}],["taskwithstatus",{"_index":19311,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/TaskMapper.html":{}}}],["taskwithstatusvo",{"_index":9754,"title":{"classes/TaskWithStatusVo.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskwithstatusvo(task",{"_index":9784,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/TaskUC.html":{}}}],["taskwithstatusvos",{"_index":22216,"title":{},"body":{"injectables/TaskUC.html":{}}}],["teacher",{"_index":3431,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teacher.firstname",{"_index":5830,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher.lastname",{"_index":5831,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher_student_visibility__is_configurable",{"_index":313,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["teacheraccount",{"_index":720,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teacherentities",{"_index":11420,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherid",{"_index":21660,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["teacherid.tohexstring",{"_index":4774,"title":{},"body":{"classes/ClassMapper.html":{}}}],["teacherids",{"_index":4589,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["teachernames",{"_index":4716,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/GroupUcMapper.html":{}}}],["teacherpermissions",{"_index":23774,"title":{},"body":{"classes/UserFactory.html":{}}}],["teacherpseudonyms",{"_index":11430,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherpseudonyms.concat(substitutionteacherpseudonyms",{"_index":11436,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teachers",{"_index":4739,"title":{},"body":{"classes/ClassInfoResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["teachers.map((user",{"_index":13114,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["teacherswithid",{"_index":7754,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacherswithid(numberofteachers",{"_index":7760,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacheruser",{"_index":721,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teaching_assistant",{"_index":8150,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["teachingassistant",{"_index":8151,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["team",{"_index":5018,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"properties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["team.entity",{"_index":7876,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["team.id",{"_index":5053,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.name",{"_index":5055,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.teamusers",{"_index":16921,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.length",{"_index":16931,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.map(async",{"_index":22434,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["team.userids",{"_index":22385,"title":{},"body":{"injectables/TeamService.html":{}}}],["team.userids.filter((u",{"_index":22386,"title":{},"body":{"injectables/TeamService.html":{}}}],["teamadmin",{"_index":5149,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamdto",{"_index":5016,"title":{"classes/TeamDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamentity",{"_index":7875,"title":{"entities/TeamEntity.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["teamentity.id",{"_index":22320,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.name",{"_index":22321,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.teamusers.map",{"_index":22316,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamfactory",{"_index":22296,"title":{"classes/TeamFactory.html":{}},"body":{"classes/TeamFactory.html":{}}}],["teamfactory.define(teamentity",{"_index":22308,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamid",{"_index":4291,"title":{},"body":{"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{}}}],["teammapper",{"_index":5121,"title":{"injectables/TeamMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/TeamMapper.html":{}}}],["teammemberids",{"_index":21066,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids",{"_index":21064,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids.map((id",{"_index":21067,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammembers",{"_index":21028,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{}}}],["teammemberswithid",{"_index":21150,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teammemberswithid(numberofteammembers",{"_index":21154,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teamname",{"_index":5054,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamnews",{"_index":7911,"title":{"entities/TeamNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnews(props",{"_index":7903,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnewscontroller",{"_index":16716,"title":{"controllers/TeamNewsController.html":{}},"body":{"modules/NewsModule.html":{},"controllers/TeamNewsController.html":{}}}],["teamowner",{"_index":5148,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teampermissions",{"_index":5144,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsbody",{"_index":5092,"title":{"classes/TeamPermissionsBody.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsdto",{"_index":5027,"title":{"classes/TeamPermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsmapper",{"_index":5122,"title":{"injectables/TeamPermissionsMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teamproperties",{"_index":22287,"title":{"interfaces/TeamProperties.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamrole",{"_index":5089,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.roleid",{"_index":5192,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.teamid",{"_index":5191,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamroledto",{"_index":5090,"title":{"classes/TeamRoleDto.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamRoleDto.html":{}}}],["teamrolepermissionsdto",{"_index":5051,"title":{"classes/TeamRolePermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamrule",{"_index":1878,"title":{"injectables/TeamRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/TeamRule.html":{}}}],["teams",{"_index":8068,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teams.foreach((team",{"_index":22384,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.length",{"_index":22389,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.map((team",{"_index":13864,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["teamsapimodule",{"_index":20576,"title":{"modules/TeamsApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TeamsApiModule.html":{}}}],["teamservice",{"_index":22374,"title":{"injectables/TeamService.html":{}},"body":{"injectables/TeamService.html":{},"modules/TeamsModule.html":{}}}],["teamsmapper",{"_index":5130,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["teamsmodule",{"_index":9055,"title":{"modules/TeamsModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{}}}],["teamsrepo",{"_index":1916,"title":{"injectables/TeamsRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/IdTokenService.html":{},"modules/OauthProviderModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["teamstorageuc",{"_index":5111,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["teamsubmissions",{"_index":13797,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["teamurlparams",{"_index":22327,"title":{"classes/TeamUrlParams.html":{}},"body":{"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{}}}],["teamuser",{"_index":16897,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamsRepo.html":{}}}],["teamuser.role.id",{"_index":22318,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.school.id",{"_index":22319,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.user.id",{"_index":22317,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{}}}],["teamuserdto",{"_index":16901,"title":{"classes/TeamUserDto.html":{}},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamuserentity",{"_index":22284,"title":{"classes/TeamUserEntity.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{}}}],["teamuserentity(teamuser",{"_index":22295,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamuserfactory",{"_index":22304,"title":{"classes/TeamUserFactory.html":{}},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["teamuserfactory.buildwithid",{"_index":22309,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserfactory.define(teamuserentity",{"_index":22415,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["teamuserfactory.withroleanduserid(role",{"_index":22306,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserproperties",{"_index":22288,"title":{"interfaces/TeamUserProperties.html":{}},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers",{"_index":16885,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers(value",{"_index":22293,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers.map(async",{"_index":16938,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["teardown",{"_index":25644,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tech",{"_index":25788,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technical",{"_index":9962,"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":25213,"title":{},"body":{"license.html":{}}}],["tell",{"_index":25780,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tells",{"_index":6284,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"license.html":{}}}],["temp",{"_index":12130,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temp/:file",{"_index":13317,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["tempfile",{"_index":22511,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity",{"_index":22494,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity.ts",{"_index":13534,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["tempfile.entity.ts:19",{"_index":13537,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:22",{"_index":13536,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:25",{"_index":13541,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:28",{"_index":13535,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:31",{"_index":13542,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.size",{"_index":22515,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempflow.alias",{"_index":14700,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["template",{"_index":1167,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["template')@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":23029,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["template.replace(/\\{id\\}/g",{"_index":10464,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["template.response",{"_index":6737,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}}}],["template.response.ts",{"_index":6738,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:10",{"_index":6749,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:13",{"_index":6746,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:16",{"_index":6745,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:19",{"_index":6748,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:22",{"_index":6743,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:7",{"_index":6744,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["temporary",{"_index":357,"title":{},"body":{"controllers/AccountController.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/UserBoardRoles.html":{}}}],["temporaryfileproperties",{"_index":13527,"title":{"interfaces/TemporaryFileProperties.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temporaryfilerepo",{"_index":13391,"title":{"injectables/TemporaryFileRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["temporaryfilestorage",{"_index":13392,"title":{"injectables/TemporaryFileStorage.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["tempted",{"_index":26451,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["term",{"_index":25187,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["terminal",{"_index":26260,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["terminate",{"_index":25400,"title":{},"body":{"license.html":{}}}],["terminated",{"_index":25418,"title":{},"body":{"license.html":{}}}],["terminates",{"_index":25409,"title":{},"body":{"license.html":{}}}],["termination",{"_index":25397,"title":{},"body":{"license.html":{}}}],["terms",{"_index":24998,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["test",{"_index":981,"title":{},"body":{"injectables/AccountValidationService.html":{},"interfaces/CleanOptions.html":{},"injectables/FeathersAuthProvider.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TestBootstrapConsole.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["test.createtestingmodule",{"_index":22557,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["test.module.ts",{"_index":12467,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:18",{"_index":22961,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:29",{"_index":22787,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["test.module.ts:30",{"_index":12468,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["test.module.ts:37",{"_index":12570,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["test.module.ts:53",{"_index":13410,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["test/test",{"_index":22546,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["testapiclient",{"_index":1617,"title":{"classes/TestApiClient.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testbootstrapconsole",{"_index":22544,"title":{"classes/TestBootstrapConsole.html":{}},"body":{"classes/TestBootstrapConsole.html":{}}}],["testcase",{"_index":26050,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testconnection",{"_index":22565,"title":{"classes/TestConnection.html":{}},"body":{"classes/TestConnection.html":{}}}],["testdata",{"_index":26070,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tested",{"_index":7957,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testhelper",{"_index":22580,"title":{"classes/TestHelper.html":{}},"body":{"classes/TestHelper.html":{}}}],["testing",{"_index":13305,"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":13277,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["testingmodule",{"_index":22553,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testkcconnection",{"_index":14551,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["testmodule",{"_index":26189,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.close",{"_index":26195,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(entitymanager",{"_index":26192,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(mikroorm",{"_index":26191,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(newsrepo",{"_index":26190,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testname",{"_index":22591,"title":{},"body":{"classes/TestHelper.html":{}}}],["testreqestconst",{"_index":1612,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.accesstoken",{"_index":1676,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.loginpath",{"_index":1652,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.prefix",{"_index":1635,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testrequestinstance",{"_index":1639,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["tests",{"_index":2551,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FileStorageConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["testtag",{"_index":22590,"title":{},"body":{"classes/TestHelper.html":{}}}],["testtext",{"_index":22586,"title":{},"body":{"classes/TestHelper.html":{}}}],["testuser",{"_index":8044,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["testxapikeyclient",{"_index":22593,"title":{"classes/TestXApiKeyClient.html":{}},"body":{"classes/TestXApiKeyClient.html":{}}}],["text",{"_index":2912,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"entities/InstalledLibrary.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/TestHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["text(value",{"_index":19081,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["text.length",{"_index":22589,"title":{},"body":{"classes/TestHelper.html":{}}}],["text.types.ts",{"_index":19058,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:14",{"_index":19060,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:20",{"_index":19061,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:5",{"_index":19059,"title":{},"body":{"classes/RichText.html":{}}}],["text.validator.ts",{"_index":25954,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["text1",{"_index":5545,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text2",{"_index":5565,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text3",{"_index":5581,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text4",{"_index":5593,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["textutils",{"_index":25940,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["textvalidator",{"_index":25955,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["tha",{"_index":3966,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["that's",{"_index":794,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["themself",{"_index":26480,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["themselves",{"_index":26141,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["then((pseudonymdo",{"_index":16942,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["then((resp",{"_index":2398,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["there's",{"_index":22082,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["therefore",{"_index":7786,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["things",{"_index":25072,"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":21898,"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":25235,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["this(entityclass",{"_index":2591,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this._allowemptyquery",{"_index":20491,"title":{},"body":{"classes/Scope.html":{}}}],["this._collectdefaultmetrics",{"_index":18191,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._collectmetricsroutemetrics",{"_index":18192,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._columnboardid",{"_index":5605,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._columnboardid.tohexstring",{"_index":5609,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._contextid",{"_index":5501,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contextid.tohexstring",{"_index":5503,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._contextid?.tohexstring",{"_index":20651,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contexttype",{"_index":5499,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._creatorid",{"_index":6678,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._creatorid.tohexstring",{"_index":6670,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this._creatorid?.tohexstring",{"_index":11866,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._em.aggregate(fileentity",{"_index":12214,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.aggregate(lessonentity",{"_index":15651,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.aggregate(user",{"_index":24237,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.assign(existingentity",{"_index":2500,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.clear",{"_index":791,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.count(this.entityname",{"_index":6899,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{}}}],["this._em.create(entityname",{"_index":2501,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.create(this.entityname",{"_index":2650,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.find(account",{"_index":776,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.find(coursegroup",{"_index":21297,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.find(fileentity",{"_index":12207,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.find(ltitool",{"_index":16166,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.find(role",{"_index":19262,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.find(storageproviderentity",{"_index":21017,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["this._em.find(systementity",{"_index":15490,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["this._em.find(teamentity",{"_index":22437,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.find(this.entityname",{"_index":787,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["this._em.find(tldrawdrawing",{"_index":22771,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.find(user",{"_index":23692,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findandcount",{"_index":800,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["this._em.findandcount(course",{"_index":7955,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findandcount(coursegroup",{"_index":7809,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.findandcount(filerecord",{"_index":12007,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findandcount(importuser",{"_index":14232,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findandcount(lessonentity",{"_index":15648,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.findandcount(news",{"_index":16748,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findandcount(schoolentity",{"_index":15406,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findandcount(task",{"_index":22086,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.findandcount(this.entityname",{"_index":15777,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/SubmissionRepo.html":{}}}],["this._em.findandcount(user",{"_index":23680,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findone",{"_index":6901,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findone(account",{"_index":772,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findone(board",{"_index":4001,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findone(importuser",{"_index":14213,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findone(ltitool",{"_index":16169,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findone(schoolentity",{"_index":15404,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findone(this.entityname",{"_index":10723,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findone(userloginmigrationentity",{"_index":23982,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.findoneorfail",{"_index":6900,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findoneorfail(account",{"_index":777,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findoneorfail(board",{"_index":4005,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findoneorfail(course",{"_index":4003,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findoneorfail(entityname",{"_index":2499,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.findoneorfail(federalstateentity",{"_index":11498,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["this._em.findoneorfail(filerecord",{"_index":12008,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findoneorfail(importuser",{"_index":14210,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findoneorfail(ltitool",{"_index":16168,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findoneorfail(news",{"_index":16744,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findoneorfail(role",{"_index":19260,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.findoneorfail(schoolyearentity",{"_index":20455,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["this._em.findoneorfail(sharetoken",{"_index":20784,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["this._em.findoneorfail(teamentity",{"_index":22433,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.findoneorfail(this.entityname",{"_index":2516,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findoneorfail(user",{"_index":24256,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.findoneorfail(videoconference",{"_index":24717,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["this._em.flush",{"_index":781,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.getreference(entityname",{"_index":779,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.getreference(externaltoolentity",{"_index":20028,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.getreference(role",{"_index":23715,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.getreference(schoolentity",{"_index":20026,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(schoolexternaltoolentity",{"_index":6917,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.getreference(systementity",{"_index":15429,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(this.entityname",{"_index":2506,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.getreference(userloginmigrationentity",{"_index":15431,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.map(fileentity",{"_index":12216,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.map(lessonentity",{"_index":15653,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.map(user",{"_index":24250,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.nativedelete(importuser",{"_index":14237,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.nativedelete(this.entityname",{"_index":6893,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.nativedelete(user",{"_index":24255,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.persist(account",{"_index":780,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.persistandflush(board",{"_index":4004,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.persistandflush(entities",{"_index":2651,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.persistandflush(entity",{"_index":22770,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.populate(columnboardelements",{"_index":4014,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(course",{"_index":7947,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.populate(coursegroup",{"_index":7808,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.populate(coursenews",{"_index":16754,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(importuser.user",{"_index":14211,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(lesson",{"_index":15643,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(lessonelements",{"_index":4012,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(lessons",{"_index":15649,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(newsentities",{"_index":16749,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(newsentity",{"_index":16745,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(role",{"_index":22440,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(schoolnews",{"_index":16752,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(submissions",{"_index":21298,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.populate(taskelements",{"_index":4010,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(tasks",{"_index":22002,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.populate(teamnews",{"_index":16753,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(teamuser",{"_index":22435,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(user",{"_index":23686,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.populate(userentity",{"_index":23682,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.populate(usermatches",{"_index":14236,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(users",{"_index":24252,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.remove(entities).flush",{"_index":2508,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.removeandflush(account",{"_index":786,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.removeandflush(entities",{"_index":2652,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.removeandflush(entity",{"_index":22772,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._id",{"_index":8607,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this._instance",{"_index":18198,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._iscopyfrom",{"_index":11873,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._iscopyfrom?.tohexstring",{"_index":11868,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._isenabled",{"_index":18188,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._lockid",{"_index":11682,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._lockid?.tohexstring",{"_index":11642,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._oauthconfigcache",{"_index":14830,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this._operator",{"_index":20490,"title":{},"body":{"classes/Scope.html":{}}}],["this._origintoolid",{"_index":8200,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._origintoolid?.tohexstring",{"_index":8169,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._ownerid",{"_index":11675,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._ownerid.tohexstring",{"_index":11641,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._parentid",{"_index":6676,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid.tohexstring",{"_index":6672,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid?.tohexstring",{"_index":11640,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._port",{"_index":18190,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._queries",{"_index":20493,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.length",{"_index":20492,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.push(query",{"_index":20495,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries[0",{"_index":20494,"title":{},"body":{"classes/Scope.html":{}}}],["this._route",{"_index":18189,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._schoolid",{"_index":6680,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._schoolid.tohexstring",{"_index":6674,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.a11ytitle",{"_index":6644,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.abbreviation",{"_index":7502,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.acceptconsentrequest",{"_index":17391,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.acceptloginrequest(currentuserid",{"_index":17542,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.accesskeyid",{"_index":21007,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.accesstoken",{"_index":15971,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.accountlookupservice.getinternalid(id",{"_index":960,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyid(internalid",{"_index":953,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyuserid(userid",{"_index":954,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyid(accountid",{"_index":1006,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyid(internalid",{"_index":929,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyuserid(userid",{"_index":932,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyusernameandsystemid(username",{"_index":934,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmany(offset",{"_index":965,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmultiplebyuserid(userids",{"_index":930,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.save(account",{"_index":949,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(email",{"_index":989,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(username",{"_index":957,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernamepartialmatch(username",{"_index":955,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountservice.findbyuserid(user.id",{"_index":17083,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.accountservice.findbyuseridorfail(currentuserid",{"_index":24163,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.findbyuseridorfail(userid",{"_index":24317,"title":{},"body":{"injectables/UserService.html":{}}}],["this.accountservice.findbyusernameandsystemid(username",{"_index":1726,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.findmany(skip",{"_index":14965,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.accountservice.save(account",{"_index":24169,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.save(accountcopy",{"_index":24171,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.savewithvalidation",{"_index":17806,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.accountservice.searchbyusernameexactmatch(username",{"_index":1727,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.updatelasttriedfailedlogin(id",{"_index":1752,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountuc.deleteaccountbyid(currentuser",{"_index":424,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.findaccountbyid(currentuser",{"_index":406,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.replacemytemporarypassword(currentuser.userid",{"_index":426,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.searchaccounts(currentuser",{"_index":404,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updateaccountbyid(currentuser",{"_index":422,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updatemyaccount(currentuser.userid",{"_index":420,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.action",{"_index":22753,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.activated",{"_index":250,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{}}}],["this.active",{"_index":15049,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.adapter.createteam(team",{"_index":5163,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.deleteteam(teamid",{"_index":5162,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteam(team",{"_index":5164,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteampermissionsforrole",{"_index":5159,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.addclientprotocolmappers(defaultclientinternalid",{"_index":14728,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.addexternaloauth2datatoconfig(tool.config",{"_index":11050,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.additionalinfo",{"_index":13875,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.addlessons(builder",{"_index":5785,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addquery",{"_index":7034,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":16787,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(queries[0",{"_index":16788,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(query",{"_index":12042,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["this.addroom(room",{"_index":8561,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.addtasks(builder",{"_index":5786,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addteacherroleifadmin(externaluser",{"_index":19757,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.addto",{"_index":11758,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.adminidandtoken",{"_index":1180,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.alias",{"_index":15158,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.allowedapikeys",{"_index":24806,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowedapikeys.includes(apikey",{"_index":24808,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowmodstounmuteusers",{"_index":2196,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.allrooms",{"_index":8571,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.alternativetext",{"_index":11575,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.amqpconnection.publish",{"_index":1337,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.amqpconnection.publish(this.options.exchange",{"_index":16255,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.amqpconnection.request>(this.createrequest(event",{"_index":19475,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.amqpconnectionmanager.getconnections().map((connection",{"_index":18578,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["this.ancestorids.length",{"_index":3941,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.ancestorids[this.ancestorids.length",{"_index":3935,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.antareskey",{"_index":7498,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.apikey",{"_index":9097,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.apikeyheader",{"_index":9131,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.app",{"_index":1631,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.appendnotcontainedboardelements(boardelementtargets",{"_index":3000,"title":{},"body":{"entities/Board.html":{}}}],["this.attendeepw",{"_index":2194,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.aud",{"_index":14449,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["this.authendpoint",{"_index":15094,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authenticationservice.checkbrutforce(account",{"_index":15234,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.loadaccount",{"_index":15254,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(`${externalschoolid}/${username}`.tolowercase",{"_index":15250,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(username",{"_index":15857,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizepassword(password",{"_index":15240,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizeusername(username",{"_index":15239,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.removejwtfromwhitelist(userjwt",{"_index":24110,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.authenticationservice.updatelasttriedfailedlogin(account.id",{"_index":15242,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.author",{"_index":11760,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.authorcomments",{"_index":6659,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authorisation.checkpermission(authorizableuser",{"_index":21905,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.checkpermission(user",{"_index":15604,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisation.getuserwithpermissions(userid",{"_index":15583,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(authorizableuser",{"_index":21903,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(user",{"_index":15598,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisationservice",{"_index":9762,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorisationservice.hascoursewritepermission(user",{"_index":19461,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.authorisationservice.haspermission(this.user",{"_index":9772,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorization.checkpermissionbyreferences(userid",{"_index":7733,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["this.authorizationhelper.hasaccesstoentity",{"_index":7965,"title":{},"body":{"injectables/CourseRule.html":{}}}],["this.authorizationhelper.hasaccesstoentity(user",{"_index":7816,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissions(user",{"_index":1993,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissionsbyrole(isteamuser.role",{"_index":22373,"title":{},"body":{"injectables/TeamRule.html":{}}}],["this.authorizationhelper.hasoneofpermissions(user",{"_index":1994,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.authorizationreferenceservice.checkpermissionbyreferences",{"_index":20892,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkallpermissions(user",{"_index":10277,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkentitypermissions",{"_index":16842,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkentitypermissions(userid",{"_index":16825,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkoneofpermissions(user",{"_index":22204,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.checkpermission",{"_index":4987,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{}}}],["this.authorizationservice.checkpermission(authorizableuser",{"_index":23351,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.authorizationservice.checkpermission(user",{"_index":2685,"title":{},"body":{"classes/BaseUc.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.checkpermissionbyreferences",{"_index":7748,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.authorizationservice.checkpermissions(user",{"_index":26421,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.getentitypermissions(userid",{"_index":16858,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getpermittedentities(userid",{"_index":16854,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuser.userid",{"_index":17355,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuserid",{"_index":17549,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(pseudonymuserid",{"_index":18505,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(userid",{"_index":1962,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasallpermissions(user",{"_index":22220,"title":{},"body":{"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasoneofpermissions(user",{"_index":22227,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.haspermission(user",{"_index":1964,"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":26400,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationurl",{"_index":15142,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authorizeaccess",{"_index":14571,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.authors",{"_index":6653,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authservice.checkpermission",{"_index":5156,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.generatejwt(createjwtpayload",{"_index":16015,"title":{},"body":{"injectables/LoginUc.html":{}}}],["this.authservice.getuserwithpermissions(currentuserid",{"_index":5157,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authtoken",{"_index":19151,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.availabledate",{"_index":21688,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.awareness",{"_index":24777,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.on('update",{"_index":24780,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.setlocalstate(null",{"_index":24779,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awarenesschangehandler",{"_index":24781,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.axiosconfig",{"_index":13623,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.axioserror.message",{"_index":2108,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.axioserror.stack",{"_index":2111,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.basepath",{"_index":5232,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.baseroute",{"_index":1632,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.baseurl",{"_index":2716,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["this.baseurl).tostring",{"_index":9104,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.batchdeletionservice.queuedeletionrequests(inputs",{"_index":2925,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["this.batchdeletionuc.deleterefsfromtxtfile",{"_index":9376,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.bbbresponse",{"_index":24399,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["this.bbbservice.create(configbuilder.build",{"_index":24527,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.end(config",{"_index":24594,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.bbbservice.getmeetinginfo(config",{"_index":24614,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.bbbservice.getmeetinginfo(new",{"_index":24513,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.join(joinbuilder.build",{"_index":24646,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.bbbsettings.host",{"_index":2386,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.presentationurl",{"_index":2388,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.salt",{"_index":2387,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.birthday",{"_index":11269,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.birthtime",{"_index":11703,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.board",{"_index":9761,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.board.getelements",{"_index":9764,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.boardcopyservice.copyboard",{"_index":7699,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(anyboarddo",{"_index":2683,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo",{"_index":2686,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo).then((boarddoauthorizable",{"_index":4570,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(submissioncontainerelement",{"_index":21256,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.boarddocopyservice.copy",{"_index":5475,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.delete(domainobject",{"_index":3739,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findbyclassandid(card",{"_index":4505,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findbyclassandid(column",{"_index":5699,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findbyclassandid(columnboard",{"_index":5461,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyid(boardid",{"_index":5481,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.findbyid(elementid",{"_index":6472,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findbyid(id",{"_index":3454,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.findbyid(rootid",{"_index":3462,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyids(cardids",{"_index":4506,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findidsbyexternalreference(reference",{"_index":5530,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findparentofid(card.id",{"_index":4516,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findparentofid(child.id",{"_index":3743,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(column.id",{"_index":5703,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findparentofid(domainobject.id",{"_index":3736,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(element.id",{"_index":6483,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(elementid",{"_index":6474,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(submissionitem.id",{"_index":21240,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.getancestorids(boarddo",{"_index":3457,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.gettitlesbyids(boardids",{"_index":5535,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(board",{"_index":5484,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(card",{"_index":4517,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.save(column",{"_index":5704,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.save(columnboard",{"_index":5536,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(copystatus.copyentity",{"_index":5480,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.save(element",{"_index":6484,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(parent.children",{"_index":3738,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(sourceparent.children",{"_index":3745,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.save(submissioncontainer.children",{"_index":21238,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.save(targetparent.children",{"_index":3747,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorule",{"_index":19508,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.boarddoservice.deletewithdescendants(board",{"_index":5537,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddoservice.deletewithdescendants(card",{"_index":4514,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.deletewithdescendants(column",{"_index":5701,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.deletewithdescendants(element",{"_index":6478,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddoservice.move(card",{"_index":4515,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.move(column",{"_index":5702,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.move(element",{"_index":6479,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boardelement",{"_index":6776,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["this.boardelementservice.findbyid(contextexternaltool.contextref.id",{"_index":23355,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boardelementtype",{"_index":5728,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["this.boardmanagementuc.createboard(courseid",{"_index":3822,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.boardnodeauthorizableservice",{"_index":18849,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.boardnoderepo",{"_index":3705,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(boarddo.id",{"_index":3701,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(childid",{"_index":3698,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(id",{"_index":3675,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(parent.id",{"_index":18764,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.boardnoderepo.finddescendants(boardnode",{"_index":3676,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.finddescendantsofmany(boardnodes",{"_index":3683,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardrepo.findbycourseid(course.id",{"_index":19463,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.findbycourseid(courseid",{"_index":7689,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boardrepo.findbycourseid(roomid",{"_index":19458,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(board",{"_index":19437,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(boardcopy",{"_index":3343,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.boardservice.getboardauthorizable(boardelement",{"_index":23356,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boarduc.createcolumn(currentuser.userid",{"_index":3268,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.deleteboard(currentuser.userid",{"_index":3266,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboard(currentuser.userid",{"_index":3252,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboardcontext(currentuser.userid",{"_index":3257,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.movecolumn(currentuser.userid",{"_index":5660,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.boarduc.updateboardtitle(currentuser.userid",{"_index":3262,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boardurlhandler",{"_index":16454,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.bsonconverter.deserialize(bsondocuments",{"_index":5316,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bsonconverter.serialize(jsondocuments",{"_index":5335,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bucket",{"_index":11664,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.build",{"_index":8339,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["this.build(deletionexecutiontriggerstatus.failure",{"_index":9189,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(deletionexecutiontriggerstatus.success",{"_index":9188,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(params",{"_index":2594,"title":{},"body":{"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{}}}],["this.build(requestid",{"_index":18555,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.build(requiredpermissions",{"_index":1791,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["this.build(undefined",{"_index":18556,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.buildchildren(boardnode",{"_index":3564,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.buildcopyentitydict(elementstatus).foreach((el",{"_index":7420,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.builddomainobject(entity",{"_index":20365,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.builddomainobject(savedentity",{"_index":20373,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.builddrawing",{"_index":6416,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.builddtowithelements(mappedelements",{"_index":9767,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.buildexternaltool",{"_index":6420,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildfile",{"_index":6410,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildgroupsclaim(teams",{"_index":13861,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.buildlink",{"_index":6412,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildrichtext",{"_index":6414,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildscope(query",{"_index":6894,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this.buildsubmissioncontainer",{"_index":6418,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildtokenrequestpayload(code",{"_index":17047,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.byuseridquery(userid",{"_index":21295,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.cacheexpiration",{"_index":19261,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["this.cachemanager.del(redisidentifier",{"_index":14515,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.cacheservice.getstoretype",{"_index":14514,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.calculatenumberofsubmitters(gradedsubmissions",{"_index":21750,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calculatenumberofsubmitters(submittedsubmissions",{"_index":21748,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calendarmapper.maptodto(resp.data",{"_index":4339,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.callkcadminclient",{"_index":14579,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.cancelbuttonurl",{"_index":17896,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.cancreaterestricted",{"_index":13211,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canedit(domainobject",{"_index":21628,"title":{},"body":{"injectables/SystemRule.html":{}}}],["this.caninstallrecommended",{"_index":13213,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canupdateandinstalllibraries",{"_index":13215,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caption",{"_index":11574,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.cardid",{"_index":4533,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["this.cards",{"_index":5678,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["this.cardservice.create(column",{"_index":5719,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.delete(card",{"_index":4563,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyid(cardid",{"_index":4560,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.cardservice.findbyid(targetcardid",{"_index":4568,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyids(cardids",{"_index":4557,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.move(card",{"_index":5721,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.updateheight(card",{"_index":4561,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.updatetitle(card",{"_index":4562,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.carduc.createelement(currentuser.userid",{"_index":4435,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.deletecard(currentuser.userid",{"_index":4428,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.findcards(currentuser.userid",{"_index":4413,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.moveelement",{"_index":9859,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.carduc.updatecardheight(currentuser.userid",{"_index":4422,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.updatecardtitle(currentuser.userid",{"_index":4425,"title":{},"body":{"controllers/CardController.html":{}}}],["this.cause",{"_index":4251,"title":{},"body":{"classes/BusinessError.html":{}}}],["this.challenge",{"_index":6375,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.changes",{"_index":6657,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.checkandaddprefix(baseroute",{"_index":1633,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkandaddprefix(routenameinput",{"_index":1671,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkavaiblelanguages(params.language",{"_index":24349,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.checkavailablelanguages(newlanguage",{"_index":24333,"title":{},"body":{"injectables/UserService.html":{}}}],["this.checkcontenttypeexists(contenttype",{"_index":13512,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.checkcontextreadpermission(userid",{"_index":20870,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcreatepermission(userid",{"_index":20877,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcredentials(account",{"_index":15236,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkcredentials(password",{"_index":15863,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.checkdestinationcourseauthorisation(authorizableuser",{"_index":21897,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkdestinationcourseauthorization(user",{"_index":15590,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkdestinationlessonauthorization(authorizableuser",{"_index":21902,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkduplicateusesincontext(contextexternaltool",{"_index":7134,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.checkerror(response",{"_index":19476,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.checkexpired(sharetoken",{"_index":20827,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.checkfeatureenabled",{"_index":7731,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.checkfeatureenabled(payload.parenttype",{"_index":20864,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfeatureenabled(sharetoken.payload.parenttype",{"_index":20876,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfilename(filename",{"_index":22505,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.checkforduplicateparameters(validatabletool",{"_index":6163,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkforunknownparameters(validatabletool",{"_index":6168,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkgraceperiod(userloginmigration",{"_index":24053,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.checkifpreviewpossible(filerecord",{"_index":18140,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.checkifpreviewpossible(original",{"_index":18088,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.checklistscontainingequalentities(reorderedids",{"_index":2988,"title":{},"body":{"entities/Board.html":{}}}],["this.checkofficialschoolnumbersmatch(school",{"_index":20241,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.checkoptionalparameter(param",{"_index":6188,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkoriginallessonauthorization(user",{"_index":15585,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkoriginaltaskauthorization(authorizableuser",{"_index":21896,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkparameterregex(foundentry",{"_index":6190,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparametertype(foundentry",{"_index":6189,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparentwritepermission(userid",{"_index":20865,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkpermission(userid",{"_index":2694,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.checkpreconditions(userid",{"_index":20962,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.checkresponsevalidation(response",{"_index":19755,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.checkstreamresponsive(stream",{"_index":19578,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.checksubmissionitemwritepermission(userid",{"_index":9894,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["this.checkvalidityofparameters(validatabletool",{"_index":6169,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkvalue(account.userid",{"_index":15233,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(school.externalid",{"_index":15243,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(user.ldapdn",{"_index":15235,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkversionmatch(schoolexternaltool.toolversion",{"_index":20139,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.children.filter((ch",{"_index":3105,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.length",{"_index":3098,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.some((obj",{"_index":3110,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.splice(position",{"_index":3104,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.childrenmap[boardnode.path",{"_index":3558,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.path].push(boardnode",{"_index":3559,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.pathofchildren",{"_index":3602,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.clamconnection.scanstream(stream",{"_index":1323,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.classes.set(props.classes",{"_index":7588,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.classesrepo.findallbyschoolid(schoolid",{"_index":4821,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.findallbyuserid(userid",{"_index":4822,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.updatemany(updatedclasses",{"_index":4829,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classnames",{"_index":14108,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.classnames.push(...props.classnames",{"_index":13980,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.classvalidatormetadatastorage.gettargetvalidationmetadatas",{"_index":9976,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.cleanupinput(username",{"_index":15856,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.cleanuppath(this.baseroute",{"_index":1672,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.client",{"_index":16307,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.client.addaccesstogroupfolder(folderid",{"_index":16930,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.addusertogroup(nextclouduserid",{"_index":16958,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.changegroupfoldername(folderid",{"_index":16928,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroup(groupid",{"_index":16919,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroupfolder(foldername",{"_index":16929,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroup(groupid",{"_index":16916,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroupfolder(folderid",{"_index":16917,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupfolderidforgroupid(groupid",{"_index":16912,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupid(nextcloudstrategy.generategroupid(dto",{"_index":16910,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getgroupusers(groupid",{"_index":16934,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(pseudonymdo.pseudonym",{"_index":16943,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(team.id",{"_index":16918,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(teamid",{"_index":16915,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.oidcinternalname",{"_index":16960,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.removeuserfromgroup(nextclouduserid",{"_index":16956,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.renamegroup(groupid",{"_index":16932,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.send(req",{"_index":19574,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.client.setgrouppermissions(groupid",{"_index":16913,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client_id",{"_index":1508,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{}}}],["this.client_name",{"_index":6374,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.client_secret",{"_index":1510,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.clientid",{"_index":13826,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clientsecret",{"_index":15084,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clock",{"_index":22751,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.clone(newpropsfactory",{"_index":2602,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.closeconn(doc",{"_index":22904,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.closedat",{"_index":23915,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.closedat.toisostring",{"_index":23792,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["this.closeuserloginmigrationuc.closemigration",{"_index":23890,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.code",{"_index":1516,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.collectionname",{"_index":22668,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.color",{"_index":7579,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.columnboardcopyservice.copycolumnboard",{"_index":3376,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardcopyservice.swaplinkedids(el.copyentity?.id",{"_index":3413,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardid",{"_index":3055,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["this.columnboardservice.createwelcomecolumnboard(coursereference",{"_index":19440,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.delete(board",{"_index":4165,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbydescendant(element",{"_index":2052,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.columnboardservice.findbyid(boardid",{"_index":4163,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbyid(id",{"_index":4189,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.columnboardservice.findbyid(targetboardid",{"_index":4170,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findidsbyexternalreference(coursereference",{"_index":19438,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.getboardobjecttitlesbyid(columnboardids",{"_index":5624,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.columnboardservice.updatetitle(board",{"_index":4166,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardtargetservice.findorcreatetargets(columnboardids",{"_index":19442,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columns",{"_index":4024,"title":{},"body":{"classes/BoardResponse.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.columnservice.create(board",{"_index":4167,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.delete(column",{"_index":5717,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(columnid",{"_index":4168,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(targetcolumnid",{"_index":5720,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.move(column",{"_index":4171,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.updatetitle(column",{"_index":5718,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnuc.createcard(currentuser.userid",{"_index":5669,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.deletecolumn(currentuser.userid",{"_index":5667,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.movecard(currentuser.userid",{"_index":4417,"title":{},"body":{"controllers/CardController.html":{}}}],["this.columnuc.updatecolumntitle(currentuser.userid",{"_index":5664,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.comment",{"_index":21046,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.commontoolservice.determinetoolconfigurationstatus",{"_index":23492,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["this.commontoolservice.iscontextrestricted(availabletool.externaltool",{"_index":10242,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.commontoolservice.iscontextrestricted(externaltool",{"_index":7079,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.commontoolvalidationservice.checkcustomparameterentries(loadedexternaltool",{"_index":7137,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.isvaluevalidfortype(param.type",{"_index":10621,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.compareparameters(oldtool.parameters",{"_index":11220,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.completed",{"_index":21196,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.composemetatags(url",{"_index":16456,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.config",{"_index":2133,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.config.bucket",{"_index":19573,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.config.bucket}/${path.sourcepath",{"_index":19610,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.configservice.get('admin_api__allowed_api_keys",{"_index":24807,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.configservice.get('admin_api_client_api_key",{"_index":9098,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('admin_api_client_base_url",{"_index":9096,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('available_languages').includes(language",{"_index":24335,"title":{},"body":{"injectables/UserService.html":{}}}],["this.configservice.get('available_languages').includes(settedlanguage",{"_index":24348,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.configservice.get('blocklist_of_email_domains",{"_index":16244,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.configservice.get('connection_string",{"_index":22667,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('feature_identity_management_login_enabled",{"_index":15858,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.configservice.get('feature_identity_management_store_enabled",{"_index":656,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.configservice.get('feature_imscc_course_export_enabled",{"_index":7659,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.configservice.get('feature_tldraw_enabled",{"_index":22810,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.configservice.get('h5p_editor__library_list_path",{"_index":13491,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.configservice.get('login_block_time",{"_index":1745,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.configservice.get('sc_domain",{"_index":14718,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.configservice.get('tldraw_db_collection_name",{"_index":22669,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_flush_size",{"_index":22672,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_multiple_collections",{"_index":22674,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_ping_timeout",{"_index":22886,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.configservice.get(placeholder",{"_index":5388,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.connect(system",{"_index":15188,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.connectionstring",{"_index":22666,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.conns",{"_index":24776,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.foreach((_",{"_index":24795,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.get(wsconnection",{"_index":24789,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.consentflowuc.getconsentrequest(params.challenge",{"_index":17490,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.consentflowuc.patchconsentrequest",{"_index":17493,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.console.info('connected",{"_index":4924,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`cleaned",{"_index":4935,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`configured",{"_index":4949,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`migrated",{"_index":4963,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`seeded",{"_index":4942,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.consolewriter.info('error",{"_index":3819,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info('schulcloud",{"_index":20538,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`error",{"_index":3882,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.consolewriter.info(`input",{"_index":20539,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`success",{"_index":3823,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info(json.stringify(result",{"_index":9168,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.consolewriter.info(json.stringify(summary",{"_index":9383,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.consolewriter.info(report",{"_index":8867,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.constructor",{"_index":1658,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BaseFactory.html":{},"classes/TestApiClient.html":{}}}],["this.content",{"_index":3771,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/TeamNews.html":{}}}],["this.content.contextexternaltoolid",{"_index":6546,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.description",{"_index":6524,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.duedate",{"_index":6542,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.imageurl",{"_index":6525,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.inputformat",{"_index":6537,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.title",{"_index":6522,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.contentelementfactory.build(contentelementtype.rich_text",{"_index":5596,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.contentelementfactory.build(type",{"_index":6476,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.contentelementservice.create(card",{"_index":4519,"title":{},"body":{"injectables/CardService.html":{}}}],["this.contentelementservice.findbyid(elementid",{"_index":2050,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.contentid",{"_index":12617,"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":13208,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contentparenttype",{"_index":13206,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contents",{"_index":6243,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.contenttype",{"_index":6661,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ExternalToolLogo.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.contenttypecache",{"_index":13482,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttypecache.get(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13511,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo",{"_index":13486,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo.installcontenttype(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13514,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.context",{"_index":15313,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/ShareTokenDO.html":{}}}],["this.context.action",{"_index":12512,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.context.requiredpermissions.join",{"_index":12513,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.contextexternaltool",{"_index":10352,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["this.contextexternaltool.id",{"_index":16531,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.contextexternaltoolauthorizableservice",{"_index":18851,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.contextexternaltoolcountpercontext",{"_index":10510,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["this.contextexternaltoolid",{"_index":10342,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltool",{"_index":7076,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltools",{"_index":7075,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":11061,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find",{"_index":7074,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find(query",{"_index":7069,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(contextexternaltoolid",{"_index":7070,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(id",{"_index":6717,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["this.contextexternaltoolrepo.findbyidornull(contextexternaltoolid",{"_index":7071,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.save(contextexternaltool",{"_index":7073,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrule",{"_index":19509,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.contextexternaltoolservice.checkcontextrestrictions(contextexternaltool",{"_index":7112,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":20128,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(linkedtool",{"_index":18729,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(tool",{"_index":7120,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findallbycontext",{"_index":7121,"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":18728,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.findbyidorfail",{"_index":7116,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contextexternaltoolid",{"_index":7119,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contexttoolid",{"_index":7124,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findcontextexternaltools",{"_index":7139,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["this.contextexternaltoolservice.savecontextexternaltool",{"_index":7115,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltooluc.createcontextexternaltool",{"_index":23117,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.deletecontextexternaltool(currentuser.userid",{"_index":23121,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltool",{"_index":23128,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltoolsforcontext",{"_index":23123,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.updatecontextexternaltool",{"_index":23131,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltoolvalidationservice.validate(contextexternaltool",{"_index":7113,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.contextid",{"_index":6797,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{}}}],["this.contextref",{"_index":6704,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.contexttoolid",{"_index":23364,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype",{"_index":10542,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype(type",{"_index":19989,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["this.contexttype",{"_index":6799,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.converterutil.xml2object",{"_index":2400,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.converterutil.xml2object>(resp.data",{"_index":2413,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.cookies",{"_index":13620,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.copy(copypaths",{"_index":19595,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.copyboardelements(boardelements",{"_index":3332,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycolumnboard(element.target",{"_index":3361,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycourse(userid",{"_index":20880,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copycourseentity",{"_index":7698,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyfilesservice.copyfilesofentity",{"_index":21851,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(boardstatus",{"_index":3391,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(copystatus",{"_index":3399,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(newname",{"_index":7696,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(originallesson.name",{"_index":15595,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.copyhelperservice.derivecopyname(originaltaskname",{"_index":21911,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.copyhelperservice.derivestatusfromelements(elements",{"_index":3336,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.derivestatusfromelements(filestatuses",{"_index":7377,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.copyingsince",{"_index":7585,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/UsersList.html":{}}}],["this.copylesson(element.target",{"_index":3358,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copylesson(userid",{"_index":20883,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copymap.get(child.id",{"_index":18685,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copymap.set(original.id",{"_index":18641,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copytask(element.target",{"_index":3354,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copytask(userid",{"_index":20884,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copytaskentity(params",{"_index":21850,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.coreapi",{"_index":11762,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.countyid",{"_index":7496,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.course",{"_index":2972,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.color",{"_index":21764,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.id",{"_index":21761,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isfinished",{"_index":21723,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isusersubstitutionteacher(user",{"_index":21744,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.name",{"_index":21760,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.school.id",{"_index":6267,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursecopyservice.copycourse",{"_index":7735,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.coursecopyuc.copycourse(currentuser.userid",{"_index":19415,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.courseexportservice.exportcourse(courseid",{"_index":7749,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.courseexportuc.exportcourse(urlparams.courseid",{"_index":7660,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.coursegroup",{"_index":6241,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.getstudentids",{"_index":21060,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.school.id",{"_index":6268,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursegrouppermission(user",{"_index":15686,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegrouprepo",{"_index":18835,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.coursegrouprule",{"_index":19500,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.coursegrouprule.haspermission(user",{"_index":15689,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegroups.getitems",{"_index":7614,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.coursegroups.isinitialized(true",{"_index":7612,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.courseid",{"_index":21935,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursename",{"_index":21934,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursepermission(user",{"_index":15687,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.courserepo",{"_index":18833,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.courserepo.createcourse(coursecopy",{"_index":7708,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserepo.findallbyuserid",{"_index":8832,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.courserepo.findallbyuserid(user.id",{"_index":22242,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findallbyuserid(userid",{"_index":7694,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{}}}],["this.courserepo.findallforteacherorsubstituteteacher(user.id",{"_index":22241,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findbyid(courseid",{"_index":7688,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.courserepo.findbyid(originalboard.context.id",{"_index":5468,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.courserepo.findbyid(parentparams.courseid",{"_index":15588,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.courserepo.findbyid(rootboarddo.context.id",{"_index":3464,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.courserepo.findone(roomid",{"_index":19457,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.courserepo.save(coursecopy",{"_index":7710,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserule",{"_index":19499,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.courserule.haspermission(user",{"_index":7817,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.findallbyuserid(pseudonym.userid",{"_index":11446,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(columnboard.context.id",{"_index":4193,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.courseservice.findbyid(contextexternaltool.contextref.id",{"_index":23354,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.courseservice.findbyid(courseid",{"_index":2047,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/FeathersRosterService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(id",{"_index":8005,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["this.courseservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20830,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.courseservice.getcourse(params.courseid",{"_index":26419,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.save(course",{"_index":26423,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.savecourse(course",{"_index":26427,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseuc.findallbyuser(currentuser.userid",{"_index":7653,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.courseurlhandler",{"_index":16453,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.create",{"_index":11817,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.create(currentuserid",{"_index":24515,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.create(library",{"_index":15767,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.create(path",{"_index":19591,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createboardelementfor(target",{"_index":3012,"title":{},"body":{"entities/Board.html":{}}}],["this.createboardforcourse(courseid",{"_index":4002,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.createbucket",{"_index":19590,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createcards(this.random(1",{"_index":3861,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createclient(provider",{"_index":9025,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.createcolumns(3",{"_index":3857,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createdat",{"_index":460,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{}}}],["this.createdefaultiuser",{"_index":13513,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.createelements(1",{"_index":3867,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createemptyelements(card",{"_index":4513,"title":{},"body":{"injectables/CardService.html":{}}}],["this.createerrorloggable(error",{"_index":12689,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponse(error",{"_index":12699,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforbusinesserror(error",{"_index":12707,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforfeatherserror(error",{"_index":12705,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponsefornesthttpexception(error",{"_index":12709,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforunknownerror",{"_index":12710,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createfile(contentrange",{"_index":22592,"title":{},"body":{"classes/TestHelper.html":{}}}],["this.createfileurlreplacements(filedtos",{"_index":7360,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.creategridelement(elementwithposition",{"_index":8743,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.createidentityprovider(configureaction.config",{"_index":14735,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(idpalias",{"_index":14772,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(oidcconfig.idphint",{"_index":14763,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createiframesubject(user",{"_index":13860,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.createlogmessageforvalidationerrors(this.error",{"_index":9957,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.createnewmigration(schooldo",{"_index":24049,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.createorupdateboardnode(boardnode",{"_index":18780,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.createorupdateentity(dob",{"_index":2491,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createorupdateidmaccount(account",{"_index":14968,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.createqueryordermap(options?.order",{"_index":23672,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.createrichtextelement",{"_index":5546,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.createstatus",{"_index":22226,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.createtaskstatus(task",{"_index":9783,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.createusersearchindex",{"_index":5350,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.creator",{"_index":16660,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.creatorid",{"_index":7251,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.credentialhash",{"_index":240,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.cruduc.createoauth2client(currentuser",{"_index":17470,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.deleteoauth2client(currentuser",{"_index":17475,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.getoauth2client(currentuser",{"_index":17460,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.listoauth2clients",{"_index":17463,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.updateoauth2client(currentuser",{"_index":17472,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.currentredirect",{"_index":13616,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.customs",{"_index":8193,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.dashboard",{"_index":8612,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.dashboardelementrepo.deletebydashboardid(usersdashboard.id",{"_index":8815,"title":{},"body":{"injectables/DashboardService.html":{}}}],["this.dashboardrepo.deletedashboardbyuserid(userid",{"_index":8816,"title":{},"body":{"injectables/DashboardService.html":{}}}],["this.dashboardrepo.getdashboardbyid(dashboardid",{"_index":8835,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.getusersdashboard(userid",{"_index":8814,"title":{},"body":{"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.persistandflush(dashboard",{"_index":8834,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboarduc.getusersdashboard(currentuser.userid",{"_index":8422,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.moveelementondashboard",{"_index":8425,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.renamegroupondashboard",{"_index":8430,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.data",{"_index":881,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AxiosResponseImp.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDto.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.databasemanagementservice.clearcollection(collectionname",{"_index":5286,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.collectionexists(collectionname",{"_index":5284,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.createcollection(collectionname",{"_index":5287,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.finddocumentsofcollection(collectionname",{"_index":5333,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getcollectionnames",{"_index":5250,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getdatabasecollection('users",{"_index":5354,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.importcollection",{"_index":5323,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.syncindexes",{"_index":5351,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem",{"_index":8897,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem([collectionname",{"_index":8899,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem(filter",{"_index":8869,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfactories(filter",{"_index":8863,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem",{"_index":8894,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem([collectionname",{"_index":8896,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem(filter",{"_index":8864,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.syncindexes",{"_index":8870,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{}}}],["this.db.collection(collectionname",{"_index":8933,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.createcollection(collectionname",{"_index":8950,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.dropcollection(collectionname",{"_index":8951,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.listcollections(undefined",{"_index":8943,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.default",{"_index":8258,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["this.defaultencryptionservice.decrypt(oidcconfig.clientsecret",{"_index":17714,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["this.defaultencryptionservice.encrypt(system.oauthconfig.clientsecret",{"_index":5396,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultencryptionservice.encrypt(system.oidcconfig.clientsecret",{"_index":5399,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultheaders",{"_index":9108,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.defaultlanguage",{"_index":6626,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.defaultoauthclientbody",{"_index":17361,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.defaultscopes",{"_index":15149,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.defaultvalue",{"_index":8397,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["this.delete",{"_index":11819,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.delete(account",{"_index":784,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.delete(content",{"_index":13234,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this.delete(deleteobjects",{"_index":19605,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(filteredpathobjects",{"_index":19641,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(paths",{"_index":19598,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deleteafter",{"_index":9425,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.deleted",{"_index":11657,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.deletedat",{"_index":11656,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.deletedcount",{"_index":9265,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletedfoldername}/${path",{"_index":19594,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deletedsince",{"_index":7256,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18486,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletefile(file",{"_index":9012,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefileinstorage(file",{"_index":9035,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefilesuc.deletemarkedfiles(thresholddate",{"_index":8972,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.deleteidentityprovider(configureaction.alias",{"_index":14739,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.deletenode(card",{"_index":18710,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(column",{"_index":18708,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(columnboard",{"_index":18706,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(drawingelement",{"_index":18721,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(externaltoolelement",{"_index":18730,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(fileelement",{"_index":18713,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(linkelement",{"_index":18716,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(richtextelement",{"_index":18718,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submission",{"_index":18725,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submissioncontainerelement",{"_index":18723,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletepseudonymsbyuserid(userid",{"_index":18485,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletesubmissions(task",{"_index":22164,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.deletionclient.executedeletions(limit",{"_index":9196,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["this.deletionclient.queuedeletionrequest(deletionrequestinput",{"_index":2850,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["this.deletionexecutionuc.triggerdeletionexecution(options.limit",{"_index":9164,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.deletionlogrepo.create(newdeletionlog",{"_index":9328,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionlogrepo.findallbydeletionrequestid(deletionrequestid",{"_index":9329,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionplannedat",{"_index":9459,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["this.deletionrequestid",{"_index":9267,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletionrequestrepo.create(newdeletionrequest",{"_index":9554,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.deletebyid(deletionrequestid",{"_index":9563,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findallitemstoexecution(limit",{"_index":9559,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findbyid(deletionrequestid",{"_index":9557,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasexecuted(deletionrequestid",{"_index":9561,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasfailed(deletionrequestid",{"_index":9562,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.update(deletionrequesttoupdate",{"_index":9560,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestuc.createdeletionrequest(deletionrequestbody",{"_index":9586,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.deletedeletionrequestbyid(requestid",{"_index":9593,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.executedeletionrequests(deletionexecutionquery.limit",{"_index":9212,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["this.deletionrequestuc.findbyid(requestid",{"_index":9590,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.derivecopyname(composedname",{"_index":7418,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.derivecopystatus(filecopystatus",{"_index":21853,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.derivecopystatus(filedtos",{"_index":7362,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.derivecoursestatus(originalcourse",{"_index":7703,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.description",{"_index":7572,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["this.descriptioninputformat",{"_index":21685,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.details",{"_index":4250,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.detectcontenttypeorthrow(buffer",{"_index":10480,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.detectcontenttypeorthrow(logobinarydata",{"_index":10489,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.determineinput(systemid",{"_index":18335,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.determinenewroomsin(rooms",{"_index":8559,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.determineschooltoolstatus(tool",{"_index":20094,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.displayat",{"_index":7891,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.displaycolor",{"_index":7852,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["this.displayname",{"_index":6706,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.docname",{"_index":22749,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.docs.delete(doc.name",{"_index":22898,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.docs.set(docname",{"_index":22918,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.doescourseexist(courseid",{"_index":3854,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.domain",{"_index":9258,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.domainblacklist",{"_index":16243,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.includes(maildomain",{"_index":16259,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.length",{"_index":16245,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domigration(externalid",{"_index":20231,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.domigration(userdo",{"_index":24164,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.donothing",{"_index":21413,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.downloadoriginfile(originfilepath",{"_index":18087,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.drawingelementadapterservice.deletedrawingbindata(drawingelement.id",{"_index":18720,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.dropcollectionifexists(collectionname",{"_index":5296,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.droplibrarycss",{"_index":11765,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.duedate",{"_index":21106,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.dynamicdependencies",{"_index":6632,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.editordependencies",{"_index":6634,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.elements",{"_index":4467,"title":{},"body":{"classes/CardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.elementservice.create(card",{"_index":4564,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.create(submissionitem",{"_index":21263,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.delete(element",{"_index":9891,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(contentelementid",{"_index":9895,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(elementid",{"_index":4566,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(submissioncontainerid",{"_index":21253,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.findparentofid(elementid",{"_index":9892,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.move(element",{"_index":4565,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.update(element",{"_index":9890,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementuc.createsubmissionitem",{"_index":9870,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.deleteelement(currentuser.userid",{"_index":9867,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.updateelementcontent",{"_index":9864,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.em",{"_index":10679,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.assign(entity",{"_index":4884,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.assign(existing",{"_index":10685,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.assign(existingentity",{"_index":12965,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.find(boardnode",{"_index":3682,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["this.em.find(classentity",{"_index":4864,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.find(columnboardnode",{"_index":3691,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.em.find(columnboardtarget",{"_index":5632,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.find(deletionlogentity",{"_index":9311,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.find(externaltoolpseudonymentity",{"_index":10678,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.find(groupentity",{"_index":12959,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(pseudonymentity",{"_index":18520,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findandcount(deletionrequestentity",{"_index":9511,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findandcount(externaltoolpseudonymentity",{"_index":10701,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone",{"_index":20362,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.findone(dashboardgridelementmodel",{"_index":8745,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.findone(dashboardmodelentity",{"_index":8766,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findone(externaltoolpseudonymentity",{"_index":10677,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(groupentity",{"_index":12953,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.findone(pseudonymentity",{"_index":18519,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findone(schoolsystemoptionsentity",{"_index":20368,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.findone(systementity",{"_index":20369,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SystemRepo.html":{}}}],["this.em.findoneorfail(boardnode",{"_index":3956,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["this.em.findoneorfail(course",{"_index":3881,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.findoneorfail(dashboardmodelentity",{"_index":8799,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findoneorfail(deletionlogentity",{"_index":9308,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.findoneorfail(deletionrequestentity",{"_index":9504,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findoneorfail(externaltoolpseudonymentity",{"_index":10674,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findoneorfail(pseudonymentity",{"_index":18518,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(rocketchatuserentity",{"_index":19186,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.findoneorfail(user",{"_index":8768,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.flush",{"_index":3707,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.getconnection('write').getdb",{"_index":8932,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.em.getreference(contextexternaltoolentity",{"_index":18793,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.getreference(deletionrequestentity",{"_index":9515,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.getunitofwork().getbyid(boardnode.name",{"_index":3955,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.nativedelete(dashboardgridelementmodel",{"_index":8441,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["this.em.nativedelete(dashboardmodelentity",{"_index":8803,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.nativedelete(externaltoolpseudonymentity",{"_index":10688,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.nativedelete(pseudonymentity",{"_index":18523,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.nativedelete(registrationpinentity",{"_index":18925,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["this.em.nativedelete(rocketchatuserentity",{"_index":19188,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.persist(boardnode",{"_index":18800,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.persist(deletionlogentity",{"_index":9315,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.persist(deletionrequestentity",{"_index":9507,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persist(entity",{"_index":10686,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(modelentity",{"_index":8795,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persist(newentity",{"_index":12966,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.persist(target",{"_index":5631,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.persistandflush(board",{"_index":3856,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(cards",{"_index":3864,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(columns",{"_index":3858,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(data",{"_index":5297,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.em.persistandflush(deletionrequest",{"_index":9519,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persistandflush(elements",{"_index":3869,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(existingentities",{"_index":4885,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.persistandflush(modelentity",{"_index":8797,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persistandflush(referencedentity",{"_index":9517,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.remove(el",{"_index":8765,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.remove(this.em.getreference(boardnode",{"_index":18732,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.em.removeandflush(entity",{"_index":9521,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["this.email",{"_index":11267,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/H5PContentParentParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LumiUserWithContentData.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.emailsearchvalues",{"_index":23642,"title":{},"body":{"classes/UserDO.html":{}}}],["this.embedtypes",{"_index":6620,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.enableoauthmigrationfeature(schooldo",{"_index":24050,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.encoding",{"_index":12162,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.encryptionservice.encrypt(externaltool.config.secret",{"_index":11037,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.encryptpassword(accountdto.password",{"_index":946,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptpassword(password",{"_index":952,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptsecrets(collectionname",{"_index":5321,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(data",{"_index":5295,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(jsondocuments",{"_index":5391,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.enddate",{"_index":20449,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["this.endpointurl",{"_index":21005,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.enrichdatafromexternaltool(createdschoolexternaltool",{"_index":20101,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichdatafromexternaltool(tool",{"_index":20092,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichwithdatafromexternaltools(schoolexternaltools",{"_index":20090,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.ensureboardnodetype(this.getchildren(boardnode",{"_index":3561,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurecontextpermissions(userid",{"_index":10293,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.ensureleafnode(boardnode",{"_index":3580,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurepermission(userid",{"_index":11126,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.ensureschoolpermissions(userid",{"_index":10284,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.ensuretoolpermissions(userid",{"_index":23434,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.entityclass",{"_index":2610,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityclass(props",{"_index":2593,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityname",{"_index":801,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ForbiddenLoggableException.html":{}}}],["this.error",{"_index":9956,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.errorcode",{"_index":1479,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["this.errortype",{"_index":1106,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.everyattendeejoinsmuted",{"_index":24545,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.everyattendejoinsmuted",{"_index":24379,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["this.everybodyjoinsasmoderator",{"_index":24381,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.exchange",{"_index":19482,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.expectedtype.name",{"_index":18298,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["this.expiresat",{"_index":248,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.externalgroups",{"_index":17292,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalid",{"_index":7895,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.externalidtoken",{"_index":17303,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["this.externalschool",{"_index":17290,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalschoolid",{"_index":10122,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["this.externalsource",{"_index":12916,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.externalsourcename",{"_index":4727,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableexternaltools",{"_index":10295,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableschoolexternaltools",{"_index":10294,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailabletools",{"_index":10286,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforcontextrestrictions",{"_index":10297,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope",{"_index":10299,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope(externaltool",{"_index":10288,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.gettoolcontexttypes",{"_index":10279,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforcontext",{"_index":23052,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforschool",{"_index":23050,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforcontextexternaltool",{"_index":23059,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforschoolexternaltool",{"_index":23056,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettoolcontexttypes",{"_index":23048,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltooldomapper.mapcreaterequest(externaltoolparams",{"_index":23174,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapexternaltoolfilterquerytoexternaltoolsearchquery(filterquery",{"_index":23180,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapsortingquerytodomain(sortingquery",{"_index":23179,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapupdaterequest(externaltoolparams",{"_index":23190,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolid",{"_index":6751,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.externaltoollogoservice.buildlogourl",{"_index":10290,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["this.externaltoollogoservice.fetchlogo(externaltool",{"_index":11127,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoollogoservice.getexternaltoolbinarylogo",{"_index":23197,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoollogoservice.validatelogosize(externaltool",{"_index":11172,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolmetadataservice.getmetadata(toolid",{"_index":11140,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolname",{"_index":19051,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["this.externaltoolparametervalidationservice.validatecommon(externaltool",{"_index":11169,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolpseudonymrepo",{"_index":18492,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18491,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findbyuserid(userid",{"_index":18489,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonym(query",{"_index":18495,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonymbypseudonym(pseudonym",{"_index":18494,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolrepo.deletebyid(toolid",{"_index":11063,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.find(query",{"_index":11046,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyid(id",{"_index":11055,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyname(name",{"_index":11058,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyoauth2configclientid(clientid",{"_index":11059,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(externaltool",{"_index":11042,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(toupdate",{"_index":11045,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolservice.createexternaltool(externaltool",{"_index":11129,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.deleteexternaltool(toolid",{"_index":11137,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.findbyid(loadedschoolexternaltool.toolid",{"_index":7136,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.externaltoolservice.findbyid(schoolexternaltool.toolid",{"_index":7078,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.externaltoolservice.findbyid(tool.toolid",{"_index":20093,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.externaltoolservice.findbyid(toolid",{"_index":10484,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyname",{"_index":16959,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.externaltoolservice.findexternaltoolbyname(externaltool.name",{"_index":10610,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid",{"_index":11451,"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":11187,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltools",{"_index":10280,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolservice.findexternaltools(query",{"_index":11136,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.updateexternaltool(toupdate",{"_index":11135,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltooluc.createexternaltool(currentuser.userid",{"_index":23175,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.deleteexternaltool(currentuser.userid",{"_index":23194,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.findexternaltool(currentuser.userid",{"_index":23181,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getexternaltool",{"_index":23186,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getmetadataforexternaltool",{"_index":23204,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.updateexternaltool",{"_index":23191,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolversionservice.increaseversionofnewtoolifnecessary(loadedtool",{"_index":11044,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaluser",{"_index":17288,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externaluserid",{"_index":10101,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ProvisioningDto.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.extractaccount(account",{"_index":14910,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakuser",{"_index":14895,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakusers[0",{"_index":14902,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(user",{"_index":14913,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcaccountid",{"_index":14930,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcsystemid",{"_index":14926,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcuserid",{"_index":14928,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractid(url",{"_index":4187,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.extractparamsfromrequest(request",{"_index":15226,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.extractreferences(elements",{"_index":3333,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.extractvalidationerrordetails(childerror",{"_index":1415,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.extractvalidationerrordetails(validationerror",{"_index":1405,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.factory.createdto",{"_index":19460,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.feathersauthprovider.getpermittedschools(userid",{"_index":11337,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getpermittedtargets(userid",{"_index":11338,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getuserschoolpermissions(userid",{"_index":11324,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getusertargetpermissions(userid",{"_index":11325,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersserviceprovider.getservice('/etherpad/pads",{"_index":10070,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["this.feathersserviceprovider.getservice('/nexboard/boards",{"_index":16872,"title":{},"body":{"injectables/NexboardService.html":{}}}],["this.feathersserviceprovider.getservice('users",{"_index":11307,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`${targetmodel}/:scopeid/userpermissions",{"_index":11294,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`/users/:scopeid/${targetmodel",{"_index":11299,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`path",{"_index":25964,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.features",{"_index":7587,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["this.federalstate",{"_index":15105,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.federalstaterepo.findbyname(name",{"_index":11510,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["this.federalstateservice.findfederalstatebyname",{"_index":17778,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.fetchbase64logo(externaltool.logourl",{"_index":10473,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.fieldname",{"_index":13833,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["this.filecopyservice.copyfilesofparent",{"_index":18648,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.filecopyservicefactory.build",{"_index":5470,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.filename",{"_index":13544,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.files",{"_index":11786,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.filesrepo.delete(file",{"_index":9036,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesrepo.findforcleanup(thresholddate",{"_index":9010,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent",{"_index":20308,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent(copyfilesofparentparams",{"_index":7358,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(fileelement.id",{"_index":18712,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(lesson.id",{"_index":15711,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(linkelement.id",{"_index":18715,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(submission.id",{"_index":21345,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(task.id",{"_index":22163,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.filesstorageservice.copyfilesofparent(userid",{"_index":12354,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.deletefilesofparent(filerecords",{"_index":12363,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsbycreatorid(payload",{"_index":12366,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload",{"_index":12361,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload.parentid",{"_index":12357,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.removecreatoridfromfilerecords(filerecords",{"_index":12368,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageuc.downloadbysecuritytoken(token",{"_index":12078,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filesstorageuc.updatesecuritystatus(token",{"_index":12086,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filestoragemqproducer.copyfilesofparent(param",{"_index":12274,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.deletefilesofparent(parentid",{"_index":12279,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.listfilesofparent(param",{"_index":12277,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.removecreatoridfromfilerecords(creatorid",{"_index":12280,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filesystemadapter.createdir(targetfolder",{"_index":5329,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.eol",{"_index":5345,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(__dirname",{"_index":5231,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(basedir",{"_index":5259,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(targetfolder",{"_index":5253,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(this.basedir",{"_index":5236,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readdir(basedir",{"_index":5257,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readfile(filepath",{"_index":5312,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.writefile(filepath",{"_index":5344,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filetype",{"_index":18589,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["this.filterallowed(userid",{"_index":4559,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.filterbypermission(elements",{"_index":9765,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.filtercoursesbytoolavailability(courses",{"_index":11414,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.filteremailadresses(data.bcc",{"_index":16251,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.cc",{"_index":16249,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.recipients",{"_index":16247,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.replyto",{"_index":16253,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filtersubmissionsbypermission(submissions",{"_index":21370,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.filtertoolswithpermissions(userid",{"_index":7123,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.findallforstudent(user",{"_index":22221,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findallforteacher(user",{"_index":22222,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findalltasks(currentuser",{"_index":21814,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.findandcount(scope",{"_index":12000,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findbyexternalid(externalid",{"_index":23689,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.findbyid(accountid",{"_index":783,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findbyid(boardnode.parentid",{"_index":3700,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(id",{"_index":3678,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(userid",{"_index":24316,"title":{},"body":{"injectables/UserService.html":{}}}],["this.findbynames([rolename.administrator",{"_index":19274,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.findbyuserid(userid",{"_index":785,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findexistinggridelement(elementwithposition",{"_index":8739,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.findexistingtargets(columnboardids",{"_index":5623,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.findexternaltoolpseudonymsbyuserid(userid",{"_index":18478,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findimportusersandcount(scope.query",{"_index":14230,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this.findlegacyltitool",{"_index":16962,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findmigrationbyschool(schoolid",{"_index":24073,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.findnewsandcount(scope.query",{"_index":16740,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.findnextcloudtool",{"_index":16936,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findoneorfail(scope",{"_index":11997,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findpseudonymbypseudonym(pseudonym",{"_index":11407,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.findpseudonymsbyuserid(userid",{"_index":18477,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findtasksandcount(scope.query",{"_index":22044,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.findteambyid(teamid",{"_index":5160,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.finduserafterprovisioningorthrow(externaluserid",{"_index":17042,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.finishcoursecopying(coursecopy",{"_index":7701,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.finished",{"_index":21705,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.add(user",{"_index":21766,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.getidentifiers('_id",{"_index":21708,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.remove(user",{"_index":21768,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.set(props.finished",{"_index":21695,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finishedat",{"_index":23917,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.finishedat.toisostring",{"_index":23943,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["this.firstname",{"_index":11263,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.firstnamesearchvalues",{"_index":23638,"title":{},"body":{"classes/UserDO.html":{}}}],["this.flagged",{"_index":13984,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["this.flushsize",{"_index":22671,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.forcepasswordchange",{"_index":23559,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.formattedjwt",{"_index":1634,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.friendlyurl",{"_index":8204,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.from",{"_index":10093,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.frontchannel_logout_uri",{"_index":8210,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.frontchannellogouturi",{"_index":17094,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.fullname",{"_index":2267,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.fullpath",{"_index":18957,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.fullscreen",{"_index":11770,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.fwulearningcontentsuc.get(path",{"_index":12542,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["this.generatearray(amount",{"_index":3871,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.generatebrokersystems([system",{"_index":15507,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatebrokersystems(systems",{"_index":15516,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatechecksum(callname",{"_index":2427,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.generatepreview(params",{"_index":18149,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.get('/api/v1/me",{"_index":1111,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.get('/events",{"_index":4337,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.get(`${oauthconfig.authendpoint}?${query",{"_index":13660,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(location",{"_index":13683,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(path",{"_index":1163,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getadditionalerrorinfo(idtoken.email",{"_index":14410,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.getadminidandtoken",{"_index":1158,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getandpseudonyms(students",{"_index":11432,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(substitutionteachers",{"_index":11434,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(teachers",{"_index":11433,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getasadmin(`/api/v1/groups.info?roomname=${groupname",{"_index":1145,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.members?roomname=${groupname",{"_index":1143,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.moderators?roomname=${groupname",{"_index":1141,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/users.list?${querystring",{"_index":1121,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getbbbrequestconfig(this.presentationurl",{"_index":2395,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getboardauthorizable(boarddo",{"_index":3455,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.getboardvalue(contextexternaltool.contextref.id",{"_index":2045,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getbydraftforcreatorquery(creatorid",{"_index":22148,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(false",{"_index":22149,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(isdraft",{"_index":22147,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(true",{"_index":22150,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getchildren(boardnode",{"_index":3607,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getchildren(boardnode).map((node",{"_index":3600,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getcollectionnames",{"_index":8948,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getcopiesforchildrenof(original",{"_index":18638,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcopyname(originaltask.name",{"_index":21901,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getcopystatusesforchildrenof(original",{"_index":18640,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcoursegroupstudentids",{"_index":21079,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.getcoursesfromuserspseudonym(loadedpseudonym",{"_index":11413,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getcoursevalue(board.context.id",{"_index":2056,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getcoursevalue(contextexternaltool.contextref.id",{"_index":2042,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getdatabasecollection(collectionname",{"_index":8935,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getdefaultmaxduedate",{"_index":22231,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getdefaultmetadata(url",{"_index":4188,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.getdestinationcourse(parentparams.courseid",{"_index":21895,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdestinationlesson(parentparams.lessonid",{"_index":21900,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdocnamefromrequest(request",{"_index":22808,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.getelement(position",{"_index":8582,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getelementbytargetid(id",{"_index":2975,"title":{},"body":{"entities/Board.html":{}}}],["this.getelements().map((el",{"_index":2985,"title":{},"body":{"entities/Board.html":{}}}],["this.getelementwithwritepermission(userid",{"_index":9889,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.getentitypermissions(userid",{"_index":11331,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.getexternalsubclientmapperconfiguration",{"_index":14749,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getfileinfo(filename",{"_index":22510,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilepath(user.id",{"_index":22513,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilteredgroupusers(externalgroup",{"_index":17829,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getfinisheduserids",{"_index":21718,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getfirstopenindex",{"_index":8577,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getgradedsubmissions",{"_index":21747,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getgroupdata(groupname",{"_index":1130,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getgroupuser(externalgroup.user",{"_index":17831,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getgroupuser(externalgroupuser",{"_index":17838,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getid",{"_index":8531,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getidpmapperconfiguration(idpalias",{"_index":14771,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getinternalid(accountdto.id",{"_index":936,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(accountid",{"_index":951,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(id",{"_index":927,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getjwtfromresponse(response",{"_index":1657,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getmaildomain(mail",{"_index":16258,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.getmaxsubmissions",{"_index":21751,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getmeetinginfo(new",{"_index":2409,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getnewspermissions(userid",{"_index":16838,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getoauthconfig",{"_index":14846,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.getorconstructdashboardmodelentity(entity",{"_index":8758,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.getorcreatecourseboard(courseid",{"_index":3999,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.getparent",{"_index":6269,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getpath(subpath",{"_index":1638,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.getpermittedcourses(user",{"_index":22207,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedlessons(user",{"_index":22208,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedtargets(userid",{"_index":16833,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getpreviewfile(params",{"_index":18150,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.getpropertyvalue(e",{"_index":9966,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.getprovisioningoptionsordefault",{"_index":17811,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getprovisioningstrategy(oauthdata.system.provisioningstrategy",{"_index":18340,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getprovisioningstrategy(system.provisioningstrategy",{"_index":18336,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getreferencesfromposition(from",{"_index":8553,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getrepository(tool",{"_index":18480,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getrepository(tool).findbyuseridandtoolidorfail(user.id",{"_index":18475,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getschoolname(externalschool",{"_index":17773,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getseedfolder",{"_index":5240,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.getshorttitle",{"_index":7623,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.getsubmissionitems",{"_index":21727,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmittedsubmissions",{"_index":21746,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmitterids",{"_index":21084,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.gettargetfilters(userid",{"_index":16851,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.gettargetfolder(toseedfolder",{"_index":5328,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.gettasksitems",{"_index":6254,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.getteammemberids",{"_index":21078,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.geturl('create",{"_index":2390,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('end",{"_index":2411,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('getmeetinginfo",{"_index":2415,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('join",{"_index":2410,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl(filesstorageinternalactions.downloadbysecuritytoken",{"_index":1334,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.geturl(filesstorageinternalactions.updatesecuritystatus",{"_index":1336,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.getuser(userid",{"_index":11289,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.getuserrole(user",{"_index":11411,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getvideoconferenceoptions(scope",{"_index":24613,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.getydoc(docname",{"_index":22932,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.getydocfrommdb(docname",{"_index":22684,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.grade",{"_index":21052,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.gradecomment",{"_index":21054,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.graded",{"_index":4131,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.gradelevel",{"_index":4675,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.grant_type",{"_index":1514,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.granttype",{"_index":15090,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.grid",{"_index":8543,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(key",{"_index":8569,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(this.gridindexfromposition(position",{"_index":8590,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(i",{"_index":8581,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(key",{"_index":8549,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(this.gridindexfromposition(position",{"_index":8550,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].foreach((key",{"_index":8562,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].map((key",{"_index":8547,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(index",{"_index":8580,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(element.pos",{"_index":8545,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(position",{"_index":8593,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.values",{"_index":8575,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.gridelements",{"_index":8647,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.gridelements.set(props.gridelements",{"_index":8622,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.group.externalid",{"_index":20149,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.groupelements",{"_index":8646,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupid",{"_index":8645,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupprovisioningclassesenabled",{"_index":18283,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["this.groupprovisioningcoursesenabled",{"_index":18285,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["this.groupprovisioningotherenabled",{"_index":18287,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["this.grouprepo.delete(group",{"_index":13082,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyexternalsource(externalid",{"_index":13077,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyid(id",{"_index":13075,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyschoolidandgrouptypes(schoolid",{"_index":13079,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyuserandgrouptypes(user",{"_index":13078,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.save(group",{"_index":13081,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprule",{"_index":19511,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.groups.set(props.groups",{"_index":7589,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.groupservice.delete(group",{"_index":17860,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyexternalsource",{"_index":17820,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findgroupsbyuserandgrouptypes(user",{"_index":17848,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.save(group",{"_index":17835,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupuc.findallclasses",{"_index":12834,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuc.getgroup(currentuser.userid",{"_index":12841,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuser.externaluserid",{"_index":23781,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.groupuser.rolename",{"_index":23782,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.guest",{"_index":2272,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.guestpolicy",{"_index":2190,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.h",{"_index":6636,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.h5peditoruc.createh5pcontentgetmetadata",{"_index":13358,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.deleteh5pcontent(currentuser",{"_index":13345,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getajax(query",{"_index":13334,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentfile",{"_index":13327,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentparameters(id",{"_index":13326,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getemptyh5peditor(currentuser",{"_index":13349,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5peditor",{"_index":13354,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5pplayer(currentuser",{"_index":13308,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getlibraryfile(params.ubername",{"_index":13321,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.gettemporaryfile",{"_index":13332,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.postajax(currentuser",{"_index":13343,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.saveh5pcontentgetmetadata",{"_index":13368,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.handlecolumnboardintegration(roomid",{"_index":19434,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.handlers",{"_index":16450,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.handlers.find((h",{"_index":16463,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.hasaccesstosubmission(user",{"_index":21321,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haschangedparameternames(oldparams",{"_index":11229,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterregex(newparams",{"_index":11230,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterscope(newparams",{"_index":11232,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparametertypes(newparams",{"_index":11231,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedrequiredparameters(oldparams",{"_index":11228,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschild(child",{"_index":3100,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.hascoursereadpermission(user",{"_index":19377,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hascoursewritepermission(user",{"_index":19378,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hasduplicateattributes(externaltool.parameters",{"_index":10590,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.hasnewrequiredparameter(oldparams",{"_index":11227,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.hasparent",{"_index":3934,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.hasparentpermission(user",{"_index":22113,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.hasparenttaskreadaccess(user",{"_index":21326,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasparenttaskwriteaccess(user",{"_index":21325,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haspath(req.route",{"_index":18958,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.haspermission(user",{"_index":1988,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.haspermissionbyreferences(userid",{"_index":1960,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.hasreadaccess(user",{"_index":21323,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasscanstatuswontcheck",{"_index":11916,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.hasschoolmigrated(school.externalid",{"_index":20243,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.haswriteaccess(user",{"_index":21322,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.headers",{"_index":2131,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.height",{"_index":4452,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{}}}],["this.hidden",{"_index":3793,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.host}${location",{"_index":13670,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.httpservice",{"_index":1165,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.httpservice.delete(`${configuration.get('tldraw_uri",{"_index":9684,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.httpservice.get(input.system.provisioningurl",{"_index":19751,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.httpservice.get(logourl",{"_index":10474,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.httpservice.get(url",{"_index":2412,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{}}}],["this.httpservice.get(url.tostring",{"_index":4341,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.httpservice.post",{"_index":9107,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(this.postdeletionexecutionsendpoint",{"_index":9127,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(tokenendpoint",{"_index":17137,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.httpservice.post(url",{"_index":2396,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.httpservice.request",{"_index":14848,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.httpstatus",{"_index":10420,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["this.hydracookies",{"_index":7174,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.hydrassoservice.generateconfig(oauthclientid",{"_index":13584,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.initauth(hydraoauthconfig",{"_index":13594,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.processredirect(dto",{"_index":13602,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrauc.getoauthtoken(oauthclientid",{"_index":17656,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.hydrauc.requestauthcode(jwt",{"_index":17664,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.id",{"_index":458,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BaseDO.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextRef.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IGridElement.html":{},"classes/LegacySchoolDo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.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.identifiers",{"_index":16978,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.idmap.foreach((value",{"_index":21414,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.idmoauthservice.getoauthconfig",{"_index":15537,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.isoauthconfigavailable",{"_index":15534,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.resourceownerpasswordgrant(username",{"_index":15859,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.idmreferenceid",{"_index":858,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["this.idmservice.findaccountbydbcaccountid(id.tostring",{"_index":660,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idmservice.findaccountbyid(id",{"_index":658,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idphint",{"_index":15086,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.idtoken",{"_index":17064,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.idtokenservice.createidtoken(userid",{"_index":17397,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.imagemagick(original.data",{"_index":18099,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.imageurl",{"_index":15808,"title":{},"body":{"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["this.importhash",{"_index":18909,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/UserDO.html":{}}}],["this.importuserid",{"_index":14102,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.importuserschoolid",{"_index":20161,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.info.appname",{"_index":1427,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.basepath",{"_index":1430,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.mountsdescription",{"_index":1432,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.port",{"_index":1428,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.initializes3clientmap",{"_index":9004,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.injectenvvars(filecontent",{"_index":5313,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.injectenvvars(s",{"_index":5290,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.inmaintenancesince",{"_index":15347,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.inner",{"_index":6042,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.caninline",{"_index":6047,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.content",{"_index":6048,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.transform",{"_index":6049,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inputformat",{"_index":19093,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.installlibraries(librariestoinstall.slice(0",{"_index":13515,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.installlibraries(this.librarywishlist",{"_index":13519,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.integration",{"_index":12596,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.internallinkmatatagservice.tryinternallinkmetatags(url",{"_index":16413,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.inusermigration",{"_index":15349,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.invitationlink",{"_index":4672,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.isallowedaschild(child",{"_index":3095,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.isarchived",{"_index":20928,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.isauthenticationresponse(response.body",{"_index":1681,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isauthorizedstudent(userid",{"_index":21259,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.isautoparameterglobal(param",{"_index":10597,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isblocked",{"_index":11909,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.isclientidunique(externaltool",{"_index":11184,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.iscolumnboardfeatureflagactive",{"_index":9771,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.iscustomparameternameempty(param",{"_index":10592,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidregex(param",{"_index":10607,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidtype(param",{"_index":10606,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdirectory",{"_index":11662,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.isdraft",{"_index":4132,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isfinished",{"_index":4134,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.isfinishedforuser(user",{"_index":21752,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isglobalparametervalid(param",{"_index":10594,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isgraceperiodexpired(userloginmigration",{"_index":24061,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.isgraded",{"_index":21088,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.isgradedforuser(user",{"_index":21756,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isgroup",{"_index":8524,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.ishidden",{"_index":8212,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.isinternalurl(url",{"_index":16455,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.islatest(contextexternaltool",{"_index":6109,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islatest(schoolexternaltool",{"_index":6108,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islocal",{"_index":8197,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ismigrationactive(userloginmigration",{"_index":16496,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isnameunique(externaltool",{"_index":10587,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":17038,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.isobjectempty(group",{"_index":19770,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isobjectempty(relation",{"_index":19767,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isoptional",{"_index":8268,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.isoutdatedonscopecontext",{"_index":6724,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.isoutdatedonscopeschool",{"_index":6722,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.ispending",{"_index":11914,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispreviewpossible",{"_index":11911,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispropertyprivacyprotected(e.target",{"_index":9973,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.isregexcommentmandatoryandfilled(param",{"_index":10601,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isregexvalid(param",{"_index":10604,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isschoolnumberunique(school",{"_index":20436,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.isslash(inputpath",{"_index":1664,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.isslash(path",{"_index":1667,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.issubmitted",{"_index":21072,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.issubmittedforuser(user",{"_index":21755,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.issubstitutionteacher",{"_index":4133,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.issuer",{"_index":15099,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.isteacher",{"_index":9786,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.istemplate",{"_index":8195,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.istoolstatuslatestorthrow(userid",{"_index":23315,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.isuniqueemail(email",{"_index":1003,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.isupgradable",{"_index":4733,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.isusermigrated(user",{"_index":16498,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isuserreferenced(user",{"_index":1841,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["this.isusersubmitter(user",{"_index":21071,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.isusersubstitutionteacherincourse(user",{"_index":21753,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isvaluevalidfortype(param.type",{"_index":6195,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.isverified",{"_index":11885,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.joinpath(os.tmpdir",{"_index":12167,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.jwksendpoint",{"_index":15101,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.jwt",{"_index":16987,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["this.jwtservice.sign(user",{"_index":1731,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.addtowhitelist(user.accountid",{"_index":1734,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.iswhitelisted(accountid",{"_index":14482,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["this.jwtvalidationadapter.removefromwhitelist(decodedjwt.accountid",{"_index":1739,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.kcadmin.callkcadminclient",{"_index":14690,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getadminuser",{"_index":15013,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getclientid",{"_index":14722,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.kcadmin.setpasswordpolicy",{"_index":14802,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadmin.testkcconnection",{"_index":14798,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadminclient",{"_index":14572,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.auth(this.kcsettings.credentials",{"_index":14573,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.callkcadminclient",{"_index":14878,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.del",{"_index":14914,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.find",{"_index":14911,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.findone",{"_index":14893,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.setconfig",{"_index":14568,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminservice.getclientid",{"_index":14836,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getclientsecret",{"_index":14838,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getwellknownurl",{"_index":14832,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.testkcconnection",{"_index":14845,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcsettings.baseurl}/realms/${this.kcsettings.realmname}/.well",{"_index":14574,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.clientid",{"_index":14577,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.credentials.username",{"_index":14576,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.realmname",{"_index":14587,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.key",{"_index":8177,"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":20993,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring(cryptojs.enc.utf8",{"_index":20996,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.keycloakconfigservice.configurebrokerflows",{"_index":14804,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureclient",{"_index":14803,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureidentityproviders",{"_index":14806,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configurerealm",{"_index":14805,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigurationuc.check",{"_index":4923,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.clean(options.pagesize",{"_index":4933,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.configure",{"_index":4948,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.migrate",{"_index":4958,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.seed",{"_index":4941,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakmanagementuc.check",{"_index":14951,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.configure",{"_index":14952,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.seed",{"_index":14953,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmigrationservice.migrate(skip",{"_index":14801,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.clean(pagesize",{"_index":14799,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.seed",{"_index":14800,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keyvalue",{"_index":1763,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.language",{"_index":6622,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastauthorizationtime",{"_index":14590,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.lastloginsystemchange",{"_index":23564,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastmodifytimestamp",{"_index":15113,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastname",{"_index":11265,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.lastnamesearchvalues",{"_index":23640,"title":{},"body":{"classes/UserDO.html":{}}}],["this.lastsuccessfulfullsync",{"_index":15109,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsuccessfulpartialsync",{"_index":15111,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsyncattempt",{"_index":15107,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lasttriedfailedlogin",{"_index":246,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.lastupdatedat",{"_index":22624,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["this.launch_presentation_locale",{"_index":16043,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["this.ldapactive",{"_index":21511,"title":{},"body":{"classes/SystemDto.html":{}}}],["this.ldapconfig",{"_index":15164,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.ldapdn",{"_index":4677,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ldapdn?.match(pattern_login_from_dn",{"_index":13989,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.ldapencryptionservice.encrypt",{"_index":5402,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.ldapservice.checkldapcredentials(system",{"_index":15241,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.legacylogger.debug",{"_index":11051,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.legacylogger.warn",{"_index":20253,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.legacysystemservice.findbyid(id",{"_index":21648,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(systemtypeenum.oauth",{"_index":21646,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(type",{"_index":21647,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legayschoolrule",{"_index":19505,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lesson",{"_index":21692,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.hidden",{"_index":21763,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.name",{"_index":21762,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lessoncopyservice.copylesson",{"_index":3370,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.lessoncopyservice.updatecopiedembeddedtasks(elementcopystatus",{"_index":3397,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.lessoncopyuc.copylesson",{"_index":19418,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.lessonhidden",{"_index":21936,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.lessonreadpermission(user",{"_index":15676,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.lessonrepo.delete(lesson",{"_index":15712,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids(courseids",{"_index":15714,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyid(lessonid",{"_index":15713,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyuserid(userid",{"_index":15715,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.save(updatedlessons",{"_index":15720,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrule",{"_index":19501,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lessonrule.haspermission(user",{"_index":22116,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.lessonservice",{"_index":18841,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.lessonservice.deletelesson(lesson",{"_index":15729,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbycourseids([courseid",{"_index":5789,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.lessonservice.findbycourseids([originallesson.course.id",{"_index":15592,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.lessonservice.findbycourseids([roomid",{"_index":19431,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.lessonservice.findbycourseids(readcourseids",{"_index":22255,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbycourseids(writecourseids",{"_index":22254,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbyid(id",{"_index":15734,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["this.lessonservice.findbyid(lessonid",{"_index":15584,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.lessonservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20832,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lessonservice.savelesson(lesson",{"_index":26431,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.lessonuc.delete(currentuser.userid",{"_index":15565,"title":{},"body":{"controllers/LessonController.html":{}}}],["this.lessonurlhandler",{"_index":16452,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.lessonwritepermission(user",{"_index":15677,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.level",{"_index":3928,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.library",{"_index":12611,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.libraryadministration",{"_index":13489,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.libraryadministration.getlibraries",{"_index":13517,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarymanager",{"_index":13484,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage",{"_index":13485,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage.deletelibrary(librariestocheck[lastpositionlibrariestocheckarray",{"_index":13503,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarywishlist",{"_index":13495,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.license",{"_index":6628,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.licenseextras",{"_index":6655,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.licenseversion",{"_index":6646,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.limit",{"_index":17910,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.listobjectkeysrecursive(params",{"_index":19617,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.loadaccount(username",{"_index":15232,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.loadaccounts",{"_index":15008,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.loadallcollectionsfromdatabase(folder",{"_index":5270,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadallcollectionsfromfilesystem(folder",{"_index":5269,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5309,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loader.loadauthorizableobject(entityname",{"_index":1963,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.loadtoolhierarchy(schoolexternaltoolid",{"_index":23314,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.loadusers",{"_index":15007,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.localcookies",{"_index":7172,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.location",{"_index":8260,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["this.logger",{"_index":20624,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.logger.alert(message",{"_index":10006,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.crit(message",{"_index":10007,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.debug",{"_index":4162,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["this.logger.debug('[ldap",{"_index":15203,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug('usersearcindex",{"_index":5362,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.debug(`adding",{"_index":16953,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`contextexternaltool",{"_index":23119,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.logger.debug(`externaltool",{"_index":23177,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.logger.debug(`removing",{"_index":16948,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`schoolexternaltool",{"_index":23473,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.logger.debug(err",{"_index":15201,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug(message",{"_index":15890,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.debug(new",{"_index":22970,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.logger.debug(this.createmessage(message",{"_index":15310,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.emerg(message",{"_index":10005,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error('could",{"_index":10074,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["this.logger.error(`${err.message",{"_index":19575,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.error(`migration",{"_index":14970,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.error(`the",{"_index":9019,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(err",{"_index":14954,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.error(error",{"_index":9038,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(loggable",{"_index":12690,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.logger.error(message",{"_index":10008,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error(this.createmessage(result",{"_index":15312,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.http(logging",{"_index":18999,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.info",{"_index":15252,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.logger.info(message",{"_index":15889,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.info(new",{"_index":10477,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.info(this.createmessage(message",{"_index":15308,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.log",{"_index":8968,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["this.logger.log('before",{"_index":9828,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log('cleanup",{"_index":8974,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.log(`${oauthconfig.authendpoint}?${query",{"_index":13658,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(`...deleted",{"_index":15018,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`...migrated",{"_index":14971,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`after",{"_index":9830,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log(`amount",{"_index":15016,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`initialized",{"_index":9026,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.log(`migration",{"_index":14969,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`starting",{"_index":15014,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`stream",{"_index":19648,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(axiosconfig",{"_index":13659,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(localdto",{"_index":13681,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(new",{"_index":25994,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.notice(message",{"_index":15888,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.notice(this.createmessage(message",{"_index":15311,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.setcontext(`${context.getclass().name}::${context.gethandler().name",{"_index":18992,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.setcontext(boarduc.name",{"_index":4161,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.logger.setcontext(carduc.name",{"_index":4556,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.logger.setcontext(collaborativestorageadapter.name",{"_index":5038,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.logger.setcontext(collaborativestoragecontroller.name",{"_index":5112,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.logger.setcontext(collaborativestorageservice.name",{"_index":5153,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.logger.setcontext(columnuc.name",{"_index":5716,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.logger.setcontext(databasemanagementuc.name",{"_index":5227,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.setcontext(deletefilesconsole.name",{"_index":8967,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.setcontext(deletefilesuc.name",{"_index":9003,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.setcontext(drawingelementadapterservice.name",{"_index":9683,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.logger.setcontext(elementuc.name",{"_index":9888,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.logger.setcontext(filesstorageclientadapterservice.name",{"_index":12273,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.logger.setcontext(filesstorageconsumer.name",{"_index":12352,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.logger.setcontext(filesstorageproducer.name",{"_index":12451,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.logger.setcontext(fwulearningcontentsuc.name",{"_index":12582,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.logger.setcontext(hydraoauthuc.name",{"_index":13581,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.logger.setcontext(keycloakconsole.name",{"_index":4908,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.logger.setcontext(keycloakmanagementcontroller.name",{"_index":14949,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.setcontext(keycloakmigrationservice.name",{"_index":14963,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.setcontext(ldapservice.name",{"_index":15187,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.setcontext(newsuc.name",{"_index":16823,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.logger.setcontext(nextcloudstrategy.name",{"_index":16909,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.setcontext(oauthservice.name",{"_index":17028,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.logger.setcontext(oauthssocontroller.name",{"_index":17652,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.setcontext(previewgeneratorconsumer.name",{"_index":18043,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.logger.setcontext(previewgeneratorservice.name",{"_index":18085,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.logger.setcontext(previewproducer.name",{"_index":18115,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.logger.setcontext(previewservice.name",{"_index":18139,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.setcontext(restartuserloginmigrationuc.name",{"_index":19039,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(s3clientadapter.name",{"_index":19571,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.setcontext(sharetokenuc.name",{"_index":20863,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.logger.setcontext(startuserloginmigrationuc.name",{"_index":20961,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(youruc.name",{"_index":25992,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.warn",{"_index":16966,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.warn('no",{"_index":21423,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["this.logger.warn(`boardcopyservice",{"_index":3363,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warn(`could",{"_index":18146,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["this.logger.warn(`placeholder",{"_index":5389,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.warn(err",{"_index":3344,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warning",{"_index":20238,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warning(message",{"_index":15887,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.warning(new",{"_index":18096,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/UserMigrationService.html":{}}}],["this.logger.warning(this.createmessage(message",{"_index":15309,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.loginname",{"_index":14104,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.loginuc.getlogindata(user",{"_index":15959,"title":{},"body":{"controllers/LoginController.html":{}}}],["this.logo",{"_index":10163,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["this.logo_url",{"_index":8181,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.logobase64",{"_index":10376,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["this.logourl",{"_index":6756,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.logoutendpoint",{"_index":15097,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.logoutflowuc.logoutflow(params.challenge",{"_index":17485,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.logouturl",{"_index":2186,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lookuptoken(token",{"_index":20828,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lti_message_type",{"_index":8183,"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":8185,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ltirepo.findbyoauthclientid(oauthclientid",{"_index":13693,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.ltitoolrepo.findbyclientidandislocal(clientid",{"_index":16207,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["this.ltitoolrepo.findbyname(this.client.oidcinternalname",{"_index":16964,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.ltitoolservice.findbyclientidandislocal(clientid",{"_index":17518,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.machinename",{"_index":11700,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mainlibrary",{"_index":6624,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.majorversion",{"_index":11701,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.manageclientsconnections",{"_index":24784,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.mandatory",{"_index":23947,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["this.mandatorysince",{"_index":23911,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.mapbasictoolconfigdotoentity(entitydo.config",{"_index":10798,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapbasictoolconfigdotoresponse(externaltool.config",{"_index":10958,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapbasictoolconfigtodo(entity.config",{"_index":10773,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapboardelements(board",{"_index":19302,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["this.mapcolumnboardelement(element",{"_index":9782,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.mapcontenttoresource(lesson.id",{"_index":5798,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcontexttypetodotype(entity.contexttype",{"_index":6910,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcontexttypetoentitytype(entitydo.contextref.type",{"_index":6915,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcourseteacherstocopyrightowners(course",{"_index":5782,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseuserstousergroup(course",{"_index":3465,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.mapcustomparameterdostoentities(entitydo.parameters",{"_index":10805,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparameterstodos(entity.parameters",{"_index":10780,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparametertoresponse",{"_index":10961,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapdomainobjecttoentityproperties(domainobject",{"_index":10683,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapdotoentityproperties(domainobject",{"_index":2495,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.mapelementtoentity(e",{"_index":8734,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapentitytodo(entity",{"_index":2517,"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":15405,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(schools[0",{"_index":15409,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(user",{"_index":23688,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userentity",{"_index":23685,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userloginmigration",{"_index":23983,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this.mapentitytodomainobject(entities",{"_index":10689,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.mapentitytodomainobject(entity",{"_index":10676,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapexternalgroup(source",{"_index":19831,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapexternalsourceentitytoexternalsource(entity.externalsource",{"_index":12893,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapexternalsourcetoexternalsourceentity(props.externalsource",{"_index":12882,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapfromdtotoresponse(system",{"_index":21613,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["this.mapfromentitytodto(entity",{"_index":19226,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["this.mapgridelementtomodel(elementwithposition",{"_index":8761,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapgroupuserentitytogroupuser(groupuser",{"_index":12888,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapldapconfigentitytodomainobject(entity.ldapconfig",{"_index":21497,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.maplessonelement(element",{"_index":9781,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maplti11toolconfigdotoentity(entitydo.config",{"_index":10800,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.maplti11toolconfigdotoresponse(externaltool.config",{"_index":10959,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.maplti11toolconfigtodo(entity.config",{"_index":10775,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configdotoentity(entitydo.config",{"_index":10799,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configtodo(entity.config",{"_index":10774,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2toolconfigdotoresponse(externaltool.config",{"_index":10960,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapoauthconfigentitytodomainobject(entity.oauthconfig",{"_index":21495,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.mapper.mapdashboardtoentity(dashboardmodel",{"_index":8800,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtoentity(modelentity",{"_index":8796,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtomodel(entity",{"_index":8794,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdotoprovideroauthclient",{"_index":11040,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.mapper.maptoresponse(board",{"_index":19406,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.mappers.find((mapper",{"_index":6446,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.mappseudonymtouserdata(pseudonym",{"_index":11438,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.mapreferencetoentity(ref",{"_index":8726,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapreferencetomodel(ref",{"_index":8755,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolcreateparams.config",{"_index":10896,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolupdateparams.config",{"_index":10882,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterdo",{"_index":10886,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(contextexternaltool.parameters",{"_index":6985,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(request.parameters",{"_index":6941,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigcreate(externaltoolcreateparams.config",{"_index":10897,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigupdate(externaltoolupdateparams.config",{"_index":10883,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigcreate(externaltoolcreateparams.config",{"_index":10898,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigupdate(externaltoolupdateparams.config",{"_index":10884,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.mapsanisroletorolename(source",{"_index":19824,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapsubmissionitemtoresponse(item",{"_index":21220,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.maptaskelement(element",{"_index":9779,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoclassinfotoresponse(classinfo",{"_index":13007,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["this.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":23087,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptocustomparameterentryresponse(schoolexternaltool.parameters",{"_index":20058,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptodo(entity",{"_index":4799,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoelementdtos(filtered",{"_index":9766,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoentity(domainobject",{"_index":4801,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoexternalgroupuser",{"_index":19835,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoexternalgroupuser(relation",{"_index":19840,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoresponse(element",{"_index":6451,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":23084,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptoschoolexternaltoolresponse(tooldo",{"_index":20055,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptotoolreferenceresponse(toolreference",{"_index":6990,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.mapuserstoresponse(user",{"_index":21222,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.match",{"_index":14111,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.matchedby",{"_index":13997,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.matchsinglerule(selectedrules",{"_index":19517,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.materials.getitems",{"_index":6266,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.isinitialized(true",{"_index":6265,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.set(props.materials",{"_index":6246,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.max_redirects",{"_index":13605,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.maxexternaltoollogosizeinbytes",{"_index":10497,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["this.maxsubmissions",{"_index":4130,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.mdb",{"_index":22676,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.flushdocument(docname",{"_index":22693,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.getydoc(docname",{"_index":22679,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.storeupdate(docname",{"_index":22682,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.meetingid",{"_index":2146,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{}}}],["this.mergeelementintoposition(elementtomove",{"_index":8555,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.merlinreference",{"_index":16310,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.message",{"_index":4249,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.messagehandler(ws",{"_index":22937,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.metadata",{"_index":6681,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.metadataprops.version",{"_index":5977,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["this.metadatasettings",{"_index":11774,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.metadescription",{"_index":6638,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metakeywords",{"_index":6640,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metatagextractorservice.getmetadata(url",{"_index":16438,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["this.metatagextractoruc.getmetadata(currentuser.userid",{"_index":16349,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["this.method",{"_index":18954,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.migrationcheckservice.shouldusermigrate",{"_index":17039,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.mimetype",{"_index":7253,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ParentInfo.html":{}}}],["this.minorversion",{"_index":11702,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.moderatormustapprovejoinrequests",{"_index":24383,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.moderatorpw",{"_index":2192,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.modifiedcount",{"_index":9263,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.multiplecollections",{"_index":22673,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.name",{"_index":2184,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/H5pFileDto.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ResolvedGroupDto.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{}}}],["this.name.length",{"_index":7616,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.newsrepo.delete(news",{"_index":16847,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallpublished(targets",{"_index":16836,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallunpublishedbyuser(targets",{"_index":16835,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findonebyid(id",{"_index":16839,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.save(news",{"_index":16829,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsuc.create",{"_index":16622,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.newsuc.delete(urlparams.newsid",{"_index":16636,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.findallforuser",{"_index":16626,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["this.newsuc.findonebyidforuser(urlparams.newsid",{"_index":16631,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.update",{"_index":16632,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.nowplusdays(options.expiresindays",{"_index":20873,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.numberofdrafttasks",{"_index":3795,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofplannedtasks",{"_index":3796,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofpublishedtasks",{"_index":3794,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.oauthadapterservice.getpublickey(oauthconfig.jwksendpoint",{"_index":17052,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthadapterservice.sendauthenticationcodetokenrequest",{"_index":17049,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthclientid",{"_index":8202,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.oauthconfig",{"_index":15160,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oauthencryptionservice.decrypt(clientsecret",{"_index":14847,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.decrypt(oauthconfig.clientsecret",{"_index":17055,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthencryptionservice.encrypt(await",{"_index":14837,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.encrypt(tool.secret",{"_index":13702,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid",{"_index":17546,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid(clientid",{"_index":13866,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.oauthproviderloginflowservice.isnextcloudtool(tool",{"_index":17548,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowuc.getloginrequest(params.challenge",{"_index":17477,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderloginflowuc.patchloginrequest",{"_index":17480,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentresponse(consentrequest",{"_index":17491,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentsessionstoresponse(session",{"_index":17499,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.maploginresponse(loginresponse",{"_index":17478,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapoauthclientresponse(client",{"_index":17461,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirect",{"_index":17486,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirectresponse",{"_index":17482,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderservice.acceptconsentrequest",{"_index":17399,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.acceptloginrequest",{"_index":17554,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.acceptlogoutrequest(challenge",{"_index":17565,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["this.oauthproviderservice.createoauth2client(datawithdefaults",{"_index":17362,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.createoauth2client(oauthclient",{"_index":11041,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.deleteoauth2client(id",{"_index":17364,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.getconsentrequest(challenge",{"_index":17388,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.getloginrequest(challenge",{"_index":17541,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.getoauth2client",{"_index":11067,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(config.clientid",{"_index":11074,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(id",{"_index":17358,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.listconsentsessions(userid",{"_index":17634,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.listoauth2clients",{"_index":17357,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.rejectconsentrequest",{"_index":17396,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.rejectloginrequest",{"_index":17559,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.revokeconsentsession(userid",{"_index":17635,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(id",{"_index":17363,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(loadedoauthclient.client_id",{"_index":11071,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthprovideruc.listconsentsessions",{"_index":17497,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthprovideruc.revokeconsentsession(currentuser.userid",{"_index":17502,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthservice.authenticateuser(systemid",{"_index":17079,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.authenticateuser(targetsystemid",{"_index":24098,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.oauthservice.provisionuser(systemid",{"_index":17080,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.requesttoken",{"_index":13586,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthservice.validatetoken(oauthtokens.idtoken",{"_index":13588,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.officialschoolnumber",{"_index":10112,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.oidcconfig",{"_index":15162,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oidcidentityprovidermapper.maptokeycloakidentityprovider(oidcconfig",{"_index":14762,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.oidcprovisioningservice.filterexternalgroups(groups",{"_index":17880,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalgroup(group",{"_index":17882,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalschool(data.externalschool",{"_index":17872,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternaluser",{"_index":17874,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.removeexternalgroupsandaffiliation",{"_index":17877,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.on('update",{"_index":24782,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.openinnewtab",{"_index":23365,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.opennewtab",{"_index":8208,"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":9261,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["this.options",{"_index":9621,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.options.adminid",{"_index":1181,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminpassword",{"_index":1186,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.admintoken",{"_index":1182,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminuser",{"_index":1185,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.copyrightowners",{"_index":5903,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.creationyear",{"_index":5904,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.enabled",{"_index":1332,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.exchange",{"_index":1338,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.filesservicebaseurl",{"_index":1349,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.identifier",{"_index":5901,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.module",{"_index":22558,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["this.options.routingkey",{"_index":1339,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.options.title",{"_index":5902,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.uri",{"_index":1191,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.version",{"_index":5905,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organization",{"_index":12921,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.organizationelements.map((organizationelement",{"_index":6031,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["this.organizationid",{"_index":12987,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.organizations.flatmap((organization",{"_index":5898,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.map((organization",{"_index":5896,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.push(organizationbuilder",{"_index":5892,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.origin",{"_index":14354,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["this.origintoolid",{"_index":8237,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["this.orm.close",{"_index":16550,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["this.orm.getschemagenerator().ensureindexes",{"_index":8952,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.otherusers",{"_index":10091,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["this.outdatedsince",{"_index":23566,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ownedbyuserid",{"_index":13545,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.parameters",{"_index":6708,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.parameters.map((param",{"_index":16530,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.parametertype",{"_index":17917,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["this.params",{"_index":2085,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ShareTokenFactory.html":{}}}],["this.params(params",{"_index":577,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["this.parentid",{"_index":7249,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.parentname",{"_index":20754,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["this.parentpermission(user",{"_index":15683,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.parents",{"_index":23568,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.parentsmap.get(card.id",{"_index":18775,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(column.id",{"_index":18774,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(columnboard.id",{"_index":18768,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(drawingelement.id",{"_index":18784,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(externaltoolelement.id",{"_index":18791,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(fileelement.id",{"_index":18776,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(linkelement.id",{"_index":18778,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(richtextelement.id",{"_index":18782,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissioncontainerelement.id",{"_index":18786,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissionitem.id",{"_index":18788,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.set(child.id",{"_index":18798,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsystemid",{"_index":17676,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["this.parenttitle",{"_index":16380,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["this.parenttype",{"_index":6675,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.password",{"_index":236,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.patchversion",{"_index":11753,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path",{"_index":3926,"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":3937,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.patterns",{"_index":137,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.patterns.some((pattern",{"_index":150,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.payload",{"_index":17994,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.performedat",{"_index":9269,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.permission",{"_index":9613,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.permissionmapper.mapbodytodto(permissionsdto",{"_index":5193,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.permissions",{"_index":11652,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.permissions.filter((permission",{"_index":11653,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.persistandflush(dashboard",{"_index":8802,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.persistence",{"_index":22887,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.persistence.bindstate(docname",{"_index":22916,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.pickimage(data?.result?.ogimage",{"_index":16420,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.pin",{"_index":18905,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.pingtimeout",{"_index":22885,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.populate([task",{"_index":22006,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populate(tasks",{"_index":22087,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populateboard(board",{"_index":4000,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.populatereferences([submission",{"_index":21293,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populatereferences(submissions",{"_index":21294,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populateroles([teamuser.role",{"_index":22436,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(role.roles.getitems",{"_index":22441,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(user.roles.getitems",{"_index":23687,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this.populateroles(userentity.roles.getitems",{"_index":23684,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.position",{"_index":3930,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.positionfromgridindex(key",{"_index":8548,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.post('/api/v1/logout",{"_index":1119,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post('/api/v1/users.setstatus",{"_index":1114,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post(path",{"_index":1159,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.addmoderator",{"_index":1137,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.archive",{"_index":1127,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.create",{"_index":1149,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.delete",{"_index":1151,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.invite",{"_index":1135,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.kick",{"_index":1131,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.removemoderator",{"_index":1139,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.unarchive",{"_index":1123,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.create",{"_index":1153,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.createtoken",{"_index":1117,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.delete",{"_index":1156,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postdeletionexecutionsendpoint",{"_index":9105,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.postdeletionrequestsendpoint",{"_index":9102,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.preferences",{"_index":23562,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.preloadedcss",{"_index":11776,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadeddependencies",{"_index":6630,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadedjs",{"_index":11779,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.prepareawarenessmessage(changedclients",{"_index":24785,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.preparebbbcreateconfigbuilder(scope",{"_index":24526,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.previewgeneratorservice.generatepreview(payload",{"_index":18047,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.previewproducer.generate(payload",{"_index":18156,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.previewservice.deletepreviews(filerecords",{"_index":12362,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.previewstatus",{"_index":7258,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.previousexternalid",{"_index":15351,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.privacy_permission",{"_index":8191,"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":21691,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.proceedbuttonurl",{"_index":17894,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.processcookies(localdto.response.headers['set",{"_index":13674,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.processredirectcascade(initresponse",{"_index":13595,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.product",{"_index":4231,"title":{},"body":{"classes/Builder.html":{}}}],["this.product.allowmodstounmuteusers",{"_index":2240,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.attendeepw",{"_index":2238,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.guest",{"_index":2290,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.guestpolicy",{"_index":2226,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.logouturl",{"_index":2224,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.moderatorpw",{"_index":2236,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.muteonstart",{"_index":2227,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.role",{"_index":2291,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.userid",{"_index":2292,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.welcome",{"_index":2225,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product['meta_bbb",{"_index":2228,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.properties",{"_index":23229,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["this.propertiestopopulate",{"_index":16746,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.props",{"_index":1771,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/DomainObject.html":{}}}],["this.props.alternativetext",{"_index":11564,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.authtoken",{"_index":19139,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.caption",{"_index":11562,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.children",{"_index":3092,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.props.completed",{"_index":21176,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.context",{"_index":5441,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["this.props.contextexternaltoolid",{"_index":10334,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["this.props.copyrightowners",{"_index":6010,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.createdat",{"_index":3093,"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":6009,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.deleteafter",{"_index":9399,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.deletedcount",{"_index":9240,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.deletionrequestid",{"_index":9241,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.description",{"_index":5930,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.domain",{"_index":9237,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.duedate",{"_index":21094,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["this.props.externalsource",{"_index":12792,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.gradelevel",{"_index":4631,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.height",{"_index":4360,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["this.props.href",{"_index":5965,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.html",{"_index":6057,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.id",{"_index":1772,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["this.props.identifier",{"_index":5963,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.imageurl",{"_index":15799,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.inputformat",{"_index":19082,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.intendeduse",{"_index":6058,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.invitationlink",{"_index":4629,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.ldapconfig",{"_index":21432,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["this.props.ldapdn",{"_index":4632,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.modifiedcount",{"_index":9239,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.name",{"_index":4625,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.operation",{"_index":9238,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.organizationid",{"_index":12793,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.performedat",{"_index":9242,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.provisioningoptions",{"_index":20323,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["this.props.provisioningstrategy",{"_index":21433,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["this.props.pseudonym",{"_index":18377,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.rcid",{"_index":19138,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.requireduserrole",{"_index":3439,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.resources.map",{"_index":5881,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.resources.map((content",{"_index":6020,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["this.props.resources.push(props",{"_index":5886,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.schoolid",{"_index":4626,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["this.props.source",{"_index":4634,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceoptions",{"_index":4635,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceschoolid",{"_index":20311,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.status",{"_index":9401,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.successor",{"_index":4633,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.systemid",{"_index":20322,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["this.props.targetrefdomain",{"_index":9398,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetrefid",{"_index":9400,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetschoolid",{"_index":20313,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.teacherids",{"_index":4628,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.text",{"_index":19080,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.title",{"_index":4358,"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":18378,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.tspuid",{"_index":4846,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["this.props.type",{"_index":5964,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.updatedat",{"_index":3094,"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":5932,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.userid",{"_index":18379,"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":4627,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.userids?.filter((userid1",{"_index":4636,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.username",{"_index":19137,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.users",{"_index":3438,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.users.filter((groupuser",{"_index":12794,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.users.length",{"_index":12796,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.version",{"_index":5939,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.year",{"_index":4630,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.propsfactory",{"_index":2589,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.afterbuild(afterbuildfn",{"_index":2600,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.associations(associations",{"_index":2603,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.build(params",{"_index":2592,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.params(params",{"_index":2604,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.rewindsequence",{"_index":2606,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.transient(transient",{"_index":2605,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory['sequence",{"_index":2613,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.provider",{"_index":15051,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provideroptions",{"_index":15123,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningfeatures.provisioningoptionsenabled",{"_index":17879,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.provisioningfeatures.schulconnexgroupprovisioningenabled",{"_index":17876,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["this.provisioningoptions",{"_index":18352,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["this.provisioningservice.getdata",{"_index":24100,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.provisioningservice.getdata(systemid",{"_index":17034,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningservice.provisiondata(data",{"_index":17041,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningstrategy",{"_index":15166,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningurl",{"_index":15168,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.pseudonym",{"_index":10638,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/TooManyPseudonymsLoggableException.html":{}}}],["this.pseudonymrepo",{"_index":18493,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18490,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.findbyuserid(userid",{"_index":18487,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymservice",{"_index":16940,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.pseudonymservice.findbyuserandtoolorthrow(user",{"_index":13868,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.pseudonymservice.findorcreatepseudonym(user",{"_index":11440,"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":11444,"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":11410,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(pseudonym.pseudonym",{"_index":11459,"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":18405,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["this.publicsubmissions",{"_index":21696,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.published",{"_index":3057,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{}}}],["this.publishedat",{"_index":24752,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["this.random(50",{"_index":3874,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.rcid",{"_index":19148,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.read",{"_index":11815,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.reason",{"_index":11853,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["this.redirect",{"_index":2274,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{}}}],["this.redirect_to",{"_index":18808,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["this.redirect_uri",{"_index":1512,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.redirecturi",{"_index":15092,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.redirecturis",{"_index":17090,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.redisclient",{"_index":20623,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.referencedentityid",{"_index":18867,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.referencedentityname",{"_index":18866,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.references",{"_index":8518,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.getitems",{"_index":2978,"title":{},"body":{"entities/Board.html":{}}}],["this.references.length",{"_index":8526,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.set(elements",{"_index":2982,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(newlist",{"_index":3016,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(onlyexistingreferences",{"_index":3005,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(props.references",{"_index":2971,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(references",{"_index":8611,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.referer",{"_index":13618,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.refid",{"_index":11808,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refownermodel",{"_index":11677,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.refpermmodel",{"_index":11810,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refreshtoken",{"_index":17066,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["this.regex",{"_index":8264,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.regexcomment",{"_index":8266,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.region",{"_index":21011,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.registerparentdata(parent",{"_index":18766,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.registerstrategy(iservstrategy",{"_index":18332,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(oidcmockstrategy",{"_index":18333,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(sanisstrategy",{"_index":18331,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registrationpinrepo.deleteregistrationpinbyemail(email",{"_index":18931,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["this.rejectconsentrequest(challenge",{"_index":17394,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.rejectloginrequest(challenge",{"_index":17543,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.rejectnothandled(card",{"_index":6512,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(column",{"_index":6511,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(columnboard",{"_index":6510,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(drawingelement",{"_index":6541,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(externaltoolelement",{"_index":6550,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(fileelement",{"_index":6518,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(linkelement",{"_index":6534,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(richtextelement",{"_index":6539,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submission",{"_index":6545,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submissioncontainerelement",{"_index":6544,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.relatedresources",{"_index":16312,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.relation.ktid",{"_index":13038,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.relation.rollen?.[0",{"_index":13040,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.remapprotectedentityfields(domainobject",{"_index":2494,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removedeletedreferences(boardelementtargets",{"_index":2999,"title":{},"body":{"entities/Board.html":{}}}],["this.removeemptyobjectsfromresponse(axiosresponse.data",{"_index":19753,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.removefromposition(from",{"_index":8556,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removeprotectedentityfields(entitydata",{"_index":2496,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removeroomsnotinlist(rooms",{"_index":8557,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removesecrets(collectionname",{"_index":5334,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromstorageproviders(jsondocuments",{"_index":5416,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromsystems(jsondocuments",{"_index":5415,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.repeatcommand",{"_index":4932,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.repo.delete(meta",{"_index":22508,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserandfilename(user.id",{"_index":22509,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserid(userid",{"_index":7987,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyid(courseid",{"_index":7986,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyowneruserid(userid",{"_index":12237,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbypermissionrefid(userid",{"_index":12232,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbyuser(user.id",{"_index":22521,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(user.id",{"_index":22512,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(userid",{"_index":22506,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserid(userid",{"_index":7829,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.findexpired",{"_index":22522,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.save(coursegroups",{"_index":7832,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.save(courses",{"_index":7990,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.save(entities",{"_index":12236,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repos.get(type",{"_index":18852,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.boardnode",{"_index":18848,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.contextexternaltoolentity",{"_index":18850,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.course",{"_index":18832,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.coursegroup",{"_index":18834,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.lesson",{"_index":18840,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.school",{"_index":18838,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.schoolexternaltoolentity",{"_index":18846,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.submission",{"_index":18844,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.task",{"_index":18830,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.team",{"_index":18842,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.user",{"_index":18836,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.request(filespreviewevents.generate_preview",{"_index":18117,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.request(filesstorageevents.copy_files_of_parent",{"_index":12453,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.delete_files_of_parent",{"_index":12459,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.list_files_of_parent",{"_index":12456,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.remove_creatorid_of_files",{"_index":12462,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request.app.get('feathersapp",{"_index":11478,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["this.requestid",{"_index":9526,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["this.requestmapper.mapschoolexternaltoolrequest(body",{"_index":23470,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.requesttimeout",{"_index":22618,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["this.requesttoken",{"_index":11855,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["this.requesttoken(authcode",{"_index":17032,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.requiredextensions",{"_index":11782,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resizeandconvert(original",{"_index":18089,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.resolvepermissions(user",{"_index":17973,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(innerroles",{"_index":17971,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(user.roles.getitems",{"_index":17969,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolveplaceholder(placeholder.substring(2",{"_index":5380,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.resolverepo(objectname",{"_index":18854,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.resolvetokenrequest(responsetokenobservable",{"_index":17139,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.resource_link_id",{"_index":8187,"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":6052,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["this.resourcename",{"_index":16977,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resources.push(resource",{"_index":5895,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.response",{"_index":1104,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/HydraRedirectDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.responsemapper.maptoexternalgroupdtos(axiosresponse.data",{"_index":19759,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternalschooldto(axiosresponse.data",{"_index":19758,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternaluserdto(axiosresponse.data",{"_index":19756,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(createdschoolexternaltooldo",{"_index":23478,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":23468,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(updated",{"_index":23472,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptosearchlistresponse(found",{"_index":23465,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsetype",{"_index":15093,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.restartuserloginmigrationuc.restartmigration",{"_index":23884,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.restricted",{"_index":11785,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.restricttocontexts",{"_index":10173,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.resultmap.get(child.id",{"_index":18681,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.get(original.id",{"_index":18633,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.set(original.id",{"_index":18639,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.rocketchatuserrepo.deletebyuserid(userid",{"_index":19196,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.rocketchatuserrepo.findbyuserid(userid",{"_index":19195,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.role",{"_index":2269,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.roleid",{"_index":13122,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.roleids",{"_index":23754,"title":{},"body":{"classes/UserDto.html":{}}}],["this.rolename",{"_index":10103,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.rolenames",{"_index":14106,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.rolenames.push(...props.rolenames",{"_index":13977,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.rolerepo.findbyid(id",{"_index":19275,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbyids(ids",{"_index":19277,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbynames(names",{"_index":19279,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.roles",{"_index":8189,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["this.roles.getitems",{"_index":19206,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.isinitialized(true",{"_index":19204,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.set(props.roles",{"_index":19203,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roleservice.findbyid(roleid",{"_index":5161,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.roleservice.findbynames([externalgroupuser.rolename",{"_index":17842,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(externaluser.roles",{"_index":17787,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(names",{"_index":19285,"title":{},"body":{"injectables/RoleUc.html":{}}}],["this.roleservice.getprotectedroles",{"_index":24327,"title":{},"body":{"injectables/UserService.html":{}}}],["this.room",{"_index":9760,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.color",{"_index":9807,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.id",{"_index":9806,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.isfinished",{"_index":9810,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.name",{"_index":9808,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.substitutionteachers.contains(this.user",{"_index":9777,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.teachers.contains(this.user",{"_index":9776,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomid",{"_index":20927,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.roomsauthorisationservice",{"_index":9763,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.haslessonreadpermission(this.user",{"_index":9770,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.hastaskreadpermission(this.user",{"_index":9769,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsservice.updateboard(board",{"_index":19459,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.roomsservice.updateboard(originalboard",{"_index":7690,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.roomsuc.getboard(urlparams.roomid",{"_index":19405,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.reorderboardelements(urlparams.roomid",{"_index":19411,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.updatevisibilityofboardelement",{"_index":19407,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.rootpath",{"_index":15116,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.routepath",{"_index":18959,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.rulemanager.selectrule(user",{"_index":1991,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.rules",{"_index":19498,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.rules.filter((rule",{"_index":19515,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.runnable",{"_index":11755,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.s3client.delete([this.getfilepath(userid",{"_index":22507,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3client.get(path",{"_index":22516,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3clientmap.get(storageprovider.id",{"_index":9044,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.set(provider.id",{"_index":9024,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.size",{"_index":9027,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.salt",{"_index":2422,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.save(entity",{"_index":15768,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.save(this.create(course",{"_index":7946,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this.save(this.create(lesson",{"_index":15642,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this.save(this.create(task",{"_index":22005,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.saveall([domainobject",{"_index":2486,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.saverecursive(boardnode",{"_index":18773,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.school",{"_index":7573,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["this.school.externalid",{"_index":20151,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.school.id",{"_index":13996,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.school.previousexternalid",{"_index":20269,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.schoolexternaltoolcount",{"_index":10508,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{}}}],["this.schoolexternaltoolid",{"_index":6753,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["this.schoolexternaltoolmetadataservice.getmetadata",{"_index":20131,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolrepo",{"_index":18847,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolexternaltoolrepo.deletebyexternaltoolid(toolid",{"_index":11062,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.deletebyid(schoolexternaltoolid",{"_index":20098,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.find",{"_index":20088,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyexternaltoolid(toolid",{"_index":11060,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyid(schoolexternaltoolid",{"_index":20087,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.save(schoolexternaltool",{"_index":20100,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrule",{"_index":19507,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolexternaltoolservice.deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":20129,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.findbyid",{"_index":7077,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.schoolexternaltoolservice.findbyid(schoolexternaltoolid",{"_index":10302,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["this.schoolexternaltoolservice.findschoolexternaltools",{"_index":10282,"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":20127,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool(updated",{"_index":20130,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltooluc.createschoolexternaltool",{"_index":23477,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.deleteschoolexternaltool(currentuser.userid",{"_index":23475,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.findschoolexternaltools(currentuser.userid",{"_index":23463,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getmetadataforschoolexternaltool(currentuser.userid",{"_index":23480,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getschoolexternaltool",{"_index":23467,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.updateschoolexternaltool",{"_index":23471,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(schoolexternaltool",{"_index":20126,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(tool",{"_index":20096,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolid",{"_index":4665,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["this.schoolmigrationservice.getschoolformigration",{"_index":24104,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.hasschoolmigrateduser(schoolid",{"_index":4992,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.markunmigratedusersasoutdated(updateduserloginmigration",{"_index":4994,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.migrateschool",{"_index":24106,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.unmarkoutdatedusers(updateduserloginmigration",{"_index":19041,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.schoolname",{"_index":20171,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.schoolnumber_prefix_regex",{"_index":19818,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.schoolparameters",{"_index":19959,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.schoolrepo",{"_index":18839,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolrepo.findbyexternalid(externalid",{"_index":15466,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(id",{"_index":15465,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(schoolid",{"_index":15228,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyschoolnumber(school.officialschoolnumber",{"_index":20439,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.schoolrepo.findbyschoolnumber(schoolnumber",{"_index":15467,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.save(school",{"_index":15464,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrule.haspermission(user",{"_index":26441,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschool(params.schoolid",{"_index":26425,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschoolbyexternalid",{"_index":17770,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolservice.getschoolbyid(ldapuser.schoolid",{"_index":14413,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.schoolservice.getschoolbyid(pseudonymuser.school.id",{"_index":18507,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.schoolservice.getschoolbyid(schoolexternaltool.schoolid",{"_index":2072,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/ToolPermissionHelper.html":{}}}],["this.schoolservice.getschoolbyid(schoolid",{"_index":20966,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.getschoolbyid(user.schoolid",{"_index":20240,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber(officialschoolnumber",{"_index":16493,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["this.schoolservice.removefeature",{"_index":24056,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.removefeature(userloginmigration.schoolid",{"_index":24012,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.schoolservice.save(originalschooldo",{"_index":20237,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.save(school",{"_index":17782,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.save(schooldo",{"_index":24051,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolsystemoptionsrepo.findbyschoolidandsystemid(schoolid",{"_index":20401,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["this.schoolsystemoptionsrepo.save(schoolsystemoptions",{"_index":20405,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["this.schoolsystemoptionsrule",{"_index":19513,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolsystemoptionsservice.findbyschoolidandsystemid(schoolid",{"_index":20415,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["this.schoolsystemoptionsservice.getprovisioningoptions",{"_index":17816,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolsystemoptionsservice.save",{"_index":20424,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["this.schoolsystemoptionsuc.createorupdateprovisioningoptions",{"_index":19890,"title":{},"body":{"controllers/SchoolController.html":{}}}],["this.schoolsystemoptionsuc.getprovisioningoptions",{"_index":19886,"title":{},"body":{"controllers/SchoolController.html":{}}}],["this.schooltool",{"_index":6795,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["this.schooltoolid",{"_index":6958,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["this.schooltoolref",{"_index":6702,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.schooltoolrepo.findbyexternaltoolid(toolid",{"_index":10536,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.schoolvalidationservice.validate(school",{"_index":15468,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolyear",{"_index":4731,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.schoolyearrepo.findbyid(id",{"_index":20463,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearrepo.findcurrentyear",{"_index":20462,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearservice.getcurrentschoolyear",{"_index":17777,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.scope",{"_index":8262,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/ScopeRef.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.scripts",{"_index":12598,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.searchbyusername(username",{"_index":782,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.searchuser",{"_index":15118,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.searchuserpassword",{"_index":15120,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.secret",{"_index":8179,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.secretaccesskey",{"_index":21009,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.secretvalue",{"_index":1765,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.securitycheck",{"_index":11671,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.reason",{"_index":11878,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.requesttoken",{"_index":11880,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.status",{"_index":11877,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.updatedat",{"_index":11879,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheckstatus",{"_index":7247,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.selectconfigureaction(newconfigs",{"_index":14732,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.send(doc",{"_index":22913,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.sendawarenessmessage(buff",{"_index":24786,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.sendhttpresponse(error",{"_index":12692,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.service.createteam(team",{"_index":5195,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.deleteteam(teamid",{"_index":5194,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteam(team",{"_index":5196,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteampermissionsforrole",{"_index":5190,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.setmatch(props.user",{"_index":13982,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.share",{"_index":22348,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["this.sharetokenrepo.findonebytoken(token",{"_index":20826,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokenrepo.save(sharetoken",{"_index":20825,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokens",{"_index":11673,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.sharetokenservice.createtoken(payload",{"_index":20874,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptoken(token",{"_index":20879,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptokenwithparentname(token",{"_index":20875,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenuc.createsharetoken",{"_index":20704,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.importsharetoken",{"_index":20715,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.lookupsharetoken(currentuser.userid",{"_index":20711,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.shorttitle",{"_index":7851,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.shouldskipconsent(tool",{"_index":17552,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.size",{"_index":7245,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.skip",{"_index":17909,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.skipconsent",{"_index":8206,"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":3369,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.source",{"_index":4681,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourcedescription",{"_index":7897,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourceentityid",{"_index":18869,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceentityname",{"_index":18868,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceid",{"_index":7228,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.sourceoptions",{"_index":4683,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.sourceschoolnumber",{"_index":20283,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.sourcesystem",{"_index":23933,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.sourcesystemid",{"_index":23908,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.stack",{"_index":1478,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.startdate",{"_index":7583,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["this.startedat",{"_index":23913,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.startuserloginmigrationuc.startmigration",{"_index":23879,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.state",{"_index":9611,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.statistics",{"_index":9461,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.status",{"_index":2127,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BoardTaskResponse.html":{},"classes/CopyApiResponse.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["this.statuscode",{"_index":1101,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.statustext",{"_index":2129,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.storageclient.create(previewfilepath",{"_index":18092,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.deletedirectory(path",{"_index":18145,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storageclient.get(path",{"_index":12583,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.storageclient.get(pathtofile",{"_index":18098,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.get(previewfilepath",{"_index":18153,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storagefilename",{"_index":11663,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageprovider",{"_index":11665,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageproviderrepo.findall",{"_index":9022,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.strategies",{"_index":23306,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(externaltool.config.type",{"_index":23316,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(systemstrategy",{"_index":18342,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.get(toolconfigtype",{"_index":23311,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(strategy.gettype",{"_index":18334,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.set(toolconfigtype.basic",{"_index":23307,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.lti11",{"_index":23308,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.oauth2",{"_index":23309,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategy",{"_index":5039,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.createteam(team",{"_index":5042,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.deleteteam(teamid",{"_index":5041,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteam(team",{"_index":5043,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteampermissionsforrole(this.mapper.mapdomaintoadapter(team",{"_index":5040,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.stringifiedmessage(message",{"_index":15314,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.stringifymessage(message",{"_index":15928,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["this.student",{"_index":21044,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.student.id",{"_index":21077,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.studentcount",{"_index":4735,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.students",{"_index":7787,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getidentifiers('_id",{"_index":7789,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getitems",{"_index":7600,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.students.remove((u",{"_index":7792,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.set(props.students",{"_index":7575,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.styles",{"_index":12600,"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":16314,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.submissionitemservice.create(userid",{"_index":9905,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.submissionitemservice.findbyid(submissionitemid",{"_index":21261,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemservice.update(submissionitem",{"_index":21262,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemsresponse",{"_index":21386,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["this.submissionitemuc.createelement(currentuser.userid",{"_index":4090,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.findsubmissionitems",{"_index":4076,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.updatesubmissionitem",{"_index":4082,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionrepo",{"_index":18845,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.submissionrepo.delete(submission",{"_index":21346,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findallbytaskids([taskid",{"_index":21344,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findbyid(submissionid",{"_index":21343,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrule",{"_index":19506,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.submissions",{"_index":21700,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.getitems",{"_index":21703,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.isinitialized(true",{"_index":21701,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.set(props.submissions",{"_index":21694,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissionservice.delete(submission",{"_index":21373,"title":{},"body":{"injectables/SubmissionUc.html":{},"injectables/TaskService.html":{}}}],["this.submissionservice.findallbytask(taskid",{"_index":21368,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionservice.findbyid(submissionid",{"_index":21371,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionuc.delete(currentuser.userid",{"_index":21145,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submissionuc.findallbytask(currentuser.userid",{"_index":21138,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submitted",{"_index":4129,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.submitters",{"_index":21350,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.submittingcoursegroupname",{"_index":21351,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.substitutionteachers.contains(user",{"_index":7610,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.getitems",{"_index":7606,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.remove((u",{"_index":7628,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.set(props.substitutionteachers",{"_index":7577,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.successful",{"_index":21392,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["this.successor",{"_index":4679,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.swaplinkedidsinboards(status",{"_index":3342,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.system",{"_index":10135,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["this.systemid",{"_index":244,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.systemoidcservice.findall",{"_index":14730,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.systemrepo.delete(domainobject",{"_index":21638,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findall",{"_index":15515,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oauth",{"_index":15511,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oidc",{"_index":15513,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{}}}],["this.systemrepo.findbyfilter(type",{"_index":15514,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(id",{"_index":15506,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemdto.id",{"_index":15519,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(systemid",{"_index":15227,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.systemrepo.save(system",{"_index":15533,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrule",{"_index":19512,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.systems",{"_index":15355,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["this.systems.set(props.systems",{"_index":19934,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.systemservice.delete(system",{"_index":21650,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemservice.findbyid(systemid",{"_index":17030,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{}}}],["this.systemservice.findbytype(systemtypeenum.oauth",{"_index":24063,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.systemuc.delete(currentuser.userid",{"_index":21480,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyfilter(filterparams.type",{"_index":21470,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyid(params.systemid",{"_index":21475,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.tags",{"_index":16316,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.target",{"_index":16659,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetgroups",{"_index":16318,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.targetid",{"_index":16658,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.targetmodel",{"_index":7907,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetref",{"_index":9457,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.targetrefdomain",{"_index":9423,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetrefid",{"_index":9427,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetschoolnumber",{"_index":20284,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.targetsystem",{"_index":23935,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.targetsystemid",{"_index":14362,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.task",{"_index":21048,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.taskcopyservice.copytask",{"_index":3373,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.taskcopyuc.copytask",{"_index":21828,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskrepo",{"_index":18831,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.taskrepo.createtask(taskcopy",{"_index":21859,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.delete(task",{"_index":22165,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.findallbyparentids",{"_index":22233,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findallfinishedbyparentids",{"_index":22215,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findbyid(params.originaltaskid",{"_index":21849,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.findbyid(taskid",{"_index":21894,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrepo.findbysingleparent",{"_index":21908,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.taskrepo.findbysingleparent(creatorid",{"_index":22162,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.save(task",{"_index":21863,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrule",{"_index":19502,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.taskrule.haspermission(user",{"_index":21328,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.tasks.getitems",{"_index":6252,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.tasks.isinitialized(true",{"_index":6249,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.taskservice.delete(task",{"_index":22259,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskservice.findbyid(id",{"_index":22268,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["this.taskservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20834,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.taskservice.findbysingleparent(userid",{"_index":5804,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{}}}],["this.taskuc.changefinishedforuser(currentuser.userid",{"_index":21823,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.delete(currentuser.userid",{"_index":21830,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findall(currentuser.userid",{"_index":21817,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findallfinished(currentuser.userid",{"_index":21816,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.revertpublished(currentuser.userid",{"_index":21826,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskurlhandler",{"_index":16451,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.teacherids",{"_index":4669,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.teachernames",{"_index":4729,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["this.teachers",{"_index":4749,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["this.teachers.getitems",{"_index":7604,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.remove((u",{"_index":7626,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.set(props.teachers",{"_index":7576,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teamid",{"_index":4299,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.teammembers",{"_index":21062,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.getidentifiers('_id",{"_index":21065,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.set(props.teammembers",{"_index":21057,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teamname",{"_index":22365,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["this.teamrule",{"_index":19503,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.teamsmapper.mapentitytodto(await",{"_index":5154,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo",{"_index":18843,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.teamsrepo.findbyid(teamid",{"_index":5155,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo.findbyuserid(userid",{"_index":13857,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/TeamService.html":{}}}],["this.teamsrepo.save(teams",{"_index":22388,"title":{},"body":{"injectables/TeamService.html":{}}}],["this.teamstorageuc.updateuserpermissionsforrole(currentuser.userid",{"_index":5114,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.teamsubmissions",{"_index":21698,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.teamusers",{"_index":22280,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.text",{"_index":19092,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.throwifnotmoderator(bbbrole",{"_index":24523,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.thumbnail",{"_index":11666,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.thumbnailrequesttoken",{"_index":11669,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.timeout",{"_index":19483,"title":{},"body":{"classes/RpcMessageProducer.html":{},"todo.html":{}}}],["this.timeout(10000",{"_index":26112,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["this.timeoutms",{"_index":4334,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.timestamps",{"_index":4025,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.timetowait",{"_index":4205,"title":{},"body":{"classes/BruteForceError.html":{}}}],["this.title",{"_index":3056,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/CardResponse.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnResponse.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/ErrorResponse.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IGridElement.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["this.title.substring(0",{"_index":8529,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.tldrawboardrepo.flushdocument(docname",{"_index":22956,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawboardrepo.updatedocument(docname",{"_index":22955,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawrepo.delete(drawings",{"_index":22779,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawrepo.findbydocname(docname",{"_index":22778,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawservice.deletebydocname(urlparams.docname",{"_index":22733,"title":{},"body":{"controllers/TldrawController.html":{}}}],["this.tldrawservice.send(this",{"_index":24796,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawservice.updatehandler(update",{"_index":24783,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawwsservice.flushdocument(docname",{"_index":22819,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setpersistence",{"_index":22815,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setupwsconnection(client",{"_index":22811,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.updatedocument(docname",{"_index":22817,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.toggleuserloginmigrationuc.setmigrationmandatory",{"_index":23886,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.token",{"_index":238,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{}}}],["this.tokenendpoint",{"_index":15088,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tokenendpointauthmethod",{"_index":17092,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.tokengenerator.generatesharetoken",{"_index":20822,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.tokenurl",{"_index":15144,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tool",{"_index":19957,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.toolfeatures.backendurl",{"_index":10462,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.contextconfigurationenabled",{"_index":10226,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.toolfeatures.ctltoolstabenabled",{"_index":17517,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.toolfeatures.maxexternaltoollogosizeinbytes",{"_index":10470,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.toolstatuswithoutversions",{"_index":20095,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["this.toolid",{"_index":10640,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.toollaunchservice.generatelaunchrequest(toollaunchdata",{"_index":23334,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchservice.getlaunchdata(userid",{"_index":23333,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchuc.gettoollaunchrequest",{"_index":23221,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions",{"_index":23436,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions(userid",{"_index":7111,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{}}}],["this.toolpermissionhelper.ensureschoolpermissions(userid",{"_index":10303,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.toolreferenceservice.gettoolreference",{"_index":23435,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolreferenceuc.gettoolreference",{"_index":23383,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolreferenceuc.gettoolreferencesforcontext",{"_index":23386,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolvalidationservice.validatecreate(externaltool",{"_index":11128,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolvalidationservice.validateupdate(toolid",{"_index":11130,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolversion",{"_index":6710,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.toolversionservice.determinetoolconfigurationstatus",{"_index":23319,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{}}}],["this.toparams(config",{"_index":2391,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.total",{"_index":17886,"title":{},"body":{"classes/Page.html":{},"classes/PaginationResponse.html":{}}}],["this.tovideoconferencestateresponse(videoconferenceinfo.state",{"_index":24669,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["this.trybuildtoolreference(userid",{"_index":23429,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.tryextractmetatags(url",{"_index":16411,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryfilenameasfallback(url",{"_index":16412,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.trygetprevieworgenerate(previewfileparams",{"_index":18142,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.tryinternallinkmetatags(url",{"_index":16410,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryrollbackmigration(currentuserid",{"_index":24165,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.tryrollbackmigration(schooldocopy",{"_index":20232,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.tspuid",{"_index":4852,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["this.type",{"_index":2109,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BusinessError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ErrorResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["this.uninstallunwantedlibraries",{"_index":13504,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.uninstallunwantedlibraries(this.librarywishlist",{"_index":13518,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.unknownquerytype",{"_index":23505,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["this.until",{"_index":10095,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.untildate",{"_index":7581,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.updatecopiedembeddedtasksoflessons(status",{"_index":3340,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.updatedat",{"_index":462,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{}}}],["this.updateexistinggridelement(existing",{"_index":8741,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.updatefileurls(taskcopy",{"_index":21852,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.updateidentityprovider(configureaction.config",{"_index":14737,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updateoauth2toolconfig(toupdate",{"_index":11043,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateoauthclientorthrow(loadedoauthclient",{"_index":11069,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateorcreateidpdefaultmapper(oidcconfig.idphint",{"_index":14766,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updater",{"_index":16661,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.updatestoreddocwithdiff(docname",{"_index":22688,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.updateteamusersingroup(groupid",{"_index":16920,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.url",{"_index":7243,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["this.usecentralldap",{"_index":20177,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.user",{"_index":8619,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.userdorepo.find(query",{"_index":24324,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyexternalid(externalid",{"_index":24325,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyid(id",{"_index":24319,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyidornull(id",{"_index":24320,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.save(user",{"_index":24321,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.saveall(users",{"_index":24323,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userid",{"_index":242,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BBBJoinConfig.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["this.userids",{"_index":4668,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.userimportuc.endschoolinmaintenance(currentuser.userid",{"_index":14081,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.findallimportusers(currentuser.userid",{"_index":14058,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.removematch(currentuser.userid",{"_index":14067,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.saveallusersmatches(currentuser.userid",{"_index":14077,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.setmatch(currentuser.userid",{"_index":14063,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.startschoolinusermigration(currentuser.userid",{"_index":14079,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.updateflag(currentuser.userid",{"_index":14068,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userinfourl",{"_index":15147,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.userloginmigration",{"_index":19936,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.userloginmigration.id",{"_index":20270,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["this.userloginmigrationid",{"_index":15357,"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":24076,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(school.id",{"_index":16495,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(schoolid",{"_index":20260,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigration",{"_index":24054,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigrationdo",{"_index":24052,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrevertservice.revertuserloginmigration(updateduserloginmigration",{"_index":4993,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationrule",{"_index":19510,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.userloginmigrationservice.closemigration",{"_index":4990,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.deleteuserloginmigration(userloginmigration",{"_index":24013,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool",{"_index":4985,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyuser",{"_index":24092,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.restartmigration",{"_index":19040,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.setmigrationmandatory(userloginmigration",{"_index":22969,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.startmigration(schoolid",{"_index":20963,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationuc.finduserloginmigrationbyschool",{"_index":23876,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.getmigrations",{"_index":23870,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.migrate(jwt",{"_index":23891,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.usermatchschoolid",{"_index":20160,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.usermigrationservice.migrateuser(currentuserid",{"_index":24108,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.username",{"_index":234,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.userrepo",{"_index":18837,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.userrepo.deleteuser(userid",{"_index":24337,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyemail(email",{"_index":987,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/UserService.html":{}}}],["this.userrepo.findbyid(accountuserid",{"_index":15868,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.userrepo.findbyid(id",{"_index":24314,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyid(userid",{"_index":1998,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"injectables/LdapStrategy.html":{},"injectables/RoomsUc.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrepo.getparentemailsfromuser(userid",{"_index":24339,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.save(user",{"_index":24334,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrule",{"_index":19504,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.users",{"_index":12919,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SubmissionsResponse.html":{}}}],["this.users.find((u",{"_index":12797,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.users.push(user",{"_index":12799,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.userservice.findbyemail(email",{"_index":14425,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid",{"_index":14408,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid(externalgroupuser.externaluserid",{"_index":17841,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluser.externalid",{"_index":17789,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluserid",{"_index":16497,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyid(currentuserid",{"_index":17551,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.userservice.findbyid(loadedpseudonym.userid",{"_index":11408,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(props.userid",{"_index":5463,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.userservice.findbyid(teamuser.userid",{"_index":16939,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.userservice.findbyid(user.id",{"_index":11426,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(userid",{"_index":13858,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userservice.findusers",{"_index":20246,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.getdisplayname(user",{"_index":13859,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.userservice.save(newuser",{"_index":26417,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.userservice.save(user",{"_index":17805,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.save(userdo",{"_index":24168,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.save(userdocopy",{"_index":24170,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.saveall(migratedusers.data",{"_index":20259,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.saveall(notmigratedusers.data",{"_index":20252,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.useruc.findallunmatchedusers(currentuser.userid",{"_index":14072,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.useruc.me(currentuser.userid",{"_index":23606,"title":{},"body":{"controllers/UserController.html":{}}}],["this.useruc.patchlanguage(currentuser.userid",{"_index":23610,"title":{},"body":{"controllers/UserController.html":{}}}],["this.uuid",{"_index":13874,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.validate(props",{"_index":4663,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.validateandgetexternaltool(oauth2clientid",{"_index":11412,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatecontextexternaltools(courseid",{"_index":11418,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatelti11config(externaltool",{"_index":11171,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateoauth2config(externaltool",{"_index":11170,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateparameter(param",{"_index":6187,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.validatereordering(ids",{"_index":2980,"title":{},"body":{"entities/Board.html":{}}}],["this.validaterocketchatconfig",{"_index":1179,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.validateschoolexternaltool(course.school.id",{"_index":11417,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatestatus",{"_index":13593,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.validatesubject(currentuser",{"_index":17389,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.validatetoken(oauthtokens.idtoken",{"_index":17033,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.validateusersmatch(dashboard",{"_index":8836,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.validationerrors.push(new",{"_index":1411,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.validationerrors.reduce",{"_index":24364,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["this.validperiod",{"_index":12917,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.value",{"_index":8221,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/LtiToolDO.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.verified",{"_index":18907,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.verifyfeaturesenabled(user.schoolid",{"_index":24518,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.version",{"_index":6759,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.versionkey",{"_index":11685,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.videoconferencecreateuc.createifnotrunning(currentuser.userid",{"_index":24464,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceenduc.end(currentuser.userid",{"_index":24473,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceinfouc.getmeetinginfo(currentuser.userid",{"_index":24469,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferencejoinuc.join(currentuser.userid",{"_index":24466,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceservice.canguestjoin(isguest",{"_index":24618,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.createorupdatevideoconferenceforscopewithoptions(scope.id",{"_index":24524,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.determinebbbrole",{"_index":24521,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.determinebbbrole(userid",{"_index":24593,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.findvideoconferencebyscopeidandscope",{"_index":24622,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(currentuserid",{"_index":24519,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(userid",{"_index":24592,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.getuserroleandgueststatusbyuseridforbbb",{"_index":24634,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.hasexpertrole",{"_index":24617,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.loadscoperessources(scopeid",{"_index":24517,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.sanitizestring(`${user.firstname",{"_index":24636,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.sanitizestring(scopeinfo.title",{"_index":24528,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(schoolid",{"_index":24534,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(user.schoolid",{"_index":24591,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceuc.create(currentuser",{"_index":24574,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.end(currentuser",{"_index":24583,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.getmeetinginfo(currentuser",{"_index":24571,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.join(currentuser",{"_index":24578,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.visibilitysettings",{"_index":4468,"title":{},"body":{"classes/CardResponse.html":{}}}],["this.visitchildren(anyboarddo",{"_index":18799,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(externaltoolelement",{"_index":18794,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(linkelement",{"_index":18781,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildrenasync(card",{"_index":18711,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(column",{"_index":18709,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(columnboard",{"_index":18707,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(drawingelement",{"_index":18722,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(externaltoolelement",{"_index":18731,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(fileelement",{"_index":18714,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(linkelement",{"_index":18717,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(richtextelement",{"_index":18719,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submission",{"_index":18726,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submissioncontainerelement",{"_index":18724,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenof(card",{"_index":21410,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(column",{"_index":21411,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(columnboard",{"_index":21412,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(drawingelement",{"_index":21409,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(original",{"_index":18635,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.visitchildrenof(submissioncontainerelement",{"_index":21416,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(submissionitem",{"_index":21417,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.w",{"_index":6642,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.welcome",{"_index":2188,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.write",{"_index":11813,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.xmlbuilder",{"_index":5883,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject",{"_index":5900,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject(commonobject",{"_index":5962,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["this.xpos",{"_index":8609,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.xposition",{"_index":8643,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.year",{"_index":4674,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.yearfrom",{"_index":6648,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.yearto",{"_index":6650,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.ypos",{"_index":8610,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.yposition",{"_index":8644,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.zipbuilder",{"_index":5891,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile('imsmanifest.xml",{"_index":5906,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile(props.href",{"_index":5888,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.tobufferpromise",{"_index":5908,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this['meta_bbb",{"_index":2198,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["thisobjecthasnostructure",{"_index":13183,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["those",{"_index":22520,"title":{},"body":{"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["though",{"_index":25366,"title":{},"body":{"license.html":{}}}],["thoughtbot/fishery",{"_index":563,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["thr",{"_index":17160,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["threads_enabled=false",{"_index":26351,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["three",{"_index":25284,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["thresholddate",{"_index":8970,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["thresholddate.setdate(thresholddate.getdate",{"_index":8971,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["through",{"_index":2935,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throw",{"_index":579,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GridElement.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["throwerror",{"_index":18991,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["throwifnotmoderator",{"_index":24496,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwifnotmoderator(role",{"_index":24507,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwing",{"_index":26488,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["thrown",{"_index":4967,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/GuardAgainst.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throws",{"_index":2389,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{}}}],["thumbnail",{"_index":11601,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thumbnailrequesttoken",{"_index":11602,"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":1945,"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":25013,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["time",{"_index":1749,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["timedifference",{"_index":1740,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["timeout",{"_index":4338,"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":22617,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeouterror",{"_index":22612,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor",{"_index":14337,"title":{"injectables/TimeoutInterceptor.html":{}},"body":{"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor(timeout",{"_index":14339,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["timeoutms",{"_index":4322,"title":{},"body":{"injectables/CalendarService.html":{}}}],["timeouts",{"_index":26117,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["timeoutvalue",{"_index":22613,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timer",{"_index":19643,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["times",{"_index":2235,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["timestamp",{"_index":9119,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timestamps",{"_index":2926,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["timestamps.response",{"_index":4023,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["timestampsresponse",{"_index":4019,"title":{"classes/TimestampsResponse.html":{}},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["timetowait",{"_index":1744,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["timouts",{"_index":26105,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tiny",{"_index":24961,"title":{},"body":{"dependencies.html":{}}}],["title",{"_index":155,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BoardColumnBoardResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConnectionError.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"classes/PatchGroupParams.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"entities/TeamNews.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"index.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["title(title",{"_index":4359,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{}}}],["title(value",{"_index":15798,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["titlea",{"_index":8514,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titleb",{"_index":8516,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titlemap",{"_index":5534,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["titlesmap",{"_index":3687,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["titlesmap[id",{"_index":5627,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["tldraw",{"_index":22719,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{}}}],["tldraw.params",{"_index":22728,"title":{},"body":{"controllers/TldrawController.html":{}}}],["tldraw_db_collection_name",{"_index":22702,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_flush_size",{"_index":22703,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_multiple_collections",{"_index":22704,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_url",{"_index":12655,"title":{},"body":{"interfaces/GlobalConstants.html":{},"modules/TldrawModule.html":{}}}],["tldraw_gc_enabled",{"_index":22705,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_ping_timeout",{"_index":22706,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawboardrepo",{"_index":22625,"title":{"injectables/TldrawBoardRepo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawclientmodule",{"_index":22694,"title":{"modules/TldrawClientModule.html":{}},"body":{"modules/TldrawClientModule.html":{}}}],["tldrawconfig",{"_index":22661,"title":{"interfaces/TldrawConfig.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["tldrawconnectionstring",{"_index":22707,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawcontroller",{"_index":22717,"title":{"controllers/TldrawController.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["tldrawdeleteparams",{"_index":22722,"title":{"classes/TldrawDeleteParams.html":{}},"body":{"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["tldrawdrawing",{"_index":22736,"title":{"entities/TldrawDrawing.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{}}}],["tldrawdrawingprops",{"_index":22746,"title":{"interfaces/TldrawDrawingProps.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["tldrawmodule",{"_index":22754,"title":{"modules/TldrawModule.html":{}},"body":{"modules/TldrawModule.html":{}}}],["tldrawrepo",{"_index":22758,"title":{"injectables/TldrawRepo.html":{}},"body":{"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{}}}],["tldrawservice",{"_index":22726,"title":{"injectables/TldrawService.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawtestmodule",{"_index":22780,"title":{"modules/TldrawTestModule.html":{}},"body":{"modules/TldrawTestModule.html":{}}}],["tldrawws",{"_index":22790,"title":{"classes/TldrawWs.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawwsfactory",{"_index":22823,"title":{"classes/TldrawWsFactory.html":{}},"body":{"classes/TldrawWsFactory.html":{}}}],["tldrawwsmodule",{"_index":22784,"title":{"modules/TldrawWsModule.html":{}},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{}}}],["tldrawwsservice",{"_index":22785,"title":{"injectables/TldrawWsService.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawwstestmodule",{"_index":22957,"title":{"modules/TldrawWsTestModule.html":{}},"body":{"modules/TldrawWsTestModule.html":{}}}],["tls",{"_index":9032,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["tmp/config/users",{"_index":26291,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms",{"_index":26300,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"powershell",{"_index":26262,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"setup",{"_index":26263,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"to",{"_index":25708,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["tmpdirpath",{"_index":12168,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["toarray",{"_index":5828,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/DatabaseManagementService.html":{}}}],["toboardid",{"_index":16568,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["tocardid",{"_index":16572,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["tocolumnid",{"_index":16562,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["todo",{"_index":1829,"title":{"todo.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/DashboardRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/ToolConfiguration.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["todos",{"_index":26476,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["together",{"_index":12497,"title":{},"body":{"classes/FilterNewsParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["toggleuserloginmigrationuc",{"_index":22962,"title":{"injectables/ToggleUserLoginMigrationUc.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["tojson",{"_index":2094,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["token",{"_index":176,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"controllers/FileSecurityController.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/JwtExtractor.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/ShareToken.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TokenGenerator.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["token.'})@apiresponse({status",{"_index":20680,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.body.params.ts",{"_index":20655,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:13",{"_index":20664,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:21",{"_index":20662,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:32",{"_index":20660,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:41",{"_index":20667,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.controller",{"_index":20914,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.controller.ts",{"_index":20674,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:40",{"_index":20682,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:67",{"_index":20696,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:86",{"_index":20692,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.do",{"_index":16475,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["token.do.factory.ts",{"_index":20733,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.factory.ts:9",{"_index":20736,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.ts",{"_index":20720,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:27",{"_index":20726,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:29",{"_index":20725,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:31",{"_index":20723,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:33",{"_index":20721,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.dto.ts",{"_index":17059,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:2",{"_index":17062,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:4",{"_index":17063,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:6",{"_index":17061,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.entity",{"_index":20783,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.entity.ts",{"_index":20640,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["token.entity.ts:19",{"_index":20648,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:22",{"_index":20646,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:25",{"_index":20642,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:32",{"_index":20644,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:35",{"_index":20641,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:43",{"_index":20645,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.repo",{"_index":20821,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.repo.ts",{"_index":20774,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:13",{"_index":20777,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:9",{"_index":20781,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.request.ts",{"_index":1494,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:10",{"_index":1503,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:12",{"_index":1499,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:4",{"_index":1500,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:6",{"_index":1501,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:8",{"_index":1504,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.response.ts",{"_index":17666,"title":{},"body":{"interfaces/OauthTokenResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["token.response.ts:12",{"_index":20797,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:15",{"_index":20796,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:18",{"_index":20795,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:4",{"_index":20794,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.service",{"_index":17387,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["token.service.ts",{"_index":13838,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:13",{"_index":13844,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:16",{"_index":20812,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:21",{"_index":13848,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:25",{"_index":20816,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:42",{"_index":13846,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:50",{"_index":20819,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:52",{"_index":13850,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:70",{"_index":20814,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.ts",{"_index":12932,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{}}}],["token.uc.ts",{"_index":20836,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:132",{"_index":20851,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:140",{"_index":20852,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:151",{"_index":20854,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:167",{"_index":20850,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:193",{"_index":20844,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:205",{"_index":20846,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:226",{"_index":20862,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:232",{"_index":20848,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:25",{"_index":20842,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:40",{"_index":20856,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:68",{"_index":20860,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:90",{"_index":20858,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.url.params.ts",{"_index":20905,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token.url.params.ts:11",{"_index":20907,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token_endpoint_auth_method",{"_index":11089,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["token_type",{"_index":14345,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["token_use",{"_index":14346,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["tokenauthmethod",{"_index":17179,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokendto",{"_index":17050,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.accesstoken",{"_index":17082,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.idtoken",{"_index":17081,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokenendpoint",{"_index":13715,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["tokenendpointauthmethod",{"_index":8307,"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":8325,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["tokengenerator",{"_index":20811,"title":{"injectables/TokenGenerator.html":{}},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/TokenGenerator.html":{}}}],["tokenrequestloggableexception",{"_index":17129,"title":{"classes/TokenRequestLoggableException.html":{}},"body":{"injectables/OauthAdapterService.html":{},"classes/TokenRequestLoggableException.html":{}}}],["tokenrequestloggableexception(error",{"_index":17142,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["tokenrequestmapper",{"_index":17025,"title":{"classes/TokenRequestMapper.html":{}},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["tokenrequestmapper.createauthenticationcodegranttokenrequestpayload",{"_index":17057,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestmapper.maptokenresponsetodto(responsetoken",{"_index":17051,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestpayload",{"_index":17056,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokens",{"_index":17172,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokenurl",{"_index":15152,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["tomorrow",{"_index":13533,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["took",{"_index":20254,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["tool",{"_index":2698,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SortExternalToolParams.html":{},"classes/TldrawWs.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tool'})@apifoundresponse({description",{"_index":23030,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tool'})@apiokresponse({description",{"_index":23373,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tool'})@isstring()@isoptional",{"_index":10991,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["tool.'})@apiokresponse({description",{"_index":23161,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool.config",{"_index":17557,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.config.clientid",{"_index":11052,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.config.skipconsent",{"_index":17558,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.do.ts",{"_index":6684,"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":6695,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:23",{"_index":19940,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:24",{"_index":6691,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:25",{"_index":19944,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:26",{"_index":6692,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:27",{"_index":19942,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:28",{"_index":6693,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:29",{"_index":19941,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:30",{"_index":6690,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:31",{"_index":19945,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:33",{"_index":10151,"title":{},"body":{"classes/ExternalTool.html":{},"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:35",{"_index":10154,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:37",{"_index":10150,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:39",{"_index":10149,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:41",{"_index":6697,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{}}}],["tool.do.ts:43",{"_index":10153,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:45",{"_index":10148,"title":{},"body":{"classes/ExternalTool.html":{},"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:47",{"_index":10152,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:49",{"_index":10155,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:51",{"_index":10147,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:76",{"_index":10156,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:80",{"_index":10158,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:84",{"_index":10162,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:88",{"_index":10160,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.entity",{"_index":10350,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool.entity.ts",{"_index":6780,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool.entity.ts:14",{"_index":10369,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:17",{"_index":10373,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:20",{"_index":10367,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:23",{"_index":10366,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:24",{"_index":6789,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:26",{"_index":10364,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:27",{"_index":6782,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:29",{"_index":10371,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:30",{"_index":6784,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:32",{"_index":10365,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:33",{"_index":6785,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:35",{"_index":10370,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:36",{"_index":6787,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:38",{"_index":10374,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:39",{"_index":6790,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:41",{"_index":10372,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.factory.ts",{"_index":6803,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:100",{"_index":10402,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:107",{"_index":10401,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:29",{"_index":17108,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["tool.factory.ts:65",{"_index":8305,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["tool.factory.ts:8",{"_index":19965,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:86",{"_index":10404,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:9",{"_index":6806,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["tool.factory.ts:93",{"_index":10403,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.id",{"_index":10223,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["tool.ishidden",{"_index":10221,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tool.logo",{"_index":10485,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["tool.module",{"_index":23014,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool.module.ts",{"_index":6082,"title":{},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/LtiToolModule.html":{},"modules/SchoolExternalToolModule.html":{}}}],["tool.name",{"_index":11057,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.oauthclientid",{"_index":13694,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.repo.mapper.ts",{"_index":10732,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:109",{"_index":10744,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:116",{"_index":10765,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:125",{"_index":10761,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:138",{"_index":10757,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:156",{"_index":10749,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:17",{"_index":10759,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:174",{"_index":10755,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:184",{"_index":10752,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:49",{"_index":10747,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:56",{"_index":10768,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:65",{"_index":10763,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:78",{"_index":10758,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.ts",{"_index":6850,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:128",{"_index":6875,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:139",{"_index":6873,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:15",{"_index":10708,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:17",{"_index":6857,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:20",{"_index":10719,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:22",{"_index":6885,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:24",{"_index":10713,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:26",{"_index":6866,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:33",{"_index":6868,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:42",{"_index":10715,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:43",{"_index":20014,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:44",{"_index":6864,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:48",{"_index":20015,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:51",{"_index":10710,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:57",{"_index":20011,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:66",{"_index":6871,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:84",{"_index":6860,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.response",{"_index":7036,"title":{},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{}}}],["tool.response.ts",{"_index":6946,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:10",{"_index":6955,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:11",{"_index":10927,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:13",{"_index":6949,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:14",{"_index":10931,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:16",{"_index":6950,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:17",{"_index":10926,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:19",{"_index":6951,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:20",{"_index":10923,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:22",{"_index":6954,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:23",{"_index":10929,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:25",{"_index":6956,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:26",{"_index":10925,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:28",{"_index":6948,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:29",{"_index":10928,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:32",{"_index":10932,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:35",{"_index":10920,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:7",{"_index":6952,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:8",{"_index":10924,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.rule.ts",{"_index":6999,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:12",{"_index":7002,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:18",{"_index":7001,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:9",{"_index":7000,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.scope",{"_index":6891,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.scope.ts",{"_index":7006,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:12",{"_index":10981,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:13",{"_index":20065,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:15",{"_index":7027,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:19",{"_index":10983,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:22",{"_index":7021,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:30",{"_index":7023,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:5",{"_index":10985,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:6",{"_index":20064,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:7",{"_index":7025,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.secret",{"_index":13695,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.service",{"_index":7133,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["tool.service.ts",{"_index":6088,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{},"injectables/LtiToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:100",{"_index":11019,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:105",{"_index":11014,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:120",{"_index":11026,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:13",{"_index":20074,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:133",{"_index":11030,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:14",{"_index":7046,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:145",{"_index":11010,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:15",{"_index":6094,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:18",{"_index":11008,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:21",{"_index":20082,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:22",{"_index":7060,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:26",{"_index":20084,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:28",{"_index":7058,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:30",{"_index":11012,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:34",{"_index":7056,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:36",{"_index":20080,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:40",{"_index":6101,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:44",{"_index":6097,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:46",{"_index":7050,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{}}}],["tool.service.ts:53",{"_index":11021,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:56",{"_index":7052,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:6",{"_index":16204,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:60",{"_index":7054,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:68",{"_index":7048,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:80",{"_index":11015,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:85",{"_index":20076,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:89",{"_index":20086,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:9",{"_index":16206,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:95",{"_index":11017,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.skipconsent",{"_index":17556,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.types",{"_index":6888,"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":7083,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:105",{"_index":20120,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:106",{"_index":7101,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:120",{"_index":7099,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:129",{"_index":7097,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:16",{"_index":20110,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:18",{"_index":11112,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:22",{"_index":7091,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:25",{"_index":20118,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:27",{"_index":11114,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:31",{"_index":7093,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:36",{"_index":20112,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:40",{"_index":11125,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:53",{"_index":20115,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:61",{"_index":7103,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:65",{"_index":20114,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:72",{"_index":11121,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:77",{"_index":20122,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:79",{"_index":11116,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:85",{"_index":20124,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:86",{"_index":11123,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:95",{"_index":11118,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:97",{"_index":7095,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/context",{"_index":6827,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["tool/controller",{"_index":23006,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/controller/domain/school",{"_index":19946,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["tool/controller/dto",{"_index":6848,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/dto/context",{"_index":6762,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/custom",{"_index":8293,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{}}}],["tool/controller/dto/request/config/basic",{"_index":2718,"title":{},"body":{"classes/BasicToolConfigParams.html":{}}}],["tool/controller/dto/request/config/external",{"_index":10178,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["tool/controller/dto/request/config/lti11",{"_index":16045,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/config/oauth2",{"_index":17096,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/context",{"_index":6814,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{}}}],["tool/controller/dto/request/custom",{"_index":8362,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["tool/controller/dto/request/external",{"_index":10310,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SortExternalToolParams.html":{}}}],["tool/controller/dto/request/school",{"_index":19972,"title":{},"body":{"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{}}}],["tool/controller/dto/response/config/basic",{"_index":2728,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/external",{"_index":10184,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/lti11",{"_index":16064,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/oauth2",{"_index":17109,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["tool/controller/dto/response/context",{"_index":6734,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/custom",{"_index":8385,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["tool/controller/dto/response/external",{"_index":10520,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/response/school",{"_index":19952,"title":{},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/tool",{"_index":23137,"title":{},"body":{"classes/ToolContextTypesListResponse.html":{}}}],["tool/controller/dto/school",{"_index":19948,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["tool/controller/dto/tool",{"_index":23389,"title":{},"body":{"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["tool/controller/tool",{"_index":23007,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/tool.controller.ts",{"_index":23138,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:104",{"_index":23158,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:123",{"_index":23171,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:145",{"_index":23151,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:163",{"_index":23163,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:179",{"_index":23167,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:56",{"_index":23144,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:76",{"_index":23155,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/domain",{"_index":2008,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/domain/config/basic",{"_index":2697,"title":{},"body":{"classes/BasicToolConfig.html":{}}}],["tool/domain/config/external",{"_index":10176,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["tool/domain/config/lti11",{"_index":16036,"title":{},"body":{"classes/Lti11ToolConfig.html":{}}}],["tool/domain/config/oauth2",{"_index":17086,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["tool/domain/context",{"_index":6683,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{}}}],["tool/domain/external",{"_index":10142,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolMetadata.html":{},"interfaces/ExternalToolProps.html":{}}}],["tool/domain/school",{"_index":19938,"title":{},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadata.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["tool/domain/tool",{"_index":23357,"title":{},"body":{"classes/ToolReference.html":{}}}],["tool/entity",{"_index":6792,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolContextMapper.html":{}}}],["tool/entity/config/basic",{"_index":2709,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["tool/entity/config/external",{"_index":10181,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["tool/entity/config/lti11",{"_index":16057,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["tool/entity/config/oauth2",{"_index":17104,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["tool/entity/context",{"_index":6779,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool/entity/custom",{"_index":8271,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["tool/entity/external",{"_index":10360,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool/entity/school",{"_index":19954,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool/external",{"_index":10554,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["tool/loggable/external",{"_index":10414,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["tool/lti",{"_index":16152,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["tool/mapper",{"_index":23010,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/mapper/context",{"_index":6925,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["tool/mapper/external",{"_index":10513,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["tool/mapper/school",{"_index":19977,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["tool/mapper/tool",{"_index":23062,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["tool/school",{"_index":19995,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["tool/service",{"_index":7062,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/service/context",{"_index":6713,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["tool/service/external",{"_index":10188,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["tool/service/lti",{"_index":16202,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool/service/restricted",{"_index":19044,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["tool/service/school",{"_index":19984,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["tool/service/tool",{"_index":23303,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["tool/uc",{"_index":23009,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/uc/context",{"_index":7082,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/uc/dto/context",{"_index":6887,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool/uc/dto/school",{"_index":20020,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool/uc/external",{"_index":10249,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool/uc/school",{"_index":20103,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool/uc/tool",{"_index":23415,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tool1",{"_index":6102,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool1.getversion",{"_index":6112,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2",{"_index":6100,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2.getversion",{"_index":6113,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool_clientid_duplicate",{"_index":11185,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientid_immutable",{"_index":11181,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientsecret_missing",{"_index":11183,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_param_auto_requires_global",{"_index":10598,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_regex",{"_index":10608,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_required",{"_index":10595,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_duplicate",{"_index":6176,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regex_invalid",{"_index":10605,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regexcomment",{"_index":10602,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_required",{"_index":6193,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_type_mismatch",{"_index":6196,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_unknown",{"_index":6184,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_value_regex",{"_index":6201,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_secret_missing",{"_index":11186,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_status_outdated",{"_index":23484,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["tool_type_immutable",{"_index":11177,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_version_mismatch",{"_index":20141,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["tool_with_name_exists",{"_index":7149,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["toolapimodule",{"_index":20578,"title":{"modules/ToolApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{}}}],["toolconfigmodule",{"_index":6823,"title":{"modules/ToolConfigModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolModule.html":{}}}],["toolconfigtype",{"_index":2703,"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":2706,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtype.lti11",{"_index":8332,"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":8328,"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":23250,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping[configtype",{"_index":23258,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfiguration",{"_index":13803,"title":{"classes/ToolConfiguration.html":{}},"body":{"interfaces/IToolFeatures.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolconfiguration.toolfeatures",{"_index":23015,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["toolconfigurationcontroller",{"_index":23001,"title":{"controllers/ToolConfigurationController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper",{"_index":23041,"title":{"classes/ToolConfigurationMapper.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":23055,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":23061,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":23051,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":23058,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":23049,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolcontextcontroller",{"_index":23003,"title":{"controllers/ToolContextController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["toolcontextmapper",{"_index":10534,"title":{"classes/ToolContextMapper.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["toolcontextmapper.contextmapping[contexttype",{"_index":10540,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["toolcontexttype",{"_index":2035,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonToolService.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/FeathersRosterService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttype.board_element",{"_index":2043,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["toolcontexttype.course",{"_index":2040,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttypes",{"_index":10246,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolcontexttypeslistresponse",{"_index":23039,"title":{"classes/ToolContextTypesListResponse.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{}}}],["toolcontexttypeslistresponse(toolcontexttypes",{"_index":23090,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolcontroller",{"_index":23005,"title":{"controllers/ToolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["toolfeatures",{"_index":10199,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["toolid",{"_index":10447,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolidsinuse",{"_index":10210,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["toolidsinuse.includes(tool.id",{"_index":10224,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolinfo",{"_index":23074,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos",{"_index":23071,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos.map",{"_index":23086,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["tooling",{"_index":26125,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["toollaunchcontroller",{"_index":23000,"title":{"controllers/ToolLaunchController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["toollaunchdata",{"_index":2778,"title":{"classes/ToolLaunchData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchdatado",{"_index":2783,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchdatatype",{"_index":23227,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.basic",{"_index":23251,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.lti11",{"_index":23252,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.oauth2",{"_index":23253,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping",{"_index":23254,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping[launchdatatype",{"_index":23259,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchmapper",{"_index":23217,"title":{"classes/ToolLaunchMapper.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoolconfigtype(toollaunchdata.type",{"_index":23310,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoollaunchrequestresponse(toollaunchrequest",{"_index":23222,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchmodule",{"_index":23260,"title":{"modules/ToolLaunchModule.html":{}},"body":{"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["toollaunchparams",{"_index":2755,"title":{"classes/ToolLaunchParams.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchrequest",{"_index":2788,"title":{"classes/ToolLaunchRequest.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchrequestresponse",{"_index":23218,"title":{"classes/ToolLaunchRequestResponse.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["toollaunchrequestresponse})@apiunauthorizedresponse({description",{"_index":23211,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchservice",{"_index":23265,"title":{"injectables/ToolLaunchService.html":{}},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchstrategy",{"_index":23305,"title":{"interfaces/ToolLaunchStrategy.html":{}},"body":{"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchuc",{"_index":22998,"title":{"injectables/ToolLaunchUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["toolmodule",{"_index":1934,"title":{"modules/ToolModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["toolpermissionhelper",{"_index":7090,"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":10236,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolref.externaltool.ishidden",{"_index":10238,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolreference",{"_index":6973,"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":6992,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.displayname",{"_index":6993,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.logourl",{"_index":6994,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreference.openinnewtab",{"_index":6996,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.status",{"_index":23366,"title":{},"body":{"classes/ToolReference.html":{}}}],["toolreferencecontroller",{"_index":23004,"title":{"controllers/ToolReferenceController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse",{"_index":23380,"title":{"classes/ToolReferenceListResponse.html":{}},"body":{"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{}}}],["toolreferencelistresponse(toolreferenceresponses",{"_index":23388,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse})@apiforbiddenresponse({description",{"_index":23378,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencemapper",{"_index":23391,"title":{"classes/ToolReferenceMapper.html":{}},"body":{"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreferencemapper.maptotoolreference",{"_index":23414,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["toolreferenceresponse",{"_index":6975,"title":{"classes/ToolReferenceResponse.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.contexttoolid",{"_index":23406,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.displayname",{"_index":23408,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.logourl",{"_index":23407,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.openinnewtab",{"_index":23409,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.status",{"_index":23410,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponses",{"_index":6988,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferenceresponse})@apiforbiddenresponse({description",{"_index":23374,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferences",{"_index":6978,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferences.map((toolreference",{"_index":6989,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolreferenceservice",{"_index":6826,"title":{"injectables/ToolReferenceService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreferencespromises",{"_index":23428,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull",{"_index":23430,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull.filter",{"_index":23433,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceuc",{"_index":22999,"title":{"injectables/ToolReferenceUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["tools",{"_index":6794,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["tools')@apiforbiddenresponse()@apioperation({summary",{"_index":23020,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools.data",{"_index":11053,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.data.map",{"_index":23182,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools.data.map(async",{"_index":11048,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.filter((tool",{"_index":7126,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tools.map(async",{"_index":10306,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tools.total",{"_index":23184,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/:contextexternaltoolid",{"_index":23382,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid')@apioperation({summary",{"_index":23372,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid/configuration",{"_index":23028,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/:schoolexternaltoolid/configuration",{"_index":23034,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/context",{"_index":23092,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["tools/external",{"_index":23139,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/school",{"_index":23438,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["tools/tool",{"_index":23368,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/{id}/logo",{"_index":10292,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["toolschoolcontroller",{"_index":23002,"title":{"controllers/ToolSchoolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["toolstatusoutdatedloggableexception",{"_index":23304,"title":{"classes/ToolStatusOutdatedLoggableException.html":{}},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["toolstatusresponsemapper",{"_index":6979,"title":{"classes/ToolStatusResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(toolreference.status",{"_index":6997,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolstatuswithoutversions",{"_index":13801,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["toolswithpermission",{"_index":7122,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["toolswithschooltool",{"_index":10230,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolswithschooltool.filter",{"_index":10235,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tooltemplateinfo.externaltool",{"_index":10300,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["tooltemplateinfo.externaltool.logourl",{"_index":10301,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["toolvalidationservice",{"_index":11111,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["toolversion",{"_index":6099,"title":{"interfaces/ToolVersion.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/ToolVersion.html":{}}}],["toolversionservice",{"_index":6092,"title":{"injectables/ToolVersionService.html":{}},"body":{"injectables/CommonToolService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["toomanypseudonymsloggableexception",{"_index":22989,"title":{"classes/TooManyPseudonymsLoggableException.html":{}},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["toomodule",{"_index":1940,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["top",{"_index":21899,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["toparams",{"_index":2332,"title":{},"body":{"injectables/BBBService.html":{}}}],["toparams(object",{"_index":2371,"title":{},"body":{"injectables/BBBService.html":{}}}],["topic",{"_index":26305,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["topics\\/([0",{"_index":15733,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["toplevel",{"_index":14710,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["toposition",{"_index":4434,"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":5238,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["tostring",{"_index":996,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["total",{"_index":863,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BaseDORepo.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["total.length",{"_index":24238,"title":{},"body":{"injectables/UserRepo.html":{}}}],["total[0].count",{"_index":24239,"title":{},"body":{"injectables/UserRepo.html":{}}}],["totalitems",{"_index":13144,"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":13161,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["touching",{"_index":26454,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["toupdate",{"_index":11024,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{}}}],["toupdate.config",{"_index":11066,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.config.clientid",{"_index":11068,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.name",{"_index":11065,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdateoauthclient",{"_index":11029,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tovideoconferenceinforesponse",{"_index":24650,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceinforesponse(videoconferenceinfo",{"_index":24654,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse",{"_index":24651,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse(videoconferencejoin",{"_index":24656,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions",{"_index":24652,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions(params",{"_index":24658,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse",{"_index":24653,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse(state",{"_index":24660,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["trace",{"_index":13772,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["trade",{"_index":25385,"title":{},"body":{"license.html":{}}}],["trademark",{"_index":25384,"title":{},"body":{"license.html":{}}}],["trademarks",{"_index":25386,"title":{},"body":{"license.html":{}}}],["transaction",{"_index":25345,"title":{},"body":{"license.html":{}}}],["transfer",{"_index":4944,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["transferred",{"_index":25347,"title":{},"body":{"license.html":{}}}],["transferring",{"_index":25436,"title":{},"body":{"license.html":{}}}],["transform",{"_index":1211,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["transform(value",{"_index":1227,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["transform:true",{"_index":12731,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transformer",{"_index":1232,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FilesStorageMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"dependencies.html":{}}}],["transformoptions",{"_index":12729,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transient",{"_index":515,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["transient(transient",{"_index":572,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["transition",{"_index":26302,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["transitioning",{"_index":26004,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["translate",{"_index":24996,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["transmission",{"_index":25309,"title":{},"body":{"license.html":{}}}],["transparent",{"_index":20977,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["transports",{"_index":15904,"title":{},"body":{"modules/LoggerModule.html":{}}}],["trash",{"_index":19555,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["trd",{"_index":9371,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["treated",{"_index":416,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["treating",{"_index":26210,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["treaty",{"_index":25219,"title":{},"body":{"license.html":{}}}],["trial",{"_index":2837,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["tries",{"_index":26060,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["trigger",{"_index":9129,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["triggerdeletionexecution",{"_index":9151,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(limit",{"_index":9194,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(options",{"_index":9154,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["triggerdeletionexecutionoptions",{"_index":9155,"title":{"interfaces/TriggerDeletionExecutionOptions.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["triggerdeletionexecutionoptionsbuilder",{"_index":23494,"title":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["trim",{"_index":14284,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"injectables/UserRepo.html":{}}}],["trivial",{"_index":25829,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["true",{"_index":195,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"injectables/BoardDoRule.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DoBaseFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"modules/S3ClientModule.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["true})@apiproperty({description",{"_index":4440,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{}}}],["true})@apiproperty({oneof",{"_index":23506,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["true})@apiproperty({required",{"_index":6333,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["true})@apipropertyoptional({enum",{"_index":10323,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["true})@enum",{"_index":21519,"title":{},"body":{"entities/SystemEntity.html":{}}}],["true})@index",{"_index":4645,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["true})@index({options",{"_index":9251,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["true})@isarray()@isoptional()@apipropertyoptional({type",{"_index":6841,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["true})@ismongoid",{"_index":24744,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["true})@isoptional()@apiproperty({description",{"_index":6280,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["true})@isoptional()@apipropertyoptional({required",{"_index":8011,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["true})@isoptional()@isenum(filtermatchtype",{"_index":12483,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@singlevaluetoarraytransformer()@isarray",{"_index":12484,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@type(undefined",{"_index":19686,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisResponse.html":{}}}],["true})@unique({options",{"_index":7535,"title":{},"body":{"entities/Course.html":{},"entities/ImportUser.html":{},"entities/LtiTool.html":{}}}],["try",{"_index":629,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["trybuildtoolreference",{"_index":23418,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["trybuildtoolreference(userid",{"_index":23426,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tryextractmetatags",{"_index":16384,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryextractmetatags(url",{"_index":16397,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback",{"_index":16385,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback(url",{"_index":16399,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfindbyid",{"_index":13060,"title":{},"body":{"injectables/GroupService.html":{}}}],["tryfindbyid(id",{"_index":13073,"title":{},"body":{"injectables/GroupService.html":{}}}],["trygetprevieworgenerate",{"_index":18123,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trygetprevieworgenerate(params",{"_index":18134,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trying",{"_index":6251,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["tryinternallinkmetatags",{"_index":16386,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryinternallinkmetatags(url",{"_index":16401,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryrollbackmigration",{"_index":20202,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(currentuserid",{"_index":24159,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(originalschooldo",{"_index":20222,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ts",{"_index":1072,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ImportUserScope.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tspuid",{"_index":4693,"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":20597,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["turned",{"_index":22814,"title":{},"body":{"classes/TldrawWs.html":{}}}],["tvalue",{"_index":13933,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["two",{"_index":13528,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typ",{"_index":14451,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/SanisGruppeResponse.html":{}}}],["type",{"_index":32,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["type']?.tostring",{"_index":11549,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["type.enum",{"_index":1507,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/CacheService.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/JwtValidationAdapter.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["type.factory.ts",{"_index":18583,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.factory.ts:11",{"_index":18587,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.includes(bn.type",{"_index":3616,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["type.interface.ts",{"_index":10040,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["type.loggable",{"_index":18291,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["type.mapper.ts",{"_index":16469,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.mapper.ts:6",{"_index":16473,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.response",{"_index":12981,"title":{},"body":{"classes/GroupResponse.html":{}}}],["typecheckers",{"_index":6117,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["typedefinitions",{"_index":25874,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["typemapping",{"_index":10872,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/GroupResponseMapper.html":{}}}],["typemapping[customparameterdo.type",{"_index":10975,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["typemapping[customparameterparam.type",{"_index":10913,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["typemapping[resolvedgroup.type",{"_index":13019,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["typeof",{"_index":1675,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"injectables/CardUc.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/Scope.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"injectables/SystemRule.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["types",{"_index":134,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AuthorizableObject.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"classes/FilesStorageMapper.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"classes/H5PContentMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/Path.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RoleReference.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"interfaces/UrlHandler.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["types')@apiforbiddenresponse()@apioperation({summary",{"_index":23037,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["types.get(type",{"_index":12399,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(filerecordparenttype.boardnode",{"_index":12397,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.course",{"_index":12388,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.lesson",{"_index":12393,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.school",{"_index":12391,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.submission",{"_index":12395,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.task",{"_index":12386,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.user",{"_index":12389,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(h5pcontentparenttype.lesson",{"_index":13191,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["types.set(sharetokencontexttype.school",{"_index":20671,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["types.set(sharetokenparenttype.course",{"_index":16476,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.lesson",{"_index":20762,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.task",{"_index":20763,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.ts",{"_index":13197,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["types.ts:12",{"_index":16213,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:14",{"_index":16212,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:16",{"_index":16217,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:18",{"_index":16209,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:20",{"_index":16210,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:22",{"_index":16211,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:24",{"_index":16214,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:26",{"_index":16215,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:28",{"_index":16216,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:30",{"_index":16208,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types/board",{"_index":3920,"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":24835,"title":{},"body":{"dependencies.html":{}}}],["types/connect",{"_index":24837,"title":{},"body":{"dependencies.html":{}}}],["types/connection",{"_index":24775,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["types/copy.types",{"_index":7399,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["types/entity",{"_index":21677,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/gm",{"_index":24839,"title":{},"body":{"dependencies.html":{}}}],["types/ldapjs",{"_index":24841,"title":{},"body":{"dependencies.html":{}}}],["types/news.types",{"_index":7874,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["types/redis",{"_index":24843,"title":{},"body":{"dependencies.html":{}}}],["types/room",{"_index":9757,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["types/task.types",{"_index":21678,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/xml2js",{"_index":24845,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":1089,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typical",{"_index":25328,"title":{},"body":{"license.html":{}}}],["typing",{"_index":11349,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["u",{"_index":559,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["u.id",{"_index":7624,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["u.userid",{"_index":2688,"title":{},"body":{"classes/BaseUc.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["u.userid.id",{"_index":22387,"title":{},"body":{"injectables/TeamService.html":{}}}],["ubername",{"_index":15742,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["uc",{"_index":3036,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/FileSecurityController.html":{},"modules/FilesModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.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/SchoolController.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["uc.mapper.ts",{"_index":13085,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:12",{"_index":13095,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:32",{"_index":13090,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:50",{"_index":13098,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.ts",{"_index":25928,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["uc/account.uc",{"_index":283,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["uc/board",{"_index":3815,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["uc/collaborative",{"_index":5105,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["uc/course",{"_index":7646,"title":{},"body":{"controllers/CourseController.html":{},"controllers/RoomsController.html":{}}}],["uc/course.uc",{"_index":7649,"title":{},"body":{"controllers/CourseController.html":{}}}],["uc/dashboard.uc",{"_index":8417,"title":{},"body":{"controllers/DashboardController.html":{}}}],["uc/database",{"_index":8856,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["uc/dto",{"_index":1725,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["uc/dto/class",{"_index":4748,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["uc/dto/context",{"_index":6935,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"controllers/ToolContextController.html":{}}}],["uc/dto/school",{"_index":20035,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{}}}],["uc/dto/user.dto",{"_index":24312,"title":{},"body":{"injectables/UserService.html":{}}}],["uc/element.uc",{"_index":3037,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["uc/fwu",{"_index":12531,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["uc/h5p.uc",{"_index":13299,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["uc/interface",{"_index":2881,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["uc/keycloak",{"_index":4894,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["uc/lesson",{"_index":19401,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/login.uc",{"_index":1490,"title":{},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["uc/news.uc",{"_index":16616,"title":{},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["uc/oauth",{"_index":17447,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["uc/rooms.uc",{"_index":19402,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/submission",{"_index":3038,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["uc/system.uc",{"_index":21462,"title":{},"body":{"controllers/SystemController.html":{}}}],["uc/task",{"_index":21807,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/task.uc",{"_index":21808,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/user",{"_index":14046,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["ucs",{"_index":15271,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["ui",{"_index":24958,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["ui_locales",{"_index":17698,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["ui_use_real_name=true",{"_index":26350,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["uid",{"_index":13988,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uid=(.+?),/i",{"_index":13987,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uid=[^,]*${escapedloginname",{"_index":14296,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs",{"_index":14091,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["uid=loginname",{"_index":13985,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uint8array",{"_index":22648,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["uint8array(message",{"_index":22938,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["uk",{"_index":23557,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["um",{"_index":5551,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unable",{"_index":3364,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["unambiguous",{"_index":1395,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["unarchivegroup(groupname",{"_index":1122,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["unauthorized",{"_index":23220,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized'})@apiforbiddenresponse({description",{"_index":23212,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized_exception",{"_index":23499,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception",{"_index":1984,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/TaskUC.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception('insufficient",{"_index":11335,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('missing",{"_index":11329,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('no",{"_index":17084,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["unauthorizedexception('unauthorized",{"_index":14484,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["unauthorizedexception('user",{"_index":15191,"title":{},"body":{"injectables/LdapService.html":{}}}],["unauthorizedexception(`school",{"_index":15231,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["unauthorizedexception})@apiresponse({status",{"_index":16342,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["unauthorizedloggableexception",{"_index":1721,"title":{"classes/UnauthorizedLoggableException.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedloggableexception(username",{"_index":1729,"title":{},"body":{"injectables/AuthenticationService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["und",{"_index":5569,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["undefined",{"_index":125,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/AuthenticationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"interfaces/CopyFiles.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DrawingElementContentBody.html":{},"classes/ErrorUtils.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/File.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/GetFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponse-1.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/WsSharedDocDo.html":{}}}],["undefined})@apiproperty({oneof",{"_index":10315,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["undefined})@apiresponse({status",{"_index":4050,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ElementController.html":{}}}],["undefined})@apiunauthorizedresponse()@apiforbiddenresponse()@apiunprocessableentityresponse()@apinotfoundresponse()@apiextramodels(schulconnexprovisioningoptionsresponse",{"_index":19866,"title":{},"body":{"controllers/SchoolController.html":{}}}],["undefined})@isarray({groups",{"_index":19712,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@isboolean()@isoptional",{"_index":24476,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["undefined})@property({nullable",{"_index":11831,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["undefined})@type(undefined",{"_index":6842,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["undefined})@userequestcontext",{"_index":12337,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["undefined})@validatenested({each",{"_index":19713,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@validatenested({groups",{"_index":19716,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["under",{"_index":24986,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["understand",{"_index":26041,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["unexpected",{"_index":26115,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unfamiliar",{"_index":26051,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unhandled",{"_index":9963,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["unicode",{"_index":795,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["uninstallunwantedlibraries",{"_index":13439,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["uninstallunwantedlibraries(wantedlibraries",{"_index":13450,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["unique",{"_index":219,"title":{},"body":{"entities/Account.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ErrorResponse.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["unique()@property",{"_index":10368,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["uniqueids",{"_index":21739,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniqueids.length",{"_index":21742,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniquemember",{"_index":15138,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uniquememberids",{"_index":21081,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["uniquenames",{"_index":6172,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquenames.size",{"_index":6174,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquepermissions",{"_index":19210,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["unit",{"_index":25676,"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":26204,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["universal",{"_index":24963,"title":{},"body":{"dependencies.html":{}}}],["unknown",{"_index":158,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardRepo.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyService.html":{},"injectables/DatabaseManagementService.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoggingUtils.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NewsUc.html":{},"injectables/OauthAdapterService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["unknown.loggable.ts",{"_index":13031,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:4",{"_index":13034,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:7",{"_index":13036,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknownerror",{"_index":12696,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["unknownquerytype",{"_index":23503,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unknownquerytypeloggableexception",{"_index":23500,"title":{"classes/UnknownQueryTypeLoggableException.html":{}},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unless",{"_index":25334,"title":{},"body":{"license.html":{}}}],["unlimited",{"_index":370,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["unmarkfordelete",{"_index":11888,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["unmarkoutdatedusers",{"_index":20203,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmarkoutdatedusers(userloginmigration",{"_index":20225,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmodified",{"_index":25125,"title":{},"body":{"license.html":{}}}],["unnecessary",{"_index":25207,"title":{},"body":{"license.html":{}}}],["unnessasary",{"_index":23352,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["unpacking",{"_index":25362,"title":{},"body":{"license.html":{}}}],["unprocessable_entity_exception",{"_index":19050,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["unprocessableentityexception",{"_index":6435,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["unprocessableentityexception('cannot",{"_index":9897,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["unprocessableentityexception(`could",{"_index":11056,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`the",{"_index":11072,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`unknown",{"_index":10776,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["unprocessableentityexception(errortype.preview_not_possible",{"_index":18147,"title":{},"body":{"injectables/PreviewService.html":{}}}],["unpublish",{"_index":5608,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["unpublished",{"_index":8072,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["unreachable",{"_index":986,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["unresponsive",{"_index":19649,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uns",{"_index":5583,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unsafe",{"_index":1091,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"injectables/FilesStorageProducer.html":{},"classes/ImportUserFactory.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["unsupported",{"_index":4032,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["unter",{"_index":5587,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["until",{"_index":9648,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"license.html":{}}}],["untildate",{"_index":7515,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{}}}],["untildateinfuture",{"_index":7943,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["unused",{"_index":2060,"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":10234,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unusedtools.filter",{"_index":10237,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unwanted",{"_index":22081,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["up",{"_index":18221,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ShareTokenController.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["update",{"_index":3237,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SubmissionItemService.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["update(deletionrequest",{"_index":9499,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["update(deletionrequesttoupdate",{"_index":9548,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["update(element",{"_index":6466,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update(id",{"_index":16817,"title":{},"body":{"injectables/NewsUc.html":{}}}],["update(submissionitem",{"_index":21234,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["update(urlparams",{"_index":16609,"title":{},"body":{"controllers/NewsController.html":{}}}],["update.params.ts",{"_index":11141,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["update.params.ts:16",{"_index":22261,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:17",{"_index":11143,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:21",{"_index":11146,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:22",{"_index":16073,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:25",{"_index":22264,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:26",{"_index":11150,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:27",{"_index":16072,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:31",{"_index":11145,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:33",{"_index":22265,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:35",{"_index":16071,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:36",{"_index":17112,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:39",{"_index":16070,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:40",{"_index":17111,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:41",{"_index":22262,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:44",{"_index":17113,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:49",{"_index":22260,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:52",{"_index":11142,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:57",{"_index":22263,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:59",{"_index":11148,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:63",{"_index":11144,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:67",{"_index":11147,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:73",{"_index":11149,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.visitor",{"_index":6471,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update.visitor.ts",{"_index":6485,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:105",{"_index":6501,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:109",{"_index":6495,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:118",{"_index":6490,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:30",{"_index":6488,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:36",{"_index":6493,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:40",{"_index":6492,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:44",{"_index":6491,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:48",{"_index":6496,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:57",{"_index":6497,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:78",{"_index":6498,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:87",{"_index":6494,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:95",{"_index":6499,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["updateaccount",{"_index":13912,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccount(accountid",{"_index":13938,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccount(id",{"_index":14873,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountbyid",{"_index":322,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountbyid(currentuser",{"_index":378,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountpassword",{"_index":13913,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountpassword(accountid",{"_index":13940,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccountpassword(id",{"_index":14875,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateboard",{"_index":19422,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboard(board",{"_index":19427,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboardtitle",{"_index":3209,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["updateboardtitle(urlparams",{"_index":3234,"title":{},"body":{"controllers/BoardController.html":{}}}],["updateboardtitle(userid",{"_index":4152,"title":{},"body":{"injectables/BoardUc.html":{}}}],["updatecardheight",{"_index":4371,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardheight(urlparams",{"_index":4394,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardheight(userid",{"_index":4552,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecardtitle",{"_index":4372,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardtitle(urlparams",{"_index":4398,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardtitle(userid",{"_index":4554,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecolumntitle",{"_index":5636,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["updatecolumntitle(urlparams",{"_index":5652,"title":{},"body":{"controllers/ColumnController.html":{}}}],["updatecolumntitle(userid",{"_index":5714,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["updatecontextexternaltool",{"_index":7088,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(currentuser",{"_index":23111,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(userid",{"_index":7102,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["updatecopiedembeddedtasksoflessons",{"_index":3281,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatecopiedembeddedtasksoflessons(boardstatus",{"_index":3313,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updated",{"_index":360,"title":{},"body":{"controllers/AccountController.html":{},"controllers/CollaborativeStorageController.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/WsSharedDocDo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["updated.'})@apiresponse({status",{"_index":386,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatedat",{"_index":431,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"injectables/CourseUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["updatedclasses",{"_index":4826,"title":{},"body":{"injectables/ClassService.html":{}}}],["updatedclasses.length",{"_index":4830,"title":{},"body":{"injectables/ClassService.html":{}}}],["updateddomainobject",{"_index":4880,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedelements",{"_index":3393,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatedentity",{"_index":4882,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedfilerecords",{"_index":12367,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["updatedlessons",{"_index":15716,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedlessons.length",{"_index":15721,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedmodel",{"_index":8740,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updatedocument",{"_index":22634,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedocument(docname",{"_index":22642,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedtool",{"_index":7118,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updateduserloginmigration",{"_index":4989,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["updateduserloginmigration.id",{"_index":19043,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["updateelement",{"_index":9837,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelement(urlparams",{"_index":9851,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelementcontent",{"_index":9874,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontent(userid",{"_index":9882,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontentbodyparams",{"_index":9652,"title":{"classes/UpdateElementContentBodyParams.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["updateexecutionrequest",{"_index":14707,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateexistinggridelement",{"_index":8696,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistinggridelement(elementmodel",{"_index":8718,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexternaltool",{"_index":11002,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["updateexternaltool(currentuser",{"_index":23168,"title":{},"body":{"controllers/ToolController.html":{}}}],["updateexternaltool(toupdate",{"_index":11022,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateexternaltool(userid",{"_index":11124,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["updatefileurls",{"_index":21835,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updatefileurls(task",{"_index":21847,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updateflag",{"_index":14010,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflag(urlparams",{"_index":14035,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflagparams",{"_index":14036,"title":{"classes/UpdateFlagParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateFlagParams.html":{}}}],["updatehandler",{"_index":22847,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updatehandler(update",{"_index":22869,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updateheight",{"_index":4480,"title":{},"body":{"injectables/CardService.html":{}}}],["updateheight(card",{"_index":4499,"title":{},"body":{"injectables/CardService.html":{}}}],["updateidentityprovider",{"_index":14632,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateidentityprovider(oidcconfig",{"_index":14666,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updatelasttriedfailedlogin",{"_index":21,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["updatelasttriedfailedlogin(accountid",{"_index":81,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updatelasttriedfailedlogin(id",{"_index":1710,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["updatemany",{"_index":4855,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatemany(classes",{"_index":4860,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatematchparams",{"_index":14028,"title":{"classes/UpdateMatchParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateMatchParams.html":{}}}],["updatemyaccount",{"_index":323,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(@currentuser",{"_index":419,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(currentuser",{"_index":382,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatenewsparams",{"_index":16610,"title":{"classes/UpdateNewsParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"classes/UpdateNewsParams.html":{}}}],["updateoauth2client",{"_index":17339,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["updateoauth2client(currentuser",{"_index":17350,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["updateoauth2client(id",{"_index":17620,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["updateoauth2toolconfig",{"_index":11003,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauth2toolconfig(toupdate",{"_index":11025,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow",{"_index":11004,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow(loadedoauthclient",{"_index":11027,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateorcreateidpdefaultmapper",{"_index":14633,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateorcreateidpdefaultmapper(idpalias",{"_index":14668,"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":6480,"title":{},"body":{"injectables/ContentElementService.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updaterid",{"_index":7889,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updates",{"_index":356,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"license.html":{}}}],["updateschoolexternaltool",{"_index":20108,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(currentuser",{"_index":23457,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(userid",{"_index":20123,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["updatesecuritycheckstatus(status",{"_index":11876,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["updatesecuritystatus",{"_index":12065,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(@body",{"_index":12084,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(scanresultdto",{"_index":12070,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatestoreddocwithdiff",{"_index":22635,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatestoreddocwithdiff(docname",{"_index":22646,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatesubmissionitem",{"_index":4043,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitem(currentuser",{"_index":4059,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["updatesubmissionitem(userid",{"_index":21251,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitembodyparams",{"_index":4060,"title":{"classes/UpdateSubmissionItemBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["updateteam",{"_index":5009,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteam(team",{"_index":5023,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole",{"_index":5010,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(currentuser",{"_index":5088,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["updateteampermissionsforrole(currentuserid",{"_index":5142,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["updateteampermissionsforrole(dto",{"_index":5171,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(team",{"_index":5025,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["updateteamusersingroup",{"_index":16880,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updateteamusersingroup(groupid",{"_index":16900,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updatetitle",{"_index":4481,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{}}}],["updatetitle(board",{"_index":5528,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["updatetitle(card",{"_index":4501,"title":{},"body":{"injectables/CardService.html":{}}}],["updatetitle(column",{"_index":5697,"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":5175,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updateuserpermissionsforrole(currentuserid",{"_index":5182,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updatevisibilityofboardelement",{"_index":19446,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updatevisibilityofboardelement(roomid",{"_index":19453,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updating",{"_index":2473,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CreateNews.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/INewsScope.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/UpdateNewsParams.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["updator/creator",{"_index":16732,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["upload",{"_index":19565,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["upload.done",{"_index":19588,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uploadedfiles",{"_index":13294,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["upper",{"_index":15831,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["uppercase",{"_index":25945,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["uppercase_snake_case",{"_index":1397,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["uri",{"_index":1060,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["url",{"_index":110,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/BBBJoinResponse.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardUrlHandler.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LegacySystemService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskUrlHandler.html":{},"classes/TldrawWs.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["url('/admin/api/v1/deletionexecutions",{"_index":9106,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url('/admin/api/v1/deletionrequests",{"_index":9103,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url(`${api_version_path}${newpath",{"_index":1348,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url(params.logouturl).origin",{"_index":24458,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["url(this.baseurl",{"_index":2429,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url(this.content.url).tostring",{"_index":6520,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["url(this.logouturl).origin",{"_index":14353,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url(url",{"_index":154,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["url(value",{"_index":15797,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["url.body.params",{"_index":16346,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["url.body.params.ts",{"_index":12650,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.body.params.ts:10",{"_index":12652,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.de",{"_index":16460,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.href",{"_index":1350,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url.length",{"_index":16408,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["url.loggable",{"_index":14350,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url.pathname",{"_index":2430,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.search",{"_index":2432,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.service",{"_index":16363,"title":{},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{}}}],["url.service.ts",{"_index":16439,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:20",{"_index":16449,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:27",{"_index":16448,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:34",{"_index":16446,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:9",{"_index":16444,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tolowercase().includes(domain.tolowercase",{"_index":16462,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tostring",{"_index":2433,"title":{},"body":{"injectables/BBBService.html":{}}}],["urlencoded",{"_index":14851,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["urlencodedpayload",{"_index":17134,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["urlhandler",{"_index":4184,"title":{"interfaces/UrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["urlobject",{"_index":152,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["urlobject.pathname",{"_index":16466,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["urlparamkeys",{"_index":14696,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["urlparams",{"_index":3220,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{}}}],["urlparams.boardid",{"_index":3253,"title":{},"body":{"controllers/BoardController.html":{}}}],["urlparams.cardid",{"_index":4418,"title":{},"body":{"controllers/CardController.html":{}}}],["urlparams.columnid",{"_index":5661,"title":{},"body":{"controllers/ColumnController.html":{}}}],["urlparams.contentelementid",{"_index":9860,"title":{},"body":{"controllers/ElementController.html":{}}}],["urlparams.dashboardid",{"_index":8431,"title":{},"body":{"controllers/DashboardController.html":{}}}],["urlparams.elementid",{"_index":19409,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.importuserid",{"_index":14064,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["urlparams.lessonid",{"_index":15566,"title":{},"body":{"controllers/LessonController.html":{},"controllers/RoomsController.html":{}}}],["urlparams.newsid",{"_index":16633,"title":{},"body":{"controllers/NewsController.html":{}}}],["urlparams.roomid",{"_index":19408,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.submissioncontainerid",{"_index":4078,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.submissionid",{"_index":21146,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["urlparams.submissionitemid",{"_index":4083,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.taskid",{"_index":21824,"title":{},"body":{"controllers/TaskController.html":{}}}],["urlparams.teamid",{"_index":22333,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["urlparams.token",{"_index":20712,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["urls",{"_index":12603,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthClientBody.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["urlsafe",{"_index":24966,"title":{},"body":{"dependencies.html":{}}}],["urlsearchparams",{"_index":2353,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["urlstripped",{"_index":22820,"title":{},"body":{"classes/TldrawWs.html":{}}}],["usable",{"_index":20665,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["usage",{"_index":4824,"title":{},"body":{"injectables/ClassService.html":{},"classes/ExternalToolRepoMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["use",{"_index":412,"title":{},"body":{"controllers/AccountController.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CommonToolService.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DomainObjectFactory.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"interfaces/LibrariesContentType.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["use_stream_to_antivirus",{"_index":12091,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["usecase",{"_index":25848,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usecases",{"_index":25886,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["usecentralldap",{"_index":14032,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["useclass",{"_index":10031,"title":{},"body":{"modules/ErrorModule.html":{},"modules/IdentityManagementModule.html":{},"modules/InterceptorModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ValidationModule.html":{}}}],["used",{"_index":72,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/ConsentResponse.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"interfaces/ILegacyLogger.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"controllers/SystemController.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usedglobals",{"_index":12658,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["usedobuilder(builder",{"_index":3942,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["useexisting",{"_index":5080,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["usefactory",{"_index":686,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"modules/CacheWrapperModule.html":{},"modules/EncryptionModule.html":{},"modules/InterceptorModule.html":{},"modules/LoggerModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RedisModule.html":{},"modules/S3ClientModule.html":{}}}],["useful",{"_index":25597,"title":{},"body":{"license.html":{}}}],["useguards",{"_index":9206,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/LoginController.html":{}}}],["useguards(authguard('api",{"_index":9209,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["useguards(authguard('ldap",{"_index":15955,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('local",{"_index":15961,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('oauth2",{"_index":15965,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('ldap')@apioperation({summary",{"_index":15935,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('local')@apioperation({summary",{"_index":15942,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('oauth2')@apioperation({summary",{"_index":15947,"title":{},"body":{"controllers/LoginController.html":{}}}],["useinterceptors",{"_index":13295,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["user",{"_index":290,"title":{"entities/User.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ExternalGroupDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RedirectResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsUc.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"injectables/SystemRule.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["user's",{"_index":17403,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["user'})@isboolean",{"_index":23510,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["user'})@ismongoid",{"_index":23513,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["user(params",{"_index":26416,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(s",{"_index":26387,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(value",{"_index":22291,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["user.'})@apiresponse({status",{"_index":359,"title":{},"body":{"controllers/AccountController.html":{},"controllers/GroupController.html":{}}}],["user._id",{"_index":14280,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["user._id.$oid",{"_index":15011,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.accountid",{"_index":1732,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["user.attribute",{"_index":14779,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["user.attributes",{"_index":14917,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.attributes[attributename",{"_index":14918,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.birthday",{"_index":17800,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user.business",{"_index":23574,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user.cancreaterestricted",{"_index":13212,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.caninstallrecommended",{"_index":13214,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.canupdateandinstalllibraries",{"_index":13216,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.controller",{"_index":14191,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["user.controller.ts",{"_index":14001,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:100",{"_index":14026,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:105",{"_index":14034,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:113",{"_index":14013,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:30",{"_index":14016,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:48",{"_index":14030,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:60",{"_index":14023,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:71",{"_index":14038,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:83",{"_index":14019,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.createdat",{"_index":19017,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.createdtimestamp",{"_index":14923,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.do",{"_index":19163,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["user.do.ts",{"_index":19125,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user.do.ts:14",{"_index":19127,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:18",{"_index":19129,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:22",{"_index":19131,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:26",{"_index":19133,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:30",{"_index":19134,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:34",{"_index":19135,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.dto",{"_index":10089,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{}}}],["user.dto.ts",{"_index":10097,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:10",{"_index":11260,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:12",{"_index":11262,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:14",{"_index":11259,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:4",{"_index":10100,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:6",{"_index":10099,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:8",{"_index":11261,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.email",{"_index":13217,"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":7553,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RocketChatUserFactory.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["user.entity.factory.ts",{"_index":19154,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user.entity.ts",{"_index":13125,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user.entity.ts:102",{"_index":13966,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:109",{"_index":13959,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:112",{"_index":13953,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:13",{"_index":13128,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:16",{"_index":13127,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:20",{"_index":19145,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:24",{"_index":19144,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:28",{"_index":19143,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:31",{"_index":19142,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:54",{"_index":13963,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:57",{"_index":13964,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:60",{"_index":13955,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:76",{"_index":13951,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:79",{"_index":13952,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:82",{"_index":13954,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:88",{"_index":13949,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:91",{"_index":13961,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:94",{"_index":13948,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.externalid",{"_index":14429,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/UserDto.html":{}}}],["user.externalidtoken",{"_index":15968,"title":{},"body":{"controllers/LoginController.html":{}}}],["user.factory",{"_index":698,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["user.factory.ts",{"_index":14084,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.factory.ts:10",{"_index":14086,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.firstname",{"_index":3469,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{}}}],["user.forcepasswordchange",{"_index":23758,"title":{},"body":{"classes/UserDto.html":{}}}],["user.id",{"_index":578,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedUserMapper.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["user.interface",{"_index":15004,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.interface.ts",{"_index":14435,"title":{},"body":{"interfaces/JsonUser.html":{}}}],["user.language",{"_index":23757,"title":{},"body":{"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.lastloginsystemchange",{"_index":16499,"title":{},"body":{"injectables/MigrationCheckService.html":{},"classes/UserDto.html":{}}}],["user.lastname",{"_index":3470,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["user.ldapdn",{"_index":23756,"title":{},"body":{"classes/UserDto.html":{}}}],["user.mapper",{"_index":14041,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.mapper.ts",{"_index":8104,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:18",{"_index":19161,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:19",{"_index":14121,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:20",{"_index":8116,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:34",{"_index":14123,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:41",{"_index":8112,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:5",{"_index":19014,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:51",{"_index":14120,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:53",{"_index":8110,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:6",{"_index":19160,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:9",{"_index":8119,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.module",{"_index":23593,"title":{},"body":{"modules/UserApiModule.html":{}}}],["user.module.ts",{"_index":19177,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.name",{"_index":13218,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.outdatedsince",{"_index":20251,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserDto.html":{}}}],["user.params",{"_index":24127,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.params.ts",{"_index":12471,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/SortImportUserParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.params.ts:12",{"_index":12504,"title":{},"body":{"classes/FilterUserParams.html":{}}}],["user.params.ts:21",{"_index":12477,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:27",{"_index":12480,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:33",{"_index":12481,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:40",{"_index":12485,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:45",{"_index":12479,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:54",{"_index":12475,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:59",{"_index":12488,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.parents?.map((parent",{"_index":24258,"title":{},"body":{"injectables/UserRepo.html":{}}}],["user.permissions",{"_index":11293,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.preferences",{"_index":23759,"title":{},"body":{"classes/UserDto.html":{}}}],["user.repo.ts",{"_index":19181,"title":{},"body":{"injectables/RocketChatUserRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.repo.ts:12",{"_index":19185,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:16",{"_index":19184,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:26",{"_index":19183,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:9",{"_index":19182,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.resolvepermissions",{"_index":1823,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.response",{"_index":12982,"title":{},"body":{"classes/GroupResponse.html":{}}}],["user.response.ts",{"_index":13131,"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":19025,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:12",{"_index":13136,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:14",{"_index":19027,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:15",{"_index":13133,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:17",{"_index":19026,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:20",{"_index":19024,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:23",{"_index":19031,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:25",{"_index":14242,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:26",{"_index":19029,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:29",{"_index":19028,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:31",{"_index":14244,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:32",{"_index":19030,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:37",{"_index":14240,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:43",{"_index":14243,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:50",{"_index":14246,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:53",{"_index":14239,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:56",{"_index":14245,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:6",{"_index":13135,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:61",{"_index":14241,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:64",{"_index":14097,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["user.response.ts:7",{"_index":14238,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:9",{"_index":13134,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role",{"_index":13137,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role.name",{"_index":13025,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.roleids",{"_index":23755,"title":{},"body":{"classes/UserDto.html":{}}}],["user.roles",{"_index":17797,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{}}}],["user.roles.getitems",{"_index":23609,"title":{},"body":{"controllers/UserController.html":{}}}],["user.roles.getitems().map((role",{"_index":8122,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.getitems(true",{"_index":24132,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.roles.isinitialized(true",{"_index":17966,"title":{},"body":{"injectables/PermissionService.html":{}}}],["user.roles.map((roleref",{"_index":8125,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.some",{"_index":24329,"title":{},"body":{"injectables/UserService.html":{}}}],["user.roles.some((role",{"_index":11441,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user.school",{"_index":7704,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["user.school.id",{"_index":7003,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"classes/CurrentUserMapper.html":{},"injectables/GroupRule.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["user.school.schoolyear?.enddate",{"_index":7707,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.schoolyear?.startdate",{"_index":7706,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.systems.getidentifiers().includes(domainobject.id",{"_index":21627,"title":{},"body":{"injectables/SystemRule.html":{}}}],["user.school.systems.getidentifiers().includes(domainobject.systemid",{"_index":20390,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["user.school.tostring",{"_index":19021,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.schoolid",{"_index":5474,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/CurrentUserMapper.html":{},"injectables/IdTokenService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{}}}],["user.schoolid.tostring",{"_index":11291,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.scope",{"_index":23671,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user.service",{"_index":19179,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.service.ts",{"_index":19190,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:10",{"_index":19194,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:16",{"_index":19193,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:7",{"_index":19192,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.ts",{"_index":13119,"title":{},"body":{"classes/GroupUser.html":{},"interfaces/OauthCurrentUser.html":{},"classes/ResolvedGroupUser.html":{}}}],["user.ts:4",{"_index":13121,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:5",{"_index":19010,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.ts:6",{"_index":13120,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:7",{"_index":19009,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.type",{"_index":13219,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.uc.ts",{"_index":25951,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.updatedat",{"_index":19019,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.url.params.ts",{"_index":14305,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.url.params.ts:11",{"_index":14306,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.user.firstname",{"_index":13026,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.id",{"_index":13024,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.lastname",{"_index":13027,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.userid",{"_index":12798,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/UserLoginMigrationController.html":{}}}],["user.username",{"_index":14922,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{}}}],["user.userroleenum",{"_index":21258,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["user/account",{"_index":14480,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["user/domain/rocket",{"_index":19124,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user/entity/rocket",{"_index":19141,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user/entity/testing/rocket",{"_index":19153,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user/import",{"_index":14002,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user/repo/mapper/rocket",{"_index":19159,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user/repo/rocket",{"_index":19180,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user/rocketchat",{"_index":19176,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user/service/rocket",{"_index":19189,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user?.id",{"_index":17843,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user_already_assigned_to_import_user_error",{"_index":23577,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user_id",{"_index":2298,"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":23791,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["user_login_migration_database_operation_failed",{"_index":24148,"title":{},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["user_login_migration_grace_period_expired",{"_index":23941,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["user_login_migration_not_found",{"_index":23973,"title":{},"body":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["useralreadyassignedtoimportusererror",{"_index":23572,"title":{"classes/UserAlreadyAssignedToImportUserError.html":{}},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["userandaccountparams",{"_index":705,"title":{"interfaces/UserAndAccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory",{"_index":706,"title":{"classes/UserAndAccountTestFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory.buildaccount(user",{"_index":718,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userapimodule",{"_index":20581,"title":{"modules/UserApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserApiModule.html":{}}}],["userattributenamemapping",{"_index":15129,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userboardrole",{"_index":3719,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.editor",{"_index":3723,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.reader",{"_index":3724,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.userroleenum",{"_index":3721,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardroles",{"_index":3435,"title":{"interfaces/UserBoardRoles.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["userconfig",{"_index":20505,"title":{"interfaces/UserConfig.html":{}},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["usercontroller",{"_index":23592,"title":{"controllers/UserController.html":{}},"body":{"modules/UserApiModule.html":{},"controllers/UserController.html":{}}}],["usercount",{"_index":15006,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["userdata",{"_index":11392,"title":{"interfaces/UserData.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userdataresponse",{"_index":21216,"title":{"classes/UserDataResponse.html":{}},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{},"classes/UserDataResponse.html":{}}}],["userdo",{"_index":8114,"title":{"classes/UserDO.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupUser.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userdo.email",{"_index":14378,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.externalid",{"_index":14379,"title":{},"body":{"classes/IservMapper.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.firstname",{"_index":14376,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.lastloginsystemchange",{"_index":24075,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.lastname",{"_index":14377,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.previousexternalid",{"_index":24167,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocopy",{"_index":24160,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocument",{"_index":24251,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments",{"_index":24248,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments.map((userdocument",{"_index":24249,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdofactory",{"_index":23729,"title":{"classes/UserDoFactory.html":{}},"body":{"classes/UserDoFactory.html":{}}}],["userdofactory.define(userdo",{"_index":23734,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["userdorepo",{"_index":23651,"title":{"injectables/UserDORepo.html":{}},"body":{"injectables/UserDORepo.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["userdto",{"_index":23737,"title":{"classes/UserDto.html":{}},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["userentity",{"_index":23681,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userentitys",{"_index":23691,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userentitys.find((user",{"_index":23693,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userequestcontext",{"_index":12349,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["userfactory",{"_index":697,"title":{"classes/UserFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["userfactory.build",{"_index":21163,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["userfactory.buildlistwithid(numberofstudents",{"_index":7769,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["userfactory.buildlistwithid(numberofteachers",{"_index":7770,"title":{},"body":{"classes/CourseFactory.html":{}}}],["userfactory.buildlistwithid(numberofteammembers",{"_index":21160,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["userfactory.buildwithid",{"_index":21159,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TeamUserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["userfactory.define(user",{"_index":23778,"title":{},"body":{"classes/UserFactory.html":{}}}],["userforgroupnotfoundloggable",{"_index":17768,"title":{"classes/UserForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["userforgroupnotfoundloggable(externalgroupuser",{"_index":17846,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["usergroup",{"_index":11403,"title":{"interfaces/UserGroup.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usergroups",{"_index":11402,"title":{"interfaces/UserGroups.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userid",{"_index":39,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupUser.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LocalStrategy.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateMatchParams.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["userid(value",{"_index":21178,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["userid).buildwithid",{"_index":22307,"title":{},"body":{"classes/TeamFactory.html":{}}}],["userid)?.userroleenum",{"_index":2689,"title":{},"body":{"classes/BaseUc.html":{}}}],["userid.tohexstring",{"_index":4772,"title":{},"body":{"classes/ClassMapper.html":{}}}],["userid.tostring",{"_index":11302,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["userid1",{"_index":4637,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["userid?.tostring",{"_index":1000,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["userids",{"_index":62,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{}}}],["userids'})@index",{"_index":7781,"title":{},"body":{"entities/CourseGroup.html":{}}}],["userids.map((id",{"_index":775,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["userimportuc",{"_index":14045,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["userinfo",{"_index":16012,"title":{},"body":{"injectables/LoginUc.html":{},"classes/SystemEntityFactory.html":{}}}],["userinfo.token.claim",{"_index":14783,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["userinfomapper",{"_index":16681,"title":{"classes/UserInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/UserInfoMapper.html":{}}}],["userinfomapper.maptoresponse(news.creator",{"_index":16684,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinfomapper.maptoresponse(news.updater",{"_index":16698,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinforesponse",{"_index":16652,"title":{"classes/UserInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{}}}],["userinfourl",{"_index":15153,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["userjwt",{"_index":24087,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userlist",{"_index":14071,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userlist.map((user",{"_index":14073,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userloginmigration",{"_index":4984,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigration.closedat",{"_index":16501,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigration.finishedat",{"_index":20257,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat.gettime",{"_index":24062,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.id",{"_index":20964,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.mandatorysince",{"_index":24055,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.school",{"_index":19910,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["userloginmigration.schoolid",{"_index":20247,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.startedat",{"_index":16500,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.targetsystemid",{"_index":24096,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationalreadyclosedloggableexception",{"_index":20960,"title":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception(userloginmigration.closedat",{"_index":20965,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiokresponse({description",{"_index":23846,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiunprocessableentityresponse({description",{"_index":23811,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationapimodule",{"_index":20579,"title":{"modules/UserLoginMigrationApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["userloginmigrationcontroller",{"_index":23797,"title":{"controllers/UserLoginMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationdo",{"_index":4982,"title":{"classes/UserLoginMigrationDO.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationentity",{"_index":15402,"title":{"entities/UserLoginMigrationEntity.html":{}},"body":{"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception",{"_index":23856,"title":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apinotfoundresponse({description",{"_index":23813,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiokresponse({description",{"_index":23839,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiunprocessableentityresponse({description",{"_index":23845,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationid",{"_index":15331,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationmandatoryloggable",{"_index":22968,"title":{"classes/UserLoginMigrationMandatoryLoggable.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["userloginmigrationmandatoryloggable(userid",{"_index":22971,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationmandatoryparams",{"_index":23843,"title":{"classes/UserLoginMigrationMandatoryParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["userloginmigrationmapper",{"_index":23857,"title":{"classes/UserLoginMigrationMapper.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["userloginmigrationmapper.mapsearchparamstoquery(params",{"_index":23868,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(migrationdto",{"_index":23881,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(userloginmigration",{"_index":23873,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmodule",{"_index":17310,"title":{"modules/UserLoginMigrationModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["userloginmigrationnotfoundloggableexception",{"_index":4983,"title":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["userloginmigrationnotfoundloggableexception(schoolid",{"_index":4986,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiokresponse({description",{"_index":23814,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiunprocessableentityresponse({description",{"_index":23835,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationprops",{"_index":23990,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationquery",{"_index":23858,"title":{"interfaces/UserLoginMigrationQuery.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationrepo",{"_index":16485,"title":{"injectables/UserLoginMigrationRepo.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationresponse",{"_index":23859,"title":{"classes/UserLoginMigrationResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationresponse})@apiforbiddenresponse",{"_index":23852,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apinotfoundresponse({description",{"_index":23821,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse",{"_index":23840,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apinocontentresponse({description",{"_index":23815,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationrevertservice",{"_index":4977,"title":{"injectables/UserLoginMigrationRevertService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["userloginmigrationrule",{"_index":1879,"title":{"injectables/UserLoginMigrationRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["userloginmigrations",{"_index":23820,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchlistresponse",{"_index":23860,"title":{"classes/UserLoginMigrationSearchListResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationsearchlistresponse})@apiinternalservererrorresponse({description",{"_index":23827,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchparams",{"_index":23824,"title":{"classes/UserLoginMigrationSearchParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["userloginmigrationservice",{"_index":4975,"title":{"injectables/UserLoginMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationstartloggable",{"_index":19038,"title":{"classes/UserLoginMigrationStartLoggable.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationstartloggable(userid",{"_index":19042,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["userloginmigrationuc",{"_index":23796,"title":{"injectables/UserLoginMigrationUc.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["usermapper",{"_index":24111,"title":{"classes/UserMapper.html":{}},"body":{"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["usermapper.mapfromentitytodto(userentity",{"_index":24315,"title":{},"body":{"injectables/UserService.html":{}}}],["usermatches",{"_index":14233,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["usermatchlistresponse",{"_index":14050,"title":{"classes/UserMatchListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchlistresponse(dtolist",{"_index":14075,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper",{"_index":14042,"title":{"classes/UserMatchMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["usermatchmapper.maptodomain(scope",{"_index":14070,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper.maptoresponse(user",{"_index":14074,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["usermatchresponse",{"_index":14099,"title":{"classes/UserMatchResponse.html":{}},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchschoolid",{"_index":20158,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["usermetadata",{"_index":11409,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermetdata",{"_index":11401,"title":{"interfaces/UserMetdata.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception",{"_index":24146,"title":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception(currentuserid",{"_index":24166,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["usermigrationdto",{"_index":16506,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationdto.redirect",{"_index":16507,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationisnotenabled",{"_index":24149,"title":{"classes/UserMigrationIsNotEnabled.html":{}},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["usermigrationservice",{"_index":23971,"title":{"injectables/UserMigrationService.html":{}},"body":{"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationstartedloggable",{"_index":24088,"title":{"classes/UserMigrationStartedLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{}}}],["usermigrationstartedloggable(currentuserid",{"_index":24099,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermigrationsuccessfulloggable",{"_index":24089,"title":{"classes/UserMigrationSuccessfulLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["usermigrationsuccessfulloggable(currentuserid",{"_index":24109,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermodel",{"_index":14781,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["usermodule",{"_index":3890,"title":{"modules/UserModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["username",{"_index":51,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"classes/TestApiClient.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["username.replace(/[^(\\p{l}\\p{n})]/gu",{"_index":798,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["username.trim().tolowercase",{"_index":1753,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["usernames",{"_index":11359,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usernotfoundafterprovisioningloggableexception",{"_index":17024,"title":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["usernotfoundafterprovisioningloggableexception(externaluserid",{"_index":17045,"title":{},"body":{"injectables/OAuthService.html":{}}}],["userparams",{"_index":699,"title":{"classes/UserParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserParams.html":{}}}],["userparentsentity",{"_index":23547,"title":{"classes/UserParentsEntity.html":{}},"body":{"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["userparentsentityprops",{"_index":24195,"title":{"interfaces/UserParentsEntityProps.html":{}},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["userpathadditions",{"_index":15126,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userpermissions",{"_index":23775,"title":{},"body":{"classes/UserFactory.html":{}}}],["userproperties",{"_index":23558,"title":{"interfaces/UserProperties.html":{}},"body":{"entities/User.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{}}}],["userquery",{"_index":23657,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userrefprops",{"_index":1809,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrefprops.some((prop",{"_index":1840,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrepo",{"_index":268,"title":{"injectables/UserRepo.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LocalStrategy.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["userrepresentation",{"_index":14861,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["userrole",{"_index":14101,"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":19241,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.student",{"_index":19243,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.teacher",{"_index":19242,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userroleenum",{"_index":2672,"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":2692,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["userroleenum.substitution_teacher",{"_index":3474,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userroleenum.teacher",{"_index":3472,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userrule",{"_index":1880,"title":{"injectables/UserRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserRule.html":{}}}],["users",{"_index":3418,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"classes/GroupUcMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ResolvedGroupDto.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolMigrationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["users(value",{"_index":12791,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["users.filter((groupuser",{"_index":17840,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.find",{"_index":14897,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.find((user",{"_index":24220,"title":{},"body":{"injectables/UserRepo.html":{}}}],["users.getidentifiers('_id",{"_index":7597,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["users.length",{"_index":7601,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/KeycloakSeedService.html":{},"classes/UsersList.html":{}}}],["users.map((user",{"_index":7608,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["users.resetpassword",{"_index":14891,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.total",{"_index":20263,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["users.update",{"_index":14890,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users_configuration_path='/tmp/config/users",{"_index":26275,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["userscollection",{"_index":5353,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.createindex",{"_index":5365,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.dropindex('usersearchindex",{"_index":5364,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexes",{"_index":5357,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexexists('usersearchindex",{"_index":5356,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscope",{"_index":23670,"title":{"classes/UserScope.html":{}},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["userscount",{"_index":1068,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["usersdashboard",{"_index":8813,"title":{},"body":{"injectables/DashboardService.html":{}}}],["usersearchindex",{"_index":5358,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindex[0].key?.schoolid",{"_index":5361,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindexexists",{"_index":5355,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userservice",{"_index":5449,"title":{"injectables/UserService.html":{}},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userservice.findbyid",{"_index":24313,"title":{},"body":{"injectables/UserService.html":{}}}],["usersfile",{"_index":13756,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["userslist",{"_index":7568,"title":{"classes/UsersList.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["userspermissions",{"_index":1822,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["userspermissions.includes(p",{"_index":1825,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["usersresponse",{"_index":21221,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["usersubmissionexists",{"_index":9900,"title":{},"body":{"injectables/ElementUc.html":{}}}],["userswithemail",{"_index":14424,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail.length",{"_index":14426,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail[0",{"_index":14427,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["usertoicurrentuser",{"_index":8108,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["usertoicurrentuser(accountid",{"_index":8118,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["useruc",{"_index":14053,"title":{"injectables/UserUc.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["userwithpopulatedroles",{"_index":1997,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["uses",{"_index":15389,"title":{},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usevalue",{"_index":1267,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ProvisioningConfigModule.html":{},"modules/RocketChatModule.html":{},"modules/ToolConfigModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usevalue(createmock",{"_index":22560,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["using",{"_index":543,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/ToolModule.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usually",{"_index":6306,"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":12143,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["util",{"_index":12687,"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":15315,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["utilities",{"_index":15896,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["utilities.format.nestlike",{"_index":15915,"title":{},"body":{"modules/LoggerModule.html":{}}}],["utils",{"_index":2481,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/GlobalErrorFilter.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/TldrawBoardRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["utils.asarray(domainobject",{"_index":18763,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["utils.asarray(domainobjects).map((dob",{"_index":2502,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["utils.asarray(id",{"_index":2514,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{}}}],["utils/error.utils",{"_index":9955,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["uuid",{"_index":620,"title":{},"body":{"injectables/AccountLookupService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":14087,"title":{},"body":{"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["v",{"_index":4954,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["v3",{"_index":25663,"title":{},"body":{"todo.html":{}}}],["v3/index",{"_index":25668,"title":{},"body":{"todo.html":{}}}],["v3/tools/external",{"_index":10291,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["v4",{"_index":11632,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ImportUserFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{}}}],["val",{"_index":6146,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["valid",{"_index":628,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LdapConfigEntity.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ReferencesService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validatabletool",{"_index":6128,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.id",{"_index":6177,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters",{"_index":6180,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.find",{"_index":6185,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.length",{"_index":6175,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.map",{"_index":6171,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validate",{"_index":1213,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"modules/InterceptorModule.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/TaskUC.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["validate(contextexternaltool",{"_index":7131,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validate(payload",{"_index":14468,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["validate(props",{"_index":4658,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["validate(request",{"_index":15222,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["validate(response",{"_index":19774,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validate(school",{"_index":20435,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validate(schoolexternaltool",{"_index":20137,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validate(username",{"_index":15853,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["validate(value",{"_index":1245,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validateandgetexternaltool",{"_index":11368,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateandgetexternaltool(oauth2clientid",{"_index":11393,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecommon",{"_index":10565,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecommon(externaltool",{"_index":10584,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecontextexternaltools",{"_index":11369,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validatecontextexternaltools(courseid",{"_index":11395,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecreate",{"_index":11155,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatecreate(externaltool",{"_index":11162,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validated",{"_index":1226,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/JwtValidationAdapter.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validatelogosize",{"_index":10434,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelogosize(externaltool",{"_index":10448,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelti11config",{"_index":11156,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatelti11config(externaltool",{"_index":11163,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatenested",{"_index":6847,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested()@apiproperty",{"_index":9691,"title":{},"body":{"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{}}}],["validatenested()@type(undefined",{"_index":10314,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested({each",{"_index":6840,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["validateoauth2config",{"_index":11157,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateoauth2config(externaltool",{"_index":11165,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateparameter",{"_index":6126,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validateparameter(param",{"_index":6148,"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":2983,"title":{},"body":{"entities/Board.html":{}}}],["validaterocketchatconfig",{"_index":1190,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["validateschoolexternaltool",{"_index":11370,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateschoolexternaltool(schoolid",{"_index":11397,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatestatus",{"_index":13560,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["validatesubject",{"_index":17371,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatesubject(currentuser",{"_index":17382,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatetoken",{"_index":17003,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validatetoken(idtoken",{"_index":17020,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validateupdate",{"_index":11158,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateupdate(toolid",{"_index":11166,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateusersmatch",{"_index":8820,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validateusersmatch(dashboard",{"_index":8827,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validating",{"_index":14499,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation",{"_index":1373,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BusinessError.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/ValidationError.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validation.adapter",{"_index":1554,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{}}}],["validation.adapter.ts",{"_index":14488,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:13",{"_index":14493,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:25",{"_index":14498,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:30",{"_index":14496,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:36",{"_index":14502,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.error.ts",{"_index":1353,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.error.ts:4",{"_index":1358,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.pipe",{"_index":24371,"title":{},"body":{"modules/ValidationModule.html":{}}}],["validation.pipe.ts",{"_index":12725,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.pipe.ts:12",{"_index":12727,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.service",{"_index":6829,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/ToolVersionService.html":{}}}],["validation.service.ts",{"_index":6116,"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":10566,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:107",{"_index":6140,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:108",{"_index":10573,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:118",{"_index":10575,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:12",{"_index":7129,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:128",{"_index":10581,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:136",{"_index":10577,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:14",{"_index":6158,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:148",{"_index":10570,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:16",{"_index":10585,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:17",{"_index":20138,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:20",{"_index":7132,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:24",{"_index":6147,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:26",{"_index":11167,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:27",{"_index":20135,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:32",{"_index":6129,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:46",{"_index":6132,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:58",{"_index":6135,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:7",{"_index":20433,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:72",{"_index":6144,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:74",{"_index":11164,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:76",{"_index":10579,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:82",{"_index":6149,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:84",{"_index":11161,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:86",{"_index":10568,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:9",{"_index":11159,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:91",{"_index":6138,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:95",{"_index":10583,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:99",{"_index":6142,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation_error",{"_index":24355,"title":{},"body":{"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerror",{"_index":338,"title":{"classes/ValidationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CurrentUserMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/LoginController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SubmissionItemService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["validationerror('user",{"_index":8124,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["validationerror(`tool_id_mismatch",{"_index":11173,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validationerror(`tool_name_duplicate",{"_index":10588,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror(`tool_param_name",{"_index":10593,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror.children",{"_index":1413,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.children.foreach((childerror",{"_index":1414,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.constraints",{"_index":1409,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.property",{"_index":1407,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrordetailresponse",{"_index":1385,"title":{"classes/ValidationErrorDetailResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["validationerrordetailresponse(propertypath",{"_index":1412,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrorlistobject",{"_index":24363,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception",{"_index":19743,"title":{"classes/ValidationErrorLoggableException.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception(validationerrors",{"_index":19776,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationerrorlogmessage",{"_index":1469,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["validationerrors",{"_index":1359,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrors.length",{"_index":19775,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationmetadata",{"_index":9980,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.context?.privacyprotected",{"_index":9982,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.propertyname",{"_index":9981,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmodule",{"_index":7463,"title":{"modules/ValidationModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["validationpipe",{"_index":1221,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["validationpipe.createexceptionfactory",{"_index":1248,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult",{"_index":1244,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult.length",{"_index":1246,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validator",{"_index":200,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PaginationParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolSystemParams.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validators",{"_index":25941,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["validcourses",{"_index":11447,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validcourses.push(course",{"_index":11450,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validfrom",{"_index":12789,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["validjwt",{"_index":8041,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["validperiod",{"_index":12877,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["validuntil",{"_index":12790,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["value",{"_index":130,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/CardSkeletonResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FilterUserParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.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":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.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/SwapInternalLinksVisitor.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["value.id",{"_index":3402,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["value.length",{"_index":20990,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{}}}],["value.loggable",{"_index":16522,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["value.trim().length",{"_index":21025,"title":{},"body":{"classes/StringValidator.html":{}}}],["value[0",{"_index":14932,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["values",{"_index":1561,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["values.ts",{"_index":1758,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:2",{"_index":1762,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:4",{"_index":1761,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["var",{"_index":5378,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["variable",{"_index":20599,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["variables",{"_index":20899,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["variant",{"_index":22519,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["various",{"_index":25856,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["vars",{"_index":2061,"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":24621,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["vcdo.options",{"_index":24623,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["verbatim",{"_index":25048,"title":{},"body":{"license.html":{}}}],["verbose",{"_index":4903,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["verified",{"_index":1154,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["verify",{"_index":26183,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyfeaturesenabled",{"_index":24497,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifyfeaturesenabled(schoolid",{"_index":24509,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifying",{"_index":26184,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyoptions",{"_index":1600,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["version",{"_index":5752,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LibraryRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["version.interface.ts",{"_index":23486,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.interface.ts:2",{"_index":23487,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["versioning",{"_index":6104,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["versionkey",{"_index":11603,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["versionnumber",{"_index":5976,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["versions",{"_index":6731,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"license.html":{}}}],["very",{"_index":5319,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["via",{"_index":2836,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/CopyApiResponse.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["video",{"_index":9601,"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":7567,"title":{"entities/VideoConference.html":{},"classes/VideoConference-1.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconference.options.everybodyjoinsasmoderator",{"_index":24639,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference.options.moderatormustapprovejoinrequests",{"_index":24641,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference2",{"_index":24423,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconference:31",{"_index":24599,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:34",{"_index":24600,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:6",{"_index":24598,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconferenceapimodule",{"_index":20583,"title":{"modules/VideoConferenceApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["videoconferencebaseresponse",{"_index":9602,"title":{"classes/VideoConferenceBaseResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencebaseresponse:10",{"_index":9608,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:12",{"_index":9606,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:8",{"_index":9609,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferenceconfiguration",{"_index":24415,"title":{"classes/VideoConferenceConfiguration.html":{}},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.bbb",{"_index":24420,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.videoconference",{"_index":24683,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["videoconferencecontroller",{"_index":24410,"title":{"controllers/VideoConferenceController.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencecreateparams",{"_index":24443,"title":{"classes/VideoConferenceCreateParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencecreateuc",{"_index":24406,"title":{"injectables/VideoConferenceCreateUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["videoconferencedeprecatedcontroller",{"_index":24549,"title":{"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedeprecateduc",{"_index":24562,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedo",{"_index":24536,"title":{"classes/VideoConferenceDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceenduc",{"_index":24407,"title":{"injectables/VideoConferenceEndUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["videoconferenceinfo",{"_index":24450,"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":24452,"title":{"classes/VideoConferenceInfoResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferenceinforesponse})@apiresponse({status",{"_index":24434,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferenceinfouc",{"_index":24408,"title":{"injectables/VideoConferenceInfoUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["videoconferencejoin",{"_index":24451,"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":24671,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse",{"_index":24453,"title":{"classes/VideoConferenceJoinResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse})@apiresponse({status",{"_index":24440,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencejoinuc",{"_index":24409,"title":{"injectables/VideoConferenceJoinUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["videoconferencemapper",{"_index":24447,"title":{"classes/VideoConferenceMapper.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemapper.tovideoconferenceinforesponse(dto",{"_index":24470,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencejoinresponse(dto",{"_index":24467,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferenceoptions(params",{"_index":24463,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencestateresponse(from.state",{"_index":24737,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemodule",{"_index":24405,"title":{"modules/VideoConferenceModule.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceoptions",{"_index":24374,"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":24540,"title":{"classes/VideoConferenceOptionsDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["videoconferenceoptionsresponse",{"_index":24603,"title":{"classes/VideoConferenceOptionsResponse.html":{}},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["videoconferenceoptionsresponse(videoconferenceinfo.options",{"_index":24670,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencerepo",{"_index":24677,"title":{"injectables/VideoConferenceRepo.html":{}},"body":{"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceresponsedeprecatedmapper",{"_index":24560,"title":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptobaseresponse(dto",{"_index":24584,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptoinforesponse(dto",{"_index":24581,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptojoinresponse(dto",{"_index":24579,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsemapper",{"_index":24730,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferences",{"_index":24388,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferencescope",{"_index":20501,"title":{},"body":{"classes/ScopeRef.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope'})@isenum(videoconferencescope",{"_index":24742,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope.course",{"_index":24714,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescope.event",{"_index":24712,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescopeparams",{"_index":24426,"title":{"classes/VideoConferenceScopeParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferenceservice",{"_index":24499,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencesettings",{"_index":13813,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencestate",{"_index":24395,"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":24595,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.not_started",{"_index":24615,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.running",{"_index":24573,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse",{"_index":9607,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.finished",{"_index":24668,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.not_started",{"_index":24666,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.running",{"_index":24667,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferenceuc",{"_index":24566,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencingscopemapping",{"_index":24716,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencingscopemapping[entity.targetmodel",{"_index":24720,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videocount",{"_index":2315,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["view",{"_index":16813,"title":{},"body":{"injectables/NewsUc.html":{},"license.html":{}}}],["viewer",{"_index":2266,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["viewers",{"_index":7885,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["violates",{"_index":25360,"title":{},"body":{"license.html":{}}}],["violation",{"_index":25404,"title":{},"body":{"license.html":{}}}],["virtuals",{"_index":24920,"title":{},"body":{"dependencies.html":{}}}],["virus",{"_index":11957,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["virus_detected",{"_index":1291,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["virus_signature",{"_index":1292,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["viruses",{"_index":1322,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["viruses.join",{"_index":1326,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["visibilities",{"_index":25647,"title":{},"body":{"todo.html":{}}}],["visibility",{"_index":4465,"title":{},"body":{"classes/CardResponse.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RoomsUc.html":{}}}],["visibility.params.ts",{"_index":17947,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibility.params.ts:12",{"_index":17948,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibilitysettings",{"_index":4456,"title":{},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{}}}],["visibilitysettingsresponse",{"_index":4463,"title":{"classes/VisibilitySettingsResponse.html":{}},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["visible",{"_index":7884,"title":{},"body":{"entities/CourseNews.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["visibletools",{"_index":10219,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visibletools.filter",{"_index":10222,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visitcard",{"_index":3116,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcard(card",{"_index":3126,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcardasync",{"_index":3172,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(card",{"_index":3164,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(original",{"_index":18610,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildren",{"_index":18739,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildren(parent",{"_index":18750,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildrenasync",{"_index":18690,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenasync(domainobject",{"_index":18695,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenof",{"_index":18600,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitchildrenof(boarddo",{"_index":18612,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumn",{"_index":3117,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumn(column",{"_index":3129,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumnasync",{"_index":3173,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(column",{"_index":3163,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(original",{"_index":18614,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumnboard",{"_index":3118,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumnboard(columnboard",{"_index":3131,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumnboardasync",{"_index":3174,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(columnboard",{"_index":3162,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(original",{"_index":18616,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitdrawingelement",{"_index":3119,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitdrawingelement(drawingelement",{"_index":3133,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitdrawingelementasync",{"_index":3175,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(drawingelement",{"_index":3168,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(original",{"_index":18618,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitexternaltoolelement",{"_index":3120,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitexternaltoolelement(externaltoolelement",{"_index":3136,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelementasync",{"_index":3176,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(externaltoolelement",{"_index":3171,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(original",{"_index":18620,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitfileelement",{"_index":3121,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitfileelement(fileelement",{"_index":3139,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelementasync",{"_index":3177,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(fileelement",{"_index":3165,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(original",{"_index":18622,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitlinkelement",{"_index":3122,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitlinkelement(linkelement",{"_index":3142,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitlinkelementasync",{"_index":3178,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(linkelement",{"_index":3166,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(original",{"_index":18624,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitor",{"_index":3071,"title":{},"body":{"classes/BoardComposite.html":{},"injectables/BoardDoCopyService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["visitor.copy(params.original",{"_index":3636,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["visitor.ts",{"_index":3115,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:13",{"_index":3132,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:14",{"_index":3130,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:15",{"_index":3128,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:16",{"_index":3141,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:17",{"_index":3144,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:18",{"_index":3147,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:19",{"_index":3135,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:20",{"_index":3150,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:21",{"_index":3152,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:22",{"_index":3138,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:26",{"_index":3184,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:27",{"_index":3183,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:28",{"_index":3182,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:29",{"_index":3187,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:30",{"_index":3188,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:31",{"_index":3189,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:32",{"_index":3185,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:33",{"_index":3190,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:34",{"_index":3191,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:35",{"_index":3186,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.visitcard(this",{"_index":4363,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcardasync(this",{"_index":4364,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcolumn(this",{"_index":5427,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnasync(this",{"_index":5428,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnboard(this",{"_index":5443,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitcolumnboardasync(this",{"_index":5444,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitdrawingelement(this",{"_index":9672,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitdrawingelementasync(this",{"_index":9673,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitexternaltoolelement(this",{"_index":10336,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitexternaltoolelementasync(this",{"_index":10337,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitfileelement(this",{"_index":11566,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitfileelementasync(this",{"_index":11567,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitlinkelement(this",{"_index":15801,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitlinkelementasync(this",{"_index":15802,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitrichtextelement(this",{"_index":19084,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitrichtextelementasync(this",{"_index":19085,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitsubmissioncontainerelement(this",{"_index":21096,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissioncontainerelementasync(this",{"_index":21097,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissionitem(this",{"_index":21181,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitor.visitsubmissionitemasync(this",{"_index":21182,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitrichtextelement",{"_index":3123,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitrichtextelement(richtextelement",{"_index":3145,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelementasync",{"_index":3179,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitrichtextelementasync(original",{"_index":18626,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitrichtextelementasync(richtextelement",{"_index":3167,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelement",{"_index":3124,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissioncontainerelement(submissioncontainerelement",{"_index":3148,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissioncontainerelementasync",{"_index":3180,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelementasync(original",{"_index":18628,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissioncontainerelementasync(submissioncontainerelement",{"_index":3169,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitem",{"_index":3125,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissionitem(submissionitem",{"_index":3151,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissionitemasync",{"_index":3181,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(original",{"_index":18630,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissionitemasync(submission",{"_index":6500,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(submissionitem",{"_index":3170,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visual",{"_index":25008,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vo",{"_index":13971,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["voicebridge",{"_index":2252,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["voiceparticipantcount",{"_index":2316,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["void",{"_index":569,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{}}}],["volume",{"_index":25267,"title":{},"body":{"license.html":{}}}],["vorname",{"_index":19697,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["vs",{"_index":14446,"title":{},"body":{"interfaces/JwtConstants.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["vscode",{"_index":24979,"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":26219,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/lauch",{"_index":25669,"title":{},"body":{"todo.html":{}}}],["vscode/launch.default.json",{"_index":25787,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/settings.default.json",{"_index":26217,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["w",{"_index":6585,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["wait",{"_index":1750,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["waiting",{"_index":24645,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["waive",{"_index":25226,"title":{},"body":{"license.html":{}}}],["waiver",{"_index":25583,"title":{},"body":{"license.html":{}}}],["want",{"_index":5140,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/Path.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["wantedlibraries",{"_index":13454,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["wantedlibraries.includes(librariestocheck[lastpositionlibrariestocheckarray].machinename",{"_index":13499,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["warn",{"_index":13768,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["warn(message",{"_index":13779,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["warning",{"_index":15876,"title":{},"body":{"injectables/Logger.html":{}}}],["warning(loggable",{"_index":15885,"title":{},"body":{"injectables/Logger.html":{}}}],["warranties",{"_index":25154,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":25153,"title":{},"body":{"license.html":{}}}],["watch",{"_index":25653,"title":{},"body":{"todo.html":{}}}],["way",{"_index":3972,"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":25276,"title":{},"body":{"license.html":{}}}],["web",{"_index":6039,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["weblink",{"_index":6067,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["websocket",{"_index":22572,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["websocket(`${wsurl",{"_index":22578,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocket(`${wsurl}/${docname",{"_index":22577,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocketgateway",{"_index":22804,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketgateway(socket_port",{"_index":22807,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketserver",{"_index":22798,"title":{},"body":{"classes/TldrawWs.html":{}}}],["weights",{"_index":5369,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["weird",{"_index":7908,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["welcome",{"_index":2167,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{}}}],["well",{"_index":25139,"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":14831,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["wenn",{"_index":24682,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["went",{"_index":13825,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["werden",{"_index":5560,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wether",{"_index":26483,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["whatever",{"_index":20537,"title":{},"body":{"classes/ServerConsole.html":{},"license.html":{}}}],["whereas",{"_index":25883,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wherelastloginsystemchangeisbetween",{"_index":23676,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["wherelastloginsystemchangeisbetween(startdate",{"_index":24271,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan",{"_index":24266,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(date",{"_index":24273,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(query.lastloginsystemchangesmallerthan",{"_index":23675,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["wherever",{"_index":15306,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["whether",{"_index":8100,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["whitelist",{"_index":12733,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["whitelisted",{"_index":14481,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["whitespace",{"_index":16559,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["whole",{"_index":16887,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ReferencesService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["whos",{"_index":21192,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["whose",{"_index":25316,"title":{},"body":{"license.html":{}}}],["wichtige",{"_index":5552,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["widely",{"_index":25166,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["widespread",{"_index":25087,"title":{},"body":{"license.html":{}}}],["width",{"_index":7287,"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":6065,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["wildfly",{"_index":26303,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["willkommen",{"_index":5539,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["window",{"_index":25173,"title":{},"body":{"license.html":{},"todo.html":{}}}],["windowfeatures",{"_index":6064,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["windows",{"_index":25630,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["winston",{"_index":10000,"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":15901,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.combine",{"_index":15908,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.ms",{"_index":15914,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.timestamp",{"_index":15909,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.transports.console",{"_index":15905,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston_module_provider",{"_index":9999,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonlogger",{"_index":9989,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonmodule",{"_index":15897,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winstonmodule.forrootasync",{"_index":15899,"title":{},"body":{"modules/LoggerModule.html":{}}}],["wip",{"_index":25019,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["wipo",{"_index":25218,"title":{},"body":{"license.html":{}}}],["wir",{"_index":5547,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wired",{"_index":26207,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wish",{"_index":25068,"title":{},"body":{"license.html":{}}}],["withbase64logo",{"_index":8354,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withbasicconfig",{"_index":10381,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withcredentials",{"_index":13591,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["withcustomparameters",{"_index":10400,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["withcustomparameters(number",{"_index":8351,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["witherror",{"_index":2077,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["witherror(error",{"_index":2078,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["withexternaldata",{"_index":17107,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata(oauth2params",{"_index":8317,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withguestpolicy",{"_index":2205,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withguestpolicy(guestpolicy",{"_index":2211,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withid",{"_index":20734,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["withid(id",{"_index":20735,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["within",{"_index":4235,"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":8889,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["withldapconfig",{"_index":21526,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withldapconfig(otherparams",{"_index":21529,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["withlogouturl",{"_index":2206,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(logouturl",{"_index":2213,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(options.logouturl",{"_index":24529,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["withlti11config",{"_index":10382,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withlti11config(customparam",{"_index":8349,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withmuteonstart",{"_index":2207,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withmuteonstart(value",{"_index":2215,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withname",{"_index":10383,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withname(name",{"_index":10388,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withoauth2config",{"_index":10384,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withoauth2config(clientid",{"_index":10390,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withoauth2config(customparam",{"_index":8347,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withoauthclientid",{"_index":16137,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthclientid(oauthclientid",{"_index":16139,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthconfig",{"_index":21527,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withoidcconfig",{"_index":21528,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["without",{"_index":812,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningStrategyMissingLoggableException.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":25626,"title":{},"body":{"todo.html":{}}}],["withoutcontext",{"_index":5488,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["withoutdatedsince",{"_index":24267,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(date",{"_index":24275,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(query.outdatedsince",{"_index":23679,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["withrole",{"_index":2279,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/UserFactory.html":{}}}],["withrole(role",{"_index":23768,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrole(value",{"_index":2283,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withroleanduserid",{"_index":22298,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withroleanduserid(role",{"_index":22300,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withrolebyname",{"_index":23764,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrolebyname(name",{"_index":23770,"title":{},"body":{"classes/UserFactory.html":{}}}],["withroles",{"_index":23731,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withroles(roles",{"_index":23732,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withschoolexternaltoolref",{"_index":6804,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolexternaltoolref(schooltoolid",{"_index":6805,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolid",{"_index":19963,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withschoolid(schoolid",{"_index":19964,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withsystemid",{"_index":503,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withsystemid(id",{"_index":518,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withteamuser",{"_index":22299,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withteamuser(teamuser",{"_index":22302,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withuser",{"_index":504,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuser(user",{"_index":520,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuserid",{"_index":2280,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/TeamUserFactory.html":{}}}],["withuserid(currentuserid",{"_index":24637,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["withuserid(userid",{"_index":22408,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["withuserid(value",{"_index":2285,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withuserids",{"_index":4686,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["withuserids(id",{"_index":9435,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["withuserids(userids",{"_index":4687,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{}}}],["withwelcome",{"_index":2208,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withwelcome(welcome",{"_index":2217,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["wont_check",{"_index":7209,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["word",{"_index":26021,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["words",{"_index":5373,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["work",{"_index":816,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SymetricKeyEncryptionService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["work's",{"_index":25177,"title":{},"body":{"license.html":{}}}],["worker",{"_index":9813,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["worker.manufacture",{"_index":9814,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["working",{"_index":4922,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["workings",{"_index":26047,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["works",{"_index":12496,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/H5PContentFactory.html":{},"injectables/NewsRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["worldwide",{"_index":25471,"title":{},"body":{"license.html":{}}}],["wouldn't",{"_index":1830,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["wrap",{"_index":2952,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wrap(dashboard).toreference",{"_index":8613,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrap(modelentity).init",{"_index":8722,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["wrap(props.course).toreference",{"_index":2973,"title":{},"body":{"entities/Board.html":{}}}],["wrap(props.school).toreference",{"_index":13973,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.system).toreference",{"_index":13974,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.user).toreference",{"_index":8620,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrapped",{"_index":26056,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wrappedreference",{"_index":2943,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrapper",{"_index":5974,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["writable",{"_index":9627,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["write",{"_index":1784,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["write(requiredpermissions",{"_index":1789,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["write/read",{"_index":26383,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writecourseids",{"_index":22246,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses",{"_index":22243,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.includes(c",{"_index":22245,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.map((c",{"_index":22247,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writefile",{"_index":12122,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writefile(filepath",{"_index":12150,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writelessons",{"_index":22252,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writen",{"_index":26463,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writer.module",{"_index":20544,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["writer.module.ts",{"_index":6381,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["writer.service",{"_index":6382,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["writer.service.ts",{"_index":6383,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer.service.ts:5",{"_index":6385,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer/console",{"_index":6380,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["writestate",{"_index":22818,"title":{},"body":{"classes/TldrawWs.html":{}}}],["writestate(doc.name",{"_index":22896,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1",{"_index":22880,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1(encoder",{"_index":22948,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate",{"_index":22881,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate(encoder",{"_index":22910,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writing",{"_index":25548,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["written",{"_index":25283,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wrong",{"_index":8831,"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":26450,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ws",{"_index":22573,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["ws.binarytype",{"_index":22930,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.close",{"_index":22899,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.module",{"_index":22789,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["ws.module.ts",{"_index":22837,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["ws.on('close",{"_index":22946,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('message",{"_index":22935,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('open",{"_index":22579,"title":{},"body":{"classes/TestConnection.html":{}}}],["ws.on('pong",{"_index":22947,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.ping",{"_index":22944,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws://localhost:${gatewayport",{"_index":22576,"title":{},"body":{"classes/TestConnection.html":{}}}],["wsclosecodeenum",{"_index":22806,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsclosecodeenum.ws_client_bad_request_code",{"_index":22813,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsconnection",{"_index":24763,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["wsconnectionstate",{"_index":22883,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.connecting",{"_index":22902,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.open",{"_index":22903,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsmessagetype",{"_index":22884,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.awareness",{"_index":22926,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.sync",{"_index":22909,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsshareddocdo",{"_index":22644,"title":{"classes/WsSharedDocDo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsshareddocdo(docname",{"_index":22915,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsurl",{"_index":22575,"title":{},"body":{"classes/TestConnection.html":{}}}],["www",{"_index":14850,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["wünsche",{"_index":5594,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["x",{"_index":1170,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CalendarEvent.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["xapikey",{"_index":22594,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["xapikeyconfig",{"_index":9358,"title":{"interfaces/XApiKeyConfig.html":{}},"body":{"modules/DeletionModule.html":{},"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xapikeystrategy",{"_index":1534,"title":{"injectables/XApiKeyStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xml",{"_index":7162,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2js",{"_index":5870,"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":7163,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2json(xml",{"_index":7165,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object",{"_index":7159,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object(xml",{"_index":7160,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xmlbuilder",{"_index":5850,"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":5921,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xmlns:blti",{"_index":5922,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:ext",{"_index":5983,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:lticm",{"_index":5923,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:lticp",{"_index":5924,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:mnf",{"_index":5979,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:res",{"_index":5981,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:xsi",{"_index":5925,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xpos",{"_index":8595,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["xposition",{"_index":8628,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["xsd/imsbasiclti_v1p0",{"_index":5955,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticc_v1p0",{"_index":5954,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticm_v1p0",{"_index":5956,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticp_v1p0",{"_index":5957,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd",{"_index":5959,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticc_v1p0.xsd",{"_index":5958,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticm_v1p0.xsd",{"_index":5960,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticp_v1p0.xsd",{"_index":5961,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsi:schemalocation",{"_index":5928,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xxxx",{"_index":26233,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["y",{"_index":8410,"title":{},"body":{"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["y.doc",{"_index":22855,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["yagni",{"_index":25836,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yagni.more",{"_index":26037,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["yaml",{"_index":13465,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ydoc",{"_index":22643,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["ydoc.on('update",{"_index":22691,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["ydocument",{"_index":22895,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["year",{"_index":4591,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["year.service.ts",{"_index":20456,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:11",{"_index":20461,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:17",{"_index":20460,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:7",{"_index":20459,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["yearfrom",{"_index":6586,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["years",{"_index":20448,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"license.html":{}}}],["yearto",{"_index":6587,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["yes",{"_index":59,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountFactory.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"classes/BaseDO.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUc.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"classes/LinkElement.html":{},"injectables/LocalStrategy.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemUc.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/ValidationError.html":{}}}],["yesterday",{"_index":11929,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{}}}],["yet.'})@apiresponse({status",{"_index":24554,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["yjs",{"_index":22660,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["your.config.ts",{"_index":26493,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.module.ts",{"_index":26497,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.service.ts",{"_index":26495,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your_s3_uniq_connection_token",{"_index":26494,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourloggable",{"_index":25990,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourloggable(userid",{"_index":25995,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourmodule",{"_index":26498,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourself",{"_index":25485,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yourservice",{"_index":26025,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["youruc",{"_index":25991,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["ypos",{"_index":8596,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["yposition",{"_index":8629,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["yyyy",{"_index":15910,"title":{},"body":{"modules/LoggerModule.html":{}}}],["z0",{"_index":22499,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["z]+)$/i",{"_index":8003,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["z]|[0",{"_index":12623,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["za",{"_index":12622,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{},"injectables/TemporaryFileStorage.html":{}}}],["zip",{"_index":5869,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["zipbuilder",{"_index":5851,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["zoom",{"_index":269,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["zu",{"_index":5567,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zum",{"_index":5570,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zusammengefasst",{"_index":5576,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"classes/AbstractAccountService.html":{"url":"classes/AbstractAccountService.html","title":"class - AbstractAccountService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractAccountService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.service.abstract.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n delete\n \n \n Abstract\n deleteByUserId\n \n \n Abstract\n findById\n \n \n Abstract\n findByUserId\n \n \n Abstract\n findByUserIdOrFail\n \n \n Abstract\n findByUsernameAndSystemId\n \n \n Abstract\n findMany\n \n \n Abstract\n findMultipleByUserId\n \n \n Abstract\n save\n \n \n Abstract\n searchByUsernameExactMatch\n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n Abstract\n updatePassword\n \n \n Abstract\n updateUsername\n \n \n Abstract\n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n \n \n \n \n Used for brute force detection, but will become subject to IDM thus be removed.\n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n validatePassword\n \n \n \n \n \n \n \n validatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AccountDto, AccountSaveDto } from './dto';\n\nexport abstract class AbstractAccountService {\n\tabstract findById(id: EntityId): Promise;\n\n\tabstract findMultipleByUserId(userIds: EntityId[]): Promise;\n\n\tabstract findByUserId(userId: EntityId): Promise;\n\n\tabstract findByUserIdOrFail(userId: EntityId): Promise;\n\n\tabstract findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise;\n\n\tabstract save(accountDto: AccountSaveDto): Promise;\n\n\tabstract updateUsername(accountId: EntityId, username: string): Promise;\n\n\t/**\n\t * @deprecated Used for brute force detection, but will become subject to IDM thus be removed.\n\t */\n\tabstract updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise;\n\n\tabstract updatePassword(accountId: EntityId, password: string): Promise;\n\n\tabstract delete(id: EntityId): Promise;\n\n\tabstract deleteByUserId(userId: EntityId): Promise;\n\n\tabstract searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise>;\n\n\tabstract searchByUsernameExactMatch(userName: string): Promise>;\n\n\tabstract validatePassword(account: AccountDto, comparePassword: string): Promise;\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tabstract findMany(offset?: number, limit?: number): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AbstractUrlHandler.html":{"url":"classes/AbstractUrlHandler.html","title":"class - AbstractUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:5\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { basename } from 'node:path';\nimport { MetaData } from '../../types';\n\nexport abstract class AbstractUrlHandler {\n\tprotected abstract patterns: RegExp[];\n\n\tprotected extractId(url: string): string | undefined {\n\t\tconst results: RegExpMatchArray = this.patterns\n\t\t\t.map((pattern: RegExp) => pattern.exec(url))\n\t\t\t.filter((result) => result !== null)\n\t\t\t.find((result) => (result?.length ?? 0) >= 2) as RegExpMatchArray;\n\n\t\tif (results && results[1]) {\n\t\t\treturn results[1];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tdoesUrlMatch(url: string): boolean {\n\t\tconst doesMatch = this.patterns.some((pattern) => pattern.test(url));\n\t\treturn doesMatch;\n\t}\n\n\tgetDefaultMetaData(url: string, partial: Partial = {}): MetaData {\n\t\tconst urlObject = new URL(url);\n\t\tconst title = basename(urlObject.pathname);\n\t\treturn {\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t\t...partial,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptConsentRequestBody.html":{"url":"interfaces/AcceptConsentRequestBody.html","title":"interface - AcceptConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-consent-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { IdToken } from '@modules/oauth-provider/interface/id-token';\n\nexport interface AcceptConsentRequestBody {\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token?: string;\n\n\t\tid_token?: IdToken;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptLoginRequestBody.html":{"url":"interfaces/AcceptLoginRequestBody.html","title":"interface - AcceptLoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptLoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-login-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n force_subject_identifier\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n force_subject_identifier\n \n \n \n \n \n \n \n \n force_subject_identifier: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AcceptLoginRequestBody {\n\tsubject?: string;\n\n\tacr?: string;\n\n\tamr?: string[];\n\n\tcontext?: object;\n\n\tforce_subject_identifier?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AcceptQuery.html":{"url":"classes/AcceptQuery.html","title":"class - AcceptQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AcceptQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Accepts the login request.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/index';\n\nexport class AcceptQuery {\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({ description: 'Accepts the login request.', required: true, nullable: false })\n\taccept!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Account.html":{"url":"entities/Account.html","title":"entity - Account","body":"\n \n\n\n\n\n\n\n\n Entities\n Account\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/account.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n Optional\n credentialHash\n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n Optional\n password\n \n \n \n Optional\n systemId\n \n \n \n Optional\n token\n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, unique: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:12\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Index } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IdmAccountProperties = Readonly>;\n\n@Entity({ tableName: 'accounts' })\n@Index({ properties: ['userId', 'systemId'] })\nexport class Account extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\tusername!: string;\n\n\t@Property({ nullable: true })\n\tpassword?: string;\n\n\t@Property({ nullable: true })\n\ttoken?: string;\n\n\t@Property({ nullable: true })\n\tcredentialHash?: string;\n\n\t@Property({ nullable: true, unique: false })\n\tuserId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tsystemId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tlasttriedFailedLogin?: Date;\n\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\t@Property({ nullable: true })\n\tactivated?: boolean;\n\n\tconstructor(props: IdmAccountProperties) {\n\t\tsuper();\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountApiModule.html":{"url":"modules/AccountApiModule.html","title":"module - AccountApiModule","body":"\n \n\n\n\n\n Modules\n AccountApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountApiModule\n\n\n\ncluster_AccountApiModule_imports\n\n\n\ncluster_AccountApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAccountApiModule\n\nAccountApiModule\n\nAccountApiModule -->\n\nAccountModule->AccountApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountApiModule -->\n\nLoggerModule->AccountApiModule\n\n\n\n\n\nAccountUc\n\nAccountUc\n\nAccountApiModule -->\n\nAccountUc->AccountApiModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountApiModule -->\n\nPermissionService->AccountApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountApiModule -->\n\nUserRepo->AccountApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountUc\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n AccountController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { PermissionService } from '@shared/domain/service';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '../../core/logger/logger.module';\nimport { AccountModule } from './account.module';\nimport { AccountController } from './controller/account.controller';\nimport { AccountUc } from './uc/account.uc';\n\n@Module({\n\timports: [AccountModule, LoggerModule],\n\tproviders: [UserRepo, PermissionService, AccountUc],\n\tcontrollers: [AccountController],\n\texports: [],\n})\nexport class AccountApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdBodyParams.html":{"url":"classes/AccountByIdBodyParams.html","title":"class - AccountByIdBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Optional\n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@ApiProperty({description: 'The new activation state of the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEmail()@ApiProperty({description: 'The new user name for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsBoolean, IsString, IsOptional, Matches, IsEmail } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class AccountByIdBodyParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEmail()\n\t@ApiProperty({\n\t\tdescription: 'The new user name for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tusername?: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'The new activation state of the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tactivated?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdParams.html":{"url":"classes/AccountByIdParams.html","title":"class - AccountByIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The id for the account.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountByIdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The id for the account.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountConfig.html":{"url":"interfaces/AccountConfig.html","title":"interface - AccountConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/account-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AccountConfig {\n\tLOGIN_BLOCK_TIME: number;\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/AccountController.html":{"url":"controllers/AccountController.html","title":"controller - AccountController","body":"\n \n\n\n\n\n\n\n Controllers\n AccountController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/account.controller.ts\n \n\n \n Prefix\n \n \n account\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':id')@ApiOperation({summary: 'Deletes an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns deleted account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':id')@ApiOperation({summary: 'Returns an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns the account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n replaceMyPassword(currentUser: ICurrentUser, params: PatchMyPasswordParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me/password')@ApiOperation({summary: 'Updates the the temporary account password for the authenticated user.'})@ApiResponse({status: 200, description: 'Updated the temporary password successfully.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account or user not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyPasswordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n searchAccounts(currentUser: ICurrentUser, query: AccountSearchQueryParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiOperation({summary: 'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n query\n \n AccountSearchQueryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n updateAccountById(currentUser: ICurrentUser, params: AccountByIdParams, body: AccountByIdBodyParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':id')@ApiOperation({summary: 'Updates an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns updated account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n AccountByIdBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n \n \n \n updateMyAccount(currentUser: ICurrentUser, params: PatchMyAccountParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me')@ApiOperation({summary: 'Updates an account for the authenticated user.'})@ApiResponse({status: 200, description: 'Account was successfully updated.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { EntityNotFoundError, ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { ICurrentUser } from '@src/modules/authentication';\nimport { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\nimport { AccountUc } from '../uc/account.uc';\nimport {\n\tAccountByIdBodyParams,\n\tAccountByIdParams,\n\tAccountResponse,\n\tAccountSearchListResponse,\n\tAccountSearchQueryParams,\n\tPatchMyAccountParams,\n\tPatchMyPasswordParams,\n} from './dto';\n\n@ApiTags('Account')\n@Authenticate('jwt')\n@Controller('account')\nexport class AccountController {\n\tconstructor(private readonly accountUc: AccountUc) {}\n\n\t@Get()\n\t@ApiOperation({\n\t\tsummary:\n\t\t\t'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.',\n\t})\n\t@ApiResponse({ status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.' })\n\tasync searchAccounts(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() query: AccountSearchQueryParams\n\t): Promise {\n\t\treturn this.accountUc.searchAccounts(currentUser, query);\n\t}\n\n\t@Get(':id')\n\t@ApiOperation({ summary: 'Returns an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns the account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync findAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.findAccountById(currentUser, params);\n\t}\n\n\t// IMPORTANT!!!\n\t// updateMyAccount has to occur before updateAccountById, because Nest.js\n\t// will always use the first path match and me will be treated as a path parameter\n\t@Patch('me')\n\t@ApiOperation({ summary: 'Updates an account for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Account was successfully updated.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateMyAccount(@CurrentUser() currentUser: ICurrentUser, @Body() params: PatchMyAccountParams): Promise {\n\t\treturn this.accountUc.updateMyAccount(currentUser.userId, params);\n\t}\n\n\t@Patch(':id')\n\t@ApiOperation({ summary: 'Updates an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns updated account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams,\n\t\t@Body() body: AccountByIdBodyParams\n\t): Promise {\n\t\treturn this.accountUc.updateAccountById(currentUser, params, body);\n\t}\n\n\t@Delete(':id')\n\t@ApiOperation({ summary: 'Deletes an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns deleted account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync deleteAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.deleteAccountById(currentUser, params);\n\t}\n\n\t@Patch('me/password')\n\t@ApiOperation({ summary: 'Updates the the temporary account password for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Updated the temporary password successfully.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account or user not found.' })\n\tasync replaceMyPassword(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: PatchMyPasswordParams\n\t): Promise {\n\t\treturn this.accountUc.replaceMyTemporaryPassword(currentUser.userId, params.password, params.confirmPassword);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountDto.html":{"url":"classes/AccountDto.html","title":"class - AccountDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account.dto.ts\n \n\n\n\n \n Extends\n \n \n AccountSaveDto\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n createdAt\n \n \n Readonly\n id\n \n \n Readonly\n updatedAt\n \n \n \n \n Optional\n activated\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:5\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:9\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:54\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:34\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:50\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:57\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:46\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:26\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:42\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:30\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:38\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AccountSaveDto } from './account-save.dto';\n\nexport class AccountDto extends AccountSaveDto {\n\treadonly id: EntityId;\n\n\treadonly createdAt: Date;\n\n\treadonly updatedAt: Date;\n\n\tconstructor(props: AccountDto) {\n\t\tsuper(props);\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountEntityToDtoMapper.html":{"url":"classes/AccountEntityToDtoMapper.html","title":"class - AccountEntityToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountEntityToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n Static\n mapSearchResult\n \n \n Static\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n \n \n \n \n \n mapAccountsToDto(accounts: Account[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accounts\n \n Account[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSearchResult\n \n \n \n \n \n \n \n mapSearchResult(accountEntities: [Account[], number])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountEntities\n \n [Account[], number]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Counted\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account } from '@shared/domain/entity';\nimport { Counted } from '@shared/domain/types';\nimport { AccountDto } from '../services/dto/account.dto';\n\nexport class AccountEntityToDtoMapper {\n\tstatic mapToDto(account: Account): AccountDto {\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tcreatedAt: account.createdAt,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tusername: account.username,\n\t\t\tactivated: account.activated,\n\t\t\tcredentialHash: account.credentialHash,\n\t\t\texpiresAt: account.expiresAt,\n\t\t\tlasttriedFailedLogin: account.lasttriedFailedLogin,\n\t\t\tpassword: account.password,\n\t\t\tsystemId: account.systemId?.toString(),\n\t\t\ttoken: account.token,\n\t\t});\n\t}\n\n\tstatic mapSearchResult(accountEntities: [Account[], number]): Counted {\n\t\tconst foundAccounts = accountEntities[0];\n\t\tconst accountDtos: AccountDto[] = AccountEntityToDtoMapper.mapAccountsToDto(foundAccounts);\n\t\treturn [accountDtos, accountEntities[1]];\n\t}\n\n\tstatic mapAccountsToDto(accounts: Account[]): AccountDto[] {\n\t\treturn accounts.map((accountEntity) => AccountEntityToDtoMapper.mapToDto(accountEntity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountFactory.html":{"url":"classes/AccountFactory.html","title":"class - AccountFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/account.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSystemId\n \n \n withUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSystemId\n \n \n \n \n \n \nwithSystemId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUser\n \n \n \n \n \n \nwithUser(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, IdmAccountProperties, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nclass AccountFactory extends BaseFactory {\n\twithSystemId(id: EntityId | ObjectId): this {\n\t\tconst params: DeepPartial = { systemId: id };\n\n\t\treturn this.params(params);\n\t}\n\n\twithUser(user: User): this {\n\t\tif (!user.id) {\n\t\t\tthrow new Error('User does not have an id.');\n\t\t}\n\n\t\tconst params: DeepPartial = { userId: user.id };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const defaultTestPassword = 'DummyPasswd!1';\nexport const defaultTestPasswordHash = '$2a$10$/DsztV5o6P5piW2eWJsxw.4nHovmJGBA.QNwiTmuZ/uvUc40b.Uhu';\n// !!! important username should not be contain a space !!!\nexport const accountFactory = AccountFactory.define(Account, ({ sequence }) => {\n\treturn {\n\t\tusername: `account${sequence}`,\n\t\tpassword: defaultTestPasswordHash,\n\t\tuserId: new ObjectId(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountIdmToDtoMapper.html":{"url":"injectables/AccountIdmToDtoMapper.html","title":"injectable - AccountIdmToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountIdmToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: IdmAccount)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\n\n@Injectable()\nexport abstract class AccountIdmToDtoMapper {\n\tabstract mapToDto(account: IdmAccount): AccountDto;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperDb.html":{"url":"classes/AccountIdmToDtoMapperDb.html","title":"class - AccountIdmToDtoMapperDb","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.db.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperDb extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.attDbcAccountId ?? '',\n\t\t\tidmReferenceId: account.id,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperIdm.html":{"url":"classes/AccountIdmToDtoMapperIdm.html","title":"class - AccountIdmToDtoMapperIdm","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperIdm\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.idm.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperIdm extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tidmReferenceId: undefined,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountLookupService.html":{"url":"injectables/AccountLookupService.html","title":"injectable - AccountLookupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountLookupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-lookup.service.ts\n \n\n\n \n Description\n \n \n Service to convert between internal and external ids.\nThe external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\nThe internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\nIMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getExternalId\n \n \n Async\n getInternalId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(idmService: IdentityManagementService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n idmService\n \n \n IdentityManagementService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getExternalId\n \n \n \n \n \n \n \n getExternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:44\n \n \n\n\n \n \n Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the external id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:27\n \n \n\n\n \n \n Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the internal id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementService } from '@infra/identity-management';\nimport { ServerConfig } from '@modules/server/server.config';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * Service to convert between internal and external ids.\n * The external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\n * The internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\n * IMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n */\n@Injectable()\nexport class AccountLookupService {\n\tconstructor(\n\t\tprivate readonly idmService: IdentityManagementService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t/**\n\t * Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the internal id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getInternalId(id: EntityId | ObjectId): Promise {\n\t\tif (id instanceof ObjectId || ObjectId.isValid(id)) {\n\t\t\treturn new ObjectId(id);\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountById(id);\n\t\t\treturn new ObjectId(account.attDbcAccountId);\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the external id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getExternalId(id: EntityId | ObjectId): Promise {\n\t\tif (!(id instanceof ObjectId) && !ObjectId.isValid(id)) {\n\t\t\treturn id;\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountByDbcAccountId(id.toString());\n\t\t\treturn account.id;\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountModule.html":{"url":"modules/AccountModule.html","title":"module - AccountModule","body":"\n \n\n\n\n\n Modules\n AccountModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountModule\n\n\n\ncluster_AccountModule_exports\n\n\n\ncluster_AccountModule_imports\n\n\n\ncluster_AccountModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nAccountModule\n\nAccountModule\n\nAccountModule -->\n\nIdentityManagementModule->AccountModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountModule -->\n\nLoggerModule->AccountModule\n\n\n\n\n\nAccountService \n\nAccountService \n\nAccountService -->\n\nAccountModule->AccountService \n\n\n\n\n\nAccountValidationService \n\nAccountValidationService \n\nAccountValidationService -->\n\nAccountModule->AccountValidationService \n\n\n\n\n\nAccountLookupService\n\nAccountLookupService\n\nAccountModule -->\n\nAccountLookupService->AccountModule\n\n\n\n\n\nAccountRepo\n\nAccountRepo\n\nAccountModule -->\n\nAccountRepo->AccountModule\n\n\n\n\n\nAccountService\n\nAccountService\n\nAccountModule -->\n\nAccountService->AccountModule\n\n\n\n\n\nAccountServiceDb\n\nAccountServiceDb\n\nAccountModule -->\n\nAccountServiceDb->AccountModule\n\n\n\n\n\nAccountServiceIdm\n\nAccountServiceIdm\n\nAccountModule -->\n\nAccountServiceIdm->AccountModule\n\n\n\n\n\nAccountValidationService\n\nAccountValidationService\n\nAccountModule -->\n\nAccountValidationService->AccountModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAccountModule -->\n\nLegacySystemRepo->AccountModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountModule -->\n\nPermissionService->AccountModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountModule -->\n\nUserRepo->AccountModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountLookupService\n \n \n AccountRepo\n \n \n AccountService\n \n \n AccountServiceDb\n \n \n AccountServiceIdm\n \n \n AccountValidationService\n \n \n LegacySystemRepo\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AccountService\n \n \n AccountValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management';\nimport { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PermissionService } from '@shared/domain/service';\nimport { LegacySystemRepo, UserRepo } from '@shared/repo';\n\nimport { LoggerModule } from '@src/core/logger/logger.module';\nimport { ServerConfig } from '../server/server.config';\nimport { AccountIdmToDtoMapper, AccountIdmToDtoMapperDb, AccountIdmToDtoMapperIdm } from './mapper';\nimport { AccountRepo } from './repo/account.repo';\nimport { AccountServiceDb } from './services/account-db.service';\nimport { AccountServiceIdm } from './services/account-idm.service';\nimport { AccountLookupService } from './services/account-lookup.service';\nimport { AccountService } from './services/account.service';\nimport { AccountValidationService } from './services/account.validation.service';\n\nfunction accountIdmToDtoMapperFactory(configService: ConfigService): AccountIdmToDtoMapper {\n\tif (configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') === true) {\n\t\treturn new AccountIdmToDtoMapperIdm();\n\t}\n\treturn new AccountIdmToDtoMapperDb();\n}\n\n@Module({\n\timports: [IdentityManagementModule, LoggerModule],\n\tproviders: [\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tPermissionService,\n\t\tAccountRepo,\n\t\tAccountServiceDb,\n\t\tAccountServiceIdm,\n\t\tAccountService,\n\t\tAccountLookupService,\n\t\tAccountValidationService,\n\t\t{\n\t\t\tprovide: AccountIdmToDtoMapper,\n\t\t\tuseFactory: accountIdmToDtoMapperFactory,\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n\texports: [AccountService, AccountValidationService],\n})\nexport class AccountModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountParams.html":{"url":"interfaces/AccountParams.html","title":"interface - AccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n systemId\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountRepo.html":{"url":"injectables/AccountRepo.html","title":"injectable - AccountRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/repo/account.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteById\n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Async\n flush\n \n \n getObjectReference\n \n \n saveWithoutFlush\n \n \n Private\n Async\n searchByUsername\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(accountId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:19\n \n \n\n\n \n \n Finds an account by user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the user id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[] | ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[] | ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getObjectReference\n \n \n \n \n \n \ngetObjectReference(entityName: EntityName, id: Primary | Primary[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:36\n \n \n\n \n \n Type parameters :\n \n Entity\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n EntityName\n \n\n \n No\n \n\n\n \n \n id\n \n Primary | Primary[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Entity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n searchByUsername\n \n \n \n \n \n \n \n searchByUsername(username: string, offset: number, limit: number, exactMatch: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n exactMatch\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { AnyEntity, EntityName, Primary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity/account.entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class AccountRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Account;\n\t}\n\n\t/**\n\t * Finds an account by user id.\n\t * @param userId the user id\n\t */\n\tasync findByUserId(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[] | ObjectId[]): Promise {\n\t\tconst objectIds = userIds.map((id: EntityId | ObjectId) => new ObjectId(id));\n\t\treturn this._em.find(Account, { userId: objectIds });\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOneOrFail(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { username, systemId: new ObjectId(systemId) });\n\t}\n\n\tgetObjectReference>(\n\t\tentityName: EntityName,\n\t\tid: Primary | Primary[]\n\t): Entity {\n\t\treturn this._em.getReference(entityName, id);\n\t}\n\n\tsaveWithoutFlush(account: Account): void {\n\t\tthis._em.persist(account);\n\t}\n\n\tasync flush(): Promise {\n\t\tawait this._em.flush();\n\t}\n\n\tasync searchByUsernameExactMatch(username: string, skip = 0, limit = 1): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, true);\n\t}\n\n\tasync searchByUsernamePartialMatch(username: string, skip = 0, limit = 10): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, false);\n\t}\n\n\tasync deleteById(accountId: EntityId | ObjectId): Promise {\n\t\tconst account = await this.findById(accountId);\n\t\treturn this.delete(account);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst account = await this.findByUserId(userId);\n\t\tif (account) {\n\t\t\tawait this._em.removeAndFlush(account);\n\t\t}\n\t}\n\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\tconst result = await this._em.find(this.entityName, {}, { offset, limit, orderBy: { _id: SortOrder.asc } });\n\t\tthis._em.clear();\n\t\treturn result;\n\t}\n\n\tprivate async searchByUsername(\n\t\tusername: string,\n\t\toffset: number,\n\t\tlimit: number,\n\t\texactMatch: boolean\n\t): Promise {\n\t\t// escapes every character, that's not a unicode letter or number\n\t\tconst escapedUsername = username.replace(/[^(\\p{L}\\p{N})]/gu, '\\\\$&');\n\t\tconst searchUsername = exactMatch ? `^${escapedUsername}$` : escapedUsername;\n\t\treturn this._em.findAndCount(\n\t\t\tthis.entityName,\n\t\t\t{\n\t\t\t\t// NOTE: The default behavior of the MongoDB driver allows\n\t\t\t\t// to pass regular expressions directly into the where clause\n\t\t\t\t// without the need of using the $re operator, this will NOT\n\t\t\t\t// work with SQL drivers\n\t\t\t\tusername: new RegExp(searchUsername, 'i'),\n\t\t\t},\n\t\t\t{\n\t\t\t\toffset,\n\t\t\t\tlimit,\n\t\t\t\torderBy: { username: 1 },\n\t\t\t}\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponse.html":{"url":"classes/AccountResponse.html","title":"class - AccountResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n id\n \n \n \n Optional\n updatedAt\n \n \n \n Optional\n userId\n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: AccountResponse)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n AccountResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountResponse {\n\tconstructor({ id, username, userId, activated, updatedAt }: AccountResponse) {\n\t\tthis.id = id;\n\t\tthis.username = username;\n\t\tthis.userId = userId;\n\t\tthis.activated = activated;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tusername: string;\n\n\t@ApiProperty()\n\tuserId?: string;\n\n\t@ApiProperty()\n\tactivated?: boolean;\n\n\t@ApiProperty()\n\tupdatedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponseMapper.html":{"url":"classes/AccountResponseMapper.html","title":"class - AccountResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n \n \n \n mapToResponseFromEntity(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto/account.dto';\nimport { Account } from '@shared/domain/entity';\nimport { AccountResponse } from '../controller/dto';\n\nexport class AccountResponseMapper {\n\tstatic mapToResponseFromEntity(account: Account): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToResponse(account: AccountDto): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId,\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSaveDto.html":{"url":"classes/AccountSaveDto.html","title":"class - AccountSaveDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSaveDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account-save.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n \n Readonly\n Optional\n id\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountSaveDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountSaveDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PrivacyProtect } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { IsBoolean, IsDate, IsMongoId, IsNotEmpty, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from '../../controller/dto/password-pattern';\n\nexport class AccountSaveDto {\n\t@IsOptional()\n\t@IsMongoId()\n\treadonly id?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly createdAt?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly updatedAt?: Date;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tusername: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsString()\n\ttoken?: string;\n\n\t@IsOptional()\n\t@IsString()\n\tcredentialHash?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tuserId?: EntityId;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tsystemId?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\tlasttriedFailedLogin?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\texpiresAt?: Date;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tactivated?: boolean;\n\n\t@IsOptional()\n\tidmReferenceId?: string;\n\n\tconstructor(props: AccountSaveDto) {\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t\tthis.idmReferenceId = props.idmReferenceId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchListResponse.html":{"url":"classes/AccountSearchListResponse.html","title":"class - AccountSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n AccountResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : AccountResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { AccountResponse } from './account.response';\n\nexport class AccountSearchListResponse extends PaginationResponse {\n\tconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [AccountResponse] })\n\tdata: AccountResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchQueryParams.html":{"url":"classes/AccountSearchQueryParams.html","title":"class - AccountSearchQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search.query.params.ts\n \n\n\n\n \n Extends\n \n \n PaginationParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n value\n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : AccountSearchType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(AccountSearchType)@ApiProperty({description: 'The search criteria.', enum: AccountSearchType, required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The search value.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsString } from 'class-validator';\nimport { PaginationParams } from '@shared/controller';\nimport { AccountSearchType } from './account-search-type';\n\nexport class AccountSearchQueryParams extends PaginationParams {\n\t@IsEnum(AccountSearchType)\n\t@ApiProperty({\n\t\tdescription: 'The search criteria.',\n\t\tenum: AccountSearchType,\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttype!: AccountSearchType;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The search value.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tvalue!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountServiceDb.html":{"url":"injectables/AccountServiceDb.html","title":"injectable - AccountServiceDb","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountServiceDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-db.service.ts\n \n\n\n\n \n Extends\n \n \n AbstractAccountService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n deleteByUserId\n \n \n Private\n encryptPassword\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Private\n Async\n getInternalId\n \n \n Async\n save\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n Async\n updateLastTriedFailedLogin\n \n \n Async\n updatePassword\n \n \n Async\n updateUsername\n \n \n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, accountLookupService: AccountLookupService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n accountLookupService\n \n \n AccountLookupService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:109\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n encryptPassword\n \n \n \n \n \n \n \n encryptPassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:147\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:48\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:123\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:92\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validatePassword\n \n \n \n \n \n \nvalidatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Account } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport bcrypt from 'bcryptjs';\nimport { AccountEntityToDtoMapper } from '../mapper';\nimport { AccountRepo } from '../repo/account.repo';\nimport { AccountLookupService } from './account-lookup.service';\nimport { AbstractAccountService } from './account.service.abstract';\nimport { AccountDto, AccountSaveDto } from './dto';\n\n@Injectable()\nexport class AccountServiceDb extends AbstractAccountService {\n\tconstructor(private readonly accountRepo: AccountRepo, private readonly accountLookupService: AccountLookupService) {\n\t\tsuper();\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\tconst accountEntity = await this.accountRepo.findById(internalId);\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[]): Promise {\n\t\tconst accountEntities = await this.accountRepo.findMultipleByUserId(userIds);\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(accountEntities);\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\tif (!accountEntity) {\n\t\t\tthrow new EntityNotFoundError('Account');\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUsernameAndSystemId(username, systemId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync save(accountDto: AccountSaveDto): Promise {\n\t\tlet account: Account;\n\t\tif (accountDto.id) {\n\t\t\tconst internalId = await this.getInternalId(accountDto.id);\n\t\t\taccount = await this.accountRepo.findById(internalId);\n\t\t\taccount.userId = new ObjectId(accountDto.userId);\n\t\t\taccount.systemId = accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined;\n\t\t\taccount.username = accountDto.username;\n\t\t\taccount.activated = accountDto.activated;\n\t\t\taccount.expiresAt = accountDto.expiresAt;\n\t\t\taccount.lasttriedFailedLogin = accountDto.lasttriedFailedLogin;\n\t\t\tif (accountDto.password) {\n\t\t\t\taccount.password = await this.encryptPassword(accountDto.password);\n\t\t\t}\n\t\t\taccount.credentialHash = accountDto.credentialHash;\n\t\t\taccount.token = accountDto.token;\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t} else {\n\t\t\taccount = new Account({\n\t\t\t\tuserId: new ObjectId(accountDto.userId),\n\t\t\t\tsystemId: accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined,\n\t\t\t\tusername: accountDto.username,\n\t\t\t\tactivated: accountDto.activated,\n\t\t\t\texpiresAt: accountDto.expiresAt,\n\t\t\t\tlasttriedFailedLogin: accountDto.lasttriedFailedLogin,\n\t\t\t\tpassword: accountDto.password ? await this.encryptPassword(accountDto.password) : undefined,\n\t\t\t\ttoken: accountDto.token,\n\t\t\t\tcredentialHash: accountDto.credentialHash,\n\t\t\t});\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateUsername(accountId: EntityId, username: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.username = username;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.lasttriedFailedLogin = lastTriedFailedLogin;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updatePassword(accountId: EntityId, password: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.password = await this.encryptPassword(password);\n\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync delete(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\treturn this.accountRepo.deleteById(internalId);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.accountRepo.deleteByUserId(userId);\n\t}\n\n\tasync searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernamePartialMatch(userName, skip, limit);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tasync searchByUsernameExactMatch(userName: string): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernameExactMatch(userName);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tvalidatePassword(account: AccountDto, comparePassword: string): Promise {\n\t\tif (!account.password) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\t\treturn bcrypt.compare(comparePassword, account.password);\n\t}\n\n\tprivate async getInternalId(id: EntityId | ObjectId): Promise {\n\t\tconst internalId = await this.accountLookupService.getInternalId(id);\n\t\tif (!internalId) {\n\t\t\tthrow new EntityNotFoundError(`Account with id ${id.toString()} not found`);\n\t\t}\n\t\treturn internalId;\n\t}\n\n\tprivate encryptPassword(password: string): Promise {\n\t\treturn bcrypt.hash(password, 10);\n\t}\n\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(await this.accountRepo.findMany(offset, limit));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountValidationService.html":{"url":"injectables/AccountValidationService.html","title":"injectable - AccountValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n Async\n isUniqueEmailForAccount\n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n \n \n \n \n \n isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForAccount\n \n \n \n \n \n \n \n isUniqueEmailForAccount(email: string, accountId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n \n \n \n isUniqueEmailForUser(email: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { AccountEntityToDtoMapper } from '../mapper/account-entity-to-dto.mapper';\nimport { AccountRepo } from '../repo/account.repo';\n\n@Injectable()\nexport class AccountValidationService {\n\tconstructor(private accountRepo: AccountRepo, private userRepo: UserRepo) {}\n\n\tasync isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId): Promise {\n\t\tconst [foundUsers, [accounts]] = await Promise.all([\n\t\t\t// Test coverage: Missing branch null check; unreachable\n\t\t\tthis.userRepo.findByEmail(email),\n\t\t\tAccountEntityToDtoMapper.mapSearchResult(await this.accountRepo.searchByUsernameExactMatch(email)),\n\t\t]);\n\n\t\tconst filteredAccounts = accounts.filter((foundAccount) => foundAccount.systemId === systemId);\n\n\t\treturn !(\n\t\t\tfoundUsers.length > 1 ||\n\t\t\tfilteredAccounts.length > 1 ||\n\t\t\t// paranoid 'toString': legacy code may call userId or accountId as ObjectID\n\t\t\t(foundUsers.length === 1 && foundUsers[0].id.toString() !== userId?.toString()) ||\n\t\t\t(filteredAccounts.length === 1 && filteredAccounts[0].id.toString() !== accountId?.toString())\n\t\t);\n\t}\n\n\tasync isUniqueEmailForUser(email: string, userId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findByUserId(userId);\n\t\treturn this.isUniqueEmail(email, userId, account?.id, account?.systemId?.toString());\n\t}\n\n\tasync isUniqueEmailForAccount(email: string, accountId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findById(accountId);\n\t\treturn this.isUniqueEmail(email, account.userId?.toString(), account.id, account?.systemId?.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerModule.html":{"url":"modules/AdminApiServerModule.html","title":"module - AdminApiServerModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerModule\n\n\n\ncluster_AdminApiServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerModule\n\nAdminApiServerModule\n\nAdminApiServerModule -->\n\nDeletionApiModule->AdminApiServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerModule -->\n\nLoggerModule->AdminApiServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nAdminApiServerModule -->\n\nRabbitMQWrapperModule->AdminApiServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n \n \n \n\n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerTestModule.html":{"url":"modules/AdminApiServerTestModule.html","title":"module - AdminApiServerTestModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerTestModule\n\n\n\ncluster_AdminApiServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule -->\n\nDeletionApiModule->AdminApiServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerTestModule -->\n\nLoggerModule->AdminApiServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nAdminApiServerTestModule -->\n\nMongoMemoryDatabaseModule->AdminApiServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nAdminApiServerTestModule -->\n\nRabbitMQWrapperTestModule->AdminApiServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/admin-api.server.module.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AdminIdAndToken.html":{"url":"interfaces/AdminIdAndToken.html","title":"interface - AdminIdAndToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AdminIdAndToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxGetQueryParams.html":{"url":"classes/AjaxGetQueryParams.html","title":"class - AjaxGetQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxGetQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxGetQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AjaxPostBodyParamsTransformPipe.html":{"url":"injectables/AjaxPostBodyParamsTransformPipe.html","title":"injectable - AjaxPostBodyParamsTransformPipe","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AjaxPostBodyParamsTransformPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts\n \n\n\n \n Description\n \n \n This transform pipe allows nest to validate the incoming request.\nSince H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n transform\n \n \n \n \n \n \n \n transform(value: AjaxPostBodyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, PipeTransform, ValidationPipe } from '@nestjs/common';\nimport { plainToClass } from 'class-transformer';\nimport { validate } from 'class-validator';\nimport {\n\tAjaxPostBodyParams,\n\tLibrariesBodyParams,\n\tContentBodyParams,\n\tLibraryParametersBodyParams,\n} from './post.body.params';\n\n/**\n * This transform pipe allows nest to validate the incoming request.\n * Since H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n */\n\n@Injectable()\nexport class AjaxPostBodyParamsTransformPipe implements PipeTransform {\n\tasync transform(value: AjaxPostBodyParams): Promise {\n\t\tif (value === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif ('libraries' in value) {\n\t\t\tvalue = plainToClass(LibrariesBodyParams, value);\n\t\t} else if ('contentId' in value) {\n\t\t\tvalue = plainToClass(ContentBodyParams, value);\n\t\t} else if ('libraryParameters' in value) {\n\t\t\tvalue = plainToClass(LibraryParametersBodyParams, value);\n\t\t}\n\n\t\tconst validationResult = await validate(value);\n\t\tif (validationResult.length > 0) {\n\t\t\tconst validationPipe = new ValidationPipe();\n\t\t\tconst exceptionFactory = validationPipe.createExceptionFactory();\n\t\t\tthrow exceptionFactory(validationResult);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxPostQueryParams.html":{"url":"classes/AjaxPostQueryParams.html","title":"class - AjaxPostQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxPostQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n id\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxPostQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tid?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AntivirusModule.html":{"url":"modules/AntivirusModule.html","title":"module - AntivirusModule","body":"\n \n\n\n\n\n Modules\n AntivirusModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AntivirusModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.module.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AntivirusModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport NodeClam from 'clamscan';\nimport { AntivirusService } from './antivirus.service';\nimport { AntivirusModuleOptions } from './interfaces';\n\n@Module({})\nexport class AntivirusModule {\n\tstatic forRoot(options: AntivirusModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AntivirusModule,\n\t\t\tproviders: [\n\t\t\t\tAntivirusService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ANTIVIRUS_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: {\n\t\t\t\t\t\tenabled: options.enabled,\n\t\t\t\t\t\tfilesServiceBaseUrl: options.filesServiceBaseUrl,\n\t\t\t\t\t\texchange: options.exchange,\n\t\t\t\t\t\troutingKey: options.routingKey,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tprovide: NodeClam,\n\t\t\t\t\tuseFactory: () => {\n\t\t\t\t\t\tconst isLocalhost = options.hostname === 'localhost';\n\n\t\t\t\t\t\treturn new NodeClam().init({\n\t\t\t\t\t\t\tdebugMode: isLocalhost,\n\t\t\t\t\t\t\tclamdscan: {\n\t\t\t\t\t\t\t\thost: options.hostname,\n\t\t\t\t\t\t\t\tport: options.port,\n\t\t\t\t\t\t\t\tbypassTest: true,\n\t\t\t\t\t\t\t\tlocalFallback: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\n\t\t\texports: [AntivirusService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusModuleOptions.html":{"url":"interfaces/AntivirusModuleOptions.html","title":"interface - AntivirusModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n hostname\n \n \n \n \n port\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostname\n \n \n \n \n \n \n \n \n hostname: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AntivirusService.html":{"url":"injectables/AntivirusService.html","title":"injectable - AntivirusService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AntivirusService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n Private\n getUrl\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: AntivirusServiceOptions, clamConnection: NodeClam)\n \n \n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n AntivirusServiceOptions\n \n \n \n No\n \n \n \n \n clamConnection\n \n \n NodeClam\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n \n \n \n \n \n checkStream(stream: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUrl\n \n \n \n \n \n \n \n getUrl(path: string, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(requestToken: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestToken\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { API_VERSION_PATH, FilesStorageInternalActions } from '@modules/files-storage/files-storage.const';\nimport NodeClam from 'clamscan';\nimport { Readable } from 'stream';\nimport { AntivirusServiceOptions, ScanResult } from './interfaces';\n\n@Injectable()\nexport class AntivirusService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('ANTIVIRUS_SERVICE_OPTIONS') private readonly options: AntivirusServiceOptions,\n\t\tprivate readonly clamConnection: NodeClam\n\t) {}\n\n\tpublic async checkStream(stream: Readable) {\n\t\tconst scanResult: ScanResult = {\n\t\t\tvirus_detected: undefined,\n\t\t\tvirus_signature: undefined,\n\t\t\terror: undefined,\n\t\t};\n\t\ttry {\n\t\t\tconst { isInfected, viruses } = await this.clamConnection.scanStream(stream);\n\t\t\tif (isInfected === true) {\n\t\t\t\tscanResult.virus_detected = true;\n\t\t\t\tscanResult.virus_signature = viruses.join(',');\n\t\t\t} else if (isInfected === null) {\n\t\t\t\tscanResult.virus_detected = undefined;\n\t\t\t\tscanResult.error = '';\n\t\t\t} else {\n\t\t\t\tscanResult.virus_detected = false;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\tnull,\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:checkStream')\n\t\t\t);\n\t\t}\n\n\t\treturn scanResult;\n\t}\n\n\tpublic async send(requestToken: string | undefined): Promise {\n\t\ttry {\n\t\t\tif (this.options.enabled && requestToken) {\n\t\t\t\tconst downloadUri = this.getUrl(FilesStorageInternalActions.downloadBySecurityToken, requestToken);\n\t\t\t\tconst callbackUri = this.getUrl(FilesStorageInternalActions.updateSecurityStatus, requestToken);\n\n\t\t\t\tawait this.amqpConnection.publish(\n\t\t\t\t\tthis.options.exchange,\n\t\t\t\t\tthis.options.routingKey,\n\t\t\t\t\t{ download_uri: downloadUri, callback_uri: callbackUri },\n\t\t\t\t\t{ persistent: true }\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:send'));\n\t\t}\n\t}\n\n\tprivate getUrl(path: string, token: string): string {\n\t\tconst newPath = path.replace(':token', encodeURIComponent(token));\n\t\tconst url = new URL(`${API_VERSION_PATH}${newPath}`, this.options.filesServiceBaseUrl);\n\n\t\treturn url.href;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusServiceOptions.html":{"url":"interfaces/AntivirusServiceOptions.html","title":"interface - AntivirusServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationError.html":{"url":"classes/ApiValidationError.html","title":"class - ApiValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/api-validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/error/api-validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus, ValidationError } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ApiValidationError extends BusinessError {\n\tconstructor(readonly validationErrors: ValidationError[] = []) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'API_VALIDATION_ERROR',\n\t\t\t\ttitle: 'API Validation Error',\n\t\t\t\tdefaultMessage: 'API validation failed, see validationErrors for details',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationErrorResponse.html":{"url":"classes/ApiValidationErrorResponse.html","title":"class - ApiValidationErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/api-validation-error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for api validation errors.\n\n \n\n \n Extends\n \n \n ErrorResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n validationErrors\n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(apiValidationError: ApiValidationError)\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n apiValidationError\n \n \n ApiValidationError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n validationErrors\n \n \n \n \n \n \n Type : ValidationErrorDetailResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:25\n\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:30\n\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:20\n\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:15\n\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:10\n\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n \n \n \n extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[])\n \n \n\n\n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n validationError\n \n ValidationError\n \n\n \n No\n \n\n \n \n\n \n \n parentPropertyPath\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { ErrorResponse } from './error.response';\nimport { ValidationErrorDetailResponse } from './validation-error-detail.response';\n\n/**\n * HTTP response definition for api validation errors.\n */\nexport class ApiValidationErrorResponse extends ErrorResponse {\n\tvalidationErrors: ValidationErrorDetailResponse[] = [];\n\n\tconstructor(apiValidationError: ApiValidationError) {\n\t\tconst { type, title, message, code } = apiValidationError;\n\t\tsuper(type, title, message, code);\n\n\t\tapiValidationError.validationErrors.forEach((validationError: ValidationError) => {\n\t\t\tthis.extractValidationErrorDetails(validationError);\n\t\t});\n\t}\n\n\tprivate extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[] = []): void {\n\t\tconst propertyPath: string[] = [...parentPropertyPath];\n\t\tif (validationError.property) {\n\t\t\tpropertyPath.push(validationError.property);\n\t\t}\n\n\t\tif (validationError.constraints) {\n\t\t\tconst errors: string[] = Object.values(validationError.constraints);\n\t\t\tthis.validationErrors.push(new ValidationErrorDetailResponse(propertyPath, errors));\n\t\t}\n\n\t\tif (validationError.children) {\n\t\t\tvalidationError.children.forEach((childError: ValidationError) =>\n\t\t\t\tthis.extractValidationErrorDetails(childError, propertyPath)\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppStartInfo.html":{"url":"interfaces/AppStartInfo.html","title":"interface - AppStartInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppStartInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n appName\n \n \n \n Optional\n \n basePath\n \n \n \n Optional\n \n mountsDescription\n \n \n \n Optional\n \n port\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n appName\n \n \n \n \n \n \n \n \n appName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n basePath\n \n \n \n \n \n \n \n \n basePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mountsDescription\n \n \n \n \n \n \n \n \n mountsDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppStartLoggable.html":{"url":"classes/AppStartLoggable.html","title":"class - AppStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(info: AppStartInfo)\n \n \n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n \n AppStartInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppendedAttachment.html":{"url":"interfaces/AppendedAttachment.html","title":"interface - AppendedAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppendedAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthCodeFailureLoggableException.html":{"url":"classes/AuthCodeFailureLoggableException.html","title":"class - AuthCodeFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthCodeFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(errorCode?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorCode\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class AuthCodeFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly errorCode?: string) {\n\t\tsuper(errorCode ?? 'sso_auth_code_step', 'Authorization Query Object has no authorization code or error');\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_AUTH_CODE_STEP',\n\t\t\tmessage: 'Authorization Query Object has no authorization code or error',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\terrorCode: this.errorCode,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationApiModule.html":{"url":"modules/AuthenticationApiModule.html","title":"module - AuthenticationApiModule","body":"\n \n\n\n\n\n Modules\n AuthenticationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationApiModule\n\n\n\ncluster_AuthenticationApiModule_providers\n\n\n\ncluster_AuthenticationApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nAuthenticationApiModule -->\n\nAuthenticationModule->AuthenticationApiModule\n\n\n\n\n\nLoginUc\n\nLoginUc\n\nAuthenticationApiModule -->\n\nLoginUc->AuthenticationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LoginUc\n \n \n \n \n Controllers\n \n \n LoginController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthenticationModule } from './authentication.module';\nimport { LoginController } from './controllers/login.controller';\nimport { LoginUc } from './uc/login.uc';\n\n@Module({\n\timports: [AuthenticationModule],\n\tproviders: [LoginUc],\n\tcontrollers: [LoginController],\n\texports: [],\n})\nexport class AuthenticationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationCodeGrantTokenRequest.html":{"url":"classes/AuthenticationCodeGrantTokenRequest.html","title":"class - AuthenticationCodeGrantTokenRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationCodeGrantTokenRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n client_id\n \n \n client_secret\n \n \n code\n \n \n grant_type\n \n \n redirect_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationCodeGrantTokenRequest)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationCodeGrantTokenRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n grant_type\n \n \n \n \n \n \n Type : OAuthGrantType.AUTHORIZATION_CODE_GRANT\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n redirect_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OAuthGrantType } from '../../interface/oauth-grant-type.enum';\n\nexport class AuthenticationCodeGrantTokenRequest {\n\tclient_id: string;\n\n\tclient_secret: string;\n\n\tredirect_uri: string;\n\n\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT;\n\n\tcode: string;\n\n\tconstructor(props: AuthenticationCodeGrantTokenRequest) {\n\t\tthis.client_id = props.client_id;\n\t\tthis.client_secret = props.client_secret;\n\t\tthis.redirect_uri = props.redirect_uri;\n\t\tthis.grant_type = props.grant_type;\n\t\tthis.code = props.code;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationModule.html":{"url":"modules/AuthenticationModule.html","title":"module - AuthenticationModule","body":"\n \n\n\n\n\n Modules\n AuthenticationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationModule\n\n\n\ncluster_AuthenticationModule_imports\n\n\n\ncluster_AuthenticationModule_providers\n\n\n\ncluster_AuthenticationModule_exports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nAuthenticationModule -->\n\nAccountModule->AuthenticationModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nAuthenticationModule -->\n\nCacheWrapperModule->AuthenticationModule\n\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nAuthenticationModule -->\n\nIdentityManagementModule->AuthenticationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthenticationModule -->\n\nLoggerModule->AuthenticationModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nAuthenticationModule -->\n\nOauthModule->AuthenticationModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nAuthenticationModule -->\n\nRoleModule->AuthenticationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nAuthenticationModule -->\n\nSystemModule->AuthenticationModule\n\n\n\n\n\nAuthenticationService \n\nAuthenticationService \n\nAuthenticationService -->\n\nAuthenticationModule->AuthenticationService \n\n\n\n\n\nAuthenticationService\n\nAuthenticationService\n\nAuthenticationModule -->\n\nAuthenticationService->AuthenticationModule\n\n\n\n\n\nJwtStrategy\n\nJwtStrategy\n\nAuthenticationModule -->\n\nJwtStrategy->AuthenticationModule\n\n\n\n\n\nJwtValidationAdapter\n\nJwtValidationAdapter\n\nAuthenticationModule -->\n\nJwtValidationAdapter->AuthenticationModule\n\n\n\n\n\nLdapService\n\nLdapService\n\nAuthenticationModule -->\n\nLdapService->AuthenticationModule\n\n\n\n\n\nLdapStrategy\n\nLdapStrategy\n\nAuthenticationModule -->\n\nLdapStrategy->AuthenticationModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthenticationModule -->\n\nLegacySchoolRepo->AuthenticationModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAuthenticationModule -->\n\nLegacySystemRepo->AuthenticationModule\n\n\n\n\n\nLocalStrategy\n\nLocalStrategy\n\nAuthenticationModule -->\n\nLocalStrategy->AuthenticationModule\n\n\n\n\n\nOauth2Strategy\n\nOauth2Strategy\n\nAuthenticationModule -->\n\nOauth2Strategy->AuthenticationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthenticationModule -->\n\nUserRepo->AuthenticationModule\n\n\n\n\n\nXApiKeyStrategy\n\nXApiKeyStrategy\n\nAuthenticationModule -->\n\nXApiKeyStrategy->AuthenticationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthenticationService\n \n \n JwtStrategy\n \n \n JwtValidationAdapter\n \n \n LdapService\n \n \n LdapStrategy\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n LocalStrategy\n \n \n Oauth2Strategy\n \n \n UserRepo\n \n \n XApiKeyStrategy\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n CacheWrapperModule\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n \n \n Exports\n \n \n AuthenticationService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { AccountModule } from '@modules/account';\nimport { OauthModule } from '@modules/oauth/oauth.module';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system';\nimport { Module } from '@nestjs/common';\nimport { JwtModule, JwtModuleOptions } from '@nestjs/jwt';\nimport { PassportModule } from '@nestjs/passport';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { Algorithm, SignOptions } from 'jsonwebtoken';\nimport { jwtConstants } from './constants';\nimport { AuthenticationService } from './services/authentication.service';\nimport { LdapService } from './services/ldap.service';\nimport { JwtValidationAdapter } from './strategy/jwt-validation.adapter';\nimport { JwtStrategy } from './strategy/jwt.strategy';\nimport { LdapStrategy } from './strategy/ldap.strategy';\nimport { LocalStrategy } from './strategy/local.strategy';\nimport { Oauth2Strategy } from './strategy/oauth2.strategy';\nimport { XApiKeyStrategy } from './strategy/x-api-key.strategy';\n\n// values copied from Algorithm definition. Type does not exist at runtime and can't be checked anymore otherwise\nconst algorithms = [\n\t'HS256',\n\t'HS384',\n\t'HS512',\n\t'RS256',\n\t'RS384',\n\t'RS512',\n\t'ES256',\n\t'ES384',\n\t'ES512',\n\t'PS256',\n\t'PS384',\n\t'PS512',\n\t'none',\n];\n\nif (!algorithms.includes(jwtConstants.jwtOptions.algorithm)) {\n\tthrow new Error(`${jwtConstants.jwtOptions.algorithm} is not a valid JWT signing algorithm`);\n}\nconst signAlgorithm = jwtConstants.jwtOptions.algorithm as Algorithm;\n\nconst signOptions: SignOptions = {\n\talgorithm: signAlgorithm,\n\taudience: jwtConstants.jwtOptions.audience,\n\texpiresIn: jwtConstants.jwtOptions.expiresIn,\n\tissuer: jwtConstants.jwtOptions.issuer,\n\theader: { ...jwtConstants.jwtOptions.header, alg: signAlgorithm },\n};\nconst jwtModuleOptions: JwtModuleOptions = {\n\tsecret: jwtConstants.secret,\n\tsignOptions,\n\tverifyOptions: signOptions,\n};\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tPassportModule,\n\t\tJwtModule.register(jwtModuleOptions),\n\t\tAccountModule,\n\t\tSystemModule,\n\t\tOauthModule,\n\t\tRoleModule,\n\t\tIdentityManagementModule,\n\t\tCacheWrapperModule,\n\t],\n\tproviders: [\n\t\tJwtStrategy,\n\t\tJwtValidationAdapter,\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tLegacySchoolRepo,\n\t\tLocalStrategy,\n\t\tAuthenticationService,\n\t\tLdapService,\n\t\tLdapStrategy,\n\t\tOauth2Strategy,\n\t\tXApiKeyStrategy,\n\t],\n\texports: [AuthenticationService],\n})\nexport class AuthenticationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthenticationResponse.html":{"url":"interfaces/AuthenticationResponse.html","title":"interface - AuthenticationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthenticationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n accessToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthenticationService.html":{"url":"injectables/AuthenticationService.html","title":"injectable - AuthenticationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthenticationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/authentication.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkBrutForce\n \n \n Async\n generateJwt\n \n \n Async\n loadAccount\n \n \n normalizePassword\n \n \n normalizeUsername\n \n \n Async\n removeJwtFromWhitelist\n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtService: JwtService, jwtValidationAdapter: JwtValidationAdapter, accountService: AccountService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtService\n \n \n JwtService\n \n \n \n No\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkBrutForce\n \n \n \n \n \n \ncheckBrutForce(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n generateJwt\n \n \n \n \n \n \n \n generateJwt(user: CreateJwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n CreateJwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizePassword\n \n \n \n \n \n \nnormalizePassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizeUsername\n \n \n \n \n \n \nnormalizeUsername(username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeJwtFromWhitelist\n \n \n \n \n \n \n \n removeJwtFromWhitelist(jwtToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\n// invalid import\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import, can produce dependency cycles\nimport type { ServerConfig } from '@modules/server';\nimport { randomUUID } from 'crypto';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { BruteForceError, UnauthorizedLoggableException } from '../errors';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { JwtValidationAdapter } from '../strategy/jwt-validation.adapter';\nimport { LoginDto } from '../uc/dto';\n\n@Injectable()\nexport class AuthenticationService {\n\tconstructor(\n\t\tprivate readonly jwtService: JwtService,\n\t\tprivate readonly jwtValidationAdapter: JwtValidationAdapter,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\tasync loadAccount(username: string, systemId?: string): Promise {\n\t\tlet account: AccountDto | undefined | null;\n\n\t\tif (systemId) {\n\t\t\taccount = await this.accountService.findByUsernameAndSystemId(username, systemId);\n\t\t} else {\n\t\t\tconst [accounts] = await this.accountService.searchByUsernameExactMatch(username);\n\t\t\taccount = accounts.find((foundAccount) => foundAccount.systemId == null);\n\t\t}\n\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedLoggableException(username, systemId);\n\t\t}\n\n\t\treturn account;\n\t}\n\n\tasync generateJwt(user: CreateJwtPayload): Promise {\n\t\tconst jti = randomUUID();\n\n\t\tconst result: LoginDto = new LoginDto({\n\t\t\taccessToken: this.jwtService.sign(user, {\n\t\t\t\tsubject: user.accountId,\n\t\t\t\tjwtid: jti,\n\t\t\t}),\n\t\t});\n\n\t\tawait this.jwtValidationAdapter.addToWhitelist(user.accountId, jti);\n\n\t\treturn result;\n\t}\n\n\tasync removeJwtFromWhitelist(jwtToken: string): Promise {\n\t\tconst decodedJwt: JwtPayload | null = jwt.decode(jwtToken, { json: true });\n\n\t\tif (decodedJwt && decodedJwt.jti && decodedJwt.accountId && typeof decodedJwt.accountId === 'string') {\n\t\t\tawait this.jwtValidationAdapter.removeFromWhitelist(decodedJwt.accountId, decodedJwt.jti);\n\t\t}\n\t}\n\n\tcheckBrutForce(account: AccountDto): void {\n\t\tif (account.lasttriedFailedLogin) {\n\t\t\tconst timeDifference = (new Date().getTime() - account.lasttriedFailedLogin.getTime()) / 1000;\n\n\t\t\tif (timeDifference ('LOGIN_BLOCK_TIME')) {\n\t\t\t\tconst timeToWait = this.configService.get('LOGIN_BLOCK_TIME') - Math.ceil(timeDifference);\n\t\t\t\tthrow new BruteForceError(timeToWait, `Brute Force Prevention! Time to wait: ${timeToWait} s`);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync updateLastTriedFailedLogin(id: string): Promise {\n\t\tawait this.accountService.updateLastTriedFailedLogin(id, new Date());\n\t}\n\n\tnormalizeUsername(username: string): string {\n\t\treturn username.trim().toLowerCase();\n\t}\n\n\tnormalizePassword(password: string): string {\n\t\treturn password.trim();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationValues.html":{"url":"classes/AuthenticationValues.html","title":"class - AuthenticationValues","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationValues\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/authentication-values.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n keyValue\n \n \n secretValue\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationValues)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationValues\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n keyValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n secretValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class AuthenticationValues {\n\tkeyValue: string;\n\n\tsecretValue: string;\n\n\tconstructor(props: AuthenticationValues) {\n\t\tthis.keyValue = props.keyValue;\n\t\tthis.secretValue = props.secretValue;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizableObject.html":{"url":"interfaces/AuthorizableObject.html","title":"interface - AuthorizableObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizableObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationContext.html":{"url":"interfaces/AuthorizationContext.html","title":"interface - AuthorizationContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n action\n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: Action\n\n \n \n\n\n \n \n Type : Action\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n requiredPermissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action } from './action.enum';\n\nexport interface AuthorizationContext {\n\taction: Action;\n\trequiredPermissions: Permission[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationContextBuilder.html":{"url":"classes/AuthorizationContextBuilder.html","title":"class - AuthorizationContextBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationContextBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n read\n \n \n Static\n write\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requiredPermissions: Permission[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n read\n \n \n \n \n \n \n \n read(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n write\n \n \n \n \n \n \n \n write(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action, AuthorizationContext } from '../type';\n\nexport class AuthorizationContextBuilder {\n\tprivate static build(requiredPermissions: Permission[], action: Action): AuthorizationContext {\n\t\tconst context = { requiredPermissions, action };\n\n\t\treturn context;\n\t}\n\n\tstatic write(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.write);\n\n\t\treturn context;\n\t}\n\n\tstatic read(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.read);\n\n\t\treturn context;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationError.html":{"url":"classes/AuthorizationError.html","title":"class - AuthorizationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/authorization.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/authorization.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class AuthorizationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'AUTHORIZATION_OPERATION',\n\t\t\t\ttitle: 'Authorization Error',\n\t\t\t\tdefaultMessage: message ?? 'The action could not be authorized.',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationHelper.html":{"url":"injectables/AuthorizationHelper.html","title":"injectable - AuthorizationHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasAllPermissionsByRole\n \n \n Public\n hasOneOfPermissions\n \n \n Private\n isUserReferenced\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n \n \n \n \n \n hasAccessToEntity(user: User, entity: T, userRefProps: K[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n userRefProps\n \n K[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissionsByRole\n \n \n \n \n \n \n \n hasAllPermissionsByRole(role: Role, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserReferenced\n \n \n \n \n \n \n \n isUserReferenced(user: User, entity: T, prop: K)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n prop\n \n K\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Collection } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Role, User } from '@shared/domain/entity';\n\n@Injectable()\nexport class AuthorizationHelper {\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tconst usersPermissions = user.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasAllPermissionsByRole(role: Role, requiredPermissions: string[]): boolean {\n\t\tconst permissions = role.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => permissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\t// TODO: Wouldn't it make more sense to return true for an empty permissions-array?\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst permissions = user.resolvePermissions();\n\t\tconst hasPermission = requiredPermissions.some((p) => permissions.includes(p));\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic hasAccessToEntity(user: User, entity: T, userRefProps: K[]): boolean {\n\t\tconst result = userRefProps.some((prop) => this.isUserReferenced(user, entity, prop));\n\n\t\treturn result;\n\t}\n\n\tprivate isUserReferenced(user: User, entity: T, prop: K) {\n\t\tlet result = false;\n\n\t\tconst reference = entity[prop];\n\n\t\tif (reference instanceof Collection) {\n\t\t\tresult = reference.contains(user);\n\t\t} else if (reference instanceof User) {\n\t\t\tresult = reference === user;\n\t\t} else {\n\t\t\tresult = (reference as unknown as string) === user.id;\n\t\t}\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderService.html":{"url":"interfaces/AuthorizationLoaderService.html","title":"interface - AuthorizationLoaderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderServiceGeneric.html":{"url":"interfaces/AuthorizationLoaderServiceGeneric.html","title":"interface - AuthorizationLoaderServiceGeneric","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderServiceGeneric\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n \n Extends\n \n \n AuthorizationLoaderService\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationModule.html":{"url":"modules/AuthorizationModule.html","title":"module - AuthorizationModule","body":"\n \n\n\n\n\n Modules\n AuthorizationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationModule\n\n\n\ncluster_AuthorizationModule_providers\n\n\n\ncluster_AuthorizationModule_exports\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\nSystemRule \n\nSystemRule \n\nSystemRule -->\n\nAuthorizationModule->SystemRule \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationModule -->\n\nAuthorizationHelper->AuthorizationModule\n\n\n\n\n\nAuthorizationService\n\nAuthorizationService\n\nAuthorizationModule -->\n\nAuthorizationService->AuthorizationModule\n\n\n\n\n\nBoardDoRule\n\nBoardDoRule\n\nAuthorizationModule -->\n\nBoardDoRule->AuthorizationModule\n\n\n\n\n\nContextExternalToolRule\n\nContextExternalToolRule\n\nAuthorizationModule -->\n\nContextExternalToolRule->AuthorizationModule\n\n\n\n\n\nCourseGroupRule\n\nCourseGroupRule\n\nAuthorizationModule -->\n\nCourseGroupRule->AuthorizationModule\n\n\n\n\n\nCourseRule\n\nCourseRule\n\nAuthorizationModule -->\n\nCourseRule->AuthorizationModule\n\n\n\n\n\nFeathersAuthProvider\n\nFeathersAuthProvider\n\nAuthorizationModule -->\n\nFeathersAuthProvider->AuthorizationModule\n\n\n\n\n\nFeathersAuthorizationService\n\nFeathersAuthorizationService\n\nAuthorizationModule -->\n\nFeathersAuthorizationService->AuthorizationModule\n\n\n\n\n\nGroupRule\n\nGroupRule\n\nAuthorizationModule -->\n\nGroupRule->AuthorizationModule\n\n\n\n\n\nLegacySchoolRule\n\nLegacySchoolRule\n\nAuthorizationModule -->\n\nLegacySchoolRule->AuthorizationModule\n\n\n\n\n\nLessonRule\n\nLessonRule\n\nAuthorizationModule -->\n\nLessonRule->AuthorizationModule\n\n\n\n\n\nRuleManager\n\nRuleManager\n\nAuthorizationModule -->\n\nRuleManager->AuthorizationModule\n\n\n\n\n\nSchoolExternalToolRule\n\nSchoolExternalToolRule\n\nAuthorizationModule -->\n\nSchoolExternalToolRule->AuthorizationModule\n\n\n\n\n\nSchoolSystemOptionsRule\n\nSchoolSystemOptionsRule\n\nAuthorizationModule -->\n\nSchoolSystemOptionsRule->AuthorizationModule\n\n\n\n\n\nSubmissionRule\n\nSubmissionRule\n\nAuthorizationModule -->\n\nSubmissionRule->AuthorizationModule\n\n\n\n\n\nSystemRule\n\nSystemRule\n\nAuthorizationModule -->\n\nSystemRule->AuthorizationModule\n\n\n\n\n\nTaskRule\n\nTaskRule\n\nAuthorizationModule -->\n\nTaskRule->AuthorizationModule\n\n\n\n\n\nTeamRule\n\nTeamRule\n\nAuthorizationModule -->\n\nTeamRule->AuthorizationModule\n\n\n\n\n\nUserLoginMigrationRule\n\nUserLoginMigrationRule\n\nAuthorizationModule -->\n\nUserLoginMigrationRule->AuthorizationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationModule -->\n\nUserRepo->AuthorizationModule\n\n\n\n\n\nUserRule\n\nUserRule\n\nAuthorizationModule -->\n\nUserRule->AuthorizationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationService\n \n \n BoardDoRule\n \n \n ContextExternalToolRule\n \n \n CourseGroupRule\n \n \n CourseRule\n \n \n FeathersAuthProvider\n \n \n FeathersAuthorizationService\n \n \n GroupRule\n \n \n LegacySchoolRule\n \n \n LessonRule\n \n \n RuleManager\n \n \n SchoolExternalToolRule\n \n \n SchoolSystemOptionsRule\n \n \n SubmissionRule\n \n \n SystemRule\n \n \n TaskRule\n \n \n TeamRule\n \n \n UserLoginMigrationRule\n \n \n UserRepo\n \n \n UserRule\n \n \n \n \n Imports\n \n \n FeathersModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationService\n \n \n FeathersAuthorizationService\n \n \n SystemRule\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersModule } from '@infra/feathers';\nimport { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationHelper, AuthorizationService, RuleManager } from './domain';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSchoolSystemOptionsRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from './domain/rules';\nimport { FeathersAuthorizationService, FeathersAuthProvider } from './feathers';\n\n@Module({\n\timports: [FeathersModule, LoggerModule],\n\tproviders: [\n\t\tFeathersAuthorizationService,\n\t\tFeathersAuthProvider,\n\t\tAuthorizationService,\n\t\tUserRepo,\n\t\tRuleManager,\n\t\tAuthorizationHelper,\n\t\t// rules\n\t\tBoardDoRule,\n\t\tContextExternalToolRule,\n\t\tCourseGroupRule,\n\t\tCourseRule,\n\t\tGroupRule,\n\t\tLessonRule,\n\t\tSchoolExternalToolRule,\n\t\tSubmissionRule,\n\t\tTaskRule,\n\t\tTeamRule,\n\t\tUserRule,\n\t\tUserLoginMigrationRule,\n\t\tLegacySchoolRule,\n\t\tSystemRule,\n\t\tSchoolSystemOptionsRule,\n\t],\n\texports: [FeathersAuthorizationService, AuthorizationService, SystemRule],\n})\nexport class AuthorizationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationParams.html":{"url":"classes/AuthorizationParams.html","title":"class - AuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class AuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tstate!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationReferenceModule.html":{"url":"modules/AuthorizationReferenceModule.html","title":"module - AuthorizationReferenceModule","body":"\n \n\n\n\n\n Modules\n AuthorizationReferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationReferenceModule\n\n\n\ncluster_AuthorizationReferenceModule_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\nLessonModule\n\nLessonModule\n\nAuthorizationReferenceModule -->\n\nLessonModule->AuthorizationReferenceModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationReferenceModule -->\n\nLoggerModule->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService \n\nAuthorizationReferenceService \n\nAuthorizationReferenceService -->\n\nAuthorizationReferenceModule->AuthorizationReferenceService \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationReferenceModule -->\n\nAuthorizationHelper->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService\n\nAuthorizationReferenceService\n\nAuthorizationReferenceModule -->\n\nAuthorizationReferenceService->AuthorizationReferenceModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nAuthorizationReferenceModule -->\n\nCourseGroupRepo->AuthorizationReferenceModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nAuthorizationReferenceModule -->\n\nCourseRepo->AuthorizationReferenceModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthorizationReferenceModule -->\n\nLegacySchoolRepo->AuthorizationReferenceModule\n\n\n\n\n\nReferenceLoader\n\nReferenceLoader\n\nAuthorizationReferenceModule -->\n\nReferenceLoader->AuthorizationReferenceModule\n\n\n\n\n\nSchoolExternalToolRepo\n\nSchoolExternalToolRepo\n\nAuthorizationReferenceModule -->\n\nSchoolExternalToolRepo->AuthorizationReferenceModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nAuthorizationReferenceModule -->\n\nSubmissionRepo->AuthorizationReferenceModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nAuthorizationReferenceModule -->\n\nTaskRepo->AuthorizationReferenceModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nAuthorizationReferenceModule -->\n\nTeamsRepo->AuthorizationReferenceModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationReferenceModule -->\n\nUserRepo->AuthorizationReferenceModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization-reference.module.ts\n \n\n\n\n \n Description\n \n \n This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\nFor now it is used where the authorization itself needs to load data from the database.\nAvoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n\n \n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationReferenceService\n \n \n CourseGroupRepo\n \n \n CourseRepo\n \n \n LegacySchoolRepo\n \n \n ReferenceLoader\n \n \n SchoolExternalToolRepo\n \n \n SubmissionRepo\n \n \n TaskRepo\n \n \n TeamsRepo\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationReferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { ToolModule } from '@modules/tool';\nimport { forwardRef, Module } from '@nestjs/common';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonModule } from '../lesson';\nimport { AuthorizationModule } from './authorization.module';\nimport { AuthorizationHelper, AuthorizationReferenceService, ReferenceLoader } from './domain';\n\n/**\n * This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\n * For now it is used where the authorization itself needs to load data from the database.\n * Avoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n */\n@Module({\n\t// TODO: remove forwardRef to TooModule N21-1055\n\timports: [\n\t\tAuthorizationModule,\n\t\tLessonModule,\n\t\tforwardRef(() => ToolModule),\n\t\tforwardRef(() => BoardModule),\n\t\tLoggerModule,\n\t],\n\tproviders: [\n\t\tAuthorizationHelper,\n\t\tReferenceLoader,\n\t\tUserRepo,\n\t\tCourseRepo,\n\t\tCourseGroupRepo,\n\t\tTaskRepo,\n\t\tLegacySchoolRepo,\n\t\tTeamsRepo,\n\t\tSubmissionRepo,\n\t\tSchoolExternalToolRepo,\n\t\tAuthorizationReferenceService,\n\t],\n\texports: [AuthorizationReferenceService],\n})\nexport class AuthorizationReferenceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationReferenceService.html":{"url":"injectables/AuthorizationReferenceService.html","title":"injectable - AuthorizationReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts\n \n\n\n \n Description\n \n \n Should by use only internal in authorization module. See ticket: BC-3990\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loader: ReferenceLoader, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loader\n \n \n ReferenceLoader\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n \n \n \n \n \n checkPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n \n \n \n hasPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizableReferenceType, AuthorizationContext } from '../type';\nimport { AuthorizationService } from './authorization.service';\nimport { ReferenceLoader } from './reference.loader';\n\n/**\n * Should by use only internal in authorization module. See ticket: BC-3990\n */\n@Injectable()\nexport class AuthorizationReferenceService {\n\tconstructor(private readonly loader: ReferenceLoader, private readonly authorizationService: AuthorizationService) {}\n\n\tpublic async checkPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tif (!(await this.hasPermissionByReferences(userId, entityName, entityId, context))) {\n\t\t\tthrow new ForbiddenLoggableException(userId, entityName, context);\n\t\t}\n\t}\n\n\tpublic async hasPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst [user, object] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.loader.loadAuthorizableObject(entityName, entityId),\n\t\t]);\n\n\t\tconst hasPermission = this.authorizationService.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationService.html":{"url":"injectables/AuthorizationService.html","title":"injectable - AuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n Public\n checkOneOfPermissions\n \n \n Public\n checkPermission\n \n \n Public\n Async\n getUserWithPermissions\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasOneOfPermissions\n \n \n Public\n hasPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ruleManager: RuleManager, authorizationHelper: AuthorizationHelper, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ruleManager\n \n \n RuleManager\n \n \n \n No\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n \n \n \n \n \n checkAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkOneOfPermissions\n \n \n \n \n \n \n \n checkOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkPermission\n \n \n \n \n \n \n \n checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getUserWithPermissions\n \n \n \n \n \n \n \n getUserWithPermissions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizationContext } from '../type';\nimport { AuthorizationHelper } from './authorization.helper';\nimport { RuleManager } from './rule-manager';\n\n@Injectable()\nexport class AuthorizationService {\n\tconstructor(\n\t\tprivate readonly ruleManager: RuleManager,\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tpublic checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): void {\n\t\tif (!this.hasPermission(user, object, context)) {\n\t\t\tthrow new ForbiddenLoggableException(user.id, object.constructor.name, context);\n\t\t}\n\t}\n\n\tpublic hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): boolean {\n\t\tconst rule = this.ruleManager.selectRule(user, object, context);\n\t\tconst hasPermission = rule.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic checkAllPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasAllPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t}\n\n\tpublic checkOneOfPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions);\n\t}\n\n\tpublic async getUserWithPermissions(userId: EntityId): Promise {\n\t\t// replace with service method getUserWithPermissions BC-5069\n\t\tconst userWithPopulatedRoles = await this.userRepo.findById(userId, true);\n\n\t\treturn userWithPopulatedRoles;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextIdStrategy.html":{"url":"injectables/AutoContextIdStrategy.html","title":"injectable - AutoContextIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextIdStrategy implements AutoParameterStrategy {\n\tgetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool): string | undefined {\n\t\treturn contextExternalTool.contextRef.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextNameStrategy.html":{"url":"injectables/AutoContextNameStrategy.html","title":"injectable - AutoContextNameStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextNameStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n Private\n Async\n getCourseValue\n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, contentElementService: ContentElementService, columnBoardService: ColumnBoardService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n \n \n \n \n \n getBoardValue(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCourseValue\n \n \n \n \n \n \n \n getCourseValue(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { AnyContentElementDo, BoardExternalReferenceType, ColumnBoard } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { CustomParameterType, ToolContextType } from '../../../common/enum';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { ParameterTypeNotImplementedLoggableException } from '../../error';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextNameStrategy implements AutoParameterStrategy {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly contentElementService: ContentElementService,\n\t\tprivate readonly columnBoardService: ColumnBoardService\n\t) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tswitch (contextExternalTool.contextRef.type) {\n\t\t\tcase ToolContextType.COURSE: {\n\t\t\t\tconst courseValue: string = await this.getCourseValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn courseValue;\n\t\t\t}\n\t\t\tcase ToolContextType.BOARD_ELEMENT: {\n\t\t\t\tconst boardValue: string | undefined = await this.getBoardValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn boardValue;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new ParameterTypeNotImplementedLoggableException(\n\t\t\t\t\t`${CustomParameterType.AUTO_CONTEXTNAME}/${contextExternalTool.contextRef.type as string}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async getCourseValue(courseId: EntityId): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\n\t\treturn course.name;\n\t}\n\n\tprivate async getBoardValue(elementId: EntityId): Promise {\n\t\tconst element: AnyContentElementDo = await this.contentElementService.findById(elementId);\n\n\t\tconst board: ColumnBoard = await this.columnBoardService.findByDescendant(element);\n\n\t\tif (board.context.type === BoardExternalReferenceType.Course) {\n\t\t\tconst courseName: string = await this.getCourseValue(board.context.id);\n\n\t\t\treturn courseName;\n\t\t}\n\n\t\treturn undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AutoParameterStrategy.html":{"url":"interfaces/AutoParameterStrategy.html","title":"interface - AutoParameterStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AutoParameterStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | Promise | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\n\nexport interface AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | Promise | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolIdStrategy.html":{"url":"injectables/AutoSchoolIdStrategy.html","title":"injectable - AutoSchoolIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolIdStrategy implements AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | undefined {\n\t\treturn schoolExternalTool.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolNumberStrategy.html":{"url":"injectables/AutoSchoolNumberStrategy.html","title":"injectable - AutoSchoolNumberStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolNumberStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolNumberStrategy implements AutoParameterStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolExternalTool.schoolId);\n\n\t\treturn school.officialSchoolNumber;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorFactory.html":{"url":"classes/AxiosErrorFactory.html","title":"class - AxiosErrorFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-error.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withError\n \n \n \n \n \n \nwithError(error)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/axios-error.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { axiosResponseFactory } from '@shared/testing';\nimport { AxiosError, AxiosHeaders } from 'axios';\nimport { Factory } from 'fishery';\n\nclass AxiosErrorFactory extends Factory {\n\twithError(error: unknown): this {\n\t\treturn this.params({\n\t\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST, data: error }),\n\t\t});\n\t}\n}\n\nexport const axiosErrorFactory = AxiosErrorFactory.define(() => {\n\treturn {\n\t\tstatus: HttpStatus.BAD_REQUEST,\n\t\tconfig: { headers: new AxiosHeaders() },\n\t\tisAxiosError: true,\n\t\tcode: HttpStatus.BAD_REQUEST.toString(),\n\t\tmessage: 'Bad Request',\n\t\tname: 'BadRequest',\n\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST }),\n\t\tstack: 'mockStack',\n\t\ttoJSON: () => {\n\t\t\treturn { someJson: 'someJson' };\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorLoggable.html":{"url":"classes/AxiosErrorLoggable.html","title":"class - AxiosErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/axios-error.loggable.ts\n \n\n\n\n \n Extends\n \n \n HttpException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(axiosError: AxiosError, type: string)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n axiosError\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { AxiosError } from 'axios';\n\nexport class AxiosErrorLoggable extends HttpException implements Loggable {\n\tconstructor(private readonly axiosError: AxiosError, protected readonly type: string) {\n\t\tsuper(JSON.stringify(axiosError.response?.data), axiosError.status ?? HttpStatus.INTERNAL_SERVER_ERROR, {\n\t\t\tcause: axiosError.cause,\n\t\t});\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.axiosError.message,\n\t\t\ttype: this.type,\n\t\t\tdata: JSON.stringify(this.axiosError.response?.data),\n\t\t\tstack: this.axiosError.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosResponseImp.html":{"url":"classes/AxiosResponseImp.html","title":"class - AxiosResponseImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosResponseImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-response.factory.ts\n \n\n\n\n\n \n Implements\n \n \n AxiosResponse\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n data\n \n \n headers\n \n \n status\n \n \n statusText\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AxiosResponseProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AxiosResponseProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : InternalAxiosRequestConfig<>\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n headers\n \n \n \n \n \n \n Type : AxiosHeaders\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n statusText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AxiosHeaderValue, AxiosHeaders, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { BaseFactory } from './base.factory';\n\nexport type AxiosHeadersKeyValue = { [key: string]: AxiosHeaderValue };\ntype AxiosResponseProps = {\n\tdata: T;\n\tstatus: number;\n\tstatusText: string;\n\theaders: AxiosHeadersKeyValue;\n\tconfig: InternalAxiosRequestConfig;\n};\n\nclass AxiosResponseImp implements AxiosResponse {\n\tdata: T;\n\n\tstatus: number;\n\n\tstatusText: string;\n\n\theaders: AxiosHeaders;\n\n\tconfig: InternalAxiosRequestConfig;\n\n\tconstructor(props: AxiosResponseProps) {\n\t\tthis.data = props.data;\n\t\tthis.status = props.status;\n\t\tthis.statusText = props.statusText;\n\t\tthis.headers = new AxiosHeaders(props.headers);\n\t\tthis.config = props.config;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const axiosResponseFactory = BaseFactory.define, AxiosResponseProps>(\n\tAxiosResponseImp,\n\t() => {\n\t\treturn {\n\t\t\tdata: '',\n\t\t\tstatus: 200,\n\t\t\tstatusText: '',\n\t\t\theaders: new AxiosHeaders(),\n\t\t\tconfig: { headers: new AxiosHeaders() },\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBBaseMeetingConfig.html":{"url":"classes/BBBBaseMeetingConfig.html","title":"class - BBBBaseMeetingConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBBaseMeetingConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBBaseMeetingConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBBaseMeetingConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class BBBBaseMeetingConfig {\n\tconstructor(config: BBBBaseMeetingConfig) {\n\t\tthis.meetingID = config.meetingID;\n\t}\n\n\tmeetingID: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBBaseResponse.html":{"url":"interfaces/BBBBaseResponse.html","title":"interface - BBBBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-base.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n \n messageKey\n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n messageKey\n \n \n \n \n \n \n \n \n messageKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n returncode: BBBStatus\n\n \n \n\n\n \n \n Type : BBBStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBStatus } from './bbb-status.enum';\n\nexport interface BBBBaseResponse {\n\treturncode: BBBStatus;\n\tmessageKey: string;\n\tmessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfig.html":{"url":"classes/BBBCreateConfig.html","title":"class - BBBCreateConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n Optional\n attendeePW\n \n \n Optional\n guestPolicy\n \n \n Optional\n logoutURL\n \n \n Optional\n meta_bbb-origin-server-name\n \n \n Optional\n moderatorPW\n \n \n Optional\n muteOnStart\n \n \n name\n \n \n Optional\n welcome\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBCreateConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBCreateConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n attendeePW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guestPolicy\n \n \n \n \n \n \n Type : GuestPolicy\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n meta_bbb-origin-server-name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n moderatorPW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n muteOnStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n welcome\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum GuestPolicy {\n\tALWAYS_ACCEPT = 'ALWAYS_ACCEPT',\n\tALWAYS_DENY = 'ALWAYS_DENY',\n\tASK_MODERATOR = 'ASK_MODERATOR',\n}\n\nexport class BBBCreateConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBCreateConfig) {\n\t\tsuper(config);\n\t\tthis.name = config.name;\n\t\tthis.meetingID = config.meetingID;\n\t\tthis.logoutURL = config.logoutURL;\n\t\tthis.welcome = config.welcome;\n\t\tthis.guestPolicy = config.guestPolicy;\n\t\tthis.moderatorPW = config.moderatorPW;\n\t\tthis.attendeePW = config.attendeePW;\n\t\tthis.allowModsToUnmuteUsers = config.allowModsToUnmuteUsers;\n\t\tthis['meta_bbb-origin-server-name'] = config['meta_bbb-origin-server-name'];\n\t}\n\n\tname: string;\n\n\tattendeePW?: string;\n\n\tmoderatorPW?: string;\n\n\tlogoutURL?: string;\n\n\twelcome?: string;\n\n\tguestPolicy?: GuestPolicy;\n\n\tmuteOnStart?: boolean;\n\n\tallowModsToUnmuteUsers?: boolean;\n\n\t'meta_bbb-origin-server-name'?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfigBuilder.html":{"url":"classes/BBBCreateConfigBuilder.html","title":"class - BBBCreateConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n withGuestPolicy\n \n \n withLogoutUrl\n \n \n withMuteOnStart\n \n \n withWelcome\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:26\n\n \n \n\n\n \n \n\n \n Returns : BBBCreateConfig\n\n \n \n \n \n \n \n \n \n \n \n \n withGuestPolicy\n \n \n \n \n \n \nwithGuestPolicy(guestPolicy: GuestPolicy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n guestPolicy\n \n GuestPolicy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLogoutUrl\n \n \n \n \n \n \nwithLogoutUrl(logoutUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withMuteOnStart\n \n \n \n \n \n \nwithMuteOnStart(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withWelcome\n \n \n \n \n \n \nwithWelcome(welcome: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n welcome\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { BBBCreateConfig, BBBRole, GuestPolicy } from '../request';\nimport { Builder } from './builder';\n\nexport class BBBCreateConfigBuilder extends Builder {\n\twithLogoutUrl(logoutUrl: string): BBBCreateConfigBuilder {\n\t\tthis.product.logoutURL = logoutUrl;\n\t\treturn this;\n\t}\n\n\twithWelcome(welcome: string): BBBCreateConfigBuilder {\n\t\tthis.product.welcome = welcome;\n\t\treturn this;\n\t}\n\n\twithGuestPolicy(guestPolicy: GuestPolicy): BBBCreateConfigBuilder {\n\t\tthis.product.guestPolicy = guestPolicy;\n\t\treturn this;\n\t}\n\n\twithMuteOnStart(value: boolean): BBBCreateConfigBuilder {\n\t\tthis.product.muteOnStart = value;\n\t\treturn this;\n\t}\n\n\toverride build(): BBBCreateConfig {\n\t\tthis.product['meta_bbb-origin-server-name'] = Configuration.get('SC_DOMAIN') as string;\n\n\t\t// Deprecated fields from BBB that have to be set to a consistent value, in order to call the create endpoint multiple times without error\n\t\tthis.product.moderatorPW = BBBRole.MODERATOR;\n\t\tthis.product.attendeePW = BBBRole.VIEWER;\n\n\t\tthis.product.allowModsToUnmuteUsers = true;\n\n\t\treturn super.build();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBCreateResponse.html":{"url":"interfaces/BBBCreateResponse.html","title":"interface - BBBCreateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBCreateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-create.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n meetingID\n \n \n \n \n parentMeetingID\n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentMeetingID\n \n \n \n \n \n \n \n \n parentMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBCreateResponse extends BBBBaseResponse {\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tparentMeetingID: string;\n\tcreateTime: number;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\tcreateDate: string;\n\thasUserJoined: boolean;\n\tduration: number;\n\thasBeenForciblyEnded: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfig.html":{"url":"classes/BBBJoinConfig.html","title":"class - BBBJoinConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n fullName\n \n \n Optional\n guest\n \n \n Optional\n redirect\n \n \n role\n \n \n Optional\n userID\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBJoinConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBJoinConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n fullName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guest\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : BBBRole\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum BBBRole {\n\tMODERATOR = 'MODERATOR',\n\tVIEWER = 'VIEWER',\n}\n\nexport class BBBJoinConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBJoinConfig) {\n\t\tsuper(config);\n\t\tthis.fullName = config.fullName;\n\t\tthis.role = config.role;\n\t\tthis.userID = config.userID;\n\t\tthis.guest = config.guest;\n\t\tthis.redirect = config.redirect;\n\t}\n\n\tfullName: string;\n\n\trole: BBBRole;\n\n\tuserID?: string;\n\n\tguest?: boolean;\n\n\tredirect?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfigBuilder.html":{"url":"classes/BBBJoinConfigBuilder.html","title":"class - BBBJoinConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asGuest\n \n \n withRole\n \n \n withUserId\n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asGuest\n \n \n \n \n \n \nasGuest(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(value: BBBRole)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(value: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:8\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBJoinConfig, BBBRole } from '../request/bbb-join.config';\nimport { Builder } from './builder';\n\nexport class BBBJoinConfigBuilder extends Builder {\n\tasGuest(value: boolean): BBBJoinConfigBuilder {\n\t\tthis.product.guest = value;\n\t\treturn this;\n\t}\n\n\twithRole(value: BBBRole): BBBJoinConfigBuilder {\n\t\tthis.product.role = value;\n\t\treturn this;\n\t}\n\n\twithUserId(value: string): BBBJoinConfigBuilder {\n\t\tthis.product.userID = value;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBJoinResponse.html":{"url":"interfaces/BBBJoinResponse.html","title":"interface - BBBJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-join.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n auth_token\n \n \n \n \n meeting_id\n \n \n \n \n session_token\n \n \n \n \n url\n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n auth_token\n \n \n \n \n \n \n \n \n auth_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meeting_id\n \n \n \n \n \n \n \n \n meeting_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_token\n \n \n \n \n \n \n \n \n session_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBJoinResponse extends BBBBaseResponse {\n\tmeeting_id: string;\n\tuser_id: string;\n\tauth_token: string;\n\tsession_token: string;\n\turl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBMeetingInfoResponse.html":{"url":"interfaces/BBBMeetingInfoResponse.html","title":"interface - BBBMeetingInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBMeetingInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-meeting-info.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n attendees\n \n \n \n Optional\n \n breakout\n \n \n \n Optional\n \n breakoutRooms\n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n endTime\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n isBreakout\n \n \n \n \n listenerCount\n \n \n \n \n maxUsers\n \n \n \n \n meetingID\n \n \n \n \n meetingName\n \n \n \n \n metadata\n \n \n \n \n moderatorCount\n \n \n \n \n participantCount\n \n \n \n \n recording\n \n \n \n \n running\n \n \n \n \n startTime\n \n \n \n \n videoCount\n \n \n \n \n voiceBridge\n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attendees\n \n \n \n \n \n \n \n \n attendees: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n breakout\n \n \n \n \n \n \n \n \n breakout: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n breakoutRooms\n \n \n \n \n \n \n \n \n breakoutRooms: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endTime\n \n \n \n \n \n \n \n \n endTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isBreakout\n \n \n \n \n \n \n \n \n isBreakout: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n listenerCount\n \n \n \n \n \n \n \n \n listenerCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxUsers\n \n \n \n \n \n \n \n \n maxUsers: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingName\n \n \n \n \n \n \n \n \n meetingName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n moderatorCount\n \n \n \n \n \n \n \n \n moderatorCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n participantCount\n \n \n \n \n \n \n \n \n participantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recording\n \n \n \n \n \n \n \n \n recording: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n running\n \n \n \n \n \n \n \n \n running: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startTime\n \n \n \n \n \n \n \n \n startTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoCount\n \n \n \n \n \n \n \n \n videoCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n voiceParticipantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBMeetingInfoResponse extends BBBBaseResponse {\n\tmeetingName: string;\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tcreateTime: number;\n\tcreateDate: string;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\trunning: boolean;\n\tduration: number;\n\thasUserJoined: boolean;\n\trecording: boolean;\n\thasBeenForciblyEnded: boolean;\n\tstartTime: number;\n\tendTime: number;\n\tparticipantCount: number;\n\tlistenerCount: number;\n\tvoiceParticipantCount: number;\n\tvideoCount: number;\n\tmaxUsers: number;\n\tmoderatorCount: number;\n\tattendees: {\n\t\tattendee: {\n\t\t\tuserID: string;\n\t\t\tfullName: string;\n\t\t\trole: string;\n\t\t\tisPresenter: boolean;\n\t\t\tisListeningOnly: boolean;\n\t\t\thasJoinedVoice: boolean;\n\t\t\thasVideo: boolean;\n\t\t\tclientType: string;\n\t\t};\n\t}[];\n\tmetadata: unknown;\n\tisBreakout: boolean;\n\tbreakoutRooms?: {\n\t\tbreakout: string;\n\t}[];\n\tbreakout?: {\n\t\tparentMeetingID: string;\n\t\tsequence: number;\n\t\tfreeJoin: boolean;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBResponse.html":{"url":"interfaces/BBBResponse.html","title":"interface - BBBResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n response: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBResponse {\n\tresponse: T;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BBBService.html":{"url":"injectables/BBBService.html","title":"injectable - BBBService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BBBService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n end\n \n \n Protected\n generateChecksum\n \n \n getBbbRequestConfig\n \n \n getMeetingInfo\n \n \n Protected\n getUrl\n \n \n Async\n join\n \n \n Protected\n toParams\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n salt\n \n \n presentationUrl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbSettings: IBbbSettings, httpService: HttpService, converterUtil: ConverterUtil)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbSettings\n \n \n IBbbSettings\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n converterUtil\n \n \n ConverterUtil\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(config: BBBCreateConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:39\n \n \n\n\n \n \n Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBCreateConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n end\n \n \n \n \n \n \nend(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:84\n \n \n\n\n \n \n Ends a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n generateChecksum\n \n \n \n \n \n \n \n generateChecksum(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:136\n \n \n\n\n \n \n Returns a SHA1 encoded checksum for the input parameters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getBbbRequestConfig\n \n \n \n \n \n \ngetBbbRequestConfig(presentationUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n presentationUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMeetingInfo\n \n \n \n \n \n \ngetMeetingInfo(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:107\n \n \n\n\n \n \n Returns information about a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n getUrl\n \n \n \n \n \n \n \n getUrl(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:167\n \n \n\n\n \n \n Builds the url for BBB.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n Name of the BBB api function.\n\n \n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n Parameters for the endpoint.\n\n \n \n \n \n \n \n Returns : string\n\n \n \n A callable url.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(config: BBBJoinConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:72\n \n \n\n\n \n \n Creates a join link to a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBJoinConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The join url\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n toParams\n \n \n \n \n \n \n \n toParams(object: BBBCreateConfig | BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:150\n \n \n\n\n \n \n Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n BBBCreateConfig | BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : URLSearchParams\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n\n \n \n getbaseUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:21\n \n \n\n \n \n \n \n \n \n \n salt\n \n \n\n \n \n getsalt()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:25\n \n \n\n \n \n \n \n \n \n \n presentationUrl\n \n \n\n \n \n getpresentationUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:29\n \n \n\n \n \n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ConverterUtil } from '@shared/common/utils';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosResponse } from 'axios';\nimport crypto from 'crypto';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { BbbSettings, IBbbSettings } from './bbb-settings.interface';\nimport { BBBBaseMeetingConfig, BBBCreateConfig, BBBJoinConfig } from './request';\nimport { BBBBaseResponse, BBBCreateResponse, BBBMeetingInfoResponse, BBBResponse, BBBStatus } from './response';\n\n@Injectable()\nexport class BBBService {\n\tconstructor(\n\t\t@Inject(BbbSettings) private readonly bbbSettings: IBbbSettings,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly converterUtil: ConverterUtil\n\t) {}\n\n\tprotected get baseUrl(): string {\n\t\treturn this.bbbSettings.host;\n\t}\n\n\tprotected get salt(): string {\n\t\treturn this.bbbSettings.salt;\n\t}\n\n\tprotected get presentationUrl(): string {\n\t\treturn this.bbbSettings.presentationUrl;\n\t}\n\n\t/**\n\t * Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\t * @param {BBBCreateConfig} config\n\t * @returns {Promise>}\n\t * @throws {InternalServerErrorException}\n\t */\n\tcreate(config: BBBCreateConfig): Promise> {\n\t\tconst url: string = this.getUrl('create', this.toParams(config));\n\t\tconst conf = { headers: { 'Content-Type': 'application/xml' } };\n\t\tconst data = this.getBbbRequestConfig(this.presentationUrl);\n\t\tconst observable: Observable> = this.httpService.post(url, data, conf);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse>(\n\t\t\t\t\tresp.data\n\t\t\t\t);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:create'));\n\t\t\t});\n\t}\n\n\t// it should be a private method\n\tgetBbbRequestConfig(presentationUrl: string): string {\n\t\tif (presentationUrl === '') return '';\n\t\treturn ``;\n\t}\n\n\t/**\n\t * Creates a join link to a BBB Meeting.\n\t * @param {BBBJoinConfig} config\n\t * @returns {Promise} The join url\n\t * @throws {InternalServerErrorException}\n\t */\n\tasync join(config: BBBJoinConfig): Promise {\n\t\tawait this.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: config.meetingID }));\n\n\t\treturn this.getUrl('join', this.toParams(config));\n\t}\n\n\t/**\n\t * Ends a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {BBBResponse}\n\t * @throws {InternalServerErrorException}\n\t */\n\tend(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('end', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:end'));\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns information about a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {Promise}\n\t * @throws {InternalServerErrorException}\n\t */\n\tgetMeetingInfo(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('getMeetingInfo', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse\n\t\t\t\t>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'BBBService:getMeetingInfo')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\t// should be private\n\t/**\n\t * Returns a SHA1 encoded checksum for the input parameters.\n\t * @param {string} callName\n\t * @param {URLSearchParams} queryParams\n\t * @returns {string}\n\t */\n\tprotected generateChecksum(callName: string, queryParams: URLSearchParams): string {\n\t\tconst queryString: string = queryParams.toString();\n\t\tconst sha = crypto.createHash('sha1');\n\t\tsha.update(callName + queryString + this.salt);\n\t\tconst checksum: string = sha.digest('hex');\n\t\treturn checksum;\n\t}\n\n\t// should be private\n\t/**\n\t * Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\t * @param {object} object\n\t * @returns {URLSearchParams}\n\t */\n\tprotected toParams(object: BBBCreateConfig | BBBBaseMeetingConfig): URLSearchParams {\n\t\tconst params: URLSearchParams = new URLSearchParams();\n\t\tObject.keys(object).forEach((key) => {\n\t\t\tif (key) {\n\t\t\t\tparams.append(key, String(object[key]));\n\t\t\t}\n\t\t});\n\t\treturn params;\n\t}\n\n\t// should be private\n\t/**\n\t * Builds the url for BBB.\n\t * @param callName Name of the BBB api function.\n\t * @param queryParams Parameters for the endpoint.\n\t * @returns {string} A callable url.\n\t */\n\tprotected getUrl(callName: string, queryParams: URLSearchParams): string {\n\t\tconst checksum: string = this.generateChecksum(callName, queryParams);\n\t\tqueryParams.append('checksum', checksum);\n\n\t\tconst url: URL = new URL(this.baseUrl);\n\t\turl.pathname = `/bigbluebutton/api/${callName}`;\n\t\turl.search = queryParams.toString();\n\n\t\treturn url.toString();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDO.html":{"url":"classes/BaseDO.html","title":"class - BaseDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/base.do.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(id?: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export abstract class BaseDO {\n\tid?: string;\n\n\tprotected constructor(id?: string) {\n\t\tthis.id = id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseDORepo.html":{"url":"injectables/BaseDORepo.html","title":"injectable - BaseDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts: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 domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts: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 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: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 id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts: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 id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:92\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, FilterQuery, Primary, RequiredEntityData, Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { BaseEntity, baseEntityProperties } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\n\n@Injectable()\nexport abstract class BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {}\n\n\tabstract get entityName(): EntityName;\n\n\tprotected abstract mapEntityToDO(entity: E): DO;\n\n\tprotected abstract mapDOToEntityProperties(entityDO: DO): EntityData;\n\n\tasync save(domainObject: DO): Promise {\n\t\tconst savedDomainObjects = await this.saveAll([domainObject]);\n\t\treturn savedDomainObjects[0];\n\t}\n\n\tasync saveAll(domainObjects: DO[]): Promise {\n\t\tconst promises = domainObjects.map(async (dob) => this.createOrUpdateEntity(dob));\n\n\t\tconst results = await Promise.all(promises);\n\n\t\tawait this._em.flush();\n\n\t\tconst savedDomainObjects = results.map(({ domainObject, persistedEntity }) =>\n\t\t\tthis.remapProtectedEntityFields(domainObject, persistedEntity)\n\t\t);\n\n\t\treturn savedDomainObjects;\n\t}\n\n\tprivate async createOrUpdateEntity(domainObject: DO): Promise {\n\t\tconst entityData = this.mapDOToEntityProperties(domainObject);\n\t\tthis.removeProtectedEntityFields(entityData);\n\n\t\tconst { entityName } = this;\n\n\t\tconst existingEntity = domainObject.id\n\t\t\t? await this._em.findOneOrFail(entityName, { id: domainObject.id } as FilterQuery)\n\t\t\t: undefined;\n\n\t\tconst persistedEntity = existingEntity\n\t\t\t? this._em.assign(existingEntity, entityData)\n\t\t\t: this._em.create(entityName, entityData as RequiredEntityData);\n\n\t\treturn { domainObject, persistedEntity };\n\t}\n\n\tasync delete(domainObjects: DO[] | DO): Promise {\n\t\tconst ids: Primary[] = Utils.asArray(domainObjects).map((dob) => {\n\t\t\tif (!dob.id) {\n\t\t\t\tthrow new InternalServerErrorException('Cannot delete object without id');\n\t\t\t}\n\t\t\treturn dob.id as Primary;\n\t\t});\n\n\t\tconst entities = ids.map((eid) => this._em.getReference(this.entityName, eid));\n\n\t\tawait this._em.remove(entities).flush();\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/ARC-173 replace with delete(domainObject: DO)\n\t/**\n\t * @deprecated Please use {@link delete} instead\n\t */\n\tasync deleteById(id: EntityId | EntityId[]): Promise {\n\t\tconst ids = Utils.asArray(id) as Primary[];\n\n\t\tconst entities = ids.map((eid) => this._em.getReference(this.entityName, eid));\n\n\t\tawait this._em.remove(entities).flush();\n\n\t\tconst total = ids.length;\n\n\t\treturn total;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: E = await this._em.findOneOrFail(this.entityName, { id } as FilterQuery);\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\t/**\n\t * Ignore base entity properties when updating entity\n\t */\n\tprivate removeProtectedEntityFields(entityData: EntityData) {\n\t\tObject.keys(entityData).forEach((key) => {\n\t\t\tif (baseEntityProperties.includes(key)) {\n\t\t\t\tdelete entityData[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate remapProtectedEntityFields(domainObject: DO, persistedEntity: E) {\n\t\tif (!domainObject.id) {\n\t\t\tdomainObject.id = persistedEntity.id;\n\t\t}\n\t\tif ('createdAt' in domainObject && 'createdAt' in persistedEntity) {\n\t\t\tdomainObject.createdAt = persistedEntity.createdAt;\n\t\t}\n\t\tif ('updatedAt' in domainObject && 'updatedAt' in persistedEntity) {\n\t\t\tdomainObject.updatedAt = persistedEntity.updatedAt;\n\t\t}\n\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 results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDomainObject.html":{"url":"classes/BaseDomainObject.html","title":"class - BaseDomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/base-domain-object.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/interface/base-domain-object.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AuthorizableObject } from '../domain-object';\n\n// idea support for each CRUD action like Actions.read as abstract class, to have a generall interface\n\n/**\n * @deprecated\n */\nexport abstract class BaseDomainObject implements AuthorizableObject {\n\tabstract id: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntity.html":{"url":"classes/BaseEntity.html","title":"class - BaseEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IEntity\n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t[OptionalProps]?: Optional | 'createdAt' | 'updatedAt';\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntityWithTimestamps.html":{"url":"classes/BaseEntityWithTimestamps.html","title":"class - BaseEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n createdAt\n \n \n \n id\n \n \n Optional\n OptionalProps\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n OptionalProps\n \n \n \n \n \n \n Type : Optional | \"createdAt\" | \"updatedAt\"\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property({onUpdate: () => })\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t[OptionalProps]?: Optional | 'createdAt' | 'updatedAt';\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseFactory.html":{"url":"classes/BaseFactory.html","title":"class - BaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/base.factory.ts\n \n\n\n \n Description\n \n \n Entity factory based on thoughtbot/fishery\nhttps://github.com/thoughtbot/fishery\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(EntityClass: literal type, propsFactory: Factory)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n EntityClass\n \n \n literal type\n \n \n \n No\n \n \n \n \n propsFactory\n \n \n Factory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:98\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:110\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:47\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:75\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:60\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:148\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:122\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:144\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:160\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:134\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial, Factory, GeneratorFn, HookFn } from 'fishery';\nimport { ObjectId } from 'mongodb';\n\n/**\n * Entity factory based on thoughtbot/fishery\n * https://github.com/thoughtbot/fishery\n *\n * @template T The entity to be built\n * @template U The properties interface of the entity\n * @template I The transient parameters that your factory supports\n * @template C The class of the factory object being created.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class BaseFactory {\n\tprotected readonly propsFactory: Factory;\n\n\tconstructor(private readonly EntityClass: { new (props: U): T }, propsFactory: Factory) {\n\t\tthis.propsFactory = propsFactory;\n\t}\n\n\t/**\n\t * Define a factory\n\t * @template T The entity to be built\n\t * @template U The properties interface of the entity\n\t * @template I The transient parameters that your factory supports\n\t * @template C The class of the factory object being created.\n\t * @param EntityClass The constructor of the entity to be built.\n\t * @param generator Your factory function - see `Factory.define()` in thoughtbot/fishery\n\t * @returns\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic define>(\n\t\tthis: new (EntityClass: { new (props: U): T }, propsFactory: Factory) => F,\n\t\tEntityClass: { new (props: U): T },\n\t\tgenerator: GeneratorFn\n\t): F {\n\t\tconst propsFactory = Factory.define(generator);\n\t\tconst factory = new this(EntityClass, propsFactory);\n\t\treturn factory;\n\t}\n\n\t/**\n\t * Build an entity using your factory\n\t * @param params\n\t * @returns an entity\n\t */\n\tbuild(params?: DeepPartial, options: BuildOptions = {}): T {\n\t\tconst props = this.propsFactory.build(params, options);\n\t\tconst entity = new this.EntityClass(props);\n\n\t\treturn entity;\n\t}\n\n\t/**\n\t * Build an entity using your factory and generate a id for it.\n\t * @param params\n\t * @param id\n\t * @returns an entity\n\t */\n\tbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity = this.build(params, options);\n\t\tconst generatedId = new ObjectId(id);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst entityWithId = Object.assign(entity as any, { _id: generatedId, id: generatedId.toHexString() });\n\n\t\treturn entityWithId as T;\n\t}\n\n\t/**\n\t * Build a list of entities using your factory\n\t * @param number\n\t * @param params\n\t * @returns a list of entities\n\t */\n\tbuildList(number: number, params?: DeepPartial, options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i , options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i ): this {\n\t\tconst newPropsFactory = this.propsFactory.afterBuild(afterBuildFn);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\t * @param associations\n\t * @returns a new factory\n\t */\n\tassociations(associations: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.associations(associations);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\t * @param params\n\t * @returns a new factory\n\t */\n\tparams(params: DeepPartial): this {\n\t\tconst newPropsFactory = this.propsFactory.params(params);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\t * @param transient - transient params\n\t * @returns a new factory\n\t */\n\ttransient(transient: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.transient(transient);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Set sequence back to its default value\n\t */\n\trewindSequence(): void {\n\t\tthis.propsFactory.rewindSequence();\n\t}\n\n\tprotected clone>(this: F, propsFactory: Factory): F {\n\t\tconst copy = new (this.constructor as {\n\t\t\tnew (EntityClass: { new (props: U): T }, propsOfFactory: Factory): F;\n\t\t})(this.EntityClass, propsFactory);\n\n\t\treturn copy;\n\t}\n\n\t/**\n\t * Get the next sequence value\n\t * @returns the next sequence value\n\t */\n\tprotected sequence(): number {\n\t\t// eslint-disable-next-line @typescript-eslint/dot-notation\n\t\treturn this.propsFactory['sequence']();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseProvisioningOptions.html":{"url":"classes/BaseProvisioningOptions.html","title":"class - BaseProvisioningOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseProvisioningOptions\n\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/domain/base-provisioning-options.ts\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 isApplicable\n \n \n Abstract\n set\n \n \n \n \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 isApplicable\n \n \n \n \n \n \n \n isApplicable(provisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/domain/base-provisioning-options.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 provisioningOptions\n \n ProvisioningOptionsInterface\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 Abstract\n set\n \n \n \n \n \n \n \n set(props: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/domain/base-provisioning-options.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 props\n \n T\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 import { ProvisioningOptionsInterface } from '../interface';\n\nexport abstract class BaseProvisioningOptions {\n\tpublic isApplicable(provisioningOptions: ProvisioningOptionsInterface): provisioningOptions is T {\n\t\tconst expectedKeys: Set = new Set(Object.keys(this));\n\t\tconst actualKeys: Set = new Set(Object.keys(provisioningOptions));\n\n\t\tconst hasProperties: boolean =\n\t\t\texpectedKeys.size === actualKeys.size && [...expectedKeys].every((key: string) => actualKeys.has(key));\n\n\t\treturn hasProperties;\n\t}\n\n\tabstract set(props: T): this;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseRepo.html":{"url":"injectables/BaseRepo.html","title":"injectable - BaseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.repo.ts\n \n\n\n \n Description\n \n \n This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\nAn example for a possible implementation is the BaseDORepo.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:16\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\n * An example for a possible implementation is the {@link BaseDORepo}.\n */\n@Injectable()\nexport abstract class BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {}\n\n\tabstract get entityName(): EntityName;\n\n\tcreate(entity: T): T {\n\t\treturn this._em.create(this.entityName, entity);\n\t}\n\n\tasync save(entities: T | T[]): Promise {\n\t\tawait this._em.persistAndFlush(entities);\n\t}\n\n\tasync delete(entities: T | T[]): Promise {\n\t\tawait this._em.removeAndFlush(entities);\n\t}\n\n\tasync findById(id: EntityId | ObjectId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BaseResponseMapper.html":{"url":"interfaces/BaseResponseMapper.html","title":"interface - BaseResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BaseResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n mapToResponse\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type { AnyBoardDo } from '@shared/domain/domainobject';\nimport type { AnyContentElementResponse } from '../dto';\n\nexport interface BaseResponseMapper {\n\tmapToResponse(element: T): AnyContentElementResponse;\n\n\tcanMap(element: T): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseUc.html":{"url":"classes/BaseUc.html","title":"class - BaseUc","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/base.uc.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException } from '@nestjs/common';\nimport { AnyBoardDo, SubmissionItem, UserRoleEnum } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService } from '../service';\n\nexport abstract class BaseUc {\n\tconstructor(\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService\n\t) {}\n\n\tprotected async checkPermission(\n\t\tuserId: EntityId,\n\t\tanyBoardDo: AnyBoardDo,\n\t\taction: Action,\n\t\trequiredUserRole?: UserRoleEnum\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(anyBoardDo);\n\t\tif (requiredUserRole) {\n\t\t\tboardDoAuthorizable.requiredUserRole = requiredUserRole;\n\t\t}\n\t\tconst context = { action, requiredPermissions: [] };\n\n\t\treturn this.authorizationService.checkPermission(user, boardDoAuthorizable, context);\n\t}\n\n\tprotected async isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo): Promise {\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(boardDo);\n\t\tconst userRoleEnum = boardDoAuthorizable.users.find((u) => u.userId === userId)?.userRoleEnum;\n\n\t\tif (!userRoleEnum) {\n\t\t\tthrow new ForbiddenException('User not part of this board');\n\t\t}\n\n\t\t// TODO do this with permission instead of role and using authorizable rules\n\t\tif (userRoleEnum === UserRoleEnum.STUDENT) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprotected async checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem) {\n\t\tif (submissionItem.userId !== userId) {\n\t\t\tthrow new ForbiddenException();\n\t\t}\n\t\tawait this.checkPermission(userId, submissionItem, Action.read, UserRoleEnum.STUDENT);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfig.html":{"url":"classes/BasicToolConfig.html","title":"class - BasicToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class BasicToolConfig extends ExternalToolConfig {\n\tconstructor(props: BasicToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.BASIC,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigEntity.html":{"url":"classes/BasicToolConfigEntity.html","title":"class - BasicToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.BASIC })\nexport class BasicToolConfigEntity extends ExternalToolConfigEntity {\n\tconstructor(props: BasicToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigParams.html":{"url":"classes/BasicToolConfigParams.html","title":"class - BasicToolConfigParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/basic-tool-config.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\nimport { ToolConfigType } from '../../../../../common/enum';\n\nexport class BasicToolConfigParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigResponse.html":{"url":"classes/BasicToolConfigResponse.html","title":"class - BasicToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class BasicToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\tconstructor(props: BasicToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BasicToolLaunchStrategy.html":{"url":"injectables/BasicToolLaunchStrategy.html","title":"injectable - BasicToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BasicToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/basic-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData, PropertyLocation } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class BasicToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\tconst bodyProperties = properties.filter((property: PropertyData) => property.location === PropertyLocation.BODY);\n\t\tconst payload: Record = {};\n\n\t\tfor (const property of bodyProperties) {\n\t\t\tpayload[property.name] = property.value;\n\t\t}\n\n\t\tif (Object.keys(payload).length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn JSON.stringify(payload);\n\t}\n\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\tconst hasBodyProperty: boolean = properties.some(\n\t\t\t(property: PropertyData) => property.location === PropertyLocation.BODY\n\t\t);\n\n\t\tconst launchRequestMethod: LaunchRequestMethod = hasBodyProperty\n\t\t\t? LaunchRequestMethod.POST\n\t\t\t: LaunchRequestMethod.GET;\n\n\t\treturn launchRequestMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionService.html":{"url":"injectables/BatchDeletionService.html","title":"injectable - BatchDeletionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/batch-deletion.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/services/batch-deletion.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n \n \n \n queueDeletionRequests(inputs: QueueDeletionRequestInput[], callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/batch-deletion.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputs\n \n QueueDeletionRequestInput[]\n \n\n \n No\n \n\n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { QueueDeletionRequestOutputBuilder } from './builder';\nimport { DeletionClient, DeletionRequestInputBuilder } from '../deletion-client';\nimport { QueueDeletionRequestInput, QueueDeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class BatchDeletionService {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync queueDeletionRequests(\n\t\tinputs: QueueDeletionRequestInput[],\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\tconst outputs: QueueDeletionRequestOutput[] = [];\n\n\t\t// For every provided deletion request input, try to queue it via deletion client.\n\t\t// In any case, add the result of the trial to the outputs - it will be either a valid\n\t\t// response in a form of a requestId + deletionPlannedAt values pair or some error\n\t\t// returned from the client. In any case, every input should be processed.\n\t\tfor (const input of inputs) {\n\t\t\tconst deletionRequestInput = DeletionRequestInputBuilder.build(\n\t\t\t\tinput.targetRefDomain,\n\t\t\t\tinput.targetRefId,\n\t\t\t\tinput.deleteInMinutes\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst deletionRequestOutput = await this.deletionClient.queueDeletionRequest(deletionRequestInput);\n\n\t\t\t\t// In case of a successful client response, add the\n\t\t\t\t// requestId + deletionPlannedAt values pair to the outputs.\n\t\t\t\toutputs.push(\n\t\t\t\t\tQueueDeletionRequestOutputBuilder.buildSuccess(\n\t\t\t\t\t\tdeletionRequestOutput.requestId,\n\t\t\t\t\t\tdeletionRequestOutput.deletionPlannedAt\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\t// In case of a failure client response, add the full error message to the outputs.\n\t\t\t\toutputs.push(QueueDeletionRequestOutputBuilder.buildError(err as Error));\n\t\t\t}\n\n\t\t\t// If any delay between the client calls has been requested, \"sleep\" for the specified amount of time.\n\t\t\tif (callsDelayMilliseconds && callsDelayMilliseconds > 0) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, callsDelayMilliseconds);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn outputs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummary.html":{"url":"interfaces/BatchDeletionSummary.html","title":"interface - BatchDeletionSummary","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/interface/batch-deletion-summary.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n details\n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n failureCount\n \n \n \n \n overallStatus\n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n details\n \n \n \n \n \n \n \n \n details: BatchDeletionSummaryDetail[]\n\n \n \n\n\n \n \n Type : BatchDeletionSummaryDetail[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n \n \n \n \n executionTimeMilliseconds: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n failureCount\n \n \n \n \n \n \n \n \n failureCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n overallStatus\n \n \n \n \n \n \n \n \n overallStatus: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n successCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BatchDeletionSummaryDetail } from './batch-deletion-summary-detail.interface';\n\nexport interface BatchDeletionSummary {\n\texecutionTimeMilliseconds: number;\n\toverallStatus: string;\n\tsuccessCount: number;\n\tfailureCount: number;\n\tdetails: BatchDeletionSummaryDetail[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryBuilder.html":{"url":"classes/BatchDeletionSummaryBuilder.html","title":"class - BatchDeletionSummaryBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/batch-deletion-summary.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(executionTimeMilliseconds: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/batch-deletion-summary.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n executionTimeMilliseconds\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummary\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BatchDeletionSummaryOverallStatus, BatchDeletionSummary } from '../uc/interface';\n\nexport class BatchDeletionSummaryBuilder {\n\tstatic build(executionTimeMilliseconds: number): BatchDeletionSummary {\n\t\treturn {\n\t\t\texecutionTimeMilliseconds,\n\t\t\toverallStatus: BatchDeletionSummaryOverallStatus.FAILURE,\n\t\t\tsuccessCount: 0,\n\t\t\tfailureCount: 0,\n\t\t\tdetails: [],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummaryDetail.html":{"url":"interfaces/BatchDeletionSummaryDetail.html","title":"interface - BatchDeletionSummaryDetail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummaryDetail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/interface/batch-deletion-summary-detail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n input\n \n \n \n \n output\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n input\n \n \n \n \n \n \n \n \n input: QueueDeletionRequestInput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestInput\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n output\n \n \n \n \n \n \n \n \n output: QueueDeletionRequestOutput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestOutput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../../services/interface';\n\nexport interface BatchDeletionSummaryDetail {\n\tinput: QueueDeletionRequestInput;\n\toutput: QueueDeletionRequestOutput;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryDetailBuilder.html":{"url":"classes/BatchDeletionSummaryDetailBuilder.html","title":"class - BatchDeletionSummaryDetailBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryDetailBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/batch-deletion-summary-detail.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/batch-deletion-summary-detail.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n QueueDeletionRequestInput\n \n\n \n No\n \n\n\n \n \n output\n \n QueueDeletionRequestOutput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummaryDetail\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../services/interface';\nimport { BatchDeletionSummaryDetail } from '../uc/interface';\n\nexport class BatchDeletionSummaryDetailBuilder {\n\tstatic build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput): BatchDeletionSummaryDetail {\n\t\treturn { input, output };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionUc.html":{"url":"injectables/BatchDeletionUc.html","title":"injectable - BatchDeletionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/batch-deletion.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(batchDeletionService: BatchDeletionService)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/uc/batch-deletion.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 batchDeletionService\n \n \n BatchDeletionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n \n \n \n deleteRefsFromTxtFile(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/uc/batch-deletion.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n \n 'user'\n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BatchDeletionSummaryBuilder, BatchDeletionSummaryDetailBuilder } from '../builder';\nimport { BatchDeletionService, ReferencesService } from '../services';\nimport { QueueDeletionRequestInputBuilder } from '../services/builder';\nimport { QueueDeletionRequestInput } from '../services/interface';\nimport { BatchDeletionSummary, BatchDeletionSummaryOverallStatus } from './interface';\n\n@Injectable()\nexport class BatchDeletionUc {\n\tconstructor(private readonly batchDeletionService: BatchDeletionService) {}\n\n\tasync deleteRefsFromTxtFile(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain = 'user',\n\t\tdeleteInMinutes = 43200, // 43200 minutes = 720 hours = 30 days\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\t// First, load all the references from the provided text file (with given path).\n\t\tconst refsFromTxtFile = ReferencesService.loadFromTxtFile(refsFilePath);\n\n\t\tconst inputs: QueueDeletionRequestInput[] = [];\n\n\t\t// For each reference found in a given file, add it to the inputs\n\t\t// array (with added targetRefDomain and deleteInMinutes fields).\n\t\trefsFromTxtFile.forEach((ref) =>\n\t\t\tinputs.push(QueueDeletionRequestInputBuilder.build(targetRefDomain, ref, deleteInMinutes))\n\t\t);\n\n\t\t// Measure the overall queueing execution time by setting the start...\n\t\tconst startTime = performance.now();\n\n\t\tconst outputs = await this.batchDeletionService.queueDeletionRequests(inputs, callsDelayMilliseconds);\n\n\t\t// ...and end timestamps before and after the batch deletion service method execution.\n\t\tconst endTime = performance.now();\n\n\t\t// Throw an error if the returned outputs number doesn't match the returned inputs number.\n\t\tif (outputs.length !== inputs.length) {\n\t\t\tthrow new Error(\n\t\t\t\t'invalid result from the batch deletion service - expected to ' +\n\t\t\t\t\t'receive the same amount of outputs as the provided inputs, ' +\n\t\t\t\t\t`instead received ${outputs.length} outputs for ${inputs.length} inputs`\n\t\t\t);\n\t\t}\n\n\t\tconst summary: BatchDeletionSummary = BatchDeletionSummaryBuilder.build(endTime - startTime);\n\n\t\t// Go through every received output and, in case of an error presence increase\n\t\t// a failure count or, in case of no error, increase a success count.\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Board.html":{"url":"entities/Board.html","title":"entity - Board","body":"\n \n\n\n\n\n\n\n\n Entities\n Board\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/board.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n references\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @OneToOne({type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('BoardElement', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:32\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, IdentifiedReference, ManyToMany, OneToOne, wrap } from '@mikro-orm/core';\nimport { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { LearnroomElement } from '../../interface';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport type { Course } from '../course.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementReference } from './boardelement.entity';\nimport { ColumnboardBoardElement } from './column-board-boardelement';\nimport { ColumnBoardTarget } from './column-board-target.entity';\nimport { LessonBoardElement } from './lesson-boardelement.entity';\nimport { TaskBoardElement } from './task-boardelement.entity';\n\nexport type BoardProps = {\n\treferences: BoardElement[];\n\tcourse: Course;\n};\n\n@Entity({ tableName: 'board' })\nexport class Board extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardProps) {\n\t\tsuper();\n\t\tthis.references.set(props.references);\n\t\tthis.course = wrap(props.course).toReference();\n\t}\n\n\t@OneToOne({ type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true })\n\tcourse: IdentifiedReference;\n\n\t@ManyToMany('BoardElement', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\tgetByTargetId(id: EntityId): LearnroomElement {\n\t\tconst element = this.getElementByTargetId(id);\n\t\treturn element.target;\n\t}\n\n\tgetElements() {\n\t\treturn this.references.getItems();\n\t}\n\n\treorderElements(ids: EntityId[]) {\n\t\tthis.validateReordering(ids);\n\n\t\tconst elements = ids.map((id) => this.getElementByTargetId(id));\n\n\t\tthis.references.set(elements);\n\t}\n\n\tprivate validateReordering(reorderedIds: EntityId[]) {\n\t\tconst existingElements = this.getElements().map((el) => el.target.id);\n\t\tconst listsEqual = this.checkListsContainingEqualEntities(reorderedIds, existingElements);\n\t\tif (!listsEqual) {\n\t\t\tthrow new BadRequestException('elements did not match. please fetch the elements of the board before reordering');\n\t\t}\n\t}\n\n\tprivate checkListsContainingEqualEntities(first: EntityId[], second: EntityId[]): boolean {\n\t\tconst compareAlphabetic = (a, b) => (a el.target.id === id);\n\t\tif (!element) throw new NotFoundException('board does not contain such element');\n\t\treturn element;\n\t}\n\n\tsyncBoardElementReferences(boardElementTargets: BoardElementReference[]) {\n\t\tthis.removeDeletedReferences(boardElementTargets);\n\t\tthis.appendNotContainedBoardElements(boardElementTargets);\n\t}\n\n\tprivate removeDeletedReferences(boardElementTargets: BoardElementReference[]) {\n\t\tconst references = this.references.getItems();\n\t\tconst onlyExistingReferences = references.filter((ref) => boardElementTargets.includes(ref.target));\n\t\tthis.references.set(onlyExistingReferences);\n\t}\n\n\tprivate appendNotContainedBoardElements(boardElementTargets: BoardElementReference[]): void {\n\t\tconst references = this.references.getItems();\n\t\tconst isNotContained = (element: BoardElementReference) => !references.some((ref) => ref.target === element);\n\t\tconst mapToBoardElement = (target: BoardElementReference) => this.createBoardElementFor(target);\n\n\t\tconst elementsToAdd = boardElementTargets.filter(isNotContained).map(mapToBoardElement);\n\t\tconst newList = [...elementsToAdd, ...references];\n\t\tthis.references.set(newList);\n\t}\n\n\tprivate createBoardElementFor(boardElementTarget: BoardElementReference): BoardElement {\n\t\tif (boardElementTarget instanceof Task) {\n\t\t\treturn new TaskBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof LessonEntity) {\n\t\t\treturn new LessonBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof ColumnBoardTarget) {\n\t\t\treturn new ColumnboardBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tthrow new Error('not a valid boardElementReference');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardApiModule.html":{"url":"modules/BoardApiModule.html","title":"module - BoardApiModule","body":"\n \n\n\n\n\n Modules\n BoardApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardApiModule\n\n\n\ncluster_BoardApiModule_imports\n\n\n\ncluster_BoardApiModule_providers\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nBoardApiModule -->\n\nBoardModule->BoardApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardApiModule -->\n\nLoggerModule->BoardApiModule\n\n\n\n\n\nBoardUc\n\nBoardUc\n\nBoardApiModule -->\n\nBoardUc->BoardApiModule\n\n\n\n\n\nCardUc\n\nCardUc\n\nBoardApiModule -->\n\nCardUc->BoardApiModule\n\n\n\n\n\nColumnUc\n\nColumnUc\n\nBoardApiModule -->\n\nColumnUc->BoardApiModule\n\n\n\n\n\nElementUc\n\nElementUc\n\nBoardApiModule -->\n\nElementUc->BoardApiModule\n\n\n\n\n\nSubmissionItemUc\n\nSubmissionItemUc\n\nBoardApiModule -->\n\nSubmissionItemUc->BoardApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUc\n \n \n CardUc\n \n \n ColumnUc\n \n \n ElementUc\n \n \n SubmissionItemUc\n \n \n \n \n Controllers\n \n \n BoardController\n \n \n ColumnController\n \n \n CardController\n \n \n ElementController\n \n \n BoardSubmissionController\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { BoardModule } from './board.module';\nimport {\n\tBoardController,\n\tBoardSubmissionController,\n\tCardController,\n\tColumnController,\n\tElementController,\n} from './controller';\nimport { BoardUc, CardUc, ColumnUc } from './uc';\nimport { ElementUc } from './uc/element.uc';\nimport { SubmissionItemUc } from './uc/submission-item.uc';\n\n@Module({\n\timports: [BoardModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [BoardController, ColumnController, CardController, ElementController, BoardSubmissionController],\n\tproviders: [BoardUc, ColumnUc, CardUc, ElementUc, SubmissionItemUc],\n})\nexport class BoardApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardColumnBoardResponse.html":{"url":"classes/BoardColumnBoardResponse.html","title":"class - BoardColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columnBoardId\n \n \n \n createdAt\n \n \n \n id\n \n \n \n published\n \n \n \n \n title\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class BoardColumnBoardResponse {\n\tconstructor({ id, columnBoardId, title, published, createdAt, updatedAt }: BoardColumnBoardResponse) {\n\t\tthis.id = id;\n\t\tthis.columnBoardId = columnBoardId;\n\t\tthis.title = title;\n\t\tthis.published = published;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle: string;\n\n\t@ApiProperty()\n\tpublished: boolean;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tcolumnBoardId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardComposite.html":{"url":"classes/BoardComposite.html","title":"class - BoardComposite","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardComposite\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n accept\n \n \n Abstract\n acceptAsync\n \n \n addChild\n \n \n hasChild\n \n \n Abstract\n isAllowedAsChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n children\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n accept\n \n \n \n \n \n \n \n accept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isAllowedAsChild\n \n \n \n \n \n \n \n isAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n children\n \n \n\n \n \n getchildren()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:7\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:11\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:15\n \n \n\n \n \n\n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeProps.html":{"url":"interfaces/BoardCompositeProps.html","title":"interface - BoardCompositeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n children\n \n \n \n \n createdAt\n \n \n \n \n id\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: AnyBoardDo[]\n\n \n \n\n\n \n \n Type : AnyBoardDo[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitor.html":{"url":"interfaces/BoardCompositeVisitor.html","title":"interface - BoardCompositeVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n visitColumn\n \n \n \n \n visitColumnBoard\n \n \n \n \n visitDrawingElement\n \n \n \n \n visitExternalToolElement\n \n \n \n \n visitFileElement\n \n \n \n \n visitLinkElement\n \n \n \n \n visitRichTextElement\n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitorAsync.html":{"url":"interfaces/BoardCompositeVisitorAsync.html","title":"interface - BoardCompositeVisitorAsync","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitorAsync\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n visitColumnAsync\n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n visitFileElementAsync\n \n \n \n \n visitLinkElementAsync\n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n \n \nvisitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnAsync\n \n \n \n \n \n \nvisitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n \n \nvisitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n \n \nvisitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElementAsync\n \n \n \n \n \n \nvisitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElementAsync\n \n \n \n \n \n \nvisitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n \n \nvisitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n \n \nvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \nvisitSubmissionItemAsync(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardContextResponse.html":{"url":"classes/BoardContextResponse.html","title":"class - BoardContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\n\nexport class BoardContextResponse {\n\tconstructor({ id, type }: BoardContextResponse) {\n\t\tthis.id = id;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({ enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType' })\n\ttype: BoardExternalReferenceType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardController.html":{"url":"controllers/BoardController.html","title":"controller - BoardController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board.controller.ts\n \n\n \n Prefix\n \n \n boards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new column on a board.'})@ApiResponse({status: 201, type: ColumnResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':boardId/columns')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n getBoardContext(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the context of a board.'})@ApiResponse({status: 200, type: BoardContextResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId/context')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n getBoardSkeleton(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the skeleton of a a board.'})@ApiResponse({status: 200, type: BoardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(urlParams: BoardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':boardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc } from '../uc';\nimport { BoardResponse, BoardUrlParams, ColumnResponse, RenameBodyParams } from './dto';\nimport { BoardContextResponse } from './dto/board/board-context.reponse';\nimport { BoardResponseMapper, ColumnResponseMapper } from './mapper';\n\n@ApiTags('Board')\n@Authenticate('jwt')\n@Controller('boards')\nexport class BoardController {\n\tconstructor(private readonly boardUc: BoardUc) {}\n\n\t@ApiOperation({ summary: 'Get the skeleton of a a board.' })\n\t@ApiResponse({ status: 200, type: BoardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId')\n\tasync getBoardSkeleton(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.boardUc.findBoard(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = BoardResponseMapper.mapToResponse(board);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Get the context of a board.' })\n\t@ApiResponse({ status: 200, type: BoardContextResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId/context')\n\tasync getBoardContext(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst boardContext = await this.boardUc.findBoardContext(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = new BoardContextResponse(boardContext);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':boardId/title')\n\tasync updateBoardTitle(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.updateBoardTitle(currentUser.userId, urlParams.boardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':boardId')\n\tasync deleteBoard(@Param() urlParams: BoardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.boardUc.deleteBoard(currentUser.userId, urlParams.boardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new column on a board.' })\n\t@ApiResponse({ status: 201, type: ColumnResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':boardId/columns')\n\tasync createColumn(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst column = await this.boardUc.createColumn(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = ColumnResponseMapper.mapToResponse(column);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardCopyService.html":{"url":"injectables/BoardCopyService.html","title":"injectable - BoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyBoard\n \n \n Private\n Async\n copyBoardElements\n \n \n Private\n Async\n copyColumnBoard\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Private\n extractReferences\n \n \n Private\n sortByOriginalOrder\n \n \n Private\n Async\n swapLinkedIdsInBoards\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:37\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: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 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: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 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: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 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: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 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: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 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: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 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:203\n \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 Async\n swapLinkedIdsInBoards\n \n \n \n \n \n \n \n swapLinkedIdsInBoards(copyStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.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 copyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\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: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 boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardCopyService } from '@modules/board';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { LessonCopyService } from '@modules/lesson';\nimport { TaskCopyService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport { getResolvedValues } from '@shared/common/utils/promise';\nimport { ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonBoardElement,\n\tLessonEntity,\n\tTask,\n\tTaskBoardElement,\n\tUser,\n\tisColumnBoardTarget,\n\tisLesson,\n\tisTask,\n} from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { sortBy } from 'lodash';\n\ntype BoardCopyParams = {\n\toriginalBoard: Board;\n\tdestinationCourse: Course;\n\tuser: User;\n};\n\n@Injectable()\nexport class BoardCopyService {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly columnBoardCopyService: ColumnBoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyBoard(params: BoardCopyParams): Promise {\n\t\tconst { originalBoard, user, destinationCourse } = params;\n\n\t\tconst boardElements: BoardElement[] = originalBoard.getElements();\n\t\tconst elements: CopyStatus[] = await this.copyBoardElements(boardElements, user, destinationCourse);\n\t\tconst references: BoardElement[] = this.extractReferences(elements);\n\n\t\tlet boardCopy: Board = new Board({ references, course: destinationCourse });\n\t\tlet status: CopyStatus = {\n\t\t\ttitle: 'board',\n\t\t\ttype: CopyElementType.BOARD,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: boardCopy,\n\t\t\toriginalEntity: params.originalBoard,\n\t\t\telements,\n\t\t};\n\n\t\tstatus = this.updateCopiedEmbeddedTasksOfLessons(status);\n\t\tif (status.copyEntity) {\n\t\t\tboardCopy = status.copyEntity as Board;\n\t\t}\n\n\t\tstatus = await this.swapLinkedIdsInBoards(status);\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 async swapLinkedIdsInBoards(copyStatus: CopyStatus): Promise {\n\t\tconst map = new Map();\n\t\tconst copyDict = this.copyHelperService.buildCopyEntityDict(copyStatus);\n\t\tcopyDict.forEach((value, key) => map.set(key, value.id));\n\n\t\tif (copyStatus.copyEntity instanceof Board && copyStatus.originalEntity instanceof Board) {\n\t\t\tmap.set(copyStatus.originalEntity.course.id, copyStatus.copyEntity.course.id);\n\t\t}\n\n\t\tconst elements = copyStatus.elements ?? [];\n\t\tconst updatedElements = await Promise.all(\n\t\t\telements.map(async (el) => {\n\t\t\t\tif (el.type === CopyElementType.COLUMNBOARD && el.copyEntity) {\n\t\t\t\t\tel.copyEntity = await this.columnBoardCopyService.swapLinkedIds(el.copyEntity?.id, map);\n\t\t\t\t}\n\t\t\t\treturn el;\n\t\t\t})\n\t\t);\n\n\t\tcopyStatus.elements = updatedElements;\n\t\treturn copyStatus;\n\t}\n\n\tprivate sortByOriginalOrder(resolved: [number, CopyStatus][]): CopyStatus[] {\n\t\tconst sortByPos = sortBy(resolved, ([pos]) => pos);\n\t\tconst statuses = sortByPos.map(([, status]) => status);\n\t\treturn statuses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoAuthorizable.html":{"url":"classes/BoardDoAuthorizable.html","title":"class - BoardDoAuthorizable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoAuthorizable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n requiredUserRole\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:32\n \n \n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n\n \n \n getrequiredUserRole()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:36\n \n \n\n \n \n setrequiredUserRole(userRoleEnum: UserRoleEnum | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRoleEnum\n \n \n UserRoleEnum | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoAuthorizableProps.html":{"url":"interfaces/BoardDoAuthorizableProps.html","title":"interface - BoardDoAuthorizableProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoAuthorizableProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n \n requiredUserRole\n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n \n \n \n \n \n \n requiredUserRole: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: UserBoardRoles[]\n\n \n \n\n\n \n \n Type : UserBoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoAuthorizableService.html":{"url":"injectables/BoardDoAuthorizableService.html","title":"injectable - BoardDoAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getBoardAuthorizable\n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardAuthorizable\n \n \n \n \n \n \n \n getBoardAuthorizable(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n \n \n \n mapCourseUsersToUsergroup(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserBoardRoles[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardDoAuthorizable,\n\tBoardExternalReferenceType,\n\tBoardRoles,\n\tColumnBoard,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(\n\t\t@Inject(forwardRef(() => BoardDoRepo)) private readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst boardDo = await this.boardDoRepo.findById(id, 1);\n\t\tconst { users } = await this.getBoardAuthorizable(boardDo);\n\t\tconst boardDoAuthorizable = new BoardDoAuthorizable({ users, id });\n\n\t\treturn boardDoAuthorizable;\n\t}\n\n\tasync getBoardAuthorizable(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst ids = [...ancestorIds, boardDo.id];\n\t\tconst rootId = ids[0];\n\t\tconst rootBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\tif (rootBoardDo.context?.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseRepo.findById(rootBoardDo.context.id);\n\t\t\t\tconst users = this.mapCourseUsersToUsergroup(course);\n\t\t\t\treturn new BoardDoAuthorizable({ users, id: boardDo.id });\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error('root boardnode was expected to be a ColumnBoard');\n\t\t}\n\n\t\treturn new BoardDoAuthorizable({ users: [], id: boardDo.id });\n\t}\n\n\tprivate mapCourseUsersToUsergroup(course: Course): UserBoardRoles[] {\n\t\tconst users = [\n\t\t\t...course.getTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getSubstitutionTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.SUBSTITUTION_TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getStudentsList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.READER],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.STUDENT,\n\t\t\t\t};\n\t\t\t}),\n\t\t];\n\t\treturn users;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoBuilder.html":{"url":"interfaces/BoardDoBuilder.html","title":"interface - BoardDoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n buildColumn\n \n \n \n \n buildColumnBoard\n \n \n \n \n buildDrawingElement\n \n \n \n \n buildExternalToolElement\n \n \n \n \n buildFileElement\n \n \n \n \n buildLinkElement\n \n \n \n \n buildRichTextElement\n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n \n \nbuildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumn\n \n \n \n \n \n \nbuildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumnBoard\n \n \n \n \n \n \nbuildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildDrawingElement\n \n \n \n \n \n \nbuildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildFileElement\n \n \n \n \n \n \nbuildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildLinkElement\n \n \n \n \n \n \nbuildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildRichTextElement\n \n \n \n \n \n \nbuildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n \n \nbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \nbuildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type {\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '../../../domainobject';\nimport type { CardNode } from '../card-node.entity';\nimport type { ColumnBoardNode } from '../column-board-node.entity';\nimport type { ColumnNode } from '../column-node.entity';\nimport type { DrawingElementNode } from '../drawing-element-node.entity';\nimport type { ExternalToolElementNodeEntity } from '../external-tool-element-node.entity';\nimport type { FileElementNode } from '../file-element-node.entity';\nimport type { LinkElementNode } from '../link-element-node.entity';\nimport type { RichTextElementNode } from '../rich-text-element-node.entity';\nimport type { SubmissionContainerElementNode } from '../submission-container-element-node.entity';\nimport type { SubmissionItemNode } from '../submission-item-node.entity';\n\nexport interface BoardDoBuilder {\n\tbuildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard;\n\tbuildColumn(boardNode: ColumnNode): Column;\n\tbuildCard(boardNode: CardNode): Card;\n\tbuildDrawingElement(boardNode: DrawingElementNode): DrawingElement;\n\tbuildFileElement(boardNode: FileElementNode): FileElement;\n\tbuildLinkElement(boardNode: LinkElementNode): LinkElement;\n\tbuildRichTextElement(boardNode: RichTextElementNode): RichTextElement;\n\tbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement;\n\tbuildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem;\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoBuilderImpl.html":{"url":"classes/BoardDoBuilderImpl.html","title":"class - BoardDoBuilderImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoBuilderImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.builder-impl.ts\n \n\n\n\n\n \n Implements\n \n \n BoardDoBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n buildCard\n \n \n buildChildren\n \n \n Public\n buildColumn\n \n \n Public\n buildColumnBoard\n \n \n Public\n buildDomainObject\n \n \n Public\n buildDrawingElement\n \n \n buildExternalToolElement\n \n \n Public\n buildFileElement\n \n \n Public\n buildLinkElement\n \n \n Public\n buildRichTextElement\n \n \n Public\n buildSubmissionContainerElement\n \n \n Public\n buildSubmissionItem\n \n \n ensureBoardNodeType\n \n \n ensureLeafNode\n \n \n getChildren\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descendants: BoardNode[])\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descendants\n \n \n BoardNode[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n buildCard\n \n \n \n \n \n \n \n buildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildChildren\n \n \n \n \n \n \nbuildChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:205\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumn\n \n \n \n \n \n \n \n buildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumnBoard\n \n \n \n \n \n \n \n buildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDomainObject\n \n \n \n \n \n \n \n buildDomainObject(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:41\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDrawingElement\n \n \n \n \n \n \n \n buildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:191\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildFileElement\n \n \n \n \n \n \n \n buildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildLinkElement\n \n \n \n \n \n \n \n buildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildRichTextElement\n \n \n \n \n \n \n \n buildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionContainerElement\n \n \n \n \n \n \n \n buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionItem\n \n \n \n \n \n \n \n buildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureBoardNodeType\n \n \n \n \n \n \nensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode | BoardNode[]\n \n\n \n No\n \n\n\n \n \n type\n \n BoardNodeType | BoardNodeType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureLeafNode\n \n \n \n \n \n \nensureLeafNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:216\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getChildren\n \n \n \n \n \n \ngetChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:210\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport {\n\tBoardNodeType,\n\ttype BoardDoBuilder,\n\ttype BoardNode,\n\ttype CardNode,\n\ttype ColumnBoardNode,\n\ttype ColumnNode,\n\ttype ExternalToolElementNodeEntity,\n\ttype FileElementNode,\n\ttype LinkElementNode,\n\ttype RichTextElementNode,\n\ttype SubmissionContainerElementNode,\n\ttype SubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\n\nexport class BoardDoBuilderImpl implements BoardDoBuilder {\n\tprivate childrenMap: Record = {};\n\n\tconstructor(descendants: BoardNode[] = []) {\n\t\tfor (const boardNode of descendants) {\n\t\t\tthis.childrenMap[boardNode.path] ||= [];\n\t\t\tthis.childrenMap[boardNode.path].push(boardNode);\n\t\t}\n\t}\n\n\tpublic buildDomainObject(boardNode: BoardNode): T {\n\t\treturn boardNode.useDoBuilder(this) as T;\n\t}\n\n\tpublic buildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.COLUMN);\n\n\t\tconst columns = this.buildChildren(boardNode);\n\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: columns,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontext: boardNode.context,\n\t\t});\n\n\t\treturn columnBoard;\n\t}\n\n\tpublic buildColumn(boardNode: ColumnNode): Column {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.CARD);\n\n\t\tconst cards = this.buildChildren(boardNode);\n\n\t\tconst column = new Column({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: cards,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn column;\n\t}\n\n\tpublic buildCard(boardNode: CardNode): Card {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.LINK_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t\tBoardNodeType.DRAWING_ELEMENT,\n\t\t\tBoardNodeType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tBoardNodeType.EXTERNAL_TOOL,\n\t\t]);\n\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst card = new Card({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\theight: boardNode.height,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn card;\n\t}\n\n\tpublic buildFileElement(boardNode: FileElementNode): FileElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new FileElement({\n\t\t\tid: boardNode.id,\n\t\t\tcaption: boardNode.caption,\n\t\t\talternativeText: boardNode.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildLinkElement(boardNode: LinkElementNode): LinkElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new LinkElement({\n\t\t\tid: boardNode.id,\n\t\t\turl: boardNode.url,\n\t\t\ttitle: boardNode.title,\n\t\t\timageUrl: boardNode.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildRichTextElement(boardNode: RichTextElementNode): RichTextElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new RichTextElement({\n\t\t\tid: boardNode.id,\n\t\t\ttext: boardNode.text,\n\t\t\tinputFormat: boardNode.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildDrawingElement(boardNode: DrawingElementNode): DrawingElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new DrawingElement({\n\t\t\tid: boardNode.id,\n\t\t\tdescription: boardNode.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [BoardNodeType.SUBMISSION_ITEM]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tdueDate: boardNode.dueDate,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionItem({\n\t\t\tid: boardNode.id,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcompleted: boardNode.completed,\n\t\t\tuserId: boardNode.userId,\n\t\t\tchildren: elements,\n\t\t});\n\t\treturn element;\n\t}\n\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element: ExternalToolElement = new ExternalToolElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontextExternalToolId: boardNode.contextExternalTool?.id,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tbuildChildren(boardNode: BoardNode): T[] {\n\t\tconst children = this.getChildren(boardNode).map((node) => node.useDoBuilder(this));\n\t\treturn children as T[];\n\t}\n\n\tgetChildren(boardNode: BoardNode): BoardNode[] {\n\t\tconst children = this.childrenMap[boardNode.pathOfChildren] || [];\n\t\tconst sortedChildren = children.sort((a, b) => a.position - b.position);\n\t\treturn sortedChildren;\n\t}\n\n\tensureLeafNode(boardNode: BoardNode) {\n\t\tconst children = this.getChildren(boardNode);\n\t\tif (children.length !== 0) throw new Error('BoardNode is a leaf node but children were provided.');\n\t}\n\n\tensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[]) {\n\t\tconst single = (bn: BoardNode, t: BoardNodeType | BoardNodeType[]) => {\n\t\t\tconst isValid = Array.isArray(t) ? type.includes(bn.type) : t === bn.type;\n\t\t\tif (!isValid) {\n\t\t\t\tthrow new NotImplementedException(`Invalid node type '${bn.type}'`);\n\t\t\t}\n\t\t};\n\n\t\tif (Array.isArray(boardNode)) {\n\t\t\tboardNode.forEach((bn) => single(bn, type));\n\t\t} else {\n\t\t\tsingle(boardNode, type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoCopyService.html":{"url":"injectables/BoardDoCopyService.html","title":"injectable - BoardDoCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(params: BoardDoCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n BoardDoCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyStatus } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { RecursiveCopyVisitor } from './recursive-copy.visitor';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport type BoardDoCopyParams = {\n\toriginal: AnyBoardDo;\n\tfileCopyService: SchoolSpecificFileCopyService;\n};\n\n@Injectable()\nexport class BoardDoCopyService {\n\tpublic async copy(params: BoardDoCopyParams): Promise {\n\t\tconst visitor = new RecursiveCopyVisitor(params.fileCopyService);\n\n\t\tconst result = await visitor.copy(params.original);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRepo.html":{"url":"injectables/BoardDoRepo.html","title":"injectable - BoardDoRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByClassAndId\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n findParentOfId\n \n \n Async\n getAncestorIds\n \n \n Async\n getTitlesByIds\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo, deleteVisitor: RecursiveDeleteVisitor)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n deleteVisitor\n \n \n RecursiveDeleteVisitor\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByClassAndId\n \n \n \n \n \n \n \n findByClassAndId(doClass: literal type, id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:28\n \n \n\n \n \n Type parameters :\n \n S\n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doClass\n \n literal type\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(childId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n childId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAncestorIds\n \n \n \n \n \n \n \n getAncestorIds(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTitlesByIds\n \n \n \n \n \n \n \n getTitlesByIds(id: EntityId[] | EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId[] | EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { AnyBoardDo, BoardExternalReference } from '@shared/domain/domainobject';\nimport { BoardNode, ColumnBoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoBuilderImpl } from './board-do.builder-impl';\nimport { BoardNodeRepo } from './board-node.repo';\nimport { RecursiveDeleteVisitor } from './recursive-delete.vistor';\nimport { RecursiveSaveVisitor } from './recursive-save.visitor';\n\n@Injectable()\nexport class BoardDoRepo {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly boardNodeRepo: BoardNodeRepo,\n\t\tprivate readonly deleteVisitor: RecursiveDeleteVisitor\n\t) {}\n\n\tasync findById(id: EntityId, depth?: number): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(id);\n\t\tconst descendants = await this.boardNodeRepo.findDescendants(boardNode, depth);\n\t\tconst domainObject = new BoardDoBuilderImpl(descendants).buildDomainObject(boardNode);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByClassAndId(\n\t\tdoClass: { new (props: S): T },\n\t\tid: EntityId,\n\t\tdepth?: number\n\t): Promise {\n\t\tconst domainObject = await this.findById(id, depth);\n\t\tif (!(domainObject instanceof doClass)) {\n\t\t\tthrow new NotFoundException(`There is no '${doClass.name}' with this id`);\n\t\t}\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst childrenMap = await this.boardNodeRepo.findDescendantsOfMany(boardNodes);\n\n\t\tconst domainObjects = boardNodes.map((boardNode) => {\n\t\t\tconst children = childrenMap[boardNode.pathOfChildren];\n\t\t\tconst domainObject = new BoardDoBuilderImpl(children).buildDomainObject(boardNode);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync getTitlesByIds(id: EntityId[] | EntityId): Promise> {\n\t\tconst ids = Utils.asArray(id);\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst titlesMap = boardNodes.reduce((map, node) => {\n\t\t\tmap[node.id] = node.title ?? '';\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn titlesMap;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst boardNodes = await this.em.find(ColumnBoardNode, {\n\t\t\t_contextId: new ObjectId(reference.id),\n\t\t\t_contextType: reference.type,\n\t\t});\n\t\tconst ids = boardNodes.map((o) => o.id);\n\n\t\treturn ids;\n\t}\n\n\tasync findParentOfId(childId: EntityId): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(childId);\n\t\tconst domainObject = boardNode.parentId ? this.findById(boardNode.parentId) : undefined;\n\n\t\treturn domainObject;\n\t}\n\n\tasync getAncestorIds(boardDo: AnyBoardDo): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(boardDo.id);\n\t\treturn boardNode.ancestorIds;\n\t}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst saveVisitor = new RecursiveSaveVisitor(this.em, this.boardNodeRepo);\n\t\tawait saveVisitor.save(domainObject, parent);\n\t\tawait this.em.flush();\n\t}\n\n\tasync delete(domainObject: AnyBoardDo): Promise {\n\t\tawait domainObject.acceptAsync(this.deleteVisitor);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRule.html":{"url":"injectables/BoardDoRule.html","title":"injectable - BoardDoRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/board-do.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BoardDoAuthorizable, BoardRoles } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class BoardDoRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable): boolean {\n\t\tconst isMatched = boardDoAuthorizable instanceof BoardDoAuthorizable;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tif (hasPermission === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userBoardRole = boardDoAuthorizable.users.find(({ userId }) => userId === user.id);\n\t\tif (!userBoardRole) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (boardDoAuthorizable.requiredUserRole && boardDoAuthorizable.requiredUserRole !== userBoardRole.userRoleEnum) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (context.action === Action.write && userBoardRole.roles.includes(BoardRoles.EDITOR)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (\n\t\t\tcontext.action === Action.read &&\n\t\t\t(userBoardRole.roles.includes(BoardRoles.EDITOR) || userBoardRole.roles.includes(BoardRoles.READER))\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoService.html":{"url":"injectables/BoardDoService.html","title":"injectable - BoardDoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n Async\n move\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n \n \n \n \n \n deleteWithDescendants(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetParent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo) {}\n\n\tasync deleteWithDescendants(domainObject: AnyBoardDo): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(domainObject.id);\n\n\t\tif (parent) {\n\t\t\tparent.removeChild(domainObject);\n\t\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\t}\n\n\t\tawait this.boardDoRepo.delete(domainObject);\n\t}\n\n\tasync move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number): Promise {\n\t\tif (targetParent.hasChild(child)) {\n\t\t\ttargetParent.removeChild(child);\n\t\t} else {\n\t\t\tconst sourceParent = await this.boardDoRepo.findParentOfId(child.id);\n\t\t\tif (sourceParent) {\n\t\t\t\tsourceParent.removeChild(child);\n\t\t\t\tawait this.boardDoRepo.save(sourceParent.children, sourceParent);\n\t\t\t}\n\t\t}\n\t\ttargetParent.addChild(child, targetPosition);\n\t\tawait this.boardDoRepo.save(targetParent.children, targetParent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardElement.html":{"url":"entities/BoardElement.html","title":"entity - BoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElementType\n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElementType\n \n \n \n \n \n \n Type : BoardElementType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:30\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : BoardElementReference\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:26\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum } from '@mikro-orm/core';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\nexport type BoardElementReference = Task | LessonEntity | ColumnBoardTarget;\n\nexport enum BoardElementType {\n\t'Task' = 'task',\n\t'Lesson' = 'lesson',\n\t'ColumnBoard' = 'columnboard',\n}\n\nexport type BoardElementProps = {\n\ttarget: EntityId | BoardElementReference;\n};\n\n@Entity({\n\tdiscriminatorColumn: 'boardElementType',\n\tabstract: true,\n})\nexport abstract class BoardElement extends BaseEntityWithTimestamps {\n\t/** id reference to a collection populated later with name */\n\ttarget!: BoardElementReference;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\tboardElementType!: BoardElementType;\n\n\tconstructor(props: BoardElementProps) {\n\t\tsuper();\n\t\tObject.assign(this, { target: props.target });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardElementResponse.html":{"url":"classes/BoardElementResponse.html","title":"class - BoardElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the Board, either: a task or a lesson specific for the board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : RoomBoardElementTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'the type of the element in the content. For possible types, please refer to the enum', enum: RoomBoardElementTypes})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoomBoardElementTypes } from '@modules/learnroom/types';\nimport { BoardColumnBoardResponse } from './board-column-board.response';\nimport { BoardLessonResponse } from './board-lesson.response';\nimport { BoardTaskResponse } from './board-task.response';\n\nexport class BoardElementResponse {\n\tconstructor({ type, content }: BoardElementResponse) {\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'the type of the element in the content. For possible types, please refer to the enum',\n\t\tenum: RoomBoardElementTypes,\n\t})\n\ttype: RoomBoardElementTypes;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the Board, either: a task or a lesson specific for the board',\n\t})\n\tcontent: BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardExternalReference.html":{"url":"interfaces/BoardExternalReference.html","title":"interface - BoardExternalReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardExternalReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-external-reference.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: BoardExternalReferenceType\n\n \n \n\n\n \n \n Type : BoardExternalReferenceType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport enum BoardExternalReferenceType {\n\t'Course' = 'course',\n}\n\nexport interface BoardExternalReference {\n\ttype: BoardExternalReferenceType;\n\tid: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardLessonResponse.html":{"url":"classes/BoardLessonResponse.html","title":"class - BoardLessonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardLessonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n hidden\n \n \n \n id\n \n \n \n \n name\n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardLessonResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardLessonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\n\nexport class BoardLessonResponse {\n\tconstructor({\n\t\tid,\n\t\tname,\n\t\thidden,\n\t\tnumberOfPublishedTasks,\n\t\tnumberOfDraftTasks,\n\t\tnumberOfPlannedTasks,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t}: BoardLessonResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.hidden = hidden;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.numberOfPublishedTasks = numberOfPublishedTasks;\n\t\tthis.numberOfDraftTasks = numberOfDraftTasks;\n\t\tthis.numberOfPlannedTasks = numberOfPlannedTasks;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tnumberOfPublishedTasks: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfDraftTasks?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfPlannedTasks?: number;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\thidden: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardManagementConsole.html":{"url":"classes/BoardManagementConsole.html","title":"class - BoardManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/board-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, boardManagementUc: BoardManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n boardManagementUc\n \n \n BoardManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'create-board [courseId]', description: 'create a multi-column-board'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { ObjectId } from 'bson';\nimport { Command, Console } from 'nestjs-console';\nimport { BoardManagementUc } from '../uc/board-management.uc';\n\n@Console({ command: 'board', description: 'board setup console' })\nexport class BoardManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private boardManagementUc: BoardManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'create-board [courseId]',\n\t\tdescription: 'create a multi-column-board',\n\t})\n\tasync createBoard(courseId = ''): Promise {\n\t\tif (!ObjectId.isValid(courseId)) {\n\t\t\tthis.consoleWriter.info('Error: please provide a valid courseId this board should be assigned to.');\n\t\t\treturn;\n\t\t}\n\n\t\tconst boardId = await this.boardManagementUc.createBoard(courseId);\n\t\tif (boardId) {\n\t\t\tthis.consoleWriter.info(`Success: board creation is completed! The new boardId is \"${boardId ?? ''}\"`);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardManagementUc.html":{"url":"injectables/BoardManagementUc.html","title":"injectable - BoardManagementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardManagementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/board-management.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createBoard\n \n \n Private\n createCards\n \n \n Private\n createColumns\n \n \n Private\n createElements\n \n \n Private\n Async\n doesCourseExist\n \n \n Private\n generateArray\n \n \n Private\n random\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createCards\n \n \n \n \n \n \n \n createCards(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createColumns\n \n \n \n \n \n \n \n createColumns(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createElements\n \n \n \n \n \n \n \n createElements(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doesCourseExist\n \n \n \n \n \n \n \n doesCourseExist(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n generateArray\n \n \n \n \n \n \n \n generateArray(length: number, fn: (i: number) => void)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:73\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n length\n \n number\n \n\n \n No\n \n\n\n \n \n fn\n \n function\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n random\n \n \n \n \n \n \n \n random(min: number, max: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n min\n \n number\n \n\n \n No\n \n\n\n \n \n max\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { BoardNode, Course } from '@shared/domain/entity';\nimport { EntityId, InputFormat } from '@shared/domain/types';\nimport {\n\tcardNodeFactory,\n\tcolumnBoardNodeFactory,\n\tcolumnNodeFactory,\n\trichTextElementNodeFactory,\n} from '@shared/testing';\n\n@Injectable()\nexport class BoardManagementUc {\n\tconstructor(private consoleWriter: ConsoleWriterService, private em: EntityManager) {}\n\n\tasync createBoard(courseId: EntityId): Promise {\n\t\tif (!(await this.doesCourseExist(courseId))) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst context = { type: BoardExternalReferenceType.Course, id: courseId };\n\t\tconst board = columnBoardNodeFactory.build({ context });\n\t\tawait this.em.persistAndFlush(board);\n\n\t\tconst columns = this.createColumns(3, board);\n\t\tawait this.em.persistAndFlush(columns);\n\n\t\tconst cardsPerColumn = columns.map((column) => this.createCards(this.random(1, 3), column));\n\t\tconst cards = cardsPerColumn.flat();\n\t\tawait this.em.persistAndFlush(cards);\n\n\t\tconst elementsPerCard = cards.map((card) => this.createElements(1, card));\n\t\tconst elements = elementsPerCard.flat();\n\t\tawait this.em.persistAndFlush(elements);\n\n\t\treturn board.id;\n\t}\n\n\tprivate createColumns(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcolumnNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Column ${i + 1}`,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createCards(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcardNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Card ${i + 1}`,\n\t\t\t\theight: this.random(50, 250),\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createElements(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\trichTextElementNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttext: `Text ${i + 1}`,\n\t\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate generateArray(length: number, fn: (i: number) => T) {\n\t\treturn [...Array(length).keys()].map((_, i) => fn(i));\n\t}\n\n\tprivate random(min: number, max: number): number {\n\t\treturn Math.floor(Math.random() * (max + min - 1) + min);\n\t}\n\n\tprivate async doesCourseExist(courseId: EntityId = ''): Promise {\n\t\ttry {\n\t\t\tawait this.em.findOneOrFail(Course, courseId);\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\tthis.consoleWriter.info(`Error: course does not exist (courseId: \"${courseId}\")`);\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardModule.html":{"url":"modules/BoardModule.html","title":"module - BoardModule","body":"\n \n\n\n\n\n Modules\n BoardModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardModule\n\n\n\ncluster_BoardModule_providers\n\n\n\ncluster_BoardModule_imports\n\n\n\ncluster_BoardModule_exports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nBoardModule\n\nBoardModule\n\nBoardModule -->\n\nConsoleWriterModule->BoardModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nBoardModule -->\n\nContextExternalToolModule->BoardModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nBoardModule -->\n\nFilesStorageClientModule->BoardModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardModule -->\n\nLoggerModule->BoardModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nBoardModule -->\n\nUserModule->BoardModule\n\n\n\n\n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService -->\n\nBoardModule->BoardDoAuthorizableService \n\n\n\n\n\nCardService \n\nCardService \n\nCardService -->\n\nBoardModule->CardService \n\n\n\n\n\nColumnBoardCopyService \n\nColumnBoardCopyService \n\nColumnBoardCopyService -->\n\nBoardModule->ColumnBoardCopyService \n\n\n\n\n\nColumnBoardService \n\nColumnBoardService \n\nColumnBoardService -->\n\nBoardModule->ColumnBoardService \n\n\n\n\n\nColumnService \n\nColumnService \n\nColumnService -->\n\nBoardModule->ColumnService \n\n\n\n\n\nContentElementService \n\nContentElementService \n\nContentElementService -->\n\nBoardModule->ContentElementService \n\n\n\n\n\nSubmissionItemService \n\nSubmissionItemService \n\nSubmissionItemService -->\n\nBoardModule->SubmissionItemService \n\n\n\n\n\nBoardDoAuthorizableService\n\nBoardDoAuthorizableService\n\nBoardModule -->\n\nBoardDoAuthorizableService->BoardModule\n\n\n\n\n\nBoardDoCopyService\n\nBoardDoCopyService\n\nBoardModule -->\n\nBoardDoCopyService->BoardModule\n\n\n\n\n\nBoardDoRepo\n\nBoardDoRepo\n\nBoardModule -->\n\nBoardDoRepo->BoardModule\n\n\n\n\n\nBoardDoService\n\nBoardDoService\n\nBoardModule -->\n\nBoardDoService->BoardModule\n\n\n\n\n\nBoardNodeRepo\n\nBoardNodeRepo\n\nBoardModule -->\n\nBoardNodeRepo->BoardModule\n\n\n\n\n\nCardService\n\nCardService\n\nBoardModule -->\n\nCardService->BoardModule\n\n\n\n\n\nColumnBoardCopyService\n\nColumnBoardCopyService\n\nBoardModule -->\n\nColumnBoardCopyService->BoardModule\n\n\n\n\n\nColumnBoardService\n\nColumnBoardService\n\nBoardModule -->\n\nColumnBoardService->BoardModule\n\n\n\n\n\nColumnService\n\nColumnService\n\nBoardModule -->\n\nColumnService->BoardModule\n\n\n\n\n\nContentElementFactory\n\nContentElementFactory\n\nBoardModule -->\n\nContentElementFactory->BoardModule\n\n\n\n\n\nContentElementService\n\nContentElementService\n\nBoardModule -->\n\nContentElementService->BoardModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nBoardModule -->\n\nCourseRepo->BoardModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nBoardModule -->\n\nDrawingElementAdapterService->BoardModule\n\n\n\n\n\nRecursiveDeleteVisitor\n\nRecursiveDeleteVisitor\n\nBoardModule -->\n\nRecursiveDeleteVisitor->BoardModule\n\n\n\n\n\nSchoolSpecificFileCopyServiceFactory\n\nSchoolSpecificFileCopyServiceFactory\n\nBoardModule -->\n\nSchoolSpecificFileCopyServiceFactory->BoardModule\n\n\n\n\n\nSubmissionItemService\n\nSubmissionItemService\n\nBoardModule -->\n\nSubmissionItemService->BoardModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardDoAuthorizableService\n \n \n BoardDoCopyService\n \n \n BoardDoRepo\n \n \n BoardDoService\n \n \n BoardNodeRepo\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementFactory\n \n \n ContentElementService\n \n \n CourseRepo\n \n \n DrawingElementAdapterService\n \n \n RecursiveDeleteVisitor\n \n \n SchoolSpecificFileCopyServiceFactory\n \n \n SubmissionItemService\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n ContextExternalToolModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n BoardDoAuthorizableService\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementService\n \n \n SubmissionItemService\n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterModule } from '@infra/console';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { ContextExternalToolModule } from '@modules/tool/context-external-tool';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { ContentElementFactory } from '@shared/domain/domainobject';\nimport { CourseRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { HttpModule } from '@nestjs/axios';\nimport { BoardDoRepo, BoardNodeRepo, RecursiveDeleteVisitor } from './repo';\nimport {\n\tBoardDoAuthorizableService,\n\tBoardDoService,\n\tCardService,\n\tColumnBoardService,\n\tColumnService,\n\tContentElementService,\n\tSubmissionItemService,\n} from './service';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './service/board-do-copy-service';\nimport { ColumnBoardCopyService } from './service/column-board-copy.service';\n\n@Module({\n\timports: [\n\t\tConsoleWriterModule,\n\t\tFilesStorageClientModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tContextExternalToolModule,\n\t\tHttpModule,\n\t],\n\tproviders: [\n\t\tBoardDoAuthorizableService,\n\t\tBoardDoRepo,\n\t\tBoardDoService,\n\t\tBoardNodeRepo,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tContentElementFactory,\n\t\tCourseRepo, // TODO: import learnroom module instead. This is currently not possible due to dependency cycle with authorisation service\n\t\tRecursiveDeleteVisitor,\n\t\tSubmissionItemService,\n\t\tBoardDoCopyService,\n\t\tColumnBoardCopyService,\n\t\tSchoolSpecificFileCopyServiceFactory,\n\t\tDrawingElementAdapterService,\n\t],\n\texports: [\n\t\tBoardDoAuthorizableService,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tSubmissionItemService,\n\t\tColumnBoardCopyService,\n\t],\n})\nexport class BoardModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardNode.html":{"url":"entities/BoardNode.html","title":"entity - BoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n level\n \n \n \n \n path\n \n \n \n position\n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n level\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardNodeType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardNodeProps.html":{"url":"interfaces/BoardNodeProps.html","title":"interface - BoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n parent\n \n \n \n Optional\n \n position\n \n \n \n Optional\n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: BoardNode\n\n \n \n\n\n \n \n Type : BoardNode\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardNodeRepo.html":{"url":"injectables/BoardNodeRepo.html","title":"injectable - BoardNodeRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardNodeRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-node.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findDescendants\n \n \n Async\n findDescendantsOfMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendants\n \n \n \n \n \n \n \n findDescendants(node: BoardNode, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendantsOfMany\n \n \n \n \n \n \n \n findDescendantsOfMany(nodes: BoardNode[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n nodes\n \n BoardNode[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class BoardNodeRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet entity = this.em.getUnitOfWork().getById(BoardNode.name, id);\n\t\tif (entity) {\n\t\t\treturn entity;\n\t\t}\n\n\t\tentity = await this.em.findOneOrFail(BoardNode, id);\n\t\treturn entity;\n\t}\n\n\tasync findDescendants(node: BoardNode, depth?: number): Promise {\n\t\tconst levelQuery = depth !== undefined ? { $gt: node.level, $lte: node.level + depth } : { $gt: node.level };\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\tpath: { $re: `^${node.pathOfChildren}` },\n\t\t\tlevel: levelQuery,\n\t\t});\n\n\t\treturn descendants;\n\t}\n\n\tasync findDescendantsOfMany(nodes: BoardNode[]): Promise> {\n\t\tconst pathQueries = nodes.map((node) => {\n\t\t\treturn { path: { $re: `^${node.pathOfChildren}` } };\n\t\t});\n\n\t\tconst map: Record = {};\n\t\tif (pathQueries.length === 0) {\n\t\t\treturn map;\n\t\t}\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\t$or: pathQueries,\n\t\t});\n\n\t\t// this is for finding tha ancestors of a descendant\n\t\t// we use this to group the descendants by ancestor\n\t\t// TODO we probably need a more efficient way to do the grouping\n\t\tconst matchAncestors = (descendant: BoardNode): BoardNode[] => {\n\t\t\tconst result = nodes.filter((n) => descendant.path.match(`^${n.pathOfChildren}`));\n\t\t\treturn result;\n\t\t};\n\n\t\tfor (const desc of descendants) {\n\t\t\tconst ancestorNodes = matchAncestors(desc);\n\t\t\tancestorNodes.forEach((node) => {\n\t\t\t\tmap[node.pathOfChildren] ||= [];\n\t\t\t\tmap[node.pathOfChildren].push(desc);\n\t\t\t});\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardRepo.html":{"url":"injectables/BoardRepo.html","title":"injectable - BoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/board/board.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n Async\n findByCourseId\n \n \n Async\n findById\n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n Private\n Async\n populateBoard\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n \n \n \n \n \n createBoardForCourse(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseId\n \n \n \n \n \n \n \n findByCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n \n \n \n \n \n getOrCreateCourseBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateBoard\n \n \n \n \n \n \n \n populateBoard(board: Board)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Board, ColumnboardBoardElement, Course, LessonBoardElement, TaskBoardElement } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class BoardRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Board;\n\t}\n\n\tasync findByCourseId(courseId: EntityId): Promise {\n\t\tconst board = await this.getOrCreateCourseBoard(courseId);\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async getOrCreateCourseBoard(courseId: EntityId): Promise {\n\t\tlet board = await this._em.findOne(Board, { course: courseId });\n\t\tif (!board) {\n\t\t\tboard = await this.createBoardForCourse(courseId);\n\t\t}\n\t\treturn board;\n\t}\n\n\tprivate async createBoardForCourse(courseId: EntityId): Promise {\n\t\tconst course = await this._em.findOneOrFail(Course, courseId);\n\t\tconst board = new Board({ course, references: [] });\n\t\tawait this._em.persistAndFlush(board);\n\t\treturn board;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst board = await this._em.findOneOrFail(Board, { id });\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async populateBoard(board: Board) {\n\t\tawait board.references.init();\n\t\tconst elements = board.references.getItems();\n\t\tconst taskElements = elements.filter((el) => el instanceof TaskBoardElement);\n\t\tawait this._em.populate(taskElements, ['target']);\n\t\tconst lessonElements = elements.filter((el) => el instanceof LessonBoardElement);\n\t\tawait this._em.populate(lessonElements, ['target']);\n\t\tconst columnBoardElements = elements.filter((el) => el instanceof ColumnboardBoardElement);\n\t\tawait this._em.populate(columnBoardElements, ['target']);\n\t\treturn board;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponse.html":{"url":"classes/BoardResponse.html","title":"class - BoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : ColumnResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ColumnResponse } from './column.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class BoardResponse {\n\tconstructor({ id, title, columns, timestamps }: BoardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.columns = columns;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [ColumnResponse],\n\t})\n\tcolumns: ColumnResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponseMapper.html":{"url":"classes/BoardResponseMapper.html","title":"class - BoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/board-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/board-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardResponse, TimestampsResponse } from '../dto';\nimport { ColumnResponseMapper } from './column-response.mapper';\n\nexport class BoardResponseMapper {\n\tstatic mapToResponse(board: ColumnBoard): BoardResponse {\n\t\tconst result = new BoardResponse({\n\t\t\tid: board.id,\n\t\t\ttitle: board.title,\n\t\t\tcolumns: board.children.map((column) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(column instanceof Column)) {\n\t\t\t\t\tthrow new HttpException(\n\t\t\t\t\t\t`unsupported child type: ${column.constructor.name}`,\n\t\t\t\t\t\tHttpStatus.UNPROCESSABLE_ENTITY\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn ColumnResponseMapper.mapToResponse(column);\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: board.updatedAt, createdAt: board.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardSubmissionController.html":{"url":"controllers/BoardSubmissionController.html","title":"controller - BoardSubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardSubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board-submission.controller.ts\n \n\n \n Prefix\n \n \n board-submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: SubmissionItemUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element in a submission item.'})@ApiExtraModels(RichTextElementResponse, FileElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':submissionItemId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n getSubmissionItems(currentUser: ICurrentUser, urlParams: SubmissionContainerUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of submission items by their parent container.'})@ApiResponse({status: 200, type: SubmissionsResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get(':submissionContainerId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionContainerUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(currentUser: ICurrentUser, urlParams: SubmissionItemUrlParams, bodyParams: UpdateSubmissionItemBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single submission item.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':submissionItemId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport { SubmissionItemUc } from '../uc/submission-item.uc';\nimport {\n\tCreateContentElementBodyParams,\n\tFileElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerUrlParams,\n\tSubmissionItemUrlParams,\n\tUpdateSubmissionItemBodyParams,\n} from './dto';\nimport { SubmissionsResponse } from './dto/submission-item/submissions.response';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Submission')\n@Authenticate('jwt')\n@Controller('board-submissions')\nexport class BoardSubmissionController {\n\tconstructor(\n\t\tprivate readonly cardUc: CardUc,\n\t\tprivate readonly elementUc: ElementUc,\n\t\tprivate readonly submissionItemUc: SubmissionItemUc\n\t) {}\n\n\t@ApiOperation({ summary: 'Get a list of submission items by their parent container.' })\n\t@ApiResponse({ status: 200, type: SubmissionsResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get(':submissionContainerId')\n\tasync getSubmissionItems(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionContainerUrlParams\n\t): Promise {\n\t\tconst { submissionItems, users } = await this.submissionItemUc.findSubmissionItems(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionContainerId\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapToResponse(submissionItems, users);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update a single submission item.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':submissionItemId')\n\tasync updateSubmissionItem(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: UpdateSubmissionItemBodyParams\n\t) {\n\t\tawait this.submissionItemUc.updateSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionItemId,\n\t\t\tbodyParams.completed\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element in a submission item.' })\n\t@ApiExtraModels(RichTextElementResponse, FileElementResponse)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [{ $ref: getSchemaPath(RichTextElementResponse) }, { $ref: getSchemaPath(FileElementResponse) }],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':submissionItemId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type } = bodyParams;\n\t\tconst element = await this.submissionItemUc.createElement(currentUser.userId, urlParams.submissionItemId, type);\n\t\tconst response = ContentElementResponseFactory.mapSubmissionContentToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskResponse.html":{"url":"classes/BoardTaskResponse.html","title":"class - BoardTaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : BoardTaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardTaskStatusResponse } from './board-task-status.response';\n\nexport class BoardTaskResponse {\n\tconstructor({ id, name, createdAt, updatedAt, status }: BoardTaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: BoardTaskStatusResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusMapper.html":{"url":"classes/BoardTaskStatusMapper.html","title":"class - BoardTaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardTaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { BoardTaskStatusResponse } from '../controller/dto';\n\nexport class BoardTaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): BoardTaskStatusResponse {\n\t\tconst dto = new BoardTaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusResponse.html":{"url":"classes/BoardTaskStatusResponse.html","title":"class - BoardTaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class BoardTaskStatusResponse {\n\tconstructor({\n\t\tsubmitted,\n\t\tmaxSubmissions,\n\t\tgraded,\n\t\tisDraft,\n\t\tisSubstitutionTeacher,\n\t\tisFinished,\n\t}: BoardTaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUc.html":{"url":"injectables/BoardUc.html","title":"injectable - BoardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/board.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createColumn\n \n \n Async\n deleteBoard\n \n \n Async\n findBoard\n \n \n Async\n findBoardContext\n \n \n Async\n moveColumn\n \n \n Async\n updateBoardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnBoardService: ColumnBoardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoard\n \n \n \n \n \n \n \n findBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoardContext\n \n \n \n \n \n \n \n findBoardContext(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(userId: EntityId, columnId: EntityId, targetBoardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetBoardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(userId: EntityId, boardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action } from '@modules/authorization';\nimport { AuthorizationService } from '@modules/authorization/domain';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardExternalReference, Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CardService, ColumnBoardService, ColumnService } from '../service';\nimport { BoardDoAuthorizableService } from '../service/board-do-authorizable.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class BoardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(BoardUc.name);\n\t}\n\n\tasync findBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board;\n\t}\n\n\tasync findBoardContext(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoardContext', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board.context;\n\t}\n\n\tasync deleteBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.delete(board);\n\t}\n\n\tasync updateBoardTitle(userId: EntityId, boardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateBoardTitle', userId, boardId, title });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.updateTitle(board, title);\n\t}\n\n\tasync createColumn(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'createColumn', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tconst column = await this.columnService.create(board);\n\t\treturn column;\n\t}\n\n\tasync moveColumn(\n\t\tuserId: EntityId,\n\t\tcolumnId: EntityId,\n\t\ttargetBoardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveColumn', userId, columnId, targetBoardId, targetPosition });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tconst targetBoard = await this.columnBoardService.findById(targetBoardId);\n\n\t\tawait this.checkPermission(userId, column, Action.write);\n\t\tawait this.checkPermission(userId, targetBoard, Action.write);\n\n\t\tawait this.columnService.move(column, targetBoard, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUrlHandler.html":{"url":"injectables/BoardUrlHandler.html","title":"injectable - BoardUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/(.*?)\\/board\\/?$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:11\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { ColumnBoardService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class BoardUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/(.*?)\\/board\\/?$/i];\n\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'board' });\n\n\t\tconst columnBoard = await this.columnBoardService.findById(id);\n\t\tif (columnBoard) {\n\t\t\tmetaData.title = columnBoard.title;\n\t\t\tif (columnBoard.context.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseService.findById(columnBoard.context.id);\n\t\t\t\tmetaData.parentType = 'course';\n\t\t\t\tmetaData.parentTitle = course.name;\n\t\t\t}\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardUrlParams.html":{"url":"classes/BoardUrlParams.html","title":"class - BoardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the board.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class BoardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the board.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BruteForceError.html":{"url":"classes/BruteForceError.html","title":"class - BruteForceError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BruteForceError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/brute-force.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(timeToWait: number, message: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n timeToWait\n \n \n number\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class BruteForceError extends BusinessError {\n\treadonly timeToWait: number;\n\n\tconstructor(timeToWait: number, message: string) {\n\t\tsuper(\n\t\t\t{ type: 'ENTITY_NOT_FOUND', title: 'Entity Not Found', defaultMessage: message },\n\t\t\tHttpStatus.TOO_MANY_REQUESTS,\n\t\t\t{\n\t\t\t\ttimeToWait,\n\t\t\t}\n\t\t);\n\t\tthis.timeToWait = timeToWait;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BsonConverter.html":{"url":"injectables/BsonConverter.html","title":"injectable - BsonConverter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BsonConverter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/converter/bson.converter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deserialize\n \n \n serialize\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deserialize\n \n \n \n \n \n \ndeserialize(bsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:21\n \n \n\n\n \n \n Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n bsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n mongo-bson/ejson objects\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-json documents\n\n \n \n \n \n \n \n \n \n \n \n \n serialize\n \n \n \n \n \n \nserialize(documents: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:11\n \n \n\n\n \n \n Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n documents\n \n []\n \n\n \n No\n \n\n\n \n mongo-json documents\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-bson/ejson objects\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EJSON } from 'bson';\n\n@Injectable()\nexport class BsonConverter {\n\t/**\n\t * Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\t * @param documents mongo-json documents\n\t * @returns mongo-bson/ejson objects\n\t */\n\tserialize(documents: unknown[]): unknown[] {\n\t\tconst bsonDocuments = EJSON.serialize(documents) as unknown[];\n\t\treturn bsonDocuments;\n\t}\n\n\t/**\n\t * Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\t * @param bsonDocuments mongo-bson/ejson objects\n\t * @returns mongo-json documents\n\t */\n\tdeserialize(bsonDocuments: unknown[]): unknown[] {\n\t\tconst jsonDocuments = EJSON.deserialize(bsonDocuments) as unknown[];\n\t\treturn jsonDocuments;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Builder.html":{"url":"classes/Builder.html","title":"class - Builder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Builder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(init: T)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n init\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:8\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class Builder {\n\tprotected readonly product: T;\n\n\tconstructor(init: T) {\n\t\tthis.product = init;\n\t}\n\n\tbuild(): T {\n\t\treturn this.product;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BusinessError.html":{"url":"classes/BusinessError.html","title":"class - BusinessError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BusinessError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/business.error.ts\n \n\n\n \n Description\n \n \n Abstract base class for business errors, errors that are handled\nwithin a client or inside the application.\n\n \n\n \n Extends\n \n \n HttpException\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(undefined: ErrorType, code: HttpStatus, details?: Record, cause?)\n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ErrorType\n \n \n \n No\n \n \n \n \n code\n \n \n HttpStatus\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n cause\n \n \n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:47\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ErrorResponse } from '@src/core/error/dto/error.response';\nimport { ErrorType } from '@src/core/error/interface';\n\n/**\n * Abstract base class for business errors, errors that are handled\n * within a client or inside the application.\n */\nexport abstract class BusinessError extends HttpException {\n\t@ApiProperty({ description: 'The response status code.' })\n\treadonly code: number;\n\n\t@ApiProperty({ description: 'The error type.' })\n\treadonly type: string;\n\n\t@ApiProperty({ description: 'The error title.' })\n\treadonly title: string;\n\n\t@ApiProperty({ description: 'The error message.' })\n\treadonly message: string;\n\n\t@ApiPropertyOptional({ description: 'The error details.' })\n\t// Is not matched by type validation because HttpException is already declared\n\treadonly details?: Record;\n\n\tprotected constructor(\n\t\t{ type, title, defaultMessage }: ErrorType,\n\t\tcode: HttpStatus = HttpStatus.CONFLICT,\n\t\tdetails?: Record,\n\t\tcause?: unknown\n\t) {\n\t\tsuper({ code, type, title, message: defaultMessage }, code);\n\t\tthis.code = code;\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = defaultMessage;\n\t\tthis.details = details;\n\n\t\tif (cause instanceof Error) {\n\t\t\tthis.cause = cause;\n\t\t} else if (cause !== undefined) {\n\t\t\tthis.cause = typeof cause === 'object' ? new Error(JSON.stringify(cause)) : new Error(String(cause));\n\t\t}\n\t}\n\n\toverride getResponse(): ErrorResponse {\n\t\tconst errorResponse: ErrorResponse = new ErrorResponse(\n\t\t\tthis.type,\n\t\t\tthis.title,\n\t\t\tthis.message,\n\t\t\tthis.code,\n\t\t\tthis.details\n\t\t);\n\n\t\treturn errorResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CacheService.html":{"url":"injectables/CacheService.html","title":"injectable - CacheService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CacheService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/cache/service/cache.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getStoreType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStoreType\n \n \n \n \n \n \ngetStoreType()\n \n \n\n\n \n \n Defined in apps/server/src/infra/cache/service/cache.service.ts:7\n \n \n\n\n \n \n\n \n Returns : CacheStoreType\n\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { CacheStoreType } from '../interface/cache-store-type.enum';\n\n@Injectable()\nexport class CacheService {\n\tgetStoreType(): CacheStoreType {\n\t\treturn Configuration.has('REDIS_URI') ? CacheStoreType.REDIS : CacheStoreType.MEMORY;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CacheWrapperModule.html":{"url":"modules/CacheWrapperModule.html","title":"module - CacheWrapperModule","body":"\n \n\n\n\n\n Modules\n CacheWrapperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CacheWrapperModule\n\n\n\ncluster_CacheWrapperModule_exports\n\n\n\ncluster_CacheWrapperModule_providers\n\n\n\n\nCacheService \n\nCacheService \n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nCacheService -->\n\nCacheWrapperModule->CacheService \n\n\n\n\n\nCacheService\n\nCacheService\n\nCacheWrapperModule -->\n\nCacheService->CacheWrapperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/cache/cache.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CacheService\n \n \n \n \n Exports\n \n \n CacheService\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { CacheModule, CacheModuleOptions } from '@nestjs/cache-manager';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { create } from 'cache-manager-redis-store';\nimport { RedisClient } from 'redis';\nimport { CacheStoreType } from './interface';\nimport { CacheService } from './service/cache.service';\n\n@Module({\n\timports: [\n\t\tCacheModule.registerAsync({\n\t\t\tuseFactory: (cacheService: CacheService, logger: LegacyLogger): CacheModuleOptions => {\n\t\t\t\tif (cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst store = create({ url: redisUrl });\n\t\t\t\t\tconst client: RedisClient = store.getClient();\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn { store };\n\t\t\t\t}\n\t\t\t\treturn {};\n\t\t\t},\n\t\t\tinject: [CacheService, LegacyLogger],\n\t\t\timports: [LoggerModule, CacheWrapperModule],\n\t\t}),\n\t],\n\tproviders: [CacheService],\n\texports: [CacheModule, CacheService],\n})\nexport class CacheWrapperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CalendarEvent.html":{"url":"interfaces/CalendarEvent.html","title":"interface - CalendarEvent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CalendarEvent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/interface/calendar-event.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CalendarEvent {\n\tdata: {\n\t\tattributes: {\n\t\t\tsummary: string;\n\t\t\t'x-sc-teamid': string;\n\t\t};\n\t}[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CalendarEventDto.html":{"url":"classes/CalendarEventDto.html","title":"class - CalendarEventDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CalendarEventDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/dto/calendar-event.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n teamId\n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: CalendarEventDto)\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n CalendarEventDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CalendarEventDto {\n\ttitle: string;\n\n\tteamId: string;\n\n\tconstructor(dto: CalendarEventDto) {\n\t\tthis.title = dto.title;\n\t\tthis.teamId = dto.teamId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarMapper.html":{"url":"injectables/CalendarMapper.html","title":"injectable - CalendarMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/mapper/calendar.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(event: CalendarEvent)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n CalendarEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CalendarEventDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CalendarEvent } from '@infra/calendar/interface/calendar-event.interface';\nimport { Injectable } from '@nestjs/common';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\n\n@Injectable()\nexport class CalendarMapper {\n\tmapToDto(event: CalendarEvent): CalendarEventDto {\n\t\tconst { attributes } = event.data[0];\n\t\treturn new CalendarEventDto({\n\t\t\tteamId: attributes['x-sc-teamid'],\n\t\t\ttitle: attributes.summary,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CalendarModule.html":{"url":"modules/CalendarModule.html","title":"module - CalendarModule","body":"\n \n\n\n\n\n Modules\n CalendarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CalendarModule\n\n\n\ncluster_CalendarModule_exports\n\n\n\ncluster_CalendarModule_providers\n\n\n\n\nCalendarService \n\nCalendarService \n\n\n\nCalendarModule\n\nCalendarModule\n\nCalendarService -->\n\nCalendarModule->CalendarService \n\n\n\n\n\nCalendarMapper\n\nCalendarMapper\n\nCalendarModule -->\n\nCalendarMapper->CalendarModule\n\n\n\n\n\nCalendarService\n\nCalendarService\n\nCalendarModule -->\n\nCalendarService->CalendarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/calendar/calendar.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CalendarMapper\n \n \n CalendarService\n \n \n \n \n Exports\n \n \n CalendarService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { CalendarService } from './service/calendar.service';\nimport { CalendarMapper } from './mapper/calendar.mapper';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [CalendarMapper, CalendarService],\n\texports: [CalendarService],\n})\nexport class CalendarModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarService.html":{"url":"injectables/CalendarService.html","title":"injectable - CalendarService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/service/calendar.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findEvent\n \n \n Private\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, calendarMapper: CalendarMapper)\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n calendarMapper\n \n \n CalendarMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findEvent\n \n \n \n \n \n \n \n findEvent(userId: EntityId, eventId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n eventId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(path: string, queryParams: URLSearchParams, config: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n config\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\nimport { CalendarEvent } from '../interface/calendar-event.interface';\nimport { CalendarMapper } from '../mapper/calendar.mapper';\n\n@Injectable()\nexport class CalendarService {\n\tprivate readonly baseURL: string;\n\n\tprivate readonly timeoutMs: number;\n\n\tconstructor(private readonly httpService: HttpService, private readonly calendarMapper: CalendarMapper) {\n\t\tthis.baseURL = Configuration.get('CALENDAR_URI') as string;\n\t\tthis.timeoutMs = Configuration.get('REQUEST_OPTION__TIMEOUT_MS') as number;\n\t}\n\n\tasync findEvent(userId: EntityId, eventId: EntityId): Promise {\n\t\tconst params = new URLSearchParams();\n\t\tparams.append('event-id', eventId);\n\n\t\treturn firstValueFrom(\n\t\t\tthis.get('/events', params, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: userId,\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t\ttimeout: this.timeoutMs,\n\t\t\t})\n\t\t)\n\t\t\t.then((resp: AxiosResponse) => this.calendarMapper.mapToDto(resp.data))\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'CalendarService:findEvent')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\tprivate get(\n\t\tpath: string,\n\t\tqueryParams: URLSearchParams,\n\t\tconfig: AxiosRequestConfig\n\t): Observable> {\n\t\tconst url: URL = new URL(this.baseURL);\n\t\turl.pathname = path;\n\t\turl.search = queryParams.toString();\n\t\treturn this.httpService.get(url.toString(), config);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Card.html":{"url":"classes/Card.html","title":"class - Card","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Card\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n height\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:42\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:11\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:15\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n height\n \n \n\n \n \n getheight()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:19\n \n \n\n \n \n setheight(height: number)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:23\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n height\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CardController.html":{"url":"controllers/CardController.html","title":"controller - CardController","body":"\n \n\n\n\n\n\n\n Controllers\n CardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/card.controller.ts\n \n\n \n Prefix\n \n \n cards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: CardUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element on a card.'})@ApiExtraModels(ExternalToolElementResponse, FileElementResponse, LinkElementResponse, RichTextElementResponse, SubmissionContainerElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':cardId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(urlParams: CardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':cardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n getCards(currentUser: ICurrentUser, cardIdParams: CardIdsParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of cards by their ids.'})@ApiResponse({status: 200, type: CardListResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get()\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n cardIdParams\n \n CardIdsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(urlParams: CardUrlParams, bodyParams: MoveCardBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':cardId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveCardBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(urlParams: CardUrlParams, bodyParams: SetHeightBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the height of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/height')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n SetHeightBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(urlParams: CardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n\tQuery,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc, ColumnUc } from '../uc';\nimport {\n\tAnyContentElementResponse,\n\tCardIdsParams,\n\tCardListResponse,\n\tCardUrlParams,\n\tCreateContentElementBodyParams,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tMoveCardBodyParams,\n\tRenameBodyParams,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from './dto';\nimport { SetHeightBodyParams } from './dto/board/set-height.body.params';\nimport { CardResponseMapper, ContentElementResponseFactory } from './mapper';\n\n@ApiTags('Board Card')\n@Authenticate('jwt')\n@Controller('cards')\nexport class CardController {\n\tconstructor(private readonly columnUc: ColumnUc, private readonly cardUc: CardUc) {}\n\n\t@ApiOperation({ summary: 'Get a list of cards by their ids.' })\n\t@ApiResponse({ status: 200, type: CardListResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get()\n\tasync getCards(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() cardIdParams: CardIdsParams\n\t): Promise {\n\t\tconst cardIds = Array.isArray(cardIdParams.ids) ? cardIdParams.ids : [cardIdParams.ids];\n\t\tconst cards = await this.cardUc.findCards(currentUser.userId, cardIds);\n\t\tconst cardResponses = cards.map((card) => CardResponseMapper.mapToResponse(card));\n\n\t\tconst result = new CardListResponse({\n\t\t\tdata: cardResponses,\n\t\t});\n\t\treturn result;\n\t}\n\n\t@ApiOperation({ summary: 'Move a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':cardId/position')\n\tasync moveCard(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: MoveCardBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.moveCard(currentUser.userId, urlParams.cardId, bodyParams.toColumnId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the height of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/height')\n\tasync updateCardHeight(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: SetHeightBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardHeight(currentUser.userId, urlParams.cardId, bodyParams.height);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/title')\n\tasync updateCardTitle(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardTitle(currentUser.userId, urlParams.cardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':cardId')\n\tasync deleteCard(@Param() urlParams: CardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.cardUc.deleteCard(currentUser.userId, urlParams.cardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element on a card.' })\n\t@ApiExtraModels(\n\t\tExternalToolElementResponse,\n\t\tFileElementResponse,\n\t\tLinkElementResponse,\n\t\tRichTextElementResponse,\n\t\tSubmissionContainerElementResponse\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':cardId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type, toPosition } = bodyParams;\n\t\tconst element = await this.cardUc.createElement(currentUser.userId, urlParams.cardId, type, toPosition);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardIdsParams.html":{"url":"classes/CardIdsParams.html","title":"class - CardIdsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardIdsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-ids.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n ids\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n ids\n \n \n \n \n \n \n Type : string[] | string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId({each: true})@ApiProperty({description: 'Array of Ids to be loaded', type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-ids.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardIdsParams {\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array of Ids to be loaded',\n\t\ttype: [String],\n\t})\n\tids!: string[] | string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardListResponse.html":{"url":"classes/CardListResponse.html","title":"class - CardListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardListResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardListResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CardResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { CardResponse } from './card.response';\n\nexport class CardListResponse {\n\tconstructor({ data }: CardListResponse) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CardResponse] })\n\tdata: CardResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CardNode.html":{"url":"entities/CardNode.html","title":"entity - CardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n CardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardNodeProps.html":{"url":"interfaces/CardNodeProps.html","title":"interface - CardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardProps.html":{"url":"interfaces/CardProps.html","title":"interface - CardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponse.html":{"url":"classes/CardResponse.html","title":"class - CardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n elements\n \n \n \n height\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n visibilitySettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : AnyContentElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n visibilitySettings\n \n \n \n \n \n \n Type : VisibilitySettingsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport {\n\tAnyContentElementResponse,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from '../element';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { VisibilitySettingsResponse } from './visibility-settings.response';\n\n@ApiExtraModels(\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tDrawingElementResponse,\n\tSubmissionContainerElementResponse\n)\nexport class CardResponse {\n\tconstructor({ id, title, height, elements, visibilitySettings, timestamps }: CardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.height = height;\n\t\tthis.elements = elements;\n\t\tthis.visibilitySettings = visibilitySettings;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\theight: number;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\telements: AnyContentElementResponse[];\n\n\t@ApiProperty()\n\tvisibilitySettings: VisibilitySettingsResponse;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponseMapper.html":{"url":"classes/CardResponseMapper.html","title":"class - CardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/card-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/card-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Card } from '@shared/domain/domainobject';\nimport { CardResponse, TimestampsResponse, VisibilitySettingsResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class CardResponseMapper {\n\tstatic mapToResponse(card: Card): CardResponse {\n\t\tconst result = new CardResponse({\n\t\t\tid: card.id,\n\t\t\ttitle: card.title,\n\t\t\theight: card.height,\n\t\t\telements: card.children.map((element) => ContentElementResponseFactory.mapToResponse(element)),\n\t\t\tvisibilitySettings: new VisibilitySettingsResponse({}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: card.updatedAt, createdAt: card.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardService.html":{"url":"injectables/CardService.html","title":"injectable - CardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/card.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n Async\n createEmptyElements\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n move\n \n \n Async\n updateHeight\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementService: ContentElementService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Column, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Column\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createEmptyElements\n \n \n \n \n \n \n \n createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(card: Card, targetColumn: Column, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n targetColumn\n \n Column\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateHeight\n \n \n \n \n \n \n \n updateHeight(card: Card, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(card: Card, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport { Card, Column, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementService } from './content-element.service';\n\n@Injectable()\nexport class CardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementService: ContentElementService\n\t) {}\n\n\tasync findById(cardId: EntityId): Promise {\n\t\treturn this.boardDoRepo.findByClassAndId(Card, cardId);\n\t}\n\n\tasync findByIds(cardIds: EntityId[]): Promise {\n\t\tconst cards = await this.boardDoRepo.findByIds(cardIds);\n\t\tif (cards.some((card) => !(card instanceof Card))) {\n\t\t\tthrow new NotFoundException('some ids do not belong to a card');\n\t\t}\n\n\t\treturn cards as Card[];\n\t}\n\n\tasync create(parent: Column, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(card);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\tif (requiredEmptyElements) {\n\t\t\tawait this.createEmptyElements(card, requiredEmptyElements);\n\t\t}\n\n\t\treturn card;\n\t}\n\n\tasync delete(card: Card): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(card);\n\t}\n\n\tasync move(card: Card, targetColumn: Column, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(card, targetColumn, targetPosition);\n\t}\n\n\tasync updateHeight(card: Card, height: number): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.height = height;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tasync updateTitle(card: Card, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.title = title;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tprivate async createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[]): Promise {\n\t\tfor await (const requiredEmptyElement of requiredEmptyElements) {\n\t\t\tawait this.contentElementService.create(card, requiredEmptyElement);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardSkeletonResponse.html":{"url":"classes/CardSkeletonResponse.html","title":"class - CardSkeletonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardSkeletonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cardId\n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardSkeletonResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardSkeletonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class CardSkeletonResponse {\n\tconstructor({ cardId, height }: CardSkeletonResponse) {\n\t\tthis.cardId = cardId;\n\t\tthis.height = height;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tcardId: string;\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise',\n\t})\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardUc.html":{"url":"injectables/CardUc.html","title":"injectable - CardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/card.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n deleteCard\n \n \n Private\n Async\n filterAllowed\n \n \n Async\n findCards\n \n \n Async\n moveElement\n \n \n Async\n updateCardHeight\n \n \n Async\n updateCardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, elementService: ContentElementService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, cardId: EntityId, type: ContentElementType, toPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n toPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(userId: EntityId, cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterAllowed\n \n \n \n \n \n \n \n filterAllowed(userId: EntityId, boardDos: T[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:97\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDos\n \n T[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findCards\n \n \n \n \n \n \n \n findCards(userId: EntityId, cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(userId: EntityId, elementId: EntityId, targetCardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetCardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(userId: EntityId, cardId: EntityId, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(userId: EntityId, cardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { AnyBoardDo, AnyContentElementDo, Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ContentElementService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class CardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(CardUc.name);\n\t}\n\n\tasync findCards(userId: EntityId, cardIds: EntityId[]): Promise {\n\t\tthis.logger.debug({ action: 'findCards', userId, cardIds });\n\n\t\tconst cards = await this.cardService.findByIds(cardIds);\n\t\tconst allowedCards = await this.filterAllowed(userId, cards, Action.read);\n\n\t\treturn allowedCards;\n\t}\n\n\tasync updateCardHeight(userId: EntityId, cardId: EntityId, height: number): Promise {\n\t\tthis.logger.debug({ action: 'updateCardHeight', userId, cardId, height });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateHeight(card, height);\n\t}\n\n\tasync updateCardTitle(userId: EntityId, cardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateCardTitle', userId, cardId, title });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateTitle(card, title);\n\t}\n\n\tasync deleteCard(userId: EntityId, cardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteCard', userId, cardId });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.delete(card);\n\t}\n\n\t// --- elements ---\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tcardId: EntityId,\n\t\ttype: ContentElementType,\n\t\ttoPosition?: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'createElement', userId, cardId, type });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tconst element = await this.elementService.create(card, type);\n\t\tif (toPosition !== undefined && typeof toPosition === 'number') {\n\t\t\tawait this.elementService.move(element, card, toPosition);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync moveElement(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\ttargetCardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, elementId, targetCardId, targetPosition });\n\n\t\tconst element = await this.elementService.findById(elementId);\n\t\tconst targetCard = await this.cardService.findById(targetCardId);\n\n\t\tawait this.checkPermission(userId, element, Action.write);\n\t\tawait this.checkPermission(userId, targetCard, Action.write);\n\n\t\tawait this.elementService.move(element, targetCard, targetPosition);\n\t}\n\n\tprivate async filterAllowed(userId: EntityId, boardDos: T[], action: Action): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst context = { action, requiredPermissions: [] };\n\t\tconst promises = boardDos.map((boardDo) =>\n\t\t\tthis.boardDoAuthorizableService.getBoardAuthorizable(boardDo).then((boardDoAuthorizable) => {\n\t\t\t\treturn { boardDoAuthorizable, boardDo };\n\t\t\t})\n\t\t);\n\t\tconst result = await Promise.all(promises);\n\n\t\tconst allowed = result.reduce((allowedDos: T[], { boardDoAuthorizable, boardDo }) => {\n\t\t\tif (this.authorizationService.hasPermission(user, boardDoAuthorizable, context)) {\n\t\t\t\tallowedDos.push(boardDo);\n\t\t\t}\n\t\t\treturn allowedDos;\n\t\t}, []);\n\n\t\treturn allowed;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardUrlParams.html":{"url":"classes/CardUrlParams.html","title":"class - CardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the card.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the card.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChallengeParams.html":{"url":"classes/ChallengeParams.html","title":"class - ChallengeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChallengeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The login challenge.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ChallengeParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The login challenge.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tchallenge!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChangeLanguageParams.html":{"url":"classes/ChangeLanguageParams.html","title":"class - ChangeLanguageParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChangeLanguageParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LanguageType } from '@shared/domain/entity';\nimport { IsEnum } from 'class-validator';\n\nexport class ChangeLanguageParams {\n\t@ApiProperty({ enum: LanguageType })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Class.html":{"url":"classes/Class.html","title":"class - Class","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Class\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n schoolId\n \n \n userIds\n \n \n teacherIds\n \n \n invitationLink\n \n \n year\n \n \n gradeLevel\n \n \n ldapDN\n \n \n successor\n \n \n source\n \n \n sourceOptions\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n removeUser\n \n \n \n \n \n \n \n removeUser(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:22\n \n \n\n \n \n \n \n \n \n \n schoolId\n \n \n\n \n \n getschoolId()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:26\n \n \n\n \n \n \n \n \n \n \n userIds\n \n \n\n \n \n getuserIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:30\n \n \n\n \n \n \n \n \n \n \n teacherIds\n \n \n\n \n \n getteacherIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:34\n \n \n\n \n \n \n \n \n \n \n invitationLink\n \n \n\n \n \n getinvitationLink()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:38\n \n \n\n \n \n \n \n \n \n \n year\n \n \n\n \n \n getyear()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:42\n \n \n\n \n \n \n \n \n \n \n gradeLevel\n \n \n\n \n \n getgradeLevel()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:46\n \n \n\n \n \n \n \n \n \n \n ldapDN\n \n \n\n \n \n getldapDN()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:50\n \n \n\n \n \n \n \n \n \n \n successor\n \n \n\n \n \n getsuccessor()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:54\n \n \n\n \n \n \n \n \n \n \n source\n \n \n\n \n \n getsource()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:58\n \n \n\n \n \n \n \n \n \n \n sourceOptions\n \n \n\n \n \n getsourceOptions()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:62\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:66\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:70\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ClassEntity.html":{"url":"entities/ClassEntity.html","title":"entity - ClassEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ClassEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n Optional\n invitationLink\n \n \n \n Optional\n ldapDN\n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n \n Optional\n source\n \n \n \n Optional\n sourceOptions\n \n \n \n Optional\n successor\n \n \n \n \n teacherIds\n \n \n \n \n Optional\n userIds\n \n \n \n Optional\n year\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n invitationLink\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapDN\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceOptions\n \n \n \n \n \n \n Type : ClassSourceOptionsEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n successor\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n year\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:44\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassEntityFactory.html":{"url":"classes/ClassEntityFactory.html","title":"class - ClassEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ClassEntity, ClassEntityProps, ClassSourceOptionsEntity } from '@modules/class/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\n\nclass ClassEntityFactory extends BaseFactory {\n\twithUserIds(userIds: ObjectId[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classEntityFactory = ClassEntityFactory.define(ClassEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId(),\n\t\tuserIds: new Array(),\n\t\tteacherIds: [new ObjectId(), new ObjectId()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptionsEntity({ tspUid: `id-${sequence}` }),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassEntityProps.html":{"url":"interfaces/ClassEntityProps.html","title":"interface - ClassEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptionsEntity\n\n \n \n\n\n \n \n Type : ClassSourceOptionsEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFactory.html":{"url":"classes/ClassFactory.html","title":"class - ClassFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/testing/factory/class.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { Class, ClassProps } from '../../class.do';\nimport { ClassSourceOptions } from '../../class-source-options.do';\n\nclass ClassFactory extends DoBaseFactory {\n\twithUserIds(userIds: string[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classFactory = ClassFactory.define(Class, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId().toHexString(),\n\t\tuserIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tteacherIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId().toHexString(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId().toHexString(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptions({ tspUid: `id-${sequence}` }),\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFilterParams.html":{"url":"classes/ClassFilterParams.html","title":"class - ClassFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-filter-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SchoolYearQueryType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SchoolYearQueryType)@ApiPropertyOptional({enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType'})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/request/class-filter-params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { SchoolYearQueryType } from '../interface';\n\nexport class ClassFilterParams {\n\t@IsOptional()\n\t@IsEnum(SchoolYearQueryType)\n\t@ApiPropertyOptional({ enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType' })\n\ttype?: SchoolYearQueryType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoDto.html":{"url":"classes/ClassInfoDto.html","title":"class - ClassInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/class-info.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n id\n \n \n Optional\n isUpgradable\n \n \n name\n \n \n Optional\n schoolYear\n \n \n studentCount\n \n \n teacherNames\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n teacherNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ClassRootType } from './class-root-type';\n\nexport class ClassInfoDto {\n\tid: string;\n\n\ttype: ClassRootType;\n\n\tname: string;\n\n\texternalSourceName?: string;\n\n\tteacherNames: string[];\n\n\tschoolYear?: string;\n\n\tisUpgradable?: boolean;\n\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoDto) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teacherNames = props.teacherNames;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoResponse.html":{"url":"classes/ClassInfoResponse.html","title":"class - ClassInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n id\n \n \n \n Optional\n isUpgradable\n \n \n \n name\n \n \n \n Optional\n schoolYear\n \n \n \n studentCount\n \n \n \n teachers\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ClassRootType})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ClassRootType } from '../../../uc/dto/class-root-type';\n\nexport class ClassInfoResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty({ enum: ClassRootType })\n\ttype: ClassRootType;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\texternalSourceName?: string;\n\n\t@ApiProperty({ type: [String] })\n\tteachers: string[];\n\n\t@ApiPropertyOptional()\n\tschoolYear?: string;\n\n\t@ApiPropertyOptional()\n\tisUpgradable?: boolean;\n\n\t@ApiProperty()\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teachers = props.teachers;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoSearchListResponse.html":{"url":"classes/ClassInfoSearchListResponse.html","title":"class - ClassInfoSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ClassInfoResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ClassInfoResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { ClassInfoResponse } from './class-info.response';\n\nexport class ClassInfoSearchListResponse extends PaginationResponse {\n\tconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ClassInfoResponse] })\n\tdata: ClassInfoResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassMapper.html":{"url":"classes/ClassMapper.html","title":"class - ClassMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/mapper/class.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: ClassEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ClassEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: ClassEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n ClassEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: Class)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Class\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Class } from '../../domain';\nimport { ClassSourceOptions } from '../../domain/class-source-options.do';\nimport { ClassEntity } from '../../entity';\n\nexport class ClassMapper {\n\tprivate static mapToDO(entity: ClassEntity): Class {\n\t\treturn new Class({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tschoolId: entity.schoolId.toHexString(),\n\t\t\tuserIds: entity.userIds?.map((userId) => userId.toHexString()),\n\t\t\tteacherIds: entity.teacherIds.map((teacherId) => teacherId.toHexString()),\n\t\t\tinvitationLink: entity.invitationLink,\n\t\t\tyear: entity.year?.toHexString(),\n\t\t\tgradeLevel: entity.gradeLevel,\n\t\t\tldapDN: entity.ldapDN,\n\t\t\tsuccessor: entity.successor?.toHexString(),\n\t\t\tsource: entity.source,\n\t\t\tsourceOptions: new ClassSourceOptions({ tspUid: entity.sourceOptions?.tspUid }),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: Class): ClassEntity {\n\t\treturn new ClassEntity({\n\t\t\tid: domainObject.id,\n\t\t\tname: domainObject.name,\n\t\t\tschoolId: new ObjectId(domainObject.schoolId),\n\t\t\tteacherIds: domainObject.teacherIds.map((teacherId) => new ObjectId(teacherId)),\n\t\t\tuserIds: domainObject.userIds?.map((userId) => new ObjectId(userId)),\n\t\t\tinvitationLink: domainObject.invitationLink,\n\t\t\tyear: domainObject.year !== undefined ? new ObjectId(domainObject.year) : undefined,\n\t\t\tgradeLevel: domainObject.gradeLevel,\n\t\t\tldapDN: domainObject.ldapDN,\n\t\t\tsuccessor: domainObject.successor !== undefined ? new ObjectId(domainObject.successor) : undefined,\n\t\t\tsource: domainObject.source,\n\t\t\tsourceOptions: domainObject.sourceOptions,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: ClassEntity[]): Class[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: Class[]): ClassEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ClassModule.html":{"url":"modules/ClassModule.html","title":"module - ClassModule","body":"\n \n\n\n\n\n Modules\n ClassModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ClassModule\n\n\n\ncluster_ClassModule_exports\n\n\n\ncluster_ClassModule_providers\n\n\n\n\nClassService \n\nClassService \n\n\n\nClassModule\n\nClassModule\n\nClassService -->\n\nClassModule->ClassService \n\n\n\n\n\nClassService\n\nClassService\n\nClassModule -->\n\nClassService->ClassModule\n\n\n\n\n\nClassesRepo\n\nClassesRepo\n\nClassModule -->\n\nClassesRepo->ClassModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/class/class.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ClassService\n \n \n ClassesRepo\n \n \n \n \n Exports\n \n \n ClassService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ClassService } from './service';\nimport { ClassesRepo } from './repo';\n\n@Module({\n\tproviders: [ClassService, ClassesRepo],\n\texports: [ClassService],\n})\nexport class ClassModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassProps.html":{"url":"interfaces/ClassProps.html","title":"interface - ClassProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n \n updatedAt\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptions\n\n \n \n\n\n \n \n Type : ClassSourceOptions\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassService.html":{"url":"injectables/ClassService.html","title":"injectable - ClassService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/service/class.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n Public\n Async\n findAllByUserId\n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(classesRepo: ClassesRepo)\n \n \n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n classesRepo\n \n \n ClassesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n \n \n \n \n \n deleteUserDataFromClasses(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassesRepo } from '../repo';\n\n@Injectable()\nexport class ClassService {\n\tconstructor(private readonly classesRepo: ClassesRepo) {}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllBySchoolId(schoolId);\n\n\t\treturn classes;\n\t}\n\n\tpublic async findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllByUserId(userId);\n\n\t\treturn classes;\n\t}\n\n\t// FIXME There is no usage of this method\n\tpublic async deleteUserDataFromClasses(userId: EntityId): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst domainObjects = await this.classesRepo.findAllByUserId(userId);\n\n\t\tconst updatedClasses: Class[] = domainObjects.map((domainObject) => {\n\t\t\tif (domainObject.userIds !== undefined) {\n\t\t\t\tdomainObject.removeUser(userId);\n\t\t\t}\n\t\t\treturn domainObject;\n\t\t});\n\n\t\tawait this.classesRepo.updateMany(updatedClasses);\n\n\t\treturn updatedClasses.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSortParams.html":{"url":"classes/ClassSortParams.html","title":"class - ClassSortParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSortParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-sort-params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ClassSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ClassSortBy)@ApiPropertyOptional({enum: ClassSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ClassSortBy } from '../interface';\n\nexport class ClassSortParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ClassSortBy)\n\t@ApiPropertyOptional({ enum: ClassSortBy })\n\tsortBy?: ClassSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptions.html":{"url":"classes/ClassSourceOptions.html","title":"class - ClassSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsProps)\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : ClassSourceOptionsProps\n\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n\n \n \n gettspUid()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:12\n \n \n\n \n \n\n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptionsEntity.html":{"url":"classes/ClassSourceOptionsEntity.html","title":"class - ClassSourceOptionsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptionsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsEntityProps.html":{"url":"interfaces/ClassSourceOptionsEntityProps.html","title":"interface - ClassSourceOptionsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsProps.html":{"url":"interfaces/ClassSourceOptionsProps.html","title":"interface - ClassSourceOptionsProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassesRepo.html":{"url":"injectables/ClassesRepo.html","title":"injectable - ClassesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/classes.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n Async\n findAllByUserId\n \n \n Async\n updateMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n \n \n \n \n \n findAllBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMany\n \n \n \n \n \n \n \n updateMany(classes: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassEntity } from '../entity';\nimport { ClassMapper } from './mapper';\n\n@Injectable()\nexport class ClassesRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findAllBySchoolId(schoolId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, { schoolId: new ObjectId(schoolId) });\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\t$or: [{ userIds: new ObjectId(userId) }, { teacherIds: new ObjectId(userId) }],\n\t\t});\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync updateMany(classes: Class[]): Promise {\n\t\tconst classMap: Map = new Map(\n\t\t\tclasses.map((clazz: Class): [string, Class] => [clazz.id, clazz])\n\t\t);\n\n\t\tconst existingEntities: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\tid: { $in: Array.from(classMap.keys()) },\n\t\t});\n\n\t\tif (existingEntities.length !existingEntities.find((entity) => entity.id === classId)\n\t\t\t);\n\n\t\t\tthrow new NotFoundLoggableException(Class.name, { id: missingEntityIds.toString() });\n\t\t}\n\n\t\texistingEntities.forEach((entity) => {\n\t\t\tconst updatedDomainObject: Class | undefined = classMap.get(entity.id);\n\n\t\t\tconst updatedEntity: ClassEntity = ClassMapper.mapToEntity(updatedDomainObject as Class);\n\n\t\t\tthis.em.assign(entity, updatedEntity);\n\t\t});\n\n\t\tawait this.em.persistAndFlush(existingEntities);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CleanOptions.html":{"url":"interfaces/CleanOptions.html","title":"interface - CleanOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CleanOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pageSize\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pageSize\n \n \n \n \n \n \n \n \n pageSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CloseUserLoginMigrationUc.html":{"url":"injectables/CloseUserLoginMigrationUc.html","title":"injectable - CloseUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CloseUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolMigrationService: SchoolMigrationService, userLoginMigrationRevertService: UserLoginMigrationRevertService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationRevertService\n \n \n UserLoginMigrationRevertService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationRevertService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class CloseUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly userLoginMigrationRevertService: UserLoginMigrationRevertService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync closeMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.closeMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tconst hasSchoolMigratedUser: boolean = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\tif (!hasSchoolMigratedUser) {\n\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(updatedUserLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapter.html":{"url":"injectables/CollaborativeStorageAdapter.html","title":"injectable - CollaborativeStorageAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts\n \n\n\n \n Description\n \n \n Provides an Adapter to an external collaborative storage.\nIt loads an appropriate strategy and applies that to the given data.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategy\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n setStrategy\n \n \n updateTeam\n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(strategy: CollaborativeStorageStrategy, mapper: CollaborativeStorageAdapterMapper, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n \n CollaborativeStorageStrategy\n \n \n \n No\n \n \n \n \n mapper\n \n \n CollaborativeStorageAdapterMapper\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:58\n \n \n\n\n \n \n Creates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:49\n \n \n\n\n \n \n Deletes a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The team id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setStrategy\n \n \n \n \n \n \nsetStrategy(strategy: CollaborativeStorageStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:30\n \n \n\n\n \n \n Set the strategy that should be used by the adapter\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n strategy\n \n CollaborativeStorageStrategy\n \n\n \n No\n \n\n\n \n The strategy\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:67\n \n \n\n\n \n \n Updates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:40\n \n \n\n\n \n \n Update the Permissions for a given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The permissions to set\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategy\n \n \n \n \n \n \n Type : CollaborativeStorageStrategy\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n\n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageAdapterMapper } from './mapper/collaborative-storage-adapter.mapper';\nimport { CollaborativeStorageStrategy } from './strategy/base.interface.strategy';\n\n/**\n * Provides an Adapter to an external collaborative storage.\n * It loads an appropriate strategy and applies that to the given data.\n */\n@Injectable()\nexport class CollaborativeStorageAdapter {\n\tstrategy: CollaborativeStorageStrategy;\n\n\tconstructor(\n\t\t@Inject('CollaborativeStorageStrategy') strategy: CollaborativeStorageStrategy,\n\t\tprivate mapper: CollaborativeStorageAdapterMapper,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageAdapter.name);\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Set the strategy that should be used by the adapter\n\t * @param strategy The strategy\n\t */\n\tsetStrategy(strategy: CollaborativeStorageStrategy) {\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Update the Permissions for a given Role in the given Team\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The permissions to set\n\t */\n\tupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): Promise {\n\t\treturn this.strategy.updateTeamPermissionsForRole(this.mapper.mapDomainToAdapter(team, role, permissions));\n\t}\n\n\t/**\n\t * Deletes a team in the collaborative storage\n\t *\n\t * @param teamId The team id\n\t */\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.strategy.deleteTeam(teamId);\n\t}\n\n\t/**\n\t * Creates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.createTeam(team);\n\t}\n\n\t/**\n\t * Updates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapterMapper.html":{"url":"injectables/CollaborativeStorageAdapterMapper.html","title":"injectable - CollaborativeStorageAdapterMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapterMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n \n \n \n mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts:16\n \n \n\n\n \n \n Maps the Domain DTOs to an appropriate adapter DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The Permissions DTO\n\n \n \n \n \n \n \n Returns : TeamRolePermissionsDto\n\n \n \n The mapped adapter DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { Injectable } from '@nestjs/common';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n@Injectable()\nexport class CollaborativeStorageAdapterMapper {\n\t/**\n\t * Maps the Domain DTOs to an appropriate adapter DTO\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The Permissions DTO\n\t * @return The mapped adapter DTO\n\t */\n\tpublic mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): TeamRolePermissionsDto {\n\t\treturn new TeamRolePermissionsDto({\n\t\t\tteamId: team.id,\n\t\t\tteamName: team.name,\n\t\t\troleName: role.name,\n\t\t\tpermissions: [\n\t\t\t\t!!permissions.read,\n\t\t\t\t!!permissions.write,\n\t\t\t\t!!permissions.create,\n\t\t\t\t!!permissions.delete,\n\t\t\t\t!!permissions.share,\n\t\t\t],\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageAdapterModule.html":{"url":"modules/CollaborativeStorageAdapterModule.html","title":"module - CollaborativeStorageAdapterModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageAdapterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageAdapterModule\n\n\n\ncluster_CollaborativeStorageAdapterModule_exports\n\n\n\ncluster_CollaborativeStorageAdapterModule_imports\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 { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, Provider } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LoggerModule } from '@src/core/logger';\nimport { CollaborativeStorageAdapter } from './collaborative-storage.adapter';\nimport { CollaborativeStorageAdapterMapper } from './mapper';\nimport { NextcloudClient } from './strategy/nextcloud/nextcloud.client';\nimport { NextcloudStrategy } from './strategy/nextcloud/nextcloud.strategy';\n\nconst storageStrategy: Provider = {\n\tprovide: 'CollaborativeStorageStrategy',\n\tuseExisting: NextcloudStrategy,\n};\n\n@Module({\n\timports: [HttpModule, LoggerModule, ToolModule, PseudonymModule, UserModule],\n\tproviders: [\n\t\tCollaborativeStorageAdapter,\n\t\tCollaborativeStorageAdapterMapper,\n\t\tLtiToolRepo,\n\t\tNextcloudStrategy,\n\t\tNextcloudClient,\n\t\tstorageStrategy,\n\t\t{\n\t\t\tprovide: 'oidcInternalName',\n\t\t\tuseValue: Configuration.get('NEXTCLOUD_SOCIALLOGIN_OIDC_INTERNAL_NAME') as string,\n\t\t},\n\t],\n\texports: [CollaborativeStorageAdapter],\n})\nexport class CollaborativeStorageAdapterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CollaborativeStorageController.html":{"url":"controllers/CollaborativeStorageController.html","title":"controller - CollaborativeStorageController","body":"\n \n\n\n\n\n\n\n Controllers\n CollaborativeStorageController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts\n \n\n \n Prefix\n \n \n collaborative-storage\n \n\n\n \n Description\n \n \n Class for providing access to an external collaborative storage.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUser: ICurrentUser, teamRole: TeamRoleDto, permissionsBody: TeamPermissionsBody)\n \n \n\n \n \n Decorators : \n \n @Patch('team/:teamId/role/:roleId/permissions')@ApiResponse({status: 200, description: 'Updates the permissions for a team in the external collaborative storage'})@ApiResponse({status: 400, description: 'An error occurred while processing the request'})@ApiResponse({status: 403, description: 'User does not have the correct permission'})@ApiResponse({status: 404, description: 'Team or Role not found!'})\n \n \n\n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts:32\n \n \n\n\n \n \n Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n The current User\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n Encapsulates the Team and Role to be updated\n\n \n \n \n permissionsBody\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Param, Patch } from '@nestjs/common';\nimport { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageUc } from '../uc/collaborative-storage.uc';\nimport { TeamPermissionsBody } from './dto/team-permissions.body.params';\nimport { TeamRoleDto } from './dto/team-role.params';\n\n/**\n * Class for providing access to an external collaborative storage.\n *\n */\n@ApiTags('Collaborative-Storage')\n@Authenticate('jwt')\n@Controller('collaborative-storage')\nexport class CollaborativeStorageController {\n\tconstructor(private readonly teamStorageUc: CollaborativeStorageUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(CollaborativeStorageController.name);\n\t}\n\n\t/**\n\t * Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\t * @param currentUser The current User\n\t * @param teamRole Encapsulates the Team and Role to be updated\n\t * @param permissionsBody The new Permissions\n\t */\n\t@Patch('team/:teamId/role/:roleId/permissions')\n\t@ApiResponse({ status: 200, description: 'Updates the permissions for a team in the external collaborative storage' })\n\t@ApiResponse({ status: 400, description: 'An error occurred while processing the request' })\n\t@ApiResponse({ status: 403, description: 'User does not have the correct permission' })\n\t@ApiResponse({ status: 404, description: 'Team or Role not found!' })\n\tupdateTeamPermissionsForRole(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() teamRole: TeamRoleDto,\n\t\t@Body() permissionsBody: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.teamStorageUc.updateUserPermissionsForRole(currentUser.userId, teamRole, permissionsBody);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageModule.html":{"url":"modules/CollaborativeStorageModule.html","title":"module - CollaborativeStorageModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageModule\n\n\n\ncluster_CollaborativeStorageModule_exports\n\n\n\ncluster_CollaborativeStorageModule_imports\n\n\n\ncluster_CollaborativeStorageModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule -->\n\nAuthorizationModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageAdapterModule->CollaborativeStorageModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCollaborativeStorageModule -->\n\nLoggerModule->CollaborativeStorageModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nCollaborativeStorageModule -->\n\nRoleModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc \n\nCollaborativeStorageUc \n\nCollaborativeStorageUc -->\n\nCollaborativeStorageModule->CollaborativeStorageUc \n\n\n\n\n\nCollaborativeStorageService\n\nCollaborativeStorageService\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageService->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc\n\nCollaborativeStorageUc\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageUc->CollaborativeStorageModule\n\n\n\n\n\nTeamMapper\n\nTeamMapper\n\nCollaborativeStorageModule -->\n\nTeamMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamPermissionsMapper\n\nTeamPermissionsMapper\n\nCollaborativeStorageModule -->\n\nTeamPermissionsMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nCollaborativeStorageModule -->\n\nTeamsRepo->CollaborativeStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/collaborative-storage/collaborative-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CollaborativeStorageService\n \n \n CollaborativeStorageUc\n \n \n TeamMapper\n \n \n TeamPermissionsMapper\n \n \n TeamsRepo\n \n \n \n \n Controllers\n \n \n CollaborativeStorageController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CollaborativeStorageAdapterModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n CollaborativeStorageUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CollaborativeStorageAdapterModule } from '@infra/collaborative-storage';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { RoleModule } from '@modules/role';\nimport { CollaborativeStorageService } from './services';\nimport { TeamPermissionsMapper, TeamMapper } from './mapper';\nimport { CollaborativeStorageController } from './controller';\nimport { CollaborativeStorageUc } from './uc';\n\n@Module({\n\timports: [CollaborativeStorageAdapterModule, AuthorizationModule, LoggerModule, RoleModule],\n\tproviders: [TeamsRepo, CollaborativeStorageUc, CollaborativeStorageService, TeamPermissionsMapper, TeamMapper],\n\tcontrollers: [CollaborativeStorageController],\n\texports: [CollaborativeStorageUc],\n})\nexport class CollaborativeStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageService.html":{"url":"injectables/CollaborativeStorageService.html","title":"injectable - CollaborativeStorageService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n Async\n findTeamById\n \n \n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(adapter: CollaborativeStorageAdapter, roleService: RoleService, teamsMapper: TeamMapper, teamsRepo: TeamsRepo, authService: AuthorizationService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n adapter\n \n \n CollaborativeStorageAdapter\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n teamsMapper\n \n \n TeamMapper\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n authService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findTeamById\n \n \n \n \n \n \n \n findTeamById(teamId: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:32\n \n \n\n\n \n \n Find a Team by its Id and return the DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n teamId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n The TeamId\n\n \n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n Decide, if you want to populate the Users in the Entity\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n The mapped DTO\n\n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUserId: string, teamId: string, roleId: string, teamPermissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:43\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The TeamId\n\n \n \n \n roleId\n \n string\n \n\n \n No\n \n\n\n \n The RoleId\n\n \n \n \n teamPermissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CollaborativeStorageAdapter } from '@infra/collaborative-storage';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamMapper } from '../mapper/team.mapper';\nimport { TeamPermissionsDto } from './dto/team-permissions.dto';\nimport { TeamDto } from './dto/team.dto';\n\n@Injectable()\nexport class CollaborativeStorageService {\n\tconstructor(\n\t\tprivate adapter: CollaborativeStorageAdapter,\n\t\tprivate roleService: RoleService,\n\t\tprivate teamsMapper: TeamMapper,\n\t\tprivate teamsRepo: TeamsRepo,\n\t\tprivate authService: AuthorizationService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageService.name);\n\t}\n\n\t/**\n\t * Find a Team by its Id and return the DTO\n\t * @param teamId The TeamId\n\t * @param populate Decide, if you want to populate the Users in the Entity\n\t * @return The mapped DTO\n\t */\n\tasync findTeamById(teamId: EntityId, populate = false): Promise {\n\t\treturn this.teamsMapper.mapEntityToDto(await this.teamsRepo.findById(teamId, populate));\n\t}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamId The TeamId\n\t * @param roleId The RoleId\n\t * @param teamPermissions The new Permissions\n\t */\n\tasync updateTeamPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamId: string,\n\t\troleId: string,\n\t\tteamPermissions: TeamPermissionsDto\n\t): Promise {\n\t\tthis.authService.checkPermission(\n\t\t\tawait this.authService.getUserWithPermissions(currentUserId),\n\t\t\tawait this.teamsRepo.findById(teamId, true),\n\t\t\tAuthorizationContextBuilder.write([Permission.CHANGE_TEAM_ROLES])\n\t\t);\n\t\treturn this.adapter.updateTeamPermissionsForRole(\n\t\t\tawait this.findTeamById(teamId, true),\n\t\t\tawait this.roleService.findById(roleId),\n\t\t\tteamPermissions\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.adapter.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollaborativeStorageStrategy.html":{"url":"interfaces/CollaborativeStorageStrategy.html","title":"interface - CollaborativeStorageStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollaborativeStorageStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts\n \n\n\n \n Description\n \n \n base interface for all CollaborativeStorage Strategies\n\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n deleteTeam\n \n \n \n \n updateTeam\n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:12\n \n \n\n\n \n \n Updates The Permissions for the given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n The DTO to be processed\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n/**\n * base interface for all CollaborativeStorage Strategies\n */\nexport interface CollaborativeStorageStrategy {\n\t/**\n\t * Updates The Permissions for the given Role in the given Team\n\t * @param dto The DTO to be processed\n\t */\n\tupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise;\n\n\tdeleteTeam(teamId: string): Promise;\n\n\tcreateTeam(team: TeamDto): Promise;\n\n\tupdateTeam(team: TeamDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageUc.html":{"url":"injectables/CollaborativeStorageUc.html","title":"injectable - CollaborativeStorageUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n updateTeam\n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: CollaborativeStorageService, permissionMapper: TeamPermissionsMapper)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n CollaborativeStorageService\n \n \n \n No\n \n \n \n \n permissionMapper\n \n \n TeamPermissionsMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n \n \n \n updateUserPermissionsForRole(currentUserId: string, teamRole: TeamRoleDto, permissionsDto: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:21\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n The Team and Role to be altered\n\n \n \n \n permissionsDto\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CollaborativeStorageService } from '@modules/collaborative-storage/services/collaborative-storage.service';\nimport { TeamPermissionsMapper } from '@modules/collaborative-storage/mapper/team-permissions.mapper';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamRoleDto } from '../controller/dto/team-role.params';\n\n@Injectable()\nexport class CollaborativeStorageUc {\n\tconstructor(\n\t\tprivate readonly service: CollaborativeStorageService,\n\t\tprivate readonly permissionMapper: TeamPermissionsMapper\n\t) {}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamRole The Team and Role to be altered\n\t * @param permissionsDto The new permissions\n\t */\n\tasync updateUserPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamRole: TeamRoleDto,\n\t\tpermissionsDto: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.service.updateTeamPermissionsForRole(\n\t\t\tcurrentUserId,\n\t\t\tteamRole.teamId,\n\t\t\tteamRole.roleId,\n\t\t\tthis.permissionMapper.mapBodyToDto(permissionsDto)\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.service.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.service.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.service.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollectionFilePath.html":{"url":"interfaces/CollectionFilePath.html","title":"interface - CollectionFilePath","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollectionFilePath\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/database-management.uc.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n collectionName\n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n collectionName\n \n \n \n \n \n \n \n \n collectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n filePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { DatabaseManagementService } from '@infra/database';\nimport { DefaultEncryptionService, EncryptionService, LdapEncryptionService } from '@infra/encryption';\nimport { FileSystemAdapter } from '@infra/file-system';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { StorageProviderEntity, SystemEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { orderBy } from 'lodash';\nimport { BsonConverter } from '../converter/bson.converter';\nimport { generateSeedData } from '../seed-data/generateSeedData';\n\nexport interface CollectionFilePath {\n\tfilePath: string;\n\tcollectionName: string;\n}\n\nconst systemsCollectionName = 'systems';\nconst storageprovidersCollectionName = 'storageproviders';\n\nconst defaultSecretReplacementHintText = 'replace with secret placeholder';\n\n@Injectable()\nexport class DatabaseManagementUc {\n\t/**\n\t * relative path to seed data folder based of location of this file.\n\t */\n\tprivate basePath = '../../../../../../backup';\n\n\tconstructor(\n\t\tprivate fileSystemAdapter: FileSystemAdapter,\n\t\tprivate databaseManagementService: DatabaseManagementService,\n\t\tprivate bsonConverter: BsonConverter,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate em: EntityManager,\n\t\t@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService,\n\t\t@Inject(LdapEncryptionService) private readonly ldapEncryptionService: EncryptionService\n\t) {\n\t\tthis.logger.setContext(DatabaseManagementUc.name);\n\t}\n\n\t/**\n\t * absolute path reference for seed data base folder.\n\t */\n\tprivate get baseDir(): string {\n\t\tconst folderPath = this.fileSystemAdapter.joinPath(__dirname, this.basePath);\n\t\treturn folderPath;\n\t}\n\n\t/**\n\t * setup dir with json files\n\t */\n\tprivate getSeedFolder() {\n\t\treturn this.fileSystemAdapter.joinPath(this.baseDir, 'setup');\n\t}\n\n\t/**\n\t * export folder name based on current date\n\t * @returns\n\t */\n\tprivate getTargetFolder(toSeedFolder?: boolean) {\n\t\tif (toSeedFolder === true) {\n\t\t\tconst targetFolder = this.getSeedFolder();\n\t\t\treturn targetFolder;\n\t\t}\n\t\tconst now = new Date();\n\t\tconst currentDateTime = `${now.getFullYear()}_${\n\t\t\tnow.getMonth() + 1\n\t\t}_${now.getDate()}_${now.getHours()}_${now.getMinutes()}_${now.getSeconds()}`;\n\t\tconst targetFolder = this.fileSystemAdapter.joinPath(this.baseDir, currentDateTime);\n\t\treturn targetFolder;\n\t}\n\n\t/**\n\t * Loads all collection names from database and adds related file paths.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromDatabase(targetFolder: string): Promise {\n\t\tconst collections = await this.databaseManagementService.getCollectionNames();\n\t\tconst collectionsWithFilePaths = collections.map((collectionName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(targetFolder, `${collectionName}.json`),\n\t\t\t\tcollectionName,\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Loads all collection names and file paths from backup files.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromFilesystem(baseDir: string): Promise {\n\t\tconst filenames = await this.fileSystemAdapter.readDir(baseDir);\n\t\tconst collectionsWithFilePaths = filenames.map((fileName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(baseDir, fileName),\n\t\t\t\tcollectionName: fileName.split('.')[0],\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Scans for existing collections and optionally filters them based on \n\t * @param source\n\t * @param collectionNameFilter\n\t * @returns {CollectionFilePath} the filtered collection names and related file paths\n\t */\n\tprivate async loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\tsource: 'files' | 'database',\n\t\tfolder: string,\n\t\tcollectionNameFilter?: string[]\n\t) {\n\t\tlet allCollectionsWithFilePaths: CollectionFilePath[] = [];\n\n\t\t// load all available collections from source\n\t\tif (source === 'files') {\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromFilesystem(folder);\n\t\t} else {\n\t\t\t// source === 'database'\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromDatabase(folder);\n\t\t}\n\n\t\t// when a collection name filter is given, apply it and check\n\t\tif (Array.isArray(collectionNameFilter) && collectionNameFilter.length > 0) {\n\t\t\tconst filteredCollectionsWithFilePaths = allCollectionsWithFilePaths.filter(({ collectionName }) =>\n\t\t\t\tcollectionNameFilter?.includes(collectionName)\n\t\t\t);\n\n\t\t\tif (filteredCollectionsWithFilePaths.length !== collectionNameFilter.length) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`At least one collectionName of ${JSON.stringify(\n\t\t\t\t\t\tcollectionNameFilter\n\t\t\t\t\t)} is invalid. Collection names available in '${source}' are: ${JSON.stringify(\n\t\t\t\t\t\tallCollectionsWithFilePaths.map((file) => file.collectionName)\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn filteredCollectionsWithFilePaths;\n\t\t}\n\n\t\treturn allCollectionsWithFilePaths;\n\t}\n\n\tprivate async dropCollectionIfExists(collectionName: string) {\n\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\tif (collectionExists) {\n\t\t\t// clear existing documents, if collection exists\n\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t} else {\n\t\t\t// create collection\n\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t}\n\t}\n\n\tasync seedDatabaseCollectionsFromFactories(collections?: string[]): Promise {\n\t\tconst promises = generateSeedData((s: string) => this.injectEnvVars(s))\n\t\t\t.filter((data) => {\n\t\t\t\tif (collections && collections.length > 0) {\n\t\t\t\t\treturn collections.includes(data.collectionName);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.map(async ({ collectionName, data }) => {\n\t\t\t\tif (collectionName === systemsCollectionName) {\n\t\t\t\t\tthis.encryptSecretsInSystems(data as SystemEntity[]);\n\t\t\t\t}\n\t\t\t\tawait this.dropCollectionIfExists(collectionName);\n\n\t\t\t\tawait this.em.persistAndFlush(data);\n\n\t\t\t\treturn `${collectionName}:${data.length}`;\n\t\t\t});\n\n\t\tconst seededCollectionsWithAmount = await Promise.all(promises);\n\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Imports all or filtered from filesystem as bson to database.\n\t * The behaviour should match $ mongoimport\n\t * @param collections optional filter applied on existing collections\n\t * @returns the list of collection names exported\n\t */\n\tasync seedDatabaseCollectionsFromFileSystem(collections?: string[]): Promise {\n\t\t// detect collections to seed based on filesystem data\n\t\tconst setupPath = this.getSeedFolder();\n\t\tconst collectionsToSeed = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'files',\n\t\t\tsetupPath,\n\t\t\tcollections\n\t\t);\n\n\t\tconst seededCollectionsWithAmount: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToSeed.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load text from backup file\n\t\t\t\tlet fileContent = await this.fileSystemAdapter.readFile(filePath);\n\n\t\t\t\tif (collectionName === systemsCollectionName || collectionName === storageprovidersCollectionName) {\n\t\t\t\t\tfileContent = this.injectEnvVars(fileContent);\n\t\t\t\t}\n\n\t\t\t\t// create bson-objects from text\n\t\t\t\tconst bsonDocuments = JSON.parse(fileContent) as unknown[];\n\t\t\t\t// deserialize bson (format of mongoexport) to json documents we can import to mongo\n\t\t\t\tconst jsonDocuments = this.bsonConverter.deserialize(bsonDocuments);\n\n\t\t\t\t// hint: collection drop/create is very slow, delete all documents instead\n\t\t\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\t\t\tif (collectionExists) {\n\t\t\t\t\t// clear existing documents, if collection exists\n\t\t\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t\t\t} else {\n\t\t\t\t\t// create collection\n\t\t\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t\t\t}\n\n\t\t\t\tthis.encryptSecrets(collectionName, jsonDocuments);\n\n\t\t\t\t// import backup data into database collection\n\t\t\t\tconst importedDocumentsAmount = await this.databaseManagementService.importCollection(\n\t\t\t\t\tcollectionName,\n\t\t\t\t\tjsonDocuments\n\t\t\t\t);\n\t\t\t\t// keep collection name and number of imported documents\n\t\t\t\tseededCollectionsWithAmount.push(`${collectionName}:${importedDocumentsAmount}`);\n\t\t\t})\n\t\t);\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Exports all or defined from database as bson to filesystem.\n\t * The behaviour should match $ mongoexport\n\t * @param collections optional filter applied on existing collections\n\t * @param toSeedFolder optional override existing seed data files\n\t * @returns the list of collection names exported\n\t */\n\tasync exportCollectionsToFileSystem(collections?: string[], toSeedFolder?: boolean): Promise {\n\t\tconst targetFolder = this.getTargetFolder(toSeedFolder);\n\t\tawait this.fileSystemAdapter.createDir(targetFolder);\n\t\t// detect collections to export based on database collections\n\t\tconst collectionsToExport = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'database',\n\t\t\ttargetFolder,\n\t\t\tcollections\n\t\t);\n\t\tconst exportedCollections: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToExport.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load json documents from collection\n\t\t\t\tconst jsonDocuments = await this.databaseManagementService.findDocumentsOfCollection(collectionName);\n\t\t\t\tthis.removeSecrets(collectionName, jsonDocuments);\n\t\t\t\t// serialize to bson (format of mongoexport)\n\t\t\t\tconst bsonDocuments = this.bsonConverter.serialize(jsonDocuments);\n\t\t\t\t// sort results to have 'new' data added at documents end\n\t\t\t\tconst sortedBsonDocuments = orderBy(bsonDocuments, ['_id.$oid', 'createdAt.$date'], ['asc', 'asc']);\n\t\t\t\t// convert to text\n\t\t\t\tconst TAB = '\t';\n\t\t\t\tconst json = JSON.stringify(sortedBsonDocuments, undefined, TAB);\n\t\t\t\t// persist to filesystem\n\t\t\t\tawait this.fileSystemAdapter.writeFile(filePath, json + this.fileSystemAdapter.EOL);\n\t\t\t\t// keep collection name and number of exported documents\n\t\t\t\texportedCollections.push(`${collectionName}:${sortedBsonDocuments.length}`);\n\t\t\t})\n\t\t);\n\t\treturn exportedCollections;\n\t}\n\n\t/**\n\t * Updates the indexes in the database based on definitions in entities\n\t */\n\tasync syncIndexes(): Promise {\n\t\tawait this.createUserSearchIndex();\n\t\treturn this.databaseManagementService.syncIndexes();\n\t}\n\n\tprivate async createUserSearchIndex(): Promise {\n\t\tconst usersCollection = this.databaseManagementService.getDatabaseCollection('users');\n\t\tconst userSearchIndexExists = await usersCollection.indexExists('userSearchIndex');\n\t\tconst indexes = await usersCollection.indexes();\n\n\t\tif (userSearchIndexExists) {\n\t\t\tconst userSearchIndex = indexes.filter((i) => i.name === 'userSearchIndex');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (userSearchIndex[0].key?.schoolId === 1) {\n\t\t\t\tthis.logger.debug('userSearcIndex does not require update');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait usersCollection.dropIndex('userSearchIndex');\n\t\t}\n\n\t\tawait usersCollection.createIndex(\n\t\t\t{\n\t\t\t\tfirstName: 'text',\n\t\t\t\tlastName: 'text',\n\t\t\t\temail: 'text',\n\t\t\t\tfirstNameSearchValues: 'text',\n\t\t\t\tlastNameSearchValues: 'text',\n\t\t\t\temailSearchValues: 'text',\n\t\t\t\tschoolId: 1,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'userSearchIndex',\n\t\t\t\tweights: {\n\t\t\t\t\tfirstName: 15,\n\t\t\t\t\tlastName: 15,\n\t\t\t\t\temail: 15,\n\t\t\t\t\tfirstNameSearchValues: 3,\n\t\t\t\t\tlastNameSearchValues: 3,\n\t\t\t\t\temailSearchValues: 2,\n\t\t\t\t},\n\t\t\t\tdefault_language: 'none', // no stop words and no stemming,\n\t\t\t\tlanguage_override: 'de',\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate injectEnvVars(json: string): string {\n\t\t// replace ${VAR} with VAR content\n\t\tjson = json.replace(/(?\n\t\t\tthis.resolvePlaceholder(placeholder.substring(2, placeholder.length - 1))\n\t\t);\n\t\t// replace \\$ with $ (escaped placeholder sequence)\n\t\tjson = json.replace(/\\\\\\$/g, '$');\n\t\treturn json;\n\t}\n\n\tprivate resolvePlaceholder(placeholder: string) {\n\t\tif (Configuration.has(placeholder)) {\n\t\t\treturn Configuration.get(placeholder) as string;\n\t\t}\n\t\tconst placeholderValue = this.configService.get(placeholder);\n\t\tif (placeholderValue) {\n\t\t\treturn placeholderValue;\n\t\t}\n\t\tthis.logger.warn(`Placeholder \"${placeholder}\" could not be resolved!`);\n\t\treturn '';\n\t}\n\n\tprivate encryptSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.encryptSecretsInSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t}\n\n\tprivate encryptSecretsInSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oauthConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oidcConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = this.ldapEncryptionService.encrypt(\n\t\t\t\t\tsystem.ldapConfig.searchUserPassword as string\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n\n\t/**\n\t * Removes all known secrets (hard coded) from the export.\n\t * Manual replacement with the intend placeholders or value is mandatory.\n\t * Currently this affects system and storageproviders collections.\n\t */\n\tprivate removeSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.removeSecretsFromSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t\tif (collectionName === storageprovidersCollectionName) {\n\t\t\tthis.removeSecretsFromStorageproviders(jsonDocuments as StorageProviderEntity[]);\n\t\t}\n\t}\n\n\tprivate removeSecretsFromStorageproviders(storageProviders: StorageProviderEntity[]) {\n\t\tstorageProviders.forEach((storageProvider) => {\n\t\t\tstorageProvider.accessKeyId = defaultSecretReplacementHintText;\n\t\t\tstorageProvider.secretAccessKey = defaultSecretReplacementHintText;\n\t\t});\n\t}\n\n\tprivate removeSecretsFromSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Column.html":{"url":"classes/Column.html","title":"class - Column","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Column\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnBoard.html":{"url":"classes/ColumnBoard.html","title":"class - ColumnBoard","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n context\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n context\n \n \n\n \n \n getcontext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:14\n \n \n\n \n \n setcontext(context: BoardExternalReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n \n BoardExternalReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardCopyService.html":{"url":"injectables/ColumnBoardCopyService.html","title":"injectable - ColumnBoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyColumnBoard\n \n \n Public\n Async\n swapLinkedIds\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:17\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: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 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 Public\n Async\n swapLinkedIds\n \n \n \n \n \n \n \n swapLinkedIds(boardId: EntityId, idMap: Map)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board-copy.service.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n idMap\n \n Map\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 { CopyStatus } from '@modules/copy-helper';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport {\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n\tColumnBoard,\n\tisColumnBoard,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './board-do-copy-service';\nimport { SwapInternalLinksVisitor } from './board-do-copy-service/swap-internal-links.visitor';\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\tpublic async swapLinkedIds(boardId: EntityId, idMap: Map) {\n\t\tconst board = await this.boardDoRepo.findById(boardId);\n\n\t\tconst visitor = new SwapInternalLinksVisitor(idMap);\n\n\t\tboard.accept(visitor);\n\n\t\tawait this.boardDoRepo.save(board);\n\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/ColumnBoardFactory.html":{"url":"classes/ColumnBoardFactory.html","title":"class - ColumnBoardFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoardFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withoutContext\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withoutContext\n \n \n \n \n \n \nwithoutContext()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ColumnBoard, ColumnBoardProps } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BaseFactory } from '../../base.factory';\n\nexport type IColumnBoardProperties = Readonly;\n\nclass ColumnBoardFactory extends BaseFactory {\n\twithoutContext(): this {\n\t\tconst params = { context: undefined };\n\t\treturn this.params(params);\n\t}\n}\nexport const columnBoardFactory = ColumnBoardFactory.define(ColumnBoard, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttitle: `column board #${sequence}`,\n\t\tchildren: [],\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t\tcontext: {\n\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\tid: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardNode.html":{"url":"entities/ColumnBoardNode.html","title":"entity - ColumnBoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _contextId\n \n \n \n _contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n _contextType\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'contextType'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:23\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardNodeProps.html":{"url":"interfaces/ColumnBoardNodeProps.html","title":"interface - ColumnBoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardProps.html":{"url":"interfaces/ColumnBoardProps.html","title":"interface - ColumnBoardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardService.html":{"url":"injectables/ColumnBoardService.html","title":"injectable - ColumnBoardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n createRichTextElement\n \n \n Async\n createWelcomeColumnBoard\n \n \n Async\n delete\n \n \n Async\n findByDescendant\n \n \n Async\n findById\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n getBoardObjectTitlesById\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(context: BoardExternalReference, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n context\n \n BoardExternalReference\n \n\n \n No\n \n\n \n \n\n \n \n title\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createRichTextElement\n \n \n \n \n \n \n \n createRichTextElement(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createWelcomeColumnBoard\n \n \n \n \n \n \n \n createWelcomeColumnBoard(courseReference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseReference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDescendant\n \n \n \n \n \n \n \n findByDescendant(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardObjectTitlesById\n \n \n \n \n \n \n \n getBoardObjectTitlesById(boardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(board: ColumnBoard, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tContentElementFactory,\n\tContentElementType,\n\tRichTextElement,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnBoardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(boardId: EntityId): Promise {\n\t\tconst board = await this.boardDoRepo.findByClassAndId(ColumnBoard, boardId);\n\n\t\treturn board;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst ids = this.boardDoRepo.findIdsByExternalReference(reference);\n\n\t\treturn ids;\n\t}\n\n\tasync findByDescendant(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds: EntityId[] = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst idHierarchy: EntityId[] = [...ancestorIds, boardDo.id];\n\t\tconst rootId: EntityId = idHierarchy[0];\n\t\tconst rootBoardDo: AnyBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\treturn rootBoardDo;\n\t\t}\n\n\t\tthrow new NotFoundLoggableException(ColumnBoard.name, { id: rootId });\n\t}\n\n\tasync getBoardObjectTitlesById(boardIds: EntityId[]): Promise> {\n\t\tconst titleMap = this.boardDoRepo.getTitlesByIds(boardIds);\n\t\treturn titleMap;\n\t}\n\n\tasync create(context: BoardExternalReference, title = ''): Promise {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext,\n\t\t});\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tasync delete(board: ColumnBoard): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(board);\n\t}\n\n\tasync updateTitle(board: ColumnBoard, title: string): Promise {\n\t\tboard.title = title;\n\t\tawait this.boardDoRepo.save(board);\n\t}\n\n\tasync createWelcomeColumnBoard(courseReference: BoardExternalReference) {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext: courseReference,\n\t\t});\n\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumnBoard.addChild(column);\n\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: 'Willkommen auf dem neuen Spalten-Board! 🥳',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumn.addChild(card);\n\n\t\tconst text1 = this.createRichTextElement(\n\t\t\t'Wir erweitern das Board kontinuierlich um wichtige Funktionen. Der aktuelle Stand kann hier getestet werden. '\n\t\t);\n\t\tcard.addChild(text1);\n\n\t\tif (Configuration.has('COLUMN_BOARD_HELP_LINK')) {\n\t\t\tconst helplink = Configuration.get('COLUMN_BOARD_HELP_LINK') as string;\n\t\t\tconst text2 = this.createRichTextElement(\n\t\t\t\t` Wichtige Informationen zu Berechtigungen und Informationen zum Einsatz des Boards sind im Hilfebereich zusammengefasst.`\n\t\t\t);\n\t\t\tcard.addChild(text2);\n\t\t}\n\n\t\tif (Configuration.has('COLUMN_BOARD_FEEDBACK_LINK')) {\n\t\t\tconst feedbacklink = Configuration.get('COLUMN_BOARD_FEEDBACK_LINK') as string;\n\t\t\tconst text3 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns sehr über Feedback zum Board unter folgendem Link.`\n\t\t\t);\n\t\t\tcard.addChild(text3);\n\t\t}\n\n\t\tconst SC_THEME = Configuration.get('SC_THEME') as string;\n\t\tif (SC_THEME !== 'default') {\n\t\t\tconst clientUrl = Configuration.get('HOST') as string;\n\t\t\tconst text4 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns über Feedback und Wünsche.`\n\t\t\t);\n\t\t\tcard.addChild(text4);\n\t\t}\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tprivate createRichTextElement(text: string): RichTextElement {\n\t\tconst element: RichTextElement = this.contentElementFactory.build(ContentElementType.RICH_TEXT) as RichTextElement;\n\t\telement.text = text;\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardTarget.html":{"url":"entities/ColumnBoardTarget.html","title":"entity - ColumnBoardTarget","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardTarget\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n published\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'columnBoard'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BaseEntityWithTimestamps } from '../base.entity';\n\ntype ColumnBoardTargetProps = {\n\tcolumnBoardId: EntityId;\n\ttitle?: string;\n};\n\n@Entity()\nexport class ColumnBoardTarget extends BaseEntityWithTimestamps implements LearnroomElement {\n\tconstructor(props: ColumnBoardTargetProps) {\n\t\tsuper();\n\t\tthis._columnBoardId = new ObjectId(props.columnBoardId);\n\t\tthis.title = props.title ?? '';\n\t}\n\n\t@Property()\n\ttitle: string;\n\n\tpublish(): void {\n\t\tthis.published = true;\n\t}\n\n\tunpublish(): void {\n\t\tthis.published = false;\n\t}\n\n\t@Property()\n\tpublished = false;\n\n\t@Property({ fieldName: 'columnBoard' })\n\t_columnBoardId: ObjectId;\n\n\tget columnBoardId(): EntityId {\n\t\treturn this._columnBoardId.toHexString();\n\t}\n}\n\nexport function isColumnBoardTarget(reference: unknown): reference is ColumnBoardTarget {\n\treturn reference instanceof ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardTargetService.html":{"url":"injectables/ColumnBoardTargetService.html","title":"injectable - ColumnBoardTargetService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardTargetService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/column-board-target.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n Async\n findOrCreateTargets\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n \n \n \n \n \n findExistingTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOrCreateTargets\n \n \n \n \n \n \n \n findOrCreateTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ColumnBoardService } from '@modules/board';\nimport { Injectable } from '@nestjs/common';\nimport { ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class ColumnBoardTargetService {\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly em: EntityManager) {}\n\n\tasync findOrCreateTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.findExistingTargets(columnBoardIds);\n\n\t\tconst titlesMap = await this.columnBoardService.getBoardObjectTitlesById(columnBoardIds);\n\n\t\tconst columnBoardTargets = columnBoardIds.map((id) => {\n\t\t\tconst title = titlesMap[id] ?? '';\n\t\t\tlet target = existingTargets.find((item) => item.columnBoardId === id);\n\t\t\tif (target) {\n\t\t\t\ttarget.title = title;\n\t\t\t} else {\n\t\t\t\ttarget = new ColumnBoardTarget({ columnBoardId: id, title });\n\t\t\t}\n\t\t\tthis.em.persist(target);\n\t\t\treturn target;\n\t\t});\n\n\t\tawait this.em.flush();\n\n\t\treturn columnBoardTargets;\n\t}\n\n\tprivate async findExistingTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.em.find(ColumnBoardTarget, {\n\t\t\t_columnBoardId: { $in: columnBoardIds },\n\t\t} as unknown as FilterQuery);\n\n\t\treturn existingTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ColumnController.html":{"url":"controllers/ColumnController.html","title":"controller - ColumnController","body":"\n \n\n\n\n\n\n\n Controllers\n ColumnController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/column.controller.ts\n \n\n \n Prefix\n \n \n columns\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(urlParams: ColumnUrlParams, currentUser: ICurrentUser, createCardBodyParams?: CreateCardBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new card on a column.'})@ApiResponse({status: 201, type: CardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: false, type: CreateCardBodyParams})@Post(':columnId/cards')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n createCardBodyParams\n \n CreateCardBodyParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(urlParams: ColumnUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':columnId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(urlParams: ColumnUrlParams, bodyParams: MoveColumnBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':columnId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveColumnBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(urlParams: ColumnUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':columnId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc, ColumnUc } from '../uc';\nimport { CardResponse, ColumnUrlParams, MoveColumnBodyParams, RenameBodyParams } from './dto';\nimport { CreateCardBodyParams } from './dto/card/create-card.body.params';\nimport { CardResponseMapper } from './mapper';\n\n@ApiTags('Board Column')\n@Authenticate('jwt')\n@Controller('columns')\nexport class ColumnController {\n\tconstructor(private readonly boardUc: BoardUc, private readonly columnUc: ColumnUc) {}\n\n\t@ApiOperation({ summary: 'Move a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':columnId/position')\n\tasync moveColumn(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: MoveColumnBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.moveColumn(currentUser.userId, urlParams.columnId, bodyParams.toBoardId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':columnId/title')\n\tasync updateColumnTitle(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.updateColumnTitle(currentUser.userId, urlParams.columnId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':columnId')\n\tasync deleteColumn(@Param() urlParams: ColumnUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.columnUc.deleteColumn(currentUser.userId, urlParams.columnId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new card on a column.' })\n\t@ApiResponse({ status: 201, type: CardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: false, type: CreateCardBodyParams })\n\t@Post(':columnId/cards')\n\tasync createCard(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() createCardBodyParams?: CreateCardBodyParams\n\t): Promise {\n\t\tconst { requiredEmptyElements } = createCardBodyParams || {};\n\t\tconst card = await this.columnUc.createCard(currentUser.userId, urlParams.columnId, requiredEmptyElements);\n\n\t\tconst response = CardResponseMapper.mapToResponse(card);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnNode.html":{"url":"entities/ColumnNode.html","title":"entity - ColumnNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-node.entity.ts\n \n\n\n\n\n\n \n\n\n \n import { Entity } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN })\nexport class ColumnNode extends BoardNode {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumn(this);\n\t\treturn domainObject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnProps.html":{"url":"interfaces/ColumnProps.html","title":"interface - ColumnProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponse.html":{"url":"classes/ColumnResponse.html","title":"class - ColumnResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cards\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ColumnResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ColumnResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cards\n \n \n \n \n \n \n Type : CardSkeletonResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { CardSkeletonResponse } from './card-skeleton.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ColumnResponse {\n\tconstructor({ id, title, cards, timestamps }: ColumnResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.cards = cards;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [CardSkeletonResponse],\n\t})\n\tcards: CardSkeletonResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponseMapper.html":{"url":"classes/ColumnResponseMapper.html","title":"class - ColumnResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/column-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/column-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Card, Column } from '@shared/domain/domainobject';\nimport { CardSkeletonResponse, ColumnResponse, TimestampsResponse } from '../dto';\n\nexport class ColumnResponseMapper {\n\tstatic mapToResponse(column: Column): ColumnResponse {\n\t\tconst result = new ColumnResponse({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tcards: column.children.map((card) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(card instanceof Card)) {\n\t\t\t\t\tthrow new HttpException(`unsupported child type: ${card.constructor.name}`, HttpStatus.UNPROCESSABLE_ENTITY);\n\t\t\t\t}\n\t\t\t\treturn new CardSkeletonResponse({\n\t\t\t\t\tcardId: card.id,\n\t\t\t\t\theight: card.height,\n\t\t\t\t});\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: column.updatedAt, createdAt: column.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnService.html":{"url":"injectables/ColumnService.html","title":"injectable - ColumnService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n move\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(column: Column, targetBoard: ColumnBoard, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n targetBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(column: Column, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(columnId: EntityId): Promise {\n\t\tconst column = await this.boardDoRepo.findByClassAndId(Column, columnId);\n\t\treturn column;\n\t}\n\n\tasync create(parent: ColumnBoard): Promise {\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(column);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\treturn column;\n\t}\n\n\tasync delete(column: Column): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(column);\n\t}\n\n\tasync move(column: Column, targetBoard: ColumnBoard, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(column, targetBoard, targetPosition);\n\t}\n\n\tasync updateTitle(column: Column, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(column.id);\n\t\tcolumn.title = title;\n\t\tawait this.boardDoRepo.save(column, parent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnUc.html":{"url":"injectables/ColumnUc.html","title":"injectable - ColumnUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/column.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCard\n \n \n Async\n deleteColumn\n \n \n Async\n moveCard\n \n \n Async\n updateColumnTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(userId: EntityId, columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetColumnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(userId: EntityId, columnId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ColumnService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ColumnUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ColumnUc.name);\n\t}\n\n\tasync deleteColumn(userId: EntityId, columnId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteColumn', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.delete(column);\n\t}\n\n\tasync updateColumnTitle(userId: EntityId, columnId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateColumnTitle', userId, columnId, title });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.updateTitle(column, title);\n\t}\n\n\tasync createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tthis.logger.debug({ action: 'createCard', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.read);\n\n\t\tconst card = await this.cardService.create(column, requiredEmptyElements);\n\n\t\treturn card;\n\t}\n\n\tasync moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, cardId, targetColumnId, toPosition: targetPosition });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tconst targetColumn = await this.columnService.findById(targetColumnId);\n\n\t\tawait this.checkPermission(userId, card, Action.write);\n\t\tawait this.checkPermission(userId, targetColumn, Action.write);\n\n\t\tawait this.cardService.move(card, targetColumn, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnUrlParams.html":{"url":"classes/ColumnUrlParams.html","title":"class - ColumnUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the column.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ColumnUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the column.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcolumnId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnboardBoardElement.html":{"url":"entities/ColumnboardBoardElement.html","title":"entity - ColumnboardBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnboardBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : ColumnBoardTarget\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('ColumnBoardTarget')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\n@Entity({ discriminatorValue: BoardElementType.ColumnBoard })\nexport class ColumnboardBoardElement extends BoardElement {\n\tconstructor(props: { target: ColumnBoardTarget }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.ColumnBoard;\n\t}\n\n\t@ManyToOne('ColumnBoardTarget')\n\ttarget!: ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeConfig.html":{"url":"interfaces/CommonCartridgeConfig.html","title":"interface - CommonCartridgeConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CommonCartridgeConfig {\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeElement.html":{"url":"interfaces/CommonCartridgeElement.html","title":"interface - CommonCartridgeElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeElement {\n\ttransform(): Record;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonCartridgeExportService.html":{"url":"injectables/CommonCartridgeExportService.html","title":"injectable - CommonCartridgeExportService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonCartridgeExportService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n Private\n Async\n addTasks\n \n \n Async\n exportCourse\n \n \n Private\n mapContentToResource\n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n \n \n \n \n \n addLessons(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addTasks\n \n \n \n \n \n \n \n addTasks(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContentToResource\n \n \n \n \n \n \n \n mapContentToResource(lessonId: string, content: ComponentProperties, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n content\n \n ComponentProperties\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeResourceProps | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n \n \n \n \n \n mapCourseTeachersToCopyrightOwners(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:146\n \n \n\n\n \n \n This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n \n \n \n mapTaskToWebContentResource(task: Task, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:154\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeWebContentResourceProps\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, Course, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ComponentType } from '@src/shared/domain/entity/lesson.entity';\nimport {\n\tCommonCartridgeFileBuilder,\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n\tICommonCartridgeResourceProps,\n\tICommonCartridgeWebContentResourceProps,\n} from '../common-cartridge';\nimport { createIdentifier } from '../common-cartridge/utils';\nimport { CourseService } from './course.service';\n\n@Injectable()\nexport class CommonCartridgeExportService {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst course = await this.courseService.findById(courseId);\n\t\tconst builder = new CommonCartridgeFileBuilder({\n\t\t\tidentifier: createIdentifier(courseId),\n\t\t\ttitle: course.name,\n\t\t\tversion,\n\t\t\tcopyrightOwners: this.mapCourseTeachersToCopyrightOwners(course),\n\t\t\tcreationYear: course.createdAt.getFullYear().toString(),\n\t\t});\n\n\t\tawait this.addLessons(builder, version, courseId);\n\t\tawait this.addTasks(builder, version, courseId, userId);\n\n\t\treturn builder.build();\n\t}\n\n\tprivate async addLessons(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId\n\t): Promise {\n\t\tconst [lessons] = await this.lessonService.findByCourseIds([courseId]);\n\n\t\tlessons.forEach((lesson) => {\n\t\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(lesson.id),\n\t\t\t\ttitle: lesson.name,\n\t\t\t\tresources: [],\n\t\t\t});\n\n\t\t\tlesson.contents.forEach((content) => {\n\t\t\t\tconst resourceProps = this.mapContentToResource(lesson.id, content, version);\n\t\t\t\tif (resourceProps) {\n\t\t\t\t\torganizationBuilder.addResourceToOrganization(resourceProps);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst tasks = lesson.tasks.getItems();\n\t\t\ttasks.forEach((task) => {\n\t\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async addTasks(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst [tasks] = await this.taskService.findBySingleParent(userId, courseId);\n\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(),\n\t\t\t// FIXME: change the title for tasks organization\n\t\t\ttitle: '',\n\t\t\tresources: [],\n\t\t});\n\n\t\ttasks.forEach((task) => {\n\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t});\n\t}\n\n\tprivate mapContentToResource(\n\t\tlessonId: string,\n\t\tcontent: ComponentProperties,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeResourceProps | undefined {\n\t\tconst commonProps = {\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(content._id),\n\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\ttitle: content.title,\n\t\t};\n\n\t\tif (content.component === ComponentType.TEXT) {\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(content._id),\n\t\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\t\ttitle: content.title,\n\t\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\t\tintendedUse: CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t\thtml: `${content.title}${content.content.text}`,\n\t\t\t};\n\t\t}\n\n\t\tif (content.component === ComponentType.GEOGEBRA) {\n\t\t\tconst url = `https://www.geogebra.org/m/${content.content.materialId}`;\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V3, url }\n\t\t\t\t: { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V1, url };\n\t\t}\n\n\t\tif (content.component === ComponentType.ETHERPAD) {\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V3,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V1,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t };\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\t * @param Course\n\t * @return string\n\t * */\n\tprivate mapCourseTeachersToCopyrightOwners(course: Course): string {\n\t\tconst result = course.teachers\n\t\t\t.toArray()\n\t\t\t.map((teacher) => `${teacher.firstName} ${teacher.lastName}`)\n\t\t\t.reduce((previousTeachers, currentTeacher) => `${previousTeachers}, ${currentTeacher}`);\n\t\treturn result;\n\t}\n\n\tprivate mapTaskToWebContentResource(\n\t\ttask: Task,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeWebContentResourceProps {\n\t\tconst taskIdentifier = createIdentifier(task.id);\n\t\treturn {\n\t\t\tversion,\n\t\t\tidentifier: taskIdentifier,\n\t\t\thref: `${taskIdentifier}/${taskIdentifier}.html`,\n\t\t\ttitle: task.name,\n\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\thtml: `${task.name}${task.description}`,\n\t\t\tintendedUse:\n\t\t\t\tversion === CommonCartridgeVersion.V_1_1_0\n\t\t\t\t\t? CommonCartridgeIntendedUseType.UNSPECIFIED\n\t\t\t\t\t: CommonCartridgeIntendedUseType.ASSIGNMENT,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeFile.html":{"url":"interfaces/CommonCartridgeFile.html","title":"interface - CommonCartridgeFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n content\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:3\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeFile {\n\tcanInline(): boolean;\n\tcontent(): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeFileBuilder.html":{"url":"classes/CommonCartridgeFileBuilder.html","title":"class - CommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeFileBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n Private\n Readonly\n resources\n \n \n Private\n Readonly\n xmlBuilder\n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addOrganization\n \n \n addResourceToFile\n \n \n Async\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: CommonCartridgeFileBuilderOptions)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n CommonCartridgeFileBuilderOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n resources\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n xmlBuilder\n \n \n \n \n \n \n Default value : new Builder()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n \n \n Default value : new AdmZip()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:65\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:88\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeLtiResource.html":{"url":"classes/CommonCartridgeLtiResource.html","title":"class - CommonCartridgeLtiResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeLtiResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeLtiResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeLtiResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:19\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:23\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:81\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeLtiResourceProps = {\n\ttype: CommonCartridgeResourceType.LTI;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\tdescription?: string;\n\turl: string;\n};\n\nexport class CommonCartridgeLtiResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeLtiResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonObject = {\n\t\t\tcartridge_basiclti_link: {\n\t\t\t\t$: {\n\t\t\t\t\txmlns: '',\n\t\t\t\t\t'xmlns:blti': '',\n\t\t\t\t\t'xmlns:lticm': '',\n\t\t\t\t\t'xmlns:lticp': '',\n\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t'xsi:schemaLocation': '',\n\t\t\t\t},\n\t\t\t\tblti: {\n\t\t\t\t\ttitle: this.props.title,\n\t\t\t\t\tdescription: this.props.description,\n\t\t\t\t\tlaunch_url: this.props.url,\n\t\t\t\t\tsecure_launch_url: this.props.url,\n\t\t\t\t\tcartridge_bundle: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Bundle',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcartridge_icon: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Icon',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = 'http://www.imsglobal.org/xsd/imslticc_v1p3';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = 'http://www.imsglobal.org/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = 'http://www.imsglobal.org/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = 'http://www.imsglobal.org/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticc_v1p3 http://www.imsglobal.org/xsd/imslticc_v1p3.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticp_v1p0 imslticp_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticm_v1p0 imslticm_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imsbasiclti_v1p0 imsbasiclti_v1p0p1.xsd\"';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = '/xsd/imslticc_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = '/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = '/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = '/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'/xsd/imslticc_v1p0 /xsd/lti/ltiv1p0/imslticc_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imsbasiclti_v1p0 /xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticm_v1p0 /xsd/lti/ltiv1p0/imslticm_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticp_v1p0 /xsd/lti/ltiv1p0/imslticp_v1p0.xsd\"';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn this.xmlBuilder.buildObject(commonObject);\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeManifestElement.html":{"url":"classes/CommonCartridgeManifestElement.html","title":"class - CommonCartridgeManifestElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeManifestElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeManifestProps, metadataProps: ICommonCartridgeMetadataProps, organizations: CommonCartridgeElement[], resources: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeManifestProps\n \n \n \n No\n \n \n \n \n metadataProps\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n organizations\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n resources\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:19\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeMetadataElement, ICommonCartridgeMetadataProps } from './common-cartridge-metadata-element';\nimport { CommonCartridgeOrganizationWrapperElement } from './common-cartridge-organization-wrapper-element';\nimport { CommonCartridgeResourceWrapperElement } from './common-cartridge-resource-wrapper-element';\n\nexport type ICommonCartridgeManifestProps = {\n\tidentifier: string;\n};\n\nexport class CommonCartridgeManifestElement implements CommonCartridgeElement {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeManifestProps,\n\t\tprivate readonly metadataProps: ICommonCartridgeMetadataProps,\n\t\tprivate readonly organizations: CommonCartridgeElement[],\n\t\tprivate readonly resources: CommonCartridgeElement[]\n\t) {}\n\n\ttransform(): Record {\n\t\tconst versionNumber = this.metadataProps.version;\n\t\tswitch (versionNumber) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:ext': 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lommanifest_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lommanifest_v1p0.xsd ',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeMetadataElement.html":{"url":"classes/CommonCartridgeMetadataElement.html","title":"class - CommonCartridgeMetadataElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeMetadataElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeMetadataProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:14\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\n\nexport type ICommonCartridgeMetadataProps = {\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport class CommonCartridgeMetadataElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeMetadataProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tschema: 'IMS Common Cartridge',\n\t\t\tschemaversion: this.props.version,\n\t\t\t'mnf:lom': {\n\t\t\t\t'mnf:general': {\n\t\t\t\t\t'mnf:title': {\n\t\t\t\t\t\t'mnf:string': this.props.title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'mnf:rights': {\n\t\t\t\t\t'mnf:copyrightAndOtherRestrictions': {\n\t\t\t\t\t\t'mnf:value': 'yes',\n\t\t\t\t\t},\n\t\t\t\t\t'mnf:description': {\n\t\t\t\t\t\t'mnf:string': `${this.props.creationYear} ${this.props.copyrightOwners}`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationBuilder.html":{"url":"classes/CommonCartridgeOrganizationBuilder.html","title":"class - CommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeOrganizationBuilder\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n resources\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps, xmlBuilder: Builder, zipBuilder: AdmZip)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n zipBuilder\n \n \n AdmZip\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n\n \n \n getorganization()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:42\n \n \n\n \n \n \n \n \n \n \n resources\n \n \n\n \n \n getresources()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:46\n \n \n\n \n \n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationItemElement.html":{"url":"classes/CommonCartridgeOrganizationItemElement.html","title":"class - CommonCartridgeOrganizationItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:15\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeResourceProps } from './common-cartridge-resource-item-element';\nimport { createIdentifier } from './utils';\n\nexport type ICommonCartridgeOrganizationProps = {\n\tidentifier: string;\n\ttitle: string;\n\tversion: string;\n\tresources: ICommonCartridgeResourceProps[];\n};\n\nexport class CommonCartridgeOrganizationItemElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeOrganizationProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t},\n\t\t\ttitle: this.props.title,\n\t\t\titem: this.props.resources.map((content) => {\n\t\t\t\treturn {\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: createIdentifier(),\n\t\t\t\t\t\tidentifierref: content.identifier,\n\t\t\t\t\t},\n\t\t\t\t\ttitle: content.title,\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationWrapperElement.html":{"url":"classes/CommonCartridgeOrganizationWrapperElement.html","title":"class - CommonCartridgeOrganizationWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(organizationElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organizationElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeOrganizationWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly organizationElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\torganization: [\n\t\t\t\t{\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: 'org-1',\n\t\t\t\t\t\tstructure: 'rooted-hierarchy',\n\t\t\t\t\t},\n\t\t\t\t\titem: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\t\tidentifier: 'LearningModules',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\titem: this.organizationElements.map((organizationElement) => organizationElement.transform()),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceItemElement.html":{"url":"classes/CommonCartridgeResourceItemElement.html","title":"class - CommonCartridgeResourceItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:38\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:42\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:46\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeLtiResource, ICommonCartridgeLtiResourceProps } from './common-cartridge-lti-resource';\nimport {\n\tCommonCartridgeWebContentResource,\n\tICommonCartridgeWebContentResourceProps,\n} from './common-cartridge-web-content-resource';\nimport {\n\tCommonCartridgeWebLinkResourceElement,\n\tICommonCartridgeWebLinkResourceProps,\n} from './common-cartridge-web-link-resource';\n\nexport type ICommonCartridgeResourceProps =\n\t| ICommonCartridgeLtiResourceProps\n\t| ICommonCartridgeWebContentResourceProps\n\t| ICommonCartridgeWebLinkResourceProps;\n\nexport class CommonCartridgeResourceItemElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tprivate readonly inner: CommonCartridgeElement & CommonCartridgeFile;\n\n\tconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder) {\n\t\tif (props.type === CommonCartridgeResourceType.LTI) {\n\t\t\tthis.inner = new CommonCartridgeLtiResource(props, xmlBuilder);\n\t\t} else if (props.type === CommonCartridgeResourceType.WEB_CONTENT) {\n\t\t\tthis.inner = new CommonCartridgeWebContentResource(props);\n\t\t} else if (\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V1 ||\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V3\n\t\t) {\n\t\t\tthis.inner = new CommonCartridgeWebLinkResourceElement(props, xmlBuilder);\n\t\t} else {\n\t\t\tthrow new Error('Resource type is unknown!');\n\t\t}\n\t}\n\n\tcanInline(): boolean {\n\t\treturn this.inner.canInline();\n\t}\n\n\tcontent(): string {\n\t\treturn this.inner.content();\n\t}\n\n\ttransform(): Record {\n\t\treturn this.inner.transform();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceWrapperElement.html":{"url":"classes/CommonCartridgeResourceWrapperElement.html","title":"class - CommonCartridgeResourceWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resourceElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeResourceWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly resourceElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tresource: this.resourceElements.map((resourceElement) => resourceElement.transform()),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebContentResource.html":{"url":"classes/CommonCartridgeWebContentResource.html","title":"class - CommonCartridgeWebContentResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebContentResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebContentResourceProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebContentResourceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:26\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:30\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport {\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n} from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebContentResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_CONTENT;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\thtml: string;\n\tintendedUse?: CommonCartridgeIntendedUseType;\n};\n\nexport class CommonCartridgeWebContentResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebContentResourceProps) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\treturn this.props.html;\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t\tintendeduse: this.props.intendedUse ?? CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebLinkResourceElement.html":{"url":"classes/CommonCartridgeWebLinkResourceElement.html","title":"class - CommonCartridgeWebLinkResourceElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebLinkResourceElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebLinkResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebLinkResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:18\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:61\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebLinkResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_LINK_V1 | CommonCartridgeResourceType.WEB_LINK_V3;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\turl: string;\n};\n\nexport class CommonCartridgeWebLinkResourceElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebLinkResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonTags = {\n\t\t\ttitle: this.props.title,\n\t\t\turl: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.url,\n\t\t\t\t\ttarget: '_self',\n\t\t\t\t\twindowFeatures: 'width=100, height=100',\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1 https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t}\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CommonToolModule.html":{"url":"modules/CommonToolModule.html","title":"module - CommonToolModule","body":"\n \n\n\n\n\n Modules\n CommonToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CommonToolModule\n\n\n\ncluster_CommonToolModule_imports\n\n\n\ncluster_CommonToolModule_exports\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 Public\n determineToolConfigurationStatus\n \n \n Public\n isContextRestricted\n \n \n Private\n isLatest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n determineToolConfigurationStatus\n \n \n \n \n \n \n use ToolVersionService\n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isContextRestricted\n \n \n \n \n \n \n \n isContextRestricted(externalTool: ExternalTool, context: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isLatest\n \n \n \n \n \n \n \n isLatest(tool1: ToolVersion, tool2: ToolVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool1\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n tool2\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolContextType } from '../enum';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\nimport { ToolVersion } from '../interface';\n\n// TODO N21-1337 remove class when tool versioning is removed\n@Injectable()\nexport class CommonToolService {\n\t/**\n\t * @deprecated use ToolVersionService\n\t */\n\tpublic determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): ContextExternalToolConfigurationStatus {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeContext: true,\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (\n\t\t\tthis.isLatest(schoolExternalTool, externalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, schoolExternalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, externalTool)\n\t\t) {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = false;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = false;\n\t\t} else {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t}\n\n\t\treturn configurationStatus;\n\t}\n\n\tprivate isLatest(tool1: ToolVersion, tool2: ToolVersion): boolean {\n\t\treturn tool1.getVersion() >= tool2.getVersion();\n\t}\n\n\tpublic isContextRestricted(externalTool: ExternalTool, context: ToolContextType): boolean {\n\t\tif (externalTool.restrictToContexts?.length && !externalTool.restrictToContexts.includes(context)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonToolValidationService.html":{"url":"injectables/CommonToolValidationService.html","title":"injectable - CommonToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/service/common-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n Private\n checkForDuplicateParameters\n \n \n Private\n checkForUnknownParameters\n \n \n Private\n checkOptionalParameter\n \n \n Private\n checkParameterRegex\n \n \n Private\n checkParameterType\n \n \n Private\n checkValidityOfParameters\n \n \n Public\n isValueValidForType\n \n \n Private\n validateParameter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n \n \n \n \n \n checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedExternalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForDuplicateParameters\n \n \n \n \n \n \n \n checkForDuplicateParameters(validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForUnknownParameters\n \n \n \n \n \n \n \n checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOptionalParameter\n \n \n \n \n \n \n \n checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterRegex\n \n \n \n \n \n \n \n checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:107\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterType\n \n \n \n \n \n \n \n checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValidityOfParameters\n \n \n \n \n \n \n \n checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isValueValidForType\n \n \n \n \n \n \n \n isValueValidForType(type: CustomParameterType, val: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n CustomParameterType\n \n\n \n No\n \n\n\n \n \n val\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateParameter\n \n \n \n \n \n \n \n validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n \n \n Default value : {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { isNaN } from 'lodash';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { CustomParameter, CustomParameterEntry } from '../domain';\nimport { CustomParameterScope, CustomParameterType } from '../enum';\n\nexport type ValidatableTool = SchoolExternalTool | ContextExternalTool;\n\n@Injectable()\nexport class CommonToolValidationService {\n\tprivate static typeCheckers: { [key in CustomParameterType]: (val: string) => boolean } = {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t};\n\n\tpublic isValueValidForType(type: CustomParameterType, val: string): boolean {\n\t\tconst rule = CommonToolValidationService.typeCheckers[type];\n\n\t\tconst isValid: boolean = rule(val);\n\n\t\treturn isValid;\n\t}\n\n\tpublic checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool): void {\n\t\tthis.checkForDuplicateParameters(validatableTool);\n\n\t\tconst parametersForScope: CustomParameter[] = (loadedExternalTool.parameters ?? []).filter(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\t(validatableTool instanceof SchoolExternalTool && param.scope === CustomParameterScope.SCHOOL) ||\n\t\t\t\t(validatableTool instanceof ContextExternalTool && param.scope === CustomParameterScope.CONTEXT)\n\t\t);\n\n\t\tthis.checkForUnknownParameters(validatableTool, parametersForScope);\n\n\t\tthis.checkValidityOfParameters(validatableTool, parametersForScope);\n\t}\n\n\tprivate checkForDuplicateParameters(validatableTool: ValidatableTool): void {\n\t\tconst caseInsensitiveNames: string[] = validatableTool.parameters.map(({ name }: CustomParameterEntry) => name);\n\n\t\tconst uniqueNames: Set = new Set(caseInsensitiveNames);\n\n\t\tif (uniqueNames.size !== validatableTool.parameters.length) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_duplicate: The tool ${validatableTool.id ?? ''} contains multiple of the same custom parameters.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const entry of validatableTool.parameters) {\n\t\t\tconst foundParameter: CustomParameter | undefined = parametersForScope.find(\n\t\t\t\t({ name }: CustomParameter): boolean => name === entry.name\n\t\t\t);\n\n\t\t\tif (!foundParameter) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_unknown: The parameter with name ${entry.name} is not part of this tool.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const param of parametersForScope) {\n\t\t\tconst foundEntry: CustomParameterEntry | undefined = validatableTool.parameters.find(\n\t\t\t\t({ name }: CustomParameterEntry): boolean => name === param.name\n\t\t\t);\n\n\t\t\tthis.validateParameter(param, foundEntry);\n\t\t}\n\t}\n\n\tprivate validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tthis.checkOptionalParameter(param, foundEntry);\n\n\t\tif (foundEntry) {\n\t\t\tthis.checkParameterType(foundEntry, param);\n\t\t\tthis.checkParameterRegex(foundEntry, param);\n\t\t}\n\t}\n\n\tprivate checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tif (!foundEntry?.value && !param.isOptional) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_required: The parameter with name ${param.name} is required but not found in the tool.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && !this.isValueValidForType(param.type, foundEntry.value)) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_type_mismatch: The value of parameter with name ${foundEntry.name} should be of type ${param.type}.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && param.regex && !new RegExp(param.regex).test(foundEntry.value ?? '')) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_value_regex: The given entry for the parameter with name ${foundEntry.name} does not fit the regex.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentEtherpadProperties.html":{"url":"interfaces/ComponentEtherpadProperties.html","title":"interface - ComponentEtherpadProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentEtherpadProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentGeogebraProperties.html":{"url":"interfaces/ComponentGeogebraProperties.html","title":"interface - ComponentGeogebraProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentGeogebraProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n materialId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentInternalProperties.html":{"url":"interfaces/ComponentInternalProperties.html","title":"interface - ComponentInternalProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentInternalProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentLernstoreProperties.html":{"url":"interfaces/ComponentLernstoreProperties.html","title":"interface - ComponentLernstoreProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentLernstoreProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n resources: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentNexboardProperties.html":{"url":"interfaces/ComponentNexboardProperties.html","title":"interface - ComponentNexboardProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentNexboardProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n board\n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n board\n \n \n \n \n \n \n \n \n board: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentTextProperties.html":{"url":"interfaces/ComponentTextProperties.html","title":"interface - ComponentTextProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentTextProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentRequestBody.html":{"url":"classes/ConsentRequestBody.html","title":"class - ConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsString({each: true})@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsBoolean, IsInt, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class ConsentRequestBody extends OAuthRejectableBody {\n\t@IsArray()\n\t@IsString({ each: true })\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tgrant_scope?: string[];\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentResponse.html":{"url":"classes/ConsentResponse.html","title":"class - ConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Optional\n amr\n \n \n \n challenge\n \n \n \n \n Optional\n client\n \n \n \n \n Optional\n context\n \n \n \n \n Optional\n login_challenge\n \n \n \n \n Optional\n login_session_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n skip\n \n \n \n \n Optional\n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentResponse: ConsentResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentResponse\n \n \n ConsentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n amr\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client\n \n \n \n \n \n \n Type : OauthClientResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginChallenge is the login challenge this consent challenge belongs to.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginSessionID is the login session ID.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n subject\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Subject is the user id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:76\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\n\nexport class ConsentResponse {\n\tconstructor(consentResponse: ConsentResponse) {\n\t\tObject.assign(this, consentResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session',\n\t})\n\tacr?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\tamr?: string[];\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.',\n\t})\n\tchallenge: string | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tclient?: OauthClientResponse;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tcontext?: object;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginChallenge is the login challenge this consent challenge belongs to.' })\n\tlogin_challenge?: string;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginSessionID is the login session ID.' })\n\tlogin_session_id?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.',\n\t})\n\trequest_url?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip?: boolean;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Subject is the user id of the end-user that is authenticated.' })\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentSessionResponse.html":{"url":"classes/ConsentSessionResponse.html","title":"class - ConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n Optional\n client_id\n \n \n \n Optional\n client_name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n clientName\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n challenge\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent authorization request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The id of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\n\nexport class ConsentSessionResponse {\n\tconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined) {\n\t\tthis.client_id = clientId;\n\t\tthis.client_name = clientName;\n\t\tthis.challenge = challenge;\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The id of the client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The name of the client.' })\n\tclient_name?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent authorization request.' })\n\tchallenge?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConsoleWriterModule.html":{"url":"modules/ConsoleWriterModule.html","title":"module - ConsoleWriterModule","body":"\n \n\n\n\n\n Modules\n ConsoleWriterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ConsoleWriterModule\n\n\n\ncluster_ConsoleWriterModule_providers\n\n\n\ncluster_ConsoleWriterModule_exports\n\n\n\n\nConsoleWriterService \n\nConsoleWriterService \n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nConsoleWriterService -->\n\nConsoleWriterModule->ConsoleWriterService \n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nConsoleWriterModule -->\n\nConsoleWriterService->ConsoleWriterModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ConsoleWriterService\n \n \n \n \n Exports\n \n \n ConsoleWriterService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConsoleWriterService } from './console-writer.service';\n\n@Module({\n\tproviders: [ConsoleWriterService],\n\texports: [ConsoleWriterService],\n})\nexport class ConsoleWriterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleWriterService.html":{"url":"injectables/ConsoleWriterService.html","title":"injectable - ConsoleWriterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleWriterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n info\n \n \n \n \n \n \ninfo(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/console/console-writer/console-writer.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ConsoleWriterService {\n\tinfo(text: string): void {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.info('Info:', text);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentBodyParams.html":{"url":"classes/ContentBodyParams.html","title":"class - ContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n field\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n field\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementFactory.html":{"url":"injectables/ContentElementFactory.html","title":"injectable - ContentElementFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/content-element.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n Private\n buildDrawing\n \n \n Private\n buildExternalTool\n \n \n Private\n buildFile\n \n \n Private\n buildLink\n \n \n Private\n buildRichText\n \n \n Private\n buildSubmissionContainer\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildDrawing\n \n \n \n \n \n \n \n buildDrawing()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:85\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildExternalTool\n \n \n \n \n \n \n \n buildExternalTool()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:109\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildFile\n \n \n \n \n \n \n \n buildFile()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:47\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildLink\n \n \n \n \n \n \n \n buildLink()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:60\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildRichText\n \n \n \n \n \n \n \n buildRichText()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:72\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildSubmissionContainer\n \n \n \n \n \n \n \n buildSubmissionContainer()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:97\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { InputFormat } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { DrawingElement } from './drawing-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport { AnyContentElementDo, ContentElementType } from './types';\n\n@Injectable()\nexport class ContentElementFactory {\n\tbuild(type: ContentElementType): AnyContentElementDo {\n\t\tlet element!: AnyContentElementDo;\n\n\t\tswitch (type) {\n\t\t\tcase ContentElementType.FILE:\n\t\t\t\telement = this.buildFile();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.LINK:\n\t\t\t\telement = this.buildLink();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.RICH_TEXT:\n\t\t\t\telement = this.buildRichText();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.DRAWING:\n\t\t\t\telement = this.buildDrawing();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.SUBMISSION_CONTAINER:\n\t\t\t\telement = this.buildSubmissionContainer();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.EXTERNAL_TOOL:\n\t\t\t\telement = this.buildExternalTool();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!element) {\n\t\t\tthrow new NotImplementedException(`unknown type ${type} of element`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tprivate buildFile() {\n\t\tconst element = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: '',\n\t\t\talternativeText: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildLink() {\n\t\tconst element = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: '',\n\t\t\ttitle: '',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildRichText() {\n\t\tconst element = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: '',\n\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildDrawing() {\n\t\tconst element = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildSubmissionContainer() {\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: null,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildExternalTool() {\n\t\tconst element = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementResponseFactory.html":{"url":"classes/ContentElementResponseFactory.html","title":"class - ContentElementResponseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementResponseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n \n \n Type : BaseResponseMapper[]\n\n \n \n \n \n Default value : [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t]\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:19\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n \n \n \n \n \n mapSubmissionContentToResponse(element: RichTextElement | FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement | FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse | RichTextElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(element: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException, UnprocessableEntityException } from '@nestjs/common';\nimport { AnyBoardDo, FileElement, RichTextElement } from '@shared/domain/domainobject';\nimport {\n\tAnyContentElementResponse,\n\tFileElementResponse,\n\tisFileElementResponse,\n\tisRichTextElementResponse,\n\tRichTextElementResponse,\n} from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\nimport { DrawingElementResponseMapper } from './drawing-element-response.mapper';\nimport { ExternalToolElementResponseMapper } from './external-tool-element-response.mapper';\nimport { FileElementResponseMapper } from './file-element-response.mapper';\nimport { LinkElementResponseMapper } from './link-element-response.mapper';\nimport { RichTextElementResponseMapper } from './rich-text-element-response.mapper';\nimport { SubmissionContainerElementResponseMapper } from './submission-container-element-response.mapper';\n\nexport class ContentElementResponseFactory {\n\tprivate static mappers: BaseResponseMapper[] = [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t];\n\n\tstatic mapToResponse(element: AnyBoardDo): AnyContentElementResponse {\n\t\tconst elementMapper = this.mappers.find((mapper) => mapper.canMap(element));\n\n\t\tif (!elementMapper) {\n\t\t\tthrow new NotImplementedException(`unsupported element type: ${element.constructor.name}`);\n\t\t}\n\n\t\tconst result = elementMapper.mapToResponse(element);\n\n\t\treturn result;\n\t}\n\n\tstatic mapSubmissionContentToResponse(\n\t\telement: RichTextElement | FileElement\n\t): FileElementResponse | RichTextElementResponse {\n\t\tconst result = this.mapToResponse(element);\n\t\tif (!isFileElementResponse(result) && !isRichTextElementResponse(result)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementService.html":{"url":"injectables/ContentElementService.html","title":"injectable - ContentElementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findParentOfId\n \n \n Async\n move\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Card | SubmissionItem, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Card | SubmissionItem\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(element: AnyContentElementDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(element: AnyContentElementDo, targetCard: Card, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n targetCard\n \n Card\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(element: AnyContentElementDo, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tCard,\n\tContentElementFactory,\n\tContentElementType,\n\tisAnyContentElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementUpdateVisitor } from './content-element-update.visitor';\n\n@Injectable()\nexport class ContentElementService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(elementId: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(elementId);\n\n\t\tif (!isAnyContentElement(element)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync findParentOfId(elementId: EntityId): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(elementId);\n\t\tif (!parent) {\n\t\t\tthrow new NotFoundException('There is no node with this id');\n\t\t}\n\t\treturn parent;\n\t}\n\n\tasync create(parent: Card | SubmissionItem, type: ContentElementType): Promise {\n\t\tconst element = this.contentElementFactory.build(type);\n\t\tparent.addChild(element);\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\treturn element;\n\t}\n\n\tasync delete(element: AnyContentElementDo): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(element);\n\t}\n\n\tasync move(element: AnyContentElementDo, targetCard: Card, targetPosition: number): Promise {\n\t\tawait this.boardDoService.move(element, targetCard, targetPosition);\n\t}\n\n\tasync update(element: AnyContentElementDo, content: AnyElementContentBody): Promise {\n\t\tconst updater = new ContentElementUpdateVisitor(content);\n\t\tawait element.acceptAsync(updater);\n\n\t\tconst parent = await this.boardDoRepo.findParentOfId(element.id);\n\n\t\tawait this.boardDoRepo.save(element, parent);\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementUpdateVisitor.html":{"url":"injectables/ContentElementUpdateVisitor.html","title":"injectable - ContentElementUpdateVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementUpdateVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element-update.visitor.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n Async\n visitCardAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(content: AnyElementContentBody)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n \n AnyElementContentBody\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n \n \n \n \n \n rejectNotHandled(component: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n \n \n Type : AnyElementContentBody\n\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { sanitizeRichText } from '@shared/controller';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { InputFormat } from '@shared/domain/types';\nimport {\n\tAnyElementContentBody,\n\tDrawingContentBody,\n\tExternalToolContentBody,\n\tFileContentBody,\n\tLinkContentBody,\n\tRichTextContentBody,\n\tSubmissionContainerContentBody,\n} from '../controller/dto';\n\n@Injectable()\nexport class ContentElementUpdateVisitor implements BoardCompositeVisitorAsync {\n\tprivate readonly content: AnyElementContentBody;\n\n\tconstructor(content: AnyElementContentBody) {\n\t\tthis.content = content;\n\t}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\treturn this.rejectNotHandled(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\treturn this.rejectNotHandled(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\treturn this.rejectNotHandled(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tif (this.content instanceof FileContentBody) {\n\t\t\tfileElement.caption = sanitizeRichText(this.content.caption, InputFormat.PLAIN_TEXT);\n\t\t\tfileElement.alternativeText = sanitizeRichText(this.content.alternativeText, InputFormat.PLAIN_TEXT);\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tif (this.content instanceof LinkContentBody) {\n\t\t\tlinkElement.url = new URL(this.content.url).toString();\n\t\t\tlinkElement.title = this.content.title ?? '';\n\t\t\tlinkElement.description = this.content.description ?? '';\n\t\t\tif (this.content.imageUrl) {\n\t\t\t\tconst isRelativeUrl = (url: string) => {\n\t\t\t\t\tconst fallbackHostname = 'https://www.fallback-url-if-url-is-relative.org';\n\t\t\t\t\tconst imageUrlObject = new URL(url, fallbackHostname);\n\t\t\t\t\treturn imageUrlObject.origin === fallbackHostname;\n\t\t\t\t};\n\n\t\t\t\tif (isRelativeUrl(this.content.imageUrl)) {\n\t\t\t\t\tlinkElement.imageUrl = this.content.imageUrl;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tif (this.content instanceof RichTextContentBody) {\n\t\t\trichTextElement.text = sanitizeRichText(this.content.text, this.content.inputFormat);\n\t\t\trichTextElement.inputFormat = this.content.inputFormat;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tif (this.content instanceof DrawingContentBody) {\n\t\t\tdrawingElement.description = this.content.description;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tif (this.content instanceof SubmissionContainerContentBody) {\n\t\t\tif (this.content.dueDate !== undefined) {\n\t\t\t\tsubmissionContainerElement.dueDate = this.content.dueDate;\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\treturn this.rejectNotHandled(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (this.content instanceof ExternalToolContentBody && this.content.contextExternalToolId !== undefined) {\n\t\t\t// Updates should not remove an existing reference to a tool, to prevent orphan tool instances\n\t\t\texternalToolElement.contextExternalToolId = this.content.contextExternalToolId;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(externalToolElement);\n\t}\n\n\tprivate rejectNotHandled(component: AnyBoardDo): Promise {\n\t\treturn Promise.reject(new Error(`Cannot update element of type: '${component.constructor.name}'`));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementUrlParams.html":{"url":"classes/ContentElementUrlParams.html","title":"class - ContentElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContentElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcontentElementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentFileUrlParams.html":{"url":"classes/ContentFileUrlParams.html","title":"class - ContentFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class ContentFileUrlParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tid!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfilename!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentMetadata.html":{"url":"classes/ContentMetadata.html","title":"class - ContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IContentMetadata\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n Optional\n authorComments\n \n \n \n Optional\n authors\n \n \n \n Optional\n changes\n \n \n \n Optional\n contentType\n \n \n \n defaultLanguage\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n embedTypes\n \n \n \n Optional\n h\n \n \n \n language\n \n \n \n license\n \n \n \n Optional\n licenseExtras\n \n \n \n Optional\n licenseVersion\n \n \n \n mainLibrary\n \n \n \n Optional\n metaDescription\n \n \n \n Optional\n metaKeywords\n \n \n \n preloadedDependencies\n \n \n \n Optional\n source\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n Optional\n yearFrom\n \n \n \n Optional\n yearTo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authorComments\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authors\n \n \n \n \n \n \n Type : IContentAuthor[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n changes\n \n \n \n \n \n \n Type : IContentChange[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n defaultLanguage\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseExtras\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaKeywords\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n preloadedDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearFrom\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearTo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:56\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalTool.html":{"url":"classes/ContextExternalTool.html","title":"class - ContextExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextRef\n \n \n Optional\n displayName\n \n \n parameters\n \n \n schoolToolRef\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n \n \n \n Type : ContextRef\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n Type : SchoolExternalToolRefDO\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:41\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolAuthorizableService.html":{"url":"injectables/ContextExternalToolAuthorizableService.html","title":"injectable - ContextExternalToolAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool } from '../domain';\n\n@Injectable()\nexport class ContextExternalToolAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(private readonly contextExternalToolRepo: ContextExternalToolRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.findById(id);\n\n\t\treturn contextExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatus.html":{"url":"classes/ContextExternalToolConfigurationStatus.html","title":"class - ContextExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ContextExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatusResponse.html":{"url":"classes/ContextExternalToolConfigurationStatusResponse.html","title":"class - ContextExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?',\n\t})\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateListResponse.html","title":"class - ContextExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationTemplateResponse } from './context-external-tool-configuration-template.response';\n\nexport class ContextExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [ContextExternalToolConfigurationTemplateResponse] })\n\tdata: ContextExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: ContextExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateResponse.html","title":"class - ContextExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolExternalToolId\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: ContextExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n ContextExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class ContextExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tschoolExternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: ContextExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.schoolExternalToolId = configuration.schoolExternalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolContextParams.html":{"url":"classes/ContextExternalToolContextParams.html","title":"class - ContextExternalToolContextParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolContextParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', nullable: false, required: true, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolContextParams {\n\t@ApiProperty({ nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab' })\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({\n\t\tenum: ToolContextType,\n\t\tenumName: 'ToolContextType',\n\t\tnullable: false,\n\t\trequired: true,\n\t\texample: ToolContextType.COURSE,\n\t})\n\tcontextType!: ToolContextType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolCountPerContextResponse.html":{"url":"classes/ContextExternalToolCountPerContextResponse.html","title":"class - ContextExternalToolCountPerContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolCountPerContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElement\n \n \n \n course\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolCountPerContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolCountPerContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElement\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolCountPerContextResponse {\n\t@ApiProperty()\n\tcourse: number;\n\n\t@ApiProperty()\n\tboardElement: number;\n\n\tconstructor(props: ContextExternalToolCountPerContextResponse) {\n\t\tthis.course = props.course;\n\t\tthis.boardElement = props.boardElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ContextExternalToolEntity.html":{"url":"entities/ContextExternalToolEntity.html","title":"entity - ContextExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ContextExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n parameters\n \n \n \n schoolTool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ContextExternalToolType\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n Type : SchoolExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolFactory.html":{"url":"classes/ContextExternalToolFactory.html","title":"class - ContextExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n \n \n \nwithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextExternalToolProps } from '@modules/tool/context-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nclass ContextExternalToolFactory extends DoBaseFactory {\n\twithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolToolRef: { schoolToolId, schoolId },\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const contextExternalToolFactory = ContextExternalToolFactory.define(ContextExternalTool, ({ sequence }) => {\n\treturn {\n\t\tschoolToolRef: { schoolToolId: `schoolToolId-${sequence}`, schoolId: 'schoolId' },\n\t\tcontextRef: { id: new ObjectId().toHexString(), type: ToolContextType.COURSE },\n\t\tdisplayName: 'My Course Tool 1',\n\t\tparameters: [new CustomParameterEntry({ name: 'param', value: 'value' })],\n\t\ttoolVersion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams.html":{"url":"classes/ContextExternalToolIdParams.html","title":"class - ContextExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams-1.html":{"url":"classes/ContextExternalToolIdParams-1.html","title":"class - ContextExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContextExternalToolModule.html":{"url":"modules/ContextExternalToolModule.html","title":"module - ContextExternalToolModule","body":"\n \n\n\n\n\n Modules\n ContextExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ContextExternalToolModule\n\n\n\ncluster_ContextExternalToolModule_exports\n\n\n\ncluster_ContextExternalToolModule_providers\n\n\n\ncluster_ContextExternalToolModule_imports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nContextExternalToolModule -->\n\nCommonToolModule->ContextExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nContextExternalToolModule -->\n\nExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nContextExternalToolModule -->\n\nLoggerModule->ContextExternalToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nContextExternalToolModule -->\n\nSchoolExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nContextExternalToolModule -->\n\nToolConfigModule->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService -->\n\nContextExternalToolModule->ContextExternalToolAuthorizableService \n\n\n\n\n\nContextExternalToolService \n\nContextExternalToolService \n\nContextExternalToolService -->\n\nContextExternalToolModule->ContextExternalToolService \n\n\n\n\n\nContextExternalToolValidationService \n\nContextExternalToolValidationService \n\nContextExternalToolValidationService -->\n\nContextExternalToolModule->ContextExternalToolValidationService \n\n\n\n\n\nToolReferenceService \n\nToolReferenceService \n\nToolReferenceService -->\n\nContextExternalToolModule->ToolReferenceService \n\n\n\n\n\nToolVersionService \n\nToolVersionService \n\nToolVersionService -->\n\nContextExternalToolModule->ToolVersionService \n\n\n\n\n\nContextExternalToolAuthorizableService\n\nContextExternalToolAuthorizableService\n\nContextExternalToolModule -->\n\nContextExternalToolAuthorizableService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolService\n\nContextExternalToolService\n\nContextExternalToolModule -->\n\nContextExternalToolService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolValidationService\n\nContextExternalToolValidationService\n\nContextExternalToolModule -->\n\nContextExternalToolValidationService->ContextExternalToolModule\n\n\n\n\n\nToolReferenceService\n\nToolReferenceService\n\nContextExternalToolModule -->\n\nToolReferenceService->ContextExternalToolModule\n\n\n\n\n\nToolVersionService\n\nToolVersionService\n\nContextExternalToolModule -->\n\nToolVersionService->ContextExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/context-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n LoggerModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { CommonToolModule } from '../common';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { ContextExternalToolAuthorizableService, ContextExternalToolService, ToolReferenceService } from './service';\nimport { ContextExternalToolValidationService } from './service/context-external-tool-validation.service';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ToolVersionService } from './service/tool-version-service';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, SchoolExternalToolModule, LoggerModule, ToolConfigModule],\n\tproviders: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n\texports: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n})\nexport class ContextExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolPostParams.html":{"url":"classes/ContextExternalToolPostParams.html","title":"class - ContextExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n schoolToolId\n \n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolPostParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolToolId!: string;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty()\n\tcontextType!: ToolContextType;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\ttoolVersion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProperties.html":{"url":"interfaces/ContextExternalToolProperties.html","title":"interface - ContextExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n parameters\n \n \n \n \n schoolTool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ContextExternalToolType\n\n \n \n\n\n \n \n Type : ContextExternalToolType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n \n \n schoolTool: SchoolExternalToolEntity\n\n \n \n\n\n \n \n Type : SchoolExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProps.html":{"url":"interfaces/ContextExternalToolProps.html","title":"interface - ContextExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n id\n \n \n \n \n parameters\n \n \n \n \n schoolToolRef\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextRef\n \n \n \n \n \n \n \n \n contextRef: ContextRef\n\n \n \n\n\n \n \n Type : ContextRef\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n \n \n schoolToolRef: SchoolExternalToolRefDO\n\n \n \n\n\n \n \n Type : SchoolExternalToolRefDO\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRepo.html":{"url":"injectables/ContextExternalToolRepo.html","title":"injectable - ContextExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n countBySchoolToolIdsAndContextType\n \n \n Async\n deleteBySchoolExternalToolIds\n \n \n Async\n find\n \n \n Public\n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Private\n mapContextTypeToDoType\n \n \n Private\n mapContextTypeToEntityType\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n countBySchoolToolIdsAndContextType\n \n \n \n \n \n \n \n countBySchoolToolIdsAndContextType(contextType: ContextExternalToolType, schoolExternalToolIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ContextExternalToolType\n \n\n \n No\n \n\n\n \n \n schoolExternalToolIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBySchoolExternalToolIds\n \n \n \n \n \n \n \n deleteBySchoolExternalToolIds(schoolExternalToolIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContextTypeToDoType\n \n \n \n \n \n \n \n mapContextTypeToDoType(type: ContextExternalToolType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContextExternalToolType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContextTypeToEntityType\n \n \n \n \n \n \n \n mapContextTypeToEntityType(type: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ContextExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:117\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ContextExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:96\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ContextExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:22\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolContextType } from '@modules/tool/common/enum/tool-context-type.enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity, ContextExternalToolType } from '@modules/tool/context-external-tool/entity';\nimport { ContextExternalToolQuery } from '@modules/tool/context-external-tool/uc/dto/context-external-tool.types';\nimport { SchoolExternalToolRefDO } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { ContextExternalToolScope } from './context-external-tool.scope';\n\n@Injectable()\nexport class ContextExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ContextExternalToolEntity;\n\t}\n\n\tasync deleteBySchoolExternalToolIds(schoolExternalToolIds: string[]): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, {\n\t\t\tschoolTool: { $in: schoolExternalToolIds },\n\t\t});\n\t\treturn count;\n\t}\n\n\tasync find(query: ContextExternalToolQuery): Promise {\n\t\tconst scope: ContextExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: ContextExternalToolEntity[] = await this._em.find(this.entityName, scope.query, {\n\t\t\tpopulate: ['schoolTool.school'],\n\t\t});\n\n\t\tconst dos: ContextExternalTool[] = entities.map((entity: ContextExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync countBySchoolToolIdsAndContextType(contextType: ContextExternalToolType, schoolExternalToolIds: string[]) {\n\t\tconst contextExternalToolCount = await this._em.count(this.entityName, {\n\t\t\t$and: [{ schoolTool: { $in: schoolExternalToolIds }, contextType }],\n\t\t});\n\n\t\treturn contextExternalToolCount;\n\t}\n\n\tpublic override async findById(id: EntityId): Promise {\n\t\tconst entity: ContextExternalToolEntity = await this._em.findOneOrFail(\n\t\t\tthis.entityName,\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tpopulate: ['schoolTool.school'],\n\t\t\t}\n\t\t);\n\n\t\tconst mapped: ContextExternalTool = this.mapEntityToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tpublic async findByIdOrNull(id: EntityId): Promise {\n\t\tconst entity: ContextExternalToolEntity | null = await this._em.findOne(\n\t\t\tthis.entityName,\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tpopulate: ['schoolTool.school'],\n\t\t\t}\n\t\t);\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped: ContextExternalTool = this.mapEntityToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tprivate buildScope(query: ContextExternalToolQuery): ContextExternalToolScope {\n\t\tconst scope: ContextExternalToolScope = new ContextExternalToolScope();\n\n\t\tscope.byId(query.id);\n\t\tscope.bySchoolToolId(query.schoolToolRef?.schoolToolId);\n\t\tscope.byContextId(query.context?.id);\n\t\tscope.byContextType(query.context?.type);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: ContextExternalToolEntity): ContextExternalTool {\n\t\tconst schoolToolRef: SchoolExternalToolRefDO = new SchoolExternalToolRefDO({\n\t\t\tschoolId: entity.schoolTool.school?.id,\n\t\t\tschoolToolId: entity.schoolTool.id,\n\t\t});\n\n\t\tconst contextRef: ContextRef = new ContextRef({\n\t\t\tid: entity.contextId,\n\t\t\ttype: this.mapContextTypeToDoType(entity.contextType),\n\t\t});\n\n\t\treturn new ContextExternalTool({\n\t\t\tid: entity.id,\n\t\t\tschoolToolRef,\n\t\t\tcontextRef,\n\t\t\tdisplayName: entity.displayName,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.parameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: ContextExternalTool): EntityData {\n\t\treturn {\n\t\t\tcontextId: entityDO.contextRef.id,\n\t\t\tcontextType: this.mapContextTypeToEntityType(entityDO.contextRef.type),\n\t\t\tdisplayName: entityDO.displayName,\n\t\t\tschoolTool: this._em.getReference(SchoolExternalToolEntity, entityDO.schoolToolRef.schoolToolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n\n\tprivate mapContextTypeToEntityType(type: ToolContextType): ContextExternalToolType {\n\t\tswitch (type) {\n\t\t\tcase ToolContextType.COURSE:\n\t\t\t\treturn ContextExternalToolType.COURSE;\n\t\t\tcase ToolContextType.BOARD_ELEMENT:\n\t\t\t\treturn ContextExternalToolType.BOARD_ELEMENT;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown ToolContextType');\n\t\t}\n\t}\n\n\tprivate mapContextTypeToDoType(type: ContextExternalToolType): ToolContextType {\n\t\tswitch (type) {\n\t\t\tcase ContextExternalToolType.COURSE:\n\t\t\t\treturn ToolContextType.COURSE;\n\t\t\tcase ContextExternalToolType.BOARD_ELEMENT:\n\t\t\t\treturn ToolContextType.BOARD_ELEMENT;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown ContextExternalToolType');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolRequestMapper.html":{"url":"classes/ContextExternalToolRequestMapper.html","title":"class - ContextExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n \n \n \n \n \n mapContextExternalToolRequest(request: ContextExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolPostParams } from '../controller/dto';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\n\nexport class ContextExternalToolRequestMapper {\n\tstatic mapContextExternalToolRequest(request: ContextExternalToolPostParams): ContextExternalToolDto {\n\t\treturn {\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: request.schoolToolId,\n\t\t\t},\n\t\t\tcontextRef: {\n\t\t\t\tid: request.contextId,\n\t\t\t\ttype: request.contextType,\n\t\t\t},\n\t\t\tdisplayName: request.displayName,\n\t\t\ttoolVersion: request.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponse.html":{"url":"classes/ContextExternalToolResponse.html","title":"class - ContextExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n parameters\n \n \n \n schoolToolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ContextExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ContextExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tschoolToolId: string;\n\n\t@ApiProperty()\n\tcontextId: string;\n\n\t@ApiProperty({ enum: ToolContextType })\n\tcontextType: ToolContextType;\n\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[] = [];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: ContextExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.schoolToolId = response.schoolToolId;\n\t\tthis.contextId = response.contextId;\n\t\tthis.contextType = response.contextType;\n\t\tthis.displayName = response.displayName;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponseMapper.html":{"url":"classes/ContextExternalToolResponseMapper.html","title":"class - ContextExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n Static\n mapToToolReferenceResponse\n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n \n \n \n \n \n mapContextExternalToolResponse(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponse\n \n \n \n \n \n \n \n mapToToolReferenceResponse(toolReference: ToolReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n ToolReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n \n \n \n mapToToolReferenceResponses(toolReferences: ToolReference[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferences\n \n ToolReference[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolStatusResponseMapper } from '../../common/mapper/tool-status-response.mapper';\nimport { CustomParameterEntryParam, CustomParameterEntryResponse } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolResponse, ToolReferenceResponse } from '../controller/dto';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ContextExternalToolResponseMapper {\n\tstatic mapContextExternalToolResponse(contextExternalTool: ContextExternalTool): ContextExternalToolResponse {\n\t\tconst mapped: ContextExternalToolResponse = new ContextExternalToolResponse({\n\t\t\tid: contextExternalTool.id ?? '',\n\t\t\tcontextId: contextExternalTool.contextRef.id,\n\t\t\tcontextType: contextExternalTool.contextRef.type,\n\t\t\tschoolToolId: contextExternalTool.schoolToolRef.schoolToolId,\n\t\t\tdisplayName: contextExternalTool.displayName,\n\t\t\ttoolVersion: contextExternalTool.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(contextExternalTool.parameters),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntryResponse[] {\n\t\tconst mapped: CustomParameterEntryResponse[] = customParameterParams.map(\n\t\t\t(customParameterParam: CustomParameterEntryParam) => {\n\t\t\t\tconst customParameterEntryResponse: CustomParameterEntryResponse = new CustomParameterEntryResponse({\n\t\t\t\t\tname: customParameterParam.name,\n\t\t\t\t\tvalue: customParameterParam.value,\n\t\t\t\t});\n\n\t\t\t\treturn customParameterEntryResponse;\n\t\t\t}\n\t\t);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolReferenceResponses(toolReferences: ToolReference[]): ToolReferenceResponse[] {\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] = toolReferences.map((toolReference: ToolReference) =>\n\t\t\tthis.mapToToolReferenceResponse(toolReference)\n\t\t);\n\n\t\treturn toolReferenceResponses;\n\t}\n\n\tstatic mapToToolReferenceResponse(toolReference: ToolReference): ToolReferenceResponse {\n\t\tconst response = new ToolReferenceResponse({\n\t\t\tcontextToolId: toolReference.contextToolId,\n\t\t\tdisplayName: toolReference.displayName,\n\t\t\tlogoUrl: toolReference.logoUrl,\n\t\t\topenInNewTab: toolReference.openInNewTab,\n\t\t\tstatus: ToolStatusResponseMapper.mapToResponse(toolReference.status),\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRule.html":{"url":"injectables/ContextExternalToolRule.html","title":"injectable - ContextExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: ContextExternalToolEntity | ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class ContextExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof ContextExternalToolEntity || entity instanceof ContextExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: ContextExternalToolEntity | ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof ContextExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolTool.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolToolRef.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolScope.html":{"url":"classes/ContextExternalToolScope.html","title":"class - ContextExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byContextId\n \n \n byContextType\n \n \n byId\n \n \n bySchoolToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byContextId\n \n \n \n \n \n \nbyContextId(contextId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byContextType\n \n \n \n \n \n \nbyContextType(contextType: ToolContextType | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ToolContextType | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byId\n \n \n \n \n \n \nbyId(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolToolId\n \n \n \n \n \n \nbySchoolToolId(schoolToolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class ContextExternalToolScope extends Scope {\n\tbyId(id: EntityId | undefined): ContextExternalToolScope {\n\t\tif (id !== undefined) {\n\t\t\tthis.addQuery({ id });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbySchoolToolId(schoolToolId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (schoolToolId !== undefined) {\n\t\t\tthis.addQuery({ schoolTool: schoolToolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyContextId(contextId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (contextId !== undefined) {\n\t\t\tthis.addQuery({ contextId });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyContextType(contextType: ToolContextType | undefined): ContextExternalToolScope {\n\t\tif (contextType !== undefined) {\n\t\t\tthis.addQuery({ contextType });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolSearchListResponse.html":{"url":"classes/ContextExternalToolSearchListResponse.html","title":"class - ContextExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolResponse } from './context-external-tool.response';\n\nexport class ContextExternalToolSearchListResponse {\n\t@ApiProperty({ type: [ContextExternalToolResponse] })\n\tdata: ContextExternalToolResponse[];\n\n\tconstructor(data: ContextExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolService.html":{"url":"injectables/ContextExternalToolService.html","title":"injectable - ContextExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Public\n Async\n findAllByContext\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByIdOrFail\n \n \n Public\n Async\n findContextExternalTools\n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n \n \n \n \n \n checkContextRestrictions(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n \n \n \n \n \n deleteBySchoolExternalToolId(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByContext\n \n \n \n \n \n \n \n findAllByContext(contextRef: ContextRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextRef\n \n ContextRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrFail\n \n \n \n \n \n \n \n findByIdOrFail(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findContextExternalTools\n \n \n \n \n \n \n \n findContextExternalTools(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n \n \n \n saveContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolQuery } from '../uc/dto/context-external-tool.types';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { RestrictedContextMismatchLoggable } from './restricted-context-mismatch-loggabble';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ContextExternalToolService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic async findContextExternalTools(query: ContextExternalToolQuery): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find(query);\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async findByIdOrFail(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolRepo.findById(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async findById(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool | null = await this.contextExternalToolRepo.findByIdOrNull(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async saveContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst savedContextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.save(contextExternalTool);\n\n\t\treturn savedContextExternalTool;\n\t}\n\n\tpublic async deleteBySchoolExternalToolId(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: schoolExternalToolId,\n\t\t\t},\n\t\t});\n\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTools);\n\t}\n\n\tpublic async deleteContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTool);\n\t}\n\n\tpublic async findAllByContext(contextRef: ContextRef): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tcontext: contextRef,\n\t\t});\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async checkContextRestrictions(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (this.commonToolService.isContextRestricted(externalTool, contextExternalTool.contextRef.type)) {\n\t\t\tthrow new RestrictedContextMismatchLoggable(externalTool.name, contextExternalTool.contextRef.type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolUc.html":{"url":"injectables/ContextExternalToolUc.html","title":"injectable - ContextExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n Async\n getContextExternalTool\n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolPermissionHelper: ToolPermissionHelper, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, contextExternalToolValidationService: ContextExternalToolValidationService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n \n \n \n \n \n filterToolsWithPermissions(userId: EntityId, tools: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(userId: EntityId, contextToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(userId: EntityId, contextType: ToolContextType, contextId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import {\n\tAuthorizationContext,\n\tAuthorizationContextBuilder,\n\tAuthorizationService,\n\tForbiddenLoggableException,\n} from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolService } from '../service';\nimport { ContextExternalToolValidationService } from '../service/context-external-tool-validation.service';\nimport { ContextExternalToolDto } from './dto/context-external-tool.types';\n\n@Injectable()\nexport class ContextExternalToolUc {\n\tconstructor(\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync createContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tcontextExternalToolDto.schoolToolRef.schoolId = schoolId;\n\t\tconst contextExternalTool = new ContextExternalTool(contextExternalToolDto);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolService.checkContextRestrictions(contextExternalTool);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn createdTool;\n\t}\n\n\tasync updateContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tlet contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tcontextExternalTool = new ContextExternalTool({\n\t\t\t...contextExternalToolDto,\n\t\t\tid: contextExternalTool.id,\n\t\t});\n\t\tcontextExternalTool.schoolToolRef.schoolId = schoolId;\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn updatedTool;\n\t}\n\n\tpublic async deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextExternalToolId);\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\tawait this.contextExternalToolService.deleteContextExternalTool(tool);\n\t}\n\n\tpublic async getContextExternalToolsForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: string\n\t): Promise {\n\t\tconst tools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: contextId, type: contextType })\n\t\t);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = await this.filterToolsWithPermissions(userId, tools);\n\n\t\treturn toolsWithPermission;\n\t}\n\n\tasync getContextExternalTool(userId: EntityId, contextToolId: EntityId) {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\treturn tool;\n\t}\n\n\tprivate async filterToolsWithPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[]\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = tools.filter((tool) =>\n\t\t\tthis.authorizationService.hasPermission(user, tool, context)\n\t\t);\n\n\t\treturn toolsWithPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolValidationService.html":{"url":"injectables/ContextExternalToolValidationService.html","title":"injectable - ContextExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n \n \n \n \n \n checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolService } from './context-external-tool.service';\n\n@Injectable()\nexport class ContextExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validate(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.checkDuplicateUsesInContext(contextExternalTool);\n\n\t\tconst loadedSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(loadedSchoolExternalTool.toolId);\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, contextExternalTool);\n\t}\n\n\tprivate async checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool) {\n\t\tlet duplicate: ContextExternalTool[] = await this.contextExternalToolService.findContextExternalTools({\n\t\t\tschoolToolRef: contextExternalTool.schoolToolRef,\n\t\t\tcontext: contextExternalTool.contextRef,\n\t\t});\n\n\t\t// Only leave tools that are not the currently handled tool itself (for updates) or ones with the same name\n\t\tduplicate = duplicate.filter(\n\t\t\t(duplicateTool) =>\n\t\t\t\tduplicateTool.id !== contextExternalTool.id && duplicateTool.displayName === contextExternalTool.displayName\n\t\t);\n\n\t\tif (duplicate.length > 0) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_with_name_exists: A tool with the same name is already assigned to this course. Tool names must be unique within a course.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRef.html":{"url":"classes/ContextRef.html","title":"class - ContextRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextRef)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../../common/enum';\n\nexport class ContextRef {\n\tid: string;\n\n\ttype: ToolContextType;\n\n\tconstructor(props: ContextRef) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRefParams.html":{"url":"classes/ContextRefParams.html","title":"class - ContextRefParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRefParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({type: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ContextRefParams {\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({ type: ToolContextType })\n\tcontextType!: ToolContextType;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConverterUtil.html":{"url":"injectables/ConverterUtil.html","title":"injectable - ConverterUtil","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConverterUtil\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/converter.util.ts\n \n\n\n \n Description\n \n \n This class encapsulates\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n xml2object\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n xml2object\n \n \n \n \n \n \nxml2object(xml: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/converter.util.ts:9\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n xml\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport xml2json from '@hendt/xml2json';\n\n/**\n * This class encapsulates\n */\n@Injectable()\nexport class ConverterUtil {\n\txml2object(xml: string): T {\n\t\treturn xml2json(xml) as T;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CookiesDto.html":{"url":"classes/CookiesDto.html","title":"class - CookiesDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CookiesDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/cookies.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n hydraCookies\n \n \n localCookies\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CookiesDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CookiesDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n hydraCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n localCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CookiesDto {\n\thydraCookies: string[];\n\n\tlocalCookies: string[];\n\n\tconstructor(props: CookiesDto) {\n\t\tthis.localCookies = props.localCookies;\n\t\tthis.hydraCookies = props.hydraCookies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyApiResponse.html":{"url":"classes/CopyApiResponse.html","title":"class - CopyApiResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyApiResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/dto/copy.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a copy status document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n Optional\n elements\n \n \n \n Optional\n id\n \n \n \n status\n \n \n \n Optional\n title\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CopyApiResponse)\n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CopyApiResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of destination course'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n elements\n \n \n \n \n \n \n Type : CopyApiResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: undefined, description: 'List of included sub elements with recursive type structure'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : CopyStatusEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyStatusEnum, description: 'Copy progress status of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Title of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CopyElementType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyElementType, description: 'Type of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CopyElementType, CopyStatusEnum } from '@modules/copy-helper/types/copy.types';\n\n/**\n * DTO for returning a copy status document via api.\n */\nexport class CopyApiResponse {\n\tconstructor({ title, type, status }: CopyApiResponse) {\n\t\tif (title) this.title = title;\n\t\tthis.type = type;\n\t\tthis.status = status;\n\t}\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of copied element',\n\t})\n\tid?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of copied element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyElementType,\n\t\tdescription: 'Type of copied element',\n\t})\n\ttype: CopyElementType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of destination course',\n\t})\n\tdestinationCourseId?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyStatusEnum,\n\t\tdescription: 'Copy progress status of copied element',\n\t})\n\tstatus: CopyStatusEnum;\n\n\t@ApiPropertyOptional({\n\t\ttype: [CopyApiResponse],\n\t\tdescription: 'List of included sub elements with recursive type structure',\n\t})\n\telements?: CopyApiResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDO.html":{"url":"interfaces/CopyFileDO.html","title":"interface - CopyFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n\t'REMOVE_CREATORID_OF_FILES' = 'remove-creatorId-of-files',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId?: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDomainObjectProps.html":{"url":"interfaces/CopyFileDomainObjectProps.html","title":"interface - CopyFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId | undefined\n\n \n \n\n\n \n \n Type : EntityId | undefined\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface CopyFileDomainObjectProps {\n\tid?: EntityId | undefined;\n\tsourceId: EntityId;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileDto.html":{"url":"classes/CopyFileDto.html","title":"class - CopyFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId | undefined\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { CopyFileDomainObjectProps } from '../interfaces';\n\nexport class CopyFileDto {\n\tid?: EntityId | undefined;\n\n\tsourceId: EntityId;\n\n\tname: string;\n\n\tconstructor(data: CopyFileDomainObjectProps) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileListResponse.html":{"url":"classes/CopyFileListResponse.html","title":"class - CopyFileListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:84\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CopyFileResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:91\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId?: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileParams.html":{"url":"classes/CopyFileParams.html","title":"class - CopyFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:91\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponse.html":{"url":"classes/CopyFileResponse.html","title":"class - CopyFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n name\n \n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:66\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:77\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId?: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponseBuilder.html":{"url":"classes/CopyFileResponseBuilder.html","title":"class - CopyFileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(id: string, sourceId: string, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n sourceId\n \n string\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CopyFileResponse } from '../controller/dto';\n\nexport class CopyFileResponseBuilder {\n\tpublic static build(id: string, sourceId: string, name: string): CopyFileResponse {\n\t\tconst copyFileResponse = new CopyFileResponse({ id, sourceId, name });\n\n\t\treturn copyFileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFiles.html":{"url":"interfaces/CopyFiles.html","title":"interface - CopyFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n sourcePath\n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n sourcePath\n \n \n \n \n \n \n \n \n sourcePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n targetPath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParamBuilder.html":{"url":"classes/CopyFilesOfParentParamBuilder.html","title":"class - CopyFilesOfParentParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n source\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n target\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFilesRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\n\nexport class CopyFilesOfParentParamBuilder {\n\tstatic build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo): CopyFilesRequestInfo {\n\t\tconst fileRequestInfo = {\n\t\t\tuserId,\n\t\t\tsource,\n\t\t\ttarget,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParams.html":{"url":"classes/CopyFilesOfParentParams.html","title":"class - CopyFilesOfParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:85\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentPayload.html":{"url":"classes/CopyFilesOfParentPayload.html","title":"class - CopyFilesOfParentPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n target\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:100\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFilesRequestInfo.html":{"url":"interfaces/CopyFilesRequestInfo.html","title":"interface - CopyFilesRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFilesRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from './file-request-info';\n\nexport interface CopyFilesRequestInfo {\n\tuserId: EntityId;\n\tsource: FileRequestInfo;\n\ttarget: FileRequestInfo;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyFilesService.html":{"url":"injectables/CopyFilesService.html","title":"injectable - CopyFilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyFilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/copy-files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n Private\n createFileUrlReplacements\n \n \n Private\n deriveCopyStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(copyHelperService: CopyHelperService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n \n \n \n \n \n copyFilesOfEntity(originalEntity: T, copyEntity: T, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:23\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalEntity\n \n T\n \n\n \n No\n \n\n\n \n \n copyEntity\n \n T\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createFileUrlReplacements\n \n \n \n \n \n \n \n createFileUrlReplacements(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileUrlReplacement[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyFileDto } from '../dto';\nimport { EntityWithEmbeddedFiles } from '../interfaces';\nimport { CopyFilesOfParentParamBuilder, FileParamBuilder } from '../mapper';\nimport { FilesStorageClientAdapterService } from './files-storage-client.service';\n\nconst FILE_COULD_NOT_BE_COPIED_HINT = 'fileCouldNotBeCopied';\n\nexport type FileUrlReplacement = {\n\tregex: RegExp;\n\treplacement: string;\n};\n\n@Injectable()\nexport class CopyFilesService {\n\tconstructor(\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync copyFilesOfEntity(\n\t\toriginalEntity: T,\n\t\tcopyEntity: T,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst source = FileParamBuilder.build(originalEntity.getSchoolId(), originalEntity);\n\t\tconst target = FileParamBuilder.build(copyEntity.getSchoolId(), copyEntity);\n\t\tconst copyFilesOfParentParams = CopyFilesOfParentParamBuilder.build(userId, source, target);\n\n\t\tconst fileDtos = await this.filesStorageClientAdapterService.copyFilesOfParent(copyFilesOfParentParams);\n\t\tconst fileUrlReplacements = this.createFileUrlReplacements(fileDtos);\n\t\tconst fileCopyStatus = this.deriveCopyStatus(fileDtos);\n\n\t\treturn { fileUrlReplacements, fileCopyStatus };\n\t}\n\n\tprivate createFileUrlReplacements(fileDtos: CopyFileDto[]): FileUrlReplacement[] {\n\t\treturn fileDtos.map((fileDto): FileUrlReplacement => {\n\t\t\tconst { sourceId, id, name } = fileDto;\n\n\t\t\t// use hint as id replacement, if file could not be copied\n\t\t\tconst newId = id ?? FILE_COULD_NOT_BE_COPIED_HINT;\n\n\t\t\tconst fileUrlReplacement: FileUrlReplacement = {\n\t\t\t\tregex: new RegExp(`${sourceId}.+?\"`, 'g'),\n\t\t\t\treplacement: `${newId}/${name}\"`,\n\t\t\t};\n\n\t\t\treturn fileUrlReplacement;\n\t\t});\n\t}\n\n\tprivate deriveCopyStatus(fileDtos: CopyFileDto[]): CopyStatus {\n\t\tconst fileStatuses: CopyStatus[] = fileDtos.map(({ sourceId, id, name }) => {\n\t\t\tconst result = {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: name ?? `(old fileid: ${sourceId})`,\n\t\t\t};\n\t\t\treturn result;\n\t\t});\n\n\t\tconst fileGroupStatus = {\n\t\t\ttype: CopyElementType.FILE_GROUP,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(fileStatuses),\n\t\t\telements: fileStatuses,\n\t\t};\n\t\treturn fileGroupStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CopyHelperModule.html":{"url":"modules/CopyHelperModule.html","title":"module - CopyHelperModule","body":"\n \n\n\n\n\n Modules\n CopyHelperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CopyHelperModule\n\n\n\ncluster_CopyHelperModule_exports\n\n\n\ncluster_CopyHelperModule_providers\n\n\n\n\nCopyHelperService \n\nCopyHelperService \n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nCopyHelperService -->\n\nCopyHelperModule->CopyHelperService \n\n\n\n\n\nCopyHelperService\n\nCopyHelperService\n\nCopyHelperModule -->\n\nCopyHelperService->CopyHelperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/copy-helper/copy-helper.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CopyHelperService\n \n \n \n \n Exports\n \n \n CopyHelperService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CopyHelperService } from './service/copy-helper.service';\n\n@Module({\n\tproviders: [CopyHelperService],\n\texports: [CopyHelperService],\n})\nexport class CopyHelperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyHelperService.html":{"url":"injectables/CopyHelperService.html","title":"injectable - CopyHelperService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyHelperService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/service/copy-helper.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildCopyEntityDict\n \n \n deriveCopyName\n \n \n deriveStatusFromElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCopyEntityDict\n \n \n \n \n \n \nbuildCopyEntityDict(status: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyDictionary\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveCopyName\n \n \n \n \n \n \nderiveCopyName(name: string, existingNames: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n existingNames\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveStatusFromElements\n \n \n \n \n \n \nderiveStatusFromElements(elements: CopyStatus[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n CopyStatus[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatusEnum\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyDictionary, CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nconst isAtLeastPartialSuccessfull = (status) => status === CopyStatusEnum.PARTIAL || status === CopyStatusEnum.SUCCESS;\n\n@Injectable()\nexport class CopyHelperService {\n\tderiveStatusFromElements(elements: CopyStatus[]): CopyStatusEnum {\n\t\tconst elementsStatuses = elements.map((el) => el.status);\n\n\t\tconst filtered = elementsStatuses.filter((status) => status !== CopyStatusEnum.NOT_DOING);\n\n\t\tif (filtered.length > 0) {\n\t\t\tif (filtered.every((status) => !isAtLeastPartialSuccessfull(status))) {\n\t\t\t\treturn CopyStatusEnum.FAIL;\n\t\t\t}\n\n\t\t\tif (filtered.some((status) => status !== CopyStatusEnum.SUCCESS)) {\n\t\t\t\treturn CopyStatusEnum.PARTIAL;\n\t\t\t}\n\t\t}\n\n\t\treturn CopyStatusEnum.SUCCESS;\n\t}\n\n\tderiveCopyName(name: string, existingNames: string[] = []): string {\n\t\tif (!existingNames.includes(name)) {\n\t\t\treturn name;\n\t\t}\n\t\tlet num = 1;\n\t\tconst matches = name.match(/^(?.*) \\((?\\d+)\\)$/);\n\t\tif (matches && matches.groups) {\n\t\t\t({ name } = matches.groups);\n\t\t\tnum = Number(matches.groups.number) + 1;\n\t\t}\n\t\tconst composedName = `${name} (${num})`;\n\t\tif (existingNames.includes(composedName)) {\n\t\t\treturn this.deriveCopyName(composedName, existingNames);\n\t\t}\n\t\treturn composedName;\n\t}\n\n\tbuildCopyEntityDict(status: CopyStatus): CopyDictionary {\n\t\tconst map = new Map();\n\t\tstatus.elements?.forEach((elementStatus: CopyStatus) => {\n\t\t\tthis.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el));\n\t\t});\n\t\tif (status.originalEntity && status.copyEntity) {\n\t\t\tmap.set(status.originalEntity.id, status.copyEntity);\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyMapper.html":{"url":"classes/CopyMapper.html","title":"class - CopyMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/mapper/copy.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n Static\n mapTaskCopyToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n \n \n \n \n \n mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskCopyToDomain\n \n \n \n \n \n \n \n mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(copyStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyApiResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonCopyApiParams } from '@modules/learnroom/controller/dto/lesson/lesson-copy.params';\nimport { LessonCopyParentParams } from '@modules/lesson/types';\nimport { TaskCopyApiParams } from '@modules/task/controller/dto/task-copy.params';\nimport { TaskCopyParentParams } from '@modules/task/types';\nimport { LessonEntity, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyApiResponse } from '../dto/copy.response';\nimport { CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nexport class CopyMapper {\n\tstatic mapToResponse(copyStatus: CopyStatus): CopyApiResponse {\n\t\tconst dto = new CopyApiResponse({\n\t\t\ttitle: copyStatus.title,\n\t\t\ttype: copyStatus.type,\n\t\t\tstatus: copyStatus.status,\n\t\t});\n\n\t\tif (copyStatus.copyEntity) {\n\t\t\tconst copyEntity = copyStatus.copyEntity as LessonEntity | Task;\n\t\t\tdto.id = copyEntity.id;\n\t\t\tdto.destinationCourseId = copyEntity.course?.id;\n\t\t}\n\t\tif (copyStatus.status !== CopyStatusEnum.SUCCESS && copyStatus.elements) {\n\t\t\tdto.elements = copyStatus.elements\n\t\t\t\t.map((element) => CopyMapper.mapToResponse(element))\n\t\t\t\t.filter((element) => element.status !== CopyStatusEnum.SUCCESS);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId): LessonCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId): TaskCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_exports\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nErrorModule\n\nErrorModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nErrorModule->CoreModule\n\n\n\n\n\nInterceptorModule\n\nInterceptorModule\n\nCoreModule -->\n\nInterceptorModule->CoreModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCoreModule -->\n\nLoggerModule->CoreModule\n\n\n\n\n\nValidationModule\n\nValidationModule\n\nCoreModule -->\n\nValidationModule->CoreModule\n\n\n\n\n\nLoggerModule \n\nLoggerModule \n\nLoggerModule -->\n\nCoreModule->LoggerModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/core.module.ts\n \n\n\n\n \n Description\n \n \n The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\nOverrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n ErrorModule\n \n \n InterceptorModule\n \n \n LoggerModule\n \n \n ValidationModule\n \n \n \n \n Exports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ErrorModule } from './error';\nimport { InterceptorModule } from './interceptor';\nimport { LoggerModule } from './logger';\nimport { ValidationModule } from './validation';\n\n/**\n * The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\n * Overrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n */\n@Module({\n\timports: [LoggerModule, ErrorModule, ValidationModule, InterceptorModule],\n\texports: [LoggerModule],\n})\nexport class CoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CoreModuleConfig.html":{"url":"interfaces/CoreModuleConfig.html","title":"interface - CoreModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CoreModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/interfaces/core-module-config.ts\n \n\n\n\n \n Extends\n \n \n InterceptorConfig\n LoggerConfig\n \n\n\n\n\n \n\n\n \n import { InterceptorConfig } from '@shared/common';\nimport { LoggerConfig } from '../logger';\n\nexport interface CoreModuleConfig extends InterceptorConfig, LoggerConfig {}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/County.html":{"url":"classes/County.html","title":"class - County","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n County\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n antaresKey\n \n \n countyId\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(county: County)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n county\n \n \n County\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n antaresKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n countyId\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Course.html":{"url":"entities/Course.html","title":"entity - Course","body":"\n \n\n\n\n\n\n\n\n Entities\n Course\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n color\n \n \n \n Optional\n copyingSince\n \n \n \n courseGroups\n \n \n \n description\n \n \n \n Optional\n features\n \n \n \n groups\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n Optional\n shareToken\n \n \n \n Optional\n startDate\n \n \n \n \n students\n \n \n \n \n substitutionTeachers\n \n \n \n \n teachers\n \n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classes\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'classIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.color\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseGroups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('CourseGroup', 'course', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.description\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : CourseFeatures[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true, array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'groupIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.name\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n shareToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'userIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'substitutionIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'teacherIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:87\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CourseController.html":{"url":"controllers/CourseController.html","title":"controller - CourseController","body":"\n \n\n\n\n\n\n\n Controllers\n CourseController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/course.controller.ts\n \n\n \n Prefix\n \n \n courses\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n Async\n findForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(currentUser: ICurrentUser, urlParams: CourseUrlParams, queryParams: CourseQueryParams, response: Response)\n \n \n\n \n \n Decorators : \n \n @Get(':courseId/export')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n CourseUrlParams\n \n\n \n No\n \n\n\n \n \n queryParams\n \n CourseQueryParams\n \n\n \n No\n \n\n\n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, NotFoundException, Param, Query, Res, StreamableFile } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller/';\nimport { Response } from 'express';\nimport { CourseMapper } from '../mapper/course.mapper';\nimport { CourseExportUc } from '../uc/course-export.uc';\nimport { CourseUc } from '../uc/course.uc';\nimport { CourseMetadataListResponse, CourseQueryParams, CourseUrlParams } from './dto';\n\n@ApiTags('Courses')\n@Authenticate('jwt')\n@Controller('courses')\nexport class CourseController {\n\tconstructor(\n\t\tprivate readonly courseUc: CourseUc,\n\t\tprivate readonly courseExportUc: CourseExportUc,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t@Get()\n\tasync findForUser(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [courses, total] = await this.courseUc.findAllByUser(currentUser.userId, pagination);\n\t\tconst courseResponses = courses.map((course) => CourseMapper.mapToMetadataResponse(course));\n\t\tconst { skip, limit } = pagination;\n\n\t\tconst result = new CourseMetadataListResponse(courseResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Get(':courseId/export')\n\tasync exportCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: CourseUrlParams,\n\t\t@Query() queryParams: CourseQueryParams,\n\t\t@Res({ passthrough: true }) response: Response\n\t): Promise {\n\t\tif (!this.configService.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED')) throw new NotFoundException();\n\t\tconst result = await this.courseExportUc.exportCourse(urlParams.courseId, currentUser.userId, queryParams.version);\n\t\tresponse.set({\n\t\t\t'Content-Type': 'application/zip',\n\t\t\t'Content-Disposition': 'attachment;',\n\t\t});\n\t\treturn new StreamableFile(result);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyService.html":{"url":"injectables/CourseCopyService.html","title":"injectable - CourseCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyCourse\n \n \n Private\n Async\n copyCourseEntity\n \n \n Private\n deriveCourseStatus\n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, boardRepo: BoardRepo, roomsService: RoomsService, boardCopyService: BoardCopyService, copyHelperService: CopyHelperService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n boardCopyService\n \n \n BoardCopyService\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourseEntity\n \n \n \n \n \n \n \n copyCourseEntity(params: CourseCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CourseCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCourseStatus\n \n \n \n \n \n \n \n deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n \n \n \n finishCourseCopying(courseCopy: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { BoardCopyService } from './board-copy.service';\nimport { RoomsService } from './rooms.service';\n\ntype CourseCopyParams = {\n\toriginalCourse: Course;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class CourseCopyService {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly roomsService: RoomsService,\n\t\tprivate readonly boardCopyService: BoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tasync copyCourse({\n\t\tuserId,\n\t\tcourseId,\n\t\tnewName,\n\t}: {\n\t\tuserId: EntityId;\n\t\tcourseId: EntityId;\n\t\tnewName?: string | undefined;\n\t}): Promise {\n\t\tconst user: User = await this.userRepo.findById(userId, true);\n\n\t\t// fetch original course and board\n\t\tconst originalCourse = await this.courseRepo.findById(courseId);\n\t\tlet originalBoard = await this.boardRepo.findByCourseId(courseId);\n\t\toriginalBoard = await this.roomsService.updateBoard(originalBoard, courseId, userId);\n\n\t\t// handle potential name conflict\n\t\tconst [existingCourses] = await this.courseRepo.findAllByUserId(userId);\n\t\tconst existingNames = existingCourses.map((course: Course) => course.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(newName || originalCourse.name, existingNames);\n\n\t\t// copy course and board\n\t\tconst courseCopy = await this.copyCourseEntity({ user, originalCourse, copyName });\n\t\tconst boardStatus = await this.boardCopyService.copyBoard({ originalBoard, destinationCourse: courseCopy, user });\n\t\tconst finishedCourseCopy = await this.finishCourseCopying(courseCopy);\n\n\t\tconst courseStatus = this.deriveCourseStatus(originalCourse, finishedCourseCopy, boardStatus);\n\n\t\treturn courseStatus;\n\t}\n\n\tprivate async copyCourseEntity(params: CourseCopyParams): Promise {\n\t\tconst { originalCourse, user, copyName } = params;\n\t\tconst courseCopy = new Course({\n\t\t\tschool: user.school,\n\t\t\tname: copyName,\n\t\t\tcolor: originalCourse.color,\n\t\t\tteachers: [user],\n\t\t\tstartDate: user.school.schoolYear?.startDate,\n\t\t\tuntilDate: user.school.schoolYear?.endDate,\n\t\t\tcopyingSince: new Date(),\n\t\t});\n\n\t\tawait this.courseRepo.createCourse(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate async finishCourseCopying(courseCopy: Course) {\n\t\tdelete courseCopy.copyingSince;\n\t\tawait this.courseRepo.save(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus): CopyStatus {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.USER_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.LTITOOL_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.TIME_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tboardStatus,\n\t\t];\n\n\t\tconst courseGroupsExist = originalCourse.getCourseGroupItems().length > 0;\n\t\tif (courseGroupsExist) {\n\t\t\telements.push({ type: CopyElementType.COURSEGROUP_GROUP, status: CopyStatusEnum.NOT_IMPLEMENTED });\n\t\t}\n\n\t\tconst status = {\n\t\t\ttitle: courseCopy.name,\n\t\t\ttype: CopyElementType.COURSE,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: courseCopy,\n\t\t\toriginalEntity: originalCourse,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyUC.html":{"url":"injectables/CourseCopyUC.html","title":"injectable - CourseCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n Async\n copyCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorization: AuthorizationReferenceService, courseCopyService: CourseCopyService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorization\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:28\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseCopyService } from '../service';\n\n@Injectable()\nexport class CourseCopyUC {\n\tconstructor(\n\t\tprivate readonly authorization: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService\n\t) {}\n\n\tasync copyCourse(userId: EntityId, courseId: EntityId): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.COURSE_CREATE]);\n\t\tawait this.authorization.checkPermissionByReferences(userId, AuthorizableReferenceType.Course, courseId, context);\n\n\t\tconst result = await this.courseCopyService.copyCourse({ userId, courseId });\n\n\t\treturn result;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// @hpi-schul-cloud/commons is deprecated way to get envirements\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseExportUc.html":{"url":"injectables/CourseExportUc.html","title":"injectable - CourseExportUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseExportUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-export.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseExportService: CommonCartridgeExportService, authorizationService: AuthorizationReferenceService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseExportService\n \n \n CommonCartridgeExportService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CommonCartridgeVersion } from '../common-cartridge';\nimport { CommonCartridgeExportService } from '../service/common-cartridge-export.service';\n\n@Injectable()\nexport class CourseExportUc {\n\tconstructor(\n\t\tprivate readonly courseExportService: CommonCartridgeExportService,\n\t\tprivate readonly authorizationService: AuthorizationReferenceService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst context = AuthorizationContextBuilder.read([Permission.COURSE_EDIT]);\n\t\tawait this.authorizationService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tAuthorizableReferenceType.Course,\n\t\t\tcourseId,\n\t\t\tcontext\n\t\t);\n\n\t\treturn this.courseExportService.exportCourse(courseId, userId, version);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseFactory.html":{"url":"classes/CourseFactory.html","title":"class - CourseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/course.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isFinished\n \n \n isOpen\n \n \n studentsWithId\n \n \n teachersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \nisFinished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n isOpen\n \n \n \n \n \n \nisOpen()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n teachersWithId\n \n \n \n \n \n \nteachersWithId(numberOfTeachers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeachers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeepPartial } from 'fishery';\n\nimport { Course, CourseProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass CourseFactory extends BaseFactory {\n\tisFinished(): this {\n\t\tconst untilDate = new Date(Date.now() - oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tisOpen(): this {\n\t\tconst untilDate = new Date(Date.now() + oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n\n\tteachersWithId(numberOfTeachers: number): this {\n\t\tconst teachers = userFactory.buildListWithId(numberOfTeachers);\n\t\tconst params: DeepPartial = { teachers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseFactory = CourseFactory.define(Course, ({ sequence }) => {\n\treturn {\n\t\tname: `course #${sequence}`,\n\t\tdescription: `course #${sequence} description`,\n\t\tcolor: '#FFFFFF',\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseGroup.html":{"url":"entities/CourseGroup.html","title":"entity - CourseGroup","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n students\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'userIds'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseGroupFactory.html":{"url":"classes/CourseGroupFactory.html","title":"class - CourseGroupFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseGroupFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/coursegroup.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n studentsWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/coursegroup.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CourseGroup, CourseGroupProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\nimport { userFactory } from './user.factory';\n\nclass CourseGroupFactory extends BaseFactory {\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseGroupFactory = CourseGroupFactory.define(CourseGroup, ({ sequence }) => {\n\treturn {\n\t\tname: `courseGroup #${sequence}`,\n\t\tcourse: courseFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseGroupProperties.html":{"url":"interfaces/CourseGroupProperties.html","title":"interface - CourseGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n \n name\n \n \n \n Optional\n \n students\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRepo.html":{"url":"injectables/CourseGroupRepo.html","title":"injectable - CourseGroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class CourseGroupRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn CourseGroup;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst courseGroup = await super.findById(id);\n\t\tawait this._em.populate(courseGroup, ['course']);\n\t\treturn courseGroup;\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[]): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tcourse: { $in: courseIds },\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tstudents: new ObjectId(userId),\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRule.html":{"url":"injectables/CourseGroupRule.html","title":"injectable - CourseGroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course-group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: CourseGroup)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup, User } from '@shared/domain/entity';\nimport { CourseRule } from './course.rule';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseGroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly courseRule: CourseRule) {}\n\n\tpublic isApplicable(user: User, entity: CourseGroup): boolean {\n\t\tconst isMatched = entity instanceof CourseGroup;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext): boolean {\n\t\tconst { requiredPermissions } = context;\n\n\t\tconst hasAllPermissions = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAccessToEntity(user, entity, ['students']) ||\n\t\t\tthis.courseRule.hasPermission(user, entity.course, { action: Action.write, requiredPermissions: [] });\n\n\t\treturn hasAllPermissions && hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupService.html":{"url":"injectables/CourseGroupService.html","title":"injectable - CourseGroupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/coursegroup.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseGroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n \n \n \n \n \n deleteUserDataFromCourseGroup(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n \n \n \n findAllCourseGroupsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseGroupRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseGroupService {\n\tconstructor(private readonly repo: CourseGroupRepo) {}\n\n\tpublic async findAllCourseGroupsByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\treturn [courseGroups, count];\n\t}\n\n\tpublic async deleteUserDataFromCourseGroup(userId: EntityId): Promise {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\tcourseGroups.forEach((courseGroup) => courseGroup.removeStudent(userId));\n\n\t\tawait this.repo.save(courseGroups);\n\n\t\treturn count;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMapper.html":{"url":"classes/CourseMapper.html","title":"class - CourseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/course.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n \n \n \n mapToMetadataResponse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/course.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Course } from '@shared/domain/entity';\nimport { CourseMetadataResponse } from '../controller/dto';\n\nexport class CourseMapper {\n\tstatic mapToMetadataResponse(course: Course): CourseMetadataResponse {\n\t\tconst courseMetadata = course.getMetadata();\n\t\tconst dto = new CourseMetadataResponse(\n\t\t\tcourseMetadata.id,\n\t\t\tcourseMetadata.title,\n\t\t\tcourseMetadata.shortTitle,\n\t\t\tcourseMetadata.displayColor,\n\t\t\tcourseMetadata.startDate,\n\t\t\tcourseMetadata.untilDate,\n\t\t\tcourseMetadata.copyingSince\n\t\t);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataListResponse.html":{"url":"classes/CourseMetadataListResponse.html","title":"class - CourseMetadataListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CourseMetadataResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CourseMetadataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:68\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataResponse.html":{"url":"classes/CourseMetadataResponse.html","title":"class - CourseMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n Optional\n startDate\n \n \n \n title\n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, title: string, shortTitle: string, displayColor: string, startDate?: Date, untilDate?: Date, copyingSince?: Date)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n shortTitle\n \n \n string\n \n \n \n No\n \n \n \n \n displayColor\n \n \n string\n \n \n \n No\n \n \n \n \n startDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n untilDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n copyingSince\n \n \n Date\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start date of the course'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'End date of the course. After this the course counts as archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:53\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseNews.html":{"url":"entities/CourseNews.html","title":"entity - CourseNews","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Course', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:116\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseProperties.html":{"url":"interfaces/CourseProperties.html","title":"interface - CourseProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n copyingSince\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n features\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n name\n \n \n \n \n school\n \n \n \n Optional\n \n startDate\n \n \n \n Optional\n \n students\n \n \n \n Optional\n \n substitutionTeachers\n \n \n \n Optional\n \n teachers\n \n \n \n Optional\n \n untilDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: ClassEntity[]\n\n \n \n\n\n \n \n Type : ClassEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n copyingSince\n \n \n \n \n \n \n \n \n copyingSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: CourseFeatures[]\n\n \n \n\n\n \n \n Type : CourseFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupEntity[]\n\n \n \n\n\n \n \n Type : GroupEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n \n \n substitutionTeachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n \n \n teachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n untilDate\n \n \n \n \n \n \n \n \n untilDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseQueryParams.html":{"url":"classes/CourseQueryParams.html","title":"class - CourseQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.query.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : CommonCartridgeVersion\n\n \n \n \n \n Decorators : \n \n \n @IsString()@Matches(undefined)@ApiProperty({description: 'The version of CC export', required: true, nullable: false, enum: CommonCartridgeVersion})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString, Matches } from 'class-validator';\nimport { CommonCartridgeVersion } from '../../common-cartridge';\n\nexport class CourseQueryParams {\n\t@IsString()\n\t@Matches(Object.values(CommonCartridgeVersion).join('|'))\n\t@ApiProperty({\n\t\tdescription: 'The version of CC export',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: CommonCartridgeVersion,\n\t})\n\tversion!: CommonCartridgeVersion;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRepo.html":{"url":"injectables/CourseRepo.html","title":"injectable - CourseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCourse\n \n \n Async\n findAllByUserId\n \n \n Async\n findAllForTeacher\n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n Async\n findById\n \n \n Async\n findOne\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCourse\n \n \n \n \n \n \n \n createCourse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n \n \n \n \n \n findAllForTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(courseId: EntityId, userId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:57\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRule.html":{"url":"injectables/CourseRule.html","title":"injectable - CourseRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Course, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: Course): boolean {\n\t\tconst isMatched = entity instanceof Course;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Course, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.authorizationHelper.hasAccessToEntity(\n\t\t\t\tuser,\n\t\t\t\tentity,\n\t\t\t\taction === Action.read ? ['teachers', 'substitutionTeachers', 'students'] : ['teachers', 'substitutionTeachers']\n\t\t\t);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseScope.html":{"url":"classes/CourseScope.html","title":"class - CourseScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n forActiveCourses\n \n \n forAllGroupTypes\n \n \n forCourseId\n \n \n forTeacher\n \n \n forTeacherOrSubstituteTeacher\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n forActiveCourses\n \n \n \n \n \n \nforActiveCourses()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:39\n \n \n\n\n \n \n\n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n forAllGroupTypes\n \n \n \n \n \n \nforAllGroupTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forCourseId\n \n \n \n \n \n \nforCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacher\n \n \n \n \n \n \nforTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacherOrSubstituteTeacher\n \n \n \n \n \n \nforTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseService.html":{"url":"injectables/CourseService.html","title":"injectable - CourseService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n Async\n findAllByUserId\n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n \n \n \n \n \n deleteUserDataFromCourse(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n \n \n \n \n \n findAllCoursesByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseService {\n\tconstructor(private readonly repo: CourseRepo) {}\n\n\tasync findById(courseId: EntityId): Promise {\n\t\treturn this.repo.findById(courseId);\n\t}\n\n\tpublic async findAllCoursesByUserId(userId: EntityId): Promise> {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\treturn [courses, count];\n\t}\n\n\tpublic async deleteUserDataFromCourse(userId: EntityId): Promise {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\tcourses.forEach((course: Course) => course.removeUser(userId));\n\n\t\tawait this.repo.save(courses);\n\n\t\treturn count;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst [courses] = await this.repo.findAllByUserId(userId);\n\n\t\treturn courses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUc.html":{"url":"injectables/CourseUc.html","title":"injectable - CourseUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findAllByUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findAllByUser\n \n \n \n \n \n \nfindAllByUser(userId: EntityId, options?: PaginationParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n PaginationParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { PaginationParams } from '@shared/controller/';\nimport { Course } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseUc {\n\tconstructor(private readonly courseRepo: CourseRepo) {}\n\n\tfindAllByUser(userId: EntityId, options?: PaginationParams): Promise> {\n\t\treturn this.courseRepo.findAllByUserId(userId, {}, { pagination: options, order: { updatedAt: SortOrder.desc } });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUrlHandler.html":{"url":"injectables/CourseUrlHandler.html","title":"injectable - CourseUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class CourseUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'course' });\n\t\tconst course = await this.courseService.findById(id);\n\t\tif (course) {\n\t\t\tmetaData.title = course.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseUrlParams.html":{"url":"classes/CourseUrlParams.html","title":"class - CourseUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the course', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CourseUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the course',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateCardBodyParams.html":{"url":"classes/CreateCardBodyParams.html","title":"class - CreateCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n \n \n Type : ContentElementType[]\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType, {each: true})@IsOptional()@ApiPropertyOptional({required: false, isArray: true, enum: ContentElementType})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport class CreateCardBodyParams {\n\t@IsEnum(ContentElementType, { each: true })\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: false,\n\t\tisArray: true,\n\t\tenum: ContentElementType,\n\t})\n\trequiredEmptyElements?: ContentElementType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateContentElementBodyParams.html":{"url":"classes/CreateContentElementBodyParams.html","title":"class - CreateContentElementBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateContentElementBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsInt()@Min(0)@ApiPropertyOptional({description: 'to bring element to a specific position, default is last position', type: Number, required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({description: 'The type of element', enum: ContentElementType, required: true, nullable: false, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsInt, IsOptional, Min } from 'class-validator';\n\nexport class CreateContentElementBodyParams {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tdescription: 'The type of element',\n\t\tenum: ContentElementType,\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n\n\t@IsOptional()\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({\n\t\tdescription: 'to bring element to a specific position, default is last position',\n\t\ttype: Number,\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoPosition?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtParams.html":{"url":"interfaces/CreateJwtParams.html","title":"interface - CreateJwtParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n accountId\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n external_sub\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n privateKey\n \n \n \n Optional\n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n external_sub\n \n \n \n \n \n \n \n \n external_sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n privateKey\n \n \n \n \n \n \n \n \n privateKey: string | Buffer\n\n \n \n\n\n \n \n Type : string | Buffer\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtPayload.html":{"url":"interfaces/CreateJwtPayload.html","title":"interface - CreateJwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n support\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n support\n \n \n \n \n \n \n \n \n support: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateNews.html":{"url":"interfaces/CreateNews.html","title":"interface - CreateNews","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n news interface for ceating news\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n Optional\n \n displayAt\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateNewsParams.html":{"url":"classes/CreateNewsParams.html","title":"class - CreateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/create-news.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a news document.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n Optional\n displayAt\n \n \n \n \n targetId\n \n \n \n \n targetModel\n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)@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 { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, NewsTargetModel } from '@shared/domain/types';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for creating a news document.\n */\nexport class CreateNewsParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsString()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The point in time from when the News entity schould be displayed. Defaults to now so that the news is published',\n\t})\n\tdisplayAt?: Date;\n\n\t@IsEnum(NewsTargetModel)\n\t@ApiProperty({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateSubmissionItemBodyParams.html":{"url":"classes/CreateSubmissionItemBodyParams.html","title":"class - CreateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class CreateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CurrentUserMapper.html":{"url":"classes/CurrentUserMapper.html","title":"class - CurrentUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CurrentUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/mapper/current-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n Static\n mapToOauthCurrentUser\n \n \n Static\n userToICurrentUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n \n \n \n \n \n jwtToICurrentUser(jwtPayload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtPayload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n \n \n \n \n \n mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateJwtPayload\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthCurrentUser\n \n \n \n \n \n \n \n mapToOauthCurrentUser(accountId: string, user: UserDO, systemId?: string, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthCurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n userToICurrentUser\n \n \n \n \n \n \n \n userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n isExternalUser\n \n boolean\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@shared/common';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, User } from '@shared/domain/entity';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { CreateJwtPayload, JwtPayload } from '../interface/jwt-payload';\n\nexport class CurrentUserMapper {\n\tstatic userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string): ICurrentUser {\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.getItems().map((role: Role) => role.id),\n\t\t\tschoolId: user.school.id,\n\t\t\tuserId: user.id,\n\t\t\tisExternalUser,\n\t\t};\n\t}\n\n\tstatic mapToOauthCurrentUser(\n\t\taccountId: string,\n\t\tuser: UserDO,\n\t\tsystemId?: string,\n\t\texternalIdToken?: string\n\t): OauthCurrentUser {\n\t\tif (!user.id) {\n\t\t\tthrow new ValidationError('user has no ID');\n\t\t}\n\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.map((roleRef: RoleReference) => roleRef.id),\n\t\t\tschoolId: user.schoolId,\n\t\t\tuserId: user.id,\n\t\t\texternalIdToken,\n\t\t\tisExternalUser: true,\n\t\t};\n\t}\n\n\tstatic mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser): CreateJwtPayload {\n\t\treturn {\n\t\t\taccountId: currentUser.accountId,\n\t\t\tuserId: currentUser.userId,\n\t\t\tschoolId: currentUser.schoolId,\n\t\t\troles: currentUser.roles,\n\t\t\tsystemId: currentUser.systemId,\n\t\t\tsupport: currentUser.impersonated,\n\t\t\tisExternalUser: currentUser.isExternalUser,\n\t\t};\n\t}\n\n\tstatic jwtToICurrentUser(jwtPayload: JwtPayload): ICurrentUser {\n\t\treturn {\n\t\t\taccountId: jwtPayload.accountId,\n\t\t\tsystemId: jwtPayload.systemId,\n\t\t\troles: jwtPayload.roles,\n\t\t\tschoolId: jwtPayload.schoolId,\n\t\t\tuserId: jwtPayload.userId,\n\t\t\timpersonated: jwtPayload.support,\n\t\t\tisExternalUser: jwtPayload.isExternalUser,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CustomLtiProperty.html":{"url":"interfaces/CustomLtiProperty.html","title":"interface - CustomLtiProperty","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CustomLtiProperty\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n key\n \n \n \n \n \n \n \n \n key: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomLtiPropertyDO.html":{"url":"classes/CustomLtiPropertyDO.html","title":"class - CustomLtiPropertyDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomLtiPropertyDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(key: string, value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n \n string\n \n \n \n No\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameter.html":{"url":"classes/CustomParameter.html","title":"class - CustomParameter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n default\n \n \n Optional\n description\n \n \n displayName\n \n \n isOptional\n \n \n location\n \n \n name\n \n \n Optional\n regex\n \n \n Optional\n regexComment\n \n \n scope\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameter)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CustomParameterScope, CustomParameterLocation, CustomParameterType } from '../enum';\n\nexport class CustomParameter {\n\tname: string;\n\n\tdisplayName: string;\n\n\tdescription?: string;\n\n\tdefault?: string;\n\n\tregex?: string;\n\n\tregexComment?: string;\n\n\tscope: CustomParameterScope;\n\n\tlocation: CustomParameterLocation;\n\n\ttype: CustomParameterType;\n\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameter) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntity.html":{"url":"classes/CustomParameterEntity.html","title":"class - CustomParameterEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { CustomParameterLocation, CustomParameterScope, CustomParameterType } from '../../../common/enum';\n\n@Embeddable()\nexport class CustomParameterEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdisplayName: string;\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdefault?: string;\n\n\t@Property({ nullable: true })\n\tregex?: string;\n\n\t@Property({ nullable: true })\n\tregexComment?: string;\n\n\t@Enum()\n\tscope: CustomParameterScope;\n\n\t@Enum()\n\tlocation: CustomParameterLocation;\n\n\t@Enum()\n\ttype: CustomParameterType;\n\n\t@Property()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterEntity) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntry.html":{"url":"classes/CustomParameterEntry.html","title":"class - CustomParameterEntry","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntry\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n name\n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntry)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntry\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CustomParameterEntry {\n\tname: string;\n\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntry) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryEntity.html":{"url":"classes/CustomParameterEntryEntity.html","title":"class - CustomParameterEntryEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\n@Embeddable()\nexport class CustomParameterEntryEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryEntity) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryParam.html":{"url":"classes/CustomParameterEntryParam.html","title":"class - CustomParameterEntryParam","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryParam\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class CustomParameterEntryParam {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryResponse.html":{"url":"classes/CustomParameterEntryResponse.html","title":"class - CustomParameterEntryResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class CustomParameterEntryResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryResponse) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterFactory.html":{"url":"classes/CustomParameterFactory.html","title":"class - CustomParameterFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildListWithEachType\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildListWithEachType\n \n \n \n \n \n \nbuildListWithEachType(params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterPostParams.html":{"url":"classes/CustomParameterPostParams.html","title":"class - CustomParameterPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n Optional\n description\n \n \n \n \n \n displayName\n \n \n \n \n isOptional\n \n \n \n \n location\n \n \n \n \n \n name\n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n scope\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterLocationParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterScopeTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterPostParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tdisplayName!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@IsEnum(CustomParameterScopeTypeParams)\n\t@ApiProperty()\n\tscope!: CustomParameterScopeTypeParams;\n\n\t@IsEnum(CustomParameterLocationParams)\n\t@ApiProperty()\n\tlocation!: CustomParameterLocationParams;\n\n\t@IsEnum(CustomParameterTypeParams)\n\t@ApiProperty()\n\ttype!: CustomParameterTypeParams;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisOptional!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterResponse.html":{"url":"classes/CustomParameterResponse.html","title":"class - CustomParameterResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterLocationParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterScopeTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\tdisplayName: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@ApiProperty({ enum: CustomParameterScopeTypeParams })\n\tscope: CustomParameterScopeTypeParams;\n\n\t@ApiProperty({ enum: CustomParameterLocationParams })\n\tlocation: CustomParameterLocationParams;\n\n\t@ApiProperty({ enum: CustomParameterTypeParams })\n\ttype: CustomParameterTypeParams;\n\n\t@ApiProperty()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterResponse) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.defaultValue = props.defaultValue;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DashboardController.html":{"url":"controllers/DashboardController.html","title":"controller - DashboardController","body":"\n \n\n\n\n\n\n\n Controllers\n DashboardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dashboard.controller.ts\n \n\n \n Prefix\n \n \n dashboard\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n Async\n moveElement\n \n \n \n Async\n patchGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(undefined: DashboardUrlParams, params: MoveElementParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/moveElement')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n MoveElementParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchGroup\n \n \n \n \n \n \n \n patchGroup(urlParams: DashboardUrlParams, x: number, y: number, params: PatchGroupParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/element')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n x\n \n number\n \n\n \n No\n \n\n\n \n \n y\n \n number\n \n\n \n No\n \n\n\n \n \n params\n \n PatchGroupParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { DashboardMapper } from '../mapper/dashboard.mapper';\nimport { DashboardUc } from '../uc/dashboard.uc';\nimport { DashboardResponse, DashboardUrlParams, MoveElementParams, PatchGroupParams } from './dto';\n\n@ApiTags('Dashboard')\n@Authenticate('jwt')\n@Controller('dashboard')\nexport class DashboardController {\n\tconstructor(private readonly dashboardUc: DashboardUc) {}\n\n\t@Get()\n\tasync findForUser(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst dashboard = await this.dashboardUc.getUsersDashboard(currentUser.userId);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/moveElement')\n\tasync moveElement(\n\t\t@Param() { dashboardId }: DashboardUrlParams,\n\t\t@Body() params: MoveElementParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.moveElementOnDashboard(\n\t\t\tdashboardId,\n\t\t\tparams.from,\n\t\t\tparams.to,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/element')\n\tasync patchGroup(\n\t\t@Param() urlParams: DashboardUrlParams,\n\t\t@Query('x') x: number,\n\t\t@Query('y') y: number,\n\t\t@Body() params: PatchGroupParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.renameGroupOnDashboard(\n\t\t\turlParams.dashboardId,\n\t\t\t{ x, y },\n\t\t\tparams.title,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardElementRepo.html":{"url":"injectables/DashboardElementRepo.html","title":"injectable - DashboardElementRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardElementRepo\n\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/dashboardElement.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 deleteByDashboardId\n \n \n \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/dashboard/dashboardElement.repo.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByDashboardId\n \n \n \n \n \n \n \n deleteByDashboardId(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboardElement.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 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/dashboard/dashboardElement.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityManager } from '@mikro-orm/core';\nimport { DashboardGridElementModel } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n@Injectable()\nexport class DashboardElementRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DashboardGridElementModel;\n\t}\n\n\tasync deleteByDashboardId(id: EntityId): Promise {\n\t\tconst promise = this.em.nativeDelete(DashboardGridElementModel, {\n\t\t\tdashboard: new ObjectId(id),\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"},"classes/DashboardEntity.html":{"url":"classes/DashboardEntity.html","title":"class - DashboardEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n columns\n \n \n grid\n \n \n id\n \n \n userId\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addRoom\n \n \n Private\n allRooms\n \n \n Private\n determineNewRoomsIn\n \n \n getElement\n \n \n Private\n getFirstOpenIndex\n \n \n getGrid\n \n \n getId\n \n \n Private\n getReferencesFromPosition\n \n \n getUserId\n \n \n Private\n gridIndexFromPosition\n \n \n Private\n mergeElementIntoPosition\n \n \n moveElement\n \n \n Private\n positionFromGridIndex\n \n \n Private\n removeFromPosition\n \n \n Private\n removeRoomsNotInList\n \n \n setLearnRooms\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, props: DashboardProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:180\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n props\n \n \n DashboardProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:163\n \n \n\n\n \n \n \n \n \n \n \n \n grid\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:165\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:167\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n addRoom\n \n \n \n \n \n \n \n addRoom(room: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:272\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n room\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n allRooms\n \n \n \n \n \n \n \n allRooms()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:266\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n determineNewRoomsIn\n \n \n \n \n \n \n \n determineNewRoomsIn(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:255\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getElement\n \n \n \n \n \n \ngetElement(position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFirstOpenIndex\n \n \n \n \n \n \n \n getFirstOpenIndex()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:278\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n getGrid\n \n \n \n \n \n \ngetGrid()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:201\n \n \n\n\n \n \n\n \n Returns : GridElementWithPosition[]\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:193\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getReferencesFromPosition\n \n \n \n \n \n \n \n getReferencesFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:286\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUserId\n \n \n \n \n \n \ngetUserId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:197\n \n \n\n\n \n \n\n \n Returns : EntityId\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n gridIndexFromPosition\n \n \n \n \n \n \n \n gridIndexFromPosition(pos: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pos\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mergeElementIntoPosition\n \n \n \n \n \n \n \n mergeElementIntoPosition(element: IGridElement, position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:307\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n IGridElement\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n moveElement\n \n \n \n \n \n \nmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElementWithPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n positionFromGridIndex\n \n \n \n \n \n \n \n positionFromGridIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:176\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeFromPosition\n \n \n \n \n \n \n \n removeFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:298\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeRoomsNotInList\n \n \n \n \n \n \n \n removeRoomsNotInList(roomList: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:240\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomList\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setLearnRooms\n \n \n \n \n \n \nsetLearnRooms(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:231\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardGridElementModel.html":{"url":"entities/DashboardGridElementModel.html","title":"entity - DashboardGridElementModel","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardGridElementModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n references\n \n \n \n Optional\n title\n \n \n \n xPos\n \n \n \n yPos\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('DashboardModelEntity', {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('Course', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardGridElementModelProperties.html":{"url":"interfaces/DashboardGridElementModelProperties.html","title":"interface - DashboardGridElementModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardGridElementModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dashboard\n \n \n \n Optional\n \n id\n \n \n \n \n references\n \n \n \n Optional\n \n title\n \n \n \n \n xPos\n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dashboard\n \n \n \n \n \n \n \n \n dashboard: DashboardModelEntity\n\n \n \n\n\n \n \n Type : DashboardModelEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n \n \n references: Course[]\n\n \n \n\n\n \n \n Type : Course[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n \n \n xPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n yPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridElementResponse.html":{"url":"classes/DashboardGridElementResponse.html","title":"class - DashboardGridElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n Optional\n groupElements\n \n \n \n Optional\n groupId\n \n \n \n Optional\n id\n \n \n \n shortTitle\n \n \n \n \n Optional\n title\n \n \n \n xPosition\n \n \n \n yPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupElements\n \n \n \n \n \n \n Type : DashboardGridSubElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'List of all subelements in the group'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the group element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'X position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Y position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridSubElementResponse.html":{"url":"classes/DashboardGridSubElementResponse.html","title":"class - DashboardGridSubElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridSubElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridSubElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridSubElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardMapper.html":{"url":"classes/DashboardMapper.html","title":"class - DashboardMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n Private\n Static\n mapLearnroom\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n \n \n \n \n \n mapGridElement(data: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLearnroom\n \n \n \n \n \n \n \n mapLearnroom(metadata: LearnroomMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n LearnroomMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridSubElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(dashboard: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DashboardEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { LearnroomMetadata } from '@shared/domain/types';\nimport { DashboardGridElementResponse, DashboardGridSubElementResponse, DashboardResponse } from '../controller/dto';\n\nexport class DashboardMapper {\n\tstatic mapToResponse(dashboard: DashboardEntity): DashboardResponse {\n\t\tconst dto = new DashboardResponse({\n\t\t\tid: dashboard.getId(),\n\t\t\tgridElements: dashboard\n\t\t\t\t.getGrid()\n\t\t\t\t.map((elementWithPosition) => DashboardMapper.mapGridElement(elementWithPosition)),\n\t\t});\n\t\treturn dto;\n\t}\n\n\tprivate static mapGridElement(data: GridElementWithPosition): DashboardGridElementResponse {\n\t\tconst elementData = data.gridElement.getContent();\n\t\tconst position = data.pos;\n\t\tconst dto = new DashboardGridElementResponse({\n\t\t\ttitle: elementData.title,\n\t\t\tshortTitle: elementData.shortTitle,\n\t\t\tdisplayColor: elementData.displayColor,\n\t\t\txPosition: position.x,\n\t\t\tyPosition: position.y,\n\t\t\tcopyingSince: elementData.copyingSince ?? undefined,\n\t\t});\n\t\tif (elementData.referencedId) {\n\t\t\tdto.id = elementData.referencedId;\n\t\t}\n\t\tif (elementData.group && elementData.groupId) {\n\t\t\tdto.groupId = elementData.groupId;\n\t\t\tdto.groupElements = elementData.group.map((groupMetadata) => DashboardMapper.mapLearnroom(groupMetadata));\n\t\t}\n\t\treturn dto;\n\t}\n\n\tprivate static mapLearnroom(metadata: LearnroomMetadata): DashboardGridSubElementResponse {\n\t\treturn new DashboardGridSubElementResponse(metadata);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardModelEntity.html":{"url":"entities/DashboardModelEntity.html","title":"entity - DashboardModelEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardModelEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gridElements\n \n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n gridElements\n \n \n \n \n \n \n Type : Collection\n\n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('DashboardGridElementModel', 'dashboard')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'userId', wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardModelMapper.html":{"url":"injectables/DashboardModelMapper.html","title":"injectable - DashboardModelMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardModelMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n Private\n Async\n findExistingGridElement\n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n Async\n mapDashboardToEntity\n \n \n Async\n mapDashboardToModel\n \n \n Async\n mapElementToEntity\n \n \n Async\n mapGridElementToModel\n \n \n Async\n mapReferenceToEntity\n \n \n mapReferenceToModel\n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n \n \n \n \n \n createGridElement(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExistingGridElement\n \n \n \n \n \n \n \n findExistingGridElement(elementWithPosition: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n \n \n \n \n \n getOrConstructDashboardModelEntity(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToEntity\n \n \n \n \n \n \n \n mapDashboardToEntity(modelEntity: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToModel\n \n \n \n \n \n \n \n mapDashboardToModel(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapElementToEntity\n \n \n \n \n \n \n \n mapElementToEntity(modelEntity: DashboardGridElementModel)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapGridElementToModel\n \n \n \n \n \n \n \n mapGridElementToModel(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapReferenceToEntity\n \n \n \n \n \n \n \n mapReferenceToEntity(modelEntity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapReferenceToModel\n \n \n \n \n \n \nmapReferenceToModel(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Course\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n \n \n \n updateExistingGridElement(elementModel: DashboardGridElementModel, elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementModel\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, wrap } from '@mikro-orm/core';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tCourse,\n\tDashboardEntity,\n\tDashboardGridElementModel,\n\tDashboardModelEntity,\n\tGridElement,\n\tGridElementWithPosition,\n\tUser,\n} from '@shared/domain/entity';\nimport { Learnroom } from '@shared/domain/interface';\nimport { LearnroomTypes } from '@shared/domain/types';\n\n@Injectable()\nexport class DashboardModelMapper {\n\tconstructor(protected readonly em: EntityManager) {}\n\n\tasync mapReferenceToEntity(modelEntity: Course): Promise {\n\t\tconst domainEntity = await wrap(modelEntity).init();\n\t\treturn domainEntity;\n\t}\n\n\tasync mapElementToEntity(modelEntity: DashboardGridElementModel): Promise {\n\t\tconst referenceModels = await modelEntity.references.loadItems();\n\t\tconst references = await Promise.all(referenceModels.map((ref) => this.mapReferenceToEntity(ref)));\n\t\tconst result = {\n\t\t\tpos: { x: modelEntity.xPos, y: modelEntity.yPos },\n\t\t\tgridElement: GridElement.FromPersistedGroup(modelEntity.id, modelEntity.title, references),\n\t\t};\n\t\treturn result;\n\t}\n\n\tasync mapDashboardToEntity(modelEntity: DashboardModelEntity): Promise {\n\t\tif (!modelEntity.gridElements.isInitialized()) {\n\t\t\tawait modelEntity.gridElements.init();\n\t\t}\n\t\tconst grid = await Promise.all(Array.from(modelEntity.gridElements).map(async (e) => this.mapElementToEntity(e)));\n\t\treturn new DashboardEntity(modelEntity.id, { grid, userId: modelEntity.user.id });\n\t}\n\n\tmapReferenceToModel(reference: Learnroom): Course {\n\t\tconst metadata = reference.getMetadata();\n\t\tif (metadata.type === LearnroomTypes.Course) {\n\t\t\tconst course = reference as Course;\n\t\t\treturn course;\n\t\t}\n\t\tthrow new InternalServerErrorException('unknown learnroom type');\n\t}\n\n\tasync mapGridElementToModel(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst existing = await this.findExistingGridElement(elementWithPosition);\n\t\tif (existing) {\n\t\t\tconst updatedModel = this.updateExistingGridElement(existing, elementWithPosition, dashboard);\n\t\t\treturn updatedModel;\n\t\t}\n\t\tconst createdModel = await this.createGridElement(elementWithPosition, dashboard);\n\t\treturn createdModel;\n\t}\n\n\tprivate async findExistingGridElement(\n\t\telementWithPosition: GridElementWithPosition\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tif (gridElement.hasId()) {\n\t\t\tconst existing = await this.em.findOne(DashboardGridElementModel, gridElement.getId() as string);\n\t\t\tif (existing) return existing;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate async updateExistingGridElement(\n\t\telementModel: DashboardGridElementModel,\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\telementModel.xPos = elementWithPosition.pos.x;\n\t\telementModel.yPos = elementWithPosition.pos.y;\n\t\tconst { gridElement } = elementWithPosition;\n\n\t\tif (gridElement.isGroup()) {\n\t\t\telementModel.title = gridElement.getContent().title;\n\t\t}\n\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\telementModel.references.set(references);\n\n\t\telementModel.dashboard = wrap(dashboard).toReference();\n\t\treturn elementModel;\n\t}\n\n\tprivate async createGridElement(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\tconst elementModel = new DashboardGridElementModel({\n\t\t\tid: gridElement.getId(),\n\t\t\txPos: elementWithPosition.pos.x,\n\t\t\tyPos: elementWithPosition.pos.y,\n\t\t\treferences,\n\t\t\tdashboard,\n\t\t});\n\n\t\treturn elementModel;\n\t}\n\n\tasync mapDashboardToModel(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.getOrConstructDashboardModelEntity(entity);\n\t\tconst mappedElements = await Promise.all(\n\t\t\tentity.getGrid().map((elementWithPosition) => this.mapGridElementToModel(elementWithPosition, modelEntity))\n\t\t);\n\n\t\tArray.from(modelEntity.gridElements).forEach((el) => {\n\t\t\tif (!mappedElements.includes(el)) {\n\t\t\t\tmodelEntity.gridElements.remove(el);\n\t\t\t\tthis.em.remove(el);\n\t\t\t}\n\t\t});\n\n\t\treturn modelEntity;\n\t}\n\n\tprivate async getOrConstructDashboardModelEntity(entity: DashboardEntity): Promise {\n\t\tconst existing = await this.em.findOne(DashboardModelEntity, entity.getId());\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\t\tconst user = await this.em.findOneOrFail(User, entity.getUserId());\n\t\treturn new DashboardModelEntity({ id: entity.getId(), user, gridElements: [] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardModelProperties.html":{"url":"interfaces/DashboardModelProperties.html","title":"interface - DashboardModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gridElements\n \n \n \n \n id\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gridElements\n \n \n \n \n \n \n \n \n gridElements: DashboardGridElementModel[]\n\n \n \n\n\n \n \n Type : DashboardGridElementModel[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardRepo.html":{"url":"injectables/DashboardRepo.html","title":"injectable - DashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDashboardByUserId\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: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 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 deleteDashboardByUserId\n \n \n \n \n \n \n \n deleteDashboardByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.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 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 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: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 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:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 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: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 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: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 entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n\tdeleteDashboardByUserId(userId: EntityId): 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\tasync deleteDashboardByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(DashboardModelEntity, { user: userId });\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"},"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/DashboardService.html":{"url":"injectables/DashboardService.html","title":"injectable - DashboardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardService\n\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/dashboard.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDashboardByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dashboardRepo: IDashboardRepo, dashboardElementRepo: DashboardElementRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/dashboard.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 dashboardRepo\n \n \n IDashboardRepo\n \n \n \n No\n \n \n \n \n dashboardElementRepo\n \n \n DashboardElementRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteDashboardByUserId\n \n \n \n \n \n \n \n deleteDashboardByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/dashboard.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 \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { IDashboardRepo, DashboardElementRepo } from '@shared/repo';\n\n@Injectable()\nexport class DashboardService {\n\tconstructor(\n\t\t@Inject('DASHBOARD_REPO') private readonly dashboardRepo: IDashboardRepo,\n\t\tprivate readonly dashboardElementRepo: DashboardElementRepo\n\t) {}\n\n\tasync deleteDashboardByUserId(userId: EntityId): Promise {\n\t\tconst usersDashboard = await this.dashboardRepo.getUsersDashboard(userId);\n\t\tawait this.dashboardElementRepo.deleteByDashboardId(usersDashboard.id);\n\t\tconst result = await this.dashboardRepo.deleteDashboardByUserId(userId);\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/DashboardUc.html":{"url":"injectables/DashboardUc.html","title":"injectable - DashboardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/dashboard.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n Async\n moveElementOnDashboard\n \n \n Async\n renameGroupOnDashboard\n \n \n Private\n validateUsersMatch\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dashboardRepo: IDashboardRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardRepo\n \n \n IDashboardRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n \n \n \n \n \n getUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElementOnDashboard\n \n \n \n \n \n \n \n moveElementOnDashboard(dashboardId: EntityId, from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n renameGroupOnDashboard\n \n \n \n \n \n \n \n renameGroupOnDashboard(dashboardId: EntityId, position: GridPosition, params: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n params\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateUsersMatch\n \n \n \n \n \n \n \n validateUsersMatch(dashboard: DashboardEntity, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException } from '@nestjs/common';\nimport { DashboardEntity, GridPosition, GridPositionWithGroupIndex } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, IDashboardRepo } from '@shared/repo';\n// import { NotFound } from '@feathersjs/errors'; // wrong import? see NotFoundException\n\n@Injectable()\nexport class DashboardUc {\n\tconstructor(\n\t\t@Inject('DASHBOARD_REPO') private readonly dashboardRepo: IDashboardRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getUsersDashboard(userId);\n\t\tconst [courses] = await this.courseRepo.findAllByUserId(\n\t\t\tuserId,\n\t\t\t{ onlyActiveCourses: true },\n\t\t\t{ order: { name: SortOrder.asc } }\n\t\t);\n\n\t\tdashboard.setLearnRooms(courses);\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync moveElementOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tfrom: GridPositionWithGroupIndex,\n\t\tto: GridPositionWithGroupIndex,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tdashboard.moveElement(from, to);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync renameGroupOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tposition: GridPosition,\n\t\tparams: string,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tconst gridElement = dashboard.getElement(position);\n\t\tgridElement.setGroupName(params);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tprivate validateUsersMatch(dashboard: DashboardEntity, userId: EntityId) {\n\t\tif (dashboard.getUserId() !== userId) {\n\t\t\tthrow new NotFoundException('no such dashboard found');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardUrlParams.html":{"url":"classes/DashboardUrlParams.html","title":"class - DashboardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the dashboard.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class DashboardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the dashboard.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdashboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DatabaseManagementConsole.html":{"url":"classes/DatabaseManagementConsole.html","title":"class - DatabaseManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DatabaseManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/database-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n Async\n seedCollections\n \n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, databaseManagementUc: DatabaseManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n databaseManagementUc\n \n \n DatabaseManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'export', options: undefined, description: 'export database collections to filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seedCollections\n \n \n \n \n \n \n \n seedCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', options: undefined, description: 'reset database collections with seed data from filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'sync-indexes', options: undefined, description: 'sync indexes from nest and mikroorm'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:72\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console/console-writer/console-writer.service';\nimport { Command, Console } from 'nestjs-console';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\ninterface Options {\n\tcollection?: string;\n\toverride?: boolean;\n\tonlyfactories?: boolean;\n}\n\n@Console({ command: 'database', description: 'database setup console' })\nexport class DatabaseManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'seed',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --onlyfactories',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'seed from factories only',\n\t\t\t},\n\t\t],\n\t\tdescription: 'reset database collections with seed data from filesystem',\n\t})\n\tasync seedCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\n\t\tconst collections = options.onlyfactories\n\t\t\t? await this.databaseManagementUc.seedDatabaseCollectionsFromFactories(filter)\n\t\t\t: await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem(filter);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'export',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --override',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'optional export collections to setup folder and override existing files',\n\t\t\t},\n\t\t],\n\t\tdescription: 'export database collections to filesystem',\n\t})\n\tasync exportCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\t\tconst toSeedFolder = options?.override ? true : undefined;\n\t\tconst collections = await this.databaseManagementUc.exportCollectionsToFileSystem(filter, toSeedFolder);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'sync-indexes',\n\t\toptions: [],\n\t\tdescription: 'sync indexes from nest and mikroorm',\n\t})\n\tasync syncIndexes(): Promise {\n\t\tawait this.databaseManagementUc.syncIndexes();\n\t\tconst report = 'sync of indexes is completed';\n\t\tthis.consoleWriter.info(report);\n\t\treturn report;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DatabaseManagementController.html":{"url":"controllers/DatabaseManagementController.html","title":"controller - DatabaseManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n DatabaseManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/controller/database-management.controller.ts\n \n\n \n Prefix\n \n \n management/database\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n Async\n exportCollections\n \n \n \n Async\n importCollection\n \n \n \n Async\n importCollections\n \n \n \n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n \n \n \n \n exportCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('export/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections()\n \n \n\n \n \n Decorators : \n \n @Post('export')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('seed/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollections\n \n \n \n \n \n \n \n importCollections(withIndexes: boolean)\n \n \n\n \n \n Decorators : \n \n @All('seed')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n withIndexes\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Post('sync-indexes')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:33\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n\n\n \n import { Controller, Param, Post, All, Query } from '@nestjs/common';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\n@Controller('management/database')\nexport class DatabaseManagementController {\n\tconstructor(private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@All('seed')\n\tasync importCollections(@Query('with-indexes') withIndexes: boolean): Promise {\n\t\tconst res = await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem();\n\t\tif (withIndexes) {\n\t\t\tawait this.databaseManagementUc.syncIndexes();\n\t\t}\n\t\treturn res;\n\t}\n\n\t@Post('seed/:collectionName')\n\tasync importCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem([collectionName]);\n\t}\n\n\t@Post('export')\n\tasync exportCollections(): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem();\n\t}\n\n\t@Post('export/:collectionName')\n\tasync exportCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem([collectionName]);\n\t}\n\n\t@Post('sync-indexes')\n\tsyncIndexes() {\n\t\treturn this.databaseManagementUc.syncIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DatabaseManagementModule.html":{"url":"modules/DatabaseManagementModule.html","title":"module - DatabaseManagementModule","body":"\n \n\n\n\n\n Modules\n DatabaseManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DatabaseManagementModule\n\n\n\ncluster_DatabaseManagementModule_exports\n\n\n\ncluster_DatabaseManagementModule_providers\n\n\n\n\nDatabaseManagementService \n\nDatabaseManagementService \n\n\n\nDatabaseManagementModule\n\nDatabaseManagementModule\n\nDatabaseManagementService -->\n\nDatabaseManagementModule->DatabaseManagementService \n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nDatabaseManagementModule -->\n\nDatabaseManagementService->DatabaseManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/management/database-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DatabaseManagementService\n \n \n \n \n Exports\n \n \n DatabaseManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DatabaseManagementService } from './database-management.service';\n\n@Module({\n\tproviders: [DatabaseManagementService],\n\texports: [DatabaseManagementService],\n})\nexport class DatabaseManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DatabaseManagementService.html":{"url":"injectables/DatabaseManagementService.html","title":"injectable - DatabaseManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DatabaseManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/database/management/database-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n clearCollection\n \n \n Async\n collectionExists\n \n \n Async\n createCollection\n \n \n Async\n dropCollection\n \n \n Async\n findDocumentsOfCollection\n \n \n Async\n getCollectionNames\n \n \n getDatabaseCollection\n \n \n Async\n importCollection\n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, orm: MikroORM)\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n orm\n \n \n MikroORM\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n clearCollection\n \n \n \n \n \n \n \n clearCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n collectionExists\n \n \n \n \n \n \n \n collectionExists(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCollection\n \n \n \n \n \n \n \n createCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n dropCollection\n \n \n \n \n \n \n \n dropCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDocumentsOfCollection\n \n \n \n \n \n \n \n findDocumentsOfCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCollectionNames\n \n \n \n \n \n \n \n getCollectionNames()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:44\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseCollection\n \n \n \n \n \n \ngetDatabaseCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Collection\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string, jsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n jsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:66\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n\n \n \n getdb()\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:11\n \n \n\n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { Collection, Db } from 'mongodb';\n\n@Injectable()\nexport class DatabaseManagementService {\n\tconstructor(private em: EntityManager, private readonly orm: MikroORM) {}\n\n\tprivate get db(): Db {\n\t\treturn this.em.getConnection('write').getDb();\n\t}\n\n\tgetDatabaseCollection(collectionName: string): Collection {\n\t\tconst collection = this.db.collection(collectionName);\n\t\treturn collection;\n\t}\n\n\tasync importCollection(collectionName: string, jsonDocuments: unknown[]): Promise {\n\t\tif (jsonDocuments.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { insertedCount } = await collection.insertMany(jsonDocuments as BaseEntity[], {\n\t\t\tforceServerObjectId: true,\n\t\t\tbypassDocumentValidation: true,\n\t\t});\n\t\treturn insertedCount;\n\t}\n\n\tasync findDocumentsOfCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst documents = (await collection.find({}).toArray()) as unknown[];\n\t\treturn documents;\n\t}\n\n\tasync clearCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { deletedCount } = await collection.deleteMany({});\n\t\treturn deletedCount || 0;\n\t}\n\n\tasync getCollectionNames(): Promise {\n\t\tconst collections = (await this.db.listCollections(undefined, { nameOnly: true }).toArray()) as unknown[] as {\n\t\t\tname: string;\n\t\t}[];\n\t\tconst collectionNames = collections.map((collection) => collection.name);\n\t\treturn collectionNames;\n\t}\n\n\tasync collectionExists(collectionName: string): Promise {\n\t\tconst collections = await this.getCollectionNames();\n\t\tconst result = collections.includes(collectionName);\n\t\treturn result;\n\t}\n\n\tasync createCollection(collectionName: string): Promise {\n\t\tawait this.db.createCollection(collectionName);\n\t}\n\n\tasync dropCollection(collectionName: string): Promise {\n\t\tawait this.db.dropCollection(collectionName);\n\t}\n\n\tasync syncIndexes(): Promise {\n\t\treturn this.orm.getSchemaGenerator().ensureIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeleteFilesConsole.html":{"url":"classes/DeleteFilesConsole.html","title":"class - DeleteFilesConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeleteFilesConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/job/delete-files.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deleteFilesUc: DeleteFilesUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deleteFilesUc\n \n \n DeleteFilesUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(daysSinceDeletion: number, batchSize: number)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'cleanup-job [batchSize]', description: 'cleanup job to remove files that were marked for deletion days ago'})\n \n \n\n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n daysSinceDeletion\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n \n 1000\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { DeleteFilesUc } from '../uc';\n\n@Console({ command: 'files', description: 'file deletion console' })\nexport class DeleteFilesConsole {\n\tconstructor(private deleteFilesUc: DeleteFilesUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(DeleteFilesConsole.name);\n\t}\n\n\t@Command({\n\t\tcommand: 'cleanup-job [batchSize]',\n\t\tdescription: 'cleanup job to remove files that were marked for deletion days ago',\n\t})\n\tasync deleteMarkedFiles(daysSinceDeletion: number, batchSize = 1000): Promise {\n\t\tthis.logger.log(\n\t\t\t`Start cleanup job: Deleting files that were marked for deletion at least ${daysSinceDeletion} days ago; batch size: ${batchSize}`\n\t\t);\n\t\tconst thresholdDate = new Date();\n\t\tthresholdDate.setDate(thresholdDate.getDate() - daysSinceDeletion);\n\n\t\tawait this.deleteFilesUc.deleteMarkedFiles(thresholdDate, Number(batchSize));\n\t\tthis.logger.log('cleanup job finished');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeleteFilesUc.html":{"url":"injectables/DeleteFilesUc.html","title":"injectable - DeleteFilesUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeleteFilesUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/uc/delete-files.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createClient\n \n \n Private\n Async\n deleteFile\n \n \n Private\n Async\n deleteFileInStorage\n \n \n Public\n Async\n deleteMarkedFiles\n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesRepo: FilesRepo, storageProviderRepo: StorageProviderRepo, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesRepo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n storageProviderRepo\n \n \n StorageProviderRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createClient\n \n \n \n \n \n \n \n createClient(storageProvider: StorageProviderEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageProvider\n \n StorageProviderEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : S3Client\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFileInStorage\n \n \n \n \n \n \n \n deleteFileInStorage(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(thresholdDate: Date, batchSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n \n \n \n initializeS3ClientMap()\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class DeleteFilesUc {\n\tprivate s3ClientMap: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly filesRepo: FilesRepo,\n\t\tprivate readonly storageProviderRepo: StorageProviderRepo,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(DeleteFilesUc.name);\n\t}\n\n\tpublic async deleteMarkedFiles(thresholdDate: Date, batchSize: number): Promise {\n\t\tawait this.initializeS3ClientMap();\n\n\t\tlet batchCounter = 0;\n\t\tlet numberOfFilesInBatch = 0;\n\t\tlet numberOfProcessedFiles = 0;\n\t\tconst failingFileIds: string[] = [];\n\n\t\tdo {\n\t\t\tconst offset = failingFileIds.length;\n\t\t\tconst files = await this.filesRepo.findForCleanup(thresholdDate, batchSize, offset);\n\n\t\t\tconst promises = files.map((file) => this.deleteFile(file));\n\t\t\tconst results = await Promise.all(promises);\n\n\t\t\tlet numberOfFailingFilesInBatch = 0;\n\n\t\t\tresults.forEach((result) => {\n\t\t\t\tif (!result.success) {\n\t\t\t\t\tfailingFileIds.push(result.fileId);\n\t\t\t\t\tnumberOfFailingFilesInBatch += 1;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tnumberOfFilesInBatch = files.length;\n\t\t\tnumberOfProcessedFiles += files.length;\n\t\t\tbatchCounter += 1;\n\n\t\t\tthis.logger.log(\n\t\t\t\t`Finished batch ${batchCounter} with ${numberOfFilesInBatch} files and ${numberOfFailingFilesInBatch} failed deletions`\n\t\t\t);\n\t\t} while (numberOfFilesInBatch > 0);\n\n\t\tthis.logger.log(\n\t\t\t`${\n\t\t\t\tnumberOfProcessedFiles - failingFileIds.length\n\t\t\t} out of ${numberOfProcessedFiles} files were successfully deleted`\n\t\t);\n\n\t\tif (failingFileIds.length > 0) {\n\t\t\tthis.logger.error(`the following files could not be deleted: ${failingFileIds.toString()}`);\n\t\t}\n\t}\n\n\tprivate async initializeS3ClientMap() {\n\t\tconst providers = await this.storageProviderRepo.findAll();\n\n\t\tproviders.forEach((provider) => {\n\t\t\tthis.s3ClientMap.set(provider.id, this.createClient(provider));\n\t\t});\n\n\t\tthis.logger.log(`Initialized s3ClientMap with ${this.s3ClientMap.size} clients.`);\n\t}\n\n\tprivate createClient(storageProvider: StorageProviderEntity): S3Client {\n\t\tconst client = new S3Client({\n\t\t\tendpoint: storageProvider.endpointUrl,\n\t\t\tforcePathStyle: true,\n\t\t\tregion: storageProvider.region,\n\t\t\ttls: true,\n\t\t\tcredentials: {\n\t\t\t\taccessKeyId: storageProvider.accessKeyId,\n\t\t\t\tsecretAccessKey: storageProvider.secretAccessKey,\n\t\t\t},\n\t\t});\n\n\t\treturn client;\n\t}\n\n\tprivate async deleteFile(file: FileEntity): Promise {\n\t\ttry {\n\t\t\tif (!file.isDirectory) {\n\t\t\t\tawait this.deleteFileInStorage(file);\n\t\t\t}\n\t\t\tawait this.filesRepo.delete(file);\n\n\t\t\treturn { fileId: file.id, success: true };\n\t\t} catch (error) {\n\t\t\tthis.logger.error(error);\n\n\t\t\treturn { fileId: file.id, success: false };\n\t\t}\n\t}\n\n\tprivate async deleteFileInStorage(file: FileEntity) {\n\t\tconst bucket = file.bucket as string;\n\t\tconst storageFileName = file.storageFileName as string;\n\t\tconst deletionCommand = new DeleteObjectCommand({ Bucket: bucket, Key: storageFileName });\n\n\t\tconst storageProvider = file.storageProvider as StorageProviderEntity;\n\t\tconst client = this.s3ClientMap.get(storageProvider.id) as S3Client;\n\n\t\tawait client.send(deletionCommand);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionApiModule.html":{"url":"modules/DeletionApiModule.html","title":"module - DeletionApiModule","body":"\n \n\n\n\n\n Modules\n DeletionApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionApiModule\n\n\n\ncluster_DeletionApiModule_imports\n\n\n\ncluster_DeletionApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\nDeletionApiModule -->\n\nAccountModule->DeletionApiModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nDeletionApiModule -->\n\nAuthenticationModule->DeletionApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nDeletionApiModule -->\n\nClassModule->DeletionApiModule\n\n\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionApiModule -->\n\nDeletionModule->DeletionApiModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nDeletionApiModule -->\n\nFilesModule->DeletionApiModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nDeletionApiModule -->\n\nFilesStorageClientModule->DeletionApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nDeletionApiModule -->\n\nLearnroomModule->DeletionApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nDeletionApiModule -->\n\nLessonModule->DeletionApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nDeletionApiModule -->\n\nLoggerModule->DeletionApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nDeletionApiModule -->\n\nPseudonymModule->DeletionApiModule\n\n\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nDeletionApiModule -->\n\nRegistrationPinModule->DeletionApiModule\n\n\n\n\n\nRocketChatModule\n\nRocketChatModule\n\nDeletionApiModule -->\n\nRocketChatModule->DeletionApiModule\n\n\n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nDeletionApiModule -->\n\nRocketChatUserModule->DeletionApiModule\n\n\n\n\n\nTeamsModule\n\nTeamsModule\n\nDeletionApiModule -->\n\nTeamsModule->DeletionApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nDeletionApiModule -->\n\nUserModule->DeletionApiModule\n\n\n\n\n\nDeletionRequestUc\n\nDeletionRequestUc\n\nDeletionApiModule -->\n\nDeletionRequestUc->DeletionApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionRequestUc\n \n \n \n \n Controllers\n \n \n DeletionRequestsController\n \n \n DeletionExecutionsController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthenticationModule\n \n \n ClassModule\n \n \n DeletionModule\n \n \n FilesModule\n \n \n FilesStorageClientModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n PseudonymModule\n \n \n RegistrationPinModule\n \n \n RocketChatModule\n \n \n RocketChatUserModule\n \n \n TeamsModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DeletionModule } from '@modules/deletion';\nimport { AccountModule } from '@modules/account';\nimport { ClassModule } from '@modules/class';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { FilesModule } from '@modules/files';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { LessonModule } from '@modules/lesson';\nimport { TeamsModule } from '@modules/teams';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { RocketChatUserModule } from '@modules/rocketchat-user';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { RegistrationPinModule } from '@modules/registration-pin';\nimport { DeletionRequestsController } from './controller/deletion-requests.controller';\nimport { DeletionExecutionsController } from './controller/deletion-executions.controller';\nimport { DeletionRequestUc } from './uc';\nimport { FilesStorageClientModule } from '../files-storage-client';\n\n@Module({\n\timports: [\n\t\tDeletionModule,\n\t\tAccountModule,\n\t\tClassModule,\n\t\tLearnroomModule,\n\t\tFilesModule,\n\t\tLessonModule,\n\t\tPseudonymModule,\n\t\tTeamsModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tAuthenticationModule,\n\t\tRocketChatUserModule,\n\t\tRegistrationPinModule,\n\t\tFilesStorageClientModule,\n\t\tRocketChatModule.forRoot({\n\t\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t\t}),\n\t],\n\tcontrollers: [DeletionRequestsController, DeletionExecutionsController],\n\tproviders: [DeletionRequestUc],\n})\nexport class DeletionApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionClient.html":{"url":"injectables/DeletionClient.html","title":"injectable - DeletionClient","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n Private\n Readonly\n baseUrl\n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n Private\n defaultHeaders\n \n \n Async\n executeDeletions\n \n \n Async\n queueDeletionRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n \n \n \n \n \n apiKeyHeader()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:88\n \n \n\n\n \n \n\n \n Returns : { 'X-Api-Key': string; }\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n defaultHeaders\n \n \n \n \n \n \n \n defaultHeaders()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:92\n \n \n\n\n \n \n\n \n Returns : { headers: { 'X-Api-Key': string; }; }\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n queueDeletionRequest\n \n \n \n \n \n \n \n queueDeletionRequest(input: DeletionRequestInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n DeletionRequestInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { BadGatewayException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { firstValueFrom } from 'rxjs';\nimport { DeletionClientConfig, DeletionRequestInput, DeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class DeletionClient {\n\tprivate readonly baseUrl: string;\n\n\tprivate readonly apiKey: string;\n\n\tprivate readonly postDeletionRequestsEndpoint: string;\n\n\tprivate readonly postDeletionExecutionsEndpoint: string;\n\n\tconstructor(\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.baseUrl = this.configService.get('ADMIN_API_CLIENT_BASE_URL');\n\t\tthis.apiKey = this.configService.get('ADMIN_API_CLIENT_API_KEY');\n\n\t\t// Prepare the POST /deletionRequests endpoint beforehand to not do it on every client call.\n\t\tthis.postDeletionRequestsEndpoint = new URL('/admin/api/v1/deletionRequests', this.baseUrl).toString();\n\t\tthis.postDeletionExecutionsEndpoint = new URL('/admin/api/v1/deletionExecutions', this.baseUrl).toString();\n\t}\n\n\tasync queueDeletionRequest(input: DeletionRequestInput): Promise {\n\t\ttry {\n\t\t\tconst request = this.httpService.post(\n\t\t\t\tthis.postDeletionRequestsEndpoint,\n\t\t\t\tinput,\n\t\t\t\tthis.defaultHeaders()\n\t\t\t);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\t// Throw an error if any other status code (other than expected \"202 Accepted\" is returned).\n\t\t\tif (resp.status !== 202) {\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 202`);\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a requestId in a response (and it is\n\t\t\t// required as it gives client the reference to the created deletion request).\n\t\t\tif (!resp.data.requestId) {\n\t\t\t\tthrow new Error('no valid requestId returned from the server');\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a deletionPlannedAt timestamp so the user\n\t\t\t// will not be aware after which date the deletion request's execution will begin.\n\t\t\tif (!resp.data.deletionPlannedAt) {\n\t\t\t\tthrow Error('no valid deletionPlannedAt returned from the server');\n\t\t\t}\n\n\t\t\treturn resp.data;\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:queueDeletionRequest', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tasync executeDeletions(limit?: number): Promise {\n\t\tlet requestConfig = {};\n\n\t\tif (limit && limit > 0) {\n\t\t\trequestConfig = { ...this.defaultHeaders(), params: { limit } };\n\t\t} else {\n\t\t\trequestConfig = { ...this.defaultHeaders() };\n\t\t}\n\n\t\ttry {\n\t\t\tconst request = this.httpService.post(this.postDeletionExecutionsEndpoint, null, requestConfig);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\tif (resp.status !== 204) {\n\t\t\t\t// Throw an error if any other status code (other than expected \"204 No Content\" is returned).\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 204`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request(s) execution trigger has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:executeDeletions', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tprivate apiKeyHeader() {\n\t\treturn { 'X-Api-Key': this.apiKey };\n\t}\n\n\tprivate defaultHeaders() {\n\t\treturn {\n\t\t\theaders: this.apiKeyHeader(),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionClientConfig.html":{"url":"interfaces/DeletionClientConfig.html","title":"interface - DeletionClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-client-config.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionClientConfig {\n\tADMIN_API_CLIENT_BASE_URL: string;\n\tADMIN_API_CLIENT_API_KEY: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionConsoleModule.html":{"url":"modules/DeletionConsoleModule.html","title":"module - DeletionConsoleModule","body":"\n \n\n\n\n\n Modules\n DeletionConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionConsoleModule\n\n\n\ncluster_DeletionConsoleModule_providers\n\n\n\ncluster_DeletionConsoleModule_imports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nDeletionConsoleModule\n\nDeletionConsoleModule\n\nDeletionConsoleModule -->\n\nConsoleWriterModule->DeletionConsoleModule\n\n\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionConsoleModule -->\n\nDeletionModule->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionService\n\nBatchDeletionService\n\nDeletionConsoleModule -->\n\nBatchDeletionService->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionUc\n\nBatchDeletionUc\n\nDeletionConsoleModule -->\n\nBatchDeletionUc->DeletionConsoleModule\n\n\n\n\n\nDeletionClient\n\nDeletionClient\n\nDeletionConsoleModule -->\n\nDeletionClient->DeletionConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-console.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BatchDeletionService\n \n \n BatchDeletionUc\n \n \n DeletionClient\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n DeletionModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { DeletionModule } from '@modules/deletion';\nimport { DeletionClient } from './deletion-client';\nimport { getDeletionClientConfig } from './deletion-client/deletion-client.config';\nimport { DeletionQueueConsole } from './deletion-queue.console';\nimport { DeletionExecutionConsole } from './deletion-execution.console';\nimport { BatchDeletionService } from './services';\nimport { BatchDeletionUc } from './uc';\n\n@Module({\n\timports: [\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tDeletionModule,\n\t\tHttpModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(getDeletionClientConfig)),\n\t],\n\tproviders: [DeletionClient, BatchDeletionService, BatchDeletionUc, DeletionQueueConsole, DeletionExecutionConsole],\n})\nexport class DeletionConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionConsole.html":{"url":"classes/DeletionExecutionConsole.html","title":"class - DeletionExecutionConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-execution.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, deletionExecutionUc: DeletionExecutionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-execution.console.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n deletionExecutionUc\n \n \n DeletionExecutionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(options: TriggerDeletionExecutionOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'trigger', description: 'Trigger execution of deletion requests.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-execution.console.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n TriggerDeletionExecutionOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { Command, Console } from 'nestjs-console';\nimport { DeletionExecutionTriggerResultBuilder } from './builder';\nimport { DeletionExecutionTriggerResult, TriggerDeletionExecutionOptions } from './interface';\nimport { DeletionExecutionUc } from './uc';\n\n@Console({ command: 'execution', description: 'Console providing an access to the deletion execution(s).' })\nexport class DeletionExecutionConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private deletionExecutionUc: DeletionExecutionUc) {}\n\n\t@Command({\n\t\tcommand: 'trigger',\n\t\tdescription: 'Trigger execution of deletion requests.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-l, --limit ',\n\t\t\t\tdescription: 'Limit of the requested deletion executions that should be performed.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync triggerDeletionExecution(options: TriggerDeletionExecutionOptions): Promise {\n\t\t// Try to trigger the deletion execution(s) via Deletion API client,\n\t\t// return successful status in case of a success, otherwise return\n\t\t// a result with a failure status and a proper error message.\n\t\tlet result: DeletionExecutionTriggerResult;\n\n\t\ttry {\n\t\t\tawait this.deletionExecutionUc.triggerDeletionExecution(options.limit ? Number(options.limit) : undefined);\n\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildSuccess();\n\t\t} catch (err) {\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildFailure(err as Error);\n\t\t}\n\n\t\tthis.consoleWriter.info(JSON.stringify(result));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionParams.html":{"url":"classes/DeletionExecutionParams.html","title":"class - DeletionExecutionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@IsOptional()@ApiPropertyOptional({description: 'Page limit, defaults to 100.', minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsInt, IsOptional, Min } from 'class-validator';\n\nexport class DeletionExecutionParams {\n\t@IsInt()\n\t@Min(1)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 100.', minimum: 1 })\n\tlimit?: number = 100;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionExecutionTriggerResult.html":{"url":"interfaces/DeletionExecutionTriggerResult.html","title":"interface - DeletionExecutionTriggerResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionExecutionTriggerResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/interface/deletion-execution-trigger-result.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionExecutionTriggerStatus\n\n \n \n\n\n \n \n Type : DeletionExecutionTriggerStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionExecutionTriggerStatus } from './deletion-execution-trigger-status.enum';\n\nexport interface DeletionExecutionTriggerResult {\n\tstatus: DeletionExecutionTriggerStatus;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionTriggerResultBuilder.html":{"url":"classes/DeletionExecutionTriggerResultBuilder.html","title":"class - DeletionExecutionTriggerResultBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionTriggerResultBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildFailure\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(status: DeletionExecutionTriggerStatus, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n DeletionExecutionTriggerStatus\n \n\n \n No\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFailure\n \n \n \n \n \n \n \n buildFailure(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts:14\n \n \n\n\n \n \n\n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionExecutionTriggerResult, DeletionExecutionTriggerStatus } from '../interface';\n\nexport class DeletionExecutionTriggerResultBuilder {\n\tprivate static build(status: DeletionExecutionTriggerStatus, error?: string): DeletionExecutionTriggerResult {\n\t\tconst output: DeletionExecutionTriggerResult = { status };\n\n\t\tif (error) {\n\t\t\toutput.error = error;\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.SUCCESS);\n\t}\n\n\tstatic buildFailure(err: Error): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.FAILURE, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionExecutionUc.html":{"url":"injectables/DeletionExecutionUc.html","title":"injectable - DeletionExecutionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionExecutionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/deletion-execution.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/uc/deletion-execution.uc.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/uc/deletion-execution.uc.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { DeletionClient } from '../deletion-client';\n\n@Injectable()\nexport class DeletionExecutionUc {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync triggerDeletionExecution(limit?: number): Promise {\n\t\tawait this.deletionClient.executeDeletions(limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionExecutionsController.html":{"url":"controllers/DeletionExecutionsController.html","title":"controller - DeletionExecutionsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionExecutionsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-executions.controller.ts\n \n\n \n Prefix\n \n \n deletionExecutions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(deletionExecutionQuery: DeletionExecutionParams)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(204)@ApiOperation({summary: 'Execute the deletion process'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-executions.controller.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionExecutionQuery\n \n DeletionExecutionParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Controller, HttpCode, Post, Query, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionExecutionParams } from './dto';\n\n@ApiTags('DeletionExecutions')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionExecutions')\nexport class DeletionExecutionsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Execute the deletion process',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync executeDeletions(@Query() deletionExecutionQuery: DeletionExecutionParams) {\n\t\treturn this.deletionRequestUc.executeDeletionRequests(deletionExecutionQuery.limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLog.html":{"url":"classes/DeletionLog.html","title":"class - DeletionLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n domain\n \n \n operation\n \n \n modifiedCount\n \n \n deletedCount\n \n \n deletionRequestId\n \n \n performedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:17\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:21\n \n \n\n \n \n \n \n \n \n \n domain\n \n \n\n \n \n getdomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:25\n \n \n\n \n \n \n \n \n \n \n operation\n \n \n\n \n \n getoperation()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:29\n \n \n\n \n \n \n \n \n \n \n modifiedCount\n \n \n\n \n \n getmodifiedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:33\n \n \n\n \n \n \n \n \n \n \n deletedCount\n \n \n\n \n \n getdeletedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:37\n \n \n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n\n \n \n getdeletionRequestId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:41\n \n \n\n \n \n \n \n \n \n \n performedAt\n \n \n\n \n \n getperformedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:45\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionLogEntity.html":{"url":"entities/DeletionLogEntity.html","title":"entity - DeletionLogEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionLogEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n Optional\n deletionRequestId\n \n \n \n domain\n \n \n \n Optional\n modifiedCount\n \n \n \n Optional\n operation\n \n \n \n \n Optional\n performedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletionRequestId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n modifiedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n operation\n \n \n \n \n \n \n Type : DeletionOperationModel\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n performedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogEntityProps.html":{"url":"interfaces/DeletionLogEntityProps.html","title":"interface - DeletionLogEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogMapper.html":{"url":"classes/DeletionLogMapper.html","title":"class - DeletionLogMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionLogEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionLogEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: DeletionLogEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n DeletionLogEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: DeletionLog[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DeletionLog[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionLogEntity } from '../../entity/deletion-log.entity';\nimport { DeletionLog } from '../../domain/deletion-log.do';\n\nexport class DeletionLogMapper {\n\tstatic mapToDO(entity: DeletionLogEntity): DeletionLog {\n\t\treturn new DeletionLog({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\tdomain: entity.domain,\n\t\t\toperation: entity.operation,\n\t\t\tmodifiedCount: entity.modifiedCount,\n\t\t\tdeletedCount: entity.deletedCount,\n\t\t\tdeletionRequestId: entity.deletionRequestId?.toHexString(),\n\t\t\tperformedAt: entity.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionLog): DeletionLogEntity {\n\t\treturn new DeletionLogEntity({\n\t\t\tid: domainObject.id,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tdomain: domainObject.domain,\n\t\t\toperation: domainObject.operation,\n\t\t\tmodifiedCount: domainObject.modifiedCount,\n\t\t\tdeletedCount: domainObject.deletedCount,\n\t\t\tdeletionRequestId: new ObjectId(domainObject.deletionRequestId),\n\t\t\tperformedAt: domainObject.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: DeletionLogEntity[]): DeletionLog[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: DeletionLog[]): DeletionLogEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogProps.html":{"url":"interfaces/DeletionLogProps.html","title":"interface - DeletionLogProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogRepo.html":{"url":"injectables/DeletionLogRepo.html","title":"injectable - DeletionLogRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-log.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findAllByDeletionRequestId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionLog: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLog\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByDeletionRequestId\n \n \n \n \n \n \n \n findAllByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionLogId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionLogEntity } from '../entity/deletion-log.entity';\nimport { DeletionLogMapper } from './mapper/deletion-log.mapper';\n\n@Injectable()\nexport class DeletionLogRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionLogEntity;\n\t}\n\n\tasync findById(deletionLogId: EntityId): Promise {\n\t\tconst deletionLog: DeletionLogEntity = await this.em.findOneOrFail(DeletionLogEntity, {\n\t\t\tid: deletionLogId,\n\t\t});\n\n\t\tconst mapped: DeletionLog = DeletionLogMapper.mapToDO(deletionLog);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogEntities: DeletionLogEntity[] = await this.em.find(DeletionLogEntity, {\n\t\t\tdeletionRequestId: new ObjectId(deletionRequestId),\n\t\t});\n\n\t\tconst mapped: DeletionLog[] = DeletionLogMapper.mapToDOs(deletionLogEntities);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionLog: DeletionLog): Promise {\n\t\tconst deletionLogEntity: DeletionLogEntity = DeletionLogMapper.mapToEntity(deletionLog);\n\t\tthis.em.persist(deletionLogEntity);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogService.html":{"url":"injectables/DeletionLogService.html","title":"injectable - DeletionLogService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-log.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n Async\n findByDeletionRequestId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionLogRepo: DeletionLogRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogRepo\n \n \n DeletionLogRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n \n \n \n \n \n createDeletionLog(deletionRequestId: EntityId, domain: DeletionDomainModel, operation: DeletionOperationModel, modifiedCount: number, deletedCount: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n operation\n \n DeletionOperationModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n No\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDeletionRequestId\n \n \n \n \n \n \n \n findByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\nimport { DeletionLogRepo } from '../repo';\n\n@Injectable()\nexport class DeletionLogService {\n\tconstructor(private readonly deletionLogRepo: DeletionLogRepo) {}\n\n\tasync createDeletionLog(\n\t\tdeletionRequestId: EntityId,\n\t\tdomain: DeletionDomainModel,\n\t\toperation: DeletionOperationModel,\n\t\tmodifiedCount: number,\n\t\tdeletedCount: number\n\t): Promise {\n\t\tconst newDeletionLog = new DeletionLog({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tperformedAt: new Date(),\n\t\t\tdomain,\n\t\t\tdeletionRequestId,\n\t\t\toperation,\n\t\t\tmodifiedCount,\n\t\t\tdeletedCount,\n\t\t});\n\n\t\tawait this.deletionLogRepo.create(newDeletionLog);\n\t}\n\n\tasync findByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogs: DeletionLog[] = await this.deletionLogRepo.findAllByDeletionRequestId(deletionRequestId);\n\n\t\treturn deletionLogs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic.html":{"url":"interfaces/DeletionLogStatistic.html","title":"interface - DeletionLogStatistic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic-1.html":{"url":"interfaces/DeletionLogStatistic-1.html","title":"interface - DeletionLogStatistic-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogStatisticBuilder.html":{"url":"classes/DeletionLogStatisticBuilder.html","title":"class - DeletionLogStatisticBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogStatisticBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionLogStatistic\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionDomainModel } from '../domain/types';\nimport { DeletionLogStatistic } from '../interface';\n\nexport class DeletionLogStatisticBuilder {\n\tstatic build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number): DeletionLogStatistic {\n\t\tconst deletionLogStatistic = { domain, modifiedCount, deletedCount };\n\n\t\treturn deletionLogStatistic;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionModule.html":{"url":"modules/DeletionModule.html","title":"module - DeletionModule","body":"\n \n\n\n\n\n Modules\n DeletionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionModule\n\n\n\ncluster_DeletionModule_providers\n\n\n\ncluster_DeletionModule_exports\n\n\n\n\nDeletionLogService \n\nDeletionLogService \n\n\n\nDeletionRequestService \n\nDeletionRequestService \n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionLogService -->\n\nDeletionModule->DeletionLogService \n\n\n\nDeletionRequestService -->\n\nDeletionModule->DeletionRequestService \n\n\n\n\n\nDeletionLogRepo\n\nDeletionLogRepo\n\nDeletionModule -->\n\nDeletionLogRepo->DeletionModule\n\n\n\n\n\nDeletionLogService\n\nDeletionLogService\n\nDeletionModule -->\n\nDeletionLogService->DeletionModule\n\n\n\n\n\nDeletionRequestRepo\n\nDeletionRequestRepo\n\nDeletionModule -->\n\nDeletionRequestRepo->DeletionModule\n\n\n\n\n\nDeletionRequestService\n\nDeletionRequestService\n\nDeletionModule -->\n\nDeletionRequestService->DeletionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionLogRepo\n \n \n DeletionLogService\n \n \n DeletionRequestRepo\n \n \n DeletionRequestService\n \n \n \n \n Exports\n \n \n DeletionLogService\n \n \n DeletionRequestService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { DeletionRequestService } from './services/deletion-request.service';\nimport { DeletionRequestRepo } from './repo/deletion-request.repo';\nimport { XApiKeyConfig } from '../authentication/config/x-api-key.config';\nimport { DeletionLogService } from './services/deletion-log.service';\nimport { DeletionLogRepo } from './repo';\n\n@Module({\n\tproviders: [\n\t\tDeletionRequestRepo,\n\t\tDeletionLogRepo,\n\t\tConfigService,\n\t\tDeletionLogService,\n\t\tDeletionRequestService,\n\t],\n\texports: [DeletionRequestService, DeletionLogService],\n})\nexport class DeletionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionQueueConsole.html":{"url":"classes/DeletionQueueConsole.html","title":"class - DeletionQueueConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionQueueConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-queue.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, batchDeletionUc: BatchDeletionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-queue.console.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n batchDeletionUc\n \n \n BatchDeletionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n \n \n \n pushDeletionRequests(options: PushDeletionRequestsOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'push', description: 'Push new deletion requests to the deletion queue.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-queue.console.ts: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 PushDeletionRequestsOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Console, Command } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\nimport { PushDeletionRequestsOptions } from './interface';\nimport { BatchDeletionUc } from './uc';\n\n@Console({ command: 'queue', description: 'Console providing an access to the deletion queue.' })\nexport class DeletionQueueConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private batchDeletionUc: BatchDeletionUc) {}\n\n\t@Command({\n\t\tcommand: 'push',\n\t\tdescription: 'Push new deletion requests to the deletion queue.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-rfp, --refsFilePath ',\n\t\t\t\tdescription: 'Path of the file containing all the references to the data that should be deleted.',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-trd, --targetRefDomain ',\n\t\t\t\tdescription: 'Name of the target ref domain.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-dim, --deleteInMinutes ',\n\t\t\t\tdescription: 'Number of minutes after which the data deletion process should begin.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-cdm, --callsDelayMs ',\n\t\t\t\tdescription: 'Delay between all the performed client calls, in milliseconds.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync pushDeletionRequests(options: PushDeletionRequestsOptions): Promise {\n\t\tconst summary = await this.batchDeletionUc.deleteRefsFromTxtFile(\n\t\t\toptions.refsFilePath,\n\t\t\toptions.targetRefDomain,\n\t\t\toptions.deleteInMinutes ? Number(options.deleteInMinutes) : undefined,\n\t\t\toptions.callsDelayMs ? Number(options.callsDelayMs) : undefined\n\t\t);\n\n\t\tthis.consoleWriter.info(JSON.stringify(summary));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequest.html":{"url":"classes/DeletionRequest.html","title":"class - DeletionRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n targetRefDomain\n \n \n deleteAfter\n \n \n targetRefId\n \n \n status\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:15\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:19\n \n \n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n\n \n \n gettargetRefDomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:23\n \n \n\n \n \n \n \n \n \n \n deleteAfter\n \n \n\n \n \n getdeleteAfter()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:27\n \n \n\n \n \n \n \n \n \n \n targetRefId\n \n \n\n \n \n gettargetRefId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:31\n \n \n\n \n \n \n \n \n \n \n status\n \n \n\n \n \n getstatus()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:35\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyProps.html":{"url":"classes/DeletionRequestBodyProps.html","title":"class - DeletionRequestBodyProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : MINUTES_OF_30_DAYS\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\nimport { DeletionTargetRef } from '../../interface';\n\nconst MINUTES_OF_30_DAYS = 30 * 24 * 60;\nexport class DeletionRequestBodyProps {\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttargetRef!: DeletionTargetRef;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdeleteInMinutes?: number = MINUTES_OF_30_DAYS;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyPropsBuilder.html":{"url":"classes/DeletionRequestBodyPropsBuilder.html","title":"class - DeletionRequestBodyPropsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyPropsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestBodyProps\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionRequestBodyProps } from '../controller/dto';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport class DeletionRequestBodyPropsBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number): DeletionRequestBodyProps {\n\t\tconst deletionRequestItem = {\n\t\t\ttargetRef: { domain, id },\n\t\t\tdeleteInMinutes,\n\t\t};\n\n\t\treturn deletionRequestItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestCreateAnswer.html":{"url":"interfaces/DeletionRequestCreateAnswer.html","title":"interface - DeletionRequestCreateAnswer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestCreateAnswer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionRequestEntity.html":{"url":"entities/DeletionRequestEntity.html","title":"entity - DeletionRequestEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionRequestEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n status\n \n \n \n targetRefDomain\n \n \n \n targetRefId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : DeletionStatusModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestEntityProps.html":{"url":"interfaces/DeletionRequestEntityProps.html","title":"interface - DeletionRequestEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n Optional\n \n id\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestFactory.html":{"url":"classes/DeletionRequestFactory.html","title":"class - DeletionRequestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { DeletionRequest, DeletionRequestProps } from '../../deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../../types';\n\nclass DeletionRequestFactory extends DoBaseFactory {\n\twithUserIds(id: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\ttargetRefId: id,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const deletionRequestFactory = DeletionRequestFactory.define(DeletionRequest, () => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttargetRefDomain: DeletionDomainModel.USER,\n\t\tdeleteAfter: new Date(),\n\t\ttargetRefId: new ObjectId().toHexString(),\n\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestInput.html":{"url":"interfaces/DeletionRequestInput.html","title":"interface - DeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionRequestTargetRefInput\n\n \n \n\n\n \n \n Type : DeletionRequestTargetRefInput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionRequestTargetRefInput } from './deletion-request-target-ref-input.interface';\n\nexport interface DeletionRequestInput {\n\ttargetRef: DeletionRequestTargetRefInput;\n\tdeleteInMinutes?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestInputBuilder.html":{"url":"classes/DeletionRequestInputBuilder.html","title":"class - DeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-input.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestInput } from '../interface';\nimport { DeletionRequestTargetRefInputBuilder } from './deletion-request-target-ref-input.builder';\n\nexport class DeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number): DeletionRequestInput {\n\t\treturn {\n\t\t\ttargetRef: DeletionRequestTargetRefInputBuilder.build(targetRefDomain, targetRefId),\n\t\t\tdeleteInMinutes,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestLog.html":{"url":"interfaces/DeletionRequestLog.html","title":"interface - DeletionRequestLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n Optional\n \n statistics\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statistics\n \n \n \n \n \n \n \n \n statistics: DeletionLogStatistic[]\n\n \n \n\n\n \n \n Type : DeletionLogStatistic[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionTargetRef\n\n \n \n\n\n \n \n Type : DeletionTargetRef\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponse.html":{"url":"classes/DeletionRequestLogResponse.html","title":"class - DeletionRequestLogResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n Optional\n statistics\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestLogResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestLogResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n statistics\n \n \n \n \n \n \n Type : DeletionLogStatistic[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../../interface';\n\nexport class DeletionRequestLogResponse {\n\t@ApiProperty()\n\ttargetRef: DeletionTargetRef;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\t@ApiProperty()\n\t@IsOptional()\n\tstatistics?: DeletionLogStatistic[];\n\n\tconstructor(response: DeletionRequestLogResponse) {\n\t\tthis.targetRef = response.targetRef;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t\tthis.statistics = response.statistics;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponseBuilder.html":{"url":"classes/DeletionRequestLogResponseBuilder.html","title":"class - DeletionRequestLogResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRef: DeletionTargetRef, deletionPlannedAt: Date, statistics?: DeletionLogStatistic[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRef\n \n DeletionTargetRef\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n statistics\n \n DeletionLogStatistic[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestLogResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestLogResponse } from '../controller/dto';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../interface';\n\nexport class DeletionRequestLogResponseBuilder {\n\tstatic build(\n\t\ttargetRef: DeletionTargetRef,\n\t\tdeletionPlannedAt: Date,\n\t\tstatistics?: DeletionLogStatistic[]\n\t): DeletionRequestLogResponse {\n\t\tconst deletionRequestLog = { targetRef, deletionPlannedAt, statistics };\n\n\t\treturn deletionRequestLog;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestMapper.html":{"url":"classes/DeletionRequestMapper.html","title":"class - DeletionRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionRequestEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionRequestEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequest } from '../../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../../entity';\n\nexport class DeletionRequestMapper {\n\tstatic mapToDO(entity: DeletionRequestEntity): DeletionRequest {\n\t\treturn new DeletionRequest({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\ttargetRefDomain: entity.targetRefDomain,\n\t\t\tdeleteAfter: entity.deleteAfter,\n\t\t\ttargetRefId: entity.targetRefId,\n\t\t\tstatus: entity.status,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionRequest): DeletionRequestEntity {\n\t\treturn new DeletionRequestEntity({\n\t\t\tid: domainObject.id,\n\t\t\ttargetRefDomain: domainObject.targetRefDomain,\n\t\t\tdeleteAfter: domainObject.deleteAfter,\n\t\t\ttargetRefId: domainObject.targetRefId,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tstatus: domainObject.status,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestOutput.html":{"url":"interfaces/DeletionRequestOutput.html","title":"interface - DeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestOutput {\n\trequestId: string;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestOutputBuilder.html":{"url":"classes/DeletionRequestOutputBuilder.html","title":"class - DeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestOutput } from '../interface';\n\nexport class DeletionRequestOutputBuilder {\n\tstatic build(requestId: string, deletionPlannedAt: Date): DeletionRequestOutput {\n\t\treturn {\n\t\t\trequestId,\n\t\t\tdeletionPlannedAt,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps.html":{"url":"interfaces/DeletionRequestProps.html","title":"interface - DeletionRequestProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps-1.html":{"url":"interfaces/DeletionRequestProps-1.html","title":"interface - DeletionRequestProps-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestRepo.html":{"url":"injectables/DeletionRequestRepo.html","title":"injectable - DeletionRequestRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecution\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecution\n \n \n \n \n \n \n \n findAllItemsToExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionRequestScope } from './deletion-request-scope';\nimport { DeletionRequestMapper } from './mapper/deletion-request.mapper';\n\n@Injectable()\nexport class DeletionRequestRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionRequestEntity;\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tconst mapped: DeletionRequest = DeletionRequestMapper.mapToDO(deletionRequest);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tthis.em.persist(deletionRequestEntity);\n\t\tawait this.em.flush();\n\t}\n\n\tasync findAllItemsToExecution(limit?: number): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst scope = new DeletionRequestScope().byDeleteAfter(currentDate).byStatus();\n\t\tconst order = { createdAt: SortOrder.desc };\n\n\t\tconst [deletionRequestEntities] = await this.em.findAndCount(DeletionRequestEntity, scope.query, {\n\t\t\tlimit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst mapped: DeletionRequest[] = deletionRequestEntities.map((entity) => DeletionRequestMapper.mapToDO(entity));\n\n\t\treturn mapped;\n\t}\n\n\tasync update(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tconst referencedEntity = this.em.getReference(DeletionRequestEntity, deletionRequestEntity.id);\n\n\t\tawait this.em.persistAndFlush(referencedEntity);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.executed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.failed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tconst entity: DeletionRequestEntity | null = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestResponse.html":{"url":"classes/DeletionRequestResponse.html","title":"class - DeletionRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n requestId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class DeletionRequestResponse {\n\t@ApiProperty()\n\trequestId: string;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\tconstructor(response: DeletionRequestResponse) {\n\t\tthis.requestId = response.requestId;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestScope.html":{"url":"classes/DeletionRequestScope.html","title":"class - DeletionRequestScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byDeleteAfter\n \n \n byStatus\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byDeleteAfter\n \n \n \n \n \n \nbyDeleteAfter(currentDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byStatus\n \n \n \n \n \n \nbyStatus()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:12\n \n \n\n\n \n \n\n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionStatusModel } from '../domain/types';\n\nexport class DeletionRequestScope extends Scope {\n\tbyDeleteAfter(currentDate: Date): DeletionRequestScope {\n\t\tthis.addQuery({ deleteAfter: { $lt: currentDate } });\n\n\t\treturn this;\n\t}\n\n\tbyStatus(): DeletionRequestScope {\n\t\tthis.addQuery({ status: [DeletionStatusModel.REGISTERED, DeletionStatusModel.FAILED] });\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestService.html":{"url":"injectables/DeletionRequestService.html","title":"injectable - DeletionRequestService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-request.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecute\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionRequestRepo: DeletionRequestRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestRepo\n \n \n DeletionRequestRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n \n \n \n \n \n createDeletionRequest(targetRefId: EntityId, targetRefDomain: DeletionDomainModel, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n targetRefId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n DeletionDomainModel\n \n\n \n No\n \n\n \n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecute\n \n \n \n \n \n \n \n findAllItemsToExecute(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequestToUpdate: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestToUpdate\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\nimport { DeletionRequestRepo } from '../repo/deletion-request.repo';\n\n@Injectable()\nexport class DeletionRequestService {\n\tconstructor(private readonly deletionRequestRepo: DeletionRequestRepo) {}\n\n\tasync createDeletionRequest(\n\t\ttargetRefId: EntityId,\n\t\ttargetRefDomain: DeletionDomainModel,\n\t\tdeleteInMinutes = 43200\n\t): Promise {\n\t\tconst dateOfDeletion = new Date();\n\t\tdateOfDeletion.setMinutes(dateOfDeletion.getMinutes() + deleteInMinutes);\n\n\t\tconst newDeletionRequest = new DeletionRequest({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttargetRefDomain,\n\t\t\tdeleteAfter: dateOfDeletion,\n\t\t\ttargetRefId,\n\t\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\t});\n\n\t\tawait this.deletionRequestRepo.create(newDeletionRequest);\n\n\t\treturn { requestId: newDeletionRequest.id, deletionPlannedAt: newDeletionRequest.deleteAfter };\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequest = await this.deletionRequestRepo.findById(deletionRequestId);\n\n\t\treturn deletionRequest;\n\t}\n\n\tasync findAllItemsToExecute(limit?: number): Promise {\n\t\tconst itemsToDelete: DeletionRequest[] = await this.deletionRequestRepo.findAllItemsToExecution(limit);\n\n\t\treturn itemsToDelete;\n\t}\n\n\tasync update(deletionRequestToUpdate: DeletionRequest): Promise {\n\t\tawait this.deletionRequestRepo.update(deletionRequestToUpdate);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsExecuted(deletionRequestId);\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsFailed(deletionRequestId);\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tawait this.deletionRequestRepo.deleteById(deletionRequestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestTargetRefInput.html":{"url":"interfaces/DeletionRequestTargetRefInput.html","title":"interface - DeletionRequestTargetRefInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestTargetRefInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-request-target-ref-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestTargetRefInput {\n\tdomain: string;\n\tid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestTargetRefInputBuilder.html":{"url":"classes/DeletionRequestTargetRefInputBuilder.html","title":"class - DeletionRequestTargetRefInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestTargetRefInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-target-ref-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: string, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-target-ref-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n string\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestTargetRefInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestTargetRefInput } from '../interface';\n\nexport class DeletionRequestTargetRefInputBuilder {\n\tstatic build(domain: string, id: string): DeletionRequestTargetRefInput {\n\t\treturn { domain, id };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionRequestsController.html":{"url":"controllers/DeletionRequestsController.html","title":"controller - DeletionRequestsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionRequestsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-requests.controller.ts\n \n\n \n Prefix\n \n \n deletionRequests\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n \n cancelDeletionRequest(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':requestId')@HttpCode(204)@ApiOperation({summary: 'Canceling a deletion request'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n \n createDeletionRequests(deletionRequestBody: DeletionRequestBodyProps)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(202)@ApiOperation({summary: '\"Queueing\" a deletion request'})@ApiResponse({status: 202, type: DeletionRequestResponse, description: 'Returns identifier of the deletion request and when deletion is planned at'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestBody\n \n DeletionRequestBodyProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n \n \n \n getPerformedDeletionDetails(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':requestId')@HttpCode(200)@ApiOperation({summary: 'Retrieving details of performed or planned deletion'})@ApiResponse({status: 200, type: DeletionRequestLogResponse, description: 'Return details of performed or planned deletion'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, HttpCode, Param, Post, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionRequestLogResponse, DeletionRequestBodyProps, DeletionRequestResponse } from './dto';\n\n@ApiTags('DeletionRequests')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionRequests')\nexport class DeletionRequestsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(202)\n\t@ApiOperation({\n\t\tsummary: '\"Queueing\" a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 202,\n\t\ttype: DeletionRequestResponse,\n\t\tdescription: 'Returns identifier of the deletion request and when deletion is planned at',\n\t})\n\tasync createDeletionRequests(\n\t\t@Body() deletionRequestBody: DeletionRequestBodyProps\n\t): Promise {\n\t\treturn this.deletionRequestUc.createDeletionRequest(deletionRequestBody);\n\t}\n\n\t@Get(':requestId')\n\t@HttpCode(200)\n\t@ApiOperation({\n\t\tsummary: 'Retrieving details of performed or planned deletion',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeletionRequestLogResponse,\n\t\tdescription: 'Return details of performed or planned deletion',\n\t})\n\tasync getPerformedDeletionDetails(@Param('requestId') requestId: string): Promise {\n\t\treturn this.deletionRequestUc.findById(requestId);\n\t}\n\n\t@Delete(':requestId')\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Canceling a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync cancelDeletionRequest(@Param('requestId') requestId: string) {\n\t\treturn this.deletionRequestUc.deleteDeletionRequestById(requestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef.html":{"url":"interfaces/DeletionTargetRef.html","title":"interface - DeletionTargetRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef-1.html":{"url":"interfaces/DeletionTargetRef-1.html","title":"interface - DeletionTargetRef-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionTargetRefBuilder.html":{"url":"classes/DeletionTargetRefBuilder.html","title":"class - DeletionTargetRefBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionTargetRefBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionTargetRef\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\nimport { DeletionTargetRef } from '../interface';\n\nexport class DeletionTargetRefBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId): DeletionTargetRef {\n\t\tconst deletionTargetRef = { domain, id };\n\n\t\treturn deletionTargetRef;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceInfoResponse.html":{"url":"classes/DeprecatedVideoConferenceInfoResponse.html","title":"class - DeprecatedVideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n options\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:43\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n options\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceJoinResponse.html":{"url":"classes/DeprecatedVideoConferenceJoinResponse.html","title":"class - DeprecatedVideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n url\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DoBaseFactory.html":{"url":"classes/DoBaseFactory.html","title":"class - DoBaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DoBaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/do-base.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial } from 'fishery';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DoBaseFactory extends BaseFactory {\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity: T = this.build(params, options);\n\t\tObject.defineProperty(entity, 'id', { value: id ?? new ObjectId().toHexString(), writable: true });\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObject.html":{"url":"classes/DomainObject.html","title":"class - DomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: T)\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:18\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n\n \n \n getid()\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObjectFactory.html":{"url":"classes/DomainObjectFactory.html","title":"class - DomainObjectFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObjectFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/domain-object.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MethodNotAllowedException } from '@nestjs/common';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { BuildOptions, DeepPartial } from 'fishery';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DomainObjectFactory,\n\tU extends AuthorizableObject = T extends DomainObject ? X : never,\n\tI = any,\n\tC = U\n> extends BaseFactory {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tthrow new MethodNotAllowedException(\n\t\t\t'Domain Objects are always generated with an id. Use .build({ id: ... }) to set an id.'\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DownloadFileParams.html":{"url":"classes/DownloadFileParams.html","title":"class - DownloadFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DownloadFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingContentBody.html":{"url":"classes/DrawingContentBody.html","title":"class - DrawingContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:69\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElement.html":{"url":"classes/DrawingElement.html","title":"class - DrawingElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:5\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DrawingElementAdapterService.html":{"url":"injectables/DrawingElementAdapterService.html","title":"injectable - DrawingElementAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DrawingElementAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n \n \n \n deleteDrawingBinData(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { firstValueFrom } from 'rxjs';\nimport { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\n\n@Injectable()\nexport class DrawingElementAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly httpService: HttpService) {\n\t\tthis.logger.setContext(DrawingElementAdapterService.name);\n\t}\n\n\tasync deleteDrawingBinData(docName: string): Promise {\n\t\tawait firstValueFrom(\n\t\t\tthis.httpService.delete(`${Configuration.get('TLDRAW_URI') as string}/api/v3/tldraw-document/${docName}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContent.html":{"url":"classes/DrawingElementContent.html","title":"class - DrawingElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContentBody.html":{"url":"classes/DrawingElementContentBody.html","title":"class - DrawingElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:74\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DrawingElementNode.html":{"url":"entities/DrawingElementNode.html","title":"entity - DrawingElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n DrawingElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementNodeProps.html":{"url":"interfaces/DrawingElementNodeProps.html","title":"interface - DrawingElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementProps.html":{"url":"interfaces/DrawingElementProps.html","title":"interface - DrawingElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponse.html":{"url":"classes/DrawingElementResponse.html","title":"class - DrawingElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponseMapper.html":{"url":"classes/DrawingElementResponseMapper.html","title":"class - DrawingElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : DrawingElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:10\n \n \n\n\n \n \n\n \n Returns : DrawingElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { DrawingElementContent, DrawingElementResponse } from '../dto/element/drawing-element.response';\nimport { TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class DrawingElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: DrawingElementResponseMapper;\n\n\tpublic static getInstance(): DrawingElementResponseMapper {\n\t\tif (!DrawingElementResponseMapper.instance) {\n\t\t\tDrawingElementResponseMapper.instance = new DrawingElementResponseMapper();\n\t\t}\n\n\t\treturn DrawingElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: DrawingElement): DrawingElementResponse {\n\t\tconst result = new DrawingElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.DRAWING,\n\t\t\tcontent: new DrawingElementContent({ description: element.description }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: DrawingElement): boolean {\n\t\treturn element instanceof DrawingElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DtoCreator.html":{"url":"classes/DtoCreator.html","title":"class - DtoCreator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DtoCreator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorisationService\n \n \n board\n \n \n room\n \n \n roomsAuthorisationService\n \n \n user\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n Private\n createTaskStatus\n \n \n Private\n filterByPermission\n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n Private\n isTeacher\n \n \n manufacture\n \n \n Private\n mapColumnBoardElement\n \n \n Private\n mapLessonElement\n \n \n Private\n mapTaskElement\n \n \n Private\n mapToElementDTOs\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: literal type)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorisationService\n \n \n \n \n \n \n Type : AuthorizationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n board\n \n \n \n \n \n \n Type : Board\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n room\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n roomsAuthorisationService\n \n \n \n \n \n \n Type : RoomsAuthorisationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n \n \n \n \n \n buildDTOWithElements(elements: RoomBoardElementDTO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n RoomBoardElementDTO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createTaskStatus\n \n \n \n \n \n \n \n createTaskStatus(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterByPermission\n \n \n \n \n \n \n \n filterByPermission(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n \n \n \n \n \n isColumnBoardFeatureFlagActive()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:89\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isTeacher\n \n \n \n \n \n \n \n isTeacher()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:95\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n manufacture\n \n \n \n \n \n \nmanufacture()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:58\n \n \n\n\n \n \n\n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapColumnBoardElement\n \n \n \n \n \n \n \n mapColumnBoardElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapLessonElement\n \n \n \n \n \n \n \n mapLessonElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskElement\n \n \n \n \n \n \n \n mapTaskElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapToElementDTOs\n \n \n \n \n \n \n \n mapToElementDTOs(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DurationLoggingInterceptor.html":{"url":"injectables/DurationLoggingInterceptor.html","title":"injectable - DurationLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DurationLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor is logging the duration of a REST call.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n/**\n * This interceptor is logging the duration of a REST call.\n */\n@Injectable()\nexport class DurationLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {\n\t\tlogger.setContext(DurationLoggingInterceptor.name);\n\t}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.log('Before...');\n\t\tconst now = Date.now();\n\t\treturn next.handle().pipe(tap(() => this.logger.log(`After... ${Date.now() - now}ms`)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ElementContentBody.html":{"url":"classes/ElementContentBody.html","title":"class - ElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({enum: ContentElementType, description: 'the type of the updated element', enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ElementController.html":{"url":"controllers/ElementController.html","title":"controller - ElementController","body":"\n \n\n\n\n\n\n\n Controllers\n ElementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/element.controller.ts\n \n\n \n Prefix\n \n \n elements\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(urlParams: ContentElementUrlParams, bodyParams: CreateSubmissionItemBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new submission item having parent a submission container element.'})@ApiExtraModels(SubmissionItemResponse)@ApiResponse({status: 201, type: SubmissionItemResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: true, type: CreateSubmissionItemBodyParams})@Post(':contentElementId/submissions')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(urlParams: ContentElementUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':contentElementId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(urlParams: ContentElementUrlParams, bodyParams: MoveContentElementBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':contentElementId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveContentElementBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n \n \n \n updateElement(urlParams: ContentElementUrlParams, bodyParams: UpdateElementContentBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single content element.'})@ApiExtraModels(FileElementContentBody, RichTextElementContentBody, SubmissionContainerElementContentBody, ExternalToolElementContentBody, LinkElementContentBody, DrawingElementContentBody)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(201)@Patch(':contentElementId/content')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateElementContentBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport {\n\tAnyContentElementResponse,\n\tContentElementUrlParams,\n\tCreateSubmissionItemBodyParams,\n\tDrawingElementContentBody,\n\tDrawingElementResponse,\n\tExternalToolElementContentBody,\n\tExternalToolElementResponse,\n\tFileElementContentBody,\n\tFileElementResponse,\n\tLinkElementContentBody,\n\tLinkElementResponse,\n\tMoveContentElementBody,\n\tRichTextElementContentBody,\n\tRichTextElementResponse,\n\tSubmissionContainerElementContentBody,\n\tSubmissionContainerElementResponse,\n\tSubmissionItemResponse,\n\tUpdateElementContentBodyParams,\n} from './dto';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Element')\n@Authenticate('jwt')\n@Controller('elements')\nexport class ElementController {\n\tconstructor(private readonly cardUc: CardUc, private readonly elementUc: ElementUc) {}\n\n\t@ApiOperation({ summary: 'Move a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':contentElementId/position')\n\tasync moveElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: MoveContentElementBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.moveElement(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.toCardId,\n\t\t\tbodyParams.toPosition\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Update a single content element.' })\n\t@ApiExtraModels(\n\t\tFileElementContentBody,\n\t\tRichTextElementContentBody,\n\t\tSubmissionContainerElementContentBody,\n\t\tExternalToolElementContentBody,\n\t\tLinkElementContentBody,\n\t\tDrawingElementContentBody\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(201)\n\t@Patch(':contentElementId/content')\n\tasync updateElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: UpdateElementContentBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst element = await this.elementUc.updateElementContent(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.data.content\n\t\t);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':contentElementId')\n\tasync deleteElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.elementUc.deleteElement(currentUser.userId, urlParams.contentElementId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new submission item having parent a submission container element.' })\n\t@ApiExtraModels(SubmissionItemResponse)\n\t@ApiResponse({ status: 201, type: SubmissionItemResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: true, type: CreateSubmissionItemBodyParams })\n\t@Post(':contentElementId/submissions')\n\tasync createSubmissionItem(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: CreateSubmissionItemBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst submissionItem = await this.elementUc.createSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.completed\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapSubmissionItemToResponse(submissionItem);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ElementUc.html":{"url":"injectables/ElementUc.html","title":"injectable - ElementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ElementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/element.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n Async\n deleteElement\n \n \n Private\n Async\n getElementWithWritePermission\n \n \n Async\n updateElementContent\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(userId: EntityId, contentElementId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contentElementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getElementWithWritePermission\n \n \n \n \n \n \n \n getElementWithWritePermission(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElementContent\n \n \n \n \n \n \n \n updateElementContent(userId: EntityId, elementId: EntityId, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException, forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tSubmissionItem,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoAuthorizableService, ContentElementService } from '../service';\nimport { SubmissionItemService } from '../service/submission-item.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ElementUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly submissionItemService: SubmissionItemService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ElementUc.name);\n\t}\n\n\tasync updateElementContent(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\tcontent: AnyElementContentBody\n\t): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.update(element, content);\n\t\treturn element;\n\t}\n\n\tasync deleteElement(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.delete(element);\n\t}\n\n\tprivate async getElementWithWritePermission(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.elementService.findById(elementId);\n\n\t\tconst parent: AnyBoardDo = await this.elementService.findParentOfId(elementId);\n\n\t\tif (isSubmissionItem(parent)) {\n\t\t\tawait this.checkSubmissionItemWritePermission(userId, parent);\n\t\t} else {\n\t\t\tawait this.checkPermission(userId, element, Action.write);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync createSubmissionItem(\n\t\tuserId: EntityId,\n\t\tcontentElementId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(contentElementId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new UnprocessableEntityException('Cannot create submission-item for non submission-container-element');\n\t\t}\n\n\t\tif (!submissionContainerElement.children.every((child) => isSubmissionItem(child))) {\n\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t'Children of submission-container-element must be of type submission-item'\n\t\t\t);\n\t\t}\n\n\t\tconst userSubmissionExists = submissionContainerElement.children\n\t\t\t.filter(isSubmissionItem)\n\t\t\t.find((item) => item.userId === userId);\n\t\tif (userSubmissionExists) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\t'User is not allowed to have multiple submission-items per submission-container-element'\n\t\t\t);\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read, UserRoleEnum.STUDENT);\n\n\t\tconst submissionItem = await this.submissionItemService.create(userId, submissionContainerElement, { completed });\n\n\t\treturn submissionItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/EncryptionModule.html":{"url":"modules/EncryptionModule.html","title":"module - EncryptionModule","body":"\n \n\n\n\n\n Modules\n EncryptionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_EncryptionModule\n\n\n\ncluster_EncryptionModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nEncryptionModule -->\n\nLoggerModule->EncryptionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/encryption/encryption.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { DefaultEncryptionService, LdapEncryptionService } from './encryption.interface';\nimport { SymetricKeyEncryptionService } from './encryption.service';\n\nfunction encryptionProviderFactory(configService: ConfigService, logger: LegacyLogger, aesKey: string) {\n\tconst key = configService.get(aesKey);\n\treturn new SymetricKeyEncryptionService(logger, key);\n}\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: DefaultEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'AES_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t\t{\n\t\t\tprovide: LdapEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'LDAP_PASSWORD_ENCRYPTION_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t],\n\texports: [DefaultEncryptionService, LdapEncryptionService],\n})\nexport class EncryptionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EncryptionService.html":{"url":"interfaces/EncryptionService.html","title":"interface - EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n encrypt\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n \n \ndecrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n encrypt\n \n \n \n \n \n \nencrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export const DefaultEncryptionService = Symbol('DefaultEncryptionService');\nexport const LdapEncryptionService = Symbol('LdapEncryptionService');\n\nexport interface EncryptionService {\n\tencrypt(data: string): string;\n\tdecrypt(data: string): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/EntityNotFoundError.html":{"url":"classes/EntityNotFoundError.html","title":"class - EntityNotFoundError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n EntityNotFoundError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/entity-not-found.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(entityName: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/entity-not-found.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class EntityNotFoundError extends BusinessError {\n\tconstructor(readonly entityName: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'ENTITY_NOT_FOUND',\n\t\t\t\ttitle: 'Entity Not Found',\n\t\t\t\tdefaultMessage: `${entityName} entity not found.`,\n\t\t\t},\n\t\t\tHttpStatus.NOT_FOUND,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EntityWithSchool.html":{"url":"interfaces/EntityWithSchool.html","title":"interface - EntityWithSchool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EntityWithSchool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorLoggable.html":{"url":"classes/ErrorLoggable.html","title":"class - ErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/error.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n getLogMessage\n \n \n Private\n getPropertyValue\n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: Error)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n Error\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n \n \n Default value : getMetadataStorage()\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n \n \n \n \n \n createLogMessageForValidationErrors(error: ApiValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n ApiValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { validationErrors: any; type: string; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getPropertyValue\n \n \n \n \n \n \n \n getPropertyValue(e: ValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n ValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n \n \n \n isPropertyPrivacyProtected(target: Record, property: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n Record\n \n\n \n No\n \n\n\n \n \n property\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ApiValidationError } from '@shared/common';\nimport { getMetadataStorage } from 'class-validator';\nimport { ValidationError } from '@nestjs/common';\nimport { Loggable } from '../../logger/interfaces';\nimport { ErrorLogMessage, ValidationErrorLogMessage } from '../../logger/types';\nimport { ErrorUtils } from '../utils/error.utils';\n\nexport class ErrorLoggable implements Loggable {\n\tconstructor(private readonly error: Error) {}\n\n\tprivate readonly classValidatorMetadataStorage = getMetadataStorage();\n\n\tgetLogMessage(): ErrorLogMessage | ValidationErrorLogMessage {\n\t\tlet logMessage: ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\terror: this.error,\n\t\t\ttype: '',\n\t\t};\n\n\t\tif (this.error instanceof ApiValidationError) {\n\t\t\tlogMessage = this.createLogMessageForValidationErrors(this.error);\n\t\t} else if (ErrorUtils.isFeathersError(this.error)) {\n\t\t\tlogMessage.type = 'Feathers Error';\n\t\t} else if (ErrorUtils.isBusinessError(this.error)) {\n\t\t\tlogMessage.type = 'Business Error';\n\t\t} else if (ErrorUtils.isNestHttpException(this.error)) {\n\t\t\tlogMessage.type = 'Technical Error';\n\t\t} else {\n\t\t\tlogMessage.type = 'Unhandled or Unknown Error';\n\t\t}\n\n\t\treturn logMessage;\n\t}\n\n\tprivate createLogMessageForValidationErrors(error: ApiValidationError) {\n\t\tconst errorMessages = error.validationErrors.map((e) => {\n\t\t\tconst value = this.getPropertyValue(e);\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\tconst message = `Wrong property value for '${e.property}' got '${value}' : ${JSON.stringify(e.constraints)}`;\n\t\t\treturn message;\n\t\t});\n\t\treturn {\n\t\t\tvalidationErrors: errorMessages,\n\t\t\ttype: 'API Validation Error',\n\t\t};\n\t}\n\n\tprivate getPropertyValue(e: ValidationError): unknown {\n\t\t// we can only log a value if we can decide if it is privacy protected\n\t\t// that has to be done using the target metadata of class-validator (see @PrivacyProtect decorator)\n\t\tif (e.target && !this.isPropertyPrivacyProtected(e.target, e.property)) {\n\t\t\treturn e.value;\n\t\t}\n\t\treturn '######';\n\t}\n\n\tprivate isPropertyPrivacyProtected(target: Record, property: string): boolean {\n\t\tconst metadatas = this.classValidatorMetadataStorage.getTargetValidationMetadatas(\n\t\t\ttarget.constructor,\n\t\t\t'',\n\t\t\ttrue,\n\t\t\ttrue\n\t\t);\n\n\t\tconst privacyProtected = metadatas.some(\n\t\t\t(validationMetadata) =>\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\tvalidationMetadata.propertyName === property && validationMetadata.context?.privacyProtected\n\t\t);\n\n\t\treturn privacyProtected;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ErrorLogger.html":{"url":"injectables/ErrorLogger.html","title":"injectable - ErrorLogger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ErrorLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/error-logger.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n alert\n \n \n crit\n \n \n emerg\n \n \n error\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/error-logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n alert\n \n \n \n \n \n \nalert(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n crit\n \n \n \n \n \n \ncrit(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n emerg\n \n \n \n \n \n \nemerg(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n// ErrorLogger may only be used in the ErrorModule. Do not use it in other modules!\n@Injectable()\nexport class ErrorLogger {\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\temerg(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.emerg(message);\n\t}\n\n\talert(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.alert(message);\n\t}\n\n\tcrit(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.crit(message);\n\t}\n\n\terror(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.error(message);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorMapper.html":{"url":"classes/ErrorMapper.html","title":"class - ErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n \n \n \n mapRpcErrorResponseToDomainError(errorObj: IError)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/error.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorObj\n \n IError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BadRequestException | ForbiddenException | InternalServerErrorException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError } from '@infra/rabbitmq';\nimport { BadRequestException, ForbiddenException, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\n\nexport class ErrorMapper {\n\tstatic mapRpcErrorResponseToDomainError(\n\t\terrorObj: IError\n\t): BadRequestException | ForbiddenException | InternalServerErrorException {\n\t\tlet error: BadRequestException | ForbiddenException | InternalServerErrorException;\n\t\tif (errorObj.status === 400) {\n\t\t\terror = new BadRequestException(errorObj.message);\n\t\t} else if (errorObj.status === 403) {\n\t\t\terror = new ForbiddenException(errorObj.message);\n\t\t} else if (errorObj.status === 500) {\n\t\t\terror = new InternalServerErrorException(errorObj.message);\n\t\t} else {\n\t\t\terror = new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(errorObj));\n\t\t}\n\n\t\treturn error;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ErrorModule.html":{"url":"modules/ErrorModule.html","title":"module - ErrorModule","body":"\n \n\n\n\n\n Modules\n ErrorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ErrorModule\n\n\n\ncluster_ErrorModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nErrorModule\n\nErrorModule\n\nErrorModule -->\n\nLoggerModule->ErrorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/error/error.module.ts\n \n\n\n\n \n Description\n \n \n Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_FILTER } from '@nestjs/core';\nimport { LoggerModule } from '../logger';\nimport { GlobalErrorFilter } from './filter/global-error.filter';\n\n/**\n * Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n */\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_FILTER,\n\t\t\tuseClass: GlobalErrorFilter,\n\t\t},\n\t],\n})\nexport class ErrorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorResponse.html":{"url":"classes/ErrorResponse.html","title":"class - ErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for errors.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(type: string, title: string, message: string, code: number, details?: Record)\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n code\n \n \n number\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:25\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:20\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:15\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:10\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\n\n/**\n * HTTP response definition for errors.\n */\nexport class ErrorResponse {\n\t/**\n\t * Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\t */\n\treadonly type: string;\n\n\t/**\n\t * Description about the type, unique by type, format: Sentence case\n\t */\n\treadonly title: string;\n\n\t/**\n\t * Additional custom information about the error\n\t */\n\treadonly message: string;\n\n\t/**\n\t * Must match HTTP error code\n\t */\n\treadonly code: number;\n\n\t/**\n\t * Additional custom details about the error\n\t */\n\treadonly details?: Record;\n\n\tconstructor(\n\t\ttype: string,\n\t\ttitle: string,\n\t\tmessage: string,\n\t\tcode: number = HttpStatus.CONFLICT,\n\t\tdetails?: Record\n\t) {\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = message;\n\t\tthis.code = code;\n\t\tthis.details = details;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ErrorType.html":{"url":"interfaces/ErrorType.html","title":"interface - ErrorType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ErrorType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/error-type.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n defaultMessage\n \n \n \n \n title\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n defaultMessage\n \n \n \n \n \n \n \n \n defaultMessage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ErrorType {\n\treadonly type: string;\n\treadonly title: string;\n\treadonly defaultMessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorUtils.html":{"url":"classes/ErrorUtils.html","title":"class - ErrorUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/utils/error.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n Static\n isBusinessError\n \n \n Static\n isFeathersError\n \n \n Static\n isNestHttpException\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n \n \n \n \n \n createHttpExceptionOptions(error, description?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : HttpExceptionOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isBusinessError\n \n \n \n \n \n \n \n isBusinessError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : BusinessError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isFeathersError\n \n \n \n \n \n \n \n isFeathersError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isNestHttpException\n \n \n \n \n \n \n \n isNestHttpException(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : HttpException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpExceptionOptions } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { FeathersError } from '../interface';\n\nexport class ErrorUtils {\n\tstatic isFeathersError(error: unknown): error is FeathersError {\n\t\tlet isFeathersError = false;\n\n\t\tif (error instanceof Error && 'type' in error) {\n\t\t\tisFeathersError = (error as FeathersError)?.type === 'FeathersError';\n\t\t}\n\n\t\treturn isFeathersError;\n\t}\n\n\tstatic isBusinessError(error: unknown): error is BusinessError {\n\t\treturn error instanceof BusinessError;\n\t}\n\n\tstatic isNestHttpException(error: unknown): error is HttpException {\n\t\treturn error instanceof HttpException;\n\t}\n\n\tstatic createHttpExceptionOptions(error: unknown, description?: string): HttpExceptionOptions {\n\t\tlet causeError: Error | undefined;\n\n\t\tif (error instanceof Error) {\n\t\t\tcauseError = error;\n\t\t} else {\n\t\t\tcauseError = error ? new Error(JSON.stringify(error)) : undefined;\n\t\t}\n\n\t\treturn { cause: causeError, description };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/EtherpadService.html":{"url":"injectables/EtherpadService.html","title":"injectable - EtherpadService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n EtherpadService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/etherpad.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n \n \n \n createEtherpad(userId: EntityId, courseId: string, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FeathersServiceProvider } from '@infra/feathers';\nimport { LegacyLogger } from '@src/core/logger';\n\nexport type PadResponse = { data: { padID: string } };\n\n@Injectable()\nexport class EtherpadService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createEtherpad(userId: EntityId, courseId: string, title: string): Promise {\n\t\tconst data = {\n\t\t\tcourseId,\n\t\t\tpadName: title,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/etherpad/pads');\n\t\t\tconst pad = (await service.create(data, { account: { userId } })) as PadResponse;\n\t\t\treturn pad.data.padID;\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Etherpad', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupDto.html":{"url":"classes/ExternalGroupDto.html","title":"class - ExternalGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n from\n \n \n name\n \n \n Optional\n otherUsers\n \n \n type\n \n \n Optional\n until\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n otherUsers\n \n \n \n \n \n \n Type : ExternalGroupUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : ExternalGroupUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { ExternalGroupUserDto } from './external-group-user.dto';\n\nexport class ExternalGroupDto {\n\texternalId: string;\n\n\tname: string;\n\n\tuser: ExternalGroupUserDto;\n\n\totherUsers?: ExternalGroupUserDto[];\n\n\tfrom?: Date;\n\n\tuntil?: Date;\n\n\ttype: GroupTypes;\n\n\tconstructor(props: ExternalGroupDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.user = props.user;\n\t\tthis.otherUsers = props.otherUsers;\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupUserDto.html":{"url":"classes/ExternalGroupUserDto.html","title":"class - ExternalGroupUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalUserId\n \n \n roleName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalGroupUserDto {\n\texternalUserId: string;\n\n\troleName: RoleName;\n\n\tconstructor(props: ExternalGroupUserDto) {\n\t\tthis.externalUserId = props.externalUserId;\n\t\tthis.roleName = props.roleName;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolDto.html":{"url":"classes/ExternalSchoolDto.html","title":"class - ExternalSchoolDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-school.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n location\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSchoolDto {\n\texternalId: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tlocation?: string;\n\n\tconstructor(props: ExternalSchoolDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolNumberMissingLoggableException.html":{"url":"classes/ExternalSchoolNumberMissingLoggableException.html","title":"class - ExternalSchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalSchoolId: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalSchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalSchoolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The external system did not provide a official school number for the school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalSchoolId: this.externalSchoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSource.html":{"url":"classes/ExternalSource.html","title":"class - ExternalSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/external-source.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSource)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSource\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSource {\n\texternalId: string;\n\n\tsystemId: string;\n\n\tconstructor(props: ExternalSource) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceEntity.html":{"url":"classes/ExternalSourceEntity.html","title":"class - ExternalSourceEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalSourceEntityProps.html":{"url":"interfaces/ExternalSourceEntityProps.html","title":"interface - ExternalSourceEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalSourceEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n system\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceResponse.html":{"url":"classes/ExternalSourceResponse.html","title":"class - ExternalSourceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/external-source.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalSourceResponse {\n\t@ApiProperty()\n\texternalId: string;\n\n\t@ApiProperty()\n\tsystemId: string;\n\n\tconstructor(props: ExternalSourceResponse) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalTool.html":{"url":"classes/ExternalTool.html","title":"class - ExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n isHidden\n \n \n Optional\n logo\n \n \n Optional\n logoUrl\n \n \n name\n \n \n openNewTab\n \n \n Optional\n parameters\n \n \n Optional\n restrictToContexts\n \n \n Optional\n url\n \n \n version\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n Static\n isBasicConfig\n \n \n Static\n isLti11Config\n \n \n Static\n isOauth2Config\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:51\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameter[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:76\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n isBasicConfig\n \n \n \n \n \n \n \n isBasicConfig(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isLti11Config\n \n \n \n \n \n \n \n isLti11Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isOauth2Config\n \n \n \n \n \n \n \n isOauth2Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tif (ExternalTool.isBasicConfig(props.config)) {\n\t\t\tthis.config = new BasicToolConfig(props.config);\n\t\t} else if (ExternalTool.isOauth2Config(props.config)) {\n\t\t\tthis.config = new Oauth2ToolConfig(props.config);\n\t\t} else if (ExternalTool.isLti11Config(props.config)) {\n\t\t\tthis.config = new Lti11ToolConfig(props.config);\n\t\t} else {\n\t\t\tthrow new InternalServerErrorException(`Unknown tool config`);\n\t\t}\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig {\n\t\treturn ToolConfigType.BASIC === config.type;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfig.html":{"url":"classes/ExternalToolConfig.html","title":"class - ExternalToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\n\nexport abstract class ExternalToolConfig {\n\ttype: ToolConfigType;\n\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfig) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigCreateParams.html":{"url":"classes/ExternalToolConfigCreateParams.html","title":"class - ExternalToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigCreateParams {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigEntity.html":{"url":"classes/ExternalToolConfigEntity.html","title":"class - ExternalToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ abstract: true, discriminatorColumn: 'type' })\nexport abstract class ExternalToolConfigEntity {\n\t@Enum()\n\ttype: ToolConfigType;\n\n\t@Property()\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfigEntity) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigResponse.html":{"url":"classes/ExternalToolConfigResponse.html","title":"class - ExternalToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigResponse {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationService.html":{"url":"injectables/ExternalToolConfigurationService.html","title":"injectable - ExternalToolConfigurationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n Public\n filterForAvailableTools\n \n \n Public\n filterForContextRestrictions\n \n \n Public\n filterParametersForScope\n \n \n Public\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n \n \n \n \n \n filterForAvailableExternalTools(externalTools: ExternalTool[], availableSchoolExternalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n availableSchoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n \n \n \n \n \n filterForAvailableSchoolExternalTools(schoolExternalTools: SchoolExternalTool[], contextExternalToolsInUse: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n contextExternalToolsInUse\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableTools\n \n \n \n \n \n \n \n filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n Page\n \n\n \n No\n \n\n\n \n \n toolIdsInUse\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForContextRestrictions\n \n \n \n \n \n \n \n filterForContextRestrictions(availableTools: ContextExternalToolTemplateInfo[], contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableTools\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterParametersForScope\n \n \n \n \n \n \n \n filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n scope\n \n CustomParameterScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:100\n \n \n\n\n \n \n\n \n Returns : ToolContextType[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameter } from '../../common/domain';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc/dto';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ExternalToolConfigurationService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[]): ExternalTool[] {\n\t\tconst visibleTools: ExternalTool[] = externalTools.data.filter((tool: ExternalTool): boolean => !tool.isHidden);\n\n\t\tconst availableTools: ExternalTool[] = visibleTools.filter(\n\t\t\t(tool: ExternalTool): boolean => !!tool.id && !toolIdsInUse.includes(tool.id)\n\t\t);\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForAvailableSchoolExternalTools(\n\t\tschoolExternalTools: SchoolExternalTool[],\n\t\tcontextExternalToolsInUse: ContextExternalTool[]\n\t): SchoolExternalTool[] {\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] = schoolExternalTools.filter(\n\t\t\t(schoolExternalTool: SchoolExternalTool): boolean => {\n\t\t\t\tif (this.toolFeatures.contextConfigurationEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasContextExternalTool: boolean = contextExternalToolsInUse.some(\n\t\t\t\t\t(contextExternalTool: ContextExternalTool) =>\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId === schoolExternalTool.id\n\t\t\t\t);\n\n\t\t\t\treturn !hasContextExternalTool;\n\t\t\t}\n\t\t);\n\n\t\treturn availableSchoolExternalTools;\n\t}\n\n\tpublic filterForAvailableExternalTools(\n\t\texternalTools: ExternalTool[],\n\t\tavailableSchoolExternalTools: SchoolExternalTool[]\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst toolsWithSchoolTool: (ContextExternalToolTemplateInfo | null)[] = availableSchoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool) => {\n\t\t\t\tconst externalTool: ExternalTool | undefined = externalTools.find(\n\t\t\t\t\t(tool: ExternalTool) => schoolExternalTool.toolId === tool.id\n\t\t\t\t);\n\n\t\t\t\tif (!externalTool) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\texternalTool,\n\t\t\t\t\tschoolExternalTool,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tconst unusedTools: ContextExternalToolTemplateInfo[] = toolsWithSchoolTool.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !!toolRef\n\t\t);\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] = unusedTools.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !toolRef.externalTool.isHidden\n\t\t);\n\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForContextRestrictions(\n\t\tavailableTools: ContextExternalToolTemplateInfo[],\n\t\tcontextType: ToolContextType\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst availableToolsForContext: ContextExternalToolTemplateInfo[] = availableTools.filter(\n\t\t\t(availableTool) => !this.commonToolService.isContextRestricted(availableTool.externalTool, contextType)\n\t\t);\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope) {\n\t\tif (externalTool.parameters) {\n\t\t\texternalTool.parameters = externalTool.parameters.filter(\n\t\t\t\t(parameter: CustomParameter) => parameter.scope === scope\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic getToolContextTypes(): ToolContextType[] {\n\t\tconst toolContextTypes: ToolContextType[] = Object.values(ToolContextType);\n\n\t\treturn toolContextTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationUc.html":{"url":"injectables/ExternalToolConfigurationUc.html","title":"injectable - ExternalToolConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper, externalToolConfigurationService: ExternalToolConfigurationService, externalToolLogoService: ExternalToolLogoService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n externalToolConfigurationService\n \n \n ExternalToolConfigurationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, tools: ContextExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:194\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(userId: EntityId, schoolId: EntityId, contextId: EntityId, contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n \n \n \n \n \n getTemplateForContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:153\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n \n \n \n \n \n getTemplateForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { User } from '@shared/domain/entity';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolConfigurationService, ExternalToolLogoService, ExternalToolService } from '../service';\nimport { ContextExternalToolTemplateInfo } from './dto';\n\n@Injectable()\nexport class ExternalToolConfigurationUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\t@Inject(forwardRef(() => ToolPermissionHelper))\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly externalToolConfigurationService: ExternalToolConfigurationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tpublic async getToolContextTypes(userId: EntityId): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.TOOL_ADMIN]);\n\n\t\tconst toolContextTypes: ToolContextType[] = this.externalToolConfigurationService.getToolContextTypes();\n\n\t\treturn toolContextTypes;\n\t}\n\n\tpublic async getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst externalTools: Page = await this.externalToolService.findExternalTools({});\n\n\t\tconst schoolExternalToolsInUse: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools(\n\t\t\t{\n\t\t\t\tschoolId,\n\t\t\t}\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.ensureSchoolPermissions(userId, schoolExternalToolsInUse, context);\n\n\t\tconst toolIdsInUse: EntityId[] = schoolExternalToolsInUse.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): EntityId => schoolExternalTool.toolId\n\t\t);\n\n\t\tconst availableTools: ExternalTool[] = this.externalToolConfigurationService.filterForAvailableTools(\n\t\t\texternalTools,\n\t\t\ttoolIdsInUse\n\t\t);\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\t\t});\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\texternalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\texternalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableTools;\n\t}\n\n\tpublic async getAvailableToolsForContext(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextId: EntityId,\n\t\tcontextType: ToolContextType\n\t): Promise {\n\t\tconst [externalTools, schoolExternalTools, contextExternalToolsInUse]: [\n\t\t\tPage,\n\t\t\tSchoolExternalTool[],\n\t\t\tContextExternalTool[]\n\t\t] = await Promise.all([\n\t\t\tthis.externalToolService.findExternalTools({}),\n\t\t\tthis.schoolExternalToolService.findSchoolExternalTools({\n\t\t\t\tschoolId,\n\t\t\t}),\n\t\t\tthis.contextExternalToolService.findContextExternalTools({\n\t\t\t\tcontext: { id: contextId, type: contextType },\n\t\t\t}),\n\t\t]);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.ensureContextPermissions(userId, contextExternalToolsInUse, context);\n\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableSchoolExternalTools(\n\t\t\t\tschoolExternalTools,\n\t\t\t\tcontextExternalToolsInUse\n\t\t\t);\n\n\t\tlet availableToolsForContext: ContextExternalToolTemplateInfo[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableExternalTools(\n\t\t\t\texternalTools.data,\n\t\t\t\tavailableSchoolExternalTools\n\t\t\t);\n\n\t\tavailableToolsForContext = this.externalToolConfigurationService.filterForContextRestrictions(\n\t\t\tavailableToolsForContext,\n\t\t\tcontextType\n\t\t);\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(\n\t\t\t\ttoolTemplateInfo.externalTool,\n\t\t\t\tCustomParameterScope.CONTEXT\n\t\t\t);\n\t\t});\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\ttoolTemplateInfo.externalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\ttoolTemplateInfo.externalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic async getTemplateForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\n\t\treturn externalTool;\n\t}\n\n\tpublic async getTemplateForContextExternalTool(\n\t\tuserId: EntityId,\n\t\tcontextExternalToolId: EntityId\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.CONTEXT);\n\n\t\treturn {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t};\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: ContextExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureContextPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolContentBody.html":{"url":"classes/ExternalToolContentBody.html","title":"class - ExternalToolContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:122\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolCreateParams.html":{"url":"classes/ExternalToolCreateParams.html","title":"class - ExternalToolCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigCreateParams,\n\tOauth2ToolConfigCreateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigCreateParams, Oauth2ToolConfigCreateParams, BasicToolConfigParams)\nexport class ExternalToolCreateParams {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigCreateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigCreateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigCreateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigCreateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElement.html":{"url":"classes/ExternalToolElement.html","title":"class - ExternalToolElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n\n \n \n getcontextExternalToolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:5\n \n \n\n \n \n setcontextExternalToolId(value: string | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContent.html":{"url":"classes/ExternalToolElementContent.html","title":"class - ExternalToolElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: String, required: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContentBody.html":{"url":"classes/ExternalToolElementContentBody.html","title":"class - ExternalToolElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:131\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:127\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolElementNodeEntity.html":{"url":"entities/ExternalToolElementNodeEntity.html","title":"entity - ExternalToolElementNodeEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolElementNodeEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n \n \n Type : ContextExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementNodeEntityProps.html":{"url":"interfaces/ExternalToolElementNodeEntityProps.html","title":"interface - ExternalToolElementNodeEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementNodeEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalTool\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalTool\n \n \n \n \n \n \n \n \n contextExternalTool: ContextExternalToolEntity\n\n \n \n\n\n \n \n Type : ContextExternalToolEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementProps.html":{"url":"interfaces/ExternalToolElementProps.html","title":"interface - ExternalToolElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalToolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n \n \n contextExternalToolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponse.html":{"url":"classes/ExternalToolElementResponse.html","title":"class - ExternalToolElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponseMapper.html":{"url":"classes/ExternalToolElementResponseMapper.html","title":"class - ExternalToolElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : ExternalToolElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : ExternalToolElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, ExternalToolElement } from '@shared/domain/domainobject';\nimport { ExternalToolElementContent, ExternalToolElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class ExternalToolElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: ExternalToolElementResponseMapper;\n\n\tpublic static getInstance(): ExternalToolElementResponseMapper {\n\t\tif (!ExternalToolElementResponseMapper.instance) {\n\t\t\tExternalToolElementResponseMapper.instance = new ExternalToolElementResponseMapper();\n\t\t}\n\n\t\treturn ExternalToolElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: ExternalToolElement): ExternalToolElementResponse {\n\t\tconst result = new ExternalToolElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.EXTERNAL_TOOL,\n\t\t\tcontent: new ExternalToolElementContent({ contextExternalToolId: element.contextExternalToolId ?? null }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: ExternalToolElement): boolean {\n\t\treturn element instanceof ExternalToolElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolEntity.html":{"url":"entities/ExternalToolEntity.html","title":"entity - ExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n isHidden\n \n \n \n Optional\n logoBase64\n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n openNewTab\n \n \n \n Optional\n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoBase64\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Unique()@Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Property, Unique } from '@mikro-orm/core';\n\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntity } from './custom-parameter';\nimport { BasicToolConfigEntity, Lti11ToolConfigEntity, Oauth2ToolConfigEntity } from './config';\nimport { ToolContextType } from '../../common/enum';\n\nexport type IExternalToolProperties = Readonly>;\n\n@Entity({ tableName: 'external-tools' })\nexport class ExternalToolEntity extends BaseEntityWithTimestamps {\n\t@Unique()\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\tlogoUrl?: string;\n\n\t@Property({ nullable: true })\n\tlogoBase64?: string;\n\n\t@Embedded(() => [BasicToolConfigEntity, Oauth2ToolConfigEntity, Lti11ToolConfigEntity])\n\tconfig: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\n\t@Embedded(() => CustomParameterEntity, { array: true, nullable: true })\n\tparameters?: CustomParameterEntity[];\n\n\t@Property()\n\tisHidden: boolean;\n\n\t@Property()\n\topenNewTab: boolean;\n\n\t@Property()\n\tversion: number;\n\n\t@Property({ nullable: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: IExternalToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logoBase64 = props.logoBase64;\n\t\tthis.config = props.config;\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolEntityFactory.html":{"url":"classes/ExternalToolEntityFactory.html","title":"class - ExternalToolEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/external-tool-entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withBasicConfig\n \n \n withLti11Config\n \n \n withName\n \n \n withOauth2Config\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n withBasicConfig\n \n \n \n \n \n \nwithBasicConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tIExternalToolProperties,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class ExternalToolEntityFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBasicConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauth2Config(clientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Oauth2ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tclientId,\n\t\t\t\tskipConsent: false,\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Lti11ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tkey: 'key',\n\t\t\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\t\t\tresource_link_id: 'resource_link_id',\n\t\t\t\tsecret: 'secret',\n\t\t\t\tprivacy_permission: LtiPrivacyPermission.ANONYMOUS,\n\t\t\t\tlaunch_presentation_locale: 'de-DE',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogoBase64:\n\t\t\t\t'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const customParameterEntityFactory = BaseFactory.define(\n\tCustomParameterEntity,\n\t({ sequence }) => {\n\t\treturn {\n\t\t\tname: `name${sequence}`,\n\t\t\tdisplayName: `User Friendly Name ${sequence}`,\n\t\t\tdescription: 'This is a mock parameter.',\n\t\t\tdefault: 'default',\n\t\t\tlocation: CustomParameterLocation.PATH,\n\t\t\tscope: CustomParameterScope.SCHOOL,\n\t\t\ttype: CustomParameterType.STRING,\n\t\t\tisOptional: false,\n\t\t};\n\t}\n);\n\nexport const externalToolEntityFactory = ExternalToolEntityFactory.define(\n\tExternalToolEntity,\n\t({ sequence }): IExternalToolProperties => {\n\t\treturn {\n\t\t\tname: `external-tool-${sequence}`,\n\t\t\turl: '',\n\t\t\tlogoUrl: 'https://logourl.com',\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t\tparameters: [customParameterEntityFactory.build()],\n\t\t\tisHidden: false,\n\t\t\topenNewTab: true,\n\t\t\tversion: 1,\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolFactory.html":{"url":"classes/ExternalToolFactory.html","title":"class - ExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withCustomParameters\n \n \n withLti11Config\n \n \n withOauth2Config\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n withCustomParameters\n \n \n \n \n \n \nwithCustomParameters(number: number, customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n\n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolIdParams.html":{"url":"classes/ExternalToolIdParams.html","title":"class - ExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\texternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogo.html":{"url":"classes/ExternalToolLogo.html","title":"class - ExternalToolLogo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentType\n \n \n logo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolLogo: ExternalToolLogo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolLogo\n \n \n ExternalToolLogo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n Type : Buffer\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalToolLogo {\n\tlogo: Buffer;\n\n\tcontentType: string;\n\n\tconstructor(externalToolLogo: ExternalToolLogo) {\n\t\tthis.logo = externalToolLogo.logo;\n\t\tthis.contentType = externalToolLogo.contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchFailedLoggableException.html":{"url":"classes/ExternalToolLogoFetchFailedLoggableException.html","title":"class - ExternalToolLogoFetchFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string, httpStatus?: HttpStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n httpStatus\n \n \n HttpStatus\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { BusinessError } from '@shared/common';\n\nexport class ExternalToolLogoFetchFailedLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly logoUrl: string, private readonly httpStatus?: HttpStatus) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\t\ttitle: 'External tool logo fetch failed.',\n\t\t\t\tdefaultMessage: 'External tool logo could not been fetched.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\tmessage: 'External tool logo could not been fetched',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t\thttpStatus: this.httpStatus,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchedLoggable.html":{"url":"classes/ExternalToolLogoFetchedLoggable.html","title":"class - ExternalToolLogoFetchedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoFetchedLoggable implements Loggable {\n\tconstructor(private readonly logoUrl: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCHED',\n\t\t\tmessage: 'External tool logo was fetched',\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoNotFoundLoggableException.html":{"url":"classes/ExternalToolLogoNotFoundLoggableException.html","title":"class - ExternalToolLogoNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly externalToolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_NOT_FOUND',\n\t\t\tmessage: 'External tool logo not found',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoService.html":{"url":"classes/ExternalToolLogoService.html","title":"class - ExternalToolLogoService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildLogoUrl\n \n \n Private\n detectContentTypeOrThrow\n \n \n Private\n Async\n fetchBase64Logo\n \n \n Async\n fetchLogo\n \n \n Async\n getExternalToolBinaryLogo\n \n \n validateLogoSize\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, logger: Logger, httpService: HttpService, externalToolService: ExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildLogoUrl\n \n \n \n \n \n \nbuildLogoUrl(template: string, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n template\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n detectContentTypeOrThrow\n \n \n \n \n \n \n \n detectContentTypeOrThrow(imageBuffer: Buffer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n imageBuffer\n \n Buffer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n fetchBase64Logo\n \n \n \n \n \n \n \n fetchBase64Logo(logoUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n fetchLogo\n \n \n \n \n \n \n \n fetchLogo(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolBinaryLogo\n \n \n \n \n \n \n \n getExternalToolBinaryLogo(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validateLogoSize\n \n \n \n \n \n \nvalidateLogoSize(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { HttpException, Inject } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AxiosResponse } from 'axios';\nimport { lastValueFrom } from 'rxjs';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\nimport {\n\tExternalToolLogoFetchedLoggable,\n\tExternalToolLogoFetchFailedLoggableException,\n\tExternalToolLogoNotFoundLoggableException,\n\tExternalToolLogoSizeExceededLoggableException,\n\tExternalToolLogoWrongFileTypeLoggableException,\n} from '../loggable';\nimport { ExternalToolService } from './external-tool.service';\n\nconst contentTypeDetector: Record = {\n\tffd8ffe0: 'image/jpeg',\n\tffd8ffe1: 'image/jpeg',\n\t'89504e47': 'image/png',\n\t'47494638': 'image/gif',\n};\n\nexport class ExternalToolLogoService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly externalToolService: ExternalToolService\n\t) {}\n\n\tbuildLogoUrl(template: string, externalTool: ExternalTool): string | undefined {\n\t\tconst { logo, id } = externalTool;\n\t\tconst backendUrl = this.toolFeatures.backEndUrl;\n\n\t\tif (logo) {\n\t\t\tconst filledTemplate = template.replace(/\\{id\\}/g, id || '');\n\t\t\treturn `${backendUrl}${filledTemplate}`;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tvalidateLogoSize(externalTool: Partial): void {\n\t\tif (!externalTool.logo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buffer: Buffer = Buffer.from(externalTool.logo, 'base64');\n\n\t\tif (buffer.length > this.toolFeatures.maxExternalToolLogoSizeInBytes) {\n\t\t\tthrow new ExternalToolLogoSizeExceededLoggableException(\n\t\t\t\texternalTool.id,\n\t\t\t\tthis.toolFeatures.maxExternalToolLogoSizeInBytes\n\t\t\t);\n\t\t}\n\t}\n\n\tasync fetchLogo(externalTool: Partial): Promise {\n\t\tif (externalTool.logoUrl) {\n\t\t\tconst base64Logo: string = await this.fetchBase64Logo(externalTool.logoUrl);\n\n\t\t\tif (base64Logo) {\n\t\t\t\treturn base64Logo;\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate async fetchBase64Logo(logoUrl: string): Promise {\n\t\ttry {\n\t\t\tconst response: AxiosResponse = await lastValueFrom(\n\t\t\t\tthis.httpService.get(logoUrl, { responseType: 'arraybuffer' })\n\t\t\t);\n\t\t\tthis.logger.info(new ExternalToolLogoFetchedLoggable(logoUrl));\n\n\t\t\tconst buffer: Buffer = Buffer.from(response.data);\n\t\t\tthis.detectContentTypeOrThrow(buffer);\n\n\t\t\tconst logoBase64: string = buffer.toString('base64');\n\n\t\t\treturn logoBase64;\n\t\t} catch (error) {\n\t\t\tif (error instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t\t} else if (error instanceof HttpException) {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl, error.getStatus());\n\t\t\t} else {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync getExternalToolBinaryLogo(toolId: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\n\t\tif (!tool.logo) {\n\t\t\tthrow new ExternalToolLogoNotFoundLoggableException(toolId);\n\t\t}\n\n\t\tconst logoBinaryData: Buffer = Buffer.from(tool.logo, 'base64');\n\n\t\tconst externalToolLogo: ExternalToolLogo = new ExternalToolLogo({\n\t\t\tcontentType: this.detectContentTypeOrThrow(logoBinaryData),\n\t\t\tlogo: logoBinaryData,\n\t\t});\n\n\t\treturn externalToolLogo;\n\t}\n\n\tprivate detectContentTypeOrThrow(imageBuffer: Buffer): string {\n\t\tconst imageSignature: string = imageBuffer.toString('hex', 0, 4);\n\n\t\tconst contentType: string | ExternalToolLogoWrongFileTypeLoggableException =\n\t\t\tcontentTypeDetector[imageSignature] || new ExternalToolLogoWrongFileTypeLoggableException();\n\n\t\tif (contentType instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t}\n\n\t\treturn contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoSizeExceededLoggableException.html":{"url":"classes/ExternalToolLogoSizeExceededLoggableException.html","title":"class - ExternalToolLogoSizeExceededLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoSizeExceededLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string | undefined, maxExternalToolLogoSizeInBytes: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:20\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoSizeExceededLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalToolId: string | undefined,\n\t\tprivate readonly maxExternalToolLogoSizeInBytes: number\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\t\ttitle: 'External tool logo size exceeded.',\n\t\t\t\tdefaultMessage: 'External tool logo size exceeded.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\tmessage: 'External tool logo size exceeded',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t\tmaxExternalToolLogoSizeInBytes: this.maxExternalToolLogoSizeInBytes,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{"url":"classes/ExternalToolLogoWrongFileTypeLoggableException.html","title":"class - ExternalToolLogoWrongFileTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoWrongFileTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { HttpStatus } from '@nestjs/common';\n\nexport class ExternalToolLogoWrongFileTypeLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\t\ttitle: 'External tool logo wrong file type.',\n\t\t\t\tdefaultMessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\tmessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadata.html":{"url":"classes/ExternalToolMetadata.html","title":"class - ExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadata: ExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n \n ExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ExternalToolMetadata {\n\tschoolExternalToolCount: number;\n\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(externalToolMetadata: ExternalToolMetadata) {\n\t\tthis.schoolExternalToolCount = externalToolMetadata.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataMapper.html":{"url":"classes/ExternalToolMetadataMapper.html","title":"class - ExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n ExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { ExternalToolMetadataResponse } from '../controller/dto';\nimport { ExternalToolMetadata } from '../domain';\n\nexport class ExternalToolMetadataMapper {\n\tstatic mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata): ExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: ExternalToolMetadataResponse = new ExternalToolMetadataResponse({\n\t\t\tschoolExternalToolCount: externalToolMetadata.schoolExternalToolCount,\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\texternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataResponse.html":{"url":"classes/ExternalToolMetadataResponse.html","title":"class - ExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadataResponse\n \n \n ExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../../common/controller/dto';\n\nexport class ExternalToolMetadataResponse {\n\t@ApiProperty()\n\tschoolExternalToolCount: number;\n\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse) {\n\t\tthis.schoolExternalToolCount = externalToolMetadataResponse.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolMetadataService.html":{"url":"injectables/ExternalToolMetadataService.html","title":"injectable - ExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolToolRepo: SchoolExternalToolRepo, contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class ExternalToolMetadataService {\n\tconstructor(\n\t\tprivate readonly schoolToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextToolRepo: ContextExternalToolRepo\n\t) {}\n\n\tasync getMetadata(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolToolRepo.findByExternalToolId(toolId);\n\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\t\tif (schoolExternalTools.length >= 1) {\n\t\t\tawait Promise.all(\n\t\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tschoolExternalToolIds\n\t\t\t\t\t);\n\t\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tconst externalToolMetadata: ExternalToolMetadata = new ExternalToolMetadata({\n\t\t\tschoolExternalToolCount: schoolExternalTools.length,\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn externalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExternalToolModule.html":{"url":"modules/ExternalToolModule.html","title":"module - ExternalToolModule","body":"\n \n\n\n\n\n Modules\n ExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ExternalToolModule\n\n\n\ncluster_ExternalToolModule_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\nExternalToolMetadataService \n\nExternalToolMetadataService \n\nExternalToolMetadataService -->\n\nExternalToolModule->ExternalToolMetadataService \n\n\n\n\n\nExternalToolService \n\nExternalToolService \n\nExternalToolService -->\n\nExternalToolModule->ExternalToolService \n\n\n\n\n\nExternalToolValidationService \n\nExternalToolValidationService \n\nExternalToolValidationService -->\n\nExternalToolModule->ExternalToolValidationService \n\n\n\n\n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService -->\n\nExternalToolModule->ExternalToolVersionIncrementService \n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nExternalToolModule -->\n\nExternalToolConfigurationService->ExternalToolModule\n\n\n\n\n\nExternalToolMetadataService\n\nExternalToolMetadataService\n\nExternalToolModule -->\n\nExternalToolMetadataService->ExternalToolModule\n\n\n\n\n\nExternalToolParameterValidationService\n\nExternalToolParameterValidationService\n\nExternalToolModule -->\n\nExternalToolParameterValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolRepo\n\nExternalToolRepo\n\nExternalToolModule -->\n\nExternalToolRepo->ExternalToolModule\n\n\n\n\n\nExternalToolService\n\nExternalToolService\n\nExternalToolModule -->\n\nExternalToolService->ExternalToolModule\n\n\n\n\n\nExternalToolServiceMapper\n\nExternalToolServiceMapper\n\nExternalToolModule -->\n\nExternalToolServiceMapper->ExternalToolModule\n\n\n\n\n\nExternalToolValidationService\n\nExternalToolValidationService\n\nExternalToolModule -->\n\nExternalToolValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolVersionIncrementService\n\nExternalToolVersionIncrementService\n\nExternalToolModule -->\n\nExternalToolVersionIncrementService->ExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/external-tool/external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolParameterValidationService\n \n \n ExternalToolRepo\n \n \n ExternalToolService\n \n \n ExternalToolServiceMapper\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n EncryptionModule\n \n \n LoggerModule\n \n \n OauthProviderServiceModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolLogoService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolService\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { EncryptionModule } from '@infra/encryption';\nimport { ExternalToolRepo } from '@shared/repo';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ExternalToolMetadataMapper } from './mapper';\nimport { ToolContextMapper } from '../common/mapper/tool-context.mapper';\nimport {\n\tExternalToolConfigurationService,\n\tExternalToolLogoService,\n\tExternalToolParameterValidationService,\n\tExternalToolService,\n\tExternalToolServiceMapper,\n\tExternalToolValidationService,\n\tExternalToolVersionIncrementService,\n\tExternalToolMetadataService,\n} from './service';\nimport { CommonToolModule } from '../common';\n\n@Module({\n\timports: [CommonToolModule, ToolConfigModule, LoggerModule, OauthProviderServiceModule, EncryptionModule, HttpModule],\n\tproviders: [\n\t\tExternalToolService,\n\t\tExternalToolServiceMapper,\n\t\tExternalToolParameterValidationService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolRepo,\n\t\tExternalToolMetadataService,\n\t\tExternalToolMetadataMapper,\n\t\tToolContextMapper,\n\t],\n\texports: [\n\t\tExternalToolService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolMetadataService,\n\t],\n})\nexport class ExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolParameterValidationService.html":{"url":"injectables/ExternalToolParameterValidationService.html","title":"injectable - ExternalToolParameterValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolParameterValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n Private\n isAutoParameterGlobal\n \n \n Private\n isCustomParameterNameEmpty\n \n \n Private\n isDefaultValueOfValidRegex\n \n \n Private\n isDefaultValueOfValidType\n \n \n Private\n isGlobalParameterValid\n \n \n Private\n Async\n isNameUnique\n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n Private\n isRegexValid\n \n \n Async\n validateCommon\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n \n \n \n \n \n hasDuplicateAttributes(customParameter: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAutoParameterGlobal\n \n \n \n \n \n \n \n isAutoParameterGlobal(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isCustomParameterNameEmpty\n \n \n \n \n \n \n \n isCustomParameterNameEmpty(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidRegex\n \n \n \n \n \n \n \n isDefaultValueOfValidRegex(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidType\n \n \n \n \n \n \n \n isDefaultValueOfValidType(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGlobalParameterValid\n \n \n \n \n \n \n \n isGlobalParameterValid(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isNameUnique\n \n \n \n \n \n \n \n isNameUnique(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n \n \n \n \n \n isRegexCommentMandatoryAndFilled(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexValid\n \n \n \n \n \n \n \n isRegexValid(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCommon\n \n \n \n \n \n \n \n validateCommon(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CustomParameter } from '../../common/domain';\nimport { autoParameters, CustomParameterScope } from '../../common/enum';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolParameterValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validateCommon(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!(await this.isNameUnique(externalTool))) {\n\t\t\tthrow new ValidationError(`tool_name_duplicate: The tool name \"${externalTool.name || ''}\" is already used.`);\n\t\t}\n\n\t\tif (externalTool.parameters) {\n\t\t\tif (this.hasDuplicateAttributes(externalTool.parameters)) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_duplicate: The tool ${externalTool.name || ''} contains multiple of the same custom parameters.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\texternalTool.parameters.forEach((param: CustomParameter) => {\n\t\t\t\tif (this.isCustomParameterNameEmpty(param)) {\n\t\t\t\t\tthrow new ValidationError(`tool_param_name: A custom parameter is missing a name.`);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isGlobalParameterValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_required: The custom parameter \"${param.name}\" is a global parameter and requires a default value.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isAutoParameterGlobal(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_auto_requires_global: The custom parameter \"${param.name}\" with type \"${param.type}\" must have the scope \"global\", since it is automatically filled.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexCommentMandatoryAndFilled(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regexComment: The custom parameter \"${param.name}\" parameter is missing a regex comment.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regex_invalid: The custom Parameter \"${param.name}\" has an invalid regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidType(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_type_mismatch: The default value of the custom parameter \"${param.name}\" should be of type \"${param.type}\".`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidRegex(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_regex: The default value of a the custom parameter \"${param.name}\" does not match its regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate isCustomParameterNameEmpty(param: CustomParameter): boolean {\n\t\treturn !param.name || !param.displayName;\n\t}\n\n\tprivate async isNameUnique(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!externalTool.name) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst duplicate: ExternalTool | null = await this.externalToolService.findExternalToolByName(externalTool.name);\n\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n\n\tprivate hasDuplicateAttributes(customParameter: CustomParameter[]): boolean {\n\t\treturn customParameter.some((item, itemIndex) =>\n\t\t\tcustomParameter.some(\n\t\t\t\t(other, otherIndex) =>\n\t\t\t\t\titemIndex !== otherIndex && item.name.toLocaleLowerCase() === other.name.toLocaleLowerCase()\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate isRegexValid(param: CustomParameter): boolean {\n\t\tif (param.regex) {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew RegExp(param.regex);\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidRegex(param: CustomParameter): boolean {\n\t\tif (param.regex && param.default) {\n\t\t\tconst isValid: boolean = new RegExp(param.regex).test(param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidType(param: CustomParameter): boolean {\n\t\tif (param.default) {\n\t\t\tconst isValid: boolean = this.commonToolValidationService.isValueValidForType(param.type, param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isRegexCommentMandatoryAndFilled(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.regex && !customParameter.regexComment) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isGlobalParameterValid(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.scope !== CustomParameterScope.GLOBAL) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (autoParameters.includes(customParameter.type) || customParameter.default) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate isAutoParameterGlobal(customParameter: CustomParameter): boolean {\n\t\tif (!autoParameters.includes(customParameter.type)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst isGlobal: boolean = customParameter.scope === CustomParameterScope.GLOBAL;\n\n\t\treturn isGlobal;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolProps.html":{"url":"interfaces/ExternalToolProps.html","title":"interface - ExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n Optional\n \n id\n \n \n \n \n isHidden\n \n \n \n Optional\n \n logo\n \n \n \n Optional\n \n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n Optional\n \n parameters\n \n \n \n Optional\n \n restrictToContexts\n \n \n \n Optional\n \n url\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n config\n \n \n \n \n \n \n \n \n config: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n \n \n logo: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n \n openNewTab: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameter[]\n\n \n \n\n\n \n \n Type : CustomParameter[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n restrictToContexts\n \n \n \n \n \n \n \n \n restrictToContexts: ToolContextType[]\n\n \n \n\n\n \n \n Type : ToolContextType[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tif (ExternalTool.isBasicConfig(props.config)) {\n\t\t\tthis.config = new BasicToolConfig(props.config);\n\t\t} else if (ExternalTool.isOauth2Config(props.config)) {\n\t\t\tthis.config = new Oauth2ToolConfig(props.config);\n\t\t} else if (ExternalTool.isLti11Config(props.config)) {\n\t\t\tthis.config = new Lti11ToolConfig(props.config);\n\t\t} else {\n\t\t\tthrow new InternalServerErrorException(`Unknown tool config`);\n\t\t}\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig {\n\t\treturn ToolConfigType.BASIC === config.type;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolPseudonymEntity.html":{"url":"entities/ExternalToolPseudonymEntity.html","title":"entity - ExternalToolPseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolPseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolPseudonymEntityProps.html":{"url":"interfaces/ExternalToolPseudonymEntityProps.html","title":"interface - ExternalToolPseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolPseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolPseudonymRepo.html":{"url":"injectables/ExternalToolPseudonymRepo.html","title":"injectable - ExternalToolPseudonymRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolPseudonymRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolPseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: ExternalToolPseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolPseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Page, Pseudonym } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymEntity, ExternalToolPseudonymEntityProps } from '../entity';\nimport { PseudonymScope } from '../entity/pseudonym.scope';\n\n@Injectable()\nexport class ExternalToolPseudonymRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity = await this.em.findOneOrFail(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity[] = await this.em.find(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: ExternalToolPseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(ExternalToolPseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: ExternalToolPseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: ExternalToolPseudonymEntity = new ExternalToolPseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tpseudonym,\n\t\t});\n\n\t\tif (!entities) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entities);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: ExternalToolPseudonymEntity): Pseudonym {\n\t\tconst pseudonym = new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\n\t\treturn pseudonym;\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): ExternalToolPseudonymEntityProps {\n\t\treturn {\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination ?? {};\n\t\tconst scope: Scope = new PseudonymScope()\n\t\t\t.byPseudonym(query.pseudonym)\n\t\t\t.byToolId(query.toolId)\n\t\t\t.byUserId(query.userId)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tconst [entities, total] = await this.em.findAndCount(ExternalToolPseudonymEntity, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t});\n\n\t\tconst entityDos: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\n\t\treturn page;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRepo.html":{"url":"injectables/ExternalToolRepo.html","title":"injectable - ExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n find\n \n \n Async\n findAllByConfigType\n \n \n Async\n findByName\n \n \n Async\n findByOAuth2ConfigClientId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByConfigType\n \n \n \n \n \n \n \n findAllByConfigType(type: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOAuth2ConfigClientId\n \n \n \n \n \n \n \n findByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:81\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, QueryOrderMap } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { ExternalToolSearchQuery } from '@modules/tool/common/interface';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination, SortOrder } from '@shared/domain/interface';\nimport { BaseDORepo, ExternalToolRepoMapper, ExternalToolSortingMapper, Scope } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolScope } from './external-tool.scope';\n\n@Injectable()\nexport class ExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ExternalToolEntity;\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { name });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync findAllByConfigType(type: ToolConfigType): Promise {\n\t\tconst entities: ExternalToolEntity[] = await this._em.find(this.entityName, { config: { type } });\n\t\tconst domainObjects: ExternalTool[] = entities.map((entity: ExternalToolEntity): ExternalTool => {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { config: { clientId } });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync find(query: ExternalToolSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = ExternalToolSortingMapper.mapDOSortOrderToQueryOrder(\n\t\t\toptions?.order || {}\n\t\t);\n\t\tconst scope: Scope = new ExternalToolScope()\n\t\t\t.byName(query.name)\n\t\t\t.byClientId(query.clientId)\n\t\t\t.byHidden(query.isHidden)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [entities, total]: [ExternalToolEntity[], number] = await this._em.findAndCount(\n\t\t\tExternalToolEntity,\n\t\t\tscope.query,\n\t\t\t{\n\t\t\t\toffset: pagination?.skip,\n\t\t\t\tlimit: pagination?.limit,\n\t\t\t\torderBy: order,\n\t\t\t}\n\t\t);\n\n\t\tconst entityDos: ExternalTool[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tmapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tconst domainObject = ExternalToolRepoMapper.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tmapDOToEntityProperties(entityDO: ExternalTool): EntityData {\n\t\tconst entity = ExternalToolRepoMapper.mapDOToEntityProperties(entityDO);\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolRepoMapper.html":{"url":"classes/ExternalToolRepoMapper.html","title":"class - ExternalToolRepoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolRepoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n Static\n mapBasicToolConfigToDO\n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n Static\n mapCustomParametersToDOs\n \n \n Static\n mapDOToEntityProperties\n \n \n Static\n mapEntityToDO\n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n Static\n mapLti11ToolConfigToDO\n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n \n \n \n \n \n mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapBasicToolConfigToDO\n \n \n \n \n \n \n \n mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterDOsToEntities(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n \n \n \n \n \n mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:174\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntryEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParametersToDOs\n \n \n \n \n \n \n \n mapCustomParametersToDOs(customParameters: CustomParameterEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:138\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameterEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigToDO\n \n \n \n \n \n \n \n mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n \n \n \n \n \n mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n \n \n \n mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { CustomParameter, CustomParameterEntry } from '@modules/tool/common/domain';\nimport { CustomParameterEntryEntity } from '@modules/tool/common/entity';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { EntityData } from '@mikro-orm/core';\n\n// TODO: maybe rename because of usage in external tool repo and school external tool repo\nexport class ExternalToolRepoMapper {\n\tstatic mapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tlet config: BasicToolConfig | Oauth2ToolConfig | Lti11ToolConfig;\n\t\tswitch (entity.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigToDO(entity.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigToDO(entity.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigToDO(entity.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn new ExternalTool({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tlogoUrl: entity.logoUrl,\n\t\t\tlogo: entity.logoBase64,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParametersToDOs(entity.parameters || []),\n\t\t\tisHidden: entity.isHidden,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tversion: entity.version,\n\t\t\trestrictToContexts: entity.restrictToContexts,\n\t\t});\n\t}\n\n\tstatic mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity): BasicToolConfig {\n\t\treturn new BasicToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity): Oauth2ToolConfig {\n\t\treturn new Oauth2ToolConfig({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity): Lti11ToolConfig {\n\t\treturn new Lti11ToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapDOToEntityProperties(entityDO: ExternalTool): EntityData {\n\t\tlet config: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\t\tswitch (entityDO.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigDOToEntity(entityDO.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigDOToEntity(entityDO.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigDOToEntity(entityDO.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tlogoUrl: entityDO.logoUrl,\n\t\t\tlogoBase64: entityDO.logo,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParameterDOsToEntities(entityDO.parameters ?? []),\n\t\t\tisHidden: entityDO.isHidden,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tversion: entityDO.version,\n\t\t\trestrictToContexts: entityDO.restrictToContexts,\n\t\t};\n\t}\n\n\tstatic mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig): BasicToolConfigEntity {\n\t\treturn new BasicToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig): Oauth2ToolConfigEntity {\n\t\treturn new Oauth2ToolConfigEntity({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig): Lti11ToolConfigEntity {\n\t\treturn new Lti11ToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapCustomParametersToDOs(customParameters: CustomParameterEntity[]): CustomParameter[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameterEntity) =>\n\t\t\t\tnew CustomParameter({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterDOsToEntities(customParameters: CustomParameter[]): CustomParameterEntity[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\tnew CustomParameterEntity({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[]): CustomParameterEntry[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntry({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[]): CustomParameterEntryEntity[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryEntity({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRequestMapper.html":{"url":"injectables/ExternalToolRequestMapper.html","title":"injectable - ExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n Private\n mapRequestToBasicToolConfig\n \n \n Private\n mapRequestToCustomParameterDO\n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n mapSortingQueryToDomain\n \n \n Public\n mapUpdateRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n \n \n \n \n \n mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolCreateParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n \n \n \n \nmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolSearchQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToBasicToolConfig\n \n \n \n \n \n \n \n mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n BasicToolConfigParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterPostParams[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigCreate(externalToolConfigParams: Lti11ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigUpdate(externalToolConfigParams: Lti11ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigCreate(externalToolConfigParams: Oauth2ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigUpdate(externalToolConfigParams: Oauth2ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSortingQueryToDomain\n \n \n \n \n \n \nmapSortingQueryToDomain(sortingQuery: SortExternalToolParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:160\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapUpdateRequest\n \n \n \n \n \n \n \n mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolUpdateParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolUpdate\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport {\n\tBasicToolConfigParams,\n\tCustomParameterPostParams,\n\tExternalToolCreateParams,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tLti11ToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigCreateParams,\n\tOauth2ToolConfigUpdateParams,\n\tSortExternalToolParams,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport {\n\tBasicToolConfigDto,\n\tCustomParameterDto,\n\tExternalToolCreate,\n\tExternalToolUpdate,\n\tLti11ToolConfigCreate,\n\tLti11ToolConfigUpdate,\n\tOauth2ToolConfigCreate,\n\tOauth2ToolConfigUpdate,\n} from '../uc';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScopeTypeParams.GLOBAL]: CustomParameterScope.GLOBAL,\n\t[CustomParameterScopeTypeParams.SCHOOL]: CustomParameterScope.SCHOOL,\n\t[CustomParameterScopeTypeParams.CONTEXT]: CustomParameterScope.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocationParams.PATH]: CustomParameterLocation.PATH,\n\t[CustomParameterLocationParams.QUERY]: CustomParameterLocation.QUERY,\n\t[CustomParameterLocationParams.BODY]: CustomParameterLocation.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterTypeParams.STRING]: CustomParameterType.STRING,\n\t[CustomParameterTypeParams.BOOLEAN]: CustomParameterType.BOOLEAN,\n\t[CustomParameterTypeParams.NUMBER]: CustomParameterType.NUMBER,\n\t[CustomParameterTypeParams.AUTO_CONTEXTID]: CustomParameterType.AUTO_CONTEXTID,\n\t[CustomParameterTypeParams.AUTO_CONTEXTNAME]: CustomParameterType.AUTO_CONTEXTNAME,\n\t[CustomParameterTypeParams.AUTO_SCHOOLID]: CustomParameterType.AUTO_SCHOOLID,\n\t[CustomParameterTypeParams.AUTO_SCHOOLNUMBER]: CustomParameterType.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolRequestMapper {\n\tpublic mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version = 1): ExternalToolUpdate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigUpdate | Oauth2ToolConfigUpdate;\n\t\tif (externalToolUpdateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolUpdateParams.config);\n\t\t} else if (externalToolUpdateParams.config instanceof Lti11ToolConfigUpdateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolUpdateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tid: externalToolUpdateParams.id,\n\t\t\tname: externalToolUpdateParams.name,\n\t\t\turl: externalToolUpdateParams.url,\n\t\t\tlogoUrl: externalToolUpdateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolUpdateParams.isHidden,\n\t\t\topenNewTab: externalToolUpdateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolUpdateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tpublic mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version = 1): ExternalToolCreate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigCreate | Oauth2ToolConfigCreate;\n\t\tif (externalToolCreateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolCreateParams.config);\n\t\t} else if (externalToolCreateParams.config instanceof Lti11ToolConfigCreateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigCreate(externalToolCreateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigCreate(externalToolCreateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolCreateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tname: externalToolCreateParams.name,\n\t\t\turl: externalToolCreateParams.url,\n\t\t\tlogoUrl: externalToolCreateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolCreateParams.isHidden,\n\t\t\topenNewTab: externalToolCreateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolCreateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tprivate mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams): BasicToolConfigDto {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigCreate(\n\t\texternalToolConfigParams: Lti11ToolConfigCreateParams\n\t): Lti11ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigUpdate(\n\t\texternalToolConfigParams: Lti11ToolConfigUpdateParams\n\t): Lti11ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigCreate(\n\t\texternalToolConfigParams: Oauth2ToolConfigCreateParams\n\t): Oauth2ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigUpdate(\n\t\texternalToolConfigParams: Oauth2ToolConfigUpdateParams\n\t): Oauth2ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[]): CustomParameterDto[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterPostParams) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tdisplayName: customParameterParam.displayName,\n\t\t\t\tdescription: customParameterParam.description,\n\t\t\t\tdefault: customParameterParam.defaultValue,\n\t\t\t\tregex: customParameterParam.regex,\n\t\t\t\tregexComment: customParameterParam.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterParam.scope],\n\t\t\t\tlocation: locationMapping[customParameterParam.location],\n\t\t\t\ttype: typeMapping[customParameterParam.type],\n\t\t\t\tisOptional: customParameterParam.isOptional,\n\t\t\t};\n\t\t});\n\t}\n\n\tmapSortingQueryToDomain(sortingQuery: SortExternalToolParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst result: SortOrderMap = {\n\t\t\t[sortBy]: sortingQuery.sortOrder,\n\t\t};\n\t\treturn result;\n\t}\n\n\tmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams): ExternalToolSearchQuery {\n\t\tconst searchQuery: ExternalToolSearchQuery = {\n\t\t\tname: params.name,\n\t\t\tclientId: params.clientId,\n\t\t};\n\n\t\treturn searchQuery;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolResponse.html":{"url":"classes/ExternalToolResponse.html","title":"class - ExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n id\n \n \n \n isHidden\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n openNewTab\n \n \n \n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { BasicToolConfigResponse, Oauth2ToolConfigResponse, Lti11ToolConfigResponse } from './config';\nimport { CustomParameterResponse } from './custom-parameter.response';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty()\n\tconfig: BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse;\n\n\t@ApiProperty()\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tisHidden: boolean;\n\n\t@ApiProperty()\n\topenNewTab: boolean;\n\n\t@ApiProperty()\n\tversion: number;\n\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(response: ExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.url = response.url;\n\t\tthis.logoUrl = response.logoUrl;\n\t\tthis.config = response.config;\n\t\tthis.parameters = response.parameters;\n\t\tthis.isHidden = response.isHidden;\n\t\tthis.openNewTab = response.openNewTab;\n\t\tthis.version = response.version;\n\t\tthis.restrictToContexts = response.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolResponseMapper.html":{"url":"injectables/ExternalToolResponseMapper.html","title":"injectable - ExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n Static\n mapCustomParameterToResponse\n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n \n \n \n \n \n mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterToResponse\n \n \n \n \n \n \n \n mapCustomParameterToResponse(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n \n \n \n mapToExternalToolResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameter } from '../../common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport {\n\tBasicToolConfigResponse,\n\tCustomParameterResponse,\n\tExternalToolResponse,\n\tLti11ToolConfigResponse,\n\tOauth2ToolConfigResponse,\n} from '../controller/dto';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '../domain';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScope.GLOBAL]: CustomParameterScopeTypeParams.GLOBAL,\n\t[CustomParameterScope.SCHOOL]: CustomParameterScopeTypeParams.SCHOOL,\n\t[CustomParameterScope.CONTEXT]: CustomParameterScopeTypeParams.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocation.PATH]: CustomParameterLocationParams.PATH,\n\t[CustomParameterLocation.QUERY]: CustomParameterLocationParams.QUERY,\n\t[CustomParameterLocation.BODY]: CustomParameterLocationParams.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterType.STRING]: CustomParameterTypeParams.STRING,\n\t[CustomParameterType.BOOLEAN]: CustomParameterTypeParams.BOOLEAN,\n\t[CustomParameterType.NUMBER]: CustomParameterTypeParams.NUMBER,\n\t[CustomParameterType.AUTO_CONTEXTID]: CustomParameterTypeParams.AUTO_CONTEXTID,\n\t[CustomParameterType.AUTO_CONTEXTNAME]: CustomParameterTypeParams.AUTO_CONTEXTNAME,\n\t[CustomParameterType.AUTO_SCHOOLID]: CustomParameterTypeParams.AUTO_SCHOOLID,\n\t[CustomParameterType.AUTO_SCHOOLNUMBER]: CustomParameterTypeParams.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolResponseMapper {\n\tstatic mapToExternalToolResponse(externalTool: ExternalTool): ExternalToolResponse {\n\t\tlet mappedConfig: BasicToolConfigResponse | Lti11ToolConfigResponse | Oauth2ToolConfigResponse;\n\t\tif (externalTool.config instanceof BasicToolConfig) {\n\t\t\tmappedConfig = this.mapBasicToolConfigDOToResponse(externalTool.config);\n\t\t} else if (externalTool.config instanceof Lti11ToolConfig) {\n\t\t\tmappedConfig = this.mapLti11ToolConfigDOToResponse(externalTool.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapOauth2ToolConfigDOToResponse(externalTool.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterResponse[] = this.mapCustomParameterToResponse(\n\t\t\texternalTool.parameters ?? []\n\t\t);\n\n\t\treturn new ExternalToolResponse({\n\t\t\tid: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\turl: externalTool.url,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalTool.isHidden,\n\t\t\topenNewTab: externalTool.openNewTab,\n\t\t\tversion: externalTool.version,\n\t\t\trestrictToContexts: externalTool.restrictToContexts,\n\t\t});\n\t}\n\n\tprivate static mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig): BasicToolConfigResponse {\n\t\treturn new BasicToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig): Lti11ToolConfigResponse {\n\t\treturn new Lti11ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig): Oauth2ToolConfigResponse {\n\t\treturn new Oauth2ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tstatic mapCustomParameterToResponse(customParameters: CustomParameter[]): CustomParameterResponse[] {\n\t\treturn customParameters.map((customParameterDO: CustomParameter) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterDO.name,\n\t\t\t\tdisplayName: customParameterDO.displayName,\n\t\t\t\tdescription: customParameterDO.description,\n\t\t\t\tdefaultValue: customParameterDO.default,\n\t\t\t\tregex: customParameterDO.regex,\n\t\t\t\tregexComment: customParameterDO.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterDO.scope],\n\t\t\t\tlocation: locationMapping[customParameterDO.location],\n\t\t\t\ttype: typeMapping[customParameterDO.type],\n\t\t\t\tisOptional: customParameterDO.isOptional,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolScope.html":{"url":"classes/ExternalToolScope.html","title":"class - ExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClientId\n \n \n byHidden\n \n \n byName\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClientId\n \n \n \n \n \n \nbyClientId(clientId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byName\n \n \n \n \n \n \nbyName(name: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo/scope';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\n\nexport class ExternalToolScope extends Scope {\n\tbyName(name: string | undefined): this {\n\t\tif (name) {\n\t\t\tthis.addQuery({ name: { $re: name } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClientId(clientId: string | undefined): this {\n\t\tif (clientId) {\n\t\t\tthis.addQuery({ config: { clientId } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean | undefined): this {\n\t\tif (isHidden !== undefined) {\n\t\t\tthis.addQuery({ isHidden });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchListResponse.html":{"url":"classes/ExternalToolSearchListResponse.html","title":"class - ExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ExternalToolResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolResponse } from './external-tool.response';\n\nexport class ExternalToolSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [ExternalToolResponse] })\n\tdata: ExternalToolResponse[];\n\n\tconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchParams.html":{"url":"classes/ExternalToolSearchParams.html","title":"class - ExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'OAuth2 client id of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Name of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ExternalToolSearchParams {\n\t@ApiPropertyOptional({ description: 'Name of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tname?: string;\n\n\t@ApiPropertyOptional({ description: 'OAuth2 client id of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tclientId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolSearchQuery.html":{"url":"interfaces/ExternalToolSearchQuery.html","title":"interface - ExternalToolSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/external-tool-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n clientId\n \n \n \n Optional\n \n isHidden\n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ExternalToolSearchQuery {\n\tname?: string;\n\n\tclientId?: string;\n\n\tisHidden?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolService.html":{"url":"injectables/ExternalToolService.html","title":"injectable - ExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Async\n findById\n \n \n findExternalToolByName\n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n Async\n findExternalTools\n \n \n Async\n updateExternalTool\n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolRepo: ExternalToolRepo, oauthProviderService: OauthProviderService, mapper: ExternalToolServiceMapper, schoolExternalToolRepo: SchoolExternalToolRepo, contextExternalToolRepo: ContextExternalToolRepo, encryptionService: EncryptionService, legacyLogger: LegacyLogger, externalToolVersionService: ExternalToolVersionIncrementService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolRepo\n \n \n ExternalToolRepo\n \n \n \n No\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n mapper\n \n \n ExternalToolServiceMapper\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n encryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n externalToolVersionService\n \n \n ExternalToolVersionIncrementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n \n \n \n \n \n addExternalOauth2DataToConfig(config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByName\n \n \n \n \n \n \nfindExternalToolByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n \n \n \n \nfindExternalToolByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTools\n \n \n \n \n \n \n \n findExternalTools(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n loadedTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n \n \n \n \n \n updateOauth2ToolConfig(toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n \n \n \n updateOauthClientOrThrow(loadedOauthClient: ProviderOauthClient, toUpdateOauthClient: ProviderOauthClient, toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdateOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, ExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TokenEndpointAuthMethod } from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool, Oauth2ToolConfig } from '../domain';\nimport { ExternalToolServiceMapper } from './external-tool-service.mapper';\nimport { ExternalToolVersionIncrementService } from './external-tool-version-increment.service';\n\n@Injectable()\nexport class ExternalToolService {\n\tconstructor(\n\t\tprivate readonly externalToolRepo: ExternalToolRepo,\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly mapper: ExternalToolServiceMapper,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\t@Inject(DefaultEncryptionService) private readonly encryptionService: EncryptionService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly externalToolVersionService: ExternalToolVersionIncrementService\n\t) {}\n\n\tasync createExternalTool(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isLti11Config(externalTool.config) && externalTool.config.secret) {\n\t\t\texternalTool.config.secret = this.encryptionService.encrypt(externalTool.config.secret);\n\t\t} else if (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tconst oauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\texternalTool.name,\n\t\t\t\texternalTool.config\n\t\t\t);\n\n\t\t\tawait this.oauthProviderService.createOAuth2Client(oauthClient);\n\t\t}\n\n\t\tconst created: ExternalTool = await this.externalToolRepo.save(externalTool);\n\t\treturn created;\n\t}\n\n\tasync updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool): Promise {\n\t\tawait this.updateOauth2ToolConfig(toUpdate);\n\t\tthis.externalToolVersionService.increaseVersionOfNewToolIfNecessary(loadedTool, toUpdate);\n\t\tconst externalTool: ExternalTool = await this.externalToolRepo.save(toUpdate);\n\t\treturn externalTool;\n\t}\n\n\tasync findExternalTools(\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst tools: Page = await this.externalToolRepo.find(query, options);\n\n\t\tconst resolvedTools: (ExternalTool | undefined)[] = await Promise.all(\n\t\t\ttools.data.map(async (tool: ExternalTool): Promise => {\n\t\t\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn tool;\n\t\t\t})\n\t\t);\n\n\t\ttools.data = resolvedTools.filter((tool) => tool !== undefined) as ExternalTool[];\n\n\t\treturn tools;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolRepo.findById(id);\n\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\ttry {\n\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t} catch (e) {\n\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t);\n\t\t\t\tthrow new UnprocessableEntityException(`Could not resolve oauth2Config of tool ${tool.name}.`);\n\t\t\t}\n\t\t}\n\t\treturn tool;\n\t}\n\n\tfindExternalToolByName(name: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByName(name);\n\t\treturn externalTool;\n\t}\n\n\tfindExternalToolByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByOAuth2ConfigClientId(clientId);\n\t\treturn externalTool;\n\t}\n\n\tasync deleteExternalTool(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.findByExternalToolId(toolId);\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolRepo.deleteBySchoolExternalToolIds(schoolExternalToolIds),\n\t\t\tthis.schoolExternalToolRepo.deleteByExternalToolId(toolId),\n\t\t\tthis.externalToolRepo.deleteById(toolId),\n\t\t]);\n\t}\n\n\tprivate async updateOauth2ToolConfig(toUpdate: ExternalTool) {\n\t\tif (ExternalTool.isOauth2Config(toUpdate.config)) {\n\t\t\tconst toUpdateOauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\ttoUpdate.name,\n\t\t\t\ttoUpdate.config\n\t\t\t);\n\t\t\tconst loadedOauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(\n\t\t\t\ttoUpdate.config.clientId\n\t\t\t);\n\t\t\tawait this.updateOauthClientOrThrow(loadedOauthClient, toUpdateOauthClient, toUpdate);\n\t\t}\n\t}\n\n\tprivate async updateOauthClientOrThrow(\n\t\tloadedOauthClient: ProviderOauthClient,\n\t\ttoUpdateOauthClient: ProviderOauthClient,\n\t\ttoUpdate: ExternalTool\n\t) {\n\t\tif (loadedOauthClient && loadedOauthClient.client_id) {\n\t\t\tawait this.oauthProviderService.updateOAuth2Client(loadedOauthClient.client_id, toUpdateOauthClient);\n\t\t} else {\n\t\t\tthrow new UnprocessableEntityException(`The oAuthConfigs clientId of tool ${toUpdate.name}\" does not exist`);\n\t\t}\n\t}\n\n\tprivate async addExternalOauth2DataToConfig(config: Oauth2ToolConfig) {\n\t\tconst oauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(config.clientId);\n\n\t\tconfig.scope = oauthClient.scope;\n\t\tconfig.tokenEndpointAuthMethod = oauthClient.token_endpoint_auth_method as TokenEndpointAuthMethod;\n\t\tconfig.redirectUris = oauthClient.redirect_uris;\n\t\tconfig.frontchannelLogoutUri = oauthClient.frontchannel_logout_uri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolServiceMapper.html":{"url":"injectables/ExternalToolServiceMapper.html","title":"injectable - ExternalToolServiceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolServiceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n \n \nmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProviderOauthClient\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Injectable } from '@nestjs/common';\nimport { Oauth2ToolConfig } from '../domain';\n\n@Injectable()\nexport class ExternalToolServiceMapper {\n\tmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig): ProviderOauthClient {\n\t\treturn {\n\t\t\tclient_name: name,\n\t\t\tclient_id: oauth2Config.clientId,\n\t\t\tclient_secret: oauth2Config.clientSecret,\n\t\t\tscope: oauth2Config.scope,\n\t\t\ttoken_endpoint_auth_method: oauth2Config.tokenEndpointAuthMethod,\n\t\t\tredirect_uris: oauth2Config.redirectUris,\n\t\t\tfrontchannel_logout_uri: oauth2Config.frontchannelLogoutUri,\n\t\t\tsubject_type: 'pairwise',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSortingMapper.html":{"url":"classes/ExternalToolSortingMapper.html","title":"class - ExternalToolSortingMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSortingMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n \n \n \n mapDOSortOrderToQueryOrder(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueryOrderMap } from '@mikro-orm/core';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\n\nexport class ExternalToolSortingMapper {\n\tstatic mapDOSortOrderToQueryOrder(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t\tname: sort.name,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolUc.html":{"url":"injectables/ExternalToolUc.html","title":"injectable - ExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Private\n Async\n ensurePermission\n \n \n Async\n findExternalTool\n \n \n Async\n getExternalTool\n \n \n Async\n getMetadataForExternalTool\n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, authorizationService: AuthorizationService, toolValidationService: ExternalToolValidationService, externalToolLogoService: ExternalToolLogoService, externalToolMetadataService: ExternalToolMetadataService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n toolValidationService\n \n \n ExternalToolValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n externalToolMetadataService\n \n \n ExternalToolMetadataService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalToolCreate\n \n ExternalToolCreate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensurePermission\n \n \n \n \n \n \n \n ensurePermission(userId: EntityId, permission: Permission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permission\n \n Permission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(userId: EntityId, query: ExternalToolSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForExternalTool\n \n \n \n \n \n \n \n getMetadataForExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalToolUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { IFindOptions, Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolConfig, ExternalToolMetadata } from '../domain';\nimport {\n\tExternalToolLogoService,\n\tExternalToolMetadataService,\n\tExternalToolService,\n\tExternalToolValidationService,\n} from '../service';\nimport { ExternalToolCreate, ExternalToolUpdate } from './dto';\n\n@Injectable()\nexport class ExternalToolUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly toolValidationService: ExternalToolValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly externalToolMetadataService: ExternalToolMetadataService\n\t) {}\n\n\tasync createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst externalTool = new ExternalTool({ ...externalToolCreate });\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateCreate(externalTool);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.createExternalTool(externalTool);\n\n\t\treturn tool;\n\t}\n\n\tasync updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateUpdate(toolId, externalTool);\n\n\t\tconst loaded: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tconst configToUpdate: ExternalToolConfig = { ...loaded.config, ...externalTool.config };\n\t\tconst toUpdate: ExternalTool = new ExternalTool({\n\t\t\t...loaded,\n\t\t\t...externalTool,\n\t\t\tconfig: configToUpdate,\n\t\t\tversion: loaded.version,\n\t\t});\n\n\t\tconst saved: ExternalTool = await this.externalToolService.updateExternalTool(toUpdate, loaded);\n\n\t\treturn saved;\n\t}\n\n\tasync findExternalTool(\n\t\tuserId: EntityId,\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions: IFindOptions\n\t): Promise> {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tools: Page = await this.externalToolService.findExternalTools(query, options);\n\t\treturn tools;\n\t}\n\n\tasync getExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\treturn tool;\n\t}\n\n\tasync deleteExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst promise: Promise = this.externalToolService.deleteExternalTool(toolId);\n\t\treturn promise;\n\t}\n\n\tasync getMetadataForExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\t// TODO N21-1496: Change External Tools to use authorizationService.checkPermission\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst metadata: ExternalToolMetadata = await this.externalToolMetadataService.getMetadata(toolId);\n\n\t\treturn metadata;\n\t}\n\n\tprivate async ensurePermission(userId: EntityId, permission: Permission) {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [permission]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolUpdateParams.html":{"url":"classes/ExternalToolUpdateParams.html","title":"class - ExternalToolUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n id\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigUpdateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigUpdateParams, Oauth2ToolConfigUpdateParams, BasicToolConfigParams)\nexport class ExternalToolUpdateParams {\n\t@IsString()\n\t@ApiProperty()\n\tid!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigUpdateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigUpdateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigUpdateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigUpdateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolValidationService.html":{"url":"injectables/ExternalToolValidationService.html","title":"injectable - ExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n Async\n validateCreate\n \n \n Private\n validateLti11Config\n \n \n Private\n Async\n validateOauth2Config\n \n \n Async\n validateUpdate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, externalToolParameterValidationService: ExternalToolParameterValidationService, externalToolLogoService: ExternalToolLogoService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n externalToolParameterValidationService\n \n \n ExternalToolParameterValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n \n \n \n \n \n isClientIdUnique(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCreate\n \n \n \n \n \n \n \n validateCreate(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateLti11Config\n \n \n \n \n \n \n \n validateLti11Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateOauth2Config\n \n \n \n \n \n \n \n validateOauth2Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateUpdate\n \n \n \n \n \n \n \n validateUpdate(toolId: string, externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogoService } from './external-tool-logo.service';\nimport { ExternalToolParameterValidationService } from './external-tool-parameter-validation.service';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly externalToolParameterValidationService: ExternalToolParameterValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\tasync validateCreate(externalTool: ExternalTool): Promise {\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tawait this.validateOauth2Config(externalTool);\n\n\t\tthis.validateLti11Config(externalTool);\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tasync validateUpdate(toolId: string, externalTool: Partial): Promise {\n\t\tif (toolId !== externalTool.id) {\n\t\t\tthrow new ValidationError(`tool_id_mismatch: The tool has no id or it does not match the path parameter.`);\n\t\t}\n\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tconst loadedTool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tif (\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config &&\n\t\t\texternalTool.config.type !== loadedTool.config.type\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_type_immutable: The Config Type of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\texternalTool.config &&\n\t\t\tExternalTool.isOauth2Config(externalTool.config) &&\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config.clientId !== loadedTool.config.clientId\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_clientId_immutable: The Client Id of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tprivate async validateOauth2Config(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.clientSecret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientSecret_missing: The Client Secret of the tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!(await this.isClientIdUnique(externalTool))) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientId_duplicate: The Client Id of the tool ${externalTool.name || ''} is already used.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate validateLti11Config(externalTool: ExternalTool): void {\n\t\tif (ExternalTool.isLti11Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.secret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_secret_missing: The secret of the LTI tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async isClientIdUnique(externalTool: ExternalTool): Promise {\n\t\tlet duplicate: ExternalTool | null = null;\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tduplicate = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(externalTool.config.clientId);\n\t\t}\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolVersionIncrementService.html":{"url":"injectables/ExternalToolVersionIncrementService.html","title":"injectable - ExternalToolVersionIncrementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolVersionIncrementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n compareParameters\n \n \n Private\n hasChangedParameterNames\n \n \n Private\n hasChangedParameterRegex\n \n \n Private\n hasChangedParameterScope\n \n \n Private\n hasChangedParameterTypes\n \n \n Private\n hasChangedRequiredParameters\n \n \n Private\n hasNewRequiredParameter\n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n compareParameters\n \n \n \n \n \n \n \n compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterNames\n \n \n \n \n \n \n \n hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterRegex\n \n \n \n \n \n \n \n hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterScope\n \n \n \n \n \n \n \n hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterTypes\n \n \n \n \n \n \n \n hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedRequiredParameters\n \n \n \n \n \n \n \n hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasNewRequiredParameter\n \n \n \n \n \n \n \n hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n \n \nincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n newTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../domain';\nimport { CustomParameter } from '../../common/domain';\n\n@Injectable()\nexport class ExternalToolVersionIncrementService {\n\tincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool): void {\n\t\tif (!oldTool.parameters || !newTool.parameters) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.compareParameters(oldTool.parameters, newTool.parameters)) {\n\t\t\tnewTool.version += 1;\n\t\t}\n\t}\n\n\tprivate compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst matchingParams: CustomParameter[] = oldParams.filter((oldParam) =>\n\t\t\tnewParams.some((newParam) => oldParam.name === newParam.name)\n\t\t);\n\n\t\tconst shouldIncrementVersion =\n\t\t\tthis.hasNewRequiredParameter(oldParams, newParams) ||\n\t\t\tthis.hasChangedRequiredParameters(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterNames(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterRegex(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterTypes(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterScope(newParams, matchingParams);\n\n\t\treturn shouldIncrementVersion;\n\t}\n\n\tprivate hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst increase = newParams.some(\n\t\t\t(newParam) => !newParam.isOptional && oldParams.every((oldParam) => oldParam.name !== newParam.name)\n\t\t);\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst nonOptionalParams = oldParams.filter((parameter) => !parameter.isOptional);\n\t\tconst nonOptionalParamNames = nonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst newNonOptionalParams = newParams.filter((parameter) => !parameter.isOptional);\n\t\tconst newNonOptionalParamNames = newNonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst increase =\n\t\t\tnonOptionalParamNames.some((name) => !newNonOptionalParamNames.includes(name)) ||\n\t\t\tnewNonOptionalParamNames.some((name) => !nonOptionalParamNames.includes(name));\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.isOptional !== newParam.isOptional;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.regex !== newParam.regex;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.type !== newParam.type;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.scope !== newParam.scope;\n\t\t});\n\t\treturn increase;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalUserDto.html":{"url":"classes/ExternalUserDto.html","title":"class - ExternalUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n email\n \n \n externalId\n \n \n Optional\n firstName\n \n \n Optional\n lastName\n \n \n Optional\n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : RoleName[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalUserDto {\n\texternalId: string;\n\n\tfirstName?: string;\n\n\tlastName?: string;\n\n\temail?: string;\n\n\troles?: RoleName[];\n\n\tbirthday?: Date;\n\n\tconstructor(props: ExternalUserDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.roles = props.roles;\n\t\tthis.birthday = props.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthProvider.html":{"url":"injectables/FeathersAuthProvider.html","title":"injectable - FeathersAuthProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n Async\n getPermittedTargets\n \n \n Private\n Async\n getUser\n \n \n Async\n getUserSchoolPermissions\n \n \n Async\n getUserTargetPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n \n \n \n \n \n getPermittedSchools(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getUser\n \n \n \n \n \n \n \n getUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserSchoolPermissions\n \n \n \n \n \n \n \n getUserSchoolPermissions(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserTargetPermissions\n \n \n \n \n \n \n \n getUserTargetPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\n\ninterface User {\n\t_id: ObjectId;\n\tschoolId: ObjectId;\n\tpermissions: string[];\n}\n\n@Injectable()\nexport class FeathersAuthProvider {\n\tconstructor(private feathersServiceProvider: FeathersServiceProvider) {}\n\n\tasync getUserSchoolPermissions(userId: EntityId, schoolId: EntityId): Promise | never {\n\t\tconst user = await this.getUser(userId);\n\t\t// test user is school member\n\t\tconst sameSchool = user.schoolId.toString() === schoolId;\n\t\tif (sameSchool && Array.isArray(user.permissions)) {\n\t\t\treturn user.permissions;\n\t\t}\n\t\treturn [];\n\t}\n\n\tasync getUserTargetPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`${targetModel}/:scopeId/userPermissions/`);\n\t\tconst targetPermissions = (await service.get(userId, {\n\t\t\troute: { scopeId: targetId },\n\t\t})) as string[];\n\t\treturn targetPermissions;\n\t}\n\n\tasync getPermittedTargets(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`/users/:scopeId/${targetModel}`);\n\t\tconst targets = (await service.find({\n\t\t\troute: { scopeId: userId.toString() },\n\t\t\tquery: {\n\t\t\t\tpermissions,\n\t\t\t},\n\t\t\tpaginate: false,\n\t\t})) as BaseEntity[];\n\t\tconst targetIds = targets.map((target) => target._id.toString());\n\t\treturn targetIds;\n\t}\n\n\tasync getPermittedSchools(userId: EntityId): Promise {\n\t\tconst user = await this.getUser(userId);\n\t\treturn [user.schoolId.toString()] as EntityId[];\n\t}\n\n\tprivate async getUser(userId: EntityId): Promise {\n\t\tconst service = this.feathersServiceProvider.getService('users');\n\t\tconst user = (await service.get(userId)) as User;\n\t\tif (user == null) throw new NotFoundException();\n\t\treturn user;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthorizationService.html":{"url":"injectables/FeathersAuthorizationService.html","title":"injectable - FeathersAuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n Async\n getEntityPermissions\n \n \n Async\n getPermittedEntities\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersAuthProvider: FeathersAuthProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersAuthProvider\n \n \n FeathersAuthProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n \n \n \n \n \n checkEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:32\n \n \n\n\n \n \n Ensure that a user has sufficient permissions for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getEntityPermissions\n \n \n \n \n \n \n \n getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:16\n \n \n\n\n \n \n Get all permissions a user has for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of entity permissions for the user\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedEntities\n \n \n \n \n \n \n \n getPermittedEntities(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:54\n \n \n\n\n \n \n Get all entities for which a user has specific permissions\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of ids of all entities that satisfy the provided permissions for the user\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\nimport { FeathersAuthProvider } from './feathers-auth.provider';\n\n@Injectable()\nexport class FeathersAuthorizationService {\n\tconstructor(private feathersAuthProvider: FeathersAuthProvider) {}\n\n\t/**\n\t * Get all permissions a user has for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @returns The list of entity permissions for the user\n\t */\n\tasync getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId): Promise {\n\t\tconst permissions =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getUserSchoolPermissions(userId, targetId)\n\t\t\t\t: await this.feathersAuthProvider.getUserTargetPermissions(userId, targetModel, targetId);\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * Ensure that a user has sufficient permissions for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @param permissions\n\t * @throws UnauthorizedException if the permissions are not satisfied\n\t */\n\tasync checkEntityPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tif (!Array.isArray(permissions) || permissions.length === 0)\n\t\t\tthrow new UnauthorizedException('missing at least one permission to be checked');\n\t\tconst entityPermissions = await this.getEntityPermissions(userId, targetModel, targetId);\n\t\tconst hasPermissions = permissions.every((p) => entityPermissions.includes(p));\n\t\tif (!hasPermissions) {\n\t\t\tthrow new UnauthorizedException('Insufficient permissions');\n\t\t}\n\t}\n\n\t/**\n\t * Get all entities for which a user has specific permissions\n\t * @param userId\n\t * @param targetModel\n\t * @param permissions\n\t * @returns The list of ids of all entities that satisfy the provided permissions for the user\n\t */\n\tasync getPermittedEntities(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst entitiyIds =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getPermittedSchools(userId)\n\t\t\t\t: await this.feathersAuthProvider.getPermittedTargets(userId, targetModel, permissions);\n\n\t\treturn entitiyIds;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersError.html":{"url":"interfaces/FeathersError.html","title":"interface - FeathersError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/feathers-error.interface.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n className\n \n \n \n \n code\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n className\n \n \n \n \n \n \n \n \n className: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n \n \n code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FeathersError extends Error {\n\tcode: number;\n\tclassName: string;\n\ttype: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FeathersModule.html":{"url":"modules/FeathersModule.html","title":"module - FeathersModule","body":"\n \n\n\n\n\n Modules\n FeathersModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FeathersModule\n\n\n\ncluster_FeathersModule_exports\n\n\n\ncluster_FeathersModule_providers\n\n\n\n\nFeathersServiceProvider \n\nFeathersServiceProvider \n\n\n\nFeathersModule\n\nFeathersModule\n\nFeathersServiceProvider -->\n\nFeathersModule->FeathersServiceProvider \n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nFeathersModule -->\n\nFeathersServiceProvider->FeathersModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/feathers/feathers.module.ts\n \n\n\n\n \n Description\n \n \n This Module gives access to legacy feathers services. It is request based injected.\nIntroduce strong typing immediately when using this modules service.\n\n \n\n\n \n \n \n Providers\n \n \n FeathersServiceProvider\n \n \n \n \n Exports\n \n \n FeathersServiceProvider\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FeathersServiceProvider } from './feathers-service.provider';\n\n/**\n * This Module gives access to legacy feathers services. It is request based injected.\n * Introduce strong typing immediately when using this modules service.\n */\n@Module({\n\tproviders: [FeathersServiceProvider],\n\texports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersRosterService.html":{"url":"injectables/FeathersRosterService.html","title":"injectable - FeathersRosterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersRosterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n \n Description\n \n \n Please do not use this service in any other nest modules.\nThis service will be called from feathers to get the roster data for ctl pseudonyms ExternalToolPseudonymEntity.\nThese data will be used e.g. by bettermarks to resolve and display the usernames.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n getAndPseudonyms\n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n Async\n getGroup\n \n \n Async\n getUserGroups\n \n \n Private\n getUserRole\n \n \n Async\n getUsersMetadata\n \n \n Private\n mapPseudonymToUserData\n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n Private\n Async\n validateContextExternalTools\n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, pseudonymService: PseudonymService, courseService: CourseService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n \n \n \n \n \n filterCoursesByToolAvailability(courses: Course[], externalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n externalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getAndPseudonyms\n \n \n \n \n \n \n \n getAndPseudonyms(users: UserDO[], externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n \n \n \n \n \n getCoursesFromUsersPseudonym(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:166\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getGroup\n \n \n \n \n \n \n \n getGroup(courseId: EntityId, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserGroups\n \n \n \n \n \n \n \n getUserGroups(pseudonym: string, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUserRole\n \n \n \n \n \n \n \n getUserRole(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUsersMetadata\n \n \n \n \n \n \n \n getUsersMetadata(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapPseudonymToUserData\n \n \n \n \n \n \n \n mapPseudonymToUserData(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:235\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n \n \n \n \n \n validateAndGetExternalTool(oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateContextExternalTools\n \n \n \n \n \n \n \n validateContextExternalTools(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:225\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n \n \n \n validateSchoolExternalTool(schoolId: EntityId, toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersService.html":{"url":"interfaces/FeathersService.html","title":"interface - FeathersService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n find\n \n \n \n \n get\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n \n \n \ncreate(data?: FeathersServiceParams, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n find\n \n \n \n \n \n \n Access legacy eathers service find method\n \n \n \n \nfind(params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \n Access legacy eathers service get method\n \n \n \n \nget(id: string, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersServiceProvider.html":{"url":"injectables/FeathersServiceProvider.html","title":"injectable - FeathersServiceProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersServiceProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n \n Description\n \n \n This Service gives access to legacy feathers services. It is request based injected.\nIMPORTANT: Introduce strong typing immediately when using this modules service.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(request: Request)\n \n \n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getService\n \n \n \n \n \n \ngetService(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FederalStateEntity.html":{"url":"entities/FederalStateEntity.html","title":"entity - FederalStateEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FederalStateEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n counties\n \n \n \n logoUrl\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n counties\n \n \n \n \n \n \n Type : County[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FederalStateProperties.html":{"url":"interfaces/FederalStateProperties.html","title":"interface - FederalStateProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FederalStateProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n \n counties\n \n \n \n \n createdAt\n \n \n \n \n logoUrl\n \n \n \n \n name\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n \n \n abbreviation: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n counties\n \n \n \n \n \n \n \n \n counties: County[]\n\n \n \n\n\n \n \n Type : County[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateRepo.html":{"url":"injectables/FederalStateRepo.html","title":"injectable - FederalStateRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/federalstate/federal-state.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findByName\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findByName\n \n \n \n \n \n \nfindByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class FederalStateRepo extends BaseRepo {\n\tget entityName(): EntityName {\n\t\treturn FederalStateEntity;\n\t}\n\n\tfindByName(name: string): Promise {\n\t\treturn this._em.findOneOrFail(FederalStateEntity, { name });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateService.html":{"url":"injectables/FederalStateService.html","title":"injectable - FederalStateService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/federal-state.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(federalStateRepo: FederalStateRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n federalStateRepo\n \n \n FederalStateRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n \n \n \n findFederalStateByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { FederalStateRepo } from '@shared/repo';\n\n@Injectable()\nexport class FederalStateService {\n\tconstructor(private readonly federalStateRepo: FederalStateRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync findFederalStateByName(name: string): Promise {\n\t\tconst federalState: FederalStateEntity = await this.federalStateRepo.findByName(name);\n\n\t\treturn federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/File.html":{"url":"interfaces/File.html","title":"interface - File","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n File\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileContentBody.html":{"url":"classes/FileContentBody.html","title":"class - FileContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDO.html":{"url":"interfaces/FileDO.html","title":"interface - FileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\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 Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheckStatus\n \n \n \n \n \n \n \n \n securityCheckStatus: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n\t'REMOVE_CREATORID_OF_FILES' = 'remove-creatorId-of-files',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId?: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDomainObjectProps.html":{"url":"interfaces/FileDomainObjectProps.html","title":"interface - FileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileDomainObjectProps {\n\tid: EntityId;\n\tname: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto.html":{"url":"classes/FileDto.html","title":"class - FileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/dto/file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: FileDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n FileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { Readable } from 'stream';\n\nexport class FileDto implements File {\n\tconstructor(file: FileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto-1.html":{"url":"classes/FileDto-1.html","title":"class - FileDto-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n parentId\n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\nimport { FileDomainObjectProps } from '../interfaces';\n\nexport class FileDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tparentType: FileRecordParentType;\n\n\tparentId: EntityId;\n\n\tconstructor(props: FileDomainObjectProps) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.parentType = props.parentType;\n\t\tthis.parentId = props.parentId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDtoBuilder.html":{"url":"classes/FileDtoBuilder.html","title":"class - FileDtoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDtoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-dto.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n Static\n buildFromAxiosResponse\n \n \n Static\n buildFromRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(name: string, data: Readable, mimeType: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n mimeType\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromAxiosResponse\n \n \n \n \n \n \n \n buildFromAxiosResponse(name: string, response: AxiosResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n response\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromRequest\n \n \n \n \n \n \n \n buildFromRequest(fileInfo: FileInfo, data: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileInfo\n \n FileInfo\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosResponse } from 'axios';\nimport { FileInfo } from 'busboy';\nimport { Readable } from 'stream';\nimport { FileDto } from '../dto/file.dto';\n\nexport class FileDtoBuilder {\n\tpublic static build(name: string, data: Readable, mimeType: string): FileDto {\n\t\tconst file = new FileDto({ name, data, mimeType });\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromRequest(fileInfo: FileInfo, data: Readable): FileDto {\n\t\tconst file = FileDtoBuilder.build(fileInfo.filename, data, fileInfo.mimeType);\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromAxiosResponse(name: string, response: AxiosResponse): FileDto {\n\t\tconst mimeType = response.headers['Content-Type']?.toString() || 'application/octet-stream';\n\t\tconst file = FileDtoBuilder.build(name, response.data, mimeType);\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElement.html":{"url":"classes/FileElement.html","title":"class - FileElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n alternativeText\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n\n \n \n getcaption()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:5\n \n \n\n \n \n setcaption(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n\n \n \n getalternativeText()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:13\n \n \n\n \n \n setalternativeText(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContent.html":{"url":"classes/FileElementContent.html","title":"class - FileElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContentBody.html":{"url":"classes/FileElementContentBody.html","title":"class - FileElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:29\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileElementNode.html":{"url":"entities/FileElementNode.html","title":"entity - FileElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n FileElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementNodeProps.html":{"url":"interfaces/FileElementNodeProps.html","title":"interface - FileElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementProps.html":{"url":"interfaces/FileElementProps.html","title":"interface - FileElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponse.html":{"url":"classes/FileElementResponse.html","title":"class - FileElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponseMapper.html":{"url":"classes/FileElementResponseMapper.html","title":"class - FileElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : FileElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : FileElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, FileElement } from '@shared/domain/domainobject';\nimport { FileElementContent, FileElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class FileElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: FileElementResponseMapper;\n\n\tpublic static getInstance(): FileElementResponseMapper {\n\t\tif (!FileElementResponseMapper.instance) {\n\t\t\tFileElementResponseMapper.instance = new FileElementResponseMapper();\n\t\t}\n\n\t\treturn FileElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: FileElement): FileElementResponse {\n\t\tconst result = new FileElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.FILE,\n\t\t\tcontent: new FileElementContent({ caption: element.caption, alternativeText: element.alternativeText }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: FileElement): boolean {\n\t\treturn element instanceof FileElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileEntity.html":{"url":"entities/FileEntity.html","title":"entity - FileEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FileEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n Optional\n _lockId\n \n \n \n \n _ownerId\n \n \n \n \n Optional\n _parentId\n \n \n \n Optional\n bucket\n \n \n \n deleted\n \n \n \n Optional\n deletedAt\n \n \n \n isDirectory\n \n \n \n name\n \n \n \n permissions\n \n \n \n refOwnerModel\n \n \n \n securityCheck\n \n \n \n \n shareTokens\n \n \n \n Optional\n size\n \n \n \n Optional\n storageFileName\n \n \n \n Optional\n storageProvider\n \n \n \n Optional\n thumbnail\n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n Optional\n type\n \n \n \n Optional\n versionKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _lockId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'lockId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:110\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _ownerId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'owner', nullable: false})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent', nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n bucket\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : FilePermissionEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n Type : FileOwnerModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileSecurityCheckEntity\n\n \n \n \n \n Default value : new FileSecurityCheckEntity({})\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageFileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageProvider\n \n \n \n \n \n \n Type : StorageProviderEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'storageProviderId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnail\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n versionKey\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: '__v', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:117\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileEntityProps.html":{"url":"interfaces/FileEntityProps.html","title":"interface - FileEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bucket\n \n \n \n Optional\n \n createdAt\n \n \n \n \n creatorId\n \n \n \n Optional\n \n deleted\n \n \n \n Optional\n \n deletedAt\n \n \n \n Optional\n \n isDirectory\n \n \n \n Optional\n \n lockId\n \n \n \n \n name\n \n \n \n \n ownerId\n \n \n \n Optional\n \n parentId\n \n \n \n \n permissions\n \n \n \n \n refOwnerModel\n \n \n \n Optional\n \n securityCheck\n \n \n \n Optional\n \n shareTokens\n \n \n \n Optional\n \n size\n \n \n \n Optional\n \n storageFileName\n \n \n \n Optional\n \n storageProvider\n \n \n \n Optional\n \n thumbnail\n \n \n \n Optional\n \n thumbnailRequestToken\n \n \n \n Optional\n \n type\n \n \n \n Optional\n \n updatedAt\n \n \n \n Optional\n \n versionKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n \n \n deleted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n \n \n isDirectory: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lockId\n \n \n \n \n \n \n \n \n lockId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownerId\n \n \n \n \n \n \n \n \n ownerId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: FilePermissionEntity[]\n\n \n \n\n\n \n \n Type : FilePermissionEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n \n \n refOwnerModel: FileOwnerModel\n\n \n \n\n\n \n \n Type : FileOwnerModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n \n \n securityCheck: FileSecurityCheckEntity\n\n \n \n\n\n \n \n Type : FileSecurityCheckEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n \n \n shareTokens: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageFileName\n \n \n \n \n \n \n \n \n storageFileName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageProvider\n \n \n \n \n \n \n \n \n storageProvider: StorageProviderEntity\n\n \n \n\n\n \n \n Type : StorageProviderEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnailRequestToken\n \n \n \n \n \n \n \n \n thumbnailRequestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n versionKey\n \n \n \n \n \n \n \n \n versionKey: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileMetadata.html":{"url":"classes/FileMetadata.html","title":"class - FileMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IFileStats\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n birthtime\n \n \n name\n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, birthtime: Date, size: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n birthtime\n \n \n Date\n \n \n \n No\n \n \n \n \n size\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParamBuilder.html":{"url":"classes/FileParamBuilder.html","title":"class - FileParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(schoolId: EntityId, parent: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parent\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { EntitiesWithFiles, FileRequestInfo } from '../interfaces';\nimport { FilesStorageClientMapper } from './files-storage-client.mapper';\n\nexport class FileParamBuilder {\n\tstatic build(schoolId: EntityId, parent: EntitiesWithFiles): FileRequestInfo {\n\t\tconst parentType = FilesStorageClientMapper.mapEntityToParentType(parent);\n\t\tconst fileRequestInfo = {\n\t\t\tparentType,\n\t\t\tschoolId,\n\t\t\tparentId: parent.id,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParams.html":{"url":"classes/FileParams.html","title":"class - FileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n file\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', format: 'binary'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilePermissionEntity.html":{"url":"classes/FilePermissionEntity.html","title":"class - FilePermissionEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilePermissionEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n create\n \n \n \n delete\n \n \n \n read\n \n \n \n refId\n \n \n \n refPermModel\n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FilePermissionEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FilePermissionEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n Type : FilePermissionReferenceModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilePermissionEntityProps.html":{"url":"interfaces/FilePermissionEntityProps.html","title":"interface - FilePermissionEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilePermissionEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n create\n \n \n \n Optional\n \n delete\n \n \n \n Optional\n \n read\n \n \n \n \n refId\n \n \n \n \n refPermModel\n \n \n \n Optional\n \n write\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n create: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n \n \n delete: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n \n \n read: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n \n \n refId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n \n \n refPermModel: FilePermissionReferenceModel\n\n \n \n\n\n \n \n Type : FilePermissionReferenceModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n \n \n write: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileRecord.html":{"url":"entities/FileRecord.html","title":"entity - FileRecord","body":"\n \n\n\n\n\n\n\n\n Entities\n FileRecord\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n \n Description\n \n \n Note: The file record entity will not manage any entity relations by itself.\nThat's why we do not map any relations in the entity class\nand instead just use the plain object ids.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\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 Optional\n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:132\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _isCopyFrom\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'isCopyFrom', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:150\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:125\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:143\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:111\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileRecordSecurityCheck\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:117\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:108\n \n \n\n\n \n \n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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"},"classes/FileRecordFactory.html":{"url":"classes/FileRecordFactory.html","title":"class - FileRecordFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/filerecord.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n markedForDelete\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n markedForDelete\n \n \n \n \n \n \nmarkedForDelete()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/filerecord.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { FileRecord, FileRecordProperties, FileRecordSecurityCheck } from '@modules/files-storage/entity';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass FileRecordFactory extends BaseFactory {\n\tmarkedForDelete(): this {\n\t\tconst params: DeepPartial = { deletedSince: yesterday };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const fileRecordFactory = FileRecordFactory.define(FileRecord, ({ sequence }) => {\n\treturn {\n\t\tsize: Math.round(Math.random() * 100000),\n\t\tname: `file-record #${sequence}`,\n\t\tmimeType: 'application/octet-stream',\n\t\tsecurityCheck: new FileRecordSecurityCheck({}),\n\t\tparentType: FileRecordParentType.Course,\n\t\tparentId: new ObjectId().toHexString(),\n\t\tcreatorId: new ObjectId().toHexString(),\n\t\tschoolId: new ObjectId().toHexString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordListResponse.html":{"url":"classes/FileRecordListResponse.html","title":"class - FileRecordListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n FileRecordResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileRecordResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:63\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId?: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordMapper.html":{"url":"classes/FileRecordMapper.html","title":"class - FileRecordMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-record.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n Static\n mapToFileRecordListResponse\n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n \n \n \n \n \n mapScanResultParamsToDto(scanResultParams: ScanResultParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultParams\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ScanResultDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordListResponse\n \n \n \n \n \n \n \n mapToFileRecordListResponse(fileRecords: FileRecord[], total: number, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n total\n \n number\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : FileRecordListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n \n \n \n mapToFileRecordResponse(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordListResponse, FileRecordResponse, ScanResultDto, ScanResultParams } from '../controller/dto';\nimport { FileRecord, ScanStatus } from '../entity';\n\nexport class FileRecordMapper {\n\tstatic mapToFileRecordResponse(fileRecord: FileRecord): FileRecordResponse {\n\t\tconst fileRecordResponse = new FileRecordResponse(fileRecord);\n\n\t\treturn fileRecordResponse;\n\t}\n\n\tstatic mapToFileRecordListResponse(\n\t\tfileRecords: FileRecord[],\n\t\ttotal: number,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): FileRecordListResponse {\n\t\tconst responseFileRecords = fileRecords.map((fileRecord) => FileRecordMapper.mapToFileRecordResponse(fileRecord));\n\t\tconst response = new FileRecordListResponse(responseFileRecords, total, skip, limit);\n\n\t\treturn response;\n\t}\n\n\tstatic mapScanResultParamsToDto(scanResultParams: ScanResultParams): ScanResultDto {\n\t\tconst scanResult = new ScanResultDto({\n\t\t\tstatus: ScanStatus.VERIFIED,\n\t\t\treason: 'Clean',\n\t\t});\n\n\t\tif (scanResultParams.virus_detected) {\n\t\t\tscanResult.status = ScanStatus.BLOCKED;\n\t\t\tscanResult.reason = scanResultParams.virus_signature ?? 'Virus detected';\n\t\t} else if (scanResultParams.error) {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = scanResultParams.error;\n\t\t} else if (scanResultParams.virus_detected === undefined || scanResultParams.error === '') {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = 'No scan result';\n\t\t}\n\n\t\treturn scanResult;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordParams.html":{"url":"classes/FileRecordParams.html","title":"class - FileRecordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: FileRecordParentType, enumName: 'FileRecordParentType'})@IsEnum(FileRecordParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRecordProperties.html":{"url":"interfaces/FileRecordProperties.html","title":"interface - FileRecordProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\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 Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isCopyFrom\n \n \n \n \n \n \n \n \n isCopyFrom: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/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 findByCreatorId\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: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 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 findByCreatorId\n \n \n \n \n \n \n \n findByCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByParentId\n \n \n \n \n \n \n \n findByParentId(parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentId\n \n \n \n \n \n \n \n findBySchoolIdAndParentId(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentIdAndMarkedForDelete\n \n \n \n \n \n \n \n findBySchoolIdAndParentIdAndMarkedForDelete(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySecurityCheckRequestToken\n \n \n \n \n \n \n \n findBySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByIdMarkedForDelete\n \n \n \n \n \n \n \n findOneByIdMarkedForDelete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findOneOrFail\n \n \n \n \n \n \n \n findOneOrFail(scope: FileRecordScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts: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 scope\n \n FileRecordScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { FileRecord } from '../entity';\nimport { FileRecordScope } from './filerecord-scope';\n\n@Injectable()\nexport class FileRecordRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn FileRecord;\n\t}\n\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(false);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findOneByIdMarkedForDelete(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(true);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findByParentId(parentId: EntityId, options?: IFindOptions): Promise> {\n\t\tconst scope = new FileRecordScope().byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentId(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentIdAndMarkedForDelete(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(true);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySecurityCheckRequestToken(token: string): Promise {\n\t\t// Must also find expires in future. Please do not add .byExpires().\n\t\tconst scope = new FileRecordScope().bySecurityCheckRequestToken(token);\n\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findByCreatorId(creatorId: EntityId): Promise> {\n\t\tconst scope = new FileRecordScope().byCreatorId(creatorId);\n\t\tconst result = await this.findAndCount(scope);\n\n\t\treturn result;\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 Optional\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 Optional\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 byCreatorId\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 byCreatorId\n \n \n \n \n \n \nbyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFileRecordId\n \n \n \n \n \n \nbyFileRecordId(fileRecordId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMarkedForDelete\n \n \n \n \n \n \nbyMarkedForDelete(isMarked)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n isMarked\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byParentId\n \n \n \n \n \n \nbyParentId(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySecurityCheckRequestToken\n \n \n \n \n \n \nbySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { FileRecord } from '../entity';\n\nexport class FileRecordScope extends Scope {\n\tbyParentId(parentId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _parentId: new ObjectId(parentId) });\n\n\t\treturn this;\n\t}\n\n\tbyFileRecordId(fileRecordId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ id: fileRecordId });\n\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _schoolId: new ObjectId(schoolId) });\n\n\t\treturn this;\n\t}\n\n\tbySecurityCheckRequestToken(token: string): FileRecordScope {\n\t\tthis.addQuery({ securityCheck: { requestToken: token } });\n\n\t\treturn this;\n\t}\n\n\tbyMarkedForDelete(isMarked = true): FileRecordScope {\n\t\tconst query = isMarked ? { deletedSince: { $ne: null } } : { deletedSince: null };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\tbyCreatorId(creatorId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _creatorId: new ObjectId(creatorId) });\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordSecurityCheck.html":{"url":"classes/FileRecordSecurityCheck.html","title":"class - FileRecordSecurityCheck","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordSecurityCheck\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileRecordSecurityCheckProperties)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileRecordSecurityCheckProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Default value : ScanStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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"},"interfaces/FileRecordSecurityCheckProperties.html":{"url":"interfaces/FileRecordSecurityCheckProperties.html","title":"interface - FileRecordSecurityCheckProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordSecurityCheckProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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/FileRequestInfo.html":{"url":"interfaces/FileRequestInfo.html","title":"interface - FileRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileRequestInfo {\n\tschoolId: EntityId;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileResponseBuilder.html":{"url":"classes/FileResponseBuilder.html","title":"class - FileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(file: GetFile, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n GetFile\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GetFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { GetFileResponse } from '../interface';\n\nexport class FileResponseBuilder {\n\tpublic static build(file: GetFile, name: string): GetFileResponse {\n\t\tconst fileResponse = { ...file, data: file.data, name };\n\n\t\treturn fileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileSecurityCheckEntity.html":{"url":"classes/FileSecurityCheckEntity.html","title":"class - FileSecurityCheckEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileSecurityCheckEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileSecurityCheckEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileSecurityCheckEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : FileSecurityCheckStatus\n\n \n \n \n \n Default value : FileSecurityCheckStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileSecurityCheckEntityProps.html":{"url":"interfaces/FileSecurityCheckEntityProps.html","title":"interface - FileSecurityCheckEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileSecurityCheckEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: FileSecurityCheckStatus\n\n \n \n\n\n \n \n Type : FileSecurityCheckStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FileSecurityController.html":{"url":"controllers/FileSecurityController.html","title":"controller - FileSecurityController","body":"\n \n\n\n\n\n\n\n Controllers\n FileSecurityController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/file-security.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n \n \n \n downloadBySecurityToken(token: string, req: Request)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Get(FilesStorageInternalActions.downloadBySecurityToken)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n \n \n \n updateSecurityStatus(scanResultDto: ScanResultParams, token: string)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Put(FilesStorageInternalActions.updateSecurityStatus)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultDto\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Get, Param, Put, Req, StreamableFile } from '@nestjs/common';\nimport { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { FilesStorageInternalActions } from '../files-storage.const';\nimport { FilesStorageUC } from '../uc';\nimport { ScanResultParams } from './dto';\n\n@ApiTags('file-security')\n@Controller()\nexport class FileSecurityController {\n\tconstructor(private readonly filesStorageUC: FilesStorageUC) {}\n\n\t@ApiExcludeEndpoint()\n\t@Get(FilesStorageInternalActions.downloadBySecurityToken)\n\tasync downloadBySecurityToken(@Param('token') token: string, @Req() req: Request) {\n\t\tconst res = await this.filesStorageUC.downloadBySecurityToken(token);\n\t\treq.on('close', () => {\n\t\t\tres.data.destroy();\n\t\t});\n\n\t\treturn new StreamableFile(res.data, {\n\t\t\ttype: res.contentType,\n\t\t\tdisposition: `attachment;`,\n\t\t});\n\t}\n\n\t@ApiExcludeEndpoint()\n\t@Put(FilesStorageInternalActions.updateSecurityStatus)\n\tasync updateSecurityStatus(@Body() scanResultDto: ScanResultParams, @Param('token') token: string) {\n\t\tawait this.filesStorageUC.updateSecurityStatus(token, scanResultDto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileStorageConfig.html":{"url":"interfaces/FileStorageConfig.html","title":"interface - FileStorageConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileStorageConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { S3Config } from '@infra/s3-client';\nimport { CoreModuleConfig } from '@src/core';\n\nexport const FILES_STORAGE_S3_CONNECTION = 'FILES_STORAGE_S3_CONNECTION';\nexport interface FileStorageConfig extends CoreModuleConfig {\n\tMAX_FILE_SIZE: number;\n\tMAX_SECURITY_CHECK_FILE_SIZE: number;\n\tUSE_STREAM_TO_ANTIVIRUS: boolean;\n}\n\nexport const defaultConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('FILES_STORAGE__INCOMING_REQUEST_TIMEOUT') as number,\n};\n\nconst fileStorageConfig: FileStorageConfig = {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tMAX_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tMAX_SECURITY_CHECK_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tUSE_STREAM_TO_ANTIVIRUS: Configuration.get('FILES_STORAGE__USE_STREAM_TO_ANTIVIRUS') as boolean,\n\t...defaultConfig,\n};\n\n// The configurations lookup\n// config/development.json for development\n// config/test.json for tests\nexport const s3Config: S3Config = {\n\tconnectionName: FILES_STORAGE_S3_CONNECTION,\n\tendpoint: Configuration.get('FILES_STORAGE__S3_ENDPOINT') as string,\n\tregion: Configuration.get('FILES_STORAGE__S3_REGION') as string,\n\tbucket: Configuration.get('FILES_STORAGE__S3_BUCKET') as string,\n\taccessKeyId: Configuration.get('FILES_STORAGE__S3_ACCESS_KEY_ID') as string,\n\tsecretAccessKey: Configuration.get('FILES_STORAGE__S3_SECRET_ACCESS_KEY') as string,\n};\n\nexport const config = () => fileStorageConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FileSystemAdapter.html":{"url":"injectables/FileSystemAdapter.html","title":"injectable - FileSystemAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FileSystemAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/file-system/file-system.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDir\n \n \n Async\n createTmpDir\n \n \n joinPath\n \n \n Async\n readDir\n \n \n Async\n readFile\n \n \n Async\n removeDirRecursive\n \n \n Async\n writeFile\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDir\n \n \n \n \n \n \n \n createDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:26\n \n \n\n\n \n \n creates a directory if not already exists\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createTmpDir\n \n \n \n \n \n \n \n createTmpDir(dirNamePrefix: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:68\n \n \n\n\n \n \n Creates a folder in systems temp path.\nThe dirNamePrefix given will be extended by six random characters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dirNamePrefix\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n full path string to temp folder, format depends on os\n\n \n \n \n \n \n \n \n \n \n \n \n joinPath\n \n \n \n \n \n \njoinPath(...paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n readDir\n \n \n \n \n \n \n \n readDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:36\n \n \n\n\n \n \n Lists filenames of given folderPath\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n string array of filenames\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n readFile\n \n \n \n \n \n \n \n readFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:57\n \n \n\n\n \n \n Read file from filesystem with given encoding, defaults to utf-8\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to existing file, format depending on os\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n file content as encoded text\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n removeDirRecursive\n \n \n \n \n \n \n \n removeDirRecursive(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:78\n \n \n\n\n \n \n Removes the given folder recursively including content when not empty.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder, format depending on\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n writeFile\n \n \n \n \n \n \n \n writeFile(filePath: string, text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:48\n \n \n\n\n \n \n Write text to file, will override existing files.\nThe folder in which the file will be created must exist.\nThe path format depends on os\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to a file\n\n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n \n \n Type : BufferEncoding\n\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n\n \n \n getEOL()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:18\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { promises as fsp, existsSync } from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nimport rimraf = require('rimraf');\n\nconst { mkdir, readdir, writeFile, readFile, mkdtemp } = fsp;\n\n@Injectable()\nexport class FileSystemAdapter {\n\tprivate encoding: BufferEncoding;\n\n\tconstructor() {\n\t\tthis.encoding = 'utf-8';\n\t}\n\n\tget EOL(): string {\n\t\treturn os.EOL;\n\t}\n\n\t/**\n\t * creates a directory if not already exists\n\t * @param folderPath\n\t */\n\tasync createDir(folderPath: string): Promise {\n\t\tconst exists = existsSync(folderPath);\n\t\tif (!exists) await mkdir(folderPath);\n\t}\n\n\t/**\n\t * Lists filenames of given folderPath\n\t * @param folderPath path to an existing folder\n\t * @returns string array of filenames\n\t */\n\tasync readDir(folderPath: string): Promise {\n\t\tconst filenames = await readdir(folderPath, { encoding: this.encoding });\n\t\treturn filenames;\n\t}\n\n\t/**\n\t * Write text to file, will override existing files.\n\t * The folder in which the file will be created must exist.\n\t * The path format depends on os\n\t * @param filePath path to a file\n\t * @param text\n\t */\n\tasync writeFile(filePath: string, text: string): Promise {\n\t\tawait writeFile(filePath, text);\n\t}\n\n\t/**\n\t * Read file from filesystem with given encoding, defaults to utf-8\n\t * @param filePath path to existing file, format depending on os\n\t * @returns file content as encoded text\n\t */\n\tasync readFile(filePath: string): Promise {\n\t\tconst text = await readFile(filePath, this.encoding);\n\t\treturn text;\n\t}\n\n\t/**\n\t * Creates a folder in systems temp path.\n\t * The dirNamePrefix given will be extended by six random characters.\n\t * @param dirNamePrefix\n\t * @returns full path string to temp folder, format depends on os\n\t */\n\tasync createTmpDir(dirNamePrefix: string): Promise {\n\t\tconst dirPath = this.joinPath(os.tmpdir(), dirNamePrefix);\n\t\tconst tmpDirPath = await mkdtemp(dirPath);\n\t\treturn tmpDirPath;\n\t}\n\n\t/**\n\t * Removes the given folder recursively including content when not empty.\n\t * @param folderPath path to an existing folder, format depending on\n\t */\n\tasync removeDirRecursive(folderPath: string): Promise {\n\t\t// fs.rm changed in node 14.14, use rimraf instead\n\t\trimraf.sync(folderPath);\n\t\treturn Promise.resolve();\n\t}\n\n\tjoinPath(...paths: string[]): string {\n\t\treturn path.join(...paths);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FileSystemModule.html":{"url":"modules/FileSystemModule.html","title":"module - FileSystemModule","body":"\n \n\n\n\n\n Modules\n FileSystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FileSystemModule\n\n\n\ncluster_FileSystemModule_providers\n\n\n\ncluster_FileSystemModule_exports\n\n\n\n\nFileSystemAdapter \n\nFileSystemAdapter \n\n\n\nFileSystemModule\n\nFileSystemModule\n\nFileSystemAdapter -->\n\nFileSystemModule->FileSystemAdapter \n\n\n\n\n\nFileSystemAdapter\n\nFileSystemAdapter\n\nFileSystemModule -->\n\nFileSystemAdapter->FileSystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/file-system/file-system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileSystemAdapter\n \n \n \n \n Exports\n \n \n FileSystemAdapter\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FileSystemAdapter } from './file-system.adapter';\n\n@Module({\n\tproviders: [FileSystemAdapter],\n\texports: [FileSystemAdapter],\n})\nexport class FileSystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileUrlParams.html":{"url":"classes/FileUrlParams.html","title":"class - FileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n Optional\n headers\n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n headers\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesModule.html":{"url":"modules/FilesModule.html","title":"module - FilesModule","body":"\n \n\n\n\n\n Modules\n FilesModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesModule\n\n\n\ncluster_FilesModule_imports\n\n\n\ncluster_FilesModule_exports\n\n\n\ncluster_FilesModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nFilesModule\n\nFilesModule\n\nFilesModule -->\n\nLoggerModule->FilesModule\n\n\n\n\n\nFilesService \n\nFilesService \n\nFilesService -->\n\nFilesModule->FilesService \n\n\n\n\n\nDeleteFilesUc\n\nDeleteFilesUc\n\nFilesModule -->\n\nDeleteFilesUc->FilesModule\n\n\n\n\n\nFilesRepo\n\nFilesRepo\n\nFilesModule -->\n\nFilesRepo->FilesModule\n\n\n\n\n\nFilesService\n\nFilesService\n\nFilesModule -->\n\nFilesService->FilesModule\n\n\n\n\n\nStorageProviderRepo\n\nStorageProviderRepo\n\nFilesModule -->\n\nStorageProviderRepo->FilesModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files/files.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeleteFilesUc\n \n \n FilesRepo\n \n \n FilesService\n \n \n StorageProviderRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n FilesService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeleteFilesConsole } from './job';\nimport { DeleteFilesUc } from './uc';\nimport { FilesRepo } from './repo';\nimport { FilesService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeleteFilesConsole, DeleteFilesUc, FilesRepo, StorageProviderRepo, FilesService],\n\texports: [FilesService],\n})\nexport class FilesModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesRepo.html":{"url":"injectables/FilesRepo.html","title":"injectable - FilesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/repo/files.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n Public\n Async\n findByPermissionRefId\n \n \n Public\n Async\n findForCleanup\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n \n \n \n \n \n findByOwnerUserId(ownerUserId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ownerUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByPermissionRefId\n \n \n \n \n \n \n \n findByPermissionRefId(permissionRefId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n permissionRefId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findForCleanup\n \n \n \n \n \n \n \n findForCleanup(thresholdDate: Date, batchSize: number, offset: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { FileOwnerModel } from '../domain';\nimport { FileEntity } from '../entity';\n\n@Injectable()\nexport class FilesRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn FileEntity;\n\t}\n\n\tpublic async findForCleanup(thresholdDate: Date, batchSize: number, offset: number): Promise {\n\t\tconst filter = { deletedAt: { $lte: thresholdDate } };\n\t\tconst options = {\n\t\t\torderBy: { id: 'asc' },\n\t\t\tlimit: batchSize,\n\t\t\toffset,\n\t\t\tpopulate: ['storageProvider'] as never[],\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter, options);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByOwnerUserId(ownerUserId: EntityId): Promise {\n\t\tconst filter = {\n\t\t\towner: new ObjectId(ownerUserId),\n\t\t\trefOwnerModel: FileOwnerModel.USER,\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByPermissionRefId(permissionRefId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\trefId: new ObjectId(permissionRefId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawFilesDocuments = await this._em.aggregate(FileEntity, pipeline);\n\n\t\tconst files = rawFilesDocuments.map((rawFileDocument) =>\n\t\t\tthis._em.map(FileEntity, rawFileDocument as EntityDictionary)\n\t\t);\n\n\t\treturn files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesService.html":{"url":"injectables/FilesService.html","title":"injectable - FilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/service/files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n Async\n findFilesOwnedByUser\n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: FilesRepo)\n \n \n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n \n \n \n \n \n findFilesAccessibleByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findFilesOwnedByUser\n \n \n \n \n \n \n \n findFilesOwnedByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n \n \n \n \n \n markFilesOwnedByUserForDeletion(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n \n \n \n removeUserPermissionsToAnyFiles(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class FilesService {\n\tconstructor(private readonly repo: FilesRepo) {}\n\n\tasync findFilesAccessibleByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByPermissionRefId(userId);\n\t}\n\n\tasync removeUserPermissionsToAnyFiles(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByPermissionRefId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.removePermissionsByRefId(userId));\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n\n\tasync findFilesOwnedByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByOwnerUserId(userId);\n\t}\n\n\tasync markFilesOwnedByUserForDeletion(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByOwnerUserId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.markForDeletion());\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageAMQPModule.html":{"url":"modules/FilesStorageAMQPModule.html","title":"module - FilesStorageAMQPModule","body":"\n \n\n\n\n\n Modules\n FilesStorageAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageAMQPModule\n\n\n\ncluster_FilesStorageAMQPModule_imports\n\n\n\ncluster_FilesStorageAMQPModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule -->\n\nCoreModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageAMQPModule -->\n\nFilesStorageModule->FilesStorageAMQPModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageAMQPModule -->\n\nLoggerModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageConsumer\n\nFilesStorageConsumer\n\nFilesStorageAMQPModule -->\n\nFilesStorageConsumer->FilesStorageAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageConsumer\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FilesStorageConsumer } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\n\n@Module({\n\timports: [FilesStorageModule, CoreModule, LoggerModule],\n\tproviders: [FilesStorageConsumer],\n})\nexport class FilesStorageAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageApiModule.html":{"url":"modules/FilesStorageApiModule.html","title":"module - FilesStorageApiModule","body":"\n \n\n\n\n\n Modules\n FilesStorageApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageApiModule\n\n\n\ncluster_FilesStorageApiModule_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 Async\n removeCreatorIdFromFileRecords\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, fileStorageMQProducer: FilesStorageProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n fileStorageMQProducer\n \n \n FilesStorageProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(param: CopyFilesRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CopyFilesRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(param: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n \n \n \n removeCreatorIdFromFileRecords(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.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 creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\nimport { FilesStorageClientMapper } from '../mapper';\nimport { FilesStorageProducer } from './files-storage.producer';\n\n@Injectable()\nexport class FilesStorageClientAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly fileStorageMQProducer: FilesStorageProducer) {\n\t\tthis.logger.setContext(FilesStorageClientAdapterService.name);\n\t}\n\n\tasync copyFilesOfParent(param: CopyFilesRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.copyFilesOfParent(param);\n\t\tconst fileInfos = FilesStorageClientMapper.mapCopyFileListResponseToCopyFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync listFilesOfParent(param: FileRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.listFilesOfParent(param);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync deleteFilesOfParent(parentId: EntityId): Promise {\n\t\tconst response = await this.fileStorageMQProducer.deleteFilesOfParent(parentId);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync removeCreatorIdFromFileRecords(creatorId: EntityId): Promise {\n\t\tconst response = await this.fileStorageMQProducer.removeCreatorIdFromFileRecords(creatorId);\n\n\t\treturn response.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"},"interfaces/FilesStorageClientConfig.html":{"url":"interfaces/FilesStorageClientConfig.html","title":"interface - FilesStorageClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilesStorageClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/files-storage-client-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FilesStorageClientConfig {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilesStorageClientMapper.html":{"url":"classes/FilesStorageClientMapper.html","title":"class - FilesStorageClientMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilesStorageClientMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n Static\n mapEntityToParentType\n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n Static\n mapStringToParentType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n \n \n \n \n \n mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyFileListResponse\n \n CopyFileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n \n \n \n \n \n mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n CopyFileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToParentType\n \n \n \n \n \n \n \n mapEntityToParentType(entity: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n \n \n \n \n \n mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordListResponse\n \n FileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n \n \n \n \n \n mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordResponse\n \n FileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapStringToParentType\n \n \n \n \n \n \n \n mapStringToParentType(input: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { LessonEntity, Submission, Task } from '@shared/domain/entity';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { CopyFileDomainObjectProps, EntitiesWithFiles, FileDomainObjectProps } from '../interfaces';\n\nexport class FilesStorageClientMapper {\n\tstatic mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[]): FileDto[] {\n\t\tconst filesDto = fileRecordListResponse.map((record: FileDomainObjectProps) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapFileRecordResponseToFileDto(record);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[]): CopyFileDto[] {\n\t\tconst filesDto = copyFileListResponse.map((response) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapCopyFileResponseToCopyFileDto(response);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps) {\n\t\tconst parentType = FilesStorageClientMapper.mapStringToParentType(fileRecordResponse.parentType);\n\t\tconst fileDto = new FileDto({\n\t\t\tid: fileRecordResponse.id,\n\t\t\tname: fileRecordResponse.name,\n\t\t\tparentType,\n\t\t\tparentId: fileRecordResponse.parentId,\n\t\t});\n\n\t\treturn fileDto;\n\t}\n\n\tstatic mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps) {\n\t\tconst dto = new CopyFileDto({\n\t\t\tid: response.id,\n\t\t\tsourceId: response.sourceId,\n\t\t\tname: response.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n\n\tstatic mapStringToParentType(input: string): FileRecordParentType {\n\t\tlet response: FileRecordParentType;\n\t\tconst allowedStrings = Object.values(FileRecordParentType);\n\n\t\tif (allowedStrings.includes(input as FileRecordParentType)) {\n\t\t\tresponse = input as FileRecordParentType;\n\t\t} else {\n\t\t\tthrow new Error(`Mapping type is not supported. ${input}`);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tstatic mapEntityToParentType(entity: EntitiesWithFiles): FileRecordParentType {\n\t\tif (entity instanceof LessonEntity) return FileRecordParentType.Lesson;\n\n\t\tif (entity instanceof Task) return FileRecordParentType.Task;\n\n\t\tif (entity instanceof Submission) return FileRecordParentType.Submission;\n\n\t\tthrow new Error(`Mapping type is not supported.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageClientModule.html":{"url":"modules/FilesStorageClientModule.html","title":"module - FilesStorageClientModule","body":"\n \n\n\n\n\n Modules\n FilesStorageClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageClientModule\n\n\n\ncluster_FilesStorageClientModule_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 Public\n Async\n removeCreatorIdFromFileRecords\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 \n \n Public\n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n \n \n \n removeCreatorIdFromFileRecords(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: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 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 import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { CopyFileDO, FileDO, FilesStorageEvents, FilesStorageExchange } from '@infra/rabbitmq';\nimport { RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { MikroORM, UseRequestContext } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageMapper } from '../mapper';\nimport { FilesStorageService } from '../service/files-storage.service';\nimport { PreviewService } from '../service/preview.service';\nimport { CopyFilesOfParentPayload, FileRecordParams } from './dto';\n\n@Injectable()\nexport class FilesStorageConsumer {\n\tconstructor(\n\t\tprivate readonly filesStorageService: FilesStorageService,\n\t\tprivate readonly previewService: PreviewService,\n\t\tprivate logger: LegacyLogger,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tprivate readonly orm: MikroORM // don't remove it, we need it for @UseRequestContext\n\t) {\n\t\tthis.logger.setContext(FilesStorageConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async copyFilesOfParent(\n\t\t@RabbitPayload() payload: CopyFilesOfParentPayload\n\t): Promise> {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent', payload });\n\n\t\tconst { userId, source, target } = payload;\n\t\tconst [response] = await this.filesStorageService.copyFilesOfParent(userId, source, { target });\n\n\t\treturn { message: response };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async getFilesOfParent(@RabbitPayload() payload: FileRecordParams): Promise> {\n\t\tthis.logger.debug({ action: 'getFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload.parentId);\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async deleteFilesOfParent(@RabbitPayload() payload: EntityId): Promise> {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload);\n\n\t\tawait this.previewService.deletePreviews(fileRecords);\n\t\tawait this.filesStorageService.deleteFilesOfParent(fileRecords);\n\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.REMOVE_CREATORID_OF_FILES,\n\t\tqueue: FilesStorageEvents.REMOVE_CREATORID_OF_FILES,\n\t})\n\t@UseRequestContext()\n\tpublic async removeCreatorIdFromFileRecords(@RabbitPayload() payload: EntityId): Promise> {\n\t\tthis.logger.debug({ action: 'removeCreatorIdFromFileRecords', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsByCreatorId(payload);\n\t\tlet updatedFileRecords = await this.filesStorageService.removeCreatorIdFromFileRecords(fileRecords);\n\t\tupdatedFileRecords = updatedFileRecords ?? [];\n\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(updatedFileRecords, 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 { AntivirusModule } from '@infra/antivirus';\nimport { PreviewGeneratorProducerModule } from '@infra/preview-generator';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord, FileRecordSecurityCheck } from './entity';\nimport { config, s3Config } from './files-storage.config';\nimport { FileRecordRepo } from './repo';\nimport { FilesStorageService, PreviewService } from './service';\n\nconst imports = [\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tAntivirusModule.forRoot({\n\t\tenabled: Configuration.get('ENABLE_FILE_SECURITY_CHECK') as boolean,\n\t\tfilesServiceBaseUrl: Configuration.get('FILES_STORAGE__SERVICE_BASE_URL') as string,\n\t\texchange: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('ANTIVIRUS_ROUTING_KEY') as string,\n\t\thostname: Configuration.get('CLAMAV__SERVICE_HOSTNAME') as string,\n\t\tport: Configuration.get('CLAMAV__SERVICE_PORT') as number,\n\t}),\n\tS3ClientModule.register([s3Config]),\n\tPreviewGeneratorProducerModule,\n];\nconst providers = [FilesStorageService, PreviewService, FileRecordRepo];\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\t...imports,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileRecord, FileRecordSecurityCheck],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t],\n\tproviders,\n\texports: [FilesStorageService, PreviewService],\n})\nexport class FilesStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageProducer.html":{"url":"injectables/FilesStorageProducer.html","title":"injectable - FilesStorageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: LegacyLogger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(payload: CopyFilesOfParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n CopyFilesOfParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(payload: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(payload: FileRecordParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n FileRecordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n \n \n \n removeCreatorIdFromFileRecords(payload: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.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 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 Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport {\n\tCopyFileDO,\n\tCopyFilesOfParentParams,\n\tFileDO,\n\tFileRecordParams,\n\tFilesStorageEvents,\n\tFilesStorageExchange,\n\tRpcMessageProducer,\n} from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageClientConfig } from '../interfaces';\n\n@Injectable()\nexport class FilesStorageProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tsuper(amqpConnection, FilesStorageExchange, configService.get('INCOMING_REQUEST_TIMEOUT_COPY_API'));\n\t\tthis.logger.setContext(FilesStorageProducer.name);\n\t}\n\n\tasync copyFilesOfParent(payload: CopyFilesOfParentParams): Promise {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.COPY_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync listFilesOfParent(payload: FileRecordParams): Promise {\n\t\tthis.logger.debug({ action: 'listFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.LIST_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'listFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync deleteFilesOfParent(payload: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.DELETE_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync removeCreatorIdFromFileRecords(payload: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'removeCreatorIdFromFileRecords:started', payload });\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst response = await this.request(FilesStorageEvents.REMOVE_CREATORID_OF_FILES, payload);\n\n\t\tthis.logger.debug({ action: 'removeCreatorIdFromFileRecords:finished', payload });\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageTestModule.html":{"url":"modules/FilesStorageTestModule.html","title":"module - FilesStorageTestModule","body":"\n \n\n\n\n\n Modules\n FilesStorageTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageTestModule\n\n\n\ncluster_FilesStorageTestModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageTestModule\n\nFilesStorageTestModule\n\nFilesStorageTestModule -->\n\nAuthenticationModule->FilesStorageTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFilesStorageTestModule -->\n\nAuthorizationModule->FilesStorageTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageTestModule -->\n\nCoreModule->FilesStorageTestModule\n\n\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageTestModule -->\n\nFilesStorageApiModule->FilesStorageTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageTestModule -->\n\nLoggerModule->FilesStorageTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFilesStorageTestModule -->\n\nMongoMemoryDatabaseModule->FilesStorageTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFilesStorageTestModule -->\n\nRabbitMQWrapperTestModule->FilesStorageTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-test.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n FilesStorageApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/files-storage-test.module.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\n\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord } from './entity';\nimport { FilesStorageApiModule } from './files-storage-api.module';\n\nconst imports = [\n\tFilesStorageApiModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, FileRecord] }),\n\tRabbitMQWrapperTestModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst controllers = [];\nconst providers = [];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FilesStorageTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FilesStorageTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterImportUserParams.html":{"url":"classes/FilterImportUserParams.html","title":"class - FilterImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n Optional\n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()@ApiPropertyOptional({type: String})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:54\n \n \n\n \n \n filter available classes for contains\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : FilterMatchType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: FilterMatchType, isArray: true})@IsOptional()@IsEnum(FilterMatchType, {each: true})@SingleValueToArrayTransformer()@IsArray()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n role\n \n \n \n \n \n \n Type : FilterRoleType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(FilterRoleType)@ApiPropertyOptional({enum: FilterRoleType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:59\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SingleValueToArrayTransformer } from '@shared/controller';\nimport { IsArray, IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport enum FilterMatchType {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\nexport enum FilterRoleType {\n\tSTUDENT = 'student',\n\tTEACHER = 'teacher',\n\tADMIN = 'admin',\n}\n\nexport class FilterImportUserParams {\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tfirstName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tlastName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tloginName?: string;\n\n\t@ApiPropertyOptional({ enum: FilterMatchType, isArray: true })\n\t@IsOptional()\n\t@IsEnum(FilterMatchType, { each: true })\n\t@SingleValueToArrayTransformer()\n\t@IsArray()\n\tmatch?: FilterMatchType[];\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsBoolean()\n\tflagged?: boolean;\n\n\t/**\n\t * filter available classes for contains\n\t */\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiPropertyOptional({ type: String })\n\tclasses?: string;\n\n\t@IsOptional()\n\t@IsEnum(FilterRoleType)\n\t@ApiPropertyOptional({ enum: FilterRoleType })\n\trole?: FilterRoleType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterNewsParams.html":{"url":"classes/FilterNewsParams.html","title":"class - FilterNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/filter-news.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the news are related (works only together with targetModel)'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEnum(NewsTargetModel)@ApiPropertyOptional({enum: NewsTargetModel, description: 'Target model to which the news are related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Flag that filters if the news should be published or not'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/transformer';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class FilterNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEnum(NewsTargetModel)\n\t@ApiPropertyOptional({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the news are related',\n\t})\n\ttargetModel?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the news are related (works only together with targetModel)',\n\t})\n\ttargetId?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Flag that filters if the news should be published or not',\n\t})\n\tunpublished?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterUserParams.html":{"url":"classes/FilterUserParams.html","title":"class - FilterUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-user.params.ts:12\n \n \n\n \n \n filter firstname or lastname for given value\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class FilterUserParams {\n\t/**\n\t * filter firstname or lastname for given value\n\t */\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenLoggableException.html":{"url":"classes/ForbiddenLoggableException.html","title":"class - ForbiddenLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n ForbiddenException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, entityName: string, context: AuthorizationContext)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n AuthorizationContext\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:16\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ForbiddenException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { AuthorizationContext } from '../type';\n\nexport class ForbiddenLoggableException extends ForbiddenException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly entityName: string,\n\t\tprivate readonly context: AuthorizationContext\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'FORBIDDEN_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tentityName: this.entityName,\n\t\t\t\taction: this.context.action,\n\t\t\t\trequiredPermissions: this.context.requiredPermissions.join(','),\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenOperationError.html":{"url":"classes/ForbiddenOperationError.html","title":"class - ForbiddenOperationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenOperationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/forbidden-operation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/forbidden-operation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ForbiddenOperationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'FORBIDDEN_OPERATION',\n\t\t\t\ttitle: 'Forbidden Operation Error',\n\t\t\t\tdefaultMessage: message ?? 'A forbidden operation error occurred.',\n\t\t\t},\n\t\t\tHttpStatus.FORBIDDEN,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FwuLearningContentsController.html":{"url":"controllers/FwuLearningContentsController.html","title":"controller - FwuLearningContentsController","body":"\n \n\n\n\n\n\n\n Controllers\n FwuLearningContentsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts\n \n\n \n Prefix\n \n \n fwu\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(req: Request, res: Response, params: GetFwuLearningContentParams)\n \n \n\n \n \n Decorators : \n \n @Get('*/:fwuLearningContent')\n \n \n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n params\n \n GetFwuLearningContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport {\n\tController,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tReq,\n\tRes,\n\tStreamableFile,\n} from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate } from '@modules/authentication';\nimport { Request, Response } from 'express';\nimport { FwuLearningContentsUc } from '../uc/fwu-learning-contents.uc';\nimport { GetFwuLearningContentParams } from './dto/fwu-learning-contents.params';\n\n@ApiTags('fwu')\n@Authenticate('jwt')\n@Controller('fwu')\nexport class FwuLearningContentsController {\n\tconstructor(private readonly fwuLearningContentsUc: FwuLearningContentsUc) {}\n\n\t@Get('*/:fwuLearningContent')\n\tasync get(\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@Param() params: GetFwuLearningContentParams\n\t): Promise {\n\t\tif (!Configuration.get('FEATURE_FWU_CONTENT_ENABLED')) {\n\t\t\tthrow new InternalServerErrorException('Feature FWU content is not enabled.');\n\t\t}\n\t\tconst bytesRange = req.header('Range');\n\t\tconst path = `${req.params[0]}/${params.fwuLearningContent}`;\n\t\tconst response = await this.fwuLearningContentsUc.get(path, bytesRange);\n\n\t\tif (bytesRange) {\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': response.contentRange,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\n\t\treq.on('close', () => response.data.destroy());\n\n\t\treturn new StreamableFile(response.data, {\n\t\t\ttype: response.contentType,\n\t\t\tdisposition: `inline; filename=\"${encodeURI(params.fwuLearningContent)}\"`,\n\t\t\tlength: response.contentLength,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsModule.html":{"url":"modules/FwuLearningContentsModule.html","title":"module - FwuLearningContentsModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsModule\n\n\n\ncluster_FwuLearningContentsModule_imports\n\n\n\ncluster_FwuLearningContentsModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule -->\n\nAuthenticationModule->FwuLearningContentsModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsModule -->\n\nAuthorizationModule->FwuLearningContentsModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsModule -->\n\nCoreModule->FwuLearningContentsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsModule -->\n\nLoggerModule->FwuLearningContentsModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nFwuLearningContentsModule -->\n\nRabbitMQWrapperModule->FwuLearningContentsModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsModule -->\n\nS3ClientModule->FwuLearningContentsModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsModule -->\n\nFwuLearningContentsUc->FwuLearningContentsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tLoggerModule,\n\t\tHttpModule,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t\tS3ClientModule.register([s3Config]),\n\t],\n\tcontrollers: [FwuLearningContentsController],\n\tproviders: [FwuLearningContentsUc],\n})\nexport class FwuLearningContentsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsTestModule.html":{"url":"modules/FwuLearningContentsTestModule.html","title":"module - FwuLearningContentsTestModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsTestModule\n\n\n\ncluster_FwuLearningContentsTestModule_imports\n\n\n\ncluster_FwuLearningContentsTestModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule -->\n\nAuthenticationModule->FwuLearningContentsTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsTestModule -->\n\nAuthorizationModule->FwuLearningContentsTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsTestModule -->\n\nCoreModule->FwuLearningContentsTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsTestModule -->\n\nLoggerModule->FwuLearningContentsTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFwuLearningContentsTestModule -->\n\nMongoMemoryDatabaseModule->FwuLearningContentsTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFwuLearningContentsTestModule -->\n\nRabbitMQWrapperTestModule->FwuLearningContentsTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsTestModule -->\n\nS3ClientModule->FwuLearningContentsTestModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsTestModule -->\n\nFwuLearningContentsUc->FwuLearningContentsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst imports = [\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity] }),\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tHttpModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3Config]),\n];\nconst controllers = [FwuLearningContentsController];\nconst providers = [FwuLearningContentsUc];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FwuLearningContentsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FwuLearningContentsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FwuLearningContentsUc.html":{"url":"injectables/FwuLearningContentsUc.html","title":"injectable - FwuLearningContentsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FwuLearningContentsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, storageClient: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FWU_CONTENT_S3_CONNECTION } from '../fwu-learning-contents.config';\n\n@Injectable()\nexport class FwuLearningContentsUc {\n\tconstructor(\n\t\tprivate logger: LegacyLogger,\n\t\t@Inject(FWU_CONTENT_S3_CONNECTION) private readonly storageClient: S3ClientAdapter\n\t) {\n\t\tthis.logger.setContext(FwuLearningContentsUc.name);\n\t}\n\n\tasync get(path: string, bytesRange?: string) {\n\t\tconst response = await this.storageClient.get(path, bytesRange);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFile.html":{"url":"interfaces/GetFile.html","title":"interface - GetFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse.html":{"url":"interfaces/GetFileResponse.html","title":"interface - GetFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse-1.html":{"url":"interfaces/GetFileResponse-1.html","title":"interface - GetFileResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetFwuLearningContentParams.html":{"url":"classes/GetFwuLearningContentParams.html","title":"class - GetFwuLearningContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetFwuLearningContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Matches('([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)')@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString, Matches } from 'class-validator';\n\nexport class GetFwuLearningContentParams {\n\t@ApiProperty()\n\t@Matches(\n\t\t'([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)'\n\t)\n\t@IsString()\n\t@IsNotEmpty()\n\tfwuLearningContent!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PContentParams.html":{"url":"classes/GetH5PContentParams.html","title":"class - GetH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n Optional\n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParams.html":{"url":"classes/GetH5PEditorParams.html","title":"class - GetH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParamsCreate.html":{"url":"classes/GetH5PEditorParamsCreate.html","title":"class - GetH5PEditorParamsCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParamsCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5PFileResponse.html":{"url":"interfaces/GetH5PFileResponse.html","title":"interface - GetH5PFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5PFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5pFileResponse.html":{"url":"interfaces/GetH5pFileResponse.html","title":"interface - GetH5pFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5pFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile.html":{"url":"interfaces/GetLibraryFile.html","title":"interface - GetLibraryFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile-1.html":{"url":"interfaces/GetLibraryFile-1.html","title":"interface - GetLibraryFile-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/uc/dto/h5p-getLibraryFile.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetMetaTagDataBody.html":{"url":"classes/GetMetaTagDataBody.html","title":"class - GetMetaTagDataBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetMetaTagDataBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class GetMetaTagDataBody {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\turl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConstants.html":{"url":"interfaces/GlobalConstants.html","title":"interface - GlobalConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/config/database.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n DB_PASSWORD\n \n \n \n \n DB_URL\n \n \n \n Optional\n \n DB_USERNAME\n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n DB_PASSWORD\n \n \n \n \n \n \n \n \n DB_PASSWORD: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n DB_URL\n \n \n \n \n \n \n \n \n DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n DB_USERNAME\n \n \n \n \n \n \n \n \n DB_USERNAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n TLDRAW_DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import globals = require('../../../../config/globals');\n\ninterface GlobalConstants {\n\tDB_URL: string;\n\tDB_PASSWORD?: string;\n\tDB_USERNAME?: string;\n\tTLDRAW_DB_URL: string;\n}\n\nconst usedGlobals: GlobalConstants = globals;\n\n/** Database URL */\nexport const { DB_URL, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } = usedGlobals;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalErrorFilter.html":{"url":"classes/GlobalErrorFilter.html","title":"class - GlobalErrorFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalErrorFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/filter/global-error.filter.ts\n \n\n\n\n\n \n Implements\n \n \n ExceptionFilter\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n catch\n \n \n Private\n createErrorLoggable\n \n \n Private\n createErrorResponse\n \n \n Private\n createErrorResponseForBusinessError\n \n \n Private\n createErrorResponseForFeathersError\n \n \n Private\n createErrorResponseForNestHttpException\n \n \n Private\n createErrorResponseForUnknownError\n \n \n Private\n sendHttpResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: ErrorLogger)\n \n \n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n ErrorLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n catch\n \n \n \n \n \n \ncatch(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | RpcMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorLoggable\n \n \n \n \n \n \n \n createErrorLoggable(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponse\n \n \n \n \n \n \n \n createErrorResponse(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForBusinessError\n \n \n \n \n \n \n \n createErrorResponseForBusinessError(error: BusinessError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n BusinessError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForFeathersError\n \n \n \n \n \n \n \n createErrorResponseForFeathersError(error: FeathersError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n FeathersError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForNestHttpException\n \n \n \n \n \n \n \n createErrorResponseForNestHttpException(exception: HttpException)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n exception\n \n HttpException\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForUnknownError\n \n \n \n \n \n \n \n createErrorResponseForUnknownError()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:102\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n sendHttpResponse\n \n \n \n \n \n \n \n sendHttpResponse(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError, RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common';\nimport { ApiValidationError, BusinessError } from '@shared/common';\nimport { ErrorLogger, Loggable } from '@src/core/logger';\nimport { LoggingUtils } from '@src/core/logger/logging.utils';\nimport { Response } from 'express';\nimport _ from 'lodash';\nimport util from 'util';\nimport { ApiValidationErrorResponse, ErrorResponse } from '../dto';\nimport { FeathersError } from '../interface';\nimport { ErrorLoggable } from '../loggable/error.loggable';\nimport { ErrorUtils } from '../utils';\n\n@Catch()\nexport class GlobalErrorFilter implements ExceptionFilter {\n\tconstructor(private readonly logger: ErrorLogger) {}\n\n\t// eslint-disable-next-line consistent-return\n\tcatch(error: T, host: ArgumentsHost): void | RpcMessage {\n\t\tconst loggable = this.createErrorLoggable(error);\n\t\tthis.logger.error(loggable);\n\n\t\tconst contextType = host.getType();\n\n\t\tif (contextType === 'http') {\n\t\t\tthis.sendHttpResponse(error, host);\n\t\t}\n\n\t\tif (contextType === 'rmq') {\n\t\t\treturn { message: undefined, error };\n\t\t}\n\t}\n\n\tprivate createErrorLoggable(error: unknown): Loggable {\n\t\tlet loggable: Loggable;\n\n\t\tif (LoggingUtils.isInstanceOfLoggable(error)) {\n\t\t\tloggable = error;\n\t\t} else if (error instanceof Error) {\n\t\t\tloggable = new ErrorLoggable(error);\n\t\t} else {\n\t\t\tconst unknownError = new Error(util.inspect(error));\n\t\t\tloggable = new ErrorLoggable(unknownError);\n\t\t}\n\n\t\treturn loggable;\n\t}\n\n\tprivate sendHttpResponse(error: T, host: ArgumentsHost): void {\n\t\tconst errorResponse = this.createErrorResponse(error);\n\t\tconst httpArgumentHost = host.switchToHttp();\n\t\tconst response = httpArgumentHost.getResponse();\n\t\tresponse.status(errorResponse.code).json(errorResponse);\n\t}\n\n\tprivate createErrorResponse(error: unknown): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (ErrorUtils.isFeathersError(error)) {\n\t\t\tresponse = this.createErrorResponseForFeathersError(error);\n\t\t} else if (ErrorUtils.isBusinessError(error)) {\n\t\t\tresponse = this.createErrorResponseForBusinessError(error);\n\t\t} else if (ErrorUtils.isNestHttpException(error)) {\n\t\t\tresponse = this.createErrorResponseForNestHttpException(error);\n\t\t} else {\n\t\t\tresponse = this.createErrorResponseForUnknownError();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForFeathersError(error: FeathersError) {\n\t\tconst { code, className, name, message } = error;\n\t\tconst type = _.snakeCase(className).toUpperCase();\n\t\tconst title = _.startCase(name);\n\n\t\treturn new ErrorResponse(type, title, message, code);\n\t}\n\n\tprivate createErrorResponseForBusinessError(error: BusinessError): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (error instanceof ApiValidationError) {\n\t\t\tresponse = new ApiValidationErrorResponse(error);\n\t\t} else {\n\t\t\tresponse = error.getResponse();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForNestHttpException(exception: HttpException): ErrorResponse {\n\t\tconst code = exception.getStatus();\n\t\tconst msg = exception.message || 'Some error occurred';\n\t\tconst exceptionName = exception.constructor.name.replace('Loggable', '').replace('Exception', '');\n\t\tconst type = _.snakeCase(exceptionName).toUpperCase();\n\t\tconst title = _.startCase(exceptionName);\n\n\t\treturn new ErrorResponse(type, title, msg, code);\n\t}\n\n\tprivate createErrorResponseForUnknownError(): ErrorResponse {\n\t\tconst error = new InternalServerErrorException();\n\t\tconst response = this.createErrorResponseForNestHttpException(error);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalValidationPipe.html":{"url":"classes/GlobalValidationPipe.html","title":"class - GlobalValidationPipe","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalValidationPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/validation/pipe/global-validation.pipe.ts\n \n\n\n \n Description\n \n \n \nGlobal Pipe setup\n\nValidation of DTOs will base on type-checking\nwhich is enabled by default. To you might use\nthe class-validator decorators to extend\nvalidation.\n\n \n\n \n Extends\n \n \n ValidationPipe\n \n\n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/core/validation/pipe/global-validation.pipe.ts:12\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { ValidationError, ValidationPipe } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\n\n/** *********************************************\n * Global Pipe setup\n * **********************************************\n * Validation of DTOs will base on type-checking\n * which is enabled by default. To you might use\n * the class-validator decorators to extend\n * validation.\n */\nexport class GlobalValidationPipe extends ValidationPipe {\n\tconstructor() {\n\t\tsuper({\n\t\t\t// enable DTO instance creation for incoming data\n\t\t\ttransform: true,\n\t\t\ttransformOptions: {\n\t\t\t\t// enable type coersion, requires transform:true\n\t\t\t\tenableImplicitConversion: true,\n\t\t\t},\n\t\t\twhitelist: true, // only pass valid @ApiProperty-decorated DTO properties, remove others\n\t\t\tforbidNonWhitelisted: false, // additional params are just skipped (required when extracting multiple DTO from single query)\n\t\t\tforbidUnknownValues: true,\n\t\t\texceptionFactory: (errors: ValidationError[]) => new ApiValidationError(errors),\n\t\t\tvalidationError: {\n\t\t\t\t// make sure target (DTO) is set on validation error\n\t\t\t\t// we need this to be able to get DTO metadata for checking if a value has to be the obfuscated on output\n\t\t\t\t// see e.g. ErrorLoggable\n\t\t\t\ttarget: true,\n\t\t\t\tvalue: true,\n\t\t\t},\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GridElement.html":{"url":"classes/GridElement.html","title":"class - GridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IGridElement\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n references\n \n \n Private\n sortReferences\n \n \n Optional\n title\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addReferences\n \n \n Static\n FromGroup\n \n \n Static\n FromPersistedGroup\n \n \n Static\n FromPersistedReference\n \n \n Static\n FromSingleReference\n \n \n getContent\n \n \n getId\n \n \n getReferences\n \n \n hasId\n \n \n isGroup\n \n \n removeReference\n \n \n removeReferenceByIndex\n \n \n setGroupName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor(props: literal type)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:52\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Type : Learnroom[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sortReferences\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:40\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromGroup\n \n \n \n \n \n \n \n FromGroup(title: string, references: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n references\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedGroup\n \n \n \n \n \n \n \n FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n group\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedReference\n \n \n \n \n \n \n \n FromPersistedReference(id: EntityId, reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromSingleReference\n \n \n \n \n \n \n \n FromSingleReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getContent\n \n \n \n \n \n \ngetContent()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:117\n \n \n\n\n \n \n\n \n Returns : GridElementContent\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:82\n \n \n\n\n \n \n\n \n Returns : EntityId | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:86\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:78\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:138\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Group.html":{"url":"classes/Group.html","title":"class - Group","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Group\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addUser\n \n \n isEmpty\n \n \n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n users\n \n \n externalSource\n \n \n organizationId\n \n \n type\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addUser\n \n \n \n \n \n \naddUser(user: GroupUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isEmpty\n \n \n \n \n \n \nisEmpty()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:54\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeUser\n \n \n \n \n \n \nremoveUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:26\n \n \n\n \n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:30\n \n \n\n \n \n setusers(value: GroupUser[])\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:34\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n GroupUser[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n externalSource\n \n \n\n \n \n getexternalSource()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:38\n \n \n\n \n \n \n \n \n \n \n organizationId\n \n \n\n \n \n getorganizationId()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:42\n \n \n\n \n \n \n \n \n \n \n type\n \n \n\n \n \n gettype()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:46\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/GroupApiModule.html":{"url":"modules/GroupApiModule.html","title":"module - GroupApiModule","body":"\n \n\n\n\n\n Modules\n GroupApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_GroupApiModule\n\n\n\ncluster_GroupApiModule_imports\n\n\n\ncluster_GroupApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nGroupApiModule -->\n\nAuthorizationModule->GroupApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nGroupApiModule -->\n\nClassModule->GroupApiModule\n\n\n\n\n\nGroupModule\n\nGroupModule\n\nGroupApiModule -->\n\nGroupModule->GroupApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nGroupApiModule -->\n\nLegacySchoolModule->GroupApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nGroupApiModule -->\n\nLoggerModule->GroupApiModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nGroupApiModule -->\n\nRoleModule->GroupApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nGroupApiModule -->\n\nSystemModule->GroupApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nGroupApiModule -->\n\nUserModule->GroupApiModule\n\n\n\n\n\nGroupUc\n\nGroupUc\n\nGroupApiModule -->\n\nGroupUc->GroupApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/group/group-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n GroupUc\n \n \n \n \n Controllers\n \n \n GroupController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n ClassModule\n \n \n GroupModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ClassModule } from '@modules/class';\nimport { RoleModule } from '@modules/role';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { GroupController } from './controller';\nimport { GroupModule } from './group.module';\nimport { GroupUc } from './uc';\n\n@Module({\n\timports: [\n\t\tGroupModule,\n\t\tClassModule,\n\t\tUserModule,\n\t\tRoleModule,\n\t\tLegacySchoolModule,\n\t\tAuthorizationModule,\n\t\tSystemModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [GroupController],\n\tproviders: [GroupUc],\n})\nexport class GroupApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/GroupController.html":{"url":"controllers/GroupController.html","title":"controller - GroupController","body":"\n \n\n\n\n\n\n\n Controllers\n GroupController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/group.controller.ts\n \n\n \n Prefix\n \n \n groups\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n Public\n Async\n getGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n findClasses(pagination: GroupPaginationParams, 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: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 pagination\n \n GroupPaginationParams\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: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 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 { Page } from '@shared/domain/domainobject';\nimport { ErrorResponse } from '@src/core/error/dto';\nimport { GroupUc } from '../uc';\nimport { ClassInfoDto, ResolvedGroupDto } from '../uc/dto';\nimport {\n\tClassFilterParams,\n\tClassInfoSearchListResponse,\n\tClassSortParams,\n\tGroupIdParams,\n\tGroupResponse,\n\tGroupPaginationParams,\n} 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: GroupPaginationParams,\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: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 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: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 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: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 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: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 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: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 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: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 groupUser\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalSource } from '@shared/domain/domainobject';\nimport { ExternalSourceEntity, Role, SchoolEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { Group, GroupProps, GroupTypes, GroupUser } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes, GroupUserEntity, GroupValidPeriodEntity } from '../entity';\n\nconst GroupEntityTypesToGroupTypesMapping: Record = {\n\t[GroupEntityTypes.CLASS]: GroupTypes.CLASS,\n\t[GroupEntityTypes.COURSE]: GroupTypes.COURSE,\n\t[GroupEntityTypes.OTHER]: GroupTypes.OTHER,\n};\n\nexport const GroupTypesToGroupEntityTypesMapping: Record = {\n\t[GroupTypes.CLASS]: GroupEntityTypes.CLASS,\n\t[GroupTypes.COURSE]: GroupEntityTypes.COURSE,\n\t[GroupTypes.OTHER]: GroupEntityTypes.OTHER,\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:40\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:34\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:49\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:37\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:46\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:43\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\tCOURSE = 'course',\n\tOTHER = 'other',\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\tCOURSE = 'course',\n\tOTHER = 'other',\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_exports\n\n\n\ncluster_GroupModule_providers\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"},"classes/GroupPaginationParams.html":{"url":"classes/GroupPaginationParams.html","title":"class - GroupPaginationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupPaginationParams\n\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-pagination.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 \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 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()@ApiPropertyOptional({description: 'Page limit, defaults to 10.'})\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 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 { ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { IsInt } from 'class-validator';\n\nexport class GroupPaginationParams extends PaginationParams {\n\t@IsInt()\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 10.' })\n\toverride limit?: 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"},"interfaces/GroupProps.html":{"url":"interfaces/GroupProps.html","title":"interface - GroupProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalSource\n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n organizationId\n \n \n \n \n type\n \n \n \n \n users\n \n \n \n Optional\n \n validFrom\n \n \n \n Optional\n \n validUntil\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalSource\n \n \n \n \n \n \n \n \n externalSource: ExternalSource\n\n \n \n\n\n \n \n Type : ExternalSource\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organizationId\n \n \n \n \n \n \n \n \n organizationId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: GroupTypes\n\n \n \n\n\n \n \n Type : GroupTypes\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: GroupUser[]\n\n \n \n\n\n \n \n Type : GroupUser[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n validFrom\n \n \n \n \n \n \n \n \n validFrom: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n validUntil\n \n \n \n \n \n \n \n \n validUntil: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRepo.html":{"url":"injectables/GroupRepo.html","title":"injectable - GroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/repo/group.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findByExternalSource\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findBySchoolIdAndGroupTypes\n \n \n Public\n Async\n findByUserAndGroupTypes\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:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n 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: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 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:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.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 Public\n Async\n findBySchoolIdAndGroupTypes\n \n \n \n \n \n \n \n findBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes?: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n Yes\n \n\n\n \n \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 findByUserAndGroupTypes\n \n \n \n \n \n \n \n findByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.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 user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n Yes\n \n\n\n \n \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: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 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 } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { Group, GroupProps, GroupTypes } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes } from '../entity';\nimport { GroupDomainMapper, GroupTypesToGroupEntityTypesMapping } from './group-domain.mapper';\nimport { GroupScope } from './group.scope';\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 findByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[]): Promise {\n\t\tlet groupEntityTypes: GroupEntityTypes[] | undefined;\n\t\tif (groupTypes) {\n\t\t\tgroupEntityTypes = groupTypes.map((type: GroupTypes) => GroupTypesToGroupEntityTypesMapping[type]);\n\t\t}\n\n\t\tconst scope: Scope = new GroupScope().byUserId(user.id).byTypes(groupEntityTypes);\n\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, scope.query);\n\n\t\tconst domainObjects: Group[] = 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 findBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes?: GroupTypes[]): Promise {\n\t\tlet groupEntityTypes: GroupEntityTypes[] | undefined;\n\t\tif (groupTypes) {\n\t\t\tgroupEntityTypes = groupTypes.map((type: GroupTypes) => GroupTypesToGroupEntityTypesMapping[type]);\n\t\t}\n\n\t\tconst scope: Scope = new GroupScope().byOrganizationId(schoolId).byTypes(groupEntityTypes);\n\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, scope.query);\n\n\t\tconst domainObjects: Group[] = 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: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 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: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 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: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 resolvedGroup\n \n ResolvedGroupDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Page } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto } from '../../uc/dto';\nimport {\n\tClassInfoResponse,\n\tClassInfoSearchListResponse,\n\tExternalSourceResponse,\n\tGroupResponse,\n\tGroupTypeResponse,\n\tGroupUserResponse,\n} from '../dto';\n\nconst typeMapping: Record = {\n\t[GroupTypes.CLASS]: GroupTypeResponse.CLASS,\n\t[GroupTypes.COURSE]: GroupTypeResponse.COURSE,\n\t[GroupTypes.OTHER]: GroupTypeResponse.OTHER,\n};\n\nexport class GroupResponseMapper {\n\tstatic mapToClassInfosToListResponse(\n\t\tclassInfos: Page,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): ClassInfoSearchListResponse {\n\t\tconst mappedData: ClassInfoResponse[] = classInfos.data.map((classInfo) =>\n\t\t\tthis.mapToClassInfoToResponse(classInfo)\n\t\t);\n\n\t\tconst response: ClassInfoSearchListResponse = new ClassInfoSearchListResponse(\n\t\t\tmappedData,\n\t\t\tclassInfos.total,\n\t\t\tskip,\n\t\t\tlimit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tprivate static mapToClassInfoToResponse(classInfo: ClassInfoDto): ClassInfoResponse {\n\t\tconst mapped = new ClassInfoResponse({\n\t\t\tid: classInfo.id,\n\t\t\ttype: classInfo.type,\n\t\t\tname: classInfo.name,\n\t\t\texternalSourceName: classInfo.externalSourceName,\n\t\t\tteachers: classInfo.teacherNames,\n\t\t\tschoolYear: classInfo.schoolYear,\n\t\t\tisUpgradable: classInfo.isUpgradable,\n\t\t\tstudentCount: classInfo.studentCount,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToGroupResponse(resolvedGroup: ResolvedGroupDto): GroupResponse {\n\t\tconst mapped: GroupResponse = new GroupResponse({\n\t\t\tid: resolvedGroup.id,\n\t\t\tname: resolvedGroup.name,\n\t\t\ttype: typeMapping[resolvedGroup.type],\n\t\t\texternalSource: resolvedGroup.externalSource\n\t\t\t\t? new ExternalSourceResponse({\n\t\t\t\t\t\texternalId: resolvedGroup.externalSource.externalId,\n\t\t\t\t\t\tsystemId: resolvedGroup.externalSource.systemId,\n\t\t\t\t })\n\t\t\t\t: undefined,\n\t\t\tusers: resolvedGroup.users.map(\n\t\t\t\t(user) =>\n\t\t\t\t\tnew GroupUserResponse({\n\t\t\t\t\t\tid: user.user.id as string,\n\t\t\t\t\t\trole: user.role.name,\n\t\t\t\t\t\tfirstName: user.user.firstName,\n\t\t\t\t\t\tlastName: user.user.lastName,\n\t\t\t\t\t})\n\t\t\t),\n\t\t\torganizationId: resolvedGroup.organizationId,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupRoleUnknownLoggable.html":{"url":"classes/GroupRoleUnknownLoggable.html","title":"class - GroupRoleUnknownLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupRoleUnknownLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(relation: SanisSonstigeGruppenzugehoerigeResponse)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n relation\n \n \n SanisSonstigeGruppenzugehoerigeResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from '../strategy/sanis/response';\n\nexport class GroupRoleUnknownLoggable implements Loggable {\n\tconstructor(private readonly relation: SanisSonstigeGruppenzugehoerigeResponse) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.relation.ktid,\n\t\t\t\texternalRoleName: this.relation.rollen?.[0],\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRule.html":{"url":"injectables/GroupRule.html","title":"injectable - GroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: Group, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Group } from '@src/modules/group';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class GroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: Group): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof Group;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: Group, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t(domainObject.organizationId ? user.school.id === domainObject.organizationId : true);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupScope.html":{"url":"classes/GroupScope.html","title":"class - GroupScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupScope\n\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.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 byOrganizationId\n \n \n byTypes\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 byOrganizationId\n \n \n \n \n \n \nbyOrganizationId(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.scope.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 | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byTypes\n \n \n \n \n \n \nbyTypes(types: GroupEntityTypes[] | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.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 types\n \n GroupEntityTypes[] | 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(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.scope.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | 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 { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { GroupEntity, GroupEntityTypes } from '../entity';\n\nexport class GroupScope extends Scope {\n\tbyTypes(types: GroupEntityTypes[] | undefined): this {\n\t\tif (types) {\n\t\t\tthis.addQuery({ type: { $in: types } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyOrganizationId(id: EntityId | undefined): this {\n\t\tif (id) {\n\t\t\tthis.addQuery({ organization: id });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyUserId(id: EntityId | undefined): this {\n\t\tif (id) {\n\t\t\tthis.addQuery({ users: { user: new ObjectId(id) } });\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/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 findGroupsBySchoolIdAndGroupTypes\n \n \n Public\n Async\n findGroupsByUserAndGroupTypes\n \n \n Public\n Async\n save\n \n \n Public\n Async\n tryFindById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupRepo: GroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupRepo\n \n \n GroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByExternalSource\n \n \n \n \n \n \n \n findByExternalSource(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findGroupsBySchoolIdAndGroupTypes\n \n \n \n \n \n \n \n findGroupsBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n No\n \n\n\n \n \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 findGroupsByUserAndGroupTypes\n \n \n \n \n \n \n \n findGroupsByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n tryFindById\n \n \n \n \n \n \n \n tryFindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderServiceGeneric } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Group, GroupTypes } 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 });\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 findGroupsByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[]): Promise {\n\t\tconst groups: Group[] = await this.groupRepo.findByUserAndGroupTypes(user, groupTypes);\n\n\t\treturn groups;\n\t}\n\n\tpublic async findGroupsBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes: GroupTypes[]): Promise {\n\t\tconst group: Group[] = await this.groupRepo.findBySchoolIdAndGroupTypes(schoolId, groupTypes);\n\n\t\treturn group;\n\t}\n\n\tpublic async save(group: Group): Promise {\n\t\tconst savedGroup: Group = await this.groupRepo.save(group);\n\n\t\treturn savedGroup;\n\t}\n\n\tpublic async delete(group: Group): Promise {\n\t\tawait this.groupRepo.delete(group);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUcMapper.html":{"url":"classes/GroupUcMapper.html","title":"class - GroupUcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n Static\n mapGroupToClassInfoDto\n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n \n \n \n \n \n mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clazz\n \n Class\n \n\n \n No\n \n\n\n \n \n teachers\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n schoolYear\n \n SchoolYearEntity\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupToClassInfoDto\n \n \n \n \n \n \n \n mapGroupToClassInfoDto(group: Group, resolvedUsers: ResolvedGroupUser[], system?: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n system\n \n SystemDto\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n \n \n \n mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedGroupUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ResolvedGroupDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Class } from '@modules/class/domain';\nimport { SystemDto } from '@modules/system';\n\nimport { UserDO } from '@shared/domain/domainobject';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { Group } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto, ResolvedGroupUser } from '../dto';\nimport { ClassRootType } from '../dto/class-root-type';\n\nexport class GroupUcMapper {\n\tpublic static mapGroupToClassInfoDto(\n\t\tgroup: Group,\n\t\tresolvedUsers: ResolvedGroupUser[],\n\t\tsystem?: SystemDto\n\t): ClassInfoDto {\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: group.id,\n\t\t\ttype: ClassRootType.GROUP,\n\t\t\tname: group.name,\n\t\t\texternalSourceName: system?.displayName,\n\t\t\tteacherNames: resolvedUsers\n\t\t\t\t.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.TEACHER)\n\t\t\t\t.map((groupUser: ResolvedGroupUser) => groupUser.user.lastName),\n\t\t\tstudentCount: resolvedUsers.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.STUDENT)\n\t\t\t\t.length,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity): ClassInfoDto {\n\t\tconst name = clazz.gradeLevel ? `${clazz.gradeLevel}${clazz.name}` : clazz.name;\n\t\tconst isUpgradable = clazz.gradeLevel !== 13 && !clazz.successor;\n\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: clazz.id,\n\t\t\ttype: ClassRootType.CLASS,\n\t\t\tname,\n\t\t\texternalSourceName: clazz.source,\n\t\t\tteacherNames: teachers.map((user: UserDO) => user.lastName),\n\t\t\tschoolYear: schoolYear?.name,\n\t\t\tisUpgradable,\n\t\t\tstudentCount: clazz.userIds ? clazz.userIds.length : 0,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[]): ResolvedGroupDto {\n\t\tconst mapped: ResolvedGroupDto = new ResolvedGroupDto({\n\t\t\tid: group.id,\n\t\t\tname: group.name,\n\t\t\ttype: group.type,\n\t\t\texternalSource: group.externalSource,\n\t\t\tusers: resolvedGroupUsers,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUser.html":{"url":"classes/GroupUser.html","title":"class - GroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport class GroupUser {\n\tuserId: EntityId;\n\n\troleId: EntityId;\n\n\tconstructor(props: GroupUser) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserEntity.html":{"url":"classes/GroupUserEntity.html","title":"class - GroupUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUserEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUserEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUserEntityProps.html":{"url":"interfaces/GroupUserEntityProps.html","title":"interface - GroupUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserResponse.html":{"url":"classes/GroupUserResponse.html","title":"class - GroupUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/group-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: GroupUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n GroupUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: RoleName})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoleName } from '@shared/domain/interface';\n\nexport class GroupUserResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty({ enum: RoleName })\n\trole: RoleName;\n\n\tconstructor(user: GroupUserResponse) {\n\t\tthis.id = user.id;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.role = user.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUsers.html":{"url":"interfaces/GroupUsers.html","title":"interface - GroupUsers","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUsers\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupValidPeriodEntity.html":{"url":"classes/GroupValidPeriodEntity.html","title":"class - GroupValidPeriodEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupValidPeriodEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n until\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupValidPeriodEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupValidPeriodEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupValidPeriodEntityProps.html":{"url":"interfaces/GroupValidPeriodEntityProps.html","title":"interface - GroupValidPeriodEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupValidPeriodEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n \n until\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n \n \n until: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersCreated.html":{"url":"interfaces/GroupfoldersCreated.html","title":"interface - GroupfoldersCreated","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersCreated\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersFolder.html":{"url":"interfaces/GroupfoldersFolder.html","title":"interface - GroupfoldersFolder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersFolder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n folder_id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GuardAgainst.html":{"url":"classes/GuardAgainst.html","title":"class - GuardAgainst","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GuardAgainst\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/guard-against.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n \n \n \n nullOrUndefined(value: T | null | undefined, toThrow)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/guard-against.ts:8\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n Guards against null or undefined and throws specified exception.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n The value to check.\n\n \n \n \n toThrow\n \n \n\n \n No\n \n\n\n \n The exception to be thrown on failure.\n\n \n \n \n \n \n \n Returns : T | never\n\n \n \n The narrowed value or throws.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class GuardAgainst {\n\t/**\n\t * Guards against null or undefined and throws specified exception.\n\t * @param value The value to check.\n\t * @param toThrow The exception to be thrown on failure.\n\t * @returns The narrowed value or throws.\n\t */\n\tstatic nullOrUndefined(value: T | null | undefined, toThrow: unknown): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow toThrow;\n\t\t}\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5PContent.html":{"url":"entities/H5PContent.html","title":"entity - H5PContent","body":"\n \n\n\n\n\n\n\n\n Entities\n H5PContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n _parentId\n \n \n \n _schoolId\n \n \n \n content\n \n \n \n metadata\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:122\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:141\n \n \n\n\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Decorators : \n \n \n @Property({type: JsonType})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:151\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : ContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:148\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:130\n \n \n\n\n \n \n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentFactory.html":{"url":"classes/H5PContentFactory.html","title":"class - H5PContentFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-content.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContentMetadata,\n\tH5PContent,\n\tH5PContentParentType,\n\tH5PContentProperties,\n} from '@src/modules/h5p-editor/entity';\nimport { ObjectID } from 'bson';\nimport { BaseFactory } from './base.factory';\n\nclass H5PContentFactory extends BaseFactory {}\n\nexport const h5pContentFactory = H5PContentFactory.define(H5PContent, ({ sequence }) => {\n\treturn {\n\t\tparentType: H5PContentParentType.Lesson,\n\t\tparentId: new ObjectID().toHexString(),\n\t\tcreatorId: new ObjectID().toHexString(),\n\t\tschoolId: new ObjectID().toHexString(),\n\t\tcontent: {\n\t\t\t[`field${sequence}`]: sequence,\n\t\t\tdateField: new Date(sequence),\n\t\t\tthisObjectHasNoStructure: true,\n\t\t\tnested: {\n\t\t\t\tworks: true,\n\t\t\t},\n\t\t},\n\t\tmetadata: new ContentMetadata({\n\t\t\tdefaultLanguage: 'de-de',\n\t\t\tembedTypes: ['iframe'],\n\t\t\tlanguage: 'de-de',\n\t\t\tlicense: `License #${sequence}`,\n\t\t\tmainLibrary: `Library-${sequence}.0`,\n\t\t\tpreloadedDependencies: [],\n\t\t\ttitle: `Title #${sequence}`,\n\t\t}),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMapper.html":{"url":"classes/H5PContentMapper.html","title":"class - H5PContentMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: H5PContentParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n H5PContentParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@src/modules/authorization/domain';\nimport { H5PContentParentType } from '../entity';\n\nexport class H5PContentMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: H5PContentParentType): AuthorizableReferenceType {\n\t\tconst types = new Map();\n\n\t\ttypes.set(H5PContentParentType.Lesson, AuthorizableReferenceType.Lesson);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMetadata.html":{"url":"classes/H5PContentMetadata.html","title":"class - H5PContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n mainLibrary\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:68\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentParentParams.html":{"url":"interfaces/H5PContentParentParams.html","title":"interface - H5PContentParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentProperties.html":{"url":"interfaces/H5PContentProperties.html","title":"interface - H5PContentProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creatorId\n \n \n \n \n metadata\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: ContentMetadata\n\n \n \n\n\n \n \n Type : ContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PContentRepo.html":{"url":"injectables/H5PContentRepo.html","title":"injectable - H5PContentRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PContentRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteContent\n \n \n Async\n existsOne\n \n \n Async\n findById\n \n \n Async\n getAllContents\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteContent\n \n \n \n \n \n \n \n deleteContent(content: H5PContent)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n H5PContent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n existsOne\n \n \n \n \n \n \n \n existsOne(contentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(contentId: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllContents\n \n \n \n \n \n \n \n getAllContents()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5PContent } from '../entity';\n\n@Injectable()\nexport class H5PContentRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5PContent;\n\t}\n\n\tasync existsOne(contentId: EntityId): Promise {\n\t\tconst entityCount = await this._em.count(this.entityName, { id: contentId });\n\n\t\treturn entityCount === 1;\n\t}\n\n\tasync deleteContent(content: H5PContent): Promise {\n\t\treturn this.delete(content);\n\t}\n\n\tasync findById(contentId: EntityId): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { id: contentId });\n\t}\n\n\tasync getAllContents(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentResponse.html":{"url":"interfaces/H5PContentResponse.html","title":"interface - H5PContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p\n \n \n \n \n library\n \n \n \n \n params\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p\n \n \n \n \n \n \n \n \n h5p: IContentMetadata\n\n \n \n\n\n \n \n Type : IContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n \n \n library: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n \n \n params: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/H5PEditorController.html":{"url":"controllers/H5PEditorController.html","title":"controller - H5PEditorController","body":"\n \n\n\n\n\n\n\n Controllers\n H5PEditorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts\n \n\n \n Prefix\n \n \n h5p-editor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n Async\n deleteH5pContent\n \n \n \n Async\n getAjax\n \n \n \n Async\n getContentFile\n \n \n \n Async\n getContentParameters\n \n \n \n \n Async\n getH5PEditor\n \n \n \n Async\n getLibraryFile\n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n Async\n getTemporaryFile\n \n \n \n \n Async\n postAjax\n \n \n \n \n Async\n saveH5pContent\n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n \n \n \n \n createH5pContent(body: PostH5PContentCreateParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteH5pContent\n \n \n \n \n \n \n \n deleteH5pContent(params: GetH5PContentParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/delete/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAjax\n \n \n \n \n \n \n \n getAjax(query: AjaxGetQueryParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('ajax')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n AjaxGetQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentFile\n \n \n \n \n \n \n \n getContentFile(params: ContentFileUrlParams, req: Request, res: Response, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('content/:id/:filename(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ContentFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentParameters\n \n \n \n \n \n \n \n getContentParameters(id: string, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('params/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getH5PEditor\n \n \n \n \n \n \n \n getH5PEditor(params: GetH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:contentId/:language')@ApiResponse({status: 200, type: H5PEditorModelContentResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLibraryFile\n \n \n \n \n \n \n \n getLibraryFile(params: LibraryFileUrlParams, req: Request)\n \n \n\n \n \n Decorators : \n \n @Get('libraries/:ubername/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LibraryFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n getNewH5PEditor(params: GetH5PEditorParamsCreate, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:language')@ApiResponse({status: 200, type: H5PEditorModelResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:162\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParamsCreate\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n \n \n \n \n getPlayer(currentUser: ICurrentUser, params: GetH5PContentParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Return dummy HTML for testing'})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 400, type: BadRequestException})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get('/play/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTemporaryFile\n \n \n \n \n \n \n \n getTemporaryFile(currentUser: ICurrentUser, file: string, req: Request, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('temp-files/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n file\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n postAjax\n \n \n \n \n \n \n \n postAjax(body: AjaxPostBodyParams, query: AjaxPostQueryParams, currentUser: ICurrentUser, files?: literal type)\n \n \n\n \n \n Decorators : \n \n @Post('ajax')@UseInterceptors(undefined)\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n query\n \n AjaxPostQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n files\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveH5pContent\n \n \n \n \n \n \n \n saveH5pContent(body: PostH5PContentCreateParams, params: SaveH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit/:contentId')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n params\n \n SaveH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n \n \n \n setRangeResponseHeaders(res: Response, contentLength: number, range?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:219\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n contentLength\n \n number\n \n\n \n No\n \n\n\n \n \n range\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Authenticate } from '@modules/authentication/decorator/auth.decorator';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n\tQuery,\n\tReq,\n\tRes,\n\tStreamableFile,\n\tUploadedFiles,\n\tUseInterceptors,\n} from '@nestjs/common';\nimport { FileFieldsInterceptor } from '@nestjs/platform-express';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { Request, Response } from 'express';\nimport { H5PEditorUc } from '../uc/h5p.uc';\n\nimport {\n\tAjaxGetQueryParams,\n\tAjaxPostBodyParams,\n\tAjaxPostQueryParams,\n\tContentFileUrlParams,\n\tGetH5PContentParams,\n\tGetH5PEditorParams,\n\tGetH5PEditorParamsCreate,\n\tLibraryFileUrlParams,\n\tPostH5PContentCreateParams,\n\tSaveH5PEditorParams,\n} from './dto';\nimport { AjaxPostBodyParamsTransformPipe } from './dto/ajax/post.body.params.transform-pipe';\nimport { H5PEditorModelContentResponse, H5PEditorModelResponse, H5PSaveResponse } from './dto/h5p-editor.response';\n\n@ApiTags('h5p-editor')\n@Authenticate('jwt')\n@Controller('h5p-editor')\nexport class H5PEditorController {\n\tconstructor(private h5pEditorUc: H5PEditorUc) {}\n\n\t@ApiOperation({ summary: 'Return dummy HTML for testing' })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 400, type: BadRequestException })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get('/play/:contentId')\n\tasync getPlayer(@CurrentUser() currentUser: ICurrentUser, @Param() params: GetH5PContentParams) {\n\t\treturn this.h5pEditorUc.getH5pPlayer(currentUser, params.contentId);\n\t}\n\n\t// Other Endpoints (incomplete list), paths not final\n\t// - getLibrary \t\t\t(e.g. GET `/libraries/:uberName/:file(*)`)\n\t// - getContentFile \t\t\t(e.g. GET `/content/:contentId/:file(*)`)\n\t// - getTempFile \t\t\t(e.g. GET `/temp/:file(*)`)\n\t// - ajax endpoint for h5p \t\t(e.g. GET/POST `/ajax/*`)\n\t// - static files from h5p-core\t(e.g. GET `/core/*`)\n\t// - static files for editor\t(e.g. GET `/editor/*`)\n\n\t@Get('libraries/:ubername/:file(*)')\n\tasync getLibraryFile(@Param() params: LibraryFileUrlParams, @Req() req: Request) {\n\t\tconst { data, contentType, contentLength } = await this.h5pEditorUc.getLibraryFile(params.ubername, params.file);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('params/:id')\n\tasync getContentParameters(@Param('id') id: string, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst content = await this.h5pEditorUc.getContentParameters(id, currentUser);\n\n\t\treturn content;\n\t}\n\n\t@Get('content/:id/:filename(*)')\n\tasync getContentFile(\n\t\t@Param() params: ContentFileUrlParams,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getContentFile(\n\t\t\tparams.id,\n\t\t\tparams.filename,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('temp-files/:file(*)')\n\tasync getTemporaryFile(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('file') file: string,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getTemporaryFile(\n\t\t\tfile,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('ajax')\n\tasync getAjax(@Query() query: AjaxGetQueryParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = this.h5pEditorUc.getAjax(query, currentUser);\n\n\t\treturn response;\n\t}\n\n\t@Post('ajax')\n\t@UseInterceptors(\n\t\tFileFieldsInterceptor([\n\t\t\t{ name: 'file', maxCount: 1 },\n\t\t\t{ name: 'h5p', maxCount: 1 },\n\t\t])\n\t)\n\tasync postAjax(\n\t\t@Body(AjaxPostBodyParamsTransformPipe) body: AjaxPostBodyParams,\n\t\t@Query() query: AjaxPostQueryParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@UploadedFiles() files?: { file?: Express.Multer.File[]; h5p?: Express.Multer.File[] }\n\t) {\n\t\tconst contentFile = files?.file?.[0];\n\t\tconst h5pFile = files?.h5p?.[0];\n\n\t\tconst result = await this.h5pEditorUc.postAjax(currentUser, query, body, contentFile, h5pFile);\n\n\t\treturn result;\n\t}\n\n\t@Post('/delete/:contentId')\n\tasync deleteH5pContent(\n\t\t@Param() params: GetH5PContentParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst deleteSuccessfull = this.h5pEditorUc.deleteH5pContent(currentUser, params.contentId);\n\n\t\treturn deleteSuccessfull;\n\t}\n\n\t@Get('/edit/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelResponse })\n\tasync getNewH5PEditor(@Param() params: GetH5PEditorParamsCreate, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst editorModel = await this.h5pEditorUc.getEmptyH5pEditor(currentUser, params.language);\n\n\t\treturn new H5PEditorModelResponse(editorModel);\n\t}\n\n\t@Get('/edit/:contentId/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelContentResponse })\n\tasync getH5PEditor(@Param() params: GetH5PEditorParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst { editorModel, content } = await this.h5pEditorUc.getH5pEditor(\n\t\t\tcurrentUser,\n\t\t\tparams.contentId,\n\t\t\tparams.language\n\t\t);\n\n\t\treturn new H5PEditorModelContentResponse(editorModel, content);\n\t}\n\n\t@Post('/edit')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync createH5pContent(@Body() body: PostH5PContentCreateParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = await this.h5pEditorUc.createH5pContentGetMetadata(\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\t@Post('/edit/:contentId')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync saveH5pContent(\n\t\t@Body() body: PostH5PContentCreateParams,\n\t\t@Param() params: SaveH5PEditorParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst response = await this.h5pEditorUc.saveH5pContentGetMetadata(\n\t\t\tparams.contentId,\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\tprivate static setRangeResponseHeaders(res: Response, contentLength: number, range?: { start: number; end: number }) {\n\t\tif (range) {\n\t\t\tconst contentRangeHeader = `bytes ${range.start}-${range.end}/${contentLength}`;\n\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': contentRangeHeader,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelContentResponse.html":{"url":"classes/H5PEditorModelContentResponse.html","title":"class - H5PEditorModelContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n \n Extends\n \n \n H5PEditorModelResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n library\n \n \n \n metadata\n \n \n \n params\n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel, content: H5PContentResponse)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:42\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n content\n \n \n H5PContentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelResponse.html":{"url":"classes/H5PEditorModelResponse.html","title":"class - H5PEditorModelResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorModule.html":{"url":"modules/H5PEditorModule.html","title":"module - H5PEditorModule","body":"\n \n\n\n\n\n Modules\n H5PEditorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorModule\n\n\n\ncluster_H5PEditorModule_exports\n\n\n\ncluster_H5PEditorModule_imports\n\n\n\ncluster_H5PEditorModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorModule -->\n\nAuthenticationModule->H5PEditorModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorModule -->\n\nAuthorizationReferenceModule->H5PEditorModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorModule -->\n\nCoreModule->H5PEditorModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PEditorModule -->\n\nRabbitMQWrapperModule->H5PEditorModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorModule -->\n\nS3ClientModule->H5PEditorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorModule -->\n\nUserModule->H5PEditorModule\n\n\n\n\n\nContentStorage \n\nContentStorage \n\nContentStorage -->\n\nH5PEditorModule->ContentStorage \n\n\n\n\n\nLibraryStorage \n\nLibraryStorage \n\nLibraryStorage -->\n\nH5PEditorModule->LibraryStorage \n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorModule -->\n\nContentStorage->H5PEditorModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorModule -->\n\nH5PContentRepo->H5PEditorModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorModule -->\n\nH5PEditorUc->H5PEditorModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorModule -->\n\nLibraryRepo->H5PEditorModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorModule -->\n\nLibraryStorage->H5PEditorModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PEditorModule -->\n\nLogger->H5PEditorModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorModule -->\n\nTemporaryFileRepo->H5PEditorModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorModule -->\n\nTemporaryFileStorage->H5PEditorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n Logger\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ContentStorage\n \n \n LibraryStorage\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorController } from './controller/h5p-editor.controller';\nimport { H5PContent, H5pEditorTempFile, InstalledLibrary } from './entity';\nimport { config, s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst imports = [\n\tAuthenticationModule,\n\tAuthorizationReferenceModule,\n\tCoreModule,\n\tUserModule,\n\tRabbitMQWrapperModule,\n\tMikroOrmModule.forRoot({\n\t\t...defaultMikroOrmOptions,\n\t\ttype: 'mongo',\n\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\tclientUrl: DB_URL,\n\t\tpassword: DB_PASSWORD,\n\t\tuser: DB_USERNAME,\n\t\t// Needs ALL_ENTITIES for authorization\n\t\tallowGlobalContext: true,\n\t\tentities: [...ALL_ENTITIES, H5PContent, H5pEditorTempFile, InstalledLibrary],\n\t}),\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [H5PEditorController];\n\nconst providers = [\n\tLogger,\n\tH5PEditorUc,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tH5PEditorProvider,\n\tH5PPlayerProvider,\n\tH5PAjaxEndpointProvider,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [ContentStorage, LibraryStorage],\n})\nexport class H5PEditorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorTestModule.html":{"url":"modules/H5PEditorTestModule.html","title":"module - H5PEditorTestModule","body":"\n \n\n\n\n\n Modules\n H5PEditorTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorTestModule\n\n\n\ncluster_H5PEditorTestModule_imports\n\n\n\ncluster_H5PEditorTestModule_providers\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nH5PEditorTestModule\n\nH5PEditorTestModule\n\nH5PEditorTestModule -->\n\nAuthenticationApiModule->H5PEditorTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nH5PEditorTestModule -->\n\nAuthenticationModule->H5PEditorTestModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorTestModule -->\n\nAuthorizationReferenceModule->H5PEditorTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorTestModule -->\n\nCoreModule->H5PEditorTestModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorTestModule -->\n\nH5PEditorModule->H5PEditorTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nH5PEditorTestModule -->\n\nLoggerModule->H5PEditorTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nH5PEditorTestModule -->\n\nMongoMemoryDatabaseModule->H5PEditorTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nH5PEditorTestModule -->\n\nRabbitMQWrapperTestModule->H5PEditorTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorTestModule -->\n\nS3ClientModule->H5PEditorTestModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorTestModule -->\n\nUserModule->H5PEditorTestModule\n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorTestModule -->\n\nContentStorage->H5PEditorTestModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorTestModule -->\n\nH5PContentRepo->H5PEditorTestModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorTestModule -->\n\nH5PEditorUc->H5PEditorTestModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorTestModule -->\n\nLibraryRepo->H5PEditorTestModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorTestModule -->\n\nLibraryStorage->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorTestModule -->\n\nTemporaryFileRepo->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorTestModule -->\n\nTemporaryFileStorage->H5PEditorTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { H5PEditorController } from './controller';\nimport { H5PContent } from './entity';\nimport { s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PEditorModule } from './h5p-editor.module';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst imports = [\n\tH5PEditorModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, H5PContent] }),\n\tAuthenticationApiModule,\n\tAuthorizationReferenceModule,\n\tAuthenticationModule,\n\tUserModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\nconst controllers = [H5PEditorController];\nconst providers = [\n\tH5PEditorUc,\n\tH5PPlayerProvider,\n\tH5PEditorProvider,\n\tH5PAjaxEndpointProvider,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class H5PEditorTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: H5PEditorTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PErrorMapper.html":{"url":"classes/H5PErrorMapper.html","title":"class - H5PErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n \n \n \n mapH5pError(error: H5pError)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n H5pError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pError } from '@lumieducation/h5p-server';\nimport { HttpException } from '@nestjs/common';\n\nexport class H5PErrorMapper {\n\tpublic mapH5pError(error: H5pError) {\n\t\treturn new HttpException(error.message, error.httpStatusCode);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PLibraryManagementModule.html":{"url":"modules/H5PLibraryManagementModule.html","title":"module - H5PLibraryManagementModule","body":"\n \n\n\n\n\n Modules\n H5PLibraryManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PLibraryManagementModule\n\n\n\ncluster_H5PLibraryManagementModule_providers\n\n\n\ncluster_H5PLibraryManagementModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule -->\n\nCoreModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PLibraryManagementModule -->\n\nH5PEditorModule->H5PLibraryManagementModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PLibraryManagementModule -->\n\nRabbitMQWrapperModule->H5PLibraryManagementModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PLibraryManagementModule -->\n\nS3ClientModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PLibraryManagementService\n\nH5PLibraryManagementService\n\nH5PLibraryManagementModule -->\n\nH5PLibraryManagementService->H5PLibraryManagementModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PLibraryManagementModule -->\n\nLogger->H5PLibraryManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-library-management/h5p-library-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n H5PLibraryManagementService\n \n \n Logger\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorModule, s3ConfigContent, s3ConfigLibraries } from '@modules/h5p-editor';\nimport { H5PLibraryManagementService, h5PLibraryManagementConfig } from './service';\n\nconst imports = [\n\tConfigModule.forRoot(createConfigModuleOptions(h5PLibraryManagementConfig)),\n\tCoreModule,\n\tH5PEditorModule,\n\tRabbitMQWrapperModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [];\n\nconst providers = [Logger, H5PLibraryManagementService];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [],\n})\nexport class H5PLibraryManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PLibraryManagementService.html":{"url":"injectables/H5PLibraryManagementService.html","title":"injectable - H5PLibraryManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PLibraryManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentTypeCache\n \n \n contentTypeRepo\n \n \n libraryAdministration\n \n \n libraryManager\n \n \n libraryWishList\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n Private\n createDefaultIUser\n \n \n Public\n Async\n installLibraries\n \n \n Public\n Async\n run\n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(libraryStorage: LibraryStorage, contentStorage: ContentStorage, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n libraryStorage\n \n \n LibraryStorage\n \n \n \n No\n \n \n \n \n contentStorage\n \n \n ContentStorage\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n \n \n \n \n \n checkContentTypeExists(contentType: IHubContentType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentType\n \n IHubContentType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createDefaultIUser\n \n \n \n \n \n \n \n createDefaultIUser()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:116\n \n \n\n\n \n \n\n \n Returns : IUser\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n installLibraries\n \n \n \n \n \n \n \n installLibraries(librariesToInstall: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n librariesToInstall\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n run\n \n \n \n \n \n \n \n run()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:145\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n \n \n \n uninstallUnwantedLibraries(wantedLibraries: string[], librariesToCheck: ILibraryAdministrationOverviewItem[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n wantedLibraries\n \n string[]\n \n\n \n No\n \n\n\n \n \n librariesToCheck\n \n ILibraryAdministrationOverviewItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentTypeCache\n \n \n \n \n \n \n Type : ContentTypeCache\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n contentTypeRepo\n \n \n \n \n \n \n Type : ContentTypeInformationRepository\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n libraryAdministration\n \n \n \n \n \n \n Type : LibraryAdministration\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n libraryManager\n \n \n \n \n \n \n Type : LibraryManager\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n libraryWishList\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PSaveResponse.html":{"url":"classes/H5PSaveResponse.html","title":"class - H5PSaveResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PSaveResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentId\n \n \n \n metadata\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:74\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : H5PContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: H5PContentMetadata})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PTemporaryFileFactory.html":{"url":"classes/H5PTemporaryFileFactory.html","title":"class - H5PTemporaryFileFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PTemporaryFileFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isExpired\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isExpired\n \n \n \n \n \n \nisExpired()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pEditorTempFile, TemporaryFileProperties } from '@src/modules/h5p-editor/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass H5PTemporaryFileFactory extends BaseFactory {\n\tisExpired(): this {\n\t\tconst birthtime = new Date(Date.now() - oneDay * 2); // Created two days ago\n\t\tconst expiresAt = new Date(Date.now() - oneDay); // Expired yesterday\n\t\tconst params: DeepPartial = { expiresAt, birthtime };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const h5pTemporaryFileFactory = H5PTemporaryFileFactory.define(H5pEditorTempFile, ({ sequence }) => {\n\treturn {\n\t\tfilename: `File-${sequence}.txt`,\n\t\townedByUserId: `user-${sequence}`,\n\t\tbirthtime: new Date(Date.now() - oneDay), // Yesterday\n\t\texpiresAt: new Date(Date.now() + oneDay), // Tomorrow\n\t\tsize: sequence,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5pEditorTempFile.html":{"url":"entities/H5pEditorTempFile.html","title":"entity - H5pEditorTempFile","body":"\n \n\n\n\n\n\n\n\n Entities\n H5pEditorTempFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n expiresAt\n \n \n \n filename\n \n \n \n ownedByUserId\n \n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:19\n \n \n\n \n \n The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\n \n \n\n \n \n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5pFileDto.html":{"url":"classes/H5pFileDto.html","title":"class - H5pFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5pFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: H5pFileDto)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n H5pFileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/HtmlMailContent.html":{"url":"interfaces/HtmlMailContent.html","title":"interface - HtmlMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n HtmlMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n htmlContent\n \n \n \n Optional\n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraOauthFailedLoggableException.html":{"url":"classes/HydraOauthFailedLoggableException.html","title":"class - HydraOauthFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraOauthFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class HydraOauthFailedLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'HYDRA_OAUTH_FAILED');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraOauthUc.html":{"url":"injectables/HydraOauthUc.html","title":"injectable - HydraOauthUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraOauthUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n Protected\n validateStatus\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthToken\n \n \n Private\n Async\n processRedirectCascade\n \n \n Async\n requestAuthCode\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, hydraSsoService: HydraSsoService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n hydraSsoService\n \n \n HydraSsoService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthToken\n \n \n \n \n \n \n \n getOauthToken(oauthClientId: string, code?: string, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n processRedirectCascade\n \n \n \n \n \n \n \n processRedirectCascade(initResponse: AxiosResponse, jwt: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n initResponse\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthCode\n \n \n \n \n \n \n \n requestAuthCode(jwt: string, oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Protected\n validateStatus\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:40\n \n \n\n\n \n \n\n\n \n\n\n \n import { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthTokenDto } from '../interface';\nimport { AuthCodeFailureLoggableException } from '../loggable';\nimport { HydraSsoService, OAuthService } from '../service';\n\n@Injectable()\nexport class HydraOauthUc {\n\tconstructor(\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly hydraSsoService: HydraSsoService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(HydraOauthUc.name);\n\t}\n\n\tprivate readonly MAX_REDIRECTS: number = 10;\n\n\tasync getOauthToken(oauthClientId: string, code?: string, error?: string): Promise {\n\t\tif (error || !code) {\n\t\t\tthrow new AuthCodeFailureLoggableException(error);\n\t\t}\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.oauthService.requestToken(\n\t\t\tcode,\n\t\t\thydraOauthConfig,\n\t\t\thydraOauthConfig.redirectUri\n\t\t);\n\n\t\tawait this.oauthService.validateToken(oauthTokens.idToken, hydraOauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tprotected validateStatus = (status: number): boolean => status === 200 || status === 302;\n\n\tasync requestAuthCode(jwt: string, oauthClientId: string): Promise {\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {},\n\t\t\twithCredentials: true,\n\t\t\tmaxRedirects: 0,\n\t\t\tvalidateStatus: this.validateStatus,\n\t\t};\n\n\t\tconst initResponse = await this.hydraSsoService.initAuth(hydraOauthConfig, axiosConfig);\n\n\t\tconst response: AxiosResponse = await this.processRedirectCascade(initResponse, jwt);\n\n\t\tconst authParams: AuthorizationParams = response.data as AuthorizationParams;\n\t\treturn authParams;\n\t}\n\n\tprivate async processRedirectCascade(\n\t\tinitResponse: AxiosResponse,\n\t\tjwt: string\n\t): Promise> {\n\t\tlet dto = new HydraRedirectDto({\n\t\t\tcurrentRedirect: 0,\n\t\t\treferer: '',\n\t\t\tcookies: { localCookies: [`jwt=${jwt}`], hydraCookies: [] },\n\t\t\tresponse: initResponse,\n\t\t\taxiosConfig: initResponse.config,\n\t\t});\n\n\t\tdo {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tdto = await this.hydraSsoService.processRedirect(dto);\n\t\t} while (dto.response.status === 302 && dto.currentRedirect = this.MAX_REDIRECTS) {\n\t\t\tthrow new InternalServerErrorException(`Redirect limit of ${this.MAX_REDIRECTS} exceeded.`);\n\t\t}\n\t\treturn dto.response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraRedirectDto.html":{"url":"classes/HydraRedirectDto.html","title":"class - HydraRedirectDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraRedirectDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n axiosConfig\n \n \n cookies\n \n \n currentRedirect\n \n \n referer\n \n \n response\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: HydraRedirectDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n HydraRedirectDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n axiosConfig\n \n \n \n \n \n \n Type : AxiosRequestConfig\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n cookies\n \n \n \n \n \n \n Type : CookiesDto\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n currentRedirect\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n referer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n Type : AxiosResponse\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\n\nexport class HydraRedirectDto {\n\tconstructor(props: HydraRedirectDto) {\n\t\tthis.currentRedirect = props.currentRedirect;\n\t\tthis.referer = props.referer;\n\t\tthis.cookies = props.cookies;\n\t\tthis.response = props.response;\n\t\tthis.axiosConfig = props.axiosConfig;\n\t}\n\n\tcurrentRedirect: number;\n\n\treferer: string;\n\n\tcookies: CookiesDto;\n\n\tresponse: AxiosResponse;\n\n\taxiosConfig: AxiosRequestConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraSsoService.html":{"url":"injectables/HydraSsoService.html","title":"injectable - HydraSsoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraSsoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/hydra.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generateConfig\n \n \n Private\n get\n \n \n Async\n initAuth\n \n \n Protected\n processCookies\n \n \n Async\n processRedirect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiRepo: LtiToolRepo, httpService: HttpService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generateConfig\n \n \n \n \n \n \n \n generateConfig(oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(url: string, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n initAuth\n \n \n \n \n \n \n \n initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n processCookies\n \n \n \n \n \n \n \n processCookies(setCookies: string[], cookies: CookiesDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n setCookies\n \n string[]\n \n\n \n No\n \n\n\n \n \n cookies\n \n CookiesDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CookiesDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n processRedirect\n \n \n \n \n \n \n \n processRedirect(dto: HydraRedirectDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n HydraRedirectDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : Configuration.get('HOST') as string\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:27\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { AuthorizationParams } from '@modules/oauth/controller/dto/authorization.params';\nimport { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, InternalServerErrorException } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { nanoid } from 'nanoid';\nimport QueryString from 'qs';\nimport { Observable, firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class HydraSsoService {\n\tconstructor(\n\t\tprivate readonly ltiRepo: LtiToolRepo,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\tprivate readonly HOST: string = Configuration.get('HOST') as string;\n\n\tasync initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst query = QueryString.stringify({\n\t\t\tresponse_type: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tclient_id: oauthConfig.clientId,\n\t\t\tredirect_uri: oauthConfig.redirectUri,\n\t\t\tstate: nanoid(15),\n\t\t});\n\t\tthis.logger.log(`${oauthConfig.authEndpoint}?${query}`);\n\t\tthis.logger.log(axiosConfig);\n\t\tconst res: Promise = this.get(`${oauthConfig.authEndpoint}?${query}`, axiosConfig);\n\t\treturn res;\n\t}\n\n\tasync processRedirect(dto: HydraRedirectDto): Promise {\n\t\tconst localDto: HydraRedirectDto = new HydraRedirectDto(dto);\n\t\tlet location = '';\n\n\t\tif (typeof localDto.response.headers.location === 'string') {\n\t\t\t({ location } = localDto.response.headers);\n\t\t}\n\n\t\tconst isLocal = !location.startsWith('http');\n\t\tconst isHydra = location.startsWith(Configuration.get('HYDRA_PUBLIC_URI') as string);\n\n\t\t// locations of schulcloud cookies are a relative path\n\t\tif (isLocal) {\n\t\t\tlocation = `${this.HOST}${location}`;\n\t\t}\n\n\t\tif (localDto.response.headers['set-cookie']) {\n\t\t\tlocalDto.cookies = this.processCookies(localDto.response.headers['set-cookie'], dto.cookies);\n\t\t}\n\n\t\tconst headerCookies: string = isHydra\n\t\t\t? localDto.cookies.hydraCookies.join('; ')\n\t\t\t: localDto.cookies.localCookies.join('; ');\n\n\t\tlocalDto.axiosConfig.headers = {\n\t\t\tReferer: localDto.referer,\n\t\t\tCookie: headerCookies,\n\t\t};\n\t\tthis.logger.log(localDto);\n\t\tlocalDto.response = await this.get(location, localDto.axiosConfig);\n\t\tlocalDto.referer = location;\n\t\tlocalDto.currentRedirect += 1;\n\n\t\treturn localDto;\n\t}\n\n\tprotected processCookies(setCookies: string[], cookies: CookiesDto): CookiesDto {\n\t\tconst { localCookies } = cookies;\n\t\tconst { hydraCookies } = cookies;\n\n\t\tsetCookies.forEach((item: string): void => {\n\t\t\tconst cookie: string = item.split(';')[0];\n\t\t\tif (cookie.startsWith('oauth2') && !hydraCookies.includes(cookie)) {\n\t\t\t\thydraCookies.push(cookie);\n\t\t\t} else if (!localCookies.includes(cookie)) {\n\t\t\t\tlocalCookies.push(cookie);\n\t\t\t}\n\t\t});\n\n\t\tconst cookiesDto = new CookiesDto({\n\t\t\tlocalCookies,\n\t\t\thydraCookies,\n\t\t});\n\t\treturn cookiesDto;\n\t}\n\n\tasync generateConfig(oauthClientId: string): Promise {\n\t\tconst tool: LtiToolDO = await this.ltiRepo.findByOauthClientId(oauthClientId);\n\n\t\t// Needs to be checked, because the fields can be undefined\n\t\tif (!tool.oAuthClientId || !tool.secret) {\n\t\t\tthrow new InternalServerErrorException(oauthClientId, 'Suitable tool not found!');\n\t\t}\n\n\t\tconst hydraUri: string = Configuration.get('HYDRA_PUBLIC_URI') as string;\n\t\tconst hydraOauthConfig = new OauthConfigEntity({\n\t\t\tauthEndpoint: `${hydraUri}/oauth2/auth`,\n\t\t\tclientId: tool.oAuthClientId,\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(tool.secret),\n\t\t\tgrantType: 'authorization_code',\n\t\t\tissuer: `${hydraUri}/`,\n\t\t\tjwksEndpoint: `${hydraUri}/.well-known/jwks.json`,\n\t\t\tlogoutEndpoint: `${hydraUri}/oauth2/sessions/logout`,\n\t\t\tprovider: 'hydra',\n\t\t\tredirectUri: `${Configuration.get('HOST') as string}/api/v3/sso/hydra/${oauthClientId}`,\n\t\t\tresponseType: 'code',\n\t\t\tscope: Configuration.get('NEXTCLOUD_SCOPES') as string, // Only Nextcloud is currently supported\n\t\t\ttokenEndpoint: `${hydraUri}/oauth2/token`,\n\t\t});\n\n\t\treturn hydraOauthConfig;\n\t}\n\n\tprivate get(url: string, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst respObservable: Observable = this.httpService.get(url, axiosConfig);\n\t\tconst res: Promise = firstValueFrom(respObservable);\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IBbbSettings.html":{"url":"interfaces/IBbbSettings.html","title":"interface - IBbbSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IBbbSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n host\n \n \n \n \n presentationUrl\n \n \n \n \n salt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n host\n \n \n \n \n \n \n \n \n host: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n presentationUrl\n \n \n \n \n \n \n \n \n presentationUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n salt\n \n \n \n \n \n \n \n \n salt: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const BbbSettings = Symbol('BbbSettings');\n\nexport interface IBbbSettings {\n\thost: string;\n\tsalt: string;\n\tpresentationUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeFileBuilder.html":{"url":"interfaces/ICommonCartridgeFileBuilder.html","title":"interface - ICommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n addResourceToFile\n \n \n \n \n build\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeOrganizationBuilder.html":{"url":"interfaces/ICommonCartridgeOrganizationBuilder.html","title":"interface - ICommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICurrentUser.html":{"url":"interfaces/ICurrentUser.html","title":"interface - ICurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/user.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n Optional\n \n impersonated\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n account id as EntityId\n\n \n \n \n \n \n \n \n \n \n impersonated\n \n \n \n \n \n \n \n \n impersonated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if a support member impersonates the user\n\n \n \n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n True if the user is an external user e.g. an oauth user or ldap user\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n users role ids as EntityId[]\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n users schoolId as EntityId\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n true if user is provided by external system -> no pw change in first login\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n authenticated users id\n\n \n \n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ICurrentUser {\n\t/** authenticated users id */\n\tuserId: EntityId;\n\t/** users role ids as EntityId[] */\n\troles: EntityId[];\n\t/** users schoolId as EntityId */\n\tschoolId: EntityId;\n\t/** account id as EntityId */\n\taccountId: EntityId;\n\n\t/** true if user is provided by external system -> no pw change in first login */\n\tsystemId?: EntityId;\n\n\t/** True if a support member impersonates the user */\n\timpersonated?: boolean;\n\n\t/** True if the user is an external user e.g. an oauth user or ldap user */\n\tisExternalUser: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IDashboardRepo.html":{"url":"interfaces/IDashboardRepo.html","title":"interface - IDashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IDashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n deleteDashboardByUserId\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 deleteDashboardByUserId\n \n \n \n \n \n \ndeleteDashboardByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.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 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 getDashboardById\n \n \n \n \n \n \ngetDashboardById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUsersDashboard\n \n \n \n \n \n \ngetUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n persistAndFlush\n \n \n \n \n \n \npersistAndFlush(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n\tdeleteDashboardByUserId(userId: EntityId): 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\tasync deleteDashboardByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(DashboardModelEntity, { user: userId });\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntity.html":{"url":"interfaces/IEntity.html","title":"interface - IEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntityWithTimestamps.html":{"url":"interfaces/IEntityWithTimestamps.html","title":"interface - IEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IError.html":{"url":"interfaces/IError.html","title":"interface - IError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IFindOptions.html":{"url":"interfaces/IFindOptions.html","title":"interface - IFindOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFindOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n order\n \n \n \n Optional\n \n pagination\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n order\n \n \n \n \n \n \n \n \n order: SortOrderMap\n\n \n \n\n\n \n \n Type : SortOrderMap\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pagination\n \n \n \n \n \n \n \n \n pagination: Pagination\n\n \n \n\n\n \n \n Type : Pagination\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IGridElement.html":{"url":"interfaces/IGridElement.html","title":"interface - IGridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IGridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getContent\n \n \n \n \n getId\n \n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n getReferences\n \n \n \n \n hasId\n \n \n \n \n isGroup\n \n \n \n \n removeReference\n \n \n \n \n removeReferenceByIndex\n \n \n \n \n setGroupName\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:20\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:8\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:14\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n Properties\n \n \n \n \n \n getContent\n \n \n \n \n \n \n \n \n getContent: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \n \n \n getId: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IH5PLibraryManagementConfig.html":{"url":"interfaces/IH5PLibraryManagementConfig.html","title":"interface - IH5PLibraryManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IH5PLibraryManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface IH5PLibraryManagementConfig {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: string;\n}\n\nexport const config: IH5PLibraryManagementConfig = {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: Configuration.get('H5P_EDITOR__LIBRARY_LIST_PATH') as string,\n};\n\nexport const h5PLibraryManagementConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IImportUserScope.html":{"url":"interfaces/IImportUserScope.html","title":"interface - IImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n Optional\n \n lastName\n \n \n \n Optional\n \n loginName\n \n \n \n Optional\n \n matches\n \n \n \n Optional\n \n role\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n \n \n loginName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n matches\n \n \n \n \n \n \n \n \n matches: MatchCreatorScope[]\n\n \n \n\n\n \n \n Type : MatchCreatorScope[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: IImportUserRoleName\n\n \n \n\n\n \n \n Type : IImportUserRoleName\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakConfigurationInputFiles.html":{"url":"interfaces/IKeycloakConfigurationInputFiles.html","title":"interface - IKeycloakConfigurationInputFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakConfigurationInputFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/keycloak-configuration-input-files.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountsFile\n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountsFile\n \n \n \n \n \n \n \n \n accountsFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n usersFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakConfigurationInputFiles = Symbol('KeycloakConfigurationInputFiles');\n\nexport interface IKeycloakConfigurationInputFiles {\n\taccountsFile: string;\n\tusersFile: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakSettings.html":{"url":"interfaces/IKeycloakSettings.html","title":"interface - IKeycloakSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/interface/keycloak-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n credentials\n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n \n \n baseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n credentials\n \n \n \n \n \n \n \n \n credentials: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n realmName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakSettings = Symbol('KeycloakSettings');\n\nexport interface IKeycloakSettings {\n\tbaseUrl: string;\n\trealmName: string;\n\tclientId: string;\n\tcredentials: {\n\t\tusername: string;\n\t\tpassword: string;\n\t\tgrantType: 'password';\n\t\tclientId: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ILegacyLogger.html":{"url":"interfaces/ILegacyLogger.html","title":"interface - ILegacyLogger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILegacyLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/legacy-logger.interface.ts\n \n\n \n Deprecated\n \n \n The new logger for loggables should be used.\n \n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n error\n \n \n \n \n http\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \ndebug(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(message, trace?: string, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n trace\n \n string\n \n\n \n Yes\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n http\n \n \n \n \n \n \nhttp(message: RequestLoggingBody, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n RequestLoggingBody\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export type RequestLoggingBody = {\n\tuserId?: string;\n\trequest: { url: string; method: string; params: unknown; query: unknown };\n\terror: unknown | undefined;\n};\n\n/**\n * @deprecated The new logger for loggables should be used.\n */\nexport interface ILegacyLogger {\n\thttp(message: RequestLoggingBody, context?: string): void;\n\tlog(message: unknown, context?: string): void;\n\terror(message: unknown, trace?: string, context?: string): void;\n\twarn(message: unknown, context?: string): void;\n\tdebug(message: unknown, context?: string): void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/INewsScope.html":{"url":"interfaces/INewsScope.html","title":"interface - INewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n interface for finding news with optional targetId\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n target\n \n \n \n Optional\n \n unpublished\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n unpublished\n \n \n \n \n \n \n \n \n unpublished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IProvisioningFeatures.html":{"url":"interfaces/IProvisioningFeatures.html","title":"interface - IProvisioningFeatures","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IProvisioningFeatures\n\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/config/provisioning-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningOptionsEnabled\n \n \n \n \n schulconnexGroupProvisioningEnabled\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n provisioningOptionsEnabled\n \n \n \n \n \n \n \n \n provisioningOptionsEnabled: 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 schulconnexGroupProvisioningEnabled\n \n \n \n \n \n \n \n \n schulconnexGroupProvisioningEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ProvisioningFeatures = Symbol('ProvisioningFeatures');\n\nexport interface IProvisioningFeatures {\n\tschulconnexGroupProvisioningEnabled: boolean;\n\tprovisioningOptionsEnabled: boolean;\n}\n\nexport class ProvisioningConfiguration {\n\tstatic provisioningFeatures: IProvisioningFeatures = {\n\t\tschulconnexGroupProvisioningEnabled: Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED') as boolean,\n\t\tprovisioningOptionsEnabled: Configuration.get('FEATURE_PROVISIONING_OPTIONS_ENABLED') as 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/ITask.html":{"url":"interfaces/ITask.html","title":"interface - ITask","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITask\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n availableDate\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n descriptionInputFormat\n \n \n \n Optional\n \n dueDate\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n availableDate\n \n \n \n \n \n \n \n \n availableDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n \n \n descriptionInputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IToolFeatures.html":{"url":"interfaces/IToolFeatures.html","title":"interface - IToolFeatures","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolFeatures\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n backEndUrl\n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n backEndUrl\n \n \n \n \n \n \n \n \n backEndUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n \n \n \n \n contextConfigurationEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n \n \n \n \n ctlToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n \n \n \n \n ltiToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n toolStatusWithoutVersions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IVideoConferenceSettings.html":{"url":"interfaces/IVideoConferenceSettings.html","title":"interface - IVideoConferenceSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IVideoConferenceSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/interface/video-conference-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bbb\n \n \n \n \n enabled\n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bbb\n \n \n \n \n \n \n \n \n bbb: IBbbSettings\n\n \n \n\n\n \n \n Type : IBbbSettings\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n hostUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IBbbSettings } from '../bbb';\n\nexport const VideoConferenceSettings = Symbol('VideoConferenceSettings');\n\nexport interface IVideoConferenceSettings {\n\tenabled: boolean;\n\thostUrl: string;\n\tbbb: IBbbSettings;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdParams.html":{"url":"classes/IdParams.html","title":"class - IdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth Client Id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class IdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The Oauth Client Id.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdToken.html":{"url":"interfaces/IdToken.html","title":"interface - IdToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/interface/id-token.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n email\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n iframe\n \n \n \n Optional\n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupNameIdTuple[]\n\n \n \n\n\n \n \n Type : GroupNameIdTuple[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iframe\n \n \n \n \n \n \n \n \n iframe: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IdToken {\n\tiframe?: string;\n\temail?: string;\n\tname?: string;\n\tuserId?: string;\n\tschoolId: string;\n\tgroups?: GroupNameIdTuple[];\n}\n\nexport interface GroupNameIdTuple {\n\tdisplayName: string;\n\tgid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenCreationLoggableException.html":{"url":"classes/IdTokenCreationLoggableException.html","title":"class - IdTokenCreationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenCreationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string, userId?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string\n \n \n \n No\n \n \n \n \n userId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:9\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class IdTokenCreationLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly clientId: string, private readonly userId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message = {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR_EXCEPTION',\n\t\t\tmessage: 'Something went wrong for id token creation. Tool could not be found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tclientId: this.clientId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenExtractionFailureLoggableException.html":{"url":"classes/IdTokenExtractionFailureLoggableException.html","title":"class - IdTokenExtractionFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenExtractionFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fieldName: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fieldName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenExtractionFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly fieldName: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to extract field',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tfieldName: this.fieldName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenInvalidLoggableException.html":{"url":"classes/IdTokenInvalidLoggableException.html","title":"class - IdTokenInvalidLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenInvalidLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-invalid-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:5\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenInvalidLoggableException extends OauthSsoErrorLoggableException {\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to validate idToken',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IdTokenService.html":{"url":"injectables/IdTokenService.html","title":"injectable - IdTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IdTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/id-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n Async\n createIdToken\n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, teamsRepo: TeamsRepo, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n \n \n \n \n \n buildGroupsClaim(teams: TeamEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teams\n \n TeamEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupNameIdTuple[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIdToken\n \n \n \n \n \n \n \n createIdToken(userId: string, scopes: string[], clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n scopes\n \n string[]\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n \n \n \n createIframeSubject(user: UserDO, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { TeamsRepo } from '@shared/repo';\nimport { IdTokenCreationLoggableException } from '../error/id-token-creation-exception.loggable';\nimport { GroupNameIdTuple, IdToken, OauthScope } from '../interface';\nimport { OauthProviderLoginFlowService } from './oauth-provider.login-flow.service';\n\n@Injectable()\nexport class IdTokenService {\n\tconstructor(\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync createIdToken(userId: string, scopes: string[], clientId: string): Promise {\n\t\tlet teams: TeamEntity[] = [];\n\t\tif (scopes.includes(OauthScope.GROUPS)) {\n\t\t\tteams = await this.teamsRepo.findByUserId(userId);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst name: string = await this.userService.getDisplayName(user);\n\t\tconst iframe: string | undefined = await this.createIframeSubject(user, clientId);\n\t\tconst groups: GroupNameIdTuple[] = this.buildGroupsClaim(teams);\n\n\t\treturn {\n\t\t\tiframe,\n\t\t\temail: scopes.includes(OauthScope.EMAIL) ? user.email : undefined,\n\t\t\tname: scopes.includes(OauthScope.PROFILE) ? name : undefined,\n\t\t\tuserId: scopes.includes(OauthScope.PROFILE) ? user.id : undefined,\n\t\t\tschoolId: user.schoolId,\n\t\t\tgroups: scopes.includes(OauthScope.GROUPS) ? groups : undefined,\n\t\t};\n\t}\n\n\tprivate buildGroupsClaim(teams: TeamEntity[]): GroupNameIdTuple[] {\n\t\treturn teams.map((team: TeamEntity): GroupNameIdTuple => {\n\t\t\treturn {\n\t\t\t\tgid: team.id,\n\t\t\t\tdisplayName: team.name,\n\t\t\t};\n\t\t});\n\t}\n\n\t// TODO N21-335 How we can refactor the iframe in the id token?\n\tprivate async createIframeSubject(user: UserDO, clientId: string): Promise {\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(clientId);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new IdTokenCreationLoggableException(clientId, user.id);\n\t\t}\n\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findByUserAndToolOrThrow(user, tool);\n\n\t\tconst iframeSubject: string = this.pseudonymService.getIframeSubject(pseudonym.pseudonym);\n\n\t\treturn iframeSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenUserNotFoundLoggableException.html":{"url":"classes/IdTokenUserNotFoundLoggableException.html","title":"class - IdTokenUserNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenUserNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(uuid: string, additionalInfo?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n uuid\n \n \n string\n \n \n \n No\n \n \n \n \n additionalInfo\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenUserNotFoundLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly uuid: string, private readonly additionalInfo?: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_USER_NOTFOUND',\n\t\t\tmessage: 'Failed to find user with uuid from id token',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuuid: this.uuid,\n\t\t\t\tadditionalInfo: this.additionalInfo,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdentityManagementConfig.html":{"url":"interfaces/IdentityManagementConfig.html","title":"interface - IdentityManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdentityManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IdentityManagementConfig {\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/IdentityManagementModule.html":{"url":"modules/IdentityManagementModule.html","title":"module - IdentityManagementModule","body":"\n \n\n\n\n\n Modules\n IdentityManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_IdentityManagementModule\n\n\n\ncluster_IdentityManagementModule_imports\n\n\n\ncluster_IdentityManagementModule_exports\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nIdentityManagementModule -->\n\nEncryptionModule->IdentityManagementModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nIdentityManagementModule -->\n\nKeycloakAdministrationModule->IdentityManagementModule\n\n\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nIdentityManagementModule -->\n\nKeycloakModule->IdentityManagementModule\n\n\n\n\n\nIdentityManagementOauthService \n\nIdentityManagementOauthService \n\nIdentityManagementOauthService -->\n\nIdentityManagementModule->IdentityManagementOauthService \n\n\n\n\n\nIdentityManagementService \n\nIdentityManagementService \n\nIdentityManagementService -->\n\nIdentityManagementModule->IdentityManagementService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n KeycloakModule\n \n \n \n \n Exports\n \n \n IdentityManagementOauthService\n \n \n IdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '../encryption';\nimport { IdentityManagementOauthService } from './identity-management-oauth.service';\nimport { IdentityManagementService } from './identity-management.service';\nimport { KeycloakAdministrationModule } from './keycloak-administration/keycloak-administration.module';\nimport { KeycloakModule } from './keycloak/keycloak.module';\nimport { KeycloakIdentityManagementOauthService } from './keycloak/service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './keycloak/service/keycloak-identity-management.service';\n\n@Module({\n\timports: [KeycloakModule, KeycloakAdministrationModule, HttpModule, EncryptionModule],\n\tproviders: [\n\t\t{ provide: IdentityManagementService, useClass: KeycloakIdentityManagementService },\n\t\t{ provide: IdentityManagementOauthService, useClass: KeycloakIdentityManagementOauthService },\n\t],\n\texports: [IdentityManagementService, IdentityManagementOauthService],\n})\nexport class IdentityManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementOauthService.html":{"url":"classes/IdentityManagementOauthService.html","title":"class - IdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management-oauth.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n Abstract\n isOauthConfigAvailable\n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:9\n \n \n\n\n \n \n Returns the oauth config of the IDM.\n\n\n \n Returns : Promise\n\n \n \n the oauth config of the IDM.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:15\n \n \n\n\n \n \n Checks if the IDM oauth config is available.\n\n\n \n Returns : Promise\n\n \n \n true if the IDM oauth config is available, false otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:23\n \n \n\n\n \n \n Checks the given credentials with the IDM and returns an JWT on success.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n the username of the account to check.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the password of the account to check.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the JWT as string or undefined on failure.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto';\n\nexport abstract class IdentityManagementOauthService {\n\t/**\n\t * Returns the oauth config of the IDM.\n\t * @returns the oauth config of the IDM.\n\t * @throws an error if the IDM oauth config is not available.\n\t */\n\tabstract getOauthConfig(): Promise;\n\n\t/**\n\t * Checks if the IDM oauth config is available.\n\t * @returns true if the IDM oauth config is available, false otherwise.\n\t */\n\tabstract isOauthConfigAvailable(): Promise;\n\n\t/**\n\t * Checks the given credentials with the IDM and returns an JWT on success.\n\t * @param username the username of the account to check.\n\t * @param password the password of the account to check.\n\t * @returns the JWT as string or undefined on failure.\n\t */\n\tabstract resourceOwnerPasswordGrant(username: string, password: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementService.html":{"url":"classes/IdentityManagementService.html","title":"class - IdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n createAccount\n \n \n Abstract\n deleteAccountById\n \n \n Abstract\n findAccountByDbcAccountId\n \n \n Abstract\n findAccountByDbcUserId\n \n \n Abstract\n findAccountById\n \n \n Abstract\n findAccountsByUsername\n \n \n Abstract\n getAllAccounts\n \n \n Abstract\n getUserAttribute\n \n \n Abstract\n setUserAttribute\n \n \n Abstract\n updateAccount\n \n \n Abstract\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccountUpdate, password?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:18\n \n \n\n\n \n \n Create a new account in the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account's details\n\n \n \n \n password\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n the account's password (optional)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if created successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:82\n \n \n\n\n \n \n Deletes an account from the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be deleted.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the accounts id if deleted successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:52\n \n \n\n\n \n \n Load a specific account by its dbc account id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:60\n \n \n\n\n \n \n Load a specific account by its dbc user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountById\n \n \n \n \n \n \n \n findAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:44\n \n \n\n\n \n \n Load a specific account by its id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:68\n \n \n\n\n \n \n Loads the account with the specific username.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n of the account to be loaded.\n\n \n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n the search options to be applied.\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n the found accounts (might be empty).\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:75\n \n \n\n\n \n \n Load all accounts.\n\n\n \n Returns : Promise\n\n \n \n an array of all accounts (might be empty)\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:90\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Gets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to get an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to get.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the attribute value if exists, null otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:101\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Sets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to set an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to set.\n\n \n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n the value of the attribute to set.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccount\n \n \n \n \n \n \n \n updateAccount(accountId: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:27\n \n \n\n\n \n \n Update an existing account's details.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account data to be applied.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(accountId: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:36\n \n \n\n\n \n \n Update an existing account's password.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the new password (clear).\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\n\nexport type SearchOptions = {\n\texact?: boolean;\n\tskip?: number;\n\tlimit?: number;\n};\n\nexport abstract class IdentityManagementService {\n\t/**\n\t * Create a new account in the identity management.\n\t *\n\t * @param account the account's details\n\t * @param [password] the account's password (optional)\n\t * @returns the account id if created successfully\n\t */\n\tabstract createAccount(account: IdmAccountUpdate, password?: string | undefined): Promise;\n\n\t/**\n\t * Update an existing account's details.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param account the account data to be applied.\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccount(accountId: string, account: IdmAccountUpdate): Promise;\n\n\t/**\n\t * Update an existing account's password.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param password the new password (clear).\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccountPassword(accountId: string, password: string): Promise;\n\n\t/**\n\t * Load a specific account by its id.\n\t *\n\t * @param accountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountById(accountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc account id.\n\t *\n\t * @param accountDbcAccountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcAccountId(accountDbcAccountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc user id.\n\t *\n\t * @param accountDbcUserId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcUserId(accountDbcUserId: string): Promise;\n\n\t/**\n\t * Loads the account with the specific username.\n\t * @param username of the account to be loaded.\n\t * @param options the search options to be applied.\n\t * @returns the found accounts (might be empty).\n\t */\n\tabstract findAccountsByUsername(username: string, options?: SearchOptions): Promise>;\n\n\t/**\n\t * Load all accounts.\n\t *\n\t * @returns an array of all accounts (might be empty)\n\t */\n\tabstract getAllAccounts(): Promise;\n\n\t/**\n\t * Deletes an account from the identity management.\n\t * @param accountId the account to be deleted.\n\t * @returns the accounts id if deleted successfully\n\t */\n\tabstract deleteAccountById(accountId: string): Promise;\n\n\t/**\n\t * Gets an attribute value of a specific user.\n\t * @param userId the id of the user to get an attribute value.\n\t * @param attributeName the name of the attribute to get.\n\t * @returns the attribute value if exists, null otherwise.\n\t */\n\tabstract getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise;\n\n\t/**\n\t * Sets an attribute value of a specific user.\n\t * @param userId the id of the user to set an attribute value.\n\t * @param attributeName the name of the attribute to set.\n\t * @param attributeValue the value of the attribute to set.\n\t */\n\tabstract setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ImportUser.html":{"url":"entities/ImportUser.html","title":"entity - ImportUser","body":"\n \n\n\n\n\n\n\n\n Entities\n ImportUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n email\n \n \n \n externalId\n \n \n \n firstName\n \n \n \n flagged\n \n \n \n lastName\n \n \n \n ldapDn\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n school\n \n \n \n system\n \n \n \n \n Optional\n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property({type: Boolean})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:112\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:82\n \n \n\n\n \n \n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchCreator\n\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'match_matchedBy', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:109\n \n \n\n \n \n References who set the user, take the field as read-only\n\n \n \n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : IImportUserRoleName[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'roles'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId', wrappedReference: true, eager: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'match_userId', eager: true, nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:102\n \n \n\n \n \n Update user-match together with matchedBy, take the field as read-only\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ImportUserController.html":{"url":"controllers/ImportUserController.html","title":"controller - ImportUserController","body":"\n \n\n\n\n\n\n\n Controllers\n ImportUserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/import-user.controller.ts\n \n\n \n Prefix\n \n \n user/import\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n Async\n findAllImportUsers\n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n Async\n removeMatch\n \n \n \n Async\n saveAllUsersMatches\n \n \n \n Async\n setMatch\n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n Async\n updateFlag\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n \n \n \n \n endSchoolInMaintenance(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('startSync')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllImportUsers\n \n \n \n \n \n \n \n findAllImportUsers(currentUser: ICurrentUser, scope: FilterImportUserParams, sortingQuery: SortImportUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n \n \n \n \n findAllUnmatchedUsers(currentUser: ICurrentUser, scope: FilterUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('unassigned')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeMatch\n \n \n \n \n \n \n \n removeMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAllUsersMatches\n \n \n \n \n \n \n \n saveAllUsersMatches(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('migrate')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMatch\n \n \n \n \n \n \n \n setMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateMatchParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateMatchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n \n \n \n \n startSchoolInUserMigration(currentUser: ICurrentUser, useCentralLdap?: boolean)\n \n \n\n \n \n Decorators : \n \n @Post('startUserMigration')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n useCentralLdap\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateFlag\n \n \n \n \n \n \n \n updateFlag(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateFlagParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/flag')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateFlagParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { ImportUser, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { ImportUserMapper } from '../mapper/import-user.mapper';\nimport { UserMatchMapper } from '../mapper/user-match.mapper';\nimport { UserImportUc } from '../uc/user-import.uc';\n\nimport {\n\tFilterImportUserParams,\n\tFilterUserParams,\n\tImportUserListResponse,\n\tImportUserResponse,\n\tImportUserUrlParams,\n\tSortImportUserParams,\n\tUpdateFlagParams,\n\tUpdateMatchParams,\n\tUserMatchListResponse,\n} from './dto';\n\n@ApiTags('UserImport')\n@Authenticate('jwt')\n@Controller('user/import')\nexport class ImportUserController {\n\tconstructor(private readonly userImportUc: UserImportUc, private readonly userUc: UserImportUc) {}\n\n\t@Get()\n\tasync findAllImportUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterImportUserParams,\n\t\t@Query() sortingQuery: SortImportUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = ImportUserMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query = ImportUserMapper.mapImportUserFilterQueryToDomain(scope);\n\t\tconst [importUserList, count] = await this.userImportUc.findAllImportUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = importUserList.map((importUser) => ImportUserMapper.mapToResponse(importUser));\n\t\tconst response = new ImportUserListResponse(dtoList, count, skip, limit);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/match')\n\tasync setMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateMatchParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.setMatch(currentUser.userId, urlParams.importUserId, params.userId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':importUserId/match')\n\tasync removeMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userImportUc.removeMatch(currentUser.userId, urlParams.importUserId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/flag')\n\tasync updateFlag(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateFlagParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.updateFlag(currentUser.userId, urlParams.importUserId, params.flagged);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Get('unassigned')\n\tasync findAllUnmatchedUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\n\t\tconst query = UserMatchMapper.mapToDomain(scope);\n\t\tconst [userList, total] = await this.userUc.findAllUnmatchedUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = userList.map((user) => UserMatchMapper.mapToResponse(user));\n\t\tconst response = new UserMatchListResponse(dtoList, total, skip, limit);\n\n\t\treturn response as unknown as UserMatchListResponse;\n\t}\n\n\t@Post('migrate')\n\tasync saveAllUsersMatches(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.saveAllUsersMatches(currentUser.userId);\n\t}\n\n\t@Post('startUserMigration')\n\tasync startSchoolInUserMigration(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query('useCentralLdap') useCentralLdap?: boolean\n\t): Promise {\n\t\tawait this.userImportUc.startSchoolInUserMigration(currentUser.userId, useCentralLdap);\n\t}\n\n\t@Post('startSync')\n\tasync endSchoolInMaintenance(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.endSchoolInMaintenance(currentUser.userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserFactory.html":{"url":"classes/ImportUserFactory.html","title":"class - ImportUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/import-user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n matched\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n matched\n \n \n \n \n \n \nmatched(matchedBy: MatchCreator, user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/import-user.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchedBy\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName, ImportUser, ImportUserProperties, MatchCreator, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport { v4 as uuidv4 } from 'uuid';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { systemEntityFactory } from './systemEntityFactory';\n\nclass ImportUserFactory extends BaseFactory {\n\tmatched(matchedBy: MatchCreator, user: User): this {\n\t\tconst params: DeepPartial = { matchedBy, user };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const importUserFactory = ImportUserFactory.define(ImportUser, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\tsystem: systemEntityFactory.build(),\n\t\tldapDn: `uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs`,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\texternalId: uuidv4() as unknown as string,\n\t\tfirstName: `John${sequence}`,\n\t\tlastName: `Doe${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troleNames: [RoleName.STUDENT as IImportUserRoleName],\n\t\tclassNames: ['firstClass'],\n\t\tflagged: false,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserListResponse.html":{"url":"classes/ImportUserListResponse.html","title":"class - ImportUserListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ImportUserResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ImportUserResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:71\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMapper.html":{"url":"classes/ImportUserMapper.html","title":"class - ImportUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/import-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n Static\n mapSortingQueryToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n \n \n \n \n \n mapImportUserFilterQueryToDomain(query: FilterImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSortingQueryToDomain\n \n \n \n \n \n \n \n mapSortingQueryToDomain(sortingQuery: SortImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(importUser: ImportUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n importUser\n \n ImportUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser } from '@shared/domain/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport { IImportUserScope } from '@shared/domain/types';\nimport {\n\tFilterImportUserParams,\n\tImportUserResponse,\n\tImportUserSortOrder,\n\tSortImportUserParams,\n} from '../controller/dto';\n\nimport { ImportUserMatchMapper } from './match.mapper';\n\nimport { RoleNameMapper } from './role-name.mapper';\nimport { UserMatchMapper } from './user-match.mapper';\n\nexport class ImportUserMapper {\n\tstatic mapSortingQueryToDomain(sortingQuery: SortImportUserParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) return undefined;\n\t\tconst result: SortOrderMap = {};\n\t\tswitch (sortBy) {\n\t\t\tcase ImportUserSortOrder.FIRSTNAME:\n\t\t\tcase ImportUserSortOrder.LASTNAME:\n\t\t\t\tresult[sortBy] = sortingQuery.sortOrder;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new BadRequestException();\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic mapToResponse(importUser: ImportUser): ImportUserResponse {\n\t\tconst dto = new ImportUserResponse({\n\t\t\timportUserId: importUser.id,\n\t\t\tloginName: importUser.loginName || '',\n\t\t\tfirstName: importUser.firstName,\n\t\t\tlastName: importUser.lastName,\n\t\t\troleNames: importUser.roleNames.map((role) => RoleNameMapper.mapToResponse(role)),\n\t\t\tclassNames: importUser.classNames,\n\t\t\tflagged: importUser.flagged,\n\t\t});\n\t\tif (importUser.user != null && importUser.matchedBy) {\n\t\t\tconst { user } = importUser;\n\t\t\tdto.match = UserMatchMapper.mapToResponse(user, importUser.matchedBy);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapImportUserFilterQueryToDomain(query: FilterImportUserParams): IImportUserScope {\n\t\tconst dto: IImportUserScope = {};\n\t\tif (StringValidator.isNotEmptyString(query.firstName)) dto.firstName = query.firstName;\n\t\tif (StringValidator.isNotEmptyString(query.lastName)) dto.lastName = query.lastName;\n\t\tif (StringValidator.isNotEmptyString(query.loginName)) dto.loginName = query.loginName;\n\t\tif (query.role != null) {\n\t\t\tdto.role = RoleNameMapper.mapToDomain(query.role);\n\t\t}\n\t\tif (StringValidator.isNotEmptyString(query.classes)) dto.classes = query.classes;\n\t\tif (query.match) {\n\t\t\tdto.matches = query.match.map((match) => ImportUserMatchMapper.mapImportUserMatchScopeToDomain(match));\n\t\t}\n\t\tif (query.flagged === true) dto.flagged = true;\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMatchMapper.html":{"url":"classes/ImportUserMatchMapper.html","title":"class - ImportUserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n \n \n \n \n \n mapImportUserMatchScopeToDomain(match: FilterMatchType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n match\n \n FilterMatchType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchCreatorScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n \n \n \n mapMatchCreatorToResponse(matchCreator: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchCreator\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MatchCreator } from '@shared/domain/entity';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { FilterMatchType, MatchType } from '../controller/dto';\n\nexport class ImportUserMatchMapper {\n\tstatic mapImportUserMatchScopeToDomain(match: FilterMatchType): MatchCreatorScope {\n\t\tif (match === FilterMatchType.AUTO) return MatchCreatorScope.AUTO;\n\t\tif (match === FilterMatchType.MANUAL) return MatchCreatorScope.MANUAL;\n\t\tif (match === FilterMatchType.NONE) return MatchCreatorScope.NONE;\n\t\tthrow Error('invalid match from filter query');\n\t}\n\n\tstatic mapMatchCreatorToResponse(matchCreator: MatchCreator): MatchType {\n\t\tswitch (matchCreator) {\n\t\t\tcase MatchCreator.MANUAL:\n\t\t\t\treturn MatchType.MANUAL;\n\t\t\tcase MatchCreator.AUTO:\n\t\t\tdefault:\n\t\t\t\treturn MatchType.AUTO;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ImportUserModule.html":{"url":"modules/ImportUserModule.html","title":"module - ImportUserModule","body":"\n \n\n\n\n\n Modules\n ImportUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ImportUserModule\n\n\n\ncluster_ImportUserModule_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\nLegacySystemRepo\n\nLegacySystemRepo\n\nImportUserModule -->\n\nLegacySystemRepo->ImportUserModule\n\n\n\n\n\nUserImportUc\n\nUserImportUc\n\nImportUserModule -->\n\nUserImportUc->ImportUserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nImportUserModule -->\n\nUserRepo->ImportUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-import/user-import.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ImportUserRepo\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n UserImportUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n ImportUserController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolModule } from '@modules/legacy-school';\nimport { Module } from '@nestjs/common';\nimport { ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '../account';\nimport { AuthorizationModule } from '../authorization';\nimport { ImportUserController } from './controller/import-user.controller';\nimport { UserImportUc } from './uc/user-import.uc';\n\n@Module({\n\timports: [LoggerModule, AccountModule, LegacySchoolModule, AuthorizationModule],\n\tcontrollers: [ImportUserController],\n\tproviders: [UserImportUc, ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo],\n\texports: [],\n})\n/**\n * Module to provide user migration,\n * to link existing users with ldap references to enable\n * external authentication and sync.\n */\nexport class ImportUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ImportUserProperties.html":{"url":"interfaces/ImportUserProperties.html","title":"interface - ImportUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ImportUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classNames\n \n \n \n \n email\n \n \n \n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n \n lastName\n \n \n \n \n ldapDn\n \n \n \n Optional\n \n matchedBy\n \n \n \n Optional\n \n roleNames\n \n \n \n \n school\n \n \n \n \n system\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classNames\n \n \n \n \n \n \n \n \n classNames: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n matchedBy\n \n \n \n \n \n \n \n \n matchedBy: MatchCreator\n\n \n \n\n\n \n \n Type : MatchCreator\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n \n \n roleNames: IImportUserRoleName[]\n\n \n \n\n\n \n \n Type : IImportUserRoleName[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ImportUserRepo.html":{"url":"injectables/ImportUserRepo.html","title":"injectable - ImportUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ImportUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n Async\n findById\n \n \n Async\n findImportUsers\n \n \n Private\n Async\n findImportUsersAndCount\n \n \n Async\n hasMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n \n \n \n \n \n deleteImportUsersBySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findImportUsers\n \n \n \n \n \n \n \n findImportUsers(school: SchoolEntity, filters: IImportUserScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n \n \n\n \n \n filters\n \n IImportUserScope\n \n\n \n No\n \n\n \n {}\n \n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findImportUsersAndCount\n \n \n \n \n \n \n \n findImportUsersAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasMatch\n \n \n \n \n \n \n \n hasMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:29\n \n \n\n\n \n \n resolves with importusers matched with a local user account\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId, IImportUserScope } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { ImportUserScope } from './importuser.scope';\n\n@Injectable()\nexport class ImportUserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn ImportUser;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tif (!ObjectId.isValid(id)) throw new Error('invalid id');\n\t\tconst importUser = await this._em.findOneOrFail(ImportUser, { id });\n\t\tif (importUser.user != null) {\n\t\t\tawait this._em.populate(importUser.user, ['roles']);\n\t\t}\n\t\treturn importUser;\n\t}\n\n\t/**\n\t * resolves with importusers matched with a local user account\n\t */\n\tasync hasMatch(user: User): Promise {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.byUserMatch(user);\n\t\tconst importUser = await this._em.findOne(ImportUser, scope.query);\n\t\treturn importUser;\n\t}\n\n\tasync findImportUsers(\n\t\tschool: SchoolEntity,\n\t\tfilters: IImportUserScope = {},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.bySchool(school);\n\t\tif (filters.firstName != null) scope.byFirstName(filters.firstName);\n\t\tif (filters.lastName != null) scope.byLastName(filters.lastName);\n\t\tif (filters.loginName != null) scope.byLoginName(filters.loginName);\n\t\tif (filters.role != null) scope.byRole(filters.role);\n\t\tif (filters.classes != null) scope.byClasses(filters.classes);\n\t\tif (filters.matches != null) scope.byMatches(filters.matches);\n\t\tif (filters.flagged === true) scope.isFlagged(true);\n\t\tconst countedImportUsers = await this.findImportUsersAndCount(scope.query, options);\n\t\treturn countedImportUsers;\n\t}\n\n\tprivate async findImportUsersAndCount(\n\t\tquery: FilterQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\t\tconst [importUserEntities, count] = await this._em.findAndCount(ImportUser, query, queryOptions);\n\t\tconst userMatches = importUserEntities.map((importUser) => importUser.user).filter((user) => user != null);\n\t\t// load role names of referenced users\n\t\tawait this._em.populate(userMatches as User[], ['roles']);\n\t\treturn [importUserEntities, count];\n\t}\n\n\tasync deleteImportUsersBySchool(school: SchoolEntity): Promise {\n\t\tawait this._em.nativeDelete(ImportUser, { school });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserResponse.html":{"url":"classes/ImportUserResponse.html","title":"class - ImportUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n \n firstName\n \n \n \n flagged\n \n \n \n \n importUserId\n \n \n \n \n lastName\n \n \n \n \n loginName\n \n \n \n Optional\n match\n \n \n \n roleNames\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ImportUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ImportUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'names of classes the user attends from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user firstname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'manual flag to apply it as filter'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({pattern: '[a-f0-9]{24}', description: 'id reference to a import user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user lastname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'login name from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : UserMatchResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'assignemnt to a local user account', type: UserMatchResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserScope.html":{"url":"classes/ImportUserScope.html","title":"class - ImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClasses\n \n \n byFirstName\n \n \n byLastName\n \n \n byLoginName\n \n \n byMatches\n \n \n byRole\n \n \n bySchool\n \n \n byUserMatch\n \n \n isFlagged\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClasses\n \n \n \n \n \n \nbyClasses(classes: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFirstName\n \n \n \n \n \n \nbyFirstName(firstName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n firstName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLastName\n \n \n \n \n \n \nbyLastName(lastName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lastName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLoginName\n \n \n \n \n \n \nbyLoginName(loginName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:56\n \n \n\n\n \n \n filters the login name case insensitive for contains which is part of the dn\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMatches\n \n \n \n \n \n \nbyMatches(matches: MatchCreatorScope[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matches\n \n MatchCreatorScope[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byRole\n \n \n \n \n \n \nbyRole(roleName: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchool\n \n \n \n \n \n \nbySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserMatch\n \n \n \n \n \n \nbyUserMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isFlagged\n \n \n \n \n \n \nisFlagged(flagged)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n flagged\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { MongoPatterns } from '../mongo.patterns';\nimport { Scope } from '../scope';\n\nexport class ImportUserScope extends Scope {\n\tbySchool(school: SchoolEntity): ImportUserScope {\n\t\tconst schoolId = school._id;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\t\tthis.addQuery({ school });\n\t\treturn this;\n\t}\n\n\tbyUserMatch(user: User): ImportUserScope {\n\t\tconst userId = user._id;\n\t\tif (!ObjectId.isValid(userId)) throw new Error('invalid user match id');\n\t\tthis.addQuery({ user });\n\t\treturn this;\n\t}\n\n\tbyFirstName(firstName: string): ImportUserScope {\n\t\tconst escapedFirstName = firstName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedFirstName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tfirstName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedFirstName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyLastName(lastName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLastName = lastName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLastName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tlastName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedLastName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\t/** filters the login name case insensitive for contains which is part of the dn */\n\tbyLoginName(loginName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLoginName = loginName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLoginName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tldapDn: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: `^uid=[^,]*${escapedLoginName}[^,]*,`,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyRole(roleName: RoleName): ImportUserScope {\n\t\tswitch (roleName) {\n\t\t\tcase RoleName.ADMINISTRATOR:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.ADMINISTRATOR] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.STUDENT:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.STUDENT] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.TEACHER:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.TEACHER] } });\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('unexpected role name');\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClasses(classes: string): ImportUserScope {\n\t\tconst escapedClasses = classes.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedClasses, true))\n\t\t\tthis.addQuery({\n\t\t\t\tclassNames: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedClasses,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyMatches(matches: MatchCreatorScope[]) {\n\t\tconst queries = matches\n\t\t\t.map((match) => {\n\t\t\t\tif (match === MatchCreatorScope.MANUAL) return { matchedBy: 'admin' };\n\t\t\t\tif (match === MatchCreatorScope.AUTO) return { matchedBy: 'auto' };\n\t\t\t\tif (match === MatchCreatorScope.NONE) return { matchedBy: null };\n\t\t\t\treturn null;\n\t\t\t})\n\t\t\t.filter((match) => match != null);\n\t\tif (queries.length > 0) this.addQuery({ $or: queries as FilterQuery[] });\n\t\treturn this;\n\t}\n\n\tisFlagged(flagged = true) {\n\t\tif (flagged === true) this.addQuery({ flagged: true });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserUrlParams.html":{"url":"classes/ImportUserUrlParams.html","title":"class - ImportUserUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of an importuser object, that matches an internal user with an external user.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ImportUserUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of an importuser object, that matches an internal user with an external user.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\timportUserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InlineAttachment.html":{"url":"interfaces/InlineAttachment.html","title":"interface - InlineAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InlineAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n contentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/InstalledLibrary.html":{"url":"entities/InstalledLibrary.html","title":"entity - InstalledLibrary","body":"\n \n\n\n\n\n\n\n\n Entities\n InstalledLibrary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n Optional\n author\n \n \n \n Optional\n coreApi\n \n \n \n Optional\n description\n \n \n \n Optional\n dropLibraryCss\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n Optional\n embedTypes\n \n \n \n files\n \n \n \n Optional\n fullscreen\n \n \n \n Optional\n h\n \n \n \n Optional\n license\n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n Optional\n metadataSettings\n \n \n \n minorVersion\n \n \n \n patchVersion\n \n \n \n Optional\n preloadedCss\n \n \n \n Optional\n preloadedDependencies\n \n \n \n Optional\n preloadedJs\n \n \n \n Optional\n requiredExtensions\n \n \n \n restricted\n \n \n \n runnable\n \n \n \n Optional\n state\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:64\n \n \n\n \n \n Addons can be added to other content types by\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n author\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n coreApi\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:120\n \n \n\n \n \n The core API required to run the library.\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dropLibraryCss\n \n \n \n \n \n \n Type : literal type[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:129\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:137\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:140\n \n \n\n\n \n \n \n \n \n \n \n \n \n files\n \n \n \n \n \n \n Type : FileMetadata[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:189\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n fullscreen\n \n \n \n \n \n \n Type : \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:143\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:146\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:149\n \n \n\n\n \n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metadataSettings\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:152\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n patchVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedCss\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:158\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedJs\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:164\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requiredExtensions\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:176\n \n \n\n\n \n \n \n \n \n \n \n \n \n restricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:111\n \n \n\n \n \n If set to true, the library can only be used be users who have this special\nprivilege.\n\n \n \n\n \n \n \n \n \n \n \n \n \n runnable\n \n \n \n \n \n \n Type : boolean | \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:167\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n state\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:181\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:170\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:173\n \n \n\n\n \n \n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InterceptorConfig.html":{"url":"interfaces/InterceptorConfig.html","title":"interface - InterceptorConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InterceptorConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/interfaces/interceptor-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface InterceptorConfig {\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InterceptorModule.html":{"url":"modules/InterceptorModule.html","title":"module - InterceptorModule","body":"\n \n\n\n\n\n Modules\n InterceptorModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/interceptor/interceptor.module.ts\n \n\n\n\n \n Description\n \n \n \nGlobal Interceptor setup\n\nHere, we globally apply\n\nvalidate input data using @ClassSerializerInterceptor\nset a timeout for requests using @TimeoutInterceptor\n\n\n \n\n\n \n \n \n \n\n\n \n\n\n \n import { ClassSerializerInterceptor, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { APP_INTERCEPTOR } from '@nestjs/core';\nimport { InterceptorConfig, TimeoutInterceptor } from '@shared/common';\n\n/** *********************************************\n * Global Interceptor setup\n * **********************************************\n * Here, we globally apply\n * - validate input data using @ClassSerializerInterceptor\n * - set a timeout for requests using @TimeoutInterceptor\n */\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR,\n\t\t\tuseClass: ClassSerializerInterceptor,\n\t\t},\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR, // TODO remove (for testing)\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\t\t\t\treturn new TimeoutInterceptor(timeout);\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n})\nexport class InterceptorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IntrospectResponse.html":{"url":"interfaces/IntrospectResponse.html","title":"interface - IntrospectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IntrospectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/introspect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n client_id\n \n \n \n Optional\n \n exp\n \n \n \n Optional\n \n ext\n \n \n \n Optional\n \n iat\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n nbf\n \n \n \n Optional\n \n obfuscated_subject\n \n \n \n Optional\n \n scope\n \n \n \n Optional\n \n sub\n \n \n \n Optional\n \n token_type\n \n \n \n Optional\n \n token_use\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n active\n \n \n \n \n \n \n \n \n active: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n \n \n client_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ext\n \n \n \n \n \n \n \n \n ext: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nbf\n \n \n \n \n \n \n \n \n nbf: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n obfuscated_subject\n \n \n \n \n \n \n \n \n obfuscated_subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n \n \n scope: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_type\n \n \n \n \n \n \n \n \n token_type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_use\n \n \n \n \n \n \n \n \n token_use: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IntrospectResponse {\n\tactive: boolean;\n\n\taud?: string[];\n\n\tclient_id?: string;\n\n\texp?: number;\n\n\text?: object;\n\n\tiat?: number;\n\n\tiss?: string;\n\n\tnbf?: number;\n\n\tobfuscated_subject?: string;\n\n\tscope?: string;\n\n\tsub?: string;\n\n\ttoken_type?: string;\n\n\ttoken_use?: string;\n\n\tusername?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidOriginForLogoutUrlLoggableException.html":{"url":"classes/InvalidOriginForLogoutUrlLoggableException.html","title":"class - InvalidOriginForLogoutUrlLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidOriginForLogoutUrlLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoutUrl: string, origin: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n \n string\n \n \n \n No\n \n \n \n \n origin\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidOriginForLogoutUrlLoggableException extends BadRequestException implements Loggable {\n\tconstructor(private readonly logoutUrl: string, private readonly origin: string | undefined) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_ORIGIN_FOR_LOGOUT_URL',\n\t\t\tmessage: 'The provided logoutUrl is from the wrong domain. Only URLs from the origin of the request can be used.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\treceived: new URL(this.logoutUrl).origin,\n\t\t\t\texpected: this.origin,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidUserLoginMigrationLoggableException.html":{"url":"classes/InvalidUserLoginMigrationLoggableException.html","title":"class - InvalidUserLoginMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidUserLoginMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, targetSystemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n targetSystemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidUserLoginMigrationLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly targetSystemId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_USER_LOGIN_MIGRATION',\n\t\t\tmessage: 'The migration cannot be started, because there is no migration to the selected target system.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttargetSystemId: this.targetSystemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IservMapper.html":{"url":"classes/IservMapper.html","title":"class - IservMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IservMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n Static\n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n \n \n \n \n \n mapToExternalSchoolDto(schoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSchoolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalUserDto\n \n \n \n \n \n \n \n mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalUserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { RoleName } from '@shared/domain/interface';\nimport { ExternalSchoolDto, ExternalUserDto } from '../../dto';\n\nexport class IservMapper {\n\tstatic mapToExternalSchoolDto(schoolDO: LegacySchoolDo): ExternalSchoolDto {\n\t\treturn new ExternalSchoolDto({\n\t\t\tname: schoolDO.name,\n\t\t\texternalId: schoolDO.externalId || '',\n\t\t\tofficialSchoolNumber: schoolDO.officialSchoolNumber,\n\t\t});\n\t}\n\n\tstatic mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[]): ExternalUserDto {\n\t\treturn new ExternalUserDto({\n\t\t\tfirstName: userDO.firstName,\n\t\t\tlastName: userDO.lastName,\n\t\t\temail: userDO.email,\n\t\t\troles: roleNames,\n\t\t\texternalId: userDO.externalId || '',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IservProvisioningStrategy.html":{"url":"injectables/IservProvisioningStrategy.html","title":"injectable - IservProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IservProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n Async\n getAdditionalErrorInfo\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAdditionalErrorInfo\n \n \n \n \n \n \n \n getAdditionalErrorInfo(email: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:29\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport {\n\tIdTokenExtractionFailureLoggableException,\n\tIdTokenUserNotFoundLoggableException,\n} from '@modules/oauth/loggable';\nimport {\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n\tProvisioningDto,\n} from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\nimport { IservMapper } from './iserv-do.mapper';\n\n@Injectable()\nexport class IservProvisioningStrategy extends ProvisioningStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService, private readonly userService: UserService) {\n\t\tsuper();\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.ISERV;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken: JwtPayload | null = jwt.decode(input.idToken, { json: true });\n\n\t\tif (!idToken || !idToken.uuid) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('uuid');\n\t\t}\n\n\t\tconst ldapUser: UserDO | null = await this.userService.findByExternalId(\n\t\t\tidToken.uuid as string,\n\t\t\tinput.system.systemId\n\t\t);\n\t\tif (!ldapUser) {\n\t\t\tconst additionalInfo: string = await this.getAdditionalErrorInfo(idToken.email as string | undefined);\n\t\t\tthrow new IdTokenUserNotFoundLoggableException(idToken?.uuid as string, additionalInfo);\n\t\t}\n\n\t\tconst ldapSchool: LegacySchoolDo = await this.schoolService.getSchoolById(ldapUser.schoolId);\n\t\tconst roleNames: RoleName[] = ldapUser.roles.map((roleRef: RoleReference): RoleName => roleRef.name);\n\n\t\tconst externalUser: ExternalUserDto = IservMapper.mapToExternalUserDto(ldapUser, roleNames);\n\t\tconst externalSchool: ExternalSchoolDto = IservMapper.mapToExternalSchoolDto(ldapSchool);\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t\texternalSchool,\n\t\t});\n\t\treturn oauthData;\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser?.externalId }));\n\t}\n\n\tasync getAdditionalErrorInfo(email: string | undefined): Promise {\n\t\tif (email) {\n\t\t\tconst usersWithEmail: User[] = await this.userService.findByEmail(email);\n\t\t\tif (usersWithEmail.length > 0) {\n\t\t\t\tconst user: User = usersWithEmail[0];\n\t\t\t\treturn ` [schoolId: ${user.school.id}, currentLdapId: ${user.externalId ?? ''}]`;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonAccount.html":{"url":"interfaces/JsonAccount.html","title":"interface - JsonAccount","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonAccount\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-account.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n password\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n \n \n password: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonAccount {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tusername: string;\n\tpassword: string;\n\tsystemId?: string;\n\tuserId: {\n\t\t$oid: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonUser.html":{"url":"interfaces/JsonUser.html","title":"interface - JsonUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-user.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonUser {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtAuthGuard.html":{"url":"injectables/JwtAuthGuard.html","title":"injectable - JwtAuthGuard","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtAuthGuard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/guard/jwt-auth.guard.ts\n \n\n\n\n \n Extends\n \n \n AuthGuard('jwt')\n \n\n\n\n\n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\n\n@Injectable()\nexport class JwtAuthGuard extends AuthGuard('jwt') {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtConstants.html":{"url":"interfaces/JwtConstants.html","title":"interface - JwtConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/constants.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n jwtOptions\n \n \n \n \n secret\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n jwtOptions\n \n \n \n \n \n \n \n \n jwtOptions: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n \n \n secret: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import externalAuthConfig = require('../../../../../src/services/authentication/configuration');\n\nconst { authConfig } = externalAuthConfig;\n\n/*\n\tTODO: look at existing keys, vs implemented keys\n\tsupport: true,\n\tsupportUserId,\n\taccountId,\n\tuserId,\n\tiat,\n\texp,\n\taud: this.aud,\n\tiss: 'feathers',\n\tsub: accountId,\n\tjti: `support_${ObjectId()}`,\n*/\nexport interface JwtConstants {\n\tsecret: string;\n\tjwtOptions: {\n\t\theader: { typ: string };\n\t\taudience: string;\n\t\tissuer: string;\n\t\talgorithm: string;\n\t\texpiresIn: string;\n\t};\n}\n\nexport const jwtConstants: JwtConstants = {\n\tsecret: authConfig.secret as string,\n\tjwtOptions: authConfig.jwtOptions,\n};\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtExtractor.html":{"url":"classes/JwtExtractor.html","title":"class - JwtExtractor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtExtractor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-extractor.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n \n \n \n fromCookie(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-extractor.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : JwtFromRequestFunction\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Request } from 'express';\nimport { JwtFromRequestFunction } from 'passport-jwt';\nimport cookie from 'cookie';\n\nexport class JwtExtractor {\n\tstatic fromCookie(name: string): JwtFromRequestFunction {\n\t\treturn (request: Request) => {\n\t\t\tlet token: string | null = null;\n\t\t\tconst cookies = cookie.parse(request.headers.cookie || '');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (cookies && cookies[name]) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n\t\t\t\ttoken = cookies[name];\n\t\t\t}\n\t\t\treturn token;\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtPayload.html":{"url":"interfaces/JwtPayload.html","title":"interface - JwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n \n Extends\n \n \n CreateJwtPayload\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n aud\n \n \n \n \n exp\n \n \n \n \n iat\n \n \n \n \n iss\n \n \n \n \n jti\n \n \n \n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n audience\n\n \n \n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n expiration in // TODO\n\n \n \n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n issuer\n\n \n \n \n \n \n \n \n \n \n jti\n \n \n \n \n \n \n \n \n jti: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n // TODO\n\n \n \n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtStrategy.html":{"url":"injectables/JwtStrategy.html","title":"injectable - JwtStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtValidationAdapter: JwtValidationAdapter)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(payload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ExtractJwt, Strategy } from 'passport-jwt';\nimport { jwtConstants } from '../constants';\nimport { ICurrentUser } from '../interface';\nimport { JwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { JwtExtractor } from './jwt-extractor';\nimport { JwtValidationAdapter } from './jwt-validation.adapter';\n\n@Injectable()\nexport class JwtStrategy extends PassportStrategy(Strategy) {\n\tconstructor(private readonly jwtValidationAdapter: JwtValidationAdapter) {\n\t\tsuper({\n\t\t\tjwtFromRequest: ExtractJwt.fromExtractors([\n\t\t\t\tExtractJwt.fromAuthHeaderAsBearerToken(),\n\t\t\t\tJwtExtractor.fromCookie('jwt'),\n\t\t\t]),\n\t\t\tignoreExpiration: false,\n\t\t\tsecretOrKey: jwtConstants.secret,\n\t\t\t...jwtConstants.jwtOptions,\n\t\t});\n\t}\n\n\tasync validate(payload: JwtPayload): Promise {\n\t\tconst { accountId, jti } = payload;\n\t\t// check user exists\n\t\ttry {\n\t\t\t// TODO: check user/account is active and has one role\n\t\t\t// check jwt is whitelisted and extend whitelist entry\n\t\t\tawait this.jwtValidationAdapter.isWhitelisted(accountId, jti);\n\t\t\tconst currentUser = CurrentUserMapper.jwtToICurrentUser(payload);\n\t\t\treturn currentUser;\n\t\t} catch (err) {\n\t\t\tthrow new UnauthorizedException('Unauthorized.', { cause: err as Error });\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtTestFactory.html":{"url":"classes/JwtTestFactory.html","title":"class - JwtTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createJwt\n \n \n Static\n getPublicKey\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createJwt\n \n \n \n \n \n \n \n createJwt(params?: CreateJwtParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateJwtParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:18\n \n \n\n\n \n \n\n \n Returns : string | Buffer\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtValidationAdapter.html":{"url":"injectables/JwtValidationAdapter.html","title":"injectable - JwtValidationAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtValidationAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n Async\n isWhitelisted\n \n \n Async\n removeFromWhitelist\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(cacheManager: Cache, cacheService: CacheService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n cacheManager\n \n \n Cache\n \n \n \n No\n \n \n \n \n cacheService\n \n \n CacheService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n \n \n \n \n \n addToWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isWhitelisted\n \n \n \n \n \n \n \n isWhitelisted(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:25\n \n \n\n\n \n \n When validating a jwt it must be added to a whitelist, here we check this.\nWhen the jwt is validated, the expiration time will be extended with this call.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n users account id\n\n \n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n jwt id (here required to make jwt identifiers identical in redis)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFromWhitelist\n \n \n \n \n \n \n \n removeFromWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CACHE_MANAGER } from '@nestjs/cache-manager';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { CacheService } from '@infra/cache';\nimport { CacheStoreType } from '@infra/cache/interface/cache-store-type.enum';\nimport {\n\taddTokenToWhitelist,\n\tcreateRedisIdentifierFromJwtData,\n\tensureTokenIsWhitelisted,\n} from '@src/imports-from-feathers';\nimport { Cache } from 'cache-manager';\n\n@Injectable()\nexport class JwtValidationAdapter {\n\tconstructor(\n\t\t@Inject(CACHE_MANAGER) private readonly cacheManager: Cache,\n\t\tprivate readonly cacheService: CacheService\n\t) {}\n\n\t/**\n\t * When validating a jwt it must be added to a whitelist, here we check this.\n\t * When the jwt is validated, the expiration time will be extended with this call.\n\t * @param accountId users account id\n\t * @param jti jwt id (here required to make jwt identifiers identical in redis)\n\t */\n\tasync isWhitelisted(accountId: string, jti: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait ensureTokenIsWhitelisted({ accountId, jti, privateDevice: false });\n\t}\n\n\tasync addToWhitelist(accountId: string, jti: string): Promise {\n\t\tconst redisIdentifier = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait addTokenToWhitelist(redisIdentifier);\n\t}\n\n\tasync removeFromWhitelist(accountId: string, jti: string): Promise {\n\t\tif (this.cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\tconst redisIdentifier: string = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t\tawait this.cacheManager.del(redisIdentifier);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakAdministration.html":{"url":"classes/KeycloakAdministration.html","title":"class - KeycloakAdministration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakAdministration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n \n \n Default value : (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IKeycloakSettings } from './interface/keycloak-settings.interface';\n\nexport default class KeycloakAdministration {\n\tstatic keycloakSettings = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings);\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakAdministrationModule.html":{"url":"modules/KeycloakAdministrationModule.html","title":"module - KeycloakAdministrationModule","body":"\n \n\n\n\n\n Modules\n KeycloakAdministrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakAdministrationModule\n\n\n\ncluster_KeycloakAdministrationModule_exports\n\n\n\ncluster_KeycloakAdministrationModule_providers\n\n\n\n\nKeycloakAdministrationService \n\nKeycloakAdministrationService \n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationService -->\n\nKeycloakAdministrationModule->KeycloakAdministrationService \n\n\n\n\n\nKeycloakAdministrationService\n\nKeycloakAdministrationService\n\nKeycloakAdministrationModule -->\n\nKeycloakAdministrationService->KeycloakAdministrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-administration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakAdministrationService\n \n \n \n \n Exports\n \n \n KeycloakAdministrationService\n \n \n \n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Module } from '@nestjs/common';\nimport { KeycloakSettings } from './interface/keycloak-settings.interface';\nimport KeycloakConfiguration from './keycloak-config';\nimport { KeycloakAdministrationService } from './service/keycloak-administration.service';\n\n@Module({\n\tcontrollers: [],\n\tproviders: [\n\t\tKeycloakAdminClient,\n\t\t{\n\t\t\tprovide: KeycloakSettings,\n\t\t\tuseValue: KeycloakConfiguration.keycloakSettings,\n\t\t},\n\t\tKeycloakAdministrationService,\n\t],\n\texports: [KeycloakAdministrationService],\n})\nexport class KeycloakAdministrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakAdministrationService.html":{"url":"injectables/KeycloakAdministrationService.html","title":"injectable - KeycloakAdministrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakAdministrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n Private\n lastAuthorizationTime\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n Public\n Async\n callKcAdminClient\n \n \n Public\n getAdminUser\n \n \n Public\n getClientId\n \n \n Public\n Async\n getClientSecret\n \n \n Public\n getWellKnownUrl\n \n \n Public\n resetLastAuthorizationTime\n \n \n Public\n Async\n setPasswordPolicy\n \n \n Public\n Async\n testKcConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdminClient, kcSettings: IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdminClient\n \n \n \n No\n \n \n \n \n kcSettings\n \n \n IKeycloakSettings\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n \n \n \n \n \n authorizeAccess()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n callKcAdminClient\n \n \n \n \n \n \n \n callKcAdminClient()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:21\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getAdminUser\n \n \n \n \n \n \n \n getAdminUser()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:39\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getClientId\n \n \n \n \n \n \n \n getClientId()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:43\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getClientSecret\n \n \n \n \n \n \n \n getClientSecret()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getWellKnownUrl\n \n \n \n \n \n \n \n getWellKnownUrl()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:35\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n resetLastAuthorizationTime\n \n \n \n \n \n \n \n resetLastAuthorizationTime()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:62\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setPasswordPolicy\n \n \n \n \n \n \n \n setPasswordPolicy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:57\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n testKcConnection\n \n \n \n \n \n \n \n testKcConnection()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n \n \n \n \n Default value : 59 * 1000\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n lastAuthorizationTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:7\n \n \n\n\n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { IKeycloakSettings, KeycloakSettings } from '../interface/keycloak-settings.interface';\n\n@Injectable()\nexport class KeycloakAdministrationService {\n\tprivate lastAuthorizationTime = 0;\n\n\tprivate static AUTHORIZATION_TIMEBOX_MS = 59 * 1000;\n\n\tpublic constructor(\n\t\tprivate readonly kcAdminClient: KeycloakAdminClient,\n\t\t@Inject(KeycloakSettings) private readonly kcSettings: IKeycloakSettings\n\t) {\n\t\tthis.kcAdminClient.setConfig({\n\t\t\tbaseUrl: kcSettings.baseUrl,\n\t\t\trealmName: kcSettings.realmName,\n\t\t});\n\t}\n\n\tpublic async callKcAdminClient(): Promise {\n\t\tawait this.authorizeAccess();\n\t\treturn this.kcAdminClient;\n\t}\n\n\tpublic async testKcConnection(): Promise {\n\t\ttry {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t} catch (err) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic getWellKnownUrl(): string {\n\t\treturn `${this.kcSettings.baseUrl}/realms/${this.kcSettings.realmName}/.well-known/openid-configuration`;\n\t}\n\n\tpublic getAdminUser(): string {\n\t\treturn this.kcSettings.credentials.username;\n\t}\n\n\tpublic getClientId(): string {\n\t\treturn this.kcSettings.clientId;\n\t}\n\n\tpublic async getClientSecret(): Promise {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tconst clientInternalId = (await kc.clients.find({ clientId: this.kcSettings.clientId }))[0]?.id;\n\t\tif (clientInternalId) {\n\t\t\tconst clientSecret = await kc.clients.getClientSecret({ id: clientInternalId });\n\t\t\treturn clientSecret.value ?? '';\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic async setPasswordPolicy() {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tawait kc.realms.update({ realm: this.kcSettings.realmName }, { passwordPolicy: 'hashIterations(310000)' });\n\t}\n\n\tpublic resetLastAuthorizationTime(): void {\n\t\tthis.lastAuthorizationTime = 0;\n\t}\n\n\tprivate async authorizeAccess() {\n\t\tconst elapsedTimeMilliseconds = new Date().getTime() - this.lastAuthorizationTime;\n\t\tif (elapsedTimeMilliseconds > KeycloakAdministrationService.AUTHORIZATION_TIMEBOX_MS) {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t\tthis.lastAuthorizationTime = new Date().getTime();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConfiguration.html":{"url":"classes/KeycloakConfiguration.html","title":"class - KeycloakConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n \n \n Type : IKeycloakConfigurationInputFiles\n\n \n \n \n \n Default value : {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t}\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IKeycloakConfigurationInputFiles } from './interface/keycloak-configuration-input-files.interface';\n\nexport default class KeycloakConfiguration {\n\tstatic keycloakInputFiles: IKeycloakConfigurationInputFiles = {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakConfigurationModule.html":{"url":"modules/KeycloakConfigurationModule.html","title":"module - KeycloakConfigurationModule","body":"\n \n\n\n\n\n Modules\n KeycloakConfigurationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakConfigurationModule\n\n\n\ncluster_KeycloakConfigurationModule_imports\n\n\n\ncluster_KeycloakConfigurationModule_providers\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 { ServerConfig } from '@modules/server/server.config';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { SystemOidcService } from '@modules/system/service/system-oidc.service';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { OidcIdentityProviderMapper } from '../mapper/identity-provider.mapper';\n\nenum ConfigureAction {\n\tCREATE = 'create',\n\tUPDATE = 'update',\n\tDELETE = 'delete',\n}\n\nconst flowAlias = 'Direct Broker Flow';\nconst oidcUserAttributeMapperName = 'OIDC User Attribute Mapper';\nconst oidcExternalSubMapperName = 'External Sub Mapper';\n\n@Injectable()\nexport class KeycloakConfigurationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly oidcIdentityProviderMapper: OidcIdentityProviderMapper,\n\t\tprivate readonly systemOidcService: SystemOidcService\n\t) {}\n\n\tpublic async configureBrokerFlows(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst executionProviders = ['idp-create-user-if-unique', 'idp-auto-link'];\n\t\tconst getFlowsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst flows = await getFlowsRequest({ realmName: kc.realmName });\n\t\tconst flow = flows.find((tempFlow) => tempFlow.alias === flowAlias);\n\t\tif (flow && flow.id) {\n\t\t\treturn;\n\t\t}\n\t\tconst createFlowRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst getFlowExecutionsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tconst addExecutionRequest = kc.realms.makeRequest(\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions/execution',\n\t\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t\t}\n\t\t);\n\t\tconst updateExecutionRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'PUT',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tawait createFlowRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\talias: flowAlias,\n\t\t\tdescription: 'First broker login which automatically creates or maps accounts.',\n\t\t\tproviderId: 'basic-flow',\n\t\t\ttopLevel: true,\n\t\t\tbuiltIn: false,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const executionProvider of executionProviders) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait addExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tprovider: executionProvider,\n\t\t\t});\n\t\t}\n\t\tconst executions = await getFlowExecutionsRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\tflowAlias,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const execution of executions) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait updateExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tid: execution.id,\n\t\t\t\trequirement: 'ALTERNATIVE',\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic async configureClient(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst scDomain = this.configService.get('SC_DOMAIN');\n\t\tconst redirectUri = scDomain === 'localhost' ? 'http://localhost:3030/' : `https://${scDomain}/`;\n\t\tconst cr: ClientRepresentation = {\n\t\t\tclientId: this.kcAdmin.getClientId(),\n\t\t\tenabled: true,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tpublicClient: false,\n\t\t\tredirectUris: [`${redirectUri}*`],\n\t\t};\n\t\tlet defaultClientInternalId = (await kc.clients.find({ clientId: this.kcAdmin.getClientId() }))[0]?.id;\n\t\tif (!defaultClientInternalId) {\n\t\t\t({ id: defaultClientInternalId } = await kc.clients.create(cr));\n\t\t} else {\n\t\t\tawait kc.clients.update({ id: defaultClientInternalId }, cr);\n\t\t}\n\t\tawait this.addClientProtocolMappers(defaultClientInternalId);\n\t}\n\n\tpublic async configureIdentityProviders(): Promise {\n\t\tlet count = 0;\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst oldConfigs = await kc.identityProviders.find();\n\t\tconst newConfigs = await this.systemOidcService.findAll();\n\t\tconst configureActions = this.selectConfigureAction(newConfigs, oldConfigs);\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const configureAction of configureActions) {\n\t\t\tif (configureAction.action === ConfigureAction.CREATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.createIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.UPDATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.updateIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.DELETE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.deleteIdentityProvider(configureAction.alias);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t}\n\t\treturn count;\n\t}\n\n\tasync configureRealm(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.realms.update(\n\t\t\t{\n\t\t\t\trealm: kc.realmName,\n\t\t\t},\n\t\t\t{\n\t\t\t\teditUsernameAllowed: true,\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate async addClientProtocolMappers(defaultClientInternalId: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.clients.listProtocolMappers({ id: defaultClientInternalId });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcExternalSubMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.clients.updateProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId, mapperId: defaultMapper?.id },\n\t\t\t\t{ ...this.getExternalSubClientMapperConfiguration(), id: defaultMapper?.id }\n\t\t\t);\n\t\t} else {\n\t\t\tawait kc.clients.addProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId },\n\t\t\t\tthis.getExternalSubClientMapperConfiguration()\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * decides for each system if it needs to be added, updated or deleted in keycloak\n\t *\n\t * @param newConfigs\n\t * @param oldConfigs\n\t * @returns\n\t */\n\tprivate selectConfigureAction(newConfigs: OidcConfigDto[], oldConfigs: IdentityProviderRepresentation[]) {\n\t\tconst result = [] as (\n\t\t\t| { action: ConfigureAction.CREATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.UPDATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.DELETE; alias: string }\n\t\t)[];\n\t\t// updating or creating configs\n\t\tnewConfigs.forEach((newConfig) => {\n\t\t\tif (oldConfigs.some((oldConfig) => oldConfig.alias === newConfig.idpHint)) {\n\t\t\t\tresult.push({ action: ConfigureAction.UPDATE, config: newConfig });\n\t\t\t} else {\n\t\t\t\tresult.push({ action: ConfigureAction.CREATE, config: newConfig });\n\t\t\t}\n\t\t});\n\t\t// deleting configs\n\t\toldConfigs.forEach((oldConfig) => {\n\t\t\tif (!newConfigs.some((newConfig) => newConfig.idpHint === oldConfig.alias)) {\n\t\t\t\tresult.push({ action: ConfigureAction.DELETE, alias: oldConfig.alias as string });\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate async createIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.create(\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.createIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async updateIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.update(\n\t\t\t\t{ alias: oidcConfig.idpHint },\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.updateOrCreateIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async deleteIdentityProvider(alias: string): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.del({ alias });\n\t}\n\n\tprivate async updateOrCreateIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.identityProviders.findMappers({ alias: idpAlias });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcUserAttributeMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.identityProviders.updateMapper(\n\t\t\t\t{ alias: idpAlias, id: defaultMapper.id },\n\t\t\t\tthis.getIdpMapperConfiguration(idpAlias, defaultMapper.id)\n\t\t\t);\n\t\t} else {\n\t\t\tawait this.createIdpDefaultMapper(idpAlias);\n\t\t}\n\t}\n\n\tprivate async createIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.createMapper({\n\t\t\talias: idpAlias,\n\t\t\tidentityProviderMapper: this.getIdpMapperConfiguration(idpAlias),\n\t\t});\n\t}\n\n\tprivate getIdpMapperConfiguration(idpAlias: string, id?: string): IdentityProviderMapperRepresentation {\n\t\treturn {\n\t\t\tid,\n\t\t\tname: oidcUserAttributeMapperName,\n\t\t\tidentityProviderAlias: idpAlias,\n\t\t\tidentityProviderMapper: 'oidc-user-attribute-idp-mapper',\n\t\t\tconfig: {\n\t\t\t\tsyncMode: 'FORCE',\n\t\t\t\t'are.claim.values.regex': false,\n\t\t\t\tclaim: 'sub',\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate getExternalSubClientMapperConfiguration(): ProtocolMapperRepresentation {\n\t\treturn {\n\t\t\tname: oidcExternalSubMapperName,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tprotocolMapper: 'oidc-usermodel-attribute-mapper',\n\t\t\tconfig: {\n\t\t\t\t'aggregate.attrs': false,\n\t\t\t\t'userinfo.token.claim': true,\n\t\t\t\tmultivalued: false,\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t\t'id.token.claim': true,\n\t\t\t\t'access.token.claim': true,\n\t\t\t\t'claim.name': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakConfigurationUc.html":{"url":"injectables/KeycloakConfigurationUc.html","title":"injectable - KeycloakConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n check\n \n \n Public\n Async\n clean\n \n \n Async\n configure\n \n \n Public\n Async\n migrate\n \n \n Public\n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, keycloakConfigService: KeycloakConfigurationService, keycloakSeedService: KeycloakSeedService, keycloakMigrationService: KeycloakMigrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n keycloakConfigService\n \n \n KeycloakConfigurationService\n \n \n \n No\n \n \n \n \n keycloakSeedService\n \n \n KeycloakSeedService\n \n \n \n No\n \n \n \n \n keycloakMigrationService\n \n \n KeycloakMigrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize?: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pageSize\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrate\n \n \n \n \n \n \n \n migrate(skip?: number, verbose?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n verbose\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:24\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { KeycloakConfigurationService } from '../service/keycloak-configuration.service';\nimport { KeycloakSeedService } from '../service/keycloak-seed.service';\nimport { KeycloakMigrationService } from '../service/keycloak-migration.service';\n\n@Injectable()\nexport class KeycloakConfigurationUc {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly keycloakConfigService: KeycloakConfigurationService,\n\t\tprivate readonly keycloakSeedService: KeycloakSeedService,\n\t\tprivate readonly keycloakMigrationService: KeycloakMigrationService\n\t) {}\n\n\tpublic async check(): Promise {\n\t\treturn this.kcAdmin.testKcConnection();\n\t}\n\n\tpublic async clean(pageSize?: number): Promise {\n\t\treturn this.keycloakSeedService.clean(pageSize);\n\t}\n\n\tpublic async seed(): Promise {\n\t\treturn this.keycloakSeedService.seed();\n\t}\n\n\tpublic async migrate(skip?: number, verbose?: boolean): Promise {\n\t\treturn this.keycloakMigrationService.migrate(skip, verbose);\n\t}\n\n\tasync configure(): Promise {\n\t\tawait this.kcAdmin.setPasswordPolicy();\n\t\tawait this.keycloakConfigService.configureClient();\n\t\tawait this.keycloakConfigService.configureBrokerFlows();\n\t\tawait this.keycloakConfigService.configureRealm();\n\t\treturn this.keycloakConfigService.configureIdentityProviders();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConsole.html":{"url":"classes/KeycloakConsole.html","title":"class - KeycloakConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n check\n \n \n \n Async\n clean\n \n \n \n Async\n configure\n \n \n Private\n delay\n \n \n \n Async\n migrate\n \n \n Private\n Async\n repeatCommand\n \n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(console: ConsoleWriterService, keycloakConfigurationUc: KeycloakConfigurationUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n console\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n keycloakConfigurationUc\n \n \n KeycloakConfigurationUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n \n \n Type : CommandOption[]\n\n \n \n \n \n Default value : [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t]\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'check', description: 'Test the connection to the IDM.'})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:51\n \n \n\n\n \n \n For local development. Checks if connection to IDM is working.\n\n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n clean\n \n \n \n \n \n \n \n clean(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'clean', description: 'Remove all users from the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:77\n \n \n\n\n \n \n Cleans users from IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'configure', description: 'Configures Keycloak identity providers.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:121\n \n \n\n\n \n \n Used in production and for local development to transfer configuration to keycloak.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n delay\n \n \n \n \n \n \n \n delay(ms: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ms\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'migrate', description: 'Add all database users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:156\n \n \n\n\n \n \n For migration purpose. Moves all database accounts to the IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n repeatCommand\n \n \n \n \n \n \n \n repeatCommand(commandName: string, command: () => void, count: number, delay: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:172\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n commandName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n command\n \n function\n \n\n \n No\n \n\n \n \n\n \n \n count\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n delay\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', description: 'Add all seed users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:99\n \n \n\n\n \n \n For local development. Seeds user into IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementOauthService.html":{"url":"injectables/KeycloakIdentityManagementOauthService.html","title":"injectable - KeycloakIdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementOauthService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n Async\n isOauthConfigAvailable\n \n \n resetOauthConfigCache\n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdminService: KeycloakAdministrationService, configService: ConfigService, httpService: HttpService, oAuthEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminService\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:24\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:54\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n resetOauthConfigCache\n \n \n \n \n \n \nresetOauthConfigCache()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:50\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n \n \n Type : OauthConfigDto | undefined\n\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n\n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthConfigDto } from '@modules/system/service/dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport qs from 'qs';\nimport { lastValueFrom } from 'rxjs';\nimport { IdentityManagementOauthService } from '../../identity-management-oauth.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementOauthService extends IdentityManagementOauthService {\n\tprivate _oauthConfigCache: OauthConfigDto | undefined;\n\n\tconstructor(\n\t\tprivate readonly kcAdminService: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService\n\t) {\n\t\tsuper();\n\t}\n\n\tasync getOauthConfig(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn this._oauthConfigCache;\n\t\t}\n\t\tconst wellKnownUrl = this.kcAdminService.getWellKnownUrl();\n\t\tconst response = (await lastValueFrom(this.httpService.get>(wellKnownUrl))).data;\n\t\tconst scDomain = this.configService.get('SC_DOMAIN') || '';\n\t\tconst redirectUri =\n\t\t\tscDomain === 'localhost' ? 'http://localhost:3030/api/v3/sso/oauth/' : `https://${scDomain}/api/v3/sso/oauth/`;\n\t\tthis._oauthConfigCache = new OauthConfigDto({\n\t\t\tclientId: this.kcAdminService.getClientId(),\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(await this.kcAdminService.getClientSecret()),\n\t\t\tprovider: 'oauth',\n\t\t\tredirectUri,\n\t\t\tresponseType: 'code',\n\t\t\tgrantType: 'authorization_code',\n\t\t\tscope: 'openid profile email',\n\t\t\tissuer: response.issuer as string,\n\t\t\ttokenEndpoint: response.token_endpoint as string,\n\t\t\tauthEndpoint: response.authorization_endpoint as string,\n\t\t\tlogoutEndpoint: response.end_session_endpoint as string,\n\t\t\tjwksEndpoint: response.jwks_uri as string,\n\t\t});\n\t\treturn this._oauthConfigCache;\n\t}\n\n\tresetOauthConfigCache(): void {\n\t\tthis._oauthConfigCache = undefined;\n\t}\n\n\tasync isOauthConfigAvailable(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.kcAdminService.testKcConnection();\n\t}\n\n\tasync resourceOwnerPasswordGrant(username: string, password: string): Promise {\n\t\tconst { clientId, clientSecret, tokenEndpoint } = await this.getOauthConfig();\n\t\tconst data = {\n\t\t\tusername,\n\t\t\tpassword,\n\t\t\tgrant_type: 'password',\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: this.oAuthEncryptionService.decrypt(clientSecret),\n\t\t};\n\t\ttry {\n\t\t\tconst response = await lastValueFrom(\n\t\t\t\tthis.httpService.request({\n\t\t\t\t\tmethod: 'post',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t},\n\t\t\t\t\turl: tokenEndpoint,\n\t\t\t\t\tdata: qs.stringify(data),\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn response.data.access_token;\n\t\t} catch (err) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementService.html":{"url":"injectables/KeycloakIdentityManagementService.html","title":"injectable - KeycloakIdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createAccount\n \n \n Async\n deleteAccountById\n \n \n Private\n extractAccount\n \n \n Private\n extractAttributeValue\n \n \n Async\n findAccountByDbcAccountId\n \n \n Async\n findAccountByDbcUserId\n \n \n Async\n findAccountById\n \n \n Async\n findAccountsByUsername\n \n \n Async\n getAllAccounts\n \n \n Async\n getUserAttribute\n \n \n Async\n setUserAttribute\n \n \n Async\n updateAccount\n \n \n Async\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdministrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccount, password?: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:132\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAccount\n \n \n \n \n \n \n \n extractAccount(user: UserRepresentation)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:171\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserRepresentation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdmAccount\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAttributeValue\n \n \n \n \n \n \n \n extractAttributeValue(value)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:187\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:85\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:99\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:127\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:137\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:153\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccount\n \n \n \n \n \n \n \n updateAccount(id: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:47\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(id: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\nimport { IdentityManagementService, SearchOptions } from '../../identity-management.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementService extends IdentityManagementService {\n\tpublic constructor(private readonly kcAdminClient: KeycloakAdministrationService) {\n\t\tsuper();\n\t}\n\n\tasync createAccount(account: IdmAccount, password?: string): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst id = await kc.users.create({\n\t\t\tusername: account.username,\n\t\t\temail: account.email,\n\t\t\tfirstName: account.firstName,\n\t\t\tlastName: account.lastName,\n\t\t\tenabled: true,\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.attDbcAccountId,\n\t\t\t\tdbcUserId: account.attDbcUserId,\n\t\t\t\tdbcSystemId: account.attDbcSystemId,\n\t\t\t},\n\t\t});\n\t\tif (id && password) {\n\t\t\ttry {\n\t\t\t\tawait kc.users.resetPassword({\n\t\t\t\t\tid: id.id,\n\t\t\t\t\tcredential: {\n\t\t\t\t\t\ttemporary: false,\n\t\t\t\t\t\ttype: 'password',\n\t\t\t\t\t\tvalue: password,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tawait kc.users.del(id);\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\treturn id.id;\n\t}\n\n\tasync updateAccount(id: string, account: IdmAccountUpdate): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.update(\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tusername: account.username,\n\t\t\t\temail: account.email,\n\t\t\t\tfirstName: account.firstName,\n\t\t\t\tlastName: account.lastName,\n\t\t\t\tenabled: true,\n\t\t\t}\n\t\t);\n\t\treturn id;\n\t}\n\n\tasync updateAccountPassword(id: string, password: string): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.resetPassword({\n\t\t\tid,\n\t\t\tcredential: {\n\t\t\t\ttemporary: false,\n\t\t\t\ttype: 'password',\n\t\t\t\tvalue: password,\n\t\t\t},\n\t\t});\n\t\treturn id;\n\t}\n\n\tasync findAccountById(id: string): Promise {\n\t\tconst keycloakUser = await (await this.kcAdminClient.callKcAdminClient()).users.findOne({ id });\n\t\tif (!keycloakUser) {\n\t\t\tthrow new Error(`Account '${id}' not found`);\n\t\t}\n\t\treturn this.extractAccount(keycloakUser);\n\t}\n\n\tasync findAccountByDbcAccountId(accountDbcAccountId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcAccountId:${accountDbcAccountId} }` });\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcAccountId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountByDbcUserId(accountDbcUserId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcUserId:${accountDbcUserId} }` });\n\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcUserId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountsByUsername(username: string, options?: SearchOptions): Promise> {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst total = await kc.users.count({ username });\n\t\tconst results = await kc.users.find({\n\t\t\tusername,\n\t\t\texact: options?.exact,\n\t\t\tfirst: options?.skip,\n\t\t\tmax: options?.limit,\n\t\t});\n\t\tconst accounts = results.map((account) => this.extractAccount(account));\n\t\treturn [accounts, total];\n\t}\n\n\tasync getAllAccounts(): Promise {\n\t\tconst keycloakUsers = await (await this.kcAdminClient.callKcAdminClient()).users.find();\n\t\treturn keycloakUsers.map((user: UserRepresentation) => this.extractAccount(user));\n\t}\n\n\tasync deleteAccountById(id: string): Promise {\n\t\tawait (await this.kcAdminClient.callKcAdminClient()).users.del({ id });\n\t\treturn id;\n\t}\n\n\tasync getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes && user.attributes[attributeName] && Array.isArray(user.attributes[attributeName])) {\n\t\t\tconst [value] = (user.attributes[attributeName] as TValue[]) || null;\n\t\t\treturn value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes) {\n\t\t\tuser.attributes[attributeName] = attributeValue;\n\t\t} else {\n\t\t\tuser.attributes = { [attributeName]: attributeValue };\n\t\t}\n\t\tawait kc.users.update({ id: userId }, user);\n\t}\n\n\tprivate extractAccount(user: UserRepresentation): IdmAccount {\n\t\tconst ret: IdmAccount = {\n\t\t\tid: user.id ?? '',\n\t\t\tusername: user.username,\n\t\t\temail: user.email,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tcreatedDate: user.createdTimestamp ? new Date(user.createdTimestamp) : undefined,\n\t\t};\n\t\tret.attDbcSystemId = this.extractAttributeValue(user.attributes?.dbcSystemId);\n\t\tret.attDbcUserId = this.extractAttributeValue(user.attributes?.dbcUserId);\n\t\tret.attDbcAccountId = this.extractAttributeValue(user.attributes?.dbcAccountId);\n\n\t\treturn ret;\n\t}\n\n\tprivate extractAttributeValue(value: unknown): string {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value[0] as string;\n\t\t}\n\t\treturn value as string;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/KeycloakManagementController.html":{"url":"controllers/KeycloakManagementController.html","title":"controller - KeycloakManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n KeycloakManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts\n \n\n \n Prefix\n \n \n management/idm\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n \n \n \n importSeedData()\n \n \n\n \n \n Decorators : \n \n @Post('seed')\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts:19\n \n \n\n\n \n \n This connects to IDM, seeds the test users and seeds the identity providers.\nUsed by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\n\n \n Returns : Promise\n\n \n \n The number of seeded users\n\n \n \n \n \n \n \n\n\n \n import { Controller, Post, ServiceUnavailableException } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\n@Controller('management/idm')\nexport class KeycloakManagementController {\n\tconstructor(private readonly keycloakManagementUc: KeycloakConfigurationUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(KeycloakManagementController.name);\n\t}\n\n\t/**\n\t * This connects to IDM, seeds the test users and seeds the identity providers.\n\t * Used by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\t *\n\t * @returns The number of seeded users\n\t * @throws ServiceUnavailableException if IDM is not ready.\n\t */\n\t@Post('seed')\n\tasync importSeedData(): Promise {\n\t\tif (await this.keycloakManagementUc.check()) {\n\t\t\ttry {\n\t\t\t\tawait this.keycloakManagementUc.configure();\n\t\t\t\treturn await this.keycloakManagementUc.seed();\n\t\t\t} catch (err) {\n\t\t\t\tthis.logger.error(err);\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tthrow new ServiceUnavailableException();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakMigrationService.html":{"url":"injectables/KeycloakMigrationService.html","title":"injectable - KeycloakMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, accountService: AccountService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(start: number, verbose)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n start\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n verbose\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakMigrationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakMigrationService.name);\n\t}\n\n\tasync migrate(start = 0, verbose = false): Promise {\n\t\tconst amount = 100;\n\t\tlet skip = start;\n\t\tlet foundAccounts = 1;\n\t\tlet migratedAccounts = 0;\n\t\tlet accounts: AccountDto[] = [];\n\t\twhile (foundAccounts > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\taccounts = await this.accountService.findMany(skip, amount);\n\t\t\tfoundAccounts = accounts.length;\n\t\t\tfor (const account of accounts) {\n\t\t\t\ttry {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\tconst retAccountId = await this.createOrUpdateIdmAccount(account);\n\t\t\t\t\tmigratedAccounts += 1;\n\t\t\t\t\tif (verbose) {\n\t\t\t\t\t\tthis.logger.log(`Migration of account ${account.id} done, new id is ${retAccountId}.`);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.logger.error(`Migration of account ${account.id} failed.`, err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tskip += foundAccounts;\n\t\t\tif (!verbose) {\n\t\t\t\tthis.logger.log(`...migrated ${skip} accounts.`);\n\t\t\t}\n\t\t}\n\t\treturn migratedAccounts;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: AccountDto): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password ?? ''}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.id,\n\t\t\t\tdbcUserId: account.userId,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tconst existingAccountId = existingAccounts[0].id;\n\t\t\tawait kc.users.update({ id: existingAccountId }, idmUserRepresentation);\n\t\t\treturn existingAccountId;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tconst createdAccountId = await kc.users.create(idmUserRepresentation);\n\t\t\treturn createdAccountId.id;\n\t\t}\n\t\tthrow Error(`Duplicate username ${account.username} update operation aborted.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakModule.html":{"url":"modules/KeycloakModule.html","title":"module - KeycloakModule","body":"\n \n\n\n\n\n Modules\n KeycloakModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakModule\n\n\n\ncluster_KeycloakModule_providers\n\n\n\ncluster_KeycloakModule_imports\n\n\n\ncluster_KeycloakModule_exports\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nKeycloakModule -->\n\nEncryptionModule->KeycloakModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakModule -->\n\nKeycloakAdministrationModule->KeycloakModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nKeycloakModule -->\n\nLoggerModule->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService -->\n\nKeycloakModule->KeycloakIdentityManagementOauthService \n\n\n\n\n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService -->\n\nKeycloakModule->KeycloakIdentityManagementService \n\n\n\n\n\nKeycloakIdentityManagementOauthService\n\nKeycloakIdentityManagementOauthService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementOauthService->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementService\n\nKeycloakIdentityManagementService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementService->KeycloakModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/keycloak.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '@infra/encryption';\nimport { LoggerModule } from '@src/core/logger';\nimport { KeycloakAdministrationModule } from '../keycloak-administration/keycloak-administration.module';\nimport { KeycloakIdentityManagementOauthService } from './service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './service/keycloak-identity-management.service';\n\n@Module({\n\timports: [LoggerModule, EncryptionModule, HttpModule, KeycloakAdministrationModule],\n\tproviders: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n\texports: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n})\nexport class KeycloakModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakSeedService.html":{"url":"classes/KeycloakSeedService.html","title":"class - KeycloakSeedService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakSeedService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n clean\n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Private\n Async\n loadAccounts\n \n \n Private\n Async\n loadUsers\n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, logger: LegacyLogger, inputFiles: IKeycloakConfigurationInputFiles)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n inputFiles\n \n \n IKeycloakConfigurationInputFiles\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n pageSize\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n JsonAccount\n \n\n \n No\n \n\n\n \n \n user\n \n JsonUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccounts\n \n \n \n \n \n \n \n loadAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:94\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadUsers\n \n \n \n \n \n \n \n loadUsers()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:99\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Inject } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport fs from 'node:fs/promises';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { JsonAccount } from '../interface/json-account.interface';\nimport { JsonUser } from '../interface/json-user.interface';\nimport {\n\tIKeycloakConfigurationInputFiles,\n\tKeycloakConfigurationInputFiles,\n} from '../interface/keycloak-configuration-input-files.interface';\n\nexport class KeycloakSeedService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\t@Inject(KeycloakConfigurationInputFiles) private readonly inputFiles: IKeycloakConfigurationInputFiles\n\t) {}\n\n\tasync seed(): Promise {\n\t\tlet userCount = 0;\n\t\tconst users = await this.loadUsers();\n\t\tconst accounts = await this.loadAccounts();\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const user of users) {\n\t\t\tconst account = accounts.find((a) => a.userId.$oid === user._id.$oid);\n\t\t\tif (account) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tuserCount += (await this.createOrUpdateIdmAccount(account, user)) ? 1 : 0;\n\t\t\t}\n\t\t}\n\t\treturn userCount;\n\t}\n\n\tpublic async clean(pageSize = 100): Promise {\n\t\tlet foundUsers = 1;\n\t\tlet deletedUsers = 0;\n\t\tconst adminUser = this.kcAdmin.getAdminUser();\n\t\tlet kc = await this.kcAdmin.callKcAdminClient();\n\t\tthis.logger.log(`Starting to delete users...`);\n\t\twhile (foundUsers > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tkc = await this.kcAdmin.callKcAdminClient();\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tconst users = (await kc.users.find({ max: pageSize })).filter((user) => user.username !== adminUser);\n\t\t\tfoundUsers = users.length;\n\t\t\tthis.logger.log(`Amount of found Users: ${foundUsers}`);\n\t\t\tfor (const user of users) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait kc.users.del({\n\t\t\t\t\tid: user.id ?? '',\n\t\t\t\t});\n\t\t\t}\n\t\t\tdeletedUsers += foundUsers;\n\t\t\tthis.logger.log(`...deleted ${deletedUsers} users so far.`);\n\t\t}\n\t\treturn deletedUsers;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\temail: user.email,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account._id.$oid,\n\t\t\t\tdbcUserId: account.userId.$oid,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tawait kc.users.update({ id: existingAccounts[0].id }, idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tawait kc.users.create(idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\t// else, unreachable, multiple accounts for same username (unique)\n\t\treturn false;\n\t}\n\n\tprivate async loadAccounts(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.accountsFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonAccount[];\n\t}\n\n\tprivate async loadUsers(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.usersFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonUser[];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAlreadyPersistedException.html":{"url":"classes/LdapAlreadyPersistedException.html","title":"class - LdapAlreadyPersistedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAlreadyPersistedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAuthorizationBodyParams.html":{"url":"classes/LdapAuthorizationBodyParams.html","title":"class - LdapAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n schoolId\n \n \n \n \n systemId\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class LdapAuthorizationBodyParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfig.html":{"url":"classes/LdapConfig.html","title":"class - LdapConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/ldap-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n active\n \n \n Optional\n provider\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LdapConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LdapConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LdapConfig {\n\tactive: boolean;\n\n\turl: string;\n\n\tprovider?: string;\n\n\tconstructor(props: LdapConfig) {\n\t\tthis.active = props.active;\n\t\tthis.url = props.url;\n\t\tthis.provider = props.provider;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfigEntity.html":{"url":"classes/LdapConfigEntity.html","title":"class - LdapConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n active\n \n \n \n Optional\n federalState\n \n \n \n Optional\n lastModifyTimestamp\n \n \n \n Optional\n lastSuccessfulFullSync\n \n \n \n Optional\n lastSuccessfulPartialSync\n \n \n \n Optional\n lastSyncAttempt\n \n \n \n Optional\n provider\n \n \n \n Optional\n providerOptions\n \n \n \n Optional\n rootPath\n \n \n \n Optional\n searchUser\n \n \n \n Optional\n searchUserPassword\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ldapConfig: Readonly)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:77\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:94\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:97\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:109\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:103\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:106\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:100\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:124\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:127\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:115\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:118\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:121\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:112\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConnectionError.html":{"url":"classes/LdapConnectionError.html","title":"class - LdapConnectionError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConnectionError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/ldap-connection.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(details?: Record)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/ldap-connection.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class LdapConnectionError extends BusinessError {\n\tconstructor(details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'LDAP_CONNECTION_FAILED',\n\t\t\t\ttitle: 'LDAP connection failed',\n\t\t\t\tdefaultMessage: 'LDAP connection failed',\n\t\t\t},\n\t\t\tHttpStatus.BAD_GATEWAY,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapService.html":{"url":"injectables/LdapService.html","title":"injectable - LdapService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/ldap.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n Private\n connect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n \n \n \n \n \n checkLdapCredentials(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Client, createClient } from 'ldapjs';\nimport { LdapConnectionError } from '../errors/ldap-connection.error';\n\n@Injectable()\nexport class LdapService {\n\tconstructor(private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(LdapService.name);\n\t}\n\n\tasync checkLdapCredentials(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst connection = await this.connect(system, username, password);\n\t\tif (connection.connected) {\n\t\t\tconnection.unbind();\n\t\t\treturn;\n\t\t}\n\t\tthrow new UnauthorizedException('User could not authenticate');\n\t}\n\n\tprivate connect(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst { ldapConfig } = system;\n\t\tif (!ldapConfig) {\n\t\t\tthrow Error(`no LDAP config found in system ${system.id}`);\n\t\t}\n\t\tconst client: Client = createClient({\n\t\t\turl: ldapConfig.url,\n\t\t\treconnect: {\n\t\t\t\tinitialDelay: 100,\n\t\t\t\tmaxDelay: 300,\n\t\t\t\tfailAfter: 3,\n\t\t\t},\n\t\t});\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tclient.on('connect', () => {\n\t\t\t\tclient.bind(username, password, (err) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tthis.logger.debug(err);\n\t\t\t\t\t\treject(\n\t\t\t\t\t\t\tnew UnauthorizedException(\n\t\t\t\t\t\t\t\t'User could not authenticate',\n\t\t\t\t\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'LdapService:connect')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.logger.debug('[LDAP] Bind successful');\n\t\t\t\t\t\tresolve(client);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tclient.on('error', (err) => {\n\t\t\t\treject(new LdapConnectionError({ error: err }));\n\t\t\t});\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapStrategy.html":{"url":"injectables/LdapStrategy.html","title":"injectable - LdapStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/ldap.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'ldap')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n checkValue\n \n \n Private\n extractParamsFromRequest\n \n \n Private\n Async\n loadAccount\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, schoolRepo: LegacySchoolRepo, ldapService: LdapService, authenticationService: AuthenticationService, userRepo: UserRepo, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n ldapService\n \n \n LdapService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(account: AccountDto, system: SystemEntity, ldapDn: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n ldapDn\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValue\n \n \n \n \n \n \n \n checkValue(value: T | null | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractParamsFromRequest\n \n \n \n \n \n \n \n extractParamsFromRequest(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Required\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId: string, school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { ErrorLoggable } from '@src/core/error/loggable/error.loggable';\nimport { Logger } from '@src/core/logger';\nimport { Strategy } from 'passport-custom';\nimport { LdapAuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LdapService } from '../services/ldap.service';\n\n@Injectable()\nexport class LdapStrategy extends PassportStrategy(Strategy, 'ldap') {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly ldapService: LdapService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: LdapAuthorizationBodyParams }): Promise {\n\t\tconst { username, password, systemId, schoolId } = this.extractParamsFromRequest(request);\n\n\t\tconst system: SystemEntity = await this.systemRepo.findById(systemId);\n\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\n\t\tif (!school.systems || !school.systems.includes(systemId)) {\n\t\t\tthrow new UnauthorizedException(`School ${schoolId} does not have the selected system ${systemId}`);\n\t\t}\n\n\t\tconst account: AccountDto = await this.loadAccount(username, system.id, school);\n\n\t\tconst userId: string = this.checkValue(account.userId);\n\n\t\tthis.authenticationService.checkBrutForce(account);\n\n\t\tconst user: User = await this.userRepo.findById(userId);\n\n\t\tconst ldapDn: string = this.checkValue(user.ldapDn);\n\n\t\tawait this.checkCredentials(account, system, ldapDn, password);\n\n\t\tconst currentUser: ICurrentUser = CurrentUserMapper.userToICurrentUser(account.id, user, true, systemId);\n\n\t\treturn currentUser;\n\t}\n\n\tprivate extractParamsFromRequest(request: {\n\t\tbody: LdapAuthorizationBodyParams;\n\t}): Required {\n\t\tconst { systemId, schoolId } = request.body;\n\t\tlet { username, password } = request.body;\n\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\n\t\treturn { username, password, systemId, schoolId };\n\t}\n\n\tprivate checkValue(value: T | null | undefined): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t\treturn value;\n\t}\n\n\tprivate async checkCredentials(\n\t\taccount: AccountDto,\n\t\tsystem: SystemEntity,\n\t\tldapDn: string,\n\t\tpassword: string\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ldapService.checkLdapCredentials(system, ldapDn, password);\n\t\t} catch (error) {\n\t\t\tif (error instanceof UnauthorizedException) {\n\t\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async loadAccount(username: string, systemId: string, school: LegacySchoolDo): Promise {\n\t\tconst externalSchoolId = this.checkValue(school.externalId);\n\n\t\tlet account: AccountDto;\n\n\t\t// TODO having to check for two values in order to find an account is not optimal and should be changed.\n\t\t// The way the name field of Accounts is used for LDAP should be reconsidered, since\n\t\t// mixing the login name with a technical id from a foreign system is not a good pattern.\n\t\t// Binding the login name to an identifier from a foreign system or an identifier of a school can lead to\n\t\t// accounts not being found when the identifier changes.\n\t\ttry {\n\t\t\taccount = await this.authenticationService.loadAccount(`${externalSchoolId}/${username}`.toLowerCase(), systemId);\n\t\t} catch (err: unknown) {\n\t\t\tif (school.previousExternalId) {\n\t\t\t\tthis.logger.info(\n\t\t\t\t\tnew ErrorLoggable(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Could not find LDAP account with externalSchoolId ${externalSchoolId} for user ${username}. Trying to use the previousExternalId ${school.previousExternalId} next...`\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\taccount = await this.authenticationService.loadAccount(\n\t\t\t\t\t`${school.previousExternalId}/${username}`.toLowerCase(),\n\t\t\t\t\tsystemId\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\treturn account;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapUserMigrationException.html":{"url":"classes/LdapUserMigrationException.html","title":"class - LdapUserMigrationException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapUserMigrationException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Learnroom.html":{"url":"interfaces/Learnroom.html","title":"interface - Learnroom","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Learnroom\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n getMetadata: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomApiModule.html":{"url":"modules/LearnroomApiModule.html","title":"module - LearnroomApiModule","body":"\n \n\n\n\n\n Modules\n LearnroomApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomApiModule\n\n\n\ncluster_LearnroomApiModule_imports\n\n\n\ncluster_LearnroomApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nLearnroomApiModule -->\n\nAuthorizationModule->LearnroomApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nLearnroomApiModule -->\n\nAuthorizationReferenceModule->LearnroomApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomApiModule -->\n\nCopyHelperModule->LearnroomApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomApiModule -->\n\nLearnroomModule->LearnroomApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomApiModule -->\n\nLessonModule->LearnroomApiModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomApiModule -->\n\nBoardRepo->LearnroomApiModule\n\n\n\n\n\nCourseCopyUC\n\nCourseCopyUC\n\nLearnroomApiModule -->\n\nCourseCopyUC->LearnroomApiModule\n\n\n\n\n\nCourseExportUc\n\nCourseExportUc\n\nLearnroomApiModule -->\n\nCourseExportUc->LearnroomApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomApiModule -->\n\nCourseRepo->LearnroomApiModule\n\n\n\n\n\nCourseUc\n\nCourseUc\n\nLearnroomApiModule -->\n\nCourseUc->LearnroomApiModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomApiModule -->\n\nDashboardModelMapper->LearnroomApiModule\n\n\n\n\n\nDashboardUc\n\nDashboardUc\n\nLearnroomApiModule -->\n\nDashboardUc->LearnroomApiModule\n\n\n\n\n\nLessonCopyUC\n\nLessonCopyUC\n\nLearnroomApiModule -->\n\nLessonCopyUC->LearnroomApiModule\n\n\n\n\n\nRoomBoardDTOFactory\n\nRoomBoardDTOFactory\n\nLearnroomApiModule -->\n\nRoomBoardDTOFactory->LearnroomApiModule\n\n\n\n\n\nRoomBoardResponseMapper\n\nRoomBoardResponseMapper\n\nLearnroomApiModule -->\n\nRoomBoardResponseMapper->LearnroomApiModule\n\n\n\n\n\nRoomsAuthorisationService\n\nRoomsAuthorisationService\n\nLearnroomApiModule -->\n\nRoomsAuthorisationService->LearnroomApiModule\n\n\n\n\n\nRoomsUc\n\nRoomsUc\n\nLearnroomApiModule -->\n\nRoomsUc->LearnroomApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomApiModule -->\n\nUserRepo->LearnroomApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardRepo\n \n \n CourseCopyUC\n \n \n CourseExportUc\n \n \n CourseRepo\n \n \n CourseUc\n \n \n DashboardModelMapper\n \n \n DashboardUc\n \n \n LessonCopyUC\n \n \n RoomBoardDTOFactory\n \n \n RoomBoardResponseMapper\n \n \n RoomsAuthorisationService\n \n \n RoomsUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n DashboardController\n \n \n CourseController\n \n \n RoomsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n CopyHelperModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, UserRepo } from '@shared/repo';\nimport { CourseController } from './controller/course.controller';\nimport { DashboardController } from './controller/dashboard.controller';\nimport { RoomsController } from './controller/rooms.controller';\nimport { LearnroomModule } from './learnroom.module';\nimport { RoomBoardResponseMapper } from './mapper/room-board-response.mapper';\nimport {\n\tCourseCopyUC,\n\tCourseExportUc,\n\tCourseUc,\n\tDashboardUc,\n\tLessonCopyUC,\n\tRoomBoardDTOFactory,\n\tRoomsAuthorisationService,\n\tRoomsUc,\n} from './uc';\n\n@Module({\n\timports: [AuthorizationModule, LessonModule, CopyHelperModule, LearnroomModule, AuthorizationReferenceModule],\n\tcontrollers: [DashboardController, CourseController, RoomsController],\n\tproviders: [\n\t\tDashboardUc,\n\t\tCourseUc,\n\t\tRoomsUc,\n\t\tRoomBoardResponseMapper,\n\t\tRoomBoardDTOFactory,\n\t\tLessonCopyUC,\n\t\tCourseCopyUC,\n\t\tRoomsAuthorisationService,\n\t\tCourseExportUc,\n\t\t// FIXME Refactor UCs to use services and remove these imports\n\t\t{\n\t\t\tprovide: 'DASHBOARD_REPO',\n\t\t\tuseClass: DashboardRepo,\n\t\t},\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tUserRepo,\n\t\tBoardRepo,\n\t],\n})\nexport class LearnroomApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LearnroomElement.html":{"url":"interfaces/LearnroomElement.html","title":"interface - LearnroomElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LearnroomElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n publish\n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n publish\n \n \n \n \n \n \n \n \n publish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n unpublish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomModule.html":{"url":"modules/LearnroomModule.html","title":"module - LearnroomModule","body":"\n \n\n\n\n\n Modules\n LearnroomModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomModule\n\n\n\ncluster_LearnroomModule_imports\n\n\n\ncluster_LearnroomModule_providers\n\n\n\ncluster_LearnroomModule_exports\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomModule -->\n\nBoardModule->LearnroomModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomModule -->\n\nCopyHelperModule->LearnroomModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomModule -->\n\nLessonModule->LearnroomModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLearnroomModule -->\n\nLoggerModule->LearnroomModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLearnroomModule -->\n\nTaskModule->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService \n\nCommonCartridgeExportService \n\nCommonCartridgeExportService -->\n\nLearnroomModule->CommonCartridgeExportService \n\n\n\n\n\nCourseCopyService \n\nCourseCopyService \n\nCourseCopyService -->\n\nLearnroomModule->CourseCopyService \n\n\n\n\n\nCourseGroupService \n\nCourseGroupService \n\nCourseGroupService -->\n\nLearnroomModule->CourseGroupService \n\n\n\n\n\nCourseService \n\nCourseService \n\nCourseService -->\n\nLearnroomModule->CourseService \n\n\n\n\n\nDashboardService \n\nDashboardService \n\nDashboardService -->\n\nLearnroomModule->DashboardService \n\n\n\n\n\nRoomsService \n\nRoomsService \n\nRoomsService -->\n\nLearnroomModule->RoomsService \n\n\n\n\n\nBoardCopyService\n\nBoardCopyService\n\nLearnroomModule -->\n\nBoardCopyService->LearnroomModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomModule -->\n\nBoardRepo->LearnroomModule\n\n\n\n\n\nColumnBoardTargetService\n\nColumnBoardTargetService\n\nLearnroomModule -->\n\nColumnBoardTargetService->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService\n\nCommonCartridgeExportService\n\nLearnroomModule -->\n\nCommonCartridgeExportService->LearnroomModule\n\n\n\n\n\nCourseCopyService\n\nCourseCopyService\n\nLearnroomModule -->\n\nCourseCopyService->LearnroomModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nLearnroomModule -->\n\nCourseGroupRepo->LearnroomModule\n\n\n\n\n\nCourseGroupService\n\nCourseGroupService\n\nLearnroomModule -->\n\nCourseGroupService->LearnroomModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomModule -->\n\nCourseRepo->LearnroomModule\n\n\n\n\n\nCourseService\n\nCourseService\n\nLearnroomModule -->\n\nCourseService->LearnroomModule\n\n\n\n\n\nDashboardElementRepo\n\nDashboardElementRepo\n\nLearnroomModule -->\n\nDashboardElementRepo->LearnroomModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomModule -->\n\nDashboardModelMapper->LearnroomModule\n\n\n\n\n\nDashboardService\n\nDashboardService\n\nLearnroomModule -->\n\nDashboardService->LearnroomModule\n\n\n\n\n\nRoomsService\n\nRoomsService\n\nLearnroomModule -->\n\nRoomsService->LearnroomModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomModule -->\n\nUserRepo->LearnroomModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardCopyService\n \n \n BoardRepo\n \n \n ColumnBoardTargetService\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupRepo\n \n \n CourseGroupService\n \n \n CourseRepo\n \n \n CourseService\n \n \n DashboardElementRepo\n \n \n DashboardModelMapper\n \n \n DashboardService\n \n \n RoomsService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupService\n \n \n CourseService\n \n \n DashboardService\n \n \n RoomsService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport {\n\tBoardRepo,\n\tCourseGroupRepo,\n\tCourseRepo,\n\tDashboardElementRepo,\n\tDashboardModelMapper,\n\tDashboardRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport {\n\tBoardCopyService,\n\tColumnBoardTargetService,\n\tCommonCartridgeExportService,\n\tCourseCopyService,\n\tCourseGroupService,\n\tCourseService,\n\tDashboardService,\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\tDashboardElementRepo,\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tBoardRepo,\n\t\tUserRepo,\n\t\tBoardCopyService,\n\t\tCourseCopyService,\n\t\tRoomsService,\n\t\tCourseService,\n\t\tCommonCartridgeExportService,\n\t\tColumnBoardTargetService,\n\t\tCourseGroupService,\n\t\tCourseGroupRepo,\n\t\tDashboardService,\n\t],\n\texports: [\n\t\tCourseCopyService,\n\t\tCourseService,\n\t\tRoomsService,\n\t\tCommonCartridgeExportService,\n\t\tCourseGroupService,\n\t\tDashboardService,\n\t],\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\nSystemModule\n\nSystemModule\n\nLegacySchoolApiModule -->\n\nSystemModule->LegacySchoolApiModule\n\n\n\n\n\nSchoolSystemOptionsUc\n\nSchoolSystemOptionsUc\n\nLegacySchoolApiModule -->\n\nSchoolSystemOptionsUc->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\n\n \n \n \n Providers\n \n \n SchoolSystemOptionsUc\n \n \n \n \n Controllers\n \n \n SchoolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { SystemModule } from '@modules/system';\nimport { Module } from '@nestjs/common';\nimport { SchoolController } from './controller';\nimport { LegacySchoolModule } from './legacy-school.module';\nimport { SchoolSystemOptionsUc } from './uc';\n\n@Module({\n\timports: [LegacySchoolModule, AuthorizationModule, SystemModule],\n\tcontrollers: [SchoolController],\n\tproviders: [SchoolSystemOptionsUc],\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"},"classes/LegacySchoolDo.html":{"url":"classes/LegacySchoolDo.html","title":"class - LegacySchoolDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/legacy-school.do.ts\n \n\n \n Deprecated\n \n \n because it extends the deprecated BaseDO.\n \n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalId\n \n \n Optional\n features\n \n \n federalState\n \n \n Optional\n inMaintenanceSince\n \n \n Optional\n inUserMigration\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n Optional\n previousExternalId\n \n \n Optional\n schoolYear\n \n \n Optional\n systems\n \n \n Optional\n userLoginMigrationId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: LegacySchoolDo)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : SchoolFeatures[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n Type : FederalStateEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inMaintenanceSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inUserMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : SchoolYearEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n systems\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userLoginMigrationId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\n/**\n * @deprecated because it extends the deprecated BaseDO.\n */\nexport class LegacySchoolDo extends BaseDO {\n\texternalId?: string;\n\n\tinMaintenanceSince?: Date;\n\n\tinUserMigration?: boolean;\n\n\tpreviousExternalId?: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tsystems?: EntityId[];\n\n\tfeatures?: SchoolFeatures[];\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tschoolYear?: SchoolYearEntity;\n\n\tuserLoginMigrationId?: EntityId;\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tfederalState: FederalStateEntity;\n\n\tconstructor(params: LegacySchoolDo) {\n\t\tsuper();\n\t\tthis.id = params.id;\n\t\tthis.externalId = params.externalId;\n\t\tthis.features = params.features;\n\t\tthis.inMaintenanceSince = params.inMaintenanceSince;\n\t\tthis.inUserMigration = params.inUserMigration;\n\t\tthis.name = params.name;\n\t\tthis.previousExternalId = params.previousExternalId;\n\t\tthis.officialSchoolNumber = params.officialSchoolNumber;\n\t\tthis.schoolYear = params.schoolYear;\n\t\tthis.systems = params.systems;\n\t\tthis.userLoginMigrationId = params.userLoginMigrationId;\n\t\tthis.federalState = params.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LegacySchoolFactory.html":{"url":"classes/LegacySchoolFactory.html","title":"class - LegacySchoolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/legacy-school.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { federalStateFactory } from '../federal-state.factory';\nimport { schoolYearFactory } from '../schoolyear.factory';\nimport { DoBaseFactory } from './do-base.factory';\n\nclass LegacySchoolFactory extends DoBaseFactory {}\n\nexport const legacySchoolDoFactory = LegacySchoolFactory.define(LegacySchoolDo, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolName-${sequence}`,\n\t\texternalId: '123',\n\t\tfeatures: [],\n\t\tinMaintenanceSince: new Date(2020, 1),\n\t\tinUserMigration: true,\n\t\toauthMigrationMandatory: new Date(2020, 1),\n\t\toauthMigrationPossible: new Date(2020, 1),\n\t\toauthMigrationFinished: new Date(2020, 1),\n\t\tpreviousExternalId: '456',\n\t\tofficialSchoolNumber: '789',\n\t\tsystems: [],\n\t\tfederalState: federalStateFactory.build(),\n\t\tschoolYear: schoolYearFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LegacySchoolModule.html":{"url":"modules/LegacySchoolModule.html","title":"module - LegacySchoolModule","body":"\n \n\n\n\n\n Modules\n LegacySchoolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LegacySchoolModule\n\n\n\ncluster_LegacySchoolModule_providers\n\n\n\ncluster_LegacySchoolModule_exports\n\n\n\ncluster_LegacySchoolModule_imports\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\nSchoolSystemOptionsService \n\nSchoolSystemOptionsService \n\nSchoolSystemOptionsService -->\n\nLegacySchoolModule->SchoolSystemOptionsService \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\nSchoolSystemOptionsRepo\n\nSchoolSystemOptionsRepo\n\nLegacySchoolModule -->\n\nSchoolSystemOptionsRepo->LegacySchoolModule\n\n\n\n\n\nSchoolSystemOptionsService\n\nSchoolSystemOptionsService\n\nLegacySchoolModule -->\n\nSchoolSystemOptionsService->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 SchoolSystemOptionsRepo\n \n \n SchoolSystemOptionsService\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 SchoolSystemOptionsService\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 { SchoolSystemOptionsRepo, SchoolYearRepo } from './repo';\nimport {\n\tFederalStateService,\n\tLegacySchoolService,\n\tSchoolSystemOptionsService,\n\tSchoolValidationService,\n\tSchoolYearService,\n} 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\tSchoolSystemOptionsRepo,\n\t\tSchoolSystemOptionsService,\n\t],\n\texports: [LegacySchoolService, SchoolYearService, FederalStateService, SchoolSystemOptionsService],\n})\nexport class LegacySchoolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRepo.html":{"url":"injectables/LegacySchoolRepo.html","title":"injectable - LegacySchoolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/school/legacy-school.repo.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByExternalId\n \n \n Async\n findBySchoolNumber\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolNumber\n \n \n \n \n \n \n \n findBySchoolNumber(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: LegacySchoolDo)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:57\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LegacySchoolDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:19\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity, UserLoginMigrationEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolEntity;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst school: SchoolEntity | null = await this._em.findOne(SchoolEntity, { externalId, systems: systemId });\n\n\t\tconst schoolDo: LegacySchoolDo | null = school ? this.mapEntityToDO(school) : null;\n\t\treturn schoolDo;\n\t}\n\n\tasync findBySchoolNumber(officialSchoolNumber: string): Promise {\n\t\tconst [schools, count] = await this._em.findAndCount(SchoolEntity, { officialSchoolNumber });\n\t\tif (count > 1) {\n\t\t\tthrow new InternalServerErrorException(`Multiple schools found for officialSchoolNumber ${officialSchoolNumber}`);\n\t\t}\n\n\t\tconst schoolDo: LegacySchoolDo | null = schools[0] ? this.mapEntityToDO(schools[0]) : null;\n\t\treturn schoolDo;\n\t}\n\n\tmapEntityToDO(entity: SchoolEntity): LegacySchoolDo {\n\t\treturn new LegacySchoolDo({\n\t\t\tid: entity.id,\n\t\t\texternalId: entity.externalId,\n\t\t\tfeatures: entity.features,\n\t\t\tinMaintenanceSince: entity.inMaintenanceSince,\n\t\t\tinUserMigration: entity.inUserMigration,\n\t\t\tname: entity.name,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tofficialSchoolNumber: entity.officialSchoolNumber,\n\t\t\tschoolYear: entity.schoolYear,\n\t\t\tsystems: entity.systems.isInitialized() ? entity.systems.getItems().map((system: SystemEntity) => system.id) : [],\n\t\t\tuserLoginMigrationId: entity.userLoginMigration?.id,\n\t\t\tfederalState: entity.federalState,\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: LegacySchoolDo): EntityData {\n\t\treturn {\n\t\t\texternalId: entityDO.externalId,\n\t\t\tfeatures: entityDO.features,\n\t\t\tinMaintenanceSince: entityDO.inMaintenanceSince,\n\t\t\tinUserMigration: entityDO.inUserMigration,\n\t\t\tname: entityDO.name,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tofficialSchoolNumber: entityDO.officialSchoolNumber,\n\t\t\tschoolYear: entityDO.schoolYear,\n\t\t\tsystems: entityDO.systems\n\t\t\t\t? entityDO.systems.map((systemId: EntityId) => this._em.getReference(SystemEntity, systemId))\n\t\t\t\t: [],\n\t\t\tuserLoginMigration: entityDO.userLoginMigrationId\n\t\t\t\t? this._em.getReference(UserLoginMigrationEntity, entityDO.userLoginMigrationId)\n\t\t\t\t: undefined,\n\t\t\tfederalState: entityDO.federalState,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRule.html":{"url":"injectables/LegacySchoolRule.html","title":"injectable - LegacySchoolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, object: AuthorizableObject | BaseDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, object: AuthorizableObject | BaseDO): boolean {\n\t\tconst isMatched = object instanceof LegacySchoolDo;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext): boolean {\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) && user.school.id === entity.id;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolService.html":{"url":"injectables/LegacySchoolService.html","title":"injectable - LegacySchoolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/legacy-school.service.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n Async\n getSchoolById\n \n \n Async\n getSchoolBySchoolNumber\n \n \n Async\n hasFeature\n \n \n Async\n removeFeature\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo, schoolValidationService: SchoolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n schoolValidationService\n \n \n SchoolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n \n \n \n \n \n getSchoolByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolById\n \n \n \n \n \n \n \n getSchoolById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolBySchoolNumber\n \n \n \n \n \n \n \n getSchoolBySchoolNumber(schoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasFeature\n \n \n \n \n \n \n \n hasFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFeature\n \n \n \n \n \n \n \n removeFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(school: LegacySchoolDo, validate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n \n \n\n \n \n validate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolValidationService } from './validation';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolService {\n\tconstructor(\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly schoolValidationService: SchoolValidationService\n\t) {}\n\n\tasync hasFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst entity: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\treturn entity.features ? entity.features.includes(feature) : false;\n\t}\n\n\tasync removeFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\tif (school.features && school.features.includes(feature)) {\n\t\t\tschool.features = school.features.filter((f: SchoolFeatures) => f !== feature);\n\t\t\tawait this.schoolRepo.save(school);\n\t\t}\n\t}\n\n\tasync getSchoolById(id: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo = await this.schoolRepo.findById(id);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findByExternalId(externalId, systemId);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolBySchoolNumber(schoolNumber: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(schoolNumber);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync save(school: LegacySchoolDo, validate = false): Promise {\n\t\tif (validate) {\n\t\t\tawait this.schoolValidationService.validate(school);\n\t\t}\n\n\t\tconst ret: LegacySchoolDo = await this.schoolRepo.save(school);\n\n\t\treturn ret;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemRepo.html":{"url":"injectables/LegacySystemRepo.html","title":"injectable - LegacySystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/legacy-system.repo.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object],[object Object]\n \n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findByFilter\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:36\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { SystemScope } from '@shared/repo/system/system-scope';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use the {@link SystemRepo} from the system module instead\n */\n@Injectable()\nexport class LegacySystemRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SystemEntity;\n\t}\n\n\tasync findByFilter(type: SystemTypeEnum): Promise {\n\t\tconst scope = new SystemScope();\n\t\tswitch (type) {\n\t\t\tcase SystemTypeEnum.LDAP:\n\t\t\t\tscope.withLdapConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OAUTH:\n\t\t\t\tscope.withOauthConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OIDC:\n\t\t\t\tscope.withOidcConfig();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\tthrow new Error(`system type ${type} unknown`);\n\t\t}\n\t\treturn this._em.find(SystemEntity, scope.query);\n\t}\n\n\tasync findAll(): Promise {\n\t\treturn this._em.find(SystemEntity, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemService.html":{"url":"injectables/LegacySystemService.html","title":"injectable - LegacySystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/legacy-system.service.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object]\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByType\n \n \n Private\n Async\n generateBrokerSystems\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, idmOauthService: IdentityManagementOauthService)\n \n \n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByType\n \n \n \n \n \n \n \n findByType(type?: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generateBrokerSystems\n \n \n \n \n \n \n \n generateBrokerSystems(systems: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(systemDto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemDto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementOauthService } from '@infra/identity-management';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemMapper } from '../mapper';\nimport { SystemDto } from './dto';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use {@link SystemService}\n */\n@Injectable()\nexport class LegacySystemService {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet system = await this.systemRepo.findById(id);\n\t\t[system] = await this.generateBrokerSystems([system]);\n\t\tif (!system) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tasync findByType(type?: SystemTypeEnum): Promise {\n\t\tlet systems: SystemEntity[];\n\t\tif (type && type === SystemTypeEnum.OAUTH) {\n\t\t\tconst oauthSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OAUTH);\n\t\t\tconst oidcSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\t\tsystems = [...oauthSystems, ...oidcSystems];\n\t\t} else if (type) {\n\t\t\tsystems = await this.systemRepo.findByFilter(type);\n\t\t} else {\n\t\t\tsystems = await this.systemRepo.findAll();\n\t\t}\n\t\tsystems = await this.generateBrokerSystems(systems);\n\t\treturn SystemMapper.mapFromEntitiesToDtos(systems);\n\t}\n\n\tasync save(systemDto: SystemDto): Promise {\n\t\tlet system: SystemEntity;\n\t\tif (systemDto.id) {\n\t\t\tsystem = await this.systemRepo.findById(systemDto.id);\n\t\t\tsystem.type = systemDto.type;\n\t\t\tsystem.alias = systemDto.alias;\n\t\t\tsystem.displayName = systemDto.displayName;\n\t\t\tsystem.oauthConfig = systemDto.oauthConfig;\n\t\t\tsystem.provisioningStrategy = systemDto.provisioningStrategy;\n\t\t\tsystem.provisioningUrl = systemDto.provisioningUrl;\n\t\t\tsystem.url = systemDto.url;\n\t\t} else {\n\t\t\tsystem = new SystemEntity({\n\t\t\t\ttype: systemDto.type,\n\t\t\t\talias: systemDto.alias,\n\t\t\t\tdisplayName: systemDto.displayName,\n\t\t\t\toauthConfig: systemDto.oauthConfig,\n\t\t\t\tprovisioningStrategy: systemDto.provisioningStrategy,\n\t\t\t\tprovisioningUrl: systemDto.provisioningUrl,\n\t\t\t\turl: systemDto.url,\n\t\t\t});\n\t\t}\n\t\tawait this.systemRepo.save(system);\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tprivate async generateBrokerSystems(systems: SystemEntity[]): Promise {\n\t\tif (!(await this.idmOauthService.isOauthConfigAvailable())) {\n\t\t\treturn systems.filter((system) => !(system.oidcConfig && !system.oauthConfig));\n\t\t}\n\t\tconst brokerConfig = await this.idmOauthService.getOauthConfig();\n\t\tlet generatedSystem: SystemEntity;\n\t\treturn systems.map((system) => {\n\t\t\tif (system.oidcConfig && !system.oauthConfig) {\n\t\t\t\tgeneratedSystem = new SystemEntity({\n\t\t\t\t\ttype: SystemTypeEnum.OAUTH,\n\t\t\t\t\talias: system.alias,\n\t\t\t\t\tdisplayName: system.displayName ? system.displayName : system.alias,\n\t\t\t\t\tprovisioningStrategy: system.provisioningStrategy,\n\t\t\t\t\tprovisioningUrl: system.provisioningUrl,\n\t\t\t\t\turl: system.url,\n\t\t\t\t});\n\t\t\t\tgeneratedSystem.id = system.id;\n\t\t\t\tgeneratedSystem.oauthConfig = { ...brokerConfig };\n\t\t\t\tgeneratedSystem.oauthConfig.idpHint = system.oidcConfig.idpHint;\n\t\t\t\tgeneratedSystem.oauthConfig.redirectUri += system.id;\n\t\t\t\treturn generatedSystem;\n\t\t\t}\n\t\t\treturn system;\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonApiModule.html":{"url":"modules/LessonApiModule.html","title":"module - LessonApiModule","body":"\n \n\n\n\n\n Modules\n LessonApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonApiModule\n\n\n\ncluster_LessonApiModule_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 { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LessonUC } from '../uc';\nimport { LessonUrlParams } from './dto';\n\n@ApiTags('Lesson')\n@Authenticate('jwt')\n@Controller('lessons')\nexport class LessonController {\n\tconstructor(private readonly lessonUC: LessonUC) {}\n\n\t@Delete(':lessonId')\n\tasync delete(@Param() urlParams: LessonUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.lessonUC.delete(currentUser.userId, urlParams.lessonId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonCopyApiParams.html":{"url":"classes/LessonCopyApiParams.html","title":"class - LessonCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the lesson is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class LessonCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the lesson is copied to',\n\t})\n\tcourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonCopyUC.html":{"url":"injectables/LessonCopyUC.html","title":"injectable - LessonCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalLessonAuthorization\n \n \n Async\n copyLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisation: AuthorizationService, lessonCopyService: LessonCopyService, lessonService: LessonService, courseRepo: CourseRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n \n \n \n \n \n checkDestinationCourseAuthorization(user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:68\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalLessonAuthorization\n \n \n \n \n \n \n \n checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n originalLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n LessonCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonCopyParentParams, LessonCopyService, LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Course, LessonEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface/permission.enum';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class LessonCopyUC {\n\tconstructor(\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst [user, originalLesson]: [User, LessonEntity] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\tthis.checkOriginalLessonAuthorization(user, originalLesson);\n\n\t\t// should be a seperate private method\n\t\tconst destinationCourse = parentParams.courseId\n\t\t\t? await this.courseRepo.findById(parentParams.courseId)\n\t\t\t: originalLesson.course;\n\t\t// ---\n\n\t\tthis.checkDestinationCourseAuthorization(user, destinationCourse);\n\n\t\t// should be a seperate private method\n\t\tconst [existingLessons] = await this.lessonService.findByCourseIds([originalLesson.course.id]);\n\t\tconst existingNames = existingLessons.map((l) => l.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(originalLesson.name, existingNames);\n\n\t\tconst copyStatus = await this.lessonCopyService.copyLesson({\n\t\t\toriginalLessonId: originalLesson.id,\n\t\t\tdestinationCourse,\n\t\t\tuser,\n\t\t\tcopyName,\n\t\t});\n\t\t// ---\n\n\t\treturn copyStatus;\n\t}\n\n\tprivate checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity): void {\n\t\tconst contextReadWithTopicCreate = AuthorizationContextBuilder.read([Permission.TOPIC_CREATE]);\n\t\tif (!this.authorisation.hasPermission(user, originalLesson, contextReadWithTopicCreate)) {\n\t\t\t// error message is not correct, switch to authorisation.checkPermission() makse sense for me\n\t\t\tthrow new ForbiddenException('could not find lesson to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorization(user: User, destinationCourse: Course): void {\n\t\tconst contextCanWrite = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(user, destinationCourse, contextCanWrite);\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonEntity.html":{"url":"entities/LessonEntity.html","title":"entity - LessonEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n courseGroup\n \n \n \n \n hidden\n \n \n \n materials\n \n \n \n name\n \n \n \n position\n \n \n \n tasks\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contents\n \n \n \n \n \n \n Type : ComponentProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:104\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Index()@Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('Material', undefined, {fieldName: 'materialIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n tasks\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Task', 'lesson', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:110\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonFactory.html":{"url":"classes/LessonFactory.html","title":"class - LessonFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/lesson.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ComponentProperties, Course, LessonEntity, LessonProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\n\nclass LessonFactory extends BaseFactory {}\n\nexport const lessonFactory = LessonFactory.define(\n\tLessonEntity,\n\t({ sequence, params }) => {\n\t\tlet course: Course;\n\t\tif (params.course) {\n\t\t\tcourse = params.course as Course;\n\t\t} else {\n\t\t\tcourse = courseFactory.build();\n\t\t}\n\n\t\tconst contents: ComponentProperties[] = [];\n\t\tif (params.contents) {\n\t\t\tparams.contents.forEach((element) => {\n\t\t\t\tcontents.push(element);\n\t\t\t});\n\t\t}\n\n\t\tconst hidden = params.hidden || false;\n\n\t\treturn {\n\t\t\tname: `lesson #${sequence}`,\n\t\t\tcourse,\n\t\t\tcontents,\n\t\t\thidden,\n\t\t\tmaterials: [],\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonModule.html":{"url":"modules/LessonModule.html","title":"module - LessonModule","body":"\n \n\n\n\n\n Modules\n LessonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonModule\n\n\n\ncluster_LessonModule_exports\n\n\n\ncluster_LessonModule_providers\n\n\n\ncluster_LessonModule_imports\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nLessonModule\n\nLessonModule\n\nLessonModule -->\n\nCopyHelperModule->LessonModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nLessonModule -->\n\nFilesStorageClientModule->LessonModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLessonModule -->\n\nLoggerModule->LessonModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLessonModule -->\n\nTaskModule->LessonModule\n\n\n\n\n\nLessonCopyService \n\nLessonCopyService \n\nLessonCopyService -->\n\nLessonModule->LessonCopyService \n\n\n\n\n\nLessonService \n\nLessonService \n\nLessonService -->\n\nLessonModule->LessonService \n\n\n\n\n\nEtherpadService\n\nEtherpadService\n\nLessonModule -->\n\nEtherpadService->LessonModule\n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nLessonModule -->\n\nFeathersServiceProvider->LessonModule\n\n\n\n\n\nLessonCopyService\n\nLessonCopyService\n\nLessonModule -->\n\nLessonCopyService->LessonModule\n\n\n\n\n\nLessonRepo\n\nLessonRepo\n\nLessonModule -->\n\nLessonRepo->LessonModule\n\n\n\n\n\nLessonService\n\nLessonService\n\nLessonModule -->\n\nLessonService->LessonModule\n\n\n\n\n\nNexboardService\n\nNexboardService\n\nLessonModule -->\n\nNexboardService->LessonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n EtherpadService\n \n \n FeathersServiceProvider\n \n \n LessonCopyService\n \n \n LessonRepo\n \n \n LessonService\n \n \n NexboardService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n LessonCopyService\n \n \n LessonService\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonRepo } from './repository';\nimport { EtherpadService, LessonCopyService, LessonService, NexboardService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, LoggerModule, CopyHelperModule, TaskModule],\n\tproviders: [LessonRepo, LessonService, EtherpadService, NexboardService, LessonCopyService, FeathersServiceProvider],\n\texports: [LessonService, LessonCopyService],\n})\nexport class LessonModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonParent.html":{"url":"interfaces/LessonParent.html","title":"interface - LessonParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:81\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonProperties.html":{"url":"interfaces/LessonProperties.html","title":"interface - LessonProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n \n courseGroup\n \n \n \n \n hidden\n \n \n \n Optional\n \n materials\n \n \n \n \n name\n \n \n \n Optional\n \n position\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contents\n \n \n \n \n \n \n \n \n contents: ComponentProperties[] | \n\n \n \n\n\n \n \n Type : ComponentProperties[] | \n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n \n \n hidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n \n \n materials: Material[]\n\n \n \n\n\n \n \n Type : Material[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRepo.html":{"url":"injectables/LessonRepo.html","title":"injectable - LessonRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLesson\n \n \n Async\n findAllByCourseIds\n \n \n Async\n findById\n \n \n Public\n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLesson\n \n \n \n \n \n \n \n createLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByCourseIds\n \n \n \n \n \n \n \n findAllByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { LessonEntity } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { LessonScope } from './lesson-scope';\n\n@Injectable()\nexport class LessonRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn LessonEntity;\n\t}\n\n\tasync createLesson(lesson: LessonEntity): Promise {\n\t\treturn this.save(this.create(lesson));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst lesson = await super.findById(id);\n\t\tawait this._em.populate(lesson, ['course', 'tasks', 'materials', 'courseGroup.course']);\n\t\treturn lesson;\n\t}\n\n\tasync findAllByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\tconst scope = new LessonScope();\n\n\t\tscope.byCourseIds(courseIds);\n\n\t\tif (filters?.hidden !== undefined) {\n\t\t\tscope.byHidden(filters.hidden);\n\t\t}\n\n\t\tconst order = { position: SortOrder.asc };\n\n\t\tconst [lessons, count] = await this._em.findAndCount(LessonEntity, scope.query, { orderBy: order });\n\n\t\tawait this._em.populate(lessons, ['course', 'tasks', 'materials']);\n\n\t\treturn [lessons, count];\n\t}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tcontents: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\tuser: new ObjectId(userId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawLessonsDocuments = await this._em.aggregate(LessonEntity, pipeline);\n\n\t\tconst lessons = rawLessonsDocuments.map((rawLessonDocument) =>\n\t\t\tthis._em.map(LessonEntity, rawLessonDocument as EntityDictionary)\n\t\t);\n\n\t\treturn lessons;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRule.html":{"url":"injectables/LessonRule.html","title":"injectable - LessonRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/lesson.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n Private\n coursePermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n Private\n lessonReadPermission\n \n \n Private\n lessonWritePermission\n \n \n Private\n parentPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, courseGroupRule: CourseGroupRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n \n \n \n \n \n courseGroupPermission(user: User, entity: CourseGroup, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n coursePermission\n \n \n \n \n \n \n \n coursePermission(user: User, entity: Course, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonReadPermission\n \n \n \n \n \n \n \n lessonReadPermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonWritePermission\n \n \n \n \n \n \n \n lessonWritePermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n parentPermission\n \n \n \n \n \n \n \n parentPermission(user: User, entity: LessonEntity, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, CourseGroup, LessonEntity, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseGroupRule } from './course-group.rule';\nimport { CourseRule } from './course.rule';\n\n@Injectable()\nexport class LessonRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: LessonEntity): boolean {\n\t\tconst isMatched = entity instanceof LessonEntity;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tlet hasLessonPermission = false;\n\n\t\tif (action === Action.read) {\n\t\t\thasLessonPermission = this.lessonReadPermission(user, entity);\n\t\t} else if (action === Action.write) {\n\t\t\thasLessonPermission = this.lessonWritePermission(user, entity);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\tconst hasUserPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst result = hasUserPermission && hasLessonPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate lessonReadPermission(user: User, entity: LessonEntity): boolean {\n\t\tconst isVisible = !entity.hidden;\n\t\tlet hasParentReadPermission = false;\n\n\t\tif (isVisible) {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.read);\n\t\t} else {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.write);\n\t\t}\n\n\t\treturn hasParentReadPermission;\n\t}\n\n\tprivate lessonWritePermission(user: User, entity: LessonEntity): boolean {\n\t\tconst hasParentWritePermission = this.parentPermission(user, entity, Action.write);\n\n\t\treturn hasParentWritePermission;\n\t}\n\n\tprivate parentPermission(user: User, entity: LessonEntity, action: Action): boolean {\n\t\tlet result: boolean;\n\n\t\tif (entity.courseGroup) {\n\t\t\tresult = this.courseGroupPermission(user, entity.courseGroup, action);\n\t\t} else if (entity.course) {\n\t\t\tresult = this.coursePermission(user, entity.course, action); // ask course for student = read || teacher, sub-teacher = write\n\t\t} else {\n\t\t\tresult = false;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate coursePermission(user: User, entity: Course, action: Action): boolean {\n\t\tconst result = this.courseRule.hasPermission(user, entity, { action, requiredPermissions: [] });\n\n\t\treturn result;\n\t}\n\n\tprivate courseGroupPermission(user: User, entity: CourseGroup, action: Action): boolean {\n\t\tconst result = this.courseGroupRule.hasPermission(user, entity, {\n\t\t\taction,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonScope.html":{"url":"classes/LessonScope.html","title":"class - LessonScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCourseIds\n \n \n byHidden\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class LessonScope extends Scope {\n\tbyCourseIds(courseIds: EntityId[]): LessonScope {\n\t\tthis.addQuery({ course: { $in: courseIds } });\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean): LessonScope {\n\t\tthis.addQuery({ hidden: { $eq: isHidden } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonService.html":{"url":"injectables/LessonService.html","title":"injectable - LessonService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/lesson.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteLesson\n \n \n Async\n deleteUserDataFromLessons\n \n \n Async\n findAllLessonsByUserId\n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonRepo: LessonRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonRepo\n \n \n LessonRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteLesson\n \n \n \n \n \n \n \n deleteLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUserDataFromLessons\n \n \n \n \n \n \n \n deleteUserDataFromLessons(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllLessonsByUserId\n \n \n \n \n \n \n \n findAllLessonsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, LessonEntity } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AuthorizationLoaderService } from '@src/modules/authorization';\nimport { LessonRepo } from '../repository';\n\n@Injectable()\nexport class LessonService implements AuthorizationLoaderService {\n\tconstructor(\n\t\tprivate readonly lessonRepo: LessonRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync deleteLesson(lesson: LessonEntity): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(lesson.id);\n\n\t\tawait this.lessonRepo.delete(lesson);\n\t}\n\n\tasync findById(lessonId: EntityId): Promise {\n\t\treturn this.lessonRepo.findById(lessonId);\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\treturn this.lessonRepo.findAllByCourseIds(courseIds, filters);\n\t}\n\n\tasync findAllLessonsByUserId(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\treturn lessons;\n\t}\n\n\tasync deleteUserDataFromLessons(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\tconst updatedLessons = lessons.map((lesson: LessonEntity) => {\n\t\t\tlesson.contents.map((c: ComponentProperties) => {\n\t\t\t\tif (c.user === userId) {\n\t\t\t\t\tc.user = undefined;\n\t\t\t\t}\n\t\t\t\treturn c;\n\t\t\t});\n\t\t\treturn lesson;\n\t\t});\n\n\t\tawait this.lessonRepo.save(updatedLessons);\n\n\t\treturn updatedLessons.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUC.html":{"url":"injectables/LessonUC.html","title":"injectable - LessonUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/uc/lesson.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LessonService } from '../service';\n\n@Injectable()\nexport class LessonUC {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly lessonService: LessonService\n\t) {}\n\n\tasync delete(userId: EntityId, lessonId: EntityId) {\n\t\tconst [user, lesson] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\t// Check by Permission.TOPIC_VIEW because the student doesn't have Permission.TOPIC_EDIT\n\t\t// is required for CourseGroup lessons\n\t\tthis.authorizationService.checkPermission(user, lesson, AuthorizationContextBuilder.write([Permission.TOPIC_VIEW]));\n\n\t\tawait this.lessonService.deleteLesson(lesson);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUrlHandler.html":{"url":"injectables/LessonUrlHandler.html","title":"injectable - LessonUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/topics\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class LessonUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/topics\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly lessonService: LessonService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'lesson' });\n\t\tconst lesson = await this.lessonService.findById(id);\n\t\tif (lesson) {\n\t\t\tmetaData.title = lesson.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams.html":{"url":"classes/LessonUrlParams.html","title":"class - LessonUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams-1.html":{"url":"classes/LessonUrlParams-1.html","title":"class - LessonUrlParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibrariesBodyParams.html":{"url":"classes/LibrariesBodyParams.html","title":"class - LibrariesBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibrariesBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsArray()@IsString({each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LibrariesContentType.html":{"url":"interfaces/LibrariesContentType.html","title":"interface - LibrariesContentType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LibrariesContentType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n h5p_libraries: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryFileUrlParams.html":{"url":"classes/LibraryFileUrlParams.html","title":"class - LibraryFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n ubername\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n ubername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LibraryFileUrlParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tubername!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfile!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryName.html":{"url":"classes/LibraryName.html","title":"class - LibraryName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n ILibraryName\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(machineName: string, majorVersion: number, minorVersion: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n \n string\n \n \n \n No\n \n \n \n \n majorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n minorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryParametersBodyParams.html":{"url":"classes/LibraryParametersBodyParams.html","title":"class - LibraryParametersBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryParametersBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LibraryRepo.html":{"url":"injectables/LibraryRepo.html","title":"injectable - LibraryRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LibraryRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/library.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLibrary\n \n \n Async\n findByName\n \n \n Async\n findByNameAndExactVersion\n \n \n Async\n findNewestByNameAndVersion\n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n Async\n getAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLibrary\n \n \n \n \n \n \n \n createLibrary(library: InstalledLibrary)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n library\n \n InstalledLibrary\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(machineName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNameAndExactVersion\n \n \n \n \n \n \n \n findByNameAndExactVersion(machineName: string, majorVersion: number, minorVersion: number, patchVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n patchVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findNewestByNameAndVersion\n \n \n \n \n \n \n \n findNewestByNameAndVersion(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n \n \n \n \n \n findOneByNameAndVersionOrFail(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAll\n \n \n \n \n \n \n \n getAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { InstalledLibrary } from '../entity';\n\n@Injectable()\nexport class LibraryRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn InstalledLibrary;\n\t}\n\n\tasync createLibrary(library: InstalledLibrary): Promise {\n\t\tconst entity = this.create(library);\n\t\tawait this.save(entity);\n\t}\n\n\tasync getAll(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n\n\tasync findOneByNameAndVersionOrFail(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, { machineName, majorVersion, minorVersion });\n\t\tif (libs.length === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\tif (libs.length === 0) {\n\t\t\tthrow new Error('Library not found');\n\t\t}\n\t\tthrow new Error('Multiple libraries with the same name and version found');\n\t}\n\n\tasync findByName(machineName: string): Promise {\n\t\treturn this._em.find(this.entityName, { machineName });\n\t}\n\n\tasync findNewestByNameAndVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t});\n\t\tlet latest: InstalledLibrary | null = null;\n\t\tfor (const lib of libs) {\n\t\t\tif (latest === null || lib.patchVersion > latest.patchVersion) {\n\t\t\t\tlatest = lib;\n\t\t\t}\n\t\t}\n\t\treturn latest;\n\t}\n\n\tasync findByNameAndExactVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number,\n\t\tpatchVersion: number\n\t): Promise {\n\t\tconst [libs, count] = await this._em.findAndCount(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t\tpatchVersion,\n\t\t});\n\t\tif (count > 1) {\n\t\t\tthrow new Error('too many libraries with same name and version');\n\t\t}\n\t\tif (count === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkContentBody.html":{"url":"classes/LinkContentBody.html","title":"class - LinkContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n Optional\n title\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:39\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElement.html":{"url":"classes/LinkElement.html","title":"class - LinkElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n title\n \n \n description\n \n \n imageUrl\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:41\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:37\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n\n \n \n geturl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:5\n \n \n\n \n \n seturl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:13\n \n \n\n \n \n settitle(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:21\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:25\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n imageUrl\n \n \n\n \n \n getimageUrl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:29\n \n \n\n \n \n setimageUrl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:33\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContent.html":{"url":"classes/LinkElementContent.html","title":"class - LinkElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n description\n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContentBody.html":{"url":"classes/LinkElementContentBody.html","title":"class - LinkElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:59\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LinkElementNode.html":{"url":"entities/LinkElementNode.html","title":"entity - LinkElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n LinkElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementNodeProps.html":{"url":"interfaces/LinkElementNodeProps.html","title":"interface - LinkElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementProps.html":{"url":"interfaces/LinkElementProps.html","title":"interface - LinkElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponse.html":{"url":"classes/LinkElementResponse.html","title":"class - LinkElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponseMapper.html":{"url":"classes/LinkElementResponseMapper.html","title":"class - LinkElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : LinkElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : LinkElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, LinkElement } from '@shared/domain/domainobject';\nimport { LinkElementContent, LinkElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class LinkElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: LinkElementResponseMapper;\n\n\tpublic static getInstance(): LinkElementResponseMapper {\n\t\tif (!LinkElementResponseMapper.instance) {\n\t\t\tLinkElementResponseMapper.instance = new LinkElementResponseMapper();\n\t\t}\n\n\t\treturn LinkElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: LinkElement): LinkElementResponse {\n\t\tconst result = new LinkElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.LINK,\n\t\t\tcontent: new LinkElementContent({\n\t\t\t\turl: element.url,\n\t\t\t\ttitle: element.title,\n\t\t\t\tdescription: element.description,\n\t\t\t\timageUrl: element.imageUrl,\n\t\t\t}),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: LinkElement): boolean {\n\t\treturn element instanceof LinkElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListFiles.html":{"url":"interfaces/ListFiles.html","title":"interface - ListFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n files\n \n \n \n Optional\n \n maxKeys\n \n \n \n Optional\n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ListOauthClientsParams.html":{"url":"classes/ListOauthClientsParams.html","title":"class - ListOauthClientsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ListOauthClientsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n Optional\n owner\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The name of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@Max(500)@IsOptional()@ApiProperty({description: 'The maximum amount of clients to returned, upper bound is 500 clients.', required: false, nullable: false, minimum: 0, maximum: 500})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty({description: 'The offset from where to start looking.', required: false, nullable: false, minimum: 0})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n owner\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The owner of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:45\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString, Max, Min } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ListOauthClientsParams {\n\t@IsNumber()\n\t@Min(0)\n\t@Max(500)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The maximum amount of clients to returned, upper bound is 500 clients.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t\tmaximum: 500,\n\t})\n\tlimit?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The offset from where to start looking.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t})\n\toffset?: number;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The name of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The owner of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\towner?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LocalAuthorizationBodyParams.html":{"url":"classes/LocalAuthorizationBodyParams.html","title":"class - LocalAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LocalAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LocalAuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStrategy.html":{"url":"injectables/LocalStrategy.html","title":"injectable - LocalStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LocalStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/local.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n cleanupInput\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authenticationService: AuthenticationService, idmOauthService: IdentityManagementOauthService, configService: ConfigService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(enteredPassword: string, savedPassword: string, account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enteredPassword\n \n string\n \n\n \n No\n \n\n\n \n \n savedPassword\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupInput\n \n \n \n \n \n \n \n cleanupInput(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementConfig, IdentityManagementOauthService } from '@infra/identity-management';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { GuardAgainst } from '@shared/common/utils/guard-against';\nimport { UserRepo } from '@shared/repo';\nimport bcrypt from 'bcryptjs';\nimport { Strategy } from 'passport-local';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\n\n@Injectable()\nexport class LocalStrategy extends PassportStrategy(Strategy) {\n\tconstructor(\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(username?: string, password?: string): Promise {\n\t\t({ username, password } = this.cleanupInput(username, password));\n\t\tconst account = await this.authenticationService.loadAccount(username);\n\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED')) {\n\t\t\tconst jwt = await this.idmOauthService.resourceOwnerPasswordGrant(username, password);\n\t\t\tGuardAgainst.nullOrUndefined(jwt, new UnauthorizedException());\n\t\t} else {\n\t\t\tconst accountPassword = GuardAgainst.nullOrUndefined(account.password, new UnauthorizedException());\n\t\t\tawait this.checkCredentials(password, accountPassword, account);\n\t\t}\n\n\t\tconst accountUserId = GuardAgainst.nullOrUndefined(\n\t\t\taccount.userId,\n\t\t\tnew Error(`login failing, because account ${account.id} has no userId`)\n\t\t);\n\t\tconst user = await this.userRepo.findById(accountUserId, true);\n\t\tconst currentUser = CurrentUserMapper.userToICurrentUser(account.id, user, false);\n\t\treturn currentUser;\n\t}\n\n\tprivate cleanupInput(username?: string, password?: string): { username: string; password: string } {\n\t\tusername = GuardAgainst.nullOrUndefined(username, new UnauthorizedException());\n\t\tpassword = GuardAgainst.nullOrUndefined(password, new UnauthorizedException());\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\t\treturn { username, password };\n\t}\n\n\tprivate async checkCredentials(\n\t\tenteredPassword: string,\n\t\tsavedPassword: string,\n\t\taccount: AccountDto\n\t): Promise {\n\t\tthis.authenticationService.checkBrutForce(account);\n\t\tif (!(await bcrypt.compare(enteredPassword, savedPassword))) {\n\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Loggable.html":{"url":"interfaces/Loggable.html","title":"interface - Loggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Loggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '../types';\n\nexport interface Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Logger.html":{"url":"injectables/Logger.html","title":"injectable - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logger.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n context\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n debug\n \n \n Public\n info\n \n \n Public\n notice\n \n \n Public\n setContext\n \n \n Public\n warning\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n debug\n \n \n \n \n \n \n \n debug(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n info\n \n \n \n \n \n \n \n info(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n notice\n \n \n \n \n \n \n \n notice(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setContext\n \n \n \n \n \n \n \n setContext(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n warning\n \n \n \n \n \n \n \n warning(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n context\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, Scope } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n@Injectable({ scope: Scope.TRANSIENT })\nexport class Logger {\n\tprivate context = '';\n\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\tpublic warning(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.warning(message);\n\t}\n\n\tpublic notice(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.notice(message);\n\t}\n\n\tpublic info(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.info(message);\n\t}\n\n\tpublic debug(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.debug(message);\n\t}\n\n\tpublic setContext(name: string) {\n\t\tthis.context = name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LoggerConfig.html":{"url":"interfaces/LoggerConfig.html","title":"interface - LoggerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LoggerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/logger-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface LoggerConfig {\n\tNEST_LOG_LEVEL: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LoggerModule.html":{"url":"modules/LoggerModule.html","title":"module - LoggerModule","body":"\n \n\n\n\n\n Modules\n LoggerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LoggerModule\n\n\n\ncluster_LoggerModule_providers\n\n\n\ncluster_LoggerModule_exports\n\n\n\n\nErrorLogger \n\nErrorLogger \n\n\n\nLegacyLogger \n\nLegacyLogger \n\n\n\nLogger \n\nLogger \n\n\n\nLoggerModule\n\nLoggerModule\n\nErrorLogger -->\n\nLoggerModule->ErrorLogger \n\n\n\nLegacyLogger -->\n\nLoggerModule->LegacyLogger \n\n\n\nLogger -->\n\nLoggerModule->Logger \n\n\n\n\n\nErrorLogger\n\nErrorLogger\n\nLoggerModule -->\n\nErrorLogger->LoggerModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLoggerModule -->\n\nLegacyLogger->LoggerModule\n\n\n\n\n\nLogger\n\nLogger\n\nLoggerModule -->\n\nLogger->LoggerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/logger/logger.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n Exports\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { utilities, WinstonModule } from 'nest-winston';\nimport winston from 'winston';\nimport { ErrorLogger } from './error-logger';\nimport { LoggerConfig } from './interfaces';\nimport { LegacyLogger } from './legacy-logger.service';\nimport { Logger } from './logger';\n\n@Module({\n\timports: [\n\t\tWinstonModule.forRootAsync({\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\treturn {\n\t\t\t\t\tlevels: winston.config.syslog.levels,\n\t\t\t\t\tlevel: configService.get('NEST_LOG_LEVEL'),\n\t\t\t\t\texitOnError: false,\n\t\t\t\t\ttransports: [\n\t\t\t\t\t\tnew winston.transports.Console({\n\t\t\t\t\t\t\thandleExceptions: true,\n\t\t\t\t\t\t\thandleRejections: true,\n\t\t\t\t\t\t\tformat: winston.format.combine(\n\t\t\t\t\t\t\t\twinston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss.SSS' }),\n\t\t\t\t\t\t\t\twinston.format.ms(),\n\t\t\t\t\t\t\t\tutilities.format.nestLike()\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t}),\n\t],\n\tproviders: [LegacyLogger, Logger, ErrorLogger],\n\texports: [LegacyLogger, Logger, ErrorLogger],\n})\nexport class LoggerModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoggingUtils.html":{"url":"classes/LoggingUtils.html","title":"class - LoggingUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoggingUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logging.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n Static\n isInstanceOfLoggable\n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n \n \n \n \n \n createMessageWithContext(loggable: Loggable, context?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n context\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : LogMessageWithContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isInstanceOfLoggable\n \n \n \n \n \n \n \n isInstanceOfLoggable(object: any)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n any\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n \n \n \n stringifyMessage(message)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n message\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import util from 'util';\nimport { Loggable } from './interfaces';\nimport { LogMessageWithContext } from './types';\n\nexport class LoggingUtils {\n\tstatic createMessageWithContext(loggable: Loggable, context?: string | undefined): LogMessageWithContext {\n\t\tconst message = loggable.getLogMessage();\n\t\tconst stringifiedMessage = this.stringifyMessage(message);\n\t\tconst messageWithContext = { message: stringifiedMessage, context };\n\t\treturn messageWithContext;\n\t}\n\n\tprivate static stringifyMessage(message: unknown): string {\n\t\tconst stringifiedMessage = util.inspect(message).replace(/\\n/g, '').replace(/\\\\n/g, '');\n\t\treturn stringifiedMessage;\n\t}\n\n\tstatic isInstanceOfLoggable(object: any): object is Loggable {\n\t\treturn 'getLogMessage' in object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LoginController.html":{"url":"controllers/LoginController.html","title":"controller - LoginController","body":"\n \n\n\n\n\n\n\n Controllers\n LoginController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/login.controller.ts\n \n\n \n Prefix\n \n \n authentication\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n loginLdap(user: ICurrentUser, _: LdapAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('ldap')@ApiOperation({summary: 'Starts the login process for users which are authenticated via LDAP'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LdapAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n loginLocal(user: ICurrentUser, _: LocalAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('local')@ApiOperation({summary: 'Starts the login process for users which are locally managed.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LocalAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n \n \n \n loginOauth2(user: OauthCurrentUser, _: Oauth2AuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('oauth2')@ApiOperation({summary: 'Starts the login process for users which are authenticated via OAuth 2.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n OauthCurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n Oauth2AuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, HttpCode, HttpStatus, Post, UseGuards } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { CurrentUser } from '../decorator';\nimport type { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { LoginDto } from '../uc/dto';\nimport { LoginUc } from '../uc/login.uc';\nimport {\n\tLdapAuthorizationBodyParams,\n\tLocalAuthorizationBodyParams,\n\tLoginResponse,\n\tOauth2AuthorizationBodyParams,\n\tOauthLoginResponse,\n} from './dto';\nimport { LoginResponseMapper } from './mapper/login-response.mapper';\n\n@ApiTags('Authentication')\n@Controller('authentication')\nexport class LoginController {\n\tconstructor(private readonly loginUc: LoginUc) {}\n\n\t@UseGuards(AuthGuard('ldap'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('ldap')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via LDAP' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLdap(@CurrentUser() user: ICurrentUser, @Body() _: LdapAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('local'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('local')\n\t@ApiOperation({ summary: 'Starts the login process for users which are locally managed.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLocal(@CurrentUser() user: ICurrentUser, @Body() _: LocalAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('oauth2'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('oauth2')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via OAuth 2.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\tasync loginOauth2(\n\t\t@CurrentUser() user: OauthCurrentUser,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t@Body() _: Oauth2AuthorizationBodyParams\n\t): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: OauthLoginResponse = LoginResponseMapper.mapToOauthLoginResponse(loginDto, user.externalIdToken);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginDto.html":{"url":"classes/LoginDto.html","title":"class - LoginDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/dto/login.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginDto)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LoginDto {\n\taccessToken: string;\n\n\tconstructor(props: LoginDto) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginRequestBody.html":{"url":"classes/LoginRequestBody.html","title":"class - LoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean, IsInt, IsOptional } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class LoginRequestBody extends OAuthRejectableBody {\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse.html":{"url":"classes/LoginResponse.html","title":"class - LoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class LoginResponse {\n\t@ApiProperty()\n\taccessToken: string;\n\n\tconstructor(props: LoginResponse) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse-1.html":{"url":"classes/LoginResponse-1.html","title":"class - LoginResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n client\n \n \n \n \n Optional\n client_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n session_id\n \n \n \n skip\n \n \n \n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loginResponse: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginResponse\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent login request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : OauthClientResponse | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Id of the corresponding client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The original oauth2.0 authorization url request by the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n Type : boolean | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'User id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:51\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\n\nexport class LoginResponse {\n\tconstructor(loginResponse: LoginResponse) {\n\t\tObject.assign(this, loginResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Id of the corresponding client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent login request.' })\n\tchallenge: string | undefined;\n\n\t@ApiProperty()\n\tclient: OauthClientResponse | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The original oauth2.0 authorization url request by the client.' })\n\trequest_url?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.',\n\t})\n\tsession_id?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip: boolean | undefined;\n\n\t@ApiProperty({ description: 'User id of the end-user that is authenticated.' })\n\tsubject: string | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponseMapper.html":{"url":"classes/LoginResponseMapper.html","title":"class - LoginResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n \n \n \n \n \n mapToLoginResponse(loginDto: LoginDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n \n \n \n mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthLoginResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LoginDto } from '../../uc/dto';\nimport { LoginResponse, OauthLoginResponse } from '../dto';\n\nexport class LoginResponseMapper {\n\tstatic mapToLoginResponse(loginDto: LoginDto): LoginResponse {\n\t\tconst response: LoginResponse = new LoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t});\n\n\t\treturn response;\n\t}\n\n\tstatic mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string): OauthLoginResponse {\n\t\tconst response: OauthLoginResponse = new OauthLoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t\texternalIdToken,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LoginUc.html":{"url":"injectables/LoginUc.html","title":"injectable - LoginUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LoginUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/login.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authService: AuthenticationService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n \n \n \n getLoginData(userInfo: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userInfo\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ICurrentUser } from '../interface';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LoginDto } from './dto';\n\n@Injectable()\nexport class LoginUc {\n\tconstructor(private readonly authService: AuthenticationService) {}\n\n\tasync getLoginData(userInfo: ICurrentUser): Promise {\n\t\tconst createJwtPayload: CreateJwtPayload = CurrentUserMapper.mapCurrentUserToCreateJwtPayload(userInfo);\n\n\t\tconst accessTokenDto: LoginDto = await this.authService.generateJwt(createJwtPayload);\n\n\t\tconst loginDto: LoginDto = new LoginDto({\n\t\t\taccessToken: accessTokenDto.accessToken,\n\t\t});\n\n\t\treturn loginDto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Lti11EncryptionService.html":{"url":"injectables/Lti11EncryptionService.html","title":"injectable - Lti11EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Lti11EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n sign\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n sign\n \n \n \n \n \n \n \n sign(key: string, secret: string, url: string, payload: Record)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n secret\n \n string\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n Record\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Authorization\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport CryptoJS from 'crypto-js';\nimport OAuth, { Authorization, RequestOptions } from 'oauth-1.0a';\n\n@Injectable()\nexport class Lti11EncryptionService {\n\tpublic sign(key: string, secret: string, url: string, payload: Record): Authorization {\n\t\tconst requestData: RequestOptions = {\n\t\t\turl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: payload,\n\t\t};\n\n\t\tconst consumer: OAuth = new OAuth({\n\t\t\tconsumer: {\n\t\t\t\tkey,\n\t\t\t\tsecret,\n\t\t\t},\n\t\t\tsignature_method: 'HMAC-SHA1',\n\t\t\thash_function: (base_string: string, hashKey: string) =>\n\t\t\t\tCryptoJS.HmacSHA1(base_string, hashKey).toString(CryptoJS.enc.Base64),\n\t\t});\n\n\t\tconst authorization: Authorization = consumer.authorize(requestData);\n\n\t\treturn authorization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfig.html":{"url":"classes/Lti11ToolConfig.html","title":"class - Lti11ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n launch_presentation_locale\n \n \n lti_message_type\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n secret\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class Lti11ToolConfig extends ExternalToolConfig {\n\tkey: string;\n\n\tsecret: string;\n\n\tresource_link_id?: string;\n\n\tlti_message_type: LtiMessageType;\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.LTI11,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigCreateParams.html":{"url":"classes/Lti11ToolConfigCreateParams.html","title":"class - Lti11ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tsecret!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigEntity.html":{"url":"classes/Lti11ToolConfigEntity.html","title":"class - Lti11ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n secret\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { LtiPrivacyPermission } from '@shared/domain/entity/ltitool.entity';\nimport { LtiMessageType, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.LTI11 })\nexport class Lti11ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tkey: string;\n\n\t@Property()\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum()\n\tlti_message_type: LtiMessageType;\n\n\t@Enum()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigResponse.html":{"url":"classes/Lti11ToolConfigResponse.html","title":"class - Lti11ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class Lti11ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tkey: string;\n\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@ApiProperty()\n\tlti_message_type: LtiMessageType;\n\n\t@ApiProperty()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@ApiProperty()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.key = props.key;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigUpdateParams.html":{"url":"classes/Lti11ToolConfigUpdateParams.html","title":"class - Lti11ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n Optional\n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tsecret?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiRoleMapper.html":{"url":"classes/LtiRoleMapper.html","title":"class - LtiRoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiRoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n \n \n \n mapRolesToLtiRoles(roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiRole[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\nimport { LtiRole } from '../../common/enum';\n\nconst RoleMapping: Partial> = {\n\t[RoleName.USER]: LtiRole.LEARNER,\n\t[RoleName.STUDENT]: LtiRole.LEARNER,\n\t[RoleName.TEACHER]: LtiRole.INSTRUCTOR,\n\t[RoleName.ADMINISTRATOR]: LtiRole.ADMINISTRATOR,\n\t[RoleName.SUPERHERO]: LtiRole.ADMINISTRATOR,\n};\n\nexport class LtiRoleMapper {\n\tpublic static mapRolesToLtiRoles(roleNames: RoleName[]): LtiRole[] {\n\t\tconst ltiRoles: (LtiRole | undefined)[] = roleNames.map((roleName: RoleName) => RoleMapping[roleName]);\n\n\t\tconst filterUndefined: LtiRole[] = ltiRoles.filter(\n\t\t\t(ltiRole: LtiRole | undefined): ltiRole is LtiRole => ltiRole !== undefined\n\t\t);\n\n\t\treturn filterUndefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LtiTool.html":{"url":"entities/LtiTool.html","title":"entity - LtiTool","body":"\n \n\n\n\n\n\n\n\n Entities\n LtiTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n customs\n \n \n \n \n Optional\n friendlyUrl\n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n isHidden\n \n \n \n Optional\n isLocal\n \n \n \n isTemplate\n \n \n \n key\n \n \n \n Optional\n logo_url\n \n \n \n Optional\n lti_message_type\n \n \n \n Optional\n lti_version\n \n \n \n name\n \n \n \n Optional\n oAuthClientId\n \n \n \n openNewTab\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n \n Optional\n roles\n \n \n \n secret\n \n \n \n Optional\n skipConsent\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'originTool'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiProperty[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum({items: () => LtiPrivacyPermission, default: undefined, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({array: true, items: () => LtiRoleType})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: 'none'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:92\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:36\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolDO.html":{"url":"classes/LtiToolDO.html","title":"class - LtiToolDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n customs\n \n \n Optional\n friendlyUrl\n \n \n Optional\n frontchannel_logout_uri\n \n \n isHidden\n \n \n Optional\n isLocal\n \n \n isTemplate\n \n \n key\n \n \n Optional\n logo_url\n \n \n Optional\n lti_message_type\n \n \n Optional\n lti_version\n \n \n name\n \n \n Optional\n oAuthClientId\n \n \n openNewTab\n \n \n Optional\n originToolId\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n roles\n \n \n secret\n \n \n Optional\n skipConsent\n \n \n url\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: LtiToolDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n LtiToolDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiPropertyDO[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n originToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolFactory.html":{"url":"classes/LtiToolFactory.html","title":"class - LtiToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/ltitool.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withName\n \n \n withOauthClientId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthClientId\n \n \n \n \n \n \nwithOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomLtiPropertyDO } from '@shared/domain/domainobject/ltitool.do';\nimport { ILtiToolProperties, LtiPrivacyPermission, LtiRoleType, LtiTool } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { DeepPartial } from 'fishery';\n\nclass LtiToolFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauthClientId(oAuthClientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\toAuthClientId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const ltiToolFactory = LtiToolFactory.define(LtiTool, ({ sequence }) => {\n\treturn {\n\t\tname: `ltiTool-${sequence}`,\n\t\tisLocal: true,\n\t\toAuthClientId: 'clientId',\n\t\tsecret: 'secret',\n\t\tcustoms: [new CustomLtiPropertyDO('key', 'value')],\n\t\tisHidden: false,\n\t\tisTemplate: false,\n\t\tkey: 'key',\n\t\topenNewTab: false,\n\t\toriginToolId: 'originToolId',\n\t\tprivacy_permission: LtiPrivacyPermission.NAME,\n\t\troles: [LtiRoleType.INSTRUCTOR, LtiRoleType.LEARNER],\n\t\turl: 'url',\n\t\tfriendlyUrl: 'friendlyUrl',\n\t\tfrontchannel_logout_uri: 'frontchannel_logout_uri',\n\t\tlogo_url: 'logo_url',\n\t\tlti_message_type: 'lti_message_type',\n\t\tlti_version: 'lti_version',\n\t\tresource_link_id: 'resource_link_id',\n\t\tskipConsent: true,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LtiToolModule.html":{"url":"modules/LtiToolModule.html","title":"module - LtiToolModule","body":"\n \n\n\n\n\n Modules\n LtiToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LtiToolModule\n\n\n\ncluster_LtiToolModule_providers\n\n\n\ncluster_LtiToolModule_exports\n\n\n\n\nLtiToolService \n\nLtiToolService \n\n\n\nLtiToolModule\n\nLtiToolModule\n\nLtiToolService -->\n\nLtiToolModule->LtiToolService \n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLtiToolModule -->\n\nLegacyLogger->LtiToolModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nLtiToolModule -->\n\nLtiToolRepo->LtiToolModule\n\n\n\n\n\nLtiToolService\n\nLtiToolService\n\nLtiToolModule -->\n\nLtiToolService->LtiToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lti-tool/lti-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacyLogger\n \n \n LtiToolRepo\n \n \n LtiToolService\n \n \n \n \n Exports\n \n \n LtiToolService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { LtiToolService } from './service';\n\n@Module({\n\tproviders: [LtiToolService, LtiToolRepo, LegacyLogger],\n\texports: [LtiToolService],\n})\nexport class LtiToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolRepo.html":{"url":"injectables/LtiToolRepo.html","title":"injectable - LtiToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/ltitool/ltitool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n Async\n findByName\n \n \n Async\n findByOauthClientId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOauthClientId\n \n \n \n \n \n \n \n findByOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: LtiToolDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: LtiTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n LtiTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiToolDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, NotFoundError } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiPrivacyPermission, LtiTool } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\n@Injectable()\nexport class LtiToolRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn LtiTool;\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entities: LtiTool[] = await this._em.find(LtiTool, { name });\n\t\tif (entities.length === 0) {\n\t\t\tthrow new NotFoundError(`LtiTool with ${name} was not found.`);\n\t\t}\n\t\tconst dos: LtiToolDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync findByOauthClientId(oAuthClientId: string): Promise {\n\t\tconst entity = await this._em.findOneOrFail(LtiTool, { oAuthClientId });\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tasync findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean): Promise {\n\t\tconst entity: LtiTool | null = await this._em.findOne(LtiTool, { oAuthClientId, isLocal });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: LtiToolDO = this.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDO(entity: LtiTool): LtiToolDO {\n\t\treturn new LtiToolDO({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tkey: entity.key,\n\t\t\tsecret: entity.secret,\n\t\t\tlogo_url: entity.logo_url,\n\t\t\tlti_message_type: entity.lti_message_type,\n\t\t\tlti_version: entity.lti_version,\n\t\t\tresource_link_id: entity.resource_link_id,\n\t\t\troles: entity.roles || [],\n\t\t\tprivacy_permission: entity.privacy_permission || LtiPrivacyPermission.ANONYMOUS,\n\t\t\tcustoms: entity.customs,\n\t\t\tisTemplate: entity.isTemplate,\n\t\t\tisLocal: entity.isLocal,\n\t\t\toriginToolId: entity.originToolId,\n\t\t\toAuthClientId: entity.oAuthClientId,\n\t\t\tfriendlyUrl: entity.friendlyUrl,\n\t\t\tskipConsent: entity.skipConsent,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tfrontchannel_logout_uri: entity.frontchannel_logout_uri,\n\t\t\tisHidden: entity.isHidden,\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: LtiToolDO): EntityData {\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tkey: entityDO.key,\n\t\t\tsecret: entityDO.secret,\n\t\t\tlogo_url: entityDO.logo_url,\n\t\t\tlti_message_type: entityDO.lti_message_type,\n\t\t\tlti_version: entityDO.lti_version,\n\t\t\tresource_link_id: entityDO.resource_link_id,\n\t\t\troles: entityDO.roles,\n\t\t\tprivacy_permission: entityDO.privacy_permission,\n\t\t\tcustoms: entityDO.customs,\n\t\t\tisTemplate: entityDO.isTemplate,\n\t\t\tisLocal: entityDO.isLocal,\n\t\t\toriginToolId: entityDO.originToolId,\n\t\t\toAuthClientId: entityDO.oAuthClientId,\n\t\t\tfriendlyUrl: entityDO.friendlyUrl,\n\t\t\tskipConsent: entityDO.skipConsent,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tfrontchannel_logout_uri: entityDO.frontchannel_logout_uri,\n\t\t\tisHidden: entityDO.isHidden,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolService.html":{"url":"injectables/LtiToolService.html","title":"injectable - LtiToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lti-tool/service/lti-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolRepo: LtiToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(clientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo';\n\n@Injectable()\nexport class LtiToolService {\n\tconstructor(private readonly ltiToolRepo: LtiToolRepo) {}\n\n\tpublic async findByClientIdAndIsLocal(clientId: string, isLocal: boolean): Promise {\n\t\tconst ltiTool: Promise = this.ltiToolRepo.findByClientIdAndIsLocal(clientId, isLocal);\n\n\t\treturn ltiTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LumiUserWithContentData.html":{"url":"classes/LumiUserWithContentData.html","title":"class - LumiUserWithContentData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LumiUserWithContentData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Implements\n \n \n IUser\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n canCreateRestricted\n \n \n canInstallRecommended\n \n \n canUpdateAndInstallLibraries\n \n \n contentParentId\n \n \n contentParentType\n \n \n email\n \n \n id\n \n \n name\n \n \n schoolId\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: IUser, parentParams: H5PContentParentParams)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n IUser\n \n \n \n No\n \n \n \n \n parentParams\n \n \n H5PContentParentParams\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n canCreateRestricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n canInstallRecommended\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n canUpdateAndInstallLibraries\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : \"local\" | string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Mail.html":{"url":"interfaces/Mail.html","title":"interface - Mail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Mail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bcc\n \n \n \n Optional\n \n cc\n \n \n \n Optional\n \n from\n \n \n \n \n mail\n \n \n \n \n recipients\n \n \n \n Optional\n \n replyTo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bcc\n \n \n \n \n \n \n \n \n bcc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cc\n \n \n \n \n \n \n \n \n cc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mail\n \n \n \n \n \n \n \n \n mail: PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n \n \n Type : PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recipients\n \n \n \n \n \n \n \n \n recipients: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n replyTo\n \n \n \n \n \n \n \n \n replyTo: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailAttachment.html":{"url":"interfaces/MailAttachment.html","title":"interface - MailAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n base64Content\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n base64Content\n \n \n \n \n \n \n \n \n base64Content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailConfig.html":{"url":"interfaces/MailConfig.html","title":"interface - MailConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/interfaces/mail-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n BLOCKLIST_OF_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n BLOCKLIST_OF_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n BLOCKLIST_OF_EMAIL_DOMAINS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MailConfig {\n\tBLOCKLIST_OF_EMAIL_DOMAINS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailContent.html":{"url":"interfaces/MailContent.html","title":"interface - MailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n attachments\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attachments\n \n \n \n \n \n \n \n \n attachments: (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n\n \n \n Type : (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MailModule.html":{"url":"modules/MailModule.html","title":"module - MailModule","body":"\n \n\n\n\n\n Modules\n MailModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: MailModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MailModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailModuleOptions.html":{"url":"interfaces/MailModuleOptions.html","title":"interface - MailModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MailService.html":{"url":"injectables/MailService.html","title":"injectable - MailService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MailService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n Private\n getMailDomain\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: MailServiceOptions, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n MailServiceOptions\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n \n \n \n \n \n filterEmailAdresses(mails: string[] | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mails\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : [] | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getMailDomain\n \n \n \n \n \n \n \n getMailDomain(mail: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mail\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(data: Mail)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n Mail\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('BLOCKLIST_OF_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailServiceOptions.html":{"url":"interfaces/MailServiceOptions.html","title":"interface - MailServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('BLOCKLIST_OF_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementModule.html":{"url":"modules/ManagementModule.html","title":"module - ManagementModule","body":"\n \n\n\n\n\n Modules\n ManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementModule\n\n\n\ncluster_ManagementModule_providers\n\n\n\n\nBoardManagementUc\n\nBoardManagementUc\n\n\n\nManagementModule\n\nManagementModule\n\nManagementModule -->\n\nBoardManagementUc->ManagementModule\n\n\n\n\n\nBsonConverter\n\nBsonConverter\n\nManagementModule -->\n\nBsonConverter->ManagementModule\n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nManagementModule -->\n\nConsoleWriterService->ManagementModule\n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nManagementModule -->\n\nDatabaseManagementService->ManagementModule\n\n\n\n\n\nDatabaseManagementUc\n\nDatabaseManagementUc\n\nManagementModule -->\n\nDatabaseManagementUc->ManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardManagementUc\n \n \n BsonConverter\n \n \n ConsoleWriterService\n \n \n DatabaseManagementService\n \n \n DatabaseManagementUc\n \n \n \n \n Controllers\n \n \n DatabaseManagementController\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementModule, DatabaseManagementService } from '@infra/database';\nimport { EncryptionModule } from '@infra/encryption';\nimport { FileSystemModule } from '@infra/file-system';\nimport { KeycloakConfigurationModule } from '@infra/identity-management/keycloak-configuration/keycloak-configuration.module';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { serverConfig } from '@modules/server';\nimport { BoardManagementConsole } from './console/board-management.console';\nimport { DatabaseManagementConsole } from './console/database-management.console';\nimport { DatabaseManagementController } from './controller/database-management.controller';\nimport { BsonConverter } from './converter/bson.converter';\nimport { BoardManagementUc } from './uc/board-management.uc';\nimport { DatabaseManagementUc } from './uc/database-management.uc';\n\nconst baseImports = [\n\tFileSystemModule,\n\tDatabaseManagementModule,\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tEncryptionModule,\n];\n\nconst imports = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t? [...baseImports, KeycloakConfigurationModule]\n\t: baseImports;\n\nconst providers = [\n\tDatabaseManagementUc,\n\tDatabaseManagementService,\n\tBsonConverter,\n\t// console providers\n\tDatabaseManagementConsole,\n\t// infra services\n\tConsoleWriterService,\n\tBoardManagementConsole,\n\tBoardManagementUc,\n];\n\nconst controllers = [DatabaseManagementController];\n\n@Module({\n\timports: [...imports],\n\tproviders,\n\tcontrollers,\n})\nexport class ManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerModule.html":{"url":"modules/ManagementServerModule.html","title":"module - ManagementServerModule","body":"\n \n\n\n\n\n Modules\n ManagementServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerModule\n\n\n\ncluster_ManagementServerModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerModule\n\nManagementServerModule\n\nManagementServerModule -->\n\nManagementModule->ManagementServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerTestModule.html":{"url":"modules/ManagementServerTestModule.html","title":"module - ManagementServerTestModule","body":"\n \n\n\n\n\n Modules\n ManagementServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerTestModule\n\n\n\ncluster_ManagementServerTestModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerTestModule\n\nManagementServerTestModule\n\nManagementServerTestModule -->\n\nManagementModule->ManagementServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nManagementServerTestModule -->\n\nMongoMemoryDatabaseModule->ManagementServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n MongoMemoryDatabaseModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/management-server.module.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Material.html":{"url":"entities/Material.html","title":"entity - Material","body":"\n \n\n\n\n\n\n\n\n Entities\n Material\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n description\n \n \n \n license\n \n \n \n Optional\n merlinReference\n \n \n \n relatedResources\n \n \n \n subjects\n \n \n \n tags\n \n \n \n targetGroups\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n merlinReference\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n Type : RelatedResourceProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n Type : TargetGroupProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MaterialFactory.html":{"url":"classes/MaterialFactory.html","title":"class - MaterialFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MaterialFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/material.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Material, MaterialProperties } from '@shared/domain/entity/materials.entity';\nimport { BaseFactory } from './base.factory';\n\nclass MaterialFactory extends BaseFactory {}\n\nexport const materialFactory = MaterialFactory.define(Material, ({ sequence }) => {\n\treturn {\n\t\tclient: 'test material client',\n\t\tdescription: 'test material description',\n\t\tlicense: [],\n\t\tmerlinReference: '',\n\t\trelatedResources: [],\n\t\tsubjects: [],\n\t\ttags: [],\n\t\ttargetGroups: [],\n\t\ttitle: `material #${sequence}`,\n\t\turl: 'test material url',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MaterialProperties.html":{"url":"interfaces/MaterialProperties.html","title":"interface - MaterialProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MaterialProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n \n description\n \n \n \n \n license\n \n \n \n Optional\n \n merlinReference\n \n \n \n \n relatedResources\n \n \n \n \n subjects\n \n \n \n \n tags\n \n \n \n \n targetGroups\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n \n \n license: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n merlinReference\n \n \n \n \n \n \n \n \n merlinReference: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n \n \n relatedResources: RelatedResourceProperties[]\n\n \n \n\n\n \n \n Type : RelatedResourceProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n \n \n subjects: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n \n \n tags: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n \n \n targetGroups: TargetGroupProperties[]\n\n \n \n\n\n \n \n Type : TargetGroupProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MaterialsRepo.html":{"url":"injectables/MaterialsRepo.html","title":"injectable - MaterialsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MaterialsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/materials/materials.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/materials/materials.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Material } from '@shared/domain/entity/materials.entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class MaterialsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Material;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Meta.html":{"url":"interfaces/Meta.html","title":"interface - Meta","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Meta\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n itemsperpage\n \n \n \n \n message\n \n \n \n \n status\n \n \n \n \n statuscode\n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n itemsperpage\n \n \n \n \n \n \n \n \n itemsperpage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statuscode\n \n \n \n \n \n \n \n \n statuscode: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n totalitems: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorApiModule.html":{"url":"modules/MetaTagExtractorApiModule.html","title":"module - MetaTagExtractorApiModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorApiModule\n\n\n\ncluster_MetaTagExtractorApiModule_imports\n\n\n\ncluster_MetaTagExtractorApiModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule -->\n\nLoggerModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorUc\n\nMetaTagExtractorUc\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorUc->MetaTagExtractorApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MetaTagExtractorUc\n \n \n \n \n Controllers\n \n \n MetaTagExtractorController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n MetaTagExtractorModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { MetaTagExtractorController } from './controller';\nimport { MetaTagExtractorModule } from './meta-tag-extractor.module';\nimport { MetaTagExtractorUc } from './uc';\n\n@Module({\n\timports: [MetaTagExtractorModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [MetaTagExtractorController],\n\tproviders: [MetaTagExtractorUc],\n})\nexport class MetaTagExtractorApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/MetaTagExtractorController.html":{"url":"controllers/MetaTagExtractorController.html","title":"controller - MetaTagExtractorController","body":"\n \n\n\n\n\n\n\n Controllers\n MetaTagExtractorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts\n \n\n \n Prefix\n \n \n meta-tag-extractor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n \n \n \n getMetaTags(currentUser: ICurrentUser, bodyParams: GetMetaTagDataBody)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'return extract meta tags'})@ApiResponse({status: 201, type: MetaTagExtractorResponse})@ApiResponse({status: 401, type: UnauthorizedException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post('')\n \n \n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n GetMetaTagDataBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, InternalServerErrorException, Post, UnauthorizedException } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { MetaTagExtractorUc } from '../uc';\nimport { MetaTagExtractorResponse } from './dto';\nimport { GetMetaTagDataBody } from './post-link-url.body.params';\n\n@ApiTags('Meta Tag Extractor')\n@Authenticate('jwt')\n@Controller('meta-tag-extractor')\nexport class MetaTagExtractorController {\n\tconstructor(private readonly metaTagExtractorUc: MetaTagExtractorUc) {}\n\n\t@ApiOperation({ summary: 'return extract meta tags' })\n\t@ApiResponse({ status: 201, type: MetaTagExtractorResponse })\n\t@ApiResponse({ status: 401, type: UnauthorizedException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post('')\n\tasync getMetaTags(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() bodyParams: GetMetaTagDataBody\n\t): Promise {\n\t\tconst result = await this.metaTagExtractorUc.getMetaData(currentUser.userId, bodyParams.url);\n\t\tconst imageUrl = result.image?.url;\n\t\tconst response = new MetaTagExtractorResponse({ ...result, imageUrl });\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorModule.html":{"url":"modules/MetaTagExtractorModule.html","title":"module - MetaTagExtractorModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorModule\n\n\n\ncluster_MetaTagExtractorModule_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\nBoardModule\n\nBoardModule\n\nMetaTagExtractorModule -->\n\nBoardModule->MetaTagExtractorModule\n\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nMetaTagExtractorModule -->\n\nConsoleWriterModule->MetaTagExtractorModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nMetaTagExtractorModule -->\n\nLearnroomModule->MetaTagExtractorModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nMetaTagExtractorModule -->\n\nLessonModule->MetaTagExtractorModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nMetaTagExtractorModule -->\n\nLoggerModule->MetaTagExtractorModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nMetaTagExtractorModule -->\n\nTaskModule->MetaTagExtractorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nMetaTagExtractorModule -->\n\nUserModule->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService \n\nMetaTagExtractorService \n\nMetaTagExtractorService -->\n\nMetaTagExtractorModule->MetaTagExtractorService \n\n\n\n\n\nBoardUrlHandler\n\nBoardUrlHandler\n\nMetaTagExtractorModule -->\n\nBoardUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nCourseUrlHandler\n\nCourseUrlHandler\n\nMetaTagExtractorModule -->\n\nCourseUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nLessonUrlHandler\n\nLessonUrlHandler\n\nMetaTagExtractorModule -->\n\nLessonUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService\n\nMetaTagExtractorService\n\nMetaTagExtractorModule -->\n\nMetaTagExtractorService->MetaTagExtractorModule\n\n\n\n\n\nMetaTagInternalUrlService\n\nMetaTagInternalUrlService\n\nMetaTagExtractorModule -->\n\nMetaTagInternalUrlService->MetaTagExtractorModule\n\n\n\n\n\nTaskUrlHandler\n\nTaskUrlHandler\n\nMetaTagExtractorModule -->\n\nTaskUrlHandler->MetaTagExtractorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUrlHandler\n \n \n CourseUrlHandler\n \n \n LessonUrlHandler\n \n \n MetaTagExtractorService\n \n \n MetaTagInternalUrlService\n \n \n TaskUrlHandler\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n BoardModule\n \n \n ConsoleWriterModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MetaTagExtractorService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { LessonModule } from '../lesson';\nimport { TaskModule } from '../task';\nimport { UserModule } from '../user';\nimport metaTagExtractorConfig from './meta-tag-extractor.config';\nimport { MetaTagExtractorService } from './service';\nimport { MetaTagInternalUrlService } from './service/meta-tag-internal-url.service';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './service/url-handler';\n\n@Module({\n\timports: [\n\t\tAuthenticationModule,\n\t\tBoardModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tLoggerModule,\n\t\tTaskModule,\n\t\tUserModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(metaTagExtractorConfig)),\n\t],\n\tproviders: [\n\t\tMetaTagExtractorService,\n\t\tMetaTagInternalUrlService,\n\t\tTaskUrlHandler,\n\t\tLessonUrlHandler,\n\t\tCourseUrlHandler,\n\t\tBoardUrlHandler,\n\t],\n\texports: [MetaTagExtractorService],\n})\nexport class MetaTagExtractorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetaTagExtractorResponse.html":{"url":"classes/MetaTagExtractorResponse.html","title":"class - MetaTagExtractorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetaTagExtractorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n Optional\n imageUrl\n \n \n \n \n Optional\n parentTitle\n \n \n \n \n Optional\n parentType\n \n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: MetaTagExtractorResponse)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n MetaTagExtractorResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentType\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsUrl()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsString, IsUrl } from 'class-validator';\nimport { MetaDataEntityType } from '../../types';\n\nexport class MetaTagExtractorResponse {\n\tconstructor({ url, title, description, imageUrl, type, parentTitle, parentType }: MetaTagExtractorResponse) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t\tthis.type = type;\n\t\tthis.parentTitle = parentTitle;\n\t\tthis.parentType = parentType;\n\t}\n\n\t@ApiProperty()\n\t@IsUrl()\n\turl!: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\timageUrl?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\ttype: MetaDataEntityType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentTitle?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\tparentType?: MetaDataEntityType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorService.html":{"url":"injectables/MetaTagExtractorService.html","title":"injectable - MetaTagExtractorService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n Async\n getMetaData\n \n \n Private\n pickImage\n \n \n Private\n Async\n tryExtractMetaTags\n \n \n Private\n tryFilenameAsFallback\n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(internalLinkMataTagService: MetaTagInternalUrlService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n internalLinkMataTagService\n \n \n MetaTagInternalUrlService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n \n \n \n \n \n getDefaultMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n pickImage\n \n \n \n \n \n \n \n pickImage(images: ImageObject[], minWidth: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n images\n \n ImageObject[]\n \n\n \n No\n \n\n \n \n\n \n \n minWidth\n \n number\n \n\n \n No\n \n\n \n 400\n \n\n \n \n \n \n \n Returns : ImageObject | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryExtractMetaTags\n \n \n \n \n \n \n \n tryExtractMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n tryFilenameAsFallback\n \n \n \n \n \n \n \n tryFilenameAsFallback(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport ogs from 'open-graph-scraper';\nimport { ImageObject } from 'open-graph-scraper/dist/lib/types';\nimport { basename } from 'path';\nimport type { MetaData } from '../types';\nimport { MetaTagInternalUrlService } from './meta-tag-internal-url.service';\n\n@Injectable()\nexport class MetaTagExtractorService {\n\tconstructor(private readonly internalLinkMataTagService: MetaTagInternalUrlService) {}\n\n\tasync getMetaData(url: string): Promise {\n\t\tif (url.length === 0) {\n\t\t\tthrow new Error(`MetaTagExtractorService requires a valid URL. Given URL: ${url}`);\n\t\t}\n\n\t\tconst metaData =\n\t\t\t(await this.tryInternalLinkMetaTags(url)) ??\n\t\t\t(await this.tryExtractMetaTags(url)) ??\n\t\t\tthis.tryFilenameAsFallback(url) ??\n\t\t\tthis.getDefaultMetaData(url);\n\n\t\treturn metaData;\n\t}\n\n\tprivate async tryInternalLinkMetaTags(url: string): Promise {\n\t\treturn this.internalLinkMataTagService.tryInternalLinkMetaTags(url);\n\t}\n\n\tprivate async tryExtractMetaTags(url: string): Promise {\n\t\ttry {\n\t\t\tconst data = await ogs({ url, fetchOptions: { headers: { 'User-Agent': 'Open Graph Scraper' } } });\n\n\t\t\tconst title = data.result?.ogTitle ?? '';\n\t\t\tconst description = data.result?.ogDescription ?? '';\n\t\t\tconst image = data.result?.ogImage ? this.pickImage(data?.result?.ogImage) : undefined;\n\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription,\n\t\t\t\timage,\n\t\t\t\turl,\n\t\t\t\ttype: 'external',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate tryFilenameAsFallback(url: string): MetaData | undefined {\n\t\ttry {\n\t\t\tconst urlObject = new URL(url);\n\t\t\tconst title = basename(urlObject.pathname);\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription: '',\n\t\t\t\turl,\n\t\t\t\ttype: 'unknown',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate getDefaultMetaData(url: string): MetaData {\n\t\treturn { url, title: '', description: '', type: 'unknown' };\n\t}\n\n\tprivate pickImage(images: ImageObject[], minWidth = 400): ImageObject | undefined {\n\t\tconst sortedImages = [...images];\n\t\tsortedImages.sort((a, b) => (a.width && b.width ? Number(a.width) - Number(b.width) : 0));\n\t\tconst smallestBigEnoughImage = sortedImages.find((i) => i.width && i.width >= minWidth);\n\t\tconst fallbackImage = images[0] && images[0].width === undefined ? images[0] : undefined;\n\t\treturn smallestBigEnoughImage ?? fallbackImage;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorUc.html":{"url":"injectables/MetaTagExtractorUc.html","title":"injectable - MetaTagExtractorUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, metaTagExtractorService: MetaTagExtractorService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n metaTagExtractorService\n \n \n MetaTagExtractorService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(userId: EntityId, url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { MetaTagExtractorService } from '../service';\nimport { MetaData } from '../types';\n\n@Injectable()\nexport class MetaTagExtractorUc {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly metaTagExtractorService: MetaTagExtractorService\n\t) {}\n\n\tasync getMetaData(userId: EntityId, url: string): Promise {\n\t\ttry {\n\t\t\tawait this.authorizationService.getUserWithPermissions(userId);\n\t\t} catch (error) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\tconst result = await this.metaTagExtractorService.getMetaData(url);\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagInternalUrlService.html":{"url":"injectables/MetaTagInternalUrlService.html","title":"injectable - MetaTagInternalUrlService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagInternalUrlService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n isInternalUrl\n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskUrlHandler: TaskUrlHandler, lessonUrlHandler: LessonUrlHandler, courseUrlHandler: CourseUrlHandler, boardUrlHandler: BoardUrlHandler)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskUrlHandler\n \n \n TaskUrlHandler\n \n \n \n No\n \n \n \n \n lessonUrlHandler\n \n \n LessonUrlHandler\n \n \n \n No\n \n \n \n \n courseUrlHandler\n \n \n CourseUrlHandler\n \n \n \n No\n \n \n \n \n boardUrlHandler\n \n \n BoardUrlHandler\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n \n \n \n \n \n composeMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isInternalUrl\n \n \n \n \n \n \nisInternalUrl(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n \n \n Type : UrlHandler[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../interface/url-handler';\nimport { MetaData } from '../types';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './url-handler';\n\n@Injectable()\nexport class MetaTagInternalUrlService {\n\tprivate handlers: UrlHandler[] = [];\n\n\tconstructor(\n\t\tprivate readonly taskUrlHandler: TaskUrlHandler,\n\t\tprivate readonly lessonUrlHandler: LessonUrlHandler,\n\t\tprivate readonly courseUrlHandler: CourseUrlHandler,\n\t\tprivate readonly boardUrlHandler: BoardUrlHandler\n\t) {\n\t\tthis.handlers = [this.taskUrlHandler, this.lessonUrlHandler, this.courseUrlHandler, this.boardUrlHandler];\n\t}\n\n\tasync tryInternalLinkMetaTags(url: string): Promise {\n\t\tif (this.isInternalUrl(url)) {\n\t\t\treturn this.composeMetaTags(url);\n\t\t}\n\t\treturn Promise.resolve(undefined);\n\t}\n\n\tisInternalUrl(url: string) {\n\t\tlet domain = Configuration.get('SC_DOMAIN') as string;\n\t\tdomain = domain === '' ? 'nothing-configured-for-internal-url.de' : domain;\n\t\tconst isInternal = url.toLowerCase().includes(domain.toLowerCase());\n\t\treturn isInternal;\n\t}\n\n\tprivate async composeMetaTags(url: string): Promise {\n\t\tconst urlObject = new URL(url);\n\n\t\tconst handler = this.handlers.find((h) => h.doesUrlMatch(url));\n\t\tif (handler) {\n\t\t\tconst result = await handler.getMetaData(url);\n\t\t\treturn result;\n\t\t}\n\n\t\tconst title = urlObject.pathname;\n\t\treturn Promise.resolve({\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetadataTypeMapper.html":{"url":"classes/MetadataTypeMapper.html","title":"class - MetadataTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetadataTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n \n \n \n mapToAlloweMetadataType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LearnroomTypes\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { LearnroomTypes } from '@shared/domain/types';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class MetadataTypeMapper {\n\tstatic mapToAlloweMetadataType(type: ShareTokenParentType): LearnroomTypes {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, LearnroomTypes.Course);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationAlreadyActivatedException.html":{"url":"classes/MigrationAlreadyActivatedException.html","title":"class - MigrationAlreadyActivatedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationAlreadyActivatedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:33\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MigrationCheckService.html":{"url":"injectables/MigrationCheckService.html","title":"injectable - MigrationCheckService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MigrationCheckService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/migration-check.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n Private\n isUserMigrated\n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, schoolService: LegacySchoolService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n \n \n \n \n \n isMigrationActive(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserMigrated\n \n \n \n \n \n \n \n isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO | null\n \n\n \n No\n \n\n\n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n \n \n \n shouldUserMigrate(externalUserId: string, systemId: EntityId, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\n\n@Injectable()\nexport class MigrationCheckService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async shouldUserMigrate(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school?.id) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(school.id);\n\n\t\tif (!userLoginMigration || !this.isMigrationActive(userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (this.isUserMigrated(user, userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn (\n\t\t\t!!user && user.lastLoginSystemChange !== undefined && user.lastLoginSystemChange > userLoginMigration.startedAt\n\t\t);\n\t}\n\n\tprivate isMigrationActive(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn !userLoginMigration.closedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationDto.html":{"url":"classes/MigrationDto.html","title":"class - MigrationDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationDto: MigrationDto)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationDto\n \n \n MigrationDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MigrationDto {\n\tredirect: string;\n\n\tconstructor(userMigrationDto: MigrationDto) {\n\t\tthis.redirect = userMigrationDto.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayBeCompleted.html":{"url":"classes/MigrationMayBeCompleted.html","title":"class - MigrationMayBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may have already been completed or the school may not yet be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayNotBeCompleted.html":{"url":"classes/MigrationMayNotBeCompleted.html","title":"class - MigrationMayNotBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayNotBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayNotBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may not be yet complete or the school may not be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MigrationOptions.html":{"url":"interfaces/MigrationOptions.html","title":"interface - MigrationOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MigrationOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n query\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n verbose\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n query\n \n \n \n \n \n \n \n \n query: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n verbose\n \n \n \n \n \n \n \n \n verbose: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingSchoolNumberException.html":{"url":"classes/MissingSchoolNumberException.html","title":"class - MissingSchoolNumberException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingSchoolNumberException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingToolParameterValueLoggableException.html":{"url":"classes/MissingToolParameterValueLoggableException.html","title":"class - MissingToolParameterValueLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingToolParameterValueLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalTool: ContextExternalTool, parameters: CustomParameter[])\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n \n ContextExternalTool\n \n \n \n No\n \n \n \n \n parameters\n \n \n CustomParameter[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:26\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { CustomParameter } from '../../common/domain';\n\nexport class MissingToolParameterValueLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly contextExternalTool: ContextExternalTool,\n\t\tprivate readonly parameters: CustomParameter[]\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'MISSING_TOOL_PARAMETER_VALUE',\n\t\t\t\ttitle: 'Missing tool parameter value',\n\t\t\t\tdefaultMessage: 'The external tool was attempted to launch, but a parameter was not configured.',\n\t\t\t},\n\t\t\tHttpStatus.UNPROCESSABLE_ENTITY,\n\t\t\t{\n\t\t\t\tparameterKeys: parameters.map((param): string => param.name),\n\t\t\t\tparameterNames: parameters.map((param): string => param.displayName),\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst parameterNames: string[] = this.parameters.map((param): string => param.name);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tcontextExternalToolId: this.contextExternalTool.id,\n\t\t\t\tparameterNames: `[${parameterNames.join(', ')}]`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MongoMemoryDatabaseModule.html":{"url":"modules/MongoMemoryDatabaseModule.html","title":"module - MongoMemoryDatabaseModule","body":"\n \n\n\n\n\n Modules\n MongoMemoryDatabaseModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:42\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleAsyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Inject, Module, OnModuleDestroy } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport _ from 'lodash';\nimport { MongoDatabaseModuleOptions } from './types';\n\nconst dbName = () => _.times(20, () => _.random(35).toString(36)).join('');\n\nconst createMikroOrmModule = (options: MikroOrmModuleAsyncOptions): DynamicModule => {\n\tconst mikroOrmModule = MikroOrmModule.forRootAsync({\n\t\tuseFactory: () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, no-process-env\n\t\t\tconst clientUrl = `${process.env.MONGO_TEST_URI}/${dbName()}`;\n\t\t\treturn {\n\t\t\t\tallowGlobalContext: true, // can be overridden by options\n\t\t\t\t...options,\n\t\t\t\ttype: 'mongo',\n\t\t\t\tclientUrl,\n\t\t\t};\n\t\t},\n\t});\n\n\treturn mikroOrmModule;\n};\n\n@Module({})\nexport class MongoMemoryDatabaseModule implements OnModuleDestroy {\n\tconstructor(@Inject(MikroORM) private orm: MikroORM) {}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\tconst defaultOptions = {\n\t\t\tentities: ALL_ENTITIES,\n\t\t};\n\t\treturn {\n\t\t\tmodule: MongoMemoryDatabaseModule,\n\t\t\timports: [createMikroOrmModule({ ...defaultOptions, ...options })],\n\t\t\texports: [MikroOrmModule],\n\t\t};\n\t}\n\n\tasync onModuleDestroy(): Promise {\n\t\tawait this.orm.close();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MongoPatterns.html":{"url":"classes/MongoPatterns.html","title":"class - MongoPatterns","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MongoPatterns\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/mongo.patterns.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n \n \n Default value : /[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi\n \n \n \n \n Defined in apps/server/src/shared/repo/mongo.patterns.ts:6\n \n \n\n \n \n Regex to escape strings before use as regex against database.\nUsed to remove all non-language characters except numbers, whitespace or minus.\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MongoPatterns {\n\t/**\n\t * Regex to escape strings before use as regex against database.\n\t * Used to remove all non-language characters except numbers, whitespace or minus.\n\t */\n\tstatic REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST =\n\t\t/[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveCardBodyParams.html":{"url":"classes/MoveCardBodyParams.html","title":"class - MoveCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveCardBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoColumnId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveColumnBodyParams.html":{"url":"classes/MoveColumnBodyParams.html","title":"class - MoveColumnBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveColumnBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the target board', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveColumnBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the target board',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoBoardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveContentElementBody.html":{"url":"classes/MoveContentElementBody.html","title":"class - MoveContentElementBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveContentElementBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveContentElementBody {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoCardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementParams.html":{"url":"classes/MoveElementParams.html","title":"class - MoveElementParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n to\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementPositionParams.html":{"url":"classes/MoveElementPositionParams.html","title":"class - MoveElementPositionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementPositionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating the position of a Dashboard Element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n x\n \n \n \n \n \n y\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({description: 'used to identify a position within a group.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NameMatch.html":{"url":"interfaces/NameMatch.html","title":"interface - NameMatch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NameMatch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Match filter for lastName or firstName\n\n \n \n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/News.html":{"url":"entities/News.html","title":"entity - News","body":"\n \n\n\n\n\n\n\n\n Entities\n News\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n externalId\n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n target\n \n \n \n targetModel\n \n \n \n title\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:38\n \n \n\n \n \n the news content as html\n\n \n \n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'creatorId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:43\n \n \n\n \n \n only past news are visible for viewers, when edit permission, news visible in the future might be accessed too\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : \"internal\" | \"rss\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : NewsTarget\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:55\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : NewsTargetModel\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:59\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:34\n \n \n\n \n \n the news title\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'updaterId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:68\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/NewsController.html":{"url":"controllers/NewsController.html","title":"controller - NewsController","body":"\n \n\n\n\n\n\n\n Controllers\n NewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/news.controller.ts\n \n\n \n Prefix\n \n \n news\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findOne\n \n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(currentUser: ICurrentUser, params: CreateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Post()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:26\n \n \n\n\n \n \n Create a news by a user in a given scope (school or team).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:89\n \n \n\n\n \n \n Delete a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:40\n \n \n\n\n \n \n Responds with all news for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:61\n \n \n\n\n \n \n Retrieve a specific news entry by id.\nA user may only read news of scopes he has the read permission.\nThe news entity has school and user names populated.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(urlParams: NewsUrlParams, currentUser: ICurrentUser, params: UpdateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:71\n \n \n\n\n \n \n Update properties of a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc/news.uc';\nimport {\n\tCreateNewsParams,\n\tFilterNewsParams,\n\tNewsListResponse,\n\tNewsResponse,\n\tNewsUrlParams,\n\tUpdateNewsParams,\n} from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('news')\nexport class NewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Create a news by a user in a given scope (school or team).\n\t */\n\t@Post()\n\tasync create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n\t\tconst news = await this.newsUc.create(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tNewsMapper.mapCreateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Responds with all news for a user.\n\t */\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n\n\t/**\n\t * Retrieve a specific news entry by id.\n\t * A user may only read news of scopes he has the read permission.\n\t * The news entity has school and user names populated.\n\t */\n\t@Get(':newsId')\n\tasync findOne(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst news = await this.newsUc.findOneByIdForUser(urlParams.newsId, currentUser.userId);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Update properties of a news.\n\t */\n\t@Patch(':newsId')\n\tasync update(\n\t\t@Param() urlParams: NewsUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateNewsParams\n\t): Promise {\n\t\tconst news = await this.newsUc.update(\n\t\t\turlParams.newsId,\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapUpdateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Delete a news.\n\t */\n\t@Delete(':newsId')\n\tasync delete(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst deletedId = await this.newsUc.delete(urlParams.newsId, currentUser.userId);\n\t\treturn deletedId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsCrudOperationLoggable.html":{"url":"classes/NewsCrudOperationLoggable.html","title":"class - NewsCrudOperationLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsCrudOperationLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operation: CrudOperation, userId: EntityId, news: News)\n \n \n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operation\n \n \n CrudOperation\n \n \n \n No\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n news\n \n \n News\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:14\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CrudOperation } from '@shared/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\nimport { NewsMapper } from '../mapper/news.mapper';\n\nexport class NewsCrudOperationLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly operation: CrudOperation,\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly news: News\n\t) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Performing a CRUD operation on a news',\n\t\t\tdata: {\n\t\t\t\toperation: this.operation,\n\t\t\t\tuserId: this.userId,\n\t\t\t\tnews: NewsMapper.mapToLogMessageData(this.news),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsListResponse.html":{"url":"classes/NewsListResponse.html","title":"class - NewsListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:129\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n NewsResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : NewsResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:136\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsMapper.html":{"url":"classes/NewsMapper.html","title":"class - NewsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/news.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n Static\n mapNewsScopeToDomain\n \n \n Static\n mapToLogMessageData\n \n \n Static\n mapToResponse\n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n \n \n \n \n \n mapCreateNewsToDomain(params: CreateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateNews\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapNewsScopeToDomain\n \n \n \n \n \n \n \n mapNewsScopeToDomain(query: FilterNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : INewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToLogMessageData\n \n \n \n \n \n \n \n mapToLogMessageData(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LogMessageData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n \n \n \n mapUpdateNewsToDomain(params: UpdateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUpdateNews\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { CreateNews, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { LogMessageData } from '@src/core/logger';\nimport { CreateNewsParams, FilterNewsParams, NewsResponse, UpdateNewsParams } from '../controller/dto';\nimport { SchoolInfoMapper } from './school-info.mapper';\nimport { TargetInfoMapper } from './target-info.mapper';\nimport { UserInfoMapper } from './user-info.mapper';\n\nexport class NewsMapper {\n\tstatic mapToResponse(news: News): NewsResponse {\n\t\tconst target = TargetInfoMapper.mapToResponse(news.target);\n\t\tconst school = SchoolInfoMapper.mapToResponse(news.school);\n\t\tconst creator = UserInfoMapper.mapToResponse(news.creator);\n\n\t\tconst dto = new NewsResponse({\n\t\t\tid: news.id,\n\t\t\ttitle: news.title,\n\t\t\tcontent: news.content,\n\t\t\tdisplayAt: news.displayAt,\n\t\t\tsource: news.source,\n\t\t\tsourceDescription: news.sourceDescription,\n\t\t\ttargetId: news.target.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttarget,\n\t\t\tschool,\n\t\t\tcreator,\n\t\t\tcreatedAt: news.createdAt,\n\t\t\tupdatedAt: news.updatedAt,\n\t\t\tpermissions: news.permissions,\n\t\t});\n\n\t\tif (news.updater) {\n\t\t\tdto.updater = UserInfoMapper.mapToResponse(news.updater);\n\t\t}\n\n\t\treturn dto;\n\t}\n\n\tstatic mapNewsScopeToDomain(query: FilterNewsParams): INewsScope {\n\t\tconst dto: INewsScope = {};\n\t\tif (query.targetModel) {\n\t\t\tdto.target = {\n\t\t\t\ttargetModel: query.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: query.targetId,\n\t\t\t};\n\t\t}\n\t\tif ('unpublished' in query) {\n\t\t\tdto.unpublished = query.unpublished;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapCreateNewsToDomain(params: CreateNewsParams): CreateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t\ttarget: {\n\t\t\t\ttargetModel: params.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: params.targetId,\n\t\t\t},\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapUpdateNewsToDomain(params: UpdateNewsParams): IUpdateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapToLogMessageData(news: News): LogMessageData {\n\t\tconst data = {\n\t\t\tentityType: 'News',\n\t\t\tid: news.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttargetId: news.target.id,\n\t\t};\n\n\t\treturn data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NewsModule.html":{"url":"modules/NewsModule.html","title":"module - NewsModule","body":"\n \n\n\n\n\n Modules\n NewsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_NewsModule\n\n\n\ncluster_NewsModule_exports\n\n\n\ncluster_NewsModule_providers\n\n\n\ncluster_NewsModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nNewsModule\n\nNewsModule\n\nNewsModule -->\n\nAuthorizationModule->NewsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nNewsModule -->\n\nLoggerModule->NewsModule\n\n\n\n\n\nNewsUc \n\nNewsUc \n\nNewsUc -->\n\nNewsModule->NewsUc \n\n\n\n\n\nNewsRepo\n\nNewsRepo\n\nNewsModule -->\n\nNewsRepo->NewsModule\n\n\n\n\n\nNewsUc\n\nNewsUc\n\nNewsModule -->\n\nNewsUc->NewsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/news/news.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n NewsRepo\n \n \n NewsUc\n \n \n \n \n Controllers\n \n \n NewsController\n \n \n TeamNewsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n NewsUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { NewsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { NewsController } from './controller/news.controller';\nimport { TeamNewsController } from './controller/team-news.controller';\nimport { NewsUc } from './uc/news.uc';\n\n@Module({\n\timports: [AuthorizationModule, LoggerModule],\n\tcontrollers: [NewsController, TeamNewsController],\n\tproviders: [NewsUc, NewsRepo],\n\texports: [NewsUc],\n})\nexport class NewsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsProperties.html":{"url":"interfaces/NewsProperties.html","title":"interface - NewsProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n \n externalId\n \n \n \n \n school\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceDescription\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n Optional\n \n updater\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: EntityId | User\n\n \n \n\n\n \n \n Type : EntityId | User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: EntityId | SchoolEntity\n\n \n \n\n\n \n \n Type : EntityId | SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \"internal\" | \"rss\"\n\n \n \n\n\n \n \n Type : \"internal\" | \"rss\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceDescription\n \n \n \n \n \n \n \n \n sourceDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: EntityId | NewsTarget\n\n \n \n\n\n \n \n Type : EntityId | NewsTarget\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updater\n \n \n \n \n \n \n \n \n updater: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsRepo.html":{"url":"injectables/NewsRepo.html","title":"injectable - NewsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllPublished\n \n \n Async\n findAllUnpublishedByUser\n \n \n Private\n Async\n findNewsAndCount\n \n \n Async\n findOneById\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllPublished\n \n \n \n \n \n \n \n findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:23\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnpublishedByUser\n \n \n \n \n \n \n \n findAllUnpublishedByUser(targets: NewsTargetFilter[], creatorId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:38\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \ncreatorId\n\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNewsAndCount\n \n \n \n \n \n \n \n findNewsAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:60\n \n \n\n\n \n \n resolves a news documents list with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:53\n \n \n\n\n \n \n resolves a news document with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : ['school', 'target', 'creator', 'updater']\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { NewsScope } from './news-scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\n@Injectable()\nexport class NewsRepo extends BaseRepo {\n\tpropertiesToPopulate = ['school', 'target', 'creator', 'updater'];\n\n\tget entityName() {\n\t\treturn News;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param options\n\t */\n\tasync findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byPublished();\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param creatorId - creatorId\n\t * @param options\n\t */\n\tasync findAllUnpublishedByUser(\n\t\ttargets: NewsTargetFilter[],\n\t\tcreatorId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byUnpublished();\n\t\tscope.byCreator(creatorId);\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/** resolves a news document with some elements (school, target, and updator/creator) populated already */\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst newsEntity = await this._em.findOneOrFail(News, id);\n\t\tawait this._em.populate(newsEntity, this.propertiesToPopulate as never[]);\n\t\treturn newsEntity;\n\t}\n\n\t/** resolves a news documents list with some elements (school, target, and updator/creator) populated already */\n\tprivate async findNewsAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst [newsEntities, count] = await this._em.findAndCount(News, query, {\n\t\t\t...pagination,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t});\n\t\tawait this._em.populate(newsEntities, this.propertiesToPopulate as never[]);\n\t\t// populate target for all inheritances of news which not works when the list contains different types\n\t\tconst discriminatorColumn = 'target';\n\t\tconst schoolNews = newsEntities.filter((news) => news instanceof SchoolNews);\n\t\tawait this._em.populate(schoolNews, [discriminatorColumn]);\n\t\tconst teamNews = newsEntities.filter((news) => news instanceof TeamNews);\n\t\tawait this._em.populate(teamNews, [discriminatorColumn]);\n\t\tconst courseNews = newsEntities.filter((news) => news instanceof CourseNews);\n\t\tawait this._em.populate(courseNews, [discriminatorColumn]);\n\t\treturn [newsEntities, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsResponse.html":{"url":"classes/NewsResponse.html","title":"class - NewsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n createdAt\n \n \n \n creator\n \n \n \n displayAt\n \n \n \n id\n \n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n \n target\n \n \n \n targetId\n \n \n \n targetModel\n \n \n \n title\n \n \n \n updatedAt\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: NewsResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n NewsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The creation timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:116\n \n \n\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Reference to the User that created the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the News entity', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'List of permissions the current user has for the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The School ownership'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : SourceType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: 'string', enum: NEWS_SOURCES, description: 'The type of source of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The source description of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TargetInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The target object with id and name, could be the school, team, or course name'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: TARGET_MODEL_VALUES, enumName: 'NewsTargetModel', description: 'Target model to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The update timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Reference to the User that updated the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:111\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsScope.html":{"url":"classes/NewsScope.html","title":"class - NewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCreator\n \n \n byPublished\n \n \n byTargets\n \n \n byUnpublished\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCreator\n \n \n \n \n \n \nbyCreator(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byPublished\n \n \n \n \n \n \nbyPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:26\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n byTargets\n \n \n \n \n \n \nbyTargets(targets: NewsTargetFilter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUnpublished\n \n \n \n \n \n \nbyUnpublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:32\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { EmptyResultQuery } from '../query';\nimport { Scope } from '../scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\nexport class NewsScope extends Scope {\n\tbyTargets(targets: NewsTargetFilter[]): NewsScope {\n\t\tconst queries: FilterQuery[] = targets.map((target) => {\n\t\t\treturn {\n\t\t\t\t$and: [{ targetModel: target.targetModel }, { 'target:in': target.targetIds }],\n\t\t\t};\n\t\t});\n\t\tif (queries.length === 0) {\n\t\t\t// mission impossile query to ensure empty query result\n\t\t\tthis.addQuery(EmptyResultQuery);\n\t\t} else if (queries.length === 1) {\n\t\t\tthis.addQuery(queries[0]);\n\t\t} else {\n\t\t\tthis.addQuery({ $or: queries });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyPublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $lte: now } });\n\t\treturn this;\n\t}\n\n\tbyUnpublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $gt: now } });\n\t\treturn this;\n\t}\n\n\tbyCreator(creatorId: EntityId): NewsScope {\n\t\tif (creatorId !== undefined) {\n\t\t\tthis.addQuery({ creator: creatorId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsTargetFilter.html":{"url":"interfaces/NewsTargetFilter.html","title":"interface - NewsTargetFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsTargetFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-target-filter.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetIds\n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetIds\n \n \n \n \n \n \n \n \n targetIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n targetModel: NewsTargetModel\n\n \n \n\n\n \n \n Type : NewsTargetModel\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId, NewsTargetModel } from '@shared/domain/types';\n\nexport interface NewsTargetFilter {\n\ttargetModel: NewsTargetModel;\n\ttargetIds: EntityId[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsUc.html":{"url":"injectables/NewsUc.html","title":"injectable - NewsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/uc/news.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n create\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findAllForUser\n \n \n Public\n Async\n findOneByIdForUser\n \n \n Private\n Async\n getNewsPermissions\n \n \n Private\n Async\n getPermittedTargets\n \n \n Private\n Static\n getRequiredPermissions\n \n \n Private\n Async\n getTargetFilters\n \n \n Public\n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(newsRepo: NewsRepo, authorizationService: FeathersAuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n newsRepo\n \n \n NewsRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n FeathersAuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, schoolId: EntityId, params: CreateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllForUser\n \n \n \n \n \n \n \n findAllForUser(userId: EntityId, scope?: INewsScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:58\n \n \n\n\n \n \n Provides news for a user, by default odered by displayAt to show latest news first.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOneByIdForUser\n \n \n \n \n \n \n \n findOneByIdForUser(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getNewsPermissions\n \n \n \n \n \n \n \n getNewsPermissions(userId: EntityId, news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:188\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope | undefined\n \n\n \n No\n \n\n\n \n \n permissions\n \n NewsPermission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getRequiredPermissions\n \n \n \n \n \n \n \n getRequiredPermissions(unpublished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n unpublished\n \n boolean\n \n\n \n No\n \n\n\n \n news with displayAt set to future date are not published for users with view permission\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getTargetFilters\n \n \n \n \n \n \n \n getTargetFilters(userId: EntityId, targetModels: NewsTargetModel[], permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModels\n \n NewsTargetModel[]\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n update\n \n \n \n \n \n \n \n update(id: EntityId, userId: EntityId, params: IUpdateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n IUpdateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersAuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { News } from '@shared/domain/entity';\nimport { IFindOptions, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, CreateNews, EntityId, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { NewsRepo, NewsTargetFilter } from '@shared/repo';\nimport { CrudOperation } from '@shared/types';\nimport { Logger } from '@src/core/logger';\nimport { NewsCrudOperationLoggable } from '../loggable/news-crud-operation.loggable';\n\ntype NewsPermission = Permission.NEWS_VIEW | Permission.NEWS_EDIT;\n\n@Injectable()\nexport class NewsUc {\n\tconstructor(\n\t\tprivate newsRepo: NewsRepo,\n\t\tprivate authorizationService: FeathersAuthorizationService,\n\t\tprivate logger: Logger\n\t) {\n\t\tthis.logger.setContext(NewsUc.name);\n\t}\n\n\t/**\n\t *\n\t * @param userId\n\t * @param schoolId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async create(userId: EntityId, schoolId: EntityId, params: CreateNews): Promise {\n\t\tconst { targetModel, targetId } = params.target;\n\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, [Permission.NEWS_CREATE]);\n\n\t\tconst { target, displayAt: paramDisplayAt, ...props } = params;\n\t\t// set news as published by default\n\t\tconst displayAt = paramDisplayAt || new Date();\n\t\tconst news = News.createInstance(targetModel, {\n\t\t\t...props,\n\t\t\tdisplayAt,\n\t\t\tschool: schoolId,\n\t\t\tcreator: userId,\n\t\t\ttarget: targetId,\n\t\t});\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.CREATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t * Provides news for a user, by default odered by displayAt to show latest news first.\n\t * @param userId\n\t * @param scope\n\t * @param pagination\n\t * @returns\n\t */\n\tpublic async findAllForUser(\n\t\tuserId: EntityId,\n\t\tscope?: INewsScope,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst unpublished = !!scope?.unpublished; // default is only published news\n\t\tconst permissions: [NewsPermission] = NewsUc.getRequiredPermissions(unpublished);\n\n\t\tconst targets = await this.getPermittedTargets(userId, scope, permissions);\n\n\t\tif (options == null) options = {};\n\t\t// by default show latest news first\n\t\tif (options.order == null) options.order = { displayAt: SortOrder.desc };\n\n\t\tconst [newsList, newsCount] = unpublished\n\t\t\t? await this.newsRepo.findAllUnpublishedByUser(targets, userId, options)\n\t\t\t: await this.newsRepo.findAllPublished(targets, options);\n\n\t\tawait Promise.all(\n\t\t\tnewsList.map(async (news: News) => {\n\t\t\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\t\t\t})\n\t\t);\n\n\t\treturn [newsList, newsCount];\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async findOneByIdForUser(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tconst isPublished = news.displayAt > new Date();\n\t\tconst requiredPermissions = NewsUc.getRequiredPermissions(isPublished);\n\t\tawait this.authorizationService.checkEntityPermissions(\n\t\t\tuserId,\n\t\t\tnews.targetModel,\n\t\t\tnews.target.id,\n\t\t\trequiredPermissions\n\t\t);\n\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async update(id: EntityId, userId: EntityId, params: IUpdateNews): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, [\n\t\t\tPermission.NEWS_EDIT,\n\t\t]);\n\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const [key, value] of Object.entries(params)) {\n\t\t\tif (value) {\n\t\t\t\tnews[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.UPDATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async delete(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, ['NEWS_EDIT']);\n\n\t\tawait this.newsRepo.delete(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.DELETE, userId, news));\n\n\t\treturn id;\n\t}\n\n\tprivate async getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[]) {\n\t\tlet targets: NewsTargetFilter[];\n\n\t\tif (scope?.target == null) {\n\t\t\t// for all target models\n\t\t\ttargets = await this.getTargetFilters(userId, Object.values(NewsTargetModel), permissions);\n\t\t} else {\n\t\t\tconst { targetModel, targetId } = scope.target;\n\t\t\tif (targetModel && targetId) {\n\t\t\t\t// for specific news target\n\t\t\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, permissions);\n\t\t\t\ttargets = [{ targetModel, targetIds: [targetId] }];\n\t\t\t} else {\n\t\t\t\t// for single target model\n\t\t\t\ttargets = await this.getTargetFilters(userId, [targetModel], permissions);\n\t\t\t}\n\t\t}\n\t\treturn targets;\n\t}\n\n\tprivate async getTargetFilters(\n\t\tuserId: EntityId,\n\t\ttargetModels: NewsTargetModel[],\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst targets = await Promise.all(\n\t\t\ttargetModels.map(async (targetModel) => {\n\t\t\t\treturn {\n\t\t\t\t\ttargetModel,\n\t\t\t\t\ttargetIds: await this.authorizationService.getPermittedEntities(userId, targetModel, permissions),\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tconst nonEmptyTargets = targets.filter((target) => target.targetIds.length > 0);\n\n\t\treturn nonEmptyTargets;\n\t}\n\n\tprivate async getNewsPermissions(userId: EntityId, news: News): Promise {\n\t\tconst permissions = await this.authorizationService.getEntityPermissions(userId, news.targetModel, news.target.id);\n\t\treturn permissions.filter((permission) => permission.includes('NEWS'));\n\t}\n\n\t/**\n\t *\n\t * @param unpublished news with displayAt set to future date are not published for users with view permission\n\t * @returns\n\t */\n\tprivate static getRequiredPermissions(unpublished: boolean): [NewsPermission] {\n\t\treturn unpublished ? [Permission.NEWS_EDIT] : [Permission.NEWS_VIEW];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsUrlParams.html":{"url":"classes/NewsUrlParams.html","title":"class - NewsUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the news.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class NewsUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the news.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewsId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NexboardService.html":{"url":"injectables/NexboardService.html","title":"injectable - NexboardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NexboardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/nexboard.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n \n \n \n createNexboard(userId: EntityId, title: string, description: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers/feathers-service.provider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\nexport type NexboardResponse = { id: string; publicLink: string };\n\n@Injectable()\nexport class NexboardService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createNexboard(\n\t\tuserId: EntityId,\n\t\ttitle: string,\n\t\tdescription: string\n\t): Promise {\n\t\tconst data = {\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/nexboard/boards');\n\t\t\tconst nexBoard = (await service.create(data, { account: { userId } })) as NexboardResponse;\n\t\t\treturn { board: nexBoard.id, url: nexBoard.publicLink };\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Nexboard', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NextcloudGroups.html":{"url":"interfaces/NextcloudGroups.html","title":"interface - NextcloudGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NextcloudGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NextcloudStrategy.html":{"url":"injectables/NextcloudStrategy.html","title":"injectable - NextcloudStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NextcloudStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts\n \n\n\n \n Description\n \n \n Nextcloud Strategy Implementation for Collaborative Storage\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTeam\n \n \n Async\n deleteTeam\n \n \n Private\n Async\n findLegacyLtiTool\n \n \n Private\n Async\n findNextcloudTool\n \n \n Protected\n Static\n generateGroupFolderName\n \n \n Protected\n Static\n generateGroupId\n \n \n Async\n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, client: NextcloudClient, pseudonymService: PseudonymService, ltiToolRepo: LtiToolRepo, externalToolService: ExternalToolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n client\n \n \n NextcloudClient\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTeam\n \n \n \n \n \n \n \n createTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:75\n \n \n\n\n \n \n Creates a team in nextcloud.\nThis includes the creation of the related group, its groupfolder and the adding of the teamUsers (the creator).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteTeam\n \n \n \n \n \n \n \n deleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:59\n \n \n\n\n \n \n Deletes a whole team in nextcloud.\nThis includes the related group in nextcloud and the groupfolder of the group.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findLegacyLtiTool\n \n \n \n \n \n \n \n findLegacyLtiTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:172\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNextcloudTool\n \n \n \n \n \n \n \n findNextcloudTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:158\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupFolderName\n \n \n \n \n \n \n \n generateGroupFolderName(teamId: string, teamName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:192\n \n \n\n\n \n \n Generates the groupfolder name by concatenating the teamId and teamName.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the team\n\n \n \n \n teamName\n \n string\n \n\n \n No\n \n\n\n \n name of the team\n\n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupId\n \n \n \n \n \n \n \n generateGroupId(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:202\n \n \n\n\n \n \n Generates groupId of the nextcloud group by concatenating some TeamRolePermissionsDto properties.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeam\n \n \n \n \n \n \n \n updateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:98\n \n \n\n\n \n \n Updates a team in nextcloud.\nThis includes the teamuser and the displayname of the team.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:38\n \n \n\n\n \n \n At the moment unused.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n \n \n \n updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:129\n \n \n\n\n \n \n Updating nextcloud group to be in sync with schulcloud team members.\nTo do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\npseudonym table and distinguish between added and deleted users.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n groupId\n \n string\n \n\n \n No\n \n\n\n \n nextclouds groupId\n\n \n \n \n teamUsers\n \n TeamUserDto[]\n \n\n \n No\n \n\n\n \n all users of a TeamDto\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto, TeamUserDto } from '@modules/collaborative-storage';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamRolePermissionsDto } from '../../dto/team-role-permissions.dto';\nimport { CollaborativeStorageStrategy } from '../base.interface.strategy';\nimport { NextcloudClient } from './nextcloud.client';\n\n/**\n * Nextcloud Strategy Implementation for Collaborative Storage\n *\n * @implements {CollaborativeStorageStrategy}\n */\n@Injectable()\nexport class NextcloudStrategy implements CollaborativeStorageStrategy {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly client: NextcloudClient,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly ltiToolRepo: LtiToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly userService: UserService\n\t) {\n\t\tthis.logger.setContext(NextcloudStrategy.name);\n\t}\n\n\t/**\n\t * At the moment unused.\n\t *\n\t * @param dto\n\t */\n\tasync updateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise {\n\t\tconst groupId: string = await this.client.findGroupId(NextcloudStrategy.generateGroupId(dto));\n\t\tlet folderId: number;\n\n\t\ttry {\n\t\t\tfolderId = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.setGroupPermissions(groupId, folderId, dto.permissions);\n\t\t} catch (e) {\n\t\t\tthis.logger.log(\n\t\t\t\t`Permissions in nextcloud were not set because of missing groupId or folderId for teamId ${dto.teamId}`\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes a whole team in nextcloud.\n\t *\n\t * This includes the related group in nextcloud and the groupfolder of the group.\n\t *\n\t * @param teamId id of the schulcloud team\n\t */\n\tasync deleteTeam(teamId: string): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(teamId);\n\t\tif (groupId) {\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.deleteGroup(groupId);\n\t\t\tawait this.client.deleteGroupFolder(folderId);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a team in nextcloud.\n\t *\n\t * This includes the creation of the related group, its groupfolder and the adding of the {@link TeamUserDto teamUsers} (the creator).\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync createTeam(team: TeamDto): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tawait this.client.createGroup(groupId, team.name);\n\n\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\n\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\t\t// TODO N21-124: move the creation of group folders from the schulcloud-nextcloud-app to here, when all existing teams are migrated to the nextcloud\n\t\t// Due to the schulcloud-nextcloud-app creating the group folder, when the group is created, it only needs to be renamed here\n\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t// const folderId: number = await this.client.createGroupFolder(folderName);\n\t\t// await this.client.addAccessToGroupFolder(folderId, groupId);\n\t}\n\n\t/**\n\t * Updates a team in nextcloud.\n\t *\n\t * This includes the {@link TeamUserDto teamuser} and the displayname of the team.\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync updateTeam(team: TeamDto): Promise {\n\t\tif (!team.id) {\n\t\t\tthrow new UnprocessableEntityException('Cannot update team without id');\n\t\t}\n\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tif (team.teamUsers && team.teamUsers.length > 0) {\n\t\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\t\t}\n\n\t\tif (team.name) {\n\t\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\n\t\t\tawait this.client.renameGroup(groupId, team.name);\n\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t}\n\t}\n\n\t/**\n\t * Updating nextcloud group to be in sync with schulcloud team members.\n\t *\n\t * To do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\n\t * pseudonym table and distinguish between added and deleted users.\n\t *\n\t * @param groupId nextclouds groupId\n\t * @param teamUsers all users of a {@link TeamDto}\n\t * @protected\n\t */\n\tprotected async updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[]): Promise {\n\t\tconst groupUserIds: string[] = await this.client.getGroupUsers(groupId);\n\t\tconst nextcloudTool: ExternalTool | LtiToolDO = await this.findNextcloudTool();\n\n\t\tlet convertedTeamUserIds: string[] = await Promise.all[]>(\n\t\t\t// The Oauth authentication generates a pseudonym which will be used from external systems as identifier\n\t\t\tteamUsers.map(async (teamUser: TeamUserDto): Promise => {\n\t\t\t\tconst user: UserDO = await this.userService.findById(teamUser.userId);\n\t\t\t\tconst userId = await this.pseudonymService\n\t\t\t\t\t.findByUserAndToolOrThrow(user, nextcloudTool)\n\t\t\t\t\t.then((pseudonymDO: Pseudonym) => this.client.getNameWithPrefix(pseudonymDO.pseudonym))\n\t\t\t\t\t.catch(() => '');\n\n\t\t\t\treturn userId;\n\t\t\t})\n\t\t);\n\t\tconvertedTeamUserIds = convertedTeamUserIds.filter(Boolean);\n\n\t\tconst removeUserIds: string[] = groupUserIds.filter((userId) => !convertedTeamUserIds.includes(userId));\n\t\tthis.logger.debug(`Removing nextcloud userIds [${removeUserIds.toString()}]`);\n\t\tconst addUserIds: string[] = convertedTeamUserIds.filter((userId) => !groupUserIds.includes(userId));\n\t\tthis.logger.debug(`Adding nextcloud userIds [${addUserIds.toString()}]`);\n\n\t\treturn Promise.all([\n\t\t\tPromise.all(removeUserIds.map((nextcloudUserId) => this.client.removeUserFromGroup(nextcloudUserId, groupId))),\n\t\t\tPromise.all(addUserIds.map((nextcloudUserId) => this.client.addUserToGroup(nextcloudUserId, groupId))),\n\t\t]);\n\t}\n\n\tprivate async findNextcloudTool(): Promise {\n\t\tconst tool: ExternalTool | null = await this.externalToolService.findExternalToolByName(\n\t\t\tthis.client.oidcInternalName\n\t\t);\n\n\t\tif (!tool) {\n\t\t\tconst ltiToolPromise: Promise = this.findLegacyLtiTool();\n\n\t\t\treturn ltiToolPromise;\n\t\t}\n\n\t\treturn tool;\n\t}\n\n\tprivate async findLegacyLtiTool(): Promise {\n\t\tconst foundTools: LtiToolDO[] = await this.ltiToolRepo.findByName(this.client.oidcInternalName);\n\n\t\tif (foundTools.length > 1) {\n\t\t\tthis.logger.warn(\n\t\t\t\t`Please check the configured lti tools. There should one be one tool with the name ${this.client.oidcInternalName}. \n\t\t\t\tOtherwise teams can not be created or updated on demand.`\n\t\t\t);\n\t\t}\n\n\t\treturn foundTools[0];\n\t}\n\n\t/**\n\t * Generates the groupfolder name by concatenating the teamId and teamName.\n\t *\n\t * @param teamId id of the team\n\t * @param teamName name of the team\n\t * @protected\n\t */\n\tprotected static generateGroupFolderName(teamId: string, teamName: string): string {\n\t\treturn `${teamName} (${teamId})`;\n\t}\n\n\t/**\n\t * Generates groupId of the nextcloud group by concatenating some {@link TeamRolePermissionsDto} properties.\n\t *\n\t * @param dto\n\t * @protected\n\t */\n\tprotected static generateGroupId(dto: TeamRolePermissionsDto): string {\n\t\treturn `${dto.teamName}-${dto.teamId}-${dto.roleName}`;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NotFoundLoggableException.html":{"url":"classes/NotFoundLoggableException.html","title":"class - NotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceName: string, identifiers: Record)\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 identifiers\n \n \n Record\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: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 { 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(private readonly resourceName: string, private readonly identifiers: Record) {\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.identifiers,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuth2ToolLaunchStrategy.html":{"url":"injectables/OAuth2ToolLaunchStrategy.html","title":"injectable - OAuth2ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuth2ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/oauth2-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class OAuth2ToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\treturn null;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\treturn LaunchRequestMethod.GET;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthProcessDto.html":{"url":"classes/OAuthProcessDto.html","title":"class - OAuthProcessDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthProcessDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n jwt\n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: OAuthProcessDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n OAuthProcessDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n jwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthProcessDto {\n\tjwt?: string;\n\n\tredirect: string;\n\n\tconstructor(response: OAuthProcessDto) {\n\t\tthis.jwt = response.jwt;\n\t\tthis.redirect = response.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthRejectableBody.html":{"url":"classes/OAuthRejectableBody.html","title":"class - OAuthRejectableBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthRejectableBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class OAuthRejectableBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_debug?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Description of the error in a human readable format.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_description?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Hint to help resolve the error.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_hint?: string;\n\n\t@IsNumber()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuthService.html":{"url":"injectables/OAuthService.html","title":"injectable - OAuthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n authenticateUser\n \n \n Private\n buildTokenRequestPayload\n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n Async\n provisionUser\n \n \n Async\n requestToken\n \n \n Async\n validateToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, oauthAdapterService: OauthAdapterService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger, provisioningService: ProvisioningService, systemService: LegacySystemService, migrationCheckService: MigrationCheckService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n oauthAdapterService\n \n \n OauthAdapterService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n migrationCheckService\n \n \n MigrationCheckService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n authenticateUser\n \n \n \n \n \n \n \n authenticateUser(systemId: string, redirectUri: string, authCode?: string, errorCode?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n authCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n errorCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildTokenRequestPayload\n \n \n \n \n \n \n \n buildTokenRequestPayload(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n \n \n \n \n \n findUserAfterProvisioningOrThrow(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n \n \n \n \n \n isOauthProvisioningEnabledForSchool(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionUser\n \n \n \n \n \n \n \n provisionUser(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestToken\n \n \n \n \n \n \n \n requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateToken\n \n \n \n \n \n \n \n validateToken(idToken: string, oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { MigrationCheckService } from '@modules/user-login-migration';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { OauthConfigEntity, SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthTokenDto } from '../interface';\nimport {\n\tAuthCodeFailureLoggableException,\n\tIdTokenInvalidLoggableException,\n\tOauthConfigMissingLoggableException,\n\tUserNotFoundAfterProvisioningLoggableException,\n} from '../loggable';\nimport { TokenRequestMapper } from '../mapper/token-request.mapper';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\nimport { OauthAdapterService } from './oauth-adapter.service';\n\n@Injectable()\nexport class OAuthService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly oauthAdapterService: OauthAdapterService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly migrationCheckService: MigrationCheckService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {\n\t\tthis.logger.setContext(OAuthService.name);\n\t}\n\n\tasync authenticateUser(\n\t\tsystemId: string,\n\t\tredirectUri: string,\n\t\tauthCode?: string,\n\t\terrorCode?: string\n\t): Promise {\n\t\tif (errorCode || !authCode) {\n\t\t\tthrow new AuthCodeFailureLoggableException(errorCode);\n\t\t}\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new OauthConfigMissingLoggableException(systemId);\n\t\t}\n\t\tconst { oauthConfig } = system;\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.requestToken(authCode, oauthConfig, redirectUri);\n\n\t\tawait this.validateToken(oauthTokens.idToken, oauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tasync provisionUser(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(systemId, idToken, accessToken);\n\n\t\tconst externalUserId: string = data.externalUser.externalId;\n\t\tconst officialSchoolNumber: string | undefined = data.externalSchool?.officialSchoolNumber;\n\n\t\tlet isProvisioningEnabled = true;\n\n\t\tif (officialSchoolNumber) {\n\t\t\tisProvisioningEnabled = await this.isOauthProvisioningEnabledForSchool(officialSchoolNumber);\n\n\t\t\tconst shouldUserMigrate: boolean = await this.migrationCheckService.shouldUserMigrate(\n\t\t\t\texternalUserId,\n\t\t\t\tsystemId,\n\t\t\t\tofficialSchoolNumber\n\t\t\t);\n\n\t\t\tif (shouldUserMigrate) {\n\t\t\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\t\t\tif (!existingUser) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isProvisioningEnabled) {\n\t\t\tawait this.provisioningService.provisionData(data);\n\t\t}\n\n\t\tconst user: UserDO = await this.findUserAfterProvisioningOrThrow(externalUserId, systemId, officialSchoolNumber);\n\n\t\treturn user;\n\t}\n\n\tprivate async findUserAfterProvisioningOrThrow(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber?: string\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\t// This can happen, when OAuth2 provisioning is disabled, because the school doesn't have the feature.\n\t\t\t// OAuth2 provisioning is disabled for schools that don't have migrated, yet.\n\t\t\tthrow new UserNotFoundAfterProvisioningLoggableException(externalUserId, systemId, officialSchoolNumber);\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync isOauthProvisioningEnabledForSchool(officialSchoolNumber: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!school.features?.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t}\n\n\tasync requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string): Promise {\n\t\tconst payload: AuthenticationCodeGrantTokenRequest = this.buildTokenRequestPayload(code, oauthConfig, redirectUri);\n\n\t\tconst responseToken: OauthTokenResponse = await this.oauthAdapterService.sendAuthenticationCodeTokenRequest(\n\t\t\toauthConfig.tokenEndpoint,\n\t\t\tpayload\n\t\t);\n\n\t\tconst tokenDto: OAuthTokenDto = TokenRequestMapper.mapTokenResponseToDto(responseToken);\n\t\treturn tokenDto;\n\t}\n\n\tasync validateToken(idToken: string, oauthConfig: OauthConfigEntity): Promise {\n\t\tconst publicKey: string = await this.oauthAdapterService.getPublicKey(oauthConfig.jwksEndpoint);\n\t\tconst decodedJWT: string | JwtPayload = jwt.verify(idToken, publicKey, {\n\t\t\talgorithms: ['RS256'],\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\taudience: oauthConfig.clientId,\n\t\t});\n\n\t\tif (typeof decodedJWT === 'string') {\n\t\t\tthrow new IdTokenInvalidLoggableException();\n\t\t}\n\n\t\treturn decodedJWT;\n\t}\n\n\tprivate buildTokenRequestPayload(\n\t\tcode: string,\n\t\toauthConfig: OauthConfigEntity,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\tconst decryptedClientSecret: string = this.oAuthEncryptionService.decrypt(oauthConfig.clientSecret);\n\n\t\tconst tokenRequestPayload: AuthenticationCodeGrantTokenRequest =\n\t\t\tTokenRequestMapper.createAuthenticationCodeGrantTokenRequestPayload(\n\t\t\t\toauthConfig.clientId,\n\t\t\t\tdecryptedClientSecret,\n\t\t\t\tcode,\n\t\t\t\tredirectUri\n\t\t\t);\n\n\t\treturn tokenRequestPayload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthTokenDto.html":{"url":"classes/OAuthTokenDto.html","title":"class - OAuthTokenDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthTokenDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/interface/oauth-token.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n refreshToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OAuthTokenDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OAuthTokenDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n refreshToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthTokenDto {\n\tidToken: string;\n\n\trefreshToken: string;\n\n\taccessToken: string;\n\n\tconstructor(props: OAuthTokenDto) {\n\t\tthis.idToken = props.idToken;\n\t\tthis.refreshToken = props.refreshToken;\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2AuthorizationBodyParams.html":{"url":"classes/Oauth2AuthorizationBodyParams.html","title":"class - Oauth2AuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2AuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2AuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2MigrationParams.html":{"url":"classes/Oauth2MigrationParams.html","title":"class - Oauth2MigrationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2MigrationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2MigrationParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Oauth2Strategy.html":{"url":"injectables/Oauth2Strategy.html","title":"injectable - Oauth2Strategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Oauth2Strategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/oauth2.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'oauth2')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Strategy } from 'passport-custom';\nimport { Oauth2AuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { SchoolInMigrationLoggableException } from '../loggable';\nimport { CurrentUserMapper } from '../mapper';\n\n@Injectable()\nexport class Oauth2Strategy extends PassportStrategy(Strategy, 'oauth2') {\n\tconstructor(private readonly oauthService: OAuthService, private readonly accountService: AccountService) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: Oauth2AuthorizationBodyParams }): Promise {\n\t\tconst { systemId, redirectUri, code } = request.body;\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(systemId, redirectUri, code);\n\n\t\tconst user: UserDO | null = await this.oauthService.provisionUser(systemId, tokenDto.idToken, tokenDto.accessToken);\n\n\t\tif (!user || !user.id) {\n\t\t\tthrow new SchoolInMigrationLoggableException();\n\t\t}\n\n\t\tconst account: AccountDto | null = await this.accountService.findByUserId(user.id);\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedException('no account found');\n\t\t}\n\n\t\tconst currentUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(\n\t\t\taccount.id,\n\t\t\tuser,\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken\n\t\t);\n\n\t\treturn currentUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfig.html":{"url":"classes/Oauth2ToolConfig.html","title":"class - Oauth2ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n clientId\n \n \n Optional\n clientSecret\n \n \n Optional\n frontchannelLogoutUri\n \n \n Optional\n redirectUris\n \n \n Optional\n scope\n \n \n skipConsent\n \n \n Optional\n tokenEndpointAuthMethod\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalToolConfig } from './external-tool-config.do';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../common/enum';\n\nexport class Oauth2ToolConfig extends ExternalToolConfig {\n\tclientId: string;\n\n\tclientSecret?: string;\n\n\tskipConsent: boolean;\n\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tfrontchannelLogoutUri?: string;\n\n\tscope?: string;\n\n\tredirectUris?: string[];\n\n\tconstructor(props: Oauth2ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.clientId = props.clientId;\n\t\tthis.clientSecret = props.clientSecret;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.scope = props.scope;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigCreateParams.html":{"url":"classes/Oauth2ToolConfigCreateParams.html","title":"class - Oauth2ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientSecret!: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigEntity.html":{"url":"classes/Oauth2ToolConfigEntity.html","title":"class - Oauth2ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n skipConsent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ discriminatorValue: ToolConfigType.OAUTH2 })\nexport class Oauth2ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tskipConsent: boolean;\n\n\tconstructor(props: Oauth2ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigFactory.html":{"url":"classes/Oauth2ToolConfigFactory.html","title":"class - Oauth2ToolConfigFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withExternalData\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withExternalData\n \n \n \n \n \n \nwithExternalData(oauth2Params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigResponse.html":{"url":"classes/Oauth2ToolConfigResponse.html","title":"class - Oauth2ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n clientId\n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n Optional\n redirectUris\n \n \n \n Optional\n scope\n \n \n \n skipConsent\n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\n\nexport class Oauth2ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tclientId: string;\n\n\t@ApiProperty()\n\tskipConsent: boolean;\n\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@ApiPropertyOptional()\n\tredirectUris?: string[];\n\n\t@ApiPropertyOptional()\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tconstructor(props: Oauth2ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t\tthis.scope = props.scope;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigUpdateParams.html":{"url":"classes/Oauth2ToolConfigUpdateParams.html","title":"class - Oauth2ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tclientSecret?: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthAdapterService.html":{"url":"injectables/OauthAdapterService.html","title":"injectable - OauthAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPublicKey\n \n \n Private\n Async\n resolveTokenRequest\n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey(jwksUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwksUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n resolveTokenRequest\n \n \n \n \n \n \n \n resolveTokenRequest(observable: Observable>)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n observable\n \n Observable>\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n \n \n \n sendAuthenticationCodeTokenRequest(tokenEndpoint: string, payload: AuthenticationCodeGrantTokenRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenEndpoint\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n AuthenticationCodeGrantTokenRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Injectable } from '@nestjs/common/decorators';\nimport { AxiosResponse, isAxiosError } from 'axios';\nimport JwksRsa from 'jwks-rsa';\nimport QueryString from 'qs';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { TokenRequestLoggableException } from '../loggable';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\n\n@Injectable()\nexport class OauthAdapterService {\n\tconstructor(private readonly httpService: HttpService) {}\n\n\tasync getPublicKey(jwksUri: string): Promise {\n\t\tconst client: JwksRsa.JwksClient = JwksRsa({\n\t\t\tcache: true,\n\t\t\tjwksUri,\n\t\t});\n\t\tconst key: JwksRsa.SigningKey = await client.getSigningKey();\n\t\treturn key.getPublicKey();\n\t}\n\n\tpublic sendAuthenticationCodeTokenRequest(\n\t\ttokenEndpoint: string,\n\t\tpayload: AuthenticationCodeGrantTokenRequest\n\t): Promise {\n\t\tconst urlEncodedPayload: string = QueryString.stringify(payload);\n\t\tconst responseTokenObservable = this.httpService.post(tokenEndpoint, urlEncodedPayload, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t});\n\t\tconst responseData: Promise = this.resolveTokenRequest(responseTokenObservable);\n\t\treturn responseData;\n\t}\n\n\tprivate async resolveTokenRequest(\n\t\tobservable: Observable>\n\t): Promise {\n\t\tlet responseToken: AxiosResponse;\n\t\ttry {\n\t\t\tresponseToken = await lastValueFrom(observable);\n\t\t} catch (error: unknown) {\n\t\t\tif (isAxiosError(error)) {\n\t\t\t\tthrow new TokenRequestLoggableException(error);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn responseToken.data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthApiModule.html":{"url":"modules/OauthApiModule.html","title":"module - OauthApiModule","body":"\n \n\n\n\n\n Modules\n OauthApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthApiModule\n\n\n\ncluster_OauthApiModule_providers\n\n\n\ncluster_OauthApiModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nOauthApiModule -->\n\nLoggerModule->OauthApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nOauthApiModule -->\n\nOauthModule->OauthApiModule\n\n\n\n\n\nHydraOauthUc\n\nHydraOauthUc\n\nOauthApiModule -->\n\nHydraOauthUc->OauthApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraOauthUc\n \n \n \n \n Controllers\n \n \n OauthSSOController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n OauthModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthSSOController } from './controller/oauth-sso.controller';\nimport { OauthModule } from './oauth.module';\nimport { HydraOauthUc } from './uc';\n\n@Module({\n\timports: [OauthModule, LoggerModule],\n\tcontrollers: [OauthSSOController],\n\tproviders: [HydraOauthUc],\n})\nexport class OauthApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthClientBody.html":{"url":"classes/OauthClientBody.html","title":"class - OauthClientBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthClientBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client name.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client secret.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Thr frontchannel logout uri.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The grant types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The response types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n \n Type : SubjectTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SubjectTypeEnum)@IsOptional()@ApiProperty({description: 'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n \n \n Type : TokenAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenAuthMethod)@IsOptional()@ApiProperty({description: 'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SubjectTypeEnum } from '@modules/oauth-provider/interface/subject-type.enum';\nimport { TokenAuthMethod } from '@modules/oauth-provider/interface/token-auth-method.enum';\n\nexport class OauthClientBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tclient_id?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client name.', required: false, nullable: false })\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client secret.', required: false, nullable: false })\n\tclient_secret?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false })\n\tredirect_uris?: string[];\n\n\t@IsEnum(TokenAuthMethod)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoken_endpoint_auth_method?: TokenAuthMethod;\n\n\t@IsEnum(SubjectTypeEnum)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tsubject_type?: SubjectTypeEnum;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tscope?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Thr frontchannel logout uri.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tfrontchannel_logout_uri?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The grant types of the Oauth2 client.', required: false, nullable: false })\n\tgrant_types?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The response types of the Oauth2 client.', required: false, nullable: false })\n\tresponse_types?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfig.html":{"url":"classes/OauthConfig.html","title":"class - OauthConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/oauth-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfig {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfig) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigDto.html":{"url":"classes/OauthConfigDto.html","title":"class - OauthConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oauth-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfigDto {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfigDto) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigEntity.html":{"url":"classes/OauthConfigEntity.html","title":"class - OauthConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfig: OauthConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n \n OauthConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:55\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:37\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:40\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:49\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:43\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:70\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:73\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:67\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:64\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:46\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:58\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:61\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:52\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigMissingLoggableException.html":{"url":"classes/OauthConfigMissingLoggableException.html","title":"class - OauthConfigMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemId: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class OauthConfigMissingLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly systemId: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_INTERNAL_ERROR',\n\t\t\tmessage: 'Requested system has no oauth configured',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigResponse.html":{"url":"classes/OauthConfigResponse.html","title":"class - OauthConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/oauth-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigResponse: literal type)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigResponse\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Auth endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Client id', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Grant type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Hint for idp redirects (optional)', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Issuer', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Jwks endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Logout endpoint', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Provider', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Redirect uri', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Response type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Scope', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Token endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class OauthConfigResponse {\n\t@ApiProperty({\n\t\tdescription: 'Client id',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tclientId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Hint for idp redirects (optional)',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tidpHint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Redirect uri',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tredirectUri: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Grant type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tgrantType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Token endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttokenEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Auth endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tauthEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Response type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tresponseType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Scope',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tscope: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Provider',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tprovider: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Logout endpoint',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tlogoutEndpoint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Issuer',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tissuer: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Jwks endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigResponse: {\n\t\tredirectUri: string;\n\t\tidpHint?: string;\n\t\ttokenEndpoint: string;\n\t\tresponseType: string;\n\t\tclientId: string;\n\t\tprovider: string;\n\t\tjwksEndpoint: string;\n\t\tauthEndpoint: string;\n\t\tscope: string;\n\t\tlogoutEndpoint?: string;\n\t\tgrantType: string;\n\t\tissuer: string;\n\t}) {\n\t\tthis.clientId = oauthConfigResponse.clientId;\n\t\tthis.idpHint = oauthConfigResponse.idpHint;\n\t\tthis.redirectUri = oauthConfigResponse.redirectUri;\n\t\tthis.grantType = oauthConfigResponse.grantType;\n\t\tthis.tokenEndpoint = oauthConfigResponse.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigResponse.authEndpoint;\n\t\tthis.responseType = oauthConfigResponse.responseType;\n\t\tthis.scope = oauthConfigResponse.scope;\n\t\tthis.provider = oauthConfigResponse.provider;\n\t\tthis.logoutEndpoint = oauthConfigResponse.logoutEndpoint;\n\t\tthis.issuer = oauthConfigResponse.issuer;\n\t\tthis.jwksEndpoint = oauthConfigResponse.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthCurrentUser.html":{"url":"interfaces/OauthCurrentUser.html","title":"interface - OauthCurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthCurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/oauth-current-user.ts\n \n\n\n\n \n Extends\n \n \n ICurrentUser\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalIdToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalIdToken\n \n \n \n \n \n \n \n \n externalIdToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout\n\n \n \n \n \n \n \n\n\n \n import { ICurrentUser } from './user';\n\nexport interface OauthCurrentUser extends ICurrentUser {\n\t/** Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout */\n\texternalIdToken?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataDto.html":{"url":"classes/OauthDataDto.html","title":"class - OauthDataDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalGroups\n \n \n Optional\n externalSchool\n \n \n externalUser\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalGroups\n \n \n \n \n \n \n Type : ExternalGroupDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalSchool\n \n \n \n \n \n \n Type : ExternalSchoolDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n externalUser\n \n \n \n \n \n \n Type : ExternalUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalUserDto } from './external-user.dto';\nimport { ExternalSchoolDto } from './external-school.dto';\nimport { ProvisioningSystemDto } from './provisioning-system.dto';\nimport { ExternalGroupDto } from './external-group.dto';\n\nexport class OauthDataDto {\n\tsystem: ProvisioningSystemDto;\n\n\texternalUser: ExternalUserDto;\n\n\texternalSchool?: ExternalSchoolDto;\n\n\texternalGroups?: ExternalGroupDto[];\n\n\tconstructor(props: OauthDataDto) {\n\t\tthis.system = props.system;\n\t\tthis.externalUser = props.externalUser;\n\t\tthis.externalSchool = props.externalSchool;\n\t\tthis.externalGroups = props.externalGroups;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataStrategyInputDto.html":{"url":"classes/OauthDataStrategyInputDto.html","title":"class - OauthDataStrategyInputDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataStrategyInputDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataStrategyInputDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataStrategyInputDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ProvisioningSystemDto } from './provisioning-system.dto';\n\nexport class OauthDataStrategyInputDto {\n\taccessToken: string;\n\n\tidToken: string;\n\n\tsystem: ProvisioningSystemDto;\n\n\tconstructor(props: OauthDataStrategyInputDto) {\n\t\tthis.accessToken = props.accessToken;\n\t\tthis.idToken = props.idToken;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthLoginResponse.html":{"url":"classes/OauthLoginResponse.html","title":"class - OauthLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts\n \n\n\n\n \n Extends\n \n \n LoginResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthLoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthLoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The external id token which is from the external oauth system and set when scope openid is available.'})\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from LoginResponse\n\n \n \n \n \n Defined in LoginResponse:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { LoginResponse } from './login.response';\n\nexport class OauthLoginResponse extends LoginResponse {\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The external id token which is from the external oauth system and set when scope openid is available.',\n\t})\n\texternalIdToken?: string;\n\n\tconstructor(props: OauthLoginResponse) {\n\t\tsuper(props);\n\t\tthis.externalIdToken = props.externalIdToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthModule.html":{"url":"modules/OauthModule.html","title":"module - OauthModule","body":"\n \n\n\n\n\n Modules\n OauthModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthModule\n\n\n\ncluster_OauthModule_providers\n\n\n\ncluster_OauthModule_exports\n\n\n\ncluster_OauthModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthModule\n\nOauthModule\n\nOauthModule -->\n\nAuthorizationModule->OauthModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nOauthModule -->\n\nCacheWrapperModule->OauthModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nOauthModule -->\n\nEncryptionModule->OauthModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nOauthModule -->\n\nLegacySchoolModule->OauthModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthModule -->\n\nLoggerModule->OauthModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nOauthModule -->\n\nProvisioningModule->OauthModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nOauthModule -->\n\nSystemModule->OauthModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nOauthModule -->\n\nUserLoginMigrationModule->OauthModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthModule -->\n\nUserModule->OauthModule\n\n\n\n\n\nHydraSsoService \n\nHydraSsoService \n\nHydraSsoService -->\n\nOauthModule->HydraSsoService \n\n\n\n\n\nOAuthService \n\nOAuthService \n\nOAuthService -->\n\nOauthModule->OAuthService \n\n\n\n\n\nHydraSsoService\n\nHydraSsoService\n\nOauthModule -->\n\nHydraSsoService->OauthModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nOauthModule -->\n\nLtiToolRepo->OauthModule\n\n\n\n\n\nOAuthService\n\nOAuthService\n\nOauthModule -->\n\nOAuthService->OauthModule\n\n\n\n\n\nOauthAdapterService\n\nOauthAdapterService\n\nOauthModule -->\n\nOauthAdapterService->OauthModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraSsoService\n \n \n LtiToolRepo\n \n \n OAuthService\n \n \n OauthAdapterService\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CacheWrapperModule\n \n \n EncryptionModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ProvisioningModule\n \n \n SystemModule\n \n \n UserLoginMigrationModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n HydraSsoService\n \n \n OAuthService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { EncryptionModule } from '@infra/encryption';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { HydraSsoService } from './service/hydra.service';\nimport { OauthAdapterService } from './service/oauth-adapter.service';\nimport { OAuthService } from './service/oauth.service';\n\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tHttpModule,\n\t\tEncryptionModule,\n\t\tUserModule,\n\t\tProvisioningModule,\n\t\tSystemModule,\n\t\tCacheWrapperModule,\n\t\tUserLoginMigrationModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [OAuthService, OauthAdapterService, HydraSsoService, LtiToolRepo],\n\texports: [OAuthService, HydraSsoService],\n})\nexport class OauthModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderApiModule.html":{"url":"modules/OauthProviderApiModule.html","title":"module - OauthProviderApiModule","body":"\n \n\n\n\n\n Modules\n OauthProviderApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderApiModule\n\n\n\ncluster_OauthProviderApiModule_providers\n\n\n\ncluster_OauthProviderApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nOauthProviderApiModule -->\n\nAuthorizationModule->OauthProviderApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthProviderApiModule -->\n\nLoggerModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderApiModule -->\n\nOauthProviderModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderApiModule -->\n\nOauthProviderServiceModule->OauthProviderApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderApiModule -->\n\nPseudonymModule->OauthProviderApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderApiModule -->\n\nUserModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderClientCrudUc\n\nOauthProviderClientCrudUc\n\nOauthProviderApiModule -->\n\nOauthProviderClientCrudUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderConsentFlowUc\n\nOauthProviderConsentFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderConsentFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLoginFlowUc\n\nOauthProviderLoginFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLoginFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLogoutFlowUc\n\nOauthProviderLogoutFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLogoutFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderResponseMapper\n\nOauthProviderResponseMapper\n\nOauthProviderApiModule -->\n\nOauthProviderResponseMapper->OauthProviderApiModule\n\n\n\n\n\nOauthProviderUc\n\nOauthProviderUc\n\nOauthProviderApiModule -->\n\nOauthProviderUc->OauthProviderApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n OauthProviderClientCrudUc\n \n \n OauthProviderConsentFlowUc\n \n \n OauthProviderLoginFlowUc\n \n \n OauthProviderLogoutFlowUc\n \n \n OauthProviderResponseMapper\n \n \n OauthProviderUc\n \n \n \n \n Controllers\n \n \n OauthProviderController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n OauthProviderModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { OauthProviderController } from './controller/oauth-provider.controller';\nimport { OauthProviderResponseMapper } from './mapper/oauth-provider-response.mapper';\nimport { OauthProviderModule } from './oauth-provider.module';\nimport {\n\tOauthProviderClientCrudUc,\n\tOauthProviderConsentFlowUc,\n\tOauthProviderLoginFlowUc,\n\tOauthProviderLogoutFlowUc,\n\tOauthProviderUc,\n} from './uc';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tOauthProviderModule,\n\t\tPseudonymModule,\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tUserModule,\n\t],\n\tproviders: [\n\t\tOauthProviderUc,\n\t\tOauthProviderClientCrudUc,\n\t\tOauthProviderConsentFlowUc,\n\t\tOauthProviderLogoutFlowUc,\n\t\tOauthProviderLoginFlowUc,\n\t\tOauthProviderResponseMapper,\n\t],\n\tcontrollers: [OauthProviderController],\n})\nexport class OauthProviderApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderClientCrudUc.html":{"url":"injectables/OauthProviderClientCrudUc.html","title":"injectable - OauthProviderClientCrudUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderClientCrudUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n Async\n deleteOAuth2Client\n \n \n Async\n getOAuth2Client\n \n \n Async\n listOAuth2Clients\n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n \n \n Type : ProviderOauthClient\n\n \n \n \n \n Default value : {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t}\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { OauthProviderService } from '@infra/oauth-provider/index';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\n\n@Injectable()\nexport class OauthProviderClientCrudUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tprivate readonly defaultOauthClientBody: ProviderOauthClient = {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t};\n\n\tasync listOAuth2Clients(\n\t\tcurrentUser: ICurrentUser,\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient[] = await this.oauthProviderService.listOAuth2Clients(\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tclient_name,\n\t\t\towner\n\t\t);\n\t\treturn client;\n\t}\n\n\tasync getOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(id);\n\n\t\treturn client;\n\t}\n\n\tasync createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.createOAuth2Client(dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync updateOAuth2Client(\n\t\tcurrentUser: ICurrentUser,\n\t\tid: string,\n\t\tdata: ProviderOauthClient\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.updateOAuth2Client(id, dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync deleteOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\treturn this.oauthProviderService.deleteOAuth2Client(id);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderConsentFlowUc.html":{"url":"injectables/OauthProviderConsentFlowUc.html","title":"injectable - OauthProviderConsentFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderConsentFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n Async\n getConsentRequest\n \n \n Async\n patchConsentRequest\n \n \n Private\n rejectConsentRequest\n \n \n Private\n validateSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, idTokenService: IdTokenService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n idTokenService\n \n \n IdTokenService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody, userId: string, requested_scope: string[] | undefined, client_id: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n requested_scope\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n client_id\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(challenge: string, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateSubject\n \n \n \n \n \n \n \n validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n response\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport {\n\tAcceptConsentRequestBody,\n\tProviderConsentResponse,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from '@infra/oauth-provider/dto';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AcceptQuery, ConsentRequestBody } from '@modules/oauth-provider/controller/dto';\nimport { IdToken } from '@modules/oauth-provider/interface/id-token';\nimport { IdTokenService } from '@modules/oauth-provider/service/id-token.service';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class OauthProviderConsentFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly idTokenService: IdTokenService\n\t) {}\n\n\tasync getConsentRequest(challenge: string): Promise {\n\t\tconst consentResponse: ProviderConsentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\treturn consentResponse;\n\t}\n\n\tasync patchConsentRequest(\n\t\tchallenge: string,\n\t\tquery: AcceptQuery,\n\t\tbody: ConsentRequestBody,\n\t\tcurrentUser: ICurrentUser\n\t): Promise {\n\t\tconst consentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\tthis.validateSubject(currentUser, consentResponse);\n\n\t\tlet response: Promise;\n\t\tif (query.accept) {\n\t\t\tresponse = this.acceptConsentRequest(\n\t\t\t\tchallenge,\n\t\t\t\tbody,\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tconsentResponse.requested_scope,\n\t\t\t\tconsentResponse.client?.client_id\n\t\t\t);\n\t\t} else {\n\t\t\tresponse = this.rejectConsentRequest(challenge, body);\n\t\t}\n\t\treturn response;\n\t}\n\n\tprivate rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptConsentRequest(\n\t\tchallenge: string,\n\t\tbody: AcceptConsentRequestBody,\n\t\tuserId: string,\n\t\trequested_scope: string[] | undefined,\n\t\tclient_id: string | undefined\n\t): Promise {\n\t\tconst idToken: IdToken = await this.idTokenService.createIdToken(userId, requested_scope || [], client_id || '');\n\t\tif (idToken) {\n\t\t\tbody.session = {\n\t\t\t\tid_token: idToken,\n\t\t\t};\n\t\t}\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse): void {\n\t\tif (response.subject !== currentUser.userId) {\n\t\t\tthrow new ForbiddenException(\"You want to patch another user's consent\");\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthProviderController.html":{"url":"controllers/OauthProviderController.html","title":"controller - OauthProviderController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthProviderController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts\n \n\n \n Prefix\n \n \n oauth2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n deleteOAuth2Client\n \n \n \n \n Async\n getConsentRequest\n \n \n \n Async\n getLoginRequest\n \n \n \n \n Async\n getOAuth2Client\n \n \n \n getUrl\n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n revokeConsentSession\n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('logoutRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Post('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Get('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUrl\n \n \n \n \n \n \n \n getUrl()\n \n \n\n \n \n Decorators : \n \n @Get('baseUrl')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, params: ListOauthClientsParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ListOauthClientsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(params: ChallengeParams, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(params: ChallengeParams, query: AcceptQuery, body: LoginRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(currentUser: ICurrentUser, params: RevokeConsentParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n RevokeConsentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, params: IdParams, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Put('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common';\n// import should be @infra/oauth-provider\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport { ApiTags } from '@nestjs/swagger';\nimport { OauthProviderResponseMapper } from '../mapper/oauth-provider-response.mapper';\nimport { OauthProviderClientCrudUc } from '../uc/oauth-provider.client-crud.uc';\nimport { OauthProviderConsentFlowUc } from '../uc/oauth-provider.consent-flow.uc';\nimport { OauthProviderLoginFlowUc } from '../uc/oauth-provider.login-flow.uc';\nimport { OauthProviderLogoutFlowUc } from '../uc/oauth-provider.logout-flow.uc';\nimport { OauthProviderUc } from '../uc/oauth-provider.uc';\nimport {\n\tAcceptQuery,\n\tChallengeParams,\n\tConsentRequestBody,\n\tConsentSessionResponse,\n\tIdParams,\n\tListOauthClientsParams,\n\tLoginRequestBody,\n\tLoginResponse,\n\tOauthClientBody,\n\tOauthClientResponse,\n\tRevokeConsentParams,\n} from './dto';\nimport { ConsentResponse } from './dto/response/consent.response';\nimport { RedirectResponse } from './dto/response/redirect.response';\n\n@Controller('oauth2')\n@ApiTags('Oauth2')\nexport class OauthProviderController {\n\tconstructor(\n\t\tprivate readonly consentFlowUc: OauthProviderConsentFlowUc,\n\t\tprivate readonly logoutFlowUc: OauthProviderLogoutFlowUc,\n\t\tprivate readonly crudUc: OauthProviderClientCrudUc,\n\t\tprivate readonly oauthProviderUc: OauthProviderUc,\n\t\tprivate readonly oauthProviderLoginFlowUc: OauthProviderLoginFlowUc,\n\t\tprivate readonly oauthProviderResponseMapper: OauthProviderResponseMapper\n\t) {}\n\n\t@Authenticate('jwt')\n\t@Get('clients/:id')\n\tasync getOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.getOAuth2Client(currentUser, params.id);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('clients')\n\tasync listOAuth2Clients(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ListOauthClientsParams\n\t): Promise {\n\t\tconst clients: ProviderOauthClient[] = await this.crudUc.listOAuth2Clients(\n\t\t\tcurrentUser,\n\t\t\tparams.limit,\n\t\t\tparams.offset,\n\t\t\tparams.client_name,\n\t\t\tparams.owner\n\t\t);\n\t\tconst mapped: OauthClientResponse[] = clients.map(\n\t\t\t(client: ProviderOauthClient): OauthClientResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapOauthClientResponse(client)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Post('clients')\n\tasync createOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.createOAuth2Client(currentUser, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Put('clients/:id')\n\tasync updateOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.updateOAuth2Client(currentUser, params.id, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('clients/:id')\n\tdeleteOAuth2Client(@CurrentUser() currentUser: ICurrentUser, @Param() params: IdParams): Promise {\n\t\tconst promise: Promise = this.crudUc.deleteOAuth2Client(currentUser, params.id);\n\t\treturn promise;\n\t}\n\n\t@Get('loginRequest/:challenge')\n\tasync getLoginRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderLoginFlowUc.getLoginRequest(params.challenge);\n\t\tconst mapped: LoginResponse = this.oauthProviderResponseMapper.mapLoginResponse(loginResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('loginRequest/:challenge')\n\tasync patchLoginRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: LoginRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderLoginFlowUc.patchLoginRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.challenge,\n\t\t\tbody,\n\t\t\tquery\n\t\t);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('logoutRequest/:challenge')\n\tasync acceptLogoutRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst redirect: ProviderRedirectResponse = await this.logoutFlowUc.logoutFlow(params.challenge);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirect);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('consentRequest/:challenge')\n\tasync getConsentRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst consentRequest: ProviderConsentResponse = await this.consentFlowUc.getConsentRequest(params.challenge);\n\t\tconst mapped: ConsentResponse = this.oauthProviderResponseMapper.mapConsentResponse(consentRequest);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('consentRequest/:challenge')\n\tasync patchConsentRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: ConsentRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.consentFlowUc.patchConsentRequest(\n\t\t\tparams.challenge,\n\t\t\tquery,\n\t\t\tbody,\n\t\t\tcurrentUser\n\t\t);\n\t\tconst response: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn response;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('auth/sessions/consent')\n\tasync listConsentSessions(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst sessions: ProviderConsentSessionResponse[] = await this.oauthProviderUc.listConsentSessions(\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst mapped: ConsentSessionResponse[] = sessions.map(\n\t\t\t(session: ProviderConsentSessionResponse): ConsentSessionResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapConsentSessionsToResponse(session)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('auth/sessions/consent')\n\trevokeConsentSession(@CurrentUser() currentUser: ICurrentUser, @Param() params: RevokeConsentParams): Promise {\n\t\tconst promise: Promise = this.oauthProviderUc.revokeConsentSession(currentUser.userId, params.client);\n\t\treturn promise;\n\t}\n\n\t@Get('baseUrl')\n\tgetUrl(): Promise {\n\t\treturn Promise.resolve(Configuration.get('HYDRA_URI') as string);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowService.html":{"url":"injectables/OauthProviderLoginFlowService.html","title":"injectable - OauthProviderLoginFlowService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n Public\n isNextcloudTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolService: LtiToolService, externalToolService: ExternalToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolService\n \n \n LtiToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n \n \n \n \n \n findToolByClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isNextcloudTool\n \n \n \n \n \n \n \n isNextcloudTool(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LtiToolService } from '@modules/lti-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '@modules/tool/tool-config';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\n\n@Injectable()\nexport class OauthProviderLoginFlowService {\n\tconstructor(\n\t\tprivate readonly ltiToolService: LtiToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tpublic async findToolByClientId(clientId: string): Promise {\n\t\tif (this.toolFeatures.ctlToolsTabEnabled) {\n\t\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\t\tclientId\n\t\t\t);\n\n\t\t\tif (externalTool) {\n\t\t\t\treturn externalTool;\n\t\t\t}\n\t\t}\n\n\t\tconst ltiTool: LtiToolDO | null = await this.ltiToolService.findByClientIdAndIsLocal(clientId, true);\n\n\t\tif (ltiTool) {\n\t\t\treturn ltiTool;\n\t\t}\n\n\t\tthrow new NotFoundException(`Unable to find ExternalTool or LtiTool for clientId: ${clientId}`);\n\t}\n\n\t// TODO N21-91. Magic Strings are not desireable\n\tpublic isNextcloudTool(tool: ExternalTool | LtiToolDO): boolean {\n\t\tconst isNextcloud: boolean = tool.name === 'SchulcloudNextcloud';\n\n\t\treturn isNextcloud;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowUc.html":{"url":"injectables/OauthProviderLoginFlowUc.html","title":"injectable - OauthProviderLoginFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n Async\n getLoginRequest\n \n \n Async\n patchLoginRequest\n \n \n Private\n Async\n rejectLoginRequest\n \n \n Private\n shouldSkipConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, authorizationService: AuthorizationService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(currentUserId: string, challenge: string, loginRequestBody: LoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(currentUserId: string, challenge: string, body: LoginRequestBody, query: AcceptQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, rejectRequestBody: OAuthRejectableBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n rejectRequestBody\n \n OAuthRejectableBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n shouldSkipConsent\n \n \n \n \n \n \n \n shouldSkipConsent(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { AcceptLoginRequestBody, ProviderLoginResponse, ProviderRedirectResponse } from '@infra/oauth-provider/dto';\nimport { AuthorizationService } from '@modules/authorization';\nimport { AcceptQuery, LoginRequestBody, OAuthRejectableBody } from '@modules/oauth-provider/controller/dto';\nimport { OauthProviderRequestMapper } from '@modules/oauth-provider/mapper/oauth-provider-request.mapper';\nimport { PseudonymService } from '@modules/pseudonym/service';\nimport { ExternalTool, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { OauthProviderLoginFlowService } from '../service/oauth-provider.login-flow.service';\n\n@Injectable()\nexport class OauthProviderLoginFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync getLoginRequest(challenge: string): Promise {\n\t\tconst loginResponse: Promise = this.oauthProviderService.getLoginRequest(challenge);\n\t\treturn loginResponse;\n\t}\n\n\tasync patchLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tbody: LoginRequestBody,\n\t\tquery: AcceptQuery\n\t): Promise {\n\t\tlet redirectResponse: ProviderRedirectResponse;\n\t\tif (query.accept) {\n\t\t\tredirectResponse = await this.acceptLoginRequest(currentUserId, challenge, body);\n\t\t} else {\n\t\t\tredirectResponse = await this.rejectLoginRequest(challenge, body);\n\t\t}\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tloginRequestBody: LoginRequestBody\n\t): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderService.getLoginRequest(challenge);\n\n\t\tif (!loginResponse.client.client_id) {\n\t\t\tthrow new InternalServerErrorException(`Cannot find oAuthClientId in login response for challenge: ${challenge}`);\n\t\t}\n\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(\n\t\t\tloginResponse.client.client_id\n\t\t);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new InternalServerErrorException('Tool has no id');\n\t\t}\n\n\t\tif (this.oauthProviderLoginFlowService.isNextcloudTool(tool)) {\n\t\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUserId);\n\t\t\tthis.authorizationService.checkAllPermissions(user, [Permission.NEXTCLOUD_USER]);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findOrCreatePseudonym(user, tool);\n\n\t\tconst skipConsent: boolean = this.shouldSkipConsent(tool);\n\n\t\tconst acceptLoginRequestBody: AcceptLoginRequestBody = OauthProviderRequestMapper.mapCreateAcceptLoginRequestBody(\n\t\t\tloginRequestBody,\n\t\t\tcurrentUserId,\n\t\t\tpseudonym.pseudonym,\n\t\t\t{\n\t\t\t\tskipConsent,\n\t\t\t}\n\t\t);\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptLoginRequest(\n\t\t\tloginResponse.challenge,\n\t\t\tacceptLoginRequestBody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate shouldSkipConsent(tool: ExternalTool | LtiToolDO): boolean {\n\t\tif (tool instanceof LtiToolDO) {\n\t\t\treturn !!tool.skipConsent;\n\t\t}\n\t\tif (tool.config instanceof Oauth2ToolConfig) {\n\t\t\treturn tool.config.skipConsent;\n\t\t}\n\t\tthrow new UnprocessableEntityException(\n\t\t\t`Cannot use Tool ${tool.name} for OAuth2 login, since it is not a LtiTool or OAuth2-ExternalTool`\n\t\t);\n\t}\n\n\tprivate async rejectLoginRequest(\n\t\tchallenge: string,\n\t\trejectRequestBody: OAuthRejectableBody\n\t): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectLoginRequest(\n\t\t\tchallenge,\n\t\t\trejectRequestBody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLogoutFlowUc.html":{"url":"injectables/OauthProviderLogoutFlowUc.html","title":"injectable - OauthProviderLogoutFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLogoutFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n logoutFlow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n logoutFlow\n \n \n \n \n \n \nlogoutFlow(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderRedirectResponse } from '@infra/oauth-provider/dto';\n\n@Injectable()\nexport class OauthProviderLogoutFlowUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlogoutFlow(challenge: string): Promise {\n\t\tconst logoutResponse: Promise = this.oauthProviderService.acceptLogoutRequest(challenge);\n\t\treturn logoutResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderModule.html":{"url":"modules/OauthProviderModule.html","title":"module - OauthProviderModule","body":"\n \n\n\n\n\n Modules\n OauthProviderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderModule\n\n\n\ncluster_OauthProviderModule_exports\n\n\n\ncluster_OauthProviderModule_providers\n\n\n\ncluster_OauthProviderModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderModule -->\n\nLoggerModule->OauthProviderModule\n\n\n\n\n\nLtiToolModule\n\nLtiToolModule\n\nOauthProviderModule -->\n\nLtiToolModule->OauthProviderModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderModule -->\n\nOauthProviderServiceModule->OauthProviderModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderModule -->\n\nPseudonymModule->OauthProviderModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nOauthProviderModule -->\n\nToolConfigModule->OauthProviderModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nOauthProviderModule -->\n\nToolModule->OauthProviderModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderModule -->\n\nUserModule->OauthProviderModule\n\n\n\n\n\nIdTokenService \n\nIdTokenService \n\nIdTokenService -->\n\nOauthProviderModule->IdTokenService \n\n\n\n\n\nOauthProviderLoginFlowService \n\nOauthProviderLoginFlowService \n\nOauthProviderLoginFlowService -->\n\nOauthProviderModule->OauthProviderLoginFlowService \n\n\n\n\n\nIdTokenService\n\nIdTokenService\n\nOauthProviderModule -->\n\nIdTokenService->OauthProviderModule\n\n\n\n\n\nOauthProviderLoginFlowService\n\nOauthProviderLoginFlowService\n\nOauthProviderModule -->\n\nOauthProviderLoginFlowService->OauthProviderModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nOauthProviderModule -->\n\nTeamsRepo->OauthProviderModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n IdTokenService\n \n \n OauthProviderLoginFlowService\n \n \n TeamsRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n LtiToolModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n IdTokenService\n \n \n OauthProviderLoginFlowService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LtiToolModule } from '@modules/lti-tool';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { ToolConfigModule } from '@modules/tool/tool-config.module';\nimport { UserModule } from '@modules/user';\nimport { IdTokenService } from './service/id-token.service';\nimport { OauthProviderLoginFlowService } from './service/oauth-provider.login-flow.service';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tPseudonymModule,\n\t\tLtiToolModule,\n\t\tToolModule,\n\t\tToolConfigModule,\n\t],\n\tproviders: [OauthProviderLoginFlowService, IdTokenService, TeamsRepo],\n\texports: [OauthProviderLoginFlowService, IdTokenService],\n})\nexport class OauthProviderModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthProviderRequestMapper.html":{"url":"classes/OauthProviderRequestMapper.html","title":"class - OauthProviderRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthProviderRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/mapper/oauth-provider-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateAcceptLoginRequestBody\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateAcceptLoginRequestBody\n \n \n \n \n \n \n \n mapCreateAcceptLoginRequestBody(loginRequestBody: LoginRequestBody, currentUserId: string, pseudonym: string, context?: object)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n context\n \n object\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : AcceptLoginRequestBody\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AcceptLoginRequestBody } from '@infra/oauth-provider/dto';\nimport { LoginRequestBody } from '@modules/oauth-provider/controller/dto';\n\nexport class OauthProviderRequestMapper {\n\tstatic mapCreateAcceptLoginRequestBody(\n\t\tloginRequestBody: LoginRequestBody,\n\t\tcurrentUserId: string,\n\t\tpseudonym: string,\n\t\tcontext?: object\n\t): AcceptLoginRequestBody {\n\t\treturn {\n\t\t\tremember: loginRequestBody.remember,\n\t\t\tremember_for: loginRequestBody.remember_for,\n\t\t\tsubject: currentUserId,\n\t\t\tforce_subject_identifier: pseudonym,\n\t\t\tcontext,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderResponseMapper.html":{"url":"injectables/OauthProviderResponseMapper.html","title":"injectable - OauthProviderResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapConsentResponse\n \n \n mapConsentSessionsToResponse\n \n \n mapLoginResponse\n \n \n mapOauthClientResponse\n \n \n mapRedirectResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapConsentResponse\n \n \n \n \n \n \nmapConsentResponse(consent: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consent\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ConsentResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapConsentSessionsToResponse\n \n \n \n \n \n \nmapConsentSessionsToResponse(session: ProviderConsentSessionResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n session\n \n ProviderConsentSessionResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ConsentSessionResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapLoginResponse\n \n \n \n \n \n \nmapLoginResponse(providerLoginResponse: ProviderLoginResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n providerLoginResponse\n \n ProviderLoginResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapOauthClientResponse\n \n \n \n \n \n \nmapOauthClientResponse(oauthClient: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthClientResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapRedirectResponse\n \n \n \n \n \n \nmapRedirectResponse(redirect: ProviderRedirectResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirect\n \n ProviderRedirectResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RedirectResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport {\n\tConsentResponse,\n\tConsentSessionResponse,\n\tLoginResponse,\n\tOauthClientResponse,\n\tRedirectResponse,\n} from '@modules/oauth-provider/controller/dto';\n\n@Injectable()\nexport class OauthProviderResponseMapper {\n\tmapRedirectResponse(redirect: ProviderRedirectResponse): RedirectResponse {\n\t\treturn new RedirectResponse({ ...redirect });\n\t}\n\n\tmapConsentResponse(consent: ProviderConsentResponse): ConsentResponse {\n\t\treturn new ConsentResponse({ ...consent });\n\t}\n\n\tmapOauthClientResponse(oauthClient: ProviderOauthClient): OauthClientResponse {\n\t\tdelete oauthClient.client_secret;\n\t\treturn new OauthClientResponse({ ...oauthClient });\n\t}\n\n\tmapConsentSessionsToResponse(session: ProviderConsentSessionResponse): ConsentSessionResponse {\n\t\treturn new ConsentSessionResponse(\n\t\t\tsession.consent_request.client?.client_id,\n\t\t\tsession.consent_request.client?.client_name,\n\t\t\tsession.consent_request.challenge\n\t\t);\n\t}\n\n\tmapLoginResponse(providerLoginResponse: ProviderLoginResponse): LoginResponse {\n\t\treturn new LoginResponse({ ...providerLoginResponse });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthProviderService.html":{"url":"classes/OauthProviderService.html","title":"class - OauthProviderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthProviderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/oauth-provider.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n acceptConsentRequest\n \n \n Abstract\n acceptLoginRequest\n \n \n Abstract\n acceptLogoutRequest\n \n \n Abstract\n createOAuth2Client\n \n \n Abstract\n deleteOAuth2Client\n \n \n Abstract\n getConsentRequest\n \n \n Abstract\n getLoginRequest\n \n \n Abstract\n getOAuth2Client\n \n \n Abstract\n introspectOAuth2Token\n \n \n Abstract\n isInstanceAlive\n \n \n Abstract\n listConsentSessions\n \n \n Abstract\n listOAuth2Clients\n \n \n Abstract\n rejectConsentRequest\n \n \n Abstract\n rejectLoginRequest\n \n \n Abstract\n revokeConsentSession\n \n \n Abstract\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(challenge: string, body: AcceptLoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptLoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n introspectOAuth2Token\n \n \n \n \n \n \n \n introspectOAuth2Token(token: string, scope?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n scope\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isInstanceAlive\n \n \n \n \n \n \n \n isInstanceAlive()\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:30\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(user: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(user: string, client: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n string\n \n\n \n No\n \n\n\n \n \n client\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tAcceptConsentRequestBody,\n\tAcceptLoginRequestBody,\n\tIntrospectResponse,\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from './dto';\n\nexport abstract class OauthProviderService {\n\tabstract getLoginRequest(challenge: string): Promise;\n\n\tabstract acceptLoginRequest(challenge: string, body: AcceptLoginRequestBody): Promise;\n\n\tabstract rejectLoginRequest(challenge: string, body: RejectRequestBody): Promise;\n\n\tabstract getConsentRequest(challenge: string): Promise;\n\n\tabstract acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody): Promise;\n\n\tabstract rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise;\n\n\tabstract acceptLogoutRequest(challenge: string): Promise;\n\n\tabstract introspectOAuth2Token(token: string, scope?: string): Promise;\n\n\tabstract isInstanceAlive(): Promise;\n\n\tabstract listOAuth2Clients(\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise;\n\n\tabstract createOAuth2Client(data: ProviderOauthClient): Promise;\n\n\tabstract getOAuth2Client(id: string): Promise;\n\n\tabstract updateOAuth2Client(id: string, data: ProviderOauthClient): Promise;\n\n\tabstract deleteOAuth2Client(id: string): Promise;\n\n\tabstract listConsentSessions(user: string): Promise;\n\n\tabstract revokeConsentSession(user: string, client: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderServiceModule.html":{"url":"modules/OauthProviderServiceModule.html","title":"module - OauthProviderServiceModule","body":"\n \n\n\n\n\n Modules\n OauthProviderServiceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderServiceModule\n\n\n\ncluster_OauthProviderServiceModule_exports\n\n\n\n\nOauthProviderService \n\nOauthProviderService \n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderService -->\n\nOauthProviderServiceModule->OauthProviderService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/oauth-provider/oauth-provider-service.module.ts\n \n\n\n\n\n\n \n \n \n Exports\n \n \n OauthProviderService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { OauthProviderService } from './oauth-provider.service';\nimport { HydraAdapter } from './hydra/hydra.adapter';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [{ provide: OauthProviderService, useClass: HydraAdapter }],\n\texports: [OauthProviderService],\n})\nexport class OauthProviderServiceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderUc.html":{"url":"injectables/OauthProviderUc.html","title":"injectable - OauthProviderUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n listConsentSessions\n \n \n revokeConsentSession\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n listConsentSessions\n \n \n \n \n \n \nlistConsentSessions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \nrevokeConsentSession(userId: EntityId, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderConsentSessionResponse } from '@infra/oauth-provider/dto/';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class OauthProviderUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlistConsentSessions(userId: EntityId): Promise {\n\t\tconst sessions: Promise = this.oauthProviderService.listConsentSessions(userId);\n\t\treturn sessions;\n\t}\n\n\trevokeConsentSession(userId: EntityId, clientId: string): Promise {\n\t\tconst promise: Promise = this.oauthProviderService.revokeConsentSession(userId, clientId);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthSSOController.html":{"url":"controllers/OauthSSOController.html","title":"controller - OauthSSOController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthSSOController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/oauth-sso.controller.ts\n \n\n \n Prefix\n \n \n sso\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n \n \n \n getHydraOauthToken(query: StatelessAuthorizationParams, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('hydra/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n StatelessAuthorizationParams\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n \n \n \n requestAuthToken(currentUser: ICurrentUser, req: Request, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('auth/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query, Req, UnauthorizedException } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Request } from 'express';\nimport { OAuthTokenDto } from '../interface';\nimport { HydraOauthUc } from '../uc';\nimport { AuthorizationParams } from './dto';\nimport { StatelessAuthorizationParams } from './dto/stateless-authorization.params';\n\n@ApiTags('SSO')\n@Controller('sso')\nexport class OauthSSOController {\n\tconstructor(private readonly hydraUc: HydraOauthUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(OauthSSOController.name);\n\t}\n\n\t@Get('hydra/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync getHydraOauthToken(\n\t\t@Query() query: StatelessAuthorizationParams,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tconst oauthToken = this.hydraUc.getOauthToken(oauthClientId, query.code, query.error);\n\t\treturn oauthToken;\n\t}\n\n\t@Get('auth/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync requestAuthToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Req() req: Request,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tlet jwt: string;\n\t\tconst authHeader: string | undefined = req.headers.authorization;\n\t\tif (authHeader?.toLowerCase()?.startsWith('bearer ')) {\n\t\t\t[, jwt] = authHeader.split(' ');\n\t\t} else {\n\t\t\tthrow new UnauthorizedException(\n\t\t\t\t`No bearer token in header for authorization process of user ${currentUser.userId} on oauth system ${oauthClientId}`\n\t\t\t);\n\t\t}\n\t\treturn this.hydraUc.requestAuthCode(jwt, oauthClientId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthSsoErrorLoggableException.html":{"url":"classes/OauthSsoErrorLoggableException.html","title":"class - OauthSsoErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthSsoErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts:5\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class OauthSsoErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_LOGIN_FAILED',\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthTokenResponse.html":{"url":"interfaces/OauthTokenResponse.html","title":"interface - OauthTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-token.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n access_token\n \n \n \n \n id_token\n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n access_token\n \n \n \n \n \n \n \n \n access_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id_token\n \n \n \n \n \n \n \n \n id_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n refresh_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface OauthTokenResponse {\n\taccess_token: string;\n\n\trefresh_token: string;\n\n\tid_token: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ObjectKeysRecursive.html":{"url":"interfaces/ObjectKeysRecursive.html","title":"interface - ObjectKeysRecursive","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ObjectKeysRecursive\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n files\n \n \n \n \n maxKeys\n \n \n \n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number | undefined\n\n \n \n\n\n \n \n Type : number | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string | undefined\n\n \n \n\n\n \n \n Type : string | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OcsResponse.html":{"url":"interfaces/OcsResponse.html","title":"interface - OcsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OcsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n ocs: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigDto.html":{"url":"classes/OidcConfigDto.html","title":"class - OidcConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oidc-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorizationUrl\n \n \n clientId\n \n \n clientSecret\n \n \n defaultScopes\n \n \n idpHint\n \n \n logoutUrl\n \n \n parentSystemId\n \n \n tokenUrl\n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfigDto: OidcConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfigDto\n \n \n OidcConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n defaultScopes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parentSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n tokenUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n userinfoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OidcConfigDto {\n\tconstructor(oidcConfigDto: OidcConfigDto) {\n\t\tthis.parentSystemId = oidcConfigDto.parentSystemId;\n\t\tthis.clientId = oidcConfigDto.clientId;\n\t\tthis.clientSecret = oidcConfigDto.clientSecret;\n\t\tthis.idpHint = oidcConfigDto.idpHint;\n\t\tthis.authorizationUrl = oidcConfigDto.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfigDto.tokenUrl;\n\t\tthis.userinfoUrl = oidcConfigDto.userinfoUrl;\n\t\tthis.logoutUrl = oidcConfigDto.logoutUrl;\n\t\tthis.defaultScopes = oidcConfigDto.defaultScopes;\n\t}\n\n\tparentSystemId: string;\n\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint: string;\n\n\tauthorizationUrl: string;\n\n\ttokenUrl: string;\n\n\tlogoutUrl: string;\n\n\tuserinfoUrl: string;\n\n\tdefaultScopes: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigEntity.html":{"url":"classes/OidcConfigEntity.html","title":"class - OidcConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n defaultScopes\n \n \n \n idpHint\n \n \n \n logoutUrl\n \n \n \n tokenUrl\n \n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfig: OidcConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:154\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n \n OidcConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:176\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:167\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:170\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:188\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:173\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:182\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:179\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:185\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcContextResponse.html":{"url":"classes/OidcContextResponse.html","title":"class - OidcContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n Optional\n display\n \n \n \n Optional\n id_token_hint_claims\n \n \n \n Optional\n login_hint\n \n \n \n \n Optional\n ui_locales\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n display\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id_token_hint_claims\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n login_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ui_locales\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Optional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { Optional } from '@nestjs/common';\n\nexport class OidcContextResponse {\n\t@ApiProperty()\n\tacr_values?: string[];\n\n\t@ApiProperty()\n\tdisplay?: string;\n\n\t@ApiProperty()\n\tid_token_hint_claims?: object;\n\n\t@ApiProperty()\n\tlogin_hint?: string;\n\n\t@Optional()\n\t@ApiProperty()\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcIdentityProviderMapper.html":{"url":"classes/OidcIdentityProviderMapper.html","title":"class - OidcIdentityProviderMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcIdentityProviderMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n defaultEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n \n \n \n mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n flowAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdentityProviderRepresentation\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { Inject } from '@nestjs/common';\n\nexport class OidcIdentityProviderMapper {\n\tconstructor(@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService) {}\n\n\tpublic mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string): IdentityProviderRepresentation {\n\t\treturn {\n\t\t\tproviderId: 'oidc',\n\t\t\talias: oidcConfig.idpHint,\n\t\t\tdisplayName: oidcConfig.idpHint,\n\t\t\tenabled: true,\n\t\t\tfirstBrokerLoginFlowAlias: flowAlias,\n\t\t\tconfig: {\n\t\t\t\tclientId: oidcConfig.clientId,\n\t\t\t\tclientSecret: this.defaultEncryptionService.decrypt(oidcConfig.clientSecret),\n\t\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\t\tuserInfoUrl: oidcConfig.userinfoUrl,\n\t\t\t\tdefaultScope: oidcConfig.defaultScopes,\n\t\t\t\tsyncMode: 'IMPORT',\n\t\t\t\tsync_mode: 'import',\n\t\t\t\tclientAuthMethod: 'client_secret_post',\n\t\t\t\tbackchannelSupported: 'true',\n\t\t\t\tprompt: 'login',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcMockProvisioningStrategy.html":{"url":"injectables/OidcMockProvisioningStrategy.html","title":"injectable - OidcMockProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcMockProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc-mock/oidc-mock.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:10\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { IdTokenExtractionFailureLoggableException } from '@modules/oauth/loggable';\nimport { ExternalUserDto, OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\n\n@Injectable()\nexport class OidcMockProvisioningStrategy extends ProvisioningStrategy {\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.OIDC;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken = jwt.decode(input.idToken, { json: true }) as (JwtPayload & { external_sub?: string }) | null;\n\t\tif (!idToken || !idToken.external_sub) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('external_sub');\n\t\t}\n\n\t\tconst externalUser: ExternalUserDto = new ExternalUserDto({\n\t\t\texternalId: idToken.external_sub,\n\t\t});\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t});\n\t\treturn Promise.resolve(oauthData);\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser.externalId }));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcProvisioningService.html":{"url":"injectables/OidcProvisioningService.html","title":"injectable - OidcProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n filterExternalGroups\n \n \n Private\n Async\n getFilteredGroupUsers\n \n \n Private\n Async\n getGroupUser\n \n \n Private\n Async\n getProvisioningOptionsOrDefault\n \n \n Private\n getSchoolName\n \n \n Public\n Async\n provisionExternalGroup\n \n \n Public\n Async\n provisionExternalSchool\n \n \n Public\n Async\n provisionExternalUser\n \n \n Public\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, schoolSystemOptionsService: SchoolSystemOptionsService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 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 schoolSystemOptionsService\n \n \n SchoolSystemOptionsService\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 filterExternalGroups\n \n \n \n \n \n \n \n filterExternalGroups(externalGroups: ExternalGroupDto[], schoolId: EntityId | undefined, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 externalGroups\n \n ExternalGroupDto[]\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 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:245\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getGroupUser\n \n \n \n \n \n \n \n getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts: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 externalGroupUser\n \n ExternalGroupUserDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getProvisioningOptionsOrDefault\n \n \n \n \n \n \n \n getProvisioningOptionsOrDefault(schoolId: string | undefined, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 schoolId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getSchoolName\n \n \n \n \n \n \n \n getSchoolName(externalSchool: ExternalSchoolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts: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 externalSchool\n \n ExternalSchoolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n provisionExternalGroup\n \n \n \n \n \n \n \n provisionExternalGroup(externalGroup: ExternalGroupDto, externalSchool: ExternalSchoolDto | undefined, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n externalSchool\n \n ExternalSchoolDto | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\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: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 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 Public\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: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 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 Public\n Async\n removeExternalGroupsAndAffiliation\n \n \n \n \n \n \n \n removeExternalGroupsAndAffiliation(externalUserId: string, externalGroups: ExternalGroupDto[], systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:279\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n externalGroups\n \n ExternalGroupDto[]\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountSaveDto, AccountService } from '@modules/account';\nimport { Group, GroupService, GroupTypes, GroupUser } from '@modules/group';\nimport {\n\tFederalStateService,\n\tLegacySchoolService,\n\tSchoolSystemOptionsService,\n\tSchoolYearService,\n\tSchulConneXProvisioningOptions,\n} from '@modules/legacy-school';\nimport { FederalStateNames } from '@modules/legacy-school/types';\nimport { RoleService } from '@modules/role';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { ExternalSource, LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { ObjectId } from 'bson';\nimport CryptoJS from 'crypto-js';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../../dto';\nimport { SchoolForGroupNotFoundLoggable, UserForGroupNotFoundLoggable } from '../../../loggable';\n\n@Injectable()\nexport class OidcProvisioningService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly groupService: GroupService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly schoolYearService: SchoolYearService,\n\t\tprivate readonly federalStateService: FederalStateService,\n\t\tprivate readonly schoolSystemOptionsService: SchoolSystemOptionsService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tpublic async provisionExternalSchool(externalSchool: ExternalSchoolDto, systemId: EntityId): Promise {\n\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\texternalSchool.externalId,\n\t\t\tsystemId\n\t\t);\n\t\tlet school: LegacySchoolDo;\n\t\tif (existingSchool) {\n\t\t\tschool = existingSchool;\n\t\t\tschool.name = this.getSchoolName(externalSchool);\n\t\t\tschool.officialSchoolNumber = externalSchool.officialSchoolNumber ?? existingSchool.officialSchoolNumber;\n\t\t\tif (!school.systems) {\n\t\t\t\tschool.systems = [systemId];\n\t\t\t} else if (!school.systems.includes(systemId)) {\n\t\t\t\tschool.systems.push(systemId);\n\t\t\t}\n\t\t} else {\n\t\t\tconst schoolYear: SchoolYearEntity = await this.schoolYearService.getCurrentSchoolYear();\n\t\t\tconst federalState: FederalStateEntity = await this.federalStateService.findFederalStateByName(\n\t\t\t\tFederalStateNames.NIEDERSACHEN\n\t\t\t);\n\n\t\t\tschool = new LegacySchoolDo({\n\t\t\t\texternalId: externalSchool.externalId,\n\t\t\t\tname: this.getSchoolName(externalSchool),\n\t\t\t\tofficialSchoolNumber: externalSchool.officialSchoolNumber,\n\t\t\t\tsystems: [systemId],\n\t\t\t\tfeatures: [SchoolFeatures.OAUTH_PROVISIONING_ENABLED],\n\t\t\t\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\t\t\t\tschoolYear,\n\t\t\t\tfederalState,\n\t\t\t});\n\t\t}\n\n\t\tconst savedSchool: LegacySchoolDo = await this.schoolService.save(school, true);\n\n\t\treturn savedSchool;\n\t}\n\n\tprivate getSchoolName(externalSchool: ExternalSchoolDto): string {\n\t\tconst schoolName: string = externalSchool.location\n\t\t\t? `${externalSchool.name} (${externalSchool.location})`\n\t\t\t: externalSchool.name;\n\n\t\treturn schoolName;\n\t}\n\n\tpublic async provisionExternalUser(\n\t\texternalUser: ExternalUserDto,\n\t\tsystemId: EntityId,\n\t\tschoolId?: string\n\t): Promise {\n\t\tlet roleRefs: RoleReference[] | undefined;\n\t\tif (externalUser.roles) {\n\t\t\tconst roles: RoleDto[] = await this.roleService.findByNames(externalUser.roles);\n\t\t\troleRefs = roles.map((role: RoleDto): RoleReference => new RoleReference({ id: role.id || '', name: role.name }));\n\t\t}\n\n\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUser.externalId, systemId);\n\t\tlet user: UserDO;\n\t\tlet createNewAccount = false;\n\t\tif (existingUser) {\n\t\t\tuser = existingUser;\n\t\t\tuser.firstName = externalUser.firstName ?? existingUser.firstName;\n\t\t\tuser.lastName = externalUser.lastName ?? existingUser.lastName;\n\t\t\tuser.email = externalUser.email ?? existingUser.email;\n\t\t\tuser.roles = roleRefs ?? existingUser.roles;\n\t\t\tuser.schoolId = schoolId ?? existingUser.schoolId;\n\t\t\tuser.birthday = externalUser.birthday ?? existingUser.birthday;\n\t\t} else {\n\t\t\tcreateNewAccount = true;\n\n\t\t\tif (!schoolId) {\n\t\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t\t`Unable to create new external user ${externalUser.externalId} without a school`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tuser = new UserDO({\n\t\t\t\texternalId: externalUser.externalId,\n\t\t\t\tfirstName: externalUser.firstName ?? '',\n\t\t\t\tlastName: externalUser.lastName ?? '',\n\t\t\t\temail: externalUser.email ?? '',\n\t\t\t\troles: roleRefs ?? [],\n\t\t\t\tschoolId,\n\t\t\t\tbirthday: externalUser.birthday,\n\t\t\t});\n\t\t}\n\n\t\tconst savedUser: UserDO = await this.userService.save(user);\n\n\t\tif (createNewAccount) {\n\t\t\tawait this.accountService.saveWithValidation(\n\t\t\t\tnew AccountSaveDto({\n\t\t\t\t\tuserId: savedUser.id,\n\t\t\t\t\tusername: CryptoJS.SHA256(savedUser.id as string).toString(CryptoJS.enc.Base64),\n\t\t\t\t\tsystemId,\n\t\t\t\t\tactivated: true,\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn savedUser;\n\t}\n\n\tpublic async filterExternalGroups(\n\t\texternalGroups: ExternalGroupDto[],\n\t\tschoolId: EntityId | undefined,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tlet filteredGroups: ExternalGroupDto[] = externalGroups;\n\n\t\tconst provisioningOptions: SchulConneXProvisioningOptions = await this.getProvisioningOptionsOrDefault(\n\t\t\tschoolId,\n\t\t\tsystemId\n\t\t);\n\n\t\tif (!provisioningOptions.groupProvisioningClassesEnabled) {\n\t\t\tfilteredGroups = filteredGroups.filter((group: ExternalGroupDto) => group.type !== GroupTypes.CLASS);\n\t\t}\n\n\t\tif (!provisioningOptions.groupProvisioningCoursesEnabled) {\n\t\t\tfilteredGroups = filteredGroups.filter((group: ExternalGroupDto) => group.type !== GroupTypes.COURSE);\n\t\t}\n\n\t\tif (!provisioningOptions.groupProvisioningOtherEnabled) {\n\t\t\tfilteredGroups = filteredGroups.filter((group: ExternalGroupDto) => group.type !== GroupTypes.OTHER);\n\t\t}\n\n\t\treturn filteredGroups;\n\t}\n\n\tprivate async getProvisioningOptionsOrDefault(\n\t\tschoolId: string | undefined,\n\t\tsystemId: string\n\t): Promise {\n\t\tlet provisioningOptions: SchulConneXProvisioningOptions;\n\n\t\tif (schoolId) {\n\t\t\tprovisioningOptions = await this.schoolSystemOptionsService.getProvisioningOptions(\n\t\t\t\tSchulConneXProvisioningOptions,\n\t\t\t\tschoolId,\n\t\t\t\tsystemId\n\t\t\t);\n\t\t} else {\n\t\t\tprovisioningOptions = new SchulConneXProvisioningOptions();\n\t\t}\n\n\t\treturn provisioningOptions;\n\t}\n\n\tpublic async provisionExternalGroup(\n\t\texternalGroup: ExternalGroupDto,\n\t\texternalSchool: ExternalSchoolDto | undefined,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tlet organizationId: string | undefined;\n\t\tif (externalSchool) {\n\t\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\t\texternalSchool.externalId,\n\t\t\t\tsystemId\n\t\t\t);\n\n\t\t\tif (!existingSchool || !existingSchool.id) {\n\t\t\t\tthis.logger.info(new SchoolForGroupNotFoundLoggable(externalGroup, externalSchool));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\torganizationId = existingSchool.id;\n\t\t}\n\n\t\tconst existingGroup: Group | null = await this.groupService.findByExternalSource(\n\t\t\texternalGroup.externalId,\n\t\t\tsystemId\n\t\t);\n\n\t\tconst group: Group = new Group({\n\t\t\tid: existingGroup?.id ?? new ObjectId().toHexString(),\n\t\t\tname: externalGroup.name,\n\t\t\texternalSource: new ExternalSource({\n\t\t\t\texternalId: externalGroup.externalId,\n\t\t\t\tsystemId,\n\t\t\t}),\n\t\t\ttype: externalGroup.type,\n\t\t\torganizationId,\n\t\t\tvalidFrom: externalGroup.from,\n\t\t\tvalidUntil: externalGroup.until,\n\t\t\tusers: existingGroup?.users ?? [],\n\t\t});\n\n\t\tif (externalGroup.otherUsers !== undefined) {\n\t\t\tconst otherUsers: GroupUser[] = await this.getFilteredGroupUsers(externalGroup, systemId);\n\n\t\t\tgroup.users = otherUsers;\n\t\t}\n\n\t\tconst self: GroupUser | null = await this.getGroupUser(externalGroup.user, systemId);\n\n\t\tif (!self) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, { externalId: externalGroup.user.externalUserId });\n\t\t}\n\n\t\tgroup.addUser(self);\n\n\t\tawait this.groupService.save(group);\n\t}\n\n\tprivate async getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string): Promise {\n\t\tif (!externalGroup.otherUsers?.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst users: (GroupUser | null)[] = await Promise.all(\n\t\t\texternalGroup.otherUsers.map(\n\t\t\t\tasync (externalGroupUser: ExternalGroupUserDto): Promise =>\n\t\t\t\t\tthis.getGroupUser(externalGroupUser, systemId)\n\t\t\t)\n\t\t);\n\n\t\tconst filteredUsers: GroupUser[] = users.filter((groupUser): groupUser is GroupUser => groupUser !== null);\n\n\t\treturn filteredUsers;\n\t}\n\n\tprivate async getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalGroupUser.externalUserId, systemId);\n\t\tconst roles: RoleDto[] = await this.roleService.findByNames([externalGroupUser.roleName]);\n\n\t\tif (!user?.id || roles.length !== 1 || !roles[0].id) {\n\t\t\tthis.logger.info(new UserForGroupNotFoundLoggable(externalGroupUser));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupUser: GroupUser = new GroupUser({\n\t\t\tuserId: user.id,\n\t\t\troleId: roles[0].id,\n\t\t});\n\n\t\treturn groupUser;\n\t}\n\n\tpublic async removeExternalGroupsAndAffiliation(\n\t\texternalUserId: string,\n\t\texternalGroups: ExternalGroupDto[],\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, { externalId: externalUserId });\n\t\t}\n\n\t\tconst existingGroupsOfUser: Group[] = await this.groupService.findGroupsByUserAndGroupTypes(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(provisioningFeatures: IProvisioningFeatures, 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 provisioningFeatures\n \n \n IProvisioningFeatures\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 \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: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 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 { Inject, Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { IProvisioningFeatures, ProvisioningFeatures } from '../../config';\nimport { ExternalGroupDto, 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(\n\t\t@Inject(ProvisioningFeatures) protected readonly provisioningFeatures: IProvisioningFeatures,\n\t\tprotected readonly oidcProvisioningService: OidcProvisioningService\n\t) {\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 (this.provisioningFeatures.schulconnexGroupProvisioningEnabled) {\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\tlet groups: ExternalGroupDto[] = data.externalGroups;\n\n\t\t\t\tif (this.provisioningFeatures.provisioningOptionsEnabled) {\n\t\t\t\t\tgroups = await this.oidcProvisioningService.filterExternalGroups(groups, school?.id, data.system.systemId);\n\t\t\t\t}\n\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tgroups.map((group: ExternalGroupDto) =>\n\t\t\t\t\t\tthis.oidcProvisioningService.provisionExternalGroup(group, data.externalSchool, 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"},"interfaces/Pagination.html":{"url":"interfaces/Pagination.html","title":"interface - Pagination","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Pagination\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n limit\n \n \n \n Optional\n \n skip\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationParams.html":{"url":"classes/PaginationParams.html","title":"class - PaginationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsInt, Max, Min } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class PaginationParams {\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({ description: 'Number of elements (not pages) to be skipped' })\n\tskip?: number = 0;\n\n\t@IsInt()\n\t@Min(1)\n\t@Max(100)\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99 })\n\tlimit?: number = 10;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationResponse.html":{"url":"classes/PaginationResponse.html","title":"class - PaginationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The items for the current page.'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport abstract class PaginationResponse {\n\tconstructor(total: number, skip?: number, limit?: number) {\n\t\tthis.total = total;\n\t\tthis.skip = skip;\n\t\tthis.limit = limit;\n\t}\n\n\t@ApiProperty({ description: 'The items for the current page.' })\n\tabstract data: T;\n\n\t@ApiProperty({ description: 'The total amount of items.', type: 'number' })\n\ttotal: number;\n\n\t@ApiProperty({ description: 'The amount of items skipped from the start.', type: 'number' })\n\tskip?: number;\n\n\t@ApiProperty({ description: 'The page size of the response.', type: 'number' })\n\tlimit?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ParameterTypeNotImplementedLoggableException.html":{"url":"classes/ParameterTypeNotImplementedLoggableException.html","title":"class - ParameterTypeNotImplementedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ParameterTypeNotImplementedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotImplementedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(parameterType: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n parameterType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ParameterTypeNotImplementedLoggableException extends NotImplementedException implements Loggable {\n\tconstructor(private readonly parameterType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PARAMETER_TYPE_NOT_IMPLEMENTED',\n\t\t\tmessage: 'Launching an external tool with this parameter type is not implemented.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tparameterType: this.parameterType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ParentInfo.html":{"url":"interfaces/ParentInfo.html","title":"interface - ParentInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ParentInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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"},"classes/PatchGroupParams.html":{"url":"classes/PatchGroupParams.html","title":"class - PatchGroupParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchGroupParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching a the group name of a grid element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'Title of the Group grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsString } from 'class-validator';\n\n/**\n * DTO for Patching a the group name of a grid element.\n */\nexport class PatchGroupParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Group grid element',\n\t})\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyAccountParams.html":{"url":"classes/PatchMyAccountParams.html","title":"class - PatchMyAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-account.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n passwordOld\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsEmail()@IsOptional()@ApiProperty({description: 'The new email address for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new first name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new last name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@IsOptional()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n passwordOld\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The current user password to authorize the update action.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsEmail, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyAccountParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The current user password to authorize the update action.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpasswordOld!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpasswordNew?: string;\n\n\t@IsEmail()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new email address for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\temail?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new first name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tfirstName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new last name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyPasswordParams.html":{"url":"classes/PatchMyPasswordParams.html","title":"class - PatchMyPasswordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyPasswordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-password.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n password\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The confirmed new user password. Must match the password field.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new user password.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyPasswordParams {\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new user password.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpassword!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The confirmed new user password. Must match the password field.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tconfirmPassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchOrderParams.html":{"url":"classes/PatchOrderParams.html","title":"class - PatchOrderParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchOrderParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the order of elements within the board.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsMongoId({each: true})@ApiProperty({description: 'Array ids determining the new order'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId } from 'class-validator';\n\n/**\n * DTO for Patching the order of elements within the board.\n */\nexport class PatchOrderParams {\n\t@IsArray()\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array ids determining the new order',\n\t})\n\telements!: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchVisibilityParams.html":{"url":"classes/PatchVisibilityParams.html","title":"class - PatchVisibilityParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchVisibilityParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the visibility of a board element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'true to publish the element, false to unpublish'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\n/**\n * DTO for Patching the visibility of a board element.\n */\nexport class PatchVisibilityParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'true to publish the element, false to unpublish',\n\t})\n\tvisibility!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Path.html":{"url":"classes/Path.html","title":"class - Path","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Path\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IPath\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n path\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(path: string)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PermissionService.html":{"url":"injectables/PermissionService.html","title":"injectable - PermissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PermissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/service/permission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n resolvePermissions\n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n \n \n \n \n \n \n \n \n \nhasUserAllSchoolPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resolvePermissions\n \n \n \n \n \n \n \n \n \n \n \nresolvePermissions(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:17\n \n \n\n\n \n \n Recursively resolve all roles and permissions of a user.\nIMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\nPlease make sure you populate them before calling this method.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n \n \n \n resolvePermissionsByRoles(inputRoles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputRoles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '../entity/role.entity';\nimport { User } from '../entity/user.entity';\n\n// TODO: Remove the PermissionService because it duplicates methods from the AuthorizationService.\n// Do not use this service, use the AuthorizationService!\n@Injectable()\nexport class PermissionService {\n\t/**\n\t * Recursively resolve all roles and permissions of a user.\n\t * IMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\n\t * Please make sure you populate them before calling this method.\n\t * @param user\n\t * @deprecated\n\t * @returns\n\t */\n\tresolvePermissions(user: User): string[] {\n\t\tif (!user.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\t\tconst rolesAndPermissions = this.resolvePermissionsByRoles(user.roles.getItems());\n\n\t\treturn rolesAndPermissions;\n\t}\n\n\tprivate resolvePermissionsByRoles(inputRoles: Role[]): string[] {\n\t\tlet permissions: string[] = [];\n\n\t\tfor (let i = 0; i 0) {\n\t\t\t\tconst subPermissions = this.resolvePermissionsByRoles(innerRoles);\n\t\t\t\tpermissions = [...permissions, ...subPermissions];\n\t\t\t}\n\t\t}\n\n\t\tpermissions = [...new Set(permissions)];\n\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\thasUserAllSchoolPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst usersPermissions = this.resolvePermissions(user);\n\t\tconst hasPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\t\treturn hasPermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PlainTextMailContent.html":{"url":"interfaces/PlainTextMailContent.html","title":"interface - PlainTextMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PlainTextMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n htmlContent\n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentCreateParams.html":{"url":"classes/PostH5PContentCreateParams.html","title":"class - PostH5PContentCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n params\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()@IsObject()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: H5PContentParentType, enumName: 'H5PContentParentType'})@IsEnum(H5PContentParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:66\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentParams.html":{"url":"classes/PostH5PContentParams.html","title":"class - PostH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n metadata\n \n \n \n \n params\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@SanitizeHtml()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewActionsLoggable.html":{"url":"classes/PreviewActionsLoggable.html","title":"class - PreviewActionsLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewActionsLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, payload: PreviewFileOptions)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n payload\n \n \n PreviewFileOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LogMessage, Loggable } from '@src/core/logger';\nimport { PreviewFileOptions } from '../interface';\n\nexport class PreviewActionsLoggable implements Loggable {\n\tconstructor(private readonly message: string, private readonly payload: PreviewFileOptions) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst { originFilePath, previewFilePath, previewOptions } = this.payload;\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tdata: {\n\t\t\t\toriginFilePath,\n\t\t\t\tpreviewFilePath,\n\t\t\t\tformat: previewOptions.format,\n\t\t\t\twidth: previewOptions.width,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewBuilder.html":{"url":"classes/PreviewBuilder.html","title":"class - PreviewBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/preview.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildParams\n \n \n Static\n buildPayload\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildParams\n \n \n \n \n \n \n \n buildParams(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildPayload\n \n \n \n \n \n \n \n buildPayload(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PreviewFileOptions } from '@infra/preview-generator';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\nimport { createPath, createPreviewFilePath, createPreviewNameHash, getFormat } from '../helper';\nimport { PreviewFileParams } from '../interface';\n\nexport class PreviewBuilder {\n\tpublic static buildParams(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange: string | undefined\n\t): PreviewFileParams {\n\t\tconst { schoolId, id, mimeType } = fileRecord;\n\t\tconst originFilePath = createPath(schoolId, id);\n\t\tconst format = getFormat(previewParams.outputFormat ?? mimeType);\n\n\t\tconst hash = createPreviewNameHash(id, previewParams);\n\t\tconst previewFilePath = createPreviewFilePath(schoolId, hash, id);\n\n\t\tconst previewFileParams = {\n\t\t\tfileRecord,\n\t\t\tpreviewParams,\n\t\t\thash,\n\t\t\tpreviewFilePath,\n\t\t\toriginFilePath,\n\t\t\tformat,\n\t\t\tbytesRange,\n\t\t};\n\n\t\treturn previewFileParams;\n\t}\n\n\tpublic static buildPayload(params: PreviewFileParams): PreviewFileOptions {\n\t\tconst { originFilePath, previewFilePath, previewParams, format } = params;\n\n\t\tconst payload = {\n\t\t\toriginFilePath,\n\t\t\tpreviewFilePath,\n\t\t\tpreviewOptions: {\n\t\t\t\tformat,\n\t\t\t\twidth: previewParams.width,\n\t\t\t},\n\t\t};\n\n\t\treturn payload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewConfig.html":{"url":"interfaces/PreviewConfig.html","title":"interface - PreviewConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n serverConfig\n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n serverConfig\n \n \n \n \n \n \n \n \n serverConfig: PreviewModuleConfig\n\n \n \n\n\n \n \n Type : PreviewModuleConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n storageConfig: S3Config\n\n \n \n\n\n \n \n Type : S3Config\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileOptions.html":{"url":"interfaces/PreviewFileOptions.html","title":"interface - PreviewFileOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n previewOptions: PreviewOptions\n\n \n \n\n\n \n \n Type : PreviewOptions\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileParams.html":{"url":"interfaces/PreviewFileParams.html","title":"interface - PreviewFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bytesRange\n \n \n \n \n fileRecord\n \n \n \n \n format\n \n \n \n \n hash\n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bytesRange\n \n \n \n \n \n \n \n \n bytesRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fileRecord\n \n \n \n \n \n \n \n \n fileRecord: FileRecord\n\n \n \n\n\n \n \n Type : FileRecord\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hash\n \n \n \n \n \n \n \n \n hash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n previewParams: PreviewParams\n\n \n \n\n\n \n \n Type : PreviewParams\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorAMQPModule.html":{"url":"modules/PreviewGeneratorAMQPModule.html","title":"module - PreviewGeneratorAMQPModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorAMQPModule\n\n\n\ncluster_PreviewGeneratorAMQPModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule -->\n\nCoreModule->PreviewGeneratorAMQPModule\n\n\n\n\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorAMQPModule -->\n\nPreviewGeneratorConsumerModule->PreviewGeneratorAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-preview-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n CoreModule\n \n \n PreviewGeneratorConsumerModule\n \n \n \n \n \n\n\n \n\n\n \n import { PreviewGeneratorConsumerModule } from '@infra/preview-generator';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { defaultConfig, s3Config } from './files-storage.config';\n\n@Module({\n\timports: [\n\t\tPreviewGeneratorConsumerModule.register({ storageConfig: s3Config, serverConfig: defaultConfig }),\n\t\tCoreModule,\n\t],\n})\nexport class PreviewGeneratorAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewGeneratorBuilder.html":{"url":"classes/PreviewGeneratorBuilder.html","title":"class - PreviewGeneratorBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewGeneratorBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n \n \n \n buildFile(preview: PassThrough, previewOptions: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n preview\n \n PassThrough\n \n\n \n No\n \n\n\n \n \n previewOptions\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : File\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { PassThrough } from 'stream';\nimport { PreviewOptions } from './interface';\n\nexport class PreviewGeneratorBuilder {\n\tpublic static buildFile(preview: PassThrough, previewOptions: PreviewOptions): File {\n\t\tconst { format } = previewOptions;\n\n\t\tconst file = {\n\t\t\tdata: preview,\n\t\t\tmimeType: format,\n\t\t};\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewGeneratorConsumer.html":{"url":"injectables/PreviewGeneratorConsumer.html","title":"injectable - PreviewGeneratorConsumer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewGeneratorConsumer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.consumer.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(previewGeneratorService: PreviewGeneratorService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n previewGeneratorService\n \n \n PreviewGeneratorService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(payload: PreviewFileOptions)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesPreviewExchange, routingKey: undefined, queue: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Injectable()\nexport class PreviewGeneratorConsumer {\n\tconstructor(private readonly previewGeneratorService: PreviewGeneratorService, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesPreviewExchange,\n\t\troutingKey: FilesPreviewEvents.GENERATE_PREVIEW,\n\t\tqueue: FilesPreviewEvents.GENERATE_PREVIEW,\n\t})\n\tpublic async generatePreview(@RabbitPayload() payload: PreviewFileOptions) {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:start', payload));\n\n\t\tconst response = await this.previewGeneratorService.generatePreview(payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:end', payload));\n\n\t\treturn { message: response };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorConsumerModule.html":{"url":"modules/PreviewGeneratorConsumerModule.html","title":"module - PreviewGeneratorConsumerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorConsumerModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(config: PreviewConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n PreviewConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientAdapter, S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { Logger, LoggerModule } from '@src/core/logger';\nimport { PreviewConfig } from './interface/preview-consumer-config';\nimport { PreviewGeneratorConsumer } from './preview-generator.consumer';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Module({})\nexport class PreviewGeneratorConsumerModule {\n\tstatic register(config: PreviewConfig): DynamicModule {\n\t\tconst { storageConfig, serverConfig } = config;\n\t\tconst providers = [\n\t\t\t{\n\t\t\t\tprovide: PreviewGeneratorService,\n\t\t\t\tuseFactory: (logger: Logger, storageClient: S3ClientAdapter) =>\n\t\t\t\t\tnew PreviewGeneratorService(storageClient, logger),\n\t\t\t\tinject: [Logger, storageConfig.connectionName],\n\t\t\t},\n\t\t\tPreviewGeneratorConsumer,\n\t\t];\n\n\t\treturn {\n\t\t\tmodule: PreviewGeneratorConsumerModule,\n\t\t\timports: [\n\t\t\t\tLoggerModule,\n\t\t\t\tS3ClientModule.register([storageConfig]),\n\t\t\t\tRabbitMQWrapperModule,\n\t\t\t\tConfigModule.forRoot(createConfigModuleOptions(() => serverConfig)),\n\t\t\t],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorProducerModule.html":{"url":"modules/PreviewGeneratorProducerModule.html","title":"module - PreviewGeneratorProducerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorProducerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorProducerModule\n\n\n\ncluster_PreviewGeneratorProducerModule_exports\n\n\n\ncluster_PreviewGeneratorProducerModule_imports\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 checkIfPreviewPossible\n \n \n Private\n Async\n downloadOriginFile\n \n \n Public\n Async\n generatePreview\n \n \n Private\n resizeAndConvert\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n downloadOriginFile\n \n \n \n \n \n \n \n downloadOriginFile(pathToFile: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pathToFile\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resizeAndConvert\n \n \n \n \n \n \n \n resizeAndConvert(original: GetFile, previewParams: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PassThrough\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n imageMagick\n \n \n \n \n \n \n Default value : subClass({ imageMagick: '7+' })\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { GetFile, S3ClientAdapter } from '@infra/s3-client';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { subClass } from 'gm';\nimport { PassThrough } from 'stream';\nimport { PreviewFileOptions, PreviewInputMimeTypes, PreviewOptions, PreviewResponseMessage } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorBuilder } from './preview-generator.builder';\n\n@Injectable()\nexport class PreviewGeneratorService {\n\tprivate imageMagick = subClass({ imageMagick: '7+' });\n\n\tconstructor(private readonly storageClient: S3ClientAdapter, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorService.name);\n\t}\n\n\tpublic async generatePreview(params: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:start', params));\n\t\tconst { originFilePath, previewFilePath, previewOptions } = params;\n\n\t\tconst original = await this.downloadOriginFile(originFilePath);\n\n\t\tthis.checkIfPreviewPossible(original, params);\n\n\t\tconst preview = this.resizeAndConvert(original, previewOptions);\n\n\t\tconst file = PreviewGeneratorBuilder.buildFile(preview, params.previewOptions);\n\n\t\tawait this.storageClient.create(previewFilePath, file);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:end', params));\n\n\t\treturn {\n\t\t\tpreviewFilePath,\n\t\t\tstatus: true,\n\t\t};\n\t}\n\n\tprivate checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions): void | UnprocessableEntityException {\n\t\tconst isPreviewPossible =\n\t\t\toriginal.contentType && Object.values(PreviewInputMimeTypes).includes(original.contentType);\n\n\t\tif (!isPreviewPossible) {\n\t\t\tthis.logger.warning(new PreviewActionsLoggable('PreviewGeneratorService.previewNotPossible', params));\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t}\n\n\tprivate async downloadOriginFile(pathToFile: string): Promise {\n\t\tconst file = await this.storageClient.get(pathToFile);\n\n\t\treturn file;\n\t}\n\n\tprivate resizeAndConvert(original: GetFile, previewParams: PreviewOptions): PassThrough {\n\t\tconst { format, width } = previewParams;\n\n\t\tconst preview = this.imageMagick(original.data);\n\n\t\tif (original.contentType === PreviewInputMimeTypes.APPLICATION_PDF) {\n\t\t\tpreview.selectFrame(0);\n\t\t}\n\n\t\tif (original.contentType === PreviewInputMimeTypes.IMAGE_GIF) {\n\t\t\tpreview.coalesce();\n\t\t}\n\n\t\tif (width) {\n\t\t\tpreview.resize(width, undefined, '>');\n\t\t}\n\n\t\tconst result = preview.stream(format);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewModuleConfig.html":{"url":"interfaces/PreviewModuleConfig.html","title":"interface - PreviewModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewOptions.html":{"url":"interfaces/PreviewOptions.html","title":"interface - PreviewOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n format\n \n \n \n Optional\n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewParams.html":{"url":"classes/PreviewParams.html","title":"class - PreviewParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n Optional\n width\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'If true, the preview will be generated again.'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n \n Type : PreviewOutputMimeTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes'})@IsOptional()@IsEnum(PreviewOutputMimeTypes)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:113\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n width\n \n \n \n \n \n \n Type : PreviewWidth\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewWidth, enumName: 'PreviewWidth'})@IsOptional()@IsEnum(PreviewWidth)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:118\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewProducer.html":{"url":"injectables/PreviewProducer.html","title":"injectable - PreviewProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generate\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: Logger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generate\n \n \n \n \n \n \n \n generate(payload: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange, RpcMessageProducer } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions, PreviewResponseMessage } from './interface';\nimport { PreviewModuleConfig } from './interface/preview-consumer-config';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\n\n@Injectable()\nexport class PreviewProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: Logger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\n\t\tsuper(amqpConnection, FilesPreviewExchange, timeout);\n\t\tthis.logger.setContext(PreviewProducer.name);\n\t}\n\n\tasync generate(payload: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:started', payload));\n\n\t\tconst response = await this.request(FilesPreviewEvents.GENERATE_PREVIEW, payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:finished', payload));\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewResponseMessage.html":{"url":"interfaces/PreviewResponseMessage.html","title":"interface - PreviewResponseMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewResponseMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewService.html":{"url":"injectables/PreviewService.html","title":"injectable - PreviewService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/service/preview.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n Public\n Async\n deletePreviews\n \n \n Public\n Async\n download\n \n \n Private\n Async\n generatePreview\n \n \n Private\n Async\n getPreviewFile\n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: LegacyLogger, previewProducer: PreviewProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n previewProducer\n \n \n PreviewProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deletePreviews\n \n \n \n \n \n \n \n deletePreviews(fileRecords: FileRecord[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n download\n \n \n \n \n \n \n \n download(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPreviewFile\n \n \n \n \n \n \n \n getPreviewFile(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n \n \n \n tryGetPreviewOrGenerate(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { PreviewProducer } from '@infra/preview-generator';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord, PreviewStatus } from '../entity';\nimport { ErrorType } from '../error';\nimport { FILES_STORAGE_S3_CONNECTION } from '../files-storage.config';\nimport { createPreviewDirectoryPath, getPreviewName } from '../helper';\nimport { GetFileResponse, PreviewFileParams } from '../interface';\nimport { FileResponseBuilder, PreviewBuilder } from '../mapper';\n\n@Injectable()\nexport class PreviewService {\n\tconstructor(\n\t\t@Inject(FILES_STORAGE_S3_CONNECTION) private readonly storageClient: S3ClientAdapter,\n\t\tprivate logger: LegacyLogger,\n\t\tprivate readonly previewProducer: PreviewProducer\n\t) {\n\t\tthis.logger.setContext(PreviewService.name);\n\t}\n\n\tpublic async download(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange?: string\n\t): Promise {\n\t\tthis.checkIfPreviewPossible(fileRecord);\n\n\t\tconst previewFileParams = PreviewBuilder.buildParams(fileRecord, previewParams, bytesRange);\n\n\t\tconst response = await this.tryGetPreviewOrGenerate(previewFileParams);\n\n\t\treturn response;\n\t}\n\n\tpublic async deletePreviews(fileRecords: FileRecord[]): Promise {\n\t\tconst paths = fileRecords.map((fileRecord) => createPreviewDirectoryPath(fileRecord.getSchoolId(), fileRecord.id));\n\n\t\tconst promises = paths.map((path) => this.storageClient.deleteDirectory(path));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tprivate checkIfPreviewPossible(fileRecord: FileRecord): void | UnprocessableEntityException {\n\t\tif (fileRecord.getPreviewStatus() !== PreviewStatus.PREVIEW_POSSIBLE) {\n\t\t\tthis.logger.warn(`could not generate preview for : ${fileRecord.id} ${fileRecord.mimeType}`);\n\t\t\tthrow new UnprocessableEntityException(ErrorType.PREVIEW_NOT_POSSIBLE);\n\t\t}\n\t}\n\n\tprivate async tryGetPreviewOrGenerate(params: PreviewFileParams): Promise {\n\t\tlet file: GetFileResponse;\n\n\t\ttry {\n\t\t\tif (params.previewParams.forceUpdate) {\n\t\t\t\tawait this.generatePreview(params);\n\t\t\t}\n\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t} catch (error) {\n\t\t\tif (!(error instanceof NotFoundException)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tawait this.generatePreview(params);\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t}\n\n\t\treturn file;\n\t}\n\n\tprivate async getPreviewFile(params: PreviewFileParams): Promise {\n\t\tconst { fileRecord, previewFilePath, bytesRange, previewParams } = params;\n\t\tconst name = getPreviewName(fileRecord, previewParams.outputFormat);\n\t\tconst file = await this.storageClient.get(previewFilePath, bytesRange);\n\n\t\tconst response = FileResponseBuilder.build(file, name);\n\n\t\treturn response;\n\t}\n\n\tprivate async generatePreview(params: PreviewFileParams): Promise {\n\t\tconst payload = PreviewBuilder.buildPayload(params);\n\n\t\tawait this.previewProducer.generate(payload);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsConfig.html":{"url":"classes/PrometheusMetricsConfig.html","title":"class - PrometheusMetricsConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n Private\n Static\n _instance\n \n \n Private\n Readonly\n _isEnabled\n \n \n Private\n Readonly\n _port\n \n \n Private\n Readonly\n _route\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n reload\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n route\n \n \n port\n \n \n collectDefaultMetrics\n \n \n collectMetricsRouteMetrics\n \n \n instance\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:34\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Static\n _instance\n \n \n \n \n \n \n Type : PrometheusMetricsConfig\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _isEnabled\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _port\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _route\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n reload\n \n \n \n \n \n \n \n reload()\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:52\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n\n \n \n getisEnabled()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:8\n \n \n\n \n \n \n \n \n \n \n route\n \n \n\n \n \n getroute()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:14\n \n \n\n \n \n \n \n \n \n \n port\n \n \n\n \n \n getport()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:20\n \n \n\n \n \n \n \n \n \n \n collectDefaultMetrics\n \n \n\n \n \n getcollectDefaultMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:26\n \n \n\n \n \n \n \n \n \n \n collectMetricsRouteMetrics\n \n \n\n \n \n getcollectMetricsRouteMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:32\n \n \n\n \n \n \n \n \n \n \n instance\n \n \n\n \n \n getinstance()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:44\n \n \n\n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport class PrometheusMetricsConfig {\n\tprivate static _instance: PrometheusMetricsConfig;\n\n\tprivate readonly _isEnabled: boolean;\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tprivate readonly _route: string;\n\n\tget route(): string {\n\t\treturn this._route;\n\t}\n\n\tprivate readonly _port: number;\n\n\tget port(): number {\n\t\treturn this._port;\n\t}\n\n\tprivate readonly _collectDefaultMetrics: boolean;\n\n\tget collectDefaultMetrics(): boolean {\n\t\treturn this._collectDefaultMetrics;\n\t}\n\n\tprivate readonly _collectMetricsRouteMetrics: boolean;\n\n\tget collectMetricsRouteMetrics(): boolean {\n\t\treturn this._collectMetricsRouteMetrics;\n\t}\n\n\tprivate constructor() {\n\t\tthis._isEnabled = Configuration.get('FEATURE_PROMETHEUS_METRICS_ENABLED') as boolean;\n\t\tthis._route = Configuration.get('PROMETHEUS_METRICS_ROUTE') as string;\n\t\tthis._port = Configuration.get('PROMETHEUS_METRICS_PORT') as number;\n\t\tthis._collectDefaultMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_DEFAULT_METRICS') as boolean;\n\t\tthis._collectMetricsRouteMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_METRICS_ROUTE_METRICS') as boolean;\n\t}\n\n\tpublic static get instance() {\n\t\tif (this._instance === undefined) {\n\t\t\tthis._instance = new this();\n\t\t}\n\n\t\treturn this._instance;\n\t}\n\n\tpublic static reload() {\n\t\tthis._instance = new this();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsSetupStateLoggable.html":{"url":"classes/PrometheusMetricsSetupStateLoggable.html","title":"class - PrometheusMetricsSetupStateLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsSetupStateLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/prometheus-metrics.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(state: PrometheusMetricsSetupState)\n \n \n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n \n PrometheusMetricsSetupState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Express } from 'express';\n\nimport {\n\tPrometheusMetricsConfig,\n\tcreateAPIResponseTimeMetricMiddleware,\n\tcreatePrometheusMetricsApp,\n} from '@infra/metrics';\nimport { LogMessage, Loggable, Logger } from '@src/core/logger';\nimport { AppStartLoggable } from './app-start-loggable';\n\nexport const enum PrometheusMetricsSetupState {\n\tFEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - no metrics middlewares will be added to the app',\n\tAPI_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED = 'API response time metric middleware successfully added to the app',\n\tFEATURE_DISABLED_APP_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - Prometheus metrics app will not be created',\n\tCOLLECTING_DEFAULT_METRICS_DISABLED = 'Collecting default metrics is disabled - only the custom metrics will be collected',\n\tCOLLECTING_METRICS_ROUTE_METRICS_DISABLED = 'Collecting metrics route metrics is disabled - no metrics route calls will be added to the metrics',\n}\n\nexport class PrometheusMetricsSetupStateLoggable implements Loggable {\n\tconstructor(private readonly state: PrometheusMetricsSetupState) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Setting up Prometheus metrics...',\n\t\t\tdata: {\n\t\t\t\tstate: this.state,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport const addPrometheusMetricsMiddlewaresIfEnabled = (logger: Logger, app: Express) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\t\tPrometheusMetricsSetupState.FEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED\n\t\t\t)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tapp.use(createAPIResponseTimeMetricMiddleware());\n\n\tlogger.debug(\n\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\tPrometheusMetricsSetupState.API_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED\n\t\t)\n\t);\n};\n\nexport const createAndStartPrometheusMetricsAppIfEnabled = (logger: Logger) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.FEATURE_DISABLED_APP_WILL_NOT_BE_CREATED)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst { route, collectDefaultMetrics, collectMetricsRouteMetrics } = PrometheusMetricsConfig.instance;\n\n\tif (!collectDefaultMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_DEFAULT_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tif (!collectMetricsRouteMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_METRICS_ROUTE_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tconst prometheusMetricsAppPort = PrometheusMetricsConfig.instance.port;\n\n\tconst prometheusMetricsApp = createPrometheusMetricsApp(route, collectDefaultMetrics, collectMetricsRouteMetrics);\n\n\tprometheusMetricsApp.listen(prometheusMetricsAppPort, () => {\n\t\tlogger.info(\n\t\t\tnew AppStartLoggable({\n\t\t\t\tappName: 'Prometheus metrics server app',\n\t\t\t\tport: prometheusMetricsAppPort,\n\t\t\t\tmountsDescription: `${route} --> Prometheus metrics`,\n\t\t\t})\n\t\t);\n\t});\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PropertyData.html":{"url":"classes/PropertyData.html","title":"class - PropertyData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PropertyData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/property-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n location\n \n \n name\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: PropertyData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n PropertyData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : PropertyLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation } from './property-location';\n\nexport class PropertyData {\n\tname: string;\n\n\tvalue: string;\n\n\tlocation?: PropertyLocation;\n\n\tconstructor(props: PropertyData) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentResponse.html":{"url":"interfaces/ProviderConsentResponse.html","title":"interface - ProviderConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n \n challenge\n \n \n \n Optional\n \n client\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n login_challenge\n \n \n \n Optional\n \n login_session_id\n \n \n \n Optional\n \n oidc_context\n \n \n \n Optional\n \n request_url\n \n \n \n Optional\n \n requested_access_token_audience\n \n \n \n Optional\n \n requested_scope\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_challenge\n \n \n \n \n \n \n \n \n login_challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_session_id\n \n \n \n \n \n \n \n \n login_session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderConsentResponse {\n\tacr?: string;\n\n\tamr?: string[];\n\n\tchallenge: string;\n\n\tclient?: ProviderOauthClient;\n\n\tcontext?: object;\n\n\tlogin_challenge?: string;\n\n\tlogin_session_id?: string;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url?: string;\n\n\trequested_access_token_audience?: string[];\n\n\trequested_scope?: string[];\n\n\tskip?: boolean;\n\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentSessionResponse.html":{"url":"interfaces/ProviderConsentSessionResponse.html","title":"interface - ProviderConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent-session.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n consent_request\n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n consent_request\n \n \n \n \n \n \n \n \n consent_request: ProviderConsentResponse\n\n \n \n\n\n \n \n Type : ProviderConsentResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderConsentResponse } from './consent.response';\n\nexport interface ProviderConsentSessionResponse {\n\tconsent_request: ProviderConsentResponse;\n\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token: string;\n\n\t\tid_token: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderLoginResponse.html":{"url":"interfaces/ProviderLoginResponse.html","title":"interface - ProviderLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/login.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n \n client\n \n \n \n Optional\n \n oidc_context\n \n \n \n \n request_url\n \n \n \n \n requested_access_token_audience\n \n \n \n \n requested_scope\n \n \n \n Optional\n \n session_id\n \n \n \n \n skip\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_id\n \n \n \n \n \n \n \n \n session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderLoginResponse {\n\tchallenge: string;\n\n\tclient: ProviderOauthClient;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url: string;\n\n\trequested_access_token_audience: string[];\n\n\trequested_scope: string[];\n\n\tsession_id?: string;\n\n\tskip: boolean;\n\n\tsubject: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderOidcContext.html":{"url":"interfaces/ProviderOidcContext.html","title":"interface - ProviderOidcContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderOidcContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/interface/oidc-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr_values\n \n \n \n Optional\n \n display\n \n \n \n Optional\n \n id_token_hint_claims\n \n \n \n Optional\n \n login_hint\n \n \n \n Optional\n \n ui_locales\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr_values\n \n \n \n \n \n \n \n \n acr_values: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n display\n \n \n \n \n \n \n \n \n display: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id_token_hint_claims\n \n \n \n \n \n \n \n \n id_token_hint_claims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_hint\n \n \n \n \n \n \n \n \n login_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ui_locales\n \n \n \n \n \n \n \n \n ui_locales: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderOidcContext {\n\tacr_values?: string[];\n\n\tdisplay?: string;\n\n\tid_token_hint_claims?: object;\n\n\tlogin_hint?: string;\n\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderRedirectResponse.html":{"url":"interfaces/ProviderRedirectResponse.html","title":"interface - ProviderRedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderRedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/redirect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n redirect_to: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderRedirectResponse {\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ProvisioningConfigModule.html":{"url":"modules/ProvisioningConfigModule.html","title":"module - ProvisioningConfigModule","body":"\n \n\n\n\n\n Modules\n ProvisioningConfigModule\n\n\n\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-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 { ProvisioningConfiguration, ProvisioningFeatures } from './config';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: ProvisioningFeatures,\n\t\t\tuseValue: ProvisioningConfiguration.provisioningFeatures,\n\t\t},\n\t],\n\texports: [ProvisioningFeatures],\n})\nexport class ProvisioningConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningConfiguration.html":{"url":"classes/ProvisioningConfiguration.html","title":"class - ProvisioningConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningConfiguration\n\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/config/provisioning-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 provisioningFeatures\n \n \n \n \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 provisioningFeatures\n \n \n \n \n \n \n Type : IProvisioningFeatures\n\n \n \n \n \n Default value : {\n\t\tschulconnexGroupProvisioningEnabled: Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED') as boolean,\n\t\tprovisioningOptionsEnabled: Configuration.get('FEATURE_PROVISIONING_OPTIONS_ENABLED') as boolean,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/provisioning/config/provisioning-config.ts:11\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 ProvisioningFeatures = Symbol('ProvisioningFeatures');\n\nexport interface IProvisioningFeatures {\n\tschulconnexGroupProvisioningEnabled: boolean;\n\tprovisioningOptionsEnabled: boolean;\n}\n\nexport class ProvisioningConfiguration {\n\tstatic provisioningFeatures: IProvisioningFeatures = {\n\t\tschulconnexGroupProvisioningEnabled: Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED') as boolean,\n\t\tprovisioningOptionsEnabled: Configuration.get('FEATURE_PROVISIONING_OPTIONS_ENABLED') as boolean,\n\t};\n}\n\n \n\n\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_imports\n\n\n\ncluster_ProvisioningModule_exports\n\n\n\ncluster_ProvisioningModule_providers\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\nProvisioningConfigModule\n\nProvisioningConfigModule\n\nProvisioningModule -->\n\nProvisioningConfigModule->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 ProvisioningConfigModule\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 { AccountModule } from '@modules/account/account.module';\nimport { GroupModule } from '@modules/group';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system/system.module';\nimport { UserModule } from '@modules/user';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { ProvisioningConfigModule } from './provisioning-config.module';\nimport { ProvisioningService } from './service/provisioning.service';\nimport {\n\tIservProvisioningStrategy,\n\tOidcMockProvisioningStrategy,\n\tSanisProvisioningStrategy,\n\tSanisResponseMapper,\n} from './strategy';\nimport { OidcProvisioningService } from './strategy/oidc/service/oidc-provisioning.service';\n\n@Module({\n\timports: [\n\t\tProvisioningConfigModule,\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"},"classes/ProvisioningOptionsEntity.html":{"url":"classes/ProvisioningOptionsEntity.html","title":"class - ProvisioningOptionsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningOptionsEntity\n\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/entity/provisioning-options.entity.ts\n \n\n\n\n\n \n Implements\n \n \n ProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n groupProvisioningClassesEnabled\n \n \n \n Optional\n groupProvisioningCoursesEnabled\n \n \n \n Optional\n groupProvisioningOtherEnabled\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ProvisioningOptionsInterface)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/entity/provisioning-options.entity.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 ProvisioningOptionsInterface\n \n \n \n No\n \n \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 groupProvisioningClassesEnabled\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/modules/legacy-school/entity/provisioning-options.entity.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningCoursesEnabled\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/modules/legacy-school/entity/provisioning-options.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningOtherEnabled\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/modules/legacy-school/entity/provisioning-options.entity.ts:13\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 { ProvisioningOptionsInterface } from '../interface';\n\n@Embeddable()\nexport class ProvisioningOptionsEntity implements ProvisioningOptionsInterface {\n\t@Property({ nullable: true })\n\tgroupProvisioningClassesEnabled?: boolean;\n\n\t@Property({ nullable: true })\n\tgroupProvisioningCoursesEnabled?: boolean;\n\n\t@Property({ nullable: true })\n\tgroupProvisioningOtherEnabled?: boolean;\n\n\tconstructor(props: ProvisioningOptionsInterface) {\n\t\tthis.groupProvisioningClassesEnabled = props.groupProvisioningClassesEnabled;\n\t\tthis.groupProvisioningCoursesEnabled = props.groupProvisioningCoursesEnabled;\n\t\tthis.groupProvisioningOtherEnabled = props.groupProvisioningOtherEnabled;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{"url":"classes/ProvisioningOptionsInvalidTypeLoggableException.html","title":"class - ProvisioningOptionsInvalidTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningOptionsInvalidTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/provisioning-options-invalid-type.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(expectedType, schoolId: EntityId, systemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-options-invalid-type.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 expectedType\n \n \n \n \n \n No\n \n \n \n \n schoolId\n \n \n EntityId\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 \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-options-invalid-type.loggable-exception.ts:15\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { type AnyProvisioningOptions } from '../domain';\n\nexport class ProvisioningOptionsInvalidTypeLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(\n\t\tprivate readonly expectedType: new () => AnyProvisioningOptions,\n\t\tprivate readonly schoolId: EntityId,\n\t\tprivate readonly systemId: EntityId\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PROVISIONING_OPTIONS_INVALID_TYPE',\n\t\t\tmessage: 'The provisioning options are not of the expected type.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texpectedType: this.expectedType.name,\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningOptionsParams.html":{"url":"classes/ProvisioningOptionsParams.html","title":"class - ProvisioningOptionsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningOptionsParams\n\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/request/provisioning-options.params.ts\n \n\n\n\n\n \n Implements\n \n \n ProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n groupProvisioningClassesEnabled\n \n \n \n \n Optional\n groupProvisioningCoursesEnabled\n \n \n \n \n Optional\n groupProvisioningOtherEnabled\n \n \n \n \n\n\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 groupProvisioningClassesEnabled\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/legacy-school/controller/dto/request/provisioning-options.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningCoursesEnabled\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/legacy-school/controller/dto/request/provisioning-options.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningOtherEnabled\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/legacy-school/controller/dto/request/provisioning-options.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean, IsOptional } from 'class-validator';\nimport { ProvisioningOptionsInterface } from '../../../interface';\n\nexport class ProvisioningOptionsParams implements ProvisioningOptionsInterface {\n\t@IsOptional()\n\t@IsBoolean()\n\tgroupProvisioningClassesEnabled?: boolean;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tgroupProvisioningCoursesEnabled?: boolean;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tgroupProvisioningOtherEnabled?: 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/ProvisioningService.html":{"url":"injectables/ProvisioningService.html","title":"injectable - ProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/service/provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n Async\n getData\n \n \n Private\n getProvisioningStrategy\n \n \n Async\n provisionData\n \n \n Protected\n registerStrategy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemService: LegacySystemService, sanisStrategy: SanisProvisioningStrategy, iservStrategy: IservProvisioningStrategy, oidcMockStrategy: OidcMockProvisioningStrategy)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n sanisStrategy\n \n \n SanisProvisioningStrategy\n \n \n \n No\n \n \n \n \n iservStrategy\n \n \n IservProvisioningStrategy\n \n \n \n No\n \n \n \n \n oidcMockStrategy\n \n \n OidcMockProvisioningStrategy\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n \n \n \n \n \n determineInput(systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getProvisioningStrategy\n \n \n \n \n \n \n \n getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemStrategy\n \n SystemProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionData\n \n \n \n \n \n \n \n provisionData(oauthData: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthData\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n registerStrategy\n \n \n \n \n \n \n \n registerStrategy(strategy: ProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n ProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto, ProvisioningSystemDto } from '../dto';\nimport { ProvisioningSystemInputMapper } from '../mapper/provisioning-system-input.mapper';\nimport {\n\tIservProvisioningStrategy,\n\tOidcMockProvisioningStrategy,\n\tProvisioningStrategy,\n\tSanisProvisioningStrategy,\n} from '../strategy';\n\n@Injectable()\nexport class ProvisioningService {\n\tstrategies: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly sanisStrategy: SanisProvisioningStrategy,\n\t\tprivate readonly iservStrategy: IservProvisioningStrategy,\n\t\tprivate readonly oidcMockStrategy: OidcMockProvisioningStrategy\n\t) {\n\t\tthis.registerStrategy(sanisStrategy);\n\t\tthis.registerStrategy(iservStrategy);\n\t\tthis.registerStrategy(oidcMockStrategy);\n\t}\n\n\tprotected registerStrategy(strategy: ProvisioningStrategy) {\n\t\tthis.strategies.set(strategy.getType(), strategy);\n\t}\n\n\tasync getData(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst system: ProvisioningSystemDto = await this.determineInput(systemId);\n\t\tconst input: OauthDataStrategyInputDto = new OauthDataStrategyInputDto({\n\t\t\taccessToken,\n\t\t\tidToken,\n\t\t\tsystem,\n\t\t});\n\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(system.provisioningStrategy);\n\n\t\tconst data: OauthDataDto = await strategy.getData(input);\n\t\treturn data;\n\t}\n\n\tprivate async determineInput(systemId: string): Promise {\n\t\tconst systemDto: SystemDto = await this.systemService.findById(systemId);\n\t\tconst inputDto: ProvisioningSystemDto = ProvisioningSystemInputMapper.mapToInternal(systemDto);\n\t\treturn inputDto;\n\t}\n\n\tasync provisionData(oauthData: OauthDataDto): Promise {\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(oauthData.system.provisioningStrategy);\n\t\tconst provisioningDto: Promise = strategy.apply(oauthData);\n\t\treturn provisioningDto;\n\t}\n\n\tprivate getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy): ProvisioningStrategy {\n\t\tconst strategy: ProvisioningStrategy | undefined = this.strategies.get(systemStrategy);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Provisioning Strategy is not defined.');\n\t\t}\n\n\t\treturn strategy;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningStrategy.html":{"url":"classes/ProvisioningStrategy.html","title":"class - ProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/base.strategy.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n apply\n \n \n Abstract\n getData\n \n \n Abstract\n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getType\n \n \n \n \n \n \n \n getType()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../dto';\n\nexport abstract class ProvisioningStrategy {\n\tabstract getType(): SystemProvisioningStrategy;\n\n\tabstract getData(input: OauthDataStrategyInputDto): Promise;\n\n\tabstract apply(data: OauthDataDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{"url":"classes/ProvisioningStrategyInvalidOptionsLoggableException.html","title":"class - ProvisioningStrategyInvalidOptionsLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategyInvalidOptionsLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/provisioning-strategy-invalid-options.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(provisioningStrategy: SystemProvisioningStrategy, provisioningOptions: ProvisioningOptionsInterface)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-strategy-invalid-options.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningStrategy\n \n \n SystemProvisioningStrategy\n \n \n \n No\n \n \n \n \n provisioningOptions\n \n \n ProvisioningOptionsInterface\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-strategy-invalid-options.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 { UnprocessableEntityException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ProvisioningOptionsInterface } from '../interface';\n\nexport class ProvisioningStrategyInvalidOptionsLoggableException\n\textends UnprocessableEntityException\n\timplements Loggable\n{\n\tconstructor(\n\t\tprivate readonly provisioningStrategy: SystemProvisioningStrategy,\n\t\tprivate readonly provisioningOptions: ProvisioningOptionsInterface\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PROVISIONING_STRATEGY_INVALID_OPTIONS',\n\t\t\tmessage: 'The provisioning options are invalid for this strategy type.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tprovisioningStrategy: this.provisioningStrategy,\n\t\t\t\tprovisioningOptions: this.provisioningOptions,\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/ProvisioningStrategyMissingLoggableException.html":{"url":"classes/ProvisioningStrategyMissingLoggableException.html","title":"class - ProvisioningStrategyMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategyMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/provisioning-strategy-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(systemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-strategy-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 systemId\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/legacy-school/loggable/provisioning-strategy-missing.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ProvisioningStrategyMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly systemId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PROVISIONING_STRATEGY_MISSING',\n\t\t\tmessage: 'Systems without a provisioning strategy cannot have provisioning options.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemDto.html":{"url":"classes/ProvisioningSystemDto.html","title":"class - ProvisioningSystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ProvisioningSystemDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ProvisioningSystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ProvisioningSystemDto {\n\tsystemId: EntityId;\n\n\tprovisioningStrategy: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\tconstructor(props: ProvisioningSystemDto) {\n\t\tthis.systemId = props.systemId;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemInputMapper.html":{"url":"classes/ProvisioningSystemInputMapper.html","title":"class - ProvisioningSystemInputMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemInputMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n \n \n \n mapToInternal(dto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { ProvisioningSystemDto } from '../dto';\n\nexport class ProvisioningSystemInputMapper {\n\tstatic mapToInternal(dto: SystemDto) {\n\t\treturn new ProvisioningSystemDto({\n\t\t\tsystemId: dto.id || '',\n\t\t\tprovisioningStrategy: dto.provisioningStrategy || SystemProvisioningStrategy.UNDEFINED,\n\t\t\tprovisioningUrl: dto.provisioningUrl || undefined,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Pseudonym.html":{"url":"classes/Pseudonym.html","title":"class - Pseudonym","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Pseudonym\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n toolId\n \n \n userId\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n\n \n \n getpseudonym()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13\n \n \n\n \n \n \n \n \n \n \n toolId\n \n \n\n \n \n gettoolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17\n \n \n\n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymApiModule.html":{"url":"modules/PseudonymApiModule.html","title":"module - PseudonymApiModule","body":"\n \n\n\n\n\n Modules\n PseudonymApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymApiModule\n\n\n\ncluster_PseudonymApiModule_providers\n\n\n\ncluster_PseudonymApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nPseudonymApiModule -->\n\nAuthorizationModule->PseudonymApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nPseudonymApiModule -->\n\nLegacySchoolModule->PseudonymApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymApiModule -->\n\nPseudonymModule->PseudonymApiModule\n\n\n\n\n\nPseudonymUc\n\nPseudonymUc\n\nPseudonymApiModule -->\n\nPseudonymUc->PseudonymApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n PseudonymUc\n \n \n \n \n Controllers\n \n \n PseudonymController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n PseudonymModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from './pseudonym.module';\nimport { PseudonymController } from './controller/pseudonym.controller';\nimport { PseudonymUc } from './uc';\n\n@Module({\n\timports: [PseudonymModule, AuthorizationModule, LegacySchoolModule],\n\tproviders: [PseudonymUc],\n\tcontrollers: [PseudonymController],\n})\nexport class PseudonymApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/PseudonymController.html":{"url":"controllers/PseudonymController.html","title":"controller - PseudonymController","body":"\n \n\n\n\n\n\n\n Controllers\n PseudonymController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts\n \n\n \n Prefix\n \n \n pseudonyms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n \n \n \n getPseudonym(params: PseudonymParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':pseudonym')@ApiFoundResponse({description: 'Pseudonym has been found.', type: PseudonymResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns the related user and tool information to a pseudonym'})\n \n \n\n \n \n Defined in apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PseudonymParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymMapper } from '../mapper/pseudonym.mapper';\nimport { PseudonymUc } from '../uc';\nimport { PseudonymResponse } from './dto';\nimport { PseudonymParams } from './dto/pseudonym-params';\n\n@ApiTags('Pseudonym')\n@Authenticate('jwt')\n@Controller('pseudonyms')\nexport class PseudonymController {\n\tconstructor(private readonly pseudonymUc: PseudonymUc) {}\n\n\t@Get(':pseudonym')\n\t@ApiFoundResponse({ description: 'Pseudonym has been found.', type: PseudonymResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns the related user and tool information to a pseudonym' })\n\tasync getPseudonym(\n\t\t@Param() params: PseudonymParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst pseudonym: Pseudonym = await this.pseudonymUc.findPseudonymByPseudonym(currentUser.userId, params.pseudonym);\n\n\t\tconst pseudonymResponse: PseudonymResponse = PseudonymMapper.mapToResponse(pseudonym);\n\n\t\treturn pseudonymResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/PseudonymEntity.html":{"url":"entities/PseudonymEntity.html","title":"entity - PseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n PseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymEntityProps.html":{"url":"interfaces/PseudonymEntityProps.html","title":"interface - PseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymMapper.html":{"url":"classes/PseudonymMapper.html","title":"class - PseudonymMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymResponse } from '../controller/dto';\n\nexport class PseudonymMapper {\n\tstatic mapToResponse(pseudonym: Pseudonym): PseudonymResponse {\n\t\tconst response: PseudonymResponse = new PseudonymResponse({\n\t\t\tid: pseudonym.id,\n\t\t\ttoolId: pseudonym.toolId,\n\t\t\tuserId: pseudonym.userId,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymModule.html":{"url":"modules/PseudonymModule.html","title":"module - PseudonymModule","body":"\n \n\n\n\n\n Modules\n PseudonymModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymModule\n\n\n\ncluster_PseudonymModule_exports\n\n\n\ncluster_PseudonymModule_imports\n\n\n\ncluster_PseudonymModule_providers\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymModule -->\n\nLearnroomModule->PseudonymModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nPseudonymModule -->\n\nUserModule->PseudonymModule\n\n\n\n\n\nFeathersRosterService \n\nFeathersRosterService \n\nFeathersRosterService -->\n\nPseudonymModule->FeathersRosterService \n\n\n\n\n\nPseudonymService \n\nPseudonymService \n\nPseudonymService -->\n\nPseudonymModule->PseudonymService \n\n\n\n\n\nExternalToolPseudonymRepo\n\nExternalToolPseudonymRepo\n\nPseudonymModule -->\n\nExternalToolPseudonymRepo->PseudonymModule\n\n\n\n\n\nFeathersRosterService\n\nFeathersRosterService\n\nPseudonymModule -->\n\nFeathersRosterService->PseudonymModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nPseudonymModule -->\n\nLegacyLogger->PseudonymModule\n\n\n\n\n\nPseudonymService\n\nPseudonymService\n\nPseudonymModule -->\n\nPseudonymService->PseudonymModule\n\n\n\n\n\nPseudonymsRepo\n\nPseudonymsRepo\n\nPseudonymModule -->\n\nPseudonymsRepo->PseudonymModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolPseudonymRepo\n \n \n FeathersRosterService\n \n \n LegacyLogger\n \n \n PseudonymService\n \n \n PseudonymsRepo\n \n \n \n \n Imports\n \n \n LearnroomModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n FeathersRosterService\n \n \n PseudonymService\n \n \n \n \n \n\n\n \n\n\n \n import { LearnroomModule } from '@modules/learnroom';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from './repo';\nimport { FeathersRosterService, PseudonymService } from './service';\n\n@Module({\n\timports: [UserModule, LearnroomModule, forwardRef(() => ToolModule)],\n\tproviders: [PseudonymService, PseudonymsRepo, ExternalToolPseudonymRepo, LegacyLogger, FeathersRosterService],\n\texports: [PseudonymService, FeathersRosterService],\n})\nexport class PseudonymModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymParams.html":{"url":"classes/PseudonymParams.html","title":"class - PseudonymParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class PseudonymParams {\n\t@IsString()\n\t@ApiProperty({ nullable: false, required: true })\n\tpseudonym!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymProps.html":{"url":"interfaces/PseudonymProps.html","title":"interface - PseudonymProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymResponse.html":{"url":"classes/PseudonymResponse.html","title":"class - PseudonymResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: PseudonymResponse)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n PseudonymResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class PseudonymResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tuserId: string;\n\n\tconstructor(response: PseudonymResponse) {\n\t\tthis.id = response.id;\n\t\tthis.toolId = response.toolId;\n\t\tthis.userId = response.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymScope.html":{"url":"classes/PseudonymScope.html","title":"class - PseudonymScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byPseudonym\n \n \n byToolId\n \n \n byUserId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byPseudonym\n \n \n \n \n \n \nbyPseudonym(pseudonym: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserId\n \n \n \n \n \n \nbyUserId(userId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { ObjectId } from 'bson';\nimport { ExternalToolPseudonymEntity } from './external-tool-pseudonym.entity';\n\nexport class PseudonymScope extends Scope {\n\tbyPseudonym(pseudonym: string | undefined): this {\n\t\tif (pseudonym) {\n\t\t\tthis.addQuery({ pseudonym });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyUserId(userId: string | undefined): this {\n\t\tif (userId) {\n\t\t\tthis.addQuery({ userId: new ObjectId(userId) });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: string | undefined): this {\n\t\tif (toolId) {\n\t\t\tthis.addQuery({ toolId: new ObjectId(toolId) });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymSearchQuery.html":{"url":"interfaces/PseudonymSearchQuery.html","title":"interface - PseudonymSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/domain/pseudonym-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pseudonym\n \n \n \n Optional\n \n toolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PseudonymSearchQuery {\n\tpseudonym?: string;\n\ttoolId?: string;\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymService.html":{"url":"injectables/PseudonymService.html","title":"injectable - PseudonymService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/pseudonym.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n Public\n Async\n findByUserId\n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n getIframeSubject\n \n \n Private\n getRepository\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymRepo: PseudonymsRepo, externalToolPseudonymRepo: ExternalToolPseudonymRepo)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymRepo\n \n \n PseudonymsRepo\n \n \n \n No\n \n \n \n \n externalToolPseudonymRepo\n \n \n ExternalToolPseudonymRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n deleteExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n \n \n \n \n \n findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n findExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n \n \n \n \n \n findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n \n \n \n \n \n findPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getIframeSubject\n \n \n \n \n \n \ngetIframeSubject(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getRepository\n \n \n \n \n \n \n \n getRepository(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymsRepo | ExternalToolPseudonymRepo\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LtiToolDO, Page, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { v4 as uuidv4 } from 'uuid';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from '../repo';\n\n@Injectable()\nexport class PseudonymService {\n\tconstructor(\n\t\tprivate readonly pseudonymRepo: PseudonymsRepo,\n\t\tprivate readonly externalToolPseudonymRepo: ExternalToolPseudonymRepo\n\t) {}\n\n\tpublic async findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst pseudonymPromise: Promise = this.getRepository(tool).findByUserIdAndToolIdOrFail(user.id, tool.id);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tpublic async findByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tlet [pseudonyms, externalToolPseudonyms] = await Promise.all([\n\t\t\tthis.findPseudonymsByUserId(userId),\n\t\t\tthis.findExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\tif (pseudonyms === undefined) {\n\t\t\tpseudonyms = [];\n\t\t}\n\n\t\tif (externalToolPseudonyms === undefined) {\n\t\t\texternalToolPseudonyms = [];\n\t\t}\n\n\t\tconst allPseudonyms = [...pseudonyms, ...externalToolPseudonyms];\n\n\t\treturn allPseudonyms;\n\t}\n\n\tpublic async findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst repository: PseudonymsRepo | ExternalToolPseudonymRepo = this.getRepository(tool);\n\n\t\tlet pseudonym: Pseudonym | null = await repository.findByUserIdAndToolId(user.id, tool.id);\n\t\tif (!pseudonym) {\n\t\t\tpseudonym = new Pseudonym({\n\t\t\t\tid: new ObjectId().toHexString(),\n\t\t\t\tpseudonym: uuidv4(),\n\t\t\t\tuserId: user.id,\n\t\t\t\ttoolId: tool.id,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t});\n\n\t\t\tpseudonym = await repository.createOrUpdate(pseudonym);\n\t\t}\n\n\t\treturn pseudonym;\n\t}\n\n\tpublic async deleteByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst [deletedPseudonyms, deletedExternalToolPseudonyms] = await Promise.all([\n\t\t\tthis.deletePseudonymsByUserId(userId),\n\t\t\tthis.deleteExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\treturn deletedPseudonyms + deletedExternalToolPseudonyms;\n\t}\n\n\tprivate async findPseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.findByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async findExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise = this.externalToolPseudonymRepo.findByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate async deletePseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async deleteExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise =\n\t\t\tthis.externalToolPseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate getRepository(tool: ExternalTool | LtiToolDO): PseudonymsRepo | ExternalToolPseudonymRepo {\n\t\tif (tool instanceof ExternalTool) {\n\t\t\treturn this.externalToolPseudonymRepo;\n\t\t}\n\n\t\treturn this.pseudonymRepo;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst result: Pseudonym | null = await this.externalToolPseudonymRepo.findPseudonymByPseudonym(pseudonym);\n\n\t\treturn result;\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options: IFindOptions): Promise> {\n\t\tconst result: Page = await this.externalToolPseudonymRepo.findPseudonym(query, options);\n\n\t\treturn result;\n\t}\n\n\tgetIframeSubject(pseudonym: string): string {\n\t\tconst iFrameSubject = ``;\n\n\t\treturn iFrameSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymUc.html":{"url":"injectables/PseudonymUc.html","title":"injectable - PseudonymUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymService: PseudonymService, authorizationService: AuthorizationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(userId: EntityId, pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Pseudonym } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from '../service';\n\n@Injectable()\nexport class PseudonymUc {\n\tconstructor(\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync findPseudonymByPseudonym(userId: EntityId, pseudonym: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst foundPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (foundPseudonym === null) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\n\t\t}\n\n\t\tconst pseudonymUserId: string = foundPseudonym.userId;\n\t\tconst pseudonymUser: User = await this.authorizationService.getUserWithPermissions(pseudonymUserId);\n\t\tconst pseudonymSchool: LegacySchoolDo = await this.schoolService.getSchoolById(pseudonymUser.school.id);\n\n\t\tthis.authorizationService.checkPermission(user, pseudonymSchool, AuthorizationContextBuilder.read([]));\n\n\t\treturn foundPseudonym;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymsRepo.html":{"url":"injectables/PseudonymsRepo.html","title":"injectable - PseudonymsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: PseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n PseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymEntity, PseudonymEntityProps } from '../entity';\n\n@Injectable()\nexport class PseudonymsRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity = await this.em.findOneOrFail(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity | null = await this.em.findOne(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: PseudonymEntity[] = await this.em.find(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: PseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(PseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: PseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: PseudonymEntity = new PseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\treturn promise;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: PseudonymEntity): Pseudonym {\n\t\treturn new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): PseudonymEntityProps {\n\t\treturn {\n\t\t\tid: entityDO.id,\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemListResponse.html":{"url":"classes/PublicSystemListResponse.html","title":"class - PublicSystemListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemResponses: PublicSystemResponse[])\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemResponses\n \n \n PublicSystemResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : PublicSystemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PublicSystemResponse } from './public-system-response';\n\nexport class PublicSystemListResponse {\n\t@ApiProperty({ type: [PublicSystemResponse] })\n\tdata: PublicSystemResponse[];\n\n\tconstructor(systemResponses: PublicSystemResponse[]) {\n\t\tthis.data = systemResponses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemResponse.html":{"url":"classes/PublicSystemResponse.html","title":"class - PublicSystemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n oauthConfig\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: PublicSystemResponse)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n PublicSystemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Alias of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Display name of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Oauth config of the system.', type: OauthConfigResponse, required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Flag to request only systems with oauth-config.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\n\nexport class PublicSystemResponse {\n\t@ApiProperty({\n\t\tdescription: 'Id of the system.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Flag to request only systems with oauth-config.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\ttype: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Alias of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\talias?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Display name of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdisplayName?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Oauth config of the system.',\n\t\ttype: OauthConfigResponse,\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthConfig?: OauthConfigResponse;\n\n\tconstructor(system: PublicSystemResponse) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PushDeleteRequestsOptionsBuilder.html":{"url":"classes/PushDeleteRequestsOptionsBuilder.html","title":"class - PushDeleteRequestsOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PushDeleteRequestsOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/push-delete-requests-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMs: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/push-delete-requests-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n callsDelayMs\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PushDeletionRequestsOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PushDeletionRequestsOptions } from '../interface';\n\nexport class PushDeleteRequestsOptionsBuilder {\n\tstatic build(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain: string,\n\t\tdeleteInMinutes: number,\n\t\tcallsDelayMs: number\n\t): PushDeletionRequestsOptions {\n\t\treturn {\n\t\t\trefsFilePath,\n\t\t\ttargetRefDomain,\n\t\t\tdeleteInMinutes,\n\t\t\tcallsDelayMs,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PushDeletionRequestsOptions.html":{"url":"interfaces/PushDeletionRequestsOptions.html","title":"interface - PushDeletionRequestsOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PushDeletionRequestsOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/interface/push-delete-requests-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n callsDelayMs\n \n \n \n \n deleteInMinutes\n \n \n \n \n refsFilePath\n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n callsDelayMs\n \n \n \n \n \n \n \n \n callsDelayMs: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refsFilePath\n \n \n \n \n \n \n \n \n refsFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PushDeletionRequestsOptions {\n\trefsFilePath: string;\n\ttargetRefDomain: string;\n\tdeleteInMinutes: number;\n\tcallsDelayMs: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestInput.html":{"url":"interfaces/QueueDeletionRequestInput.html","title":"interface - QueueDeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/interface/queue-deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestInput {\n\ttargetRefDomain: string;\n\ttargetRefId: string;\n\tdeleteInMinutes: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestInputBuilder.html":{"url":"classes/QueueDeletionRequestInputBuilder.html","title":"class - QueueDeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput } from '../interface';\n\nexport class QueueDeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number): QueueDeletionRequestInput {\n\t\treturn { targetRefDomain, targetRefId, deleteInMinutes };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestOutput.html":{"url":"interfaces/QueueDeletionRequestOutput.html","title":"interface - QueueDeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/interface/queue-deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletionPlannedAt\n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestOutput {\n\trequestId?: string;\n\tdeletionPlannedAt?: Date;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestOutputBuilder.html":{"url":"classes/QueueDeletionRequestOutputBuilder.html","title":"class - QueueDeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildError\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requestId?: string, deletionPlannedAt?: Date, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n Yes\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildError\n \n \n \n \n \n \n \n buildError(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestOutput } from '../interface';\n\nexport class QueueDeletionRequestOutputBuilder {\n\tprivate static build(requestId?: string, deletionPlannedAt?: Date, error?: string): QueueDeletionRequestOutput {\n\t\tconst output: QueueDeletionRequestOutput = {};\n\n\t\tif (requestId) {\n\t\t\toutput.requestId = requestId;\n\t\t}\n\n\t\tif (deletionPlannedAt) {\n\t\t\toutput.deletionPlannedAt = deletionPlannedAt;\n\t\t}\n\n\t\tif (error) {\n\t\t\toutput.error = error.toString();\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(requestId: string, deletionPlannedAt: Date): QueueDeletionRequestOutput {\n\t\treturn this.build(requestId, deletionPlannedAt);\n\t}\n\n\tstatic buildError(err: Error): QueueDeletionRequestOutput {\n\t\treturn this.build(undefined, undefined, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperModule.html":{"url":"modules/RabbitMQWrapperModule.html","title":"module - RabbitMQWrapperModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperTestModule.html":{"url":"modules/RabbitMQWrapperTestModule.html","title":"module - RabbitMQWrapperTestModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperTestModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReadableStreamWithFileTypeImp.html":{"url":"classes/ReadableStreamWithFileTypeImp.html","title":"class - ReadableStreamWithFileTypeImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReadableStreamWithFileTypeImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts\n \n\n\n\n \n Extends\n \n \n Readable\n \n\n \n Implements\n \n \n ReadableStreamWithFileType\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ReadableStreamWithFileTypeProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ReadableStreamWithFileTypeProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n \n \n Type : FileTypeResult\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileTypeResult, ReadableStreamWithFileType } from 'file-type';\nimport { Readable } from 'stream';\nimport { BaseFactory } from './base.factory';\n\ntype ReadableStreamWithFileTypeProps = {\n\tfileType?: FileTypeResult;\n\treadable: Readable;\n};\n\nclass ReadableStreamWithFileTypeImp extends Readable implements ReadableStreamWithFileType {\n\tfileType?: FileTypeResult;\n\n\tconstructor(props: ReadableStreamWithFileTypeProps) {\n\t\tsuper();\n\t\tthis.fileType = props.fileType;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const readableStreamWithFileTypeFactory = BaseFactory.define(ReadableStreamWithFileTypeImp, () => {\n\tconst readable = Readable.from('abc');\n\n\treturn {\n\t\tfileType: {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png',\n\t\t},\n\t\treadable,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveCopyVisitor.html":{"url":"classes/RecursiveCopyVisitor.html","title":"class - RecursiveCopyVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveCopyVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitorAsync\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n copyMap\n \n \n resultMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copy\n \n \n getCopiesForChildrenOf\n \n \n getCopyStatusesForChildrenOf\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenOf\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fileCopyService: SchoolSpecificFileCopyService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyService\n \n \n SchoolSpecificFileCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n copyMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n resultMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:22\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copy\n \n \n \n \n \n \n \n copy(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopiesForChildrenOf\n \n \n \n \n \n \ngetCopiesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:273\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopyStatusesForChildrenOf\n \n \n \n \n \n \ngetCopyStatusesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:260\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(original: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenOf\n \n \n \n \n \n \n \n visitChildrenOf(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:256\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(original: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(original: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(original: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(original: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:238\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(original: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(original: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(original: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(original: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:211\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(original: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:229\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport class RecursiveCopyVisitor implements BoardCompositeVisitorAsync {\n\tresultMap = new Map();\n\n\tcopyMap = new Map();\n\n\tconstructor(private readonly fileCopyService: SchoolSpecificFileCopyService) {}\n\n\tasync copy(original: AnyBoardDo): Promise {\n\t\tawait original.acceptAsync(this);\n\n\t\tconst result = this.resultMap.get(original.id);\n\t\t/* istanbul ignore next */\n\t\tif (result === undefined) {\n\t\t\tthrow new Error('nothing copied');\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync visitColumnBoardAsync(original: ColumnBoard): Promise {\n\t\tawait this.visitChildrenOf(original);\n\n\t\tconst copy = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tcontext: original.context,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t});\n\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMNBOARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitColumnAsync(original: Column): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMN,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitCardAsync(original: Card): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\theight: original.height,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.CARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitFileElementAsync(original: FileElement): Promise {\n\t\tconst copy = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: original.caption,\n\t\t\talternativeText: original.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\tsourceParentId: original.id,\n\t\t\ttargetParentId: copy.id,\n\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t});\n\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\treturn {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t};\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.FILE_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: fileCopyStatus,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitDrawingElementAsync(original: DrawingElement): Promise {\n\t\tconst copy = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: original.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.DRAWING_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitLinkElementAsync(original: LinkElement): Promise {\n\t\tconst copy = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: original.url,\n\t\t\ttitle: original.title,\n\t\t\timageUrl: original.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tconst result: CopyStatus = {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.LINK_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t};\n\n\t\tif (original.imageUrl) {\n\t\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\t\tsourceParentId: original.id,\n\t\t\t\ttargetParentId: copy.id,\n\t\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t\t});\n\t\t\tfileCopy.forEach((copyFileDto) => {\n\t\t\t\tif (copyFileDto.id) {\n\t\t\t\t\tif (copy.imageUrl.includes(copyFileDto.sourceId)) {\n\t\t\t\t\t\tcopy.imageUrl = copy.imageUrl.replace(copyFileDto.sourceId, copyFileDto.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcopy.imageUrl = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t\t};\n\t\t\t});\n\t\t\tresult.elements = fileCopyStatus;\n\t\t}\n\t\tthis.resultMap.set(original.id, result);\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitRichTextElementAsync(original: RichTextElement): Promise {\n\t\tconst copy = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: original.text,\n\t\t\tinputFormat: original.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.RICHTEXT_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitSubmissionContainerElementAsync(original: SubmissionContainerElement): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: original.dueDate,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitSubmissionItemAsync(original: SubmissionItem): Promise {\n\t\tthis.resultMap.set(original.id, {\n\t\t\ttype: CopyElementType.SUBMISSION_ITEM,\n\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t});\n\n\t\treturn Promise.resolve();\n\t}\n\n\tvisitExternalToolElementAsync(original: ExternalToolElement): Promise {\n\t\tconst copy = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcontextExternalToolId: undefined,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.EXTERNAL_TOOL_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitChildrenOf(boardDo: AnyBoardDo) {\n\t\treturn Promise.allSettled(boardDo.children.map((child) => child.acceptAsync(this)));\n\t}\n\n\tgetCopyStatusesForChildrenOf(original: AnyBoardDo) {\n\t\tconst childstatusses: CopyStatus[] = [];\n\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childStatus = this.resultMap.get(child.id);\n\t\t\tif (childStatus) {\n\t\t\t\tchildstatusses.push(childStatus);\n\t\t\t}\n\t\t});\n\n\t\treturn childstatusses;\n\t}\n\n\tgetCopiesForChildrenOf(original: AnyBoardDo) {\n\t\tconst copies: AnyBoardDo[] = [];\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childCopy = this.copyMap.get(child.id);\n\t\t\tif (childCopy) {\n\t\t\t\tcopies.push(childCopy);\n\t\t\t}\n\t\t});\n\n\t\treturn copies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RecursiveDeleteVisitor.html":{"url":"injectables/RecursiveDeleteVisitor.html","title":"injectable - RecursiveDeleteVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RecursiveDeleteVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-delete.vistor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deleteNode\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, filesStorageClientAdapterService: FilesStorageClientAdapterService, contextExternalToolService: ContextExternalToolService, drawingElementAdapterService: DrawingElementAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n drawingElementAdapterService\n \n \n DrawingElementAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deleteNode\n \n \n \n \n \n \ndeleteNode(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenAsync\n \n \n \n \n \n \n \n visitChildrenAsync(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { BoardNode } from '@shared/domain/entity';\n\n@Injectable()\nexport class RecursiveDeleteVisitor implements BoardCompositeVisitorAsync {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly drawingElementAdapterService: DrawingElementAdapterService\n\t) {}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\tthis.deleteNode(columnBoard);\n\t\tawait this.visitChildrenAsync(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\tthis.deleteNode(column);\n\t\tawait this.visitChildrenAsync(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\tthis.deleteNode(card);\n\t\tawait this.visitChildrenAsync(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(fileElement.id);\n\t\tthis.deleteNode(fileElement);\n\n\t\tawait this.visitChildrenAsync(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(linkElement.id);\n\t\tthis.deleteNode(linkElement);\n\n\t\tawait this.visitChildrenAsync(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tthis.deleteNode(richTextElement);\n\t\tawait this.visitChildrenAsync(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tawait this.drawingElementAdapterService.deleteDrawingBinData(drawingElement.id);\n\n\t\tthis.deleteNode(drawingElement);\n\t\tawait this.visitChildrenAsync(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tthis.deleteNode(submissionContainerElement);\n\t\tawait this.visitChildrenAsync(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\tthis.deleteNode(submission);\n\t\tawait this.visitChildrenAsync(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (externalToolElement.contextExternalToolId) {\n\t\t\tconst linkedTool: ContextExternalTool | null = await this.contextExternalToolService.findById(\n\t\t\t\texternalToolElement.contextExternalToolId\n\t\t\t);\n\n\t\t\tif (linkedTool) {\n\t\t\t\tawait this.contextExternalToolService.deleteContextExternalTool(linkedTool);\n\t\t\t}\n\t\t}\n\n\t\tthis.deleteNode(externalToolElement);\n\n\t\tawait this.visitChildrenAsync(externalToolElement);\n\t}\n\n\tdeleteNode(domainObject: AnyBoardDo): void {\n\t\tthis.em.remove(this.em.getReference(BoardNode, domainObject.id));\n\t}\n\n\tasync visitChildrenAsync(domainObject: AnyBoardDo): Promise {\n\t\tawait Promise.all(domainObject.children.map(async (child) => child.acceptAsync(this)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveSaveVisitor.html":{"url":"classes/RecursiveSaveVisitor.html","title":"class - RecursiveSaveVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveSaveVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-save.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitor\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n Private\n registerParentData\n \n \n Async\n save\n \n \n Private\n saveRecursive\n \n \n visitCard\n \n \n Private\n visitChildren\n \n \n visitColumn\n \n \n visitColumnBoard\n \n \n visitDrawingElement\n \n \n visitExternalToolElement\n \n \n visitFileElement\n \n \n visitLinkElement\n \n \n visitRichTextElement\n \n \n visitSubmissionContainerElement\n \n \n visitSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n \n \n \n \ncreateOrUpdateBoardNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:220\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n registerParentData\n \n \n \n \n \n \n \n registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n saveRecursive\n \n \n \n \n \n \n \n saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n visitChildren\n \n \n \n \n \n \n \n visitChildren(parent: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:144\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:183\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport {\n\tBoardNode,\n\tCardNode,\n\tColumnBoardNode,\n\tColumnNode,\n\tExternalToolElementNodeEntity,\n\tFileElementNode,\n\tRichTextElementNode,\n\tSubmissionContainerElementNode,\n\tSubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\nimport { LinkElementNode } from '@shared/domain/entity/boardnode/link-element-node.entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardNodeRepo } from './board-node.repo';\n\ntype ParentData = {\n\tboardNode: BoardNode;\n\tposition: number;\n};\n\nexport class RecursiveSaveVisitor implements BoardCompositeVisitor {\n\tprivate parentsMap: Map = new Map();\n\n\tconstructor(private readonly em: EntityManager, private readonly boardNodeRepo: BoardNodeRepo) {}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst domainObjects = Utils.asArray(domainObject);\n\n\t\tif (parent) {\n\t\t\tconst parentNode = await this.boardNodeRepo.findById(parent.id);\n\n\t\t\tdomainObjects.forEach((child) => {\n\t\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\t});\n\t\t}\n\n\t\tdomainObjects.forEach((child) => child.accept(this));\n\t}\n\n\tvisitColumnBoard(columnBoard: ColumnBoard): void {\n\t\tconst parentData = this.parentsMap.get(columnBoard.id);\n\n\t\tconst boardNode = new ColumnBoardNode({\n\t\t\tid: columnBoard.id,\n\t\t\ttitle: columnBoard.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcontext: columnBoard.context,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, columnBoard);\n\t}\n\n\tvisitColumn(column: Column): void {\n\t\tconst parentData = this.parentsMap.get(column.id);\n\n\t\tconst boardNode = new ColumnNode({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, column);\n\t}\n\n\tvisitCard(card: Card): void {\n\t\tconst parentData = this.parentsMap.get(card.id);\n\n\t\tconst boardNode = new CardNode({\n\t\t\tid: card.id,\n\t\t\theight: card.height,\n\t\t\ttitle: card.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, card);\n\t}\n\n\tvisitFileElement(fileElement: FileElement): void {\n\t\tconst parentData = this.parentsMap.get(fileElement.id);\n\n\t\tconst boardNode = new FileElementNode({\n\t\t\tid: fileElement.id,\n\t\t\tcaption: fileElement.caption,\n\t\t\talternativeText: fileElement.alternativeText,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, fileElement);\n\t}\n\n\tvisitLinkElement(linkElement: LinkElement): void {\n\t\tconst parentData = this.parentsMap.get(linkElement.id);\n\n\t\tconst boardNode = new LinkElementNode({\n\t\t\tid: linkElement.id,\n\t\t\turl: linkElement.url,\n\t\t\ttitle: linkElement.title,\n\t\t\timageUrl: linkElement.imageUrl,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(linkElement, boardNode);\n\t}\n\n\tvisitRichTextElement(richTextElement: RichTextElement): void {\n\t\tconst parentData = this.parentsMap.get(richTextElement.id);\n\n\t\tconst boardNode = new RichTextElementNode({\n\t\t\tid: richTextElement.id,\n\t\t\ttext: richTextElement.text,\n\t\t\tinputFormat: richTextElement.inputFormat,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, richTextElement);\n\t}\n\n\tvisitDrawingElement(drawingElement: DrawingElement): void {\n\t\tconst parentData = this.parentsMap.get(drawingElement.id);\n\n\t\tconst boardNode = new DrawingElementNode({\n\t\t\tid: drawingElement.id,\n\t\t\tdescription: drawingElement.description ?? '',\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, drawingElement);\n\t}\n\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void {\n\t\tconst parentData = this.parentsMap.get(submissionContainerElement.id);\n\n\t\tconst boardNode = new SubmissionContainerElementNode({\n\t\t\tid: submissionContainerElement.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tdueDate: submissionContainerElement.dueDate,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionContainerElement);\n\t}\n\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void {\n\t\tconst parentData = this.parentsMap.get(submissionItem.id);\n\t\tconst boardNode = new SubmissionItemNode({\n\t\t\tid: submissionItem.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tuserId: submissionItem.userId,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionItem);\n\t}\n\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void {\n\t\tconst parentData: ParentData | undefined = this.parentsMap.get(externalToolElement.id);\n\n\t\tconst boardNode: ExternalToolElementNodeEntity = new ExternalToolElementNodeEntity({\n\t\t\tid: externalToolElement.id,\n\t\t\tcontextExternalTool: externalToolElement.contextExternalToolId\n\t\t\t\t? this.em.getReference(ContextExternalToolEntity, externalToolElement.contextExternalToolId)\n\t\t\t\t: undefined,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(externalToolElement, boardNode);\n\t}\n\n\tprivate visitChildren(parent: AnyBoardDo, parentNode: BoardNode) {\n\t\tparent.children.forEach((child) => {\n\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\tchild.accept(this);\n\t\t});\n\t}\n\n\tprivate registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode) {\n\t\tconst position = parent.children.findIndex((obj) => obj.id === child.id);\n\t\tif (position === -1) {\n\t\t\tthrow new Error(`Cannot get child position. Child doesnt belong to parent`);\n\t\t}\n\t\tthis.parentsMap.set(child.id, { boardNode: parentNode, position });\n\t}\n\n\tprivate saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo): void {\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(anyBoardDo, boardNode);\n\t}\n\n\t// TODO make private (change tests)\n\tcreateOrUpdateBoardNode(boardNode: BoardNode): void {\n\t\tconst existing = this.em.getUnitOfWork().getById(BoardNode.name, boardNode.id);\n\t\tif (existing) {\n\t\t\tthis.em.assign(existing, boardNode);\n\t\t} else {\n\t\t\tthis.em.persist(boardNode);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RedirectResponse.html":{"url":"classes/RedirectResponse.html","title":"class - RedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(redirectReponse: RedirectResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirectReponse\n \n \n RedirectResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class RedirectResponse {\n\tconstructor(redirectReponse: RedirectResponse) {\n\t\tthis.redirect_to = redirectReponse.redirect_to;\n\t}\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.',\n\t})\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RedisModule.html":{"url":"modules/RedisModule.html","title":"module - RedisModule","body":"\n \n\n\n\n\n Modules\n RedisModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RedisModule\n\n\n\ncluster_RedisModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRedisModule\n\nRedisModule\n\nRedisModule -->\n\nLoggerModule->RedisModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/redis/redis.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { createClient, RedisClient } from 'redis';\nimport { REDIS_CLIENT } from './interface/redis.constants';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: REDIS_CLIENT,\n\t\t\tuseFactory: (logger: LegacyLogger) => {\n\t\t\t\tlogger.setContext(RedisModule.name);\n\n\t\t\t\tif (Configuration.has('REDIS_URI')) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst client: RedisClient = createClient({ url: redisUrl });\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn client;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t\tinject: [LegacyLogger],\n\t\t},\n\t],\n\texports: [REDIS_CLIENT],\n})\nexport class RedisModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceLoader.html":{"url":"injectables/ReferenceLoader.html","title":"injectable - ReferenceLoader","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ReferenceLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n repos\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n Private\n resolveRepo\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, courseRepo: CourseRepo, courseGroupRepo: CourseGroupRepo, taskRepo: TaskRepo, schoolRepo: LegacySchoolRepo, lessonService: LessonService, teamsRepo: TeamsRepo, submissionRepo: SubmissionRepo, schoolExternalToolRepo: SchoolExternalToolRepo, boardNodeAuthorizableService: BoardDoAuthorizableService, contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n courseGroupRepo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n boardNodeAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n contextExternalToolAuthorizableService\n \n \n ContextExternalToolAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n \n \n \n \n \n loadAuthorizableObject(objectName: AuthorizableReferenceType, objectId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n objectName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n objectId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolveRepo\n \n \n \n \n \n \n \n resolveRepo(type: AuthorizableReferenceType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RepoLoader\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n repos\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n\n \n \n\n\n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencedEntityNotFoundLoggable.html":{"url":"classes/ReferencedEntityNotFoundLoggable.html","title":"class - ReferencedEntityNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencedEntityNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceEntityName: string, sourceEntityId: EntityId, referencedEntityName: string, referencedEntityId: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n sourceEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n referencedEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n referencedEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '../../domain/types';\n\nexport class ReferencedEntityNotFoundLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly sourceEntityName: string,\n\t\tprivate readonly sourceEntityId: EntityId,\n\t\tprivate readonly referencedEntityName: string,\n\t\tprivate readonly referencedEntityId: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The requested entity could not been found, but it is still referenced.',\n\t\t\tdata: {\n\t\t\t\treferencedEntityName: this.referencedEntityName,\n\t\t\t\treferencedEntityId: this.referencedEntityId,\n\t\t\t\tsourceEntityName: this.sourceEntityName,\n\t\t\t\tsourceEntityId: this.sourceEntityId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencesService.html":{"url":"classes/ReferencesService.html","title":"class - ReferencesService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/references.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n \n \n \n loadFromTxtFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/references.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import fs from 'fs';\n\nexport class ReferencesService {\n\tstatic loadFromTxtFile(filePath: string): string[] {\n\t\tlet fileContent = fs.readFileSync(filePath).toString();\n\n\t\t// Replace all the CRLF occurrences with just a LF.\n\t\tfileContent = fileContent.replace(/\\r\\n?/g, '\\n');\n\n\t\t// Split the whole file content by a line feed (LF) char (\\n).\n\t\tconst fileLines = fileContent.split('\\n');\n\n\t\tconst references: string[] = [];\n\n\t\t// Iterate over all the file lines and if it contains a valid id (which is\n\t\t// basically any non-empty string), add it to the loaded references array.\n\t\tfileLines.forEach((fileLine) => {\n\t\t\tconst reference = fileLine.trim();\n\n\t\t\tif (reference && reference.length > 0) {\n\t\t\t\treferences.push(reference);\n\t\t\t}\n\t\t});\n\n\t\treturn references;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RegistrationPinEntity.html":{"url":"entities/RegistrationPinEntity.html","title":"entity - RegistrationPinEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RegistrationPinEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n importHash\n \n \n \n pin\n \n \n \n verified\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({default: false})\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationPinEntityProps.html":{"url":"interfaces/RegistrationPinEntityProps.html","title":"interface - RegistrationPinEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationPinEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n Optional\n \n id\n \n \n \n \n importHash\n \n \n \n \n pin\n \n \n \n \n verified\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n \n \n importHash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n \n \n pin: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n \n \n verified: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationPinModule.html":{"url":"modules/RegistrationPinModule.html","title":"module - RegistrationPinModule","body":"\n \n\n\n\n\n Modules\n RegistrationPinModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RegistrationPinModule\n\n\n\ncluster_RegistrationPinModule_imports\n\n\n\ncluster_RegistrationPinModule_exports\n\n\n\ncluster_RegistrationPinModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nRegistrationPinModule -->\n\nLoggerModule->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService \n\nRegistrationPinService \n\nRegistrationPinService -->\n\nRegistrationPinModule->RegistrationPinService \n\n\n\n\n\nRegistrationPinRepo\n\nRegistrationPinRepo\n\nRegistrationPinModule -->\n\nRegistrationPinRepo->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService\n\nRegistrationPinService\n\nRegistrationPinModule -->\n\nRegistrationPinService->RegistrationPinModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/registration-pin/registration-pin.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RegistrationPinRepo\n \n \n RegistrationPinService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n RegistrationPinService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { RegistrationPinService } from './service';\nimport { RegistrationPinRepo } from './repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [RegistrationPinService, RegistrationPinRepo],\n\texports: [RegistrationPinService],\n})\nexport class RegistrationPinModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinRepo.html":{"url":"injectables/RegistrationPinRepo.html","title":"injectable - RegistrationPinRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { RegistrationPinEntity } from '../entity';\n\n@Injectable()\nexport class RegistrationPinRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RegistrationPinEntity, { email });\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinService.html":{"url":"injectables/RegistrationPinService.html","title":"injectable - RegistrationPinService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/service/registration-pin.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registrationPinRepo: RegistrationPinRepo)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n registrationPinRepo\n \n \n RegistrationPinRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { RegistrationPinRepo } from '../repo';\n\n@Injectable()\nexport class RegistrationPinService {\n\tconstructor(private readonly registrationPinRepo: RegistrationPinRepo) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\treturn this.registrationPinRepo.deleteRegistrationPinByEmail(email);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RejectRequestBody.html":{"url":"interfaces/RejectRequestBody.html","title":"interface - RejectRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RejectRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/reject-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n error_debug\n \n \n \n Optional\n \n error_description\n \n \n \n Optional\n \n error_hint\n \n \n \n Optional\n \n status_code\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_debug\n \n \n \n \n \n \n \n \n error_debug: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_description\n \n \n \n \n \n \n \n \n error_description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_hint\n \n \n \n \n \n \n \n \n error_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status_code\n \n \n \n \n \n \n \n \n status_code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface RejectRequestBody {\n\terror?: string;\n\n\terror_debug?: string;\n\n\terror_description?: string;\n\n\terror_hint?: string;\n\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RelatedResourceProperties.html":{"url":"interfaces/RelatedResourceProperties.html","title":"interface - RelatedResourceProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RelatedResourceProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n originId\n \n \n \n Optional\n \n relationType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originId\n \n \n \n \n \n \n \n \n originId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relationType\n \n \n \n \n \n \n \n \n relationType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameBodyParams.html":{"url":"classes/RenameBodyParams.html","title":"class - RenameBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/rename.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})@SanitizeHtml()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class RenameBodyParams {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\t@SanitizeHtml()\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameFileParams.html":{"url":"classes/RenameFileParams.html","title":"class - RenameFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:79\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RepoLoader.html":{"url":"interfaces/RepoLoader.html","title":"interface - RepoLoader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RepoLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n populate\n \n \n \n \n repo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n populate\n \n \n \n \n \n \n \n \n populate: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n repo\n \n \n \n \n \n \n \n \n repo: RepoType\n\n \n \n\n\n \n \n Type : RepoType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RequestInfo.html":{"url":"classes/RequestInfo.html","title":"class - RequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n fullPath\n \n \n method\n \n \n routePath\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(req: Request)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n fullPath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n routePath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n \n \n \n hasPath(reqRoute)\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n reqRoute\n\n \n No\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RequestLoggingInterceptor.html":{"url":"injectables/RequestLoggingInterceptor.html","title":"injectable - RequestLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RequestLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/request-logging.interceptor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ICurrentUser } from '@modules/authentication/interface/user';\nimport { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger, RequestLoggingBody } from '@src/core/logger';\nimport { Request } from 'express';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RequestLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.setContext(`${context.getClass().name}::${context.getHandler().name}()`);\n\n\t\tconst req: Request = context.switchToHttp().getRequest();\n\t\tconst currentUser = req.user as ICurrentUser;\n\t\tconst logging: RequestLoggingBody = {\n\t\t\tuserId: currentUser.userId,\n\t\t\trequest: {\n\t\t\t\turl: req.url,\n\t\t\t\tmethod: req.method,\n\t\t\t\tparams: req.params,\n\t\t\t\tquery: req.query,\n\t\t\t},\n\t\t\terror: undefined,\n\t\t};\n\t\treturn next.handle().pipe(\n\t\t\ttap(() => {\n\t\t\t\tthis.logger.http(logging);\n\t\t\t}),\n\t\t\tcatchError((err: unknown) => {\n\t\t\t\tlogging.error = err;\n\t\t\t\tthis.logger.http(logging);\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupDto.html":{"url":"classes/ResolvedGroupDto.html","title":"class - ResolvedGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSource\n \n \n id\n \n \n name\n \n \n Optional\n organizationId\n \n \n type\n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ResolvedGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ResolvedGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSource\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n organizationId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : ResolvedGroupUser[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalSource } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ResolvedGroupUser } from './resolved-group-user';\n\nexport class ResolvedGroupDto {\n\tid: string;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tusers: ResolvedGroupUser[];\n\n\texternalSource?: ExternalSource;\n\n\torganizationId?: string;\n\n\tconstructor(group: ResolvedGroupDto) {\n\t\tthis.id = group.id;\n\t\tthis.name = group.name;\n\t\tthis.type = group.type;\n\t\tthis.users = group.users;\n\t\tthis.externalSource = group.externalSource;\n\t\tthis.organizationId = group.organizationId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupUser.html":{"url":"classes/ResolvedGroupUser.html","title":"class - ResolvedGroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n role\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ResolvedGroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ResolvedGroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleDto\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : UserDO\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserDO } from '@shared/domain/domainobject';\n\nexport class ResolvedGroupUser {\n\tuser: UserDO;\n\n\trole: RoleDto;\n\n\tconstructor(props: ResolvedGroupUser) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserMapper.html":{"url":"classes/ResolvedUserMapper.html","title":"class - ResolvedUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/resolved-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, permissions: string[], roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/resolved-user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : ResolvedUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User } from '@shared/domain/entity';\nimport { ResolvedUserResponse } from '../controller/dto';\n\nexport class ResolvedUserMapper {\n\tstatic mapToResponse(user: User, permissions: string[] = [], roles: Role[] = []): ResolvedUserResponse {\n\t\tconst dto = new ResolvedUserResponse();\n\t\tdto.id = user.id;\n\t\tdto.firstName = user.firstName;\n\t\tdto.lastName = user.lastName;\n\t\tdto.createdAt = user.createdAt;\n\t\tdto.updatedAt = user.updatedAt;\n\t\tdto.schoolId = user.school.toString();\n\t\tdto.roles = roles.map((role) => {\n\t\t\treturn { name: role.name, id: role.id };\n\t\t});\n\n\t\tdto.permissions = permissions;\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserResponse.html":{"url":"classes/ResolvedUserResponse.html","title":"class - ResolvedUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/resolved-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n permissions\n \n \n \n roles\n \n \n \n schoolId\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : Role[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport type Role = {\n\tname: string;\n\n\tid: string;\n};\n\nexport class ResolvedUserResponse {\n\t@ApiProperty()\n\tfirstName!: string;\n\n\t@ApiProperty()\n\tlastName!: string;\n\n\t@ApiProperty()\n\tid!: string;\n\n\t@ApiProperty()\n\tcreatedAt!: Date;\n\n\t@ApiProperty()\n\tupdatedAt!: Date;\n\n\t@ApiProperty()\n\troles!: Role[];\n\n\t@ApiProperty()\n\tpermissions!: string[];\n\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResponseInfo.html":{"url":"classes/ResponseInfo.html","title":"class - ResponseInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResponseInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(res: Response)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n \n Response\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RestartUserLoginMigrationUc.html":{"url":"injectables/RestartUserLoginMigrationUc.html","title":"injectable - RestartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RestartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolMigrationService: SchoolMigrationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationNotFoundLoggableException, UserLoginMigrationStartLoggable } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class RestartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(RestartUserLoginMigrationUc.name);\n\t}\n\n\tpublic async restartMigration(userId: string, schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.restartMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(updatedUserLoginMigration);\n\n\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, updatedUserLoginMigration.id));\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RestrictedContextMismatchLoggable.html":{"url":"classes/RestrictedContextMismatchLoggable.html","title":"class - RestrictedContextMismatchLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RestrictedContextMismatchLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolName: string, context: ToolContextType)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n ToolContextType\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ToolContextType } from '../../common/enum';\n\nexport class RestrictedContextMismatchLoggable extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalToolName: string, private readonly context: ToolContextType) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst message: LogMessage | ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\ttype: 'UNPROCESSABLE_ENTITY_EXCEPTION',\n\t\t\tmessage: `Could not create an instance of ${this.externalToolName} in context: ${this.context} because of the context restrictions of the tool.`,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolName: this.externalToolName,\n\t\t\t\tcontext: this.context,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RetryOptions.html":{"url":"interfaces/RetryOptions.html","title":"interface - RetryOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RetryOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n retryCount\n \n \n \n Optional\n \n retryDelay\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n retryCount\n \n \n \n \n \n \n \n \n retryCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n retryDelay\n \n \n \n \n \n \n \n \n retryDelay: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RevokeConsentParams.html":{"url":"classes/RevokeConsentParams.html","title":"class - RevokeConsentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RevokeConsentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth2 client id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class RevokeConsentParams {\n\t@IsString()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: true, nullable: false })\n\tclient!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichText.html":{"url":"classes/RichText.html","title":"class - RichText","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichText\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/rich-text.types.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichText)\n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichText\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the rich text element'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Input format of the rich text element', enum: InputFormat})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { sanitizeRichText } from '../../controller/transformer/sanitize-html.transformer';\nimport { InputFormat } from './input-format.types';\n\nexport class RichText {\n\tconstructor({ content, type }: RichText) {\n\t\tthis.content = sanitizeRichText(content, type);\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the rich text element',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Input format of the rich text element',\n\t\tenum: InputFormat,\n\t})\n\ttype: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextContentBody.html":{"url":"classes/RichTextContentBody.html","title":"class - RichTextContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(InputFormat)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElement.html":{"url":"classes/RichTextElement.html","title":"class - RichTextElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n inputFormat\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n\n \n \n gettext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:6\n \n \n\n \n \n settext(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n\n \n \n getinputFormat()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:14\n \n \n\n \n \n setinputFormat(value: InputFormat)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n InputFormat\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContent.html":{"url":"classes/RichTextElementContent.html","title":"class - RichTextElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContentBody.html":{"url":"classes/RichTextElementContentBody.html","title":"class - RichTextElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:93\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RichTextElementNode.html":{"url":"entities/RichTextElementNode.html","title":"entity - RichTextElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n RichTextElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementNodeProps.html":{"url":"interfaces/RichTextElementNodeProps.html","title":"interface - RichTextElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementProps.html":{"url":"interfaces/RichTextElementProps.html","title":"interface - RichTextElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponse.html":{"url":"classes/RichTextElementResponse.html","title":"class - RichTextElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponseMapper.html":{"url":"classes/RichTextElementResponseMapper.html","title":"class - RichTextElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : RichTextElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:9\n \n \n\n\n \n \n\n \n Returns : RichTextElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, RichTextElement } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../dto';\nimport { RichTextElementContent, RichTextElementResponse } from '../dto/element/rich-text-element.response';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class RichTextElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: RichTextElementResponseMapper;\n\n\tpublic static getInstance(): RichTextElementResponseMapper {\n\t\tif (!RichTextElementResponseMapper.instance) {\n\t\t\tRichTextElementResponseMapper.instance = new RichTextElementResponseMapper();\n\t\t}\n\n\t\treturn RichTextElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: RichTextElement): RichTextElementResponse {\n\t\tconst result = new RichTextElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.RICH_TEXT,\n\t\t\tcontent: new RichTextElementContent({ text: element.text, inputFormat: element.inputFormat }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: RichTextElement): boolean {\n\t\treturn element instanceof RichTextElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatError.html":{"url":"classes/RocketChatError.html","title":"class - RocketChatError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n errorType\n \n \n Private\n response\n \n \n Private\n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(e: any)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n errorType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n response\n \n \n \n \n \n \n Type : GenericData\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatGroupModel.html":{"url":"interfaces/RocketChatGroupModel.html","title":"interface - RocketChatGroupModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatGroupModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group\n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group\n \n \n \n \n \n \n \n \n group: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatModule.html":{"url":"modules/RocketChatModule.html","title":"module - RocketChatModule","body":"\n \n\n\n\n\n Modules\n RocketChatModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: RocketChatOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.module.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RocketChatOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { RocketChatOptions, RocketChatService } from './rocket-chat.service';\n\n@Module({})\nexport class RocketChatModule {\n\tstatic forRoot(options: RocketChatOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: RocketChatModule,\n\t\t\timports: [HttpModule],\n\t\t\tproviders: [\n\t\t\t\tRocketChatService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ROCKET_CHAT_OPTIONS',\n\t\t\t\t\tuseValue: options,\n\t\t\t\t},\n\t\t\t],\n\t\t\texports: [RocketChatService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatOptions.html":{"url":"interfaces/RocketChatOptions.html","title":"interface - RocketChatOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n adminId\n \n \n \n Optional\n \n adminPassword\n \n \n \n Optional\n \n adminToken\n \n \n \n Optional\n \n adminUser\n \n \n \n Optional\n \n uri\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n adminId\n \n \n \n \n \n \n \n \n adminId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminPassword\n \n \n \n \n \n \n \n \n adminPassword: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminToken\n \n \n \n \n \n \n \n \n adminToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminUser\n \n \n \n \n \n \n \n \n adminUser: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n uri\n \n \n \n \n \n \n \n \n uri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUser.html":{"url":"classes/RocketChatUser.html","title":"class - RocketChatUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n username\n \n \n rcId\n \n \n authToken\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:14\n \n \n\n \n \n \n \n \n \n \n username\n \n \n\n \n \n getusername()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:18\n \n \n\n \n \n \n \n \n \n \n rcId\n \n \n\n \n \n getrcId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:22\n \n \n\n \n \n \n \n \n \n \n authToken\n \n \n\n \n \n getauthToken()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:26\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:30\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:34\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RocketChatUserEntity.html":{"url":"entities/RocketChatUserEntity.html","title":"entity - RocketChatUserEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RocketChatUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n rcId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:20\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserEntityProps.html":{"url":"interfaces/RocketChatUserEntityProps.html","title":"interface - RocketChatUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n id\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserFactory.html":{"url":"classes/RocketChatUserFactory.html","title":"class - RocketChatUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '@shared/testing';\nimport { RocketChatUserEntity, RocketChatUserEntityProps } from '../rocket-chat-user.entity';\n\nclass RocketChatUserFactory extends BaseFactory {}\n\nexport const rocketChatUserEntityFactory = RocketChatUserFactory.define(RocketChatUserEntity, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tuserId: new ObjectId(),\n\t\tusername: `username-${sequence}`,\n\t\trcId: `rcId-${sequence}`,\n\t\tauthToken: `aythToken-${sequence}`,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserMapper.html":{"url":"classes/RocketChatUserMapper.html","title":"class - RocketChatUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: RocketChatUserEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n RocketChatUserEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: RocketChatUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n RocketChatUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { RocketChatUserEntity } from '../../entity';\nimport { RocketChatUser } from '../../domain/rocket-chat-user.do';\n\nexport class RocketChatUserMapper {\n\tstatic mapToDO(entity: RocketChatUserEntity): RocketChatUser {\n\t\treturn new RocketChatUser({\n\t\t\tid: entity.id,\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tusername: entity.username,\n\t\t\trcId: entity.rcId,\n\t\t\tauthToken: entity.authToken,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: RocketChatUser): RocketChatUserEntity {\n\t\treturn new RocketChatUserEntity({\n\t\t\tid: domainObject.id,\n\t\t\tuserId: new ObjectId(domainObject.userId),\n\t\t\tusername: domainObject.username,\n\t\t\trcId: domainObject.rcId,\n\t\t\tauthToken: domainObject.authToken,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatUserModule.html":{"url":"modules/RocketChatUserModule.html","title":"module - RocketChatUserModule","body":"\n \n\n\n\n\n Modules\n RocketChatUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RocketChatUserModule\n\n\n\ncluster_RocketChatUserModule_providers\n\n\n\ncluster_RocketChatUserModule_exports\n\n\n\n\nRocketChatUserService \n\nRocketChatUserService \n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nRocketChatUserService -->\n\nRocketChatUserModule->RocketChatUserService \n\n\n\n\n\nRocketChatUserRepo\n\nRocketChatUserRepo\n\nRocketChatUserModule -->\n\nRocketChatUserRepo->RocketChatUserModule\n\n\n\n\n\nRocketChatUserService\n\nRocketChatUserService\n\nRocketChatUserModule -->\n\nRocketChatUserService->RocketChatUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat-user/rocketchat-user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RocketChatUserRepo\n \n \n RocketChatUserService\n \n \n \n \n Exports\n \n \n RocketChatUserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RocketChatUserRepo } from './repo';\nimport { RocketChatUserService } from './service/rocket-chat-user.service';\n\n@Module({\n\tproviders: [RocketChatUserRepo, RocketChatUserService],\n\texports: [RocketChatUserService],\n})\nexport class RocketChatUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserProps.html":{"url":"interfaces/RocketChatUserProps.html","title":"interface - RocketChatUserProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserRepo.html":{"url":"injectables/RocketChatUserRepo.html","title":"injectable - RocketChatUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain/rocket-chat-user.do';\nimport { RocketChatUserEntity } from '../entity';\nimport { RocketChatUserMapper } from './mapper';\n\n@Injectable()\nexport class RocketChatUserRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn RocketChatUserEntity;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entity: RocketChatUserEntity = await this.em.findOneOrFail(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\tconst mapped: RocketChatUser = RocketChatUserMapper.mapToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserService.html":{"url":"injectables/RocketChatUserService.html","title":"injectable - RocketChatUserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n Public\n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(rocketChatUserRepo: RocketChatUserRepo)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n rocketChatUserRepo\n \n \n RocketChatUserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain';\nimport { RocketChatUserRepo } from '../repo';\n\n@Injectable()\nexport class RocketChatUserService {\n\tconstructor(private readonly rocketChatUserRepo: RocketChatUserRepo) {}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst user: RocketChatUser = await this.rocketChatUserRepo.findByUserId(userId);\n\n\t\treturn user;\n\t}\n\n\tpublic deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.rocketChatUserRepo.deleteByUserId(userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Role.html":{"url":"entities/Role.html","title":"entity - Role","body":"\n \n\n\n\n\n\n\n\n Entities\n Role\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n permissions\n \n \n \n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany({entity: 'Role'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleDto.html":{"url":"classes/RoleDto.html","title":"class - RoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/dto/role.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n Optional\n permissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleDto)\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission, RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class RoleDto {\n\tid?: EntityId;\n\n\tname: RoleName;\n\n\tpermissions?: Permission[];\n\n\tconstructor(props: RoleDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleMapper.html":{"url":"classes/RoleMapper.html","title":"class - RoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/mapper/role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(enities: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enities\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: Role)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Role } from '@shared/domain/entity';\n\nexport class RoleMapper {\n\tstatic mapFromEntityToDto(entity: Role): RoleDto {\n\t\treturn new RoleDto({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tpermissions: entity.permissions,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(enities: Role[]): RoleDto[] {\n\t\treturn enities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RoleModule.html":{"url":"modules/RoleModule.html","title":"module - RoleModule","body":"\n \n\n\n\n\n Modules\n RoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RoleModule\n\n\n\ncluster_RoleModule_exports\n\n\n\ncluster_RoleModule_providers\n\n\n\n\nRoleRepo \n\nRoleRepo \n\n\n\nRoleService \n\nRoleService \n\n\n\nRoleUc \n\nRoleUc \n\n\n\nRoleModule\n\nRoleModule\n\nRoleRepo -->\n\nRoleModule->RoleRepo \n\n\n\nRoleService -->\n\nRoleModule->RoleService \n\n\n\nRoleUc -->\n\nRoleModule->RoleUc \n\n\n\n\n\nRoleRepo\n\nRoleRepo\n\nRoleModule -->\n\nRoleRepo->RoleModule\n\n\n\n\n\nRoleService\n\nRoleService\n\nRoleModule -->\n\nRoleService->RoleModule\n\n\n\n\n\nRoleUc\n\nRoleUc\n\nRoleModule -->\n\nRoleUc->RoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/role/role.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n Exports\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { RoleUc } from '@modules/role/uc/role.uc';\n\n@Module({\n\tproviders: [RoleRepo, RoleService, RoleUc],\n\texports: [RoleService, RoleUc, RoleRepo],\n})\nexport class RoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleNameMapper.html":{"url":"classes/RoleNameMapper.html","title":"class - RoleNameMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleNameMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/role-name.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(roleName: FilterRoleType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n FilterRoleType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserRoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(roleName: IImportUserRoleName)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n IImportUserRoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserRole\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { FilterRoleType, UserRole } from '../controller/dto';\n\nexport class RoleNameMapper {\n\tstatic mapToResponse(roleName: IImportUserRoleName): UserRole {\n\t\tif (roleName === RoleName.ADMINISTRATOR) return UserRole.ADMIN;\n\t\tif (roleName === RoleName.TEACHER) return UserRole.TEACHER;\n\t\tif (roleName === RoleName.STUDENT) return UserRole.STUDENT;\n\t\tthrow Error('invalid role name from domain');\n\t}\n\n\tstatic mapToDomain(roleName: FilterRoleType): IImportUserRoleName {\n\t\tif (roleName === FilterRoleType.ADMIN) return RoleName.ADMINISTRATOR;\n\t\tif (roleName === FilterRoleType.TEACHER) return RoleName.TEACHER;\n\t\tif (roleName === FilterRoleType.STUDENT) return RoleName.STUDENT;\n\t\tthrow Error('invalid role name from query');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RoleProperties.html":{"url":"interfaces/RoleProperties.html","title":"interface - RoleProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RoleProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n permissions\n \n \n \n Optional\n \n roles\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: RoleName\n\n \n \n\n\n \n \n Type : RoleName\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleReference.html":{"url":"classes/RoleReference.html","title":"class - RoleReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/role-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '../interface';\nimport { EntityId } from '../types';\n\nexport class RoleReference {\n\tid: EntityId;\n\n\tname: RoleName;\n\n\tconstructor(props: RoleReference) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleRepo.html":{"url":"injectables/RoleRepo.html","title":"injectable - RoleRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/role/role.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByName\n \n \n Async\n findByNames\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class RoleRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Role;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findByName(name: RoleName): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { name }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { id }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { name: { $in: names } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByIds(ids: string[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { id: { $in: ids } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleService.html":{"url":"injectables/RoleService.html","title":"injectable - RoleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/role.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByNames\n \n \n Async\n getProtectedRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleRepo: RoleRepo)\n \n \n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleRepo\n \n \n RoleRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getProtectedRoles\n \n \n \n \n \n \n \n getProtectedRoles()\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:13\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleMapper } from '../mapper/role.mapper';\nimport { RoleDto } from './dto/role.dto';\n\n@Injectable()\nexport class RoleService {\n\tconstructor(private readonly roleRepo: RoleRepo) {}\n\n\tasync getProtectedRoles(): Promise {\n\t\tconst roleDtos: RoleDto[] = await this.findByNames([RoleName.ADMINISTRATOR, RoleName.TEACHER]);\n\t\treturn roleDtos;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: Role = await this.roleRepo.findById(id);\n\t\tconst roleDto: RoleDto = RoleMapper.mapFromEntityToDto(entity);\n\t\treturn roleDto;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst roles: Role[] = await this.roleRepo.findByIds(ids);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(roles);\n\t\treturn roleDtos;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst entities: Role[] = await this.roleRepo.findByNames(names);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(entities);\n\t\treturn roleDtos;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleUc.html":{"url":"injectables/RoleUc.html","title":"injectable - RoleUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/uc/role.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleService: RoleService)\n \n \n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\n\n@Injectable()\nexport class RoleUc {\n\tconstructor(private readonly roleService: RoleService) {}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this.roleService.findByNames(names);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardDTOFactory.html":{"url":"injectables/RoomBoardDTOFactory.html","title":"injectable - RoomBoardDTOFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardDTOFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createDTO\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisationService: AuthorizationService, roomsAuthorisationService: RoomsAuthorisationService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:186\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n roomsAuthorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createDTO\n \n \n \n \n \n \ncreateDTO(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardResponseMapper.html":{"url":"injectables/RoomBoardResponseMapper.html","title":"injectable - RoomBoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n Private\n mapColumnBoard\n \n \n Private\n mapLesson\n \n \n Private\n mapTask\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(board: RoomBoardDTO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n RoomBoardDTO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SingleColumnBoardResponse\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapColumnBoard\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapLesson\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapTask\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:47\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, TaskWithStatusVo } from '@shared/domain/entity';\nimport {\n\tBoardElementResponse,\n\tBoardLessonResponse,\n\tBoardTaskResponse,\n\tSingleColumnBoardResponse,\n} from '../controller/dto';\nimport { BoardColumnBoardResponse } from '../controller/dto/single-column-board/board-column-board.response';\nimport { ColumnBoardMetaData, LessonMetaData, RoomBoardDTO, RoomBoardElementTypes } from '../types';\nimport { BoardTaskStatusMapper } from './board-taskStatus.mapper';\n\n@Injectable()\nexport class RoomBoardResponseMapper {\n\tmapToResponse(board: RoomBoardDTO): SingleColumnBoardResponse {\n\t\tconst elements = this.mapBoardElements(board);\n\n\t\tconst mapped = new SingleColumnBoardResponse({\n\t\t\troomId: board.roomId,\n\t\t\ttitle: board.title,\n\t\t\tdisplayColor: board.displayColor,\n\t\t\telements,\n\t\t\tisArchived: board.isArchived,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapBoardElements = (board: RoomBoardDTO): BoardElementResponse[] => {\n\t\tconst elements: BoardElementResponse[] = [];\n\t\tboard.elements.forEach((element) => {\n\t\t\tif (element.type === RoomBoardElementTypes.TASK) {\n\t\t\t\telements.push(this.mapTask(element.content as TaskWithStatusVo));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.LESSON) {\n\t\t\t\telements.push(this.mapLesson(element.content as LessonMetaData));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.COLUMN_BOARD) {\n\t\t\t\telements.push(this.mapColumnBoard(element.content as ColumnBoardMetaData));\n\t\t\t}\n\t\t});\n\t\treturn elements;\n\t};\n\n\tprivate mapTask = (taskWithStatus: TaskWithStatusVo): BoardElementResponse => {\n\t\tconst { task: boardTask, status } = taskWithStatus;\n\t\tconst boardTaskDesc = boardTask.getParentData();\n\t\tconst boardTaskStatus = BoardTaskStatusMapper.mapToResponse(status);\n\n\t\tconst mappedTask = new BoardTaskResponse({\n\t\t\tid: boardTask.id,\n\t\t\tname: boardTask.name,\n\t\t\tcreatedAt: boardTask.createdAt,\n\t\t\tupdatedAt: boardTask.updatedAt,\n\t\t\tstatus: boardTaskStatus,\n\t\t});\n\n\t\tconst taskCourse = boardTask.course as Course;\n\t\tmappedTask.courseName = taskCourse.name;\n\t\tmappedTask.availableDate = boardTask.availableDate;\n\t\tmappedTask.dueDate = boardTask.dueDate;\n\t\tmappedTask.displayColor = boardTaskDesc.color;\n\t\tmappedTask.description = boardTask.description;\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.TASK,\n\t\t\tcontent: mappedTask,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapLesson = (lesson: LessonMetaData): BoardElementResponse => {\n\t\tconst mappedLesson = new BoardLessonResponse({\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tnumberOfPublishedTasks: lesson.numberOfPublishedTasks,\n\t\t\tnumberOfDraftTasks: lesson.numberOfDraftTasks,\n\t\t\tnumberOfPlannedTasks: lesson.numberOfPlannedTasks,\n\t\t\tcourseName: lesson.courseName,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.LESSON,\n\t\t\tcontent: mappedLesson,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapColumnBoard = (columnBoardInfo: ColumnBoardMetaData): BoardElementResponse => {\n\t\tconst mappedColumnBoard = new BoardColumnBoardResponse({\n\t\t\tid: columnBoardInfo.id,\n\t\t\tcolumnBoardId: columnBoardInfo.columnBoardId,\n\t\t\ttitle: columnBoardInfo.title,\n\t\t\tpublished: columnBoardInfo.published,\n\t\t\tcreatedAt: columnBoardInfo.createdAt,\n\t\t\tupdatedAt: columnBoardInfo.updatedAt,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.COLUMN_BOARD,\n\t\t\tcontent: mappedColumnBoard,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomElementUrlParams.html":{"url":"classes/RoomElementUrlParams.html","title":"class - RoomElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element within the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element within the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\telementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomUrlParams.html":{"url":"classes/RoomUrlParams.html","title":"class - RoomUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsAuthorisationService.html":{"url":"injectables/RoomsAuthorisationService.html","title":"injectable - RoomsAuthorisationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsAuthorisationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasCourseReadPermission\n \n \n hasCourseWritePermission\n \n \n hasLessonReadPermission\n \n \n hasTaskReadPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasCourseReadPermission\n \n \n \n \n \n \nhasCourseReadPermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasCourseWritePermission\n \n \n \n \n \n \nhasCourseWritePermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasLessonReadPermission\n \n \n \n \n \n \nhasLessonReadPermission(user: User, lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasTaskReadPermission\n \n \n \n \n \n \nhasTaskReadPermission(user: User, task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\n\nexport enum TaskParentPermission {\n\tread,\n\twrite,\n}\n\n@Injectable()\nexport class RoomsAuthorisationService {\n\thasCourseWritePermission(user: User, course: Course): boolean {\n\t\tconst hasPermission = course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasCourseReadPermission(user: User, course: Course): boolean {\n\t\tconst hasPermission =\n\t\t\tcourse.students.contains(user) || course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasTaskReadPermission(user: User, task: Task): boolean {\n\t\tconst isCreator = task.creator === user;\n\t\tlet hasCoursePermission = false;\n\n\t\tif (task.lesson) {\n\t\t\tthrow new NotImplementedException('rooms currenlty do not support tasks in lessons');\n\t\t}\n\n\t\tif (task.course) {\n\t\t\thasCoursePermission = this.hasCourseReadPermission(user, task.course);\n\n\t\t\tif (!task.isPublished()) {\n\t\t\t\thasCoursePermission = this.hasCourseWritePermission(user, task.course);\n\t\t\t}\n\t\t}\n\n\t\tconst hasPermission = isCreator || hasCoursePermission;\n\n\t\treturn hasPermission;\n\t}\n\n\thasLessonReadPermission(user: User, lesson: LessonEntity): boolean {\n\t\tlet hasCoursePermission = false;\n\t\thasCoursePermission = this.hasCourseReadPermission(user, lesson.course);\n\t\tif (lesson.hidden) {\n\t\t\thasCoursePermission = this.hasCourseWritePermission(user, lesson.course);\n\t\t}\n\n\t\treturn hasCoursePermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/RoomsController.html":{"url":"controllers/RoomsController.html","title":"controller - RoomsController","body":"\n \n\n\n\n\n\n\n Controllers\n RoomsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/rooms.controller.ts\n \n\n \n Prefix\n \n \n rooms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n Async\n copyLesson\n \n \n \n Async\n getRoomBoard\n \n \n \n Async\n patchElementVisibility\n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(currentUser: ICurrentUser, urlParams: RoomUrlParams)\n \n \n\n \n \n Decorators : \n \n @Post(':roomId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(currentUser: ICurrentUser, urlParams: LessonUrlParams, params: LessonCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post('lessons/:lessonId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getRoomBoard\n \n \n \n \n \n \n \n getRoomBoard(urlParams: RoomUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':roomId/board')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchElementVisibility\n \n \n \n \n \n \n \n patchElementVisibility(urlParams: RoomElementUrlParams, params: PatchVisibilityParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/elements/:elementId/visibility')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomElementUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchVisibilityParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n \n \n \n patchOrderingOfElements(urlParams: RoomUrlParams, params: PatchOrderParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/board/order')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchOrderParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { serverConfig } from '@modules/server/server.config';\nimport { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { RoomBoardResponseMapper } from '../mapper/room-board-response.mapper';\nimport { CourseCopyUC } from '../uc/course-copy.uc';\nimport { LessonCopyUC } from '../uc/lesson-copy.uc';\nimport { RoomsUc } from '../uc/rooms.uc';\nimport {\n\tLessonCopyApiParams,\n\tLessonUrlParams,\n\tPatchOrderParams,\n\tPatchVisibilityParams,\n\tRoomElementUrlParams,\n\tRoomUrlParams,\n\tSingleColumnBoardResponse,\n} from './dto';\n\n@ApiTags('Rooms')\n@Authenticate('jwt')\n@Controller('rooms')\nexport class RoomsController {\n\tconstructor(\n\t\tprivate readonly roomsUc: RoomsUc,\n\t\tprivate readonly mapper: RoomBoardResponseMapper,\n\t\tprivate readonly courseCopyUc: CourseCopyUC,\n\t\tprivate readonly lessonCopyUc: LessonCopyUC\n\t) {}\n\n\t@Get(':roomId/board')\n\tasync getRoomBoard(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.roomsUc.getBoard(urlParams.roomId, currentUser.userId);\n\t\tconst mapped = this.mapper.mapToResponse(board);\n\t\treturn mapped;\n\t}\n\n\t@Patch(':roomId/elements/:elementId/visibility')\n\tasync patchElementVisibility(\n\t\t@Param() urlParams: RoomElementUrlParams,\n\t\t@Body() params: PatchVisibilityParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.updateVisibilityOfBoardElement(\n\t\t\turlParams.roomId,\n\t\t\turlParams.elementId,\n\t\t\tcurrentUser.userId,\n\t\t\tparams.visibility\n\t\t);\n\t}\n\n\t@Patch(':roomId/board/order')\n\tasync patchOrderingOfElements(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@Body() params: PatchOrderParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.reorderBoardElements(urlParams.roomId, currentUser.userId, params.elements);\n\t}\n\n\t@Post(':roomId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: RoomUrlParams\n\t): Promise {\n\t\tconst copyStatus = await this.courseCopyUc.copyCourse(currentUser.userId, urlParams.roomId);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Post('lessons/:lessonId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyLesson(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: LessonUrlParams,\n\t\t@Body() params: LessonCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.lessonCopyUc.copyLesson(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.lessonId,\n\t\t\tCopyMapper.mapLessonCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsService.html":{"url":"injectables/RoomsService.html","title":"injectable - RoomsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/rooms.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n Async\n updateBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService, lessonService: LessonService, boardRepo: BoardRepo, columnBoardService: ColumnBoardService, columnBoardTargetService: ColumnBoardTargetService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnBoardTargetService\n \n \n ColumnBoardTargetService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n \n \n \n \n \n handleColumnBoardIntegration(roomId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoard\n \n \n \n \n \n \n \n updateBoard(board: Board, roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ColumnBoardService } from '@modules/board';\nimport { LessonService } from '@modules/lesson';\nimport { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { Board, ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo } from '@shared/repo';\nimport { ColumnBoardTargetService } from './column-board-target.service';\n\n@Injectable()\nexport class RoomsService {\n\tconstructor(\n\t\tprivate readonly taskService: TaskService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnBoardTargetService: ColumnBoardTargetService\n\t) {}\n\n\tasync updateBoard(board: Board, roomId: EntityId, userId: EntityId): Promise {\n\t\tconst [courseLessons] = await this.lessonService.findByCourseIds([roomId]);\n\t\tconst [courseTasks] = await this.taskService.findBySingleParent(userId, roomId);\n\n\t\tconst courseColumnBoardTargets = await this.handleColumnBoardIntegration(roomId);\n\n\t\tconst boardElementTargets = [...courseLessons, ...courseTasks, ...courseColumnBoardTargets];\n\n\t\tboard.syncBoardElementReferences(boardElementTargets);\n\n\t\tawait this.boardRepo.save(board);\n\t\treturn board;\n\t}\n\n\tprivate async handleColumnBoardIntegration(roomId: EntityId): Promise {\n\t\tlet courseColumnBoardTargets: ColumnBoardTarget[] = [];\n\n\t\tif ((Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true) {\n\t\t\tconst courseReference = {\n\t\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\t\tid: roomId,\n\t\t\t};\n\n\t\t\tconst columnBoardIds = await this.columnBoardService.findIdsByExternalReference(courseReference);\n\t\t\tif (columnBoardIds.length === 0) {\n\t\t\t\tconst columnBoard = await this.columnBoardService.createWelcomeColumnBoard(courseReference);\n\t\t\t\tcolumnBoardIds.push(columnBoard.id);\n\t\t\t}\n\n\t\t\tcourseColumnBoardTargets = await this.columnBoardTargetService.findOrCreateTargets(columnBoardIds);\n\t\t}\n\t\treturn courseColumnBoardTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsUc.html":{"url":"injectables/RoomsUc.html","title":"injectable - RoomsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getBoard\n \n \n Async\n reorderBoardElements\n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, userRepo: UserRepo, boardRepo: BoardRepo, factory: RoomBoardDTOFactory, authorisationService: RoomsAuthorisationService, roomsService: RoomsService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n factory\n \n \n RoomBoardDTOFactory\n \n \n \n No\n \n \n \n \n authorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getBoard\n \n \n \n \n \n \n \n getBoard(roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n reorderBoardElements\n \n \n \n \n \n \n \n reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n orderedList\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n \n \n \n updateVisibilityOfBoardElement(roomId: EntityId, elementId: EntityId, userId: EntityId, visibility: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n visibility\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { RoomsService } from '../service/rooms.service';\nimport { RoomBoardDTO } from '../types';\nimport { RoomBoardDTOFactory } from './room-board-dto.factory';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\n@Injectable()\nexport class RoomsUc {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly factory: RoomBoardDTOFactory,\n\t\tprivate readonly authorisationService: RoomsAuthorisationService,\n\t\tprivate readonly roomsService: RoomsService\n\t) {}\n\n\tasync getBoard(roomId: EntityId, userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tconst board = await this.boardRepo.findByCourseId(roomId);\n\n\t\tawait this.roomsService.updateBoard(board, roomId, userId);\n\n\t\tconst roomBoardDTO = this.factory.createDTO({ room: course, board, user });\n\t\treturn roomBoardDTO;\n\t}\n\n\tasync updateVisibilityOfBoardElement(\n\t\troomId: EntityId,\n\t\telementId: EntityId,\n\t\tuserId: EntityId,\n\t\tvisibility: boolean\n\t): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tconst element = board.getByTargetId(elementId);\n\t\tif (visibility) {\n\t\t\telement.publish();\n\t\t} else {\n\t\t\telement.unpublish();\n\t\t}\n\t\tawait this.boardRepo.save(board);\n\t}\n\n\tasync reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[]): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tboard.reorderElements(orderedList);\n\t\tawait this.boardRepo.save(board);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RpcMessage.html":{"url":"interfaces/RpcMessage.html","title":"interface - RpcMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RpcMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n message\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: IError\n\n \n \n\n\n \n \n Type : IError\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RpcMessageProducer.html":{"url":"classes/RpcMessageProducer.html","title":"class - RpcMessageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RpcMessageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message-producer.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, exchange: string, timeout: number)\n \n \n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n exchange\n \n \n string\n \n \n \n No\n \n \n \n \n timeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:21\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:12\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { ErrorMapper } from './error.mapper';\nimport { RpcMessage } from './rpc-message';\n\nexport abstract class RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprotected readonly exchange: string,\n\t\tprotected readonly timeout: number\n\t) {}\n\n\tprotected async request(event: string, payload: unknown) {\n\t\tconst response = await this.amqpConnection.request>(this.createRequest(event, payload));\n\n\t\tthis.checkError(response);\n\t\treturn response.message;\n\t}\n\n\t// need to be fixed with https://ticketsystem.dbildungscloud.de/browse/BC-2984\n\t// mapRpcErrorResponseToDomainError should also removed with this ticket\n\tprotected checkError(response: RpcMessage) {\n\t\tconst { error } = response;\n\t\tif (error) {\n\t\t\tconst domainError = ErrorMapper.mapRpcErrorResponseToDomainError(error);\n\t\t\tthrow domainError;\n\t\t}\n\t}\n\n\tprotected createRequest(event: string, payload: unknown) {\n\t\treturn {\n\t\t\texchange: this.exchange,\n\t\t\troutingKey: event,\n\t\t\tpayload,\n\t\t\ttimeout: this.timeout,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rule.html":{"url":"interfaces/Rule.html","title":"interface - Rule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/rule.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n isApplicable\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n \n \nhasPermission(user: User, object: T, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isApplicable\n \n \n \n \n \n \nisApplicable(user: User, object: T, context?: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext } from './authorization-context.interface';\n\nexport interface Rule {\n\tisApplicable(user: User, object: T, context?: AuthorizationContext): boolean;\n\thasPermission(user: User, object: T, context: AuthorizationContext): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RuleManager.html":{"url":"injectables/RuleManager.html","title":"injectable - RuleManager","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RuleManager\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/rule-manager.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n rules\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n matchSingleRule\n \n \n Public\n selectRule\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRule: CourseRule, courseGroupRule: CourseGroupRule, lessonRule: LessonRule, legaySchoolRule: LegacySchoolRule, taskRule: TaskRule, userRule: UserRule, teamRule: TeamRule, submissionRule: SubmissionRule, schoolExternalToolRule: SchoolExternalToolRule, boardDoRule: BoardDoRule, contextExternalToolRule: ContextExternalToolRule, userLoginMigrationRule: UserLoginMigrationRule, groupRule: GroupRule, systemRule: SystemRule, schoolSystemOptionsRule: SchoolSystemOptionsRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n legaySchoolRule\n \n \n LegacySchoolRule\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n userRule\n \n \n UserRule\n \n \n \n No\n \n \n \n \n teamRule\n \n \n TeamRule\n \n \n \n No\n \n \n \n \n submissionRule\n \n \n SubmissionRule\n \n \n \n No\n \n \n \n \n schoolExternalToolRule\n \n \n SchoolExternalToolRule\n \n \n \n No\n \n \n \n \n boardDoRule\n \n \n BoardDoRule\n \n \n \n No\n \n \n \n \n contextExternalToolRule\n \n \n ContextExternalToolRule\n \n \n \n No\n \n \n \n \n userLoginMigrationRule\n \n \n UserLoginMigrationRule\n \n \n \n No\n \n \n \n \n groupRule\n \n \n GroupRule\n \n \n \n No\n \n \n \n \n systemRule\n \n \n SystemRule\n \n \n \n No\n \n \n \n \n schoolSystemOptionsRule\n \n \n SchoolSystemOptionsRule\n \n \n \n No\n \n \n \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: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 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: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 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:26\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSchoolSystemOptionsRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from '../rules';\nimport type { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class RuleManager {\n\tprivate readonly rules: Rule[];\n\n\tconstructor(\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule,\n\t\tprivate readonly lessonRule: LessonRule,\n\t\tprivate readonly legaySchoolRule: LegacySchoolRule,\n\t\tprivate readonly taskRule: TaskRule,\n\t\tprivate readonly userRule: UserRule,\n\t\tprivate readonly teamRule: TeamRule,\n\t\tprivate readonly submissionRule: SubmissionRule,\n\t\tprivate readonly schoolExternalToolRule: SchoolExternalToolRule,\n\t\tprivate readonly boardDoRule: BoardDoRule,\n\t\tprivate readonly contextExternalToolRule: ContextExternalToolRule,\n\t\tprivate readonly userLoginMigrationRule: UserLoginMigrationRule,\n\t\tprivate readonly groupRule: GroupRule,\n\t\tprivate readonly systemRule: SystemRule,\n\t\tprivate readonly schoolSystemOptionsRule: SchoolSystemOptionsRule\n\t) {\n\t\tthis.rules = [\n\t\t\tthis.courseRule,\n\t\t\tthis.courseGroupRule,\n\t\t\tthis.lessonRule,\n\t\t\tthis.taskRule,\n\t\t\tthis.teamRule,\n\t\t\tthis.userRule,\n\t\t\tthis.legaySchoolRule,\n\t\t\tthis.submissionRule,\n\t\t\tthis.schoolExternalToolRule,\n\t\t\tthis.boardDoRule,\n\t\t\tthis.contextExternalToolRule,\n\t\t\tthis.userLoginMigrationRule,\n\t\t\tthis.groupRule,\n\t\t\tthis.systemRule,\n\t\t\tthis.schoolSystemOptionsRule,\n\t\t];\n\t}\n\n\tpublic selectRule(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): Rule {\n\t\tconst selectedRules = this.rules.filter((rule) => rule.isApplicable(user, object, context));\n\t\tconst rule = this.matchSingleRule(selectedRules);\n\n\t\treturn rule;\n\t}\n\n\tprivate matchSingleRule(rules: Rule[]) {\n\t\tif (rules.length === 0) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\tif (rules.length > 1) {\n\t\t\tthrow new InternalServerErrorException('MULTIPLE_MATCHES_ARE_NOT_ALLOWED');\n\t\t}\n\t\treturn rules[0];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/S3ClientAdapter.html":{"url":"injectables/S3ClientAdapter.html","title":"injectable - S3ClientAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n S3ClientAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n Public\n Async\n copy\n \n \n Public\n Async\n create\n \n \n Public\n Async\n createBucket\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n deleteDirectory\n \n \n Public\n Async\n get\n \n \n Public\n Async\n head\n \n \n Public\n Async\n list\n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n Public\n Async\n moveToTrash\n \n \n Public\n Async\n restore\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(client: S3Client, config: S3Config, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n \n S3Client\n \n \n \n No\n \n \n \n \n config\n \n \n S3Config\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n \n \n \n \n \n checkStreamResponsive(stream: Readable, context: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:292\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(paths: CopyFiles[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n CopyFiles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(path: string, file: File)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n file\n \n File\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createBucket\n \n \n \n \n \n \n \n createBucket()\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:34\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:181\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteDirectory\n \n \n \n \n \n \n \n deleteDirectory(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:265\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n head\n \n \n \n \n \n \n \n head(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:243\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n list\n \n \n \n \n \n \n \n list(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n \n \n \n \n \n listObjectKeysRecursive(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n moveToTrash\n \n \n \n \n \n \n \n moveToTrash(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restore\n \n \n \n \n \n \n \n restore(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'trash'\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tCopyObjectCommand,\n\tCopyObjectCommandOutput,\n\tCreateBucketCommand,\n\tDeleteObjectsCommand,\n\tGetObjectCommand,\n\tHeadObjectCommand,\n\tHeadObjectCommandOutput,\n\tListObjectsV2Command,\n\tS3Client,\n\tServiceOutputTypes,\n} from '@aws-sdk/client-s3';\nimport { Upload } from '@aws-sdk/lib-storage';\nimport { Inject, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Readable } from 'stream';\nimport { S3_CLIENT, S3_CONFIG } from './constants';\nimport { CopyFiles, File, GetFile, ListFiles, ObjectKeysRecursive, S3Config } from './interface';\n\n@Injectable()\nexport class S3ClientAdapter {\n\tprivate deletedFolderName = 'trash';\n\n\tconstructor(\n\t\t@Inject(S3_CLIENT) readonly client: S3Client,\n\t\t@Inject(S3_CONFIG) readonly config: S3Config,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(S3ClientAdapter.name);\n\t}\n\n\t// is public but only used internally\n\tpublic async createBucket() {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create bucket', params: { bucket: this.config.bucket } });\n\n\t\t\tconst req = new CreateBucketCommand({ Bucket: this.config.bucket });\n\t\t\tawait this.client.send(req);\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tthis.logger.error(`${err.message} \"${this.config.bucket}\"`);\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:createBucket',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async get(path: string, bytesRange?: string): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'get', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new GetObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tRange: bytesRange,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\t\t\tconst stream = data.Body as Readable;\n\n\t\t\tthis.checkStreamResponsive(stream, path);\n\n\t\t\treturn {\n\t\t\t\tdata: stream,\n\t\t\t\tcontentType: data.ContentType,\n\t\t\t\tcontentLength: data.ContentLength,\n\t\t\t\tcontentRange: data.ContentRange,\n\t\t\t\tetag: data.ETag,\n\t\t\t};\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with id ${path}`);\n\t\t\t\tthrow new NotFoundException('NoSuchKey', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t} else {\n\t\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:get', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async create(path: string, file: File): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = {\n\t\t\t\tBody: file.data,\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tContentType: file.mimeType,\n\t\t\t};\n\t\t\tconst upload = new Upload({\n\t\t\t\tclient: this.client,\n\t\t\t\tparams: req,\n\t\t\t});\n\n\t\t\tconst commandOutput = await upload.done();\n\t\t\treturn commandOutput;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchBucket') {\n\t\t\t\tawait this.createBucket();\n\n\t\t\t\treturn await this.create(path, file);\n\t\t\t}\n\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:create', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async moveToTrash(paths: string[]): Promise {\n\t\ttry {\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: path, targetPath: `${this.deletedFolderName}/${path}` };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tawait this.delete(paths);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.cause?.name === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with ids ${paths.join(',')}`);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async restore(paths: string[]): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'restore', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: `${this.deletedFolderName}/${path}`, targetPath: path };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tconst deleteObjects = copyPaths.map((p) => p.sourcePath);\n\t\t\tawait this.delete(deleteObjects);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:restore', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async copy(paths: CopyFiles[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'copy', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyRequests = paths.map(async (path) => {\n\t\t\t\tconst req = new CopyObjectCommand({\n\t\t\t\t\tBucket: this.config.bucket,\n\t\t\t\t\tCopySource: `${this.config.bucket}/${path.sourcePath}`,\n\t\t\t\t\tKey: `${path.targetPath}`,\n\t\t\t\t});\n\n\t\t\t\tconst data = await this.client.send(req);\n\n\t\t\t\treturn data;\n\t\t\t});\n\n\t\t\tconst result = await Promise.all(copyRequests);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:copy', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async delete(paths: string[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'delete', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst pathObjects = paths.map((p) => {\n\t\t\t\treturn { Key: p };\n\t\t\t});\n\t\t\tconst req = new DeleteObjectsCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tDelete: { Objects: pathObjects },\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(req);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async list(params: ListFiles): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'list', params });\n\n\t\t\tconst result = await this.listObjectKeysRecursive(params);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:listDirectory'));\n\t\t}\n\t}\n\n\tprivate async listObjectKeysRecursive(params: ListFiles): Promise {\n\t\tconst { path, maxKeys, nextMarker } = params;\n\t\tlet files: string[] = params.files ? params.files : [];\n\t\tconst MaxKeys = maxKeys && maxKeys - files.length;\n\n\t\tconst req = new ListObjectsV2Command({\n\t\t\tBucket: this.config.bucket,\n\t\t\tPrefix: path,\n\t\t\tContinuationToken: nextMarker,\n\t\t\tMaxKeys,\n\t\t});\n\n\t\tconst data = await this.client.send(req);\n\n\t\tconst returnedFiles =\n\t\t\tdata?.Contents?.filter((o) => o.Key)\n\t\t\t\t.map((o) => o.Key as string) // Can not be undefined because of filter above\n\t\t\t\t.map((key) => key.substring(path.length)) ?? [];\n\n\t\tfiles = files.concat(returnedFiles);\n\n\t\tlet res: ObjectKeysRecursive = { path, maxKeys, nextMarker: data?.ContinuationToken, files };\n\n\t\tif (data?.IsTruncated && (!maxKeys || res.files.length {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'head', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new HeadObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t});\n\n\t\t\tconst headResponse = await this.client.send(req);\n\n\t\t\treturn headResponse;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err.message && err.message === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find the file for head with id ${path}`);\n\t\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'NoSuchKey'));\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:head'));\n\t\t}\n\t}\n\n\tpublic async deleteDirectory(path: string) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'deleteDirectory', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new ListObjectsV2Command({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tPrefix: path,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\n\t\t\tif (data.Contents?.length && data.Contents?.length > 0) {\n\t\t\t\tconst pathObjects = data.Contents.map((p) => p.Key);\n\n\t\t\t\tconst filteredPathObjects = pathObjects.filter((p): p is string => !!p);\n\n\t\t\t\tawait this.delete(filteredPathObjects);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:deleteDirectory',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\t/* istanbul ignore next */\n\tprivate checkStreamResponsive(stream: Readable, context: string) {\n\t\tlet timer: NodeJS.Timeout;\n\t\tconst refreshTimeout = () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tif (timer) clearTimeout(timer);\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tthis.logger.log(`Stream unresponsive: S3 object key ${context}`);\n\t\t\t\tstream.destroy();\n\t\t\t}, 60 * 1000);\n\t\t};\n\n\t\tstream.on('data', () => {\n\t\t\trefreshTimeout();\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/S3ClientModule.html":{"url":"modules/S3ClientModule.html","title":"module - S3ClientModule","body":"\n \n\n\n\n\n Modules\n S3ClientModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(configs: S3Config[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.module.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configs\n \n S3Config[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { S3Client } from '@aws-sdk/client-s3';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { S3Config } from './interface';\nimport { S3ClientAdapter } from './s3-client.adapter';\n\nconst createS3ClientAdapter = (config: S3Config, legacyLogger: LegacyLogger) => {\n\tconst { region, accessKeyId, secretAccessKey, endpoint } = config;\n\n\tconst s3Client = new S3Client({\n\t\tregion,\n\t\tcredentials: {\n\t\t\taccessKeyId,\n\t\t\tsecretAccessKey,\n\t\t},\n\t\tendpoint,\n\t\tforcePathStyle: true,\n\t\ttls: true,\n\t});\n\treturn new S3ClientAdapter(s3Client, config, legacyLogger);\n};\n\n@Module({})\nexport class S3ClientModule {\n\tstatic register(configs: S3Config[]): DynamicModule {\n\t\tconst providers = configs.flatMap((config) => [\n\t\t\t{\n\t\t\t\tprovide: config.connectionName,\n\t\t\t\tuseFactory: (logger: LegacyLogger) => createS3ClientAdapter(config, logger),\n\t\t\t\tinject: [LegacyLogger],\n\t\t\t},\n\t\t]);\n\n\t\treturn {\n\t\t\tmodule: S3ClientModule,\n\t\t\timports: [LoggerModule],\n\t\t\tproviders,\n\t\t\texports: providers,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config.html":{"url":"interfaces/S3Config.html","title":"interface - S3Config","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n connectionName\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n connectionName\n \n \n \n \n \n \n \n \n connectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config-1.html":{"url":"interfaces/S3Config-1.html","title":"interface - S3Config-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/interface/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface S3Config {\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisAnschriftResponse.html":{"url":"classes/SanisAnschriftResponse.html","title":"class - SanisAnschriftResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisAnschriftResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisAnschriftResponse {\n\t@IsString()\n\t@IsOptional()\n\tort?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGeburtResponse.html":{"url":"classes/SanisGeburtResponse.html","title":"class - SanisGeburtResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGeburtResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisGeburtResponse {\n\t@IsOptional()\n\t@IsString()\n\tdatum?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppeResponse.html":{"url":"classes/SanisGruppeResponse.html","title":"class - SanisGruppeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bezeichnung\n \n \n \n id\n \n \n \n typ\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n bezeichnung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n typ\n \n \n \n \n \n \n Type : SanisGroupType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisGroupType)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { SanisGroupType } from './sanis-group-type';\n\nexport class SanisGruppeResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tbezeichnung!: string;\n\n\t@IsEnum(SanisGroupType)\n\ttyp!: SanisGroupType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenResponse.html":{"url":"classes/SanisGruppenResponse.html","title":"class - SanisGruppenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n \n Type : SanisGruppeResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Type : SanisGruppenzugehoerigkeitResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n Type : SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGruppeResponse } from './sanis-gruppe-response';\nimport { SanisGruppenzugehoerigkeitResponse } from './sanis-gruppenzugehoerigkeit-response';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from './sanis-sonstige-gruppenzugehoerige-response';\n\nexport class SanisGruppenResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppeResponse)\n\tgruppe!: SanisGruppeResponse;\n\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppenzugehoerigkeitResponse)\n\tgruppenzugehoerigkeit!: SanisGruppenzugehoerigkeitResponse;\n\n\t@IsOptional()\n\t@IsArray()\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisSonstigeGruppenzugehoerigeResponse)\n\tsonstige_gruppenzugehoerige?: SanisSonstigeGruppenzugehoerigeResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenzugehoerigkeitResponse.html":{"url":"classes/SanisGruppenzugehoerigkeitResponse.html","title":"class - SanisGruppenzugehoerigkeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenzugehoerigkeitResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisGruppenzugehoerigkeitResponse {\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisNameResponse.html":{"url":"classes/SanisNameResponse.html","title":"class - SanisNameResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisNameResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n familienname\n \n \n \n vorname\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n familienname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n vorname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\n\nexport class SanisNameResponse {\n\t@IsString()\n\tfamilienname!: string;\n\n\t@IsString()\n\tvorname!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisOrganisationResponse.html":{"url":"classes/SanisOrganisationResponse.html","title":"class - SanisOrganisationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisOrganisationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n id\n \n \n \n kennung\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n \n \n \n Type : SanisAnschriftResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n kennung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisAnschriftResponse } from './sanis-anschrift-response';\n\nexport class SanisOrganisationResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tkennung!: string;\n\n\t@IsString()\n\tname!: string;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisAnschriftResponse)\n\tanschrift?: SanisAnschriftResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonResponse.html":{"url":"classes/SanisPersonResponse.html","title":"class - SanisPersonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n \n Type : SanisGeburtResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : SanisNameResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGeburtResponse } from './sanis-geburt-response';\nimport { SanisNameResponse } from './sanis-name-response';\n\nexport class SanisPersonResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisNameResponse)\n\tname!: SanisNameResponse;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGeburtResponse)\n\tgeburt?: SanisGeburtResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonenkontextResponse.html":{"url":"classes/SanisPersonenkontextResponse.html","title":"class - SanisPersonenkontextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonenkontextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n id\n \n \n \n \n \n organisation\n \n \n \n rolle\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n \n \n \n Type : SanisGruppenResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional({groups: undefined})@IsArray({groups: undefined})@ValidateNested({each: true, groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n organisation\n \n \n \n \n \n \n Type : SanisOrganisationResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n rolle\n \n \n \n \n \n \n Type : SanisRole\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisRole, {groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisGruppenResponse } from './sanis-gruppen-response';\nimport { SanisOrganisationResponse } from './sanis-organisation-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\nimport { SanisRole } from './sanis-role';\n\nexport class SanisPersonenkontextResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER, SanisResponseValidationGroups.GROUPS] })\n\tid!: string;\n\n\t@IsEnum(SanisRole, { groups: [SanisResponseValidationGroups.USER] })\n\trolle!: SanisRole;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@Type(() => SanisOrganisationResponse)\n\torganisation!: SanisOrganisationResponse;\n\n\t@IsOptional({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@IsArray({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@ValidateNested({ each: true, groups: [SanisResponseValidationGroups.GROUPS] })\n\t@Type(() => SanisGruppenResponse)\n\tgruppen?: SanisGruppenResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisProvisioningStrategy.html":{"url":"injectables/SanisProvisioningStrategy.html","title":"injectable - SanisProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts\n \n\n\n\n \n Extends\n \n \n OidcProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addTeacherRoleIfAdmin\n \n \n Private\n Async\n checkResponseValidation\n \n \n \n Async\n getData\n \n \n getType\n \n \n Private\n isObjectEmpty\n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n Async\n apply\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(provisioningFeatures: IProvisioningFeatures, oidcProvisioningService: OidcProvisioningService, responseMapper: SanisResponseMapper, httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningFeatures\n \n \n IProvisioningFeatures\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 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 \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: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 externalUser\n \n ExternalUserDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkResponseValidation\n \n \n \n \n \n \n \n checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts: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 response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n groups\n \n SanisResponseValidationGroups[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n 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:34\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isObjectEmpty\n \n \n \n \n \n \n \n isObjectEmpty(obj)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n obj\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n \n \n \n \n removeEmptyObjectsFromResponse(response: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts: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 response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SanisResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy: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 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 { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ValidationErrorLoggableException } from '@shared/common/loggable-exception';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { plainToClass } from 'class-transformer';\nimport { validate, ValidationError } from 'class-validator';\nimport { firstValueFrom } from 'rxjs';\nimport { IProvisioningFeatures, ProvisioningFeatures } from '../../config';\nimport {\n\tExternalGroupDto,\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n} from '../../dto';\nimport { OidcProvisioningStrategy } from '../oidc/oidc.strategy';\nimport { OidcProvisioningService } from '../oidc/service/oidc-provisioning.service';\nimport { SanisGruppenResponse, SanisResponse, SanisResponseValidationGroups } from './response';\nimport { SanisResponseMapper } from './sanis-response.mapper';\n\n@Injectable()\nexport class SanisProvisioningStrategy extends OidcProvisioningStrategy {\n\tconstructor(\n\t\t@Inject(ProvisioningFeatures) protected readonly provisioningFeatures: IProvisioningFeatures,\n\t\tprotected readonly oidcProvisioningService: OidcProvisioningService,\n\t\tprivate readonly responseMapper: SanisResponseMapper,\n\t\tprivate readonly httpService: HttpService\n\t) {\n\t\tsuper(provisioningFeatures, oidcProvisioningService);\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.SANIS;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tif (!input.system.provisioningUrl) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Sanis system with id: ${input.system.systemId} is missing a provisioning url`\n\t\t\t);\n\t\t}\n\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${input.accessToken}`,\n\t\t\t\t'Accept-Encoding': 'gzip',\n\t\t\t},\n\t\t};\n\n\t\tconst axiosResponse: AxiosResponse = await firstValueFrom(\n\t\t\tthis.httpService.get(input.system.provisioningUrl, axiosConfig)\n\t\t);\n\n\t\tconst fixedData: SanisResponse = this.removeEmptyObjectsFromResponse(axiosResponse.data);\n\n\t\tconst response: SanisResponse = plainToClass(SanisResponse, fixedData);\n\n\t\tawait this.checkResponseValidation(response, [\n\t\t\tSanisResponseValidationGroups.USER,\n\t\t\tSanisResponseValidationGroups.SCHOOL,\n\t\t]);\n\n\t\tconst externalUser: ExternalUserDto = this.responseMapper.mapToExternalUserDto(axiosResponse.data);\n\t\tthis.addTeacherRoleIfAdmin(externalUser);\n\n\t\tconst externalSchool: ExternalSchoolDto = this.responseMapper.mapToExternalSchoolDto(axiosResponse.data);\n\n\t\tlet externalGroups: ExternalGroupDto[] | undefined;\n\t\tif (this.provisioningFeatures.schulconnexGroupProvisioningEnabled) {\n\t\t\tawait this.checkResponseValidation(response, [SanisResponseValidationGroups.GROUPS]);\n\n\t\t\texternalGroups = this.responseMapper.mapToExternalGroupDtos(axiosResponse.data);\n\t\t}\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalSchool,\n\t\t\texternalUser,\n\t\t\texternalGroups,\n\t\t});\n\n\t\treturn oauthData;\n\t}\n\n\t// This is a temporary fix to a problem with moin.schule and should be resolved after 12.12.23\n\tprivate removeEmptyObjectsFromResponse(response: SanisResponse): SanisResponse {\n\t\tconst fixedResponse: SanisResponse = { ...response };\n\n\t\tif (fixedResponse?.personenkontexte?.length && fixedResponse.personenkontexte[0].gruppen) {\n\t\t\tconst groups: SanisGruppenResponse[] = fixedResponse.personenkontexte[0].gruppen;\n\n\t\t\tfor (const group of groups) {\n\t\t\t\tgroup.sonstige_gruppenzugehoerige = group.sonstige_gruppenzugehoerige?.filter(\n\t\t\t\t\t(relation) => !this.isObjectEmpty(relation)\n\t\t\t\t);\n\n\t\t\t\tif (!group.sonstige_gruppenzugehoerige?.length) {\n\t\t\t\t\tgroup.sonstige_gruppenzugehoerige = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfixedResponse.personenkontexte[0].gruppen = groups.filter((group) => !this.isObjectEmpty(group));\n\n\t\t\tif (!fixedResponse.personenkontexte[0].gruppen.length) {\n\t\t\t\tfixedResponse.personenkontexte[0].gruppen = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn fixedResponse;\n\t}\n\n\tprivate isObjectEmpty(obj: unknown): boolean {\n\t\treturn typeof obj === 'object' && !!obj && !Object.keys(obj).some((key) => obj[key] !== undefined);\n\t}\n\n\tprivate async checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[]) {\n\t\tconst validationErrors: ValidationError[] = await validate(response, {\n\t\t\talways: true,\n\t\t\tforbidUnknownValues: false,\n\t\t\tgroups,\n\t\t});\n\n\t\tif (validationErrors.length) {\n\t\t\tthrow new ValidationErrorLoggableException(validationErrors);\n\t\t}\n\t}\n\n\tprivate addTeacherRoleIfAdmin(externalUser: ExternalUserDto): void {\n\t\tif (externalUser.roles && externalUser.roles.includes(RoleName.ADMINISTRATOR)) {\n\t\t\texternalUser.roles.push(RoleName.TEACHER);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisResponse.html":{"url":"classes/SanisResponse.html","title":"class - SanisResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n personenkontexte\n \n \n \n pid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n Type : SanisPersonResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n personenkontexte\n \n \n \n \n \n \n Type : SanisPersonenkontextResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ArrayMinSize(1)@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n pid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { ArrayMinSize, IsArray, IsObject, IsString, ValidateNested } from 'class-validator';\nimport { SanisPersonResponse } from './sanis-person-response';\nimport { SanisPersonenkontextResponse } from './sanis-personenkontext-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\n\nexport class SanisResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER] })\n\tpid!: string;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.USER] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.USER] })\n\t@Type(() => SanisPersonResponse)\n\tperson!: SanisPersonResponse;\n\n\t@IsArray()\n\t@ArrayMinSize(1)\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisPersonenkontextResponse)\n\tpersonenkontexte!: SanisPersonenkontextResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisResponseMapper.html":{"url":"injectables/SanisResponseMapper.html","title":"injectable - SanisResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n SCHOOLNUMBER_PREFIX_REGEX\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n Private\n mapSanisRoleToRoleName\n \n \n Public\n mapToExternalGroupDtos\n \n \n Private\n mapToExternalGroupUser\n \n \n mapToExternalSchoolDto\n \n \n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n \n \n \n \n \n mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n group\n \n SanisGruppenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalGroupDto | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapSanisRoleToRoleName\n \n \n \n \n \n \n \n mapSanisRoleToRoleName(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 : RoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToExternalGroupDtos\n \n \n \n \n \n \n \n mapToExternalGroupDtos(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 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: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 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: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 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: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 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:36\n \n \n\n\n \n \n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../dto';\nimport { GroupRoleUnknownLoggable } from '../../loggable';\nimport {\n\tSanisGroupRole,\n\tSanisGroupType,\n\tSanisGruppenResponse,\n\tSanisResponse,\n\tSanisRole,\n\tSanisSonstigeGruppenzugehoerigeResponse,\n} from './response';\n\nconst RoleMapping: Record = {\n\t[SanisRole.LEHR]: RoleName.TEACHER,\n\t[SanisRole.LERN]: RoleName.STUDENT,\n\t[SanisRole.LEIT]: RoleName.ADMINISTRATOR,\n\t[SanisRole.ORGADMIN]: RoleName.ADMINISTRATOR,\n};\n\nconst GroupRoleMapping: Partial> = {\n\t[SanisGroupRole.TEACHER]: RoleName.TEACHER,\n\t[SanisGroupRole.STUDENT]: RoleName.STUDENT,\n};\n\nconst GroupTypeMapping: Partial> = {\n\t[SanisGroupType.CLASS]: GroupTypes.CLASS,\n\t[SanisGroupType.COURSE]: GroupTypes.COURSE,\n\t[SanisGroupType.OTHER]: GroupTypes.OTHER,\n};\n\n@Injectable()\nexport class SanisResponseMapper {\n\tSCHOOLNUMBER_PREFIX_REGEX = /^NI_/;\n\n\tconstructor(private readonly logger: Logger) {}\n\n\tmapToExternalSchoolDto(source: SanisResponse): ExternalSchoolDto {\n\t\tconst officialSchoolNumber: string = source.personenkontexte[0].organisation.kennung.replace(\n\t\t\tthis.SCHOOLNUMBER_PREFIX_REGEX,\n\t\t\t''\n\t\t);\n\n\t\tconst mapped = new ExternalSchoolDto({\n\t\t\tname: source.personenkontexte[0].organisation.name,\n\t\t\texternalId: source.personenkontexte[0].organisation.id.toString(),\n\t\t\tofficialSchoolNumber,\n\t\t\tlocation: source.personenkontexte[0].organisation.anschrift?.ort,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tmapToExternalUserDto(source: SanisResponse): ExternalUserDto {\n\t\tconst mapped = new ExternalUserDto({\n\t\t\tfirstName: source.person.name.vorname,\n\t\t\tlastName: source.person.name.familienname,\n\t\t\troles: [this.mapSanisRoleToRoleName(source)],\n\t\t\texternalId: source.pid,\n\t\t\tbirthday: source.person.geburt?.datum ? new Date(source.person.geburt?.datum) : undefined,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapSanisRoleToRoleName(source: SanisResponse): RoleName {\n\t\treturn RoleMapping[source.personenkontexte[0].rolle];\n\t}\n\n\tpublic mapToExternalGroupDtos(source: SanisResponse): ExternalGroupDto[] | undefined {\n\t\tconst groups: SanisGruppenResponse[] | undefined = source.personenkontexte[0].gruppen;\n\n\t\tif (!groups) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst mapped: ExternalGroupDto[] = groups\n\t\t\t.map((group) => this.mapExternalGroup(source, group))\n\t\t\t.filter((group): group is ExternalGroupDto => group !== null);\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse): ExternalGroupDto | null {\n\t\tconst groupType: GroupTypes | undefined = GroupTypeMapping[group.gruppe.typ];\n\n\t\tif (!groupType) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst user: ExternalGroupUserDto | null = this.mapToExternalGroupUser({\n\t\t\tktid: source.personenkontexte[0].id,\n\t\t\trollen: group.gruppenzugehoerigkeit.rollen,\n\t\t});\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet otherUsers: ExternalGroupUserDto[] | undefined;\n\t\tif (group.sonstige_gruppenzugehoerige) {\n\t\t\totherUsers = group.sonstige_gruppenzugehoerige\n\t\t\t\t.map((relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null =>\n\t\t\t\t\tthis.mapToExternalGroupUser(relation)\n\t\t\t\t)\n\t\t\t\t.filter((otherUser: ExternalGroupUserDto | null): otherUser is ExternalGroupUserDto => otherUser !== null);\n\t\t}\n\n\t\treturn new ExternalGroupDto({\n\t\t\tname: group.gruppe.bezeichnung,\n\t\t\ttype: groupType,\n\t\t\texternalId: group.gruppe.id,\n\t\t\tuser,\n\t\t\totherUsers,\n\t\t});\n\t}\n\n\tprivate mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null {\n\t\tif (!relation.rollen?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst userRole: RoleName | undefined = GroupRoleMapping[relation.rollen[0]];\n\n\t\tif (!userRole) {\n\t\t\tthis.logger.info(new GroupRoleUnknownLoggable(relation));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped = new ExternalGroupUserDto({\n\t\t\troleName: userRole,\n\t\t\texternalUserId: relation.ktid,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{"url":"classes/SanisSonstigeGruppenzugehoerigeResponse.html","title":"class - SanisSonstigeGruppenzugehoerigeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisSonstigeGruppenzugehoerigeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisSonstigeGruppenzugehoerigeResponse {\n\t@IsString()\n\tktid!: string;\n\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SaveH5PEditorParams.html":{"url":"classes/SaveH5PEditorParams.html","title":"class - SaveH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SaveH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:40\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScanResult.html":{"url":"interfaces/ScanResult.html","title":"interface - ScanResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScanResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n virus_detected\n \n \n \n Optional\n \n virus_signature\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_detected\n \n \n \n \n \n \n \n \n virus_detected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_signature\n \n \n \n \n \n \n \n \n virus_signature: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultDto.html":{"url":"classes/ScanResultDto.html","title":"class - ScanResultDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n reason\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ScanResultDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ScanResultDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanStatus } from '../../entity';\n\nexport class ScanResultDto {\n\tstatus: ScanStatus;\n\n\treason: string;\n\n\tconstructor(props: ScanResultDto) {\n\t\tthis.status = props.status;\n\t\tthis.reason = props.reason;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultParams.html":{"url":"classes/ScanResultParams.html","title":"class - ScanResultParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n \n Implements\n \n \n ScanResult\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n virus_detected\n \n \n \n \n Optional\n virus_signature\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_detected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_signature\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:62\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SchoolController.html":{"url":"controllers/SchoolController.html","title":"controller - SchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n SchoolController\n\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/school.controller.ts\n \n\n \n Prefix\n \n \n schools\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 Public\n Async\n getProvisioningOptions\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setProvisioningOptions\n \n \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 Public\n Async\n getProvisioningOptions\n \n \n \n \n \n \n \n getProvisioningOptions(currentUser: ICurrentUser, params: SchoolSystemParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:schoolId/systems/:systemId/provisioning-options')@ApiOperation({description: 'Gets all provisioning options for a system at a school'})@ApiOkResponse({description: 'All provisioning options of the system with their value', schema: undefined})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiNotFoundResponse()@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/school.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolSystemParams\n \n\n \n No\n \n\n\n \n \n \n \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 \n Public\n Async\n setProvisioningOptions\n \n \n \n \n \n \n \n setProvisioningOptions(currentUser: ICurrentUser, params: SchoolSystemParams, body: ProvisioningOptionsParams)\n \n \n\n \n \n Decorators : \n \n @Post('/:schoolId/systems/:systemId/provisioning-options')@ApiOperation({description: 'Sets all provisioning options for a system at a school'})@ApiBody({type: SchulConneXProvisioningOptionsParams})@ApiCreatedResponse({description: 'All provisioning options of the system with their value', schema: undefined})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiNotFoundResponse()@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/school.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 params\n \n SchoolSystemParams\n \n\n \n No\n \n\n\n \n \n body\n \n ProvisioningOptionsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Param, Post } from '@nestjs/common';\nimport {\n\tApiBody,\n\tApiCreatedResponse,\n\tApiExtraModels,\n\tApiForbiddenResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n\tgetSchemaPath,\n} from '@nestjs/swagger';\nimport { AnyProvisioningOptions } from '../domain';\nimport { SchoolSystemOptionsUc } from '../uc';\nimport {\n\tAnyProvisioningOptionsResponse,\n\tProvisioningOptionsParams,\n\tSchoolSystemParams,\n\tSchulConneXProvisioningOptionsParams,\n\tSchulConneXProvisioningOptionsResponse,\n} from './dto';\nimport { SchoolSystemOptionsMapper } from './school-system-options.mapper';\n\n@ApiTags('School')\n@Controller('schools')\n@Authenticate('jwt')\nexport class SchoolController {\n\tconstructor(private readonly schoolSystemOptionsUc: SchoolSystemOptionsUc) {}\n\n\t@Get('/:schoolId/systems/:systemId/provisioning-options')\n\t@ApiOperation({ description: 'Gets all provisioning options for a system at a school' })\n\t@ApiOkResponse({\n\t\tdescription: 'All provisioning options of the system with their value',\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\t$ref: getSchemaPath(SchulConneXProvisioningOptionsResponse),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t})\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiNotFoundResponse()\n\t@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n\tpublic async getProvisioningOptions(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolSystemParams\n\t): Promise {\n\t\tconst options: AnyProvisioningOptions = await this.schoolSystemOptionsUc.getProvisioningOptions(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId,\n\t\t\tparams.systemId\n\t\t);\n\n\t\tconst mapped: AnyProvisioningOptionsResponse = SchoolSystemOptionsMapper.mapProvisioningOptionsToResponse(options);\n\n\t\treturn mapped;\n\t}\n\n\t@Post('/:schoolId/systems/:systemId/provisioning-options')\n\t@ApiOperation({ description: 'Sets all provisioning options for a system at a school' })\n\t@ApiBody({\n\t\ttype: SchulConneXProvisioningOptionsParams,\n\t})\n\t@ApiCreatedResponse({\n\t\tdescription: 'All provisioning options of the system with their value',\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\t$ref: getSchemaPath(SchulConneXProvisioningOptionsResponse),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t})\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiNotFoundResponse()\n\t@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n\tpublic async setProvisioningOptions(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolSystemParams,\n\t\t@Body() body: ProvisioningOptionsParams\n\t): Promise {\n\t\tconst options: AnyProvisioningOptions = await this.schoolSystemOptionsUc.createOrUpdateProvisioningOptions(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId,\n\t\t\tparams.systemId,\n\t\t\tbody\n\t\t);\n\n\t\tconst mapped: AnyProvisioningOptionsResponse = SchoolSystemOptionsMapper.mapProvisioningOptionsToResponse(options);\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"},"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 schoolSystemOptions\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:78\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:69\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:108\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:72\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:75\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:84\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:87\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:93\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:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolSystemOptions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany(undefined, options => options.school, {cascade: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:111\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:96\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:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userLoginMigration\n \n \n \n \n \n \n Type : UserLoginMigrationEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, userLoginMigration => userLoginMigration.school, {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:105\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalTool.html":{"url":"classes/SchoolExternalTool.html","title":"class - SchoolExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n name\n \n \n parameters\n \n \n schoolId\n \n \n Optional\n status\n \n \n toolId\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:45\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatus.html":{"url":"classes/SchoolExternalToolConfigurationStatus.html","title":"class - SchoolExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatusResponse.html":{"url":"classes/SchoolExternalToolConfigurationStatusResponse.html","title":"class - SchoolExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateListResponse.html","title":"class - SchoolExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolConfigurationTemplateResponse } from './school-external-tool-configuration-template.response';\n\nexport class SchoolExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolConfigurationTemplateResponse] })\n\tdata: SchoolExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: SchoolExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateResponse.html","title":"class - SchoolExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n SchoolExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class SchoolExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolExternalToolEntity.html":{"url":"entities/SchoolExternalToolEntity.html","title":"entity - SchoolExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n schoolParameters\n \n \n \n tool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {eager: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n Type : ExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:26\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolFactory.html":{"url":"classes/SchoolExternalToolFactory.html","title":"class - SchoolExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolId\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolId\n \n \n \n \n \n \nwithSchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { SchoolExternalTool, SchoolExternalToolProps } from '@modules/tool/school-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\nimport { schoolToolConfigurationStatusFactory } from './school-external-tool-configuration-status.factory';\n\nclass SchoolExternalToolFactory extends DoBaseFactory {\n\twithSchoolId(schoolId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const schoolExternalToolFactory = SchoolExternalToolFactory.define(SchoolExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolExternal-${sequence}`,\n\t\tschoolId: `schoolId-${sequence}`,\n\t\ttoolVersion: 1,\n\t\tparameters: [\n\t\t\tnew CustomParameterEntry({\n\t\t\t\tname: 'name',\n\t\t\t\tvalue: 'value',\n\t\t\t}),\n\t\t],\n\t\ttoolId: 'toolId',\n\t\tstatus: schoolToolConfigurationStatusFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams.html":{"url":"classes/SchoolExternalToolIdParams.html","title":"class - SchoolExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tschoolExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams-1.html":{"url":"classes/SchoolExternalToolIdParams-1.html","title":"class - SchoolExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadata.html":{"url":"classes/SchoolExternalToolMetadata.html","title":"class - SchoolExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n \n SchoolExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class SchoolExternalToolMetadata {\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataMapper.html":{"url":"classes/SchoolExternalToolMetadataMapper.html","title":"class - SchoolExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n SchoolExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { SchoolExternalToolMetadataResponse } from '../controller/dto';\nimport { SchoolExternalToolMetadata } from '../domain';\n\nexport class SchoolExternalToolMetadataMapper {\n\tstatic mapToSchoolExternalToolMetadataResponse(\n\t\tschoolExternalToolMetadata: SchoolExternalToolMetadata\n\t): SchoolExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: SchoolExternalToolMetadataResponse = new SchoolExternalToolMetadataResponse({\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\tschoolExternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataResponse.html":{"url":"classes/SchoolExternalToolMetadataResponse.html","title":"class - SchoolExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadataResponse\n \n \n SchoolExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../common/controller/dto';\n\nexport class SchoolExternalToolMetadataResponse {\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolMetadataService.html":{"url":"injectables/SchoolExternalToolMetadataService.html","title":"injectable - SchoolExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolMetadataService {\n\tconstructor(private readonly contextToolRepo: ContextExternalToolRepo) {}\n\n\tasync getMetadata(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\n\t\tawait Promise.all(\n\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(type, [\n\t\t\t\t\tschoolExternalToolId,\n\t\t\t\t]);\n\n\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t})\n\t\t);\n\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata = new SchoolExternalToolMetadata({\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn schoolExternalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SchoolExternalToolModule.html":{"url":"modules/SchoolExternalToolModule.html","title":"module - SchoolExternalToolModule","body":"\n \n\n\n\n\n Modules\n SchoolExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SchoolExternalToolModule\n\n\n\ncluster_SchoolExternalToolModule_exports\n\n\n\ncluster_SchoolExternalToolModule_providers\n\n\n\ncluster_SchoolExternalToolModule_imports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule -->\n\nCommonToolModule->SchoolExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nSchoolExternalToolModule -->\n\nExternalToolModule->SchoolExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nSchoolExternalToolModule -->\n\nToolConfigModule->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService -->\n\nSchoolExternalToolModule->SchoolExternalToolMetadataService \n\n\n\n\n\nSchoolExternalToolService \n\nSchoolExternalToolService \n\nSchoolExternalToolService -->\n\nSchoolExternalToolModule->SchoolExternalToolService \n\n\n\n\n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService -->\n\nSchoolExternalToolModule->SchoolExternalToolValidationService \n\n\n\n\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolMetadataService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolService\n\nSchoolExternalToolService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolValidationService->SchoolExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/school-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport {\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n\tSchoolExternalToolMetadataService,\n} from './service';\nimport { ExternalToolModule } from '../external-tool';\nimport { ToolConfigModule } from '../tool-config.module';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, ToolConfigModule],\n\tproviders: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n\texports: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n})\nexport class SchoolExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolPostParams.html":{"url":"classes/SchoolExternalToolPostParams.html","title":"class - SchoolExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n schoolId\n \n \n \n \n \n toolId\n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from './custom-parameter-entry.params';\n\nexport class SchoolExternalToolPostParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\ttoolId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\tversion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProperties.html":{"url":"interfaces/SchoolExternalToolProperties.html","title":"interface - SchoolExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n Optional\n \n schoolParameters\n \n \n \n \n tool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n \n \n schoolParameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n \n \n tool: ExternalToolEntity\n\n \n \n\n\n \n \n Type : ExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProps.html":{"url":"interfaces/SchoolExternalToolProps.html","title":"interface - SchoolExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n name\n \n \n \n \n parameters\n \n \n \n \n schoolId\n \n \n \n Optional\n \n status\n \n \n \n \n toolId\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: SchoolExternalToolConfigurationStatus\n\n \n \n\n\n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolRefDO.html":{"url":"classes/SchoolExternalToolRefDO.html","title":"class - SchoolExternalToolRefDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolRefDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n schoolId\n \n \n schoolToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolRefDO)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolRefDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolRefDO {\n\tschoolToolId: string;\n\n\tschoolId?: string;\n\n\tconstructor(props: SchoolExternalToolRefDO) {\n\t\tthis.schoolToolId = props.schoolToolId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRepo.html":{"url":"injectables/SchoolExternalToolRepo.html","title":"injectable - SchoolExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n deleteByExternalToolId\n \n \n Async\n find\n \n \n Async\n findByExternalToolId\n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByExternalToolId\n \n \n \n \n \n \n \n deleteByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalToolId\n \n \n \n \n \n \n \n findByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: SchoolExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:67\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { SchoolEntity } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { SchoolExternalToolScope } from './school-external-tool.scope';\n\n@Injectable()\nexport class SchoolExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolExternalToolEntity;\n\t}\n\n\tasync findByExternalToolId(toolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { tool: toolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findBySchoolId(schoolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { school: schoolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync deleteByExternalToolId(toolId: string): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, { tool: toolId });\n\t\treturn count;\n\t}\n\n\tasync find(query: SchoolExternalToolQuery): Promise {\n\t\tconst scope: SchoolExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, scope.query);\n\n\t\tconst dos: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tprivate buildScope(query: SchoolExternalToolQuery): SchoolExternalToolScope {\n\t\tconst scope: SchoolExternalToolScope = new SchoolExternalToolScope();\n\n\t\tscope.bySchoolId(query.schoolId);\n\t\tscope.byToolId(query.toolId);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: SchoolExternalToolEntity): SchoolExternalTool {\n\t\treturn new SchoolExternalTool({\n\t\t\tid: entity.id,\n\t\t\ttoolId: entity.tool.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.schoolParameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: SchoolExternalTool): EntityData {\n\t\treturn {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\ttool: this._em.getReference(ExternalToolEntity, entityDO.toolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tschoolParameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRequestMapper.html":{"url":"injectables/SchoolExternalToolRequestMapper.html","title":"injectable - SchoolExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n mapSchoolExternalToolRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSchoolExternalToolRequest\n \n \n \n \n \n \nmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam, SchoolExternalToolPostParams } from '../controller/dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolRequestMapper {\n\tmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams): SchoolExternalToolDto {\n\t\treturn {\n\t\t\ttoolId: request.toolId,\n\t\t\tschoolId: request.schoolId,\n\t\t\ttoolVersion: request.version,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolResponse.html":{"url":"classes/SchoolExternalToolResponse.html","title":"class - SchoolExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolId\n \n \n \n status\n \n \n \n toolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: SchoolExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n SchoolExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: SchoolExternalToolConfigurationStatusResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from './custom-parameter-entry.response';\nimport { SchoolExternalToolConfigurationStatusResponse } from './school-external-tool-configuration.response';\n\nexport class SchoolExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tschoolId: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiProperty({ type: SchoolExternalToolConfigurationStatusResponse })\n\tstatus: SchoolExternalToolConfigurationStatusResponse;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: SchoolExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.toolId = response.toolId;\n\t\tthis.schoolId = response.schoolId;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.status = response.status;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolResponseMapper.html":{"url":"injectables/SchoolExternalToolResponseMapper.html","title":"injectable - SchoolExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n mapToSchoolExternalToolResponse\n \n \n mapToSearchListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n \n \n \n \n \n mapToCustomParameterEntryResponse(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSchoolExternalToolResponse\n \n \n \n \n \n \nmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSearchListResponse\n \n \n \n \n \n \nmapToSearchListResponse(externalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolSearchListResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport {\n\tCustomParameterEntryResponse,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n} from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolToolConfigurationStatusResponseMapper } from './school-external-tool-status-response.mapper';\n\n@Injectable()\nexport class SchoolExternalToolResponseMapper {\n\tmapToSearchListResponse(externalTools: SchoolExternalTool[]): SchoolExternalToolSearchListResponse {\n\t\tconst responses: SchoolExternalToolResponse[] = externalTools.map((toolDO: SchoolExternalTool) =>\n\t\t\tthis.mapToSchoolExternalToolResponse(toolDO)\n\t\t);\n\t\treturn new SchoolExternalToolSearchListResponse(responses);\n\t}\n\n\tmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool): SchoolExternalToolResponse {\n\t\treturn {\n\t\t\tid: schoolExternalTool.id ?? '',\n\t\t\tname: schoolExternalTool.name ?? '',\n\t\t\ttoolId: schoolExternalTool.toolId,\n\t\t\tschoolId: schoolExternalTool.schoolId,\n\t\t\tparameters: this.mapToCustomParameterEntryResponse(schoolExternalTool.parameters),\n\t\t\ttoolVersion: schoolExternalTool.toolVersion,\n\t\t\tstatus: SchoolToolConfigurationStatusResponseMapper.mapToResponse(\n\t\t\t\tschoolExternalTool.status ?? { isOutdatedOnScopeSchool: false }\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate mapToCustomParameterEntryResponse(entries: CustomParameterEntry[]): CustomParameterEntryResponse[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntry): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryResponse({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRule.html":{"url":"injectables/SchoolExternalToolRule.html","title":"injectable - SchoolExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class SchoolExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof SchoolExternalToolEntity || entity instanceof SchoolExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: SchoolExternalToolEntity | SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof SchoolExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolScope.html":{"url":"classes/SchoolExternalToolScope.html","title":"class - SchoolExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n byToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo/scope';\n\nexport class SchoolExternalToolScope extends Scope {\n\tbySchoolId(schoolId: EntityId | undefined): this {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: EntityId | undefined): this {\n\t\tif (toolId !== undefined) {\n\t\t\tthis.addQuery({ tool: toolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchListResponse.html":{"url":"classes/SchoolExternalToolSearchListResponse.html","title":"class - SchoolExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolResponse } from './school-external-tool.response';\n\nexport class SchoolExternalToolSearchListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolResponse] })\n\tdata: SchoolExternalToolResponse[];\n\n\tconstructor(data: SchoolExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchParams.html":{"url":"classes/SchoolExternalToolSearchParams.html","title":"class - SchoolExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsString } from 'class-validator';\n\nexport class SchoolExternalToolSearchParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolService.html":{"url":"injectables/SchoolExternalToolService.html","title":"injectable - SchoolExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n Async\n findById\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolRepo: SchoolExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n \n \n \n \n \n deleteSchoolExternalToolById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n \n \n \n \n \n determineSchoolToolStatus(tool: SchoolExternalTool, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n \n \n \n \n \n enrichDataFromExternalTool(tool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n \n \n \n \n \n enrichWithDataFromExternalTools(tools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n \n \n \n saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolExternalToolRepo } from '@shared/repo';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolQuery } from '../uc/dto/school-external-tool.types';\nimport { SchoolExternalToolValidationService } from './school-external-tool-validation.service';\n\n@Injectable()\nexport class SchoolExternalToolService {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync findById(schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.findById(schoolExternalToolId);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync findSchoolExternalTools(query: SchoolExternalToolQuery): Promise {\n\t\tlet schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.find({\n\t\t\tschoolId: query.schoolId,\n\t\t});\n\n\t\tschoolExternalTools = await this.enrichWithDataFromExternalTools(schoolExternalTools);\n\n\t\treturn schoolExternalTools;\n\t}\n\n\tprivate async enrichWithDataFromExternalTools(tools: SchoolExternalTool[]): Promise {\n\t\tconst enrichedTools: SchoolExternalTool[] = await Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool): Promise => this.enrichDataFromExternalTool(tool))\n\t\t);\n\n\t\treturn enrichedTools;\n\t}\n\n\tprivate async enrichDataFromExternalTool(tool: SchoolExternalTool): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(tool.toolId);\n\t\tconst status: SchoolExternalToolConfigurationStatus = await this.determineSchoolToolStatus(tool, externalTool);\n\t\tconst schoolExternalTool: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...tool,\n\t\t\tstatus,\n\t\t\tname: externalTool.name,\n\t\t});\n\n\t\treturn schoolExternalTool;\n\t}\n\n\tprivate async determineSchoolToolStatus(\n\t\ttool: SchoolExternalTool,\n\t\texternalTool: ExternalTool\n\t): Promise {\n\t\tconst status: SchoolExternalToolConfigurationStatus = new SchoolExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(tool);\n\n\t\t\t\tstatus.isOutdatedOnScopeSchool = false;\n\n\t\t\t\treturn status;\n\t\t\t} catch (err) {\n\t\t\t\treturn status;\n\t\t\t}\n\t\t}\n\n\t\tif (externalTool.version {\n\t\tawait this.schoolExternalToolRepo.deleteById(schoolExternalToolId);\n\t}\n\n\tasync saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tlet createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.save(schoolExternalTool);\n\t\tcreatedSchoolExternalTool = await this.enrichDataFromExternalTool(createdSchoolExternalTool);\n\t\treturn createdSchoolExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolUc.html":{"url":"injectables/SchoolExternalToolUc.html","title":"injectable - SchoolExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n Async\n deleteSchoolExternalTool\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n Async\n getSchoolExternalTool\n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, schoolExternalToolMetadataService: SchoolExternalToolMetadataService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolMetadataService\n \n \n SchoolExternalToolMetadataService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(userId: EntityId, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n SchoolExternalToolQueryInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n \n \n \n \n \n getMetadataForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(userId: EntityId, schoolExternalToolId: string, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataService,\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n} from '../service';\nimport { SchoolExternalToolDto, SchoolExternalToolQueryInput } from './dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolUc {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolMetadataService: SchoolExternalToolMetadataService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput): Promise {\n\t\tlet tools: SchoolExternalTool[] = [];\n\t\tif (query.schoolId) {\n\t\t\ttools = await this.schoolExternalToolService.findSchoolExternalTools({ schoolId: query.schoolId });\n\t\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\t\tawait this.ensureSchoolPermissions(userId, tools, context);\n\t\t}\n\t\treturn tools;\n\t}\n\n\tasync createSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.saveSchoolExternalTool(\n\t\t\tschoolExternalTool\n\t\t);\n\n\t\treturn createdSchoolExternalTool;\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tasync deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolService.deleteBySchoolExternalToolId(schoolExternalToolId),\n\t\t\tthis.schoolExternalToolService.deleteSchoolExternalToolById(schoolExternalToolId),\n\t\t]);\n\t}\n\n\tasync getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync updateSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: string,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst updated: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...schoolExternalToolDto,\n\t\t\tid: schoolExternalToolId,\n\t\t});\n\n\t\tconst saved = await this.schoolExternalToolService.saveSchoolExternalTool(updated);\n\t\treturn saved;\n\t}\n\n\tasync getMetadataForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst metadata: SchoolExternalToolMetadata = await this.schoolExternalToolMetadataService.getMetadata(\n\t\t\tschoolExternalToolId\n\t\t);\n\n\t\treturn metadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolValidationService.html":{"url":"injectables/SchoolExternalToolValidationService.html","title":"injectable - SchoolExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n \n \n \n \n \n checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n externalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalTool } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync validate(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (!this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tthis.checkVersionMatch(schoolExternalTool.toolVersion, loadedExternalTool.version);\n\t\t}\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, schoolExternalTool);\n\t}\n\n\tprivate checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number): void {\n\t\tif (schoolExternalToolVersion !== externalToolVersion) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_version_mismatch: The version ${schoolExternalToolVersion} of given schoolExternalTool does not match the externalTool version ${externalToolVersion}.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolForGroupNotFoundLoggable.html":{"url":"classes/SchoolForGroupNotFoundLoggable.html","title":"class - SchoolForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ExternalGroupDto, school: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n school\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalSchoolDto } from '../dto';\n\nexport class SchoolForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly group: ExternalGroupDto, private readonly school: ExternalSchoolDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to provision group, since the connected school cannot be found.',\n\t\t\tdata: {\n\t\t\t\texternalGroupId: this.group.externalId,\n\t\t\t\texternalOrganizationId: this.school.externalId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{"url":"classes/SchoolIdDoesNotMatchWithUserSchoolId.html","title":"class - SchoolIdDoesNotMatchWithUserSchoolId","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdDoesNotMatchWithUserSchoolId\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMatchSchoolId: string, importUserSchoolId: string, schoolId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMatchSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n importUserSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolIdDoesNotMatchWithUserSchoolId implements Loggable {\n\tconstructor(\n\t\tprivate readonly userMatchSchoolId: string,\n\t\tprivate readonly importUserSchoolId: string,\n\t\tprivate readonly schoolId?: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'School ID does not match with user school ID or with imported user school ID',\n\t\t\tdata: {\n\t\t\t\tuserMatchSchoolId: this.userMatchSchoolId,\n\t\t\t\timportUserId: this.importUserSchoolId,\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams.html":{"url":"classes/SchoolIdParams.html","title":"class - SchoolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams-1.html":{"url":"classes/SchoolIdParams-1.html","title":"class - SchoolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInMigrationLoggableException.html":{"url":"classes/SchoolInMigrationLoggableException.html","title":"class - SchoolInMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolInMigrationLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_IN_MIGRATION',\n\t\t\t\ttitle: 'Login failed because school is in migration',\n\t\t\t\tdefaultMessage: 'Login failed because creation of user is not possible during migration',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED\n\t\t);\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationEndLoggable.html":{"url":"classes/SchoolInUserMigrationEndLoggable.html","title":"class - SchoolInUserMigrationEndLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationEndLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolName: string)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationEndLoggable implements Loggable {\n\tconstructor(private readonly schoolName: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration for school is completed',\n\t\t\tdata: {\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationStartLoggable.html":{"url":"classes/SchoolInUserMigrationStartLoggable.html","title":"class - SchoolInUserMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, schoolName: string, useCentralLdap: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n useCentralLdap\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationStartLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly schoolName: string,\n\t\tprivate readonly useCentralLdap: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tcurrentUserId: this.userId,\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t\tcentralLdap: this.useCentralLdap,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoMapper.html":{"url":"classes/SchoolInfoMapper.html","title":"class - SchoolInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/school-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(schoolInfo: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/school-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolInfo\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolEntity } from '@shared/domain/entity';\nimport { SchoolInfoResponse } from '../controller/dto';\n\nexport class SchoolInfoMapper {\n\tstatic mapToResponse(schoolInfo: SchoolEntity): SchoolInfoResponse {\n\t\tconst dto = new SchoolInfoResponse({ id: schoolInfo.id, name: schoolInfo.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoResponse.html":{"url":"classes/SchoolInfoResponse.html","title":"class - SchoolInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/school-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SchoolInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SchoolInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolInfoResponse {\n\tconstructor({ id, name }: SchoolInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the School entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the School entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html","title":"class - SchoolMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:19\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\t// TODO: Remove undefined type from schoolId when using the new School DO\n\tconstructor(\n\t\tprivate readonly school: LegacySchoolDo,\n\t\tprivate readonly operation: 'migration' | 'rollback',\n\t\terror: unknown\n\t) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolMigrationService.html":{"url":"injectables/SchoolMigrationService.html","title":"injectable - SchoolMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/school-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n Private\n Async\n doMigration\n \n \n Public\n Async\n getSchoolForMigration\n \n \n Private\n hasSchoolMigrated\n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n Public\n Async\n migrateSchool\n \n \n Private\n Async\n tryRollbackMigration\n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, legacyLogger: LegacyLogger, logger: Logger, userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n \n \n \n \n \n checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n officialExternalSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getSchoolForMigration\n \n \n \n \n \n \n \n getSchoolForMigration(userId: string, externalId: string, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasSchoolMigrated\n \n \n \n \n \n \n \n hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceExternalId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n targetExternalId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n \n \n \n \n \n hasSchoolMigratedUser(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n \n \n \n \n \n markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrateSchool\n \n \n \n \n \n \n \n migrateSchool(existingSchool: LegacySchoolDo, externalId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n existingSchool\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(originalSchoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalSchoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n \n \n \n unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, Page, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacyLogger, Logger } from '@src/core/logger';\nimport { performance } from 'perf_hooks';\nimport {\n\tSchoolMigrationDatabaseOperationFailedLoggableException,\n\tSchoolNumberMismatchLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class SchoolMigrationService {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async migrateSchool(\n\t\texistingSchool: LegacySchoolDo,\n\t\texternalId: string,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tconst schoolDOCopy: LegacySchoolDo = new LegacySchoolDo({ ...existingSchool });\n\n\t\ttry {\n\t\t\tawait this.doMigration(externalId, existingSchool, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(schoolDOCopy);\n\n\t\t\tthrow new SchoolMigrationDatabaseOperationFailedLoggableException(existingSchool, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string): Promise {\n\t\tschool.previousExternalId = school.externalId;\n\t\tschool.externalId = externalId;\n\t\tif (!school.systems) {\n\t\t\tschool.systems = [];\n\t\t}\n\t\tif (!school.systems.includes(targetSystemId)) {\n\t\t\tschool.systems.push(targetSystemId);\n\t\t}\n\n\t\tawait this.schoolService.save(school);\n\t}\n\n\tprivate async tryRollbackMigration(originalSchoolDO: LegacySchoolDo): Promise {\n\t\ttry {\n\t\t\tawait this.schoolService.save(originalSchoolDO);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(\n\t\t\t\tnew SchoolMigrationDatabaseOperationFailedLoggableException(originalSchoolDO, 'rollback', error)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async getSchoolForMigration(\n\t\tuserId: string,\n\t\texternalId: string,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(user.schoolId);\n\n\t\tthis.checkOfficialSchoolNumbersMatch(school, officialSchoolNumber);\n\n\t\tconst schoolMigrated: boolean = this.hasSchoolMigrated(school.externalId, externalId);\n\n\t\tif (schoolMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn school;\n\t}\n\n\tprivate checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string): void {\n\t\tif (schoolDO.officialSchoolNumber !== officialExternalSchoolNumber) {\n\t\t\tthrow new SchoolNumberMismatchLoggableException(\n\t\t\t\tschoolDO.officialSchoolNumber ?? '',\n\t\t\t\tofficialExternalSchoolNumber\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string): boolean {\n\t\tconst isExternalIdEquivalent: boolean = sourceExternalId === targetExternalId;\n\n\t\treturn isExternalIdEquivalent;\n\t}\n\n\tpublic async markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst notMigratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\tisOutdated: false,\n\t\t\tlastLoginSystemChangeSmallerThan: userLoginMigration.startedAt,\n\t\t});\n\n\t\tnotMigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = userLoginMigration.closedAt;\n\t\t});\n\n\t\tawait this.userService.saveAll(notMigratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`markUnmigratedUsersAsOutdated for schoolId ${userLoginMigration.schoolId} took ${\n\t\t\t\tendTime - startTime\n\t\t\t} milliseconds`\n\t\t);\n\t}\n\n\tpublic async unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst migratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\toutdatedSince: userLoginMigration.finishedAt,\n\t\t});\n\n\t\tmigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = undefined;\n\t\t});\n\n\t\tawait this.userService.saveAll(migratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`unmarkOutdatedUsers for schoolId ${userLoginMigration.schoolId} took ${endTime - startTime} milliseconds`\n\t\t);\n\t}\n\n\tpublic async hasSchoolMigratedUser(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst users: Page = await this.userService.findUsers({\n\t\t\tlastLoginSystemChangeBetweenStart: userLoginMigration.startedAt,\n\t\t\tlastLoginSystemChangeBetweenEnd: userLoginMigration.closedAt,\n\t\t});\n\n\t\tif (users.total > 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationSuccessfulLoggable.html":{"url":"classes/SchoolMigrationSuccessfulLoggable.html","title":"class - SchoolMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class SchoolMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly school: LegacySchoolDo, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A school has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\texternalId: this.school.externalId,\n\t\t\t\tpreviousExternalId: this.school.previousExternalId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolNews.html":{"url":"entities/SchoolNews.html","title":"entity - SchoolNews","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:102\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberDuplicateLoggableException.html":{"url":"classes/SchoolNumberDuplicateLoggableException.html","title":"class - SchoolNumberDuplicateLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberDuplicateLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(officialSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberDuplicateLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly officialSchoolNumber: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_DUPLICATE',\n\t\t\tmessage: 'Unable to save the school. A school with this official school number does already exist.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMismatchLoggableException.html":{"url":"classes/SchoolNumberMismatchLoggableException.html","title":"class - SchoolNumberMismatchLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMismatchLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceSchoolNumber: string, targetSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n targetSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:21\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMismatchLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly sourceSchoolNumber: string, private readonly targetSchoolNumber: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_MIGRATION_FAILED',\n\t\t\t\ttitle: 'Migration of school failed.',\n\t\t\t\tdefaultMessage: 'School could not migrate during user migration process.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR,\n\t\t\t{\n\t\t\t\tsourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber,\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsourceSchoolNumber: this.sourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber: this.targetSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMissingLoggableException.html":{"url":"classes/SchoolNumberMissingLoggableException.html","title":"class - SchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The school is missing a official school number.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolProperties.html":{"url":"interfaces/SchoolProperties.html","title":"interface - SchoolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n externalId\n \n \n \n Optional\n \n features\n \n \n \n \n federalState\n \n \n \n Optional\n \n inMaintenanceSince\n \n \n \n Optional\n \n inUserMigration\n \n \n \n \n name\n \n \n \n Optional\n \n officialSchoolNumber\n \n \n \n Optional\n \n previousExternalId\n \n \n \n Optional\n \n schoolYear\n \n \n \n Optional\n \n systems\n \n \n \n Optional\n \n userLoginMigration\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: SchoolFeatures[]\n\n \n \n\n\n \n \n Type : SchoolFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n \n \n federalState: FederalStateEntity\n\n \n \n\n\n \n \n Type : FederalStateEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n inMaintenanceSince\n \n \n \n \n \n \n \n \n inMaintenanceSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n inUserMigration\n \n \n \n \n \n \n \n \n inUserMigration: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n officialSchoolNumber\n \n \n \n \n \n \n \n \n officialSchoolNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolYear\n \n \n \n \n \n \n \n \n schoolYear: SchoolYearEntity\n\n \n \n\n\n \n \n Type : SchoolYearEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systems\n \n \n \n \n \n \n \n \n systems: SystemEntity[]\n\n \n \n\n\n \n \n Type : SystemEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userLoginMigration\n \n \n \n \n \n \n \n \n userLoginMigration: UserLoginMigrationEntity\n\n \n \n\n\n \n \n Type : UserLoginMigrationEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRolePermission.html":{"url":"classes/SchoolRolePermission.html","title":"class - SchoolRolePermission","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRolePermission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n Optional\n STUDENT_LIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:53\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:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRoles.html":{"url":"classes/SchoolRoles.html","title":"class - SchoolRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n student\n \n \n \n Optional\n teacher\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n student\n \n \n \n \n \n \n Type : SchoolRolePermission\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'student'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:59\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:62\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolSpecificFileCopyService.html":{"url":"interfaces/SchoolSpecificFileCopyService.html","title":"interface - SchoolSpecificFileCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSpecificFileCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \ncopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyFileDto } from '@modules/files-storage-client/dto';\nimport { FileRecordParentType } from '@modules/files-storage/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport type SchoolSpecificFileCopyServiceCopyParams = {\n\tsourceParentId: EntityId;\n\ttargetParentId: EntityId;\n\tparentType: FileRecordParentType;\n};\n\nexport type SchoolSpecificFileCopyServiceProps = {\n\tsourceSchoolId: EntityId;\n\ttargetSchoolId: EntityId;\n\tuserId: EntityId;\n};\n\nexport interface SchoolSpecificFileCopyService {\n\tcopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSpecificFileCopyServiceFactory.html":{"url":"injectables/SchoolSpecificFileCopyServiceFactory.html","title":"injectable - SchoolSpecificFileCopyServiceFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSpecificFileCopyServiceFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(props: SchoolSpecificFileCopyServiceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n SchoolSpecificFileCopyServiceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSpecificFileCopyService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\nimport { SchoolSpecificFileCopyServiceImpl } from './school-specific-file-copy.service';\n\n@Injectable()\nexport class SchoolSpecificFileCopyServiceFactory {\n\tconstructor(private readonly filesStorageClientAdapterService: FilesStorageClientAdapterService) {}\n\n\tbuild(props: SchoolSpecificFileCopyServiceProps): SchoolSpecificFileCopyService {\n\t\treturn new SchoolSpecificFileCopyServiceImpl(this.filesStorageClientAdapterService, props);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSpecificFileCopyServiceImpl.html":{"url":"classes/SchoolSpecificFileCopyServiceImpl.html","title":"class - SchoolSpecificFileCopyServiceImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSpecificFileCopyServiceImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts\n \n\n\n\n\n \n Implements\n \n \n SchoolSpecificFileCopyService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService, props: SchoolSpecificFileCopyServiceProps)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n props\n \n \n SchoolSpecificFileCopyServiceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { CopyFileDto } from '@modules/files-storage-client/dto';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceCopyParams,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\n\nexport class SchoolSpecificFileCopyServiceImpl implements SchoolSpecificFileCopyService {\n\tconstructor(\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly props: SchoolSpecificFileCopyServiceProps\n\t) {}\n\n\tpublic async copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise {\n\t\treturn this.filesStorageClientAdapterService.copyFilesOfParent({\n\t\t\tsource: {\n\t\t\t\tparentId: params.sourceParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.sourceSchoolId,\n\t\t\t},\n\t\t\ttarget: {\n\t\t\t\tparentId: params.targetParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.targetSchoolId,\n\t\t\t},\n\t\t\tuserId: this.props.userId,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptions.html":{"url":"classes/SchoolSystemOptions.html","title":"class - SchoolSystemOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptions\n\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/domain/school-system-options.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 schoolId\n \n \n systemId\n \n \n provisioningOptions\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 schoolId\n \n \n\n \n \n getschoolId()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.do.ts:16\n \n \n\n \n \n \n \n \n \n \n systemId\n \n \n\n \n \n getsystemId()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.do.ts:20\n \n \n\n \n \n \n \n \n \n \n provisioningOptions\n \n \n\n \n \n getprovisioningOptions()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.do.ts:24\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';\nimport { SchulConneXProvisioningOptions } from './schulconnex-provisionin-options.do';\n\nexport interface SchoolSystemOptionsProps extends AuthorizableObject {\n\tschoolId: EntityId;\n\n\tsystemId: EntityId;\n\n\tprovisioningOptions: T;\n}\n\nexport class SchoolSystemOptions extends DomainObject\n> {\n\tpublic get schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tpublic get systemId(): EntityId {\n\t\treturn this.props.systemId;\n\t}\n\n\tpublic get provisioningOptions(): T {\n\t\treturn this.props.provisioningOptions;\n\t}\n}\n\nexport type AnyProvisioningOptions = SchulConneXProvisioningOptions;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptionsBuilder.html":{"url":"classes/SchoolSystemOptionsBuilder.html","title":"class - SchoolSystemOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptionsBuilder\n\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/domain/school-system-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n buildProvisioningOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(provisioningStrategy: SystemProvisioningStrategy)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.builder.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningStrategy\n \n \n SystemProvisioningStrategy\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 buildProvisioningOptions\n \n \n \n \n \n \n \n buildProvisioningOptions(provisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.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 provisioningOptions\n \n ProvisioningOptionsInterface\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyProvisioningOptions\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 { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningStrategyInvalidOptionsLoggableException } from '../loggable';\nimport { provisioningStrategyOptions } from './provisioning-strategy-options';\nimport { AnyProvisioningOptions } from './school-system-options.do';\n\nexport class SchoolSystemOptionsBuilder {\n\tconstructor(private readonly provisioningStrategy: SystemProvisioningStrategy) {}\n\n\tpublic buildProvisioningOptions(provisioningOptions: ProvisioningOptionsInterface): AnyProvisioningOptions {\n\t\tconst ProvisioningOptionsConstructor: (new () => AnyProvisioningOptions) | undefined =\n\t\t\tprovisioningStrategyOptions.get(this.provisioningStrategy);\n\n\t\tif (!ProvisioningOptionsConstructor) {\n\t\t\tthrow new ProvisioningStrategyInvalidOptionsLoggableException(this.provisioningStrategy, provisioningOptions);\n\t\t}\n\n\t\tconst createdProvisioningOptions: AnyProvisioningOptions = new ProvisioningOptionsConstructor();\n\n\t\tif (!createdProvisioningOptions.isApplicable(provisioningOptions)) {\n\t\t\tthrow new ProvisioningStrategyInvalidOptionsLoggableException(this.provisioningStrategy, provisioningOptions);\n\t\t}\n\n\t\tcreatedProvisioningOptions.set(provisioningOptions);\n\n\t\treturn createdProvisioningOptions;\n\t}\n}\n\n \n\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/SchoolSystemOptionsEntity.html":{"url":"entities/SchoolSystemOptionsEntity.html","title":"entity - SchoolSystemOptionsEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolSystemOptionsEntity\n\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/entity/school-system-options.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningOptions\n \n \n \n school\n \n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n provisioningOptions\n \n \n \n \n \n \n Type : ProvisioningOptionsEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/entity/school-system-options.entity.ts:29\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)\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/entity/school-system-options.entity.ts:23\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/modules/legacy-school/entity/school-system-options.entity.ts:26\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningOptionsEntity } from './provisioning-options.entity';\n\nexport interface SchoolSystemOptionsEntityProps {\n\tid?: EntityId;\n\n\tschool: SchoolEntity;\n\n\tsystem: SystemEntity;\n\n\tprovisioningOptions: ProvisioningOptionsInterface;\n}\n\n@Entity({ tableName: 'school-system-options' })\n@Unique({ properties: ['school', 'system'] })\nexport class SchoolSystemOptionsEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity)\n\tschool: SchoolEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\t@Embedded(() => ProvisioningOptionsEntity)\n\tprovisioningOptions: ProvisioningOptionsEntity;\n\n\tconstructor(props: SchoolSystemOptionsEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.school = props.school;\n\t\tthis.system = props.system;\n\t\tthis.provisioningOptions = new ProvisioningOptionsEntity(props.provisioningOptions);\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/SchoolSystemOptionsEntityProps.html":{"url":"interfaces/SchoolSystemOptionsEntityProps.html","title":"interface - SchoolSystemOptionsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSystemOptionsEntityProps\n\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/entity/school-system-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 id\n \n \n \n \n provisioningOptions\n \n \n \n \n school\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 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 provisioningOptions\n \n \n \n \n \n \n \n \n provisioningOptions: ProvisioningOptionsInterface\n\n \n \n\n\n \n \n Type : ProvisioningOptionsInterface\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 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 { Embedded, Entity, ManyToOne, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningOptionsEntity } from './provisioning-options.entity';\n\nexport interface SchoolSystemOptionsEntityProps {\n\tid?: EntityId;\n\n\tschool: SchoolEntity;\n\n\tsystem: SystemEntity;\n\n\tprovisioningOptions: ProvisioningOptionsInterface;\n}\n\n@Entity({ tableName: 'school-system-options' })\n@Unique({ properties: ['school', 'system'] })\nexport class SchoolSystemOptionsEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity)\n\tschool: SchoolEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\t@Embedded(() => ProvisioningOptionsEntity)\n\tprovisioningOptions: ProvisioningOptionsEntity;\n\n\tconstructor(props: SchoolSystemOptionsEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.school = props.school;\n\t\tthis.system = props.system;\n\t\tthis.provisioningOptions = new ProvisioningOptionsEntity(props.provisioningOptions);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptionsMapper.html":{"url":"classes/SchoolSystemOptionsMapper.html","title":"class - SchoolSystemOptionsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptionsMapper\n\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/school-system-options.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapProvisioningOptionsToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapProvisioningOptionsToResponse\n \n \n \n \n \n \n \n mapProvisioningOptionsToResponse(options: AnyProvisioningOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/school-system-options.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 options\n \n AnyProvisioningOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyProvisioningOptionsResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AnyProvisioningOptions } from '../domain';\nimport { AnyProvisioningOptionsResponse, SchulConneXProvisioningOptionsResponse } from './dto';\n\nexport class SchoolSystemOptionsMapper {\n\tstatic mapProvisioningOptionsToResponse(options: AnyProvisioningOptions): AnyProvisioningOptionsResponse {\n\t\tconst mapped: SchulConneXProvisioningOptionsResponse = new SchulConneXProvisioningOptionsResponse({\n\t\t\tgroupProvisioningClassesEnabled: options.groupProvisioningClassesEnabled,\n\t\t\tgroupProvisioningCoursesEnabled: options.groupProvisioningCoursesEnabled,\n\t\t\tgroupProvisioningOtherEnabled: options.groupProvisioningOtherEnabled,\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"},"interfaces/SchoolSystemOptionsProps.html":{"url":"interfaces/SchoolSystemOptionsProps.html","title":"interface - SchoolSystemOptionsProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSystemOptionsProps\n\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/domain/school-system-options.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 provisioningOptions\n \n \n \n \n schoolId\n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n provisioningOptions\n \n \n \n \n \n \n \n \n provisioningOptions: 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 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 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\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\nimport { SchulConneXProvisioningOptions } from './schulconnex-provisionin-options.do';\n\nexport interface SchoolSystemOptionsProps extends AuthorizableObject {\n\tschoolId: EntityId;\n\n\tsystemId: EntityId;\n\n\tprovisioningOptions: T;\n}\n\nexport class SchoolSystemOptions extends DomainObject\n> {\n\tpublic get schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tpublic get systemId(): EntityId {\n\t\treturn this.props.systemId;\n\t}\n\n\tpublic get provisioningOptions(): T {\n\t\treturn this.props.provisioningOptions;\n\t}\n}\n\nexport type AnyProvisioningOptions = SchulConneXProvisioningOptions;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSystemOptionsRepo.html":{"url":"injectables/SchoolSystemOptionsRepo.html","title":"injectable - SchoolSystemOptionsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsRepo\n\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/school-system-options.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 buildDomainObject\n \n \n Public\n Async\n findBySchoolIdAndSystemId\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/legacy-school/repo/school-system-options.repo.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildDomainObject\n \n \n \n \n \n \n \n buildDomainObject(entity: SchoolSystemOptionsEntity, provisioningStrategy: SystemProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options.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 entity\n \n SchoolSystemOptionsEntity\n \n\n \n No\n \n\n\n \n \n provisioningStrategy\n \n SystemProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSystemOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findBySchoolIdAndSystemId\n \n \n \n \n \n \n \n findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(domainObject: SchoolSystemOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n SchoolSystemOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tAnyProvisioningOptions,\n\tSchoolSystemOptions,\n\tSchoolSystemOptionsBuilder,\n\tSchoolSystemOptionsProps,\n} from '../domain';\nimport { SchoolSystemOptionsEntity, SchoolSystemOptionsEntityProps } from '../entity';\nimport { ProvisioningStrategyMissingLoggableException } from '../loggable';\nimport { SchoolSystemOptionsRepoMapper } from './school-system-options-repo.mapper';\n\n@Injectable()\nexport class SchoolSystemOptionsRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId): Promise {\n\t\tconst entity: SchoolSystemOptionsEntity | null = await this.em.findOne(\n\t\t\tSchoolSystemOptionsEntity,\n\t\t\t{\n\t\t\t\tschool: schoolId,\n\t\t\t\tsystem: systemId,\n\t\t\t},\n\t\t\t{ populate: ['system.provisioningStrategy'] }\n\t\t);\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!entity.system.provisioningStrategy) {\n\t\t\tthrow new ProvisioningStrategyMissingLoggableException(entity.system.id);\n\t\t}\n\n\t\tconst domainObject: SchoolSystemOptions = this.buildDomainObject(entity, entity.system.provisioningStrategy);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async save(domainObject: SchoolSystemOptions): Promise {\n\t\tconst entityProps: SchoolSystemOptionsEntityProps = SchoolSystemOptionsRepoMapper.mapDomainObjectToEntityProperties(\n\t\t\tdomainObject,\n\t\t\tthis.em\n\t\t);\n\n\t\tconst newEntity: SchoolSystemOptionsEntity = new SchoolSystemOptionsEntity(entityProps);\n\n\t\tconst existingEntity: SchoolSystemOptionsEntity | null = await this.em.findOne(SchoolSystemOptionsEntity, {\n\t\t\tid: domainObject.id,\n\t\t});\n\n\t\tconst system: SystemEntity | null = await this.em.findOne(SystemEntity, {\n\t\t\tid: domainObject.systemId,\n\t\t});\n\n\t\tif (!system?.provisioningStrategy) {\n\t\t\tthrow new ProvisioningStrategyMissingLoggableException(domainObject.systemId);\n\t\t}\n\n\t\tlet savedEntity: SchoolSystemOptionsEntity;\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 savedDomainObject: SchoolSystemOptions = this.buildDomainObject(savedEntity, system.provisioningStrategy);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tprivate buildDomainObject(\n\t\tentity: SchoolSystemOptionsEntity,\n\t\tprovisioningStrategy: SystemProvisioningStrategy\n\t): SchoolSystemOptions {\n\t\tconst provisioningOptions: AnyProvisioningOptions = new SchoolSystemOptionsBuilder(\n\t\t\tprovisioningStrategy\n\t\t).buildProvisioningOptions(entity.provisioningOptions);\n\n\t\tconst props: SchoolSystemOptionsProps =\n\t\t\tSchoolSystemOptionsRepoMapper.mapEntityToDomainObjectProperties(entity, provisioningOptions);\n\n\t\tconst domainObject: SchoolSystemOptions = new SchoolSystemOptions(props);\n\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 results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptionsRepoMapper.html":{"url":"classes/SchoolSystemOptionsRepoMapper.html","title":"class - SchoolSystemOptionsRepoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptionsRepoMapper\n\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/school-system-options-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 mapDomainObjectToEntityProperties\n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n\n\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(schoolSystemOptions: SchoolSystemOptions, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options-repo.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 schoolSystemOptions\n \n SchoolSystemOptions\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 : SchoolSystemOptionsEntityProps\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: SchoolSystemOptionsEntity, provisioningOptions: AnyProvisioningOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options-repo.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 entity\n \n SchoolSystemOptionsEntity\n \n\n \n No\n \n\n\n \n \n provisioningOptions\n \n AnyProvisioningOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSystemOptionsProps\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 { SchoolEntity, SystemEntity } from '@shared/domain/entity';\nimport { AnyProvisioningOptions, SchoolSystemOptions, SchoolSystemOptionsProps } from '../domain';\nimport { SchoolSystemOptionsEntity, SchoolSystemOptionsEntityProps } from '../entity';\n\nexport class SchoolSystemOptionsRepoMapper {\n\tstatic mapDomainObjectToEntityProperties(\n\t\tschoolSystemOptions: SchoolSystemOptions,\n\t\tem: EntityManager\n\t): SchoolSystemOptionsEntityProps {\n\t\tconst props: SchoolSystemOptionsProps = schoolSystemOptions.getProps();\n\n\t\tconst mapped: SchoolSystemOptionsEntityProps = {\n\t\t\tid: props.id,\n\t\t\tschool: em.getReference(SchoolEntity, props.schoolId),\n\t\t\tsystem: em.getReference(SystemEntity, props.systemId),\n\t\t\tprovisioningOptions: { ...props.provisioningOptions },\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapEntityToDomainObjectProperties(\n\t\tentity: SchoolSystemOptionsEntity,\n\t\tprovisioningOptions: AnyProvisioningOptions\n\t): SchoolSystemOptionsProps {\n\t\tconst mapped: SchoolSystemOptionsProps = {\n\t\t\tid: entity.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\tsystemId: entity.system.id,\n\t\t\tprovisioningOptions,\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"},"injectables/SchoolSystemOptionsRule.html":{"url":"injectables/SchoolSystemOptionsRule.html","title":"injectable - SchoolSystemOptionsRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsRule\n\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-system-options.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-system-options.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: SchoolSystemOptions, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-system-options.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 SchoolSystemOptions\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: SchoolSystemOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-system-options.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 SchoolSystemOptions\n \n\n \n No\n \n\n\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 { AnyProvisioningOptions, SchoolSystemOptions } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class SchoolSystemOptionsRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: SchoolSystemOptions): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof SchoolSystemOptions;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: SchoolSystemOptions, context: AuthorizationContext): boolean {\n\t\tconst hasPermissions: boolean = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\n\t\tconst isAtSchool: boolean = user.school.id === domainObject.schoolId;\n\n\t\tconst hasSystem: boolean = user.school.systems.getIdentifiers().includes(domainObject.systemId);\n\n\t\tconst isAuthorized: boolean = hasPermissions && isAtSchool && hasSystem;\n\n\t\treturn isAuthorized;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSystemOptionsService.html":{"url":"injectables/SchoolSystemOptionsService.html","title":"injectable - SchoolSystemOptionsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsService\n\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-system-options.service.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 findBySchoolIdAndSystemId\n \n \n Public\n Async\n getProvisioningOptions\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(schoolSystemOptionsRepo: SchoolSystemOptionsRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.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 schoolSystemOptionsRepo\n \n \n SchoolSystemOptionsRepo\n \n \n \n No\n \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 findBySchoolIdAndSystemId\n \n \n \n \n \n \n \n findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getProvisioningOptions\n \n \n \n \n \n \n \n getProvisioningOptions(ProvisioningOptionsConstructor, schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.service.ts:18\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 ProvisioningOptionsConstructor\n \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 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 save\n \n \n \n \n \n \n \n save(schoolSystemOptions: SchoolSystemOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.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 schoolSystemOptions\n \n SchoolSystemOptions\n \n\n \n No\n \n\n\n \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 { AnyProvisioningOptions, SchoolSystemOptions } from '../domain';\nimport { ProvisioningOptionsInvalidTypeLoggableException } from '../loggable';\nimport { SchoolSystemOptionsRepo } from '../repo';\n\n@Injectable()\nexport class SchoolSystemOptionsService {\n\tconstructor(private readonly schoolSystemOptionsRepo: SchoolSystemOptionsRepo) {}\n\n\tpublic async findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId): Promise {\n\t\tconst schoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsRepo.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\treturn schoolSystemOptions;\n\t}\n\n\tpublic async getProvisioningOptions(\n\t\tProvisioningOptionsConstructor: new () => T,\n\t\tschoolId: EntityId,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst schoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsRepo.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\tlet options: T;\n\t\tif (schoolSystemOptions) {\n\t\t\tif (!(schoolSystemOptions.provisioningOptions instanceof ProvisioningOptionsConstructor)) {\n\t\t\t\tthrow new ProvisioningOptionsInvalidTypeLoggableException(ProvisioningOptionsConstructor, schoolId, systemId);\n\t\t\t}\n\n\t\t\toptions = schoolSystemOptions.provisioningOptions;\n\t\t} else {\n\t\t\tconst defaultOptions: T = new ProvisioningOptionsConstructor();\n\n\t\t\toptions = defaultOptions;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tpublic async save(schoolSystemOptions: SchoolSystemOptions): Promise {\n\t\tconst savedSchoolSystemOptions: SchoolSystemOptions = await this.schoolSystemOptionsRepo.save(schoolSystemOptions);\n\n\t\treturn savedSchoolSystemOptions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSystemOptionsUc.html":{"url":"injectables/SchoolSystemOptionsUc.html","title":"injectable - SchoolSystemOptionsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsUc\n\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/school-system-options.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 createOrUpdateProvisioningOptions\n \n \n Public\n Async\n getProvisioningOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, systemService: SystemService, schoolSystemOptionsService: SchoolSystemOptionsService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/school-system-options.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 authorizationService\n \n \n AuthorizationService\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 schoolSystemOptionsService\n \n \n SchoolSystemOptionsService\n \n \n \n No\n \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 createOrUpdateProvisioningOptions\n \n \n \n \n \n \n \n createOrUpdateProvisioningOptions(userId: EntityId, schoolId: EntityId, systemId: EntityId, requestedProvisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/school-system-options.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n requestedProvisioningOptions\n \n ProvisioningOptionsInterface\n \n\n \n No\n \n\n\n \n \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 getProvisioningOptions\n \n \n \n \n \n \n \n getProvisioningOptions(userId: EntityId, schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/school-system-options.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n 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 { ObjectId } from '@mikro-orm/mongodb';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { System, SystemService } from '@modules/system';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyProvisioningOptions, SchoolSystemOptions, SchoolSystemOptionsBuilder } from '../domain';\nimport { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningStrategyMissingLoggableException } from '../loggable';\nimport { SchoolSystemOptionsService } from '../service';\n\n@Injectable()\nexport class SchoolSystemOptionsUc {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly schoolSystemOptionsService: SchoolSystemOptionsService\n\t) {}\n\n\tpublic async getProvisioningOptions(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst schoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsService.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\tif (!schoolSystemOptions) {\n\t\t\tthrow new NotFoundLoggableException(SchoolSystemOptions.name, { schoolId, systemId });\n\t\t}\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tschoolSystemOptions,\n\t\t\tAuthorizationContextBuilder.read([Permission.SCHOOL_SYSTEM_VIEW])\n\t\t);\n\n\t\treturn schoolSystemOptions.provisioningOptions;\n\t}\n\n\tpublic async createOrUpdateProvisioningOptions(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tsystemId: EntityId,\n\t\trequestedProvisioningOptions: ProvisioningOptionsInterface\n\t): Promise {\n\t\tconst system: System | null = await this.systemService.findById(systemId);\n\n\t\tif (!system) {\n\t\t\tthrow new NotFoundLoggableException(System.name, { id: systemId });\n\t\t}\n\n\t\tif (!system.provisioningStrategy) {\n\t\t\tthrow new ProvisioningStrategyMissingLoggableException(systemId);\n\t\t}\n\n\t\tconst provisioningOptions: AnyProvisioningOptions = new SchoolSystemOptionsBuilder(\n\t\t\tsystem.provisioningStrategy\n\t\t).buildProvisioningOptions(requestedProvisioningOptions);\n\n\t\tconst existingSchoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsService.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\tconst schoolSystemOptions: SchoolSystemOptions = new SchoolSystemOptions({\n\t\t\tid: existingSchoolSystemOptions?.id ?? new ObjectId().toHexString(),\n\t\t\tsystemId,\n\t\t\tschoolId,\n\t\t\tprovisioningOptions,\n\t\t});\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tschoolSystemOptions,\n\t\t\tAuthorizationContextBuilder.read([Permission.SCHOOL_SYSTEM_EDIT])\n\t\t);\n\n\t\tconst savedSchoolSystemOptions: SchoolSystemOptions = await this.schoolSystemOptionsService.save(\n\t\t\tschoolSystemOptions\n\t\t);\n\n\t\treturn savedSchoolSystemOptions.provisioningOptions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemParams.html":{"url":"classes/SchoolSystemParams.html","title":"class - SchoolSystemParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemParams\n\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/request/school-system.params.ts\n \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 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 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/legacy-school/controller/dto/request/school-system.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 : 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/legacy-school/controller/dto/request/school-system.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 { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolSystemParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: EntityId;\n\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/SchoolToolConfigurationStatusResponseMapper.html":{"url":"classes/SchoolToolConfigurationStatusResponseMapper.html","title":"class - SchoolToolConfigurationStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolToolConfigurationStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: SchoolExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n SchoolExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalToolConfigurationStatusResponse } from '../controller/dto/school-external-tool-configuration.response';\n\nexport class SchoolToolConfigurationStatusResponseMapper {\n\tstatic mapToResponse(status: SchoolExternalToolConfigurationStatus): SchoolExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: SchoolExternalToolConfigurationStatusResponse =\n\t\t\tnew SchoolExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolValidationService.html":{"url":"injectables/SchoolValidationService.html","title":"injectable - SchoolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n Public\n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n \n \n \n \n \n isSchoolNumberUnique(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n validate\n \n \n \n \n \n \n \n validate(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolNumberDuplicateLoggableException } from '../../loggable';\n\n@Injectable()\nexport class SchoolValidationService {\n\tconstructor(private readonly schoolRepo: LegacySchoolRepo) {}\n\n\tpublic async validate(school: LegacySchoolDo): Promise {\n\t\tif (!(await this.isSchoolNumberUnique(school))) {\n\t\t\tthrow new SchoolNumberDuplicateLoggableException(school.officialSchoolNumber as string);\n\t\t}\n\t}\n\n\tprivate async isSchoolNumberUnique(school: LegacySchoolDo): Promise {\n\t\tif (!school.officialSchoolNumber) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst foundSchool: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(school.officialSchoolNumber);\n\n\t\treturn foundSchool === null || foundSchool.id === school.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolYearEntity.html":{"url":"entities/SchoolYearEntity.html","title":"entity - SchoolYearEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolYearEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n name\n \n \n \n startDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n endDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolYearProperties.html":{"url":"interfaces/SchoolYearProperties.html","title":"interface - SchoolYearProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolYearProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n \n name\n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n endDate\n \n \n \n \n \n \n \n \n endDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearRepo.html":{"url":"injectables/SchoolYearRepo.html","title":"injectable - SchoolYearRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n \n \n \n \n \n findCurrentYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class SchoolYearRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SchoolYearEntity;\n\t}\n\n\tasync findCurrentYear(): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst year: SchoolYearEntity | null = await this._em.findOneOrFail(SchoolYearEntity, {\n\t\t\t$and: [{ startDate: { $lte: currentDate } }, { endDate: { $gte: currentDate } }],\n\t\t});\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearService.html":{"url":"injectables/SchoolYearService.html","title":"injectable - SchoolYearService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/school-year.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolYearRepo: SchoolYearRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolYearRepo\n \n \n SchoolYearRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n \n \n \n getCurrentSchoolYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolYearRepo } from '../repo';\n\n@Injectable()\nexport class SchoolYearService {\n\tconstructor(private readonly schoolYearRepo: SchoolYearRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync getCurrentSchoolYear(): Promise {\n\t\tconst current: SchoolYearEntity = await this.schoolYearRepo.findCurrentYear();\n\n\t\treturn current;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst year: SchoolYearEntity = await this.schoolYearRepo.findById(id);\n\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchulConneXProvisioningOptions.html":{"url":"classes/SchulConneXProvisioningOptions.html","title":"class - SchulConneXProvisioningOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchulConneXProvisioningOptions\n\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/domain/schulconnex-provisionin-options.do.ts\n \n\n\n\n \n Extends\n \n \n BaseProvisioningOptions\n \n\n \n Implements\n \n \n SchulConneXProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n groupProvisioningCoursesEnabled\n \n \n groupProvisioningOtherEnabled\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/schulconnex-provisionin-options.do.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n groupProvisioningCoursesEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/schulconnex-provisionin-options.do.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n groupProvisioningOtherEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/schulconnex-provisionin-options.do.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(props: SchulConneXProvisioningOptionsInterface)\n \n \n\n\n \n \n Inherited from BaseProvisioningOptions\n\n \n \n \n \n Defined in BaseProvisioningOptions: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 props\n \n SchulConneXProvisioningOptionsInterface\n \n\n \n No\n \n\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(provisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Inherited from BaseProvisioningOptions\n\n \n \n \n \n Defined in BaseProvisioningOptions:4\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningOptions\n \n ProvisioningOptionsInterface\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 \n\n\n \n import { SchulConneXProvisioningOptionsInterface } from '../interface';\nimport { BaseProvisioningOptions } from './base-provisioning-options';\n\nexport class SchulConneXProvisioningOptions\n\textends BaseProvisioningOptions\n\timplements SchulConneXProvisioningOptionsInterface\n{\n\tgroupProvisioningClassesEnabled = true;\n\n\tgroupProvisioningCoursesEnabled = false;\n\n\tgroupProvisioningOtherEnabled = false;\n\n\tset(props: SchulConneXProvisioningOptionsInterface): this {\n\t\tthis.groupProvisioningClassesEnabled = props.groupProvisioningClassesEnabled;\n\t\tthis.groupProvisioningCoursesEnabled = props.groupProvisioningCoursesEnabled;\n\t\tthis.groupProvisioningOtherEnabled = props.groupProvisioningOtherEnabled;\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/SchulConneXProvisioningOptionsParams.html":{"url":"classes/SchulConneXProvisioningOptionsParams.html","title":"class - SchulConneXProvisioningOptionsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchulConneXProvisioningOptionsParams\n\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/request/schulconnex-provisioning-options.params.ts\n \n\n\n\n\n \n Implements\n \n \n SchulConneXProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n \n groupProvisioningCoursesEnabled\n \n \n \n groupProvisioningOtherEnabled\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\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/legacy-school/controller/dto/request/schulconnex-provisioning-options.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningCoursesEnabled\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/legacy-school/controller/dto/request/schulconnex-provisioning-options.params.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningOtherEnabled\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/legacy-school/controller/dto/request/schulconnex-provisioning-options.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 { SchulConneXProvisioningOptionsInterface } from '../../../interface';\n\nexport class SchulConneXProvisioningOptionsParams implements SchulConneXProvisioningOptionsInterface {\n\t@ApiProperty()\n\tgroupProvisioningClassesEnabled!: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningCoursesEnabled!: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningOtherEnabled!: 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/SchulConneXProvisioningOptionsResponse.html":{"url":"classes/SchulConneXProvisioningOptionsResponse.html","title":"class - SchulConneXProvisioningOptionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchulConneXProvisioningOptionsResponse\n\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/response/schulconnex-provisioning-options.response.ts\n \n\n\n\n\n \n Implements\n \n \n SchulConneXProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n \n groupProvisioningCoursesEnabled\n \n \n \n groupProvisioningOtherEnabled\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchulConneXProvisioningOptionsResponse)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/response/schulconnex-provisioning-options.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 SchulConneXProvisioningOptionsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\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/legacy-school/controller/dto/response/schulconnex-provisioning-options.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningCoursesEnabled\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/legacy-school/controller/dto/response/schulconnex-provisioning-options.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningOtherEnabled\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/legacy-school/controller/dto/response/schulconnex-provisioning-options.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 { SchulConneXProvisioningOptionsInterface } from '../../../interface';\n\nexport class SchulConneXProvisioningOptionsResponse implements SchulConneXProvisioningOptionsInterface {\n\t@ApiProperty()\n\tgroupProvisioningClassesEnabled: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningCoursesEnabled: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningOtherEnabled: boolean;\n\n\tconstructor(props: SchulConneXProvisioningOptionsResponse) {\n\t\tthis.groupProvisioningClassesEnabled = props.groupProvisioningClassesEnabled;\n\t\tthis.groupProvisioningCoursesEnabled = props.groupProvisioningCoursesEnabled;\n\t\tthis.groupProvisioningOtherEnabled = props.groupProvisioningOtherEnabled;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Scope.html":{"url":"classes/Scope.html","title":"class - Scope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Scope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/scope.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operator: ScopeOperator)\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operator\n \n \n ScopeOperator\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n\n \n \n getquery()\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:20\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EmptyResultQuery } from './query/empty-result.query';\n\ntype EmptyResultQueryType = typeof EmptyResultQuery;\n\ntype ScopeOperator = '$and' | '$or';\n\nexport class Scope {\n\tprivate _queries: FilterQuery[] = [];\n\n\tprivate _operator: ScopeOperator;\n\n\tprivate _allowEmptyQuery: boolean;\n\n\tconstructor(operator: ScopeOperator = '$and') {\n\t\tthis._operator = operator;\n\t\tthis._allowEmptyQuery = false;\n\t}\n\n\tget query(): FilterQuery {\n\t\tif (this._queries.length === 0) {\n\t\t\tif (this._allowEmptyQuery) {\n\t\t\t\treturn {} as FilterQuery;\n\t\t\t}\n\t\t\treturn EmptyResultQuery as FilterQuery;\n\t\t}\n\t\tconst query = this._queries.length > 1 ? { [this._operator]: this._queries } : this._queries[0];\n\t\treturn query as FilterQuery;\n\t}\n\n\taddQuery(query: FilterQuery | EmptyResultQueryType): void {\n\t\tthis._queries.push(query);\n\t}\n\n\tallowEmptyQuery(isEmptyQueryAllowed: boolean): Scope {\n\t\tthis._allowEmptyQuery = isEmptyQueryAllowed;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScopeInfo.html":{"url":"interfaces/ScopeInfo.html","title":"interface - ScopeInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScopeInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-info.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n scopeId\n \n \n \n \n scopeName\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n \n \n logoutUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n \n \n scopeId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeName\n \n \n \n \n \n \n \n \n scopeName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ScopeInfo {\n\tscopeId: EntityId;\n\n\tscopeName: string;\n\n\ttitle: string;\n\n\tlogoutUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScopeRef.html":{"url":"classes/ScopeRef.html","title":"class - ScopeRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScopeRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n scope\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, scope: VideoConferenceScope)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n scope\n \n \n VideoConferenceScope\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ScopeRef {\n\tid: EntityId;\n\n\tscope: VideoConferenceScope;\n\n\tconstructor(id: EntityId, scope: VideoConferenceScope) {\n\t\tthis.id = id;\n\t\tthis.scope = scope;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ServerConfig.html":{"url":"interfaces/ServerConfig.html","title":"interface - ServerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ServerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/server.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n UserConfig\n FilesStorageClientConfig\n AccountConfig\n IdentityManagementConfig\n CommonCartridgeConfig\n MailConfig\n XApiKeyConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NODE_ENV\n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NODE_ENV\n \n \n \n \n \n \n \n \n NODE_ENV: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n SC_DOMAIN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport type { IdentityManagementConfig } from '@infra/identity-management';\nimport type { AccountConfig } from '@modules/account';\nimport type { FilesStorageClientConfig } from '@modules/files-storage-client';\nimport type { CommonCartridgeConfig } from '@modules/learnroom/common-cartridge';\nimport type { UserConfig } from '@modules/user';\nimport type { CoreModuleConfig } from '@src/core';\nimport { MailConfig } from '@src/infra/mail/interfaces/mail-config';\nimport { XApiKeyConfig } from '@modules/authentication';\n\nexport enum NodeEnvType {\n\tTEST = 'test',\n\tDEVELOPMENT = 'development',\n\tPRODUCTION = 'production',\n\tMIGRATION = 'migration',\n}\n\nexport interface ServerConfig\n\textends CoreModuleConfig,\n\t\tUserConfig,\n\t\tFilesStorageClientConfig,\n\t\tAccountConfig,\n\t\tIdentityManagementConfig,\n\t\tCommonCartridgeConfig,\n\t\tMailConfig,\n\t\tXApiKeyConfig {\n\tNODE_ENV: string;\n\tSC_DOMAIN: string;\n}\n\nconst config: ServerConfig = {\n\tSC_DOMAIN: Configuration.get('SC_DOMAIN') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tAVAILABLE_LANGUAGES: (Configuration.get('I18N__AVAILABLE_LANGUAGES') as string).split(','),\n\tNODE_ENV: Configuration.get('NODE_ENV') as NodeEnvType,\n\tLOGIN_BLOCK_TIME: Configuration.get('LOGIN_BLOCK_TIME') as number,\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: Configuration.get(\n\t\t'TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE'\n\t) as boolean,\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: Configuration.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') as boolean,\n\tADMIN_API__ALLOWED_API_KEYS: (Configuration.get('ADMIN_API__ALLOWED_API_KEYS') as string)\n\t\t.split(',')\n\t\t.map((apiKey) => apiKey.trim()),\n\tBLOCKLIST_OF_EMAIL_DOMAINS: (Configuration.get('BLOCKLIST_OF_EMAIL_DOMAINS') as string)\n\t\t.split(',')\n\t\t.map((domain) => domain.trim()),\n};\n\nexport const serverConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ServerConsole.html":{"url":"classes/ServerConsole.html","title":"class - ServerConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ServerConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/server.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n getInOut\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService)\n \n \n \n \n Defined in apps/server/src/console/server.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'test', description: 'sample test output'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:11\n \n \n\n\n \n \n test method for console output\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n getInOut\n \n \n \n \n \n \n \n getInOut(whatever: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'out ', description: 'return input args'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:17\n \n \n\n\n \n \n test method for console input\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n whatever\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\n\n@Console({ command: 'server', description: 'sample server console' })\nexport class ServerConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService) {}\n\n\t/** test method for console output */\n\t@Command({ command: 'test', description: 'sample test output' })\n\tgetHello(): void {\n\t\tthis.consoleWriter.info('Schulcloud Server API');\n\t}\n\n\t/** test method for console input */\n\t@Command({ command: 'out ', description: 'return input args' })\n\tgetInOut(whatever: string): void {\n\t\tthis.consoleWriter.info(`input was: ${whatever}`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerConsoleModule.html":{"url":"modules/ServerConsoleModule.html","title":"module - ServerConsoleModule","body":"\n \n\n\n\n\n Modules\n ServerConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerConsoleModule\n\n\n\ncluster_ServerConsoleModule_imports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nServerConsoleModule\n\nServerConsoleModule\n\nServerConsoleModule -->\n\nConsoleWriterModule->ServerConsoleModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nServerConsoleModule -->\n\nFilesModule->ServerConsoleModule\n\n\n\n\n\nManagementModule\n\nManagementModule\n\nServerConsoleModule -->\n\nManagementModule->ServerConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/console/console.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n \n \n \n ConsoleWriterModule\n \n \n FilesModule\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ConsoleWriterModule } from '@infra/console/console-writer/console-writer.module';\nimport { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { FilesModule } from '@modules/files';\nimport { FileRecord } from '@modules/files-storage/entity';\nimport { FileEntity } from '@modules/files/entity';\nimport { ManagementModule } from '@modules/management/management.module';\nimport { serverConfig } from '@modules/server';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ServerConsole } from './server.console';\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tFilesModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\t\t...((Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean) ? [KeycloakModule] : []),\n\t\tMikroOrmModule.forRoot({\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity, FileRecord],\n\t\t\tallowGlobalContext: true,\n\t\t\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t\t\tnew NotFoundException(`The requested ${entityName}: ${JSON.stringify(where)} has not been found.`),\n\t\t}),\n\t],\n\tproviders: [\n\t\t/** add console services as providers */\n\t\tServerConsole,\n\t],\n})\nexport class ServerConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ServerController.html":{"url":"controllers/ServerController.html","title":"controller - ServerController","body":"\n \n\n\n\n\n\n\n Controllers\n ServerController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/controller/server.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/server/controller/server.controller.ts:7\n \n \n\n\n \n \n default route to test public access\n\n\n \n Returns : string\n\n \n \n \n \n \n \n\n\n \n import { Controller, Get } from '@nestjs/common';\n\n@Controller()\nexport class ServerController {\n\t/** default route to test public access */\n\t@Get()\n\tgetHello(): string {\n\t\treturn 'Schulcloud Server API';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerModule.html":{"url":"modules/ServerModule.html","title":"module - ServerModule","body":"\n \n\n\n\n\n Modules\n ServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerModule\n\n\n\ncluster_ServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerModule\n\nServerModule\n\nServerModule -->\n\nDeletionApiModule->ServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerModule -->\n\nLoggerModule->ServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nServerModule -->\n\nRabbitMQWrapperModule->ServerModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerModule -->\n\nRedisModule->ServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server Module used for production\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts: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 { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { 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/entity';\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\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n\tLegacySchoolApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerTestModule.html":{"url":"modules/ServerTestModule.html","title":"module - ServerTestModule","body":"\n \n\n\n\n\n Modules\n ServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerTestModule\n\n\n\ncluster_ServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerTestModule\n\nServerTestModule\n\nServerTestModule -->\n\nDeletionApiModule->ServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerTestModule -->\n\nLoggerModule->ServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nServerTestModule -->\n\nMongoMemoryDatabaseModule->ServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nServerTestModule -->\n\nRabbitMQWrapperTestModule->ServerTestModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerTestModule -->\n\nRedisModule->ServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server module used for testing.\nShould have same modules than the @ServerModule while infrastucture Modules can be different.\nCustomizations:\n\nIn Memory Database instead of external connection\n// TODO add custom mail, rocketchat, and rabbitmq modules\n// TODO use instead of ServerModule when NODE_ENV=test\n\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts: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 { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { 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/entity';\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\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n\tLegacySchoolApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetHeightBodyParams.html":{"url":"classes/SetHeightBodyParams.html","title":"class - SetHeightBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetHeightBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsPositive()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsPositive } from 'class-validator';\n\nexport class SetHeightBodyParams {\n\t@IsPositive()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\theight!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ShareToken.html":{"url":"entities/ShareToken.html","title":"entity - ShareToken","body":"\n \n\n\n\n\n\n\n\n Entities\n ShareToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n _parentId\n \n \n \n Optional\n contextType\n \n \n \n \n Optional\n expiresAt\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contextType\n \n \n \n \n \n \n Type : ShareTokenContextType\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:19\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenBodyParams.html":{"url":"classes/ShareTokenBodyParams.html","title":"class - ShareTokenBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@IsPositive()@ApiProperty({description: 'when defined, the sharetoken will expire after the given number of days.', required: false, nullable: true, minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'the id of the object being shared.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ShareTokenParentType)@ApiProperty({description: 'the type of the object being shared', required: true, nullable: false, enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'when defined, the sharetoken will be usable exclusively by members of the users school.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:41\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsInt, IsMongoId, IsOptional, IsPositive } from 'class-validator';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenBodyParams {\n\t@IsEnum(ShareTokenParentType)\n\t@ApiProperty({\n\t\tdescription: 'the type of the object being shared',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: ShareTokenParentType,\n\t})\n\tparentType!: ShareTokenParentType;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'the id of the object being shared.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tparentId!: string;\n\n\t@IsInt()\n\t@IsOptional()\n\t@IsPositive()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will expire after the given number of days.',\n\t\trequired: false,\n\t\tnullable: true,\n\t\tminimum: 1,\n\t})\n\texpiresInDays?: number;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will be usable exclusively by members of the users school.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tschoolExclusive?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenContextTypeMapper.html":{"url":"classes/ShareTokenContextTypeMapper.html","title":"class - ShareTokenContextTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenContextTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/context-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/context-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenContextType } from '../domainobject/share-token.do';\n\nexport class ShareTokenContextTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenContextType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenContextType.School, AuthorizableReferenceType.School);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ShareTokenController.html":{"url":"controllers/ShareTokenController.html","title":"controller - ShareTokenController","body":"\n \n\n\n\n\n\n\n Controllers\n ShareTokenController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/share-token.controller.ts\n \n\n \n Prefix\n \n \n sharetoken\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(currentUser: ICurrentUser, body: ShareTokenBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a share token.'})@ApiResponse({status: 201, type: ShareTokenResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post()\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams, body: ShareTokenImportBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Import a share token payload.'})@ApiResponse({status: 201, type: CopyApiResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@ApiResponse({status: 501, type: NotImplementedException})@Post(':token/import')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenImportBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Look up a share token.'})@ApiResponse({status: 200, type: ShareTokenInfoResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get(':token')\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tNotFoundException,\n\tNotImplementedException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError, RequestTimeout } from '@shared/common';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { ShareTokenInfoResponseMapper, ShareTokenResponseMapper } from '../mapper';\nimport { ShareTokenUC } from '../uc';\nimport {\n\tShareTokenBodyParams,\n\tShareTokenImportBodyParams,\n\tShareTokenInfoResponse,\n\tShareTokenResponse,\n\tShareTokenUrlParams,\n} from './dto';\n\n@ApiTags('ShareToken')\n@Authenticate('jwt')\n@Controller('sharetoken')\nexport class ShareTokenController {\n\tconstructor(private readonly shareTokenUC: ShareTokenUC) {}\n\n\t@ApiOperation({ summary: 'Create a share token.' })\n\t@ApiResponse({ status: 201, type: ShareTokenResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post()\n\tasync createShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ShareTokenBodyParams\n\t): Promise {\n\t\tconst shareToken = await this.shareTokenUC.createShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\t{\n\t\t\t\tparentType: body.parentType,\n\t\t\t\tparentId: body.parentId,\n\t\t\t},\n\t\t\t{\n\t\t\t\tschoolExclusive: body.schoolExclusive,\n\t\t\t\texpiresInDays: body.expiresInDays,\n\t\t\t}\n\t\t);\n\n\t\tconst response = ShareTokenResponseMapper.mapToResponse(shareToken);\n\n\t\treturn Promise.resolve(response);\n\t}\n\n\t@ApiOperation({ summary: 'Look up a share token.' })\n\t@ApiResponse({ status: 200, type: ShareTokenInfoResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get(':token')\n\tasync lookupShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams\n\t): Promise {\n\t\tconst shareTokenInfo = await this.shareTokenUC.lookupShareToken(currentUser.userId, urlParams.token);\n\n\t\tconst response = ShareTokenInfoResponseMapper.mapToResponse(shareTokenInfo);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Import a share token payload.' })\n\t@ApiResponse({ status: 201, type: CopyApiResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@ApiResponse({ status: 501, type: NotImplementedException })\n\t@Post(':token/import')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync importShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams,\n\t\t@Body() body: ShareTokenImportBodyParams\n\t): Promise {\n\t\tconst copyStatus = await this.shareTokenUC.importShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.token,\n\t\t\tbody.newName,\n\t\t\tbody.destinationCourseId\n\t\t);\n\n\t\tconst response = CopyMapper.mapToResponse(copyStatus);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenDO.html":{"url":"classes/ShareTokenDO.html","title":"class - ShareTokenDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/domainobject/share-token.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n context\n \n \n Optional\n expiresAt\n \n \n payload\n \n \n token\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: ShareTokenDO)\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n ShareTokenDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : ShareTokenContext\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayload\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { BaseDO } from '@shared/domain/domainobject';\n\nexport enum ShareTokenParentType {\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n}\n\nexport enum ShareTokenContextType {\n\t'School' = 'schools',\n}\n\nexport type ShareTokenString = string;\n\nexport type ShareTokenPayload = {\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId;\n};\n\nexport type ShareTokenContext = {\n\tcontextType: ShareTokenContextType;\n\tcontextId: EntityId;\n};\n\nexport class ShareTokenDO extends BaseDO {\n\ttoken: ShareTokenString;\n\n\tpayload: ShareTokenPayload;\n\n\tcontext?: ShareTokenContext;\n\n\texpiresAt?: Date;\n\n\tconstructor(domainObject: ShareTokenDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.token = domainObject.token;\n\t\tthis.payload = domainObject.payload;\n\t\tthis.context = domainObject.context;\n\t\tthis.expiresAt = domainObject.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenFactory.html":{"url":"classes/ShareTokenFactory.html","title":"class - ShareTokenFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/share-token.do.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withId\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withId\n \n \n \n \n \n \nwithId(id?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/share-token.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO, ShareTokenParentType } from '@modules/sharing/domainobject/share-token.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { Factory } from 'fishery';\n\nclass ShareTokenFactory extends Factory {\n\t/* istanbul ignore next */\n\twithId(id?: EntityId) {\n\t\treturn this.params({ id: new ObjectId(id).toHexString() });\n\t}\n}\n\nexport const shareTokenFactory = ShareTokenFactory.define(({ sequence }) => {\n\treturn {\n\t\ttoken: `share-token-${sequence}`,\n\t\tpayload: {\n\t\t\tparentType: ShareTokenParentType.Course,\n\t\t\tparentId: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenImportBodyParams.html":{"url":"classes/ShareTokenImportBodyParams.html","title":"class - ShareTokenImportBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenImportBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n newName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@ApiProperty({description: 'Id of the course to which the lesson/task will be added', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n newName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'the new name of the imported object.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ShareTokenImportBodyParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'the new name of the imported object.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewName!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'Id of the course to which the lesson/task will be added',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdestinationCourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenInfoDto.html":{"url":"interfaces/ShareTokenInfoDto.html","title":"interface - ShareTokenInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/dto/share-token-info.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentName\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentName\n \n \n \n \n \n \n \n \n parentName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport interface ShareTokenInfoDto {\n\ttoken: string;\n\tparentType: ShareTokenParentType;\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponse.html":{"url":"classes/ShareTokenInfoResponse.html","title":"class - ShareTokenInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentName\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenInfoResponse {\n\tconstructor({ token, parentType, parentName }: ShareTokenInfoResponse) {\n\t\tthis.token = token;\n\t\tthis.parentType = parentType;\n\t\tthis.parentName = parentName;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponseMapper.html":{"url":"classes/ShareTokenInfoResponseMapper.html","title":"class - ShareTokenInfoResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareTokenInfo: ShareTokenInfoDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenInfo\n \n ShareTokenInfoDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenInfoResponse } from '../controller/dto';\nimport { ShareTokenInfoDto } from '../uc/dto';\n\nexport class ShareTokenInfoResponseMapper {\n\tstatic mapToResponse(shareTokenInfo: ShareTokenInfoDto): ShareTokenInfoResponse {\n\t\tconst dto = new ShareTokenInfoResponse({\n\t\t\ttoken: shareTokenInfo.token,\n\t\t\tparentType: shareTokenInfo.parentType,\n\t\t\tparentName: shareTokenInfo.parentName,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenParentTypeMapper.html":{"url":"classes/ShareTokenParentTypeMapper.html","title":"class - ShareTokenParentTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenParentTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/parent-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/parent-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class ShareTokenParentTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenParentType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, AuthorizableReferenceType.Course);\n\t\ttypes.set(ShareTokenParentType.Lesson, AuthorizableReferenceType.Lesson);\n\t\ttypes.set(ShareTokenParentType.Task, AuthorizableReferenceType.Task);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenPayloadResponse.html":{"url":"classes/ShareTokenPayloadResponse.html","title":"class - ShareTokenPayloadResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenPayloadResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(payload: ShareTokenPayload)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n \n ShareTokenPayload\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ShareTokenParentType, ShareTokenPayload } from '../../domainobject/share-token.do';\n\nexport class ShareTokenPayloadResponse {\n\tconstructor(payload: ShareTokenPayload) {\n\t\tthis.parentType = payload.parentType;\n\t\tthis.parentId = payload.parentId;\n\t}\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\tparentId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenProperties.html":{"url":"interfaces/ShareTokenProperties.html","title":"interface - ShareTokenProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextId\n \n \n \n Optional\n \n contextType\n \n \n \n Optional\n \n expiresAt\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ShareTokenContextType\n\n \n \n\n\n \n \n Type : ShareTokenContextType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: ShareTokenString\n\n \n \n\n\n \n \n Type : ShareTokenString\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenRepo.html":{"url":"injectables/ShareTokenRepo.html","title":"injectable - ShareTokenRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/repo/share-token.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findOneByToken\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findOneByToken\n \n \n \n \n \n \n \n findOneByToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(domainObject: ShareTokenDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ShareToken)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ShareToken\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { ShareTokenContext, ShareTokenDO, ShareTokenPayload, ShareTokenString } from '../domainobject/share-token.do';\nimport { ShareToken } from '../entity/share-token.entity';\n\n@Injectable()\nexport class ShareTokenRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn ShareToken;\n\t}\n\n\tasync findOneByToken(token: ShareTokenString): Promise {\n\t\tconst entity = await this._em.findOneOrFail(ShareToken, { token });\n\n\t\tconst shareToken = this.mapEntityToDO(entity);\n\n\t\treturn shareToken;\n\t}\n\n\tprotected mapEntityToDO(entity: ShareToken): ShareTokenDO {\n\t\tconst payload: ShareTokenPayload = {\n\t\t\tparentType: entity.parentType,\n\t\t\tparentId: entity.parentId,\n\t\t};\n\n\t\tconst context: ShareTokenContext | undefined =\n\t\t\tentity.contextType && entity.contextId\n\t\t\t\t? { contextType: entity.contextType, contextId: entity.contextId }\n\t\t\t\t: undefined;\n\n\t\tconst domainObject = new ShareTokenDO({\n\t\t\tid: entity.id,\n\t\t\ttoken: entity.token,\n\t\t\tpayload,\n\t\t\tcontext,\n\t\t\texpiresAt: entity.expiresAt,\n\t\t});\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapDOToEntityProperties(domainObject: ShareTokenDO): EntityData {\n\t\tconst properties = {\n\t\t\ttoken: domainObject.token,\n\t\t\tparentType: domainObject.payload.parentType,\n\t\t\tparentId: domainObject.payload.parentId,\n\t\t\tcontextType: domainObject.context?.contextType,\n\t\t\tcontextId: domainObject.context?.contextId,\n\t\t\texpiresAt: domainObject.expiresAt,\n\t\t};\n\n\t\treturn properties;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponse.html":{"url":"classes/ShareTokenResponse.html","title":"class - ShareTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n payload\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayloadResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ShareTokenPayloadResponse } from './share-token-payload.response';\n\nexport class ShareTokenResponse {\n\tconstructor({ token, payload, expiresAt }: ShareTokenResponse) {\n\t\tthis.token = token;\n\t\tthis.payload = new ShareTokenPayloadResponse(payload);\n\t\tthis.expiresAt = expiresAt;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty()\n\tpayload: ShareTokenPayloadResponse;\n\n\t@ApiPropertyOptional()\n\texpiresAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponseMapper.html":{"url":"classes/ShareTokenResponseMapper.html","title":"class - ShareTokenResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO } from '../domainobject/share-token.do';\nimport { ShareTokenResponse } from '../controller/dto';\n\nexport class ShareTokenResponseMapper {\n\tstatic mapToResponse(shareToken: ShareTokenDO): ShareTokenResponse {\n\t\tconst dto = new ShareTokenResponse({\n\t\t\ttoken: shareToken.token,\n\t\t\tpayload: shareToken.payload,\n\t\t\texpiresAt: shareToken.expiresAt,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenService.html":{"url":"injectables/ShareTokenService.html","title":"injectable - ShareTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/share-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkExpired\n \n \n Async\n createToken\n \n \n Async\n lookupToken\n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tokenGenerator: TokenGenerator, shareTokenRepo: ShareTokenRepo, courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenGenerator\n \n \n TokenGenerator\n \n \n \n No\n \n \n \n \n shareTokenRepo\n \n \n ShareTokenRepo\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkExpired\n \n \n \n \n \n \n \n checkExpired(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createToken\n \n \n \n \n \n \n \n createToken(payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupToken\n \n \n \n \n \n \n \n lookupToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n \n \n \n lookupTokenWithParentName(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport {\n\tShareTokenContext,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n\tShareTokenString,\n} from '../domainobject/share-token.do';\nimport { ShareTokenRepo } from '../repo/share-token.repo';\nimport { TokenGenerator } from './token-generator.service';\n\n@Injectable()\nexport class ShareTokenService {\n\tconstructor(\n\t\tprivate readonly tokenGenerator: TokenGenerator,\n\t\tprivate readonly shareTokenRepo: ShareTokenRepo,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync createToken(\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { context?: ShareTokenContext; expiresAt?: Date }\n\t): Promise {\n\t\tconst token = this.tokenGenerator.generateShareToken();\n\t\tconst shareToken = new ShareTokenDO({\n\t\t\ttoken,\n\t\t\tpayload,\n\t\t\tcontext: options?.context,\n\t\t\texpiresAt: options?.expiresAt,\n\t\t});\n\n\t\tawait this.shareTokenRepo.save(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupToken(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.shareTokenRepo.findOneByToken(token);\n\n\t\tthis.checkExpired(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupTokenWithParentName(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.lookupToken(token);\n\n\t\tlet parentName = '';\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tparentName = (await this.courseService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tparentName = (await this.lessonService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tparentName = (await this.taskService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn { shareToken, parentName };\n\t}\n\n\tprivate checkExpired(shareToken: ShareTokenDO) {\n\t\tif (shareToken.expiresAt != null && shareToken.expiresAt \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenUC.html":{"url":"injectables/ShareTokenUC.html","title":"injectable - ShareTokenUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/share-token.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n Private\n Async\n checkCreatePermission\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n Async\n checkParentWritePermission\n \n \n Private\n Async\n copyCourse\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Async\n createShareToken\n \n \n Async\n importShareToken\n \n \n Async\n lookupShareToken\n \n \n Private\n nowPlusDays\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(shareTokenService: ShareTokenService, authorizationService: AuthorizationService, authorizationReferenceService: AuthorizationReferenceService, courseCopyService: CourseCopyService, lessonCopyService: LessonCopyService, courseService: CourseService, taskCopyService: TaskCopyService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenService\n \n \n ShareTokenService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n authorizationReferenceService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n \n \n \n \n \n checkContextReadPermission(userId: EntityId, context: ShareTokenContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:193\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n ShareTokenContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkCreatePermission\n \n \n \n \n \n \n \n checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:205\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled(parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:232\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkParentWritePermission\n \n \n \n \n \n \n \n checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: string, newName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: string, originalTaskId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n originalTaskId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(userId: EntityId, payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(userId: EntityId, token: string, newName: string, destinationCourseId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n destinationCourseId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(userId: EntityId, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n nowPlusDays\n \n \n \n \n \n \n \n nowPlusDays(days: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n days\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { CourseCopyService } from '@modules/learnroom';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonCopyService } from '@modules/lesson/service';\nimport { TaskCopyService } from '@modules/task/service';\nimport { BadRequestException, Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport {\n\tShareTokenContext,\n\tShareTokenContextType,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n} from '../domainobject/share-token.do';\nimport { ShareTokenContextTypeMapper, ShareTokenParentTypeMapper } from '../mapper';\nimport { ShareTokenService } from '../service';\nimport { ShareTokenInfoDto } from './dto';\n\n@Injectable()\nexport class ShareTokenUC {\n\tconstructor(\n\t\tprivate readonly shareTokenService: ShareTokenService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly authorizationReferenceService: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(ShareTokenUC.name);\n\t}\n\n\tasync createShareToken(\n\t\tuserId: EntityId,\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { schoolExclusive?: boolean; expiresInDays?: number }\n\t): Promise {\n\t\tthis.checkFeatureEnabled(payload.parentType);\n\n\t\tthis.logger.debug({ action: 'createShareToken', userId, payload, options });\n\n\t\tawait this.checkParentWritePermission(userId, payload);\n\n\t\tconst serviceOptions: { context?: ShareTokenContext; expiresAt?: Date } = {};\n\t\tif (options?.schoolExclusive) {\n\t\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\t\tserviceOptions.context = {\n\t\t\t\tcontextType: ShareTokenContextType.School,\n\t\t\t\tcontextId: user.school.id,\n\t\t\t};\n\t\t\tawait this.checkContextReadPermission(userId, serviceOptions.context);\n\t\t}\n\t\tif (options?.expiresInDays) {\n\t\t\tserviceOptions.expiresAt = this.nowPlusDays(options.expiresInDays);\n\t\t}\n\n\t\tconst shareToken = await this.shareTokenService.createToken(payload, serviceOptions);\n\t\treturn shareToken;\n\t}\n\n\tasync lookupShareToken(userId: EntityId, token: string): Promise {\n\t\tthis.logger.debug({ action: 'lookupShareToken', userId, token });\n\n\t\tconst { shareToken, parentName } = await this.shareTokenService.lookupTokenWithParentName(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tconst shareTokenInfo: ShareTokenInfoDto = {\n\t\t\ttoken,\n\t\t\tparentType: shareToken.payload.parentType,\n\t\t\tparentName,\n\t\t};\n\n\t\treturn shareTokenInfo;\n\t}\n\n\tasync importShareToken(\n\t\tuserId: EntityId,\n\t\ttoken: string,\n\t\tnewName: string,\n\t\tdestinationCourseId?: string\n\t): Promise {\n\t\tthis.logger.debug({ action: 'importShareToken', userId, token, newName });\n\n\t\tconst shareToken = await this.shareTokenService.lookupToken(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tlet result: CopyStatus;\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tresult = await this.copyCourse(userId, shareToken.payload.parentId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy lesson');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyLesson(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy task');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyTask(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Copy not implemented');\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate async copyCourse(userId: EntityId, courseId: string, newName: string): Promise {\n\t\treturn this.courseCopyService.copyCourse({\n\t\t\tuserId,\n\t\t\tcourseId,\n\t\t\tnewName,\n\t\t});\n\t}\n\n\tprivate async copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.lessonCopyService.copyLesson({\n\t\t\tuser,\n\t\t\toriginalLessonId: lessonId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async copyTask(\n\t\tuserId: string,\n\t\toriginalTaskId: string,\n\t\tcourseId: string,\n\t\tcopyName?: string\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.taskCopyService.copyTask({\n\t\t\tuser,\n\t\t\toriginalTaskId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload) {\n\t\tconst allowedParentType = ShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(payload.parentType);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\n\t\tconst authorizationContext = AuthorizationContextBuilder.write(requiredPermissions);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedParentType,\n\t\t\tpayload.parentId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkContextReadPermission(userId: EntityId, context: ShareTokenContext) {\n\t\tconst allowedContextType = ShareTokenContextTypeMapper.mapToAllowedAuthorizationEntityType(context.contextType);\n\t\tconst authorizationContext = AuthorizationContextBuilder.read([]);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedContextType,\n\t\t\tcontext.contextId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType) {\n\t\t// checks if parent type is supported\n\t\tShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(parentType);\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\t\tthis.authorizationService.checkAllPermissions(user, requiredPermissions);\n\t}\n\n\tprivate nowPlusDays(days: number) {\n\t\tconst date = new Date();\n\t\tdate.setDate(date.getDate() + days);\n\t\treturn date;\n\t}\n\n\tprivate checkFeatureEnabled(parentType: ShareTokenParentType) {\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_COURSE_SHARE_NEW') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Course Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_LESSON_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Lesson Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_TASK_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Task Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Import Feature not implemented');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenUrlParams.html":{"url":"classes/ShareTokenUrlParams.html","title":"class - ShareTokenUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The token that identifies the shared object', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class ShareTokenUrlParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The token that identifies the shared object',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoken!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingApiModule.html":{"url":"modules/SharingApiModule.html","title":"module - SharingApiModule","body":"\n \n\n\n\n\n Modules\n SharingApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingApiModule\n\n\n\ncluster_SharingApiModule_providers\n\n\n\ncluster_SharingApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingApiModule\n\nSharingApiModule\n\nSharingApiModule -->\n\nAuthorizationModule->SharingApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingApiModule -->\n\nAuthorizationReferenceModule->SharingApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingApiModule -->\n\nLearnroomModule->SharingApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingApiModule -->\n\nLessonModule->SharingApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingApiModule -->\n\nLoggerModule->SharingApiModule\n\n\n\n\n\nSharingModule\n\nSharingModule\n\nSharingApiModule -->\n\nSharingModule->SharingApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingApiModule -->\n\nTaskModule->SharingApiModule\n\n\n\n\n\nShareTokenUC\n\nShareTokenUC\n\nSharingApiModule -->\n\nShareTokenUC->SharingApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenUC\n \n \n \n \n Controllers\n \n \n ShareTokenController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n SharingModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingModule.html":{"url":"modules/SharingModule.html","title":"module - SharingModule","body":"\n \n\n\n\n\n Modules\n SharingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingModule\n\n\n\ncluster_SharingModule_exports\n\n\n\ncluster_SharingModule_imports\n\n\n\ncluster_SharingModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingModule\n\nSharingModule\n\nSharingModule -->\n\nAuthorizationModule->SharingModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingModule -->\n\nAuthorizationReferenceModule->SharingModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingModule -->\n\nLearnroomModule->SharingModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingModule -->\n\nLessonModule->SharingModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingModule -->\n\nLoggerModule->SharingModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingModule -->\n\nTaskModule->SharingModule\n\n\n\n\n\nShareTokenService \n\nShareTokenService \n\nShareTokenService -->\n\nSharingModule->ShareTokenService \n\n\n\n\n\nShareTokenRepo\n\nShareTokenRepo\n\nSharingModule -->\n\nShareTokenRepo->SharingModule\n\n\n\n\n\nShareTokenService\n\nShareTokenService\n\nSharingModule -->\n\nShareTokenService->SharingModule\n\n\n\n\n\nTokenGenerator\n\nTokenGenerator\n\nSharingModule -->\n\nTokenGenerator->SharingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenRepo\n \n \n ShareTokenService\n \n \n TokenGenerator\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n ShareTokenService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleColumnBoardResponse.html":{"url":"classes/SingleColumnBoardResponse.html","title":"class - SingleColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n elements\n \n \n \n isArchived\n \n \n \n roomId\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SingleColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SingleColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : BoardElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'Array of board specific tasks or lessons with matching type property'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isArchived\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Boolean if the room this board belongs to is archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the room this board belongs to', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardElementResponse } from './board-element.response';\n\n// TODO: this and DashboardResponse should be combined\nexport class SingleColumnBoardResponse {\n\tconstructor({ roomId, title, displayColor, elements, isArchived }: SingleColumnBoardResponse) {\n\t\tthis.roomId = roomId;\n\t\tthis.title = title;\n\t\tthis.displayColor = displayColor;\n\t\tthis.elements = elements;\n\t\tthis.isArchived = isArchived;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the room this board belongs to',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\troomId: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Board',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Board',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\ttype: [BoardElementResponse],\n\t\tdescription: 'Array of board specific tasks or lessons with matching type property',\n\t})\n\telements: BoardElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Boolean if the room this board belongs to is archived',\n\t})\n\tisArchived: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleFileParams.html":{"url":"classes/SingleFileParams.html","title":"class - SingleFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:72\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortExternalToolParams.html":{"url":"classes/SortExternalToolParams.html","title":"class - SortExternalToolParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortExternalToolParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-sort.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ExternalToolSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ExternalToolSortBy)@ApiPropertyOptional({enum: ExternalToolSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport enum ExternalToolSortBy {\n\tID = 'id',\n\tNAME = 'name',\n}\n\nexport class SortExternalToolParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ExternalToolSortBy)\n\t@ApiPropertyOptional({ enum: ExternalToolSortBy })\n\tsortBy?: ExternalToolSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortHelper.html":{"url":"classes/SortHelper.html","title":"class - SortHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/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/shared/common/utils/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 Default value\n \n \n \n \n a\n \n T\n \n\n \n No\n \n\n \n \n\n \n \n b\n \n T\n \n\n \n No\n \n\n \n \n\n \n \n sortOrder\n \n SortOrder\n \n\n \n No\n \n\n \n SortOrder.asc\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 '../../domain/interface';\n\nexport class SortHelper {\n\tpublic static genericSortFunction(a: T, b: T, sortOrder: SortOrder = SortOrder.asc): number {\n\t\tlet order: number;\n\n\t\tif (typeof a !== 'undefined' && typeof b === 'undefined') {\n\t\t\torder = 1;\n\t\t} else if (typeof a === 'undefined' && typeof b !== 'undefined') {\n\t\t\torder = -1;\n\t\t} else if (typeof a === 'string' && typeof b === 'string') {\n\t\t\torder = a.localeCompare(b);\n\t\t} else if (typeof a === 'number' && typeof b === 'number') {\n\t\t\torder = a - b;\n\t\t} else {\n\t\t\torder = 0;\n\t\t}\n\n\t\treturn sortOrder === SortOrder.desc ? -order : order;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortImportUserParams.html":{"url":"classes/SortImportUserParams.html","title":"class - SortImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/sort-import-user.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ImportUserSortOrder\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ImportUserSortOrder)@ApiPropertyOptional({enum: ImportUserSortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport enum ImportUserSortOrder {\n\tFIRSTNAME = 'firstName',\n\tLASTNAME = 'lastName',\n}\n\nexport class SortImportUserParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ImportUserSortOrder)\n\t@ApiPropertyOptional({ enum: ImportUserSortOrder })\n\tsortBy?: ImportUserSortOrder;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortingParams.html":{"url":"classes/SortingParams.html","title":"class - SortingParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortingParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/sorting.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:13\n \n \n\n \n \n Set type and Decorators in extending classes\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nenum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport abstract class SortingParams {\n\t/**\n\t * Set type and Decorators in extending classes\n\t */\n\tabstract sortBy?: T;\n\n\t@IsOptional()\n\t@IsEnum(SortOrder)\n\t@ApiPropertyOptional({ enum: SortOrder })\n\tsortOrder: SortOrder = SortOrder.asc;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StartUserLoginMigrationUc.html":{"url":"injectables/StartUserLoginMigrationUc.html","title":"injectable - StartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n \n \n \n \n \n checkPreconditions(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationStartLoggable,\n} from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class StartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(StartUserLoginMigrationUc.name);\n\t}\n\n\tasync startMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tawait this.checkPreconditions(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.startMigration(schoolId);\n\n\t\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, userLoginMigration.id));\n\t\t} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPreconditions(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\n\t\tif (!school.officialSchoolNumber) {\n\t\t\tthrow new SchoolNumberMissingLoggableException(schoolId);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StatelessAuthorizationParams.html":{"url":"classes/StatelessAuthorizationParams.html","title":"class - StatelessAuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StatelessAuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class StatelessAuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StorageProviderEncryptedStringType.html":{"url":"classes/StorageProviderEncryptedStringType.html","title":"class - StorageProviderEncryptedStringType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StorageProviderEncryptedStringType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts\n \n\n\n \n Description\n \n \n Serialization type to transparent encrypt string values in database.\n\n \n\n \n Extends\n \n \n Type\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n key\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n convertToDatabaseValue\n \n \n convertToJSValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(customKey?: string)\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n customKey\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n convertToDatabaseValue\n \n \n \n \n \n \nconvertToDatabaseValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n convertToJSValue\n \n \n \n \n \n \nconvertToJSValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Type } from '@mikro-orm/core';\nimport CryptoJs from 'crypto-js';\n\n/**\n * Serialization type to transparent encrypt string values in database.\n */\nexport class StorageProviderEncryptedStringType extends Type {\n\t// TODO modularize service?\n\tprivate key: string;\n\n\tconstructor(customKey?: string) {\n\t\tsuper();\n\t\tif (customKey) {\n\t\t\tthis.key = customKey;\n\t\t} else {\n\t\t\tthis.key = Configuration.get('S3_KEY') as string;\n\t\t}\n\t}\n\n\tconvertToDatabaseValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// encrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\t\tconst encryptedString = CryptoJs.AES.encrypt(value, this.key).toString();\n\n\t\treturn encryptedString;\n\t}\n\n\tconvertToJSValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// decrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\n\t\t// decrypt only non-empty strings\n\t\tconst decryptedString: string = CryptoJs.AES.decrypt(value, this.key).toString(CryptoJs.enc.Utf8);\n\n\t\treturn decryptedString;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/StorageProviderEntity.html":{"url":"entities/StorageProviderEntity.html","title":"entity - StorageProviderEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n StorageProviderEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n endpointUrl\n \n \n \n Optional\n region\n \n \n \n secretAccessKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n region\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/StorageProviderProperties.html":{"url":"interfaces/StorageProviderProperties.html","title":"interface - StorageProviderProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n StorageProviderProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n endpointUrl\n \n \n \n Optional\n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n \n \n endpointUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StorageProviderRepo.html":{"url":"injectables/StorageProviderRepo.html","title":"injectable - StorageProviderRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StorageProviderRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class StorageProviderRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn StorageProviderEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst providers = this._em.find(StorageProviderEntity, {});\n\n\t\treturn providers;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StringValidator.html":{"url":"classes/StringValidator.html","title":"class - StringValidator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StringValidator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/validator/string.validator.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n Static\n isString\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n \n \n \n \n \n isNotEmptyString(value?: string, trim)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n trim\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isString\n \n \n \n \n \n \n \n isString(value?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:2\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class StringValidator {\n\tstatic isString(value?: string): value is string {\n\t\tconst result = value != null && typeof value === 'string';\n\t\tif (result === true) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic isNotEmptyString(value?: string, trim = false): boolean {\n\t\tif (StringValidator.isString(value)) {\n\t\t\tconst result = trim ? value.trim().length > 0 : value.length > 0;\n\t\t\treturn result;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Submission.html":{"url":"entities/Submission.html","title":"entity - Submission","body":"\n \n\n\n\n\n\n\n\n Entities\n Submission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n Optional\n courseGroup\n \n \n \n Optional\n grade\n \n \n \n Optional\n gradeComment\n \n \n \n graded\n \n \n \n \n school\n \n \n \n student\n \n \n \n submitted\n \n \n \n \n task\n \n \n \n teamMembers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n gradeComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'studentId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {fieldName: 'homeworkId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'teamMembers'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:43\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerContentBody.html":{"url":"classes/SubmissionContainerContentBody.html","title":"class - SubmissionContainerContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'The point in time until when a submission can be handed in.'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:106\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElement.html":{"url":"classes/SubmissionContainerElement.html","title":"class - SubmissionContainerElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n\n \n \n getdueDate()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:6\n \n \n\n \n \n setdueDate(value: Date | null)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n Date | null\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContent.html":{"url":"classes/SubmissionContainerElementContent.html","title":"class - SubmissionContainerElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Date, description: 'The dueDate as date string or null of not set', example: '2023-08-17T14:17:51.958+00:00'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContentBody.html":{"url":"classes/SubmissionContainerElementContentBody.html","title":"class - SubmissionContainerElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:115\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:111\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionContainerElementNode.html":{"url":"entities/SubmissionContainerElementNode.html","title":"entity - SubmissionContainerElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionContainerElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerElementProps.html":{"url":"interfaces/SubmissionContainerElementProps.html","title":"interface - SubmissionContainerElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponse.html":{"url":"classes/SubmissionContainerElementResponse.html","title":"class - SubmissionContainerElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponseMapper.html":{"url":"classes/SubmissionContainerElementResponseMapper.html","title":"class - SubmissionContainerElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionContainerElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : SubmissionContainerElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, SubmissionContainerElement } from '@shared/domain/domainobject';\nimport { SubmissionContainerElementContent, SubmissionContainerElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class SubmissionContainerElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: SubmissionContainerElementResponseMapper;\n\n\tpublic static getInstance(): SubmissionContainerElementResponseMapper {\n\t\tif (!SubmissionContainerElementResponseMapper.instance) {\n\t\t\tSubmissionContainerElementResponseMapper.instance = new SubmissionContainerElementResponseMapper();\n\t\t}\n\n\t\treturn SubmissionContainerElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: SubmissionContainerElement): SubmissionContainerElementResponse {\n\t\tconst result = new SubmissionContainerElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.SUBMISSION_CONTAINER,\n\t\t\tcontent: new SubmissionContainerElementContent({\n\t\t\t\tdueDate: element.dueDate,\n\t\t\t}),\n\t\t});\n\n\t\tif (element.dueDate) {\n\t\t\tresult.content = new SubmissionContainerElementContent({ dueDate: element.dueDate });\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: SubmissionContainerElement): boolean {\n\t\treturn element instanceof SubmissionContainerElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerNodeProps.html":{"url":"interfaces/SubmissionContainerNodeProps.html","title":"interface - SubmissionContainerNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerUrlParams.html":{"url":"classes/SubmissionContainerUrlParams.html","title":"class - SubmissionContainerUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission container.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionContainerUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission container.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionContainerId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SubmissionController.html":{"url":"controllers/SubmissionController.html","title":"controller - SubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n SubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/submission.controller.ts\n \n\n \n Prefix\n \n \n submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n Async\n findStatusesByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: SubmissionUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':submissionId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findStatusesByTask\n \n \n \n \n \n \n \n findStatusesByTask(currentUser: ICurrentUser, params: TaskUrlParams)\n \n \n\n \n \n Decorators : \n \n @Get('status/task/:taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { SubmissionMapper } from '../mapper';\nimport { SubmissionUc } from '../uc';\nimport { SubmissionStatusListResponse, SubmissionUrlParams, TaskUrlParams } from './dto';\n\n@ApiTags('Submission')\n@Authenticate('jwt')\n@Controller('submissions')\nexport class SubmissionController {\n\tconstructor(private readonly submissionUc: SubmissionUc) {}\n\n\t@Get('status/task/:taskId')\n\tasync findStatusesByTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: TaskUrlParams\n\t): Promise {\n\t\tconst submissions = await this.submissionUc.findAllByTask(currentUser.userId, params.taskId);\n\n\t\tconst submissionResponses = submissions.map((submission) => SubmissionMapper.mapToStatusResponse(submission));\n\n\t\tconst listResponse = new SubmissionStatusListResponse(submissionResponses);\n\n\t\treturn listResponse;\n\t}\n\n\t@Delete(':submissionId')\n\tasync delete(@Param() urlParams: SubmissionUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.submissionUc.delete(currentUser.userId, urlParams.submissionId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionFactory.html":{"url":"classes/SubmissionFactory.html","title":"class - SubmissionFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/submission.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n graded\n \n \n studentWithId\n \n \n submitted\n \n \n teamMembersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \ngraded()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n studentWithId\n \n \n \n \n \n \nstudentWithId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \nsubmitted()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n teamMembersWithId\n \n \n \n \n \n \nteamMembersWithId(numberOfTeamMembers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeamMembers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission, SubmissionProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { taskFactory } from './task.factory';\nimport { userFactory } from './user.factory';\n\nclass SubmissionFactory extends BaseFactory {\n\tgraded(): this {\n\t\tconst params: DeepPartial = { graded: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tsubmitted(): this {\n\t\tconst params: DeepPartial = { submitted: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentWithId(): this {\n\t\tconst params: DeepPartial = { student: userFactory.buildWithId() };\n\n\t\treturn this.params(params);\n\t}\n\n\tteamMembersWithId(numberOfTeamMembers: number): this {\n\t\tconst teamMembers = userFactory.buildListWithId(numberOfTeamMembers);\n\t\tconst params: DeepPartial = { teamMembers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const submissionFactory = SubmissionFactory.define(Submission, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\ttask: taskFactory.build(),\n\t\tstudent: userFactory.build(),\n\t\tcomment: `submission comment #${sequence}`,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItem.html":{"url":"classes/SubmissionItem.html","title":"class - SubmissionItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n userId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n\n \n \n getcompleted()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:7\n \n \n\n \n \n setcompleted(value: boolean)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:11\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:15\n \n \n\n \n \n setuserId(value: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:19\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemFactory.html":{"url":"injectables/SubmissionItemFactory.html","title":"injectable - SubmissionItemFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts:7\n \n \n\n\n \n \n\n \n Returns : SubmissionItem\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ObjectId } from 'bson';\nimport { SubmissionItem } from './submission-item.do';\n\n@Injectable()\nexport class SubmissionItemFactory {\n\tbuild(): SubmissionItem {\n\t\treturn new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: false,\n\t\t\tuserId: new ObjectId().toHexString(),\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionItemNode.html":{"url":"entities/SubmissionItemNode.html","title":"entity - SubmissionItemNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionItemNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property({comment: 'The user whos submission this is. Usually the student submitting the work.'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemNodeProps.html":{"url":"interfaces/SubmissionItemNodeProps.html","title":"interface - SubmissionItemNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemProps.html":{"url":"interfaces/SubmissionItemProps.html","title":"interface - SubmissionItemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponse.html":{"url":"classes/SubmissionItemResponse.html","title":"class - SubmissionItemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n elements\n \n \n \n id\n \n \n \n timestamps\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionItemResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionItemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : (RichTextElementResponse | FileElementResponse)[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, getSchemaPath } from '@nestjs/swagger';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { FileElementResponse, RichTextElementResponse } from '../element';\n\n@ApiExtraModels(FileElementResponse, RichTextElementResponse)\nexport class SubmissionItemResponse {\n\tconstructor({ id, timestamps, completed, userId, elements }: SubmissionItemResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.completed = completed;\n\t\tthis.userId = userId;\n\t\tthis.elements = elements;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcompleted: boolean;\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tuserId: string;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [{ $ref: getSchemaPath(FileElementResponse) }, { $ref: getSchemaPath(RichTextElementResponse) }],\n\t\t},\n\t})\n\telements: (RichTextElementResponse | FileElementResponse)[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponseMapper.html":{"url":"classes/SubmissionItemResponseMapper.html","title":"class - SubmissionItemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n getInstance\n \n \n Public\n mapSubmissionItemToResponse\n \n \n Public\n mapToResponse\n \n \n Private\n mapUsersToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionItemResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Returns : SubmissionItemResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n mapSubmissionItemToResponse\n \n \n \n \n \n \n \n mapSubmissionItemToResponse(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItems\n \n SubmissionItem[]\n \n\n \n No\n \n\n\n \n \n users\n \n UserBoardRoles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapUsersToResponse\n \n \n \n \n \n \n \n mapUsersToResponse(user: UserBoardRoles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserBoardRoles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tFileElement,\n\tisSubmissionItemContent,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n} from '@shared/domain/domainobject';\nimport { SubmissionItemResponse, SubmissionsResponse, TimestampsResponse, UserDataResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class SubmissionItemResponseMapper {\n\tprivate static instance: SubmissionItemResponseMapper;\n\n\tpublic static getInstance(): SubmissionItemResponseMapper {\n\t\tif (!SubmissionItemResponseMapper.instance) {\n\t\t\tSubmissionItemResponseMapper.instance = new SubmissionItemResponseMapper();\n\t\t}\n\n\t\treturn SubmissionItemResponseMapper.instance;\n\t}\n\n\tpublic mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[]): SubmissionsResponse {\n\t\tconst submissionItemsResponse: SubmissionItemResponse[] = submissionItems.map((item) =>\n\t\t\tthis.mapSubmissionItemToResponse(item)\n\t\t);\n\t\tconst usersResponse: UserDataResponse[] = users.map((user) => this.mapUsersToResponse(user));\n\n\t\tconst response = new SubmissionsResponse(submissionItemsResponse, usersResponse);\n\n\t\treturn response;\n\t}\n\n\tpublic mapSubmissionItemToResponse(submissionItem: SubmissionItem): SubmissionItemResponse {\n\t\tconst children: (FileElement | RichTextElement)[] = submissionItem.children.filter(isSubmissionItemContent);\n\t\tconst result = new SubmissionItemResponse({\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tid: submissionItem.id,\n\t\t\ttimestamps: new TimestampsResponse({\n\t\t\t\tlastUpdatedAt: submissionItem.updatedAt,\n\t\t\t\tcreatedAt: submissionItem.createdAt,\n\t\t\t}),\n\t\t\tuserId: submissionItem.userId,\n\t\t\telements: children.map((element) => ContentElementResponseFactory.mapSubmissionContentToResponse(element)),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tprivate mapUsersToResponse(user: UserBoardRoles) {\n\t\tconst result = new UserDataResponse({\n\t\t\tuserId: user.userId,\n\t\t\tfirstName: user.firstName || '',\n\t\t\tlastName: user.lastName || '',\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemService.html":{"url":"injectables/SubmissionItemService.html","title":"injectable - SubmissionItemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/submission-item.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findById\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, submissionContainer: SubmissionContainerElement, payload: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainer\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n payload\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(submissionItem: SubmissionItem, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { ObjectId } from 'bson';\n\nimport { ValidationError } from '@shared/common';\nimport { isSubmissionContainerElement, SubmissionContainerElement, SubmissionItem } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class SubmissionItemService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(id);\n\n\t\tif (!(element instanceof SubmissionItem)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync create(\n\t\tuserId: EntityId,\n\t\tsubmissionContainer: SubmissionContainerElement,\n\t\tpayload: { completed: boolean }\n\t): Promise {\n\t\tconst submissionItem = new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: payload.completed,\n\t\t\tuserId,\n\t\t});\n\n\t\tsubmissionContainer.addChild(submissionItem);\n\n\t\tawait this.boardDoRepo.save(submissionContainer.children, submissionContainer);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync update(submissionItem: SubmissionItem, completed: boolean): Promise {\n\t\tconst submissionContainterElement = await this.boardDoRepo.findParentOfId(submissionItem.id);\n\t\tif (!isSubmissionContainerElement(submissionContainterElement)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\tconst now = new Date();\n\t\tif (submissionContainterElement.dueDate && submissionContainterElement.dueDate \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemUc.html":{"url":"injectables/SubmissionItemUc.html","title":"injectable - SubmissionItemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/submission-item.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n findSubmissionItems\n \n \n Async\n updateSubmissionItem\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, submissionItemId: EntityId, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSubmissionItems\n \n \n \n \n \n \n \n findSubmissionItems(userId: EntityId, submissionContainerId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainerId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(userId: EntityId, submissionItemId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport {\n\tBadRequestException,\n\tforwardRef,\n\tInject,\n\tInjectable,\n\tNotFoundException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport {\n\tContentElementType,\n\tFileElement,\n\tisFileElement,\n\tisRichTextElement,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService, ContentElementService, SubmissionItemService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class SubmissionItemUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprotected readonly elementService: ContentElementService,\n\t\tprotected readonly submissionItemService: SubmissionItemService\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t}\n\n\tasync findSubmissionItems(\n\t\tuserId: EntityId,\n\t\tsubmissionContainerId: EntityId\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(submissionContainerId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new NotFoundException('Could not find a submission container with this id');\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read);\n\n\t\tlet submissionItems = submissionContainerElement.children.filter(isSubmissionItem);\n\n\t\tconst boardAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(submissionContainerElement);\n\t\tlet users = boardAuthorizable.users.filter((user) => user.userRoleEnum === UserRoleEnum.STUDENT);\n\n\t\tconst isAuthorizedStudent = await this.isAuthorizedStudent(userId, submissionContainerElement);\n\t\tif (isAuthorizedStudent) {\n\t\t\tsubmissionItems = submissionItems.filter((item) => item.userId === userId);\n\t\t\tusers = [];\n\t\t}\n\n\t\treturn { submissionItems, users };\n\t}\n\n\tasync updateSubmissionItem(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\t\tawait this.submissionItemService.update(submissionItem, completed);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\ttype: ContentElementType\n\t): Promise {\n\t\tif (type !== ContentElementType.RICH_TEXT && type !== ContentElementType.FILE) {\n\t\t\tthrow new BadRequestException();\n\t\t}\n\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\n\t\tconst element = await this.elementService.create(submissionItem, type);\n\n\t\tif (!isFileElement(element) && !isRichTextElement(element)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemUrlParams.html":{"url":"classes/SubmissionItemUrlParams.html","title":"class - SubmissionItemUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission item.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionItemUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission item.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionItemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionMapper.html":{"url":"classes/SubmissionMapper.html","title":"class - SubmissionMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/submission.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n \n \n \n mapToStatusResponse(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/submission.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission } from '@shared/domain/entity';\nimport { SubmissionStatusResponse } from '../controller/dto';\n\nexport class SubmissionMapper {\n\tstatic mapToStatusResponse(submission: Submission): SubmissionStatusResponse {\n\t\tconst dto = new SubmissionStatusResponse({\n\t\t\tid: submission.id,\n\t\t\tsubmitters: submission.getSubmitterIds(),\n\t\t\tisSubmitted: submission.isSubmitted(),\n\t\t\tgrade: submission.grade,\n\t\t\tisGraded: submission.isGraded(),\n\t\t\tsubmittingCourseGroupName: submission.courseGroup?.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionProperties.html":{"url":"interfaces/SubmissionProperties.html","title":"interface - SubmissionProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n comment\n \n \n \n Optional\n \n courseGroup\n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n gradeComment\n \n \n \n Optional\n \n graded\n \n \n \n \n school\n \n \n \n \n student\n \n \n \n Optional\n \n submitted\n \n \n \n \n task\n \n \n \n Optional\n \n teamMembers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n gradeComment\n \n \n \n \n \n \n \n \n gradeComment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n \n \n student: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n \n \n task: Task\n\n \n \n\n\n \n \n Type : Task\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n \n \n teamMembers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRepo.html":{"url":"injectables/SubmissionRepo.html","title":"injectable - SubmissionRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/submission/submission.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n Async\n findAllByTaskIds\n \n \n Async\n findAllByUserId\n \n \n Async\n findById\n \n \n Private\n Async\n populateReferences\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n \n \n \n \n \n byUserIdQuery(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTaskIds\n \n \n \n \n \n \n \n findAllByTaskIds(taskIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateReferences\n \n \n \n \n \n \n \n populateReferences(submissions: Submission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseGroup, Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n// TODO: add scope helper\n\n@Injectable()\nexport class SubmissionRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Submission;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst submission = await super.findById(id);\n\t\tawait this.populateReferences([submission]);\n\n\t\treturn submission;\n\t}\n\n\tasync findAllByTaskIds(taskIds: EntityId[]): Promise> {\n\t\tconst [submissions, count] = await this._em.findAndCount(this.entityName, {\n\t\t\ttask: { $in: taskIds },\n\t\t});\n\t\tawait this.populateReferences(submissions);\n\n\t\treturn [submissions, count];\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise> {\n\t\tconst result = await this._em.findAndCount(this.entityName, await this.byUserIdQuery(userId));\n\t\treturn result;\n\t}\n\n\tprivate async byUserIdQuery(userId: EntityId): Promise> {\n\t\tconst courseGroupsOfUser = await this._em.find(CourseGroup, { students: userId });\n\t\tconst query = { $or: [{ student: userId }, { teamMembers: userId }, { courseGroup: { $in: courseGroupsOfUser } }] };\n\t\treturn query;\n\t}\n\n\tprivate async populateReferences(submissions: Submission[]): Promise {\n\t\tawait this._em.populate(submissions, [\n\t\t\t'courseGroup',\n\t\t\t'task.course',\n\t\t\t'task.lesson.course',\n\t\t\t'task.lesson.courseGroup.course',\n\t\t]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRule.html":{"url":"injectables/SubmissionRule.html","title":"injectable - SubmissionRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/submission.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n Private\n hasParentTaskReadAccess\n \n \n Private\n hasParentTaskWriteAccess\n \n \n Public\n hasPermission\n \n \n Private\n hasReadAccess\n \n \n Private\n hasWriteAccess\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, taskRule: TaskRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n \n \n \n \n \n hasAccessToSubmission(user: User, submission: Submission, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskReadAccess\n \n \n \n \n \n \n \n hasParentTaskReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskWriteAccess\n \n \n \n \n \n \n \n hasParentTaskWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, submission: Submission, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasReadAccess\n \n \n \n \n \n \n \n hasReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasWriteAccess\n \n \n \n \n \n \n \n hasWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { TaskRule } from './task.rule';\n\n@Injectable()\nexport class SubmissionRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly taskRule: TaskRule) {}\n\n\tpublic isApplicable(user: User, entity: Submission): boolean {\n\t\tconst isMatched = entity instanceof Submission;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, submission: Submission, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\n\t\tconst result =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.hasAccessToSubmission(user, submission, action);\n\n\t\treturn result;\n\t}\n\n\tprivate hasAccessToSubmission(user: User, submission: Submission, action: Action): boolean {\n\t\tlet hasAccessToSubmission = false;\n\n\t\tif (action === Action.write) {\n\t\t\thasAccessToSubmission = this.hasWriteAccess(user, submission);\n\t\t} else if (action === Action.read) {\n\t\t\thasAccessToSubmission = this.hasReadAccess(user, submission);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\treturn hasAccessToSubmission;\n\t}\n\n\tprivate hasWriteAccess(user: User, submission: Submission) {\n\t\tconst hasWriteAccess = submission.isUserSubmitter(user) || this.hasParentTaskWriteAccess(user, submission);\n\n\t\treturn hasWriteAccess;\n\t}\n\n\tprivate hasReadAccess(user: User, submission: Submission) {\n\t\tlet hasReadAccess = false;\n\n\t\tif (submission.isSubmitted()) {\n\t\t\thasReadAccess =\n\t\t\t\tthis.hasWriteAccess(user, submission) ||\n\t\t\t\t(this.hasParentTaskReadAccess(user, submission) && submission.task.areSubmissionsPublic());\n\t\t} else {\n\t\t\thasReadAccess = submission.isUserSubmitter(user);\n\t\t}\n\n\t\treturn hasReadAccess;\n\t}\n\n\tprivate hasParentTaskWriteAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskWriteAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.write,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskWriteAccess;\n\t}\n\n\tprivate hasParentTaskReadAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskReadAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.read,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskReadAccess;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionService.html":{"url":"injectables/SubmissionService.html","title":"injectable - SubmissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/submission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findAllByTask\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionRepo: SubmissionRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { SubmissionRepo } from '@shared/repo';\n\n@Injectable()\nexport class SubmissionService {\n\tconstructor(\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findById(submissionId: EntityId): Promise {\n\t\treturn this.submissionRepo.findById(submissionId);\n\t}\n\n\tasync findAllByTask(taskId: EntityId): Promise> {\n\t\tconst submissions = this.submissionRepo.findAllByTaskIds([taskId]);\n\n\t\treturn submissions;\n\t}\n\n\tasync delete(submission: Submission): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(submission.id);\n\n\t\tawait this.submissionRepo.delete(submission);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusListResponse.html":{"url":"classes/SubmissionStatusListResponse.html","title":"class - SubmissionStatusListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SubmissionStatusResponse[])\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SubmissionStatusResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SubmissionStatusResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusResponse.html":{"url":"classes/SubmissionStatusResponse.html","title":"class - SubmissionStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n id\n \n \n \n isGraded\n \n \n \n isSubmitted\n \n \n \n submitters\n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n isGraded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubmitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitters\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionUc.html":{"url":"injectables/SubmissionUc.html","title":"injectable - SubmissionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/submission.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n filterSubmissionsByPermission\n \n \n Async\n findAllByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionService: SubmissionService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterSubmissionsByPermission\n \n \n \n \n \n \n \n filterSubmissionsByPermission(submissions: Submission[], user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Submission[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { SubmissionService } from '../service';\n\n@Injectable()\nexport class SubmissionUc {\n\tconstructor(\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findAllByTask(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst [submissions] = await this.submissionService.findAllByTask(taskId);\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst permittedSubmissions = this.filterSubmissionsByPermission(submissions, user);\n\n\t\treturn permittedSubmissions;\n\t}\n\n\tasync delete(userId: EntityId, submissionId: EntityId) {\n\t\tconst [user, submission] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.submissionService.findById(submissionId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsubmission,\n\t\t\tAuthorizationContextBuilder.write([Permission.SUBMISSIONS_EDIT])\n\t\t);\n\n\t\tawait this.submissionService.delete(submission);\n\n\t\treturn true;\n\t}\n\n\tprivate filterSubmissionsByPermission(submissions: Submission[], user: User): Submission[] {\n\t\tconst permissionContext = AuthorizationContextBuilder.read([Permission.SUBMISSIONS_VIEW]);\n\n\t\tconst permittedSubmissions = submissions.filter((submission) => {\n\t\t\tconst hasPermission = this.authorizationService.hasPermission(user, submission, permissionContext);\n\n\t\t\treturn hasPermission;\n\t\t});\n\n\t\treturn permittedSubmissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionUrlParams.html":{"url":"classes/SubmissionUrlParams.html","title":"class - SubmissionUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionsResponse.html":{"url":"classes/SubmissionsResponse.html","title":"class - SubmissionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[])\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItemsResponse\n \n \n SubmissionItemResponse[]\n \n \n \n No\n \n \n \n \n users\n \n \n UserDataResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n \n \n \n Type : SubmissionItemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : UserDataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { UserDataResponse } from '../user-data.response';\nimport { SubmissionItemResponse } from './submission-item.response';\n\nexport class SubmissionsResponse {\n\tconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[]) {\n\t\tthis.submissionItemsResponse = submissionItemsResponse;\n\t\tthis.users = users;\n\t}\n\n\t@ApiProperty({\n\t\ttype: [SubmissionItemResponse],\n\t})\n\tsubmissionItemsResponse: SubmissionItemResponse[];\n\n\t@ApiProperty({\n\t\ttype: [UserDataResponse],\n\t})\n\tusers: UserDataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SuccessfulRes.html":{"url":"interfaces/SuccessfulRes.html","title":"interface - SuccessfulRes","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SuccessfulRes\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SuccessfulResponse.html":{"url":"classes/SuccessfulResponse.html","title":"class - SuccessfulResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SuccessfulResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n successful\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(successful: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n successful\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n successful\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SuccessfulResponse {\n\tconstructor(successful: boolean) {\n\t\tthis.successful = successful;\n\t}\n\n\t@ApiProperty()\n\tsuccessful: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SwapInternalLinksVisitor.html":{"url":"classes/SwapInternalLinksVisitor.html","title":"class - SwapInternalLinksVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SwapInternalLinksVisitor\n\n\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/swap-internal-links.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 \n Methods\n \n \n \n \n \n \n Private\n doNothing\n \n \n visitCard\n \n \n Private\n visitChildrenOf\n \n \n visitColumn\n \n \n visitColumnBoard\n \n \n visitDrawingElement\n \n \n visitExternalToolElement\n \n \n visitFileElement\n \n \n visitLinkElement\n \n \n visitRichTextElement\n \n \n visitSubmissionContainerElement\n \n \n visitSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(idMap: Map)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n idMap\n \n \n Map\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 Private\n doNothing\n \n \n \n \n \n \n \n doNothing()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:63\n \n \n\n\n \n \n\n \n Returns : void\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/service/board-do-copy-service/swap-internal-links.visitor.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n 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 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/swap-internal-links.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 boardDo\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 visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.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 : 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/service/board-do-copy-service/swap-internal-links.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 columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.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 drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:33\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:37\n \n \n\n\n \n \n\n \n Returns : void\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/service/board-do-copy-service/swap-internal-links.visitor.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 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()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:47\n \n \n\n\n \n \n\n \n Returns : void\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/service/board-do-copy-service/swap-internal-links.visitor.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 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/service/board-do-copy-service/swap-internal-links.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 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 {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tLinkElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { EntityId } from '@shared/domain/types';\n\nexport class SwapInternalLinksVisitor implements BoardCompositeVisitor {\n\tconstructor(private readonly idMap: Map) {}\n\n\tvisitDrawingElement(drawingElement: DrawingElement): void {\n\t\tthis.visitChildrenOf(drawingElement);\n\t}\n\n\tvisitCard(card: Card): void {\n\t\tthis.visitChildrenOf(card);\n\t}\n\n\tvisitColumn(column: Column): void {\n\t\tthis.visitChildrenOf(column);\n\t}\n\n\tvisitColumnBoard(columnBoard: ColumnBoard): void {\n\t\tthis.visitChildrenOf(columnBoard);\n\t}\n\n\tvisitExternalToolElement(): void {\n\t\tthis.doNothing();\n\t}\n\n\tvisitFileElement(): void {\n\t\tthis.doNothing();\n\t}\n\n\tvisitLinkElement(linkElement: LinkElement): void {\n\t\tthis.idMap.forEach((value, key) => {\n\t\t\tlinkElement.url = linkElement.url.replace(key, value);\n\t\t});\n\t}\n\n\tvisitRichTextElement(): void {\n\t\tthis.doNothing();\n\t}\n\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void {\n\t\tthis.visitChildrenOf(submissionContainerElement);\n\t}\n\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void {\n\t\tthis.visitChildrenOf(submissionItem);\n\t}\n\n\tprivate visitChildrenOf(boardDo: AnyBoardDo) {\n\t\tboardDo.children.forEach((child) => child.accept(this));\n\t}\n\n\tprivate doNothing() {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SymetricKeyEncryptionService.html":{"url":"injectables/SymetricKeyEncryptionService.html","title":"injectable - SymetricKeyEncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SymetricKeyEncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n decrypt\n \n \n Public\n encrypt\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, key?: string)\n \n \n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n key\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n decrypt\n \n \n \n \n \n \n \n decrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n encrypt\n \n \n \n \n \n \n \n encrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import CryptoJs from 'crypto-js';\n\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { EncryptionService } from './encryption.interface';\n\n@Injectable()\nexport class SymetricKeyEncryptionService implements EncryptionService {\n\tconstructor(private logger: LegacyLogger, private key?: string) {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Encryption will no work');\n\t\t}\n\t}\n\n\tpublic encrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.encrypt(data, this.key).toString();\n\t}\n\n\tpublic decrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.decrypt(data, this.key).toString(CryptoJs.enc.Utf8);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/System.html":{"url":"classes/System.html","title":"class - System","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n System\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n provisioningStrategy\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n\n \n \n getldapConfig()\n \n \n \n \n Defined in apps/server/src/modules/system/domain/system.do.ts:25\n \n \n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n\n \n \n getprovisioningStrategy()\n \n \n \n \n Defined in apps/server/src/modules/system/domain/system.do.ts:29\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n\n\tget provisioningStrategy(): SystemProvisioningStrategy | undefined {\n\t\treturn this.props.provisioningStrategy;\n\t}\n}\n\n \n\n\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\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nSystemApiModule -->\n\nAuthorizationModule->SystemApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nSystemApiModule -->\n\nSystemModule->SystemApiModule\n\n\n\n\n\nSystemUc\n\nSystemUc\n\nSystemApiModule -->\n\nSystemUc->SystemApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SystemUc\n \n \n \n \n Controllers\n \n \n SystemController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { SystemController } from '@modules/system/controller/system.controller';\nimport { SystemUc } from '@modules/system/uc/system.uc';\nimport { Module } from '@nestjs/common';\nimport { SystemModule } from './system.module';\n\n@Module({\n\timports: [SystemModule, AuthorizationModule],\n\tproviders: [SystemUc],\n\tcontrollers: [SystemController],\n})\nexport class SystemApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SystemController.html":{"url":"controllers/SystemController.html","title":"controller - SystemController","body":"\n \n\n\n\n\n\n\n Controllers\n SystemController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/system.controller.ts\n \n\n \n Prefix\n \n \n systems\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n Async\n find\n \n \n \n \n \n Async\n getSystem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n \n \n deleteSystem(currentUser: ICurrentUser, params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete(':systemId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a system.'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(filterParams: SystemFilterParams)\n \n \n\n \n \n Decorators : \n \n @Get('public')@ApiOperation({summary: 'Finds all publicly available systems.'})@ApiResponse({status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:21\n \n \n\n\n \n \n This endpoint is used to show users the possible login systems that exist.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filterParams\n \n SystemFilterParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSystem\n \n \n \n \n \n \n \n getSystem(params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('public/:systemId')@ApiOperation({summary: 'Finds a publicly available system.'})@ApiResponse({status: 200, type: PublicSystemResponse, description: 'Returns a system.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:36\n \n \n\n\n \n \n This endpoint is used to get information about a possible login systems.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, HttpCode, HttpStatus, Param, Query } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOperation, ApiResponse, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { SystemDto } from '../service';\nimport { SystemUc } from '../uc/system.uc';\nimport { PublicSystemListResponse, PublicSystemResponse, SystemFilterParams, SystemIdParams } from './dto';\nimport { SystemResponseMapper } from './mapper/system-response.mapper';\n\n@ApiTags('Systems')\n@Controller('systems')\nexport class SystemController {\n\tconstructor(private readonly systemUc: SystemUc) {}\n\n\t/**\n\t * This endpoint is used to show users the possible login systems that exist.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public')\n\t@ApiOperation({ summary: 'Finds all publicly available systems.' })\n\t@ApiResponse({ status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.' })\n\tasync find(@Query() filterParams: SystemFilterParams): Promise {\n\t\tconst systemDtos: SystemDto[] = await this.systemUc.findByFilter(filterParams.type, filterParams.onlyOauth);\n\n\t\tconst mapped: PublicSystemListResponse = SystemResponseMapper.mapFromDtoToListResponse(systemDtos);\n\n\t\treturn mapped;\n\t}\n\n\t/**\n\t * This endpoint is used to get information about a possible login systems.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public/:systemId')\n\t@ApiOperation({ summary: 'Finds a publicly available system.' })\n\t@ApiResponse({ status: 200, type: PublicSystemResponse, description: 'Returns a system.' })\n\tasync getSystem(@Param() params: SystemIdParams): Promise {\n\t\tconst systemDto: SystemDto = await this.systemUc.findById(params.systemId);\n\n\t\tconst mapped: PublicSystemResponse = SystemResponseMapper.mapFromDtoToResponse(systemDto);\n\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete(':systemId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a system.' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSystem(@CurrentUser() currentUser: ICurrentUser, @Param() params: SystemIdParams): Promise {\n\t\tawait this.systemUc.delete(currentUser.userId, params.systemId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDomainMapper.html":{"url":"classes/SystemDomainMapper.html","title":"class - SystemDomainMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDomainMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system-domain.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n \n \n \n mapEntityToDomainObjectProperties(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ldapConfig\n \n LdapConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LdapConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LdapConfigEntity, OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\nimport { LdapConfig, OauthConfig, SystemProps } from '../domain';\n\nexport class SystemDomainMapper {\n\tpublic static mapEntityToDomainObjectProperties(entity: SystemEntity): SystemProps {\n\t\tconst mapped: SystemProps = {\n\t\t\tid: entity.id,\n\t\t\turl: entity.url,\n\t\t\ttype: entity.type,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tdisplayName: entity.displayName,\n\t\t\talias: entity.alias,\n\t\t\toauthConfig: entity.oauthConfig ? this.mapOauthConfigEntityToDomainObject(entity.oauthConfig) : undefined,\n\t\t\tldapConfig: entity.ldapConfig ? this.mapLdapConfigEntityToDomainObject(entity.ldapConfig) : undefined,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity): OauthConfig {\n\t\tconst mapped: OauthConfig = new OauthConfig({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity): LdapConfig {\n\t\tconst mapped: LdapConfig = new LdapConfig({\n\t\t\tactive: !!ldapConfig.active,\n\t\t\turl: ldapConfig.url,\n\t\t\tprovider: ldapConfig.provider,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDto.html":{"url":"classes/SystemDto.html","title":"class - SystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n alias\n \n \n Optional\n displayName\n \n \n Optional\n id\n \n \n Optional\n ldapActive\n \n \n Optional\n oauthConfig\n \n \n Optional\n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n type\n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: SystemDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n SystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapActive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigDto\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class SystemDto {\n\tid?: EntityId;\n\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfigDto;\n\n\tldapActive?: boolean;\n\n\tconstructor(system: SystemDto) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.url = system.url;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.provisioningStrategy = system.provisioningStrategy;\n\t\tthis.provisioningUrl = system.provisioningUrl;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t\tthis.ldapActive = system.ldapActive;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SystemEntity.html":{"url":"entities/SystemEntity.html","title":"entity - SystemEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SystemEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n Optional\n ldapConfig\n \n \n \n Optional\n oauthConfig\n \n \n \n Optional\n oidcConfig\n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n Optional\n provisioningUrl\n \n \n \n schoolSystemOptions\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:200\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:203\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapConfig\n \n \n \n \n \n \n Type : LdapConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded({entity: () => LdapConfigEntity, object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:216\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:206\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oidcConfig\n \n \n \n \n \n \n Type : OidcConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:213\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:210\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:219\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolSystemOptions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany(undefined, options => options.system, {cascade: undefined})\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 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:194\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:197\n \n \n\n\n \n \n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemEntityFactory.html":{"url":"classes/SystemEntityFactory.html","title":"class - SystemEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/systemEntityFactory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig(otherParams?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n otherParams\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tLdapConfigEntity,\n\tOauthConfigEntity,\n\tOidcConfigEntity,\n\tSystemEntity,\n\tSystemEntityProps,\n} from '@shared/domain/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class SystemEntityFactory extends BaseFactory {\n\twithOauthConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\toauthConfig: new OauthConfigEntity({\n\t\t\t\tclientId: '12345',\n\t\t\t\tclientSecret: 'mocksecret',\n\t\t\t\tidpHint: 'mock-oauth-idpHint',\n\t\t\t\ttokenEndpoint: 'https://mock.de/mock/auth/public/mockToken',\n\t\t\t\tgrantType: 'authorization_code',\n\t\t\t\tredirectUri: 'https://mockhost:3030/api/v3/sso/oauth/',\n\t\t\t\tscope: 'openid uuid',\n\t\t\t\tresponseType: 'code',\n\t\t\t\tauthEndpoint: 'https://mock.de/auth',\n\t\t\t\tprovider: 'mock_type',\n\t\t\t\tlogoutEndpoint: 'https://mock.de/logout',\n\t\t\t\tissuer: 'mock_issuer',\n\t\t\t\tjwksEndpoint: 'https://mock.de/jwks',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLdapConfig(otherParams?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tldapConfig: new LdapConfigEntity({\n\t\t\t\turl: 'ldaps:mock.de:389',\n\t\t\t\tactive: true,\n\t\t\t\t...otherParams,\n\t\t\t}),\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n\n\twithOidcConfig(): this {\n\t\tconst params = {\n\t\t\toidcConfig: new OidcConfigEntity({\n\t\t\t\tclientId: 'mock-client-id',\n\t\t\t\tclientSecret: 'mock-client-secret',\n\t\t\t\tidpHint: 'mock-oidc-idpHint',\n\t\t\t\tdefaultScopes: 'openid email userinfo',\n\t\t\t\tauthorizationUrl: 'https://mock.tld/auth',\n\t\t\t\ttokenUrl: 'https://mock.tld/token',\n\t\t\t\tuserinfoUrl: 'https://mock.tld/userinfo',\n\t\t\t\tlogoutUrl: 'https://mock.tld/logout',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const systemEntityFactory = SystemEntityFactory.define(SystemEntity, ({ sequence }) => {\n\treturn {\n\t\ttype: 'oauth',\n\t\turl: 'https://mock.de',\n\t\talias: `system #${sequence}`,\n\t\tdisplayName: `system #${sequence}DisplayName`,\n\t\tprovisioningStrategy: SystemProvisioningStrategy.OIDC,\n\t\tprovisioningUrl: 'https://provisioningurl.de',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemEntityProps.html":{"url":"interfaces/SystemEntityProps.html","title":"interface - SystemEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n oidcConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfigEntity\n\n \n \n\n\n \n \n Type : LdapConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfigEntity\n\n \n \n\n\n \n \n Type : OauthConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidcConfig\n \n \n \n \n \n \n \n \n oidcConfig: OidcConfigEntity\n\n \n \n\n\n \n \n Type : OidcConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemFilterParams.html":{"url":"classes/SystemFilterParams.html","title":"class - SystemFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system.filter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Flag to request only systems with oauth-config.'})@IsOptional()@IsBoolean()@StringToBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SystemTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The type of the system.'})@IsOptional()@IsEnum(SystemTypeEnum)\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsOptional } from 'class-validator';\n\nexport class SystemFilterParams {\n\t@ApiPropertyOptional({ description: 'The type of the system.' })\n\t@IsOptional()\n\t@IsEnum(SystemTypeEnum)\n\ttype?: SystemTypeEnum;\n\n\t@ApiPropertyOptional({ description: 'Flag to request only systems with oauth-config.' })\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\tonlyOauth?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemIdParams.html":{"url":"classes/SystemIdParams.html","title":"class - SystemIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SystemIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemMapper.html":{"url":"classes/SystemMapper.html","title":"class - SystemMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigDto | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): SystemDto {\n\t\treturn new SystemDto({\n\t\t\tid: entity.id,\n\t\t\ttype: entity.type,\n\t\t\turl: entity.url,\n\t\t\talias: entity.alias,\n\t\t\tdisplayName: entity.displayName ?? entity.alias,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\toauthConfig: SystemMapper.mapFromOauthConfigEntityToDto(entity.oauthConfig),\n\t\t\tldapActive: entity.ldapConfig?.active,\n\t\t});\n\t}\n\n\tstatic mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined): OauthConfigDto | undefined {\n\t\tif (!oauthConfig) return undefined;\n\t\treturn new OauthConfigDto({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): SystemDto[] {\n\t\treturn entities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SystemModule.html":{"url":"modules/SystemModule.html","title":"module - SystemModule","body":"\n \n\n\n\n\n Modules\n SystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SystemModule\n\n\n\ncluster_SystemModule_exports\n\n\n\ncluster_SystemModule_imports\n\n\n\ncluster_SystemModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nSystemModule\n\nSystemModule\n\nSystemModule -->\n\nIdentityManagementModule->SystemModule\n\n\n\n\n\nLegacySystemService \n\nLegacySystemService \n\nLegacySystemService -->\n\nSystemModule->LegacySystemService \n\n\n\n\n\nSystemOidcService \n\nSystemOidcService \n\nSystemOidcService -->\n\nSystemModule->SystemOidcService \n\n\n\n\n\nSystemService \n\nSystemService \n\nSystemService -->\n\nSystemModule->SystemService \n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nSystemModule -->\n\nLegacySystemRepo->SystemModule\n\n\n\n\n\nLegacySystemService\n\nLegacySystemService\n\nSystemModule -->\n\nLegacySystemService->SystemModule\n\n\n\n\n\nSystemOidcService\n\nSystemOidcService\n\nSystemModule -->\n\nSystemOidcService->SystemModule\n\n\n\n\n\nSystemRepo\n\nSystemRepo\n\nSystemModule -->\n\nSystemRepo->SystemModule\n\n\n\n\n\nSystemService\n\nSystemService\n\nSystemModule -->\n\nSystemService->SystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacySystemRepo\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemRepo\n \n \n SystemService\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n \n \n Exports\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management/identity-management.module';\nimport { Module } from '@nestjs/common';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemRepo } from './repo';\nimport { LegacySystemService, SystemService } from './service';\nimport { SystemOidcService } from './service/system-oidc.service';\n\n@Module({\n\timports: [IdentityManagementModule],\n\tproviders: [LegacySystemRepo, LegacySystemService, SystemOidcService, SystemService, SystemRepo],\n\texports: [LegacySystemService, SystemOidcService, SystemService],\n})\nexport class SystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemOidcMapper.html":{"url":"classes/SystemOidcMapper.html","title":"class - SystemOidcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemOidcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system-oidc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n oidcConfig\n \n OidcConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OidcConfigDto } from '@modules/system/service/dto/oidc-config.dto';\nimport { OidcConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemOidcMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): OidcConfigDto | undefined {\n\t\tif (entity.oidcConfig) {\n\t\t\treturn SystemOidcMapper.mapFromOidcConfigEntityToDto(entity.id, entity.oidcConfig);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity): OidcConfigDto {\n\t\treturn new OidcConfigDto({\n\t\t\tparentSystemId: systemId,\n\t\t\tclientId: oidcConfig.clientId,\n\t\t\tclientSecret: oidcConfig?.clientSecret,\n\t\t\tidpHint: oidcConfig.idpHint,\n\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\tuserinfoUrl: oidcConfig.userinfoUrl,\n\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\tdefaultScopes: oidcConfig.defaultScopes,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): OidcConfigDto[] {\n\t\treturn entities\n\t\t\t.map((entity) => this.mapFromEntityToDto(entity))\n\t\t\t.filter((entity): entity is OidcConfigDto => entity !== undefined);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemOidcService.html":{"url":"injectables/SystemOidcService.html","title":"injectable - SystemOidcService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemOidcService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system-oidc.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:22\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemOidcMapper } from '../mapper';\nimport { OidcConfigDto } from './dto';\n\n@Injectable()\nexport class SystemOidcService {\n\tconstructor(private readonly systemRepo: LegacySystemRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system = await this.systemRepo.findById(id);\n\t\tconst mappedEntity = SystemOidcMapper.mapFromEntityToDto(system);\n\t\tif (!mappedEntity) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn mappedEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst system = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\treturn SystemOidcMapper.mapFromEntitiesToDtos(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemProps.html":{"url":"interfaces/SystemProps.html","title":"interface - SystemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfig\n\n \n \n\n\n \n \n Type : LdapConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfig\n\n \n \n\n\n \n \n Type : OauthConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n\n\tget provisioningStrategy(): SystemProvisioningStrategy | undefined {\n\t\treturn this.props.provisioningStrategy;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRepo.html":{"url":"injectables/SystemRepo.html","title":"injectable - SystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { System, SystemProps } from '../domain';\nimport { SystemDomainMapper } from './system-domain.mapper';\n\n@Injectable()\nexport class SystemRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: SystemProps = SystemDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: System = new System(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id: domainObject.id });\n\n\t\tif (!entity) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemResponseMapper.html":{"url":"classes/SystemResponseMapper.html","title":"class - SystemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/mapper/system-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n Static\n mapFromDtoToResponse\n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n \n \n \n \n \n mapFromDtoToListResponse(systems: SystemDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromDtoToResponse\n \n \n \n \n \n \n \n mapFromDtoToResponse(system: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n \n \n \n mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n OauthConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { PublicSystemListResponse } from '../dto/public-system-list.response';\nimport { PublicSystemResponse } from '../dto/public-system-response';\n\nexport class SystemResponseMapper {\n\tstatic mapFromDtoToListResponse(systems: SystemDto[]): PublicSystemListResponse {\n\t\tconst systemResponses: PublicSystemResponse[] = systems.map(\n\t\t\t(system: SystemDto): PublicSystemResponse => this.mapFromDtoToResponse(system)\n\t\t);\n\n\t\tconst systemListResponse: PublicSystemListResponse = new PublicSystemListResponse(systemResponses);\n\n\t\treturn systemListResponse;\n\t}\n\n\tstatic mapFromDtoToResponse(system: SystemDto): PublicSystemResponse {\n\t\tconst systemResponse: PublicSystemResponse = new PublicSystemResponse({\n\t\t\tid: system.id || '',\n\t\t\ttype: system.type,\n\t\t\talias: system.alias,\n\t\t\tdisplayName: system.displayName,\n\t\t\toauthConfig: system.oauthConfig\n\t\t\t\t? SystemResponseMapper.mapFromOauthConfigDtoToResponse(system.oauthConfig)\n\t\t\t\t: undefined,\n\t\t});\n\n\t\treturn systemResponse;\n\t}\n\n\tstatic mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto): OauthConfigResponse {\n\t\tconst oauthConfigResponse: OauthConfigResponse = new OauthConfigResponse({\n\t\t\tclientId: oauthConfigDto.clientId,\n\t\t\t// clientSecret will not be mapped for security reasons,\n\t\t\tidpHint: oauthConfigDto.idpHint,\n\t\t\tredirectUri: oauthConfigDto.redirectUri,\n\t\t\tgrantType: oauthConfigDto.grantType,\n\t\t\ttokenEndpoint: oauthConfigDto.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfigDto.authEndpoint,\n\t\t\tresponseType: oauthConfigDto.responseType,\n\t\t\tscope: oauthConfigDto.scope,\n\t\t\tprovider: oauthConfigDto.provider,\n\t\t\tlogoutEndpoint: oauthConfigDto.logoutEndpoint,\n\t\t\tissuer: oauthConfigDto.issuer,\n\t\t\tjwksEndpoint: oauthConfigDto.jwksEndpoint,\n\t\t});\n\n\t\treturn oauthConfigResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRule.html":{"url":"injectables/SystemRule.html","title":"injectable - SystemRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/system.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n canEdit\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n canEdit\n \n \n \n \n \n \n \n canEdit(system)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n system\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: System, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { System } from '@modules/system';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { Action, AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class SystemRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: System): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof System;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: System, context: AuthorizationContext): boolean {\n\t\tconst hasPermissions: boolean = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\n\t\tconst hasAccess: boolean = user.school.systems.getIdentifiers().includes(domainObject.id);\n\n\t\tlet isAuthorized: boolean = hasPermissions && hasAccess;\n\n\t\tif (context.action === Action.write) {\n\t\t\tisAuthorized = isAuthorized && this.canEdit(domainObject);\n\t\t}\n\n\t\treturn isAuthorized;\n\t}\n\n\tpublic canEdit(system: unknown): boolean {\n\t\tconst canEdit: boolean =\n\t\t\ttypeof system === 'object' &&\n\t\t\t!!system &&\n\t\t\t'ldapConfig' in system &&\n\t\t\ttypeof system.ldapConfig === 'object' &&\n\t\t\t!!system.ldapConfig &&\n\t\t\t'provider' in system.ldapConfig &&\n\t\t\tsystem.ldapConfig.provider === 'general';\n\n\t\treturn canEdit;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemScope.html":{"url":"classes/SystemScope.html","title":"class - SystemScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/system-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:10\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:15\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemEntity } from '@shared/domain/entity';\nimport { Scope } from '../scope';\n\nexport class SystemScope extends Scope {\n\twithLdapConfig(): SystemScope {\n\t\tthis.addQuery({ ldapConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOauthConfig(): SystemScope {\n\t\tthis.addQuery({ oauthConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOidcConfig(): SystemScope {\n\t\tthis.addQuery({ oidcConfig: { $ne: null } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemService.html":{"url":"injectables/SystemService.html","title":"injectable - SystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: SystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n SystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { SystemRepo } from '../repo';\n\n@Injectable()\nexport class SystemService {\n\tconstructor(private readonly systemRepo: SystemRepo) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst system: System | null = await this.systemRepo.findById(id);\n\n\t\treturn system;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst deleted: boolean = await this.systemRepo.delete(domainObject);\n\n\t\treturn deleted;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemUc.html":{"url":"injectables/SystemUc.html","title":"injectable - SystemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/uc/system.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByFilter\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(legacySystemService: LegacySystemService, systemService: SystemService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n legacySystemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n systemService\n \n \n SystemService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type?: SystemType, onlyOauth)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n type\n \n SystemType\n \n\n \n Yes\n \n\n \n \n\n \n \n onlyOauth\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId, SystemType, SystemTypeEnum } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { LegacySystemService, SystemDto, SystemService } from '../service';\n\n@Injectable()\nexport class SystemUc {\n\tconstructor(\n\t\tprivate readonly legacySystemService: LegacySystemService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findByFilter(type?: SystemType, onlyOauth = false): Promise {\n\t\tlet systems: SystemDto[];\n\n\t\tif (onlyOauth) {\n\t\t\tsystems = await this.legacySystemService.findByType(SystemTypeEnum.OAUTH);\n\t\t} else {\n\t\t\tsystems = await this.legacySystemService.findByType(type);\n\t\t}\n\n\t\tsystems = systems.filter((system: SystemDto) => system.ldapActive !== false);\n\n\t\treturn systems;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system: SystemDto = await this.legacySystemService.findById(id);\n\n\t\tif (system.ldapActive === false) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\n\t\treturn system;\n\t}\n\n\tasync delete(userId: EntityId, systemId: EntityId): Promise {\n\t\tconst system: System | null = await this.systemService.findById(systemId);\n\n\t\tif (!system) {\n\t\t\tthrow new NotFoundLoggableException(System.name, { id: systemId });\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsystem,\n\t\t\tAuthorizationContextBuilder.write([Permission.SYSTEM_CREATE])\n\t\t);\n\n\t\tawait this.systemService.delete(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TargetGroupProperties.html":{"url":"interfaces/TargetGroupProperties.html","title":"interface - TargetGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TargetGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n schoolType\n \n \n \n Optional\n \n state\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolType\n \n \n \n \n \n \n \n \n schoolType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n \n \n state: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoMapper.html":{"url":"classes/TargetInfoMapper.html","title":"class - TargetInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/target-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(target: NewsTarget)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/target-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n NewsTarget\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TargetInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NewsTarget } from '@shared/domain/types';\nimport { TargetInfoResponse } from '../controller/dto/target-info.response';\n\nexport class TargetInfoMapper {\n\tstatic mapToResponse(target: NewsTarget): TargetInfoResponse {\n\t\tconst dto = new TargetInfoResponse({ id: target.id, name: target.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoResponse.html":{"url":"classes/TargetInfoResponse.html","title":"class - TargetInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/target-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TargetInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TargetInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TargetInfoResponse {\n\tconstructor({ id, name }: TargetInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the Target entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the Target entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Task.html":{"url":"entities/Task.html","title":"entity - Task","body":"\n \n\n\n\n\n\n\n\n Entities\n Task\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n course\n \n \n \n \n creator\n \n \n \n description\n \n \n \n descriptionInputFormat\n \n \n \n \n Optional\n dueDate\n \n \n \n \n finished\n \n \n \n \n Optional\n lesson\n \n \n \n name\n \n \n \n private\n \n \n \n Optional\n publicSubmissions\n \n \n \n \n school\n \n \n \n submissions\n \n \n \n Optional\n teamSubmissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'teacherId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'archived'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lesson\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('LessonEntity', {fieldName: 'lessonId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n publicSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Submission', 'task')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n teamSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:67\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskApiModule.html":{"url":"modules/TaskApiModule.html","title":"module - TaskApiModule","body":"\n \n\n\n\n\n Modules\n TaskApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskApiModule\n\n\n\ncluster_TaskApiModule_providers\n\n\n\ncluster_TaskApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nTaskApiModule -->\n\nAuthorizationModule->TaskApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nTaskApiModule -->\n\nCopyHelperModule->TaskApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nTaskApiModule -->\n\nLessonModule->TaskApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nTaskApiModule -->\n\nTaskModule->TaskApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskApiModule -->\n\nCourseRepo->TaskApiModule\n\n\n\n\n\nSubmissionUc\n\nSubmissionUc\n\nTaskApiModule -->\n\nSubmissionUc->TaskApiModule\n\n\n\n\n\nTaskCopyUC\n\nTaskCopyUC\n\nTaskApiModule -->\n\nTaskCopyUC->TaskApiModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskApiModule -->\n\nTaskRepo->TaskApiModule\n\n\n\n\n\nTaskUC\n\nTaskUC\n\nTaskApiModule -->\n\nTaskUC->TaskApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionUc\n \n \n TaskCopyUC\n \n \n TaskRepo\n \n \n TaskUC\n \n \n \n \n Controllers\n \n \n TaskController\n \n \n SubmissionController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { CopyHelperModule } from '@modules/copy-helper/copy-helper.module';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { LessonModule } from '@modules/lesson';\nimport { SubmissionController, TaskController } from './controller';\nimport { TaskModule } from './task.module';\nimport { SubmissionUc, TaskCopyUC, TaskUC } from './uc';\n\n@Module({\n\timports: [AuthorizationModule, CopyHelperModule, TaskModule, LessonModule],\n\tcontrollers: [TaskController, SubmissionController],\n\tproviders: [TaskUC, TaskRepo, CourseRepo, TaskCopyUC, SubmissionUc],\n})\nexport class TaskApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TaskBoardElement.html":{"url":"entities/TaskBoardElement.html","title":"entity - TaskBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n TaskBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Task })\nexport class TaskBoardElement extends BoardElement {\n\tconstructor(props: { target: Task }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Task;\n\t}\n\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Task', { nullable: true })\n\ttarget!: Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TaskController.html":{"url":"controllers/TaskController.html","title":"controller - TaskController","body":"\n \n\n\n\n\n\n\n Controllers\n TaskController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/task.controller.ts\n \n\n \n Prefix\n \n \n tasks\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllTasks\n \n \n \n Async\n finish\n \n \n \n Async\n restore\n \n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(currentUser: ICurrentUser, urlParams: TaskUrlParams, params: TaskCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post(':taskId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('finished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllTasks\n \n \n \n \n \n \n \n findAllTasks(currentUser: ICurrentUser, pagination: PaginationParams, finished)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n \n \n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n \n \n\n \n \n finished\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n finish\n \n \n \n \n \n \n \n finish(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/finish')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restore\n \n \n \n \n \n \n \n restore(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/restore')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/revertPublished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { PaginationParams } from '@shared/controller/';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { TaskMapper } from '../mapper';\nimport { TaskCopyUC } from '../uc/task-copy.uc';\nimport { TaskUC } from '../uc/task.uc';\nimport { TaskListResponse, TaskResponse, TaskUrlParams } from './dto';\nimport { TaskCopyApiParams } from './dto/task-copy.params';\n\n@ApiTags('Task')\n@Authenticate('jwt')\n@Controller('tasks')\nexport class TaskController {\n\tconstructor(private readonly taskUc: TaskUC, private readonly taskCopyUc: TaskCopyUC) {}\n\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination);\n\t}\n\n\t@Get('finished')\n\tasync findAllFinished(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination, true);\n\t}\n\n\tprivate async findAllTasks(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams,\n\t\tfinished = false\n\t): Promise {\n\t\tconst [tasksWithStatus, total] = finished\n\t\t\t? await this.taskUc.findAllFinished(currentUser.userId, pagination)\n\t\t\t: await this.taskUc.findAll(currentUser.userId, pagination);\n\n\t\tconst taskResponses = tasksWithStatus.map((task) => TaskMapper.mapToResponse(task));\n\n\t\tconst { skip, limit } = pagination;\n\t\tconst result = new TaskListResponse(taskResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Patch(':taskId/finish')\n\tasync finish(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, true);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/restore')\n\tasync restore(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, false);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/revertPublished')\n\tasync revertPublished(\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst task = await this.taskUc.revertPublished(currentUser.userId, urlParams.taskId);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Post(':taskId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@Body() params: TaskCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.taskCopyUc.copyTask(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.taskId,\n\t\t\tCopyMapper.mapTaskCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Delete(':taskId')\n\tasync delete(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.taskUc.delete(currentUser.userId, urlParams.taskId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCopyApiParams.html":{"url":"classes/TaskCopyApiParams.html","title":"class - TaskCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination lesson parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class TaskCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the task is copied to',\n\t})\n\tcourseId?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination lesson parent Id the task is copied to',\n\t})\n\tlessonId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyService.html":{"url":"injectables/TaskCopyService.html","title":"injectable - TaskCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyTask\n \n \n Private\n Async\n copyTaskEntity\n \n \n Private\n deriveCopyStatus\n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, copyHelperService: CopyHelperService, copyFilesService: CopyFilesService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n copyFilesService\n \n \n CopyFilesService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(params: TaskCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTaskEntity\n \n \n \n \n \n \n \n copyTaskEntity(params: TaskCopyParams, originalTask: Task, user: User, destinationCourse: Course | undefined, destinationLesson: LessonEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course | undefined\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n taskCopy\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n \n \n \n updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n fileUrlReplacements\n \n FileUrlReplacement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { CopyFilesService } from '@modules/files-storage-client';\nimport { FileUrlReplacement } from '@modules/files-storage-client/service/copy-files.service';\nimport { Injectable } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\n\ntype TaskCopyParams = {\n\toriginalTaskId: EntityId;\n\tdestinationCourse?: Course;\n\tdestinationLesson?: LessonEntity;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class TaskCopyService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly copyFilesService: CopyFilesService\n\t) {}\n\n\tasync copyTask(params: TaskCopyParams): Promise {\n\t\tconst { user, destinationLesson, destinationCourse } = params;\n\t\tconst originalTask = await this.taskRepo.findById(params.originalTaskId);\n\n\t\tconst taskCopy = await this.copyTaskEntity(params, originalTask, user, destinationCourse, destinationLesson);\n\n\t\tconst { fileUrlReplacements, fileCopyStatus } = await this.copyFilesService.copyFilesOfEntity(\n\t\t\toriginalTask,\n\t\t\ttaskCopy,\n\t\t\tuser.id\n\t\t);\n\n\t\tawait this.updateFileUrls(taskCopy, fileUrlReplacements);\n\n\t\treturn this.deriveCopyStatus(fileCopyStatus, originalTask, taskCopy);\n\t}\n\n\tprivate async copyTaskEntity(\n\t\tparams: TaskCopyParams,\n\t\toriginalTask: Task,\n\t\tuser: User,\n\t\tdestinationCourse: Course | undefined,\n\t\tdestinationLesson: LessonEntity | undefined\n\t) {\n\t\tconst taskCopy = new Task({\n\t\t\tname: params.copyName || originalTask.name,\n\t\t\tdescription: originalTask.description,\n\t\t\tdescriptionInputFormat: originalTask.descriptionInputFormat,\n\t\t\tschool: user.school,\n\t\t\tcreator: user,\n\t\t\tcourse: destinationCourse,\n\t\t\tlesson: destinationLesson,\n\t\t\tteamSubmissions: originalTask.teamSubmissions,\n\t\t});\n\t\tawait this.taskRepo.createTask(taskCopy);\n\t\treturn taskCopy;\n\t}\n\n\tprivate async updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[]) {\n\t\tfileUrlReplacements.forEach(({ regex, replacement }) => {\n\t\t\ttask.description = task.description.replace(regex, replacement);\n\t\t});\n\t\tawait this.taskRepo.save(task);\n\t}\n\n\tprivate deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task) {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.CONTENT,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.SUBMISSION_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tfileCopyStatus,\n\t\t];\n\n\t\tconst status: CopyStatus = {\n\t\t\ttitle: taskCopy.name,\n\t\t\ttype: CopyElementType.TASK,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: taskCopy,\n\t\t\toriginalEntity: originalTask,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyUC.html":{"url":"injectables/TaskCopyUC.html","title":"injectable - TaskCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n Private\n checkDestinationLessonAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalTaskAuthorization\n \n \n Async\n copyTask\n \n \n Private\n Async\n getCopyName\n \n \n Private\n Async\n getDestinationCourse\n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, lessonService: LessonService, authorisation: AuthorizationService, taskCopyService: TaskCopyService, taskRepo: TaskRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n \n \n \n \n \n checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkDestinationLessonAuthorization\n \n \n \n \n \n \n \n checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:114\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalTaskAuthorization\n \n \n \n \n \n \n \n checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n TaskCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCopyName\n \n \n \n \n \n \n \n getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalTaskName\n \n string\n \n\n \n No\n \n\n\n \n \n parentCourseId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationCourse\n \n \n \n \n \n \n \n getDestinationCourse(courseId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n \n \n \n getDestinationLesson(lessonId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskCopyService } from '../service';\nimport { TaskCopyParentParams } from '../types';\n\n@Injectable()\nexport class TaskCopyUC {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\t// i put it to promise all, it do not look like any more information can be expose over errors if it is called between the authorizations\n\t\t// TODO: Add try catch around it with throw BadRequest invalid data\n\t\tconst [authorizableUser, originalTask, destinationCourse]: [User, Task, Course | undefined] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.taskRepo.findById(taskId),\n\t\t\tthis.getDestinationCourse(parentParams.courseId),\n\t\t]);\n\n\t\tthis.checkOriginalTaskAuthorization(authorizableUser, originalTask);\n\n\t\tif (destinationCourse) {\n\t\t\tthis.checkDestinationCourseAuthorisation(authorizableUser, destinationCourse);\n\t\t}\n\n\t\t// i think getDestinationLesson can also to a promise.all on top\n\t\t// then getCopyName can be put into if (destinationCourse) {\n\t\t// but then the test need to cleanup\n\t\tconst [destinationLesson, copyName]: [LessonEntity | undefined, string | undefined] = await Promise.all([\n\t\t\tthis.getDestinationLesson(parentParams.lessonId),\n\t\t\tthis.getCopyName(originalTask.name, parentParams.courseId),\n\t\t]);\n\n\t\tif (destinationLesson) {\n\t\t\tthis.checkDestinationLessonAuthorization(authorizableUser, destinationLesson);\n\t\t}\n\n\t\tconst status = await this.taskCopyService.copyTask({\n\t\t\toriginalTaskId: originalTask.id,\n\t\t\tdestinationCourse,\n\t\t\tdestinationLesson,\n\t\t\tuser: authorizableUser,\n\t\t\tcopyName,\n\t\t});\n\n\t\treturn status;\n\t}\n\n\tprivate checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task): void {\n\t\tconst context = AuthorizationContextBuilder.read([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, originalTask, context)) {\n\t\t\t// error message and erorr type are not correct\n\t\t\tthrow new NotFoundException('could not find task to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(authorizableUser, destinationCourse, context);\n\t}\n\n\tprivate checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, destinationLesson, context)) {\n\t\t\tthrow new ForbiddenException('you dont have permission to add to this lesson');\n\t\t}\n\t}\n\n\tprivate async getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined) {\n\t\tlet existingNames: string[] = [];\n\t\tif (parentCourseId) {\n\t\t\t// It should really get an task where the creatorId === '' ?\n\t\t\tconst [existingTasks] = await this.taskRepo.findBySingleParent('', parentCourseId);\n\t\t\texistingNames = existingTasks.map((t) => t.name);\n\t\t}\n\n\t\treturn this.copyHelperService.deriveCopyName(originalTaskName, existingNames);\n\t}\n\n\tprivate async getDestinationCourse(courseId: string | undefined): Promise {\n\t\tif (courseId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationCourse = await this.courseRepo.findById(courseId);\n\n\t\treturn destinationCourse;\n\t}\n\n\tprivate async getDestinationLesson(lessonId: string | undefined): Promise {\n\t\tif (lessonId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationLesson = await this.lessonService.findById(lessonId);\n\n\t\treturn destinationLesson;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// This is the deprecated way to read envirement variables\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskCreate.html":{"url":"interfaces/TaskCreate.html","title":"interface - TaskCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCreateParams.html":{"url":"classes/TaskCreateParams.html","title":"class - TaskCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-create.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskCreate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskCreate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskCreateParams implements TaskCreate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskFactory.html":{"url":"classes/TaskFactory.html","title":"class - TaskFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/task.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n draft\n \n \n finished\n \n \n isPlanned\n \n \n isPublished\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n draft\n \n \n \n \n \n \ndraft()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \nfinished(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isPlanned\n \n \n \n \n \n \nisPlanned()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n isPublished\n \n \n \n \n \n \nisPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Task, User } from '@shared/domain/entity';\nimport { TaskProperties } from '@shared/domain/types';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass TaskFactory extends BaseFactory {\n\tdraft(): this {\n\t\tconst params: DeepPartial = { private: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPlanned(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() + 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPublished(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() - 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tfinished(user: User): this {\n\t\tconst params: DeepPartial = { finished: [user] };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const taskFactory = TaskFactory.define(Task, ({ sequence }) => {\n\tconst school = schoolFactory.build();\n\tconst creator = userFactory.build({ school });\n\t// private is by default in constructor true, but in the most test cases we need private: false\n\treturn {\n\t\tname: `task #${sequence}`,\n\t\tprivate: false,\n\t\tavailableDate: yesterday,\n\t\tcreator,\n\t\tschool,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskListResponse.html":{"url":"classes/TaskListResponse.html","title":"class - TaskListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:67\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n TaskResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : TaskResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:74\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskMapper.html":{"url":"classes/TaskMapper.html","title":"class - TaskMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n Static\n mapTaskUpdateToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n \n \n \n \n \n mapTaskCreateToDomain(params: TaskCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskUpdateToDomain\n \n \n \n \n \n \n \n mapTaskUpdateToDomain(params: TaskUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(taskWithStatus: TaskWithStatusVo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskWithStatus\n \n TaskWithStatusVo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskWithStatusVo } from '@shared/domain/entity';\nimport { InputFormat, RichText, TaskCreate, TaskUpdate } from '@shared/domain/types';\nimport { TaskCreateParams, TaskResponse, TaskUpdateParams } from '../controller/dto';\nimport { TaskStatusMapper } from './task-status.mapper';\n\nexport class TaskMapper {\n\tstatic mapToResponse(taskWithStatus: TaskWithStatusVo): TaskResponse {\n\t\tconst { task, status } = taskWithStatus;\n\t\tconst taskDesc = task.getParentData();\n\t\tconst statusDto = TaskStatusMapper.mapToResponse(status);\n\n\t\tconst dto = new TaskResponse({\n\t\t\tid: task.id,\n\t\t\tname: task.name,\n\t\t\tcourseName: taskDesc.courseName,\n\t\t\tcourseId: taskDesc.courseId,\n\t\t\tcreatedAt: task.createdAt,\n\t\t\tupdatedAt: task.updatedAt,\n\t\t\tlessonHidden: false,\n\t\t\tstatus: statusDto,\n\t\t});\n\t\tif (task.description) {\n\t\t\tdto.description = new RichText({\n\t\t\t\tcontent: task.description,\n\t\t\t\ttype: task.descriptionInputFormat || InputFormat.RICH_TEXT_CK4,\n\t\t\t});\n\t\t}\n\t\tdto.availableDate = task.availableDate;\n\t\tdto.dueDate = task.dueDate;\n\n\t\tdto.displayColor = taskDesc.color;\n\t\tif (taskDesc.lessonName) {\n\t\t\tdto.lessonName = taskDesc.lessonName;\n\t\t}\n\t\tdto.lessonHidden = taskDesc.lessonHidden;\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskUpdateToDomain(params: TaskUpdateParams): TaskUpdate {\n\t\tconst dto: TaskUpdate = {\n\t\t\tname: params.name,\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCreateToDomain(params: TaskCreateParams): TaskCreate {\n\t\tconst dto: TaskCreate = {\n\t\t\tname: params.name || 'Draft',\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskModule.html":{"url":"modules/TaskModule.html","title":"module - TaskModule","body":"\n \n\n\n\n\n Modules\n TaskModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskModule\n\n\n\ncluster_TaskModule_imports\n\n\n\ncluster_TaskModule_exports\n\n\n\ncluster_TaskModule_providers\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nTaskModule\n\nTaskModule\n\nTaskModule -->\n\nCopyHelperModule->TaskModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nTaskModule -->\n\nFilesStorageClientModule->TaskModule\n\n\n\n\n\nSubmissionService \n\nSubmissionService \n\nSubmissionService -->\n\nTaskModule->SubmissionService \n\n\n\n\n\nTaskCopyService \n\nTaskCopyService \n\nTaskCopyService -->\n\nTaskModule->TaskCopyService \n\n\n\n\n\nTaskService \n\nTaskService \n\nTaskService -->\n\nTaskModule->TaskService \n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskModule -->\n\nCourseRepo->TaskModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nTaskModule -->\n\nSubmissionRepo->TaskModule\n\n\n\n\n\nSubmissionService\n\nSubmissionService\n\nTaskModule -->\n\nSubmissionService->TaskModule\n\n\n\n\n\nTaskCopyService\n\nTaskCopyService\n\nTaskModule -->\n\nTaskCopyService->TaskModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskModule -->\n\nTaskRepo->TaskModule\n\n\n\n\n\nTaskService\n\nTaskService\n\nTaskModule -->\n\nTaskService->TaskModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionRepo\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskRepo\n \n \n TaskService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n \n \n Exports\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskService\n \n \n \n \n \n\n\n \n\n\n \n import { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, SubmissionRepo, TaskRepo } from '@shared/repo';\nimport { SubmissionService, TaskCopyService, TaskService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, CopyHelperModule],\n\tproviders: [TaskService, TaskCopyService, SubmissionService, TaskRepo, CourseRepo, SubmissionRepo],\n\texports: [TaskService, TaskCopyService, SubmissionService],\n})\nexport class TaskModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskParent.html":{"url":"interfaces/TaskParent.html","title":"interface - TaskParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:35\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskProperties.html":{"url":"interfaces/TaskProperties.html","title":"interface - TaskProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n course\n \n \n \n \n creator\n \n \n \n Optional\n \n finished\n \n \n \n Optional\n \n lesson\n \n \n \n Optional\n \n private\n \n \n \n Optional\n \n publicSubmissions\n \n \n \n \n school\n \n \n \n Optional\n \n submissions\n \n \n \n Optional\n \n teamSubmissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n \n \n finished: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lesson\n \n \n \n \n \n \n \n \n lesson: LessonEntity\n\n \n \n\n\n \n \n Type : LessonEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n \n \n private: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n publicSubmissions\n \n \n \n \n \n \n \n \n publicSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n \n \n submissions: Submission[]\n\n \n \n\n\n \n \n Type : Submission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teamSubmissions\n \n \n \n \n \n \n \n \n teamSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRepo.html":{"url":"injectables/TaskRepo.html","title":"injectable - TaskRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTask\n \n \n Async\n findAllByParentIds\n \n \n Async\n findAllFinishedByParentIds\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n Private\n Async\n findTasksAndCount\n \n \n Private\n Async\n populate\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTask\n \n \n \n \n \n \n \n createTask(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByParentIds\n \n \n \n \n \n \n \n findAllByParentIds(parentIds: literal type, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:106\n \n \n\n\n \n \n Find all tasks by their parents which can be any of\n\na teacher who owns the task\na list of courses\na list of lessons\n\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n parentIds for teacher, courses and lesson\n\n \n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n filters\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n pagination, sorting\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinishedByParentIds\n \n \n \n \n \n \n \n findAllFinishedByParentIds(parentIds: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:164\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findTasksAndCount\n \n \n \n \n \n \n \n findTasksAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:190\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populate\n \n \n \n \n \n \n \n populate(tasks: Task[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tasks\n \n Task[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { TaskScope } from './task-scope';\n\n@Injectable()\nexport class TaskRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Task;\n\t}\n\n\tprivate async populate(tasks: Task[]): Promise {\n\t\tawait this._em.populate(tasks, [\n\t\t\t'course',\n\t\t\t'lesson',\n\t\t\t'lesson.course',\n\t\t\t'lesson.courseGroup',\n\t\t\t'submissions',\n\t\t\t'submissions.courseGroup',\n\t\t]);\n\t}\n\n\tasync createTask(task: Task): Promise {\n\t\treturn this.save(this.create(task));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst task = await super.findById(id);\n\n\t\tawait this.populate([task]);\n\n\t\treturn task;\n\t}\n\n\tasync findAllFinishedByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId: EntityId;\n\t\t\topenCourseIds: EntityId[];\n\t\t\tlessonIdsOfOpenCourses: EntityId[];\n\t\t\tfinishedCourseIds: EntityId[];\n\t\t\tlessonIdsOfFinishedCourses: EntityId[];\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope('$or');\n\n\t\tconst parentsOpen = new TaskScope('$or');\n\t\tparentsOpen.byCourseIds(parentIds.openCourseIds);\n\t\tparentsOpen.byLessonIds(parentIds.lessonIdsOfOpenCourses);\n\n\t\tconst parentsFinished = new TaskScope('$or');\n\t\tparentsFinished.byCourseIds(parentIds.finishedCourseIds);\n\t\tparentsFinished.byLessonIds(parentIds.lessonIdsOfFinishedCourses);\n\n\t\tconst closedForOpenCoursesAndLessons = new TaskScope();\n\t\tclosedForOpenCoursesAndLessons.addQuery(parentsOpen.query);\n\t\tclosedForOpenCoursesAndLessons.byDraft(false);\n\t\tclosedForOpenCoursesAndLessons.byFinished(parentIds.creatorId, true);\n\n\t\tconst allForFinishedCoursesAndLessons = new TaskScope();\n\t\tallForFinishedCoursesAndLessons.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessons.byDraft(false);\n\n\t\t// must find also closed without course or lesson as parent\n\t\tconst closedWithoutParentForCreator = new TaskScope();\n\t\tclosedWithoutParentForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedWithoutParentForCreator.byOnlyCreatorId(parentIds.creatorId);\n\n\t\tconst closedDraftsForCreator = new TaskScope();\n\t\tclosedDraftsForCreator.addQuery(parentsOpen.query);\n\t\tclosedDraftsForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedDraftsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForFinishedCoursesAndLessonsForCreator = new TaskScope();\n\t\tallForFinishedCoursesAndLessonsForCreator.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessonsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForCreator = new TaskScope('$or');\n\t\tallForCreator.addQuery(closedWithoutParentForCreator.query);\n\t\tallForCreator.addQuery(closedDraftsForCreator.query);\n\t\tallForCreator.addQuery(allForFinishedCoursesAndLessonsForCreator.query);\n\n\t\tscope.addQuery(closedForOpenCoursesAndLessons.query);\n\t\tscope.addQuery(allForFinishedCoursesAndLessons.query);\n\t\tscope.addQuery(allForCreator.query);\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\t/**\n\t * Find all tasks by their parents which can be any of\n\t * - a teacher who owns the task\n\t * - a list of courses\n\t * - a list of lessons\n\t *\n\t * @param parentIds parentIds for teacher, courses and lesson\n\t * @param filters filters\n\t * @param options pagination, sorting\n\t * @returns\n\t */\n\tasync findAllByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId?: EntityId;\n\t\t\tcourseIds?: EntityId[];\n\t\t\tlessonIds?: EntityId[];\n\t\t},\n\t\tfilters?: {\n\t\t\tafterDueDateOrNone?: Date;\n\t\t\tfinished?: { userId: EntityId; value: boolean };\n\t\t\tavailableOn?: Date;\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\n\t\tconst parentIdScope = new TaskScope('$or');\n\n\t\tif (parentIds.creatorId) {\n\t\t\tparentIdScope.byOnlyCreatorId(parentIds.creatorId);\n\t\t}\n\n\t\tif (parentIds.courseIds) {\n\t\t\tparentIdScope.byCourseIds(parentIds.courseIds);\n\t\t}\n\n\t\tif (parentIds.lessonIds) {\n\t\t\tparentIdScope.byLessonIds(parentIds.lessonIds);\n\t\t}\n\n\t\tscope.addQuery(parentIdScope.query);\n\n\t\tif (filters?.finished) {\n\t\t\tscope.byFinished(filters.finished.userId, filters.finished.value);\n\t\t}\n\n\t\tif (parentIds.creatorId) {\n\t\t\tscope.excludeDraftsOfOthers(parentIds.creatorId);\n\t\t} else {\n\t\t\tscope.byDraft(false);\n\t\t}\n\n\t\tif (filters?.afterDueDateOrNone !== undefined) {\n\t\t\tscope.afterDueDateOrNone(filters.afterDueDateOrNone);\n\t\t}\n\n\t\tif (filters?.availableOn !== undefined) {\n\t\t\tif (parentIds.creatorId) {\n\t\t\t\tscope.excludeUnavailableOfOthers(parentIds.creatorId, filters.availableOn);\n\t\t\t} else {\n\t\t\t\tscope.byAvailable(filters?.availableOn);\n\t\t\t}\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\t\tscope.byCourseIds([courseId]);\n\n\t\tif (filters?.draft !== undefined) {\n\t\t\tif (filters?.draft === true) {\n\t\t\t\tscope.excludeDraftsOfOthers(creatorId);\n\t\t\t} else {\n\t\t\t\tscope.byDraft(false);\n\t\t\t}\n\t\t}\n\n\t\tif (filters?.noFutureAvailableDate !== undefined) {\n\t\t\tscope.noFutureAvailableDate();\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tprivate async findTasksAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination = options?.pagination || {};\n\t\tconst order = options?.order || {};\n\n\t\t// In order to solve pagination missmatches we apply a default order by _id. This is necessary\n\t\t// because other fields like the dueDate can be equal or null.\n\t\t// When pagination is used, sorting takes place on every page and if ambiguous leads to unwanted results.\n\t\t// Note: Indexes for dueDate and for _id do exist but there's no combined index.\n\t\t// This is okay, because the combined index would be too expensive for the particular purpose here.\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [tasks, count] = await this._em.findAndCount(Task, query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tawait this.populate(tasks);\n\n\t\treturn [tasks, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskResponse.html":{"url":"classes/TaskResponse.html","title":"class - TaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a task document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n courseId\n \n \n \n \n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n lessonHidden\n \n \n \n Optional\n lessonName\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : RichText\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Task description object, with props content: string and type: input format types', type: RichText})@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n lessonHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lessonName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRule.html":{"url":"injectables/TaskRule.html","title":"injectable - TaskRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/task.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, lessonRule: LessonRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n \n \n \n \n \n hasParentPermission(user: User, entity: Task, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Task, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Task, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseRule } from './course.rule';\nimport { LessonRule } from './lesson.rule';\n\n@Injectable()\nexport class TaskRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly lessonRule: LessonRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: Task): boolean {\n\t\tconst isMatched = entity instanceof Task;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Task, context: AuthorizationContext): boolean {\n\t\tlet { action } = context;\n\t\tconst { requiredPermissions } = context;\n\t\tconst hasRequiredPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tif (!hasRequiredPermission) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n\t\tif (entity.isDraft()) {\n\t\t\taction = Action.write;\n\t\t}\n\n\t\tconst hasParentPermission = this.hasParentPermission(user, entity, action);\n\n\t\t// TODO why parent permission has OR cond?\n\t\tconst result = isCreator || hasParentPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate hasParentPermission(user: User, entity: Task, action: Action): boolean {\n\t\tif (entity.lesson) {\n\t\t\tconst hasLessonPermission = this.lessonRule.hasPermission(user, entity.lesson, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\t\t\treturn hasLessonPermission;\n\t\t}\n\t\tif (entity.course) {\n\t\t\tconst hasCoursePermission = this.courseRule.hasPermission(user, entity.course, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\n\t\t\treturn hasCoursePermission;\n\t\t}\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskScope.html":{"url":"classes/TaskScope.html","title":"class - TaskScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterDueDateOrNone\n \n \n byAvailable\n \n \n byCourseIds\n \n \n byCreatorId\n \n \n byDraft\n \n \n byFinished\n \n \n byLessonIds\n \n \n byOnlyCreatorId\n \n \n excludeDraftsOfOthers\n \n \n excludeUnavailableOfOthers\n \n \n Private\n getByDraftForCreatorQuery\n \n \n Private\n getByDraftQuery\n \n \n noFutureAvailableDate\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterDueDateOrNone\n \n \n \n \n \n \nafterDueDateOrNone(dueDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dueDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byAvailable\n \n \n \n \n \n \nbyAvailable(availableDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCreatorId\n \n \n \n \n \n \nbyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byDraft\n \n \n \n \n \n \nbyDraft(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFinished\n \n \n \n \n \n \nbyFinished(userId: EntityId, value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLessonIds\n \n \n \n \n \n \nbyLessonIds(lessonIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byOnlyCreatorId\n \n \n \n \n \n \nbyOnlyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeDraftsOfOthers\n \n \n \n \n \n \nexcludeDraftsOfOthers(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeUnavailableOfOthers\n \n \n \n \n \n \nexcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n availableOn\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftForCreatorQuery\n \n \n \n \n \n \n \n getByDraftForCreatorQuery(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftQuery\n \n \n \n \n \n \n \n getByDraftQuery(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n noFutureAvailableDate\n \n \n \n \n \n \nnoFutureAvailableDate()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:66\n \n \n\n\n \n \n\n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '../scope';\n\nexport class TaskScope extends Scope {\n\tbyFinished(userId: EntityId, value: boolean): TaskScope {\n\t\tif (value === true) {\n\t\t\tthis.addQuery({ finished: userId });\n\t\t} else {\n\t\t\tthis.addQuery({ finished: { $ne: userId } });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyOnlyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ creator: creatorId }, { course: null }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({ creator: creatorId });\n\n\t\treturn this;\n\t}\n\n\tbyCourseIds(courseIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ course: { $in: courseIds } }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyLessonIds(lessonIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({ lesson: { $in: lessonIds } });\n\n\t\treturn this;\n\t}\n\n\tbyDraft(isDraft: boolean): TaskScope {\n\t\tconst query = this.getByDraftQuery(isDraft);\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeDraftsOfOthers(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [this.getByDraftForCreatorQuery(creatorId), this.getByDraftQuery(false)],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyAvailable(availableDate: Date): TaskScope {\n\t\tthis.addQuery({ availableDate: { $lte: availableDate } });\n\n\t\treturn this;\n\t}\n\n\tnoFutureAvailableDate(): TaskScope {\n\t\tconst query = { availableDate: { $lte: new Date(Date.now()) } };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [\n\t\t\t\t{ creator: creatorId },\n\t\t\t\t{ $and: [{ creator: { $ne: creatorId } }, { availableDate: { $lte: availableOn } }] },\n\t\t\t],\n\t\t});\n\t\treturn this;\n\t}\n\n\tafterDueDateOrNone(dueDate: Date): TaskScope {\n\t\tthis.addQuery({ $or: [{ dueDate: { $gte: dueDate } }, { dueDate: null }] });\n\n\t\treturn this;\n\t}\n\n\tprivate getByDraftQuery(isDraft: boolean): FilterQuery {\n\t\tconst query = isDraft ? { private: { $eq: true } } : { private: { $ne: true } };\n\n\t\treturn query;\n\t}\n\n\tprivate getByDraftForCreatorQuery(creatorId: EntityId): FilterQuery {\n\t\tconst query = { $and: [{ creator: creatorId }, this.getByDraftQuery(true)] };\n\n\t\treturn query;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskService.html":{"url":"injectables/TaskService.html","title":"injectable - TaskService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n Async\n deleteSubmissions\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, submissionService: SubmissionService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteSubmissions\n \n \n \n \n \n \n \n deleteSubmissions(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\nimport { SubmissionService } from './submission.service';\n\n@Injectable()\nexport class TaskService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\treturn this.taskRepo.findBySingleParent(creatorId, courseId, filters, options);\n\t}\n\n\tasync delete(task: Task): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(task.id);\n\n\t\tawait this.deleteSubmissions(task);\n\n\t\tawait this.taskRepo.delete(task);\n\t}\n\n\tprivate async deleteSubmissions(task: Task): Promise {\n\t\tconst submissions = task.submissions.getItems();\n\t\tconst promises = submissions.map((submission) => this.submissionService.delete(submission));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tasync findById(taskId: EntityId): Promise {\n\t\treturn this.taskRepo.findById(taskId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskStatus.html":{"url":"interfaces/TaskStatus.html","title":"interface - TaskStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n \n isDraft\n \n \n \n \n isFinished\n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n maxSubmissions\n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n \n \n isDraft: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n \n \n isFinished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n \n \n isSubstitutionTeacher: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n \n \n maxSubmissions: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusMapper.html":{"url":"classes/TaskStatusMapper.html","title":"class - TaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task-status.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task-status.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { TaskStatusResponse } from '../controller/dto/task-status.response';\n\nexport class TaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): TaskStatusResponse {\n\t\tconst dto = new TaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusResponse.html":{"url":"classes/TaskStatusResponse.html","title":"class - TaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TaskStatusResponse {\n\tconstructor({ submitted, maxSubmissions, graded, isDraft, isSubstitutionTeacher, isFinished }: TaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUC.html":{"url":"injectables/TaskUC.html","title":"injectable - TaskUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n Async\n delete\n \n \n Async\n findAll\n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllForStudent\n \n \n Private\n Async\n findAllForTeacher\n \n \n Private\n getDefaultMaxDueDate\n \n \n Private\n Async\n getPermittedCourses\n \n \n Private\n Async\n getPermittedLessons\n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, authorizationService: AuthorizationService, courseRepo: CourseRepo, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n \n \n \n \n \n changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n isFinished\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:217\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(userId: EntityId, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(userId: EntityId, pagination?: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForStudent\n \n \n \n \n \n \n \n findAllForStudent(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:147\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getDefaultMaxDueDate\n \n \n \n \n \n \n \n getDefaultMaxDueDate()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:210\n \n \n\n\n \n \n\n \n Returns : Date\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedCourses\n \n \n \n \n \n \n \n getPermittedCourses(user: User, neededPermission: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:177\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n neededPermission\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedLessons\n \n \n \n \n \n \n \n getPermittedLessons(user: User, courses: Course[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LessonService } from '@modules/lesson';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { Course, LessonEntity, TaskWithStatusVo, User } from '@shared/domain/entity';\nimport { Pagination, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, TaskStatus } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskService } from '../service';\n\n@Injectable()\nexport class TaskUC {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync findAllFinished(userId: EntityId, pagination?: Pagination): Promise> {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkOneOfPermissions(user, [\n\t\t\tPermission.TASK_DASHBOARD_TEACHER_VIEW_V3,\n\t\t\tPermission.TASK_DASHBOARD_VIEW_V3,\n\t\t]);\n\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst lessons = await this.getPermittedLessons(user, courses);\n\n\t\tconst openCourseIds = courses.filter((c) => !c.isFinished()).map((c) => c.id);\n\t\tconst finishedCourseIds = courses.filter((c) => c.isFinished()).map((c) => c.id);\n\t\tconst lessonIdsOfOpenCourses = lessons.filter((l) => !l.course.isFinished()).map((l) => l.id);\n\t\tconst lessonIdsOfFinishedCourses = lessons.filter((l) => l.course.isFinished()).map((l) => l.id);\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllFinishedByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: userId,\n\t\t\t\topenCourseIds,\n\t\t\t\tfinishedCourseIds,\n\t\t\t\tlessonIdsOfOpenCourses,\n\t\t\t\tlessonIdsOfFinishedCourses,\n\t\t\t},\n\t\t\t{ pagination, order: { dueDate: SortOrder.desc } }\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tlet status: TaskStatus;\n\t\t\tif (this.authorizationService.hasPermission(user, task, AuthorizationContextBuilder.write([]))) {\n\t\t\t\tstatus = task.createTeacherStatusForUser(user);\n\t\t\t} else {\n\t\t\t\tstatus = task.createStudentStatusForUser(user);\n\t\t\t}\n\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tasync findAll(userId: EntityId, pagination: Pagination): Promise> {\n\t\tlet response: Counted;\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tif (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForStudent(user, pagination);\n\t\t} else if (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForTeacher(user, pagination);\n\t\t} else {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tasync changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.read([]));\n\n\t\tif (isFinished) {\n\t\t\ttask.finishForUser(user);\n\t\t} else {\n\t\t\ttask.restoreForUser(user);\n\t\t}\n\t\tawait this.taskRepo.save(task);\n\n\t\t// TODO fix student case - why have student as fallback?\n\t\t// should be based on permission too and use this.createStatus() instead\n\t\t// add status\n\t\tconst status = this.authorizationService.hasOneOfPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])\n\t\t\t? task.createTeacherStatusForUser(user)\n\t\t\t: task.createStudentStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tasync revertPublished(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\ttask.unpublish();\n\t\tawait this.taskRepo.save(task);\n\n\t\tconst status = task.createTeacherStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tprivate async findAllForStudent(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst dueDate = this.getDefaultMaxDueDate();\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ afterDueDateOrNone: dueDate, finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.asc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createStudentStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tprivate async findAllForTeacher(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.write);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.desc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createTeacherStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\t// it should return also the scopePermissions for this user added to the entity .scopePermission: { userId, read: boolean, write: boolean }\n\t// then we can pass and allow only scoped courses to getPermittedLessonIds and validate read write of .scopePermission\n\tprivate async getPermittedCourses(user: User, neededPermission: Action): Promise {\n\t\tlet permittedCourses: Course[] = [];\n\n\t\tif (neededPermission === Action.write) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllForTeacherOrSubstituteTeacher(user.id);\n\t\t} else if (neededPermission === Action.read) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllByUserId(user.id);\n\t\t}\n\n\t\treturn permittedCourses;\n\t}\n\n\tprivate async getPermittedLessons(user: User, courses: Course[]): Promise {\n\t\tconst writeCourses = courses.filter((c) =>\n\t\t\tthis.authorizationService.hasPermission(user, c, AuthorizationContextBuilder.write([]))\n\t\t);\n\t\tconst readCourses = courses.filter((c) => !writeCourses.includes(c));\n\n\t\tconst writeCourseIds = writeCourses.map((c) => c.id);\n\t\tconst readCourseIds = readCourses.map((c) => c.id);\n\n\t\t// idea as combined query:\n\t\t// [{courseIds: onlyWriteCoursesIds}, { courseIds: onlyReadCourses, filter: { hidden: false }}]\n\t\tconst [[writeLessons], [readLessons]] = await Promise.all([\n\t\t\tthis.lessonService.findByCourseIds(writeCourseIds),\n\t\t\tthis.lessonService.findByCourseIds(readCourseIds, { hidden: false }),\n\t\t]);\n\n\t\tconst permittedLessons = [...writeLessons, ...readLessons];\n\n\t\treturn permittedLessons;\n\t}\n\n\tprivate getDefaultMaxDueDate(): Date {\n\t\tconst oneWeekAgo = new Date();\n\t\toneWeekAgo.setDate(oneWeekAgo.getDate() - 7);\n\n\t\treturn oneWeekAgo;\n\t}\n\n\tasync delete(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\tawait this.taskService.delete(task);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskUpdate.html":{"url":"interfaces/TaskUpdate.html","title":"interface - TaskUpdate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskUpdate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUpdateParams.html":{"url":"classes/TaskUpdateParams.html","title":"class - TaskUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-update.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskUpdate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskUpdate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskUpdateParams implements TaskUpdate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUrlHandler.html":{"url":"injectables/TaskUrlHandler.html","title":"injectable - TaskUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/homework\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class TaskUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/homework\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly taskService: TaskService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'task' });\n\t\tconst task = await this.taskService.findById(id);\n\t\tif (task) {\n\t\t\tmetaData.title = task.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUrlParams.html":{"url":"classes/TaskUrlParams.html","title":"class - TaskUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the task.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TaskUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the task.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttaskId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskWithStatusVo.html":{"url":"classes/TaskWithStatusVo.html","title":"class - TaskWithStatusVo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskWithStatusVo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n status\n \n \n task\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(task: Task, status: TaskStatus)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n \n Task\n \n \n \n No\n \n \n \n \n status\n \n \n TaskStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatus\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamDto.html":{"url":"classes/TeamDto.html","title":"class - TeamDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n \n Description\n \n \n TODO\nThis DTO and all associated functionality should be moved to a general teams module once it has been created\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n teamUsers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n Type : TeamUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamEntity.html":{"url":"entities/TeamEntity.html","title":"entity - TeamEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n userIds\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n Type : TeamUserEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:59\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamFactory.html":{"url":"classes/TeamFactory.html","title":"class - TeamFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/team.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withTeamUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withTeamUser\n \n \n \n \n \n \nwithTeamUser(teamUser: TeamUserEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamUser\n \n TeamUserEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamEntity, TeamProperties, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { teamUserFactory } from '@shared/testing/factory/teamuser.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: [teamUserFactory.withRoleAndUserId(role, userId).buildWithId()],\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithTeamUser(teamUser: TeamUserEntity[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: teamUser,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamFactory = TeamFactory.define(TeamEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `team #${sequence}`,\n\t\tteamUsers: [teamUserFactory.buildWithId()],\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamMapper.html":{"url":"injectables/TeamMapper.html","title":"injectable - TeamMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n \n \n \n mapEntityToDto(teamEntity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts:12\n \n \n\n\n \n \n Maps a Team Entity to the ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamEntity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n The Entity\n\n \n \n \n \n \n \n Returns : TeamDto\n\n \n \n The Dto\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { TeamDto, TeamUserDto } from '../services/dto/team.dto';\n\n@Injectable()\nexport class TeamMapper {\n\t/**\n\t * Maps a Team Entity to the ServiceDTO\n\t * @param teamEntity The Entity\n\t * @return The Dto\n\t */\n\tpublic mapEntityToDto(teamEntity: TeamEntity): TeamDto {\n\t\tconst teamUsers: TeamUserDto[] = teamEntity.teamUsers.map(\n\t\t\t(teamUser: TeamUserEntity) =>\n\t\t\t\tnew TeamUserDto({\n\t\t\t\t\tuserId: teamUser.user.id,\n\t\t\t\t\troleId: teamUser.role.id,\n\t\t\t\t\tschoolId: teamUser.school.id,\n\t\t\t\t})\n\t\t);\n\t\treturn new TeamDto({ id: teamEntity.id, name: teamEntity.name, teamUsers });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamNews.html":{"url":"entities/TeamNews.html","title":"entity - TeamNews","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TeamEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('TeamEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:127\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TeamNewsController.html":{"url":"controllers/TeamNewsController.html","title":"controller - TeamNewsController","body":"\n \n\n\n\n\n\n\n Controllers\n TeamNewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/team-news.controller.ts\n \n\n \n Prefix\n \n \n team\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n \n \n \n findAllForTeam(urlParams: TeamUrlParams, currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get(':teamId/news')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/team-news.controller.ts:19\n \n \n\n\n \n \n Responds with news of a given team for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TeamUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc';\nimport { FilterNewsParams, NewsListResponse, TeamUrlParams } from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('team')\nexport class TeamNewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Responds with news of a given team for a user.\n\t */\n\t@Get(':teamId/news')\n\tasync findAllForTeam(\n\t\t@Param() urlParams: TeamUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\t// enforce filter by a given team, used in team tab\n\t\tscope.targetId = urlParams.teamId;\n\t\tscope.targetModel = 'teams';\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsBody.html":{"url":"classes/TeamPermissionsBody.html","title":"class - TeamPermissionsBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n delete\n \n \n \n \n read\n \n \n \n \n share\n \n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class TeamPermissionsBody {\n\t@IsBoolean()\n\t@ApiProperty()\n\tread!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\twrite!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tcreate!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tdelete!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tshare!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsDto.html":{"url":"classes/TeamPermissionsDto.html","title":"class - TeamPermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n create\n \n \n Optional\n delete\n \n \n Optional\n read\n \n \n Optional\n share\n \n \n Optional\n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamPermissionsDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamPermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamPermissionsDto {\n\tread?: boolean;\n\n\twrite?: boolean;\n\n\tcreate?: boolean;\n\n\tdelete?: boolean;\n\n\tshare?: boolean;\n\n\tconstructor(props: TeamPermissionsDto) {\n\t\tthis.read = !!props.read;\n\t\tthis.write = !!props.write;\n\t\tthis.create = !!props.create;\n\t\tthis.delete = !!props.delete;\n\t\tthis.share = !!props.share;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamPermissionsMapper.html":{"url":"injectables/TeamPermissionsMapper.html","title":"injectable - TeamPermissionsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamPermissionsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n \n \n \n mapBodyToDto(body: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts:12\n \n \n\n\n \n \n Maps a TeamPermissions Body to a ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n body\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The TeamPermissions Body\n\n \n \n \n \n \n \n Returns : TeamPermissionsDto\n\n \n \n The mapped DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamPermissionsDto } from '../services/dto/team-permissions.dto';\n\n@Injectable()\nexport class TeamPermissionsMapper {\n\t/**\n\t * Maps a TeamPermissions Body to a ServiceDTO\n\t * @param body The TeamPermissions Body\n\t * @return The mapped DTO\n\t */\n\tpublic mapBodyToDto(body: TeamPermissionsBody): TeamPermissionsDto {\n\t\treturn new TeamPermissionsDto({\n\t\t\tcreate: body.create,\n\t\t\tdelete: body.delete,\n\t\t\tread: body.read,\n\t\t\tshare: body.share,\n\t\t\twrite: body.write,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamProperties.html":{"url":"interfaces/TeamProperties.html","title":"interface - TeamProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n teamUsers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n \n \n teamUsers: TeamUserEntity[]\n\n \n \n\n\n \n \n Type : TeamUserEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRoleDto.html":{"url":"classes/TeamRoleDto.html","title":"class - TeamRoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamRoleDto {\n\t@IsMongoId()\n\t@ApiProperty()\n\tteamId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\troleId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRolePermissionsDto.html":{"url":"classes/TeamRolePermissionsDto.html","title":"class - TeamRolePermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRolePermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permissions\n \n \n roleName\n \n \n teamId\n \n \n teamName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamRolePermissionsDto)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamRolePermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : boolean[]\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n teamName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamRolePermissionsDto {\n\tteamId: string;\n\n\tteamName: string;\n\n\troleName: string;\n\n\tpermissions: boolean[];\n\n\tconstructor(props: TeamRolePermissionsDto) {\n\t\tthis.teamId = props.teamId;\n\t\tthis.teamName = props.teamName;\n\t\tthis.roleName = props.roleName;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamRule.html":{"url":"injectables/TeamRule.html","title":"injectable - TeamRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/team.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity, User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class TeamRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: TeamEntity): boolean {\n\t\treturn entity instanceof TeamEntity;\n\t}\n\n\tpublic hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext): boolean {\n\t\tlet hasPermission = false;\n\t\tconst isTeamUser = entity.teamUsers.find((teamUser: TeamUserEntity) => teamUser.user.id === user.id);\n\t\tif (isTeamUser) {\n\t\t\thasPermission = this.authorizationHelper.hasAllPermissionsByRole(isTeamUser.role, context.requiredPermissions);\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamService.html":{"url":"injectables/TeamService.html","title":"injectable - TeamService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/teams/service/team.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(teamsRepo: TeamsRepo)\n \n \n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n \n \n \n \n \n deleteUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n \n \n \n findUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\n\n@Injectable()\nexport class TeamService {\n\tconstructor(private readonly teamsRepo: TeamsRepo) {}\n\n\tpublic async findUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\treturn teams;\n\t}\n\n\tpublic async deleteUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\tteams.forEach((team) => {\n\t\t\tteam.userIds = team.userIds.filter((u) => u.userId.id !== userId);\n\t\t});\n\n\t\tawait this.teamsRepo.save(teams);\n\n\t\treturn teams.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUrlParams.html":{"url":"classes/TeamUrlParams.html","title":"class - TeamUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/team.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the team.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/team.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the team.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tteamId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserDto.html":{"url":"classes/TeamUserDto.html","title":"class - TeamUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n schoolId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserEntity.html":{"url":"classes/TeamUserEntity.html","title":"class - TeamUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n Private\n schoolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n school\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserProperties)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Private\n schoolId\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n\n \n \n getuser()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:36\n \n \n\n \n \n setuser(value: User)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n User\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n\n \n \n getschool()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:44\n \n \n\n \n \n setschool(value: SchoolEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:48\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n SchoolEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserFactory.html":{"url":"classes/TeamUserFactory.html","title":"class - TeamUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/teamuser.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withUserId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { roleFactory } from '@shared/testing/factory/role.factory';\nimport { schoolFactory } from '@shared/testing/factory/school.factory';\nimport { userFactory } from '@shared/testing/factory/user.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamUserFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school, roles: [roleFactory.build({ roles: [role] })] }, userId),\n\t\t\tschool,\n\t\t\trole,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithUserId(userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school }, userId),\n\t\t\tschool,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamUserFactory = TeamUserFactory.define(TeamUserEntity, () => {\n\tconst role = roleFactory.buildWithId();\n\tconst school = schoolFactory.buildWithId();\n\tconst user = userFactory.buildWithId({ roles: [role] });\n\n\treturn new TeamUserEntity({\n\t\tuser,\n\t\tschool,\n\t\trole,\n\t});\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamUserProperties.html":{"url":"interfaces/TeamUserProperties.html","title":"interface - TeamUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n school\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsApiModule.html":{"url":"modules/TeamsApiModule.html","title":"module - TeamsApiModule","body":"\n \n\n\n\n\n Modules\n TeamsApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsApiModule\n\n\n\ncluster_TeamsApiModule_imports\n\n\n\n\nTeamsModule\n\nTeamsModule\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nTeamsApiModule -->\n\nTeamsModule->TeamsApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams-api.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n TeamsModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsModule } from '@modules/teams/teams.module';\n\n@Module({\n\timports: [TeamsModule],\n\tproviders: [],\n\tcontrollers: [],\n\texports: [],\n})\nexport class TeamsApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsModule.html":{"url":"modules/TeamsModule.html","title":"module - TeamsModule","body":"\n \n\n\n\n\n Modules\n TeamsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsModule\n\n\n\ncluster_TeamsModule_providers\n\n\n\ncluster_TeamsModule_exports\n\n\n\n\nTeamService \n\nTeamService \n\n\n\nTeamsModule\n\nTeamsModule\n\nTeamService -->\n\nTeamsModule->TeamService \n\n\n\n\n\nTeamService\n\nTeamService\n\nTeamsModule -->\n\nTeamService->TeamsModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nTeamsModule -->\n\nTeamsRepo->TeamsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TeamService\n \n \n TeamsRepo\n \n \n \n \n Exports\n \n \n TeamService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsRepo } from '@shared/repo';\nimport { TeamService } from './service';\n\n@Module({\n\tproviders: [TeamService, TeamsRepo],\n\texports: [TeamService],\n})\nexport class TeamsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamsRepo.html":{"url":"injectables/TeamsRepo.html","title":"injectable - TeamsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/teams/teams.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Private\n Async\n populateRoles\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:36\n \n \n\n\n \n \n Finds teams which the user is a member.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n Array of teams\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Role, TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class TeamsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn TeamEntity;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst team = await this._em.findOneOrFail(TeamEntity, { id }, { cache: this.cacheExpiration });\n\n\t\tif (populate) {\n\t\t\tawait Promise.all(\n\t\t\t\tteam.teamUsers.map(async (teamUser: TeamUserEntity): Promise => {\n\t\t\t\t\tawait this._em.populate(teamUser, ['role']);\n\t\t\t\t\tawait this.populateRoles([teamUser.role]);\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn team;\n\t}\n\n\t/**\n\t * Finds teams which the user is a member.\n\t *\n\t * @param userId\n\t * @return Array of teams\n\t */\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst teams: TeamEntity[] = await this._em.find(TeamEntity, {\n\t\t\tuserIds: { userId: new ObjectId(userId) },\n\t\t});\n\t\treturn teams;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\treturn Promise.all(\n\t\t\troles.map(async (role: Role): Promise => {\n\t\t\t\tif (!role.roles.isInitialized(true)) {\n\t\t\t\t\tawait this._em.populate(role, ['roles']);\n\t\t\t\t\tawait this.populateRoles(role.roles.getItems());\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TemporaryFileProperties.html":{"url":"interfaces/TemporaryFileProperties.html","title":"interface - TemporaryFileProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TemporaryFileProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n expiresAt\n \n \n \n \n filename\n \n \n \n \n ownedByUserId\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthtime\n \n \n \n \n \n \n \n \n birthtime: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n \n \n filename: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n \n \n ownedByUserId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileRepo.html":{"url":"injectables/TemporaryFileRepo.html","title":"injectable - TemporaryFileRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n Async\n findByUser\n \n \n Async\n findByUserAndFilename\n \n \n Async\n findExpired\n \n \n Async\n findExpiredByUser\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n \n \n \n \n \n findAllByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserAndFilename\n \n \n \n \n \n \n \n findByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpired\n \n \n \n \n \n \n \n findExpired()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpiredByUser\n \n \n \n \n \n \n \n findExpiredByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5pEditorTempFile } from '../entity';\n\n@Injectable()\nexport class TemporaryFileRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5pEditorTempFile;\n\t}\n\n\tasync findByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findAllByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findExpired(): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { expiresAt: { $lt: now } });\n\t}\n\n\tasync findByUser(userId: EntityId): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId });\n\t}\n\n\tasync findExpiredByUser(userId: EntityId): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { $and: [{ ownedByUserId: userId }, { expiresAt: { $lt: now } }] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileStorage.html":{"url":"injectables/TemporaryFileStorage.html","title":"injectable - TemporaryFileStorage","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileStorage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFilename\n \n \n Public\n Async\n deleteFile\n \n \n Public\n Async\n fileExists\n \n \n Private\n getFileInfo\n \n \n Private\n getFilePath\n \n \n Public\n Async\n getFileStats\n \n \n Public\n Async\n getFileStream\n \n \n Public\n Async\n listFiles\n \n \n Public\n Async\n saveFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: TemporaryFileRepo, s3Client: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n TemporaryFileRepo\n \n \n \n No\n \n \n \n \n s3Client\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFilename\n \n \n \n \n \n \n \n checkFilename(filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n fileExists\n \n \n \n \n \n \n \n fileExists(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFileInfo\n \n \n \n \n \n \n \n getFileInfo(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFilePath\n \n \n \n \n \n \n \n getFilePath(userId: string, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStats\n \n \n \n \n \n \n \n getFileStats(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStream\n \n \n \n \n \n \n \n getFileStream(filename: string, user: IUser, rangeStart: number, rangeEnd?: number | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n \n \n\n \n \n rangeStart\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n rangeEnd\n \n number | undefined\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n listFiles\n \n \n \n \n \n \n \n listFiles(user?: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n IUser\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveFile\n \n \n \n \n \n \n \n saveFile(filename: string, dataStream: ReadStream, user: IUser, expirationTime: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n dataStream\n \n ReadStream\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n expirationTime\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ITemporaryFile, ITemporaryFileStorage, IUser } from '@lumieducation/h5p-server';\nimport { Inject, Injectable, NotAcceptableException } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { ReadStream } from 'fs';\nimport { Readable } from 'stream';\nimport { H5pFileDto } from '../controller/dto/h5p-file.dto';\nimport { H5pEditorTempFile } from '../entity/h5p-editor-tempfile.entity';\nimport { H5P_CONTENT_S3_CONNECTION } from '../h5p-editor.config';\nimport { TemporaryFileRepo } from '../repo/temporary-file.repo';\n\n@Injectable()\nexport class TemporaryFileStorage implements ITemporaryFileStorage {\n\tconstructor(\n\t\tprivate readonly repo: TemporaryFileRepo,\n\t\t@Inject(H5P_CONTENT_S3_CONNECTION) private readonly s3Client: S3ClientAdapter\n\t) {}\n\n\tprivate checkFilename(filename: string): void {\n\t\tif (!/^[a-zA-Z0-9/._-]+$/g.test(filename) && filename.includes('..') && filename.startsWith('/')) {\n\t\t\tthrow new NotAcceptableException(`Filename contains forbidden characters or is empty: '${filename}'`);\n\t\t}\n\t}\n\n\tprivate getFileInfo(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\treturn this.repo.findByUserAndFilename(userId, filename);\n\t}\n\n\tpublic async deleteFile(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst meta = await this.repo.findByUserAndFilename(userId, filename);\n\t\tawait this.s3Client.delete([this.getFilePath(userId, filename)]);\n\t\tawait this.repo.delete(meta);\n\t}\n\n\tpublic async fileExists(filename: string, user: IUser): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst files = await this.repo.findAllByUserAndFilename(user.id, filename);\n\t\tconst exists = files.length !== 0;\n\t\treturn exists;\n\t}\n\n\tpublic async getFileStats(filename: string, user: IUser): Promise {\n\t\treturn this.getFileInfo(filename, user.id);\n\t}\n\n\tpublic async getFileStream(\n\t\tfilename: string,\n\t\tuser: IUser,\n\t\trangeStart = 0,\n\t\trangeEnd?: number | undefined\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst tempFile = await this.repo.findByUserAndFilename(user.id, filename);\n\t\tconst path = this.getFilePath(user.id, filename);\n\t\tlet rangeEndNew = 0;\n\t\tif (rangeEnd === undefined) {\n\t\t\trangeEndNew = tempFile.size - 1;\n\t\t}\n\t\tconst response = await this.s3Client.get(path, `${rangeStart}-${rangeEndNew}`);\n\n\t\treturn response.data;\n\t}\n\n\tpublic async listFiles(user?: IUser): Promise {\n\t\t// method is expected to support listing all files in database\n\t\t// Lumi uses the variant without a user to search for expired files, so we only return those\n\n\t\tlet files: ITemporaryFile[];\n\t\tif (user) {\n\t\t\tfiles = await this.repo.findByUser(user.id);\n\t\t} else {\n\t\t\tfiles = await this.repo.findExpired();\n\t\t}\n\n\t\treturn files;\n\t}\n\n\tpublic async saveFile(\n\t\tfilename: string,\n\t\tdataStream: ReadStream,\n\t\tuser: IUser,\n\t\texpirationTime: Date\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst now = new Date();\n\t\tif (expirationTime \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestApiClient.html":{"url":"classes/TestApiClient.html","title":"class - TestApiClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestApiClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n \n Description\n \n \n Note res.cookie is not supported atm, feel free to add this\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getJwtFromResponse\n \n \n Private\n getPath\n \n \n Private\n isAuthenticationResponse\n \n \n Private\n isSlash\n \n \n Public\n Async\n login\n \n \n Public\n patch\n \n \n Public\n post\n \n \n Public\n put\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string, jwt?: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n jwt\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getJwtFromResponse\n \n \n \n \n \n \n \n getJwtFromResponse(response: Response)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAuthenticationResponse\n \n \n \n \n \n \n \n isAuthenticationResponse(body)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n body\n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n login\n \n \n \n \n \n \n \n login(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n patch\n \n \n \n \n \n \n \n patch(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n put\n \n \n \n \n \n \n \n put(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestBootstrapConsole.html":{"url":"classes/TestBootstrapConsole.html","title":"class - TestBootstrapConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestBootstrapConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/api-test/test-bootstrap.console.ts\n \n\n\n\n \n Extends\n \n \n AbstractBootstrapConsole\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate()\n \n \n\n\n \n \n Defined in apps/server/src/console/api-test/test-bootstrap.console.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { createMock } from '@golevelup/ts-jest';\nimport { Test, TestingModule } from '@nestjs/testing';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementUc } from '@modules/management/uc/database-management.uc';\nimport { AbstractBootstrapConsole, BootstrapConsole } from 'nestjs-console';\n\nexport class TestBootstrapConsole extends AbstractBootstrapConsole {\n\tcreate(): Promise {\n\t\treturn Test.createTestingModule({\n\t\t\timports: [this.options.module],\n\t\t})\n\t\t\t.overrideProvider(DatabaseManagementUc)\n\t\t\t.useValue(createMock())\n\t\t\t.overrideProvider(ConsoleWriterService)\n\t\t\t.useValue(createMock())\n\t\t\t.compile();\n\t}\n}\n\nexport const execute = async (bootstrap: BootstrapConsole, args: string[]): Promise => {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst commandResponse = await bootstrap.boot([process.argv0, 'console', ...args]);\n\treturn Promise.resolve();\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestConnection.html":{"url":"classes/TestConnection.html","title":"class - TestConnection","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestConnection\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/testing/test-connection.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n getWsUrl\n \n \n Static\n setupWs\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n getWsUrl\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n setupWs\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import WebSocket from 'ws';\n\nexport class TestConnection {\n\tpublic static getWsUrl = (gatewayPort: number): string => {\n\t\tconst wsUrl = `ws://localhost:${gatewayPort}`;\n\t\treturn wsUrl;\n\t};\n\n\tpublic static setupWs = async (wsUrl: string, docName?: string): Promise => {\n\t\tlet ws: WebSocket;\n\t\tif (docName) {\n\t\t\tws = new WebSocket(`${wsUrl}/${docName}`);\n\t\t} else {\n\t\t\tws = new WebSocket(`${wsUrl}`);\n\t\t}\n\t\tawait new Promise((resolve) => {\n\t\t\tws.on('open', resolve);\n\t\t});\n\n\t\treturn ws;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestHelper.html":{"url":"classes/TestHelper.html","title":"class - TestHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/helper/test-helper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n createFile\n \n \n Static\n createFileResponse\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n createFile\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n createFileResponse\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { Readable } from 'stream';\nimport { GetFileResponse } from '../interface';\n\nexport class TestHelper {\n\tpublic static createFile = (contentRange?: string): GetFile => {\n\t\tconst text = 'testText';\n\t\tconst readable = Readable.from(text);\n\n\t\tconst fileResponse = {\n\t\t\tdata: readable,\n\t\t\tcontentType: 'image/webp',\n\t\t\tcontentLength: text.length,\n\t\t\tcontentRange,\n\t\t\tetag: 'testTag',\n\t\t};\n\n\t\treturn fileResponse;\n\t};\n\n\tpublic static createFileResponse = (contentRange?: string): GetFileResponse => {\n\t\tconst name = 'testName';\n\t\tconst file = this.createFile(contentRange);\n\t\tconst fileResponse = { ...file, name };\n\n\t\treturn fileResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestXApiKeyClient.html":{"url":"classes/TestXApiKeyClient.html","title":"class - TestXApiKeyClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestXApiKeyClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-xApiKey-client.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getPath\n \n \n Private\n isSlash\n \n \n Public\n post\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport supertest from 'supertest';\n\nexport class TestXApiKeyClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tconstructor(app: INestApplication, baseRoute: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).delete(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('Accept', 'application/json')\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TimeoutInterceptor.html":{"url":"injectables/TimeoutInterceptor.html","title":"injectable - TimeoutInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TimeoutInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/timeout.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor leaves the request execution after a given timeout in ms.\nThis will not stop the running services behind the controller.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(requestTimeout: number)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestTimeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor, RequestTimeoutException } from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { Observable, throwError, TimeoutError } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\n/**\n * This interceptor leaves the request execution after a given timeout in ms.\n * This will not stop the running services behind the controller.\n */\n@Injectable()\nexport class TimeoutInterceptor implements NestInterceptor {\n\tconstructor(private readonly requestTimeout: number) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tconst reflector = new Reflector();\n\t\tconst timeoutValue =\n\t\t\treflector.get('timeout', context.getHandler()) || reflector.get('timeout', context.getClass());\n\t\treturn next.handle().pipe(\n\t\t\ttimeout(timeoutValue || this.requestTimeout),\n\t\t\tcatchError((err: Error) => {\n\t\t\t\tif (err instanceof TimeoutError) {\n\t\t\t\t\treturn throwError(() => new RequestTimeoutException());\n\t\t\t\t}\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TimestampsResponse.html":{"url":"classes/TimestampsResponse.html","title":"class - TimestampsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TimestampsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/timestamps.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n deletedAt\n \n \n \n lastUpdatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TimestampsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TimestampsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastUpdatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class TimestampsResponse {\n\tconstructor({ lastUpdatedAt, createdAt, deletedAt }: TimestampsResponse) {\n\t\tthis.lastUpdatedAt = lastUpdatedAt;\n\t\tthis.createdAt = createdAt;\n\t\tthis.deletedAt = deletedAt;\n\t}\n\n\t@ApiProperty()\n\tlastUpdatedAt: Date;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiPropertyOptional()\n\tdeletedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawBoardRepo.html":{"url":"injectables/TldrawBoardRepo.html","title":"injectable - TldrawBoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawBoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n collectionName\n \n \n Public\n Readonly\n configService\n \n \n Public\n connectionString\n \n \n Public\n flushSize\n \n \n Public\n mdb\n \n \n Public\n multipleCollections\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n Public\n Async\n getYDocFromMdb\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getYDocFromMdb\n \n \n \n \n \n \n \n getYDocFromMdb(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n \n \n \n updateStoredDocWithDiff(docName: string, diff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n diff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n collectionName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n Readonly\n configService\n \n \n \n \n \n \n Type : ConfigService\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n connectionString\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n flushSize\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n mdb\n \n \n \n \n \n \n Type : MongodbPersistence\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n multipleCollections\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { MongodbPersistence } from 'y-mongodb-provider';\nimport { ConfigService } from '@nestjs/config';\nimport { applyUpdate, Doc, encodeStateAsUpdate, encodeStateVector } from 'yjs';\nimport { TldrawConfig } from '../config';\nimport { calculateDiff } from '../utils';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\n\n@Injectable()\nexport class TldrawBoardRepo {\n\tpublic connectionString: string;\n\n\tpublic collectionName: string;\n\n\tpublic flushSize: number;\n\n\tpublic multipleCollections: boolean;\n\n\tpublic mdb: MongodbPersistence;\n\n\tconstructor(public readonly configService: ConfigService) {\n\t\tthis.connectionString = this.configService.get('CONNECTION_STRING');\n\t\tthis.collectionName = this.configService.get('TLDRAW_DB_COLLECTION_NAME') ?? 'drawings';\n\t\tthis.flushSize = this.configService.get('TLDRAW_DB_FLUSH_SIZE') ?? 400;\n\t\tthis.multipleCollections = this.configService.get('TLDRAW_DB_MULTIPLE_COLLECTIONS');\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\n\t\tthis.mdb = new MongodbPersistence(this.connectionString, {\n\t\t\tcollectionName: this.collectionName,\n\t\t\tflushSize: this.flushSize,\n\t\t\tmultipleCollections: this.multipleCollections,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\t// eslint-disable-next-line consistent-return\n\tpublic async getYDocFromMdb(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tconst yDoc = await this.mdb.getYDoc(docName);\n\t\tif (yDoc instanceof Doc) {\n\t\t\treturn yDoc;\n\t\t}\n\t}\n\n\tpublic updateStoredDocWithDiff(docName: string, diff: Uint8Array): void {\n\t\tconst calc = calculateDiff(diff);\n\t\tif (calc > 0) {\n\t\t\tvoid this.mdb.storeUpdate(docName, diff);\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tconst persistedYdoc = await this.getYDocFromMdb(docName);\n\t\tconst persistedStateVector = encodeStateVector(persistedYdoc);\n\t\tconst diff = encodeStateAsUpdate(ydoc, persistedStateVector);\n\t\tthis.updateStoredDocWithDiff(docName, diff);\n\n\t\tapplyUpdate(ydoc, encodeStateAsUpdate(persistedYdoc));\n\n\t\tydoc.on('update', (update: Uint8Array) => {\n\t\t\tvoid this.mdb.storeUpdate(docName, update);\n\t\t});\n\n\t\tpersistedYdoc.destroy();\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\tawait this.mdb.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawClientModule.html":{"url":"modules/TldrawClientModule.html","title":"module - TldrawClientModule","body":"\n \n\n\n\n\n Modules\n TldrawClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawClientModule\n\n\n\ncluster_TldrawClientModule_imports\n\n\n\ncluster_TldrawClientModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nTldrawClientModule\n\nTldrawClientModule\n\nTldrawClientModule -->\n\nLoggerModule->TldrawClientModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nTldrawClientModule -->\n\nDrawingElementAdapterService->TldrawClientModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw-client/tldraw-client.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DrawingElementAdapterService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DrawingElementAdapterService],\n\texports: [],\n})\nexport class TldrawClientModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawConfig.html":{"url":"interfaces/TldrawConfig.html","title":"interface - TldrawConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n \n \n \n \n CONNECTION_STRING: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface TldrawConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tTLDRAW_DB_COLLECTION_NAME: string;\n\tTLDRAW_DB_FLUSH_SIZE: string;\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: boolean;\n\tCONNECTION_STRING: string;\n\tFEATURE_TLDRAW_ENABLED: boolean;\n\tTLDRAW_PING_TIMEOUT: number;\n\tTLDRAW_GC_ENABLED: number;\n}\n\nconst tldrawConnectionString: string = Configuration.get('TLDRAW_DB_URL') as string;\n\nconst tldrawConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tTLDRAW_DB_COLLECTION_NAME: Configuration.get('TLDRAW__DB_COLLECTION_NAME') as string,\n\tTLDRAW_DB_FLUSH_SIZE: Configuration.get('TLDRAW__DB_FLUSH_SIZE') as number,\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: Configuration.get('TLDRAW__DB_MULTIPLE_COLLECTIONS') as boolean,\n\tFEATURE_TLDRAW_ENABLED: Configuration.get('FEATURE_TLDRAW_ENABLED') as boolean,\n\tCONNECTION_STRING: tldrawConnectionString,\n\tTLDRAW_PING_TIMEOUT: Configuration.get('TLDRAW__PING_TIMEOUT') as number,\n\tTLDRAW_GC_ENABLED: Configuration.get('TLDRAW__GC_ENABLED') as boolean,\n};\n\nexport const SOCKET_PORT = Configuration.get('TLDRAW__SOCKET_PORT') as number;\nexport const config = () => tldrawConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TldrawController.html":{"url":"controllers/TldrawController.html","title":"controller - TldrawController","body":"\n \n\n\n\n\n\n\n Controllers\n TldrawController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.controller.ts\n \n\n \n Prefix\n \n \n tldraw-document\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(urlParams: TldrawDeleteParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete every element of tldraw drawing by its docName.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':docName')\n \n \n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TldrawDeleteParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Controller, Delete, ForbiddenException, HttpCode, NotFoundException, Param } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { TldrawService } from '../service/tldraw.service';\nimport { TldrawDeleteParams } from './tldraw.params';\n\n@ApiTags('Tldraw Document')\n@Controller('tldraw-document')\nexport class TldrawController {\n\tconstructor(private readonly tldrawService: TldrawService) {}\n\n\t@ApiOperation({ summary: 'Delete every element of tldraw drawing by its docName.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':docName')\n\tasync deleteByDocName(@Param() urlParams: TldrawDeleteParams) {\n\t\tawait this.tldrawService.deleteByDocName(urlParams.docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawDeleteParams.html":{"url":"classes/TldrawDeleteParams.html","title":"class - TldrawDeleteParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawDeleteParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n docName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The name of drawing that should be deleted.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class TldrawDeleteParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The name of drawing that should be deleted.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdocName!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TldrawDrawing.html":{"url":"entities/TldrawDrawing.html","title":"entity - TldrawDrawing","body":"\n \n\n\n\n\n\n\n\n Entities\n TldrawDrawing\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n Optional\n action\n \n \n \n Optional\n clock\n \n \n \n docName\n \n \n \n value\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n clock\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:27\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawDrawingProps.html":{"url":"interfaces/TldrawDrawingProps.html","title":"interface - TldrawDrawingProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawDrawingProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n action\n \n \n \n Optional\n \n clock\n \n \n \n \n docName\n \n \n \n \n value\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n clock\n \n \n \n \n \n \n \n \n clock: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n \n \n docName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawModule.html":{"url":"modules/TldrawModule.html","title":"module - TldrawModule","body":"\n \n\n\n\n\n Modules\n TldrawModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawModule\n\n\n\ncluster_TldrawModule_imports\n\n\n\ncluster_TldrawModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nTldrawModule\n\nTldrawModule\n\nTldrawModule -->\n\nAuthenticationModule->TldrawModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawModule -->\n\nAuthorizationModule->TldrawModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawModule -->\n\nCoreModule->TldrawModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nTldrawModule -->\n\nRabbitMQWrapperTestModule->TldrawModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawModule -->\n\nLogger->TldrawModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawModule -->\n\nTldrawBoardRepo->TldrawModule\n\n\n\n\n\nTldrawRepo\n\nTldrawRepo\n\nTldrawModule -->\n\nTldrawRepo->TldrawModule\n\n\n\n\n\nTldrawService\n\nTldrawService\n\nTldrawModule -->\n\nTldrawService->TldrawModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawRepo\n \n \n TldrawService\n \n \n \n \n Controllers\n \n \n TldrawController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { TldrawDrawing } from './entities';\nimport { config } from './config';\nimport { TldrawService } from './service/tldraw.service';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawController } from './controller/tldraw.controller';\nimport { TldrawRepo } from './repo/tldraw.repo';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tRabbitMQWrapperTestModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: TLDRAW_DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [TldrawDrawing],\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t],\n\tproviders: [Logger, TldrawService, TldrawBoardRepo, TldrawRepo],\n\tcontrollers: [TldrawController],\n})\nexport class TldrawModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawRepo.html":{"url":"injectables/TldrawRepo.html","title":"injectable - TldrawRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(entity: TldrawDrawing)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entity: TldrawDrawing | TldrawDrawing[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing | TldrawDrawing[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDocName\n \n \n \n \n \n \n \n findByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { TldrawDrawing } from '../entities';\n\n@Injectable()\nexport class TldrawRepo {\n\tconstructor(private readonly _em: EntityManager) {}\n\n\tasync create(entity: TldrawDrawing): Promise {\n\t\tawait this._em.persistAndFlush(entity);\n\t}\n\n\tasync findByDocName(docName: string): Promise {\n\t\treturn this._em.find(TldrawDrawing, { docName });\n\t}\n\n\tasync delete(entity: TldrawDrawing | TldrawDrawing[]): Promise {\n\t\tawait this._em.removeAndFlush(entity);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawService.html":{"url":"injectables/TldrawService.html","title":"injectable - TldrawService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tldrawRepo: TldrawRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tldrawRepo\n \n \n TldrawRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TldrawRepo } from '../repo/tldraw.repo';\n\n@Injectable()\nexport class TldrawService {\n\tconstructor(private readonly tldrawRepo: TldrawRepo) {}\n\n\tasync deleteByDocName(docName: string): Promise {\n\t\tconst drawings = await this.tldrawRepo.findByDocName(docName);\n\t\tawait this.tldrawRepo.delete(drawings);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawTestModule.html":{"url":"modules/TldrawTestModule.html","title":"module - TldrawTestModule","body":"\n \n\n\n\n\n Modules\n TldrawTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawTestModule\n\n\n\ncluster_TldrawTestModule_providers\n\n\n\ncluster_TldrawTestModule_imports\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nTldrawTestModule\n\nTldrawTestModule\n\nTldrawTestModule -->\n\nAuthenticationApiModule->TldrawTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nTldrawTestModule -->\n\nAuthenticationModule->TldrawTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawTestModule -->\n\nAuthorizationModule->TldrawTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawTestModule -->\n\nCoreModule->TldrawTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nTldrawTestModule -->\n\nLoggerModule->TldrawTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nTldrawTestModule -->\n\nMongoMemoryDatabaseModule->TldrawTestModule\n\n\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawTestModule -->\n\nTldrawWsModule->TldrawTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawTestModule -->\n\nTldrawBoardRepo->TldrawTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawTestModule -->\n\nTldrawWsService->TldrawTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n TldrawWsModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-test.module.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { Course, User } from '@shared/domain/entity';\nimport { AuthenticationApiModule } from '../authentication/authentication-api.module';\nimport { TldrawWsModule } from './tldraw-ws.module';\nimport { TldrawWs } from './controller';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\n\nconst imports = [\n\tTldrawWsModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Course] }),\n\tAuthenticationApiModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWs.html":{"url":"classes/TldrawWs.html","title":"class - TldrawWs","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWs\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.ws.ts\n \n\n\n\n\n \n Implements\n \n \n OnGatewayInit\n OnGatewayConnection\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n server\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n afterInit\n \n \n Private\n getDocNameFromRequest\n \n \n Public\n handleConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawWsService: TldrawWsService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawWsService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n server\n \n \n \n \n \n \n Type : Server\n\n \n \n \n \n Decorators : \n \n \n @WebSocketServer()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n afterInit\n \n \n \n \n \n \n \n afterInit()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getDocNameFromRequest\n \n \n \n \n \n \n \n getDocNameFromRequest(request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n handleConnection\n \n \n \n \n \n \n \n handleConnection(client: WebSocket, request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WebSocketGateway, WebSocketServer, OnGatewayInit, OnGatewayConnection } from '@nestjs/websockets';\nimport { Server, WebSocket } from 'ws';\nimport { ConfigService } from '@nestjs/config';\nimport { TldrawConfig, SOCKET_PORT } from '../config';\nimport { WsCloseCodeEnum } from '../types';\nimport { TldrawWsService } from '../service';\n\n@WebSocketGateway(SOCKET_PORT)\nexport class TldrawWs implements OnGatewayInit, OnGatewayConnection {\n\t@WebSocketServer()\n\tserver!: Server;\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawWsService: TldrawWsService\n\t) {}\n\n\tpublic handleConnection(client: WebSocket, request: Request): void {\n\t\tconst docName = this.getDocNameFromRequest(request);\n\n\t\tif (docName.length > 0 && this.configService.get('FEATURE_TLDRAW_ENABLED')) {\n\t\t\tthis.tldrawWsService.setupWSConnection(client, docName);\n\t\t} else {\n\t\t\tclient.close(\n\t\t\t\tWsCloseCodeEnum.WS_CLIENT_BAD_REQUEST_CODE,\n\t\t\t\t'Document name is mandatory in url or Tldraw Tool is turned off.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic afterInit(): void {\n\t\tthis.tldrawWsService.setPersistence({\n\t\t\tbindState: async (docName, ydoc) => {\n\t\t\t\tawait this.tldrawWsService.updateDocument(docName, ydoc);\n\t\t\t},\n\t\t\twriteState: async (docName) => {\n\t\t\t\t// This is called when all connections to the document are closed.\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\t\t\tawait this.tldrawWsService.flushDocument(docName);\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate getDocNameFromRequest(request: Request): string {\n\t\tconst urlStripped = request.url.replace(/(\\/)|(tldraw-server)/g, '');\n\t\treturn urlStripped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWsFactory.html":{"url":"classes/TldrawWsFactory.html","title":"class - TldrawWsFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWsFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/tldraw.ws.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createWebsocket\n \n \n Static\n createWsSharedDocDo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createWebsocket\n \n \n \n \n \n \n \n createWebsocket(readyState: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n readyState\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : WebSocket\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n createWsSharedDocDo\n \n \n \n \n \n \n \n createWsSharedDocDo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5\n \n \n\n\n \n \n\n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WsSharedDocDo } from '@modules/tldraw/domain/ws-shared-doc.do';\nimport WebSocket from 'ws';\n\nexport class TldrawWsFactory {\n\tpublic static createWsSharedDocDo(): WsSharedDocDo {\n\t\treturn { conns: new Map(), destroy: () => {} } as WsSharedDocDo;\n\t}\n\n\tpublic static createWebsocket(readyState: number): WebSocket {\n\t\treturn { readyState, close: () => {} } as WebSocket;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsModule.html":{"url":"modules/TldrawWsModule.html","title":"module - TldrawWsModule","body":"\n \n\n\n\n\n Modules\n TldrawWsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsModule\n\n\n\ncluster_TldrawWsModule_providers\n\n\n\ncluster_TldrawWsModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawWsModule -->\n\nCoreModule->TldrawWsModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawWsModule -->\n\nLogger->TldrawWsModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsModule -->\n\nTldrawBoardRepo->TldrawWsModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsModule -->\n\nTldrawWsService->TldrawWsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { TldrawWs } from './controller';\nimport { config } from './config';\n\n@Module({\n\timports: [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))],\n\tproviders: [Logger, TldrawWs, TldrawWsService, TldrawBoardRepo],\n})\nexport class TldrawWsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawWsService.html":{"url":"injectables/TldrawWsService.html","title":"injectable - TldrawWsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawWsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.ws.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n docs\n \n \n Public\n persistence\n \n \n Public\n pingTimeout\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n closeConn\n \n \n Public\n Async\n flushDocument\n \n \n getYDoc\n \n \n Public\n messageHandler\n \n \n Public\n send\n \n \n Public\n setPersistence\n \n \n Public\n setupWSConnection\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateHandler\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawBoardRepo: TldrawBoardRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawBoardRepo\n \n \n TldrawBoardRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n closeConn\n \n \n \n \n \n \n \n closeConn(doc: WsSharedDocDo, ws: WebSocket)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getYDoc\n \n \n \n \n \n \ngetYDoc(docName: string, gc)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102\n \n \n\n\n \n \n Gets a Y.Doc by name, whether in memory or on disk\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \nthe name of the Y.Doc to find or create\n\n\n \n \n \n gc\n \n \n\n \n No\n \n\n \n true\n \n\n \n \nwhether to allow gc on the doc (applies only when created)\n\n\n \n \n \n \n \n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n messageHandler\n \n \n \n \n \n \n \n messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n send\n \n \n \n \n \n \n \n send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setPersistence\n \n \n \n \n \n \n \n setPersistence(persistence_: Persitence)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n persistence_\n \n Persitence\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setupWSConnection\n \n \n \n \n \n \n \n setupWSConnection(ws: WebSocket, docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n \n \n\n \n \n docName\n \n string\n \n\n \n No\n \n\n \n 'GLOBAL'\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateHandler\n \n \n \n \n \n \n \n updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n update\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n origin\n \n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n docs\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n persistence\n \n \n \n \n \n \n Type : Persitence | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n pingTimeout\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport WebSocket from 'ws';\nimport { applyAwarenessUpdate, encodeAwarenessUpdate, removeAwarenessStates } from 'y-protocols/awareness';\nimport { encoding, decoding, map } from 'lib0';\nimport { readSyncMessage, writeSyncStep1, writeUpdate } from 'y-protocols/sync';\nimport { Persitence, WSConnectionState, WSMessageType } from '../types';\nimport { TldrawConfig } from '../config';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\nimport { TldrawBoardRepo } from '../repo';\n\n@Injectable()\nexport class TldrawWsService {\n\tpublic pingTimeout: number;\n\n\tpublic persistence: Persitence | null = null;\n\n\tpublic docs = new Map();\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawBoardRepo: TldrawBoardRepo\n\t) {\n\t\tthis.pingTimeout = this.configService.get('TLDRAW_PING_TIMEOUT');\n\t}\n\n\tpublic setPersistence(persistence_: Persitence): void {\n\t\tthis.persistence = persistence_;\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} ws\n\t */\n\tpublic closeConn(doc: WsSharedDocDo, ws: WebSocket): void {\n\t\tif (doc.conns.has(ws)) {\n\t\t\tconst controlledIds = doc.conns.get(ws) as Set;\n\t\t\tdoc.conns.delete(ws);\n\t\t\tremoveAwarenessStates(doc.awareness, Array.from(controlledIds), null);\n\t\t\tif (doc.conns.size === 0 && this.persistence !== null) {\n\t\t\t\t// if persisted, we store state and destroy ydocument\n\t\t\t\tthis.persistence\n\t\t\t\t\t.writeState(doc.name, doc)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdoc.destroy();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {});\n\t\t\t\tthis.docs.delete(doc.name);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tws.close();\n\t\t} catch (err) {\n\t\t\tthrow new Error('Cannot close the connection. It is possible that connection is already closed.');\n\t\t}\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} conn\n\t * @param {Uint8Array} message\n\t */\n\tpublic send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array): void {\n\t\tif (conn.readyState !== WSConnectionState.CONNECTING && conn.readyState !== WSConnectionState.OPEN) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t\ttry {\n\t\t\tconn.send(message, (err: Error | undefined) => {\n\t\t\t\tif (err != null) {\n\t\t\t\t\tthis.closeConn(doc, conn);\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t}\n\n\t/**\n\t * @param {Uint8Array} update\n\t * @param {any} origin\n\t * @param {WsSharedDocDo} doc\n\t */\n\tpublic updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo): void {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\twriteUpdate(encoder, update);\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\tdoc.conns.forEach((_, conn) => {\n\t\t\tthis.send(doc, conn, message);\n\t\t});\n\t}\n\n\t/**\n\t * Gets a Y.Doc by name, whether in memory or on disk\n\t *\n\t * @param {string} docName - the name of the Y.Doc to find or create\n\t * @param {boolean} gc - whether to allow gc on the doc (applies only when created)\n\t * @return {WsSharedDocDo}\n\t */\n\tgetYDoc(docName: string, gc = true): WsSharedDocDo {\n\t\treturn map.setIfUndefined(this.docs, docName, () => {\n\t\t\tconst doc = new WsSharedDocDo(docName, this, gc);\n\t\t\tif (this.persistence !== null) {\n\t\t\t\tthis.persistence.bindState(docName, doc).catch(() => {});\n\t\t\t}\n\t\t\tthis.docs.set(docName, doc);\n\t\t\treturn doc;\n\t\t});\n\t}\n\n\tpublic messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array): void {\n\t\ttry {\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tconst decoder = decoding.createDecoder(message);\n\t\t\tconst messageType = decoding.readVarUint(decoder);\n\t\t\tswitch (messageType) {\n\t\t\t\tcase WSMessageType.SYNC:\n\t\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\t\t\treadSyncMessage(decoder, encoder, doc, conn);\n\n\t\t\t\t\t// If the `encoder` only contains the type of reply message and no\n\t\t\t\t\t// message, there is no need to send the message. When `encoder` only\n\t\t\t\t\t// contains the type of reply, its length is 1.\n\t\t\t\t\tif (encoding.length(encoder) > 1) {\n\t\t\t\t\t\tthis.send(doc, conn, encoding.toUint8Array(encoder));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase WSMessageType.AWARENESS: {\n\t\t\t\t\tapplyAwarenessUpdate(doc.awareness, decoding.readVarUint8Array(decoder), conn);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tdoc.emit('error', [err]);\n\t\t}\n\t}\n\n\t/**\n\t * @param {WebSocket} ws\n\t * @param {string} docName\n\t */\n\tpublic setupWSConnection(ws: WebSocket, docName = 'GLOBAL'): void {\n\t\tws.binaryType = 'arraybuffer';\n\t\t// get doc, initialize if it does not exist yet\n\t\tconst doc = this.getYDoc(docName, true);\n\t\tdoc.conns.set(ws, new Set());\n\n\t\t// listen and reply to events\n\t\tws.on('message', (message: ArrayBufferLike) => {\n\t\t\tthis.messageHandler(ws, doc, new Uint8Array(message));\n\t\t});\n\n\t\t// Check if connection is still alive\n\t\tlet pongReceived = true;\n\t\tconst pingInterval = setInterval(() => {\n\t\t\tconst hasConn = doc.conns.has(ws);\n\n\t\t\tif (pongReceived) {\n\t\t\t\tif (!hasConn) return;\n\t\t\t\tpongReceived = false;\n\n\t\t\t\ttry {\n\t\t\t\t\tws.ping();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t\t\tclearInterval(pingInterval);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (hasConn) {\n\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t}\n\n\t\t\tclearInterval(pingInterval);\n\t\t}, this.pingTimeout);\n\t\tws.on('close', () => {\n\t\t\tthis.closeConn(doc, ws);\n\t\t\tclearInterval(pingInterval);\n\t\t});\n\t\tws.on('pong', () => {\n\t\t\tpongReceived = true;\n\t\t});\n\t\t{\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\twriteSyncStep1(encoder, doc);\n\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\tconst awarenessStates = doc.awareness.getStates();\n\t\t\tif (awarenessStates.size > 0) {\n\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\t\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(doc.awareness, Array.from(awarenessStates.keys())));\n\t\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tawait this.tldrawBoardRepo.updateDocument(docName, ydoc);\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\tawait this.tldrawBoardRepo.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsTestModule.html":{"url":"modules/TldrawWsTestModule.html","title":"module - TldrawWsTestModule","body":"\n \n\n\n\n\n Modules\n TldrawWsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsTestModule\n\n\n\ncluster_TldrawWsTestModule_providers\n\n\n\ncluster_TldrawWsTestModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsTestModule\n\nTldrawWsTestModule\n\nTldrawWsTestModule -->\n\nCoreModule->TldrawWsTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsTestModule -->\n\nTldrawBoardRepo->TldrawWsTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsTestModule -->\n\nTldrawWsService->TldrawWsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-ws-test.module.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { config } from './config';\nimport { TldrawWs } from './controller';\n\nconst imports = [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawWsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawWsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToggleUserLoginMigrationUc.html":{"url":"injectables/ToggleUserLoginMigrationUc.html","title":"injectable - ToggleUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToggleUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n Async\n setMigrationMandatory\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationMandatoryLoggable, UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class ToggleUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean): Promise {\n\t\tawait this.checkPermission(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationService.setMigrationMandatory(userLoginMigration, mandatory);\n\n\t\tthis.logger.debug(new UserLoginMigrationMandatoryLoggable(userId, userLoginMigration.id, mandatory));\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPermission(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TokenGenerator.html":{"url":"injectables/TokenGenerator.html","title":"injectable - TokenGenerator","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TokenGenerator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/token-generator.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateShareToken\n \n \n \n \n \n \ngenerateShareToken()\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/token-generator.service.ts:7\n \n \n\n\n \n \n\n \n Returns : ShareTokenString\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { nanoid } from 'nanoid';\nimport { ShareTokenString } from '../domainobject/share-token.do';\n\n@Injectable()\nexport class TokenGenerator {\n\tgenerateShareToken(): ShareTokenString {\n\t\tconst token = nanoid(12);\n\t\treturn token;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestLoggableException.html":{"url":"classes/TokenRequestLoggableException.html","title":"class - TokenRequestLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class TokenRequestLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'OAUTH_TOKEN_REQUEST_ERROR');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestMapper.html":{"url":"classes/TokenRequestMapper.html","title":"class - TokenRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/mapper/token-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n \n \n \n \n \n createAuthenticationCodeGrantTokenRequestPayload(clientId: string, decryptedClientSecret: string, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n decryptedClientSecret\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n \n \n \n mapTokenResponseToDto(response: OauthTokenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n OauthTokenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OAuthTokenDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OAuthTokenDto } from '../interface';\nimport { OAuthGrantType } from '../interface/oauth-grant-type.enum';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from '../service/dto';\n\nexport class TokenRequestMapper {\n\tstatic createAuthenticationCodeGrantTokenRequestPayload(\n\t\tclientId: string,\n\t\tdecryptedClientSecret: string,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\treturn new AuthenticationCodeGrantTokenRequest({\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: decryptedClientSecret,\n\t\t\tredirect_uri: redirectUri,\n\t\t\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT,\n\t\t\tcode,\n\t\t});\n\t}\n\n\tstatic mapTokenResponseToDto(response: OauthTokenResponse): OAuthTokenDto {\n\t\treturn new OAuthTokenDto({\n\t\t\tidToken: response.id_token,\n\t\t\trefreshToken: response.refresh_token,\n\t\t\taccessToken: response.access_token,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TooManyPseudonymsLoggableException.html":{"url":"classes/TooManyPseudonymsLoggableException.html","title":"class - TooManyPseudonymsLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TooManyPseudonymsLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonym: string)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:18\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger/types';\n\nexport class TooManyPseudonymsLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly pseudonym: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\t\ttitle: 'Too many pseudonyms where found.',\n\t\t\t\tdefaultMessage: 'Too many pseudonyms where found.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\tmessage: 'Too many pseudonyms where found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tpseudonym: this.pseudonym,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolApiModule.html":{"url":"modules/ToolApiModule.html","title":"module - ToolApiModule","body":"\n \n\n\n\n\n Modules\n ToolApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolApiModule\n\n\n\ncluster_ToolApiModule_providers\n\n\n\ncluster_ToolApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nToolApiModule\n\nToolApiModule\n\nToolApiModule -->\n\nAuthorizationModule->ToolApiModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nToolApiModule -->\n\nBoardModule->ToolApiModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolApiModule -->\n\nCommonToolModule->ToolApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolApiModule -->\n\nLearnroomModule->ToolApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolApiModule -->\n\nLegacySchoolModule->ToolApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nToolApiModule -->\n\nLoggerModule->ToolApiModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolApiModule -->\n\nToolConfigModule->ToolApiModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nToolApiModule -->\n\nToolModule->ToolApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolApiModule -->\n\nUserModule->ToolApiModule\n\n\n\n\n\nContextExternalToolUc\n\nContextExternalToolUc\n\nToolApiModule -->\n\nContextExternalToolUc->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nToolApiModule -->\n\nExternalToolConfigurationService->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationUc\n\nExternalToolConfigurationUc\n\nToolApiModule -->\n\nExternalToolConfigurationUc->ToolApiModule\n\n\n\n\n\nExternalToolRequestMapper\n\nExternalToolRequestMapper\n\nToolApiModule -->\n\nExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nExternalToolResponseMapper\n\nExternalToolResponseMapper\n\nToolApiModule -->\n\nExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nExternalToolUc\n\nExternalToolUc\n\nToolApiModule -->\n\nExternalToolUc->ToolApiModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nToolApiModule -->\n\nLtiToolRepo->ToolApiModule\n\n\n\n\n\nSchoolExternalToolRequestMapper\n\nSchoolExternalToolRequestMapper\n\nToolApiModule -->\n\nSchoolExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolResponseMapper\n\nSchoolExternalToolResponseMapper\n\nToolApiModule -->\n\nSchoolExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolUc\n\nSchoolExternalToolUc\n\nToolApiModule -->\n\nSchoolExternalToolUc->ToolApiModule\n\n\n\n\n\nToolLaunchUc\n\nToolLaunchUc\n\nToolApiModule -->\n\nToolLaunchUc->ToolApiModule\n\n\n\n\n\nToolPermissionHelper\n\nToolPermissionHelper\n\nToolApiModule -->\n\nToolPermissionHelper->ToolApiModule\n\n\n\n\n\nToolReferenceUc\n\nToolReferenceUc\n\nToolApiModule -->\n\nToolReferenceUc->ToolApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolUc\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolConfigurationUc\n \n \n ExternalToolRequestMapper\n \n \n ExternalToolResponseMapper\n \n \n ExternalToolUc\n \n \n LtiToolRepo\n \n \n SchoolExternalToolRequestMapper\n \n \n SchoolExternalToolResponseMapper\n \n \n SchoolExternalToolUc\n \n \n ToolLaunchUc\n \n \n ToolPermissionHelper\n \n \n ToolReferenceUc\n \n \n \n \n Controllers\n \n \n ToolLaunchController\n \n \n ToolConfigurationController\n \n \n ToolSchoolController\n \n \n ToolContextController\n \n \n ToolReferenceController\n \n \n ToolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { CommonToolModule } from './common';\nimport { ToolPermissionHelper } from './common/uc/tool-permission-helper';\nimport { ToolContextController } from './context-external-tool/controller';\nimport { ToolReferenceController } from './context-external-tool/controller/tool-reference.controller';\nimport { ContextExternalToolUc, ToolReferenceUc } from './context-external-tool/uc';\nimport { ToolConfigurationController, ToolController } from './external-tool/controller';\nimport { ExternalToolRequestMapper, ExternalToolResponseMapper } from './external-tool/mapper';\nimport { ExternalToolConfigurationService } from './external-tool/service';\nimport { ExternalToolConfigurationUc, ExternalToolUc } from './external-tool/uc';\nimport { ToolSchoolController } from './school-external-tool/controller';\nimport { SchoolExternalToolRequestMapper, SchoolExternalToolResponseMapper } from './school-external-tool/mapper';\nimport { SchoolExternalToolUc } from './school-external-tool/uc';\nimport { ToolConfigModule } from './tool-config.module';\nimport { ToolLaunchController } from './tool-launch/controller/tool-launch.controller';\nimport { ToolLaunchUc } from './tool-launch/uc';\nimport { ToolModule } from './tool.module';\n\n@Module({\n\timports: [\n\t\tToolModule,\n\t\tCommonToolModule,\n\t\tUserModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t\tToolConfigModule,\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tcontrollers: [\n\t\tToolLaunchController,\n\t\tToolConfigurationController,\n\t\tToolSchoolController,\n\t\tToolContextController,\n\t\tToolReferenceController,\n\t\tToolController,\n\t],\n\tproviders: [\n\t\tLtiToolRepo,\n\t\tExternalToolUc,\n\t\tExternalToolConfigurationUc,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolRequestMapper,\n\t\tExternalToolResponseMapper,\n\t\tSchoolExternalToolUc,\n\t\tSchoolExternalToolResponseMapper,\n\t\tSchoolExternalToolRequestMapper,\n\t\tContextExternalToolUc,\n\t\tToolLaunchUc,\n\t\tToolReferenceUc,\n\t\tToolPermissionHelper,\n\t],\n})\nexport class ToolApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolConfigModule.html":{"url":"modules/ToolConfigModule.html","title":"module - ToolConfigModule","body":"\n \n\n\n\n\n Modules\n ToolConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport ToolConfiguration, { ToolFeatures } from './tool-config';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: ToolFeatures,\n\t\t\tuseValue: ToolConfiguration.toolFeatures,\n\t\t},\n\t],\n\texports: [ToolFeatures],\n})\nexport class ToolConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfiguration.html":{"url":"classes/ToolConfiguration.html","title":"class - ToolConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n \n \n Type : IToolFeatures\n\n \n \n \n \n Default value : {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-config.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolConfigurationController.html":{"url":"controllers/ToolConfigurationController.html","title":"controller - ToolConfigurationController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolConfigurationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(currentUser: ICurrentUser, params: ContextRefParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given context'})@ApiOkResponse({description: 'List of available tools for a context', type: ContextExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextRefParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(currentUser: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school/:schoolId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given school'})@ApiOkResponse({description: 'List of available tools for a school', type: SchoolExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n getConfigurationTemplateForContext(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a Context External Tool'})@ApiFoundResponse({description: 'Configuration template for a Context External Tool', type: ContextExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n \n getConfigurationTemplateForSchool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school-external-tools/:schoolExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a School External Tool'})@ApiFoundResponse({description: 'Configuration template for a School External Tool', type: SchoolExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('context-types')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all context types available in the SVS'})@ApiOkResponse({description: 'List of available context types', type: ToolContextTypesListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ExternalTool } from '../domain';\nimport { ToolConfigurationMapper } from '../mapper/tool-configuration.mapper';\nimport { ContextExternalToolTemplateInfo, ExternalToolConfigurationUc } from '../uc';\nimport {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tContextExternalToolIdParams,\n\tContextRefParams,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolIdParams,\n\tSchoolIdParams,\n\tToolContextTypesListResponse,\n} from './dto';\nimport { ToolContextType } from '../../common/enum';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolConfigurationController {\n\tconstructor(private readonly externalToolConfigurationUc: ExternalToolConfigurationUc) {}\n\n\t@Get('context-types')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all context types available in the SVS' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available context types',\n\t\ttype: ToolContextTypesListResponse,\n\t})\n\tpublic async getToolContextTypes(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst toolContextTypes: ToolContextType[] = await this.externalToolConfigurationUc.getToolContextTypes(\n\t\t\tcurrentUser.userId\n\t\t);\n\n\t\tconst mapped: ToolContextTypesListResponse =\n\t\t\tToolConfigurationMapper.mapToToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school/:schoolId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given school' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a school',\n\t\ttype: SchoolExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst availableTools: ExternalTool[] = await this.externalToolConfigurationUc.getAvailableToolsForSchool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get(':contextType/:contextId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a context',\n\t\ttype: ContextExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextRefParams\n\t): Promise {\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] =\n\t\t\tawait this.externalToolConfigurationUc.getAvailableToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tcurrentUser.schoolId,\n\t\t\t\tparams.contextId,\n\t\t\t\tparams.contextType\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school-external-tools/:schoolExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a School External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a School External Tool',\n\t\ttype: SchoolExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolConfigurationUc.getTemplateForSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('context-external-tools/:contextExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a Context External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a Context External Tool',\n\t\ttype: ContextExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ContextExternalToolTemplateInfo =\n\t\t\tawait this.externalToolConfigurationUc.getTemplateForContextExternalTool(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextExternalToolId\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfigurationMapper.html":{"url":"classes/ToolConfigurationMapper.html","title":"class - ToolConfigurationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfigurationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateListResponse(toolInfos: ContextExternalToolTemplateInfo[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfos\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateResponse(toolInfo: ContextExternalToolTemplateInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfo\n \n ContextExternalToolTemplateInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateListResponse(externalTools: ExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n \n \n \n mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolContextTypes\n \n ToolContextType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextTypesListResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tToolContextTypesListResponse,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc';\nimport { ExternalToolResponseMapper } from './external-tool-response.mapper';\nimport { ToolContextType } from '../../common/enum';\n\nexport class ToolConfigurationMapper {\n\tstatic mapToSchoolExternalToolConfigurationTemplateResponse(\n\t\texternalTool: ExternalTool\n\t): SchoolExternalToolConfigurationTemplateResponse {\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToSchoolExternalToolConfigurationTemplateListResponse(\n\t\texternalTools: ExternalTool[]\n\t): SchoolExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = externalTools.map(\n\t\t\t(tool): SchoolExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToSchoolExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateResponse(\n\t\ttoolInfo: ContextExternalToolTemplateInfo\n\t): ContextExternalToolConfigurationTemplateResponse {\n\t\tconst { externalTool, schoolExternalTool } = toolInfo;\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tschoolExternalToolId: schoolExternalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateListResponse(\n\t\ttoolInfos: ContextExternalToolTemplateInfo[]\n\t): ContextExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = toolInfos.map(\n\t\t\t(tool): ContextExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToContextExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[]): ToolContextTypesListResponse {\n\t\tconst mappedTypes = new ToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mappedTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolContextController.html":{"url":"controllers/ToolContextController.html","title":"controller - ToolContextController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolContextController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts\n \n\n \n Prefix\n \n \n tools/context-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(currentUser: ICurrentUser, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The ContextExternalTool has been successfully created.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a ContextExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiNotFoundResponse()@ApiOkResponse({description: 'Returns a ContextExternalTool for the given id', type: ContextExternalToolResponse})@ApiOperation({summary: 'Searches a ContextExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOkResponse({description: 'Returns a list of ContextExternalTools for the given context', type: ContextExternalToolSearchListResponse})@ApiOperation({summary: 'Returns a list of ContextExternalTools for the given context'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put(':contextExternalToolId')@ApiOkResponse({description: 'The ContextExternalTool has been successfully updated.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiUnprocessableEntityResponse()@ApiOperation({summary: 'Updates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolRequestMapper, ContextExternalToolResponseMapper } from '../mapper';\nimport { ContextExternalToolUc } from '../uc';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tContextExternalToolPostParams,\n\tContextExternalToolResponse,\n\tContextExternalToolSearchListResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/context-external-tools')\nexport class ToolContextController {\n\tconstructor(private readonly contextExternalToolUc: ContextExternalToolUc, private readonly logger: LegacyLogger) {}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully created.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a ContextExternalTool' })\n\tasync createContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolUc.createContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(createdTool);\n\n\t\tthis.logger.debug(`ContextExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a ContextExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tawait this.contextExternalToolUc.deleteContextExternalTool(currentUser.userId, params.contextExternalToolId);\n\n\t\tthis.logger.debug(\n\t\t\t`ContextExternalTool with id ${params.contextExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Get(':contextType/:contextId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a list of ContextExternalTools for the given context',\n\t\ttype: ContextExternalToolSearchListResponse,\n\t})\n\t@ApiOperation({ summary: 'Returns a list of ContextExternalTools for the given context' })\n\tasync getContextExternalToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] =\n\t\t\tawait this.contextExternalToolUc.getContextExternalToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextType,\n\t\t\t\tparams.contextId\n\t\t\t);\n\n\t\tconst mappedTools: ContextExternalToolResponse[] = contextExternalTools.map(\n\t\t\t(tool: ContextExternalTool): ContextExternalToolResponse =>\n\t\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(tool)\n\t\t);\n\n\t\tthis.logger.debug(\n\t\t\t`User with id ${currentUser.userId} fetched ContextExternalTools for contextType: ${params.contextType} and contextId: ${params.contextId}`\n\t\t);\n\n\t\tconst response: ContextExternalToolSearchListResponse = new ContextExternalToolSearchListResponse(mappedTools);\n\t\treturn response;\n\t}\n\n\t@Get(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiNotFoundResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a ContextExternalTool for the given id',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiOperation({ summary: 'Searches a ContextExternalTool for the given id' })\n\tasync getContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolUc.getContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(contextExternalTool);\n\n\t\treturn response;\n\t}\n\n\t@Put(':contextExternalToolId')\n\t@ApiOkResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully updated.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiOperation({ summary: 'Updates a ContextExternalTool' })\n\tasync updateContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolUc.updateContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tparams.contextExternalToolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(updatedTool);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextMapper.html":{"url":"classes/ToolContextMapper.html","title":"class - ToolContextMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../enum';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ToolContextMapper {\n\tstatic contextMapping: Record = {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextTypesListResponse.html":{"url":"classes/ToolContextTypesListResponse.html","title":"class - ToolContextTypesListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextTypesListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolContextType[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolContextType[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ToolContextTypesListResponse {\n\t@ApiProperty({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\tdata: ToolContextType[];\n\n\tconstructor(data: ToolContextType[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolController.html":{"url":"controllers/ToolController.html","title":"controller - ToolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool.controller.ts\n \n\n \n Prefix\n \n \n tools/external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(currentUser: ICurrentUser, externalToolParams: ExternalToolCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The Tool has been successfully created.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':externalToolId')@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})@ApiOperation({summary: 'Deletes an ExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(currentUser: ICurrentUser, filterQuery: ExternalToolSearchParams, pagination: PaginationParams, sortingQuery: SortExternalToolParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'Tools has been found.', type: ExternalToolSearchListResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns a list of ExternalTools'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n filterQuery\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':externalToolId')@ApiOperation({summary: 'Returns an ExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n \n getExternalToolLogo(params: ExternalToolIdParams, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/logo')@ApiOperation({summary: 'Gets the logo of an external tool.'})@ApiOkResponse({description: 'Logo of external tool fetched successfully.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:163\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an external tool.'})@ApiOkResponse({description: 'Metadata of external tool fetched successfully.', type: ExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:179\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams, externalToolParams: ExternalToolUpdateParams)\n \n \n\n \n \n Decorators : \n \n @Post('/:externalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Query, Res } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { PaginationParams } from '@shared/controller';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Response } from 'express';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolMetadata } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\n\nimport { ExternalToolMetadataMapper, ExternalToolRequestMapper, ExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolLogoService } from '../service';\nimport { ExternalToolCreate, ExternalToolUc, ExternalToolUpdate } from '../uc';\nimport {\n\tExternalToolCreateParams,\n\tExternalToolIdParams,\n\tExternalToolMetadataResponse,\n\tExternalToolResponse,\n\tExternalToolSearchListResponse,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tSortExternalToolParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/external-tools')\nexport class ToolController {\n\tconstructor(\n\t\tprivate readonly externalToolUc: ExternalToolUc,\n\t\tprivate readonly externalToolDOMapper: ExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\t@Post()\n\t@ApiCreatedResponse({ description: 'The Tool has been successfully created.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates an ExternalTool' })\n\tasync createExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() externalToolParams: ExternalToolCreateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolCreate = this.externalToolDOMapper.mapCreateRequest(externalToolParams);\n\n\t\tconst created: ExternalTool = await this.externalToolUc.createExternalTool(currentUser.userId, externalTool);\n\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(created);\n\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'Tools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns a list of ExternalTools' })\n\tasync findExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() filterQuery: ExternalToolSearchParams,\n\t\t@Query() pagination: PaginationParams,\n\t\t@Query() sortingQuery: SortExternalToolParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = this.externalToolDOMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query: ExternalToolSearchQuery =\n\t\t\tthis.externalToolDOMapper.mapExternalToolFilterQueryToExternalToolSearchQuery(filterQuery);\n\n\t\tconst tools: Page = await this.externalToolUc.findExternalTool(currentUser.userId, query, options);\n\n\t\tconst dtoList: ExternalToolResponse[] = tools.data.map(\n\t\t\t(tool: ExternalTool): ExternalToolResponse => ExternalToolResponseMapper.mapToExternalToolResponse(tool)\n\t\t);\n\t\tconst response: ExternalToolSearchListResponse = new ExternalToolSearchListResponse(\n\t\t\tdtoList,\n\t\t\ttools.total,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get(':externalToolId')\n\t@ApiOperation({ summary: 'Returns an ExternalTool for the given id' })\n\tasync getExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolUc.getExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(externalTool);\n\n\t\treturn mapped;\n\t}\n\n\t@Post('/:externalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates an ExternalTool' })\n\tasync updateExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams,\n\t\t@Body() externalToolParams: ExternalToolUpdateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolUpdate = this.externalToolDOMapper.mapUpdateRequest(externalToolParams);\n\t\tconst updated: ExternalTool = await this.externalToolUc.updateExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId,\n\t\t\texternalTool\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(updated);\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Delete(':externalToolId')\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\t@ApiOperation({ summary: 'Deletes an ExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst promise: Promise = this.externalToolUc.deleteExternalTool(currentUser.userId, params.externalToolId);\n\t\tthis.logger.debug(\n\t\t\t`ExternalTool with id ${params.externalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\n\t\treturn promise;\n\t}\n\n\t@Get('/:externalToolId/logo')\n\t@ApiOperation({ summary: 'Gets the logo of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Logo of external tool fetched successfully.',\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getExternalToolLogo(@Param() params: ExternalToolIdParams, @Res() res: Response): Promise {\n\t\tconst externalToolLogo: ExternalToolLogo = await this.externalToolLogoService.getExternalToolBinaryLogo(\n\t\t\tparams.externalToolId\n\t\t);\n\t\tres.setHeader('Content-Type', externalToolLogo.contentType);\n\t\tres.setHeader('Cache-Control', 'must-revalidate');\n\t\tres.send(externalToolLogo.logo);\n\t}\n\n\t@Get('/:externalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of external tool fetched successfully.',\n\t\ttype: ExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalToolMetadata: ExternalToolMetadata = await this.externalToolUc.getMetadataForExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\n\t\tconst mapped: ExternalToolMetadataResponse =\n\t\t\tExternalToolMetadataMapper.mapToExternalToolMetadataResponse(externalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolLaunchController.html":{"url":"controllers/ToolLaunchController.html","title":"controller - ToolLaunchController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolLaunchController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(currentUser: ICurrentUser, params: ToolLaunchParams)\n \n \n\n \n \n Decorators : \n \n @Get('context/:contextExternalToolId/launch')@ApiOperation({summary: 'Get tool launch request for a context external tool id'})@ApiOkResponse({description: 'Tool launch request', type: ToolLaunchRequestResponse})@ApiUnauthorizedResponse({description: 'Unauthorized'})@ApiForbiddenResponse({description: 'Forbidden'})@ApiBadRequestResponse({description: 'Outdated tools cannot be launched'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiForbiddenResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchRequest } from '../types';\nimport { ToolLaunchUc } from '../uc';\nimport { ToolLaunchParams, ToolLaunchRequestResponse } from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolLaunchController {\n\tconstructor(private readonly toolLaunchUc: ToolLaunchUc) {}\n\n\t@Get('context/:contextExternalToolId/launch')\n\t@ApiOperation({ summary: 'Get tool launch request for a context external tool id' })\n\t@ApiOkResponse({ description: 'Tool launch request', type: ToolLaunchRequestResponse })\n\t@ApiUnauthorizedResponse({ description: 'Unauthorized' })\n\t@ApiForbiddenResponse({ description: 'Forbidden' })\n\t@ApiBadRequestResponse({ description: 'Outdated tools cannot be launched' })\n\tasync getToolLaunchRequest(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ToolLaunchParams\n\t): Promise {\n\t\tconst toolLaunchRequest: ToolLaunchRequest = await this.toolLaunchUc.getToolLaunchRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ToolLaunchRequestResponse = ToolLaunchMapper.mapToToolLaunchRequestResponse(toolLaunchRequest);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchData.html":{"url":"classes/ToolLaunchData.html","title":"class - ToolLaunchData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n openNewTab\n \n \n properties\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : PropertyData[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolLaunchDataType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyData } from './property-data';\nimport { ToolLaunchDataType } from './tool-launch-data-type';\n\nexport class ToolLaunchData {\n\tbaseUrl: string;\n\n\ttype: ToolLaunchDataType;\n\n\tproperties: PropertyData[];\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchData) {\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.type = props.type;\n\t\tthis.properties = props.properties;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchMapper.html":{"url":"classes/ToolLaunchMapper.html","title":"class - ToolLaunchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n Static\n mapToToolConfigType\n \n \n Static\n mapToToolLaunchDataType\n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n \n \n \n \n \n mapToParameterLocation(location: CustomParameterLocation)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n location\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PropertyLocation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolConfigType\n \n \n \n \n \n \n \n mapToToolConfigType(launchDataType: ToolLaunchDataType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n launchDataType\n \n ToolLaunchDataType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolConfigType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchDataType\n \n \n \n \n \n \n \n mapToToolLaunchDataType(configType: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configType\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchDataType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n \n \n \n mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchRequest\n \n ToolLaunchRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequestResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation, ToolLaunchDataType, ToolLaunchRequest } from '../types';\nimport { ToolLaunchRequestResponse } from '../controller/dto';\nimport { CustomParameterLocation, ToolConfigType } from '../../common/enum';\n\nconst customToParameterLocationMapping: Record = {\n\t[CustomParameterLocation.PATH]: PropertyLocation.PATH,\n\t[CustomParameterLocation.BODY]: PropertyLocation.BODY,\n\t[CustomParameterLocation.QUERY]: PropertyLocation.QUERY,\n};\n\nconst toolConfigTypeToToolLaunchDataTypeMapping: Record = {\n\t[ToolConfigType.BASIC]: ToolLaunchDataType.BASIC,\n\t[ToolConfigType.LTI11]: ToolLaunchDataType.LTI11,\n\t[ToolConfigType.OAUTH2]: ToolLaunchDataType.OAUTH2,\n};\n\nconst toolLaunchDataTypeToToolConfigTypeMapping: Record = {\n\t[ToolLaunchDataType.BASIC]: ToolConfigType.BASIC,\n\t[ToolLaunchDataType.LTI11]: ToolConfigType.LTI11,\n\t[ToolLaunchDataType.OAUTH2]: ToolConfigType.OAUTH2,\n};\n\nexport class ToolLaunchMapper {\n\tstatic mapToParameterLocation(location: CustomParameterLocation): PropertyLocation {\n\t\tconst mappedLocation = customToParameterLocationMapping[location];\n\t\treturn mappedLocation;\n\t}\n\n\tstatic mapToToolLaunchDataType(configType: ToolConfigType): ToolLaunchDataType {\n\t\tconst mappedType = toolConfigTypeToToolLaunchDataTypeMapping[configType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolConfigType(launchDataType: ToolLaunchDataType): ToolConfigType {\n\t\tconst mappedType = toolLaunchDataTypeToToolConfigTypeMapping[launchDataType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest): ToolLaunchRequestResponse {\n\t\tconst { method, url, payload, openNewTab } = toolLaunchRequest;\n\n\t\tconst response = new ToolLaunchRequestResponse({\n\t\t\tmethod,\n\t\t\turl,\n\t\t\tpayload,\n\t\t\topenNewTab,\n\t\t});\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolLaunchModule.html":{"url":"modules/ToolLaunchModule.html","title":"module - ToolLaunchModule","body":"\n \n\n\n\n\n Modules\n ToolLaunchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolLaunchModule\n\n\n\ncluster_ToolLaunchModule_exports\n\n\n\ncluster_ToolLaunchModule_imports\n\n\n\ncluster_ToolLaunchModule_providers\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nToolLaunchModule\n\nToolLaunchModule\n\nToolLaunchModule -->\n\nBoardModule->ToolLaunchModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolLaunchModule -->\n\nCommonToolModule->ToolLaunchModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nToolLaunchModule -->\n\nContextExternalToolModule->ToolLaunchModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nToolLaunchModule -->\n\nExternalToolModule->ToolLaunchModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolLaunchModule -->\n\nLearnroomModule->ToolLaunchModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolLaunchModule -->\n\nLegacySchoolModule->ToolLaunchModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nToolLaunchModule -->\n\nSchoolExternalToolModule->ToolLaunchModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolLaunchModule -->\n\nUserModule->ToolLaunchModule\n\n\n\n\n\nToolLaunchService \n\nToolLaunchService \n\nToolLaunchService -->\n\nToolLaunchModule->ToolLaunchService \n\n\n\n\n\nAutoContextIdStrategy\n\nAutoContextIdStrategy\n\nToolLaunchModule -->\n\nAutoContextIdStrategy->ToolLaunchModule\n\n\n\n\n\nAutoContextNameStrategy\n\nAutoContextNameStrategy\n\nToolLaunchModule -->\n\nAutoContextNameStrategy->ToolLaunchModule\n\n\n\n\n\nAutoSchoolIdStrategy\n\nAutoSchoolIdStrategy\n\nToolLaunchModule -->\n\nAutoSchoolIdStrategy->ToolLaunchModule\n\n\n\n\n\nAutoSchoolNumberStrategy\n\nAutoSchoolNumberStrategy\n\nToolLaunchModule -->\n\nAutoSchoolNumberStrategy->ToolLaunchModule\n\n\n\n\n\nBasicToolLaunchStrategy\n\nBasicToolLaunchStrategy\n\nToolLaunchModule -->\n\nBasicToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nLti11EncryptionService\n\nLti11EncryptionService\n\nToolLaunchModule -->\n\nLti11EncryptionService->ToolLaunchModule\n\n\n\n\n\nLti11ToolLaunchStrategy\n\nLti11ToolLaunchStrategy\n\nToolLaunchModule -->\n\nLti11ToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nOAuth2ToolLaunchStrategy\n\nOAuth2ToolLaunchStrategy\n\nToolLaunchModule -->\n\nOAuth2ToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nToolLaunchService\n\nToolLaunchService\n\nToolLaunchModule -->\n\nToolLaunchService->ToolLaunchModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-launch/tool-launch.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AutoContextIdStrategy\n \n \n AutoContextNameStrategy\n \n \n AutoSchoolIdStrategy\n \n \n AutoSchoolNumberStrategy\n \n \n BasicToolLaunchStrategy\n \n \n Lti11EncryptionService\n \n \n Lti11ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n ToolLaunchService\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n SchoolExternalToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ToolLaunchService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport { ContextExternalToolModule } from '../context-external-tool';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { Lti11EncryptionService, ToolLaunchService } from './service';\nimport {\n\tAutoContextIdStrategy,\n\tAutoContextNameStrategy,\n\tAutoSchoolIdStrategy,\n\tAutoSchoolNumberStrategy,\n} from './service/auto-parameter-strategy';\nimport { BasicToolLaunchStrategy, Lti11ToolLaunchStrategy, OAuth2ToolLaunchStrategy } from './service/launch-strategy';\n\n@Module({\n\timports: [\n\t\tCommonToolModule,\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tLegacySchoolModule,\n\t\tUserModule,\n\t\tforwardRef(() => PseudonymModule), // i do not like this solution, the root problem is on other place but not detectable for me\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tproviders: [\n\t\tToolLaunchService,\n\t\tLti11EncryptionService,\n\t\tBasicToolLaunchStrategy,\n\t\tLti11ToolLaunchStrategy,\n\t\tOAuth2ToolLaunchStrategy,\n\t\tAutoContextIdStrategy,\n\t\tAutoContextNameStrategy,\n\t\tAutoSchoolIdStrategy,\n\t\tAutoSchoolNumberStrategy,\n\t],\n\texports: [ToolLaunchService],\n})\nexport class ToolLaunchModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchParams.html":{"url":"classes/ToolLaunchParams.html","title":"class - ToolLaunchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the context external tool', nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ToolLaunchParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The id of the context external tool', nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchRequest.html":{"url":"classes/ToolLaunchRequest.html","title":"class - ToolLaunchRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n method\n \n \n openNewTab\n \n \n Optional\n payload\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchRequest)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : LaunchRequestMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n payload\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LaunchRequestMethod } from './launch-request-method';\n\nexport class ToolLaunchRequest {\n\tmethod: LaunchRequestMethod;\n\n\turl: string;\n\n\tpayload?: string;\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchRequest) {\n\t\tthis.url = props.url;\n\t\tthis.method = props.method;\n\t\tthis.payload = props.payload;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchRequestResponse.html":{"url":"classes/ToolLaunchRequestResponse.html","title":"class - ToolLaunchRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n method\n \n \n \n Optional\n openNewTab\n \n \n \n Optional\n payload\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : LaunchRequestMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Launch Request method (GET or POST)', enum: LaunchRequestMethod, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Specifies whether the Tool should be launched in a new tab', example: true, required: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n payload\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The payload for the Tool Launch Request (optional)', example: '{ \"key\": \"value\" }', required: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL for the Tool Launch Request', example: 'https://example.com/tool-launch'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LaunchRequestMethod } from '../../types';\n\nexport class ToolLaunchRequestResponse {\n\t@ApiProperty({\n\t\tdescription: 'The Launch Request method (GET or POST)',\n\t\tenum: LaunchRequestMethod,\n\t\texample: LaunchRequestMethod.GET,\n\t})\n\tmethod!: LaunchRequestMethod;\n\n\t@ApiProperty({\n\t\tdescription: 'The URL for the Tool Launch Request',\n\t\texample: 'https://example.com/tool-launch',\n\t})\n\turl!: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The payload for the Tool Launch Request (optional)',\n\t\texample: '{ \"key\": \"value\" }',\n\t\trequired: false,\n\t})\n\tpayload?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Specifies whether the Tool should be launched in a new tab',\n\t\texample: true,\n\t\trequired: false,\n\t})\n\topenNewTab?: boolean;\n\n\tconstructor(props: ToolLaunchRequestResponse) {\n\t\tthis.url = props.url;\n\t\tthis.method = props.method;\n\t\tthis.payload = props.payload;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchService.html":{"url":"injectables/ToolLaunchService.html","title":"injectable - ToolLaunchService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateLaunchRequest\n \n \n Async\n getLaunchData\n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, externalToolService: ExternalToolService, basicToolLaunchStrategy: BasicToolLaunchStrategy, lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy, oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n basicToolLaunchStrategy\n \n \n BasicToolLaunchStrategy\n \n \n \n No\n \n \n \n \n lti11ToolLaunchStrategy\n \n \n Lti11ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n oauth2ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateLaunchRequest\n \n \n \n \n \n \ngenerateLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLaunchData\n \n \n \n \n \n \n \n getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n \n \n \n \n \n isToolStatusLatestOrThrow(userId: EntityId, externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n \n \n \n loadToolHierarchy(schoolExternalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ToolConfigType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolVersionService } from '../../context-external-tool/service/tool-version-service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ToolStatusOutdatedLoggableException } from '../error';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\nimport {\n\tBasicToolLaunchStrategy,\n\tLti11ToolLaunchStrategy,\n\tOAuth2ToolLaunchStrategy,\n\tToolLaunchStrategy,\n} from './launch-strategy';\n\n@Injectable()\nexport class ToolLaunchService {\n\tprivate strategies: Map;\n\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly basicToolLaunchStrategy: BasicToolLaunchStrategy,\n\t\tprivate readonly lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy,\n\t\tprivate readonly oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {\n\t\tthis.strategies = new Map();\n\t\tthis.strategies.set(ToolConfigType.BASIC, basicToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.LTI11, lti11ToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.OAUTH2, oauth2ToolLaunchStrategy);\n\t}\n\n\tgenerateLaunchRequest(toolLaunchData: ToolLaunchData): ToolLaunchRequest {\n\t\tconst toolConfigType: ToolConfigType = ToolLaunchMapper.mapToToolConfigType(toolLaunchData.type);\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(toolConfigType);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool launch data type');\n\t\t}\n\n\t\tconst launchRequest: ToolLaunchRequest = strategy.createLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n\n\tasync getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalToolId: EntityId = contextExternalTool.schoolToolRef.schoolToolId;\n\n\t\tconst { externalTool, schoolExternalTool } = await this.loadToolHierarchy(schoolExternalToolId);\n\n\t\tawait this.isToolStatusLatestOrThrow(userId, externalTool, schoolExternalTool, contextExternalTool);\n\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(externalTool.config.type);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool config type');\n\t\t}\n\n\t\tconst launchData: ToolLaunchData = await strategy.createLaunchData(userId, {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool,\n\t\t});\n\n\t\treturn launchData;\n\t}\n\n\tprivate async loadToolHierarchy(\n\t\tschoolExternalToolId: string\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\treturn {\n\t\t\tschoolExternalTool,\n\t\t\texternalTool,\n\t\t};\n\t}\n\n\tprivate async isToolStatusLatestOrThrow(\n\t\tuserId: EntityId,\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tif (status.isOutdatedOnScopeSchool || status.isOutdatedOnScopeContext) {\n\t\t\tthrow new ToolStatusOutdatedLoggableException(\n\t\t\t\tuserId,\n\t\t\t\tcontextExternalTool.id ?? '',\n\t\t\t\tstatus.isOutdatedOnScopeSchool,\n\t\t\t\tstatus.isOutdatedOnScopeContext\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolLaunchStrategy.html":{"url":"interfaces/ToolLaunchStrategy.html","title":"interface - ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n \n \ncreateLaunchData(userId: EntityId, params: ToolLaunchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \ncreateLaunchRequest(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ToolLaunchData, ToolLaunchRequest } from '../../types';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\nexport interface ToolLaunchStrategy {\n\tcreateLaunchData(userId: EntityId, params: ToolLaunchParams): Promise;\n\n\tcreateLaunchRequest(toolLaunchDataDO: ToolLaunchData): ToolLaunchRequest;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchUc.html":{"url":"injectables/ToolLaunchUc.html","title":"injectable - ToolLaunchUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolLaunchService: ToolLaunchService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchService\n \n \n ToolLaunchService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { ToolLaunchService } from '../service';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\n\n@Injectable()\nexport class ToolLaunchUc {\n\tconstructor(\n\t\tprivate readonly toolLaunchService: ToolLaunchService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst toolLaunchData: ToolLaunchData = await this.toolLaunchService.getLaunchData(userId, contextExternalTool);\n\t\tconst launchRequest: ToolLaunchRequest = this.toolLaunchService.generateLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolModule.html":{"url":"modules/ToolModule.html","title":"module - ToolModule","body":"\n \n\n\n\n\n Modules\n ToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolModule\n\n\n\ncluster_ToolModule_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:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n boardElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n boardService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, contextExternalTool: ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, schoolExternalTool: SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationService, ForbiddenLoggableException } from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { BoardDoAuthorizableService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { BoardDoAuthorizable, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ToolContextType } from '../enum';\n\n@Injectable()\nexport class ToolPermissionHelper {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService)) private readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\t// invalid dependency on this place it is in UC layer in a other module\n\t\t// loading of ressources should be part of service layer\n\t\t// if it must resolve different loadings based on the request it can be added in own service and use in UC\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly boardElementService: ContentElementService,\n\t\tprivate readonly boardService: BoardDoAuthorizableService\n\t) {}\n\n\t// TODO build interface to get contextDO by contextType\n\tpublic async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst authorizableUser = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkPermission(authorizableUser, contextExternalTool, context);\n\n\t\tif (contextExternalTool.contextRef.type === ToolContextType.COURSE) {\n\t\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\t\tconst course: Course = await this.courseService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, course, context);\n\t\t} else if (contextExternalTool.contextRef.type === ToolContextType.BOARD_ELEMENT) {\n\t\t\tconst boardElement = await this.boardElementService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tconst board: BoardDoAuthorizable = await this.boardService.getBoardAuthorizable(boardElement);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, board, context);\n\t\t} else {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\t}\n\n\tpublic async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\tconst [user, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolExternalTool.schoolId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReference.html":{"url":"classes/ToolReference.html","title":"class - ToolReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextToolId\n \n \n displayName\n \n \n Optional\n logoUrl\n \n \n openInNewTab\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReference: ToolReference)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n \n ToolReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\n\nexport class ToolReference {\n\tcontextToolId: string;\n\n\tlogoUrl?: string;\n\n\tdisplayName: string;\n\n\topenInNewTab: boolean;\n\n\tstatus: ContextExternalToolConfigurationStatus;\n\n\tconstructor(toolReference: ToolReference) {\n\t\tthis.contextToolId = toolReference.contextToolId;\n\t\tthis.logoUrl = toolReference.logoUrl;\n\t\tthis.displayName = toolReference.displayName;\n\t\tthis.openInNewTab = toolReference.openInNewTab;\n\t\tthis.status = toolReference.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolReferenceController.html":{"url":"controllers/ToolReferenceController.html","title":"controller - ToolReferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolReferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts\n \n\n \n Prefix\n \n \n tools/tool-references\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId')@ApiOperation({summary: 'Get ExternalTool Reference for a given context external tool'})@ApiOkResponse({description: 'The Tool Reference has been successfully fetched.', type: ToolReferenceResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:contextType/:contextId')@ApiOperation({summary: 'Get ExternalTool References for a given context'})@ApiOkResponse({description: 'The Tool References has been successfully fetched.', type: ToolReferenceListResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOkResponse, ApiOperation, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { ToolReference } from '../domain';\nimport { ContextExternalToolResponseMapper } from '../mapper';\nimport { ToolReferenceUc } from '../uc';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tToolReferenceListResponse,\n\tToolReferenceResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/tool-references')\nexport class ToolReferenceController {\n\tconstructor(private readonly toolReferenceUc: ToolReferenceUc) {}\n\n\t@Get('context-external-tools/:contextExternalToolId')\n\t@ApiOperation({ summary: 'Get ExternalTool Reference for a given context external tool' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool Reference has been successfully fetched.',\n\t\ttype: ToolReferenceResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReference(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst toolReference: ToolReference = await this.toolReferenceUc.getToolReference(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst toolReferenceResponse: ToolReferenceResponse =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponse(toolReference);\n\n\t\treturn toolReferenceResponse;\n\t}\n\n\t@Get('/:contextType/:contextId')\n\t@ApiOperation({ summary: 'Get ExternalTool References for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool References has been successfully fetched.',\n\t\ttype: ToolReferenceListResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReferencesForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst toolReferences: ToolReference[] = await this.toolReferenceUc.getToolReferencesForContext(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextType,\n\t\t\tparams.contextId\n\t\t);\n\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponses(toolReferences);\n\n\t\tconst toolReferenceListResponse: ToolReferenceListResponse = new ToolReferenceListResponse(toolReferenceResponses);\n\n\t\treturn toolReferenceListResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceListResponse.html":{"url":"classes/ToolReferenceListResponse.html","title":"class - ToolReferenceListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolReferenceResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolReferenceResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolReferenceResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolReferenceResponse } from './tool-reference.response';\n\nexport class ToolReferenceListResponse {\n\t@ApiProperty({ type: [ToolReferenceResponse] })\n\tdata: ToolReferenceResponse[];\n\n\tconstructor(data: ToolReferenceResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceMapper.html":{"url":"classes/ToolReferenceMapper.html","title":"class - ToolReferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n \n \n \n mapToToolReference(externalTool: ExternalTool, contextExternalTool: ContextExternalTool, status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReference\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ToolReferenceMapper {\n\tstatic mapToToolReference(\n\t\texternalTool: ExternalTool,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tstatus: ContextExternalToolConfigurationStatus\n\t): ToolReference {\n\t\tconst toolReference = new ToolReference({\n\t\t\tcontextToolId: contextExternalTool.id ?? '',\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tdisplayName: contextExternalTool.displayName ?? externalTool.name,\n\t\t\tstatus,\n\t\t\topenInNewTab: externalTool.openNewTab,\n\t\t});\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceResponse.html":{"url":"classes/ToolReferenceResponse.html","title":"class - ToolReferenceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n displayName\n \n \n \n Optional\n logoUrl\n \n \n \n openInNewTab\n \n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReferenceResponse: ToolReferenceResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferenceResponse\n \n \n ToolReferenceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The id of the tool in the context'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The display name of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({nullable: false, required: false, description: 'The url of the logo which is stored in the db'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'Whether the tool should be opened in a new tab'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: ContextExternalToolConfigurationStatusResponse, nullable: false, required: true, description: 'The status of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationStatusResponse } from '../../../common/controller/dto';\n\nexport class ToolReferenceResponse {\n\t@ApiProperty({ nullable: false, required: true, description: 'The id of the tool in the context' })\n\tcontextToolId: string;\n\n\t@ApiPropertyOptional({\n\t\tnullable: false,\n\t\trequired: false,\n\t\tdescription: 'The url of the logo which is stored in the db',\n\t})\n\tlogoUrl?: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'The display name of the tool' })\n\tdisplayName: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'Whether the tool should be opened in a new tab' })\n\topenInNewTab: boolean;\n\n\t@ApiProperty({\n\t\ttype: ContextExternalToolConfigurationStatusResponse,\n\t\tnullable: false,\n\t\trequired: true,\n\t\tdescription: 'The status of the tool',\n\t})\n\tstatus: ContextExternalToolConfigurationStatusResponse;\n\n\tconstructor(toolReferenceResponse: ToolReferenceResponse) {\n\t\tthis.contextToolId = toolReferenceResponse.contextToolId;\n\t\tthis.logoUrl = toolReferenceResponse.logoUrl;\n\t\tthis.displayName = toolReferenceResponse.displayName;\n\t\tthis.openInNewTab = toolReferenceResponse.openInNewTab;\n\t\tthis.status = toolReferenceResponse.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceService.html":{"url":"injectables/ToolReferenceService.html","title":"injectable - ToolReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, externalToolLogoService: ExternalToolLogoService, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolLogoService, ExternalToolService } from '../../external-tool/service';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ToolReference } from '../domain';\nimport { ToolReferenceMapper } from '../mapper';\nimport { ContextExternalToolService } from './context-external-tool.service';\nimport { ToolVersionService } from './tool-version-service';\n\n@Injectable()\nexport class ToolReferenceService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {}\n\n\tasync getToolReference(contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tconst toolReference: ToolReference = ToolReferenceMapper.mapToToolReference(\n\t\t\texternalTool,\n\t\t\tcontextExternalTool,\n\t\t\tstatus\n\t\t);\n\t\ttoolReference.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\texternalTool\n\t\t);\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceUc.html":{"url":"injectables/ToolReferenceUc.html","title":"injectable - ToolReferenceUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n Async\n getToolReference\n \n \n Async\n getToolReferencesForContext\n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, toolReferenceService: ToolReferenceService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolReferenceService\n \n \n ToolReferenceService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n \n \n \n \n \n ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(userId: EntityId, contextType: ToolContextType, contextId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n \n \n \n tryBuildToolReference(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool, ContextRef, ToolReference } from '../domain';\nimport { ContextExternalToolService, ToolReferenceService } from '../service';\n\n@Injectable()\nexport class ToolReferenceUc {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolReferenceService: ToolReferenceService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolReferencesForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: EntityId\n\t): Promise {\n\t\tconst contextRef = new ContextRef({ type: contextType, id: contextId });\n\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tcontextRef\n\t\t);\n\n\t\tconst toolReferencesPromises: Promise[] = contextExternalTools.map(\n\t\t\tasync (contextExternalTool: ContextExternalTool) => this.tryBuildToolReference(userId, contextExternalTool)\n\t\t);\n\n\t\tconst toolReferencesWithNull: (ToolReference | null)[] = await Promise.all(toolReferencesPromises);\n\t\tconst filteredToolReferences: ToolReference[] = toolReferencesWithNull.filter(\n\t\t\t(toolReference: ToolReference | null): toolReference is ToolReference => toolReference !== null\n\t\t);\n\n\t\treturn filteredToolReferences;\n\t}\n\n\tprivate async tryBuildToolReference(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\t\tcontextExternalTool.id as string\n\t\t\t);\n\n\t\t\treturn toolReference;\n\t\t} catch (e: unknown) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync getToolReference(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\tcontextExternalTool.id as string\n\t\t);\n\n\t\treturn toolReference;\n\t}\n\n\tprivate async ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tconst promise: Promise = this.toolPermissionHelper.ensureContextPermissions(\n\t\t\tuserId,\n\t\t\tcontextExternalTool,\n\t\t\tcontext\n\t\t);\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolSchoolController.html":{"url":"controllers/ToolSchoolController.html","title":"controller - ToolSchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolSchoolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts\n \n\n \n Prefix\n \n \n tools/school-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(currentUser: ICurrentUser, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The SchoolExternalTool has been successfully created.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a SchoolExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:schoolExternalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an school external tool.'})@ApiOkResponse({description: 'Metadata of school external tool fetched successfully.', type: SchoolExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a SchoolExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n getSchoolExternalTools(currentUser: ICurrentUser, schoolExternalToolParams: SchoolExternalToolSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a list of SchoolExternalTools for a given school'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n schoolExternalToolParams\n \n SchoolExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put('/:schoolExternalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiBadRequestResponse({type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolSearchListResponse } from '../../external-tool/controller/dto';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataMapper,\n\tSchoolExternalToolRequestMapper,\n\tSchoolExternalToolResponseMapper,\n} from '../mapper';\nimport { SchoolExternalToolUc } from '../uc';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport {\n\tSchoolExternalToolIdParams,\n\tSchoolExternalToolMetadataResponse,\n\tSchoolExternalToolPostParams,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n\tSchoolExternalToolSearchParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/school-external-tools')\nexport class ToolSchoolController {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolUc: SchoolExternalToolUc,\n\t\tprivate readonly responseMapper: SchoolExternalToolResponseMapper,\n\t\tprivate readonly requestMapper: SchoolExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a list of SchoolExternalTools for a given school' })\n\tasync getSchoolExternalTools(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() schoolExternalToolParams: SchoolExternalToolSearchParams\n\t): Promise {\n\t\tconst found: SchoolExternalTool[] = await this.schoolExternalToolUc.findSchoolExternalTools(currentUser.userId, {\n\t\t\tschoolId: schoolExternalToolParams.schoolId,\n\t\t});\n\t\tconst response: SchoolExternalToolSearchListResponse = this.responseMapper.mapToSearchListResponse(found);\n\t\treturn response;\n\t}\n\n\t@Get(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a SchoolExternalTool for the given id' })\n\tasync getSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolUc.getSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(schoolExternalTool);\n\t\treturn mapped;\n\t}\n\n\t@Put('/:schoolExternalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiBadRequestResponse({ type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates a SchoolExternalTool' })\n\tasync updateSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\t\tconst updated: SchoolExternalTool = await this.schoolExternalToolUc.updateSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(updated);\n\t\tthis.logger.debug(`SchoolExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\t\treturn mapped;\n\t}\n\n\t@Delete(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a SchoolExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tawait this.schoolExternalToolUc.deleteSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\t\tthis.logger.debug(\n\t\t\t`SchoolExternalTool with id ${params.schoolExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The SchoolExternalTool has been successfully created.',\n\t\ttype: SchoolExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a SchoolExternalTool' })\n\tasync createSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\n\t\tconst createdSchoolExternalToolDO: SchoolExternalTool = await this.schoolExternalToolUc.createSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst response: SchoolExternalToolResponse =\n\t\t\tthis.responseMapper.mapToSchoolExternalToolResponse(createdSchoolExternalToolDO);\n\n\t\tthis.logger.debug(`SchoolExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Get('/:schoolExternalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an school external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of school external tool fetched successfully.',\n\t\ttype: SchoolExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata =\n\t\t\tawait this.schoolExternalToolUc.getMetadataForSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\n\t\tconst mapped: SchoolExternalToolMetadataResponse =\n\t\t\tSchoolExternalToolMetadataMapper.mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusOutdatedLoggableException.html":{"url":"classes/ToolStatusOutdatedLoggableException.html","title":"class - ToolStatusOutdatedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusOutdatedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, toolId: EntityId, isOutdatedOnScopeSchool: boolean, isOutdatedOnScopeContext: boolean)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n toolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeSchool\n \n \n boolean\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeContext\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:15\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ToolStatusOutdatedLoggableException extends BadRequestException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly toolId: EntityId,\n\t\tprivate readonly isOutdatedOnScopeSchool: boolean,\n\t\tprivate readonly isOutdatedOnScopeContext: boolean\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'TOOL_STATUS_OUTDATED',\n\t\t\tmessage: 'The status of the tool is outdated and cannot be launched by the user.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttoolId: this.toolId,\n\t\t\t\tisOutdatedOnScopeSchool: this.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: this.isOutdatedOnScopeContext,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusResponseMapper.html":{"url":"classes/ToolStatusResponseMapper.html","title":"class - ToolStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatusResponse } from '../controller/dto';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\n\nexport class ToolStatusResponseMapper {\n\tstatic mapToResponse(status: ContextExternalToolConfigurationStatus): ContextExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatusResponse =\n\t\t\tnew ContextExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: status.isOutdatedOnScopeContext,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolVersion.html":{"url":"interfaces/ToolVersion.html","title":"interface - ToolVersion","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolVersion\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/tool-version.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/interface/tool-version.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n \n\n\n \n export interface ToolVersion {\n\tgetVersion(): number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolVersionService.html":{"url":"injectables/ToolVersionService.html","title":"injectable - ToolVersionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolVersionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolValidationService: ContextExternalToolValidationService, schoolExternalToolValidationService: SchoolExternalToolValidationService, commonToolService: CommonToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { CommonToolService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolValidationService } from '../../school-external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolValidationService } from './context-external-tool-validation.service';\n\n@Injectable()\nexport class ToolVersionService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly commonToolService: CommonToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\t// TODO N21-1337 remove if statement, when feature flag is removed\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\t\tisOutdatedOnScopeContext: false,\n\t\t\t\tisOutdatedOnScopeSchool: false,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\t}\n\n\t\t\treturn configurationStatus;\n\t\t}\n\t\tconst status: ContextExternalToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TriggerDeletionExecutionOptions.html":{"url":"interfaces/TriggerDeletionExecutionOptions.html","title":"interface - TriggerDeletionExecutionOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TriggerDeletionExecutionOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/interface/trigger-deletion-execution-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface TriggerDeletionExecutionOptions {\n\tlimit: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TriggerDeletionExecutionOptionsBuilder.html":{"url":"classes/TriggerDeletionExecutionOptionsBuilder.html","title":"class - TriggerDeletionExecutionOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TriggerDeletionExecutionOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/trigger-deletion-execution-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/trigger-deletion-execution-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TriggerDeletionExecutionOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TriggerDeletionExecutionOptions } from '../interface';\n\nexport class TriggerDeletionExecutionOptionsBuilder {\n\tstatic build(limit: number): TriggerDeletionExecutionOptions {\n\t\treturn { limit };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnauthorizedLoggableException.html":{"url":"classes/UnauthorizedLoggableException.html","title":"class - UnauthorizedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnauthorizedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnauthorizedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(username: string, systemId?: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnauthorizedException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\n\nexport class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n\tconstructor(private readonly username: string, private readonly systemId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'UNAUTHORIZED_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserName: this.username,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnknownQueryTypeLoggableException.html":{"url":"classes/UnknownQueryTypeLoggableException.html","title":"class - UnknownQueryTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnknownQueryTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(unknownQueryType: string)\n \n \n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n unknownQueryType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { InternalServerErrorException } from '@nestjs/common';\n\nexport class UnknownQueryTypeLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly unknownQueryType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tmessage: 'Unable to process unknown query type for class years.',\n\t\t\tdata: {\n\t\t\t\tunknownQueryType: this.unknownQueryType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateElementContentBodyParams.html":{"url":"classes/UpdateElementContentBodyParams.html","title":"class - UpdateElementContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateElementContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileElementContentBody | LinkElementContentBody | RichTextElementContentBody | SubmissionContainerElementContentBody | ExternalToolElementContentBody | DrawingElementContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {discriminator: undefined, keepDiscriminatorProperty: true})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:169\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateFlagParams.html":{"url":"classes/UpdateFlagParams.html","title":"class - UpdateFlagParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateFlagParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-flag.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates flag for an import user'})@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-flag.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateFlagParams {\n\t@ApiProperty({ description: 'updates flag for an import user' })\n\t@IsBoolean()\n\tflagged!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateMatchParams.html":{"url":"classes/UpdateMatchParams.html","title":"class - UpdateMatchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateMatchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-match.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates local user reference for an import user'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-match.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class UpdateMatchParams {\n\t@ApiProperty({ description: 'updates local user reference for an import user' })\n\t@IsMongoId()\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateNewsParams.html":{"url":"classes/UpdateNewsParams.html","title":"class - UpdateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/update-news.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating a news document.\nA PartialType is a halper which allows to extend an existing class by making all its properties optional.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n displayAt\n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)@ApiPropertyOptional({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()@ApiPropertyOptional({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml()@ApiPropertyOptional({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat } from '@shared/domain/types';\nimport { IsDate, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for Updating a news document.\n * A PartialType is a halper which allows to extend an existing class by making all its properties optional.\n */\nexport class UpdateNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)\n\t@ApiPropertyOptional({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsOptional()\n\t@IsDate()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt!: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateSubmissionItemBodyParams.html":{"url":"classes/UpdateSubmissionItemBodyParams.html","title":"class - UpdateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UrlHandler.html":{"url":"interfaces/UrlHandler.html","title":"interface - UrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n getMetaData\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMetaData\n \n \n \n \n \n \ngetMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { MetaData } from '../types';\n\nexport interface UrlHandler {\n\tdoesUrlMatch(url: string): boolean;\n\tgetMetaData(url: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/User.html":{"url":"entities/User.html","title":"entity - User","body":"\n \n\n\n\n\n\n\n\n Entities\n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n Optional\n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n emailSearchValues\n \n \n \n Optional\n externalId\n \n \n \n firstName\n \n \n \n Optional\n firstNameSearchValues\n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n Optional\n importHash\n \n \n \n Optional\n language\n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n lastName\n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n Optional\n ldapDn\n \n \n \n Optional\n outdatedSince\n \n \n \n Optional\n parents\n \n \n \n Optional\n preferences\n \n \n \n Optional\n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:84\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parents\n \n \n \n \n \n \n Type : UserParentsEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany({fieldName: 'roles', entity: () => Role})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAlreadyAssignedToImportUserError.html":{"url":"classes/UserAlreadyAssignedToImportUserError.html","title":"class - UserAlreadyAssignedToImportUserError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAlreadyAssignedToImportUserError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts:3\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from './business.error';\n\nexport class UserAlreadyAssignedToImportUserError extends BusinessError {\n\tconstructor() {\n\t\tsuper({\n\t\t\ttype: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\ttitle: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\tdefaultMessage:\n\t\t\t\t'The selected user already has been referenced to a different import user. Only one reference is allowed.',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserAndAccountParams.html":{"url":"interfaces/UserAndAccountParams.html","title":"interface - UserAndAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserAndAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n \n Extends\n \n \n UserParams\n AccountParams\n \n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAndAccountTestFactory.html":{"url":"classes/UserAndAccountTestFactory.html","title":"class - UserAndAccountTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAndAccountTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n Static\n buildAdmin\n \n \n Static\n buildStudent\n \n \n Static\n buildTeacher\n \n \n Private\n Static\n getUserParams\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n \n \n \n \n \n buildAccount(user: User, params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : Account\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildAdmin\n \n \n \n \n \n \n \n buildAdmin(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildStudent\n \n \n \n \n \n \n \n buildStudent(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildTeacher\n \n \n \n \n \n \n \n buildTeacher(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getUserParams\n \n \n \n \n \n \n \n getUserParams(params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserParams\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserApiModule.html":{"url":"modules/UserApiModule.html","title":"module - UserApiModule","body":"\n \n\n\n\n\n Modules\n UserApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserApiModule\n\n\n\ncluster_UserApiModule_imports\n\n\n\ncluster_UserApiModule_providers\n\n\n\n\nUserModule\n\nUserModule\n\n\n\nUserApiModule\n\nUserApiModule\n\nUserApiModule -->\n\nUserModule->UserApiModule\n\n\n\n\n\nUserUc\n\nUserUc\n\nUserApiModule -->\n\nUserUc->UserApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserUc\n \n \n \n \n Controllers\n \n \n UserController\n \n \n \n \n Imports\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserController } from './controller';\nimport { UserUc } from './uc';\nimport { UserModule } from './user.module';\n\n@Module({\n\timports: [UserModule],\n\tcontrollers: [UserController],\n\tproviders: [UserUc],\n})\nexport class UserApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserBoardRoles.html":{"url":"interfaces/UserBoardRoles.html","title":"interface - UserBoardRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserBoardRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n lastName\n \n \n \n \n roles\n \n \n \n \n userId\n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: BoardRoles[]\n\n \n \n\n\n \n \n Type : BoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n userRoleEnum: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserConfig.html":{"url":"interfaces/UserConfig.html","title":"interface - UserConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/interfaces/user-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface UserConfig {\n\tAVAILABLE_LANGUAGES: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserController.html":{"url":"controllers/UserController.html","title":"controller - UserController","body":"\n \n\n\n\n\n\n\n Controllers\n UserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/user.controller.ts\n \n\n \n Prefix\n \n \n user\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n Async\n me\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n \n \n \n \n changeLanguage(params: ChangeLanguageParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch('/language')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('me')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Patch } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ResolvedUserMapper } from '../mapper';\nimport { UserUc } from '../uc';\nimport { ChangeLanguageParams, ResolvedUserResponse, SuccessfulResponse } from './dto';\n\n@ApiTags('User')\n@Authenticate('jwt')\n@Controller('user')\nexport class UserController {\n\tconstructor(private readonly userUc: UserUc) {}\n\n\t@Get('me')\n\tasync me(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst [user, permissions] = await this.userUc.me(currentUser.userId);\n\n\t\t// only the root roles of the user get published\n\t\tconst resolvedUser = ResolvedUserMapper.mapToResponse(user, permissions, user.roles.getItems());\n\n\t\treturn resolvedUser;\n\t}\n\n\t@Patch('/language')\n\tasync changeLanguage(\n\t\t@Body() params: ChangeLanguageParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userUc.patchLanguage(currentUser.userId, params);\n\n\t\tconst successfulResponse = new SuccessfulResponse(result);\n\n\t\treturn successfulResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDO.html":{"url":"classes/UserDO.html","title":"class - UserDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n createdAt\n \n \n email\n \n \n Optional\n emailSearchValues\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n firstNameSearchValues\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n importHash\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n lastNameSearchValues\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n Optional\n previousExternalId\n \n \n roles\n \n \n schoolId\n \n \n Optional\n updatedAt\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: UserDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n UserDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : RoleReference[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\nimport { RoleReference } from './role-reference';\n\nexport class UserDO extends BaseDO {\n\tcreatedAt?: Date;\n\n\tupdatedAt?: Date;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troles: RoleReference[];\n\n\tschoolId: EntityId;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\timportHash?: string;\n\n\tfirstNameSearchValues?: string[];\n\n\tlastNameSearchValues?: string[];\n\n\temailSearchValues?: string[];\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\tpreferences?: Record;\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n\n\tpreviousExternalId?: string;\n\n\tbirthday?: Date;\n\n\tconstructor(domainObject: UserDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.createdAt = domainObject.createdAt;\n\t\tthis.updatedAt = domainObject.updatedAt;\n\t\tthis.email = domainObject.email;\n\t\tthis.firstName = domainObject.firstName;\n\t\tthis.lastName = domainObject.lastName;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.schoolId = domainObject.schoolId;\n\t\tthis.ldapDn = domainObject.ldapDn;\n\t\tthis.externalId = domainObject.externalId;\n\t\tthis.importHash = domainObject.importHash;\n\t\tthis.firstNameSearchValues = domainObject.firstNameSearchValues;\n\t\tthis.lastNameSearchValues = domainObject.lastNameSearchValues;\n\t\tthis.emailSearchValues = domainObject.emailSearchValues;\n\t\tthis.language = domainObject.language;\n\t\tthis.forcePasswordChange = domainObject.forcePasswordChange;\n\t\tthis.preferences = domainObject.preferences;\n\t\tthis.lastLoginSystemChange = domainObject.lastLoginSystemChange;\n\t\tthis.outdatedSince = domainObject.outdatedSince;\n\t\tthis.previousExternalId = domainObject.previousExternalId;\n\t\tthis.birthday = domainObject.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserDORepo.html":{"url":"injectables/UserDORepo.html","title":"injectable - UserDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user-do.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n Async\n find\n \n \n Async\n findByExternalId\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findByIdOrNull\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n populateRoles\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n \n \n \n \n \n createQueryOrderMap(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:127\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: User)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:93\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { UserQuery } from '@modules/user/service/user-query.type';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Page, RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, Pagination, SortOrder, SortOrderMap } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo, Scope } from '@shared/repo';\nimport { UserScope } from './user.scope';\n\n@Injectable()\nexport class UserDORepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn User;\n\t}\n\n\tasync find(query: UserQuery, options?: IFindOptions) {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = this.createQueryOrderMap(options?.order || {});\n\t\tconst scope: Scope = new UserScope()\n\t\t\t.bySchoolId(query.schoolId)\n\t\t\t.isOutdated(query.isOutdated)\n\t\t\t.whereLastLoginSystemChangeSmallerThan(query.lastLoginSystemChangeSmallerThan)\n\t\t\t.whereLastLoginSystemChangeIsBetween(\n\t\t\t\tquery.lastLoginSystemChangeBetweenStart,\n\t\t\t\tquery.lastLoginSystemChangeBetweenEnd\n\t\t\t)\n\t\t\t.withOutdatedSince(query.outdatedSince)\n\t\t\t.allowEmptyQuery(true);\n\n\t\torder._id = order._id ?? SortOrder.asc;\n\n\t\tconst [entities, total]: [User[], number] = await this._em.findAndCount(User, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst entityDos: UserDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst userEntity: User = await this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(userEntity, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(userEntity.roles.getItems());\n\t\t}\n\n\t\treturn this.mapEntityToDO(userEntity);\n\t}\n\n\tasync findByIdOrNull(id: EntityId, populate = false): Promise {\n\t\tconst user: User | null = await this._em.findOne(this.entityName, id as FilterQuery);\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\tconst domainObject: UserDO = this.mapEntityToDO(user);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst userDo: UserDO | null = await this.findByExternalId(externalId, systemId);\n\t\tif (userDo) {\n\t\t\treturn userDo;\n\t\t}\n\t\tthrow new EntityNotFoundError('User');\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst userEntitys: User[] = await this._em.find(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst userEntity: User | undefined = userEntitys.find((user: User): boolean => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && !!systems.getItems().find((system): boolean => system.id === systemId);\n\t\t});\n\n\t\tconst userDo: UserDO | null = userEntity ? this.mapEntityToDO(userEntity) : null;\n\t\treturn userDo;\n\t}\n\n\tmapEntityToDO(entity: User): UserDO {\n\t\tconst user: UserDO = new UserDO({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\troles: [],\n\t\t\tschoolId: entity.school.id,\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\timportHash: entity.importHash,\n\t\t\tfirstNameSearchValues: entity.firstNameSearchValues,\n\t\t\tlastNameSearchValues: entity.lastNameSearchValues,\n\t\t\temailSearchValues: entity.emailSearchValues,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tbirthday: entity.birthday,\n\t\t});\n\n\t\tif (entity.roles.isInitialized()) {\n\t\t\tuser.roles = entity.roles\n\t\t\t\t.getItems()\n\t\t\t\t.map((role: Role): RoleReference => new RoleReference({ id: role.id, name: role.name }));\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserDO): EntityData {\n\t\treturn {\n\t\t\temail: entityDO.email,\n\t\t\tfirstName: entityDO.firstName,\n\t\t\tlastName: entityDO.lastName,\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\troles: entityDO.roles.map((roleRef: RoleReference) => this._em.getReference(Role, roleRef.id)),\n\t\t\tldapDn: entityDO.ldapDn,\n\t\t\texternalId: entityDO.externalId,\n\t\t\tlanguage: entityDO.language,\n\t\t\tforcePasswordChange: entityDO.forcePasswordChange,\n\t\t\tpreferences: entityDO.preferences,\n\t\t\tlastLoginSystemChange: entityDO.lastLoginSystemChange,\n\t\t\toutdatedSince: entityDO.outdatedSince,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tbirthday: entityDO.birthday,\n\t\t};\n\t}\n\n\tprivate createQueryOrderMap(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserData.html":{"url":"interfaces/UserData.html","title":"interface - UserData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n user_id\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDataResponse.html":{"url":"classes/UserDataResponse.html","title":"class - UserDataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/user-data.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserDataResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserDataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class UserDataResponse {\n\tconstructor({ userId, firstName, lastName }: UserDataResponse) {\n\t\tthis.userId = userId;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty()\n\tuserId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDoFactory.html":{"url":"classes/UserDoFactory.html","title":"class - UserDoFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDoFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.do.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoles\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoles\n \n \n \n \n \n \nwithRoles(roles: literal type[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDO } from '@shared/domain/domainobject/user.do';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from './domainobject';\n\nclass UserDoFactory extends DoBaseFactory {\n\twithRoles(roles: { id: EntityId; name: RoleName }[]) {\n\t\tconst params: DeepPartial = {\n\t\t\troles,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userDoFactory = UserDoFactory.define(UserDO, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschoolId: new ObjectId().toString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDto.html":{"url":"classes/UserDto.html","title":"class - UserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/dto/user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n email\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n id\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n roleIds\n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: UserDto)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n UserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n roleIds\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport class UserDto {\n\tconstructor(user: UserDto) {\n\t\tthis.id = user.id;\n\t\tthis.email = user.email;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.roleIds = user.roleIds;\n\t\tthis.schoolId = user.schoolId;\n\t\tthis.ldapDn = user.ldapDn;\n\t\tthis.externalId = user.externalId;\n\t\tthis.language = user.language;\n\t\tthis.forcePasswordChange = user.forcePasswordChange;\n\t\tthis.preferences = user.preferences;\n\t\tthis.lastLoginSystemChange = user.lastLoginSystemChange;\n\t\tthis.outdatedSince = user.outdatedSince;\n\t}\n\n\tid?: EntityId;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troleIds: EntityId[] = [];\n\n\tschoolId: string;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\t// See user entity\n\tpreferences?: Record = {};\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserFactory.html":{"url":"classes/UserFactory.html","title":"class - UserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asAdmin\n \n \n asStudent\n \n \n asTeacher\n \n \n withRole\n \n \n withRoleByName\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asAdmin\n \n \n \n \n \n \nasAdmin(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asStudent\n \n \n \n \n \n \nasStudent(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asTeacher\n \n \n \n \n \n \nasTeacher(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(role: Role)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRoleByName\n \n \n \n \n \n \nwithRoleByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User, UserProperties } from '@shared/domain/entity';\nimport { Permission, RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport _ from 'lodash';\nimport { adminPermissions, studentPermissions, teacherPermissions, userPermissions } from '../user-role-permissions';\nimport { BaseFactory } from './base.factory';\nimport { roleFactory } from './role.factory';\nimport { schoolFactory } from './school.factory';\n\nclass UserFactory extends BaseFactory {\n\twithRoleByName(name: RoleName): this {\n\t\tconst params: DeepPartial = { roles: [roleFactory.buildWithId({ name })] };\n\n\t\treturn this.params(params);\n\t}\n\n\twithRole(role: Role): this {\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasStudent(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, studentPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.STUDENT });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasTeacher(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, teacherPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.TEACHER });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasAdmin(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, adminPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.ADMINISTRATOR });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userFactory = UserFactory.define(User, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserForGroupNotFoundLoggable.html":{"url":"classes/UserForGroupNotFoundLoggable.html","title":"class - UserForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupUser: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupUser\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupUserDto } from '../dto';\n\nexport class UserForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly groupUser: ExternalGroupUserDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.groupUser.externalUserId,\n\t\t\t\troleName: this.groupUser.roleName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroup.html":{"url":"interfaces/UserGroup.html","title":"interface - UserGroup","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group_id\n \n \n \n \n name\n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group_id\n \n \n \n \n \n \n \n \n group_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n student_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroups.html":{"url":"interfaces/UserGroups.html","title":"interface - UserGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoMapper.html":{"url":"classes/UserInfoMapper.html","title":"class - UserInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/user-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/user-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { UserInfoResponse } from '../controller/dto';\n\nexport class UserInfoMapper {\n\tstatic mapToResponse(user: User): UserInfoResponse {\n\t\tconst dto = new UserInfoResponse({\n\t\t\tid: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t});\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoResponse.html":{"url":"classes/UserInfoResponse.html","title":"class - UserInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/user-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n id\n \n \n \n Optional\n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'First name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the User entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Last name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserInfoResponse {\n\tconstructor({ id, firstName, lastName }: UserInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the User entity',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'First name of the user',\n\t})\n\tfirstName?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Last name of the user',\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{"url":"classes/UserLoginMigrationAlreadyClosedLoggableException.html","title":"class - UserLoginMigrationAlreadyClosedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationAlreadyClosedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(closedAt: Date, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n closedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationAlreadyClosedLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly closedAt: Date, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_ALREADY_CLOSED',\n\t\t\tmessage: 'Migration of school cannot be started or changed, because it is already closed.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tclosedAt: this.closedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationApiModule.html":{"url":"modules/UserLoginMigrationApiModule.html","title":"module - UserLoginMigrationApiModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationApiModule\n\n\n\ncluster_UserLoginMigrationApiModule_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\nRestartUserLoginMigrationUc\n\nRestartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nRestartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nStartUserLoginMigrationUc\n\nStartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nStartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nToggleUserLoginMigrationUc\n\nToggleUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nToggleUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nUserLoginMigrationUc\n\nUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CloseUserLoginMigrationUc\n \n \n RestartUserLoginMigrationUc\n \n \n StartUserLoginMigrationUc\n \n \n ToggleUserLoginMigrationUc\n \n \n UserLoginMigrationUc\n \n \n \n \n Controllers\n \n \n UserLoginMigrationController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n ProvisioningModule\n \n \n UserLoginMigrationModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { OauthModule } from '@modules/oauth';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { UserLoginMigrationController } from './controller/user-login-migration.controller';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationUc,\n} from './uc';\nimport { UserLoginMigrationModule } from './user-login-migration.module';\n\n@Module({\n\timports: [\n\t\tUserLoginMigrationModule,\n\t\tOauthModule,\n\t\tProvisioningModule,\n\t\tAuthenticationModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [\n\t\tUserLoginMigrationUc,\n\t\tStartUserLoginMigrationUc,\n\t\tRestartUserLoginMigrationUc,\n\t\tToggleUserLoginMigrationUc,\n\t\tCloseUserLoginMigrationUc,\n\t],\n\tcontrollers: [UserLoginMigrationController],\n})\nexport class UserLoginMigrationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserLoginMigrationController.html":{"url":"controllers/UserLoginMigrationController.html","title":"controller - UserLoginMigrationController","body":"\n \n\n\n\n\n\n\n Controllers\n UserLoginMigrationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts\n \n\n \n Prefix\n \n \n user-login-migrations\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('close')@HttpCode(HttpStatus.OK)@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. Restart is possible.', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. It cannot be restarted.', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiNotFoundResponse({description: 'User login migration does not exist', type: UserLoginMigrationNotFoundLoggableException})@ApiOkResponse({description: 'User login migration closed', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiNoContentResponse({description: 'User login migration was reverted'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(user: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('schools/:schoolId')@ApiForbiddenResponse()@ApiOkResponse({description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse})@ApiNotFoundResponse({description: 'Cannot find UserLoginMigration'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(user: ICurrentUser, params: UserLoginMigrationSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiForbiddenResponse()@ApiOperation({summary: 'Get UserLoginMigrations', description: 'Currently there can only be one migration for a user. Therefore only one migration is returned.'})@ApiOkResponse({description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse})@ApiInternalServerErrorResponse({description: 'Cannot find target system information.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n migrateUserLogin(jwt: string, currentUser: ICurrentUser, body: Oauth2MigrationParams)\n \n \n\n \n \n Decorators : \n \n @Post('migrate-to-oauth2')@ApiOkResponse({description: 'The User has been successfully migrated.', status: 200})@ApiInternalServerErrorResponse({description: 'The migration of the User was not possible.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:218\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n Oauth2MigrationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Put('restart')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(currentUser: ICurrentUser, body: UserLoginMigrationMandatoryParams)\n \n \n\n \n \n Decorators : \n \n @Put('mandatory')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiOkResponse({description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n UserLoginMigrationMandatoryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('start')@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'School has no official school number', type: SchoolNumberMissingLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser, JWT } from '@modules/authentication';\nimport { Body, Controller, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiInternalServerErrorResponse,\n\tApiNoContentResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../loggable';\nimport { UserLoginMigrationMapper } from '../mapper';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationQuery,\n\tUserLoginMigrationUc,\n} from '../uc';\nimport {\n\tUserLoginMigrationResponse,\n\tUserLoginMigrationSearchListResponse,\n\tUserLoginMigrationSearchParams,\n} from './dto';\nimport { Oauth2MigrationParams } from './dto/oauth2-migration.params';\nimport { SchoolIdParams } from './dto/request/school-id.params';\nimport { UserLoginMigrationMandatoryParams } from './dto/request/user-login-migration-mandatory.params';\n\n@ApiTags('UserLoginMigration')\n@Controller('user-login-migrations')\n@Authenticate('jwt')\nexport class UserLoginMigrationController {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationUc: UserLoginMigrationUc,\n\t\tprivate readonly startUserLoginMigrationUc: StartUserLoginMigrationUc,\n\t\tprivate readonly restartUserLoginMigrationUc: RestartUserLoginMigrationUc,\n\t\tprivate readonly toggleUserLoginMigrationUc: ToggleUserLoginMigrationUc,\n\t\tprivate readonly closeUserLoginMigrationUc: CloseUserLoginMigrationUc\n\t) {}\n\n\t@Get()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({\n\t\tsummary: 'Get UserLoginMigrations',\n\t\tdescription: 'Currently there can only be one migration for a user. Therefore only one migration is returned.',\n\t})\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse })\n\t@ApiInternalServerErrorResponse({ description: 'Cannot find target system information.' })\n\tasync getMigrations(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Query() params: UserLoginMigrationSearchParams\n\t): Promise {\n\t\tconst userLoginMigrationQuery: UserLoginMigrationQuery = UserLoginMigrationMapper.mapSearchParamsToQuery(params);\n\n\t\tconst migrationPage: Page = await this.userLoginMigrationUc.getMigrations(\n\t\t\tuser.userId,\n\t\t\tuserLoginMigrationQuery\n\t\t);\n\n\t\tconst migrationResponses: UserLoginMigrationResponse[] = migrationPage.data.map(\n\t\t\t(userLoginMigration: UserLoginMigrationDO) =>\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration)\n\t\t);\n\n\t\tconst response: UserLoginMigrationSearchListResponse = new UserLoginMigrationSearchListResponse(\n\t\t\tmigrationResponses,\n\t\t\tmigrationPage.total,\n\t\t\tundefined,\n\t\t\tundefined\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get('schools/:schoolId')\n\t@ApiForbiddenResponse()\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse })\n\t@ApiNotFoundResponse({ description: 'Cannot find UserLoginMigration' })\n\tasync findUserLoginMigrationBySchool(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationUc.findUserLoginMigrationBySchool(\n\t\t\tuser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst response: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\n\t\treturn response;\n\t}\n\n\t@Post('start')\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'School has no official school number',\n\t\ttype: SchoolNumberMissingLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiForbiddenResponse()\n\tasync startMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.startUserLoginMigrationUc.startMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('restart')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync restartMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.restartUserLoginMigrationUc.restartMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('mandatory')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync setMigrationMandatory(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: UserLoginMigrationMandatoryParams\n\t): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.toggleUserLoginMigrationUc.setMigrationMandatory(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tbody.mandatory\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Post('close')\n\t@HttpCode(HttpStatus.OK)\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. Restart is possible.',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. It cannot be restarted.',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration does not exist',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration closed', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiNoContentResponse({ description: 'User login migration was reverted' })\n\tasync closeMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | undefined = await this.closeUserLoginMigrationUc.closeMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tif (userLoginMigration) {\n\t\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\t\t\treturn migrationResponse;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t@Post('migrate-to-oauth2')\n\t@ApiOkResponse({ description: 'The User has been successfully migrated.', status: 200 })\n\t@ApiInternalServerErrorResponse({ description: 'The migration of the User was not possible.' })\n\tasync migrateUserLogin(\n\t\t@JWT() jwt: string,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: Oauth2MigrationParams\n\t): Promise {\n\t\tawait this.userLoginMigrationUc.migrate(jwt, currentUser.userId, body.systemId, body.code, body.redirectUri);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationDO.html":{"url":"classes/UserLoginMigrationDO.html","title":"class - UserLoginMigrationDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user-login-migration.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n closedAt\n \n \n Optional\n finishedAt\n \n \n Optional\n mandatorySince\n \n \n schoolId\n \n \n Optional\n sourceSystemId\n \n \n startedAt\n \n \n targetSystemId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '../types';\nimport { BaseDO } from './base.do';\n\nexport class UserLoginMigrationDO extends BaseDO {\n\tschoolId: EntityId;\n\n\tsourceSystemId?: EntityId;\n\n\ttargetSystemId: EntityId;\n\n\tmandatorySince?: Date;\n\n\tstartedAt: Date;\n\n\tclosedAt?: Date;\n\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationDO) {\n\t\tsuper(props.id);\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/UserLoginMigrationEntity.html":{"url":"entities/UserLoginMigrationEntity.html","title":"entity - UserLoginMigrationEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n UserLoginMigrationEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-login-migration.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n Optional\n mandatorySince\n \n \n \n school\n \n \n \n Optional\n sourceSystem\n \n \n \n startedAt\n \n \n \n targetSystem\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, school => school.userLoginMigration, {nullable: false, owner: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:18\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne, OneToOne, Property } from '@mikro-orm/core';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IUserLoginMigration = Readonly>;\n\n@Entity({ tableName: 'user-login-migrations' })\nexport class UserLoginMigrationEntity extends BaseEntityWithTimestamps {\n\t@OneToOne(() => SchoolEntity, (school) => school.userLoginMigration, { nullable: false, owner: true })\n\tschool: SchoolEntity;\n\n\t// undefined, if migrating from 'local'\n\t@ManyToOne(() => SystemEntity, { nullable: true })\n\tsourceSystem?: SystemEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\ttargetSystem: SystemEntity;\n\n\t@Property({ nullable: true })\n\tmandatorySince?: Date;\n\n\t@Property()\n\tstartedAt: Date;\n\n\t@Property({ nullable: true })\n\tclosedAt?: Date;\n\n\t@Property({ nullable: true })\n\tfinishedAt?: Date;\n\n\tconstructor(props: IUserLoginMigration) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.sourceSystem = props.sourceSystem;\n\t\tthis.targetSystem = props.targetSystem;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{"url":"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html","title":"class - UserLoginMigrationGracePeriodExpiredLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationGracePeriodExpiredLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationId: EntityId, finishedAt: Date)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n finishedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationGracePeriodExpiredLoggableException\n\textends UnprocessableEntityException\n\timplements Loggable\n{\n\tconstructor(private readonly userLoginMigrationId: EntityId, private readonly finishedAt: Date) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_GRACE_PERIOD_EXPIRED',\n\t\t\tmessage: 'The grace period after finishing the user login migration has expired. It cannot be restarted.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tfinishedAt: this.finishedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryLoggable.html":{"url":"classes/UserLoginMigrationMandatoryLoggable.html","title":"class - UserLoginMigrationMandatoryLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined, mandatory: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n mandatory\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationMandatoryLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly userLoginMigrationId: EntityId | undefined,\n\t\tprivate readonly mandatory: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator changed the requirement status of the user login migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tmandatory: this.mandatory,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryParams.html":{"url":"classes/UserLoginMigrationMandatoryParams.html","title":"class - UserLoginMigrationMandatoryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UserLoginMigrationMandatoryParams {\n\t@IsBoolean()\n\t@ApiProperty()\n\tmandatory!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMapper.html":{"url":"classes/UserLoginMigrationMapper.html","title":"class - UserLoginMigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n \n \n \n \n \n mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n searchParams\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n \n \n \n mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationResponse, UserLoginMigrationSearchParams } from '../controller/dto';\nimport { UserLoginMigrationQuery } from '../uc';\n\nexport class UserLoginMigrationMapper {\n\tstatic mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams): UserLoginMigrationQuery {\n\t\tconst query: UserLoginMigrationQuery = {\n\t\t\tuserId: searchParams.userId,\n\t\t};\n\n\t\treturn query;\n\t}\n\n\tstatic mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO): UserLoginMigrationResponse {\n\t\tconst response: UserLoginMigrationResponse = new UserLoginMigrationResponse({\n\t\t\tid: domainObject.id as string,\n\t\t\tsourceSystemId: domainObject.sourceSystemId,\n\t\t\ttargetSystemId: domainObject.targetSystemId,\n\t\t\tstartedAt: domainObject.startedAt,\n\t\t\tclosedAt: domainObject.closedAt,\n\t\t\tfinishedAt: domainObject.finishedAt,\n\t\t\tmandatorySince: domainObject.mandatorySince,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationModule.html":{"url":"modules/UserLoginMigrationModule.html","title":"module - UserLoginMigrationModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationModule\n\n\n\ncluster_UserLoginMigrationModule_imports\n\n\n\ncluster_UserLoginMigrationModule_exports\n\n\n\ncluster_UserLoginMigrationModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule -->\n\nAccountModule->UserLoginMigrationModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserLoginMigrationModule -->\n\nLegacySchoolModule->UserLoginMigrationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserLoginMigrationModule -->\n\nLoggerModule->UserLoginMigrationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nUserLoginMigrationModule -->\n\nSystemModule->UserLoginMigrationModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nUserLoginMigrationModule -->\n\nUserModule->UserLoginMigrationModule\n\n\n\n\n\nMigrationCheckService \n\nMigrationCheckService \n\nMigrationCheckService -->\n\nUserLoginMigrationModule->MigrationCheckService \n\n\n\n\n\nSchoolMigrationService \n\nSchoolMigrationService \n\nSchoolMigrationService -->\n\nUserLoginMigrationModule->SchoolMigrationService \n\n\n\n\n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService -->\n\nUserLoginMigrationModule->UserLoginMigrationRevertService \n\n\n\n\n\nUserLoginMigrationService \n\nUserLoginMigrationService \n\nUserLoginMigrationService -->\n\nUserLoginMigrationModule->UserLoginMigrationService \n\n\n\n\n\nUserMigrationService \n\nUserMigrationService \n\nUserMigrationService -->\n\nUserLoginMigrationModule->UserMigrationService \n\n\n\n\n\nMigrationCheckService\n\nMigrationCheckService\n\nUserLoginMigrationModule -->\n\nMigrationCheckService->UserLoginMigrationModule\n\n\n\n\n\nSchoolMigrationService\n\nSchoolMigrationService\n\nUserLoginMigrationModule -->\n\nSchoolMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRepo\n\nUserLoginMigrationRepo\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRepo->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRevertService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationService\n\nUserLoginMigrationService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserMigrationService\n\nUserMigrationService\n\nUserLoginMigrationModule -->\n\nUserMigrationService->UserLoginMigrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRepo\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport {\n\tMigrationCheckService,\n\tSchoolMigrationService,\n\tUserLoginMigrationRevertService,\n\tUserLoginMigrationService,\n\tUserMigrationService,\n} from './service';\n\n@Module({\n\timports: [UserModule, LegacySchoolModule, LoggerModule, AccountModule, SystemModule],\n\tproviders: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRepo,\n\t\tUserLoginMigrationRevertService,\n\t],\n\texports: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRevertService,\n\t],\n})\nexport class UserLoginMigrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationNotFoundLoggableException.html":{"url":"classes/UserLoginMigrationNotFoundLoggableException.html","title":"class - UserLoginMigrationNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_NOT_FOUND',\n\t\t\tmessage: 'Cannot find requested user login migration for school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserLoginMigrationQuery.html":{"url":"interfaces/UserLoginMigrationQuery.html","title":"interface - UserLoginMigrationQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserLoginMigrationQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/dto/user-login-migration-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface UserLoginMigrationQuery {\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRepo.html":{"url":"injectables/UserLoginMigrationRepo.html","title":"injectable - UserLoginMigrationRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserLoginMigrationDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:49\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: UserLoginMigrationEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:34\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n UserLoginMigrationEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:17\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity } from '@shared/domain/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n@Injectable()\nexport class UserLoginMigrationRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn UserLoginMigrationEntity;\n\t}\n\n\tasync findBySchoolId(schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationEntity | null = await this._em.findOne(UserLoginMigrationEntity, {\n\t\t\tschool: schoolId,\n\t\t});\n\n\t\tif (userLoginMigration) {\n\t\t\tconst userLoginMigrationDO = this.mapEntityToDO(userLoginMigration);\n\t\t\treturn userLoginMigrationDO;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tmapEntityToDO(entity: UserLoginMigrationEntity): UserLoginMigrationDO {\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tid: entity.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\tsourceSystemId: entity.sourceSystem?.id,\n\t\t\ttargetSystemId: entity.targetSystem.id,\n\t\t\tmandatorySince: entity.mandatorySince,\n\t\t\tstartedAt: entity.startedAt,\n\t\t\tclosedAt: entity.closedAt,\n\t\t\tfinishedAt: entity.finishedAt,\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserLoginMigrationDO): EntityData {\n\t\tconst userLoginMigrationProps: EntityData = {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\tsourceSystem: entityDO.sourceSystemId ? this._em.getReference(SystemEntity, entityDO.sourceSystemId) : undefined,\n\t\t\ttargetSystem: this._em.getReference(SystemEntity, entityDO.targetSystemId),\n\t\t\tmandatorySince: entityDO.mandatorySince,\n\t\t\tstartedAt: entityDO.startedAt,\n\t\t\tclosedAt: entityDO.closedAt,\n\t\t\tfinishedAt: entityDO.finishedAt,\n\t\t};\n\n\t\treturn userLoginMigrationProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationResponse.html":{"url":"classes/UserLoginMigrationResponse.html","title":"class - UserLoginMigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n id\n \n \n \n Optional\n mandatorySince\n \n \n \n Optional\n sourceSystemId\n \n \n \n startedAt\n \n \n \n targetSystemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed including the grace period'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was marked as required'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of the system which is the origin of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Date when the migration was started'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system which is the target of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserLoginMigrationResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of the system which is the origin of the migration',\n\t})\n\tsourceSystemId?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Id of the system which is the target of the migration',\n\t})\n\ttargetSystemId: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was marked as required',\n\t})\n\tmandatorySince?: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'Date when the migration was started',\n\t})\n\tstartedAt: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed',\n\t})\n\tclosedAt?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed including the grace period',\n\t})\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationResponse) {\n\t\tthis.id = props.id;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRevertService.html":{"url":"injectables/UserLoginMigrationRevertService.html","title":"injectable - UserLoginMigrationRevertService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRevertService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n \n \n \n revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { UserLoginMigrationService } from './user-login-migration.service';\n\n@Injectable()\nexport class UserLoginMigrationRevertService {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.schoolService.removeFeature(userLoginMigration.schoolId, SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\tawait this.userLoginMigrationService.deleteUserLoginMigration(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRule.html":{"url":"injectables/UserLoginMigrationRule.html","title":"injectable - UserLoginMigrationRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserLoginMigrationRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: UserLoginMigrationDO): boolean {\n\t\tconst isMatched: boolean = entity instanceof UserLoginMigrationDO;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\tuser.school.id === entity.schoolId;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchListResponse.html":{"url":"classes/UserLoginMigrationSearchListResponse.html","title":"class - UserLoginMigrationSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserLoginMigrationResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserLoginMigrationResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { UserLoginMigrationResponse } from './user-login-migration.response';\n\nexport class UserLoginMigrationSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [UserLoginMigrationResponse] })\n\tdata: UserLoginMigrationResponse[];\n\n\tconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchParams.html":{"url":"classes/UserLoginMigrationSearchParams.html","title":"class - UserLoginMigrationSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class UserLoginMigrationSearchParams {\n\t@ApiPropertyOptional()\n\t@IsString()\n\t@IsOptional()\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationService.html":{"url":"injectables/UserLoginMigrationService.html","title":"injectable - UserLoginMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n Public\n Async\n closeMigration\n \n \n Private\n Async\n createNewMigration\n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n Private\n enableOauthMigrationFeature\n \n \n Public\n Async\n findMigrationBySchool\n \n \n Public\n Async\n findMigrationByUser\n \n \n Private\n isGracePeriodExpired\n \n \n Public\n Async\n restartMigration\n \n \n Public\n Async\n setMigrationMandatory\n \n \n Public\n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo, schoolService: LegacySchoolService, systemService: LegacySystemService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n \n \n \n \n \n checkGracePeriod(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createNewMigration\n \n \n \n \n \n \n \n createNewMigration(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n \n \n \n \n \n deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:168\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n enableOauthMigrationFeature\n \n \n \n \n \n \n \n enableOauthMigrationFeature(schoolDo: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:134\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDo\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationBySchool\n \n \n \n \n \n \n \n findMigrationBySchool(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationByUser\n \n \n \n \n \n \n \n findMigrationByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGracePeriodExpired\n \n \n \n \n \n \n \n isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userLoginMigration: UserLoginMigrationDO, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { LegacySystemService, SystemDto } from '@modules/system';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport {\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class UserLoginMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly systemService: LegacySystemService\n\t) {}\n\n\tpublic async startMigration(schoolId: string): Promise {\n\t\tconst schoolDo: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = await this.createNewMigration(schoolDo);\n\n\t\tthis.enableOauthMigrationFeature(schoolDo);\n\t\tawait this.schoolService.save(schoolDo);\n\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigrationDO);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async restartMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (!userLoginMigration.closedAt || !userLoginMigration.finishedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tuserLoginMigration.closedAt = undefined;\n\t\tuserLoginMigration.finishedAt = undefined;\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n\n\tpublic async setMigrationMandatory(\n\t\tuserLoginMigration: UserLoginMigrationDO,\n\t\tmandatory: boolean\n\t): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\tif (mandatory) {\n\t\t\tuserLoginMigration.mandatorySince = userLoginMigration.mandatorySince ?? new Date();\n\t\t} else {\n\t\t\tuserLoginMigration.mandatorySince = undefined;\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async closeMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tawait this.schoolService.removeFeature(\n\t\t\tuserLoginMigration.schoolId,\n\t\t\tSchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION\n\t\t);\n\n\t\tconst now: Date = new Date();\n\t\tconst gracePeriodDuration: number = Configuration.get('MIGRATION_END_GRACE_PERIOD_MS') as number;\n\n\t\tuserLoginMigration.closedAt = now;\n\t\tuserLoginMigration.finishedAt = new Date(now.getTime() + gracePeriodDuration);\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate checkGracePeriod(userLoginMigration: UserLoginMigrationDO) {\n\t\tif (userLoginMigration.finishedAt && this.isGracePeriodExpired(userLoginMigration)) {\n\t\t\tthrow new UserLoginMigrationGracePeriodExpiredLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.finishedAt\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\tconst isGracePeriodExpired: boolean =\n\t\t\t!!userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime();\n\n\t\treturn isGracePeriodExpired;\n\t}\n\n\tprivate async createNewMigration(school: LegacySchoolDo): Promise {\n\t\tconst oauthSystems: SystemDto[] = await this.systemService.findByType(SystemTypeEnum.OAUTH);\n\t\tconst sanisSystem: SystemDto | undefined = oauthSystems.find((system: SystemDto) => system.alias === 'SANIS');\n\n\t\tif (!sanisSystem) {\n\t\t\tthrow new InternalServerErrorException('Cannot find SANIS system');\n\t\t}\n\n\t\tconst systemIds: EntityId[] =\n\t\t\tschool.systems?.filter((systemId: EntityId) => systemId !== (sanisSystem.id as string)) || [];\n\t\tconst sourceSystemId = systemIds[0];\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tschoolId: school.id as string,\n\t\t\ttargetSystemId: sanisSystem.id as string,\n\t\t\tsourceSystemId,\n\t\t\tstartedAt: new Date(),\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tprivate enableOauthMigrationFeature(schoolDo: LegacySchoolDo) {\n\t\tif (schoolDo.features && !schoolDo.features.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED)) {\n\t\t\tschoolDo.features.push(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\t} else {\n\t\t\tschoolDo.features = [SchoolFeatures.OAUTH_PROVISIONING_ENABLED];\n\t\t}\n\t}\n\n\tpublic async findMigrationBySchool(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async findMigrationByUser(userId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(userId);\n\t\tconst { schoolId } = userDO;\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.findMigrationBySchool(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst hasUserMigrated: boolean =\n\t\t\t!!userDO.lastLoginSystemChange && userDO.lastLoginSystemChange > userLoginMigration.startedAt;\n\n\t\tif (hasUserMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.userLoginMigrationRepo.delete(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationStartLoggable.html":{"url":"classes/UserLoginMigrationStartLoggable.html","title":"class - UserLoginMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationStartLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigrationId: EntityId | undefined) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationUc.html":{"url":"injectables/UserLoginMigrationUc.html","title":"injectable - UserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n Async\n getMigrations\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationService: UserMigrationService, userLoginMigrationService: UserLoginMigrationService, oauthService: OAuthService, provisioningService: ProvisioningService, schoolMigrationService: SchoolMigrationService, authenticationService: AuthenticationService, authorizationService: AuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationService\n \n \n UserMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(userId: EntityId, query: UserLoginMigrationQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n UserLoginMigrationQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: EntityId, targetSystemId: EntityId, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userJwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationService } from '@modules/authentication';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tExternalSchoolNumberMissingLoggableException,\n\tInvalidUserLoginMigrationLoggableException,\n\tSchoolMigrationSuccessfulLoggable,\n\tUserMigrationStartedLoggable,\n\tUserMigrationSuccessfulLoggable,\n} from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service';\nimport { UserLoginMigrationQuery } from './dto';\n\n@Injectable()\nexport class UserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userMigrationService: UserMigrationService,\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync getMigrations(userId: EntityId, query: UserLoginMigrationQuery): Promise> {\n\t\tlet page = new Page([], 0);\n\n\t\tif (query.userId) {\n\t\t\tif (userId !== query.userId) {\n\t\t\t\tthrow new ForbiddenException('Accessing migration status of another user is forbidden.');\n\t\t\t}\n\n\t\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\t\tquery.userId\n\t\t\t);\n\n\t\t\tif (userLoginMigration) {\n\t\t\t\tpage = new Page([userLoginMigration], 1);\n\t\t\t}\n\t\t}\n\n\t\treturn page;\n\t}\n\n\tasync findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new NotFoundLoggableException('UserLoginMigration', { schoolId });\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(user, userLoginMigration, {\n\t\t\trequiredPermissions: [Permission.USER_LOGIN_MIGRATION_ADMIN],\n\t\t\taction: Action.read,\n\t\t});\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync migrate(\n\t\tuserJwt: string,\n\t\tcurrentUserId: EntityId,\n\t\ttargetSystemId: EntityId,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\tcurrentUserId\n\t\t);\n\n\t\tif (!userLoginMigration || userLoginMigration.closedAt || userLoginMigration.targetSystemId !== targetSystemId) {\n\t\t\tthrow new InvalidUserLoginMigrationLoggableException(currentUserId, targetSystemId);\n\t\t}\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(targetSystemId, redirectUri, code);\n\n\t\tthis.logger.debug(new UserMigrationStartedLoggable(currentUserId, userLoginMigration));\n\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(\n\t\t\ttargetSystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken\n\t\t);\n\n\t\tif (data.externalSchool) {\n\t\t\tif (!data.externalSchool.officialSchoolNumber) {\n\t\t\t\tthrow new ExternalSchoolNumberMissingLoggableException(data.externalSchool.externalId);\n\t\t\t}\n\n\t\t\tconst schoolToMigrate: LegacySchoolDo | null = await this.schoolMigrationService.getSchoolForMigration(\n\t\t\t\tcurrentUserId,\n\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t);\n\n\t\t\tif (schoolToMigrate) {\n\t\t\t\tawait this.schoolMigrationService.migrateSchool(\n\t\t\t\t\tschoolToMigrate,\n\t\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\t\ttargetSystemId\n\t\t\t\t);\n\n\t\t\t\tthis.logger.debug(new SchoolMigrationSuccessfulLoggable(schoolToMigrate, userLoginMigration));\n\t\t\t}\n\t\t}\n\n\t\tawait this.userMigrationService.migrateUser(currentUserId, data.externalUser.externalId, targetSystemId);\n\n\t\tthis.logger.debug(new UserMigrationSuccessfulLoggable(currentUserId, userLoginMigration));\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMapper.html":{"url":"classes/UserMapper.html","title":"class - UserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDto } from '@modules/user/uc/dto/user.dto';\nimport { Role, User } from '@shared/domain/entity';\n\nexport class UserMapper {\n\tstatic mapFromEntityToDto(entity: User): UserDto {\n\t\treturn new UserDto({\n\t\t\tid: entity.id,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\tschoolId: entity.school.id,\n\t\t\troleIds: entity.roles.getItems().map((role: Role) => role.id),\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchListResponse.html":{"url":"classes/UserMatchListResponse.html","title":"class - UserMatchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:44\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserMatchResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserMatchResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:51\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchMapper.html":{"url":"classes/UserMatchMapper.html","title":"class - UserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/user-match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(query: FilterUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NameMatch\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, matchCreator?: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n matchCreator\n \n MatchCreator\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserMatchResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { StringValidator } from '@shared/common';\nimport { MatchCreator, User } from '@shared/domain/entity';\nimport { NameMatch } from '@shared/domain/types';\nimport { UserMatchResponse, UserRole } from '../controller/dto';\nimport { FilterUserParams } from '../controller/dto/filter-user.params';\nimport { ImportUserMatchMapper } from './match.mapper';\n\nexport class UserMatchMapper {\n\tstatic mapToDomain(query: FilterUserParams): NameMatch {\n\t\tconst scope: NameMatch = {};\n\t\tif (query.name) {\n\t\t\tif (StringValidator.isNotEmptyString(query.name, true)) {\n\t\t\t\tscope.name = query.name;\n\t\t\t} else {\n\t\t\t\tthrow Error('invalid name from query');\n\t\t\t}\n\t\t}\n\t\treturn scope;\n\t}\n\n\tstatic mapToResponse(user: User, matchCreator?: MatchCreator): UserMatchResponse {\n\t\tconst domainRoles = user.roles.getItems(true);\n\t\tconst domainRoleNames = domainRoles.map((role) => role.name);\n\t\tconst roleNames: UserRole[] = domainRoleNames\n\t\t\t.map((roleName) => {\n\t\t\t\tswitch (roleName) {\n\t\t\t\t\tcase 'teacher':\n\t\t\t\t\t\treturn UserRole.TEACHER;\n\t\t\t\t\tcase 'administrator':\n\t\t\t\t\t\treturn UserRole.ADMIN;\n\t\t\t\t\tcase 'student':\n\t\t\t\t\t\treturn UserRole.STUDENT;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((roleName) => roleName != null) as UserRole[];\n\t\tconst dto = new UserMatchResponse({\n\t\t\tuserId: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tloginName: user.email,\n\t\t\troleNames,\n\t\t});\n\t\tif (matchCreator != null) {\n\t\t\tconst matchedBy = ImportUserMatchMapper.mapMatchCreatorToResponse(matchCreator);\n\t\t\tdto.matchedBy = matchedBy;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchResponse.html":{"url":"classes/UserMatchResponse.html","title":"class - UserMatchResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n loginName\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserMatchResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserMatchResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'firstname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'lastname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'login name of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'match type: admin (manual) or auto (set, when names match exactly for a single user', enum: MatchType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'local user id'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserMetdata.html":{"url":"interfaces/UserMetdata.html","title":"interface - UserMetdata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserMetdata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/UserMigrationDatabaseOperationFailedLoggableException.html","title":"class - UserMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:14\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class UserMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\tconstructor(private readonly userId: EntityId, private readonly operation: 'migration' | 'rollback', error: unknown) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationIsNotEnabled.html":{"url":"classes/UserMigrationIsNotEnabled.html","title":"class - UserMigrationIsNotEnabled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationIsNotEnabled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserMigrationIsNotEnabled implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Feature flag of user migration may be disable or the school is not an LDAP pilot',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserMigrationService.html":{"url":"injectables/UserMigrationService.html","title":"injectable - UserMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n Async\n migrateUser\n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, accountService: AccountService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(userDO: UserDO, externalUserId: string, account: AccountDto, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUser\n \n \n \n \n \n \n \n migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(currentUserId: EntityId, userDOCopy: UserDO, accountCopy: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userDOCopy\n \n UserDO\n \n\n \n No\n \n\n\n \n \n accountCopy\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserMigrationDatabaseOperationFailedLoggableException } from '../loggable';\n\n@Injectable()\nexport class UserMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(currentUserId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(currentUserId);\n\n\t\tconst userDOCopy: UserDO = new UserDO({ ...userDO });\n\t\tconst accountCopy: AccountDto = new AccountDto({ ...account });\n\n\t\ttry {\n\t\t\tawait this.doMigration(userDO, externalUserId, account, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(currentUserId, userDOCopy, accountCopy);\n\n\t\t\tthrow new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(\n\t\tuserDO: UserDO,\n\t\texternalUserId: string,\n\t\taccount: AccountDto,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tuserDO.previousExternalId = userDO.externalId;\n\t\tuserDO.externalId = externalUserId;\n\t\tuserDO.lastLoginSystemChange = new Date();\n\t\tawait this.userService.save(userDO);\n\n\t\taccount.systemId = targetSystemId;\n\t\tawait this.accountService.save(account);\n\t}\n\n\tprivate async tryRollbackMigration(\n\t\tcurrentUserId: EntityId,\n\t\tuserDOCopy: UserDO,\n\t\taccountCopy: AccountDto\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.userService.save(userDOCopy);\n\t\t\tawait this.accountService.save(accountCopy);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'rollback', error));\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationStartedLoggable.html":{"url":"classes/UserMigrationStartedLoggable.html","title":"class - UserMigrationStartedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationStartedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationStartedLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user started the user login migration.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationSuccessfulLoggable.html":{"url":"classes/UserMigrationSuccessfulLoggable.html","title":"class - UserMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserModule.html":{"url":"modules/UserModule.html","title":"module - UserModule","body":"\n \n\n\n\n\n Modules\n UserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserModule\n\n\n\ncluster_UserModule_imports\n\n\n\ncluster_UserModule_providers\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 OauthSsoErrorLoggableException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:17\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class UserNotFoundAfterProvisioningLoggableException extends OauthSsoErrorLoggableException implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalUserId: string,\n\t\tprivate readonly systemId: EntityId,\n\t\tprivate readonly officialSchoolNumber?: string\n\t) {\n\t\tsuper(\n\t\t\t'Unable to find user after provisioning. The feature for OAuth2 provisioning might be disabled for this school.',\n\t\t\t'sso_user_not_found_after_provisioning'\n\t\t);\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.externalUserId,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParams.html":{"url":"classes/UserParams.html","title":"class - UserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The user id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class UserParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The user id.', required: true, nullable: false })\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParentsEntity.html":{"url":"classes/UserParentsEntity.html","title":"class - UserParentsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParentsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n firstName\n \n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserParentsEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserParentsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserParentsEntityProps.html":{"url":"interfaces/UserParentsEntityProps.html","title":"interface - UserParentsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserParentsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserProperties.html":{"url":"interfaces/UserProperties.html","title":"interface - UserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n birthday\n \n \n \n Optional\n \n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n forcePasswordChange\n \n \n \n Optional\n \n language\n \n \n \n Optional\n \n lastLoginSystemChange\n \n \n \n \n lastName\n \n \n \n Optional\n \n ldapDn\n \n \n \n Optional\n \n outdatedSince\n \n \n \n Optional\n \n parents\n \n \n \n Optional\n \n preferences\n \n \n \n Optional\n \n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthday\n \n \n \n \n \n \n \n \n birthday: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n forcePasswordChange\n \n \n \n \n \n \n \n \n forcePasswordChange: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n \n \n language: LanguageType\n\n \n \n\n\n \n \n Type : LanguageType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastLoginSystemChange\n \n \n \n \n \n \n \n \n lastLoginSystemChange: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n outdatedSince\n \n \n \n \n \n \n \n \n outdatedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parents\n \n \n \n \n \n \n \n \n parents: UserParentsEntity[]\n\n \n \n\n\n \n \n Type : UserParentsEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n preferences\n \n \n \n \n \n \n \n \n preferences: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRepo.html":{"url":"injectables/UserRepo.html","title":"injectable - UserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findWithoutImportUser\n \n \n Async\n flush\n \n \n Async\n getParentEmailsFromUser\n \n \n Private\n Async\n populateRoles\n \n \n saveWithoutFlush\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findWithoutImportUser\n \n \n \n \n \n \n \n findWithoutImportUser(school: SchoolEntity, filters?: NameMatch, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:40\n \n \n\n\n \n \n used for importusers module to request users not referenced in importusers\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n filters\n \n NameMatch\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:165\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { QueryOrderMap, QueryOrderNumeric } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, NameMatch } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { MongoPatterns } from '../mongo.patterns';\n\n@Injectable()\nexport class UserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn User;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst user = await super.findById(id);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst [users] = await this._em.findAndCount(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst resultUser = users.find((user) => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && systems.getItems().find((system) => system.id === systemId);\n\t\t});\n\t\treturn resultUser ?? Promise.reject();\n\t}\n\n\t/**\n\t * used for importusers module to request users not referenced in importusers\n\t */\n\tasync findWithoutImportUser(\n\t\tschool: SchoolEntity,\n\t\tfilters?: NameMatch,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { _id: schoolId } = school;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\n\t\tconst existingMatch = { deletedAt: null };\n\t\tconst permittedMatch = { schoolId };\n\n\t\tconst queryFilterMatch: { $or?: unknown[] } = {};\n\t\tif (filters?.name && StringValidator.isNotEmptyString(filters.name, true)) {\n\t\t\tconst escapedName = filters.name.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t\t// TODO make db agnostic\n\t\t\tif (StringValidator.isNotEmptyString(escapedName, true)) {\n\t\t\t\tqueryFilterMatch.$or = [\n\t\t\t\t\t{\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlastName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tconst pipeline: unknown[] = [\n\t\t\t{ $match: existingMatch },\n\t\t\t{ $match: permittedMatch },\n\t\t\t{\n\t\t\t\t$lookup: {\n\t\t\t\t\tfrom: 'importusers',\n\t\t\t\t\tlocalField: '_id',\n\t\t\t\t\tforeignField: 'match_userId',\n\t\t\t\t\tas: 'importusers',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\timportusers: {\n\t\t\t\t\t\t$size: 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ $match: queryFilterMatch },\n\t\t\t{\n\t\t\t\t$project: {\n\t\t\t\t\timportusers: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst countPipeline = [...pipeline];\n\t\tcountPipeline.push({ $group: { _id: null, count: { $sum: 1 } } });\n\t\tconst total = (await this._em.aggregate(User, countPipeline)) as { count: number }[];\n\t\tconst count = total.length > 0 ? total[0].count : 0;\n\t\tconst { pagination, order } = options || {};\n\n\t\tif (order) {\n\t\t\tconst orderQuery: QueryOrderMap = {};\n\t\t\tif (order.firstName) {\n\t\t\t\tswitch (order.firstName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (order.lastName) {\n\t\t\t\tswitch (order.lastName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tpipeline.push({ $sort: orderQuery });\n\t\t}\n\n\t\tif (pagination?.skip) {\n\t\t\tpipeline.push({ $skip: pagination.skip });\n\t\t}\n\t\tif (pagination?.limit) {\n\t\t\tpipeline.push({ $limit: pagination.limit });\n\t\t}\n\n\t\tconst userDocuments = await this._em.aggregate(User, pipeline);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst users = userDocuments.map((userDocument) => this._em.map(User, userDocument));\n\t\tawait this._em.populate(users, ['roles']);\n\t\treturn [users, count];\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\t// find mail case-insensitive by regex\n\t\tconst promise: Promise = this._em.find(User, {\n\t\t\temail: new RegExp(`^${email.replace(/\\W/g, '\\\\$&')}$`, 'i'),\n\t\t});\n\t\treturn promise;\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this._em.nativeDelete(User, {\n\t\t\tid: userId,\n\t\t});\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst user = await this._em.findOneOrFail(User, { id: userId });\n\t\tconst parentsEmails = user.parents?.map((parent) => parent.email) ?? [];\n\n\t\treturn parentsEmails;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i {\n\t\tawait this._em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRule.html":{"url":"injectables/UserRule.html","title":"injectable - UserRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: User, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: User): boolean {\n\t\tconst isMatched = entity instanceof User;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: User, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tconst isOwner = user === entity;\n\n\t\treturn hasPermission || isOwner;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserScope.html":{"url":"classes/UserScope.html","title":"class - UserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n isOutdated\n \n \n whereLastLoginSystemChangeIsBetween\n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n withOutdatedSince\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isOutdated\n \n \n \n \n \n \nisOutdated(isOutdated?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isOutdated\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeIsBetween\n \n \n \n \n \n \nwhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n startDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n endDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n \n \n \n \nwhereLastLoginSystemChangeSmallerThan(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOutdatedSince\n \n \n \n \n \n \nwithOutdatedSince(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class UserScope extends Scope {\n\tisOutdated(isOutdated?: boolean): UserScope {\n\t\tif (isOutdated !== undefined) {\n\t\t\tthis.addQuery({ outdatedSince: { $exists: isOutdated } });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeSmallerThan(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ $or: [{ lastLoginSystemChange: { $lt: date } }, { lastLoginSystemChange: { $exists: false } }] });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date): UserScope {\n\t\tif (startDate && endDate) {\n\t\t\tthis.addQuery({\n\t\t\t\tlastLoginSystemChange: { $gte: startDate, $lt: endDate },\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t}\n\n\twithOutdatedSince(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ outdatedSince: { $eq: date } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId | undefined): UserScope {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserService.html":{"url":"injectables/UserService.html","title":"injectable - UserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/service/user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalId\n \n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Async\n findUsers\n \n \n Async\n getDisplayName\n \n \n Async\n getParentEmailsFromUser\n \n \n Async\n getResolvedUser\n \n \n Async\n getUser\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, userDORepo: UserDORepo, configService: ConfigService, roleService: RoleService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n userDORepo\n \n \n UserDORepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n \n \n \n \n \n checkAvailableLanguages(language: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n language\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | BadRequestException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUsers\n \n \n \n \n \n \n \n findUsers(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getDisplayName\n \n \n \n \n \n \n \n getDisplayName(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getResolvedUser\n \n \n \n \n \n \n \n getResolvedUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUser\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n getUser(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, newLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n newLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(users: UserDO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { CurrentUserMapper } from '@modules/authentication/mapper';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Page, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { UserConfig } from '../interfaces';\nimport { UserMapper } from '../mapper/user.mapper';\nimport { UserDto } from '../uc/dto/user.dto';\nimport { UserQuery } from './user-query.type';\n\n@Injectable()\nexport class UserService {\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly userDORepo: UserDORepo,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService\n\t) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\t/**\n\t * @deprecated use {@link UserService.findById} instead\n\t */\n\tasync getUser(id: string): Promise {\n\t\tconst userEntity = await this.userRepo.findById(id, true);\n\t\tconst userDto = UserMapper.mapFromEntityToDto(userEntity);\n\n\t\treturn userDto;\n\t}\n\n\tasync getResolvedUser(userId: EntityId): Promise {\n\t\tconst user: UserDO = await this.findById(userId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(userId);\n\n\t\tconst resolvedUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(account.id, user, account.systemId);\n\n\t\treturn resolvedUser;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst userDO = await this.userDORepo.findById(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tpublic async findByIdOrNull(id: string): Promise {\n\t\tconst userDO: UserDO | null = await this.userDORepo.findByIdOrNull(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tasync save(user: UserDO): Promise {\n\t\tconst savedUser: Promise = this.userDORepo.save(user);\n\n\t\treturn savedUser;\n\t}\n\n\tasync saveAll(users: UserDO[]): Promise {\n\t\tconst savedUsers: Promise = this.userDORepo.saveAll(users);\n\n\t\treturn savedUsers;\n\t}\n\n\tasync findUsers(query: UserQuery, options?: IFindOptions): Promise> {\n\t\tconst users: Page = await this.userDORepo.find(query, options);\n\n\t\treturn users;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: EntityId): Promise {\n\t\tconst user: Promise = this.userDORepo.findByExternalId(externalId, systemId);\n\n\t\treturn user;\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\tconst user: Promise = this.userRepo.findByEmail(email);\n\n\t\treturn user;\n\t}\n\n\tasync getDisplayName(user: UserDO): Promise {\n\t\tconst protectedRoles: RoleDto[] = await this.roleService.getProtectedRoles();\n\t\tconst isProtectedUser: boolean = user.roles.some(\n\t\t\t(roleRef: RoleReference): boolean =>\n\t\t\t\t!!protectedRoles.find((protectedRole: RoleDto): boolean => roleRef.id === protectedRole.id)\n\t\t);\n\n\t\tconst displayName: string = isProtectedUser ? user.lastName : `${user.firstName} ${user.lastName}`;\n\n\t\treturn displayName;\n\t}\n\n\tasync patchLanguage(userId: EntityId, newLanguage: LanguageType): Promise {\n\t\tthis.checkAvailableLanguages(newLanguage);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = newLanguage;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n\n\tprivate checkAvailableLanguages(language: LanguageType): void | BadRequestException {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(language)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this.userRepo.deleteUser(userId);\n\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst parentEmails = this.userRepo.getParentEmailsFromUser(userId);\n\n\t\treturn parentEmails;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserUc.html":{"url":"injectables/UserUc.html","title":"injectable - UserUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/user.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n \n \n \n \n \n checkAvaibleLanguages(settedLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n settedLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | Error\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, params: ChangeLanguageParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ChangeLanguageParams } from '../controller/dto';\nimport { UserConfig } from '../interfaces';\n\n@Injectable()\nexport class UserUc {\n\tconstructor(private readonly userRepo: UserRepo, private readonly configService: ConfigService) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\tprivate checkAvaibleLanguages(settedLanguage: LanguageType): void | Error {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(settedLanguage)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync patchLanguage(userId: EntityId, params: ChangeLanguageParams): Promise {\n\t\tthis.checkAvaibleLanguages(params.language);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = params.language;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UsersList.html":{"url":"classes/UsersList.html","title":"class - UsersList","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UsersList\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n firstName\n \n \n id\n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationError.html":{"url":"classes/ValidationError.html","title":"class - ValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ValidationError extends BusinessError {\n\tconstructor(readonly message: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\t\ttitle: 'Validation Error',\n\t\t\t\tdefaultMessage: message,\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorDetailResponse.html":{"url":"classes/ValidationErrorDetailResponse.html","title":"class - ValidationErrorDetailResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorDetailResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/validation-error-detail.response.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(field: string[], errors: string[])\n \n \n \n \n Defined in apps/server/src/core/error/dto/validation-error-detail.response.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n field\n \n \n string[]\n \n \n \n No\n \n \n \n \n errors\n \n \n string[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n export class ValidationErrorDetailResponse {\n\tconstructor(readonly field: string[], readonly errors: string[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorLoggableException.html":{"url":"classes/ValidationErrorLoggableException.html","title":"class - ValidationErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:11\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { ValidationError } from 'class-validator';\n\nexport class ValidationErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly validationErrors: ValidationError[]) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst validationErrorListObject: { [key: number]: string } = this.validationErrors.reduce(\n\t\t\t(accumulator, currentValue, currentIndex) => {\n\t\t\t\treturn {\n\t\t\t\t\t...accumulator,\n\t\t\t\t\t[currentIndex]: currentValue.toString(false, undefined, undefined, true),\n\t\t\t\t};\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\t...validationErrorListObject,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ValidationModule.html":{"url":"modules/ValidationModule.html","title":"module - ValidationModule","body":"\n \n\n\n\n\n Modules\n ValidationModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/validation/validation.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_PIPE } from '@nestjs/core';\nimport { GlobalValidationPipe } from './pipe/global-validation.pipe';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_PIPE,\n\t\t\tuseClass: GlobalValidationPipe,\n\t\t},\n\t],\n})\nexport class ValidationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/VideoConference.html":{"url":"entities/VideoConference.html","title":"entity - VideoConference","body":"\n \n\n\n\n\n\n\n\n Entities\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/video-conference.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:34\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport enum TargetModels {\n\tCOURSES = 'courses',\n\tEVENTS = 'events',\n}\n\nexport class VideoConferenceOptions {\n\teveryAttendeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptions) {\n\t\tthis.everyAttendeJoinsMuted = options.everyAttendeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport type IVideoConferenceProperties = Readonly>;\n\n// Preset options for opening a video conference\n@Entity({ tableName: 'videoconferences' })\n@Index({ properties: ['target', 'targetModel'] })\nexport class VideoConference extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\ttarget: string;\n\n\t@Property()\n\ttargetModel: TargetModels;\n\n\t@Property()\n\toptions: VideoConferenceOptions;\n\n\tconstructor(props: IVideoConferenceProperties) {\n\t\tsuper();\n\t\tthis.target = props.target;\n\t\tthis.targetModel = props.targetModel;\n\t\tthis.options = props.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConference-1.html":{"url":"classes/VideoConference-1.html","title":"class - VideoConference-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n permission\n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConference)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n \n \n \n \n Type : BBBResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBBaseResponse, BBBResponse } from '../../bbb';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConference {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\tbbbResponse?: BBBResponse;\n\n\tconstructor(dto: VideoConference) {\n\t\tthis.state = dto.state;\n\t\tthis.bbbResponse = dto.bbbResponse;\n\t\tthis.permission = dto.permission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceApiModule.html":{"url":"modules/VideoConferenceApiModule.html","title":"module - VideoConferenceApiModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceApiModule\n\n\n\ncluster_VideoConferenceApiModule_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/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceConfiguration.html":{"url":"classes/VideoConferenceConfiguration.html","title":"class - VideoConferenceConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n bbb\n \n \n Static\n videoConference\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n bbb\n \n \n \n \n \n \n Type : IBbbSettings\n\n \n \n \n \n Default value : {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n videoConference\n \n \n \n \n \n \n Type : IVideoConferenceSettings\n\n \n \n \n \n Default value : {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IBbbSettings } from './bbb';\nimport { IVideoConferenceSettings } from './interface';\n\nexport default class VideoConferenceConfiguration {\n\tstatic bbb: IBbbSettings = {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t};\n\n\tstatic videoConference: IVideoConferenceSettings = {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceController.html":{"url":"controllers/VideoConferenceController.html","title":"controller - VideoConferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference.controller.ts\n \n\n \n Prefix\n \n \n videoconference2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/end')@ApiOperation({summary: 'Ends a running video conference.', description: 'Use this endpoint to end a running video conference.'})@ApiResponse({status: undefined, description: 'Returns the status of the operation.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to end this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/info')@ApiOperation({summary: 'Returns information about a running video conference.', description: 'Use this endpoint to get information about a running video conference.'})@ApiResponse({status: undefined, description: 'Returns a list of information about a video conference.', type: VideoConferenceInfoResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/join')@ApiOperation({summary: 'Creates a join link for a video conference, if it has started.', description: 'Use this endpoint to get a link to join an existing video conference. The conference must be running.'})@ApiResponse({status: undefined, description: 'Returns the information for joining the conference.', type: VideoConferenceJoinResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to join this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n \n \n \n start(req: Request, currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Put(':scope/:scopeId/start')@ApiOperation({summary: 'Creates the video conference, if it has not started yet.', description: 'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.'})@ApiResponse({status: undefined, description: 'Video conference was created.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, HttpStatus, Param, Put, Req } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { InvalidOriginForLogoutUrlLoggableException } from '../error';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceMapper } from '../mapper/video-conference.mapper';\nimport { VideoConferenceCreateUc, VideoConferenceEndUc, VideoConferenceInfoUc, VideoConferenceJoinUc } from '../uc';\nimport { ScopeRef, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceScopeParams,\n} from './dto';\n\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference2')\nexport class VideoConferenceController {\n\tconstructor(\n\t\tprivate readonly videoConferenceCreateUc: VideoConferenceCreateUc,\n\t\tprivate readonly videoConferenceJoinUc: VideoConferenceJoinUc,\n\t\tprivate readonly videoConferenceEndUc: VideoConferenceEndUc,\n\t\tprivate readonly videoConferenceInfoUc: VideoConferenceInfoUc\n\t) {}\n\n\t@Put(':scope/:scopeId/start')\n\t@ApiOperation({\n\t\tsummary: 'Creates the video conference, if it has not started yet.',\n\t\tdescription:\n\t\t\t'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Video conference was created.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync start(\n\t\t@Req() req: Request,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tif (params.logoutUrl && new URL(params.logoutUrl).origin !== req.headers.origin) {\n\t\t\tthrow new InvalidOriginForLogoutUrlLoggableException(params.logoutUrl, req.headers.origin);\n\t\t}\n\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst videoConferenceOptions: VideoConferenceOptions = VideoConferenceMapper.toVideoConferenceOptions(params);\n\n\t\tawait this.videoConferenceCreateUc.createIfNotRunning(currentUser.userId, scopeRef, videoConferenceOptions);\n\t}\n\n\t@Get(':scope/:scopeId/join')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference, if it has started.',\n\t\tdescription:\n\t\t\t'Use this endpoint to get a link to join an existing video conference. The conference must be running.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the information for joining the conference.',\n\t\ttype: VideoConferenceJoinResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to join this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync join(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceJoinUc.join(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceJoinResponse = VideoConferenceMapper.toVideoConferenceJoinResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/info')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t\tdescription: 'Use this endpoint to get information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t\ttype: VideoConferenceInfoResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceInfoUc.getMeetingInfo(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceInfoResponse = VideoConferenceMapper.toVideoConferenceInfoResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/end')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t\tdescription: 'Use this endpoint to end a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the status of the operation.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to end this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync end(@CurrentUser() currentUser: ICurrentUser, @Param() scopeParams: VideoConferenceScopeParams): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\n\t\tawait this.videoConferenceEndUc.end(currentUser.userId, scopeRef);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceCreateParams.html":{"url":"classes/VideoConferenceCreateParams.html","title":"class - VideoConferenceCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.'})@IsUrl({require_tld: false})@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsOptional, IsUrl } from 'class-validator';\nimport { defaultVideoConferenceOptions } from '../../../interface';\n\nexport class VideoConferenceCreateParams {\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everyAttendeeJoinsMuted })\n\t@IsBoolean()\n\t@IsOptional()\n\teveryAttendeeJoinsMuted?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everybodyJoinsAsModerator })\n\t@IsBoolean()\n\t@IsOptional()\n\teverybodyJoinsAsModerator?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.moderatorMustApproveJoinRequests })\n\t@IsBoolean()\n\t@IsOptional()\n\tmoderatorMustApproveJoinRequests?: boolean;\n\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.',\n\t})\n\t@IsUrl({ require_tld: false })\n\t@IsOptional()\n\tlogoutUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceCreateUc.html":{"url":"injectables/VideoConferenceCreateUc.html","title":"injectable - VideoConferenceCreateUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceCreateUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n create\n \n \n Async\n createIfNotRunning\n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n Private\n throwIfNotModerator\n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n create\n \n \n \n \n \n \n \n create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIfNotRunning\n \n \n \n \n \n \n \n createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n \n \n \n \n \n prepareBBBCreateConfigBuilder(scope: ScopeRef, options: VideoConferenceOptions, scopeInfo: ScopeInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n scopeInfo\n \n ScopeInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n throwIfNotModerator\n \n \n \n \n \n \n \n throwIfNotModerator(role: BBBRole, errorMessage: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n errorMessage\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n \n \n \n verifyFeaturesEnabled(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tBBBBaseMeetingConfig,\n\tBBBCreateConfigBuilder,\n\tBBBMeetingInfoResponse,\n\tBBBResponse,\n\tBBBRole,\n\tBBBService,\n\tGuestPolicy,\n} from '../bbb';\nimport { ErrorStatus } from '../error/error-status.enum';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef } from './dto';\n\n@Injectable()\nexport class VideoConferenceCreateUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\tlet bbbMeetingInfoResponse: BBBResponse | undefined;\n\t\t// try and catch based on legacy behavior\n\t\ttry {\n\t\t\tbbbMeetingInfoResponse = await this.bbbService.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: scope.id }));\n\t\t} catch (e) {\n\t\t\tbbbMeetingInfoResponse = undefined;\n\t\t}\n\n\t\tif (bbbMeetingInfoResponse === undefined) {\n\t\t\tawait this.create(currentUserId, scope, options);\n\t\t}\n\t}\n\n\tprivate async create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.verifyFeaturesEnabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\t\tthis.throwIfNotModerator(bbbRole, 'You are not allowed to start the videoconference. Ask a moderator.');\n\n\t\tawait this.videoConferenceService.createOrUpdateVideoConferenceForScopeWithOptions(scope.id, scope.scope, options);\n\n\t\tconst configBuilder: BBBCreateConfigBuilder = this.prepareBBBCreateConfigBuilder(scope, options, scopeInfo);\n\n\t\tawait this.bbbService.create(configBuilder.build());\n\t}\n\n\tprivate prepareBBBCreateConfigBuilder(\n\t\tscope: ScopeRef,\n\t\toptions: VideoConferenceOptions,\n\t\tscopeInfo: ScopeInfo\n\t): BBBCreateConfigBuilder {\n\t\tconst configBuilder: BBBCreateConfigBuilder = new BBBCreateConfigBuilder({\n\t\t\tname: this.videoConferenceService.sanitizeString(scopeInfo.title),\n\t\t\tmeetingID: scope.id,\n\t\t}).withLogoutUrl(options.logoutUrl ?? scopeInfo.logoutUrl);\n\n\t\tif (options.moderatorMustApproveJoinRequests) {\n\t\t\tconfigBuilder.withGuestPolicy(GuestPolicy.ASK_MODERATOR);\n\t\t}\n\n\t\tif (options.everyAttendeeJoinsMuted) {\n\t\t\tconfigBuilder.withMuteOnStart(true);\n\t\t}\n\n\t\treturn configBuilder;\n\t}\n\n\tprivate async verifyFeaturesEnabled(schoolId: string): Promise {\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(schoolId);\n\t}\n\n\tprivate throwIfNotModerator(role: BBBRole, errorMessage: string) {\n\t\tif (role !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION, errorMessage);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceDO.html":{"url":"classes/VideoConferenceDO.html","title":"class - VideoConferenceDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/video-conference.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n target\n \n \n targetModel\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: VideoConferenceDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n VideoConferenceDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsDO\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface/video-conference-scope.enum';\nimport { BaseDO } from './base.do';\n\nexport class VideoConferenceOptionsDO {\n\teveryAttendeeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptionsDO) {\n\t\tthis.everyAttendeeJoinsMuted = options.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport class VideoConferenceDO extends BaseDO {\n\ttarget: string;\n\n\ttargetModel: VideoConferenceScope;\n\n\toptions: VideoConferenceOptionsDO;\n\n\tconstructor(domainObject: VideoConferenceDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.target = domainObject.target;\n\t\tthis.targetModel = domainObject.targetModel;\n\t\tthis.options = domainObject.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceDeprecatedController.html":{"url":"controllers/VideoConferenceDeprecatedController.html","title":"controller - VideoConferenceDeprecatedController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceDeprecatedController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts\n \n\n \n Prefix\n \n \n videoconference\n \n\n\n \n Description\n \n \n This controller is deprecated. Please use VideoConferenceController instead.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n createAndJoin(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post(':scope/:scopeId')@ApiOperation({summary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':scope/:scopeId')@ApiOperation({summary: 'Ends a running video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId')@ApiOperation({summary: 'Returns information about a running video conference.'})@ApiResponse({status: 200, type: DeprecatedVideoConferenceInfoResponse, description: 'Returns a list of information about a video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BBBBaseResponse } from '../bbb';\nimport { defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceResponseDeprecatedMapper } from '../mapper/vc-deprecated-response.mapper';\nimport { VideoConferenceDeprecatedUc } from '../uc';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\nimport { VideoConferenceCreateParams } from './dto';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tVideoConferenceBaseResponse,\n} from './dto/response/video-conference-deprecated.response';\n\n/**\n * This controller is deprecated. Please use {@link VideoConferenceController} instead.\n */\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference')\nexport class VideoConferenceDeprecatedController {\n\tconstructor(private readonly videoConferenceUc: VideoConferenceDeprecatedUc) {}\n\n\t@Post(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync createAndJoin(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tconst infoDto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\n\t\tif (infoDto.state !== VideoConferenceState.RUNNING) {\n\t\t\tawait this.videoConferenceUc.create(currentUser, scope, scopeId, {\n\t\t\t\teveryAttendeeJoinsMuted:\n\t\t\t\t\tparams.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\t\teverybodyJoinsAsModerator:\n\t\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\t});\n\t\t}\n\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceUc.join(currentUser, scope, scopeId);\n\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToJoinResponse(dto);\n\t}\n\n\t@Get(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeprecatedVideoConferenceInfoResponse,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToInfoResponse(dto);\n\t}\n\n\t@Delete(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync end(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConference = await this.videoConferenceUc.end(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToBaseResponse(dto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceEndUc.html":{"url":"injectables/VideoConferenceEndUc.html","title":"injectable - VideoConferenceEndUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceEndUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n end\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBBaseResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConference, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceEndUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync end(currentUserId: EntityId, scope: ScopeRef): Promise> {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst userId: string = user.id as string;\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(userId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(userId, scopeInfo.scopeId, scope.scope);\n\n\t\tif (bbbRole !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION);\n\t\t}\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst bbbResponse: BBBResponse = await this.bbbService.end(config);\n\n\t\tconst videoConference = new VideoConference({\n\t\t\tstate: VideoConferenceState.FINISHED,\n\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\tbbbResponse,\n\t\t});\n\t\treturn videoConference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfo.html":{"url":"classes/VideoConferenceInfo.html","title":"class - VideoConferenceInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts\n \n\n\n\n \n Extends\n \n \n VideoConference\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceInfo)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:31\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:34\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConference } from './video-conference';\nimport { BBBMeetingInfoResponse } from '../../bbb';\nimport { VideoConferenceOptions } from '../../interface';\n\nexport class VideoConferenceInfo extends VideoConference {\n\toptions: VideoConferenceOptions;\n\n\tconstructor(dto: VideoConferenceInfo) {\n\t\tsuper(dto);\n\t\tthis.options = dto.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfoResponse.html":{"url":"classes/VideoConferenceInfoResponse.html","title":"class - VideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The options for the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: VideoConferenceStateResponse, enumName: 'VideoConferenceStateResponse', description: 'The state of the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceOptionsResponse } from './video-conference-options.response';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\nexport class VideoConferenceInfoResponse {\n\t@ApiProperty({\n\t\tenum: VideoConferenceStateResponse,\n\t\tenumName: 'VideoConferenceStateResponse',\n\t\tdescription: 'The state of the video conference.',\n\t})\n\tstate: VideoConferenceStateResponse;\n\n\t@ApiProperty({ description: 'The options for the video conference.' })\n\toptions: VideoConferenceOptionsResponse;\n\n\tconstructor(resp: VideoConferenceInfoResponse) {\n\t\tthis.state = resp.state;\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceInfoUc.html":{"url":"injectables/VideoConferenceInfoUc.html","title":"injectable - VideoConferenceInfoUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceInfoUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n \n \n \n \n \n getMeetingInfo(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n \n \n \n getVideoConferenceOptions(scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO, VideoConferenceOptionsDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBMeetingInfoResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { defaultVideoConferenceOptions, VideoConferenceOptions } from '../interface';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConferenceInfo, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceInfoUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync getMeetingInfo(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst options: VideoConferenceOptionsDO = await this.getVideoConferenceOptions(scope);\n\n\t\tlet response: VideoConferenceInfo;\n\t\ttry {\n\t\t\tconst bbbResponse: BBBResponse = await this.bbbService.getMeetingInfo(config);\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\tbbbResponse,\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t} catch {\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.NOT_STARTED,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t}\n\n\t\tconst isGuest: boolean = await this.videoConferenceService.hasExpertRole(\n\t\t\tcurrentUserId,\n\t\t\tscope.scope,\n\t\t\tscopeInfo.scopeId\n\t\t);\n\n\t\tif (!this.videoConferenceService.canGuestJoin(isGuest, response.state, options.moderatorMustApproveJoinRequests)) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate async getVideoConferenceOptions(scope: ScopeRef): Promise {\n\t\tlet options: VideoConferenceOptionsDO;\n\t\ttry {\n\t\t\tconst vcDO: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\t\tscope.id,\n\t\t\t\tscope.scope\n\t\t\t);\n\t\t\toptions = vcDO.options;\n\t\t} catch {\n\t\t\toptions = defaultVideoConferenceOptions;\n\t\t}\n\t\treturn options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoin.html":{"url":"classes/VideoConferenceJoin.html","title":"class - VideoConferenceJoin","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoin\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceJoin)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceJoin\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConferenceJoin {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\turl: string;\n\n\tconstructor(dto: VideoConferenceJoin) {\n\t\tthis.state = dto.state;\n\t\tthis.permission = dto.permission;\n\t\tthis.url = dto.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoinResponse.html":{"url":"classes/VideoConferenceJoinResponse.html","title":"class - VideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL to join the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class VideoConferenceJoinResponse {\n\t@ApiProperty({ description: 'The URL to join the video conference.' })\n\turl: string;\n\n\tconstructor(resp: VideoConferenceJoinResponse) {\n\t\tthis.url = resp.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceJoinUc.html":{"url":"injectables/VideoConferenceJoinUc.html","title":"injectable - VideoConferenceJoinUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceJoinUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n join\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBJoinConfigBuilder, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeRef, VideoConferenceJoin, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceJoinUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync join(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst { role, isGuest } = await this.videoConferenceService.getUserRoleAndGuestStatusByUserIdForBbb(\n\t\t\tcurrentUserId,\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst joinBuilder: BBBJoinConfigBuilder = new BBBJoinConfigBuilder({\n\t\t\tfullName: this.videoConferenceService.sanitizeString(`${user.firstName} ${user.lastName}`),\n\t\t\tmeetingID: scope.id,\n\t\t\trole,\n\t\t})\n\t\t\t.withUserId(currentUserId)\n\t\t\t.asGuest(isGuest);\n\n\t\tconst videoConference: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tif (videoConference.options.everybodyJoinsAsModerator && !isGuest) {\n\t\t\tjoinBuilder.withRole(BBBRole.MODERATOR);\n\t\t}\n\n\t\tif (\n\t\t\tvideoConference.options.moderatorMustApproveJoinRequests &&\n\t\t\t!videoConference.options.everybodyJoinsAsModerator\n\t\t) {\n\t\t\tjoinBuilder.asGuest(true);\n\t\t}\n\n\t\tif (!videoConference.options.moderatorMustApproveJoinRequests && isGuest) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\tErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE,\n\t\t\t\t'Guests cannot join this conference, since the waiting room is not enabled.'\n\t\t\t);\n\t\t}\n\n\t\tconst url: string = await this.bbbService.join(joinBuilder.build());\n\n\t\tconst videoConferenceJoin: VideoConferenceJoin = new VideoConferenceJoin({\n\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\tpermission: PermissionMapping[role],\n\t\t\turl,\n\t\t});\n\t\treturn videoConferenceJoin;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceMapper.html":{"url":"classes/VideoConferenceMapper.html","title":"class - VideoConferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n Static\n toVideoConferenceJoinResponse\n \n \n Static\n toVideoConferenceOptions\n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n \n \n \n \n \n toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceInfo\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceJoinResponse\n \n \n \n \n \n \n \n toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceJoin\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceOptions\n \n \n \n \n \n \n \n toVideoConferenceOptions(params: VideoConferenceCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n \n \n \n toVideoConferenceStateResponse(state: VideoConferenceState)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n VideoConferenceState\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceStateResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBRole } from '../bbb';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceStateResponse,\n} from '../controller/dto';\nimport { VideoConferenceOptionsResponse } from '../controller/dto/response/video-conference-options.response';\nimport { VideoConferenceOptions, defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\n\nexport const PermissionMapping = {\n\t[BBBRole.MODERATOR]: Permission.START_MEETING,\n\t[BBBRole.VIEWER]: Permission.JOIN_MEETING,\n};\n\nconst stateMapping = {\n\t[VideoConferenceState.NOT_STARTED]: VideoConferenceStateResponse.NOT_STARTED,\n\t[VideoConferenceState.RUNNING]: VideoConferenceStateResponse.RUNNING,\n\t[VideoConferenceState.FINISHED]: VideoConferenceStateResponse.FINISHED,\n};\n\nexport class VideoConferenceMapper {\n\tstatic toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo): VideoConferenceInfoResponse {\n\t\treturn new VideoConferenceInfoResponse({\n\t\t\tstate: this.toVideoConferenceStateResponse(videoConferenceInfo.state),\n\t\t\toptions: new VideoConferenceOptionsResponse(videoConferenceInfo.options),\n\t\t});\n\t}\n\n\tstatic toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin): VideoConferenceJoinResponse {\n\t\treturn new VideoConferenceJoinResponse({\n\t\t\turl: videoConferenceJoin.url,\n\t\t});\n\t}\n\n\tstatic toVideoConferenceStateResponse(state: VideoConferenceState): VideoConferenceStateResponse {\n\t\treturn stateMapping[state];\n\t}\n\n\tstatic toVideoConferenceOptions(params: VideoConferenceCreateParams): VideoConferenceOptions {\n\t\treturn {\n\t\t\teveryAttendeeJoinsMuted: params.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\teverybodyJoinsAsModerator:\n\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\tlogoutUrl: params.logoutUrl,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceModule.html":{"url":"modules/VideoConferenceModule.html","title":"module - VideoConferenceModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceModule\n\n\n\ncluster_VideoConferenceModule_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 Async\n findByScopeAndScopeId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByScopeAndScopeId\n \n \n \n \n \n \n \n findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n videoConferenceScope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: VideoConferenceDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n VideoConferenceDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: VideoConference)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, Loaded } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { VideoConferenceDO } from '@shared/domain/domainobject';\nimport { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\nconst TargetModelsMapping = {\n\t[VideoConferenceScope.EVENT]: TargetModels.EVENTS,\n\t[VideoConferenceScope.COURSE]: TargetModels.COURSES,\n};\n\nconst VideoConferencingScopeMapping = {\n\t[TargetModels.EVENTS]: VideoConferenceScope.EVENT,\n\t[TargetModels.COURSES]: VideoConferenceScope.COURSE,\n};\n\n@Injectable()\nexport class VideoConferenceRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn VideoConference;\n\t}\n\n\tasync findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope): Promise {\n\t\tconst entity: Loaded = await this._em.findOneOrFail(VideoConference, {\n\t\t\ttarget: scopeId,\n\t\t\ttargetModel: TargetModelsMapping[videoConferenceScope],\n\t\t});\n\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tprotected mapEntityToDO(entity: VideoConference): VideoConferenceDO {\n\t\treturn new VideoConferenceDO({\n\t\t\tid: entity.id,\n\t\t\ttarget: entity.target,\n\t\t\ttargetModel: VideoConferencingScopeMapping[entity.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entity.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeeJoinsMuted: entity.options.everyAttendeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entity.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: VideoConferenceDO): EntityData {\n\t\treturn {\n\t\t\ttarget: entityDO.target,\n\t\t\ttargetModel: TargetModelsMapping[entityDO.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entityDO.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeJoinsMuted: entityDO.options.everyAttendeeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entityDO.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceResponseDeprecatedMapper.html":{"url":"classes/VideoConferenceResponseDeprecatedMapper.html","title":"class - VideoConferenceResponseDeprecatedMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceResponseDeprecatedMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts\n \n\n \n Deprecated\n \n \n Please use the VideoConferenceResponseMapper instead.\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n Static\n mapToInfoResponse\n \n \n Static\n mapToJoinResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n \n \n \n \n \n mapToBaseResponse(from: VideoConference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceBaseResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToInfoResponse\n \n \n \n \n \n \n \n mapToInfoResponse(from: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToJoinResponse\n \n \n \n \n \n \n \n mapToJoinResponse(from: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBBaseResponse } from '../bbb';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tDeprecatedVideoConferenceJoinResponse,\n\tVideoConferenceBaseResponse,\n} from '../controller/dto/response/video-conference-deprecated.response';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport { VideoConferenceMapper } from './video-conference.mapper';\n\n/**\n * @deprecated Please use the VideoConferenceResponseMapper instead.\n */\nexport class VideoConferenceResponseDeprecatedMapper {\n\tstatic mapToBaseResponse(from: VideoConference): VideoConferenceBaseResponse {\n\t\treturn new VideoConferenceBaseResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t});\n\t}\n\n\tstatic mapToJoinResponse(from: VideoConferenceJoin): DeprecatedVideoConferenceJoinResponse {\n\t\treturn new DeprecatedVideoConferenceJoinResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\turl: from.url,\n\t\t});\n\t}\n\n\tstatic mapToInfoResponse(from: VideoConferenceInfo): DeprecatedVideoConferenceInfoResponse {\n\t\treturn new DeprecatedVideoConferenceInfoResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\toptions: from.options,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceScopeParams.html":{"url":"classes/VideoConferenceScopeParams.html","title":"class - VideoConferenceScopeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceScopeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n scopeId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope'})@IsEnum(VideoConferenceScope)\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { IsEnum, IsMongoId } from 'class-validator';\n\nexport class VideoConferenceScopeParams {\n\t@ApiProperty({ nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope' })\n\t@IsEnum(VideoConferenceScope)\n\tscope!: VideoConferenceScope;\n\n\t@ApiProperty({ nullable: false, required: true })\n\t@IsMongoId()\n\tscopeId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VisibilitySettingsResponse.html":{"url":"classes/VisibilitySettingsResponse.html","title":"class - VisibilitySettingsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VisibilitySettingsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: VisibilitySettingsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n VisibilitySettingsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class VisibilitySettingsResponse {\n\tconstructor({ publishedAt }: VisibilitySettingsResponse) {\n\t\tthis.publishedAt = publishedAt;\n\t}\n\n\t@ApiPropertyOptional()\n\tpublishedAt?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/WsSharedDocDo.html":{"url":"classes/WsSharedDocDo.html","title":"class - WsSharedDocDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n WsSharedDocDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts\n \n\n\n\n \n Extends\n \n \n Doc\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n awareness\n \n \n Public\n awarenessChangeHandler\n \n \n Public\n conns\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n Private\n prepareAwarenessMessage\n \n \n Private\n sendAwarenessMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, tldrawService: TldrawWsService, gcEnabled)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n tldrawService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n gcEnabled\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n awareness\n \n \n \n \n \n \n Type : Awareness\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n awarenessChangeHandler\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:37\n \n \n\n\n \n \n \n Parameters :\n \n \n \n Name\n Description\n \n \n \n \n changes\n \n \n \n \n wsConnection\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n conns\n \n \n \n \n \n \n Type : Map>\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n \n \n \n \n \n manageClientsConnections(undefined: literal type, wsConnection: WebSocket | null)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n wsConnection\n \n WebSocket | null\n \n\n \n No\n \n\n\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n Returns : number[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareAwarenessMessage\n \n \n \n \n \n \n \n prepareAwarenessMessage(changedClients: number[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changedClients\n \n number[]\n \n\n \n No\n \n\n\n \n array of changed clients\n\n \n \n \n \n \n \n Returns : Uint8Array\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n sendAwarenessMessage\n \n \n \n \n \n \n \n sendAwarenessMessage(buff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n buff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n encoded message about changes\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Doc } from 'yjs';\nimport WebSocket from 'ws';\nimport { Awareness, encodeAwarenessUpdate } from 'y-protocols/awareness';\nimport { encoding } from 'lib0';\nimport { TldrawWsService } from '@modules/tldraw/service';\nimport { WSMessageType } from '../types/connection-enum';\n\nexport class WsSharedDocDo extends Doc {\n\tpublic name: string;\n\n\tpublic conns: Map>;\n\n\tpublic awareness: Awareness;\n\n\t/**\n\t * @param {string} name\n\t * @param {TldrawWsService} tldrawService\n\t * @param {boolean} gcEnabled\n\t */\n\tconstructor(name: string, private tldrawService: TldrawWsService, gcEnabled = true) {\n\t\tsuper({ gc: gcEnabled });\n\t\tthis.name = name;\n\t\tthis.conns = new Map();\n\t\tthis.awareness = new Awareness(this);\n\t\tthis.awareness.setLocalState(null);\n\n\t\tthis.awareness.on('update', this.awarenessChangeHandler);\n\t\tthis.on('update', (update: Uint8Array, origin, doc: WsSharedDocDo) => {\n\t\t\tthis.tldrawService.updateHandler(update, origin, doc);\n\t\t});\n\t}\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tpublic awarenessChangeHandler = (\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): void => {\n\t\tconst changedClients = this.manageClientsConnections({ added, updated, removed }, wsConnection);\n\t\tconst buff = this.prepareAwarenessMessage(changedClients);\n\t\tthis.sendAwarenessMessage(buff);\n\t};\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tprivate manageClientsConnections(\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): number[] {\n\t\tconst changedClients = added.concat(updated, removed);\n\t\tif (wsConnection !== null) {\n\t\t\tconst connControlledIDs = this.conns.get(wsConnection);\n\t\t\tif (connControlledIDs !== undefined) {\n\t\t\t\tadded.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.add(clientID);\n\t\t\t\t});\n\t\t\t\tremoved.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.delete(clientID);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn changedClients;\n\t}\n\n\t/**\n\t * @param changedClients array of changed clients\n\t */\n\tprivate prepareAwarenessMessage(changedClients: number[]): Uint8Array {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(this.awareness, changedClients));\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\treturn message;\n\t}\n\n\t/**\n\t * @param {{ Uint8Array }} buff encoded message about changes\n\t */\n\tprivate sendAwarenessMessage(buff: Uint8Array): void {\n\t\tthis.conns.forEach((_, c) => {\n\t\t\tthis.tldrawService.send(this, c, buff);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XApiKeyConfig.html":{"url":"interfaces/XApiKeyConfig.html","title":"interface - XApiKeyConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XApiKeyConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/config/x-api-key.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface XApiKeyConfig {\n\tADMIN_API__ALLOWED_API_KEYS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/XApiKeyStrategy.html":{"url":"injectables/XApiKeyStrategy.html","title":"injectable - XApiKeyStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n XApiKeyStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'api-key')\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n Public\n validate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n validate\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ConfigService } from '@nestjs/config';\nimport Strategy from 'passport-headerapikey';\nimport { XApiKeyConfig } from '../config/x-api-key.config';\n\n@Injectable()\nexport class XApiKeyStrategy extends PassportStrategy(Strategy, 'api-key') {\n\tprivate readonly allowedApiKeys: string[];\n\n\tconstructor(private readonly configService: ConfigService) {\n\t\tsuper({ header: 'X-API-KEY' }, false);\n\t\tthis.allowedApiKeys = this.configService.get('ADMIN_API__ALLOWED_API_KEYS');\n\t}\n\n\tpublic validate = (apiKey: string, done: (error: Error | null, data: boolean | null) => void) => {\n\t\tif (this.allowedApiKeys.includes(apiKey)) {\n\t\t\tdone(null, true);\n\t\t}\n\t\tdone(new UnauthorizedException(), null);\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @aws-sdk/lib-storage : ^3.100.0\n \n @feathersjs/adapter-commons : ^5.0.12\n \n @feathersjs/authentication : ^5.0.12\n \n @feathersjs/authentication-local : ^5.0.12\n \n @feathersjs/commons : ^5.0.12\n \n @feathersjs/configuration : ^5.0.12\n \n @feathersjs/errors : ^5.0.12\n \n @feathersjs/express : ^5.0.12\n \n @feathersjs/feathers : ^5.0.12\n \n @golevelup/nestjs-rabbitmq : ^4.0.0\n \n @hendt/xml2json : ^1.0.3\n \n @hpi-schul-cloud/commons : ^1.3.4\n \n @keycloak/keycloak-admin-client : ^21.1.2\n \n @lumieducation/h5p-server : ^9.2.0\n \n @mikro-orm/core : ^5.5.3\n \n @mikro-orm/mongodb : ^5.5.3\n \n @mikro-orm/nestjs : ^5.2.1\n \n @nestjs/axios : ^3.0.0\n \n @nestjs/cache-manager : ^2.1.0\n \n @nestjs/common : ^10.2.4\n \n @nestjs/config : ^3.0.1\n \n @nestjs/core : ^10.2.4\n \n @nestjs/jwt : ^10.1.1\n \n @nestjs/microservices : ^10.2.4\n \n @nestjs/passport : ^10.0.1\n \n @nestjs/platform-express : ^10.2.4\n \n @nestjs/platform-ws : ^10.2.4\n \n @nestjs/swagger : ^7.1.10\n \n @nestjs/websockets : ^10.2.4\n \n @types/cache-manager-redis-store : ^2.0.1\n \n @types/connect-redis : ^0.0.19\n \n @types/gm : ^1.25.1\n \n @types/ldapjs : ^2.2.5\n \n @types/redis : ^2.8.32\n \n @types/xml2js : ^0.4.11\n \n adm-zip : ^0.5.9\n \n ajv : ^8.8.2\n \n amqp-connection-manager : ^3.2.2\n \n amqplib : ^0.8.0\n \n arg : ^5.0.0\n \n args : ^5.0.1\n \n async : ^3.2.2\n \n async-mutex : ^0.4.0\n \n aws-sdk : ^2.1375.0\n \n axios : ^1.6.2\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.18.2\n \n express-openapi-validator : ^4.13.2\n \n express-session : ^1.17.3\n \n feathers-hooks-common : ^8.1.1\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 : ^6.12.3\n \n mongoose-delete : ^0.5.4\n \n mongoose-id-validator : ^0.6.0\n \n mongoose-lean-virtuals : ^0.8.1\n \n mongoose-shortid-nodeps : git://github.com/leeroybrun/mongoose-shortid-nodeps.git\n \n moodle-client : ^0.5.2\n \n nanoid : ^3.3.4\n \n nest-winston : ^1.9.4\n \n nestjs-console : ^9.0.0\n \n oauth-1.0a : ^2.2.6\n \n open-graph-scraper : ^6.2.2\n \n p-limit : ^3.1.0\n \n papaparse : ^5.1.1\n \n passport : ^0.6.0\n \n passport-custom : ^1.1.1\n \n passport-headerapikey : ^1.2.2\n \n passport-jwt : ^4.0.1\n \n passport-local : ^1.0.0\n \n prom-client : ^13.1.0\n \n qs : ^6.9.7\n \n read-chunk : ^3.0.0\n \n redis : ^3.0.0\n \n reflect-metadata : ^0.1.13\n \n request-promise-core : ^1.1.4\n \n request-promise-native : ^1.0.3\n \n response-time : ^2.3.2\n \n rimraf : ^3.0.2\n \n rss-parser : ^3.13.0\n \n rxjs : ^7.3.1\n \n sanitize-html : ^2.1.0\n \n serve-favicon : ^2.3.2\n \n service : ^0.1.4\n \n socketio-file-upload : ^0.7.0\n \n source-map-support : ^0.5.19\n \n strip-bom : ^4.0.0\n \n swagger-ui-dist : ^4.18.2\n \n swagger-ui-express : ^4.1.6\n \n tiny-async-pool : ^1.2.0\n \n universal-analytics : ^0.5.1\n \n urlsafe-base64 : ^1.0.0\n \n uuid : ^8.3.0\n \n winston : ^3.8.2\n \n ws : ^7.5.7\n \n y-mongodb-provider : ^0.1.7\n \n y-protocols : ^1.0.5\n \n yjs : ^13.6.7\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nExample : GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\nExample : Preamble The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate. Many developers of free software are heartened and\nencouraged by the resulting cooperation. However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community. It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server. Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals. This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n The precise terms and conditions for copying, distribution and\nmodification follow.\nExample : TERMS AND CONDITIONS\nDefinitions.\n\n \"This License\" refers to version 3 of the GNU Affero General Public License.\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\nSource Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n The Corresponding Source for a work in source code form is that\nsame work.\n\nBasic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\nProtecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\nConveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\nConveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\nExample :a) The work must carry prominent notices stating that you modified\nit, and giving a relevant date.\n\nb) The work must carry prominent notices stating that it is\nreleased under this License and any conditions added under section\n7. This requirement modifies the requirement in section 4 to\n\"keep intact all notices\".\n\nc) You must license the entire work, as a whole, under this\nLicense to anyone who comes into possession of a copy. This\nLicense will therefore apply, along with any applicable section 7\nadditional terms, to the whole of the work, and all its parts,\nregardless of how they are packaged. This License gives no\npermission to license the work in any other way, but it does not\ninvalidate such permission if you have separately received it.\n\nd) If the work has interactive user interfaces, each must display\nAppropriate Legal Notices; however, if the Program has interactive\ninterfaces that do not display Appropriate Legal Notices, your\nwork need not make them do so. A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\nConveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\nExample :a) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by the\nCorresponding Source fixed on a durable physical medium\ncustomarily used for software interchange.\n\nb) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by a\nwritten offer, valid for at least three years and valid for as\nlong as you offer spare parts or customer support for that product\nmodel, to give anyone who possesses the object code either (1) a\ncopy of the Corresponding Source for all the software in the\nproduct that is covered by this License, on a durable physical\nmedium customarily used for software interchange, for a price no\nmore than your reasonable cost of physically performing this\nconveying of source, or (2) access to copy the\nCorresponding Source from a network server at no charge.\n\nc) Convey individual copies of the object code with a copy of the\nwritten offer to provide the Corresponding Source. This\nalternative is allowed only occasionally and noncommercially, and\nonly if you received the object code with such an offer, in accord\nwith subsection 6b.\n\nd) Convey the object code by offering access from a designated\nplace (gratis or for a charge), and offer equivalent access to the\nCorresponding Source in the same way through the same place at no\nfurther charge. You need not require recipients to copy the\nCorresponding Source along with the object code. If the place to\ncopy the object code is a network server, the Corresponding Source\nmay be on a different server (operated by you or a third party)\nthat supports equivalent copying facilities, provided you maintain\nclear directions next to the object code saying where to find the\nCorresponding Source. Regardless of what server hosts the\nCorresponding Source, you remain obligated to ensure that it is\navailable for as long as needed to satisfy these requirements.\n\ne) Convey the object code using peer-to-peer transmission, provided\nyou inform other peers where the object code and Corresponding\nSource of the work are being offered to the general public at no\ncharge under subsection 6d. A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\nAdditional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\nExample :a) Disclaiming warranty or limiting liability differently from the\nterms of sections 15 and 16 of this License; or\n\nb) Requiring preservation of specified reasonable legal notices or\nauthor attributions in that material or in the Appropriate Legal\nNotices displayed by works containing it; or\n\nc) Prohibiting misrepresentation of the origin of that material, or\nrequiring that modified versions of such material be marked in\nreasonable ways as different from the original version; or\n\nd) Limiting the use for publicity purposes of names of licensors or\nauthors of the material; or\n\ne) Declining to grant rights under trademark law for use of some\ntrade names, trademarks, or service marks; or\n\nf) Requiring indemnification of licensors and authors of that\nmaterial by anyone who conveys the material (or modified versions of\nit) with contractual assumptions of liability to the recipient, for\nany liability that these contractual assumptions directly impose on\nthose licensors and authors. All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\nTermination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\nAcceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\nAutomatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\nPatents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\nNo Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\nRemote Network Interaction; Use with the GNU General Public License.\n\n Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software. This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\nRevised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time. Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\nDisclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\nLimitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\nInterpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\nExample : END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\nExample :\nCopyright (C) \n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see .Also add information on how to contact you by electronic and paper mail.\n If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source. For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code. There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\nhttp://www.gnu.org/licenses/.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Description : dBildungscloud server\n \n Keywords : feathers, nest, jest, domain driven design\n \n Homepage : https://dBildungscloud.de/\n \n Bugs : \n \n License : AGPL-3.0\n \n Repository : \n \n Author : dBildungscloud Team\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"todo.html":{"url":"todo.html","title":"getting-started - todo","body":"\n \n\nTechnical TODO around Nest Introduction\nSUGGESTED\n\nfilter logs by request with reflect-metadata (see mikroorm em setup)\ndisable Document from window\nfind a name for base entity id type\nfind a name for base entity class\ndecide if we want to use our entity id type in all layers (also in dtos etc.)\nuse index.ts files to bundle exports - we could use path names for imports then, e.g. @shared/domain\ncheck how we can implement mandatory/optional fields in dtos\nshould we use Expose() as default in dtos?\nin the controller we have to prohibit serialization of properties that have no @EXPOSE\nfind the best way ORM entity discovery\ndecide where to put domain interfaces (directory)\nhow can we log validation errors during development?\nsanitizer\nremove non-node async library\nfix async cleanup & remove timeout in tests\ntest object creator for nest entities\nenable log only for failed tests: https://stackoverflow.com/a/61909588\nremove mongoose history (keep one)\nremove custom npm packages (ldap, ...)\nAPI default tests to extend: auth required, fails without/succeeds with\n\nACCEPTED\n\ndocumentation\n\nentity constructor\nem to be used in repositories only (!!!)\n\n\nload/perf test\n\ndisable legacy ts support (app, tests)\n\nfix .env/config for windows\n\n\nMERGE\n\napi path prefix cleanup: remove middleware and multiple path mounts, sync with nest\nuser module stucture\nsingle domain: shared entity (main.ts), shared repository \nrequest.user.user in jwt strategy\nremove outdated sorting.ts \nremove default launch/settings json files, apply them\nfix https://github.com/hpi-schul-cloud/schulcloud-server/pull/2729#pullrequestreview-699615164\n\nSELECTED\n\ntest shared / core module \n\nasync test fixes (remove this.timeout and red promise chains)\n\ndb configuration\n\nkeep mongoose options as mongo options\npovider for mikroorm options and db url\ntest db provider\nentity discovery\ncheck indexes in mikroorm: when are they updated?\nteardown (test, server module, main.ts)\nreplikaset for test module\nentity discovery\n\n\nnews\n\nuc cleanup: 2auth, visibilities\ndocument best practices/layers/orm\n\n\ncontext: user-/request-context (see mikroorm/asynclocalstorage)\n\n\nDONE\n\ncheck build & start for production with ops\nfix jest, linter, ...\ninject APP_FILTER (exception handler) and APP_INTERCEPTOR (logger), see core module\ncustom error handling (log/response), see global-error.filter.ts\nwatch docs should hot reload on md file change\n404 error handling in feathers has to be replaced (tests too). better: have nest before feathers... but seems not to be working\nremove mongoose\npublish documentation, see https://hpi-schul-cloud.github.io/schulcloud-server/overview.html\nfix all tests (nest/legacy)\nremove legacy scripts from package json (except tests) goal: have separated tests (legacy/nest) but only execute the nest app\nusing legacy database connection string\nv3 with/-out slash: diffenrent routes should respond with different result (/v3 is a resssource, /v3/ === /v3/index)\nvscode/lauch files: we put only default files into the repo\nnaming of dtos and dto-files: api vs domain, we leave out \"dto\" suffix for simplicity (we know that they are dtos) and instead append a specific suffix:\ne.g.\napi: , , \ndomain: , \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application.html":{"url":"additional-documentation/nestjs-application.html","title":"additional-page - NestJS Application","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nHPI Schul-Cloud NestJS server\nThis application extends the existing server-application based on feathers and express by introducing dependency injection supporting unit testing and modularization, the possibility to develop against interfaces, and start implementation of modules using TypeScript.\nYou find the whole documentation published as GitHub Page\nRequirements\n\nNode.js (see .nvmrc for version)\nMongoDB (4.x)\nRabbitMQ (configure using RABBITMQ_URL, see default.schema.json)\nS3 Object Storage e.g. MinIO locally\n\npreconditions\n\nHave a MongoDB started, run mongod\nHave some seed data in database, use npm run setup to reset the db and apply seed data\nHave RabbitMQ started, run docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8.9-management. This starts RabbitMQ on port 5672 and a web admin console at localhost:15672 (use guest:guest to login).\nHave MinIO (S3 compatible object storage), run [optional if you need files-storage module]\n\nExample :docker run \\\n --name minioS3storage \\\n -p 9000:9000 \\\n -p 9001:9001 \\\n -e \"MINIO_ROOT_USER=`miniouser`\" \\\n -e \"MINIO_ROOT_PASSWORD=miniouser\" \\\n quay.io/minio/minio server /data --console-address \":9001\"\nHave ErWIn-IDM started [currently not needed, but will be mandatory in the future]. For more information look here.\n\nChange directory to the schulcloud-server root folder. Execute following command to setup the ErWIn-IDM container:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"To add seed data into ErWIn-IDM, use npm run setup:idm to reset and apply seed data.\nSee ErWIn-IDM specific documentation to learn how to add the ErWIn-IDM identity broker feature.\n\nAdd secrets to systems (optional)\n\nThe systems of the seed data do not contain any secrets, so connecting to those systems will fail.\nYou can add these secrets by putting them into your env vars. E.g. if you add SANIS_CLIENT_ID= into your .env file, the secret will be written into the db, when you run the database setup. You need to add the env var AES_KEY as well to encrypt those secrets in the DB.\nThe real secrets can be found in the password store.\nWhile exporting the systems to JSON the secrets will be replaced by placeholders following the pattern _. So the system with alias \"sanis\" and the secret property \"clientId\" will be replaced by \"SANIS_CLIENT_ID\"\nHow to start the application\nBeside existing scripts, for the nestJS application the following scripts have been added. Try not changing the scripts as they should match what NestJS defines by default. Execute npm run ...\n\nnest:prebuild remove existing data from previous build\nnest:build compile the applications typescript ressources from apps/server to dist folder, keeps legacy js-code where it is\nnest:build:all currently executes nest:build, could additionaly build static assets\nnest:start starts the nest application on localhost:3030\nnest:start:dev run application without build from sources in dev-mode with hot-reload\nnest:start:debug run application in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:prod start applicaiton in production mode, requires nest:build to be executed beforehand\n\nIt exist a file storage module. It is started as a microservice on port :4444\n\nnest:start:files-storage starts the nest file storage\nnest:start:files-storage:dev run file storage without build from sources in dev-mode with hot-reload\nnest:start:files-storage:debug run file storage in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:files-storage:prod start file storage in production mode, requires nest:build to be executed beforehand\n\nHow to build and serve the documentation\n\nnest:docs:build builds code documentation and module relations into /documentation folder\nnest:docs:serve builds code documentation and module relations into /documentation folder and serves it on port :8080 with hot reload on changes\n\nHow to start the server console\nThe console offers management capabilities of the application.\n\nnest:console after nest:build in production or\nnest:console:dev for development\n\nTo run a specific command run npm run nest:console:dev -- command . The --is required for npm to send params to the console. Use --helpto get an overview about existing commands.\nHow to test the nest-application with jest\nNestJS must not use _.test.[ts|js] as filename but instead either *.spec.ts for unit tests or *.api.spec.ts API tests. This ensures legacy/feathers/mocha tests can be separated from jest test suites.\nThe application must pass the following statement which executes separate checks:\n\nnest:test executes all jest (NestJS) tests with coverage and eslint\n\nTo test a subset, use\n\nnest:test:all execute unit and API tests\n\nnest:test:api execute API tests only\n\nnest:test:unit execute unit tests only\n\nnest:test:cov executes all jest tests with coverage check\n\nnest:test:watch executes changed tests again on save\n\nnest:test:debug executes tests with debugging\n\nnest:lint run eslint to report linter issues and apply formatting\n\nnest:lint:fix run eslint to report and auto-fix fixable linter issues and apply formatting\n\n\nQuality gates\nWith coverage on tests and static code analysis we ensure some quality gates which are all handled by running nest:test:\n\nESLint with prettier ensures formatting and static code analysis to pass, see .eslintrc.js for details.\nTests ensure functional requirements via unit & API tests.\nCoverage on tests ensures a coverage of 80% on NestJS code, see jest.config.ts for details.\n\nGates are part of pull request checks.\nOpenAPI documentation\nThe NestJS applicaiton serves a documentation at :3030/api/v3/docs. The JSON-representation can be found at /api/v3/docs-json to be used for generating a client application.\nLegacy/feathers Swagger UI documentation when running the server locally, it is served at :3030/docs/.\nLegacy (feathers) testing with mocha\n\nnpm run test\nTo run a single test, use npm run mocha-single -- .\n\nHow to get full documentation\nThe documentation is provided by compodoc, run npm run nest:docs:serve, check generated compodoc features, custom information can be found in additional information section. Your console will tell you, where it is served.\nThe updated documentation is published as GitHub Page\nContent\nFor further reading, browse apps/server/doc.\nNestJS CLI\nTo use the NestJS CLI, install the nest cli globally.\nExample : npm i -g @nestjs/cliThen you may use features like nest g service foo within of /apps/server/src.\nDebugging\nThere are launch configurations available for VSCode in .vscode/launch.default.json\nTech Stack\nFeel free to find related documentation:\n\nhttps://nestjs.com/\nhttps://jestjs.io/\nhttps://mikro-orm.io/\nhttps://min.io/\nhttps://www.rabbitmq.com/\n\nConfiguration\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/config/README.md\nNestJS Modules\nAuthorisation\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/apps/server/src/modules/authorization/README.md\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/software-architecture.html":{"url":"additional-documentation/nestjs-application/software-architecture.html","title":"additional-page - Software Architecture","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSoftware Architecture\nGoals\nOur architecture aims to achieve the following goals:\n\nMaintainability\nit should be easy as possible to make changes that do not change the behaviour of the system (refactoring)\nit should be easy to exchange entire components of the system, without impact on other components.\n\n\nExtendability\nit should be easy to add new functionality to the system\n\n\nAgility\nit should be easy to react to changing requirements during our development process\n\n\nChange Security\nit should be easy to determine the correctness of the system after making any changes\n\nPrinciples\nIn order to achieve these goals, we try to follow the principles detailed below.\nThese principles apply to all layers of our software, from lines of code and methods to modules and architectural layers.\n\nSingle Responsibility / Seperation of Concerns\neach piece of code should have a single layer of abstraction/detail\neach piece of code should have a single reason to change\n\n\nOpen/Closed Principle\ndesign to be open to extension, but closed to modification\nLiskov Substitution\nthe specific input may be more generic than its interface\nthe specific output may be more specialized than its interface\n\n\nInterface Segregation\nmultiple small interfaces are preferred over big interfaces\n\n\nDependency Inversion Principle\nalways depend on interfaces, not implementations\nhigher level parts should not depend on lower level parts.\n\n\nKeep It Simple (KISS)\nany piece of code should be simple and readable\nany logic should be broken down to be trivial\nbeware of overenginiering and premature optimisation\n\n\nYou Aint Gonna Need It (YAGNI)\nkeep decisions open for as long as possible\nbuild only what you need to build, stay flexible for future requirements\n\n\nDo Not Repeat Yourself (DRY)\ndo not solve the same responsability or concern in multiple places\nbeware of things that look similar, but are not. for example, things that change for different reasons should not be combined, even if their code looks the same\n\n\n\nServer Layer Architecture\nWe generally distinguish three different layers in our server architecture: The API Layer, the Repository Layer, and the Domain Layer.\n\nNote that based on the Dependency Inversion Principle, the Domain Layer does not have any dependencies. Instead, both the API and Repository Layer depend on its abstractions.\nDomain Layer\nThe Domain Layer contains the business logic of the application. As mentioned above, it is not allowed to know about anything outside the domain layer itself.\n\nAny operation within the system is defined by a usecase (UC). It describes how an external actor, for example a user, can interact with the system.\nEach usecase defines what needs to be done to authorize it, and what needs to be done to fulfill it. To this end, it orchestrates services.\nA service is a public part of a domain module, that provides an interface for logic. It might be a simple class doing simple calculations, an interface to a complex hierarchy of classes within a module, or anything in between.\nThe domain layer might also define other classes, types, and interfaces to be used internally by its services, as well as the interface definitions for the repository layer. That way, the domain does not have to depend on the repositories, and the repositories have to depend on the domain instead (dependency inversion)\nTODO: the exact way of implementing the interfaces between repositories and domain layer is still in active discussion and development within the architecture chapter\nAPI Layer\nThe API Layer is responsible for providing the API that is exposed outside the system, and to map the various incoming requests into domain DTOs.\n\nThe params.dto and response.dto are used to automatically generate the API Documentation based on openAPI. The params.dto also contains information that is used for input validation.\nThe controller is responsible for sanitizing and authenticating incoming requests, and to map to and from the format that the domain usecase implementations expect. To this end, mappers are being used.\nRepository Layer\nThe Repository Layer is responsible for outgoing requests to external services. The most prominent example is accessing the database, but the same principles apply for sending emails or other interactions with external systems.\n\nIn order to access these external systems without knowing them, the domain layer may define interfaces that describe how it would like to use external services in its own domain language. The repositories implement these interfaces, recieving and returning exclusively objects or dtos defined in the domain.\nThe datamodel itself is defined through Entities, that have to be mapped into domain objects before they can be returned to the domain layer. We use MikroORM to create, persist and load the entities and their references among each other.\nModules\nThe codebase is broken into modules, each dealing with a part of the businesslogic, or seperated technical concerns.\nThese modules define what code is available where, and ensure a clean dependency graph.\nAll Code written should be part of exactly one module. Each module contains any services, typedefinitions, interfaces, repositories, mappers, and other files it needs internally to function.\nWhen something is needed in more than one module, it needs to be explicitly exported by the module, to be part of its public interface. It can then be imported by other modules. Services are exported published via the dependency injection mechanism provided by Nestjs.\nExample :@Module({\n providers: [InternalRepo, InternalService, PublicService],\n exports: [PublicService],\n})\nexport class ExampleModule {}\n\n@Module({\n imports: [ExampleModule]\n providers: [SomeOtherService],\n})\nexport class OtherModule {}Notice that in the above example, the PublicService can be used anywhere within the OtherModule, including in the SomeOtherService, whereas the InternalRepo and InternalService can not.\nThings that cant be injectables, like types and interfaces, are exported via the index file at the root of the module.\nCode that needs to be shared across many modules can either be put into their own seperate module, if there is a clearly defined seperate concern covered by it, or into the shared module if not.\nApi Modules\nThe controllers and the corresponding usecases, along with the api tests for these routes, are seperated into api modules\nExample :@Module({\n imports: [ExampleModule]\n providers: [ExampleUc],\n controllers: [ExampleController],\n})\nexport class ExampleApiModule {}This allows us to include the domain modules in different server deployments, without each of them having all api definitions. This also means that no usecase can ever be imported, as only services are ever exported, enforcing a seperation of concerns between logic and orchestration.\nHorizontal Architecture\nThe application is split into different modules that implement different parts of our domain.\nThe exact split of modules is still work in progress, or left open as implementation detail. Some important considerations are:\n\nthings with high cohesion and coupling should be in the same module\nthings with low coupling should be in seperate modules\nthe modules define an explicit public interface of usecases and types they expose to other modules\nno module should ever try to access a class of a different module that is not explicitly exported\nno injectable should ever be defined in more than one module\na module should only export services to be used by other modules.\na module that other modules might need to import, especially in another mikroservice, should not contain controllers.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/file-structure.html":{"url":"additional-documentation/nestjs-application/file-structure.html","title":"additional-page - File Structure","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nArchitecture mapping to Code\nConventions\nFile structure\nThe server app located in /apps/server is structured like. Beside each ts-file, a test file _.spec.ts has to be added for unit tests (hidden for simplification). Use index.ts files that combine a folders content and export all files from within of the folder using export _ from './file' where this makes sense. When there are naming conflicts, use more specific names and correct concepts. Think about not to create sub-folders, when only one concept exist.\nExample :src/ // sourcecode & unit tests\n - config/ // for global definitions\n - modules/ // for your NestJS modules\n - [module] // where [module] could be like user, homework, school\n - entity/\n - .entity.ts // (where might be a user, news, ... owned by the module) exports entity class & document type\n - .entity.ts // where related-info is a partial of another entity used in the entity above\n - index.ts // exports all entities\n - controller/ // where controllers define the api\n - dto/ // dto's define api in/out types as a class with annotations\n - [params].ts // (like create-user.params.ts)\n - [response].ts // (like create-user.response.ts)\n - index.ts // exports all dto's\n - .controller.ts // defines rest api, references main service file\n - .controller.ts // think about a new module when require multiple controllers :)\n - repo/ // repositories take care to load/persist/... entities\n - schema/ // contains schema imports from legacy app or new definitions (might be replaced by OR mapper)\n - .schema.ts // exports (legacy-) mongoose schemas\n - .repo.ts // where entity might be user, news, school\n - service/ // for technical dependencies (libraries, infrastructure layer concerns)\n - .service.ts // the modules main service file, might be exported for other modules\n - .service.ts // use services not for features\n - mapper/\n - .mapper.ts // mapper for a domain entity, should contain mapDomainToResponse and mapFooToDomain\n - uc/ // preferred for features\n - .uc.ts // one file per single use case (use a long name)\n - .module.ts // DI instructions to build the module\n - shared/ // reused stuff without module ownership\n - core/ // shared concepts (decorators, pipes, guards, errors, ...) folders might be added\n - domain // (abstract) domain base entities which will be extended in the modules\n - util/ // helpers, tools, utils can be located here (but find a better name)\ntest/ // contains globalSetup and globalTeardown for MongoMemoryServer for tests\nFor concepts (see https://docs.nestjs.com/first-steps) of NestJS put implementations in shared/core. You might use shared/utils for own solutions, assume TextUtils but when it contains text validators, move it better to shared/validators/text.validator.ts before merge. The core concepts of NestJS can be extended with ours (like repo).\nFile naming conventions\nIn TypeScript files: for Classes we use PascalCase (names start with uppercase letter), variables use lowercase for the first letter camelCase.\nWhen assigning names, they may end with a concept name:\n\nA Concept might be a known term which is widely used. Samples from NestJS: Controller, Provider, Module, Middleware, Exception, Pipe, Guard, Interceptor.\n\nBeside we have own concepts like comparator, validator (generic ones should not be part of a modules (and located in shared folder btw) or repo, use-case which might be owned by a module.\n\n\nIn file names, we use lowercase and minus in the beginning and end with ..ts\nSamples\n\n\n\nFile name\nClass name\nConcept\nLocation\n\n\n\n\nlogin-user.uc.ts\nLoginUserUc\nuse case\nmodule/uc\n\n\ntext.validator.ts\nTextValidator\nvalidator\nshared/validators\n\n\nuser.repo.ts\nUserRepo\nrepository\nmodule/repo\n\n\nparse-object-id.pipe.ts\nParseObjectIdPipe\npipe\nshared/pipes\n\n\n\nComponents\nComponents are defined as NestJS Modules. \nCommunication between components\nTo access other modules services, it can be injected anywhere. The usage is allowed only, when the module which owns that service has exported it in the modules definition.\nExample :// modules/feathers/feathers-service.provider.ts\n// modules/feathers/feathers.module.ts\n@Module({\n providers: [FeathersServiceProvider],\n exports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\nThe feathers module is used to handle how the application is using legacy services, when access them, inject the FeathersServiceProvider but in your module definition, import the FeathersModule.\nExample :// your module, here modules/authorization/authorization.module.ts\n@Module({\n imports: [FeathersModule], // here import the services module\n // providers: [AuthorizationService, FeathersAuthProvider],\n // exports: [AuthorizationService],\n})\nexport class AuthorizationModule {}\n\n// inside of your service, here feathers-auth.provider.ts\n@Injectable()\nexport class FeathersAuthProvider {\n\n // inject the service in constructor\n constructor(private feathersServiceProvider: FeathersServiceProvider) {}\n \n // ...\n\n async getUserTargetPermissions(\n // ...\n ): Promise {\n const service = this.feathersServiceProvider.getService(`path`);\n const result = await service.get(...)\n // ...\n return result;\n }\nAccess legacy Code\nUse the feathers module introduced above to get access to legacy services.\nIt is important to introduce strong typing like it happened above in the FeathersAuthProvider. While the FeathersServiceProvider from the feathers module, has only an abstract implementation for all services, add a concrete service inside your module for a specific feathers-service, like above in FeathersAuthProvider.\nAccess NestJS injectable from Feathers\nTo access a NestJS service from a legacy Feathers service you need to make the NestJS service known to the Feathers service-collection in main.ts. \nThis possibility should not be used for new features in Feathers, but it can help if you want to refactor a Feathers service to NestJs although other Feathers services depend on it.\nExample : // main.ts\n async function bootstrap() {\n // (...)\n feathersExpress.services['nest-rocket-chat'] = nestApp.get(RocketChatService);\n // (...)\n }Afterwards you can access it the same way as you access other Feathers services with\napp.service('/nest-rocket-chat');\nLayered Architecture\nThe different layers use separately defined objects that must be mapped when crossing layers.\n\nNever export entities through the service layer without DTO-mapping which is defined in the controller\nConcepts owned by a layer must not be shared with other layers\n\n\nFurther reading: https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/\nController\nA modules api layer is defined within of controllers.\nThe main responsibilities of a controller is to define the REST API interface as openAPI specification and map DTO's to match the logic layers interfaces.\nExample : @Post()\n async create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n const news = await this.newsUc.create(\n currentUser.userId,\n currentUser.schoolId,\n NewsMapper.mapCreateNewsToDomain(params)\n );\n const dto = NewsMapper.mapToResponse(news);\n return dto;\n }JWT-Authentication\nFor authentication, use guards like JwtAuthGuard. It can be applied to a whole controller or a single controller method only. Then, ICurrentUser can be injected using the @CurrentUser() decorator.\nValidation\nGlobal settings of the core-module ensure request/response validation against the api definition. Simple input types might additionally use a custom pipe while for complex types injected as query/body are validated by default when parsed as DTO class.\nFile naming\nComplex input DTOs are defined like [create-news].params.ts (class-name: CreateNewsParams).\nWhen DTO's are shared between multiple modules, locate them in the layer-related shared folder.\n\nSecurity: When exporting data, internal entities must be mapped to a response DTO class named like [news].response.dto. The mapping ensures which data of internal entities are exported.\n\nopenAPI specification\nDefining the request/response DTOs in a controller will define the openAPI specification automatically. Additional validation rules and openAPI definitions can be added using decorators. For simplification, openAPI decorators should define a type and if a property is required, while additional decorators can be used from class-validator to validate content.\nMapping\nIt is forbidden, to directly pass a DTO to a use-case or return an Entity (or other use-case result) via REST. In-between a mapper must transform the given data, to protect the logic layer from outside implications.\nThe use of a mapper gives us the guarantee, that\n\nno additional data beside the known properties is published.\nA plain object might contain more properties than defined in TS-interfaces.\nSample: All school properties are published while only name & id are intended to be published.\n\n\nthe API definition is complete\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/api-design.html":{"url":"additional-documentation/nestjs-application/api-design.html","title":"additional-page - API Design","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nto be documented\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/logging.html":{"url":"additional-documentation/nestjs-application/logging.html","title":"additional-page - Logging","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLogging\nFor logging use the Logger, exported by the logger module. It encapsulates a Winston logger. Its injection scope is transient, so you can set a context when you inject it.\nFor better privacy protection and searchability of logs, the logger cannot log arbitrary strings but only so called loggables. If you want to log something you have to use or create a loggable that implements the Loggable interface.\nThe message should be fixed in each loggable. If you want to log further data, put in the data field of the LogMessage, like in the example below.\nExample :export class YourLoggable implements Loggable {\n constructor(private readonly userId: EntityId) {}\n\n getLogMessage(): LogMessage {\n return {\n message: 'I am a log message.',\n data: { userId: this.userId, },\n };\n }\n}\nExample :import { Logger } from '@src/core/logger';\n\nexport class YourUc {\n constructor(private logger: Logger) {\n this.logger.setContext(YourUc.name);\n }\n\n public sampleUcMethod(user) {\n this.logger.log(new YourLoggable(userId: user.id));\n }\n}This produces a logging output like\nExample :[NestWinston] Info - 2023-05-31 15:20:30.888 [YourUc] { message: 'I am a log message.', data: { userId: '0000d231816abba584714c9e' }}Log levels and error logging\nThe logger exposes the methods log, warn, debug and verbose. It does not expose an error method because we don't want errors to be logged manually. All errors are logged in the exception filter.\nLegacy logger\nWhile transitioning to the new logger for loggables, the old logger for strings is still available as LegacyLogger.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/exception-handling.html":{"url":"additional-documentation/nestjs-application/exception-handling.html","title":"additional-page - Exception Handling","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nException Handling\n\nWe separate our business exceptions from technical exceptions. While for technical exceptions, we use the predefined HTTPExceptions from NestJS, business exceptions inherit from abstract BusinessException.\nBy default, implementations of BusinessException must define\nExample : code: 500\n type: \"CUSTOM_ERROR_TYPE\",\n title: \"Custom Error Type\",\n message: \"Human readable details\",\n // additional: optionalDataThere is a GlobalErrorFilter provided to handle exceptions, which cares about the response format of exceptions and logging. It overrides the default NestJS APP_FILTER in the core/error-module.\nIn client applications, for technical errors, evaluate the http-error-code, then for business exceptions, the type can be used as identifier and additional data can be evaluated.\nFor business errors we use 409/conflict as default to clearly have all business errors with one error code identified.\n\nSample: For API validation errors, 400/Bad Request will be extended with validationError: ValidationError[{ field: string, error: string }] and a custom type API_VALIDATION_ERROR.\n\nPipes can be used as input validation. To get errors reported in the correct format, they can define a custom exception factory when they should produce api validation error or other exceptions, handled by clients.\nChaining errors with the cause property\nIf you catch an error and throw a new one, put the original error in the cause property of the new error. See example:\nExample :try {\n someMethod();\n} catch(error) {\n throw new ForbiddenException('some message', { cause: error });\n}Loggable exceptions\nIf you want the error log to contain more information than just the exception message, use or create an exception which implements the Loggable interface. Don't put data directly in the exception message!\nA loggable exception should extend the respective Built-in HTTP exception from NestJS. For the name just put in \"Loggable\" before the word \"Exception\", e.g. \"BadRequestLoggableException\". Except for logging a loggable exception behaves like any other exception, specifically the error response is not affected by this.\nSee example below.\nExample :export class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n constructor(private readonly username: string, private readonly systemId?: string) {\n super();\n }\n\n getLogMessage(): ErrorLogMessage {\n const message = {\n type: 'UNAUTHORIZED_EXCEPTION',\n stack: this.stack,\n data: {\n userName: this.username,\n systemId: this.systemId,\n },\n };\n\n return message;\n }\n}Example :export class YourService {\n public sampleServiceMethod(username, systemId) {\n throw new UnauthorizedLoggableException(username, systemId);\n }\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/domain-object-validation.html":{"url":"additional-documentation/nestjs-application/domain-object-validation.html","title":"additional-page - Domain Object Validation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDomain Object Validation\nIf you need to validate a domain object, please write an independent class, so that the domain object itself, its repo and services can reuse it.\nEric Evans suggests using the specification pattern.A specification fulfills the following interface:\nExample :public interface Specification {\n boolean isSatisfiedBy(T t);\n}A specification checks if a domain object fulfills the conditions of the specification.\nA specification can simply specify that a domain object is valid. E.g. a Task has an owner and a description.A specification can specify more complex and specialized conditions. E.g. Task where every student assigned to the task's course has handed in a submission. \nThe specification pattern in its full extend describes how to use logic operators to combine multiple specifications into combined specifications as well. Please don't build this as long as you don't need it. YAGNI.More about full specification pattern\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/testing.html":{"url":"additional-documentation/nestjs-application/testing.html","title":"additional-page - Testing","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTesting\nAutomated testing is the essential part of the software development process.\nIt improves the code quality and ensure that the code operates correctly especially after refactoring.\nGeneral Test Conventions\nLean Tests\nThe tests should be as simple to read and understand as possible. They should be effortless to write and change, in order to not slow down development. Wherever possible:\n\navoid complex logic\ncover only one case per test\nonly use clearly named and widely used helper functions\nstick to blackbox testing: think about the unit from the outside, not its inner workings.\nits okay to duplicate code for each test\n\nNaming Convention\nWhen a test fails, the name of the test is the first hint to the developer (or any other person) to what went wrong where. (along with the \"describe\" blocks the test is in).\nThus, your describe structure and testcase names should be designed to enable a person unfamiliar with the code to identify the problem as fast as possible. It should tell him:\n\nwhat component is being tested\nunder what condition\nthe expected outcome\n\nTo facilitate this, your tests should be wrapped in at least two describe levels.\nExample :// Name of the unit under test\ndescribe(\"Course Service\", (() => {\n // method that is called\n describe('createCourse', () => {\n // a \"when...\" sentence\n describe(\"When a student tries to create a course\", (() => {\n // a \"should...\" sentence\n it(\"should return course\", async () => {\n ...\n });\n });\n });\n});Isolation\nEach test should be able to run alone, as well as together with any other tests. To ensure this, it is important that the test does not depend on any preexisting data.\n\nEach test should generate the data it needs, and ensure that its data is deleted afterwards. (this is usually done via mocha's \"afterEach\" function.\nWhen you create objects with fields that have to be globally unique, like the account username, you must ensure the name you choose is unique. This can be done by including a timestamp.\nNever use seeddata.\n\nTest Structure\nYour test should be structured in three seperate areas, each distinguished by at least an empty line:\n\nArrange - set up your testdata\nAct - call the function you want to test\nAssert - check the result\n\nthis is known as the AAA-pattern.\nThe tests for a unit should cover as much scenarios as possible. Parameters and the combination of parameters can often take numerous values. Therefore it largely differs from case to case what a sufficient amount of scenarios would be. Parameter values that contradict the typescript type definition should be ignored as a test case. \nThe test coverage report already enforces scenarios that test every possible if/else result in the code. But still some scenarios are not covered by the report and must be tested:\n\nAll error scenarios: That means one describe block for every call that can reject.\n\nWe use different levels of describe blocks to structure the tests in a way, that the tested scenarios could easily be recognized. The outer describe would be the function call itself. Every scenario is added as another describe inside the outer describe. \nAll of the data and mock preparation should happen in a setup function. Every describe scenario only contains one setup function and is called in every test. No further data or mock preparation should be added to the test. Often there will be only one test in every describe scenario, this is perfectly fine with our desired structure.\nExample :describe('[method]', () => {\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n\n it('...', () => {\n const { } = setup();\n });\n }); \n\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n });\n});Testing Samples\nHandling of function return values\nWhen assigning a value to an expect, separate the function call from the expectation to simplify debugging. This later helps when you not know about the return value type or if it's an promise or not. This is good style not only for tests.\nExample : // doSomethingCrazy : retValue\n it('bad sample', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good sample', () => {\n const result = doSomethingCrazy(x,y,z)\n expect(result).to... // here we can simply debug\n })\nPromises and Timouts in tests\nWhen using asynchronous functions and/opr promises, results must be awaited within of an async test function instead of using promise chains. While for expecting error conditions it might be helpful to use catch for extracting a value from an expected error, in every case avoid writing long promise chains.\n\nInstead of using done callback, use async test functions.\nUse await instead of (long) promise chains\nnever manually set a timeout\n\nExample : // doSomethingCrazy : Promise\n it('bad async sample', async function (done) => {\n this.timeout(10000);\n return doSomethingCrazy(x,y,z).then(result=>{\n expect(result).to...\n done() // expected done\n }).catch(()=>{\n logger.info(`Could not ... ${error}`);\n done() // unexpected done, test will always succeed which is wrong\n })\n })\n it('good async sample', async () => {\n // no timeout set\n const result = await doSomethingCrazy(x,y,z)\n expect(result).to...\n })\nTimeouts must not be used, when async handling is correctly defined!\n\nExpecting errors in tests\nWhen expecting an error, you might take values from an error, test for the error type thrown and must care of promises.\nExample : // doSomethingCrazy : Promise\n it('bad async sample expecting an error', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good async sample expecting an error value', async () => {\n const code = await doSomethingCrazy(x,y,z).catch(err => err.code)\n expect(code).to...\n })\n it('good sample expecting an error type from a sync function', () => {\n expect(() => doSomethingCrazySync(wrong, param)).toThrow(BadRequestException);\n })\n it('good sample expecting an error type from an async function', async () => {\n await expect(doSomethingCrazySync(wrong, param)).rejects.toThrow(BadRequestException);\n })Testing Utilities\nNestJS:\n\nprovides default tooling (such as test runner that builds an isolated module/application loader)\nprovides integration with Jest and Supertest out of the box\nmakes the Nest dependency injection system available in the testing environment for mocking components\n\nThe @nestjs/testing.Test class provides an execution context that mocks the full Nest runtime, but gives\nhooks that can help to manage class instances, including mocking and overriding.\nThe method Test.createTestingModule() takes module metadata as argument it returns TestingModule instance.\nThe TestingModule instance provides method compile() which bootstraps a module with its dependencies.\nEvery provider can be overwritten with custom provider implementation for testing purposes.\nExample : beforeAll(async () => {\n const moduleRef = await Test.createTestingModule({\n controllers: [SampleController],\n providers: [SampleService],\n }).compile();\n\n sampleService = moduleRef.get(SampleService);\n sampleController = moduleRef.get(CatsController);\n });Mocking\nUsing the utilities provided by NestJs, we can easily inject mocks into our testing module. The mocks themselves, we create using a library by @golevelup.\nYou can create a mock using createMock(). As result you will recieved a DeepMocked\nExample :let fut: FeatureUnderTest;\nlet mockService: DeepMocked;\n\nbeforeAll(async () => {\n const module = await Test.createTestingModule({\n providers: [\n FeatureUnderTest,\n {\n provide: MockService,\n useValue: createMock(),\n },\n ],\n }).compile();\n\n fut = module.get(FeatureUnderTest);\n mockService = module.get(MockService);\n});\n\nafterAll(async () => {\n await module.close();\n});\n\nafterEach(() => {\n jest.resetAllMocks();\n})The resulting mock has all the functions of the original Class, replaced with jest spies. This gives you code completion and type safety, combined with all the features of spies.\ncreateTestingModule should only be calld in beforeAll and not in beforeEach to keep the setup and teardown for each test as simple as possible. Therefore module.close should only be called in afterAll and not in afterEach.\nTo generally reset specific mock implementation after each test jest.resetAllMocks can be used in afterEach. jest.restoreAllMocks should not be used, because in some cases it will not properly restore mocks created by ts-jest.\nExample :describe('somefunction', () => {\n describe('when service returns user', () => {\n const setup = () => {\n const resultUser = userFactory.buildWithId();\n\n mockService.getUser.mockReturnValueOnce(resultUser);\n\n return { resultUser };\n };\n\n it('should call service', async () => {\n setup();\n await fut.somefunction();\n expect(mockService.getUser).toHaveBeenCalled();\n });\n\n it('should return user passed by service', async () => {\n const { resultUser } = setup();\n const result = await fut.somefunction();\n expect(result).toEqual(resultUser);\n });\n });\n});For creating specific mock implementations the helper functions which only mock the implementation once, must be used (e.g. mockReturnValueOnce). With that approach more control over mocked functions can be achieved.\nIf you want to mock a method that is not part of a dependency you can mock it with jest.spyOn. We strongly recommend the use of jest.spyOn and not jest.fn, because jest.spyOn can be restored a lot easier. \nUnit Tests vs Integration Tests\nIn Unit Tests we access directly only the component which is currently testing.\nAny dependencies should be mocked or are replaced with default testing implementation.\nEspecially the database access and database calls should be mocked.\nIn contrast to unit tests the integration tests use access to the database and execute\nreal queries using repositories.\nRepo Tests\nFor the data access layer, integration tests can be used to check the repositories base functionality against a database.\nFor Queries care DRY principle, they should be tested very carefully.\n\nUse a in-memory database for testing to allow parallel test execution and have isolated execution of tests.\n\n\nA test must define the before and after state of the data set clearly and cleanup the database after execution to the before state.\n\n\nInstead of using predefined data sets, all preconditions should be defined in code through fixtures.\n\nOur repository layer uses mikro-orm/EntityManager to execute the queries.\nBy testing repositories we want to verify the correct behaviour of the repository functions.\nIt includes verifying expected database state after executed repository function.\nTherefore, the *.repo.integration.spec.js should be used.\nThe basic structure of the repo integration test:\nPreconditions (beforeAll):\n\nCreate Nest JS testing module:\n1.1 with MongoMemoryDatabaseModule defining entities which are used in tests. This will wrap MikroOrmModule.forRoot() with running a MongoDB in memory.\n1.2 provide the repo which should be tested\nGet repo, orm and entityManager from testing module\n\nExample : import { MongoMemoryDatabaseModule } from '@src/modules/database';\n\n let repo: NewsRepo;\n let em: EntityManager;\n let testModule: TestingModule;\n\n beforeAll(async () => {\n testModule: TestingModule = await Test.createTestingModule({ (1)\n imports: [\n MongoMemoryDatabaseModule.forRoot({ (1.1)\n entities: [News, CourseNews, ...],\n }),\n ],\n providers: [NewsRepo], (1.2)\n }).compile();\n repo = testModule.get(NewsRepo); (2)\n orm = testModule.get(MikroORM);\n em = testModule.get(EntityManager);\n })Post conditions (afterAll), Teardown\nAfter all tests are executed close the app and orm to release the resources by closing the test module.\nExample : afterAll(async () => {\n await testModule.close();\n });\nWhen Jest reports open handles that not have been closed, ensure all Promises are awaited and all application parts started are correctly closed.\n\nEntity Factories\nTo fill the in-memory-db we use factories. They are located in \\apps\\server\\src\\shared\\testing\\factory. If you create a new one, please add it to the index.ts in that folder.\nAccessing the in-memory-db\nWhile debugging the tests, the URL to the in-memory-db can be found in the EntityManager instance of your repo in em.config.options.clientUrl.\nCopy paste this URL to your DB Tool e.g. MongoDB Compass. You will find a database called 'test' with the data you created for your test.\nMapping Tests\nMapping tests are Unit Tests which verify the correct mapping between entities and Dto objects.\nThese tests should not have any external dependencies to other layers like database or use cases.\nUse Case Tests\nSince a usecase only contains orchestration, its tests should be decoupled from the components it depends on. We thus use unittests to verify the orchestration where necessary\n\nAll Dependencies should be mocked.\n\n\nUse Spies to verify necessary steps, such as authorisation checks.\n\nto be documented\nController Tests\nControllers do not contain any logic, but exclusively information to map and validate between dataformats used on the network, and those used internally, as well as documentation of the api.\nMost of these things can not be covered by unit tests. Therefore we do not write specific unittests for them, and only cover them with api tests.\nAPI Tests\nThe API tests are plumbing or integration tests. Their job is to make sure all components that interact to fulfill a specific api endpoint are wired up correctly, and fulfil the expectation set up in the documentation.\nAPI tests should be located in the folder controller/api-test of each module.\nThey should call the endpoint like a external entity would, treating it like a blackbox. It should try all parameters available on the API, users with different roles, as well as relevant error cases.\nDuring the API test, all components that are part of the server, or controlled by the server, should be available. This includes an in-memory database.\nAny external services or servers that are outside our control should be mocked away via their respective adapters.\nReferences\nThis guide is inspired by https://github.com/goldbergyoni/javascript-testing-best-practices/\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/vscode.html":{"url":"additional-documentation/nestjs-application/vscode.html","title":"additional-page - VSCode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nVSCode\nLaunch scripts\nIn the file ./vscode/launch.default.json you find following actions:\n\nAttach to NestJS will allow to attach VSCode debugger to an already running application\nDeubg NestJS via NPM will start the application and attach the debugger\n\nSettings\nIn the file ./vscode/settings.default.json find suggested settings.\nRecommended extensions\nSee ./vscode/extensions.json for recommendations.\nJest\nJest is used to care of unit- and end2end tests on all *.spec.ts files.\n Allows to just see failing tests in Problems tab.\n and get small icons like ✔️ or a cross beside it-definitions inside of test files.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/git.html":{"url":"additional-documentation/nestjs-application/git.html","title":"additional-page - Git","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nGit\nBranch name conventions\n\nEach change should be done in a ticket (no matter how small)\nThe ticket does not need to be refined for very small things\nMight be relevant for reporting later\n\n\nFolder (feature/..) should no longer be used\nStay below 64 letters\nDo not simply use ticket title, usually we need a shorter description :-)\n\n\nTicket number needs to be uppercase (BC-1234)\nRelated to matching with Jira\nCareful: namespace is lowercase\n\n\n\nExample :BC-XXXX-kebab-case-short-descriptionCommit message conventions\n\nSquashed commit subject should start with a ticket number, and end with a PR number\nClean body (contains all commits by default)\nOnly leave changes relevant for main\nRemove commits likes 'fix for linter', 'add tests', 'fix review comments'\nSee example below\n\n\nWrite commit messages in imperative and active\nGood: \"make the code better\"\nBad: \"made the code better\", \"makes the code better\"\n\n\nFeel free to write actual text\n\nExample :BC-1993 - lesson lernstore and geogebra copy (#3532)\n \nIn order to make sure developers in the future can find out why changes have been made,\nwe would like some descriptive text here that explains what we did and why.\n \n- change some important things\n- change some other things\n- refactor some existing things\n \n# I dont need to mention tests, changes that didnt make it to main, linter, or other fixups\n# only leave lines that are relevant changes compared to main\n# comments like this will not actually show up in the git historyWindows\nWe strongly recommend to let git translate line endings. Please set git config --global --add core.autocrlf input when working with windows.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/keycloak.html":{"url":"additional-documentation/nestjs-application/keycloak.html","title":"additional-page - Keycloak","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nErWIn-IDM (Keycloak)\n\nErWIn-IDM, namely Keycloak, will be the future Identity Management System (IDM) for the dBildungscloud. Keycloak\nprovides OpenID Connect, SAML 2.0 and other identity related functionalities like SSO out of the box. It can\nalso act as identity broker or aggregate identities from third party services which can be an active directory or LDAP.\n\nDocker\nTo run Keycloak locally for development purpose use the following Bash or PowerShell command. You can log into Keycloak\nhere http://localhost:8080. If you don't want to block your terminal, you can add the -d option to start the container\nin the background. Execute these commands in the repository root or the data seeding will fail, and you can not log into\nKeycloak with any user.\nBash:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"PowerShell:\nExample :docker run `\n --name erwinidm `\n -p 8080:8080 `\n -p 8443:8443 `\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" `\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest `\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering\nTo add ErWIn-IDM identity broker feature via OpenID Connect (OIDC) Identity Provider (IdP) mock follow the steps below. Execute these commands in the repository root.\n\nSet env vars (or in your .env file) 'OIDCMOCK__BASE_URL' to http://:4011.\nTo make it work with the nuxt client set the env var HOST=http://localhost:4000\nre-trigger npm run setup:db and npm run setup:idm to reset and apply seed data.\nstart the 'oidc-server-mock' as follows:\n\nExample :docker run \\\n --name oidc-server-mock \\\n -p 4011:80 \\\n -e ASPNETCORE_ENVIRONMENT='Development' \\\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' \\\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' \\\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' \\\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" \\\n ghcr.io/soluto/oidc-server-mock:0.6.0PowerShell:\nExample :docker run `\n --name oidc-server-mock `\n -p 4011:80 `\n -e ASPNETCORE_ENVIRONMENT='Development' `\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' `\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' `\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' `\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" `\n ghcr.io/soluto/oidc-server-mock:0.6.0Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering with LDAP provisioning\nThe broker feature can be setup in conjunction with LDAP provisioning for local testing purpose. Therefore, run the sc-openldap-single container:\nExample :docker run \\\n --name sc-openldap-single \\\n -p 389:389 \\\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestExample :docker run `\n --name sc-openldap-single `\n -p 389:389 `\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestThe LDAP provisioning is trigger as follows:\nExample :curl -X POST \\\n  'http://localhost:3030/api/v1/sync?target=ldap' \\\n  --header 'Accept: */*' \\\n  --header 'X-API-KEY: example'Example :Invoke-RestMethod `\n -Uri 'http://localhost:3030/api/v1/sync?target=ldap' `\n -Method Post `\n -Headers @{ \"Accept\" = \"*/*\"; \"X-API-KEY\" = \"example\" }See '/tmp/config/users-config.json' for the users details.\nTest local environment\nYou may test your local setup executing 'keycloak-identity-management.integration.spec.ts':\nExample :npx jest apps/server/src/shared/infra/identity-management/keycloak/service/keycloak-identity-management.service.integration.spec.tsSeeding Data\nDuring container startup Keycloak will always create the Master realm with the admin user. After startup, we use the\nKeycloak-CLI to import the dBildungscloud realm, which contains some seed users, groups and permissions for development\nand testing. In the table below you can see the username and password combinations for the Keycloak login.\n\n\n\nUsername\nPassword\nDescription\n\n\n\n\nkeycloak\nkeycloak\nThe overall Keycloak administrator with all permissions.\n\n\ndbildungscloud\ndBildungscloud\nThe dBildungscloud realm specific administrator.\n\n\n\nUpdating Seed Data\n\nRun Keycloak and make the desired changes\nUse docker container exec -it keycloak bash to start a bash in the container\nUse the Keycloak-CLI to export all Keycloak data with /opt/keycloak/bin/kc.sh export --dir /tmp/realms\nSave your changes with a commit\nIf you start your container with a command from the docker section, your changes will be directly applied to the starting Keycloak container\n\n\nIMPORTANT: During the export process there will be some errors, that's because the export process will be done on the\nsame port as the Keycloak server. This leads to Keycloak failing to start the server in import/export mode. Due to the\ntransition from WildFly to Quarkus as application server there is currently no documentation on this topic.\n\nIn order to re-apply the seeding data for a running keycloak container, you may run following commands (to be executed in the repository root):\n\ndocker cp ./backup/idm/keycloak keycloak:/tmp/realms\ndocker exec erwinidm /opt/keycloak/bin/kc.sh import --dir /tmp/realms\n\nNPM Commands\nA list of available NPM commands regarding Keycloak / IDM.\n\n\n\nCommand\nDescription\n\n\n\n\nsetup:idm:seed\nSeeds users for development and testing purpose into the IDM\n\n\nsetup:idm:configure\nConfigures identity and authentication providers and other details in the IDM\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/rocket.chat.html":{"url":"additional-documentation/nestjs-application/rocket.chat.html","title":"additional-page - Rocket.Chat","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRocket.Chat\nStart Mongodb\nIt makes sense for Rocket.Chat to launch its own mongodb in Docker. Reason for this is Rocket.Chat requires Mongodb as replicaSet setup.\nExample :docker run --name rocket-chat-mongodb -m=256m -p27030:27017 -d docker.io/mongo --replSet rs0 --oplogSize 10Start mongoDB console and execute\nExample :rs.initiate({\"_id\" : \"rs0\", \"members\" : [{\"_id\" : 0, \"host\" : \"localhost:27017\"}]})Start rocketChat\n(check the latest settings https://github.com/hpi-schul-cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#L9)\nPlease not that the displayed //172.29.173.128 is the IP address of the mongoDB docker container.\nYou can get the ip over the command: docker inspect rocket-chat-mongodb | grep \"IPAddress\" (dependent on our system)\nExample :docker run\\\n -e CREATE_TOKENS_FOR_USERS=true \\\n -e MONGO_URL=mongodb://172.29.173.128:27030/rocketchat \\\n -e ADMIN_PASS=huhu \\\n -e API_Enable_Rate_Limiter_Limit_Calls_Default=255 \\\n -e Accounts_iframe_enabled=true \\\n -e Accounts_iframe_url=http://localhost:4000/rocketChat/Iframe \\\n -e Accounts_Iframe_api_url=http://localhost:4000/rocketChat/authGet \\\n -e Accounts_AllowRealNameChange=false \\\n -e Accounts_AllowUsernameChange=false \\\n -e Accounts_AllowEmailChange=false \\\n -e Accounts_AllowAnonymousRead=false \\\n -e Accounts_Send_Email_When_Activating=false \\\n -e Accounts_Send_Email_When_Deactivating=false \\\n -e Accounts_UseDefaultBlockedDomainsList=false \\\n -e Analytics_features_messages=false \\\n -e Analytics_features_rooms=false \\\n -e Analytics_features_users=false \\\n -e Statistics_reporting=false \\\n -e API_Enable_CORS=true \\\n -e Discussion_enabled=false \\\n -e FileUpload_Enabled=false \\\n -e UI_Use_Real_Name=true \\\n -e Threads_enabled=false \\\n -e Accounts_SetDefaultAvatar=false \\\n -e Iframe_Restrict_Access=false \\\n -e Accounts_Iframe_api_method=GET \\\n -e OVERWRITE_SETTING_Show_Setup_Wizard='completed' \\\n -p 3000:3000 docker.io/rocketchat/rocket.chat:4.7.2ENVS\nYou must also configure you server and legacy client application.\nUse the .env file in top of the project folders.\ndBildungscloud Backend Server\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\nROCKET_CHAT_ADMIN_USER=admin\nROCKET_CHAT_ADMIN_PASSWORD=huhudBildungscloud Legacy Client\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/configuration.html":{"url":"additional-documentation/nestjs-application/configuration.html","title":"additional-page - Configuration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/authorisation.html":{"url":"additional-documentation/nestjs-application/authorisation.html","title":"additional-page - Authorisation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nNestJS Authorization Module\nObjectives\nBreaking down complexity and isolate it.\nOne place to solve a specific authorization for a scope.\nOne implementation to handle all different situations in our system.\nIt should not be possible to use it in a wrong way.\n\nYou should not need to understand the complete system, to know if something is authorized\n\nWe also want to avoid any specific code for modules, collections, or something else, in the authorization module.\nExplanation of Terms\nPermissions\nWe have string based permissions.\nFor examples check \"enum Permission\".\nIt includes all available permissions and is not seperated by concerns or abstraction levels.\nThe permissions have different implicit scopes like instance, school, or named scope like team and course.\n(Feature Flag Permissions)\nSome of the permissions are used like feature flags. We want to seperate and move these in the future.\nPlease keep that in mind, while becoming familiar with permissions.\nRoles\nWe have a role collection, where each role has a permissions array that includes string based permissions.\nRoles inherit permissions from the roles they have in their \"roles\" field.\nLike the \"user\" role, some of these roles are abstract and only used for inheritance.\nSome others are scope based with a prefix name like team*, or course*.\nThe \"real\" user roles by name are expert, student, teacher and administrator. All of these are in the school scope and the superhero is in the scope of an instance.\n\nIn future we want to remove the inherit logic.\nWe want to add scope types to each role.\nAdd more technical users for the instance scope.\n\nEntities\nThe entities are the representation of a single document of the collection, or the type.\nThey are used for authorization for now, but should be replaced by domain objects soon.\nDomain Objects\nThey are not really introduced. They should map between the repository layer and the domain.\n\nIn future they are the base for authorization and the authorization service doesn't know anything about entities anymore.\n\nScopes\nEverything what the system, or a user wants to do, is executed in a scope.\nA scope means an area like the complete instance, the school, the course, the user itself and so on.\nThe scopes are highly bind to the real domain objects that we have in our domain.\nScope Actions\nThe permission for a base action, like they are defined in CRUD operations, is needed to execute something in a scope.\nThe most implicit action you ever need is the \"read\" action. That means, you must have the authorization to \"read\" the scope, otherwise it should not exist for you. :-)\nThe other possible action is to have write access to the scope.\nIt is a combination of delete, edit, create from CRUD side.\n\nFrom our current perspective, we need no differentiation.\nBut we force the implementation in a way, that allows us to add some more.\n\nScope Permission\nWe have different situations where it is hard to say you can write/read to the domain scope.\nWe need the possibility to define different permissions for a single domain scope, or a single domain object it self.\n\nLet say the user can edit his own user account, but we want to disallow that they can change his age.\nBut an administrator should have the authorization to do it.\n\nor a other case..\n\nA student has limited permissions in a team, where he is only a member, but would have more permissions in a team, where he is the owner. So at this point, we need to distingush between instances of domain objects.\n\nUser(s)\nIn authorization scope it can be a system user, or a real user in our application.\nEach user has a role with permissions in the scope of the domain object they want to interact with.\nEach authorization requires a user.\nSystem Users\nWe have console operations, or operations based on API_KEYS that are used between internal services for already authorized operations like copy and copy files in file service.\nFor this we want to use system user and roles with own permissions.\n\nThey are not introduced for now\n\nRules\nThe rules are implemented with a strategy pattern and are called from the authorization service.\nThe implementation should solve the authorization for a domain object based on the executed action.\nIt implements a check for which domain object, entity, or additional conditions should be used.\n\nThe rule must validate our scope actions.\nWe highly recommend that every single operation and check in the rule is implemented as a additional method to keep the logic clean and moveable.\n\nUser (Role) Permissions vs Scope Based Permissions\nThe permissions of the user come from his role.\nThis permissions have no explicit scope. But implicitly the roles expert, student, teacher and administrator are in the school scope. The superhero is implicitly in the scope of the instance.\nIt exists also scope based permissions. A user can have different (scope)roles in different (domain)scopes. For example in teams where the student can have team member role in one team, or team adminstrator in another.\n\nIn future we want to switch the implicit scope of the user role permissions to explicit scopes like in teams.\nAt the moment we must handle scope-, user- and system-user-permissions as seperated special cases in our implementation.\nBy implementing user role permissions bind to scopes, we can do it in one way for all situations.\n\nHow should you Authorize an Operation?\nAuthorization must be handled in use cases (UC). They solve the authorization and orchestrate the logic that should be done in services, or private methods.\nYou should never implement authorization on service level, to avoid different authorization steps.\nWhen calling other internal micro service for already authorized operations please use a queue based on RabbitMQ.\n\nNot implemented but coming soon.\n\nHow to use Authorization Service\n\nPlease avoid to catch the errors of the authorization in UC.\nWe set empty array as required for passing permissions to make it visible that no string base permission is needed.\n\nExample 1 - Execute a Single Operation\nExample : this.authorizationService.checkPermission(user, course, AuthorizationContextBuilder.write([])\n // or\n this.authorizationService.hasPermission(user, course, AuthorizationContextBuilder.write([])\n // next orchestration stepsExample 2 - Set Permission(s) of User as Required\nExample :// Multiple permissions can be added. For a successful authorization, the user need all of them.\nawait this.authorizationService.hasPermission(userId, course, AuthorizationContextBuilder.read([Permissions.COURSE_VIEW]));\n// next orchestration stepsExample 4 - Define Context for Multiple Places\nExample :/** const **/\nexport const FileStorageAuthorizationContext = {\n create: AuthorizationContextBuilder.write([Permission.FILESTORAGE_CREATE]),\n read: AuthorizationContextBuilder.read([Permission.FILESTORAGE_VIEW]),\n update: AuthorizationContextBuilder.write([Permission.FILESTORAGE_EDIT]),\n delete: AuthorizationContextBuilder.write([Permission.FILESTORAGE_REMOVE]),\n};\n\n/** UC **/\nthis.authorizationService.hasPermission(userId, course, PermissionContexts.create);\n// do other orchestration stepsHow to use in our use cases\nExample - Create a school by superhero\nExample :async createSchoolBySuperhero(userId: EntityId, params: { name: string }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n this.authorizationService.hasAllPermissions(user, [Permission.SCHOOL_CREATE]);\n\n const school = new School(params);\n await this.schoolService.save(school);\n\n return true;\n}\nExample - Create user by admin\nExample :\nasync createUserByAdmin(userId: EntityId, params: { email: string, firstName: string, lastName: string, schoolId: EntityId }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n \n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER])\n await this.authorizationService.checkPermission(user, school, context);\n\n const newUser = new User(params)\n await this.userService.save(newUser);\n\n return true;\n}\nExample - Edit course by admin\nExample :// admin\nasync editCourseByAdmin(userId: EntityId, params: { courseId: EntityId, description: string }) {\n\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = course.school;\n\n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER]);\n this.authorizationService.checkPermissions(user, school, context);\n\n course.description = params.description;\n await this.courseService.save(course);\n\n return true;\n}\nExample - Create a Course\nExample :// User can create a course in scope a school, you need to check if he can it by school\nasync createCourse(userId: EntityId, params: { schoolId: EntityId }) {\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = this.schoolService.getSchool(params.schoolId);\n\n this.authorizationService.checkPermission(user, school\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_CREATE],\n }\n );\n\n const course = new Course({ school });\n await this.courseService.saveCourse(course);\n\n return course;\n}\nExample - Create a Lesson\nExample :// User can create a lesson to course, so you have a courseId\nasync createLesson(userId: EntityId, params: { courseId: EntityId }) {\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n // check authorization for user and course\n this.authorizationService.checkPermission(user, course\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_EDIT],\n }\n );\n\n const lesson = new Lesson({course});\n await this.lessonService.saveLesson(lesson);\n\n return true;\n}How to write a rule\nSo a rule must validate our scope actions. For example we have a news for the school or course. The news has a creator and target model.\n\nAttention: The target model must be populated\n\nExample :@Injectable()\nexport class NewsRule extends BasePermission {\n constructor(private readonly authorizationHelper: AuthorizationHelper, private readonly schoolRule: SchoolRule, private readonly courseRule: CourseRule) {\n super();\n }\n\n // Is used to select the matching rule in the rule manager. Therefore we keep the condition to which case the rule\n // applies in the rule itself. In future we expect more complex conditions that could apply here.\n public isApplicable(user: User, entity: News): boolean {\n const isMatched = entity instanceof News;\n\n return isMatched;\n }\n\n public hasPermission(user: User, entity: News, context: AuthorizationContext): boolean {\n const { action, requiredPermissions } = context;\n\n // check required permissions passed by UC\n const hasPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n // check access to entity by property\n const isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n let hasNewsPermission = false;\n\n if (action === Actions.read) {\n hasNewsPermission = this.parentPermission(user, entity, action);\n } else if (action === Actions.write) {\n hasNewsPermission = isCreator;\n }\n\n const result = hasPermission && hasNewsPermission;\n\n return result;\n }\n\n private parentPermission(user: User, entity: News, action: Actions): boolean {\n let hasParentPermission = false;\n // check by parentRule, because the schoolRule can contain extra logic\n // e.g. school is offline\n // or courseRule has complex permissions-resolves\n if (entity.targetModel === NewsTargetModel.School) {\n hasParentPermission = this.schoolRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n } else if (entity.targetModel === NewsTargetModel.Course) {\n hasParentPermission = this.courseRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n }\n\n return hasParentPermission;\n }\n}\nStructure of the Authorization Components\nfeathers-* (legacy/deprecated)\nIt exists a adapter to call featherJS endpoints that solve authorizations.\n\nThis service is only used in news and should not be used in any other place.\nWe want to remove it completly.\n\nAuthorization Module\nThe authorization module is the core of authorization. It collects all needed information and handles it behind a small interface. It exports the authoriation service that can be used in your use case over injections.\nReference.loader\nIt should be use only inside of the authorization module.\nIt is use to load registrated ressouces by the id and name of the ressource.\nThis is needed to solve the API requests from external services. (API implementation is missing for now)\n\nPlease keep in mind that it can have an impact on the performance if you use it wrongly.\nWe keep it as a seperate method to avoid the usage in areas where the domain object should exist, because we see the risk that a developer could be tempted by the ease of only passing the id.\n\nauthorization-context.builder\nWe export an authorization context builder to prepare the parameter for the authorization service called \"authorization context\".\nThis is optional and not required.\nBut it enables us to easily change the structure of the authorization context without touching many different places.\nshared/domain/interface/*\nrolename.enum\nAn enum that holds all avaible role names.\npermission.enum\nA enum that holds all avaible permission names, however it's mixing all domain scopes atm.\nWorking other Internal MicroServices\n\nExample FilesStorageService\n\nWe have the files storage service application that is a bundle of modules of this repository.\nThe application is startet as additional micro service.\nIt exists the need that the server application can call the file service.\nWe add a files storage client module to the server.\nThis module exports a service to communicate with the file service.\nFor communication it uses RabbitMQ.\nEvery operation must already be authorized in the UC of the server. There is no need to do it again in files storage service.\nFor this reason, we want the consumer of the RabbitMQ item to call the files storage service directly without authorization.\nLegacy Tech Stack FeatherJS Hooks\nIn featherJS all the authorization is done in hooks. Mostly before hooks and sometimes in after hooks.\nBefore and after means before, or after the database operation. For self writen services before, or after the call of the operation that should be executed.\nThey work similar to express middleware and bring their own request context.\nIt exists hooks that can be used for all http(s) calls, or for specific type based on CRUD operations.\nAdditionally it also exists the find operations that are a http(s) GET requests without the ID of a specific element.\nEach function that adds to the hooks will be executed in order. Hooks for all methods first, then hooks for specific methodes.\nEach hooks exists for a featherJS service that exposes directly the api endpoints directly. Additional it exists a global hook pattern for the whole application.\nExample: https://github.com/hpi-schul-cloud/schulcloud-server/blob/main/src/services/lesson/hooks/index.js#L232\nDesired Changes in Future\nSome small steps are done. But many next steps still exist.\nThey follow our general target.\nNext Steps\n\nImplementation of Scope Based Permissions as generell solution instead of User Permissions that has only implicit school scopes for now.\nRemove populate logic in reference loader.\nSolve eager loading in coursegroups.\nIntroduce RabbitMQ. Splitting Service(logic) from UC, that we can call services over the consumer for internal communication between micro services of already authorized operations.\nThink about: Move hasPermission checks from rules to a more generic place.\nRemove jwt decorator and cleanup copy logic.\nMove authorization-context.builder to authorization module.\nRemove inheritance from roles, because we want to write it explicitly into the collection documents.\nMoving role api endpoints to nestjs.\nFixing of dashboard to handle roles in the right way as superhero.\nSwitching entity based authorization to domain objects based in steps.\nCleanup of feature flags from user permissions.\nAdd existing feature flags to rules on places where it make sense.\nIntroduce instance as a scope to have an implemenation that handles all scopes/rules/permissions/user types in the same way.\n\nRefactoring Todos\n\nTask module should fully use authorization service.\nNews module should start to use authorization service.\n\nIs Needed\n\nWe can introduce a new layer called \"policy\" that combines different rules (any of them has their own matching strategy) for a single domain object between authorization and rule to reduce complexity in a single rule.\nWe can switch to a behaviour where rules register themself at the authorization service than.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/code-style.html":{"url":"additional-documentation/nestjs-application/code-style.html","title":"additional-page - Code Style","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCode Style\nFunction\nNaming\nThe name of a function should clearly communicate what it does. There should be no need to read the implementation of a function to understand what it does.\nThere are a few keywords that we use with specific meaning:\nis...\nisTask(), isPublished(), isAuthenticated(), isValid()\nA function with the prefix \"is...\" is checking wether the input belongs to a certain (sub)class, or fulfils a specific criteria.\nThe function should return a boolean, and have no sideeffects.\ncheck...\ncheckPermission(), checkInputIsValid()\nA function with the prefix \"check...\" is checking the condition described in its name, throwing an error if it does not apply.\nhas...\nhasPermission(),\nsimilar to \"is...\", the prefix \"has...\" means that the function is checking a condition, and returns a boolean. It does NOT throw an error.\nClasses\nOrder of declarations\nClasses are declared in the following order:\n\nproperties\nconstructor\nmethods\n\nExample:\nExample :export class Course {\n // 1. properties\n name: string;\n \n // more properties...\n\n // 2. constructor\n constructor(props: { name: string }) {\n // ...\n }\n\n // 3. methods\n getShortTitle(): string {\n // ...\n }\n\n // more methods...\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/s3clientmodule.html":{"url":"additional-documentation/nestjs-application/s3clientmodule.html","title":"additional-page - S3ClientModule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nS3 client module\nThis module allows to connect to the S3 storage with our abstraction layer.\nhow to use\nYou need to create a unique connection token and set it as the connection name in S3 configuration. And you must use this token, when injecting the S3 client into your service. This is very important, because multiple modules could potentially use the S3 client with different configurations.\nThe S3ClientModule.register method awaits an array of S3 configurations. Also you can create many connections to different S3 providers and buckets.\nExample :// your.config.ts\nexport const YOUR_S3_UNIQ_CONNECTION_TOKEN = \"YOUR_S3_UNIQ_CONNECTION_TOKEN\";\n\nconst s3Config: S3Config = {\n connectionName: YOUR_S3_UNIQ_CONNECTION_TOKEN, // Important!\n endpoint: \"\",\n region: \"\",\n bucket: \"\",\n accessKeyId: \"\",\n secretAccessKey: \"\",\n};\n\n// your.service.ts\n\n@Injectable()\nexport class FilesStorageService {\n constructor(\n @Inject(YOUR_S3_UNIQ_CONNECTION_TOKEN) // Important!\n private readonly storageClient: S3ClientAdapter)\n}\n\n// your.module.ts\n@Module({\n imports: [S3ClientModule.register([s3Config]),]\n providers: [YourService]\n})\n\nexport class YourModule {}\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AbstractAccountService.html",[0,0.241,1,6.113]],["body/classes/AbstractAccountService.html",[0,0.174,1,6.643,2,0.531,3,0.009,4,0.009,5,0.005,6,5.035,7,0.07,8,0.865,9,6.77,10,3.041,11,5.966,12,3.425,13,5.343,14,6.643,15,6.643,16,6.643,17,6.643,18,3.793,19,6.643,20,6.643,21,6.643,22,7.01,23,7.01,24,7.01,25,6.643,26,2.898,27,0.523,28,5.035,29,1.025,30,0.001,31,0.754,32,0.166,33,0.613,34,1.294,35,1.539,36,3.017,37,5.966,38,5.035,39,2.524,40,3.663,41,5.035,42,5.343,43,5.035,44,6.643,45,5.035,46,6.643,47,1.006,48,4.262,49,3.809,50,5.035,51,5.482,52,3.84,53,5.552,54,6.643,55,2.642,56,5.366,57,5.035,58,3.292,59,2.352,60,6.643,61,5.035,62,3.004,63,7.01,64,7.973,65,5.035,66,7.089,67,6.643,68,5.035,69,6.643,70,4.614,71,5.035,72,3.476,73,7.01,74,5.81,75,7.569,76,7.01,77,4.884,78,5.168,79,6.643,80,5.673,81,7.01,82,7.169,83,2.667,84,5.035,85,6.115,86,7.01,87,4.585,88,5.035,89,7.01,90,5.035,91,7.01,92,8.424,93,5.035,94,2.554,95,0.101,96,1.314,97,2.031,98,3.035,99,1.014,100,1.756,101,0.006,102,4.022,103,0,104,0]],["title/classes/AbstractUrlHandler.html",[0,0.241,105,5.49]],["body/classes/AbstractUrlHandler.html",[0,0.251,2,0.764,3,0.013,4,0.013,5,0.007,7,0.101,8,1.122,9,5.539,27,0.465,29,0.85,30,0.001,31,0.626,32,0.154,33,0.509,35,1.277,47,1.018,95,0.109,101,0.009,103,0.001,104,0,105,7.738,106,8.393,107,8.16,108,10.14,109,12.481,110,4.719,111,5.708,112,0.77,113,5.113,114,9.048,115,7.738,116,7.975,117,7.738,118,8.78,119,6.707,120,7.738,121,7.241,122,2.035,123,7.975,124,7.241,125,2.653,126,7.738,127,6.596,128,7.241,129,2.144,130,1.959,131,5.686,132,6.707,133,7.241,134,2.564,135,1.554,136,9.817,137,7.241,138,7.241,139,7.241,140,7.241,141,3.103,142,2.621,143,7.241,144,7.241,145,2.718,146,4.944,147,9.817,148,1.174,149,9.817,150,7.241,151,7.241,152,6.355,153,1.171,154,6.092,155,3.133,156,6.707,157,1.676,158,2.673]],["title/interfaces/AcceptConsentRequestBody.html",[159,0.712,160,5.86]],["body/interfaces/AcceptConsentRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.174,33,0.658,47,1.047,55,2.51,95,0.1,101,0.012,103,0.001,104,0.001,112,0.888,122,2.568,159,0.922,160,9.529,161,2.147,162,6.253,163,8.347,164,6.755,165,7.321,166,12.035,167,11.404,168,12.035,169,10.243,170,10.243,171,8.738,172,4.833,173,7.507,174,6.153,175,7.582,176,4.572,177,7.909,178,7.321]],["title/interfaces/AcceptLoginRequestBody.html",[159,0.712,179,5.658]],["body/interfaces/AcceptLoginRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.172,33,0.664,47,1.06,55,2.517,77,8.405,101,0.012,103,0.001,104,0.001,112,0.892,122,2.576,159,0.928,161,2.161,162,6.296,163,8.404,165,7.371,169,10.268,170,10.268,179,9.24,180,3.889,181,11.432,182,11.432,183,4.974,184,12.065,185,4.255]],["title/classes/AcceptQuery.html",[0,0.241,186,5.658]],["body/classes/AcceptQuery.html",[0,0.412,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,27,0.38,30,0.001,32,0.121,95,0.143,101,0.013,103,0.001,104,0.001,112,0.933,122,2.466,157,2.258,180,5.099,186,9.664,187,6.722,188,9.756,189,7.9,190,1.749,191,9.756,192,6.561,193,5.188,194,4.674,195,2.614,196,3.947,197,3.325,198,9.756,199,6.561,200,2.986,201,4.624,202,2.24,203,7.999,204,9.756]],["title/entities/Account.html",[94,3.534,205,1.419]],["body/entities/Account.html",[0,0.232,3,0.012,4,0.012,5,0.006,7,0.161,27,0.52,30,0.001,32,0.167,33,0.645,39,3.207,47,0.966,48,5.414,49,4.573,51,5.146,82,8.429,83,3.388,87,5.391,94,4.721,95,0.119,96,2.429,97,2.701,101,0.012,103,0,104,0,112,0.839,122,1.929,176,5.425,190,2.392,195,3.101,196,4.361,197,2.601,205,1.896,206,2.185,207,6.697,208,6.733,209,8.687,210,6.9,211,7.249,212,6.697,213,6.697,214,6.697,215,6.697,216,6.697,217,6.697,218,6.697,219,5.132,220,6.697,221,5.02,222,6.697,223,4.211,224,1.94,225,3.566,226,3.046,227,8.619,228,1.203,229,2.641,230,4.439,231,1.156,232,1.812,233,2.076,234,5.141,235,5.635,236,6.203,237,6.203,238,5.141,239,5.635,240,6.203,241,6.203,242,3.535,243,4.217,244,4.728,245,5.279,246,6.203,247,6.203,248,5.02,249,5.635,250,5.878,251,6.203]],["title/modules/AccountApiModule.html",[252,1.839,253,5.86]],["body/modules/AccountApiModule.html",[0,0.3,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.213,253,12.164,254,3.123,255,3.315,256,3.399,257,3.386,258,3.374,259,4.421,260,4.11,261,8.681,262,8.681,263,8.681,264,9.732,265,6.278,266,12.536,267,11.387,268,8.242,269,4.33,270,3.338,271,3.27,272,8.04,273,5.466,274,4.604,275,10.684,276,4.33,277,1.241,278,8.04,279,3.599,280,8.681,281,8.681,282,8.681,283,8.04]],["title/classes/AccountByIdBodyParams.html",[0,0.241,284,6.113]],["body/classes/AccountByIdBodyParams.html",[0,0.365,2,0.85,3,0.015,4,0.015,5,0.007,7,0.112,27,0.458,30,0.001,31,0.592,32,0.145,33,0.606,47,0.916,51,5.653,87,6.689,95,0.139,101,0.01,103,0,104,0,112,0.827,122,2.185,153,2.145,157,2.719,190,2.105,194,5.213,195,2.915,196,4.401,197,3.708,199,5.812,200,2.465,202,1.849,208,7.396,284,9.249,285,10.483,286,8.054,287,8.054,288,10.538,289,6.112,290,3.252,291,8.054,292,8.054,293,8.054,294,8.054,295,8.054,296,3.26,297,8.561,298,3.497,299,4.598,300,4.775,301,5.197,302,9.761,303,6.776,304,3.988,305,6.776]],["title/classes/AccountByIdParams.html",[0,0.241,306,6.113]],["body/classes/AccountByIdParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,34,2.355,47,0.885,94,6.108,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,285,10.129,296,3.15,299,4.713,306,10.566,307,7.298,308,7.298,309,9.95]],["title/interfaces/AccountConfig.html",[159,0.712,310,6.113]],["body/interfaces/AccountConfig.html",[3,0.02,4,0.02,5,0.009,7,0.147,30,0.001,32,0.154,55,2.686,101,0.013,103,0.001,104,0.001,112,0.977,122,2.749,159,1.076,161,2.507,272,9.747,310,10.926,311,6.706,312,12.027,313,12.692]],["title/controllers/AccountController.html",[275,6.113,314,2.65]],["body/controllers/AccountController.html",[0,0.119,3,0.006,4,0.006,5,0.003,7,0.048,8,0.639,10,1.377,27,0.377,29,0.739,30,0.001,31,0.544,32,0.176,33,0.442,34,1.655,35,1.467,36,2.502,87,4.88,94,6.826,95,0.114,100,1.195,101,0.004,103,0,104,0,148,0.951,157,3.281,190,1.735,193,5.163,194,3.217,202,0.787,228,0.615,230,4.701,266,6.569,274,1.427,275,4.912,277,0.49,283,3.175,284,7.185,290,2.808,306,9.946,314,1.304,315,3.427,316,1.65,317,2.767,318,6.224,319,6.224,320,7.092,321,7.092,322,8.186,323,7.092,324,3.427,325,6.387,326,4.909,327,3.427,328,4.195,329,6.486,330,11.157,331,4.73,332,8.186,333,7.961,334,8.296,335,3.763,336,7.092,337,7.287,338,7.415,339,3.471,340,7.895,341,8.965,342,7.74,343,10.135,344,7.092,345,8.149,346,8.511,347,5.823,348,3.427,349,6.489,350,3.427,351,3.427,352,3.427,353,3.427,354,7.185,355,3.427,356,6.509,357,6.284,358,6.65,359,5.183,360,5.186,361,3.427,362,5.596,363,3.427,364,3.427,365,4.299,366,7.185,367,3.427,368,5.596,369,4.912,370,5.183,371,2.974,372,6.224,373,5.596,374,2.43,375,3.427,376,4.105,377,3.427,378,3.427,379,5.403,380,3.427,381,3.427,382,3.427,383,7.185,384,3.427,385,4.842,386,3.427,387,3.427,388,3.509,389,2.241,390,5.978,391,8.202,392,1.784,393,1.697,394,3.427,395,1.835,396,3.427,397,3.427,398,1.848,399,3.427,400,1.005,401,5.425,402,4.767,403,4.942,404,3.427,405,3.427,406,3.427,407,2.378,408,3.427,409,2.184,410,3.427,411,2.569,412,1.522,413,2.087,414,2.839,415,1.953,416,3.175,417,1.921,418,3.427,419,3.427,420,3.427,421,3.427,422,3.427,423,3.427,424,3.427,425,3.427,426,3.427,427,3.427,428,3.427]],["title/classes/AccountDto.html",[0,0.241,66,4.554]],["body/classes/AccountDto.html",[0,0.238,2,0.726,3,0.013,4,0.013,5,0.006,7,0.096,26,2.484,27,0.546,29,0.525,30,0.001,31,0.387,32,0.173,33,0.654,34,1.855,39,2.631,47,0.901,48,4.443,51,4.563,64,11.164,66,8.015,82,7.473,83,3.716,87,4.78,94,3.491,95,0.106,99,1.386,101,0.009,103,0,104,0,112,0.744,122,1.427,176,4.81,190,2.436,208,5.97,209,7.702,210,6.118,228,2.411,231,1.636,232,2.565,300,2.637,429,6.881,430,4.461,431,4.649,432,7.977,433,0.845,434,6.881,435,2.364,436,4.117,437,6.881,438,6.881,439,6.881,440,6.039,441,6.881,442,7.702,443,6.881,444,8.781,445,6.881,446,6.881,447,6.881,448,6.373,449,6.881,450,8.781,451,6.881,452,6.881,453,6.881,454,5.59,455,6.881,456,6.881,457,3.825,458,2.744,459,3.559,460,4.191,461,4.698,462,4.191,463,4.698]],["title/classes/AccountEntityToDtoMapper.html",[0,0.241,464,5.86]],["body/classes/AccountEntityToDtoMapper.html",[0,0.275,2,0.84,3,0.015,4,0.015,5,0.007,7,0.111,8,1.195,27,0.455,29,0.891,30,0.001,31,0.656,32,0.144,33,0.534,34,1.361,35,1.339,39,2.209,48,3.729,51,3.83,55,2.366,66,8.811,82,6.273,87,4.013,94,7.137,95,0.13,98,7.038,99,1.603,101,0.01,103,0,104,0,135,1.36,148,1.148,153,1.287,176,4.038,205,2.527,208,5.011,209,6.465,210,5.135,230,5.275,430,3.273,431,3.411,464,8.797,465,10.075,466,7.958,467,4.026,468,10.456,469,10.456,470,8.494,471,10.456,472,7.958,473,10.456,474,7.958,475,7.371,476,8.797,477,7.958,478,2.229,479,6.696,480,5.837,481,7.958,482,7.371,483,6.985,484,5.722,485,6.985,486,7.371,487,7.371,488,6.985,489,6.696,490,7.958,491,7.371,492,7.371,493,7.958,494,10.456,495,7.958,496,7.958,497,7.958,498,7.371]],["title/classes/AccountFactory.html",[0,0.241,499,5.658]],["body/classes/AccountFactory.html",[0,0.161,2,0.49,3,0.009,4,0.009,5,0.004,7,0.065,8,0.813,26,1.966,27,0.516,29,1.018,30,0.001,31,0.719,32,0.167,33,0.585,34,1.888,35,1.394,39,1.976,47,0.523,48,2.176,49,3.941,51,3.426,55,2.329,59,3.252,87,2.342,94,2.356,95,0.117,99,0.936,101,0.011,103,0,104,0,112,0.558,113,4.387,127,4.863,129,3.511,130,3.209,135,1.362,148,0.851,153,1.151,157,2.004,172,3.038,185,2.438,192,2.562,205,2.132,206,2.323,227,4.302,228,1.278,231,1.228,290,2.482,326,4.873,374,3.091,407,3.223,433,0.571,436,3.829,467,2.072,478,1.301,499,7.033,500,4.645,501,7.244,502,5.395,503,7.119,504,7.119,505,3.958,506,5.395,507,5.399,508,3.958,509,3.958,510,3.958,511,3.896,512,4.42,513,4.812,514,6.243,515,5.727,516,7.029,517,2.603,518,7.119,519,4.645,520,7.119,521,4.645,522,2.582,523,3.958,524,2.603,525,5.087,526,5.232,527,4.124,528,4.923,529,3.927,530,2.582,531,2.434,532,4.049,533,2.468,534,2.434,535,2.582,536,2.603,537,4.738,538,2.582,539,7.207,540,3.934,541,6.592,542,2.603,543,4.213,544,2.582,545,2.603,546,2.582,547,2.603,548,2.582,549,2.891,550,2.719,551,2.582,552,6.043,553,2.603,554,2.582,555,3.958,556,3.612,557,3.958,558,2.603,559,2.504,560,2.468,561,2.092,562,2.582,563,2.582,564,2.582,565,2.603,566,2.603,567,1.732,568,2.582,569,1.444,570,2.603,571,2.818,572,2.582,573,2.603,574,2.603,575,2.67,576,2.745,577,4.248,578,3.731,579,1.326,580,4.645,581,4.076,582,4.645,583,7.119,584,4.645,585,3.407,586,4.302,587,4.645,588,4.645]],["title/injectables/AccountIdmToDtoMapper.html",[589,0.926,590,5.658]],["body/injectables/AccountIdmToDtoMapper.html",[0,0.343,3,0.018,4,0.018,5,0.009,7,0.138,8,1.371,9,6.229,27,0.386,29,0.756,30,0.001,31,0.556,32,0.123,33,0.452,35,1.135,66,8.445,78,8.195,94,5.023,95,0.144,101,0.013,103,0.001,104,0.001,277,1.416,465,9.751,470,9.751,476,10.099,479,8.33,589,1.596,590,9.751,591,2.349,592,9.901,593,10.909,594,9.901,595,3.755]],["title/classes/AccountIdmToDtoMapperDb.html",[0,0.241,596,6.113]],["body/classes/AccountIdmToDtoMapperDb.html",[0,0.316,2,0.964,3,0.017,4,0.017,5,0.008,7,0.127,8,1.305,27,0.356,29,0.697,30,0.001,31,0.513,32,0.113,33,0.417,34,1.562,35,1.048,39,2.535,48,4.281,51,4.397,66,8.537,78,7.799,83,2.679,94,5.795,95,0.139,101,0.012,103,0.001,104,0.001,135,1.189,148,0.898,153,1.847,231,1.971,430,3.757,431,3.915,432,7.686,436,2.698,465,7.421,470,9.28,476,9.611,479,7.686,480,6.7,484,6.568,590,10.608,593,10.608,595,3.464,596,10.025,597,9.135,598,8.461,599,8.461,600,10.938,601,10.58,602,8.461,603,8.017,604,8.017]],["title/classes/AccountIdmToDtoMapperIdm.html",[0,0.241,605,6.113]],["body/classes/AccountIdmToDtoMapperIdm.html",[0,0.318,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,8,1.309,27,0.358,29,0.701,30,0.001,31,0.515,32,0.114,33,0.419,34,1.569,35,1.052,39,2.547,48,4.3,51,4.417,66,8.55,78,7.821,83,2.691,94,5.812,95,0.139,101,0.012,103,0.001,104,0.001,125,2.186,135,1.194,148,0.902,153,1.852,231,1.976,430,3.774,431,3.933,432,7.721,436,2.711,465,7.455,470,9.306,476,9.638,479,7.721,480,6.731,484,6.598,590,10.625,593,10.625,595,3.48,598,8.5,599,8.5,600,10.961,601,10.61,603,8.054,604,8.054,605,10.054,606,9.177]],["title/injectables/AccountLookupService.html",[589,0.926,607,5.86]],["body/injectables/AccountLookupService.html",[0,0.189,3,0.01,4,0.01,5,0.005,7,0.076,8,0.918,26,2.457,27,0.372,29,0.728,30,0.001,31,0.536,32,0.118,33,0.436,34,2.496,35,1.206,36,2.223,47,0.59,49,4.785,78,5.483,94,4.074,95,0.131,99,1.098,101,0.007,103,0,104,0,135,1.045,142,4.246,148,1.153,153,1.299,157,2.207,185,2.751,195,1.765,228,1.442,277,0.78,317,2.537,388,3.442,407,8.138,433,0.987,480,3.999,534,5.513,574,5.343,589,1.067,591,1.293,607,6.757,608,9.742,609,5.452,610,4.148,611,11.527,612,5.4,613,7.62,614,4.109,615,7.579,616,9.231,617,9.231,618,5.182,619,7.563,620,4.998,621,8.03,622,6.33,623,5.25,624,6.019,625,8.03,626,7.048,627,10.294,628,6.999,629,6.19,630,8.03,631,7.438,632,5.452,633,8.545,634,7.035,635,5.452,636,8.03,637,8.03,638,5.452,639,10.518,640,6.474,641,5.994,642,12.445,643,10.518,644,6.405,645,7.438,646,5.452,647,3.999,648,3.433,649,3.433,650,4.429,651,2.766,652,1.633,653,3.303,654,7.438,655,4.429,656,8.03,657,1.836,658,5.452,659,5.452,660,5.452]],["title/modules/AccountModule.html",[252,1.839,264,5.008]],["body/modules/AccountModule.html",[0,0.235,3,0.013,4,0.013,5,0.006,30,0.001,95,0.156,101,0.009,103,0,104,0,148,0.923,153,1.519,195,1.492,252,2.843,254,2.442,255,2.592,256,2.657,257,2.648,258,2.638,259,3.911,260,4.002,264,10.49,265,5.853,267,10.618,268,7.685,269,3.677,270,2.61,271,2.557,276,3.677,277,0.971,278,6.287,279,2.814,527,2.885,590,8.749,596,8.243,605,8.243,607,10.618,634,6.247,647,4.979,648,4.274,649,4.274,651,3.444,661,6.788,662,6.788,663,6.788,664,6.788,665,10.252,666,10.598,667,12.117,668,10.252,669,11.076,670,12.619,671,9.256,672,6.788,673,6.788,674,6.788,675,3.466,676,5.957,677,10.769,678,6.788,679,6.788,680,6.287,681,6.788,682,6.788,683,6.788,684,6.788,685,3.937,686,4.881,687,6.788,688,3.165]],["title/interfaces/AccountParams.html",[159,0.712,689,5.86]],["body/interfaces/AccountParams.html",[0,0.229,3,0.012,4,0.012,5,0.006,7,0.092,26,2.329,30,0.001,32,0.114,33,0.525,47,0.944,48,5.666,49,4.33,51,5.819,94,7.027,95,0.143,99,1.334,101,0.012,103,0,104,0,112,0.724,135,1.732,148,1.188,159,1.087,161,1.577,231,1.142,290,3.232,326,4.889,467,3.519,478,1.855,499,5.378,574,3.71,595,2.511,652,1.877,689,9.673,690,5.81,691,5.81,692,4.303,693,5.228,694,4.856,695,4.76,696,5.81,697,8.266,698,5.082,699,9.822,700,4.467,701,4.467,702,4.571,703,2.832,704,4.712,705,10.535,706,5.57,707,5.81,708,8.101,709,5.81,710,5.81,711,3.078,712,5.81,713,8.941,714,8.101,715,8.101,716,5.57,717,9.327,718,9.327,719,5.81,720,8.101,721,8.101,722,5.57,723,5.81,724,8.101,725,6.516,726,5.57]],["title/injectables/AccountRepo.html",[589,0.926,668,5.658]],["body/injectables/AccountRepo.html",[0,0.125,3,0.007,4,0.007,5,0.003,7,0.05,8,0.669,10,2.354,11,4.617,12,2.651,13,4.135,14,5.141,15,5.141,16,5.141,17,5.141,18,2.935,19,5.141,20,5.141,26,2.695,27,0.504,29,0.979,30,0.001,31,0.713,32,0.159,33,0.58,34,1.922,35,1.47,36,2.855,37,4.617,39,2.901,40,1.755,42,4.135,44,5.141,46,5.141,47,0.884,48,3.965,49,4.911,51,5.237,52,2.972,53,4.296,54,5.141,55,2.642,56,5.981,58,6.495,60,5.141,62,2.163,67,5.141,69,5.141,70,5.521,85,2.438,94,5.987,95,0.116,96,1.529,97,1.462,99,0.73,101,0.005,102,1.927,103,0,104,0,122,1.528,129,2.506,130,1.994,135,1.293,141,2.51,145,3.729,148,1.16,153,1.502,157,0.839,195,0.797,197,1.013,205,1.724,206,1.911,224,1.05,231,1.011,277,0.518,290,2.007,317,3.046,388,1.554,436,2.5,532,4.328,543,1.764,569,1.821,589,0.779,591,0.86,595,1.375,616,9.175,652,1.499,655,2.945,657,2.124,668,4.759,727,3.626,728,6.064,729,3.999,730,7.838,731,7.37,732,5.425,733,7.37,734,2.468,735,2.651,736,5.533,737,5.857,738,3.626,739,3.626,740,3.626,741,5.141,742,3.626,743,3.626,744,3.626,745,4.212,746,3.626,747,3.626,748,3.626,749,3.626,750,5.857,751,3.626,752,3.626,753,8.462,754,3.626,755,3.626,756,2.939,757,3.626,758,3.999,759,2.163,760,2.208,761,2.185,762,2.208,763,2.516,764,2.185,765,2.208,766,1.941,767,3.626,768,3.626,769,3.626,770,2.283,771,2.607,772,5.857,773,3.882,774,4.928,775,3.626,776,3.626,777,3.626,778,3.626,779,3.626,780,3.626,781,3.182,782,5.857,783,3.626,784,3.626,785,3.626,786,3.626,787,2.783,788,3.999,789,1.984,790,2.438,791,3.626,792,3.626,793,3.626,794,2.659,795,3.626,796,3.358,797,7.37,798,3.626,799,3.626,800,3.358,801,3.182,802,2.403,803,3.358,804,2.718,805,3.626,806,2.783,807,2.783,808,3.626,809,2.37,810,2.659,811,3.626,812,2.31,813,2.032,814,3.05,815,3.182,816,2.516,817,3.626,818,3.626,819,3.626]],["title/classes/AccountResponse.html",[0,0.241,334,5.658]],["body/classes/AccountResponse.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,27,0.524,29,0.646,30,0.001,31,0.475,32,0.166,33,0.625,34,2.246,39,3.645,47,0.988,51,6.321,83,3.19,95,0.094,101,0.011,103,0.001,104,0.001,112,0.853,122,2.256,190,2.354,202,1.943,208,8.27,234,6.495,242,4.466,250,7.426,296,3.716,334,10.67,431,5.629,433,1.337,458,3.374,462,5.153,820,8.461,821,4.32,822,8.461,823,8.461,824,8.461,825,8.461,826,8.461,827,8.461]],["title/classes/AccountResponseMapper.html",[0,0.241,828,6.451]],["body/classes/AccountResponseMapper.html",[0,0.304,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.851,30,0.001,31,0.626,32,0.138,33,0.51,34,1.907,35,1.279,39,3.095,51,5.368,66,8.42,94,6.89,95,0.136,101,0.011,103,0.001,104,0.001,148,1.096,153,1.804,208,7.023,334,11.207,431,4.78,465,9.95,467,3.953,478,2.464,480,8.18,482,10.33,483,7.719,484,8.019,485,9.788,828,10.33,829,5.197,830,6.2,831,11.153,832,11.153,833,7.145,834,11.153,835,6.751,836,8.795,837,4.355,838,7.4]],["title/classes/AccountSaveDto.html",[0,0.241,64,5.49]],["body/classes/AccountSaveDto.html",[0,0.296,2,0.627,3,0.011,4,0.011,5,0.005,7,0.083,26,2.524,27,0.534,29,0.454,30,0.001,31,0.334,32,0.17,33,0.655,34,1.713,39,2.78,47,0.968,48,4.694,51,4.821,64,9.15,82,7.896,83,3.737,87,5.051,95,0.122,99,1.198,101,0.008,103,0,104,0,112,0.671,122,1.773,176,5.082,190,2.438,199,4.717,200,1.819,208,6.307,209,8.138,210,6.464,228,2.331,232,2.314,234,4.563,235,5.001,236,5.505,237,5.505,238,4.563,239,5.001,240,5.505,241,5.505,242,3.137,243,3.743,244,4.196,245,4.685,246,5.505,247,5.505,248,4.455,249,5.001,250,5.217,251,5.505,297,6.948,298,2.581,299,4.289,300,5.253,301,3.836,303,5.001,304,2.943,305,5.001,430,4.12,431,4.293,432,8.428,433,0.73,435,2.042,440,5.217,442,6.948,444,10.147,448,5.505,450,9.278,454,4.829,458,2.37,459,3.074,460,3.62,461,4.058,462,3.62,463,4.058,839,13.799,840,5.944,841,8.552,842,5.944,843,5.944,844,5.944,845,5.944,846,5.944,847,5.944,848,5.944,849,5.944,850,5.944,851,5.944,852,5.944,853,5.944,854,7.309,855,4.436,856,4.754,857,5.944,858,5.944,859,5.944]],["title/classes/AccountSearchListResponse.html",[0,0.241,372,6.113]],["body/classes/AccountSearchListResponse.html",[0,0.276,2,0.843,3,0.015,4,0.015,5,0.007,7,0.111,27,0.503,29,0.61,30,0.001,31,0.449,32,0.171,33,0.589,55,2.912,56,6.235,59,3.258,70,6.715,95,0.13,101,0.01,103,0,104,0,112,0.822,125,1.903,190,2.226,202,1.835,231,1.809,285,8.82,296,2.743,298,3.469,334,10.959,339,3.782,372,9.201,433,0.982,436,3.669,860,7.4,861,5.544,862,8.397,863,7.301,864,6.027,865,7.401,866,3.98,867,7.401,868,5.631,869,3.911,870,4.373,871,2.94,872,5.64,873,6.681,874,6.137,875,5.224,876,4.16,877,5.64,878,5.64,879,7.99,880,5.092,881,4.373]],["title/classes/AccountSearchQueryParams.html",[0,0.241,366,6.113]],["body/classes/AccountSearchQueryParams.html",[0,0.363,2,0.845,3,0.015,4,0.015,5,0.007,7,0.111,27,0.484,30,0.001,32,0.169,33,0.568,47,0.771,55,2.373,56,5.517,70,5.325,94,4.062,95,0.139,101,0.01,103,0,104,0,112,0.823,129,3.108,130,3.652,145,3.005,157,2.43,190,2.228,194,4.884,195,2.732,196,4.124,197,3.474,200,2.45,202,1.838,231,1.811,285,9.854,296,3.064,298,3.476,299,4.109,308,5.872,366,9.213,369,9.213,436,3.101,756,3.193,758,7.167,860,9.111,869,3.919,875,5.234,882,8.006,883,9.111,884,12.906,885,8.006,886,3.323,887,8.006,888,8.006,889,7.415,890,5.466,891,6.504,892,6.145,893,7.415,894,8.006,895,7.026,896,4.451,897,6.504,898,7.415,899,3.658,900,8.006]],["title/injectables/AccountServiceDb.html",[589,0.926,669,6.113]],["body/injectables/AccountServiceDb.html",[0,0.114,1,11.138,3,0.006,4,0.006,5,0.003,7,0.046,8,0.62,10,2.182,11,4.28,12,2.457,13,3.833,14,4.765,15,4.765,16,4.765,17,4.765,18,2.721,19,4.765,20,4.765,21,4.765,22,5.029,23,5.029,24,5.029,25,4.765,26,2.791,27,0.495,29,0.969,30,0.001,31,0.713,32,0.157,33,0.58,34,1.369,35,1.441,36,2.911,37,4.28,39,2.222,40,2.628,42,3.833,44,4.765,46,4.765,47,0.955,48,4.145,49,3.786,51,5.052,54,4.765,55,2.268,56,4.945,58,2.16,60,4.765,62,1.971,63,5.029,64,6.311,66,5.784,67,4.765,69,4.765,70,4.062,81,5.029,82,6.973,83,2.027,85,4.649,86,5.029,87,4.46,89,5.029,91,5.029,92,6.403,94,5.82,95,0.128,96,0.862,97,1.332,98,1.991,99,0.666,100,1.152,101,0.004,103,0,104,0,125,1.647,129,0.978,130,0.894,135,1.635,142,1.966,145,2.038,148,1.247,153,1.625,176,1.676,208,2.08,209,2.684,210,2.132,228,0.975,231,0.937,233,1.024,277,0.472,317,3.051,346,2.423,347,1.697,393,1.636,400,0.969,433,0.406,436,3.627,464,2.779,475,6.403,478,0.925,484,3.904,485,2.899,486,3.06,487,3.06,488,4.765,489,6.737,491,3.06,498,7.416,579,1.55,589,0.722,591,0.784,607,8.456,608,7.416,631,5.029,645,5.029,652,2.044,657,3.059,668,7.727,669,4.765,675,1.687,676,2.899,680,3.06,745,3.904,758,2.255,838,2.779,901,3.303,902,5.43,903,3.06,904,3.303,905,3.303,906,3.303,907,5.43,908,3.303,909,3.303,910,3.303,911,3.303,912,3.303,913,3.303,914,3.303,915,3.303,916,3.303,917,3.303,918,3.303,919,3.303,920,3.303,921,3.303,922,3.303,923,2.779,924,2.899,925,3.303,926,10.873,927,5.43,928,10.051,929,8.846,930,3.303,931,3.303,932,5.029,933,3.303,934,3.303,935,3.303,936,3.303,937,5.43,938,2.684,939,5.43,940,5.43,941,5.43,942,5.43,943,5.43,944,5.43,945,5.43,946,5.43,947,5.43,948,5.43,949,8.846,950,8.006,951,6.913,952,3.303,953,3.303,954,3.303,955,3.303,956,5.43,957,3.303,958,3.303,959,3.303,960,3.303,961,3.303,962,2.332,963,3.303,964,3.303,965,3.303]],["title/injectables/AccountValidationService.html",[589,0.926,667,6.113]],["body/injectables/AccountValidationService.html",[0,0.232,3,0.012,4,0.012,5,0.006,7,0.093,8,1.063,26,2.86,27,0.45,29,0.882,30,0.001,31,0.649,32,0.143,33,0.528,35,1.226,36,2.656,39,3.648,47,0.981,48,5.414,49,2.523,59,3.323,85,8.668,94,4.721,95,0.135,99,1.349,101,0.009,103,0,104,0,135,1.503,142,2.425,148,1.051,205,1.365,230,4.439,268,7.85,277,0.958,279,2.777,317,2.887,400,1.964,433,0.823,464,5.635,480,4.912,483,5.878,531,3.51,589,1.237,591,1.589,652,1.362,657,2.445,667,8.167,668,10.209,676,5.878,702,5.295,756,4.608,903,6.203,932,6.203,966,6.697,967,9.305,968,9.305,969,9.305,970,6.697,971,9.305,972,6.697,973,9.305,974,6.697,975,9.305,976,6.697,977,6.697,978,6.697,979,6.203,980,3.694,981,4.079,982,5.279,983,4.322,984,5.635,985,3.885,986,6.203,987,6.203,988,6.697,989,6.697,990,6.697,991,6.697,992,6.203,993,9.305,994,9.305,995,6.697,996,6.697,997,4.169,998,3.171,999,6.697,1000,6.697,1001,6.697,1002,6.697,1003,9.305,1004,6.697,1005,9.305,1006,6.697]],["title/modules/AdminApiServerModule.html",[252,1.839,1007,6.113]],["body/modules/AdminApiServerModule.html",[0,0.348,3,0.014,4,0.014,5,0.007,30,0.001,32,0.093,87,3.78,95,0.157,96,1.957,101,0.013,103,0,104,0,135,0.976,148,0.737,195,1.648,206,2.446,252,3.334,254,2.697,255,2.863,256,2.935,257,2.925,258,2.914,259,2.723,260,2.786,265,6.159,269,3.935,270,2.883,271,2.824,276,4.742,277,1.072,290,1.779,467,2.182,478,2.1,540,2.488,623,4.902,649,4.721,651,3.804,1007,12.122,1008,7.498,1009,7.498,1010,10.248,1011,8.877,1012,6.945,1013,6.945,1014,5.202,1015,5.119,1016,6.405,1017,7.866,1018,6.58,1019,7.372,1020,6.58,1021,4.838,1022,6.974,1023,7.095,1024,6.974,1025,4.838,1026,4.721,1027,2.294,1028,6.974,1029,5.042,1030,6.945,1031,8.003,1032,6.945,1033,6.945,1034,5.755,1035,6.308,1036,8.709,1037,6.945,1038,10.191,1039,5.91,1040,5.202,1041,5.119,1042,4.97,1043,6.974,1044,8.821,1045,4.902]],["title/modules/AdminApiServerTestModule.html",[252,1.839,1044,6.113]],["body/modules/AdminApiServerTestModule.html",[0,0.337,3,0.013,4,0.013,5,0.006,8,0.817,27,0.279,29,0.546,30,0.001,31,0.402,32,0.12,33,0.327,35,0.82,59,2.222,87,3.605,95,0.156,96,1.867,101,0.012,103,0,104,0,135,0.93,148,0.703,195,1.571,206,2.333,252,3.28,254,2.572,255,2.731,256,2.799,257,2.789,258,2.779,259,2.597,260,2.657,265,6.085,269,3.811,270,2.75,271,2.693,276,4.651,277,1.023,290,1.696,467,2.833,478,2.003,540,3.229,623,4.675,649,4.502,651,3.628,1007,6.276,1010,10.107,1011,6.646,1012,9.016,1013,6.623,1014,4.962,1015,4.882,1016,7.052,1017,7.678,1018,6.276,1019,7.139,1020,6.276,1021,4.614,1022,6.754,1023,6.871,1024,6.754,1025,4.614,1026,4.502,1027,2.188,1028,8.243,1029,8.356,1030,6.623,1031,9.26,1032,6.623,1033,6.623,1034,5.489,1035,6.016,1036,8.542,1037,6.623,1038,9.995,1039,5.637,1040,4.962,1041,4.882,1042,4.739,1043,6.754,1044,12.303,1045,6.364,1046,7.15,1047,7.15,1048,4.962,1049,7.15]],["title/interfaces/AdminIdAndToken.html",[159,0.712,1050,5.658]],["body/interfaces/AdminIdAndToken.html",[0,0.2,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.471,32,0.114,34,1.85,36,2.82,39,3.609,47,1.06,51,4.036,55,1.478,72,2.657,83,1.696,87,3.678,95,0.093,101,0.011,103,0,104,0,112,0.454,122,2.045,135,1.408,148,1.325,153,1.49,159,0.746,161,0.851,176,5.489,185,1.223,195,0.785,228,1.039,231,0.616,277,0.511,290,1.73,317,2.886,371,3.876,379,4.255,402,2.081,433,0.439,532,1.309,540,1.185,559,1.925,567,2.719,569,1.11,571,4.546,579,2.631,589,0.769,652,2.477,657,2.256,688,1.665,702,1.768,711,3.702,725,4.084,789,3.167,809,4.769,871,3.086,890,2.438,1050,8.789,1051,2.901,1052,3.004,1053,4.98,1054,2.018,1055,6.438,1056,2.304,1057,2.815,1058,2.741,1059,4.561,1060,3.95,1061,4.441,1062,4.441,1063,4.441,1064,4.7,1065,1.758,1066,3.004,1067,3.004,1068,3.004,1069,3.004,1070,3.004,1071,3.004,1072,2.568,1073,3.004,1074,3.004,1075,3.004,1076,2.276,1077,7.754,1078,1.564,1079,2.901,1080,2.005,1081,2.438,1082,2.521,1083,2.018,1084,2.438,1085,3.004,1086,5.468,1087,5.301,1088,5.382,1089,5.721,1090,6.381,1091,7.787,1092,6.634,1093,6.137,1094,2.676,1095,3.004,1096,3.004,1097,2.521,1098,3.004,1099,3.004,1100,2.901,1101,2.815,1102,3.004,1103,5.599,1104,2.901,1105,3.004,1106,3.004,1107,3.004,1108,2.901,1109,3.004,1110,3.004,1111,3.004,1112,7.47,1113,3.004,1114,3.004,1115,1.359,1116,3.004,1117,3.004,1118,3.004,1119,3.004,1120,3.004,1121,3.004,1122,3.004,1123,3.004,1124,8.301,1125,8.301,1126,3.004,1127,3.004,1128,3.004,1129,3.004,1130,3.004,1131,3.004,1132,2.478,1133,3.004,1134,3.004,1135,3.004,1136,3.004,1137,3.004,1138,3.004,1139,3.004,1140,3.004,1141,3.004,1142,3.004,1143,3.004,1144,3.004,1145,3.004,1146,3.004,1147,4.441,1148,4.441,1149,3.004,1150,3.004,1151,3.004,1152,3.004,1153,3.004,1154,2.438,1155,3.004,1156,3.004,1157,3.004,1158,4.868,1159,3.004,1160,4.868,1161,4.868,1162,3.004,1163,3.004,1164,2.741,1165,6.137,1166,4.834,1167,4.49,1168,3.004,1169,3.356,1170,5.281,1171,4.441,1172,5.467,1173,6.137,1174,6.137,1175,6.137,1176,2.741,1177,3.004,1178,3.004,1179,3.004,1180,7.754,1181,6.137,1182,6.137,1183,6.137,1184,3.004,1185,4.868,1186,4.868,1187,3.004,1188,3.004,1189,3.004,1190,3.004,1191,3.004,1192,4.868,1193,3.835]],["title/classes/AjaxGetQueryParams.html",[0,0.241,1194,6.113]],["body/classes/AjaxGetQueryParams.html",[0,0.387,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,27,0.519,30,0.001,32,0.165,33,0.638,47,1.044,95,0.098,101,0.011,103,0.001,104,0.001,112,0.877,190,2.385,200,2.703,299,5.323,300,5.1,454,7.176,856,6.217,1194,9.816,1195,6.732,1196,8.833,1197,6.666,1198,7.397,1199,9.42,1200,9.42,1201,9.42,1202,8.833,1203,11.322,1204,8.833,1205,8.833,1206,8.833,1207,8.833]],["title/injectables/AjaxPostBodyParamsTransformPipe.html",[589,0.926,1208,6.113]],["body/injectables/AjaxPostBodyParamsTransformPipe.html",[0,0.398,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,27,0.301,29,0.59,30,0.001,31,0.434,32,0.096,33,0.353,35,0.886,36,2.167,95,0.137,101,0.01,103,0,104,0,125,2.443,130,3.815,135,1.498,145,2.901,148,1.008,153,1.25,157,1.789,193,4.473,200,2.365,277,1.105,317,2.49,579,2.207,589,1.363,591,1.833,657,1.767,806,7.872,1172,7.687,1195,5.078,1208,9.001,1209,10.255,1210,7.728,1211,7.911,1212,6.618,1213,7.335,1214,9.001,1215,6.181,1216,9.001,1217,10.255,1218,8.015,1219,10.255,1220,5.896,1221,11.817,1222,8.084,1223,7.687,1224,7.374,1225,9.499,1226,9.001,1227,10.255,1228,9.96,1229,7.728,1230,10.255,1231,6.783,1232,4.483,1233,6.279,1234,6.279,1235,6.279,1236,7.728,1237,2.239,1238,5.933,1239,7.728,1240,4.567,1241,7.728,1242,6.503,1243,7.728,1244,7.728,1245,7.728,1246,7.728,1247,7.158,1248,7.728,1249,7.728]],["title/classes/AjaxPostQueryParams.html",[0,0.241,1250,6.113]],["body/classes/AjaxPostQueryParams.html",[0,0.378,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.525,30,0.001,32,0.167,33,0.645,34,2.063,47,1.051,95,0.095,101,0.011,103,0.001,104,0.001,112,0.857,190,2.414,200,2.606,299,5.361,300,5.16,454,6.918,856,6.073,1195,6.781,1197,6.552,1198,7.271,1199,9.26,1200,9.26,1201,9.26,1203,11.55,1250,9.589,1251,8.515,1252,8.515,1253,8.515,1254,8.515,1255,8.515,1256,8.515,1257,8.515]],["title/modules/AntivirusModule.html",[252,1.839,1258,6.113]],["body/modules/AntivirusModule.html",[0,0.302,3,0.016,4,0.016,5,0.008,8,0.996,27,0.34,29,0.666,30,0.001,31,0.49,32,0.108,33,0.398,35,1,95,0.143,101,0.011,103,0.001,104,0.001,135,1.134,148,1.09,153,1.41,161,2.077,195,1.916,197,2.437,252,3.22,254,3.136,259,3.166,260,3.24,277,1.247,467,3.228,540,2.893,685,6.433,686,6.269,1016,7.773,1045,7.251,1048,6.05,1258,10.705,1259,8.718,1260,10.43,1261,8.718,1262,10.273,1263,7.652,1264,10.705,1265,8.718,1266,8.718,1267,6.154,1268,5.367,1269,8.718,1270,7.083,1271,8.718,1272,5.49,1273,7.652,1274,5.7,1275,7.652,1276,11.091,1277,11.091,1278,7.652,1279,8.718,1280,8.718,1281,8.718,1282,6.873,1283,6.154,1284,8.718,1285,8.718,1286,8.718]],["title/interfaces/AntivirusModuleOptions.html",[159,0.712,1260,5.658]],["body/interfaces/AntivirusModuleOptions.html",[3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.17,47,1.077,55,2.523,101,0.016,103,0.001,104,0.001,112,0.895,122,2.785,159,1.273,161,2.171,1080,3.159,1260,9.266,1268,8.269,1270,10.913,1272,8.458,1274,8.782,1283,9.21,1287,7.999,1288,10.977,1289,7.404,1290,5.881,1291,6.041,1292,6.041]],["title/injectables/AntivirusService.html",[589,0.926,1264,6.113]],["body/injectables/AntivirusService.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,27,0.436,29,0.853,30,0.001,31,0.628,32,0.138,33,0.511,35,1.177,36,1.865,47,0.989,95,0.141,101,0.008,103,0,104,0,110,2.159,125,3.006,135,1.596,142,3.195,148,0.867,153,1.66,158,2.293,161,1.479,176,5.208,195,2.256,197,1.736,228,1.843,277,0.888,317,2.654,414,3.151,433,1.084,540,3.406,579,2.519,589,1.173,591,1.473,629,4.657,652,2.495,657,2.018,688,2.895,711,3.553,1080,2.153,1262,10.352,1263,5.451,1264,7.745,1289,9.08,1290,7.212,1291,4.116,1292,4.116,1293,6.21,1294,8.824,1295,7.425,1296,7.425,1297,5.045,1298,9.194,1299,10.264,1300,6.21,1301,8.824,1302,6.213,1303,6.21,1304,5.029,1305,8.824,1306,6.21,1307,8.824,1308,6.21,1309,8.036,1310,4.384,1311,4.06,1312,4.157,1313,4.24,1314,4.555,1315,5.045,1316,5.752,1317,3.958,1318,4.767,1319,4.896,1320,6.21,1321,10.264,1322,6.21,1323,6.21,1324,10.264,1325,6.21,1326,6.21,1327,6.21,1328,4.69,1329,5.374,1330,7.425,1331,6.21,1332,6.21,1333,8.824,1334,6.21,1335,8.824,1336,6.21,1337,6.21,1338,6.21,1339,5.451,1340,6.21,1341,6.21,1342,5.451,1343,5.225,1344,6.21,1345,6.21,1346,6.21,1347,6.21,1348,6.21,1349,6.21,1350,6.21]],["title/interfaces/AntivirusServiceOptions.html",[159,0.712,1289,5.658]],["body/interfaces/AntivirusServiceOptions.html",[3,0.017,4,0.017,5,0.008,7,0.131,30,0.001,32,0.163,47,1.075,55,1.907,101,0.016,103,0.001,104,0.001,112,0.913,122,2.811,159,1.292,161,2.242,1080,3.263,1260,7.647,1268,8.347,1270,11.016,1272,8.538,1274,8.865,1283,6.645,1287,8.262,1288,7.92,1289,9.454,1290,6.074,1291,6.239,1292,6.239]],["title/classes/ApiValidationError.html",[0,0.241,1351,4.684]],["body/classes/ApiValidationError.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.523,29,0.599,30,0.001,31,0.441,32,0.172,33,0.53,35,0.9,47,0.852,55,1.59,95,0.115,101,0.01,103,0,104,0,112,0.813,155,3.937,190,2.299,228,2.501,231,1.788,233,2.433,277,1.122,338,7.593,402,2.823,433,0.964,436,3.891,561,3.535,644,4.78,868,5.937,871,2.888,998,5.492,1078,3.439,1080,4.445,1115,4.414,1351,6.967,1352,10.361,1353,7.849,1354,8.686,1355,7.091,1356,7.583,1357,7.27,1358,7.849,1359,9.423,1360,5.203,1361,4.512,1362,5.203,1363,5.203,1364,5.203,1365,5.203,1366,5.203,1367,4.832,1368,4.436,1369,6.188,1370,6.604,1371,7.27,1372,5.468,1373,6.31,1374,5.065,1375,6.025]],["title/classes/ApiValidationErrorResponse.html",[0,0.241,1376,6.113]],["body/classes/ApiValidationErrorResponse.html",[0,0.228,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,27,0.51,29,0.702,30,0.001,31,0.517,32,0.171,33,0.524,35,0.755,47,0.962,55,1.335,95,0.128,101,0.008,103,0,104,0,112,0.722,129,2.724,130,2.489,135,1.379,155,3.662,157,2.129,219,3.633,228,2.419,231,1.587,277,0.942,338,7.898,393,3.262,403,4.696,415,3.754,433,0.809,436,3.565,569,2.859,652,2.156,871,3.384,998,5.715,1078,2.886,1080,4.183,1115,4.366,1220,5.288,1351,8.407,1355,6.093,1359,8.61,1367,8.057,1372,4.855,1373,7.814,1376,8.073,1377,11.472,1378,6.587,1379,7.621,1380,6.895,1381,7.714,1382,9.198,1383,9.198,1384,9.198,1385,9.302,1386,6.587,1387,6.587,1388,5.489,1389,6.587,1390,4.1,1391,6.587,1392,5.782,1393,3.754,1394,6.587,1395,6.102,1396,4.251,1397,6.102,1398,9.198,1399,11.472,1400,6.587,1401,6.587,1402,6.587,1403,6.587,1404,6.587,1405,6.587,1406,9.198,1407,6.587,1408,6.587,1409,6.587,1410,6.587,1411,6.587,1412,6.587,1413,6.587,1414,6.587,1415,6.587]],["title/interfaces/AppStartInfo.html",[159,0.712,1416,6.113]],["body/interfaces/AppStartInfo.html",[0,0.297,3,0.02,4,0.016,5,0.008,7,0.119,30,0.001,32,0.158,33,0.616,47,1.031,55,2.452,95,0.095,101,0.011,103,0.001,104,0.001,112,0.86,125,2.882,135,1.115,148,0.842,159,0.876,161,2.041,228,1.539,339,3.217,385,5.851,400,2.513,876,4.462,1027,2.622,1115,3.261,1237,2.482,1283,9.005,1416,10.619,1417,7.938,1418,7.21,1419,11.573,1420,11.196,1421,11.196,1422,4.391,1423,5.114,1424,9.628,1425,7.21,1426,3.806,1427,7.938,1428,10.161,1429,7.938,1430,10.161,1431,7.938,1432,10.161,1433,7.938,1434,5.53,1435,7.938]],["title/classes/AppStartLoggable.html",[0,0.241,1425,5.86]],["body/classes/AppStartLoggable.html",[0,0.302,2,0.92,3,0.023,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.108,33,0.398,35,1,47,0.896,55,1.767,95,0.097,101,0.011,103,0.001,104,0.001,125,2.905,135,1.134,148,0.857,159,0.892,228,1.566,339,3.252,385,5.953,400,2.556,433,1.071,876,6.35,1027,2.668,1115,3.318,1237,3.213,1283,6.154,1416,11.267,1417,11.298,1418,7.336,1419,9.734,1420,7.652,1421,7.652,1422,4.883,1423,5.687,1424,9.734,1425,9.332,1426,5.702,1427,8.075,1428,10.273,1429,8.075,1430,10.273,1431,8.075,1432,10.273,1433,8.075,1434,5.626,1435,8.075,1436,8.718,1437,8.718,1438,8.718]],["title/interfaces/AppendedAttachment.html",[159,0.712,1439,5.221]],["body/interfaces/AppendedAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.514,47,1.069,77,5.908,101,0.012,103,0.001,104,0.001,112,0.897,159,1.423,161,2.181,231,2.321,1240,5.411,1439,9.351,1440,7.028,1441,9.795,1442,10.325,1443,7.028,1444,5.09,1445,8.574,1446,6.716,1447,6.716,1448,9.351,1449,7.028,1450,8.574,1451,8.781,1452,8.781,1453,8.574,1454,7.041,1455,6.863,1456,6.863,1457,7.028,1458,7.028]],["title/classes/AuthCodeFailureLoggableException.html",[0,0.241,1459,5.86]],["body/classes/AuthCodeFailureLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,35,1,47,0.896,59,2.71,95,0.124,101,0.011,103,0.001,104,0.001,148,0.857,185,3.799,228,1.566,231,1.914,339,2.556,365,4.926,400,2.556,433,1.071,436,2.575,998,6.079,1027,2.668,1080,4.228,1115,3.318,1422,4.883,1423,5.687,1426,5.702,1459,9.332,1460,11.091,1461,8.313,1462,4.701,1463,9.623,1464,8.718,1465,6.05,1466,11.298,1467,7.336,1468,5.687,1469,5.97,1470,4.886,1471,6.395,1472,4.847,1473,8.718,1474,11.091,1475,8.084,1476,5.255,1477,4.451,1478,4.634,1479,8.718]],["title/modules/AuthenticationApiModule.html",[252,1.839,1480,5.49]],["body/modules/AuthenticationApiModule.html",[0,0.328,3,0.018,4,0.018,5,0.009,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.345,254,3.41,255,3.62,256,3.711,257,3.698,258,3.685,259,4.602,260,4.343,269,4.576,270,3.646,271,3.571,273,5.969,274,4.865,276,4.576,277,1.356,1480,11.164,1481,9.48,1482,9.48,1483,9.48,1484,9.305,1485,11.642,1486,9.48,1487,11.122,1488,9.48,1489,9.48,1490,8.781]],["title/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.241,1491,5.658]],["body/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.298,2,0.909,3,0.016,4,0.016,5,0.008,7,0.12,27,0.526,29,0.657,30,0.001,31,0.483,32,0.167,33,0.393,47,1.021,95,0.096,101,0.011,103,0.001,104,0.001,112,0.863,232,2.977,433,1.057,435,2.957,998,6.7,1491,10.726,1492,13.727,1493,11.292,1494,8.606,1495,8.718,1496,9.85,1497,10.641,1498,10.641,1499,11,1500,8.606,1501,8.606,1502,10.189,1503,8.606,1504,8.606,1505,7.972,1506,7.241,1507,6.451,1508,7.972,1509,8.606,1510,8.606,1511,8.606,1512,8.606,1513,8.606,1514,8.606,1515,8.606,1516,7.553,1517,8.606]],["title/modules/AuthenticationModule.html",[252,1.839,1484,4.684]],["body/modules/AuthenticationModule.html",[0,0.19,3,0.01,4,0.01,5,0.005,30,0.001,32,0.068,95,0.157,101,0.007,103,0,104,0,135,1.374,153,0.889,252,2.529,254,1.977,255,2.099,256,2.152,257,2.144,258,2.136,259,3.479,260,3.56,264,8.458,265,5.456,268,7.164,269,3.163,270,2.114,271,2.07,276,3.163,277,0.786,279,2.279,579,1.569,628,3.28,647,4.032,648,3.461,665,9.556,671,8.628,1027,1.682,1372,2.901,1380,4.12,1484,9.822,1518,5.496,1519,5.496,1520,5.496,1521,5.496,1522,9.897,1523,9.556,1524,9.03,1525,8.458,1526,10.192,1527,10.324,1528,9.556,1529,9.897,1530,10.324,1531,8.304,1532,10.324,1533,10.324,1534,10.324,1535,5.496,1536,4.824,1537,4.032,1538,5.496,1539,4.465,1540,3.814,1541,5.496,1542,9.579,1543,4.824,1544,8.079,1545,3.88,1546,8.868,1547,11.25,1548,4.12,1549,4.625,1550,4.824,1551,4.625,1552,5.091,1553,5.091,1554,4.824,1555,5.496,1556,5.496,1557,5.496,1558,5.496,1559,5.496,1560,5.496,1561,3.88,1562,4.333,1563,3.547,1564,5.091,1565,5.496,1566,4.824,1567,5.091,1568,3.814,1569,5.091,1570,5.496,1571,5.496,1572,5.496,1573,4.625,1574,5.496,1575,5.496,1576,5.496,1577,5.496,1578,5.496,1579,5.496,1580,5.496,1581,5.496,1582,3.952,1583,5.496,1584,5.496,1585,3.347,1586,5.496,1587,9.579,1588,5.496,1589,4.219,1590,5.496,1591,5.091,1592,5.496,1593,3.383,1594,5.496,1595,4.465,1596,5.496,1597,5.496,1598,3.248,1599,5.091,1600,5.496,1601,5.496]],["title/interfaces/AuthenticationResponse.html",[159,0.712,1602,6.113]],["body/interfaces/AuthenticationResponse.html",[0,0.182,3,0.01,4,0.01,5,0.005,7,0.073,30,0.001,32,0.065,36,1.113,47,1.031,51,3.767,55,1.067,87,3.946,94,3.971,95,0.115,101,0.007,103,0,104,0,112,0.614,122,1.092,135,1.838,142,1.906,145,2.938,148,1.294,153,1.672,158,1.944,159,0.539,161,1.254,185,1.804,189,4.818,228,1.677,277,0.753,316,2.534,317,1.139,326,2.004,339,2.739,379,5.876,414,6.864,478,1.475,484,3.786,579,2.235,581,6.869,652,2.561,657,1.204,711,3.355,756,2.1,802,3.49,871,3.437,1080,1.825,1176,6.008,1372,2.779,1585,6.731,1602,9.077,1603,4.622,1604,4.622,1605,7.908,1606,9.077,1607,6.585,1608,4.877,1609,4.877,1610,3.862,1611,4.278,1612,4.877,1613,4.431,1614,4.877,1615,4.877,1616,4.622,1617,6.869,1618,4.877,1619,3.241,1620,4.877,1621,4.877,1622,3.786,1623,4.622,1624,4.431,1625,4.278,1626,2.951,1627,6.717,1628,8.198,1629,4.877,1630,4.622,1631,6.869,1632,6.869,1633,4.622,1634,10.728,1635,4.877,1636,4.622,1637,9.7,1638,9.7,1639,11.244,1640,4.877,1641,4.622,1642,9.7,1643,4.877,1644,9.579,1645,4.877,1646,4.877,1647,7.589,1648,4.877,1649,4.877,1650,4.622,1651,4.877,1652,4.877,1653,4.877,1654,4.877,1655,4.877,1656,7.25,1657,4.877,1658,4.622,1659,4.622,1660,3.947,1661,6.869,1662,4.622,1663,4.622,1664,4.622,1665,6.869,1666,4.622,1667,6.869,1668,4.622,1669,4.622,1670,6.869,1671,4.622,1672,4.622,1673,4.877,1674,7.25,1675,3.174,1676,4.877,1677,4.877,1678,4.877,1679,4.877,1680,4.877,1681,4.877,1682,4.877,1683,4.877,1684,4.877,1685,4.877]],["title/injectables/AuthenticationService.html",[589,0.926,1526,5.346]],["body/injectables/AuthenticationService.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.072,8,0.887,21,6.81,27,0.479,29,0.937,30,0.001,31,0.69,32,0.155,33,0.561,34,0.89,35,1.37,36,2.595,47,1.033,48,5.404,51,3.734,59,1.618,66,7.19,73,4.82,74,3.995,77,3.358,83,1.526,87,2.624,94,5.851,95,0.149,101,0.007,103,0,104,0,125,1.24,135,1.5,141,3.325,142,3.358,148,1.011,153,1.778,195,1.144,228,1.846,230,3.45,277,0.744,290,1.235,312,4.568,317,2.84,340,4.885,433,0.953,488,4.568,569,2.411,579,2.215,589,1.031,591,1.235,634,6.93,649,3.277,651,2.64,652,2.091,657,2.515,666,9.171,992,4.82,1381,3.5,1526,5.956,1528,9.706,1537,3.817,1543,4.568,1548,3.901,1553,4.82,1554,4.568,1585,3.17,1605,3.553,1610,3.817,1675,3.137,1686,5.204,1687,7.759,1688,7.759,1689,7.186,1690,7.759,1691,7.759,1692,7.759,1693,5.204,1694,11.532,1695,5.204,1696,7.759,1697,5.204,1698,7.759,1699,8.105,1700,5.204,1701,7.186,1702,5.204,1703,7.759,1704,5.204,1705,7.759,1706,5.204,1707,7.759,1708,5.204,1709,5.204,1710,7.759,1711,5.204,1712,3.995,1713,4.228,1714,3.901,1715,4.568,1716,4.568,1717,7.759,1718,3.817,1719,5.691,1720,4.568,1721,4.379,1722,4.379,1723,2.966,1724,7.313,1725,3.674,1726,5.204,1727,5.204,1728,5.204,1729,4.82,1730,6.953,1731,5.204,1732,5.204,1733,5.204,1734,5.204,1735,7.186,1736,5.204,1737,7.759,1738,7.759,1739,5.204,1740,7.759,1741,4.82,1742,5.204,1743,3.742,1744,7.186,1745,5.204,1746,5.204,1747,5.204,1748,5.204,1749,2.966,1750,5.204,1751,4.103,1752,5.204,1753,5.204,1754,5.204]],["title/classes/AuthenticationValues.html",[0,0.241,1755,6.451]],["body/classes/AuthenticationValues.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.501,29,0.747,30,0.001,31,0.549,32,0.159,33,0.447,47,0.983,101,0.013,103,0.001,104,0.001,112,0.935,232,3.224,433,1.202,435,3.36,1755,12.697,1756,7.688,1757,13.372,1758,9.78,1759,12.848,1760,12.848,1761,11.914,1762,9.78,1763,9.78,1764,9.78,1765,9.78,1766,9.78]],["title/interfaces/AuthorizableObject.html",[159,0.712,1767,3.783]],["body/interfaces/AuthorizableObject.html",[0,0.343,3,0.018,4,0.018,5,0.009,9,4.592,26,2.617,30,0.001,34,2.052,95,0.11,101,0.015,103,0.001,104,0.001,113,3.934,134,3.506,135,1.288,148,1.18,159,1.012,161,2.358,232,2.679,435,4.123,532,4.737,711,3.477,1237,2.868,1767,7.016,1768,9.17,1769,8.69,1770,3.963,1771,10.099,1772,9.17,1773,6.03,1774,11.117]],["title/interfaces/AuthorizationContext.html",[159,0.712,1775,3.812]],["body/interfaces/AuthorizationContext.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,95,0.137,101,0.013,103,0.001,104,0.001,112,0.962,159,1.049,161,2.443,595,3.889,693,6.179,1197,7.803,1775,6.709,1776,9,1777,9.498,1778,8.555,1779,10.255]],["title/classes/AuthorizationContextBuilder.html",[0,0.241,1780,4.198]],["body/classes/AuthorizationContextBuilder.html",[0,0.289,2,0.88,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,27,0.466,29,0.912,30,0.001,31,0.671,32,0.156,33,0.546,35,1.37,95,0.12,101,0.011,103,0.001,104,0.001,135,1.554,148,1.174,183,5.114,467,4.062,507,4.787,595,3.162,652,2.429,693,6.4,1197,7.501,1775,7.458,1778,7.95,1780,6.497,1781,12.626,1782,8.338,1783,6.635,1784,7.248,1785,10.778,1786,8.338,1787,10.778,1788,8.338,1789,10.778,1790,8.338,1791,10.778,1792,5.786,1793,5.527]],["title/classes/AuthorizationError.html",[0,0.241,1794,6.451]],["body/classes/AuthorizationError.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.523,29,0.599,30,0.001,31,0.441,32,0.172,33,0.53,35,0.9,47,0.968,55,1.59,59,3.22,95,0.115,101,0.01,103,0,104,0,112,0.813,155,3.937,190,2.299,228,2.501,231,1.788,233,2.433,277,1.122,402,2.823,433,0.964,436,3.891,868,5.937,871,2.888,998,5.492,1078,5.404,1080,4.445,1115,4.88,1197,4.264,1354,8.686,1355,7.722,1356,7.583,1360,5.203,1361,4.512,1362,5.203,1363,5.203,1364,5.203,1365,5.203,1366,5.203,1367,4.832,1368,4.436,1369,6.188,1374,5.065,1475,4.942,1794,9.597,1795,7.849,1796,8.718,1797,7.849,1798,7.849,1799,6.889,1800,7.27]],["title/injectables/AuthorizationHelper.html",[589,0.926,1801,4.287]],["body/injectables/AuthorizationHelper.html",[0,0.213,3,0.011,4,0.011,5,0.006,7,0.086,8,1.001,27,0.458,29,0.96,30,0.001,31,0.66,32,0.156,33,0.537,35,1.348,47,0.975,95,0.114,96,1.604,101,0.008,103,0,104,0,122,2.713,135,1.673,141,5.391,145,2.306,148,1.236,158,2.268,195,1.35,197,2.447,205,2.563,224,1.78,277,0.879,290,3.353,331,5.222,478,1.721,532,4.716,578,3.22,589,1.164,591,1.457,652,2.075,653,3.602,711,3.929,1778,8.24,1801,5.391,1802,6.144,1803,8.757,1804,10.727,1805,8.757,1806,8.111,1807,8.757,1808,8.757,1809,10.204,1810,12.859,1811,6.144,1812,8.111,1813,6.144,1814,8.757,1815,6.144,1816,8.111,1817,6.144,1818,8.757,1819,9.762,1820,6.144,1821,4.147,1822,5.691,1823,7.686,1824,8.111,1825,5.691,1826,5.243,1827,5.392,1828,8.757,1829,2.633,1830,6.144,1831,4.072,1832,3.915,1833,4.991,1834,4.507,1835,3.157,1836,5.691,1837,5.691,1838,5.278,1839,6.144,1840,6.144,1841,6.144,1842,5.373,1843,6.144,1844,6.144]],["title/interfaces/AuthorizationLoaderService.html",[159,0.712,1845,5.49]],["body/interfaces/AuthorizationLoaderService.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,12,5.352,26,2.768,27,0.377,29,0.738,30,0.001,31,0.543,32,0.12,33,0.441,34,1.652,35,1.108,36,2.701,40,6.185,95,0.148,99,1.947,101,0.015,103,0.001,104,0.001,159,1.209,161,2.302,185,3.31,231,1.667,1767,5.248,1776,10.379,1845,10.074,1846,9.322,1847,8.13,1848,9.662,1849,5.507,1850,6.821,1851,7.417,1852,5.71,1853,3.17,1854,8.13]],["title/interfaces/AuthorizationLoaderServiceGeneric.html",[159,0.712,1854,5.86]],["body/interfaces/AuthorizationLoaderServiceGeneric.html",[3,0.018,4,0.018,5,0.009,7,0.134,8,1.347,12,5.336,26,2.764,27,0.375,29,0.734,30,0.001,31,0.54,32,0.119,33,0.439,34,1.644,35,1.103,36,2.695,40,6.172,95,0.148,99,1.937,101,0.015,103,0.001,104,0.001,159,1.206,161,2.291,185,3.294,231,2.034,1767,5.223,1776,10.349,1845,10.053,1846,9.295,1847,8.091,1849,5.48,1850,6.788,1851,7.382,1852,5.683,1853,3.155,1854,9.921,1855,9.616]],["title/modules/AuthorizationModule.html",[252,1.839,1856,3.969]],["body/modules/AuthorizationModule.html",[0,0.215,3,0.011,4,0.011,5,0.006,30,0.001,95,0.141,101,0.008,103,0,104,0,252,2.707,254,2.231,255,2.368,256,2.428,257,2.419,258,2.41,259,3.725,260,3.811,265,5.687,268,7.466,269,3.451,270,2.385,271,2.336,276,3.451,277,0.887,279,2.571,1027,1.898,1801,7.547,1856,8.452,1857,6.201,1858,6.201,1859,6.201,1860,6.201,1861,10.315,1862,7.221,1863,11.432,1864,11.432,1865,10.315,1866,10.315,1867,9.96,1868,9.19,1869,9.96,1870,10.315,1871,10.315,1872,9.96,1873,10.315,1874,10.315,1875,10.315,1876,10.315,1877,9.96,1878,10.315,1879,10.315,1880,10.315,1881,6.201,1882,5.217,1883,2.328,1884,6.201,1885,3.817,1886,4.888]],["title/classes/AuthorizationParams.html",[0,0.241,1887,5.658]],["body/classes/AuthorizationParams.html",[0,0.385,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,27,0.518,30,0.001,32,0.164,33,0.638,47,1.025,95,0.124,101,0.011,103,0.001,104,0.001,112,0.874,190,2.381,200,2.685,289,7.097,299,5.2,300,5.09,442,9.048,454,7.129,856,6.802,899,4.01,998,5.794,1080,4.241,1887,9.048,1888,8.776,1889,9.644,1890,11.332,1891,8.128,1892,8.776,1893,11.332,1894,8.128,1895,8.776,1896,8.776,1897,8.776,1898,8.776,1899,8.128,1900,5.737,1901,8.128,1902,8.128]],["title/modules/AuthorizationReferenceModule.html",[252,1.839,1903,5.109]],["body/modules/AuthorizationReferenceModule.html",[0,0.221,3,0.012,4,0.012,5,0.006,30,0.001,72,4.129,95,0.145,101,0.008,103,0,104,0,157,1.476,252,3.356,254,2.294,255,2.436,256,2.497,257,2.488,258,2.479,259,3.783,260,3.87,265,5.739,268,7.535,269,3.521,270,2.453,271,2.402,276,3.521,277,0.912,279,2.644,289,5.216,339,3.316,412,5.023,543,4.376,1027,1.952,1224,6.466,1475,5.662,1531,8.734,1801,7.617,1829,2.734,1856,7.399,1883,2.394,1903,10.725,1904,6.378,1905,6.378,1906,6.378,1907,6.378,1908,8.734,1909,10.766,1910,9.498,1911,7.617,1912,10.052,1913,9.076,1914,9.498,1915,8.734,1916,8.586,1917,6.378,1918,6.378,1919,6.24,1920,8.992,1921,5.96,1922,6.24,1923,8.992,1924,6.047,1925,6.24,1926,5.476,1927,7.606,1928,5.314,1929,6.596,1930,6.466,1931,8.329,1932,6.74,1933,4.502,1934,6.903,1935,5.028,1936,7.606,1937,3.004,1938,6.378,1939,3.39,1940,6.378,1941,4.17,1942,6.378]],["title/injectables/AuthorizationReferenceService.html",[589,0.926,1909,5.49]],["body/injectables/AuthorizationReferenceService.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,8,1.104,26,2.927,27,0.429,29,0.84,30,0.001,31,0.618,32,0.146,33,0.503,35,1.108,36,2.499,39,3.282,95,0.142,99,1.425,101,0.009,103,0,104,0,135,1.257,148,0.695,153,1.144,157,1.638,183,5.158,185,3.31,228,1.735,252,2.551,277,1.012,290,1.678,317,2.765,400,2.074,412,4.292,433,0.869,561,4.352,579,2.02,589,1.285,591,1.678,613,5.555,652,1.439,657,2.21,711,3.702,736,6.556,980,3.902,1080,2.452,1475,6.085,1775,7.16,1838,5.824,1846,7.617,1862,6.952,1909,7.617,1912,9.608,1943,11.826,1944,6.553,1945,7.85,1946,8.481,1947,9.663,1948,11.005,1949,11.005,1950,7.075,1951,7.075,1952,7.075,1953,9.235,1954,7.075,1955,7.075,1956,7.075,1957,5.577,1958,7.075,1959,6.553,1960,7.075,1961,6.209,1962,4.222,1963,7.075,1964,5.577]],["title/injectables/AuthorizationService.html",[589,0.926,1862,3.702]],["body/injectables/AuthorizationService.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,8,0.908,26,2.116,27,0.483,29,0.946,30,0.001,31,0.696,32,0.157,33,0.566,35,1.384,36,1.679,39,1.491,47,0.971,95,0.143,99,1.082,101,0.007,103,0,104,0,122,2.419,135,1.23,148,1.026,153,1.528,183,4.916,185,4.409,195,1.18,228,1.697,268,7.351,277,0.768,279,2.227,290,3.367,317,2.045,433,0.976,478,1.505,569,3.626,579,2.698,589,1.056,591,1.274,610,2.118,641,3.061,652,1.922,657,1.228,711,4.059,1080,1.862,1767,6.556,1775,6.606,1778,8.607,1801,7.43,1804,6.971,1806,7.357,1812,7.357,1816,7.357,1829,3.404,1838,6.294,1849,3.061,1852,7.133,1853,1.762,1862,4.221,1873,9.816,1946,4.714,1957,7.45,1965,5.371,1966,7.943,1967,7.943,1968,5.826,1969,9.451,1970,5.371,1971,5.371,1972,7.943,1973,5.371,1974,7.943,1975,5.371,1976,7.943,1977,5.371,1978,7.943,1979,5.371,1980,5.371,1981,5.371,1982,5.062,1983,5.371,1984,6.355,1985,5.371,1986,4.889,1987,4.364,1988,5.371,1989,5.371,1990,5.371,1991,5.371,1992,5.371,1993,5.193,1994,7.943,1995,3.94,1996,5.371,1997,7.943,1998,4.234]],["title/injectables/AutoContextIdStrategy.html",[589,0.926,1999,6.113]],["body/injectables/AutoContextIdStrategy.html",[0,0.32,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,27,0.361,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.062,47,0.847,95,0.146,101,0.012,103,0.001,104,0.001,125,2.744,148,0.91,183,4.789,277,1.324,417,6.457,589,1.531,591,2.197,614,3.571,703,2.841,1237,2.683,1756,6.623,1999,10.111,2000,9.359,2001,9.359,2002,8.578,2003,9.359,2004,9.359,2005,7.173,2006,7.313,2007,8.578,2008,5.739,2009,9.082,2010,6.139,2011,7.792,2012,8.578]],["title/injectables/AutoContextNameStrategy.html",[589,0.926,2013,6.113]],["body/injectables/AutoContextNameStrategy.html",[0,0.214,3,0.011,4,0.011,5,0.006,7,0.086,8,1.005,26,2.553,27,0.435,29,0.851,30,0.001,31,0.627,32,0.138,33,0.51,35,1.174,36,2.588,47,0.82,95,0.15,99,1.245,101,0.008,103,0,104,0,125,2.095,129,1.831,135,1.594,148,1.158,153,1,183,4.677,228,1.839,277,0.884,317,2.835,417,6.605,433,1.081,478,1.732,579,1.765,589,1.169,591,1.466,614,2.727,652,2.665,657,2.801,703,1.897,1080,2.143,1237,1.791,1393,5.013,1756,6.775,1853,2.028,1933,4.364,2000,9.574,2001,9.574,2003,8.318,2004,5.022,2005,6.509,2006,6.605,2008,4.381,2009,6.933,2010,4.097,2011,5.201,2013,7.719,2014,6.182,2015,8.795,2016,8.795,2017,5.426,2018,8.118,2019,9.243,2020,9.445,2021,6.182,2022,8.795,2023,6.182,2024,4.873,2025,8.795,2026,6.182,2027,3.026,2028,6.182,2029,4.634,2030,7.145,2031,4.289,2032,5.198,2033,3.883,2034,4.445,2035,3.41,2036,3.043,2037,7.719,2038,3.939,2039,5.201,2040,4.364,2041,8.795,2042,6.182,2043,5.201,2044,8.795,2045,6.182,2046,6.182,2047,4.634,2048,4.445,2049,2.523,2050,6.182,2051,2.616,2052,6.182,2053,6.182,2054,4.634,2055,6.103,2056,6.182]],["title/interfaces/AutoParameterStrategy.html",[159,0.712,2009,5.49]],["body/interfaces/AutoParameterStrategy.html",[3,0.018,4,0.018,5,0.009,7,0.133,8,1.343,27,0.373,29,0.731,30,0.001,31,0.538,32,0.118,33,0.437,35,1.098,36,2.485,47,0.864,95,0.131,101,0.012,103,0.001,104,0.001,125,2.8,159,0.979,161,2.28,183,3.655,417,6.589,614,3.645,703,2.936,1756,6.759,2000,9.551,2001,9.551,2003,10.339,2004,7.775,2005,7.371,2006,7.364,2008,5.856,2009,9.268,2057,9.57,2058,9.57]],["title/injectables/AutoSchoolIdStrategy.html",[589,0.926,2059,6.113]],["body/injectables/AutoSchoolIdStrategy.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,8,1.296,27,0.352,29,0.69,30,0.001,31,0.507,32,0.112,33,0.413,35,1.036,47,0.833,95,0.145,101,0.012,103,0.001,104,0.001,125,2.702,148,0.888,183,3.449,277,1.292,417,6.356,571,3.575,589,1.508,591,2.143,614,3.516,703,3.804,1086,4.3,1087,4.168,1088,4.233,1089,4.499,1090,4.906,1237,2.616,1756,6.52,2000,9.214,2001,9.214,2002,8.366,2003,10.073,2004,7.338,2005,7.266,2006,7.273,2007,8.366,2008,5.65,2009,8.94,2010,5.987,2011,7.6,2059,9.954,2060,6.625,2061,6.495,2062,7.927]],["title/injectables/AutoSchoolNumberStrategy.html",[589,0.926,2063,6.113]],["body/injectables/AutoSchoolNumberStrategy.html",[0,0.288,3,0.015,4,0.015,5,0.007,7,0.116,8,1.23,27,0.42,29,0.822,30,0.001,31,0.605,32,0.133,33,0.492,35,0.954,36,2.275,95,0.149,101,0.011,103,0.001,104,0.001,135,1.083,148,0.818,183,3.178,228,1.494,277,1.19,317,2.581,400,2.44,417,6.687,433,1.022,571,3.294,589,1.431,591,1.974,614,3.337,657,1.903,703,4.106,1086,3.961,1087,3.84,1088,3.899,1089,4.145,1090,4.52,1237,2.41,1756,6.859,1853,2.73,2000,9.693,2001,9.693,2003,9.693,2004,6.76,2005,7.113,2006,7.139,2008,5.362,2009,8.485,2010,5.515,2011,7.001,2060,6.103,2061,5.983,2063,9.447,2064,8.321,2065,7.303,2066,8.362,2067,8.321,2068,7.469,2069,8.321,2070,4.486,2071,6.361,2072,7.707,2073,7.001]],["title/classes/AxiosErrorFactory.html",[0,0.241,2074,6.451]],["body/classes/AxiosErrorFactory.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.342,29,0.67,30,0.001,31,0.626,33,0.401,95,0.143,101,0.011,103,0.001,104,0.001,135,1.142,148,1.203,153,1.419,158,3.239,193,3.827,195,1.928,231,1.922,277,1.255,339,2.573,402,4.401,516,6.502,575,5.045,871,4.098,998,4.156,1080,3.86,1115,3.34,1169,5.09,1368,4.959,1375,9.392,1477,4.48,2074,11.332,2075,10.316,2076,8.776,2077,11.137,2078,11.137,2079,8.776,2080,8.128,2081,7.129,2082,7.384,2083,10.316,2084,5.817,2085,6.089,2086,11.137,2087,8.776,2088,3.761,2089,8.128,2090,8.776,2091,7.384,2092,8.128,2093,8.776,2094,8.776,2095,11.137]],["title/classes/AxiosErrorLoggable.html",[0,0.241,2096,5.86]],["body/classes/AxiosErrorLoggable.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.434,29,0.67,30,0.001,31,0.493,32,0.164,33,0.401,35,1.006,47,0.899,95,0.136,101,0.011,103,0.001,104,0.001,113,3.487,148,0.863,228,2,231,1.922,277,1.255,339,2.573,400,2.573,433,1.078,1027,2.685,1115,3.34,1237,3.226,1368,4.959,1422,4.898,1423,5.704,1426,5.715,1468,5.704,1469,5.988,1477,4.48,2082,11.419,2084,5.817,2096,9.371,2097,12.235,2098,8.776,2099,9.171,2100,8.776,2101,8.776,2102,8.776,2103,8.776,2104,8.776,2105,7.384,2106,6.918,2107,8.776,2108,8.776,2109,3.845,2110,8.776,2111,8.776]],["title/classes/AxiosResponseImp.html",[0,0.241,2112,6.451]],["body/classes/AxiosResponseImp.html",[0,0.265,2,0.808,3,0.014,4,0.014,5,0.007,7,0.107,27,0.51,29,0.584,30,0.001,31,0.43,32,0.168,33,0.35,47,0.897,55,2.321,95,0.114,101,0.013,103,0,104,0,112,0.799,135,0.996,148,0.752,153,1.853,232,2.758,333,5.147,339,3.729,402,4.575,433,0.94,435,2.63,501,4.158,532,4.201,571,3.03,576,4.524,881,4.189,1086,3.644,1087,3.533,1088,3.587,1089,3.813,1090,4.158,1169,7.586,1237,2.952,2075,12.364,2080,7.09,2083,11.78,2084,5.074,2088,5.451,2112,10.61,2113,7.09,2114,8.237,2115,12.718,2116,12.718,2117,10.19,2118,12.213,2119,7.655,2120,7.655,2121,7.655,2122,7.655,2123,10.19,2124,10.19,2125,4.012,2126,7.655,2127,4.481,2128,5.226,2129,7.655,2130,7.655,2131,7.655,2132,7.655,2133,6.219,2134,7.09,2135,5.404,2136,7.09]],["title/classes/BBBBaseMeetingConfig.html",[0,0.241,2137,5.221]],["body/classes/BBBBaseMeetingConfig.html",[0,0.348,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.472,29,0.767,30,0.001,31,0.565,32,0.15,33,0.459,47,0.89,101,0.013,103,0.001,104,0.001,112,0.95,433,1.235,2088,4.307,2137,10.353,2138,6.861,2139,11.41,2140,7.409,2141,10.049,2142,9.348,2143,10.63,2144,10.049,2145,10.049,2146,9.308,2147,8.82]],["title/interfaces/BBBBaseResponse.html",[159,0.712,2148,4.917]],["body/interfaces/BBBBaseResponse.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,47,1.032,95,0.113,101,0.013,103,0.001,104,0.001,112,0.953,159,1.033,161,2.406,1115,5.144,2138,5.33,2148,8.575,2149,8.498,2150,10.1,2151,13.519,2152,13.519,2153,12.521,2154,6.151,2155,7.962]],["title/classes/BBBCreateConfig.html",[0,0.241,2156,5.86]],["body/classes/BBBCreateConfig.html",[0,0.242,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.536,29,0.534,30,0.001,31,0.757,32,0.17,33,0.651,47,1.027,95,0.078,101,0.012,103,0,104,0,112,0.752,122,2.439,231,1.653,433,0.859,436,2.064,886,2.213,2088,2.995,2137,8.819,2138,7.263,2139,12.078,2140,3.983,2142,6.89,2143,8.41,2146,6.473,2147,6.134,2154,4.256,2156,10.372,2157,6.989,2158,10.935,2159,10.935,2160,11.175,2161,7.248,2162,10.935,2163,9.463,2164,5.718,2165,10.935,2166,10.935,2167,10.129,2168,6.989,2169,6.989,2170,6.989,2171,6.989,2172,6.989,2173,6.989,2174,6.989,2175,6.989,2176,6.989,2177,6.989,2178,6.473,2179,6.473,2180,9.582,2181,9.582,2182,9.582,2183,6.473,2184,2.766,2185,6.989,2186,5.365,2187,6.989,2188,6.989,2189,6.989,2190,6.989,2191,6.989,2192,6.989,2193,6.989,2194,6.989,2195,6.989,2196,6.989,2197,6.989,2198,6.989,2199,6.989]],["title/classes/BBBCreateConfigBuilder.html",[0,0.241,2200,6.113]],["body/classes/BBBCreateConfigBuilder.html",[0,0.247,2,0.752,3,0.013,4,0.013,5,0.006,7,0.099,8,1.109,27,0.499,29,0.906,30,0.001,31,0.697,32,0.154,33,0.542,35,1.423,47,0.963,95,0.123,101,0.009,102,3.787,103,0,104,0,112,0.762,113,3.858,122,2.29,130,2.989,148,1.22,193,3.108,195,1.566,228,1.744,231,1.675,436,2.868,507,5.268,531,3.735,532,2.613,567,2.657,734,5.397,812,4.541,1080,2.47,1476,4.295,2138,6.55,2154,4.339,2156,9.294,2160,11.241,2161,6.436,2163,5.469,2164,3.305,2167,8.994,2200,12.007,2201,11.496,2202,6.6,2203,8.373,2204,8.17,2205,9.71,2206,9.71,2207,9.71,2208,9.71,2209,6.6,2210,7.125,2211,9.71,2212,7.125,2213,9.71,2214,7.125,2215,9.71,2216,7.125,2217,9.71,2218,7.125,2219,3.194,2220,3.592,2221,3.468,2222,4.486,2223,5.341,2224,7.125,2225,7.125,2226,7.125,2227,7.125,2228,7.125,2229,6.253,2230,5.226,2231,5.995,2232,4.061,2233,4.339,2234,4.865,2235,5.617,2236,7.125,2237,5.788,2238,7.125,2239,6.6,2240,7.125,2241,7.125]],["title/interfaces/BBBCreateResponse.html",[159,0.712,2242,6.113]],["body/interfaces/BBBCreateResponse.html",[3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.175,47,1.066,55,2.846,95,0.096,101,0.011,103,0.001,104,0.001,112,0.865,122,2.803,159,0.884,161,2.059,231,1.903,2138,4.562,2142,9.202,2148,8.576,2149,7.272,2154,5.264,2242,9.681,2243,8.643,2244,11.853,2245,11.853,2246,11.853,2247,11.231,2248,11.853,2249,11.853,2250,11.853,2251,11.853,2252,11.853,2253,7.272]],["title/classes/BBBJoinConfig.html",[0,0.241,2254,5.86]],["body/classes/BBBJoinConfig.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.529,29,0.625,30,0.001,31,0.46,32,0.168,33,0.62,39,3.285,47,0.997,95,0.091,101,0.014,103,0.001,104,0.001,112,0.835,122,2.208,231,1.838,242,4.32,331,5.257,433,1.006,436,2.418,886,2.592,2088,3.508,2137,9.397,2138,7.161,2139,11.908,2140,4.665,2142,7.658,2143,9.347,2154,4.985,2178,7.582,2179,7.582,2183,7.582,2223,8.873,2254,10.936,2255,8.185,2256,10.39,2257,11.838,2258,8.512,2259,8.185,2260,8.185,2261,8.185,2262,8.185,2263,8.185,2264,8.185,2265,9.347,2266,10.65,2267,8.185,2268,8.185,2269,6.004,2270,8.185,2271,8.185,2272,8.185,2273,8.185,2274,7.184,2275,8.185]],["title/classes/BBBJoinConfigBuilder.html",[0,0.241,2276,6.113]],["body/classes/BBBJoinConfigBuilder.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,8,1.217,27,0.507,29,0.904,30,0.001,31,0.665,32,0.155,33,0.541,35,1.438,47,0.87,95,0.119,101,0.01,103,0.001,104,0.001,112,0.835,113,4.231,122,2.454,130,3.606,148,1.164,228,1.912,231,1.838,436,3.146,507,5.257,532,3.906,2138,6.617,2201,11.613,2202,7.582,2203,8.711,2204,8.961,2209,7.582,2223,9.397,2254,6.887,2276,12.073,2277,9.624,2278,10.65,2279,9.864,2280,9.864,2281,10.65,2282,8.185,2283,10.65,2284,8.185,2285,10.65,2286,8.185,2287,8.185,2288,8.185,2289,8.185,2290,8.185,2291,8.185,2292,8.185]],["title/interfaces/BBBJoinResponse.html",[159,0.712,2293,6.451]],["body/interfaces/BBBJoinResponse.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.169,47,1.077,95,0.107,101,0.012,103,0.001,104,0.001,110,4.615,112,0.922,159,0.979,161,2.28,231,2.029,2138,5.051,2148,8.983,2149,8.052,2154,5.828,2253,8.052,2293,10.89,2294,8.864,2295,13.273,2296,13.273,2297,13.273,2298,10.463]],["title/interfaces/BBBMeetingInfoResponse.html",[159,0.712,2299,5.49]],["body/interfaces/BBBMeetingInfoResponse.html",[3,0.012,4,0.012,5,0.006,7,0.088,30,0.001,32,0.18,33,0.514,39,1.751,47,1.049,55,2.964,95,0.07,101,0.008,103,0,104,0,112,0.7,122,2.95,131,5.746,158,2.329,159,0.645,161,1.503,172,5.262,231,1.539,331,2.802,514,3.426,2138,3.329,2142,8.093,2148,7.308,2149,5.307,2154,3.842,2244,10.425,2245,10.425,2246,10.425,2247,9.878,2248,10.425,2249,10.425,2250,10.425,2251,5.843,2252,10.425,2253,5.307,2256,5.536,2299,7.033,2300,5.843,2301,4.973,2302,11.255,2303,11.875,2304,11.255,2305,9.878,2306,11.255,2307,11.255,2308,11.255,2309,11.255,2310,11.255,2311,11.255,2312,11.255,2313,8.255,2314,9.878,2315,11.255,2316,11.255,2317,5.843,2318,6.308,2319,6.308,2320,6.308,2321,6.308,2322,6.308,2323,6.308]],["title/interfaces/BBBResponse.html",[159,0.712,2324,5.346]],["body/interfaces/BBBResponse.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.131,95,0.118,101,0.014,103,0.001,104,0.001,112,0.981,159,1.085,161,2.527,532,4.878,871,5.055,2138,5.598,2148,7.488,2154,6.46,2253,8.924,2324,9.601,2325,10.607]],["title/injectables/BBBService.html",[589,0.926,2326,5.346]],["body/injectables/BBBService.html",[0,0.121,3,0.006,4,0.006,5,0.003,7,0.049,8,0.65,27,0.464,29,0.951,30,0.001,31,0.656,32,0.141,33,0.507,35,1.485,36,2.468,47,0.996,95,0.13,101,0.004,103,0,104,0,110,4.211,113,4.731,135,1.656,142,1.267,148,1.224,153,1.845,157,0.81,185,3.528,193,1.526,228,1.292,277,0.5,317,1.556,326,2.166,339,1.669,388,4.758,433,0.699,527,2.419,531,4.344,579,2.79,589,0.757,591,0.83,641,1.994,652,2.095,657,0.8,688,1.631,734,3.493,735,2.576,812,3.627,871,1.287,1053,7.033,1054,1.977,1056,2.258,1169,2.03,1295,4.789,1312,4.604,1313,2.389,1314,2.567,1343,4.789,1372,3.004,1390,3.543,1718,4.175,2084,2.319,2088,4.601,2114,5.959,2125,1.834,2137,9.079,2138,6.392,2142,2.516,2147,3.071,2148,2.47,2153,3.241,2154,7.377,2156,9.033,2230,4.175,2233,3.466,2234,3.886,2235,4.486,2242,3.071,2254,7.673,2277,7.502,2299,2.758,2300,9.944,2324,7.502,2326,4.369,2327,3.499,2328,3.584,2329,5.691,2330,5.691,2331,5.272,2332,5.691,2333,4.032,2334,5.844,2335,8.004,2336,3.499,2337,6.733,2338,8.667,2339,3.499,2340,6.314,2341,5.691,2342,3.499,2343,5.959,2344,5.691,2345,3.466,2346,5.272,2347,5.691,2348,5.691,2349,3.499,2350,4.995,2351,5.691,2352,9.742,2353,11.534,2354,3.499,2355,5.272,2356,4.995,2357,9.773,2358,3.272,2359,8.287,2360,5.691,2361,3.499,2362,5.691,2363,3.499,2364,5.691,2365,3.499,2366,7.274,2367,5.691,2368,5.691,2369,3.499,2370,3.19,2371,5.691,2372,3.499,2373,4.995,2374,4.175,2375,3.499,2376,3.499,2377,3.499,2378,3.499,2379,3.499,2380,3.499,2381,3.499,2382,2.758,2383,7.907,2384,2.944,2385,3.499,2386,3.499,2387,3.499,2388,3.499,2389,6.733,2390,3.499,2391,8.287,2392,5.691,2393,1.341,2394,3.499,2395,3.499,2396,3.499,2397,7.194,2398,6.663,2399,9.773,2400,5.691,2401,5.272,2402,7.194,2403,7.194,2404,7.194,2405,7.194,2406,6.663,2407,6.663,2408,3.499,2409,3.499,2410,3.499,2411,3.499,2412,5.272,2413,3.499,2414,3.499,2415,3.499,2416,3.499,2417,4.995,2418,5.272,2419,3.499,2420,3.499,2421,3.499,2422,3.499,2423,3.499,2424,3.499,2425,3.499,2426,3.499,2427,3.499,2428,3.499,2429,3.241,2430,3.241,2431,3.499,2432,3.241,2433,3.499]],["title/classes/BaseDO.html",[0,0.241,1852,4.116]],["body/classes/BaseDO.html",[0,0.349,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,9,4.685,27,0.473,29,0.771,30,0.001,31,0.567,32,0.15,33,0.595,34,2.365,47,1.016,59,3.139,101,0.013,102,5.368,103,0.001,104,0.001,112,0.953,113,4.826,433,1.241,458,4.028,1852,7.179,2434,10.1,2435,8.294,2436,12.148]],["title/injectables/BaseDORepo.html",[589,0.926,2437,4.833]],["body/injectables/BaseDORepo.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.063,8,0.797,9,5.454,10,4.155,12,3.157,18,3.496,26,2.496,27,0.496,29,0.957,30,0.001,31,0.704,32,0.155,33,0.573,34,1.768,35,1.413,36,2.69,40,3.377,95,0.127,96,1.821,97,1.825,99,0.912,101,0.006,102,2.404,103,0,104,0,112,0.547,113,4.524,125,1.078,135,1.696,148,1.119,153,0.732,185,2.917,205,2.226,206,2.276,224,1.31,228,1.253,277,0.647,317,2.913,412,2.009,430,2.87,431,2.99,433,0.556,478,1.267,569,1.406,579,1.292,589,0.927,591,1.073,615,4.249,616,8.4,652,2.454,657,2.604,729,4.764,735,3.157,736,5.379,766,2.422,781,3.971,812,2.883,863,3.848,1027,1.384,1312,2.131,1770,4.707,1829,1.939,1852,2.674,1853,1.484,1995,3.318,2140,3.976,2370,2.536,2437,4.841,2438,4.524,2439,5.017,2440,4.925,2441,4.925,2442,5.017,2443,5.017,2444,4.925,2445,3.253,2446,5.199,2447,3.559,2448,4.485,2449,4.524,2450,5.017,2451,5.017,2452,4.524,2453,5.017,2454,4.524,2455,4.561,2456,4.764,2457,5.017,2458,4.524,2459,4.524,2460,5.017,2461,4.524,2462,3.139,2463,8.697,2464,4.925,2465,6.728,2466,4.524,2467,5.017,2468,8.674,2469,4.524,2470,5.017,2471,4.524,2472,4.205,2473,4.343,2474,4.692,2475,4.524,2476,5.017,2477,4.524,2478,4.524,2479,5.032,2480,6.977,2481,3.473,2482,3.089,2483,3.971,2484,3.139,2485,8.516,2486,4.524,2487,4.524,2488,3.318,2489,4.524,2490,4.524,2491,4.524,2492,3.566,2493,4.524,2494,4.524,2495,4.524,2496,4.524,2497,6.123,2498,6.641,2499,4.524,2500,4.524,2501,4.524,2502,4.524,2503,6.977,2504,3.807,2505,6.977,2506,6.977,2507,6.977,2508,6.977,2509,4.524,2510,4.524,2511,3.675,2512,2.7,2513,2.578,2514,4.19,2515,4.524,2516,3.675,2517,3.391,2518,4.524,2519,4.524,2520,4.524,2521,4.524,2522,3.675,2523,4.524,2524,3.675,2525,4.524]],["title/classes/BaseDomainObject.html",[0,0.241,2526,6.451]],["body/classes/BaseDomainObject.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,9,6.38,27,0.386,30,0.001,32,0.123,34,2.209,47,0.882,95,0.11,101,0.013,102,6.379,103,0.001,104,0.001,112,0.942,159,1.012,185,3.391,1197,5.378,1237,3.477,1767,7.016,1769,8.69,1883,4.849,2526,11.117,2527,12.003,2528,9.901,2529,9.17,2530,6.989,2531,5.338,2532,8.043,2533,9.17,2534,9.901]],["title/classes/BaseEntity.html",[0,0.241,2482,4.755]],["body/classes/BaseEntity.html",[0,0.397,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,9,4.739,27,0.398,30,0.001,32,0.158,33,0.351,34,2.239,47,0.843,49,4.607,72,3.529,83,3.365,95,0.136,96,2.667,97,3.099,101,0.016,103,0,104,0,112,0.959,135,1,153,1.856,159,0.786,185,2.632,190,2.057,205,2.082,206,2.507,223,3.577,224,2.226,225,3.915,412,3.413,430,4.72,431,4.919,512,3.923,561,3.461,789,7.166,794,5.636,802,5.093,816,5.332,985,4.457,998,3.639,1097,5.424,1237,3.324,1767,6.644,1829,3.293,1883,2.884,2230,5.636,2473,4.783,2482,7.836,2483,6.744,2535,7.117,2536,9.047,2537,10.292,2538,7.684,2539,11.33,2540,7.684,2541,9.463,2542,6.465,2543,4.838,2544,5.636,2545,6.465,2546,6.243,2547,6.465,2548,6.465,2549,7.117,2550,4.631,2551,4.959,2552,5.332,2553,4.838,2554,7.117,2555,6.243,2556,7.117,2557,5.167,2558,6.465,2559,6.744,2560,7.117,2561,6.744,2562,7.117]],["title/classes/BaseEntityWithTimestamps.html",[0,0.241,225,2.669]],["body/classes/BaseEntityWithTimestamps.html",[0,0.383,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,9,4.515,27,0.484,30,0.001,32,0.159,33,0.543,34,2.192,47,0.813,49,4.474,72,3.284,83,3.644,95,0.132,96,2.541,97,2.884,101,0.015,103,0,104,0,112,0.932,129,2.882,130,2.634,135,0.93,153,2.01,159,0.731,185,2.449,190,2.228,205,1.984,206,2.333,223,3.702,224,2.071,225,4.241,412,3.176,430,5.273,431,5.495,512,3.651,561,3.221,789,7.017,794,5.245,802,4.739,816,4.962,985,4.148,998,3.386,1097,5.048,1237,3.205,1767,6.452,1829,3.065,1883,2.684,2230,5.245,2473,4.451,2482,6.646,2483,6.276,2535,6.623,2536,7.673,2537,9.995,2539,11.003,2541,11.003,2542,6.016,2543,4.502,2544,5.245,2545,6.016,2546,5.809,2547,6.016,2548,6.016,2549,6.623,2550,4.31,2551,4.614,2552,4.962,2553,4.502,2554,6.623,2555,5.809,2556,6.623,2557,4.808,2558,6.016,2559,6.276,2560,6.623,2561,6.276,2562,6.623,2563,7.15,2564,7.15,2565,7.15,2566,7.15,2567,7.15,2568,7.15]],["title/classes/BaseFactory.html",[0,0.241,501,3.783]],["body/classes/BaseFactory.html",[0,0.238,2,0.346,3,0.006,4,0.006,5,0.003,7,0.046,8,0.617,27,0.471,29,0.976,30,0.001,31,0.643,32,0.158,33,0.523,34,1.713,35,1.439,47,0.505,49,1.235,55,2.262,59,2.739,95,0.06,101,0.004,103,0,104,0,112,0.625,113,4.308,127,4.749,129,3.461,130,3.097,135,1.649,145,2.026,148,1.066,153,1.924,157,1.845,159,0.552,172,3.402,185,2.73,192,1.809,205,2.605,206,2.6,228,1.431,326,4.722,374,4.115,388,4.786,400,0.961,433,0.845,435,3.027,467,2.002,501,2.931,502,6.72,505,3,506,5.269,507,5.444,508,3,509,3,510,3,511,2.954,512,4.499,513,4.431,514,6.065,515,6.111,516,7.491,522,1.823,523,3.823,525,5.251,526,5.402,527,3.744,528,5.083,529,4.86,530,1.823,531,1.719,532,4.688,533,1.743,534,1.719,535,3,537,5.187,538,3,539,6.814,540,4.011,541,6.615,543,4.612,544,3,546,1.823,548,3,550,3.159,551,1.823,552,6.263,554,1.823,555,5.819,556,4.044,557,4.431,559,5.402,560,3.655,561,2.431,562,3,563,4.431,564,3,567,2.012,568,3,569,1.677,571,4.143,572,3,575,1.885,655,2.664,789,1.795,804,2.458,1086,3.795,1087,3.679,1088,3.735,1089,3.97,1090,3.736,1091,2.173,1103,2.517,1167,6.443,1658,2.878,2135,3.81,2569,3.279,2570,3.483,2571,5.397,2572,3.279,2573,5.397,2574,3.279,2575,3.279,2576,3.279,2577,3.279,2578,3.279,2579,3.279,2580,3.279,2581,3.279,2582,3.279,2583,3.279,2584,3.279,2585,3.279,2586,4.999,2587,4.143,2588,3.398,2589,3.279,2590,3.279,2591,3.279,2592,3.279,2593,3.279,2594,3.037,2595,5.397,2596,5.397,2597,3.279,2598,3.279,2599,7.971,2600,3.279,2601,10.466,2602,7.971,2603,3.279,2604,3.279,2605,3.279,2606,3.279,2607,3.279,2608,3.253,2609,3.279,2610,3.279,2611,3.279,2612,3.279,2613,3.279]],["title/classes/BaseProvisioningOptions.html",[0,0.241,2614,6.113]],["body/classes/BaseProvisioningOptions.html",[0,0.311,2,0.949,3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,9,6.022,27,0.441,29,0.863,30,0.001,31,0.635,32,0.14,33,0.517,35,1.031,47,0.661,95,0.1,101,0.012,103,0.001,104,0.001,122,1.864,135,1.61,148,0.884,153,1.829,159,0.92,435,3.089,532,4.906,567,4.841,711,3.584,2614,9.926,2615,7.051,2616,12.373,2617,7.702,2618,7.892,2619,7.207,2620,10.476,2621,9.523,2622,8.992,2623,7.848,2624,10.476,2625,8.992,2626,8.992,2627,8.992,2628,8.992,2629,8.992,2630,11.31,2631,8.992,2632,8.992,2633,8.992,2634,8.992]],["title/injectables/BaseRepo.html",[589,0.926,728,4.04]],["body/injectables/BaseRepo.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.078,9,4.377,10,3.792,12,4.27,18,4.729,26,2.362,27,0.493,29,0.934,30,0.001,31,0.687,32,0.151,33,0.559,34,1.613,35,1.337,36,2.833,40,4.567,49,4.39,95,0.141,96,2.463,97,2.757,99,1.377,101,0.009,103,0,104,0,135,0.889,148,0.927,157,1.582,205,1.923,206,3.078,224,1.98,228,1.227,277,0.977,317,2.9,433,0.84,478,1.915,532,5.211,574,3.83,589,1.254,591,1.621,619,6.785,657,2.158,728,5.473,734,3.977,735,4.27,736,6.021,759,5.631,761,5.687,764,5.687,766,3.658,1832,6.013,1883,3.542,1921,6.254,1922,6.547,2370,3.83,2437,6.547,2445,4.914,2446,6.331,2450,6.785,2479,5.576,2482,4.666,2484,4.742,2516,5.552,2635,6.834,2636,5.705,2637,8.74,2638,9.436,2639,9.436,2640,8.74,2641,5.747,2642,6.443,2643,6.443,2644,6.834,2645,6.834,2646,6.834,2647,6.834,2648,6.834,2649,6.834,2650,6.834,2651,6.834,2652,6.834]],["title/interfaces/BaseResponseMapper.html",[159,0.712,2653,5.109]],["body/interfaces/BaseResponseMapper.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,27,0.461,29,0.903,30,0.001,31,0.664,32,0.165,33,0.54,35,1.356,95,0.132,100,3.37,101,0.012,103,0.001,104,0.001,122,2.452,159,0.988,161,2.302,532,5.098,830,6.574,1853,3.17,2049,4.826,2653,8.674,2654,12.78,2655,9.662,2656,9.078,2657,9.078,2658,9.662,2659,8.864,2660,9.662,2661,10.382,2662,4.6]],["title/classes/BaseUc.html",[0,0.241,2663,5.346]],["body/classes/BaseUc.html",[0,0.228,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,9,3.055,26,2.729,27,0.447,29,0.876,30,0.001,31,0.644,32,0.142,33,0.524,35,1.215,36,2.424,39,3.349,59,2.047,95,0.134,99,1.327,101,0.008,103,0,104,0,113,5.408,135,1.57,148,1.042,153,1.488,183,3.513,195,1.448,197,1.841,228,1.652,277,0.942,290,1.563,317,2.877,331,2.926,433,1.13,543,3.206,579,2.626,610,2.598,657,2.623,693,2.996,1197,7.11,1778,4.148,1793,4.366,1829,2.823,1853,2.161,1862,6.644,1886,5.193,1919,4.571,1962,3.931,1968,7.774,2051,2.788,2513,3.754,2662,6.412,2663,7.061,2664,6.587,2665,7.251,2666,7.251,2667,4.737,2668,8.903,2669,6.587,2670,5.057,2671,8.852,2672,9.226,2673,6.587,2674,7.251,2675,7.735,2676,6.587,2677,7.251,2678,7.482,2679,6.587,2680,3.025,2681,5.489,2682,7.774,2683,6.587,2684,6.102,2685,4.832,2686,6.587,2687,6.587,2688,5.782,2689,6.587,2690,6.587,2691,6.587,2692,7.739,2693,5.782,2694,5.057]],["title/classes/BasicToolConfig.html",[0,0.241,2695,5.109]],["body/classes/BasicToolConfig.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,27,0.493,29,0.722,30,0.001,31,0.531,32,0.171,33,0.432,47,0.695,95,0.13,101,0.012,103,0.001,104,0.001,112,0.916,231,2.014,232,3.158,233,2.932,433,1.162,435,3.249,436,3.448,614,2.932,2036,4.656,2333,7.095,2695,9.96,2696,5.307,2697,11.671,2698,4.107,2699,7.957,2700,10.178,2701,8.76,2702,8.301,2703,6.595,2704,8.301,2705,8.301,2706,6.457,2707,6.801]],["title/classes/BasicToolConfigEntity.html",[0,0.241,2708,5.658]],["body/classes/BasicToolConfigEntity.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,27,0.379,29,0.743,30,0.001,31,0.547,32,0.12,33,0.445,95,0.143,96,2.541,101,0.012,103,0.001,104,0.001,224,2.819,231,1.679,232,3.214,433,1.196,435,3.344,457,5.411,614,3.017,2036,4.791,2109,4.264,2696,5.402,2698,4.16,2703,5.5,2706,8.11,2707,6.998,2708,11.121,2709,11.878,2710,8.189,2711,9.733,2712,6.026,2713,9.65,2714,8.542,2715,5.5,2716,6.87]],["title/classes/BasicToolConfigParams.html",[0,0.241,2717,5.658]],["body/classes/BasicToolConfigParams.html",[0,0.403,2,0.996,3,0.017,4,0.017,5,0.008,7,0.131,27,0.454,30,0.001,32,0.168,47,0.856,95,0.147,101,0.012,103,0.001,104,0.001,112,0.914,190,2.089,200,2.887,202,2.166,231,2.011,296,3.309,299,4.563,436,3.443,614,2.925,899,4.312,2036,4.645,2333,7.087,2696,4.291,2698,3.781,2703,7.146,2717,9.468,2718,9.435,2719,8.74,2720,9.953,2721,6.547,2722,7.665,2723,7.665,2724,7.665,2725,7.665,2726,7.665]],["title/classes/BasicToolConfigResponse.html",[0,0.241,2727,5.86]],["body/classes/BasicToolConfigResponse.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,27,0.484,29,0.693,30,0.001,31,0.51,32,0.169,33,0.415,47,0.836,95,0.138,101,0.012,103,0.001,104,0.001,112,0.892,190,2.039,202,2.083,231,1.962,232,3.078,233,2.813,296,3.51,433,1.115,435,3.117,436,3.36,614,2.813,2036,4.467,2109,3.975,2333,6.963,2696,5.172,2698,4.031,2703,7.021,2706,6.195,2707,6.524,2716,6.405,2727,11.287,2728,11.374,2729,7.371,2730,10.898,2731,9.073,2732,7.963,2733,7.963,2734,7.371]],["title/injectables/BasicToolLaunchStrategy.html",[589,0.926,2735,5.86]],["body/injectables/BasicToolLaunchStrategy.html",[0,0.159,3,0.009,4,0.009,5,0.004,7,0.064,8,0.807,9,2.132,26,2.228,27,0.51,29,0.987,30,0.001,31,0.727,32,0.165,33,0.591,35,1.483,36,2.42,39,2.387,47,0.909,95,0.116,99,0.926,101,0.006,103,0,104,0,110,3.356,112,0.862,122,0.953,125,2.299,130,1.911,134,1.628,135,1.355,142,3.114,145,1.725,148,0.949,172,3.014,223,2.201,228,1.268,231,1.219,277,0.657,317,2.677,326,2.688,339,3.224,436,3.862,569,2.195,571,2.796,589,0.939,591,1.09,652,2.746,711,3.747,1078,2.014,1086,3.362,1087,3.26,1088,3.31,1089,3.518,1090,3.836,1476,5.184,1723,2.62,1756,2.643,2005,6.789,2006,6.695,2060,5.181,2061,5.078,2698,2.291,2735,5.942,2736,4.034,2737,4.597,2738,4.258,2739,12.422,2740,6.542,2741,7.967,2742,6.542,2743,6.542,2744,6.542,2745,6.542,2746,6.542,2747,6.542,2748,6.542,2749,6.542,2750,6.199,2751,6.199,2752,6.542,2753,6.542,2754,4.258,2755,9.316,2756,4.258,2757,6.542,2758,11.095,2759,4.597,2760,6.542,2761,4.597,2762,9.251,2763,4.258,2764,6.542,2765,7.487,2766,5.422,2767,4.258,2768,4.258,2769,6.542,2770,6.813,2771,4.258,2772,4.258,2773,6.542,2774,4.258,2775,4.258,2776,4.259,2777,4.258,2778,8.44,2779,4.258,2780,4.258,2781,4.258,2782,4.258,2783,4.034,2784,4.034,2785,4.258,2786,4.258,2787,4.258,2788,3.372,2789,4.258,2790,6.542,2791,6.397,2792,4.258,2793,4.258,2794,6.542,2795,4.258,2796,2.46,2797,4.258,2798,4.034,2799,4.258,2800,3.138,2801,4.034,2802,3.529,2803,7.063,2804,4.597,2805,7.063,2806,6.542,2807,4.597,2808,4.597,2809,4.597,2810,4.597,2811,7.063,2812,4.597,2813,4.597,2814,4.034]],["title/injectables/BatchDeletionService.html",[589,0.926,2815,5.86]],["body/injectables/BatchDeletionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,27,0.373,29,0.73,30,0.001,31,0.537,32,0.118,33,0.437,35,0.799,36,2.02,55,2.212,59,2.165,95,0.131,101,0.009,103,0,104,0,135,1.529,141,2.985,145,2.614,148,0.685,153,1.126,159,0.712,193,3.038,228,1.251,277,0.996,317,2.361,400,2.042,433,0.856,534,3.65,571,3.784,589,1.271,591,1.652,612,4.683,628,4.156,629,5.045,657,2.687,871,4.016,873,4.438,1080,3.784,1086,4.551,1087,4.412,1088,4.48,1115,2.65,1328,3.701,1329,4.241,1393,6.696,1461,5.22,1561,6.748,1626,6.117,1749,3.969,2203,4.553,2358,6.275,2815,8.043,2816,6.221,2817,10.915,2818,6.964,2819,10.915,2820,6.451,2821,10.333,2822,6.964,2823,6.964,2824,9.019,2825,11.781,2826,6.964,2827,10.11,2828,6.112,2829,6.112,2830,6.331,2831,5.092,2832,7.536,2833,11.404,2834,4.616,2835,5.658,2836,4.616,2837,6.964,2838,5.86,2839,6.428,2840,6.336,2841,9.56,2842,6.451,2843,5.658,2844,6.964,2845,6.964,2846,6.964,2847,6.964,2848,7.766,2849,5.658,2850,6.964,2851,5.49,2852,6.964,2853,6.964,2854,6.964,2855,6.964,2856,5.22,2857,6.964,2858,5.49,2859,5.346,2860,4.494,2861,6.964,2862,5.658,2863,6.112,2864,5.658]],["title/interfaces/BatchDeletionSummary.html",[159,0.712,2865,5.86]],["body/interfaces/BatchDeletionSummary.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,47,0.936,55,2.898,95,0.107,101,0.012,103,0.001,104,0.001,112,0.924,159,0.981,161,2.285,401,5.376,1355,7.637,2816,5.467,2830,6.829,2865,9.906,2866,8.886,2867,9.593,2868,12.304,2869,12.304,2870,12.304,2871,12.304,2872,11.177,2873,8.072,2874,9.593]],["title/classes/BatchDeletionSummaryBuilder.html",[0,0.241,2875,6.113]],["body/classes/BatchDeletionSummaryBuilder.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.381,29,0.747,30,0.001,31,0.549,32,0.121,33,0.447,35,1.122,55,2.603,95,0.109,101,0.013,103,0.001,104,0.001,145,4.472,148,0.961,467,3.74,507,5.291,1355,5.622,2816,6.79,2830,6.91,2865,10.81,2868,11.035,2869,9.059,2870,9.059,2871,9.059,2875,10.456,2876,11.035,2877,9.78,2878,11.914,2879,9.78,2880,9.059,2881,9.059,2882,9.78]],["title/interfaces/BatchDeletionSummaryDetail.html",[159,0.712,2872,5.86]],["body/interfaces/BatchDeletionSummaryDetail.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,95,0.115,101,0.013,103,0.001,104,0.001,112,0.963,159,1.051,161,2.449,401,5.762,2358,7.818,2816,5.859,2824,10.439,2830,5.963,2832,10.72,2866,9.523,2872,10.33,2883,10.281,2884,9.778,2885,9.023]],["title/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.241,2886,6.113]],["body/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.349,27,0.376,29,0.736,30,0.001,31,0.541,32,0.119,33,0.44,35,1.105,95,0.132,101,0.012,103,0.001,104,0.001,148,0.947,401,6.618,467,3.716,507,5.244,2358,6.789,2816,6.73,2824,10.214,2830,6.849,2832,10.489,2872,10.741,2876,10.938,2881,8.928,2884,9.568,2885,8.46,2886,10.364,2887,9.639,2888,11.809,2889,9.639]],["title/injectables/BatchDeletionUc.html",[589,0.926,2890,5.86]],["body/injectables/BatchDeletionUc.html",[0,0.226,3,0.012,4,0.012,5,0.01,7,0.091,8,1.046,27,0.357,29,0.699,30,0.001,31,0.514,32,0.113,33,0.418,35,0.751,36,1.935,47,0.885,55,2.595,59,2.034,95,0.139,101,0.008,103,0,104,0,129,1.938,130,1.771,135,1.623,141,2.805,145,2.457,153,1.058,159,0.669,228,1.175,277,0.936,290,2.172,317,2.285,329,5.576,340,4.121,347,3.363,400,1.919,401,3.668,409,4.171,413,3.986,414,3.32,415,3.73,433,0.804,534,4.799,579,2.614,589,1.217,591,1.552,610,3.611,641,3.73,657,1.497,873,4.171,876,3.407,1076,4.171,1080,3.965,1393,5.218,1461,4.905,1626,3.668,1749,3.73,1835,3.363,1842,2.991,1927,4.401,2203,4.279,2230,4.8,2305,5.744,2314,8.036,2328,4.121,2345,3.986,2513,3.73,2531,3.529,2815,10.497,2816,6.019,2824,7.029,2825,10.595,2827,11.151,2830,5.311,2833,10.595,2834,6.069,2865,7.704,2873,7.704,2875,5.744,2880,6.062,2884,4.706,2885,5.744,2886,5.744,2890,7.704,2891,10.561,2892,6.544,2893,10.561,2894,6.544,2895,6.544,2896,6.544,2897,7.203,2898,7.871,2899,6.544,2900,7.704,2901,9.782,2902,5.744,2903,4.279,2904,5.744,2905,6.544,2906,6.062,2907,6.544,2908,6.544,2909,5.744,2910,5.159,2911,4.029,2912,3.133,2913,6.544,2914,6.544,2915,3.945,2916,6.544,2917,6.544,2918,3.698,2919,6.062,2920,6.062,2921,6.062,2922,6.584,2923,4.905,2924,8.481,2925,6.544,2926,3.796,2927,5.159,2928,9.156,2929,9.156,2930,4.905,2931,6.062,2932,8.036,2933,6.544,2934,5.506,2935,5.317,2936,6.544,2937,7.704,2938,5.264]],["title/entities/Board.html",[205,1.419,2051,2.947]],["body/entities/Board.html",[0,0.194,3,0.01,4,0.01,5,0.005,7,0.078,26,2.402,27,0.32,30,0.001,32,0.132,34,0.961,95,0.15,96,1.467,101,0.011,103,0,104,0,112,0.644,122,1.165,125,1.956,129,1.664,130,1.521,134,1.99,135,1.735,148,1.165,153,2.03,159,0.575,190,1.472,195,2.605,205,1.673,206,1.833,219,4.529,224,1.628,225,3.146,226,2.555,229,2.216,231,0.97,232,1.521,233,1.742,277,0.804,409,3.581,415,3.203,569,1.747,579,2.77,585,4.122,628,3.353,652,2.309,653,3.99,896,4.565,1821,2.661,1937,2.647,2027,4.019,2033,4.76,2049,4.838,2051,5.017,2512,3.353,2544,7.117,2911,7.537,2939,7.648,2940,5.619,2941,5.619,2942,4.95,2943,6.303,2944,5.904,2945,5.619,2946,4.395,2947,8.211,2948,6.671,2949,5.619,2950,3.124,2951,6.473,2952,4.122,2953,3.26,2954,2.987,2955,5.298,2956,3.353,2957,4.427,2958,3.967,2959,4.455,2960,3.538,2961,7.533,2962,11.626,2963,8.163,2964,6.303,2965,4.364,2966,5.904,2967,4.932,2968,6.671,2969,6.671,2970,8.211,2971,5.619,2972,3.674,2973,5.619,2974,5.619,2975,8.211,2976,4.728,2977,5.619,2978,9.702,2979,5.619,2980,5.619,2981,5.619,2982,5.619,2983,5.619,2984,8.211,2985,5.619,2986,8.211,2987,8.211,2988,5.619,2989,5.619,2990,4.565,2991,5.619,2992,5.619,2993,5.205,2994,5.619,2995,3.899,2996,5.619,2997,4.728,2998,5.619,2999,5.619,3000,5.619,3001,5.619,3002,5.619,3003,5.619,3004,5.619,3005,5.619,3006,5.619,3007,5.619,3008,5.619,3009,5.619,3010,5.619,3011,4.876,3012,5.619,3013,8.211,3014,5.619,3015,5.619,3016,5.619,3017,5.619,3018,11.856,3019,4.932]],["title/modules/BoardApiModule.html",[252,1.839,3020,5.86]],["body/modules/BoardApiModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.153,101,0.01,103,0,104,0,252,3.095,254,2.886,255,3.063,256,3.141,257,3.129,258,3.118,259,4.257,260,2.981,265,6.146,269,4.115,270,3.085,271,3.021,273,5.051,274,4.375,276,4.115,277,1.147,314,3.053,1027,2.455,1856,5.99,1932,9.932,1936,7.068,2680,3.684,3020,12.211,3021,8.022,3022,8.022,3023,8.022,3024,10.765,3025,10.446,3026,10.765,3027,10.765,3028,11.149,3029,8.022,3030,10.289,3031,10.289,3032,10.289,3033,10.289,3034,10.289,3035,8.022,3036,3.759,3037,7.04,3038,7.43,3039,7.43]],["title/classes/BoardColumnBoardResponse.html",[0,0.241,3040,5.86]],["body/classes/BoardColumnBoardResponse.html",[0,0.265,2,0.81,3,0.014,4,0.014,5,0.007,7,0.107,27,0.521,29,0.585,30,0.001,31,0.431,32,0.165,33,0.35,34,2.176,47,0.962,83,3.584,95,0.114,101,0.01,103,0,104,0,112,0.8,122,2.115,155,4.062,190,2.346,202,1.761,296,3.684,298,3.33,430,5.234,431,5.454,433,1.253,458,3.059,460,4.671,462,4.671,821,3.916,2965,7.628,3040,10.707,3041,10.693,3042,10.693,3043,7.669,3044,9.769,3045,8.435,3046,7.669,3047,7.669,3048,7.669,3049,7.669,3050,7.669,3051,5.414,3052,7.669,3053,7.669,3054,6.351,3055,7.669,3056,3.691,3057,7.104]],["title/classes/BoardComposite.html",[0,0.241,3058,4.198]],["body/classes/BoardComposite.html",[0,0.204,2,0.624,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,9,6.104,26,1.725,27,0.519,29,0.921,30,0.001,31,0.678,32,0.16,33,0.551,34,1.456,35,1.426,36,1.8,55,2.023,59,1.837,83,3.204,95,0.129,99,1.191,101,0.011,103,0,104,0,112,0.668,113,3.383,122,2.265,134,2.092,135,0.769,145,2.218,148,1.074,153,1.615,159,0.604,185,2.917,189,5.242,231,1.469,277,0.845,430,4.494,431,4.683,435,2.925,436,2.515,532,3.123,569,3.749,579,2.85,711,2.467,735,3.854,985,3.427,1626,4.772,1770,4.829,1773,6.08,1829,2.533,1849,3.368,1850,4.171,1851,4.536,2513,3.368,2662,6.564,2681,3.526,2953,3.427,3058,5.133,3059,12.189,3060,5.473,3061,6.011,3062,6.011,3063,6.011,3064,5.567,3065,6.011,3066,7.581,3067,3.678,3068,5.186,3069,6.337,3070,5.909,3071,5.814,3072,5.186,3073,6.281,3074,5.909,3075,5.909,3076,6.812,3077,5.909,3078,7.829,3079,5.909,3080,5.909,3081,6.123,3082,5.909,3083,5.909,3084,5.909,3085,3.678,3086,5.473,3087,5.909,3088,4.658,3089,5.909,3090,4.658,3091,5.909,3092,7.888,3093,4.1,3094,4.1,3095,5.473,3096,5.473,3097,5.473,3098,7.888,3099,5.473,3100,5.473,3101,5.473,3102,3.561,3103,5.473,3104,5.473,3105,5.473,3106,5.473,3107,7.474,3108,3.863,3109,6.011,3110,5.473,3111,5.186,3112,3.561]],["title/interfaces/BoardCompositeProps.html",[159,0.712,3112,4.198]],["body/interfaces/BoardCompositeProps.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.102,9,5.559,26,2.429,30,0.001,32,0.16,33,0.451,34,2.141,36,1.544,55,1.481,83,3.934,95,0.14,99,1.472,101,0.013,103,0,104,0,112,0.775,122,2.048,134,2.587,135,0.951,145,2.743,148,1.178,153,1.81,159,0.747,161,1.74,185,3.383,231,1.261,277,1.045,430,5.149,431,5.366,569,3.478,579,3.195,985,4.238,1626,5.535,1770,3.954,1829,3.132,1849,4.164,1850,5.158,1851,5.609,2513,4.164,2662,6.474,2681,4.36,2953,4.238,3058,4.404,3059,6.768,3060,6.768,3066,8.687,3068,4.45,3069,5.729,3072,4.45,3073,5.678,3075,5.07,3076,6.907,3078,7.547,3079,5.07,3081,5.254,3083,5.07,3092,9.149,3093,5.07,3094,5.07,3095,6.768,3096,6.768,3097,6.768,3098,9.149,3099,6.768,3100,6.768,3101,6.768,3102,4.404,3103,6.768,3104,6.768,3105,6.768,3106,6.768,3107,8.669,3108,4.777,3109,6.972,3110,6.768,3111,6.413,3112,5.953]],["title/interfaces/BoardCompositeVisitor.html",[159,0.712,3069,4.04]],["body/interfaces/BoardCompositeVisitor.html",[3,0.011,4,0.011,5,0.008,7,0.082,8,0.973,27,0.513,29,1.005,30,0.001,31,0.739,32,0.174,33,0.601,35,1.509,36,2.781,95,0.147,101,0.011,103,0,104,0,159,0.871,161,1.407,569,4.39,614,1.832,2032,7.129,2370,3.312,2675,7.129,2698,1.917,2912,2.828,2965,6.608,3069,4.939,3073,3.397,3113,10.504,3114,12.342,3115,5.473,3116,7.474,3117,7.474,3118,7.474,3119,7.474,3120,7.474,3121,7.474,3122,7.474,3123,7.474,3124,7.474,3125,7.474,3126,7.165,3127,6.875,3128,5.909,3129,7.165,3130,5.909,3131,7.165,3132,5.909,3133,7.165,3134,7.887,3135,5.909,3136,7.474,3137,7.996,3138,5.909,3139,7.474,3140,7.509,3141,5.909,3142,7.165,3143,7.887,3144,5.909,3145,7.474,3146,7.426,3147,5.909,3148,7.165,3149,7.596,3150,5.909,3151,7.165,3152,5.909,3153,4.536,3154,8.371,3155,4.972,3156,5.473,3157,4.972,3158,4.429,3159,3.854,3160,3.599,3161,4.8,3162,4.972,3163,4.972,3164,4.972,3165,4.972,3166,4.972,3167,4.972,3168,4.972,3169,4.972,3170,5.473,3171,4.972]],["title/interfaces/BoardCompositeVisitorAsync.html",[159,0.712,3073,4.004]],["body/interfaces/BoardCompositeVisitorAsync.html",[3,0.011,4,0.011,5,0.008,7,0.082,8,0.973,27,0.513,29,1.005,30,0.001,31,0.739,32,0.174,33,0.601,35,1.509,36,2.985,95,0.147,101,0.011,103,0,104,0,159,0.871,161,1.407,569,4.09,614,1.832,2032,7.129,2370,3.312,2675,7.129,2698,1.917,2912,2.828,2965,6.608,3069,3.427,3073,4.895,3113,10.504,3114,12.342,3115,5.473,3126,4.972,3127,6.875,3129,4.972,3131,4.972,3133,4.972,3134,7.887,3136,5.186,3137,7.996,3139,5.186,3140,7.509,3142,4.972,3143,7.887,3145,5.186,3146,7.426,3148,4.972,3149,7.596,3151,4.972,3153,4.536,3154,8.371,3155,4.972,3156,5.473,3157,4.972,3158,4.429,3159,3.854,3160,3.599,3161,4.8,3162,7.165,3163,7.165,3164,7.165,3165,7.165,3166,7.165,3167,7.165,3168,7.165,3169,7.165,3170,7.888,3171,7.165,3172,7.165,3173,7.165,3174,7.165,3175,7.165,3176,7.165,3177,7.165,3178,7.165,3179,7.165,3180,7.165,3181,7.165,3182,5.909,3183,5.909,3184,5.909,3185,5.909,3186,5.909,3187,5.909,3188,5.909,3189,5.909,3190,5.909,3191,5.909]],["title/classes/BoardContextResponse.html",[0,0.241,3192,6.113]],["body/classes/BoardContextResponse.html",[0,0.315,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.485,29,0.696,30,0.001,31,0.512,32,0.174,33,0.416,34,2.297,47,0.838,95,0.127,101,0.012,103,0.001,104,0.001,112,0.895,190,2.045,202,2.093,296,3.257,304,4.513,433,1.401,458,3.635,821,4.653,886,2.886,1853,2.99,2031,9.647,2109,3.993,3192,11.789,3193,13.046,3194,9.114,3195,9.114,3196,5.959,3197,6.105,3198,6.105,3199,9.114,3200,5.439,3201,5.345,3202,9.114]],["title/controllers/BoardController.html",[314,2.65,3030,6.113]],["body/controllers/BoardController.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.063,8,0.8,10,3.432,27,0.404,29,0.791,30,0.001,31,0.582,32,0.178,33,0.473,35,1.188,36,2.607,95,0.131,100,1.585,101,0.006,103,0,104,0,135,1.424,148,0.839,153,1.381,155,2.235,183,2.674,190,1.857,202,1.043,228,0.816,274,1.892,277,0.65,314,1.729,316,2.187,317,2.849,325,6.578,333,6.452,337,7.593,342,8.065,345,8.87,349,6.952,379,3.552,388,4.441,389,2.971,390,6.407,391,8.435,392,2.366,393,2.25,395,2.433,398,2.45,400,1.333,401,5.807,402,4.904,657,2.37,675,2.32,734,2.95,871,4.027,1351,7.36,2051,4.632,2681,6.531,2954,5.817,2965,4.539,3024,6.938,3030,6.145,3036,2.13,3192,6.145,3203,4.545,3204,4.209,3205,7.91,3206,6.485,3207,8.54,3208,8.54,3209,7.91,3210,4.545,3211,11.659,3212,7.451,3213,10.362,3214,5.248,3215,4.545,3216,7.767,3217,7.767,3218,4.545,3219,4.545,3220,8.065,3221,4.545,3222,5.519,3223,4.545,3224,4.545,3225,4.545,3226,4.545,3227,4.545,3228,4.545,3229,4.545,3230,7.001,3231,4.545,3232,4.545,3233,4.545,3234,4.545,3235,6.732,3236,7.794,3237,4.061,3238,4.545,3239,4.545,3240,2.335,3241,3.056,3242,2.487,3243,5.891,3244,5.688,3245,4.545,3246,4.545,3247,3.989,3248,3.824,3249,3.692,3250,4.545,3251,4.545,3252,4.545,3253,10.362,3254,4.545,3255,4.545,3256,4.545,3257,4.545,3258,4.545,3259,5.135,3260,5.248,3261,4.545,3262,4.545,3263,3.989,3264,4.545,3265,4.545,3266,4.545,3267,4.545,3268,4.545,3269,4.209]],["title/injectables/BoardCopyService.html",[589,0.926,3270,5.86]],["body/injectables/BoardCopyService.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.047,8,0.633,26,0.686,27,0.44,29,0.862,30,0.001,31,0.634,32,0.149,33,0.516,34,0.579,35,1.258,36,2.537,39,0.939,55,0.686,95,0.134,99,0.682,101,0.004,103,0,104,0,125,0.806,135,1.699,148,1.242,153,1.556,155,1.768,205,0.69,228,1.728,277,0.484,279,1.403,290,3.277,317,2.759,326,2.108,402,4.059,433,0.68,478,0.948,571,2.192,578,1.774,589,0.736,591,0.803,629,1.786,652,2.775,653,3.685,657,2.2,695,2.433,896,4.516,980,1.867,1027,1.036,1328,1.799,1329,2.061,1660,7.212,1835,1.739,1853,1.11,1933,2.389,2031,2.348,2032,3.273,2033,4.685,2051,4.485,2054,2.537,2125,1.774,2447,2.315,2448,3.807,2472,3.338,2488,2.482,2796,3.763,2911,5.001,2957,4.831,2959,4.115,2961,7.966,2964,4.251,2966,7.303,2968,4.499,2969,4.499,2976,2.847,3011,3.712,3044,2.598,3270,4.66,3271,11.558,3272,2.668,3273,5.538,3274,7.03,3275,6.511,3276,4.66,3277,4.499,3278,5.538,3279,5.538,3280,5.538,3281,5.538,3282,2.276,3283,7.612,3284,8.006,3285,8.545,3286,8.545,3287,7.449,3288,3.384,3289,5.538,3290,8.124,3291,3.384,3292,3.384,3293,10.055,3294,3.384,3295,7.03,3296,3.384,3297,3.384,3298,5.538,3299,3.384,3300,3.135,3301,5.538,3302,3.384,3303,2.97,3304,5.538,3305,8.478,3306,3.384,3307,8.961,3308,5.538,3309,3.384,3310,4.499,3311,5.538,3312,3.384,3313,5.538,3314,3.384,3315,5.13,3316,2.668,3317,2.537,3318,2.083,3319,1.929,3320,2.348,3321,2.749,3322,3.384,3323,3.384,3324,2.847,3325,5.396,3326,3.384,3327,3.384,3328,3.135,3329,2.598,3330,4.861,3331,3.384,3332,3.384,3333,3.384,3334,7.03,3335,3.384,3336,2.97,3337,2.668,3338,2.847,3339,3.384,3340,3.384,3341,9.407,3342,3.384,3343,3.384,3344,3.384,3345,3.384,3346,2.847,3347,3.384,3348,5.13,3349,3.384,3350,3.384,3351,6.17,3352,2.847,3353,3.384,3354,3.384,3355,7.03,3356,2.847,3357,3.384,3358,3.384,3359,2.847,3360,3.384,3361,3.384,3362,3.982,3363,3.384,3364,3.982,3365,4.251,3366,3.384,3367,3.384,3368,3.384,3369,3.384,3370,2.97,3371,2.97,3372,3.135,3373,2.97,3374,2.847,3375,3.135,3376,3.384,3377,3.135,3378,2.97,3379,3.135,3380,3.384,3381,3.384,3382,3.384,3383,3.384,3384,3.384,3385,3.384,3386,3.384,3387,3.384,3388,3.384,3389,3.384,3390,7.03,3391,3.384,3392,5.538,3393,8.124,3394,3.384,3395,3.384,3396,3.384,3397,3.384,3398,3.384,3399,3.384,3400,3.384,3401,3.135,3402,3.384,3403,3.135,3404,3.384,3405,3.384,3406,3.384,3407,5.13,3408,3.384,3409,4.861,3410,3.384,3411,3.135,3412,5.538,3413,3.384,3414,3.384,3415,3.384,3416,3.384]],["title/classes/BoardDoAuthorizable.html",[0,0.241,2682,5.109]],["body/classes/BoardDoAuthorizable.html",[0,0.264,2,0.807,3,0.014,4,0.014,5,0.007,7,0.106,8,1.163,26,2.319,27,0.495,29,0.583,30,0.001,31,0.429,32,0.126,33,0.349,34,1.306,35,1.167,39,2.12,47,0.748,95,0.113,99,1.539,101,0.016,102,4.06,103,0,104,0,112,0.798,113,4.044,125,2.907,148,1,159,1.041,185,2.617,231,1.975,357,5.865,435,3.496,436,3.006,532,3.732,567,2.849,569,2.375,693,3.474,700,3.698,701,3.698,711,2.948,735,4.606,886,3.222,1767,5.528,1770,5.088,1773,6.97,1832,4.869,1849,4.354,1922,5.301,2671,8.952,2672,9.966,2682,7.465,3067,4.756,3085,4.756,3113,9.62,3417,6.706,3418,5.497,3419,7.077,3420,7.64,3421,7.64,3422,7.64,3423,7.64,3424,7.64,3425,8.268,3426,6.014,3427,8.932,3428,6.207,3429,6.428,3430,3.318,3431,7.385,3432,5.851,3433,6.706,3434,6.706,3435,8.785,3436,3.926,3437,6.428,3438,6.207,3439,8.932,3440,6.706]],["title/interfaces/BoardDoAuthorizableProps.html",[159,0.712,3437,5.86]],["body/interfaces/BoardDoAuthorizableProps.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,26,2.634,30,0.001,32,0.146,33,0.487,34,2.144,39,2.272,47,0.783,95,0.119,99,1.649,101,0.017,102,4.35,103,0.001,104,0.001,112,0.835,125,2.537,148,1.047,159,1.089,161,1.95,185,2.804,231,2.043,357,6.283,567,3.052,693,3.722,700,3.961,701,3.961,886,3.372,1767,6.43,1770,4.263,1832,5.216,1849,4.665,1922,5.68,2671,9.534,2672,9.999,2682,6.004,3113,6.452,3417,7.184,3418,5.854,3425,8.652,3426,6.293,3427,9.347,3428,6.65,3429,6.887,3430,3.554,3431,7.639,3432,6.122,3433,7.184,3434,7.184,3435,9.978,3436,4.206,3437,8.961,3438,6.65,3439,9.347,3440,7.184]],["title/injectables/BoardDoAuthorizableService.html",[589,0.926,2668,4.833]],["body/injectables/BoardDoAuthorizableService.html",[0,0.211,3,0.011,4,0.011,5,0.005,7,0.085,8,0.995,12,3.942,26,2.246,27,0.432,29,0.846,30,0.001,31,0.623,32,0.137,33,0.506,34,1.895,35,1.165,36,2.343,39,2.82,40,4.215,95,0.14,99,1.228,101,0.008,103,0,104,0,135,1.724,148,1.234,153,1.792,228,1.564,277,0.872,279,2.528,317,2.637,433,1.07,478,1.708,578,5.326,579,1.741,589,1.158,591,1.446,615,3.713,652,2.384,653,2.508,657,2.681,688,2.843,700,4.917,701,4.917,756,3.473,1237,1.766,1845,6.866,1853,2,1911,7.726,1936,4.1,2031,4.231,2032,6.004,2033,4.624,2054,4.57,2636,2.984,2662,5.277,2668,6.043,2672,7.97,2678,6.148,2680,2.8,2682,8.943,2692,5.13,2930,4.57,3418,5.653,3425,4.953,3435,7.8,3436,5.221,3441,8.787,3442,5.648,3443,8.709,3444,8.709,3445,4.57,3446,8.859,3447,6.097,3448,6.097,3449,8.709,3450,6.097,3451,8.709,3452,6.097,3453,4.57,3454,5.648,3455,6.097,3456,7.328,3457,5.648,3458,9.411,3459,5.648,3460,6.097,3461,8.067,3462,5.648,3463,6.097,3464,6.097,3465,6.097,3466,6.097,3467,3.264,3468,6.097,3469,6.832,3470,6.643,3471,8.709,3472,6.097,3473,6.097,3474,6.097,3475,6.097,3476,6.097]],["title/interfaces/BoardDoBuilder.html",[159,0.712,3477,4.156]],["body/interfaces/BoardDoBuilder.html",[3,0.011,4,0.011,5,0.008,7,0.085,8,0.994,27,0.516,29,1.011,30,0.001,31,0.744,32,0.176,33,0.605,35,1.519,95,0.149,101,0.008,103,0,104,0,159,0.623,161,1.45,614,1.887,1770,2.437,2032,5.999,2049,4.972,2051,2.576,2370,3.412,2675,5.999,2698,1.975,2912,2.914,2965,6.227,3127,6.312,3134,6.637,3137,6.729,3140,6.319,3143,6.637,3146,6.249,3149,6.392,3153,4.673,3158,4.563,3159,3.937,3160,3.708,3467,7.091,3477,5.192,3478,13.406,3479,6.088,3480,8.058,3481,8.058,3482,8.058,3483,8.058,3484,8.058,3485,8.058,3486,8.058,3487,8.058,3488,8.058,3489,8.058,3490,8.058,3491,8.731,3492,6.088,3493,8.058,3494,8.998,3495,6.088,3496,8.058,3497,8.502,3498,6.088,3499,8.058,3500,8.731,3501,6.088,3502,8.058,3503,8.731,3504,6.088,3505,8.058,3506,8.731,3507,6.088,3508,8.058,3509,8.731,3510,6.088,3511,8.058,3512,8.731,3513,6.088,3514,8.058,3515,8.731,3516,6.088,3517,8.058,3518,8.731,3519,6.088,3520,11.626,3521,3.929]],["title/classes/BoardDoBuilderImpl.html",[0,0.241,3522,6.113]],["body/classes/BoardDoBuilderImpl.html",[0,0.115,2,0.351,3,0.006,4,0.006,5,0.003,7,0.046,8,0.624,27,0.491,29,0.97,30,0.001,31,0.699,32,0.171,33,0.569,34,1.918,35,1.411,39,0.923,95,0.099,101,0.004,103,0,104,0,110,1.156,112,0.428,129,0.985,130,0.9,135,1.705,145,1.248,148,1.174,153,1.898,155,2.566,157,0.77,183,1.27,277,0.476,430,4.614,431,4.808,433,0.409,478,0.932,532,4.114,569,1.697,579,1.559,652,1.413,711,3.943,896,5.304,1078,2.392,1237,1.581,1853,1.091,2032,5.638,2049,5.019,2662,1.583,2675,4.75,2834,2.204,2912,1.592,2965,5.071,2995,2.307,3066,8.535,3086,5.057,3127,5.438,3134,5.256,3137,5.884,3140,5.004,3143,5.256,3146,4.948,3149,5.062,3154,2.307,3467,7.501,3477,4.144,3480,5.057,3481,5.057,3482,5.057,3483,5.057,3484,5.057,3485,5.057,3486,5.057,3487,5.057,3488,5.057,3489,5.057,3490,5.057,3491,6.337,3493,5.057,3494,6.531,3496,5.057,3497,6.171,3499,5.057,3500,6.337,3502,5.057,3503,6.337,3505,5.057,3506,6.337,3508,5.057,3509,6.337,3511,5.057,3512,6.337,3514,5.057,3515,6.337,3517,5.057,3518,6.337,3520,2.919,3522,4.791,3523,11.154,3524,11.771,3525,3.325,3526,6.433,3527,5.459,3528,5.057,3529,5.459,3530,5.459,3531,5.459,3532,5.459,3533,4.791,3534,3.325,3535,5.459,3536,3.325,3537,3.325,3538,3.325,3539,5.459,3540,3.325,3541,3.325,3542,3.325,3543,3.325,3544,3.325,3545,3.325,3546,3.325,3547,3.325,3548,5.459,3549,6.638,3550,3.325,3551,5.459,3552,3.325,3553,5.459,3554,3.325,3555,2.119,3556,2.493,3557,3.08,3558,3.325,3559,3.325,3560,3.325,3561,8.877,3562,3.08,3563,4.092,3564,8.877,3565,10.391,3566,8.039,3567,11.219,3568,11.219,3569,3.325,3570,2.919,3571,4.191,3572,4.791,3573,2.919,3574,4.791,3575,2.919,3576,2.919,3577,2.919,3578,2.146,3579,3.325,3580,8.877,3581,1.965,3582,3.325,3583,1.965,3584,3.325,3585,3.325,3586,1.947,3587,3.325,3588,3.325,3589,1.731,3590,3.325,3591,3.325,3592,2.919,3593,1.72,3594,3.325,3595,2.047,3596,3.325,3597,3.325,3598,1.864,3599,3.325,3600,3.325,3601,3.325,3602,3.325,3603,5.459,3604,3.325,3605,3.325,3606,3.325,3607,3.325,3608,3.325,3609,3.325,3610,3.325,3611,3.727,3612,2.119,3613,3.325,3614,4.593,3615,3.325,3616,3.325,3617,5.459,3618,3.325,3619,3.325,3620,3.325,3621,3.325,3622,3.325]],["title/injectables/BoardDoCopyService.html",[589,0.926,3623,5.86]],["body/injectables/BoardDoCopyService.html",[0,0.31,3,0.017,4,0.017,5,0.01,7,0.125,8,1.289,27,0.349,29,0.683,30,0.001,31,0.503,32,0.14,33,0.409,35,1.027,36,2.384,95,0.149,101,0.014,103,0.001,104,0.001,135,1.467,141,4.834,148,0.88,153,1.448,277,1.28,317,2.671,326,3.407,589,1.499,591,2.124,657,2.047,703,2.746,711,3.577,1083,5.059,1853,2.937,2608,7.813,2662,5.369,3071,6.112,3272,7.056,3305,5.853,3318,5.51,3319,5.102,3441,8.453,3623,9.489,3624,9.898,3625,11.278,3626,12.962,3627,8.952,3628,7.857,3629,7.857,3630,8.952,3631,8.89,3632,7.532,3633,6.437,3634,7.857,3635,8.952,3636,8.952]],["title/injectables/BoardDoRepo.html",[589,0.926,3446,4.917]],["body/injectables/BoardDoRepo.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.062,8,0.788,10,2.77,12,3.119,18,3.454,26,2.739,27,0.478,29,0.953,30,0.001,31,0.689,32,0.159,33,0.56,34,2,35,1.377,36,2.839,40,3.336,49,1.678,55,2.2,59,2.621,95,0.137,96,1.8,97,1.797,99,0.897,101,0.006,103,0,104,0,125,1.061,135,1.748,148,1.18,153,1.756,172,2.942,224,1.29,228,1.514,277,0.637,317,3.025,433,0.847,435,1.53,478,1.248,532,2.528,579,1.272,589,0.916,591,1.057,615,6.612,652,1.715,653,1.832,657,2.938,1751,5.434,1770,4.999,1842,2.035,1853,1.461,2051,2.917,2446,5.156,2455,4.507,2474,4.635,2481,3.419,2511,5.6,2514,4.125,2662,6.301,2678,3.144,2796,2.384,2954,2.367,3066,3.09,3446,4.866,3467,5.081,3497,3.419,3522,3.909,3523,10.961,3524,4.125,3526,4.125,3533,3.909,3611,3.041,3629,6.05,3637,4.125,3638,8.432,3639,5.8,3640,6.385,3641,6.385,3642,6.893,3643,6.893,3644,2.838,3645,9.198,3646,8.432,3647,7.987,3648,4.454,3649,3.928,3650,4.454,3651,4.454,3652,10.835,3653,4.454,3654,8.432,3655,4.454,3656,6.05,3657,4.454,3658,6.385,3659,6.825,3660,4.454,3661,6.893,3662,4.454,3663,4.454,3664,6.893,3665,4.454,3666,6.893,3667,4.454,3668,4.816,3669,4.454,3670,4.454,3671,4.125,3672,4.454,3673,3.909,3674,4.454,3675,4.454,3676,4.454,3677,4.454,3678,4.454,3679,3.909,3680,4.454,3681,6.063,3682,6.385,3683,4.454,3684,4.454,3685,4.454,3686,4.454,3687,6.385,3688,4.454,3689,4.454,3690,4.454,3691,4.454,3692,3.618,3693,4.454,3694,3.909,3695,4.454,3696,4.454,3697,4.454,3698,4.454,3699,4.454,3700,4.454,3701,4.454,3702,4.454,3703,4.454,3704,4.454,3705,4.454,3706,4.454,3707,5.167,3708,4.454]],["title/injectables/BoardDoRule.html",[589,0.926,1865,5.86]],["body/injectables/BoardDoRule.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.102,8,1.13,27,0.437,29,0.855,30,0.001,31,0.629,32,0.148,33,0.512,35,1.134,39,2.745,95,0.14,101,0.009,103,0,104,0,122,2.487,135,1.457,148,1.297,183,4.277,195,2.173,197,3.501,228,1.314,277,1.047,290,3.227,400,2.146,433,0.899,478,2.051,578,3.837,589,1.315,591,1.736,653,3.011,711,3.74,1197,3.976,1237,2.12,1775,6.564,1792,5.079,1793,4.852,1801,7.947,1838,7.229,1853,2.401,1865,8.321,1982,6.302,1986,6.088,1993,4.786,2619,6.302,2682,10.425,2684,9.16,3425,5.947,3709,11.994,3710,7.32,3711,4.852,3712,7.32,3713,7.32,3714,6.381,3715,7.32,3716,4.852,3717,6.555,3718,5.263,3719,9.889,3720,7.32,3721,7.32,3722,9.16,3723,9.889,3724,7.32]],["title/injectables/BoardDoService.html",[589,0.926,3725,5.221]],["body/injectables/BoardDoService.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.458,29,0.898,30,0.001,31,0.66,32,0.145,33,0.537,35,1.21,36,2.635,55,2.382,59,2.508,95,0.131,101,0.01,103,0,104,0,135,1.373,228,1.449,277,1.154,317,2.871,400,2.366,433,0.991,589,1.403,591,1.914,657,3.035,1770,3.23,1853,2.648,2636,3.95,2662,6.663,3078,5.082,3441,9.346,3445,6.049,3446,9.37,3668,5.965,3725,7.909,3726,8.07,3727,10.552,3728,7.587,3729,8.07,3730,10.552,3731,8.07,3732,10.552,3733,12.469,3734,9.572,3735,8.07,3736,8.07,3737,8.07,3738,6.79,3739,8.07,3740,8.07,3741,8.07,3742,11.757,3743,8.07,3744,8.07,3745,8.07,3746,8.07,3747,8.07]],["title/entities/BoardElement.html",[205,1.419,2961,4.917]],["body/entities/BoardElement.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,9,4.894,26,2.138,27,0.411,30,0.001,31,0.7,32,0.154,34,1.804,95,0.148,96,2.107,101,0.016,103,0,104,0,112,0.828,134,2.858,190,1.447,195,1.773,205,2.15,206,2.633,224,2.338,225,4.044,226,3.67,231,1.392,232,2.184,233,2.502,886,3.948,1821,5.905,1842,4.822,1937,4.971,2032,6.236,2051,3.415,2939,9.268,2957,5.689,2958,5.697,2959,5.726,2960,5.082,2961,7.449,2962,11.549,2965,4.289,2966,7.587,2967,7.083,3011,6.179,3325,10.38,3748,8.07,3749,8.07,3750,7.204,3751,8.07,3752,6.809,3753,7.449,3754,10.552,3755,5.803,3756,5.697,3757,6.049]],["title/classes/BoardElementResponse.html",[0,0.241,3758,5.86]],["body/classes/BoardElementResponse.html",[0,0.279,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.458,29,0.616,30,0.001,31,0.453,32,0.173,33,0.369,95,0.144,101,0.01,103,0,104,0,112,0.828,134,3.737,157,2.442,190,1.891,202,1.853,296,3.076,433,1.296,821,4.12,868,5.078,886,3.948,1083,5.963,1937,4.971,2049,4.306,2051,5.722,2109,3.536,2393,5.315,2512,6.297,2642,7.204,2959,4.846,2965,6.877,3040,9.892,3041,9.829,3042,9.829,3758,10.887,3759,5.51,3760,8.07,3761,9.892,3762,9.892,3763,8.07,3764,10.887,3765,10.552,3766,7.475,3767,8.07,3768,7.475,3769,8.07,3770,8.07,3771,4.769]],["title/interfaces/BoardExternalReference.html",[159,0.712,3659,5.008]],["body/interfaces/BoardExternalReference.html",[3,0.019,4,0.019,5,0.009,7,0.141,26,2.744,30,0.001,32,0.174,34,2.315,95,0.113,99,2.045,101,0.016,103,0.001,104,0.001,112,0.956,159,1.038,161,2.418,614,3.147,886,3.214,2031,9.396,2033,4.621,3113,8.002,3659,8.761,3772,8.909]],["title/classes/BoardLessonResponse.html",[0,0.241,3762,5.86]],["body/classes/BoardLessonResponse.html",[0,0.323,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,27,0.527,29,0.515,30,0.001,31,0.707,32,0.167,33,0.59,34,2.081,47,0.925,55,2.552,83,3.398,95,0.12,101,0.009,103,0,104,0,112,0.733,122,1.938,190,2.396,200,2.063,201,3.634,202,1.548,296,3.635,298,2.928,300,4.112,430,5.006,431,5.216,433,1.148,458,2.689,460,4.106,462,4.106,821,3.442,2055,7.446,2184,2.669,2965,7.266,3041,10.777,3042,10.777,3051,4.759,3054,6.679,3762,10.24,3773,6.742,3774,7.664,3775,11.273,3776,11.273,3777,10.24,3778,6.742,3779,5.917,3780,6.742,3781,6.742,3782,6.742,3783,6.742,3784,6.742,3785,9.348,3786,6.742,3787,6.742,3788,6.245,3789,6.742,3790,6.742,3791,8.18,3792,4.678,3793,4.848,3794,6.742,3795,6.742,3796,6.742,3797,7.716]],["title/classes/BoardManagementConsole.html",[0,0.241,3798,6.113]],["body/classes/BoardManagementConsole.html",[0,0.279,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.411,29,0.806,30,0.001,31,0.593,32,0.131,33,0.482,35,0.925,36,2.23,47,0.775,49,3.04,95,0.139,101,0.01,103,0,104,0,129,2.39,130,2.184,135,1.05,148,0.793,153,1.305,157,2.721,190,1.447,317,2.543,400,2.366,433,0.991,574,4.523,628,4.816,652,1.641,657,1.845,685,4.681,734,5.255,2027,6.103,2051,5.804,2512,4.816,2965,5.608,3595,4.968,3798,9.261,3799,11.757,3800,7.083,3801,9.774,3802,6.362,3803,8.152,3804,11.377,3805,8.07,3806,8.1,3807,9.774,3808,6.195,3809,10.552,3810,8.07,3811,5.349,3812,8.385,3813,7.676,3814,4.724,3815,7.475,3816,6.362,3817,5.349,3818,8.07,3819,8.07,3820,6.79,3821,10.13,3822,8.07,3823,8.07,3824,6.049]],["title/injectables/BoardManagementUc.html",[589,0.926,3804,5.86]],["body/injectables/BoardManagementUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.879,26,2.412,27,0.477,29,0.955,30,0.001,31,0.687,32,0.158,33,0.559,34,0.88,35,1.365,36,2.161,55,2.835,95,0.133,96,1.343,97,2.075,99,1.036,101,0.007,103,0,104,0,125,1.225,129,1.523,130,1.392,135,1.549,148,1.23,155,2.455,183,2.937,195,1.13,197,1.438,277,0.736,317,2.484,400,1.508,433,0.632,478,1.441,527,2.186,532,2.821,569,1.599,589,1.022,591,1.22,629,2.715,652,2.809,657,2.626,756,4.077,873,5.871,896,2.86,1328,2.734,1329,3.133,1563,3.32,1853,1.688,2027,5.62,2031,3.57,2033,2.917,2051,3.255,2054,3.856,2081,4.179,2446,5.553,2912,3.682,2965,4.088,3076,4.931,3127,4.384,3467,7.265,3563,3.856,3571,3.949,3578,3.32,3589,4.005,3649,5.25,3668,6.644,3792,6.392,3801,7.125,3802,4.055,3803,6.684,3804,6.472,3806,5.904,3807,7.125,3811,3.41,3825,12.51,3826,4.765,3827,7.692,3828,7.692,3829,7.692,3830,7.692,3831,7.692,3832,7.125,3833,5.144,3834,5.144,3835,7.692,3836,5.144,3837,7.692,3838,5.144,3839,7.692,3840,5.144,3841,7.692,3842,5.144,3843,7.692,3844,9.213,3845,5.144,3846,4.055,3847,7.692,3848,8.305,3849,5.144,3850,5.144,3851,5.144,3852,5.144,3853,5.144,3854,5.144,3855,5.144,3856,5.144,3857,5.144,3858,5.144,3859,5.144,3860,5.144,3861,5.144,3862,4.179,3863,5.144,3864,5.144,3865,5.144,3866,4.765,3867,5.144,3868,5.144,3869,5.144,3870,4.765,3871,9.213,3872,5.144,3873,5.144,3874,5.144,3875,5.144,3876,5.144,3877,4.515,3878,5.144,3879,5.144,3880,5.144,3881,5.144,3882,5.144]],["title/modules/BoardModule.html",[252,1.839,1932,5.221]],["body/modules/BoardModule.html",[0,0.194,3,0.01,4,0.01,5,0.005,30,0.001,95,0.152,101,0.007,103,0,104,0,252,2.811,254,2.013,255,2.137,256,2.191,257,2.183,258,2.175,259,3.515,260,3.597,265,5.491,269,3.205,270,2.152,271,2.108,276,3.205,277,0.8,279,2.32,610,3.817,614,1.735,619,4.024,1027,1.712,1054,3.162,1317,3.566,1714,4.195,1829,2.398,1853,1.836,1911,7.287,1932,11.062,2019,9.774,2020,9.988,2049,2.284,2051,2.368,2513,3.189,2608,3.373,2636,2.739,2642,3.821,2668,9.246,2698,1.816,2831,2.24,3286,11.211,3446,8.357,3623,9.96,3624,4.911,3645,9.618,3647,9.96,3725,8.873,3811,3.709,3883,5.596,3884,5.596,3885,5.596,3886,5.596,3887,9.087,3888,9.618,3889,8.873,3890,7.369,3891,10.504,3892,10.825,3893,10.825,3894,9.618,3895,9.618,3896,9.96,3897,5.596,3898,2.804,3899,3.763,3900,2.953,3901,5.183,3902,4.911,3903,4.708,3904,5.352,3905,5.596,3906,4.911,3907,3.659,3908,3.821,3909,5.596,3910,4.411]],["title/entities/BoardNode.html",[205,1.419,3467,3.728]],["body/entities/BoardNode.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.158,9,4.176,26,2.418,27,0.465,30,0.001,32,0.166,33,0.411,34,1.935,47,0.935,55,2.418,95,0.142,96,1.668,101,0.012,103,0,104,0,112,0.706,125,2.144,134,3.188,135,1.356,142,3.259,145,3.913,148,1.173,153,1.033,155,3.613,159,0.653,190,2.139,195,1.978,196,3.755,197,3.46,205,1.835,206,2.084,211,5.749,223,3.718,224,1.85,225,3.45,226,2.905,229,2.519,231,1.102,232,1.729,233,1.98,277,0.914,414,5.289,458,3.59,459,4.656,467,1.859,579,1.824,734,2.692,756,3.59,886,2.85,1312,3.009,1770,2.557,2051,2.703,2504,5.375,2662,4.286,3056,3.075,3076,6.058,3456,5.375,3467,5.58,3477,5.372,3549,6.893,3611,6.147,3668,4.567,3681,4.593,3755,4.593,3911,5.917,3912,7.814,3913,6.388,3914,5.917,3915,6.388,3916,6.388,3917,6.388,3918,6.388,3919,6.388,3920,4.904,3921,8.338,3922,5.483,3923,9.655,3924,8.338,3925,5.036,3926,5.036,3927,5.917,3928,5.917,3929,5.917,3930,4.51,3931,4.51,3932,4.122,3933,4.936,3934,5.917,3935,5.917,3936,7.901,3937,5.917,3938,5.917,3939,5.917,3940,5.917,3941,5.917,3942,3.932,3943,5.917,3944,5.917]],["title/interfaces/BoardNodeProps.html",[159,0.712,3922,4.242]],["body/interfaces/BoardNodeProps.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.16,9,4.271,26,2.601,30,0.001,32,0.159,33,0.598,34,2.195,47,0.943,55,2.447,95,0.143,96,1.723,101,0.012,103,0,104,0,112,0.722,125,2.194,134,3.261,135,1.38,142,3.334,145,3.982,148,1.187,153,1.067,155,3.854,159,0.675,161,1.572,195,1.45,196,3.809,197,2.965,205,1.877,223,3.763,224,1.911,225,3.529,226,3,229,2.602,231,1.138,232,1.785,233,2.045,277,0.944,414,3.348,458,3.672,459,4.763,467,1.921,579,1.884,734,2.781,756,3.672,886,2.916,1312,3.108,1770,2.641,2051,2.792,2504,5.552,2662,4.384,3056,3.176,3076,6.464,3456,5.552,3467,6.145,3477,5.495,3549,6.46,3611,6.287,3668,6.126,3681,4.744,3755,4.744,3911,6.112,3912,4.946,3920,5.065,3921,8.53,3922,6.46,3923,9.825,3924,8.53,3925,5.201,3926,5.201,3927,6.112,3928,6.112,3929,6.112,3930,4.658,3931,4.658,3932,4.258,3933,5.023,3934,6.112,3935,6.112,3936,8.082,3937,6.112,3938,6.112,3939,6.112,3940,6.112,3941,6.112,3942,4.062,3943,6.112,3944,6.112]],["title/injectables/BoardNodeRepo.html",[589,0.926,3645,5.658]],["body/injectables/BoardNodeRepo.html",[0,0.222,3,0.012,4,0.012,5,0.006,7,0.089,8,1.031,12,4.083,26,2.297,27,0.442,29,0.865,30,0.001,31,0.637,32,0.14,33,0.518,34,1.786,35,1.198,36,2.619,40,4.367,55,2.116,59,1.992,95,0.126,96,1.673,97,2.585,99,1.291,101,0.008,103,0,104,0,125,1.527,135,1.719,141,3.867,145,2.406,148,1.251,205,2.434,228,1.151,277,0.916,317,2.859,400,1.879,412,2.846,414,4.578,433,0.787,478,1.795,589,1.199,591,1.52,657,2.388,813,3.592,814,7.591,1065,3.155,1078,2.808,1829,2.747,1832,4.084,2446,6.156,2796,5.589,3467,7.073,3523,10.485,3533,10.485,3611,4.376,3644,4.084,3645,7.33,3649,5.142,3652,11.065,3682,8.357,3912,4.804,3945,6.409,3946,9.023,3947,9.023,3948,6.409,3949,6.409,3950,9.023,3951,6.409,3952,9.023,3953,6.409,3954,6.409,3955,5.936,3956,6.409,3957,9.023,3958,8.357,3959,10.442,3960,5.206,3961,9.023,3962,9.023,3963,6.409,3964,6.409,3965,5.625,3966,6.409,3967,6.409,3968,9.023,3969,6.409,3970,6.409,3971,6.409,3972,4.248,3973,6.409,3974,6.409,3975,6.409,3976,6.409,3977,5.392,3978,6.409,3979,6.409,3980,6.409,3981,6.409,3982,6.409]],["title/injectables/BoardRepo.html",[589,0.926,3283,5.221]],["body/injectables/BoardRepo.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.08,8,0.955,10,3.358,12,3.782,18,4.188,26,2.74,27,0.502,29,0.965,30,0.001,31,0.71,32,0.156,33,0.577,34,1.429,35,1.449,36,2.765,40,4.044,95,0.12,99,1.16,101,0.007,103,0,104,0,135,1.644,148,1.175,153,0.931,158,2.125,205,1.173,206,2.726,231,1.442,277,0.823,317,3.033,436,3.188,478,1.613,532,4.86,589,1.111,591,1.366,652,2.62,653,4.046,657,3.064,728,7.155,734,3.521,735,3.782,736,4.843,759,3.435,760,3.506,761,3.47,762,3.506,764,3.47,765,3.506,766,3.081,896,3.2,2027,5.61,2033,4.093,2051,5.908,2911,3.544,2964,6.414,2968,6.789,2969,6.789,3011,4.495,3283,6.263,3409,8.634,3983,5.756,3984,8.356,3985,8.356,3986,8.356,3987,8.356,3988,8.356,3989,5.756,3990,8.356,3991,5.756,3992,5.756,3993,8.356,3994,5.756,3995,8.356,3996,5.756,3997,5.756,3998,4.064,3999,5.756,4000,8.356,4001,5.756,4002,5.756,4003,5.052,4004,5.756,4005,5.756,4006,5.756,4007,5.756,4008,5.756,4009,9.837,4010,5.756,4011,5.756,4012,5.756,4013,5.756,4014,5.756]],["title/classes/BoardResponse.html",[0,0.241,3243,5.86]],["body/classes/BoardResponse.html",[0,0.29,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,27,0.51,29,0.639,30,0.001,31,0.47,32,0.166,33,0.547,34,2.238,47,0.929,95,0.141,101,0.011,103,0.001,104,0.001,112,0.848,125,1.994,155,4.178,190,2.267,202,1.922,296,3.508,298,3.636,304,4.146,433,1.328,458,3.339,821,4.275,866,4.171,2926,7.593,3051,5.911,3054,6.727,3056,4.03,3196,5.474,3197,5.785,3198,5.785,3243,11.015,3244,10.274,3563,9.813,4015,8.373,4016,8.373,4017,8.373,4018,8.373,4019,6.88,4020,8.373,4021,8.373,4022,8.373,4023,5.474,4024,7.045,4025,5.474]],["title/classes/BoardResponseMapper.html",[0,0.241,3247,6.113]],["body/classes/BoardResponseMapper.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,8,1.271,27,0.341,29,0.668,30,0.001,31,0.492,32,0.138,33,0.4,34,1.497,35,1.004,95,0.143,100,3.054,101,0.011,103,0.001,104,0.001,135,1.139,141,4.767,148,1.093,153,1.977,155,2.795,277,1.252,430,3.601,467,3.558,571,3.466,579,2.5,653,3.601,829,5.175,830,6.183,1368,4.948,1853,2.873,2032,7.599,2051,3.706,2099,8.336,2472,5.278,2926,5.079,2965,6.834,3078,5.514,3243,10.819,3247,9.761,3248,7.368,3269,8.111,3362,6.296,3563,6.563,3870,8.111,4019,6.394,4026,11.122,4027,10.301,4028,7.685,4029,5.979,4030,7.685,4031,8.756,4032,8.756,4033,8.756,4034,7.685,4035,6.181,4036,8.756,4037,8.756]],["title/controllers/BoardSubmissionController.html",[314,2.65,3034,6.113]],["body/controllers/BoardSubmissionController.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.88,27,0.359,29,0.704,30,0.001,31,0.518,32,0.174,33,0.421,35,1.057,36,2.162,95,0.142,100,1.796,101,0.007,103,0,104,0,135,1.495,148,0.757,153,1.245,190,1.653,202,1.183,228,1.656,274,2.144,277,0.737,314,1.96,316,2.479,317,2.707,325,6.31,333,5.177,337,7.072,342,7.511,345,7.356,349,6.563,374,3.343,379,4.678,388,4.384,389,3.368,390,5.988,391,8.064,392,2.682,393,2.551,395,2.757,398,2.777,401,5.167,402,4.653,433,0.633,652,1.875,657,2.108,675,3.931,734,3.245,871,3.764,874,4.507,1351,6.879,2049,3.762,2051,2.18,2681,6.104,2918,4.351,2954,4.9,3025,7.268,3027,7.49,3028,7.757,3034,6.757,3036,2.414,3037,4.521,3038,4.771,3039,4.771,3159,5.388,3160,3.137,3212,6.629,3214,5.771,3216,6.911,3217,5.771,3220,8.003,3222,4.06,3235,9.386,3237,4.466,3240,2.647,3241,3.464,3242,2.819,3249,4.185,3259,3.778,3260,3.861,3418,3.468,3521,4.968,3612,4.907,3668,3.906,4038,10.23,4039,5.151,4040,4.507,4041,7.757,4042,7.757,4043,8.54,4044,4.771,4045,10.45,4046,8.607,4047,5.151,4048,5.151,4049,5.435,4050,4.521,4051,5.151,4052,5.151,4053,5.151,4054,8.978,4055,5.151,4056,5.151,4057,5.151,4058,5.151,4059,5.151,4060,8.978,4061,5.151,4062,5.151,4063,5.151,4064,3.861,4065,3.137,4066,5.536,4067,3.704,4068,6.478,4069,5.151,4070,5.151,4071,3.954,4072,4.334,4073,5.151,4074,5.151,4075,4.521,4076,5.151,4077,4.594,4078,5.151,4079,4.771,4080,5.151,4081,5.151,4082,5.151,4083,7.699,4084,4.771,4085,5.151,4086,3.137,4087,4.185,4088,4.185,4089,5.151,4090,5.151,4091,4.771]],["title/classes/BoardTaskResponse.html",[0,0.241,3761,5.86]],["body/classes/BoardTaskResponse.html",[0,0.233,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,27,0.533,29,0.515,30,0.001,31,0.707,32,0.169,33,0.625,34,2.081,47,0.994,83,3.86,95,0.12,101,0.009,103,0,104,0,112,0.733,157,2.484,190,2.426,201,5.195,202,1.548,296,3.541,298,2.928,402,4.378,430,5.006,431,5.216,433,1.148,458,2.689,460,4.106,462,4.106,821,3.442,2051,2.853,2055,7.446,2127,3.947,2184,2.669,2959,3.096,2965,7.329,3041,10.87,3042,10.87,3051,4.759,3054,7.213,3593,5.55,3761,10.24,3779,8.205,4092,6.742,4093,7.016,4094,6.757,4095,6.742,4096,6.742,4097,6.742,4098,6.742,4099,6.742,4100,6.742,4101,6.742,4102,6.742,4103,6.742,4104,9.029,4105,6.742,4106,6.742,4107,5.673]],["title/classes/BoardTaskStatusMapper.html",[0,0.241,4108,6.113]],["body/classes/BoardTaskStatusMapper.html",[0,0.343,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,8,1.371,27,0.386,29,0.756,30,0.001,31,0.556,32,0.123,33,0.452,35,1.135,95,0.134,99,1.995,100,4.186,101,0.013,103,0.001,104,0.001,135,1.288,148,0.973,153,1.601,402,3.561,467,3.76,830,6.673,837,4.903,4104,10.868,4108,10.534,4109,12.003,4110,9.901,4111,10.099,4112,9.03,4113,9.901,4114,9.901]],["title/classes/BoardTaskStatusResponse.html",[0,0.241,4104,5.86]],["body/classes/BoardTaskStatusResponse.html",[0,0.268,2,0.819,3,0.014,4,0.014,5,0.007,7,0.108,27,0.522,29,0.592,30,0.001,31,0.436,32,0.166,33,0.354,55,2.66,95,0.086,101,0.01,103,0,104,0,112,0.807,122,2.722,190,2.353,202,1.781,296,3.712,433,1.263,821,3.961,2959,6.245,2965,7.227,3041,10.72,3042,10.72,4104,10.748,4115,6.809,4116,8.722,4117,9.018,4118,8.467,4119,8.467,4120,9.186,4121,8.722,4122,7.186,4123,7.758,4124,7.758,4125,7.758,4126,7.758,4127,7.758,4128,7.758,4129,6.528,4130,7.186,4131,6.528,4132,6.303,4133,7.186,4134,7.186]],["title/injectables/BoardUc.html",[589,0.926,3024,5.658]],["body/injectables/BoardUc.html",[0,0.155,3,0.008,4,0.008,5,0.004,7,0.063,8,0.793,26,2.935,27,0.479,29,0.939,30,0.001,31,0.691,32,0.152,33,0.562,35,1.381,36,2.751,39,3.679,47,0.623,55,1.718,59,1.397,95,0.134,99,0.905,101,0.006,103,0,104,0,113,4.661,135,1.526,148,0.833,155,3.29,228,1.957,231,1.198,277,0.643,317,2.998,433,0.853,436,2.505,589,0.923,591,1.066,610,1.772,652,1.94,657,3.076,688,2.095,1027,1.375,1197,6.799,1792,7.153,1793,4.6,1853,1.474,1862,6.037,1936,3.022,1968,5.091,2020,8.514,2032,2.656,2051,5.297,2447,3.544,2448,4.469,2662,5.187,2663,8.364,2665,5.471,2666,5.471,2667,3.231,2668,8.14,2670,3.45,2671,5.091,2672,4.991,2674,3.542,2675,5.636,2677,3.542,2678,4.9,2680,2.064,2694,8.719,2965,5.479,3024,5.639,3205,7.854,3206,7.854,3209,7.854,3453,3.368,3624,3.944,3659,3.231,3734,7.913,3821,11.057,3891,8.954,3892,9.228,4135,4.494,4136,8.48,4137,8.48,4138,8.834,4139,4.494,4140,6.941,4141,4.494,4142,6.941,4143,4.494,4144,6.941,4145,4.494,4146,6.941,4147,4.494,4148,4.494,4149,8.024,4150,9.537,4151,4.494,4152,6.941,4153,4.494,4154,3.651,4155,3.651,4156,3.651,4157,3.296,4158,4.494,4159,3.651,4160,3.651,4161,4.494,4162,7.835,4163,10.309,4164,4.494,4165,4.494,4166,4.494,4167,4.494,4168,4.162,4169,7.854,4170,4.494,4171,4.494]],["title/injectables/BoardUrlHandler.html",[589,0.926,4172,5.86]],["body/injectables/BoardUrlHandler.html",[0,0.229,3,0.012,4,0.012,5,0.006,7,0.092,8,1.055,9,3.071,27,0.488,29,0.923,30,0.001,31,0.679,32,0.162,33,0.552,34,1.578,35,1.318,36,1.951,47,0.991,95,0.143,101,0.008,103,0,104,0,105,10.128,106,7.146,107,6.948,108,8.633,110,4.556,111,5.218,112,0.724,113,3.667,114,8.633,115,7.276,116,7.499,117,7.276,118,7.276,120,5.218,122,1.372,123,5.378,125,2.531,126,5.218,127,5.761,129,2.733,130,2.498,131,5.869,134,2.344,135,1.496,148,0.907,228,1.658,231,1.593,233,2.052,277,0.947,317,2.299,400,1.941,433,0.813,436,3.396,589,1.227,591,1.57,652,1.346,657,2.111,1237,1.918,1853,2.172,1933,4.673,2018,8.516,2020,9.385,2029,4.962,2031,4.593,2032,5.454,2033,3.5,2048,4.76,2051,2.801,2054,4.962,4172,7.766,4173,10.627,4174,6.207,4175,6.132,4176,6.62,4177,7.276,4178,6.62,4179,5.57,4180,5.57,4181,5.57,4182,9.23,4183,6.62,4184,7.085,4185,5.378,4186,7.085,4187,5.57,4188,5.378,4189,6.62,4190,4.452,4191,6.132,4192,6.62,4193,6.62,4194,6.62,4195,6.62]],["title/classes/BoardUrlParams.html",[0,0.241,3211,6.113]],["body/classes/BoardUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2051,5.11,3211,10.598,3821,10.539,4196,9.999,4197,6.09,4198,9.999]],["title/classes/BruteForceError.html",[0,0.241,1720,6.113]],["body/classes/BruteForceError.html",[0,0.264,2,0.805,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.528,29,0.582,30,0.001,31,0.428,32,0.173,33,0.522,35,0.875,47,0.96,55,2.647,95,0.113,101,0.01,103,0,104,0,112,0.797,155,3.892,190,2.277,205,1.554,228,2.541,231,1.754,233,2.364,277,1.09,347,3.918,393,3.776,402,2.743,433,0.937,436,3.859,868,5.869,871,2.806,998,5.414,1078,3.341,1080,4.227,1115,5.075,1354,8.637,1355,6.573,1356,7.475,1360,5.054,1361,4.384,1362,5.054,1363,5.054,1364,5.054,1365,5.054,1366,5.054,1367,4.694,1368,4.309,1374,4.921,1720,8.921,1744,12.101,4199,11.433,4200,7.626,4201,10.165,4202,10.165,4203,7.063,4204,7.626,4205,7.626]],["title/injectables/BsonConverter.html",[589,0.926,4206,5.86]],["body/injectables/BsonConverter.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,27,0.406,29,0.795,30,0.001,31,0.585,32,0.129,33,0.476,35,1.419,95,0.116,101,0.01,103,0,104,0,135,1.355,148,1.024,157,2.411,158,4.873,277,1.131,388,4.464,574,4.434,589,1.384,591,1.877,623,8.929,1610,10.017,2374,10.017,4206,8.763,4207,7.911,4208,9.647,4209,9.647,4210,10.415,4211,7.911,4212,10.415,4213,11.33,4214,9.754,4215,9.816,4216,9.274,4217,11.46,4218,12.373,4219,10.415,4220,7.911,4221,10.415,4222,7.911,4223,7.911,4224,9.141,4225,7.911]],["title/classes/Builder.html",[0,0.241,2203,4.554]],["body/classes/Builder.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.349,27,0.498,29,0.736,30,0.001,31,0.541,32,0.146,33,0.44,35,1.105,101,0.012,103,0.001,104,0.001,112,0.926,113,5.072,148,0.947,228,2.293,433,1.184,507,5.909,532,5.16,2138,7.022,2203,7.72,2204,10.741,4226,9.639,4227,11.809,4228,11.809,4229,11.809,4230,9.639,4231,11.809]],["title/classes/BusinessError.html",[0,0.241,1354,4.386]],["body/classes/BusinessError.html",[0,0.352,2,0.645,3,0.011,4,0.011,5,0.005,7,0.085,8,0.996,9,4.717,27,0.489,29,0.466,30,0.001,31,0.343,32,0.171,33,0.465,35,0.7,47,0.896,55,1.767,59,2.71,95,0.124,101,0.008,103,0,104,0,112,0.684,113,3.464,125,1.455,135,0.795,148,0.6,153,1.645,155,4.098,157,2.823,158,2.254,185,2.092,190,2.103,201,3.389,202,1.402,228,2.488,231,1.504,233,1.893,277,0.873,296,3.069,402,3.136,433,1.071,640,3.759,653,2.512,821,3.118,868,5.338,871,3.208,998,6.352,1078,5.139,1080,4.529,1084,7.573,1115,4.642,1354,5.49,1355,7.512,1356,7.252,1361,3.511,1367,7.729,1368,6.268,1373,3.719,1374,6.562,1381,7.458,1476,3.681,1516,7.652,1675,3.681,2099,8.314,2106,9.898,2109,3.82,2140,4.969,2831,3.49,3056,4.196,4232,6.107,4233,7.083,4234,7.083,4235,6.05,4236,6.693,4237,5.626,4238,8.719,4239,6.107,4240,6.107,4241,6.107,4242,6.107,4243,6.107,4244,6.107,4245,6.107,4246,5.36,4247,5.656,4248,5.656,4249,6.693,4250,8.076,4251,8.719,4252,6.107,4253,6.107]],["title/injectables/CacheService.html",[589,0.926,4254,5.86]],["body/injectables/CacheService.html",[0,0.347,3,0.019,4,0.019,5,0.009,7,0.14,8,1.382,27,0.391,30,0.001,35,1.15,95,0.145,101,0.013,103,0.001,104,0.001,148,0.985,277,1.433,589,1.608,591,2.378,1507,7.514,2219,4.494,2220,5.054,2221,4.879,4254,10.175,4255,10.024,4256,13.484,4257,10.024,4258,11.398,4259,5.868,4260,10.024,4261,7.514,4262,9.285,4263,8.798,4264,10.024]],["title/modules/CacheWrapperModule.html",[252,1.839,1522,5.86]],["body/modules/CacheWrapperModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,47,0.77,95,0.153,101,0.01,103,0,104,0,110,2.778,135,1.522,148,1.03,159,0.817,252,3.089,254,2.874,255,3.051,256,3.128,257,3.117,258,3.106,259,4.249,260,4.348,265,4.862,269,4.104,270,3.073,271,3.009,276,4.104,277,1.143,686,5.745,688,3.725,734,4.418,1027,2.445,1080,2.77,1522,11.515,1987,8.516,2219,3.582,2220,4.029,2221,3.889,2447,3.34,2448,5.483,2831,3.198,4254,12.09,4258,7.012,4259,4.677,4261,8.77,4263,7.012,4265,7.99,4266,7.99,4267,7.99,4268,7.99,4269,10.483,4270,10.483,4271,7.012,4272,6.298,4273,8.264,4274,8.82,4275,7.99,4276,7.99,4277,7.99,4278,9.71,4279,7.401,4280,7.99,4281,7.012,4282,7.401,4283,7.012,4284,7.012,4285,7.401]],["title/interfaces/CalendarEvent.html",[159,0.712,4286,5.86]],["body/interfaces/CalendarEvent.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.164,47,0.911,101,0.013,103,0.001,104,0.001,112,0.972,159,1.068,161,2.487,172,5.288,339,4.008,401,5.852,1170,6.575,4286,10.426,4287,10.441,4288,10.441,4289,8.483,4290,8.015,4291,7.245]],["title/classes/CalendarEventDto.html",[0,0.241,4292,5.86]],["body/classes/CalendarEventDto.html",[0,0.342,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,27,0.503,29,0.754,30,0.001,31,0.555,32,0.16,33,0.451,47,0.986,100,3.444,101,0.013,103,0.001,104,0.001,112,0.94,155,4.118,433,1.213,3056,4.753,4291,8.953,4292,11.565,4293,13.417,4294,9.876,4295,10.084,4296,11.985,4297,9.876,4298,9.876,4299,9.148,4300,9.148]],["title/injectables/CalendarMapper.html",[589,0.926,4301,5.86]],["body/injectables/CalendarMapper.html",[0,0.333,3,0.018,4,0.018,5,0.009,7,0.134,8,1.347,27,0.375,29,0.734,30,0.001,31,0.54,32,0.119,33,0.439,35,1.103,95,0.142,101,0.012,103,0.001,104,0.001,135,1.251,148,0.945,153,1.555,155,3.069,277,1.375,470,9.579,589,1.567,591,2.281,4286,11.186,4289,7.812,4290,7.382,4291,8.182,4292,11.186,4301,9.921,4302,9.616,4303,11.791,4304,9.616,4305,7.812,4306,9.616,4307,8.907,4308,8.907,4309,8.907,4310,9.616,4311,9.616,4312,9.616]],["title/modules/CalendarModule.html",[252,1.839,4313,6.113]],["body/modules/CalendarModule.html",[0,0.326,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.335,254,3.386,255,3.595,256,3.685,257,3.672,258,3.659,259,4.588,260,4.694,269,4.556,270,3.62,271,3.545,276,3.685,277,1.346,1054,5.319,3904,7.608,4301,11.622,4313,12.513,4314,9.413,4315,9.413,4316,9.413,4317,12.718,4318,9.413,4319,9.413,4320,8.719]],["title/injectables/CalendarService.html",[589,0.926,4317,6.113]],["body/injectables/CalendarService.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.091,8,1.049,26,2.598,27,0.47,29,0.808,30,0.001,31,0.594,32,0.149,33,0.483,34,1.123,35,1.052,36,1.94,39,2.547,47,0.918,55,2.144,95,0.152,99,1.323,101,0.008,103,0,104,0,110,3.983,112,0.72,135,1.194,142,2.377,148,0.902,153,1.711,189,4.042,228,2.349,277,0.939,317,2.289,326,3.492,400,1.925,414,5.368,433,0.807,579,1.875,589,1.22,591,1.558,652,2.738,1053,8.527,1054,3.71,1056,4.237,1164,5.04,1169,3.808,1312,4.323,1313,4.483,1314,4.816,1475,4.134,1611,5.334,2084,4.352,2088,4.91,2114,6.599,2219,2.943,2220,3.311,2221,3.195,2333,5.929,2352,9.286,2353,11.165,2382,7.234,2383,8.121,2398,6.082,2406,6.082,2407,6.082,2418,6.082,2429,6.082,2430,6.082,2432,6.082,2716,4.635,4259,3.844,4286,5.524,4292,5.524,4301,10.786,4307,6.082,4308,6.082,4309,6.082,4317,8.055,4320,6.082,4321,6.566,4322,10.58,4323,9.177,4324,5.763,4325,9.177,4326,9.177,4327,11.455,4328,6.566,4329,9.306,4330,6.566,4331,6.566,4332,6.566,4333,6.566,4334,9.177,4335,6.566,4336,6.566,4337,6.566,4338,4.921,4339,6.566,4340,6.566,4341,6.566]],["title/classes/Card.html",[0,0.241,3127,3.969]],["body/classes/Card.html",[0,0.199,2,0.607,3,0.011,4,0.011,5,0.008,7,0.08,8,0.954,27,0.522,29,0.964,30,0.001,31,0.71,32,0.162,33,0.577,35,1.477,36,1.764,47,0.842,55,2.498,59,1.787,95,0.141,101,0.013,103,0,104,0,112,0.655,113,3.316,122,2.038,134,2.036,135,0.748,148,1.06,155,3.814,158,2.122,159,0.588,189,5.138,231,1.696,317,2.126,435,2.868,436,3.731,527,2.443,532,3.061,567,3.112,569,3.714,614,1.782,653,5.071,657,1.315,711,2.418,735,3.778,1770,5.154,1773,5.986,1842,3.814,2051,2.433,2370,3.221,2662,6.227,2698,1.865,2912,2.751,3058,7.761,3061,5.893,3062,5.893,3063,5.893,3064,5.457,3065,5.893,3067,3.578,3068,5.084,3069,6.256,3071,5.699,3072,5.084,3073,6.201,3075,3.989,3076,4.468,3078,6.189,3079,3.989,3081,6.002,3083,3.989,3085,3.578,3112,5.031,3127,6.147,3134,5.457,3137,5.533,3140,5.196,3143,5.457,3146,5.138,3149,5.256,3154,8.292,3158,4.309,3159,2.601,3160,3.501,3556,4.309,3578,7.711,4342,5.324,4343,5.748,4344,5.748,4345,5.324,4346,4.133,4347,4.133,4348,4.133,4349,4.836,4350,5.748,4351,5.045,4352,5.748,4353,5.748,4354,5.748,4355,5.748,4356,5.748,4357,3.578,4358,5.792,4359,4.531,4360,7.732,4361,5.324,4362,5.138,4363,5.324,4364,5.324,4365,5.045,4366,5.324]],["title/controllers/CardController.html",[314,2.65,3032,6.113]],["body/controllers/CardController.html",[0,0.131,3,0.007,4,0.007,5,0.003,7,0.053,8,0.692,10,3.045,27,0.395,29,0.773,30,0.001,31,0.569,32,0.176,33,0.462,35,1.161,36,2.571,95,0.123,100,1.318,101,0.005,103,0,104,0,135,1.383,141,2.596,148,0.595,153,1.226,155,1.933,190,1.814,202,0.868,228,1.088,274,1.573,277,0.54,314,1.438,316,1.819,317,2.821,325,6.507,333,4.072,337,7.488,339,1.108,342,7.953,345,8.407,349,6.864,365,2.69,374,2.63,379,4.812,388,4.066,389,2.471,390,6.224,391,8.328,392,1.967,393,1.871,395,2.023,398,2.038,400,1.108,401,5.673,402,4.843,615,2.302,652,0.769,657,2.315,675,1.929,734,2.552,871,2.228,1351,7.15,2049,3.092,2661,3.07,2681,6.344,2918,5.72,2954,5.38,3025,5.974,3026,6.157,3032,5.315,3036,1.771,3127,5.769,3212,7.278,3214,4.539,3216,7.587,3217,7.11,3220,7.644,3222,6.833,3235,9.74,3236,7.042,3237,5.028,3240,1.942,3241,2.541,3242,2.068,3249,3.07,3259,6.358,3260,6.497,3263,3.317,3571,6.653,3578,3.908,3612,7.042,3728,4.355,3866,3.5,4041,6.376,4044,3.5,4046,7.293,4049,4.275,4050,3.317,4064,4.539,4065,2.302,4066,5.449,4067,5.449,4071,2.901,4086,2.302,4087,3.07,4088,3.07,4367,3.779,4368,5.609,4369,7.578,4370,6.651,4371,7.019,4372,7.019,4373,11.243,4374,3.779,4375,5.817,4376,3.779,4377,3.779,4378,3.779,4379,3.779,4380,8.667,4381,3.779,4382,3.779,4383,3.779,4384,7.578,4385,7.607,4386,3.779,4387,3.779,4388,3.779,4389,3.779,4390,3.779,4391,7.607,4392,3.779,4393,3.779,4394,3.779,4395,7.607,4396,3.779,4397,3.779,4398,3.779,4399,3.779,4400,3.779,4401,2.439,4402,6.651,4403,2.901,4404,4.649,4405,4.649,4406,3.779,4407,3.779,4408,3.18,4409,3.779,4410,5.315,4411,3.779,4412,6.056,4413,3.779,4414,6.056,4415,3.5,4416,3.779,4417,3.779,4418,9.485,4419,3.779,4420,3.317,4421,3.779,4422,3.779,4423,3.779,4424,3.779,4425,3.779,4426,3.779,4427,3.779,4428,3.779,4429,3.317,4430,3.317,4431,3.317,4432,3.317,4433,3.779,4434,4.649,4435,3.779,4436,3.317]],["title/classes/CardIdsParams.html",[0,0.241,4385,6.113]],["body/classes/CardIdsParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.159,47,1.008,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,125,2.335,157,2.269,190,1.757,195,2.154,200,3,202,2.251,296,3.122,615,8.354,855,4.831,1835,6.131,2531,5.286,4385,10.472,4437,11.051,4438,9.804,4439,9.804,4440,7.965,4441,7.051,4442,9.804]],["title/classes/CardListResponse.html",[0,0.241,4402,6.113]],["body/classes/CardListResponse.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.463,29,0.743,30,0.001,31,0.547,32,0.159,33,0.445,95,0.132,101,0.012,103,0.001,104,0.001,112,0.932,125,2.318,190,1.745,202,2.235,296,3.108,339,4.014,433,1.459,821,4.969,861,6.753,866,4.848,881,5.327,4402,12.015,4437,11.875,4443,9.733,4444,10.846,4445,9.733,4446,9.733]],["title/entities/CardNode.html",[205,1.419,3491,5.49]],["body/entities/CardNode.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,27,0.352,30,0.001,32,0.14,55,2.512,95,0.149,96,2.358,101,0.015,103,0.001,104,0.001,112,0.89,134,3.198,135,1.175,148,0.888,159,0.924,190,1.619,205,2.311,206,2.947,223,3.864,224,2.616,231,1.957,232,2.444,457,5.021,1770,4.54,1853,2.963,2109,3.957,2715,5.104,3127,6.464,3467,6.071,3477,6.768,3491,8.94,3549,5.501,3570,9.954,3578,8.392,3611,6.167,3920,6.933,3922,6.907,3942,5.56,4447,10.505,4448,5.687,4449,8.366,4450,5.687,4451,9.954,4452,7.6,4453,8.366,4454,8.366]],["title/interfaces/CardNodeProps.html",[159,0.712,4451,6.113]],["body/interfaces/CardNodeProps.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.141,55,2.639,95,0.149,96,2.369,101,0.015,103,0.001,104,0.001,112,0.892,134,3.213,135,1.181,148,0.892,159,0.928,161,2.161,205,2.318,223,3.544,224,2.628,231,2.144,232,2.455,457,5.044,1770,4.553,1853,2.977,2109,3.975,2715,5.127,3127,6.482,3467,6.088,3477,6.787,3491,7.152,3549,5.526,3570,9.982,3578,8.657,3611,6.195,3920,6.965,3922,7.566,3942,5.585,4447,8.404,4448,5.713,4450,5.713,4451,10.904,4452,7.634,4453,8.404,4454,8.404]],["title/interfaces/CardProps.html",[159,0.712,4365,6.113]],["body/interfaces/CardProps.html",[0,0.261,3,0.014,4,0.014,5,0.009,7,0.105,30,0.001,32,0.141,36,1.593,47,0.93,55,2.564,95,0.151,101,0.015,103,0,104,0,112,0.791,122,1.563,134,2.67,135,0.981,148,1.193,155,4.156,158,2.783,159,0.771,161,1.796,231,1.962,317,1.631,527,3.204,567,3.761,569,2.343,614,2.337,653,5.469,657,1.724,1770,5.213,1842,4.61,2051,3.191,2370,4.226,2662,4.803,2698,2.446,2912,3.609,3058,6.08,3068,4.592,3069,5.851,3072,4.592,3073,5.799,3081,5.421,3112,6.852,3127,6.479,3134,6.595,3137,6.687,3140,6.279,3143,6.595,3146,6.21,3149,6.352,3154,9.036,3158,5.652,3159,3.412,3160,4.592,3556,5.652,3578,8.403,4342,6.984,4357,4.693,4358,7,4359,5.944,4360,9.344,4361,6.984,4362,6.21,4363,6.984,4364,6.984,4365,8.854,4366,6.984]],["title/classes/CardResponse.html",[0,0.241,4444,5.658]],["body/classes/CardResponse.html",[0,0.244,2,0.746,3,0.013,4,0.013,5,0.006,7,0.098,27,0.51,29,0.539,30,0.001,31,0.397,32,0.165,33,0.502,34,2.116,47,0.868,55,1.956,95,0.138,101,0.009,103,0,104,0,112,0.757,125,1.682,155,3.949,190,2.29,201,3.751,202,1.622,296,3.533,298,3.067,304,3.497,433,1.186,458,2.816,821,3.606,866,3.518,874,5.65,896,6.879,1835,4.959,2049,2.882,2661,8.933,2918,7.218,2926,7.177,3054,6.008,3056,3.399,3196,4.617,3197,5.166,3198,5.166,3578,7.984,3779,6.198,4019,6.321,4023,4.617,4025,4.617,4064,7.234,4065,4.301,4066,6.94,4067,6.94,4086,4.301,4087,5.738,4088,5.738,4375,7.409,4403,7.409,4404,7.409,4405,7.409,4429,6.198,4430,6.198,4431,6.198,4432,6.198,4444,10.052,4452,5.942,4455,7.062,4456,11.461,4457,7.062,4458,7.062,4459,7.062,4460,7.062,4461,7.062,4462,7.062,4463,9.251,4464,7.062,4465,6.198,4466,7.062,4467,6.198,4468,7.062]],["title/classes/CardResponseMapper.html",[0,0.241,4408,5.86]],["body/classes/CardResponseMapper.html",[0,0.318,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,8,1.311,27,0.358,29,0.702,30,0.001,31,0.517,32,0.114,33,0.42,34,1.573,35,1.055,95,0.139,100,3.208,101,0.012,103,0.001,104,0.001,135,1.197,141,4.917,148,0.904,153,2.022,155,2.936,430,3.783,467,3.639,829,5.435,830,6.377,835,7.06,896,5.113,1853,3.017,2049,3.753,2393,3.525,2926,5.335,3127,7.676,3578,5.935,4019,6.595,4035,6.493,4071,7.06,4408,9.652,4436,8.073,4444,10.634,4456,8.519,4463,9.652,4469,11.471,4470,11.471,4471,8.519,4472,8.073,4473,8.073,4474,7.739,4475,9.198,4476,9.198,4477,9.198]],["title/injectables/CardService.html",[589,0.926,3891,5.49]],["body/injectables/CardService.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.892,10,3.136,12,3.532,26,2.427,27,0.49,29,0.96,30,0.001,31,0.706,32,0.156,33,0.575,34,0.897,35,1.411,36,2.878,47,0.685,49,1.976,55,2.343,59,2.426,83,2.288,95,0.133,99,1.057,101,0.007,103,0,104,0,135,1.436,148,0.916,153,1.784,155,3.522,228,1.674,277,0.75,317,3.054,430,2.157,431,2.248,433,0.959,574,2.94,579,1.498,589,1.037,591,1.244,615,3.194,652,2.352,653,2.157,657,2.97,734,3.289,1853,1.721,2019,8.786,2051,2.22,2393,2.01,2636,2.567,2954,2.788,2965,6.366,3066,3.639,3127,8.131,3445,3.932,3446,8.164,3571,5.991,3578,7.12,3639,6.566,3668,5.868,3725,8.978,3728,5.611,3734,7.923,3738,4.413,3891,6.152,4410,4.603,4473,4.603,4474,4.413,4478,5.245,4479,7.804,4480,7.804,4481,6.849,4482,5.245,4483,6.849,4484,10.581,4485,6.236,4486,5.245,4487,7.804,4488,5.245,4489,7.804,4490,5.245,4491,7.804,4492,5.245,4493,6.152,4494,7.804,4495,5.245,4496,7.804,4497,9.56,4498,5.245,4499,7.804,4500,5.245,4501,7.804,4502,5.245,4503,4.261,4504,5.245,4505,5.245,4506,5.245,4507,5.245,4508,5.245,4509,4.858,4510,3.229,4511,4.858,4512,5.245,4513,5.245,4514,5.245,4515,5.245,4516,7.804,4517,7.804,4518,7.804,4519,5.245]],["title/classes/CardSkeletonResponse.html",[0,0.241,4520,5.86]],["body/classes/CardSkeletonResponse.html",[0,0.302,2,0.922,3,0.016,4,0.016,5,0.008,7,0.122,27,0.476,29,0.667,30,0.001,31,0.491,32,0.151,33,0.399,47,0.816,55,2.25,72,5.1,95,0.097,101,0.011,103,0.001,104,0.001,112,0.871,130,3.005,157,2.022,190,1.991,202,2.006,296,3.195,304,4.327,433,1.364,802,7.362,821,4.461,868,4.205,1218,7.261,2587,8.526,3127,6.33,3196,5.712,3197,5.945,3198,5.945,3578,8.888,3750,7.583,4452,7.351,4493,10.456,4520,11.16,4521,12.848,4522,8.737,4523,8.737,4524,8.737,4525,11.106,4526,9.748,4527,11.106,4528,9.748,4529,11.106,4530,10.287,4531,10.287,4532,8.737,4533,8.737]],["title/injectables/CardUc.html",[589,0.926,3025,5.49]],["body/injectables/CardUc.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,8,0.715,26,2.917,27,0.471,29,0.939,30,0.001,31,0.679,32,0.161,33,0.552,35,1.358,36,2.731,39,3.648,47,0.572,55,2.399,59,1.945,95,0.12,99,0.794,101,0.005,103,0,104,0,113,4.456,125,0.938,135,1.645,141,1.688,148,0.952,155,3.09,183,2.39,228,1.739,231,1.08,277,0.563,290,0.934,317,2.98,433,0.769,436,2.301,532,3.551,589,0.832,591,0.934,610,1.553,652,2.097,657,3.083,688,1.836,896,2.189,1027,1.205,1197,7.139,1675,2.374,1778,2.48,1792,7.153,1793,2.61,1853,1.292,1862,5.744,1936,2.648,1962,2.35,1964,3.105,1968,4.591,2019,6.509,2024,6.995,2030,3.2,2049,3.621,2447,3.256,2448,4.158,2488,2.889,2492,3.105,2662,5.146,2663,7.913,2665,4.934,2666,4.934,2667,2.832,2668,7.782,2670,3.023,2671,4.591,2672,4.501,2674,3.105,2675,5.244,2677,3.105,2678,6.264,2680,1.809,2682,5.713,2694,7.913,3025,4.934,3127,6.748,3453,2.952,3571,4.805,3578,6.248,3734,7.432,3891,8.52,4041,7.466,4154,3.2,4155,3.2,4156,3.2,4159,3.2,4160,3.2,4162,7.412,4362,3.853,4368,7.215,4370,3.457,4371,7.215,4372,7.215,4410,7.788,4434,7.913,4485,4.62,4493,10.185,4534,3.938,4535,6.259,4536,7.789,4537,6.554,4538,6.836,4539,3.938,4540,3.648,4541,3.938,4542,6.259,4543,3.938,4544,6.259,4545,7.789,4546,3.938,4547,6.259,4548,3.938,4549,3.938,4550,8.873,4551,3.938,4552,6.259,4553,3.938,4554,6.259,4555,3.938,4556,3.938,4557,3.938,4558,6.259,4559,3.938,4560,8.219,4561,3.938,4562,3.938,4563,3.938,4564,3.938,4565,6.259,4566,3.648,4567,7.215,4568,3.938,4569,3.938,4570,3.938,4571,3.938,4572,3.938,4573,3.938]],["title/classes/CardUrlParams.html",[0,0.241,4373,6.113]],["body/classes/CardUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,3127,6.882,4197,6.09,4373,10.598,4493,10.226,4574,9.999,4575,9.999]],["title/classes/ChallengeParams.html",[0,0.241,4576,6.113]],["body/classes/ChallengeParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,180,5.16,187,6.803,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,299,4.713,308,7.298,4576,10.566,4577,9.95,4578,9.904,4579,9.95]],["title/classes/ChangeLanguageParams.html",[0,0.241,4580,5.86]],["body/classes/ChangeLanguageParams.html",[0,0.421,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,27,0.395,30,0.001,32,0.125,95,0.145,101,0.013,103,0.001,104,0.001,112,0.954,190,1.815,200,3.098,202,2.325,296,3.183,478,2.837,886,3.206,899,4.627,1198,7.861,3200,6.042,4580,10.237,4581,10.125,4582,9.238,4583,10.125,4584,10.125,4585,7.773]],["title/classes/Class.html",[0,0.331]],["body/classes/Class.html",[0,0.39,2,0.668,3,0.012,4,0.023,5,0.006,7,0.088,8,1.022,26,2.737,27,0.546,29,0.483,30,0.001,31,0.668,32,0.111,33,0.289,35,1.025,39,2.482,47,0.993,55,1.812,62,6.725,83,3.305,95,0.116,99,1.275,101,0.011,103,0,104,0,112,0.701,113,3.553,125,3.086,148,1.351,159,0.647,185,2.167,231,1.789,430,4.635,431,4.831,435,3.072,436,2.641,532,3.279,569,1.967,711,3.444,735,4.047,1767,4.857,1770,4.759,1773,6.316,1849,3.606,3067,3.939,3085,3.939,3088,4.988,3090,4.988,3093,4.391,3094,4.391,4586,5.861,4587,8.283,4588,3.86,4589,7.956,4590,8.652,4591,8.267,4592,8.652,4593,7.182,4594,8.652,4595,8.652,4596,8.283,4597,6.328,4598,4.857,4599,6.328,4600,3.985,4601,6.328,4602,6.328,4603,6.328,4604,5.324,4605,6.328,4606,6.328,4607,6.328,4608,6.328,4609,6.328,4610,6.328,4611,6.328,4612,6.328,4613,6.328,4614,6.328,4615,6.328,4616,6.328,4617,6.328,4618,6.328,4619,6.328,4620,6.328,4621,6.328,4622,7.961,4623,4.857,4624,5.324,4625,5.324,4626,5.324,4627,8.283,4628,5.861,4629,5.861,4630,5.861,4631,5.861,4632,5.861,4633,5.861,4634,5.861,4635,5.861,4636,5.861,4637,5.861]],["title/entities/ClassEntity.html",[205,1.419,4638,5.109]],["body/entities/ClassEntity.html",[0,0.276,2,0.569,3,0.01,4,0.022,5,0.005,7,0.168,26,1.614,27,0.509,30,0.001,31,0.588,32,0.162,33,0.625,34,0.922,47,0.972,49,5.152,55,1.92,62,6.243,95,0.124,96,2.08,97,2.175,99,1.087,101,0.01,103,0,104,0,112,0.743,125,3.069,130,1.459,153,0.872,159,0.552,185,2.729,190,2.343,195,3.006,196,4.203,205,1.623,206,1.759,211,6.666,221,5.971,223,4.122,224,1.562,225,3.053,229,2.127,231,0.931,232,1.459,233,1.672,458,2.151,459,4.12,579,1.54,652,1.097,756,2.151,2184,2.135,4588,3.584,4589,7.386,4590,8.032,4591,8.188,4592,8.032,4593,7.114,4594,8.032,4595,8.032,4638,5.843,4639,4.995,4640,5.393,4641,5.393,4642,5.393,4643,5.393,4644,5.393,4645,6.703,4646,5.393,4647,8.799,4648,3.682,4649,5.393,4650,5.393,4651,5.393,4652,5.393,4653,5.393,4654,4.204,4655,3.022,4656,4.538,4657,7.971,4658,4.538,4659,9.691,4660,6.703,4661,4.995,4662,4.995,4663,4.538,4664,2.429,4665,3.157,4666,3.956,4667,7.379,4668,4.251,4669,4.995,4670,4.995,4671,7.379,4672,4.995,4673,7.379,4674,4.995,4675,4.995,4676,6.28,4677,4.042,4678,7.379,4679,4.995,4680,6.115,4681,3.742,4682,7.379,4683,4.995]],["title/classes/ClassEntityFactory.html",[0,0.241,4684,6.451]],["body/classes/ClassEntityFactory.html",[0,0.167,2,0.509,3,0.009,4,0.016,5,0.004,7,0.067,8,0.837,27,0.515,29,1.017,30,0.001,31,0.734,32,0.167,33,0.582,34,1.692,35,1.409,47,0.538,49,4.629,55,2.36,59,3.308,62,5.287,95,0.11,101,0.006,103,0,104,0,112,0.575,113,4.452,127,4.959,129,3.553,130,3.247,135,0.953,148,0.72,153,1.883,157,2.051,172,3.127,185,2.51,192,2.66,205,2.169,206,2.39,228,1.316,231,1.264,326,4.847,374,3.182,433,0.593,436,3.86,467,2.133,501,7.293,502,5.501,505,4.073,506,5.501,507,5.458,508,4.073,509,4.073,510,4.073,511,4.01,512,4.524,513,4.926,514,7.098,515,5.824,516,7.079,517,2.703,522,2.681,523,4.073,524,2.703,525,5.187,526,5.335,527,4.205,528,5.021,529,4.041,530,2.681,531,2.528,532,4.109,533,2.563,534,2.528,535,2.681,536,2.703,537,4.849,538,2.681,539,7.179,540,3.981,541,6.671,542,2.703,543,4.312,544,2.681,545,2.703,546,2.681,547,2.703,548,2.681,549,3.002,550,2.823,551,2.681,552,6.133,553,2.703,554,2.681,555,4.073,556,3.717,557,4.073,558,2.703,559,2.6,560,2.563,561,2.172,562,2.681,563,2.681,564,2.681,565,2.703,566,2.703,567,1.798,568,2.681,569,1.499,570,2.703,571,2.9,572,2.681,573,2.703,574,2.703,575,2.773,577,2.878,1835,2.478,2370,2.703,4588,1.652,4589,3.405,4590,3.702,4591,3.538,4592,3.702,4593,3.074,4594,3.702,4595,3.702,4638,3.538,4647,5.776,4657,4.058,4684,8.207,4685,4.823,4686,6.431,4687,6.787,4688,4.823,4689,4.823,4690,4.058,4691,4.823,4692,3.468,4693,3.702]],["title/interfaces/ClassEntityProps.html",[159,0.712,4657,5.86]],["body/interfaces/ClassEntityProps.html",[0,0.286,2,0.597,3,0.01,4,0.023,5,0.005,7,0.171,26,2.17,30,0.001,31,0.639,32,0.165,33,0.636,34,1.831,47,1.013,49,5.311,55,2.17,62,6.793,95,0.127,96,2.155,97,2.283,99,1.14,101,0.011,103,0,104,0,112,0.764,125,3.104,130,1.531,153,0.915,159,0.579,161,1.348,185,1.938,195,2.818,196,4.173,205,1.682,223,4.115,224,1.639,225,3.163,229,2.232,231,0.976,232,1.531,233,1.754,458,2.257,459,4.268,579,1.616,652,1.151,756,2.257,2184,2.24,4588,3.899,4589,8.036,4590,8.739,4591,8.718,4592,8.739,4593,7.574,4594,8.739,4595,8.739,4638,4.151,4639,5.242,4647,9.369,4654,4.356,4655,3.172,4656,4.761,4657,9.009,4658,4.761,4659,9.917,4660,6.944,4661,5.242,4662,5.242,4663,4.761,4664,2.549,4665,3.313,4666,4.151,4667,7.644,4668,4.461,4669,5.242,4670,5.242,4671,7.644,4672,5.242,4673,7.644,4674,5.242,4675,5.242,4676,6.506,4677,4.242,4678,7.644,4679,5.242,4680,6.335,4681,3.927,4682,7.644,4683,5.242]],["title/classes/ClassFactory.html",[0,0.241,4694,6.451]],["body/classes/ClassFactory.html",[0,0.304,2,0.502,3,0.009,4,0.018,5,0.004,7,0.066,8,0.829,27,0.513,29,1.014,30,0.001,31,0.732,32,0.167,33,0.58,34,1.681,35,1.404,47,0.777,49,1.793,55,2.349,59,3.288,62,5.245,83,2.127,95,0.118,96,1.243,97,1.92,101,0.006,103,0,104,0,112,0.569,113,4.429,127,4.926,129,3.539,130,3.234,135,0.944,148,0.713,153,2.053,157,2.034,172,3.096,185,2.485,192,2.625,205,1.791,206,2.367,228,1.303,231,1.252,326,4.832,374,3.15,430,1.958,431,2.04,433,0.585,436,3.849,467,2.111,501,7.078,502,5.464,505,4.033,506,5.464,507,5.307,508,4.033,509,4.033,510,4.033,511,3.97,512,4.487,513,4.886,514,7.078,515,5.791,516,6.998,517,2.668,522,2.646,523,4.033,524,2.668,525,5.152,526,5.299,527,4.177,528,4.987,529,4.001,530,2.646,531,2.495,532,4.088,533,2.53,534,2.495,535,2.646,536,2.668,537,4.81,538,2.646,539,7.158,540,3.965,541,6.643,542,2.668,543,3.53,544,2.646,545,2.668,546,2.646,547,2.668,548,2.646,551,2.646,552,6.101,553,2.668,554,2.646,555,4.033,556,3.68,557,4.033,558,2.668,559,2.567,560,2.53,561,2.144,562,2.646,563,2.646,564,2.646,565,2.668,566,2.668,567,1.775,568,2.646,569,1.479,570,2.668,571,2.871,572,2.646,573,2.668,575,2.737,577,2.84,2081,3.867,2370,2.668,4510,7.356,4588,1.63,4589,3.36,4590,3.654,4591,3.492,4592,3.654,4593,3.034,4594,3.654,4595,3.654,4622,5.569,4623,3.654,4624,4.005,4686,6.367,4687,6.719,4692,3.423,4693,3.654,4694,8.141,4695,4.76,4696,6.204,4697,4.76,4698,3.423,4699,4.76,4700,4.76]],["title/classes/ClassFilterParams.html",[0,0.241,4701,6.113]],["body/classes/ClassFilterParams.html",[0,0.413,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.383,30,0.001,32,0.166,33,0.546,95,0.143,101,0.013,103,0.001,104,0.001,112,0.937,159,1.005,190,1.762,200,3.007,201,4.644,202,2.257,300,4.579,886,3.112,899,4.491,3201,5.6,4701,10.487,4702,11.068,4703,7.202,4704,8.269,4705,14.127,4706,9.828,4707,9.828,4708,9.828]],["title/classes/ClassInfoDto.html",[0,0.241,4709,5.658]],["body/classes/ClassInfoDto.html",[0,0.365,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.541,29,0.616,30,0.001,31,0.7,32,0.176,33,0.618,34,2.01,47,1.028,55,2.138,95,0.09,101,0.01,103,0,104,0,112,0.828,122,2.188,232,2.855,433,0.991,435,2.772,458,3.218,459,4.174,2109,3.536,2184,3.194,2552,5.6,4664,3.635,4709,10.512,4710,13.995,4711,7.475,4712,9.892,4713,9.892,4714,7.906,4715,9.892,4716,10.89,4717,10.552,4718,8.07,4719,8.07,4720,8.07,4721,8.07,4722,8.07,4723,8.07,4724,10.319,4725,8.07,4726,4.915,4727,7.475,4728,7.475,4729,8.07,4730,8.07,4731,6.195,4732,6.362,4733,7.475,4734,7.475,4735,7.475,4736,7.475]],["title/classes/ClassInfoResponse.html",[0,0.241,4737,5.86]],["body/classes/ClassInfoResponse.html",[0,0.256,2,0.78,3,0.014,4,0.014,5,0.007,7,0.103,27,0.531,29,0.564,30,0.001,31,0.676,32,0.175,33,0.604,34,1.924,47,1.021,55,2.016,95,0.111,101,0.009,103,0,104,0,112,0.781,122,2.063,125,1.76,190,2.411,201,5.142,202,1.696,232,2.693,296,3.566,433,0.908,435,2.538,458,2.946,459,3.821,866,3.68,886,2.339,2109,3.236,2184,2.924,2301,5.823,2552,5.126,3200,4.408,4664,3.327,4712,9.467,4713,9.467,4714,7.566,4715,9.467,4724,11.029,4726,4.499,4727,6.842,4728,6.842,4731,5.671,4732,5.823,4733,6.842,4734,6.842,4735,6.842,4736,6.842,4737,10.573,4738,12.758,4739,7.261,4740,9.95,4741,7.387,4742,7.387,4743,6.842,4744,7.387,4745,7.387,4746,6.484,4747,7.387,4748,7.387,4749,7.387,4750,7.387]],["title/classes/ClassInfoSearchListResponse.html",[0,0.241,4751,5.86]],["body/classes/ClassInfoSearchListResponse.html",[0,0.361,2,0.838,3,0.022,4,0.015,5,0.007,7,0.111,27,0.502,29,0.606,30,0.001,31,0.446,32,0.171,33,0.588,55,2.909,56,6.225,59,3.245,70,6.704,95,0.13,101,0.01,103,0,104,0,112,0.819,125,1.892,190,2.221,202,1.824,231,1.802,296,2.732,298,3.449,339,3.775,433,0.976,436,3.661,860,7.371,861,5.511,862,8.385,863,7.289,864,6.003,865,7.357,866,3.956,867,7.357,868,5.615,869,3.888,870,4.347,871,2.922,872,5.607,873,6.655,874,6.113,875,5.193,876,4.135,877,5.607,878,5.607,880,5.062,881,4.347,4737,11.334,4738,9.672,4751,8.786,4752,6.683]],["title/classes/ClassMapper.html",[0,0.241,4753,6.113]],["body/classes/ClassMapper.html",[0,0.482,2,0.729,3,0.013,4,0.022,5,0.006,7,0.096,8,1.086,27,0.456,29,0.894,30,0.001,31,0.713,32,0.145,33,0.535,34,1.625,35,1.342,49,2.601,62,5.671,95,0.13,96,1.803,97,2.785,101,0.009,103,0,104,0,125,2.788,148,1.151,153,2.141,205,1.937,206,2.253,430,2.84,431,2.959,467,4.03,652,2.21,773,4.576,1770,2.764,1883,2.592,2455,4.514,2498,4.791,4588,3.255,4589,6.708,4590,7.295,4591,6.971,4592,7.295,4593,6.056,4594,7.295,4595,7.295,4622,7.295,4623,5.3,4638,10.156,4693,5.3,4753,8.341,4754,6.905,4755,7.996,4756,8.802,4757,8.802,4758,7.996,4759,7.996,4760,6.905,4761,8.802,4762,6.905,4763,8.802,4764,6.905,4765,7.996,4766,6.905,4767,6.905,4768,4.162,4769,5.443,4770,6.905,4771,6.905,4772,6.905,4773,6.905,4774,6.905,4775,6.905,4776,6.905,4777,6.905,4778,6.06,4779,6.905,4780,6.905,4781,6.905,4782,5.3,4783,5.3,4784,6.06,4785,6.905,4786,6.905,4787,6.905,4788,6.905,4789,6.905,4790,6.905,4791,6.905,4792,6.905,4793,6.395,4794,6.905,4795,6.905,4796,6.905,4797,6.905,4798,4.874,4799,6.395,4800,6.06,4801,6.395]],["title/modules/ClassModule.html",[252,1.839,4802,5.86]],["body/modules/ClassModule.html",[0,0.331,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.359,254,3.443,255,3.655,256,3.747,257,3.733,258,3.72,259,4.622,260,4.729,269,4.603,270,3.68,271,3.605,277,1.369,610,3.774,2636,4.684,4802,12.029,4803,9.57,4804,9.57,4805,9.57,4806,12.745,4807,11.669,4808,9.57]],["title/interfaces/ClassProps.html",[159,0.712,4624,5.86]],["body/interfaces/ClassProps.html",[0,0.36,3,0.012,4,0.024,5,0.006,7,0.089,26,2.895,30,0.001,31,0.669,32,0.17,33,0.64,39,1.765,47,1.035,55,2.289,62,7.107,83,3.804,95,0.116,99,1.281,101,0.011,103,0,104,0,112,0.704,125,3.09,148,1.352,159,0.65,161,1.514,185,2.178,231,1.794,430,4.899,431,5.105,711,1.842,1767,5.648,1770,3.592,1849,3.623,3093,4.412,3094,4.412,4586,5.889,4588,4.08,4589,8.408,4590,9.143,4591,8.737,4592,9.143,4593,7.59,4594,9.143,4595,9.143,4596,5.889,4622,9.143,4623,4.881,4624,7.549,4625,5.349,4626,5.349,4627,8.31,4628,5.889,4629,5.889,4630,5.889,4631,5.889,4632,5.889,4633,5.889,4634,5.889,4635,5.889,4636,5.889,4637,5.889]],["title/injectables/ClassService.html",[589,0.926,4806,6.113]],["body/injectables/ClassService.html",[0,0.437,2,1.279,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,26,2.799,27,0.472,29,0.925,30,0.001,31,0.68,32,0.15,33,0.553,34,1.282,35,1.3,36,2.748,39,3.146,95,0.135,99,1.511,101,0.01,103,0,104,0,125,1.786,135,1.576,148,1.19,153,1.212,228,1.346,277,1.072,317,2.957,400,2.198,433,0.921,579,2.141,589,1.336,591,1.779,641,4.273,657,2.77,711,3.96,983,4.838,1312,3.532,1770,3.001,1883,2.814,2455,4.902,2636,3.67,4588,2.568,4800,6.58,4806,8.821,4807,10.939,4809,7.498,4810,10.05,4811,7.922,4812,10.05,4813,7.498,4814,7.498,4815,10.05,4816,7.498,4817,8.165,4818,7.498,4819,10.05,4820,7.498,4821,7.498,4822,10.05,4823,5.499,4824,6.308,4825,6.945,4826,7.498,4827,7.498,4828,7.498,4829,7.498,4830,7.498]],["title/classes/ClassSortParams.html",[0,0.241,4831,6.113]],["body/classes/ClassSortParams.html",[0,0.4,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.451,30,0.001,32,0.143,33,0.529,95,0.147,101,0.012,103,0.001,104,0.001,112,0.908,129,2.762,130,2.524,159,0.954,190,2.074,200,2.854,201,4.497,202,2.141,231,1.996,298,4.05,300,4.434,436,3.418,770,8.282,790,6.271,886,2.953,899,4.262,3329,9.656,4702,8.638,4704,7.847,4831,10.155,4832,7.576,4833,10.986,4834,13.523,4835,9.326,4836,9.326,4837,7.847,4838,8.185,4839,9.326]],["title/classes/ClassSourceOptions.html",[0,0.241,4622,5.346]],["body/classes/ClassSourceOptions.html",[0,0.328,2,1.001,3,0.018,4,0.025,5,0.009,7,0.132,27,0.494,29,0.724,30,0.001,31,0.533,32,0.145,33,0.433,47,0.859,101,0.015,103,0.001,104,0.001,112,0.917,113,5.035,125,2.258,148,0.932,159,0.969,232,3.163,433,1.165,435,4.668,735,5.29,1771,7.976,4622,8.972,4693,10.155,4840,12.253,4841,7.702,4842,12.144,4843,11.688,4844,9.48,4845,8.781,4846,8.781]],["title/classes/ClassSourceOptionsEntity.html",[0,0.241,4647,5.49]],["body/classes/ClassSourceOptionsEntity.html",[0,0.326,2,0.994,3,0.017,4,0.024,5,0.008,7,0.131,27,0.454,29,0.719,30,0.001,31,0.529,32,0.144,33,0.577,47,0.928,95,0.105,96,2.458,101,0.015,103,0.001,104,0.001,112,0.913,125,2.242,159,0.963,190,1.687,195,2.557,196,3.123,211,5.192,223,3.627,224,2.727,232,3.149,433,1.156,435,3.234,2712,5.904,4647,9.174,4693,10.13,4847,11.701,4848,7.647,4849,11.582,4850,10.779,4851,10.779,4852,8.719]],["title/interfaces/ClassSourceOptionsEntityProps.html",[159,0.712,4849,6.113]],["body/interfaces/ClassSourceOptionsEntityProps.html",[0,0.342,3,0.018,4,0.022,5,0.009,7,0.138,30,0.001,32,0.122,33,0.548,47,0.986,95,0.11,96,2.578,101,0.015,103,0.001,104,0.001,112,0.94,125,2.353,159,1.01,161,2.353,195,2.17,196,3.277,223,3.735,224,2.861,232,2.673,2712,6.08,4647,7.785,4693,10.551,4847,9.148,4848,8.024,4849,11.324,4851,11.101,4852,9.148]],["title/interfaces/ClassSourceOptionsProps.html",[159,0.712,4842,6.113]],["body/interfaces/ClassSourceOptionsProps.html",[0,0.349,3,0.019,4,0.022,5,0.009,7,0.14,30,0.001,32,0.125,33,0.554,47,0.993,101,0.016,103,0.001,104,0.001,112,0.951,113,4.003,125,2.4,148,0.99,159,1.03,161,2.4,232,2.726,435,4.167,1771,8.477,4622,7.734,4693,10.61,4840,9.332,4841,8.185,4842,11.855,4846,9.332]],["title/injectables/ClassesRepo.html",[589,0.926,4807,5.86]],["body/injectables/ClassesRepo.html",[0,0.473,2,1.133,3,0.013,4,0.013,5,0.006,7,0.094,8,1.068,26,2.617,27,0.452,29,0.885,30,0.001,31,0.651,32,0.143,33,0.529,34,1.598,35,1.231,36,2.661,39,1.871,47,0.495,49,2.539,62,4.023,95,0.144,96,1.76,97,2.72,99,1.358,101,0.009,103,0,104,0,125,1.606,135,1.713,148,0.919,153,1.968,205,1.374,228,1.211,277,0.964,317,2.892,400,1.977,433,0.828,579,1.925,589,1.243,591,1.599,657,2.65,675,3.442,773,6.196,1472,3.748,1883,2.531,2446,6.294,2796,5.004,3644,4.297,3649,5.328,4588,3.202,4589,4.759,4638,8.927,4753,5.917,4768,4.064,4807,7.865,4811,7.369,4817,7.595,4853,6.742,4854,9.348,4855,9.348,4856,6.742,4857,9.348,4858,6.742,4859,6.742,4860,9.348,4861,6.742,4862,4.469,4863,4.534,4864,10.731,4865,5.477,4866,6.494,4867,9.348,4868,6.742,4869,6.742,4870,6.245,4871,6.245,4872,6.742,4873,6.742,4874,6.742,4875,6.742,4876,6.742,4877,6.742,4878,6.742,4879,6.742,4880,6.742,4881,6.742,4882,9.348,4883,6.742,4884,6.742,4885,6.742]],["title/interfaces/CleanOptions.html",[159,0.712,4886,5.658]],["body/interfaces/CleanOptions.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.066,10,1.908,30,0.001,32,0.059,33,0.331,36,2.448,47,0.532,52,3.674,53,3.483,55,2.347,70,4.453,72,3.325,78,8.986,95,0.109,101,0.006,103,0,104,0,112,0.568,122,0.985,125,1.725,129,3.13,135,1.375,145,2.718,148,0.863,153,1.171,157,2.937,159,0.898,161,1.131,171,3.193,194,4.153,197,3.337,228,1.576,230,4.8,259,1.725,290,1.127,317,2.7,365,2.109,388,3.762,413,2.892,433,0.583,467,1.382,540,3.843,579,1.356,612,3.193,618,5.663,644,2.892,648,2.99,652,1.997,657,2.798,745,6.311,756,2.888,758,5.992,892,3.645,981,2.892,985,4.2,1027,1.453,1080,1.646,1372,2.506,1619,5.403,1626,4.058,1751,5.708,1900,3.105,1928,4.279,1939,2.524,2219,2.129,2235,3.743,2447,1.985,2448,3.393,2531,2.56,2858,6.918,2864,3.858,2938,7.566,3108,5.738,3418,5.378,3803,4.734,3811,3.148,3812,8.85,3813,6.506,3814,2.78,4886,7.13,4887,2.78,4888,2.956,4889,3.996,4890,3.996,4891,7.739,4892,6.093,4893,6.578,4894,3.743,4895,3.743,4896,6.093,4897,3.996,4898,3.996,4899,8.586,4900,3.996,4901,3.996,4902,5.883,4903,5.558,4904,3.996,4905,3.064,4906,3.645,4907,3.743,4908,3.996,4909,3.996,4910,7.752,4911,3.996,4912,8.893,4913,3.483,4914,3.996,4915,8.113,4916,3.996,4917,3.064,4918,3.56,4919,5.992,4920,3.415,4921,4.869,4922,3.56,4923,3.996,4924,3.996,4925,3.996,4926,5.112,4927,8.26,4928,3.996,4929,3.996,4930,3.56,4931,3.996,4932,8.26,4933,3.996,4934,3.996,4935,3.996,4936,8.26,4937,8.26,4938,3.743,4939,6.195,4940,3.996,4941,3.996,4942,3.996,4943,3.483,4944,3.858,4945,5.311,4946,3.743,4947,3.996,4948,3.996,4949,3.996,4950,3.996,4951,3.996,4952,5.311,4953,3.148,4954,3.743,4955,3.242,4956,3.645,4957,3.996,4958,3.996,4959,3.996,4960,3.996,4961,3.996,4962,3.996,4963,3.996,4964,3.996,4965,3.996,4966,3.996,4967,3.743,4968,3.858]],["title/injectables/CloseUserLoginMigrationUc.html",[589,0.926,4969,5.86]],["body/injectables/CloseUserLoginMigrationUc.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.133,26,2.677,27,0.386,29,0.757,30,0.001,31,0.557,32,0.123,33,0.453,35,0.843,36,2.095,39,2.039,95,0.15,99,1.48,101,0.009,103,0,104,0,122,1.523,125,1.75,135,1.563,142,2.66,148,0.974,153,1.188,180,5.539,228,2.157,290,3.134,317,2.427,433,1.218,478,2.058,579,2.098,589,1.318,591,1.743,595,2.786,610,2.897,652,2.443,657,2.956,693,3.341,1422,2.941,1780,4.428,1853,2.41,1862,7.021,1962,4.384,2680,3.374,4588,4.114,4969,8.341,4970,5.153,4971,11.22,4972,5.968,4973,8.701,4974,5.968,4975,9.48,4976,10.414,4977,11.115,4978,6.805,4979,9.914,4980,7.347,4981,5.389,4982,7.151,4983,5.791,4984,7.564,4985,5.968,4986,6.448,4987,5.968,4988,6.181,4989,8.701,4990,7.347,4991,9.182,4992,7.347,4993,7.347,4994,7.347]],["title/injectables/CollaborativeStorageAdapter.html",[589,0.926,4995,5.86]],["body/injectables/CollaborativeStorageAdapter.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,27,0.472,29,0.895,30,0.001,31,0.658,32,0.15,33,0.535,34,1.37,35,1.284,36,2.628,47,0.699,72,3.68,95,0.135,100,4.337,101,0.007,103,0,104,0,112,0.629,148,1.032,157,2.712,277,0.777,328,6.007,329,7.136,331,5.638,339,2.35,356,5.389,388,5.193,433,0.985,567,3.916,569,1.69,589,1.065,591,1.29,614,2.484,652,1.63,675,4.86,688,2.535,1027,1.664,1826,6.523,2343,5.763,2447,3.978,2448,4.922,3237,4.649,3898,6.362,4291,5.561,4995,6.743,4996,8.491,4997,10.914,4998,5.437,4999,5.878,5000,8.534,5001,10.463,5002,7.034,5003,6.511,5004,8.778,5005,6.743,5006,6.511,5007,6.511,5008,8.014,5009,6.511,5010,6.511,5011,5.437,5012,10.314,5013,8.838,5014,8.014,5015,6.511,5016,9.283,5017,5.437,5018,8.868,5019,6.511,5020,5.437,5021,8.014,5022,5.437,5023,6.511,5024,5.437,5025,8.014,5026,7.553,5027,8.28,5028,5.437,5029,6.152,5030,4.772,5031,4.286,5032,4.574,5033,4.173,5034,5.437,5035,5.437,5036,5.437,5037,5.437,5038,5.437,5039,8.014,5040,5.437,5041,5.437,5042,5.437,5043,5.437]],["title/injectables/CollaborativeStorageAdapterMapper.html",[589,0.926,5013,5.86]],["body/injectables/CollaborativeStorageAdapterMapper.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,8,1.204,27,0.314,29,0.615,30,0.001,31,0.452,32,0.1,33,0.368,35,0.924,95,0.144,100,4.879,101,0.01,103,0,104,0,148,1.036,153,1.302,157,1.864,277,1.152,331,6.003,388,5.034,589,1.401,591,1.911,711,3.402,1826,6.945,1883,3.956,3898,5.281,4291,5.588,4866,5.906,4996,7.195,5000,10.122,5003,8.561,5013,8.866,5016,8.959,5018,7.845,5026,8.959,5027,9.822,5029,8.089,5030,7.069,5031,8.307,5032,6.776,5033,6.182,5044,10.538,5045,8.054,5046,10.538,5047,10.538,5048,8.054,5049,8.561,5050,8.561,5051,10.122,5052,6.543,5053,7.069,5054,7.069,5055,7.069,5056,4.477,5057,5.791,5058,8.054,5059,8.054,5060,8.054,5061,8.054,5062,8.054]],["title/modules/CollaborativeStorageAdapterModule.html",[252,1.839,5063,6.113]],["body/modules/CollaborativeStorageAdapterModule.html",[0,0.252,3,0.013,4,0.013,5,0.007,30,0.001,47,0.535,95,0.156,101,0.009,103,0,104,0,135,0.947,252,2.948,254,2.619,255,2.78,256,2.85,257,2.84,258,2.83,259,4.056,260,4.15,265,5.979,269,3.857,270,2.8,271,2.742,276,3.857,277,1.041,675,3.717,685,5.715,1027,2.228,1054,4.114,1267,5.139,1934,9.894,1935,5.739,2219,3.263,2220,3.671,2221,3.543,3890,8.023,3898,3.648,3900,3.842,3904,6.442,4259,4.262,4995,11.75,4996,4.971,4997,6.389,5001,6.125,5012,5.914,5013,10.845,5063,12.767,5064,7.28,5065,7.28,5066,7.28,5067,7.28,5068,9.661,5069,9.455,5070,11.939,5071,11.567,5072,7.28,5073,5.588,5074,5.03,5075,6.743,5076,7.28,5077,7.28,5078,7.28,5079,9.853,5080,7.28,5081,7.28,5082,7.28]],["title/controllers/CollaborativeStorageController.html",[314,2.65,5083,6.113]],["body/controllers/CollaborativeStorageController.html",[0,0.372,3,0.013,4,0.013,5,0.006,7,0.094,8,1.072,27,0.264,29,0.517,30,0.001,31,0.381,32,0.084,33,0.31,35,0.777,36,1.983,95,0.144,101,0.009,103,0,104,0,148,0.666,153,1.517,157,3.136,190,1.215,193,2.956,202,1.556,228,1.217,274,2.821,277,0.969,290,2.755,314,2.579,316,3.261,325,5.75,331,5.602,333,6.308,337,5.775,342,6.133,345,6.745,347,4.82,349,6.186,356,7.809,360,5.393,371,4.986,379,4.759,388,5.226,389,4.43,391,7.506,392,3.528,395,3.627,398,3.654,400,1.987,402,4.177,614,3.6,652,1.378,693,3.082,1027,2.074,1080,3.252,1083,5.301,1826,5.967,2447,2.832,2448,4.396,2532,7.621,3240,3.482,3898,6.321,5001,10.259,5010,8.741,5018,8.299,5052,7.621,5083,8.233,5084,6.622,5085,9.381,5086,6.776,5087,7.395,5088,6.776,5089,11.294,5090,9.771,5091,12.193,5092,9.434,5093,6.776,5094,6.776,5095,8.233,5096,9.381,5097,6.277,5098,7.395,5099,6.776,5100,6.776,5101,9.381,5102,6.509,5103,8.233,5104,7.893,5105,6.776,5106,6.776,5107,5.947,5108,6.277,5109,6.776,5110,6.776,5111,6.776,5112,6.776,5113,6.776,5114,6.776]],["title/modules/CollaborativeStorageModule.html",[252,1.839,5115,5.86]],["body/modules/CollaborativeStorageModule.html",[0,0.266,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.01,103,0,104,0,252,3.033,254,2.769,255,2.94,256,3.014,257,3.003,258,2.992,259,4.172,260,4.269,265,6.076,269,4.005,270,2.961,271,2.9,274,4.258,276,4.005,277,1.101,279,3.192,314,2.93,675,3.931,1027,2.356,1524,10.056,1539,6.255,1856,7.466,1916,9.09,2680,3.535,2903,5.033,3036,3.608,3898,3.858,4997,6.757,5063,11.497,5083,10.083,5084,5.435,5104,11.854,5115,12.297,5116,7.699,5117,7.699,5118,7.699,5119,7.699,5120,11.022,5121,11.022,5122,11.022,5123,7.131,5124,7.131]],["title/injectables/CollaborativeStorageService.html",[589,0.926,5120,5.86]],["body/injectables/CollaborativeStorageService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,26,2.128,27,0.457,29,0.895,30,0.001,31,0.658,32,0.145,33,0.535,34,1.37,35,1.284,36,2.729,47,0.973,95,0.146,99,1.095,100,3.663,101,0.007,103,0,104,0,129,1.61,130,1.471,148,1.222,153,1.296,157,1.855,195,1.761,197,2.24,205,1.633,277,0.777,279,2.254,290,1.901,317,2.535,331,3.559,388,5.022,433,0.985,589,1.065,591,1.29,595,2.062,652,2.383,657,2.402,693,2.472,1027,1.664,1780,3.277,1826,5.397,1862,5.582,1916,8.408,1926,4.881,2447,3.978,2448,4.922,2680,2.497,2862,6.511,3418,3.61,3898,2.725,4291,9.084,4866,4.491,4995,8.838,5000,6.511,5006,6.511,5007,6.511,5009,6.511,5010,7.733,5015,6.511,5016,8.713,5018,7.378,5019,6.511,5023,6.511,5027,8.28,5031,4.286,5052,4.417,5084,8.554,5102,5.561,5120,6.743,5121,8.838,5124,5.036,5125,11.224,5126,5.036,5127,8.014,5128,5.437,5129,9.302,5130,9.518,5131,8.816,5132,5.437,5133,5.036,5134,5.437,5135,8.014,5136,8.032,5137,5.437,5138,4.29,5139,6.743,5140,5.24,5141,5.437,5142,5.437,5143,8.783,5144,10.374,5145,5.036,5146,6.152,5147,6.719,5148,7.423,5149,7.423,5150,4.574,5151,5.437,5152,5.437,5153,5.437,5154,5.437,5155,8.014,5156,5.437,5157,5.437,5158,5.437,5159,5.437,5160,5.437,5161,5.437,5162,5.437,5163,5.437,5164,5.437]],["title/interfaces/CollaborativeStorageStrategy.html",[159,0.712,5012,5.658]],["body/interfaces/CollaborativeStorageStrategy.html",[3,0.015,4,0.015,5,0.007,7,0.114,8,1.215,27,0.488,29,0.956,30,0.001,31,0.704,32,0.155,33,0.572,35,1.437,36,2.906,47,0.869,95,0.119,100,4.369,101,0.01,103,0.001,104,0.001,157,2.462,159,1.209,161,1.946,329,7.629,331,5.252,356,7.152,388,3.501,1826,5.465,2140,6.061,2842,9.851,4291,5.668,4996,8.869,5006,8.641,5007,8.641,5009,8.641,5010,8.641,5012,8.641,5015,8.641,5016,9.751,5018,7.888,5019,8.641,5023,8.641,5029,6.27,5031,6.439,5032,6.873,5051,10.177,5052,6.636,5165,8.169,5166,10.636,5167,9.335,5168,8.169,5169,8.169,5170,8.169,5171,9.851,5172,8.169]],["title/injectables/CollaborativeStorageUc.html",[589,0.926,5104,5.86]],["body/injectables/CollaborativeStorageUc.html",[0,0.233,3,0.012,4,0.012,5,0.006,7,0.094,8,1.067,27,0.474,29,0.929,30,0.001,31,0.683,32,0.151,33,0.556,35,1.328,36,2.781,47,0.925,95,0.14,101,0.009,103,0,104,0,148,1.138,153,1.51,157,1.558,228,1.677,277,0.963,290,2.215,317,2.319,331,5.143,388,4.595,433,1.147,589,1.241,591,1.597,610,3.682,652,1.899,1826,5.95,1926,5.687,2862,7.586,4291,4.67,5006,7.586,5007,7.586,5009,7.586,5015,7.586,5016,9.281,5018,7.925,5019,7.586,5023,7.586,5029,8.23,5032,5.663,5084,8.885,5089,10.725,5090,9.743,5092,9.407,5102,6.479,5104,7.856,5107,5.908,5108,6.235,5120,9.743,5122,9.743,5125,6.235,5146,7.168,5147,8.174,5148,8.649,5149,8.649,5173,12.587,5174,6.731,5175,10.721,5176,6.731,5177,10.721,5178,6.731,5179,6.731,5180,6.731,5181,6.731,5182,6.731,5183,11.579,5184,6.731,5185,9.337,5186,6.235,5187,6.235,5188,6.731,5189,8.649,5190,6.731,5191,6.731,5192,6.731,5193,6.731,5194,6.731,5195,6.731,5196,6.731]],["title/interfaces/CollectionFilePath.html",[159,0.712,5197,6.451]],["body/interfaces/CollectionFilePath.html",[0,0.092,3,0.005,4,0.017,5,0.008,7,0.037,10,1.064,27,0.103,30,0.001,31,0.439,32,0.056,33,0.269,35,0.975,36,1.918,47,0.941,55,0.914,83,1.323,95,0.127,96,0.691,97,1.068,101,0.01,103,0,104,0,112,0.354,122,0.935,125,0.631,130,0.716,135,1.751,145,1.694,146,1.808,148,1.25,153,0.953,158,2.176,159,0.271,161,0.631,195,0.991,206,0.864,228,1.25,260,0.984,276,1.037,277,0.379,317,2.157,329,1.613,339,2.661,340,1.667,356,1.78,371,1.407,374,1.959,388,3.348,403,2.303,414,2.289,415,2.571,433,0.325,478,0.742,514,1.438,571,1.048,574,4.377,579,0.756,589,0.6,611,2.452,619,1.904,623,1.731,634,3.419,651,1.343,652,2.587,657,2.963,688,1.234,695,1.904,700,2.183,701,2.183,702,2.234,734,2.484,756,2.776,788,1.808,980,2.488,985,1.536,1027,0.81,1080,0.918,1086,1.261,1087,1.222,1088,1.241,1089,1.319,1090,1.438,1091,1.755,1092,1.78,1420,2.324,1476,1.596,1582,1.904,1598,1.565,1610,7.01,1821,5.563,1842,1.21,1924,1.78,1927,3.964,1928,5.892,1995,4.324,2140,1.509,2219,1.187,2220,1.335,2221,1.289,2222,1.667,2328,1.667,2393,1.015,2446,2.451,2447,1.107,2448,2.114,2488,1.942,2492,2.087,2513,1.509,2543,2.841,2570,5.486,2912,4.772,2915,1.596,3102,5.124,3109,3.185,3237,1.536,3310,2.151,3430,1.959,3649,1.509,3817,2.99,3826,2.452,3862,3.665,4206,4.96,4208,2.452,4209,2.452,4213,7.764,4215,1.837,4217,4.179,4224,7.964,4588,0.907,4703,3.553,4832,2.151,4905,2.911,4939,5.513,5002,3.96,5102,1.837,5197,7.874,5198,2.648,5199,10.142,5200,7.764,5201,4.789,5202,1.869,5203,3.382,5204,4.324,5205,3.96,5206,1.869,5207,4.96,5208,2.452,5209,4.418,5210,4.55,5211,2.452,5212,2.648,5213,2.648,5214,7.81,5215,3.359,5216,5.895,5217,3.96,5218,8.501,5219,5.895,5220,2.087,5221,2.452,5222,4.831,5223,1.687,5224,6.962,5225,2.151,5226,2.648,5227,2.648,5228,2.452,5229,2.648,5230,4.179,5231,2.648,5232,2.648,5233,2.324,5234,4.069,5235,2.648,5236,4.512,5237,2.648,5238,5.174,5239,8.501,5240,4.512,5241,4.512,5242,2.648,5243,2.648,5244,2.648,5245,5.233,5246,2.452,5247,4.525,5248,2.648,5249,8.966,5250,2.648,5251,6.962,5252,2.648,5253,2.648,5254,2.648,5255,2.648,5256,2.452,5257,2.648,5258,2.648,5259,2.648,5260,1.667,5261,2.648,5262,2.648,5263,2.648,5264,1.869,5265,5.895,5266,3.034,5267,2.648,5268,6.962,5269,2.648,5270,2.648,5271,1.667,5272,2.648,5273,4.512,5274,4.512,5275,2.648,5276,2.648,5277,2.648,5278,1.667,5279,4.512,5280,2.648,5281,2.648,5282,2.648,5283,6.448,5284,4.512,5285,3.96,5286,4.512,5287,4.512,5288,2.648,5289,2.648,5290,2.648,5291,2.648,5292,2.648,5293,2.648,5294,2.648,5295,2.648,5296,2.648,5297,2.648,5298,2.648,5299,6.962,5300,5.858,5301,3.185,5302,2.648,5303,3.796,5304,4.96,5305,2.648,5306,4.512,5307,4.512,5308,2.648,5309,4.512,5310,2.648,5311,4.179,5312,2.648,5313,2.648,5314,2.648,5315,5.895,5316,2.648,5317,2.033,5318,2.648,5319,2.087,5320,2.452,5321,2.648,5322,2.648,5323,2.648,5324,3.309,5325,2.228,5326,2.648,5327,2.648,5328,2.648,5329,2.648,5330,2.648,5331,4.512,5332,2.648,5333,2.648,5334,2.648,5335,2.648,5336,2.648,5337,2.648,5338,2.648,5339,2.648,5340,3.665,5341,3.665,5342,2.648,5343,2.151,5344,2.648,5345,2.648,5346,2.648,5347,3.382,5348,1.985,5349,2.151,5350,2.648,5351,2.648,5352,2.648,5353,2.648,5354,2.648,5355,4.512,5356,2.648,5357,2.648,5358,5.895,5359,2.648,5360,2.648,5361,2.648,5362,2.648,5363,2.324,5364,2.648,5365,2.648,5366,3.665,5367,3.665,5368,3.665,5369,2.648,5370,5.46,5371,2.648,5372,2.452,5373,2.324,5374,2.648,5375,2.648,5376,1.985,5377,2.648,5378,3.96,5379,2.648,5380,2.648,5381,2.648,5382,2.648,5383,2.648,5384,2.648,5385,2.648,5386,2.648,5387,5.895,5388,2.648,5389,2.648,5390,2.648,5391,2.648,5392,2.648,5393,4.512,5394,3.556,5395,4.512,5396,2.648,5397,4.179,5398,4.512,5399,2.648,5400,4.179,5401,5.895,5402,2.648,5403,2.452,5404,2.324,5405,2.452,5406,2.087,5407,2.648,5408,1.904,5409,2.324,5410,2.648,5411,2.452,5412,2.033,5413,2.452,5414,2.648,5415,2.648,5416,2.648,5417,2.648,5418,2.648,5419,2.452,5420,2.452,5421,2.648]],["title/classes/Column.html",[0,0.241,2965,3.702]],["body/classes/Column.html",[0,0.228,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,27,0.525,29,0.98,30,0.001,31,0.721,32,0.165,33,0.586,35,1.501,36,1.944,47,0.887,55,1.864,59,2.047,95,0.118,101,0.014,103,0,104,0,112,0.722,113,3.655,122,2.197,134,2.333,135,0.857,148,1.042,155,3.99,158,2.432,159,0.674,189,5.662,231,1.829,317,2.293,435,3.16,436,3.866,527,2.799,532,3.373,567,2.456,569,3.751,653,3.783,657,1.506,711,2.664,735,4.163,1770,4.592,1773,6.455,1842,4.203,2051,2.788,2662,6.412,2965,6.097,3058,8.015,3061,6.493,3062,6.493,3063,6.493,3064,6.014,3065,6.493,3067,4.1,3068,5.602,3069,6.654,3071,6.28,3072,5.602,3073,6.595,3075,4.571,3076,4.924,3078,6.674,3079,4.571,3081,6.614,3083,4.571,3085,4.1,3112,5.544,3127,5.242,3155,5.543,4346,6.614,4347,4.737,4348,4.737,4349,5.543,4351,5.782,4357,4.1,4358,6.383,4359,5.193,4362,5.662,5422,6.102,5423,5.782,5424,6.102,5425,6.587,5426,6.587,5427,6.102,5428,6.102,5429,5.782,5430,6.102]],["title/classes/ColumnBoard.html",[0,0.241,2032,4.116]],["body/classes/ColumnBoard.html",[0,0.214,2,0.652,3,0.011,4,0.011,5,0.006,7,0.086,8,1.004,27,0.529,29,0.983,30,0.001,31,0.723,32,0.164,33,0.588,35,1.502,36,1.857,47,0.865,55,1.78,59,1.918,95,0.114,101,0.013,103,0,104,0,112,0.689,113,3.491,122,2.121,134,2.186,135,0.803,148,1.095,155,3.907,158,2.278,159,0.631,183,4.675,189,5.408,231,1.765,317,2.213,435,3.018,436,3.803,527,2.623,532,3.222,567,3.276,569,3.805,653,3.613,657,1.411,711,2.545,735,3.976,1770,4.461,1773,6.23,1842,4.015,2032,6.586,2051,2.612,2662,6.325,2965,4.669,3058,7.896,3061,6.202,3062,6.202,3063,6.202,3064,5.744,3065,6.202,3067,3.842,3068,5.351,3069,6.465,3071,5.999,3072,5.351,3073,6.407,3075,4.283,3076,4.703,3078,6.441,3079,4.283,3081,6.317,3083,4.283,3085,3.842,3112,5.295,3157,5.193,3659,8.802,4345,5.717,4346,4.438,4347,4.438,4348,4.438,4349,5.193,4351,5.417,4357,3.842,4358,6.096,4359,4.866,4362,5.408,5431,10.909,5432,5.717,5433,6.172,5434,5.717,5435,6.172,5436,6.172,5437,6.172,5438,6.172,5439,6.172,5440,6.172,5441,8.138,5442,5.717,5443,5.717,5444,5.717,5445,5.193,5446,5.717]],["title/injectables/ColumnBoardCopyService.html",[589,0.926,3286,5.86]],["body/injectables/ColumnBoardCopyService.html",[0,0.218,3,0.012,4,0.012,5,0.006,7,0.088,8,1.018,26,2.497,27,0.403,29,0.79,30,0.001,31,0.581,32,0.147,33,0.473,35,1.022,36,1.884,39,2.474,95,0.147,99,1.269,101,0.008,103,0,104,0,135,1.648,148,0.876,153,1.673,158,2.325,172,3.804,228,2.131,243,3.966,277,0.901,279,2.611,290,1.494,317,2.666,433,1.095,435,2.164,571,3.528,579,2.545,589,1.185,591,1.494,610,2.484,613,3.621,652,2.414,657,2.897,711,2.996,1312,2.967,1622,4.529,1829,2.699,1853,2.066,1911,7.799,2031,4.37,2032,6.113,2033,2.388,2051,5.57,2054,4.721,2472,5.372,2608,6.235,2636,3.083,2796,5.537,3071,4.3,3272,4.965,3275,8.255,3286,7.499,3305,6.763,3318,3.877,3319,3.589,3330,7.822,3362,6.409,3377,5.834,3379,5.834,3445,4.721,3446,8.699,3555,4.014,3623,10.659,3633,4.529,3634,7.822,3659,6.409,3821,5.117,3896,9.463,3900,3.324,5447,10.417,5448,8.912,5449,7.636,5450,10.344,5451,6.298,5452,8.912,5453,5.834,5454,8.912,5455,9.581,5456,6.298,5457,6.298,5458,5.528,5459,5.834,5460,6.298,5461,5.834,5462,6.298,5463,6.298,5464,6.298,5465,6.298,5466,3.621,5467,5.299,5468,6.298,5469,6.298,5470,6.298,5471,5.834,5472,6.298,5473,5.834,5474,5.117,5475,6.298,5476,6.298,5477,6.298,5478,6.298,5479,6.298,5480,6.298,5481,6.298,5482,6.298,5483,6.298,5484,5.834]],["title/classes/ColumnBoardFactory.html",[0,0.241,5485,6.451]],["body/classes/ColumnBoardFactory.html",[0,0.171,2,0.52,3,0.009,4,0.009,5,0.004,7,0.069,8,0.851,27,0.517,29,1.012,30,0.001,31,0.708,32,0.169,33,0.576,34,1.837,35,1.418,47,0.547,49,1.857,55,2.377,59,3.339,83,2.184,95,0.112,101,0.01,103,0,104,0,112,0.584,113,4.489,125,1.174,127,5.015,129,3.577,130,3.269,135,0.969,148,0.732,153,1.618,155,1.573,157,2.078,172,3.179,183,2.845,185,2.552,192,2.719,205,2.19,206,2.43,228,1.612,231,1.285,326,4.872,374,3.235,430,2.028,431,2.113,433,0.606,436,3.877,467,2.168,501,7.32,502,5.563,505,4.141,506,5.563,507,5.492,508,4.141,509,4.141,510,4.141,511,4.077,512,4.584,513,4.992,514,6.562,515,5.88,516,7.108,517,2.763,522,2.74,523,4.141,524,2.763,525,5.245,526,5.395,527,4.253,528,5.077,529,4.109,530,2.74,531,2.584,532,4.144,533,2.62,534,2.584,535,2.74,536,2.763,537,4.914,538,2.74,539,7.006,540,4.008,541,6.716,542,2.763,543,4.37,544,2.74,545,2.763,546,2.74,547,2.763,548,2.74,549,3.068,550,2.886,551,2.74,552,6.184,553,2.763,554,2.74,555,4.141,556,3.779,557,4.141,558,2.763,559,2.658,560,2.62,561,2.22,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,1.838,568,2.74,569,1.532,570,2.763,571,2.949,572,2.74,573,2.763,574,2.763,576,2.913,577,2.942,1853,1.617,2031,3.421,2032,2.913,2051,2.086,2054,3.695,2965,2.62,3066,3.421,3324,4.148,4510,4.586,5445,4.148,5485,8.317,5486,7.449,5487,4.93,5488,10.007,5489,4.93,5490,4.93,5491,4.93]],["title/entities/ColumnBoardNode.html",[205,1.419,3497,5.346]],["body/entities/ColumnBoardNode.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,27,0.415,30,0.001,32,0.155,34,1.397,49,4.454,95,0.148,96,2.133,101,0.014,103,0.001,104,0.001,112,0.834,134,2.893,135,1.063,148,1.045,153,1.321,159,0.835,183,4.784,190,1.906,205,2.167,206,2.665,223,3.685,224,2.366,231,1.835,232,2.21,457,4.541,574,4.578,1770,4.257,2031,8.206,2051,5.005,2109,3.579,2662,5.063,2715,4.616,2942,4.933,3324,6.873,3467,5.693,3477,6.347,3497,8.164,3549,4.975,3611,5.577,3659,8.504,3692,9.608,3694,10.38,3920,6.27,3922,6.477,3942,5.028,4448,5.144,4450,5.144,5492,10.38,5493,7.972,5494,8.169,5495,6.285,5496,8.169,5497,9.851,5498,9.335,5499,9.851,5500,7.566,5501,6.873,5502,7.566,5503,7.566,5504,7.566]],["title/interfaces/ColumnBoardNodeProps.html",[159,0.712,5498,6.113]],["body/interfaces/ColumnBoardNodeProps.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.149,34,1.447,49,4.098,95,0.15,96,2.209,101,0.014,103,0.001,104,0.001,112,0.853,134,2.996,135,1.101,148,1.069,153,1.368,159,0.865,161,2.015,183,5.134,205,2.217,223,3.748,224,2.451,231,2.075,232,2.29,457,4.704,574,4.742,1770,4.356,2031,7.55,2051,3.581,2109,3.707,2662,5.18,2715,4.781,2942,5.047,3324,7.119,3467,5.824,3477,6.493,3497,6.495,3549,5.153,3611,5.777,3659,9.444,3692,6.874,3694,7.426,3920,6.495,3922,7.325,3942,5.209,4448,5.328,4450,5.328,5492,7.426,5495,5,5497,10.078,5498,10.556,5499,10.078,5500,7.837,5501,7.119,5502,7.837,5503,7.837,5504,7.837]],["title/interfaces/ColumnBoardProps.html",[159,0.712,5445,5.86]],["body/interfaces/ColumnBoardProps.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,30,0.001,32,0.148,36,1.766,47,0.961,95,0.133,101,0.015,103,0.001,104,0.001,112,0.847,122,1.732,134,2.959,135,1.087,148,1.242,155,4.277,158,3.084,159,0.854,161,1.99,183,5.117,231,2.063,317,1.808,527,3.551,567,4.024,569,2.597,653,4.439,657,1.911,1770,3.345,1842,4.932,2032,7.065,2051,3.536,2662,5.138,2965,5.736,3058,6.505,3068,5.089,3069,6.26,3072,5.089,3073,6.205,3081,6.008,3112,7.206,3157,7.03,3659,9.634,4357,5.201,4358,7.489,4359,6.587,4362,6.644,5431,7.739,5432,7.739,5441,9.997,5442,7.739,5443,7.739,5444,7.739,5445,9.081,5446,7.739]],["title/injectables/ColumnBoardService.html",[589,0.926,2020,5.221]],["body/injectables/ColumnBoardService.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,8,0.745,10,2.621,12,2.952,26,2.437,27,0.469,29,0.918,30,0.001,31,0.675,32,0.149,33,0.549,34,1.698,35,1.347,36,2.704,47,0.916,49,1.563,83,3.349,95,0.127,99,0.836,101,0.005,103,0,104,0,129,1.932,130,1.123,135,1.749,148,1.084,153,2.13,155,3.913,158,1.532,183,3.078,228,1.447,277,0.593,317,2.966,430,3.757,431,3.916,433,0.801,574,2.326,579,1.185,589,0.867,591,0.984,615,3.973,652,2.144,653,1.707,657,2.522,734,2.749,756,1.655,1041,2.834,1472,2.307,1842,1.896,1853,1.362,2020,4.89,2032,7.562,2049,2.662,2051,4.834,2219,1.86,2220,2.093,2221,2.02,2370,2.326,2636,2.031,2662,4.728,2678,2.93,2912,3.123,2965,4.284,3066,6.339,3127,4.593,3146,6.113,3204,3.844,3445,3.111,3446,7.443,3456,5.489,3457,3.844,3458,3.844,3459,6.042,3461,7.466,3462,3.844,3578,2.678,3640,6.042,3658,6.042,3659,8.647,3725,8.267,3821,5.3,3894,8.96,4030,3.642,4259,2.429,4481,5.725,4485,2.161,4503,3.372,4510,5.624,4511,3.844,4862,2.751,4863,2.791,5447,11.356,5461,3.844,5484,3.844,5505,4.15,5506,6.523,5507,6.523,5508,6.523,5509,6.523,5510,4.15,5511,6.523,5512,4.15,5513,6.523,5514,4.15,5515,6.523,5516,4.15,5517,6.042,5518,6.523,5519,4.15,5520,6.523,5521,4.15,5522,6.523,5523,4.15,5524,4.15,5525,6.523,5526,4.15,5527,4.15,5528,6.523,5529,4.15,5530,4.15,5531,4.15,5532,4.15,5533,4.15,5534,6.523,5535,4.15,5536,6.523,5537,4.15,5538,4.15,5539,4.15,5540,4.15,5541,4.15,5542,4.15,5543,4.15,5544,4.15,5545,4.15,5546,9.136,5547,8.06,5548,4.15,5549,4.15,5550,4.15,5551,4.15,5552,6.523,5553,4.15,5554,4.15,5555,4.15,5556,4.15,5557,4.15,5558,4.15,5559,4.15,5560,4.15,5561,4.15,5562,4.15,5563,4.15,5564,4.15,5565,4.15,5566,6.523,5567,4.15,5568,4.15,5569,6.523,5570,6.523,5571,4.15,5572,4.15,5573,4.15,5574,4.15,5575,4.15,5576,4.15,5577,4.15,5578,4.15,5579,4.15,5580,4.15,5581,4.15,5582,6.523,5583,6.523,5584,4.15,5585,6.523,5586,6.523,5587,4.15,5588,4.15,5589,4.15,5590,6.523,5591,4.15,5592,3.642,5593,4.15,5594,4.15,5595,4.15,5596,4.15,5597,3.844]],["title/entities/ColumnBoardTarget.html",[205,1.419,2966,5.008]],["body/entities/ColumnBoardTarget.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,26,2.362,27,0.454,30,0.001,32,0.144,47,0.856,49,4.39,95,0.143,96,2.069,99,1.597,101,0.013,103,0,104,0,112,0.818,129,2.347,130,2.145,148,1.025,153,1.282,155,3.952,158,2.926,190,2.089,195,1.742,197,3.257,205,2.125,206,2.586,223,4.116,224,2.296,225,3.996,226,3.605,231,1.368,232,2.145,233,2.457,527,3.369,569,3.241,574,4.442,595,3.006,653,3.26,1237,2.296,1842,4.765,2032,6.163,2051,5.24,2939,9.761,2942,3.677,2955,6.73,2966,8.904,3044,8.005,3045,7.725,3056,3.815,3057,9.659,3932,5.115,5493,5.942,5598,11.469,5599,7.927,5600,10.795,5601,7.927,5602,7.927,5603,7.927,5604,10.429,5605,7.927,5606,7.927,5607,5.052,5608,5.182,5609,7.927,5610,7.927]],["title/injectables/ColumnBoardTargetService.html",[589,0.926,5611,5.86]],["body/injectables/ColumnBoardTargetService.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.131,26,2.676,27,0.437,29,0.856,30,0.001,31,0.63,32,0.139,33,0.512,34,1.693,35,1.135,36,2.537,95,0.144,96,2.585,97,2.958,99,1.477,101,0.009,103,0,104,0,135,1.631,148,1.102,153,1.186,155,3.578,158,2.707,224,2.124,228,1.778,277,1.049,317,2.794,400,2.15,433,0.901,478,2.054,589,1.316,591,1.74,652,2.441,657,2.745,1933,5.177,2020,9.682,2051,5.08,2446,6.52,2479,5.851,2966,7.12,3011,5.485,3044,5.629,3649,6.389,3687,6.792,3707,5.497,4175,6.792,5600,6.792,5611,8.331,5612,12.003,5613,7.333,5614,9.901,5615,9.901,5616,7.333,5617,9.901,5618,7.333,5619,10.383,5620,9.901,5621,7.333,5622,11.21,5623,7.333,5624,7.333,5625,9.901,5626,7.333,5627,7.333,5628,7.333,5629,7.333,5630,7.333,5631,7.333,5632,7.333]],["title/controllers/ColumnController.html",[314,2.65,3031,6.113]],["body/controllers/ColumnController.html",[0,0.168,3,0.009,4,0.009,5,0.004,7,0.068,8,0.843,10,3.579,27,0.387,29,0.759,30,0.001,31,0.558,32,0.177,33,0.454,35,1.14,36,2.543,59,1.512,95,0.134,100,1.696,101,0.006,103,0,104,0,135,1.159,148,0.478,153,1.193,155,2.354,190,1.781,194,1.911,197,2.061,202,1.117,228,1.324,274,2.025,277,0.696,314,1.851,316,2.341,317,2.799,325,6.482,337,7.406,342,7.865,345,8.651,349,6.869,379,5.042,388,4.26,389,3.18,390,6.253,391,8.334,392,2.532,393,2.409,395,2.603,398,2.622,400,1.426,401,5.57,402,4.837,652,0.989,657,2.273,675,2.483,734,3.108,871,2.713,1351,7.183,2681,6.374,2954,5.677,2965,5.677,3024,7.235,3026,7.235,3031,6.472,3036,2.279,3127,5.076,3212,7.146,3214,5.527,3216,7.45,3217,7.45,3220,7.865,3222,7.021,3235,8.862,3236,8.074,3237,4.277,3240,2.499,3241,3.271,3242,2.662,3249,3.951,3259,6.533,3260,6.676,3263,4.269,3563,3.646,3612,7.164,3728,5.302,4138,8.249,4401,3.139,4408,4.092,4415,4.505,4420,4.269,4444,5.991,4484,6.204,5633,4.864,5634,8.249,5635,6.83,5636,8.249,5637,4.864,5638,11.489,5639,10.812,5640,9.938,5641,4.864,5642,4.505,5643,4.864,5644,4.864,5645,4.864,5646,4.864,5647,4.864,5648,4.864,5649,8.723,5650,4.864,5651,4.864,5652,4.864,5653,4.864,5654,4.864,5655,6.472,5656,4.864,5657,4.864,5658,4.864,5659,4.864,5660,4.864,5661,9.938,5662,4.864,5663,4.864,5664,4.864,5665,4.864,5666,4.864,5667,4.864,5668,4.864,5669,4.864]],["title/entities/ColumnNode.html",[205,1.419,3494,5.658]],["body/entities/ColumnNode.html",[0,0.335,3,0.018,4,0.018,5,0.009,30,0.001,32,0.12,95,0.152,96,2.529,101,0.012,103,0.001,104,0.001,134,3.43,135,1.26,148,0.952,205,2.414,206,3.16,224,2.806,231,1.671,232,2.621,457,5.385,1770,5.121,2109,4.243,2662,5.638,2715,5.473,3467,6.339,3477,7.067,3494,9.622,3549,5.899,3562,10.97,3611,6.613,3920,7.435,3922,7.213,3942,5.962,4448,6.099,4450,6.099,5492,8.501,5670,9.686]],["title/interfaces/ColumnProps.html",[159,0.712,5429,6.113]],["body/interfaces/ColumnProps.html",[0,0.305,3,0.016,4,0.016,5,0.008,7,0.123,30,0.001,32,0.138,36,1.863,47,0.977,95,0.137,101,0.016,103,0.001,104,0.001,112,0.876,122,1.827,134,3.121,135,1.147,148,1.205,155,4.337,158,3.254,159,0.901,161,2.1,231,2.115,317,1.907,527,3.746,567,3.286,569,2.739,653,4.593,657,2.016,1770,3.528,1842,5.103,2051,3.73,2662,5.317,2965,6.516,3058,6.731,3068,5.368,3069,6.478,3072,5.368,3073,6.42,3081,6.338,3112,7.389,3127,6.365,3155,7.416,4357,5.486,4358,7.749,4359,6.948,4362,6.875,5422,8.164,5427,8.164,5428,8.164,5429,9.802,5430,8.164]],["title/classes/ColumnResponse.html",[0,0.241,3244,5.658]],["body/classes/ColumnResponse.html",[0,0.289,2,0.882,3,0.015,4,0.015,5,0.008,7,0.116,27,0.51,29,0.638,30,0.001,31,0.469,32,0.166,33,0.546,34,2.237,47,0.929,95,0.141,101,0.011,103,0.001,104,0.001,112,0.847,125,1.99,155,4.176,190,2.265,202,1.918,296,3.506,298,3.628,304,4.138,433,1.326,458,3.332,821,4.266,866,4.162,2926,7.588,3051,5.898,3054,6.718,3056,4.021,3127,4.762,3196,5.463,3197,5.777,3198,5.777,3244,10.628,3571,10.043,4019,6.873,4023,5.463,4025,5.463,4520,10.632,5671,8.356,5672,8.356,5673,8.356,5674,8.356,5675,8.356,5676,8.356,5677,8.356,5678,8.356]],["title/classes/ColumnResponseMapper.html",[0,0.241,3248,5.86]],["body/classes/ColumnResponseMapper.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.342,29,0.67,30,0.001,31,0.493,32,0.138,33,0.401,34,1.501,35,1.006,95,0.136,100,3.06,101,0.011,103,0.001,104,0.001,135,1.142,141,4.773,148,1.095,153,2.081,155,2.801,277,1.255,430,3.609,467,3.561,571,3.474,579,2.505,653,3.609,829,5.186,830,6.191,835,6.736,1368,4.959,1853,2.879,2099,6.578,2472,5.289,2926,5.09,2965,7.059,3078,5.526,3127,6.973,3244,10.455,3248,9.371,3362,6.31,3571,6.736,3578,5.663,4019,6.403,4034,7.702,4035,6.195,4472,7.702,4474,7.384,4493,6.918,4520,9.371,5679,11.137,5680,11.137,5681,8.128,5682,7.702,5683,8.776,5684,8.776,5685,8.776,5686,8.776,5687,8.776]],["title/injectables/ColumnService.html",[589,0.926,3892,5.658]],["body/injectables/ColumnService.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,8,1.051,10,3.696,12,4.163,26,2.324,27,0.487,29,0.954,30,0.001,31,0.702,32,0.155,33,0.571,34,1.126,35,1.384,36,2.847,47,0.779,49,2.481,55,2.148,59,2.047,83,2.697,95,0.139,99,1.327,101,0.008,103,0,104,0,135,1.379,148,0.904,153,1.855,155,3.852,228,1.652,277,0.942,317,3.031,400,1.932,430,2.709,431,2.823,433,0.809,574,3.692,589,1.223,591,1.563,652,1.34,657,2.859,734,3.876,1853,2.161,2032,7.582,2051,2.788,2636,3.224,2965,7.548,3066,4.571,3445,4.938,3446,8.825,3668,5.82,3725,9.617,3728,6.614,3734,8.806,3738,5.543,3892,7.473,4149,7.739,4169,10.626,4481,8.073,4483,8.073,4503,5.352,4510,4.055,5682,5.782,5688,6.587,5689,6.587,5690,6.587,5691,9.198,5692,6.587,5693,9.198,5694,6.587,5695,9.198,5696,6.587,5697,9.198,5698,6.587,5699,6.587,5700,6.587,5701,6.587,5702,6.587,5703,6.587,5704,6.587]],["title/injectables/ColumnUc.html",[589,0.926,3026,5.658]],["body/injectables/ColumnUc.html",[0,0.176,3,0.009,4,0.009,5,0.005,7,0.071,8,0.873,26,2.917,27,0.476,29,0.932,30,0.001,31,0.686,32,0.151,33,0.558,35,1.361,36,2.686,39,3.582,47,0.673,55,1.857,59,2.375,95,0.132,99,1.027,101,0.007,103,0,104,0,113,4.849,135,1.489,148,0.501,155,3.48,228,1.958,231,1.318,277,0.729,317,2.968,433,0.939,436,2.707,589,1.016,591,1.209,610,2.011,652,1.864,657,3.051,688,2.377,1027,1.56,1197,6.779,1792,7.062,1793,3.379,1853,1.673,1862,6.307,1936,3.429,1968,5.604,2447,3.83,2448,4.769,2662,5.449,2663,8.785,2665,6.023,2666,6.023,2667,3.666,2668,8.468,2670,3.914,2671,5.604,2672,5.494,2674,4.019,2675,6.015,2677,4.019,2678,5.394,2680,2.341,2694,8.369,2965,6.082,3026,6.207,3127,6.213,3453,3.822,3734,8.369,3891,9.354,3892,9.641,4149,10.998,4154,4.142,4155,4.142,4156,4.142,4159,4.142,4160,4.142,4162,7.318,4168,8.488,4370,8.043,4434,3.914,4484,8.563,4485,5.299,4493,8.023,4497,8.488,4560,4.723,5634,8.488,5635,8.488,5636,8.488,5705,5.099,5706,5.099,5707,7.641,5708,5.099,5709,7.641,5710,5.099,5711,7.641,5712,10.178,5713,5.099,5714,7.641,5715,5.099,5716,5.099,5717,5.099,5718,5.099,5719,5.099,5720,5.099,5721,5.099]],["title/classes/ColumnUrlParams.html",[0,0.241,5638,6.113]],["body/classes/ColumnUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2965,6.417,4149,10.915,4197,6.09,5638,10.598,5722,9.999,5723,9.999]],["title/entities/ColumnboardBoardElement.html",[205,1.419,2964,5.346]],["body/entities/ColumnboardBoardElement.html",[0,0.332,3,0.018,4,0.018,5,0.009,7,0.134,27,0.374,30,0.001,32,0.119,95,0.142,96,2.505,101,0.012,103,0.001,104,0.001,112,0.924,190,1.72,205,2.399,206,3.13,224,2.779,231,1.655,232,2.596,457,5.333,2051,5.391,2715,5.421,2939,9.281,2961,8.311,2963,8.072,2964,9.038,2965,5.098,2966,9.552,2967,8.42,3011,6.07,3325,7.364,3359,9.906,5598,10.906,5724,9.593,5725,11.774,5726,9.593,5727,4.472,5728,8.42]],["title/interfaces/CommonCartridgeConfig.html",[159,0.712,5729,6.113]],["body/interfaces/CommonCartridgeConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,101,0.014,103,0.001,104,0.001,112,0.989,122,2.773,159,1.099,161,2.56,5729,11.063,5730,7.027,5731,7.027,5732,10.749,5733,12.78]],["title/interfaces/CommonCartridgeElement.html",[159,0.712,5734,4.616]],["body/interfaces/CommonCartridgeElement.html",[3,0.02,4,0.02,5,0.01,7,0.148,8,1.429,27,0.413,30,0.001,35,1.216,101,0.014,103,0.001,104,0.001,159,1.085,161,2.527,1078,5.48,1211,8.865,5730,8.177,5731,8.177,5734,8.29,5735,7.876,5736,10.607,5737,10.607]],["title/injectables/CommonCartridgeExportService.html",[589,0.926,5738,5.86]],["body/injectables/CommonCartridgeExportService.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,8,0.747,26,2.647,27,0.43,29,0.843,30,0.001,31,0.62,32,0.157,33,0.504,35,1.211,36,2.231,39,3.064,47,0.864,95,0.131,99,0.839,101,0.005,103,0,104,0,110,3.458,125,1.924,135,1.623,141,2.803,148,1.124,153,0.673,155,3.754,228,1.45,277,0.595,317,2.544,388,1.784,417,3.665,433,0.803,478,1.166,533,3.475,589,0.869,591,0.988,641,3.727,652,2.7,657,2.274,1396,6.812,1821,3.097,2017,3.654,2018,6.997,2027,5.891,2033,4.46,2047,3.12,2048,2.993,2203,6.503,2393,3.507,2959,4.848,3431,4.22,4235,4.538,4739,4.22,4823,3.054,5049,5.313,5245,4.026,5735,7.406,5738,5.502,5739,11.435,5740,4.163,5741,8.076,5742,8.076,5743,5.739,5744,8.076,5745,6.539,5746,8.076,5747,7.539,5748,8.276,5749,4.163,5750,4.163,5751,9.014,5752,7.219,5753,9.066,5754,4.163,5755,4.163,5756,4.163,5757,6.057,5758,4.163,5759,4.163,5760,6.35,5761,4.163,5762,4.026,5763,6.2,5764,6.539,5765,4.163,5766,6.539,5767,4.163,5768,4.163,5769,7.088,5770,3.654,5771,3.654,5772,2.993,5773,4.163,5774,3.856,5775,3.382,5776,3.828,5777,6.057,5778,4.163,5779,4.163,5780,4.163,5781,3.282,5782,4.163,5783,3.282,5784,4.163,5785,4.163,5786,4.163,5787,4.163,5788,2.373,5789,4.163,5790,4.163,5791,5.313,5792,6.539,5793,4.163,5794,3.382,5795,4.22,5796,4.163,5797,5.313,5798,4.163,5799,4.163,5800,4.819,5801,4.163,5802,6.539,5803,6.539,5804,3.856,5805,2.722,5806,2.842,5807,9.946,5808,6.539,5809,6.795,5810,6.539,5811,6.057,5812,8.076,5813,2.993,5814,5.739,5815,6.057,5816,6.057,5817,4.797,5818,4.163,5819,2.993,5820,4.163,5821,5.502,5822,5.739,5823,5.739,5824,2.993,5825,6.539,5826,6.539,5827,4.163,5828,3.856,5829,4.163,5830,4.163,5831,4.163,5832,4.163,5833,6.539,5834,4.163,5835,6.539,5836,4.163,5837,4.163,5838,3.654,5839,4.163,5840,4.163,5841,4.163]],["title/interfaces/CommonCartridgeFile.html",[159,0.712,5842,5.49]],["body/interfaces/CommonCartridgeFile.html",[3,0.019,4,0.019,5,0.009,7,0.143,8,1.401,27,0.478,30,0.001,35,1.406,47,0.901,101,0.013,103,0.001,104,0.001,122,2.542,159,1.049,161,2.443,2393,5.207,5730,8.574,5731,8.574,5735,8.257,5842,9.664,5843,10.255,5844,11.038,5845,10.255,5846,10.255]],["title/classes/CommonCartridgeFileBuilder.html",[0,0.241,5751,5.49]],["body/classes/CommonCartridgeFileBuilder.html",[0,0.271,2,0.555,3,0.01,4,0.01,5,0.012,7,0.073,8,0.893,27,0.48,29,0.713,30,0.001,31,0.524,32,0.128,33,0.426,35,1.07,36,1.973,47,0.759,95,0.134,101,0.013,103,0,104,0,112,0.613,129,3.06,130,2.797,135,1.506,148,1.138,153,2.17,155,2.496,159,0.8,228,2.446,317,2.019,400,1.542,433,0.961,435,3.207,507,4.906,540,2.594,652,2.751,1211,3.394,1237,2.704,1396,5.046,1835,5.31,2049,3.809,2203,6.757,3521,5.046,5730,8.228,5731,8.228,5734,6.187,5735,8.45,5751,6.164,5752,4.044,5753,5.426,5763,9.202,5776,6.466,5781,6.164,5783,6.164,5791,6.352,5795,7.47,5797,4.272,5806,5.339,5847,4.425,5848,9.405,5849,8.707,5850,7.933,5851,8.696,5852,7.242,5853,7.242,5854,4.272,5855,8.696,5856,7.819,5857,5.259,5858,5.259,5859,8.696,5860,5.259,5861,7.853,5862,9.405,5863,5.259,5864,9.739,5865,7.853,5866,5.259,5867,5.259,5868,4.272,5869,4.272,5870,4.037,5871,3.591,5872,3.781,5873,6.164,5874,6.352,5875,4.146,5876,4.146,5877,5.622,5878,6.579,5879,4.272,5880,4.425,5881,4.425,5882,4.425,5883,8.696,5884,4.425,5885,6.579,5886,4.425,5887,4.425,5888,6.579,5889,4.425,5890,4.425,5891,4.425,5892,4.425,5893,4.425,5894,4.425,5895,4.425,5896,4.425,5897,4.425,5898,4.425,5899,4.425,5900,4.272,5901,4.425,5902,4.425,5903,4.425,5904,4.425,5905,4.425,5906,4.425,5907,4.425,5908,4.425]],["title/classes/CommonCartridgeLtiResource.html",[0,0.241,5909,6.113]],["body/classes/CommonCartridgeLtiResource.html",[0,0.221,2,0.674,3,0.012,4,0.012,5,0.008,7,0.089,8,1.029,27,0.441,29,0.488,30,0.001,31,0.359,32,0.14,33,0.292,35,1.195,47,0.935,95,0.126,101,0.012,103,0,104,0,110,2.221,122,1.866,129,1.892,135,0.831,148,1.025,155,2.873,157,2.084,197,1.785,228,1.617,232,1.729,400,1.873,433,0.785,435,3.093,652,1.299,1078,3.944,1211,7.304,1237,2.608,1393,3.641,1396,5.809,2038,4.071,2203,7.4,2393,4.337,4358,4.433,5730,7.801,5731,7.801,5734,6.909,5735,8.179,5752,3.304,5753,6.247,5775,5.19,5776,6.102,5809,7.574,5821,5.375,5842,8.217,5844,9.195,5850,8.002,5870,4.904,5871,4.362,5872,4.593,5909,7.901,5910,10.039,5911,5.607,5912,10.483,5913,6.388,5914,5.917,5915,6.388,5916,6.388,5917,5.375,5918,5.917,5919,6.388,5920,6.388,5921,5.607,5922,6.388,5923,6.388,5924,6.388,5925,5.607,5926,5.607,5927,3.976,5928,5.607,5929,6.388,5930,5.19,5931,6.388,5932,7.574,5933,6.388,5934,6.388,5935,8.338,5936,6.388,5937,6.388,5938,6.388,5939,5.607,5940,9.002,5941,9.002,5942,9.002,5943,9.002,5944,9.002,5945,9.002,5946,9.002,5947,9.002,5948,9.002,5949,6.388,5950,6.388,5951,6.388,5952,6.388,5953,5.967,5954,9.002,5955,9.002,5956,9.002,5957,9.002,5958,6.388,5959,6.388,5960,6.388,5961,6.388,5962,6.388,5963,5.19,5964,5.19,5965,5.607]],["title/classes/CommonCartridgeManifestElement.html",[0,0.241,5873,5.49]],["body/classes/CommonCartridgeManifestElement.html",[0,0.239,2,0.73,3,0.013,4,0.013,5,0.006,7,0.096,8,1.087,27,0.371,29,0.528,30,0.001,31,0.389,32,0.118,33,0.316,35,0.793,47,0.508,95,0.137,101,0.012,103,0,104,0,129,2.048,131,5.553,135,0.9,148,0.935,153,2.053,228,2.104,232,1.872,433,1.169,435,3.269,652,2.383,1078,4.168,1211,7.559,1237,2.756,1393,3.942,1396,7.018,2038,4.408,2049,4.438,5730,7.111,5731,7.111,5734,8.909,5735,8.341,5753,4.799,5776,7.19,5795,7.926,5806,4.722,5821,5.819,5849,9.682,5871,4.722,5872,4.973,5873,7.5,5874,9.978,5877,4.973,5921,8.35,5925,8.35,5926,8.35,5927,5.922,5928,8.35,5963,7.73,5966,5.452,5967,11.714,5968,10.876,5969,10.85,5970,6.406,5971,6.916,5972,6.07,5973,6.07,5974,8.35,5975,6.07,5976,9.514,5977,6.916,5978,9.514,5979,9.514,5980,9.514,5981,9.514,5982,9.514,5983,6.916,5984,9.514,5985,6.916,5986,6.916,5987,6.916,5988,6.916,5989,9.514,5990,9.514,5991,9.514,5992,9.514,5993,9.514,5994,9.514,5995,6.916,5996,6.916,5997,6.916]],["title/classes/CommonCartridgeMetadataElement.html",[0,0.241,5972,6.113]],["body/classes/CommonCartridgeMetadataElement.html",[0,0.296,2,0.903,3,0.016,4,0.016,5,0.008,7,0.119,8,1.252,27,0.427,29,0.653,30,0.001,31,0.48,32,0.136,33,0.391,35,0.981,47,0.888,59,2.658,95,0.122,101,0.014,103,0.001,104,0.001,131,6.171,148,0.841,155,2.729,228,1.536,232,2.314,400,2.507,433,1.051,435,3.763,1078,4.799,1211,8.225,1237,3.173,4049,6.037,4358,5.934,5730,7.903,5731,7.903,5734,8.012,5735,8.489,5752,4.423,5753,7.601,5776,7.076,5781,6.741,5783,6.741,5871,5.839,5872,6.149,5939,7.505,5966,6.741,5969,11.806,5970,7.921,5972,9.615,5998,8.551,5999,8.551,6000,8.551,6001,8.551,6002,8.551,6003,8.551,6004,10.955,6005,8.551,6006,8.551,6007,8.551,6008,8.551,6009,8.551,6010,8.551]],["title/classes/CommonCartridgeOrganizationBuilder.html",[0,0.241,5879,5.658]],["body/classes/CommonCartridgeOrganizationBuilder.html",[0,0.292,2,0.617,3,0.011,4,0.011,5,0.011,7,0.081,8,0.965,27,0.424,29,0.645,30,0.001,31,0.474,32,0.123,33,0.386,35,0.67,36,1.785,47,0.799,95,0.138,101,0.014,103,0,104,0,135,1.563,148,1.181,153,2.123,155,2.695,159,0.864,228,2.278,232,1.58,317,1.263,400,1.712,433,1.037,435,3.407,507,3.75,540,1.938,652,2.52,735,3.821,1211,3.769,1237,2.873,1396,5.449,1835,4.339,2049,4.047,2203,7.537,3521,5.449,5730,7.537,5731,7.537,5734,6.574,5735,8.265,5751,4.604,5752,4.367,5753,5.859,5763,9.511,5776,6.748,5781,6.656,5783,6.656,5791,6.86,5795,7.753,5797,4.745,5806,7.419,5847,4.914,5848,8.828,5849,7.818,5850,8.341,5851,9.143,5855,7.105,5859,9.699,5861,7.105,5862,9.761,5864,10.306,5865,7.105,5868,4.745,5869,4.745,5870,4.483,5871,3.987,5872,4.199,5873,6.656,5874,6.86,5875,4.604,5876,4.604,5877,6.072,5878,8.345,5879,6.86,5880,4.914,5881,4.914,5882,4.914,5883,9.143,5884,4.914,5885,7.105,5886,4.914,5887,4.914,5888,7.105,5889,4.914,5890,4.914,5891,4.914,5892,4.914,5893,4.914,5894,4.914,5895,4.914,5896,4.914,5897,4.914,5898,4.914,5899,4.914,5900,4.745,5901,4.914,5902,4.914,5903,4.914,5904,4.914,5905,4.914,5906,4.914,5907,4.914,5908,4.914,6011,7.821,6012,5.84,6013,5.84,6014,5.84,6015,5.84,6016,5.84,6017,5.84]],["title/classes/CommonCartridgeOrganizationItemElement.html",[0,0.241,5875,5.49]],["body/classes/CommonCartridgeOrganizationItemElement.html",[0,0.294,2,0.897,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,27,0.425,29,0.649,30,0.001,31,0.477,32,0.135,33,0.388,35,0.974,47,0.886,95,0.134,101,0.014,103,0.001,104,0.001,148,1.072,155,3.846,228,1.526,232,2.299,400,2.491,433,1.044,435,3.748,1078,4.78,1211,8.206,1237,3.16,1396,7.777,2049,3.467,2481,6.523,3521,8.486,4358,5.896,5730,7.879,5731,7.879,5734,7.988,5735,8.281,5752,4.395,5763,8.375,5776,6.387,5777,10.106,5795,5.483,5806,8.228,5811,7.87,5862,10.331,5871,5.801,5875,8.6,5877,6.11,5935,7.87,5963,6.903,5966,6.698,6018,8.497,6019,8.497,6020,8.497,6021,8.497]],["title/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.241,5973,6.113]],["body/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.31,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,8,1.289,27,0.44,29,0.683,30,0.001,31,0.503,32,0.111,33,0.409,35,1.027,95,0.1,101,0.011,103,0.001,104,0.001,148,0.88,228,1.608,400,2.625,433,1.1,756,3.57,1078,4.941,1211,8.364,1237,3.267,1396,7.278,3521,7.278,5730,8.073,5731,8.073,5734,9.042,5735,8.162,5776,5.24,5806,8.85,5871,6.112,5966,7.056,5973,9.898,5974,10.837,6022,8.952,6023,8.291,6024,11.278,6025,8.291,6026,8.952,6027,6.437,6028,8.952,6029,8.291,6030,8.952,6031,8.952,6032,8.952]],["title/classes/CommonCartridgeResourceItemElement.html",[0,0.241,5876,5.49]],["body/classes/CommonCartridgeResourceItemElement.html",[0,0.237,2,0.724,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.477,29,0.524,30,0.001,31,0.385,32,0.134,33,0.313,35,1.242,47,0.695,95,0.145,101,0.012,103,0,104,0,112,0.742,122,1.961,148,1.064,153,1.888,158,2.531,228,1.944,232,2.559,433,0.842,435,2.356,579,1.958,652,2.202,1078,4.144,1211,7.532,1237,2.74,2203,7.631,2370,3.843,2393,4.692,3521,8.169,4726,7.108,5730,8.277,5731,8.277,5734,7.736,5735,8.708,5763,8.96,5769,8.301,5775,5.571,5776,7.411,5814,6.018,5822,6.018,5823,6.018,5842,9.201,5844,9.482,5850,9.4,5870,5.264,5871,4.682,5872,4.931,5876,7.456,5877,9.647,5909,6.018,5910,5.77,5912,8.761,5917,5.77,5918,6.352,5966,5.406,6033,9.11,6034,9.458,6035,6.857,6036,6.857,6037,6.857,6038,6.018,6039,7.684,6040,6.018,6041,8.761,6042,10.827,6043,6.857,6044,6.857,6045,6.857,6046,6.857,6047,6.857,6048,6.857,6049,6.857]],["title/classes/CommonCartridgeResourceWrapperElement.html",[0,0.241,5975,6.113]],["body/classes/CommonCartridgeResourceWrapperElement.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.455,29,0.722,30,0.001,31,0.531,32,0.117,33,0.432,35,1.085,95,0.105,101,0.012,103,0.001,104,0.001,148,0.93,228,1.698,400,2.773,433,1.162,1078,5.113,1211,8.53,1237,3.381,5730,8.276,5731,8.276,5734,9.166,5735,8.323,5776,5.536,5871,6.457,5877,9.505,5966,7.455,5974,11.11,5975,10.243,6023,8.76,6025,8.76,6050,9.458,6051,11.671,6052,9.458,6053,9.458]],["title/classes/CommonCartridgeWebContentResource.html",[0,0.241,6038,6.113]],["body/classes/CommonCartridgeWebContentResource.html",[0,0.269,2,0.822,3,0.014,4,0.014,5,0.009,7,0.108,8,1.178,27,0.479,29,0.595,30,0.001,31,0.438,32,0.152,33,0.356,35,1.325,47,0.966,95,0.129,101,0.013,103,0,104,0,122,2.137,148,1.136,155,2.486,197,2.177,228,1.399,232,2.108,400,2.284,433,0.957,435,3.541,1078,4.516,1211,7.935,1237,2.986,1396,6.652,2393,5.278,5730,8.363,5731,8.363,5734,7.658,5735,8.57,5752,4.028,5753,7.153,5769,10.793,5774,9.548,5775,6.327,5776,6.764,5809,8.673,5814,6.836,5815,9.548,5816,7.214,5817,5.713,5842,9.108,5844,9.99,5871,5.318,5872,5.6,5911,6.836,5914,7.214,5917,6.553,5963,6.327,5964,6.327,5965,6.836,6038,9.047,6039,10.391,6054,7.214,6055,7.788,6056,7.788,6057,7.788,6058,7.788]],["title/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.241,6040,6.113]],["body/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.238,2,0.725,3,0.013,4,0.013,5,0.009,7,0.096,8,1.082,27,0.455,29,0.524,30,0.001,31,0.386,32,0.145,33,0.314,35,1.243,47,0.931,95,0.13,101,0.012,103,0,104,0,110,3.292,122,1.963,129,2.034,135,0.894,148,1.148,155,3.022,197,1.92,228,1.701,232,1.859,400,2.014,433,0.844,435,3.253,652,1.397,1078,4.149,1211,7.537,1237,2.743,1393,3.915,1396,6.111,2038,4.378,2203,7.636,2370,6.867,2393,4.476,3011,3.139,4358,4.766,5730,8.011,5731,8.011,5734,7.183,5735,8.327,5752,3.553,5753,6.571,5775,5.581,5776,6.344,5809,9.118,5821,5.78,5822,6.029,5823,6.029,5842,8.543,5844,9.489,5850,8.319,5870,5.273,5871,4.69,5872,4.939,5900,7.693,5911,6.029,5917,5.78,5921,8.311,5925,8.311,5926,8.311,5927,5.894,5928,8.311,5932,5.78,5939,6.029,5963,5.581,5964,5.581,5965,6.029,6039,9.954,6040,8.311,6041,10.819,6054,6.362,6059,6.869,6060,6.869,6061,6.869,6062,10.837,6063,6.869,6064,6.869,6065,6.869,6066,6.869,6067,9.469,6068,9.469,6069,6.869,6070,9.469,6071,6.869]],["title/modules/CommonToolModule.html",[252,1.839,6072,5.221]],["body/modules/CommonToolModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.144,101,0.01,103,0,104,0,206,2.601,252,3.086,254,2.868,255,3.045,256,3.122,257,3.111,258,3.099,259,4.245,260,4.344,265,6.136,269,4.099,270,3.066,271,3.003,276,4.099,277,1.14,279,3.306,610,3.145,703,2.446,1027,2.44,1829,3.418,1831,5.285,1913,10.388,1939,4.238,2070,4.299,2553,5.021,2830,4.625,6072,10.924,6073,7.974,6074,7.974,6075,7.974,6076,7.974,6077,8.769,6078,10.872,6079,11.164,6080,10.616,6081,7.974,6082,6.478,6083,7.974,6084,7.974,6085,7.974,6086,6.709]],["title/injectables/CommonToolService.html",[589,0.926,6078,5.346]],["body/injectables/CommonToolService.html",[0,0.332,3,0.013,4,0.013,5,0.006,7,0.097,8,1.095,27,0.426,29,0.835,30,0.001,31,0.614,32,0.135,33,0.5,35,1.254,80,5.238,95,0.145,101,0.009,102,3.714,103,0,104,0,122,2.439,135,0.909,148,1.156,153,1.13,159,0.715,183,4.493,195,2.709,197,3.056,277,0.999,412,4.256,589,1.274,591,1.658,614,3.39,652,2.224,703,2.144,711,3.688,886,2.213,1829,2.995,1883,2.623,1939,3.714,1941,4.569,2005,7.057,2006,6.834,2008,5.447,2035,6.489,2698,2.267,2776,6.87,6078,7.356,6087,10.898,6088,5.678,6089,10.129,6090,9.582,6091,9.582,6092,7.554,6093,6.473,6094,6.989,6095,9.042,6096,9.582,6097,6.473,6098,9.582,6099,7.781,6100,10.935,6101,6.473,6102,6.989,6103,5.88,6104,6.989,6105,8.062,6106,5.509,6107,4.933,6108,6.989,6109,9.582,6110,8.876,6111,8.876,6112,6.989,6113,6.989,6114,6.989,6115,6.989]],["title/injectables/CommonToolValidationService.html",[589,0.926,6079,5.49]],["body/injectables/CommonToolValidationService.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.054,8,0.71,27,0.46,29,0.902,30,0.001,31,0.743,32,0.152,33,0.526,35,1.321,47,0.847,95,0.125,101,0.008,103,0,104,0,112,0.488,122,2.129,125,3.006,129,1.156,130,1.682,135,1.499,148,0.384,153,1.742,183,1.491,194,1.534,195,1.94,197,3.301,277,0.558,329,2.378,338,6.321,347,2.006,388,5.259,393,1.933,417,4.948,467,2.254,567,1.456,569,4.009,579,2.752,589,0.826,591,0.926,614,2.401,652,2.765,653,2.556,695,2.807,703,1.198,711,2.975,886,1.236,1220,2.244,1883,1.465,1919,2.709,1986,2.403,2005,4.116,2006,4.059,2008,3.857,2034,6.932,2125,2.046,2234,2.666,2345,2.378,2698,4.095,2765,8.846,2776,4.372,2791,8.549,3614,5.23,4703,2.353,6079,4.9,6087,11.167,6116,3.077,6117,7.744,6118,6.216,6119,6.216,6120,6.216,6121,6.216,6122,6.216,6123,6.216,6124,6.216,6125,6.216,6126,6.216,6127,6.216,6128,13.387,6129,3.616,6130,3.426,6131,6.216,6132,3.904,6133,6.216,6134,11.809,6135,3.616,6136,6.216,6137,12.269,6138,3.904,6139,6.216,6140,3.904,6141,6.216,6142,3.904,6143,6.216,6144,3.616,6145,6.216,6146,12.269,6147,3.904,6148,6.216,6149,3.904,6150,4.771,6151,5.455,6152,6.216,6153,5.455,6154,5.455,6155,5.455,6156,5.455,6157,5.455,6158,3.904,6159,3.904,6160,2.709,6161,3.904,6162,3.904,6163,3.904,6164,3.904,6165,5.455,6166,2.926,6167,2.997,6168,3.904,6169,3.904,6170,3.904,6171,3.904,6172,3.904,6173,3.904,6174,3.904,6175,3.904,6176,3.616,6177,3.904,6178,2.307,6179,5.05,6180,3.904,6181,6.216,6182,3.904,6183,5.455,6184,3.904,6185,3.904,6186,5.05,6187,3.904,6188,3.904,6189,3.904,6190,3.904,6191,3.904,6192,3.426,6193,3.904,6194,7.744,6195,3.904,6196,3.616,6197,6.216,6198,3.285,6199,3.285,6200,3.904,6201,3.904,6202,3.904,6203,2.488]],["title/interfaces/ComponentEtherpadProperties.html",[159,0.712,6204,5.008]],["body/interfaces/ComponentEtherpadProperties.html",[0,0.158,3,0.008,4,0.008,5,0.004,7,0.134,26,2.106,30,0.001,31,0.395,32,0.136,47,1.024,55,2.106,95,0.138,96,1.195,101,0.016,103,0,104,0,110,3.975,112,0.552,122,1.459,125,1.676,134,1.62,135,1.66,145,1.718,148,1.254,153,1.557,155,3.649,157,2.541,158,1.689,159,1.207,161,1.09,195,1.885,196,1.518,197,1.967,205,1.434,223,3.239,224,1.325,225,2.697,226,2.081,229,1.805,231,0.79,232,1.238,233,1.418,277,0.654,290,1.085,371,3.74,527,1.945,579,2.009,595,1.735,613,4.046,652,1.432,653,1.882,711,1.325,789,2.504,886,1.449,1237,1.325,1312,2.155,1821,2.167,1842,3.216,1937,2.155,2027,2.24,2033,3.942,2051,1.936,2184,1.811,2393,4.206,2831,1.832,2912,4.105,2942,3.978,2946,3.767,2950,2.544,2955,4.542,2956,2.73,2957,4.624,2959,3.938,2960,4.432,2972,4.601,3076,3.767,3668,4.351,3774,5.4,3793,6.167,3930,3.23,3931,3.23,4441,4.159,4600,2.881,4664,2.061,5266,5.767,5607,2.916,5608,2.992,5727,2.133,5760,6.681,5772,3.29,5788,2.608,5795,4.542,5800,7.223,5813,3.29,5819,3.29,5824,3.29,6204,6.167,6205,3.356,6206,2.631,6207,6.202,6208,3.077,6209,5.534,6210,3.356,6211,4.485,6212,4.968,6213,4.805,6214,6.889,6215,5.061,6216,5.061,6217,3.29,6218,5.061,6219,5.061,6220,5.061,6221,3.356,6222,5.061,6223,3.077,6224,5.061,6225,5.061,6226,7.616,6227,3.356,6228,3.356,6229,3.356,6230,4.665,6231,4.542,6232,2.881,6233,3.23,6234,3.23,6235,3.356,6236,3.356,6237,3.356,6238,2.992,6239,5.162,6240,3.033,6241,6.054,6242,3.23,6243,5.162,6244,3.356,6245,3.356,6246,3.356,6247,3.175,6248,3.356,6249,3.356,6250,5.162,6251,4.805,6252,3.356,6253,3.356,6254,7.063,6255,6.291,6256,3.29,6257,6.167,6258,3.356,6259,3.356,6260,3.356,6261,3.356,6262,3.356,6263,3.356,6264,3.356,6265,3.356,6266,3.356,6267,3.356,6268,3.356,6269,3.175,6270,4.733,6271,3.356,6272,3.356]],["title/interfaces/ComponentGeogebraProperties.html",[159,0.712,6220,5.008]],["body/interfaces/ComponentGeogebraProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.121,30,0.001,31,0.4,32,0.12,47,1.01,55,2.121,95,0.138,96,1.214,101,0.016,103,0,104,0,110,3.376,112,0.559,122,1.477,125,1.697,134,1.647,135,1.666,145,1.745,148,1.259,153,1.57,155,3.099,157,2.005,158,1.716,159,1.213,161,1.108,195,1.904,196,1.543,197,1.991,205,1.452,223,3.263,224,1.347,225,2.731,226,2.115,229,1.834,231,0.802,232,1.258,233,1.441,277,0.665,290,1.103,371,3.787,527,1.976,579,2.034,595,1.763,613,4.096,652,1.449,653,1.912,711,1.347,789,2.545,886,1.472,1237,1.347,1312,2.19,1821,2.202,1842,3.256,1937,2.19,2027,2.276,2033,3.971,2051,1.968,2184,1.841,2393,4.233,2831,1.861,2912,4.147,2942,4.018,2946,3.814,2950,2.585,2955,4.598,2956,2.775,2957,4.671,2959,3.978,2960,4.487,2972,4.659,3076,3.814,3668,4.395,3774,5.455,3793,6.229,3930,3.282,3931,3.282,4441,4.211,4600,2.928,4664,2.094,5266,5.825,5607,2.963,5608,3.04,5727,2.168,5760,6.738,5772,3.344,5788,2.65,5795,4.598,5800,7.257,5813,3.344,5819,3.344,5824,3.344,6204,5.124,6205,3.411,6206,2.673,6207,6.248,6208,3.127,6209,5.59,6210,3.411,6211,4.541,6212,5.03,6213,4.865,6214,6.94,6215,5.124,6216,5.124,6217,3.344,6218,5.124,6219,5.124,6220,6.229,6221,7.122,6222,5.124,6223,3.127,6224,5.124,6225,5.124,6226,7.664,6227,3.411,6228,3.411,6229,3.411,6230,4.723,6231,4.598,6232,2.928,6233,3.282,6234,3.282,6235,3.411,6236,3.411,6237,3.411,6238,3.04,6239,5.227,6240,3.082,6241,6.115,6242,3.282,6243,5.227,6244,3.411,6245,3.411,6246,3.411,6247,3.226,6248,3.411,6249,3.411,6250,5.227,6251,4.865,6252,3.411,6253,3.411,6254,7.122,6255,6.354,6256,3.344,6257,6.229,6258,3.411,6259,3.411,6260,3.411,6261,3.411,6262,3.411,6263,3.411,6264,3.411,6265,3.411,6266,3.411,6267,3.411,6268,3.411,6269,3.226,6270,4.791,6271,3.411,6272,3.411]],["title/interfaces/ComponentInternalProperties.html",[159,0.712,6225,5.008]],["body/interfaces/ComponentInternalProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.121,30,0.001,31,0.4,32,0.12,47,1.01,55,2.121,95,0.138,96,1.214,101,0.016,103,0,104,0,110,3.997,112,0.559,122,1.477,125,1.697,134,1.647,135,1.666,145,1.745,148,1.259,153,1.57,155,3.099,157,2.005,158,1.716,159,1.213,161,1.108,195,1.904,196,1.543,197,1.991,205,1.452,223,3.263,224,1.347,225,2.731,226,2.115,229,1.834,231,0.802,232,1.258,233,1.441,277,0.665,290,1.103,371,3.787,527,1.976,579,2.034,595,1.763,613,4.096,652,1.449,653,1.912,711,1.347,789,2.545,886,1.472,1237,1.347,1312,2.19,1821,2.202,1842,3.256,1937,2.19,2027,2.276,2033,3.971,2051,1.968,2184,1.841,2393,4.233,2831,1.861,2912,4.147,2942,4.018,2946,3.814,2950,2.585,2955,4.598,2956,2.775,2957,4.671,2959,3.978,2960,4.487,2972,4.659,3076,3.814,3668,4.395,3774,5.455,3793,6.229,3930,3.282,3931,3.282,4441,4.211,4600,2.928,4664,2.094,5266,5.825,5607,2.963,5608,3.04,5727,2.168,5760,6.738,5772,3.344,5788,2.65,5795,4.598,5800,7.257,5813,3.344,5819,3.344,5824,3.344,6204,5.124,6205,3.411,6206,2.673,6207,6.248,6208,3.127,6209,5.59,6210,3.411,6211,4.541,6212,5.03,6213,4.865,6214,6.94,6215,5.124,6216,5.124,6217,3.344,6218,5.124,6219,5.124,6220,5.124,6221,3.411,6222,5.124,6223,3.127,6224,5.124,6225,6.229,6226,7.664,6227,3.411,6228,3.411,6229,3.411,6230,4.723,6231,4.598,6232,2.928,6233,3.282,6234,3.282,6235,3.411,6236,3.411,6237,3.411,6238,3.04,6239,5.227,6240,3.082,6241,6.115,6242,3.282,6243,5.227,6244,3.411,6245,3.411,6246,3.411,6247,3.226,6248,3.411,6249,3.411,6250,5.227,6251,4.865,6252,3.411,6253,3.411,6254,7.122,6255,6.354,6256,3.344,6257,6.229,6258,3.411,6259,3.411,6260,3.411,6261,3.411,6262,3.411,6263,3.411,6264,3.411,6265,3.411,6266,3.411,6267,3.411,6268,3.411,6269,3.226,6270,4.791,6271,3.411,6272,3.411]],["title/interfaces/ComponentLernstoreProperties.html",[159,0.712,6222,5.008]],["body/interfaces/ComponentLernstoreProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.119,30,0.001,31,0.4,32,0.137,47,1,55,2.119,95,0.138,96,1.211,101,0.016,103,0,104,0,110,3.372,112,0.558,122,1.475,125,1.694,134,1.643,135,1.666,145,1.741,148,1.258,153,1.568,155,3.096,157,2.002,158,1.713,159,1.212,161,1.105,172,3.036,195,1.901,196,1.539,197,1.988,205,1.449,223,3.259,224,1.344,225,2.726,226,2.11,229,1.83,231,0.8,232,1.255,233,1.438,277,0.663,290,1.1,371,3.78,527,1.972,579,2.031,595,1.759,613,4.089,652,1.447,653,1.908,711,1.344,789,2.539,886,1.469,1237,1.344,1312,2.185,1821,2.197,1842,3.25,1937,2.185,2027,2.271,2033,3.966,2051,1.963,2184,1.836,2393,4.229,2831,1.857,2912,4.141,2942,4.012,2946,3.807,2950,2.579,2955,4.59,2956,2.768,2957,4.664,2959,3.972,2960,4.479,2972,4.65,3076,3.807,3668,4.389,3774,5.447,3793,6.22,3930,3.275,3931,3.275,4441,4.203,4600,2.921,4664,2.089,5266,5.817,5607,2.956,5608,3.033,5727,2.163,5760,6.73,5772,3.336,5788,2.644,5795,6.749,5800,7.252,5813,3.336,5819,3.336,5824,3.336,6204,5.114,6205,3.403,6206,2.667,6207,6.241,6208,3.12,6209,5.582,6210,3.403,6211,4.533,6212,5.021,6213,4.856,6214,6.932,6215,5.114,6216,5.114,6217,3.336,6218,5.114,6219,5.114,6220,5.114,6221,3.403,6222,6.22,6223,3.12,6224,5.114,6225,5.114,6226,7.657,6227,3.403,6228,3.403,6229,3.403,6230,4.715,6231,4.59,6232,2.921,6233,3.275,6234,3.275,6235,3.403,6236,3.403,6237,3.403,6238,3.033,6239,5.217,6240,3.075,6241,6.106,6242,3.275,6243,5.217,6244,3.403,6245,3.403,6246,3.403,6247,3.219,6248,3.403,6249,3.403,6250,5.217,6251,4.856,6252,3.403,6253,3.403,6254,7.114,6255,6.345,6256,3.336,6257,6.22,6258,3.403,6259,3.403,6260,3.403,6261,3.403,6262,3.403,6263,3.403,6264,3.403,6265,3.403,6266,3.403,6267,3.403,6268,3.403,6269,3.219,6270,4.783,6271,3.403,6272,3.403]],["title/interfaces/ComponentNexboardProperties.html",[159,0.712,6224,5.008]],["body/interfaces/ComponentNexboardProperties.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.134,26,2.098,30,0.001,31,0.393,32,0.141,47,1.03,55,2.098,95,0.137,96,1.185,101,0.016,103,0,104,0,110,3.963,112,0.549,122,1.45,125,1.666,134,1.608,135,1.657,145,1.704,148,1.252,153,1.551,155,3.639,157,2.532,158,1.676,159,1.204,161,1.081,195,1.875,196,1.506,197,1.955,205,1.426,223,3.227,224,1.315,225,2.681,226,2.064,229,1.79,231,0.783,232,1.228,233,1.407,277,0.649,290,1.077,371,3.718,527,1.929,579,1.997,595,1.722,613,4.021,652,1.423,653,1.867,711,1.315,789,2.484,886,1.437,1237,1.315,1312,2.138,1821,2.15,1842,3.197,1937,2.138,2027,2.222,2033,3.928,2051,4.058,2184,1.797,2393,4.193,2831,1.817,2912,4.085,2942,3.958,2946,3.744,2950,2.524,2955,4.514,2956,2.709,2957,4.601,2959,3.919,2960,4.405,2972,4.573,3076,3.744,3668,4.33,3774,5.374,3793,6.136,3930,3.205,3931,3.205,4441,4.134,4600,2.858,4664,2.045,5266,5.739,5607,2.893,5608,2.968,5727,2.116,5760,6.653,5772,3.264,5788,2.587,5795,4.514,5800,7.206,5813,3.264,5819,3.264,5824,3.264,6204,5.03,6205,3.33,6206,2.61,6207,6.18,6208,3.053,6209,5.507,6210,3.33,6211,4.458,6212,4.938,6213,4.776,6214,6.864,6215,5.03,6216,5.03,6217,3.264,6218,5.03,6219,5.03,6220,5.03,6221,3.33,6222,5.03,6223,3.053,6224,6.136,6225,5.03,6226,7.591,6227,3.33,6228,3.33,6229,3.33,6230,4.636,6231,4.514,6232,2.858,6233,3.205,6234,3.205,6235,3.33,6236,3.33,6237,3.33,6238,2.968,6239,5.131,6240,3.009,6241,6.024,6242,3.205,6243,5.131,6244,3.33,6245,3.33,6246,3.33,6247,3.15,6248,3.33,6249,3.33,6250,5.131,6251,4.776,6252,3.33,6253,3.33,6254,7.033,6255,6.26,6256,3.264,6257,6.136,6258,3.33,6259,3.33,6260,3.33,6261,3.33,6262,3.33,6263,3.33,6264,3.33,6265,3.33,6266,3.33,6267,3.33,6268,3.33,6269,3.15,6270,4.704,6271,3.33,6272,3.33]],["title/interfaces/ComponentTextProperties.html",[159,0.712,6219,5.008]],["body/interfaces/ComponentTextProperties.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,26,2.121,30,0.001,31,0.4,32,0.12,47,1.01,55,2.121,95,0.138,96,1.214,101,0.016,103,0,104,0,110,3.376,112,0.559,122,1.477,125,1.697,134,1.647,135,1.666,145,1.745,148,1.259,153,1.57,155,3.099,157,2.005,158,1.716,159,1.213,161,1.108,195,1.904,196,1.543,197,1.991,205,1.452,223,3.263,224,1.347,225,2.731,226,2.115,229,1.834,231,0.802,232,1.258,233,1.441,277,0.665,290,1.103,371,3.787,527,1.976,579,2.034,595,1.763,613,4.096,652,1.449,653,1.912,711,1.347,789,2.545,886,1.472,1237,1.347,1312,2.19,1821,2.202,1842,3.256,1937,2.19,2027,2.276,2033,3.971,2051,1.968,2184,1.841,2393,4.233,2831,1.861,2912,5.287,2942,4.018,2946,3.814,2950,2.585,2955,4.598,2956,2.775,2957,4.671,2959,3.978,2960,4.487,2972,4.659,3076,3.814,3668,4.395,3774,5.455,3793,6.229,3930,3.282,3931,3.282,4441,4.211,4600,2.928,4664,2.094,5266,5.825,5607,2.963,5608,3.04,5727,2.168,5760,6.738,5772,3.344,5788,2.65,5795,4.598,5800,7.257,5813,3.344,5819,3.344,5824,3.344,6204,5.124,6205,3.411,6206,2.673,6207,6.248,6208,3.127,6209,5.59,6210,3.411,6211,4.541,6212,5.03,6213,4.865,6214,6.94,6215,5.124,6216,5.124,6217,3.344,6218,5.124,6219,6.229,6220,5.124,6221,3.411,6222,5.124,6223,3.127,6224,5.124,6225,5.124,6226,7.664,6227,3.411,6228,3.411,6229,3.411,6230,4.723,6231,4.598,6232,2.928,6233,3.282,6234,3.282,6235,3.411,6236,3.411,6237,3.411,6238,3.04,6239,5.227,6240,3.082,6241,6.115,6242,3.282,6243,5.227,6244,3.411,6245,3.411,6246,3.411,6247,3.226,6248,3.411,6249,3.411,6250,5.227,6251,4.865,6252,3.411,6253,3.411,6254,7.122,6255,6.354,6256,3.344,6257,6.229,6258,3.411,6259,3.411,6260,3.411,6261,3.411,6262,3.411,6263,3.411,6264,3.411,6265,3.411,6266,3.411,6267,3.411,6268,3.411,6269,3.226,6270,4.791,6271,3.411,6272,3.411]],["title/classes/ConsentRequestBody.html",[0,0.241,6273,5.86]],["body/classes/ConsentRequestBody.html",[0,0.295,2,0.625,3,0.011,4,0.011,5,0.005,7,0.082,27,0.496,30,0.001,32,0.158,33,0.634,34,1.458,47,0.887,55,2.025,95,0.111,101,0.008,103,0,104,0,112,0.669,122,1.767,145,3.2,157,2.531,164,8.195,165,4.807,167,8.77,169,9.806,170,7.877,187,6.178,190,2.282,194,5.238,195,2.196,196,4.422,197,3.974,199,4.702,200,1.811,202,1.359,231,1.471,290,2.022,296,2.861,299,3.337,300,4.19,337,3.643,342,3.869,402,2.129,403,4.352,436,3.423,567,4.076,711,1.714,890,5.82,998,2.802,1042,3.922,1080,4.312,1302,3.29,1379,4.255,1390,3.683,1470,5.6,1475,7.6,1889,6.72,2164,2.745,2345,7.351,2531,3.191,2550,5.138,2831,4.376,4918,6.39,5074,4.352,5146,6.544,5317,4.543,6178,3.497,6273,7.172,6274,10.933,6275,10.343,6276,7.172,6277,7.172,6278,6.72,6279,5.918,6280,5.918,6281,6.719,6282,5.918,6283,5.194,6284,7.482,6285,7.482,6286,7.896,6287,7.482,6288,3.465,6289,5.918,6290,5.481,6291,7.896,6292,6.253,6293,10.127,6294,7.896,6295,5.918,6296,8.618,6297,4.543,6298,5.194,6299,5.194,6300,5.194,6301,5.481,6302,6.544,6303,5.915,6304,4.436,6305,4.807,6306,4.543,6307,4.979,6308,4.807,6309,5.481,6310,4.979,6311,5.481,6312,5.481,6313,5.194,6314,4.979,6315,4.979,6316,5.481,6317,4.945,6318,6.544,6319,5.481]],["title/classes/ConsentResponse.html",[0,0.241,6320,5.658]],["body/classes/ConsentResponse.html",[0,0.349,2,0.528,3,0.009,4,0.009,5,0.004,7,0.07,27,0.518,29,0.381,30,0.001,31,0.281,32,0.164,33,0.643,34,1.723,47,1.005,70,5.483,72,3.456,77,6.974,95,0.112,101,0.006,103,0,104,0,110,2.617,112,0.59,122,1.56,125,1.793,130,2.037,157,2.808,164,7.552,171,7.638,174,5.139,180,4.868,181,9.486,182,7.946,183,3.457,185,2.578,187,7.576,190,2.359,193,4.954,194,3.959,195,2.375,196,3.768,197,3.638,200,1.529,202,1.147,290,2.694,296,3.478,299,3.945,300,5.044,358,6.114,433,0.614,868,2.405,1470,5.647,1475,6.344,1775,4.119,1842,3.439,1900,6.587,2328,4.739,2345,6.136,2531,4.881,2766,7.734,2831,4.718,2860,6.502,3633,5.412,3756,3.528,4440,4.06,4578,8.925,6314,6.332,6317,5.844,6320,9.576,6321,4.997,6322,8.386,6323,8.386,6324,7.617,6325,7.617,6326,7.617,6327,7.355,6328,7.526,6329,4.997,6330,9.969,6331,4.997,6332,7.946,6333,7.526,6334,4.997,6335,7.526,6336,6.332,6337,4.997,6338,7.617,6339,8.386,6340,4.997,6341,4.997,6342,7.526,6343,6.605,6344,4.997,6345,7.526,6346,4.997,6347,7.617,6348,4.997,6349,7.526,6350,8.843,6351,4.997,6352,4.997,6353,4.997,6354,6.971,6355,6.971,6356,4.997,6357,4.997,6358,4.386,6359,4.629,6360,4.629,6361,4.629]],["title/classes/ConsentSessionResponse.html",[0,0.241,6362,5.86]],["body/classes/ConsentSessionResponse.html",[0,0.361,2,0.837,3,0.015,4,0.015,5,0.007,7,0.11,27,0.483,29,0.605,30,0.001,31,0.655,32,0.153,33,0.615,34,1.783,47,1.055,95,0.116,101,0.01,103,0,104,0,112,0.818,125,3.292,157,2.698,164,7.817,187,7.27,190,2.089,193,4.548,200,2.426,202,1.82,296,3.24,300,3.996,433,0.974,868,5.019,1475,6.567,1495,8.38,1508,7.342,2831,4.957,4578,9.681,6330,6.957,6362,8.774,6363,12.865,6364,7.342,6365,9.187,6366,9.659,6367,12.383,6368,7.927,6369,5.258,6370,9.659,6371,7.927,6372,7.927,6373,7.927,6374,7.927,6375,7.927]],["title/modules/ConsoleWriterModule.html",[252,1.839,3887,5.346]],["body/modules/ConsoleWriterModule.html",[0,0.339,3,0.018,4,0.018,5,0.009,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.395,254,3.527,255,3.744,256,3.838,257,3.824,258,3.811,259,4.671,260,4.779,269,4.671,270,3.77,271,3.693,277,1.402,3803,9.523,3813,6.035,3887,10.839,6376,9.804,6377,9.804,6378,9.804,6379,9.081,6380,7.965,6381,9.804,6382,8.605]],["title/injectables/ConsoleWriterService.html",[589,0.926,3803,4.554]],["body/injectables/ConsoleWriterService.html",[0,0.346,3,0.024,4,0.019,5,0.009,7,0.139,8,1.38,27,0.39,29,0.763,30,0.001,31,0.562,32,0.124,33,0.457,35,1.147,47,0.953,95,0.111,101,0.013,103,0.001,104,0.001,277,1.43,569,3.753,571,3.958,589,1.605,591,2.372,1086,4.76,1087,4.615,1088,4.686,2912,5.78,3803,7.894,3813,6.155,6379,11.184,6380,9.81,6383,9.999,6384,12.075,6385,9.999,6386,9.999]],["title/classes/ContentBodyParams.html",[0,0.241,1234,5.658]],["body/classes/ContentBodyParams.html",[0,0.451,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.444,30,0.001,32,0.154,47,1.006,95,0.127,101,0.017,103,0.001,104,0.001,112,0.893,125,2.166,190,2.042,195,1.998,200,2.783,202,2.088,296,3.512,299,5.104,300,4.365,855,4.612,1195,6.158,1228,7.388,1233,9.253,1234,10.104,1235,9.253,1238,6.98,1240,7.349,1242,7.651,2531,4.903,6317,6.607,6387,7.981,6388,8.63,6389,6.31,6390,9.094,6391,9.094,6392,9.094]],["title/injectables/ContentElementFactory.html",[589,0.926,3894,5.658]],["body/injectables/ContentElementFactory.html",[0,0.194,3,0.01,4,0.01,5,0.007,7,0.078,8,0.938,27,0.477,29,0.429,30,0.001,31,0.316,32,0.14,33,0.257,34,2.027,35,1.404,49,2.117,83,3.91,95,0.145,99,1.132,101,0.007,103,0,104,0,110,1.954,129,1.664,134,1.99,135,1.543,142,2.034,148,1.203,153,2.306,155,1.794,157,1.301,277,0.804,430,4.876,431,5.081,507,3.647,574,3.149,579,1.604,589,1.091,591,1.333,614,1.742,652,2.83,1393,6.757,2030,8.67,2038,3.581,2049,5.769,2370,3.149,2698,1.823,2912,3.93,3066,7.877,3134,5.368,3137,5.442,3140,5.111,3143,5.368,3146,5.054,3149,5.17,3153,4.314,3154,8.226,3158,4.212,3159,2.543,3160,3.422,3555,3.581,3581,3.321,3583,3.321,3589,4.275,3593,2.906,3877,4.932,3894,6.671,4485,5.556,4510,7.298,5953,8.116,6393,12.552,6394,5.619,6395,10.671,6396,10.671,6397,9.884,6398,10.671,6399,10.671,6400,10.671,6401,8.211,6402,5.619,6403,5.619,6404,5.619,6405,5.619,6406,5.619,6407,5.619,6408,5.619,6409,3.538,6410,5.619,6411,3.581,6412,5.619,6413,3.538,6414,5.619,6415,3.581,6416,5.619,6417,3.581,6418,5.619,6419,3.581,6420,5.619,6421,5.619]],["title/classes/ContentElementResponseFactory.html",[0,0.241,4071,5.346]],["body/classes/ContentElementResponseFactory.html",[0,0.241,2,0.736,3,0.013,4,0.013,5,0.009,7,0.097,8,1.094,27,0.426,29,0.731,30,0.001,31,0.538,32,0.145,33,0.437,35,1.098,95,0.152,100,2.433,101,0.009,103,0,104,0,112,0.751,129,2.066,130,1.888,135,1.422,141,5.039,148,0.941,153,1.548,277,0.998,467,3.92,579,2.733,614,2.163,652,2.222,830,5.321,1853,2.289,2049,5.733,2113,6.462,2140,3.976,2370,3.91,2653,8.014,2659,7.174,2661,8.876,2662,5.597,2698,2.264,2912,3.339,3140,7.318,3146,7.237,3153,5.355,3158,5.229,3159,3.157,3160,4.249,3555,4.446,4029,8.689,4066,7.856,4067,7.856,4071,7.347,6422,11.757,6423,10.12,6424,10.925,6425,9.571,6426,9.571,6427,9.571,6428,9.571,6429,9.571,6430,9.571,6431,6.976,6432,6.976,6433,6.976,6434,6.976,6435,5.892,6436,6.976,6437,6.976,6438,5.355,6439,6.123,6440,6.123,6441,6.123,6442,6.123,6443,6.123,6444,6.123,6445,9.571,6446,6.976,6447,6.976,6448,6.976,6449,6.123,6450,6.976,6451,6.976,6452,6.976,6453,6.976]],["title/injectables/ContentElementService.html",[589,0.926,2019,5.109]],["body/injectables/ContentElementService.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.964,10,3.389,12,3.817,26,2.509,27,0.483,29,0.945,30,0.001,31,0.696,32,0.162,33,0.566,34,1.442,35,1.377,36,2.839,55,2.008,95,0.138,99,1.175,101,0.007,103,0,104,0,135,1.499,148,1.067,153,1.603,228,1.78,277,0.834,317,3.025,433,1.036,579,2.408,589,1.121,591,1.383,652,2.016,657,2.9,734,3.555,837,2.888,1853,1.913,2019,6.187,2024,6.649,2030,10.66,2049,5.273,2051,2.468,2393,4.161,2636,2.854,2662,2.776,2675,6.417,2954,3.099,3127,7.058,3237,4.893,3445,4.371,3446,8.478,3611,3.982,3641,7.813,3668,6.283,3679,5.118,3725,9.283,3728,6.065,3734,8.336,3738,4.907,3894,10.061,4483,7.403,4485,5.654,4503,4.738,4567,10.058,6449,5.118,6454,11.746,6455,5.832,6456,5.832,6457,5.832,6458,8.435,6459,5.832,6460,8.435,6461,5.832,6462,8.435,6463,5.832,6464,8.435,6465,5.832,6466,8.435,6467,7.007,6468,5.832,6469,5.832,6470,5.118,6471,5.832,6472,5.832,6473,5.832,6474,5.832,6475,5.832,6476,5.832,6477,5.832,6478,5.832,6479,5.832,6480,4.278,6481,5.832,6482,5.832,6483,5.832,6484,5.832]],["title/injectables/ContentElementUpdateVisitor.html",[589,0.926,6470,6.113]],["body/injectables/ContentElementUpdateVisitor.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.785,27,0.5,29,0.967,30,0.001,31,0.712,32,0.161,33,0.579,35,1.431,36,2.899,47,0.326,95,0.126,99,0.893,101,0.006,103,0,104,0,110,2.924,112,0.539,125,1.636,135,1.094,148,1.319,153,1.111,154,3.731,228,1.51,277,0.634,298,1.925,317,3.049,356,2.982,433,0.545,589,0.913,591,1.052,652,2.204,653,4.457,837,2.196,1237,1.284,1842,2.026,1853,1.455,1939,2.357,2032,6.054,2049,5.349,2393,3.926,2555,3.602,2662,4.508,2675,5.596,2698,2.229,2802,8.319,2965,5.445,3073,3.949,3102,2.673,3127,5.839,3134,6.698,3137,6.791,3140,6.377,3143,6.698,3146,6.307,3149,6.451,3154,4.767,3159,2.007,3162,5.78,3163,5.78,3164,5.78,3165,5.78,3166,5.78,3167,5.78,3168,5.78,3169,5.78,3171,5.78,3172,5.78,3173,5.78,3174,5.78,3175,5.78,3176,5.78,3177,5.78,3178,5.78,3179,5.78,3180,5.78,3181,5.78,3237,2.572,3348,4.107,3556,3.324,3589,2.309,3771,6.68,6226,3.077,6454,12.022,6467,6.993,6470,6.029,6485,4.434,6486,6.869,6487,6.869,6488,6.869,6489,6.869,6490,4.434,6491,4.434,6492,4.434,6493,4.434,6494,4.434,6495,4.434,6496,4.434,6497,4.434,6498,4.434,6499,4.434,6500,6.363,6501,4.434,6502,4.107,6503,3.731,6504,4.491,6505,4.491,6506,4.491,6507,4.491,6508,4.491,6509,4.491,6510,4.434,6511,4.434,6512,4.434,6513,4.107,6514,4.434,6515,6.869,6516,4.107,6517,4.434,6518,4.434,6519,3.892,6520,4.434,6521,4.107,6522,4.434,6523,4.434,6524,6.869,6525,6.869,6526,4.434,6527,8.409,6528,4.434,6529,4.434,6530,4.434,6531,4.434,6532,4.434,6533,4.107,6534,4.434,6535,4.107,6536,4.434,6537,6.869,6538,4.107,6539,4.434,6540,4.107,6541,4.434,6542,6.869,6543,4.107,6544,4.434,6545,4.434,6546,6.869,6547,4.434,6548,3.602,6549,3.892,6550,4.434,6551,4.107,6552,4.434]],["title/classes/ContentElementUrlParams.html",[0,0.241,6553,6.113]],["body/classes/ContentElementUrlParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,34,2.058,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,855,4.875,2049,4.913,4197,6.06,6553,10.566,6554,12.039,6555,9.216,6556,11.99,6557,9.216]],["title/classes/ContentFileUrlParams.html",[0,0.241,6558,6.113]],["body/classes/ContentFileUrlParams.html",[0,0.412,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.464,30,0.001,32,0.147,34,2.197,47,0.983,95,0.133,101,0.013,103,0.001,104,0.001,112,0.935,190,2.136,200,2.993,202,2.246,296,3.362,299,4.664,855,4.824,856,6.623,1195,6.362,5260,8.09,6389,6.786,6558,10.456,6559,12.848,6560,9.059,6561,8.229,6562,9.78,6563,9.78]],["title/classes/ContentMetadata.html",[0,0.241,6564,5.658]],["body/classes/ContentMetadata.html",[0,0.209,2,0.397,3,0.007,4,0.016,5,0.003,7,0.12,26,2.151,27,0.527,29,0.287,30,0.001,31,0.211,32,0.168,33,0.637,47,1.028,49,3.258,95,0.113,96,1.576,97,1.519,99,0.759,101,0.011,103,0,104,0,112,0.474,131,4.834,148,0.743,153,1.222,155,2.413,158,2.229,159,0.385,190,2.412,195,3.057,196,4.247,205,1.23,211,7.06,223,4.368,224,1.091,225,2.314,229,1.485,231,0.65,233,1.167,433,0.742,478,1.055,703,1.155,886,2.393,1195,6.726,1198,4.556,1215,2.269,1237,1.749,1937,1.773,2164,1.746,2393,3.628,2712,3.063,2942,3.506,3056,1.812,3426,2.225,3668,1.91,3771,2.225,3933,3.58,4190,2.532,4588,2.589,4654,3.187,4681,2.612,4865,3.059,5788,2.146,6564,7.692,6565,11.034,6566,3.304,6567,6.607,6568,6.635,6569,6.635,6570,6.36,6571,5.083,6572,4.308,6573,6.36,6574,5.803,6575,5.803,6576,5.666,6577,5.803,6578,4.942,6579,6.635,6580,6.635,6581,5.336,6582,6.635,6583,6.635,6584,5.666,6585,5.803,6586,6.635,6587,6.635,6588,4.342,6589,6.038,6590,3.765,6591,3.765,6592,6.635,6593,3.765,6594,6.635,6595,3.765,6596,3.765,6597,8.149,6598,3.765,6599,3.765,6600,4.262,6601,4.635,6602,3.765,6603,3.765,6604,3.765,6605,3.765,6606,3.765,6607,3.765,6608,3.765,6609,3.765,6610,3.765,6611,3.765,6612,3.765,6613,3.765,6614,3.765,6615,3.765,6616,3.765,6617,3.441,6618,2.762,6619,5.299,6620,2.89,6621,3.304,6622,2.89,6623,3.304,6624,2.707,6625,2.707,6626,3.304,6627,3.304,6628,2.658,6629,3.304,6630,2.89,6631,3.304,6632,2.89,6633,3.304,6634,2.89,6635,3.304,6636,2.89,6637,3.304,6638,3.304,6639,3.304,6640,3.304,6641,3.304,6642,2.89,6643,3.304,6644,3.304,6645,3.304,6646,3.304,6647,3.304,6648,3.304,6649,3.304,6650,3.304,6651,3.304,6652,3.304,6653,3.304,6654,3.304,6655,3.304,6656,3.304,6657,3.304,6658,3.304,6659,3.304,6660,3.304,6661,3.168,6662,3.304,6663,5.161,6664,4.905,6665,4.106,6666,4.096,6667,2.822,6668,2.03,6669,2.658,6670,3.059,6671,2.571,6672,2.707,6673,2.762,6674,2.822,6675,2.399,6676,2.612,6677,3.168,6678,2.707,6679,3.168,6680,2.822,6681,2.707]],["title/classes/ContextExternalTool.html",[0,0.241,2006,3.651]],["body/classes/ContextExternalTool.html",[0,0.251,2,0.766,3,0.013,4,0.013,5,0.007,7,0.101,8,1.123,27,0.522,29,0.953,30,0.001,31,0.407,32,0.163,33,0.571,34,1.906,35,0.832,47,0.918,55,2.531,95,0.139,101,0.013,103,0,104,0,112,0.771,148,0.713,159,0.742,183,2.77,231,1.696,232,2.66,433,0.891,435,2.492,436,2.143,614,4.436,703,2.225,1237,2.847,1852,7.062,2006,5.152,2008,3.613,2791,7.92,2918,4.099,6099,7.857,6682,7.77,6683,11.756,6684,5.718,6685,8.878,6686,6.101,6687,9.173,6688,9.173,6689,10.054,6690,9.829,6691,7.254,6692,7.254,6693,7.254,6694,9.708,6695,7.254,6696,5.321,6697,6.719,6698,5.718,6699,4.568,6700,5.216,6701,5.568,6702,6.719,6703,6.719,6704,6.719,6705,6.719,6706,4.681,6707,5.033,6708,4.878,6709,5.321,6710,7.067,6711,5.437]],["title/injectables/ContextExternalToolAuthorizableService.html",[589,0.926,6712,5.658]],["body/injectables/ContextExternalToolAuthorizableService.html",[0,0.306,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,12,5.061,26,2.614,27,0.436,29,0.854,30,0.001,31,0.628,32,0.138,33,0.511,34,1.51,35,1.013,36,2.364,40,5.412,95,0.148,99,1.78,101,0.011,103,0.001,104,0.001,135,1.149,148,0.868,228,1.586,277,1.263,279,3.662,317,2.655,400,2.59,433,1.085,589,1.487,591,2.095,614,4.214,657,2.02,1237,2.559,1845,8.816,1883,3.316,2006,6.761,2680,4.057,2698,3.982,3442,8.182,6080,10.19,6682,7.118,6712,9.086,6713,10.771,6714,8.182,6715,8.833,6716,8.833,6717,8.833]],["title/classes/ContextExternalToolConfigurationStatus.html",[0,0.241,6095,5.109]],["body/classes/ContextExternalToolConfigurationStatus.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.497,29,0.732,30,0.001,31,0.539,32,0.158,33,0.438,101,0.012,103,0.001,104,0.001,112,0.924,122,2.754,232,3.186,433,1.179,435,3.296,614,4.118,2219,5.955,2698,4.31,6095,10,6106,10.042,6107,8.993,6718,13.284,6719,8.886,6720,11.774,6721,8.886,6722,7.794,6723,8.072,6724,8.42,6725,8.886]],["title/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.241,6726,5.86]],["body/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.285,2,0.869,3,0.015,4,0.015,5,0.007,7,0.115,27,0.463,29,0.629,30,0.001,31,0.463,32,0.161,33,0.376,95,0.092,101,0.011,103,0.001,104,0.001,112,0.839,122,2.856,157,2.909,183,4.083,190,1.917,194,4.938,202,1.891,232,2.893,296,3.107,417,7.043,433,1.012,435,2.829,614,3.896,703,3.28,866,5.326,2005,5.683,2219,5.633,2698,4.469,2776,5.295,4115,7.228,6106,9.359,6107,8.381,6288,5.108,6571,8.45,6722,6.691,6723,6.929,6724,7.228,6725,7.628,6726,10.958,6727,11.64,6728,10.692,6729,10.209,6730,9.419,6731,11.029,6732,8.236]],["title/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.241,6733,5.86]],["body/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.451,29,0.712,30,0.001,31,0.524,32,0.156,33,0.426,95,0.129,101,0.012,103,0.001,104,0.001,112,0.908,125,2.221,183,3.561,190,1.672,202,2.141,296,3.027,339,3.965,433,1.146,614,4.077,861,6.471,864,6.652,866,4.645,881,5.104,1167,7.744,2219,5.896,2696,5.72,2698,4.268,6733,9.735,6734,11.652,6735,11.351,6736,8.882,6737,8.638]],["title/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.241,6735,5.658]],["body/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.258,2,0.789,3,0.014,4,0.014,5,0.007,7,0.104,26,2.556,27,0.517,29,0.923,30,0.001,31,0.679,32,0.167,33,0.517,47,0.889,55,2.031,95,0.126,99,1.505,101,0.01,103,0,104,0,112,0.786,125,1.779,190,2.328,201,4.398,202,1.715,296,3.611,433,0.918,614,4.18,866,3.721,1220,4.294,2184,2.957,2219,6.123,2696,6.132,2698,4.375,5752,5.852,6708,5.023,6734,12.49,6735,10.248,6738,6.919,6739,7.988,6740,6.505,6741,8.136,6742,9.286,6743,10.025,6744,6.919,6745,6.919,6746,6.919,6747,9.533,6748,6.919,6749,6.919,6750,6.556,6751,6.285,6752,6.919,6753,7.47,6754,7.47,6755,6.919,6756,4.951,6757,6.919,6758,6.919,6759,5.599,6760,6.919]],["title/classes/ContextExternalToolContextParams.html",[0,0.241,6761,5.86]],["body/classes/ContextExternalToolContextParams.html",[0,0.387,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,27,0.436,30,0.001,32,0.138,47,0.822,95,0.137,101,0.011,103,0.001,104,0.001,112,0.877,125,2.104,190,2.005,194,5.069,195,2.835,196,4.072,197,3.605,200,2.703,202,2.028,296,3.211,614,4.214,855,4.528,886,2.797,899,4.037,2035,7.616,2036,4.349,2040,6.236,2641,7.856,2698,3.982,3201,5.241,5495,7.252,6682,7.118,6761,9.41,6762,9.97,6763,8.833,6764,7.821,6765,7.753,6766,8.833,6767,8.833,6768,8.833,6769,8.833,6770,8.833,6771,7.176]],["title/classes/ContextExternalToolCountPerContextResponse.html",[0,0.241,6772,5.49]],["body/classes/ContextExternalToolCountPerContextResponse.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,27,0.488,29,0.704,30,0.001,31,0.518,32,0.155,33,0.421,55,2.654,95,0.103,101,0.012,103,0.001,104,0.001,112,0.901,190,2.059,202,2.117,232,3.109,296,3.526,433,1.133,435,3.167,614,4.061,2033,4.746,2698,4.25,2938,7.531,2961,8.834,2972,6.027,4930,9.819,6240,6.11,6727,12.133,6772,10.624,6773,8.539,6774,11.488,6775,9.219,6776,9.219,6777,9.219]],["title/entities/ContextExternalToolEntity.html",[205,1.419,6778,5.109]],["body/entities/ContextExternalToolEntity.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,27,0.498,29,0.904,30,0.001,32,0.158,33,0.442,47,0.94,55,2.232,95,0.138,96,1.85,101,0.012,103,0,104,0,112,0.759,159,0.725,183,3.695,190,2.292,195,2.601,196,2.351,205,1.972,206,2.312,211,3.909,223,4.152,224,2.053,225,3.707,229,2.795,231,1.223,232,1.918,233,2.197,614,4.424,703,2.174,1507,5.312,1835,4.971,2698,2.299,4648,4.839,4654,5.106,4655,3.972,5495,6.994,5727,5.135,6099,7.062,6682,7.591,6686,6.042,6706,4.573,6707,4.918,6708,4.766,6709,5.199,6710,5.096,6711,5.312,6764,7.542,6778,7.096,6779,11.012,6780,5.758,6781,9.958,6782,7.087,6783,8.871,6784,7.087,6785,7.087,6786,9.51,6787,7.087,6788,8.681,6789,7.087,6790,7.087,6791,5.963,6792,4.363,6793,8.491,6794,4.316,6795,6.565,6796,6.565,6797,6.22,6798,5.963,6799,5.758,6800,5.963]],["title/classes/ContextExternalToolFactory.html",[0,0.241,6801,6.451]],["body/classes/ContextExternalToolFactory.html",[0,0.163,2,0.498,3,0.009,4,0.009,5,0.004,7,0.066,8,0.824,27,0.512,29,1.021,30,0.001,31,0.722,32,0.168,33,0.579,34,1.495,35,1.401,47,0.876,49,1.778,55,2.342,59,3.454,95,0.124,96,1.233,97,1.904,101,0.006,103,0,104,0,112,0.565,113,4.415,125,2.083,127,4.905,129,3.529,130,3.372,135,0.938,148,0.709,153,1.166,157,2.024,172,3.076,185,2.469,192,2.604,205,1.782,206,2.352,228,1.294,231,1.244,326,4.822,374,3.13,388,2.023,433,0.58,436,3.843,467,2.098,501,7.066,502,5.441,505,4.007,506,5.441,507,5.293,508,4.007,509,4.007,510,4.007,511,3.945,512,4.465,513,4.861,514,6.474,515,5.769,516,6.987,517,2.646,522,2.624,523,4.007,524,2.646,525,5.13,526,5.277,527,4.159,528,4.965,529,3.976,530,2.624,531,2.474,532,4.075,533,2.509,534,2.474,535,2.624,536,2.646,537,4.786,538,2.624,539,7.145,540,3.954,541,6.626,542,2.646,543,3.508,544,2.624,545,2.646,546,2.624,547,2.646,548,2.624,551,2.624,552,6.082,553,2.646,554,2.624,555,4.007,556,3.657,557,4.007,558,2.646,559,2.545,560,2.509,561,2.126,562,2.624,563,2.624,564,2.624,565,2.646,566,2.646,567,1.76,568,2.624,569,1.467,570,2.646,571,2.853,572,2.624,573,2.646,575,2.714,576,2.79,577,2.817,614,2.711,756,2.875,2006,2.474,2008,2.352,2033,1.79,2035,2.604,2040,3.333,2698,1.532,2791,4.778,3899,3.175,4510,2.906,4588,3.806,4696,6.173,4698,3.395,6099,2.817,6685,3.129,6686,2.41,6687,5.534,6689,3.972,6801,8.1,6802,7.209,6803,3.835,6804,7.209,6805,7.209,6806,4.721,6807,7.179,6808,3.721,6809,3.223,6810,4.721]],["title/classes/ContextExternalToolIdParams.html",[0,0.241,6811,5.346]],["body/classes/ContextExternalToolIdParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,47,0.882,95,0.134,101,0.013,103,0.001,104,0.001,112,0.942,190,1.775,194,4.716,195,2.638,196,3.285,197,3.355,200,3.03,202,2.273,296,3.14,307,7.262,614,4.163,855,4.86,2698,3.894,3598,7.239,6682,6.962,6762,9.751,6811,9.214,6812,8.33,6813,8.69]],["title/classes/ContextExternalToolIdParams-1.html",[0,0.2,756,2.309,6811,4.445]],["body/classes/ContextExternalToolIdParams-1.html",[0,0.418,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,26,2.631,27,0.391,30,0.001,32,0.124,95,0.145,99,2.02,101,0.013,103,0.001,104,0.001,112,0.949,190,1.797,200,3.068,202,2.302,296,3.164,307,7.353,614,3.749,855,4.897,2696,5.499,2698,3.924,3598,7.278,6811,9.283,6814,11.201,6815,7.208,6816,8.144]],["title/modules/ContextExternalToolModule.html",[252,1.839,3888,5.658]],["body/modules/ContextExternalToolModule.html",[0,0.245,3,0.013,4,0.013,5,0.006,30,0.001,95,0.151,101,0.009,103,0,104,0,252,2.905,254,2.545,255,2.702,256,2.77,257,2.76,258,2.75,259,3.997,260,4.09,265,5.928,269,3.783,270,2.721,271,2.665,276,3.783,277,1.012,610,3.811,614,3.838,703,2.171,1027,2.165,2698,3.837,3888,11.906,5752,3.659,5776,4.142,6072,9.579,6082,5.748,6092,10.958,6682,4.104,6712,11.293,6817,7.075,6818,7.075,6819,7.075,6820,7.075,6821,10.074,6822,10.383,6823,9.579,6824,9.089,6825,11.293,6826,11.696,6827,7.075,6828,6.553,6829,5.748,6830,5.431,6831,7.075]],["title/classes/ContextExternalToolPostParams.html",[0,0.241,6832,5.86]],["body/classes/ContextExternalToolPostParams.html",[0,0.392,2,0.791,3,0.014,4,0.014,5,0.007,7,0.104,27,0.507,29,0.865,30,0.001,32,0.169,33,0.553,47,0.955,55,2.036,95,0.141,101,0.01,103,0,104,0,112,0.788,190,2.33,195,1.648,200,2.294,201,4.406,202,1.721,296,3.305,299,3.935,300,4.344,614,4.42,703,2.3,855,4.59,899,3.426,1232,4.349,2035,6.253,2036,3.691,2531,4.042,2698,4.308,3791,7.095,5495,6.699,6099,6.765,6317,5.829,6389,6.974,6682,7.703,6686,5.788,6762,10.788,6764,7.225,6771,6.091,6807,8.315,6832,8.456,6833,6.945,6834,7.498,6835,7.498,6836,7.498,6837,5.499,6838,7.498,6839,9.695,6840,6.308,6841,6.308,6842,5.91,6843,7.498,6844,6.945,6845,6.945,6846,7.498,6847,5.419,6848,6.091]],["title/interfaces/ContextExternalToolProperties.html",[159,0.712,6793,6.113]],["body/interfaces/ContextExternalToolProperties.html",[0,0.265,3,0.014,4,0.014,5,0.007,7,0.107,29,0.972,30,0.001,32,0.162,33,0.558,47,0.997,55,2.477,95,0.142,96,2.002,101,0.013,103,0,104,0,112,0.8,159,0.784,161,1.827,183,3.896,195,2.242,196,2.545,205,2.079,223,3.966,224,2.222,225,3.91,229,3.025,231,1.323,232,2.075,233,2.377,614,3.945,703,2.353,1507,5.749,1835,3.941,2698,2.488,4654,5.385,4655,4.298,5495,7.52,5727,4.757,6099,7.594,6682,4.449,6686,6.497,6706,4.949,6707,5.322,6708,5.157,6709,5.626,6710,5.515,6711,5.749,6764,8.11,6778,5.626,6779,6.453,6780,6.231,6781,10.707,6783,9.539,6786,10.045,6788,9.335,6791,6.453,6792,4.721,6793,10.063,6794,4.671,6795,7.104,6796,7.104,6797,6.731,6798,6.453,6799,6.231,6800,6.453]],["title/interfaces/ContextExternalToolProps.html",[159,0.712,6689,5.86]],["body/interfaces/ContextExternalToolProps.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,29,0.988,30,0.001,32,0.164,33,0.57,34,2.132,47,0.994,55,2.622,95,0.144,101,0.014,103,0,104,0,112,0.828,148,0.793,159,0.825,161,1.922,183,3.082,231,1.392,232,2.184,614,3.645,703,2.476,1237,2.338,1852,6.236,2006,4.23,2008,4.02,2791,8.576,2918,4.56,6099,8.069,6682,4.681,6683,7.083,6684,6.362,6685,9.276,6686,6.606,6687,9.933,6688,6.195,6689,9.892,6694,10.512,6698,6.362,6699,5.082,6700,5.803,6701,6.195,6702,7.475,6703,7.475,6704,7.475,6705,7.475,6706,5.208,6707,5.6,6708,5.427,6709,5.919,6710,7.587,6711,6.049]],["title/injectables/ContextExternalToolRepo.html",[589,0.926,6080,5.221]],["body/injectables/ContextExternalToolRepo.html",[0,0.123,3,0.007,4,0.007,5,0.003,7,0.05,8,0.66,10,2.32,12,2.613,18,2.893,26,2.379,27,0.506,29,0.999,30,0.001,31,0.724,32,0.165,33,0.589,34,1.774,35,1.465,36,2.609,40,2.794,47,0.724,95,0.138,96,1.507,97,1.436,99,0.718,101,0.005,103,0,104,0,112,0.279,113,1.415,129,1.71,135,1.557,142,2.09,148,1.214,153,1.593,158,1.315,183,2.205,185,1.977,205,2.008,206,1.162,224,1.032,228,1.037,231,0.996,277,0.509,279,1.476,317,2.914,365,2.564,433,0.438,436,3.39,569,1.107,579,1.648,589,0.767,591,0.845,614,3.96,652,2.543,657,1.915,711,2.854,729,3.942,735,2.613,736,4.531,766,1.906,787,2.734,801,5.067,1027,1.09,1393,4.772,1476,2.146,1507,2.669,1770,2.914,2006,6.015,2008,2.876,2035,5.723,2038,3.679,2040,4.075,2043,4.857,2140,2.03,2437,8.444,2439,4.151,2440,4.075,2441,4.075,2442,4.151,2443,4.151,2444,4.075,2445,2.561,2446,4.548,2447,3.5,2448,3.924,2450,4.151,2451,2.561,2453,2.561,2455,3.774,2456,3.942,2457,2.561,2460,4.151,2462,2.471,2463,6.956,2464,4.075,2465,3.412,2467,2.561,2468,4.151,2470,2.561,2472,2.146,2473,2.217,2474,2.395,2476,2.561,2484,2.471,2517,5.457,2776,1.763,2938,3.319,3899,4.896,4588,1.22,4768,2.146,4798,2.514,4866,4.693,5136,4.826,5138,3.09,5495,4.302,6080,4.327,6099,3.445,6288,2.959,6685,6.1,6686,2.948,6687,4.432,6694,5.915,6764,2.269,6778,8.192,6781,6.126,6783,8.601,6788,2.612,6792,3.554,6807,2.612,6849,10.629,6850,3.126,6851,5.347,6852,5.773,6853,5.773,6854,5.067,6855,5.773,6856,5.773,6857,3.561,6858,5.347,6859,9.612,6860,3.561,6861,8.648,6862,5.773,6863,8.648,6864,3.561,6865,5.773,6866,3.561,6867,4.857,6868,3.126,6869,3.561,6870,5.067,6871,3.561,6872,5.773,6873,3.561,6874,5.773,6875,3.561,6876,3.561,6877,3.561,6878,2.612,6879,2.612,6880,2.612,6881,2.612,6882,2.612,6883,2.612,6884,2.612,6885,3.561,6886,3.561,6887,3.561,6888,2.561,6889,4.151,6890,2.893,6891,3.126,6892,2.734,6893,3.299,6894,3.299,6895,2.431,6896,7.281,6897,5.067,6898,5.067,6899,3.299,6900,3.561,6901,3.561,6902,3.561,6903,3.561,6904,3.561,6905,3.561,6906,3.299,6907,3.561,6908,3.561,6909,3.299,6910,3.561,6911,3.126,6912,3.299,6913,3.561,6914,3.561,6915,3.561,6916,3.561,6917,3.561,6918,3.561,6919,3.299,6920,3.299,6921,4.857,6922,4.857,6923,5.773]],["title/classes/ContextExternalToolRequestMapper.html",[0,0.241,6924,6.113]],["body/classes/ContextExternalToolRequestMapper.html",[0,0.282,2,0.861,3,0.015,4,0.015,5,0.007,7,0.114,8,1.214,27,0.414,29,0.902,30,0.001,31,0.664,32,0.146,33,0.485,34,1.394,35,1.218,95,0.139,101,0.01,103,0.001,104,0.001,125,1.942,130,2.206,148,1.161,193,3.556,467,3.874,614,4.261,652,2.403,703,2.501,837,4.037,2698,3.833,2791,7.831,6099,4.864,6682,6.853,6685,5.403,6686,4.162,6687,6.258,6699,5.133,6807,5.98,6832,10.532,6839,9.965,6848,6.623,6888,5.862,6924,9.322,6925,10.943,6926,6.426,6927,10.622,6928,10.369,6929,10.622,6930,8.152,6931,10.369,6932,7.155,6933,8.152,6934,8.937,6935,7.155,6936,8.152,6937,8.152,6938,8.152,6939,8.152,6940,8.152,6941,7.551,6942,7.155,6943,6.859,6944,7.155]],["title/classes/ContextExternalToolResponse.html",[0,0.241,6945,5.658]],["body/classes/ContextExternalToolResponse.html",[0,0.238,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,27,0.523,29,0.893,30,0.001,31,0.387,32,0.168,33,0.56,34,1.856,47,0.999,55,1.923,95,0.121,101,0.009,103,0,104,0,112,0.745,125,1.642,129,2.041,130,1.865,190,2.372,201,4.768,202,1.583,296,3.592,433,0.847,458,2.749,614,4.466,703,2.115,866,3.433,871,2.536,886,2.182,2035,6.766,2036,3.393,3200,4.113,5495,6.416,6099,6.478,6682,7.884,6686,5.543,6706,4.448,6708,4.635,6710,4.956,6740,6.241,6756,4.569,6762,11.042,6764,6.919,6797,6.049,6799,5.6,6807,7.963,6848,5.6,6945,9.966,6946,6.049,6947,7.286,6948,8.792,6949,6.384,6950,6.384,6951,6.384,6952,6.384,6953,9.221,6954,6.384,6955,6.384,6956,6.384,6957,5.291,6958,6.384,6959,6.893,6960,6.893,6961,6.893,6962,6.893,6963,6.049,6964,6.384,6965,6.049]],["title/classes/ContextExternalToolResponseMapper.html",[0,0.241,6966,5.86]],["body/classes/ContextExternalToolResponseMapper.html",[0,0.233,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,8,1.068,27,0.452,29,0.929,30,0.001,31,0.684,32,0.143,33,0.529,34,1.153,35,1.329,95,0.129,101,0.009,103,0,104,0,130,1.824,135,1.584,148,1.196,153,1.735,402,3.363,467,4.014,614,4.238,652,2.183,703,2.069,829,3.984,837,3.339,871,3.44,1883,2.531,2006,6.379,2012,6.245,2039,5.673,2698,3.949,4028,5.917,4029,4.603,4866,6.494,5495,3.984,6099,4.023,6682,7.06,6686,4.773,6740,3.876,6764,4.297,6807,4.945,6839,9.343,6848,5.477,6925,11.273,6928,9.418,6932,5.917,6934,7.865,6943,5.673,6944,5.917,6945,9.888,6953,10.377,6966,7.865,6967,9.348,6968,9.348,6969,9.348,6970,9.348,6971,6.245,6972,9.348,6973,10.26,6974,6.742,6975,10.491,6976,9.348,6977,6.742,6978,6.245,6979,5.917,6980,5.673,6981,5.315,6982,4.678,6983,5.917,6984,6.742,6985,6.742,6986,6.742,6987,6.742,6988,8.659,6989,6.742,6990,6.742,6991,5.477,6992,6.245,6993,6.245,6994,5.917,6995,5.673,6996,6.245,6997,6.742]],["title/injectables/ContextExternalToolRule.html",[589,0.926,1866,5.86]],["body/injectables/ContextExternalToolRule.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,27,0.438,29,0.857,30,0.001,31,0.631,32,0.149,33,0.513,35,1.138,95,0.144,101,0.009,103,0,104,0,122,2.681,135,0.958,148,0.976,183,4.289,205,2.775,228,1.322,277,1.053,290,3.265,400,2.158,433,0.904,478,2.062,589,1.319,591,1.746,614,4.009,653,4.619,711,3.746,1237,2.132,1775,6.579,1801,7.96,1838,7.966,1866,8.351,1982,4.69,1986,6.11,1993,6.489,2006,7.044,2008,3.666,2619,6.326,3711,4.878,3714,6.405,3716,4.878,3717,6.579,3718,7.137,3899,6.675,6778,9.989,6792,4.531,6998,12.021,6999,6.817,7000,6.817,7001,6.817,7002,6.817,7003,7.007,7004,7.36,7005,7.36]],["title/classes/ContextExternalToolScope.html",[0,0.241,6861,6.113]],["body/classes/ContextExternalToolScope.html",[0,0.223,2,0.681,3,0.012,4,0.012,5,0.006,7,0.09,8,1.036,26,2.717,27,0.516,29,0.948,30,0.001,31,0.698,32,0.164,33,0.567,34,1.792,35,1.424,95,0.127,99,1.3,101,0.008,103,0,104,0,112,0.711,122,2.172,125,3.345,129,1.91,130,1.745,148,1.117,231,1.564,279,2.674,365,2.865,436,3.537,569,2.005,614,3.85,652,2.526,2035,6.269,2479,6.192,3899,4.337,5495,6.192,6288,5.379,6764,6.678,6778,4.731,6781,5.427,6792,3.97,6807,7.686,6809,4.404,6849,11.091,6861,11.77,7006,5.661,7007,6.007,7008,6.007,7009,6.007,7010,9.063,7011,9.063,7012,9.063,7013,9.063,7014,6.007,7015,6.007,7016,4.337,7017,4.275,7018,4.337,7019,4.337,7020,9.063,7021,6.45,7022,9.063,7023,6.45,7024,9.063,7025,6.45,7026,9.063,7027,6.45,7028,4.275,7029,6.007,7030,4.337,7031,4.275,7032,4.337,7033,4.275,7034,7.534]],["title/classes/ContextExternalToolSearchListResponse.html",[0,0.241,7035,6.113]],["body/classes/ContextExternalToolSearchListResponse.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.452,29,0.715,30,0.001,31,0.526,32,0.156,33,0.428,95,0.129,101,0.012,103,0.001,104,0.001,112,0.91,125,2.232,183,3.578,190,1.679,202,2.151,296,3.036,339,3.971,433,1.151,614,4.336,860,8.899,861,6.501,864,6.671,866,4.667,881,5.128,2698,4.09,6682,7.312,6736,8.907,6762,10.241,6945,11.363,7035,10.184,7036,8.223]],["title/injectables/ContextExternalToolService.html",[589,0.926,6824,4.554]],["body/injectables/ContextExternalToolService.html",[0,0.171,3,0.009,4,0.009,5,0.004,7,0.069,8,0.854,12,3.384,26,2.557,27,0.483,29,0.945,30,0.001,31,0.696,32,0.153,33,0.566,35,1.387,36,2.805,95,0.143,99,0.998,101,0.006,103,0,104,0,135,1.574,142,1.793,148,1.058,153,0.801,183,2.855,228,1.801,277,0.708,279,2.054,317,3.034,365,2.2,433,0.919,579,1.414,589,0.994,591,1.175,614,4.362,652,2.04,657,2.886,703,2.294,711,4.062,1883,1.86,2005,4.786,2006,7.2,2008,3.724,2039,6.291,2698,3.255,2776,4.46,3598,4.19,6078,9.022,6080,8.486,6088,4.025,6101,4.589,6682,7.319,6685,7.504,6687,3.803,6713,11.075,6714,4.589,6741,5.376,6807,3.634,6824,4.888,6859,9.292,6888,3.562,6935,4.348,6982,3.437,7037,7.477,7038,7.477,7039,6.562,7040,7.477,7041,7.477,7042,7.477,7043,7.477,7044,7.235,7045,7.79,7046,4.954,7047,7.477,7048,4.954,7049,7.477,7050,4.589,7051,7.477,7052,4.589,7053,7.477,7054,4.954,7055,7.477,7056,4.954,7057,7.477,7058,4.954,7059,7.477,7060,4.954,7061,7.477,7062,4.654,7063,4.348,7064,3.713,7065,4.589,7066,4.954,7067,3.803,7068,8.071,7069,4.954,7070,4.954,7071,4.954,7072,7.477,7073,4.954,7074,7.477,7075,4.954,7076,4.954,7077,3.562,7078,3.562,7079,4.954,7080,4.954]],["title/injectables/ContextExternalToolUc.html",[589,0.926,7081,5.86]],["body/injectables/ContextExternalToolUc.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.06,8,0.765,26,2.872,27,0.435,29,0.852,30,0.001,31,0.627,32,0.143,33,0.51,34,1.144,35,1.226,36,2.565,39,3.369,47,0.605,95,0.144,99,0.864,101,0.005,103,0,104,0,135,1.71,148,0.991,153,1.631,158,1.583,183,4.798,228,1.811,277,0.613,290,1.952,317,2.887,433,0.822,478,1.201,579,1.911,589,0.89,591,1.017,595,1.626,610,1.691,614,4.189,652,2.349,657,3.052,693,3.043,703,2.053,711,3.096,1775,5.52,1780,2.584,1862,5.933,1883,1.609,1953,3.027,1957,3.38,1961,5.873,1962,2.558,1964,3.38,2005,5.36,2006,7.082,2008,2.136,2035,5.129,2036,2.111,2062,5.873,2680,1.969,2698,3.622,3319,2.443,3598,6.257,4157,3.145,4588,4.157,5495,5.496,6682,6.7,6685,4.436,6764,5.927,6794,6.142,6824,7.299,6825,9.07,6828,3.971,6829,3.483,6888,3.083,6931,11.31,6981,3.38,6991,6.687,7039,5.873,7045,7.4,7062,2.669,7077,4.812,7081,5.631,7082,11.55,7083,3.763,7084,7.624,7085,8.231,7086,6.198,7087,7.624,7088,7.624,7089,4.287,7090,8.011,7091,4.287,7092,4.287,7093,4.287,7094,6.692,7095,4.287,7096,4.287,7097,4.287,7098,6.692,7099,4.287,7100,4.287,7101,4.287,7102,4.287,7103,3.971,7104,3.38,7105,4.287,7106,8.231,7107,6.692,7108,6.198,7109,4.287,7110,4.287,7111,8.162,7112,4.287,7113,6.198,7114,6.198,7115,6.692,7116,3.483,7117,4.287,7118,6.198,7119,4.287,7120,4.287,7121,3.291,7122,9.3,7123,4.287,7124,4.287,7125,6.198,7126,4.287]],["title/injectables/ContextExternalToolValidationService.html",[589,0.926,6825,5.658]],["body/injectables/ContextExternalToolValidationService.html",[0,0.231,3,0.012,4,0.012,5,0.006,7,0.093,8,1.061,27,0.416,29,0.815,30,0.001,31,0.681,32,0.132,33,0.488,35,1.065,36,1.962,95,0.149,101,0.009,103,0,104,0,135,1.208,145,2.506,153,1.079,183,3.545,219,3.682,228,2.072,277,0.955,317,2.716,338,5.715,356,4.489,393,3.305,433,1.14,579,1.906,589,1.234,591,1.583,614,4.299,619,4.8,640,4.109,652,2.619,657,2.638,703,2.848,1213,5.916,1883,2.506,1925,4.632,2005,4.934,2006,7.153,2008,4.624,2033,3.521,2345,5.654,2698,4.178,2776,4.597,3820,5.616,4234,5.423,4235,4.632,5245,4.109,6079,10.151,6116,5.262,6129,6.183,6130,5.858,6682,6.692,6687,5.124,6713,10.126,6794,4.065,6824,8.208,6825,7.542,6981,5.262,6982,4.632,6983,5.858,7044,7.927,7045,8.536,7062,5.778,7067,5.124,7077,4.8,7127,9.283,7128,6.183,7129,6.675,7130,9.283,7131,9.283,7132,6.675,7133,5.423,7134,6.675,7135,6.675,7136,6.675,7137,6.183,7138,7.811,7139,6.183,7140,6.675,7141,6.675,7142,5.858,7143,6.183,7144,6.675,7145,6.675,7146,6.675,7147,6.675,7148,6.675,7149,6.675]],["title/classes/ContextRef.html",[0,0.241,6685,4.616]],["body/classes/ContextRef.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.496,29,0.731,30,0.001,31,0.538,32,0.172,33,0.437,34,2.176,47,0.864,95,0.107,101,0.012,103,0.001,104,0.001,112,0.922,232,3.181,433,1.176,435,3.288,458,3.817,459,4.95,614,4.115,2035,7.019,2036,4.711,2109,4.193,4726,5.828,6682,7.699,6683,11.649,6685,9.03,7150,8.864,7151,11.757,7152,9.57]],["title/classes/ContextRefParams.html",[0,0.241,7153,6.113]],["body/classes/ContextRefParams.html",[0,0.405,2,1.003,3,0.018,4,0.018,5,0.009,7,0.132,26,2.57,27,0.456,30,0.001,32,0.157,95,0.148,99,1.915,101,0.012,103,0.001,104,0.001,112,0.918,190,2.098,200,2.908,202,2.182,296,3.319,855,4.74,899,4.342,2035,7.499,2036,4.678,2696,5.769,5495,7.496,6764,8.084,6771,7.72,6814,11.75,6815,6.833,7153,10.273,7154,9.502,7155,9.502,7156,9.502,7157,9.502]],["title/injectables/ConverterUtil.html",[589,0.926,2338,5.86]],["body/injectables/ConverterUtil.html",[0,0.446,3,0.018,4,0.018,5,0.009,7,0.137,8,1.367,27,0.384,29,0.914,30,0.001,31,0.553,32,0.148,33,0.45,35,1.13,47,0.947,95,0.133,101,0.013,103,0.001,104,0.001,148,0.968,157,2.28,277,1.409,532,4.916,589,1.591,591,2.337,2338,10.069,5103,10.503,7158,9.852,7159,11.967,7160,11.967,7161,9.852,7162,9.852,7163,9.852,7164,9.125,7165,9.852]],["title/classes/CookiesDto.html",[0,0.241,7166,5.86]],["body/classes/CookiesDto.html",[0,0.345,2,1.053,3,0.018,4,0.018,5,0.009,7,0.139,27,0.505,29,0.761,30,0.001,31,0.56,32,0.16,33,0.456,47,0.989,101,0.013,103,0.001,104,0.001,112,0.946,232,3.263,433,1.225,435,3.427,7166,11.597,7167,9.974,7168,11.373,7169,11.373,7170,12.057,7171,9.974,7172,9.974,7173,9.974,7174,9.974,7175,9.974]],["title/classes/CopyApiResponse.html",[0,0.241,7176,5.49]],["body/classes/CopyApiResponse.html",[0,0.233,2,0.711,3,0.012,4,0.012,5,0.006,7,0.094,27,0.503,29,0.514,30,0.001,31,0.378,32,0.177,33,0.61,34,2.207,47,0.994,95,0.104,100,3.256,101,0.009,103,0,104,0,112,0.732,125,1.603,155,4.2,157,3.131,190,2.256,201,4.728,202,1.545,296,2.805,374,4.055,402,4.806,433,1.147,821,3.436,866,4.651,886,3.666,896,6.762,1361,6.163,1372,4.928,1562,10.373,2033,3.541,2049,5.37,2109,2.949,2127,3.94,2608,6.979,2836,6.189,3056,3.24,3316,9.588,3317,9.117,3318,4.143,3629,8.195,6027,6.714,7176,10.373,7177,11.072,7178,6.731,7179,7.361,7180,6.279,7181,9.41,7182,6.731,7183,8.195,7184,6.731,7185,6.235,7186,8.649,7187,6.714,7188,6.731,7189,6.731,7190,8.649,7191,6.731,7192,6.731,7193,6.731,7194,6.731]],["title/interfaces/CopyFileDO.html",[159,0.712,7195,5.658]],["body/interfaces/CopyFileDO.html",[3,0.014,4,0.019,5,0.007,7,0.106,10,3.064,26,2.807,30,0.001,31,0.714,32,0.141,33,0.464,34,2.172,39,2.116,47,1.008,55,1.545,83,2.236,95,0.113,99,1.536,101,0.017,103,0,104,0,112,0.797,135,0.992,159,1.247,161,1.816,290,1.809,374,3.311,703,2.34,870,4.174,886,3.62,1080,3.523,1154,6.94,1444,4.239,1937,3.592,1939,4.053,2033,2.892,2219,3.418,2220,3.845,2221,3.711,2608,4.596,2959,3.502,3011,3.485,3159,3.451,3418,3.435,3467,4.082,3668,5.801,3681,5.483,3933,4.813,4040,4.464,4259,4.464,4588,2.612,5234,5.837,5466,4.384,5788,4.346,5800,4.55,6665,5.521,6666,4.813,7195,8.258,7196,7.063,7197,7.063,7198,8.608,7199,6.011,7200,7.063,7201,6.416,7202,7.063,7203,7.063,7204,7.063,7205,7.063,7206,6.94,7207,7.803,7208,7.803,7209,7.803,7210,6.461,7211,4.921,7212,4.986,7213,7.378,7214,6.195,7215,6.011,7216,5.207]],["title/interfaces/CopyFileDomainObjectProps.html",[159,0.712,7217,5.86]],["body/interfaces/CopyFileDomainObjectProps.html",[3,0.018,4,0.018,5,0.011,7,0.137,26,2.863,30,0.001,31,0.752,32,0.159,33,0.546,34,2.29,47,0.946,95,0.11,99,1.98,101,0.013,103,0.001,104,0.001,112,0.937,125,3.067,159,1.005,161,2.341,185,3.366,1883,3.689,3898,4.925,7198,9.455,7217,10.054,7218,4.679,7219,9.103,7220,9.103]],["title/classes/CopyFileDto.html",[0,0.241,7221,5.346]],["body/classes/CopyFileDto.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,26,2.713,27,0.506,29,0.688,30,0.001,31,0.73,32,0.161,33,0.566,34,2.118,47,0.832,95,0.126,99,1.816,101,0.012,103,0.001,104,0.001,112,0.888,125,2.698,161,2.147,339,2.642,433,1.107,458,3.594,864,6.511,2184,3.567,3898,6.709,7198,8.743,7217,10.933,7218,6.374,7221,8.694,7222,13.388,7223,7.582,7224,11.326,7225,9.012,7226,9.012,7227,7.321,7228,7.321,7229,7.321,7230,7.321]],["title/classes/CopyFileListResponse.html",[0,0.241,7231,5.49]],["body/classes/CopyFileListResponse.html",[0,0.383,2,0.641,3,0.011,4,0.011,5,0.005,7,0.085,27,0.456,29,0.463,30,0.001,31,0.569,32,0.164,33,0.535,34,1.484,47,0.959,55,2.86,56,6.038,59,2.698,70,6.503,83,1.78,95,0.123,101,0.014,103,0,104,0,110,2.11,112,0.681,125,1.446,190,1.983,201,3.939,202,1.394,205,1.237,231,1.749,296,3.622,298,2.636,339,3.675,433,0.746,436,3.267,458,3.462,862,7.978,863,6.913,864,6.359,866,3.023,868,4.878,869,2.971,870,4.751,871,2.233,872,4.285,873,5.532,874,5.082,875,3.968,876,3.16,877,4.285,878,4.285,880,5.532,881,4.751,886,3.209,1315,4.931,1319,4.785,1444,3.374,2184,3.436,3054,6.309,3201,4.749,3933,2.874,5234,2.905,6665,3.297,6666,2.874,6675,3.868,7198,4.285,7206,6.92,7210,6.25,7215,4.785,7216,4.144,7218,4.133,7227,4.931,7228,4.931,7229,4.931,7230,4.931,7231,6.843,7232,5.754,7233,5.107,7234,10.104,7235,6.07,7236,6.07,7237,5.287,7238,8.415,7239,8.291,7240,5.107,7241,4.931,7242,5.107,7243,3.297,7244,5.107,7245,3.917,7246,5.107,7247,5.107,7248,5.107,7249,4.785,7250,4.931,7251,4.452,7252,5.107,7253,4.144,7254,4.931,7255,4.931,7256,4.452,7257,5.107,7258,5.107,7259,4.931,7260,5.107,7261,4.55]],["title/classes/CopyFileParams.html",[0,0.241,7262,4.833]],["body/classes/CopyFileParams.html",[0,0.474,2,0.687,3,0.012,4,0.017,5,0.008,7,0.091,26,2.524,27,0.356,30,0.001,32,0.154,39,1.807,47,1.015,95,0.143,99,1.312,101,0.017,103,0,104,0,110,2.264,112,0.716,122,1.892,157,1.507,159,0.666,190,1.636,195,1.431,199,5.033,200,1.993,201,4.437,202,1.495,203,6.136,205,1.327,296,3.711,298,2.828,299,4.877,300,4.374,403,3.325,855,5.044,856,6.346,886,3.335,899,2.976,1078,2.853,1080,2.257,1169,3.778,1237,1.886,1290,5.888,1291,4.317,1292,4.317,3011,5.492,3201,4.936,3933,3.084,4588,2.231,5260,6.633,6666,3.084,6847,6.48,7210,6.45,7212,4.258,7213,8.038,7218,5.015,7232,6.982,7262,6.332,7263,4.597,7264,7.436,7265,5.48,7266,6.513,7267,6.032,7268,6.513,7269,4.519,7270,8.256,7271,8.058,7272,8.058,7273,4.597,7274,4.519,7275,4.519,7276,4.597,7277,4.447,7278,6.23,7279,4.379,7280,4.447,7281,4.519,7282,4.447,7283,4.203,7284,4.597,7285,4.597,7286,4.597,7287,4.203,7288,4.203,7289,4.317,7290,4.447,7291,4.597]],["title/classes/CopyFileResponse.html",[0,0.241,7234,5.49]],["body/classes/CopyFileResponse.html",[0,0.396,2,0.69,3,0.012,4,0.012,5,0.006,7,0.091,27,0.446,29,0.499,30,0.001,31,0.676,32,0.154,33,0.482,34,1.955,47,1.008,55,2.594,56,5.385,70,5.799,83,1.916,95,0.127,101,0.015,103,0,104,0,110,2.272,112,0.717,190,1.891,201,4.443,202,1.5,205,1.331,231,1.578,296,3.681,298,2.837,339,3.528,433,0.803,458,3.647,862,6.568,863,5.044,864,6.571,870,3.576,880,5.828,881,5.006,886,3.341,1315,5.308,1319,5.151,1444,3.632,2184,3.62,3051,4.612,3054,6.568,3201,4.945,3933,3.094,5234,3.127,6665,3.549,6666,3.094,6675,4.164,7198,7.449,7206,7.205,7210,6.46,7215,5.151,7216,4.461,7218,5.728,7227,5.308,7228,5.308,7229,5.308,7230,5.308,7231,5.151,7232,7.975,7233,5.497,7234,10.297,7237,5.57,7238,8.652,7239,8.568,7240,5.497,7241,5.308,7242,5.497,7243,3.549,7244,5.497,7245,4.216,7246,5.497,7247,5.497,7248,5.497,7249,5.151,7250,5.308,7251,4.793,7252,5.497,7253,4.461,7254,5.308,7255,5.308,7256,4.793,7257,5.497,7258,5.497,7259,5.308,7260,5.497,7261,4.897,7292,6.534,7293,6.534,7294,6.534,7295,6.534]],["title/classes/CopyFileResponseBuilder.html",[0,0.241,7296,6.451]],["body/classes/CopyFileResponseBuilder.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.011,7,0.133,8,1.339,27,0.371,29,0.727,30,0.001,31,0.764,32,0.118,33,0.435,34,2.004,35,1.092,47,1.05,95,0.106,101,0.012,103,0.001,104,0.001,135,1.239,148,0.936,153,1.54,467,3.696,507,5.206,711,2.759,837,4.717,7198,9.354,7218,5.581,7234,10.92,7296,10.858,7297,11.722,7298,8.36,7299,11.722,7300,9.525]],["title/interfaces/CopyFiles.html",[159,0.712,7301,5.221]],["body/interfaces/CopyFiles.html",[3,0.016,4,0.016,5,0.01,7,0.122,30,0.001,32,0.138,47,1.083,55,2.479,95,0.098,101,0.017,103,0.001,104,0.001,112,0.874,125,2.653,159,1.388,161,2.09,339,3.266,414,5.65,1302,6.802,1304,5.001,1444,4.879,2233,5.344,5234,5.331,6572,5.001,7301,8.348,7302,6.578,7303,6.918,7304,9.878,7305,9.878,7306,5.526,7307,6.578,7308,5.992,7309,5.992,7310,5.992,7311,5.992,7312,6.195,7313,5.462,7314,5.344,7315,5.344,7316,6.437,7317,8.549,7318,8.549,7319,6.578]],["title/classes/CopyFilesOfParentParamBuilder.html",[0,0.241,7320,6.113]],["body/classes/CopyFilesOfParentParamBuilder.html",[0,0.318,2,0.971,3,0.021,4,0.025,5,0.01,7,0.128,8,1.311,26,2.652,27,0.358,29,0.702,30,0.001,31,0.517,32,0.114,33,0.42,35,1.055,39,3.184,95,0.139,99,1.853,101,0.012,103,0.001,104,0.001,135,1.197,148,0.904,161,2.191,193,4.012,467,3.639,507,5.095,3011,5.981,3668,5.82,3898,5.749,5234,5.491,7218,5.461,7320,10.068,7321,11.471,7322,8.519,7323,11.471,7324,11.195,7325,8.519,7326,10.518,7327,8.519]],["title/classes/CopyFilesOfParentParams.html",[0,0.241,7212,4.554]],["body/classes/CopyFilesOfParentParams.html",[0,0.476,2,0.701,3,0.012,4,0.017,5,0.008,7,0.092,26,2.54,27,0.259,30,0.001,32,0.15,39,1.843,47,1.011,95,0.143,99,1.338,101,0.017,103,0,104,0,110,2.309,112,0.726,122,1.918,157,1.537,159,0.679,190,1.191,195,1.46,199,5.103,200,2.032,201,4.475,202,1.525,203,6.221,205,1.354,296,3.72,298,2.884,299,4.907,300,4.412,403,3.391,855,5.075,856,6.4,886,3.371,899,3.035,1078,2.91,1080,2.302,1169,3.853,1237,1.924,1290,5.97,1291,4.402,1292,4.402,3011,5.531,3201,4.989,3933,3.145,4588,2.275,5260,6.703,6666,3.145,6847,6.526,7210,6.506,7212,6.048,7213,8.088,7218,4.404,7232,6.132,7262,4.609,7263,4.689,7264,4.689,7267,6.152,7269,4.609,7270,8.308,7271,8.127,7272,8.127,7273,4.689,7274,4.609,7275,4.609,7276,4.689,7277,4.535,7278,6.316,7279,4.466,7280,4.535,7281,4.609,7282,4.535,7283,4.286,7284,4.689,7285,4.689,7286,4.689,7287,4.286,7288,4.286,7289,4.402,7290,4.535,7291,4.689,7328,6.642]],["title/classes/CopyFilesOfParentPayload.html",[0,0.241,7282,4.755]],["body/classes/CopyFilesOfParentPayload.html",[0,0.473,2,0.674,3,0.012,4,0.021,5,0.008,7,0.089,26,2.578,27,0.406,30,0.001,32,0.157,39,2.893,47,1.004,95,0.142,99,1.287,101,0.017,103,0,104,0,110,2.221,112,0.706,122,1.866,157,1.479,159,0.653,190,1.869,195,1.404,199,4.965,200,1.955,201,4.399,202,1.467,203,6.054,205,1.302,296,3.702,298,2.774,299,4.847,300,4.337,403,3.262,855,5.151,856,6.292,886,3.301,899,2.919,1078,2.799,1080,2.214,1169,3.705,1237,1.85,1290,5.809,1291,4.234,1292,4.234,3011,5.452,3201,4.885,3933,3.025,4588,2.188,5260,6.564,6666,3.025,6847,6.858,7210,6.396,7212,4.177,7213,8.209,7218,5.388,7232,7.502,7262,4.433,7263,4.51,7264,4.51,7269,4.433,7270,8.205,7271,7.99,7272,7.99,7273,4.51,7274,4.433,7275,4.433,7276,4.51,7277,4.362,7278,6.147,7279,4.296,7280,4.362,7281,4.433,7282,6.147,7283,4.122,7284,4.51,7285,4.51,7286,4.51,7287,4.122,7288,4.122,7289,4.234,7290,4.362,7291,4.51,7329,6.388,7330,6.388,7331,6.388]],["title/interfaces/CopyFilesRequestInfo.html",[159,0.712,7326,5.86]],["body/interfaces/CopyFilesRequestInfo.html",[3,0.022,4,0.025,5,0.012,7,0.138,26,2.719,30,0.001,32,0.16,39,3.724,95,0.134,99,1.99,101,0.013,103,0.001,104,0.001,112,0.94,159,1.01,161,2.353,193,5.227,3011,6.131,3898,4.949,7218,4.702,7219,9.148,7324,11.147,7326,10.084,7332,8.668]],["title/injectables/CopyFilesService.html",[589,0.926,7333,5.86]],["body/injectables/CopyFilesService.html",[0,0.207,3,0.011,4,0.019,5,0.008,7,0.083,8,0.98,26,2.224,27,0.428,29,0.888,30,0.001,31,0.701,32,0.158,33,0.502,34,1.988,35,1.152,36,1.813,39,2.787,47,0.439,95,0.139,99,1.203,100,2.082,101,0.011,103,0,104,0,118,4.706,135,1.771,141,3.677,148,1.143,153,0.966,155,1.906,161,1.422,228,1.541,277,0.854,317,2.172,402,3.086,412,2.652,433,1.054,532,4.574,589,1.14,591,1.416,652,2.596,657,1.365,675,3.048,896,3.319,1562,4.706,3011,3.92,3287,8.88,3305,7.177,3316,4.706,3317,4.475,3318,3.675,3319,3.403,3337,8.654,3338,8.449,3346,5.023,3898,6.067,5234,2.858,5317,4.583,5409,8.813,6203,5.467,7198,7.089,7212,3.903,7218,5.536,7221,9.574,7320,5.24,7333,7.218,7334,10.77,7335,5.97,7336,10.042,7337,8.579,7338,7.947,7339,5.97,7340,8.968,7341,5.97,7342,5.97,7343,5.97,7344,8.579,7345,5.97,7346,10.042,7347,11.552,7348,8.579,7349,5.97,7350,5.97,7351,5.24,7352,5.53,7353,8.579,7354,5.97,7355,5.97,7356,5.97,7357,5.97,7358,5.97,7359,7.947,7360,5.97,7361,7.53,7362,5.97,7363,5.97,7364,4.475,7365,5.97,7366,5.97,7367,5.53,7368,5.97,7369,8.579,7370,5.97,7371,5.53,7372,4.706,7373,4.85,7374,5.24,7375,8.579,7376,5.97,7377,5.97]],["title/modules/CopyHelperModule.html",[252,1.839,7378,5.221]],["body/modules/CopyHelperModule.html",[0,0.339,3,0.018,4,0.018,5,0.009,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.395,254,3.527,255,3.744,256,3.838,257,3.824,258,3.811,259,4.671,260,4.779,269,4.671,270,3.77,271,3.693,277,1.402,3287,10.683,7177,8.249,7378,10.584,7379,9.804,7380,9.804,7381,9.804,7382,9.081,7383,9.804,7384,9.081,7385,9.804]],["title/injectables/CopyHelperService.html",[589,0.926,3287,5.109]],["body/injectables/CopyHelperService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,26,1.397,27,0.423,29,0.829,30,0.001,31,0.73,32,0.134,33,0.496,35,1.245,47,0.973,95,0.13,99,1.389,101,0.009,103,0,104,0,129,2.041,130,1.865,135,1.65,145,2.587,148,1.277,153,1.115,185,2.361,277,0.986,301,6.125,402,4.561,589,1.262,591,1.635,756,3.785,896,3.832,1767,3.744,1849,3.928,2125,3.613,2796,5.811,3287,6.962,3305,8.653,3317,8.138,3341,8.792,3346,5.799,3401,6.384,3409,6.049,5266,4.635,6257,4.956,7177,9.842,7372,8.558,7386,11.697,7387,6.893,7388,9.492,7389,9.492,7390,9.492,7391,9.492,7392,6.893,7393,10.856,7394,9.492,7395,9.842,7396,6.893,7397,9.492,7398,6.893,7399,6.384,7400,6.893,7401,9.492,7402,6.893,7403,5.799,7404,6.893,7405,6.893,7406,5.799,7407,6.893,7408,6.893,7409,6.893,7410,6.893,7411,10.856,7412,6.893,7413,5.166,7414,9.492,7415,6.893,7416,9.492,7417,6.893,7418,6.893,7419,6.893,7420,6.893,7421,6.893,7422,6.893]],["title/classes/CopyMapper.html",[0,0.241,7423,5.658]],["body/classes/CopyMapper.html",[0,0.246,2,0.751,3,0.013,4,0.013,5,0.006,7,0.099,8,1.108,26,2.654,27,0.43,29,0.842,30,0.001,31,0.62,32,0.147,33,0.504,35,1.266,39,3.701,95,0.149,99,1.433,100,4.464,101,0.009,103,0,104,0,135,1.542,148,1.085,153,1.15,155,2.27,326,3.691,402,2.558,467,3.936,478,1.993,830,5.391,2027,4.747,2957,5.229,2959,4.454,3305,8.109,3317,5.331,3337,5.607,3403,8.983,3407,8.983,5762,4.378,7176,9.343,7177,9.973,7372,7.645,7399,6.588,7423,7.879,7424,7.112,7425,9.698,7426,9.698,7427,9.698,7428,9.973,7429,7.112,7430,10.222,7431,9.698,7432,9.973,7433,7.112,7434,10.222,7435,9.698,7436,7.112,7437,7.112,7438,8.983,7439,7.112,7440,7.112,7441,7.112,7442,7.112,7443,7.112,7444,7.112,7445,9.698,7446,5.984,7447,7.112,7448,7.112,7449,7.112,7450,7.112,7451,7.112,7452,7.112,7453,7.112,7454,7.112,7455,8.983,7456,6.588]],["title/modules/CoreModule.html",[252,1.839,7457,4.494]],["body/modules/CoreModule.html",[0,0.286,3,0.015,4,0.015,5,0.007,30,0.001,95,0.145,101,0.011,103,0.001,104,0.001,157,1.91,252,3.44,254,2.969,255,3.151,256,3.231,257,3.219,258,3.208,259,2.997,260,4.416,265,6.602,269,4.192,270,3.174,271,3.108,276,4.192,277,1.18,1080,4.12,1373,5.026,2447,3.449,4237,6.909,4946,8.44,5087,8.44,5301,7.558,7457,9.232,7458,8.253,7459,8.253,7460,8.253,7461,11.236,7462,11.72,7463,11.72,7464,8.253,7465,7.699,7466,9.008,7467,9.917,7468,10.707,7469,7.699,7470,8.025,7471,10.707,7472,7.429,7473,9.397,7474,9.917,7475,10.707,7476,9.008,7477,6.704]],["title/interfaces/CoreModuleConfig.html",[159,0.712,7478,5.86]],["body/interfaces/CoreModuleConfig.html",[3,0.02,4,0.02,5,0.01,30,0.001,95,0.14,101,0.014,103,0.001,104,0.001,159,1.09,161,2.54,231,2.165,252,2.815,311,6.795,393,5.28,2447,4.457,7478,10.556,7479,10.663,7480,11.217,7481,11.217]],["title/classes/County.html",[0,0.241,7482,5.86]],["body/classes/County.html",[0,0.36,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,27,0.482,29,0.603,30,0.001,31,0.741,32,0.153,33,0.361,47,1.024,55,2.108,83,3.05,95,0.116,96,2.061,101,0.015,103,0,104,0,112,0.816,159,0.807,195,2.286,196,3.859,197,2.907,205,2.12,223,3.853,224,2.287,225,3.986,226,3.59,229,3.114,231,1.362,232,2.137,233,2.448,430,3.247,431,3.384,433,0.97,460,4.809,461,5.391,462,4.809,463,5.391,1835,4.057,2184,4.117,2712,5.277,4654,5.49,4664,3.556,6740,5.98,6756,5.233,7482,11.62,7483,11.276,7484,6.93,7485,10.209,7486,10.209,7487,9.129,7488,7.896,7489,7.896,7490,7.896,7491,7.896,7492,8.752,7493,9.129,7494,9.129,7495,6.93,7496,6.93,7497,6.93,7498,6.93,7499,6.93,7500,6.93,7501,5.479,7502,6.93,7503,6.93,7504,6.224]],["title/entities/Course.html",[205,1.419,2033,2.641]],["body/entities/Course.html",[0,0.188,2,0.845,3,0.006,4,0.006,5,0.003,7,0.14,26,2.037,27,0.479,30,0.001,31,0.497,32,0.148,33,0.511,34,1.182,39,1.919,47,0.923,62,3.24,83,3.188,95,0.131,96,0.862,101,0.009,103,0,104,0,112,0.426,122,1.126,125,2.79,129,3.468,130,2.942,134,1.17,135,1.666,148,1.258,153,1.959,155,1.054,157,2.048,159,0.338,190,2.201,195,2.662,196,2.935,197,0.923,205,1.107,206,1.078,211,3.813,219,2.995,223,3.574,224,0.957,225,2.081,226,1.502,229,1.303,231,0.57,232,0.894,233,1.024,290,2.256,304,1.636,371,1.756,403,2.772,433,0.406,458,1.317,467,1.58,526,1.781,540,1.096,569,1.688,578,1.731,579,1.55,595,1.253,615,3.307,652,1.629,692,4.124,700,2.628,701,2.628,703,2.456,711,3.242,756,1.317,774,2.779,886,2.189,962,2.332,1237,0.957,1312,2.558,1821,2.571,1829,2.327,1835,2.79,1926,2.012,2033,3.607,2164,1.532,2184,3.169,2942,5.432,2946,6.269,2950,3.843,2958,2.332,2960,2.08,3418,3.606,3469,2.221,3470,2.16,3649,1.883,3752,2.132,3907,3.55,3914,3.06,4049,2.332,4094,2.08,4118,3.599,4119,3.599,4174,2.221,4441,1.952,4588,1.86,4589,5.652,4604,2.779,4638,5.071,4664,2.446,4739,5.708,5466,1.899,5727,2.531,6206,1.899,6207,3.24,6208,2.221,6211,3.46,6230,3.599,6231,2.132,6238,3.55,6251,2.255,6270,3.651,7413,2.476,7469,2.375,7505,2.899,7506,6.759,7507,6.04,7508,6.361,7509,5.384,7510,5.085,7511,4.797,7512,6.361,7513,5.637,7514,5.652,7515,6.489,7516,5.029,7517,4.765,7518,3.303,7519,4.765,7520,3.303,7521,3.303,7522,4.765,7523,3.303,7524,4.765,7525,3.303,7526,7.027,7527,2.779,7528,3.303,7529,4.765,7530,3.303,7531,4.765,7532,3.303,7533,2.899,7534,3.303,7535,2.899,7536,3.303,7537,3.303,7538,6.403,7539,3.303,7540,4.765,7541,3.303,7542,3.303,7543,3.303,7544,2.899,7545,5.071,7546,2.899,7547,2.899,7548,2.899,7549,3.342,7550,3.983,7551,2.684,7552,2.056,7553,1.867,7554,4.411,7555,4.411,7556,2.899,7557,2.684,7558,2.375,7559,2.899,7560,2.899,7561,2.779,7562,2.476,7563,2.899,7564,2.899,7565,2.604,7566,2.899,7567,3.38,7568,10.191,7569,4.971,7570,2.684,7571,3.599,7572,1.971,7573,2.034,7574,1.971,7575,2.684,7576,2.899,7577,2.899,7578,4.765,7579,4.765,7580,4.765,7581,6.505,7582,4.411,7583,4.168,7584,4.765,7585,4.07,7586,4.168,7587,2.476,7588,2.899,7589,2.899,7590,2.899,7591,2.899,7592,2.899,7593,4.765,7594,2.899,7595,2.899,7596,2.899,7597,2.899,7598,2.899,7599,2.899,7600,2.899,7601,5.816,7602,6.067,7603,2.899,7604,2.899,7605,2.899,7606,2.899,7607,2.899,7608,2.423,7609,2.899,7610,2.899,7611,2.899,7612,2.899,7613,2.899,7614,2.899,7615,2.779,7616,2.899,7617,6.067,7618,4.765,7619,2.899,7620,2.899,7621,2.684,7622,2.292,7623,2.899,7624,5.616,7625,2.899,7626,2.899,7627,2.899,7628,2.899]],["title/controllers/CourseController.html",[314,2.65,7629,6.113]],["body/controllers/CourseController.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.369,29,0.722,30,0.001,31,0.531,32,0.134,33,0.432,35,1.085,36,2.467,56,4.455,70,4.799,95,0.151,100,2.391,101,0.009,103,0,104,0,135,1.593,141,4.641,148,0.93,153,1.751,190,1.695,195,1.507,202,1.574,228,1.944,274,2.855,277,0.981,298,2.978,314,2.61,316,3.3,317,2.739,325,6.424,349,6.582,365,4.809,388,4.054,392,3.57,395,3.67,398,3.697,433,0.842,579,1.958,634,6.28,651,3.479,652,2.202,657,2.163,863,5.217,871,4.773,883,8.239,1447,5.03,2352,9.503,2393,3.625,2954,5.027,3220,7.079,3240,3.524,4077,4.092,5466,5.437,5743,9.503,7629,8.301,7630,6.857,7631,10.029,7632,6.857,7633,10.244,7634,10.244,7635,9.458,7636,6.857,7637,6.352,7638,7.38,7639,6.857,7640,6.269,7641,5.571,7642,4.133,7643,6.018,7644,6.857,7645,9.11,7646,6.352,7647,6.857,7648,9.11,7649,6.857,7650,5.77,7651,6.857,7652,6.857,7653,6.857,7654,6.857,7655,5.406,7656,6.857,7657,6.857,7658,5.571,7659,6.857,7660,6.857,7661,6.857,7662,6.857,7663,6.857,7664,5.77,7665,6.857]],["title/injectables/CourseCopyService.html",[589,0.926,7666,5.658]],["body/injectables/CourseCopyService.html",[0,0.174,3,0.009,4,0.009,5,0.005,7,0.07,8,0.864,10,2.021,26,1.841,27,0.422,29,0.827,30,0.001,31,0.664,32,0.165,33,0.495,35,1.159,36,2.136,39,2.522,47,0.556,83,1.474,95,0.132,99,1.013,101,0.006,103,0,104,0,125,1.198,135,1.732,145,1.887,148,0.993,153,1.223,155,1.605,158,1.856,172,3.227,195,1.105,228,2.045,268,7.194,277,0.719,279,2.085,290,2.949,317,2.69,326,2.878,402,4.372,433,0.929,478,1.409,589,1.005,591,1.193,652,2.73,657,2.897,703,1.543,896,4.204,1911,7.008,1998,3.964,2027,4.448,2033,5.09,2048,3.616,2051,3.846,2608,3.031,2990,4.085,3270,9.938,3272,3.964,3283,8.854,3287,8.664,3293,3.964,3305,7.444,3315,10.545,3316,3.964,3317,3.769,3318,3.095,3319,2.866,3330,7.976,3336,4.413,3337,3.964,3338,4.231,3365,3.86,3633,3.616,3906,4.413,4739,3.245,5453,4.658,7372,3.964,7395,6.362,7406,7.646,7506,3.381,7507,3.433,7512,3.616,7515,3.688,7666,6.143,7667,11.385,7668,7.646,7669,7.561,7670,7.561,7671,7.561,7672,4.231,7673,9.596,7674,5.028,7675,5.028,7676,7.561,7677,10.107,7678,5.028,7679,7.561,7680,12.666,7681,5.028,7682,11.385,7683,7.561,7684,5.028,7685,5.028,7686,8.804,7687,6.636,7688,4.658,7689,5.028,7690,5.028,7691,5.028,7692,5.028,7693,5.028,7694,4.658,7695,5.028,7696,5.028,7697,5.028,7698,5.028,7699,5.028,7700,7.561,7701,5.028,7702,7.561,7703,5.028,7704,4.231,7705,5.028,7706,5.028,7707,5.028,7708,5.028,7709,5.028,7710,5.028,7711,4.658,7712,5.028,7713,5.028,7714,5.028,7715,7.561,7716,5.028,7717,5.028,7718,5.028,7719,5.028,7720,5.028,7721,5.028]],["title/injectables/CourseCopyUC.html",[589,0.926,7722,5.86]],["body/injectables/CourseCopyUC.html",[0,0.265,3,0.014,4,0.014,5,0.007,7,0.107,8,1.166,26,2.706,27,0.447,29,0.779,30,0.001,31,0.573,32,0.126,33,0.466,35,1.17,36,2.156,39,2.832,95,0.151,99,1.545,101,0.01,102,4.076,103,0,104,0,122,1.59,135,1.492,141,4.373,148,0.754,153,1.24,183,3.896,228,1.832,277,1.097,317,2.48,433,1.253,569,2.384,579,2.19,589,1.356,591,1.819,595,2.909,610,3.025,652,2.588,657,2.333,693,3.488,1268,7.058,1312,3.613,1475,6.425,1780,4.623,1909,9.635,1953,5.414,2027,6.229,2219,3.438,2220,5.145,2221,4.966,2222,6.425,2680,3.522,3305,5.014,3318,4.721,3319,4.371,3972,5.083,4157,5.626,7666,10.85,7668,8.585,7722,8.585,7723,11.321,7724,6.731,7725,10.284,7726,7.669,7727,7.669,7728,7.669,7729,9.451,7730,7.669,7731,6.731,7732,7.669,7733,7.669,7734,6.453,7735,7.104,7736,7.669,7737,6.731,7738,6.731,7739,4.829]],["title/injectables/CourseExportUc.html",[589,0.926,7645,5.86]],["body/injectables/CourseExportUc.html",[0,0.287,3,0.015,4,0.015,5,0.007,7,0.116,8,1.228,26,2.759,27,0.419,29,0.821,30,0.001,31,0.604,32,0.133,33,0.491,35,0.952,36,2.272,39,3.624,95,0.152,99,1.673,101,0.011,103,0.001,104,0.001,135,1.08,148,0.816,183,4.105,228,1.93,277,1.187,317,2.579,433,1.321,589,1.429,591,1.97,595,3.149,652,2.186,657,1.899,693,3.776,1780,5.005,1862,6.335,1909,9.937,1953,5.862,2027,5.261,2680,3.813,4157,6.091,5735,6.769,5738,10.607,5743,9.435,5752,6.52,5753,8.747,5757,9.957,5776,4.861,7645,9.045,7723,11.041,7734,6.987,7740,8.304,7741,8.304,7742,8.304,7743,10.75,7744,8.304,7745,8.304,7746,8.304,7747,8.304,7748,8.304,7749,8.304]],["title/classes/CourseFactory.html",[0,0.241,7750,5.86]],["body/classes/CourseFactory.html",[0,0.154,2,0.471,3,0.008,4,0.008,5,0.004,7,0.062,8,0.788,27,0.52,29,1.011,30,0.001,31,0.722,32,0.166,33,0.579,34,1.443,35,1.377,47,0.507,55,2.603,59,3.193,95,0.114,101,0.006,103,0,104,0,112,0.541,113,4.315,127,4.76,129,3.465,130,3.167,135,1.597,148,1.01,153,1.116,157,2.378,172,2.944,185,2.363,192,2.459,205,2.093,206,2.251,228,1.239,231,1.19,326,4.945,374,2.996,433,0.548,436,3.795,467,2.008,478,1.249,501,7.19,502,5.28,505,3.835,506,5.28,507,5.335,508,3.835,509,3.835,510,3.835,511,3.776,512,4.308,513,4.691,514,6.524,515,5.622,516,6.974,517,2.499,522,2.479,523,3.835,524,2.499,525,4.978,526,5.121,527,4.036,528,4.819,529,3.805,530,2.479,531,2.337,532,3.983,533,2.37,534,2.337,535,2.479,536,2.499,537,4.618,538,2.479,539,7.295,540,3.882,541,6.505,542,2.499,543,4.107,544,2.479,545,2.499,546,2.479,547,2.499,548,2.479,549,2.775,550,2.61,551,2.479,552,5.945,553,2.499,554,2.479,555,3.835,556,3.5,557,3.835,558,2.499,559,2.404,560,2.37,561,2.008,562,2.479,563,2.479,564,2.479,565,2.499,566,2.499,567,1.662,568,2.479,569,1.386,570,2.499,571,2.731,572,2.479,573,2.499,575,2.563,576,2.635,577,5.668,697,3.206,698,3.423,703,1.368,1743,3.206,2033,3.2,4118,6.295,4739,4.452,7506,2.998,7513,4.397,7515,6.967,7554,3.622,7750,7.1,7751,4.459,7752,9.498,7753,6.39,7754,6.899,7755,4.459,7756,4.459,7757,6.39,7758,4.459,7759,4.13,7760,6.899,7761,4.459,7762,4.459,7763,3.515,7764,3.622,7765,7.816,7766,3.206,7767,4.787,7768,5.605,7769,4.13,7770,4.459,7771,4.459,7772,4.459,7773,3.515]],["title/entities/CourseGroup.html",[205,1.419,6207,4.156]],["body/entities/CourseGroup.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.176,26,2.356,27,0.453,30,0.001,31,0.653,32,0.16,39,1.887,47,0.855,62,4.057,95,0.149,96,1.775,101,0.012,103,0,104,0,112,0.845,125,2.24,129,2.013,130,1.84,134,2.408,135,0.885,148,0.668,153,1.521,159,0.962,190,2.085,205,1.916,206,2.218,223,3.359,224,1.969,225,3.603,226,3.092,229,2.681,231,1.173,232,1.84,233,2.108,290,2.231,569,2.113,692,5.422,703,3.568,711,2.724,813,3.811,962,4.8,1065,3.347,1080,2.357,1237,1.969,1393,3.875,1821,3.22,2027,4.602,2033,5.141,2184,2.691,2513,3.875,2553,4.281,2942,5.856,2946,5.033,2950,3.78,2956,4.057,2958,4.8,2960,4.281,2972,4.445,3102,4.098,3159,3.077,3365,5.219,3750,4.642,4588,2.329,4664,3.062,5727,4.384,6207,5.611,6211,5.992,6230,6.232,6231,4.388,6232,4.281,6240,4.507,6270,7.248,7179,5.36,7508,4.889,7513,7.411,7549,5.788,7552,4.232,7553,3.842,7569,6.761,7573,4.186,7575,5.524,7624,5.524,7774,6.298,7775,5.968,7776,6.799,7777,6.799,7778,4.572,7779,6.298,7780,6.799,7781,6.799,7782,6.799,7783,7.911,7784,6.298,7785,6.298,7786,4.8,7787,6.298,7788,6.298,7789,6.298,7790,6.298,7791,6.298,7792,6.298]],["title/classes/CourseGroupFactory.html",[0,0.241,7793,6.451]],["body/classes/CourseGroupFactory.html",[0,0.172,2,0.525,3,0.009,4,0.009,5,0.004,7,0.069,8,0.857,27,0.518,29,1.023,30,0.001,31,0.73,32,0.168,33,0.586,34,1.543,35,1.421,47,0.551,55,2.559,59,3.352,95,0.12,101,0.006,103,0,104,0,112,0.588,113,4.504,127,5.037,129,3.587,130,3.278,135,1.174,148,0.737,157,2.089,172,3.2,185,2.568,192,2.742,205,2.198,206,2.446,228,1.346,231,1.294,326,4.882,374,3.256,433,0.611,436,3.884,467,2.182,478,1.393,501,7.331,502,5.587,505,4.168,506,5.587,507,5.505,508,4.168,509,4.168,510,4.168,511,4.104,512,4.608,513,5.018,514,6.579,515,5.903,516,7.119,517,2.787,522,2.764,523,4.168,524,2.787,525,5.268,526,5.419,527,4.271,528,5.099,529,4.135,530,2.764,531,2.606,532,4.158,533,2.643,534,2.606,535,2.764,536,2.787,537,4.94,538,2.764,539,7.228,540,4.019,541,6.733,542,2.787,543,4.393,544,2.764,545,2.787,546,2.764,547,2.787,548,2.764,549,3.095,550,2.911,551,2.764,552,6.205,553,2.787,554,2.764,555,4.168,556,3.804,557,4.168,558,2.787,559,2.681,560,2.643,561,2.24,562,2.764,563,2.764,564,2.764,565,2.787,566,2.787,567,1.854,568,2.764,569,1.545,570,2.787,571,2.968,572,2.764,573,2.787,575,2.859,576,2.938,577,2.967,697,3.575,698,3.817,2033,1.886,6207,4.474,7513,4.778,7750,4.184,7753,6.945,7757,6.945,7759,4.606,7769,4.606,7783,4.184,7793,8.36,7794,4.972,7795,4.972,7796,4.606,7797,4.972,7798,4.606]],["title/interfaces/CourseGroupProperties.html",[159,0.712,7783,5.86]],["body/interfaces/CourseGroupProperties.html",[0,0.246,3,0.013,4,0.013,5,0.006,7,0.178,26,2.402,30,0.001,31,0.697,32,0.162,33,0.443,39,1.974,47,0.911,62,4.244,95,0.151,96,1.857,101,0.012,103,0,104,0,112,0.866,125,1.694,134,2.519,135,0.925,148,0.699,153,1.15,159,0.992,161,1.694,205,1.976,223,3.022,224,2.06,225,3.716,226,3.234,229,2.805,231,1.227,232,1.925,233,2.205,290,2.812,569,2.211,692,5.145,703,2.975,711,2.809,813,3.986,962,5.021,1065,3.501,1080,2.465,1237,2.06,1393,4.053,1821,3.368,2027,3.481,2033,5.276,2184,2.815,2513,4.053,2553,4.479,2942,5.119,2946,3.807,2950,3.954,2956,4.244,2958,5.021,2960,4.479,2972,4.65,3102,4.287,3159,3.219,3365,5.46,3750,4.856,4588,2.436,4664,3.203,5727,4.521,6207,4.244,6211,6.18,6230,6.428,6231,4.59,6232,4.479,6240,4.714,6270,7.421,7179,5.607,7508,5.114,7513,7.905,7549,5.97,7552,4.427,7553,4.019,7569,5.114,7573,4.378,7575,5.778,7624,5.778,7774,6.588,7783,9.285,7784,6.588,7785,6.588,7786,5.021,7787,6.588,7788,6.588,7789,6.588,7790,6.588,7791,6.588,7792,6.588]],["title/injectables/CourseGroupRepo.html",[589,0.926,1910,5.346]],["body/injectables/CourseGroupRepo.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,10,3.801,12,4.28,13,6.677,18,4.74,26,2.629,27,0.506,29,0.966,30,0.001,31,0.711,32,0.157,33,0.578,34,1.173,35,1.452,36,2.794,39,1.903,40,4.577,42,6.677,47,0.796,49,2.583,95,0.136,96,1.79,97,2.766,98,4.133,99,1.382,101,0.009,103,0,104,0,135,1.409,148,1.147,153,1.109,205,1.397,206,3.086,231,1.632,277,0.981,317,3.013,436,3.448,478,1.921,532,5.029,589,1.257,591,1.627,657,2.669,728,7.525,734,3.986,735,4.28,736,5.33,759,4.092,760,4.176,761,4.133,762,4.176,764,4.133,765,4.176,766,3.67,773,4.545,1910,7.26,2033,3.587,2938,6.71,3998,4.841,6207,6.965,7508,8.393,7513,4.37,7799,6.857,7800,8.761,7801,8.761,7802,6.857,7803,7.26,7804,6.857,7805,6.857,7806,6.857,7807,5.264,7808,6.857,7809,9.458]],["title/injectables/CourseGroupRule.html",[589,0.926,1867,5.658]],["body/injectables/CourseGroupRule.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.446,29,0.873,30,0.001,31,0.642,32,0.151,33,0.522,35,1.166,95,0.142,101,0.01,103,0,104,0,122,2.528,135,1.587,148,0.999,183,4.657,205,2.761,228,1.825,277,1.09,290,3.254,400,2.236,433,0.937,478,2.136,589,1.351,591,1.809,652,1.551,653,3.136,711,3.784,1197,5.521,1237,2.209,1775,6.674,1778,7.199,1792,5.291,1801,8.042,1804,8.921,1838,7.35,1867,8.258,1868,9.996,1982,6.478,1986,6.257,1993,4.986,2619,6.478,3711,5.054,3714,6.559,3716,5.054,3717,6.737,6207,8.084,7513,4.86,7810,12.195,7811,7.626,7812,7.626,7813,7.626,7814,7.626,7815,6.693,7816,6.693,7817,6.416,7818,6.693]],["title/injectables/CourseGroupService.html",[589,0.926,7819,6.113]],["body/injectables/CourseGroupService.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.767,27,0.467,29,0.915,30,0.001,31,0.674,32,0.148,33,0.548,35,1.243,36,2.677,39,3.008,95,0.141,98,5.068,99,1.694,101,0.011,103,0.001,104,0.001,135,1.41,148,1.065,228,1.51,277,1.202,279,3.486,317,2.903,400,2.465,433,1.033,478,2.355,589,1.441,591,1.995,657,2.742,711,3.888,1910,9.723,2636,5.304,2938,7.281,6207,5.017,7508,8.622,7819,9.511,7820,8.408,7821,10.837,7822,10.837,7823,7.074,7824,8.408,7825,10.837,7826,8.408,7827,10.837,7828,8.408,7829,10.837,7830,8.408,7831,8.408,7832,8.408]],["title/classes/CourseMapper.html",[0,0.241,7643,6.113]],["body/classes/CourseMapper.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,27,0.377,29,0.738,30,0.001,31,0.543,32,0.12,33,0.441,35,1.108,95,0.132,100,4.124,101,0.012,103,0.001,104,0.001,135,1.539,148,0.95,153,1.563,467,3.72,478,2.707,837,4.785,2033,5.181,7643,10.379,7833,9.662,7834,11.826,7835,11.826,7836,9.662,7837,11.205,7838,9.662,7839,9.662,7840,9.662,7841,9.662,7842,9.662,7843,9.662,7844,9.662,7845,9.662,7846,9.662]],["title/classes/CourseMetadataListResponse.html",[0,0.241,7650,5.86]],["body/classes/CourseMetadataListResponse.html",[0,0.317,2,0.691,3,0.012,4,0.012,5,0.006,7,0.091,26,1.855,27,0.469,29,0.5,30,0.001,31,0.368,32,0.164,33,0.55,34,1.956,47,0.941,55,2.836,56,5.877,59,2.846,70,6.33,83,3.832,95,0.118,99,1.319,101,0.012,103,0,104,0,112,0.718,125,1.559,155,3.843,157,2.965,190,2.05,201,4.446,202,1.503,223,2.039,231,1.58,296,3.264,298,2.842,304,3.241,339,3.53,433,1.125,436,3.379,458,2.61,567,2.44,862,7.972,863,6.881,864,5.264,866,3.26,868,5.083,869,3.203,870,3.582,871,2.408,872,4.62,873,5.835,874,5.36,875,4.279,876,5.499,877,4.62,878,4.62,880,4.171,881,3.582,1568,4.541,2033,4.005,2049,4.668,2328,4.121,3056,3.15,3197,3.503,3198,3.503,4094,6.65,7506,4.401,7507,7.211,7512,7.594,7515,7.747,7581,5.317,7583,5.024,7585,4.905,7622,7.328,7650,7.704,7837,10.776,7847,8.481,7848,5.506,7849,6.544,7850,6.544,7851,5.317,7852,5.159,7853,7.937,7854,5.159,7855,6.062,7856,5.159,7857,5.159,7858,4.279,7859,4.62,7860,5.317]],["title/classes/CourseMetadataResponse.html",[0,0.241,7837,5.86]],["body/classes/CourseMetadataResponse.html",[0,0.297,2,0.631,3,0.011,4,0.011,5,0.005,7,0.083,26,2.226,27,0.498,29,0.456,30,0.001,31,0.336,32,0.161,33,0.57,34,2.183,47,1.026,55,2.036,56,4.046,59,3.124,70,4.357,83,4.131,95,0.112,99,1.205,101,0.011,103,0,104,0,112,0.674,155,4.263,157,2.888,190,2.237,201,4.27,202,1.373,223,2.676,231,1.032,296,3.169,298,2.596,304,4.253,339,2.518,433,1.055,458,2.385,567,3.202,862,5.346,863,3.298,864,3.437,868,5.287,876,5.719,880,3.81,881,3.272,1361,5.778,1568,5.959,2033,4.593,2049,5.21,2328,5.408,2435,4.082,3056,2.878,3197,4.597,3198,4.597,4094,7.857,7506,5.775,7507,8.519,7512,8.972,7515,9.152,7581,4.858,7583,4.59,7585,4.482,7622,8.658,7650,5.031,7837,9.789,7847,12.042,7848,5.031,7851,4.858,7852,4.713,7853,8.859,7854,6.77,7855,7.955,7856,6.77,7857,6.77,7858,5.615,7859,6.063,7860,6.977,7861,5.979,7862,5.979,7863,5.979,7864,5.979,7865,5.979,7866,5.979,7867,5.979,7868,5.979]],["title/entities/CourseNews.html",[205,1.419,7869,5.221]],["body/entities/CourseNews.html",[0,0.356,3,0.01,4,0.017,5,0.005,7,0.161,9,3.599,26,2.083,27,0.203,30,0.001,31,0.436,32,0.127,34,0.89,47,0.922,83,2.275,95,0.137,96,2.422,101,0.014,103,0,104,0,112,0.863,134,1.843,148,0.512,153,1.5,155,2.961,159,0.532,190,0.933,195,2.625,196,3.964,205,2.241,206,1.698,223,3.723,224,1.507,225,2.973,226,2.367,231,1.774,232,2.782,233,1.613,290,2.609,409,5.912,412,4.12,435,1.788,457,5.157,467,1.515,512,4.736,571,3.672,613,4.46,692,5.376,693,2.367,703,3.374,704,3.961,886,2.457,1086,4.416,1087,4.745,1088,4.347,1089,4.621,1090,5.039,1373,4.725,1821,3.674,1826,2.674,1842,3.545,1921,3.45,1939,2.766,2033,3.518,2393,3.555,2715,5.242,2923,3.901,2942,4.303,2956,3.106,3011,5.999,3056,2.505,3750,3.553,3752,3.358,3753,3.674,3755,3.742,3756,3.674,3757,3.901,3771,3.075,3908,3.553,3932,3.358,4588,1.783,4680,3.995,4681,3.611,4823,3.817,5301,3.674,5727,4.325,5817,3.817,6232,4.885,6480,6.804,6665,2.827,6668,5.002,7552,3.239,7553,2.941,7574,3.106,7869,5.816,7870,4.228,7871,5.204,7872,6.953,7873,6.065,7874,4.228,7875,4.776,7876,4.228,7877,9.091,7878,5.217,7879,5.816,7880,5.816,7881,6.951,7882,7.832,7883,4.228,7884,5.579,7885,4.228,7886,3.995,7887,3.995,7888,5.073,7889,4.228,7890,3.995,7891,3.995,7892,4.228,7893,3.901,7894,4.228,7895,3.137,7896,3.239,7897,3.995,7898,4.228,7899,4.228,7900,7.313,7901,4.228,7902,7.536,7903,4.228,7904,4.228,7905,5.956,7906,3.995,7907,6.548,7908,4.103,7909,5.143,7910,3.817,7911,3.995,7912,4.228]],["title/interfaces/CourseProperties.html",[159,0.712,7554,5.658]],["body/interfaces/CourseProperties.html",[0,0.201,2,0.976,3,0.007,4,0.007,5,0.003,7,0.145,26,2.11,30,0.001,31,0.556,32,0.158,33,0.613,34,1.252,39,2.032,47,0.956,62,2.142,83,3.517,95,0.134,96,0.937,101,0.009,103,0,104,0,112,0.456,122,1.205,125,2.356,129,2.168,134,1.271,135,1.693,148,1.279,153,1.753,155,1.146,157,2.289,159,0.367,161,0.855,195,2.382,196,3.066,197,1.003,205,1.184,219,3.205,223,3.378,224,1.04,225,2.227,226,1.632,229,1.416,231,0.619,232,0.971,233,1.113,290,2.845,304,1.778,371,1.908,403,2.967,433,0.441,458,1.432,467,1.691,526,1.936,540,1.191,569,1.806,578,1.882,579,1.659,595,1.361,615,3.539,652,1.711,692,4.611,700,2.812,701,2.812,703,2.835,711,3.333,756,1.432,774,3.02,886,2.318,962,2.534,1237,1.04,1312,2.737,1821,2.752,1829,2.491,1835,1.845,1926,2.186,2033,3.191,2164,1.665,2184,3.33,2942,4.587,2946,5.294,2950,4.07,2958,2.534,2960,2.26,3418,3.789,3469,2.414,3470,2.347,3649,2.046,3752,2.317,3907,3.799,4049,2.534,4094,2.26,4118,3.852,4119,3.852,4174,2.414,4441,2.121,4588,1.23,4589,5.168,4604,3.02,4638,6.778,4664,2.617,4739,6.382,5466,2.064,5727,2.709,6206,2.064,6207,3.467,6208,2.414,6211,3.703,6230,3.852,6231,2.317,6238,2.347,6251,2.451,6270,3.907,7413,2.691,7469,2.581,7505,3.151,7506,7.29,7507,6.752,7508,5.264,7509,6.214,7510,5.685,7511,2.491,7512,7.111,7513,6.302,7514,6.523,7515,7.254,7517,3.151,7519,3.151,7522,3.151,7524,3.151,7526,8.111,7529,3.151,7531,3.151,7540,3.151,7544,3.151,7545,6.778,7546,3.151,7547,3.151,7548,3.151,7549,3.577,7550,4.262,7551,2.916,7552,2.235,7553,2.029,7554,5.947,7555,4.721,7556,3.151,7557,2.916,7558,2.581,7559,3.151,7560,3.151,7561,3.02,7562,2.691,7563,3.151,7564,3.151,7565,2.83,7566,3.151,7567,3.617,7568,10.409,7569,5.264,7570,2.916,7571,3.852,7572,2.142,7573,2.21,7574,2.142,7575,2.916,7576,3.151,7577,3.151,7578,5.1,7579,5.1,7580,5.1,7581,6.835,7582,4.721,7583,4.461,7584,5.1,7585,4.356,7586,4.461,7587,2.691,7588,3.151,7589,3.151,7590,3.151,7591,3.151,7592,3.151,7593,5.1,7594,3.151,7595,3.151,7596,3.151,7597,3.151,7598,3.151,7599,3.151,7600,3.151,7601,6.159,7602,6.425,7603,3.151,7604,3.151,7605,3.151,7606,3.151,7607,3.151,7608,2.633,7609,3.151,7610,3.151,7611,3.151,7612,3.151,7613,3.151,7614,3.151,7615,3.02,7616,3.151,7617,6.425,7618,5.1,7619,3.151,7620,3.151,7621,2.916,7622,2.491,7623,3.151,7624,5.947,7625,3.151,7626,3.151,7627,3.151,7628,3.151]],["title/classes/CourseQueryParams.html",[0,0.241,7634,6.113]],["body/classes/CourseQueryParams.html",[0,0.409,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.12,95,0.142,101,0.016,103,0.001,104,0.001,112,0.928,157,2.237,190,1.732,194,4.647,195,2.599,196,3.924,197,3.305,200,2.957,202,2.219,296,3.094,299,4.63,301,6.235,886,3.744,1456,8.864,5735,6.084,5752,7.065,5753,9.479,5776,5.656,7634,10.379,7913,9.662,7914,9.662,7915,9.662,7916,9.662]],["title/injectables/CourseRepo.html",[589,0.926,1911,4.287]],["body/injectables/CourseRepo.html",[0,0.23,3,0.008,4,0.008,5,0.004,7,0.059,8,0.758,10,2.667,12,3.003,18,3.326,26,2.775,27,0.472,29,0.903,30,0.001,31,0.665,32,0.157,33,0.541,34,1.135,35,1.357,36,2.717,39,3.67,40,3.212,56,3.126,58,4.339,59,3.119,83,1.244,95,0.124,96,1.108,98,2.557,99,0.855,101,0.005,103,0,104,0,122,1.376,129,1.256,130,1.148,135,1.765,148,1.232,153,1.623,172,3.946,195,1.458,197,1.186,205,0.864,206,2.165,224,1.229,231,1.41,277,0.607,317,2.949,436,2.731,478,1.188,532,4.522,540,3.818,589,0.882,591,1.006,595,1.609,657,2.433,728,6.45,734,2.797,735,3.003,736,4.024,759,2.531,760,2.584,761,2.557,762,2.584,764,2.557,765,2.584,766,2.271,788,4.531,1911,4.085,1924,4.463,2027,3.248,2033,4.589,2232,5.27,2479,3.922,2938,6.117,3109,2.995,3998,2.995,4003,3.723,4119,6.129,4739,5.967,4811,6.444,4817,3.446,5136,6.129,5264,7.512,5466,6.117,6288,4.52,6895,6.313,7034,6.652,7508,3.05,7513,4.229,7514,5.771,7515,4.868,7638,4,7807,3.256,7917,3.929,7918,6.637,7919,7.175,7920,6.637,7921,6.147,7922,6.147,7923,4.242,7924,6.845,7925,4.242,7926,4.242,7927,4.242,7928,6.147,7929,4.242,7930,4.242,7931,6.147,7932,4.242,7933,4.242,7934,6.128,7935,10.621,7936,3.929,7937,6.147,7938,7.78,7939,3.929,7940,3.929,7941,3.929,7942,6.147,7943,6.147,7944,3.446,7945,3.929,7946,3.929,7947,3.929,7948,5.825,7949,6.147,7950,6.147,7951,6.147,7952,8.115,7953,4.868,7954,4.868,7955,7.572,7956,3.929,7957,3.723,7958,3.929,7959,3.929,7960,3.929]],["title/injectables/CourseRule.html",[589,0.926,1868,5.221]],["body/injectables/CourseRule.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.11,8,1.188,27,0.453,29,0.888,30,0.001,31,0.653,32,0.153,33,0.531,35,1.193,95,0.138,101,0.01,103,0,104,0,122,2.563,135,1.513,148,1.022,183,4.721,205,2.782,228,1.418,277,1.129,290,3.307,400,2.315,433,0.97,478,2.212,589,1.383,591,1.873,653,3.247,711,3.822,1197,6.318,1237,2.287,1775,6.767,1778,6.55,1793,5.233,1801,8.121,1838,7.452,1868,7.797,1982,6.629,1986,6.403,1993,5.162,2033,5.177,2619,6.629,3711,5.233,3714,6.712,3716,5.233,3717,6.894,4739,6.712,7513,5.032,7514,7.343,7961,7.896,7962,7.896,7963,7.896,7964,7.896,7965,7.896]],["title/classes/CourseScope.html",[0,0.241,7935,6.113]],["body/classes/CourseScope.html",[0,0.243,2,0.481,3,0.008,4,0.008,5,0.004,7,0.064,8,0.802,26,2.749,27,0.481,29,0.837,30,0.001,31,0.616,32,0.15,33,0.501,34,0.78,35,1.309,36,2.316,39,3.658,40,2.207,56,3.307,58,4.589,83,1.337,95,0.127,96,1.191,98,2.749,99,0.919,101,0.006,103,0,104,0,112,0.551,122,2.151,129,1.35,130,1.234,135,1.784,148,1.253,153,1.678,195,1.002,197,1.275,224,1.321,231,1.477,277,0.652,317,2.371,365,2.025,436,3.066,478,1.277,540,3.189,569,1.417,589,0.933,595,1.729,652,2.229,657,2.506,728,4.072,736,2.245,788,4.793,1911,2.807,1924,4.72,2027,3.436,2033,4.33,2232,5.478,2479,6.133,2938,6.301,3109,3.219,3998,3.219,4003,4.002,4119,6.371,4739,6.202,4811,3.595,5136,4.653,5264,4.955,5466,6.301,6288,5.306,6895,6.562,7007,4.653,7008,4.653,7009,4.653,7014,4.653,7015,4.653,7016,3.066,7017,3.023,7018,3.066,7019,3.066,7028,3.023,7029,4.653,7030,3.066,7031,3.023,7032,3.066,7033,3.023,7034,6.879,7508,3.279,7513,4.473,7514,6.041,7515,5.149,7638,4.231,7807,3.5,7917,4.224,7919,4.002,7922,4.224,7924,5.268,7928,4.224,7931,4.224,7934,6.415,7935,11.666,7936,6.502,7937,6.502,7938,8.087,7939,6.502,7940,6.502,7941,8.903,7942,6.502,7943,6.502,7944,3.705,7945,6.502,7946,4.224,7947,4.224,7948,6.161,7949,6.502,7950,6.502,7951,6.502,7952,8.436,7953,5.149,7954,5.149,7955,7.927,7956,4.224,7957,4.002,7958,4.224,7959,4.224,7960,4.224,7966,7.02,7967,7.02,7968,7.02,7969,7.02,7970,4.56,7971,4.56,7972,4.56,7973,4.56,7974,4.56]],["title/injectables/CourseService.html",[589,0.926,2018,4.616]],["body/injectables/CourseService.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,12,4.548,26,2.86,27,0.492,29,0.964,30,0.001,31,0.709,32,0.156,33,0.577,35,1.389,36,2.852,39,3.146,95,0.135,98,4.519,99,1.511,101,0.01,103,0,104,0,135,1.475,148,1.19,228,1.346,277,1.072,279,3.108,317,3.035,400,2.198,433,0.921,478,2.1,589,1.336,591,1.779,657,2.77,711,3.766,1911,7.456,2018,6.661,2027,3.67,2033,3.811,2636,4.919,2938,6.963,4811,7.922,4817,8.165,5466,7.261,7823,6.308,7975,7.498,7976,10.05,7977,10.05,7978,7.498,7979,10.05,7980,7.498,7981,7.498,7982,10.05,7983,7.498,7984,10.05,7985,7.498,7986,7.498,7987,11.337,7988,7.498,7989,7.498,7990,7.498]],["title/injectables/CourseUc.html",[589,0.926,7648,5.86]],["body/injectables/CourseUc.html",[0,0.308,3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,26,2.62,27,0.438,29,0.857,30,0.001,31,0.631,32,0.139,33,0.513,35,1.02,36,2.374,39,2.468,59,2.764,95,0.152,98,5.36,99,1.792,101,0.011,103,0.001,104,0.001,148,0.874,228,1.597,277,1.272,279,3.687,298,3.861,400,2.607,431,3.811,433,1.092,478,2.491,540,4.29,589,1.493,591,2.109,595,3.372,770,5.599,883,9.128,1911,8.383,2033,3.372,2232,5.068,7638,5.36,7648,9.449,7672,7.482,7694,8.236,7991,8.892,7992,11.231,7993,8.892,7994,11.231,7995,8.892,7996,6.826]],["title/injectables/CourseUrlHandler.html",[589,0.926,7997,5.86]],["body/injectables/CourseUrlHandler.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,9,3.23,27,0.496,29,0.94,30,0.001,31,0.692,32,0.164,33,0.563,34,1.635,35,1.347,36,2.02,47,1.001,95,0.137,101,0.009,103,0,104,0,105,10.269,106,7.34,107,7.136,108,8.868,110,4.613,111,5.49,112,0.75,113,3.798,114,8.868,115,7.536,116,7.766,117,7.536,118,7.536,120,5.49,122,1.444,123,5.658,125,2.6,126,5.49,127,5.888,129,2.831,130,2.587,131,5.998,134,2.466,135,1.42,148,0.94,228,1.251,231,1.649,233,2.159,277,0.996,317,2.361,400,2.042,433,0.856,436,3.47,589,1.271,591,1.652,657,1.593,1237,2.017,2017,6.112,2018,8.431,2029,5.22,2033,4.14,2048,5.008,4174,6.428,4177,7.536,4179,5.86,4180,5.86,4181,5.86,4184,7.338,4185,5.658,4186,7.338,4187,5.86,4188,5.658,4190,4.683,7997,8.043,7998,10.915,7999,6.112,8000,6.112,8001,9.56,8002,8.39,8003,8.39,8004,6.112,8005,6.964]],["title/classes/CourseUrlParams.html",[0,0.241,7633,6.113]],["body/classes/CourseUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2027,6.349,2033,4.579,4197,6.09,7633,10.598,8006,9.999,8007,9.999]],["title/classes/CreateCardBodyParams.html",[0,0.241,5639,6.113]],["body/classes/CreateCardBodyParams.html",[0,0.409,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.376,30,0.001,32,0.119,33,0.54,95,0.142,101,0.012,103,0.001,104,0.001,112,0.926,190,1.728,194,3.788,195,2.805,197,3.3,200,2.95,201,4.59,202,2.213,300,4.525,886,3.739,899,4.405,1853,3.162,2531,6.367,4484,10.741,4485,7.108,5639,10.364,6317,6.849,8008,11.809,8009,8.928,8010,7.72,8011,9.639,8012,9.639]],["title/classes/CreateContentElementBodyParams.html",[0,0.241,4046,5.86]],["body/classes/CreateContentElementBodyParams.html",[0,0.379,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,27,0.426,30,0.001,32,0.173,33,0.5,55,2.581,95,0.135,101,0.011,103,0.001,104,0.001,112,0.858,129,3.24,157,2.532,190,1.961,194,5.004,195,2.404,196,4.226,197,3.766,200,2.611,201,4.252,202,1.959,296,2.862,300,4.192,886,3.464,899,3.899,1083,6.182,1853,2.799,2049,5.197,2393,4.627,3076,6.817,3201,5.127,3792,5.921,3797,6.136,4046,9.205,4434,9.269,4485,7.133,6318,8.398,8010,5.579,8013,12.075,8014,7.18,8015,8.533,8016,10.133,8017,9.602,8018,8.533,8019,8.533,8020,8.533]],["title/interfaces/CreateJwtParams.html",[159,0.712,8021,6.113]],["body/interfaces/CreateJwtParams.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,30,0.001,32,0.167,33,0.64,47,1.068,85,8.714,95,0.111,101,0.009,103,0,104,0,112,0.782,135,1.569,148,0.98,159,0.758,161,1.766,403,5.093,467,2.904,711,2.889,1546,5.845,1548,5.558,1573,6.238,1585,4.516,1589,5.692,1593,4.564,1718,7.317,1730,7.477,7187,9.047,8021,9.894,8022,6.868,8023,9.919,8024,10.587,8025,9.919,8026,12.003,8027,10.903,8028,9.239,8029,6.868,8030,6.868,8031,6.868,8032,6.868,8033,8.755,8034,6.868,8035,9.239,8036,9.239,8037,6.868,8038,6.507,8039,6.507,8040,6.868,8041,9.239,8042,6.868,8043,6.868,8044,6.868,8045,6.868,8046,6.868,8047,5.845,8048,8.393,8049,5.845,8050,6.507,8051,6.868,8052,6.868,8053,6.868,8054,6.868]],["title/interfaces/CreateJwtPayload.html",[159,0.712,1699,5.49]],["body/interfaces/CreateJwtPayload.html",[3,0.015,4,0.015,5,0.008,7,0.116,30,0.001,32,0.169,33,0.577,39,3.629,47,1.073,48,5.917,55,2.184,85,8.49,101,0.014,103,0.001,104,0.001,112,0.845,122,2.776,159,1.102,161,1.986,180,3.574,231,1.439,290,1.978,413,5.078,561,3.756,812,5.314,1589,6.401,1593,5.133,1699,9.415,1719,6.116,1730,6.25,1829,4.62,1926,5.078,2530,9.229,3436,6.488,4588,4.325,4953,5.527,5805,5.451,7187,5.996,8023,6.573,8025,6.573,8047,6.573,8049,6.573,8055,7.723,8056,7.723,8057,10.623,8058,7.318,8059,7.723,8060,7.318,8061,7.318]],["title/interfaces/CreateNews.html",[159,0.712,8062,5.658]],["body/interfaces/CreateNews.html",[3,0.015,4,0.015,5,0.007,7,0.112,26,2.382,30,0.001,32,0.174,33,0.537,34,1.38,47,0.975,83,3.447,95,0.139,101,0.017,103,0,104,0,112,0.828,122,1.673,127,4.044,155,3.98,157,1.868,159,1.357,161,1.922,172,4.503,205,1.645,692,4.919,703,2.476,886,2.555,2033,4.459,2393,4.778,2473,5.023,3011,5.913,3965,7.083,5018,5.082,5466,4.639,7211,5.208,7872,6.049,7873,7.687,7875,6.495,7878,8.385,7881,6.36,7882,7.843,8062,8.572,8063,7.475,8064,9.774,8065,7.475,8066,7.475,8067,7.475,8068,5.427,8069,8.454,8070,6.79,8071,6.556,8072,6.556]],["title/classes/CreateNewsParams.html",[0,0.241,8073,5.658]],["body/classes/CreateNewsParams.html",[0,0.339,2,0.762,3,0.013,4,0.013,5,0.006,7,0.1,27,0.486,30,0.001,32,0.154,33,0.447,34,1.674,47,0.983,83,2.871,95,0.133,99,1.454,100,3.415,101,0.009,103,0,104,0,112,0.768,155,3.979,157,3.097,190,2.234,200,2.208,201,3.806,202,1.657,205,2.794,296,3.262,298,3.133,299,4.352,300,3.753,304,3.573,854,6.166,855,3.965,886,2.284,890,6.686,899,3.297,1083,5.534,1749,5.581,1924,6.585,2393,4.777,3011,5.448,3045,6.491,3197,5.242,3198,5.242,3589,3.756,4905,7.694,7180,6.585,7873,7.268,7878,7.476,7881,6.701,7882,8.188,8069,7.994,8073,7.956,8074,12.855,8075,6.332,8076,7.72,8077,7.215,8078,6.683,8079,6.07,8080,5.733,8081,8.239,8082,7.72,8083,6.683,8084,6.683,8085,7.215,8086,7.215,8087,7.183,8088,7.215,8089,5.861,8090,7.215,8091,6.686,8092,6.683,8093,6.683]],["title/classes/CreateSubmissionItemBodyParams.html",[0,0.241,8094,6.113]],["body/classes/CreateSubmissionItemBodyParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.121,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,122,2.775,157,2.269,190,1.757,194,4.688,195,2.622,199,6.581,200,3,202,2.251,296,3.122,3159,6.057,3595,8.444,8094,10.472,8095,9.405,8096,11.931,8097,9.081,8098,8.605,8099,10.472,8100,9.405,8101,9.081]],["title/classes/CurrentUserMapper.html",[0,0.241,8102,5.221]],["body/classes/CurrentUserMapper.html",[0,0.227,2,0.693,3,0.012,4,0.012,5,0.006,7,0.091,8,1.049,27,0.446,29,0.875,30,0.001,31,0.643,32,0.142,33,0.523,34,1.123,35,1.314,39,3.179,47,1.029,48,6.308,59,3.288,85,8.62,95,0.139,101,0.008,103,0,104,0,122,2.193,148,1.126,153,1.062,159,0.671,195,1.443,290,3.193,325,6.476,331,4.076,338,4.042,349,3.331,393,3.251,467,3.996,478,1.839,578,5.545,579,1.875,1699,8.34,1719,8.841,1722,5.524,1723,3.742,1853,2.154,2530,4.635,3436,5.886,4077,3.918,4588,3.924,5474,5.334,7003,4.635,8057,10.786,8102,6.879,8103,12.054,8104,5.524,8105,9.177,8106,9.177,8107,10.58,8108,9.177,8109,9.177,8110,6.566,8111,9.177,8112,6.566,8113,6.566,8114,6.222,8115,9.638,8116,6.566,8117,8.34,8118,9.177,8119,6.566,8120,6.266,8121,5.334,8122,6.566,8123,5.334,8124,6.566,8125,6.566,8126,5.763,8127,6.566,8128,5.04,8129,6.566,8130,6.566,8131,6.566,8132,6.566,8133,6.566,8134,6.566,8135,6.566,8136,6.566,8137,6.566,8138,6.082,8139,6.566,8140,6.566]],["title/interfaces/CustomLtiProperty.html",[159,0.712,8141,6.113]],["body/interfaces/CustomLtiProperty.html",[0,0.194,3,0.01,4,0.01,5,0.005,7,0.078,26,1.659,30,0.001,31,0.544,32,0.12,47,1.017,49,3.083,95,0.119,96,2.137,97,2.257,99,1.127,101,0.015,103,0,104,0,110,1.946,112,0.642,122,2.349,125,1.95,129,3.356,130,2.882,148,0.55,153,0.905,159,0.572,161,1.333,195,3.004,196,4.655,197,3.82,205,1.668,219,4.515,223,4.388,224,1.621,225,3.137,226,2.545,228,1.005,229,2.207,231,0.966,232,1.514,233,1.735,376,6.004,540,1.857,702,2.771,711,2.371,874,4.792,886,3.588,1454,3.445,1582,6.96,1598,3.307,1835,2.875,2125,5.94,2184,2.215,2465,3.307,2942,2.596,3436,2.875,4664,2.52,5343,4.546,7243,3.04,7557,4.546,7570,4.546,8141,8.495,8142,5.183,8143,7.184,8144,7.863,8145,7.582,8146,7.582,8147,5.183,8148,5.183,8149,7.582,8150,5.183,8151,5.183,8152,6.415,8153,7.582,8154,7.582,8155,5.183,8156,4.195,8157,4.411,8158,3.659,8159,4.411,8160,3.659,8161,6.887,8162,3.659,8163,4.411,8164,4.411,8165,4.195,8166,5.183,8167,5.183,8168,4.411,8169,5.183,8170,4.024,8171,4.411,8172,3.611,8173,3.373,8174,4.195,8175,3.408,8176,3.524,8177,4.105,8178,4.546,8179,4.411,8180,4.708,8181,4.708,8182,5.183,8183,4.296,8184,4.546,8185,4.708,8186,5.183,8187,4.296,8188,4.546,8189,4.411,8190,4.546,8191,4.296,8192,4.546,8193,4.708,8194,5.183,8195,4.708,8196,5.183,8197,4.708,8198,5.183,8199,5.183,8200,5.183,8201,5.183,8202,4.708,8203,5.183,8204,4.708,8205,5.183,8206,4.296,8207,4.546,8208,3.95,8209,4.195,8210,4.708,8211,5.183,8212,4.195,8213,4.546]],["title/classes/CustomLtiPropertyDO.html",[0,0.241,8214,5.86]],["body/classes/CustomLtiPropertyDO.html",[0,0.347,2,0.79,3,0.014,4,0.014,5,0.007,7,0.104,26,2.034,27,0.441,29,0.571,30,0.001,31,0.564,32,0.14,33,0.342,47,1.067,95,0.126,99,1.508,101,0.013,103,0,104,0,110,2.602,112,0.787,122,2.617,130,3.592,231,1.291,433,0.919,1598,4.422,1852,5.932,2125,6.811,2184,2.962,3436,3.845,4784,6.568,7243,4.065,8144,8.155,8152,6.653,8157,5.899,8158,4.893,8159,5.899,8160,4.893,8162,4.893,8163,5.899,8164,5.899,8165,5.609,8168,5.899,8170,5.381,8171,5.899,8172,4.829,8173,4.511,8174,5.609,8175,4.558,8177,7.363,8179,5.899,8181,6.297,8183,5.745,8185,6.297,8187,5.745,8189,5.899,8191,5.745,8193,6.297,8195,6.297,8197,6.297,8202,6.297,8204,6.297,8206,5.745,8208,5.283,8210,6.297,8212,5.609,8214,9.529,8215,6.932,8216,9.297,8217,10.038,8218,7.484,8219,6.568,8220,5.745,8221,5.609,8222,7.086,8223,5.899,8224,5.899,8225,6.932,8226,6.932,8227,6.932,8228,6.932,8229,6.932,8230,6.932,8231,6.932,8232,6.568,8233,6.932,8234,6.932,8235,6.932,8236,6.932,8237,6.932,8238,6.932,8239,6.932,8240,6.932,8241,6.932,8242,6.932,8243,6.932,8244,6.932]],["title/classes/CustomParameter.html",[0,0.241,2765,4.554]],["body/classes/CustomParameter.html",[0,0.264,2,0.807,3,0.014,4,0.014,5,0.007,7,0.106,27,0.545,29,0.583,30,0.001,31,0.686,32,0.176,33,0.627,47,1.034,95,0.085,101,0.01,103,0,104,0,112,0.798,122,2.11,129,3.389,157,2.649,232,2.754,300,4.386,433,0.939,435,2.625,886,2.419,2034,8.229,2109,3.347,2184,3.024,2765,8.31,2770,8.079,4664,3.441,4726,4.653,5223,7.293,6160,7.941,6203,7.293,6288,4.652,6686,5.843,6706,4.93,6707,5.301,7571,5.064,7572,4.559,8245,13.034,8246,7.64,8247,8.785,8248,10.177,8249,7.64,8250,7.64,8251,7.64,8252,7.64,8253,7.64,8254,7.64,8255,7.64,8256,7.64,8257,7.64,8258,7.077,8259,7.077,8260,6.207,8261,6.207,8262,5.138,8263,6.207,8264,6.706,8265,6.706,8266,6.706,8267,6.706,8268,6.706,8269,6.706]],["title/classes/CustomParameterEntity.html",[0,0.241,8270,5.658]],["body/classes/CustomParameterEntity.html",[0,0.226,2,0.69,3,0.012,4,0.012,5,0.006,7,0.091,27,0.53,29,0.499,30,0.001,31,0.642,32,0.172,33,0.606,47,1.008,95,0.102,96,1.706,101,0.008,103,0,104,0,112,0.717,122,1.896,129,3.125,157,2.443,190,2.41,195,2.871,196,3.793,211,6.305,223,4.236,224,1.893,232,2.475,300,4.044,433,0.803,435,2.245,886,4.053,2034,7.588,2036,3.217,2109,2.862,2184,2.586,2696,6.237,2712,4.64,2770,7.449,4664,2.943,4726,3.979,5223,6.725,6160,7.322,6203,6.725,6288,4.289,6686,5.387,6706,4.216,6707,4.534,7571,4.331,7572,3.899,8247,8.1,8258,6.052,8259,6.052,8260,5.308,8261,5.308,8262,4.394,8263,5.308,8264,5.734,8265,5.734,8266,5.734,8267,5.734,8268,5.734,8269,5.734,8270,9.775,8271,13.715,8272,13.715,8273,6.534,8274,9.146,8275,6.534,8276,6.534,8277,6.534,8278,6.534,8279,6.534,8280,6.534,8281,6.534,8282,6.534,8283,6.534]],["title/classes/CustomParameterEntry.html",[0,0.241,2791,4.616]],["body/classes/CustomParameterEntry.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.5,29,0.743,30,0.001,31,0.75,32,0.159,33,0.586,47,0.981,101,0.012,103,0.001,104,0.001,112,0.932,130,3.469,232,3.214,417,7.482,433,1.196,435,3.344,2184,3.853,2791,9.073,4664,4.384,8221,7.295,8245,12.365,8284,9.733,8285,11.878,8286,9.733,8287,7.672]],["title/classes/CustomParameterEntryEntity.html",[0,0.241,6786,5.346]],["body/classes/CustomParameterEntryEntity.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.491,29,0.715,30,0.001,31,0.74,32,0.156,33,0.576,47,0.968,95,0.104,96,2.446,101,0.012,103,0.001,104,0.001,112,0.91,130,3.411,190,2.08,223,4.22,224,2.714,232,3.14,417,7.384,433,1.151,435,3.219,2184,3.709,2712,5.887,4664,4.22,6786,10.395,8221,7.023,8287,7.386,8288,13.175,8289,9.369,8290,11.604,8291,9.369]],["title/classes/CustomParameterEntryParam.html",[0,0.241,6839,5.346]],["body/classes/CustomParameterEntryParam.html",[0,0.407,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.459,30,0.001,31,0.716,32,0.146,33,0.538,47,0.976,95,0.131,101,0.012,103,0.001,104,0.001,112,0.924,130,3.447,190,2.11,200,2.936,201,4.576,202,2.203,296,3.081,299,4.987,300,4.512,417,7.14,614,3.949,2721,6.657,6837,7.037,6839,9.038,8292,7.457,8293,11.8,8294,9.593,8295,9.593,8296,9.593]],["title/classes/CustomParameterEntryResponse.html",[0,0.241,6953,5.49]],["body/classes/CustomParameterEntryResponse.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,27,0.488,29,0.704,30,0.001,31,0.736,32,0.155,33,0.572,47,0.963,95,0.103,101,0.012,103,0.001,104,0.001,112,0.901,130,3.386,190,2.059,201,4.465,202,2.117,232,3.109,296,3.428,417,7.341,433,1.133,435,3.167,614,4.061,2184,3.649,4664,4.152,6953,10.624,8221,6.91,8287,7.267,8292,7.668,8293,12.133,8297,9.219,8298,11.488,8299,9.219,8300,9.219]],["title/classes/CustomParameterFactory.html",[0,0.241,8301,5.86]],["body/classes/CustomParameterFactory.html",[0,0.266,2,0.409,3,0.007,4,0.007,5,0.003,7,0.054,8,0.705,27,0.491,29,0.983,30,0.001,31,0.708,32,0.165,33,0.549,34,1.055,35,1.351,47,0.454,55,2.258,59,3.18,95,0.107,101,0.012,103,0,104,0,110,1.346,112,0.484,113,4.064,127,4.403,129,3.301,130,3.016,135,1.617,148,1.182,157,1.782,172,2.634,185,2.114,192,2.135,197,2.456,205,1.569,206,2.014,228,1.108,231,1.516,290,0.918,300,1.483,326,5.056,374,2.68,417,2.169,433,0.475,436,3.672,467,1.797,501,6.751,502,4.884,505,3.431,506,4.884,507,4.95,508,3.431,509,3.431,510,3.431,511,3.378,512,3.931,513,4.28,514,6.398,515,5.253,516,6.694,517,2.169,522,2.151,523,3.431,524,2.169,525,4.605,526,4.737,527,3.734,528,4.458,529,3.404,530,2.151,531,2.029,532,3.752,533,2.057,534,2.029,535,2.151,536,2.169,537,4.214,538,2.151,539,7.512,540,3.698,541,6.196,542,2.169,543,3.004,544,2.151,545,2.169,546,2.151,547,2.169,548,2.151,551,2.151,552,5.599,553,2.169,554,2.151,555,3.431,556,3.132,557,3.431,558,2.169,559,2.087,560,2.057,561,1.743,562,2.151,563,2.151,564,2.151,565,2.169,566,2.169,567,1.443,568,2.151,569,1.203,570,2.169,571,2.443,572,2.151,573,2.169,575,2.225,576,2.287,577,5.243,614,1.2,756,1.543,1220,2.225,1598,3.648,2008,1.928,2034,2.783,2085,2.685,2088,3.3,2125,3.235,2333,4.315,2695,2.839,2698,1.256,2703,2.187,2706,2.642,2765,5.034,2770,2.732,2776,1.916,4696,6.776,4698,2.783,5223,2.466,5376,4.627,5752,2.002,6150,2.971,6160,2.685,6166,4.627,6167,2.971,6288,3.902,6369,3.112,6686,1.976,6740,2.225,6803,3.144,6808,3.051,6809,2.642,8152,2.565,8158,2.53,8160,2.53,8162,2.53,8172,2.497,8173,2.333,8175,2.357,8301,6.478,8302,5.417,8303,6.173,8304,5.417,8305,3.87,8306,2.839,8307,4.627,8308,3.051,8309,2.839,8310,2.685,8311,2.437,8312,3.397,8313,3.397,8314,3.397,8315,6.757,8316,5.193,8317,3.397,8318,3.72,8319,3.144,8320,2.839,8321,2.971,8322,3.397,8323,2.901,8324,3.397,8325,3.397,8326,3.397,8327,3.397,8328,2.642,8329,3.397,8330,3.397,8331,3.397,8332,2.685,8333,3.397,8334,3.397,8335,3.256,8336,3.397,8337,2.783,8338,5.417,8339,6.757,8340,3.051,8341,5.417,8342,5.417,8343,3.397,8344,3.256,8345,3.051,8346,5.193,8347,3.397,8348,3.397,8349,3.397,8350,3.397,8351,3.397,8352,5.417,8353,3.397,8354,3.256,8355,2.565,8356,3.256,8357,3.397,8358,3.397,8359,3.397,8360,3.397]],["title/classes/CustomParameterPostParams.html",[0,0.241,8361,5.658]],["body/classes/CustomParameterPostParams.html",[0,0.337,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,27,0.534,30,0.001,31,0.622,32,0.173,33,0.61,47,1.023,95,0.123,101,0.009,103,0,104,0,112,0.764,122,2.018,157,2.561,190,2.454,199,5.368,200,2.188,201,4.83,202,1.642,296,3.432,299,5.136,300,5.116,856,6.152,899,3.267,2036,3.52,2696,6.283,4915,8.494,5223,7.052,6203,7.052,6288,4.498,6686,5.65,6837,8.713,8247,8.494,8361,7.908,8362,13.817,8363,7.15,8364,7.15,8365,7.15,8366,7.908,8367,7.15,8368,5.489,8369,7.15,8370,9.311,8371,7.15,8372,7.15,8373,7.15,8374,7.15,8375,7.15,8376,9.311,8377,7.15,8378,7.15,8379,9.311,8380,7.15,8381,7.15,8382,7.15,8383,7.15,8384,7.15]],["title/classes/CustomParameterResponse.html",[0,0.241,6747,5.49]],["body/classes/CustomParameterResponse.html",[0,0.233,2,0.712,3,0.013,4,0.013,5,0.006,7,0.094,27,0.533,29,0.515,30,0.001,31,0.651,32,0.173,33,0.611,47,1.013,95,0.104,101,0.009,103,0,104,0,112,0.733,122,1.938,157,2.484,190,2.426,201,5.195,202,1.548,232,2.53,296,3.541,300,4.112,433,0.828,435,2.316,886,3.398,2036,3.319,2109,2.954,2184,2.669,2696,6.271,3200,6.403,4664,3.037,4726,4.106,4915,8.237,5223,6.838,6203,6.838,6288,4.362,6686,5.479,6706,4.351,6707,4.678,6747,9.594,7571,4.469,7572,4.023,8247,8.237,8260,5.477,8261,5.477,8262,4.534,8263,5.477,8264,5.917,8265,5.917,8266,5.917,8267,5.917,8268,5.917,8269,5.917,8370,10.24,8376,10.24,8379,10.24,8385,13.79,8386,6.742,8387,9.348,8388,6.742,8389,6.742,8390,6.742,8391,6.742,8392,6.742,8393,6.742,8394,6.742,8395,6.742,8396,6.742,8397,6.742,8398,6.742]],["title/controllers/DashboardController.html",[314,2.65,8399,6.113]],["body/controllers/DashboardController.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,27,0.42,29,0.824,30,0.001,31,0.606,32,0.133,33,0.493,35,1.237,36,2.67,55,2.56,95,0.141,100,4.516,101,0.009,103,0,104,0,135,1.644,148,1.06,190,1.934,202,1.564,228,1.223,274,2.835,277,0.974,314,2.592,316,3.278,317,2.898,325,6.715,326,4.807,349,6.949,365,3.025,379,5.473,388,4.624,389,4.453,392,3.546,395,3.646,398,3.672,400,1.997,657,2.467,1170,7.328,3220,6.155,3240,3.5,4077,5.617,4537,9.077,7631,8.72,7637,6.309,8399,8.262,8400,6.811,8401,7.417,8402,10.788,8403,6.811,8404,6.811,8405,11.365,8406,9.792,8407,9.414,8408,6.811,8409,6.811,8410,7.826,8411,10.214,8412,9.414,8413,6.811,8414,5.978,8415,6.811,8416,9.077,8417,6.811,8418,5.228,8419,6.811,8420,6.811,8421,6.811,8422,6.811,8423,10.788,8424,8.262,8425,6.811,8426,6.811,8427,6.811,8428,6.811,8429,6.811,8430,6.811,8431,6.811,8432,6.309]],["title/injectables/DashboardElementRepo.html",[589,0.926,8433,5.86]],["body/injectables/DashboardElementRepo.html",[0,0.306,3,0.016,4,0.016,5,0.008,7,0.123,8,1.28,26,2.616,27,0.479,29,0.855,30,0.001,31,0.629,32,0.139,33,0.512,34,1.514,35,1.015,36,2.728,49,3.334,95,0.148,96,2.311,99,1.784,101,0.011,103,0.001,104,0.001,135,1.152,148,1.101,153,1.432,224,2.564,228,1.59,277,1.266,317,2.658,400,2.596,433,1.088,478,2.48,574,4.962,589,1.489,591,2.1,655,7.192,735,5.068,736,6.048,766,4.739,2446,7.012,3644,5.642,3649,6.383,8401,5.642,8433,9.423,8434,8.853,8435,11.199,8436,8.853,8437,11.199,8438,8.853,8439,8.853,8440,8.597,8441,8.853]],["title/classes/DashboardEntity.html",[0,0.241,8442,5.109]],["body/classes/DashboardEntity.html",[0,0.174,2,0.318,3,0.006,4,0.006,5,0.003,7,0.117,8,0.575,26,2.393,27,0.498,29,0.869,30,0.001,31,0.64,32,0.158,33,0.52,34,1.795,35,1.394,39,2.099,47,0.893,55,2.544,83,0.883,95,0.072,99,0.607,101,0.013,103,0,104,0,112,0.394,122,1.568,125,1.801,130,1.361,135,1.723,141,3.241,145,2.838,146,2.056,148,1.302,153,1.635,155,3.078,159,0.308,232,0.815,242,2.654,243,1.896,277,0.431,433,0.37,435,2.224,458,3.353,459,2.601,467,2.201,569,3.671,579,1.849,595,1.142,652,2.75,756,2.582,896,1.674,1065,4.14,1170,4.761,1237,0.872,1660,5.668,1675,3.031,1842,2.959,2049,4.542,2435,3.433,2796,3.466,2911,6.671,2953,1.747,2954,1.6,2995,2.089,3056,3.639,3076,5.801,3563,4.853,3756,2.126,3907,8.775,3932,3.245,4024,7.075,4094,3.166,4537,4.231,7403,2.534,7507,2.056,7550,3.688,7622,3.489,7853,6.306,8410,5.085,8442,3.688,8443,2.643,8444,5.029,8445,6.637,8446,5.029,8447,5.029,8448,6.637,8449,6.362,8450,7.646,8451,5.029,8452,5.961,8453,5.029,8454,5.029,8455,5.029,8456,5.029,8457,5.029,8458,5.029,8459,6.637,8460,3.011,8461,3.011,8462,3.011,8463,3.011,8464,3.011,8465,4.413,8466,3.011,8467,2.257,8468,3.011,8469,4.413,8470,3.011,8471,4.658,8472,4.413,8473,9.769,8474,3.011,8475,9.938,8476,3.011,8477,3.011,8478,6.976,8479,3.011,8480,4.413,8481,9.769,8482,3.011,8483,3.011,8484,4.413,8485,3.011,8486,4.413,8487,3.011,8488,4.413,8489,3.011,8490,4.413,8491,3.011,8492,4.413,8493,3.011,8494,4.413,8495,3.011,8496,3.011,8497,4.413,8498,3.011,8499,4.413,8500,2.257,8501,4.413,8502,2.643,8503,4.413,8504,4.413,8505,4.413,8506,2.643,8507,4.413,8508,2.643,8509,4.413,8510,2.643,8511,3.769,8512,8.975,8513,2.643,8514,4.413,8515,2.643,8516,4.413,8517,2.643,8518,4.413,8519,2.643,8520,2.643,8521,2.643,8522,2.643,8523,2.643,8524,4.413,8525,2.643,8526,4.413,8527,2.534,8528,4.413,8529,2.643,8530,4.413,8531,2.643,8532,2.643,8533,2.643,8534,2.643,8535,2.446,8536,2.643,8537,4.413,8538,2.643,8539,2.311,8540,2.643,8541,2.643,8542,2.643,8543,2.643,8544,2.643,8545,2.643,8546,2.643,8547,2.643,8548,2.643,8549,4.413,8550,4.413,8551,2.534,8552,5.682,8553,2.643,8554,4.413,8555,2.643,8556,2.643,8557,2.643,8558,2.643,8559,2.643,8560,2.643,8561,2.643,8562,2.643,8563,2.643,8564,2.643,8565,2.643,8566,2.643,8567,2.643,8568,2.643,8569,2.643,8570,2.643,8571,2.643,8572,2.643,8573,2.643,8574,2.643,8575,2.643,8576,2.643,8577,2.643,8578,4.413,8579,2.643,8580,2.643,8581,2.643,8582,4.413,8583,4.413,8584,2.643,8585,2.643,8586,2.643,8587,2.643,8588,2.643,8589,2.643,8590,2.643,8591,5.682,8592,2.643,8593,2.643]],["title/entities/DashboardGridElementModel.html",[205,1.419,8440,5.346]],["body/entities/DashboardGridElementModel.html",[0,0.32,3,0.012,4,0.012,5,0.006,7,0.169,27,0.472,30,0.001,32,0.142,33,0.423,34,2.07,39,2.568,47,0.89,49,2.502,55,2.54,95,0.135,96,2.415,97,2.679,101,0.015,103,0,104,0,112,0.726,125,2.204,129,1.967,130,1.797,153,1.722,155,4.001,159,0.946,190,2.17,195,2.66,196,2.204,205,2.169,206,2.167,211,3.663,223,3.906,224,1.924,225,4.079,229,3.648,231,1.596,232,1.797,233,2.868,290,2.731,433,0.816,458,3.689,459,3.435,1821,4.381,2033,3.508,2544,8.445,2911,7.451,2942,4.938,2943,8.172,2946,5.698,2948,7.516,2950,3.692,2952,4.872,2956,3.963,3056,3.197,4655,3.722,5727,3.096,6206,3.818,7553,3.753,7888,4.342,8401,8.195,8440,8.172,8594,5.588,8595,10.183,8596,10.183,8597,6.642,8598,6.642,8599,6.642,8600,6.642,8601,6.642,8602,6.642,8603,6.642,8604,7.516,8605,6.934,8606,5.588,8607,7.784,8608,5.588,8609,5.588,8610,5.588,8611,5.588,8612,5.588,8613,5.396,8614,5.588,8615,5.588,8616,7.516,8617,6.786,8618,5.588,8619,4.609,8620,5.588,8621,5.588,8622,5.588,8623,5.588,8624,5.588]],["title/interfaces/DashboardGridElementModelProperties.html",[159,0.712,8604,5.658]],["body/interfaces/DashboardGridElementModelProperties.html",[0,0.325,3,0.013,4,0.013,5,0.006,7,0.17,30,0.001,32,0.156,33,0.531,34,2.256,39,2.61,47,0.969,49,2.561,55,2.673,95,0.136,96,2.455,97,2.743,101,0.015,103,0,104,0,112,0.738,125,1.62,153,1.521,155,4.131,159,0.962,161,1.62,195,2.369,196,2.256,205,2.197,223,3.624,224,1.969,225,4.131,229,3.708,231,1.622,232,1.84,233,2.915,290,2.759,433,0.835,458,3.75,459,3.517,1821,4.453,2033,4.41,2544,7.906,2911,7.772,2942,4.361,2943,7.218,2946,5.033,2948,5.524,2950,3.78,2952,4.987,2956,4.057,3056,3.272,4655,3.811,5727,3.17,6206,3.909,7553,3.842,7888,4.445,8401,8.407,8440,7.218,8594,5.721,8595,10.515,8596,10.515,8604,8.757,8605,8.717,8606,5.721,8607,7.911,8608,5.721,8609,5.721,8610,5.721,8611,5.721,8612,5.721,8613,5.524,8614,5.721,8615,5.721,8616,7.639,8617,6.897,8618,5.721,8619,4.718,8620,5.721,8621,5.721,8622,5.721,8623,5.721,8624,5.721]],["title/classes/DashboardGridElementResponse.html",[0,0.241,8625,5.658]],["body/classes/DashboardGridElementResponse.html",[0,0.323,2,0.557,3,0.01,4,0.01,5,0.005,7,0.073,27,0.499,29,0.403,30,0.001,31,0.296,32,0.163,33,0.594,34,2.345,47,0.994,55,2.097,83,2.297,95,0.087,101,0.012,103,0,104,0,112,0.615,125,1.866,155,4.285,157,3.155,190,2.257,202,1.211,205,1.074,223,2.441,296,3.566,298,2.29,304,5.738,374,4.059,433,1.271,458,3.728,567,2.921,821,2.692,866,2.626,868,5.775,876,4.079,896,2.931,1065,5.094,1170,4.933,1568,5.436,2049,5.627,3054,5.819,3056,3.771,3076,5.539,3197,6.202,3198,6.202,4094,7.761,7506,6.286,7507,7.55,7585,3.952,7622,8.553,7851,6.365,7852,6.176,7853,9.456,7854,7.369,7857,6.176,7858,5.122,7859,5.53,7860,6.365,7884,3.791,8401,4.993,8410,5.268,8418,6.014,8511,8.289,8617,6.857,8625,9.748,8626,4.628,8627,9.705,8628,9.304,8629,9.304,8630,5.273,8631,5.273,8632,5.273,8633,8.984,8634,6.876,8635,5.273,8636,5.273,8637,5.273,8638,5.273,8639,4.628,8640,5.273,8641,5.273,8642,5.273,8643,4.628,8644,4.628,8645,4.628,8646,4.628,8647,4.628]],["title/classes/DashboardGridSubElementResponse.html",[0,0.241,8633,5.658]],["body/classes/DashboardGridSubElementResponse.html",[0,0.347,2,0.628,3,0.011,4,0.011,5,0.005,7,0.083,27,0.453,29,0.454,30,0.001,31,0.334,32,0.154,33,0.272,34,2.374,47,1.007,55,1.735,83,1.745,95,0.095,101,0.013,103,0,104,0,112,0.672,125,1.418,155,4.376,157,3.195,190,1.965,202,1.367,205,1.213,223,1.855,296,3.633,298,2.585,304,5.751,374,3.717,433,1.347,458,3.998,567,2.219,821,3.039,868,4.825,876,3.099,896,3.309,1065,4.214,1170,3.748,1568,4.13,2049,5.632,3054,6.24,3056,4.12,3076,4.582,3197,6.217,3198,6.217,4094,8.029,7506,6.741,7507,6.845,7585,4.462,7622,8.848,7851,6.955,7852,6.749,7853,9.513,7854,7.903,7857,4.692,7858,3.892,7859,4.202,7860,4.836,7884,4.28,8401,5.456,8410,4.003,8418,6.572,8511,7.515,8617,7.354,8625,8.906,8626,5.224,8627,8.799,8628,8.435,8629,8.435,8633,10.123,8634,5.224,8639,5.224,8643,5.224,8644,5.224,8645,5.224,8646,5.224,8647,5.224,8648,5.953,8649,5.953,8650,5.953,8651,5.953,8652,5.953]],["title/classes/DashboardMapper.html",[0,0.241,8414,6.113]],["body/classes/DashboardMapper.html",[0,0.264,2,0.805,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.446,29,0.873,30,0.001,31,0.642,32,0.141,33,0.522,34,1.304,35,1.311,95,0.127,99,1.536,100,4.253,101,0.01,103,0,104,0,125,1.816,131,3.893,135,1.587,148,1.124,153,1.849,155,2.434,339,2.236,467,3.992,478,2.136,652,2.657,830,5.651,837,3.776,3076,4.082,4094,4.802,7446,6.416,7507,5.207,7550,8.945,7622,5.291,8401,6.478,8414,8.921,8418,9.361,8442,8.945,8449,6.416,8478,9.361,8617,5.593,8625,9.907,8628,6.416,8629,6.416,8633,9.289,8653,7.626,8654,10.165,8655,10.165,8656,10.165,8657,7.626,8658,10.165,8659,7.626,8660,10.165,8661,7.626,8662,7.626,8663,7.626,8664,7.626,8665,7.626,8666,7.626,8667,7.626,8668,7.626,8669,7.626,8670,7.626,8671,7.626,8672,7.626,8673,7.626,8674,10.165,8675,7.626,8676,10.165,8677,7.626,8678,7.626,8679,7.626,8680,7.626,8681,7.626]],["title/entities/DashboardModelEntity.html",[205,1.419,8605,5.221]],["body/entities/DashboardModelEntity.html",[0,0.332,3,0.013,4,0.013,5,0.006,7,0.172,27,0.373,30,0.001,32,0.119,34,2.108,39,3.035,47,0.865,49,2.632,55,2.384,95,0.137,96,2.502,97,2.819,101,0.015,103,0,104,0,112,0.752,125,1.665,129,2.07,130,1.891,153,1.768,155,3.755,159,0.98,190,1.718,195,2.586,196,2.319,205,2.228,206,2.28,223,3.667,224,2.024,225,4.191,229,3.779,231,1.653,232,1.891,233,2.971,290,3.02,433,0.859,458,3.821,459,3.614,1821,5.178,2033,3.634,2544,8.63,2911,6.732,2942,5.072,2943,8.394,2946,5.853,2948,5.678,2950,3.885,2952,5.126,2956,4.17,3056,3.364,4655,3.917,5727,3.258,6206,4.018,7553,3.949,7888,4.569,8401,8.114,8440,7.356,8594,5.88,8595,9.559,8596,9.559,8604,7.785,8605,8.197,8606,5.88,8607,8.062,8608,5.88,8609,5.88,8610,5.88,8611,5.88,8612,5.88,8613,5.678,8614,5.88,8615,5.88,8616,7.785,8617,8.63,8618,5.88,8619,4.849,8620,5.88,8621,5.88,8622,5.88,8623,8.062,8624,5.88,8682,6.989,8683,6.473,8684,6.989]],["title/injectables/DashboardModelMapper.html",[589,0.926,8685,5.49]],["body/injectables/DashboardModelMapper.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.06,8,0.768,27,0.483,29,0.945,30,0.001,31,0.696,32,0.156,33,0.566,34,1.149,35,1.394,36,2.823,39,1.196,47,0.317,95,0.113,96,1.125,99,0.868,101,0.006,103,0,104,0,125,1.027,131,2.201,135,1.769,141,2.88,148,1.253,153,1.508,205,1.369,224,1.249,228,0.774,277,0.616,290,1.959,317,3.013,433,0.53,478,1.208,579,1.231,589,0.893,591,1.023,595,1.635,652,2.559,657,2.95,980,2.377,1170,2.714,1312,2.03,1660,3.231,1842,3.071,2033,4.509,2446,5.066,2465,2.547,2484,2.991,2911,6.224,2952,3.162,3102,6.974,3644,2.747,3649,3.83,3907,6.611,7551,3.502,7621,3.502,7853,4.663,8401,8.017,8410,2.899,8440,8.882,8442,8.205,8478,9.788,8512,7.971,8527,3.627,8595,3.502,8596,3.502,8605,9.671,8613,3.502,8617,3.162,8685,5.297,8686,4.31,8687,8.259,8688,8.259,8689,6.72,8690,6.72,8691,6.72,8692,6.72,8693,8.259,8694,6.72,8695,6.72,8696,8.259,8697,4.31,8698,4.31,8699,4.31,8700,12.751,8701,4.31,8702,4.31,8703,6.72,8704,4.31,8705,6.72,8706,4.31,8707,9.401,8708,6.72,8709,4.31,8710,6.72,8711,4.31,8712,4.31,8713,4.31,8714,6.72,8715,4.31,8716,6.72,8717,4.31,8718,4.31,8719,4.31,8720,10.111,8721,6.72,8722,4.31,8723,4.31,8724,4.31,8725,4.31,8726,4.31,8727,4.31,8728,4.31,8729,4.31,8730,4.31,8731,4.31,8732,4.31,8733,4.31,8734,4.31,8735,4.31,8736,4.31,8737,4.31,8738,3.993,8739,4.31,8740,6.72,8741,4.31,8742,6.72,8743,4.31,8744,4.31,8745,4.31,8746,6.72,8747,4.31,8748,6.72,8749,4.31,8750,6.72,8751,4.31,8752,4.31,8753,4.31,8754,6.72,8755,6.72,8756,4.31,8757,4.31,8758,4.31,8759,3.783,8760,4.31,8761,4.31,8762,4.31,8763,4.31,8764,4.31,8765,4.31,8766,3.783,8767,6.72,8768,4.31,8769,4.31]],["title/interfaces/DashboardModelProperties.html",[159,0.712,8616,5.658]],["body/interfaces/DashboardModelProperties.html",[0,0.334,3,0.013,4,0.013,5,0.006,7,0.172,30,0.001,32,0.136,33,0.441,34,2.277,39,2.682,47,0.939,49,2.665,55,2.396,95,0.138,96,2.523,97,2.854,101,0.015,103,0,104,0,112,0.758,125,1.685,153,1.563,155,3.775,159,0.988,161,1.685,195,2.418,196,2.347,205,2.243,223,3.685,224,2.049,225,4.217,229,3.811,231,1.667,232,1.914,233,2.996,290,3.204,433,0.869,458,3.854,459,3.659,1821,4.576,2033,3.665,2544,8.072,2911,6.775,2942,4.482,2943,7.418,2946,5.172,2948,5.748,2950,3.933,2952,5.189,2956,4.222,3056,3.405,4655,3.965,5727,3.298,6206,4.067,7553,3.998,7888,4.625,8401,7.89,8440,9.078,8594,5.953,8595,9.608,8596,9.608,8604,7.85,8605,7.243,8606,5.953,8607,8.13,8608,5.953,8609,5.953,8610,5.953,8611,5.953,8612,5.953,8613,5.748,8614,5.953,8615,5.953,8616,8.941,8617,9.081,8618,5.953,8619,4.909,8620,5.953,8621,5.953,8622,5.953,8623,5.953,8624,5.953]],["title/injectables/DashboardRepo.html",[589,0.926,8770,5.346]],["body/injectables/DashboardRepo.html",[0,0.303,3,0.011,4,0.011,5,0.006,7,0.086,8,1.002,9,2.854,26,2.793,27,0.477,29,0.934,30,0.001,31,0.687,32,0.151,33,0.559,34,1.499,35,1.349,36,2.963,39,3.394,49,2.318,95,0.131,96,1.606,97,2.482,99,1.24,101,0.011,103,0,104,0,113,2.445,135,1.728,148,1.237,153,0.995,159,0.629,205,1.787,228,1.574,277,0.88,290,2.08,317,3.001,433,0.756,478,1.724,561,2.771,589,1.165,591,1.46,657,2.878,675,5.214,728,3.569,1237,1.782,1829,2.637,2446,6.045,2484,4.27,3644,3.921,3649,4.996,5343,7.122,7853,4.27,8401,7.793,8442,9.436,8478,6.729,8605,4.612,8685,8.774,8707,7.694,8766,5.401,8770,6.729,8771,5.7,8772,7.694,8773,8.12,8774,7.694,8775,8.12,8776,6.153,8777,8.963,8778,6.153,8779,9.459,8780,6.153,8781,8.963,8782,6.153,8783,8.12,8784,6.153,8785,9.459,8786,6.153,8787,5.7,8788,5.7,8789,8.12,8790,5.7,8791,5.401,8792,7.122,8793,4.612,8794,8.12,8795,5.7,8796,8.12,8797,5.7,8798,9.459,8799,5.7,8800,8.12,8801,5.7,8802,5.7,8803,5.7]],["title/classes/DashboardResponse.html",[0,0.241,8418,5.346]],["body/classes/DashboardResponse.html",[0,0.354,2,0.652,3,0.011,4,0.011,5,0.006,7,0.086,27,0.399,29,0.471,30,0.001,31,0.347,32,0.146,33,0.282,34,2.386,47,0.988,55,1.78,83,1.81,95,0.098,101,0.013,103,0,104,0,112,0.689,125,2.093,155,4.241,157,3.231,190,1.575,202,1.417,205,1.79,223,1.923,296,3.652,298,2.68,304,5.832,374,4.442,433,1.369,458,4.08,567,2.301,821,3.151,866,3.075,868,2.971,876,3.213,896,4.884,1065,4.325,1170,3.887,1568,4.283,2049,5.486,3054,6.367,3056,4.228,3076,4.703,3197,6.304,3198,6.304,4094,7.708,7506,5.908,7507,6.984,7585,4.626,7622,8.494,7851,7.138,7852,6.926,7853,9.219,7854,6.926,7857,4.866,7858,4.035,7859,4.357,7860,5.014,7884,6.317,8401,7.103,8410,4.151,8418,9.041,8511,7.668,8617,8.639,8625,9.569,8626,5.417,8627,8.978,8628,8.607,8629,8.607,8633,9.055,8634,5.417,8643,5.417,8644,5.417,8645,5.417,8646,5.417,8647,5.417,8804,6.172,8805,6.172,8806,6.172]],["title/injectables/DashboardService.html",[589,0.926,8807,6.113]],["body/injectables/DashboardService.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,26,2.631,27,0.441,29,0.863,30,0.001,31,0.635,32,0.14,33,0.517,35,1.031,36,2.39,39,2.496,95,0.138,99,1.812,101,0.012,103,0.001,104,0.001,135,1.472,141,4.847,148,0.884,228,2.031,277,1.286,279,3.728,317,2.677,433,1.389,589,1.503,591,2.133,652,2.3,657,2.829,688,4.192,8433,11.663,8770,8.682,8772,9.926,8777,9.926,8792,10.548,8807,9.926,8808,8.992,8809,8.329,8810,8.992,8811,8.992,8812,8.329,8813,8.992,8814,8.329,8815,8.992,8816,8.992]],["title/injectables/DashboardUc.html",[589,0.926,8416,5.86]],["body/injectables/DashboardUc.html",[0,0.219,3,0.012,4,0.012,5,0.006,7,0.088,8,1.022,26,2.875,27,0.463,29,0.908,30,0.001,31,0.693,32,0.147,33,0.543,35,1.292,36,2.608,39,3.843,47,0.762,95,0.141,99,1.275,101,0.008,103,0,104,0,135,1.547,148,1.019,153,1.023,195,1.391,228,1.606,277,0.905,279,2.623,317,2.85,326,3.946,347,3.251,433,1.099,478,1.773,561,2.85,569,1.967,579,1.807,589,1.189,591,1.501,595,2.4,652,2.418,657,2.901,688,2.95,770,3.985,790,4.255,1911,7.809,2232,3.606,2954,4.752,2997,5.324,3076,5.551,5466,3.638,7948,5.554,8401,8.257,8416,7.524,8424,9.892,8442,8.267,8473,9.483,8481,10.674,8512,4.988,8551,5.324,8770,6.864,8774,7.848,8781,7.848,8792,9.156,8809,5.861,8812,5.861,8814,5.861,8817,6.328,8818,10.37,8819,10.37,8820,8.942,8821,6.328,8822,6.328,8823,6.328,8824,6.328,8825,6.328,8826,6.328,8827,8.942,8828,6.328,8829,6.328,8830,5.861,8831,4.857,8832,6.328,8833,6.328,8834,10.37,8835,8.942,8836,8.942,8837,6.328,8838,6.328,8839,6.328,8840,6.328]],["title/classes/DashboardUrlParams.html",[0,0.241,8405,6.113]],["body/classes/DashboardUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,4197,6.09,8401,7.695,8405,10.598,8424,11.385,8841,9.999,8842,9.999]],["title/classes/DatabaseManagementConsole.html",[0,0.241,8843,5.86]],["body/classes/DatabaseManagementConsole.html",[0,0.203,2,0.619,3,0.011,4,0.011,5,0.005,7,0.082,8,0.968,27,0.424,29,0.759,30,0.001,31,0.559,32,0.123,33,0.497,35,1.14,36,2.543,47,0.431,95,0.111,101,0.015,103,0,104,0,122,1.756,125,2.866,135,1.653,148,0.977,157,3.08,159,0.6,190,1.782,194,4.278,195,1.289,197,3.043,270,3.257,317,2.799,339,2.484,400,1.72,433,0.721,540,4.569,560,4.502,652,1.193,657,2.49,1212,5.466,1476,5.993,1821,4.708,1928,7.111,3102,3.535,3595,3.611,3612,5.398,3800,5.148,3802,4.624,3803,7.119,3806,6.502,3808,7.632,3812,8.541,3813,6.703,3814,3.434,3816,4.624,3817,5.615,4703,6.563,4910,7.987,4939,8.152,5220,9.78,5222,4.07,5234,2.808,5238,7.434,5249,10.201,5300,9.161,5347,8.656,5349,8.846,6380,4.765,6382,5.148,8843,7.127,8844,10.696,8845,7.846,8846,8.471,8847,5.866,8848,7.846,8849,5.866,8850,7.846,8851,5.866,8852,9.103,8853,6.502,8854,5.866,8855,5.148,8856,4.935,8857,7.846,8858,7.846,8859,5.148,8860,7.846,8861,7.846,8862,5.433,8863,5.433,8864,5.433,8865,9.161,8866,7.846,8867,9.209,8868,5.433,8869,5.433,8870,5.148]],["title/controllers/DatabaseManagementController.html",[314,2.65,8871,6.113]],["body/controllers/DatabaseManagementController.html",[0,0.261,3,0.014,4,0.014,5,0.007,7,0.105,8,1.153,27,0.493,29,0.868,30,0.001,31,0.639,32,0.141,33,0.519,35,1.451,36,2.856,47,0.957,95,0.112,101,0.01,103,0,104,0,122,2.357,135,0.981,148,1.244,190,2.268,274,3.139,277,1.078,314,2.869,316,3.629,317,3.038,365,3.349,388,3.232,400,2.211,657,2.307,3242,4.127,3816,5.944,5199,10.214,5220,8.962,5347,8.522,5349,9.862,7640,6.687,8845,11.244,8856,6.344,8870,8.854,8871,8.854,8872,13.022,8873,7.54,8874,7.54,8875,10.088,8876,9.344,8877,10.088,8878,7.54,8879,10.088,8880,7.54,8881,10.088,8882,7.54,8883,6.984,8884,10.088,8885,7.54,8886,7.54,8887,10.088,8888,7.54,8889,11.369,8890,10.088,8891,7.54,8892,7.54,8893,7.54,8894,7.54,8895,7.54,8896,7.54,8897,7.54,8898,7.54,8899,7.54]],["title/modules/DatabaseManagementModule.html",[252,1.839,8900,6.113]],["body/modules/DatabaseManagementModule.html",[0,0.34,3,0.018,4,0.018,5,0.009,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.399,254,3.535,255,3.753,256,3.848,257,3.834,258,3.82,259,4.676,260,4.785,269,4.678,270,3.779,271,3.702,277,1.405,1928,5.808,5201,11.836,8900,12.399,8901,9.828,8902,9.828,8903,9.828,8904,9.103,8905,8.626,8906,8.269]],["title/injectables/DatabaseManagementService.html",[589,0.926,5201,5.658]],["body/injectables/DatabaseManagementService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.075,8,0.913,27,0.51,29,0.948,30,0.001,31,0.712,32,0.154,33,0.568,35,1.454,36,2.892,47,1.034,95,0.125,96,2.086,97,2.184,101,0.007,103,0,104,0,135,1.702,141,3.425,145,3.564,148,1.246,158,3.505,195,2.087,224,1.568,228,0.972,277,0.774,317,3.065,400,1.588,433,0.665,478,1.517,589,1.062,591,1.285,624,8.381,652,1.625,657,2.767,735,3.616,804,4.059,1821,5.882,2446,5.694,2482,5.456,3644,3.451,3649,4.554,4213,6.491,4224,8.334,5199,10.182,5201,6.491,5249,6.299,5283,7.401,5349,8.517,5828,5.015,7909,6.294,8853,8.047,8876,7.401,8883,7.401,8904,12.26,8907,4.399,8908,7.99,8909,7.99,8910,7.99,8911,7.99,8912,10.483,8913,7.99,8914,5.415,8915,7.99,8916,5.415,8917,7.99,8918,4.752,8919,7.99,8920,5.015,8921,7.99,8922,5.415,8923,7.99,8924,5.415,8925,5.015,8926,7.99,8927,5.415,8928,5.415,8929,5.415,8930,5.415,8931,5.415,8932,5.415,8933,5.415,8934,5.415,8935,9.496,8936,7.99,8937,5.415,8938,5.415,8939,5.415,8940,5.415,8941,5.296,8942,5.415,8943,5.415,8944,5.415,8945,7.99,8946,5.415,8947,5.415,8948,5.415,8949,5.415,8950,5.415,8951,5.415,8952,5.415]],["title/classes/DeleteFilesConsole.html",[0,0.241,8953,6.113]],["body/classes/DeleteFilesConsole.html",[0,0.274,2,0.835,3,0.015,4,0.015,5,0.009,7,0.11,8,1.19,27,0.406,29,0.795,30,0.001,31,0.585,32,0.129,33,0.476,35,0.907,36,2.201,55,2.605,83,2.32,95,0.13,101,0.01,103,0,104,0,129,2.343,130,2.141,135,1.029,153,1.279,157,2.695,190,1.418,317,2.519,400,2.32,433,0.972,652,1.609,657,1.809,870,4.33,876,4.119,1027,2.421,1743,7.489,1939,5.535,2447,4.867,2448,5.798,2830,7.177,2873,6.656,2910,9.178,3036,3.707,3808,6.073,3812,8.32,3813,7.617,3814,4.631,5234,5.922,7562,9.637,8953,9.141,8954,11.643,8955,7.911,8956,9.647,8957,7.911,8958,11.106,8959,7.911,8960,10.415,8961,11.585,8962,11.585,8963,10.219,8964,10.785,8965,7.911,8966,11.643,8967,7.911,8968,6.943,8969,7.328,8970,6.943,8971,7.911,8972,7.911,8973,7.911,8974,7.911,8975,5.244]],["title/injectables/DeleteFilesUc.html",[589,0.926,8958,5.86]],["body/injectables/DeleteFilesUc.html",[0,0.176,3,0.009,4,0.009,5,0.008,7,0.071,8,0.871,27,0.462,29,0.831,30,0.001,31,0.612,32,0.141,33,0.498,35,1.249,36,2.148,47,0.672,55,1.854,58,4.986,83,2.683,95,0.132,101,0.007,103,0,104,0,112,0.598,129,1.506,130,1.376,135,1.7,145,4.292,148,0.899,153,1.644,195,2.011,197,1.421,205,1.036,228,1.643,259,1.847,271,1.916,277,0.727,317,2.826,335,5.128,385,3.472,433,0.937,478,1.425,589,1.014,591,1.206,629,2.684,644,3.097,652,2.79,657,2.711,711,2.65,756,3.041,1019,8.697,1027,1.556,1076,4.86,1080,1.763,1328,2.703,2125,2.666,2233,3.097,2447,3.824,2448,4.763,2488,3.73,2492,4.009,2636,2.489,2796,5.441,2831,3.663,2873,4.279,5209,8.163,5234,4.866,5419,4.711,5420,4.711,7308,3.472,7309,6.247,7310,3.472,7311,3.472,7374,6.693,8956,7.064,8958,6.416,8961,8.921,8968,6.693,8970,4.464,8975,3.371,8976,12.195,8977,5.086,8978,10.165,8979,6.693,8980,7.064,8981,7.626,8982,10.165,8983,5.086,8984,9.289,8985,9.976,8986,7.626,8987,7.626,8988,5.086,8989,6.416,8990,9.163,8991,7.626,8992,5.086,8993,7.626,8994,5.086,8995,7.626,8996,5.086,8997,5.086,8998,7.626,8999,4.279,9000,4.464,9001,4.132,9002,4.711,9003,5.086,9004,5.086,9005,9.15,9006,10.165,9007,10.165,9008,5.086,9009,9.15,9010,5.086,9011,5.086,9012,5.086,9013,9.15,9014,5.086,9015,5.086,9016,5.086,9017,6.693,9018,5.086,9019,5.086,9020,3.812,9021,5.086,9022,5.086,9023,5.086,9024,5.086,9025,5.086,9026,5.086,9027,5.086,9028,4.132,9029,5.086,9030,4.711,9031,5.086,9032,4.711,9033,3.812,9034,5.086,9035,5.086,9036,5.086,9037,7.626,9038,5.086,9039,5.086,9040,6.693,9041,5.086,9042,5.086,9043,5.086,9044,5.086,9045,5.086]],["title/modules/DeletionApiModule.html",[252,1.839,1010,5.49]],["body/modules/DeletionApiModule.html",[0,0.217,3,0.012,4,0.012,5,0.006,30,0.001,47,0.87,95,0.158,101,0.008,103,0,104,0,252,2.721,254,2.251,255,2.39,256,2.45,257,2.441,258,2.433,259,3.744,260,2.326,264,8.843,265,5.704,269,3.474,270,2.407,271,2.357,273,3.941,274,3.694,276,3.474,277,0.895,290,1.485,725,4.418,1010,11.551,1027,1.915,1060,4.273,1061,4.804,1062,4.804,1063,4.804,1317,3.989,1484,8.269,1537,4.591,1908,8.681,2029,4.691,2219,2.806,2220,3.156,2221,3.046,2222,3.941,2831,2.505,3036,2.933,3240,3.216,3320,4.343,3889,9.218,3890,7.655,3898,3.137,3900,3.303,4802,10.347,5068,9.218,5073,4.804,5234,2.996,9046,6.259,9047,6.259,9048,6.259,9049,10.347,9050,10.347,9051,8.681,9052,10.793,9053,9.619,9054,10.793,9055,10.347,9056,10.793,9057,6.259,9058,9.047,9059,9.047,9060,5.797,9061,5.797,9062,6.259,9063,7.788,9064,6.259,9065,5.493,9066,8.873,9067,6.259,9068,6.259,9069,5.493,9070,5.493,9071,5.493,9072,5.493,9073,5.493,9074,5.493]],["title/injectables/DeletionClient.html",[589,0.926,2821,5.658]],["body/injectables/DeletionClient.html",[0,0.169,3,0.009,4,0.009,5,0.004,7,0.068,8,0.844,27,0.48,29,0.681,30,0.001,31,0.501,32,0.145,33,0.408,35,1.141,36,2.103,47,0.923,55,1.807,56,4.687,59,1.515,83,1.43,95,0.125,101,0.006,103,0,104,0,112,0.579,135,1.295,142,1.765,145,1.83,148,1.051,153,1.89,159,0.499,193,4.34,194,1.916,228,2.376,277,0.697,290,1.157,317,2.434,326,1.855,402,3.579,433,0.908,531,2.556,534,5.216,579,3.696,589,0.982,591,1.157,628,4.408,629,3.899,634,6.78,644,4.499,651,2.474,652,2.802,657,1.689,871,3.282,998,4.712,1053,7.683,1054,2.755,1056,3.146,1080,3.9,1169,4.285,1170,5.616,1313,3.329,1314,3.576,1328,3.926,1329,4.499,1330,6.216,1372,4.707,1379,5.312,1842,2.228,2125,4.675,2164,5.219,2233,2.969,2333,4.999,2358,4.247,2382,3.843,2393,1.868,2401,4.516,2513,4.21,2588,3.07,2716,3.442,2816,7.162,2821,6.002,2830,5.772,2831,2.957,2839,4.968,2840,4.897,2843,8.084,2849,3.961,2922,5.312,2930,5.537,3242,2.668,3259,6.542,4324,4.279,9075,8.871,9076,4.876,9077,8.261,9078,8.919,9079,8.919,9080,9.951,9081,9.951,9082,6.843,9083,7.388,9084,7.388,9085,4.876,9086,4.876,9087,7.388,9088,4.876,9089,7.388,9090,4.876,9091,4.876,9092,4.876,9093,4.876,9094,4.876,9095,4.279,9096,4.876,9097,7.388,9098,4.876,9099,4.102,9100,4.102,9101,4.516,9102,7.388,9103,4.876,9104,7.388,9105,4.876,9106,4.876,9107,4.876,9108,8.919,9109,5.537,9110,7.388,9111,8.261,9112,4.516,9113,9.951,9114,7.388,9115,7.388,9116,3.743,9117,4.876,9118,7.388,9119,4.102,9120,4.876,9121,4.876,9122,4.516,9123,4.876,9124,6.843,9125,4.876,9126,9.951,9127,4.876,9128,4.876,9129,3.961,9130,4.876,9131,4.876]],["title/interfaces/DeletionClientConfig.html",[159,0.712,9095,6.113]],["body/interfaces/DeletionClientConfig.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.153,47,1.04,101,0.013,103,0.001,104,0.001,112,0.972,159,1.068,161,2.487,2816,5.951,2831,4.18,9075,7.371,9095,10.876,9132,8.785,9133,10.441,9134,13.668,9135,13.668]],["title/modules/DeletionConsoleModule.html",[252,1.839,9136,6.451]],["body/modules/DeletionConsoleModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.159,101,0.01,103,0,104,0,252,3.095,254,2.886,255,3.063,256,3.141,257,3.129,258,3.118,259,4.257,260,2.981,269,4.115,270,3.085,271,3.021,276,4.115,277,1.147,651,4.07,1021,5.176,1025,5.176,1026,5.051,1054,4.533,2815,11.149,2816,4.572,2821,10.765,2830,7.216,2831,3.211,2890,11.149,2903,5.245,3036,3.759,3811,5.317,3813,4.938,3814,4.696,3887,10.172,3904,6.872,9049,11.149,9060,7.43,9075,5.663,9136,13.262,9137,8.022,9138,8.022,9139,8.022,9140,8.022,9141,9.735,9142,8.022,9143,8.022,9144,8.022,9145,9.225,9146,8.022,9147,9.225,9148,8.022,9149,8.022]],["title/classes/DeletionExecutionConsole.html",[0,0.241,9147,6.113]],["body/classes/DeletionExecutionConsole.html",[0,0.258,2,0.787,3,0.014,4,0.014,5,0.007,7,0.104,8,1.144,27,0.39,29,0.764,30,0.001,31,0.562,32,0.124,33,0.457,35,0.855,36,2.116,56,4.716,95,0.14,101,0.01,103,0,104,0,125,2.385,141,5.179,148,0.984,157,2.797,159,0.762,190,1.336,194,2.93,197,2.084,317,2.446,371,3.962,400,2.186,402,3.602,433,0.916,540,3.751,629,5.284,652,1.517,657,1.705,1076,4.751,1080,3.471,1115,2.837,1328,3.962,1329,4.541,1372,3.935,1393,4.249,1461,5.589,1568,5.173,2203,4.875,2816,6.443,2830,7.529,2831,2.985,2836,4.942,2851,5.877,2860,4.811,2922,8.129,3036,3.494,3429,6.273,3802,5.877,3803,7.901,3806,7.686,3808,5.723,3811,4.942,3812,8.126,3813,7.439,3814,4.365,4910,5.469,5087,5.877,9075,7.98,9129,10.241,9147,8.788,9150,7.456,9151,9.274,9152,11.638,9153,7.456,9154,10.012,9155,10.168,9156,7.505,9157,7.456,9158,6.544,9159,8.424,9160,10.012,9161,7.456,9162,6.906,9163,6.544,9164,7.456,9165,7.456,9166,7.456,9167,7.456,9168,7.456]],["title/classes/DeletionExecutionParams.html",[0,0.241,9169,6.113]],["body/classes/DeletionExecutionParams.html",[0,0.409,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.12,33,0.54,55,2.396,56,6.435,95,0.132,101,0.012,103,0.001,104,0.001,112,0.928,129,2.861,130,2.615,157,2.237,190,1.732,200,2.957,201,4.597,202,2.219,300,4.532,745,9.575,756,4.716,869,5.788,890,8.074,891,9.608,3792,6.705,6318,9.078,9169,10.379,9170,9.95,9171,9.662,9172,9.662,9173,9.662,9174,8.95]],["title/interfaces/DeletionExecutionTriggerResult.html",[159,0.712,9159,5.86]],["body/interfaces/DeletionExecutionTriggerResult.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.151,33,0.558,47,0.961,95,0.113,101,0.013,103,0.001,104,0.001,112,0.957,159,1.041,161,2.424,402,4.875,1080,4.698,2155,8.022,2816,5.8,2830,5.903,2922,8.775,9129,9.914,9159,10.268,9175,10.177,9176,10.177,9177,12.553]],["title/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.241,9158,6.113]],["body/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.291,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,27,0.467,29,0.827,30,0.001,31,0.609,32,0.134,33,0.495,35,1.375,47,0.881,59,2.613,95,0.094,101,0.011,103,0.001,104,0.001,135,1.094,148,1.179,159,0.86,402,3.898,467,4.068,507,4.813,652,2.439,1080,4.795,1329,5.121,2816,7.218,2884,7.792,2922,9.107,9129,10.29,9158,9.511,9159,11.639,9177,11.732,9178,12.666,9179,8.408,9180,10.837,9181,11.732,9182,10.837,9183,8.408,9184,10.837,9185,8.408,9186,8.408,9187,7.788,9188,8.408,9189,8.408,9190,7.788]],["title/injectables/DeletionExecutionUc.html",[589,0.926,9152,6.113]],["body/injectables/DeletionExecutionUc.html",[0,0.327,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.455,29,0.891,30,0.001,31,0.656,32,0.144,33,0.533,35,1.085,36,2.467,55,2.565,56,4.455,59,2.94,95,0.13,101,0.012,103,0.001,104,0.001,228,1.698,277,1.352,317,2.739,400,2.773,433,1.162,589,1.551,591,2.244,657,2.163,2816,7.214,2820,8.76,2821,11.235,2830,5.486,2831,3.786,9151,10.81,9152,10.243,9191,12.659,9192,9.458,9193,9.458,9194,11.671,9195,9.458,9196,9.458]],["title/controllers/DeletionExecutionsController.html",[314,2.65,9059,6.113]],["body/controllers/DeletionExecutionsController.html",[0,0.308,3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,27,0.347,29,0.679,30,0.001,31,0.5,32,0.11,33,0.406,35,1.02,95,0.149,100,3.101,101,0.011,103,0.001,104,0.001,148,0.874,158,3.283,190,1.594,202,2.042,228,1.597,274,3.702,277,1.272,314,3.384,316,4.28,317,2.663,365,3.949,390,6.574,391,6.913,392,4.63,400,2.607,401,4.983,402,3.199,1545,6.277,2125,4.661,2830,6.514,3036,4.167,3241,5.98,3242,6.147,3259,8.238,3260,6.665,7858,5.814,9056,10.804,9059,9.857,9082,10.402,9169,11.349,9197,10.402,9198,8.892,9199,8.892,9200,8.892,9201,8.892,9202,8.238,9203,8.892,9204,8.892,9205,11.231,9206,7.804,9207,7.482,9208,8.892,9209,8.236,9210,8.892,9211,8.892,9212,8.892]],["title/classes/DeletionLog.html",[0,0.241,9213,5.49]],["body/classes/DeletionLog.html",[0,0.255,2,0.777,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,26,2.276,27,0.536,30,0.001,32,0.091,35,0.844,55,2.436,83,3.792,95,0.125,99,1.483,101,0.013,103,0,104,0,112,0.779,113,3.944,125,3.148,134,2.606,148,1.321,159,0.753,185,2.521,231,1.938,430,4.944,431,5.152,435,3.41,436,2.932,532,3.64,711,2.875,735,4.492,1767,5.391,1770,5.024,1773,6.84,1849,4.195,1883,4.512,3067,4.581,3085,4.581,3088,5.802,3090,5.802,3093,5.107,3094,5.107,8941,7.968,9213,7.824,9214,11.458,9215,6.817,9216,7.968,9217,8.084,9218,8.818,9219,9.476,9220,7.36,9221,7.36,9222,7.36,9223,7.36,9224,7.36,9225,7.36,9226,7.36,9227,7.36,9228,7.36,9229,7.36,9230,7.36,9231,7.36,9232,7.36,9233,7.36,9234,6.914,9235,9.124,9236,6.46,9237,6.817,9238,6.817,9239,6.817,9240,6.817,9241,6.817,9242,6.817]],["title/entities/DeletionLogEntity.html",[205,1.419,9243,5.658]],["body/entities/DeletionLogEntity.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.147,26,1.851,27,0.486,30,0.001,32,0.154,33,0.614,34,1.115,49,4.302,55,2.525,83,3.526,95,0.134,96,1.703,99,1.314,101,0.012,103,0,104,0,112,0.717,125,3.161,159,0.667,190,2.234,195,2.916,196,3.99,205,1.862,206,2.128,211,6.632,223,4.069,224,1.89,225,3.501,229,2.573,231,1.126,232,1.765,233,2.022,430,2.683,431,2.796,458,2.601,459,4.725,460,3.973,461,6.237,462,3.973,463,6.237,540,2.164,574,3.656,1883,4.288,4655,3.656,8941,7.571,9216,7.571,9217,7.681,9218,8.379,9219,9.004,9234,7.032,9235,9.28,9243,7.422,9244,10.766,9245,6.042,9246,6.523,9247,6.523,9248,6.523,9249,6.523,9250,6.523,9251,6.523,9252,6.523,9253,4.454,9254,8.018,9255,5.725,9256,4.605,9257,6.042,9258,6.042,9259,6.042,9260,8.462,9261,5.3,9262,8.462,9263,6.042,9264,8.462,9265,6.042,9266,8.462,9267,6.042,9268,8.462,9269,6.042]],["title/interfaces/DeletionLogEntityProps.html",[159,0.712,9254,6.113]],["body/interfaces/DeletionLogEntityProps.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.147,26,2.32,30,0.001,32,0.164,33,0.643,34,1.957,49,4.537,55,2.649,83,3.945,95,0.134,96,1.711,99,1.321,101,0.012,103,0,104,0,112,0.719,125,3.114,159,0.67,161,1.561,195,2.647,196,3.997,205,1.868,223,3.993,224,1.899,225,3.513,229,2.585,231,1.131,232,1.774,233,2.032,430,4.708,431,4.906,458,2.614,459,4.741,460,3.992,461,6.259,462,3.992,463,6.259,540,2.175,574,3.674,1883,4.522,4655,3.674,8941,7.985,9216,7.985,9217,8.101,9218,8.836,9219,9.496,9234,7.416,9235,9.787,9243,5.325,9244,5.515,9245,6.072,9253,4.476,9254,9.277,9255,5.753,9256,4.627,9257,6.072,9258,6.072,9259,6.072,9260,8.491,9261,5.325,9262,8.491,9263,6.072,9264,8.491,9265,6.072,9266,8.491,9267,6.072,9268,8.491,9269,6.072]],["title/classes/DeletionLogMapper.html",[0,0.241,9270,6.113]],["body/classes/DeletionLogMapper.html",[0,0.26,2,0.793,3,0.014,4,0.014,5,0.007,7,0.105,8,1.15,27,0.472,29,0.925,30,0.001,31,0.681,32,0.15,33,0.554,34,1.721,35,1.39,49,2.829,95,0.126,96,1.961,97,3.03,101,0.01,103,0,104,0,148,1.191,153,1.835,205,1.531,206,2.451,430,4.139,431,4.313,467,4.085,1770,3.007,1883,3.777,2455,4.911,2498,5.212,2522,6.102,2524,6.102,4755,8.467,4756,9.321,4757,9.321,4758,8.467,4759,8.467,4761,9.321,4763,9.321,4765,8.467,4768,4.528,4782,5.766,4783,5.766,4798,5.303,4799,6.958,4800,6.593,4801,6.958,8941,6.67,9213,11.064,9216,6.67,9217,6.767,9218,7.381,9219,7.932,9243,11.402,9270,8.832,9271,11.706,9272,7.512,9273,7.512,9274,7.512,9275,7.512,9276,7.512,9277,6.958,9278,6.958,9279,5.921,9280,6.593,9281,7.512,9282,7.512,9283,7.512,9284,7.512,9285,7.512,9286,7.512,9287,7.512,9288,7.512,9289,7.512,9290,7.512,9291,7.512,9292,7.512]],["title/interfaces/DeletionLogProps.html",[159,0.712,9236,6.113]],["body/interfaces/DeletionLogProps.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,26,2.551,30,0.001,32,0.167,33,0.648,55,2.729,83,4.108,95,0.126,99,1.497,101,0.013,103,0,104,0,112,0.783,125,3.156,134,2.63,148,1.324,159,0.76,161,1.769,185,2.544,231,1.947,430,5.178,431,5.396,1767,6.129,1770,3.998,1849,4.233,1883,4.726,3093,5.154,3094,5.154,8941,8.345,9213,5.856,9214,6.25,9215,6.88,9216,8.345,9217,8.466,9218,9.235,9219,9.925,9234,7.75,9235,10.229,9236,8.766,9237,6.88,9238,6.88,9239,6.88,9240,6.88,9241,6.88,9242,6.88]],["title/injectables/DeletionLogRepo.html",[589,0.926,9293,5.86]],["body/injectables/DeletionLogRepo.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.102,8,1.13,12,4.475,26,2.674,27,0.488,29,0.916,30,0.001,31,0.674,32,0.148,33,0.548,34,1.252,35,1.284,36,2.729,49,2.757,95,0.144,96,1.911,97,2.953,99,1.475,101,0.009,103,0,104,0,135,1.63,148,1.101,153,1.184,228,1.314,277,1.047,317,2.943,400,2.146,433,0.899,589,1.315,591,1.736,657,2.561,734,4.168,735,4.475,736,5.513,766,3.918,2446,6.515,3644,4.665,3649,5.636,3707,5.487,4866,6.722,9213,10.581,9218,7.254,9243,10.488,9270,6.424,9277,6.78,9278,6.78,9279,5.77,9280,6.424,9293,8.321,9294,11.331,9295,7.32,9296,9.889,9297,7.32,9298,9.889,9299,7.32,9300,9.889,9301,7.32,9302,9.889,9303,7.32,9304,9.889,9305,7.32,9306,6.78,9307,7.32,9308,7.32,9309,7.32,9310,7.32,9311,7.32,9312,7.32,9313,7.32,9314,7.32,9315,7.32]],["title/injectables/DeletionLogService.html",[589,0.926,9316,6.113]],["body/injectables/DeletionLogService.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,8,1.173,26,2.713,27,0.449,29,0.88,30,0.001,31,0.647,32,0.143,33,0.526,34,1.324,35,1.178,36,2.593,49,2.917,55,2.659,83,2.27,95,0.146,96,2.022,97,3.123,99,1.56,101,0.01,103,0,104,0,135,1.336,148,0.761,153,1.863,228,1.391,277,1.107,317,2.839,400,2.27,433,0.951,589,1.365,591,1.837,657,2.348,1883,4.605,2636,3.79,4510,4.767,8941,8.132,9213,9.082,9216,8.132,9217,8.25,9218,8.999,9219,6.104,9234,7.553,9235,9.968,9253,5.287,9255,9.012,9279,6.104,9280,6.796,9293,11.04,9316,9.012,9317,11.364,9318,7.743,9319,11.521,9320,10.269,9321,7.743,9322,7.743,9323,7.743,9324,7.743,9325,10.269,9326,7.743,9327,7.743,9328,7.743,9329,7.743]],["title/interfaces/DeletionLogStatistic.html",[159,0.712,9330,4.833]],["body/interfaces/DeletionLogStatistic.html",[3,0.018,4,0.018,5,0.009,7,0.136,26,2.407,30,0.001,32,0.159,33,0.61,34,1.664,55,2.822,95,0.132,99,1.961,101,0.015,103,0.001,104,0.001,112,0.932,159,1.215,161,2.318,1883,5.139,8941,8.849,9217,8.977,9234,8.427,9253,6.645,9330,8.242,9331,9.015,9332,6.645]],["title/interfaces/DeletionLogStatistic-1.html",[159,0.592,756,2.309,9330,4.018]],["body/interfaces/DeletionLogStatistic-1.html",[3,0.017,4,0.017,5,0.008,7,0.125,26,2.627,30,0.001,32,0.153,33,0.592,55,2.806,83,3.307,95,0.126,99,1.804,101,0.017,103,0.001,104,0.001,112,0.885,159,1.366,161,2.132,1883,5.015,2839,6.02,2840,7.475,2897,5.637,2898,5.853,8941,8.592,9217,8.716,9234,8.397,9330,8.568,9332,7.7,9333,7.272,9334,7.272,9335,7.272,9336,7.475,9337,6.872,9338,7.961,9339,6.872,9340,6.437,9341,7.272,9342,7.056]],["title/classes/DeletionLogStatisticBuilder.html",[0,0.241,9343,6.451]],["body/classes/DeletionLogStatisticBuilder.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.117,33,0.432,35,1.085,55,2.802,59,3.628,95,0.13,101,0.012,103,0.001,104,0.001,135,1.231,148,0.93,159,0.967,467,3.685,507,5.183,1883,4.381,4955,7.969,8941,8.761,9217,8.889,9234,8.137,9253,6.457,9330,9.422,9343,10.81,9344,9.82,9345,9.458,9346,9.82,9347,9.458]],["title/modules/DeletionModule.html",[252,1.839,9049,5.86]],["body/modules/DeletionModule.html",[0,0.295,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.184,254,3.063,255,3.252,256,3.334,257,3.322,258,3.31,259,4.381,260,4.483,269,4.277,270,3.275,271,3.207,277,1.218,634,6.337,651,4.32,1372,4.494,2636,4.168,9049,12.136,9293,11.33,9316,12.548,9348,8.515,9349,8.515,9350,8.515,9351,12.548,9352,11.33,9353,8.515,9354,10.925,9355,8.515,9356,7.887,9357,7.887,9358,6.918,9359,8.515,9360,7.887,9361,8.515]],["title/classes/DeletionQueueConsole.html",[0,0.241,9145,6.113]],["body/classes/DeletionQueueConsole.html",[0,0.25,2,0.763,3,0.013,4,0.013,5,0.009,7,0.101,8,1.12,27,0.382,29,0.749,30,0.001,31,0.625,32,0.121,33,0.448,35,0.829,36,2.072,55,1.465,95,0.133,101,0.009,103,0,104,0,125,2.65,135,0.94,153,1.586,157,3.045,159,0.739,190,1.296,194,4.688,195,1.588,197,3.11,317,2.407,335,4.86,339,2.875,371,3.841,400,2.119,401,4.051,414,3.667,433,0.888,540,3.692,612,4.86,652,1.47,657,1.653,1883,2.713,2816,6.341,2830,7.461,2831,2.893,2835,9.694,2858,5.697,2859,5.548,2890,11.068,2897,4.551,2898,4.725,2900,6.081,2906,6.695,2911,4.449,2918,4.084,3011,3.303,3036,3.387,3802,5.697,3803,7.801,3806,7.526,3808,5.548,3811,4.791,3812,8.024,3813,7.345,3814,4.231,4910,8.752,5087,5.697,7858,4.725,9075,7.855,9122,6.695,9145,8.605,9156,7.349,9163,6.343,9362,7.228,9363,9.805,9364,7.228,9365,9.805,9366,10.039,9367,11.932,9368,7.228,9369,7.228,9370,5.872,9371,7.228,9372,7.228,9373,7.228,9374,6.343,9375,6.695,9376,7.228,9377,7.228,9378,7.228,9379,7.228,9380,7.228,9381,7.228,9382,7.228,9383,7.228]],["title/classes/DeletionRequest.html",[0,0.241,9384,5.346]],["body/classes/DeletionRequest.html",[0,0.274,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,26,2.359,27,0.532,30,0.001,32,0.098,35,0.907,83,3.871,95,0.13,99,1.594,101,0.013,103,0,104,0,112,0.817,113,4.138,125,2.481,134,2.801,148,1.297,159,0.809,185,2.71,231,2.009,402,4.451,430,5.089,431,5.303,435,3.578,436,3.077,532,3.819,711,3.017,735,4.713,1767,5.657,1770,5.146,1773,7.091,1849,4.509,2897,7.791,3067,4.924,3085,4.924,3088,6.236,3090,6.236,3093,5.489,3094,5.489,9214,11.323,9234,7.167,9336,8.201,9340,5.689,9384,7.995,9385,7.328,9386,9.274,9387,7.911,9388,7.911,9389,7.911,9390,7.911,9391,7.911,9392,7.911,9393,7.911,9394,7.911,9395,7.911,9396,7.911,9397,8.938,9398,7.328,9399,7.328,9400,7.328,9401,7.328]],["title/classes/DeletionRequestBodyProps.html",[0,0.241,9402,5.86]],["body/classes/DeletionRequestBodyProps.html",[0,0.392,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,27,0.441,30,0.001,32,0.14,33,0.517,55,2.295,95,0.138,101,0.012,103,0.001,104,0.001,112,0.888,129,2.669,130,2.439,135,1.173,159,0.922,190,2.03,194,4.45,195,2.855,196,4.311,197,3.632,200,2.758,201,4.402,202,2.069,296,2.963,300,4.34,2898,8.098,2909,7.909,3791,7.995,3792,6.253,3797,6.48,7766,6.48,7767,6.253,9170,10.421,9332,8.456,9338,8.743,9402,9.529,9403,9.012,9404,12.386,9405,9.012,9406,9.012,9407,9.012,9408,9.012]],["title/classes/DeletionRequestBodyPropsBuilder.html",[0,0.241,9409,6.451]],["body/classes/DeletionRequestBodyPropsBuilder.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,26,2.659,27,0.361,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,34,2.244,35,1.062,55,2.541,59,2.879,95,0.14,99,1.866,101,0.012,103,0.001,104,0.001,135,1.205,148,0.91,193,5.025,379,5.845,467,3.65,507,5.117,837,4.586,1883,4.324,2898,8.578,9234,8.077,9253,6.323,9338,6.538,9344,9.693,9346,9.693,9402,10.551,9409,10.671,9410,9.261,9411,9.261,9412,11.521]],["title/interfaces/DeletionRequestCreateAnswer.html",[159,0.712,9342,5.49]],["body/interfaces/DeletionRequestCreateAnswer.html",[3,0.017,4,0.017,5,0.008,7,0.128,26,2.781,30,0.001,32,0.142,55,2.53,83,3.835,95,0.128,99,1.849,101,0.017,103,0.001,104,0.001,112,0.899,159,1.376,161,2.186,1883,4.3,2839,8.794,2840,8.921,2897,5.778,2898,6,8941,6.082,9217,6.171,9234,8.051,9330,7.948,9332,7.821,9333,7.455,9334,7.455,9335,7.455,9336,7.593,9337,7.044,9338,8.086,9339,7.044,9340,6.598,9341,7.455,9342,9.03]],["title/entities/DeletionRequestEntity.html",[205,1.419,9413,5.49]],["body/entities/DeletionRequestEntity.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.156,26,2.537,27,0.467,30,0.001,32,0.148,34,1.249,83,3.671,95,0.134,96,1.908,99,1.472,101,0.013,103,0,104,0,112,0.878,125,2.855,135,0.951,159,0.747,190,2.148,205,2.013,206,2.384,219,5.448,223,4.181,224,2.116,225,3.785,229,2.882,231,1.261,232,1.977,233,2.265,402,4.311,430,3.005,431,3.132,458,2.914,459,5.108,460,4.45,461,6.744,462,4.45,463,6.744,540,2.424,569,3.07,644,4.45,711,2.861,2127,6.55,2128,4.989,2897,7.883,4655,4.095,7766,5.254,7767,6.853,9100,6.148,9234,7.378,9244,10.534,9253,4.989,9256,5.158,9336,8.298,9386,8.984,9397,9.2,9413,7.786,9414,6.768,9415,7.307,9416,7.307,9417,7.307,9418,7.307,9419,7.307,9420,9.149,9421,6.768,9422,8.669,9423,6.768,9424,6.768,9425,6.768,9426,6.768,9427,6.768,9428,6.768,9429,5.76,9430,6.768,9431,6.413]],["title/interfaces/DeletionRequestEntityProps.html",[159,0.712,9422,6.113]],["body/interfaces/DeletionRequestEntityProps.html",[0,0.248,3,0.013,4,0.013,5,0.006,7,0.154,26,2.707,30,0.001,32,0.162,33,0.586,34,2.034,83,4.017,95,0.133,96,1.873,99,1.446,101,0.013,103,0,104,0,112,0.87,125,2.641,135,0.934,159,0.734,161,1.709,205,1.988,219,5.381,223,3.877,224,2.079,225,3.739,229,2.83,231,1.238,232,1.942,233,2.225,402,4.476,430,4.893,431,5.099,458,2.862,459,5.046,460,4.37,461,6.662,462,4.37,463,6.662,540,2.381,569,3.033,644,4.37,711,2.826,2127,6.49,2128,4.9,2897,8.082,4655,4.022,7766,5.16,7767,6.77,9100,6.038,9234,7.659,9244,6.038,9253,4.9,9256,5.066,9336,8.507,9386,9.326,9397,9.551,9413,5.657,9414,6.647,9420,9.037,9421,6.647,9422,9.73,9423,6.647,9424,6.647,9425,6.647,9426,6.647,9427,6.647,9428,6.647,9429,5.657,9430,6.647,9431,6.298]],["title/classes/DeletionRequestFactory.html",[0,0.241,9432,6.451]],["body/classes/DeletionRequestFactory.html",[0,0.171,2,0.52,3,0.009,4,0.009,5,0.004,7,0.069,8,0.851,27,0.517,29,1.021,30,0.001,31,0.719,32,0.168,33,0.585,34,1.837,35,1.418,47,0.79,49,1.857,55,2.377,59,3.339,83,2.633,95,0.12,96,1.287,97,1.988,101,0.006,103,0,104,0,112,0.584,113,4.489,127,5.015,129,3.577,130,3.269,134,1.746,135,0.969,148,0.732,153,1.738,157,2.078,172,3.179,185,2.552,192,2.719,205,1.83,206,2.43,228,1.338,231,1.285,326,4.872,374,3.235,402,1.773,430,2.028,431,2.113,433,0.606,436,3.877,467,2.168,501,7.13,502,5.563,505,4.141,506,5.563,507,5.365,508,4.141,509,4.141,510,4.141,511,4.077,512,4.584,513,4.992,514,6.138,515,5.88,516,7.046,517,2.763,522,2.74,523,4.141,524,2.763,525,5.245,526,5.395,527,4.253,528,5.077,529,4.109,530,2.74,531,2.584,532,4.144,533,2.62,534,2.584,535,2.74,536,2.763,537,4.914,538,2.74,539,7.214,540,4.008,541,6.716,542,2.763,543,3.625,544,2.74,545,2.763,546,2.74,547,2.763,548,2.74,551,2.74,552,6.184,553,2.763,554,2.74,555,4.141,556,3.779,557,4.141,558,2.763,559,2.658,560,2.62,561,2.22,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,1.838,568,2.74,569,1.532,570,2.763,571,2.949,572,2.74,573,2.763,575,2.834,577,2.942,2081,4.005,2830,2.859,2897,3.104,4510,4.586,4686,6.538,4696,6.339,4698,3.545,9234,3.035,9336,4.938,9340,3.545,9384,3.784,9386,3.695,9397,3.784,9432,8.317,9433,7.449,9434,4.93,9435,7.449,9436,4.93,9437,4.148,9438,4.93,9439,4.93,9440,4.327]],["title/interfaces/DeletionRequestInput.html",[159,0.712,2843,5.658]],["body/interfaces/DeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,33,0.557,55,2.646,95,0.113,101,0.013,103,0.001,104,0.001,112,0.956,159,1.038,161,2.418,193,5.314,2816,5.785,2830,5.888,2843,9.899,2898,8.853,2918,5.736,3011,4.639,9075,7.166,9132,8.541,9338,9.559,9441,8.909,9442,11.393,9443,10.151]],["title/classes/DeletionRequestInputBuilder.html",[0,0.241,2829,6.113]],["body/classes/DeletionRequestInputBuilder.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,8,1.326,27,0.365,29,0.715,30,0.001,31,0.526,32,0.116,33,0.428,35,1.074,47,1.014,55,2.554,59,2.912,95,0.129,101,0.012,103,0.001,104,0.001,148,0.921,159,0.958,193,5.498,467,3.669,507,5.154,2816,6.613,2829,10.184,2830,5.435,2843,10.241,2897,5.9,2898,8.614,2918,5.295,3011,4.281,9075,8.191,9336,8.733,9338,6.614,9444,10.184,9445,8.223,9446,10.748,9447,9.369,9448,8.223,9449,9.369,9450,9.369]],["title/interfaces/DeletionRequestLog.html",[159,0.712,9337,5.346]],["body/interfaces/DeletionRequestLog.html",[3,0.017,4,0.017,5,0.008,7,0.125,26,2.631,30,0.001,32,0.153,33,0.517,55,2.507,83,3.807,95,0.126,99,1.812,101,0.017,103,0.001,104,0.001,112,0.887,159,1.368,161,2.142,1883,4.245,2839,6.046,2840,8.868,2897,5.662,2898,5.879,8941,5.96,9217,6.046,9234,7.992,9330,9.009,9332,8.864,9333,7.305,9334,7.305,9335,7.305,9336,7.496,9337,8.682,9338,9.444,9339,9.966,9340,6.466,9341,7.305,9342,7.088]],["title/classes/DeletionRequestLogResponse.html",[0,0.241,9451,5.86]],["body/classes/DeletionRequestLogResponse.html",[0,0.386,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,27,0.502,29,0.671,30,0.001,31,0.494,32,0.159,33,0.56,83,3.27,95,0.136,101,0.011,103,0.001,104,0.001,112,0.875,159,0.899,190,2.195,193,5.797,200,2.691,202,2.019,296,3.553,300,4.274,433,1.08,871,3.236,2840,8.118,6947,8.561,9170,11.182,9330,8.498,9332,8.362,9338,8.645,9339,9.401,9451,11.182,9452,8.795,9453,11.153,9454,8.795,9455,8.795,9456,8.795,9457,8.795,9458,8.795,9459,8.146,9460,8.146,9461,8.795,9462,8.795]],["title/classes/DeletionRequestLogResponseBuilder.html",[0,0.241,9463,6.451]],["body/classes/DeletionRequestLogResponseBuilder.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,8,1.326,27,0.365,29,0.715,30,0.001,31,0.526,32,0.116,33,0.428,35,1.074,59,2.912,83,3.696,95,0.129,101,0.012,103,0.001,104,0.001,135,1.219,148,0.921,159,0.958,193,5.061,467,3.669,507,5.599,837,4.64,2840,8.733,4955,7.923,7298,8.223,9330,9.142,9332,8.995,9337,8.907,9338,8.899,9339,10.113,9344,9.763,9451,10.606,9463,10.748,9464,9.369,9465,8.678]],["title/classes/DeletionRequestMapper.html",[0,0.241,9466,6.113]],["body/classes/DeletionRequestMapper.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.847,30,0.001,31,0.623,32,0.137,33,0.507,34,1.896,35,1.272,95,0.124,101,0.011,103,0.001,104,0.001,148,1.09,153,1.794,205,2.26,402,3.99,430,4.562,431,4.754,467,3.944,1770,3.49,2498,6.05,2522,7.083,2524,7.083,2897,6.984,4755,9.332,4758,9.332,4759,9.332,4765,9.332,4768,5.255,4782,6.693,4783,6.693,6926,6.873,9271,11.298,9279,6.873,9336,7.351,9384,10.568,9386,8.313,9413,10.852,9437,7.336,9466,9.734,9467,8.075,9468,8.075,9469,8.718,9470,8.718,9471,8.718,9472,8.718,9473,8.718,9474,8.718,9475,8.718,9476,8.718]],["title/interfaces/DeletionRequestOutput.html",[159,0.712,2849,5.658]],["body/interfaces/DeletionRequestOutput.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.153,47,0.971,83,3.875,101,0.013,103,0.001,104,0.001,112,0.972,159,1.068,161,2.487,193,4.554,2816,5.951,2839,9.191,2840,9.059,2849,10.067,9075,7.371,9132,8.785,9477,9.671]],["title/classes/DeletionRequestOutputBuilder.html",[0,0.241,9478,6.451]],["body/classes/DeletionRequestOutputBuilder.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.381,29,0.747,30,0.001,31,0.549,32,0.121,33,0.447,35,1.122,47,0.944,83,3.767,95,0.109,101,0.013,103,0.001,104,0.001,148,0.961,159,1,193,5.196,467,3.74,507,5.291,2816,6.79,2839,8.011,2840,8.863,2849,10.438,9075,8.41,9444,10.456,9478,11.035,9479,9.059,9480,11.035,9481,9.059]],["title/interfaces/DeletionRequestProps.html",[159,0.712,9340,5.008]],["body/interfaces/DeletionRequestProps.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,26,2.634,30,0.001,32,0.165,33,0.573,83,4.169,95,0.132,99,1.649,101,0.014,103,0.001,104,0.001,112,0.835,125,2.537,134,2.899,148,1.31,159,0.837,161,1.95,185,2.804,231,2.043,402,4.676,430,5.346,431,5.571,1767,6.43,1770,4.263,1849,4.665,2897,8.184,3093,5.68,3094,5.68,9214,6.887,9234,8.001,9336,8.615,9340,7.658,9384,6.283,9385,7.582,9386,9.743,9397,9.978,9398,7.582,9399,7.582,9400,7.582,9401,7.582]],["title/interfaces/DeletionRequestProps-1.html",[159,0.592,756,2.309,9340,4.163]],["body/interfaces/DeletionRequestProps-1.html",[3,0.017,4,0.017,5,0.008,7,0.127,26,2.641,30,0.001,32,0.161,33,0.52,55,2.72,83,3.34,95,0.127,99,1.832,101,0.017,103,0.001,104,0.001,112,0.893,159,1.373,161,2.166,172,4.861,1883,4.275,2839,6.115,2840,7.549,2897,5.726,2898,8.523,8941,6.027,9217,6.115,9234,8.025,9330,7.903,9332,7.777,9333,7.388,9334,7.388,9335,7.388,9336,7.549,9337,6.98,9338,9.476,9339,6.98,9340,8.19,9341,7.388,9342,7.168]],["title/injectables/DeletionRequestRepo.html",[589,0.926,9352,5.86]],["body/injectables/DeletionRequestRepo.html",[0,0.189,3,0.01,4,0.01,5,0.005,7,0.076,8,0.919,12,3.641,26,2.714,27,0.495,29,0.951,30,0.001,31,0.7,32,0.154,33,0.569,34,1.801,35,1.392,36,2.856,55,1.935,56,3.79,59,1.699,83,1.603,95,0.139,96,1.427,97,2.205,99,1.101,101,0.007,103,0,104,0,135,1.743,142,1.979,148,1.154,153,1.301,193,2.384,195,2.098,205,1.64,228,0.982,277,0.782,317,3.038,400,1.603,430,2.248,433,0.672,589,1.07,591,1.297,595,2.073,657,2.956,729,5.494,734,3.391,735,3.641,736,4.701,766,2.926,770,3.442,788,3.732,2232,4.586,2446,5.72,2830,3.171,3237,4.667,3644,3.484,3649,4.586,3707,4.097,4866,5.902,6288,3.271,6895,3.732,7996,4.196,9218,9.136,9279,4.309,9294,11.346,9306,5.063,9352,6.77,9384,10.373,9413,9.818,9437,4.599,9466,4.798,9482,5.466,9483,8.046,9484,7.453,9485,7.453,9486,5.466,9487,8.046,9488,5.466,9489,7.453,9490,5.466,9491,8.046,9492,5.466,9493,7.453,9494,5.466,9495,7.453,9496,5.466,9497,7.453,9498,5.466,9499,8.046,9500,5.466,9501,5.466,9502,4.798,9503,4.798,9504,10.531,9505,5.466,9506,8.046,9507,5.466,9508,4.798,9509,5.466,9510,5.466,9511,5.466,9512,5.466,9513,5.466,9514,5.466,9515,5.466,9516,5.466,9517,5.466,9518,5.466,9519,8.046,9520,5.466,9521,4.798]],["title/classes/DeletionRequestResponse.html",[0,0.241,9522,6.113]],["body/classes/DeletionRequestResponse.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.496,29,0.731,30,0.001,31,0.538,32,0.157,33,0.437,47,0.864,83,3.447,95,0.107,101,0.012,103,0.001,104,0.001,112,0.922,190,2.107,202,2.197,296,3.565,433,1.176,871,3.521,2839,8.557,2840,8.435,6947,9.025,9170,11.167,9459,8.864,9460,8.864,9522,11.957,9523,8.864,9524,11.757,9525,9.57,9526,9.57,9527,9.57]],["title/classes/DeletionRequestScope.html",[0,0.241,9502,6.113]],["body/classes/DeletionRequestScope.html",[0,0.271,2,0.825,3,0.014,4,0.014,5,0.007,7,0.109,8,1.181,27,0.523,29,0.884,30,0.001,31,0.65,32,0.163,33,0.529,35,1.412,83,3.394,95,0.129,101,0.01,103,0,104,0,112,0.811,122,2.4,129,2.315,130,2.116,148,1.016,193,5.049,205,1.593,231,1.783,279,3.242,365,3.472,402,2.812,436,3.783,569,2.43,652,2.676,2479,6.841,6288,5.603,7007,6.85,7008,6.85,7009,6.85,7014,6.85,7015,6.85,7016,5.258,7017,5.182,7018,5.258,7019,5.258,7028,5.182,7029,6.85,7030,5.258,7031,5.182,7032,5.258,7033,5.182,7034,6.85,9253,5.338,9294,10.16,9386,5.861,9397,6.002,9413,6.163,9431,6.862,9440,6.862,9502,11.547,9508,9.07,9528,6.163,9529,10.335,9530,12.316,9531,10.335,9532,7.242,9533,7.819,9534,6.862]],["title/injectables/DeletionRequestService.html",[589,0.926,9351,6.113]],["body/injectables/DeletionRequestService.html",[0,0.208,3,0.011,4,0.011,5,0.005,7,0.084,8,0.987,12,3.908,26,2.818,27,0.499,29,0.977,30,0.001,31,0.719,32,0.158,33,0.584,34,1.03,35,1.434,36,2.903,49,2.269,55,2.364,56,2.838,59,1.872,83,1.766,95,0.135,96,1.573,97,2.43,99,1.214,101,0.008,103,0,104,0,129,1.784,130,1.63,135,1.434,148,1.147,153,1.632,228,1.082,277,0.861,317,3.073,400,1.766,402,2.167,433,0.74,589,1.148,591,1.429,657,2.668,729,5.895,2839,4.051,2840,3.993,2897,6.941,2898,7.207,2901,7.998,3237,5.008,4510,3.708,9218,8.085,9234,6.786,9253,4.113,9279,4.749,9317,12.064,9336,6.689,9351,7.578,9352,10.216,9356,5.58,9357,5.58,9384,9.998,9386,4.515,9397,4.624,9437,5.069,9440,5.287,9484,7.998,9485,7.998,9489,7.998,9493,7.998,9495,7.998,9497,7.998,9535,6.024,9536,10.092,9537,8.635,9538,6.024,9539,6.024,9540,6.024,9541,6.024,9542,6.024,9543,8.635,9544,6.024,9545,6.024,9546,6.024,9547,6.024,9548,8.635,9549,6.024,9550,6.024,9551,8.635,9552,6.024,9553,6.024,9554,6.024,9555,6.024,9556,6.024,9557,6.024,9558,8.635,9559,6.024,9560,6.024,9561,6.024,9562,6.024,9563,6.024]],["title/interfaces/DeletionRequestTargetRefInput.html",[159,0.712,9442,5.86]],["body/interfaces/DeletionRequestTargetRefInput.html",[3,0.019,4,0.019,5,0.009,7,0.145,30,0.001,32,0.153,34,2.333,47,1.039,101,0.013,103,0.001,104,0.001,112,0.969,159,1.062,161,2.474,193,4.53,1883,5.122,2816,5.92,2918,5.87,3011,4.747,9075,7.333,9132,8.74,9441,9.117,9442,10.394]],["title/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.241,9448,6.113]],["body/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,8,1.353,27,0.378,29,0.739,30,0.001,31,0.544,32,0.12,33,0.443,34,2.279,35,1.111,47,1.022,95,0.108,101,0.012,103,0.001,104,0.001,148,0.952,159,0.991,193,5.166,467,3.724,507,5.26,1883,4.446,2816,6.75,2918,6.693,3011,5.412,9075,8.36,9346,9.965,9442,10.764,9444,10.395,9445,8.501,9448,10.395,9564,8.971]],["title/controllers/DeletionRequestsController.html",[314,2.65,9058,6.113]],["body/controllers/DeletionRequestsController.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,10,2.737,27,0.42,29,0.824,30,0.001,31,0.606,32,0.16,33,0.493,35,1.401,36,2.46,47,0.928,95,0.136,100,2.375,101,0.009,103,0,104,0,148,1.201,157,2.694,158,2.514,190,1.934,193,5.076,202,1.564,228,1.223,274,2.835,277,0.974,314,2.592,316,3.278,317,2.898,333,6.33,379,4.776,388,2.919,390,6.813,391,7.164,392,3.546,400,1.997,401,6.046,402,3.881,1355,6.69,1396,6.075,1545,4.808,2125,3.57,2830,7.945,2839,7.826,2921,8.72,3036,3.192,3241,4.58,3242,5.152,3259,6.905,3260,5.105,5097,8.72,9056,9.469,9058,8.262,9100,5.731,9111,8.72,9163,10.214,9197,10.78,9206,5.978,9207,5.731,9209,6.309,9402,9.792,9451,9.077,9522,9.469,9565,6.811,9566,9.414,9567,10.788,9568,9.414,9569,6.811,9570,6.811,9571,9.414,9572,6.811,9573,6.811,9574,6.811,9575,12.633,9576,6.811,9577,9.414,9578,6.811,9579,6.811,9580,9.414,9581,6.811,9582,6.811,9583,6.811,9584,6.811,9585,6.811,9586,6.811,9587,6.811,9588,6.811,9589,6.811,9590,6.811,9591,6.811,9592,6.811,9593,6.811]],["title/interfaces/DeletionTargetRef.html",[159,0.712,9332,4.755]],["body/interfaces/DeletionTargetRef.html",[3,0.019,4,0.019,5,0.009,7,0.139,26,2.73,30,0.001,32,0.149,34,2.304,55,2.447,95,0.135,99,2.015,101,0.015,103,0.001,104,0.001,112,0.947,159,1.235,161,2.382,1883,5.177,8941,6.628,9217,6.724,9234,8.49,9253,6.827,9330,6.938,9331,9.262,9332,8.244]],["title/interfaces/DeletionTargetRef-1.html",[159,0.592,756,2.309,9332,3.953]],["body/interfaces/DeletionTargetRef-1.html",[3,0.017,4,0.017,5,0.008,7,0.128,26,2.781,30,0.001,32,0.142,55,2.53,83,3.359,95,0.128,99,1.849,101,0.017,103,0.001,104,0.001,112,0.899,159,1.376,161,2.186,1883,4.3,2839,6.171,2840,7.593,2897,8.235,2898,6,8941,6.082,9217,6.171,9234,8.45,9330,7.948,9332,8.527,9333,7.455,9334,7.455,9335,7.455,9336,8.921,9337,7.044,9338,8.086,9339,7.044,9340,6.598,9341,7.455,9342,7.234]],["title/classes/DeletionTargetRefBuilder.html",[0,0.241,9594,6.451]],["body/classes/DeletionTargetRefBuilder.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,26,2.687,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,34,2.268,35,1.095,95,0.142,99,1.924,101,0.012,103,0.001,104,0.001,135,1.242,148,0.938,159,0.976,467,3.7,507,5.214,1883,4.407,3011,5.365,9234,8.164,9253,6.519,9332,9.296,9344,9.877,9346,9.877,9594,10.874,9595,9.548,9596,9.548]],["title/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.241,9597,5.49]],["body/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.392,2,1.332,3,0.014,4,0.014,5,0.007,7,0.104,27,0.492,29,0.57,30,0.001,31,0.42,32,0.161,33,0.576,47,0.831,95,0.112,101,0.014,102,6.427,103,0,104,0,110,2.597,112,0.786,122,2.346,153,1.956,172,3.188,231,1.952,289,6.563,402,4.07,412,5.371,433,0.918,436,3.342,540,3.754,595,2.833,693,5.906,871,4.45,1076,4.76,2127,4.373,2138,5.972,2512,7.216,7243,4.057,9109,5.599,9597,9.944,9598,8.92,9599,7.685,9600,6.556,9601,8.361,9602,10.63,9603,9.533,9604,7.47,9605,7.47,9606,6.919,9607,9.193,9608,6.919,9609,6.919,9610,6.285,9611,5.273,9612,6.285,9613,6.068,9614,6.556,9615,8.144,9616,8.799,9617,6.285,9618,5.371,9619,5.183,9620,5.183,9621,5.479,9622,6.285]],["title/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.241,9615,5.658]],["body/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.392,2,1.332,3,0.014,4,0.014,5,0.007,7,0.104,27,0.492,29,0.571,30,0.001,31,0.42,32,0.156,33,0.577,47,0.889,95,0.112,101,0.015,102,6.432,103,0,104,0,110,3.938,112,0.787,122,2.348,153,1.957,231,1.954,289,6.57,402,4.074,412,5.375,433,0.919,436,3.346,540,2.483,595,2.838,693,5.909,871,4.453,1076,4.769,2127,4.381,2138,5.977,2512,7.222,7243,4.065,9109,5.609,9597,7.912,9598,8.928,9599,7.688,9600,6.568,9601,8.366,9602,10.634,9603,9.54,9606,6.932,9607,9.201,9608,6.932,9609,6.932,9610,6.297,9611,5.283,9612,6.297,9613,6.08,9614,6.568,9615,10.254,9616,8.81,9617,6.297,9618,5.381,9619,5.193,9620,5.193,9621,5.489,9622,6.297,9623,10.038]],["title/classes/DoBaseFactory.html",[0,0.241,4696,4.917]],["body/classes/DoBaseFactory.html",[0,0.177,2,0.541,3,0.01,4,0.01,5,0.005,7,0.071,8,0.876,27,0.516,29,1.02,30,0.001,31,0.715,32,0.168,33,0.581,34,1.868,35,1.433,47,0.675,49,1.93,55,2.409,59,3.396,95,0.102,96,1.338,97,2.067,101,0.007,103,0,104,0,112,0.602,113,4.556,127,5.113,129,3.619,130,3.382,135,0.667,148,0.504,153,0.829,157,2.128,172,3.273,185,2.627,192,2.826,195,1.126,205,2.226,206,2.502,228,1.377,231,1.323,326,4.843,374,3.33,433,0.63,436,3.908,467,2.232,501,7.368,502,5.672,505,4.264,506,5.672,507,5.428,508,4.264,509,4.264,510,4.264,511,4.198,512,4.693,513,5.11,514,6.228,515,5.98,516,7.098,517,2.872,522,2.849,523,4.264,524,2.872,525,5.348,526,5.501,527,4.336,528,5.177,529,4.23,530,2.849,531,2.686,532,4.482,533,2.724,534,2.686,535,2.849,536,2.872,537,5.031,538,2.849,539,7.275,540,4.222,541,7.075,542,2.872,543,3.733,544,2.849,545,2.872,546,2.849,547,2.872,548,4.264,551,2.849,552,6.276,553,2.872,554,2.849,555,4.264,556,3.891,557,4.264,558,2.872,559,2.763,560,2.724,561,2.308,562,2.849,563,2.849,564,2.849,565,2.872,566,2.872,567,1.911,568,2.849,569,1.593,570,2.872,571,3.638,572,2.849,573,2.872,575,2.946,576,3.028,1086,2.44,1087,2.365,1088,2.401,1089,2.553,1090,2.784,1476,3.089,2135,3.618,2594,4.747,4510,3.155,4696,5.414,4698,3.685,9624,5.125,9625,5.125,9626,5.125,9627,5.125]],["title/classes/DomainObject.html",[0,0.241,1770,2.788]],["body/classes/DomainObject.html",[0,0.306,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,9,4.097,26,2.487,27,0.503,29,0.674,30,0.001,31,0.496,32,0.138,33,0.404,34,2.206,35,1.013,95,0.098,101,0.014,103,0.001,104,0.001,112,0.877,113,4.876,134,3.128,135,1.149,148,1.099,159,0.903,232,3.026,433,1.085,435,4.572,532,5.064,711,3.737,735,5.061,1237,3.239,1767,6.666,1768,12.327,1769,7.753,1770,4.477,1771,9.41,1772,8.182,1773,7.856,1774,10.359,8450,7.432,9628,11.184,9629,8.833,9630,8.833]],["title/classes/DomainObjectFactory.html",[0,0.241,9631,6.451]],["body/classes/DomainObjectFactory.html",[0,0.171,2,0.522,3,0.009,4,0.009,5,0.004,7,0.069,8,0.854,27,0.512,29,1.013,30,0.001,31,0.709,32,0.167,33,0.576,34,1.935,35,1.419,47,0.661,55,2.38,59,3.345,95,0.112,101,0.006,103,0,104,0,112,0.586,113,4.496,127,5.024,129,3.581,130,3.273,153,0.8,157,2.083,172,3.188,185,3.082,192,2.729,205,1.834,206,2.437,228,1.341,231,1.73,277,0.708,326,4.8,374,3.244,411,3.709,412,2.197,433,0.608,436,3.88,467,2.174,501,7.325,502,5.573,505,4.153,506,5.573,507,5.497,508,4.153,509,4.153,510,4.153,511,4.088,512,4.595,513,5.003,514,6.146,515,5.89,516,7.051,517,2.773,522,2.751,523,4.153,524,2.773,525,5.255,526,5.405,527,4.26,528,5.086,529,4.12,530,2.751,531,2.593,532,4.435,533,2.63,534,2.593,535,2.751,536,2.773,537,4.925,538,2.751,539,7.22,540,4.107,541,7.013,542,2.773,543,3.636,544,2.751,545,2.773,546,2.751,547,2.773,548,4.153,551,2.751,552,6.193,553,2.773,554,2.751,555,4.153,556,3.79,557,4.153,558,2.773,559,4.852,560,3.97,561,2.228,562,2.751,563,2.751,564,2.751,565,2.773,566,2.773,567,2.785,568,2.751,569,1.538,570,2.773,571,3.968,572,2.751,573,2.773,575,2.844,576,2.924,579,1.413,1086,3.556,1087,3.448,1088,3.501,1089,3.721,1090,4.058,1170,3.116,1476,2.982,1767,4.058,1770,2.99,1849,2.82,1883,1.857,2060,3.629,2061,3.558,2135,3.493,4215,3.433,7289,3.28,9631,6.919,9632,4.948,9633,4.948,9634,4.948,9635,7.47,9636,3.629]],["title/classes/DownloadFileParams.html",[0,0.241,7277,4.755]],["body/classes/DownloadFileParams.html",[0,0.474,2,0.687,3,0.012,4,0.017,5,0.008,7,0.091,26,2.592,27,0.356,30,0.001,32,0.154,39,1.807,47,1.015,95,0.143,99,1.312,101,0.017,103,0,104,0,110,2.264,112,0.716,122,1.892,157,1.507,159,0.666,190,1.636,195,1.431,199,5.033,200,1.993,201,4.437,202,1.495,203,6.136,205,1.327,296,3.711,298,2.828,299,4.877,300,4.374,403,3.325,855,5.044,856,6.346,886,3.335,899,2.976,1078,2.853,1080,2.257,1169,3.778,1237,1.886,1290,5.888,1291,4.317,1292,4.317,3011,4.814,3201,4.936,3933,3.084,4588,2.231,5260,7.567,6389,4.519,6666,3.084,6847,6.48,7210,6.45,7212,4.258,7213,7.755,7218,5.015,7232,6.982,7262,4.519,7263,4.597,7264,4.597,7265,5.48,7269,4.519,7270,8.256,7271,8.058,7272,8.058,7273,4.597,7274,4.519,7275,4.519,7276,4.597,7277,6.23,7278,7.794,7279,4.379,7280,4.447,7281,4.519,7282,4.447,7283,4.203,7284,4.597,7285,4.597,7286,4.597,7287,4.203,7288,4.203,7289,4.317,7290,4.447,7291,4.597,9637,6.513,9638,6.513]],["title/classes/DrawingContentBody.html",[0,0.241,6504,4.554]],["body/classes/DrawingContentBody.html",[0,0.474,2,0.578,3,0.01,4,0.01,5,0.005,7,0.076,9,2.539,27,0.213,30,0.001,31,0.682,32,0.172,47,0.95,83,1.605,95,0.125,99,1.103,101,0.017,103,0,104,0,110,1.903,112,0.632,130,3.286,155,1.747,157,2.719,190,0.981,195,1.203,200,1.675,201,3.714,202,1.257,223,1.706,231,2.027,296,3.711,299,4.979,300,4.501,339,1.605,360,3.147,854,5.072,855,3.261,886,1.733,899,2.501,1232,3.175,1749,3.12,1853,1.796,2049,3.899,2393,4.501,2721,3.798,2912,2.62,2918,6.638,3159,2.477,3201,2.565,3581,3.235,3583,3.235,3586,3.204,3589,4.975,3593,2.831,3598,3.068,4065,3.334,4086,3.334,4485,5.487,6409,6.017,6411,6.09,6413,6.017,6415,6.716,6417,6.09,6419,6.09,6467,3.532,6504,6.89,6505,6.248,6506,6.248,6507,6.248,6508,6.248,6509,6.248,6847,6.718,8010,3.579,8080,3.204,9639,5.416,9640,3.681,9641,5.474,9642,8.259,9643,6.248,9644,6.248,9645,6.248,9646,3.681,9647,6.248,9648,3.37,9649,3.628,9650,6.248,9651,6.89,9652,3.579,9653,3.579,9654,3.579,9655,3.579,9656,3.681,9657,3.681,9658,3.681,9659,3.681,9660,3.681,9661,3.681]],["title/classes/DrawingElement.html",[0,0.241,3134,4.554]],["body/classes/DrawingElement.html",[0,0.235,2,0.717,3,0.013,4,0.013,5,0.006,7,0.095,8,1.073,27,0.528,29,0.963,30,0.001,31,0.709,32,0.163,33,0.577,35,1.512,36,1.985,47,0.897,55,1.903,59,2.11,95,0.105,101,0.014,103,0,104,0,112,0.737,113,3.731,122,2.233,130,2.541,134,2.404,148,1.059,157,2.69,158,2.506,159,0.694,189,5.781,197,1.897,231,1.858,317,2.33,435,3.226,436,3.895,527,2.885,532,3.444,567,2.531,569,3.792,653,2.792,657,1.552,711,2.72,735,4.25,1770,3.76,1773,6.559,1842,4.292,2051,2.873,2662,6.008,3058,8.068,3061,6.63,3062,6.63,3063,6.63,3064,7.598,3065,6.63,3067,4.225,3068,5.72,3069,6.741,3071,6.412,3072,5.72,3073,6.681,3075,4.71,3076,5.027,3078,6.781,3079,4.71,3083,4.71,3085,4.225,3112,5.661,3134,7.598,4346,4.881,4347,4.881,4348,4.881,4357,4.225,5930,7.63,9662,9.975,9663,4.71,9664,6.287,9665,5.957,9666,6.287,9667,6.287,9668,5.711,9669,6.287,9670,5.711,9671,5.711,9672,6.287,9673,6.287,9674,5.957,9675,6.287]],["title/injectables/DrawingElementAdapterService.html",[589,0.926,3895,5.658]],["body/injectables/DrawingElementAdapterService.html",[0,0.3,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,27,0.431,29,0.844,30,0.001,31,0.621,32,0.137,33,0.505,35,0.995,36,2.338,47,0.895,95,0.148,101,0.011,103,0.001,104,0.001,189,5.344,228,1.559,277,1.241,317,2.633,400,2.545,433,1.066,589,1.47,591,2.059,652,1.766,657,1.985,1027,2.656,1053,9.391,1054,4.905,1056,5.602,1169,5.035,1611,7.052,2049,4.967,2219,3.891,2220,4.377,2221,4.225,2382,8.719,2447,4.623,2448,6.006,3282,5.837,3895,8.986,3902,10.684,4259,5.082,9676,11.275,9677,8.04,9678,11.06,9679,8.681,9680,11.06,9681,8.681,9682,6.128,9683,8.681,9684,8.681,9685,8.681,9686,8.681]],["title/classes/DrawingElementContent.html",[0,0.241,9687,5.86]],["body/classes/DrawingElementContent.html",[0,0.384,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.432,29,0.666,30,0.001,31,0.49,32,0.164,33,0.398,34,2.086,47,0.896,95,0.136,101,0.014,103,0.001,104,0.001,112,0.87,157,3.068,190,1.563,202,2.002,296,3.602,304,4.317,433,1.498,458,3.477,821,4.451,886,2.76,1853,2.86,2109,3.82,2393,4.674,2926,7.075,3197,4.667,3198,4.667,3201,4.086,3759,5.953,3771,5.152,4019,6.376,4023,5.7,4025,5.7,4403,8.514,4485,6.35,6415,5.556,7572,5.202,9687,11.4,9688,11.298,9689,7.336,9690,8.075]],["title/classes/DrawingElementContentBody.html",[0,0.241,9645,4.554]],["body/classes/DrawingElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,7.098,6417,6.018,6419,6.018,6467,3.462,6504,6.823,6505,6.174,6506,6.174,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.823,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,9692,5.364,9693,5.364]],["title/entities/DrawingElementNode.html",[205,1.419,3500,5.49]],["body/entities/DrawingElementNode.html",[0,0.315,3,0.017,4,0.017,5,0.008,7,0.127,27,0.355,30,0.001,32,0.113,47,0.915,95,0.145,96,2.379,101,0.015,103,0.001,104,0.001,112,0.895,134,3.227,135,1.186,148,0.896,157,3.02,159,0.932,190,1.634,205,2.324,206,2.973,223,3.88,224,2.64,231,1.968,232,2.466,457,5.067,1770,4.566,1853,2.99,2049,4.654,2109,3.993,2662,5.43,2715,5.15,3467,6.105,3477,6.806,3500,8.991,3549,5.551,3575,10.011,3922,6.946,3942,5.61,4448,5.739,4450,5.739,7571,6.041,7572,5.439,9694,10.565,9695,7.669,9696,10.011,9697,8.442]],["title/interfaces/DrawingElementNodeProps.html",[159,0.712,9696,6.113]],["body/interfaces/DrawingElementNodeProps.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,32,0.114,47,0.961,95,0.146,96,2.396,101,0.015,103,0.001,104,0.001,112,0.899,134,3.25,135,1.194,148,0.902,157,3.116,159,0.938,161,2.186,205,2.334,223,3.57,224,2.658,231,2.155,232,2.483,457,5.102,1770,4.585,1853,3.011,2049,3.745,2109,4.02,2662,5.453,2715,5.186,3467,6.131,3477,6.835,3500,7.234,3549,5.589,3575,10.054,3922,7.606,3942,5.649,4448,5.778,4450,5.778,7571,6.082,7572,5.476,9694,8.5,9696,10.961,9697,8.5]],["title/interfaces/DrawingElementProps.html",[159,0.712,9674,6.113]],["body/interfaces/DrawingElementProps.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.141,36,1.913,47,0.985,95,0.127,101,0.016,103,0.001,104,0.001,112,0.891,122,1.877,130,2.45,134,3.206,148,1.22,157,3.103,158,3.342,159,0.926,161,2.156,197,2.53,231,2.141,317,1.958,527,3.847,567,3.375,569,2.814,653,3.723,657,2.07,1842,5.19,2051,3.831,3058,6.846,3064,5.919,3068,5.513,3069,6.588,3072,5.513,3073,6.529,3112,7.481,3134,8.114,4357,5.635,5930,9.227,9662,8.385,9663,6.281,9671,7.617,9672,8.385,9673,8.385,9674,9.968,9675,8.385]],["title/classes/DrawingElementResponse.html",[0,0.241,4403,5.346]],["body/classes/DrawingElementResponse.html",[0,0.365,2,0.85,3,0.015,4,0.015,5,0.007,7,0.112,27,0.504,29,0.615,30,0.001,31,0.452,32,0.173,33,0.368,34,2.211,47,0.863,95,0.131,101,0.014,103,0,104,0,112,0.827,157,2.719,190,2.233,202,1.849,296,3.587,304,3.988,433,1.443,458,3.212,821,4.112,886,2.55,1853,2.642,2109,3.528,2393,4.955,2926,7.501,3196,5.266,3197,5.641,3198,5.641,3200,4.806,3201,4.938,3759,5.499,3771,4.759,4019,6.752,4023,5.266,4025,5.266,4403,9.926,4485,6.732,6415,6.716,7572,4.806,9687,10.483,9688,12.287,9698,6.776,9699,7.46,9700,7.069,9701,7.46,9702,7.069]],["title/classes/DrawingElementResponseMapper.html",[0,0.241,6439,6.113]],["body/classes/DrawingElementResponseMapper.html",[0,0.267,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,27,0.478,29,0.783,30,0.001,31,0.576,32,0.152,33,0.469,34,1.321,35,1.32,95,0.142,100,2.695,101,0.01,103,0,104,0,112,0.804,122,2.126,135,1.006,141,4.396,148,1.131,153,1.983,157,1.789,430,3.179,467,3.817,652,2.341,653,3.179,711,2.239,829,4.567,830,5.701,1237,2.971,1853,2.535,2049,5.545,2140,4.404,2393,2.962,2653,8.443,2656,7.872,2657,7.872,2659,7.687,2926,4.483,3134,8.883,3154,5.363,3556,5.793,4019,5.896,4035,5.456,4403,9.411,4485,4.024,5927,7.164,6415,4.925,6438,5.933,6439,11.744,9687,8.629,9703,12.758,9704,9.189,9705,6.092,9706,6.783,9707,7.728,9708,7.158,9709,7.728,9710,6.783,9711,11.51,9712,6.092,9713,6.092,9714,6.092,9715,7.158]],["title/classes/DtoCreator.html",[0,0.241,9716,6.113]],["body/classes/DtoCreator.html",[0,0.21,2,0.399,3,0.007,4,0.007,5,0.003,7,0.053,8,0.693,27,0.499,29,0.844,30,0.001,31,0.64,32,0.164,33,0.505,34,1.036,35,1.341,95,0.123,99,0.762,100,3.024,101,0.005,103,0,104,0,112,0.475,122,1.798,135,1.743,141,4.559,148,1.215,153,0.98,155,1.934,172,2.587,195,1.332,197,1.694,228,1.088,277,0.541,290,2.972,402,3.643,430,2.493,431,2.598,433,0.932,478,1.06,589,0.806,595,1.435,652,2.806,653,1.556,693,1.72,821,1.931,896,5.276,1132,2.625,1197,3.292,1778,2.382,1793,2.507,1862,5.044,1937,1.782,2033,3.599,2049,3.539,2051,5.875,2055,2.625,2219,1.696,2220,1.907,2221,1.841,2393,3.881,2680,1.737,2957,4.089,2959,5.076,2961,9.045,2964,4.652,2966,5.453,2976,7.985,3044,2.904,3045,2.507,3325,2.904,3351,8.329,3352,5.099,3356,5.099,3359,3.183,3378,3.32,3764,3.183,3774,2.382,3777,3.183,4094,2.382,4112,5.832,4259,2.214,4866,4.25,5266,5.099,5794,3.073,7938,7.297,8467,8.546,8619,2.625,8759,3.32,9716,6.655,9717,11.98,9718,3.504,9719,9.701,9720,9.742,9721,6.061,9722,6.061,9723,6.061,9724,8.033,9725,8.033,9726,6.061,9727,6.061,9728,6.061,9729,6.061,9730,6.061,9731,3.783,9732,3.783,9733,3.783,9734,3.783,9735,5.614,9736,11.067,9737,3.783,9738,8.52,9739,5.614,9740,3.783,9741,5.614,9742,3.783,9743,3.783,9744,3.783,9745,3.783,9746,5.614,9747,3.783,9748,5.614,9749,3.783,9750,5.614,9751,3.783,9752,5.614,9753,3.783,9754,2.775,9755,5.319,9756,5.319,9757,3.504,9758,3.504,9759,3.32,9760,5.614,9761,3.504,9762,5.614,9763,5.614,9764,3.504,9765,3.504,9766,3.504,9767,3.504,9768,3.504,9769,3.504,9770,3.504,9771,3.504,9772,3.504,9773,3.504,9774,5.614,9775,3.32,9776,3.504,9777,3.504,9778,3.504,9779,3.504,9780,7.024,9781,3.504,9782,3.504,9783,3.504,9784,3.32,9785,3.32,9786,5.614,9787,3.504,9788,3.504,9789,3.32,9790,3.32,9791,3.183,9792,3.32,9793,3.32,9794,3.504,9795,3.504,9796,3.504,9797,3.504,9798,3.504,9799,3.504,9800,3.32,9801,3.504,9802,3.504,9803,3.504,9804,3.504,9805,3.504,9806,3.504,9807,3.504,9808,3.504,9809,3.183,9810,3.504,9811,3.073,9812,3.504,9813,3.504,9814,3.504]],["title/injectables/DurationLoggingInterceptor.html",[589,0.926,9815,6.451]],["body/injectables/DurationLoggingInterceptor.html",[0,0.301,3,0.016,4,0.016,5,0.008,7,0.121,8,1.266,27,0.432,29,0.846,30,0.001,31,0.622,32,0.137,33,0.506,35,0.998,95,0.143,101,0.011,103,0.001,104,0.001,135,1.132,148,0.855,157,2.014,183,3.322,277,1.244,400,2.551,433,1.069,531,5.805,571,4.823,589,1.472,591,2.064,1027,2.662,1056,5.614,1058,6.678,1237,2.52,1924,5.85,2247,9.721,2383,9.354,2447,4.629,2448,6.011,3282,5.85,7470,8.302,7477,8.998,8048,9.319,9815,10.259,9816,12.185,9817,8.058,9818,10.259,9819,9.721,9820,8.7,9821,9.721,9822,11.258,9823,11.258,9824,8.7,9825,9.721,9826,8.058,9827,8.7,9828,8.7,9829,8.7,9830,8.7,9831,8.7]],["title/classes/ElementContentBody.html",[0,0.241,9642,4.616]],["body/classes/ElementContentBody.html",[0,0.474,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.515,27,0.211,30,0.001,31,0.68,32,0.174,47,0.932,83,1.59,95,0.125,99,1.092,101,0.017,103,0,104,0,110,1.885,112,0.627,130,3.276,155,1.731,157,2.59,190,0.972,195,1.192,200,1.659,201,3.694,202,1.245,223,1.69,231,2.02,296,3.707,299,4.967,300,4.486,339,1.59,360,4.598,854,5.036,855,3.239,886,1.717,899,2.478,1232,3.145,1749,3.09,1853,1.779,2049,4.281,2393,4.486,2912,2.595,2918,6.615,3159,2.454,3201,3.748,3581,3.204,3583,3.204,3586,3.174,3589,4.948,3593,2.804,3598,3.039,4065,3.302,4086,3.302,4485,6.303,6409,5.984,6411,6.056,6413,5.984,6415,6.685,6417,6.056,6419,6.056,6467,3.499,6504,6.213,6505,6.213,6506,6.213,6507,6.213,6508,6.213,6509,6.213,6847,6.7,8010,3.545,8080,3.174,9639,5.378,9640,3.646,9642,8.409,9643,6.213,9644,6.213,9645,6.213,9646,3.646,9647,6.213,9648,3.338,9649,3.594,9650,6.213,9651,6.858,9652,3.545,9653,3.545,9654,3.545,9655,3.545,9656,3.646,9657,3.646,9658,3.646,9659,3.646,9660,3.646,9661,3.646,9832,5.422,9833,5.422]],["title/controllers/ElementController.html",[314,2.65,3033,6.113]],["body/controllers/ElementController.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.061,8,0.78,10,3.362,27,0.368,29,0.72,30,0.001,31,0.53,32,0.175,33,0.431,35,1.082,36,2.462,95,0.13,100,1.534,101,0.006,103,0,104,0,135,1.328,148,0.671,153,1.104,190,1.69,194,1.729,195,1.501,202,1.01,228,1.226,274,1.832,277,0.629,314,1.675,316,2.118,317,2.735,325,6.344,337,7.172,342,7.617,345,8.378,349,6.753,379,4.785,388,4.376,389,2.877,390,5.976,391,8.193,392,2.291,393,2.179,395,2.355,398,2.372,400,1.29,401,5.285,402,4.75,652,0.895,657,2.157,675,3.486,734,2.878,871,3.47,896,2.446,1351,6.865,2049,4.408,2393,4.14,2661,3.575,2675,2.6,2681,6.092,2918,6.105,2954,5.426,3025,6.596,3027,6.798,3033,5.993,3036,2.062,3037,3.862,3159,4.268,3160,4.159,3212,6.781,3214,7.069,3216,7.069,3217,7.069,3220,7.617,3222,5.383,3235,9.431,3237,3.961,3240,2.261,3241,2.959,3242,2.408,3249,3.575,3259,5.009,3260,5.118,3521,4.406,3612,6.885,3668,3.464,3728,4.91,3925,5.383,4049,4.82,4050,3.862,4064,5.118,4065,2.68,4066,3.164,4067,3.164,4071,3.378,4072,3.702,4077,4.993,4079,4.076,4084,4.076,4086,2.68,4087,3.575,4088,3.575,4375,3.378,4401,2.839,4403,3.378,4404,3.378,4405,3.378,4420,3.862,4429,3.862,4430,3.862,4431,3.862,4432,3.862,4436,3.862,4537,7.041,5642,4.076,5655,5.993,6553,11.244,8094,8.96,9643,4.464,9644,5.471,9645,4.464,9647,5.471,9650,5.471,9651,5.471,9652,6.166,9834,4.4,9835,7.751,9836,7.751,9837,8.368,9838,4.4,9839,4.4,9840,4.4,9841,4.4,9842,4.4,9843,4.4,9844,6.829,9845,4.4,9846,4.4,9847,4.4,9848,8.277,9849,4.4,9850,4.4,9851,4.4,9852,4.4,9853,4.4,9854,4.4,9855,4.4,9856,5.548,9857,4.4,9858,4.4,9859,4.4,9860,9.431,9861,4.4,9862,4.4,9863,4.4,9864,4.4,9865,4.4,9866,4.4,9867,4.4,9868,4.4,9869,4.4,9870,4.4,9871,4.4]],["title/injectables/ElementUc.html",[589,0.926,3027,5.658]],["body/injectables/ElementUc.html",[0,0.168,3,0.009,4,0.009,5,0.004,7,0.068,8,0.841,26,2.888,27,0.469,29,0.918,30,0.001,31,0.675,32,0.152,33,0.549,35,1.338,36,2.653,39,3.483,59,1.508,95,0.137,99,0.978,101,0.006,103,0,104,0,113,4.776,122,1.844,135,1.518,148,0.874,153,1.438,228,1.916,231,1.27,277,0.694,290,1.151,317,2.946,433,0.904,436,2.627,579,2.539,589,0.978,591,1.151,610,1.914,652,2.284,657,2.917,688,2.262,734,2.045,837,2.403,874,2.84,1027,1.485,1197,5.796,1792,3.367,1793,3.216,1853,1.592,1862,6.202,1936,3.263,1968,5.399,2019,7.281,2024,10.055,2030,3.942,2049,5.023,2234,3.313,2393,3.804,2447,4.878,2662,5.723,2663,8.621,2665,5.802,2666,5.802,2667,3.489,2668,8.341,2670,3.725,2671,5.399,2672,6.394,2674,3.825,2675,6.896,2677,3.825,2678,5.196,2680,2.228,2681,4.392,2692,4.083,2694,5.65,3027,5.98,3066,3.367,3149,5.6,3159,5.083,3160,5.416,3453,3.637,3521,4.75,3595,6.11,3668,3.734,3893,9.48,4154,3.942,4155,3.942,4156,3.942,4159,3.942,4160,3.942,4362,2.987,4538,7.805,4566,4.494,4930,3.637,6435,4.531,6467,6.405,6556,8.237,6730,3.637,9835,8.237,9836,6.818,9872,4.852,9873,7.361,9874,8.893,9875,4.852,9876,4.852,9877,4.852,9878,7.361,9879,4.852,9880,7.361,9881,4.852,9882,4.852,9883,4.852,9884,4.259,9885,4.494,9886,4.852,9887,4.852,9888,4.852,9889,7.361,9890,4.852,9891,4.852,9892,4.852,9893,4.852,9894,4.494,9895,4.852,9896,4.494,9897,4.494,9898,4.852,9899,4.852,9900,7.361,9901,4.852,9902,4.852,9903,4.852,9904,4.494,9905,4.852]],["title/modules/EncryptionModule.html",[252,1.839,9906,5.221]],["body/modules/EncryptionModule.html",[0,0.297,3,0.016,4,0.016,5,0.008,30,0.001,47,0.631,95,0.147,101,0.011,103,0.001,104,0.001,135,1.117,148,0.844,153,1.389,252,3.197,254,3.089,255,3.279,256,3.362,257,3.35,258,3.338,259,3.989,260,4.082,265,6.26,269,4.301,270,3.303,271,3.235,276,4.301,277,1.228,527,3.65,634,8.059,651,4.357,685,6.372,686,7.899,688,5.121,1027,2.628,2125,5.758,2447,5.515,2448,6.324,5203,9.078,5205,10.63,9906,10.116,9907,8.588,9908,8.588,9909,8.588,9910,7.955,9911,7.537,9912,8.588,9913,12.112,9914,8.588,9915,8.588,9916,8.588,9917,7.955,9918,8.588]],["title/interfaces/EncryptionService.html",[159,0.712,5204,5.109]],["body/interfaces/EncryptionService.html",[3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.464,29,0.91,30,0.001,31,0.669,32,0.147,33,0.544,35,1.366,47,1.061,101,0.016,103,0.001,104,0.001,135,1.55,159,1,161,2.33,339,3.493,5203,7.331,5204,8.739,5205,8.584,9919,9.78,9920,10.456,9921,10.024,9922,11.035,9923,9.78,9924,11.035,9925,9.78,9926,9.78,9927,9.78]],["title/classes/EntityNotFoundError.html",[0,0.241,346,5.109]],["body/classes/EntityNotFoundError.html",[0,0.271,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,8,1.182,27,0.523,29,0.598,30,0.001,31,0.44,32,0.172,33,0.529,35,0.898,47,0.967,55,1.587,59,2.435,95,0.115,101,0.01,103,0,104,0,112,0.812,155,3.934,190,2.297,205,2.109,228,2.5,231,1.785,233,2.429,277,1.12,346,7.59,347,5.317,402,2.818,433,0.962,436,3.889,736,5.704,868,5.932,871,2.882,998,5.487,1078,5.4,1080,4.272,1115,4.41,1354,8.683,1355,7.718,1356,7.576,1360,5.193,1361,4.504,1362,5.193,1363,5.193,1364,5.193,1365,5.193,1366,5.193,1367,4.822,1368,4.427,1369,6.175,1370,6.591,1374,5.055,4203,7.256,9928,10.348,9929,7.834,9930,7.834,9931,7.834,9932,7.834]],["title/interfaces/EntityWithSchool.html",[159,0.712,7549,4.287]],["body/interfaces/EntityWithSchool.html",[3,0.018,4,0.018,5,0.009,7,0.138,30,0.001,32,0.122,34,1.689,47,0.726,49,4.514,83,3.514,95,0.134,96,2.578,97,3.984,101,0.017,103,0.001,104,0.001,112,0.94,159,1.32,161,2.353,231,2.226,430,4.062,431,4.233,692,6.255,703,4.116,789,5.405,2536,10.576,7549,7.378,9933,8.668,9934,6.743,9935,8.31]],["title/classes/ErrorLoggable.html",[0,0.241,9936,5.658]],["body/classes/ErrorLoggable.html",[0,0.346,2,0.626,3,0.011,4,0.011,5,0.005,7,0.083,8,0.975,27,0.471,29,0.835,30,0.001,31,0.615,32,0.154,33,0.5,35,1.147,47,0.804,95,0.135,101,0.008,103,0,104,0,112,0.669,113,2.355,122,1.769,129,1.755,130,3.137,131,3.026,135,1.509,148,1.187,158,3.15,195,1.875,200,2.611,223,3.613,228,1.965,277,0.847,297,4.815,338,6.735,371,3.15,393,2.935,400,1.738,433,0.728,543,2.884,561,2.669,571,3.378,652,2.741,653,2.437,809,3.875,1078,4.381,1080,4.67,1086,4.063,1087,3.938,1088,3.999,1089,4.251,1090,3.219,1091,3.928,1092,3.985,1115,3.247,1166,3.928,1167,3.648,1237,2.472,1313,4.046,1351,7.797,1359,6.933,1372,3.128,1373,3.609,1422,4.003,1423,4.662,1426,4.859,1468,5.1,1469,5.355,1885,3.648,2465,3.502,3011,3.9,4233,4.815,4955,4.046,5139,4.986,8831,4.549,9936,6.933,9937,5.926,9938,10,9939,8.534,9940,8.534,9941,8.534,9942,5.201,9943,5.926,9944,10,9945,5.926,9946,8.534,9947,5.926,9948,5.926,9949,8.534,9950,5.926,9951,8.534,9952,5.926,9953,5.926,9954,5.926,9955,5.926,9956,8.534,9957,5.926,9958,5.926,9959,10.94,9960,5.926,9961,5.926,9962,4.549,9963,5.926,9964,8.534,9965,5.926,9966,5.926,9967,8.534,9968,5.926,9969,5.489,9970,4.347,9971,4.986,9972,5.926,9973,5.926,9974,5.926,9975,5.926,9976,5.926,9977,5.926,9978,8.534,9979,5.926,9980,5.926,9981,5.926,9982,5.926]],["title/injectables/ErrorLogger.html",[589,0.926,9983,5.86]],["body/injectables/ErrorLogger.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,8,1.163,27,0.495,29,0.97,30,0.001,31,0.714,32,0.157,33,0.581,35,1.4,72,3.509,95,0.142,101,0.01,103,0,104,0,135,1.588,161,1.82,228,1.372,254,2.748,277,1.093,412,3.393,433,0.939,569,4.212,589,1.353,591,1.812,652,1.554,688,3.562,1080,3.528,1115,4.644,1212,4.93,1422,5.763,2447,4.783,3282,5.138,7461,6.428,9983,9.629,9984,13.071,9985,7.64,9986,10.177,9987,10.177,9988,10.177,9989,10.711,9990,7.64,9991,10.177,9992,7.64,9993,10.177,9994,7.64,9995,10.177,9996,7.64,9997,10.177,9998,7.64,9999,6.706,10000,8.023,10001,6.207,10002,7.077,10003,6.706,10004,11.304,10005,7.64,10006,7.64,10007,7.64,10008,7.64]],["title/classes/ErrorMapper.html",[0,0.241,10009,6.113]],["body/classes/ErrorMapper.html",[0,0.305,2,0.93,3,0.016,4,0.016,5,0.008,7,0.123,8,1.276,27,0.344,29,0.673,30,0.001,31,0.495,32,0.109,33,0.403,35,1.011,95,0.137,101,0.011,103,0.001,104,0.001,148,0.866,153,2.084,277,1.26,337,5.426,342,5.763,467,3.568,1080,4.71,1312,6.072,1313,6.018,1314,6.465,1343,7.416,2681,7.691,2953,7.476,10009,9.802,10010,8.814,10011,11.355,10012,8.814,10013,10.471,10014,8.814,10015,11.168,10016,5.368,10017,12.26,10018,8.814,10019,8.814,10020,6.766,10021,8.814,10022,8.814]],["title/modules/ErrorModule.html",[252,1.839,7461,5.86]],["body/modules/ErrorModule.html",[0,0.319,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,129,3.402,157,2.134,252,3.304,254,3.316,255,3.52,256,3.609,257,3.596,258,3.583,259,4.172,260,3.426,265,6.374,269,4.497,270,3.545,271,3.472,276,4.497,277,1.318,685,5.347,1472,6.386,2447,3.853,2834,7.614,3814,6.725,4703,6.924,7461,11.563,7472,7.971,7476,11.022,10023,9.219,10024,9.219,10025,9.219,10026,10.64,10027,7.077,10028,9.665,10029,9.219,10030,9.219,10031,7.077]],["title/classes/ErrorResponse.html",[0,0.241,1367,4.287]],["body/classes/ErrorResponse.html",[0,0.246,2,0.751,3,0.013,4,0.013,5,0.006,7,0.099,27,0.499,29,0.543,30,0.001,31,0.4,32,0.176,33,0.504,47,1.04,55,2.513,59,2.211,95,0.079,101,0.009,103,0,104,0,112,0.761,155,4.181,157,2.554,219,5.349,228,2.543,277,1.017,403,6.051,415,5.527,433,1.191,871,3.568,998,6.403,1078,5.434,1080,4.622,1115,4.985,1220,6.814,1355,7.773,1367,5.97,1368,4.019,1379,8.523,1380,7.269,1381,6.522,1388,7.073,1390,6.037,1392,8.512,1393,5.527,1395,8.983,1396,6.258,1397,8.983,1516,6.242,2109,3.116,3056,3.423,4248,6.588,4249,5.46,4250,6.588,10032,7.112,10033,7.112,10034,9.698,10035,7.112,10036,7.112,10037,7.112,10038,7.112]],["title/interfaces/ErrorType.html",[159,0.712,1084,4.755]],["body/interfaces/ErrorType.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.176,47,1.062,101,0.013,103,0.001,104,0.001,112,0.959,155,4.329,159,1.043,161,2.43,228,2.35,1084,8.345,1374,8.753,10039,10.203,10040,10.203]],["title/classes/ErrorUtils.html",[0,0.241,1313,4.755]],["body/classes/ErrorUtils.html",[0,0.263,2,0.802,3,0.014,4,0.014,5,0.007,7,0.106,8,1.158,27,0.475,29,0.93,30,0.001,31,0.684,32,0.125,33,0.556,35,1.396,47,0.839,59,2.361,95,0.127,101,0.01,103,0,104,0,125,2.415,148,1.197,153,1.229,157,2.818,158,4.495,159,0.777,197,2.123,277,1.086,393,3.762,467,4.092,653,5.008,1080,5.002,1313,6.923,1354,7.667,2099,9.127,2106,5.989,10041,7.597,10042,10.139,10043,10.139,10044,12.686,10045,10.139,10046,10.139,10047,7.597,10048,9.271,10049,10.139,10050,7.597,10051,10.139,10052,7.597,10053,10.245,10054,10.139,10055,7.597,10056,7.597,10057,12.176,10058,7.597]],["title/injectables/EtherpadService.html",[589,0.926,10059,6.113]],["body/injectables/EtherpadService.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.113,8,1.21,26,2.532,27,0.413,29,0.809,30,0.001,31,0.595,32,0.146,33,0.484,35,0.931,36,2.239,39,2.94,47,0.995,94,4.119,95,0.139,99,1.636,101,0.014,103,0.001,104,0.001,135,1.534,148,1.041,153,1.313,155,3.989,197,2.269,228,1.458,277,1.161,317,2.551,339,3.106,400,2.381,433,0.997,589,1.408,591,1.926,610,3.202,629,4.285,652,1.651,657,1.857,734,3.422,1027,2.485,1080,3.672,1328,4.315,1882,6.831,2027,6.117,2447,4.929,2448,5.857,6215,5.838,10059,9.298,10060,8.119,10061,10.594,10062,7.126,10063,9.752,10064,8.119,10065,10.594,10066,8.119,10067,10.594,10068,8.119,10069,8.119,10070,8.119,10071,8.119,10072,7.52,10073,8.119,10074,7.52]],["title/classes/ExternalGroupDto.html",[0,0.241,10075,5.221]],["body/classes/ExternalGroupDto.html",[0,0.286,2,0.871,3,0.015,4,0.015,5,0.007,7,0.115,27,0.537,29,0.63,30,0.001,31,0.706,32,0.175,33,0.621,47,0.924,83,3.688,95,0.119,101,0.011,103,0.001,104,0.001,112,0.84,232,2.897,290,2.819,433,1.014,435,2.835,614,2.558,704,6.068,1065,4.063,2109,3.615,2184,3.267,4664,3.717,4726,5.026,7895,4.974,7896,5.137,8619,5.726,9648,7.316,10075,9.768,10076,11.719,10077,7.644,10078,10.431,10079,10.707,10080,8.253,10081,8.253,10082,8.253,10083,10.273,10084,8.253,10085,8.546,10086,8.253,10087,8.253,10088,6.944,10089,7.644,10090,5.934,10091,8.253,10092,8.253,10093,7.243,10094,7.243,10095,7.243,10096,7.243]],["title/classes/ExternalGroupUserDto.html",[0,0.241,10083,5.49]],["body/classes/ExternalGroupUserDto.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.498,29,0.738,30,0.001,31,0.543,32,0.158,33,0.441,47,0.869,95,0.108,101,0.012,103,0.001,104,0.001,112,0.928,232,3.2,433,1.187,435,3.319,595,3.664,1065,6.556,5056,7.728,10076,11.205,10083,10.769,10097,8.95,10098,8.726,10099,10.954,10100,8.95,10101,8.48,10102,9.662,10103,8.95,10104,8.95]],["title/classes/ExternalSchoolDto.html",[0,0.241,10105,5.109]],["body/classes/ExternalSchoolDto.html",[0,0.318,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.525,29,0.702,30,0.001,31,0.735,32,0.167,33,0.615,47,1.035,101,0.012,103,0.001,104,0.001,112,0.9,232,3.104,433,1.13,435,3.16,704,6.383,2184,3.641,4664,4.143,5223,7.967,7895,5.544,7896,5.725,8260,7.472,8261,7.472,10076,11.556,10105,9.879,10106,9.198,10107,8.173,10108,11.471,10109,9.198,10110,9.198,10111,9.198,10112,6.894,10113,7.472]],["title/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.241,10114,6.113]],["body/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,35,1,47,0.896,55,2.601,95,0.124,101,0.011,103,0.001,104,0.001,148,0.857,180,5.228,228,1.566,231,1.914,233,2.703,277,1.247,339,2.556,400,2.556,433,1.071,614,2.703,685,5.057,703,4.067,1027,2.668,1115,3.318,1237,3.213,1422,4.883,1423,5.687,1426,5.702,1462,4.701,1465,6.05,1468,5.687,1469,5.97,1477,4.451,1478,4.634,3430,3.786,4970,5.601,6435,7.509,10114,9.734,10115,12.197,10116,10.705,10117,8.718,10118,11.298,10119,6.395,10120,8.718,10121,6.395,10122,8.718]],["title/classes/ExternalSource.html",[0,0.241,10123,4.755]],["body/classes/ExternalSource.html",[0,0.342,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,27,0.503,29,0.754,30,0.001,31,0.555,32,0.16,33,0.451,47,0.986,48,6.046,101,0.013,103,0.001,104,0.001,112,0.94,232,3.243,244,6.972,245,7.785,433,1.213,435,3.393,704,6.588,7895,5.953,7896,6.148,10123,9.385,10124,13.417,10125,9.876,10126,11.985,10127,9.876]],["title/classes/ExternalSourceEntity.html",[0,0.241,10128,5.49]],["body/classes/ExternalSourceEntity.html",[0,0.316,2,0.964,3,0.017,4,0.017,5,0.008,7,0.127,27,0.486,29,0.697,30,0.001,31,0.513,32,0.154,33,0.417,47,0.916,95,0.127,96,2.385,101,0.015,103,0.001,104,0.001,112,0.896,159,0.934,190,2.047,223,3.884,224,2.646,232,3.091,433,1.122,435,3.138,704,6.666,2712,5.795,3430,5.67,5210,7.195,5727,5.325,7778,6.143,7895,5.506,7896,5.686,10128,9.004,10129,12.094,10130,8.461,10131,11.46,10132,11.422,10133,9.135,10134,6.847,10135,6.847,10136,7.201]],["title/interfaces/ExternalSourceEntityProps.html",[159,0.712,10131,6.113]],["body/interfaces/ExternalSourceEntityProps.html",[0,0.332,3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.146,47,0.976,95,0.131,96,2.505,101,0.015,103,0.001,104,0.001,112,0.924,159,0.981,161,2.285,223,3.669,224,2.779,232,2.596,704,6.961,2712,5.973,3430,5.92,5210,7.428,5727,5.489,7895,5.782,7896,5.971,10128,7.562,10129,8.886,10130,8.886,10131,11.181,10134,7.191,10135,7.191,10136,7.562]],["title/classes/ExternalSourceResponse.html",[0,0.241,10137,5.86]],["body/classes/ExternalSourceResponse.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.496,29,0.731,30,0.001,31,0.538,32,0.157,33,0.437,47,0.975,48,5.963,95,0.107,101,0.012,103,0.001,104,0.001,112,0.922,190,2.107,202,2.197,232,3.181,244,6.756,245,7.544,296,3.565,433,1.176,435,3.288,704,6.497,7895,5.768,7896,5.957,10137,11.463,10138,13.273,10139,9.57,10140,11.757,10141,9.57]],["title/classes/ExternalTool.html",[0,0.241,2776,3.449]],["body/classes/ExternalTool.html",[0,0.182,2,0.557,3,0.01,4,0.01,5,0.005,7,0.073,8,0.895,27,0.531,29,0.941,30,0.001,31,0.692,32,0.167,33,0.623,34,1.598,35,1.187,47,0.987,55,2.241,95,0.129,101,0.01,103,0,104,0,110,3.598,112,0.615,122,2.402,148,1.017,153,1.674,159,0.539,231,1.352,232,2.12,277,0.754,433,0.648,435,1.811,436,1.558,467,3.666,579,1.505,1237,2.269,1312,2.484,1852,6.115,2035,5.708,2036,2.596,2088,5.642,2133,7.595,2184,2.087,2695,8.5,2696,6.197,2698,1.711,2700,9.606,2703,2.98,2706,3.6,2765,6.766,2776,3.879,4664,2.375,5752,5.352,6099,5.578,6684,4.156,6688,7.944,6696,3.868,6697,4.884,6698,4.156,6699,3.32,6700,3.791,6701,4.047,6708,3.546,6709,3.868,6740,5.949,6756,3.495,6759,5.872,7243,2.864,7504,4.156,8173,6.237,8175,6.302,8176,3.32,8208,3.722,8209,3.952,8212,3.952,8213,4.284,8308,8.157,8309,8.5,8310,8.04,8328,3.6,8332,3.659,8355,6.859,10142,11.466,10143,7.59,10144,7.834,10145,7.834,10146,7.834,10147,7.834,10148,4.884,10149,5.273,10150,5.273,10151,4.884,10152,5.273,10153,5.273,10154,5.273,10155,5.273,10156,5.273,10157,7.257,10158,5.273,10159,7.257,10160,5.273,10161,7.257,10162,5.273,10163,4.628,10164,4.884,10165,4.884,10166,4.884,10167,4.884,10168,4.884,10169,4.884,10170,4.884,10171,4.884,10172,4.284,10173,4.436,10174,4.628,10175,8.659]],["title/classes/ExternalToolConfig.html",[0,0.241,2700,5.221]],["body/classes/ExternalToolConfig.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,9,4.429,27,0.495,29,0.729,30,0.001,31,0.536,32,0.172,33,0.436,47,0.863,95,0.106,101,0.012,103,0.001,104,0.001,112,0.921,232,3.177,433,1.173,435,3.28,2036,4.7,2109,4.183,2333,7.124,2696,6.031,2698,4.303,2699,8.033,2700,10.205,2701,8.843,2703,7.184,2707,6.865,2716,6.74,4726,5.815,10176,13.262,10177,11.739]],["title/classes/ExternalToolConfigCreateParams.html",[0,0.241,2720,5.109]],["body/classes/ExternalToolConfigCreateParams.html",[0,0.346,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,9,6.576,27,0.471,30,0.001,32,0.171,47,0.887,95,0.111,101,0.013,103,0.001,104,0.001,112,0.947,2036,4.923,2333,7.27,2696,5.899,2698,4.209,2703,7.331,2719,9.262,2720,8.857,10178,12.972,10179,9.999,10180,9.999]],["title/classes/ExternalToolConfigEntity.html",[0,0.241,2713,5.658]],["body/classes/ExternalToolConfigEntity.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,9,5.276,27,0.484,29,0.693,30,0.001,31,0.51,32,0.172,33,0.415,47,0.836,95,0.127,96,2.369,101,0.012,103,0.001,104,0.001,112,0.892,190,2.039,195,1.994,223,3.872,224,2.628,232,3.078,433,1.115,435,3.117,886,3.934,2036,4.467,2109,3.975,2333,6.963,2696,5.923,2698,4.226,2703,7.021,2707,6.524,2710,7.634,2712,5.77,2713,10.898,2716,6.405,3755,6.524,4726,5.526,10181,13.025,10182,11.374,10183,9.073]],["title/classes/ExternalToolConfigResponse.html",[0,0.241,2730,5.658]],["body/classes/ExternalToolConfigResponse.html",[0,0.346,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,9,6.576,27,0.471,30,0.001,32,0.171,47,0.887,95,0.111,101,0.013,103,0.001,104,0.001,112,0.947,2036,4.923,2333,7.27,2696,5.899,2698,4.209,2703,7.331,2729,8.124,2730,9.81,10184,12.972,10185,9.999,10186,9.999]],["title/injectables/ExternalToolConfigurationService.html",[589,0.926,10187,5.658]],["body/injectables/ExternalToolConfigurationService.html",[0,0.174,3,0.009,4,0.009,5,0.005,7,0.07,8,0.864,26,2.048,27,0.46,29,0.869,30,0.001,31,0.64,32,0.141,33,0.52,35,1.306,95,0.143,99,1.013,101,0.006,103,0,104,0,122,2.095,125,1.198,135,1.648,142,2.737,148,1.222,183,1.92,195,1.105,228,1.358,277,0.719,417,2.818,433,0.929,569,1.563,589,1.005,591,1.193,614,2.344,652,1.538,688,2.344,703,1.543,711,3.966,869,4.947,1725,3.55,1853,1.65,1883,1.887,2005,7.133,2006,5.968,2008,3.767,2035,6.515,2036,2.475,2088,2.155,2696,5.527,2698,4.174,2765,4.944,2776,6.817,5495,5.973,6078,9.067,6160,7.013,6288,4.108,6699,3.166,6982,3.489,7067,3.86,10187,6.143,10188,9.11,10189,4.658,10190,9.087,10191,9.087,10192,7.561,10193,9.087,10194,7.561,10195,8.871,10196,4.658,10197,7.414,10198,5.028,10199,6.666,10200,5.028,10201,10.038,10202,5.028,10203,7.383,10204,11.197,10205,5.028,10206,8.417,10207,5.028,10208,5.338,10209,7.561,10210,8.417,10211,5.028,10212,5.028,10213,5.028,10214,9.992,10215,7.561,10216,5.028,10217,5.028,10218,3.964,10219,5.028,10220,5.028,10221,5.028,10222,5.028,10223,6.362,10224,5.028,10225,5.028,10226,5.028,10227,7.561,10228,5.028,10229,4.085,10230,5.028,10231,5.028,10232,5.028,10233,4.413,10234,5.028,10235,5.028,10236,10.837,10237,5.028,10238,5.028,10239,7.004,10240,5.028,10241,5.028,10242,5.028,10243,6.362,10244,5.028,10245,5.028,10246,6.362,10247,5.028]],["title/injectables/ExternalToolConfigurationUc.html",[589,0.926,10248,5.86]],["body/injectables/ExternalToolConfigurationUc.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.052,8,0.685,26,2.862,27,0.429,29,0.84,30,0.001,31,0.618,32,0.14,33,0.503,34,0.638,35,1.213,36,2.639,39,3.365,95,0.142,99,0.752,100,1.302,101,0.005,103,0,104,0,135,1.678,148,0.927,153,0.97,183,5.007,228,1.9,277,0.534,290,1.783,317,2.875,433,0.737,478,1.046,579,1.712,589,0.797,591,0.886,595,1.416,610,1.472,614,2.668,652,2.505,657,2.891,688,1.741,693,2.727,703,1.84,711,3.662,869,3.679,980,4.146,1167,3.692,1775,6.515,1780,2.25,1862,5.623,1883,1.401,1936,2.511,1962,2.228,2005,6.791,2006,5.95,2008,2.987,2035,5.2,2036,1.838,2680,1.714,2696,5.162,2698,4.101,2776,5.621,2954,1.984,3319,2.128,3453,2.798,3598,4.824,4588,3.768,5138,3.21,5495,5.571,6160,2.591,6166,4.495,6167,4.604,6741,5.405,6764,5.485,6794,6.131,6824,6.917,6982,2.591,7044,6.197,7045,7.013,7062,3.733,7077,2.685,7078,4.312,7090,8.246,7104,2.943,7111,5.264,7116,3.033,7125,5.555,7139,3.458,10187,8.595,10195,5.264,10201,5.555,10203,6.107,10204,5.046,10206,6.962,10208,4.234,10210,5.555,10214,5.264,10233,3.277,10239,7.972,10246,5.046,10248,5.046,10249,10.514,10250,3.458,10251,6.962,10252,6.597,10253,6.962,10254,5.555,10255,7.517,10256,7.517,10257,2.943,10258,7.931,10259,3.733,10260,3.458,10261,3.733,10262,3.277,10263,3.733,10264,3.733,10265,3.733,10266,5.997,10267,3.733,10268,3.733,10269,3.733,10270,3.733,10271,3.733,10272,5.997,10273,3.733,10274,3.458,10275,3.458,10276,3.733,10277,3.033,10278,3.458,10279,3.733,10280,5.997,10281,5.997,10282,4.604,10283,5.555,10284,3.458,10285,3.733,10286,3.733,10287,5.997,10288,7.517,10289,3.033,10290,5.555,10291,5.555,10292,5.555,10293,3.733,10294,3.733,10295,3.733,10296,3.733,10297,3.733,10298,5.997,10299,3.733,10300,5.997,10301,3.733,10302,3.277,10303,5.555,10304,5.555,10305,5.264,10306,5.264]],["title/classes/ExternalToolContentBody.html",[0,0.241,6505,4.554]],["body/classes/ExternalToolContentBody.html",[0,0.474,2,0.576,3,0.01,4,0.01,5,0.005,7,0.076,9,2.532,27,0.213,30,0.001,31,0.682,32,0.172,33,0.367,47,0.95,83,1.601,95,0.125,99,1.1,101,0.017,103,0,104,0,110,1.898,112,0.631,130,3.283,155,1.742,157,2.436,190,0.979,195,1.2,200,1.671,201,3.708,202,1.253,223,1.701,231,2.025,296,3.71,299,4.975,300,4.497,339,1.601,360,3.138,854,5.062,855,3.255,886,1.728,899,2.495,1232,3.166,1749,3.111,1853,1.791,2049,3.893,2393,4.497,2912,2.613,2918,6.631,3159,2.471,3201,2.558,3581,3.226,3583,3.226,3586,3.196,3589,4.967,3593,2.823,3598,5.347,4065,3.325,4086,3.325,4485,5.479,6409,6.008,6411,6.08,6413,6.008,6415,6.707,6417,6.08,6419,6.08,6467,3.523,6504,6.238,6505,6.881,6506,6.238,6507,6.238,6508,6.238,6509,6.238,6847,6.713,8010,3.569,8080,3.196,9639,5.405,9640,3.671,9642,8.252,9643,6.238,9644,6.238,9645,6.238,9646,3.671,9647,6.238,9648,3.36,9649,3.618,9650,6.238,9651,6.881,9652,3.569,9653,3.569,9654,3.569,9655,3.569,9656,3.671,9657,3.671,9658,3.671,9659,3.671,9660,3.671,9661,3.671,10307,5.459,10308,5.459]],["title/classes/ExternalToolCreateParams.html",[0,0.241,10309,5.86]],["body/classes/ExternalToolCreateParams.html",[0,0.35,2,0.638,3,0.011,4,0.011,5,0.005,7,0.084,27,0.499,29,0.772,30,0.001,31,0.683,32,0.169,33,0.585,47,0.893,95,0.135,101,0.008,103,0,104,0,110,3.515,112,0.679,122,2.288,125,1.439,130,2.736,190,2.295,195,2.671,199,5.576,200,1.849,201,4.541,202,1.387,223,1.883,296,3.057,299,4.321,300,4.477,571,3.425,886,1.913,899,2.761,1220,3.474,1232,3.505,2035,6.903,2036,2.975,2088,4.731,2472,5.216,2531,5.451,2696,5.927,2698,4.229,2703,3.414,2706,4.125,2717,9.491,2720,6.347,2721,4.193,2918,5.713,3201,4.055,3362,6.222,4064,4.529,4065,3.68,4086,3.68,6317,6.776,6740,5.812,6771,4.909,6837,6.347,6840,5.084,6841,5.084,6842,4.763,6847,5.451,8173,6.093,8175,6.157,8328,4.125,8332,4.193,8361,9.491,8368,6.642,9653,5.657,9654,3.95,9655,5.657,10143,7.415,10309,7.281,10310,10.589,10311,4.909,10312,9.287,10313,9.829,10314,5.303,10315,5.597,10316,6.042,10317,6.042,10318,5.597,10319,5.303,10320,6.042,10321,6.042,10322,5.597,10323,5.597,10324,6.042,10325,6.042,10326,5.597,10327,6.042,10328,5.597,10329,6.042,10330,6.042]],["title/classes/ExternalToolElement.html",[0,0.241,3137,4.616]],["body/classes/ExternalToolElement.html",[0,0.231,2,0.703,3,0.012,4,0.012,5,0.006,7,0.093,8,1.06,27,0.526,29,0.958,30,0.001,31,0.705,32,0.162,33,0.573,35,1.505,36,1.96,47,0.891,55,1.879,59,2.071,95,0.103,101,0.014,103,0,104,0,112,0.727,113,3.684,122,2.211,125,2.746,130,2.509,134,2.36,148,1.048,158,2.46,159,0.681,189,5.708,197,1.862,231,1.84,317,2.307,435,3.185,436,3.878,527,2.832,532,3.401,567,2.485,569,3.767,653,2.741,657,1.524,711,2.686,735,4.196,1770,3.712,1773,6.495,1842,4.237,2051,2.82,2662,5.974,2698,3.46,3058,8.036,3061,6.546,3062,6.546,3063,6.546,3064,7.538,3065,6.546,3067,4.148,3068,5.647,3069,6.688,3071,6.331,3072,5.647,3073,6.628,3075,4.624,3076,4.963,3078,6.715,3079,4.624,3083,4.624,3085,4.148,3112,5.589,3137,7.642,3598,6.461,4346,4.792,4347,4.792,4348,4.792,4357,4.148,9663,4.624,9664,6.172,9665,5.849,9666,6.172,9668,5.607,9670,5.607,10331,9.878,10332,6.664,10333,6.664,10334,8.589,10335,6.172,10336,6.172,10337,6.172,10338,5.849,10339,6.172]],["title/classes/ExternalToolElementContent.html",[0,0.241,10340,5.86]],["body/classes/ExternalToolElementContent.html",[0,0.377,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,27,0.425,29,0.647,30,0.001,31,0.476,32,0.157,33,0.387,34,1.45,47,0.966,95,0.134,101,0.014,103,0.001,104,0.001,112,0.855,142,3.944,190,1.52,194,4.281,195,2.792,196,3.615,202,1.947,232,3.258,296,3.519,304,4.199,433,1.042,435,2.913,458,3.381,459,4.385,866,4.224,886,2.685,1853,2.782,2109,3.715,2393,3.249,2698,3.906,2926,4.918,3197,4.539,3198,4.539,3201,3.973,3598,6.747,3759,5.789,3771,5.011,4019,6.264,4023,5.544,4025,5.544,4404,8.364,4485,6.268,4726,5.164,6419,5.404,7890,6.509,9689,7.134,9690,7.854,10340,11.317,10341,11.151,10342,7.854,10343,7.854,10344,7.854]],["title/classes/ExternalToolElementContentBody.html",[0,0.241,9651,4.554]],["body/classes/ExternalToolElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,6.65,6417,6.018,6419,6.65,6467,3.462,6504,6.174,6505,6.823,6506,6.174,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,7.282,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,10345,5.364,10346,5.364]],["title/entities/ExternalToolElementNodeEntity.html",[205,1.419,3503,5.49]],["body/entities/ExternalToolElementNodeEntity.html",[0,0.304,3,0.016,4,0.016,5,0.008,7,0.122,27,0.342,30,0.001,32,0.109,33,0.509,95,0.148,96,2.291,101,0.014,103,0.001,104,0.001,112,0.874,134,3.108,135,1.142,148,0.863,159,0.897,190,1.573,195,2.447,196,2.912,205,2.27,206,2.863,224,2.542,231,1.922,232,2.375,457,4.879,614,3.452,1770,4.458,1853,2.879,2006,6.745,2049,4.545,2109,3.845,2662,5.302,2698,3.613,2715,4.959,3467,5.961,3477,6.646,3503,8.779,3549,5.344,3577,9.775,3899,5.901,3922,6.783,3942,5.402,4448,5.526,4450,5.526,5727,5.192,6778,9.439,6779,7.384,10347,10.316,10348,8.776,10349,7.702,10350,8.128,10351,9.775,10352,8.128,10353,8.128,10354,8.128]],["title/interfaces/ExternalToolElementNodeEntityProps.html",[159,0.712,10351,6.113]],["body/interfaces/ExternalToolElementNodeEntityProps.html",[0,0.307,3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,32,0.11,33,0.512,95,0.148,96,2.316,101,0.014,103,0.001,104,0.001,112,0.88,134,3.142,135,1.154,148,0.872,159,0.907,161,2.113,195,1.95,196,2.944,205,2.285,224,2.57,231,2.122,232,2.401,457,4.932,614,3.477,1770,4.489,1853,2.911,2006,6.985,2049,3.621,2109,3.887,2662,5.339,2698,2.879,2715,5.014,3467,6.003,3477,6.692,3503,6.994,3549,5.404,3577,9.843,3899,5.966,3922,7.489,3942,5.462,4448,5.587,4450,5.587,5727,5.228,6778,9.774,6779,7.465,10347,8.218,10350,8.218,10351,10.793,10352,8.218,10353,8.218,10354,8.218]],["title/interfaces/ExternalToolElementProps.html",[159,0.712,10338,6.113]],["body/interfaces/ExternalToolElementProps.html",[0,0.308,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.139,33,0.514,36,1.883,47,0.981,95,0.125,101,0.016,103,0.001,104,0.001,112,0.882,122,1.848,125,2.679,130,2.412,134,3.156,148,1.211,158,3.29,159,0.911,161,2.123,197,2.491,231,2.126,317,1.928,527,3.787,567,3.323,569,2.77,653,3.665,657,2.038,1842,5.139,2051,3.771,2698,2.891,3058,6.779,3064,5.827,3068,5.427,3069,6.523,3072,5.427,3073,6.465,3112,7.427,3137,8.167,3598,7.478,4357,5.547,9663,6.184,10331,8.255,10334,10.417,10335,8.255,10336,8.255,10337,8.255,10338,9.871,10339,8.255]],["title/classes/ExternalToolElementResponse.html",[0,0.241,4404,5.346]],["body/classes/ExternalToolElementResponse.html",[0,0.36,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,27,0.501,29,0.604,30,0.001,31,0.444,32,0.171,33,0.361,34,1.991,47,0.909,95,0.13,101,0.013,103,0,104,0,112,0.817,142,2.864,190,2.218,194,3.109,195,2.289,196,2.625,202,1.816,232,3.151,296,3.573,304,3.917,433,0.972,435,2.718,458,3.155,459,4.092,886,2.505,1853,2.595,2109,3.466,2393,4.462,2698,4.283,2926,6.754,3196,5.172,3197,5.575,3198,5.575,3200,4.721,3201,4.881,3598,4.434,3759,5.401,3771,4.675,4019,6.694,4023,5.172,4025,5.172,4404,9.869,4485,6.693,4726,4.818,6419,6.637,7890,6.073,9698,6.656,9699,7.328,9700,6.943,9701,7.328,9702,6.943,10340,10.41,10341,12.227,10342,7.328,10343,7.328,10344,7.328]],["title/classes/ExternalToolElementResponseMapper.html",[0,0.241,6440,6.113]],["body/classes/ExternalToolElementResponseMapper.html",[0,0.269,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,8,1.176,27,0.479,29,0.786,30,0.001,31,0.578,32,0.152,33,0.47,34,1.329,35,1.324,95,0.129,100,2.711,101,0.01,103,0,104,0,112,0.808,122,2.134,135,1.011,141,4.412,142,2.814,148,1.135,153,1.987,430,3.197,467,3.823,652,2.348,653,3.197,711,2.252,829,4.594,830,5.723,833,6.315,835,5.967,1237,2.982,1853,2.55,2049,5.552,2140,4.43,2393,2.979,2653,8.467,2656,7.903,2657,7.903,2659,7.717,2698,4.147,2926,4.509,3137,9.018,3598,4.356,4019,5.918,4035,5.487,4404,9.433,4485,4.047,5927,7.185,6419,4.954,6438,5.967,6440,11.76,9704,9.21,9705,6.128,9712,6.128,9713,6.128,9714,6.128,10340,8.662,10355,12.783,10356,6.822,10357,11.543,10358,7.773]],["title/entities/ExternalToolEntity.html",[205,1.419,10359,5.008]],["body/entities/ExternalToolEntity.html",[0,0.216,3,0.012,4,0.012,5,0.006,7,0.087,27,0.519,29,0.785,30,0.001,31,0.578,32,0.167,33,0.608,47,0.948,55,1.792,95,0.132,96,1.626,101,0.011,103,0,104,0,110,3.575,112,0.694,122,2.32,190,2.386,195,2.988,196,4.074,205,1.802,206,2.032,211,6.173,219,4.878,223,4.238,224,1.805,225,3.389,228,1.119,229,2.457,231,1.075,232,1.686,233,1.931,417,3.491,614,1.931,1220,3.581,1835,4.544,2035,5.671,2036,3.067,2088,4.797,2133,5.061,2134,5.77,2184,2.466,2696,6.124,2708,9.092,4648,6.038,4654,5.426,4655,3.491,4664,2.806,5752,5.318,6708,4.189,6709,4.569,6740,5.911,6756,4.129,6759,4.67,6780,5.061,6794,3.794,7243,3.384,7504,4.911,8173,6.197,8175,6.262,8176,3.923,8208,4.398,8209,4.67,8212,4.67,8213,5.061,8270,9.092,10143,7.542,10172,5.061,10173,5.242,10174,5.468,10359,6.359,10360,13.467,10361,8.651,10362,9.092,10363,9.092,10364,5.77,10365,6.23,10366,5.77,10367,5.77,10368,6.23,10369,6.23,10370,6.23,10371,6.23,10372,6.23,10373,5.77,10374,6.23,10375,8.192,10376,6.23,10377,6.23]],["title/classes/ExternalToolEntityFactory.html",[0,0.241,10378,6.451]],["body/classes/ExternalToolEntityFactory.html",[0,0.14,2,0.426,3,0.007,4,0.007,5,0.004,7,0.056,8,0.729,27,0.515,29,1,30,0.001,31,0.736,32,0.168,33,0.565,34,1.354,35,1.336,47,0.831,55,2.211,59,3.046,95,0.1,101,0.01,103,0,104,0,110,1.404,112,0.501,113,4.14,127,4.509,129,3.532,130,3.062,135,1.42,148,1.073,153,1.455,157,2.083,172,2.724,185,2.186,192,2.227,195,0.887,197,2.213,205,1.997,206,2.083,228,1.146,231,1.101,290,0.958,300,1.547,326,4.894,374,2.772,417,2.263,433,0.496,436,3.71,467,1.858,501,7.054,502,5.002,505,3.549,506,5.002,507,5.173,508,3.549,509,3.549,510,3.549,511,3.494,512,4.042,513,4.401,514,6.479,515,5.364,516,6.834,517,2.263,522,2.245,523,3.549,524,2.263,525,4.716,526,4.851,527,3.824,528,4.565,529,3.521,530,2.245,531,2.116,532,3.821,533,2.146,534,2.116,535,2.245,536,2.263,537,4.333,538,2.245,539,7.219,540,3.754,541,6.29,542,2.263,543,3.853,544,2.245,545,2.263,546,2.245,547,2.263,548,2.245,549,2.513,550,2.363,551,2.245,552,5.703,553,2.263,554,2.245,555,3.549,556,3.239,557,3.549,558,2.263,559,2.177,560,2.146,561,1.818,562,2.245,563,2.245,564,2.245,565,2.263,566,2.263,567,1.505,568,2.245,569,1.255,570,2.263,571,2.527,572,2.245,573,2.263,575,2.321,576,2.386,577,5.848,614,1.252,756,1.61,1598,3.772,2034,2.903,2088,3.856,2125,3.346,2136,3.74,2333,5.043,2698,3.541,2703,2.282,2706,5.405,2708,6.432,2770,2.85,5223,2.573,5376,4.785,5752,2.088,6150,3.099,6160,2.801,6166,3.026,6288,1.641,6369,3.219,6686,2.061,6740,2.321,6792,2.485,6809,2.757,8152,2.676,8158,2.64,8160,4.173,8161,3.397,8162,2.64,8172,2.605,8173,2.434,8175,2.459,8270,5.186,8306,2.961,8311,2.542,8328,2.757,8335,3.397,8337,2.903,8344,3.397,8354,7.57,8356,3.397,10359,4.59,10361,3.397,10362,5.186,10363,5.186,10375,5.913,10378,7.333,10379,10.42,10380,4.037,10381,8.998,10382,8.334,10383,5.913,10384,5.913,10385,4.037,10386,4.037,10387,4.037,10388,5.913,10389,4.037,10390,6.383,10391,4.037,10392,8.998,10393,4.037,10394,4.037,10395,3.28,10396,3.397,10397,4.037,10398,4.037,10399,4.037]],["title/classes/ExternalToolFactory.html",[0,0.241,8346,5.86]],["body/classes/ExternalToolFactory.html",[0,0.26,2,0.394,3,0.007,4,0.007,5,0.003,7,0.052,8,0.686,27,0.503,29,0.993,30,0.001,31,0.718,32,0.166,33,0.563,34,1.026,35,1.302,47,0.441,55,2.413,59,3.42,95,0.105,101,0.012,103,0,104,0,110,1.299,112,0.471,113,4.002,127,4.316,129,3.259,130,2.978,135,1.603,148,1.17,157,1.741,172,2.561,185,2.056,192,2.061,197,2.407,205,1.533,206,1.958,228,1.078,231,1.486,290,0.886,300,1.432,326,4.99,374,2.606,417,2.094,433,0.459,436,3.64,467,1.747,501,6.692,502,4.787,505,3.337,506,4.787,507,4.887,508,3.337,509,3.337,510,3.337,511,3.285,512,3.84,513,4.181,514,6.329,515,5.162,516,6.639,517,2.094,522,2.077,523,3.337,524,2.094,525,4.514,526,4.643,527,3.66,528,4.369,529,3.31,530,2.077,531,1.959,532,3.694,533,1.986,534,1.959,535,2.077,536,2.094,537,4.117,538,2.077,539,7.604,540,3.651,541,6.118,542,2.094,543,2.921,544,2.077,545,2.094,546,2.077,547,2.094,548,2.077,551,2.077,552,5.512,553,2.094,554,2.077,555,3.337,556,3.045,557,3.337,558,2.094,559,2.015,560,1.986,561,1.683,562,2.077,563,2.077,564,2.077,565,2.094,566,2.094,567,1.393,568,2.077,569,1.161,570,2.094,571,2.376,572,2.077,573,2.094,575,2.148,576,2.208,577,5.139,614,1.158,756,1.49,1220,2.148,1598,3.547,2008,1.861,2034,2.687,2085,2.593,2088,3.224,2125,3.146,2333,4.215,2695,2.741,2698,1.212,2703,2.112,2706,2.551,2765,3.924,2770,2.638,2776,1.85,4696,6.658,4698,2.687,5223,2.381,5376,4.499,5752,1.933,6150,2.869,6160,2.593,6166,4.499,6167,2.869,6288,3.834,6369,3.026,6686,1.908,6740,2.148,6803,3.036,6808,2.946,6809,2.551,8152,2.477,8158,2.443,8160,2.443,8162,2.443,8172,2.411,8173,2.252,8175,2.276,8301,5.05,8302,8.278,8304,3.28,8306,2.741,8307,4.499,8308,2.946,8309,2.741,8310,2.593,8311,2.353,8312,3.28,8313,3.28,8314,3.28,8315,6.601,8316,5.05,8317,3.28,8318,3.618,8319,3.036,8320,2.741,8321,2.869,8322,3.28,8323,2.801,8324,3.28,8325,3.28,8326,3.28,8327,3.28,8328,2.551,8329,3.28,8330,3.28,8331,3.28,8332,2.593,8333,3.28,8334,3.28,8335,3.144,8336,3.28,8337,2.687,8338,5.268,8339,6.601,8340,2.946,8341,5.268,8342,5.268,8343,3.28,8344,3.144,8345,2.946,8346,6.328,8347,5.268,8348,3.28,8349,5.268,8350,3.28,8351,5.268,8352,8.839,8353,3.28,8354,7.246,8355,2.477,8356,3.144,8357,3.28,8358,3.28,8359,3.28,8360,3.28,10382,5.559,10384,5.559,10400,6.002,10401,3.737,10402,3.737,10403,3.737,10404,3.737]],["title/classes/ExternalToolIdParams.html",[0,0.241,10405,6.113]],["body/classes/ExternalToolIdParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,190,1.792,194,4.745,195,2.653,196,3.318,197,3.375,200,3.06,202,2.296,296,3.159,307,7.334,855,4.889,2696,5.491,2698,3.918,6739,9.157,6812,8.413,6813,8.776,10310,9.81,10405,10.598]],["title/classes/ExternalToolLogo.html",[0,0.241,10406,5.86]],["body/classes/ExternalToolLogo.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,27,0.499,29,0.739,30,0.001,31,0.544,32,0.158,33,0.443,47,0.87,101,0.012,103,0.001,104,0.001,112,0.929,433,1.19,2696,6.061,2698,4.324,6572,7.291,6661,8.149,8027,9.965,8355,8.48,10142,11.214,10163,8.501,10406,11.703,10407,9.686,10408,11.843,10409,11.843,10410,9.686,10411,9.686,10412,8.971]],["title/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.241,10413,6.113]],["body/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.236,2,0.72,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,27,0.515,29,0.521,30,0.001,31,0.383,32,0.17,33,0.493,35,1.081,47,0.929,55,1.382,59,2.12,95,0.12,101,0.009,103,0,104,0,112,0.739,148,0.671,155,3.717,190,2.191,228,2.481,231,1.626,233,2.115,277,0.976,339,2,393,3.378,400,2,402,2.454,433,0.838,436,3.734,614,3.347,644,7.093,652,1.388,868,5.605,871,2.51,998,5.113,1027,2.088,1078,2.989,1080,4.037,1115,4.432,1237,2.73,1354,8.438,1355,6.208,1356,7.06,1360,4.522,1361,3.922,1362,4.522,1363,4.522,1364,4.522,1365,4.522,1366,4.522,1367,4.2,1368,7.46,1374,4.403,1422,5.06,1423,5.034,1426,5.172,1462,3.678,1468,5.034,1469,5.285,1477,3.483,1478,3.626,2105,5.74,2696,4.91,2698,4.101,2990,9.462,6740,6.208,6756,4.522,8355,8.378,10413,8.272,10414,8.772,10415,6.319,10416,4.522,10417,5.74,10418,9.425,10419,7.43,10420,6.822]],["title/classes/ExternalToolLogoFetchedLoggable.html",[0,0.241,10421,6.113]],["body/classes/ExternalToolLogoFetchedLoggable.html",[0,0.315,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,8,1.301,27,0.444,29,0.694,30,0.001,31,0.511,32,0.141,33,0.415,35,1.043,47,0.914,95,0.101,101,0.012,103,0.001,104,0.001,148,0.894,228,1.633,339,2.666,400,2.666,433,1.117,614,2.819,1027,2.783,1115,3.461,1237,3.299,1418,7.651,1422,4.978,1423,5.798,1426,5.789,1468,5.798,1469,6.087,2696,5.656,2698,4.229,6740,7.15,6756,6.027,8355,8.64,10414,10.104,10415,8.423,10419,10.276,10421,9.997,10422,9.094,10423,9.094,10424,9.094]],["title/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.241,10425,6.113]],["body/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.434,29,0.67,30,0.001,31,0.493,32,0.138,33,0.401,35,1.006,47,0.899,95,0.124,101,0.011,103,0.001,104,0.001,148,0.863,228,1.576,231,1.922,233,2.72,277,1.255,339,2.573,347,6.612,400,2.573,433,1.078,614,2.72,1027,2.685,1115,3.34,1237,3.226,1422,5.433,1423,5.704,1426,5.715,1462,4.731,1465,6.089,1468,5.704,1469,5.988,1477,4.48,1478,4.664,2696,5.564,2698,4.175,2954,6.502,6739,8.637,6751,7.384,8355,8.53,10119,6.437,10414,9.94,10425,9.775,10426,8.128,10427,8.776]],["title/classes/ExternalToolLogoService.html",[0,0.241,10258,5.221]],["body/classes/ExternalToolLogoService.html",[0,0.166,2,0.507,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,26,2,27,0.453,29,0.888,30,0.001,31,0.653,32,0.144,33,0.531,34,1.248,35,1.283,36,2.364,47,0.969,95,0.142,99,0.967,101,0.006,103,0,104,0,125,2.351,127,5.605,135,1.716,145,1.802,148,1.178,153,1.938,228,1.773,277,0.686,317,2.655,433,0.897,569,2.269,579,3.193,614,1.488,629,2.533,652,2.546,653,3.633,657,2.02,688,2.238,871,1.766,1027,1.469,1053,7.938,1054,2.712,1055,5.604,1056,3.097,1078,2.103,1080,3.062,1167,2.955,1328,2.551,1422,1.921,1883,1.802,2084,3.182,2088,2.057,2099,5.472,2114,5.249,2447,4.859,2696,5.448,2698,4.128,2776,6.3,6572,5.626,6740,2.759,7044,7.157,7133,3.9,8027,10.081,8355,6.543,8500,3.598,10188,8.981,10196,4.446,10197,7.241,10199,6.48,10218,3.784,10258,5.472,10289,3.9,10361,6.142,10406,8.935,10413,4.213,10421,4.213,10425,4.213,10428,4.8,10429,7.3,10430,7.3,10431,7.3,10432,7.3,10433,7.3,10434,7.3,10435,4.8,10436,7.3,10437,4.8,10438,7.3,10439,4.8,10440,4.8,10441,7.3,10442,4.8,10443,7.3,10444,4.8,10445,7.3,10446,4.8,10447,2.647,10448,7.3,10449,4.8,10450,4.446,10451,6.407,10452,10.204,10453,4.8,10454,4.8,10455,7.3,10456,4.8,10457,4.8,10458,4.446,10459,4.8,10460,4.8,10461,4.213,10462,4.8,10463,4.8,10464,4.8,10465,4.8,10466,4.446,10467,4.8,10468,6.762,10469,4.8,10470,7.3,10471,3.451,10472,8.834,10473,4.8,10474,4.8,10475,3.182,10476,4.446,10477,3.521,10478,4.8,10479,4.8,10480,4.8,10481,4.8,10482,7.3,10483,4.8,10484,4.213,10485,4.8,10486,4.8,10487,7.3,10488,4.8,10489,4.8,10490,4.8,10491,4.8,10492,4.8]],["title/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.241,10451,6.113]],["body/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.233,2,0.709,3,0.012,4,0.012,5,0.006,7,0.094,8,1.066,27,0.513,29,0.513,30,0.001,31,0.377,32,0.169,33,0.489,35,1.07,47,0.924,55,2.345,95,0.119,101,0.009,103,0,104,0,112,0.732,125,2.552,148,0.66,155,3.693,190,2.179,228,2.475,231,1.609,233,2.083,277,0.961,339,1.97,393,3.327,402,2.417,433,1.146,436,3.716,614,3.321,652,1.897,868,5.569,870,6.885,871,2.472,998,5.072,1027,2.056,1078,2.944,1080,4.011,1115,4.403,1237,2.702,1354,8.41,1355,6.158,1356,7.003,1360,4.454,1361,3.863,1362,4.454,1363,4.454,1364,4.454,1365,4.454,1366,4.454,1367,4.136,1368,3.797,1374,4.336,1375,5.158,1422,5.036,1423,4.994,1426,5.139,1462,3.623,1468,4.994,1469,5.243,1477,3.431,1478,3.571,2696,4.871,2698,4.082,6739,7.562,6751,5.654,8355,8.338,10414,8.702,10416,4.454,10426,6.224,10451,8.186,10493,11.652,10494,10.155,10495,6.72,10496,9.326,10497,6.72]],["title/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.241,10452,6.113]],["body/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.241,2,0.734,3,0.013,4,0.013,5,0.012,7,0.097,8,1.091,27,0.517,30,0.001,32,0.175,33,0.436,35,1.095,47,0.801,55,1.409,95,0.122,101,0.009,103,0,104,0,112,0.749,148,0.683,155,3.747,190,2.206,228,2.445,231,1.647,233,2.155,277,0.994,393,3.443,402,2.501,433,1.34,436,3.755,614,3.381,868,5.65,871,2.558,998,5.164,1027,2.127,1078,3.046,1080,4.069,1115,4.468,1237,2.766,1354,8.473,1355,6.269,1356,7.13,1360,4.608,1361,3.997,1362,4.608,1363,4.608,1364,4.608,1365,4.608,1366,4.608,1367,4.28,1368,3.929,1374,4.486,1375,5.337,1422,5.089,1423,5.084,1426,5.214,1462,3.748,1468,5.084,1469,5.338,1477,3.55,1478,3.695,1622,6.866,2696,4.959,2698,4.125,5234,4.57,8355,8.426,8831,9.759,10414,8.86,10416,4.608,10417,5.85,10452,8.38,10498,9.548,10499,9.548,10500,8.844]],["title/classes/ExternalToolMetadata.html",[0,0.241,10501,5.49]],["body/classes/ExternalToolMetadata.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.495,29,0.727,30,0.001,31,0.535,32,0.157,33,0.435,55,2.375,95,0.106,101,0.012,103,0.001,104,0.001,112,0.92,183,3.637,433,1.17,614,2.953,1078,5.136,2696,6.026,2698,4.299,6783,7.14,6792,5.863,10142,11.149,10501,10.92,10502,8.822,10503,9.519,10504,10.685,10505,11.722,10506,11.722,10507,8.822,10508,8.822,10509,8.822,10510,8.014,10511,8.822]],["title/classes/ExternalToolMetadataMapper.html",[0,0.241,10512,5.86]],["body/classes/ExternalToolMetadataMapper.html",[0,0.328,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,8,1.336,27,0.369,29,0.724,30,0.001,31,0.533,32,0.117,33,0.433,35,1.087,95,0.141,101,0.012,103,0.001,104,0.001,135,1.233,148,0.932,153,1.89,467,3.689,837,4.694,1883,3.558,2696,5.315,2698,3.792,6772,9.214,10501,10.711,10503,7.106,10504,7.976,10509,8.781,10511,8.781,10512,9.834,10513,10.258,10514,8.781,10515,11.688,10516,11.688,10517,8.781,10518,11.391,10519,7.702]],["title/classes/ExternalToolMetadataResponse.html",[0,0.241,10518,5.658]],["body/classes/ExternalToolMetadataResponse.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,27,0.489,29,0.709,30,0.001,31,0.521,32,0.155,33,0.424,55,2.338,95,0.129,101,0.012,103,0.001,104,0.001,112,0.905,190,2.068,202,2.131,296,3.534,433,1.14,2696,5.972,2698,4.261,6772,9.896,7848,7.81,10503,9.41,10504,10.562,10508,8.598,10510,7.81,10518,11.184,10519,7.541,10520,11.525,10521,11.537,10522,11.537,10523,8.598,10524,9.283,10525,9.283]],["title/injectables/ExternalToolMetadataService.html",[589,0.926,10526,5.86]],["body/injectables/ExternalToolMetadataService.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.131,26,2.432,27,0.386,29,0.756,30,0.001,31,0.556,32,0.149,33,0.452,34,1.254,35,1.135,36,2.369,47,0.824,55,1.486,95,0.15,99,1.477,101,0.009,103,0,104,0,135,1.681,145,3.717,148,0.721,153,1.186,183,2.8,228,1.778,277,1.049,279,3.04,317,2.425,433,1.216,589,1.316,591,1.74,614,3.069,652,2.014,657,2.564,703,2.25,756,2.924,980,4.045,1078,3.213,1223,5.497,1883,2.753,1913,8.804,2005,6.379,2008,3.653,2035,5.461,2036,3.61,2636,3.589,2696,5.098,2698,3.637,4174,6.658,5495,4.334,6080,8.997,6783,7.422,6792,4.514,6863,8.69,6898,8.69,6921,6.17,6922,6.17,6980,6.17,10188,8.403,10208,5.177,10229,5.958,10447,4.045,10501,9.882,10503,5.497,10504,6.17,10526,8.331,10527,6.792,10528,7.333,10529,10.383,10530,7.333,10531,9.901,10532,9.901,10533,7.333,10534,5.958,10535,6.436,10536,7.333,10537,6.792,10538,7.805,10539,6.792,10540,6.792,10541,9.171,10542,7.333,10543,6.792]],["title/modules/ExternalToolModule.html",[252,1.839,6821,5.49]],["body/modules/ExternalToolModule.html",[0,0.228,3,0.012,4,0.012,5,0.006,30,0.001,95,0.152,101,0.008,103,0,104,0,252,2.795,254,2.366,255,2.511,256,2.575,257,2.565,258,2.556,259,3.846,260,3.935,265,5.796,269,3.597,270,2.529,271,2.477,276,3.597,277,0.94,279,2.727,610,2.594,675,3.358,1027,2.013,1054,3.716,2696,2.991,2698,2.134,3904,6.007,5074,3.358,5206,4.643,5776,3.85,6072,9.366,6082,5.343,6821,11.588,6823,9.366,6830,5.048,6980,5.533,7044,8.452,9906,9.366,10187,11.155,10258,9.807,10512,7.73,10526,11.553,10534,7.464,10535,5.772,10544,6.577,10545,6.577,10546,6.577,10547,6.577,10548,10.151,10549,11.553,10550,11.553,10551,10.513,10552,10.513,10553,10.513,10554,6.577,10555,4.49]],["title/injectables/ExternalToolParameterValidationService.html",[589,0.926,10551,5.86]],["body/injectables/ExternalToolParameterValidationService.html",[0,0.139,3,0.007,4,0.007,5,0.004,7,0.056,8,0.726,27,0.474,29,0.943,30,0.001,31,0.704,32,0.155,33,0.555,35,1.366,36,1.895,72,1.843,95,0.121,101,0.005,103,0,104,0,122,2.754,127,5.208,129,2.335,130,2.134,135,1.167,142,2.3,148,1.286,153,1.998,195,2.481,197,2.204,228,1.141,277,0.574,317,2.248,338,6.95,340,2.527,388,3.843,393,1.987,415,2.287,417,7.536,433,0.781,571,1.589,579,3.319,589,0.845,591,0.952,614,1.244,629,2.118,640,2.47,652,2.827,657,1.453,983,4.1,1086,1.911,1087,1.852,1088,1.881,1220,6.491,1328,2.133,1883,1.506,2036,1.976,2234,2.74,2345,2.444,2465,2.372,2696,5.62,2698,4.121,2765,9.113,2776,5.896,3614,7.545,6079,8.583,6116,3.164,6144,3.717,6160,2.785,6176,3.717,6178,2.372,6186,8.845,6196,3.717,6198,5.345,6199,5.345,6203,5.025,6288,1.631,6699,2.527,7044,6.398,7067,3.081,7133,3.26,7138,5.345,7472,4.408,8340,5.008,10188,9.263,10243,3.377,10257,3.164,10471,2.886,10551,5.345,10556,6.353,10557,6.353,10558,6.353,10559,6.353,10560,6.353,10561,6.353,10562,6.353,10563,6.353,10564,6.353,10565,6.353,10566,3.522,10567,6.353,10568,4.013,10569,6.353,10570,4.013,10571,6.353,10572,6.353,10573,4.013,10574,6.353,10575,4.013,10576,6.353,10577,4.013,10578,6.353,10579,4.013,10580,6.353,10581,4.013,10582,6.353,10583,4.013,10584,6.353,10585,3.522,10586,4.013,10587,4.013,10588,4.013,10589,6.053,10590,4.013,10591,4.013,10592,4.013,10593,4.013,10594,4.013,10595,4.013,10596,2.944,10597,4.013,10598,4.013,10599,3.081,10600,4.013,10601,4.013,10602,4.013,10603,3.008,10604,4.013,10605,4.013,10606,4.013,10607,4.013,10608,4.013,10609,3.522,10610,4.013,10611,3.717,10612,4.013,10613,6.353,10614,4.013,10615,6.353,10616,4.013,10617,4.013,10618,4.013,10619,7.304,10620,4.013,10621,4.013,10622,4.013,10623,4.013,10624,6.353,10625,6.353,10626,4.013,10627,6.353]],["title/interfaces/ExternalToolProps.html",[159,0.712,8308,5.49]],["body/interfaces/ExternalToolProps.html",[0,0.213,3,0.011,4,0.011,5,0.006,7,0.086,29,0.898,30,0.001,31,0.66,32,0.166,33,0.62,34,1.902,47,1.039,55,2.382,95,0.136,101,0.011,103,0,104,0,110,4.088,112,0.687,122,2.666,148,1.093,153,1.799,159,0.628,161,1.463,231,1.06,232,1.663,277,0.879,467,2.97,579,1.754,1237,1.78,1312,2.894,1852,5.175,2035,6.485,2036,3.025,2088,5.689,2133,8.289,2184,2.432,2695,8.965,2696,2.794,2698,1.993,2700,8.337,2703,3.472,2706,4.195,2765,7.687,2776,3.042,4664,2.767,5752,6.081,6099,5.225,6684,4.843,6688,4.716,6698,4.843,6699,3.869,6700,4.418,6701,4.716,6708,4.131,6709,4.507,6740,6.759,6756,4.072,6759,6.564,7243,3.337,7504,4.843,8173,7.087,8175,7.16,8176,3.869,8208,4.337,8209,4.605,8212,4.605,8213,4.991,8308,8.043,8309,8.965,8310,8.481,8328,4.195,8332,4.263,8355,7.793,10142,5.169,10143,8.624,10157,5.691,10159,5.691,10161,5.691,10163,5.392,10164,5.691,10165,5.691,10166,5.691,10167,5.691,10168,5.691,10169,5.691,10170,5.691,10171,5.691,10172,4.991,10173,5.169,10174,5.392,10175,9.451]],["title/entities/ExternalToolPseudonymEntity.html",[205,1.419,10628,5.008]],["body/entities/ExternalToolPseudonymEntity.html",[0,0.288,3,0.015,4,0.015,5,0.007,7,0.116,26,2.181,27,0.465,30,0.001,32,0.148,34,1.423,39,3.626,47,0.877,49,5.13,95,0.141,96,2.81,97,3.356,99,1.677,101,0.014,103,0.001,104,0.001,112,0.936,142,3.012,159,0.851,190,2.139,205,2.194,206,2.715,219,6.581,223,4.171,224,2.41,225,4.125,229,3.282,231,1.436,232,2.252,233,2.579,242,4.391,243,5.24,458,3.318,459,5.567,614,2.579,2698,4.239,4655,4.663,10447,7.206,10628,7.74,10629,11.686,10630,7.707,10631,7.385,10632,7.001,10633,8.321,10634,8.321,10635,8.321,10636,9.057,10637,5.595,10638,6.76,10639,7.001,10640,6.103,10641,6.559]],["title/interfaces/ExternalToolPseudonymEntityProps.html",[159,0.712,10636,5.86]],["body/interfaces/ExternalToolPseudonymEntityProps.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.117,26,2.568,30,0.001,32,0.157,33,0.496,34,2.167,39,3.727,47,0.931,49,5.266,95,0.141,96,2.833,97,3.399,99,1.698,101,0.014,103,0.001,104,0.001,112,0.942,142,3.05,159,0.862,161,2.007,205,2.211,219,6.62,223,3.95,224,2.441,225,4.158,229,3.323,231,1.454,232,2.28,233,2.612,242,4.447,243,5.305,458,3.36,459,5.612,614,2.612,2698,3.521,4655,4.722,10447,7.406,10628,6.059,10629,7.804,10630,7.804,10631,7.678,10636,10.099,10637,5.666,10638,6.845,10639,7.089,10640,6.18,10641,6.642]],["title/injectables/ExternalToolPseudonymRepo.html",[589,0.926,10642,5.86]],["body/injectables/ExternalToolPseudonymRepo.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.784,13,4.841,26,2.736,27,0.477,29,0.935,30,0.001,31,0.688,32,0.152,33,0.559,34,0.757,35,1.374,36,2.816,39,3.398,42,4.841,47,0.617,49,1.666,56,2.084,58,2.893,59,1.375,95,0.134,96,1.155,97,1.785,99,0.891,101,0.006,103,0,104,0,113,4.302,125,1.054,135,1.746,142,3.424,148,1.225,153,2.047,205,2.379,206,3.086,228,0.795,277,0.633,279,1.834,317,2.953,365,1.965,400,1.297,430,1.82,431,1.896,433,0.544,540,2.786,589,0.912,591,1.05,595,1.678,657,2.476,773,6.269,863,3.782,869,4.63,1770,4.521,1853,1.452,1883,1.661,2446,5.138,2462,3.07,2498,3.07,2698,4.045,3102,4.133,3644,2.82,3649,3.908,3707,3.316,4768,2.667,4782,3.396,4783,3.396,4798,4.841,6288,3.413,6895,3.021,7638,5.061,7924,5.823,7953,3.245,7954,3.245,10447,6.754,10628,8.805,10631,8.028,10636,7.958,10637,4.611,10642,5.77,10643,12.468,10644,4.424,10645,6.352,10646,6.019,10647,6.352,10648,6.352,10649,6.352,10650,5.77,10651,5.77,10652,6.352,10653,4.424,10654,6.352,10655,4.424,10656,6.019,10657,4.424,10658,4.424,10659,6.352,10660,4.424,10661,6.352,10662,4.424,10663,6.352,10664,7.958,10665,4.424,10666,5.264,10667,4.424,10668,6.352,10669,4.424,10670,6.352,10671,4.424,10672,6.019,10673,4.424,10674,4.424,10675,6.019,10676,9.48,10677,6.858,10678,4.424,10679,3.723,10680,4.098,10681,4.424,10682,3.723,10683,4.098,10684,4.424,10685,3.883,10686,4.098,10687,5.77,10688,4.424,10689,4.424,10690,4.098,10691,4.098,10692,3.883,10693,4.098,10694,4.098,10695,4.098,10696,3.723,10697,4.424,10698,4.424,10699,4.424,10700,3.883,10701,4.424,10702,3.883,10703,3.883]],["title/injectables/ExternalToolRepo.html",[589,0.926,10552,5.86]],["body/injectables/ExternalToolRepo.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.057,8,0.742,10,2.611,12,2.94,18,3.256,26,2.132,27,0.508,29,0.986,30,0.001,31,0.739,32,0.163,33,0.59,34,1.111,35,1.466,36,2.701,40,1.998,47,0.773,55,0.837,56,1.945,58,2.699,59,1.283,95,0.139,96,1.696,97,1.665,101,0.005,103,0,104,0,112,0.324,113,1.64,135,1.681,142,3.985,148,1.18,153,1.051,185,2.225,205,2.391,206,2.12,224,1.196,228,1.167,231,1.121,279,1.712,317,2.964,365,1.834,433,0.507,436,3.547,540,2.665,569,1.283,589,0.864,591,0.979,595,1.566,614,1.28,652,2.14,657,2.083,729,4.436,735,2.94,736,4.877,766,2.21,770,2.6,787,3.169,788,2.819,790,2.776,800,3.824,863,3.583,869,4.459,1027,1.263,1770,4.901,1853,1.355,2008,2.057,2088,2.785,2140,2.353,2232,3.703,2437,8.76,2439,4.672,2440,4.586,2441,4.586,2442,4.672,2443,4.672,2444,4.586,2445,2.969,2446,4.948,2447,3.808,2448,4.269,2450,4.672,2451,2.969,2453,2.969,2455,5.956,2456,4.436,2457,2.969,2460,4.672,2462,2.865,2463,7.426,2464,4.586,2465,3.839,2467,2.969,2468,4.672,2470,2.969,2472,2.489,2473,2.57,2474,2.776,2476,2.969,2484,2.865,2517,6.828,2703,5.148,2776,6.163,4798,4.586,4981,3.028,5138,3.478,6288,3.265,6369,3.276,6792,2.542,6809,2.819,6850,3.624,6867,5.467,6868,3.624,6878,3.028,6879,3.028,6880,3.028,6881,3.028,6882,3.028,6883,3.028,6884,3.028,6890,3.354,6891,3.624,6892,3.169,6895,2.819,7638,4.842,7924,5.608,7934,4.87,7953,3.028,7954,3.028,8311,4.091,10359,8.803,10552,5.467,10696,3.474,10700,3.624,10702,3.624,10703,3.624,10704,9.261,10705,6.497,10706,5.278,10707,6.497,10708,3.824,10709,6.993,10710,4.129,10711,6.497,10712,5.467,10713,3.824,10714,6.497,10715,4.129,10716,4.129,10717,4.129,10718,3.169,10719,3.824,10720,4.129,10721,3.624,10722,5.702,10723,6.018,10724,4.129,10725,3.824,10726,4.129,10727,4.129,10728,4.129,10729,5.702,10730,4.129,10731,4.129]],["title/classes/ExternalToolRepoMapper.html",[0,0.241,6890,5.658]],["body/classes/ExternalToolRepoMapper.html",[0,0.136,2,0.415,3,0.007,4,0.007,5,0.004,7,0.055,8,0.714,27,0.479,29,0.965,30,0.001,31,0.738,32,0.167,33,0.561,34,0.671,35,1.409,95,0.12,96,1.025,101,0.005,103,0,104,0,110,2.171,129,2.623,130,1.69,148,1.208,153,2.017,157,1.445,205,0.8,224,1.137,277,0.562,300,2.393,388,2.676,467,4.107,571,2.472,579,1.783,614,1.936,703,1.205,1393,5.867,1598,3.69,1829,1.683,2008,1.956,2038,3.979,2088,5.267,2125,3.273,2333,5.77,2440,4.408,2441,4.408,2460,4.49,2462,2.725,2463,5.488,2464,4.408,2472,3.764,2636,3.056,2695,8.677,2698,2.026,2703,2.219,2706,4.264,2708,9.102,2765,7.325,2776,5.346,2791,7.651,3362,4.49,4768,2.367,4769,3.096,4824,3.304,5223,3.979,5752,3.23,5953,6.824,6165,5.481,6179,5.073,6183,5.481,6186,5.073,6192,5.481,6198,5.254,6199,5.254,6203,3.979,6288,2.538,6369,3.149,6435,2.417,6686,3.188,6740,3.59,6786,8.861,6792,2.417,6808,3.096,6809,2.681,6890,5.073,8158,4.083,8160,4.083,8162,4.083,8172,4.03,8173,3.764,8175,3.803,8247,4.793,8270,9.102,8309,8.677,8310,8.209,8311,3.932,8328,4.264,8332,4.333,8337,4.49,8355,2.603,10143,4.58,10359,6.37,10361,3.304,10362,9.102,10363,9.102,10609,5.481,10619,5.784,10704,10.495,10732,3.927,10733,6.245,10734,6.245,10735,6.245,10736,6.245,10737,6.245,10738,6.245,10739,6.245,10740,6.245,10741,6.245,10742,6.245,10743,6.245,10744,3.927,10745,8.859,10746,6.245,10747,3.927,10748,6.245,10749,3.927,10750,5.784,10751,6.245,10752,3.927,10753,5.784,10754,6.245,10755,3.927,10756,6.245,10757,3.927,10758,3.927,10759,3.927,10760,6.245,10761,3.927,10762,6.245,10763,3.927,10764,6.245,10765,3.927,10766,5.481,10767,6.245,10768,3.927,10769,3.927,10770,3.927,10771,3.927,10772,3.927,10773,3.927,10774,3.927,10775,3.927,10776,6.245,10777,3.304,10778,3.927,10779,3.927,10780,3.927,10781,3.637,10782,3.637,10783,3.927,10784,3.927,10785,8.859,10786,8.859,10787,6.245,10788,6.245,10789,5.784,10790,6.245,10791,6.245,10792,6.245,10793,6.245,10794,6.245,10795,6.245,10796,6.245,10797,3.927,10798,3.927,10799,3.927,10800,3.927,10801,3.447,10802,3.637,10803,3.927,10804,3.927,10805,3.927,10806,3.637,10807,3.637,10808,3.927,10809,3.927,10810,6.245,10811,6.245,10812,6.245,10813,6.245,10814,5.784,10815,5.784]],["title/injectables/ExternalToolRequestMapper.html",[589,0.926,10816,5.86]],["body/injectables/ExternalToolRequestMapper.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.058,8,0.75,27,0.47,29,0.953,30,0.001,31,0.72,32,0.152,33,0.551,34,0.715,35,1.382,55,1.859,95,0.123,101,0.005,103,0,104,0,110,2.281,125,1.929,129,2.398,130,1.775,135,1.49,141,2.812,142,1.513,148,1.227,157,0.968,277,0.598,300,1.602,326,1.591,589,0.872,591,0.992,595,1.585,652,2.702,653,3.773,711,3.063,756,3.658,837,2.07,1078,3.548,1883,1.569,2034,3.006,2036,2.058,2088,2.812,2696,5.586,2698,3.985,2717,8.592,2770,2.951,2776,2.07,3036,1.959,3329,6.216,5223,2.664,5752,5.923,6150,3.209,6151,3.669,6153,3.669,6154,3.669,6155,3.669,6156,3.669,6157,3.669,6160,2.901,6166,3.133,6167,3.209,6203,2.664,6288,1.699,6369,2.108,6686,2.134,6700,3.006,6740,3.772,6926,3.295,6934,3.517,6942,3.669,6943,3.517,8173,3.954,8175,3.996,8247,3.209,8340,3.295,8345,3.295,8361,8.096,8370,3.517,8376,3.517,8379,3.517,10143,4.812,10309,8.385,10312,8.385,10313,7.717,10396,3.517,10513,10.781,10709,7.041,10816,5.52,10817,6.561,10818,6.561,10819,6.561,10820,6.561,10821,8.098,10822,8.098,10823,8.098,10824,8.098,10825,6.077,10826,6.561,10827,6.561,10828,4.18,10829,7.107,10830,6.561,10831,7.717,10832,4.18,10833,6.561,10834,4.18,10835,12.816,10836,9.966,10837,6.561,10838,4.18,10839,9.966,10840,4.18,10841,4.18,10842,9.172,10843,4.18,10844,8.385,10845,4.18,10846,9.172,10847,4.18,10848,4.18,10849,9.172,10850,4.18,10851,7.717,10852,4.18,10853,9.172,10854,6.077,10855,7.717,10856,4.18,10857,5.33,10858,7.23,10859,6.561,10860,8.385,10861,4.18,10862,7.107,10863,3.872,10864,3.872,10865,3.872,10866,3.872,10867,3.872,10868,3.872,10869,3.872,10870,3.669,10871,3.872,10872,3.669,10873,3.872,10874,3.872,10875,3.872,10876,3.872,10877,3.872,10878,3.872,10879,3.872,10880,11.162,10881,6.561,10882,4.18,10883,4.18,10884,4.18,10885,8.496,10886,6.561,10887,4.18,10888,4.18,10889,4.18,10890,4.18,10891,4.18,10892,4.18,10893,4.18,10894,4.18,10895,6.561,10896,4.18,10897,4.18,10898,4.18,10899,4.18,10900,4.18,10901,4.18,10902,4.18,10903,4.18,10904,4.18,10905,4.18,10906,4.18,10907,4.18,10908,4.18,10909,4.18,10910,4.18,10911,4.18,10912,4.18,10913,4.18,10914,4.18,10915,3.669,10916,6.561,10917,3.669,10918,4.18]],["title/classes/ExternalToolResponse.html",[0,0.241,10919,5.658]],["body/classes/ExternalToolResponse.html",[0,0.227,2,0.692,3,0.012,4,0.012,5,0.006,7,0.091,27,0.53,29,0.874,30,0.001,31,0.643,32,0.168,33,0.585,34,1.807,47,0.961,55,1.857,95,0.128,101,0.008,103,0,104,0,110,3.675,112,0.719,122,2.373,190,2.412,195,2.014,201,4.852,202,1.505,296,3.663,433,0.805,458,2.614,871,2.412,886,2.075,1220,3.768,2035,7.067,2036,3.227,2088,4.906,2133,5.325,2184,2.595,2696,6.24,2727,8.894,3201,4.296,5752,5.467,6317,5.317,6708,4.408,6740,6.077,6747,8.333,6750,5.753,6756,4.345,6759,4.913,6946,5.753,6947,7.037,6957,5.032,6963,5.753,6965,5.753,7243,3.561,8173,6.371,8175,6.438,8208,4.627,8212,4.913,10143,7.754,10173,5.515,10520,12.044,10919,9.787,10920,9.167,10921,8.894,10922,8.894,10923,6.555,10924,6.555,10925,6.555,10926,6.555,10927,6.555,10928,6.555,10929,6.555,10930,5.753,10931,6.555,10932,6.555,10933,5.753,10934,6.555,10935,6.555,10936,6.555,10937,6.555,10938,6.555,10939,6.555]],["title/injectables/ExternalToolResponseMapper.html",[589,0.926,10940,5.658]],["body/injectables/ExternalToolResponseMapper.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.08,8,0.955,27,0.447,29,0.913,30,0.001,31,0.693,32,0.148,33,0.524,34,0.984,35,1.314,95,0.128,101,0.007,103,0,104,0,110,2.001,135,1.404,148,1.175,153,1.745,157,1.332,277,0.823,300,2.206,467,3.996,589,1.111,591,1.366,652,2.62,653,3.437,829,3.402,837,2.85,1078,4.31,1883,2.161,2034,4.139,2036,2.834,2088,2.467,2695,8.407,2696,5.437,2698,3.879,2727,9.644,2765,7.494,2770,4.064,2776,5.676,4915,4.419,5223,3.668,5752,2.977,6150,4.419,6151,5.052,6153,5.052,6154,5.052,6155,5.052,6156,5.052,6157,5.052,6160,3.994,6166,4.315,6167,4.419,6203,3.668,6288,2.34,6686,2.939,6699,3.625,6740,3.309,6747,8.508,8173,3.47,8175,3.506,8247,4.419,8309,8.407,8310,7.489,8340,4.538,8345,4.538,8370,4.843,8376,4.843,8379,4.843,10143,4.222,10243,4.843,10289,4.677,10304,5.332,10396,4.843,10471,4.139,10513,10.493,10589,4.419,10750,5.332,10863,5.332,10864,5.332,10865,5.332,10866,5.332,10867,5.332,10868,5.332,10869,5.332,10870,5.052,10871,5.332,10872,5.052,10873,5.332,10874,5.332,10875,5.332,10876,5.332,10877,5.332,10878,5.332,10879,5.332,10880,10.617,10885,7.74,10919,8.769,10921,9.644,10922,9.644,10940,6.789,10941,8.356,10942,8.356,10943,8.356,10944,8.356,10945,8.356,10946,8.356,10947,5.332,10948,11.956,10949,8.356,10950,5.756,10951,8.356,10952,5.756,10953,8.356,10954,5.756,10955,8.356,10956,5.756,10957,7.031,10958,5.756,10959,5.756,10960,5.756,10961,5.756,10962,5.756,10963,5.332,10964,5.052,10965,5.756,10966,5.756,10967,5.756,10968,5.756,10969,5.756,10970,5.756,10971,5.756,10972,5.756,10973,5.756,10974,5.756,10975,5.756,10976,5.756]],["title/classes/ExternalToolScope.html",[0,0.241,10722,6.113]],["body/classes/ExternalToolScope.html",[0,0.248,2,0.758,3,0.013,4,0.013,5,0.006,7,0.1,8,1.115,27,0.521,29,0.95,30,0.001,31,0.761,32,0.165,33,0.568,35,1.119,47,0.943,95,0.109,101,0.009,103,0,104,0,112,0.765,122,2.661,125,3.263,129,2.125,130,1.942,148,1.09,231,1.683,365,3.187,436,3.675,569,2.23,652,2.611,814,6.038,2088,3.076,2479,6.551,6288,5.506,6369,5.59,6792,4.417,7006,6.298,7007,6.467,7008,6.467,7009,6.467,7014,6.467,7015,6.467,7016,4.825,7017,4.756,7018,4.825,7019,4.825,7028,4.756,7029,6.467,7030,4.825,7031,4.756,7032,4.825,7033,4.756,7034,7.348,8175,6.752,8311,4.519,10359,5.16,10704,10.01,10722,8.563,10977,9.757,10978,9.037,10979,9.757,10980,9.757,10981,7.176,10982,9.037,10983,7.176,10984,9.757,10985,7.176,10986,6.647]],["title/classes/ExternalToolSearchListResponse.html",[0,0.241,10987,5.86]],["body/classes/ExternalToolSearchListResponse.html",[0,0.274,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,27,0.501,29,0.604,30,0.001,31,0.444,32,0.171,33,0.587,55,2.908,56,6.218,59,3.237,70,6.697,95,0.13,101,0.01,103,0,104,0,112,0.817,125,1.884,190,2.218,202,1.816,231,1.797,296,2.725,298,3.435,339,3.77,433,0.972,436,3.655,614,2.452,860,7.352,861,5.489,862,8.377,863,7.281,864,5.987,866,3.941,868,5.604,869,3.872,870,4.33,871,2.911,872,5.585,873,6.637,874,6.097,875,5.172,876,4.119,877,5.585,878,5.585,880,5.042,881,4.33,2696,4.736,2698,3.379,7036,6.943,10520,9.141,10919,10.933,10987,8.763,10988,7.328,10989,7.328]],["title/classes/ExternalToolSearchParams.html",[0,0.241,10831,5.86]],["body/classes/ExternalToolSearchParams.html",[0,0.396,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,31,0.756,32,0.142,33,0.598,34,1.959,47,0.961,95,0.128,101,0.012,103,0.001,104,0.001,112,0.899,157,2.651,190,2.053,200,2.808,201,4.854,202,2.107,299,4.889,300,4.786,614,4.054,1361,6.585,2696,5.679,2698,4.367,2831,4.585,6281,7.703,6369,6.297,10310,10.146,10831,9.638,10990,8.054,10991,11.455,10992,9.177,10993,8.054]],["title/interfaces/ExternalToolSearchQuery.html",[159,0.712,10709,5.346]],["body/interfaces/ExternalToolSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,31,0.759,32,0.161,33,0.641,47,1.032,101,0.013,103,0.001,104,0.001,112,0.951,122,2.698,159,1.03,161,2.4,860,7.112,2698,3.269,6369,6.81,8175,8.226,10709,9.311,10994,10.075,10995,8.842]],["title/injectables/ExternalToolService.html",[589,0.926,7044,4.287]],["body/injectables/ExternalToolService.html",[0,0.131,3,0.007,4,0.007,5,0.003,7,0.053,8,0.695,12,2.751,26,2.158,27,0.466,29,0.913,30,0.001,31,0.684,32,0.148,33,0.546,34,1.039,35,1.372,36,2.736,40,2.942,47,0.839,59,1.18,95,0.141,99,0.765,101,0.005,103,0,104,0,125,1.811,135,1.61,148,1.088,153,0.983,228,1.988,271,2.29,277,0.543,279,1.574,317,2.929,365,2.7,433,0.747,540,2.884,579,1.736,589,0.808,591,0.901,595,1.44,614,2.357,629,3.208,652,2.633,657,2.902,675,3.881,688,1.77,703,1.165,869,2.975,980,3.353,1027,1.162,1223,2.846,1328,3.231,1563,2.45,1853,1.246,1883,1.425,1913,7.814,2005,4.619,2008,1.891,2036,1.869,2088,1.627,2448,4.992,2465,3.592,2588,3.828,2636,1.858,2696,5.539,2698,3.881,2776,6.835,5074,1.939,5203,2.846,5204,7.814,5206,2.68,5225,3.085,5266,4.088,5752,1.964,6080,7.985,6088,3.085,6303,5.275,6369,4.382,6435,2.337,6700,2.73,6794,3.702,6863,3.332,7044,3.742,7050,3.517,7924,5.35,8307,4.557,8310,6.03,10188,9.129,10208,2.68,10229,3.085,10447,2.094,10537,3.517,10550,7.312,10552,8.535,10553,7.312,10555,4.151,10589,2.915,10709,6.671,10766,6.672,10957,3.195,10996,6.079,10997,5.335,10998,5.335,10999,6.079,11000,6.079,11001,7.602,11002,5.335,11003,6.079,11004,7.602,11005,3.797,11006,7.814,11007,7.602,11008,3.797,11009,6.079,11010,3.797,11011,6.079,11012,3.797,11013,6.079,11014,3.797,11015,3.797,11016,6.079,11017,3.797,11018,6.079,11019,3.797,11020,3.797,11021,3.797,11022,6.079,11023,7.041,11024,9.867,11025,6.079,11026,3.797,11027,3.797,11028,8.966,11029,10.144,11030,3.797,11031,8.691,11032,2.73,11033,3.797,11034,3.797,11035,3.517,11036,5.631,11037,3.797,11038,3.517,11039,5.631,11040,6.079,11041,3.797,11042,3.797,11043,3.797,11044,3.797,11045,3.797,11046,3.797,11047,3.797,11048,3.797,11049,6.079,11050,6.079,11051,6.079,11052,6.079,11053,3.797,11054,3.797,11055,3.797,11056,3.797,11057,3.332,11058,3.797,11059,3.797,11060,3.797,11061,3.797,11062,3.797,11063,3.797,11064,3.797,11065,6.079,11066,3.797,11067,3.797,11068,3.797,11069,3.797,11070,3.797,11071,3.797,11072,3.797,11073,3.797,11074,3.797,11075,3.797,11076,3.797,11077,3.797,11078,3.797,11079,3.797,11080,3.797,11081,3.797,11082,3.797]],["title/injectables/ExternalToolServiceMapper.html",[589,0.926,10553,5.86]],["body/injectables/ExternalToolServiceMapper.html",[0,0.322,3,0.017,4,0.017,5,0.008,7,0.13,8,1.32,27,0.363,29,0.71,30,0.001,31,0.706,32,0.115,33,0.425,35,1.067,47,0.923,95,0.14,101,0.012,103,0.001,104,0.001,148,0.915,277,1.331,589,1.536,591,2.207,1495,6.69,1496,7.559,1883,3.493,2696,5.254,2698,3.749,6288,3.782,6365,7.334,8174,6.974,8310,9.119,10188,8.66,10553,9.721,10555,6.353,10766,11.029,10789,8.618,11028,9.419,11032,6.69,11083,9.304,11084,11.554,11085,11.554,11086,9.304,11087,9.304,11088,9.304,11089,8.618,11090,9.304,11091,8.166,11092,9.304,11093,9.304,11094,8.618,11095,8.618]],["title/classes/ExternalToolSortingMapper.html",[0,0.241,10721,6.113]],["body/classes/ExternalToolSortingMapper.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,8,1.313,10,3.704,27,0.359,29,0.704,30,0.001,31,0.645,32,0.114,33,0.421,35,1.057,95,0.146,96,2.407,101,0.012,103,0.001,104,0.001,125,2.196,135,1.199,148,0.906,224,2.67,467,3.643,595,3.496,789,5.045,2008,4.592,2698,3.727,2776,4.565,4832,7.489,6792,5.675,7934,10.301,8311,7.233,10359,6.629,10704,9.665,10721,10.082,10858,10.326,11096,9.219,11097,11.488,11098,11.488,11099,9.219,11100,8.539,11101,9.219,11102,8.539,11103,8.539,11104,10.64,11105,8.539]],["title/injectables/ExternalToolUc.html",[589,0.926,11106,5.86]],["body/injectables/ExternalToolUc.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.066,8,0.827,26,2.882,27,0.465,29,0.912,30,0.001,31,0.671,32,0.148,33,0.546,35,1.328,36,2.807,39,3.314,47,0.645,95,0.139,99,0.957,100,1.656,101,0.006,103,0,104,0,131,3.697,135,1.651,148,1.095,153,1.171,228,1.898,277,0.679,290,2.082,317,2.983,365,3.898,412,2.109,433,0.89,478,1.33,540,3.257,589,0.963,591,1.127,595,1.801,610,1.873,614,1.472,652,2.429,657,3.084,693,5.43,869,3.544,1829,2.035,1853,1.558,1862,6.156,1883,1.783,1941,3.105,1962,2.834,2088,2.035,2680,2.181,2696,5.564,2698,3.185,2700,5.428,2776,6.517,4441,5.186,5752,2.456,5805,3.105,6700,3.415,6794,5.345,7044,6.856,7083,4.168,7103,4.399,7924,6.043,10249,11.333,10257,3.743,10258,8.682,10277,3.858,10278,10.316,10447,7.098,10466,6.707,10484,6.355,10501,5.708,10526,9.746,10549,8.26,10709,7.536,10829,10.48,10862,8.616,10957,3.996,10997,6.355,10998,6.355,11002,6.355,11024,4.399,11106,6.093,11107,7.241,11108,8.129,11109,6.707,11110,6.355,11111,8.776,11112,4.749,11113,7.241,11114,4.749,11115,7.241,11116,4.749,11117,7.241,11118,4.749,11119,4.749,11120,7.241,11121,4.749,11122,7.241,11123,4.749,11124,7.241,11125,4.749,11126,11.138,11127,7.241,11128,4.749,11129,4.749,11130,4.749,11131,7.241,11132,4.749,11133,4.749,11134,6.707,11135,4.749,11136,4.749,11137,4.749,11138,4.749,11139,4.749,11140,4.749]],["title/classes/ExternalToolUpdateParams.html",[0,0.241,10860,5.86]],["body/classes/ExternalToolUpdateParams.html",[0,0.345,2,0.622,3,0.011,4,0.011,5,0.005,7,0.082,27,0.505,29,0.761,30,0.001,31,0.677,32,0.169,33,0.581,34,1.704,47,0.934,95,0.134,101,0.008,103,0,104,0,110,3.465,112,0.667,122,2.262,125,1.403,130,2.697,190,2.322,195,2.648,199,5.497,200,1.803,201,4.496,202,1.353,223,1.836,296,3.153,299,4.529,300,4.433,571,3.364,886,1.865,899,2.692,1220,3.387,1232,3.417,2035,6.852,2036,2.9,2088,4.676,2472,5.122,2531,5.374,2696,5.981,2698,4.267,2703,3.329,2706,4.023,2717,9.398,2720,6.233,2721,5.896,2918,5.632,3201,3.982,3362,6.11,4064,4.416,4065,3.588,4086,3.588,6317,6.71,6740,5.73,6771,4.786,6837,6.233,6840,4.957,6841,4.957,6842,4.644,6847,5.374,8173,6.008,8175,6.07,8328,4.023,8332,4.088,8361,9.398,8368,6.523,9653,5.556,9654,3.852,9655,5.556,10143,7.311,10310,10.684,10314,5.171,10315,5.457,10322,5.457,10323,5.457,10326,5.457,10328,5.457,10844,9.18,10851,9.733,10860,7.15,11141,4.957,11142,5.892,11143,5.171,11144,5.892,11145,5.171,11146,5.892,11147,5.892,11148,5.892,11149,5.892,11150,5.457,11151,5.892,11152,5.892,11153,5.892]],["title/injectables/ExternalToolValidationService.html",[589,0.926,10549,5.86]],["body/injectables/ExternalToolValidationService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.917,27,0.457,29,0.895,30,0.001,31,0.659,32,0.15,33,0.536,34,1.629,35,1.285,36,2.629,47,0.7,72,2.5,95,0.131,101,0.007,103,0,104,0,127,4.774,135,0.708,142,3.448,148,0.535,153,1.896,228,1.711,277,0.779,317,2.867,338,7.216,393,2.696,414,2.762,415,3.103,417,4.496,433,0.986,569,2.493,579,3.347,589,1.066,591,1.291,614,2.953,640,3.351,652,2.695,657,2.681,983,5.177,1598,4.741,1883,2.044,2088,2.333,2696,5.513,2698,4.414,2776,6.975,2831,3.813,5910,4.581,6116,4.292,6135,5.043,6829,4.423,7044,7.216,7133,4.423,7138,8.015,10188,9.087,10257,4.292,10258,9.087,10447,4.425,10471,5.768,10484,4.778,10549,6.75,10551,10.2,10585,4.778,10589,8.602,10611,5.043,10957,6.75,11023,5.043,11035,5.043,11036,5.043,11038,8.823,11154,8.022,11155,8.022,11156,8.022,11157,8.022,11158,8.022,11159,5.444,11160,8.022,11161,5.444,11162,8.022,11163,8.022,11164,5.444,11165,8.022,11166,8.022,11167,5.444,11168,5.444,11169,8.022,11170,5.444,11171,5.444,11172,8.022,11173,5.444,11174,8.022,11175,5.444,11176,5.444,11177,5.444,11178,8.022,11179,5.444,11180,5.444,11181,5.444,11182,5.444,11183,5.444,11184,5.444,11185,5.444,11186,5.444,11187,5.444]],["title/injectables/ExternalToolVersionIncrementService.html",[589,0.926,10550,5.86]],["body/injectables/ExternalToolVersionIncrementService.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,27,0.466,29,0.913,30,0.001,31,0.672,32,0.148,33,0.546,35,1.371,95,0.098,101,0.006,103,0,104,0,122,2.731,135,1.743,148,1.266,277,0.682,569,2.257,589,0.965,591,1.131,652,2.806,756,1.901,1883,1.789,2696,5.569,2698,3.974,2765,9.489,2776,5.743,2937,10.837,5752,6.334,6165,4.183,6186,7.99,6192,4.183,6198,4.01,6199,4.01,6699,3.001,10188,9.18,10550,6.109,11188,4.766,11189,7.261,11190,7.261,11191,7.261,11192,7.261,11193,7.261,11194,7.261,11195,7.261,11196,7.261,11197,7.261,11198,13.398,11199,4.766,11200,8.796,11201,7.261,11202,4.766,11203,7.261,11204,13.398,11205,4.766,11206,7.261,11207,4.766,11208,7.261,11209,4.766,11210,7.261,11211,4.766,11212,7.261,11213,4.766,11214,7.261,11215,8.796,11216,4.766,11217,4.766,11218,4.766,11219,7.261,11220,4.766,11221,4.766,11222,4.766,11223,4.766,11224,7.261,11225,7.261,11226,7.261,11227,4.766,11228,4.766,11229,4.766,11230,4.766,11231,4.766,11232,4.766,11233,4.766,11234,12.248,11235,7.261,11236,4.766,11237,4.766,11238,4.766,11239,7.261,11240,4.766,11241,4.766,11242,7.261,11243,4.766,11244,4.766,11245,4.766,11246,4.766,11247,4.766,11248,4.766,11249,4.766,11250,4.766,11251,9.835,11252,9.835,11253,9.835,11254,4.766,11255,4.766,11256,4.766]],["title/classes/ExternalUserDto.html",[0,0.241,11257,5.109]],["body/classes/ExternalUserDto.html",[0,0.293,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,27,0.533,29,0.647,30,0.001,31,0.476,32,0.169,33,0.649,47,1.018,83,3.195,95,0.094,101,0.011,103,0.001,104,0.001,112,0.855,232,2.948,433,1.042,435,2.913,595,3.216,700,5.826,701,5.826,702,5.961,704,6.147,3436,6.186,5056,6.693,7895,5.111,7896,5.278,8189,6.684,8190,6.889,10076,11.659,10097,7.854,10099,7.854,10100,7.854,11257,9.64,11258,9.242,11259,10.895,11260,8.479,11261,8.479,11262,8.479,11263,5.544,11264,5.986,11265,5.544,11266,5.986,11267,5.789,11268,6.219,11269,7.134,11270,7.442]],["title/injectables/FeathersAuthProvider.html",[589,0.926,1869,5.658]],["body/injectables/FeathersAuthProvider.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.082,8,0.967,26,2.887,27,0.469,29,0.918,30,0.001,31,0.676,32,0.149,33,0.55,35,1.324,36,2.776,39,3.442,47,0.848,49,3.742,95,0.129,96,1.529,97,2.363,99,1.18,101,0.008,103,0,104,0,135,1.709,142,2.12,148,1.182,153,0.947,159,0.599,197,1.637,277,0.838,290,3.012,317,2.978,365,2.601,400,1.717,433,0.72,478,1.641,579,1.672,589,1.125,591,1.389,610,3.918,652,2.021,657,2.639,703,1.797,789,3.206,981,3.567,1092,3.939,1826,5.93,1869,6.874,1882,4.928,2482,5.777,2954,4.497,4588,3.953,7873,8.107,7881,7.249,8069,7.824,9636,6.207,10062,5.141,10063,8.822,11271,11.486,11272,5.425,11273,8.462,11274,9.202,11275,7.427,11276,8.462,11277,9.202,11278,5.857,11279,8.462,11280,5.857,11281,5.425,11282,5.857,11283,8.462,11284,5.857,11285,8.462,11286,5.857,11287,5.857,11288,5.857,11289,8.462,11290,8.462,11291,8.462,11292,5.857,11293,5.857,11294,5.857,11295,8.462,11296,8.462,11297,6.67,11298,6.874,11299,5.857,11300,4.928,11301,5.857,11302,5.857,11303,5.857,11304,7.427,11305,5.425,11306,5.857,11307,5.857]],["title/injectables/FeathersAuthorizationService.html",[589,0.926,1863,5.86]],["body/injectables/FeathersAuthorizationService.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.97,26,2.808,27,0.425,29,0.832,30,0.001,31,0.612,32,0.135,33,0.498,35,1.326,36,2.546,39,3.528,47,0.885,95,0.111,99,1.185,101,0.008,103,0,104,0,135,1.419,145,2.208,148,0.834,153,1.373,205,2.455,206,3.557,277,0.841,290,3.119,317,2.801,374,4.734,388,5.635,400,1.725,433,0.723,579,2.424,589,1.128,591,1.396,615,5.17,657,2.644,693,2.675,1083,6.807,1566,5.163,1826,7.323,1863,7.142,1869,9.786,1885,3.621,1984,5.708,2389,4.779,2834,5.626,5278,3.704,7873,8.596,7881,8.399,7905,6.516,8069,9.573,11271,10.708,11308,5.883,11309,9.959,11310,8.489,11311,9.959,11312,5.883,11313,5.883,11314,5.883,11315,5.883,11316,6.516,11317,7.863,11318,8.489,11319,5.883,11320,5.883,11321,5.883,11322,7.863,11323,5.883,11324,5.883,11325,5.883,11326,5.883,11327,5.883,11328,5.883,11329,5.883,11330,5.883,11331,5.883,11332,7.142,11333,5.883,11334,5.883,11335,5.883,11336,8.489,11337,5.883,11338,5.883]],["title/interfaces/FeathersError.html",[159,0.712,10053,5.86]],["body/interfaces/FeathersError.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.176,47,1.034,55,2.649,101,0.013,103,0.001,104,0.001,112,0.957,159,1.041,161,2.424,231,2.106,998,6.418,1080,4.23,10053,10.268,11339,10.177,11340,10.177,11341,12.553]],["title/modules/FeathersModule.html",[252,1.839,1861,5.86]],["body/modules/FeathersModule.html",[0,0.313,3,0.017,4,0.017,5,0.008,30,0.001,95,0.126,101,0.012,103,0.001,104,0.001,157,2.091,193,4.947,252,3.537,254,4.46,255,3.449,256,3.536,257,3.523,258,3.511,259,4.503,260,4.607,269,4.44,270,3.473,271,3.402,277,1.292,371,6.028,543,5.52,610,4.473,997,7.06,1861,11.675,1885,7.632,2570,7.319,2903,7.415,9116,8.706,10063,10.572,11342,9.032,11343,9.032,11344,9.032,11345,9.032,11346,9.214,11347,9.214,11348,9.543,11349,9.543,11350,9.954,11351,8.366]],["title/injectables/FeathersRosterService.html",[589,0.926,11352,5.346]],["body/injectables/FeathersRosterService.html",[0,0.104,3,0.006,4,0.006,5,0.003,7,0.042,8,0.575,26,2.197,27,0.453,29,0.887,30,0.001,31,0.674,32,0.152,33,0.531,34,0.861,35,1.306,36,2.678,47,1.006,51,3.643,55,0.611,72,2.312,95,0.135,99,0.608,101,0.004,103,0,104,0,122,0.625,135,1.724,142,1.823,145,1.89,148,1.094,153,1.471,157,0.698,159,0.861,228,1.633,254,1.811,277,0.431,290,1.194,317,2.904,339,3.179,412,2.236,433,0.619,478,0.845,528,2.554,578,1.581,579,2.161,589,0.669,591,0.715,595,1.144,610,2.985,614,2.346,652,2.76,657,2.981,980,4.642,1065,3.726,1212,3.249,1472,1.676,1853,0.989,1885,3.099,2005,4.023,2006,3.967,2008,3.229,2018,6.396,2027,3.705,2033,4.223,2035,1.663,2040,3.554,2047,2.26,2048,2.168,2298,5.966,2370,1.69,2512,3.004,2550,3.035,2776,6.325,3418,1.358,3899,3.386,3900,1.592,4588,1.725,4739,4.182,4862,1.999,4863,2.028,5056,3.603,5057,2.168,5449,5.482,5466,4.838,5953,1.999,6303,3.494,6685,4.296,6739,5.343,6809,2.059,6824,6.309,6889,3.62,6982,2.092,7044,5.941,7045,6.396,7062,4.034,7068,4.858,7077,2.168,7078,2.168,7121,3.865,7510,2.894,7513,4.13,7514,2.129,7608,2.212,7655,2.377,8114,5.707,8120,3.438,8311,3.17,10208,2.129,10282,2.315,10447,4.642,10471,5.442,10538,2.377,10628,3.62,10631,7.417,10637,5.09,10650,4.236,10666,3.865,11352,3.865,11353,9.6,11354,2.45,11355,4.09,11356,4.09,11357,4.09,11358,3.62,11359,4.09,11360,5.035,11361,5.035,11362,5.035,11363,4.664,11364,5.035,11365,5.035,11366,5.035,11367,5.035,11368,5.035,11369,5.035,11370,5.035,11371,2.377,11372,6.696,11373,3.016,11374,4.09,11375,3.016,11376,3.016,11377,4.09,11378,3.016,11379,4.09,11380,3.016,11381,4.09,11382,8.536,11383,3.016,11384,4.09,11385,3.016,11386,4.09,11387,3.016,11388,4.09,11389,3.016,11390,4.09,11391,3.016,11392,7.973,11393,4.09,11394,3.016,11395,4.09,11396,3.016,11397,4.09,11398,3.016,11399,2.315,11400,2.45,11401,3.969,11402,5.966,11403,3.969,11404,4.09,11405,4.09,11406,6.837,11407,4.09,11408,2.45,11409,4.09,11410,2.45,11411,2.45,11412,4.09,11413,2.45,11414,2.45,11415,4.09,11416,2.45,11417,2.45,11418,2.45,11419,2.45,11420,2.45,11421,2.45,11422,2.45,11423,2.45,11424,2.45,11425,2.45,11426,5.266,11427,2.45,11428,2.45,11429,2.45,11430,2.45,11431,2.45,11432,2.45,11433,2.45,11434,2.45,11435,2.45,11436,2.45,11437,2.45,11438,4.09,11439,2.45,11440,2.377,11441,2.45,11442,3.386,11443,2.028,11444,2.377,11445,2.377,11446,2.45,11447,4.09,11448,2.45,11449,4.09,11450,2.45,11451,2.377,11452,2.45,11453,2.45,11454,2.45,11455,2.45,11456,2.45,11457,2.45,11458,2.377,11459,2.377]],["title/interfaces/FeathersService.html",[159,0.712,11460,6.113]],["body/interfaces/FeathersService.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.091,8,1.046,27,0.446,29,0.806,30,0.001,31,0.593,32,0.149,33,0.483,34,1.566,35,1.211,36,2.637,47,0.841,59,3.555,95,0.127,101,0.015,102,5.613,103,0,104,0,135,1.191,142,2.369,148,0.643,153,1.058,159,0.669,161,1.559,193,5.251,252,1.728,254,2.354,277,0.936,326,5.053,339,1.919,371,6.398,388,4.527,407,4.541,543,3.185,561,2.948,571,3.624,579,1.868,589,1.217,610,5.154,641,6.519,652,1.331,688,3.051,734,3.859,816,4.541,983,4.223,997,7.494,1078,4.011,1086,4.359,1087,4.226,1088,4.291,1089,4.561,1090,4.974,1197,3.555,1380,4.905,1885,6.501,2135,6.464,2543,4.121,2570,4.223,2903,4.279,4237,5.909,5138,6.123,5927,5.699,6288,3.722,7642,3.945,9116,5.024,10027,5.024,10063,4.8,10596,4.8,11346,5.317,11347,5.317,11348,5.506,11349,5.506,11350,5.744,11460,10.04,11461,10.595,11462,5.744,11463,8.481,11464,12.805,11465,6.544,11466,10.595,11467,8.481,11468,6.544,11469,8.481,11470,6.544,11471,5.744,11472,6.062,11473,6.062,11474,6.062,11475,6.062,11476,6.062,11477,8.481,11478,6.062,11479,5.506,11480,5.159,11481,6.062,11482,6.062,11483,6.062,11484,6.062]],["title/injectables/FeathersServiceProvider.html",[589,0.926,10063,5.109]],["body/injectables/FeathersServiceProvider.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,27,0.42,29,0.719,30,0.001,31,0.529,32,0.144,33,0.43,34,1.165,35,0.781,36,2.28,47,0.855,95,0.13,101,0.015,102,5.734,103,0,104,0,135,1.225,142,2.466,148,0.669,153,1.101,157,1.577,159,0.697,193,5.843,252,1.798,254,3.386,277,0.974,326,4.429,371,6.185,388,4.624,407,6.532,414,3.455,433,0.837,543,4.582,561,3.068,571,3.726,579,1.945,589,1.251,591,1.616,610,5.204,641,5.365,652,1.385,688,3.175,816,4.726,983,4.395,997,7.244,1078,4.124,1086,4.482,1087,4.345,1088,4.411,1089,4.689,1090,5.113,1197,3.699,1380,5.105,1885,7.164,2135,6.645,2543,4.289,2570,6.075,2903,6.155,4237,6.075,5138,3.646,5927,5.86,6288,3.827,7642,4.105,9116,7.226,10027,5.228,10063,6.905,10596,4.996,11346,7.648,11347,7.648,11348,7.921,11349,7.921,11350,8.262,11460,10.214,11461,9.993,11462,5.978,11463,6.309,11464,11.314,11466,8.72,11467,6.309,11469,6.309,11471,5.978,11472,6.309,11473,6.309,11474,6.309,11475,6.309,11476,8.72,11477,8.72,11478,6.309,11479,5.731,11480,5.369,11481,6.309,11482,6.309,11483,6.309,11484,6.309,11485,9.414,11486,6.811,11487,6.811,11488,6.811]],["title/entities/FederalStateEntity.html",[205,1.419,7501,4.833]],["body/entities/FederalStateEntity.html",[0,0.353,3,0.014,4,0.014,5,0.007,7,0.107,27,0.476,30,0.001,31,0.715,32,0.151,33,0.466,47,1.028,55,1.554,83,2.992,95,0.114,96,2.002,101,0.015,103,0,104,0,112,0.8,159,0.784,190,2.191,195,2.686,196,4.055,197,3.416,205,2.079,206,2.502,211,5.628,223,3.966,224,2.222,225,3.91,226,3.488,229,3.025,231,1.323,232,2.075,233,2.377,430,3.154,431,3.287,460,4.671,461,5.236,462,4.671,463,5.236,1835,5.243,2184,4.039,2712,5.177,4648,5.236,4654,5.385,4664,3.454,6740,7.026,6756,5.083,7482,11.01,7483,11.169,7484,6.731,7485,6.731,7486,6.731,7487,6.731,7492,8.585,7493,10.727,7494,10.727,7495,6.731,7496,6.731,7497,6.731,7498,6.731,7499,6.731,7500,6.731,7501,7.08,7502,6.731,7503,6.731,7504,6.046,11489,7.669,11490,7.669,11491,7.669,11492,7.669]],["title/interfaces/FederalStateProperties.html",[159,0.712,7492,5.86]],["body/interfaces/FederalStateProperties.html",[0,0.357,3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,31,0.738,32,0.163,33,0.471,47,1.048,55,1.578,83,3.854,95,0.115,96,2.033,101,0.015,103,0,104,0,112,0.809,159,0.796,161,1.855,195,2.265,196,3.833,197,2.881,205,2.101,223,3.832,224,2.256,225,3.95,226,3.542,229,3.072,231,1.344,232,2.108,233,2.414,430,5.058,431,5.271,460,4.743,461,5.318,462,4.743,463,5.318,1835,4.002,2184,4.08,2712,5.23,4654,5.44,4664,3.508,6740,7.353,6756,5.162,7482,11.28,7483,6.836,7484,6.836,7485,6.836,7486,6.836,7487,6.836,7492,9.721,7493,11.226,7494,11.226,7495,6.836,7496,6.836,7497,6.836,7498,6.836,7499,6.836,7500,6.836,7501,5.404,7502,6.836,7503,6.836,7504,6.14]],["title/injectables/FederalStateRepo.html",[589,0.926,11493,5.86]],["body/injectables/FederalStateRepo.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,8,1.17,10,4.116,12,4.635,18,5.133,26,2.075,27,0.511,29,0.973,30,0.001,31,0.751,32,0.158,33,0.583,34,1.319,35,1.462,36,2.695,40,3.733,47,0.845,49,3.858,95,0.137,96,2.014,101,0.01,103,0,104,0,148,1.007,205,1.572,206,3.342,224,2.234,231,1.767,277,1.103,317,2.835,436,3.619,478,2.161,532,5.133,589,1.362,591,1.83,728,7.758,734,4.316,735,4.635,736,6.277,759,4.603,760,4.698,761,4.649,762,4.698,763,5.352,764,4.649,765,4.698,766,4.129,3998,5.445,7501,7.107,10706,8.321,10712,8.618,11493,8.618,11494,11.499,11495,7.714,11496,7.714,11497,7.714,11498,7.714]],["title/injectables/FederalStateService.html",[589,0.926,11499,5.86]],["body/injectables/FederalStateService.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.126,8,1.298,27,0.443,29,0.867,30,0.001,31,0.697,32,0.141,33,0.519,35,1.038,36,2.4,47,0.912,95,0.138,101,0.012,103,0.001,104,0.001,135,1.178,148,0.89,228,1.626,277,1.295,279,3.753,317,2.685,400,2.654,433,1.112,478,2.536,589,1.51,591,2.147,657,2.07,734,3.815,1829,3.88,1883,3.398,1941,5.919,2615,7.073,4215,6.281,4714,6.087,7501,7.881,11493,11.51,11499,9.556,11500,12.411,11501,9.053,11502,11.358,11503,9.053,11504,9.053,11505,11.358,11506,9.053,11507,7.617,11508,6.949,11509,8.226,11510,9.053]],["title/interfaces/File.html",[5,0.006,159,0.712]],["body/interfaces/File.html",[3,0.016,4,0.016,5,0.011,7,0.122,30,0.001,32,0.138,47,1.08,55,2.479,95,0.098,101,0.017,103,0.001,104,0.001,112,0.874,125,2.653,159,1.388,161,2.09,339,3.894,414,5.65,1302,7.384,1304,5.001,1444,7.154,2233,5.344,5234,5.331,6572,5.001,7301,6.578,7302,6.578,7303,6.918,7304,6.736,7305,6.736,7306,5.526,7307,6.578,7308,5.992,7309,5.992,7310,5.992,7311,5.992,7312,6.195,7313,5.462,7314,5.344,7315,5.344,7316,6.437,7317,8.549,7318,8.549,7319,6.578]],["title/classes/FileContentBody.html",[0,0.241,6506,4.554]],["body/classes/FileContentBody.html",[0,0.473,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.498,27,0.31,30,0.001,31,0.679,32,0.173,47,0.96,83,1.579,95,0.124,99,1.085,101,0.017,103,0,104,0,110,1.873,112,0.624,130,3.269,155,1.719,157,2.42,190,1.427,195,1.184,200,1.648,201,3.679,202,1.237,223,1.678,231,2.015,296,3.705,299,4.958,300,4.475,339,1.579,360,3.096,854,5.011,855,3.223,886,1.705,899,2.461,1232,3.124,1749,3.069,1853,1.767,2049,4.267,2393,4.475,2721,5.522,2912,2.578,2918,6.599,3159,2.437,3201,2.524,3581,5.594,3583,5.594,3586,3.153,3589,4.928,3593,2.785,3598,3.018,4065,3.28,4086,3.28,4485,5.444,6409,5.96,6411,6.032,6413,5.96,6415,6.663,6417,6.032,6419,6.032,6467,3.475,6504,6.189,6505,6.189,6506,6.836,6507,6.189,6508,6.189,6509,6.189,6847,6.687,8010,3.521,8080,3.153,9639,6.365,9640,3.622,9642,8.22,9643,6.189,9644,6.189,9645,6.189,9646,3.622,9647,6.189,9648,3.315,9649,3.57,9650,6.189,9651,6.836,9652,3.521,9653,3.521,9654,3.521,9655,3.521,9656,3.622,9657,3.622,9658,3.622,9659,3.622,9660,3.622,9661,3.622,11511,5.386,11512,5.386]],["title/interfaces/FileDO.html",[159,0.712,7214,5.658]],["body/interfaces/FileDO.html",[3,0.013,4,0.018,5,0.006,7,0.098,10,2.828,26,2.586,30,0.001,31,0.694,32,0.167,33,0.539,34,2.113,39,1.953,47,1.048,55,2.224,83,3.218,95,0.107,99,1.418,101,0.017,103,0,104,0,112,0.755,135,0.916,159,1.207,161,1.676,290,1.669,374,3.056,703,2.159,870,6.458,886,3.475,1080,3.337,1154,6.574,1444,6.56,1937,3.315,1939,3.74,2033,2.669,2219,3.155,2220,3.548,2221,3.425,2608,4.242,2959,3.232,3011,3.216,3159,3.185,3418,3.17,3467,3.767,3668,5.568,3681,5.06,3933,5.852,4040,4.12,4259,4.12,4588,2.411,5234,5.648,5466,4.046,5788,4.011,5800,4.2,6665,6.713,6666,5.852,7195,5.717,7196,6.519,7197,6.519,7198,4.968,7199,5.548,7200,6.519,7201,5.921,7202,6.519,7203,6.519,7204,6.519,7205,6.519,7206,8.057,7207,7.391,7208,7.391,7209,7.391,7210,6.983,7211,4.541,7212,4.601,7213,7.082,7214,7.822,7215,9.302,7216,8.057]],["title/interfaces/FileDomainObjectProps.html",[159,0.712,11513,5.86]],["body/interfaces/FileDomainObjectProps.html",[3,0.018,4,0.018,5,0.009,7,0.135,26,2.855,30,0.001,31,0.749,32,0.165,34,2.281,47,0.941,95,0.132,99,1.956,101,0.012,103,0.001,104,0.001,112,0.93,159,0.993,161,2.313,185,3.326,1883,3.645,3898,4.866,3933,6.317,6666,6.317,7210,7.538,7218,4.622,7220,8.993,10016,5.913,11513,9.98,11514,8.993]],["title/classes/FileDto.html",[0,0.241,7364,5.221]],["body/classes/FileDto.html",[0,0.32,2,0.975,3,0.017,4,0.017,5,0.012,7,0.129,27,0.511,29,0.705,30,0.001,31,0.736,32,0.162,33,0.422,47,0.963,95,0.128,101,0.012,103,0.001,104,0.001,112,0.902,339,3.673,433,1.135,881,5.057,1237,3.332,1302,6.964,1304,5.266,1444,6.964,2184,3.658,2831,3.699,7218,6.421,7253,6.309,7364,10.109,11515,9.24,11516,9.679,11517,9.24,11518,9.24,11519,9.24,11520,9.24,11521,5.688,11522,7.774,11523,7.284,11524,7.507]],["title/classes/FileDto-1.html",[0,0.2,756,2.309,7364,4.34]],["body/classes/FileDto-1.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,26,2.698,27,0.519,29,0.676,30,0.001,31,0.725,32,0.165,33,0.404,34,2.101,47,0.823,95,0.137,99,1.784,101,0.011,103,0.001,104,0.001,112,0.878,161,2.109,232,3.031,433,1.088,435,3.041,458,3.531,459,4.579,2184,3.504,3898,6.817,3933,5.817,4664,3.987,6666,5.817,6675,5.642,7210,6.942,7218,6.476,7249,6.979,7364,8.395,10016,5.392,11513,10.862,11525,8.853,11526,11.199,11527,8.853,11528,8.853,11529,8.853,11530,6.636,11531,7.77]],["title/classes/FileDtoBuilder.html",[0,0.241,11532,6.451]],["body/classes/FileDtoBuilder.html",[0,0.265,2,0.808,3,0.014,4,0.014,5,0.012,7,0.107,8,1.164,27,0.446,29,0.875,30,0.001,31,0.735,32,0.142,33,0.523,35,1.314,47,1.009,95,0.136,101,0.01,103,0,104,0,135,1.589,148,1.126,153,1.238,339,3.976,467,3.996,507,4.526,711,3.318,871,4.215,1302,7.421,1304,5.808,1444,7.271,2084,5.074,2114,8.782,7218,5.814,7364,10.163,11532,9.439,11533,10.719,11534,7.655,11535,10.19,11536,10.19,11537,10.19,11538,7.655,11539,10.19,11540,7.655,11541,10.19,11542,12.718,11543,7.655,11544,7.09,11545,7.655,11546,7.655,11547,7.655,11548,7.655,11549,7.655,11550,7.09,11551,7.655,11552,6.441]],["title/classes/FileElement.html",[0,0.241,3140,4.335]],["body/classes/FileElement.html",[0,0.22,2,0.67,3,0.012,4,0.012,5,0.006,7,0.088,8,1.024,27,0.532,29,0.969,30,0.001,31,0.713,32,0.163,33,0.58,35,1.512,36,1.894,47,0.982,55,1.816,59,1.973,95,0.1,101,0.013,103,0,104,0,112,0.703,113,3.561,122,2.154,130,3.054,134,2.248,148,1.109,158,2.343,159,0.649,189,5.517,197,1.774,231,1.792,317,2.247,435,3.079,436,3.831,527,2.698,532,3.287,567,3.342,569,3.84,653,2.611,657,1.452,711,2.596,735,4.056,1770,3.588,1773,6.327,1842,4.095,2051,2.686,2662,5.882,3058,7.948,3061,6.327,3062,6.327,3063,6.327,3064,7.379,3065,6.327,3067,3.951,3068,5.458,3069,6.547,3071,6.119,3072,5.458,3073,6.488,3075,4.405,3076,4.797,3078,6.541,3079,4.405,3083,4.405,3085,3.951,3112,5.402,3140,7.025,3581,6.67,3583,6.67,4346,4.564,4347,4.564,4348,4.564,4357,3.951,9663,4.405,9665,5.571,9668,5.341,9670,5.341,11553,11.026,11554,6.348,11555,5.88,11556,6.348,11557,6.348,11558,6.348,11559,5.88,11560,6.348,11561,5.88,11562,8.301,11563,5.88,11564,8.301,11565,5.88,11566,5.88,11567,5.88,11568,5.571,11569,5.88]],["title/classes/FileElementContent.html",[0,0.241,11570,5.86]],["body/classes/FileElementContent.html",[0,0.371,2,0.873,3,0.015,4,0.015,5,0.007,7,0.115,27,0.464,29,0.631,30,0.001,31,0.465,32,0.165,33,0.378,34,2.034,47,0.958,95,0.14,101,0.014,103,0.001,104,0.001,112,0.841,190,1.922,202,1.899,296,3.559,298,3.591,304,4.095,433,1.461,458,3.298,821,4.222,886,2.618,1853,2.713,2109,3.623,2393,4.559,2926,6.9,3051,7.568,3054,7.405,3197,4.426,3198,4.426,3201,3.875,3581,7.706,3583,7.706,3759,5.646,3771,4.887,4019,6.163,4023,5.407,4025,5.407,4066,7.709,4485,6.194,6409,5.207,9698,6.958,11570,11.242,11571,11.658,11572,7.66,11573,7.66,11574,6.958,11575,6.958]],["title/classes/FileElementContentBody.html",[0,0.241,9643,4.554]],["body/classes/FileElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,6.571,6411,6.018,6413,5.946,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.823,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.823,9644,6.174,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,11576,5.364,11577,5.364]],["title/entities/FileElementNode.html",[205,1.419,3506,5.49]],["body/entities/FileElementNode.html",[0,0.302,3,0.016,4,0.016,5,0.008,7,0.121,27,0.432,30,0.001,32,0.137,47,0.996,95,0.143,96,2.276,101,0.014,103,0.001,104,0.001,112,0.87,134,3.087,135,1.134,148,0.857,159,0.892,190,1.988,205,2.26,206,2.844,223,4.131,224,2.525,231,1.914,232,2.359,457,4.847,1770,4.883,2049,4.977,2109,3.82,2662,5.28,2715,4.927,3467,5.937,3477,6.618,3506,8.743,3549,5.31,3572,9.734,3581,7.586,3583,7.586,3922,6.755,3942,5.367,4448,5.49,4450,5.49,9695,7.336,11574,7.336,11575,7.336,11578,11.298,11579,8.075,11580,9.734,11581,8.075,11582,8.075,11583,8.075]],["title/interfaces/FileElementNodeProps.html",[159,0.712,11580,6.113]],["body/interfaces/FileElementNodeProps.html",[0,0.307,3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,32,0.139,47,1.028,95,0.144,96,2.316,101,0.014,103,0.001,104,0.001,112,0.88,134,3.142,135,1.154,148,0.872,159,0.907,161,2.113,205,2.285,223,3.832,224,2.57,231,2.122,232,2.401,457,4.932,1770,4.923,2049,3.621,2109,3.887,2662,5.339,2715,5.014,3467,6.003,3477,6.692,3506,6.994,3549,5.404,3572,9.843,3581,7.875,3583,7.875,3922,7.489,3942,5.462,4448,5.587,4450,5.587,11574,7.465,11575,7.465,11578,8.218,11580,10.793,11581,8.218,11582,8.218,11583,8.218]],["title/interfaces/FileElementProps.html",[159,0.712,11568,6.113]],["body/interfaces/FileElementProps.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.149,36,1.803,47,1.038,95,0.122,101,0.015,103,0.001,104,0.001,112,0.858,122,1.769,130,2.96,134,3.022,148,1.252,158,3.15,159,0.873,161,2.033,197,2.385,231,2.083,317,1.846,527,3.626,567,4.079,569,2.652,653,3.51,657,1.951,1842,4.999,2051,3.611,3058,6.594,3064,5.579,3068,5.197,3069,6.346,3072,5.197,3073,6.289,3112,7.278,3140,7.516,3581,7.782,3583,7.782,4357,5.312,9663,5.921,11553,7.904,11562,10.133,11563,7.904,11564,10.133,11565,7.904,11566,7.904,11567,7.904,11568,9.602,11569,7.904]],["title/classes/FileElementResponse.html",[0,0.241,4066,5.008]],["body/classes/FileElementResponse.html",[0,0.358,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,27,0.499,29,0.598,30,0.001,31,0.44,32,0.172,33,0.358,34,2.191,47,0.906,95,0.137,101,0.013,103,0,104,0,112,0.812,190,2.209,202,1.799,296,3.608,298,3.402,304,3.879,433,1.424,458,3.124,821,4,886,2.48,1853,2.57,2109,3.432,2393,4.911,2926,7.433,3054,7.213,3196,5.122,3197,5.539,3198,5.539,3200,4.675,3201,4.849,3581,6.848,3583,6.848,3759,5.349,3771,4.629,4019,6.661,4023,5.122,4025,5.122,4066,9.215,4485,6.672,6409,6.516,11570,10.371,11571,12.193,11574,6.591,11575,6.591,11584,7.834,11585,7.256,11586,7.256,11587,7.834,11588,7.256]],["title/classes/FileElementResponseMapper.html",[0,0.241,6441,6.113]],["body/classes/FileElementResponseMapper.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.481,29,0.791,30,0.001,31,0.582,32,0.153,33,0.473,34,1.342,35,1.33,95,0.129,100,2.737,101,0.01,103,0,104,0,112,0.813,122,2.148,135,1.021,141,4.441,148,1.14,153,1.995,430,3.228,467,3.834,652,2.359,653,3.228,711,2.274,829,4.638,830,5.76,833,6.377,835,6.025,1237,3.001,1853,2.575,2049,5.563,2140,4.473,2393,3.008,2653,8.508,2656,7.954,2657,7.954,2659,7.766,2926,4.553,3140,8.486,3581,4.638,3583,4.638,4019,5.957,4035,5.541,4066,8.87,4485,4.087,5927,7.22,6409,4.942,6438,6.025,6441,11.788,9704,9.246,9705,6.188,9712,6.188,9713,6.188,9714,6.188,10356,6.889,11570,8.718,11589,12.824,11590,11.599,11591,7.849,11592,7.849]],["title/entities/FileEntity.html",[205,1.419,1019,5.109]],["body/entities/FileEntity.html",[0,0.122,3,0.007,4,0.007,5,0.008,7,0.144,26,2.319,27,0.509,30,0.001,31,0.515,32,0.164,33,0.605,47,0.967,49,4.194,55,1.988,83,2.877,95,0.124,96,1.496,97,1.424,99,0.711,101,0.007,103,0,104,0,112,0.45,122,1.5,125,2.892,129,2.713,130,2.479,135,0.459,148,0.965,153,1.801,159,0.361,185,1.963,190,2.343,195,2.982,196,4.418,197,3.272,205,1.168,206,1.152,211,5.941,223,4.073,224,1.022,225,2.197,231,0.609,232,0.955,233,1.094,335,5.602,411,2.646,430,1.452,431,1.513,460,2.15,461,3.914,462,2.15,463,3.914,478,0.989,540,1.171,569,1.782,579,1.008,620,5.185,652,0.718,711,2.096,756,1.408,813,1.978,870,5.014,886,1.815,1019,4.204,1080,1.224,1821,1.672,1826,4.28,1835,2.945,1883,1.325,2109,1.546,2125,1.85,2184,1.397,2942,4.796,2944,4.122,3668,2.908,3898,2.872,3933,2.714,4645,4.823,4648,3.914,4654,3.819,4655,1.978,4658,2.97,4663,2.97,4664,1.59,4726,2.15,5074,1.802,5209,6.867,5234,2.744,5493,6.867,5727,2.672,5752,1.826,6665,3.113,6668,1.903,6669,5.109,6670,2.868,6671,4.941,6676,2.449,6678,2.538,7245,2.278,7309,6.255,7527,2.97,7778,2.374,8087,2.589,8989,7.009,9040,7.311,11531,3.098,11593,3.27,11594,6.703,11595,6.703,11596,6.395,11597,7.716,11598,7.311,11599,6.11,11600,7.009,11601,7.716,11602,7.716,11603,7.716,11604,3.53,11605,3.53,11606,7.716,11607,3.53,11608,3.53,11609,3.53,11610,3.53,11611,3.53,11612,3.53,11613,3.53,11614,3.53,11615,3.53,11616,7.442,11617,3.53,11618,7.311,11619,3.53,11620,8.399,11621,3.53,11622,3.53,11623,3.53,11624,3.53,11625,5.309,11626,3.53,11627,3.53,11628,3.53,11629,3.53,11630,5.309,11631,3.53,11632,2.492,11633,3.27,11634,2.646,11635,3.27,11636,6.352,11637,5.309,11638,3.27,11639,8.485,11640,3.27,11641,3.27,11642,3.27,11643,2.538,11644,6.703,11645,4.4,11646,5.309,11647,5.309,11648,5.309,11649,3.27,11650,3.27,11651,3.27,11652,4.296,11653,3.27,11654,3.27,11655,3.27,11656,5.879,11657,6.703,11658,3.27,11659,3.27,11660,2.97,11661,5.309,11662,3.27,11663,3.27,11664,3.27,11665,3.27,11666,3.27,11667,3.27,11668,5.309,11669,3.27,11670,5.309,11671,2.71,11672,5.309,11673,3.27,11674,2.589,11675,3.27,11676,3.27,11677,3.27,11678,3.27,11679,2.71,11680,2.783,11681,3.27,11682,3.27,11683,3.27,11684,5.309,11685,3.27]],["title/interfaces/FileEntityProps.html",[159,0.712,11636,6.113]],["body/interfaces/FileEntityProps.html",[0,0.132,3,0.007,4,0.007,5,0.008,7,0.149,26,2.646,30,0.001,31,0.571,32,0.17,33,0.64,47,1.011,49,3.586,55,2.245,83,3.51,95,0.127,96,1.591,97,1.536,99,0.767,101,0.008,103,0,104,0,112,0.478,122,2.211,125,2.949,135,0.495,148,0.998,153,1.792,159,0.389,161,0.907,185,1.304,195,2.79,196,4.257,197,2.839,205,1.242,223,4.036,224,1.103,225,2.335,231,0.657,232,1.03,233,1.18,335,6.403,411,2.854,430,3.58,431,3.731,460,2.319,461,4.16,462,2.319,463,4.16,478,1.067,540,1.263,569,1.894,579,1.087,620,4.741,652,0.774,711,2.206,756,1.519,813,2.134,870,5.559,886,1.929,1019,2.793,1080,1.32,1821,1.803,1826,4.892,1835,1.957,1883,1.429,2109,1.668,2125,1.996,2184,1.507,2942,4.711,2944,2.738,3668,1.932,3898,3.053,3933,4.509,4654,4.02,4655,2.134,4658,3.204,4663,3.204,4664,1.715,4726,2.319,5074,1.944,5209,7.613,5234,2.916,5727,2.841,5752,1.969,6665,5.172,6668,2.053,6669,2.688,6670,3.093,6671,2.6,6676,2.642,6678,2.738,7245,2.457,7309,6.935,8087,2.793,8989,8.011,9040,8.357,11531,3.342,11593,3.527,11594,3.527,11595,3.527,11596,7.309,11597,8.819,11598,8.357,11599,6.984,11600,8.011,11601,8.819,11602,8.819,11603,8.819,11606,9.407,11616,8.251,11618,8.357,11620,8.664,11625,3.527,11630,3.527,11632,2.688,11633,3.527,11634,2.854,11635,3.527,11636,7.64,11637,8.819,11638,3.527,11639,8.819,11640,3.527,11641,3.527,11642,3.527,11643,2.738,11644,7.055,11645,4.677,11646,5.644,11647,5.644,11648,5.644,11649,3.527,11650,3.527,11651,3.527,11652,4.567,11653,3.527,11654,3.527,11655,3.527,11656,6.188,11657,7.055,11658,3.527,11659,3.527,11660,3.204,11661,5.644,11662,3.527,11663,3.527,11664,3.527,11665,3.527,11666,3.527,11667,3.527,11668,5.644,11669,3.527,11670,5.644,11671,2.923,11672,5.644,11673,3.527,11674,2.793,11675,3.527,11676,3.527,11677,3.527,11678,3.527,11679,2.923,11680,3.002,11681,3.527,11682,3.527,11683,3.527,11684,5.644,11685,3.527]],["title/classes/FileMetadata.html",[0,0.241,11686,5.658]],["body/classes/FileMetadata.html",[0,0.312,2,0.427,3,0.008,4,0.008,5,0.004,7,0.056,27,0.351,29,0.488,30,0.001,31,0.586,32,0.112,33,0.185,47,0.978,55,2.756,72,1.86,83,2.878,95,0.1,96,1.057,101,0.012,103,0,104,0,112,0.502,122,2.163,131,3.267,134,2.266,141,4.472,145,3.916,148,0.886,155,1.293,157,0.937,194,1.591,195,2.923,196,4.383,197,1.132,205,1.304,208,2.55,223,4.371,224,1.173,225,2.452,229,1.597,231,0.699,233,1.255,289,2.349,301,2.613,374,3.914,414,4.979,433,0.498,467,1.179,478,1.134,567,1.51,711,1.853,756,4.357,870,5.98,1087,1.869,1195,4.86,1199,6.918,1200,7.534,1201,7.534,1215,5.432,1224,4.601,1237,2.843,1372,2.137,1929,4.693,2164,3.679,2184,1.603,2393,3.04,2553,4.029,2643,4.369,2912,1.938,2915,6.585,2995,4.44,3056,1.949,3418,1.824,3426,3.781,3926,3.192,3972,4.241,5140,4.183,5234,3.797,5245,3.939,5406,5.044,6027,4.601,6178,3.781,6203,4.078,6574,3.109,6575,3.109,6576,3.035,6577,3.109,6578,2.648,6584,3.035,6585,3.109,6597,6.089,6600,2.859,6601,3.109,6617,3.647,6618,2.97,6620,3.109,6628,2.859,6630,3.109,6632,3.109,6634,3.109,6636,3.109,6642,3.109,7064,5.946,7245,2.613,7465,2.912,7572,2.417,9611,2.859,11686,7.322,11687,3.407,11688,6.253,11689,8.387,11690,5.198,11691,6.399,11692,4.05,11693,4.05,11694,5.384,11695,5.384,11696,5.384,11697,3.407,11698,7.322,11699,3.407,11700,5.384,11701,5.384,11702,5.384,11703,3.192,11704,3.407,11705,3.109,11706,5.198,11707,6.674,11708,3.407,11709,6.674,11710,6.63,11711,5.198,11712,4.912,11713,5.384,11714,5.044,11715,5.384,11716,4.601,11717,5.384,11718,5.384,11719,5.198,11720,5.384,11721,5.384,11722,3.192,11723,3.407,11724,3.192,11725,2.765,11726,3.407,11727,3.407,11728,3.407,11729,3.407,11730,3.407,11731,3.407,11732,3.407,11733,3.407,11734,3.407,11735,3.407,11736,3.407,11737,3.407,11738,3.407,11739,3.407,11740,3.407,11741,3.407,11742,3.407,11743,3.407,11744,3.407,11745,3.407,11746,3.407,11747,3.407,11748,3.407,11749,3.407,11750,3.407,11751,3.407,11752,3.407,11753,3.407,11754,3.407,11755,3.407,11756,3.407,11757,3.407,11758,3.407,11759,3.407,11760,3.407,11761,3.407,11762,3.407,11763,3.407,11764,3.407,11765,3.407,11766,3.407,11767,3.407,11768,3.407,11769,3.407,11770,3.407,11771,3.407,11772,3.407,11773,3.407,11774,3.407,11775,3.407,11776,3.407,11777,3.407,11778,3.407,11779,3.407,11780,3.407,11781,3.407,11782,3.407,11783,3.407,11784,3.407,11785,3.407,11786,3.407]],["title/classes/FileParamBuilder.html",[0,0.241,7351,6.113]],["body/classes/FileParamBuilder.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,26,2.659,27,0.361,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.062,95,0.14,99,1.866,101,0.012,103,0.001,104,0.001,135,1.499,148,0.91,161,2.206,467,3.65,507,5.117,3668,6.362,3898,6.763,3933,4.386,4588,3.946,5234,4.433,6666,5.456,7218,5.485,7322,8.578,7324,10.639,7325,8.578,7351,10.111,11787,10.671,11788,11.521,11789,12.153,11790,7.792,11791,9.261,11792,9.261,11793,9.261]],["title/classes/FileParams.html",[0,0.241,7275,4.833]],["body/classes/FileParams.html",[0,0.476,2,0.698,3,0.012,4,0.017,5,0.01,7,0.092,26,2.536,27,0.258,30,0.001,32,0.15,39,1.834,47,1.024,95,0.143,99,1.332,101,0.017,103,0,104,0,110,2.298,112,0.723,122,1.911,157,1.53,159,0.676,190,1.185,195,1.452,199,5.085,200,2.022,201,4.465,202,1.517,203,6.2,205,1.347,296,3.717,298,2.87,299,4.9,300,4.402,403,4.707,855,5.067,856,6.387,866,3.292,886,3.362,899,3.02,1078,2.895,1080,2.291,1169,3.834,1237,1.914,1290,5.949,1291,4.381,1292,4.381,3011,4.852,3201,4.975,3933,3.13,4588,2.264,5260,6.685,6666,3.13,6847,6.515,7210,6.492,7212,4.321,7213,7.797,7218,4.389,7232,6.111,7262,4.586,7263,4.665,7264,4.665,7269,4.586,7270,8.295,7271,8.11,7272,8.11,7273,4.665,7274,4.586,7275,6.397,7276,4.665,7277,4.512,7278,6.295,7279,4.444,7280,4.512,7281,4.586,7282,4.512,7283,4.265,7284,4.665,7285,4.665,7286,4.665,7287,4.265,7288,4.265,7289,4.381,7290,4.512,7291,4.665,11794,6.609,11795,6.609]],["title/classes/FilePermissionEntity.html",[0,0.241,11616,5.658]],["body/classes/FilePermissionEntity.html",[0,0.247,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,10,4.773,26,1.972,27,0.511,29,0.546,30,0.001,31,0.402,32,0.137,33,0.327,49,4.168,95,0.132,96,2.541,97,2.884,99,1.441,101,0.012,103,0,104,0,112,0.764,122,2.463,125,2.83,129,3.518,130,3.214,153,1.156,159,0.731,190,2.298,195,2.934,196,3.229,197,3.32,211,3.944,223,4.266,224,2.071,232,2.634,433,0.878,435,2.456,734,5.006,886,3.082,1783,7.312,1784,7.988,1883,2.684,2712,4.938,7527,6.016,11616,7.908,11796,11.233,11797,6.623,11798,10.426,11799,11.003,11800,10.426,11801,9.733,11802,7.15,11803,7.15,11804,7.15,11805,11.003,11806,7.15,11807,7.15,11808,6.623,11809,6.623,11810,6.623,11811,6.623,11812,8.543,11813,6.276,11814,8.543,11815,6.276,11816,8.543,11817,6.276,11818,8.543,11819,6.276]],["title/interfaces/FilePermissionEntityProps.html",[159,0.712,11800,6.113]],["body/interfaces/FilePermissionEntityProps.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,10,5.104,26,2.471,30,0.001,32,0.162,33,0.619,49,3.828,95,0.136,96,2.654,97,3.076,99,1.536,101,0.013,103,0,104,0,112,0.797,122,2.916,125,2.905,153,1.233,159,0.78,161,1.816,195,2.68,196,3.372,197,2.841,223,4.071,224,2.209,232,2.064,734,5.353,886,3.218,1783,7.819,1784,8.541,1883,2.862,2712,5.157,11616,6.195,11796,6.416,11797,7.063,11798,11.148,11799,11.765,11800,10.035,11805,11.765,11808,7.063,11809,7.063,11810,7.063,11811,7.063,11812,8.921,11813,6.693,11814,8.921,11815,6.693,11816,8.921,11817,6.693,11818,8.921,11819,6.693]],["title/entities/FileRecord.html",[205,1.419,7237,4.242]],["body/entities/FileRecord.html",[0,0.273,3,0.006,4,0.006,5,0.006,7,0.138,26,2.437,27,0.432,30,0.001,31,0.584,32,0.141,33,0.429,34,0.909,39,1.475,47,0.897,49,4.056,55,1.375,83,2.914,95,0.12,96,1.388,97,1.298,99,0.648,101,0.013,103,0,104,0,112,0.532,122,2.06,125,2.82,135,1.54,141,2.278,145,1.208,148,1.289,153,1.879,157,0.745,159,0.694,185,2.699,190,1.989,195,2.367,196,3.297,197,1.485,205,2.117,206,1.05,223,3.85,224,0.932,225,2.037,229,1.269,231,0.555,232,1.438,233,0.998,277,0.46,290,0.764,402,2.442,412,2.36,414,2.696,430,1.324,431,1.38,478,0.902,540,2.252,556,1.633,567,1.2,569,2.711,579,0.919,615,3.237,620,4.225,703,2.083,711,3.689,756,1.284,773,2.133,794,3.898,802,3.523,870,5.14,886,3.146,1078,2.328,1080,2.353,1084,2.198,1154,3.629,1309,3.822,1444,5.221,1829,2.278,1925,3.688,1937,1.516,2033,1.221,2127,1.884,2128,3.629,2184,3.119,2513,3.029,2712,2.696,2796,2.845,2942,3.655,2953,1.867,2959,1.478,3159,1.457,3418,1.45,3467,1.723,3668,2.696,3681,2.314,3933,4.706,4040,1.884,4216,3.984,4588,3.404,4598,2.471,4600,2.027,4648,2.198,4654,2.805,4664,1.45,4665,1.884,5466,1.85,5493,5.088,5788,1.834,5800,1.921,6665,3.687,6666,5.1,6668,2.866,6669,4.792,6671,5.381,6672,2.314,6673,5.781,6674,2.413,6675,2.051,6676,2.233,6678,3.822,6680,2.413,7206,5.381,7207,4.08,7208,4.08,7209,4.08,7210,4.929,7211,2.077,7216,5.381,7218,5.416,7237,4.8,7238,3.822,7245,2.077,7251,2.361,7253,2.198,7256,4.979,7549,1.981,7766,2.314,7767,3.688,9256,2.272,11530,2.413,11599,4.979,11632,2.272,11645,2.471,11671,4.08,11674,2.361,11679,2.471,11820,2.615,11821,4.19,11822,6.212,11823,5.515,11824,3.219,11825,7.087,11826,3.219,11827,2.981,11828,3.219,11829,3.219,11830,2.981,11831,2.981,11832,3.219,11833,3.219,11834,3.219,11835,2.981,11836,3.219,11837,6.538,11838,3.219,11839,3.219,11840,2.537,11841,2.361,11842,4.318,11843,4.318,11844,4.318,11845,4.318,11846,4.318,11847,4.318,11848,4.19,11849,5.381,11850,4.318,11851,2.471,11852,3.984,11853,2.413,11854,4.08,11855,2.471,11856,4.08,11857,5.351,11858,2.314,11859,2.537,11860,2.361,11861,2.361,11862,2.615,11863,2.615,11864,2.413,11865,2.537,11866,2.615,11867,2.615,11868,2.615,11869,2.615,11870,2.615,11871,2.615,11872,2.615,11873,2.615,11874,2.615,11875,2.615,11876,2.615,11877,7.63,11878,2.615,11879,2.615,11880,4.318,11881,2.615,11882,2.615,11883,4.318,11884,4.318,11885,4.318,11886,2.615,11887,2.615,11888,2.615,11889,2.615,11890,2.615,11891,2.615,11892,2.615,11893,4.318,11894,5.515,11895,2.537,11896,2.615,11897,4.318,11898,2.537,11899,2.615,11900,4.318,11901,2.615,11902,5.515,11903,5.515,11904,2.537,11905,5.351,11906,2.615,11907,2.615,11908,2.615,11909,2.615,11910,2.615,11911,2.615,11912,2.615,11913,2.537,11914,2.615,11915,2.615,11916,2.615,11917,2.615,11918,2.615,11919,2.615,11920,2.615,11921,2.615,11922,2.615,11923,2.615]],["title/classes/FileRecordFactory.html",[0,0.241,11924,6.451]],["body/classes/FileRecordFactory.html",[0,0.169,2,0.515,3,0.009,4,0.009,5,0.007,7,0.068,8,0.844,27,0.516,29,1.01,30,0.001,31,0.717,32,0.166,33,0.574,34,1.525,35,1.414,47,0.543,49,1.836,55,2.369,59,3.323,95,0.119,101,0.006,103,0,104,0,112,0.579,113,4.471,127,4.987,129,3.565,130,3.258,135,1.161,148,0.726,153,1.729,157,2.065,172,3.153,185,2.53,192,2.689,205,2.179,206,2.41,228,1.327,231,1.275,326,4.86,374,3.208,433,0.599,436,3.869,467,2.15,501,7.306,502,5.532,505,4.107,506,5.532,507,5.475,508,4.107,509,4.107,510,4.107,511,4.043,512,4.554,513,4.958,514,6.54,515,5.852,516,7.093,517,2.733,522,2.711,523,4.107,524,2.733,525,5.216,526,5.365,527,4.229,528,5.048,529,4.075,530,2.711,531,2.556,532,4.127,533,2.591,534,2.556,535,2.711,536,2.733,537,4.882,538,2.711,539,7.197,540,3.994,541,6.693,542,2.733,543,4.341,544,2.711,545,2.733,546,2.711,547,2.733,548,2.711,549,3.035,550,2.854,551,2.711,552,6.158,553,2.733,554,2.711,555,4.107,556,3.748,557,4.107,558,2.733,559,2.629,560,2.591,561,2.196,562,2.711,563,2.711,564,2.711,565,2.733,566,2.733,567,1.818,568,2.711,569,1.515,570,2.733,571,2.924,572,2.711,573,2.733,574,2.733,575,2.803,576,2.881,577,2.909,870,2.668,1078,2.136,1304,2.779,1317,3.107,1444,2.711,3933,2.309,4510,5.491,4588,1.67,6665,2.648,6666,2.309,7210,2.755,7216,3.329,7237,2.969,7768,3.961,8050,4.279,10016,2.969,11550,4.516,11599,3.576,11837,5.537,11856,3.743,11924,8.261,11925,4.876,11926,9.951,11927,4.876,11928,4.279,11929,6.484,11930,4.516,11931,4.876,11932,4.876,11933,4.876]],["title/classes/FileRecordListResponse.html",[0,0.241,7261,5.221]],["body/classes/FileRecordListResponse.html",[0,0.383,2,0.641,3,0.011,4,0.011,5,0.005,7,0.085,27,0.456,29,0.463,30,0.001,31,0.569,32,0.164,33,0.535,34,1.484,47,0.959,55,2.86,56,6.038,59,2.698,70,6.503,83,1.78,95,0.123,101,0.014,103,0,104,0,110,2.11,112,0.681,125,1.446,190,1.983,201,3.939,202,1.394,205,1.237,231,1.749,296,3.622,298,2.636,339,3.675,433,0.746,436,3.267,458,3.462,862,7.978,863,6.913,864,6.359,866,3.023,868,4.878,869,2.971,870,4.751,871,2.233,872,4.285,873,5.532,874,5.082,875,3.968,876,3.16,877,4.285,878,4.285,880,5.532,881,4.751,886,3.209,1315,4.931,1319,4.785,1444,3.374,2184,3.436,3054,6.309,3201,4.749,3933,2.874,5234,2.905,6665,3.297,6666,2.874,6675,3.868,7198,4.285,7206,6.92,7210,6.25,7215,4.785,7216,4.144,7218,4.133,7227,4.931,7228,4.931,7229,4.931,7230,4.931,7231,4.785,7232,5.754,7233,5.107,7234,9.225,7237,5.287,7238,8.415,7239,9.394,7240,5.107,7241,4.931,7242,5.107,7243,3.297,7244,5.107,7245,3.917,7246,5.107,7247,5.107,7248,5.107,7249,4.785,7250,4.931,7251,4.452,7252,5.107,7253,4.144,7254,4.931,7255,4.931,7256,4.452,7257,5.107,7258,5.107,7259,4.931,7260,5.107,7261,6.507,11934,6.07,11935,6.07]],["title/classes/FileRecordMapper.html",[0,0.241,11936,6.451]],["body/classes/FileRecordMapper.html",[0,0.252,2,0.77,3,0.014,4,0.014,5,0.007,7,0.102,8,1.127,27,0.436,29,0.853,30,0.001,31,0.628,32,0.138,33,0.511,35,1.282,55,2.754,56,5.642,59,3.066,70,6.076,95,0.11,101,0.009,103,0,104,0,125,1.737,135,1.558,141,3.126,148,1.099,153,1.808,205,1.486,402,2.623,467,3.956,837,3.611,863,6.606,871,3.63,1290,6.366,4926,5.148,7206,4.98,7218,5.702,7237,8.168,7239,9.378,7261,8.379,7279,8.414,11533,10.511,11849,4.98,11858,7.093,11895,5.749,11898,7.776,11904,5.749,11936,9.137,11937,7.293,11938,9.865,11939,10.354,11940,9.137,11941,9.865,11942,7.293,11943,10.077,11944,6.755,11945,7.293,11946,9.137,11947,7.293,11948,6.755,11949,6.755,11950,6.401,11951,7.293,11952,6.755,11953,9.865,11954,11.179,11955,11.179,11956,7.293,11957,7.293,11958,7.293,11959,11.179,11960,7.293]],["title/classes/FileRecordParams.html",[0,0.241,7213,4.494]],["body/classes/FileRecordParams.html",[0,0.472,2,0.671,3,0.012,4,0.017,5,0.008,7,0.089,26,2.629,27,0.405,30,0.001,32,0.157,39,1.765,47,1.003,95,0.142,99,1.281,101,0.017,103,0,104,0,110,2.21,112,0.704,122,1.86,157,1.472,159,0.65,190,1.864,195,1.397,199,4.949,200,1.946,201,4.39,202,1.46,203,6.033,205,1.296,296,3.7,298,2.761,299,4.839,300,4.328,403,3.246,855,5.005,856,6.279,886,3.292,899,2.905,1078,2.785,1080,2.204,1169,3.688,1237,1.842,1290,5.79,1291,4.214,1292,4.214,3011,4.751,3200,3.794,3201,5.293,3933,4.924,4588,3.561,5260,6.547,6389,6.226,6666,4.924,6847,6.422,7210,6.985,7212,4.157,7213,7.976,7218,5.377,7232,7.486,7262,4.412,7263,4.488,7264,4.488,7269,4.412,7270,8.193,7271,7.973,7272,7.973,7273,4.488,7274,4.412,7275,4.412,7276,4.488,7277,4.341,7278,6.126,7279,4.275,7280,4.341,7281,4.412,7282,4.341,7283,4.103,7284,4.488,7285,4.488,7286,4.488,7287,4.103,7288,4.103,7289,4.214,7290,4.341,7291,4.488,11961,6.358,11962,6.358,11963,6.358,11964,6.358]],["title/interfaces/FileRecordProperties.html",[159,0.712,11856,5.346]],["body/interfaces/FileRecordProperties.html",[0,0.246,3,0.006,4,0.006,5,0.005,7,0.142,26,2.671,30,0.001,31,0.62,32,0.14,33,0.443,34,0.96,39,1.557,47,0.932,49,3.404,55,1.662,83,3.127,95,0.123,96,1.465,97,1.387,99,0.693,101,0.013,103,0,104,0,112,0.558,122,2.12,125,2.872,135,1.569,141,2.405,145,1.291,148,1.303,153,1.916,159,0.727,161,0.819,185,1.922,195,1.986,196,2.722,197,0.961,205,1.842,223,3.757,224,0.996,225,2.151,229,1.356,231,0.593,232,1.519,233,1.066,277,0.492,290,0.816,402,2.557,412,1.527,414,2.847,430,1.415,431,1.474,478,0.963,540,2.359,556,1.745,567,1.282,569,2.809,579,0.982,615,2.095,620,4.425,703,1.722,711,3.739,756,1.372,773,2.28,794,2.523,802,2.28,870,5.597,886,3.238,1078,1.507,1080,2.464,1084,2.348,1154,3.832,1309,4.035,1444,5.685,1829,2.405,1925,2.386,1937,1.62,2033,1.304,2127,2.013,2128,3.832,2184,3.247,2513,1.96,2712,2.847,2796,1.841,2942,3.805,2953,1.995,2959,1.579,3159,1.556,3418,1.549,3467,1.841,3668,1.745,3681,2.473,3933,5.373,4040,2.013,4216,2.578,4588,3.886,4598,2.64,4600,2.166,4654,2.962,4664,1.549,4665,2.013,5466,1.977,5788,1.96,5800,2.052,6665,5.266,6666,5.373,6668,1.854,6669,2.428,6671,3.832,6672,2.473,6673,4.116,6674,2.578,6675,2.192,6676,2.386,6678,4.035,6680,2.578,7206,5.601,7207,4.308,7208,4.308,7209,4.308,7210,5.478,7211,2.219,7216,6.17,7218,1.637,7237,4.329,7238,4.035,7245,2.219,7251,2.523,7253,2.348,7256,5.214,7549,2.117,7766,2.473,7767,3.894,9256,2.428,11530,2.578,11599,2.523,11632,2.428,11645,2.64,11671,4.308,11674,2.523,11679,2.64,11820,2.794,11821,2.711,11822,4.424,11823,2.794,11825,8.308,11837,6.148,11840,2.711,11841,2.523,11842,4.559,11843,4.559,11844,4.559,11845,4.559,11846,4.559,11847,4.559,11848,4.424,11849,5.601,11850,4.559,11851,2.64,11852,4.206,11853,2.578,11854,4.308,11855,2.64,11856,5.457,11857,5.604,11858,2.473,11859,2.711,11860,2.523,11861,2.523,11862,2.794,11863,2.794,11864,2.578,11865,2.711,11866,2.794,11867,2.794,11868,2.794,11869,2.794,11870,2.794,11871,2.794,11872,2.794,11873,2.794,11874,2.794,11875,2.794,11876,2.794,11877,7.876,11878,2.794,11879,2.794,11880,4.559,11881,2.794,11882,2.794,11883,4.559,11884,4.559,11885,4.559,11886,2.794,11887,2.794,11888,2.794,11889,2.794,11890,2.794,11891,2.794,11892,2.794,11893,4.559,11894,5.775,11895,2.711,11896,2.794,11897,4.559,11898,2.711,11899,2.794,11900,4.559,11901,2.794,11902,5.775,11903,5.775,11904,2.711,11905,5.604,11906,2.794,11907,2.794,11908,2.794,11909,2.794,11910,2.794,11911,2.794,11912,2.794,11913,2.711,11914,2.794,11915,2.794,11916,2.794,11917,2.794,11918,2.794,11919,2.794,11920,2.794,11921,2.794,11922,2.794,11923,2.794]],["title/injectables/FileRecordRepo.html",[589,0.926,11965,6.113]],["body/injectables/FileRecordRepo.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.061,8,0.776,10,2.73,12,3.075,18,3.405,26,2.827,27,0.504,29,0.977,30,0.001,31,0.719,32,0.158,33,0.584,34,1.607,35,1.467,36,2.88,40,2.116,47,0.612,49,2.559,56,2.059,58,2.858,59,2.921,95,0.12,98,2.635,99,0.881,101,0.006,103,0,104,0,135,1.742,141,4.983,148,1.2,153,1.818,176,2.218,205,1.385,206,2.216,231,1.172,277,0.625,279,1.812,317,3.065,430,1.798,436,2.776,532,4.558,540,4.376,589,0.903,591,1.037,595,1.658,652,2.191,657,2.73,728,6.522,734,2.863,735,3.075,736,4.102,759,2.609,760,2.662,761,2.635,762,2.662,763,3.033,764,2.635,765,2.662,766,2.34,770,2.753,788,2.985,790,2.94,1626,2.45,1921,2.898,2232,3.872,2512,2.609,2938,3.906,3933,5.325,4588,3.219,5138,2.34,6288,5.052,6665,2.374,6895,4.639,7218,5.917,7237,7.57,7638,2.635,7924,7.874,7953,3.206,7954,3.206,7996,3.356,11858,4.885,11965,5.963,11966,4.371,11967,8.333,11968,6.794,11969,6.794,11970,8.333,11971,8.333,11972,6.794,11973,6.293,11974,6.794,11975,6.794,11976,4.371,11977,9.869,11978,4.371,11979,6.794,11980,4.371,11981,6.794,11982,4.371,11983,4.371,11984,4.371,11985,4.371,11986,4.371,11987,6.794,11988,4.371,11989,6.293,11990,4.371,11991,6.794,11992,4.371,11993,6.794,11994,4.371,11995,4.371,11996,4.371,11997,8.333,11998,4.371,11999,4.371,12000,9.398,12001,4.371,12002,4.371,12003,4.371,12004,4.371,12005,4.371,12006,4.371,12007,4.371,12008,4.371]],["title/classes/FileRecordResponse.html",[0,0.241,7239,5.221]],["body/classes/FileRecordResponse.html",[0,0.368,2,0.587,3,0.01,4,0.01,5,0.005,7,0.077,27,0.519,29,0.425,30,0.001,31,0.635,32,0.168,33,0.517,34,1.816,47,1.003,55,2.536,56,5.004,70,5.389,83,2.39,95,0.118,101,0.014,103,0,104,0,110,3.354,112,0.639,190,2.359,201,4.129,202,1.278,205,1.134,231,1.407,296,3.682,298,2.416,339,3.115,433,0.684,458,3.251,862,6.005,863,4.497,864,5.546,870,5.28,880,5.195,881,4.462,886,3.055,1315,4.521,1319,4.387,1444,5.363,2184,3.227,3051,3.928,3054,6.005,3200,5.757,3201,5.537,3933,4.569,5234,2.664,6665,5.24,6666,4.569,6675,3.546,7198,3.928,7206,7.72,7210,6.898,7215,7.605,7216,6.587,7218,6.399,7227,4.521,7228,4.521,7229,4.521,7230,4.521,7231,4.387,7232,8.909,7233,4.682,7234,8.913,7237,6.886,7238,9.334,7239,8.475,7240,6.859,7241,4.521,7242,4.682,7243,3.023,7244,4.682,7245,3.591,7246,4.682,7247,4.682,7248,4.682,7249,4.387,7250,4.521,7251,4.082,7252,4.682,7253,3.8,7254,4.521,7255,4.521,7256,4.082,7257,4.682,7258,4.682,7259,4.521,7260,6.859,7261,4.171,12009,5.565,12010,5.565,12011,5.565,12012,5.565,12013,5.565,12014,5.565,12015,5.565,12016,5.565,12017,5.565,12018,5.565,12019,5.565,12020,5.565]],["title/classes/FileRecordScope.html",[0,0.241,11977,6.113]],["body/classes/FileRecordScope.html",[0,0.211,2,0.645,3,0.011,4,0.011,5,0.005,7,0.085,8,0.996,26,2.769,27,0.523,29,0.98,30,0.001,31,0.721,32,0.164,33,0.587,34,1.044,35,1.472,47,0.747,49,2.3,95,0.124,96,1.594,97,2.463,99,1.23,101,0.008,103,0,104,0,112,0.684,122,2.108,129,2.582,130,2.359,135,0.795,142,3.156,148,1.199,153,1.645,176,4.424,195,1.916,205,1.244,231,1.504,279,2.532,365,3.872,436,3.465,569,1.898,652,2.481,1309,4.391,2479,6.009,3933,2.892,4588,2.092,4865,4.961,6288,5.311,6665,3.317,6669,4.311,6671,4.169,6673,4.479,6677,5.138,6679,5.138,7007,5.779,7008,5.779,7009,5.779,7014,5.779,7015,5.779,7016,4.106,7017,4.048,7018,4.106,7019,4.106,7028,4.048,7029,5.779,7030,4.106,7031,4.048,7032,4.106,7033,4.048,7034,7.775,7216,5.953,7218,5.978,7237,3.719,7278,5.953,9528,4.814,11599,4.479,11977,12.083,12021,12.556,12022,8.076,12023,8.719,12024,8.719,12025,8.719,12026,7.652,12027,8.719,12028,8.076,12029,5.656,12030,8.719,12031,6.107,12032,8.719,12033,5.656,12034,8.719,12035,8.719,12036,5.656,12037,7.652,12038,6.107,12039,8.719,12040,5.656,12041,5.36,12042,5.656]],["title/classes/FileRecordSecurityCheck.html",[0,0.241,11837,5.221]],["body/classes/FileRecordSecurityCheck.html",[0,0.244,2,0.358,3,0.006,4,0.006,5,0.005,7,0.142,26,2.471,27,0.375,29,0.259,30,0.001,31,0.571,32,0.111,33,0.322,34,0.948,39,1.539,47,0.908,49,3.378,55,1.124,83,3.109,95,0.122,96,1.448,97,1.367,99,0.683,101,0.013,103,0,104,0,112,0.552,122,2.107,125,2.861,129,2.656,130,2.427,135,1.563,141,2.377,145,1.272,148,1.3,153,1.972,159,0.72,185,1.9,190,1.608,195,1.971,196,2.698,197,0.947,205,1.828,223,3.939,224,0.982,225,2.125,229,1.337,231,0.585,232,1.905,233,1.051,277,0.485,290,0.804,402,3.226,412,1.506,414,2.814,430,2.895,431,3.017,433,0.416,435,1.165,478,0.95,540,2.335,556,1.72,567,1.264,569,2.788,579,0.968,615,2.064,620,5.062,703,1.701,711,3.728,756,1.352,773,2.247,794,2.486,802,2.247,870,4.451,886,3.358,1078,1.485,1080,2.44,1084,2.314,1154,3.787,1309,5.847,1444,4.521,1829,2.377,1925,2.352,1937,1.597,2033,1.286,2127,1.984,2128,3.787,2184,3.219,2513,1.932,2712,2.814,2796,1.814,2942,3.772,2953,1.966,2959,1.557,3159,1.534,3418,1.527,3467,1.814,3668,1.72,3681,2.437,3933,4.813,4040,1.984,4216,2.541,4588,3.481,4598,2.602,4600,2.135,4654,2.927,4664,1.527,4665,1.984,5466,1.949,5788,1.932,5800,2.023,6665,3.823,6666,4.813,6668,1.828,6669,2.393,6671,3.787,6672,2.437,6673,4.068,6674,2.541,6675,2.16,6676,2.352,6678,3.988,6680,2.541,7206,6.123,7207,4.257,7208,4.257,7209,4.257,7210,4.595,7211,2.187,7216,3.787,7218,4.839,7237,4.286,7238,3.988,7245,2.187,7251,2.486,7253,2.314,7256,5.162,7549,2.087,7766,2.437,7767,3.848,9256,2.393,11530,2.541,11599,2.486,11632,2.393,11645,2.602,11671,4.257,11674,2.486,11679,2.602,11820,2.754,11821,2.672,11822,4.372,11823,2.754,11825,6.607,11837,6.722,11840,2.672,11841,2.486,11842,4.506,11843,4.506,11844,4.506,11845,4.506,11846,4.506,11847,4.506,11848,6.41,11849,6.574,11850,5.718,11851,4.257,11852,4.157,11853,2.541,11854,4.257,11855,2.602,11856,4.257,11857,5.548,11858,2.437,11859,2.672,11860,2.486,11861,2.486,11862,2.754,11863,2.754,11864,2.541,11865,2.672,11866,2.754,11867,2.754,11868,2.754,11869,2.754,11870,2.754,11871,2.754,11872,2.754,11873,2.754,11874,2.754,11875,2.754,11876,2.754,11877,7.823,11878,2.754,11879,2.754,11880,4.506,11881,2.754,11882,2.754,11883,4.506,11884,4.506,11885,4.506,11886,2.754,11887,2.754,11888,2.754,11889,2.754,11890,2.754,11891,2.754,11892,2.754,11893,4.506,11894,5.718,11895,2.672,11896,2.754,11897,4.506,11898,2.672,11899,2.754,11900,4.506,11901,2.754,11902,5.718,11903,5.718,11904,2.672,11905,5.548,11906,2.754,11907,2.754,11908,2.754,11909,2.754,11910,2.754,11911,2.754,11912,2.754,11913,2.672,11914,2.754,11915,2.754,11916,2.754,11917,2.754,11918,2.754,11919,2.754,11920,2.754,11921,2.754,11922,2.754,11923,2.754,12043,5.546,12044,3.39,12045,3.39,12046,3.39,12047,3.39]],["title/interfaces/FileRecordSecurityCheckProperties.html",[159,0.712,11848,5.49]],["body/interfaces/FileRecordSecurityCheckProperties.html",[0,0.252,3,0.007,4,0.007,5,0.005,7,0.145,26,2.503,30,0.001,31,0.554,32,0.104,33,0.451,34,0.989,39,1.605,47,0.939,49,3.469,55,1.171,83,2.892,95,0.125,96,1.509,97,1.439,99,0.719,101,0.013,103,0,104,0,112,0.572,122,2.153,125,2.9,135,1.584,141,2.478,145,1.339,148,1.311,153,1.936,159,0.745,161,0.85,185,1.98,195,2.024,196,2.781,197,0.997,205,1.877,223,3.794,224,1.033,225,2.216,229,1.407,231,0.616,232,1.564,233,1.106,277,0.51,290,0.846,402,3.547,412,1.584,414,2.933,430,1.467,431,1.529,478,0.999,540,2.418,556,1.81,567,1.33,569,2.863,579,1.019,615,2.173,620,4.537,703,1.774,711,3.765,756,1.423,773,2.365,794,2.617,802,2.365,870,4.588,886,3.288,1078,1.563,1080,2.527,1084,2.436,1154,3.947,1309,6.623,1444,4.66,1829,2.478,1925,2.475,1937,1.681,2033,1.353,2127,2.088,2128,3.947,2184,3.318,2513,2.033,2712,2.933,2796,1.91,2942,3.888,2953,2.069,2959,1.638,3159,1.615,3418,1.607,3467,1.91,3668,1.81,3681,2.565,3933,4.918,4040,2.088,4216,2.674,4588,3.557,4598,2.739,4600,2.246,4654,3.051,4664,1.607,4665,2.088,5466,2.051,5788,2.033,5800,2.129,6665,3.959,6666,4.918,6668,1.923,6669,2.518,6671,3.947,6672,2.565,6673,4.241,6674,2.674,6675,2.274,6676,2.475,6678,4.157,6680,2.674,7206,6.733,7207,4.438,7208,4.438,7209,4.438,7210,4.737,7211,2.302,7216,3.947,7218,1.698,7237,4.439,7238,4.157,7245,2.302,7251,2.617,7253,2.436,7256,5.347,7549,2.196,7766,2.565,7767,4.012,9256,2.518,11530,2.674,11599,2.617,11632,2.518,11645,2.739,11671,4.438,11674,2.617,11679,2.739,11820,2.898,11821,2.812,11822,4.558,11823,2.898,11825,6.81,11837,6.283,11840,2.812,11841,2.617,11842,4.697,11843,4.697,11844,4.697,11845,4.697,11846,4.697,11847,4.697,11848,5.746,11849,7.09,11850,4.697,11851,2.739,11852,4.334,11853,2.674,11854,4.438,11855,2.739,11856,4.438,11857,5.746,11858,2.565,11859,2.812,11860,2.617,11861,2.617,11862,2.898,11863,2.898,11864,2.674,11865,2.812,11866,2.898,11867,2.898,11868,2.898,11869,2.898,11870,2.898,11871,2.898,11872,2.898,11873,2.898,11874,2.898,11875,2.898,11876,2.898,11877,8.011,11878,2.898,11879,2.898,11880,4.697,11881,2.898,11882,2.898,11883,4.697,11884,4.697,11885,4.697,11886,2.898,11887,2.898,11888,2.898,11889,2.898,11890,2.898,11891,2.898,11892,2.898,11893,4.697,11894,5.922,11895,2.812,11896,2.898,11897,4.697,11898,2.812,11899,2.898,11900,4.697,11901,2.898,11902,5.922,11903,5.922,11904,2.812,11905,5.746,11906,2.898,11907,2.898,11908,2.898,11909,2.898,11910,2.898,11911,2.898,11912,2.898,11913,2.812,11914,2.898,11915,2.898,11916,2.898,11917,2.898,11918,2.898,11919,2.898,11920,2.898,11921,2.898,11922,2.898,11923,2.898]],["title/interfaces/FileRequestInfo.html",[159,0.712,7324,5.49]],["body/interfaces/FileRequestInfo.html",[3,0.018,4,0.018,5,0.009,7,0.139,26,2.87,30,0.001,32,0.16,95,0.134,99,2.005,101,0.013,103,0.001,104,0.001,112,0.944,159,1.018,161,2.37,193,4.34,3898,4.986,3933,6.37,4588,4.607,6666,6.37,7210,7.601,7218,4.737,7324,9.49,7332,8.733,10016,6.06,11514,9.216]],["title/classes/FileResponseBuilder.html",[0,0.241,12048,6.113]],["body/classes/FileResponseBuilder.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.011,7,0.133,8,1.343,27,0.373,29,0.731,30,0.001,31,0.765,32,0.118,33,0.437,35,1.098,47,0.935,95,0.131,101,0.012,103,0.001,104,0.001,135,1.245,148,0.941,159,0.979,339,2.806,467,3.704,507,5.221,711,2.772,2831,3.831,7218,5.597,7298,8.4,7312,9.369,9465,8.864,11521,5.891,11523,7.544,11533,10.318,12048,10.318,12049,11.757,12050,8.435,12051,10.318]],["title/classes/FileSecurityCheckEntity.html",[0,0.241,11620,5.658]],["body/classes/FileSecurityCheckEntity.html",[0,0.258,2,0.786,3,0.014,4,0.014,5,0.007,7,0.104,27,0.506,29,0.568,30,0.001,31,0.418,32,0.149,33,0.516,47,0.926,83,3.541,95,0.126,96,1.943,101,0.013,103,0,104,0,112,0.784,125,2.69,129,3.731,130,3.409,153,1.953,159,0.761,190,2.258,223,4.253,224,2.156,232,2.706,402,4.344,430,4.645,431,4.841,433,0.914,435,2.557,620,7.516,886,3.576,1309,8.683,1883,2.793,2127,4.356,2128,6.828,2712,5.073,11620,8.124,11632,5.253,11634,9.935,11796,11.152,11849,8.245,11851,7.676,11852,7.496,11853,5.578,11854,7.676,11855,5.713,12052,6.893,12053,10.598,12054,10,12055,7.442,12056,7.442,12057,7.442,12058,11.185,12059,9.262,12060,7.442]],["title/interfaces/FileSecurityCheckEntityProps.html",[159,0.712,12053,6.113]],["body/interfaces/FileSecurityCheckEntityProps.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.149,33,0.614,47,1.005,83,3.19,95,0.134,96,2.209,101,0.014,103,0.001,104,0.001,112,0.853,125,2.865,153,1.76,159,0.865,161,2.015,223,4.093,224,2.451,232,2.29,402,4.724,430,3.48,431,3.627,620,7.486,886,3.445,1309,9.444,1883,3.176,2127,4.953,2128,7.429,2712,5.52,11620,6.874,11632,5.973,11634,6.342,11796,7.119,11849,8.967,11851,6.495,11852,8.156,11853,6.342,11854,8.352,11855,6.495,12052,7.837,12053,10.556,12058,12.165,12059,7.837]],["title/controllers/FileSecurityController.html",[314,2.65,12061,6.113]],["body/controllers/FileSecurityController.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,27,0.406,29,0.795,30,0.001,31,0.585,32,0.144,33,0.476,35,1.194,47,0.97,95,0.147,100,2.759,101,0.01,103,0,104,0,135,1.029,148,0.778,153,1.279,158,2.92,176,6.523,190,1.867,193,5.397,202,1.816,228,1.421,274,3.293,277,1.131,314,3.963,317,2.856,379,4.014,388,3.391,392,4.119,400,2.32,657,2.382,1316,7.328,1319,6.236,1447,5.803,3036,3.707,4401,5.105,5234,3.787,7218,5.543,7279,8.32,7640,5.244,7641,6.427,7642,4.768,7664,6.656,11634,5.93,11943,9.797,12061,9.141,12062,11.643,12063,7.911,12064,10.415,12065,10.415,12066,7.911,12067,9.43,12068,7.911,12069,7.911,12070,7.911,12071,7.911,12072,7.911,12073,11.643,12074,10.785,12075,7.911,12076,7.911,12077,7.911,12078,7.911,12079,6.943,12080,7.911,12081,7.911,12082,7.911,12083,7.911,12084,7.911,12085,7.911,12086,7.911]],["title/interfaces/FileStorageConfig.html",[159,0.712,12087,6.451]],["body/interfaces/FileStorageConfig.html",[3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,32,0.147,47,0.98,55,2.844,95,0.132,101,0.017,103,0.001,104,0.001,112,0.836,122,2.601,135,1.692,159,0.839,161,1.954,231,1.84,1318,6.296,2088,3.515,2219,3.677,2220,4.135,2221,3.992,2222,5.165,2233,4.995,2551,5.293,2831,3.283,4919,5.6,7218,3.905,7306,7.461,7307,6.148,7308,5.6,7309,5.6,7310,5.6,7311,5.6,7478,9.97,11521,5.049,12087,12.047,12088,8.202,12089,13.006,12090,13.006,12091,13.006,12092,5.293,12093,10.976,12094,9.877,12095,6.466,12096,7.199,12097,6.466,12098,8.202,12099,6.901,12100,7.597,12101,10.664,12102,8.202,12103,7.199,12104,7.597,12105,8.202,12106,8.202,12107,8.202,12108,8.202,12109,8.202,12110,8.202,12111,8.202]],["title/injectables/FileSystemAdapter.html",[589,0.926,5207,5.86]],["body/injectables/FileSystemAdapter.html",[0,0.156,3,0.008,4,0.008,5,0.012,7,0.063,8,0.795,27,0.48,29,0.868,30,0.001,31,0.639,32,0.145,33,0.52,35,1.412,36,2.688,47,1.04,95,0.115,101,0.006,103,0,104,0,112,0.546,135,1.42,148,1.072,157,2.212,277,0.645,317,2.912,329,7.153,388,4.874,403,5.996,412,2.003,414,6.73,433,1.044,589,0.925,591,1.07,640,4.284,652,1.728,657,2.361,735,3.149,890,4.751,1476,4.194,1563,4.49,1783,4.284,1784,4.679,1834,5.104,1835,3.576,2343,6.87,2356,6.107,2393,3.661,2488,3.307,2513,2.57,2588,4.382,2802,3.461,2856,5.216,2912,5.997,3102,7.079,3109,6.745,3611,3.079,3832,6.445,4214,5.486,5200,7.762,5207,5.855,5215,3.966,5222,8.824,5230,10.878,5234,3.331,5247,3.461,5256,10.106,5300,5.855,5403,6.445,12112,11.604,12113,11.604,12114,4.509,12115,8.375,12116,6.959,12117,6.959,12118,6.959,12119,8.498,12120,8.498,12121,6.959,12122,8.498,12123,8.498,12124,6.959,12125,6.959,12126,4.509,12127,5.855,12128,6.959,12129,4.509,12130,8.385,12131,10.324,12132,6.959,12133,6.107,12134,8.85,12135,11.745,12136,6.959,12137,4.509,12138,8.498,12139,4.509,12140,6.445,12141,8.498,12142,4.509,12143,7.15,12144,7.15,12145,9.554,12146,6.959,12147,4.509,12148,6.445,12149,5.342,12150,8.498,12151,4.509,12152,6.959,12153,4.509,12154,4.509,12155,6.959,12156,4.509,12157,3.461,12158,6.445,12159,4.509,12160,4.509,12161,4.509,12162,8.498,12163,4.509,12164,4.509,12165,4.509,12166,4.509,12167,4.509,12168,6.959,12169,4.509,12170,4.509,12171,3.461,12172,4.509,12173,4.509,12174,4.509]],["title/modules/FileSystemModule.html",[252,1.839,12175,6.113]],["body/modules/FileSystemModule.html",[0,0.339,3,0.018,4,0.018,5,0.011,30,0.001,95,0.133,101,0.013,103,0.001,104,0.001,252,3.395,254,3.527,255,3.744,256,3.838,257,3.824,258,3.811,259,4.671,260,4.779,269,4.671,270,3.77,271,3.693,277,1.402,5207,12.255,12112,9.081,12113,9.081,12175,12.392,12176,9.804,12177,9.804,12178,9.804,12179,9.804,12180,9.804]],["title/classes/FileUrlParams.html",[0,0.241,7274,4.833]],["body/classes/FileUrlParams.html",[0,0.472,2,0.669,3,0.012,4,0.017,5,0.008,7,0.088,26,2.502,27,0.405,30,0.001,32,0.157,33,0.409,39,1.759,47,1.018,95,0.141,99,1.277,101,0.017,103,0,104,0,110,3.609,112,0.702,122,1.856,157,1.467,159,0.648,190,1.861,195,1.393,199,4.938,200,1.939,201,4.384,202,1.455,203,6.02,205,1.292,296,3.698,298,2.752,299,4.834,300,4.322,403,3.236,855,5,856,6.27,866,5.17,886,3.286,899,2.896,1078,3.922,1080,2.197,1169,6.02,1237,1.836,1290,5.777,1291,4.201,1292,4.201,3011,4.743,3201,4.864,3933,3.001,4588,2.171,5260,7.491,6666,3.001,6847,6.414,7210,6.373,7212,4.144,7213,7.677,7218,5.369,7232,7.476,7262,4.398,7263,4.474,7264,4.474,7269,4.398,7270,8.184,7271,7.962,7272,7.962,7273,4.474,7274,6.212,7275,4.398,7276,4.474,7277,4.327,7278,6.112,7279,4.262,7280,4.327,7281,4.398,7282,4.327,7283,4.09,7284,4.474,7285,4.474,7286,4.474,7287,4.09,7288,4.09,7289,4.201,7290,4.327,7291,4.474,12181,8.952,12182,6.338,12183,6.338,12184,6.338,12185,6.338]],["title/modules/FilesModule.html",[252,1.839,9050,5.86]],["body/modules/FilesModule.html",[0,0.297,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.197,254,3.089,255,3.279,256,3.362,257,3.35,258,3.338,259,4.399,260,4.501,265,6.26,269,4.301,270,3.303,271,3.235,276,4.301,277,1.228,610,3.387,1027,2.628,2636,4.203,3036,4.024,8953,9.641,8958,11.355,8962,7.537,8984,10.964,8985,11.355,9002,7.955,9050,12.191,12186,8.588,12187,8.588,12188,8.588,12189,8.588,12190,12.563,12191,8.588]],["title/injectables/FilesRepo.html",[589,0.926,8984,5.658]],["body/injectables/FilesRepo.html",[0,0.196,3,0.01,4,0.01,5,0.005,7,0.079,8,0.942,10,3.313,12,3.731,18,4.132,26,2.598,27,0.5,29,0.96,30,0.001,31,0.706,32,0.156,33,0.574,34,1.41,35,1.407,36,2.71,40,2.735,49,3.666,55,2.407,56,2.662,58,6.996,83,2.854,95,0.137,96,2.152,97,2.279,99,1.139,101,0.007,103,0,104,0,135,1.636,148,1.052,153,1.333,205,1.68,206,2.69,224,1.637,228,1.015,231,1.423,277,0.808,317,2.961,415,3.221,433,0.694,436,3.161,532,4.841,540,2.735,589,1.096,591,1.341,657,2.226,711,3.714,728,7.114,734,3.474,735,3.731,736,4.792,759,3.372,760,3.442,761,3.406,762,3.442,763,3.921,764,3.406,765,3.442,766,3.025,771,4.063,788,3.858,1019,7.848,1826,2.904,1883,2.121,2445,4.063,2446,5.812,2450,5.928,2484,3.921,2944,4.063,3960,4.591,4703,6.449,5136,3.746,5234,5.686,5340,4.591,6892,4.338,8961,9.391,8970,7.236,8984,6.698,8989,4.755,9636,4.145,11596,4.338,11598,4.96,11618,4.96,11798,4.96,12192,5.651,12193,8.245,12194,8.245,12195,8.245,12196,5.651,12197,8.245,12198,5.651,12199,5.651,12200,8.245,12201,5.651,12202,5.651,12203,8.245,12204,5.651,12205,5.651,12206,7.637,12207,8.245,12208,5.651,12209,5.651,12210,7.236,12211,5.234,12212,5.651,12213,5.651,12214,5.651,12215,5.651,12216,5.651,12217,5.651]],["title/injectables/FilesService.html",[589,0.926,12190,6.113]],["body/injectables/FilesService.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.104,8,1.144,26,2.858,27,0.491,29,0.962,30,0.001,31,0.708,32,0.156,33,0.576,35,1.386,36,2.849,39,3.354,95,0.135,99,1.502,101,0.01,103,0,104,0,135,1.303,145,4.536,148,1.276,205,1.519,206,3.267,228,1.339,277,1.066,317,3.033,400,2.186,433,0.916,589,1.331,591,1.769,657,2.764,1019,5.469,2636,5.533,7823,6.273,8984,9.818,12190,8.788,12218,7.456,12219,10.012,12220,10.012,12221,10.012,12222,10.012,12223,7.456,12224,10.012,12225,7.456,12226,10.012,12227,7.456,12228,10.012,12229,7.456,12230,10.012,12231,7.456,12232,10.012,12233,11.193,12234,10.012,12235,7.456,12236,10.012,12237,10.012,12238,7.456]],["title/modules/FilesStorageAMQPModule.html",[252,1.839,12239,6.451]],["body/modules/FilesStorageAMQPModule.html",[0,0.315,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.283,254,3.271,255,3.473,256,3.56,257,3.547,258,3.535,259,4.517,260,3.379,265,6.353,269,4.459,270,3.497,271,3.425,276,4.459,277,1.3,314,3.461,1027,2.783,1318,6.98,3898,4.557,5234,4.353,7218,4.329,7457,8.838,12092,5.868,12239,13.362,12240,9.094,12241,9.094,12242,9.094,12243,11.523,12244,12.02,12245,8.423,12246,8.423]],["title/modules/FilesStorageApiModule.html",[252,1.839,12247,6.113]],["body/modules/FilesStorageApiModule.html",[0,0.293,3,0.016,4,0.016,5,0.008,30,0.001,95,0.154,101,0.011,103,0.001,104,0.001,252,3.178,254,3.05,255,3.238,256,3.32,257,3.308,258,3.296,259,4.372,260,3.151,269,4.266,270,3.261,271,3.194,273,5.339,274,4.535,276,4.266,277,1.213,314,3.227,1054,4.791,1318,6.509,1484,9.045,1903,9.866,3036,3.973,3898,4.249,3904,7.123,5234,4.059,7218,4.037,7457,8.68,12061,10.566,12074,12.459,12092,5.472,12243,11.317,12246,7.854,12247,12.653,12248,8.479,12249,8.479,12250,8.479,12251,12.039,12252,6.889,12253,6.509,12254,6.509]],["title/injectables/FilesStorageClientAdapterService.html",[589,0.926,7340,5.008]],["body/injectables/FilesStorageClientAdapterService.html",[0,0.234,3,0.017,4,0.013,5,0.008,7,0.094,8,1.069,26,2.618,27,0.475,29,0.93,30,0.001,31,0.684,32,0.151,33,0.556,35,1.33,36,2.783,95,0.147,99,1.361,100,2.355,101,0.009,103,0,104,0,135,1.681,148,1.14,161,1.609,193,2.946,228,1.213,277,0.966,317,2.984,388,4.011,400,1.98,433,0.83,589,1.244,591,1.602,652,1.374,657,2.652,675,3.448,871,4.267,1027,2.067,2447,3.912,2448,5.434,3282,4.541,3898,6.913,3933,3.198,5234,3.233,6665,3.668,7218,5.999,7221,5.184,7324,9.141,7326,9.757,7327,6.255,7340,6.73,7364,5.062,11790,5.682,12255,11.67,12256,6.754,12257,7.603,12258,8.214,12259,8.669,12260,8.214,12261,10.74,12262,9.757,12263,6.754,12264,9.359,12265,6.754,12266,9.359,12267,6.754,12268,9.359,12269,6.754,12270,9.359,12271,6.754,12272,6.255,12273,6.754,12274,6.754,12275,12.6,12276,6.754,12277,6.754,12278,9.359,12279,6.754,12280,6.754,12281,6.754]],["title/interfaces/FilesStorageClientConfig.html",[159,0.712,12282,5.86]],["body/interfaces/FilesStorageClientConfig.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.132,55,2.701,101,0.014,103,0.001,104,0.001,112,0.984,159,1.09,161,2.54,311,6.795,2831,4.268,3898,6.287,7218,5.077,12099,11.579,12282,10.556,12283,10.663]],["title/classes/FilesStorageClientMapper.html",[0,0.241,11790,5.86]],["body/classes/FilesStorageClientMapper.html",[0,0.209,2,0.639,3,0.011,4,0.011,5,0.005,7,0.084,8,0.99,27,0.474,29,0.928,30,0.001,31,0.719,32,0.158,33,0.556,34,1.481,35,1.395,47,0.744,95,0.123,100,3.528,101,0.008,103,0,104,0,135,1.666,148,1.3,153,1.786,161,1.441,205,2.251,467,4.09,478,1.695,579,2.473,653,4.161,871,4.064,1622,6.229,2358,5.817,2957,4.671,2959,3.978,3159,3.92,3898,6.889,3933,2.866,6666,4.102,6957,4.645,7198,4.272,7210,7.237,7217,10.536,7218,5.962,7221,8.479,7231,4.77,7239,4.536,7261,4.536,7364,9.916,10016,3.685,10933,5.311,11513,10.776,11787,11.599,11789,10.231,11790,7.289,12284,6.051,12285,8.663,12286,8.663,12287,8.663,12288,8.663,12289,8.663,12290,8.663,12291,8.663,12292,6.051,12293,8.663,12294,6.051,12295,8.663,12296,6.051,12297,8.663,12298,6.051,12299,8.663,12300,6.051,12301,8.663,12302,6.051,12303,11.046,12304,6.051,12305,6.051,12306,6.051,12307,6.051,12308,6.051,12309,6.051,12310,6.051,12311,6.051,12312,6.051,12313,6.051,12314,6.051,12315,6.051,12316,8.663,12317,6.051,12318,6.051,12319,6.051]],["title/modules/FilesStorageClientModule.html",[252,1.839,3889,5.221]],["body/modules/FilesStorageClientModule.html",[0,0.29,3,0.016,4,0.016,5,0.008,30,0.001,95,0.149,101,0.011,103,0.001,104,0.001,252,3.162,254,3.018,255,3.204,256,3.285,257,3.273,258,3.261,259,4.351,260,4.451,265,6.222,269,4.237,270,3.227,271,3.16,276,4.237,277,1.2,1027,2.568,3318,5.165,3319,4.782,3889,10.867,3898,6.003,7218,3.995,7333,12.004,7340,10.259,7352,7.772,7378,10.054,7384,7.772,12262,11.286,12272,7.772,12320,8.39,12321,8.39,12322,8.39,12323,8.39,12324,8.39,12325,7.364,12326,7.772,12327,10.024]],["title/injectables/FilesStorageConsumer.html",[589,0.926,12244,6.113]],["body/injectables/FilesStorageConsumer.html",[0,0.177,3,0.01,4,0.017,5,0.005,7,0.071,8,0.876,26,2.409,27,0.426,29,0.834,30,0.001,31,0.614,32,0.135,33,0.499,35,1.17,36,2.583,39,1.422,95,0.144,96,1.338,99,1.033,100,1.787,101,0.007,103,0,104,0,125,2.431,135,1.59,148,1.003,190,1.829,224,1.484,228,1.651,277,0.733,317,2.831,433,0.942,571,2.029,589,1.02,591,1.216,652,2.075,657,2.718,675,2.616,711,3.79,813,2.872,863,6.324,871,4.02,1027,1.568,1086,2.44,1087,2.365,1088,2.401,1089,2.553,1090,2.784,1115,4.158,1197,5.542,1272,6.425,1274,7.991,1310,3.618,1311,3.35,1723,7.54,1939,2.724,2060,3.759,2061,3.685,2447,3.842,2448,4.782,2557,3.446,2835,9.93,3011,3.505,4162,7.337,5186,4.747,7195,4.163,7199,9.852,7201,4.312,7213,6.584,7214,4.163,7218,5.459,7282,6.967,7909,6.092,8853,7.833,10016,3.121,11552,7.734,11858,6.609,12244,6.732,12257,8.29,12258,8.067,12260,8.067,12327,4.747,12328,11.466,12329,5.125,12330,9.191,12331,5.125,12332,9.648,12333,10.001,12334,5.125,12335,4.747,12336,9.451,12337,10.204,12338,5.125,12339,4.747,12340,5.125,12341,5.125,12342,5.125,12343,4.747,12344,5.125,12345,7.104,12346,10.12,12347,3.841,12348,4.747,12349,11.466,12350,4.498,12351,5.125,12352,5.125,12353,7.67,12354,5.125,12355,7.67,12356,5.125,12357,5.125,12358,7.67,12359,7.67,12360,5.125,12361,5.125,12362,5.125,12363,5.125,12364,7.67,12365,5.125,12366,5.125,12367,9.191,12368,5.125,12369,5.125]],["title/classes/FilesStorageMapper.html",[0,0.241,12350,6.113]],["body/classes/FilesStorageMapper.html",[0,0.298,2,0.633,3,0.011,4,0.011,5,0.005,7,0.084,8,0.983,27,0.473,29,0.926,30,0.001,31,0.681,32,0.158,33,0.554,35,1.39,55,2.636,56,5.182,59,2.675,70,5.581,95,0.135,101,0.008,103,0,104,0,134,2.124,135,1.625,148,1.192,153,1.884,159,0.613,205,1.222,277,0.858,326,2.282,467,4.086,579,1.712,837,2.97,863,6.067,871,3.167,1231,5.263,1232,3.479,1446,4.399,1953,7.107,2796,4.607,3555,5.485,3846,4.727,3933,2.84,4157,4.399,4588,2.054,6666,2.84,7210,6.216,7213,7.517,7218,5.946,7237,8.224,7239,7.546,7250,4.872,7255,4.872,7261,7.546,7277,7.511,7278,4.095,7280,7.953,7640,6.673,7641,9.463,7664,5.046,7734,5.046,11858,6.189,11939,9.325,11940,7.972,11944,5.555,11946,7.972,11948,5.555,11949,5.555,11950,5.263,11952,5.555,12050,7.291,12051,5.263,12350,7.554,12370,12.489,12371,5.997,12372,8.607,12373,7.242,12374,8.607,12375,8.607,12376,8.607,12377,5.997,12378,7.242,12379,5.997,12380,5.997,12381,5.997,12382,8.607,12383,5.997,12384,8.607,12385,5.997,12386,5.997,12387,5.555,12388,5.997,12389,5.997,12390,5.997,12391,5.997,12392,5.555,12393,5.997,12394,5.263,12395,5.997,12396,5.997,12397,5.997,12398,5.997,12399,4.872,12400,5.997,12401,5.997,12402,5.997,12403,5.997,12404,5.997,12405,5.997,12406,5.997,12407,5.997]],["title/modules/FilesStorageModule.html",[252,1.839,12243,5.86]],["body/modules/FilesStorageModule.html",[0,0.223,3,0.012,4,0.012,5,0.006,30,0.001,32,0.08,47,0.879,55,1.305,87,3.247,95,0.156,96,2.364,101,0.008,103,0,104,0,122,1.335,135,1.362,153,1.041,195,1.415,205,1.312,206,2.101,224,1.865,252,2.764,254,2.316,255,2.459,256,2.521,257,2.512,258,2.503,259,4.125,260,3.891,265,4.199,269,3.544,270,2.476,271,2.425,276,4.447,277,0.921,290,1.528,347,3.309,412,2.86,478,1.804,540,3.004,556,3.267,561,2.9,571,2.549,610,2.54,623,5.919,651,3.267,736,4.457,809,4.21,1011,8.474,1014,4.468,1015,4.397,1017,6.282,1021,4.155,1022,6.282,1023,6.391,1024,6.282,1025,4.155,1026,4.055,1027,1.971,1036,6.51,1040,4.468,1041,4.397,1042,4.268,1086,3.066,1087,2.972,1088,3.018,1089,3.208,1166,4.268,1167,3.964,1258,5.652,1268,3.964,1270,5.232,1272,4.055,1274,4.21,1283,4.546,1288,5.418,1318,4.943,1626,3.609,1829,2.76,2088,2.76,2219,2.887,2220,3.247,2221,3.134,2222,4.055,2636,3.152,2831,2.578,2860,4.155,2954,3.422,5123,5.965,5234,3.082,7218,3.066,7237,5.513,7269,4.468,7306,4.055,10016,3.922,11521,3.964,11643,4.63,11837,6.786,11841,4.723,11965,10.893,12243,11.681,12332,11.51,12333,11.51,12408,6.439,12409,6.439,12410,6.439,12411,6.439,12412,7.946,12413,4.63,12414,6.64,12415,6.64,12416,6.786,12417,5.652,12418,4.943,12419,6.439,12420,6.439,12421,6.439,12422,5.652,12423,6.439,12424,6.439,12425,6.439,12426,5.418,12427,4.723,12428,4.723,12429,5.232,12430,4.943,12431,5.076,12432,5.965]],["title/injectables/FilesStorageProducer.html",[589,0.926,12262,5.86]],["body/injectables/FilesStorageProducer.html",[0,0.191,3,0.01,4,0.01,5,0.005,7,0.077,8,0.926,26,2.467,27,0.487,29,0.989,30,0.001,31,0.702,32,0.16,33,0.571,35,1.396,36,2.639,47,0.866,55,1.118,95,0.136,99,1.112,101,0.007,103,0,104,0,113,4.962,135,1.377,148,1.04,158,2.991,161,1.315,193,3.534,228,1.724,231,1.398,277,0.789,317,2.928,433,0.995,436,2.836,532,2.972,569,1.715,571,2.185,589,1.077,591,1.309,634,7.062,651,2.8,652,1.123,657,2.419,871,4.689,1027,1.689,1086,2.628,1087,2.547,1088,2.586,1089,2.749,1090,2.998,1091,3.658,1094,4.137,1197,6.784,1272,3.475,1274,3.608,1297,4.484,1298,8.83,1310,3.896,1311,3.608,1723,8.012,2447,4.013,2448,4.958,3898,5.904,4162,8.98,4305,6.583,4338,4.137,7195,4.484,7199,6.388,7201,4.644,7212,6.917,7213,6.827,7214,4.484,7218,5.608,10016,3.361,12255,10.912,12257,6.583,12258,7.112,12259,7.506,12260,7.112,12262,6.818,12282,4.644,12335,7.506,12339,7.506,12343,7.506,12347,6.074,12433,5.519,12434,9.912,12435,7.112,12436,7.112,12437,5.519,12438,5.519,12439,5.519,12440,8.103,12441,5.519,12442,5.519,12443,4.844,12444,5.112,12445,4.844,12446,5.112,12447,4.844,12448,5.112,12449,5.112,12450,5.519,12451,5.519,12452,5.519,12453,5.519,12454,5.519,12455,5.519,12456,5.519,12457,5.519,12458,5.519,12459,5.519,12460,5.519,12461,5.519,12462,5.519,12463,5.519]],["title/modules/FilesStorageTestModule.html",[252,1.839,12464,6.451]],["body/modules/FilesStorageTestModule.html",[0,0.253,3,0.014,4,0.014,5,0.007,8,0.835,27,0.285,29,0.558,30,0.001,31,0.41,32,0.09,33,0.334,35,0.838,59,2.271,95,0.153,101,0.009,103,0,104,0,135,1.456,148,0.718,205,1.489,206,2.384,252,3.164,254,2.628,255,2.79,256,2.861,257,2.85,258,2.84,259,4.353,260,2.715,265,5.985,269,3.867,270,2.81,271,2.752,274,4.658,276,4.902,277,1.045,467,2.875,478,2.047,540,3.277,1016,7.131,1017,6.853,1027,2.236,1028,8.316,1029,8.419,1031,9.109,1034,5.609,1043,6.853,1045,6.458,1048,5.07,1318,7.582,1484,8.677,1856,7.354,2680,3.355,3240,3.754,3898,5.607,5202,5.158,5234,3.497,7218,4.702,7237,6.015,7457,8.327,10016,4.45,12092,4.715,12247,11.325,12464,13.351,12465,7.307,12466,7.307,12467,5.936,12468,7.307]],["title/classes/FilterImportUserParams.html",[0,0.241,12469,5.86]],["body/classes/FilterImportUserParams.html",[0,0.324,2,1.331,3,0.013,4,0.013,5,0.006,7,0.094,27,0.504,30,0.001,32,0.163,33,0.639,47,0.995,95,0.152,101,0.014,103,0,104,0,112,0.735,122,1.943,190,2.317,195,2.059,199,5.168,200,2.07,201,5.121,202,1.553,298,2.938,299,4.771,300,5.049,331,4.774,415,6.126,700,5.203,701,5.203,856,6.774,886,3.674,899,3.091,1582,6.738,2010,6.211,2531,5.052,2543,5.9,3431,6.046,3432,5.387,4703,5.648,4970,6.05,5408,4.864,6178,5.537,6317,6.731,10930,5.937,12469,7.884,12470,12.203,12471,5.692,12472,7.589,12473,7.459,12474,6.765,12475,6.765,12476,9.957,12477,6.765,12478,6.765,12479,6.765,12480,6.765,12481,6.765,12482,11.287,12483,6.765,12484,6.765,12485,6.765,12486,11.287,12487,6.765,12488,6.765,12489,9.37,12490,6.617,12491,6.765,12492,6.765]],["title/classes/FilterNewsParams.html",[0,0.241,12493,5.658]],["body/classes/FilterNewsParams.html",[0,0.368,2,0.861,3,0.015,4,0.015,5,0.007,7,0.114,27,0.46,30,0.001,32,0.146,33,0.608,34,1.816,47,0.92,95,0.139,99,1.642,101,0.01,103,0.001,104,0.001,112,0.833,122,2.202,157,3.005,190,2.118,199,5.858,200,2.495,201,4.865,202,1.872,203,7.143,299,4.158,300,4.797,304,4.037,855,4.301,886,2.581,899,3.725,1083,6.002,3011,5.72,3045,7.04,3197,5.685,3198,5.685,4905,8.078,5264,7.498,7873,7.724,7881,7.824,7882,7.72,8069,8.495,8072,9.598,8075,7.155,8078,7.551,8083,7.551,8087,7.791,8093,7.551,12493,8.629,12494,12.518,12495,7.155,12496,8.373,12497,8.937,12498,8.152,12499,8.152,12500,7.551,12501,7.498,12502,8.152]],["title/classes/FilterUserParams.html",[0,0.241,12503,5.86]],["body/classes/FilterUserParams.html",[0,0.412,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.381,30,0.001,31,0.722,32,0.121,33,0.544,47,0.875,95,0.133,101,0.013,103,0.001,104,0.001,112,0.935,130,3.224,190,1.753,200,2.993,201,4.631,202,2.246,299,4.664,300,4.565,329,7.256,700,5.766,701,5.766,856,6.623,4703,7.181,4970,5.471,12470,11.035,12471,8.229,12476,9.059,12503,10.024,12504,9.78]],["title/classes/ForbiddenLoggableException.html",[0,0.241,1957,5.49]],["body/classes/ForbiddenLoggableException.html",[0,0.295,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,8,1.25,26,2.581,27,0.426,29,0.651,30,0.001,31,0.479,32,0.149,33,0.39,35,0.979,39,3.351,47,0.887,95,0.147,99,1.719,101,0.011,103,0.001,104,0.001,135,1.11,148,0.839,183,4.611,228,2.168,231,1.888,233,2.645,242,4.503,277,1.22,339,2.502,433,1.344,652,2.456,736,6.27,801,7.489,1115,4.163,1197,4.635,1237,3.169,1422,4.834,1426,5.656,1462,4.601,1468,5.938,1477,4.357,1478,4.535,1775,6.97,1778,5.373,1957,8.624,2681,7.206,12505,12.075,12506,6.259,12507,7.904,12508,8.533,12509,6.727,12510,6.932,12511,8.533,12512,8.533,12513,8.533]],["title/classes/ForbiddenOperationError.html",[0,0.241,343,5.86]],["body/classes/ForbiddenOperationError.html",[0,0.269,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,8,1.176,27,0.522,29,0.593,30,0.001,31,0.437,32,0.172,33,0.527,35,0.891,47,0.965,55,1.575,59,3.2,95,0.115,101,0.01,103,0,104,0,112,0.808,155,3.922,190,2.291,228,2.497,231,1.776,233,2.41,277,1.112,343,8.662,402,2.796,433,0.955,436,3.88,868,5.914,871,2.86,998,5.466,1078,5.383,1080,4.553,1115,4.864,1354,8.67,1355,7.703,1356,7.547,1360,5.152,1361,4.469,1362,5.152,1363,5.152,1364,5.152,1365,5.152,1366,5.152,1367,4.785,1368,4.393,1369,6.128,1374,5.016,1796,8.662,5095,6.822,9216,6.824,12514,10.295,12515,7.773,12516,7.773,12517,7.773,12518,8.364,12519,7.2]],["title/controllers/FwuLearningContentsController.html",[314,2.65,12520,5.86]],["body/controllers/FwuLearningContentsController.html",[0,0.263,3,0.014,4,0.014,5,0.007,7,0.106,8,1.16,27,0.297,29,0.581,30,0.001,31,0.428,32,0.126,33,0.348,35,0.873,36,2.146,95,0.149,101,0.01,103,0,104,0,135,1.486,148,0.748,153,1.642,189,4.685,190,1.364,193,5.315,195,1.673,202,1.748,228,1.367,274,3.168,277,1.088,314,2.896,316,3.663,317,2.471,326,4.347,388,4.351,392,3.963,395,4.074,398,4.104,400,2.232,414,3.862,579,2.173,657,1.741,871,4.67,1268,4.685,1312,3.585,1368,4.301,1446,5.583,2219,3.412,2220,3.838,2221,3.704,2393,3.89,3240,3.911,3846,6,4259,4.456,7640,8.414,7641,6.183,7642,4.588,7658,6.183,7664,6.404,12067,8.938,12079,6.68,12520,8.541,12521,8.003,12522,10.293,12523,10.152,12524,7.611,12525,8.541,12526,7.611,12527,10.695,12528,10.152,12529,7.611,12530,9.28,12531,6.68,12532,6.68,12533,7.611,12534,7.611,12535,7.611,12536,7.611,12537,7.611,12538,7.611,12539,8.768,12540,7.611,12541,7.611,12542,7.611,12543,7.05,12544,7.05,12545,7.05,12546,6.68,12547,7.611,12548,7.05,12549,7.05,12550,7.611,12551,7.611,12552,7.611,12553,7.611,12554,7.611]],["title/modules/FwuLearningContentsModule.html",[252,1.839,12555,6.451]],["body/modules/FwuLearningContentsModule.html",[0,0.227,3,0.012,4,0.012,5,0.006,30,0.001,32,0.081,47,0.482,87,3.311,94,4.656,95,0.157,96,2.396,101,0.008,103,0,104,0,135,0.854,153,1.062,195,1.443,206,2.142,224,1.902,252,2.793,254,2.362,255,2.507,256,2.571,257,2.561,258,2.552,259,3.842,260,2.44,265,5.793,269,3.593,270,2.525,271,2.473,274,3.82,276,3.593,277,0.939,290,2.51,331,4.076,347,3.374,412,2.916,478,1.839,540,3.045,561,2.957,571,2.599,623,6,651,3.331,692,4.279,736,4.518,809,4.293,1011,8.527,1014,4.556,1015,4.483,1021,4.237,1022,6.368,1023,6.478,1024,6.368,1025,4.237,1026,4.134,1027,2.009,1036,6.599,1040,4.556,1041,4.483,1042,4.352,1054,3.71,1086,3.126,1087,3.03,1088,3.077,1089,3.271,1166,4.352,1167,4.042,1484,8.398,1626,3.68,1829,2.814,1856,7.117,2088,2.814,2680,3.015,2831,2.628,2860,4.237,2954,3.49,3904,6,5210,4.912,7306,4.134,7457,8.059,10016,3.999,11521,4.042,11643,4.721,12092,4.237,12413,8.667,12414,6.732,12415,6.732,12416,6.879,12418,5.04,12426,5.524,12427,4.816,12428,4.816,12429,5.334,12430,5.04,12431,5.176,12432,6.082,12520,8.902,12521,5.176,12522,9.502,12525,5.524,12530,10.146,12531,5.763,12532,5.763,12555,13.149,12556,6.566,12557,6.566,12558,6.566,12559,6.082,12560,6.566,12561,6.171,12562,6.082,12563,6.082,12564,6.082,12565,5.763]],["title/modules/FwuLearningContentsTestModule.html",[252,1.839,12566,6.451]],["body/modules/FwuLearningContentsTestModule.html",[0,0.227,3,0.012,4,0.012,5,0.006,8,0.749,27,0.255,29,0.5,30,0.001,31,0.368,32,0.081,33,0.299,35,0.752,59,2.037,94,4.651,95,0.157,101,0.008,103,0,104,0,135,1.375,148,0.644,206,2.139,252,3.022,254,2.358,255,2.503,256,2.566,257,2.557,258,2.548,259,4.375,260,2.436,265,5.79,269,3.589,270,2.521,271,2.469,274,4.765,276,4.716,277,0.937,290,2.175,331,4.071,467,2.668,478,1.836,540,3.041,651,3.326,692,4.274,1016,6.736,1021,4.23,1025,4.23,1026,4.128,1027,2.006,1028,7.943,1029,8.101,1031,8.811,1043,6.361,1045,5.993,1048,4.548,1054,3.704,1484,8.394,1856,7.114,2088,2.81,2680,3.01,2831,2.624,3904,5.993,5202,4.627,5210,4.907,6213,6.259,7306,4.128,7457,8.055,10016,3.992,11521,4.035,12092,4.23,12252,5.325,12413,8.662,12418,5.032,12426,5.515,12467,5.325,12520,8.894,12521,7.226,12522,10.101,12525,5.515,12530,10.141,12531,5.753,12532,5.753,12559,8.491,12561,6.164,12563,6.072,12564,6.072,12565,5.753,12566,13.277,12567,6.555,12568,6.555,12569,6.555,12570,6.555,12571,5.753,12572,4.913,12573,5.753]],["title/injectables/FwuLearningContentsUc.html",[589,0.926,12530,5.658]],["body/injectables/FwuLearningContentsUc.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.842,30,0.001,31,0.62,32,0.136,33,0.504,35,0.991,47,0.993,59,2.686,95,0.143,101,0.011,103,0.001,104,0.001,135,1.125,148,0.85,158,3.191,228,1.552,277,1.236,317,2.628,414,4.385,433,1.355,589,1.466,591,2.05,652,2.244,657,1.977,688,4.03,871,4.058,1027,2.645,1164,8.467,2447,4.61,2448,5.997,2831,3.46,3282,5.812,11521,5.321,12521,9.576,12522,10.831,12525,7.272,12530,8.961,12539,9.823,12565,7.586,12574,12.148,12575,8.643,12576,9.869,12577,9.387,12578,8.643,12579,8.643,12580,8.643,12581,8.643,12582,8.643,12583,8.643]],["title/interfaces/GetFile.html",[159,0.712,7312,4.917]],["body/interfaces/GetFile.html",[3,0.015,4,0.015,5,0.01,7,0.115,30,0.001,32,0.161,33,0.63,47,1.082,55,2.641,95,0.092,101,0.017,103,0.001,104,0.001,112,0.84,125,2.55,159,1.366,161,1.966,339,3.821,414,5.432,1302,7.245,1304,4.703,1444,4.588,2233,5.026,5234,5.125,6572,7.167,7301,6.186,7302,6.186,7303,6.505,7304,6.335,7305,6.335,7306,5.196,7307,6.186,7308,5.635,7309,5.635,7310,5.635,7311,5.635,7312,7.558,7313,7.828,7314,7.659,7315,7.659,7316,6.053,7317,8.219,7318,8.219,7319,6.186]],["title/interfaces/GetFileResponse.html",[159,0.712,12050,4.616]],["body/interfaces/GetFileResponse.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,31,0.721,32,0.17,33,0.637,47,1.073,55,2.472,95,0.136,101,0.014,103,0.001,104,0.001,112,0.87,159,1.134,161,2.077,205,1.777,339,3.764,403,4.451,837,4.317,1302,7.137,1304,4.969,6572,7.316,7218,4.151,7237,7.428,7283,7.871,7313,7.991,7314,7.818,7315,7.818,12050,7.351,12539,6.693,12584,8.075,12585,7.083,12586,7.652,12587,6.535,12588,6.395]],["title/interfaces/GetFileResponse-1.html",[159,0.592,756,2.309,12050,3.838]],["body/interfaces/GetFileResponse-1.html",[0,0.399,3,0.012,4,0.012,5,0.006,7,0.093,30,0.001,31,0.68,32,0.159,33,0.599,34,1.138,47,1.063,55,2.334,95,0.119,101,0.016,103,0,104,0,112,0.727,131,6.184,155,2.123,158,2.456,159,1.09,161,1.585,202,1.528,231,1.148,296,3.568,326,4.055,339,3.551,374,4.022,1195,3.294,1215,6.422,1240,3.931,1302,6.733,1304,3.792,1926,5.641,1927,6.228,2085,4.616,2164,3.086,2374,4.88,2393,2.549,2435,4.542,3056,3.202,3426,5.473,4190,4.474,5234,4.433,6567,8.199,6572,6.903,6581,4.696,6588,4.784,6617,3.792,6624,4.784,6625,4.784,6681,6.66,7313,7.539,7314,7.376,7315,7.376,8080,5.422,11710,5.422,12050,6.139,12589,4.35,12590,5.107,12591,7.11,12592,8.179,12593,7.11,12594,6.794,12595,7.11,12596,5.107,12597,5.107,12598,5.107,12599,5.107,12600,5.107,12601,5.107,12602,4.987,12603,6.538,12604,4.696,12605,5.107,12606,5.107,12607,4.616,12608,6.942,12609,4.88,12610,5.107,12611,5.107,12612,5.107,12613,5.107,12614,5.107,12615,7.986,12616,4.88,12617,5.107]],["title/classes/GetFwuLearningContentParams.html",[0,0.241,12527,6.113]],["body/classes/GetFwuLearningContentParams.html",[0,0.415,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,27,0.385,30,0.001,32,0.122,47,0.881,95,0.134,101,0.013,103,0.001,104,0.001,112,0.94,190,1.77,200,3.022,202,2.268,296,3.136,299,4.692,301,7.734,856,6.663,12521,9.447,12522,10.576,12527,10.519,12618,11.985,12619,9.876,12620,12.903,12621,9.876,12622,11.101,12623,11.985,12624,9.876,12625,9.876,12626,9.876]],["title/classes/GetH5PContentParams.html",[0,0.241,12627,5.221]],["body/classes/GetH5PContentParams.html",[0,0.457,2,0.776,3,0.014,4,0.014,5,0.007,7,0.102,26,2.009,27,0.386,30,0.001,32,0.123,33,0.453,47,0.971,95,0.147,99,1.48,101,0.017,103,0,104,0,112,0.778,131,5.061,158,3.66,190,1.777,200,2.248,202,1.687,205,1.497,296,3.721,298,3.19,299,4.393,300,3.799,326,4.27,478,2.058,855,5.233,856,7.185,886,3.803,899,3.357,1195,5.556,1198,7.56,1240,7.637,2164,3.408,3200,4.384,3201,5.878,3933,3.479,4582,9.549,4585,8.613,6389,5.098,6567,7.336,6617,4.187,6663,8.202,6666,3.479,8091,6.769,11710,4.301,12589,7.336,12627,7.431,12628,5.791,12629,7.347,12630,7.347,12631,7.347,12632,6.998,12633,5.507,12634,5.507,12635,5.507,12636,5.64,12637,5.791,12638,5.507,12639,5.791]],["title/classes/GetH5PEditorParams.html",[0,0.241,12634,5.221]],["body/classes/GetH5PEditorParams.html",[0,0.458,2,0.778,3,0.014,4,0.014,5,0.007,7,0.103,26,2.014,27,0.387,30,0.001,32,0.123,47,0.972,95,0.147,99,1.486,101,0.017,103,0,104,0,112,0.78,131,5.074,158,3.669,190,1.781,200,2.256,202,1.693,205,1.503,296,3.722,298,3.202,299,4.401,300,3.808,326,4.278,478,2.066,855,5.239,856,7.193,886,3.809,899,3.369,1195,5.567,1198,7.57,1240,7.646,2164,3.42,3200,4.4,3201,5.885,3933,3.492,4582,9.555,4585,8.629,6389,5.116,6567,7.35,6617,4.202,6663,8.214,6666,3.492,8091,6.785,11710,4.316,12589,7.35,12627,5.527,12628,5.813,12632,7.016,12633,5.527,12634,7.449,12635,5.527,12636,5.66,12637,5.813,12638,5.527,12639,5.813,12640,7.374,12641,6.83,12642,7.374]],["title/classes/GetH5PEditorParamsCreate.html",[0,0.241,12633,5.221]],["body/classes/GetH5PEditorParamsCreate.html",[0,0.46,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,26,2.044,27,0.294,30,0.001,32,0.093,47,0.957,95,0.148,99,1.519,101,0.017,103,0,104,0,112,0.791,131,5.15,158,3.724,190,1.352,200,2.307,202,1.731,205,1.537,296,3.733,298,3.274,299,4.451,300,3.866,326,4.326,478,2.112,855,5.273,856,7.239,886,3.844,899,3.445,1195,4.995,1198,7.627,1240,7.174,2164,3.497,3200,4.499,3201,5.93,3933,3.57,4582,9.588,4585,8.727,6567,7.433,6617,4.297,6663,8.288,6666,3.57,8091,6.888,11710,4.414,12589,6.595,12627,5.652,12628,5.944,12632,7.121,12633,7.562,12634,5.652,12635,5.652,12636,5.788,12637,5.944,12638,5.652,12639,5.944,12641,6.984,12643,7.54]],["title/interfaces/GetH5PFileResponse.html",[159,0.712,12607,4.833]],["body/interfaces/GetH5PFileResponse.html",[0,0.399,3,0.012,4,0.012,5,0.006,7,0.093,30,0.001,31,0.68,32,0.159,33,0.599,34,1.138,47,1.063,55,2.334,95,0.119,101,0.016,103,0,104,0,112,0.727,131,6.184,155,2.123,158,2.456,159,1.09,161,1.585,202,1.528,231,1.148,296,3.568,326,4.055,339,3.551,374,4.022,1195,3.294,1215,6.422,1240,3.931,1302,6.733,1304,3.792,1926,5.641,1927,6.228,2085,4.616,2164,3.086,2374,4.88,2393,2.549,2435,4.542,3056,3.202,3426,5.473,4190,4.474,5234,4.433,6567,8.199,6572,6.903,6581,4.696,6588,4.784,6617,3.792,6624,4.784,6625,4.784,6681,6.66,7313,7.539,7314,7.376,7315,7.376,8080,5.422,11710,5.422,12050,4.41,12589,4.35,12590,5.107,12591,7.11,12592,8.179,12593,7.11,12594,6.794,12595,7.11,12596,5.107,12597,5.107,12598,5.107,12599,5.107,12600,5.107,12601,5.107,12602,4.987,12603,6.538,12604,4.696,12605,5.107,12606,5.107,12607,6.427,12608,6.942,12609,4.88,12610,5.107,12611,5.107,12612,5.107,12613,5.107,12614,5.107,12615,7.986,12616,4.88,12617,5.107]],["title/interfaces/GetH5pFileResponse.html",[159,0.712,12607,4.833]],["body/interfaces/GetH5pFileResponse.html",[0,0.289,3,0.015,4,0.015,5,0.011,7,0.116,30,0.001,31,0.734,32,0.166,33,0.631,47,1.061,55,2.713,95,0.12,101,0.015,103,0.001,104,0.001,112,0.845,159,1.102,161,1.986,339,3.926,876,4.341,881,4.564,1195,4.129,1237,2.415,1302,7.444,1304,4.752,1444,4.635,2184,3.301,2328,5.25,2831,3.338,6572,7.451,7223,7.016,7253,5.693,7313,7.859,7314,7.962,7315,7.962,11516,7.016,11521,5.133,11522,7.016,11523,6.573,11524,6.774,12589,5.451,12607,7.479,12644,8.757,12645,6.401]],["title/interfaces/GetLibraryFile.html",[159,0.712,12645,5.346]],["body/interfaces/GetLibraryFile.html",[0,0.3,3,0.016,4,0.016,5,0.011,7,0.121,30,0.001,31,0.62,32,0.167,33,0.505,47,1.033,55,2.741,95,0.123,101,0.016,103,0.001,104,0.001,112,0.866,159,1.13,161,2.063,172,4.714,339,3.966,876,4.51,881,4.741,1195,4.289,1237,2.509,1302,7.52,1304,4.937,1444,4.815,2184,3.429,2328,5.454,2831,3.467,6572,7.539,7223,7.288,7253,5.914,7313,5.392,7314,8.057,7315,8.057,11516,7.288,11521,5.332,11522,7.288,11523,6.828,11524,7.037,12589,5.663,12607,6.01,12644,8.973,12645,8.479]],["title/interfaces/GetLibraryFile-1.html",[159,0.592,756,2.309,12645,4.445]],["body/interfaces/GetLibraryFile-1.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.172,33,0.541,47,0.94,55,2.77,95,0.108,101,0.012,103,0.001,104,0.001,112,0.929,159,0.991,161,2.307,172,5.054,339,3.908,876,5.043,1195,4.796,1302,7.409,1304,5.52,2328,6.099,6572,7.596,7314,8.117,7315,8.117,12645,9.091,12646,9.686,12647,9.686]],["title/classes/GetMetaTagDataBody.html",[0,0.241,12648,6.113]],["body/classes/GetMetaTagDataBody.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,106,8.095,107,7.871,110,4.501,112,0.944,190,1.783,194,3.91,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,299,4.713,2370,6.747,12648,10.566,12649,12.039,12650,9.95,12651,9.216,12652,9.95]],["title/interfaces/GlobalConstants.html",[159,0.712,12653,6.451]],["body/interfaces/GlobalConstants.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.164,33,0.604,47,1.065,95,0.105,101,0.012,103,0.001,104,0.001,110,3.288,112,0.916,135,1.519,159,0.967,161,2.253,1022,9.422,1023,9.585,1024,9.422,1928,5.589,12653,11.725,12654,9.458,12655,12.577,12656,11.671,12657,9.458,12658,11.671]],["title/classes/GlobalErrorFilter.html",[0,0.241,10028,5.86]],["body/classes/GlobalErrorFilter.html",[0,0.166,2,0.508,3,0.009,4,0.009,5,0.004,7,0.067,8,0.836,27,0.479,29,0.915,30,0.001,31,0.69,32,0.148,33,0.548,35,1.375,95,0.144,100,1.678,101,0.006,103,0,104,0,125,1.146,135,1.746,148,1.179,153,1.882,155,3.155,158,2.7,159,0.492,228,0.864,277,0.688,393,2.383,400,1.411,433,0.591,532,4.105,569,3.072,571,1.905,652,2.809,653,3.008,694,3.529,695,3.46,871,4.855,998,4.68,1027,1.472,1080,4.574,1086,2.291,1087,2.221,1088,2.255,1115,3.761,1237,2.118,1282,9.172,1312,3.445,1313,3.285,1328,5.253,1351,4.918,1354,6.223,1367,7.945,1376,4.223,1379,3.46,1422,5.013,1472,2.675,2099,7.408,2231,4.048,2447,3.057,2481,3.693,3282,3.235,4284,6.419,5095,4.223,5495,5.228,7642,2.9,9936,3.909,9983,8.316,10001,3.909,10013,3.909,10028,6.154,10053,8.316,11341,4.457,12347,6.632,12348,4.457,12659,12.524,12660,4.457,12661,8.847,12662,7.314,12663,7.314,12664,7.314,12665,7.314,12666,7.314,12667,9.883,12668,7.314,12669,4.811,12670,6.774,12671,11.636,12672,4.811,12673,7.314,12674,4.811,12675,7.314,12676,4.811,12677,7.314,12678,4.811,12679,7.314,12680,4.811,12681,7.314,12682,4.811,12683,4.811,12684,7.314,12685,4.811,12686,4.811,12687,6.154,12688,4.811,12689,4.811,12690,4.811,12691,4.811,12692,4.811,12693,4.811,12694,4.811,12695,4.811,12696,4.811,12697,4.811,12698,4.811,12699,4.811,12700,4.811,12701,4.811,12702,4.811,12703,4.811,12704,4.811,12705,4.811,12706,4.811,12707,4.811,12708,4.811,12709,7.314,12710,4.811,12711,4.811,12712,4.811,12713,7.314,12714,4.811,12715,4.811,12716,4.811,12717,4.811,12718,4.811,12719,4.811,12720,4.811,12721,4.811,12722,4.811]],["title/classes/GlobalValidationPipe.html",[0,0.241,12723,6.113]],["body/classes/GlobalValidationPipe.html",[0,0.403,2,0.837,3,0.015,4,0.015,5,0.007,27,0.309,30,0.001,32,0.144,95,0.116,100,4.486,101,0.01,103,0,104,0,112,0.622,129,3.088,130,2.822,131,4.047,153,1.282,157,1.835,190,1.869,194,3.115,195,2.902,197,2.215,200,3.191,231,1.799,233,2.457,277,1.134,296,2.074,326,3.017,338,7.174,339,2.324,365,3.52,393,3.925,412,4.632,433,1.432,525,5.466,561,3.57,567,2.955,628,4.73,807,6.085,813,4.442,875,5.182,1080,2.748,1172,7.817,1211,5.115,1214,6.957,1221,10.795,1223,5.942,1247,7.342,1268,6.42,1351,5.33,1373,7.835,1381,5.33,1388,4.73,1831,5.254,1939,4.213,2140,5.943,2234,5.412,2550,4.778,2884,5.7,3011,4.765,3612,5.052,3817,6.912,3824,5.942,5050,8.472,5927,4.934,7472,7.236,9936,6.44,10596,5.814,12723,9.153,12724,10.429,12725,7.927,12726,10.795,12727,7.927,12728,8.472,12729,7.927,12730,7.927,12731,7.927,12732,7.927,12733,6.957,12734,7.927,12735,6.957,12736,7.927,12737,7.342,12738,7.342,12739,7.927,12740,7.927]],["title/classes/GridElement.html",[0,0.241,8512,5.49]],["body/classes/GridElement.html",[0,0.178,2,0.326,3,0.006,4,0.006,5,0.003,7,0.119,8,0.587,26,2.507,27,0.487,29,0.809,30,0.001,31,0.596,32,0.156,33,0.534,34,1.87,35,1.341,39,1.425,47,0.936,55,2.478,83,0.905,95,0.073,99,0.622,101,0.013,103,0,104,0,112,0.403,122,1.908,125,2.323,129,0.914,130,1.784,135,1.73,141,3.292,145,2.883,146,2.108,148,1.307,153,1.652,155,3.663,159,0.316,172,2.191,232,1.389,242,2.71,243,1.944,277,0.442,433,0.379,435,1.764,458,3.4,459,2.656,467,3.34,569,3.697,579,1.882,595,1.171,652,2.455,756,2.629,896,1.716,1065,4.802,1170,4.837,1237,1.487,1660,4.941,1675,3.095,1842,4.457,2049,4.462,2435,2.108,2796,2.748,2911,7.322,2953,1.791,2954,1.641,2995,2.142,3056,3.697,3076,4.564,3563,2.314,3756,2.18,3907,8.929,3932,3.313,4024,7.174,4094,3.233,7403,2.598,7507,2.108,7550,3.766,7622,3.563,7853,5.33,8410,5.165,8442,2.265,8443,2.71,8445,2.71,8448,2.71,8449,2.598,8450,7.743,8452,2.434,8459,4.507,8465,2.71,8469,2.71,8472,2.71,8473,7.743,8475,9.2,8478,5.896,8480,2.71,8481,7.174,8484,2.71,8486,2.71,8488,2.71,8490,2.71,8492,2.71,8494,2.71,8497,2.71,8499,4.507,8500,2.314,8501,7.484,8502,6.741,8503,5.785,8504,7.484,8505,5.785,8506,4.507,8507,7.484,8508,4.507,8509,5.785,8510,2.71,8511,3.849,8512,9.754,8513,5.785,8514,4.507,8515,2.71,8516,4.507,8517,2.71,8518,4.507,8519,2.71,8520,4.507,8521,4.507,8522,4.507,8523,4.507,8524,4.507,8525,2.71,8526,4.507,8527,2.598,8528,4.507,8529,2.71,8530,4.507,8531,2.71,8532,2.71,8533,2.71,8534,4.507,8535,2.508,8536,2.71,8537,4.507,8538,2.71,8539,2.37,8540,2.71,8541,2.71,8542,2.71,8543,2.71,8544,2.71,8545,2.71,8546,2.71,8547,2.71,8548,2.71,8549,4.507,8550,4.507,8551,2.598,8552,5.785,8553,2.71,8554,4.507,8555,2.71,8556,2.71,8557,2.71,8558,2.71,8559,2.71,8560,2.71,8561,2.71,8562,2.71,8563,2.71,8564,2.71,8565,2.71,8566,2.71,8567,2.71,8568,2.71,8569,2.71,8570,2.71,8571,2.71,8572,2.71,8573,2.71,8574,2.71,8575,2.71,8576,2.71,8577,2.71,8578,4.507,8579,2.71,8580,2.71,8581,2.71,8582,4.507,8583,4.507,8584,2.71,8585,2.71,8586,2.71,8587,2.71,8588,2.71,8589,2.71,8590,2.71,8591,5.785,8592,2.71,8593,2.71,12741,4.756,12742,5.135,12743,5.135,12744,5.135,12745,5.135,12746,4.756,12747,4.756,12748,4.756,12749,3.088,12750,3.088,12751,3.088,12752,3.088,12753,3.088,12754,3.088,12755,2.86,12756,3.088,12757,3.088,12758,3.088,12759,3.088,12760,3.088,12761,3.088,12762,3.088,12763,3.088,12764,3.088,12765,3.088,12766,3.088,12767,3.088]],["title/classes/Group.html",[0,0.241,1065,3.429]],["body/classes/Group.html",[0,0.23,2,0.702,3,0.012,4,0.012,5,0.006,7,0.093,8,1.058,26,1.877,27,0.532,29,0.813,30,0.001,31,0.723,32,0.165,33,0.487,34,1.138,35,1.389,47,0.847,83,2.716,95,0.135,99,1.34,101,0.012,103,0,104,0,112,0.727,113,3.68,122,2.209,125,2.206,130,2.506,134,2.356,145,2.497,148,1.233,159,0.68,185,2.279,231,1.838,290,2.528,435,3.182,436,2.736,532,3.397,567,2.481,569,3.764,578,3.487,711,2.683,735,4.192,1065,5.672,1767,5.031,1770,4.848,1773,6.489,1849,3.792,1853,2.183,2688,5.839,3067,4.141,3085,4.141,3418,5.189,3419,6.162,3438,8.656,4587,8.579,4598,5.107,4625,5.598,5964,5.405,8114,6.258,10085,7.661,10123,8.784,12768,6.162,12769,9.262,12770,10.671,12771,8.844,12772,8.579,12773,10.36,12774,6.653,12775,6.653,12776,8.579,12777,6.653,12778,6.653,12779,6.653,12780,6.653,12781,6.653,12782,6.653,12783,6.653,12784,6.653,12785,6.653,12786,5.244,12787,6.653,12788,5.405,12789,5.598,12790,5.598,12791,6.162,12792,6.162,12793,6.162,12794,6.162,12795,5.839,12796,6.162,12797,6.162,12798,5.598,12799,6.162]],["title/modules/GroupApiModule.html",[252,1.839,12800,5.86]],["body/modules/GroupApiModule.html",[0,0.269,3,0.014,4,0.014,5,0.007,30,0.001,95,0.156,101,0.01,103,0,104,0,252,3.05,254,2.802,255,2.974,256,3.049,257,3.038,258,3.027,259,4.196,260,2.894,265,6.096,269,4.036,270,2.995,271,2.933,273,4.904,274,4.291,276,4.036,277,1.114,314,2.964,703,2.389,1027,2.383,1524,10.089,1525,9.45,1539,6.327,1540,5.404,1856,7.49,2070,4.199,2680,3.577,3036,3.65,3890,8.181,3900,4.11,4802,11.058,6077,8.711,9061,7.214,12800,12.287,12801,7.788,12802,7.788,12803,7.788,12804,11.058,12805,12.173,12806,7.788,12807,10.141,12808,7.788]],["title/controllers/GroupController.html",[314,2.65,12807,6.113]],["body/controllers/GroupController.html",[0,0.356,2,0.935,3,0.012,4,0.012,5,0.006,7,0.087,8,1.012,27,0.345,29,0.676,30,0.001,31,0.497,32,0.173,33,0.405,34,1.067,35,1.015,36,2.367,95,0.146,100,2.176,101,0.008,103,0,104,0,125,2.109,135,1.457,148,0.87,190,1.587,202,1.433,228,1.12,274,2.597,277,0.892,290,1.48,314,2.374,316,3.003,317,2.658,325,6.256,326,3.916,349,6.55,359,5.779,365,4.974,374,3.844,388,3.795,390,6.024,391,7.778,392,3.248,395,3.34,398,3.364,400,1.829,401,4.962,402,4.419,657,2.025,675,3.186,711,3.558,869,4.333,871,4.121,1065,5.066,1367,7.562,1368,3.526,1725,4.404,1853,2.047,2051,3.747,3036,2.924,3212,4.486,3240,3.206,4077,3.723,4701,9.83,4709,5.069,4751,8.658,4831,9.83,5102,6.143,7510,5.916,7638,5.336,8128,4.79,10857,8.36,10915,5.476,11363,9.532,12805,9.532,12807,7.77,12809,6.239,12810,10.291,12811,6.239,12812,9.83,12813,9.532,12814,6.239,12815,11.2,12816,8.854,12817,11.2,12818,6.239,12819,6.239,12820,6.239,12821,9.83,12822,6.239,12823,6.239,12824,6.239,12825,6.239,12826,6.239,12827,7.193,12828,8.658,12829,5.476,12830,6.239,12831,6.239,12832,8.201,12833,6.239,12834,6.239,12835,6.239,12836,7.77,12837,7.77,12838,6.239,12839,6.239,12840,6.239,12841,6.239,12842,6.239,12843,6.239]],["title/classes/GroupDomainMapper.html",[0,0.241,12844,6.113]],["body/classes/GroupDomainMapper.html",[0,0.187,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,8,0.91,27,0.455,29,0.892,30,0.001,31,0.697,32,0.154,33,0.534,34,1.362,35,1.34,39,1.497,48,2.527,95,0.124,96,1.408,97,2.175,101,0.01,103,0,104,0,125,2.783,135,1.648,148,1.148,153,1.805,205,2.132,290,1.89,331,3.538,435,1.853,459,2.789,467,4.027,478,1.511,692,2.514,704,4.067,1065,5.495,1078,3.49,1853,1.769,1883,2.024,2446,6.999,3418,3.588,3430,2.342,3649,7.448,4664,2.429,4768,3.251,4769,4.251,4866,7.412,5143,4.042,5210,2.887,5806,3.682,7545,7.675,9648,3.32,10085,3.878,10123,8.923,10128,9.527,10651,6.703,12771,4.14,12773,9.891,12788,9.069,12789,4.538,12790,4.538,12795,4.733,12844,6.992,12845,12.086,12846,4.995,12847,6.992,12848,7.967,12849,9.473,12850,7.967,12851,7.967,12852,7.967,12853,5.393,12854,8.5,12855,6.992,12856,5.393,12857,7.967,12858,5.393,12859,5.393,12860,5.393,12861,7.967,12862,9.78,12863,5.393,12864,7.967,12865,5.393,12866,4.381,12867,7.468,12868,5.393,12869,7.967,12870,6.703,12871,7.967,12872,6.703,12873,7.967,12874,6.703,12875,4.995,12876,5.393,12877,8.314,12878,7.967,12879,7.967,12880,5.393,12881,4.733,12882,5.393,12883,5.393,12884,5.393,12885,7.967,12886,4.995,12887,5.393,12888,5.393,12889,7.967,12890,5.393,12891,5.393,12892,5.393,12893,5.393,12894,5.393,12895,5.393,12896,5.393,12897,4.995,12898,5.393,12899,4.538,12900,4.995,12901,5.393,12902,5.393,12903,5.393,12904,5.393,12905,5.393]],["title/entities/GroupEntity.html",[205,1.419,7545,5.109]],["body/entities/GroupEntity.html",[0,0.374,3,0.013,4,0.013,5,0.006,7,0.095,26,1.91,27,0.493,30,0.001,31,0.654,32,0.168,33,0.577,34,1.167,47,0.793,95,0.144,96,1.781,99,1.375,101,0.014,103,0,104,0,112,0.739,159,0.698,190,2.266,195,2.901,196,4.194,205,1.921,206,2.226,223,3.365,224,1.976,225,3.612,229,2.691,231,1.177,232,1.846,233,2.115,458,2.721,459,4.875,628,4.071,692,5.698,886,3.687,1065,4.64,1835,4.843,2033,3.574,2109,2.989,2184,2.701,3418,5.246,4648,7.373,4654,6.147,4655,3.824,4664,3.073,4726,4.155,5727,4.394,5806,7.952,7510,3.922,7545,6.913,7553,3.855,7778,4.588,9934,4.658,10123,7.952,10128,9.635,12854,7.657,12862,9.635,12866,9.462,12867,9.635,12877,10.222,12881,5.988,12906,6.319,12907,6.822,12908,6.822,12909,6.822,12910,6.822,12911,6.822,12912,6.822,12913,6.319,12914,6.319,12915,6.319,12916,5.74,12917,6.319,12918,6.319,12919,5.543,12920,6.319,12921,6.319,12922,6.319]],["title/interfaces/GroupEntityProps.html",[159,0.712,12854,5.658]],["body/interfaces/GroupEntityProps.html",[0,0.379,3,0.013,4,0.013,5,0.006,7,0.098,26,2.389,30,0.001,31,0.694,32,0.172,33,0.607,34,2.016,47,0.867,95,0.146,96,1.834,99,1.415,101,0.014,103,0,104,0,112,0.754,159,0.718,161,1.673,195,2.591,196,3.638,205,1.96,223,2.997,224,2.035,225,3.685,229,2.771,231,1.212,232,1.901,233,2.178,458,2.802,459,4.974,628,4.192,692,5.946,886,3.472,1065,4.734,1835,3.61,2033,3.647,2109,3.078,2184,2.781,3418,5.563,4654,6.223,4655,3.937,4664,3.164,4726,4.279,5727,4.483,5806,8.432,7510,4.039,7545,5.153,7553,3.97,9934,4.797,10123,8.432,10128,10.053,12854,8.908,12862,10.053,12866,10.034,12867,10.053,12877,10.839,12881,6.166,12906,6.507,12913,6.507,12914,6.507,12915,6.507,12916,5.911,12917,6.507,12918,6.507,12919,5.707,12920,6.507,12921,6.507,12922,6.507]],["title/classes/GroupIdParams.html",[0,0.241,12821,6.113]],["body/classes/GroupIdParams.html",[0,0.419,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.392,30,0.001,32,0.124,34,2.071,47,0.89,95,0.135,101,0.013,103,0.001,104,0.001,112,0.95,190,1.801,194,4.759,195,2.661,196,3.334,197,3.385,200,3.075,202,2.307,296,3.169,855,4.904,4704,8.455,6812,8.455,8511,9.745,12821,10.63,12923,11.218,12924,9.308]],["title/modules/GroupModule.html",[252,1.839,12804,5.86]],["body/modules/GroupModule.html",[0,0.331,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.359,254,3.443,255,3.655,256,3.747,257,3.733,258,3.72,259,4.622,260,4.729,269,4.603,270,3.68,271,3.605,277,1.369,610,3.774,2636,4.684,12804,12.029,12925,9.57,12926,9.57,12927,9.57,12928,12.218,12929,11.669,12930,9.57]],["title/interfaces/GroupNameIdTuple.html",[159,0.712,12931,5.86]],["body/interfaces/GroupNameIdTuple.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,31,0.565,32,0.15,39,2.789,47,1.07,101,0.016,103,0.001,104,0.001,112,0.95,159,1.239,161,2.394,173,6.661,175,8.455,187,5.679,702,4.976,4588,3.442,6600,7.094,6686,6.89,7510,5.777,12931,10.938,12932,9.308,12933,11.845]],["title/classes/GroupPaginationParams.html",[0,0.241,12812,6.113]],["body/classes/GroupPaginationParams.html",[0,0.395,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.445,30,0.001,32,0.141,33,0.596,55,2.644,56,6.328,70,5.787,95,0.139,101,0.012,103,0.001,104,0.001,112,0.895,129,3.378,130,3.086,145,3.421,157,2.11,190,2.045,200,2.789,201,4.433,202,2.093,231,1.968,298,3.958,436,3.369,758,8.908,869,5.583,875,5.959,883,9.482,890,7.788,895,7.999,896,5.067,897,7.404,898,10.565,1476,5.493,6318,8.756,12812,10.011,12923,8.442,12934,9.114,12935,9.114]],["title/interfaces/GroupProps.html",[159,0.712,12788,5.658]],["body/interfaces/GroupProps.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.1,26,2.407,30,0.001,31,0.698,32,0.174,33,0.61,34,2.031,47,0.981,83,3.759,95,0.138,99,1.441,101,0.012,103,0,104,0,112,0.764,122,2.018,125,2.318,130,1.935,134,2.532,145,2.684,148,1.26,159,0.731,161,1.703,185,2.449,231,1.909,290,1.696,567,2.666,569,3.025,578,3.748,1065,5.448,1767,6.011,1770,3.896,1849,4.075,1853,2.346,2688,6.276,3418,5.597,3438,8.99,4625,6.016,5964,5.809,8114,5.287,10085,8.935,10123,9.347,12768,6.623,12770,6.623,12771,9.539,12772,6.623,12773,10.248,12776,6.623,12788,7.908,12789,9.995,12790,9.995,12791,6.623,12792,6.623,12793,6.623,12794,6.623,12795,6.276,12796,6.623,12797,6.623,12798,6.016,12799,6.623]],["title/injectables/GroupRepo.html",[589,0.926,12929,5.86]],["body/injectables/GroupRepo.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,10,2.92,12,3.289,18,3.642,26,2.532,27,0.452,29,0.886,30,0.001,31,0.652,32,0.148,33,0.53,34,1.683,35,1.28,36,2.723,40,3.517,47,0.647,48,4.612,59,2.259,95,0.137,96,1.246,97,1.925,99,0.961,101,0.006,103,0,104,0,125,1.731,135,1.787,142,4.04,148,1.249,153,1.934,195,1.049,197,1.334,205,2.364,206,2.371,228,0.857,277,0.682,279,1.978,290,1.132,317,2.938,400,1.399,433,0.586,435,3.381,589,0.966,591,1.132,657,2.735,704,3.71,711,3.934,1065,6.418,1770,4.467,1853,1.565,1883,1.791,2446,5.345,2455,6.434,2474,4.887,2497,6.378,2498,5.043,2511,5.904,3430,2.072,3644,3.041,3649,4.142,3707,3.576,4588,1.634,4798,5.13,6288,4.305,6895,4.962,7545,8.987,8114,5.345,9521,4.188,10085,9.705,10123,3.258,10679,4.015,10682,4.015,10687,6.115,12788,9.065,12844,4.188,12854,5.904,12866,9.426,12875,4.42,12929,6.115,12936,4.771,12937,6.731,12938,7.267,12939,7.267,12940,4.771,12941,4.771,12942,6.731,12943,4.771,12944,4.771,12945,7.267,12946,4.771,12947,7.267,12948,4.771,12949,4.771,12950,4.42,12951,4.188,12952,4.771,12953,9.841,12954,9.841,12955,9.841,12956,7.267,12957,7.267,12958,4.771,12959,7.267,12960,4.771,12961,4.771,12962,8.153,12963,4.771,12964,8.153,12965,4.42,12966,4.42,12967,4.771,12968,4.771,12969,4.771]],["title/classes/GroupResponse.html",[0,0.241,12828,5.86]],["body/classes/GroupResponse.html",[0,0.272,2,0.83,3,0.015,4,0.015,5,0.007,7,0.11,27,0.524,29,0.6,30,0.001,31,0.693,32,0.174,33,0.586,34,1.985,47,0.968,95,0.138,101,0.01,103,0,104,0,112,0.814,125,1.873,190,2.362,201,4.988,202,1.806,296,3.516,433,0.966,458,3.136,614,2.438,866,3.918,886,2.49,1065,5.715,1148,6.037,2109,3.446,2184,3.113,3200,4.693,3418,5.229,10123,7.927,10137,9.768,12771,8.912,12828,10.796,12916,6.617,12919,6.389,12970,7.865,12971,9.105,12972,10.375,12973,7.865,12974,7.865,12975,7.865,12976,11.885,12977,7.865,12978,10.386,12979,7.865,12980,7.865,12981,7.865,12982,7.865,12983,6.903,12984,6.617,12985,6.903,12986,6.903,12987,7.285,12988,7.285]],["title/classes/GroupResponseMapper.html",[0,0.241,12829,6.113]],["body/classes/GroupResponseMapper.html",[0,0.237,2,0.723,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,27,0.422,29,0.826,30,0.001,31,0.687,32,0.151,33,0.494,34,1.85,35,1.241,47,0.503,48,3.208,55,2.564,56,5.494,59,2.936,70,5.917,95,0.13,100,2.387,101,0.009,103,0,104,0,125,1.631,135,1.592,148,1.063,153,1.979,290,1.624,331,3.04,467,3.904,652,2.2,700,3.313,701,3.313,704,3.495,829,4.045,869,5.709,871,3.476,1078,2.999,1725,4.832,1853,2.246,1883,2.57,3418,3.083,4709,9.475,4712,5.76,4713,5.76,4714,4.603,4715,5.76,4737,10.296,4739,4.418,4751,10.296,4866,6.537,10085,4.922,10123,4.674,10137,7.949,10872,6.008,12771,5.255,12827,9.475,12828,10.296,12829,8.291,12870,5.76,12872,5.76,12874,5.76,12976,6.341,12978,7.949,12989,11.663,12990,10.817,12991,9.447,12992,9.447,12993,6.846,12994,6.341,12995,9.447,12996,9.447,12997,6.846,12998,6.846,12999,9.447,13000,6.846,13001,6.846,13002,6.846,13003,6.846,13004,6.846,13005,9.447,13006,6.846,13007,6.846,13008,6.846,13009,6.846,13010,6.846,13011,6.846,13012,6.846,13013,6.846,13014,6.846,13015,6.846,13016,6.846,13017,6.846,13018,6.846,13019,6.846,13020,6.846,13021,6.846,13022,6.846,13023,6.846,13024,6.846,13025,6.846,13026,6.846,13027,6.846,13028,6.846]],["title/classes/GroupRoleUnknownLoggable.html",[0,0.241,13029,6.113]],["body/classes/GroupRoleUnknownLoggable.html",[0,0.315,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,8,1.303,27,0.445,29,0.696,30,0.001,31,0.512,32,0.113,33,0.416,35,1.045,95,0.127,101,0.012,103,0.001,104,0.001,148,0.896,158,3.364,228,1.637,290,2.162,331,5.529,339,2.672,400,2.672,433,1.12,1027,2.789,1065,4.487,1115,3.468,1237,3.304,1422,4.984,1423,5.804,1426,5.794,1468,5.804,1469,6.094,1626,5.108,2617,5.673,3364,6.554,4953,6.041,10098,6.223,13029,10.011,13030,12.45,13031,9.114,13032,9.114,13033,10.599,13034,9.114,13035,10.011,13036,9.114,13037,9.114,13038,9.114,13039,9.114,13040,9.114]],["title/injectables/GroupRule.html",[589,0.926,1870,5.86]],["body/injectables/GroupRule.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.203,27,0.457,29,0.896,30,0.001,31,0.659,32,0.154,33,0.536,35,1.207,95,0.144,101,0.01,103,0,104,0,122,2.749,135,1.369,148,1.034,183,4.481,195,1.766,228,1.443,277,1.149,290,3.287,400,2.357,433,0.987,478,2.252,589,1.399,591,1.907,653,3.306,711,3.84,1065,6.746,1237,2.328,1770,5.408,1775,6.814,1801,8.162,1838,7.504,1870,8.855,1982,6.707,1986,6.478,1993,5.255,2619,6.707,3711,5.328,3714,6.791,3716,5.328,3717,6.976,3718,5.78,7003,5.674,13041,8.038,13042,8.038,13043,8.038,13044,8.038,13045,8.038,13046,10.524]],["title/classes/GroupScope.html",[0,0.241,12951,6.113]],["body/classes/GroupScope.html",[0,0.245,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,8,1.105,26,2.652,27,0.519,29,0.946,30,0.001,31,0.696,32,0.167,33,0.566,34,2.118,35,1.109,49,2.669,95,0.132,96,1.85,97,2.859,99,1.428,101,0.009,103,0,104,0,112,0.759,122,2.284,125,3.218,129,2.099,130,1.918,134,3.901,148,1.083,153,1.146,205,1.444,231,1.669,279,2.938,290,1.681,365,3.148,436,3.659,569,2.203,652,2.601,655,5.758,2479,6.509,3418,3.192,5806,4.839,6288,5.492,7007,6.413,7008,6.413,7009,6.413,7014,6.413,7015,6.413,7016,4.766,7017,4.698,7018,4.766,7019,4.766,7028,4.698,7029,6.413,7030,4.766,7031,4.698,7032,4.766,7033,4.698,7034,7.301,7545,5.199,12866,9.615,12951,8.491,13047,7.087,13048,9.675,13049,9.675,13050,8.961,13051,9.675,13052,7.087,13053,9.675,13054,7.087,13055,9.675,13056,7.087]],["title/injectables/GroupService.html",[589,0.926,12928,5.86]],["body/injectables/GroupService.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.08,8,0.956,10,3.361,12,3.786,18,4.192,26,2.741,27,0.493,29,0.965,30,0.001,31,0.71,32,0.159,33,0.578,34,1.683,35,1.415,36,2.882,40,4.048,47,0.723,48,5.061,59,1.792,95,0.138,99,1.161,101,0.007,103,0,104,0,135,1.556,142,3.564,148,1.176,153,0.932,228,1.035,277,0.824,290,1.367,317,3.057,400,1.69,433,0.708,579,1.646,589,1.112,591,1.367,657,2.822,704,2.943,711,4.093,1065,7.021,1237,1.67,1472,3.205,1853,1.891,1854,7.038,1883,2.164,2636,2.822,2680,2.647,4588,1.975,4862,3.821,4863,3.876,7510,4.809,8114,5.867,10085,9.875,12928,7.038,12929,10.064,12937,7.748,12942,7.748,13057,5.765,13058,8.365,13059,8.365,13060,8.365,13061,5.765,13062,5.765,13063,8.365,13064,5.765,13065,5.765,13066,5.765,13067,8.365,13068,5.765,13069,8.365,13070,5.765,13071,8.365,13072,5.765,13073,8.365,13074,5.765,13075,8.365,13076,5.765,13077,5.765,13078,5.765,13079,5.765,13080,8.365,13081,5.765,13082,5.765]],["title/classes/GroupUcMapper.html",[0,0.241,13083,6.451]],["body/classes/GroupUcMapper.html",[0,0.415,2,0.682,3,0.012,4,0.012,5,0.006,7,0.09,8,1.037,27,0.409,29,0.801,30,0.001,31,0.717,32,0.158,33,0.479,34,1.793,35,1.203,59,2.82,95,0.145,100,2.253,101,0.008,103,0,104,0,135,1.559,145,2.425,148,1.031,153,1.696,467,3.854,478,1.81,595,2.45,711,3.038,1065,6.604,1148,6.965,1540,4.483,1853,2.119,1883,2.425,2552,4.483,3418,2.91,3430,4.554,3470,4.224,3846,5.093,4660,5.436,4709,10.756,4712,7.634,4713,7.634,4714,7.649,4715,7.634,4716,8.404,4724,5.67,4739,6.768,4866,6.963,4870,5.984,4871,5.984,5056,3.591,8114,6.508,10123,4.411,11442,4.344,11443,4.344,12561,7.649,12827,9.734,12983,7.964,12984,5.436,12986,5.67,13083,8.404,13084,11.374,13085,6.46,13086,9.074,13087,10.488,13088,9.074,13089,9.074,13090,6.46,13091,6.46,13092,11.374,13093,11.287,13094,7.892,13095,6.46,13096,9.074,13097,11.374,13098,6.46,13099,6.46,13100,6.46,13101,6.46,13102,6.46,13103,6.46,13104,9.074,13105,6.46,13106,6.46,13107,6.46,13108,9.074,13109,6.46,13110,6.46,13111,6.46,13112,6.46,13113,6.46,13114,6.46,13115,6.46,13116,6.46,13117,6.46]],["title/classes/GroupUser.html",[0,0.241,12773,5.346]],["body/classes/GroupUser.html",[0,0.338,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,26,2.776,27,0.5,29,0.745,30,0.001,31,0.548,32,0.159,33,0.446,39,3.562,95,0.109,99,1.966,101,0.013,103,0.001,104,0.001,112,0.933,232,3.219,242,5.149,243,6.143,433,1.199,435,3.352,5143,9.62,12773,10.515,13118,13.361,13119,8.563,13120,11.896,13121,9.756,13122,8.563,13123,8.563]],["title/classes/GroupUserEntity.html",[0,0.241,12862,5.49]],["body/classes/GroupUserEntity.html",[0,0.315,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.485,29,0.694,30,0.001,31,0.511,32,0.154,33,0.415,95,0.127,96,2.374,101,0.015,103,0.001,104,0.001,112,0.893,159,0.93,190,2.042,224,2.634,232,3.082,290,3.362,331,6.295,433,1.117,435,3.124,478,2.548,2269,6.67,2712,5.779,5727,5.798,7778,7.659,8619,6.31,10090,6.539,12862,8.979,13124,10.968,13125,7.168,13126,11.441,13127,11.39,13128,9.094,13129,6.98]],["title/interfaces/GroupUserEntityProps.html",[159,0.712,13126,6.113]],["body/interfaces/GroupUserEntityProps.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.145,95,0.131,96,2.493,101,0.015,103,0.001,104,0.001,112,0.921,159,0.976,161,2.274,224,2.766,232,2.584,290,3.429,331,6.42,478,2.675,2269,7.003,2712,5.956,5727,5.927,8619,6.625,10090,6.865,12862,7.526,13124,8.033,13125,7.526,13126,11.157,13129,7.329]],["title/classes/GroupUserResponse.html",[0,0.241,12978,5.86]],["body/classes/GroupUserResponse.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,27,0.516,29,0.663,30,0.001,31,0.488,32,0.164,33,0.397,34,2.081,47,0.995,95,0.123,101,0.011,103,0.001,104,0.001,112,0.868,190,2.298,202,1.993,290,2.059,296,3.643,331,5.406,433,1.066,458,3.462,578,4.55,595,3.292,700,5.891,701,5.891,886,2.748,2269,6.367,3200,5.18,3469,5.837,3470,5.675,5056,7.359,11263,5.675,11265,5.675,12978,11.138,13130,13.534,13131,7.052,13132,9.306,13133,11.06,13134,8.681,13135,8.681,13136,8.681,13137,8.681]],["title/interfaces/GroupUsers.html",[159,0.712,13138,5.221]],["body/interfaces/GroupUsers.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.038,55,2.549,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,5.924,4996,6.367,7510,5.361,13138,8.673,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,6.99]],["title/classes/GroupValidPeriodEntity.html",[0,0.241,12867,5.49]],["body/classes/GroupValidPeriodEntity.html",[0,0.322,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.49,29,0.71,30,0.001,31,0.523,32,0.155,33,0.425,83,4.039,95,0.104,96,2.429,101,0.015,103,0.001,104,0.001,112,0.906,159,0.951,190,2.071,223,4.211,224,2.695,232,3.126,433,1.143,435,3.196,628,7.842,2712,5.862,9648,8.09,10093,8.166,10094,8.166,10095,8.166,10096,8.166,12867,9.108,13124,11.058,13152,8.618,13153,11.535,13154,11.554,13155,9.304]],["title/interfaces/GroupValidPeriodEntityProps.html",[159,0.712,13153,6.113]],["body/interfaces/GroupValidPeriodEntityProps.html",[0,0.342,3,0.018,4,0.018,5,0.009,7,0.138,30,0.001,32,0.148,83,4.184,95,0.11,96,2.578,101,0.015,103,0.001,104,0.001,112,0.94,159,1.01,161,2.353,223,4.021,224,2.861,232,2.673,628,5.893,2712,6.08,9648,8.461,10093,8.668,10094,8.668,10095,8.668,10096,8.668,12867,7.785,13124,8.31,13152,9.148,13153,11.324]],["title/interfaces/GroupfoldersCreated.html",[159,0.712,13151,5.221]],["body/interfaces/GroupfoldersCreated.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,2.249,47,1.013,55,2.74,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,5.361,13138,6.99,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,8.673]],["title/interfaces/GroupfoldersFolder.html",[159,0.712,13149,5.221]],["body/interfaces/GroupfoldersFolder.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.013,55,2.74,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,5.361,13138,6.99,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,8.673,13150,10.097,13151,6.99]],["title/classes/GuardAgainst.html",[0,0.241,13156,6.113]],["body/classes/GuardAgainst.html",[0,0.297,2,0.907,3,0.016,4,0.016,5,0.008,7,0.12,8,1.255,27,0.335,29,0.839,30,0.001,31,0.482,32,0.136,33,0.392,35,1.26,101,0.011,103,0.001,104,0.001,125,3.215,130,3.797,142,4.886,148,0.844,157,1.988,158,3.17,388,4.708,467,3.525,532,4.949,579,2.452,985,6.372,1461,8.234,1472,7.097,2389,10.372,2862,8.924,4967,8.659,9636,8.057,13156,9.641,13157,10.985,13158,8.588,13159,10.985,13160,10.985,13161,13.194,13162,8.588,13163,10.175,13164,8.432,13165,10.985]],["title/entities/H5PContent.html",[205,1.419,6667,5.221]],["body/entities/H5PContent.html",[0,0.262,3,0.009,4,0.014,5,0.005,7,0.141,26,2.394,27,0.444,30,0.001,32,0.141,47,1,49,4.451,95,0.127,96,1.976,97,2.031,99,1.014,101,0.013,103,0,104,0,112,0.594,131,5.815,148,0.894,153,1.471,155,1.607,158,2.794,159,0.515,190,2.042,195,2.972,196,4.487,205,1.542,206,1.643,223,4.428,224,1.458,225,2.9,229,1.986,231,0.869,233,1.561,433,0.619,478,1.41,703,2.322,886,2.879,1195,5.851,1198,3.035,1215,3.035,1237,1.458,1937,2.372,2164,2.335,2393,4.528,2712,3.84,2942,4.218,3056,2.423,3426,2.975,3668,3.84,3771,2.975,3933,4.307,4190,3.386,4588,3.115,4648,3.438,4654,3.994,4681,3.493,4865,4.09,5493,5.673,5788,2.869,6564,8.809,6565,9.6,6566,4.419,6567,5.946,6568,4.419,6569,4.419,6570,4.236,6571,3.386,6572,2.869,6573,4.236,6574,3.865,6575,3.865,6576,3.774,6577,3.865,6578,3.292,6579,4.419,6580,4.419,6581,3.554,6582,4.419,6583,4.419,6584,3.774,6585,3.865,6586,4.419,6587,4.419,6588,3.62,6592,6.643,6594,6.643,6597,7.764,6600,3.554,6601,3.865,6617,4.313,6618,3.693,6619,7.982,6620,3.865,6621,4.419,6622,3.865,6623,4.419,6624,3.62,6625,3.62,6626,4.419,6627,4.419,6628,3.554,6629,4.419,6630,3.865,6631,4.419,6632,3.865,6633,4.419,6634,3.865,6635,4.419,6636,3.865,6637,4.419,6638,4.419,6639,4.419,6640,4.419,6641,4.419,6642,3.865,6643,4.419,6644,4.419,6645,4.419,6646,4.419,6647,4.419,6648,4.419,6649,4.419,6650,4.419,6651,4.419,6652,4.419,6653,4.419,6654,4.419,6655,4.419,6656,4.419,6657,4.419,6658,4.419,6659,4.419,6660,4.419,6661,4.236,6662,4.419,6663,6.905,6664,6.149,6665,4.94,6666,5.394,6667,5.673,6668,4.081,6669,6.42,6670,4.09,6671,6.209,6672,3.62,6673,6.671,6674,3.774,6675,3.208,6676,3.493,6677,4.236,6678,3.62,6679,4.236,6680,3.774,6681,3.62,11827,4.663,11835,4.663,13166,5.035,13167,5.035,13168,5.035,13169,4.663,13170,5.035,13171,5.035,13172,5.035]],["title/classes/H5PContentFactory.html",[0,0.241,13173,6.451]],["body/classes/H5PContentFactory.html",[0,0.171,2,0.52,3,0.009,4,0.009,5,0.004,7,0.069,8,0.851,27,0.512,29,1.012,30,0.001,31,0.708,32,0.167,33,0.576,34,1.535,35,1.418,47,0.547,49,1.857,55,2.377,59,3.339,95,0.1,101,0.006,103,0,104,0,112,0.584,113,4.489,127,5.015,129,3.577,130,3.269,131,2.517,135,0.641,148,0.485,153,1.738,155,2.378,157,2.078,172,3.179,185,2.552,192,2.719,195,1.637,205,2.19,206,2.43,228,1.338,231,1.285,326,4.796,374,3.235,433,0.606,436,3.877,467,2.168,501,7.32,502,5.563,505,4.141,506,5.563,507,5.492,508,4.141,509,4.141,510,4.141,511,4.077,512,4.584,513,4.992,514,6.845,515,5.88,516,7.108,517,2.763,522,2.74,523,4.141,524,2.763,525,5.245,526,5.395,527,4.253,528,5.077,529,4.109,530,2.74,531,2.584,532,4.144,533,2.62,534,2.584,535,2.74,536,2.763,537,4.914,538,2.74,539,7.006,540,4.008,541,6.716,542,2.763,543,4.37,544,2.74,545,2.763,546,2.74,547,2.763,548,2.74,549,3.068,550,2.886,551,2.74,552,6.184,553,2.763,554,2.74,555,4.141,556,3.779,557,4.141,558,2.763,559,2.658,560,2.62,561,2.22,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,1.838,568,2.74,569,1.532,570,2.763,571,2.949,572,2.74,573,2.763,574,2.763,576,2.913,1198,2.971,2393,1.889,3933,2.334,4510,5.527,4588,1.688,5376,7.501,6564,6.052,6573,4.148,6576,3.695,6578,4.87,6581,3.48,6584,3.695,6600,3.48,6663,3.366,6664,4.005,6665,2.678,6666,2.334,6667,3.695,11710,2.886,12496,3.886,13173,8.317,13174,4.566,13175,4.93,13176,4.148,13177,4.566,13178,4.93,13179,4.93,13180,4.93,13181,4.93,13182,4.93,13183,4.93,13184,4.566,13185,4.93]],["title/classes/H5PContentMapper.html",[0,0.241,13186,6.451]],["body/classes/H5PContentMapper.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.144,33,0.432,35,1.085,95,0.141,101,0.012,103,0.001,104,0.001,134,3.349,135,1.519,148,0.93,153,1.887,205,1.927,277,1.352,467,3.685,579,2.7,1195,5.779,1953,8.936,2796,5.062,3555,7.438,6663,9.025,7640,8.391,12373,9.82,12378,9.82,12394,8.301,12399,7.683,13186,10.81,13187,10.81,13188,9.458,13189,9.458,13190,9.458,13191,9.458]],["title/classes/H5PContentMetadata.html",[0,0.241,12615,5.221]],["body/classes/H5PContentMetadata.html",[0,0.402,2,0.717,3,0.013,4,0.013,5,0.006,7,0.095,27,0.42,29,0.518,30,0.001,31,0.605,32,0.144,33,0.31,34,1.161,47,1.047,55,1.903,95,0.12,101,0.016,103,0,104,0,112,0.737,131,6.443,155,3.437,158,2.506,159,1.101,190,1.684,202,1.559,231,1.171,296,3.639,326,4.098,339,2.754,374,4.078,433,0.834,1195,5.755,1215,6.491,1240,4.011,1302,5.987,1304,3.868,1926,5.72,1927,6.316,2085,4.71,2164,3.148,2374,4.979,2393,2.601,2435,4.635,3056,3.267,3426,5.55,4190,4.564,5234,4.496,6567,8.621,6572,5.353,6581,7.602,6588,6.753,6617,3.868,6624,4.881,6625,4.881,6681,6.753,7313,5.846,7314,5.72,7315,5.72,8080,5.498,11710,5.498,12050,4.499,12589,7.598,12590,5.211,12591,7.21,12592,8.267,12593,7.21,12594,6.889,12595,7.21,12596,5.211,12597,5.211,12598,5.211,12599,5.211,12600,5.211,12601,5.211,12602,5.088,12603,6.63,12604,4.792,12605,5.211,12606,5.211,12607,4.71,12608,7.04,12609,4.979,12610,5.211,12611,5.211,12612,5.211,12613,5.211,12614,5.211,12615,8.711,12616,4.979,12617,5.211,13192,6.788,13193,6.788,13194,6.788]],["title/interfaces/H5PContentParentParams.html",[159,0.712,13195,6.113]],["body/interfaces/H5PContentParentParams.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,26,2.861,30,0.001,31,0.477,32,0.157,34,1.453,47,0.886,95,0.134,99,1.712,101,0.014,103,0.001,104,0.001,112,0.856,122,2.498,159,0.869,161,2.024,205,1.732,458,3.389,578,4.454,702,4.208,1195,4.208,1237,2.461,1619,5.231,2109,3.723,2164,3.941,2184,3.363,3933,6.022,4588,4.505,4665,4.974,6617,4.843,6663,8.979,6666,6.022,11267,5.801,13132,7.149,13195,10.577,13196,7.87,13197,7.87,13198,9.79,13199,7.458,13200,7.87,13201,7.87,13202,7.149,13203,7.149,13204,7.149,13205,7.149,13206,7.87,13207,7.87,13208,7.87,13209,7.87,13210,7.87,13211,7.87,13212,7.87,13213,7.87,13214,7.87,13215,7.87,13216,7.87,13217,6.369,13218,7.87,13219,7.87]],["title/interfaces/H5PContentProperties.html",[159,0.712,6664,5.658]],["body/interfaces/H5PContentProperties.html",[0,0.271,3,0.01,4,0.015,5,0.005,7,0.144,26,2.695,30,0.001,32,0.143,47,1.008,49,3.895,95,0.129,96,2.043,97,2.124,99,1.061,101,0.013,103,0,104,0,112,0.614,131,6.123,148,0.918,153,1.511,155,1.681,158,2.889,159,0.539,161,1.254,195,2.994,196,4.521,205,1.595,223,4.448,224,1.525,225,2.999,229,2.077,231,0.909,233,1.632,433,0.647,478,1.475,703,1.616,886,2.958,1195,2.607,1198,3.174,1215,3.174,1237,1.525,1937,2.48,2164,2.442,2393,4.722,2712,3.971,2942,4.333,3056,2.534,3426,3.112,3668,2.672,3771,3.112,3933,5.485,4190,3.541,4588,3.967,4654,4.131,4681,3.654,4865,4.278,5788,3.001,6564,9.409,6565,4.278,6566,4.622,6567,6.107,6568,4.622,6569,4.622,6570,4.431,6571,3.541,6572,3.001,6573,4.431,6574,4.042,6575,4.042,6576,3.947,6577,4.042,6578,3.443,6579,4.622,6580,4.622,6581,3.717,6582,4.622,6583,4.622,6584,3.947,6585,4.042,6586,4.622,6587,4.622,6588,3.786,6592,6.869,6594,6.869,6597,7.939,6600,3.717,6601,4.042,6617,4.461,6618,3.862,6619,6.869,6620,4.042,6621,4.622,6622,4.042,6623,4.622,6624,3.786,6625,3.786,6626,4.622,6627,4.622,6628,3.717,6629,4.622,6630,4.042,6631,4.622,6632,4.042,6633,4.622,6634,4.042,6635,4.622,6636,4.042,6637,4.622,6638,4.622,6639,4.622,6640,4.622,6641,4.622,6642,4.042,6643,4.622,6644,4.622,6645,4.622,6646,4.622,6647,4.622,6648,4.622,6649,4.622,6650,4.622,6651,4.622,6652,4.622,6653,4.622,6654,4.622,6655,4.622,6656,4.622,6657,4.622,6658,4.622,6659,4.622,6660,4.622,6661,4.431,6662,4.622,6663,7.546,6664,7.589,6665,6.291,6666,5.679,6667,3.947,6668,2.839,6669,3.717,6670,4.278,6671,3.595,6672,3.786,6673,3.862,6674,3.947,6675,3.356,6676,3.654,6677,4.431,6678,3.786,6679,4.431,6680,3.947,6681,3.786]],["title/injectables/H5PContentRepo.html",[589,0.926,13220,5.86]],["body/injectables/H5PContentRepo.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,10,3.787,12,4.265,18,4.723,26,2.625,27,0.515,29,0.965,30,0.001,31,0.71,32,0.156,33,0.577,34,1.612,35,1.486,36,2.867,95,0.13,99,1.375,101,0.009,103,0,104,0,135,0.888,148,1.201,205,1.921,206,3.075,231,1.626,277,0.976,317,3.06,436,3.44,532,5.025,589,1.253,591,1.618,657,1.56,728,7.514,734,3.972,735,4.265,736,5.316,756,2.721,759,4.071,760,4.155,761,4.112,762,4.155,764,4.112,765,5.74,766,3.652,771,4.906,787,5.237,1195,6.052,1240,6.882,2393,2.614,2516,5.543,6667,9.162,6899,6.319,13220,7.93,13221,12.222,13222,6.822,13223,9.425,13224,9.425,13225,11.646,13226,9.425,13227,6.822,13228,9.425,13229,6.822,13230,9.425,13231,6.822,13232,6.822,13233,9.425,13234,6.822]],["title/interfaces/H5PContentResponse.html",[159,0.712,12608,5.221]],["body/interfaces/H5PContentResponse.html",[0,0.407,3,0.013,4,0.013,5,0.006,7,0.097,30,0.001,31,0.537,32,0.157,34,1.191,47,1.05,55,1.937,95,0.122,101,0.016,103,0,104,0,112,0.75,131,6.286,155,2.223,158,2.571,159,1.116,161,1.659,172,4.08,202,1.599,231,1.202,296,3.598,326,4.84,339,2.803,374,4.151,1195,3.449,1215,7.666,1240,4.116,1302,6.068,1304,3.969,1926,5.822,1927,6.428,2085,4.832,2164,3.23,2374,5.108,2393,2.669,2435,4.755,3056,3.352,3426,5.649,4190,4.683,5234,4.576,6567,8.674,6572,5.448,6581,4.916,6588,5.008,6617,3.969,6624,5.008,6625,5.008,6681,6.874,7313,5.95,7314,5.822,7315,5.822,8080,5.596,11710,7.208,12050,4.616,12589,4.553,12590,5.346,12591,7.338,12592,8.379,12593,7.338,12594,7.012,12595,7.338,12596,5.346,12597,5.346,12598,5.346,12599,5.346,12600,5.346,12601,5.346,12602,5.22,12603,6.748,12604,4.916,12605,5.346,12606,5.346,12607,4.832,12608,8.182,12609,5.108,12610,5.346,12611,5.346,12612,5.346,12613,5.346,12614,5.346,12615,8.182,12616,5.108,12617,5.346]],["title/controllers/H5PEditorController.html",[314,2.65,13235,5.86]],["body/controllers/H5PEditorController.html",[0,0.1,3,0.005,4,0.005,5,0.009,7,0.04,8,0.557,27,0.448,29,0.877,30,0.001,31,0.667,32,0.169,33,0.525,34,0.834,35,1.317,36,1.031,47,0.656,55,1.67,59,1.516,95,0.123,100,1.013,101,0.004,103,0,104,0,135,1.567,141,2.091,148,1.149,153,1.534,158,4.058,172,3.154,189,1.788,190,2.017,193,4.665,195,1.072,202,0.667,274,1.209,277,0.415,314,1.105,316,1.398,317,2.949,325,6.708,326,4.583,333,4.97,337,4.55,339,1.85,342,3.19,349,7.114,365,4.421,374,1.261,379,5.253,388,3.532,390,2.856,391,6.373,392,1.512,393,1.438,395,1.555,398,1.566,400,0.852,401,1.628,402,3.581,467,2.398,569,0.903,652,1.283,657,2.368,756,1.946,871,4.302,876,1.512,1172,2.177,1194,6.487,1195,5.789,1208,2.549,1215,4.966,1228,6.005,1250,6.487,1312,2.298,1351,3.281,1368,1.641,2233,1.769,2328,1.829,2393,3.158,2550,5.378,2681,2.911,2953,2.83,3212,2.088,3214,5.54,3216,2.177,3217,2.177,3240,1.492,3242,1.59,3426,4.869,3846,4.973,5234,3.944,5247,2.23,5817,3.579,6558,6.487,6572,5.085,7314,6.695,7315,4.501,7465,3.508,7640,7.089,7641,2.36,7642,2.941,7658,3.964,10020,3.745,12067,8.711,12079,5.537,12543,2.69,12544,2.69,12545,4.519,12546,7.232,12548,2.69,12549,2.69,12594,4.627,12609,4.627,12616,6.044,12627,7.109,12633,5.54,12634,5.54,12635,5.54,12638,7.109,12645,3.745,13235,4.105,13236,11.692,13237,2.904,13238,4.879,13239,6.308,13240,4.879,13241,7.391,13242,4.879,13243,4.879,13244,4.879,13245,4.879,13246,6.308,13247,6.308,13248,6.308,13249,4.879,13250,2.904,13251,2.904,13252,2.904,13253,2.904,13254,4.879,13255,2.904,13256,2.904,13257,4.879,13258,2.904,13259,2.904,13260,4.879,13261,2.904,13262,2.904,13263,4.879,13264,2.904,13265,2.904,13266,2.904,13267,2.904,13268,2.904,13269,6.487,13270,4.879,13271,2.904,13272,2.904,13273,2.904,13274,2.904,13275,2.904,13276,4.879,13277,2.904,13278,2.904,13279,2.904,13280,2.904,13281,2.904,13282,4.879,13283,4.879,13284,2.904,13285,2.904,13286,2.904,13287,2.904,13288,2.904,13289,2.904,13290,2.904,13291,4.879,13292,2.904,13293,2.904,13294,4.879,13295,4.879,13296,4.879,13297,2.69,13298,5.537,13299,2.549,13300,2.904,13301,2.904,13302,2.904,13303,2.904,13304,2.904,13305,2.088,13306,2.904,13307,2.904,13308,2.904,13309,7.391,13310,2.69,13311,2.904,13312,2.904,13313,2.904,13314,2.904,13315,2.904,13316,2.904,13317,2.904,13318,4.879,13319,2.904,13320,2.904,13321,2.904,13322,2.904,13323,6.308,13324,6.308,13325,2.904,13326,2.904,13327,2.904,13328,2.549,13329,2.904,13330,4.879,13331,2.904,13332,2.904,13333,2.904,13334,2.904,13335,2.904,13336,4.879,13337,2.904,13338,4.879,13339,4.879,13340,2.904,13341,4.879,13342,2.904,13343,2.904,13344,4.879,13345,2.904,13346,2.904,13347,2.904,13348,4.282,13349,2.904,13350,4.519,13351,2.904,13352,2.904,13353,2.904,13354,2.904,13355,2.904,13356,2.904,13357,2.904,13358,2.904,13359,4.879,13360,4.879,13361,4.879,13362,4.519,13363,4.519,13364,7.391,13365,4.879,13366,4.879,13367,2.904,13368,2.904,13369,4.879,13370,2.904,13371,2.904]],["title/classes/H5PEditorModelContentResponse.html",[0,0.241,12609,5.109]],["body/classes/H5PEditorModelContentResponse.html",[0,0.388,2,0.66,3,0.012,4,0.012,5,0.006,7,0.087,27,0.493,29,0.477,30,0.001,31,0.579,32,0.156,33,0.286,34,1.069,47,1.041,55,1.796,95,0.115,101,0.016,103,0,104,0,112,0.695,131,6.454,155,1.995,158,2.307,159,1.053,190,2.203,202,1.435,231,1.529,296,3.676,326,4.503,339,2.599,374,3.849,433,0.768,436,3.042,1195,5.86,1215,6.208,1240,3.693,1302,5.726,1304,3.561,1926,5.398,1927,5.96,2085,4.336,2164,2.899,2374,4.584,2393,3.947,2435,4.267,3056,3.008,3426,5.238,4190,4.202,5234,4.243,6567,8.264,6572,5.051,6581,4.411,6588,4.493,6617,3.561,6624,4.493,6625,4.493,6681,6.373,7313,5.517,7314,5.398,7315,5.398,8080,5.188,11710,6.561,12050,4.142,12589,7.737,12590,4.797,12591,6.804,12592,9.084,12593,7.906,12594,9.016,12595,7.906,12596,4.797,12597,4.797,12598,4.797,12599,4.797,12600,4.797,12601,4.797,12602,7.72,12603,6.257,12604,7.271,12605,4.797,12606,7.906,12607,4.336,12608,8.401,12609,6.501,12610,4.797,12611,4.797,12612,4.797,12613,4.797,12614,4.797,12615,7.72,12616,4.584,12617,4.797,13348,5.485,13372,6.249,13373,6.249,13374,6.249,13375,6.249,13376,6.249,13377,6.249,13378,6.249]],["title/classes/H5PEditorModelResponse.html",[0,0.241,12594,5.109]],["body/classes/H5PEditorModelResponse.html",[0,0.399,2,0.702,3,0.012,4,0.012,5,0.006,7,0.093,27,0.449,29,0.508,30,0.001,31,0.599,32,0.15,33,0.304,34,1.138,47,1.045,55,1.877,95,0.119,101,0.016,103,0,104,0,112,0.727,131,6.184,155,2.123,158,2.456,159,1.09,190,1.91,202,1.528,231,1.148,296,3.65,326,4.055,339,2.716,374,4.022,433,0.817,1195,5.998,1215,6.422,1240,3.931,1302,5.923,1304,3.792,1926,5.641,1927,6.228,2085,4.616,2164,3.086,2374,4.88,2393,2.549,2435,4.542,3056,3.202,3426,5.473,4190,4.474,5234,4.433,6567,8.199,6572,5.278,6581,4.696,6588,4.784,6617,3.792,6624,4.784,6625,4.784,6681,6.66,7313,5.765,7314,5.641,7315,5.641,8080,5.422,11710,5.422,12050,4.41,12589,7.919,12590,5.107,12591,7.11,12592,9.297,12593,8.179,12594,7.815,12595,8.179,12596,5.107,12597,5.107,12598,5.107,12599,5.107,12600,5.107,12601,5.107,12602,7.986,12603,6.538,12604,7.521,12605,5.107,12606,8.179,12607,4.616,12608,6.942,12609,4.88,12610,5.107,12611,5.107,12612,5.107,12613,5.107,12614,5.107,12615,7.986,12616,4.88,12617,5.107,13348,5.839,13379,6.653,13380,6.653,13381,6.653,13382,6.653]],["title/modules/H5PEditorModule.html",[252,1.839,13383,5.86]],["body/modules/H5PEditorModule.html",[0,0.194,3,0.01,4,0.01,5,0.005,30,0.001,32,0.069,47,0.412,87,2.829,95,0.156,96,2.141,101,0.007,103,0,104,0,135,1.388,153,0.908,195,1.233,205,1.144,206,1.831,224,1.625,252,2.559,254,2.019,255,2.143,256,2.197,257,2.189,258,2.181,259,3.873,260,3.602,269,3.211,270,2.158,271,2.114,274,4.036,276,3.795,277,0.802,290,1.331,347,2.883,478,1.572,540,2.721,561,2.527,571,2.221,610,2.213,623,5.363,651,2.847,736,4.038,809,3.669,1011,8.091,1014,3.894,1015,3.831,1017,6.727,1021,3.621,1022,5.692,1023,5.79,1024,5.692,1025,3.621,1026,3.533,1027,1.717,1036,5.898,1040,3.894,1041,3.831,1086,2.672,1087,2.59,1088,2.63,1089,2.795,1166,3.719,1167,3.454,1195,2.779,1215,3.382,1475,3.533,1484,7.968,1626,3.145,1829,2.405,1903,8.692,1926,3.418,2088,2.405,2447,4.953,2636,2.747,2831,2.246,2860,3.621,2954,2.982,3240,2.883,3890,7.376,3900,2.962,5074,2.865,6667,6.148,7457,7.647,10016,3.418,11521,3.454,11643,4.035,11705,6.296,12092,3.621,12253,4.308,12254,4.308,12413,8.158,12414,6.017,12415,6.017,12416,6.148,12418,4.308,12427,4.116,12428,4.116,12429,4.559,13220,9.97,13235,8.157,13298,10.4,13299,4.925,13383,12.205,13384,5.612,13385,5.612,13386,5.612,13387,5.612,13388,11.217,13389,11.217,13390,9.97,13391,9.627,13392,9.97,13393,5.198,13394,5.612,13395,5.612,13396,5.612,13397,6.296,13398,4.925,13399,7.199,13400,4.925,13401,7.598,13402,7.598,13403,7.598,13404,4.925,13405,4.925]],["title/modules/H5PEditorTestModule.html",[252,1.839,13406,6.451]],["body/modules/H5PEditorTestModule.html",[0,0.2,3,0.011,4,0.011,5,0.005,8,0.662,27,0.226,29,0.442,30,0.001,31,0.325,32,0.072,33,0.265,35,0.664,59,1.799,95,0.156,101,0.007,103,0,104,0,135,1.284,148,0.569,205,1.18,206,1.889,252,2.857,254,2.083,255,2.211,256,2.267,257,2.258,258,2.25,259,4.172,260,2.151,265,5.557,269,3.285,270,2.226,271,2.181,274,4.505,276,4.498,277,0.828,314,2.203,467,2.442,478,1.622,540,2.784,610,2.283,1016,6.289,1017,5.822,1027,1.772,1028,7.509,1029,7.725,1031,8.457,1034,4.444,1043,5.822,1045,5.486,1048,4.017,1195,4.155,1215,5.058,1480,9.443,1484,8.056,1903,8.787,2636,2.834,2831,2.318,3240,2.975,3426,4.959,3890,7.457,3900,3.056,5074,2.956,5202,4.087,6667,6.29,7457,7.73,10016,3.526,11521,3.564,12092,3.736,12253,4.444,12254,4.444,12413,8.261,12467,4.704,13220,10.079,13235,8.304,13298,10.514,13299,5.081,13383,10.079,13388,10.079,13389,10.079,13390,10.079,13391,9.732,13392,10.079,13393,7.772,13398,5.081,13399,7.365,13400,5.081,13401,7.772,13402,7.772,13403,7.772,13405,5.081,13406,13.547,13407,5.79,13408,5.79,13409,5.79,13410,5.79,13411,5.081,13412,5.79]],["title/classes/H5PErrorMapper.html",[0,0.241,13413,6.451]],["body/classes/H5PErrorMapper.html",[0,0.344,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,8,1.376,27,0.388,29,0.76,30,0.001,31,0.559,32,0.123,33,0.455,35,1.141,95,0.134,101,0.013,103,0.001,104,0.001,148,0.978,153,1.609,277,1.423,711,3.75,1080,3.449,1195,5.961,2099,7.458,2164,4.615,6617,5.67,13187,11.151,13413,11.151,13414,9.95,13415,12.039,13416,12.039,13417,13.451,13418,9.95,13419,9.95,13420,9.95]],["title/modules/H5PLibraryManagementModule.html",[252,1.839,13421,6.451]],["body/modules/H5PLibraryManagementModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,135,1.527,252,3.098,254,2.891,255,3.069,256,3.147,257,3.135,258,3.124,259,4.521,260,3.911,269,4.12,270,3.091,271,3.027,274,4.381,276,4.594,277,1.149,610,3.17,651,4.078,1011,9.052,1021,5.187,1025,5.187,1026,5.061,1027,2.46,1195,3.98,2447,5.542,2831,3.218,3426,4.75,7457,8.556,8905,7.055,10016,4.895,11521,4.948,11710,6.161,12092,5.187,12413,9.292,13383,11.155,13398,7.055,13399,9.237,13405,7.055,13421,13.366,13422,8.038,13423,8.038,13424,8.038,13425,11.155,13426,8.038,13427,8.038,13428,7.445,13429,8.038]],["title/injectables/H5PLibraryManagementService.html",[589,0.926,13425,5.86]],["body/injectables/H5PLibraryManagementService.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,8,0.773,27,0.484,29,0.715,30,0.001,31,0.57,32,0.154,33,0.428,34,0.743,35,1.164,36,2.272,47,0.876,74,3.338,95,0.136,101,0.009,103,0,104,0,112,0.531,125,2.561,135,1.682,142,1.574,145,3.117,148,0.998,153,1.928,158,2.497,159,0.445,185,3.844,195,1.825,197,1.891,228,1.491,277,0.622,290,2.223,317,2.579,412,1.931,433,0.831,527,1.848,543,2.116,569,2.103,579,1.932,589,0.899,591,1.031,634,6.509,651,2.206,652,2.479,657,2.726,702,2.153,711,3.453,756,2.698,810,3.189,1195,6.242,1215,2.621,1312,2.048,1563,2.806,1619,2.676,1675,2.621,1819,3.816,1929,4.962,1939,2.311,2164,2.017,2333,2.437,2358,2.499,2393,1.666,2555,3.532,2557,2.924,2954,2.311,3426,3.998,5200,3.532,5278,5.9,6572,4.733,6617,5.34,6618,3.189,7786,3.069,8907,3.532,8918,3.816,8920,4.027,11710,8.136,11725,6.398,12115,3.338,12143,3.658,12144,3.658,12157,3.338,13176,3.658,13198,7.613,13202,3.658,13203,3.658,13204,3.658,13388,9.442,13389,9.442,13425,5.692,13430,11.064,13431,9.957,13432,7.692,13433,9.957,13434,10.395,13435,7.692,13436,6.765,13437,8.679,13438,6.765,13439,7.692,13440,4.348,13441,6.266,13442,6.266,13443,8.679,13444,4.348,13445,4.348,13446,6.266,13447,4.348,13448,4.348,13449,4.348,13450,4.348,13451,7.692,13452,8.679,13453,4.348,13454,6.266,13455,7.692,13456,4.348,13457,4.348,13458,8.679,13459,4.027,13460,7.692,13461,4.027,13462,4.027,13463,4.027,13464,3.816,13465,4.027,13466,3.658,13467,4.027,13468,4.027,13469,4.027,13470,4.027,13471,4.027,13472,8.224,13473,6.266,13474,6.266,13475,6.266,13476,4.027,13477,4.027,13478,6.266,13479,4.027,13480,6.266,13481,4.027,13482,4.027,13483,4.027,13484,6.266,13485,4.027,13486,4.027,13487,4.027,13488,4.027,13489,4.027,13490,4.027,13491,4.027,13492,4.027,13493,4.027,13494,4.027,13495,6.266,13496,4.027,13497,6.266,13498,6.266,13499,4.027,13500,4.027,13501,3.816,13502,5.938,13503,4.027,13504,4.027,13505,4.027,13506,4.027,13507,4.027,13508,6.266,13509,6.266,13510,3.658,13511,4.027,13512,4.027,13513,4.027,13514,4.027,13515,4.027,13516,6.266,13517,4.027,13518,4.027,13519,4.027]],["title/classes/H5PSaveResponse.html",[0,0.241,12616,5.109]],["body/classes/H5PSaveResponse.html",[0,0.401,2,0.711,3,0.012,4,0.012,5,0.006,7,0.094,27,0.418,29,0.514,30,0.001,31,0.602,32,0.143,33,0.308,34,1.597,47,1.05,55,1.892,95,0.119,101,0.016,103,0,104,0,112,0.732,131,6.822,155,2.148,158,2.485,159,1.096,190,1.674,202,1.545,231,1.161,296,3.607,326,4.08,339,2.738,374,4.055,433,0.827,866,3.353,1195,5.734,1215,6.462,1240,6.336,1302,5.96,1304,3.836,1926,5.687,1927,6.279,2085,4.67,2164,3.122,2374,4.937,2393,2.579,2435,6.375,3056,3.24,3426,5.518,4190,4.526,5234,4.469,6567,8.603,6572,5.321,6581,4.751,6588,4.84,6617,3.836,6624,4.84,6625,4.84,6681,6.714,7313,5.812,7314,5.687,7315,5.687,8080,5.466,11710,5.466,12050,4.461,12589,7.57,12590,5.167,12591,7.168,12592,8.23,12593,7.168,12594,6.849,12595,7.168,12596,5.167,12597,5.167,12598,5.167,12599,5.167,12600,5.167,12601,5.167,12602,5.045,12603,6.591,12604,4.751,12605,5.167,12606,5.167,12607,4.67,12608,6.999,12609,4.937,12610,5.167,12611,5.167,12612,5.167,12613,5.167,12614,5.167,12615,9.117,12616,6.849,12617,5.167,13520,6.731,13521,6.731,13522,6.731]],["title/classes/H5PTemporaryFileFactory.html",[0,0.241,13523,6.451]],["body/classes/H5PTemporaryFileFactory.html",[0,0.166,2,0.505,3,0.009,4,0.009,5,0.007,7,0.067,8,0.833,27,0.514,29,1.006,30,0.001,31,0.703,32,0.166,33,0.571,34,1.508,35,1.406,47,0.535,55,2.354,59,3.297,95,0.098,101,0.006,103,0,104,0,112,0.572,113,4.439,127,4.941,129,3.545,130,3.24,135,1.38,146,3.269,148,0.716,153,1.594,157,2.042,172,3.11,185,2.496,192,2.641,205,2.162,206,2.377,210,5.692,228,1.309,231,1.257,290,1.136,326,4.839,357,5.594,374,3.164,433,0.588,436,3.854,467,2.121,501,7.283,502,5.481,505,4.051,506,5.481,507,5.447,508,4.051,509,4.051,510,4.051,511,3.988,512,4.504,513,4.904,514,6.662,515,5.806,516,7.07,517,2.684,522,2.662,523,4.051,524,2.684,525,5.168,526,5.316,527,4.19,528,5.002,529,4.019,530,2.662,531,2.51,532,4.098,533,2.545,534,2.51,535,2.662,536,2.684,537,4.828,538,2.662,539,7.168,540,3.972,541,6.656,542,2.684,543,4.293,544,2.662,545,2.684,546,2.662,547,2.684,548,2.662,549,2.981,550,2.803,551,2.662,552,6.116,553,2.684,554,2.662,555,4.051,556,3.697,557,4.051,558,2.684,559,2.582,560,2.545,561,2.157,562,2.662,563,2.662,564,2.662,565,2.684,566,2.684,567,1.785,568,2.662,569,1.488,570,2.684,571,2.884,572,2.662,573,2.684,575,2.753,576,2.83,577,2.857,870,2.621,1743,3.443,2588,3.015,2910,3.775,5260,3.015,7765,9.826,7766,3.443,7767,5.056,7768,8.01,8964,4.435,11689,6.772,11929,6.396,13174,6.75,13176,4.029,13177,4.435,13397,3.676,13523,8.171,13524,4.789,13525,9.859,13526,4.789,13527,4.029,13528,4.029,13529,4.029,13530,4.789,13531,4.789,13532,4.029,13533,4.789]],["title/entities/H5pEditorTempFile.html",[205,1.419,13397,5.346]],["body/entities/H5pEditorTempFile.html",[0,0.259,3,0.014,4,0.014,5,0.011,7,0.104,27,0.492,30,0.001,31,0.564,32,0.156,47,0.955,55,2.295,83,3.81,95,0.126,96,1.954,101,0.013,103,0,104,0,112,0.787,159,0.765,190,2.263,205,2.046,206,2.441,210,8.385,223,4.34,224,2.168,225,3.846,229,2.951,231,1.291,233,2.32,248,5.609,414,5.092,433,0.919,478,2.096,870,7.112,1195,6.434,1215,4.511,1237,2.168,2164,3.471,2550,6.05,3426,7.844,5260,8.182,6565,10.556,6617,4.265,7245,4.829,11688,7.912,11689,9.974,11703,5.899,12130,6.568,12149,7.705,13397,7.705,13527,8.445,13532,10.933,13534,6.932,13535,7.484,13536,7.484,13537,7.484,13538,8.81,13539,9.297,13540,9.297,13541,7.484,13542,7.484,13543,8.81,13544,6.932,13545,6.932]],["title/classes/H5pFileDto.html",[0,0.241,12644,5.658]],["body/classes/H5pFileDto.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.012,7,0.118,27,0.495,29,0.646,30,0.001,31,0.738,32,0.157,33,0.387,47,1.028,55,2.573,95,0.121,101,0.015,103,0.001,104,0.001,112,0.853,159,1.113,339,3.851,433,1.039,876,4.405,881,4.631,1195,6.504,1237,3.152,1302,7.301,1304,4.822,1444,6.686,2184,3.349,2328,5.328,2831,3.387,6572,6.201,7223,7.119,7253,5.777,7313,5.267,7314,6.626,7315,6.626,11516,9.155,11521,5.209,11522,7.119,11523,6.67,11524,6.874,12589,8.587,12607,5.871,12644,10.67,12645,6.495,13546,8.461,13547,8.461,13548,8.461,13549,8.461]],["title/interfaces/HtmlMailContent.html",[159,0.712,1453,5.221]],["body/interfaces/HtmlMailContent.html",[3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,31,0.5,32,0.139,33,0.513,47,1.077,77,5.738,101,0.011,103,0.001,104,0.001,112,0.881,159,1.414,161,2.118,231,2.301,1240,5.255,1439,8.418,1440,6.826,1441,9.227,1442,8.621,1443,6.826,1444,4.943,1445,8.418,1446,6.522,1447,6.522,1448,9.692,1449,6.826,1450,8.418,1451,10.236,1452,10.236,1453,9.227,1454,6.913,1455,6.665,1456,6.665,1457,6.826,1458,6.826]],["title/classes/HydraOauthFailedLoggableException.html",[0,0.241,13550,6.451]],["body/classes/HydraOauthFailedLoggableException.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.345,27,0.459,29,0.732,30,0.001,31,0.539,32,0.119,33,0.438,35,1.1,95,0.131,101,0.012,103,0.001,104,0.001,162,8.17,231,2.031,433,1.179,436,2.834,644,7.17,1080,3.325,1422,4.713,1423,4.472,1426,5.658,1462,5.172,1465,6.657,1468,4.472,1469,4.695,1470,6.599,2082,11.177,2084,6.359,2096,11.177,9942,10.334,13550,10.906,13551,11.774,13552,8.886,13553,8.886,13554,8.886,13555,9.593]],["title/injectables/HydraOauthUc.html",[589,0.926,13556,5.86]],["body/injectables/HydraOauthUc.html",[0,0.191,3,0.01,4,0.01,5,0.005,7,0.077,8,0.927,27,0.459,29,0.808,30,0.001,31,0.595,32,0.14,33,0.484,35,1.102,36,2.491,47,1.02,55,1.947,56,2.603,59,2.521,95,0.142,100,2.829,101,0.007,103,0,104,0,112,0.636,113,3.818,122,1.146,129,2.402,130,2.195,135,1.585,145,3.045,148,0.945,153,1.554,159,0.565,195,1.215,228,2.025,277,0.79,317,2.758,333,3.716,402,3.457,433,0.996,478,1.548,571,2.188,579,2.316,589,1.078,591,1.311,610,2.18,652,2.593,657,2.857,758,5.538,837,2.737,871,2.984,998,5.339,1027,1.691,1080,3.67,1086,2.631,1087,2.551,1088,2.59,1169,3.206,1312,2.603,1422,2.212,1459,4.65,1585,6.867,1887,7.807,2084,3.663,2114,8.108,2447,4.016,2448,4.961,2848,4.49,4329,6.59,7168,4.851,7169,4.851,8170,7.613,10493,5.119,11552,4.65,13556,6.825,13557,12.18,13558,5.527,13559,9.609,13560,10.587,13561,8.111,13562,9.609,13563,8.111,13564,5.119,13565,9.291,13566,10.248,13567,5.527,13568,8.111,13569,5.527,13570,5.527,13571,5.527,13572,10.587,13573,8.111,13574,5.527,13575,5.527,13576,5.527,13577,6.825,13578,5.119,13579,6.668,13580,6.08,13581,5.527,13582,5.527,13583,9.806,13584,8.111,13585,7.513,13586,5.527,13587,5.527,13588,5.527,13589,8.111,13590,8.085,13591,5.527,13592,5.527,13593,5.527,13594,5.527,13595,5.527,13596,8.111,13597,5.119,13598,4.851,13599,4.65,13600,5.527,13601,5.527,13602,5.527,13603,5.527,13604,5.527,13605,8.111,13606,5.527,13607,5.527]],["title/classes/HydraRedirectDto.html",[0,0.241,13577,5.86]],["body/classes/HydraRedirectDto.html",[0,0.309,2,0.943,3,0.017,4,0.017,5,0.008,7,0.124,27,0.531,29,0.682,30,0.001,31,0.502,32,0.169,33,0.408,47,0.828,55,2.282,95,0.126,101,0.011,103,0.001,104,0.001,112,0.883,232,3.048,433,1.097,435,3.068,871,4.538,1104,7.256,2084,5.92,2114,8.869,4329,10.021,7166,10.378,13577,11.234,13590,10.378,13597,11.425,13598,10.826,13599,10.378,13608,8.932,13609,8.932,13610,8.932,13611,8.932,13612,8.932,13613,8.932,13614,8.932,13615,8.273,13616,8.932,13617,8.932,13618,8.932,13619,8.932,13620,8.932,13621,8.932,13622,8.932,13623,8.932,13624,8.932]],["title/injectables/HydraSsoService.html",[589,0.926,13566,5.86]],["body/injectables/HydraSsoService.html",[0,0.157,3,0.008,4,0.008,5,0.004,7,0.063,8,0.8,27,0.444,29,0.836,30,0.001,31,0.615,32,0.141,33,0.5,35,1.188,36,2.607,47,1.007,95,0.148,100,1.585,101,0.006,103,0,104,0,110,1.58,112,0.549,113,3.393,125,1.083,129,1.346,130,1.23,135,1.714,148,1.018,153,1.552,228,2.048,277,0.65,279,1.884,289,2.636,317,2.613,347,2.335,365,2.018,414,2.306,433,0.86,478,1.273,569,1.413,579,1.298,589,0.931,591,1.078,619,3.268,652,2.509,657,1.601,688,2.119,756,1.812,998,2.152,1027,1.391,1053,7.787,1054,2.568,1056,2.933,1282,6.732,1312,2.141,1495,3.268,1498,3.989,1566,3.989,1593,2.798,1622,3.268,1675,2.739,1887,3.692,1926,2.768,2084,3.012,2114,3.268,2219,2.037,2220,2.291,2221,2.212,2230,3.334,2382,3.583,2383,5.374,2412,4.209,2417,3.989,2447,3.569,2448,4.496,2698,2.272,4259,2.66,4329,9.265,4981,3.334,5069,7.037,5074,2.32,5203,3.406,5204,7.037,5206,3.208,5221,4.209,5223,6.114,5225,3.692,5592,7.495,6288,2.846,6369,2.291,7166,10.164,7168,6.145,7169,6.145,7640,6.359,8165,5.248,8170,3.268,8222,4.942,8318,2.739,10475,3.012,13566,5.891,13577,8.718,13578,4.209,13579,7.19,13583,6.485,13590,9.907,13598,3.989,13599,9.209,13615,4.209,13625,4.545,13626,7.001,13627,7.001,13628,7.001,13629,7.001,13630,4.545,13631,7.495,13632,4.545,13633,7.001,13634,7.001,13635,4.545,13636,7.001,13637,4.545,13638,7.001,13639,4.545,13640,2.862,13641,7.001,13642,4.545,13643,4.545,13644,7.001,13645,4.545,13646,4.545,13647,4.545,13648,3.489,13649,6.145,13650,3.824,13651,4.545,13652,4.545,13653,3.406,13654,3.406,13655,3.334,13656,3.406,13657,4.545,13658,4.545,13659,4.545,13660,4.545,13661,7.001,13662,4.545,13663,4.545,13664,4.545,13665,4.545,13666,7.001,13667,4.545,13668,4.545,13669,3.824,13670,4.545,13671,4.545,13672,8.072,13673,4.545,13674,4.545,13675,4.545,13676,7.001,13677,4.545,13678,4.545,13679,4.545,13680,7.001,13681,4.545,13682,4.545,13683,4.545,13684,4.545,13685,4.545,13686,4.545,13687,4.545,13688,4.545,13689,4.545,13690,4.545,13691,4.545,13692,4.545,13693,4.545,13694,7.001,13695,4.545,13696,4.545,13697,4.545,13698,7.001,13699,4.545,13700,3.056,13701,4.545,13702,4.545,13703,2.971,13704,3.824,13705,3.056,13706,4.545,13707,4.545,13708,3.056,13709,4.545,13710,4.545,13711,2.798,13712,4.545,13713,4.545,13714,3.583,13715,3.012,13716,4.545,13717,4.545,13718,4.545]],["title/interfaces/IBbbSettings.html",[159,0.712,2337,5.658]],["body/interfaces/IBbbSettings.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,47,1.06,101,0.016,103,0.001,104,0.001,112,0.954,135,1.317,159,1.035,161,2.412,1282,10.666,2138,5.344,2334,10.992,2335,11.875,2337,9.884,2340,8.887,13719,10.125,13720,8.887,13721,10.125]],["title/interfaces/ICommonCartridgeFileBuilder.html",[159,0.712,5848,5.658]],["body/interfaces/ICommonCartridgeFileBuilder.html",[0,0.297,3,0.011,4,0.011,5,0.01,7,0.083,8,0.979,27,0.391,29,0.654,30,0.001,31,0.481,32,0.124,33,0.392,35,1.151,36,2.121,47,0.806,95,0.139,101,0.014,103,0,104,0,135,1.574,148,1.189,153,2.132,155,2.735,159,0.876,161,1.42,228,2.291,317,1.29,400,1.748,433,0.732,435,3.447,507,5.161,540,1.978,652,2.536,1211,3.847,1237,2.482,1396,5.53,1835,4.404,2049,4.094,2203,6.56,3521,5.53,5730,7.172,5731,7.172,5734,6.65,5735,8.181,5751,4.699,5752,4.432,5753,5.947,5763,9.57,5776,6.803,5781,6.756,5783,6.756,5791,6.962,5795,7.079,5797,4.843,5806,5.851,5847,5.016,5848,9.83,5849,7.909,5850,6.579,5851,7.211,5852,7.938,5853,7.938,5855,7.211,5859,8.442,5861,8.442,5862,9.83,5864,10.128,5865,8.442,5868,4.843,5869,4.843,5870,4.576,5871,4.07,5872,4.287,5873,6.756,5874,6.962,5875,4.699,5876,4.699,5877,6.162,5878,7.211,5879,4.843,5880,5.016,5881,5.016,5882,5.016,5883,9.23,5884,5.016,5885,7.211,5886,5.016,5887,5.016,5888,7.211,5889,5.016,5890,5.016,5891,5.016,5892,5.016,5893,5.016,5894,5.016,5895,5.016,5896,5.016,5897,5.016,5898,5.016,5899,5.016,5900,4.843,5901,5.016,5902,5.016,5903,5.016,5904,5.016,5905,5.016,5906,5.016,5907,5.016,5908,5.016,13722,5.961,13723,5.961,13724,5.961]],["title/interfaces/ICommonCartridgeOrganizationBuilder.html",[159,0.712,5864,5.658]],["body/interfaces/ICommonCartridgeOrganizationBuilder.html",[0,0.307,3,0.012,4,0.012,5,0.009,7,0.087,8,1.014,27,0.244,29,0.478,30,0.001,31,0.352,32,0.11,33,0.286,35,0.718,36,1.875,47,0.824,95,0.141,101,0.014,103,0,104,0,135,1.6,148,1.209,153,2.155,155,2.832,159,0.907,161,1.491,228,2.32,317,1.354,400,1.835,433,0.769,435,3.048,507,3.941,540,2.077,652,2.572,1211,4.039,1237,2.57,1396,5.726,1835,4.559,2049,4.206,2203,6.74,3521,5.726,5730,5.801,5731,5.801,5734,6.833,5735,7.963,5751,4.934,5752,4.589,5753,6.157,5763,9.707,5776,6.931,5781,6.995,5783,6.995,5791,7.209,5795,7.237,5797,5.085,5806,6.058,5847,5.266,5848,9.111,5849,8.126,5850,6.811,5851,7.466,5855,7.466,5859,8.673,5861,7.466,5862,9.111,5864,10.497,5865,7.466,5868,5.085,5869,5.085,5870,4.804,5871,4.273,5872,4.5,5873,6.995,5874,7.209,5875,4.934,5876,4.934,5877,6.38,5878,8.673,5879,5.085,5880,5.266,5881,5.266,5882,5.266,5883,9.436,5884,5.266,5885,7.466,5886,5.266,5887,5.266,5888,7.466,5889,5.266,5890,5.266,5891,5.266,5892,5.266,5893,5.266,5894,5.266,5895,5.266,5896,5.266,5897,5.266,5898,5.266,5899,5.266,5900,5.085,5901,5.266,5902,5.266,5903,5.266,5904,5.266,5905,5.266,5906,5.266,5907,5.266,5908,5.266,6011,8.219,13725,6.259]],["title/interfaces/ICurrentUser.html",[159,0.712,325,3.449]],["body/interfaces/ICurrentUser.html",[3,0.014,4,0.014,5,0.007,7,0.107,26,2.956,30,0.001,32,0.165,33,0.559,34,2.091,39,3.395,48,5.732,85,8.225,94,5.183,95,0.086,99,1.548,101,0.01,103,0,104,0,112,0.801,122,2.714,159,0.786,161,1.83,180,4.379,195,2.877,290,3.341,325,5.059,331,4.537,358,8.3,413,6.222,614,3.792,615,6.222,1092,6.87,1470,5.726,2530,7.212,2550,6.158,2834,6.772,3418,5.897,3430,4.436,3436,6.285,4588,4.484,5805,6.679,8057,10.292,8058,8.966,8138,11.33,13726,7.684,13727,10.216,13728,6.772]],["title/interfaces/IDashboardRepo.html",[159,0.712,8792,5.658]],["body/interfaces/IDashboardRepo.html",[0,0.318,3,0.012,4,0.012,5,0.006,7,0.092,8,1.05,9,3.05,26,2.822,27,0.447,29,0.875,30,0.001,31,0.644,32,0.142,33,0.524,34,1.571,35,1.315,36,2.976,39,3.468,49,2.477,95,0.134,96,1.717,97,2.653,99,1.325,101,0.012,103,0,104,0,113,2.613,135,1.752,148,1.261,153,1.064,159,0.673,161,1.567,205,1.34,228,1.65,277,0.94,290,2.18,317,2.609,478,1.842,561,2.962,589,1.221,657,2.933,675,3.358,728,3.815,1237,1.905,1829,2.819,2446,4.991,2484,4.563,3649,3.748,7853,4.563,8401,7.963,8442,9.165,8478,7.053,8605,4.93,8685,7.243,8707,8.064,8766,5.772,8770,5.048,8771,6.092,8772,8.064,8773,8.51,8774,8.064,8775,8.51,8777,9.294,8779,9.808,8781,9.294,8783,6.092,8785,9.808,8787,6.092,8788,6.092,8789,8.51,8790,6.092,8791,5.772,8792,8.603,8793,4.93,8794,8.51,8795,6.092,8796,8.51,8797,6.092,8798,9.808,8799,6.092,8800,8.51,8801,6.092,8802,6.092,8803,6.092,13729,6.577,13730,6.577,13731,6.577,13732,6.577]],["title/interfaces/IEntity.html",[159,0.712,2536,5.49]],["body/interfaces/IEntity.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.147,34,2.285,47,0.943,49,5.032,83,3.488,95,0.133,96,2.547,97,3.935,101,0.016,103,0.001,104,0.001,112,0.933,159,1.312,161,2.324,231,2.053,430,4.013,431,4.182,692,5.546,703,2.993,789,7.313,2536,10.532,7549,6.006,9933,8.563,9934,6.661,9935,8.209]],["title/interfaces/IEntityWithTimestamps.html",[159,0.712,9935,5.86]],["body/interfaces/IEntityWithTimestamps.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.147,34,1.66,47,0.713,49,4.467,83,4.081,95,0.132,96,2.535,97,3.916,101,0.016,103,0.001,104,0.001,112,0.93,159,1.31,161,2.313,231,2.21,430,5.486,431,5.717,692,5.53,703,2.979,789,5.314,2536,10.515,7549,5.977,9933,8.521,9934,6.629,9935,9.98]],["title/interfaces/IError.html",[159,0.712,10013,5.658]],["body/interfaces/IError.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,33,0.556,47,0.958,55,2.643,101,0.016,103,0.001,104,0.001,112,0.954,159,1.244,161,2.412,231,2.099,402,4.867,532,3.713,1080,4.521,1115,5.267,10013,10.596,12347,7.59,13733,8.887,13734,9.379]],["title/interfaces/IFindOptions.html",[159,0.712,7924,4.287]],["body/interfaces/IFindOptions.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.159,33,0.611,55,2.414,56,4.607,70,4.962,101,0.017,103,0.001,104,0.001,112,0.935,127,4.901,159,1.218,161,2.33,770,6.158,886,3.097,2232,7.621,2618,8.584,3977,10.024,5340,9.679,7638,8.585,7924,7.334,10858,10.541,13735,9.059]],["title/interfaces/IGridElement.html",[159,0.712,8475,5.86]],["body/interfaces/IGridElement.html",[0,0.197,3,0.006,4,0.006,5,0.003,7,0.127,8,0.649,26,2.364,27,0.401,29,0.632,30,0.001,31,0.465,32,0.144,33,0.378,34,1.669,35,1.18,39,1.576,47,0.915,55,2.551,83,1.023,95,0.08,99,0.703,101,0.014,103,0,104,0,112,0.445,122,2.024,125,1.971,130,1.537,135,1.763,141,3.547,145,3.106,146,2.383,148,1.332,153,1.734,155,3.284,159,0.357,161,0.831,232,0.944,242,2.997,243,2.198,277,0.499,435,1.199,458,3.632,459,2.937,467,2.409,527,3.516,569,3.818,579,2.05,595,1.324,652,2.42,756,2.864,896,1.94,1065,4.483,1170,5.21,1237,1.011,1660,5.382,1675,3.423,1842,3.781,2049,4.652,2435,2.383,2796,3.04,2911,7.018,2953,2.024,2954,1.855,2995,2.422,3056,3.982,3076,4.875,3563,2.616,3756,2.464,3907,8.78,3932,3.665,4024,7.662,4094,3.576,7403,2.936,7507,2.383,7550,4.166,7622,3.941,7853,5.742,8410,5.564,8442,2.56,8443,3.063,8445,3.063,8448,3.063,8449,2.936,8450,8.213,8452,2.751,8459,4.985,8465,3.063,8469,3.063,8472,3.063,8473,8.213,8475,9.592,8478,6.352,8480,3.063,8481,7.662,8484,3.063,8486,3.063,8488,3.063,8490,3.063,8492,3.063,8494,3.063,8497,3.063,8499,4.985,8500,2.616,8501,7.993,8502,7.262,8503,4.985,8504,7.993,8505,6.302,8506,4.985,8507,7.993,8508,4.985,8509,6.302,8510,3.063,8511,4.257,8512,9.381,8513,3.063,8514,4.985,8515,3.063,8516,4.985,8517,3.063,8518,4.985,8519,3.063,8520,3.063,8521,3.063,8522,3.063,8523,3.063,8524,4.985,8525,3.063,8526,4.985,8527,2.936,8528,4.985,8529,3.063,8530,4.985,8531,3.063,8532,3.063,8533,3.063,8534,4.985,8535,2.835,8536,3.063,8537,4.985,8538,3.063,8539,2.679,8540,3.063,8541,3.063,8542,3.063,8543,3.063,8544,3.063,8545,3.063,8546,3.063,8547,3.063,8548,3.063,8549,4.985,8550,4.985,8551,2.936,8552,6.302,8553,3.063,8554,4.985,8555,3.063,8556,3.063,8557,3.063,8558,3.063,8559,3.063,8560,3.063,8561,3.063,8562,3.063,8563,3.063,8564,3.063,8565,3.063,8566,3.063,8567,3.063,8568,3.063,8569,3.063,8570,3.063,8571,3.063,8572,3.063,8573,3.063,8574,3.063,8575,3.063,8576,3.063,8577,3.063,8578,4.985,8579,3.063,8580,3.063,8581,3.063,8582,4.985,8583,4.985,8584,3.063,8585,3.063,8586,3.063,8587,3.063,8588,3.063,8589,3.063,8590,3.063,8591,6.302,8592,3.063,8593,3.063,12741,5.26,12746,5.26,12747,5.26,12748,5.26,12755,3.233,13736,3.49,13737,3.49,13738,3.49,13739,3.49,13740,3.49,13741,3.49,13742,3.49]],["title/interfaces/IH5PLibraryManagementConfig.html",[159,0.712,13466,5.86]],["body/interfaces/IH5PLibraryManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.124,47,0.992,95,0.112,101,0.017,103,0.001,104,0.001,112,0.95,135,1.576,159,1.028,161,2.394,1195,4.976,2088,5.191,2219,4.505,2220,5.067,2221,4.891,2222,6.328,11710,7.09,13428,9.308,13430,8.82,13466,10.938,13743,9.308,13744,13.812,13745,10.049]],["title/interfaces/IImportUserScope.html",[159,0.712,13746,5.658]],["body/interfaces/IImportUserScope.html",[2,1.34,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,31,0.475,32,0.171,33,0.659,47,1.055,95,0.094,101,0.015,103,0.001,104,0.001,112,0.853,122,2.493,159,1.113,161,2.015,301,8.193,331,5.638,415,4.822,700,6.356,701,6.356,886,2.679,1582,7.824,2010,7.212,4703,5.1,5408,6.084,7553,4.781,12472,8.962,12473,8.809,12490,5.209,13746,8.84,13747,7.837,13748,10.682,13749,10.008,13750,7.837,13751,6.874]],["title/interfaces/IKeycloakConfigurationInputFiles.html",[159,0.712,13752,5.86]],["body/interfaces/IKeycloakConfigurationInputFiles.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,47,1.036,101,0.016,103,0.001,104,0.001,112,0.963,135,1.338,159,1.051,161,2.449,2219,4.609,2358,5.91,4887,6.018,4888,6.399,13752,10.33,13753,10.281,13754,10.281,13755,12.596,13756,12.596,13757,9.023,13758,10.281]],["title/interfaces/IKeycloakSettings.html",[159,0.712,13759,5.86]],["body/interfaces/IKeycloakSettings.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.172,47,1.068,51,4.628,87,5.945,101,0.015,103,0.001,104,0.001,112,0.925,135,1.251,159,0.983,161,2.291,172,5.032,2333,7.451,4887,5.629,4888,5.986,6369,6.879,9033,9.965,13703,6.287,13720,8.44,13759,9.921,13760,9.616,13761,11.186,13762,8.091,13763,9.616]],["title/interfaces/ILegacyLogger.html",[159,0.712,13764,6.113]],["body/interfaces/ILegacyLogger.html",[3,0.014,4,0.014,5,0.007,7,0.105,8,1.151,27,0.493,29,0.965,30,0.001,31,0.71,32,0.161,33,0.578,35,1.45,39,2.089,47,1.068,59,4.045,72,4.627,101,0.013,102,5.355,103,0,104,0,110,2.616,125,1.793,153,1.629,158,4.907,159,0.77,161,1.793,183,5.447,193,3.282,326,2.864,365,3.342,569,4.296,641,4.289,1042,6.678,1080,3.937,1115,4.812,1379,7.245,2447,4.211,4955,6.879,13764,8.843,13765,13.015,13766,7.526,13767,8.843,13768,8.843,13769,9.332,13770,7.526,13771,9.332,13772,10.52,13773,7.526,13774,9.332,13775,10.646,13776,7.526,13777,9.332,13778,7.526,13779,9.332,13780,7.526]],["title/interfaces/INewsScope.html",[159,0.712,8071,5.658]],["body/interfaces/INewsScope.html",[3,0.015,4,0.015,5,0.007,7,0.115,26,2.408,30,0.001,32,0.172,33,0.61,34,1.411,47,0.787,83,2.42,95,0.14,101,0.017,103,0.001,104,0.001,112,0.84,122,2.464,127,4.136,155,2.634,157,1.91,159,1.366,161,1.966,172,4.569,205,1.682,692,4.991,703,2.532,886,2.613,2033,4.507,2393,3.162,2473,5.137,3011,5.955,3965,9.397,5018,5.196,5466,4.744,7211,5.325,7872,6.186,7873,7.77,7875,6.591,7878,5.549,7881,6.453,7882,7.746,8062,6.704,8063,7.644,8064,7.644,8065,7.644,8066,7.644,8067,7.644,8068,5.549,8069,9.043,8070,6.944,8071,8.698,8072,10.217]],["title/interfaces/IProvisioningFeatures.html",[159,0.712,13781,5.658]],["body/interfaces/IProvisioningFeatures.html",[0,0.338,3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.147,95,0.109,101,0.016,103,0.001,104,0.001,112,0.935,122,2.953,135,1.273,159,1,161,2.33,311,6.233,467,2.847,2219,4.384,2220,4.931,2221,4.76,4259,5.725,13781,10.438,13782,9.059,13783,12.697,13784,12.697,13785,9.679,13786,9.059,13787,8.229,13788,9.059,13789,9.059]],["title/interfaces/ITask.html",[159,0.712,13790,5.49]],["body/interfaces/ITask.html",[3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.702,32,0.168,33,0.627,47,1.029,55,2.389,83,3.898,95,0.118,99,1.636,101,0.016,103,0.001,104,0.001,112,0.831,122,2.756,157,2.893,159,1.326,161,1.934,231,2.035,290,2.797,478,2.275,652,1.651,692,4.939,703,2.491,1937,3.825,2027,5.185,2033,4.472,2957,5.712,3159,4.794,3589,6.507,3593,6.464,4040,4.753,4093,8.171,4112,5.46,4116,5.543,4117,5.731,4118,5.381,4119,5.381,4120,5.838,4121,5.543,5762,6.521,6668,4.378,8975,5.381,13790,10.22,13791,6.596,13792,9.167,13793,6.086,13794,6.086,13795,5.838,13796,6.086,13797,5.955]],["title/interfaces/IToolFeatures.html",[159,0.712,10197,5.109]],["body/interfaces/IToolFeatures.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.166,47,0.932,55,2.57,80,8.145,95,0.094,101,0.015,103,0.001,104,0.001,112,0.852,122,3.008,129,2.5,135,1.099,159,0.863,161,2.011,311,5.381,467,2.458,1756,4.854,1829,4.657,1941,7.104,2219,3.785,2220,4.257,2221,4.109,4259,4.943,6103,9.142,7739,6.842,8793,8.145,10197,8.813,10199,7.97,10461,11.52,10494,11.52,12501,7.67,13798,12.157,13799,12.157,13800,12.157,13801,12.157,13802,7.821,13803,7.104,13804,7.821,13805,7.821,13806,7.821,13807,7.821,13808,7.821,13809,7.821]],["title/interfaces/IVideoConferenceSettings.html",[159,0.712,13810,6.113]],["body/interfaces/IVideoConferenceSettings.html",[3,0.018,4,0.018,5,0.009,7,0.139,30,0.001,32,0.16,47,0.952,95,0.111,101,0.015,103,0.001,104,0.001,112,0.946,122,2.687,135,1.298,159,1.02,161,2.376,1268,8.287,2138,5.264,2154,8.394,2337,10.937,9599,5.685,13720,8.754,13810,10.582,13811,9.974,13812,12.469,13813,9.239,13814,9.974]],["title/classes/IdParams.html",[0,0.241,13815,6.113]],["body/classes/IdParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,34,2.352,47,0.882,95,0.134,101,0.013,103,0.001,104,0.001,112,0.942,157,2.292,187,6.783,190,1.775,194,4.716,195,2.638,196,3.982,197,3.355,200,3.03,202,2.273,296,3.14,299,4.699,308,7.262,1470,6.727,2831,4.805,13815,10.534,13816,9.901,13817,9.901]],["title/interfaces/IdToken.html",[159,0.712,173,4.616]],["body/interfaces/IdToken.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.735,32,0.17,33,0.653,39,3.63,47,1.078,101,0.015,103,0.001,104,0.001,112,0.899,159,1.171,161,2.186,173,7.593,175,7.721,187,5.186,702,6.476,4588,4.48,6600,9.232,6686,4.685,7510,7.519,12931,11.004,12932,8.5,12933,8.054]],["title/classes/IdTokenCreationLoggableException.html",[0,0.241,13818,6.113]],["body/classes/IdTokenCreationLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,34,1.491,35,1,39,3.563,47,0.996,59,2.71,95,0.124,101,0.011,103,0.001,104,0.001,135,1.134,148,0.857,176,6.513,187,6.893,228,1.992,231,1.914,233,2.703,242,4.601,277,1.247,339,2.556,347,4.48,400,2.556,433,1.071,652,1.773,1027,2.668,1115,4.642,1237,3.213,1312,5.746,1422,4.883,1426,5.702,1468,5.687,1477,4.451,1478,4.634,2698,2.829,3824,9.623,6366,8.075,6369,6.15,8831,6.693,13818,9.734,13819,12.197,13820,8.718,13821,8.718,13822,8.718,13823,8.718,13824,7.336,13825,8.075,13826,5.953]],["title/classes/IdTokenExtractionFailureLoggableException.html",[0,0.241,13827,5.86]],["body/classes/IdTokenExtractionFailureLoggableException.html",[0,0.308,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,8,1.285,27,0.438,29,0.68,30,0.001,31,0.501,32,0.139,33,0.407,35,1.022,47,0.905,95,0.125,101,0.011,103,0.001,104,0.001,148,0.876,176,5.706,228,1.6,231,1.94,233,2.763,339,2.613,400,2.613,433,1.095,436,2.633,644,5.427,1027,2.727,1080,3.089,1115,3.391,1422,4.933,1423,5.745,1426,5.747,1461,8.43,1462,4.805,1463,9.7,1465,6.184,1467,7.498,1468,5.745,1469,6.031,1470,4.995,1471,6.537,1472,4.954,1476,5.372,1477,4.55,1478,4.736,2942,5.716,6388,6.184,13827,9.462,13828,9.871,13829,11.246,13830,8.912,13831,8.255,13832,7.498,13833,8.912]],["title/classes/IdTokenInvalidLoggableException.html",[0,0.241,13834,6.113]],["body/classes/IdTokenInvalidLoggableException.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,27,0.372,30,0.001,32,0.118,35,1.095,95,0.131,101,0.012,103,0.001,104,0.001,148,0.938,173,6.328,176,4.844,231,2.026,340,6.012,436,2.82,644,5.815,1027,2.922,1080,3.309,1115,3.633,1213,6.084,1422,4.699,1423,5.927,1426,5.89,1462,5.148,1463,9.941,1468,5.927,1469,6.222,1470,5.351,1471,7.003,1472,5.308,1476,5.755,1477,4.875,1478,5.074,13828,8.38,13831,8.843,13834,10.303,13835,9.548]],["title/injectables/IdTokenService.html",[589,0.926,13836,5.86]],["body/injectables/IdTokenService.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.965,27,0.424,29,0.83,30,0.001,31,0.696,32,0.134,33,0.496,34,0.999,35,1.137,36,2.297,39,2.344,47,1.011,95,0.146,101,0.007,103,0,104,0,125,2.746,135,1.612,148,1.068,153,0.944,159,0.597,173,3.871,176,4.284,187,6.514,228,1.951,277,0.835,279,2.421,290,2.003,317,2.599,433,1.037,478,1.636,578,4.426,579,1.667,589,1.122,591,1.385,652,2.67,657,2.748,702,2.892,1470,3.273,1829,2.503,1853,1.916,1916,8.597,1941,3.818,2008,2.909,2698,2.74,2766,7.613,2776,4.181,3824,4.378,3900,3.082,4588,2,5053,5.126,5055,5.126,5073,4.483,5449,7.468,5474,4.745,6369,6.247,6600,7.001,6686,2.982,7510,5.702,7875,7.396,8068,6.669,8114,6.262,8222,5.961,8311,3.677,8793,4.378,10223,4.914,10631,5.806,11372,8.597,11459,4.604,12931,9.699,12933,5.126,13217,4.378,13818,5.126,13836,7.105,13837,10.678,13838,5.409,13839,8.444,13840,8.444,13841,8.444,13842,5.84,13843,9.761,13844,5.84,13845,8.444,13846,5.409,13847,8.444,13848,5.84,13849,8.444,13850,5.84,13851,5.84,13852,5.84,13853,5.84,13854,4.745,13855,5.126,13856,8.444,13857,5.409,13858,5.126,13859,5.84,13860,5.84,13861,5.84,13862,5.84,13863,8.444,13864,5.84,13865,5.84,13866,5.84,13867,5.84,13868,5.84,13869,7.821]],["title/classes/IdTokenUserNotFoundLoggableException.html",[0,0.241,13870,6.113]],["body/classes/IdTokenUserNotFoundLoggableException.html",[0,0.299,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.66,30,0.001,31,0.486,32,0.136,33,0.395,34,1.478,35,0.991,47,0.993,59,2.686,95,0.123,101,0.011,103,0.001,104,0.001,148,0.85,176,6.163,228,1.981,231,1.903,233,2.679,290,2.882,339,2.534,347,5.668,400,2.534,433,1.062,436,2.553,620,7.966,644,5.264,652,1.758,1027,2.645,1080,2.996,1115,3.289,1422,4.863,1423,5.664,1426,5.683,1462,4.66,1463,9.592,1465,5.997,1467,7.272,1468,5.664,1469,5.946,1470,4.844,1471,6.34,1472,4.805,1476,5.21,1477,4.413,1478,4.594,5138,4.626,13828,9.681,13870,9.681,13871,8.643,13872,11.853,13873,8.643,13874,8.643,13875,8.643]],["title/interfaces/IdentityManagementConfig.html",[159,0.712,13876,5.86]],["body/interfaces/IdentityManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.162,101,0.013,103,0.001,104,0.001,112,0.962,122,2.997,159,1.049,161,2.443,4887,6.003,13743,9.498,13876,10.315,13877,8.331,13878,12.585,13879,12.585,13880,12.585]],["title/modules/IdentityManagementModule.html",[252,1.839,665,5.658]],["body/modules/IdentityManagementModule.html",[0,0.282,3,0.015,4,0.015,5,0.007,30,0.001,95,0.155,101,0.01,103,0.001,104,0.001,252,3.116,254,2.926,255,3.107,256,3.185,257,3.174,258,3.162,259,3.852,260,4.386,269,4.153,270,3.129,271,3.064,276,4.153,277,1.163,618,5.25,633,11.161,648,6.679,665,11.54,685,6.153,1054,4.597,3108,8.178,3904,6.935,4887,4.762,8905,7.14,8906,8.925,9906,9.971,10031,8.143,13877,6.609,13881,8.136,13882,8.136,13883,8.136,13884,10.807,13885,11.192,13886,10.83,13887,7.535,13888,9.31,13889,6.609,13890,7.14,13891,8.136,13892,8.925,13893,10.608,13894,8.925]],["title/classes/IdentityManagementOauthService.html",[0,0.241,13886,5.49]],["body/classes/IdentityManagementOauthService.html",[0,0.259,2,0.791,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,9,6.407,27,0.442,29,0.572,30,0.001,31,0.421,32,0.093,33,0.343,35,1.584,36,2.748,47,0.992,51,5.829,78,9.511,87,6.555,94,6.145,95,0.084,101,0.01,103,0,104,0,125,2.394,157,1.735,195,2.209,197,2.809,329,6.121,388,4.307,648,7.627,985,7.025,1076,6.405,1080,2.599,1461,7.533,1470,7.661,1568,6.974,1585,7.376,2088,5.859,2389,6.091,2543,7.953,4887,7.09,4920,8.709,9033,7.533,13877,9.84,13886,7.922,13895,6.945,13896,11.219,13897,11.219,13898,9.309,13899,7.498,13900,7.498,13901,9.309,13902,7.498,13903,5.62,13904,6.945]],["title/classes/IdentityManagementService.html",[0,0.241,633,5.658]],["body/classes/IdentityManagementService.html",[0,0.129,2,0.392,3,0.007,4,0.007,5,0.003,7,0.052,8,0.683,9,6.477,27,0.463,29,0.924,30,0.001,31,0.701,32,0.152,33,0.553,34,2.223,35,1.523,36,2.823,39,2.788,47,1.037,51,4.131,55,1.211,56,1.751,59,1.857,70,1.885,85,7.385,87,6.29,94,7.262,95,0.067,98,2.24,99,0.749,101,0.008,103,0,104,0,122,0.77,125,1.785,130,3.277,142,2.163,153,1.388,157,2.692,230,7.279,290,2.759,318,5.244,319,5.244,328,4.479,335,5.772,339,1.752,347,3.07,360,6.313,385,7.498,388,5.524,533,3.176,540,3.333,567,3.746,593,3.019,595,1.409,633,4.854,648,5.405,734,2.518,860,4.218,1083,6.843,1355,4.935,1568,4.146,1834,6.296,1835,3.07,1927,7.385,2588,3.762,3102,5.174,3108,5.612,3109,7.752,3237,4.979,4441,6.49,4887,7.089,5002,5.244,5146,4.587,5285,5.244,5303,7.223,8907,3.019,8918,3.262,8925,3.442,13441,3.442,13877,9.838,13905,5.534,13906,5.534,13907,5.534,13908,5.534,13909,7.951,13910,6.941,13911,6.941,13912,5.534,13913,5.534,13914,5.534,13915,9.781,13916,3.716,13917,10.982,13918,5.975,13919,3.716,13920,5.534,13921,8.584,13922,5.534,13923,5.534,13924,5.534,13925,5.975,13926,5.534,13927,7.951,13928,3.716,13929,3.716,13930,3.442,13931,10.172,13932,3.716,13933,8.712,13934,11.823,13935,3.442,13936,7.951,13937,3.716,13938,5.975,13939,3.716,13940,5.975,13941,3.716,13942,2.929]],["title/entities/ImportUser.html",[205,1.419,13943,5.008]],["body/entities/ImportUser.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,27,0.491,30,0.001,31,0.38,32,0.162,33,0.428,47,0.995,49,1.638,95,0.12,96,1.135,101,0.012,103,0,104,0,112,0.843,122,1.722,125,1.978,129,2.459,130,2.247,135,1.081,142,2.449,145,3.117,146,2.969,148,0.665,153,0.703,159,0.692,180,2.9,190,2.26,195,2.808,196,3.109,197,1.891,205,1.379,206,1.418,219,5.599,223,3.981,224,1.259,225,2.593,226,1.977,229,1.715,231,0.75,232,1.177,233,1.348,271,1.638,290,3.066,301,2.806,413,2.648,415,5.34,540,1.443,567,2.522,579,1.241,614,1.348,652,0.884,692,3.872,700,4.535,701,4.535,702,5.323,703,3.56,704,5.183,756,1.734,886,2.967,1065,2.14,1237,1.259,1783,6.249,1829,1.863,2010,4.484,2345,2.648,2373,3.816,2544,7.447,2545,3.658,2856,3.259,2911,5.112,2942,5.205,2943,7.193,2952,3.189,3019,3.816,3237,3.924,3430,4.069,3436,3.476,4588,2.317,4593,6.47,4676,3.427,4677,3.259,4692,4.865,5056,2.417,5210,4.445,5408,3.126,5493,3.259,5727,3.872,6388,6.502,7003,3.069,7535,3.816,7549,4.165,7552,2.706,7553,2.457,7573,2.676,7778,4.549,7888,4.423,7895,2.621,7896,2.706,8619,4.694,10090,3.126,10134,3.259,10135,3.259,11263,2.843,11264,3.069,11265,2.843,11266,3.069,11267,2.969,11268,3.189,11442,2.924,11443,2.924,12472,6.615,12473,5.762,12490,2.676,12497,5.692,13125,3.427,13169,4.027,13749,7.387,13832,3.658,13943,4.865,13944,11.834,13945,7.193,13946,8.908,13947,6.398,13948,4.348,13949,4.348,13950,5.692,13951,4.348,13952,4.348,13953,4.348,13954,4.348,13955,4.348,13956,8.248,13957,6.765,13958,6.266,13959,4.348,13960,7.193,13961,4.348,13962,7.613,13963,4.348,13964,4.348,13965,7.289,13966,4.348,13967,3.338,13968,5.692,13969,3.658,13970,3.816,13971,4.027,13972,3.658,13973,4.027,13974,4.027,13975,4.027,13976,4.027,13977,4.027,13978,4.027,13979,4.027,13980,4.027,13981,5.692,13982,4.027,13983,5.692,13984,3.658,13985,4.027,13986,4.027,13987,4.027,13988,3.338,13989,4.027,13990,4.027,13991,4.027,13992,4.027,13993,3.658,13994,4.027,13995,4.027,13996,3.338,13997,5.692,13998,4.027]],["title/controllers/ImportUserController.html",[314,2.65,13999,6.113]],["body/controllers/ImportUserController.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.061,8,0.776,10,1.757,27,0.453,29,0.888,30,0.001,31,0.653,32,0.144,33,0.531,35,1.333,36,2.787,56,4.427,59,1.359,70,4.768,95,0.136,100,1.524,101,0.006,103,0,104,0,122,1.728,135,1.742,141,3.572,148,1,153,1.099,158,1.614,190,2.084,202,1.004,228,1.22,274,1.82,277,0.625,290,1.037,298,1.898,314,1.664,316,2.104,317,2.987,325,6.863,326,4.1,349,7.056,365,5.42,379,4.228,388,4.028,389,2.858,392,2.276,395,2.34,398,2.357,400,1.282,478,1.225,540,3.118,595,1.658,652,0.889,657,2.659,863,3.747,871,4.49,883,7.938,2938,3.906,3220,7.044,3240,2.246,3242,2.393,4970,5.483,6288,4.379,7638,7.356,7924,5.13,10857,6.77,12469,7.907,12503,7.907,13943,3.143,13999,5.963,14000,11.94,14001,4.371,14002,4.371,14003,6.794,14004,8.333,14005,8.333,14006,8.333,14007,6.794,14008,8.333,14009,8.333,14010,8.333,14011,4.371,14012,6.794,14013,4.371,14014,4.371,14015,7.907,14016,4.371,14017,4.371,14018,6.794,14019,4.371,14020,4.371,14021,10.711,14022,6.794,14023,4.371,14024,4.371,14025,6.293,14026,4.371,14027,4.371,14028,8.248,14029,6.794,14030,4.371,14031,4.371,14032,8.705,14033,6.794,14034,4.371,14035,4.371,14036,8.248,14037,6.794,14038,4.371,14039,3.837,14040,4.371,14041,4.371,14042,3.678,14043,4.371,14044,3.837,14045,8.705,14046,4.049,14047,4.049,14048,3.678,14049,3.551,14050,5.716,14051,4.371,14052,4.371,14053,3.551,14054,3.837,14055,4.371,14056,4.371,14057,4.371,14058,4.371,14059,5.716,14060,4.371,14061,4.371,14062,4.371,14063,4.371,14064,8.333,14065,4.371,14066,8.333,14067,4.371,14068,4.371,14069,4.371,14070,4.371,14071,4.371,14072,4.371,14073,4.371,14074,4.049,14075,4.371,14076,4.371,14077,4.371,14078,4.371,14079,4.371,14080,4.371,14081,4.371]],["title/classes/ImportUserFactory.html",[0,0.241,14082,6.451]],["body/classes/ImportUserFactory.html",[0,0.163,2,0.496,3,0.009,4,0.009,5,0.004,7,0.065,8,0.821,27,0.512,29,1.012,30,0.001,31,0.711,32,0.167,33,0.578,34,1.491,35,1.399,47,0.641,55,2.338,59,3.269,95,0.129,101,0.006,103,0,104,0,112,0.563,113,4.407,127,4.893,129,3.524,130,3.22,135,0.935,148,0.706,157,2.018,158,1.735,172,3.065,185,2.46,192,2.592,197,1.313,205,2.144,206,2.343,228,1.29,231,1.239,290,2.894,326,4.817,374,3.119,433,0.577,436,3.839,467,2.091,478,1.316,501,7.259,502,5.428,505,3.993,506,5.428,507,5.417,508,3.993,509,3.993,510,3.993,511,3.931,512,4.452,513,4.847,514,6.268,515,5.757,516,7.045,517,2.633,522,2.612,523,3.993,524,2.633,525,5.117,526,5.264,527,4.149,528,4.953,529,3.962,530,2.612,531,3.765,532,4.068,533,2.497,534,2.463,535,2.612,536,2.633,537,4.772,538,2.612,539,7.137,540,3.949,541,6.616,542,2.633,543,4.243,544,2.612,545,2.633,546,2.612,547,2.633,548,2.612,549,2.925,550,2.751,551,2.612,552,6.07,553,2.633,554,2.612,555,3.993,556,3.644,557,3.993,558,2.633,559,2.533,560,2.497,561,2.116,562,2.612,563,2.612,564,2.612,565,2.633,566,2.633,567,1.752,568,2.612,569,1.46,570,2.633,571,3.451,572,2.612,573,2.633,575,2.701,576,2.777,577,2.804,595,1.782,620,2.925,700,2.274,701,2.274,702,2.327,703,1.442,704,2.399,1086,2.237,1087,2.169,1088,2.202,1089,2.341,1090,2.552,1091,3.115,3430,2.04,4246,6.304,4593,2.994,5056,2.612,7763,3.704,7764,3.817,7773,3.704,11443,3.16,11632,3.317,12472,3.317,13749,5.662,13943,3.379,13945,3.607,13946,5.514,13947,3.208,13956,7.932,13968,3.954,14082,8.076,14083,7.183,14084,4.699,14085,7.183,14086,4.699,14087,6.653,14088,6.304,14089,4.699,14090,4.699,14091,4.699,14092,4.699,14093,4.699,14094,4.124,14095,4.699]],["title/classes/ImportUserListResponse.html",[0,0.241,14048,5.86]],["body/classes/ImportUserListResponse.html",[0,0.349,2,0.911,3,0.011,4,0.011,5,0.005,7,0.084,27,0.455,29,0.459,30,0.001,31,0.485,32,0.165,33,0.533,34,1.029,47,0.857,55,2.801,56,5.717,59,2.681,70,6.157,94,3.052,95,0.135,101,0.011,103,0,104,0,112,0.677,122,1.247,125,1.433,134,2.13,142,2.178,157,2.96,180,2.578,190,1.975,195,2.216,197,1.681,200,1.841,201,3.353,202,1.381,231,1.488,232,1.628,290,3.033,296,3.407,298,2.612,299,4.313,304,2.979,331,2.671,339,3.419,374,2.612,415,3.428,433,0.739,436,3.254,556,3.052,571,2.381,614,3.615,700,4.174,701,4.174,703,1.845,855,3.492,862,7.781,863,6.694,864,4.959,866,2.996,868,4.853,869,2.944,870,3.292,871,2.213,872,4.246,873,5.497,874,5.049,875,3.933,876,3.132,877,4.246,878,4.246,880,3.833,881,3.292,886,1.904,1086,2.864,1087,2.776,1088,2.819,1089,2.996,1090,3.267,1619,3.703,1842,2.749,1930,4.325,2135,4.246,3197,3.22,3198,3.22,3430,4.783,3431,3.882,3432,3.458,3436,3.091,4703,3.626,4970,3.961,5215,4.916,5245,3.703,5271,3.788,5408,4.325,6317,3.489,11263,3.933,11264,4.246,11265,3.933,11266,4.246,12472,4.246,12473,4.174,12490,3.703,12501,4.246,13131,4.887,13945,4.617,13947,4.107,13983,5.061,13984,5.061,14048,7.257,14049,10.388,14096,7.57,14097,6.015,14098,6.015,14099,7.949,14100,5.571,14101,7.741,14102,5.571,14103,5.571,14104,5.061,14105,5.061,14106,5.061,14107,5.061,14108,5.571,14109,5.571,14110,7.989,14111,5.571,14112,4.887,14113,5.571,14114,5.571,14115,4.742,14116,5.571]],["title/classes/ImportUserMapper.html",[0,0.241,14039,6.113]],["body/classes/ImportUserMapper.html",[0,0.225,2,0.685,3,0.012,4,0.012,5,0.006,7,0.09,8,1.04,27,0.41,29,0.803,30,0.001,31,0.591,32,0.13,33,0.48,35,1.206,95,0.148,99,1.308,100,3.975,101,0.008,103,0,104,0,125,2.505,129,1.922,135,1.562,141,3.902,142,3.807,148,1.12,153,1.472,195,2.001,277,0.928,290,2.16,331,2.883,365,2.883,393,3.214,467,3.858,478,1.819,579,1.853,595,2.462,700,3.142,701,3.142,830,5.061,837,3.214,1393,5.189,2038,4.137,2953,5.281,3329,8.072,4970,5.234,5953,4.303,8104,5.462,10825,8.433,10854,8.433,10857,7.397,10858,8.985,10915,5.697,12469,9.59,12472,4.582,12473,4.504,13746,9.26,13943,8.948,13945,4.983,13947,4.432,14015,9.59,14039,7.991,14042,5.462,14044,7.991,14049,9.26,14074,6.013,14112,5.274,14117,11.398,14118,9.104,14119,9.104,14120,6.492,14121,6.492,14122,9.104,14123,6.492,14124,5.117,14125,6.013,14126,5.462,14127,5.697,14128,6.492,14129,6.492,14130,6.492,14131,6.492,14132,6.492,14133,6.492,14134,6.492,14135,6.492,14136,6.492,14137,6.492,14138,6.492,14139,6.492,14140,6.013,14141,9.104,14142,6.492,14143,6.492,14144,6.013,14145,6.492,14146,6.492,14147,6.013,14148,6.492,14149,6.492,14150,6.492,14151,6.492,14152,6.492,14153,6.492,14154,6.492,14155,6.492,14156,6.492,14157,6.492,14158,6.492,14159,6.492,14160,6.492,14161,6.492,14162,6.492,14163,6.492]],["title/classes/ImportUserMatchMapper.html",[0,0.241,14126,5.86]],["body/classes/ImportUserMatchMapper.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,27,0.431,29,0.844,30,0.001,31,0.621,32,0.137,33,0.505,35,1.268,95,0.136,99,1.749,101,0.011,103,0.001,104,0.001,129,2.571,148,1.301,365,3.855,415,7.544,467,3.939,478,2.432,579,2.478,837,4.299,1393,6.303,2038,5.532,4703,5.232,4970,5.59,12482,11.872,13748,10.242,13956,10.995,14126,9.306,14164,8.681,14165,11.06,14166,11.06,14167,11.06,14168,8.681,14169,11.06,14170,8.681,14171,10.684,14172,8.681,14173,8.04,14174,8.681,14175,8.04,14176,8.681,14177,8.04,14178,6.843,14179,8.681,14180,8.681,14181,8.681,14182,8.681]],["title/modules/ImportUserModule.html",[252,1.839,14183,5.86]],["body/modules/ImportUserModule.html",[0,0.265,3,0.014,4,0.014,5,0.007,30,0.001,52,3.884,94,3.884,95,0.151,101,0.01,103,0,104,0,252,3.224,254,2.754,255,2.923,256,2.997,257,2.986,258,2.975,259,4.16,260,3.787,264,9.404,265,6.066,268,7.965,269,3.99,270,2.944,271,2.883,274,4.242,276,3.99,277,1.095,279,3.174,290,1.816,614,2.373,671,9.593,685,4.44,703,2.348,1027,2.342,1475,4.82,1531,9.232,1856,7.454,1900,5.005,2070,4.127,2370,4.29,2911,4.712,3102,4.614,3418,3.448,4970,3.515,6077,8.669,8852,6.034,12728,6.219,13728,5.074,13999,10.054,14045,12.114,14046,7.09,14047,7.09,14183,12.268,14184,7.655,14185,7.655,14186,7.655,14187,11.479,14188,7.655,14189,7.655,14190,7.655,14191,7.655]],["title/interfaces/ImportUserProperties.html",[159,0.712,13968,5.86]],["body/interfaces/ImportUserProperties.html",[0,0.166,3,0.009,4,0.009,5,0.004,7,0.067,30,0.001,31,0.41,32,0.166,33,0.572,47,1.033,49,1.806,95,0.125,96,1.252,101,0.013,103,0,104,0,112,0.877,122,2.045,125,1.737,135,1.149,142,2.64,145,3.314,146,3.273,148,0.717,153,0.775,159,0.746,161,1.142,180,3.126,195,2.632,196,2.42,197,1.34,205,1.486,219,5.854,223,3.732,224,1.389,225,2.795,226,2.18,229,1.891,231,0.827,232,1.297,233,1.486,271,1.806,290,3.128,301,3.094,413,2.92,415,5.031,540,1.591,567,1.788,579,1.369,614,1.486,652,0.975,692,4.948,700,5.137,701,5.137,702,5.755,703,3.764,704,5.708,756,1.912,886,3.124,1065,2.36,1237,1.389,1783,5.434,1829,2.055,2010,4.834,2345,2.92,2373,4.208,2544,6.475,2545,4.034,2856,3.594,2911,4.49,2942,4.923,2943,5.599,2952,3.517,3019,4.208,3237,2.781,3430,4.609,3436,2.463,4588,1.642,4593,7.124,4676,3.779,4677,3.594,4692,5.245,5056,2.665,5210,5.681,5408,3.447,5727,4.116,6388,5.061,7003,3.384,7549,4.49,7552,2.984,7553,2.709,7573,2.951,7888,3.134,7895,2.89,7896,2.984,8619,5.061,10090,3.447,10134,3.594,10135,3.594,11263,3.134,11264,3.384,11265,3.134,11266,3.384,11267,3.273,11268,3.517,11442,3.224,11443,3.224,12472,7.492,12473,6.125,12490,2.951,12497,4.034,13125,3.779,13749,8.367,13832,4.034,13943,3.447,13944,4.441,13945,8.147,13946,9.194,13947,7.247,13950,4.034,13956,9.082,13958,4.441,13960,5.599,13962,5.925,13965,6.401,13967,3.68,13968,7.428,13969,4.034,13970,4.208,13971,4.441,13972,4.034,13973,4.441,13974,4.441,13975,4.441,13976,4.441,13977,4.441,13978,4.441,13979,4.441,13980,4.441,13981,6.137,13982,4.441,13983,6.137,13984,4.034,13985,4.441,13986,4.441,13987,4.441,13988,3.68,13989,4.441,13990,4.441,13991,4.441,13992,4.441,13993,4.034,13994,4.441,13995,4.441,13996,3.68,13997,6.137,13998,4.441]],["title/injectables/ImportUserRepo.html",[589,0.926,14187,6.113]],["body/injectables/ImportUserRepo.html",[0,0.174,3,0.009,4,0.009,5,0.005,7,0.07,8,0.865,10,3.041,12,3.425,18,3.793,26,2.049,27,0.485,29,0.928,30,0.001,31,0.683,32,0.15,33,0.555,34,1.555,35,1.394,36,2.755,40,3.663,49,1.896,56,2.372,58,3.292,59,2.352,94,3.84,95,0.135,96,1.976,97,2.031,98,3.035,99,1.014,101,0.006,103,0,104,0,129,1.491,130,1.362,135,1.618,142,4.401,148,1.066,153,1.471,195,1.106,205,1.026,206,2.469,224,1.458,231,1.306,277,0.72,290,2.95,317,2.979,331,2.236,365,4.039,436,2.988,478,1.41,532,4.719,540,4.034,579,1.437,589,1.006,591,1.194,595,1.909,652,1.85,654,4.663,657,2.702,692,5.509,703,3.103,728,6.854,734,3.19,735,3.425,736,4.477,759,3.004,760,3.066,761,3.035,762,3.066,764,3.035,765,3.066,766,2.695,771,3.62,788,3.438,1619,4.659,1927,3.386,2232,4.313,2479,5.977,2938,4.351,3418,2.268,3436,3.889,3750,3.438,4246,6.643,5245,3.099,5264,6.42,6288,3.076,6895,3.438,7638,3.035,7924,7.274,7934,5.673,7952,6.643,7953,3.693,7954,3.693,13746,8.217,13943,8.19,13972,6.368,14140,4.663,14178,3.969,14187,6.643,14192,5.035,14193,7.569,14194,9.094,14195,9.094,14196,7.569,14197,7.569,14198,5.035,14199,4.663,14200,5.035,14201,5.035,14202,5.035,14203,5.035,14204,7.569,14205,5.035,14206,6.643,14207,5.035,14208,7.982,14209,5.035,14210,5.035,14211,5.035,14212,5.035,14213,5.035,14214,5.035,14215,5.035,14216,5.035,14217,5.035,14218,5.035,14219,5.035,14220,5.035,14221,5.035,14222,5.035,14223,5.035,14224,5.035,14225,5.035,14226,5.035,14227,5.035,14228,5.035,14229,7.569,14230,5.035,14231,7.569,14232,5.035,14233,5.035,14234,5.035,14235,5.035,14236,5.035,14237,5.035]],["title/classes/ImportUserResponse.html",[0,0.241,14049,5.658]],["body/classes/ImportUserResponse.html",[0,0.331,2,1.01,3,0.01,4,0.01,5,0.005,7,0.076,27,0.496,29,0.419,30,0.001,31,0.538,32,0.166,33,0.437,34,1.38,47,0.951,55,1.939,56,3.802,70,4.095,94,4.095,95,0.135,101,0.01,103,0,104,0,112,0.633,122,1.673,129,1.625,130,1.485,134,1.944,142,1.987,157,2.946,180,3.459,190,2.235,195,2.319,197,2.256,200,1.68,201,3.137,202,1.26,231,0.947,232,2.184,290,3.208,296,3.33,298,2.383,299,4.131,304,2.718,308,7.021,331,2.438,339,2.366,374,3.504,415,5.455,433,0.674,435,1.886,556,2.785,571,2.173,614,4.011,700,5.442,701,5.442,703,1.684,855,3.268,862,5.024,863,3.027,864,3.155,868,4.606,880,3.498,881,3.004,886,2.555,1086,2.613,1087,2.533,1088,2.572,1089,2.734,1090,2.981,1361,3.155,1619,4.968,1842,3.688,1930,3.947,2135,3.875,3197,4.32,3198,4.32,3430,5.278,3431,5.208,3432,4.64,3436,4.147,4703,4.864,4970,5.942,5215,6.014,5245,4.968,5271,5.082,5408,5.803,6317,4.681,8084,5.084,11263,3.589,11264,3.875,11265,3.589,11266,3.875,12472,6.756,12473,6.641,12490,4.968,12501,5.697,13131,4.459,13945,7.347,13947,6.535,13983,4.618,13984,4.618,14048,4.618,14049,10.13,14096,11.357,14099,8.863,14100,5.084,14101,8.631,14102,5.084,14103,5.084,14104,4.618,14105,4.618,14106,4.618,14107,4.618,14108,5.084,14109,5.084,14110,7.475,14111,5.084,14112,7.776,14113,7.475,14114,7.475,14115,4.327,14116,5.084,14238,5.489,14239,5.489,14240,5.489,14241,5.489,14242,5.489,14243,5.489,14244,5.489,14245,5.489,14246,5.489]],["title/classes/ImportUserScope.html",[0,0.241,14208,6.113]],["body/classes/ImportUserScope.html",[0,0.15,2,0.713,3,0.008,4,0.008,5,0.004,7,0.06,8,0.772,27,0.504,29,0.947,30,0.001,31,0.726,32,0.158,33,0.567,34,1.155,35,1.423,39,1.204,47,0.926,49,1.634,95,0.129,96,1.763,97,1.75,99,0.874,101,0.006,103,0,104,0,112,0.53,122,1.719,129,2.456,130,1.828,135,1.459,142,3.002,145,1.629,148,1.255,153,1.341,180,2.895,195,2.548,224,1.257,231,1.165,290,2.66,301,4.358,331,1.927,365,1.927,393,2.148,415,5.78,436,2.996,478,1.215,540,3.105,569,1.348,579,2.368,595,1.645,624,7.015,652,2.185,692,4.363,700,3.269,701,3.269,703,2.544,1072,6.73,1393,5.78,1829,4.603,1831,6.204,1919,4.686,2010,2.876,2038,2.765,2472,5.641,2479,5.993,4588,1.486,4593,2.765,4692,4.856,4703,4.071,5056,5.971,5138,3.615,5264,4.768,5953,5.497,6178,3.991,6203,5.965,6288,4.95,7007,4.477,7008,4.477,7009,4.477,7014,4.477,7015,4.477,7016,2.917,7017,2.876,7018,2.917,7019,2.917,7028,2.876,7029,4.477,7030,2.917,7031,2.876,7032,2.917,7033,2.876,7034,8.222,11442,4.542,11443,4.542,12472,5.854,12473,3.01,12490,2.671,13748,7.875,13943,3.12,13945,3.33,13946,6.366,13947,5.662,13967,5.185,14124,3.42,14173,4.018,14175,4.018,14177,4.018,14178,5.324,14208,11.559,14247,4.338,14248,6.754,14249,6.754,14250,6.754,14251,6.754,14252,6.754,14253,6.754,14254,6.754,14255,6.754,14256,6.754,14257,6.754,14258,4.338,14259,6.754,14260,4.338,14261,6.754,14262,4.338,14263,6.754,14264,4.338,14265,6.256,14266,6.754,14267,4.338,14268,6.754,14269,4.338,14270,6.754,14271,4.338,14272,6.754,14273,4.338,14274,6.754,14275,4.338,14276,3.65,14277,4.018,14278,4.338,14279,4.018,14280,4.338,14281,4.338,14282,6.754,14283,4.338,14284,8.214,14285,8.669,14286,4.338,14287,6.754,14288,6.754,14289,6.754,14290,6.754,14291,4.338,14292,4.338,14293,4.338,14294,4.338,14295,4.338,14296,4.338,14297,4.338,14298,6.754,14299,4.338,14300,4.338,14301,5.487,14302,4.338,14303,4.338,14304,4.018]],["title/classes/ImportUserUrlParams.html",[0,0.241,14021,6.113]],["body/classes/ImportUserUrlParams.html",[0,0.408,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.375,30,0.001,32,0.119,34,2.016,47,0.866,95,0.131,101,0.012,103,0.001,104,0.001,112,0.925,157,2.226,185,4.039,190,1.724,194,4.633,195,2.591,196,3.912,197,3.296,200,2.943,202,2.208,290,3.154,296,3.085,301,7.609,613,6.779,614,3.655,855,4.774,4197,5.856,4970,5.415,13943,8.478,14021,10.349,14096,10.349,14112,10.36,14305,9.616,14306,9.616]],["title/interfaces/InlineAttachment.html",[159,0.712,1445,5.221]],["body/interfaces/InlineAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,31,0.506,32,0.112,47,1.073,77,5.815,101,0.012,103,0.001,104,0.001,112,0.888,159,1.418,161,2.147,231,2.31,1240,7.679,1439,8.489,1440,6.918,1441,9.739,1442,10.277,1443,6.918,1444,5.01,1445,9.284,1446,6.61,1447,6.61,1448,9.284,1449,6.918,1450,8.489,1451,8.694,1452,8.694,1453,8.489,1454,6.972,1455,6.755,1456,6.755,1457,6.918,1458,6.918]],["title/entities/InstalledLibrary.html",[205,1.419,11705,5.346]],["body/entities/InstalledLibrary.html",[0,0.264,3,0.006,4,0.006,5,0.003,7,0.043,27,0.515,29,0.233,30,0.001,31,0.286,32,0.168,33,0.627,47,0.941,55,2.663,72,2.337,83,1.492,95,0.085,96,0.797,101,0.01,103,0,104,0,112,0.399,122,2.108,131,2.598,134,2.316,141,3.923,145,3.817,148,0.75,155,2.088,157,1.514,172,3.906,190,2.368,194,2,195,3.03,196,4.139,197,0.854,205,1.037,206,0.997,208,1.923,211,6.88,223,4.318,224,0.885,225,1.95,229,1.205,231,0.527,233,0.947,289,3.794,301,1.971,374,3.313,414,4.925,467,0.889,478,0.856,567,1.897,711,1.474,756,4.211,870,3.58,1087,1.41,1195,6.574,1199,7.026,1200,7.451,1201,7.451,1215,4.599,1224,3.659,1237,2.21,1372,2.686,1929,3.733,2164,3.034,2184,1.209,2393,2.924,2553,3.204,2643,3.475,2912,1.462,2915,6.129,2995,3.531,3056,1.47,3418,2.292,3426,3.007,3926,2.408,3972,3.373,5140,3.327,5234,4.057,5245,3.133,5406,4.012,6027,3.659,6178,3.007,6203,3.243,6574,5.021,6575,5.021,6576,4.903,6577,5.021,6578,4.277,6584,4.903,6585,5.021,6597,5.021,6600,3.592,6601,3.907,6617,2.9,6618,2.241,6620,2.345,6628,2.156,6630,2.345,6632,2.345,6634,2.345,6636,2.345,6642,2.345,7064,6.354,7245,1.971,7465,3.659,7572,1.823,9611,2.156,11686,6.199,11687,2.57,11688,4.012,11689,5.021,11690,2.482,11694,4.282,11695,4.282,11696,4.282,11697,2.57,11698,7.886,11699,2.57,11700,4.282,11701,4.282,11702,4.282,11703,2.408,11704,2.57,11705,3.907,11706,6.199,11707,6.42,11708,5.504,11709,5.504,11710,6.377,11711,4.134,11712,3.907,11713,4.282,11714,4.012,11715,4.282,11716,3.659,11717,4.282,11718,4.282,11719,4.134,11720,4.282,11721,4.282,11722,4.012,11723,4.282,11724,5.156,11725,3.475,11726,5.504,11727,5.504,11728,5.504,11729,5.504,11730,2.57,11731,5.504,11732,5.504,11733,5.504,11734,5.504,11735,2.57,11736,2.57,11737,2.57,11738,2.57,11739,2.57,11740,2.57,11741,2.57,11742,2.57,11743,2.57,11744,2.57,11745,2.57,11746,2.57,11747,2.57,11748,2.57,11749,2.57,11750,2.57,11751,2.57,11752,2.57,11753,2.57,11754,2.57,11755,2.57,11756,2.57,11757,2.57,11758,2.57,11759,2.57,11760,2.57,11761,2.57,11762,2.57,11763,2.57,11764,2.57,11765,2.57,11766,2.57,11767,2.57,11768,2.57,11769,2.57,11770,2.57,11771,2.57,11772,2.57,11773,2.57,11774,2.57,11775,2.57,11776,2.57,11777,2.57,11778,2.57,11779,2.57,11780,2.57,11781,2.57,11782,2.57,11783,2.57,11784,2.57,11785,2.57,11786,2.57,14307,3.055,14308,3.055,14309,3.055,14310,3.055,14311,3.055,14312,3.055,14313,3.055,14314,3.055,14315,3.055,14316,3.055,14317,3.055,14318,3.055,14319,3.055,14320,3.055,14321,3.055,14322,3.055,14323,3.055,14324,3.055,14325,3.055,14326,3.055,14327,3.055,14328,3.055,14329,3.055,14330,3.055,14331,3.055,14332,3.055]],["title/interfaces/InterceptorConfig.html",[159,0.712,7480,5.86]],["body/interfaces/InterceptorConfig.html",[3,0.02,4,0.02,5,0.009,7,0.147,30,0.001,32,0.154,55,2.873,101,0.013,103,0.001,104,0.001,112,0.977,159,1.076,161,2.507,311,6.706,7480,10.475,12097,10.802,12099,11.53,14333,10.523]],["title/modules/InterceptorModule.html",[252,1.839,7462,6.113]],["body/modules/InterceptorModule.html",[0,0.304,3,0.016,4,0.016,5,0.008,30,0.001,95,0.144,101,0.011,103,0.001,104,0.001,135,1.144,148,0.864,153,1.422,157,2.036,252,2.944,254,3.164,259,3.194,277,1.258,339,3.27,393,4.355,543,6.268,567,4.158,634,7.47,651,4.462,685,6.469,686,6.324,688,4.1,1213,7.107,1829,3.769,1939,4.674,2358,6.411,2553,7.023,3817,7.392,4338,9.18,5271,7.023,7462,9.788,7472,7.739,7473,10.749,7477,9.061,7480,7.4,9156,8.36,10027,6.751,10031,6.751,13305,6.324,14334,8.795,14335,9.061,14336,12.879,14337,10.749,14338,8.146,14339,8.795]],["title/interfaces/IntrospectResponse.html",[159,0.712,14340,6.113]],["body/interfaces/IntrospectResponse.html",[3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,32,0.176,33,0.671,47,1.081,51,5.919,55,2.791,101,0.01,103,0,104,0,112,0.809,122,2.395,159,0.796,161,1.855,162,5.404,185,3.957,1495,8.842,4917,7.935,6288,4.999,7187,8.842,8023,9.694,8025,9.694,8047,9.694,8049,9.694,14340,9.047,14341,7.788,14342,11.39,14343,12.297,14344,12.297,14345,12.297,14346,12.297]],["title/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.241,14347,6.113]],["body/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.292,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.242,27,0.424,29,0.645,30,0.001,31,0.474,32,0.134,33,0.386,35,0.968,47,0.987,72,3.877,95,0.121,101,0.011,103,0.001,104,0.001,125,2.862,148,0.83,153,1.365,193,3.683,228,1.951,231,1.875,233,2.617,277,1.207,339,2.476,400,2.476,433,1.037,652,1.717,1027,2.584,1115,3.213,1237,3.147,1422,4.81,1423,5.601,1426,5.634,1462,4.552,1465,5.859,1468,5.601,1469,5.881,1477,4.311,1478,4.487,1883,3.169,2138,6.341,2161,7.964,2163,10.491,2834,5.596,2930,6.329,2932,7.411,2953,6.969,8831,6.481,10119,6.193,12603,5.96,14347,9.537,14348,12.015,14349,9.223,14350,12.015,14351,8.443,14352,8.443,14353,8.443,14354,8.443]],["title/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.241,14355,6.113]],["body/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.243,26,2.771,27,0.424,29,0.646,30,0.001,31,0.475,32,0.135,33,0.387,35,0.97,39,3.338,52,5.52,95,0.134,99,1.705,101,0.011,103,0.001,104,0.001,148,0.832,180,5.762,228,1.954,231,1.877,233,2.623,242,4.466,277,1.21,290,2.853,339,2.481,400,2.481,433,1.039,652,1.721,1027,2.589,1115,3.22,1237,3.152,1422,4.814,1423,5.607,1426,5.638,1434,5.46,1462,4.562,1468,5.607,1469,5.887,1477,4.32,1478,4.497,3011,3.866,3430,3.674,4970,5.523,6435,7.404,10416,5.608,12506,6.206,14355,9.55,14356,12.027,14357,11.14,14358,9.312,14359,6.495,14360,8.461,14361,7.119,14362,7.426]],["title/classes/IservMapper.html",[0,0.241,14363,6.113]],["body/classes/IservMapper.html",[0,0.299,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.842,30,0.001,31,0.682,32,0.136,33,0.504,35,1.265,95,0.135,100,3.014,101,0.011,103,0.001,104,0.001,148,1.084,153,1.784,467,3.935,595,3.278,700,4.183,701,4.183,702,4.28,704,5.631,1853,2.836,2071,7.562,3436,4.441,5056,7.114,8114,7.181,10105,9.387,10107,5.651,11257,9.387,13947,8.737,14363,9.681,14364,12.148,14365,8.643,14366,10.217,14367,10.217,14368,11.03,14369,8.643,14370,7.022,14371,11.03,14372,8.643,14373,8.643,14374,8.643,14375,8.006,14376,8.643,14377,8.643,14378,8.643,14379,8.006]],["title/injectables/IservProvisioningStrategy.html",[589,0.926,14380,5.86]],["body/injectables/IservProvisioningStrategy.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.082,8,0.968,27,0.45,29,0.831,30,0.001,31,0.612,32,0.135,33,0.497,35,1.249,36,2.543,47,0.912,95,0.15,100,2.046,101,0.008,103,0,104,0,125,2.594,135,1.709,142,3.067,145,2.202,148,1.135,153,1.608,173,5.615,195,1.289,228,1.521,231,1.462,233,1.818,277,0.839,290,2.583,317,2.603,339,1.72,400,1.72,433,0.721,436,2.937,478,1.643,579,2.418,589,1.126,591,1.391,595,2.224,652,1.193,657,2.49,702,4.195,703,1.8,1476,5.106,1548,4.397,1585,3.572,1610,4.303,1719,6.213,1853,1.924,2065,5.148,2066,7.217,2068,5.878,2070,3.163,2071,5.006,2358,3.372,3430,2.547,3900,3.096,4588,2.009,5056,5.527,5271,5.334,5449,7.478,7003,4.141,8114,4.601,8120,5.783,10098,4.005,10105,6.213,11257,6.213,12786,8.583,13827,4.935,13870,5.148,13872,7.846,13947,5.783,14363,5.148,14380,7.127,14381,5.866,14382,7.181,14383,8.471,14384,6.677,14385,5.866,14386,6.882,14387,8.653,14388,5.866,14389,8.471,14390,5.866,14391,6.882,14392,8.162,14393,5.866,14394,5.866,14395,6.189,14396,3.693,14397,3.693,14398,5.433,14399,6.502,14400,5.148,14401,5.866,14402,5.866,14403,5.866,14404,5.433,14405,8.471,14406,5.866,14407,8.471,14408,5.866,14409,5.433,14410,5.866,14411,5.866,14412,5.866,14413,5.866,14414,5.866,14415,5.866,14416,6.882,14417,5.866,14418,7.127,14419,5.866,14420,7.127,14421,5.148,14422,5.433,14423,5.866,14424,5.866,14425,5.866,14426,5.866,14427,5.866,14428,5.866,14429,5.148]],["title/interfaces/JsonAccount.html",[159,0.712,14430,6.113]],["body/interfaces/JsonAccount.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.177,33,0.535,39,3.675,47,1.061,48,6.204,51,6.372,87,6.676,101,0.012,103,0.001,104,0.001,112,0.918,159,0.972,161,2.263,172,5.65,789,7.246,4887,5.563,4888,5.915,14430,10.273,14431,8.802,14432,9.502,14433,10.842]],["title/interfaces/JsonUser.html",[159,0.712,14434,6.113]],["body/interfaces/JsonUser.html",[3,0.018,4,0.018,5,0.009,7,0.138,30,0.001,32,0.173,47,1.062,101,0.013,103,0.001,104,0.001,112,0.94,159,1.01,161,2.353,172,5.115,700,6.493,701,6.493,702,6.644,789,7.343,4887,5.782,4888,6.148,14431,9.148,14433,9.148,14434,10.519,14435,9.876]],["title/injectables/JwtAuthGuard.html",[589,0.926,14436,6.113]],["body/injectables/JwtAuthGuard.html",[0,0.371,3,0.02,4,0.02,5,0.01,30,0.001,95,0.14,101,0.014,103,0.001,104,0.001,231,2.172,277,1.533,589,1.673,591,2.543,1545,7.567,9207,9.02,14436,11.046,14437,10.72,14438,10.72,14439,12.586]],["title/interfaces/JwtConstants.html",[159,0.712,1549,5.86]],["body/interfaces/JwtConstants.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.161,39,2.518,47,1.041,85,7.648,95,0.101,101,0.015,103,0.001,104,0.001,112,0.892,135,1.48,159,0.928,161,2.161,172,4.854,195,1.994,617,9.982,1546,7.152,1549,10.959,1589,6.965,1591,8.404,1593,5.585,1595,7.371,1598,7.927,1730,6.801,1829,3.889,1885,5.585,2530,6.405,3102,5.469,7187,6.524,8023,7.152,8025,7.152,8047,7.152,8049,7.152,14440,9.073,14441,13.415,14442,11.374,14443,9.073,14444,9.073,14445,7.371,14446,7.634,14447,7.634,14448,9.073,14449,9.073,14450,9.073,14451,8.404,14452,9.073,14453,9.073]],["title/classes/JwtExtractor.html",[0,0.241,14454,6.113]],["body/classes/JwtExtractor.html",[0,0.306,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.344,29,0.674,30,0.001,31,0.628,32,0.109,33,0.404,35,1.013,47,0.948,95,0.137,101,0.011,103,0.001,104,0.001,135,1.149,142,4.049,148,1.099,176,6.226,193,5.352,371,5.944,467,3.572,571,4.427,1086,5.324,1087,5.161,1088,5.241,1089,6.113,1090,6.666,1091,8.134,1092,7.52,1103,6.781,1585,5.38,7642,5.324,13599,9.41,13672,9.41,14454,9.816,14455,10.359,14456,8.833,14457,11.184,14458,11.184,14459,8.833,14460,12.272,14461,6.781,14462,8.833,14463,11.184]],["title/interfaces/JwtPayload.html",[159,0.712,1719,5.109]],["body/interfaces/JwtPayload.html",[3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.166,39,2.999,47,1.068,48,3.924,55,2.716,85,5.63,101,0.014,103,0.001,104,0.001,112,0.848,122,2.241,159,1.105,161,1.994,180,3.589,231,1.865,290,1.986,413,5.099,561,3.771,812,5.336,1589,8.296,1593,6.653,1699,9.434,1719,7.927,1730,9.479,1829,5.42,1926,5.099,2530,7.629,3436,4.302,4588,2.868,4953,5.55,5805,5.474,7187,9.093,8023,9.969,8025,9.969,8047,9.969,8049,9.969,8055,7.755,8056,7.755,8057,7.045,8058,7.349,8059,7.755,8060,7.349,8061,9.485]],["title/injectables/JwtStrategy.html",[589,0.926,1527,6.113]],["body/injectables/JwtStrategy.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.399,29,0.781,30,0.001,31,0.575,32,0.127,33,0.467,35,0.883,36,2.162,85,5.177,95,0.153,101,0.01,103,0,104,0,135,1.331,148,0.757,153,1.245,159,0.787,197,2.152,228,1.383,231,1.765,233,2.387,277,1.101,290,1.826,317,2.485,325,3.812,331,3.419,349,5.19,400,2.257,433,0.946,525,4.035,579,2.198,589,1.36,591,1.826,629,4.063,657,1.761,675,3.931,985,6.663,1080,2.669,1213,6.519,1328,4.092,1329,6.23,1527,8.978,1528,10.642,1545,5.435,1549,6.478,1550,6.757,1554,6.757,1585,7.455,1599,7.131,1719,8.979,1722,6.478,1723,6.547,1730,7.667,1829,3.3,1984,5.177,2106,6.069,3109,5.435,4917,4.968,5004,4.968,5278,4.848,6179,6.255,8102,5.771,12733,6.757,14454,6.757,14461,5.91,14464,7.699,14465,8.31,14466,7.699,14467,7.699,14468,10.229,14469,7.699,14470,6.255,14471,7.699,14472,6.255,14473,7.699,14474,7.699,14475,7.699,14476,7.699,14477,7.699,14478,7.699,14479,7.699,14480,7.699,14481,7.699,14482,7.699,14483,7.699,14484,7.699]],["title/classes/JwtTestFactory.html",[0,0.241,8038,6.113]],["body/classes/JwtTestFactory.html",[0,0.27,2,0.824,3,0.014,4,0.014,5,0.007,7,0.109,8,1.179,27,0.402,29,0.596,30,0.001,31,0.438,32,0.143,33,0.357,35,1.184,47,1.037,59,2.425,85,7.777,95,0.115,101,0.01,103,0,104,0,135,1.601,148,1.014,159,0.798,326,2.97,403,5.27,467,3.828,711,2.99,1546,6.151,1548,5.849,1573,6.566,1585,4.752,1589,5.99,1593,4.804,1718,7.571,1730,7.736,7187,7.422,8021,10.801,8022,7.228,8023,8.136,8024,8.684,8025,8.136,8026,10.712,8027,10.769,8028,9.56,8029,7.228,8030,7.228,8031,7.228,8032,7.228,8033,9.059,8034,7.228,8035,9.56,8036,9.56,8037,7.228,8038,9.059,8039,10.801,8040,9.56,8041,9.56,8042,7.228,8043,7.228,8044,7.228,8045,7.228,8046,7.228,8047,6.151,8048,8.684,8049,6.151,8050,6.849,8051,7.228,8052,7.228,8053,7.228,8054,7.228,14485,10.321,14486,7.804,14487,7.804]],["title/injectables/JwtValidationAdapter.html",[589,0.926,1528,5.658]],["body/injectables/JwtValidationAdapter.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.089,8,1.029,27,0.441,29,0.864,30,0.001,31,0.636,32,0.14,33,0.517,34,1.935,35,1.195,36,2.616,47,1.044,85,8.024,94,4.567,95,0.138,101,0.008,103,0,104,0,135,1.171,157,1.479,194,3.537,197,1.785,228,1.617,277,0.914,317,2.857,388,3.858,433,1.106,531,5.932,571,3.563,589,1.197,591,1.515,652,1.831,657,2.384,688,2.978,985,5.222,1086,4.286,1087,4.155,1088,4.219,1089,4.484,1090,4.89,1091,5.967,1226,7.901,1507,4.788,1528,7.314,1536,5.607,1585,7.91,1730,10.322,1749,5.131,1831,5.967,1885,3.932,1987,7.314,2553,7.127,2915,5.426,3418,4.055,4214,7.097,4254,10.703,4258,5.607,4261,4.788,4263,5.607,4271,5.607,4272,9.406,4273,7.097,8061,7.901,12733,7.901,13969,7.574,14455,11.052,14488,6.388,14489,9.002,14490,9.002,14491,9.002,14492,6.388,14493,6.388,14494,9.002,14495,9.002,14496,6.388,14497,9.002,14498,6.388,14499,9.002,14500,9.002,14501,9.002,14502,6.388,14503,6.388,14504,6.388,14505,6.388,14506,6.388,14507,9.002,14508,6.388,14509,6.388,14510,6.388,14511,9.002,14512,9.002,14513,6.388,14514,6.388,14515,6.388]],["title/classes/KeycloakAdministration.html",[0,0.241,14516,6.451]],["body/classes/KeycloakAdministration.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,27,0.341,30,0.001,47,1.055,51,5.353,87,6.483,95,0.124,101,0.011,103,0.001,104,0.001,112,0.872,122,2.306,129,3.293,130,2.37,311,5.58,467,3.558,2219,3.925,2220,4.415,2221,4.262,2333,6.233,2384,7.368,4259,5.126,4887,6.511,4888,6.923,6369,6.483,9033,8.336,13703,7.271,13759,11.168,13761,9.358,13762,10.284,13889,9.035,14516,10.301,14517,9.358,14518,11.122,14519,11.122,14520,11.122,14521,11.122,14522,11.122,14523,11.122,14524,8.756,14525,6.903]],["title/modules/KeycloakAdministrationModule.html",[252,1.839,13884,5.658]],["body/modules/KeycloakAdministrationModule.html",[0,0.315,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.283,254,3.271,255,3.473,256,3.56,257,3.547,258,3.535,259,4.517,260,4.622,269,4.459,270,3.497,271,3.425,274,3.785,277,1.3,618,5.868,685,5.275,1267,6.419,2088,3.898,2384,7.651,2831,4.559,4887,5.323,4888,5.66,12490,7.011,13762,9.583,13884,11.29,13889,7.388,14525,7.168,14526,9.094,14527,9.094,14528,9.094,14529,10.581,14530,9.094,14531,10.55,14532,6.816,14533,8.423,14534,8.423,14535,7.651,14536,7.651,14537,6.98,14538,9.094]],["title/injectables/KeycloakAdministrationService.html",[589,0.926,14529,5.109]],["body/injectables/KeycloakAdministrationService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.112,8,0.917,27,0.516,29,0.416,30,0.001,31,0.306,32,0.099,33,0.249,34,0.931,35,1.456,36,2.478,47,0.861,55,1.103,95,0.106,101,0.007,103,0,104,0,112,0.629,129,2.376,130,2.171,135,1.458,145,3.576,148,1.223,153,1.297,195,1.196,197,1.522,228,1.441,277,0.779,317,2.943,433,0.986,467,2.773,569,2.493,589,1.066,591,1.291,629,2.873,652,2.664,657,2.845,688,2.538,711,4.128,1328,2.893,1329,3.316,1741,7.431,1743,5.768,2219,2.441,2333,3.051,2384,4.581,2831,3.211,4887,7.836,4888,8.332,6369,2.745,8318,3.281,12490,4.938,13759,8.844,13761,4.581,13762,4.581,14525,4.292,14529,5.884,14531,9.736,14532,4.081,14533,5.043,14534,5.043,14539,10.275,14540,5.444,14541,9.526,14542,9.526,14543,10.511,14544,10.511,14545,10.511,14546,10.511,14547,10.511,14548,10.511,14549,10.511,14550,10.511,14551,10.511,14552,5.043,14553,9.526,14554,8.022,14555,7.431,14556,5.444,14557,5.444,14558,5.444,14559,5.444,14560,5.444,14561,5.444,14562,5.444,14563,5.444,14564,5.444,14565,8.022,14566,5.444,14567,5.444,14568,5.444,14569,5.444,14570,5.444,14571,5.444,14572,5.444,14573,8.022,14574,5.444,14575,5.444,14576,5.444,14577,8.022,14578,6.517,14579,8.022,14580,9.526,14581,5.043,14582,5.043,14583,5.444,14584,5.444,14585,5.043,14586,4.778,14587,5.444,14588,5.444,14589,5.444,14590,9.526,14591,8.022,14592,5.444]],["title/classes/KeycloakConfiguration.html",[0,0.241,14535,5.86]],["body/classes/KeycloakConfiguration.html",[0,0.343,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,95,0.11,101,0.013,103,0.001,104,0.001,112,0.942,129,3.554,130,2.679,311,6.309,467,3.76,2219,4.438,2358,5.692,4887,7.026,4888,7.471,13752,10.868,13755,11.117,13756,11.117,14525,7.805,14535,10.099,14593,10.534,14594,12.917,14595,12.003,14596,12.003,14597,8.69,14598,8.69]],["title/modules/KeycloakConfigurationModule.html",[252,1.839,14599,6.113]],["body/modules/KeycloakConfigurationModule.html",[0,0.235,3,0.013,4,0.013,5,0.006,30,0.001,95,0.158,101,0.009,103,0,104,0,252,2.845,254,2.446,255,2.596,256,2.662,257,2.652,258,2.643,259,3.915,260,4.005,264,9.079,265,5.856,269,3.681,270,2.615,271,2.561,274,3.914,276,3.681,277,0.972,618,6.068,685,3.944,1027,2.081,1267,4.8,1525,9.079,1537,4.987,1540,4.718,2088,2.914,2219,3.048,2358,3.909,3811,4.507,3887,9.692,4887,3.98,4888,4.232,4893,9.464,4894,5.36,4895,5.36,4907,10.399,5206,4.8,9906,9.464,13757,8.253,13884,10.258,13889,5.524,13890,5.968,14525,5.36,14535,5.721,14536,9.069,14593,5.968,14598,5.968,14599,12.741,14600,6.799,14601,6.799,14602,6.799,14603,6.799,14604,11.619,14605,11.099,14606,10.623,14607,6.799,14608,9.46,14609,6.799,14610,6.799,14611,7.911,14612,6.298,14613,6.298,14614,6.298,14615,6.298,14616,6.799,14617,6.799,14618,5.968,14619,6.799]],["title/injectables/KeycloakConfigurationService.html",[589,0.926,14604,5.86]],["body/injectables/KeycloakConfigurationService.html",[0,0.092,3,0.005,4,0.005,5,0.002,7,0.037,8,0.518,10,1.82,27,0.444,29,0.763,30,0.001,31,0.599,32,0.124,33,0.456,34,1.869,35,1.306,36,2.407,47,0.906,59,0.827,74,2.042,95,0.125,101,0.003,103,0,104,0,135,1.752,141,1.941,145,0.999,148,0.77,157,0.616,180,1.14,195,1.873,197,2.189,219,1.467,228,1.254,230,1.763,277,0.38,290,1.403,317,2.848,335,3.046,360,2.604,388,1.941,413,1.62,414,3.973,433,0.556,571,3.791,589,0.602,591,0.631,614,0.825,618,3.817,634,5.275,641,4.463,649,1.675,650,2.161,651,1.35,652,2.689,657,3.132,675,3.565,711,2.894,734,2.493,756,2.359,886,0.842,1086,4.56,1087,4.42,1088,4.488,1197,4.629,1268,1.637,1278,2.335,1926,2.758,2010,1.763,2088,3.653,2343,1.913,2370,1.491,2473,1.656,2531,2.442,2848,6.362,2915,2.73,2922,1.913,2938,4.502,3237,2.627,3242,2.479,3430,1.967,4401,1.717,4887,6.782,4888,7.212,5049,2.161,5074,1.358,6369,2.284,7064,4.434,7187,3.257,8024,4.977,8076,2.097,8320,3.322,8323,1.994,8969,2.464,9162,4.195,10189,2.464,10599,2.042,12490,5.246,13711,2.788,13761,8.705,13934,5.479,14529,5.122,14532,6.388,14537,2.042,14539,2.042,14578,8.405,14581,2.464,14582,2.464,14585,2.464,14586,2.335,14604,3.811,14611,7.652,14612,2.464,14613,2.464,14620,10.168,14621,4.529,14622,6.983,14623,6.983,14624,6.983,14625,6.983,14626,4.529,14627,4.529,14628,4.529,14629,6.983,14630,4.529,14631,4.529,14632,4.529,14633,4.529,14634,2.238,14635,7.652,14636,2.66,14637,3.811,14638,4.529,14639,2.66,14640,9.577,14641,2.66,14642,2.66,14643,2.66,14644,2.66,14645,4.529,14646,8.617,14647,2.66,14648,5.021,14649,4.529,14650,2.66,14651,9.095,14652,4.529,14653,2.66,14654,6.446,14655,2.66,14656,5.915,14657,4.529,14658,2.66,14659,5.915,14660,4.529,14661,8.522,14662,6.468,14663,2.66,14664,4.529,14665,5.915,14666,4.529,14667,2.66,14668,4.529,14669,2.66,14670,2.66,14671,2.66,14672,2.66,14673,2.66,14674,4.529,14675,2.66,14676,2.66,14677,2.464,14678,2.66,14679,2.335,14680,2.66,14681,2.464,14682,4.529,14683,9.871,14684,2.335,14685,3.975,14686,6.468,14687,5.915,14688,4.805,14689,5.915,14690,9.08,14691,4.529,14692,4.977,14693,4.529,14694,7.832,14695,4.529,14696,7.832,14697,2.66,14698,8.522,14699,2.66,14700,2.66,14701,2.66,14702,4.529,14703,4.529,14704,4.529,14705,4.529,14706,2.66,14707,4.529,14708,2.464,14709,2.335,14710,2.66,14711,2.66,14712,5.191,14713,4.529,14714,2.66,14715,2.335,14716,2.464,14717,4.195,14718,2.464,14719,2.66,14720,2.66,14721,4.529,14722,4.529,14723,4.529,14724,3.477,14725,2.66,14726,2.66,14727,2.66,14728,2.66,14729,2.66,14730,2.66,14731,4.529,14732,2.66,14733,5.915,14734,5.915,14735,2.66,14736,5.915,14737,2.66,14738,5.915,14739,2.66,14740,2.66,14741,4.529,14742,2.66,14743,4.529,14744,4.529,14745,4.529,14746,6.983,14747,2.66,14748,2.66,14749,4.529,14750,2.66,14751,4.195,14752,2.66,14753,2.66,14754,5.915,14755,4.529,14756,5.915,14757,4.529,14758,2.66,14759,2.66,14760,4.529,14761,2.66,14762,4.529,14763,2.66,14764,2.66,14765,1.994,14766,2.66,14767,2.66,14768,2.66,14769,2.66,14770,4.529,14771,4.529,14772,2.66,14773,2.66,14774,4.529,14775,2.66,14776,2.464,14777,2.66,14778,2.464,14779,4.529,14780,2.66,14781,2.66,14782,2.66,14783,2.66,14784,2.66,14785,2.66,14786,2.66,14787,2.66]],["title/injectables/KeycloakConfigurationUc.html",[589,0.926,4893,5.221]],["body/injectables/KeycloakConfigurationUc.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.095,8,1.074,27,0.492,29,0.823,30,0.001,31,0.605,32,0.133,33,0.492,35,1.4,36,2.865,55,2.558,59,3.35,70,3.45,95,0.136,101,0.009,103,0,104,0,122,2.235,148,1.2,228,2.088,277,0.972,317,3.045,433,1.155,589,1.25,591,1.613,618,4.388,652,2.365,657,2.659,711,4,985,6.746,4887,7.577,4888,8.056,4891,5.36,4893,7.048,4903,8.927,4926,6.638,4939,8.209,4945,8.53,4952,6.897,10250,6.298,14529,8.53,14536,9.069,14537,5.219,14539,5.219,14604,9.785,14605,10.89,14606,10.89,14614,6.298,14615,6.298,14618,5.968,14634,5.721,14637,7.911,14788,12.943,14789,10.779,14790,6.799,14791,6.799,14792,8.709,14793,6.799,14794,6.799,14795,9.403,14796,6.799,14797,6.799,14798,6.799,14799,6.799,14800,6.799,14801,6.799,14802,6.799,14803,6.799,14804,6.799,14805,6.799,14806,6.799]],["title/classes/KeycloakConsole.html",[0,0.241,4907,5.49]],["body/classes/KeycloakConsole.html",[0,0.12,2,0.367,3,0.006,4,0.006,5,0.003,7,0.048,8,0.647,10,1.396,27,0.432,29,0.817,30,0.001,31,0.577,32,0.127,33,0.469,35,1.178,36,2.555,47,0.606,52,3.632,53,4.151,55,2.408,70,3.632,72,3.79,78,9.017,95,0.092,101,0.004,103,0,104,0,112,0.444,122,0.72,125,2.32,129,3.279,130,1.531,135,1.182,145,2.124,148,0.704,153,0.915,157,2.969,159,0.732,171,2.337,190,1.629,194,4.036,197,3.182,228,1.286,230,4.745,259,2.055,290,1.342,317,2.857,365,1.543,388,3.069,413,2.116,433,0.695,467,2.084,527,1.477,532,1.274,540,4.125,569,1.08,579,0.992,612,3.806,618,5.863,644,2.116,648,2.188,652,2.178,657,2.532,745,5.148,756,3.291,758,6.651,892,2.667,981,3.447,985,5.651,1027,1.063,1080,1.205,1372,1.834,1619,5.997,1626,4.625,1751,4.461,1900,2.272,1928,4.877,1939,3.008,2219,2.537,2235,4.461,2447,2.992,2448,3.868,2531,3.051,2858,8.729,2864,2.823,2938,7.305,3108,5.396,3418,5.353,3803,5.396,3808,6.975,3811,2.303,3812,8.545,3813,5.997,3814,2.034,4886,4.598,4887,6.664,4888,7.086,4889,9.578,4890,2.924,4891,2.739,4892,6.024,4893,7.699,4894,2.739,4895,2.739,4896,4.762,4897,2.924,4898,2.924,4899,8.996,4900,2.924,4901,2.924,4902,4.598,4903,4.344,4904,2.924,4905,2.242,4906,2.667,4907,4.461,4908,2.924,4909,6.024,4910,7.534,4911,4.762,4912,9.578,4913,4.151,4914,4.762,4915,7.884,4916,4.762,4917,3.652,4918,4.242,4919,6.651,4920,4.069,4921,5.55,4922,4.242,4923,2.924,4924,2.924,4925,4.762,4926,6.414,4927,6.944,4928,2.924,4929,2.924,4930,2.605,4931,4.762,4932,6.944,4933,2.924,4934,2.924,4935,2.924,4936,6.944,4937,6.944,4938,4.461,4939,7.25,4940,4.762,4941,2.924,4942,2.924,4943,4.151,4944,4.598,4945,6.665,4946,4.461,4947,4.762,4948,2.924,4949,2.924,4950,2.924,4951,4.762,4952,6.665,4953,2.303,4954,2.739,4955,2.373,4956,2.667,4957,4.762,4958,2.924,4959,2.924,4960,2.924,4961,2.924,4962,2.924,4963,2.924,4964,4.762,4965,2.924,4966,2.924,4967,2.739,4968,4.598,14807,5.659,14808,3.475,14809,3.475,14810,3.475,14811,3.475,14812,3.475,14813,3.475,14814,3.475,14815,3.475,14816,3.475,14817,3.475,14818,3.475,14819,3.475]],["title/injectables/KeycloakIdentityManagementOauthService.html",[589,0.926,13892,5.86]],["body/injectables/KeycloakIdentityManagementOauthService.html",[0,0.196,3,0.011,4,0.011,5,0.005,7,0.079,8,0.944,27,0.463,29,0.631,30,0.001,31,0.464,32,0.133,33,0.377,35,1.229,36,2.513,47,0.971,51,3.976,87,5.743,95,0.143,101,0.007,103,0,104,0,110,1.97,112,0.648,125,2.552,135,1.597,148,1.169,153,0.916,195,1.245,228,1.924,231,1.425,233,1.757,277,0.81,317,2.776,339,2.422,433,1.015,436,2.88,569,2.568,589,1.098,591,1.344,618,3.657,629,2.991,634,7.121,641,3.23,648,7.172,651,2.875,652,2.497,657,2.23,688,2.642,702,2.806,871,3.04,998,2.684,1053,8.382,1054,3.202,1055,6.342,1056,3.657,1169,3.287,1278,4.974,1328,3.012,1329,3.451,1470,3.176,1495,4.075,1496,4.604,1497,4.974,1593,3.489,2393,2.172,2838,4.768,3108,7.447,3242,3.102,4887,6.272,5074,2.893,5203,4.248,5204,7.859,5206,4,5225,4.604,6288,2.304,6369,4.916,8318,4.98,8320,4.157,10475,3.756,13631,8.557,13650,6.951,13700,3.811,13703,3.705,13704,4.768,13705,3.811,13708,3.811,13711,5.086,13715,6.462,13886,9.373,13888,4.974,13892,6.951,13895,5.249,13896,9.924,13897,9.924,13898,7.652,13901,7.652,13903,8.031,13904,5.249,14529,7.859,14537,4.35,14539,4.35,14717,7.652,14718,5.249,14820,9.403,14821,9.749,14822,10.714,14823,5.667,14824,8.262,14825,8.262,14826,5.667,14827,5.667,14828,5.667,14829,5.667,14830,11.891,14831,5.667,14832,5.667,14833,5.667,14834,5.667,14835,5.667,14836,5.667,14837,5.667,14838,5.667,14839,5.667,14840,5.667,14841,5.667,14842,5.667,14843,5.667,14844,5.667,14845,5.667,14846,5.667,14847,5.667,14848,5.667,14849,5.249,14850,5.249,14851,5.249,14852,5.667,14853,5.667]],["title/injectables/KeycloakIdentityManagementService.html",[589,0.926,13894,5.86]],["body/injectables/KeycloakIdentityManagementService.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.047,8,0.633,27,0.475,29,0.943,30,0.001,31,0.674,32,0.155,33,0.548,34,2.233,35,1.377,36,2.778,39,3.044,47,1.035,51,4.631,59,1.721,87,5.827,94,4.122,95,0.113,98,2.04,99,0.682,101,0.004,103,0,104,0,125,0.806,130,2.603,135,1.627,142,2.005,145,2.079,148,1.198,153,1.714,158,1.249,195,1.217,197,1.548,228,0.608,230,5.385,231,0.956,233,1.049,277,0.484,290,2.282,317,2.98,318,4.861,319,4.861,346,2.482,347,4.604,357,4.251,393,1.676,400,0.992,413,2.061,433,0.416,436,3.414,484,3.982,540,2.332,578,1.774,579,3.026,589,0.736,591,0.803,593,8.251,595,1.283,600,2.97,602,3.135,603,2.97,604,2.97,618,2.184,629,1.786,633,9.902,652,1.957,657,3.071,700,3.402,701,3.402,702,3.481,711,1.604,756,2.209,863,3.055,1268,3.409,1328,1.799,1329,3.373,2345,3.373,3108,5.858,3469,2.276,3470,2.213,3848,2.749,4289,2.749,4887,4.756,8906,2.847,8907,2.749,12490,2.083,13217,2.537,13894,4.66,13905,5.13,13906,5.13,13907,5.13,13908,5.13,13909,7.525,13910,6.511,13911,6.511,13912,5.13,13913,5.13,13914,5.13,13915,7.525,13920,5.13,13922,5.13,13923,5.13,13924,5.13,13926,5.13,13927,7.525,13930,3.135,13931,9.407,13933,8.912,13935,3.135,13936,8.3,13942,2.668,14529,5.959,14532,2.537,14537,2.598,14539,2.598,14552,3.135,14555,5.13,14578,6.6,14820,7.13,14854,5.538,14855,5.538,14856,3.384,14857,3.384,14858,5.538,14859,3.384,14860,5.538,14861,7.864,14862,3.384,14863,5.538,14864,3.384,14865,3.384,14866,3.384,14867,5.538,14868,3.384,14869,3.384,14870,3.384,14871,3.384,14872,3.384,14873,5.538,14874,3.384,14875,5.538,14876,3.384,14877,2.97,14878,10.598,14879,3.384,14880,5.538,14881,5.538,14882,5.538,14883,2.97,14884,2.97,14885,2.97,14886,3.384,14887,5.538,14888,5.538,14889,3.384,14890,3.384,14891,3.384,14892,5.538,14893,3.384,14894,7.03,14895,3.384,14896,7.03,14897,5.538,14898,5.538,14899,3.384,14900,8.124,14901,5.13,14902,5.538,14903,3.384,14904,3.384,14905,2.97,14906,3.384,14907,3.384,14908,3.384,14909,3.384,14910,3.384,14911,3.384,14912,3.384,14913,3.384,14914,3.384,14915,5.538,14916,5.538,14917,7.03,14918,7.03,14919,3.384,14920,2.97,14921,5.13,14922,3.135,14923,3.384,14924,3.384,14925,3.384,14926,3.384,14927,3.384,14928,3.384,14929,3.384,14930,3.384,14931,3.384,14932,3.384]],["title/controllers/KeycloakManagementController.html",[314,2.65,14608,6.113]],["body/controllers/KeycloakManagementController.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,8,1.215,27,0.318,30,0.001,35,1.22,36,2.248,55,2.155,72,4.884,78,8.075,95,0.132,101,0.01,103,0.001,104,0.001,148,1.045,153,1.321,190,1.464,228,1.91,259,3.863,274,3.4,277,1.168,314,3.109,316,3.931,317,2.558,400,2.395,579,2.332,629,4.311,652,1.661,657,2.704,756,3.258,981,6.477,1027,2.5,1328,4.341,1329,4.975,2010,7.05,2389,6.636,2447,3.414,2448,4.984,2836,7.05,3108,6.954,3242,4.471,3418,5.642,4887,6.226,4888,6.62,4893,7.972,4894,6.439,4895,6.439,4938,9.875,14608,9.335,14933,10.636,14934,7.566,14935,8.169,14936,12.527,14937,10.636,14938,8.169,14939,10.636,14940,10.636,14941,8.641,14942,8.641,14943,10.636,14944,9.851,14945,10.636,14946,11.826,14947,8.169,14948,8.169,14949,8.169,14950,8.169,14951,8.169,14952,8.169,14953,8.169,14954,8.169]],["title/injectables/KeycloakMigrationService.html",[589,0.926,14606,5.86]],["body/injectables/KeycloakMigrationService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.081,8,0.961,27,0.385,29,0.755,30,0.001,31,0.555,32,0.134,33,0.452,34,1.438,35,0.964,36,2.29,51,4.758,55,1.704,66,7.52,70,5.015,87,2.928,94,5.498,95,0.134,101,0.007,103,0,104,0,129,1.719,130,2.275,135,1.648,145,4.317,148,0.972,153,0.939,195,1.848,197,2.35,228,1.775,230,7.183,277,0.83,317,2.594,433,1.033,480,7.251,484,7.108,489,4.885,492,10.038,571,3.328,579,1.658,589,1.118,591,1.377,618,3.747,629,3.064,644,3.536,652,2.439,657,2.897,666,9.494,745,4.175,756,3.942,758,3.964,838,4.885,873,5.359,876,4.378,923,4.885,938,4.717,1027,1.777,1086,4.003,1087,3.881,1088,3.94,1268,3.574,1328,3.086,1329,5.121,1546,4.577,1712,4.457,2334,4.717,2447,4.132,2448,5.078,2848,6.831,3237,3.368,4289,4.717,4887,6.344,4888,6.746,4903,8.829,4952,6.168,9033,4.352,9216,3.849,9970,4.259,12490,3.574,13942,4.577,14529,7.949,14532,4.352,14537,4.457,14539,4.457,14578,4.717,14606,7.075,14620,9.511,14634,4.885,14637,7.075,14690,5.096,14861,7.38,14877,5.096,14883,5.096,14884,5.096,14885,5.096,14905,5.096,14920,5.096,14955,4.885,14956,7.788,14957,5.806,14958,7.788,14959,5.806,14960,8.409,14961,5.378,14962,5.096,14963,5.806,14964,9.885,14965,5.806,14966,5.806,14967,8.409,14968,5.378,14969,5.806,14970,5.806,14971,5.806,14972,7.788,14973,5.378,14974,7.788,14975,5.378,14976,5.378,14977,5.378,14978,7.788,14979,7.788,14980,9.885,14981,5.806,14982,5.378,14983,5.806,14984,5.806,14985,5.806]],["title/modules/KeycloakModule.html",[252,1.839,13885,5.86]],["body/modules/KeycloakModule.html",[0,0.287,3,0.015,4,0.015,5,0.007,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.147,254,2.987,255,3.171,256,3.251,257,3.239,258,3.228,259,4.329,260,4.429,265,6.204,269,4.208,270,3.193,271,3.128,276,4.208,277,1.187,618,5.358,648,5.229,1027,2.541,1054,4.692,3108,7.028,3904,7.028,4887,4.861,5206,5.862,8906,6.987,9906,10.026,13884,10.867,13885,12.185,13888,7.288,13889,6.746,13890,7.288,13892,11.987,13894,11.987,14536,9.045,14986,8.304,14987,8.304,14988,8.304,14989,8.304,14990,8.304]],["title/classes/KeycloakSeedService.html",[0,0.241,14605,5.86]],["body/classes/KeycloakSeedService.html",[0,0.165,2,0.503,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,10,1.915,27,0.435,29,0.671,30,0.001,31,0.494,32,0.122,33,0.402,34,1.242,35,1.214,36,2.64,51,4.233,55,1.471,87,2.403,94,4.462,95,0.133,101,0.006,103,0,104,0,129,1.411,130,1.965,135,1.676,145,3.974,148,1.14,195,2.161,197,1.332,219,2.629,228,1.579,230,4.813,277,0.682,290,2.646,317,2.875,339,2.129,347,2.449,433,0.892,484,5.221,489,4.01,571,4.19,578,2.498,618,3.075,652,2.62,657,3.086,688,2.222,700,2.306,701,2.306,702,2.36,711,2.548,725,5.125,745,5.221,756,3.508,758,3.254,923,4.01,938,3.872,979,9.805,986,4.414,1027,1.458,1086,5.04,1087,4.885,1088,4.961,1268,2.934,1546,3.757,2219,2.136,2234,3.254,2334,3.872,2345,2.902,2358,2.74,2447,3.676,2448,4.609,2848,7.99,3418,5.223,3469,3.205,3470,3.116,3848,3.872,4289,3.872,4887,6.789,4888,7.219,4891,5.724,4926,5.125,4939,6.943,7064,3.572,7601,4.01,9033,3.572,12115,5.574,12143,6.109,12144,6.109,12157,3.658,12490,2.934,13217,3.572,13752,8.275,13757,4.183,13942,3.757,14430,9.291,14434,9.291,14525,3.757,14529,7.214,14532,3.572,14537,3.658,14539,3.658,14578,7.146,14598,4.183,14605,6.109,14620,10.179,14634,4.01,14637,6.109,14690,7.72,14712,4.183,14792,6.725,14861,6.372,14877,4.183,14883,4.183,14884,4.183,14885,4.183,14905,6.372,14920,4.183,14922,4.414,14956,6.725,14958,6.725,14968,4.414,14972,6.725,14973,4.414,14974,6.725,14975,4.414,14976,4.414,14977,4.414,14978,6.725,14979,6.725,14982,4.414,14991,4.766,14992,9.835,14993,9.835,14994,8.796,14995,4.766,14996,4.766,14997,4.766,14998,4.766,14999,4.766,15000,4.766,15001,4.766,15002,7.261,15003,4.766,15004,4.766,15005,4.766,15006,8.796,15007,4.766,15008,4.766,15009,4.766,15010,4.766,15011,4.766,15012,9.835,15013,4.766,15014,4.766,15015,4.766,15016,4.766,15017,4.766,15018,4.766,15019,4.766,15020,4.766,15021,4.766,15022,4.766,15023,7.261,15024,4.766]],["title/classes/LdapAlreadyPersistedException.html",[0,0.241,15025,5.658]],["body/classes/LdapAlreadyPersistedException.html",[0,0.423,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.398,29,0.587,30,0.001,31,0.432,32,0.095,33,0.351,35,0.881,47,0.936,52,5.823,55,1.557,59,2.388,95,0.114,101,0.016,103,0,104,0,148,1.128,208,4.838,231,2.197,277,1.099,290,2.723,433,0.944,640,6.289,703,3.521,983,4.959,1027,2.351,1115,4.368,1237,3.543,1422,5.097,1423,5.937,1426,5.815,1468,5.937,1469,6.233,1472,5.679,2953,5.926,4970,5.27,10048,10.637,10121,5.636,13728,5.093,15025,8.3,15026,9.657,15027,6.465,15028,10.345,15029,10.292,15030,7.684,15031,10.292,15032,7.684,15033,6.465,15034,6.243,15035,6.243,15036,8.596,15037,6.243]],["title/classes/LdapAuthorizationBodyParams.html",[0,0.241,15038,5.86]],["body/classes/LdapAuthorizationBodyParams.html",[0,0.396,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.509,30,0.001,32,0.162,47,1.034,48,5.846,51,6.004,87,6.29,95,0.127,101,0.012,103,0.001,104,0.001,112,0.897,190,2.342,200,2.802,202,2.102,296,3.519,299,4.884,855,5.051,856,6.935,4588,4.273,6815,8.225,8366,9.293,15038,9.624,15039,13.451,15040,8.036,15041,8.48,15042,9.156,15043,9.156,15044,9.156]],["title/classes/LdapConfig.html",[0,0.241,15045,4.684]],["body/classes/LdapConfig.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.516,29,0.727,30,0.001,31,0.535,32,0.164,33,0.58,47,0.974,101,0.012,103,0.001,104,0.001,110,4.415,112,0.92,122,2.43,232,3.172,311,6.07,433,1.17,435,3.272,4917,8.195,5074,6.483,7243,5.174,8176,5.998,14597,8.36,15045,9.149,15046,13.606,15047,10.288,15048,8.822,15049,7.508,15050,9.525,15051,6.987,15052,9.525]],["title/classes/LdapConfigEntity.html",[0,0.241,15053,5.221]],["body/classes/LdapConfigEntity.html",[0,0.308,2,0.417,3,0.007,4,0.007,5,0.004,7,0.055,26,1.581,27,0.487,29,0.302,30,0.001,31,0.222,32,0.16,33,0.619,47,1.07,83,3.027,95,0.108,96,1.031,101,0.012,103,0,104,0,110,3.371,112,0.492,122,1.301,134,1.399,153,0.639,157,0.914,159,0.404,172,1.686,185,1.353,190,2.206,195,3.082,196,4.474,197,1.104,205,1.59,211,6.671,223,4.453,224,1.144,225,2.404,226,1.796,228,1.401,229,1.558,231,0.682,232,1.069,233,1.225,331,1.754,433,0.485,540,1.311,561,1.779,620,2.459,628,2.357,886,2.471,997,2.459,1454,2.432,1561,2.788,1593,2.432,1821,1.871,2070,2.13,2109,1.731,2161,2.618,2186,3.032,2712,3.183,2946,2.114,4654,3.311,4692,4.511,4726,2.406,4917,5.036,5074,4.538,5210,2.114,5215,2.251,6206,3.607,6288,1.606,6369,3.163,6686,3.203,6706,2.549,6707,2.741,7243,3.408,8176,2.487,8262,2.656,8318,3.781,10475,2.618,11509,5.173,13579,6.167,13640,3.95,13653,2.961,13654,2.961,13655,2.897,13656,2.961,13700,2.656,13703,2.583,13705,2.656,13708,2.656,13711,2.432,13715,2.618,13826,4.284,13988,3.032,14382,3.744,14395,4.858,14396,2.487,14397,2.487,14648,4.511,14654,4.048,14765,2.961,15045,5.248,15049,3.114,15051,4.602,15053,7.268,15054,3.209,15055,6.34,15056,6.34,15057,6.34,15058,6.34,15059,6.34,15060,6.34,15061,6.34,15062,6.34,15063,5.097,15064,3.95,15065,3.95,15066,3.95,15067,3.95,15068,3.95,15069,3.95,15070,3.95,15071,3.95,15072,3.95,15073,3.95,15074,3.95,15075,3.95,15076,3.95,15077,4.602,15078,4.219,15079,2.897,15080,4.816,15081,6.662,15082,4.219,15083,3.209,15084,4.602,15085,3.032,15086,4.602,15087,3.032,15088,2.961,15089,2.961,15090,2.961,15091,3.032,15092,2.961,15093,2.961,15094,2.961,15095,3.032,15096,3.032,15097,2.961,15098,3.032,15099,2.961,15100,2.961,15101,2.961,15102,3.032,15103,4.219,15104,3.114,15105,2.84,15106,3.209,15107,3.209,15108,3.209,15109,3.209,15110,3.209,15111,3.209,15112,3.209,15113,3.209,15114,3.209,15115,3.032,15116,3.209,15117,3.209,15118,3.209,15119,3.209,15120,3.209,15121,3.209,15122,3.114,15123,3.209,15124,3.209,15125,2.897,15126,3.209,15127,3.209,15128,3.209,15129,3.209,15130,3.209,15131,3.209,15132,3.209,15133,3.209,15134,3.209,15135,3.209,15136,3.209,15137,3.209,15138,3.209,15139,3.209,15140,3.032,15141,3.209,15142,3.114,15143,3.032,15144,3.114,15145,3.032,15146,3.032,15147,3.114,15148,3.032,15149,3.114,15150,3.032,15151,2.897,15152,2.897,15153,2.897,15154,2.961,15155,3.209,15156,2.897,15157,2.549,15158,3.032,15159,3.209,15160,3.032,15161,3.209,15162,3.209,15163,3.209,15164,3.209,15165,3.209,15166,2.961,15167,3.114,15168,3.032,15169,3.114]],["title/classes/LdapConnectionError.html",[0,0.241,15170,6.113]],["body/classes/LdapConnectionError.html",[0,0.274,2,0.837,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.525,29,0.605,30,0.001,31,0.445,32,0.173,33,0.532,35,0.909,47,0.856,55,1.606,59,2.464,95,0.116,101,0.01,103,0,104,0,112,0.818,155,3.952,190,2.306,228,2.505,231,1.799,233,2.457,277,1.134,393,3.925,402,2.851,433,0.974,436,3.901,644,6.351,868,5.96,871,2.917,998,5.519,1078,5.425,1080,4.292,1115,4.435,1354,8.703,1355,7.396,1356,7.62,1360,5.254,1361,4.557,1362,5.254,1363,5.254,1364,5.254,1365,5.254,1366,5.254,1367,4.88,1368,4.479,1374,5.115,4921,7.013,13728,6.912,15170,9.153,15171,10.429,15172,7.927,15173,10.429,15174,7.927,15175,7.927,15176,7.927]],["title/injectables/LdapService.html",[589,0.926,1529,5.86]],["body/injectables/LdapService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,8,1.083,27,0.423,29,0.828,30,0.001,31,0.609,32,0.134,33,0.496,35,1.087,36,2.47,47,1.017,51,6.249,87,6.67,95,0.141,101,0.009,103,0,104,0,110,2.392,135,1.411,148,0.932,153,1.754,228,1.236,277,0.984,290,1.632,317,2.346,347,3.536,395,5.075,400,2.018,433,0.845,478,1.928,579,2.707,589,1.26,591,1.632,652,2.206,657,1.574,745,4.948,1027,2.106,1080,2.385,1313,4.698,1314,5.047,1329,7.119,1330,5.789,1529,7.977,1984,6.375,2088,2.949,2447,3.963,2448,5.478,2831,4.342,2851,5.424,2863,6.039,3282,4.627,3430,5.076,3862,5.59,4281,6.039,4283,6.039,4921,4.627,5210,6.95,8979,8.321,13728,4.561,14724,7.278,15045,6.375,15115,5.282,15170,8.321,15177,6.881,15178,9.481,15179,6.881,15180,9.481,15181,6.881,15182,9.481,15183,6.881,15184,6.373,15185,6.881,15186,6.881,15187,6.881,15188,6.881,15189,6.881,15190,6.881,15191,6.881,15192,6.881,15193,5.047,15194,6.881,15195,6.881,15196,6.881,15197,6.881,15198,6.881,15199,8.781,15200,6.881,15201,6.881,15202,6.881,15203,6.881,15204,6.373,15205,6.881,15206,6.881]],["title/injectables/LdapStrategy.html",[589,0.926,1530,6.113]],["body/injectables/LdapStrategy.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.06,8,0.771,27,0.418,29,0.856,30,0.001,31,0.669,32,0.153,33,0.491,34,0.741,35,1.162,36,2.269,39,1.203,47,0.949,48,5.705,51,5.167,66,7.019,72,1.99,87,6.004,94,6.042,95,0.144,101,0.006,103,0,104,0,125,2.228,130,2.531,135,1.584,142,3.386,148,0.919,153,1.513,158,1.6,159,0.443,172,3.992,180,2.892,193,2.943,194,2.652,195,0.952,228,1.928,230,4.473,231,1.164,233,1.343,268,6.826,277,0.62,279,1.797,290,2.405,304,2.146,317,2.576,325,3.342,347,2.227,349,3.424,379,3.424,412,1.925,433,0.829,478,1.214,532,3.937,571,1.715,579,2.671,589,0.897,591,1.028,629,3.561,652,2.719,653,1.782,657,2.723,671,6.861,675,2.213,703,3.294,985,2.514,1027,1.326,1080,3.242,1213,4.3,1220,2.491,1328,3.586,1329,4.11,1396,5.348,1526,8.604,1529,9.431,1530,5.923,1531,6.603,1545,3.059,1551,3.646,1552,4.014,1561,3.059,1689,6.251,1701,6.251,1712,3.327,1829,1.857,1853,1.422,1984,5.573,1998,3.416,2071,5.99,2232,2.47,2447,4.685,2587,3.327,3430,5.034,3925,3.416,3972,2.872,4530,4.014,4588,3.204,4593,6.842,5004,2.797,5138,3.612,5210,5.426,6251,2.959,6388,3.007,6571,2.914,8102,3.248,9636,4.95,9936,5.482,9962,3.327,10118,7.676,12171,3.327,13528,3.646,13728,6.2,14361,3.646,14461,3.327,14465,5.482,14470,3.521,15038,6.973,15193,3.179,15207,4.334,15208,7.676,15209,6.748,15210,6.748,15211,3.646,15212,6.733,15213,4.334,15214,5.058,15215,4.334,15216,4.334,15217,6.748,15218,4.334,15219,6.748,15220,4.334,15221,4.334,15222,6.251,15223,4.334,15224,4.334,15225,4.014,15226,4.334,15227,4.334,15228,4.014,15229,3.521,15230,4.014,15231,4.334,15232,4.334,15233,4.334,15234,4.014,15235,4.334,15236,4.334,15237,4.014,15238,6.251,15239,4.014,15240,4.014,15241,4.334,15242,4.014,15243,4.334,15244,4.334,15245,4.334,15246,4.014,15247,6.748,15248,3.804,15249,4.334,15250,4.334,15251,6.251,15252,4.334,15253,2.959,15254,4.334,15255,4.334]],["title/classes/LdapUserMigrationException.html",[0,0.241,15028,5.658]],["body/classes/LdapUserMigrationException.html",[0,0.437,2,0.878,3,0.015,4,0.015,5,0.007,30,0.001,47,0.877,52,6.053,55,1.686,95,0.12,101,0.016,103,0.001,104,0.001,148,1.173,208,5.24,231,2.254,277,1.19,290,1.974,640,6.626,703,3.661,983,5.37,1027,2.546,1115,4.541,1237,3.456,1422,5.05,1423,5.882,1426,5.299,1468,5.882,1469,6.175,1472,5.984,2953,6.921,4970,3.821,10048,10.249,10121,6.103,13728,5.515,15025,6.76,15026,7.001,15027,7.001,15028,10.615,15029,10.039,15031,10.039,15033,7.001,15034,6.76,15035,6.76,15036,9.057,15037,6.76]],["title/interfaces/Learnroom.html",[159,0.712,3907,4.554]],["body/interfaces/Learnroom.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.127,95,0.114,99,2.066,101,0.016,103,0.001,104,0.001,112,0.962,159,1.254,161,2.443,527,5.21,569,3.81,2955,6.617,3907,8.015,4174,9.137,5607,6.535,5608,6.704,7550,8.992,15256,9.498]],["title/modules/LearnroomApiModule.html",[252,1.839,15257,5.86]],["body/modules/LearnroomApiModule.html",[0,0.222,3,0.012,4,0.012,5,0.006,30,0.001,95,0.152,101,0.008,103,0,104,0,252,2.761,254,2.313,255,2.455,256,2.517,257,2.508,258,2.499,259,3.799,260,2.389,268,7.555,269,3.54,270,2.472,271,2.422,273,4.048,274,3.764,276,4.095,277,0.919,279,2.665,412,2.855,685,3.729,1856,7.07,1903,9.099,1908,8.757,1911,7.636,1939,3.417,2051,2.721,2680,2.952,2903,4.203,3036,3.013,3283,9.298,3318,3.958,3319,3.664,3320,4.461,4029,4.39,4823,4.716,7378,9.298,7629,9.181,7645,10.437,7648,10.437,7722,10.437,8399,9.181,8416,10.437,8685,9.779,8770,6.942,8793,4.819,9051,8.757,9720,9.779,9811,10.078,10031,4.935,12253,4.935,12254,4.935,15257,12.396,15258,6.429,15259,6.429,15260,6.429,15261,10.437,15262,10.437,15263,10.437,15264,6.429,15265,9.181,15266,6.429,15267,6.429,15268,6.429,15269,6.429,15270,5.955,15271,6.429,15272,5.955]],["title/interfaces/LearnroomElement.html",[159,0.712,2955,4.494]],["body/interfaces/LearnroomElement.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,95,0.112,99,2.03,101,0.016,103,0.001,104,0.001,112,0.951,159,1.24,161,2.4,527,5.74,569,3.77,2955,7.827,3907,6.587,4174,6.775,5607,8.608,5608,8.831,7550,8.897,15256,9.332]],["title/modules/LearnroomModule.html",[252,1.839,9051,4.917]],["body/modules/LearnroomModule.html",[0,0.215,3,0.011,4,0.011,5,0.006,30,0.001,95,0.144,101,0.008,103,0,104,0,252,2.707,254,2.231,255,2.368,256,2.428,257,2.419,258,2.41,259,3.725,260,3.811,265,5.687,268,7.466,269,3.451,270,2.385,271,2.336,276,3.451,277,0.887,279,2.571,610,2.445,685,3.597,1027,1.898,1908,8.654,1910,9.411,1911,7.547,1932,9.19,1933,4.377,2018,9.006,3270,10.315,3283,9.19,3318,3.817,3319,3.534,3320,4.303,3321,5.038,5611,10.315,5738,11.432,7378,9.19,7666,11.039,7673,11.039,7819,11.925,8433,10.315,8685,9.664,8770,6.766,8807,11.925,9051,10.44,10031,4.76,15272,5.744,15273,6.201,15274,6.201,15275,6.201,15276,6.201,15277,9.19,15278,6.201]],["title/injectables/LegacyLogger.html",[589,0.926,2448,3.264]],["body/injectables/LegacyLogger.html",[0,0.318,3,0.01,4,0.01,5,0.005,7,0.071,8,1.167,27,0.496,29,0.954,30,0.001,31,0.726,32,0.155,33,0.571,35,1.402,47,1.031,59,3.696,72,2.356,95,0.128,101,0.007,102,2.727,103,0,104,0,112,0.602,125,2.191,129,2.273,130,1.389,135,0.999,141,2.199,148,0.755,153,0.83,158,4.39,161,1.222,183,5.46,228,0.921,277,0.734,339,2.994,412,3.41,433,0.63,515,2.808,525,2.69,569,4.017,589,1.021,591,1.217,610,3.028,622,6.052,652,2.589,688,2.392,1042,5.089,1080,2.661,1115,4.845,1212,3.311,1220,2.95,1237,2.664,1379,5.52,2164,2.38,2447,5.225,2448,3.598,2588,3.231,2834,3.401,2915,4.627,3282,3.45,4237,3.311,4955,8.348,4999,5.631,5927,3.194,6288,3.121,9099,6.459,9989,8.961,9999,4.503,10000,6.052,10003,4.503,11346,7.473,12171,3.939,12687,6.459,13764,9.594,13767,4.503,13768,6.738,13769,7.111,13771,7.111,13772,9.457,13774,7.111,13775,8.961,13777,7.111,13779,7.111,15279,12.924,15280,5.131,15281,7.677,15282,9.457,15283,9.457,15284,7.677,15285,7.677,15286,5.131,15287,5.131,15288,5.131,15289,5.131,15290,5.131,15291,7.111,15292,5.131,15293,7.677,15294,5.131,15295,5.131,15296,7.677,15297,7.677,15298,6.052,15299,7.677,15300,5.131,15301,5.131,15302,4.753,15303,4.169,15304,5.131,15305,4.169,15306,4.753,15307,4.169,15308,5.131,15309,5.131,15310,5.131,15311,5.131,15312,5.131,15313,6.459,15314,5.131,15315,4.753,15316,4.753]],["title/modules/LegacySchoolApiModule.html",[252,1.839,15317,5.86]],["body/modules/LegacySchoolApiModule.html",[0,0.308,3,0.017,4,0.017,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.253,254,3.206,255,3.403,256,3.489,257,3.476,258,3.464,259,4.475,260,3.312,269,4.403,270,3.427,271,3.357,274,4.682,276,4.403,277,1.274,314,3.391,997,5.547,1525,9.798,1540,6.184,1856,7.765,2615,5.079,2680,4.093,3036,4.176,6077,9.031,15317,12.105,15318,8.912,15319,8.912,15320,8.912,15321,11.465,15322,7.498,15323,7.822,15324,8.255,15325,10.815,15326,8.912]],["title/classes/LegacySchoolDo.html",[0,0.241,2071,4.116]],["body/classes/LegacySchoolDo.html",[0,0.228,2,0.697,3,0.012,4,0.012,5,0.006,7,0.092,26,2.447,27,0.54,29,0.504,30,0.001,31,0.645,32,0.171,33,0.655,34,1.575,47,0.978,83,2.7,95,0.118,99,1.329,101,0.008,102,6.101,103,0,104,0,112,0.722,122,1.909,231,1.981,233,2.045,326,2.511,433,0.811,436,1.949,458,2.631,478,1.848,704,5.416,734,3.881,1829,3.947,1852,7.392,1883,3.457,1941,6.021,2071,7.136,2184,2.612,4215,6.39,4714,8.12,4731,5.065,5215,6.045,6696,4.84,7501,7.361,7509,7.133,7587,4.946,7895,3.977,8220,5.065,10107,6.935,10112,4.946,10917,5.791,11507,7.748,11508,7.069,11509,8.004,12561,7.133,13328,5.791,15105,4.744,15253,7.243,15327,13.843,15328,6.598,15329,8.143,15330,7.781,15331,7.628,15332,9.209,15333,9.209,15334,6.598,15335,7.628,15336,6.598,15337,6.598,15338,6.598,15339,6.598,15340,6.598,15341,6.598,15342,6.598,15343,6.598,15344,6.598,15345,6.598,15346,6.598,15347,5.36,15348,6.598,15349,5.065,15350,6.598,15351,4.946,15352,6.598,15353,6.598,15354,6.598,15355,6.598,15356,6.598,15357,5.201,15358,6.598,15359,6.598]],["title/classes/LegacySchoolFactory.html",[0,0.241,15360,6.451]],["body/classes/LegacySchoolFactory.html",[0,0.175,2,0.533,3,0.009,4,0.009,5,0.005,7,0.07,8,0.866,27,0.514,29,1.017,30,0.001,31,0.723,32,0.167,33,0.579,34,1.297,35,1.427,47,0.557,55,2.396,59,3.374,95,0.113,101,0.006,103,0,104,0,112,0.595,113,4.53,127,5.075,129,3.603,130,3.292,135,0.657,148,0.496,153,1.638,157,2.108,172,3.236,185,2.597,192,2.784,195,1.109,205,1.856,206,2.474,228,1.362,231,1.308,326,4.825,374,3.293,433,0.62,436,3.896,467,2.207,501,7.164,502,5.63,505,4.216,506,5.63,507,5.404,508,4.216,509,4.216,510,4.216,511,4.15,512,4.65,513,5.063,514,6.609,515,5.941,516,7.078,517,2.829,522,2.806,523,4.216,524,2.829,525,5.308,526,5.46,527,4.303,528,5.138,529,4.182,530,2.806,531,2.646,532,4.181,533,2.682,534,2.646,535,2.806,536,2.829,537,4.985,538,2.806,539,7.048,540,4.037,541,6.764,542,2.829,543,3.69,544,2.806,545,2.829,546,2.806,547,2.829,548,2.806,551,2.806,552,6.24,553,2.829,554,2.806,555,4.216,556,3.847,557,4.216,558,2.829,559,2.721,560,2.682,561,2.273,562,2.806,563,2.806,564,2.806,565,2.829,566,2.829,567,1.882,568,2.806,569,1.569,570,2.829,571,3.002,572,2.806,573,2.829,576,2.983,704,2.577,756,4.038,1853,1.656,2071,2.983,4696,6.43,4698,3.629,4714,3.394,5215,2.877,7509,3.394,10107,3.3,11509,3.345,15125,3.702,15253,3.446,15329,3.874,15330,3.702,15360,7.024,15361,5.047,15362,5.047,15363,5.047,15364,4.1,15365,5.047,15366,5.047,15367,5.047,15368,5.047,15369,5.047,15370,5.047,15371,10.126,15372,5.047,15373,5.047,15374,5.047,15375,5.047,15376,5.047,15377,5.047,15378,5.047]],["title/modules/LegacySchoolModule.html",[252,1.839,6077,4.616]],["body/modules/LegacySchoolModule.html",[0,0.257,3,0.014,4,0.014,5,0.007,30,0.001,95,0.14,101,0.009,102,6.408,103,0,104,0,252,2.976,254,2.667,255,2.831,256,2.903,257,2.892,258,2.882,259,4.094,260,4.189,265,6.011,269,3.905,270,2.851,271,2.793,276,3.905,277,1.06,279,3.074,610,2.924,1027,2.269,1531,9.148,2066,9.284,2071,5.895,2615,4.226,2636,3.629,6077,9.733,11493,10.903,11499,11.785,15322,6.238,15379,7.414,15380,7.414,15381,7.414,15382,7.414,15383,11.379,15384,11.785,15385,10.903,15386,10.903,15387,10.903,15388,7.414,15389,7.477]],["title/injectables/LegacySchoolRepo.html",[589,0.926,1531,4.917]],["body/injectables/LegacySchoolRepo.html",[0,0.159,3,0.009,4,0.009,5,0.004,7,0.064,8,0.806,10,2.835,12,3.193,18,3.536,26,2.394,27,0.51,29,0.987,30,0.001,31,0.741,32,0.16,33,0.591,34,1.47,35,1.464,36,2.614,40,2.222,47,0.89,48,4.878,95,0.132,96,1.842,97,1.852,99,0.925,101,0.006,102,5.127,103,0,104,0,112,0.36,113,1.824,125,1.094,135,1.255,142,3.769,148,1.023,153,1.141,185,2.417,205,1.751,224,1.33,228,1.267,231,1.218,277,0.657,317,2.92,347,2.359,433,0.564,436,3.654,478,1.286,569,1.427,579,1.311,589,0.938,591,1.089,652,2.235,657,1.614,692,5.124,703,2.165,704,4.925,729,4.818,735,3.193,736,5.125,756,1.831,766,2.458,1027,1.405,1312,2.163,1531,4.981,1770,3.44,1853,1.506,2071,7.437,2140,2.617,2437,8.973,2439,5.074,2440,4.981,2441,4.981,2442,5.074,2443,5.074,2444,4.981,2445,3.301,2446,5.24,2447,4.032,2448,4.52,2450,5.074,2451,3.301,2453,3.301,2455,4.614,2456,4.818,2457,3.301,2460,5.074,2462,3.186,2463,7.758,2464,4.981,2465,4.17,2467,3.301,2468,5.074,2470,3.301,2472,2.767,2473,2.858,2474,3.087,2476,3.301,2484,3.186,2938,4.057,4714,4.745,4768,2.767,4769,3.619,4984,2.891,5210,3.777,5215,4.898,6878,3.368,6879,3.368,6880,3.368,6881,3.368,6882,3.368,6883,3.368,6884,3.368,6892,3.525,7211,4.554,7509,4.745,10107,7.185,10718,3.525,10801,4.03,11509,4.677,12899,3.863,14370,7.837,15193,3.368,15253,4.818,15329,5.417,15330,5.176,15331,3.301,15389,5.289,15390,10.41,15391,4.591,15392,6.193,15393,7.057,15394,4.591,15395,6.193,15396,4.591,15397,7.057,15398,4.591,15399,4.591,15400,4.591,15401,4.591,15402,3.442,15403,4.253,15404,4.591,15405,4.591,15406,4.591,15407,4.591,15408,4.591,15409,4.591,15410,4.253,15411,4.591,15412,4.591,15413,4.253,15414,4.591,15415,4.591,15416,4.591,15417,4.591,15418,4.591,15419,4.591,15420,4.253,15421,4.591,15422,4.591,15423,4.591,15424,4.253,15425,4.591,15426,4.591,15427,4.591,15428,4.591,15429,4.253,15430,7.057,15431,4.591,15432,4.591]],["title/injectables/LegacySchoolRule.html",[589,0.926,1871,5.86]],["body/injectables/LegacySchoolRule.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.448,29,0.877,30,0.001,31,0.645,32,0.151,33,0.525,35,1.173,95,0.146,101,0.01,102,6.506,103,0,104,0,122,2.538,135,1.331,148,1.005,183,4.387,185,4.364,205,2.341,228,1.383,277,1.101,290,3.26,400,2.257,433,0.946,478,2.157,589,1.36,591,1.826,653,3.166,711,3.795,1237,2.23,1767,6.649,1775,6.7,1801,8.064,1838,7.378,1849,4.388,1852,7.234,1853,2.526,1871,8.607,1982,6.519,1986,6.297,1993,5.033,2071,7.9,2619,6.519,3711,5.103,3714,6.601,3716,5.103,3717,6.78,3718,5.536,4768,4.64,7003,5.435,15389,7.667,15433,12.241,15434,7.699,15435,7.699,15436,7.699,15437,7.699]],["title/injectables/LegacySchoolService.html",[589,0.926,2066,4.616]],["body/injectables/LegacySchoolService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.081,8,0.96,18,4.209,26,2.505,27,0.482,29,0.944,30,0.001,31,0.694,32,0.153,33,0.565,34,0.991,35,1.374,36,2.836,47,0.986,48,5.075,95,0.134,99,1.168,101,0.007,102,5.756,103,0,104,0,129,1.717,130,1.569,135,1.559,142,3.041,148,1.13,197,2.761,205,1.182,228,1.508,277,0.829,279,2.404,317,3.023,433,1.032,478,1.624,552,3.173,589,1.117,591,1.375,652,1.709,657,2.895,703,2.577,704,2.96,1213,6.902,1373,3.531,1531,7.645,1853,1.902,2066,5.568,2071,7.929,2615,7.216,4588,2.877,7739,7.784,14370,9.737,14921,7.78,15212,6.824,15228,7.78,15335,9.104,15386,10.402,15389,6.296,15410,5.37,15438,12.661,15439,5.798,15440,8.4,15441,8.4,15442,8.4,15443,8.4,15444,8.4,15445,5.37,15446,5.798,15447,8.4,15448,5.798,15449,8.4,15450,5.798,15451,8.4,15452,5.798,15453,5.798,15454,8.4,15455,5.798,15456,8.4,15457,5.798,15458,8.4,15459,5.798,15460,5.798,15461,8.4,15462,5.798,15463,5.798,15464,8.4,15465,5.798,15466,5.798,15467,5.798,15468,5.798]],["title/injectables/LegacySystemRepo.html",[589,0.926,671,5.109]],["body/injectables/LegacySystemRepo.html",[0,0.23,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,10,3.717,12,4.187,18,4.636,26,1.875,27,0.501,29,0.924,30,0.001,31,0.68,32,0.165,33,0.553,34,1.136,35,1.437,36,2.718,40,3.214,49,3.484,95,0.135,99,1.338,101,0.009,102,4.917,103,0,104,0,129,1.967,135,0.864,148,1.046,153,1.496,158,2.452,185,3.169,205,1.354,206,3.018,231,1.596,252,1.753,277,0.95,317,2.976,412,2.95,436,3.401,478,1.861,532,5,571,2.629,579,1.896,589,1.23,591,1.576,610,2.619,671,6.786,728,7.459,734,3.899,735,4.187,736,5.241,759,3.963,760,4.045,761,4.003,762,4.045,763,4.609,764,4.003,765,4.045,766,3.555,771,4.776,809,4.342,1086,3.162,1087,3.065,1088,3.112,1089,3.308,1166,4.402,1167,4.089,1393,6.067,1829,2.847,1941,4.342,1995,4.872,2038,4.233,2370,3.722,2456,6.316,2513,3.785,3430,2.884,5210,4.952,5953,7.056,6288,3.76,6895,4.535,15214,4.978,15469,11.513,15470,6.642,15471,9.075,15472,8.569,15473,6.642,15474,8.569,15475,9.075,15476,6.642,15477,6.642,15478,8.12,15479,6.642,15480,6.152,15481,5.829,15482,4.776,15483,6.642,15484,6.642,15485,6.152,15486,6.642,15487,6.642,15488,6.642,15489,6.642,15490,9.251]],["title/injectables/LegacySystemService.html",[589,0.926,15491,5.346]],["body/injectables/LegacySystemService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.915,12,3.623,18,4.012,26,2.127,27,0.436,29,0.855,30,0.001,31,0.629,32,0.162,33,0.511,34,1.369,35,1.204,36,2.627,40,3.875,59,1.688,95,0.139,99,1.094,100,1.893,101,0.007,102,4.255,103,0,104,0,110,2.784,135,1.237,148,1.191,153,1.538,185,2.742,228,1.438,277,0.776,279,2.251,317,2.865,346,3.983,393,2.689,412,2.411,433,0.984,478,1.521,579,1.55,589,1.064,591,1.288,610,2.141,647,3.983,648,3.419,652,2.277,657,2.993,671,7.7,675,2.772,1829,2.327,1941,3.55,1995,3.983,2370,3.043,2456,3.707,3430,5.259,5210,6.793,5215,6.675,5394,7.497,5397,7.416,6686,4.088,13094,7.767,13640,3.419,13886,8.275,14382,4.777,14654,5.166,15082,5.384,15193,5.873,15211,4.568,15214,6.001,15475,8.275,15480,5.029,15481,4.765,15482,5.757,15485,7.416,15491,6.146,15492,11.712,15493,5.429,15494,8.006,15495,8.006,15496,8.809,15497,5.429,15498,5.429,15499,8.006,15500,5.429,15501,8.006,15502,5.429,15503,8.006,15504,5.429,15505,4.765,15506,4.765,15507,5.429,15508,4.765,15509,8.006,15510,7.416,15511,5.429,15512,8.006,15513,5.029,15514,5.429,15515,5.429,15516,5.429,15517,5.429,15518,5.429,15519,5.429,15520,4.568,15521,8.006,15522,7.727,15523,8.006,15524,8.002,15525,8.006,15526,8.006,15527,6.736,15528,8.006,15529,7.416,15530,8.006,15531,7.416,15532,8.006,15533,5.429,15534,5.429,15535,5.029,15536,8.006,15537,5.429,15538,9.511,15539,5.429,15540,5.429,15541,5.429,15542,5.429,15543,5.429,15544,5.429]],["title/modules/LessonApiModule.html",[252,1.839,15545,5.86]],["body/modules/LessonApiModule.html",[0,0.32,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.307,254,3.324,255,3.529,256,3.617,257,3.604,258,3.591,259,4.55,260,3.434,269,4.504,270,3.553,271,3.48,273,5.818,274,4.789,276,4.504,277,1.321,314,3.516,1856,7.836,1908,9.707,2680,4.243,3036,4.33,15545,12.039,15546,9.24,15547,9.24,15548,9.24,15549,11.569,15550,9.24,15551,10.995,15552,9.24]],["title/entities/LessonBoardElement.html",[205,1.419,2968,5.658]],["body/entities/LessonBoardElement.html",[0,0.335,3,0.018,4,0.018,5,0.009,7,0.135,27,0.378,30,0.001,32,0.12,95,0.143,96,2.529,101,0.012,103,0.001,104,0.001,112,0.929,190,1.736,205,2.414,206,3.16,224,2.806,231,1.671,232,2.621,457,5.385,2715,5.473,2939,9.336,2957,7.186,2958,6.837,2961,8.36,2963,8.149,2968,9.622,3011,6.09,3325,7.435,3356,9.965,5727,4.516,5728,8.501,15553,11.843,15554,8.971,15555,9.965,15556,9.686]],["title/controllers/LessonController.html",[314,2.65,15551,6.113]],["body/controllers/LessonController.html",[0,0.312,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,10,4.977,27,0.351,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,36,2.394,95,0.149,100,3.143,101,0.012,103,0.001,104,0.001,135,1.173,141,4.854,148,0.886,190,1.615,202,2.069,228,1.618,274,3.751,277,1.289,314,3.429,316,4.337,317,2.679,325,6.434,349,6.792,388,3.863,392,4.692,395,4.824,398,4.859,400,2.642,657,2.061,3036,4.223,3220,7.405,3240,4.631,5788,5.136,15549,10.421,15551,9.94,15557,9.012,15558,7.582,15559,10.243,15560,11.326,15561,9.012,15562,9.012,15563,9.012,15564,7.582,15565,9.012,15566,8.347]],["title/classes/LessonCopyApiParams.html",[0,0.241,7428,5.86]],["body/classes/LessonCopyApiParams.html",[0,0.403,2,0.996,3,0.017,4,0.017,5,0.008,7,0.131,27,0.368,30,0.001,32,0.117,33,0.532,34,1.993,47,0.856,95,0.13,100,4.064,101,0.012,103,0.001,104,0.001,112,0.914,157,2.927,190,1.691,200,2.887,201,4.53,202,2.166,300,4.466,304,4.672,855,4.719,1562,9.187,1937,5.49,2027,6.19,2033,4.42,2608,7.024,2959,5.352,3197,6.238,3198,6.238,3668,5.913,7183,10.229,7428,9.806,8076,9.187,12495,8.281,15567,11.654,15568,8.74,15569,8.74]],["title/injectables/LessonCopyUC.html",[589,0.926,15261,5.86]],["body/injectables/LessonCopyUC.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.081,8,0.959,26,2.504,27,0.448,29,0.826,30,0.001,31,0.608,32,0.134,33,0.494,35,1.241,36,1.773,39,1.607,95,0.144,99,1.166,101,0.007,103,0,104,0,122,1.2,135,1.678,148,0.569,153,1.357,228,2.063,277,0.828,279,2.4,290,3.182,317,2.135,433,1.031,478,1.622,569,3.571,579,2.396,589,1.115,591,1.373,641,4.782,652,2.812,657,2.475,693,2.633,980,3.193,1080,2.007,1115,2.203,1268,6.075,1312,2.727,1780,3.49,1833,4.704,1862,5.752,1911,7.607,1937,2.727,2033,4.104,2038,3.69,2219,2.595,2220,2.919,2221,2.818,2222,3.646,2608,3.49,2680,2.659,2681,3.455,2957,6.194,3276,7.06,3285,10.397,3287,9.064,3293,9.741,3300,11.096,3305,6.452,3318,3.564,3319,3.3,3320,4.017,3370,5.081,3371,5.081,3372,5.363,3910,6.615,5098,4.564,5138,3.099,5747,8.437,5762,6.075,7395,7.06,7430,10.024,7686,6.817,7724,5.081,7725,9.106,7731,5.081,7737,5.081,7738,5.081,7739,3.646,13205,8.304,15261,7.06,15570,11.979,15571,8.391,15572,8.391,15573,5.79,15574,5.79,15575,8.391,15576,5.363,15577,5.79,15578,8.391,15579,5.79,15580,7.772,15581,5.79,15582,5.79,15583,5.363,15584,5.081,15585,5.79,15586,6.615,15587,5.363,15588,5.79,15589,5.79,15590,5.79,15591,5.79,15592,5.79,15593,5.79,15594,5.79,15595,5.79,15596,8.391,15597,5.79,15598,5.79,15599,5.79,15600,5.79,15601,5.79,15602,8.391,15603,4.871,15604,5.79]],["title/entities/LessonEntity.html",[205,1.419,2957,3.755]],["body/entities/LessonEntity.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.128,26,2.023,27,0.447,30,0.001,31,0.516,32,0.142,33,0.301,47,0.99,55,2.147,95,0.134,96,1.096,101,0.016,103,0,104,0,110,3.196,112,0.516,122,1.365,125,1.934,129,2.404,130,2.197,134,1.487,135,1.626,145,1.576,148,1.228,153,1.713,155,2.934,157,1.879,158,1.55,159,1.173,190,2.056,195,2.194,196,2.184,197,2.269,205,1.341,206,1.37,223,3.574,224,1.216,225,2.522,226,1.909,229,1.656,231,0.724,232,1.136,233,1.301,277,0.6,290,0.996,371,3.498,527,1.784,579,1.879,595,1.592,613,3.784,652,1.339,653,1.727,711,1.216,789,2.297,886,1.329,1237,1.216,1312,1.977,1821,1.988,1842,3.008,1937,3.101,2027,3.222,2033,4.349,2051,1.776,2184,1.662,2393,4.06,2831,1.68,2912,3.887,2942,4.914,2946,4.921,2950,2.334,2955,4.248,2956,2.505,2957,4.957,2959,3.729,2960,4.145,2972,4.303,3076,4.921,3668,4.119,3774,6.288,3793,5.838,3930,2.963,3931,2.963,4441,3.89,4600,2.643,4664,1.891,5266,5.46,5607,2.675,5608,2.745,5727,1.957,5760,6.929,5772,3.018,5788,2.392,5795,4.248,5800,7.338,5813,3.018,5819,3.018,5824,3.018,6204,4.733,6205,3.079,6206,2.413,6207,6.843,6208,2.823,6209,5.24,6210,3.079,6211,4.195,6212,4.647,6213,6.277,6214,7.342,6215,4.733,6216,4.733,6217,3.018,6218,4.733,6219,4.733,6220,4.733,6221,3.079,6222,4.733,6223,2.823,6224,4.733,6225,4.733,6226,7.351,6227,3.079,6228,3.079,6229,3.079,6230,4.363,6231,4.248,6232,2.643,6233,4.647,6234,4.647,6235,4.828,6236,4.828,6237,4.828,6238,4.303,6239,4.828,6240,2.782,6241,5.732,6242,2.963,6243,4.828,6244,3.079,6245,3.079,6246,3.079,6247,2.913,6248,3.079,6249,3.079,6250,4.828,6251,4.494,6252,3.079,6253,3.079,6254,6.743,6255,5.956,6256,3.018,6257,5.838,6258,3.079,6259,3.079,6260,3.079,6261,3.079,6262,3.079,6263,3.079,6264,3.079,6265,3.079,6266,3.079,6267,3.079,6268,3.079,6269,2.913,6270,4.426,6271,3.079,6272,3.079,7775,3.684,15605,4.198,15606,4.198,15607,4.198,15608,4.198,15609,4.198,15610,4.198,15611,4.198,15612,4.198,15613,4.198]],["title/classes/LessonFactory.html",[0,0.241,15614,6.451]],["body/classes/LessonFactory.html",[0,0.172,2,0.525,3,0.009,4,0.009,5,0.004,7,0.069,8,0.857,27,0.513,29,1.014,30,0.001,31,0.721,32,0.167,33,0.577,34,1.543,35,1.421,47,0.551,55,2.384,59,3.352,95,0.101,101,0.006,103,0,104,0,112,0.588,113,4.504,127,5.037,129,3.587,130,3.278,135,1.174,148,0.489,157,2.089,172,3.2,185,2.568,192,2.742,197,1.39,205,2.198,206,2.446,228,1.346,231,1.294,326,4.882,374,3.256,433,0.611,436,3.884,467,2.182,478,1.393,501,7.331,502,5.587,505,4.168,506,5.587,507,5.505,508,4.168,509,4.168,510,4.168,511,4.104,512,4.608,513,5.018,514,6.579,515,5.903,516,7.119,517,2.787,522,2.764,523,4.168,524,2.787,525,5.268,526,5.419,527,4.271,528,5.099,529,4.135,530,2.764,531,2.606,532,4.158,533,2.643,534,2.606,535,2.764,536,2.787,537,4.94,538,2.764,539,7.021,540,4.019,541,6.733,542,2.787,543,4.393,544,2.764,545,2.787,546,2.764,547,2.787,548,2.764,549,3.095,550,2.911,551,2.764,552,6.205,553,2.787,554,2.764,555,4.168,556,3.804,557,4.168,558,2.787,559,2.681,560,2.643,561,2.24,562,2.764,563,2.764,564,2.764,565,2.787,566,2.787,567,1.854,568,2.764,569,1.545,570,2.787,571,2.968,572,2.764,573,2.787,576,2.938,1937,2.342,2033,4.463,2957,4.043,3774,4.721,5760,5.203,6212,3.51,6213,5.119,6214,3.296,7750,4.184,7796,4.606,7798,4.606,15614,8.36,15615,4.972,15616,4.972,15617,7.498,15618,4.972,15619,4.972,15620,4.972,15621,4.972]],["title/modules/LessonModule.html",[252,1.839,1908,4.917]],["body/modules/LessonModule.html",[0,0.264,3,0.014,4,0.014,5,0.007,30,0.001,95,0.151,101,0.01,103,0,104,0,252,3.021,254,2.748,255,2.918,256,2.991,257,2.98,258,2.97,259,4.156,260,4.253,265,6.063,269,3.985,270,2.938,271,2.878,276,3.985,277,1.093,610,3.013,1027,2.338,1317,4.869,1882,6.428,1908,10.36,2831,3.058,3285,11.84,3318,4.703,3319,4.354,3321,6.207,3889,9.798,3898,3.829,5747,9.608,7378,9.798,10059,11.472,10063,9.588,15277,9.798,15622,7.64,15623,7.64,15624,7.64,15625,7.64,15626,10.998,15627,11.472,15628,7.64,15629,5.301]],["title/interfaces/LessonParent.html",[159,0.712,6230,4.616]],["body/interfaces/LessonParent.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.135,8,0.813,26,2.237,27,0.181,30,0.001,31,0.4,32,0.107,35,0.533,47,1,55,2.12,95,0.138,96,1.213,101,0.016,103,0,104,0,110,3.374,122,1.476,125,1.696,134,1.645,135,1.666,145,1.743,148,1.259,153,1.569,155,3.097,157,2.004,158,1.715,159,1.213,161,1.106,195,1.902,196,1.541,197,1.99,205,1.451,223,3.261,224,1.345,225,2.728,226,2.112,229,1.832,231,0.801,232,1.257,233,1.44,277,0.664,290,1.102,371,3.784,527,1.974,579,2.033,595,1.761,613,4.093,652,1.448,653,1.91,711,1.345,789,2.542,886,1.471,1237,1.345,1312,2.188,1821,2.199,1842,3.253,1937,2.188,2027,2.273,2033,3.968,2051,1.966,2184,1.838,2393,4.231,2831,1.859,2912,4.144,2942,4.015,2946,3.811,2950,2.582,2955,4.594,2956,2.771,2957,4.667,2959,3.975,2960,4.483,2972,4.654,3076,3.811,3668,4.392,3774,5.451,3793,6.224,3930,3.279,3931,3.279,4441,4.207,4600,2.925,4664,2.092,5266,5.821,5607,2.96,5608,3.037,5727,2.165,5760,6.734,5772,3.34,5788,2.647,5795,4.594,5800,7.254,5813,3.34,5819,3.34,5824,3.34,6204,5.119,6205,3.407,6206,2.67,6207,6.244,6208,3.123,6209,5.586,6210,3.407,6211,4.537,6212,5.026,6213,4.861,6214,6.936,6215,5.119,6216,5.119,6217,3.34,6218,5.119,6219,5.119,6220,5.119,6221,3.407,6222,5.119,6223,3.123,6224,5.119,6225,5.119,6226,7.661,6227,3.407,6228,3.407,6229,3.407,6230,5.738,6231,6.753,6232,2.925,6233,3.279,6234,3.279,6235,3.407,6236,3.407,6237,3.407,6238,3.037,6239,5.222,6240,3.078,6241,6.111,6242,3.279,6243,5.222,6244,3.407,6245,3.407,6246,3.407,6247,3.223,6248,3.407,6249,3.407,6250,5.222,6251,4.861,6252,3.407,6253,3.407,6254,7.118,6255,6.35,6256,3.34,6257,6.224,6258,3.407,6259,3.407,6260,3.407,6261,3.407,6262,3.407,6263,3.407,6264,3.407,6265,3.407,6266,3.407,6267,3.407,6268,3.407,6269,3.223,6270,4.787,6271,3.407,6272,3.407,15630,4.645]],["title/interfaces/LessonProperties.html",[159,0.712,6212,4.917]],["body/interfaces/LessonProperties.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.131,26,2.068,30,0.001,31,0.573,32,0.151,33,0.493,47,1.002,55,2.283,95,0.136,96,1.148,101,0.016,103,0,104,0,110,3.277,112,0.535,122,1.954,125,1.625,134,1.556,135,1.645,145,1.65,148,1.242,153,1.524,155,3.008,157,1.936,158,1.623,159,1.191,161,1.047,195,1.838,196,1.458,197,1.907,205,1.39,223,3.18,224,1.273,225,2.615,226,1.999,229,1.733,231,0.758,232,1.189,233,1.363,277,0.629,290,1.043,371,3.626,527,1.868,579,1.948,595,1.667,613,3.922,652,1.388,653,1.808,711,1.273,789,2.406,886,1.392,1237,1.273,1312,2.071,1821,2.081,1842,3.118,1937,2.071,2027,2.151,2033,4.635,2051,1.86,2184,1.74,2393,4.138,2831,1.759,2912,4.003,2942,3.879,2946,3.652,2950,2.444,2955,4.403,2956,2.623,2957,4.509,2959,3.84,2960,4.296,2972,4.461,3076,5.462,3668,4.242,3774,6.799,3793,6.013,3930,3.103,3931,3.103,4441,4.032,4600,2.768,4664,1.98,5266,5.623,5607,2.801,5608,2.874,5727,2.049,5760,7.493,5772,3.161,5788,2.505,5795,4.403,5800,7.137,5813,3.161,5819,3.161,5824,3.161,6204,4.906,6205,3.224,6206,2.527,6207,7.294,6208,2.956,6209,6.584,6210,3.224,6211,4.348,6212,5.903,6213,6.967,6214,7.72,6215,4.906,6216,4.906,6217,3.161,6218,4.906,6219,4.906,6220,4.906,6221,3.224,6222,4.906,6223,2.956,6224,4.906,6225,4.906,6226,7.493,6227,3.224,6228,3.224,6229,3.224,6230,4.522,6231,4.403,6232,2.768,6233,3.103,6234,3.103,6235,3.224,6236,3.224,6237,3.224,6238,2.874,6239,5.005,6240,2.913,6241,5.903,6242,3.103,6243,5.005,6244,3.224,6245,3.224,6246,3.224,6247,3.05,6248,3.224,6249,3.224,6250,5.005,6251,4.658,6252,3.224,6253,3.224,6254,6.913,6255,6.134,6256,3.161,6257,6.013,6258,3.224,6259,3.224,6260,3.224,6261,3.224,6262,3.224,6263,3.224,6264,3.224,6265,3.224,6266,3.224,6267,3.224,6268,3.224,6269,3.05,6270,4.588,6271,3.224,6272,3.224]],["title/injectables/LessonRepo.html",[589,0.926,15626,5.86]],["body/injectables/LessonRepo.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.081,8,0.961,10,3.379,12,3.805,13,5.936,18,4.214,26,2.656,27,0.494,29,0.944,30,0.001,31,0.695,32,0.16,33,0.565,34,0.993,35,1.418,36,2.77,39,1.611,40,4.069,42,5.936,49,2.187,59,1.805,95,0.141,96,2.195,97,2.342,98,3.5,99,1.17,101,0.007,103,0,104,0,122,1.204,125,1.383,135,1.609,148,1.13,153,1.36,172,3.589,205,1.183,206,2.743,224,1.682,231,1.451,277,0.83,279,2.407,290,1.377,317,2.993,415,3.309,436,3.201,478,1.627,532,4.869,589,1.118,591,1.377,595,2.202,657,2.63,711,2.863,728,7.174,734,3.544,735,3.805,736,4.866,759,3.465,760,3.536,761,3.5,762,3.536,764,3.5,765,3.536,766,3.108,770,3.656,773,3.849,788,3.964,790,3.904,1937,5.105,2033,3.189,2232,4.792,2938,4.834,2957,6.201,3076,3.108,3774,3.656,5264,6.978,5788,6.176,5800,5.018,6213,3.964,6214,5.573,6288,3.418,6895,3.964,7803,4.457,7807,4.457,12206,7.788,12210,7.38,12211,5.378,15626,7.075,15631,5.806,15632,8.409,15633,8.409,15634,8.409,15635,5.806,15636,8.409,15637,5.806,15638,5.378,15639,5.806,15640,5.806,15641,7.38,15642,5.806,15643,5.806,15644,5.806,15645,5.806,15646,5.806,15647,5.806,15648,5.806,15649,5.806,15650,5.806,15651,5.806,15652,5.806,15653,5.806,15654,5.806]],["title/injectables/LessonRule.html",[589,0.926,1872,5.658]],["body/injectables/LessonRule.html",[0,0.17,3,0.009,4,0.009,5,0.004,7,0.068,8,0.847,27,0.47,29,0.92,30,0.001,31,0.677,32,0.153,33,0.551,35,1.343,95,0.126,101,0.006,103,0,104,0,122,2.769,135,1.569,141,5.48,148,1.151,153,0.792,183,3.809,197,2.5,205,2.895,228,1.606,277,0.701,290,3.37,433,0.911,478,1.373,579,1.399,589,0.986,591,1.162,652,2.774,653,2.015,711,3.265,1197,7.656,1237,1.419,1622,3.523,1775,5.46,1778,6.281,1783,3.016,1784,3.295,1792,6.207,1793,4.915,1801,6.94,1838,4.469,1867,9.512,1868,8.776,1872,6.024,1982,4.725,1986,4.564,1993,3.203,2033,4.275,2619,4.725,2957,7.309,3431,4.785,3432,2.817,3555,3.122,3711,3.248,3714,4.785,3716,3.248,3717,4.915,6207,5.953,7187,3.523,7815,4.3,7817,4.122,7818,6.508,15655,4.9,15656,7.415,15657,7.415,15658,7.415,15659,7.415,15660,7.415,15661,4.9,15662,7.415,15663,4.9,15664,7.415,15665,4.9,15666,4.9,15667,4.9,15668,7.415,15669,4.9,15670,7.415,15671,4.9,15672,6.868,15673,4.9,15674,4.9,15675,9.24,15676,4.9,15677,4.9,15678,4.538,15679,7.415,15680,7.415,15681,4.9,15682,9.976,15683,8.286,15684,7.415,15685,7.415,15686,4.9,15687,4.9,15688,4.538,15689,4.9]],["title/classes/LessonScope.html",[0,0.241,15641,6.113]],["body/classes/LessonScope.html",[0,0.267,2,0.814,3,0.014,4,0.014,5,0.007,7,0.107,8,1.17,26,2.482,27,0.521,29,0.935,30,0.001,31,0.688,32,0.165,33,0.56,35,1.405,95,0.128,99,1.554,101,0.01,103,0,104,0,112,0.803,122,2.717,129,2.284,130,2.087,148,1.007,231,1.767,279,3.198,365,3.426,436,3.766,478,2.161,569,2.397,652,2.666,2033,2.925,2479,6.795,2957,4.159,3774,4.857,6288,5.588,7007,6.789,7008,6.789,7009,6.789,7014,6.789,7015,6.789,7016,5.187,7017,5.113,7018,5.187,7019,5.187,7028,5.113,7029,6.789,7030,5.187,7031,5.113,7032,5.187,7033,5.113,7034,6.789,7803,7.862,8175,6.238,9528,6.081,9532,7.145,10978,9.487,10982,9.487,15641,11.504,15690,11.499,15691,9.487,15692,9.487,15693,7.714,15694,6.77]],["title/injectables/LessonService.html",[589,0.926,5747,4.755]],["body/injectables/LessonService.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,8,1.052,12,4.168,26,2.805,27,0.488,29,0.955,30,0.001,31,0.703,32,0.162,33,0.571,35,1.385,36,2.848,39,2.944,59,2.051,95,0.139,98,3.977,99,1.329,101,0.008,103,0,104,0,122,1.368,125,1.572,135,1.38,148,1.229,172,3.93,228,1.654,277,0.944,317,3.032,433,1.131,478,1.848,560,3.507,589,1.224,591,1.565,652,1.873,657,2.761,1237,1.911,1317,4.205,1845,7.259,1937,4.338,2831,2.641,2957,6.511,3774,4.155,3898,3.307,5264,8.104,5747,6.287,5760,6.39,5762,4.062,5788,6.045,7340,9.23,7800,8.53,7801,8.53,7803,5.065,15626,10.524,15629,4.578,15695,6.598,15696,9.209,15697,9.209,15698,9.209,15699,6.598,15700,6.598,15701,9.209,15702,6.598,15703,9.209,15704,6.598,15705,9.209,15706,6.598,15707,6.598,15708,9.209,15709,6.598,15710,6.598,15711,6.598,15712,6.598,15713,6.598,15714,6.598,15715,9.209,15716,6.598,15717,6.598,15718,6.598,15719,9.209,15720,6.598,15721,6.598]],["title/injectables/LessonUC.html",[589,0.926,15549,5.86]],["body/injectables/LessonUC.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.119,8,1.248,10,4.39,26,2.775,27,0.426,29,0.834,30,0.001,31,0.614,32,0.135,33,0.499,35,0.977,39,2.363,95,0.147,99,1.716,101,0.011,103,0.001,104,0.001,135,1.108,148,0.837,158,3.143,194,3.346,195,1.871,228,1.962,277,1.218,290,2.02,317,2.61,433,1.342,589,1.452,591,2.02,595,3.229,610,3.358,652,2.222,657,2.498,693,3.872,980,4.696,985,4.939,1780,5.132,1862,7.157,1937,5.146,1962,5.081,2667,6.123,2680,3.91,2685,6.246,2927,6.712,3432,4.895,5747,9.349,5762,7.426,5788,4.853,6207,5.081,15549,9.192,15584,7.473,15722,8.515,15723,8.515,15724,9.192,15725,8.515,15726,8.515,15727,8.515,15728,8.515,15729,8.515]],["title/injectables/LessonUrlHandler.html",[589,0.926,15730,5.86]],["body/injectables/LessonUrlHandler.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,9,3.23,27,0.496,29,0.94,30,0.001,31,0.692,32,0.164,33,0.563,34,1.635,35,1.347,36,2.02,47,1.001,95,0.137,101,0.009,103,0,104,0,105,10.269,106,7.34,107,7.136,108,8.868,110,4.613,111,5.49,112,0.75,113,3.798,114,8.868,115,7.536,116,7.766,117,7.536,118,7.536,120,5.49,122,1.444,123,5.658,125,2.6,126,5.49,127,5.888,129,2.831,130,2.587,131,5.998,134,2.466,135,1.42,148,0.94,228,1.251,231,1.649,233,2.159,277,0.996,317,2.361,400,2.042,433,0.856,436,3.47,589,1.271,591,1.652,657,1.593,1237,2.017,1937,5.142,3320,4.832,4174,6.428,4177,7.536,4179,5.86,4180,5.86,4181,5.86,4184,7.338,4185,5.658,4186,7.338,4187,5.86,4188,5.658,4190,4.683,5747,8.684,5794,5.658,7999,6.112,8000,6.112,8002,8.39,8003,8.39,8004,6.112,15730,8.043,15731,10.915,15732,6.964,15733,9.56,15734,6.964]],["title/classes/LessonUrlParams.html",[0,0.241,15559,5.49]],["body/classes/LessonUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,1937,5.688,4197,6.09,5762,7.986,15559,9.519,15735,9.999,15736,9.999]],["title/classes/LessonUrlParams-1.html",[0,0.2,756,2.309,15559,4.564]],["body/classes/LessonUrlParams-1.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,1937,5.688,4197,6.09,5762,7.986,15559,9.519,15737,9.999,15738,9.999]],["title/classes/LibrariesBodyParams.html",[0,0.241,1233,5.658]],["body/classes/LibrariesBodyParams.html",[0,0.455,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.363,30,0.001,32,0.143,47,0.993,95,0.129,101,0.017,103,0.001,104,0.001,112,0.906,125,2.216,190,1.668,195,2.539,200,2.847,202,2.136,296,3.536,299,5.145,300,4.428,855,4.678,1195,5.721,1228,7.559,1233,10.209,1234,9.386,1235,9.386,1238,9.646,1240,5.498,1242,7.828,2531,5.017,6317,6.702,6387,8.166,6388,6.456,15739,9.304,15740,9.304]],["title/interfaces/LibrariesContentType.html",[159,0.712,13472,6.113]],["body/interfaces/LibrariesContentType.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,30,0.001,31,0.303,32,0.117,34,0.921,36,2.001,47,0.858,74,4.134,95,0.144,101,0.01,103,0,104,0,112,0.624,125,2.782,135,1.754,142,1.95,145,3.553,148,1.097,153,2.048,158,2.938,159,0.551,161,1.283,185,4.138,195,2.08,197,2.224,228,1.7,277,0.77,290,2.48,317,2.048,412,2.392,433,0.662,527,2.289,543,2.621,569,1.674,579,2.272,589,1.058,634,5.491,651,2.732,652,2.375,657,2.896,702,2.667,711,2.742,756,3.174,810,3.95,1195,2.667,1215,3.246,1312,2.537,1563,3.475,1619,3.315,1675,3.246,1819,4.727,1929,5.838,1939,2.862,2164,2.498,2333,3.018,2358,3.096,2393,2.064,2555,4.375,2557,3.622,2954,2.862,3426,4.703,5200,4.375,5278,6.584,6572,4.536,6617,5.959,6618,3.95,7786,3.802,8907,4.375,11710,6.121,11725,3.677,12115,4.134,12143,4.532,12144,4.532,12157,4.134,13176,4.532,13198,7.69,13202,4.532,13203,4.532,13204,4.532,13388,7.964,13389,8.798,13425,4.532,13430,4.727,13431,8.768,13432,4.989,13433,8.768,13434,9.685,13435,4.989,13437,4.989,13439,4.989,13442,4.989,13443,7.372,13446,4.989,13451,4.989,13452,7.372,13454,4.989,13455,7.372,13458,9.685,13459,4.989,13460,8.768,13461,4.989,13462,4.989,13463,4.989,13464,4.727,13465,4.989,13466,4.532,13467,4.989,13468,4.989,13469,4.989,13470,4.989,13471,4.989,13472,9.791,13473,10.333,13474,7.372,13475,7.372,13476,4.989,13477,4.989,13478,7.372,13479,4.989,13480,7.372,13481,4.989,13482,4.989,13483,4.989,13484,7.372,13485,4.989,13486,4.989,13487,4.989,13488,4.989,13489,4.989,13490,4.989,13491,4.989,13492,4.989,13493,4.989,13494,4.989,13495,7.372,13496,4.989,13497,7.372,13498,7.372,13499,4.989,13500,4.989,13501,4.727,13502,6.985,13503,4.989,13504,4.989,13505,4.989,13506,4.989,13507,4.989,13508,7.372,13509,7.372,13510,4.532,13511,4.989,13512,4.989,13513,4.989,13514,4.989,13515,4.989,13516,7.372,13517,4.989,13518,4.989,13519,4.989]],["title/classes/LibraryFileUrlParams.html",[0,0.241,13269,6.113]],["body/classes/LibraryFileUrlParams.html",[0,0.412,2,1.032,3,0.018,4,0.018,5,0.012,7,0.136,27,0.464,30,0.001,32,0.147,47,0.983,95,0.133,101,0.013,103,0.001,104,0.001,112,0.935,190,2.136,200,2.993,202,2.246,296,3.362,299,5.03,856,7.142,1195,6.362,6560,9.059,6561,10.024,13269,10.456,15741,12.848,15742,12.848,15743,9.78,15744,9.78]],["title/classes/LibraryName.html",[0,0.241,11698,5.658]],["body/classes/LibraryName.html",[0,0.31,2,0.424,3,0.007,4,0.007,5,0.004,7,0.056,27,0.35,29,0.485,30,0.001,31,0.443,32,0.111,33,0.183,47,0.976,55,2.788,72,1.843,83,1.863,95,0.1,96,1.048,101,0.011,103,0,104,0,112,0.498,122,2.155,131,3.244,134,2.25,141,4.455,145,3.901,148,0.881,155,1.281,157,0.929,190,1.414,194,1.577,195,2.919,196,4.376,197,1.122,205,1.295,208,2.527,223,4.397,224,1.162,225,2.435,229,1.583,231,0.692,233,1.244,289,2.328,301,2.59,374,3.894,414,4.958,433,0.493,467,1.168,478,1.124,567,1.496,711,1.84,756,4.342,870,4.316,1087,1.852,1195,4.839,1199,8.358,1200,8.924,1201,8.924,1215,5.405,1224,4.568,1237,2.83,1372,2.118,1929,4.66,2164,3.658,2184,1.589,2393,3.022,2553,4,2643,4.338,2912,1.921,2915,6.562,2995,4.408,3056,1.932,3418,1.808,3426,3.754,3926,3.164,3972,4.211,5140,4.154,5234,3.775,5245,3.911,5406,5.008,6027,4.568,6178,3.754,6203,4.049,6574,3.081,6575,3.081,6576,3.008,6577,3.081,6578,2.624,6584,3.008,6585,3.081,6597,6.884,6600,2.833,6601,3.081,6617,3.621,6618,2.944,6620,3.081,6628,2.833,6630,3.081,6632,3.081,6634,3.081,6636,3.081,6642,3.081,7064,5.911,7245,2.59,7465,2.886,7572,2.395,9611,2.833,11686,6.407,11687,3.377,11688,5.008,11689,6.053,11690,3.26,11694,5.345,11695,5.345,11696,5.345,11697,3.377,11698,7.939,11699,5.345,11700,5.345,11701,5.345,11702,5.345,11703,3.164,11704,3.377,11705,3.081,11706,5.161,11707,6.635,11708,3.377,11709,6.635,11710,6.609,11711,5.161,11712,4.877,11713,5.345,11714,5.008,11715,5.345,11716,4.568,11717,5.345,11718,5.345,11719,5.161,11720,5.345,11721,5.345,11722,3.164,11723,3.377,11724,3.164,11725,2.74,11726,3.377,11727,3.377,11728,3.377,11729,3.377,11730,3.377,11731,3.377,11732,3.377,11733,3.377,11734,3.377,11735,3.377,11736,3.377,11737,3.377,11738,3.377,11739,3.377,11740,3.377,11741,3.377,11742,3.377,11743,3.377,11744,3.377,11745,3.377,11746,3.377,11747,3.377,11748,3.377,11749,3.377,11750,3.377,11751,3.377,11752,3.377,11753,3.377,11754,3.377,11755,3.377,11756,3.377,11757,3.377,11758,3.377,11759,3.377,11760,3.377,11761,3.377,11762,3.377,11763,3.377,11764,3.377,11765,3.377,11766,3.377,11767,3.377,11768,3.377,11769,3.377,11770,3.377,11771,3.377,11772,3.377,11773,3.377,11774,3.377,11775,3.377,11776,3.377,11777,3.377,11778,3.377,11779,3.377,11780,3.377,11781,3.377,11782,3.377,11783,3.377,11784,3.377,11785,3.377,11786,3.377,15745,6.353,15746,4.013,15747,4.013]],["title/classes/LibraryParametersBodyParams.html",[0,0.241,1235,5.658]],["body/classes/LibraryParametersBodyParams.html",[0,0.455,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.363,30,0.001,32,0.143,47,0.994,95,0.129,101,0.017,103,0.001,104,0.001,112,0.908,125,2.221,190,1.672,195,2.049,200,2.854,202,2.141,296,3.538,299,5.15,300,4.434,855,4.685,1195,5.729,1228,7.576,1233,9.4,1234,9.4,1235,10.22,1238,7.159,1240,5.511,1242,10.584,2531,5.028,6317,6.711,6387,8.185,6388,6.471,7265,7.847,15748,9.326]],["title/injectables/LibraryRepo.html",[589,0.926,13390,5.86]],["body/injectables/LibraryRepo.html",[0,0.175,3,0.009,4,0.009,5,0.005,7,0.071,8,0.869,10,3.056,12,3.441,18,3.811,26,1.541,27,0.502,29,0.951,30,0.001,31,0.724,32,0.154,33,0.569,34,0.866,35,1.455,36,2.84,40,2.452,47,0.959,49,2.864,55,2.818,95,0.102,101,0.006,103,0,104,0,135,1.415,142,3.673,145,1.902,148,1.164,153,1.476,205,1.86,206,2.481,231,1.312,277,0.725,317,3.042,347,3.907,436,2.997,532,4.726,579,2.606,589,1.011,591,1.202,657,2.32,728,6.869,734,3.205,735,3.441,736,4.494,756,3.641,759,3.023,760,3.086,761,3.054,762,3.086,763,3.515,764,3.054,765,3.086,766,2.712,771,3.643,787,7.788,1195,6.032,1199,9.892,1200,10.021,1201,10.021,1238,5.837,2345,4.631,2938,5.248,5752,3.933,10706,6.178,11705,8.764,11706,8.242,11710,2.966,13390,6.398,14901,4.693,15749,5.066,15750,7.604,15751,9.129,15752,9.129,15753,9.129,15754,10.146,15755,7.604,15756,5.066,15757,7.604,15758,5.066,15759,5.066,15760,5.066,15761,5.066,15762,5.066,15763,5.066,15764,5.066,15765,5.066,15766,5.066,15767,5.066,15768,5.066,15769,10.146,15770,7.604,15771,7.604,15772,5.066,15773,8.536,15774,7.604,15775,5.066,15776,5.066,15777,4.693,15778,5.066,15779,3.994]],["title/classes/LinkContentBody.html",[0,0.241,6507,4.554]],["body/classes/LinkContentBody.html",[0,0.47,2,0.547,3,0.01,4,0.01,5,0.005,7,0.072,9,2.402,27,0.4,30,0.001,31,0.67,32,0.173,33,0.526,47,0.974,83,1.518,95,0.122,99,1.043,101,0.017,103,0,104,0,110,3.215,112,0.606,130,3.227,155,2.952,157,2.664,190,1.838,195,1.138,200,1.584,201,3.595,202,1.189,223,1.613,231,1.986,296,3.688,299,4.906,300,4.411,339,1.518,360,2.976,854,4.867,855,3.129,886,1.639,899,2.366,1232,3.003,1749,2.951,1853,1.699,2049,4.697,2393,4.411,2721,3.593,2912,2.478,2918,6.504,3159,2.343,3201,2.426,3581,3.06,3583,3.06,3586,5.414,3589,4.815,3593,2.678,3598,2.902,4065,3.153,4086,3.153,4485,5.339,6409,5.823,6411,5.893,6413,5.823,6415,6.536,6417,5.893,6419,5.893,6467,3.341,6504,6.046,6505,6.046,6506,6.046,6507,6.705,6508,6.046,6509,6.046,6847,6.61,8010,3.385,8080,3.031,9639,7.379,9640,3.482,9642,8.126,9643,6.046,9644,6.046,9645,6.046,9646,3.482,9647,6.046,9648,3.187,9649,3.432,9650,6.046,9651,6.705,9652,3.385,9653,3.385,9654,3.385,9655,3.385,9656,3.482,9657,3.482,9658,3.482,9659,3.482,9660,3.482,9661,3.482,15780,9.248,15781,5.177,15782,5.177,15783,5.177,15784,5.177]],["title/classes/LinkElement.html",[0,0.241,3143,4.554]],["body/classes/LinkElement.html",[0,0.195,2,0.595,3,0.01,4,0.01,5,0.005,7,0.078,8,0.94,27,0.537,29,0.978,30,0.001,31,0.72,32,0.163,33,0.585,35,1.513,36,1.739,47,1.032,55,1.667,59,1.751,95,0.092,101,0.012,103,0,104,0,110,3.715,112,0.645,113,3.269,122,2.015,130,3.399,134,1.996,148,1.166,155,3.411,157,2.473,158,2.08,159,0.576,189,5.065,197,1.575,231,1.677,317,2.102,435,2.827,436,3.711,527,2.395,532,3.017,567,3.984,569,3.904,653,2.318,657,1.289,711,2.383,735,3.723,1295,4.741,1770,3.294,1773,5.918,1842,3.76,2051,2.385,2662,5.65,3058,7.722,3061,5.808,3062,5.808,3063,5.808,3064,6.986,3065,5.808,3067,3.508,3068,5.011,3069,6.198,3071,5.618,3072,5.011,3073,6.143,3075,3.91,3076,4.404,3078,6.119,3079,3.91,3083,3.91,3085,3.508,3112,4.959,3143,6.986,3586,6.255,4346,4.052,4347,4.052,4348,4.052,4349,4.741,4357,3.508,4358,5.709,5930,6.684,5932,6.923,9663,3.91,9667,5.22,9668,4.741,9669,5.22,9670,4.741,9671,4.741,11559,5.22,11561,5.22,15785,11.867,15786,5.635,15787,5.635,15788,5.635,15789,5.635,15790,5.635,15791,5.635,15792,5.635,15793,5.635,15794,5.635,15795,5.635,15796,5.635,15797,5.22,15798,5.22,15799,7.621,15800,5.22,15801,5.22,15802,5.22,15803,4.946,15804,5.22]],["title/classes/LinkElementContent.html",[0,0.241,15805,5.86]],["body/classes/LinkElementContent.html",[0,0.355,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,27,0.497,29,0.59,30,0.001,31,0.434,32,0.168,33,0.583,34,1.968,47,1.011,95,0.128,101,0.013,103,0,104,0,110,4.436,112,0.804,155,4.072,157,2.953,190,2.198,201,4.959,202,1.774,296,3.598,304,3.827,433,1.414,458,3.082,821,3.946,886,2.447,1853,2.535,2109,3.386,2393,4.411,2926,6.676,3056,3.72,3197,4.137,3198,4.137,3201,3.622,3586,7.469,3759,5.277,3766,7.158,3771,4.567,4019,5.896,4023,5.053,4025,5.053,4375,7.872,4485,5.992,6411,4.925,7243,4.198,7572,4.612,9689,6.503,9698,6.503,9700,6.783,15805,11.034,15806,12.147,15807,7.728,15808,6.279]],["title/classes/LinkElementContentBody.html",[0,0.241,9644,4.554]],["body/classes/LinkElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.65,6413,5.946,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.823,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.823,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,15809,5.364,15810,5.364]],["title/entities/LinkElementNode.html",[205,1.419,3509,5.49]],["body/entities/LinkElementNode.html",[0,0.288,3,0.015,4,0.015,5,0.007,7,0.116,27,0.465,30,0.001,32,0.148,33,0.492,47,1.025,95,0.141,96,2.172,101,0.014,103,0.001,104,0.001,110,4.386,112,0.844,134,2.947,135,1.083,148,0.818,155,4.027,159,0.851,190,2.139,205,2.194,206,2.715,223,4.244,224,2.41,231,1.857,232,2.252,457,4.626,1770,4.776,2049,5.148,2109,3.645,2662,5.125,2715,4.702,3056,4.005,3467,5.762,3477,6.423,3509,8.485,3549,5.068,3573,9.447,3586,7.385,3922,6.555,3932,5.37,3942,5.122,4448,5.24,4450,5.24,7243,4.52,8176,5.24,9695,7.001,11579,7.707,15808,6.76,15811,11.686,15812,8.321,15813,9.447,15814,7.707,15815,7.707]],["title/interfaces/LinkElementNodeProps.html",[159,0.712,15813,6.113]],["body/interfaces/LinkElementNodeProps.html",[0,0.296,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.15,33,0.501,47,1.051,95,0.142,96,2.233,101,0.014,103,0.001,104,0.001,110,4.581,112,0.859,134,3.028,135,1.113,148,0.841,155,4.206,159,0.875,161,2.037,205,2.232,223,3.972,224,2.477,231,2.086,232,2.314,457,4.754,1770,4.839,2049,3.489,2109,3.746,2662,5.215,2715,4.832,3056,4.116,3467,5.864,3477,6.537,3509,6.741,3549,5.208,3573,9.615,3586,7.714,3922,7.361,3932,5.518,3942,5.264,4448,5.385,4450,5.385,7243,4.645,8176,5.385,15808,6.947,15811,7.921,15813,10.609,15814,7.921,15815,7.921]],["title/interfaces/LinkElementProps.html",[159,0.712,15803,6.113]],["body/interfaces/LinkElementProps.html",[0,0.264,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.157,33,0.557,36,1.612,47,1.067,95,0.113,101,0.015,103,0,104,0,110,4.416,112,0.797,122,1.581,130,3.3,134,2.7,148,1.284,155,4.054,157,2.94,158,2.815,159,0.78,161,1.816,197,2.131,231,1.973,317,1.65,527,3.241,567,4.547,569,2.37,653,3.136,657,1.744,1842,4.645,2051,3.227,3058,6.127,3064,4.986,3068,4.644,3069,5.896,3072,4.644,3073,5.843,3112,6.891,3143,7.475,3586,7.436,4357,4.747,4358,7.053,5930,8.258,5932,8.552,9663,5.291,9671,6.416,15785,7.063,15797,7.063,15798,7.063,15799,9.415,15800,7.063,15801,7.063,15802,7.063,15803,8.921,15804,7.063]],["title/classes/LinkElementResponse.html",[0,0.241,4375,5.346]],["body/classes/LinkElementResponse.html",[0,0.354,2,0.814,3,0.014,4,0.014,5,0.007,7,0.107,27,0.497,29,0.589,30,0.001,31,0.433,32,0.172,33,0.352,34,2.18,47,0.963,95,0.128,101,0.013,103,0,104,0,110,3.998,112,0.803,155,3.67,157,2.662,190,2.196,201,4.469,202,1.771,296,3.597,304,3.82,433,1.413,458,3.076,821,3.938,886,2.442,1853,2.531,2109,3.379,2393,4.886,2926,7.396,3056,3.712,3196,5.043,3197,5.482,3198,5.482,3200,4.603,3201,4.8,3586,6.731,3759,5.267,3771,4.558,4019,6.611,4023,5.043,4025,5.043,4375,9.788,4485,6.638,6411,6.527,7243,4.19,7572,4.603,9702,6.77,15805,10.307,15806,12.14,15808,6.267,15816,7.714,15817,7.714,15818,7.714,15819,7.714]],["title/classes/LinkElementResponseMapper.html",[0,0.241,6442,6.113]],["body/classes/LinkElementResponseMapper.html",[0,0.269,2,0.822,3,0.014,4,0.014,5,0.007,7,0.108,8,1.178,27,0.479,29,0.787,30,0.001,31,0.579,32,0.152,33,0.471,34,1.332,35,1.325,95,0.129,100,2.716,101,0.01,103,0,104,0,110,2.708,112,0.809,122,2.137,135,1.013,141,4.418,148,1.136,153,1.989,155,2.486,157,1.803,430,3.203,467,3.825,652,2.35,653,3.203,711,2.256,829,4.603,830,5.731,833,6.327,835,5.979,1237,2.986,1853,2.555,2049,5.554,2140,4.439,2393,2.985,2653,8.475,2656,7.913,2657,7.913,2659,7.727,2926,4.518,3143,8.898,3586,4.559,4019,5.926,4035,5.498,4375,9.44,4485,4.055,5927,7.192,6411,4.963,6438,5.979,6442,11.766,9704,9.218,9705,6.14,9712,6.14,9713,6.14,9714,6.14,9715,7.214,15805,8.673,15820,12.791,15821,6.836,15822,11.554,15823,7.788,15824,7.788,15825,7.788]],["title/interfaces/ListFiles.html",[159,0.712,7316,5.109]],["body/interfaces/ListFiles.html",[3,0.016,4,0.016,5,0.01,7,0.117,30,0.001,32,0.157,33,0.613,47,1.083,55,2.656,95,0.094,101,0.017,103,0.001,104,0.001,112,0.85,125,2.581,159,1.372,161,2.003,339,3.177,414,6.65,1302,6.666,1304,4.792,1444,4.674,2233,5.121,5234,6.274,6572,4.792,7301,6.302,7302,6.302,7303,6.628,7304,6.454,7305,6.454,7306,5.294,7307,6.302,7308,5.741,7309,5.741,7310,5.741,7311,5.741,7312,5.935,7313,5.234,7314,5.121,7315,5.121,7316,7.949,7317,10.062,7318,10.062,7319,6.302]],["title/classes/ListOauthClientsParams.html",[0,0.241,15826,6.113]],["body/classes/ListOauthClientsParams.html",[0,0.342,2,0.771,3,0.014,4,0.014,5,0.007,7,0.102,27,0.467,30,0.001,31,0.555,32,0.148,33,0.613,47,0.881,55,2.429,56,5.271,58,8.185,95,0.11,101,0.009,103,0,104,0,112,0.775,145,4.499,157,2.774,187,7.075,190,2.148,194,5.272,196,4.452,197,3.988,200,2.236,202,1.678,296,3.276,299,4.381,300,4.798,534,5.177,873,6.294,876,5.142,891,9.737,892,9.2,1470,7.017,2944,9.002,3791,7.899,3792,5.07,3797,7.102,3848,5.936,4703,7.224,6296,7.786,6365,8.82,9028,10.9,10020,9.2,15826,8.669,15827,12.52,15828,7.307,15829,7.307,15830,7.307,15831,9.877,15832,9.877,15833,7.307,15834,7.307,15835,9.877,15836,7.307,15837,7.307,15838,7.307]],["title/classes/LocalAuthorizationBodyParams.html",[0,0.241,15839,6.113]],["body/classes/LocalAuthorizationBodyParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.466,30,0.001,32,0.148,47,0.985,51,6.203,87,6.499,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,190,2.145,200,3.015,202,2.262,296,3.372,299,5.046,856,7.165,8366,9.722,15040,8.647,15839,10.503,15840,12.889,15841,9.125,15842,9.125]],["title/injectables/LocalStrategy.html",[589,0.926,1532,6.113]],["body/injectables/LocalStrategy.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.972,27,0.426,29,0.834,30,0.001,31,0.613,32,0.143,33,0.499,35,1.144,36,2.307,39,1.638,47,1.038,51,5.981,59,3.393,66,7.138,87,6.849,94,6.117,95,0.15,101,0.008,103,0,104,0,135,1.569,148,0.836,153,1.95,159,0.603,172,2.518,195,1.297,197,1.649,228,1.961,231,1.468,233,1.829,268,7.569,277,0.844,279,2.446,290,2.018,317,2.608,325,2.922,349,4.316,433,1.045,480,4.328,579,1.685,589,1.131,591,1.4,634,7.209,647,4.328,648,3.715,651,2.993,652,2.676,657,2.757,675,3.012,838,4.964,923,4.964,924,5.178,1213,5.421,1526,9.256,1532,7.466,1545,4.165,1551,4.964,1585,3.593,1619,3.632,1712,4.529,1984,8.108,5004,3.807,8102,4.423,13156,5.178,13164,4.529,13876,4.964,13886,8.607,14461,4.529,14465,6.911,14470,4.793,15208,9.24,15234,5.465,15237,5.465,15239,5.465,15240,5.465,15242,5.465,15496,9.24,15843,5.9,15844,8.507,15845,5.9,15846,5.9,15847,5.9,15848,10.918,15849,5.9,15850,8.507,15851,8.507,15852,5.9,15853,8.507,15854,5.9,15855,5.9,15856,5.9,15857,5.9,15858,5.9,15859,5.9,15860,5.9,15861,8.507,15862,5.9,15863,5.9,15864,5.9,15865,5.9,15866,5.9,15867,5.178,15868,5.9,15869,5.9,15870,5.9,15871,5.9]],["title/interfaces/Loggable.html",[159,0.712,1422,2.788]],["body/interfaces/Loggable.html",[3,0.019,4,0.019,5,0.009,7,0.144,8,1.409,27,0.404,30,0.001,35,1.188,95,0.115,101,0.013,103,0.001,104,0.001,134,3.669,159,1.06,161,2.468,1422,4.938,1423,6.14,1426,6.055,1468,6.14,1469,6.447,15872,10.36,15873,10.36]],["title/injectables/Logger.html",[589,0.926,2447,2.911]],["body/injectables/Logger.html",[0,0.24,3,0.02,4,0.013,5,0.006,7,0.097,8,1.09,27,0.507,29,0.97,30,0.001,31,0.745,32,0.161,33,0.581,35,1.41,47,0.862,95,0.137,101,0.009,103,0,104,0,112,0.748,129,2.055,130,1.878,135,1.526,161,1.653,183,4.161,228,1.246,277,0.992,433,0.853,569,4.181,589,1.268,591,1.646,652,2.386,688,3.236,711,4.088,1042,6.321,1115,4.464,1212,4.479,1422,5.699,2447,5.14,3282,4.667,6288,3.877,9989,10.296,9999,6.091,10000,7.518,10001,5.638,10002,6.428,10003,6.091,10004,10.866,15282,8.834,15291,8.834,15302,6.428,15313,10.347,15874,6.94,15875,8.37,15876,9.537,15877,9.537,15878,9.537,15879,6.94,15880,9.537,15881,6.94,15882,9.537,15883,6.94,15884,6.94,15885,9.537,15886,6.94,15887,6.94,15888,6.94,15889,6.94,15890,6.94]],["title/interfaces/LoggerConfig.html",[159,0.712,7481,5.86]],["body/interfaces/LoggerConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,311,6.868,7481,10.623,12095,10.886,15891,10.778]],["title/modules/LoggerModule.html",[252,1.839,265,3.231]],["body/modules/LoggerModule.html",[0,0.27,3,0.014,4,0.014,5,0.007,30,0.001,95,0.152,101,0.01,103,0,104,0,148,0.767,153,1.262,161,1.859,195,2.268,197,2.181,252,3.053,254,2.807,255,2.98,256,3.055,257,3.044,258,3.033,259,4.2,260,4.298,265,6.585,269,4.041,270,3.001,271,2.939,276,3.055,277,1.116,403,5.27,634,7.138,651,3.959,686,5.611,688,3.638,997,4.857,1080,2.705,1212,5.036,2447,5.963,2448,6.615,3912,5.849,7481,6.566,9983,11.878,10000,9.117,15892,7.804,15893,7.804,15894,7.804,15895,7.804,15896,7.228,15897,7.804,15898,7.804,15899,7.804,15900,6.566,15901,7.804,15902,7.804,15903,7.804,15904,7.804,15905,7.804,15906,7.804,15907,7.804,15908,7.804,15909,7.804,15910,7.804,15911,7.804,15912,7.804,15913,7.804,15914,7.804,15915,7.804]],["title/classes/LoggingUtils.html",[0,0.241,10001,5.658]],["body/classes/LoggingUtils.html",[0,0.285,2,0.869,3,0.015,4,0.015,5,0.007,7,0.115,8,1.222,27,0.463,29,0.906,30,0.001,31,0.667,32,0.132,33,0.542,35,1.362,47,0.957,59,2.56,95,0.132,101,0.011,103,0.001,104,0.001,125,2.828,134,2.916,135,1.635,148,1.167,158,3.04,161,1.962,183,4.799,185,4.067,467,4.052,652,2.415,1115,4.518,1422,5.439,1426,3.658,10001,8.687,12687,8.996,15283,11.64,15315,7.628,15316,7.628,15916,8.236,15917,10.692,15918,10.692,15919,10.692,15920,10.692,15921,8.236,15922,11.873,15923,10.692,15924,8.236,15925,10.692,15926,8.236,15927,8.236,15928,8.236,15929,10.692]],["title/controllers/LoginController.html",[314,2.65,1487,6.113]],["body/controllers/LoginController.html",[0,0.169,3,0.009,4,0.009,5,0.004,7,0.068,8,0.844,27,0.348,29,0.681,30,0.001,31,0.501,32,0.172,33,0.408,35,1.023,36,2.378,95,0.14,100,1.7,101,0.006,103,0,104,0,135,1.464,146,3.329,148,0.877,157,3.155,159,0.499,180,5.548,190,1.599,193,4.908,202,1.119,228,0.876,274,2.03,277,0.697,290,3.071,314,1.855,316,2.347,317,2.667,325,5.788,333,7.567,337,6.927,338,7.195,339,3.299,340,8.151,341,8.261,342,7.357,343,9.835,349,3.748,358,8.084,379,5.048,390,5.825,391,7.736,392,2.538,393,2.414,400,1.43,401,4.999,402,4.434,403,4.554,571,3.531,657,2.04,694,9.042,1086,4.246,1087,4.116,1088,4.18,1089,4.443,1090,4.845,1368,2.755,1470,4.14,1485,7.505,1487,6.484,1490,4.516,1545,3.442,1724,9.214,1725,3.442,1900,3.188,2060,6.542,2061,6.413,2836,6.596,2851,7.031,3241,3.279,3242,2.668,3418,5.068,4029,3.329,4866,6.306,7858,7.357,8117,7.844,9033,8.434,9206,4.279,9207,4.102,9971,4.102,12430,5.671,13728,3.232,15038,8.372,15839,8.734,15930,4.876,15931,7.388,15932,7.388,15933,8.919,15934,4.876,15935,4.876,15936,10.422,15937,4.876,15938,8.864,15939,8.919,15940,4.876,15941,4.876,15942,4.876,15943,4.876,15944,4.876,15945,4.876,15946,8.372,15947,4.876,15948,4.876,15949,4.876,15950,6.216,15951,4.279,15952,4.876,15953,4.876,15954,4.876,15955,4.876,15956,8.261,15957,4.876,15958,4.876,15959,8.919,15960,7.388,15961,4.876,15962,4.876,15963,4.876,15964,4.876,15965,4.876,15966,4.876,15967,4.876,15968,4.876]],["title/classes/LoginDto.html",[0,0.241,1724,5.49]],["body/classes/LoginDto.html",[0,0.356,2,1.085,3,0.019,4,0.019,5,0.009,7,0.143,27,0.479,29,0.785,30,0.001,31,0.578,32,0.152,33,0.47,47,0.902,101,0.013,103,0.001,104,0.001,112,0.963,232,3.322,433,1.263,435,3.532,1605,8.963,1724,10.955,15969,10.281,15970,12.278,15971,8.65,15972,8.65]],["title/classes/LoginRequestBody.html",[0,0.241,15973,5.658]],["body/classes/LoginRequestBody.html",[0,0.309,2,0.666,3,0.012,4,0.012,5,0.006,7,0.088,27,0.494,30,0.001,32,0.157,33,0.632,47,0.827,55,2.098,95,0.115,101,0.008,103,0,104,0,112,0.7,122,1.85,145,3.349,157,2.396,164,8.436,165,5.125,169,9.991,170,8.161,187,5.85,190,2.272,194,5.174,195,1.961,196,4.369,197,3.948,199,4.921,200,1.93,202,1.448,231,1.539,290,2.117,296,2.709,300,3.967,337,3.883,342,4.124,402,2.269,403,4.555,436,3.508,567,4.196,711,1.827,890,6.092,998,2.987,1042,4.181,1080,4.393,1302,3.507,1379,4.536,1390,3.926,1470,5.802,1475,7.763,1889,7.033,2164,2.926,2345,7.508,2550,5.378,2831,3.572,4918,6.688,5074,4.555,5146,6.849,5317,4.842,6178,3.728,6275,10.518,6276,7.507,6277,7.507,6278,7.033,6281,4.242,6283,5.536,6284,7.831,6285,7.831,6286,8.264,6287,7.831,6288,3.627,6290,5.843,6291,8.264,6292,6.545,6293,10.425,6294,8.264,6296,8.872,6297,4.842,6298,5.536,6299,5.536,6300,5.536,6301,5.843,6302,6.849,6303,6.191,6304,4.728,6305,5.125,6306,4.842,6307,5.307,6308,5.125,6309,5.843,6310,5.307,6311,5.843,6312,5.843,6313,5.536,6314,5.307,6315,5.307,6316,5.843,6318,6.849,6319,5.843,15973,7.249,15974,10.353,15975,6.308,15976,6.308]],["title/classes/LoginResponse.html",[0,0.241,15938,5.008]],["body/classes/LoginResponse.html",[0,0.348,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.472,29,0.767,30,0.001,31,0.565,32,0.15,33,0.459,47,0.89,95,0.112,101,0.013,103,0.001,104,0.001,112,0.95,190,1.801,202,2.307,232,3.277,296,3.402,433,1.235,435,3.452,1605,8.876,15938,9.931,15971,8.455,15972,8.455,15977,10.049,15978,12.111]],["title/classes/LoginResponse-1.html",[0,0.2,756,2.309,15938,4.163]],["body/classes/LoginResponse-1.html",[0,0.29,2,0.609,3,0.011,4,0.011,5,0.005,7,0.08,27,0.517,29,0.441,30,0.001,31,0.324,32,0.164,33,0.618,34,2.046,47,1.002,70,5.822,72,3.845,77,6.358,95,0.12,101,0.007,103,0,104,0,110,2.911,112,0.657,122,1.736,125,3.012,157,2.858,164,6.276,171,5.631,174,5.717,180,5.129,187,7.576,190,2.347,193,5.516,194,3.29,195,2.165,196,2.778,197,3.021,200,1.767,202,1.326,290,2.839,296,3.508,299,3.278,300,4.731,358,6.803,417,4.693,433,0.709,868,4.742,1475,5.273,1495,7.085,2328,5.273,2345,6.582,2531,3.113,2766,8.296,2831,5.16,2860,5.403,3633,6.021,3756,4.075,4440,4.69,4578,7.085,6317,4.857,6324,8.29,6325,8.29,6326,8.29,6327,8.005,6330,8.648,6332,5.067,6338,8.29,6339,7.756,6347,8.29,6354,7.756,6355,7.756,6358,5.067,6359,5.347,6360,5.347,6361,5.347,6370,7.756,14349,6.428,14688,6.803,15938,8.877,15979,5.773,15980,9.126,15981,8.374,15982,5.773,15983,5.773,15984,5.773,15985,7.349,15986,5.773,15987,5.773,15988,8.374,15989,5.773,15990,5.773,15991,5.773,15992,8.374,15993,8.374,15994,8.374,15995,5.773,15996,5.773,15997,5.773]],["title/classes/LoginResponseMapper.html",[0,0.241,15951,6.113]],["body/classes/LoginResponseMapper.html",[0,0.306,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.436,29,0.854,30,0.001,31,0.628,32,0.138,33,0.511,35,1.283,47,0.902,59,2.746,95,0.125,100,3.08,101,0.011,103,0.001,104,0.001,135,1.455,148,1.099,153,1.809,467,3.957,829,5.22,871,4.746,1605,7.636,1724,11.116,1725,6.236,8115,10.854,15938,9.569,15950,11.197,15951,9.816,15998,12.272,15999,11.184,16000,11.184,16001,11.184,16002,7.176,16003,11.184,16004,8.182,16005,11.184]],["title/injectables/LoginUc.html",[589,0.926,1485,5.86]],["body/injectables/LoginUc.html",[0,0.304,3,0.016,4,0.016,5,0.008,7,0.122,8,1.273,27,0.434,29,0.85,30,0.001,31,0.626,32,0.138,33,0.509,35,1.006,36,2.354,95,0.151,100,3.06,101,0.011,103,0.001,104,0.001,135,1.592,148,0.863,153,1.419,159,0.897,228,1.576,277,1.255,317,2.647,325,6.372,400,2.573,433,1.078,589,1.48,591,2.082,657,2.007,675,4.48,1485,9.371,1526,9.878,1551,7.384,1605,5.992,1699,9.644,1722,7.384,1723,5.001,1724,10.699,5131,10.316,8102,6.578,16006,8.776,16007,11.137,16008,8.776,16009,8.776,16010,11.137,16011,8.776,16012,8.128,16013,8.776,16014,8.776,16015,8.776,16016,8.776]],["title/injectables/Lti11EncryptionService.html",[589,0.926,16017,6.113]],["body/injectables/Lti11EncryptionService.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.12,8,1.255,27,0.335,29,0.656,30,0.001,31,0.482,32,0.106,33,0.392,35,0.985,47,1.046,95,0.135,101,0.011,103,0.001,104,0.001,110,4.439,135,1.576,148,0.844,153,1.389,277,1.228,339,2.518,589,1.46,591,2.037,641,4.894,711,3.508,1078,5.306,1470,7.155,1475,8.498,1598,7.544,1718,6.299,1723,7.276,1756,6.315,2125,5.758,2355,7.955,3242,4.7,7558,6.175,16017,9.641,16018,10.985,16019,8.588,16020,10.175,16021,10.985,16022,8.588,16023,7.226,16024,10.985,16025,7.955,16026,8.588,16027,8.057,16028,8.588,16029,8.588,16030,8.588,16031,8.588,16032,8.588,16033,8.588,16034,8.588,16035,8.588]],["title/classes/Lti11ToolConfig.html",[0,0.241,8309,5.109]],["body/classes/Lti11ToolConfig.html",[0,0.268,2,0.817,3,0.014,4,0.014,5,0.007,7,0.108,27,0.536,29,0.591,30,0.001,31,0.435,32,0.174,33,0.526,47,1.011,95,0.114,101,0.01,103,0,104,0,112,0.805,231,1.772,232,2.779,233,2.4,433,0.951,435,2.66,436,3.033,614,2.4,1598,6.808,2036,3.812,2125,6.039,2333,6.457,2696,6.181,2698,4.464,2699,6.515,2700,9.569,2702,6.796,2703,5.803,2704,6.796,2705,6.796,2707,5.568,8152,7.636,8158,7.532,8160,7.532,8162,7.532,8177,5.68,8178,6.291,8179,6.104,8180,6.515,8183,5.944,8184,6.291,8187,5.944,8188,6.291,8191,5.944,8192,6.291,8306,8.451,8309,9.364,8332,5.373,8337,8.284,16036,13.593,16037,9.511,16038,7.172,16039,7.172,16040,7.172,16041,7.172,16042,7.172,16043,6.796,16044,6.796]],["title/classes/Lti11ToolConfigCreateParams.html",[0,0.241,10312,5.86]],["body/classes/Lti11ToolConfigCreateParams.html",[0,0.345,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.524,30,0.001,32,0.172,33,0.455,47,1.013,95,0.134,101,0.009,103,0,104,0,112,0.781,190,2.412,200,2.265,201,3.872,202,1.699,231,1.719,296,3.521,299,4.923,300,3.818,436,2.943,614,2.294,899,3.382,1598,6.655,2036,3.643,2088,5.673,2125,5.903,2333,6.312,2696,6.019,2698,4.366,2703,6.364,2720,9.224,2721,7.815,2722,6.013,2723,6.013,2724,6.013,2725,6.013,2726,6.013,6837,5.429,8152,7.465,8158,7.363,8160,7.363,8162,7.363,8306,8.261,8337,8.098,10311,6.013,10312,8.383,10319,6.495,16045,12.259,16046,6.855,16047,7.401,16048,6.855,16049,6.855,16050,6.855,16051,7.401,16052,7.401,16053,6.855,16054,9.228,16055,6.855,16056,6.855]],["title/classes/Lti11ToolConfigEntity.html",[0,0.241,10363,5.658]],["body/classes/Lti11ToolConfigEntity.html",[0,0.257,2,0.784,3,0.014,4,0.014,5,0.007,7,0.103,27,0.516,29,0.567,30,0.001,31,0.417,32,0.164,33,0.516,47,0.99,95,0.134,96,1.939,101,0.01,103,0,104,0,112,0.783,190,2.324,195,2.195,196,2.465,211,4.097,223,4.197,224,2.152,231,1.282,232,2.703,433,0.913,435,2.552,457,4.13,614,2.303,886,3.986,1598,6.668,2036,3.657,2109,3.254,2125,5.914,2696,6.124,2698,4.427,2703,4.198,2710,6.25,2712,5.067,2713,8.114,2714,6.519,2715,4.198,8152,7.479,8158,7.377,8160,7.377,8162,7.377,8177,5.449,8178,6.035,8179,5.856,8180,6.25,8183,5.702,8184,6.035,8187,5.702,8188,6.035,8191,5.702,8192,6.035,8219,6.519,8306,8.276,8332,6.93,8337,8.113,10363,10.229,16043,6.519,16044,6.519,16057,13.468,16058,9.988,16059,7.428,16060,7.428,16061,7.428,16062,7.428,16063,7.428]],["title/classes/Lti11ToolConfigResponse.html",[0,0.241,10922,5.86]],["body/classes/Lti11ToolConfigResponse.html",[0,0.256,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.524,29,0.565,30,0.001,31,0.416,32,0.172,33,0.515,47,0.989,95,0.126,101,0.009,103,0,104,0,112,0.781,190,2.372,201,4.378,202,1.699,231,1.719,232,2.696,233,2.294,296,3.687,433,0.909,435,2.542,436,2.943,614,2.294,2036,3.643,2109,3.242,2125,5.903,2333,6.312,2696,6.019,2698,4.366,2703,6.364,2707,5.322,2716,5.224,2729,6.013,2730,10.216,2732,6.495,2733,6.495,2734,6.013,8152,7.465,8158,7.363,8160,7.363,8162,7.363,8177,5.429,8178,6.013,8183,5.681,8184,6.013,8187,5.681,8188,6.013,8191,5.681,8192,6.013,8306,8.261,8332,5.135,8337,8.098,10922,10.58,16043,6.495,16044,6.495,16064,13.236,16065,9.228,16066,6.855,16067,6.855,16068,6.855,16069,6.495]],["title/classes/Lti11ToolConfigUpdateParams.html",[0,0.241,10844,5.86]],["body/classes/Lti11ToolConfigUpdateParams.html",[0,0.343,2,0.777,3,0.014,4,0.014,5,0.007,7,0.102,27,0.524,30,0.001,32,0.172,33,0.549,47,1.011,95,0.134,101,0.009,103,0,104,0,112,0.779,190,2.409,200,2.252,201,4.365,202,1.69,231,1.713,296,3.458,299,4.914,300,4.304,436,2.932,614,2.282,899,3.363,1598,6.637,2036,3.623,2088,5.665,2125,5.887,2333,6.294,2696,6.01,2698,4.36,2703,6.347,2720,9.206,2721,6.887,2722,5.979,2723,5.979,2724,5.979,2725,5.979,2726,5.979,6837,7.281,8152,7.444,8158,7.343,8160,7.343,8162,7.343,8306,8.238,8337,8.076,10844,8.351,11141,6.193,11143,6.46,11145,6.46,16045,12.242,16046,6.817,16048,6.817,16050,6.817,16054,9.194,16055,6.817,16056,6.817,16070,7.36,16071,7.36,16072,7.36,16073,6.817]],["title/classes/LtiRoleMapper.html",[0,0.241,16074,6.451]],["body/classes/LtiRoleMapper.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,27,0.351,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,95,0.126,101,0.012,103,0.001,104,0.001,125,2.95,127,4.516,135,1.612,148,0.886,467,3.605,595,3.418,711,2.61,1756,6.511,2036,4.436,5056,7.443,11442,6.06,11443,6.06,13947,6.153,13967,6.918,16074,10.49,16075,11.326,16076,9.012,16077,11.326,16078,11.326,16079,9.012,16080,14.253,16081,8.347,16082,9.012,16083,11.326,16084,9.012,16085,11.326,16086,9.012,16087,9.012,16088,9.012,16089,9.012,16090,11.326,16091,9.012]],["title/entities/LtiTool.html",[205,1.419,8156,5.221]],["body/entities/LtiTool.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,26,1.322,27,0.524,30,0.001,31,0.558,32,0.167,33,0.621,47,1.008,49,3.036,95,0.102,96,1.703,97,1.674,99,0.836,101,0.013,103,0,104,0,110,2.802,112,0.512,122,2.493,125,2.176,129,3.561,130,1.123,148,0.408,153,0.671,159,0.424,190,2.41,195,3.047,196,4.485,197,3.862,205,1.329,206,1.354,211,7.318,219,3.598,223,4.213,224,1.202,225,2.5,226,1.887,228,0.745,229,1.637,231,0.716,232,1.123,233,1.287,376,4.785,540,1.377,702,2.055,711,1.89,874,4.718,886,3.144,1454,2.555,1582,6.569,1598,4.763,1835,2.132,2125,4.789,2184,1.643,2465,2.452,2942,3.026,3436,4.141,4664,1.869,5343,3.372,7243,2.254,7535,3.642,7557,3.372,7570,3.372,8141,7.074,8142,3.844,8143,5.725,8144,7.422,8145,6.042,8146,6.042,8147,3.844,8148,3.844,8149,6.042,8150,3.844,8151,3.844,8152,6.583,8153,6.042,8154,6.042,8155,3.844,8156,4.89,8157,6.354,8158,5.27,8159,6.354,8160,5.27,8161,5.489,8162,5.27,8163,6.354,8164,6.354,8165,6.041,8166,6.042,8167,7.466,8168,3.271,8169,3.844,8170,5.796,8171,6.354,8172,5.201,8173,4.858,8174,6.041,8175,4.909,8176,2.613,8177,3.044,8178,3.372,8179,3.271,8180,3.492,8181,3.492,8182,3.844,8183,3.186,8184,3.372,8185,3.492,8186,3.844,8187,3.186,8188,3.372,8189,3.271,8190,3.372,8191,3.186,8192,3.372,8193,3.492,8194,3.844,8195,3.492,8196,3.844,8197,3.492,8198,3.844,8199,3.844,8200,3.844,8201,3.844,8202,3.492,8203,3.844,8204,3.492,8205,3.844,8206,3.186,8207,3.372,8208,2.93,8209,3.111,8210,3.492,8211,3.844,8212,3.111,8213,3.372,16092,4.15,16093,4.15,16094,4.15,16095,4.15,16096,4.15,16097,4.15,16098,4.15,16099,4.15,16100,4.15,16101,4.15,16102,4.15,16103,4.15,16104,4.15,16105,4.15,16106,4.15,16107,4.15,16108,4.15,16109,4.15,16110,4.15,16111,4.15,16112,4.15,16113,4.15,16114,4.15]],["title/classes/LtiToolDO.html",[0,0.241,8222,4.917]],["body/classes/LtiToolDO.html",[0,0.291,2,0.613,3,0.011,4,0.011,5,0.005,7,0.081,26,2.003,27,0.553,29,0.443,30,0.001,31,0.609,32,0.176,33,0.65,34,1.438,47,1.056,95,0.11,99,1.17,101,0.011,103,0,104,0,110,3.437,112,0.66,122,2.718,130,2.675,231,1.451,433,0.713,436,1.715,1598,5.842,1770,2.324,1852,6.404,2125,6.028,2184,2.298,3436,5.079,4784,5.096,6696,4.259,7243,3.154,8144,8.031,8152,6.552,8157,7.793,8158,6.463,8159,7.793,8160,6.463,8162,6.463,8163,7.793,8164,7.793,8165,7.41,8168,7.793,8170,7.108,8171,7.793,8172,6.379,8173,5.958,8174,7.41,8175,6.02,8177,6.168,8179,4.577,8181,4.885,8183,4.457,8185,4.885,8187,4.457,8189,4.577,8191,4.457,8193,4.885,8195,4.885,8197,4.885,8202,4.885,8204,4.885,8206,4.457,8208,4.099,8210,4.885,8212,4.352,8214,8.317,8215,5.378,8216,5.378,8219,5.096,8220,4.457,8221,4.352,8222,8.119,8223,6.628,8224,4.577,8225,5.378,8226,5.378,8227,5.378,8228,5.378,8229,5.378,8230,5.378,8231,5.378,8232,5.096,8233,5.378,8234,5.378,8235,5.378,8236,5.378,8237,5.378,8238,5.378,8239,5.378,8240,5.378,8241,5.378,8242,5.378,8243,5.378,8244,5.378,16115,8.409,16116,5.806,16117,5.806,16118,5.806,16119,5.806,16120,5.806,16121,5.806,16122,5.806,16123,5.806,16124,5.806,16125,5.806,16126,5.806,16127,5.806,16128,5.806,16129,5.806,16130,5.806,16131,5.806,16132,5.806,16133,5.806,16134,5.806]],["title/classes/LtiToolFactory.html",[0,0.241,16135,6.451]],["body/classes/LtiToolFactory.html",[0,0.161,2,0.49,3,0.009,4,0.009,5,0.004,7,0.065,8,0.813,27,0.515,29,1.018,30,0.001,31,0.743,32,0.167,33,0.585,34,1.479,35,1.394,47,0.871,55,2.328,59,3.251,95,0.108,101,0.006,103,0,104,0,110,2.473,112,0.558,113,4.385,127,4.86,129,3.51,130,3.289,135,1.126,148,0.85,153,0.75,157,2.002,172,3.036,185,2.436,192,2.559,195,1.563,197,2.418,205,2.131,206,2.321,228,1.277,231,1.227,326,4.871,374,3.089,433,0.57,436,3.828,467,2.07,478,1.3,501,7.243,502,5.392,505,3.954,506,5.392,507,5.397,508,3.954,509,3.954,510,3.954,511,3.893,512,4.416,513,4.809,514,6.438,515,5.724,516,7.028,517,2.6,522,2.579,523,3.954,524,2.6,525,5.083,526,5.229,527,4.122,528,4.92,529,3.923,530,2.579,531,2.432,532,4.047,533,2.466,534,2.432,535,2.579,536,2.6,537,4.734,538,2.579,539,7.205,540,3.933,541,6.589,542,2.6,543,4.21,544,2.579,545,2.6,546,2.579,547,2.6,548,2.579,549,2.888,550,2.716,551,2.579,552,6.04,553,2.6,554,2.579,555,3.954,556,3.609,557,3.954,558,2.6,559,2.501,560,2.466,561,2.089,562,2.579,563,2.579,564,2.579,565,2.6,566,2.6,567,1.73,568,2.579,569,1.442,570,2.6,571,2.815,572,2.579,573,2.6,575,2.667,577,4.244,1598,4.203,2125,3.728,3436,2.384,4690,3.903,6369,2.339,8143,4.072,8144,3.769,8152,3.075,8156,5.331,8157,5.607,8158,4.65,8159,5.607,8160,4.65,8162,3.033,8163,3.657,8164,3.657,8165,3.477,8168,5.607,8170,6.22,8171,5.607,8172,2.994,8173,2.796,8174,5.331,8175,2.825,8214,3.903,10383,6.588,10388,6.588,13648,3.561,16135,8.012,16136,4.639,16137,7.113,16138,4.639,16139,7.113,16140,4.639,16141,4.639,16142,4.639,16143,4.639,16144,4.639,16145,4.639]],["title/modules/LtiToolModule.html",[252,1.839,16146,6.113]],["body/modules/LtiToolModule.html",[0,0.32,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,252,3.307,254,3.324,255,3.529,256,3.617,257,3.604,258,3.591,259,4.55,260,4.655,269,4.504,270,3.553,271,3.48,277,1.321,279,3.831,610,3.644,1027,2.828,2448,6.444,5069,10.086,6082,7.507,16146,12.628,16147,9.24,16148,9.24,16149,9.24,16150,12.163,16151,8.559,16152,9.24]],["title/injectables/LtiToolRepo.html",[589,0.926,5069,5.109]],["body/injectables/LtiToolRepo.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,8,0.813,10,2.858,12,3.219,18,3.564,26,2.236,27,0.511,29,0.989,30,0.001,31,0.76,32,0.16,33,0.592,34,1.479,35,1.486,36,2.705,40,2.245,47,0.893,95,0.117,96,1.211,101,0.006,103,0,104,0,110,2.473,112,0.364,113,4.385,122,1.793,135,1.361,142,2.575,145,1.741,148,1.129,153,1.15,185,2.436,205,2.249,206,1.514,224,1.344,231,1.227,277,0.663,317,2.973,347,2.384,436,3.664,478,1.3,569,1.442,579,1.325,589,0.946,591,1.1,652,2.245,657,1.978,729,4.856,735,3.219,736,5.149,766,2.483,1598,4.203,1770,4.187,2125,3.728,2140,2.644,2437,8.993,2439,5.114,2440,5.021,2441,5.021,2442,5.114,2443,5.114,2444,5.021,2451,3.336,2453,3.336,2455,4.65,2456,4.856,2457,3.336,2460,5.114,2462,3.219,2463,7.79,2464,5.021,2465,4.203,2467,3.336,2468,5.114,2470,3.336,2472,2.796,2473,2.888,2474,3.12,2476,3.336,2517,6.484,3436,3.655,4768,2.796,4769,3.657,4798,3.275,5069,5.217,6878,3.403,6879,3.403,6880,3.403,6881,3.403,6882,3.403,6883,3.403,6884,3.403,6897,6.243,8152,3.075,8156,8.611,8157,5.607,8158,4.65,8159,5.607,8160,4.65,8161,3.903,8162,4.65,8163,5.607,8164,5.607,8165,8.272,8168,5.607,8170,7.935,8171,5.607,8172,4.59,8173,4.287,8174,5.331,8175,4.332,8222,8.579,10706,5.779,10712,5.985,10718,3.561,10777,3.903,10781,4.297,10782,4.297,10801,4.072,10802,4.297,10806,4.297,10807,4.297,12233,4.297,13648,3.561,16153,4.639,16154,6.588,16155,7.113,16156,7.113,16157,4.639,16158,4.639,16159,7.113,16160,4.639,16161,4.639,16162,4.639,16163,4.639,16164,4.639,16165,3.903,16166,4.639,16167,4.639,16168,4.639,16169,4.639,16170,4.639,16171,4.639,16172,4.639,16173,4.639,16174,4.639,16175,4.639,16176,4.297,16177,4.639,16178,4.639,16179,4.639,16180,4.639,16181,4.639,16182,4.639,16183,4.639,16184,4.639,16185,4.639,16186,4.639,16187,4.639,16188,4.639,16189,4.639,16190,4.639,16191,4.639,16192,4.639,16193,4.639,16194,4.639,16195,4.639,16196,4.639,16197,4.639,16198,4.639,16199,4.639,16200,4.639,16201,4.639]],["title/injectables/LtiToolService.html",[589,0.926,16150,5.86]],["body/injectables/LtiToolService.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.126,8,1.3,27,0.443,29,0.868,30,0.001,31,0.639,32,0.141,33,0.52,35,1.04,36,2.626,47,0.913,95,0.138,101,0.012,103,0.001,104,0.001,122,2.576,135,1.181,148,0.892,228,1.629,277,1.297,279,3.762,317,2.688,400,2.66,433,1.115,589,1.512,591,2.152,711,3.599,5069,10.04,6088,7.371,6369,4.575,8156,8.525,8165,9.763,8222,6.405,13648,6.965,16150,9.57,16151,11.508,16154,10.535,16202,12.424,16203,9.073,16204,9.073,16205,11.374,16206,9.073,16207,9.073]],["title/classes/LumiUserWithContentData.html",[0,0.241,13199,6.113]],["body/classes/LumiUserWithContentData.html",[0,0.247,2,0.752,3,0.013,4,0.013,5,0.006,7,0.099,26,2.741,27,0.538,29,0.544,30,0.001,31,0.666,32,0.174,33,0.326,34,1.889,47,0.941,95,0.123,99,1.436,101,0.012,103,0,104,0,112,0.762,122,2.655,159,0.729,205,1.452,290,1.69,433,0.875,458,2.841,578,3.735,702,5.47,1195,6.892,1237,2.813,1619,5.977,2109,3.122,2164,3.305,2184,2.82,3933,3.374,4588,4.063,4665,4.171,6617,4.061,6663,8.099,6666,3.374,11267,4.865,13132,8.17,13195,10.41,13196,12.891,13197,6.6,13198,10.405,13199,8.522,13200,10.231,13201,10.231,13202,9.294,13203,9.294,13204,9.294,13205,9.294,13206,6.6,13207,6.6,13208,6.6,13209,6.6,13210,6.6,13211,6.6,13212,6.6,13213,6.6,13214,6.6,13215,6.6,13216,6.6,13217,5.341,13218,6.6,13219,6.6,16208,9.71,16209,7.125,16210,7.125,16211,7.125,16212,7.125,16213,7.125,16214,7.125,16215,7.125,16216,7.125,16217,7.125]],["title/interfaces/Mail.html",[159,0.712,1454,4.287]],["body/interfaces/Mail.html",[3,0.015,4,0.015,5,0.007,7,0.115,30,0.001,31,0.465,32,0.165,33,0.63,47,1.082,77,5.347,101,0.011,103,0.001,104,0.001,112,0.842,159,1.392,161,1.974,231,2.173,1240,4.897,1439,8.047,1440,6.361,1441,8.926,1442,8.241,1443,6.361,1444,4.607,1445,8.047,1446,6.078,1447,6.078,1448,8.926,1449,6.361,1450,9.442,1451,8.241,1452,8.241,1453,9.442,1454,8.23,1455,9.442,1456,9.442,1457,9.669,1458,9.669]],["title/interfaces/MailAttachment.html",[159,0.712,1441,5.221]],["body/interfaces/MailAttachment.html",[3,0.016,4,0.016,5,0.008,7,0.123,30,0.001,31,0.725,32,0.152,47,1.081,77,5.7,101,0.011,103,0.001,104,0.001,112,0.877,159,1.412,161,2.104,231,2.226,1240,5.22,1439,8.383,1440,6.781,1441,9.669,1442,8.585,1443,9.902,1444,7.171,1445,8.383,1446,6.479,1447,6.479,1448,9.199,1449,6.781,1450,8.383,1451,8.585,1452,8.585,1453,8.383,1454,6.884,1455,6.621,1456,6.621,1457,6.781,1458,6.781]],["title/interfaces/MailConfig.html",[159,0.712,16218,5.346]],["body/interfaces/MailConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,311,6.868,16218,9.692,16219,10.778,16220,12.791]],["title/interfaces/MailContent.html",[159,0.712,1448,5.221]],["body/interfaces/MailContent.html",[3,0.016,4,0.016,5,0.008,7,0.123,30,0.001,31,0.497,32,0.139,33,0.512,47,1.071,77,8.331,101,0.011,103,0.001,104,0.001,112,0.878,159,1.413,161,2.109,231,2.228,1240,5.232,1439,9.677,1440,6.796,1441,9.208,1442,8.597,1443,6.796,1444,4.922,1445,9.677,1446,6.494,1447,6.494,1448,9.677,1449,9.91,1450,8.395,1451,8.597,1452,8.597,1453,8.395,1454,6.894,1455,6.636,1456,6.636,1457,6.796,1458,6.796]],["title/modules/MailModule.html",[252,1.839,16221,5.658]],["body/modules/MailModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,8,1.051,27,0.358,29,0.702,30,0.001,31,0.517,32,0.114,33,0.42,35,1.055,47,0.843,95,0.146,101,0.012,103,0.001,104,0.001,148,0.904,159,0.941,252,3.3,254,3.309,259,3.34,260,3.418,277,1.315,467,3.339,540,3.052,634,6.654,651,4.666,685,5.335,1016,7.967,1045,7.5,1048,6.382,1267,6.493,1272,7.223,1273,8.073,1274,7.5,1275,8.073,2088,3.942,16218,7.06,16221,10.156,16222,8.519,16223,11.488,16224,9.198,16225,7.739,16226,10.156,16227,8.519,16228,8.519]],["title/interfaces/MailModuleOptions.html",[159,0.712,16223,6.113]],["body/interfaces/MailModuleOptions.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,32,0.142,47,1.009,95,0.146,101,0.012,103,0.001,104,0.001,112,0.9,148,0.904,159,0.941,161,2.191,252,3.3,259,3.34,260,3.418,277,1.315,467,2.677,634,6.654,651,4.666,685,5.335,1016,7.31,1045,6.013,1267,6.493,1272,8.481,1273,8.073,1274,8.806,1275,8.073,2088,3.942,16218,7.06,16221,9.319,16222,8.519,16223,10.972,16225,7.739,16226,10.156,16227,8.519,16228,8.519]],["title/injectables/MailService.html",[589,0.926,16226,5.658]],["body/injectables/MailService.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,8,1.052,27,0.471,29,0.876,30,0.001,31,0.645,32,0.149,33,0.525,35,1.217,36,1.946,47,1.03,95,0.135,101,0.008,103,0,104,0,112,0.722,125,2.979,135,1.38,142,2.389,145,3.457,148,1.128,159,0.675,195,1.45,228,2.246,277,0.944,317,2.295,339,2.7,433,1.131,540,3.52,589,1.224,591,1.565,634,7.446,651,3.348,652,2.794,657,1.509,688,3.076,711,3.073,1272,4.155,1274,4.314,1296,7.748,1297,5.36,1298,9.376,1310,4.658,1311,4.314,1339,5.791,1342,5.791,1454,7.7,1647,7.481,2088,2.828,16218,5.065,16225,5.552,16226,7.481,16229,6.112,16230,9.825,16231,9.209,16232,9.209,16233,10.076,16234,9.209,16235,8.53,16236,6.598,16237,11.185,16238,8.53,16239,6.598,16240,6.598,16241,6.112,16242,6.112,16243,6.112,16244,6.112,16245,6.112,16246,6.112,16247,6.112,16248,6.112,16249,6.112,16250,6.112,16251,6.112,16252,6.112,16253,6.112,16254,6.112,16255,6.112,16256,8.53,16257,8.53,16258,6.112,16259,6.112,16260,6.112,16261,6.112]],["title/interfaces/MailServiceOptions.html",[159,0.712,16233,6.113]],["body/interfaces/MailServiceOptions.html",[0,0.263,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.126,36,1.609,47,1.04,95,0.141,101,0.01,103,0,104,0,112,0.796,125,2.721,135,1.486,142,2.755,145,3.811,148,1.198,159,0.778,161,1.813,195,1.673,228,2.188,277,1.088,317,1.647,339,2.232,433,0.935,540,2.525,589,1.349,634,6.626,651,3.862,652,2.656,657,1.741,688,3.548,711,2.205,1272,7.673,1274,7.967,1298,8.562,1310,5.373,1311,4.976,1339,6.68,1342,6.68,1454,7.032,1647,6.183,2088,3.262,16218,5.843,16225,6.404,16226,6.183,16229,7.05,16230,7.05,16233,10.025,16235,7.05,16237,11.287,16238,7.05,16241,7.05,16242,7.05,16243,7.05,16244,7.05,16245,7.05,16246,7.05,16247,7.05,16248,7.05,16249,7.05,16250,7.05,16251,7.05,16252,7.05,16253,7.05,16254,7.05,16255,7.05,16256,9.403,16257,9.403,16258,7.05,16259,7.05,16260,7.05,16261,7.05]],["title/modules/ManagementModule.html",[252,1.839,16262,5.658]],["body/modules/ManagementModule.html",[0,0.25,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,101,0.009,103,0,104,0,122,1.496,135,1.551,252,2.935,254,2.595,255,2.755,256,2.825,257,2.814,258,2.804,259,4.527,260,2.681,265,4.542,269,3.834,270,2.774,271,2.717,274,4.628,276,4.352,277,1.032,647,5.292,649,4.543,651,3.66,1021,4.656,1025,4.656,1026,4.543,1027,2.208,1039,5.687,1716,6.332,2219,3.234,2220,3.638,2221,3.511,2903,4.717,3430,3.133,3798,8.595,3803,8.405,3804,10.816,3811,4.782,3813,4.441,3815,6.683,3816,7.72,4206,10.816,4259,4.223,4888,4.491,5201,10.444,5202,5.093,5206,5.093,5208,6.683,5211,6.683,5220,10.134,8843,8.239,8856,6.07,8871,9.757,8900,8.595,9906,7.34,12175,8.595,14517,6.07,14593,6.332,14599,8.595,16262,11.468,16263,7.215,16264,7.215,16265,7.215,16266,7.215,16267,7.215,16268,9.793,16269,7.215,16270,7.215,16271,7.215,16272,11.117,16273,7.215]],["title/modules/ManagementServerModule.html",[252,1.839,16274,6.113]],["body/modules/ManagementServerModule.html",[0,0.358,3,0.014,4,0.014,5,0.007,30,0.001,32,0.097,47,0.575,87,3.942,95,0.152,96,2.698,101,0.015,103,0,104,0,135,1.017,148,0.769,153,1.264,206,2.551,224,2.265,252,3.473,254,2.812,255,2.986,256,3.061,257,3.05,258,3.039,259,2.84,260,2.905,269,4.046,270,3.007,271,2.945,276,4.822,277,1.118,290,1.855,347,4.018,467,2.276,478,2.19,540,2.594,571,3.095,623,5.112,736,5.088,809,5.112,1014,5.425,1015,5.338,1016,6.586,1017,7.171,1022,7.171,1023,7.295,1024,7.171,1026,4.923,1028,7.171,1029,5.258,1036,8.856,1040,5.425,1041,5.338,1043,7.171,1045,5.112,1086,3.722,1087,3.608,1088,3.664,1089,3.895,1166,5.182,1167,4.813,1829,3.351,2164,3.627,2860,5.045,2954,4.155,5202,5.519,5348,5.861,12414,7.58,12415,7.58,12416,7.746,12427,5.735,12428,5.735,12571,6.862,12572,5.861,12573,6.862,16262,11.067,16274,11.547,16275,7.819,16276,7.819,16277,7.242,16278,7.242,16279,6.862,16280,6.862,16281,6.862]],["title/modules/ManagementServerTestModule.html",[252,1.839,16281,6.113]],["body/modules/ManagementServerTestModule.html",[0,0.346,3,0.014,4,0.014,5,0.007,8,0.85,27,0.29,29,0.568,30,0.001,31,0.418,32,0.124,33,0.34,35,0.853,47,0.547,59,2.313,87,3.752,95,0.15,96,2.611,101,0.014,103,0,104,0,135,0.968,148,0.731,153,1.204,206,2.428,224,2.156,252,3.425,254,2.677,255,2.842,256,2.914,257,2.903,258,2.893,259,2.703,260,2.765,269,3.915,270,2.862,271,2.803,276,4.728,277,1.064,290,1.765,347,3.824,467,2.911,478,2.085,540,3.318,571,2.946,623,4.866,736,4.923,809,4.866,1014,5.164,1015,5.081,1016,7.197,1017,6.939,1022,6.939,1023,7.059,1024,6.939,1026,4.686,1028,8.379,1029,8.472,1036,8.683,1040,5.164,1041,5.081,1043,6.939,1045,6.538,1048,5.164,1086,3.543,1087,3.435,1088,3.487,1089,3.707,1166,4.933,1167,4.581,1829,3.19,2164,3.452,2860,4.802,2954,3.955,5202,5.253,5348,5.578,12414,7.335,12415,7.335,12416,7.496,12427,5.459,12428,5.459,12571,6.532,12572,5.578,12573,6.532,16262,10.946,16274,6.532,16277,9.262,16278,6.893,16279,6.532,16280,6.532,16281,11.825,16282,7.442,16283,7.442,16284,7.442]],["title/entities/Material.html",[205,1.419,6209,4.494]],["body/entities/Material.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,27,0.525,30,0.001,32,0.167,33,0.524,47,1.071,95,0.102,96,1.717,101,0.015,103,0,104,0,110,3.986,112,0.721,155,3.659,157,2.653,159,1.083,190,2.414,205,1.872,206,2.146,223,4.468,224,1.905,225,3.521,226,2.991,231,1.135,232,1.78,233,2.039,289,3.815,1821,3.114,2831,4.589,3056,3.165,3932,4.244,6209,5.929,6214,4.359,6223,7.709,6578,7.495,6628,4.643,7243,3.572,7571,4.359,7572,3.924,8176,4.141,16285,5.533,16286,9.313,16287,9.313,16288,9.037,16289,9.313,16290,6.577,16291,6.577,16292,6.577,16293,6.577,16294,9.313,16295,6.577,16296,6.577,16297,6.577,16298,9.313,16299,6.577,16300,6.577,16301,6.577,16302,5.533,16303,4.824,16304,5.533,16305,5.533,16306,7.243,16307,5.343,16308,5.533,16309,5.533,16310,5.533,16311,5.533,16312,5.533,16313,5.533,16314,5.533,16315,5.533,16316,5.533,16317,5.533,16318,5.533,16319,5.533]],["title/classes/MaterialFactory.html",[0,0.241,16320,6.451]],["body/classes/MaterialFactory.html",[0,0.177,2,0.541,3,0.01,4,0.01,5,0.005,7,0.071,8,0.876,27,0.516,29,1.02,30,0.001,31,0.715,32,0.168,33,0.581,34,1.572,35,1.433,47,0.564,55,2.409,59,3.396,95,0.085,101,0.007,103,0,104,0,110,2.667,112,0.602,113,4.556,127,5.113,129,3.619,130,3.307,135,0.667,148,0.504,155,1.636,157,2.529,172,3.273,185,2.627,192,2.826,205,2.226,206,2.502,228,1.377,231,1.323,326,4.843,374,3.33,433,0.63,436,3.908,467,2.232,501,7.368,502,5.672,505,4.264,506,5.672,507,5.55,508,4.264,509,4.264,510,4.264,511,4.198,512,4.693,513,5.11,514,6.639,515,5.98,516,7.157,517,2.872,522,2.849,523,4.264,524,2.872,525,5.348,526,5.501,527,4.336,528,5.177,529,4.23,530,2.849,531,2.686,532,4.205,533,2.724,534,2.686,535,2.849,536,2.872,537,5.031,538,2.849,539,7.075,540,4.055,541,6.795,542,2.872,543,4.473,544,2.849,545,2.872,546,2.849,547,2.872,548,2.849,549,3.19,550,3,551,2.849,552,6.276,553,2.872,554,2.849,555,4.264,556,3.891,557,4.264,558,2.872,559,2.763,560,2.724,561,2.308,562,2.849,563,2.849,564,2.849,565,2.872,566,2.872,567,1.911,568,2.849,569,1.593,570,2.872,571,3.036,572,2.849,573,2.872,576,3.028,981,5.598,2831,3.07,6209,7.05,6223,3.446,6578,3.35,16286,4.163,16287,4.163,16288,4.04,16289,4.163,16306,4.04,16320,8.514,16321,5.125,16322,4.747,16323,5.125]],["title/interfaces/MaterialProperties.html",[159,0.712,16306,5.49]],["body/interfaces/MaterialProperties.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,30,0.001,32,0.169,33,0.537,47,1.085,95,0.107,96,1.818,101,0.015,103,0,104,0,110,4.281,112,0.75,155,3.93,157,2.85,159,1.116,161,1.659,205,1.948,223,4.286,224,2.017,225,3.663,226,3.167,231,1.202,232,1.885,233,2.159,289,4.04,1821,3.298,2831,4.929,3056,3.352,3932,4.494,6209,4.494,6214,4.616,6223,8.28,6578,8.05,6628,4.916,7243,3.783,7571,4.616,7572,4.156,8176,4.385,16285,5.86,16286,10.003,16287,10.003,16288,9.706,16289,10.003,16294,10.003,16298,10.003,16302,5.86,16303,5.108,16304,5.86,16305,5.86,16306,8.605,16307,5.658,16308,5.86,16309,5.86,16310,5.86,16311,5.86,16312,5.86,16313,5.86,16314,5.86,16315,5.86,16316,5.86,16317,5.86,16318,5.86,16319,5.86]],["title/injectables/MaterialsRepo.html",[589,0.926,16324,6.451]],["body/injectables/MaterialsRepo.html",[0,0.287,3,0.015,4,0.015,5,0.007,7,0.115,8,1.227,10,4.314,12,4.858,18,5.38,26,2.175,27,0.509,29,0.962,30,0.001,31,0.708,32,0.156,33,0.576,34,1.417,35,1.445,36,2.517,40,4.01,49,4.043,95,0.133,101,0.011,103,0.001,104,0.001,148,0.815,205,1.689,206,3.502,231,1.852,277,1.185,317,2.892,436,3.721,532,5.192,589,1.427,591,1.966,728,7.893,734,4.524,735,4.858,736,5.862,759,4.945,760,5.047,761,4.995,762,5.047,763,5.75,764,4.995,765,5.047,766,4.436,3998,5.85,6209,6.927,16322,7.675,16324,9.943,16325,8.287,16326,8.287]],["title/interfaces/Meta.html",[159,0.712,13143,4.755]],["body/interfaces/Meta.html",[3,0.016,4,0.016,5,0.008,7,0.122,30,0.001,32,0.164,34,1.497,47,1.064,55,2.689,101,0.018,103,0.001,104,0.001,112,0.872,122,1.815,159,1.409,161,2.086,339,2.568,402,4.625,532,3.211,1076,5.58,1081,8.779,1115,4.893,3418,3.944,4996,5.979,7510,5.034,13138,6.563,13139,6.722,13140,6.563,13141,6.563,13142,6.722,13143,8.779,13144,9.87,13145,9.87,13146,6.563,13147,6.722,13148,6.423,13149,6.563,13150,6.722,13151,6.563]],["title/modules/MetaTagExtractorApiModule.html",[252,1.839,16327,5.86]],["body/modules/MetaTagExtractorApiModule.html",[0,0.309,3,0.017,4,0.017,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,106,6.006,107,8.064,252,3.256,254,3.213,255,3.411,256,3.497,257,3.484,258,3.472,259,4.48,260,3.319,265,6.324,269,4.409,270,3.435,271,3.364,273,5.624,274,4.688,276,4.409,277,1.277,314,3.399,1027,2.733,1856,6.418,1936,7.573,2680,4.102,3036,4.186,13143,6.098,14472,7.256,16327,11.975,16328,8.932,16329,8.932,16330,8.932,16331,11.076,16332,11.471,16333,8.273,16334,10.826,16335,8.932]],["title/controllers/MetaTagExtractorController.html",[314,2.65,16334,6.113]],["body/controllers/MetaTagExtractorController.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.299,29,0.587,30,0.001,31,0.432,32,0.165,33,0.351,35,0.881,36,2.159,95,0.146,100,2.68,101,0.01,103,0,104,0,106,6.87,107,8.736,135,1.493,141,4.379,148,1.128,153,1.243,190,1.377,202,1.764,228,1.38,274,3.199,277,1.099,314,2.924,316,3.698,317,2.483,325,6.057,349,6.206,379,5.183,390,5.981,391,7.53,392,4.001,395,4.113,398,4.143,400,2.253,401,4.306,402,4.128,657,1.757,871,3.759,1312,4.812,1984,6.87,2370,4.306,3036,3.601,3212,5.525,3214,7.658,3235,9.047,3240,3.948,3242,6.281,3586,5.981,6315,8.596,10020,7.842,12648,10.735,13143,7.836,13832,8.596,14472,9.324,16288,6.057,16332,9.657,16334,8.966,16336,10.216,16337,7.684,16338,11.477,16339,7.684,16340,7.684,16341,7.684,16342,7.684,16343,7.117,16344,7.684,16345,10.073,16346,7.684,16347,7.684,16348,7.684,16349,7.684,16350,7.684,16351,7.684]],["title/modules/MetaTagExtractorModule.html",[252,1.839,16331,5.658]],["body/modules/MetaTagExtractorModule.html",[0,0.231,3,0.012,4,0.012,5,0.006,30,0.001,95,0.157,101,0.009,103,0,104,0,106,4.496,107,7.549,252,2.82,254,2.405,255,2.553,256,2.618,257,2.608,258,2.599,259,3.88,260,3.97,265,5.826,269,3.639,270,2.571,271,2.518,276,3.639,277,0.956,290,1.586,610,2.637,613,3.844,651,3.392,1021,4.315,1025,4.315,1026,4.21,1027,2.046,1054,3.778,1484,8.446,1908,8.867,1932,9.415,1937,3.15,2051,2.829,2959,3.07,3811,4.432,3887,9.642,3890,7.818,3904,6.076,3907,4.371,4172,10.568,4186,5.132,7997,10.568,9051,8.867,12562,6.193,13143,4.565,15277,9.415,15730,10.568,16331,11.917,16333,6.193,16352,6.686,16353,6.686,16354,6.686,16355,6.686,16356,11.586,16357,10.568,16358,10.568,16359,6.686,16360,6.686,16361,6.686,16362,6.686,16363,6.193,16364,6.686,16365,6.686]],["title/classes/MetaTagExtractorResponse.html",[0,0.241,16345,6.113]],["body/classes/MetaTagExtractorResponse.html",[0,0.332,2,0.74,3,0.013,4,0.013,5,0.006,7,0.098,27,0.518,29,0.535,30,0.001,31,0.394,32,0.173,33,0.629,47,1.002,95,0.131,101,0.009,103,0,104,0,106,9.065,107,9.353,110,4.291,112,0.753,134,2.483,155,3.94,157,2.857,190,2.339,200,2.146,202,1.61,296,3.477,298,3.045,299,4.613,433,1.18,821,3.581,2109,3.072,3051,7.733,3054,7.334,3056,3.375,3586,7.225,6666,5.845,6675,4.469,7243,3.809,7265,9.217,7572,4.185,15808,5.697,16345,10.833,16366,13.481,16367,7.013,16368,12.343,16369,7.013,16370,7.013,16371,7.013,16372,7.013,16373,12.343,16374,7.013,16375,7.013,16376,7.013,16377,7.013,16378,7.013,16379,8.897,16380,7.013]],["title/injectables/MetaTagExtractorService.html",[589,0.926,16356,5.86]],["body/injectables/MetaTagExtractorService.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.879,27,0.464,29,0.909,30,0.001,31,0.669,32,0.16,33,0.544,35,1.317,36,2.427,47,0.99,55,1.559,95,0.128,101,0.007,103,0,104,0,106,8.229,107,8.932,110,4.553,117,6.063,125,2.98,126,6.063,129,1.523,130,1.392,131,6.076,132,4.765,134,1.822,135,1.657,145,2.887,148,1.203,152,4.515,153,1.244,154,4.328,155,3.493,156,4.765,157,2.366,158,2.839,228,0.924,277,0.736,290,1.22,317,2.706,329,3.133,337,4.735,339,1.508,400,1.508,414,2.61,433,0.632,579,1.469,589,1.022,591,1.22,613,2.957,614,1.595,628,3.07,629,4.059,652,2.741,657,2.107,1080,2.666,1169,2.984,1328,4.088,2995,3.57,4174,5.172,4177,6.063,4188,4.179,10596,3.773,13143,3.512,16356,6.472,16357,8.602,16363,4.765,16381,11.334,16382,5.144,16383,7.692,16384,7.692,16385,7.692,16386,7.125,16387,5.144,16388,5.144,16389,7.692,16390,5.144,16391,5.144,16392,7.692,16393,11.483,16394,10.223,16395,5.144,16396,7.692,16397,7.692,16398,5.144,16399,7.692,16400,5.144,16401,7.125,16402,5.144,16403,7.692,16404,7.751,16405,8.086,16406,7.125,16407,5.144,16408,5.144,16409,5.144,16410,5.144,16411,5.144,16412,5.144,16413,5.144,16414,5.144,16415,5.144,16416,5.144,16417,5.144,16418,7.692,16419,5.144,16420,5.144,16421,5.144,16422,5.144,16423,5.144,16424,5.144,16425,5.144,16426,5.144,16427,7.692,16428,5.144,16429,7.692,16430,7.692,16431,7.692,16432,5.144]],["title/injectables/MetaTagExtractorUc.html",[589,0.926,16332,5.86]],["body/injectables/MetaTagExtractorUc.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.566,27,0.422,29,0.827,30,0.001,31,0.609,32,0.134,33,0.495,35,0.964,36,2.29,39,2.334,47,0.881,95,0.146,99,1.694,101,0.011,103,0.001,104,0.001,106,8.063,107,8.774,110,4.169,131,4.293,134,2.977,135,1.094,141,4.645,148,0.826,153,1.36,228,1.946,277,1.202,317,2.594,433,1.331,579,2.401,589,1.441,591,1.995,610,3.316,629,4.437,652,2.204,657,2.478,1080,2.914,1328,4.469,1862,7.133,1962,5.017,1984,7.287,2667,6.046,2680,3.861,4174,7.287,16332,9.118,16356,11.488,16433,11.991,16434,8.408,16435,8.408,16436,10.837,16437,8.408,16438,8.408]],["title/injectables/MetaTagInternalUrlService.html",[589,0.926,16357,5.86]],["body/injectables/MetaTagInternalUrlService.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.089,8,1.027,27,0.465,29,0.863,30,0.001,31,0.635,32,0.157,33,0.517,35,1.194,36,2.39,47,0.983,95,0.133,101,0.008,103,0,104,0,106,8.32,107,8.929,110,4.146,112,0.705,129,1.889,130,1.726,131,3.256,134,2.259,135,1.552,141,3.854,148,1.172,152,5.598,153,1.031,154,5.366,155,2.87,157,1.476,158,2.354,228,2.031,277,0.912,317,2.677,433,1.105,589,1.195,591,1.513,613,7.31,652,2.721,657,1.459,1883,4.245,2219,2.859,2220,3.216,2221,3.104,2229,5.598,2802,4.896,4172,10.698,4184,7.995,4185,5.182,4186,8.682,4259,3.734,7997,10.698,15730,10.698,16357,7.566,16358,10.411,16381,11.461,16386,8.329,16401,8.329,16439,6.378,16440,10.415,16441,8.992,16442,8.992,16443,6.378,16444,8.992,16445,8.992,16446,6.378,16447,8.992,16448,6.378,16449,6.378,16450,6.378,16451,6.378,16452,6.378,16453,6.378,16454,6.378,16455,6.378,16456,6.378,16457,6.378,16458,5.908,16459,5.366,16460,6.378,16461,8.992,16462,6.378,16463,6.378,16464,6.378,16465,6.378,16466,6.378]],["title/classes/MetadataTypeMapper.html",[0,0.241,16467,6.451]],["body/classes/MetadataTypeMapper.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.144,33,0.432,35,1.085,95,0.141,99,1.906,101,0.012,103,0.001,104,0.001,134,3.349,135,1.519,148,0.93,153,1.887,277,1.352,467,3.685,579,2.7,2796,6.247,3555,7.438,7551,10.284,7621,7.683,7640,8.391,12399,7.683,16467,10.81,16468,11.671,16469,8.301,16470,11.671,16471,11.671,16472,9.172,16473,8.301,16474,6.36,16475,6.269,16476,8.76]],["title/classes/MigrationAlreadyActivatedException.html",[0,0.241,15037,5.658]],["body/classes/MigrationAlreadyActivatedException.html",[0,0.423,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.398,29,0.587,30,0.001,31,0.432,32,0.095,33,0.351,35,0.881,47,0.936,52,5.823,55,1.557,59,2.388,95,0.114,101,0.016,103,0,104,0,148,1.128,208,4.838,231,2.197,277,1.099,290,2.723,433,0.944,640,6.289,703,3.521,983,4.959,1027,2.351,1115,4.368,1237,3.543,1422,5.097,1423,5.937,1426,5.815,1468,5.937,1469,6.233,1472,5.679,2953,5.926,4970,5.27,10048,10.637,10121,5.636,13728,5.093,15025,6.243,15026,9.657,15027,6.465,15028,10.345,15029,10.292,15031,10.292,15033,6.465,15034,6.243,15035,6.243,15036,8.596,15037,8.3,16477,7.684,16478,7.684]],["title/injectables/MigrationCheckService.html",[589,0.926,16479,5.86]],["body/injectables/MigrationCheckService.html",[0,0.229,3,0.012,4,0.012,5,0.006,7,0.092,8,1.055,26,2.329,27,0.448,29,0.878,30,0.001,31,0.646,32,0.142,33,0.525,35,1.219,36,1.951,47,0.92,48,5.387,95,0.14,99,1.334,101,0.008,103,0,104,0,122,2.383,125,1.577,135,1.383,142,4.533,148,1.231,180,5.182,195,1.455,197,2.97,228,1.908,277,0.947,279,2.745,290,2.521,317,2.299,433,1.134,589,1.227,591,1.57,652,2.708,657,2.43,703,2.832,711,3.078,1853,2.172,2066,7.62,2068,7.374,2070,3.569,2071,5.454,3900,3.494,4970,5.552,4982,8.352,4984,8.09,5449,7.547,8114,6.567,10098,6.302,10107,6.948,11371,5.218,16479,7.766,16480,12.09,16481,6.62,16482,9.23,16483,9.23,16484,9.843,16485,10.128,16486,6.62,16487,9.23,16488,6.62,16489,9.23,16490,6.62,16491,6.62,16492,6.62,16493,6.132,16494,6.132,16495,6.62,16496,6.62,16497,5.81,16498,6.62,16499,8.549,16500,5.81,16501,5.378]],["title/classes/MigrationDto.html",[0,0.241,16502,6.113]],["body/classes/MigrationDto.html",[0,0.35,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,27,0.474,29,0.773,30,0.001,31,0.569,32,0.151,33,0.463,47,0.894,101,0.013,103,0.001,104,0.001,112,0.954,180,5.59,433,1.244,2258,9.378,2274,8.887,4970,5.989,16502,12.147,16503,10.125,16504,12.166,16505,12.166,16506,10.125,16507,10.125]],["title/classes/MigrationMayBeCompleted.html",[0,0.241,16508,6.451]],["body/classes/MigrationMayBeCompleted.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,27,0.449,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.062,52,4.699,59,2.879,95,0.103,101,0.012,103,0.001,104,0.001,122,2.6,148,0.91,228,1.663,339,2.716,400,2.716,433,1.138,640,5.701,703,2.841,1027,2.834,1115,3.524,1237,3.337,1422,5.02,1423,5.846,1426,5.827,1468,5.846,1469,6.138,3595,5.701,4970,5.759,15330,9.198,15349,7.109,16508,10.671,16509,11.615,16510,8.578,16511,8.578,16512,8.578,16513,8.578,16514,8.578,16515,7.524]],["title/classes/MigrationMayNotBeCompleted.html",[0,0.241,16516,6.451]],["body/classes/MigrationMayNotBeCompleted.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,8,1.318,27,0.45,29,0.709,30,0.001,31,0.521,32,0.115,33,0.424,35,1.065,52,4.71,59,2.885,95,0.103,101,0.012,103,0.001,104,0.001,122,2.603,148,0.912,228,1.667,339,2.722,400,2.722,433,1.14,703,2.848,1027,2.841,1115,3.533,1237,3.342,1422,5.025,1423,5.852,1426,5.832,1468,5.852,1469,6.144,4970,5.765,15330,9.208,15349,7.126,16509,11.628,16510,8.598,16511,8.598,16512,8.598,16513,8.598,16514,8.598,16515,7.541,16516,10.686,16517,7.541]],["title/interfaces/MigrationOptions.html",[159,0.712,4902,5.658]],["body/interfaces/MigrationOptions.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,10,1.868,30,0.001,32,0.107,33,0.505,36,2.43,47,0.714,52,3.615,53,3.411,55,2.33,70,5.604,72,3.272,78,8.948,95,0.108,101,0.006,103,0,104,0,112,0.559,122,1.796,125,1.697,129,3.1,135,1.362,145,2.675,148,0.851,153,1.152,157,2.922,159,0.886,161,1.108,171,3.127,194,4.114,197,3.315,228,1.556,230,4.723,259,1.689,290,1.103,317,2.685,365,4.313,388,3.713,413,2.832,433,0.571,467,1.353,540,3.815,579,1.328,612,3.127,618,5.59,644,2.832,648,2.928,652,1.975,657,2.781,745,6.229,756,2.842,758,5.915,892,3.569,981,2.832,985,4.133,1027,1.423,1080,1.612,1372,2.454,1619,5.333,1626,3.993,1751,5.617,1900,3.04,1928,4.211,1939,2.471,2219,2.084,2235,3.665,2447,1.944,2448,3.339,2531,2.507,2858,6.829,2864,3.778,2938,7.535,3108,5.664,3418,5.342,3803,4.659,3811,3.082,3812,8.813,3813,6.445,3814,2.722,4886,5.789,4887,2.722,4888,2.894,4889,3.912,4890,3.912,4891,3.665,4892,5.995,4893,6.493,4894,3.665,4895,3.665,4896,5.995,4897,3.912,4898,3.912,4899,8.506,4900,3.912,4901,3.912,4902,7.038,4903,8.037,4904,3.912,4905,3.001,4906,3.569,4907,3.665,4908,3.912,4909,3.912,4910,7.68,4911,3.912,4912,8.809,4913,3.411,4914,3.912,4915,8.037,4916,3.912,4917,3.001,4918,3.485,4919,5.915,4920,3.344,4921,4.791,4922,3.485,4923,3.912,4924,3.912,4925,3.912,4926,5.03,4927,8.17,4928,3.912,4929,3.912,4930,3.485,4931,3.912,4932,8.17,4933,3.912,4934,3.912,4935,3.912,4936,8.17,4937,8.17,4938,3.665,4939,6.115,4940,3.912,4941,3.912,4942,3.912,4943,3.411,4944,3.778,4945,5.227,4946,3.665,4947,3.912,4948,3.912,4949,3.912,4950,3.912,4951,3.912,4952,5.227,4953,3.082,4954,3.665,4955,3.175,4956,3.569,4957,3.912,4958,3.912,4959,3.912,4960,3.912,4961,3.912,4962,3.912,4963,3.912,4964,3.912,4965,3.912,4966,3.912,4967,3.665,4968,3.778]],["title/classes/MissingSchoolNumberException.html",[0,0.241,15035,5.658]],["body/classes/MissingSchoolNumberException.html",[0,0.423,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.398,29,0.587,30,0.001,31,0.432,32,0.095,33,0.351,35,0.881,47,0.936,52,5.823,55,1.557,59,2.388,95,0.114,101,0.016,103,0,104,0,148,1.128,208,4.838,231,2.197,277,1.099,290,2.723,433,0.944,640,6.289,703,3.521,983,4.959,1027,2.351,1115,4.368,1237,3.543,1422,5.097,1423,5.937,1426,5.815,1468,5.937,1469,6.233,1472,5.679,2953,5.926,4970,5.27,10048,10.637,10121,5.636,13728,5.093,15025,6.243,15026,9.657,15027,6.465,15028,10.345,15029,10.292,15031,10.292,15033,6.465,15034,6.243,15035,8.3,15036,8.596,15037,6.243,16518,7.684,16519,7.684]],["title/classes/MissingToolParameterValueLoggableException.html",[0,0.241,16520,6.451]],["body/classes/MissingToolParameterValueLoggableException.html",[0,0.226,2,0.69,3,0.012,4,0.012,5,0.006,7,0.091,8,1.045,27,0.509,29,0.873,30,0.001,31,0.367,32,0.168,33,0.482,35,1.049,47,0.941,55,1.324,95,0.134,101,0.008,103,0,104,0,112,0.717,130,1.768,135,0.85,148,0.642,155,3.649,183,2.495,190,2.157,228,2.463,231,1.578,233,2.025,277,0.934,339,1.916,393,3.235,402,2.35,417,6.743,433,1.124,436,3.683,614,2.835,652,1.86,868,5.502,871,2.404,983,4.216,998,4.997,1027,1.999,1078,2.862,1080,3.962,1115,4.35,1237,2.649,1354,8.358,1355,6.066,1356,6.899,1360,4.331,1361,3.756,1362,4.331,1363,4.331,1364,4.331,1365,4.331,1366,4.331,1367,4.022,1368,3.692,1374,4.216,1422,4.224,1423,4.919,1426,5.077,1462,3.523,1468,4.919,1469,5.165,1477,3.336,1478,3.472,1756,6.066,2006,6.536,2008,3.255,2109,2.862,2698,3.904,2765,7.473,2800,4.461,3598,3.662,4034,5.734,4249,5.016,6186,7.43,6699,4.114,10609,5.734,12507,6.052,16459,5.497,16520,8.471,16521,10.552,16522,10.552,16523,6.534,16524,6.534,16525,6.534,16526,6.534,16527,6.534,16528,9.146,16529,10.552,16530,6.534,16531,6.534,16532,6.534]],["title/modules/MongoMemoryDatabaseModule.html",[252,1.839,1029,4.684]],["body/modules/MongoMemoryDatabaseModule.html",[0,0.263,3,0.014,4,0.014,5,0.007,8,0.868,27,0.395,29,0.58,30,0.001,31,0.427,32,0.125,33,0.347,35,1.163,36,2.143,59,2.361,95,0.145,96,2.647,101,0.01,103,0,104,0,134,2.69,135,1.651,148,1.122,195,1.669,206,2.478,224,2.201,252,3.013,254,2.733,260,2.823,276,2.974,277,1.086,317,2.193,467,2.951,478,2.128,540,4.209,571,3.007,623,4.967,652,1.545,657,1.737,686,5.463,688,3.542,694,5.572,695,5.463,809,4.967,1014,8.449,1015,5.187,1016,7.76,1017,7.035,1028,8.449,1029,7.674,1041,6.923,1045,6.629,1048,5.271,1086,3.617,1087,3.506,1088,3.56,1089,3.784,1166,5.035,1167,4.676,1237,2.201,7858,4.967,7909,5.035,8853,7.783,12572,9.782,13404,6.667,16533,11.412,16534,11.412,16535,7.597,16536,7.597,16537,11.134,16538,7.597,16539,10.139,16540,7.597,16541,7.597,16542,7.597,16543,10.139,16544,7.597,16545,6.172,16546,7.597,16547,7.597,16548,7.597,16549,9.391,16550,7.597]],["title/classes/MongoPatterns.html",[0,0.241,14276,5.86]],["body/classes/MongoPatterns.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.374,30,0.001,72,5.407,101,0.012,103,0.001,104,0.001,112,0.924,129,2.841,130,2.596,409,7.503,412,5.229,467,3.708,622,9.281,1198,7.097,1928,6.958,1939,6.257,6203,8.465,6730,8.825,12133,10.334,13164,9.038,14276,9.906,16551,9.593,16552,12.739,16553,11.774,16554,11.774,16555,9.593,16556,11.774,16557,9.906,16558,11.774,16559,11.774,16560,10.906]],["title/classes/MoveCardBodyParams.html",[0,0.241,4391,6.113]],["body/classes/MoveCardBodyParams.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.456,30,0.001,32,0.145,47,0.859,55,2.368,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.095,194,4.593,195,2.907,196,4.389,197,3.697,200,2.901,202,2.177,296,3.316,855,4.733,3791,8.251,3792,6.578,3797,6.817,4391,10.258,4434,9.728,8009,8.781,16561,11.738,16562,12.672,16563,8.781,16564,9.48,16565,8.32,16566,9.48]],["title/classes/MoveColumnBodyParams.html",[0,0.241,5649,6.113]],["body/classes/MoveColumnBodyParams.html",[0,0.4,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.45,30,0.001,32,0.143,34,1.976,47,0.849,55,2.341,95,0.129,101,0.012,103,0.001,104,0.001,112,0.906,157,2.154,190,2.071,194,4.938,195,2.888,196,4.36,197,3.673,200,2.847,202,2.136,296,3.288,855,4.678,2051,4.889,3011,5.28,3791,8.156,3792,6.456,3797,6.69,4197,5.666,4434,9.646,5649,10.14,16561,11.64,16565,8.166,16567,9.304,16568,12.566,16569,9.304,16570,9.304]],["title/classes/MoveContentElementBody.html",[0,0.241,9848,6.113]],["body/classes/MoveContentElementBody.html",[0,0.403,2,0.994,3,0.017,4,0.017,5,0.008,7,0.131,27,0.454,30,0.001,32,0.144,47,0.855,55,2.358,95,0.13,101,0.012,103,0.001,104,0.001,112,0.913,190,2.086,194,4.573,195,2.9,196,4.378,197,3.688,200,2.881,202,2.161,296,3.305,855,4.712,2393,4.841,3791,8.215,3792,6.532,3797,6.769,4434,9.697,8014,7.92,9848,10.214,16563,8.719,16565,8.262,16571,12.632,16572,12.632,16573,9.413,16574,9.413]],["title/classes/MoveElementParams.html",[0,0.241,8406,5.86]],["body/classes/MoveElementParams.html",[0,0.432,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,32,0.142,55,2.528,72,4.204,95,0.127,100,3.193,101,0.015,103,0.001,104,0.001,112,0.897,157,2.119,190,2.05,200,2.802,201,4.446,202,2.102,296,3.519,300,4.383,1065,4.507,1170,5.765,2049,3.736,2473,5.699,3076,6.123,3791,9.225,3792,6.353,3797,8.97,4235,6.353,6336,7.703,6847,6.726,8014,7.703,8401,5.835,8406,9.624,8410,6.157,8535,7.438,9691,8.781,16575,11.555,16576,11.805,16577,9.156,16578,9.156]],["title/classes/MoveElementPositionParams.html",[0,0.241,16576,6.113]],["body/classes/MoveElementPositionParams.html",[0,0.42,2,0.909,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,30,0.001,32,0.15,33,0.503,55,2.736,72,5.051,95,0.123,100,3.836,101,0.014,103,0.001,104,0.001,112,0.863,157,2.546,190,2.173,200,2.634,201,4.275,202,1.976,296,3.455,300,4.215,1065,5.415,1170,7.634,2049,4.489,2473,6.847,3076,6.839,3788,10.189,3791,9.019,3792,5.972,3797,8.718,4235,7.633,6336,9.255,6847,6.537,8014,7.241,8401,7.01,8406,7.241,8410,8.153,8535,9.85,16575,11.834,16576,11.214,16579,8.606,16580,8.606,16581,8.606,16582,8.606]],["title/interfaces/NameMatch.html",[159,0.712,13751,5.658]],["body/interfaces/NameMatch.html",[2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,31,0.743,32,0.144,33,0.533,47,1.03,95,0.105,101,0.016,103,0.001,104,0.001,112,0.916,122,1.961,159,1.194,161,2.253,301,6.103,331,4.2,415,6.652,700,6.126,701,6.126,886,2.994,1582,8.392,2010,7.736,4703,7.035,5408,6.801,7553,5.344,12472,6.676,12473,6.562,12490,5.822,13746,7.683,13747,8.76,13748,9.82,13749,9.2,13750,8.76,13751,9.482]],["title/entities/News.html",[205,1.419,7882,4.04]],["body/entities/News.html",[0,0.324,3,0.008,4,0.019,5,0.004,7,0.15,9,3.138,26,1.899,27,0.491,30,0.001,31,0.526,32,0.162,33,0.53,34,1.157,47,0.95,83,2.435,95,0.129,96,2.168,101,0.013,103,0,104,0,112,0.796,129,1.288,130,1.177,134,1.54,148,0.427,153,1.343,155,3.431,159,0.445,190,2.184,195,2.678,196,3.723,205,2.069,206,1.418,211,4.58,221,3.259,223,3.715,224,1.259,225,2.593,226,1.977,231,1.617,232,2.536,233,1.348,290,2.662,409,5.292,412,3.688,435,1.494,457,4.617,467,1.266,512,4.24,571,3.287,613,4.774,692,5.232,693,3.076,703,3.443,704,4.784,886,2.629,1086,3.954,1087,4.325,1088,3.892,1089,4.137,1090,4.511,1373,4.12,1821,4.437,1826,4.267,1842,3.795,1921,4.484,1939,2.311,2033,2.566,2393,4.12,2715,4.693,2923,3.259,2942,4.986,2956,2.594,3011,5.838,3056,2.093,3750,4.619,3752,4.366,3753,4.776,3755,3.126,3756,3.069,3757,3.259,3771,2.569,3908,2.969,3932,2.806,4588,2.317,4680,3.338,4681,3.017,4823,3.189,5301,3.069,5727,3.872,5817,4.962,6232,2.738,6480,7.447,6665,3.675,6668,5.474,7552,2.706,7553,2.457,7574,2.594,7778,2.924,7869,3.259,7870,3.532,7872,7.024,7873,6.126,7874,3.532,7875,4.165,7876,3.532,7877,8.474,7878,6.301,7879,6.225,7880,7.024,7881,6.994,7882,7.855,7883,5.496,7884,6.738,7885,5.496,7886,5.193,7887,5.193,7888,6.126,7889,5.496,7890,3.338,7891,3.338,7892,3.532,7893,3.259,7894,3.532,7895,2.621,7896,2.706,7897,3.338,7898,3.532,7899,3.532,7900,6.546,7901,3.532,7902,6.747,7903,3.532,7904,3.532,7905,5.193,7906,3.338,7907,5.862,7908,3.427,7909,4.484,7910,3.189,7911,3.338,7912,3.532,16583,4.348,16584,4.348,16585,4.348,16586,4.348,16587,4.348,16588,4.348,16589,4.348,16590,4.348,16591,4.348,16592,4.348,16593,4.348,16594,4.348]],["title/controllers/NewsController.html",[314,2.65,16595,6.113]],["body/controllers/NewsController.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.072,8,0.885,10,4.414,27,0.428,29,0.839,30,0.001,31,0.617,32,0.136,33,0.502,34,1.324,35,1.26,36,2.698,95,0.133,100,4.163,101,0.007,103,0,104,0,112,0.607,135,1.661,148,1.08,153,0.839,190,1.969,202,1.192,205,1.578,228,0.932,274,2.161,277,0.742,290,2.911,298,2.254,314,1.975,316,2.498,317,2.92,325,6.731,326,4.384,329,4.716,349,6.98,365,4.114,379,4.699,388,3.319,389,3.394,392,2.703,395,2.778,398,2.799,400,1.522,657,2.512,693,3.521,703,3.15,734,4.328,871,2.849,883,7.249,1083,4.376,1783,6.321,2766,5.944,2938,4.452,3220,7.533,3237,6.372,3240,2.667,3242,5.069,3752,4.997,4077,6.555,5018,4.876,5245,4.767,6179,6.291,6288,4.465,7638,6.189,7882,7.98,7921,7.173,8073,8.343,8128,3.985,12493,8.343,14059,4.368,15471,7.301,15558,4.368,15564,4.368,16595,6.796,16596,5.191,16597,5.191,16598,5.191,16599,11.205,16600,7.744,16601,5.191,16602,4.808,16603,5.191,16604,7.173,16605,5.191,16606,7.744,16607,5.191,16608,7.744,16609,5.191,16610,8.64,16611,7.744,16612,5.191,16613,4.217,16614,4.556,16615,7.525,16616,4.808,16617,4.217,16618,4.217,16619,4.808,16620,5.191,16621,4.808,16622,4.808,16623,4.808,16624,9.013,16625,4.556,16626,4.808,16627,4.808,16628,4.808,16629,4.808,16630,5.191,16631,5.191,16632,5.191,16633,5.191,16634,5.191,16635,7.744,16636,5.191]],["title/classes/NewsCrudOperationLoggable.html",[0,0.241,16637,6.113]],["body/classes/NewsCrudOperationLoggable.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,26,2.597,27,0.431,29,0.663,30,0.001,31,0.488,32,0.107,33,0.397,35,0.995,39,3.557,95,0.148,99,1.749,101,0.011,103,0.001,104,0.001,148,0.853,228,2.186,242,4.581,339,2.545,433,1.359,478,2.432,652,2.476,1027,2.656,1115,3.303,1237,3.204,1422,4.873,1423,5.675,1426,5.692,2532,10.413,7882,8.154,9216,8.496,9261,7.052,16613,7.052,16614,7.619,16637,9.707,16638,12.173,16639,8.681,16640,8.681,16641,11.872,16642,8.681,16643,8.681,16644,8.04,16645,8.04,16646,8.681]],["title/classes/NewsListResponse.html",[0,0.241,16617,5.658]],["body/classes/NewsListResponse.html",[0,0.273,2,0.561,3,0.01,4,0.022,5,0.005,7,0.074,27,0.432,29,0.406,30,0.001,31,0.528,32,0.163,33,0.507,34,1.987,47,0.908,55,2.746,56,5.474,59,2.449,70,5.896,83,2.754,95,0.13,99,1.071,101,0.01,103,0,104,0,112,0.618,125,1.266,135,1.222,155,3.316,157,3.159,185,1.82,190,1.862,201,4.038,202,1.22,205,2.655,231,1.36,290,2.464,296,3.518,298,2.308,304,3.902,339,3.253,360,3.055,374,2.308,430,3.863,431,4.025,433,0.968,436,3.069,458,2.119,460,3.237,462,3.237,613,3.055,703,3.565,862,7.488,863,6.41,864,4.53,866,2.647,868,4.52,869,2.601,870,2.909,871,1.955,872,3.752,873,5.022,874,4.613,875,3.475,876,2.767,877,3.752,878,3.752,880,3.387,881,2.909,886,2.495,1083,3.003,1675,3.203,1749,3.029,1826,5.338,1842,3.601,2033,2.015,2393,3.981,2588,3.346,3011,5.497,3056,2.558,3197,4.218,3198,4.218,3201,2.49,3237,3.083,3771,3.141,3824,3.984,4681,3.688,4752,7.902,4905,5.085,5018,3.346,5102,3.688,6480,6.889,6668,5.064,7573,3.272,7873,5.152,7878,6.316,7879,3.984,7880,7.04,7881,5.661,7882,7.556,7891,4.08,7897,4.08,7907,3.752,8069,6.753,8080,3.111,8081,4.472,8082,4.189,8087,3.898,9119,6.631,11652,3.984,16617,6.402,16618,10.037,16647,4.923,16648,5.315,16649,5.315,16650,6.402,16651,6.402,16652,7.63,16653,7.299,16654,7.299,16655,4.664,16656,7.299,16657,4.923,16658,4.923,16659,4.189,16660,4.318,16661,4.923,16662,4.664]],["title/classes/NewsMapper.html",[0,0.241,16613,5.658]],["body/classes/NewsMapper.html",[0,0.213,2,0.65,3,0.011,4,0.016,5,0.006,7,0.086,8,1.002,27,0.459,29,0.898,30,0.001,31,0.661,32,0.146,33,0.537,34,1.499,35,1.349,95,0.14,99,1.24,100,4.486,101,0.008,103,0,104,0,135,1.674,148,1.156,153,0.995,155,3.26,290,1.46,326,3.336,339,2.571,365,3.893,430,2.531,431,2.637,467,4.038,478,1.724,703,3.133,830,4.874,837,3.047,1027,1.883,1424,8.963,1826,3.162,2393,3.913,3011,5.086,6668,4.727,7873,6.677,7878,6.867,7880,4.612,7881,6.708,7882,7.702,8062,8.296,8069,8.003,8070,8.592,8071,9.042,8072,4.999,8073,9.042,8432,8.12,12493,9.042,16610,9.364,16613,7.122,16618,9.042,16663,6.153,16664,8.767,16665,8.767,16666,8.767,16667,8.767,16668,8.767,16669,6.153,16670,8.767,16671,6.153,16672,8.767,16673,6.153,16674,8.767,16675,6.153,16676,8.767,16677,6.153,16678,5.401,16679,10.212,16680,5.401,16681,5.401,16682,6.153,16683,6.153,16684,6.153,16685,8.767,16686,6.153,16687,6.153,16688,5.7,16689,6.153,16690,6.153,16691,8.12,16692,8.12,16693,6.153,16694,6.153,16695,5.7,16696,6.153,16697,6.153,16698,6.153,16699,8.767,16700,6.153,16701,6.153,16702,6.153,16703,6.153,16704,8.767,16705,8.767,16706,6.153,16707,6.153,16708,6.153]],["title/modules/NewsModule.html",[252,1.839,16709,5.86]],["body/modules/NewsModule.html",[0,0.298,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.204,254,3.102,255,3.294,256,3.377,257,3.364,258,3.352,259,4.408,260,4.51,265,6.267,269,4.312,270,3.317,271,3.249,274,4.585,276,4.312,277,1.233,279,3.576,1027,2.639,1856,7.7,2680,3.961,16595,10.651,16615,11.636,16616,7.989,16709,12.107,16710,8.625,16711,8.625,16712,8.625,16713,8.625,16714,10.977,16715,8.625,16716,10.651,16717,8.625,16718,8.625,16719,8.625]],["title/interfaces/NewsProperties.html",[159,0.712,7877,5.49]],["body/interfaces/NewsProperties.html",[0,0.338,3,0.009,4,0.021,5,0.004,7,0.155,9,3.335,26,2.523,30,0.001,31,0.404,32,0.161,33,0.544,34,0.804,47,0.989,83,2.865,95,0.133,96,2.278,101,0.013,103,0,104,0,112,0.826,134,1.666,148,0.462,153,1.411,155,3.542,159,0.481,161,1.121,195,2.439,196,3.682,205,2.145,223,3.598,224,1.363,225,2.755,226,2.139,231,1.686,232,2.644,233,1.458,290,2.895,409,5.561,412,3.875,435,1.616,457,4.851,467,1.369,512,4.455,571,3.454,613,5.616,692,5.55,693,2.139,703,3.653,704,5.373,886,2.276,1086,4.154,1087,4.509,1088,4.089,1089,4.346,1090,4.739,1373,4.378,1821,3.404,1826,2.417,1842,3.285,1921,3.118,1939,2.5,2033,2.726,2393,4.252,2715,4.931,2923,3.526,2942,4.047,2956,2.807,3011,5.94,3056,2.264,3750,3.212,3752,3.036,3753,3.321,3755,3.383,3756,3.321,3757,3.526,3771,2.78,3908,3.212,3932,3.036,4588,1.611,4680,3.611,4681,3.264,4823,3.451,5301,3.321,5727,4.068,5817,3.451,6232,2.962,6480,8.139,6665,2.555,6668,5.983,7552,2.928,7553,2.658,7574,2.807,7869,3.526,7870,3.822,7872,7.889,7873,5.705,7874,3.822,7875,4.426,7876,3.822,7877,9.101,7878,7.077,7879,7.323,7880,7.889,7881,6.688,7882,7.691,7883,3.822,7884,5.169,7885,3.822,7886,3.611,7887,3.611,7888,4.7,7889,3.822,7890,3.611,7891,3.611,7892,3.822,7893,3.526,7894,3.822,7895,2.835,7896,2.928,7897,3.611,7898,3.822,7899,3.822,7900,6.878,7901,3.822,7902,7.089,7903,3.822,7904,3.822,7905,5.519,7906,3.611,7907,6.159,7908,3.708,7909,4.765,7910,3.451,7911,3.611,7912,3.822]],["title/injectables/NewsRepo.html",[589,0.926,16714,5.658]],["body/injectables/NewsRepo.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,8,0.816,10,2.868,12,3.23,18,3.577,26,2.466,27,0.484,29,0.906,30,0.001,31,0.667,32,0.151,33,0.542,34,1.483,35,1.361,36,2.67,40,2.256,49,2.689,59,2.696,95,0.132,96,1.217,98,2.809,99,0.939,101,0.006,103,0,104,0,112,0.56,129,1.38,130,1.261,134,1.65,135,1.644,148,1.03,153,1.154,157,1.079,205,0.95,206,2.329,224,1.35,231,1.232,277,0.666,317,2.927,365,3.17,374,3.767,388,4.492,436,2.872,478,1.306,532,4.632,540,4.35,589,0.949,591,1.106,595,1.768,640,5.985,652,1.765,653,3.568,657,2.783,703,3.392,728,6.675,734,3.008,735,3.23,736,4.271,759,2.781,760,2.838,761,2.809,762,2.838,763,3.234,764,2.809,765,2.838,766,2.495,771,3.351,788,3.182,896,5.405,1218,3.047,2232,4.068,2479,5.745,2938,4.104,3011,5.561,3752,6.274,3755,6.991,4213,5.799,4703,2.809,5136,3.089,5138,5.204,6178,2.754,6288,3.526,6480,5.236,6665,6.005,6668,3.849,7180,4.8,7638,4.302,7869,6.503,7882,7.741,7906,6.659,7911,6.659,7924,7.645,7934,5.35,9636,5.236,11300,8.818,11973,6.612,11989,6.612,12496,3.674,14206,8.533,16714,5.799,16720,4.661,16721,8.675,16722,7.138,16723,8.675,16724,7.138,16725,7.138,16726,9.349,16727,4.661,16728,4.661,16729,4.661,16730,7.138,16731,4.661,16732,9.722,16733,4.661,16734,4.661,16735,4.661,16736,7.614,16737,7.138,16738,4.661,16739,9.722,16740,7.138,16741,4.661,16742,4.661,16743,7.138,16744,4.661,16745,4.661,16746,7.138,16747,7.138,16748,4.661,16749,4.661,16750,4.661,16751,8.675,16752,4.661,16753,4.661,16754,4.661]],["title/classes/NewsResponse.html",[0,0.241,16618,5.658]],["body/classes/NewsResponse.html",[0,0.238,2,0.469,3,0.008,4,0.023,5,0.004,7,0.062,27,0.516,29,0.339,30,0.001,31,0.576,32,0.169,33,0.517,34,2.134,47,0.972,55,1.706,56,3.241,70,3.491,83,3.181,95,0.121,99,0.895,101,0.009,103,0,104,0,112,0.54,135,1.096,155,3.611,157,3.145,185,2.357,190,2.351,201,3.685,202,1.02,205,2.797,231,0.767,290,2.684,296,3.398,298,1.93,304,4.17,339,2.018,360,3.956,374,2.988,430,4.218,431,4.396,433,0.845,458,1.772,460,2.706,462,2.706,613,2.555,703,3.761,821,2.269,862,4.283,863,2.451,864,2.555,868,5.901,880,2.832,881,2.432,886,2.666,1083,3.889,1361,3.956,1675,2.679,1749,3.922,1826,5.813,1842,4.332,2033,2.61,2393,4.335,2588,4.333,3011,5.791,3056,2.139,3196,2.905,3197,5.075,3198,5.075,3200,2.652,3201,3.225,3237,3.991,3771,2.626,3824,5.158,4681,3.084,4752,7.085,4905,6.118,5018,4.333,5102,4.775,6480,7.523,6668,5.53,7185,4.116,7573,2.736,7873,5.505,7878,6.897,7879,3.331,7880,7.687,7881,6.182,7882,7.96,7891,3.411,7897,3.411,7907,3.137,8069,7.375,8080,4.028,8081,5.79,8082,5.424,8087,5.047,9119,7.977,11652,3.331,16617,3.61,16618,9.496,16647,4.116,16650,6.841,16651,6.841,16652,8.332,16653,7.799,16654,7.799,16655,3.9,16656,7.799,16657,4.116,16658,4.116,16659,3.503,16660,3.61,16661,4.116,16662,6.039,16755,4.444,16756,4.444,16757,4.444,16758,4.444,16759,4.444,16760,4.444,16761,4.444,16762,4.444,16763,4.444,16764,4.444,16765,4.444,16766,4.444,16767,4.444,16768,4.444,16769,4.444,16770,4.444]],["title/classes/NewsScope.html",[0,0.241,16736,6.113]],["body/classes/NewsScope.html",[0,0.22,2,0.672,3,0.012,4,0.012,5,0.006,7,0.089,8,1.026,26,2.29,27,0.514,29,0.863,30,0.001,31,0.635,32,0.157,33,0.516,35,1.418,83,2.634,95,0.138,96,1.663,99,1.283,101,0.008,103,0,104,0,112,0.705,122,2.157,125,1.517,129,1.886,130,1.723,135,1.354,141,2.729,145,2.39,148,1.171,153,1.453,224,1.845,231,1.55,365,5.02,436,3.52,478,1.784,569,1.979,652,2.515,756,2.54,1834,4.671,1924,7.6,2479,7.043,3011,2.91,3958,5.898,3960,5.173,4703,3.838,6288,5.437,6665,5.652,6668,3.433,7007,5.954,7008,5.954,7009,5.954,7014,5.954,7015,5.954,7016,4.282,7017,4.221,7018,4.282,7019,4.282,7028,4.221,7029,5.954,7030,4.282,7031,4.221,7032,4.282,7033,4.221,7034,7.491,7878,6.04,7881,3.838,7882,5.21,9528,5.02,11300,5.358,11305,5.898,11316,4.888,12029,5.898,14301,7.297,14304,8.32,16726,9.182,16736,11.739,16771,11.039,16772,8.982,16773,11.302,16774,8.982,16775,11.302,16776,8.982,16777,6.368,16778,8.982,16779,6.368,16780,6.368,16781,5.898,16782,6.368,16783,6.368,16784,6.368,16785,6.368,16786,6.368,16787,6.368,16788,6.368]],["title/interfaces/NewsTargetFilter.html",[159,0.712,16726,5.658]],["body/interfaces/NewsTargetFilter.html",[3,0.019,4,0.019,5,0.009,7,0.144,26,2.76,30,0.001,32,0.152,95,0.115,99,2.082,101,0.013,103,0.001,104,0.001,112,0.966,159,1.057,161,2.462,3011,4.722,7873,8.906,7881,8.21,11304,11.955,16726,10.005,16771,9.572,16789,10.334]],["title/injectables/NewsUc.html",[589,0.926,16615,5.658]],["body/injectables/NewsUc.html",[0,0.114,3,0.006,4,0.006,5,0.003,7,0.046,8,0.619,10,2.176,25,4.753,26,2.812,27,0.436,29,0.854,30,0.001,31,0.628,32,0.142,33,0.511,34,1.716,35,1.388,36,2.558,39,3.728,47,0.507,59,1.683,83,2.343,95,0.121,98,1.985,99,0.663,101,0.004,103,0,104,0,122,1.43,125,1.643,129,2.615,130,1.866,135,1.65,142,2.497,145,1.236,148,1.099,153,0.876,157,0.762,158,1.215,277,0.471,279,1.365,290,1.285,317,2.864,326,4.133,388,5.187,413,4.2,433,0.665,435,1.86,467,2.008,478,0.922,540,3.33,567,2.572,571,1.303,589,0.72,591,0.781,595,1.249,652,2.496,657,2.991,693,3.136,703,1.01,711,3.554,734,2.282,770,2.073,980,2.987,1027,1.008,1083,1.861,1086,1.568,1087,1.52,1088,1.543,1778,3.41,1826,6.121,1862,3.666,1863,6.723,1921,3.589,2125,1.726,2447,4.195,2532,2.675,2680,1.512,3011,4.035,3045,5.296,3237,3.141,3418,2.439,3612,2.098,4588,3.025,4999,3.972,6288,4.261,6668,1.775,7064,2.468,7638,1.985,7873,5.224,7878,7.05,7881,6.739,7882,7.913,7924,4.919,7996,2.527,8062,6.492,8069,7.217,8070,6.723,8071,8.154,8072,7.174,8087,2.415,10477,5.059,11274,5.016,11281,5.016,11300,8.444,11304,4.753,14054,4.753,14712,2.89,15773,5.803,16615,4.399,16625,4.753,16637,2.89,16641,3.05,16644,3.05,16655,2.89,16688,3.05,16691,7.401,16692,7.401,16695,5.016,16714,7.715,16726,4.399,16790,3.293,16791,6.897,16792,5.415,16793,5.415,16794,5.415,16795,6.897,16796,3.293,16797,3.293,16798,5.016,16799,3.293,16800,3.293,16801,3.293,16802,3.293,16803,5.415,16804,6.053,16805,5.415,16806,3.293,16807,5.415,16808,3.293,16809,9.496,16810,3.293,16811,5.415,16812,3.293,16813,5.016,16814,3.293,16815,5.603,16816,3.293,16817,5.415,16818,3.293,16819,3.293,16820,3.293,16821,5.415,16822,6.897,16823,3.293,16824,3.293,16825,7.991,16826,3.293,16827,5.415,16828,3.293,16829,5.415,16830,3.293,16831,3.293,16832,3.293,16833,3.293,16834,5.415,16835,3.293,16836,3.293,16837,3.293,16838,5.415,16839,6.897,16840,2.596,16841,3.293,16842,3.293,16843,3.293,16844,3.293,16845,3.293,16846,3.293,16847,3.293,16848,3.293,16849,3.293,16850,3.293,16851,5.415,16852,3.293,16853,3.293,16854,3.293,16855,5.415,16856,3.293,16857,3.293,16858,3.293,16859,3.293,16860,3.293]],["title/classes/NewsUrlParams.html",[0,0.241,16599,6.113]],["body/classes/NewsUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,4197,6.09,7882,7.004,16599,10.598,16861,9.999,16862,12.972,16863,9.999]],["title/injectables/NexboardService.html",[589,0.926,15627,6.113]],["body/injectables/NexboardService.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,26,2.521,27,0.41,29,0.802,30,0.001,31,0.59,32,0.145,33,0.48,34,1.372,35,0.92,36,2.221,39,3.253,47,1.007,94,4.07,95,0.139,99,1.616,101,0.013,103,0,104,0,110,2.789,135,1.525,148,1.033,153,1.297,155,3.971,157,2.88,197,2.242,228,1.441,277,1.147,317,2.536,339,2.352,400,2.352,433,0.985,589,1.397,591,1.903,610,3.164,629,4.234,652,1.632,657,1.834,734,3.381,1027,2.455,1080,3.643,1328,4.263,2051,3.395,2447,4.9,2448,5.83,6218,7.558,10062,7.04,10063,9.72,10072,7.43,10074,7.43,11351,7.43,15627,9.225,16864,8.022,16865,11.723,16866,8.022,16867,8.022,16868,8.022,16869,8.022,16870,10.51,16871,8.022,16872,8.022,16873,8.022,16874,8.022]],["title/interfaces/NextcloudGroups.html",[159,0.712,13140,5.221]],["body/interfaces/NextcloudGroups.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.038,55,2.549,101,0.018,103,0.001,104,0.001,112,0.908,122,1.933,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,5.943,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,7.562,13138,6.99,13139,7.159,13140,8.673,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,6.99,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,6.99]],["title/injectables/NextcloudStrategy.html",[589,0.926,5071,6.113]],["body/injectables/NextcloudStrategy.html",[0,0.106,3,0.006,4,0.006,5,0.003,7,0.043,8,0.582,27,0.425,29,0.777,30,0.001,31,0.655,32,0.126,33,0.465,34,1.806,35,1.212,36,2.579,39,1.414,47,0.971,55,1.719,62,3.041,72,1.405,95,0.13,100,2.663,101,0.004,103,0,104,0,112,0.4,113,4.546,135,1.639,142,1.108,145,1.148,148,0.955,153,0.495,157,2.12,228,1.645,277,0.437,290,2.012,317,2.771,328,3.819,331,1.359,335,3.427,356,3.427,360,1.759,388,4.528,433,0.626,467,2.666,526,2.747,567,1.141,579,0.873,589,0.677,591,0.726,612,5.136,614,0.948,629,1.615,652,2.327,657,2.97,703,1.563,756,1.22,812,1.95,980,2.81,983,1.974,985,1.775,1027,0.936,1065,5.743,1147,3.912,1237,1.476,1328,2.708,1396,1.974,1470,1.715,1568,2.123,1627,3.664,1826,1.572,1829,1.311,1853,1.004,1900,2,1926,1.863,1941,2,2008,1.524,2060,3.738,2343,3.664,2370,5.134,2447,2.13,2448,3.579,2465,1.808,2473,3.172,2512,1.826,2553,3.209,2588,3.209,2643,3.479,2698,2.478,2776,3.243,2831,2.621,2915,3.071,3102,1.844,3237,1.775,3282,2.057,3418,3.44,3728,2.2,3824,4.908,3898,3.282,3900,1.615,3908,2.089,4291,7.06,4300,4.72,4905,4.928,4996,7.639,5001,4.287,5004,3.288,5006,4.14,5007,4.14,5009,4.14,5010,4.14,5012,5.32,5015,4.14,5016,7.597,5018,8.277,5019,4.14,5023,4.14,5029,2.348,5031,2.412,5051,8.583,5052,2.485,5053,2.685,5054,8.525,5055,7.446,5069,7.125,5070,7.074,5071,4.472,5073,2.348,5075,2.834,5171,4.72,5215,1.744,5222,2.123,5278,3.209,5449,5.855,5910,2.574,6435,1.883,6668,2.747,6686,2.602,6794,1.863,7044,5.98,7062,1.904,8068,3.427,8076,2.412,8114,2.768,8222,4.623,8311,3.209,8511,9.026,8852,4.017,8968,2.685,9897,2.834,10631,4.966,11372,6.74,13648,2.348,13669,9.17,13714,10.171,16459,2.574,16875,3.059,16876,7.637,16877,7.637,16878,5.096,16879,5.096,16880,5.096,16881,3.059,16882,3.059,16883,7.707,16884,9.16,16885,6.719,16886,3.059,16887,3.819,16888,3.059,16889,3.059,16890,5.096,16891,3.059,16892,8.483,16893,7.637,16894,5.096,16895,3.059,16896,3.059,16897,5.51,16898,3.059,16899,4.472,16900,5.096,16901,7.892,16902,3.059,16903,4.287,16904,4.72,16905,4.72,16906,5.096,16907,3.059,16908,3.059,16909,3.059,16910,3.059,16911,10.175,16912,7.637,16913,3.059,16914,2.834,16915,3.059,16916,3.059,16917,3.059,16918,5.096,16919,3.059,16920,5.096,16921,6.548,16922,7.637,16923,5.096,16924,3.059,16925,2.685,16926,2.485,16927,3.059,16928,5.096,16929,3.059,16930,3.059,16931,3.059,16932,3.059,16933,3.059,16934,3.059,16935,5.096,16936,3.059,16937,5.096,16938,3.059,16939,3.059,16940,3.059,16941,2.834,16942,3.059,16943,3.059,16944,3.059,16945,3.059,16946,3.059,16947,3.059,16948,3.059,16949,3.059,16950,3.059,16951,3.059,16952,3.059,16953,3.059,16954,3.059,16955,3.059,16956,3.059,16957,3.059,16958,3.059,16959,3.059,16960,5.096,16961,5.096,16962,3.059,16963,3.059,16964,3.059,16965,3.059,16966,3.059,16967,3.059,16968,3.059,16969,3.059,16970,3.059]],["title/classes/NotFoundLoggableException.html",[0,0.241,4862,4.616]],["body/classes/NotFoundLoggableException.html",[0,0.308,2,0.939,3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,27,0.438,29,0.679,30,0.001,31,0.5,32,0.139,33,0.406,35,1.02,47,0.905,95,0.137,101,0.011,103,0.001,104,0.001,135,1.157,148,0.874,228,2.017,231,1.938,233,2.757,277,1.272,339,2.607,400,2.607,433,1.092,652,1.809,1078,5.393,1115,4.274,1237,3.253,1422,4.928,1426,5.743,1462,4.794,1468,6.028,1477,4.54,1478,4.726,2954,6.542,4862,7.444,10416,5.894,12509,7.01,12510,7.224,13969,10.357,14359,6.826,16971,11.402,16972,12.31,16973,11.402,16974,8.892,16975,12.31,16976,8.892,16977,8.892,16978,8.892]],["title/injectables/OAuth2ToolLaunchStrategy.html",[589,0.926,16979,5.86]],["body/injectables/OAuth2ToolLaunchStrategy.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.831,9,2.216,26,2.262,27,0.514,29,0.996,30,0.001,31,0.733,32,0.166,33,0.596,35,1.496,36,2.453,39,2.445,47,0.919,95,0.118,99,0.962,101,0.006,103,0,104,0,110,3.424,112,0.876,125,2.346,130,1.968,134,1.692,142,3.189,148,0.866,172,3.104,228,1.306,231,1.255,277,0.683,317,2.704,326,2.768,339,3.273,436,3.892,569,2.261,571,3.898,589,0.967,591,1.133,652,2.763,711,3.778,1086,4.688,1087,4.545,1088,4.614,1089,4.905,1090,5.349,1476,5.309,1756,2.746,2005,6.849,2006,6.754,2060,7.223,2061,7.081,2698,2.36,2736,4.193,2738,4.425,2739,12.503,2740,6.737,2741,8.159,2742,6.737,2743,6.737,2744,6.737,2745,6.737,2746,6.737,2747,6.737,2748,6.737,2749,6.737,2750,6.384,2751,6.384,2752,6.737,2753,6.737,2754,4.425,2755,9.431,2756,4.425,2757,6.737,2758,11.037,2760,6.737,2762,7.411,2763,4.425,2764,6.737,2765,7.589,2766,5.584,2767,4.425,2768,4.425,2769,6.737,2770,6.951,2771,4.425,2772,4.425,2773,6.737,2774,4.425,2775,4.425,2776,4.362,2777,4.425,2778,8.569,2779,4.425,2780,4.425,2781,4.425,2782,4.425,2783,4.193,2784,4.193,2785,4.425,2786,4.425,2787,4.425,2788,3.504,2789,4.425,2790,6.737,2791,6.527,2792,4.425,2793,4.425,2794,6.737,2795,4.425,2796,2.557,2797,6.737,2799,4.425,2800,3.262,2801,4.193,2802,3.667,2814,4.193,16979,6.12,16980,4.777,16981,4.777]],["title/classes/OAuthProcessDto.html",[0,0.241,16982,6.451]],["body/classes/OAuthProcessDto.html",[0,0.34,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.502,29,0.75,30,0.001,31,0.552,32,0.159,33,0.588,47,0.984,101,0.013,103,0.001,104,0.001,112,0.937,433,1.207,871,3.616,1585,7.841,2258,9.258,2274,8.626,6947,9.172,16982,12.714,16983,12.407,16984,9.828,16985,11.949,16986,9.828,16987,9.828,16988,9.828,16989,9.828]],["title/classes/OAuthRejectableBody.html",[0,0.241,6275,5.658]],["body/classes/OAuthRejectableBody.html",[0,0.32,2,0.701,3,0.012,4,0.012,5,0.006,7,0.092,27,0.472,30,0.001,32,0.15,33,0.616,47,0.964,55,1.875,95,0.103,101,0.009,103,0,104,0,112,0.726,157,2.977,187,7.083,190,2.17,194,5.301,196,4.476,197,4,200,2.032,202,1.525,296,3.28,299,4.739,300,4.803,337,5.695,342,6.048,402,3.328,403,5.878,711,2.68,890,7.861,998,4.381,1042,6.132,1080,4.804,1302,5.143,1379,6.652,1390,5.759,1889,8.392,2164,4.291,2550,6.939,3791,6.531,5317,7.102,6178,5.467,6275,7.516,6276,8.957,6277,8.957,6278,8.392,6281,6.221,6296,9.075,6297,7.102,6298,8.12,6299,8.12,6300,8.12,6302,8.838,6303,7.988,6304,6.934,6305,7.516,6306,7.102,6307,7.784,6308,7.516,6310,7.784,6313,5.829,6314,7.784,6315,7.784,16990,11.61,16991,6.642,16992,6.642,16993,6.642,16994,6.642,16995,6.642,16996,6.642]],["title/injectables/OAuthService.html",[589,0.926,13565,5.49]],["body/injectables/OAuthService.html",[0,0.134,3,0.007,4,0.007,5,0.003,7,0.054,8,0.706,26,1.782,27,0.435,29,0.851,30,0.001,31,0.627,32,0.138,33,0.51,35,1.232,36,2.588,47,1.059,48,5.639,52,1.967,59,2.396,95,0.147,99,0.781,100,1.352,101,0.005,103,0,104,0,122,0.804,125,0.924,135,1.705,142,3.184,148,1.13,153,1.422,159,0.397,173,6.368,180,1.662,195,1.359,228,2.003,277,0.555,290,2.279,317,2.835,339,1.137,433,0.759,478,1.086,579,2.511,589,0.822,591,0.92,652,2.563,657,2.844,688,1.808,703,2.698,998,4.165,1027,1.187,1309,4.445,1422,1.552,1459,3.263,1466,8.147,1470,2.173,1491,7.806,1540,2.691,1548,2.906,1569,3.592,1573,3.263,1585,2.362,1589,2.977,1593,2.387,1605,6.005,1675,2.337,1719,4.535,1723,3.523,1735,7.141,1853,1.272,2066,5.83,2068,5.349,2070,2.091,2071,3.653,2447,3.222,2448,4.122,2557,2.607,2617,3.848,2927,3.057,3430,2.684,3900,3.263,3903,3.263,4981,2.844,5203,2.906,5204,6.452,5206,2.737,5225,3.15,5394,3.057,5449,6.171,6281,4.157,7211,2.502,7739,2.442,8033,5.426,8114,4.778,9503,3.403,10098,6.005,10107,7.516,11371,3.057,13094,4.29,13565,4.873,13579,8.177,13580,5.779,13585,5.726,13631,6.766,13640,7.83,13655,4.535,13711,7.539,13834,5.426,14387,4.445,14679,3.403,15089,2.906,15100,2.906,15335,2.788,15482,5.543,15491,6.752,16479,9.038,16484,5.726,16493,3.592,16497,5.426,16926,3.15,16997,3.878,16998,7.709,16999,7.709,17000,7.709,17001,6.182,17002,6.182,17003,6.182,17004,9.038,17005,8.727,17006,3.878,17007,3.878,17008,8.796,17009,3.878,17010,3.878,17011,3.878,17012,3.878,17013,3.878,17014,6.182,17015,3.878,17016,6.182,17017,3.878,17018,6.182,17019,3.878,17020,6.182,17021,3.878,17022,3.263,17023,3.403,17024,3.403,17025,3.403,17026,3.878,17027,5.022,17028,3.878,17029,3.878,17030,3.263,17031,3.878,17032,3.878,17033,3.878,17034,3.878,17035,3.263,17036,3.878,17037,7.709,17038,3.878,17039,3.878,17040,5.726,17041,3.878,17042,3.878,17043,3.592,17044,5.426,17045,3.878,17046,3.878,17047,3.878,17048,3.592,17049,3.878,17050,5.426,17051,3.878,17052,3.878,17053,3.878,17054,5.726,17055,3.878,17056,6.182,17057,3.878]],["title/classes/OAuthTokenDto.html",[0,0.241,13580,5.221]],["body/classes/OAuthTokenDto.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.517,29,0.731,30,0.001,31,0.538,32,0.164,33,0.437,47,1.019,101,0.012,103,0.001,104,0.001,112,0.922,173,8.435,232,3.181,433,1.176,435,3.288,1605,8.689,13580,10.212,15971,8.052,15972,8.052,17058,13.624,17059,9.57,17060,11.787,17061,11.757,17062,9.57,17063,9.57,17064,8.864,17065,8.864,17066,9.57,17067,9.57]],["title/classes/Oauth2AuthorizationBodyParams.html",[0,0.241,15946,5.86]],["body/classes/Oauth2AuthorizationBodyParams.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.494,30,0.001,32,0.157,47,1.017,48,5.938,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.272,200,2.901,202,2.177,296,3.461,299,4.961,855,4.733,856,7.045,998,6.001,6815,6.817,8366,9.496,13711,7.801,15040,8.32,15041,8.781,15841,8.781,15842,8.781,15946,9.834,17068,13.229]],["title/classes/Oauth2MigrationParams.html",[0,0.241,17069,6.113]],["body/classes/Oauth2MigrationParams.html",[0,0.4,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.49,30,0.001,32,0.155,47,1.012,48,5.889,95,0.129,101,0.012,103,0.001,104,0.001,112,0.906,180,5.633,190,2.253,200,2.847,202,2.136,296,3.439,299,4.92,855,4.678,856,6.986,998,5.951,4970,6.035,6815,6.69,8366,9.386,13711,7.736,17069,10.14,17070,13.142,17071,9.304,17072,9.304,17073,9.304,17074,9.304]],["title/injectables/Oauth2Strategy.html",[589,0.926,1533,6.113]],["body/injectables/Oauth2Strategy.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.102,8,1.133,27,0.386,29,0.757,30,0.001,31,0.557,32,0.149,33,0.453,35,0.843,36,2.095,48,4.646,66,6.481,94,5.693,95,0.155,101,0.009,103,0,104,0,135,1.632,142,3.589,148,0.722,153,1.603,159,0.751,172,4.231,174,5.016,193,3.204,228,1.78,231,1.711,233,2.277,277,1.051,290,2.662,317,2.427,325,3.638,347,3.775,349,5.03,379,3.727,400,2.154,433,0.903,480,5.389,578,3.851,579,2.83,589,1.318,591,1.743,652,1.494,657,2.566,666,10.141,675,3.751,998,4.695,1213,6.318,1220,4.223,1422,2.941,1533,8.701,1545,5.186,1712,5.64,1984,4.94,5004,4.741,6281,6.666,8102,5.507,8114,5.385,8117,7.815,8121,5.968,13564,6.805,13565,10.188,13580,7.431,13711,6.103,14461,5.64,14465,8.054,14470,5.968,14962,6.448,15222,9.182,15225,6.805,15238,6.805,15946,8.341,17050,6.448,17075,7.347,17076,7.347,17077,7.347,17078,8.701,17079,7.347,17080,7.347,17081,9.182,17082,6.805,17083,7.347,17084,7.347,17085,7.347]],["title/classes/Oauth2ToolConfig.html",[0,0.241,8310,4.833]],["body/classes/Oauth2ToolConfig.html",[0,0.257,2,0.784,3,0.014,4,0.014,5,0.007,7,0.103,27,0.537,29,0.567,30,0.001,31,0.417,32,0.174,33,0.635,47,1.022,95,0.111,101,0.01,103,0,104,0,112,0.783,122,2.071,231,1.723,232,2.703,233,2.303,433,0.913,435,2.552,436,2.95,614,2.303,2036,3.657,2333,6.324,2696,6.204,2698,4.474,2699,6.25,2700,9.437,2702,6.519,2703,5.644,2704,6.519,2705,6.519,2707,5.341,6288,4.586,6369,5.689,8172,7.281,8206,5.702,8207,6.035,8262,4.995,8263,6.035,8307,9.719,8310,8.736,8318,6.801,8321,8.662,8323,8.458,8328,5.072,13826,5.072,15084,5.449,16037,6.88,16038,6.88,16039,6.88,16040,6.88,16041,6.88,16042,6.88,17086,13.644,17087,9.988,17088,6.519,17089,7.428,17090,6.88,17091,6.88,17092,6.88,17093,6.88,17094,6.88,17095,6.88]],["title/classes/Oauth2ToolConfigCreateParams.html",[0,0.241,10313,5.86]],["body/classes/Oauth2ToolConfigCreateParams.html",[0,0.336,2,0.752,3,0.013,4,0.013,5,0.006,7,0.099,27,0.527,30,0.001,32,0.172,33,0.542,47,1.023,95,0.132,101,0.009,103,0,104,0,112,0.762,122,2.013,190,2.425,199,5.355,200,2.18,201,4.293,202,1.636,231,1.675,296,3.49,299,5.014,300,4.233,436,2.868,614,2.209,899,3.256,2036,3.508,2088,5.717,2333,6.19,2696,6.066,2698,4.389,2703,6.242,2720,9.104,2721,7.664,2722,5.788,2723,5.788,2724,5.788,2725,5.788,2726,5.788,6288,4.49,6317,5.632,6369,5.569,6837,7.122,8172,7.128,8307,9.6,8318,6.658,8321,8.479,8323,8.279,8368,5.469,10311,5.788,10313,8.17,10319,6.253,16049,6.6,16053,6.6,17096,12.355,17097,6.6,17098,7.125,17099,7.125,17100,6.6,17101,6.6,17102,7.125,17103,6.6]],["title/classes/Oauth2ToolConfigEntity.html",[0,0.241,10362,5.658]],["body/classes/Oauth2ToolConfigEntity.html",[0,0.308,2,0.939,3,0.016,4,0.016,5,0.008,7,0.124,27,0.48,29,0.679,30,0.001,31,0.5,32,0.152,33,0.406,47,0.825,95,0.137,96,2.321,101,0.011,103,0.001,104,0.001,112,0.881,122,2.328,190,2.013,223,4.155,224,2.576,231,1.534,232,3.039,433,1.092,435,3.055,457,4.943,614,2.757,2036,4.378,2109,3.896,2696,5.88,2698,4.326,2703,5.025,2710,7.482,2712,5.698,2713,9.124,2714,7.804,2715,5.025,6369,6.207,8172,7.943,8206,6.826,8207,7.224,8328,7.668,10362,10.833,13826,6.071,17088,7.804,17104,12.931,17105,11.231,17106,8.892]],["title/classes/Oauth2ToolConfigFactory.html",[0,0.241,8316,5.86]],["body/classes/Oauth2ToolConfigFactory.html",[0,0.267,2,0.41,3,0.007,4,0.007,5,0.003,7,0.054,8,0.707,27,0.491,29,0.983,30,0.001,31,0.708,32,0.165,33,0.55,34,1.058,35,1.319,47,0.455,55,2.261,59,3.184,95,0.107,101,0.012,103,0,104,0,110,1.349,112,0.485,113,4.07,127,4.41,129,3.304,130,3.019,135,1.618,148,1.183,157,1.786,172,2.64,185,2.119,192,2.141,197,2.46,205,1.572,206,2.018,228,1.111,231,1.518,290,0.921,300,1.487,326,5.025,374,2.686,417,2.175,433,0.477,436,3.674,467,1.801,501,6.756,502,4.892,505,3.439,506,4.892,507,4.955,508,3.439,509,3.439,510,3.439,511,3.386,512,3.938,513,4.288,514,6.403,515,5.261,516,6.698,517,2.175,522,2.158,523,3.439,524,2.175,525,4.613,526,4.745,527,3.74,528,4.465,529,3.412,530,2.158,531,2.034,532,3.756,533,2.063,534,2.034,535,2.158,536,2.175,537,4.222,538,2.158,539,7.515,540,3.702,541,6.203,542,2.175,543,3.011,544,2.158,545,2.175,546,2.158,547,2.175,548,2.158,551,2.158,552,5.606,553,2.175,554,2.158,555,3.439,556,3.139,557,3.439,558,2.175,559,2.093,560,2.063,561,1.748,562,2.158,563,2.158,564,2.158,565,2.175,566,2.175,567,1.447,568,2.158,569,1.206,570,2.175,571,2.449,572,2.158,573,2.175,575,2.231,576,2.294,577,5.251,614,1.203,756,1.548,1220,2.231,1598,3.656,2008,1.933,2034,2.791,2085,2.693,2088,3.306,2125,3.243,2333,4.323,2695,2.847,2698,1.259,2703,2.193,2706,2.65,2765,4.045,2770,2.74,2776,1.922,4696,6.786,4698,2.791,5223,2.473,5376,4.637,5752,2.007,6150,2.979,6160,2.693,6166,4.637,6167,2.979,6288,3.907,6369,3.119,6686,1.982,6740,2.231,6803,3.153,6808,3.06,6809,2.65,8152,2.573,8158,2.538,8160,2.538,8162,2.538,8172,2.505,8173,2.339,8175,2.364,8301,5.205,8302,5.43,8304,3.407,8306,2.847,8307,4.637,8308,3.06,8309,2.847,8310,2.693,8311,2.444,8312,3.407,8313,3.407,8314,3.407,8315,6.77,8316,6.491,8317,5.43,8318,3.729,8319,3.153,8320,2.847,8321,2.979,8322,3.407,8323,2.909,8324,3.407,8325,3.407,8326,5.43,8327,3.407,8328,2.65,8329,3.407,8330,3.407,8331,3.407,8332,2.693,8333,3.407,8334,3.407,8335,3.266,8336,3.407,8337,2.791,8338,5.43,8339,6.77,8340,3.06,8341,5.43,8342,5.43,8343,3.407,8344,3.266,8345,3.06,8346,5.205,8347,3.407,8348,3.407,8349,3.407,8350,3.407,8351,3.407,8352,5.43,8353,3.407,8354,3.266,8355,2.573,8356,3.266,8357,3.407,8358,3.407,8359,3.407,8360,3.407,17107,6.187,17108,3.881]],["title/classes/Oauth2ToolConfigResponse.html",[0,0.241,10921,5.86]],["body/classes/Oauth2ToolConfigResponse.html",[0,0.245,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,27,0.527,29,0.541,30,0.001,31,0.398,32,0.172,33,0.617,47,1.004,95,0.123,101,0.009,103,0,104,0,112,0.759,122,2.006,190,2.388,201,5.252,202,1.627,231,1.669,232,2.618,233,2.197,296,3.535,433,0.871,435,2.435,436,2.858,614,2.197,2036,3.489,2109,3.105,2333,6.173,2696,6.058,2698,4.384,2703,6.225,2707,5.096,2716,5.003,2729,5.758,2730,10.064,2732,6.22,2733,6.22,2734,5.758,6288,4.477,6369,5.554,8172,7.108,8206,5.44,8207,5.758,8262,4.766,8263,5.758,8307,9.585,8321,8.456,8323,8.257,8328,4.839,10921,10.423,13826,4.839,16065,6.565,16066,6.565,16067,6.565,16068,6.565,16069,6.22,17088,6.22,17090,6.565,17091,6.565,17092,6.565,17093,6.565,17094,6.565,17095,6.565,17109,13.323,17110,9.675]],["title/classes/Oauth2ToolConfigUpdateParams.html",[0,0.241,10851,5.86]],["body/classes/Oauth2ToolConfigUpdateParams.html",[0,0.335,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,27,0.527,30,0.001,32,0.172,33,0.584,47,1.022,95,0.132,101,0.009,103,0,104,0,112,0.759,122,2.006,190,2.422,199,5.336,200,2.169,201,4.6,202,1.627,231,1.669,296,3.424,299,5.006,300,4.535,436,2.858,614,2.197,899,3.239,2036,3.489,2088,5.71,2333,6.173,2696,6.058,2698,4.384,2703,6.225,2720,9.087,2721,6.713,2722,5.758,2723,5.758,2724,5.758,2725,5.758,2726,5.758,6288,4.477,6317,5.612,6369,5.554,6837,8.08,8172,7.108,8307,9.585,8318,6.639,8321,8.456,8323,8.257,8368,5.44,10851,8.14,11141,5.963,11143,6.22,11145,6.22,11150,6.565,16073,6.565,17096,12.34,17097,6.565,17101,6.565,17103,6.565,17111,7.087,17112,7.087,17113,7.087]],["title/injectables/OauthAdapterService.html",[589,0.926,17004,5.86]],["body/injectables/OauthAdapterService.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.457,29,0.895,30,0.001,31,0.659,32,0.152,33,0.536,35,1.248,36,2.749,47,0.956,95,0.148,100,2.416,101,0.009,103,0,104,0,135,1.599,148,1.07,153,1.12,158,2.558,195,1.523,228,1.244,317,2.747,400,2.032,433,0.851,579,2.72,589,1.266,591,1.644,629,3.657,652,2.214,657,2.178,711,3.153,1053,8.671,1054,3.915,1055,5.318,1056,4.471,1080,3.302,1169,4.019,1328,3.682,1422,2.773,1491,9.524,1723,6.204,2084,4.592,2089,6.417,2114,6.849,2125,3.632,2383,9.748,2393,2.655,2417,6.081,2831,2.773,2838,5.829,4272,5.462,4324,6.081,8039,8.36,9677,6.417,13650,5.829,13715,6.314,14849,6.417,14850,6.417,14851,6.417,17004,8.015,17027,5.629,17048,8.823,17114,12.29,17115,10.886,17116,10.886,17117,6.928,17118,9.526,17119,6.928,17120,9.526,17121,6.928,17122,6.928,17123,6.928,17124,6.928,17125,6.928,17126,9.526,17127,6.081,17128,6.417,17129,6.081,17130,6.928,17131,6.928,17132,6.928,17133,6.928,17134,9.526,17135,6.928,17136,6.928,17137,6.928,17138,9.526,17139,6.928,17140,6.928,17141,6.928,17142,6.928,17143,6.928]],["title/modules/OauthApiModule.html",[252,1.839,17144,5.86]],["body/modules/OauthApiModule.html",[0,0.319,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.304,254,3.316,255,3.52,256,3.609,257,3.596,258,3.583,259,4.545,260,3.426,265,6.374,269,4.497,270,3.545,271,3.472,273,5.805,274,4.782,276,4.497,277,1.318,1027,2.821,1523,11.164,3036,4.32,13556,11.563,17144,12.035,17145,9.219,17146,9.219,17147,9.219,17148,9.219,17149,10.983,17150,8.539,17151,9.219,17152,9.219]],["title/classes/OauthClientBody.html",[0,0.241,17153,6.113]],["body/classes/OauthClientBody.html",[0,0.25,2,0.501,3,0.009,4,0.009,5,0.004,7,0.066,27,0.486,30,0.001,31,0.406,32,0.154,33,0.627,34,1.237,47,0.997,95,0.109,101,0.006,103,0,104,0,112,0.567,134,3.942,157,2.888,174,4.94,176,3.67,187,7.169,190,2.237,194,5.391,195,1.927,196,4.552,197,4.036,200,1.451,202,1.089,296,3.319,299,4.788,300,4.861,371,3.845,374,4.26,412,3.213,417,4.054,540,2.4,586,6.701,628,4.317,641,4.123,711,2.096,871,2.662,899,2.167,1060,4.94,1171,3.641,1470,4.054,1493,5.877,1495,6.306,1496,7.125,1507,3.555,1561,6.926,1582,5.202,1598,4.275,1622,5.202,1900,4.73,2164,3.356,2233,4.406,2258,5.202,2531,4.728,2546,5.877,2547,6.087,2831,5.432,2860,6.331,4362,4.453,4440,7.125,6178,4.275,6281,8.652,6288,4.706,6296,8.327,6317,5.691,6332,7.697,6350,6.35,6365,6.913,8174,6.574,9370,5.877,11089,8.123,11091,7.697,11094,9.784,11095,6.701,12603,5.107,13148,5.307,14349,5.553,16990,11.75,17153,6.35,17154,4.743,17155,8.123,17156,8.123,17157,4.743,17158,4.743,17159,4.743,17160,7.235,17161,7.235,17162,4.743,17163,4.743,17164,4.743,17165,4.743,17166,5.877,17167,6.701,17168,6.087,17169,7.235,17170,7.235,17171,7.235,17172,7.235,17173,4.743,17174,8.77,17175,4.743,17176,7.235,17177,7.235,17178,4.743,17179,8.77,17180,4.743,17181,6.701,17182,7.235,17183,7.235,17184,4.743,17185,4.743,17186,4.743,17187,4.743,17188,4.743,17189,4.743]],["title/classes/OauthConfig.html",[0,0.241,13640,4.386]],["body/classes/OauthConfig.html",[0,0.242,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.548,29,0.534,30,0.001,31,0.393,32,0.174,33,0.563,47,1.071,72,4.4,101,0.009,103,0,104,0,112,0.752,180,4.107,290,2.273,311,4.454,433,0.859,567,3.573,1593,6.732,2233,5.836,2258,6.89,3108,6.265,5074,6.294,6288,4.445,6369,5.514,8262,4.7,8318,6.591,10475,7.248,13640,7.762,13700,7.353,13703,7.149,13705,7.353,13708,7.353,13711,6.732,13715,7.248,13826,4.772,13903,5.238,14349,7.356,14597,6.134,15047,6.134,15048,6.473,15051,5.126,15084,5.126,15086,5.126,15088,5.238,15090,5.238,15092,5.238,15093,5.238,15094,5.238,15097,5.238,15099,5.238,15101,5.238,15103,7.353,17190,14.126,17191,8.876,17192,9.582,17193,6.989,17194,6.989,17195,6.989,17196,6.989,17197,6.989,17198,6.989,17199,6.473,17200,6.989,17201,6.473,17202,6.134,17203,6.473,17204,6.134,17205,6.134,17206,6.134,17207,6.134,17208,6.134,17209,6.134,17210,6.134,17211,6.134,17212,6.134,17213,6.134,17214,6.134]],["title/classes/OauthConfigDto.html",[0,0.241,13903,5.221]],["body/classes/OauthConfigDto.html",[0,0.242,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.548,29,0.534,30,0.001,31,0.393,32,0.174,33,0.563,47,1.071,72,4.4,101,0.009,103,0,104,0,112,0.752,180,4.107,290,2.273,433,0.859,567,3.573,1593,6.732,2233,5.836,2258,6.89,3108,6.265,5074,6.294,6288,4.445,6369,5.514,8262,4.7,8318,6.591,10475,7.248,13700,7.353,13703,7.149,13705,7.353,13708,7.353,13711,6.732,13715,7.248,13826,4.772,13903,9.544,14349,7.356,15051,5.126,15084,5.126,15086,5.126,15088,5.238,15090,5.238,15092,5.238,15093,5.238,15094,5.238,15097,5.238,15099,5.238,15101,5.238,15103,7.353,17191,8.876,17202,6.134,17203,6.473,17204,6.134,17205,6.134,17206,6.134,17207,6.134,17208,6.134,17209,6.134,17210,6.134,17211,6.134,17212,6.134,17213,6.134,17214,6.134,17215,14.126,17216,6.473,17217,9.582,17218,6.473,17219,6.989,17220,6.989,17221,6.989,17222,6.989,17223,6.989,17224,6.989,17225,6.473,17226,6.989,17227,6.473,17228,6.473,17229,6.989]],["title/classes/OauthConfigEntity.html",[0,0.241,13579,4.833]],["body/classes/OauthConfigEntity.html",[0,0.311,2,0.425,3,0.007,4,0.007,5,0.004,7,0.056,26,1.289,27,0.495,29,0.307,30,0.001,31,0.226,32,0.161,33,0.447,47,1.076,83,2.315,95,0.109,96,1.05,101,0.013,103,0,104,0,110,2.745,112,0.499,122,0.834,134,1.424,153,0.65,157,0.931,159,0.411,185,1.377,190,2.249,195,3,196,4.487,197,1.124,205,1.609,211,3.51,223,4.511,224,1.165,225,2.438,226,1.829,228,0.722,229,1.586,231,0.694,232,1.088,233,1.247,331,1.786,433,0.494,540,1.334,561,1.811,620,2.503,628,2.4,886,2.5,997,2.503,1454,2.475,1561,2.839,1593,4.861,1821,1.904,2070,2.168,2109,1.762,2161,2.665,2186,3.087,2712,3.228,2946,2.152,4654,3.358,4692,4.576,4726,2.449,4917,2.595,5074,4.584,5210,2.152,5215,2.292,6206,3.658,6288,3.21,6369,4.527,6686,3.249,6706,2.595,6707,2.79,7243,3.456,8176,2.532,8262,2.704,8318,5.411,10475,5.234,11509,2.665,13579,7.561,13640,4.972,13653,3.014,13654,3.014,13655,2.95,13656,3.014,13700,5.31,13703,5.162,13705,5.31,13708,5.31,13711,4.861,13715,5.234,13826,4.345,13988,3.087,14382,3.797,14395,4.915,14396,2.532,14397,2.532,14648,4.576,14654,4.106,14765,3.014,15045,4.279,15049,3.17,15051,4.667,15053,6.729,15054,3.267,15055,3.267,15056,3.267,15057,3.267,15058,3.267,15059,3.267,15060,3.267,15061,3.267,15062,3.267,15063,3.267,15077,4.667,15078,4.279,15079,2.95,15080,4.885,15081,6.729,15082,4.279,15083,5.17,15084,4.667,15085,3.087,15086,4.667,15087,3.087,15088,3.014,15089,3.014,15090,3.014,15091,3.087,15092,3.014,15093,3.014,15094,3.014,15095,3.087,15096,3.087,15097,3.014,15098,3.087,15099,3.014,15100,3.014,15101,3.014,15102,3.087,15103,6.037,15104,3.17,15105,2.891,15106,3.267,15107,3.267,15108,3.267,15109,3.267,15110,3.267,15111,3.267,15112,3.267,15113,3.267,15114,3.267,15115,3.087,15116,3.267,15117,3.267,15118,3.267,15119,3.267,15120,3.267,15121,3.267,15122,3.17,15123,3.267,15124,3.267,15125,2.95,15126,3.267,15127,3.267,15128,3.267,15129,3.267,15130,3.267,15131,3.267,15132,3.267,15133,3.267,15134,3.267,15135,3.267,15136,3.267,15137,3.267,15138,3.267,15139,3.267,15140,3.087,15141,3.267,15142,3.17,15143,3.087,15144,3.17,15145,3.087,15146,3.087,15147,3.17,15148,3.087,15149,3.17,15150,3.087,15151,2.95,15152,2.95,15153,2.95,15154,3.014,15155,3.267,15156,2.95,15157,2.595,15158,3.087,15159,3.267,15160,3.087,15161,3.267,15162,3.267,15163,3.267,15164,3.267,15165,3.267,15166,3.014,15167,3.17,15168,3.087,15169,3.17,17230,4.021,17231,4.021,17232,4.021,17233,4.021,17234,4.021,17235,4.021,17236,4.021,17237,4.021,17238,4.021,17239,4.021,17240,4.021,17241,4.021,17242,4.021,17243,4.021]],["title/classes/OauthConfigMissingLoggableException.html",[0,0.241,17023,6.113]],["body/classes/OauthConfigMissingLoggableException.html",[0,0.309,2,0.943,3,0.017,4,0.017,5,0.008,7,0.124,8,1.287,27,0.439,29,0.682,30,0.001,31,0.502,32,0.139,33,0.408,35,1.024,47,0.906,48,5.78,95,0.126,101,0.011,103,0.001,104,0.001,148,0.878,228,1.604,231,1.943,233,2.769,244,6.305,339,2.619,400,2.619,433,1.097,436,2.638,983,7.267,1027,2.733,1080,3.096,1115,3.399,1422,4.938,1423,5.751,1426,5.752,1462,4.816,1463,9.708,1465,6.198,1467,7.515,1468,5.751,1469,6.037,1470,6.312,1471,6.551,1472,4.965,1476,5.383,1477,4.56,1478,4.747,2088,4.827,2860,5.764,3430,3.878,16459,7.515,17023,9.884,17244,10.431,17245,8.273,17246,8.932]],["title/classes/OauthConfigResponse.html",[0,0.241,17247,5.86]],["body/classes/OauthConfigResponse.html",[0,0.177,2,0.539,3,0.009,4,0.009,5,0.005,7,0.071,27,0.515,29,0.39,30,0.001,31,0.287,32,0.171,33,0.542,34,1.308,47,1.061,95,0.057,101,0.007,103,0,104,0,112,0.6,157,3.027,172,3.264,176,3.88,190,2.344,194,5.53,195,3.071,196,4.669,197,3.957,202,1.172,296,3.459,433,0.627,868,6.293,871,2.814,1060,5.222,1171,5.871,1493,6.213,1593,7.048,2233,7.435,2258,5.499,2729,4.147,2831,3.061,5074,5.846,5317,5.871,6288,4.654,6369,5.135,8262,3.433,10475,6.75,13700,6.848,13703,6.658,13705,6.848,13708,6.848,13711,6.269,13715,6.75,13826,3.486,14349,5.871,14692,6.435,15051,3.745,15086,3.745,15088,3.827,15090,3.827,15092,3.827,15093,3.827,15094,3.827,15097,3.827,15099,3.827,15101,3.827,15103,6.848,16069,4.481,17127,6.712,17247,7.716,17248,13.346,17249,7.648,17250,7.648,17251,5.105,17252,5.105,17253,5.105,17254,7.648,17255,5.105,17256,5.105,17257,5.105,17258,5.105,17259,5.105,17260,5.105,17261,5.105,17262,5.105,17263,5.105,17264,5.105,17265,5.105,17266,5.105,17267,5.105,17268,5.105,17269,5.105,17270,5.105,17271,5.105,17272,5.105,17273,5.105]],["title/interfaces/OauthCurrentUser.html",[159,0.712,8117,5.49]],["body/interfaces/OauthCurrentUser.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.121,33,0.544,47,0.944,72,5.471,95,0.109,101,0.013,103,0.001,104,0.001,112,0.935,159,1,161,2.33,173,7.897,180,5.106,231,2.056,290,2.32,325,6.362,567,4.442,614,3.693,4953,7.897,5102,6.786,6178,7.04,6281,8.011,8115,11.251,8117,9.391,13119,8.584,14349,9.145,14692,10.024,17274,9.78,17275,11.914,17276,11.914]],["title/classes/OauthDataDto.html",[0,0.241,14387,5.008]],["body/classes/OauthDataDto.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.517,29,0.666,30,0.001,31,0.49,32,0.164,33,0.606,95,0.143,101,0.011,103,0.001,104,0.001,112,0.87,232,3.001,433,1.071,435,2.995,614,3.781,2617,5.427,3430,5.296,10075,9.143,10089,8.075,10105,8.947,10135,6.535,10136,6.873,11257,8.947,14387,9.531,14416,9.909,14418,10.263,17277,12.55,17278,8.718,17279,10.705,17280,11.091,17281,8.718,17282,8.718,17283,9.615,17284,8.718,17285,8.718,17286,8.075,17287,8.718,17288,8.718,17289,8.718,17290,8.718,17291,8.718,17292,8.718,17293,8.718]],["title/classes/OauthDataStrategyInputDto.html",[0,0.241,14392,5.221]],["body/classes/OauthDataStrategyInputDto.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,27,0.511,29,0.704,30,0.001,31,0.518,32,0.162,33,0.421,47,0.963,95,0.103,101,0.012,103,0.001,104,0.001,112,0.901,173,8.295,232,3.109,339,3.952,433,1.133,435,3.167,1605,8.544,2617,5.738,3430,5.434,5004,8.697,10135,6.91,10136,7.267,14392,10.102,15971,7.757,15972,7.757,17064,8.539,17065,8.539,17277,12.484,17283,9.865,17286,8.539,17294,9.219,17295,11.488,17296,9.219,17297,9.219]],["title/classes/OauthLoginResponse.html",[0,0.241,15950,5.86]],["body/classes/OauthLoginResponse.html",[0,0.31,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.481,29,0.683,30,0.001,31,0.503,32,0.153,33,0.564,34,1.928,47,0.907,95,0.126,101,0.011,103,0.001,104,0.001,112,0.885,157,2.072,176,5.722,190,2.022,201,4.384,202,2.055,231,1.946,232,3.052,296,2.342,433,1.1,435,3.075,436,2.644,457,4.976,567,4.205,614,4.018,1361,5.146,1470,6.321,1605,7.7,2543,7.101,3430,4.897,6288,4.584,8115,10.389,8320,8.272,15938,9.32,15950,11.242,17298,12.347,17299,8.952,17300,11.278,17301,8.952,17302,8.952,17303,8.952,17304,8.952]],["title/modules/OauthModule.html",[252,1.839,1523,5.658]],["body/modules/OauthModule.html",[0,0.237,3,0.013,4,0.013,5,0.006,30,0.001,52,3.479,95,0.157,101,0.009,103,0,104,0,180,2.939,252,2.858,254,2.467,255,2.619,256,2.685,257,2.675,258,2.665,259,3.932,260,4.023,265,5.872,269,3.703,270,2.637,271,2.583,276,3.703,277,0.981,279,2.843,703,2.104,1027,2.098,1054,3.875,1522,10.651,1523,11.924,1525,9.103,1536,6.018,1540,4.758,1856,7.215,2070,3.697,2680,3.149,3890,7.88,3900,4.992,3903,5.77,3904,6.184,5069,9.286,5206,4.841,6077,8.391,9906,9.489,13565,10.902,13566,11.636,17004,10.651,17022,5.77,17305,6.857,17306,6.857,17307,6.857,17308,6.857,17309,10.651,17310,10.651,17311,6.857,17312,6.857,17313,6.018,17314,6.857]],["title/modules/OauthProviderApiModule.html",[252,1.839,17315,5.86]],["body/modules/OauthProviderApiModule.html",[0,0.254,3,0.014,4,0.014,5,0.007,30,0.001,95,0.153,101,0.009,103,0,104,0,187,4.152,252,2.962,254,2.643,255,2.806,256,2.876,257,2.866,258,2.856,259,4.075,260,2.73,265,5.995,269,3.881,270,2.825,271,2.767,273,4.626,274,4.127,276,3.881,277,1.051,1027,2.248,1470,4.117,1856,7.366,2680,3.374,3036,3.443,3890,8.045,3900,3.877,4029,5.016,5068,9.687,5073,5.64,5074,5.729,10548,10.5,10555,5.016,17150,6.805,17315,12.347,17316,7.347,17317,7.347,17318,7.347,17319,11.343,17320,10.874,17321,10.874,17322,10.874,17323,10.874,17324,10.874,17325,10.874,17326,6.181,17327,9.848,17328,7.347,17329,6.805,17330,7.347]],["title/injectables/OauthProviderClientCrudUc.html",[589,0.926,17320,5.86]],["body/injectables/OauthProviderClientCrudUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.881,27,0.464,29,0.877,30,0.001,31,0.646,32,0.147,33,0.525,34,2.141,35,1.256,36,2.694,47,0.991,55,2.329,56,4.822,58,6.692,59,3.182,95,0.133,101,0.007,103,0,104,0,112,0.605,129,1.527,130,1.396,135,1.683,148,1.077,176,3.91,178,6.261,187,6.92,228,1.967,277,0.738,290,3.069,317,2.916,325,6.724,339,3.591,349,6.043,433,0.947,478,1.445,589,1.024,591,1.223,595,1.956,652,2.228,657,2.863,693,2.345,998,3.649,1862,6.331,2680,2.368,2831,4.902,2944,7.36,3240,2.65,6288,3.133,6365,8.069,8319,6.261,8320,5.653,10277,8.9,10555,5.262,11006,8.431,11028,10.105,11032,3.709,11091,6.764,13704,6.484,17155,7.138,17156,7.138,17320,6.484,17331,9.949,17332,11.343,17333,5.158,17334,9.227,17335,6.764,17336,6.764,17337,6.764,17338,8.098,17339,8.098,17340,4.19,17341,5.158,17342,7.138,17343,5.158,17344,7.138,17345,5.158,17346,7.138,17347,5.158,17348,4.777,17349,5.158,17350,4.777,17351,5.158,17352,7.138,17353,5.158,17354,5.158,17355,10.955,17356,7.707,17357,5.158,17358,5.158,17359,9.227,17360,9.227,17361,7.707,17362,5.158,17363,5.158,17364,5.158]],["title/injectables/OauthProviderConsentFlowUc.html",[589,0.926,17321,5.86]],["body/injectables/OauthProviderConsentFlowUc.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.075,8,0.911,27,0.456,29,0.892,30,0.001,31,0.657,32,0.145,33,0.534,35,1.281,36,2.724,39,2.631,47,1.03,95,0.135,101,0.007,103,0,104,0,125,2.784,135,1.453,148,1.029,153,0.873,160,8.809,164,4.048,173,7.403,174,6.473,175,4.544,176,2.74,178,4.387,186,8.506,187,6.833,228,1.432,277,0.772,317,2.742,325,5.987,349,5.312,365,4.211,379,6.781,389,3.531,433,0.98,569,2.479,579,1.542,589,1.06,591,1.281,652,2.659,657,2.394,871,4.449,1495,7.528,2681,3.222,3240,2.775,4077,4.759,4578,9.112,5074,2.757,5140,3.531,6273,8.809,6320,8.506,6327,8.506,10555,5.445,11006,8.574,11032,3.883,13836,10.173,13837,5.002,17321,6.71,17331,9.823,17340,4.387,17365,11.199,17366,4.74,17367,8.782,17368,6.999,17369,8.782,17370,7.386,17371,7.974,17372,5.4,17373,5.002,17374,5.4,17375,7.386,17376,5.4,17377,5.4,17378,5.002,17379,7.386,17380,8.506,17381,5.4,17382,7.974,17383,8.573,17384,5.4,17385,5.977,17386,4.544,17387,5.002,17388,7.974,17389,5.4,17390,5.002,17391,5.4,17392,5.4,17393,5.4,17394,5.4,17395,8.253,17396,5.4,17397,5.4,17398,5.4,17399,5.4,17400,5.4,17401,5.4,17402,4.257,17403,5.4]],["title/controllers/OauthProviderController.html",[314,2.65,17327,6.113]],["body/controllers/OauthProviderController.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.047,8,0.632,10,1.359,27,0.468,29,0.9,30,0.001,31,0.662,32,0.146,33,0.539,35,1.376,36,2.902,47,0.248,95,0.138,100,1.179,101,0.004,103,0,104,0,135,1.71,148,1.18,171,2.274,186,8.248,187,6.886,190,2.151,202,0.776,228,1.727,274,1.408,277,0.484,314,1.287,316,1.627,317,2.951,325,6.706,326,5.085,349,6.897,365,5.132,379,6.625,388,4.541,389,2.211,392,1.76,395,1.81,398,6.23,433,0.415,652,1.956,657,2.58,871,2.036,1295,6.832,2219,1.516,2220,1.705,2221,1.646,2222,2.129,2258,2.431,2831,3.25,3240,1.737,3242,1.851,4029,2.309,4077,3.303,4401,2.182,4576,10.97,4866,7.147,5074,2.826,6273,6.832,6281,2.274,6320,4.496,6338,8.092,6362,5.911,9028,2.747,10555,3.779,11028,7.209,11032,2.431,13328,6.166,13815,9.902,13854,2.747,15826,7.126,15938,5.052,15973,6.597,17153,8.91,17320,4.657,17321,4.657,17322,5.911,17323,4.657,17324,5.911,17325,5.911,17327,4.857,17329,3.132,17332,3.132,17335,6.166,17336,4.857,17337,6.166,17338,6.166,17339,6.166,17342,3.132,17344,3.132,17346,3.132,17348,3.132,17350,3.132,17365,3.132,17368,4.857,17369,6.508,17383,4.248,17385,6.086,17395,7.581,17404,12.186,17405,3.381,17406,5.126,17407,4.857,17408,4.857,17409,6.508,17410,4.857,17411,3.381,17412,3.381,17413,3.381,17414,3.381,17415,3.381,17416,3.381,17417,3.381,17418,3.381,17419,3.381,17420,3.381,17421,3.381,17422,5.534,17423,3.381,17424,3.381,17425,3.381,17426,5.534,17427,3.381,17428,3.381,17429,3.381,17430,3.381,17431,3.381,17432,3.381,17433,3.381,17434,3.381,17435,3.381,17436,3.381,17437,3.381,17438,3.381,17439,3.381,17440,7.126,17441,3.381,17442,3.381,17443,3.381,17444,3.381,17445,5.538,17446,4.363,17447,8.957,17448,3.381,17449,7.026,17450,3.132,17451,3.381,17452,3.381,17453,3.381,17454,3.381,17455,3.381,17456,3.381,17457,3.381,17458,3.381,17459,3.381,17460,3.381,17461,8.12,17462,3.381,17463,3.381,17464,3.381,17465,3.381,17466,3.381,17467,3.381,17468,3.381,17469,3.381,17470,3.381,17471,3.381,17472,3.381,17473,3.381,17474,3.381,17475,3.381,17476,3.381,17477,3.381,17478,3.381,17479,3.381,17480,3.381,17481,5.534,17482,5.534,17483,3.381,17484,3.381,17485,3.381,17486,3.381,17487,3.381,17488,3.381,17489,3.381,17490,3.381,17491,3.381,17492,3.381,17493,3.381,17494,3.381,17495,3.381,17496,2.845,17497,3.381,17498,3.381,17499,3.381,17500,3.381,17501,3.381,17502,3.381,17503,3.381,17504,3.381]],["title/injectables/OauthProviderLoginFlowService.html",[589,0.926,13843,5.658]],["body/injectables/OauthProviderLoginFlowService.html",[0,0.244,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,27,0.428,29,0.838,30,0.001,31,0.617,32,0.136,33,0.501,35,1.104,36,2.035,47,0.807,95,0.148,101,0.009,103,0,104,0,122,2.275,135,1.428,142,3.486,148,1.079,153,1.138,187,6.668,195,1.547,228,1.971,277,1.006,317,2.374,433,1.183,579,2.009,589,1.28,591,1.669,622,5.548,652,2.232,657,2.202,688,3.281,711,3.696,1829,3.016,1941,4.601,2008,3.506,2088,3.016,2698,2.283,2776,6.681,2954,3.74,4981,5.162,5138,3.767,6369,5.95,7044,8.042,7062,5.993,8156,8.845,8222,8.724,8311,6.063,10197,8.656,10199,8.656,10218,5.548,10274,6.519,10275,6.519,11057,6.177,11451,5.548,13648,5.402,13843,7.822,13854,9.587,16150,10.736,17505,11.8,17506,7.038,17507,9.628,17508,9.628,17509,7.038,17510,7.038,17511,9.628,17512,7.038,17513,9.628,17514,7.038,17515,6.519,17516,5.921,17517,7.038,17518,7.038,17519,7.038,17520,7.038,17521,7.038,17522,7.038,17523,9.628,17524,7.038]],["title/injectables/OauthProviderLoginFlowUc.html",[589,0.926,17322,5.86]],["body/injectables/OauthProviderLoginFlowUc.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.066,8,0.827,27,0.434,29,0.85,30,0.001,31,0.625,32,0.138,33,0.509,34,0.811,35,1.211,36,2.637,47,0.997,95,0.147,101,0.006,103,0,104,0,122,1.818,135,1.623,148,1.094,153,1.418,174,4.94,179,7.971,180,3.101,186,7.971,187,6.543,228,1.897,277,0.678,290,2.327,317,2.783,365,3.895,379,5.359,412,2.107,433,0.889,478,1.329,579,2.504,589,0.962,591,1.125,595,1.799,652,2.676,653,2.976,657,2.73,693,2.157,871,1.745,1312,2.234,1853,1.556,1862,6.153,2008,2.363,2680,2.178,2698,3.427,2776,5.513,3900,2.503,4578,9.363,5074,3.694,5138,2.539,5147,7.457,5449,6.979,6275,7.971,6281,4.865,6435,4.453,8114,3.93,8156,3.555,8170,3.411,8172,4.668,8222,7.859,8310,5.02,8311,2.987,9503,4.163,10223,3.991,10277,3.853,10555,4.94,10631,5.134,11006,8.166,11032,3.411,11057,4.163,11372,8.034,11440,3.739,11458,3.739,13648,3.641,13843,9.406,13854,9.697,13855,4.163,15938,6.306,15973,10.306,17313,4.163,17322,6.087,17331,9.406,17340,3.853,17366,4.163,17378,4.393,17380,7.971,17385,6.574,17386,3.991,17390,4.393,17395,9.409,17407,6.35,17409,8.123,17446,5.703,17525,8.123,17526,8.123,17527,7.235,17528,4.743,17529,4.743,17530,4.743,17531,6.701,17532,4.743,17533,4.743,17534,4.393,17535,4.743,17536,7.235,17537,4.743,17538,4.163,17539,4.163,17540,4.743,17541,7.235,17542,4.743,17543,4.743,17544,7.235,17545,4.743,17546,4.743,17547,4.743,17548,4.743,17549,4.743,17550,4.743,17551,3.739,17552,4.743,17553,4.743,17554,4.743,17555,4.743,17556,4.743,17557,4.743,17558,4.743,17559,4.743]],["title/injectables/OauthProviderLogoutFlowUc.html",[589,0.926,17323,5.86]],["body/injectables/OauthProviderLogoutFlowUc.html",[0,0.32,3,0.017,4,0.017,5,0.008,7,0.129,8,1.314,27,0.448,29,0.878,30,0.001,31,0.646,32,0.142,33,0.526,35,1.06,36,2.648,47,0.921,95,0.14,101,0.012,103,0.001,104,0.001,135,1.202,148,0.908,187,7.079,228,1.659,277,1.321,400,2.709,433,1.135,589,1.529,591,2.192,4578,6.644,5074,4.718,10555,7.855,11006,10.086,11032,6.644,17323,9.679,17331,10.177,17340,7.507,17366,8.11,17385,6.926,17450,11.603,17560,11.504,17561,9.24,17562,11.504,17563,9.24,17564,11.504,17565,9.24]],["title/modules/OauthProviderModule.html",[252,1.839,17319,6.113]],["body/modules/OauthProviderModule.html",[0,0.255,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.009,103,0,104,0,187,4.167,252,2.968,254,2.652,255,2.816,256,2.887,257,2.876,258,2.866,259,4.083,260,4.177,265,6.001,269,3.891,270,2.836,271,2.777,276,3.891,277,1.054,279,3.057,1027,2.256,1916,8.977,1934,9.932,1935,5.813,2698,2.392,3890,8.053,3900,3.892,5068,9.698,5073,5.66,5074,3.765,6823,9.698,6830,5.66,10548,10.511,10555,5.034,13836,11.774,13843,11.369,13854,5.99,13855,6.472,16146,11.355,17313,6.472,17319,12.847,17326,6.204,17387,6.83,17515,6.83,17516,6.204,17566,7.374,17567,7.374,17568,7.374,17569,7.374,17570,7.374,17571,7.374]],["title/classes/OauthProviderRequestMapper.html",[0,0.241,17538,6.113]],["body/classes/OauthProviderRequestMapper.html",[0,0.318,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,8,1.309,27,0.358,29,0.701,30,0.001,31,0.515,32,0.114,33,0.419,35,1.052,47,1.009,59,2.852,77,5.922,95,0.128,101,0.012,103,0.001,104,0.001,148,0.902,169,7.234,170,7.234,174,6.266,179,10.146,183,4.994,184,8.5,185,4.277,187,6.473,467,3.635,5074,5.848,5147,9.232,6926,7.234,9467,8.5,10555,6.266,10631,7.656,11032,6.598,15973,11.152,17386,7.721,17538,10.054,17539,10.054,17572,12.488,17573,9.177,17574,9.177,17575,9.177]],["title/injectables/OauthProviderResponseMapper.html",[589,0.926,17324,5.86]],["body/injectables/OauthProviderResponseMapper.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,8,1.141,10,2.985,27,0.491,29,0.961,30,0.001,31,0.707,32,0.156,33,0.575,35,1.444,95,0.126,101,0.01,103,0,104,0,148,1.238,153,2.036,164,7.486,171,4.995,174,5.072,187,7.327,277,1.062,589,1.328,591,1.762,829,4.39,2258,7.182,5074,6.62,6320,9.803,6338,10.152,6362,10.152,10356,6.519,10555,5.072,11028,9.044,11032,5.341,11039,9.251,15821,6.519,15938,8.676,17324,8.403,17383,9.262,17385,9.044,17386,6.25,17395,9.512,17445,9.512,17446,10.221,17539,11.38,17576,9.988,17577,9.988,17578,9.988,17579,9.988,17580,9.988,17581,9.988,17582,7.428,17583,9.988,17584,9.988,17585,6.88,17586,9.988,17587,9.988,17588,7.428,17589,7.428,17590,7.428,17591,7.428,17592,7.428]],["title/classes/OauthProviderService.html",[0,0.241,11006,5.109]],["body/classes/OauthProviderService.html",[0,0.169,2,0.517,3,0.009,4,0.009,5,0.004,7,0.068,8,0.846,9,6.776,27,0.525,29,1.02,30,0.001,31,0.75,32,0.165,33,0.61,34,1.528,35,1.544,36,3.021,47,1.075,55,2.283,56,3.49,58,5.844,59,3.329,95,0.055,100,1.707,101,0.006,103,0,104,0,160,8.388,162,9.404,176,2.483,179,8.099,290,1.757,339,2.923,379,6.573,2831,3.578,2944,6.428,4578,8.415,6288,3.634,6365,7.047,11006,5.434,11028,8.773,14340,4.295,17326,11.403,17335,6.502,17336,6.502,17337,6.502,17338,7.846,17339,6.502,17367,6.862,17368,6.502,17370,6.862,17373,6.862,17375,6.862,17379,6.862,17380,9.508,17383,3.756,17385,3.668,17406,6.862,17407,6.502,17408,6.502,17410,6.502,17445,3.858,17446,3.858,17525,6.862,17526,6.862,17531,6.862,17534,6.862,17593,4.894,17594,7.408,17595,9.969,17596,4.894,17597,7.408,17598,4.894,17599,7.408,17600,4.894,17601,7.408,17602,4.894,17603,7.408,17604,4.894,17605,4.894,17606,4.894,17607,7.408,17608,4.894,17609,7.408,17610,4.894,17611,4.894,17612,7.408,17613,4.894,17614,4.894,17615,4.894,17616,4.894,17617,4.894,17618,7.408,17619,4.894,17620,7.408,17621,4.894]],["title/modules/OauthProviderServiceModule.html",[252,1.839,10548,5.658]],["body/modules/OauthProviderServiceModule.html",[0,0.332,3,0.018,4,0.018,5,0.009,30,0.001,95,0.148,101,0.012,103,0.001,104,0.001,162,6.657,252,3.363,254,3.451,255,3.663,256,3.756,257,3.742,258,3.729,259,4.276,260,4.734,269,4.61,270,3.689,271,3.613,276,3.756,277,1.372,685,5.564,1054,5.421,1470,5.376,3904,7.698,5074,4.898,10031,7.364,10548,11.076,11006,10.411,17326,8.072,17622,9.593,17623,9.593,17624,9.593,17625,9.593,17626,11.774,17627,9.593]],["title/injectables/OauthProviderUc.html",[589,0.926,17325,5.86]],["body/injectables/OauthProviderUc.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,26,2.772,27,0.469,29,0.919,30,0.001,31,0.676,32,0.149,33,0.55,35,1.249,36,2.929,39,3.024,47,0.885,95,0.142,99,1.708,101,0.011,103,0.001,104,0.001,135,1.418,148,1.071,187,7.18,228,1.523,277,1.213,400,2.486,433,1.042,589,1.448,591,2.011,5074,4.329,6369,6.406,10555,7.439,11006,9.866,11032,6.097,17325,9.167,17331,10.322,17340,6.889,17408,9.563,17410,9.563,17445,6.684,17496,9.167,17628,8.479,17629,8.479,17630,10.895,17631,8.479,17632,10.895,17633,8.479,17634,8.479,17635,8.479]],["title/controllers/OauthSSOController.html",[314,2.65,17149,6.113]],["body/controllers/OauthSSOController.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.099,8,1.111,27,0.379,29,0.742,30,0.001,31,0.546,32,0.12,33,0.444,35,1.115,36,2.509,47,0.981,95,0.151,100,2.489,101,0.009,103,0,104,0,125,1.7,135,1.265,148,0.956,153,1.154,159,0.73,176,3.621,190,1.743,193,5.177,202,1.639,228,1.746,274,2.971,277,1.021,290,1.693,314,2.716,316,3.435,317,2.772,325,5.878,349,6.022,365,5.272,388,3.059,392,3.716,395,3.821,398,5.242,400,2.093,579,2.038,652,1.452,1027,2.184,1470,4,1471,5.236,1475,4.494,1585,5.921,1595,5.799,1613,6.006,1887,5.799,1984,6.537,2447,2.983,2448,4.556,3036,3.345,3240,3.668,3430,3.099,4077,4.259,7642,4.302,7858,4.667,8170,9.596,12067,9.109,13556,8.18,13580,5.35,17149,8.532,17636,11.056,17637,7.138,17638,11.056,17639,11.056,17640,7.138,17641,10.418,17642,7.138,17643,7.138,17644,7.138,17645,7.138,17646,7.138,17647,7.138,17648,7.138,17649,7.138,17650,7.138,17651,7.138,17652,7.138,17653,7.138,17654,9.722,17655,9.722,17656,7.138,17657,7.138,17658,7.138,17659,7.138,17660,7.138,17661,7.138,17662,7.138,17663,7.138,17664,7.138]],["title/classes/OauthSsoErrorLoggableException.html",[0,0.241,1463,5.221]],["body/classes/OauthSsoErrorLoggableException.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,27,0.372,30,0.001,32,0.118,35,1.095,95,0.131,101,0.012,103,0.001,104,0.001,148,0.938,231,2.026,277,1.365,1027,2.922,1080,4.069,1115,3.633,1237,3.4,1312,5.988,1422,5.45,1423,5.927,1426,5.89,1462,5.148,1463,8.799,1468,5.927,1469,6.222,1471,8.611,1477,4.875,1478,5.074,4249,7.329,10416,6.328,17244,10.874,17665,9.548]],["title/interfaces/OauthTokenResponse.html",[159,0.712,17027,5.658]],["body/interfaces/OauthTokenResponse.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.162,47,1.063,101,0.013,103,0.001,104,0.001,112,0.963,159,1.051,161,2.449,177,11.935,178,11.048,16983,9.523,17027,9.975,17352,12.596,17666,9.523]],["title/interfaces/ObjectKeysRecursive.html",[159,0.712,7319,5.221]],["body/interfaces/ObjectKeysRecursive.html",[3,0.016,4,0.016,5,0.01,7,0.117,30,0.001,32,0.156,47,1.083,55,2.653,95,0.093,101,0.017,103,0.001,104,0.001,112,0.848,125,3.193,159,1.371,161,1.994,339,3.169,414,6.642,1302,6.653,1304,4.772,1444,4.655,2233,5.099,5234,6.266,6572,4.772,7301,6.276,7302,6.276,7303,6.6,7304,6.427,7305,6.427,7306,5.272,7307,6.276,7308,5.717,7309,5.717,7310,5.717,7311,5.717,7312,5.911,7313,5.212,7314,5.099,7315,5.099,7316,6.142,7317,10.049,7318,10.049,7319,8.101]],["title/interfaces/OcsResponse.html",[159,0.712,13141,5.221]],["body/interfaces/OcsResponse.html",[3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,32,0.155,34,1.587,47,1.012,55,2.544,101,0.018,103,0.001,104,0.001,112,0.905,122,1.924,159,1.427,161,2.211,172,4.924,339,2.722,402,3.339,532,3.404,1076,5.916,1081,6.338,1115,3.533,3418,4.181,4996,6.338,7510,5.337,13138,6.958,13139,7.126,13140,6.958,13141,8.648,13142,10.08,13143,8.571,13144,7.126,13145,7.126,13146,6.958,13147,7.126,13148,6.809,13149,6.958,13150,7.126,13151,6.958]],["title/classes/OidcConfigDto.html",[0,0.241,14646,5.49]],["body/classes/OidcConfigDto.html",[0,0.279,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.545,29,0.616,30,0.001,31,0.453,32,0.173,33,0.369,47,1.067,101,0.01,103,0,104,0,112,0.828,433,0.991,2161,7.793,2186,6.195,6369,5.928,8318,7.086,13826,5.51,14646,10.463,15084,5.919,15086,5.919,15103,7.906,15142,6.362,15144,6.362,15147,6.362,15149,6.362,15151,8.624,15152,8.624,15153,8.624,15154,8.813,17216,7.475,17218,7.475,17225,7.475,17227,7.475,17228,7.475,17667,14.099,17668,10.89,17669,10.552,17670,8.07,17671,8.07,17672,8.07,17673,8.07,17674,8.07,17675,8.07,17676,8.07,17677,8.07,17678,8.07,17679,8.07,17680,8.07,17681,8.07,17682,8.07,17683,8.07,17684,8.07,17685,8.07]],["title/classes/OidcConfigEntity.html",[0,0.241,15081,5.221]],["body/classes/OidcConfigEntity.html",[0,0.321,2,0.45,3,0.008,4,0.008,5,0.004,7,0.059,26,1.349,27,0.462,29,0.325,30,0.001,31,0.239,32,0.153,33,0.195,47,1.076,83,2.404,95,0.112,96,1.112,101,0.013,103,0,104,0,110,2.85,112,0.522,122,0.883,134,1.509,153,0.689,157,0.986,159,0.436,185,1.459,190,2.066,195,2.997,196,4.526,197,1.191,205,1.67,223,4.516,224,1.234,225,2.552,226,1.937,228,0.765,229,1.68,231,0.735,232,1.153,233,1.321,331,1.892,433,0.523,540,1.413,561,1.919,620,2.652,628,2.542,886,2.595,997,2.652,1454,2.622,1561,3.007,1593,2.622,1821,2.017,2070,2.297,2109,1.866,2161,5.433,2186,3.27,2712,3.378,2946,2.28,4654,3.514,4692,4.788,4726,2.595,4917,2.749,5074,3.4,5210,2.28,5215,2.428,6206,3.828,6288,1.732,6369,4.673,6686,3.4,6706,2.749,6707,2.956,7243,3.617,8176,2.683,8262,2.865,8318,5.586,10475,2.824,11509,2.824,13579,6.431,13640,4.193,13653,3.193,13654,3.193,13655,3.125,13656,3.193,13700,2.865,13703,2.785,13705,2.865,13708,2.865,13711,2.622,13715,2.824,13826,4.546,13988,3.27,14382,3.973,14395,5.102,14396,2.683,14397,2.683,14648,5.894,14654,4.297,14765,3.193,15045,4.478,15049,3.358,15051,4.884,15053,6.947,15054,3.461,15055,3.461,15056,3.461,15057,3.461,15058,3.461,15059,3.461,15060,3.461,15061,3.461,15062,3.461,15063,3.461,15077,4.884,15078,4.478,15079,3.125,15080,5.111,15081,8.348,15082,4.478,15083,3.461,15084,4.884,15085,3.27,15086,4.884,15087,3.27,15088,3.193,15089,3.193,15090,3.193,15091,3.27,15092,3.193,15093,3.193,15094,3.193,15095,3.27,15096,3.27,15097,3.193,15098,3.27,15099,3.193,15100,3.193,15101,3.193,15102,3.27,15103,6.232,15104,3.358,15105,3.063,15106,3.461,15107,3.461,15108,3.461,15109,3.461,15110,3.461,15111,3.461,15112,3.461,15113,3.461,15114,3.461,15115,3.27,15116,3.461,15117,3.461,15118,3.461,15119,3.461,15120,3.461,15121,3.461,15122,3.358,15123,3.461,15124,3.461,15125,3.125,15126,3.461,15127,3.461,15128,3.461,15129,3.461,15130,3.461,15131,3.461,15132,3.461,15133,3.461,15134,3.461,15135,3.461,15136,3.461,15137,3.461,15138,3.461,15139,5.41,15140,3.27,15141,3.461,15142,3.358,15143,3.27,15144,3.358,15145,3.27,15146,3.27,15147,3.358,15148,3.27,15149,3.358,15150,3.27,15151,6.013,15152,6.013,15153,6.013,15154,6.144,15155,3.461,15156,3.125,15157,2.749,15158,3.27,15159,3.461,15160,3.27,15161,3.461,15162,3.461,15163,3.461,15164,3.461,15165,3.461,15166,3.193,15167,3.358,15168,3.27,15169,3.358,17686,4.26,17687,4.26,17688,4.26,17689,4.26,17690,4.26,17691,4.26,17692,4.26,17693,4.26,17694,4.26]],["title/classes/OidcContextResponse.html",[0,0.241,6347,5.86]],["body/classes/OidcContextResponse.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.517,30,0.001,32,0.164,33,0.655,47,1.024,95,0.124,101,0.011,103,0.001,104,0.001,112,0.87,185,3.799,187,7.657,190,2.376,202,2.002,277,1.247,296,3.71,6347,9.332,6358,11.892,6773,8.075,11358,8.771,17695,11.298,17696,11.298,17697,11.298,17698,11.298,17699,8.718,17700,8.718,17701,8.718,17702,8.718,17703,8.718,17704,8.718]],["title/classes/OidcIdentityProviderMapper.html",[0,0.241,14611,5.86]],["body/classes/OidcIdentityProviderMapper.html",[0,0.289,2,0.882,3,0.015,4,0.015,5,0.008,7,0.116,8,1.233,27,0.421,29,0.824,30,0.001,31,0.606,32,0.134,33,0.493,35,0.958,47,0.879,95,0.149,101,0.011,103,0.001,104,0.001,148,0.821,180,3.581,195,2.372,228,1.5,277,1.195,433,1.026,652,1.7,688,3.895,711,3.463,1268,5.144,2088,3.581,2161,5.538,4887,6.999,4888,7.442,5203,8.961,5204,9.268,5206,5.898,6369,4.213,6686,4.266,8318,5.036,12490,5.144,14532,6.263,14611,9.081,14646,9.961,14648,6.008,14654,5.392,14662,11.074,14677,7.739,14679,7.333,14683,11.704,14688,6.788,14708,7.739,14765,8.09,14776,7.739,15140,6.414,15143,6.414,15145,6.414,15146,6.414,15148,6.414,15150,6.414,15151,6.129,15152,6.129,15153,6.129,17181,7.739,17705,11.955,17706,8.356,17707,10.793,17708,8.356,17709,8.356,17710,10.793,17711,8.356,17712,8.356,17713,8.356,17714,8.356,17715,8.356,17716,8.356,17717,8.356,17718,8.356,17719,8.356]],["title/injectables/OidcMockProvisioningStrategy.html",[589,0.926,17720,5.86]],["body/injectables/OidcMockProvisioningStrategy.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.447,29,0.78,30,0.001,31,0.574,32,0.126,33,0.467,35,1.316,36,2.585,47,0.565,95,0.146,100,2.68,101,0.01,103,0,104,0,135,1.493,142,2.782,148,1.128,153,1.856,173,6.772,195,1.689,231,1.763,277,1.099,317,2.483,339,2.253,436,3.39,579,2.194,589,1.358,591,1.823,704,3.923,1476,6.158,1548,5.76,1585,4.68,1610,5.636,1719,7.494,2358,4.417,3430,3.337,5271,6.433,8024,6.465,10098,5.246,11257,8.418,12786,9.642,13827,6.465,14382,7.813,14384,8.053,14386,8.3,14387,9.414,14391,8.3,14392,9.168,14395,7.144,14396,4.838,14397,4.838,14398,7.117,14399,7.842,14400,6.744,14404,7.117,14416,8.3,14420,6.465,14421,6.744,14422,7.117,17035,6.465,17720,8.596,17721,7.684,17722,7.684,17723,7.684,17724,7.684,17725,7.684,17726,7.684,17727,7.117,17728,10.216,17729,7.684,17730,7.684]],["title/injectables/OidcProvisioningService.html",[589,0.926,17731,5.658]],["body/injectables/OidcProvisioningService.html",[0,0.093,3,0.005,4,0.005,5,0.002,7,0.038,8,0.524,26,2.549,27,0.406,29,0.794,30,0.001,31,0.631,32,0.133,33,0.475,34,0.784,35,1.153,36,2.529,39,1.273,47,0.9,48,6.398,49,1.017,51,1.299,59,0.839,64,3.615,95,0.133,99,0.544,100,0.941,101,0.003,103,0,104,0,125,2.617,135,1.661,142,3.767,148,1.053,153,1.816,195,1.314,197,0.754,208,1.7,228,1.805,277,0.386,290,2.173,317,2.78,433,0.563,478,0.756,574,1.513,578,1.415,579,1.707,589,0.61,591,0.64,614,0.837,652,2.538,657,2.899,666,7.031,700,1.306,701,1.306,702,1.337,703,2.424,704,4.033,711,3.37,734,1.933,756,1.077,812,1.72,980,2.53,1027,0.826,1065,5.408,1422,1.081,1472,1.501,1537,1.98,1539,2.193,1718,1.98,1829,1.157,1853,0.886,1883,1.013,1941,1.765,2066,4.673,2068,4.149,2070,2.473,2071,5.075,2073,2.271,2447,3.828,2623,5.481,3364,1.941,3418,2.066,3436,3.073,3469,1.815,3470,1.765,3900,1.425,4215,1.873,4510,1.662,4588,3.919,4714,4.021,4862,1.789,4863,1.815,5026,5.07,5033,2.072,5057,1.941,5129,7.031,5143,2.023,5215,1.538,5449,5.177,5474,2.193,6435,2.823,7501,3.182,7509,1.815,7558,1.941,8114,4.975,8120,4.814,8123,2.193,10075,9.079,10078,4.025,10083,6.227,10085,1.941,10088,2.271,10098,4.083,10105,7.632,10107,1.765,10123,4.083,10477,3.364,11257,5.172,11258,2.072,11371,2.128,11499,7.707,11507,2.271,11508,2.072,11509,3.963,12561,3.084,12771,4.59,12773,8.433,12789,2.271,12790,2.271,12870,2.271,12872,2.271,12874,2.271,12928,7.707,12984,5.031,12985,2.369,13217,2.023,14416,3.726,14418,7.707,15125,3.364,15229,3.726,15230,2.5,15335,1.941,15383,7.441,15384,7.707,16023,2.271,16497,2.369,17040,5.539,17279,7.538,17731,3.726,17732,10.714,17733,2.699,17734,5.98,17735,4.586,17736,4.586,17737,5.98,17738,4.586,17739,5.98,17740,4.586,17741,5.98,17742,5.98,17743,2.699,17744,2.699,17745,2.699,17746,4.586,17747,2.699,17748,7.051,17749,4.586,17750,2.699,17751,4.586,17752,2.699,17753,2.699,17754,4.586,17755,2.699,17756,2.699,17757,2.699,17758,4.586,17759,2.699,17760,2.699,17761,2.699,17762,2.699,17763,2.699,17764,6.418,17765,2.699,17766,2.699,17767,2.369,17768,2.369,17769,7.317,17770,4.586,17771,5.98,17772,2.699,17773,4.586,17774,4.586,17775,2.699,17776,2.699,17777,2.699,17778,2.699,17779,2.699,17780,2.369,17781,4.586,17782,2.369,17783,4.586,17784,4.586,17785,7.051,17786,2.5,17787,2.699,17788,2.5,17789,2.699,17790,5.98,17791,4.586,17792,2.699,17793,4.586,17794,2.699,17795,4.586,17796,2.699,17797,2.5,17798,2.699,17799,2.699,17800,2.699,17801,4.586,17802,2.699,17803,4.586,17804,4.248,17805,2.699,17806,2.699,17807,2.699,17808,2.699,17809,2.699,17810,7.899,17811,2.699,17812,2.699,17813,5.98,17814,2.699,17815,2.699,17816,2.699,17817,4.586,17818,2.699,17819,4.586,17820,2.699,17821,5.98,17822,2.699,17823,2.699,17824,2.699,17825,2.699,17826,2.699,17827,2.699,17828,2.699,17829,2.699,17830,4.248,17831,2.699,17832,4.586,17833,2.699,17834,2.699,17835,4.586,17836,2.699,17837,2.699,17838,2.699,17839,4.586,17840,2.699,17841,2.699,17842,2.699,17843,2.699,17844,2.699,17845,4.586,17846,2.699,17847,2.699,17848,2.699,17849,2.699,17850,2.699,17851,2.699,17852,2.699,17853,2.699,17854,4.586,17855,2.699,17856,2.699,17857,2.699,17858,2.699,17859,2.699,17860,2.699]],["title/injectables/OidcProvisioningStrategy.html",[589,0.926,17861,6.113]],["body/injectables/OidcProvisioningStrategy.html",[0,0.248,3,0.013,4,0.013,5,0.006,7,0.1,8,1.114,9,5.768,27,0.463,29,0.846,30,0.001,31,0.622,32,0.137,33,0.506,35,1.27,36,2.341,95,0.143,100,2.498,101,0.009,103,0,104,0,113,3.872,125,1.706,135,0.932,148,0.704,153,1.158,228,1.75,231,1.681,233,2.221,277,1.024,290,1.699,317,2.396,339,2.1,433,1.197,436,3.272,589,1.295,591,1.699,657,2.844,688,3.34,703,2.99,980,3.951,1476,4.318,1853,2.35,2071,5.759,2088,3.07,2358,4.118,5271,6.136,7510,5.602,8114,5.293,10075,8.302,10098,4.891,12786,8.731,13781,9.658,13785,8.998,14382,7.655,14384,7.682,14386,7.917,14387,8.548,14391,5.819,14392,7.305,14395,4.459,14399,7.481,14400,6.287,14429,6.287,16494,9.026,17035,8.199,17731,10.662,17861,8.553,17862,7.163,17863,6.635,17864,7.163,17865,6.635,17866,7.163,17867,7.163,17868,7.163,17869,6.287,17870,6.635,17871,9.026,17872,7.163,17873,12.434,17874,7.163,17875,7.163,17876,6.635,17877,7.163,17878,11.076,17879,7.163,17880,7.163,17881,7.163,17882,7.163]],["title/interfaces/Options.html",[159,0.712,540,2.311]],["body/interfaces/Options.html",[0,0.228,3,0.012,4,0.012,5,0.006,7,0.092,30,0.001,32,0.131,33,0.586,36,2.24,47,0.779,95,0.118,101,0.015,103,0,104,0,112,0.722,122,2.592,125,2.525,135,1.703,148,1.042,157,3.03,159,0.674,161,1.569,194,4.508,195,1.448,197,3.206,270,2.533,317,2.293,339,1.932,400,1.932,540,4.257,560,4.889,652,1.34,657,2.623,1212,4.251,1476,7.535,1821,5.92,1928,6.779,3102,3.97,3595,4.055,3612,5.862,3800,5.782,3803,6.014,3806,5.057,3812,8.802,3813,7.062,3814,3.856,3816,5.193,3817,6.097,4703,6.914,4910,8.415,4939,7.482,5220,8.355,5222,4.571,5234,3.153,5238,8.073,5249,10.114,5300,7.739,5347,7.944,5349,5.352,6380,5.352,6382,5.782,8843,5.543,8844,6.102,8848,6.102,8850,6.102,8852,8.355,8853,5.057,8855,5.782,8856,5.543,8857,11.178,8858,8.52,8859,5.782,8860,8.52,8861,8.52,8862,6.102,8863,6.102,8864,6.102,8865,9.652,8866,8.52,8867,9.817,8868,6.102,8869,6.102,8870,5.782]],["title/classes/Page.html",[0,0.241,869,3.409]],["body/classes/Page.html",[0,0.34,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.502,29,0.75,30,0.001,31,0.552,32,0.159,33,0.449,55,2.781,101,0.013,103,0.001,104,0.001,112,0.937,339,4.025,433,1.207,532,5.034,863,7.792,864,6.869,869,5.849,881,5.379,17883,9.828,17884,11.949,17885,9.828,17886,9.103]],["title/classes/PageContentDto.html",[0,0.241,17887,6.451]],["body/classes/PageContentDto.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,27,0.499,29,0.739,30,0.001,31,0.544,32,0.158,33,0.443,47,0.979,101,0.012,103,0.001,104,0.001,112,0.929,180,5.712,232,3.205,433,1.19,435,3.327,4970,6.12,17887,12.662,17888,13.328,17889,9.686,17890,12.793,17891,12.793,17892,11.843,17893,9.686,17894,9.686,17895,9.686,17896,9.686,17897,9.686]],["title/interfaces/Pagination.html",[159,0.712,7638,4.198]],["body/interfaces/Pagination.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.159,33,0.611,55,2.825,56,6.299,70,6.784,101,0.017,103,0.001,104,0.001,112,0.935,127,4.901,159,1.218,161,2.33,770,6.158,886,3.097,2232,5.574,2618,8.584,3977,10.024,5340,9.679,7638,8.06,7924,6.02,10858,9.391,13735,9.059]],["title/classes/PaginationParams.html",[0,0.241,883,4.917]],["body/classes/PaginationParams.html",[0,0.389,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,27,0.438,30,0.001,32,0.139,33,0.591,55,2.761,56,6.286,70,6.252,95,0.125,101,0.011,103,0.001,104,0.001,112,0.882,129,3.33,130,3.043,145,4.222,157,2.603,190,2.016,200,2.727,201,4.789,202,2.046,756,4.485,758,8.836,869,5.505,875,7.353,883,7.939,889,8.255,890,7.679,891,9.137,892,8.633,893,10.417,895,7.822,896,6.252,897,9.137,3792,6.184,3797,6.408,3848,7.24,6318,9.459,9174,8.255,17898,8.912,17899,8.912,17900,8.912,17901,8.912]],["title/classes/PaginationResponse.html",[0,0.241,862,4.335]],["body/classes/PaginationResponse.html",[0,0.271,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,9,5.717,27,0.499,29,0.598,30,0.001,31,0.44,32,0.174,33,0.586,55,2.955,56,6.324,59,3.216,70,6.811,95,0.087,101,0.01,103,0,104,0,112,0.812,157,2.853,190,2.209,202,1.799,296,3.353,339,3.398,433,0.962,532,3.795,862,6.441,863,7.405,868,5.932,869,6.033,870,5.663,871,3.807,873,7.855,874,7.706,875,6.765,876,5.387,5102,7.18,17886,7.256,17902,7.834,17903,10.348,17904,7.834,17905,7.834,17906,7.834,17907,7.834,17908,7.834,17909,7.834,17910,7.834]],["title/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.241,2037,6.113]],["body/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,8,1.28,27,0.436,29,0.676,30,0.001,31,0.497,32,0.168,33,0.404,35,1.015,47,0.903,95,0.125,101,0.011,103,0.001,104,0.001,148,0.87,228,1.59,231,1.932,233,2.744,277,1.266,339,2.596,400,2.596,417,4.962,433,1.088,614,2.744,1027,2.709,1115,3.369,1237,3.244,1422,4.918,1423,5.727,1426,5.734,1462,4.773,1465,6.143,1468,5.727,1469,6.013,1477,4.52,1478,4.705,1756,7.062,2037,9.829,2698,2.872,3555,7.829,10119,6.494,14447,7.449,17911,12.285,17912,12.285,17913,8.853,17914,12.285,17915,8.853,17916,8.853,17917,8.853]],["title/interfaces/ParentInfo.html",[159,0.712,11857,5.49]],["body/interfaces/ParentInfo.html",[0,0.253,3,0.007,4,0.007,5,0.005,7,0.145,26,2.616,30,0.001,31,0.555,32,0.104,34,0.993,39,1.612,47,0.896,49,3.479,55,1.177,83,2.899,95,0.125,96,1.516,97,1.447,99,0.723,101,0.013,103,0,104,0,112,0.574,122,2.158,125,2.904,135,1.586,141,2.489,145,1.346,148,1.312,153,1.939,159,0.748,161,0.854,185,1.989,195,2.03,196,2.79,197,1.002,205,1.882,223,3.799,224,1.039,225,2.225,229,1.414,231,0.619,232,1.571,233,1.112,277,0.513,290,0.851,402,2.632,412,1.593,414,2.946,430,1.475,431,1.537,478,1.005,540,2.427,556,1.82,567,1.337,569,2.871,579,1.024,615,2.184,620,4.554,703,1.781,711,3.769,756,1.43,773,2.377,794,2.631,802,2.377,870,4.602,886,3.295,1078,1.571,1080,2.536,1084,2.449,1154,3.965,1309,4.175,1444,4.675,1829,2.489,1925,2.489,1937,1.69,2033,1.36,2127,2.1,2128,3.965,2184,3.329,2513,2.044,2712,2.946,2796,1.92,2942,3.9,2953,2.08,2959,1.647,3159,1.623,3418,1.615,3467,1.92,3668,1.82,3681,2.579,3933,5.447,4040,2.1,4216,2.688,4588,3.939,4598,2.753,4600,2.258,4654,3.064,4664,1.615,4665,2.1,5466,2.062,5788,2.044,5800,2.14,6665,3.974,6666,5.447,6668,1.934,6669,2.532,6671,3.965,6672,2.579,6673,4.259,6674,2.688,6675,2.286,6676,2.489,6678,4.175,6680,2.688,7206,5.741,7207,4.457,7208,4.457,7209,4.457,7210,5.586,7211,2.314,7216,3.965,7218,1.708,7237,4.456,7238,4.175,7245,2.314,7251,2.631,7253,2.449,7256,5.366,7549,2.208,7766,2.579,7767,4.029,9256,2.532,11530,2.688,11599,2.631,11632,2.532,11645,2.753,11671,4.457,11674,2.631,11679,2.753,11820,2.914,11821,2.827,11822,4.577,11823,2.914,11825,6.831,11837,6.303,11840,2.827,11841,2.631,11842,4.717,11843,4.717,11844,4.717,11845,4.717,11846,4.717,11847,4.717,11848,4.577,11849,5.741,11850,4.717,11851,2.753,11852,4.352,11853,2.688,11854,4.457,11855,2.753,11856,4.457,11857,6.629,11858,2.579,11859,2.827,11860,2.631,11861,2.631,11862,2.914,11863,2.914,11864,2.688,11865,2.827,11866,2.914,11867,2.914,11868,2.914,11869,2.914,11870,2.914,11871,2.914,11872,2.914,11873,2.914,11874,2.914,11875,2.914,11876,2.914,11877,8.031,11878,2.914,11879,2.914,11880,4.717,11881,2.914,11882,2.914,11883,4.717,11884,4.717,11885,4.717,11886,2.914,11887,2.914,11888,2.914,11889,2.914,11890,2.914,11891,2.914,11892,2.914,11893,4.717,11894,5.944,11895,2.827,11896,2.914,11897,4.717,11898,2.827,11899,2.914,11900,4.717,11901,2.914,11902,5.944,11903,5.944,11904,2.827,11905,5.767,11906,2.914,11907,2.914,11908,2.914,11909,2.914,11910,2.914,11911,2.914,11912,2.914,11913,2.827,11914,2.914,11915,2.914,11916,2.914,11917,2.914,11918,2.914,11919,2.914,11920,2.914,11921,2.914,11922,2.914,11923,2.914]],["title/classes/PatchGroupParams.html",[0,0.241,8411,6.113]],["body/classes/PatchGroupParams.html",[0,0.406,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.371,30,0.001,31,0.658,32,0.118,47,0.861,95,0.142,100,4.088,101,0.012,103,0.001,104,0.001,112,0.92,155,4.343,157,2.713,190,1.707,200,2.915,202,2.187,296,3.067,298,4.136,299,4.589,1065,6.523,2049,5.407,7853,9.195,8089,7.738,8091,8.004,8411,10.288,17918,10.288,17919,9.525,17920,10.288,17921,9.525]],["title/classes/PatchMyAccountParams.html",[0,0.241,383,6.113]],["body/classes/PatchMyAccountParams.html",[0,0.33,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,27,0.48,30,0.001,31,0.659,32,0.152,33,0.606,47,1.001,87,6.204,95,0.131,101,0.009,103,0,104,0,112,0.749,153,2.145,157,2.848,190,2.206,194,5.35,195,2.992,196,4.517,197,3.805,200,2.127,202,1.596,290,3.23,296,3.326,297,7.757,298,3.019,299,4.817,300,4.715,301,4.486,302,8.844,303,5.85,304,3.443,305,5.85,308,5.1,383,8.38,413,5.815,700,5.278,701,5.278,702,6.093,1197,5.186,3237,5.538,5102,9.447,6296,7.527,8017,8.38,17922,11.775,17923,6.952,17924,10.906,17925,10.906,17926,6.952,17927,8.034,17928,6.952,17929,6.952,17930,6.952,17931,6.952,17932,6.952,17933,8.38,17934,6.952]],["title/classes/PatchMyPasswordParams.html",[0,0.241,354,6.113]],["body/classes/PatchMyPasswordParams.html",[0,0.384,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.432,30,0.001,32,0.137,47,0.943,87,7.148,95,0.143,101,0.011,103,0.001,104,0.001,112,0.87,153,2.076,157,2.567,190,1.988,194,5.044,195,2.821,196,4.259,197,3.588,200,2.668,202,2.002,290,3.045,296,3.191,297,9.909,298,3.786,299,4.775,301,5.626,303,7.336,304,4.317,305,9.332,354,9.734,415,6.321,6388,7.696,17922,11.298,17935,8.718,17936,12.197,17937,11.091,17938,11.091,17939,8.718,17940,8.718]],["title/classes/PatchOrderParams.html",[0,0.241,17941,6.113]],["body/classes/PatchOrderParams.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.369,30,0.001,32,0.117,47,0.859,95,0.13,100,4.076,101,0.012,103,0.001,104,0.001,112,0.917,153,1.89,157,2.706,190,1.699,195,2.083,200,2.901,202,2.177,296,3.058,615,7.118,855,4.733,896,7.553,1835,6.006,2051,4.946,2232,7.539,2531,5.111,4235,8.11,4440,7.702,6317,6.78,17918,10.258,17920,10.258,17941,10.258,17942,9.48,17943,9.48,17944,10.826,17945,9.48]],["title/classes/PatchVisibilityParams.html",[0,0.241,17946,6.113]],["body/classes/PatchVisibilityParams.html",[0,0.409,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.12,95,0.132,100,4.124,101,0.012,103,0.001,104,0.001,112,0.928,122,2.452,157,2.737,190,1.732,195,2.599,197,3.305,199,6.523,200,2.957,202,2.219,296,3.094,2049,5.434,2051,5.005,4465,11.99,5607,7.536,5608,7.732,8098,8.48,17918,10.379,17920,10.379,17946,10.379,17947,9.662,17948,9.662]],["title/classes/Path.html",[0,0.241,414,3.534]],["body/classes/Path.html",[0,0.316,2,0.437,3,0.008,4,0.008,5,0.004,7,0.058,27,0.254,29,0.497,30,0.001,31,0.452,32,0.081,33,0.189,47,0.981,55,2.722,72,1.9,83,1.908,95,0.102,96,1.08,101,0.012,103,0,104,0,112,0.51,122,2.183,131,3.322,134,2.304,141,4.513,145,3.952,148,0.896,155,1.321,157,0.958,190,0.742,194,1.626,195,2.934,196,4.4,197,1.156,205,1.326,208,2.605,223,4.391,224,1.198,225,2.494,229,1.632,231,0.714,233,1.283,289,2.4,301,2.67,374,3.96,414,5.955,433,0.508,467,1.204,478,1.159,567,1.543,711,1.885,756,4.393,870,4.402,1087,1.909,1195,3.983,1199,7.001,1200,7.612,1201,7.612,1215,5.497,1224,4.679,1237,2.872,1372,2.183,1929,4.773,2164,3.731,2184,1.638,2393,3.082,2553,4.098,2643,4.443,2912,1.98,2915,6.64,2995,4.516,3056,1.991,3418,1.863,3426,3.846,3926,3.261,3972,4.313,5140,4.255,5234,3.85,5245,4.006,5406,5.13,6027,4.679,6178,3.846,6203,4.147,6574,3.176,6575,3.176,6576,3.101,6577,3.176,6578,2.705,6584,3.101,6585,3.176,6597,6.175,6600,2.921,6601,3.176,6617,3.709,6618,3.035,6620,3.176,6628,2.921,6630,3.176,6632,3.176,6634,3.176,6636,3.176,6642,3.176,7064,6.029,7245,2.67,7465,2.975,7572,2.469,9611,2.921,11686,6.535,11687,3.481,11688,5.13,11689,6.175,11690,3.361,11694,5.475,11695,5.475,11696,6.768,11697,5.475,11698,7.409,11699,3.481,11700,5.475,11701,5.475,11702,5.475,11703,3.261,11704,3.481,11705,3.176,11706,5.287,11707,6.768,11708,3.481,11709,6.768,11710,6.68,11711,5.287,11712,4.995,11713,5.475,11714,5.13,11715,5.475,11716,4.679,11717,5.475,11718,5.475,11719,5.287,11720,5.475,11721,5.475,11722,3.261,11723,3.481,11724,3.261,11725,2.825,11726,3.481,11727,3.481,11728,3.481,11729,3.481,11730,3.481,11731,3.481,11732,3.481,11733,3.481,11734,3.481,11735,3.481,11736,3.481,11737,3.481,11738,3.481,11739,3.481,11740,3.481,11741,3.481,11742,3.481,11743,3.481,11744,3.481,11745,3.481,11746,3.481,11747,3.481,11748,3.481,11749,3.481,11750,3.481,11751,3.481,11752,3.481,11753,3.481,11754,3.481,11755,3.481,11756,3.481,11757,3.481,11758,3.481,11759,3.481,11760,3.481,11761,3.481,11762,3.481,11763,3.481,11764,3.481,11765,3.481,11766,3.481,11767,3.481,11768,3.481,11769,3.481,11770,3.481,11771,3.481,11772,3.481,11773,3.481,11774,3.481,11775,3.481,11776,3.481,11777,3.481,11778,3.481,11779,3.481,11780,3.481,11781,3.481,11782,3.481,11783,3.481,11784,3.481,11785,3.481,11786,3.481,17949,6.508]],["title/injectables/PermissionService.html",[267,5.86,589,0.926]],["body/injectables/PermissionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.246,27,0.425,29,0.833,30,0.001,31,0.613,32,0.135,33,0.498,35,1.346,47,0.975,95,0.122,101,0.009,102,5.075,103,0,104,0,122,1.98,135,1.528,145,4.094,148,1.154,153,1.544,197,1.943,267,9.176,277,0.994,290,3.331,331,5.646,388,2.98,407,6.625,409,6.085,412,4.241,579,1.985,589,1.269,591,1.649,610,2.742,641,5.442,652,2.218,874,4.07,1223,7.157,1778,6.867,1822,6.44,1824,6.44,1825,6.44,1826,6.691,1829,2.98,1831,6.329,1836,6.44,1837,6.44,1862,5.075,1939,3.695,2512,5.698,3436,6.032,4441,6.445,5136,6.329,5249,7.527,6303,6.625,11332,8.034,12148,8.844,13184,8.844,17950,6.952,17951,9.548,17952,7.757,17953,9.548,17954,9.548,17955,6.952,17956,9.548,17957,6.952,17958,9.548,17959,8.844,17960,9.548,17961,6.952,17962,6.952,17963,6.952,17964,6.952,17965,6.952,17966,6.952,17967,5.648,17968,9.548,17969,6.952,17970,9.548,17971,6.952,17972,5.648,17973,6.952]],["title/interfaces/PlainTextMailContent.html",[159,0.712,1450,5.221]],["body/interfaces/PlainTextMailContent.html",[3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,31,0.5,32,0.139,33,0.513,47,1.077,77,5.738,101,0.011,103,0.001,104,0.001,112,0.881,159,1.414,161,2.118,231,2.301,1240,5.255,1439,8.418,1440,6.826,1441,9.227,1442,8.621,1443,6.826,1444,4.943,1445,8.418,1446,6.522,1447,6.522,1448,9.692,1449,6.826,1450,9.227,1451,10.236,1452,10.236,1453,8.418,1454,6.913,1455,6.665,1456,6.665,1457,6.826,1458,6.826]],["title/classes/PostH5PContentCreateParams.html",[0,0.241,12638,5.221]],["body/classes/PostH5PContentCreateParams.html",[0,0.452,2,0.744,3,0.013,4,0.013,5,0.006,7,0.098,26,2.226,27,0.46,30,0.001,32,0.153,47,0.96,95,0.146,99,1.42,101,0.016,103,0,104,0,112,0.756,131,4.922,158,3.559,172,3.009,190,2.117,200,2.157,202,1.619,205,1.437,296,3.7,298,3.061,299,4.301,300,3.694,326,4.706,478,1.975,855,5.169,856,7.097,886,3.739,899,3.222,1195,6.123,1198,6.621,1240,6.978,2164,3.27,3200,4.207,3201,5.795,3933,5.202,4582,9.321,4585,8.433,6389,4.892,6561,5.932,6567,7.182,6617,4.018,6663,8.717,6666,5.202,8091,6.582,11710,6.431,12589,8.085,12627,5.284,12628,5.557,12632,6.805,12633,5.284,12634,5.284,12635,5.284,12636,5.412,12637,5.557,12638,7.226,12639,5.557,17974,7.05,17975,7.05,17976,7.05,17977,7.05,17978,7.05,17979,7.05]],["title/classes/PostH5PContentParams.html",[0,0.241,12636,5.346]],["body/classes/PostH5PContentParams.html",[0,0.454,2,0.753,3,0.013,4,0.013,5,0.006,7,0.099,26,1.97,27,0.463,30,0.001,32,0.137,47,0.981,95,0.146,99,1.438,101,0.016,103,0,104,0,112,0.763,131,6.06,158,3.589,190,2.128,200,2.184,202,1.639,205,1.455,296,3.707,298,3.099,299,4.328,300,3.725,326,4.726,478,2,855,5.189,856,7.124,886,3.758,899,3.262,1195,6.15,1198,6.664,1240,7.572,2164,3.311,3201,5.563,3933,3.38,4582,9.344,4585,8.487,6389,4.953,6567,7.761,6617,4.068,6663,8.105,6666,3.38,8091,6.638,11710,4.178,12589,8.12,12627,5.35,12628,5.627,12632,6.863,12633,5.35,12634,5.35,12635,5.35,12636,7.463,12637,8.715,12638,5.35,12639,5.627,17980,7.138,17981,7.138,17982,7.138,17983,9.722,17984,7.138,17985,7.138]],["title/classes/PreviewActionsLoggable.html",[0,0.241,17986,5.658]],["body/classes/PreviewActionsLoggable.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,8,1.3,27,0.443,29,0.693,30,0.001,31,0.51,32,0.112,33,0.415,35,1.04,47,0.913,95,0.127,101,0.012,103,0.001,104,0.001,135,1.181,148,0.892,159,0.928,228,2.042,339,2.66,400,2.66,403,4.632,433,1.115,652,1.845,1027,2.776,1115,4.728,1237,3.295,1422,4.973,1423,5.792,1426,5.785,1723,7.08,1796,7.634,4249,6.965,7287,5.855,12587,8.525,12588,8.343,17986,9.24,17987,8.621,17988,12.424,17989,9.073,17990,9.554,17991,9.073,17992,9.073,17993,6.801,17994,7.371,17995,9.073,17996,9.073]],["title/classes/PreviewBuilder.html",[0,0.241,17997,6.113]],["body/classes/PreviewBuilder.html",[0,0.261,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,8,1.153,27,0.393,29,0.77,30,0.001,31,0.567,32,0.125,33,0.461,34,1.944,35,1.157,47,0.835,95,0.141,101,0.01,103,0,104,0,125,2.708,135,1.758,148,0.992,159,0.771,205,1.537,326,3.839,403,6.198,467,3.79,556,3.825,711,2.922,837,3.734,1444,5.608,1723,5.749,3319,4.297,4588,2.583,7218,5.412,7237,8.23,7283,8.922,7287,4.865,11841,5.53,12539,9.318,12585,10.978,12586,9.978,12587,9.099,12588,8.904,17990,8.339,17993,5.652,17997,8.854,17998,7.54,17999,11.369,18000,10.088,18001,7.54,18002,7.54,18003,10.088,18004,7.54,18005,7.54,18006,7.54,18007,7.54,18008,7.54,18009,7.54,18010,7.54,18011,7.54,18012,7.54,18013,7.54]],["title/interfaces/PreviewConfig.html",[159,0.712,18014,5.86]],["body/interfaces/PreviewConfig.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,47,0.74,55,2.041,95,0.112,101,0.016,103,0.001,104,0.001,112,0.951,159,1.24,161,2.4,311,6.42,649,8.505,2831,4.033,7306,8.505,11521,6.202,12095,7.942,12097,7.942,16027,7.39,17987,6.991,18014,10.206,18015,9.332,18016,11.365,18017,11.365]],["title/interfaces/PreviewFileOptions.html",[159,0.712,17990,5.109]],["body/interfaces/PreviewFileOptions.html",[3,0.018,4,0.018,5,0.009,7,0.137,30,0.001,32,0.159,47,1.048,55,1.991,101,0.016,103,0.001,104,0.001,112,0.937,122,2.038,159,1.317,161,2.341,402,3.535,403,5.018,7287,6.342,12587,10.04,12588,10.068,17987,6.819,17990,8.765,17993,10.686,18018,8.626,18019,7.747]],["title/interfaces/PreviewFileParams.html",[159,0.712,12585,5.658]],["body/interfaces/PreviewFileParams.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,31,0.489,32,0.172,33,0.506,47,1.077,55,1.763,95,0.136,101,0.014,103,0.001,104,0.001,112,0.869,159,1.133,161,2.072,205,1.773,339,2.551,403,6.549,837,4.308,1302,6.157,1304,4.958,6572,4.958,7218,4.142,7237,8.483,7283,8.989,7313,5.415,7314,5.298,7315,5.298,12050,5.766,12539,9.847,12584,8.058,12585,8.998,12586,11.258,12587,9.615,12588,9.409]],["title/modules/PreviewGeneratorAMQPModule.html",[252,1.839,18020,6.451]],["body/modules/PreviewGeneratorAMQPModule.html",[0,0.326,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.335,254,3.386,255,3.595,256,3.685,257,3.672,258,3.659,259,3.419,260,3.498,269,4.556,270,3.62,271,3.545,276,4.556,277,1.346,556,4.776,649,5.927,1318,7.226,5234,4.506,7218,4.482,7288,6.074,7306,7.328,7457,8.914,11841,6.905,12092,6.074,12094,10.779,12245,8.719,12417,8.262,18016,7.92,18020,13.101,18021,9.413,18022,9.413,18023,11.901,18024,9.413]],["title/classes/PreviewGeneratorBuilder.html",[0,0.241,18025,6.113]],["body/classes/PreviewGeneratorBuilder.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.012,7,0.13,8,1.322,27,0.363,29,0.712,30,0.001,31,0.524,32,0.115,33,0.426,35,1.069,95,0.14,101,0.012,103,0.001,104,0.001,135,1.505,148,0.917,159,0.954,339,2.735,403,5.907,467,3.662,711,2.701,1304,5.315,1444,5.184,2831,3.733,6397,10.717,7288,7.466,7658,10.686,11521,5.741,17987,8.028,17993,10.583,18025,10.155,18026,9.4,18027,9.326,18028,11.57,18029,9.326]],["title/injectables/PreviewGeneratorConsumer.html",[589,0.926,18030,6.113]],["body/injectables/PreviewGeneratorConsumer.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.113,8,1.21,27,0.413,29,0.809,30,0.001,31,0.595,32,0.131,33,0.484,35,0.931,95,0.151,101,0.01,103,0.001,104,0.001,125,2.523,135,1.056,148,0.798,158,2.997,159,0.83,190,1.455,228,1.458,277,1.161,317,2.551,400,2.381,433,0.997,589,1.408,591,1.926,652,1.651,657,1.857,711,3.416,871,3.898,1027,2.485,1115,3.09,1272,5.112,1274,6.926,1310,5.731,1311,5.308,1723,7.123,2447,5.66,2835,8.606,7288,5.239,10016,4.945,10477,7.77,12336,7.52,12345,7.52,12346,9.812,17986,6.596,17987,8.182,17990,9.167,18026,9.58,18030,9.298,18031,8.119,18032,9.298,18033,8.119,18034,11.186,18035,8.119,18036,8.119,18037,9.921,18038,8.119,18039,7.52,18040,7.126,18041,7.126,18042,7.126,18043,8.119,18044,10.594,18045,8.119,18046,8.119,18047,8.119,18048,8.119]],["title/modules/PreviewGeneratorConsumerModule.html",[252,1.839,18023,6.113]],["body/modules/PreviewGeneratorConsumerModule.html",[0,0.286,3,0.015,4,0.015,5,0.007,8,0.943,27,0.322,29,0.63,30,0.001,31,0.464,32,0.102,33,0.377,35,0.946,95,0.155,101,0.011,103,0.001,104,0.001,135,1.393,148,0.811,153,1.335,252,3.137,254,2.969,259,3.888,265,4.966,276,3.231,277,1.18,467,3.116,556,5.432,649,6.742,651,4.187,685,4.787,686,5.934,688,3.847,1011,7.31,1016,7.574,1021,5.325,1025,5.325,1026,5.196,1027,2.525,2088,5.094,2447,5.447,2831,3.304,7288,6.909,10016,5.026,11521,5.08,12413,5.934,12576,6.704,12577,7.853,16027,6.053,17987,7.429,18014,10.582,18016,6.944,18023,10.431,18026,8.698,18030,9.397,18034,9.008,18042,7.243,18049,8.253,18050,7.243,18051,10.707,18052,8.253,18053,7.644,18054,8.253,18055,8.253,18056,8.253,18057,8.253,18058,8.253]],["title/modules/PreviewGeneratorProducerModule.html",[252,1.839,12412,6.113]],["body/modules/PreviewGeneratorProducerModule.html",[0,0.317,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,252,3.293,254,3.293,255,3.496,256,3.585,257,3.572,258,3.559,259,4.531,260,4.636,265,6.363,269,4.478,270,3.521,271,3.448,276,4.478,277,1.309,556,4.645,1011,9.367,1027,2.802,1311,5.986,12412,12.612,17987,6.353,18026,7.438,18059,9.156,18060,9.156,18061,9.156,18062,9.156,18063,12.148,18064,9.156,18065,9.156]],["title/injectables/PreviewGeneratorService.html",[589,0.926,18034,5.86]],["body/injectables/PreviewGeneratorService.html",[0,0.202,3,0.011,4,0.011,5,0.01,7,0.081,8,0.964,27,0.468,29,0.88,30,0.001,31,0.647,32,0.143,33,0.526,35,1.245,36,2.295,47,0.728,95,0.141,101,0.007,103,0,104,0,112,0.662,125,1.389,129,1.727,130,1.578,135,1.681,141,3.615,148,0.974,153,0.943,159,0.596,195,1.282,228,1.047,277,0.834,317,2.598,326,4.917,400,1.71,402,2.098,403,2.977,433,0.716,569,2.622,579,1.665,589,1.121,591,1.383,652,2.757,657,2.266,711,2.87,1027,1.785,1304,3.323,2447,5.176,2831,2.334,3633,7.126,6435,6.685,7283,7.007,7287,5.443,7288,6.395,7312,8.742,7658,8.051,10477,6.187,11521,3.59,11840,4.597,11864,6.323,11905,6.649,12576,6.853,12577,7.965,12587,4.371,12588,6.187,17986,4.738,17987,8.593,17990,9.084,17993,9.002,18019,4.597,18025,5.118,18026,10.061,18032,7.403,18034,7.097,18040,5.118,18041,5.118,18066,5.402,18067,11.521,18068,7.813,18069,8.435,18070,8.435,18071,5.402,18072,8.435,18073,8.435,18074,5.832,18075,8.435,18076,5.832,18077,5.832,18078,7.813,18079,5.832,18080,8.435,18081,5.832,18082,9.91,18083,5.402,18084,5.832,18085,5.832,18086,5.832,18087,5.832,18088,5.832,18089,5.832,18090,5.832,18091,5.832,18092,5.832,18093,5.832,18094,9.91,18095,5.832,18096,5.402,18097,5.832,18098,5.832,18099,5.832,18100,5.832,18101,5.832,18102,5.832,18103,5.832,18104,5.832,18105,5.832]],["title/interfaces/PreviewModuleConfig.html",[159,0.712,18017,5.86]],["body/interfaces/PreviewModuleConfig.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,47,0.956,55,2.637,95,0.112,101,0.016,103,0.001,104,0.001,112,0.951,159,1.24,161,2.4,311,6.42,649,6.344,2831,4.033,7306,7.638,11521,6.202,12095,10.648,12097,10.648,16027,7.39,17987,6.991,18014,8.477,18015,9.332,18016,8.477,18017,10.95]],["title/interfaces/PreviewOptions.html",[159,0.712,17993,5.221]],["body/interfaces/PreviewOptions.html",[3,0.018,4,0.018,5,0.009,7,0.139,30,0.001,32,0.149,33,0.55,47,1.029,55,2.623,101,0.017,103,0.001,104,0.001,112,0.944,122,2.063,159,1.324,161,2.37,402,3.579,403,6.867,7287,8.68,12587,7.458,12588,8.83,17987,6.904,17990,7.298,17993,10.082,18018,8.733,18019,7.843]],["title/classes/PreviewParams.html",[0,0.241,7283,4.494]],["body/classes/PreviewParams.html",[0,0.471,2,0.658,3,0.012,4,0.016,5,0.008,7,0.087,26,2.488,27,0.401,30,0.001,32,0.156,33,0.561,39,1.729,47,0.999,95,0.141,99,1.255,101,0.017,103,0,104,0,110,2.166,112,0.694,122,2.132,157,1.442,159,0.637,190,1.843,195,1.943,199,4.878,200,1.906,201,4.35,202,1.43,203,5.947,205,1.27,296,3.69,298,2.705,299,4.807,300,4.289,403,3.181,855,4.972,856,6.222,886,3.255,899,2.847,1078,2.729,1080,2.159,1169,3.613,1237,1.805,1290,5.707,1291,4.129,1292,4.129,3011,4.698,3201,5.539,3933,2.95,4588,2.134,5260,6.474,6666,2.95,6847,6.373,7210,6.324,7212,4.073,7213,7.627,7218,5.328,7232,7.418,7262,4.323,7263,4.398,7264,4.398,7269,4.323,7270,8.139,7271,8.668,7272,8.668,7273,4.398,7274,4.323,7275,4.323,7276,4.398,7277,4.253,7278,6.038,7279,4.189,7280,4.253,7281,4.323,7282,4.253,7283,5.707,7284,4.398,7285,7.258,7286,4.398,7287,6.635,7288,5.707,7289,5.862,7290,6.038,7291,7.258,10930,7.762,12500,5.77,18106,6.23,18107,6.23,18108,6.23,18109,6.23,18110,6.23]],["title/injectables/PreviewProducer.html",[589,0.926,18063,5.86]],["body/injectables/PreviewProducer.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,27,0.478,29,0.992,30,0.001,31,0.689,32,0.161,33,0.56,35,1.341,36,2.006,47,0.932,55,1.397,95,0.147,101,0.009,103,0,104,0,113,5.258,135,1.235,148,0.677,158,3.504,159,0.705,193,4.14,228,1.95,231,1.638,277,0.986,317,2.654,433,1.166,436,3.207,532,3.481,550,5.556,569,2.142,589,1.262,591,1.635,634,7.535,651,3.497,652,1.402,657,1.576,871,3.994,1027,2.109,1272,4.34,1274,4.506,1297,5.6,1298,9.504,1310,4.866,1311,4.506,1723,7.654,2088,2.954,2447,5.43,4305,7.711,4338,8.138,10016,4.198,10477,6.962,12347,7.115,12434,10.668,12435,8.331,12436,8.331,12443,6.049,12444,6.384,12445,6.049,12446,6.384,12447,6.049,12448,6.384,12449,6.384,14338,6.384,16027,5.056,17986,5.6,17987,7.533,17990,8.58,18017,5.799,18019,5.433,18037,7.986,18039,6.384,18040,6.049,18041,6.049,18053,6.384,18063,7.986,18111,6.893,18112,6.893,18113,9.492,18114,6.893,18115,6.893,18116,6.893,18117,6.893,18118,6.893]],["title/interfaces/PreviewResponseMessage.html",[159,0.712,18019,5.49]],["body/interfaces/PreviewResponseMessage.html",[3,0.019,4,0.019,5,0.009,7,0.139,30,0.001,32,0.149,47,1.03,55,2.026,101,0.017,103,0.001,104,0.001,112,0.947,122,2.689,159,1.327,161,2.382,402,4.846,403,5.105,7287,6.453,12587,7.495,12588,10.117,17987,6.938,17990,7.334,17993,9.724,18018,8.776,18019,9.519]],["title/injectables/PreviewService.html",[589,0.926,12333,5.86]],["body/injectables/PreviewService.html",[0,0.183,3,0.01,4,0.01,5,0.01,7,0.074,8,0.896,27,0.468,29,0.916,30,0.001,31,0.708,32,0.149,33,0.548,35,1.33,36,2.709,47,0.687,59,1.641,95,0.145,101,0.007,103,0,104,0,135,1.639,148,0.92,153,0.854,159,0.54,205,1.076,228,1.408,277,0.755,317,2.928,326,3.941,433,0.963,550,3.091,556,2.679,569,2.437,579,2.239,589,1.042,591,1.252,629,2.786,652,2.753,653,2.171,657,2.82,675,2.696,688,2.461,711,3.358,837,2.614,871,3.81,1027,1.616,1080,3.589,1084,3.605,1328,2.806,1723,3.009,2447,3.91,2448,4.852,2488,3.873,2492,4.162,2831,2.113,2954,4.168,3319,3.009,5234,2.527,5247,4.053,6435,5.759,7218,5.87,7237,8.178,7238,3.796,7241,6.371,7254,4.289,7259,4.289,7283,8.129,7288,3.407,11521,3.25,11841,3.873,11858,3.796,11913,4.162,11950,4.634,12048,4.634,12050,5.198,12093,4.89,12333,6.598,12417,4.634,12539,8.899,12576,6.371,12577,7.595,12585,10.567,12588,3.873,17997,4.634,18032,6.883,18063,10.099,18068,7.264,18071,4.89,18078,7.264,18119,5.28,18120,7.842,18121,9.356,18122,7.842,18123,7.842,18124,5.28,18125,7.842,18126,5.28,18127,7.842,18128,5.28,18129,5.28,18130,5.28,18131,5.28,18132,7.842,18133,5.28,18134,7.842,18135,5.28,18136,5.28,18137,5.28,18138,5.28,18139,5.28,18140,5.28,18141,5.28,18142,5.28,18143,5.28,18144,4.89,18145,5.28,18146,4.89,18147,5.28,18148,5.28,18149,7.842,18150,7.842,18151,5.28,18152,5.28,18153,5.28,18154,5.28,18155,5.28,18156,5.28]],["title/classes/PrometheusMetricsConfig.html",[0,0.241,18157,6.113]],["body/classes/PrometheusMetricsConfig.html",[0,0.237,2,0.724,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.546,30,0.001,32,0.157,35,0.786,47,0.858,55,2.365,95,0.076,101,0.009,103,0,104,0,112,0.742,122,2.867,125,1.633,148,1.244,153,1.53,228,2.53,433,1.33,467,3.776,569,2.131,652,2.921,711,2.74,735,4.28,1283,7.643,2219,3.074,2220,3.458,2221,3.337,2222,4.318,5927,6.739,9704,5.14,11297,8.535,18157,10.244,18158,6.857,18159,10.827,18160,10.827,18161,10.827,18162,10.827,18163,10.827,18164,10.827,18165,10.244,18166,10.827,18167,10.029,18168,10.029,18169,6.857,18170,6.857,18171,6.857,18172,6.857,18173,6.857,18174,6.857,18175,6.857,18176,6.857,18177,6.857,18178,6.857,18179,6.857,18180,6.857,18181,6.857,18182,6.857,18183,6.857,18184,6.857,18185,6.857,18186,6.857,18187,6.857,18188,9.458,18189,9.458,18190,9.458,18191,9.458,18192,9.458,18193,6.857,18194,6.857,18195,6.857,18196,6.857,18197,6.857,18198,11.672]],["title/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.241,18199,6.451]],["body/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.234,2,0.714,3,0.013,4,0.013,5,0.006,7,0.094,8,1.071,27,0.365,29,0.516,30,0.001,31,0.38,32,0.084,33,0.309,35,0.776,95,0.129,101,0.015,103,0,104,0,129,2.003,135,1.64,148,1.057,153,2.039,228,1.215,289,6.235,339,1.984,385,4.619,400,1.984,433,0.831,871,2.489,876,3.522,886,2.142,1027,2.07,1115,2.574,1220,3.889,1237,2.714,1283,4.775,1372,3.57,1419,5.937,1421,5.937,1422,4.645,1423,5.012,1425,7.884,1426,5.154,1627,9.065,1749,3.855,2164,3.138,2447,5.093,2588,4.26,2859,5.193,2915,6.479,2923,5.071,7642,6.479,7739,5.9,9611,4.775,11297,9.148,17044,10.185,18157,5.937,18167,9.957,18168,9.957,18199,10.748,18200,10.75,18201,6.765,18202,6.765,18203,11.604,18204,6.765,18205,6.765,18206,5.937,18207,6.765,18208,6.765,18209,6.765,18210,12.606,18211,13.899,18212,6.765,18213,6.765,18214,6.765,18215,5.333,18216,6.765,18217,6.765,18218,9.37,18219,6.765,18220,6.765,18221,5.193,18222,6.765,18223,9.37,18224,12.185,18225,6.765,18226,6.765,18227,6.765,18228,6.765,18229,6.765,18230,6.765,18231,6.765,18232,6.765,18233,9.37,18234,6.765,18235,6.765,18236,6.765,18237,6.765,18238,6.765]],["title/classes/PropertyData.html",[0,0.241,2758,5.658]],["body/classes/PropertyData.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,27,0.512,29,0.709,30,0.001,31,0.738,32,0.162,33,0.574,47,0.965,95,0.103,101,0.012,103,0.001,104,0.001,112,0.905,130,3.397,223,2.893,232,3.122,433,1.14,435,3.189,1756,7.764,2184,3.674,2758,10.972,2798,11.018,4664,4.181,5223,8.369,8221,6.958,8260,7.541,8261,7.541,8287,7.317,18239,13.505,18240,8.598,18241,11.537,18242,9.283,18243,9.283]],["title/interfaces/ProviderConsentResponse.html",[159,0.712,17383,5.346]],["body/interfaces/ProviderConsentResponse.html",[3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,32,0.176,33,0.669,47,1.081,70,6.234,77,7.929,95,0.115,101,0.01,103,0,104,0,112,0.808,122,2.393,159,0.795,161,1.852,162,5.394,181,10.785,182,10.785,183,4.692,185,3.954,1506,6.54,2831,4.919,4578,8.836,6322,11.382,6323,11.382,6324,10.339,6325,10.339,6326,10.339,6327,9.983,11028,9.21,17383,7.903,18244,7.773,18245,10.339,18246,7.2,18247,7.2,18248,6.822]],["title/interfaces/ProviderConsentSessionResponse.html",[159,0.712,17445,5.49]],["body/interfaces/ProviderConsentSessionResponse.html",[3,0.016,4,0.016,5,0.008,7,0.124,30,0.001,32,0.175,33,0.657,47,1.052,55,2.494,95,0.099,101,0.011,103,0.001,104,0.001,112,0.881,122,2.552,159,0.909,161,2.118,162,6.17,166,11.977,167,11.349,168,11.977,169,10.193,170,10.193,171,8.695,172,4.793,177,7.804,178,7.224,6364,8.236,17383,9.926,17445,8.853,18249,8.892,18250,12.931,18251,8.892]],["title/interfaces/ProviderLoginResponse.html",[159,0.712,17446,5.49]],["body/interfaces/ProviderLoginResponse.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,32,0.174,33,0.587,47,1.075,70,6.513,77,8.284,95,0.124,101,0.011,103,0.001,104,0.001,112,0.87,122,2.529,159,0.892,161,2.077,162,6.05,1506,7.336,2831,5.139,4578,9.231,6324,10.802,6325,10.802,6326,10.802,6327,10.43,11028,9.623,15980,11.891,17446,8.743,18245,10.802,18246,8.075,18247,8.075,18248,7.652,18252,8.718]],["title/interfaces/ProviderOidcContext.html",[159,0.712,18245,5.86]],["body/interfaces/ProviderOidcContext.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.169,33,0.657,47,1.067,101,0.012,103,0.001,104,0.001,112,0.922,159,0.979,161,2.28,162,6.641,185,4.359,1777,8.864,11358,9.544,17695,12.294,17696,12.294,17697,12.294,17698,12.294,18245,9.892,18253,9.57]],["title/interfaces/ProviderRedirectResponse.html",[159,0.712,17385,5.221]],["body/interfaces/ProviderRedirectResponse.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,162,7.478,17385,9.463,18254,10.778,18255,12.791]],["title/modules/ProvisioningConfigModule.html",[252,1.839,18256,6.113]],["body/modules/ProvisioningConfigModule.html",[0,0.362,3,0.019,4,0.019,5,0.009,30,0.001,95,0.138,101,0.013,103,0.001,104,0.001,252,3.276,254,3.766,259,3.802,260,3.89,277,1.497,685,6.072,1267,7.39,2088,4.487,13785,10.747,13787,8.808,18256,10.892,18257,10.469,18258,9.696,18259,10.469]],["title/classes/ProvisioningConfiguration.html",[0,0.241,13787,5.86]],["body/classes/ProvisioningConfiguration.html",[0,0.333,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.375,30,0.001,32,0.119,95,0.107,101,0.016,103,0.001,104,0.001,112,0.925,122,2.879,129,2.848,130,2.602,135,1.251,159,0.983,311,6.128,467,3.712,2219,4.311,2220,4.849,2221,4.68,4259,5.629,13781,10.36,13782,10.922,13783,11.812,13784,11.812,13785,10.801,13786,8.907,13787,9.921,13788,10.922,13789,10.922,18260,9.616]],["title/classes/ProvisioningDto.html",[0,0.241,14399,5.346]],["body/classes/ProvisioningDto.html",[0,0.356,2,1.085,3,0.019,4,0.019,5,0.009,7,0.143,27,0.479,29,0.785,30,0.001,31,0.578,32,0.152,33,0.47,47,0.902,101,0.013,103,0.001,104,0.001,112,0.963,433,1.263,10098,8.963,10101,9.023,14399,10.827,18261,10.281,18262,12.278,18263,12.278,18264,10.281]],["title/modules/ProvisioningModule.html",[252,1.839,17309,5.86]],["body/modules/ProvisioningModule.html",[0,0.24,3,0.013,4,0.013,5,0.006,30,0.001,95,0.155,101,0.009,103,0,104,0,252,2.874,254,2.492,255,2.646,256,2.712,257,2.703,258,2.693,259,3.954,260,4.045,264,9.131,265,5.89,269,3.729,270,2.664,271,2.61,276,3.729,277,0.991,703,2.126,1027,2.12,1054,3.915,1524,9.748,1525,9.131,1539,5.629,2070,3.736,2617,4.313,3890,7.905,3900,3.657,3904,6.228,5004,4.471,6077,8.417,6830,5.318,10088,5.829,12804,10.685,14380,10.685,17005,11.255,17309,12.371,17720,10.685,17731,10.317,17869,6.081,18256,11.146,18265,6.928,18266,6.928,18267,6.928,18268,6.928,18269,10.685,18270,10.685,18271,6.928,18272,6.928,18273,6.928,18274,6.928,18275,6.928]],["title/classes/ProvisioningOptionsEntity.html",[0,0.241,18276,5.86]],["body/classes/ProvisioningOptionsEntity.html",[0,0.295,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.496,29,0.65,30,0.001,31,0.478,32,0.157,33,0.626,95,0.122,96,2.223,101,0.011,103,0.001,104,0.001,112,0.857,122,2.792,159,0.871,190,2.162,195,2.959,196,4.002,211,6.653,223,3.966,224,2.466,232,2.956,433,1.046,435,2.925,1237,3.165,2615,7.5,2621,9.877,2712,5.543,4848,6.918,4850,7.887,18276,9.192,18277,13.16,18278,9.509,18279,9.509,18280,9.509,18281,10.925,18282,8.515,18283,7.473,18284,7.473,18285,7.473,18286,7.473,18287,7.473,18288,7.473]],["title/classes/ProvisioningOptionsInvalidTypeLoggableException.html",[0,0.241,18289,6.113]],["body/classes/ProvisioningOptionsInvalidTypeLoggableException.html",[0,0.284,2,0.868,3,0.015,4,0.015,5,0.007,7,0.114,8,1.22,26,2.752,27,0.416,29,0.627,30,0.001,31,0.462,32,0.155,33,0.376,35,0.943,48,5.884,95,0.14,99,1.656,101,0.011,103,0.001,104,0.001,148,0.808,153,1.329,228,2.13,231,1.842,233,2.548,244,5.802,277,1.175,339,2.41,340,7.469,433,1.312,540,4.166,652,2.413,1027,2.515,1115,3.128,1237,3.093,1422,4.748,1423,5.53,1426,5.577,1462,4.431,1468,5.53,1469,5.806,1477,4.196,1478,4.368,1883,3.085,2615,6.76,2617,5.116,2930,6.16,4588,4.301,4665,4.811,6435,7.302,18289,9.372,18290,10.41,18291,11.861,18292,8.219,18293,7.213,18294,11.861,18295,7.613,18296,7.538,18297,8.219,18298,8.219]],["title/classes/ProvisioningOptionsParams.html",[0,0.241,18299,6.113]],["body/classes/ProvisioningOptionsParams.html",[0,0.398,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,27,0.488,30,0.001,32,0.155,33,0.628,95,0.128,101,0.012,103,0.001,104,0.001,112,0.902,122,2.851,159,0.945,190,2.246,199,7.231,200,2.828,300,5.024,440,10.995,1237,3.332,2615,7.472,2621,9.189,18278,9.875,18279,9.875,18280,9.875,18299,10.097,18300,13.11,18301,8.559,18302,9.24,18303,9.24,18304,9.24]],["title/injectables/ProvisioningService.html",[589,0.926,17005,5.658]],["body/injectables/ProvisioningService.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.971,27,0.496,29,0.92,30,0.001,31,0.677,32,0.154,33,0.551,35,1.327,36,2.625,47,0.989,48,3.982,95,0.138,100,2.055,101,0.008,103,0,104,0,112,0.667,113,3.96,125,1.403,129,1.745,130,1.594,135,1.686,148,1.072,153,1.764,173,7.232,228,1.959,277,0.843,317,2.802,339,2.492,433,1.044,569,1.831,579,1.682,589,1.13,591,1.398,652,2.675,657,2.279,1312,2.775,1540,4.088,1605,7.449,2358,3.387,2796,5.84,3430,4.328,5004,8.359,5167,8.748,13094,6.916,14380,9.18,14382,7.73,14384,6.699,14387,8.318,14392,7.471,14395,6.791,14396,3.71,14397,3.71,14399,7.651,14420,4.957,15482,6.11,15491,8.375,17005,6.904,17030,4.957,17283,7.857,17720,9.18,18269,9.18,18305,5.892,18306,8.498,18307,7.871,18308,8.498,18309,8.498,18310,5.892,18311,9.967,18312,9.967,18313,9.967,18314,5.892,18315,8.498,18316,5.892,18317,8.498,18318,5.892,18319,8.498,18320,5.892,18321,5.892,18322,8.498,18323,5.892,18324,8.498,18325,5.892,18326,5.892,18327,4.957,18328,5.171,18329,5.892,18330,5.892,18331,5.892,18332,5.892,18333,5.892,18334,5.892,18335,5.892,18336,5.892,18337,5.892,18338,8.498,18339,5.892,18340,5.892,18341,5.892,18342,5.892,18343,5.892]],["title/classes/ProvisioningStrategy.html",[0,0.241,14382,4.156]],["body/classes/ProvisioningStrategy.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,9,6.639,27,0.489,29,0.88,30,0.001,31,0.647,32,0.143,33,0.526,35,1.438,36,2.773,95,0.128,100,3.23,101,0.012,103,0.001,104,0.001,339,2.716,2358,5.324,5271,7.254,12786,10.343,14382,6.875,14384,9.082,14386,9.359,14387,9.435,14391,9.359,14392,9.835,14395,7.806,14396,5.832,14397,5.832,14399,7.109,18344,9.261,18345,9.261,18346,9.261,18347,9.261]],["title/classes/ProvisioningStrategyInvalidOptionsLoggableException.html",[0,0.241,18348,6.113]],["body/classes/ProvisioningStrategyInvalidOptionsLoggableException.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,27,0.422,29,0.641,30,0.001,31,0.471,32,0.148,33,0.383,35,0.962,95,0.141,101,0.011,103,0.001,104,0.001,148,0.825,159,0.858,228,1.943,231,1.867,233,2.601,277,1.2,339,2.46,340,7.969,433,1.33,540,2.784,652,2.201,1027,2.568,1115,3.193,1237,3.135,1422,4.795,1423,5.585,1426,5.621,1462,4.524,1468,5.585,1469,5.863,1477,4.284,1478,4.459,2615,6.827,2617,5.223,2621,9.283,2623,8.782,5004,8.167,6435,7.374,10119,6.154,10417,7.06,14382,7.148,14395,7.878,14396,5.283,14397,5.283,15166,6.289,18290,10.514,18348,9.498,18349,11.979,18350,7.772,18351,8.39,18352,7.364]],["title/classes/ProvisioningStrategyMissingLoggableException.html",[0,0.241,18353,5.86]],["body/classes/ProvisioningStrategyMissingLoggableException.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,8,1.271,26,2.605,27,0.433,29,0.668,30,0.001,31,0.492,32,0.138,33,0.4,35,1.004,48,5.727,95,0.136,99,1.764,101,0.011,103,0.001,104,0.001,148,0.861,228,1.572,231,1.919,233,2.714,244,6.181,277,1.252,339,2.568,400,2.568,433,1.076,540,2.905,812,5.58,1027,2.68,1115,3.332,1237,3.222,1422,4.893,1423,5.698,1426,5.711,1462,4.721,1468,5.698,1469,5.982,1477,4.471,1478,4.654,2615,6.966,2617,6.923,5004,8.298,5215,4.99,6435,7.524,10116,10.727,10416,5.804,14359,6.722,17245,8.111,18290,10.727,18353,9.358,18354,8.756]],["title/classes/ProvisioningSystemDto.html",[0,0.241,17283,5.49]],["body/classes/ProvisioningSystemDto.html",[0,0.321,2,0.98,3,0.017,4,0.017,5,0.008,7,0.129,26,2.544,27,0.512,29,0.709,30,0.001,31,0.521,32,0.162,33,0.574,47,0.848,48,5.883,95,0.129,99,1.87,101,0.012,103,0.001,104,0.001,112,0.905,232,3.122,244,6.553,245,7.317,433,1.14,435,3.189,14382,7.491,14395,7.814,14396,5.845,14397,5.845,15082,8.442,15166,6.958,15167,7.317,15168,7.126,15169,7.317,17283,10.646,18355,13.505,18356,9.283,18357,11.537,18358,9.283,18359,9.283]],["title/classes/ProvisioningSystemInputMapper.html",[0,0.241,18328,6.113]],["body/classes/ProvisioningSystemInputMapper.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.341,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,35,1.095,48,4.474,95,0.142,100,4.094,101,0.012,103,0.001,104,0.001,125,2.274,148,0.938,153,1.544,467,3.7,3430,5.098,7446,8.033,13094,9.202,14382,5.697,14395,5.943,14396,6.012,14397,6.012,15082,6.42,17283,9.254,18327,8.033,18328,10.303,18360,11.739,18361,9.548,18362,11.739,18363,11.739,18364,9.548,18365,9.548,18366,9.548,18367,9.548]],["title/classes/Pseudonym.html",[0,0.241,10631,4.077]],["body/classes/Pseudonym.html",[0,0.291,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.656,27,0.532,30,0.001,32,0.104,35,0.964,39,3.515,47,0.796,83,3.714,95,0.121,99,1.694,101,0.014,103,0.001,104,0.001,112,0.85,113,4.305,148,1.288,159,0.86,185,2.88,231,2.069,430,5.209,431,5.429,435,3.723,436,3.201,532,3.974,711,3.139,735,4.904,1767,5.886,1770,5.247,1773,7.303,1883,3.156,3067,5.234,3085,5.234,3088,6.628,3090,6.628,3093,5.834,3094,5.834,8452,6.628,10447,6.986,10631,7.856,18368,7.788,18369,7.788,18370,8.408,18371,8.408,18372,8.408,18373,8.408,18374,8.408,18375,8.408,18376,7.379,18377,7.788,18378,7.788,18379,6.454]],["title/modules/PseudonymApiModule.html",[252,1.839,18380,5.86]],["body/modules/PseudonymApiModule.html",[0,0.31,3,0.017,4,0.017,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.26,254,3.22,255,3.418,256,3.505,257,3.492,258,3.479,259,4.484,260,3.326,269,4.415,270,3.442,271,3.372,273,5.637,274,4.695,276,4.415,277,1.28,703,2.746,1856,7.774,2070,4.826,2680,4.111,3036,4.195,5068,10.225,6077,9.042,18380,12.112,18381,8.952,18382,8.952,18383,8.952,18384,11.477,18385,8.952,18386,10.837,18387,8.952,18388,8.952]],["title/controllers/PseudonymController.html",[314,2.65,18386,6.113]],["body/controllers/PseudonymController.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,27,0.313,29,0.612,30,0.001,31,0.451,32,0.145,33,0.367,35,1.344,36,2.221,95,0.153,100,2.797,101,0.01,103,0,104,0,135,1.368,148,0.788,157,1.857,190,1.438,202,1.842,228,1.441,274,3.339,277,1.147,290,2.493,314,3.053,316,3.861,317,2.536,325,6.16,326,4.461,347,5.401,349,6.552,388,4.505,390,6.153,392,4.176,395,4.294,398,4.325,400,2.352,401,4.496,657,1.834,1390,6.542,1853,2.632,2698,3.41,3036,3.759,3240,4.122,4905,6.782,10631,7.904,10637,5.394,18369,10.858,18384,9.863,18386,9.225,18389,8.022,18390,8.022,18391,10.918,18392,8.022,18393,8.022,18394,8.022,18395,7.558,18396,8.843,18397,7.558,18398,7.04,18399,8.022,18400,10.866,18401,8.022,18402,8.022,18403,8.022,18404,8.022,18405,8.022,18406,8.022,18407,8.022]],["title/entities/PseudonymEntity.html",[205,1.419,18408,5.86]],["body/entities/PseudonymEntity.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,26,2.211,27,0.47,30,0.001,32,0.149,34,1.453,39,3.65,47,0.886,49,5.155,95,0.142,96,2.848,97,3.427,99,1.712,101,0.014,103,0.001,104,0.001,112,0.945,142,3.076,159,0.869,190,2.16,205,2.223,206,2.772,219,6.647,223,4.194,224,2.461,225,4.181,229,3.351,231,1.466,232,2.299,233,2.634,242,4.484,243,5.35,458,3.389,459,5.643,4655,4.762,10447,7.254,10631,7.444,10632,7.149,10637,5.714,10638,6.903,10639,7.149,10640,6.233,10641,6.698,18408,9.18,18409,7.87,18410,8.497,18411,8.497,18412,8.497,18413,9.18]],["title/interfaces/PseudonymEntityProps.html",[159,0.712,18413,5.86]],["body/interfaces/PseudonymEntityProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,26,2.577,30,0.001,32,0.157,33,0.498,34,2.174,39,3.735,47,0.934,49,5.274,95,0.142,96,2.848,97,3.427,99,1.712,101,0.014,103,0.001,104,0.001,112,0.945,142,3.076,159,0.869,161,2.024,205,2.223,219,6.647,223,3.963,224,2.461,225,4.181,229,3.351,231,1.466,232,2.299,233,2.634,242,4.484,243,5.35,458,3.389,459,5.643,4655,4.762,10447,7.423,10631,7.699,10637,5.714,10638,6.903,10639,7.149,10640,6.233,10641,6.698,18408,7.149,18409,7.87,18413,10.14]],["title/classes/PseudonymMapper.html",[0,0.241,18398,6.113]],["body/classes/PseudonymMapper.html",[0,0.338,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,8,1.359,27,0.38,29,0.745,30,0.001,31,0.548,32,0.121,33,0.446,34,1.668,35,1.119,39,2.708,95,0.133,101,0.013,103,0.001,104,0.001,135,1.269,148,0.959,153,1.578,467,3.736,830,6.613,837,4.831,871,4.377,1853,3.201,10447,5.381,10631,8.019,18398,10.441,18400,11.526,18414,9.756,18415,11.896,18416,9.756,18417,9.756,18418,9.756,18419,9.756]],["title/modules/PseudonymModule.html",[252,1.839,5068,5.221]],["body/modules/PseudonymModule.html",[0,0.28,3,0.015,4,0.015,5,0.007,30,0.001,95,0.151,101,0.01,103,0,104,0,252,3.107,254,2.909,255,3.088,256,3.166,257,3.154,258,3.143,259,4.274,260,4.373,269,4.137,270,3.11,271,3.046,276,4.137,277,1.156,610,3.189,1027,2.475,1934,8.111,1935,6.374,1936,7.105,2029,6.061,2448,6.223,2636,3.958,3890,8.266,3900,4.268,5068,10.938,9051,9.375,10642,11.174,11352,10.894,11372,9.847,18420,8.086,18421,8.086,18422,8.086,18423,8.086,18424,11.174,18425,8.086]],["title/classes/PseudonymParams.html",[0,0.241,18391,6.113]],["body/classes/PseudonymParams.html",[0,0.42,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,47,0.893,95,0.135,101,0.013,103,0.001,104,0.001,112,0.953,190,1.81,194,4.773,195,2.67,196,3.351,197,3.395,200,3.091,202,2.319,296,3.179,299,4.756,4704,8.498,10631,7.627,12924,9.355,18391,10.662,18426,12.148,18427,10.1]],["title/interfaces/PseudonymProps.html",[159,0.712,18376,6.113]],["body/interfaces/PseudonymProps.html",[0,0.302,3,0.016,4,0.016,5,0.008,7,0.121,26,2.851,30,0.001,32,0.164,39,3.679,47,0.943,83,4.086,95,0.124,99,1.757,101,0.014,103,0.001,104,0.001,112,0.87,148,1.303,159,0.892,161,2.077,185,2.986,231,2.105,430,5.452,431,5.681,1767,6.625,1770,4.44,1883,3.273,3093,6.05,3094,6.05,10447,7.311,10631,7.932,18368,8.075,18376,9.734,18377,8.075,18378,8.075,18379,6.693]],["title/classes/PseudonymResponse.html",[0,0.241,18400,5.86]],["body/classes/PseudonymResponse.html",[0,0.322,2,0.982,3,0.017,4,0.017,5,0.008,7,0.13,27,0.512,29,0.71,30,0.001,31,0.523,32,0.163,33,0.425,34,2.149,39,3.488,47,1.012,95,0.104,101,0.012,103,0.001,104,0.001,112,0.906,190,2.253,202,2.136,242,4.91,296,3.654,433,1.143,458,3.711,871,3.423,6947,8.869,6957,7.142,10447,6.931,10640,6.825,18400,11.371,18428,9.304,18429,11.554,18430,9.304,18431,9.304,18432,8.618,18433,9.304]],["title/classes/PseudonymScope.html",[0,0.241,10672,6.113]],["body/classes/PseudonymScope.html",[0,0.25,2,0.762,3,0.013,4,0.013,5,0.006,7,0.1,8,1.119,27,0.521,29,0.952,30,0.001,31,0.7,32,0.166,33,0.57,35,1.123,39,3.085,47,0.997,49,2.717,95,0.124,101,0.009,103,0,104,0,112,0.768,122,2.305,125,3.23,129,2.136,130,1.952,148,1.093,153,1.584,231,1.69,279,2.991,365,3.204,436,3.682,569,2.242,574,4.043,614,2.237,652,2.615,773,4.782,2479,6.569,2698,2.341,6288,5.513,7007,6.491,7008,6.491,7009,6.491,7014,6.491,7015,6.491,7016,4.852,7017,4.782,7018,4.852,7019,4.852,7028,4.782,7029,6.491,7030,4.852,7031,4.782,7032,4.852,7033,4.782,7034,7.369,10447,6.132,10628,5.188,10631,6.508,10672,8.595,10675,6.332,13050,9.07,18434,7.215,18435,9.793,18436,9.07,18437,9.793,18438,7.215,18439,9.07,18440,7.215,18441,9.793,18442,7.215,18443,7.215]],["title/interfaces/PseudonymSearchQuery.html",[159,0.712,10664,5.86]],["body/interfaces/PseudonymSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,33,0.642,39,3.752,47,1.06,101,0.013,103,0.001,104,0.001,112,0.953,159,1.033,161,2.406,860,7.13,10447,7.456,10631,7.914,10664,10.221,10995,8.864,18444,10.1]],["title/injectables/PseudonymService.html",[589,0.926,11372,4.833]],["body/injectables/PseudonymService.html",[0,0.14,3,0.008,4,0.008,5,0.004,7,0.056,8,0.732,11,5.048,13,4.521,27,0.49,29,0.96,30,0.001,31,0.706,32,0.156,33,0.574,34,1.679,35,1.421,36,2.9,37,5.048,39,3.237,42,4.521,47,1.012,49,1.527,83,1.878,95,0.13,96,1.058,97,1.635,101,0.005,103,0,104,0,125,1.525,135,1.585,141,3.865,142,2.318,148,1.236,153,1.832,228,1.15,277,0.58,290,1.519,317,3.019,365,1.8,430,1.667,431,1.737,433,0.787,540,2.992,578,4.161,579,2.575,589,0.851,591,0.962,595,1.537,620,2.523,652,2.667,653,1.667,657,2.387,711,3.589,869,3.134,980,3.532,983,5.819,1312,1.91,1853,1.33,1883,1.522,2008,2.019,2219,1.817,2220,2.044,2221,1.973,2636,1.984,2698,3.875,2776,6.032,4259,2.373,4510,2.495,4825,8.353,7924,5.551,8114,5.937,8222,8.431,8311,2.553,10223,8.262,10447,2.236,10631,7.253,10637,6.064,10642,10.048,10646,5.62,10649,5.932,10650,5.388,10656,5.62,10663,5.932,10664,7.587,10666,4.916,11372,4.443,11632,2.862,13869,5.932,14087,5.932,15629,2.813,16941,5.932,18424,9.196,18445,4.054,18446,6.404,18447,6.404,18448,6.404,18449,6.404,18450,6.404,18451,6.404,18452,6.404,18453,4.054,18454,4.054,18455,6.404,18456,4.054,18457,6.404,18458,4.054,18459,4.054,18460,4.054,18461,4.054,18462,6.404,18463,4.054,18464,6.404,18465,4.054,18466,4.054,18467,4.054,18468,6.404,18469,4.054,18470,6.404,18471,4.054,18472,6.404,18473,4.054,18474,10.438,18475,4.054,18476,9.018,18477,4.054,18478,4.054,18479,6.404,18480,4.054,18481,4.054,18482,4.054,18483,6.404,18484,6.404,18485,4.054,18486,4.054,18487,4.054,18488,9.018,18489,4.054,18490,4.054,18491,4.054,18492,4.054,18493,4.054,18494,4.054,18495,4.054]],["title/injectables/PseudonymUc.html",[589,0.926,18384,5.86]],["body/injectables/PseudonymUc.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,26,2.484,27,0.4,29,0.783,30,0.001,31,0.576,32,0.127,33,0.469,35,0.886,36,2.167,39,2.145,47,0.901,95,0.151,99,1.557,101,0.01,103,0,104,0,135,1.66,142,3.713,148,0.76,153,1.25,228,2.067,277,1.105,290,2.908,317,2.49,433,1.26,478,2.165,579,2.207,589,1.363,591,1.833,610,3.048,652,2.341,657,2.804,703,2.371,1472,4.296,1780,4.658,1853,2.535,1862,7.111,1962,4.612,2066,8.126,2068,7.986,2070,4.167,2071,6.06,2680,3.549,2685,5.669,4862,5.123,4863,5.197,10631,7.677,10650,8.629,11372,9.1,11444,6.092,11445,6.092,18384,8.629,18496,7.728,18497,7.728,18498,7.728,18499,10.255,18500,7.728,18501,11.51,18502,7.728,18503,7.728,18504,7.728,18505,7.728,18506,10.255,18507,7.728,18508,6.503]],["title/injectables/PseudonymsRepo.html",[589,0.926,18424,5.86]],["body/injectables/PseudonymsRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.917,13,5.663,26,2.821,27,0.485,29,0.95,30,0.001,31,0.699,32,0.154,33,0.568,34,1.372,35,1.39,36,2.829,39,3.584,42,5.663,49,2.051,95,0.125,96,1.421,97,2.196,99,1.097,101,0.007,103,0,104,0,113,4.658,125,1.297,135,1.68,142,2.904,148,1.223,153,2.089,205,2.535,206,1.776,228,0.978,277,0.779,317,2.943,400,1.596,430,2.239,431,2.333,433,0.669,589,1.066,591,1.291,657,2.404,773,6.967,1770,4.486,1853,1.786,2446,5.709,2462,3.778,2498,3.778,3102,4.835,3644,3.469,3649,4.572,3707,4.081,4768,3.281,4782,4.179,4783,4.179,4798,3.843,10447,7.123,10631,8.019,10637,5.395,10645,7.431,10646,7.041,10647,7.431,10648,7.431,10651,6.75,10652,7.431,10654,7.431,10656,7.041,10659,7.431,10661,7.431,10668,7.431,10670,7.431,10675,7.041,10676,9.736,10679,4.581,10680,5.043,10682,4.581,10683,5.043,10685,4.778,10686,5.043,10687,6.75,10690,5.043,10691,5.043,10692,4.778,10693,5.043,10694,5.043,10695,5.043,18408,10.685,18413,8.844,18424,6.75,18509,5.444,18510,5.444,18511,5.444,18512,5.444,18513,5.444,18514,5.444,18515,5.444,18516,5.444,18517,5.444,18518,5.444,18519,5.444,18520,5.444,18521,5.444,18522,5.444,18523,5.444,18524,5.444]],["title/classes/PublicSystemListResponse.html",[0,0.241,18525,5.86]],["body/classes/PublicSystemListResponse.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.46,29,0.736,30,0.001,31,0.541,32,0.158,33,0.44,95,0.132,101,0.012,103,0.001,104,0.001,112,0.926,125,2.296,190,1.728,202,2.213,296,3.09,339,3.743,433,1.184,711,2.792,861,6.688,866,4.802,871,3.547,881,5.276,3430,5.778,6736,9.065,18525,9.936,18526,11.825,18527,11.809,18528,11.431,18529,10.938]],["title/classes/PublicSystemResponse.html",[0,0.241,18528,5.658]],["body/classes/PublicSystemResponse.html",[0,0.242,2,0.739,3,0.013,4,0.013,5,0.006,7,0.097,27,0.497,29,0.534,30,0.001,31,0.615,32,0.17,33,0.596,34,2.109,47,0.976,95,0.107,101,0.009,103,0,104,0,112,0.753,157,2.855,190,2.211,193,4.184,194,5.357,195,2.996,196,4.523,197,3.81,202,1.607,296,3.333,433,0.86,458,2.792,868,5.937,1470,6.599,2088,5.047,2109,3.067,2734,5.688,3430,6.163,5215,5.468,5394,5.519,6686,5.588,6706,4.518,11358,6.898,12501,6.772,13640,6.892,14654,7.96,15158,5.374,15160,5.374,15193,5.135,15520,5.89,15522,5.688,15524,5.89,17247,10.379,18526,12.083,18528,10.021,18530,4.942,18531,8.886,18532,9.594,18533,6.484,18534,7.001,18535,5.89,18536,7.001,18537,6.484]],["title/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.241,18538,6.451]],["body/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.326,2,0.994,3,0.017,4,0.017,5,0.008,7,0.131,8,1.33,10,4.676,27,0.367,29,0.719,30,0.001,31,0.529,32,0.116,33,0.43,35,1.08,47,1.015,55,2.799,95,0.105,101,0.012,103,0.001,104,0.001,148,0.925,159,0.963,467,3.677,507,5.61,2816,6.632,2897,8.309,2898,8.628,2900,10.629,9156,8.723,9366,10.629,9374,11.582,18538,10.779,18539,11.637,18540,8.262,18541,9.413,18542,8.719]],["title/interfaces/PushDeletionRequestsOptions.html",[159,0.712,9366,5.86]],["body/interfaces/PushDeletionRequestsOptions.html",[3,0.018,4,0.018,5,0.009,7,0.139,10,4.008,30,0.001,32,0.167,47,1.029,55,2.838,101,0.013,103,0.001,104,0.001,112,0.946,159,1.02,161,2.376,2816,5.685,2897,8.477,2898,8.801,2900,11.327,9156,7.476,9366,10.144,9374,11.815,18543,9.974,18544,9.239]],["title/interfaces/QueueDeletionRequestInput.html",[159,0.712,2824,5.346]],["body/interfaces/QueueDeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,1.035,55,2.651,101,0.013,103,0.001,104,0.001,112,0.959,159,1.043,161,2.43,193,4.45,2816,5.814,2824,9.382,2830,5.918,2897,8.541,2898,8.868,9336,8.991,9441,8.954,18545,9.45]],["title/classes/QueueDeletionRequestInputBuilder.html",[0,0.241,2904,6.113]],["body/classes/QueueDeletionRequestInputBuilder.html",[0,0.333,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,8,1.347,27,0.375,29,0.734,30,0.001,31,0.54,32,0.119,33,0.439,35,1.103,47,1.02,55,2.584,95,0.107,101,0.012,103,0.001,104,0.001,148,0.945,159,0.983,193,5.143,467,3.712,507,5.237,2816,6.72,2824,9.789,2830,6.839,2897,7.425,2898,8.692,2904,10.349,9336,8.812,9445,8.44,9446,10.922,9564,8.907,18546,10.922]],["title/interfaces/QueueDeletionRequestOutput.html",[159,0.712,2832,5.49]],["body/interfaces/QueueDeletionRequestOutput.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.161,33,0.641,47,1.031,83,3.812,101,0.013,103,0.001,104,0.001,112,0.95,159,1.028,161,2.394,193,4.383,1080,4.678,2816,5.727,2830,5.829,2832,9.547,2839,9.075,2840,8.945,9477,9.308,18545,9.308]],["title/classes/QueueDeletionRequestOutputBuilder.html",[0,0.241,2828,6.113]],["body/classes/QueueDeletionRequestOutputBuilder.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.452,29,0.885,30,0.001,31,0.652,32,0.144,33,0.53,35,1.33,47,1.014,59,3.605,83,3.862,95,0.087,101,0.01,103,0,104,0,125,1.87,135,1.021,148,1.14,159,0.803,193,5.38,467,4.015,507,4.602,652,2.359,1080,4.656,1329,4.78,2816,7.03,2828,9.094,2830,7.155,2832,10.747,2839,8.295,2840,9.144,2884,7.45,9181,9.597,9187,7.27,9190,7.27,9479,7.27,9480,9.597,9481,7.27,18546,11.425,18547,10.361,18548,10.361,18549,7.849,18550,10.361,18551,7.849,18552,7.849,18553,7.849,18554,7.849,18555,7.849,18556,7.849]],["title/modules/RabbitMQWrapperModule.html",[252,1.839,1011,4.755]],["body/modules/RabbitMQWrapperModule.html",[0,0.358,3,0.015,4,0.015,5,0.007,30,0.001,31,0.692,32,0.153,47,0.851,95,0.137,101,0.015,103,0,104,0,135,1.019,153,1.267,194,3.078,228,1.407,252,3.254,254,3.722,260,3.845,276,4.537,277,1.12,317,1.695,400,2.297,516,4.163,657,1.791,734,3.301,813,5.799,980,4.321,1011,7.065,1031,5.53,1060,5.349,1097,5.53,1237,2.269,1272,4.933,1298,8.685,1310,5.53,1311,5.122,2219,3.512,2220,3.95,2221,3.813,2222,4.933,2512,4.675,2543,4.933,2551,5.055,2557,5.268,2836,5.193,2938,4.504,3912,5.872,4999,5.746,5140,5.122,5805,6.765,7199,8.157,7472,8.892,7786,5.53,12422,6.876,14335,6.364,14684,10.818,16537,10.17,18037,8.707,18557,7.256,18558,10.733,18559,11.87,18560,7.256,18561,7.256,18562,6.876,18563,7.256,18564,7.256,18565,6.591,18566,7.256,18567,7.256,18568,7.256,18569,7.256,18570,7.256,18571,6.876,18572,7.256,18573,6.591,18574,7.256,18575,6.364,18576,6.591,18577,7.256,18578,7.256,18579,7.256]],["title/modules/RabbitMQWrapperTestModule.html",[252,1.839,1031,4.917]],["body/modules/RabbitMQWrapperTestModule.html",[0,0.354,3,0.014,4,0.014,5,0.007,8,0.881,27,0.301,30,0.001,31,0.688,32,0.152,35,0.885,47,0.845,95,0.137,101,0.015,103,0,104,0,135,1.004,153,1.247,194,3.031,228,1.385,252,3.234,254,3.684,260,3.806,276,4.502,277,1.103,317,2.216,400,2.262,516,4.099,657,1.764,734,3.251,813,5.74,980,4.254,1011,5.267,1031,7.23,1060,5.267,1097,5.445,1237,2.234,1272,4.857,1298,8.619,1310,5.445,1311,5.043,2219,3.458,2220,3.889,2221,3.754,2222,4.857,2512,4.603,2543,4.857,2551,4.978,2557,5.187,2836,5.113,2938,4.434,3912,5.782,4999,5.658,5140,5.043,5805,6.696,7199,8.074,7472,8.847,7786,5.445,12422,6.77,14335,6.267,14684,10.752,16537,11.191,18037,8.618,18557,7.145,18558,10.651,18559,11.81,18560,7.145,18561,7.145,18562,6.77,18563,7.145,18564,7.145,18565,6.49,18566,7.145,18567,7.145,18568,7.145,18569,7.145,18570,7.145,18571,6.77,18572,7.145,18573,6.49,18574,7.145,18575,6.267,18576,6.49,18577,7.145,18578,7.145,18579,7.145,18580,7.714]],["title/classes/ReadableStreamWithFileTypeImp.html",[0,0.241,18581,6.451]],["body/classes/ReadableStreamWithFileTypeImp.html",[0,0.297,2,0.907,3,0.016,4,0.016,5,0.012,7,0.12,27,0.428,29,0.656,30,0.001,31,0.482,32,0.158,33,0.553,95,0.135,101,0.011,103,0.001,104,0.001,112,0.862,135,1.429,148,0.844,231,1.895,232,2.973,233,2.662,433,1.055,435,2.95,501,4.665,571,3.399,576,5.075,1086,4.089,1087,3.963,1088,4.024,1089,4.278,1090,4.665,1237,3.182,1302,7.627,1304,7.276,2135,6.062,10458,7.955,10500,7.955,11865,6.77,14342,7.955,18581,10.175,18582,12.112,18583,8.588,18584,12.112,18585,13.194,18586,12.766,18587,10.985,18588,12.766,18589,8.588,18590,8.588,18591,8.588,18592,8.588,18593,8.588]],["title/classes/RecursiveCopyVisitor.html",[0,0.241,3628,6.113]],["body/classes/RecursiveCopyVisitor.html",[0,0.105,2,0.32,3,0.006,4,0.006,5,0.005,7,0.042,8,0.578,26,0.614,27,0.48,29,0.917,30,0.001,31,0.675,32,0.164,33,0.549,34,1.8,35,1.357,36,2.722,49,1.142,83,3.651,95,0.108,99,0.611,101,0.004,103,0,104,0,110,1.054,112,0.397,125,1.205,129,1.498,130,1.368,135,1.636,141,3.618,148,1.096,153,2.244,155,2.91,157,0.702,158,1.119,183,1.158,228,0.544,317,2.938,400,0.889,402,4.104,430,4.33,431,4.512,433,0.372,571,1.2,574,1.699,579,0.866,657,2.212,703,0.93,896,4.692,1083,1.713,1237,1.465,1562,2.39,1853,0.995,2032,4.988,2472,1.827,2608,8.46,2662,5.634,2675,4.488,2678,2.14,2796,4.065,2802,6.479,2912,1.451,2965,4.486,3066,7.305,3073,3.74,3127,4.81,3134,5.518,3137,5.595,3140,5.254,3143,5.518,3146,5.196,3149,5.315,3154,2.104,3172,4.255,3173,4.255,3174,4.255,3175,4.255,3176,4.255,3177,4.255,3178,4.255,3179,4.255,3180,4.255,3181,4.255,3305,4.254,3316,2.39,3317,2.272,3318,1.866,3319,1.728,3337,8.299,3346,4.255,3362,2.18,3411,2.808,3441,9.334,3578,1.956,3581,1.791,3583,1.791,3586,1.775,3589,1.578,3593,1.568,3598,1.699,3628,4.438,3631,5.986,3632,2.551,3633,8.366,3634,4.438,4510,6.481,6503,2.551,6666,2.395,7210,1.713,7361,6.665,7371,4.684,7372,8.793,7373,4.108,7374,4.438,7406,2.551,10016,1.846,18594,12.452,18595,3.032,18596,6.506,18597,6.506,18598,5.057,18599,5.057,18600,4.684,18601,3.032,18602,5.057,18603,3.032,18604,5.057,18605,3.032,18606,5.057,18607,3.032,18608,5.057,18609,3.032,18610,5.057,18611,3.032,18612,4.684,18613,3.032,18614,5.057,18615,3.032,18616,5.057,18617,3.032,18618,5.057,18619,3.032,18620,5.057,18621,3.032,18622,5.057,18623,3.032,18624,5.057,18625,3.032,18626,5.057,18627,3.032,18628,5.057,18629,3.032,18630,5.057,18631,3.032,18632,3.032,18633,3.032,18634,3.032,18635,7.594,18636,7.594,18637,3.032,18638,6.506,18639,10.864,18640,7.594,18641,10.528,18642,3.032,18643,3.032,18644,3.032,18645,3.032,18646,3.032,18647,5.057,18648,5.057,18649,4.684,18650,5.057,18651,4.684,18652,5.057,18653,5.057,18654,5.057,18655,7.594,18656,5.057,18657,5.057,18658,3.032,18659,3.032,18660,3.032,18661,3.032,18662,5.057,18663,3.032,18664,3.032,18665,3.032,18666,5.057,18667,3.032,18668,3.032,18669,3.032,18670,3.032,18671,3.032,18672,3.032,18673,3.032,18674,3.032,18675,3.032,18676,3.032,18677,2.808,18678,5.057,18679,5.057,18680,5.057,18681,3.032,18682,3.032,18683,4.684,18684,5.057,18685,3.032,18686,3.032]],["title/injectables/RecursiveDeleteVisitor.html",[589,0.926,3647,5.86]],["body/injectables/RecursiveDeleteVisitor.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.832,27,0.508,29,0.996,30,0.001,31,0.733,32,0.161,33,0.596,35,1.478,36,2.929,95,0.139,96,1.249,97,1.929,101,0.006,103,0,104,0,135,0.622,142,1.731,228,1.769,277,0.684,317,3.092,433,0.894,478,1.34,569,2.263,589,0.968,591,1.135,614,2.257,652,2.004,657,3.066,1237,1.385,1317,3.048,1770,2.914,1853,1.569,2006,3.816,2008,2.382,2032,6.265,2049,1.952,2446,5.352,2498,3.319,2662,5.528,2675,5.823,2831,1.915,2965,5.635,3073,4.185,3078,3.012,3127,6.042,3134,6.932,3137,7.028,3140,6.6,3143,6.932,3146,6.527,3149,6.676,3154,5.052,3159,2.164,3162,6.126,3163,6.126,3164,6.126,3165,6.126,3166,6.126,3167,6.126,3168,6.126,3169,6.126,3171,6.126,3172,6.126,3173,6.126,3174,6.126,3175,6.126,3176,6.126,3177,6.126,3178,6.126,3179,6.126,3180,6.126,3181,6.126,3467,2.56,3556,3.585,3644,3.048,3647,6.126,3649,4.149,3895,9.433,3898,2.397,3899,4.896,3901,4.43,3902,4.198,3903,4.024,6500,6.743,6503,4.024,6549,6.39,6824,7.592,7062,2.977,7340,8.349,18677,4.43,18687,12.208,18688,4.783,18689,7.28,18690,7.28,18691,4.783,18692,7.28,18693,4.783,18694,4.783,18695,7.28,18696,4.783,18697,4.783,18698,4.783,18699,4.783,18700,4.783,18701,4.783,18702,4.783,18703,4.783,18704,4.783,18705,4.783,18706,4.783,18707,4.783,18708,4.783,18709,4.783,18710,4.783,18711,4.783,18712,4.783,18713,4.783,18714,4.783,18715,4.783,18716,4.783,18717,4.783,18718,4.783,18719,4.783,18720,4.783,18721,4.783,18722,4.783,18723,4.783,18724,4.783,18725,4.783,18726,4.783,18727,7.28,18728,4.783,18729,4.783,18730,4.783,18731,4.783,18732,4.783,18733,4.783]],["title/classes/RecursiveSaveVisitor.html",[0,0.241,3673,6.113]],["body/classes/RecursiveSaveVisitor.html",[0,0.117,2,0.355,3,0.006,4,0.006,5,0.003,7,0.047,8,0.63,18,2.764,26,0.682,27,0.492,29,0.953,30,0.001,31,0.701,32,0.158,33,0.57,34,1.926,35,1.415,36,1.166,39,0.935,55,0.682,59,1.047,95,0.129,96,1.44,97,1.358,99,0.678,101,0.004,103,0,104,0,110,1.171,112,0.433,125,1.314,129,0.997,130,0.911,135,1.729,153,1.939,155,2.585,157,0.779,183,1.286,224,0.975,228,0.99,317,1.515,400,0.987,433,0.414,478,0.943,569,4.171,579,0.961,614,1.044,652,2.476,657,0.77,756,1.343,1237,1.598,1770,1.348,1829,1.443,1831,2.232,1853,1.105,2006,1.765,2032,5.672,2049,2.251,2051,1.425,2446,4.399,2455,2.201,2474,3.709,2481,2.585,2551,2.173,2662,6.358,2675,5.672,2693,2.955,2796,4.335,2912,1.612,2965,5.101,3069,4.063,3076,6.604,3078,6.381,3102,3.324,3107,2.955,3111,2.955,3116,4.841,3117,4.841,3118,4.841,3119,4.841,3120,4.841,3121,4.841,3122,4.841,3123,4.841,3124,4.841,3125,4.841,3126,4.641,3127,5.47,3129,4.641,3131,4.641,3133,4.641,3134,6.275,3136,4.841,3137,5.923,3139,4.841,3140,5.974,3142,4.641,3143,5.843,3145,4.841,3146,5.908,3148,4.641,3149,6.044,3151,4.641,3154,3.827,3467,7.347,3491,4.348,3494,4.481,3497,4.234,3500,4.348,3503,5.522,3506,4.348,3509,4.348,3512,4.348,3515,4.348,3518,4.348,3520,4.841,3556,2.524,3557,3.119,3565,3.119,3578,2.173,3581,1.99,3583,1.99,3586,1.971,3589,1.753,3593,1.741,3595,2.073,3644,2.146,3645,8.233,3649,3.143,3668,6.403,3671,3.119,3673,4.841,3899,2.264,3955,3.119,4191,3.119,4472,2.955,4473,2.955,4474,2.833,4509,3.119,5681,3.119,5682,2.955,5805,2.201,6503,2.833,6513,3.119,6516,3.119,6519,2.955,6521,3.119,6533,3.119,6535,3.119,6538,3.119,6540,3.119,6543,3.119,6549,4.841,6551,3.119,6778,2.47,6792,2.073,10685,2.955,18687,11.802,18734,3.367,18735,7.005,18736,5.515,18737,5.515,18738,5.515,18739,5.515,18740,5.515,18741,5.515,18742,3.367,18743,5.515,18744,11.266,18745,3.367,18746,3.367,18747,5.515,18748,3.367,18749,3.367,18750,5.515,18751,3.367,18752,3.367,18753,3.367,18754,3.367,18755,3.367,18756,3.367,18757,3.367,18758,3.367,18759,3.367,18760,3.367,18761,3.367,18762,11.778,18763,3.367,18764,3.367,18765,5.515,18766,5.515,18767,5.109,18768,3.367,18769,3.367,18770,11.266,18771,11.266,18772,3.367,18773,10.577,18774,3.367,18775,3.367,18776,3.367,18777,3.367,18778,3.367,18779,3.367,18780,7.005,18781,3.367,18782,3.367,18783,3.367,18784,3.367,18785,3.367,18786,3.367,18787,3.367,18788,3.367,18789,3.119,18790,3.119,18791,3.367,18792,3.367,18793,3.367,18794,3.367,18795,3.367,18796,3.367,18797,3.367,18798,3.367,18799,3.367,18800,3.367]],["title/classes/RedirectResponse.html",[0,0.241,17395,5.49]],["body/classes/RedirectResponse.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,27,0.458,29,0.729,30,0.001,31,0.536,32,0.145,33,0.436,47,0.863,95,0.106,101,0.012,103,0.001,104,0.001,110,4.082,112,0.921,157,2.21,187,7.184,190,1.711,202,2.192,290,2.785,296,3.072,433,1.173,868,4.595,1900,7.675,2258,8.441,3595,7.227,7858,7.675,17395,10.733,18255,11.775,18801,9.548,18802,11.739,18803,9.548,18804,9.548,18805,11.739,18806,9.877,18807,9.548,18808,9.548,18809,9.548]],["title/modules/RedisModule.html",[252,1.839,18810,5.86]],["body/modules/RedisModule.html",[0,0.301,3,0.016,4,0.016,5,0.008,30,0.001,47,0.814,95,0.148,101,0.011,103,0.001,104,0.001,110,3.025,125,2.072,135,1.441,148,1.089,252,3.217,254,3.129,255,3.322,256,3.406,257,3.394,258,3.381,259,4.022,260,4.116,265,6.281,269,4.336,270,3.345,271,3.277,276,4.336,277,1.244,685,5.046,686,6.255,688,4.056,1027,2.662,1080,3.016,2219,3.9,2220,4.386,2221,4.234,2447,3.636,2448,5.71,2831,4.434,4259,5.093,4262,8.058,4273,6.858,4274,9.319,4278,10.259,4279,8.058,4281,7.635,4282,8.058,4283,7.635,4284,7.635,4285,8.058,8979,9.721,18810,11.394,18811,8.7,18812,8.7,18813,8.7,18814,10.694,18815,8.7,18816,8.7]],["title/injectables/ReferenceLoader.html",[589,0.926,1912,5.658]],["body/injectables/ReferenceLoader.html",[0,0.192,3,0.01,4,0.01,5,0.005,7,0.077,8,0.931,26,2.151,27,0.414,29,0.736,30,0.001,31,0.542,32,0.151,33,0.44,35,0.934,36,1.721,49,3.631,95,0.142,99,1.12,101,0.007,103,0,104,0,112,0.639,122,1.152,129,1.646,130,1.504,135,1.06,148,0.801,153,1.559,159,0.568,185,3.871,195,1.79,228,2.362,268,7.431,277,0.795,279,2.304,317,2.085,433,1.001,579,1.587,589,1.083,591,1.318,652,2.811,657,1.862,1531,7.977,1767,4.424,1849,3.167,1852,4.813,1853,1.823,1910,9.605,1911,7.703,1912,6.616,1913,9.178,1914,9.605,1915,8.833,1916,8.683,1933,3.923,1935,4.381,1953,8.613,2636,6.682,2668,7.841,2796,5.682,3320,3.856,3555,3.541,5136,5.398,5747,8.544,6086,8.111,6712,10.166,15212,7.832,18817,5.147,18818,8.929,18819,8.144,18820,4.877,18821,8.929,18822,8.144,18823,5.557,18824,5.557,18825,7.544,18826,7.544,18827,5.557,18828,9.918,18829,7.544,18830,5.147,18831,5.147,18832,5.147,18833,5.147,18834,5.147,18835,5.147,18836,5.147,18837,5.147,18838,5.147,18839,5.147,18840,5.147,18841,5.147,18842,5.147,18843,5.147,18844,5.147,18845,5.147,18846,5.147,18847,5.147,18848,5.147,18849,5.147,18850,5.147,18851,5.147,18852,5.147,18853,5.147,18854,5.147,18855,5.147,18856,7.544]],["title/classes/ReferencedEntityNotFoundLoggable.html",[0,0.241,18857,6.451]],["body/classes/ReferencedEntityNotFoundLoggable.html",[0,0.295,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,8,1.248,26,2.775,27,0.426,29,0.65,30,0.001,31,0.478,32,0.105,33,0.389,35,0.977,47,0.99,95,0.122,101,0.011,103,0.001,104,0.001,148,0.837,205,2.593,228,2.285,339,2.497,347,6.539,433,1.342,652,2.588,1027,2.606,1115,3.24,1237,3.165,1418,7.164,1422,4.829,1423,5.624,1426,5.652,1468,5.624,1469,5.904,2860,5.495,3750,5.814,7859,6.011,9253,5.814,18857,10.119,18858,12.063,18859,8.515,18860,12.726,18861,12.726,18862,12.726,18863,8.515,18864,12.063,18865,8.515,18866,8.515,18867,8.515,18868,8.515,18869,8.515]],["title/classes/ReferencesService.html",[0,0.241,2902,6.113]],["body/classes/ReferencesService.html",[0,0.304,2,0.926,3,0.016,4,0.016,5,0.011,7,0.122,8,1.273,27,0.342,29,0.67,30,0.001,31,0.493,32,0.109,33,0.401,34,1.501,35,1.006,47,1.013,95,0.098,101,0.011,103,0.001,104,0.001,135,1.592,145,3.294,148,0.863,467,3.561,628,5.237,1088,4.112,1626,4.918,1834,6.437,1835,4.509,1842,5.089,1995,6.437,2393,3.363,2816,6.347,2902,9.775,2911,7.531,4441,5.186,5200,7.129,5311,10.316,6178,5.186,6730,6.578,12157,8.549,16887,6.578,18870,8.776,18871,11.137,18872,11.137,18873,8.776,18874,8.776,18875,8.776,18876,8.776,18877,11.137,18878,8.776,18879,11.137,18880,7.702,18881,8.776,18882,8.776,18883,8.776,18884,8.776,18885,8.776,18886,6.918,18887,7.702,18888,8.776,18889,8.776,18890,8.776,18891,8.776,18892,8.776]],["title/entities/RegistrationPinEntity.html",[205,1.419,18893,5.86]],["body/entities/RegistrationPinEntity.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.18,26,2.132,27,0.485,30,0.001,32,0.154,34,1.374,47,1.018,95,0.131,96,2.098,99,1.619,101,0.013,103,0,104,0,112,0.92,122,2.433,125,1.915,129,2.38,159,0.822,190,2.232,197,2.941,205,2.145,206,2.622,221,7.889,223,4.132,224,2.328,225,4.033,229,3.17,231,1.387,232,2.175,233,2.492,458,3.205,459,5.443,702,6.399,1154,8.5,4655,4.505,9065,11.342,11267,5.488,11268,5.896,18893,8.855,18894,10.498,18895,11.97,18896,7.445,18897,9.814,18898,8.038,18899,8.038,18900,8.038,18901,8.038,18902,8.038,18903,9.237,18904,7.445,18905,7.445,18906,7.445,18907,7.445,18908,7.445,18909,7.055,18910,7.445]],["title/interfaces/RegistrationPinEntityProps.html",[159,0.712,18903,6.113]],["body/interfaces/RegistrationPinEntityProps.html",[0,0.285,3,0.015,4,0.015,5,0.007,7,0.181,26,2.546,30,0.001,32,0.161,33,0.489,34,2.149,47,1.046,95,0.132,96,2.15,99,1.659,101,0.014,103,0.001,104,0.001,112,0.931,122,2.605,125,1.962,129,2.439,159,0.842,161,1.962,197,2.302,205,2.179,223,4.058,224,2.386,225,4.097,229,3.248,231,1.421,232,2.229,233,2.553,458,3.284,459,5.53,702,6.609,1154,8.892,4655,4.616,9065,11.714,11267,5.623,11268,6.041,18893,6.929,18894,6.691,18895,7.628,18896,7.628,18897,10.266,18903,10.42,18904,7.628,18905,7.628,18906,7.628,18907,7.628,18908,7.628,18909,7.228,18910,7.628]],["title/modules/RegistrationPinModule.html",[252,1.839,9052,6.113]],["body/modules/RegistrationPinModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,30,0.001,95,0.146,101,0.012,103,0.001,104,0.001,252,3.297,254,3.301,255,3.504,256,3.593,257,3.58,258,3.567,259,4.535,260,4.641,265,6.367,269,4.485,270,3.529,271,3.456,276,4.485,277,1.312,610,3.619,1027,2.808,2636,4.492,9052,12.616,18894,7.455,18911,9.177,18912,9.177,18913,9.177,18914,9.177,18915,12.676,18916,11.549,18917,9.177,18918,9.177]],["title/injectables/RegistrationPinRepo.html",[589,0.926,18916,5.86]],["body/injectables/RegistrationPinRepo.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,8,1.311,27,0.447,29,0.876,30,0.001,31,0.644,32,0.142,33,0.524,35,1.055,36,2.847,47,0.919,95,0.139,96,2.401,97,3.71,101,0.012,103,0.001,104,0.001,135,1.197,148,0.904,205,1.874,228,1.652,277,1.315,317,2.704,400,2.697,433,1.13,589,1.525,591,2.182,702,5.68,2446,7.11,3644,5.861,3649,6.538,18893,7.739,18894,10.156,18916,9.652,18919,12.501,18920,9.198,18921,10.625,18922,9.198,18923,10.625,18924,9.198,18925,9.198]],["title/injectables/RegistrationPinService.html",[589,0.926,18915,6.113]],["body/injectables/RegistrationPinService.html",[0,0.329,3,0.018,4,0.018,5,0.009,7,0.132,8,1.337,27,0.456,29,0.894,30,0.001,31,0.658,32,0.145,33,0.535,35,1.09,36,2.474,47,0.932,95,0.13,101,0.012,103,0.001,104,0.001,148,0.934,228,1.706,277,1.359,317,2.744,400,2.786,433,1.167,589,1.556,591,2.254,702,4.705,2636,4.651,18894,10.306,18915,10.273,18916,11.649,18921,10.842,18923,10.842,18926,12.686,18927,9.502,18928,9.502,18929,9.502,18930,9.502,18931,9.502]],["title/interfaces/RejectRequestBody.html",[159,0.712,17380,5.658]],["body/interfaces/RejectRequestBody.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.169,33,0.657,47,1.067,55,2.579,101,0.012,103,0.001,104,0.001,112,0.922,159,0.979,161,2.28,162,6.641,165,7.775,1080,4.601,1889,10.463,6276,11.167,6277,11.167,6278,10.463,17380,9.551,18932,9.57]],["title/interfaces/RelatedResourceProperties.html",[159,0.712,16294,5.658]],["body/interfaces/RelatedResourceProperties.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,30,0.001,32,0.127,33,0.56,47,1.078,95,0.114,96,2.014,101,0.016,103,0,104,0,110,3.561,112,0.803,155,3.269,157,2.371,159,1.176,161,1.837,205,2.087,223,4.362,224,2.234,225,3.925,226,3.508,231,1.331,232,2.087,233,2.391,289,4.474,1821,3.653,2831,4.1,3056,3.712,3932,4.978,6209,4.978,6214,5.113,6223,6.887,6578,6.696,6628,5.445,7243,4.19,7571,5.113,7572,4.603,8176,4.857,16285,6.49,16286,8.321,16287,8.321,16288,8.074,16289,8.321,16294,9.952,16298,9.342,16302,6.49,16303,5.658,16304,10.307,16305,10.307,16306,8.074,16307,6.267,16308,6.49,16309,6.49,16310,6.49,16311,6.49,16312,6.49,16313,6.49,16314,6.49,16315,6.49,16316,6.49,16317,6.49,16318,6.49,16319,6.49]],["title/classes/RenameBodyParams.html",[0,0.241,3236,5.658]],["body/classes/RenameBodyParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,47,0.887,95,0.145,101,0.013,103,0.001,104,0.001,112,0.947,155,4.141,190,1.792,194,3.929,195,2.653,196,4.006,197,2.795,200,3.06,202,2.296,296,3.159,298,4.342,299,4.727,3236,9.81,8091,8.244,12651,9.262,18933,9.999,18934,9.999,18935,9.999]],["title/classes/RenameFileParams.html",[0,0.241,7281,4.833]],["body/classes/RenameFileParams.html",[0,0.476,2,0.701,3,0.012,4,0.017,5,0.008,7,0.092,26,2.54,27,0.259,30,0.001,32,0.15,39,1.843,47,1.018,95,0.143,99,1.338,101,0.017,103,0,104,0,110,2.309,112,0.726,122,1.918,157,1.537,159,0.679,190,1.191,195,1.46,199,5.103,200,2.032,201,4.475,202,1.525,203,6.221,205,1.354,296,3.72,298,2.884,299,4.907,300,4.412,403,3.391,855,5.075,856,6.4,886,3.371,899,3.035,1078,2.91,1080,2.302,1169,3.853,1237,1.924,1290,5.97,1291,4.402,1292,4.402,3011,4.865,3201,4.989,3933,3.145,4588,2.275,5260,7.622,6561,5.588,6666,3.145,6847,6.526,7210,6.506,7212,4.342,7213,7.811,7218,4.404,7232,6.132,7262,4.609,7263,4.689,7264,4.689,7269,4.609,7270,8.308,7271,8.127,7272,8.127,7273,4.689,7274,4.609,7275,4.609,7276,4.689,7277,4.535,7278,6.316,7279,4.466,7280,4.535,7281,6.419,7282,4.535,7283,4.286,7284,4.689,7285,4.689,7286,4.689,7287,4.286,7288,4.286,7289,4.402,7290,4.535,7291,4.689,18936,6.642]],["title/interfaces/RepoLoader.html",[159,0.712,18828,6.113]],["body/interfaces/RepoLoader.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.089,26,1.82,30,0.001,32,0.14,33,0.41,36,1.346,49,2.398,95,0.147,99,1.283,101,0.008,103,0,104,0,112,0.705,122,2.157,135,1.169,148,0.883,153,1.453,159,0.651,161,1.517,185,4.082,195,1.974,228,2.429,268,6.883,277,0.911,279,2.64,317,1.378,433,0.782,579,1.818,589,1.194,652,2.799,657,2.054,1531,7.346,1767,4.879,1849,3.629,1852,5.308,1853,2.089,1910,8.676,1911,6.957,1912,5.173,1913,8.29,1914,8.676,1915,7.978,1916,7.842,1933,4.495,1935,5.02,1953,7.346,2636,6.923,2668,7.221,2796,4.808,3320,4.419,3555,4.058,5136,7.899,5747,7.717,6086,5.358,6712,9.182,15212,5.173,18817,5.898,18818,5.898,18821,5.898,18825,5.898,18826,5.898,18828,10.46,18829,10.469,18830,5.898,18831,5.898,18832,5.898,18833,5.898,18834,5.898,18835,5.898,18836,5.898,18837,5.898,18838,5.898,18839,5.898,18840,5.898,18841,5.898,18842,5.898,18843,5.898,18844,5.898,18845,5.898,18846,5.898,18847,5.898,18848,5.898,18849,5.898,18850,5.898,18851,5.898,18852,5.898,18853,5.898,18854,5.898,18855,5.898,18856,8.32]],["title/classes/RequestInfo.html",[0,0.241,18937,6.113]],["body/classes/RequestInfo.html",[0,0.324,2,0.713,3,0.013,4,0.013,5,0.006,7,0.094,8,1.069,27,0.491,29,0.714,30,0.001,31,0.603,32,0.156,33,0.428,35,0.774,47,0.968,55,1.896,95,0.12,101,0.014,103,0,104,0,112,0.734,125,1.609,129,2,130,1.828,135,1.681,142,2.445,148,0.92,153,1.737,158,2.493,172,2.882,185,2.313,193,5.495,414,4.748,433,0.83,641,6.94,652,2.185,871,4.636,1081,4.611,1101,5.324,1372,3.564,1675,4.071,1743,4.856,1749,6.609,2333,6.019,2716,6.607,2831,3.746,4290,5.184,4918,5.062,6278,7.378,6302,5.184,7640,7.119,7642,4.071,12067,6.865,18206,5.927,18937,8.214,18938,6.255,18939,9.948,18940,9.948,18941,9.359,18942,8.669,18943,6.754,18944,6.754,18945,6.754,18946,6.754,18947,6.754,18948,8.669,18949,6.754,18950,11.28,18951,5.927,18952,6.255,18953,8.669,18954,5.682,18955,5.927,18956,8.669,18957,8.669,18958,6.255,18959,8.669,18960,6.255,18961,5.927,18962,6.255,18963,6.255,18964,8.669,18965,8.669,18966,8.669,18967,8.669,18968,6.255,18969,6.255,18970,6.255,18971,6.255,18972,6.255,18973,6.255,18974,6.255,18975,6.255,18976,6.255,18977,6.255,18978,6.255,18979,6.255,18980,6.255,18981,6.255,18982,6.255,18983,6.255,18984,6.255,18985,6.255]],["title/injectables/RequestLoggingInterceptor.html",[589,0.926,18986,6.451]],["body/injectables/RequestLoggingInterceptor.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,27,0.41,29,0.802,30,0.001,31,0.59,32,0.13,33,0.48,35,0.92,39,2.226,95,0.148,101,0.01,103,0,104,0,110,2.789,125,1.911,135,1.525,148,1.033,158,2.961,183,3.063,193,5.113,277,1.147,325,5.205,326,3.053,349,4.07,365,3.563,400,2.352,433,0.985,571,4.64,589,1.397,591,1.903,641,4.572,1027,2.455,1056,5.176,1057,6.323,1058,6.158,1080,2.781,1237,2.324,1329,6.401,2383,8.999,2447,4.393,2448,5.83,3282,5.394,4077,4.787,7470,6.013,7642,4.835,9817,7.43,9819,9.225,9821,9.225,9822,10.918,9823,10.918,9825,9.225,9826,9.735,12067,5.884,13775,9.225,18955,7.04,18986,9.735,18987,11.723,18988,8.022,18989,8.022,18990,8.022,18991,9.735,18992,8.022,18993,8.022,18994,8.022,18995,8.022,18996,8.022,18997,8.022,18998,7.43,18999,10.51,19000,7.43,19001,8.022]],["title/classes/ResolvedGroupDto.html",[0,0.241,12827,5.658]],["body/classes/ResolvedGroupDto.html",[0,0.29,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,27,0.532,29,0.639,30,0.001,31,0.71,32,0.174,33,0.598,34,2.046,47,0.985,95,0.133,101,0.011,103,0.001,104,0.001,112,0.848,290,1.986,433,1.029,458,3.339,1065,5.32,1148,6.427,1853,2.747,1883,3.143,2109,3.668,2184,3.314,3310,6.802,3418,5.39,10077,7.755,10085,8.605,10123,9.153,12771,9.186,12827,10.635,12916,7.045,12919,6.802,12971,9.485,12983,7.349,12984,7.045,12985,7.349,12986,7.349,12987,7.755,12988,7.755,13093,10.069,19002,12.802,19003,10.807,19004,8.373,19005,8.373,19006,8.373,19007,8.373,19008,8.373]],["title/classes/ResolvedGroupUser.html",[0,0.241,13093,5.86]],["body/classes/ResolvedGroupUser.html",[0,0.33,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,27,0.495,29,0.729,30,0.001,31,0.536,32,0.157,33,0.436,95,0.131,101,0.012,103,0.001,104,0.001,112,0.921,232,3.177,290,3.016,331,5.646,433,1.173,435,3.28,1065,6.529,1853,3.132,2269,7.003,5026,9.141,5033,7.329,8114,6.905,8619,6.625,10090,6.865,13093,11.455,13119,8.38,13129,7.329,19002,12.284,19009,11.739,19010,9.548]],["title/classes/ResolvedUserMapper.html",[0,0.241,19011,6.113]],["body/classes/ResolvedUserMapper.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.34,29,0.666,30,0.001,31,0.623,32,0.108,33,0.398,34,1.491,35,1,47,0.896,95,0.124,100,3.868,101,0.011,103,0.001,104,0.001,129,2.582,130,2.359,135,1.134,148,1.09,153,1.41,290,3.144,331,5.702,467,3.55,478,2.442,578,4.57,830,6.166,837,4.317,1826,6.597,3436,6.267,3469,5.863,3470,5.7,5057,6.269,7446,7.336,8104,7.336,8123,7.083,14144,8.075,14147,8.075,16914,8.075,17788,8.075,19011,9.734,19012,11.091,19013,9.734,19014,8.718,19015,10.802,19016,8.718,19017,8.718,19018,8.718,19019,8.718,19020,8.718,19021,8.718,19022,8.718]],["title/classes/ResolvedUserResponse.html",[0,0.241,19015,5.86]],["body/classes/ResolvedUserResponse.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.536,30,0.001,31,0.46,32,0.172,34,2.144,47,1.045,83,3.676,95,0.091,101,0.014,103,0.001,104,0.001,112,0.835,190,2.466,202,1.879,296,3.795,331,5.257,430,4.869,431,5.074,700,5.729,701,5.729,1826,6.083,3436,6.083,4588,4.055,13131,6.65,19015,8.961,19023,13.906,19024,8.185,19025,8.185,19026,8.185,19027,8.185,19028,8.185,19029,8.185,19030,8.185,19031,8.185]],["title/classes/ResponseInfo.html",[0,0.241,18961,6.113]],["body/classes/ResponseInfo.html",[0,0.341,2,0.769,3,0.013,4,0.013,5,0.007,7,0.101,27,0.384,29,0.556,30,0.001,31,0.553,32,0.122,33,0.333,47,0.879,55,2.263,95,0.124,101,0.014,103,0,104,0,112,0.773,125,1.734,135,1.715,142,2.635,148,0.968,153,1.806,158,2.687,185,2.494,193,5.22,414,4.999,433,0.894,641,6.365,652,1.481,871,4.933,1081,7.625,1101,5.739,1372,3.842,1675,4.388,1743,5.235,1749,6.82,2333,4.08,2716,6.955,2831,3.944,4290,5.588,4918,5.457,6278,7.767,6302,5.588,7640,7.932,7642,4.388,12067,5.34,18206,6.389,18937,6.389,18938,6.743,18939,6.743,18940,6.743,18942,6.743,18948,6.743,18950,11.085,18951,6.389,18952,6.743,18953,9.126,18954,6.125,18955,6.389,18956,9.126,18957,9.126,18958,6.743,18959,9.126,18960,6.743,18961,8.647,18962,9.126,18963,6.743,18964,9.126,18965,9.126,18966,9.126,18967,9.126,18968,6.743,18969,6.743,18970,6.743,18971,6.743,18972,6.743,18973,6.743,18974,6.743,18975,6.743,18976,6.743,18977,6.743,18978,6.743,18979,6.743,18980,6.743,18981,6.743,18982,6.743,18983,6.743,18984,6.743,18985,6.743,19032,9.853]],["title/injectables/RestartUserLoginMigrationUc.html",[589,0.926,19033,5.86]],["body/injectables/RestartUserLoginMigrationUc.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.103,8,1.14,27,0.389,29,0.762,30,0.001,31,0.56,32,0.123,33,0.456,35,0.85,36,2.108,39,2.058,47,0.952,95,0.15,101,0.009,103,0,104,0,135,1.467,142,2.684,148,0.729,153,1.199,180,5.554,228,2.165,290,3.141,317,2.439,433,1.225,478,2.077,579,2.117,589,1.326,591,1.759,595,2.812,610,2.924,652,2.452,657,2.757,693,3.372,711,3.265,1027,2.269,1422,2.968,1780,4.469,1853,2.432,1862,7.038,1962,4.424,2447,5.535,2680,3.405,4588,4.13,4970,5.177,4972,6.024,4974,6.024,4975,9.505,4976,10.438,4978,6.868,4981,5.439,4982,7.184,4983,5.845,4984,7.592,4985,6.024,4986,6.507,4987,6.024,4988,6.238,4989,8.755,10477,5.439,19033,8.393,19034,11.273,19035,8.755,19036,9.975,19037,6.868,19038,6.238,19039,7.414,19040,7.414,19041,7.414,19042,6.868,19043,7.414]],["title/classes/RestrictedContextMismatchLoggable.html",[0,0.241,7063,6.113]],["body/classes/RestrictedContextMismatchLoggable.html",[0,0.286,2,0.871,3,0.015,4,0.015,5,0.007,7,0.115,8,1.223,27,0.417,29,0.63,30,0.001,31,0.464,32,0.132,33,0.377,35,0.946,47,0.873,95,0.14,101,0.011,103,0.001,104,0.001,135,1.074,148,0.811,183,5.319,228,1.923,231,1.847,233,2.558,277,1.18,339,2.42,400,2.42,433,1.014,614,3.684,652,1.679,734,3.478,1027,2.525,1115,4.523,1237,3.101,1422,4.757,1423,5.863,1426,5.585,1468,5.863,1469,6.156,1477,4.213,1478,4.386,2035,6.937,2036,4.063,2698,2.678,5927,5.137,6435,7.316,6682,6.894,7063,9.397,7065,11.008,12509,6.505,15313,9.008,19044,11.885,19045,8.253,19046,8.253,19047,8.253,19048,11.885,19049,8.253,19050,8.253,19051,10.707,19052,7.644]],["title/interfaces/RetryOptions.html",[159,0.712,4899,5.658]],["body/interfaces/RetryOptions.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.065,10,1.888,30,0.001,32,0.089,33,0.446,36,2.439,47,0.528,52,3.644,53,3.447,55,2.472,70,4.424,72,3.298,78,8.967,95,0.109,101,0.006,103,0,104,0,112,0.563,122,0.974,125,1.711,129,3.115,135,1.369,145,2.696,148,0.857,153,1.162,157,2.93,159,0.892,161,1.119,171,3.16,194,4.133,197,3.326,228,1.566,230,4.761,259,1.707,290,1.115,317,2.693,365,2.087,388,3.737,413,2.862,433,0.577,467,1.368,540,3.829,579,1.342,612,3.16,618,5.626,644,2.862,648,2.959,652,1.986,657,2.789,745,6.27,756,2.864,758,5.953,892,3.607,981,2.862,985,4.166,1027,1.438,1080,1.629,1372,2.48,1619,5.367,1626,4.025,1751,5.662,1900,3.072,1928,4.245,1939,2.497,2219,2.106,2235,3.704,2447,1.964,2448,3.366,2531,2.533,2858,6.873,2864,3.817,2938,7.55,3108,5.701,3418,5.36,3803,4.696,3811,3.115,3812,8.832,3813,6.475,3814,2.751,4886,5.835,4887,2.751,4888,2.925,4889,3.954,4890,3.954,4891,3.704,4892,6.043,4893,6.536,4894,3.704,4895,3.704,4896,6.043,4897,3.954,4898,3.954,4899,9.011,4900,8.215,4901,8.215,4902,5.835,4903,5.514,4904,3.954,4905,3.032,4906,3.607,4907,3.704,4908,3.954,4909,3.954,4910,7.716,4911,3.954,4912,8.851,4913,3.447,4914,3.954,4915,8.075,4916,3.954,4917,3.032,4918,3.522,4919,5.953,4920,3.379,4921,4.83,4922,3.522,4923,3.954,4924,3.954,4925,3.954,4926,5.07,4927,8.215,4928,3.954,4929,3.954,4930,3.522,4931,3.954,4932,8.215,4933,3.954,4934,3.954,4935,3.954,4936,8.215,4937,8.215,4938,3.704,4939,6.155,4940,3.954,4941,3.954,4942,3.954,4943,3.447,4944,3.817,4945,5.269,4946,3.704,4947,3.954,4948,3.954,4949,3.954,4950,3.954,4951,3.954,4952,5.269,4953,3.115,4954,3.704,4955,3.208,4956,3.607,4957,3.954,4958,3.954,4959,3.954,4960,3.954,4961,3.954,4962,3.954,4963,3.954,4964,3.954,4965,3.954,4966,3.954,4967,3.704,4968,3.817]],["title/classes/RevokeConsentParams.html",[0,0.241,17440,6.113]],["body/classes/RevokeConsentParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,34,2.046,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,187,6.762,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,299,4.685,308,7.227,2831,5.499,6281,8.047,17440,10.503,19053,11.967,19054,9.852,19055,9.852]],["title/classes/RichText.html",[0,0.241,19056,5.658]],["body/classes/RichText.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.475,29,0.666,30,0.001,31,0.49,32,0.174,33,0.398,47,0.815,95,0.136,101,0.011,103,0.001,104,0.001,112,0.87,157,2.567,190,1.988,202,2.002,296,3.191,403,5.663,433,1.363,821,4.451,868,5.338,886,3.512,2049,5.239,2109,3.82,2358,7.012,2393,5.192,2912,6.145,3158,9.623,3589,6.901,3771,5.152,6502,8.075,19056,10.769,19057,12.838,19058,8.718,19059,8.718,19060,8.718,19061,8.718,19062,8.718,19063,8.718,19064,7.336,19065,8.718]],["title/classes/RichTextContentBody.html",[0,0.241,6508,4.554]],["body/classes/RichTextContentBody.html",[0,0.473,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.498,27,0.31,30,0.001,31,0.679,32,0.173,47,0.947,83,1.579,95,0.124,99,1.085,101,0.017,103,0,104,0,110,1.873,112,0.624,130,3.269,155,1.719,157,2.42,190,1.427,195,1.184,200,1.648,201,3.679,202,1.237,223,1.678,231,2.015,296,3.705,299,4.958,300,4.475,339,1.579,360,3.096,854,5.011,855,3.223,886,1.705,899,2.461,1232,3.124,1749,3.069,1853,1.767,2049,4.267,2393,4.475,2721,3.737,2912,4.531,2918,6.599,3159,2.437,3201,2.524,3581,3.183,3583,3.183,3586,3.153,3589,6.08,3593,2.785,3598,3.018,4065,3.28,4086,3.28,4485,5.444,6409,5.96,6411,6.032,6413,5.96,6415,6.663,6417,6.032,6419,6.032,6467,3.475,6504,6.189,6505,6.189,6506,6.189,6507,6.189,6508,6.836,6509,6.189,6847,6.687,8010,3.521,8080,3.153,9639,6.365,9640,3.622,9642,8.22,9643,6.189,9644,6.189,9645,6.189,9646,3.622,9647,6.189,9648,3.315,9649,3.57,9650,6.189,9651,6.836,9652,3.521,9653,3.521,9654,3.521,9655,3.521,9656,3.622,9657,3.622,9658,3.622,9659,3.622,9660,3.622,9661,3.622,19066,5.386,19067,5.386,19068,5.386]],["title/classes/RichTextElement.html",[0,0.241,3146,4.287]],["body/classes/RichTextElement.html",[0,0.218,2,0.664,3,0.012,4,0.012,5,0.006,7,0.088,8,1.017,27,0.531,29,0.967,30,0.001,31,0.711,32,0.163,33,0.579,35,1.509,36,1.882,47,0.872,55,1.804,59,1.954,95,0.115,99,1.267,101,0.013,103,0,104,0,112,0.698,113,3.537,122,2.143,130,3.041,134,2.227,148,1.105,158,2.321,159,0.643,189,5.48,197,1.757,231,1.783,317,2.236,435,3.058,436,3.821,527,2.672,532,3.265,567,3.319,569,3.828,653,2.586,657,1.438,711,2.579,735,4.029,1770,3.564,1773,6.294,1842,4.068,2051,2.661,2662,5.864,2912,6.298,3058,7.93,3061,6.285,3062,6.285,3063,6.285,3064,7.348,3065,6.285,3067,3.914,3068,5.422,3069,6.519,3071,6.078,3072,5.422,3073,6.461,3075,4.363,3076,4.765,3078,6.508,3079,4.363,3083,4.363,3085,3.914,3112,5.366,3146,6.918,3589,6.945,4346,4.522,4347,4.522,4348,4.522,4357,3.914,5434,5.824,9663,4.363,19069,10.987,19070,6.288,19071,6.288,19072,6.288,19073,5.824,19074,6.288,19075,5.824,19076,6.288,19077,6.288,19078,6.288,19079,6.288,19080,8.246,19081,5.824,19082,8.246,19083,5.824,19084,5.824,19085,5.824,19086,5.519,19087,5.824]],["title/classes/RichTextElementContent.html",[0,0.241,19088,5.86]],["body/classes/RichTextElementContent.html",[0,0.37,2,0.869,3,0.015,4,0.015,5,0.007,7,0.115,27,0.463,29,0.629,30,0.001,31,0.463,32,0.165,33,0.376,34,2.03,47,0.872,95,0.14,99,1.659,101,0.014,103,0.001,104,0.001,112,0.839,190,1.917,202,1.891,296,3.643,304,4.078,433,1.459,458,3.284,821,4.205,886,2.608,1853,2.702,2109,3.608,2393,4.55,2912,6.664,2926,6.887,3197,4.408,3198,4.408,3201,3.859,3589,7.171,3759,5.623,3771,4.867,4019,6.147,4023,5.384,4025,5.384,4067,7.688,4485,6.181,6413,5.186,11572,7.628,19088,11.23,19089,11.64,19090,8.236,19091,8.236,19092,6.929,19093,6.929]],["title/classes/RichTextElementContentBody.html",[0,0.241,9647,4.554]],["body/classes/RichTextElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,6.571,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.174,6508,6.823,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.174,9646,3.607,9647,6.823,9648,3.302,9649,3.556,9650,6.174,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,19094,5.364,19095,5.364]],["title/entities/RichTextElementNode.html",[205,1.419,3512,5.49]],["body/entities/RichTextElementNode.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.119,27,0.428,30,0.001,32,0.136,47,0.889,95,0.147,96,2.237,99,1.727,101,0.014,103,0.001,104,0.001,112,0.86,134,3.035,135,1.115,148,0.842,159,0.876,190,1.966,205,2.236,206,2.796,223,4.109,224,2.482,231,1.893,232,2.319,457,4.764,1770,4.391,1853,2.811,2049,4.937,2109,3.754,2662,5.223,2715,4.843,2912,6.564,3467,5.872,3477,6.546,3512,8.647,3549,5.219,3574,9.628,3589,7.23,3922,6.681,3942,5.275,4448,5.396,4450,5.396,10349,7.521,19092,7.21,19093,7.21,19096,11.207,19097,8.57,19098,9.628,19099,7.938,19100,7.938,19101,7.938]],["title/interfaces/RichTextElementNodeProps.html",[159,0.712,19098,6.113]],["body/interfaces/RichTextElementNodeProps.html",[0,0.303,3,0.016,4,0.016,5,0.008,7,0.122,30,0.001,32,0.138,47,0.945,95,0.148,96,2.286,99,1.764,101,0.014,103,0.001,104,0.001,112,0.872,134,3.101,135,1.139,148,0.861,159,0.895,161,2.086,205,2.266,223,3.809,224,2.536,231,2.109,232,2.37,457,4.868,1770,4.452,1853,2.873,2049,3.573,2109,3.836,2662,5.295,2715,4.948,2912,6.493,3467,5.953,3477,6.637,3512,6.903,3549,5.333,3574,9.761,3589,7.387,3922,7.444,3942,5.39,4448,5.514,4450,5.514,19092,7.368,19093,7.368,19096,8.111,19098,10.727,19099,8.111,19100,8.111,19101,8.111]],["title/interfaces/RichTextElementProps.html",[159,0.712,19086,6.113]],["body/interfaces/RichTextElementProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.149,36,1.796,47,0.966,95,0.134,99,1.712,101,0.015,103,0.001,104,0.001,112,0.856,122,1.762,130,2.952,134,3.009,148,1.25,158,3.137,159,0.869,161,2.024,197,2.375,231,2.079,317,1.838,527,3.611,567,4.068,569,2.641,653,3.495,657,1.943,1842,4.986,2051,3.596,2912,6.442,3058,6.576,3064,5.555,3068,5.175,3069,6.328,3072,5.175,3073,6.272,3112,7.264,3146,7.418,3589,7.4,4357,5.289,9663,5.896,19069,7.87,19080,10.106,19081,7.87,19082,10.106,19083,7.87,19084,7.87,19085,7.87,19086,9.576,19087,7.87]],["title/classes/RichTextElementResponse.html",[0,0.241,4067,5.008]],["body/classes/RichTextElementResponse.html",[0,0.356,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,27,0.498,29,0.593,30,0.001,31,0.437,32,0.172,33,0.355,34,2.186,47,0.848,95,0.137,99,1.566,101,0.013,103,0,104,0,112,0.808,190,2.203,202,1.785,296,3.603,304,3.849,433,1.418,458,3.1,821,3.969,886,2.461,1853,2.55,2109,3.406,2393,4.899,2912,6.591,2926,7.415,3196,5.082,3197,5.51,3198,5.51,3200,4.638,3201,4.824,3589,6.655,3759,5.307,3771,4.594,4019,6.636,4023,5.082,4025,5.082,4067,9.191,4485,6.655,6413,6.482,19088,10.339,19089,12.167,19092,6.54,19093,6.54,19102,7.773,19103,7.773,19104,7.773,19105,7.773,19106,7.773]],["title/classes/RichTextElementResponseMapper.html",[0,0.241,6443,6.113]],["body/classes/RichTextElementResponseMapper.html",[0,0.266,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.477,29,0.78,30,0.001,31,0.574,32,0.151,33,0.467,34,1.314,35,1.316,95,0.136,100,2.68,101,0.01,103,0,104,0,112,0.801,122,2.118,135,1,141,4.379,148,1.128,153,1.978,430,3.16,467,3.811,652,2.334,653,3.16,711,2.226,829,4.541,830,5.679,1237,2.959,1853,2.521,2049,5.538,2140,4.379,2393,2.945,2653,8.418,2656,7.842,2657,7.842,2659,7.658,2912,6.396,2926,4.457,3146,8.354,3589,4.001,4019,5.873,4028,6.744,4035,5.424,4067,8.795,4485,4.001,5597,7.117,5927,7.144,6413,4.838,6438,5.899,6443,11.727,9704,9.168,9710,6.744,9712,6.057,9713,6.057,9714,6.057,19088,8.596,19107,12.734,19108,7.684,19109,7.684,19110,7.684,19111,7.684,19112,11.477,19113,7.684]],["title/classes/RocketChatError.html",[0,0.241,1079,5.658]],["body/classes/RocketChatError.html",[0,0.196,2,0.367,3,0.006,4,0.006,5,0.003,7,0.048,27,0.322,29,0.266,30,0.001,31,0.511,32,0.127,33,0.159,34,1.555,36,2.808,39,3.591,47,1.055,51,3.976,55,1.674,72,2.603,83,1.662,87,3.614,95,0.092,101,0.011,103,0,104,0,112,0.445,122,2.021,135,1.394,148,1.319,153,1.471,159,0.733,176,4.614,185,1.192,195,0.765,228,1.018,231,0.978,277,0.498,290,1.7,317,2.874,371,3.81,379,4.192,402,2.039,433,0.696,532,1.277,540,1.155,559,1.877,567,2.673,569,1.082,571,4.509,579,2.597,589,0.753,652,2.632,657,2.23,688,1.623,702,1.724,711,3.682,725,4.001,789,3.102,809,4.686,871,3.587,890,2.377,1050,8.35,1051,7.388,1052,2.929,1053,4.894,1054,1.967,1055,6.342,1056,2.246,1057,2.744,1058,2.672,1059,4.467,1060,3.869,1061,4.35,1062,4.35,1063,4.35,1064,4.604,1065,1.714,1066,2.929,1067,2.929,1068,2.929,1069,2.929,1070,2.929,1071,2.929,1072,2.503,1073,2.929,1074,2.929,1075,2.929,1076,2.218,1077,8.203,1078,1.525,1079,4.604,1080,2.485,1081,4.894,1082,2.457,1083,1.967,1084,4.894,1085,4.768,1086,5.423,1087,5.257,1088,5.338,1089,5.674,1090,6.332,1091,7.727,1092,6.556,1093,6.031,1094,2.609,1095,2.929,1096,2.929,1097,2.457,1098,2.929,1099,2.929,1100,2.828,1101,2.744,1102,2.929,1103,5.502,1104,2.828,1105,2.929,1106,2.929,1107,2.929,1108,2.828,1109,2.929,1110,2.929,1111,2.929,1112,7.391,1113,2.929,1114,2.929,1115,1.325,1116,2.929,1117,2.929,1118,2.929,1119,2.929,1120,2.929,1121,2.929,1122,2.929,1123,2.929,1124,8.203,1125,8.203,1126,2.929,1127,2.929,1128,2.929,1129,2.929,1130,2.929,1131,2.929,1132,2.415,1133,2.929,1134,2.929,1135,2.929,1136,2.929,1137,2.929,1138,2.929,1139,2.929,1140,2.929,1141,2.929,1142,2.929,1143,2.929,1144,2.929,1145,2.929,1146,2.929,1147,4.35,1148,4.35,1149,2.929,1150,2.929,1151,2.929,1152,2.929,1153,2.929,1154,2.377,1155,2.929,1156,2.929,1157,2.929,1158,4.768,1159,2.929,1160,4.768,1161,4.768,1162,2.929,1163,2.929,1164,2.672,1165,6.031,1166,4.751,1167,4.412,1168,2.929,1169,3.287,1170,5.202,1171,4.35,1172,5.373,1173,6.031,1174,6.031,1175,6.031,1176,2.672,1177,2.929,1178,2.929,1179,2.929,1180,7.652,1181,6.031,1182,6.031,1183,6.031,1184,2.929,1185,4.768,1186,4.768,1187,2.929,1188,2.929,1189,2.929,1190,2.929,1191,2.929,1192,4.768,1193,3.756,2465,2.057,19114,5.667,19115,3.481,19116,3.481]],["title/interfaces/RocketChatGroupModel.html",[159,0.712,1064,5.658]],["body/interfaces/RocketChatGroupModel.html",[0,0.2,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.471,32,0.128,34,1.574,36,2.819,39,3.607,47,1.056,51,4.032,55,1.476,72,2.653,83,1.694,87,3.673,95,0.093,101,0.011,103,0,104,0,112,0.453,122,2.241,135,1.407,148,1.324,153,1.489,159,0.745,161,0.849,172,2.466,176,4.671,185,1.221,195,0.783,228,1.037,231,0.615,277,0.51,290,1.728,317,2.886,371,3.872,379,4.251,402,2.078,433,0.438,532,1.307,540,1.183,559,1.922,567,2.716,569,1.108,571,4.544,579,2.629,589,0.768,652,2.476,657,2.254,688,1.662,702,1.765,711,3.701,725,4.078,789,3.162,809,4.763,871,3.083,890,2.434,1050,8.434,1051,2.896,1052,2.999,1053,4.974,1054,2.014,1055,6.431,1056,2.3,1057,2.81,1058,2.736,1059,4.554,1060,3.945,1061,4.435,1062,4.435,1063,4.435,1064,5.918,1065,4.124,1066,2.999,1067,2.999,1068,2.999,1069,2.999,1070,2.999,1071,2.999,1072,2.563,1073,2.999,1074,2.999,1075,2.999,1076,5.339,1077,7.747,1078,1.562,1079,2.896,1080,2.003,1081,2.434,1082,2.516,1083,2.014,1084,2.434,1085,2.999,1086,5.465,1087,5.297,1088,5.379,1089,5.718,1090,6.378,1091,7.783,1092,6.629,1093,6.129,1094,2.672,1095,2.999,1096,2.999,1097,2.516,1098,2.999,1099,2.999,1100,2.896,1101,2.81,1102,2.999,1103,5.592,1104,2.896,1105,2.999,1106,2.999,1107,2.999,1108,2.896,1109,2.999,1110,2.999,1111,2.999,1112,7.464,1113,2.999,1114,2.999,1115,1.356,1116,2.999,1117,2.999,1118,2.999,1119,2.999,1120,2.999,1121,2.999,1122,2.999,1123,2.999,1124,8.294,1125,8.294,1126,2.999,1127,2.999,1128,2.999,1129,2.999,1130,2.999,1131,2.999,1132,2.473,1133,2.999,1134,2.999,1135,2.999,1136,2.999,1137,2.999,1138,2.999,1139,2.999,1140,2.999,1141,2.999,1142,2.999,1143,2.999,1144,2.999,1145,2.999,1146,2.999,1147,4.435,1148,4.435,1149,2.999,1150,2.999,1151,2.999,1152,2.999,1153,2.999,1154,2.434,1155,2.999,1156,2.999,1157,2.999,1158,4.861,1159,2.999,1160,4.861,1161,4.861,1162,2.999,1163,2.999,1164,2.736,1165,6.129,1166,4.829,1167,4.484,1168,2.999,1169,3.351,1170,5.276,1171,4.435,1172,5.461,1173,6.129,1174,6.129,1175,6.129,1176,2.736,1177,2.999,1178,2.999,1179,2.999,1180,7.747,1181,6.129,1182,6.129,1183,6.129,1184,2.999,1185,4.861,1186,4.861,1187,2.999,1188,2.999,1189,2.999,1190,2.999,1191,2.999,1192,4.861,1193,3.829]],["title/modules/RocketChatModule.html",[252,1.839,9053,5.658]],["body/modules/RocketChatModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,8,1.086,27,0.37,29,0.725,30,0.001,31,0.534,32,0.118,33,0.434,35,1.09,95,0.141,101,0.012,103,0.001,104,0.001,148,0.934,252,3.349,254,3.418,259,3.451,260,3.531,276,3.72,277,1.359,467,3.407,540,3.884,685,5.512,1016,8.084,1045,7.653,1048,6.594,1051,9.509,1054,5.37,1059,10.437,1108,10.306,1267,6.708,3904,7.653,9053,10.306,19117,9.502,19118,9.502,19119,7.995,19120,9.502,19121,9.502]],["title/interfaces/RocketChatOptions.html",[159,0.712,1059,5.49]],["body/interfaces/RocketChatOptions.html",[0,0.196,3,0.006,4,0.006,5,0.003,7,0.048,30,0.001,31,0.464,32,0.132,33,0.52,34,1.554,36,2.807,39,3.59,47,1.063,51,3.972,55,1.451,72,2.599,83,1.659,87,3.61,95,0.092,101,0.011,103,0,104,0,112,0.444,122,2.02,135,1.393,148,1.319,153,1.469,159,0.732,161,0.828,176,4.61,185,1.19,195,0.764,228,1.016,231,0.6,277,0.497,290,1.698,317,2.873,371,3.805,379,4.187,402,2.036,433,0.427,532,1.274,540,1.153,559,1.874,567,2.669,569,1.08,571,4.506,579,2.594,589,0.752,652,2.459,657,2.228,688,1.62,702,1.721,711,3.681,725,6.414,789,3.097,809,4.681,871,3.037,890,2.373,1050,8.344,1051,2.823,1052,2.924,1053,4.888,1054,1.964,1055,6.335,1056,2.242,1057,2.739,1058,2.667,1059,5.644,1060,6.204,1061,6.975,1062,6.975,1063,6.975,1064,4.598,1065,1.711,1066,2.924,1067,2.924,1068,2.924,1069,2.924,1070,2.924,1071,2.924,1072,2.499,1073,2.924,1074,2.924,1075,2.924,1076,2.214,1077,7.645,1078,1.522,1079,2.823,1080,1.962,1081,2.373,1082,2.453,1083,1.964,1084,2.373,1085,2.924,1086,5.42,1087,5.254,1088,5.335,1089,5.671,1090,6.329,1091,7.723,1092,6.551,1093,6.024,1094,2.605,1095,2.924,1096,2.924,1097,2.453,1098,2.924,1099,2.924,1100,2.823,1101,2.739,1102,2.924,1103,5.496,1104,2.823,1105,2.924,1106,2.924,1107,2.924,1108,2.823,1109,2.924,1110,2.924,1111,2.924,1112,7.385,1113,2.924,1114,2.924,1115,1.322,1116,2.924,1117,2.924,1118,2.924,1119,2.924,1120,2.924,1121,2.924,1122,2.924,1123,2.924,1124,8.197,1125,8.197,1126,2.924,1127,2.924,1128,2.924,1129,2.924,1130,2.924,1131,2.924,1132,2.411,1133,2.924,1134,2.924,1135,2.924,1136,2.924,1137,2.924,1138,2.924,1139,2.924,1140,2.924,1141,2.924,1142,2.924,1143,2.924,1144,2.924,1145,2.924,1146,2.924,1147,4.344,1148,4.344,1149,2.924,1150,2.924,1151,2.924,1152,2.924,1153,2.924,1154,2.373,1155,2.924,1156,2.924,1157,2.924,1158,4.762,1159,2.924,1160,4.762,1161,4.762,1162,2.924,1163,2.924,1164,2.667,1165,6.024,1166,4.745,1167,4.407,1168,2.924,1169,3.283,1170,5.197,1171,4.344,1172,5.366,1173,6.024,1174,6.024,1175,6.024,1176,2.667,1177,2.924,1178,2.924,1179,2.924,1180,7.645,1181,6.024,1182,6.024,1183,6.024,1184,2.924,1185,4.762,1186,4.762,1187,2.924,1188,2.924,1189,2.924,1190,2.924,1191,2.924,1192,4.762,1193,3.751]],["title/classes/RocketChatUser.html",[0,0.241,19122,5.49]],["body/classes/RocketChatUser.html",[0,0.268,2,0.819,3,0.014,4,0.014,5,0.007,7,0.108,8,1.175,26,2.337,27,0.53,30,0.001,32,0.096,35,0.89,39,3.408,47,0.965,51,5.909,83,3.6,95,0.115,99,1.563,101,0.013,103,0,104,0,112,0.807,113,4.085,125,2.747,148,1.29,159,0.793,185,2.657,231,1.99,430,5.05,431,5.263,435,3.532,436,3.037,532,3.771,711,2.978,735,4.653,1112,8.829,1193,8.877,1767,5.585,1770,5.114,1773,7.023,1849,4.422,3067,4.829,3085,4.829,3088,6.116,3090,6.116,3093,5.383,3094,5.383,8452,6.116,18379,5.955,19122,8.105,19123,9.824,19124,12.405,19125,7.186,19126,9.679,19127,7.758,19128,7.758,19129,7.758,19130,7.758,19131,7.758,19132,7.758,19133,7.758,19134,7.758,19135,7.758,19136,6.809,19137,7.186,19138,7.186,19139,7.186]],["title/entities/RocketChatUserEntity.html",[205,1.419,19140,5.49]],["body/entities/RocketChatUserEntity.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.158,26,2.039,27,0.472,30,0.001,32,0.15,33,0.46,34,1.284,39,3.364,47,1.005,49,4.565,51,5.834,83,2.951,95,0.135,96,2.627,97,3.03,99,1.513,101,0.013,103,0,104,0,112,0.789,125,2.887,159,0.768,190,2.173,195,2.211,196,2.492,205,2.051,206,2.451,211,4.143,219,6.259,221,5.63,223,3.938,224,2.176,225,3.856,229,2.962,231,1.296,232,2.033,233,2.329,234,5.766,235,6.32,242,3.964,243,4.73,430,3.089,431,3.219,458,2.996,459,5.204,460,4.575,461,6.87,462,4.575,463,6.87,1112,8.716,1193,8.377,4655,4.21,10632,8.467,13125,5.921,19123,9.27,19126,9.555,19140,7.932,19141,11.706,19142,7.512,19143,7.512,19144,7.512,19145,7.512,19146,8.467,19147,6.958,19148,6.958,19149,6.958,19150,9.321,19151,6.958]],["title/interfaces/RocketChatUserEntityProps.html",[159,0.712,19146,5.86]],["body/interfaces/RocketChatUserEntityProps.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.158,26,2.452,30,0.001,32,0.164,33,0.616,34,2.069,39,3.503,47,1.031,49,4.754,51,6.075,83,3.81,95,0.135,96,2.621,97,3.019,99,1.508,101,0.013,103,0,104,0,112,0.787,125,2.883,159,0.765,161,1.783,195,1.645,196,2.483,205,2.046,219,6.247,223,3.933,224,2.168,225,3.846,229,2.951,231,1.291,232,2.025,233,2.32,234,5.745,235,6.297,242,3.95,243,4.712,430,4.978,431,5.187,458,2.984,459,5.191,460,4.558,461,6.853,462,4.558,463,6.853,1112,9.076,1193,4.96,4655,4.194,13125,5.899,19123,5.489,19126,9.95,19140,5.899,19141,6.932,19146,9.529,19147,6.932,19148,6.932,19149,6.932,19150,9.297,19151,6.932]],["title/classes/RocketChatUserFactory.html",[0,0.241,19152,6.451]],["body/classes/RocketChatUserFactory.html",[0,0.176,2,0.538,3,0.009,4,0.009,5,0.005,7,0.071,8,0.872,27,0.515,29,1.018,30,0.001,31,0.714,32,0.168,33,0.581,34,1.739,35,1.431,39,1.413,47,0.561,49,2.875,51,3.674,55,2.403,59,3.387,83,2.238,95,0.102,96,1.329,97,2.054,101,0.007,103,0,104,0,112,0.599,113,4.545,127,5.097,129,3.613,130,3.301,135,0.663,148,0.501,153,1.645,157,2.119,172,3.258,185,2.615,192,2.809,205,2.22,206,2.49,228,1.371,231,1.317,326,4.835,374,3.315,430,2.094,431,2.183,433,0.626,436,3.903,467,2.222,501,7.36,502,5.655,505,4.244,506,5.655,507,5.541,508,4.244,509,4.244,510,4.244,511,4.178,512,4.675,513,5.09,514,6.902,515,5.963,516,7.149,517,2.854,522,2.831,523,4.244,524,2.854,525,5.331,526,5.484,527,4.323,528,5.16,529,4.21,530,2.831,531,2.669,532,4.195,533,2.706,534,2.669,535,2.831,536,2.854,537,5.011,538,2.831,539,7.064,540,4.048,541,6.782,542,2.854,543,4.456,544,2.831,545,2.854,546,2.831,547,2.854,548,2.831,549,3.17,550,2.981,551,2.831,552,6.261,553,2.854,554,2.831,555,4.244,556,3.873,557,4.244,558,2.854,559,2.746,560,2.706,561,2.293,562,2.831,563,2.831,564,2.831,565,2.854,566,2.854,567,1.899,568,2.831,569,1.583,570,2.854,571,3.022,572,2.831,573,2.854,1112,3.662,1193,5.06,2081,4.137,4510,3.135,7553,2.878,19119,4.284,19123,3.735,19126,6.017,19140,4.014,19146,4.284,19152,7.07,19153,5.092,19154,5.092,19155,5.092,19156,5.092,19157,5.092]],["title/classes/RocketChatUserMapper.html",[0,0.241,19158,6.113]],["body/classes/RocketChatUserMapper.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.243,27,0.424,29,0.831,30,0.001,31,0.611,32,0.135,33,0.497,34,1.86,35,1.248,39,3.02,49,3.187,51,5.237,95,0.134,96,2.209,97,3.413,101,0.011,103,0.001,104,0.001,148,1.069,153,1.945,205,2.217,430,4.475,431,4.663,467,3.913,1112,7.824,1193,8.415,1770,3.387,2498,5.871,2522,6.874,2524,6.874,4755,9.155,4758,9.155,4759,9.155,4765,9.155,4768,5.1,4782,6.495,4783,6.495,8104,7.119,10692,7.426,19122,10.779,19123,8.822,19126,8.577,19140,10.779,19158,9.55,19159,12.027,19160,8.461,19161,8.461,19162,7.837,19163,7.837,19164,8.461,19165,8.461,19166,8.461,19167,8.461,19168,8.461,19169,8.461,19170,8.461]],["title/modules/RocketChatUserModule.html",[252,1.839,9054,6.113]],["body/modules/RocketChatUserModule.html",[0,0.328,3,0.018,4,0.018,5,0.009,30,0.001,95,0.141,101,0.012,103,0.001,104,0.001,252,3.345,254,3.41,255,3.62,256,3.711,257,3.698,258,3.685,259,4.602,260,4.709,269,4.576,270,3.646,271,3.571,277,1.356,1193,6.284,2636,4.64,9054,12.528,19123,6.954,19171,9.48,19172,9.48,19173,9.48,19174,12.729,19175,11.642,19176,9.48,19177,9.48,19178,9.48,19179,9.48]],["title/interfaces/RocketChatUserProps.html",[159,0.712,19136,6.113]],["body/interfaces/RocketChatUserProps.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,26,2.634,30,0.001,32,0.165,33,0.609,39,3.607,47,1.045,51,6.256,83,4.034,95,0.119,99,1.649,101,0.014,103,0.001,104,0.001,112,0.835,125,2.82,148,1.31,159,0.837,161,1.95,185,2.804,231,2.043,430,5.346,431,5.571,1112,9.346,1193,5.425,1767,6.43,1770,4.263,1849,4.665,3093,5.68,3094,5.68,18379,6.283,19122,6.452,19123,6.004,19124,7.582,19125,7.582,19126,10.246,19136,9.347,19137,7.582,19138,7.582,19139,7.582]],["title/injectables/RocketChatUserRepo.html",[589,0.926,19175,5.86]],["body/injectables/RocketChatUserRepo.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,11,8.084,13,7.239,26,2.711,27,0.478,29,0.879,30,0.001,31,0.647,32,0.142,33,0.526,35,1.176,36,2.828,37,8.084,39,3.403,42,7.239,49,2.911,95,0.146,96,2.018,97,3.117,99,1.557,101,0.01,103,0,104,0,135,1.498,148,1.131,153,1.659,205,2.09,228,1.388,277,1.105,317,2.837,400,2.266,433,0.949,589,1.363,591,1.833,657,1.767,675,3.946,735,4.641,736,5.666,766,4.137,773,6.798,1193,8.692,2446,6.659,3644,4.925,3649,5.845,4866,5.748,19122,8.084,19123,9.358,19140,9.073,19158,6.783,19162,7.158,19163,7.158,19175,8.629,19180,12.758,19181,7.158,19182,7.728,19183,7.728,19184,7.728,19185,7.728,19186,7.728,19187,7.728,19188,7.728]],["title/injectables/RocketChatUserService.html",[589,0.926,19174,6.113]],["body/injectables/RocketChatUserService.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,11,8.589,13,7.691,26,2.772,27,0.469,29,0.919,30,0.001,31,0.676,32,0.149,33,0.55,35,1.249,36,2.685,37,8.589,39,3.024,42,7.691,95,0.142,99,1.708,101,0.011,103,0.001,104,0.001,135,1.103,148,1.071,228,1.523,277,1.213,290,2.585,317,2.604,400,2.486,433,1.042,589,1.448,591,2.011,657,1.939,711,3.896,1193,8.422,1883,3.183,2636,4.15,19122,8.589,19123,9.32,19174,9.563,19175,11.317,19189,12.706,19190,8.479,19191,8.479,19192,8.479,19193,8.479,19194,8.479,19195,8.479,19196,8.479]],["title/entities/Role.html",[205,1.419,331,3.093]],["body/entities/Role.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.11,27,0.453,30,0.001,31,0.695,32,0.129,47,0.764,95,0.13,96,2.061,101,0.013,103,0,104,0,112,0.816,129,3.08,130,2.815,135,1.513,148,0.776,153,1.999,159,1.064,190,2.085,205,2.37,206,2.576,219,5.737,223,3.853,224,2.287,225,3.986,226,3.59,229,3.114,231,1.362,232,2.137,233,2.448,331,5.706,579,2.254,693,5.622,711,2.287,874,4.622,1821,3.739,1826,6.912,2184,3.125,2946,5.568,2950,5.782,3436,6.602,4441,4.666,4664,3.556,5056,6.873,8190,6.414,10632,6.643,11652,7.797,11680,8.199,17952,6.414,17967,6.414,17972,6.414,19197,7.313,19198,7.896,19199,7.896,19200,7.896,19201,7.896,19202,9.129,19203,6.643,19204,6.643,19205,7.313,19206,6.643,19207,7.313,19208,9.634,19209,7.313,19210,8.752]],["title/classes/RoleDto.html",[0,0.241,5026,5.008]],["body/classes/RoleDto.html",[0,0.323,2,0.987,3,0.017,4,0.017,5,0.008,7,0.13,26,2.552,27,0.513,29,0.714,30,0.001,31,0.739,32,0.163,33,0.618,34,2.153,95,0.129,99,1.883,101,0.012,103,0.001,104,0.001,112,0.909,232,3.135,433,1.148,435,3.211,458,3.728,459,4.834,595,3.545,693,5.726,1826,6.471,2184,3.7,4664,4.21,5026,9.73,5056,7.001,11652,7.007,11680,7.369,19211,9.348,19212,11.587,19213,9.348,19214,9.348]],["title/classes/RoleMapper.html",[0,0.241,19215,6.113]],["body/classes/RoleMapper.html",[0,0.32,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,8,1.314,27,0.448,29,0.878,30,0.001,31,0.704,32,0.142,33,0.526,34,1.58,35,1.319,95,0.128,101,0.012,103,0.001,104,0.001,148,1.131,153,1.494,205,1.883,331,6.193,467,4.002,478,2.589,1826,4.748,4768,5.569,4769,7.284,5026,9.887,5033,7.093,19215,10.097,19216,9.24,19217,10.097,19218,9.679,19219,11.504,19220,9.24,19221,9.24,19222,9.679,19223,9.24,19224,9.24,19225,9.24,19226,8.11]],["title/modules/RoleModule.html",[252,1.839,1524,5.346]],["body/modules/RoleModule.html",[0,0.31,3,0.017,4,0.017,5,0.008,30,0.001,95,0.144,101,0.011,103,0.001,104,0.001,252,3.26,254,3.22,255,3.418,256,3.505,257,3.492,258,3.479,259,4.484,260,4.588,269,4.415,270,3.442,271,3.372,277,1.28,279,3.711,1524,11.098,5129,11.05,5150,7.532,19227,8.952,19228,8.952,19229,8.952,19230,12.112,19231,12.634,19232,8.952,19233,8.952]],["title/classes/RoleNameMapper.html",[0,0.241,14127,6.113]],["body/classes/RoleNameMapper.html",[0,0.294,2,0.897,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,27,0.425,29,0.833,30,0.001,31,0.714,32,0.135,33,0.498,35,1.251,95,0.134,101,0.011,103,0.001,104,0.001,148,1.323,331,4.845,365,3.774,467,3.917,478,2.38,579,3.115,595,3.222,830,6.065,837,4.208,1883,3.19,4970,5.534,5056,7.785,11442,7.337,11443,7.337,12486,11.778,13749,10.609,13967,8.375,14101,9.251,14127,9.576,14178,8.6,19234,12.051,19235,8.497,19236,10.106,19237,10.91,19238,8.497,19239,10.91,19240,8.497,19241,7.87,19242,7.87,19243,7.87,19244,8.497,19245,8.497,19246,8.497]],["title/interfaces/RoleProperties.html",[159,0.712,19202,6.113]],["body/interfaces/RoleProperties.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.727,32,0.146,33,0.57,47,0.776,95,0.131,96,2.111,101,0.014,103,0,104,0,112,0.829,135,1.531,148,0.795,153,1.903,159,1.081,161,1.926,205,2.398,219,5.828,223,3.667,224,2.342,225,4.049,226,3.677,229,3.189,231,1.395,232,2.188,233,2.507,331,5.75,579,2.309,693,5.888,711,2.342,874,4.734,1821,3.829,1826,7.05,2184,3.201,2946,4.328,2950,5.874,3436,6.824,4441,4.779,4664,3.642,5056,7.198,8190,6.569,11652,7.92,11680,8.329,17952,6.569,17967,6.569,17972,6.569,19197,7.49,19202,10.329,19203,6.804,19204,6.804,19205,7.49,19206,6.804,19207,7.49,19208,9.786,19209,7.49,19210,8.89]],["title/classes/RoleReference.html",[0,0.241,8120,4.755]],["body/classes/RoleReference.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,26,2.587,27,0.498,29,0.736,30,0.001,31,0.747,32,0.158,33,0.44,34,2.183,95,0.132,101,0.012,103,0.001,104,0.001,112,0.926,134,3.413,159,0.986,232,3.195,433,1.184,435,3.311,458,3.844,459,4.985,2184,3.816,3772,8.46,4664,4.342,5056,7.097,8120,9.321,19247,13.306,19248,11.809,19249,9.639]],["title/injectables/RoleRepo.html",[589,0.926,19230,5.86]],["body/injectables/RoleRepo.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,10,3.546,12,3.994,18,4.422,26,2.265,27,0.511,29,0.963,30,0.001,31,0.747,32,0.16,33,0.576,34,1.755,35,1.447,36,3.021,40,4.271,47,0.754,55,1.258,95,0.132,99,1.251,101,0.008,103,0,104,0,112,0.692,129,1.839,130,1.681,135,1.454,148,1.16,205,1.266,206,2.879,231,1.523,277,0.888,317,3.022,331,3.919,436,3.301,478,1.74,532,4.936,589,1.173,591,1.473,595,2.355,615,5.374,728,7.319,734,3.719,735,3.994,736,5.053,759,3.706,760,3.782,761,3.743,762,3.782,764,3.743,765,3.782,766,3.324,3639,7.425,3656,7.745,3998,4.384,4272,8.81,5056,7.014,5245,5.432,10706,7.169,10712,7.425,15638,5.752,19230,7.425,19250,6.21,19251,9.507,19252,7.745,19253,6.21,19254,6.21,19255,7.745,19256,6.21,19257,8.174,19258,6.21,19259,6.21,19260,8.824,19261,10.352,19262,8.824]],["title/injectables/RoleService.html",[589,0.926,5129,5.346]],["body/injectables/RoleService.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.102,8,1.127,12,4.464,26,2.672,27,0.488,29,0.914,30,0.001,31,0.673,32,0.148,33,0.547,34,1.247,35,1.373,36,2.834,40,4.774,95,0.147,99,1.469,101,0.009,103,0,104,0,135,1.716,148,1.177,205,1.486,206,2.379,228,1.31,277,1.043,279,3.024,317,3.022,331,5.319,400,2.139,433,0.896,478,2.043,589,1.311,591,1.73,595,2.766,615,4.442,657,2.739,3436,3.748,3639,8.3,3656,8.658,5026,9.481,5056,6.658,5129,7.573,5245,4.49,11442,4.904,19215,6.401,19230,10.851,19252,8.658,19255,8.658,19263,7.293,19264,11.976,19265,7.293,19266,7.293,19267,7.293,19268,7.293,19269,7.293,19270,7.293,19271,7.293,19272,7.293,19273,12.896,19274,7.293,19275,7.293,19276,7.293,19277,7.293,19278,7.293,19279,7.293,19280,7.293]],["title/injectables/RoleUc.html",[589,0.926,19231,6.113]],["body/injectables/RoleUc.html",[0,0.322,3,0.017,4,0.017,5,0.008,7,0.13,8,1.32,27,0.45,29,0.882,30,0.001,31,0.649,32,0.143,33,0.528,35,1.067,36,2.856,95,0.146,101,0.012,103,0.001,104,0.001,135,1.211,148,0.915,228,1.671,277,1.331,317,2.719,400,2.728,433,1.143,589,1.536,591,2.207,595,3.529,5026,6.69,5033,7.142,5056,7.306,5129,10.573,5150,7.828,5245,5.727,19231,10.14,19252,10.14,19255,10.14,19281,9.304,19282,9.304,19283,9.304,19284,9.304,19285,9.304]],["title/injectables/RoomBoardDTOFactory.html",[589,0.926,9811,5.658]],["body/injectables/RoomBoardDTOFactory.html",[0,0.247,3,0.009,4,0.009,5,0.004,7,0.065,8,0.814,27,0.278,29,0.544,30,0.001,31,0.487,32,0.15,33,0.326,34,1.218,35,0.533,95,0.132,99,0.937,100,3.386,101,0.006,103,0,104,0,122,1.477,135,1.797,141,4.928,148,1.275,153,1.152,155,2.274,172,3.041,195,1.566,197,1.991,228,1.28,277,0.665,290,2.995,402,3.973,430,2.931,431,3.054,433,1.064,478,1.303,589,0.947,591,1.103,595,1.763,652,2.568,653,1.912,693,2.115,896,3.961,1132,3.226,1197,3.87,1778,2.928,1793,3.082,1862,5.87,1937,2.19,2033,3.682,2049,1.897,2051,5.546,2055,3.226,2219,2.084,2220,2.345,2221,2.263,2393,4.233,2680,2.135,2957,4.671,2959,4.808,2961,7.797,2964,5.47,2966,6.229,2976,8.809,3044,3.569,3045,3.082,3325,3.569,3351,9.189,3352,5.995,3356,5.995,3359,3.912,3378,4.081,3764,3.912,3774,2.928,3777,3.912,4094,2.928,4112,5.825,4259,2.722,4866,4.855,5266,5.825,5794,3.778,7938,3.912,8467,8.618,8619,3.226,8759,4.081,9716,6.254,9717,8.024,9718,4.307,9719,10.091,9720,10.331,9724,4.307,9725,4.307,9735,4.307,9736,10.231,9738,8.809,9739,4.307,9741,4.307,9746,4.307,9748,4.307,9750,4.307,9752,4.307,9754,3.411,9755,6.254,9756,6.254,9757,4.307,9758,4.307,9759,4.081,9760,6.6,9761,4.307,9762,6.6,9763,6.6,9764,4.307,9765,4.307,9766,4.307,9767,4.307,9768,4.307,9769,4.307,9770,4.307,9771,4.307,9772,4.307,9773,4.307,9774,6.6,9775,4.081,9776,4.307,9777,4.307,9778,4.307,9779,4.307,9780,8.024,9781,4.307,9782,4.307,9783,4.307,9784,4.081,9785,4.081,9786,6.6,9787,4.307,9788,4.307,9789,4.081,9790,4.081,9791,3.912,9792,4.081,9793,4.081,9794,4.307,9795,4.307,9796,4.307,9797,4.307,9798,4.307,9799,4.307,9800,4.081,9801,4.307,9802,4.307,9803,4.307,9804,4.307,9805,4.307,9806,4.307,9807,4.307,9808,4.307,9809,3.912,9810,4.307,9811,5.789,9812,8.024,9813,4.307,9814,4.307,19286,4.65,19287,4.65,19288,4.65,19289,4.65]],["title/injectables/RoomBoardResponseMapper.html",[589,0.926,15262,5.86]],["body/injectables/RoomBoardResponseMapper.html",[0,0.196,3,0.011,4,0.011,5,0.005,7,0.079,8,0.945,27,0.444,29,0.433,30,0.001,31,0.548,32,0.133,33,0.259,34,1.668,35,0.651,95,0.133,101,0.007,103,0,104,0,112,0.649,129,3.175,130,2.901,134,2.01,135,1.755,148,1.12,153,1.986,155,2.64,277,0.812,402,2.975,430,4.013,431,4.182,478,1.59,589,1.099,591,1.346,652,2.718,829,3.354,830,4.598,837,2.81,896,5.96,1132,3.938,1937,2.673,2033,3.136,2051,5.432,2055,3.938,2393,3.739,2959,2.606,2965,4.395,3040,6.958,3042,4.474,3044,4.356,3045,3.762,3758,11.526,3761,6.958,3762,6.958,3764,4.775,3768,5.256,3774,3.573,3775,5.256,3776,5.256,3777,4.775,4027,7.66,4030,4.981,4094,3.573,4108,4.981,4866,4.635,5794,4.61,9706,4.981,9738,9.589,9754,7.157,9755,8.564,9756,8.564,9785,7.258,9789,7.258,9790,4.981,9791,4.775,9792,4.981,9793,4.981,9800,7.258,9809,4.775,15262,6.958,19290,11.897,19291,9.757,19292,9.757,19293,9.757,19294,9.757,19295,5.675,19296,9.021,19297,5.675,19298,5.675,19299,5.675,19300,5.675,19301,5.675,19302,5.675,19303,5.675,19304,5.675,19305,5.675,19306,5.675,19307,9.757,19308,5.675,19309,5.675,19310,5.675,19311,7.66,19312,5.675,19313,5.675,19314,5.675,19315,8.27,19316,5.675,19317,8.27,19318,5.675,19319,5.675,19320,5.675,19321,5.675,19322,5.675,19323,5.675,19324,5.675,19325,5.675,19326,5.675,19327,5.675,19328,5.675,19329,5.675,19330,5.675,19331,5.675,19332,5.675,19333,5.675,19334,8.27,19335,5.675,19336,5.675,19337,5.675,19338,5.675,19339,5.675,19340,8.27,19341,5.675,19342,5.675,19343,5.675,19344,5.675,19345,5.675,19346,5.675]],["title/classes/RoomElementUrlParams.html",[0,0.241,19347,6.113]],["body/classes/RoomElementUrlParams.html",[0,0.397,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.447,30,0.001,32,0.142,34,2.238,47,0.962,95,0.128,101,0.012,103,0.001,104,0.001,112,0.9,157,2.655,190,2.056,194,5.143,195,2.876,196,4.343,197,3.658,200,2.815,202,2.112,296,3.271,855,5.062,1132,8.674,2024,9.855,2049,4.681,4197,6.986,4235,7.96,6555,8.519,6557,8.519,8467,9.811,19347,10.068,19348,12.501,19349,9.198]],["title/classes/RoomUrlParams.html",[0,0.241,19350,6.113]],["body/classes/RoomUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,1132,9.001,4197,6.09,8467,9.051,19350,10.598,19351,9.999,19352,9.999]],["title/injectables/RoomsAuthorisationService.html",[589,0.926,9720,5.49]],["body/injectables/RoomsAuthorisationService.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,8,1.104,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.356,95,0.108,101,0.012,103,0,104,0,122,2.761,135,1.539,148,1.162,153,1.144,197,2.701,277,1.012,290,3.397,478,1.982,579,2.02,589,1.285,591,1.678,886,2.24,1783,4.355,1784,4.757,1838,7.703,1937,5.184,2033,5.308,2530,4.994,2957,6.376,2959,6.007,3555,4.509,5788,4.032,5800,4.222,6256,5.087,9720,7.617,9791,5.953,19353,7.075,19354,9.663,19355,9.663,19356,9.663,19357,9.663,19358,9.663,19359,7.075,19360,9.663,19361,7.075,19362,9.663,19363,7.075,19364,9.663,19365,7.075,19366,7.075,19367,9.663,19368,9.663,19369,7.075,19370,8.481,19371,7.075,19372,12.335,19373,7.075,19374,7.075,19375,7.075,19376,10.194,19377,9.663,19378,9.663,19379,8.95]],["title/controllers/RoomsController.html",[314,2.65,15265,6.113]],["body/controllers/RoomsController.html",[0,0.192,3,0.01,4,0.01,5,0.005,7,0.077,8,0.93,27,0.44,29,0.862,30,0.001,31,0.634,32,0.14,33,0.516,35,1.295,36,2.742,95,0.147,100,3.939,101,0.007,103,0,104,0,135,1.536,148,0.947,190,2.025,202,1.274,228,1.905,274,2.31,277,0.794,314,2.112,316,2.671,317,2.953,325,6.803,326,4.857,349,7.08,379,5.382,388,5.059,389,3.628,392,2.889,393,2.748,395,2.97,398,2.992,433,0.682,649,3.494,650,4.509,652,2.158,657,2.583,675,2.833,2051,3.443,3220,8.697,3240,2.852,3242,3.037,3276,8.105,3305,5.319,3318,3.416,3319,3.163,4029,3.789,4077,6.74,4866,4.56,7176,4.375,7423,4.509,7428,8.925,7646,5.14,7668,8.105,7722,8.105,8471,5.14,15261,8.105,15262,6.845,15263,8.105,15265,7.141,15270,5.14,15559,8.362,15566,5.14,17941,9.31,17946,9.31,19296,4.669,19347,9.31,19350,11.386,19380,5.55,19381,9.632,19382,9.632,19383,9.632,19384,5.55,19385,5.55,19386,5.55,19387,5.55,19388,5.55,19389,5.55,19390,5.55,19391,8.136,19392,5.55,19393,5.55,19394,8.136,19395,5.55,19396,5.55,19397,8.136,19398,5.55,19399,4.669,19400,7.536,19401,5.55,19402,5.55,19403,5.55,19404,5.55,19405,5.55,19406,5.55,19407,5.55,19408,8.136,19409,5.55,19410,5.55,19411,5.55,19412,5.55,19413,5.55,19414,7.141,19415,5.55,19416,7.141,19417,5.55,19418,5.55,19419,5.55]],["title/injectables/RoomsService.html",[589,0.926,7673,5.658]],["body/injectables/RoomsService.html",[0,0.231,3,0.012,4,0.012,5,0.006,7,0.093,8,1.062,26,2.737,27,0.416,29,0.816,30,0.001,31,0.6,32,0.143,33,0.488,34,1.143,35,1.066,36,2.44,39,2.965,95,0.151,99,1.347,101,0.009,103,0,104,0,122,1.386,135,1.676,145,2.51,148,0.914,195,1.469,228,2.179,277,0.956,279,2.772,317,2.717,433,1.142,478,1.873,589,1.235,591,1.586,652,2.672,657,2.946,1132,8.715,1853,2.194,1933,4.72,2020,9.657,2031,4.639,2032,3.951,2051,5.452,2054,5.012,2219,2.997,2220,3.371,2221,3.254,2965,3.553,2966,6.683,3283,9.657,3320,4.639,3321,5.432,4259,3.914,5517,6.193,5611,10.84,5619,6.193,5747,8.797,5748,9.415,5804,6.193,7673,7.551,9775,5.868,19420,6.686,19421,9.294,19422,9.294,19423,6.193,19424,6.686,19425,9.294,19426,6.686,19427,9.294,19428,6.686,19429,6.686,19430,9.294,19431,6.686,19432,9.294,19433,12.134,19434,6.686,19435,6.686,19436,6.686,19437,6.193,19438,6.686,19439,6.686,19440,6.686,19441,6.686,19442,6.686]],["title/injectables/RoomsUc.html",[589,0.926,15263,5.86]],["body/injectables/RoomsUc.html",[0,0.207,3,0.011,4,0.011,5,0.005,7,0.083,8,0.982,26,2.908,27,0.428,29,0.839,30,0.001,31,0.618,32,0.136,33,0.502,35,1.154,36,2.561,39,3.78,95,0.139,99,1.206,101,0.008,103,0,104,0,122,2.085,134,2.121,135,1.738,148,0.589,153,1.39,195,1.316,228,2.176,268,7.602,277,0.856,279,2.483,290,2.608,317,2.814,433,1.056,516,5.346,579,2.455,589,1.143,591,1.421,652,2.465,657,3.087,1132,8.078,1911,7.46,1998,7.929,2024,7.929,2033,4.596,2049,2.444,2051,4.927,2681,3.573,3283,9.357,4362,5.293,4465,9.648,7672,5.038,7673,10.141,7886,6.6,8467,6.444,9719,8.828,9720,8.666,9738,8.463,9759,5.256,9811,8.931,15263,7.234,19437,7.964,19443,5.988,19444,8.598,19445,8.598,19446,10.059,19447,5.988,19448,8.598,19449,5.988,19450,8.598,19451,10.059,19452,5.988,19453,5.988,19454,5.988,19455,5.988,19456,5.988,19457,10.059,19458,5.988,19459,5.988,19460,5.988,19461,8.598,19462,7.964,19463,8.598,19464,5.988,19465,5.988,19466,5.988,19467,5.988]],["title/interfaces/RpcMessage.html",[159,0.712,12347,5.221]],["body/interfaces/RpcMessage.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.151,33,0.558,47,0.748,55,2.062,101,0.016,103,0.001,104,0.001,112,0.957,159,1.248,161,2.424,231,1.756,402,3.661,532,4.794,1080,4.804,1115,5.274,10013,11.01,12347,9.147,13733,8.932,13734,9.426]],["title/classes/RpcMessageProducer.html",[0,0.241,12434,5.86]],["body/classes/RpcMessageProducer.html",[0,0.246,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,8,1.107,9,3.293,27,0.462,29,0.977,30,0.001,31,0.665,32,0.158,33,0.541,35,1.264,47,1.014,55,2.4,80,5.322,95,0.123,101,0.009,103,0,104,0,113,5.526,135,1.435,148,0.952,158,4.372,193,4.225,228,1.98,317,2.385,433,1.19,532,3.552,569,2.207,579,2.027,657,1.624,813,3.979,871,4.057,1080,3.358,1115,4.869,1272,7.806,1274,6.333,1297,5.768,1298,9.59,1310,5.012,1311,4.642,1723,7.703,1945,5.768,4305,8.957,4338,9.292,7910,5.208,10009,6.231,10011,6.576,12347,8.878,12434,8.15,12435,8.501,12436,8.501,12443,8.501,12445,8.501,12447,8.501,13733,10.88,19468,7.1,19469,7.1,19470,7.1,19471,7.1,19472,7.1,19473,7.1,19474,7.1,19475,7.1,19476,7.1,19477,7.1,19478,7.1,19479,7.1,19480,9.686,19481,7.1,19482,7.1,19483,6.576]],["title/interfaces/Rule.html",[159,0.712,1986,4.287]],["body/interfaces/Rule.html",[3,0.016,4,0.016,5,0.008,7,0.124,8,1.283,27,0.438,29,0.857,30,0.001,31,0.631,32,0.139,33,0.513,35,1.288,59,2.764,95,0.149,101,0.011,103,0.001,104,0.001,122,2.681,159,0.909,161,2.118,183,5.2,185,4.736,290,3.349,478,2.491,532,4.994,1475,5.599,1767,4.83,1775,7.568,1838,6.769,1849,5.068,1850,6.277,1851,6.826,1852,5.255,1853,2.917,1982,7.157,1986,6.913,2619,7.157,3714,7.247,18248,7.804,19484,8.892,19485,8.892,19486,8.892]],["title/injectables/RuleManager.html",[589,0.926,1873,5.86]],["body/injectables/RuleManager.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.082,8,0.967,27,0.424,29,0.758,30,0.001,31,0.558,32,0.149,33,0.454,35,0.97,95,0.138,101,0.008,103,0,104,0,112,0.664,135,1.101,145,2.199,148,0.832,153,1.368,183,4.155,185,3.953,228,2.513,277,0.838,290,2.738,433,1.04,478,1.641,579,2.416,589,1.125,591,1.389,652,2.88,711,2.878,756,2.336,1312,2.759,1767,5.91,1775,5.955,1849,3.338,1850,4.135,1851,4.496,1852,6.43,1853,1.922,1864,10.434,1865,10.434,1866,10.434,1867,10.074,1868,9.015,1870,10.434,1871,9.155,1872,10.074,1873,7.12,1874,10.434,1875,10.434,1876,10.434,1877,10.074,1878,10.434,1879,10.434,1880,10.434,1886,9.098,1986,8.085,3555,5.392,19487,11.541,19488,5.857,19489,8.462,19490,8.462,19491,5.857,19492,9.934,19493,8.462,19494,8.462,19495,5.857,19496,8.462,19497,5.857,19498,5.857,19499,5.857,19500,5.857,19501,5.857,19502,5.857,19503,5.857,19504,5.857,19505,5.857,19506,5.857,19507,5.857,19508,5.857,19509,5.857,19510,5.857,19511,5.857,19512,5.857,19513,5.857,19514,5.857,19515,5.857,19516,5.857,19517,5.857,19518,8.462,19519,5.857,19520,5.857]],["title/injectables/S3ClientAdapter.html",[589,0.926,12577,5.109]],["body/injectables/S3ClientAdapter.html",[0,0.09,3,0.005,4,0.005,5,0.009,7,0.036,8,0.506,10,2.759,27,0.44,29,0.827,30,0.001,31,0.609,32,0.137,33,0.495,34,0.758,35,1.243,36,2.342,47,0.963,59,0.806,72,1.191,95,0.105,101,0.003,103,0,104,0,112,0.348,125,0.618,129,0.768,130,0.702,135,1.72,141,4.39,145,0.973,148,1.111,153,1.981,158,1.636,159,0.265,183,2.622,185,0.888,228,0.796,277,0.371,316,2.133,317,2.861,326,4.217,339,2.465,371,3.649,374,2.52,379,1.316,414,6.274,433,0.544,569,0.806,571,3.327,579,3.093,589,0.589,591,0.615,615,1.579,629,5.964,652,2.083,653,1.067,657,2.708,688,1.209,711,3.797,734,2.894,1027,0.794,1080,0.899,1086,3.673,1087,3.56,1088,3.615,1089,3.843,1090,4.19,1091,5.113,1092,4.618,1094,1.944,1164,3.402,1197,5.368,1302,4.289,1304,3.913,1312,2.734,1313,1.77,1314,1.902,1328,5.758,1329,6.43,1330,9.116,1343,2.182,1476,2.671,1550,2.276,1743,1.865,1930,3.187,2088,2.488,2125,4.406,2447,2.426,2448,3.218,2472,1.563,2608,3.498,2830,2.571,2831,2.323,2954,1.378,2993,4.105,3102,2.671,3362,1.865,3898,1.299,4162,7.106,4215,1.799,4703,1.563,5138,3.107,5222,3.075,5234,4.299,5247,6.894,5278,2.791,6572,2.526,7301,5.147,7302,8.62,7304,3.402,7305,3.402,7306,4.324,7309,8.085,7312,1.83,7313,1.614,7314,1.579,7315,1.579,7316,6.588,7317,6.894,7318,4.455,7319,3.322,7640,1.719,7767,1.799,8990,5.778,8999,3.729,9000,2.276,9001,3.601,9017,2.276,11523,2.044,11524,2.107,12067,7.249,12539,5.271,12546,2.276,12577,3.251,16307,2.107,18144,4.105,18146,5.376,19521,10.651,19522,2.593,19523,5.804,19524,4.432,19525,6.867,19526,5.804,19527,6.867,19528,4.432,19529,4.432,19530,5.094,19531,2.593,19532,4.432,19533,4.432,19534,2.593,19535,4.432,19536,2.593,19537,4.432,19538,2.593,19539,2.593,19540,4.432,19541,2.593,19542,4.432,19543,2.593,19544,2.593,19545,2.593,19546,2.593,19547,4.432,19548,2.593,19549,4.432,19550,2.593,19551,4.432,19552,2.593,19553,4.432,19554,2.593,19555,6.867,19556,4.432,19557,2.593,19558,4.432,19559,4.432,19560,4.432,19561,4.432,19562,2.593,19563,5.804,19564,2.593,19565,5.376,19566,2.402,19567,2.593,19568,2.593,19569,2.593,19570,2.593,19571,2.593,19572,2.276,19573,11.841,19574,8.981,19575,2.593,19576,2.593,19577,2.593,19578,2.593,19579,2.593,19580,2.593,19581,2.593,19582,2.593,19583,4.432,19584,6.867,19585,2.593,19586,2.593,19587,4.432,19588,2.593,19589,2.593,19590,2.593,19591,2.593,19592,2.593,19593,4.432,19594,4.432,19595,4.432,19596,3.601,19597,4.432,19598,2.593,19599,2.593,19600,2.593,19601,4.432,19602,2.593,19603,2.593,19604,2.593,19605,2.593,19606,2.593,19607,2.593,19608,2.593,19609,2.593,19610,2.593,19611,2.593,19612,2.593,19613,2.593,19614,5.804,19615,2.593,19616,4.715,19617,2.593,19618,4.432,19619,2.593,19620,4.432,19621,2.593,19622,2.593,19623,2.593,19624,4.432,19625,2.593,19626,2.044,19627,2.593,19628,2.593,19629,2.593,19630,2.593,19631,2.593,19632,2.593,19633,4.432,19634,4.432,19635,2.593,19636,4.432,19637,2.593,19638,2.593,19639,2.593,19640,2.593,19641,2.593,19642,2.593,19643,5.804,19644,2.593,19645,4.432,19646,2.593,19647,2.593,19648,2.593,19649,2.593,19650,2.593,19651,2.593]],["title/modules/S3ClientModule.html",[252,1.839,12413,5.008]],["body/modules/S3ClientModule.html",[0,0.285,3,0.015,4,0.015,5,0.007,8,0.941,27,0.321,29,0.629,30,0.001,31,0.463,32,0.102,33,0.376,35,0.944,95,0.145,101,0.011,103,0.001,104,0.001,135,1.635,148,1.051,153,1.729,159,0.842,195,2.35,252,3.134,254,2.962,259,4.312,260,3.06,265,4.96,276,3.224,277,1.178,467,3.112,685,4.777,686,5.922,688,3.84,1016,7.566,1027,2.52,2088,5.089,2233,6.512,2447,4.469,2448,6.254,7302,8.015,7306,8.2,7308,7.3,7310,7.3,7311,7.3,8990,9.99,8999,6.929,9000,7.228,9001,8.687,9030,7.628,9032,7.628,9033,6.173,12325,7.228,12413,8.537,12577,6.041,14751,7.628,18050,7.228,19521,9.904,19652,10.692,19653,8.236,19654,8.236,19655,8.236,19656,8.236,19657,8.236,19658,8.236,19659,8.236]],["title/interfaces/S3Config.html",[159,0.712,7306,4.386]],["body/interfaces/S3Config.html",[3,0.015,4,0.015,5,0.01,7,0.115,30,0.001,32,0.165,47,1.089,55,2.411,95,0.092,101,0.017,103,0.001,104,0.001,112,0.841,125,2.554,159,1.366,161,1.97,339,3.144,414,5.439,1302,6.613,1304,4.713,1444,4.597,2233,7.665,5234,5.132,6572,4.713,7301,6.199,7302,6.199,7303,6.519,7304,6.348,7305,6.348,7306,6.751,7307,9.434,7308,8.594,7309,8.594,7310,8.594,7311,8.594,7312,5.838,7313,5.147,7314,5.036,7315,5.036,7316,6.066,7317,8.23,7318,8.23,7319,6.199]],["title/interfaces/S3Config-1.html",[159,0.592,756,2.309,7306,3.646]],["body/interfaces/S3Config-1.html",[3,0.018,4,0.018,5,0.009,7,0.137,30,0.001,32,0.17,47,1.08,101,0.013,103,0.001,104,0.001,112,0.936,159,1.003,161,2.335,2233,8.151,7306,7.513,7308,9.138,7309,9.138,7310,9.138,7311,9.138,12521,7.728,12522,7.728,19660,9.804]],["title/classes/SanisAnschriftResponse.html",[0,0.241,19661,6.113]],["body/classes/SanisAnschriftResponse.html",[0,0.425,2,1.088,3,0.019,4,0.019,5,0.009,7,0.144,27,0.402,30,0.001,32,0.128,33,0.562,47,0.904,95,0.115,101,0.013,103,0.001,104,0.001,112,0.965,190,1.848,200,3.154,299,4.814,300,4.712,1203,9.046,18530,7.276,19661,10.792,19662,8.842,19663,11.39,19664,13.142,19665,8.672]],["title/classes/SanisGeburtResponse.html",[0,0.241,19666,6.113]],["body/classes/SanisGeburtResponse.html",[0,0.425,2,1.088,3,0.019,4,0.019,5,0.009,7,0.144,27,0.402,30,0.001,32,0.128,33,0.562,47,0.904,95,0.115,101,0.013,103,0.001,104,0.001,112,0.965,190,1.848,200,3.154,299,4.814,300,4.712,442,8.374,18530,7.276,19662,8.842,19665,8.672,19666,10.792,19667,11.39,19668,13.142]],["title/classes/SanisGruppeResponse.html",[0,0.241,19669,6.113]],["body/classes/SanisGruppeResponse.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.494,30,0.001,32,0.164,34,2.167,47,0.972,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.272,200,2.901,299,5.319,899,4.332,1065,4.667,14451,11.738,18530,6.692,19662,9.512,19665,7.976,19669,10.258,19670,12.253,19671,12.672,19672,9.48,19673,11.738,19674,11.688,19675,9.48,19676,6.692]],["title/classes/SanisGruppenResponse.html",[0,0.241,19677,5.658]],["body/classes/SanisGruppenResponse.html",[0,0.42,2,0.91,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,30,0.001,32,0.17,33,0.503,95,0.147,101,0.011,103,0.001,104,0.001,112,0.864,190,2.175,195,1.895,200,2.639,300,4.221,871,4.465,1232,5.003,2531,4.65,6317,6.389,6847,6.894,12632,8.567,13033,10.388,18530,6.088,19662,9.194,19669,11.223,19670,11.844,19676,8.567,19677,8.949,19678,11.844,19679,11.844,19680,12.136,19681,10.203,19682,7.989,19683,11.223,19684,7.989,19685,8.625,19686,7.989,19687,8.625,19688,7.989,19689,7.989]],["title/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.241,19683,6.113]],["body/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.416,2,1.048,3,0.018,4,0.018,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,33,0.549,95,0.134,101,0.013,103,0.001,104,0.001,112,0.943,190,1.779,195,2.642,200,3.037,300,4.606,331,4.408,899,4.535,1065,4.886,2531,6.481,6317,6.972,18530,7.006,19662,8.643,19676,7.006,19679,11.134,19683,10.55,19690,11.349,19691,11.349,19692,9.193,19693,9.193,19694,9.193]],["title/classes/SanisNameResponse.html",[0,0.241,19695,6.113]],["body/classes/SanisNameResponse.html",[0,0.418,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,27,0.471,30,0.001,31,0.729,32,0.15,47,0.991,95,0.112,101,0.013,103,0.001,104,0.001,112,0.949,190,2.168,200,3.068,299,5.404,18530,7.076,19662,9.338,19693,9.285,19695,10.614,19696,12.986,19697,12.986,19698,10.024]],["title/classes/SanisOrganisationResponse.html",[0,0.241,19699,6.113]],["body/classes/SanisOrganisationResponse.html",[0,0.425,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,27,0.503,30,0.001,31,0.69,32,0.168,33,0.512,34,2.101,47,1,95,0.137,101,0.011,103,0.001,104,0.001,112,0.878,190,2.314,200,2.709,299,5.408,300,4.292,871,3.257,1232,5.135,6847,6.038,12632,7.906,18530,6.249,18535,7.449,19661,11.331,19662,9.576,19663,11.958,19676,6.249,19699,9.829,19700,12.335,19701,12.285,19702,8.2,19703,8.853,19704,8.853,19705,8.2]],["title/classes/SanisPersonResponse.html",[0,0.241,19706,6.113]],["body/classes/SanisPersonResponse.html",[0,0.434,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.449,30,0.001,31,0.737,32,0.167,33,0.526,95,0.146,101,0.012,103,0.001,104,0.001,112,0.904,190,2.065,200,2.834,300,4.415,871,4.239,1232,5.372,6847,6.761,12632,8.852,18530,6.538,18535,7.792,19662,9.017,19666,11.516,19667,12.153,19676,8.133,19681,8.578,19684,8.578,19695,11.516,19702,8.578,19706,10.111,19707,11.006]],["title/classes/SanisPersonenkontextResponse.html",[0,0.241,19708,6.113]],["body/classes/SanisPersonenkontextResponse.html",[0,0.4,2,0.822,3,0.014,4,0.014,5,0.007,7,0.108,27,0.479,30,0.001,32,0.166,33,0.471,34,1.976,47,0.757,95,0.146,101,0.01,103,0,104,0,112,0.809,125,2.455,190,2.204,195,2.265,200,2.383,299,4.036,300,3.95,331,3.459,871,4.251,899,3.559,1232,4.518,1373,4.743,2531,4.199,6317,5.979,6842,8.126,6847,6.23,7510,7.995,12632,7.277,18530,5.498,18533,7.214,18535,6.553,19662,9.197,19676,8.681,19677,9.99,19678,11.39,19699,10.793,19700,11.39,19705,7.214,19708,9.047,19709,11.848,19710,11.554,19711,7.788,19712,7.788,19713,7.788,19714,7.214,19715,7.214,19716,7.214,19717,7.788,19718,10.702,19719,10.308,19720,6.836,19721,9.047,19722,11.39,19723,9.548]],["title/injectables/SanisProvisioningStrategy.html",[589,0.926,18269,5.86]],["body/injectables/SanisProvisioningStrategy.html",[0,0.301,3,0.009,4,0.009,5,0.004,7,0.065,8,0.82,27,0.464,29,0.881,30,0.001,31,0.648,32,0.137,33,0.527,34,0.803,35,1.323,36,1.841,95,0.148,100,1.637,101,0.006,103,0,104,0,110,1.632,113,2.851,122,1.488,125,2.324,135,1.646,148,0.959,153,1.409,158,1.733,185,1.608,189,2.889,195,1.031,197,1.312,200,1.436,228,1.752,231,1.238,277,0.671,317,2.574,338,4.418,339,1.376,357,3.603,411,3.518,433,0.882,436,2.574,569,2.23,579,2.049,589,0.954,591,1.113,595,1.78,652,2.671,657,2.231,688,2.188,871,3.868,983,3.029,1053,7.876,1054,2.652,1056,3.029,1065,2.311,1169,2.722,1213,2.991,1231,4.119,1232,2.722,1312,3.38,1359,3.813,1472,2.609,1475,2.955,1476,2.829,1613,3.949,1675,2.829,1850,3.313,2084,3.111,2088,2.012,2114,6.265,2358,2.698,2382,5.657,2617,2.921,3310,3.813,3430,3.116,4029,3.204,4329,5.83,4863,3.156,5056,2.609,5271,4.519,6304,3.518,7510,6.373,10075,5.379,10105,5.264,11257,7.712,12115,3.603,12738,4.347,12786,7.692,13035,4.119,13590,6.038,13781,7.927,13785,7.078,14382,5.199,14384,5.657,14386,3.813,14387,7.56,14391,5.83,14392,7.314,14395,5.423,14396,2.955,14397,2.955,14409,4.347,14416,7.078,14418,6.038,14420,6.038,14421,4.119,17279,7.647,17731,9.665,17786,4.347,17861,7.647,17863,4.347,17865,4.347,17869,4.119,17870,4.347,17876,4.347,18269,6.038,18270,8.21,19676,5.066,19677,5.83,19720,8.564,19721,4.119,19722,4.347,19723,4.347,19724,4.693,19725,7.176,19726,7.176,19727,7.176,19728,7.176,19729,8.07,19730,4.693,19731,7.176,19732,4.693,19733,7.176,19734,10.799,19735,4.693,19736,4.693,19737,4.693,19738,7.176,19739,4.693,19740,8.713,19741,7.176,19742,4.693,19743,4.119,19744,4.693,19745,4.693,19746,4.693,19747,4.693,19748,4.693,19749,4.693,19750,4.693,19751,4.693,19752,7.176,19753,4.693,19754,4.693,19755,7.176,19756,4.693,19757,4.693,19758,4.693,19759,4.693,19760,4.693,19761,4.693,19762,7.176,19763,4.693,19764,9.757,19765,6.647,19766,4.693,19767,4.693,19768,4.693,19769,4.693,19770,4.693,19771,4.693,19772,4.693,19773,4.693,19774,4.693,19775,4.693,19776,4.693,19777,4.693,19778,4.693]],["title/classes/SanisResponse.html",[0,0.241,19734,5.86]],["body/classes/SanisResponse.html",[0,0.42,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,30,0.001,32,0.167,47,0.811,95,0.147,101,0.011,103,0.001,104,0.001,112,0.865,125,2.059,190,2.178,195,1.899,200,2.645,299,4.318,871,4.47,1232,5.014,1373,5.264,2531,4.66,6317,6.398,6842,6.813,6847,6.55,7510,7.357,12632,7.786,19676,8.576,19686,8.006,19706,11.231,19707,11.231,19708,11.231,19709,8.006,19714,8.006,19715,8.006,19716,8.006,19720,7.586,19721,10.662,19734,9.281,19779,8.643,19780,12.148,19781,12.148,19782,8.643,19783,8.643,19784,8.643,19785,8.643,19786,8.643,19787,8.643]],["title/injectables/SanisResponseMapper.html",[589,0.926,18270,5.86]],["body/injectables/SanisResponseMapper.html",[0,0.17,3,0.009,4,0.021,5,0.004,7,0.069,8,0.85,27,0.471,29,0.895,30,0.001,31,0.694,32,0.149,33,0.536,35,1.295,47,0.362,95,0.131,100,1.717,101,0.006,103,0,104,0,112,0.584,125,2.876,127,3.73,129,1.458,130,1.332,135,1.688,142,4.751,148,1.258,153,1.737,228,0.884,277,0.704,290,2.128,400,1.444,433,0.605,589,0.989,591,1.168,595,1.867,652,2.514,700,2.383,701,2.383,704,4.581,711,2.599,829,2.91,871,1.812,1027,1.507,1065,5.56,1078,2.157,1422,1.971,2447,4.721,3282,3.311,3436,2.53,4866,6.768,5056,5.97,5223,3.138,7510,5.158,10075,8.791,10078,7.875,10083,9.744,10085,5.351,10088,4.143,10098,3.362,10105,7.335,10107,4.866,10477,3.611,10947,4.56,11257,7.335,11258,3.779,11442,5.005,11443,5.005,12870,4.143,12872,4.143,12874,4.143,13029,4.321,13033,8.724,13035,4.321,13967,5.713,14101,6.888,14366,6.893,14367,6.893,16081,4.56,17585,4.56,18270,6.262,19673,4.56,19677,8.724,19690,4.321,19691,4.321,19718,4.56,19734,11.337,19765,6.893,19788,12.361,19789,8.972,19790,7.442,19791,7.442,19792,7.442,19793,7.442,19794,7.442,19795,7.442,19796,4.924,19797,7.442,19798,4.924,19799,7.442,19800,7.442,19801,4.924,19802,7.442,19803,7.442,19804,4.924,19805,7.442,19806,4.924,19807,4.924,19808,4.924,19809,4.924,19810,4.924,19811,4.924,19812,4.924,19813,4.924,19814,4.924,19815,4.924,19816,4.924,19817,4.924,19818,4.924,19819,4.924,19820,4.924,19821,4.924,19822,4.924,19823,4.924,19824,4.924,19825,4.924,19826,4.924,19827,4.924,19828,4.924,19829,4.924,19830,4.924,19831,4.924,19832,4.924,19833,8.972,19834,4.924,19835,4.924,19836,4.56,19837,4.924,19838,4.924,19839,4.924,19840,4.924,19841,4.924,19842,7.442,19843,4.924,19844,4.924,19845,4.924,19846,4.924,19847,4.924,19848,4.924]],["title/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.241,13033,5.658]],["body/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.404,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.456,30,0.001,32,0.145,33,0.534,47,0.859,95,0.13,101,0.012,103,0.001,104,0.001,112,0.917,190,2.095,195,2.569,200,2.901,299,4.961,300,4.479,331,4.21,899,4.332,1065,4.667,2531,6.302,6317,6.78,13033,9.496,18530,6.692,19662,9.112,19665,7.976,19676,6.692,19682,8.781,19688,11.738,19689,11.738,19690,11.122,19691,11.122,19692,8.781,19694,8.781,19836,11.738]],["title/classes/SaveH5PEditorParams.html",[0,0.241,12635,5.221]],["body/classes/SaveH5PEditorParams.html",[0,0.461,2,0.8,3,0.014,4,0.014,5,0.007,7,0.106,26,2.052,27,0.296,30,0.001,32,0.094,47,0.979,95,0.148,99,1.528,101,0.017,103,0,104,0,112,0.794,131,5.17,158,3.738,190,1.359,200,2.32,202,1.741,205,1.545,296,3.736,298,3.293,299,4.464,300,3.88,326,4.339,478,2.124,855,5.281,856,7.251,886,3.852,899,3.465,1195,5.014,1198,6.872,1240,7.708,2164,3.517,3201,5.702,3933,3.591,4582,9.45,4585,8.752,6389,5.261,6567,7.454,6617,4.321,6663,8.307,6666,3.591,8091,6.914,11710,4.439,12589,6.62,12627,5.684,12628,5.977,12632,7.148,12633,5.684,12634,5.684,12635,7.59,12636,5.821,12637,5.977,12638,5.684,12639,5.977,19849,7.582]],["title/interfaces/ScanResult.html",[159,0.712,1290,4.494]],["body/interfaces/ScanResult.html",[3,0.017,4,0.017,5,0.008,7,0.131,30,0.001,32,0.156,33,0.631,47,1.069,55,1.912,101,0.016,103,0.001,104,0.001,112,0.914,122,2.813,159,1.293,161,2.248,1080,4.578,1260,7.665,1268,7.174,1270,9.468,1272,7.338,1274,7.62,1283,6.661,1287,8.281,1288,7.939,1289,7.665,1290,7.521,1291,8.754,1292,8.754]],["title/classes/ScanResultDto.html",[0,0.241,11943,5.86]],["body/classes/ScanResultDto.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.498,29,0.738,30,0.001,31,0.543,32,0.158,33,0.441,47,0.869,95,0.108,101,0.012,103,0.001,104,0.001,112,0.928,205,1.969,232,3.2,402,4.597,433,1.187,435,3.319,2127,5.656,2128,6.597,7206,8.726,7218,6.34,11849,8.726,11852,7.243,11853,7.243,11943,11.494,19850,13.317,19851,9.662,19852,11.826,19853,9.662]],["title/classes/ScanResultParams.html",[0,0.241,7279,4.684]],["body/classes/ScanResultParams.html",[0,0.472,2,0.666,3,0.012,4,0.017,5,0.008,7,0.088,26,2.498,27,0.403,30,0.001,32,0.157,33,0.563,39,1.751,47,1.017,95,0.141,99,1.271,101,0.017,103,0,104,0,110,2.193,112,0.7,122,2.146,157,1.46,159,0.645,190,1.856,195,1.386,199,4.921,200,1.93,201,4.375,202,1.448,203,6,205,1.285,296,3.696,298,2.739,299,4.827,300,4.313,403,3.221,855,4.992,856,6.257,886,3.278,899,2.883,1078,2.764,1080,3.589,1169,3.659,1237,2.584,1290,6.681,1291,6.862,1292,6.862,3011,4.731,3201,4.851,3933,2.987,4588,2.161,5260,6.519,6666,2.987,6847,6.403,7210,6.36,7212,4.124,7213,7.663,7218,5.358,7232,7.46,7262,4.377,7263,4.453,7264,4.453,7269,4.377,7270,8.172,7271,7.945,7272,7.945,7273,4.453,7274,4.377,7275,4.377,7276,4.453,7277,4.307,7278,6.092,7279,6,7280,4.307,7281,4.377,7282,4.307,7283,4.071,7284,4.453,7285,4.453,7286,4.453,7287,4.071,7288,4.071,7289,4.181,7290,4.307,7291,4.453,19854,10.353,19855,6.308,19856,6.308,19857,6.308]],["title/controllers/SchoolController.html",[314,2.65,15325,6.113]],["body/controllers/SchoolController.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,27,0.344,29,0.674,30,0.001,31,0.496,32,0.127,33,0.403,35,1.012,36,2.362,95,0.141,100,2.166,101,0.008,103,0,104,0,130,3.024,135,1.454,148,0.867,157,2.587,190,1.582,202,1.426,228,1.115,274,2.585,277,0.888,314,2.363,316,2.989,317,2.654,325,6.248,326,4.668,349,6.402,379,6.223,388,4.399,390,6.009,392,3.233,395,3.324,398,3.348,400,1.821,533,4.69,540,4.509,657,2.018,703,3.149,711,3.553,1883,2.331,2615,5.85,2617,8.026,2918,4.987,3036,2.91,3240,3.191,3242,3.399,3430,5.697,4049,7.89,4064,4.655,4065,3.782,4077,5.266,4086,5.374,4866,6.264,5146,6.774,5655,7.745,7211,4.008,15321,8.636,15325,7.745,18296,7.246,18299,9.809,18395,7.381,18397,7.381,19858,6.21,19859,8.636,19860,10.264,19861,6.21,19862,11.074,19863,8.824,19864,8.824,19865,5.752,19866,8.824,19867,6.21,19868,6.21,19869,8.824,19870,6.21,19871,6.21,19872,6.21,19873,7.425,19874,9.009,19875,6.614,19876,8.339,19877,9.507,19878,7.745,19879,5.225,19880,5.451,19881,6.21,19882,6.21,19883,6.21,19884,8.824,19885,8.824,19886,6.21,19887,7.745,19888,8.174,19889,8.824,19890,6.21]],["title/entities/SchoolEntity.html",[205,1.419,692,3.247]],["body/entities/SchoolEntity.html",[0,0.294,3,0.008,4,0.008,5,0.004,7,0.118,27,0.502,30,0.001,31,0.537,32,0.155,33,0.615,47,0.947,83,2.493,95,0.127,96,1.178,101,0.013,102,2.399,103,0,104,0,112,0.667,122,2.142,125,2.026,129,2.062,130,1.885,142,1.634,153,1.546,159,0.462,180,1.935,185,2.386,190,2.309,195,3.047,196,4.402,197,2.672,205,1.419,206,1.473,211,6.021,223,4.015,224,1.308,226,2.053,229,1.78,231,0.779,232,1.221,233,1.399,316,3.352,540,2.311,692,3.247,704,5.274,789,2.471,886,1.429,1082,3.187,1821,2.138,1826,4.37,2070,2.434,2184,1.787,2482,4.755,2712,4.314,2942,5.711,2946,5.117,2950,3.872,2951,5.49,3431,4.494,3432,4.004,4648,3.082,4654,3.676,4664,2.033,4714,6.429,4731,3.465,4732,5.49,4984,6.873,5210,4.552,5215,6.484,5727,3.964,6206,4.004,6238,4.554,7211,2.913,7501,7.168,7509,6.429,7516,4.181,7567,4.335,7586,5.346,7587,3.384,7778,4.683,7895,2.721,7896,4.335,10107,6.25,10112,3.384,10113,5.658,10134,3.384,11509,7.235,12561,6.946,13714,5.49,15077,6.238,15078,4.683,15079,3.311,15105,3.246,15156,3.311,15157,5.487,15253,6.527,15329,7.339,15330,7.012,15335,6.874,15347,3.667,15349,3.465,15351,3.384,15364,3.667,15402,8.182,19891,3.798,19892,5.86,19893,4.514,19894,4.514,19895,4.514,19896,4.514,19897,4.514,19898,4.514,19899,4.514,19900,7.767,19901,4.514,19902,4.514,19903,4.181,19904,5.86,19905,4.514,19906,5.86,19907,4.514,19908,4.514,19909,4.181,19910,5.86,19911,4.514,19912,3.667,19913,3.667,19914,3.798,19915,3.798,19916,3.798,19917,5.86,19918,3.798,19919,3.798,19920,3.798,19921,3.798,19922,3.798,19923,3.798,19924,3.798,19925,3.798,19926,5.658,19927,6.909,19928,3.798,19929,3.798,19930,5.49,19931,3.798,19932,5.86,19933,3.798,19934,3.798,19935,5.86,19936,3.798,19937,3.798]],["title/classes/SchoolExternalTool.html",[0,0.241,2005,3.702]],["body/classes/SchoolExternalTool.html",[0,0.246,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,8,1.107,27,0.527,29,0.946,30,0.001,31,0.696,32,0.165,33,0.598,34,1.885,35,0.814,47,1.014,55,2.512,95,0.132,101,0.012,103,0,104,0,112,0.76,148,0.698,159,0.726,231,1.671,232,2.621,402,4.26,433,0.872,435,2.439,436,2.097,614,4.441,837,3.516,1237,2.806,1852,6.999,2005,5.148,2127,4.156,2128,4.848,2184,2.81,2791,7.85,4588,4.057,4664,3.198,4665,4.156,4666,5.208,6099,7.813,6684,5.597,6688,9.092,6696,5.208,6698,5.597,6699,4.471,6700,5.105,6701,5.45,6708,4.774,6709,5.208,6710,6.965,6711,5.322,8292,7.912,10148,6.576,10151,8.972,10447,6.532,10640,5.208,10641,5.597,19938,11.372,19939,9.965,19940,7.1,19941,7.1,19942,7.1,19943,9.336,19944,7.1,19945,7.1]],["title/classes/SchoolExternalToolConfigurationStatus.html",[0,0.241,19943,5.49]],["body/classes/SchoolExternalToolConfigurationStatus.html",[0,0.34,2,1.037,3,0.018,4,0.018,5,0.009,7,0.137,27,0.466,29,0.75,30,0.001,31,0.552,32,0.148,33,0.449,101,0.013,103,0.001,104,0.001,112,0.937,122,2.477,232,3.233,433,1.207,435,3.376,614,4.327,2219,5.772,2698,4.177,6107,9.089,6719,9.103,6721,11.068,6722,7.984,6723,8.269,8292,7.537,19943,10.821,19946,12.875]],["title/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.241,19947,5.86]],["body/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.314,2,0.958,3,0.017,4,0.017,5,0.008,7,0.126,27,0.443,29,0.693,30,0.001,31,0.51,32,0.154,33,0.415,95,0.101,101,0.012,103,0.001,104,0.001,112,0.892,122,2.7,157,2.633,190,1.626,194,4.469,202,2.083,232,3.078,296,2.976,417,6.374,433,1.115,435,3.117,614,4.243,703,3.489,866,4.519,2698,4.352,2776,5.632,6107,8.77,6288,4.623,6571,7.648,6722,7.371,6723,7.634,6729,9.24,6730,8.525,6731,9.982,8292,7.273,19947,11.287,19948,9.537,19949,9.073,19950,11.374]],["title/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.241,19951,5.86]],["body/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,27,0.451,29,0.712,30,0.001,31,0.524,32,0.156,33,0.426,95,0.129,101,0.012,103,0.001,104,0.001,112,0.908,125,2.221,190,1.672,202,2.141,296,3.027,339,3.965,433,1.146,614,4.077,703,2.861,861,6.471,864,6.652,866,4.645,881,5.104,1167,7.744,2219,5.896,2696,5.72,2698,4.268,6736,8.882,6737,8.638,19951,9.735,19952,11.652,19953,11.351]],["title/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.241,19953,5.658]],["body/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.269,2,0.821,3,0.014,4,0.014,5,0.007,7,0.108,26,2.339,27,0.512,29,0.938,30,0.001,31,0.69,32,0.166,33,0.527,47,0.903,55,2.086,95,0.129,99,1.566,101,0.01,103,0,104,0,112,0.808,125,1.852,190,2.291,201,4.487,202,1.785,296,3.56,433,0.955,614,4.154,866,3.872,1220,4.469,2184,3.077,2219,6.099,2696,6.093,2698,4.347,5752,5.97,6708,5.227,6738,7.2,6739,8.148,6740,6.636,6742,9.536,6744,7.2,6745,7.2,6746,7.2,6747,9.686,6748,9.536,6749,7.2,6750,6.822,6751,6.54,6752,7.2,6755,7.2,6756,5.152,6757,7.2,6758,7.2,6759,5.827,6760,7.2,19952,12.411,19953,10.385]],["title/entities/SchoolExternalToolEntity.html",[205,1.419,6788,5.109]],["body/entities/SchoolExternalToolEntity.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,27,0.477,30,0.001,32,0.152,55,2.33,95,0.142,96,2.014,101,0.013,103,0,104,0,112,0.803,159,0.789,190,2.196,195,2.692,205,2.087,206,2.517,223,3.583,224,2.234,225,3.925,229,3.042,231,1.331,232,2.087,233,2.391,614,4.369,692,5.944,703,3.912,1835,5.263,2698,3.975,4648,5.267,4654,5.406,4655,4.323,5727,5.711,6099,7.31,6710,5.546,6711,5.782,6780,6.267,6786,9.788,6788,7.513,6791,6.49,6792,4.748,6794,4.698,7573,4.748,7574,4.603,7778,5.187,8292,7.464,9934,5.267,10359,8.809,10364,7.145,10366,7.145,10367,7.145,10373,7.145,13962,8.321,19954,11.81,19955,10.752,19956,8.989,19957,7.145,19958,7.145,19959,7.145,19960,7.145]],["title/classes/SchoolExternalToolFactory.html",[0,0.241,19961,6.451]],["body/classes/SchoolExternalToolFactory.html",[0,0.169,2,0.515,3,0.009,4,0.009,5,0.004,7,0.068,8,0.844,27,0.516,29,1.027,30,0.001,31,0.743,32,0.168,33,0.583,34,1.263,35,1.414,47,0.786,55,2.369,59,3.323,95,0.119,101,0.006,103,0,104,0,112,0.579,113,4.471,127,4.987,129,3.565,130,3.401,135,0.961,148,0.726,153,0.789,157,2.065,172,3.153,185,2.53,192,2.689,205,1.818,206,2.41,228,1.327,231,1.275,326,4.86,374,3.208,402,1.754,433,0.599,436,3.869,467,2.15,501,7.114,502,5.532,505,4.107,506,5.532,507,5.347,508,4.107,509,4.107,510,4.107,511,4.043,512,4.554,513,4.958,514,6.696,515,5.852,516,7.031,517,2.733,522,2.711,523,4.107,524,2.733,525,5.216,526,5.365,527,4.229,528,5.048,529,4.075,530,2.711,531,2.556,532,4.127,533,2.591,534,2.556,535,2.711,536,2.733,537,4.882,538,2.711,539,7.197,540,3.994,541,6.693,542,2.733,543,3.595,544,2.711,545,2.733,546,2.711,547,2.733,548,2.711,551,2.711,552,6.158,553,2.733,554,2.711,555,4.107,556,3.748,557,4.107,558,2.733,559,2.629,560,2.591,561,2.196,562,2.711,563,2.711,564,2.711,565,2.733,566,2.733,567,1.818,568,2.711,569,1.515,570,2.733,571,2.924,572,2.711,573,2.733,575,2.803,576,2.881,577,2.909,614,3.085,703,1.496,756,1.944,2005,2.591,2008,2.429,2219,2.186,2698,1.582,2791,4.897,4588,3.408,4696,6.296,4698,3.506,6099,2.909,6803,3.961,6808,3.843,6889,3.506,10447,4.075,19939,4.102,19961,8.261,19962,7.388,19963,7.388,19964,7.388,19965,4.876,19966,4.876,19967,4.876,19968,4.876,19969,4.876,19970,4.876]],["title/classes/SchoolExternalToolIdParams.html",[0,0.241,19971,5.49]],["body/classes/SchoolExternalToolIdParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,47,0.882,95,0.134,101,0.013,103,0.001,104,0.001,112,0.942,190,1.775,194,4.716,195,2.638,196,3.285,197,3.355,200,3.03,202,2.273,296,3.14,307,7.262,614,4.163,855,4.86,2698,3.894,6741,9.288,6812,8.33,6813,8.69,8292,7.026,19948,9.214,19971,9.462]],["title/classes/SchoolExternalToolIdParams-1.html",[0,0.2,756,2.309,19971,4.564]],["body/classes/SchoolExternalToolIdParams-1.html",[0,0.418,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,26,2.631,27,0.391,30,0.001,32,0.124,95,0.145,99,2.02,101,0.013,103,0.001,104,0.001,112,0.949,190,1.797,200,3.068,202,2.302,296,3.164,307,7.353,614,3.749,855,4.897,2696,5.499,2698,3.924,6741,9.338,6815,7.208,6816,8.144,19971,9.533,19972,11.201]],["title/classes/SchoolExternalToolMetadata.html",[0,0.241,19973,5.49]],["body/classes/SchoolExternalToolMetadata.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.463,29,0.743,30,0.001,31,0.547,32,0.147,33,0.445,95,0.108,101,0.012,103,0.001,104,0.001,112,0.932,183,3.717,433,1.196,614,4.371,1078,5.204,2698,4.16,6783,7.295,6792,5.991,8292,7.505,10502,9.015,10503,9.61,10507,11.002,10510,8.189,19938,10.787,19973,10.977,19974,11.878,19975,9.015]],["title/classes/SchoolExternalToolMetadataMapper.html",[0,0.241,19976,6.113]],["body/classes/SchoolExternalToolMetadataMapper.html",[0,0.325,2,0.991,3,0.017,4,0.017,5,0.008,7,0.131,8,1.328,27,0.366,29,0.717,30,0.001,31,0.528,32,0.116,33,0.429,35,1.077,95,0.141,101,0.012,103,0.001,104,0.001,135,1.222,148,0.923,153,1.879,467,3.673,614,4.088,837,4.65,1883,3.525,2698,3.77,6772,9.16,8292,6.803,10503,7.039,10514,8.699,10517,8.699,10518,9.441,10519,7.63,19973,10.883,19975,8.699,19976,10.199,19977,9.777,19978,12.619,19979,9.391,19980,11.401]],["title/classes/SchoolExternalToolMetadataResponse.html",[0,0.241,19980,5.86]],["body/classes/SchoolExternalToolMetadataResponse.html",[0,0.331,2,1.01,3,0.018,4,0.018,5,0.009,7,0.133,27,0.458,29,0.731,30,0.001,31,0.538,32,0.145,33,0.437,95,0.131,101,0.012,103,0.001,104,0.001,112,0.922,190,1.715,202,2.197,296,3.33,433,1.176,614,4.299,2698,4.129,6772,10.032,7848,8.052,8292,7.45,10503,9.539,10510,8.052,10519,7.775,10523,10.89,19948,9.769,19980,11.669,19981,11.757,19982,9.57]],["title/injectables/SchoolExternalToolMetadataService.html",[589,0.926,19983,5.86]],["body/injectables/SchoolExternalToolMetadataService.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,8,1.195,26,2.513,27,0.408,29,0.798,30,0.001,31,0.587,32,0.144,33,0.478,35,0.913,36,1.682,55,1.613,95,0.15,99,1.603,101,0.01,103,0,104,0,135,1.614,145,3.925,148,0.782,153,1.287,158,2.938,183,3.039,228,1.429,277,1.138,279,3.299,317,2.526,400,2.333,433,0.978,589,1.39,591,1.888,614,4.178,657,2.391,980,4.389,1078,3.487,1883,2.987,2035,5.767,2036,3.918,2698,3.789,4174,7.031,5495,4.703,6080,9.296,6741,7.518,6783,7.837,6792,4.899,6898,9.177,6921,6.696,6922,6.696,6980,6.696,8292,6.836,10503,5.965,10527,7.371,10529,9.685,10534,6.465,10535,6.985,10539,7.371,10540,7.371,10541,9.685,10543,7.371,19973,10.154,19983,8.797,19984,10.249,19985,7.958,19986,7.958,19987,10.456,19988,7.958,19989,7.958]],["title/modules/SchoolExternalToolModule.html",[252,1.839,6822,5.658]],["body/modules/SchoolExternalToolModule.html",[0,0.284,3,0.015,4,0.015,5,0.007,30,0.001,95,0.145,101,0.011,103,0.001,104,0.001,252,3.131,254,2.956,255,3.139,256,3.218,257,3.206,258,3.195,259,4.308,260,4.408,269,4.181,270,3.161,271,3.096,276,4.181,277,1.175,610,3.241,614,3.677,2698,3.464,5776,4.811,6072,9.998,6082,6.677,6821,10.515,6822,11.847,6823,9.998,6830,6.309,7045,9.429,8292,4.811,19983,11.969,19990,8.219,19991,8.219,19992,8.219,19993,8.219,19994,11.214,19995,8.219]],["title/classes/SchoolExternalToolPostParams.html",[0,0.241,19996,5.86]],["body/classes/SchoolExternalToolPostParams.html",[0,0.41,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.489,29,0.904,30,0.001,32,0.168,33,0.487,47,0.921,55,2.158,95,0.14,101,0.01,103,0.001,104,0.001,112,0.835,190,2.247,195,1.799,200,2.505,201,4.139,202,1.879,296,3.28,299,4.635,300,4.081,417,4.587,614,4.349,855,4.793,1220,4.706,1232,4.748,2531,4.413,2698,4.217,3791,7.518,4588,4.055,5752,6.122,6317,6.177,6833,7.582,6839,9.978,6840,6.887,6841,6.887,6842,6.452,6844,7.582,6845,7.582,6847,5.742,8292,7.609,10447,6.529,19948,9.978,19996,8.961,19997,8.185,19998,9.864,19999,8.185,20000,8.185,20001,8.185]],["title/interfaces/SchoolExternalToolProperties.html",[159,0.712,19956,6.113]],["body/interfaces/SchoolExternalToolProperties.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,32,0.155,33,0.487,55,2.54,95,0.145,96,2.137,101,0.014,103,0.001,104,0.001,112,0.835,159,0.837,161,1.95,195,2.34,205,2.17,223,3.319,224,2.371,225,4.081,229,3.228,231,1.412,232,2.215,233,2.537,614,3.887,692,6.212,703,4.088,1835,4.206,2698,4.217,4654,5.621,4655,4.587,5727,5.519,6099,7.756,6710,5.886,6711,6.135,6780,6.65,6786,10.228,6788,6.004,6791,6.887,6792,5.039,6794,4.985,7573,5.039,7574,4.884,8292,4.792,9934,5.589,10359,9.346,13962,6.65,19954,7.582,19955,11.408,19956,10.39,19957,7.582,19958,7.582,19959,7.582,19960,7.582]],["title/interfaces/SchoolExternalToolProps.html",[159,0.712,19939,5.86]],["body/interfaces/SchoolExternalToolProps.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,29,0.983,30,0.001,31,0.723,32,0.167,33,0.604,34,2.119,47,1.055,55,2.608,95,0.138,101,0.013,103,0,104,0,112,0.819,148,0.781,159,0.812,161,1.892,231,1.37,232,2.149,402,4.631,614,3.237,837,3.933,1237,2.301,1852,6.171,2005,4.221,2127,4.649,2128,5.423,2184,3.144,2791,8.532,4588,4.409,4664,3.577,4665,4.649,4666,5.826,6099,8.038,6684,6.261,6688,6.097,6698,6.261,6699,5.001,6700,5.711,6701,6.097,6708,5.341,6709,5.826,6710,7.508,6711,5.953,8292,4.649,10447,7.1,10640,5.826,10641,6.261,19938,6.683,19939,9.816,19943,10.148]],["title/classes/SchoolExternalToolRefDO.html",[0,0.241,6694,5.658]],["body/classes/SchoolExternalToolRefDO.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,27,0.493,29,0.722,30,0.001,31,0.531,32,0.157,33,0.578,47,0.971,101,0.012,103,0.001,104,0.001,112,0.916,232,3.158,433,1.162,435,3.249,614,4.388,2698,4.289,4588,4.336,4665,5.536,4666,6.937,6694,11.031,6807,9.285,6958,8.76,8292,7.738,19938,11.122,20002,9.458,20003,11.671,20004,9.458,20005,9.458]],["title/injectables/SchoolExternalToolRepo.html",[589,0.926,1913,5.109]],["body/injectables/SchoolExternalToolRepo.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.058,8,0.747,10,2.628,12,2.959,18,3.277,26,2.139,27,0.514,29,1.006,30,0.001,31,0.734,32,0.162,33,0.597,34,1.381,35,1.484,36,2.735,40,2.015,47,0.864,95,0.139,96,1.707,97,1.679,101,0.005,103,0,104,0,112,0.327,113,1.654,135,1.597,148,1.183,153,1.058,185,2.24,205,1.646,206,2.635,224,1.206,228,1.174,231,1.128,317,2.967,365,2.904,433,0.511,436,3.555,478,1.166,569,1.294,589,0.869,591,0.988,614,3.921,652,2.392,657,1.847,692,1.941,703,2.478,729,4.465,735,2.959,736,4.896,766,2.228,787,6.2,1027,1.274,1770,4.42,1913,4.797,2005,6.805,2008,2.074,2140,2.373,2437,8.777,2439,4.702,2440,4.616,2441,4.616,2442,4.702,2443,4.702,2444,4.616,2445,2.993,2446,4.971,2447,3.825,2448,4.288,2450,4.702,2451,2.993,2453,2.993,2455,6.902,2456,4.465,2457,2.993,2460,4.702,2462,2.889,2463,7.452,2464,4.616,2465,3.864,2467,2.993,2468,4.702,2470,2.993,2472,2.509,2473,2.591,2474,2.799,2476,2.993,2484,2.889,2517,6.054,2698,2.62,2776,2.061,2938,3.759,4588,2.766,4768,2.509,4798,5.701,4981,3.054,5138,3.5,6099,3.902,6288,3.283,6788,9,6792,4.026,6850,3.654,6851,6.057,6858,6.057,6867,5.502,6868,3.654,6878,3.054,6879,3.054,6880,3.054,6881,3.054,6882,3.054,6883,3.054,6884,3.054,6888,2.993,6889,5.807,6890,3.382,6891,3.654,6892,3.196,6893,3.856,6894,3.856,6895,2.842,6897,5.739,6906,3.856,6912,3.856,6919,3.856,6920,3.856,8311,2.621,10359,2.993,10447,5.486,10708,3.856,10713,3.856,10718,3.196,10719,3.856,16165,3.503,19955,3.654,20006,10.592,20007,6.539,20008,6.539,20009,6.057,20010,10.227,20011,4.163,20012,9.266,20013,6.539,20014,4.163,20015,4.163,20016,6.539,20017,6.057,20018,4.163,20019,4.163,20020,4.163,20021,4.163,20022,4.163,20023,4.163,20024,3.282,20025,4.163,20026,3.654,20027,3.654,20028,4.163,20029,4.163]],["title/injectables/SchoolExternalToolRequestMapper.html",[589,0.926,20030,5.86]],["body/injectables/SchoolExternalToolRequestMapper.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,27,0.423,29,0.916,30,0.001,31,0.674,32,0.134,33,0.496,35,1.244,95,0.141,101,0.011,103,0.001,104,0.001,125,2.007,130,2.28,148,1.18,193,3.675,277,1.205,589,1.442,591,1.999,614,4.235,652,2.441,837,4.172,2698,3.894,2791,7.956,4588,2.886,6099,5.028,6699,5.305,6839,10.069,6888,6.059,6926,6.642,6928,10.535,6932,7.395,6934,9.13,6941,7.804,6942,7.395,6943,7.089,6944,7.395,8292,7.026,9468,7.804,10447,4.647,19977,10.099,19996,10.665,20030,9.13,20031,10.851,20032,10.851,20033,8.426,20034,10.535,20035,7.395,20036,8.426,20037,8.426,20038,8.426]],["title/classes/SchoolExternalToolResponse.html",[0,0.241,20039,5.658]],["body/classes/SchoolExternalToolResponse.html",[0,0.241,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,27,0.524,29,0.896,30,0.001,31,0.659,32,0.17,33,0.498,34,1.865,47,1.001,55,1.935,95,0.122,101,0.009,103,0,104,0,112,0.749,125,1.656,190,2.377,201,4.239,202,1.596,296,3.652,402,3.923,417,3.896,433,0.854,458,2.773,614,4.47,703,2.133,866,4.756,871,2.558,1220,3.997,2127,4.07,2184,2.752,2698,2.256,4588,3.735,4665,4.07,6099,6.508,6708,4.675,6710,4.999,6740,6.269,6756,4.608,6946,6.102,6947,7.33,6948,8.844,6949,6.44,6950,6.44,6951,6.44,6952,6.44,6953,9.255,6954,6.44,6955,6.44,6956,6.44,6957,5.337,6963,6.102,6964,6.44,6965,6.102,8292,7.97,10447,6.015,10640,5.1,10933,6.102,18432,6.44,19947,10.353,19948,10.451,20039,9.997,20040,6.952,20041,6.44,20042,6.952,20043,6.952]],["title/injectables/SchoolExternalToolResponseMapper.html",[589,0.926,20044,5.86]],["body/injectables/SchoolExternalToolResponseMapper.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.105,8,1.15,27,0.442,29,0.925,30,0.001,31,0.71,32,0.14,33,0.518,34,1.284,35,1.301,95,0.141,101,0.01,103,0,104,0,130,2.033,135,0.977,148,1.115,153,1.627,197,2.099,277,1.074,402,3.62,589,1.338,591,1.782,614,4.239,652,2.308,703,2.305,829,4.439,837,3.72,1883,2.82,2005,7.268,2062,6.593,2698,4.1,2791,8.622,4029,5.129,4588,2.573,6099,4.482,6107,5.303,6179,6.102,6183,6.593,6699,4.73,6953,9.555,8292,7.095,10203,6.102,10229,6.102,10233,6.593,10447,4.143,10753,6.958,10814,6.958,10815,6.958,12994,6.958,13148,5.51,16004,6.958,19977,10.198,20039,9.847,20044,8.467,20045,10.063,20046,10.063,20047,10.063,20048,10.063,20049,7.512,20050,10.063,20051,10.063,20052,9.547,20053,6.593,20054,7.512,20055,7.512,20056,7.512,20057,7.512,20058,7.512,20059,7.512,20060,7.512,20061,7.512]],["title/injectables/SchoolExternalToolRule.html",[589,0.926,1874,5.86]],["body/injectables/SchoolExternalToolRule.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,27,0.438,29,0.857,30,0.001,31,0.631,32,0.149,33,0.513,35,1.138,95,0.144,101,0.009,103,0,104,0,122,2.681,135,0.958,148,0.976,183,4.289,205,2.775,228,1.322,277,1.053,290,3.265,400,2.158,433,0.904,478,2.062,589,1.319,591,1.746,614,4.009,653,4.619,711,3.746,1237,2.132,1775,6.579,1801,7.96,1838,7.966,1874,8.351,1982,4.69,1986,6.11,1993,6.489,2005,7.143,2008,3.666,2619,6.326,3711,4.878,3714,6.405,3716,4.878,3717,6.579,3718,7.137,6788,9.989,6792,4.531,6889,7.137,6999,6.817,7000,6.817,7001,6.817,7002,6.817,7003,7.007,20024,5.802,20062,11.135,20063,6.817]],["title/classes/SchoolExternalToolScope.html",[0,0.241,20012,6.113]],["body/classes/SchoolExternalToolScope.html",[0,0.26,2,0.793,3,0.014,4,0.014,5,0.007,7,0.105,8,1.15,26,2.692,27,0.518,29,0.925,30,0.001,31,0.681,32,0.164,33,0.554,35,1.154,95,0.126,99,1.513,101,0.01,103,0,104,0,112,0.789,122,2.352,125,3.216,129,2.224,130,2.033,148,0.989,231,1.736,365,3.336,436,3.733,569,2.335,614,3.757,652,2.646,703,2.305,2479,6.706,2698,2.437,4588,3.887,6288,5.559,6788,5.51,6792,4.624,6889,5.401,7006,6.593,7007,6.67,7008,6.67,7009,6.67,7014,6.67,7015,6.67,7016,5.051,7017,4.979,7018,5.051,7019,5.051,7028,4.979,7029,6.67,7030,5.051,7031,4.979,7032,5.051,7033,4.979,7034,6.67,10447,6.259,10986,6.958,12026,8.832,12037,8.832,18436,9.321,18439,9.321,20006,10.51,20012,8.832,20064,7.512,20065,7.512]],["title/classes/SchoolExternalToolSearchListResponse.html",[0,0.241,20052,5.86]],["body/classes/SchoolExternalToolSearchListResponse.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.452,29,0.715,30,0.001,31,0.526,32,0.156,33,0.428,95,0.129,101,0.012,103,0.001,104,0.001,112,0.91,125,2.232,190,1.679,202,2.151,296,3.036,339,3.971,433,1.151,614,4.336,703,2.875,860,8.899,861,6.501,864,6.671,866,4.667,881,5.128,2698,4.09,6736,8.907,7036,8.223,8292,7.379,19948,9.677,20039,11.363,20052,9.763]],["title/classes/SchoolExternalToolSearchParams.html",[0,0.241,20066,6.113]],["body/classes/SchoolExternalToolSearchParams.html",[0,0.419,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.392,30,0.001,32,0.124,47,0.89,95,0.135,101,0.013,103,0.001,104,0.001,112,0.95,190,1.801,200,3.075,202,2.307,296,3.169,299,4.742,614,4.184,855,4.904,2698,3.929,4588,4.453,8292,7.09,10990,8.82,10993,8.82,19948,9.297,19998,9.308,20066,10.63]],["title/injectables/SchoolExternalToolService.html",[589,0.926,7045,4.616]],["body/injectables/SchoolExternalToolService.html",[0,0.176,3,0.009,4,0.009,5,0.005,7,0.071,8,0.872,12,3.455,26,2.318,27,0.475,29,0.931,30,0.001,31,0.701,32,0.151,33,0.557,35,1.36,36,2.819,95,0.142,99,1.026,101,0.007,103,0,104,0,135,1.488,148,1.166,153,1.234,195,1.119,197,1.423,228,1.827,277,0.728,279,2.111,317,2.998,365,2.262,402,3.919,433,0.938,589,1.015,591,1.208,614,4.331,629,2.687,652,2.687,657,2.906,688,2.374,703,1.562,837,2.522,980,2.809,1328,2.706,1329,3.101,1883,1.911,1913,8.391,2005,7.501,2008,2.537,2088,2.183,2698,3.848,2776,6.292,4588,1.744,6088,4.137,6097,4.717,6107,3.595,6741,5.489,6794,3.101,6829,4.137,6888,3.662,7044,7.302,7045,5.06,7052,4.717,7062,3.17,8292,7.303,10197,7.461,10199,7.461,10208,6.464,10218,4.014,10306,4.469,10589,3.909,10964,4.469,19943,8.018,19984,10.95,19994,9.35,20010,9.421,20035,4.469,20067,7.633,20068,9.157,20069,7.633,20070,7.633,20071,7.07,20072,7.633,20073,5.092,20074,5.092,20075,5.092,20076,5.092,20077,5.092,20078,7.633,20079,7.633,20080,5.092,20081,7.633,20082,5.092,20083,7.633,20084,5.092,20085,7.633,20086,5.092,20087,5.092,20088,5.092,20089,4.717,20090,5.092,20091,7.633,20092,5.092,20093,5.092,20094,5.092,20095,4.469,20096,5.092,20097,4.284,20098,5.092,20099,8.481,20100,5.092,20101,5.092]],["title/injectables/SchoolExternalToolUc.html",[589,0.926,20102,5.86]],["body/injectables/SchoolExternalToolUc.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.062,8,0.788,26,2.864,27,0.456,29,0.893,30,0.001,31,0.657,32,0.145,33,0.535,34,0.762,35,1.299,36,2.746,39,3.467,47,0.62,95,0.134,99,0.898,101,0.006,103,0,104,0,131,3.522,135,1.707,148,1.01,153,1.365,183,5.094,228,1.845,277,0.638,317,2.956,360,2.563,365,3.748,433,0.848,589,0.917,591,1.058,595,1.691,610,1.758,614,4.214,652,2.38,657,3.051,693,3.137,980,3.805,1775,6.716,1780,2.688,1883,1.674,2005,7.409,2680,2.048,2698,2.238,3319,2.541,4588,1.527,6741,9.343,6794,6.898,6824,7.405,6888,3.206,7045,7.199,7062,2.775,7083,3.913,7090,8.49,7104,3.515,8292,7.031,10252,7.406,10262,3.913,10282,3.423,10283,10.061,10284,4.13,10302,7.406,10303,10.061,10306,3.913,11134,6.39,19973,5.438,19983,9.53,19994,8.928,20034,11.618,20071,6.39,20089,6.39,20099,6.39,20102,5.805,20103,12.011,20104,7.816,20105,6.39,20106,8.438,20107,6.39,20108,7.816,20109,4.13,20110,4.459,20111,4.459,20112,4.459,20113,6.899,20114,4.459,20115,4.459,20116,6.899,20117,9.498,20118,4.459,20119,4.459,20120,4.459,20121,6.899,20122,4.459,20123,4.459,20124,4.459,20125,4.459,20126,6.39,20127,4.459,20128,4.459,20129,4.459,20130,4.459,20131,4.459]],["title/injectables/SchoolExternalToolValidationService.html",[589,0.926,19994,5.49]],["body/injectables/SchoolExternalToolValidationService.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.103,8,1.136,27,0.438,29,0.858,30,0.001,31,0.631,32,0.139,33,0.514,35,1.14,36,2.1,55,2.622,95,0.147,101,0.009,103,0,104,0,135,0.959,153,1.192,228,2.019,277,1.054,317,2.432,329,4.491,338,6.118,393,3.651,415,4.202,433,1.221,569,3.089,579,2.105,589,1.321,591,1.749,614,4.268,652,2.632,657,1.686,688,3.438,1213,6.333,1883,2.768,2005,7.028,2008,3.673,2088,3.16,2698,4.075,2776,5.567,5752,5.14,6079,10.424,6116,5.813,6130,6.472,7044,7.964,7062,4.59,7067,5.66,7078,5.302,7137,6.83,8292,7.042,10197,8.824,10199,8.824,10218,5.813,10257,5.813,10566,6.472,19984,10.558,19994,7.834,20095,6.472,20132,9.938,20133,9.938,20134,12.559,20135,7.374,20136,11.241,20137,9.938,20138,7.374,20139,7.374,20140,7.374,20141,7.374]],["title/classes/SchoolForGroupNotFoundLoggable.html",[0,0.241,17767,6.113]],["body/classes/SchoolForGroupNotFoundLoggable.html",[0,0.31,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,8,1.289,27,0.44,29,0.683,30,0.001,31,0.503,32,0.111,33,0.409,35,1.027,95,0.126,100,3.122,101,0.011,103,0.001,104,0.001,148,0.88,228,2.025,339,2.625,347,4.6,400,2.625,433,1.1,652,1.821,703,3.977,1027,2.739,1065,6.715,1115,3.407,1237,3.267,1422,4.943,1423,5.756,1426,5.757,1468,5.756,1469,6.044,3364,6.437,10075,9.716,10105,9.508,12971,7.857,17767,9.898,20142,12.347,20143,8.291,20144,8.291,20145,8.291,20146,8.291,20147,7.857,20148,8.952,20149,8.952,20150,8.952,20151,8.291]],["title/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.241,20152,6.451]],["body/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.292,2,0.889,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,26,2.568,27,0.423,29,0.643,30,0.001,31,0.473,32,0.104,33,0.385,34,2.296,35,0.966,47,0.987,59,2.619,95,0.121,99,1.698,101,0.011,103,0.001,104,0.001,148,0.828,228,2.155,290,3.112,339,2.471,415,7.224,433,1.333,652,2.441,703,4.12,1027,2.578,1115,3.206,1237,3.143,1422,4.805,1423,5.596,1426,5.63,1468,5.596,1469,5.875,4588,4.342,4665,4.932,4970,5.512,5325,7.089,14112,6.845,20152,10.051,20153,10.535,20154,8.426,20155,8.426,20156,12.003,20157,8.426,20158,12.003,20159,8.426,20160,8.426,20161,8.426]],["title/classes/SchoolIdParams.html",[0,0.241,20162,5.49]],["body/classes/SchoolIdParams.html",[0,0.42,2,1.064,3,0.019,4,0.019,5,0.009,7,0.14,26,2.637,27,0.393,30,0.001,32,0.125,95,0.145,99,2.03,101,0.013,103,0.001,104,0.001,112,0.951,180,5.199,190,1.806,200,3.083,202,2.313,296,3.174,307,7.39,855,4.911,4588,4.458,4970,5.57,6389,6.991,6816,8.185,20162,9.562,20163,12.13]],["title/classes/SchoolIdParams-1.html",[0,0.2,756,2.309,20162,4.564]],["body/classes/SchoolIdParams-1.html",[0,0.421,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,26,2.643,27,0.395,30,0.001,32,0.125,95,0.145,99,2.04,101,0.013,103,0.001,104,0.001,112,0.954,190,1.815,200,3.098,202,2.325,296,3.183,307,7.427,855,4.926,2696,5.533,4588,4.467,6815,7.281,6816,8.226,19972,11.269,20162,9.591]],["title/classes/SchoolInMigrationLoggableException.html",[0,0.241,17078,6.113]],["body/classes/SchoolInMigrationLoggableException.html",[0,0.26,2,0.794,3,0.014,4,0.014,5,0.007,7,0.105,8,1.151,27,0.526,30,0.001,32,0.171,33,0.46,35,1.155,47,0.835,52,5.112,55,1.525,95,0.127,101,0.01,103,0,104,0,112,0.79,148,0.74,155,3.872,180,4.318,190,2.267,228,2.482,231,1.738,233,2.333,277,1.076,290,1.785,393,3.727,402,2.707,433,1.395,436,3.845,644,6.136,703,2.309,868,5.838,871,2.769,998,5.379,1027,2.303,1078,3.297,1080,4.205,1115,4.322,1237,2.918,1354,8.614,1355,6.53,1356,7.426,1360,4.988,1361,4.326,1362,4.988,1363,4.988,1364,4.988,1365,4.988,1366,4.988,1367,4.633,1368,4.253,1374,4.856,1422,4.547,1426,5.387,1462,4.058,1468,5.295,1477,3.842,1478,4,1800,6.971,2109,3.297,2642,5.138,3824,5.641,4953,4.988,10416,4.988,10417,6.332,14357,10.52,17078,8.843,20164,11.358,20165,7.526]],["title/classes/SchoolInUserMigrationEndLoggable.html",[0,0.241,20166,6.451]],["body/classes/SchoolInUserMigrationEndLoggable.html",[0,0.319,2,0.973,3,0.017,4,0.017,5,0.008,7,0.128,8,1.313,27,0.448,29,0.704,30,0.001,31,0.518,32,0.114,33,0.421,35,1.057,47,0.92,52,6.646,95,0.103,101,0.012,103,0.001,104,0.001,148,0.906,228,1.655,290,2.969,339,2.703,400,2.703,433,1.133,703,2.828,1027,2.821,1115,3.508,1237,3.328,1422,5.009,1423,5.834,1426,5.818,1468,5.834,1469,6.125,3595,5.675,4970,5.747,15125,9.179,20153,10.983,20166,10.64,20167,9.219,20168,9.219,20169,9.219,20170,9.219,20171,8.539]],["title/classes/SchoolInUserMigrationStartLoggable.html",[0,0.241,20172,6.451]],["body/classes/SchoolInUserMigrationStartLoggable.html",[0,0.299,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,26,2.593,27,0.43,29,0.66,30,0.001,31,0.486,32,0.107,33,0.395,35,0.991,39,3.061,47,0.893,52,6.492,95,0.123,99,1.741,101,0.011,103,0.001,104,0.001,122,2.519,148,0.85,228,2.182,242,4.562,290,2.882,339,2.534,376,6.34,433,1.355,652,2.471,703,3.384,1027,2.645,1115,3.289,1237,3.195,1422,4.863,1423,5.664,1426,5.683,1434,5.578,1468,5.664,1469,5.946,4970,5.579,5147,6.101,12506,6.34,14032,11.252,15125,9.387,20153,10.662,20171,8.006,20172,10.217,20173,8.006,20174,8.006,20175,8.643,20176,8.643,20177,8.643]],["title/classes/SchoolInfoMapper.html",[0,0.241,16678,6.113]],["body/classes/SchoolInfoMapper.html",[0,0.338,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.361,27,0.381,29,0.747,30,0.001,31,0.669,32,0.121,33,0.447,34,1.672,35,1.122,95,0.133,100,4.155,101,0.013,103,0.001,104,0.001,135,1.273,148,0.961,153,1.582,467,3.74,478,2.74,692,6.234,830,6.623,837,4.843,16650,10.864,16678,10.456,20178,11.914,20179,8.584,20180,11.914,20181,8.584,20182,9.78,20183,9.78,20184,9.78]],["title/classes/SchoolInfoResponse.html",[0,0.241,16650,5.658]],["body/classes/SchoolInfoResponse.html",[0,0.313,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.484,29,0.691,30,0.001,31,0.789,32,0.154,33,0.414,34,2.374,47,0.956,95,0.101,101,0.012,103,0.001,104,0.001,112,0.891,157,2.873,190,2.036,202,2.079,205,2.652,296,3.247,304,4.483,433,1.395,458,3.61,703,3.993,821,4.622,868,4.357,2184,3.583,2301,7.136,3196,5.919,3197,6.079,3198,6.079,4746,7.945,16650,10.891,20185,13.015,20186,7.945,20187,8.385]],["title/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.241,20188,6.113]],["body/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.284,2,0.866,3,0.015,4,0.015,5,0.007,7,0.114,8,1.218,27,0.416,29,0.626,30,0.001,31,0.461,32,0.147,33,0.375,35,0.941,52,6.764,95,0.14,101,0.011,103,0.001,104,0.001,125,1.954,148,0.806,153,1.326,158,3.028,180,5.079,228,1.915,231,1.84,277,1.173,339,2.405,433,1.31,543,3.992,652,2.169,703,3.635,711,3.432,1027,2.51,1080,4.107,1237,3.089,1312,5.582,1313,5.6,1314,6.016,1422,4.743,1426,5.572,1462,4.422,1468,5.524,1477,4.188,1478,4.359,1829,3.515,1853,2.691,1928,7.002,1939,4.359,2071,7.415,4588,3.653,4970,5.442,9216,8.997,9261,6.663,10119,6.016,13996,6.296,19596,9.627,20188,9.359,20189,10.4,20190,10.976,20191,7.597,20192,8.202,20193,7.597,20194,8.202]],["title/injectables/SchoolMigrationService.html",[589,0.926,4976,5.49]],["body/injectables/SchoolMigrationService.html",[0,0.137,3,0.007,4,0.007,5,0.004,7,0.055,8,0.717,27,0.462,29,0.905,30,0.001,31,0.666,32,0.147,33,0.542,35,1.327,36,2.675,39,1.743,47,1.031,52,2.006,55,1.802,95,0.125,101,0.005,103,0,104,0,122,1.844,125,2.118,135,1.626,142,2.273,145,1.484,148,1.015,153,1.438,158,2.318,180,5.186,195,0.869,197,2.183,228,1.742,277,0.565,279,1.639,290,0.938,317,2.902,433,0.771,569,1.951,579,1.793,589,0.835,591,0.938,629,3.314,652,2.654,657,2.815,703,3.168,704,5.907,711,3.708,869,4.353,1027,1.21,1080,3.083,1328,3.337,1422,1.583,1853,1.297,2065,3.47,2066,5.894,2068,4.357,2070,2.132,2071,7.642,2305,7.805,2314,7.805,2447,4.524,2448,5.073,2924,8.237,3418,1.781,3900,2.087,4588,3.323,4970,5.556,4976,4.949,4982,7.157,4984,5.6,4991,5.816,5449,6.524,8114,4.83,9375,5.816,10107,5.814,13858,3.47,14358,7.94,14370,3.212,14375,5.816,14955,3.327,15229,5.101,15251,3.662,16485,8.533,16500,5.511,16501,5.101,17769,8.237,17782,3.47,19596,3.212,20188,3.47,20195,12.099,20196,6.279,20197,5.816,20198,7.809,20199,6.279,20200,7.809,20201,7.809,20202,5.816,20203,7.809,20204,3.954,20205,6.279,20206,9.701,20207,3.954,20208,6.279,20209,3.954,20210,3.954,20211,3.954,20212,6.279,20213,8.893,20214,3.954,20215,6.279,20216,6.279,20217,3.954,20218,6.279,20219,3.662,20220,3.954,20221,3.954,20222,6.279,20223,3.662,20224,3.954,20225,6.279,20226,3.954,20227,3.47,20228,3.954,20229,5.511,20230,3.954,20231,3.954,20232,3.954,20233,3.954,20234,6.279,20235,3.954,20236,3.954,20237,3.954,20238,3.954,20239,3.954,20240,3.954,20241,3.954,20242,6.279,20243,3.954,20244,6.279,20245,3.954,20246,7.809,20247,8.237,20248,3.662,20249,3.954,20250,3.954,20251,5.816,20252,3.954,20253,6.279,20254,6.279,20255,3.954,20256,2.964,20257,3.662,20258,3.954,20259,3.954,20260,3.662,20261,3.954,20262,3.954,20263,3.954]],["title/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.241,20264,6.113]],["body/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,27,0.441,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,52,6.284,95,0.126,101,0.012,103,0.001,104,0.001,148,0.886,180,5.308,228,2.034,339,2.642,385,6.153,400,2.642,433,1.107,652,1.833,703,3.8,704,4.601,1027,2.758,1115,3.429,1237,3.281,1422,4.958,1423,5.774,1426,5.771,1853,2.957,2071,7.679,4588,3.087,4970,5.688,4982,8.281,4984,7.799,13996,6.918,15253,6.153,15331,6.48,16926,7.321,20151,8.347,20191,8.347,20264,9.94,20265,12.386,20266,8.347,20267,9.012,20268,9.012,20269,9.012,20270,7.909]],["title/entities/SchoolNews.html",[205,1.419,7906,5.346]],["body/entities/SchoolNews.html",[0,0.356,3,0.01,4,0.017,5,0.005,7,0.161,9,3.606,26,2.086,27,0.203,30,0.001,31,0.437,32,0.127,34,0.892,47,0.923,83,2.279,95,0.137,96,2.426,101,0.014,103,0,104,0,112,0.864,134,1.848,148,0.513,153,1.502,155,2.965,159,0.534,190,0.935,195,2.537,196,3.83,205,2.244,206,1.702,223,3.726,224,1.511,225,2.979,226,2.373,231,1.776,232,2.786,233,1.618,290,2.612,409,5.921,412,4.126,435,1.793,457,5.165,467,1.519,512,4.743,571,3.678,613,4.469,692,5.575,693,2.373,703,3.378,704,3.969,886,2.461,1086,4.423,1087,4.751,1088,4.354,1089,4.628,1090,5.047,1373,4.734,1821,3.681,1826,2.681,1842,3.552,1921,3.459,1939,2.773,2033,2.948,2393,3.56,2715,5.25,2923,3.911,2942,4.309,2956,3.114,3011,6.003,3056,2.511,3750,3.563,3752,3.367,3753,3.683,3755,3.752,3756,3.683,3757,3.911,3771,3.083,3908,3.563,3932,3.367,4588,1.787,4680,4.005,4681,3.621,4823,3.827,5301,3.683,5727,4.331,5817,3.827,6232,3.286,6480,6.815,6665,2.834,6668,5.009,7552,3.248,7553,2.949,7574,3.114,7778,3.509,7869,3.911,7870,4.239,7872,6.964,7873,6.074,7874,4.239,7875,4.785,7876,4.239,7877,9.099,7878,5.227,7879,5.827,7880,5.827,7881,6.958,7882,7.835,7883,4.239,7884,5.59,7885,4.239,7886,4.005,7887,4.005,7888,5.082,7889,4.239,7890,4.005,7891,4.005,7892,4.239,7893,3.911,7894,4.239,7895,3.145,7896,3.248,7897,4.005,7898,4.239,7899,4.239,7900,7.324,7901,4.239,7902,7.548,7903,4.239,7904,4.239,7905,5.967,7906,5.967,7907,6.558,7908,4.113,7909,5.153,7910,3.827,7911,4.005,7912,4.239,20271,5.218]],["title/classes/SchoolNumberDuplicateLoggableException.html",[0,0.241,20272,6.113]],["body/classes/SchoolNumberDuplicateLoggableException.html",[0,0.304,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,18,4.407,27,0.435,29,0.671,30,0.001,31,0.494,32,0.138,33,0.402,35,1.009,47,0.9,55,2.61,95,0.124,101,0.011,103,0.001,104,0.001,148,0.864,228,1.579,231,1.924,233,2.726,277,1.258,339,2.579,400,2.579,433,1.08,640,5.414,703,3.757,1027,2.691,1115,3.347,1237,3.23,1422,4.903,1423,5.71,1426,5.72,1462,4.742,1465,6.103,1468,5.71,1469,5.994,1477,4.49,1478,4.674,1563,5.675,2615,6.98,3364,6.324,6435,7.539,10107,8.007,10112,6.592,10119,6.451,10121,6.451,20272,9.788,20273,12.247,20274,12.247,20275,8.795,20276,8.795]],["title/classes/SchoolNumberMismatchLoggableException.html",[0,0.241,20229,6.113]],["body/classes/SchoolNumberMismatchLoggableException.html",[0,0.238,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,27,0.516,29,0.526,30,0.001,31,0.387,32,0.17,33,0.496,35,1.089,47,0.987,52,4.816,55,2.37,95,0.121,101,0.009,103,0,104,0,112,0.745,148,0.677,155,3.734,180,4.653,190,2.199,228,2.486,231,1.638,233,2.137,277,0.986,290,1.635,339,2.021,393,3.413,400,2.021,402,2.479,433,0.847,436,3.745,644,4.198,652,1.402,703,2.912,868,5.63,871,2.536,998,5.141,1027,2.109,1078,3.02,1080,4.055,1115,4.451,1237,2.749,1354,8.457,1355,6.241,1356,7.098,1360,4.569,1361,3.963,1362,4.569,1363,4.569,1364,4.569,1365,4.569,1366,4.569,1367,4.243,1368,3.895,1374,4.448,1422,4.346,1423,5.061,1426,5.195,1462,3.716,1468,5.061,1469,5.314,1477,3.519,1478,3.663,2105,5.799,2109,3.02,4249,5.291,4952,5.056,4953,4.569,4970,4.985,7858,4.506,10416,4.569,20189,9.528,20229,8.331,20277,10.856,20278,6.893,20279,12.267,20280,11.697,20281,6.893,20282,6.893,20283,6.893,20284,6.893]],["title/classes/SchoolNumberMissingLoggableException.html",[0,0.241,20285,5.86]],["body/classes/SchoolNumberMissingLoggableException.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,26,2.601,27,0.432,29,0.666,30,0.001,31,0.49,32,0.137,33,0.398,35,1,55,2.601,95,0.136,99,1.757,101,0.011,103,0.001,104,0.001,148,0.857,180,5.228,228,1.566,231,1.914,233,2.703,277,1.247,339,2.556,400,2.556,433,1.071,703,3.403,983,5.626,1027,2.668,1115,3.318,1237,3.213,1422,4.883,1423,5.687,1426,5.702,1462,4.701,1468,5.687,1469,5.97,1477,4.451,1478,4.634,4588,4.178,4665,5.104,4970,5.601,6435,7.509,10116,10.705,10121,6.395,10416,5.779,14359,6.693,20189,10.705,20285,9.332,20286,8.075,20287,8.718]],["title/interfaces/SchoolProperties.html",[159,0.712,19926,5.658]],["body/interfaces/SchoolProperties.html",[0,0.313,3,0.009,4,0.009,5,0.004,7,0.126,30,0.001,31,0.606,32,0.161,33,0.631,47,1.01,83,2.949,95,0.131,96,1.3,101,0.014,102,2.646,103,0,104,0,112,0.709,122,2.351,125,1.186,142,1.802,153,1.214,159,0.509,161,1.186,180,2.134,185,1.705,195,2.919,196,4.364,197,2.098,205,1.529,223,4.053,224,1.442,226,2.264,229,1.963,231,0.859,232,1.347,233,1.543,316,2.396,540,1.652,692,2.321,704,5.791,789,5.504,886,1.576,1082,3.514,1821,2.358,1826,2.558,2070,2.684,2184,1.971,2482,5.124,2712,4.583,2942,5.261,2946,4.017,2950,4.172,2951,5.916,3431,4.843,3432,4.314,4654,3.961,4664,2.242,4714,7.256,4731,3.822,4732,5.916,4984,7.142,5210,5.776,5215,6.709,5727,4.211,6206,4.314,6238,3.255,7211,3.213,7501,7.87,7509,7.256,7567,4.672,7586,5.761,7587,3.732,7895,3.001,7896,4.672,10107,7.055,10112,3.732,10113,6.097,10134,3.732,11509,7.518,12561,7.627,13714,5.916,15077,5.505,15078,5.047,15079,3.652,15105,3.58,15156,3.652,15157,3.213,15253,7.367,15329,8.283,15330,7.915,15335,7.759,15347,4.045,15349,3.822,15351,3.732,15364,4.045,15402,8.824,19891,4.189,19892,4.189,19900,7.338,19904,4.189,19906,4.189,19910,4.189,19912,4.045,19913,4.045,19914,4.189,19915,4.189,19916,4.189,19917,6.315,19918,4.189,19919,4.189,19920,4.189,19921,4.189,19922,4.189,19923,4.189,19924,4.189,19925,4.189,19926,7.338,19927,7.338,19928,4.189,19929,4.189,19930,5.916,19931,4.189,19932,6.315,19933,4.189,19934,4.189,19935,6.315,19936,4.189,19937,4.189]],["title/classes/SchoolRolePermission.html",[0,0.241,19927,5.658]],["body/classes/SchoolRolePermission.html",[0,0.332,2,0.582,3,0.01,4,0.01,5,0.005,7,0.134,27,0.316,30,0.001,31,0.455,32,0.1,33,0.483,47,0.936,83,2.374,95,0.136,96,1.439,101,0.014,102,2.929,103,0,104,0,112,0.753,122,2.441,125,1.313,142,1.995,153,1.309,159,0.564,180,2.362,185,1.888,190,1.451,195,3.016,196,4.451,197,2.262,205,1.65,211,4.465,223,4.14,224,1.596,226,2.506,229,2.174,231,0.951,232,1.491,233,1.709,316,2.653,540,1.829,692,2.569,704,4.898,789,3.016,886,1.745,1082,3.891,1821,2.61,1826,2.832,2070,2.972,2184,2.182,2482,5.527,2712,4.868,2942,5.462,2946,4.333,2950,4.5,2951,6.381,3431,5.224,3432,4.654,4654,4.272,4664,2.482,4714,5.443,4731,4.231,4732,6.381,4984,6.041,5210,5.135,5215,6.026,5727,4.473,6206,4.654,6238,3.603,7211,3.557,7501,7.336,7509,5.443,7567,5.039,7586,6.214,7587,4.131,7895,3.322,7896,5.039,10107,5.292,10112,4.131,10113,6.576,10134,4.131,11509,6.359,12561,7.11,13714,6.381,15077,5.938,15078,5.443,15079,4.043,15105,3.963,15156,4.043,15157,3.557,15253,5.527,15329,6.214,15330,5.938,15335,6.899,15347,4.478,15349,4.231,15351,4.131,15364,4.478,15402,8.442,19891,4.637,19892,4.637,19900,7.794,19904,4.637,19906,4.637,19910,4.637,19912,4.478,19913,4.478,19914,4.637,19915,4.637,19916,4.637,19917,6.811,19918,4.637,19919,4.637,19920,4.637,19921,4.637,19922,4.637,19923,4.637,19924,4.637,19925,4.637,19926,6.576,19927,8.59,19928,8.072,19929,8.072,19930,6.381,19931,4.637,19932,6.811,19933,4.637,19934,4.637,19935,6.811,19936,4.637,19937,4.637,20288,5.511,20289,5.511]],["title/classes/SchoolRoles.html",[0,0.241,19900,5.658]],["body/classes/SchoolRoles.html",[0,0.331,2,0.579,3,0.01,4,0.01,5,0.005,7,0.133,27,0.314,30,0.001,31,0.453,32,0.1,33,0.482,47,0.935,83,2.364,95,0.135,96,1.431,101,0.014,102,2.913,103,0,104,0,112,0.75,122,2.186,125,1.306,142,1.984,153,1.304,159,0.561,180,2.349,185,1.877,190,1.445,195,3.013,196,4.447,197,2.253,205,1.643,211,4.447,223,4.135,224,1.588,226,2.493,229,2.162,231,0.946,232,1.483,233,1.699,316,2.638,540,1.819,692,2.555,704,4.883,789,3,886,1.736,1082,3.869,1821,2.596,1826,2.817,2070,2.955,2184,2.17,2482,5.505,2712,4.852,2942,5.782,2946,4.316,2950,4.482,2951,6.356,3431,7.252,3432,6.46,4654,4.255,4664,2.469,4714,5.422,4731,4.208,4732,6.356,4984,6.022,5210,5.119,5215,6.01,5727,4.459,6206,4.635,6238,3.584,7211,3.537,7501,7.317,7509,5.422,7567,5.019,7586,6.189,7587,4.109,7895,3.304,7896,5.019,10107,5.271,10112,4.109,10113,6.55,10134,4.109,11509,6.339,12561,7.091,13714,6.356,15077,5.914,15078,5.422,15079,4.021,15105,3.941,15156,4.021,15157,3.537,15253,5.505,15329,6.189,15330,5.914,15335,6.877,15347,4.453,15349,4.208,15351,4.109,15364,4.453,15402,8.423,19891,4.612,19892,4.612,19900,8.567,19904,4.612,19906,4.612,19910,4.612,19912,4.453,19913,4.453,19914,4.612,19915,4.612,19916,4.612,19917,6.784,19918,4.612,19919,4.612,19920,4.612,19921,4.612,19922,4.612,19923,4.612,19924,4.612,19925,4.612,19926,6.55,19927,9.129,19928,4.612,19929,4.612,19930,6.356,19931,4.612,19932,6.784,19933,4.612,19934,4.612,19935,6.784,19936,4.612,19937,4.612,20290,5.481,20291,5.481]],["title/interfaces/SchoolSpecificFileCopyService.html",[159,0.712,3631,5.49]],["body/interfaces/SchoolSpecificFileCopyService.html",[3,0.017,4,0.017,5,0.011,7,0.129,8,1.316,26,2.788,27,0.361,29,0.707,30,0.001,31,0.52,32,0.155,33,0.423,35,1.062,36,2.435,39,2.57,95,0.14,99,1.866,101,0.016,103,0.001,104,0.001,159,0.947,161,2.206,326,3.524,1083,6.51,1317,7.342,2608,6.944,3441,8.635,3631,9.082,3898,4.641,5471,8.578,5473,8.578,6666,4.386,7210,6.51,7221,7.109,11928,8.128,12257,9.359,18649,8.578,18651,8.578,20292,10.111,20293,9.261,20294,10.671,20295,12.153,20296,9.261,20297,8.578,20298,8.128]],["title/injectables/SchoolSpecificFileCopyServiceFactory.html",[589,0.926,3896,5.86]],["body/injectables/SchoolSpecificFileCopyServiceFactory.html",[0,0.307,3,0.016,4,0.016,5,0.012,7,0.124,8,1.281,27,0.437,29,0.856,30,0.001,31,0.63,32,0.139,33,0.512,35,1.017,95,0.144,101,0.011,103,0.001,104,0.001,148,0.872,153,1.435,228,1.593,277,1.269,400,2.602,433,1.09,435,3.853,507,4.981,589,1.491,591,2.105,703,3.441,1083,7.53,1317,5.654,2608,8.203,2831,3.552,3441,9.217,3631,9.694,3632,7.465,3896,9.436,3898,4.446,3906,7.787,7340,9.787,20292,10.793,20298,11.34,20299,8.873,20300,8.218,20301,8.873,20302,11.215,20303,8.873,20304,7.787,20305,8.873]],["title/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.241,20304,6.113]],["body/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.288,2,0.878,3,0.015,4,0.02,5,0.012,7,0.116,8,1.23,27,0.42,29,0.822,30,0.001,31,0.605,32,0.133,33,0.492,35,0.954,36,2.275,39,2.309,95,0.133,101,0.011,103,0.001,104,0.001,148,0.818,228,1.933,317,2.581,326,3.167,433,1.322,435,4.099,652,2.189,703,2.553,711,3.456,1083,7.129,1237,3.118,1317,6.86,2608,7.192,2831,3.331,3011,3.802,3272,6.559,3441,8.944,3631,9.406,3632,7.001,3898,5.394,3933,5.097,4588,3.687,6666,5.097,7221,6.387,7340,9.623,12257,8.745,18379,6.387,20292,10.472,20294,9.97,20295,11.686,20297,7.707,20298,11.073,20300,7.707,20304,9.447,20306,8.321,20307,8.321,20308,8.321,20309,8.321,20310,10.764,20311,8.321,20312,8.321,20313,8.321]],["title/classes/SchoolSystemOptions.html",[0,0.241,15157,4.494]],["body/classes/SchoolSystemOptions.html",[0,0.29,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,8,1.235,26,2.653,27,0.51,30,0.001,32,0.134,35,0.96,48,5.926,95,0.133,99,1.687,101,0.015,103,0.001,104,0.001,112,0.848,113,4.294,148,1.176,159,0.856,185,2.868,231,2.065,435,3.713,436,3.192,532,4.638,711,3.792,735,4.891,1767,5.87,1770,5.24,1773,7.288,1849,4.772,2615,7.207,2623,8.775,3067,5.212,3085,5.212,3430,5.491,4588,4.331,4600,5.272,4623,6.427,4626,7.045,4841,6.802,15157,6.974,17764,8.78,18296,5.911,19859,7.045,20314,11.099,20315,8.373,20316,8.373,20317,8.373,20318,8.373,20319,7.755,20320,7.349,20321,6.802,20322,7.755,20323,7.755]],["title/classes/SchoolSystemOptionsBuilder.html",[0,0.241,20324,5.86]],["body/classes/SchoolSystemOptionsBuilder.html",[0,0.292,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.242,27,0.424,29,0.83,30,0.001,31,0.61,32,0.134,33,0.496,35,0.968,95,0.146,101,0.011,103,0.001,104,0.001,125,2.011,135,1.414,148,0.83,153,2.052,159,0.863,228,1.516,400,2.476,433,1.037,540,2.801,579,3.102,703,2.59,711,3.48,1422,3.38,2615,6.847,2617,5.256,2621,9.305,2623,8.337,3430,5.509,4623,6.481,5004,5.449,14382,6.484,14395,7.896,14396,5.317,14397,5.317,18296,9.265,18348,7.411,18350,7.821,18540,7.411,20314,10.545,20324,9.142,20325,10.866,20326,8.443,20327,10.866,20328,8.443,20329,8.443,20330,11.129,20331,8.443,20332,10.866,20333,10.866,20334,8.443,20335,8.443]],["title/entities/SchoolSystemOptionsEntity.html",[205,1.419,15078,4.684]],["body/entities/SchoolSystemOptionsEntity.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.11,26,2.113,27,0.454,30,0.001,32,0.144,34,1.355,95,0.15,96,2.069,99,1.597,101,0.013,103,0,104,0,112,0.914,153,1.282,159,1.066,190,2.089,205,2.125,206,2.586,219,5.752,224,2.296,225,3.996,229,3.126,231,1.368,232,2.145,233,2.457,458,3.161,459,5.394,540,2.63,692,5.998,703,4.052,2615,7.057,2617,4.934,2621,7.649,2623,8.592,3430,6.058,4648,5.412,4654,5.504,4655,4.442,4656,6.669,4848,6.44,5210,6.886,5727,5.433,7573,4.88,7574,4.73,7778,7.013,9934,5.412,10135,5.942,10136,6.249,15078,7.013,18276,10.418,18352,6.957,20336,11.469,20337,7.927,20338,7.927,20339,7.927,20340,6.957,20341,8.472,20342,7.342]],["title/interfaces/SchoolSystemOptionsEntityProps.html",[159,0.712,20341,5.658]],["body/interfaces/SchoolSystemOptionsEntityProps.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.112,26,2.527,30,0.001,32,0.154,33,0.482,34,2.132,95,0.151,96,2.107,99,1.626,101,0.014,103,0,104,0,112,0.922,153,1.305,159,1.079,161,1.922,205,2.15,219,5.82,224,2.338,225,4.044,229,3.183,231,1.392,232,2.184,233,2.502,458,3.218,459,5.457,540,2.678,692,6.188,703,4.149,2615,4.599,2617,5.023,2621,9.146,2623,8.978,3430,5.955,4654,5.569,4655,4.523,4656,6.79,4848,6.556,5210,7.105,5727,5.481,7573,4.968,7574,4.816,9934,5.51,10135,6.049,10136,6.362,15078,5.427,18276,9.892,18352,7.083,20336,7.475,20340,7.083,20341,9.552,20342,7.475]],["title/classes/SchoolSystemOptionsMapper.html",[0,0.241,19880,6.113]],["body/classes/SchoolSystemOptionsMapper.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.345,27,0.374,29,0.732,30,0.001,31,0.539,32,0.119,33,0.438,35,1.1,95,0.131,100,3.345,101,0.012,103,0.001,104,0.001,135,1.248,148,0.943,153,1.551,467,3.708,540,3.183,1883,3.601,2615,6.71,3430,5.113,4866,6.599,18278,7.562,18279,7.562,18280,7.562,18296,9.377,19877,11.8,19879,10.719,19880,10.334,20343,11.774,20344,9.593,20345,11.774,20346,11.774,20347,9.593,20348,9.593,20349,9.593,20350,9.593]],["title/interfaces/SchoolSystemOptionsProps.html",[159,0.712,20321,5.658]],["body/interfaces/SchoolSystemOptionsProps.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.124,26,2.863,30,0.001,32,0.16,48,6.257,95,0.137,99,1.8,101,0.016,103,0.001,104,0.001,112,0.883,148,1.212,159,0.913,161,2.128,185,3.059,231,2.128,532,4.75,711,3.573,1767,6.7,1770,4.508,1849,5.09,2615,5.09,2623,9.265,3430,3.878,4588,4.573,4623,6.856,4626,7.515,4841,7.256,15157,5.764,17764,9.149,18296,6.305,20314,7.839,20319,8.273,20320,7.839,20321,9.149,20322,8.273,20323,8.273]],["title/injectables/SchoolSystemOptionsRepo.html",[589,0.926,15385,5.86]],["body/injectables/SchoolSystemOptionsRepo.html",[0,0.207,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,18,4.304,26,2.528,27,0.428,29,0.839,30,0.001,31,0.617,32,0.136,33,0.502,34,1.469,35,1.153,36,2.322,48,5.148,95,0.145,96,1.561,97,2.412,99,1.205,101,0.008,103,0,104,0,135,1.717,142,3.977,148,1.08,153,1.882,205,2.371,228,1.074,277,0.855,317,2.62,400,1.753,433,0.735,435,2.054,478,1.675,540,1.984,579,2.452,589,1.142,591,1.418,652,2.044,657,2.512,703,2.635,711,3.508,1422,2.393,1770,4.848,1883,2.244,2446,5.967,2474,5.775,2497,7.538,2498,4.149,2615,6.631,2623,5.959,3430,5.544,3528,9.309,3644,3.81,3649,4.895,3707,4.482,4588,2.942,5136,3.963,5210,4.597,10679,5.031,10682,5.031,10687,7.226,12962,9.309,12964,9.309,12965,5.538,12966,5.538,14382,6.555,14395,6.838,14396,3.765,14397,3.765,15078,8.743,15157,8.39,15385,7.226,15527,7.226,18296,6.063,18353,5.031,20321,6.977,20324,7.226,20341,6.977,20351,10.777,20352,5.979,20353,7.955,20354,5.979,20355,5.979,20356,5.979,20357,7.955,20358,5.979,20359,5.979,20360,5.248,20361,5.979,20362,5.979,20363,8.588,20364,5.979,20365,5.979,20366,5.979,20367,5.979,20368,5.979,20369,5.538,20370,5.979,20371,5.979,20372,5.979,20373,5.979,20374,5.979,20375,5.979,20376,5.979]],["title/classes/SchoolSystemOptionsRepoMapper.html",[0,0.241,20360,6.113]],["body/classes/SchoolSystemOptionsRepoMapper.html",[0,0.276,2,0.842,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,27,0.408,29,0.799,30,0.001,31,0.588,32,0.13,33,0.478,34,1.79,35,1.201,48,3.737,95,0.138,96,2.082,97,3.216,101,0.01,103,0,104,0,135,1.521,148,1.029,205,2.382,245,6.286,435,2.739,459,4.124,467,3.851,478,2.234,540,3.878,692,3.718,703,2.446,1883,2.993,2446,6.742,2615,6.661,2623,8.944,3430,5.389,3649,6.661,4588,2.731,4666,5.849,4768,4.806,4866,6.956,5210,4.268,10651,9.835,12847,10.259,12855,6.998,12886,7.386,12897,7.386,12900,7.386,15078,8.346,15157,8.537,18296,8.761,20024,6.286,20321,10.472,20341,10.083,20351,10.827,20360,9.189,20377,7.974,20378,7.974,20379,7.974,20380,7.974,20381,7.974,20382,7.974]],["title/injectables/SchoolSystemOptionsRule.html",[589,0.926,1875,5.86]],["body/injectables/SchoolSystemOptionsRule.html",[0,0.266,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.447,29,0.876,30,0.001,31,0.645,32,0.151,33,0.524,35,1.172,95,0.142,101,0.01,103,0,104,0,122,2.848,135,1.657,148,1.004,183,4.383,228,1.38,277,1.099,290,3.259,400,2.253,433,0.944,478,2.153,589,1.358,591,1.823,653,3.16,703,2.357,711,3.792,1237,2.226,1770,5.349,1775,6.694,1801,8.06,1838,6.158,1875,8.596,1982,6.511,1986,6.289,1993,5.024,2070,4.143,2619,6.511,3430,5.311,3711,5.093,3714,6.593,3716,5.093,3717,6.772,3718,5.525,7003,5.424,11332,8.596,15157,8.757,18296,5.424,20062,11.33,20383,7.684,20384,7.684,20385,7.684,20386,7.684,20387,10.216,20388,7.117,20389,10.216,20390,7.684,20391,9.463]],["title/injectables/SchoolSystemOptionsService.html",[589,0.926,15383,5.658]],["body/injectables/SchoolSystemOptionsService.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,18,4.734,26,2.822,27,0.455,29,0.934,30,0.001,31,0.655,32,0.151,33,0.533,35,1.241,36,2.674,48,6.285,95,0.136,99,1.379,101,0.009,103,0,104,0,135,1.518,142,3.42,148,1.063,153,1.749,228,1.229,277,0.979,317,2.901,400,2.007,433,0.841,532,4.277,540,3.87,579,1.954,589,1.256,591,1.624,653,2.816,657,2.474,711,3.885,1422,2.74,1883,2.57,2615,6.974,2636,3.351,3430,5.314,4588,4.192,15157,8.922,15383,7.675,15385,10.646,16549,8.75,18289,6.008,18296,4.832,19859,9.102,20330,10.803,20353,8.75,20357,8.75,20392,11.335,20393,6.846,20394,6.846,20395,6.846,20396,6.846,20397,6.846,20398,6.846,20399,9.447,20400,6.846,20401,9.447,20402,8.75,20403,6.846,20404,8.75,20405,6.846]],["title/injectables/SchoolSystemOptionsUc.html",[589,0.926,15321,5.86]],["body/injectables/SchoolSystemOptionsUc.html",[0,0.208,3,0.011,4,0.011,5,0.005,7,0.084,8,0.987,26,2.858,27,0.393,29,0.77,30,0.001,31,0.567,32,0.125,33,0.461,34,1.476,35,0.99,36,2.33,39,3.059,48,6.269,49,2.269,95,0.149,96,1.573,97,2.43,99,1.214,101,0.008,103,0,104,0,135,1.664,142,3.654,148,0.849,153,1.964,159,0.616,228,1.812,277,0.861,290,2.615,317,2.627,433,1.061,579,2.881,589,1.148,591,1.429,595,2.285,610,2.376,652,2.053,657,2.777,693,2.739,711,3.517,1422,2.411,1472,3.349,1540,4.18,1780,3.631,1862,6.453,1883,2.261,1962,5.152,2615,6.282,2621,8.085,2623,5.991,2667,4.332,2680,2.766,3430,5.555,4510,3.708,4588,4.382,4862,3.993,4863,4.051,4987,7.015,15157,8.721,15321,7.265,15383,10.16,15482,8.992,15527,7.265,17030,5.069,18296,6.095,18353,5.069,19859,8.492,20324,7.265,20402,5.58,20404,5.58,20406,11.023,20407,6.024,20408,10.092,20409,6.024,20410,6.024,20411,10.092,20412,6.024,20413,6.024,20414,6.024,20415,8.635,20416,6.024,20417,6.024,20418,5.58,20419,6.024,20420,6.024,20421,6.024,20422,6.024,20423,6.024,20424,6.024,20425,6.024]],["title/classes/SchoolSystemParams.html",[0,0.241,19862,6.113]],["body/classes/SchoolSystemParams.html",[0,0.411,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,26,2.774,27,0.463,30,0.001,32,0.147,48,6.008,95,0.143,99,1.961,101,0.012,103,0.001,104,0.001,112,0.932,190,2.129,200,2.978,202,2.235,296,3.354,855,5.191,2615,7.307,4588,4.391,6815,8.541,19862,10.425,20426,12.821,20427,9.733,20428,9.733,20429,9.733]],["title/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.241,20053,6.113]],["body/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.329,2,1.003,3,0.018,4,0.018,5,0.009,7,0.132,8,1.337,27,0.37,29,0.725,30,0.001,31,0.534,32,0.118,33,0.434,35,1.09,95,0.13,101,0.012,103,0.001,104,0.001,135,1.236,148,0.934,153,1.537,402,4.563,467,3.692,614,4.215,829,5.615,830,6.507,837,4.705,2698,4.116,4111,9.849,6105,9.849,6107,6.708,8292,6.852,16002,7.72,19943,10.437,19947,11.44,19977,9.849,20041,8.802,20053,10.273,20097,7.995,20430,9.502]],["title/injectables/SchoolValidationService.html",[589,0.926,15386,5.86]],["body/injectables/SchoolValidationService.html",[0,0.283,3,0.015,4,0.015,5,0.007,7,0.114,8,1.215,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.22,36,2.648,47,0.6,95,0.14,101,0.01,103,0.001,104,0.001,135,1.063,142,3.85,148,1.045,153,1.321,195,1.795,228,1.467,277,1.168,279,3.387,317,2.881,400,2.395,433,1.004,579,2.332,589,1.414,591,1.938,652,2.405,657,2.432,703,3.263,711,3.426,1213,6.778,1422,3.27,1531,8.843,1853,2.68,2071,8.126,2073,6.873,2615,7.139,6116,6.439,10566,7.169,10585,7.169,15212,8.641,15386,8.949,15445,7.566,20272,7.169,20431,12.527,20432,10.636,20433,8.169,20434,10.636,20435,10.636,20436,8.169,20437,8.169,20438,10.636,20439,8.169,20440,8.169,20441,7.566]],["title/entities/SchoolYearEntity.html",[205,1.419,12561,4.684]],["body/entities/SchoolYearEntity.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.125,27,0.482,30,0.001,31,0.729,32,0.153,47,0.909,83,4.004,95,0.126,96,2.347,101,0.014,103,0.001,104,0.001,112,0.887,159,0.92,190,2.218,205,2.305,206,2.934,223,4.32,224,2.605,226,4.089,229,3.546,231,1.551,232,2.433,233,2.787,1237,2.605,2184,3.559,2482,7.722,4664,4.05,7512,9.336,7582,7.305,7583,6.902,12561,7.605,20442,8.329,20443,10.924,20444,8.992,20445,8.992,20446,8.992,20447,10.859,20448,7.565,20449,8.329,20450,8.329]],["title/interfaces/SchoolYearProperties.html",[159,0.712,20447,6.113]],["body/interfaces/SchoolYearProperties.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.756,32,0.155,47,0.961,83,4.127,95,0.128,96,2.396,101,0.015,103,0.001,104,0.001,112,0.899,159,0.938,161,2.186,205,2.334,223,4.076,224,2.658,226,4.173,229,3.619,231,1.583,232,2.483,233,2.845,1237,2.658,2184,3.632,2482,7.821,4664,4.133,7512,9.678,7582,7.455,7583,7.044,12561,6.171,20442,8.5,20443,11.325,20447,11.478,20448,7.721,20449,8.5,20450,8.5]],["title/injectables/SchoolYearRepo.html",[589,0.926,15387,5.86]],["body/injectables/SchoolYearRepo.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.105,8,1.151,10,4.048,12,4.56,18,5.049,26,2.042,27,0.507,29,0.926,30,0.001,31,0.681,32,0.15,33,0.554,34,1.287,35,1.45,36,2.673,40,3.642,49,3.795,83,2.207,95,0.127,101,0.01,103,0,104,0,135,1.311,142,2.724,148,0.99,153,1.217,205,1.534,206,3.287,231,1.738,277,1.076,317,2.959,436,3.583,478,2.108,532,5.112,589,1.339,591,1.785,657,1.721,728,7.71,734,4.246,735,4.56,736,5.591,759,4.491,760,4.583,761,4.536,762,4.583,763,5.222,764,4.536,765,4.583,766,4.028,771,5.411,2615,6.473,3960,6.114,4591,7.39,7512,5.411,7944,6.114,9508,9.969,12561,7.638,15387,8.477,20443,6.332,20451,7.526,20452,12.13,20453,7.526,20454,7.526,20455,7.526]],["title/injectables/SchoolYearService.html",[589,0.926,15384,5.86]],["body/injectables/SchoolYearService.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,12,4.931,26,2.575,27,0.469,29,0.832,30,0.001,31,0.612,32,0.135,33,0.498,34,1.45,35,1.249,36,2.685,40,5.273,95,0.142,99,1.708,101,0.011,103,0.001,104,0.001,135,1.418,148,1.071,228,1.523,277,1.213,317,2.91,400,2.486,433,1.042,478,2.375,589,1.448,591,2.011,657,2.492,734,3.573,1829,3.634,1883,3.183,1941,5.544,2615,7.241,2636,4.15,4215,5.883,4591,7.992,4714,5.702,5102,7.56,11507,7.134,11508,6.509,11509,5.62,12561,8.096,15384,9.167,15387,11.317,20392,11.769,20456,8.479,20457,12.706,20458,8.479,20459,8.479,20460,8.479,20461,8.479,20462,8.479,20463,8.479]],["title/classes/SchulConneXProvisioningOptions.html",[0,0.241,17764,5.658]],["body/classes/SchulConneXProvisioningOptions.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,27,0.511,29,0.826,30,0.001,31,0.608,32,0.134,33,0.494,35,0.962,95,0.121,101,0.011,103,0.001,104,0.001,112,0.849,129,3.547,130,3.242,148,0.825,159,0.858,195,2.378,197,3.537,231,1.867,435,2.882,436,3.197,532,3.077,540,2.784,567,4.035,711,3.135,1237,3.135,2140,4.782,2614,11.497,2615,7.213,2617,5.223,2619,6.897,2620,7.772,2621,7.938,2623,5.822,2624,10.024,4841,6.817,4845,7.772,17764,8.792,18278,9.443,18279,9.443,18280,9.443,18283,7.364,18284,7.364,18285,7.364,18286,7.364,18287,7.364,18288,7.364,20320,11.108,20464,12.656,20465,11.772,20466,8.39,20467,8.39,20468,8.39,20469,8.39]],["title/classes/SchulConneXProvisioningOptionsParams.html",[0,0.241,19878,6.113]],["body/classes/SchulConneXProvisioningOptionsParams.html",[0,0.325,2,0.991,3,0.017,4,0.017,5,0.008,7,0.131,27,0.492,30,0.001,32,0.156,95,0.129,101,0.012,103,0.001,104,0.001,112,0.912,122,2.862,159,0.96,190,2.262,202,2.156,296,3.661,1237,3.366,2615,7.515,2617,8.207,18278,9.948,18279,9.948,18280,9.948,18301,8.699,19878,10.199,20465,11.075,20470,13.186,20471,9.391,20472,9.391,20473,9.391]],["title/classes/SchulConneXProvisioningOptionsResponse.html",[0,0.241,19879,5.86]],["body/classes/SchulConneXProvisioningOptionsResponse.html",[0,0.305,2,0.93,3,0.016,4,0.016,5,0.008,7,0.123,27,0.502,29,0.673,30,0.001,31,0.495,32,0.159,33,0.403,95,0.124,101,0.011,103,0.001,104,0.001,112,0.876,122,2.817,159,0.901,190,2.198,202,2.024,232,3.022,296,3.611,433,1.083,435,3.028,1237,3.235,2615,7.579,2617,8.278,18278,9.664,18279,9.664,18280,9.664,18283,7.736,18284,7.736,18285,7.736,18286,7.736,18287,7.736,18288,7.736,19879,11.19,20465,10.76,20474,13.299,20475,8.164,20476,11.168,20477,8.814,20478,8.814]],["title/classes/Scope.html",[0,0.241,6288,2.831]],["body/classes/Scope.html",[0,0.255,2,0.778,3,0.014,4,0.014,5,0.007,7,0.103,8,1.136,27,0.515,29,0.858,30,0.001,31,0.631,32,0.166,33,0.514,35,1.14,95,0.111,96,1.925,101,0.009,103,0,104,0,112,0.78,122,2.604,129,2.184,130,1.995,135,0.959,145,2.768,148,1.182,197,2.061,224,2.136,365,5.746,433,0.906,569,3.089,652,2.771,735,4.498,756,2.941,815,8.722,1675,4.444,2479,8.137,6288,4.89,7007,7.451,7008,7.451,7009,7.451,7014,6.587,7015,6.587,7017,8.576,7028,6.587,7029,7.974,7031,6.587,7033,6.587,16781,10.412,20479,7.374,20480,9.938,20481,9.938,20482,7.374,20483,7.374,20484,7.374,20485,7.374,20486,7.374,20487,7.374,20488,7.374,20489,7.374,20490,9.938,20491,11.241,20492,9.938,20493,7.374,20494,7.374,20495,7.374]],["title/interfaces/ScopeInfo.html",[159,0.712,20496,5.658]],["body/interfaces/ScopeInfo.html",[3,0.018,4,0.018,5,0.009,7,0.138,26,2.721,30,0.001,32,0.166,47,1.056,95,0.11,99,1.995,101,0.013,103,0.001,104,0.001,112,0.942,155,4.286,159,1.012,161,2.358,2138,5.225,2161,8.9,11298,10.909,20496,9.751,20497,9.17,20498,9.901,20499,13.428]],["title/classes/ScopeRef.html",[0,0.241,20500,5.346]],["body/classes/ScopeRef.html",[0,0.326,2,0.994,3,0.017,4,0.017,5,0.008,7,0.131,26,2.799,27,0.492,29,0.719,30,0.001,31,0.529,32,0.156,33,0.43,34,2.319,95,0.13,99,1.897,101,0.012,103,0.001,104,0.001,112,0.913,433,1.156,458,3.754,595,3.57,2138,6.965,2435,7.946,6288,5.691,7150,8.719,8262,6.33,20497,12.223,20500,8.933,20501,10.889,20502,11.637,20503,9.413]],["title/interfaces/ServerConfig.html",[159,0.712,649,4.386]],["body/interfaces/ServerConfig.html",[3,0.014,4,0.014,5,0.007,7,0.104,30,0.001,32,0.167,47,1.014,52,5.08,55,2.291,95,0.152,101,0.014,103,0,104,0,112,0.785,122,2.613,135,1.303,159,0.762,161,1.776,231,1.728,310,9.922,312,6.544,313,9.274,647,5.469,648,4.695,649,7.609,886,2.361,981,6.098,1317,4.751,1537,5.469,2088,4.845,2219,3.342,2220,3.759,2221,3.629,2222,4.695,2229,6.544,2831,2.985,3240,3.831,3898,3.736,3900,3.935,4919,6.836,4943,7.344,5729,9.922,5733,6.906,5735,4.695,7478,9.512,9358,9.184,12092,4.811,12095,5.877,12096,6.544,12097,5.877,12099,6.273,12100,6.906,12282,9.512,13876,9.512,13878,6.906,13879,6.906,13880,6.906,14517,6.273,16218,8.678,16220,6.906,18880,8.788,20504,7.456,20505,9.184,20506,12.606,20507,12.606,20508,7.456,20509,7.456,20510,10.012,20511,6.906,20512,6.906,20513,7.456,20514,7.456,20515,7.456,20516,7.456,20517,6.906,20518,7.456,20519,7.456,20520,7.456,20521,6.906,20522,7.456,20523,7.456,20524,7.456,20525,7.456,20526,7.456,20527,7.456]],["title/classes/ServerConsole.html",[0,0.241,20528,6.113]],["body/classes/ServerConsole.html",[0,0.283,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,8,1.217,27,0.461,29,0.813,30,0.001,31,0.598,32,0.132,33,0.487,35,1.221,47,0.87,95,0.119,101,0.01,103,0.001,104,0.001,148,1.047,157,3.009,190,1.909,271,4.011,400,2.4,433,1.006,569,3.897,641,7.145,981,8.378,1372,4.32,2164,5.491,2358,7.207,2884,9.015,3802,6.452,3803,8.197,3806,8.175,3808,8.175,3811,5.425,3812,8.96,3813,8.468,3814,4.792,11480,9.332,20528,9.347,20529,8.185,20530,11.613,20531,10.65,20532,8.185,20533,8.185,20534,10.65,20535,9.347,20536,8.185,20537,9.864,20538,8.185,20539,8.185]],["title/modules/ServerConsoleModule.html",[252,1.839,20540,6.451]],["body/modules/ServerConsoleModule.html",[0,0.252,3,0.014,4,0.014,5,0.007,30,0.001,32,0.09,47,0.536,87,3.677,95,0.159,96,2.575,101,0.009,103,0,104,0,122,1.512,153,1.179,195,1.603,206,2.379,224,2.113,252,3.162,254,2.623,255,2.785,256,2.855,257,2.845,258,2.835,259,4.06,260,2.71,269,3.862,270,2.805,271,2.747,276,3.862,277,1.043,290,1.73,347,3.748,478,2.043,623,4.768,647,5.35,649,4.592,651,3.7,736,4.856,1014,5.061,1015,4.98,1017,6.845,1019,7.236,1020,6.401,1021,4.706,1022,6.845,1023,6.964,1024,6.845,1025,4.706,1026,4.592,1039,5.749,1040,5.061,1041,4.98,1317,6.287,1626,4.087,1716,6.401,1829,3.126,2164,3.383,2219,3.269,2220,3.677,2221,3.55,2860,4.706,2903,4.768,2954,3.876,3813,6.073,3814,4.269,3887,9.9,4259,4.269,5348,5.467,6380,5.925,7237,6.008,8855,6.401,9050,10.851,9141,9.137,11928,6.401,12414,7.236,12415,7.236,12427,5.35,12428,5.35,13404,6.401,13885,8.3,14517,6.136,16262,10.477,16280,6.401,20528,8.658,20540,12.728,20541,7.293,20542,7.293,20543,7.293,20544,7.293,20545,7.293,20546,7.293,20547,7.293,20548,7.293]],["title/controllers/ServerController.html",[314,2.65,20549,5.86]],["body/controllers/ServerController.html",[0,0.349,3,0.019,4,0.019,5,0.009,7,0.14,8,1.386,27,0.393,30,0.001,35,1.155,47,0.891,95,0.112,101,0.013,103,0.001,104,0.001,129,3.592,148,0.99,190,1.806,274,4.194,277,1.441,314,4.616,371,6.446,711,3.513,981,7.387,1372,5.317,2164,4.673,11297,9.562,13669,8.477,20530,12.511,20549,10.206,20550,10.075,20551,10.075]],["title/modules/ServerModule.html",[252,1.839,20552,6.113]],["body/modules/ServerModule.html",[0,0.211,3,0.007,4,0.007,5,0.003,8,0.435,27,0.238,29,0.291,30,0.001,31,0.343,32,0.075,33,0.174,35,0.437,47,0.861,52,1.934,55,1.236,72,4,87,1.922,95,0.159,96,1.592,101,0.01,103,0,104,0,107,2.492,122,1.806,125,2.541,135,1.239,148,0.375,153,0.986,157,0.882,171,5.125,174,2.602,180,2.613,195,0.838,197,1.704,206,1.243,224,1.104,228,1.564,252,3.017,253,5.13,254,3.133,255,1.455,256,1.492,257,1.487,258,1.481,259,1.384,260,1.416,265,4.949,269,2.387,270,1.466,271,1.436,274,3.626,276,3.41,277,0.545,290,0.904,347,1.958,412,2.708,433,0.749,467,1.109,478,1.068,507,1.693,540,2.529,543,1.855,561,1.717,569,1.185,571,1.509,614,1.182,623,3.987,649,2.4,651,1.934,652,1.772,688,1.777,725,2.69,736,3.002,809,2.492,1010,6.866,1011,6.937,1014,2.645,1015,2.602,1016,3.886,1017,4.231,1021,2.459,1022,4.231,1023,4.304,1024,4.231,1025,2.459,1026,2.4,1027,1.166,1028,4.231,1029,2.563,1031,5.38,1034,9.749,1035,3.207,1036,6.263,1038,7.328,1039,3.004,1040,2.645,1041,2.602,1042,2.526,1043,4.231,1045,2.492,1060,2.602,1061,2.926,1062,2.926,1063,2.926,1082,2.69,1086,1.815,1087,1.759,1088,1.786,1089,1.899,1166,2.526,1167,2.346,1218,2.492,1220,2.191,1237,1.766,1272,2.4,1274,2.492,1311,2.492,1317,2.429,1454,2.346,1480,4.807,1582,2.741,1598,2.252,1626,3.417,1743,2.741,1829,3.267,1928,2.252,2070,2.055,2164,3.535,2219,1.709,2220,1.922,2221,1.855,2222,2.4,2345,2.321,2447,3.186,2448,4.082,2513,3.475,2831,2.441,2860,2.459,2954,2.026,3020,5.13,3817,2.526,3889,4.57,3898,3.056,3900,3.218,4261,5.713,4273,4.807,4274,9.617,4921,2.563,4943,5.59,4945,2.796,5029,2.926,5074,1.946,5115,5.13,5202,2.69,5271,2.4,7457,3.935,7642,2.297,9053,3.096,9063,3.345,9069,3.345,9070,3.345,9071,3.345,9072,3.345,9073,3.345,9074,3.345,9599,2.172,10016,2.321,11643,2.741,12092,2.459,12414,4.473,12415,4.473,12416,4.57,12427,2.796,12428,2.796,12429,3.096,12430,2.926,12431,3.004,12572,2.857,12800,5.13,13305,2.741,13411,3.345,13672,3.207,14183,5.13,14301,3.096,14472,3.096,14724,2.926,14942,3.096,15257,5.13,15317,5.13,15322,3.207,15323,3.345,15545,5.13,16027,5.59,16221,3.096,16327,5.13,16331,4.954,16709,5.13,17144,5.13,17315,5.13,17496,5.13,17516,3.207,18380,5.13,18573,3.207,18810,8.976,18814,3.345,20549,8.015,20552,11.015,20553,3.811,20554,3.811,20555,3.53,20556,7.059,20557,9.411,20558,3.811,20559,3.53,20560,3.53,20561,3.53,20562,3.53,20563,3.53,20564,3.53,20565,3.53,20566,3.53,20567,3.53,20568,3.53,20569,3.53,20570,4.954,20571,3.53,20572,5.13,20573,3.53,20574,5.13,20575,3.53,20576,5.13,20577,3.53,20578,5.13,20579,5.13,20580,3.207,20581,5.13,20582,3.53,20583,5.13,20584,3.096,20585,3.096,20586,7.059,20587,3.53,20588,3.53,20589,3.53,20590,3.53,20591,3.53,20592,7.059,20593,3.53,20594,5.648,20595,7.059,20596,3.53,20597,3.53,20598,3.53,20599,3.53,20600,3.53,20601,3.53,20602,3.53,20603,3.53,20604,3.53,20605,3.53,20606,3.53,20607,3.345,20608,3.53,20609,3.53,20610,3.53,20611,3.53,20612,3.53,20613,3.53,20614,3.53,20615,3.53,20616,3.53,20617,3.53,20618,3.53,20619,3.53,20620,5.648,20621,3.53,20622,5.648,20623,3.53,20624,5.648,20625,3.53,20626,3.53,20627,3.53,20628,5.352,20629,3.53]],["title/modules/ServerTestModule.html",[252,1.839,20628,6.113]],["body/modules/ServerTestModule.html",[0,0.203,3,0.007,4,0.007,5,0.003,8,0.416,27,0.288,29,0.448,30,0.001,31,0.415,32,0.091,33,0.268,35,0.674,47,0.849,52,1.846,55,1.19,59,1.131,72,3.894,87,1.835,95,0.158,96,1.534,101,0.009,103,0,104,0,107,2.379,122,1.758,125,2.494,135,1.211,148,0.358,153,0.95,157,0.842,171,4.968,174,2.484,180,2.518,195,0.8,197,1.642,206,1.187,224,1.054,228,1.523,252,2.97,253,4.943,254,3.766,255,1.39,256,1.425,257,1.419,258,1.414,259,1.321,260,1.352,265,4.856,269,2.3,270,1.399,271,1.37,274,3.53,276,3.32,277,0.52,290,0.863,347,1.87,412,3.281,433,0.722,467,1.71,478,1.019,507,1.616,540,2.813,543,1.771,561,1.639,569,1.131,571,1.44,614,1.821,623,3.841,649,2.291,651,1.846,652,1.725,688,1.696,725,2.569,736,2.892,809,2.379,1010,6.685,1011,4.011,1014,2.525,1015,2.484,1016,4.708,1017,4.076,1021,2.348,1022,4.076,1023,4.147,1024,4.076,1025,2.348,1026,2.291,1027,1.113,1028,5.884,1029,6.257,1031,7.391,1034,9.647,1035,3.062,1036,6.097,1038,7.135,1039,2.868,1040,2.525,1041,2.484,1042,2.412,1043,4.076,1045,3.841,1048,2.525,1060,2.484,1061,2.793,1062,2.793,1063,2.793,1082,4.147,1086,1.732,1087,1.679,1088,1.705,1089,1.813,1166,2.412,1167,2.24,1218,3.841,1220,3.377,1237,1.702,1272,2.291,1274,2.379,1311,3.841,1317,2.319,1454,3.616,1480,4.631,1582,2.616,1598,2.15,1626,4.14,1743,2.616,1829,3.988,1928,3.472,2070,1.962,2164,3.427,2219,1.631,2220,1.835,2221,1.771,2222,2.291,2345,3.578,2447,3.088,2448,3.974,2513,4.833,2831,2.352,2860,2.348,2954,1.934,3020,4.943,3817,2.412,3889,4.403,3898,2.944,3900,3.1,4261,5.538,4273,4.631,4274,9.467,4921,3.95,4943,4.309,4945,2.669,5029,2.793,5074,1.858,5115,4.943,5202,2.569,5271,2.291,7457,3.791,7642,2.193,9053,2.956,9063,3.194,9069,3.194,9070,3.194,9071,3.194,9072,3.194,9073,3.194,9074,3.194,9599,2.074,10016,2.216,11643,2.616,12092,2.348,12414,4.309,12415,4.309,12416,4.403,12427,2.669,12428,2.669,12429,2.956,12430,2.793,12431,2.868,12572,4.403,12800,4.943,13305,4.224,13411,3.194,13672,3.062,14183,4.943,14301,2.956,14472,2.956,14724,2.793,14942,2.956,15257,4.943,15317,4.943,15322,3.062,15323,3.194,15545,4.943,16027,5.419,16221,2.956,16327,4.943,16331,4.773,16709,4.943,17144,4.943,17315,4.943,17496,4.943,17516,3.062,18380,4.943,18573,3.062,18810,8.809,18814,3.194,20549,7.829,20552,8.167,20555,3.37,20556,6.843,20557,9.217,20559,3.37,20560,3.37,20561,3.37,20562,3.37,20563,3.37,20564,3.37,20565,3.37,20566,3.37,20567,3.37,20568,3.37,20569,3.37,20570,4.773,20571,3.37,20572,4.943,20573,3.37,20574,4.943,20575,3.37,20576,4.943,20577,3.37,20578,4.943,20579,4.943,20580,3.062,20581,4.943,20582,3.37,20583,4.943,20584,2.956,20585,2.956,20586,6.843,20587,3.37,20588,3.37,20589,3.37,20590,3.37,20591,3.37,20592,6.843,20593,3.37,20594,5.441,20595,6.843,20596,3.37,20597,3.37,20598,3.37,20599,3.37,20600,3.37,20601,3.37,20602,3.37,20603,3.37,20604,3.37,20605,3.37,20606,3.37,20607,3.194,20608,3.37,20609,3.37,20610,3.37,20611,3.37,20612,3.37,20613,3.37,20614,3.37,20615,3.37,20616,3.37,20617,3.37,20618,3.37,20619,3.37,20620,5.441,20621,3.37,20622,5.441,20623,3.37,20624,5.441,20625,5.441,20626,5.441,20627,5.441,20628,11.03,20629,3.37,20630,3.639,20631,3.639,20632,3.639,20633,3.639]],["title/classes/SetHeightBodyParams.html",[0,0.241,4395,6.113]],["body/classes/SetHeightBodyParams.html",[0,0.42,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,55,2.462,95,0.135,101,0.013,103,0.001,104,0.001,112,0.953,190,1.81,194,3.969,195,2.67,196,4.03,197,3.395,200,3.091,202,2.319,296,3.179,3578,8.407,4395,10.662,20634,12.148,20635,10.1,20636,10.1,20637,10.1,20638,11.252]],["title/entities/ShareToken.html",[205,1.419,7511,4.833]],["body/entities/ShareToken.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.151,26,2.48,27,0.493,30,0.001,32,0.157,33,0.578,34,1.171,49,4.884,83,3.172,95,0.136,96,2.466,97,2.761,101,0.012,103,0,104,0,112,0.741,125,2.25,145,2.57,148,0.929,153,1.528,159,0.7,176,5.917,183,3.608,190,2.268,195,2.78,196,3.87,205,1.925,206,2.233,210,7.526,223,3.943,224,1.983,225,3.62,229,2.7,231,1.181,232,1.852,233,2.122,238,5.255,239,5.76,248,5.131,249,5.76,540,2.271,886,3.693,2942,4.382,3668,4.793,3692,8.788,3933,4.474,4655,3.837,5493,7.081,5495,6.892,5501,5.76,6666,5.523,6671,7.386,6672,4.922,6675,4.363,6676,4.75,6764,6.02,6798,5.76,6799,5.562,6800,5.76,7511,6.555,7527,5.76,9256,4.832,11530,5.131,11600,5.76,11674,5.021,11830,6.341,11831,6.341,16472,8.093,16474,4.603,16475,4.537,20639,12.011,20640,6.341,20641,6.846,20642,6.846,20643,9.475,20644,6.846,20645,6.846,20646,6.846,20647,9.194,20648,6.846,20649,6.341,20650,8.291,20651,6.341,20652,6.341]],["title/classes/ShareTokenBodyParams.html",[0,0.241,20653,6.113]],["body/classes/ShareTokenBodyParams.html",[0,0.345,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.524,30,0.001,32,0.16,33,0.55,34,1.704,47,0.732,55,2.441,95,0.126,101,0.009,103,0,104,0,112,0.781,122,2.065,157,2.789,185,4.127,190,2.16,194,5.288,195,2.957,196,4.465,197,3.761,199,5.495,200,2.265,202,1.699,296,3.29,300,4.316,329,6.068,703,3.057,756,3.973,855,4.034,886,3.154,891,8.094,899,3.382,1147,7.648,2587,9.249,2910,7.854,3418,4.487,3933,5.333,4197,4.507,6283,6.495,6318,7.648,6666,5.333,7511,8.36,16472,8.725,16474,4.977,16475,4.905,20638,9.228,20653,8.744,20654,9.912,20655,7.401,20656,9.885,20657,9.885,20658,7.401,20659,9.963,20660,7.401,20661,8.663,20662,7.401,20663,7.401,20664,7.401,20665,9.963,20666,8.383,20667,7.401,20668,7.401]],["title/classes/ShareTokenContextTypeMapper.html",[0,0.241,20669,6.113]],["body/classes/ShareTokenContextTypeMapper.html",[0,0.327,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,8,1.334,27,0.369,29,0.722,30,0.001,31,0.531,32,0.144,33,0.432,35,1.085,95,0.141,101,0.012,103,0.001,104,0.001,134,3.349,135,1.519,148,0.93,153,1.887,277,1.352,467,3.685,579,2.7,1953,8.936,2796,6.247,3555,7.438,4157,6.937,7640,8.391,12373,9.82,12378,9.82,12392,8.76,12399,7.683,16469,8.301,16473,8.301,16474,6.36,16475,6.269,20643,10.739,20669,10.243,20670,11.671,20671,9.458]],["title/controllers/ShareTokenController.html",[314,2.65,20672,5.86]],["body/controllers/ShareTokenController.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.888,27,0.362,29,0.709,30,0.001,31,0.522,32,0.177,33,0.424,35,1.065,36,2.44,95,0.146,100,1.82,101,0.007,103,0,104,0,135,1.502,148,0.913,176,5.223,190,1.665,202,1.198,228,0.937,274,2.172,277,0.746,314,1.986,316,2.511,317,2.717,325,6.33,333,5.227,337,4.785,340,3.286,342,7.547,345,7.403,349,6.485,379,6.371,388,3.982,390,6.027,391,8.249,392,2.717,393,2.584,395,2.793,398,2.813,400,1.53,401,5.207,402,4.776,649,3.286,650,4.239,657,2.125,675,2.664,734,3.276,871,4.051,1312,4.85,1351,5.227,1713,4.239,1714,3.911,1715,4.58,1723,2.974,2681,6.143,2954,4.938,3036,2.445,3212,6.681,3214,7.717,3216,3.911,3217,6.964,3220,7.547,3240,2.681,3242,4.255,3305,3.411,3318,3.212,3319,2.974,3555,4.954,3933,2.471,4077,4.639,6666,2.471,7176,6.128,7423,4.239,7511,5.394,10020,8.861,13362,4.833,13363,4.833,14445,6.315,16343,4.833,18221,5.967,19399,4.39,19414,4.58,19416,4.58,20653,9.036,20656,4.58,20657,4.58,20672,6.541,20673,10.295,20674,5.218,20675,8.605,20676,8.605,20677,8.605,20678,5.218,20679,8.861,20680,7.774,20681,5.218,20682,5.218,20683,5.218,20684,10.495,20685,9.036,20686,5.218,20687,5.218,20688,7.774,20689,5.218,20690,7.774,20691,5.218,20692,5.218,20693,5.218,20694,5.218,20695,5.218,20696,5.218,20697,4.58,20698,4.58,20699,7.548,20700,6.541,20701,6.541,20702,5.218,20703,5.218,20704,5.218,20705,5.218,20706,5.218,20707,5.218,20708,5.218,20709,5.218,20710,4.58,20711,5.218,20712,7.774,20713,5.218,20714,5.218,20715,5.218,20716,5.218,20717,5.218]],["title/classes/ShareTokenDO.html",[0,0.241,20718,5.346]],["body/classes/ShareTokenDO.html",[0,0.273,2,0.832,3,0.015,4,0.015,5,0.007,7,0.11,26,2.355,27,0.514,29,0.602,30,0.001,31,0.443,32,0.171,33,0.614,34,1.776,47,0.763,83,3.046,95,0.116,99,1.588,101,0.017,103,0,104,0,112,0.815,176,5.896,183,4.438,210,7.499,231,1.792,238,6.049,248,5.907,433,0.968,436,2.328,703,2.418,886,3.289,1723,6.623,1770,3.154,1852,7.301,1853,2.585,1937,3.712,2033,2.988,2959,3.619,3933,3.732,5466,4.53,5495,4.657,5788,4.491,5800,4.702,6666,3.732,6696,5.78,6764,5.022,7211,5.085,8223,8.189,8224,6.212,15313,6.63,16472,7.208,17994,6.402,20643,8.439,20647,9.161,20718,9.856,20719,13.186,20720,7.88,20721,10.388,20722,9.778,20723,7.88,20724,9.441,20725,7.88,20726,7.88,20727,7.299,20728,7.88,20729,7.88,20730,7.299]],["title/classes/ShareTokenFactory.html",[0,0.241,20731,6.451]],["body/classes/ShareTokenFactory.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,26,2.633,27,0.351,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,34,1.937,35,1.033,49,3.394,59,2.801,95,0.145,99,1.816,101,0.012,103,0.001,104,0.001,135,1.173,148,1.113,153,1.832,176,5.746,231,1.954,514,6.152,516,6.582,571,3.567,574,5.051,575,5.181,1723,5.136,2085,6.253,2472,5.432,3362,6.48,3933,4.268,4510,5.548,6666,4.268,16472,6.253,16475,5.973,20679,6.918,20718,6.918,20731,11.472,20732,11.326,20733,9.012,20734,11.326,20735,11.326,20736,9.012,20737,9.012,20738,9.012,20739,9.012,20740,7.909]],["title/classes/ShareTokenImportBodyParams.html",[0,0.241,20685,6.113]],["body/classes/ShareTokenImportBodyParams.html",[0,0.388,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,27,0.436,30,0.001,31,0.629,32,0.139,33,0.512,34,1.915,47,0.949,95,0.137,101,0.011,103,0.001,104,0.001,112,0.878,153,1.811,157,2.592,176,6.232,185,3.836,190,2.007,194,5.073,195,2.837,196,4.283,197,3.608,200,2.709,202,2.033,296,3.214,298,3.844,299,4.809,300,4.292,2033,4.247,2915,6.75,5325,9.423,7181,10.782,7687,10.782,8089,7.192,8091,7.647,20654,9.684,20685,9.829,20741,8.853,20742,8.853,20743,11.199,20744,8.853,20745,8.853]],["title/interfaces/ShareTokenInfoDto.html",[159,0.712,20746,5.86]],["body/interfaces/ShareTokenInfoDto.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.161,47,1.032,95,0.113,101,0.013,103,0.001,104,0.001,112,0.953,159,1.033,161,2.406,176,7.017,4711,9.355,6666,6.402,16472,9.38,16474,6.792,16475,6.694,20746,10.221,20747,10.1,20748,10.983]],["title/classes/ShareTokenInfoResponse.html",[0,0.241,20700,5.86]],["body/classes/ShareTokenInfoResponse.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,27,0.5,29,0.666,30,0.001,31,0.49,32,0.159,33,0.398,47,0.943,95,0.136,101,0.011,103,0.001,104,0.001,112,0.87,176,7.193,190,2.186,202,2.002,238,6.693,296,3.468,298,3.786,433,1.363,821,4.451,886,2.76,3051,6.154,3054,6.904,3200,5.202,6666,6.277,6675,5.556,16472,9.198,16474,5.863,16475,5.779,20654,10.449,20700,11.153,20748,10.769,20749,8.718,20750,8.718,20751,8.718,20752,8.718,20753,8.718,20754,8.718]],["title/classes/ShareTokenInfoResponseMapper.html",[0,0.241,20697,6.113]],["body/classes/ShareTokenInfoResponseMapper.html",[0,0.334,2,1.018,3,0.024,4,0.018,5,0.009,7,0.134,8,1.349,27,0.376,29,0.736,30,0.001,31,0.541,32,0.119,33,0.44,35,1.105,95,0.132,100,4.118,101,0.012,103,0.001,104,0.001,135,1.254,148,0.947,153,1.559,176,6.477,467,3.716,829,5.696,830,6.565,837,4.773,1725,6.805,6666,4.565,16002,7.831,20697,10.364,20700,11.195,20710,8.46,20746,11.195,20748,7.831,20755,10.938,20756,11.809,20757,9.639,20758,9.639,20759,9.639]],["title/classes/ShareTokenParentTypeMapper.html",[0,0.241,20760,6.113]],["body/classes/ShareTokenParentTypeMapper.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,8,1.326,27,0.365,29,0.715,30,0.001,31,0.526,32,0.144,33,0.428,35,1.074,95,0.14,101,0.012,103,0.001,104,0.001,134,3.318,135,1.51,148,0.921,153,1.877,277,1.34,467,3.669,579,2.675,1953,8.899,2796,6.211,3555,7.395,4157,6.872,7640,8.355,7734,7.883,12373,9.763,12378,9.763,12387,8.678,12394,8.223,12399,7.612,16469,8.223,16472,9.142,16473,8.223,16474,6.3,16475,6.21,16476,8.678,20760,10.184,20761,11.604,20762,9.369,20763,9.369]],["title/classes/ShareTokenPayloadResponse.html",[0,0.241,20764,6.113]],["body/classes/ShareTokenPayloadResponse.html",[0,0.32,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,27,0.488,29,0.705,30,0.001,31,0.519,32,0.155,33,0.422,47,0.845,95,0.128,101,0.012,103,0.001,104,0.001,112,0.902,176,6.651,190,2.062,202,2.122,296,3.43,433,1.135,886,2.926,1723,5.266,3200,5.514,3933,5.932,6666,5.932,6675,5.888,7249,7.284,16472,9.358,16474,6.213,16475,6.124,20654,10.335,20724,10.651,20764,10.097,20765,9.24,20766,11.504,20767,9.24,20768,9.24,20769,9.24,20770,8.559,20771,8.559]],["title/interfaces/ShareTokenProperties.html",[159,0.712,20650,6.113]],["body/interfaces/ShareTokenProperties.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.154,26,2.741,30,0.001,32,0.158,33,0.585,34,1.218,49,5.095,83,3.478,95,0.138,96,2.535,97,2.874,101,0.012,103,0,104,0,112,0.762,125,2.313,145,2.675,148,0.954,153,1.57,159,0.729,161,1.697,176,6.297,183,2.721,195,2.427,196,3.665,205,1.979,210,8.009,223,3.868,224,2.064,225,3.721,229,2.81,231,1.229,232,1.928,233,2.209,238,5.469,239,5.995,248,5.341,249,5.995,540,2.364,886,3.497,2942,4.504,3668,3.615,3692,5.788,3933,5.877,4655,3.993,5495,7.334,5501,5.995,6666,5.877,6671,4.865,6672,5.123,6675,4.541,6676,4.944,6764,7.909,6798,5.995,6799,5.788,6800,5.995,7511,4.944,9256,5.03,11530,5.341,11600,5.995,11674,5.226,16472,8.612,16474,4.791,16475,4.723,20639,6.6,20640,6.6,20643,10.083,20647,9.784,20649,6.6,20650,9.694,20651,6.6,20652,6.6]],["title/injectables/ShareTokenRepo.html",[589,0.926,20772,5.658]],["body/injectables/ShareTokenRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.915,10,3.217,12,3.623,18,4.012,26,2.373,27,0.516,29,0.999,30,0.001,31,0.735,32,0.162,33,0.598,34,1.626,35,1.501,36,2.627,40,2.628,95,0.125,96,1.417,101,0.007,103,0,104,0,112,0.746,113,4.653,125,1.907,135,1.524,148,1.032,153,0.878,176,5.326,183,3.057,185,2.742,205,2.139,210,5.166,224,1.573,231,1.381,277,0.776,317,2.942,436,3.812,569,1.688,589,1.064,591,1.288,652,2.382,657,1.242,729,5.466,735,3.623,736,5.511,766,2.906,1723,4.563,1770,4.688,2140,3.094,2437,9.283,2439,5.757,2440,5.652,2441,5.652,2442,5.757,2443,5.757,2444,5.652,2451,3.904,2453,3.904,2455,5.234,2456,5.466,2457,3.904,2463,8.267,2464,5.652,2465,4.731,2467,3.904,2468,5.757,2470,3.904,2472,3.273,2473,3.38,2474,3.651,2476,3.904,2517,4.07,3933,3.791,4768,3.273,5495,4.731,6666,3.791,6764,5.102,6878,3.983,6879,3.983,6880,3.983,6881,3.983,6882,3.983,6883,3.983,6884,3.983,6909,7.416,7511,8.404,10718,4.168,16165,4.568,16474,3.651,16475,3.599,20647,8.275,20718,9.298,20722,6.736,20724,6.504,20727,5.029,20730,5.029,20772,6.504,20773,9.511,20774,5.429,20775,8.006,20776,8.006,20777,5.429,20778,8.006,20779,5.429,20780,5.429,20781,5.429,20782,5.429,20783,5.429,20784,5.429,20785,5.429,20786,5.429,20787,8.006,20788,5.429,20789,5.429,20790,5.429,20791,5.429,20792,5.429,20793,5.429]],["title/classes/ShareTokenResponse.html",[0,0.241,20701,5.86]],["body/classes/ShareTokenResponse.html",[0,0.308,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,27,0.504,29,0.68,30,0.001,31,0.501,32,0.16,33,0.563,47,0.826,83,3.298,95,0.125,101,0.011,103,0.001,104,0.001,112,0.882,153,1.441,176,6.913,190,2.209,201,4.789,202,2.046,210,8.611,238,6.841,248,6.68,296,3.491,433,1.382,821,4.55,1723,7.375,17666,8.255,17994,7.24,20654,10.519,20679,6.841,20701,11.227,20764,10.815,20794,8.912,20795,8.912,20796,8.912,20797,8.912,20798,8.912,20799,8.912]],["title/classes/ShareTokenResponseMapper.html",[0,0.241,20698,6.113]],["body/classes/ShareTokenResponseMapper.html",[0,0.334,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,8,1.351,27,0.377,29,0.738,30,0.001,31,0.543,32,0.12,33,0.441,35,1.108,95,0.132,100,4.124,101,0.012,103,0.001,104,0.001,135,1.257,148,0.95,153,1.563,176,6.484,210,6.235,467,3.72,829,5.71,830,6.574,837,4.785,1723,5.507,7511,6.705,16002,7.85,16474,6.498,16475,6.404,20698,10.379,20701,11.205,20718,10.222,20755,10.954,20800,11.826,20801,9.662,20802,9.662,20803,8.95]],["title/injectables/ShareTokenService.html",[589,0.926,20804,5.658]],["body/injectables/ShareTokenService.html",[0,0.216,3,0.012,4,0.012,5,0.006,7,0.087,8,1.012,27,0.461,29,0.903,30,0.001,31,0.664,32,0.156,33,0.54,35,1.284,36,2.596,59,1.939,83,1.829,95,0.141,101,0.008,103,0,104,0,129,1.848,135,1.457,142,2.259,148,1.011,153,1.009,172,3.778,176,6,183,3.381,210,5.713,228,2.124,277,0.892,317,2.841,433,1.088,540,3.414,569,1.939,589,1.177,591,1.48,652,2.626,657,2.809,1393,5.865,1723,5.865,2018,8.375,2038,3.976,5747,8.627,5748,9.47,5770,5.476,5771,5.476,5953,6.821,7511,8.767,11399,4.79,13838,5.779,13846,5.779,16472,4.329,16474,4.196,16475,4.136,18042,5.476,20647,9.96,20718,9.078,20722,7.449,20724,9.099,20740,5.476,20748,9.608,20772,10.265,20803,8.201,20804,7.193,20805,12.285,20806,8.854,20807,10.291,20808,8.854,20809,8.854,20810,6.239,20811,9.98,20812,6.239,20813,8.854,20814,6.239,20815,6.239,20816,6.239,20817,8.854,20818,8.854,20819,6.239,20820,5.476,20821,5.476,20822,6.239,20823,6.239,20824,6.239,20825,6.239,20826,6.239,20827,6.239,20828,6.239,20829,5.779,20830,6.239,20831,5.779,20832,6.239,20833,5.779,20834,6.239]],["title/injectables/ShareTokenUC.html",[589,0.926,20699,5.658]],["body/injectables/ShareTokenUC.html",[0,0.103,3,0.006,4,0.006,5,0.003,7,0.042,8,0.57,26,2.602,27,0.442,29,0.867,30,0.001,31,0.638,32,0.148,33,0.519,34,0.853,35,1.272,36,2.399,39,3.443,47,1.02,55,1.523,59,2.336,83,2.204,95,0.135,99,0.601,100,1.04,101,0.004,102,3.417,103,0,104,0,122,1.558,125,1.188,129,2.226,135,1.577,141,3.585,148,0.944,153,1.628,172,2.129,176,5.307,183,2.87,194,1.96,210,1.924,228,1.808,277,0.426,290,2.145,317,2.861,433,0.613,540,2.494,569,0.927,571,1.974,579,2.741,589,0.663,591,0.707,595,1.131,610,1.176,652,2.747,657,2.891,675,1.522,693,2.924,1027,0.913,1086,2.375,1087,2.302,1088,2.337,1197,3.492,1268,3.958,1312,1.405,1393,6.713,1622,2.144,1723,5.737,1775,4.113,1778,6.587,1780,1.797,1783,3.958,1862,5.103,1909,7.568,1937,2.35,1962,4.485,2018,6.364,2027,5.286,2029,2.235,2033,2.438,2038,4.79,2047,3.739,2219,1.337,2220,1.504,2221,1.451,2447,2.687,2448,3.522,2608,3.006,2680,1.369,2910,3.932,2953,1.73,2959,2.291,3276,4.197,3277,5.223,3284,7.568,3285,8.078,3293,5.925,3305,3.261,3318,1.836,3319,1.699,3370,2.617,3371,2.617,3373,2.617,3374,6.324,3555,1.9,3668,1.513,3972,4.262,4157,2.187,4162,4.623,4259,1.746,4920,2.144,5495,1.762,5762,4.627,5770,2.617,5771,2.617,5953,7.158,6666,4.547,6764,1.9,7003,2.105,7181,8.426,7511,5.215,7666,7.8,7668,4.197,7686,8.178,7687,9.736,7725,4.197,7729,4.62,7735,2.762,7739,4.732,10277,2.423,11399,2.289,14447,4.197,15580,4.62,16472,6.662,16474,2.005,16475,1.977,18508,2.509,20517,5.955,20643,2.423,20656,2.617,20657,2.617,20669,2.617,20675,6.961,20676,6.961,20677,5.955,20699,4.052,20710,4.378,20718,2.289,20722,7.037,20724,7.8,20740,6.596,20746,4.197,20748,4.052,20760,2.617,20770,2.762,20771,2.762,20804,7.347,20829,6.961,20831,6.961,20833,6.961,20835,11.578,20836,2.982,20837,4.988,20838,4.988,20839,4.988,20840,4.988,20841,2.982,20842,2.982,20843,4.988,20844,2.982,20845,4.988,20846,2.982,20847,4.988,20848,2.982,20849,4.988,20850,2.982,20851,2.982,20852,2.982,20853,2.762,20854,2.982,20855,2.982,20856,2.982,20857,2.982,20858,2.982,20859,4.988,20860,2.982,20861,4.988,20862,2.982,20863,2.982,20864,2.982,20865,2.982,20866,4.988,20867,2.982,20868,4.988,20869,2.982,20870,6.43,20871,2.982,20872,2.982,20873,2.982,20874,2.982,20875,2.982,20876,4.988,20877,4.988,20878,7.516,20879,2.982,20880,2.982,20881,6.43,20882,4.988,20883,2.982,20884,2.982,20885,2.982,20886,4.988,20887,2.982,20888,4.62,20889,4.988,20890,4.988,20891,2.982,20892,4.988,20893,4.988,20894,2.982,20895,2.982,20896,2.982,20897,2.982,20898,6.43,20899,5.643,20900,2.982,20901,6.43,20902,2.982,20903,2.982,20904,2.982]],["title/classes/ShareTokenUrlParams.html",[0,0.241,20684,6.113]],["body/classes/ShareTokenUrlParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,176,6.969,185,4.099,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,299,4.685,308,7.227,20654,9.433,20661,8.605,20684,10.503,20905,9.852,20906,11.967,20907,9.852]],["title/modules/SharingApiModule.html",[252,1.839,20570,5.658]],["body/modules/SharingApiModule.html",[0,0.35,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.013,103,0,104,0,252,3.209,254,2.722,255,2.89,256,2.963,257,2.952,258,2.942,259,4.415,260,3.758,265,6.174,269,3.959,270,2.91,271,2.851,274,4.741,276,4.459,277,1.082,610,2.985,1027,2.316,1856,7.586,1903,9.763,1908,9.396,1937,3.565,2680,3.475,2959,3.475,3036,3.547,3907,4.948,9051,9.396,12253,5.81,12254,5.81,15277,9.977,20570,11.782,20672,9.584,20699,10.591,20772,8.216,20804,9.254,20811,8.216,20820,6.642,20821,6.642,20908,7.568,20909,7.568,20910,7.568,20911,11.441,20912,7.01,20913,7.01,20914,7.01]],["title/modules/SharingModule.html",[252,1.839,20911,6.113]],["body/modules/SharingModule.html",[0,0.344,3,0.014,4,0.014,5,0.007,30,0.001,95,0.155,101,0.013,103,0,104,0,252,3.176,254,2.652,255,2.816,256,2.887,257,2.876,258,2.866,259,4.369,260,4.177,265,6.133,269,3.891,270,2.836,271,2.777,274,4.137,276,4.401,277,1.054,610,2.908,1027,2.256,1856,7.536,1903,9.699,1908,9.334,1937,3.473,2680,3.386,2959,3.386,3036,3.455,3907,4.821,9051,9.334,12253,5.66,12254,5.66,15277,9.912,20570,5.99,20672,8.362,20699,8.074,20772,10.511,20804,11.369,20811,10.511,20820,6.472,20821,6.472,20911,12.805,20912,6.83,20913,6.83,20914,6.83,20915,7.374,20916,7.374,20917,7.374,20918,7.374]],["title/classes/SingleColumnBoardResponse.html",[0,0.241,19296,5.86]],["body/classes/SingleColumnBoardResponse.html",[0,0.248,2,0.756,3,0.013,4,0.013,5,0.006,7,0.1,27,0.5,29,0.547,30,0.001,31,0.402,32,0.168,33,0.327,34,1.666,47,0.943,95,0.123,101,0.009,103,0,104,0.001,112,0.764,122,2.465,125,1.706,155,4.189,157,2.969,190,2.229,202,1.645,223,3.037,296,3.356,298,3.11,304,4.826,433,1.197,821,3.657,866,3.568,868,5.331,896,6.913,1083,5.507,1132,8.628,1829,3.07,1835,5.007,2051,5.849,2965,6.975,3041,10.346,3054,6.066,3056,3.448,3197,5.216,3198,5.216,3758,10.002,4094,7.83,4467,6.287,5788,5.554,5800,5.815,6343,10.433,7506,6.553,7852,5.647,7856,7.682,8418,5.499,8467,8.911,8639,6.287,9710,6.287,9809,10.462,19296,10.462,20919,7.163,20920,7.163,20921,7.163,20922,7.163,20923,7.163,20924,7.163,20925,7.163,20926,5.499,20927,7.163,20928,7.163]],["title/classes/SingleFileParams.html",[0,0.241,7280,4.755]],["body/classes/SingleFileParams.html",[0,0.476,2,0.701,3,0.012,4,0.017,5,0.008,7,0.092,26,2.606,27,0.259,30,0.001,32,0.15,39,1.843,47,1.011,95,0.143,99,1.338,101,0.017,103,0,104,0,110,2.309,112,0.726,122,1.918,157,1.537,159,0.679,190,1.191,195,1.46,199,5.103,200,2.032,201,4.475,202,1.525,203,6.221,205,1.354,296,3.72,298,2.884,299,4.907,300,4.412,403,3.391,855,5.075,856,6.4,886,3.371,899,3.035,1078,2.91,1080,2.302,1169,3.853,1237,1.924,1290,5.97,1291,4.402,1292,4.402,3011,4.865,3201,4.989,3933,3.145,4588,2.275,5260,6.703,6389,4.609,6666,3.145,6847,6.526,7210,6.506,7212,4.342,7213,7.811,7218,4.404,7232,6.132,7262,4.609,7263,4.689,7264,4.689,7269,4.609,7270,8.308,7271,8.127,7272,8.127,7273,4.689,7274,4.609,7275,4.609,7276,4.689,7277,4.535,7278,7.861,7279,4.466,7280,6.316,7281,4.609,7282,4.535,7283,4.286,7284,4.689,7285,4.689,7286,4.689,7287,4.286,7288,4.286,7289,4.402,7290,4.535,7291,4.689,20929,6.642]],["title/classes/SortExternalToolParams.html",[0,0.241,10855,5.86]],["body/classes/SortExternalToolParams.html",[0,0.396,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,31,0.643,32,0.142,33,0.523,34,1.959,95,0.139,101,0.015,103,0.001,104,0.001,112,0.899,129,2.717,130,2.483,190,2.053,200,2.808,201,4.452,202,2.107,231,1.976,298,3.985,300,4.39,436,3.384,770,8.235,790,6.171,886,3.627,899,4.193,2696,4.173,2698,2.977,3329,9.586,4833,10.935,4837,7.721,4838,8.054,10310,7.455,10855,9.638,20930,9.177,20931,13.46,20932,9.177,20933,8.5,20934,9.177]],["title/classes/SortHelper.html",[0,0.241,20935,6.451]],["body/classes/SortHelper.html",[0,0.289,2,0.88,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,27,0.325,29,0.823,30,0.001,31,0.468,32,0.133,33,0.381,35,0.956,47,0.792,55,2.649,95,0.093,101,0.011,103,0.001,104,0.001,125,3.007,129,2.469,130,2.256,145,3.13,148,0.82,467,3.476,532,4.997,711,2.415,756,4.298,770,8.695,790,7.248,1675,8.323,2232,7.87,2995,9.582,7996,6.401,20935,9.983,20936,10.778,20937,7.318,20938,10.778,20939,10.778,20940,8.338,20941,8.338,20942,8.338]],["title/classes/SortImportUserParams.html",[0,0.241,14015,5.86]],["body/classes/SortImportUserParams.html",[0,0.396,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,32,0.142,33,0.523,95,0.146,101,0.015,103,0.001,104,0.001,112,0.899,129,2.717,130,2.483,190,2.053,200,2.808,201,4.452,202,2.107,231,1.976,298,3.985,300,4.39,436,3.384,700,5.544,701,5.544,770,8.235,790,6.171,886,3.627,899,4.193,3329,9.586,4833,10.935,4837,7.721,4838,8.054,4970,4.214,12471,7.721,14015,9.638,14125,12.467,20933,8.5,20943,9.177,20944,9.177,20945,9.177]],["title/classes/SortingParams.html",[0,0.241,4833,5.658]],["body/classes/SortingParams.html",[0,0.396,2,1.318,3,0.017,4,0.017,5,0.008,7,0.128,9,6.066,27,0.446,30,0.001,32,0.162,33,0.523,95,0.128,101,0.012,103,0.001,104,0.001,112,0.899,129,2.717,130,2.483,190,2.239,200,2.808,201,4.452,202,2.107,300,4.39,532,4.201,567,4.271,770,8.863,790,7.703,886,3.627,899,4.193,3329,9.586,3977,9.638,4833,9.306,4837,7.721,5340,9.306,20946,9.177,20947,9.177,20948,11.455,20949,9.177,20950,9.177]],["title/injectables/StartUserLoginMigrationUc.html",[589,0.926,20951,5.86]],["body/injectables/StartUserLoginMigrationUc.html",[0,0.23,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,26,2.606,27,0.415,29,0.813,30,0.001,31,0.598,32,0.132,33,0.486,35,1.061,36,2.433,39,2.568,47,0.921,95,0.15,99,1.338,101,0.009,103,0,104,0,135,1.385,142,2.404,148,0.653,153,1.496,180,5.622,183,3.533,228,2.067,290,3.051,317,2.712,433,1.137,478,1.861,579,2.641,589,1.23,591,1.576,595,2.519,610,2.619,652,2.616,657,2.768,693,3.02,703,3.266,1027,2.032,1422,2.659,1775,5.063,1780,4.003,1853,2.179,1862,6.835,1962,3.963,2066,7.631,2068,7.387,2070,3.581,2071,5.467,2073,5.588,2447,5.375,2680,3.05,2685,4.872,4588,4.492,4970,5.287,4972,5.396,4974,5.396,4975,9.194,4981,4.872,4982,5.896,4984,7.249,4985,5.396,4988,5.588,10477,4.872,16501,5.396,19038,5.588,19042,6.152,20285,5.588,20951,7.784,20952,11.513,20953,9.251,20954,8.12,20955,6.642,20956,9.251,20957,6.642,20958,9.251,20959,6.642,20960,5.396,20961,6.642,20962,6.642,20963,6.642,20964,8.12,20965,6.152,20966,5.829,20967,6.642]],["title/classes/StatelessAuthorizationParams.html",[0,0.241,17641,6.113]],["body/classes/StatelessAuthorizationParams.html",[0,0.39,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.505,30,0.001,32,0.16,33,0.64,47,1.002,95,0.126,101,0.011,103,0.001,104,0.001,112,0.885,190,2.323,200,2.739,299,5.075,300,5.12,442,9.162,856,6.27,899,4.091,998,5.847,1080,4.28,1889,9.733,1890,11.437,1891,8.291,1893,11.437,1894,8.291,1899,8.291,1900,5.853,1901,8.291,1902,8.291,17641,9.898,20968,13.361,20969,8.952,20970,8.952,20971,8.952,20972,8.952,20973,8.952]],["title/classes/StorageProviderEncryptedStringType.html",[0,0.241,20974,5.86]],["body/classes/StorageProviderEncryptedStringType.html",[0,0.242,2,0.739,3,0.013,4,0.013,5,0.006,7,0.097,8,1.096,27,0.459,29,0.836,30,0.001,31,0.615,32,0.167,33,0.5,35,1.1,47,1.06,59,2.176,95,0.122,96,1.828,101,0.009,103,0,104,0,112,0.753,125,3.035,130,3.447,135,1.248,142,3.473,145,3.601,148,1.252,157,1.621,158,3.542,224,2.028,231,1.655,233,2.17,433,0.86,610,2.761,622,8.628,652,2.226,1561,8.312,1718,5.135,1829,3.001,1834,8.028,1928,5.669,2125,5.737,2219,3.138,2220,3.53,2221,3.407,2222,4.408,5324,7.037,6730,8.204,7558,5.034,8177,7.037,9920,8.42,9921,9.209,16023,5.89,20974,8.072,20975,7.001,20976,8.886,20977,9.594,20978,9.594,20979,9.594,20980,9.594,20981,9.594,20982,10.945,20983,9.594,20984,7.001,20985,9.594,20986,7.001,20987,7.001,20988,7.001,20989,9.594,20990,8.886,20991,9.594,20992,7.001,20993,6.484,20994,9.594,20995,7.001,20996,6.484]],["title/entities/StorageProviderEntity.html",[205,1.419,5209,5.221]],["body/entities/StorageProviderEntity.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,27,0.492,30,0.001,32,0.166,33,0.492,47,1.048,95,0.133,96,2.177,101,0.014,103,0.001,104,0.001,112,0.845,159,0.853,190,2.263,195,2.369,196,2.766,205,2.196,206,2.72,211,4.599,223,4.246,224,2.415,225,4.13,226,3.792,229,3.288,231,1.439,232,2.256,233,2.585,2942,3.868,5209,8.079,5217,7.318,5493,6.25,7308,8.621,7310,8.621,7311,9.143,20974,10.049,20997,7.723,20998,11.695,20999,8.338,21000,8.338,21001,8.338,21002,8.338,21003,7.723,21004,9.46,21005,7.723,21006,7.723,21007,7.723,21008,7.723,21009,7.723,21010,7.723,21011,7.723,21012,7.723]],["title/interfaces/StorageProviderProperties.html",[159,0.712,21004,6.113]],["body/interfaces/StorageProviderProperties.html",[0,0.298,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.163,33,0.503,47,1.069,95,0.135,96,2.252,101,0.014,103,0.001,104,0.001,112,0.864,159,0.882,161,2.054,195,1.895,196,2.862,205,2.245,223,4.117,224,2.498,225,4.221,226,3.922,229,3.401,231,1.488,232,2.334,233,2.674,2942,4.001,5209,6.465,5217,7.57,7308,9.021,7310,9.021,7311,9.225,20974,9.268,20997,7.989,20998,12.237,21003,7.989,21004,10.651,21005,7.989,21006,7.989,21007,7.989,21008,7.989,21009,7.989,21010,7.989,21011,7.989,21012,7.989]],["title/injectables/StorageProviderRepo.html",[589,0.926,8985,5.86]],["body/injectables/StorageProviderRepo.html",[0,0.261,3,0.014,4,0.014,5,0.007,7,0.105,8,1.154,10,4.059,12,4.571,18,5.062,26,2.047,27,0.519,29,0.967,30,0.001,31,0.711,32,0.157,33,0.579,34,1.292,35,1.452,36,2.676,40,3.656,49,3.804,95,0.135,96,1.972,97,3.047,101,0.01,103,0,104,0,135,0.983,148,0.993,205,1.539,206,3.295,228,1.357,231,1.743,259,3.668,277,1.08,317,2.962,433,0.928,436,3.589,478,2.116,532,5.115,589,1.343,591,1.792,728,7.717,734,4.257,735,4.571,736,5.602,759,4.508,760,4.6,761,4.553,762,4.6,763,5.242,764,4.553,765,4.6,766,4.043,2445,5.432,2446,6.599,2450,7.263,2484,5.242,3998,5.332,5209,7.571,6892,5.799,8985,8.499,15471,9.577,21013,7.554,21014,7.554,21015,7.554,21016,7.554,21017,7.554]],["title/classes/StringValidator.html",[0,0.241,14124,5.49]],["body/classes/StringValidator.html",[0,0.302,2,0.92,3,0.016,4,0.016,5,0.008,7,0.121,8,1.267,27,0.432,29,0.847,30,0.001,31,0.623,32,0.137,33,0.507,35,1.272,47,1.034,59,3.447,101,0.011,103,0.001,104,0.001,122,2.299,129,2.582,130,3.666,135,1.443,141,5.502,142,3.156,145,4.163,148,1.262,195,2.437,197,3.588,299,4.342,467,3.944,1675,5.255,14124,8.743,14284,11.267,20990,8.075,21018,8.718,21019,11.091,21020,11.091,21021,8.718,21022,11.091,21023,8.718,21024,8.718,21025,8.718]],["title/entities/Submission.html",[205,1.419,3159,3.152]],["body/entities/Submission.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.146,26,2.125,27,0.484,30,0.001,32,0.159,33,0.543,34,0.798,47,0.846,55,1.759,62,2.784,72,2.143,95,0.132,96,1.218,101,0.009,103,0,104,0,112,0.763,122,2.62,125,2.317,129,1.382,130,1.263,134,1.652,135,1.722,148,1.167,153,1.573,159,0.477,190,2.227,195,2.61,196,3.479,197,1.997,205,1.456,206,1.522,211,4.788,219,3.941,223,3.7,224,1.352,225,2.738,226,2.122,229,1.84,231,0.805,232,1.263,233,1.446,277,0.667,290,2.817,578,2.446,579,1.332,652,1.453,692,4.889,703,2.984,711,3.204,813,2.615,962,3.294,985,2.707,998,2.21,1312,3.365,1821,2.21,1922,3.238,1924,3.138,1930,3.355,1939,2.48,2091,3.926,2942,5.762,2946,3.824,2950,2.594,2959,5.705,2960,2.938,3159,3.929,3432,6.359,3752,3.011,3753,3.294,4040,2.731,4116,6.642,4121,6.642,4129,6.011,4131,6.011,4588,1.598,4905,3.011,5727,3.331,6207,7.086,6208,3.138,6233,5.043,6234,5.043,6241,5.043,6242,3.294,6665,3.881,7552,2.904,7553,2.637,7569,5.137,7573,2.872,7574,2.784,7778,3.138,7779,4.322,7888,4.671,10603,7.292,16303,7.135,21026,4.322,21027,9.01,21028,9.686,21029,4.666,21030,4.666,21031,4.666,21032,4.666,21033,4.666,21034,4.666,21035,6.618,21036,4.666,21037,4.666,21038,6.27,21039,4.666,21040,4.666,21041,4.666,21042,6.011,21043,4.322,21044,4.322,21045,4.322,21046,4.322,21047,4.322,21048,3.791,21049,4.322,21050,4.322,21051,4.322,21052,3.926,21053,4.322,21054,4.322,21055,4.322,21056,4.322,21057,4.322,21058,4.322,21059,9.713,21060,4.322,21061,4.322,21062,4.322,21063,4.322,21064,4.322,21065,4.322,21066,9.01,21067,4.322,21068,6.507,21069,3.791,21070,10.245,21071,6.618,21072,3.926,21073,6.618,21074,3.582,21075,3.678,21076,4.322,21077,4.322,21078,4.322,21079,4.322,21080,6.618,21081,6.618,21082,4.322,21083,4.322,21084,4.322,21085,4.322,21086,6.507,21087,3.791,21088,3.926,21089,6.618]],["title/classes/SubmissionContainerContentBody.html",[0,0.241,6509,4.554]],["body/classes/SubmissionContainerContentBody.html",[0,0.474,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.515,27,0.211,30,0.001,31,0.68,32,0.172,33,0.365,47,0.932,83,2.345,95,0.125,99,1.092,101,0.017,103,0,104,0,110,1.885,112,0.627,130,3.276,155,1.731,157,2.428,190,0.972,195,1.192,200,1.659,201,3.694,202,1.245,223,1.69,231,2.02,296,3.707,299,4.967,300,4.486,339,1.59,360,3.117,854,5.036,855,3.239,886,1.717,899,2.478,1232,3.145,1749,4.558,1853,1.779,2049,3.878,2393,4.486,2912,2.595,2918,6.615,3159,3.62,3201,2.541,3581,3.204,3583,3.204,3586,3.174,3589,4.948,3593,4.915,3598,3.039,4065,3.302,4086,3.302,4485,5.462,6409,5.984,6411,6.056,6413,5.984,6415,6.685,6417,6.056,6419,6.056,6467,3.499,6504,6.213,6505,6.213,6506,6.213,6507,6.213,6508,6.213,6509,6.858,6847,6.7,8010,3.545,8079,4.562,8080,4.682,9639,5.378,9640,3.646,9642,8.236,9643,6.213,9644,6.213,9645,6.213,9646,3.646,9647,6.213,9648,4.924,9649,5.301,9650,6.213,9651,6.858,9652,3.545,9653,3.545,9654,3.545,9655,3.545,9656,3.646,9657,3.646,9658,3.646,9659,3.646,9660,3.646,9661,3.646,21090,5.422]],["title/classes/SubmissionContainerElement.html",[0,0.241,3149,4.386]],["body/classes/SubmissionContainerElement.html",[0,0.222,2,0.677,3,0.012,4,0.012,5,0.006,7,0.089,8,1.031,27,0.522,29,0.972,30,0.001,31,0.715,32,0.164,33,0.582,35,1.491,36,1.907,55,1.828,59,1.992,83,3.503,95,0.116,101,0.013,103,0,104,0,112,0.708,113,3.585,122,2.165,130,2.442,134,2.269,135,0.834,142,4.325,148,1.026,158,2.366,159,0.655,189,5.554,231,1.802,317,2.259,435,3.1,436,3.84,527,2.723,532,3.309,567,2.389,569,3.713,653,3.711,657,1.466,711,2.614,735,4.083,1770,4.537,1773,6.36,1842,4.123,2051,2.712,2662,6.376,2675,5.332,3058,7.965,3061,6.369,3062,6.369,3063,6.369,3064,5.899,3065,6.369,3067,3.989,3068,5.495,3069,6.574,3071,6.16,3072,5.495,3073,6.516,3075,4.447,3076,4.829,3078,6.575,3079,4.447,3081,6.488,3083,4.447,3085,3.989,3112,5.438,3149,7.137,3159,2.9,3160,6.36,3161,5.206,3593,5.862,4346,6.488,4347,4.608,4348,4.608,4357,3.989,4362,5.554,5423,5.625,5424,5.936,9663,4.447,19073,5.936,19075,5.936,21091,8.483,21092,6.409,21093,6.409,21094,8.357,21095,5.936,21096,5.936,21097,5.936,21098,5.625,21099,5.936]],["title/classes/SubmissionContainerElementContent.html",[0,0.241,21100,5.86]],["body/classes/SubmissionContainerElementContent.html",[0,0.368,2,0.862,3,0.015,4,0.015,5,0.007,7,0.114,27,0.415,29,0.624,30,0.001,31,0.459,32,0.165,33,0.373,34,2.022,47,0.869,83,3.905,95,0.132,101,0.014,103,0.001,104,0.001,112,0.834,142,4.535,157,2.462,190,1.464,202,1.876,296,3.484,304,4.045,433,1.453,458,3.258,567,3.965,821,4.171,866,4.069,886,2.586,1853,2.68,2109,3.579,2393,4.532,2641,6.477,2926,6.86,3160,7.202,3197,4.372,3198,4.372,3201,3.828,3593,7.014,3759,5.577,3771,4.827,4019,6.114,4023,5.341,4025,5.341,4405,8.164,4485,6.157,6417,5.206,9689,6.873,21100,11.205,21101,10.954,21102,9.335,21103,9.851,21104,9.851,21105,8.169,21106,6.27]],["title/classes/SubmissionContainerElementContentBody.html",[0,0.241,9650,4.554]],["body/classes/SubmissionContainerElementContentBody.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.309,30,0.001,31,0.678,32,0.174,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.278,130,3.265,155,1.712,157,2.416,190,1.422,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.082,296,3.703,299,4.953,300,4.468,339,1.573,360,3.084,436,1.585,854,4.997,855,3.213,866,2.672,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.747,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,6.65,6417,6.65,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.174,6508,6.174,6509,6.823,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.53,9643,6.174,9644,6.174,9645,6.174,9646,3.607,9647,6.174,9648,3.302,9649,3.556,9650,6.823,9651,6.823,9652,3.507,9653,3.507,9654,3.507,9655,3.507,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,9691,4.118,21107,5.364,21108,5.364]],["title/entities/SubmissionContainerElementNode.html",[205,1.419,3515,5.49]],["body/entities/SubmissionContainerElementNode.html",[0,0.307,3,0.016,4,0.016,5,0.008,7,0.124,27,0.346,30,0.001,32,0.11,83,3.606,95,0.144,96,2.316,101,0.014,103,0.001,104,0.001,112,0.88,134,3.142,135,1.154,142,4.452,148,0.872,159,0.907,190,1.59,195,2.465,196,2.944,205,2.285,206,2.895,211,4.894,223,3.495,224,2.57,231,1.935,232,2.401,457,4.932,1770,4.923,2049,4.576,2109,3.887,2662,5.339,2715,5.014,3160,6.83,3467,6.003,3477,6.692,3515,8.841,3549,5.404,3576,9.843,3593,6.682,3922,6.83,3942,5.462,4448,5.587,4450,5.587,9695,7.465,21106,6.811,21109,9.436,21110,9.843,21111,7.208,21112,8.218]],["title/interfaces/SubmissionContainerElementProps.html",[159,0.712,21098,6.113]],["body/interfaces/SubmissionContainerElementProps.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.136,36,1.811,83,3.866,95,0.135,101,0.016,103,0.001,104,0.001,112,0.86,122,1.777,130,2.319,134,3.035,135,1.115,142,4.773,148,1.189,158,3.163,159,0.876,161,2.041,231,2.088,317,1.854,527,3.642,567,3.195,569,2.663,653,4.512,657,1.96,1770,3.43,1842,5.013,2051,3.627,2662,5.223,2675,6.483,3058,6.612,3068,5.219,3069,6.363,3072,5.219,3073,6.306,3081,6.162,3112,7.293,3149,7.619,3159,3.878,3160,5.219,3161,6.962,3593,6.82,4357,5.334,4362,6.753,9663,5.946,21091,6.962,21094,10.161,21095,7.938,21096,7.938,21097,7.938,21098,9.628,21099,7.938]],["title/classes/SubmissionContainerElementResponse.html",[0,0.241,4405,5.346]],["body/classes/SubmissionContainerElementResponse.html",[0,0.355,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,27,0.497,29,0.59,30,0.001,31,0.434,32,0.173,33,0.353,34,2.182,47,0.846,83,3.375,95,0.128,101,0.013,103,0,104,0,112,0.804,142,3.713,157,1.789,190,2.198,202,1.774,296,3.555,304,3.827,433,1.414,458,3.082,567,2.882,821,3.946,886,2.447,1853,2.535,2109,3.386,2393,4.889,2641,4.707,2926,7.4,3160,7.987,3196,5.053,3197,5.489,3198,5.489,3200,4.612,3201,4.806,3593,6.341,3759,5.277,3771,4.567,4019,6.617,4023,5.053,4025,5.053,4405,9.794,4485,6.642,6417,6.536,11573,7.158,11585,7.158,11586,7.158,11588,7.158,21100,10.315,21101,12.147,21102,6.783,21103,7.158,21104,7.158,21106,5.933,21113,7.728]],["title/classes/SubmissionContainerElementResponseMapper.html",[0,0.241,6444,6.113]],["body/classes/SubmissionContainerElementResponseMapper.html",[0,0.265,2,0.808,3,0.014,4,0.014,5,0.007,7,0.107,8,1.164,27,0.476,29,0.778,30,0.001,31,0.572,32,0.151,33,0.466,34,1.309,35,1.314,95,0.128,100,2.669,101,0.01,103,0,104,0,112,0.799,122,2.113,135,0.996,141,4.368,148,1.126,153,2.057,430,3.148,467,3.807,652,2.33,653,3.148,711,2.217,829,4.524,830,5.665,833,6.219,835,5.876,1237,2.952,1853,2.511,2049,5.533,2140,4.363,2393,2.933,2653,8.402,2656,7.822,2657,7.822,2659,7.638,2926,4.44,3149,8.538,3160,7.745,3593,5.27,4019,5.858,4035,5.404,4405,9.375,4485,3.985,5927,7.13,6417,4.878,6438,5.876,6444,11.716,9704,9.154,9705,6.034,9712,6.034,9713,6.034,9714,6.034,21100,9.638,21114,11.78,21115,7.09,21116,11.455,21117,11.455,21118,7.655]],["title/interfaces/SubmissionContainerNodeProps.html",[159,0.712,21110,6.113]],["body/interfaces/SubmissionContainerNodeProps.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.111,83,3.798,95,0.144,96,2.332,101,0.014,103,0.001,104,0.001,112,0.883,134,3.163,135,1.162,142,4.689,148,0.878,159,0.913,161,2.128,195,1.963,196,2.963,205,2.295,223,3.51,224,2.587,231,2.128,232,2.417,457,4.965,1770,4.938,2049,3.645,2109,3.913,2662,5.362,2715,5.047,3160,5.44,3467,6.028,3477,6.72,3515,7.041,3549,5.44,3576,9.884,3593,6.906,3922,7.512,3942,5.498,4448,5.624,4450,5.624,21106,6.856,21109,7.515,21110,10.826,21111,7.256,21112,8.273]],["title/classes/SubmissionContainerUrlParams.html",[0,0.241,4054,6.113]],["body/classes/SubmissionContainerUrlParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,34,2.046,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,855,4.846,3159,5.416,3160,7.288,4054,10.503,4197,6,8095,9.433,21119,10.503,21120,9.852,21121,11.939,21122,9.852]],["title/controllers/SubmissionController.html",[314,2.65,21123,6.113]],["body/controllers/SubmissionController.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.11,8,1.187,10,4.67,27,0.405,29,0.793,30,0.001,31,0.584,32,0.129,33,0.475,35,1.191,36,2.611,95,0.147,100,2.748,101,0.01,103,0,104,0,135,1.607,141,4.452,148,1.021,153,1.274,190,1.862,202,1.809,228,1.415,274,3.28,277,1.127,314,2.999,316,3.793,317,2.853,325,6.657,326,4.422,349,6.923,388,4.452,392,4.103,395,4.218,398,4.249,400,2.311,657,2.376,675,4.023,3036,3.693,3220,6.792,3240,4.049,4040,6.081,15558,6.63,15564,6.63,21123,9.117,21124,7.88,21125,11.621,21126,10.843,21127,10.388,21128,7.88,21129,7.88,21130,10.394,21131,10.388,21132,7.88,21133,6.916,21134,9.778,21135,6.63,21136,7.88,21137,7.88,21138,7.88,21139,7.88,21140,7.88,21141,7.299,21142,7.88,21143,10.388,21144,7.88,21145,7.88,21146,7.88]],["title/classes/SubmissionFactory.html",[0,0.241,21147,6.451]],["body/classes/SubmissionFactory.html",[0,0.159,2,0.486,3,0.009,4,0.009,5,0.004,7,0.064,8,0.808,27,0.523,29,1.008,30,0.001,31,0.708,32,0.166,33,0.575,34,1.473,35,1.391,47,0.52,55,2.509,59,3.241,95,0.123,101,0.006,103,0,104,0,112,0.555,113,4.373,127,4.843,129,3.502,130,3.2,135,1.432,148,1.025,157,1.994,172,3.02,185,2.423,192,2.541,195,1.555,205,2.125,206,2.308,228,1.271,231,1.221,326,4.978,374,3.072,433,0.566,436,3.823,467,2.059,478,1.291,501,7.234,502,5.372,505,3.933,506,5.372,507,5.386,508,3.933,509,3.933,510,3.933,511,3.872,512,4.397,513,4.788,514,6.424,515,5.706,516,7.019,517,2.582,522,2.561,523,3.933,524,2.582,525,5.065,526,5.21,527,4.107,528,4.903,529,3.902,530,2.561,531,2.415,532,4.036,533,2.449,534,2.415,535,2.561,536,2.582,537,4.714,538,2.561,539,7.342,540,3.924,541,6.575,542,2.582,543,4.192,544,2.561,545,2.582,546,2.561,547,2.582,548,2.561,549,2.868,550,2.697,551,2.561,552,6.023,553,2.582,554,2.561,555,3.933,556,3.59,557,3.933,558,2.582,559,2.484,560,2.449,561,2.075,562,2.561,563,2.561,564,2.561,565,2.582,566,2.582,567,1.718,568,2.561,569,1.432,570,2.582,571,2.801,572,2.561,573,2.582,575,2.649,576,2.723,577,5.766,697,3.313,698,3.537,703,1.413,2959,2.116,3159,3.202,3432,4.067,4116,7.119,4121,7.119,7763,3.632,7764,3.743,7773,3.632,10603,5.303,21028,5.953,21042,3.876,21147,7.978,21148,4.607,21149,9.663,21150,7.075,21151,4.607,21152,4.607,21153,4.607,21154,7.075,21155,4.607,21156,4.607,21157,4.044,21158,4.607,21159,4.044,21160,4.607,21161,4.607,21162,4.607,21163,4.267]],["title/classes/SubmissionItem.html",[0,0.241,2675,4.116]],["body/classes/SubmissionItem.html",[0,0.207,2,0.631,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,26,2.454,27,0.526,29,0.975,30,0.001,31,0.717,32,0.163,33,0.583,35,1.491,36,1.815,39,3.049,55,1.74,59,1.858,95,0.122,99,1.205,101,0.014,103,0,104,0,112,0.674,113,3.412,122,2.647,130,2.973,134,2.117,135,1.117,148,1.08,158,2.207,159,0.611,189,5.287,231,1.734,317,2.174,435,2.95,436,3.771,527,2.541,532,3.15,567,3.202,569,3.765,653,2.459,657,1.367,711,2.488,735,3.887,1770,3.438,1773,6.121,1842,3.925,1853,1.962,2049,3.505,2051,2.53,2662,6.359,2675,6.492,3058,7.836,3061,6.063,3062,6.063,3063,6.063,3064,5.615,3065,6.063,3067,3.722,3068,5.23,3069,6.372,3071,5.864,3072,5.23,3073,6.315,3075,4.149,3076,4.597,3078,6.917,3079,4.149,3083,4.149,3085,3.722,3112,5.177,3140,5.346,3146,5.287,3595,6.762,4346,4.299,4347,4.299,4348,4.299,4357,3.722,4362,5.287,5423,5.248,8452,4.713,11555,5.538,18379,6.593,21091,9.452,21164,5.538,21165,5.979,21166,7.955,21167,5.979,21168,5.979,21169,5.979,21170,5.979,21171,5.979,21172,5.979,21173,5.979,21174,5.248,21175,5.248,21176,7.955,21177,5.538,21178,5.538,21179,5.538,21180,5.538,21181,5.538,21182,5.538,21183,5.248,21184,5.538,21185,5.248,21186,5.248,21187,5.248]],["title/injectables/SubmissionItemFactory.html",[589,0.926,21188,6.451]],["body/injectables/SubmissionItemFactory.html",[0,0.338,3,0.018,4,0.018,5,0.009,7,0.136,8,1.359,27,0.38,30,0.001,34,1.668,35,1.119,39,2.708,49,3.675,83,3.488,95,0.143,101,0.013,103,0.001,104,0.001,148,0.959,153,2.215,197,2.727,277,1.395,430,4.013,431,4.182,507,5.934,574,5.468,589,1.581,591,2.314,2675,7.896,3159,4.415,3161,7.926,3595,6.006,4510,7.323,21091,9.664,21188,11.019,21189,9.756,21190,9.756]],["title/entities/SubmissionItemNode.html",[205,1.419,3518,5.49]],["body/entities/SubmissionItemNode.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.148,26,2.532,27,0.413,30,0.001,32,0.131,39,3.469,95,0.144,96,2.12,99,1.636,101,0.014,103,0.001,104,0.001,112,0.831,122,2.445,134,2.875,135,1.056,148,0.798,159,0.83,190,1.899,205,2.159,206,2.649,223,3.895,224,2.352,231,1.828,232,2.197,242,4.285,243,5.112,290,2.513,457,4.514,644,4.945,648,5.112,734,3.422,816,7.351,1080,2.814,1268,4.998,1770,4.72,1829,3.48,2109,3.557,2551,5.239,2662,5.043,2715,4.588,3159,4.794,3432,6.09,3467,5.67,3477,6.321,3518,8.351,3521,7.609,3549,4.945,3592,9.298,3595,7.694,3922,6.452,3942,4.998,4448,5.112,4449,7.52,4450,5.112,4913,5.955,5347,6.086,6306,8.132,10349,7.126,10603,6.086,21109,9.921,21191,8.119,21192,9.812,21193,9.812,21194,7.52,21195,9.298,21196,7.126,21197,7.52,21198,7.52]],["title/interfaces/SubmissionItemNodeProps.html",[159,0.712,21195,6.113]],["body/interfaces/SubmissionItemNodeProps.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.151,26,2.653,30,0.001,32,0.134,39,3.633,95,0.146,96,2.186,99,1.687,101,0.014,103,0.001,104,0.001,112,0.848,122,2.622,134,2.965,135,1.089,148,0.823,159,0.856,161,1.994,205,2.202,223,3.729,224,2.425,231,2.065,232,2.266,242,4.419,243,5.272,290,1.986,457,4.655,644,5.099,648,5.272,734,3.529,816,5.81,1080,2.902,1268,5.154,1770,4.791,1829,3.589,2109,3.668,2551,5.403,2662,5.145,2715,4.732,3159,3.789,3432,4.814,3467,5.785,3477,6.449,3518,6.6,3521,5.403,3549,5.099,3592,9.485,3595,8.059,3922,7.288,3942,5.154,4448,5.272,4450,5.272,4913,6.142,5347,6.276,6306,6.427,10603,6.276,21109,7.045,21192,7.755,21193,7.755,21194,7.755,21195,10.503,21196,7.349,21197,7.755,21198,7.755]],["title/interfaces/SubmissionItemProps.html",[159,0.712,21183,6.113]],["body/interfaces/SubmissionItemProps.html",[0,0.277,3,0.015,4,0.015,5,0.007,7,0.111,26,2.684,30,0.001,32,0.145,36,1.692,39,3.582,95,0.139,99,1.613,101,0.016,103,0,104,0,112,0.823,122,2.746,130,2.84,134,2.835,135,1.366,148,1.222,158,2.955,159,0.819,161,1.907,231,2.021,317,1.732,527,3.402,567,3.914,569,2.488,653,3.293,657,1.831,1842,4.797,1853,2.626,2049,4.283,2051,3.388,2662,5.576,2675,6.921,3058,6.327,3068,4.876,3069,6.089,3072,4.876,3073,6.034,3112,7.059,3140,6.534,3146,6.462,3595,7.945,4357,4.983,4362,6.462,18379,8.058,21091,6.504,21164,7.415,21166,7.415,21174,7.026,21175,7.026,21176,9.723,21177,7.415,21178,7.415,21179,7.415,21180,7.415,21181,7.415,21182,7.415,21183,9.213,21184,7.415,21185,7.026,21186,7.026,21187,7.026]],["title/classes/SubmissionItemResponse.html",[0,0.241,9856,5.658]],["body/classes/SubmissionItemResponse.html",[0,0.261,2,0.797,3,0.014,4,0.014,5,0.007,7,0.105,27,0.508,29,0.577,30,0.001,31,0.424,32,0.165,33,0.345,34,2.165,39,3.514,47,0.893,95,0.127,101,0.01,103,0,104,0,112,0.792,122,2.094,125,1.799,190,2.27,202,1.734,242,3.987,296,3.537,304,5.002,433,1.241,458,3.012,821,3.857,866,3.763,874,5.913,896,7.039,1835,5.19,2049,3.083,2918,5.708,2926,7.344,3196,6.604,3197,6.503,3198,6.503,3595,7.794,4019,6.542,4023,4.939,4025,4.939,4064,5.662,4065,4.6,4066,8.182,4067,8.735,4086,4.6,4087,6.137,4088,6.137,4467,6.63,8095,10.488,9856,10.287,21119,11.677,21196,6.63,21199,7.554,21200,7.554,21201,7.554,21202,7.554,21203,7.554,21204,7.554,21205,7.554,21206,7.554]],["title/classes/SubmissionItemResponseMapper.html",[0,0.241,4072,5.86]],["body/classes/SubmissionItemResponseMapper.html",[0,0.235,2,0.718,3,0.013,4,0.013,5,0.006,7,0.095,8,1.074,27,0.476,29,0.823,30,0.001,31,0.605,32,0.144,33,0.492,34,1.163,35,1.334,39,2.61,95,0.12,100,2.371,101,0.009,103,0,104,0,112,0.738,135,1.643,141,4.984,148,1.143,153,1.974,290,1.613,430,2.797,467,3.675,652,2.568,700,3.291,701,3.291,711,3.749,829,4.018,830,5.227,871,3.46,896,3.78,1853,2.231,2049,2.775,2393,2.606,2675,7.795,2693,5.968,2926,3.944,3066,4.718,3140,5.853,3146,5.788,3418,4.855,3435,9.935,3469,4.572,3470,4.445,3521,8.148,3595,4.186,4019,5.406,4035,4.8,4068,9.069,4071,5.219,4072,10.89,4075,5.968,4091,6.298,4471,6.298,5927,6.709,7608,4.987,9704,8.717,9856,9.918,12798,5.721,18789,6.298,18790,6.298,21114,11.695,21115,6.298,21185,5.968,21207,9.403,21208,9.403,21209,6.799,21210,6.298,21211,9.403,21212,9.403,21213,6.799,21214,9.403,21215,6.799,21216,9.069,21217,10.779,21218,6.298,21219,6.799,21220,6.799,21221,9.403,21222,6.799,21223,6.799,21224,6.799,21225,6.799,21226,6.799,21227,6.799]],["title/injectables/SubmissionItemService.html",[589,0.926,3893,5.658]],["body/injectables/SubmissionItemService.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,12,4.265,26,2.625,27,0.454,29,0.889,30,0.001,31,0.654,32,0.156,33,0.532,34,1.846,35,1.238,36,2.671,39,2.997,40,4.561,49,2.57,83,3.166,95,0.144,99,1.375,101,0.009,103,0,104,0,122,2.414,135,1.515,148,0.926,153,2.095,172,4.022,228,1.693,277,0.976,317,2.899,338,4.2,393,3.378,400,2,430,2.806,431,2.924,433,0.838,574,3.824,579,2.691,589,1.253,591,1.618,652,1.388,653,2.806,657,2.469,734,4.551,1723,6.154,1853,2.238,1924,4.588,2049,4.406,2051,2.887,2636,3.339,2675,7.919,2954,3.626,3149,7.333,3237,5.467,3445,5.114,3446,8.922,3454,6.319,3595,7.524,3679,5.988,3725,9.711,3893,7.657,4503,5.543,4510,4.2,6435,5.802,6449,5.988,9884,5.988,16798,6.319,21228,12.222,21229,6.822,21230,6.822,21231,11.646,21232,6.822,21233,6.822,21234,9.425,21235,6.822,21236,6.822,21237,6.822,21238,6.822,21239,6.822,21240,6.822,21241,6.822,21242,9.425]],["title/injectables/SubmissionItemUc.html",[589,0.926,3028,5.86]],["body/injectables/SubmissionItemUc.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.888,26,2.867,27,0.466,29,0.913,30,0.001,31,0.672,32,0.164,33,0.546,34,0.892,35,1.324,36,2.597,39,3.548,59,1.622,95,0.129,99,1.051,101,0.007,103,0,104,0,113,5.079,122,1.926,135,1.502,148,0.913,153,1.502,228,1.849,231,1.341,277,0.746,317,2.922,433,0.955,436,2.744,579,2.653,589,1.033,591,1.238,610,2.058,657,2.923,688,2.433,1197,5.98,1793,3.459,1853,1.712,1862,6.355,1936,3.509,1968,5.702,2019,7.552,2049,3.172,2662,5.496,2663,8.861,2665,6.128,2666,8.116,2667,3.752,2668,8.526,2670,4.005,2671,5.702,2672,6.681,2674,4.113,2675,7.554,2677,4.113,2678,5.488,2680,2.396,2692,4.39,2694,4.005,2953,4.509,2954,2.773,3028,6.541,3140,3.248,3146,3.212,3149,5.85,3159,2.361,3160,3.178,3418,4.185,3435,4.005,3453,3.911,3595,6.338,3893,9.714,4041,7.817,4043,8.605,4075,8.154,4154,4.239,4155,4.239,4156,4.239,4159,4.239,4160,4.239,4485,5.36,4538,8.154,4540,4.833,5138,2.793,6409,3.286,6413,3.286,6435,4.785,9884,4.58,9885,4.833,9894,7.2,9896,4.833,9904,4.833,10305,4.58,21121,8.605,21174,4.58,21175,4.58,21186,4.58,21187,4.58,21243,11.009,21244,5.218,21245,9.291,21246,5.218,21247,10.692,21248,5.218,21249,5.218,21250,5.218,21251,5.218,21252,5.218,21253,5.218,21254,5.218,21255,5.218,21256,5.218,21257,5.218,21258,5.218,21259,5.218,21260,5.218,21261,7.774,21262,5.218,21263,5.218]],["title/classes/SubmissionItemUrlParams.html",[0,0.241,4045,6.113]],["body/classes/SubmissionItemUrlParams.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.384,30,0.001,32,0.122,34,2.046,47,0.879,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,157,2.28,190,1.766,194,4.702,195,2.63,196,3.97,197,3.345,200,3.015,202,2.262,296,3.131,855,4.846,3159,5.416,3521,7.722,4045,10.503,4197,6,8095,9.433,21119,10.503,21247,11.939,21264,9.852,21265,9.852]],["title/classes/SubmissionMapper.html",[0,0.241,21133,6.113]],["body/classes/SubmissionMapper.html",[0,0.334,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.349,27,0.376,29,0.736,30,0.001,31,0.541,32,0.119,33,0.44,34,1.648,35,1.105,95,0.132,100,4.118,101,0.012,103,0.001,104,0.001,135,1.254,148,0.947,153,1.559,467,3.716,478,2.7,837,4.773,3159,6.178,16303,7.07,21068,7.225,21086,7.225,21133,10.364,21266,9.639,21267,11.809,21268,11.809,21269,9.639,21270,11.195,21271,9.639,21272,8.46,21273,8.11,21274,7.831,21275,9.639,21276,8.11,21277,8.46,21278,9.639]],["title/interfaces/SubmissionProperties.html",[159,0.712,21042,5.86]],["body/interfaces/SubmissionProperties.html",[0,0.17,3,0.009,4,0.009,5,0.004,7,0.149,26,2.175,30,0.001,32,0.162,33,0.593,34,0.841,47,0.908,55,2.025,62,2.934,72,2.258,95,0.135,96,1.284,101,0.01,103,0,104,0,112,0.784,122,2.72,125,2.136,134,1.741,135,1.739,148,1.186,153,1.45,159,0.503,161,1.171,195,2.196,196,3.316,197,2.078,205,1.515,219,4.101,223,3.518,224,1.424,225,2.849,226,2.236,229,1.939,231,0.848,232,1.331,233,1.524,277,0.703,290,3.036,578,2.578,579,1.404,652,1.512,692,5.263,703,3.293,711,3.27,813,2.756,962,3.471,985,2.852,998,2.329,1312,3.503,1821,2.329,1922,3.412,1924,3.307,1930,3.536,1939,2.613,2091,4.138,2942,4.978,2946,2.632,2950,2.734,2959,5.956,2960,3.096,3159,3.365,3432,6.739,3752,3.173,3753,3.471,4040,2.879,4116,7.328,4121,7.328,4129,6.256,4131,6.256,4588,1.684,4905,3.173,5727,3.466,6207,7.515,6208,3.307,6233,3.471,6234,3.471,6241,5.249,6242,3.471,6665,4.039,7552,3.061,7553,2.779,7569,3.536,7573,3.027,7574,2.934,7888,3.215,10603,8.045,16303,7.873,21026,4.555,21027,9.941,21028,9.864,21035,4.555,21038,4.316,21042,7.544,21043,4.555,21044,4.555,21045,4.555,21046,4.555,21047,4.555,21048,3.995,21049,4.555,21050,4.555,21051,4.555,21052,4.138,21053,4.555,21054,4.555,21055,4.555,21056,4.555,21057,4.555,21058,4.555,21059,9.941,21060,4.555,21061,4.555,21062,4.555,21063,4.555,21064,4.555,21065,4.555,21066,9.257,21067,4.555,21068,6.72,21069,3.995,21070,10.456,21071,6.887,21072,4.138,21073,6.887,21074,3.775,21075,3.876,21076,4.555,21077,4.555,21078,4.555,21079,4.555,21080,6.887,21081,6.887,21082,4.555,21083,4.555,21084,4.555,21085,4.555,21086,6.72,21087,3.995,21088,4.138,21089,6.887]],["title/injectables/SubmissionRepo.html",[589,0.926,1914,5.346]],["body/injectables/SubmissionRepo.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,10,3.422,12,3.854,18,4.267,26,2.667,27,0.505,29,0.972,30,0.001,31,0.715,32,0.157,33,0.581,34,1.01,35,1.459,36,2.846,39,3.214,40,4.121,47,0.734,95,0.129,96,1.543,98,3.561,99,1.191,101,0.008,103,0,104,0,135,1.507,141,3.65,148,1.138,205,1.204,206,2.778,224,1.712,231,1.469,277,0.845,317,3.044,365,3.782,436,3.227,478,1.655,532,4.887,589,1.132,591,1.402,652,2.454,657,2.91,728,7.212,734,3.589,735,3.854,736,4.915,759,3.526,760,3.599,761,3.561,762,3.599,764,3.561,765,3.599,766,3.163,1626,3.312,1829,2.533,1914,6.537,2479,3.492,2938,4.895,2959,2.713,3159,5.627,3319,3.368,3432,3.397,3998,4.171,4040,5.844,4811,6.713,4817,6.918,6207,5.957,6288,2.402,7513,3.766,7807,4.536,15777,7.888,19376,5.473,21028,4.972,21279,5.909,21280,8.516,21281,8.516,21282,8.516,21283,8.516,21284,5.909,21285,8.516,21286,5.909,21287,8.516,21288,5.909,21289,5.473,21290,8.516,21291,5.909,21292,5.909,21293,5.909,21294,5.909,21295,5.909,21296,8.516,21297,5.909,21298,5.909,21299,5.909,21300,5.909]],["title/injectables/SubmissionRule.html",[589,0.926,1876,5.86]],["body/injectables/SubmissionRule.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,8,0.908,27,0.483,29,0.946,30,0.001,31,0.696,32,0.157,33,0.566,35,1.385,95,0.124,101,0.007,103,0,104,0,122,2.503,135,1.519,141,3.408,148,1.187,153,0.87,183,3.99,197,2.222,205,2.129,228,1.428,277,0.769,290,3.4,400,1.577,433,0.661,478,1.507,579,1.536,589,1.057,591,1.276,652,2.781,653,2.212,711,3.381,1197,7.254,1237,1.558,1622,3.867,1775,5.719,1778,6.58,1792,5.517,1793,5.27,1801,7.185,1838,4.792,1876,6.69,1877,9.81,1982,5.067,1986,4.894,1993,3.516,2619,5.067,3159,6.637,3555,3.428,3711,3.565,3714,5.131,3716,3.565,3717,5.27,15678,4.982,21274,4.37,21301,5.379,21302,11.672,21303,10.449,21304,10.449,21305,11.672,21306,10.449,21307,5.379,21308,7.951,21309,5.379,21310,7.951,21311,5.379,21312,7.951,21313,5.379,21314,5.379,21315,7.951,21316,5.379,21317,7.951,21318,5.379,21319,5.379,21320,5.379,21321,5.379,21322,7.951,21323,5.379,21324,7.951,21325,5.379,21326,5.379,21327,5.379,21328,7.951,21329,7.951]],["title/injectables/SubmissionService.html",[589,0.926,21330,5.658]],["body/injectables/SubmissionService.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,10,4.212,12,4.744,26,2.733,27,0.484,29,0.948,30,0.001,31,0.698,32,0.154,33,0.567,35,1.342,36,2.797,95,0.144,98,4.816,99,1.61,101,0.01,103,0,104,0,135,1.04,148,1.03,228,1.883,277,1.143,279,3.313,317,2.995,433,1.288,478,2.238,589,1.394,591,1.895,652,2.132,657,2.397,1317,5.092,1914,10.161,2831,3.198,3159,5.837,3898,4.004,4040,6.137,7340,9.7,21330,8.516,21331,7.99,21332,9.71,21333,7.99,21334,7.99,21335,10.483,21336,7.99,21337,10.483,21338,7.99,21339,6.298,21340,10.483,21341,7.99,21342,7.012,21343,7.99,21344,7.99,21345,7.99,21346,7.99]],["title/classes/SubmissionStatusListResponse.html",[0,0.241,21135,5.86]],["body/classes/SubmissionStatusListResponse.html",[0,0.386,2,0.928,3,0.016,4,0.016,5,0.008,7,0.122,27,0.435,29,0.671,30,0.001,31,0.494,32,0.152,33,0.402,34,2.094,47,0.9,55,1.782,95,0.098,101,0.014,103,0.001,104,0.001,112,0.875,122,2.312,125,2.095,190,1.576,201,4.76,202,2.019,296,3.553,339,3.897,433,1.37,458,3.507,864,6.411,866,4.381,881,4.813,16303,8.983,21052,7.4,21068,9.18,21072,7.4,21086,9.18,21088,7.4,21135,9.384,21270,11.745,21272,10.749,21277,10.749,21347,8.146,21348,8.795,21349,8.795,21350,8.146,21351,8.146]],["title/classes/SubmissionStatusResponse.html",[0,0.241,21270,5.86]],["body/classes/SubmissionStatusResponse.html",[0,0.36,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,27,0.524,29,0.603,30,0.001,31,0.444,32,0.169,33,0.587,34,2.197,47,0.969,55,2.108,95,0.088,101,0.013,103,0,104,0,112,0.816,122,2.563,190,2.365,201,4.994,202,1.813,296,3.648,339,3.05,433,1.278,458,3.149,821,4.031,864,4.539,881,4.321,16303,9.424,21052,6.643,21068,9.631,21072,6.643,21086,9.631,21088,6.643,21135,6.643,21270,11.486,21272,11.276,21277,11.276,21347,7.313,21350,7.313,21351,7.313,21352,7.896,21353,7.896,21354,7.896,21355,7.896,21356,7.896,21357,7.896,21358,7.896]],["title/injectables/SubmissionUc.html",[589,0.926,21134,5.86]],["body/injectables/SubmissionUc.html",[0,0.245,3,0.013,4,0.013,5,0.006,7,0.099,8,1.104,10,3.883,26,2.836,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.262,36,2.042,39,2.682,95,0.142,99,1.425,101,0.009,103,0,104,0,135,1.702,148,1.162,158,2.612,195,1.555,228,1.735,277,1.012,290,3.272,317,2.765,433,1.187,478,1.982,589,1.285,591,1.678,595,2.683,610,2.79,652,2.518,657,2.705,693,3.217,980,3.902,1780,4.264,1838,5.824,1862,6.952,1962,5.766,1964,5.577,2680,3.249,3159,6.112,4040,5.657,4987,5.748,15724,8.13,21134,8.13,21330,10.383,21332,8.95,21339,8.675,21342,9.659,21359,7.075,21360,9.663,21361,7.075,21362,7.075,21363,7.075,21364,9.663,21365,7.075,21366,9.663,21367,7.075,21368,7.075,21369,11.826,21370,7.075,21371,7.075,21372,7.075,21373,6.553,21374,9.663,21375,7.075,21376,5.953]],["title/classes/SubmissionUrlParams.html",[0,0.241,21126,6.113]],["body/classes/SubmissionUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,3159,5.465,4197,6.09,21126,10.598,21342,11.385,21377,9.999,21378,9.999]],["title/classes/SubmissionsResponse.html",[0,0.241,4068,5.86]],["body/classes/SubmissionsResponse.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,27,0.483,29,0.688,30,0.001,31,0.506,32,0.166,33,0.412,95,0.138,101,0.012,103,0.001,104,0.001,112,0.888,125,2.698,190,2.03,202,2.069,290,2.138,296,3.241,433,1.107,866,5.642,3159,4.078,3418,6.247,4068,9.529,8095,10.243,9856,11.267,12919,7.321,21216,11.669,21218,12.401,21379,9.012,21380,11.326,21381,9.012,21382,9.012,21383,9.012,21384,9.012,21385,9.012,21386,9.012]],["title/interfaces/SuccessfulRes.html",[159,0.712,13146,5.221]],["body/interfaces/SuccessfulRes.html",[3,0.017,4,0.017,5,0.008,7,0.13,30,0.001,32,0.115,34,1.595,47,1.013,55,2.549,101,0.018,103,0.001,104,0.001,112,0.908,122,2.608,159,1.429,161,2.221,339,2.735,402,3.355,532,3.42,1076,8.382,1081,6.367,1115,3.549,3418,4.2,4996,6.367,7510,5.361,13138,6.99,13139,7.159,13140,6.99,13141,6.99,13142,7.159,13143,8.589,13144,7.159,13145,7.159,13146,8.673,13147,7.159,13148,6.841,13149,6.99,13150,7.159,13151,6.99]],["title/classes/SuccessfulResponse.html",[0,0.241,21387,6.113]],["body/classes/SuccessfulResponse.html",[0,0.348,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.472,29,0.767,30,0.001,31,0.565,32,0.15,33,0.459,95,0.112,101,0.013,103,0.001,104,0.001,112,0.95,122,2.863,190,1.801,202,2.307,296,3.402,433,1.235,2851,10.888,21387,10.63,21388,10.049,21389,12.111,21390,10.049,21391,10.049,21392,10.049]],["title/classes/SwapInternalLinksVisitor.html",[0,0.241,5458,6.113]],["body/classes/SwapInternalLinksVisitor.html",[0,0.198,2,0.603,3,0.011,4,0.011,5,0.005,7,0.08,8,0.95,26,1.158,27,0.526,29,0.982,30,0.001,31,0.722,32,0.159,33,0.587,35,1.534,95,0.109,99,1.152,101,0.007,103,0,104,0,130,1.547,228,1.026,400,1.676,433,0.702,569,4.403,613,7.828,652,2.426,1237,2.408,1853,1.875,2032,6.754,2125,2.996,2608,8.208,2662,5.121,2675,6.754,2678,4.035,2796,5.244,2965,6.074,3069,5.683,3116,7.296,3117,7.296,3118,7.296,3119,7.296,3120,9.441,3121,9.441,3122,7.296,3123,9.441,3124,7.296,3125,7.296,3126,6.994,3127,6.514,3129,6.994,3131,6.994,3133,6.994,3134,7.472,3142,6.994,3143,7.472,3148,6.994,3149,7.197,3151,6.994,3154,3.966,3441,10.207,3556,4.284,5455,7.7,5458,7.296,5459,12.613,6519,5.016,18600,7.7,18612,7.7,18767,5.294,21393,5.715,21394,10.757,21395,5.715,21396,5.715,21397,5.715,21398,5.715,21399,5.715,21400,5.715,21401,5.715,21402,5.715,21403,5.715,21404,5.715,21405,5.715,21406,5.715,21407,5.715,21408,5.715,21409,5.715,21410,5.715,21411,5.715,21412,5.715,21413,9.797,21414,5.715,21415,5.715,21416,5.715,21417,5.715,21418,5.715]],["title/injectables/SymetricKeyEncryptionService.html",[589,0.926,9911,6.113]],["body/injectables/SymetricKeyEncryptionService.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.113,8,1.207,27,0.518,29,0.898,30,0.001,31,0.661,32,0.146,33,0.538,35,1.212,47,1.048,59,2.513,95,0.139,101,0.01,103,0,104,0,148,1.305,277,1.156,339,3.659,400,2.371,433,0.993,589,1.405,591,1.918,652,1.645,711,3.847,816,5.611,1027,2.475,1237,2.342,1718,5.931,2125,6.961,2447,4.416,2448,5.848,2912,5.057,3282,5.438,4216,7.92,5204,7.75,7558,5.815,8177,8.632,9910,7.49,9911,9.273,9920,9.273,9921,8.89,9922,9.786,9924,9.786,13887,7.49,16023,6.804,20993,7.49,20996,7.49,21419,8.086,21420,8.086,21421,8.086,21422,8.086,21423,11.768,21424,11.768,21425,8.086,21426,8.086]],["title/classes/System.html",[0,0.241,3430,3.024]],["body/classes/System.html",[0,0.297,2,0.907,3,0.016,4,0.016,5,0.008,7,0.12,8,1.255,27,0.498,30,0.001,32,0.136,35,0.985,47,0.97,95,0.142,101,0.014,103,0.001,104,0.001,110,2.986,112,0.862,113,4.364,125,2.617,148,1.08,159,0.878,185,2.942,231,2.09,435,3.774,436,3.245,532,4.028,711,3.182,735,4.971,1470,4.813,1767,5.967,1770,5.282,1773,7.376,1849,4.894,2088,4.708,3067,5.346,3085,5.346,3430,4.77,6686,4.385,13640,7.626,13728,5.692,14382,7.618,14395,7.539,14396,5.408,14397,5.408,14654,5.542,15045,9.226,15082,5.775,18307,7.955,21427,7.955,21428,8.588,21429,8.588,21430,8.588,21431,6.977,21432,7.955,21433,7.955]],["title/modules/SystemApiModule.html",[252,1.839,20572,5.86]],["body/modules/SystemApiModule.html",[0,0.32,3,0.017,4,0.017,5,0.008,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.307,254,3.324,255,3.529,256,3.617,257,3.604,258,3.591,259,4.55,260,3.434,269,4.504,270,3.553,271,3.48,273,5.818,274,4.789,276,4.504,277,1.321,1525,9.887,1856,7.836,2680,4.243,20572,12.039,21434,9.24,21435,9.24,21436,9.24,21437,11.569,21438,9.24,21439,10.995,21440,9.24,21441,9.24,21442,9.24]],["title/controllers/SystemController.html",[314,2.65,21439,6.113]],["body/controllers/SystemController.html",[0,0.211,3,0.011,4,0.011,5,0.005,7,0.085,8,0.995,10,2.45,27,0.396,29,0.776,30,0.001,31,0.571,32,0.155,33,0.464,35,1.439,36,2.577,72,5.09,95,0.14,100,2.126,101,0.008,103,0,104,0,135,1.442,148,0.856,157,2.566,180,4.751,190,1.821,202,1.4,228,1.095,274,2.538,277,0.872,314,2.32,316,2.935,317,2.826,325,5.488,326,4.461,328,6.528,333,7.453,339,3.25,349,5.155,365,2.708,374,3.782,388,3.733,390,6.488,391,6.255,392,3.174,395,3.264,398,3.287,400,1.788,401,5.694,402,3.133,534,5.81,610,2.405,657,2.324,741,9.728,1368,3.446,1390,5.421,1563,5.62,2233,6.75,2543,6.979,2642,7.568,3240,3.133,3241,4.1,3418,3.923,3430,4.813,4029,4.163,4866,6.212,5138,4.662,5215,7.314,12813,8.067,13094,7.691,16804,7.644,18395,6.263,18397,6.263,18525,9.326,18528,9.005,19888,5.648,21437,8.549,21439,7.644,21443,6.097,21444,8.709,21445,8.709,21446,6.097,21447,11.015,21448,6.097,21449,6.097,21450,6.097,21451,6.097,21452,9.728,21453,6.097,21454,10.266,21455,6.097,21456,6.097,21457,11.084,21458,6.097,21459,6.097,21460,6.097,21461,6.097,21462,6.097,21463,5.351,21464,6.097,21465,6.097,21466,6.097,21467,6.097,21468,6.097,21469,6.097,21470,6.097,21471,6.097,21472,6.097,21473,6.097,21474,6.097,21475,6.097,21476,6.097,21477,6.097,21478,5.13,21479,6.097,21480,6.097]],["title/classes/SystemDomainMapper.html",[0,0.241,21481,6.113]],["body/classes/SystemDomainMapper.html",[0,0.256,2,0.78,3,0.014,4,0.014,5,0.007,7,0.103,8,1.137,27,0.439,29,0.859,30,0.001,31,0.632,32,0.149,33,0.514,34,1.263,35,1.29,95,0.111,101,0.009,103,0,104,0,110,3.46,125,2.37,135,1.464,148,1.106,153,1.609,205,1.505,467,3.967,478,2.069,652,2.633,711,2.14,1593,4.547,1883,2.773,4768,4.453,4866,7.255,4917,4.767,5074,5.08,5210,6.444,6288,3.003,6369,3.725,6686,3.772,6911,6.484,8318,4.453,10475,4.896,10777,6.215,12846,6.842,12847,8.733,12855,8.733,13579,8.354,13640,8.33,13653,5.537,13654,5.537,13655,5.419,13656,5.537,13700,4.968,13703,4.83,13705,4.968,13708,4.968,13711,4.547,13715,4.896,14382,4.408,14654,4.767,15045,8.896,15053,9.024,15082,4.968,15085,5.671,15087,5.671,15089,5.537,15091,5.671,15095,5.671,15096,5.671,15098,5.671,15100,5.537,15102,5.671,15103,4.968,15104,5.823,15115,5.671,15122,5.823,21431,9.781,21481,8.733,21482,12.039,21483,9.95,21484,9.95,21485,7.387,21486,9.95,21487,7.387,21488,9.95,21489,7.387,21490,6.842,21491,6.842,21492,6.842,21493,6.842,21494,7.387,21495,7.387,21496,7.387,21497,7.387]],["title/classes/SystemDto.html",[0,0.241,13094,4.833]],["body/classes/SystemDto.html",[0,0.267,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,26,2.332,27,0.541,29,0.59,30,0.001,31,0.434,32,0.175,33,0.659,34,1.968,47,1.021,95,0.128,99,1.557,101,0.01,103,0,104,0,110,4.002,112,0.804,122,2.126,433,0.949,458,3.082,2109,3.386,3430,3.356,5394,6.092,6686,5.876,6706,4.987,7243,4.198,13094,8.853,13640,7.248,13903,8.627,14382,6.868,14395,7.164,14396,4.866,14397,4.866,14654,7.427,15082,7.74,15158,5.933,15160,5.933,15166,5.793,15168,5.933,15193,5.669,15520,6.503,15522,6.279,15524,6.503,15527,6.503,15529,7.158,15531,7.158,18531,9.499,21498,7.728,21499,10.661,21500,10.255,21501,7.728,21502,7.728,21503,7.728,21504,7.728,21505,7.728,21506,7.728,21507,7.728,21508,7.728,21509,6.783,21510,6.503,21511,7.728,21512,7.158]],["title/entities/SystemEntity.html",[205,1.419,5210,3.728]],["body/entities/SystemEntity.html",[0,0.312,3,0.008,4,0.008,5,0.004,7,0.057,26,1.3,27,0.466,30,0.001,32,0.156,33,0.594,47,1.071,83,2.331,95,0.11,96,1.06,101,0.013,103,0,104,0,110,3.417,112,0.503,122,0.842,125,0.968,129,1.203,130,1.099,134,1.438,153,1.037,157,0.94,159,0.415,185,2.197,190,2.142,195,3.067,196,4.515,197,1.793,205,1.62,206,1.325,211,6.254,223,4.457,224,1.177,225,2.458,226,1.847,228,0.729,229,1.602,231,0.701,232,1.099,233,1.259,331,1.804,540,2.128,561,1.829,620,2.528,628,2.424,886,2.517,997,2.528,1454,2.5,1561,2.867,1593,2.5,1821,1.924,2070,2.19,2109,1.78,2161,2.692,2186,3.118,2712,3.254,2946,3.433,4654,3.385,4692,4.612,4726,2.474,4917,2.621,5074,3.275,5210,3.433,5215,2.315,6206,3.687,6288,1.651,6369,3.234,6686,4.609,6706,2.621,6707,2.818,7243,3.484,8176,2.558,8262,2.731,8318,3.866,10475,2.692,11509,2.692,13579,6.82,13640,5.685,13653,3.045,13654,3.045,13655,2.979,13656,3.045,13700,2.731,13703,2.656,13705,2.731,13708,2.731,13711,2.5,13715,2.692,13826,4.379,13988,3.118,14382,5.387,14395,5.62,14396,2.558,14397,2.558,14648,6.492,14654,5.826,14765,3.045,15045,6.071,15049,3.202,15051,4.705,15053,7.831,15054,3.3,15055,3.3,15056,3.3,15057,3.3,15058,3.3,15059,3.3,15060,3.3,15061,3.3,15062,3.3,15063,3.3,15077,5.83,15078,4.313,15079,2.979,15080,4.924,15081,7.368,15082,6.071,15083,3.3,15084,4.705,15085,3.118,15086,4.705,15087,3.118,15088,3.045,15089,3.045,15090,3.045,15091,3.118,15092,3.045,15093,3.045,15094,3.045,15095,3.118,15096,3.118,15097,3.045,15098,3.118,15099,3.045,15100,3.045,15101,3.045,15102,3.118,15103,4.313,15104,3.202,15105,2.921,15106,3.3,15107,3.3,15108,3.3,15109,3.3,15110,3.3,15111,3.3,15112,3.3,15113,3.3,15114,3.3,15115,3.118,15116,3.3,15117,3.3,15118,3.3,15119,3.3,15120,3.3,15121,3.3,15122,3.202,15123,3.3,15124,3.3,15125,2.979,15126,3.3,15127,3.3,15128,3.3,15129,3.3,15130,3.3,15131,3.3,15132,3.3,15133,3.3,15134,3.3,15135,3.3,15136,3.3,15137,3.3,15138,3.3,15139,3.3,15140,3.118,15141,3.3,15142,3.202,15143,3.118,15144,3.202,15145,3.118,15146,3.118,15147,3.202,15148,3.118,15149,3.202,15150,3.118,15151,2.979,15152,2.979,15153,2.979,15154,3.045,15155,5.211,15156,2.979,15157,5.129,15158,3.118,15159,3.3,15160,3.118,15161,3.3,15162,3.3,15163,3.3,15164,3.3,15165,3.3,15166,3.045,15167,3.202,15168,3.118,15169,3.202,19903,3.762,21513,4.062,21514,4.062,21515,4.062,21516,4.062,21517,4.062,21518,4.062,21519,4.062,21520,4.062,21521,4.062,21522,4.062,21523,4.062,21524,4.062]],["title/classes/SystemEntityFactory.html",[0,0.241,14088,6.113]],["body/classes/SystemEntityFactory.html",[0,0.152,2,0.464,3,0.008,4,0.008,5,0.004,7,0.061,8,0.78,27,0.515,29,0.999,30,0.001,31,0.699,32,0.166,33,0.569,34,1.612,35,1.372,47,0.501,55,2.283,59,3.356,95,0.105,101,0.009,103,0,104,0,110,2.372,112,0.535,113,4.29,127,4.723,129,3.449,130,3.152,135,1.226,148,0.926,153,1.352,157,1.936,172,2.912,185,2.337,192,2.424,195,0.966,205,2.079,206,2.226,228,1.225,231,1.177,326,4.874,374,2.963,433,0.54,436,3.783,467,1.986,478,1.231,501,7.171,502,5.24,505,3.793,506,5.24,507,5.312,508,3.793,509,3.793,510,3.793,511,3.734,512,4.269,513,4.649,514,6.326,515,5.585,516,6.955,517,2.463,522,2.444,523,3.793,524,2.463,525,4.94,526,5.082,527,4.005,528,4.782,529,3.763,530,2.444,531,2.304,532,3.96,533,2.336,534,2.304,535,2.444,536,2.463,537,4.577,538,2.444,539,7.34,540,3.864,541,6.475,542,2.463,543,4.07,544,2.444,545,2.463,546,2.444,547,2.463,548,2.444,549,2.736,550,2.573,551,2.444,552,5.91,553,2.463,554,2.444,555,3.793,556,3.461,557,3.793,558,2.463,559,2.37,560,2.336,561,1.98,562,2.444,563,2.444,564,2.444,565,2.463,566,2.463,567,1.639,568,2.444,569,1.366,570,2.463,571,2.701,572,2.444,573,2.463,575,2.527,576,2.597,577,4.99,620,2.736,702,2.177,998,2.081,1470,3.824,1593,2.706,1598,2.597,2161,2.913,2831,2.731,3430,2.963,4917,2.836,5074,2.244,5210,2.353,6288,1.787,6369,3.44,6686,2.244,8318,4.112,8320,5.005,10395,7.657,10475,2.913,13579,4.734,13640,2.768,13700,2.956,13703,2.874,13704,3.698,13705,2.956,13708,2.956,13711,2.706,13715,2.913,14088,7.339,14382,2.623,14395,2.736,14396,2.768,14397,2.768,14648,3.161,14654,2.836,14688,3.571,15045,2.956,15053,5.114,15080,3.374,15081,5.114,15082,2.956,15103,6.338,15151,3.224,15152,3.224,15153,3.224,15154,3.295,16012,4.071,17727,4.071,21525,4.395,21526,6.32,21527,8.73,21528,8.73,21529,6.823,21530,4.395,21531,6.823,21532,4.395,21533,4.395,21534,4.395,21535,4.395,21536,4.395,21537,4.395,21538,4.395,21539,4.395,21540,4.395,21541,4.395,21542,4.395,21543,4.395,21544,4.395,21545,4.395,21546,4.395,21547,4.395,21548,4.395,21549,4.395,21550,4.395,21551,4.395]],["title/interfaces/SystemEntityProps.html",[159,0.712,15080,5.346]],["body/interfaces/SystemEntityProps.html",[0,0.323,3,0.008,4,0.008,5,0.004,7,0.06,26,1.364,30,0.001,32,0.16,33,0.601,47,1.078,83,2.425,95,0.113,96,1.128,101,0.013,103,0,104,0,110,3.728,112,0.528,122,0.896,134,1.53,153,0.699,157,1,159,0.442,161,1.029,185,1.48,195,3.004,196,4.535,197,1.207,205,1.685,223,4.479,224,1.251,225,2.579,226,1.964,228,0.776,229,1.704,231,0.745,232,1.169,233,1.339,331,1.918,540,1.433,561,1.946,620,2.689,628,2.578,886,2.619,997,2.689,1454,2.659,1561,3.049,1593,2.659,1821,2.046,2070,2.329,2109,1.893,2161,2.863,2186,3.316,2712,3.415,2946,2.312,4654,3.553,4692,4.84,4726,2.631,4917,2.788,5074,3.437,5210,2.312,5215,2.462,6206,3.87,6288,1.756,6369,3.394,6686,5.168,6706,2.788,6707,2.997,7243,3.656,8176,2.72,8262,2.905,8318,4.057,10475,2.863,11509,2.863,13579,7.439,13640,6.373,13653,3.238,13654,3.238,13655,3.169,13656,3.238,13700,2.905,13703,2.824,13705,2.905,13708,2.905,13711,2.659,13715,2.863,13826,4.596,13988,3.316,14382,6.04,14395,6.3,14396,2.72,14397,2.72,14648,7.278,14654,6.531,14765,3.238,15045,6.806,15049,3.405,15051,4.937,15053,8.036,15054,3.509,15055,3.509,15056,3.509,15057,3.509,15058,3.509,15059,3.509,15060,3.509,15061,3.509,15062,3.509,15063,3.509,15077,4.937,15078,4.526,15079,3.169,15080,6.348,15081,8.036,15082,6.806,15083,3.509,15084,4.937,15085,3.316,15086,4.937,15087,3.316,15088,3.238,15089,3.238,15090,3.238,15091,3.316,15092,3.238,15093,3.238,15094,3.238,15095,3.316,15096,3.316,15097,3.238,15098,3.316,15099,3.238,15100,3.238,15101,3.238,15102,3.316,15103,4.526,15104,3.405,15105,3.106,15106,3.509,15107,3.509,15108,3.509,15109,3.509,15110,3.509,15111,3.509,15112,3.509,15113,3.509,15114,3.509,15115,3.316,15116,3.509,15117,3.509,15118,3.509,15119,3.509,15120,3.509,15121,3.509,15122,3.405,15123,3.509,15124,3.509,15125,3.169,15126,3.509,15127,3.509,15128,3.509,15129,3.509,15130,3.509,15131,3.509,15132,3.509,15133,3.509,15134,3.509,15135,3.509,15136,3.509,15137,3.509,15138,3.509,15139,3.509,15140,3.316,15141,3.509,15142,3.405,15143,3.316,15144,3.405,15145,3.316,15146,3.316,15147,3.405,15148,3.316,15149,3.405,15150,3.316,15151,3.169,15152,3.169,15153,3.169,15154,3.238,15155,3.509,15156,3.169,15157,2.788,15158,3.316,15159,3.509,15160,3.316,15161,3.509,15162,3.509,15163,3.509,15164,3.509,15165,3.509,15166,3.238,15167,3.405,15168,3.316,15169,3.405]],["title/classes/SystemFilterParams.html",[0,0.241,21452,6.113]],["body/classes/SystemFilterParams.html",[0,0.396,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.446,30,0.001,32,0.172,33,0.597,95,0.146,99,1.845,101,0.012,103,0.001,104,0.001,112,0.897,122,2.371,157,2.648,190,2.05,193,4.989,199,6.309,200,2.802,201,4.849,202,2.102,203,7.692,298,3.976,300,4.781,899,4.184,1361,6.576,1470,6.411,2088,3.924,3430,3.976,5215,6.519,12501,8.075,15475,9.834,21452,10.039,21552,9.156,21553,11.555,21554,9.156,21555,9.156,21556,9.156,21557,9.156,21558,9.156]],["title/classes/SystemIdParams.html",[0,0.241,21447,6.113]],["body/classes/SystemIdParams.html",[0,0.422,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,26,2.649,27,0.397,30,0.001,32,0.126,48,6.125,95,0.146,99,2.05,101,0.013,103,0.001,104,0.001,112,0.957,190,1.824,200,3.114,202,2.337,296,3.193,307,7.465,855,4.941,6815,7.318,6816,8.268,21447,10.71,21559,12.203]],["title/classes/SystemMapper.html",[0,0.241,15505,6.113]],["body/classes/SystemMapper.html",[0,0.266,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.167,27,0.447,29,0.876,30,0.001,31,0.645,32,0.151,33,0.524,34,1.314,35,1.316,95,0.128,101,0.01,103,0,104,0,110,2.672,125,3.119,148,1.202,153,1.652,205,1.566,206,2.507,467,3.999,478,2.153,1593,4.73,4768,4.631,4798,5.424,5074,3.923,5210,7.152,6288,3.123,6369,3.874,6686,3.923,6911,6.744,8318,4.631,10475,5.093,10777,6.465,13094,9.085,13579,8.487,13640,7.227,13653,5.76,13654,5.76,13655,5.636,13656,5.76,13700,5.167,13703,5.024,13705,5.167,13708,5.167,13711,4.73,13715,5.093,13903,9.168,14382,4.585,14654,4.959,15082,5.167,15085,5.899,15087,5.899,15089,5.76,15091,5.899,15095,5.899,15096,5.899,15098,5.899,15100,5.76,15102,5.899,15103,5.167,15505,8.966,18327,6.465,19217,8.966,19218,8.596,19222,8.596,19226,6.744,21490,7.117,21491,7.117,21492,7.117,21493,9.463,21499,7.117,21509,6.744,21510,6.465,21560,7.684,21561,10.216,21562,9.463,21563,7.684,21564,7.684,21565,10.216,21566,7.684,21567,7.684,21568,7.684]],["title/modules/SystemModule.html",[252,1.839,1525,5.008]],["body/modules/SystemModule.html",[0,0.284,3,0.015,4,0.015,5,0.007,30,0.001,95,0.149,101,0.011,103,0.001,104,0.001,252,3.128,254,2.95,255,3.132,256,3.211,257,3.199,258,3.188,259,4.304,260,4.403,269,4.175,270,3.154,271,3.089,276,4.175,277,1.173,279,3.4,610,3.235,647,6.016,665,10.831,671,9.779,1525,10.483,2636,4.015,13877,6.663,14635,11.965,14681,7.597,15214,9.993,15482,10.226,15491,10.917,16279,7.199,21569,8.202,21570,8.202,21571,8.202,21572,8.202,21573,8.202,21574,8.202]],["title/classes/SystemOidcMapper.html",[0,0.241,21575,6.113]],["body/classes/SystemOidcMapper.html",[0,0.276,2,0.843,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.456,29,0.893,30,0.001,31,0.657,32,0.145,33,0.535,35,1.342,47,0.86,48,4.912,95,0.117,101,0.01,103,0,104,0,125,2.959,148,1.221,153,1.292,205,2.384,206,3.42,467,4.029,478,2.238,2161,5.296,5210,7.221,6369,4.029,8318,4.816,14646,10.912,14648,8.413,14765,5.989,15081,9.31,15103,5.373,15140,6.133,15143,6.133,15145,6.133,15146,6.133,15148,6.133,15150,6.133,15151,5.861,15152,5.861,15153,5.861,15154,5.989,17668,7.401,19217,9.201,19218,8.82,19222,8.82,19226,7.012,21510,6.723,21562,9.71,21575,9.201,21576,12.421,21577,7.99,21578,10.483,21579,7.99,21580,7.99,21581,10.483,21582,7.99,21583,7.99,21584,10.483,21585,7.99,21586,7.99,21587,7.99,21588,7.99]],["title/injectables/SystemOidcService.html",[589,0.926,14635,5.86]],["body/injectables/SystemOidcService.html",[0,0.286,3,0.015,4,0.015,5,0.007,7,0.115,8,1.223,12,4.845,26,2.548,27,0.463,29,0.817,30,0.001,31,0.601,32,0.132,33,0.489,34,1.831,35,1.228,36,2.658,40,5.182,95,0.151,99,1.663,100,2.878,101,0.011,103,0.001,104,0.001,135,1.546,148,1.052,153,1.335,228,1.482,277,1.18,279,3.421,317,2.889,346,6.053,393,4.086,400,2.42,433,1.014,478,2.312,579,2.356,589,1.423,591,1.958,657,2.448,671,9.225,675,4.213,3430,4.649,5210,4.417,14635,9.008,14646,6.505,15211,6.944,15214,8.025,15471,9.914,15475,6.505,15506,7.243,15508,7.243,15513,7.644,21575,7.243,21589,12.576,21590,8.253,21591,8.253,21592,8.253,21593,8.253,21594,11.885,21595,8.253,21596,8.253]],["title/interfaces/SystemProps.html",[159,0.712,21431,5.658]],["body/interfaces/SystemProps.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.112,30,0.001,32,0.175,33,0.654,47,1.056,95,0.139,101,0.013,103,0,104,0,110,4.325,112,0.824,125,2.504,148,1.033,159,0.82,161,1.911,185,2.748,231,2.023,1470,4.496,1767,6.367,1770,4.207,1849,4.572,2088,4.505,3430,3.483,6686,6.351,13640,8.625,13728,5.317,14382,7.706,14395,8.039,14396,5.051,14397,5.051,14654,8.028,15045,9.401,15082,8.365,21427,7.43,21431,8.539,21432,7.43,21433,7.43]],["title/injectables/SystemRepo.html",[589,0.926,15214,5.221]],["body/injectables/SystemRepo.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,8,1.175,10,4.131,12,4.653,26,2.488,27,0.449,29,0.88,30,0.001,31,0.648,32,0.143,33,0.527,34,1.972,35,1.179,36,2.595,40,4.976,95,0.146,96,2.025,97,3.129,99,1.563,101,0.01,103,0,104,0,135,1.598,142,4.175,148,1.207,153,1.255,195,1.705,197,2.168,205,2.502,228,1.393,277,1.109,317,2.84,400,2.275,433,0.953,435,2.665,478,2.173,589,1.367,591,1.84,657,2.637,711,3.803,1770,4.616,1883,2.912,2446,6.669,2498,5.383,2511,8.353,3430,5.701,3644,4.944,3649,5.86,5210,6.173,9521,6.809,12950,7.186,15214,7.707,20369,9.523,21431,8.353,21481,6.809,21597,7.758,21598,7.758,21599,7.758,21600,7.758,21601,7.758,21602,7.758]],["title/classes/SystemResponseMapper.html",[0,0.241,21463,6.113]],["body/classes/SystemResponseMapper.html",[0,0.252,2,0.769,3,0.013,4,0.013,5,0.007,7,0.101,8,1.126,27,0.435,29,0.853,30,0.001,31,0.627,32,0.148,33,0.51,34,1.245,35,1.281,95,0.139,101,0.009,103,0,104,0,125,1.734,135,1.557,148,1.098,153,1.806,467,3.955,829,4.302,871,2.679,1593,4.481,2734,5.914,3430,5.197,4866,4.08,5074,3.717,5215,4.149,5394,5.739,6288,2.959,6369,3.671,6686,3.717,8318,4.388,9705,5.739,9708,6.743,10475,4.825,11634,5.457,13094,9.302,13640,4.584,13700,4.895,13703,4.76,13705,4.895,13708,4.895,13711,4.481,13715,4.825,13903,9.373,14654,4.698,15103,4.895,15193,5.34,15520,6.125,15522,5.914,15524,6.125,15821,6.389,17202,6.389,17204,6.389,17205,6.389,17206,6.389,17207,6.389,17208,6.389,17209,6.389,17210,6.389,17211,6.389,17212,6.389,17213,6.389,17214,6.389,17247,11.089,18327,6.125,18525,10.069,18528,10.707,18529,6.743,18537,6.743,21463,8.647,21509,6.389,21510,6.125,21603,11.967,21604,9.853,21605,9.853,21606,9.853,21607,9.853,21608,9.853,21609,9.853,21610,9.853,21611,7.28,21612,7.28,21613,7.28,21614,9.853,21615,7.28,21616,9.853,21617,7.28,21618,6.743]],["title/injectables/SystemRule.html",[589,0.926,1864,5.86]],["body/injectables/SystemRule.html",[0,0.247,3,0.013,4,0.013,5,0.006,7,0.099,8,1.109,27,0.462,29,0.906,30,0.001,31,0.666,32,0.147,33,0.542,35,1.267,95,0.138,101,0.009,103,0,104,0,122,2.863,135,1.543,148,1.086,158,2.63,183,4.218,185,3.326,228,1.28,277,1.019,290,3.209,400,2.089,433,0.875,478,1.996,589,1.291,591,1.69,653,2.93,711,3.918,1197,3.87,1237,2.064,1540,4.944,1675,5.852,1770,5.246,1775,6.492,1792,4.944,1801,7.884,1838,5.852,1864,8.17,1982,6.188,1986,5.977,1993,4.658,2619,6.188,3430,6.043,3711,4.723,3714,6.266,3716,4.723,3717,6.436,3718,5.123,3722,6.6,5074,3.638,5400,10.231,11332,8.17,11716,5.123,15045,4.791,20391,10.987,21619,7.125,21620,11.861,21621,7.125,21622,9.71,21623,7.125,21624,7.125,21625,7.125,21626,9.71,21627,7.125,21628,7.125,21629,7.125]],["title/classes/SystemScope.html",[0,0.241,15478,6.113]],["body/classes/SystemScope.html",[0,0.267,2,0.816,3,0.014,4,0.014,5,0.007,7,0.108,8,1.172,27,0.53,29,0.783,30,0.001,31,0.576,32,0.158,33,0.469,35,1.463,95,0.114,101,0.01,103,0,104,0,112,0.804,122,2.386,129,2.289,130,2.091,142,4.167,148,1.131,231,1.769,365,3.432,436,3.769,478,2.165,569,2.402,652,2.667,2479,6.802,5210,4.137,6288,5.645,7007,6.798,7008,6.798,7009,6.798,7014,6.798,7015,6.798,7016,5.197,7017,5.123,7018,5.197,7019,5.197,7028,5.123,7029,6.798,7030,5.197,7031,5.123,7032,5.197,7033,5.123,7034,7.629,9528,6.092,12041,10.102,13640,4.866,14648,5.557,15045,5.197,15478,11.925,21526,11.356,21527,11.356,21528,11.356,21630,12.26,21631,7.728,21632,7.728,21633,7.728]],["title/injectables/SystemService.html",[589,0.926,15482,5.008]],["body/injectables/SystemService.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,10,4.384,12,4.937,26,2.577,27,0.47,29,0.92,30,0.001,31,0.677,32,0.149,33,0.551,34,1.453,35,1.251,36,2.687,40,5.28,95,0.142,99,1.712,101,0.011,103,0.001,104,0.001,122,1.762,135,1.42,142,3.076,148,1.072,228,1.526,277,1.215,317,2.911,335,7.337,400,2.491,433,1.044,589,1.45,591,2.016,657,2.495,711,3.898,1770,3.401,1883,3.19,2511,8.864,2636,4.159,3430,5.943,15211,7.149,15214,10.088,15482,7.845,15506,7.458,21634,8.497,21635,8.497,21636,8.497,21637,8.497,21638,8.497]],["title/injectables/SystemUc.html",[589,0.926,21437,5.86]],["body/injectables/SystemUc.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.091,8,1.047,10,3.683,12,4.148,26,2.726,27,0.446,29,0.874,30,0.001,31,0.643,32,0.149,33,0.523,34,1.807,35,1.212,36,2.638,39,1.819,40,4.436,48,5.364,59,2.037,95,0.148,99,1.321,101,0.008,103,0,104,0,129,1.941,130,1.774,135,1.375,142,2.373,148,0.901,153,1.482,197,3.199,228,1.898,277,0.937,290,2.715,317,2.874,346,4.808,393,3.246,433,1.126,478,1.836,579,2.617,589,1.219,591,1.555,595,2.486,610,2.585,652,2.15,657,2.854,693,2.981,1472,3.644,1780,3.951,1862,6.81,1883,2.461,1962,3.912,2680,3.01,3430,5.564,4862,4.345,4863,4.408,4987,5.325,5210,3.509,5215,6.865,13094,7.943,15472,8.491,15474,8.491,15475,5.167,15482,9.213,15491,9.582,15508,5.753,15535,6.072,15724,7.713,17030,5.515,20418,6.072,21437,7.713,21512,8.491,21553,10.603,21639,6.555,21640,6.555,21641,6.555,21642,6.555,21643,11.447,21644,6.555,21645,6.555,21646,6.555,21647,6.555,21648,6.555,21649,6.555,21650,6.555]],["title/interfaces/TargetGroupProperties.html",[159,0.712,16298,5.658]],["body/interfaces/TargetGroupProperties.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.141,33,0.596,47,1.079,95,0.113,96,1.98,101,0.016,103,0,104,0,110,3.521,112,0.794,155,3.232,157,2.344,159,1.166,161,1.806,205,2.064,223,4.349,224,2.196,225,3.88,226,3.448,231,1.308,232,2.052,233,2.351,289,7.057,1821,3.591,2831,4.053,3056,3.649,3932,4.893,6209,4.893,6214,5.026,6223,6.809,6578,6.62,6628,5.353,7243,4.119,7571,5.026,7572,4.525,8176,4.775,16285,6.38,16286,8.227,16287,8.227,16288,7.982,16289,8.227,16294,9.262,16298,9.884,16302,10.237,16303,8.924,16304,6.38,16305,6.38,16306,7.982,16307,6.16,16308,6.38,16309,6.38,16310,6.38,16311,6.38,16312,6.38,16313,6.38,16314,6.38,16315,6.38,16316,6.38,16317,6.38,16318,6.38,16319,6.38]],["title/classes/TargetInfoMapper.html",[0,0.241,16680,6.113]],["body/classes/TargetInfoMapper.html",[0,0.338,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,8,1.359,27,0.38,29,0.745,30,0.001,31,0.668,32,0.121,33,0.446,34,1.668,35,1.119,95,0.133,99,1.966,100,4.148,101,0.013,103,0.001,104,0.001,135,1.269,148,0.959,153,1.578,467,3.736,830,6.613,3011,4.458,4752,8.209,7872,10.015,16651,10.855,16680,10.441,20179,8.563,20181,8.563,21651,11.896,21652,11.896,21653,9.756,21654,9.756,21655,9.756]],["title/classes/TargetInfoResponse.html",[0,0.241,16651,5.658]],["body/classes/TargetInfoResponse.html",[0,0.313,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.484,29,0.691,30,0.001,31,0.789,32,0.154,33,0.414,34,2.374,47,0.956,95,0.101,101,0.012,103,0.001,104,0.001,112,0.891,157,2.873,190,2.036,202,2.079,205,2.652,296,3.247,304,4.483,433,1.395,458,3.61,821,4.622,868,4.357,2184,3.583,2301,7.136,3011,5.947,3196,5.919,3197,6.079,3198,6.079,4746,7.945,16651,10.891,20186,7.945,20187,8.385,21656,13.015]],["title/entities/Task.html",[205,1.419,2959,3.198]],["body/entities/Task.html",[0,0.169,3,0.005,4,0.005,5,0.003,7,0.157,26,1.67,27,0.456,30,0.001,31,0.354,32,0.154,33,0.514,34,0.834,47,0.761,55,0.989,83,2.781,95,0.128,96,0.758,101,0.011,103,0,104,0,112,0.7,122,2.381,125,1.963,129,1.868,130,1.707,135,1.788,141,1.245,142,1.051,145,1.831,148,1.273,153,1.73,157,1.46,158,1.072,159,0.499,190,2.096,195,2.646,196,3.303,197,3.146,205,0.994,206,0.948,211,4.077,223,3.579,224,0.841,225,1.87,226,1.321,229,1.145,231,0.501,232,0.786,233,0.9,277,0.415,290,2.817,402,3.412,527,1.234,567,1.083,569,2.297,578,1.522,579,1.393,628,1.733,652,2.48,653,2.007,692,3.446,703,1.935,711,3.26,756,2.948,813,1.628,874,1.7,962,2.05,1237,0.841,1312,1.368,1563,1.874,1821,1.375,1829,1.245,1842,2.229,1928,2.883,1937,2.972,2027,4.033,2033,3.775,2055,4.377,2127,1.7,2184,1.15,2570,1.874,2942,4.961,2946,3.956,2950,1.615,2955,3.148,2956,1.733,2957,3.401,2958,2.05,2959,5.049,2972,5.387,3159,3.729,3432,1.67,3589,3.284,3593,3.823,3668,4.527,3752,1.874,4040,6.061,4042,2.444,4093,4.124,4112,5.541,4116,3.331,4117,5.817,4118,4.899,4119,5.914,4120,6.416,4121,3.331,4132,6.005,4441,1.716,4588,1.671,4600,1.829,4645,2.444,4664,1.308,5278,1.829,5607,1.851,5608,1.899,5727,2.275,5762,3.003,6206,1.67,6211,3.109,6231,1.874,6232,1.829,6240,1.925,6247,2.015,6269,2.015,6668,3.401,7506,4.242,7533,2.549,7538,2.69,7549,3.003,7553,1.641,7565,2.29,7569,2.088,7571,1.925,7572,1.733,7573,1.788,7574,1.733,7775,2.549,7856,3.846,7888,1.899,7893,2.177,8683,2.69,8975,5.914,9754,2.13,9934,1.983,13792,4.627,13795,3.508,13796,4.729,13797,4.627,13996,2.23,15555,2.444,16660,3.964,16840,2.29,19064,2.444,21048,2.36,21068,5.54,21069,2.36,21086,5.54,21087,2.36,21106,2.23,21111,2.36,21273,2.444,21274,2.36,21276,2.444,21376,4.105,21657,2.549,21658,2.904,21659,2.904,21660,4.282,21661,2.904,21662,2.904,21663,2.904,21664,2.904,21665,2.904,21666,2.904,21667,2.904,21668,2.904,21669,2.904,21670,2.904,21671,2.904,21672,4.282,21673,2.904,21674,2.904,21675,2.549,21676,2.549,21677,2.549,21678,2.549,21679,2.549,21680,2.549,21681,5.537,21682,5.125,21683,4.973,21684,2.549,21685,2.549,21686,2.549,21687,2.444,21688,7.831,21689,2.549,21690,4.282,21691,6.487,21692,6.487,21693,2.549,21694,2.549,21695,2.549,21696,4.282,21697,2.549,21698,2.549,21699,2.549,21700,2.549,21701,2.549,21702,2.549,21703,2.549,21704,2.549,21705,2.549,21706,2.549,21707,2.549,21708,2.549,21709,4.282,21710,2.549,21711,2.549,21712,2.23,21713,2.549,21714,2.549,21715,2.549,21716,2.549,21717,2.549,21718,2.549,21719,4.282,21720,2.549,21721,2.549,21722,4.282,21723,2.549,21724,4.282,21725,2.444,21726,2.549,21727,6.487,21728,5.537,21729,5.537,21730,2.549,21731,5.537,21732,4.282,21733,2.549,21734,2.549,21735,2.549,21736,5.537,21737,2.549,21738,4.282,21739,2.549,21740,2.549,21741,6.487,21742,2.549,21743,2.549,21744,2.549,21745,2.549,21746,2.549,21747,2.549,21748,2.549,21749,4.282,21750,2.549,21751,2.549,21752,4.282,21753,2.549,21754,2.549,21755,2.549,21756,2.549,21757,2.444,21758,2.549,21759,6.487,21760,2.549,21761,2.549,21762,2.549,21763,2.549,21764,2.549,21765,2.549,21766,2.549,21767,2.549,21768,2.549,21769,2.549]],["title/modules/TaskApiModule.html",[252,1.839,20574,5.86]],["body/modules/TaskApiModule.html",[0,0.275,3,0.015,4,0.015,5,0.007,30,0.001,95,0.152,101,0.01,103,0,104,0,252,3.08,254,2.857,255,3.033,256,3.109,257,3.098,258,3.087,259,4.237,260,2.951,269,4.088,270,3.054,271,2.991,273,5.001,274,4.347,276,4.088,277,1.136,279,3.293,314,3.022,1856,7.531,1908,9.329,1911,8.135,1915,9.329,2680,3.647,3036,3.722,3318,4.889,3320,5.511,7378,9.905,7382,7.357,15277,9.905,20574,12.307,21123,10.239,21134,11.119,21770,7.942,21771,7.942,21772,7.942,21773,11.119,21774,11.119,21775,7.942,21776,10.239,21777,7.942,21778,7.942]],["title/entities/TaskBoardElement.html",[205,1.419,2969,5.658]],["body/entities/TaskBoardElement.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.127,27,0.356,30,0.001,32,0.113,95,0.139,96,3.254,101,0.012,103,0.001,104,0.001,112,0.896,190,1.637,195,2.51,196,4.135,205,2.328,206,2.98,224,2.646,231,1.576,232,2.472,457,5.078,1087,4.216,1373,6.956,1842,4.174,1939,4.855,2715,5.162,2923,6.847,2939,9.004,2959,5.996,2960,5.752,2961,8.063,2963,7.686,2969,9.28,3011,5.967,3325,7.012,3352,9.611,3908,6.237,4823,6.7,5301,6.448,5727,4.259,5728,8.017,7908,7.201,7909,7.571,7910,6.7,15554,8.461,21038,10.025,21779,11.422,21780,9.135]],["title/controllers/TaskController.html",[314,2.65,21776,6.113]],["body/controllers/TaskController.html",[0,0.159,3,0.009,4,0.009,5,0.004,7,0.064,8,0.808,10,3.458,27,0.461,29,0.903,30,0.001,31,0.664,32,0.146,33,0.54,35,1.356,36,2.814,56,3.33,70,3.586,95,0.144,100,3.002,101,0.006,103,0,104,0,129,1.363,130,1.245,135,1.683,141,4.139,148,1.162,153,0.744,190,2.053,195,1.553,197,2.406,202,1.057,228,1.269,274,1.916,277,0.658,298,1.998,314,1.751,316,2.215,317,3.007,325,6.907,326,3.275,340,2.898,349,7.16,365,4.289,379,3.586,388,3.689,389,3.009,392,2.396,393,2.279,395,2.463,398,2.481,400,1.349,649,2.898,650,3.739,652,1.964,657,2.62,675,2.35,863,3.899,871,4.047,883,8.737,1713,3.739,1714,3.449,1715,4.039,2959,3.953,3220,8.233,3240,2.365,3242,2.519,3277,6.992,3305,3.009,3318,2.833,3319,2.623,4077,4.218,5800,2.746,7176,3.628,7423,3.739,7432,8.126,7438,4.263,7638,7.883,8975,6.401,15471,6.785,15558,3.872,15564,3.872,16602,4.263,19399,3.872,19400,4.263,19414,4.039,19416,4.039,19530,6.204,21130,11.203,21773,7.242,21774,7.242,21776,6.204,21781,4.602,21782,7.972,21783,8.607,21784,7.069,21785,7.972,21786,4.602,21787,4.602,21788,4.602,21789,7.069,21790,4.602,21791,4.602,21792,4.602,21793,7.069,21794,4.602,21795,4.602,21796,4.602,21797,4.602,21798,7.069,21799,4.602,21800,4.602,21801,7.069,21802,4.602,21803,4.602,21804,7.069,21805,4.602,21806,4.039,21807,4.602,21808,4.602,21809,3.872,21810,3.739,21811,4.602,21812,4.602,21813,4.602,21814,7.069,21815,4.602,21816,4.602,21817,4.602,21818,4.602,21819,4.602,21820,9.658,21821,4.602,21822,4.602,21823,7.069,21824,10.421,21825,4.602,21826,4.602,21827,4.602,21828,4.602,21829,4.602,21830,4.602]],["title/classes/TaskCopyApiParams.html",[0,0.241,7432,5.86]],["body/classes/TaskCopyApiParams.html",[0,0.382,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.43,30,0.001,32,0.137,33,0.585,34,2.19,47,0.941,95,0.123,100,3.852,101,0.011,103,0.001,104,0.001,112,0.866,157,3.062,190,1.98,200,2.651,201,4.727,202,1.989,300,4.66,304,5.469,855,4.924,1562,10.096,1937,5.203,2027,5.952,2033,4.189,2608,6.657,2959,6.212,3197,6.855,3198,6.855,3668,6.498,5762,7.486,7183,11.24,7432,9.293,8076,8.707,12495,9.694,15568,8.023,15569,8.023,21831,10.232,21832,8.662]],["title/injectables/TaskCopyService.html",[589,0.926,3284,5.49]],["body/injectables/TaskCopyService.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.075,8,0.909,26,1.613,27,0.435,29,0.852,30,0.001,31,0.656,32,0.159,33,0.51,35,1.199,36,1.682,47,0.396,95,0.135,99,1.085,101,0.007,103,0,104,0,125,2.782,135,1.572,148,0.93,153,0.871,155,1.719,157,1.247,158,1.988,228,1.7,277,0.77,279,2.233,290,3.137,317,2.74,326,3.979,402,4.201,433,0.978,478,1.509,578,2.823,589,1.058,591,1.278,652,2.689,657,2.67,703,1.652,896,4.424,1317,5.072,1915,8.243,1937,2.537,2033,4.429,2831,2.156,2957,6.015,2959,6.237,3272,4.246,3277,6.466,3284,6.274,3287,8.861,3293,9.523,3303,11.467,3305,7.635,3316,4.246,3317,4.037,3318,3.315,3319,3.069,3336,4.727,3337,4.246,3338,4.532,3374,4.532,3898,3.988,5409,6.985,6203,3.432,6668,2.904,7333,10.165,7334,4.989,7338,7.372,7347,9.685,7359,10.333,7361,8.308,7372,6.274,7406,4.532,7686,4.375,7704,4.532,7711,4.989,12326,4.989,13792,3.95,13797,3.95,21833,11.678,21834,9.466,21835,7.959,21836,4.727,21837,5.386,21838,7.959,21839,12.081,21840,5.386,21841,5.386,21842,11.19,21843,5.386,21844,7.959,21845,12.664,21846,5.386,21847,7.959,21848,5.386,21849,5.386,21850,5.386,21851,5.386,21852,5.386,21853,5.386,21854,5.386,21855,5.386,21856,5.386,21857,5.386,21858,5.386,21859,5.386,21860,5.386,21861,4.989,21862,5.386,21863,4.989,21864,5.386,21865,5.386,21866,5.386,21867,5.386]],["title/injectables/TaskCopyUC.html",[589,0.926,21773,5.86]],["body/injectables/TaskCopyUC.html",[0,0.146,3,0.008,4,0.008,5,0.004,7,0.059,8,0.754,26,2.447,27,0.46,29,0.876,30,0.001,31,0.645,32,0.146,33,0.525,35,1.317,36,2.344,39,1.169,47,0.904,95,0.135,99,0.848,101,0.005,102,2.238,103,0,104,0,122,0.873,125,3.119,134,1.491,135,1.571,148,1.043,153,1.316,158,1.554,183,4.051,228,1.905,277,0.602,279,1.746,290,2.967,317,2.706,339,1.235,340,2.652,402,2.374,433,0.811,478,1.18,528,2.136,569,3.447,579,2.629,589,0.877,591,0.999,610,1.661,612,2.832,629,2.222,652,2.825,657,2.426,693,1.915,813,2.36,980,4.487,981,2.565,1080,1.46,1115,1.603,1268,5.008,1312,1.984,1328,2.238,1381,2.832,1390,2.621,1626,3.698,1780,2.538,1783,2.592,1829,1.805,1832,2.684,1862,4.894,1911,6.53,1915,7.828,1937,1.984,2027,3.23,2033,3.793,2092,3.9,2219,1.888,2220,2.123,2221,2.049,2222,2.652,2608,2.538,2680,1.934,2681,2.513,2954,2.238,2957,5.392,2959,5.093,3277,5.361,3284,8.742,3287,8.134,3293,9.702,3303,9.31,3305,2.753,3318,2.592,3319,2.4,3320,2.922,3373,3.696,3374,3.543,3375,3.9,3910,6.414,3972,2.791,4401,4.258,5098,3.32,5138,2.254,5747,7.572,5762,4.062,6665,2.287,7395,6.846,7434,8.53,7555,3.421,7562,3.156,7672,3.543,7686,5.361,7688,3.9,7724,3.696,7725,7.748,7731,3.696,7737,3.696,7738,3.696,7739,2.652,10305,3.696,13205,6.846,14445,3.421,15576,3.9,15583,3.9,15584,3.696,15587,3.9,15603,5.552,18508,3.543,18886,3.32,19462,3.9,20853,6.112,20899,3.696,21075,3.32,21339,6.414,21773,5.552,21842,11.185,21868,12.076,21869,6.599,21870,6.599,21871,6.599,21872,8.136,21873,6.599,21874,8.136,21875,4.211,21876,6.599,21877,4.211,21878,8.124,21879,6.599,21880,4.211,21881,4.211,21882,6.599,21883,4.211,21884,6.599,21885,10,21886,4.211,21887,4.211,21888,6.599,21889,4.211,21890,6.599,21891,4.211,21892,3.9,21893,3.9,21894,3.696,21895,4.211,21896,4.211,21897,4.211,21898,3.543,21899,3.9,21900,4.211,21901,4.211,21902,4.211,21903,6.599,21904,4.211,21905,4.211,21906,3.9,21907,4.211,21908,4.211,21909,4.211,21910,4.211,21911,4.211,21912,4.211]],["title/interfaces/TaskCreate.html",[159,0.712,13794,5.221]],["body/interfaces/TaskCreate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.478,32,0.157,33,0.581,47,1.038,55,2.444,83,3.203,95,0.122,99,1.716,101,0.016,103,0.001,104,0.001,112,0.857,122,2.792,157,1.971,159,1.346,161,2.028,231,2.196,290,2.862,478,2.385,652,1.732,692,5.093,703,2.612,1937,4.011,2027,6.441,2033,4.575,2957,5.89,3159,4.944,3589,5.688,3593,4.404,4040,4.985,4093,5.567,4112,5.726,4116,5.814,4117,6.011,4118,5.644,4119,5.644,4120,6.123,4121,5.814,5762,8.101,6668,4.591,8975,5.644,13790,10.374,13791,6.918,13792,6.246,13793,6.383,13794,8.189,13795,6.123,13796,6.383,13797,6.246]],["title/classes/TaskCreateParams.html",[0,0.241,21913,6.113]],["body/classes/TaskCreateParams.html",[0,0.328,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,27,0.494,30,0.001,31,0.61,32,0.168,33,0.621,34,2,47,0.973,83,4.059,95,0.13,99,1.389,101,0.009,103,0,104,0,112,0.745,155,3.03,157,3.177,185,4.007,190,2.273,194,4.596,195,2.571,196,3.149,197,2.653,200,2.109,201,4.928,202,1.583,296,2.484,298,2.993,299,4.803,300,4.859,304,5.792,854,6.836,855,4.396,1216,8.331,1237,2.749,1937,4.471,2027,5.314,2033,3.6,2959,6.078,3045,6.291,3197,6.261,3198,6.261,3589,3.589,3593,5.615,4040,5.556,4093,7.098,5762,6.683,8079,7.986,8089,5.6,8091,6.481,9648,5.843,10311,5.6,13794,8.138,17100,6.384,21831,10.93,21913,8.331,21914,6.893,21915,8.792,21916,6.893,21917,6.384,21918,6.893,21919,6.893,21920,6.893,21921,6.384]],["title/classes/TaskFactory.html",[0,0.241,21157,6.113]],["body/classes/TaskFactory.html",[0,0.154,2,0.47,3,0.008,4,0.008,5,0.004,7,0.062,8,0.787,27,0.52,29,1.001,30,0.001,31,0.712,32,0.165,33,0.57,34,1.441,35,1.377,47,0.506,55,2.293,59,3.189,95,0.121,99,0.896,101,0.006,103,0,104,0,112,0.54,113,4.312,127,4.754,129,3.555,130,3.164,135,1.521,148,1.009,153,1.363,157,1.95,172,2.939,185,2.359,192,2.454,195,1.513,197,2.651,205,2.091,206,2.247,228,1.237,231,1.188,290,2.574,326,4.943,374,2.991,433,0.846,436,3.794,467,2.005,478,1.246,501,7.187,502,5.274,505,3.829,506,5.274,507,5.331,508,3.829,509,3.829,510,3.829,511,3.769,512,4.302,513,4.684,514,6.351,515,5.616,516,6.971,517,2.493,522,2.473,523,3.829,524,2.493,525,4.972,526,5.115,527,4.032,528,4.813,529,3.799,530,2.473,531,2.332,532,3.98,533,2.364,534,2.332,535,2.473,536,2.493,537,4.612,538,2.473,539,7.292,540,3.88,541,6.501,542,2.493,543,4.101,544,2.473,545,2.493,546,2.473,547,2.493,548,2.473,549,2.769,550,2.604,551,2.473,552,5.939,553,2.493,554,2.473,555,3.829,556,3.494,557,3.829,558,2.493,559,2.399,560,2.364,561,2.004,562,2.473,563,2.473,564,2.473,565,2.493,566,2.493,567,1.659,568,2.473,569,1.383,570,2.493,571,2.726,572,2.473,573,2.493,575,2.558,576,2.629,577,5.661,652,2.207,697,3.199,698,3.415,703,2.585,813,2.493,981,2.709,1224,3.199,2959,3.163,4093,5.509,6668,3.713,7763,3.507,7764,3.614,7768,6.846,7773,3.507,8975,5.585,11929,6.045,11930,4.121,13795,3.199,16840,7.478,21157,7.396,21163,4.121,21712,7.282,21725,7.982,21922,4.449,21923,4.449,21924,6.887,21925,4.449,21926,4.449,21927,4.449,21928,6.887,21929,4.449]],["title/classes/TaskListResponse.html",[0,0.241,21809,5.86]],["body/classes/TaskListResponse.html",[0,0.315,2,0.685,3,0.012,4,0.012,5,0.006,7,0.09,27,0.468,29,0.496,30,0.001,31,0.64,32,0.168,33,0.548,34,1.798,47,0.974,55,2.833,56,5.862,59,2.83,70,6.313,83,3.342,95,0.127,99,1.308,100,2.264,101,0.012,103,0,104,0,112,0.714,122,1.346,125,1.546,134,2.299,157,2.434,185,2.223,190,2.043,197,1.814,201,4.837,202,1.491,231,1.571,296,3.514,298,2.819,339,3.52,402,3.782,403,3.314,430,4.325,431,4.507,433,1.118,435,2.23,436,3.367,458,2.589,460,3.953,462,3.953,862,7.954,863,6.863,864,5.234,866,3.234,868,5.061,869,3.177,870,3.553,871,2.388,872,4.582,873,5.802,874,5.33,875,4.244,876,3.38,877,4.582,878,4.582,880,4.137,881,3.553,1372,3.426,2027,5.147,2055,7.296,2127,3.8,2184,2.57,2358,3.732,2393,2.488,2836,4.303,2959,4.829,3054,7.095,3593,3.357,4093,4.244,4094,4.088,4107,5.462,7179,5.117,7180,4.365,19056,8.543,21682,5.274,21683,5.117,21809,7.66,21810,10.595,21930,6.013,21931,6.492,21932,6.492,21933,7.397,21934,6.013,21935,6.013,21936,6.013]],["title/classes/TaskMapper.html",[0,0.241,21806,6.113]],["body/classes/TaskMapper.html",[0,0.237,2,0.724,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.422,29,0.827,30,0.001,31,0.711,32,0.144,33,0.495,34,1.173,35,1.242,95,0.13,99,1.382,100,4.415,101,0.009,103,0,104,0,135,1.647,148,1.064,153,1.53,157,2.189,197,1.917,326,3.599,402,3.402,430,2.82,431,2.939,467,3.905,478,1.921,830,5.258,837,3.396,2027,5.299,2055,4.758,2393,2.628,2959,4.343,3589,3.57,3593,4.892,3877,8.301,4093,6.184,5762,5.822,5838,6.018,7455,8.761,7456,8.761,9754,8.561,10917,8.301,13793,8.749,13794,8.749,19056,7.684,19311,8.761,21683,5.406,21687,5.77,21712,5.264,21806,8.301,21810,9.482,21861,8.761,21913,10.244,21937,6.857,21938,9.458,21939,9.458,21940,9.458,21941,6.857,21942,9.458,21943,10.244,21944,6.857,21945,9.458,21946,6.857,21947,6.018,21948,6.857,21949,6.857,21950,6.857,21951,9.458,21952,6.857,21953,6.857,21954,6.857,21955,6.857,21956,6.857,21957,6.857,21958,6.857,21959,6.857,21960,6.857,21961,6.857,21962,6.857,21963,6.857,21964,6.857,21965,6.857,21966,9.458,21967,6.857,21968,6.857,21969,6.857,21970,10.811,21971,9.458,21972,9.458,21973,9.458]],["title/modules/TaskModule.html",[252,1.839,15277,5.221]],["body/modules/TaskModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.144,101,0.01,103,0,104,0,252,3.086,254,2.868,255,3.045,256,3.122,257,3.111,258,3.099,259,4.245,260,4.344,269,4.099,270,3.066,271,3.003,276,4.099,277,1.14,279,3.306,610,3.145,1317,5.082,1911,8.144,1914,10.155,1915,9.339,2831,3.192,3284,11.164,3318,4.909,3319,4.544,3889,9.916,3898,3.996,5748,10.616,7378,9.916,15277,10.986,21330,11.506,21974,7.974,21975,7.974,21976,7.974,21977,7.974,21978,7.974]],["title/interfaces/TaskParent.html",[159,0.712,6211,4.439]],["body/interfaces/TaskParent.html",[0,0.188,3,0.006,4,0.006,5,0.003,7,0.163,8,0.621,26,1.929,27,0.129,30,0.001,31,0.186,32,0.13,34,0.93,35,0.379,47,0.739,55,1.102,83,2.596,95,0.133,96,0.864,101,0.011,103,0,104,0,112,0.629,122,2.379,125,1.909,135,1.815,141,1.418,142,1.198,145,2.041,148,1.302,153,1.699,157,0.766,158,1.221,159,0.556,161,0.788,195,2.461,196,3.158,197,3.275,205,1.108,223,3.39,224,0.958,225,2.084,226,1.505,229,1.305,231,0.571,232,0.895,233,1.026,277,0.473,290,2.874,402,3.618,527,1.406,567,1.234,569,2.491,578,1.734,579,1.552,628,1.974,652,2.499,653,2.236,692,3.227,703,1.015,711,3.394,756,3.196,813,1.854,874,1.937,962,2.336,1237,0.958,1312,1.559,1563,2.135,1821,1.567,1829,1.418,1842,2.485,1928,3.213,1937,1.559,2027,3.923,2033,3.358,2055,4.802,2127,1.937,2184,1.31,2570,2.135,2942,4.107,2946,2.91,2950,1.839,2955,3.509,2956,1.974,2957,2.931,2958,2.336,2959,4.996,2972,5.789,3159,4.007,3432,1.902,3589,2.831,3593,2.812,3668,4.829,3752,2.135,4040,5.888,4042,2.784,4093,2.163,4112,5.954,4116,3.712,4117,6.25,4118,5.312,4119,6.309,4120,6.844,4121,3.712,4132,6.511,4441,1.955,4588,1.133,4600,2.084,4664,1.49,5278,2.084,5607,2.109,5608,2.163,5727,2.535,5762,2.037,6206,1.902,6211,4.411,6231,5.172,6232,2.084,6240,2.193,6247,2.296,6269,2.296,6668,1.784,7506,4.654,7549,3.347,7553,1.87,7565,2.608,7569,2.379,7571,2.193,7572,1.974,7573,2.037,7574,1.974,7856,2.608,7888,2.163,7893,2.48,8975,5.312,9754,2.427,9934,2.259,13792,2.427,13795,3.91,13796,2.48,13797,2.427,13996,2.54,15555,2.784,16660,4.417,16840,2.608,19064,2.784,21048,2.688,21068,6.007,21069,2.688,21086,6.007,21087,2.688,21106,2.54,21111,2.688,21273,2.784,21274,2.688,21276,2.784,21376,4.575,21657,2.904,21660,2.904,21672,2.904,21675,2.904,21676,2.904,21677,2.904,21678,2.904,21679,2.904,21680,2.904,21681,6.074,21682,5.623,21683,5.456,21684,2.904,21685,2.904,21686,2.904,21687,2.784,21688,8.354,21689,2.904,21690,4.772,21691,7.034,21692,7.034,21693,2.904,21694,2.904,21695,2.904,21696,4.772,21697,2.904,21698,2.904,21699,2.904,21700,2.904,21701,2.904,21702,2.904,21703,2.904,21704,2.904,21705,2.904,21706,2.904,21707,2.904,21708,2.904,21709,4.772,21710,2.904,21711,2.904,21712,2.54,21713,2.904,21714,2.904,21715,2.904,21716,2.904,21717,2.904,21718,2.904,21719,4.772,21720,2.904,21721,2.904,21722,4.772,21723,2.904,21724,4.772,21725,2.784,21726,2.904,21727,7.034,21728,6.074,21729,6.074,21730,2.904,21731,6.074,21732,4.772,21733,2.904,21734,2.904,21735,2.904,21736,6.074,21737,2.904,21738,4.772,21739,2.904,21740,2.904,21741,7.034,21742,2.904,21743,2.904,21744,2.904,21745,2.904,21746,2.904,21747,2.904,21748,2.904,21749,4.772,21750,2.904,21751,2.904,21752,4.772,21753,2.904,21754,2.904,21755,2.904,21756,2.904,21757,2.784,21758,2.904,21759,7.034,21760,2.904,21761,2.904,21762,2.904,21763,2.904,21764,2.904,21765,2.904,21766,2.904,21767,2.904,21768,2.904,21769,2.904,21979,3.309]],["title/interfaces/TaskProperties.html",[159,0.712,13795,5.008]],["body/interfaces/TaskProperties.html",[3,0.014,4,0.014,5,0.007,7,0.105,30,0.001,31,0.425,32,0.173,33,0.649,47,0.958,55,2.308,83,2.965,95,0.113,99,1.525,101,0.016,103,0,104,0,112,0.793,122,2.913,157,1.752,159,1.296,161,1.803,231,2.098,290,3.158,478,2.12,652,2.473,692,5.668,703,3.73,1937,5.727,2027,4.95,2033,5.129,2957,6.555,3159,5.502,3589,5.265,3593,3.914,4040,7.117,4093,4.948,4112,5.089,4116,5.167,4117,5.343,4118,5.016,4119,5.016,4120,5.442,4121,5.167,5762,6.226,6668,6.555,8975,8.058,13790,9.988,13791,6.148,13792,5.551,13793,5.673,13794,5.673,13795,7.272,13796,9.113,13797,8.918]],["title/injectables/TaskRepo.html",[589,0.926,1915,4.917]],["body/injectables/TaskRepo.html",[0,0.127,3,0.007,4,0.007,5,0.003,7,0.103,8,0.675,10,2.374,12,2.674,18,2.961,26,2.648,27,0.461,29,0.884,30,0.001,31,0.651,32,0.16,33,0.529,34,0.627,35,1.358,36,2.69,39,1.017,40,2.86,53,2.688,56,1.727,58,2.396,59,3.103,72,1.683,83,1.733,95,0.117,96,0.957,98,2.209,99,0.738,101,0.005,103,0,104,0,122,1.539,125,2.028,129,1.085,130,0.992,135,1.7,142,2.139,148,1.032,153,1.951,157,0.848,172,4.663,195,1.871,205,0.747,206,1.928,224,1.062,231,1.02,277,0.524,317,2.927,365,2.624,374,3.698,388,3.182,436,2.516,478,1.027,532,4.342,540,4.222,589,0.786,591,0.869,595,1.39,652,2.031,657,2.499,728,6.091,734,2.49,735,2.674,736,3.655,759,2.187,760,2.232,761,2.209,762,2.232,763,2.543,764,2.209,765,2.232,766,1.962,770,2.308,788,2.503,789,3.234,790,2.465,802,2.429,812,2.336,869,1.794,1563,2.365,1915,4.171,1937,4.011,2027,3.634,2033,2.241,2230,2.688,2232,4.853,2479,5.032,2553,2.308,2938,3.397,2959,5.71,3431,5.495,3593,3.056,3668,1.86,3936,9.217,3998,2.587,4040,2.146,5136,3.917,5138,3.974,5264,7.963,5271,2.308,5347,2.747,5466,4.896,5467,4.972,5788,3.368,5800,5.573,6288,3.462,6665,4.626,7638,5.629,7803,2.814,7807,2.814,7924,7.547,7953,2.688,7954,2.688,8975,2.429,10696,3.084,10725,3.395,10729,5.186,19379,3.395,20926,4.536,21712,2.814,21980,3.665,21981,5.909,21982,7.424,21983,7.424,21984,6.877,21985,5.909,21986,5.909,21987,3.665,21988,3.665,21989,3.665,21990,5.473,21991,7.424,21992,3.665,21993,3.665,21994,3.395,21995,3.665,21996,5.909,21997,3.665,21998,5.909,21999,3.665,22000,3.665,22001,9.589,22002,3.665,22003,3.665,22004,3.665,22005,3.665,22006,3.665,22007,3.395,22008,3.395,22009,3.395,22010,3.395,22011,9.34,22012,3.665,22013,3.665,22014,3.665,22015,3.665,22016,3.665,22017,3.665,22018,3.665,22019,3.665,22020,3.665,22021,3.665,22022,3.665,22023,3.665,22024,3.665,22025,2.814,22026,3.665,22027,3.665,22028,3.665,22029,3.665,22030,3.665,22031,3.665,22032,3.665,22033,3.665,22034,3.665,22035,3.665,22036,3.665,22037,3.665,22038,3.665,22039,3.665,22040,3.665,22041,3.665,22042,3.665,22043,9.984,22044,7.424,22045,3.217,22046,3.217,22047,3.217,22048,3.665,22049,7.424,22050,3.665,22051,3.665,22052,3.665,22053,3.665,22054,3.665,22055,3.665,22056,3.665,22057,3.665,22058,3.665,22059,3.665,22060,5.909,22061,3.665,22062,3.665,22063,3.665,22064,3.665,22065,3.665,22066,3.665,22067,3.217,22068,3.665,22069,5.909,22070,3.665,22071,3.665,22072,3.665,22073,3.217,22074,3.665,22075,3.217,22076,3.665,22077,3.395,22078,2.978,22079,3.665,22080,3.217,22081,3.665,22082,3.665,22083,3.395,22084,3.665,22085,3.395,22086,3.665,22087,3.665]],["title/classes/TaskResponse.html",[0,0.241,21810,5.658]],["body/classes/TaskResponse.html",[0,0.288,2,0.604,3,0.011,4,0.011,5,0.005,7,0.08,27,0.531,29,0.437,30,0.001,31,0.67,32,0.173,33,0.605,34,1.955,47,1.025,55,1.987,56,3.92,70,4.222,83,3.699,95,0.12,99,1.153,100,2.902,101,0.011,103,0,104,0,112,0.653,122,1.725,129,2.464,130,2.252,134,2.947,157,2.85,185,2.85,190,2.422,197,1.6,201,5.079,202,1.314,231,0.988,296,3.612,298,2.485,339,2.44,402,4.114,403,4.249,430,4.703,431,4.901,433,1.022,435,2.859,458,2.283,460,3.486,462,3.486,821,2.922,862,5.18,863,3.157,864,3.29,880,3.648,881,3.133,1361,3.29,1372,4.392,2027,5.597,2055,7.935,2127,3.351,2184,2.266,2358,4.784,2393,3.189,2836,5.516,2959,5.252,3051,5.874,3054,6.7,3593,5.071,4093,6.41,4094,6.174,4107,4.816,7179,6.56,7180,5.596,19056,8.745,21682,7.966,21683,7.729,21809,4.816,21810,10.25,21930,5.301,21933,7.966,21934,5.301,21935,5.301,21936,5.301,22088,5.724,22089,5.724,22090,5.724,22091,5.724,22092,5.724,22093,5.724,22094,5.724,22095,5.724,22096,5.724,22097,5.724,22098,5.724,22099,5.724,22100,5.724,22101,5.724,22102,5.724]],["title/injectables/TaskRule.html",[589,0.926,1877,5.658]],["body/injectables/TaskRule.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.089,8,1.03,27,0.441,29,0.865,30,0.001,31,0.636,32,0.148,33,0.517,35,1.196,95,0.138,101,0.008,103,0,104,0,122,2.568,135,1.691,141,3.863,148,1.217,183,4.559,195,1.406,197,1.788,205,2.785,228,1.874,277,0.915,290,3.267,433,1.107,478,1.792,589,1.198,591,1.518,652,2.519,653,2.632,693,2.91,711,3.588,1197,7.422,1237,1.853,1775,6.199,1778,7.132,1792,4.44,1801,7.625,1829,2.742,1838,5.432,1868,9.539,1872,10.339,1877,7.322,1982,5.743,1986,5.548,1993,4.183,2619,5.743,2959,6.217,3668,3.246,3711,4.241,3714,5.816,3716,4.241,3717,5.974,6668,3.45,7815,5.616,7816,5.616,7817,5.384,7818,7.91,15675,8.348,19370,7.91,19372,8.348,22103,6.398,22104,10.491,22105,6.398,22106,9.012,22107,6.398,22108,6.398,22109,6.398,22110,6.398,22111,9.012,22112,6.398,22113,6.398,22114,6.398,22115,9.012,22116,6.398]],["title/classes/TaskScope.html",[0,0.241,22001,6.113]],["body/classes/TaskScope.html",[0,0.15,2,0.457,3,0.008,4,0.008,5,0.004,7,0.06,8,0.771,26,2.805,27,0.521,29,0.986,30,0.001,31,0.726,32,0.164,33,0.59,35,1.496,39,2.3,83,3.492,95,0.104,96,1.131,99,0.873,101,0.006,103,0,104,0,112,0.529,122,2.611,129,1.283,130,2.743,135,1.217,142,3.386,148,1.255,153,0.701,195,1.821,224,1.255,231,1.164,365,4.978,436,2.994,478,1.214,569,1.347,652,2.627,1937,3.904,2033,2.559,2479,6.85,2959,1.99,3593,4.838,3960,6.733,4093,6.627,4117,5.85,6288,4.949,6665,6.613,6668,5.465,7007,4.473,7008,4.473,7009,4.473,7014,4.473,7015,4.473,7016,2.914,7017,2.872,7018,2.914,7019,2.914,7028,2.872,7029,4.473,7030,2.914,7031,2.872,7032,2.914,7033,2.872,7034,8.07,7768,3.521,7803,5.18,7944,3.521,8975,4.473,9528,3.416,12022,6.251,12028,6.251,12033,4.014,12036,4.014,12040,4.014,12041,7.273,12042,6.251,15691,6.251,15692,6.251,15694,3.804,22001,12.105,22045,5.923,22046,5.923,22047,8.21,22067,8.21,22117,12.916,22118,6.748,22119,6.748,22120,6.748,22121,6.748,22122,6.748,22123,6.748,22124,6.748,22125,6.748,22126,6.748,22127,6.748,22128,4.334,22129,6.748,22130,4.334,22131,6.748,22132,4.334,22133,6.748,22134,6.748,22135,4.334,22136,6.748,22137,4.334,22138,6.748,22139,4.334,22140,6.748,22141,4.334,22142,6.748,22143,4.334,22144,6.748,22145,4.334,22146,4.334,22147,4.334,22148,4.334,22149,4.334,22150,4.334]],["title/injectables/TaskService.html",[589,0.926,5748,5.221]],["body/injectables/TaskService.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,10,3.783,12,4.26,26,2.748,27,0.476,29,0.933,30,0.001,31,0.686,32,0.16,33,0.558,35,1.335,36,2.789,59,2.926,95,0.144,98,4.105,99,1.372,101,0.009,103,0,104,0,122,1.952,135,1.225,148,0.925,172,4.018,228,1.937,277,0.974,279,2.824,317,2.988,433,1.157,478,1.908,540,3.861,589,1.251,591,1.616,595,2.583,652,2.569,657,2.661,1317,4.34,1915,8.918,2027,5.696,2488,4.996,2492,5.369,2831,2.726,2959,6.152,3898,3.413,4040,3.987,5264,8.215,5748,7.056,6665,5.113,7340,9.311,7924,7.164,21141,6.309,21330,10.52,21339,5.369,21373,6.309,21712,5.228,21836,5.978,21894,5.978,21984,9.993,21994,6.309,22067,5.978,22151,6.811,22152,9.414,22153,6.811,22154,9.414,22155,6.811,22156,9.414,22157,6.811,22158,9.414,22159,6.811,22160,6.811,22161,6.811,22162,6.811,22163,6.811,22164,6.811,22165,6.811,22166,6.811]],["title/interfaces/TaskStatus.html",[159,0.712,4112,4.684]],["body/interfaces/TaskStatus.html",[3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.457,32,0.17,47,0.978,55,2.815,83,3.11,95,0.118,99,1.639,101,0.016,103,0.001,104,0.001,112,0.832,122,2.945,157,1.883,159,1.327,161,1.938,231,2.037,290,2.8,478,2.279,652,1.655,692,4.945,703,2.496,1937,3.832,2027,5.192,2033,4.476,2957,5.719,3159,4.801,3589,5.523,3593,4.208,4040,4.762,4093,5.319,4112,7.133,4116,8.54,4117,8.83,4118,8.291,4119,8.291,4120,8.994,4121,8.54,5762,6.53,6668,4.386,8975,5.392,13790,9.86,13791,6.609,13792,5.967,13793,6.098,13794,6.098,13795,5.85,13796,6.098,13797,5.967]],["title/classes/TaskStatusMapper.html",[0,0.241,21947,6.113]],["body/classes/TaskStatusMapper.html",[0,0.342,2,1.043,3,0.018,4,0.018,5,0.009,7,0.138,8,1.369,27,0.385,29,0.754,30,0.001,31,0.555,32,0.122,33,0.451,35,1.133,95,0.134,99,1.99,100,4.179,101,0.013,103,0.001,104,0.001,135,1.285,148,0.971,153,1.597,402,3.553,467,3.756,830,6.663,4107,8.31,4111,10.084,4112,9.022,21933,10.482,21947,10.519,22167,11.985,22168,9.876,22169,9.876,22170,9.876,22171,9.876]],["title/classes/TaskStatusResponse.html",[0,0.241,21933,5.658]],["body/classes/TaskStatusResponse.html",[0,0.282,2,0.859,3,0.015,4,0.015,5,0.007,7,0.113,27,0.528,29,0.621,30,0.001,31,0.457,32,0.168,33,0.372,55,2.695,95,0.091,101,0.01,103,0.001,104,0.001,112,0.832,122,2.758,190,2.384,202,1.868,296,3.736,433,1.303,821,4.154,4115,7.14,4116,8.857,4117,9.158,4118,8.599,4119,8.599,4120,9.328,4121,8.857,4122,7.535,4129,6.845,4130,7.535,4131,6.845,4132,6.609,4133,7.535,4134,7.535,21831,11.559,21933,10.539,22172,8.136,22173,8.136,22174,8.136,22175,8.136,22176,8.136,22177,8.136]],["title/injectables/TaskUC.html",[589,0.926,21774,5.86]],["body/injectables/TaskUC.html",[0,0.108,3,0.006,4,0.006,5,0.003,7,0.043,8,0.59,10,2.076,26,2.671,27,0.439,29,0.837,30,0.001,31,0.616,32,0.136,33,0.501,35,1.257,36,2.647,39,2.951,59,0.967,83,2.511,95,0.114,98,3.115,99,0.627,101,0.004,103,0,104,0,122,1.775,130,1.398,135,1.814,141,3.308,148,1.172,153,1.72,195,0.684,197,2.157,205,0.634,228,1.538,277,0.445,279,1.29,290,3.091,317,2.881,365,1.382,402,4.217,412,1.382,433,0.635,478,0.872,560,1.654,578,4.045,579,0.888,589,0.687,591,0.738,595,1.18,610,1.227,652,2.594,657,3.015,693,2.35,770,1.959,790,2.092,807,2.388,863,5.095,871,2.84,980,1.716,1197,4.192,1213,1.983,1393,1.773,1626,1.744,1780,1.875,1783,3.181,1784,3.475,1792,3.586,1793,4.393,1829,1.334,1850,2.196,1862,5.202,1911,6.025,1915,6.521,1962,5.11,1964,4.074,1984,3.475,2033,3.247,2232,3.777,2513,1.773,2529,2.882,2570,2.008,2680,1.429,2685,4.861,2915,1.875,2957,1.678,2959,4.495,3320,2.159,3432,2.971,3593,4.429,3774,3.254,4112,3.475,4118,5.116,4703,1.875,5466,5.89,5747,6.683,5748,7.337,5788,3.777,5800,3.955,6665,3.6,7270,2.062,7638,8.128,7803,5.925,7919,4.536,7996,3.967,8975,3.425,9754,2.282,9784,7.516,11864,2.332,15471,4.074,15603,6.494,15724,4.348,18508,2.618,20926,2.388,21339,8.382,21774,4.348,21782,4.787,21785,4.787,21836,2.731,21863,4.787,21894,5.817,22007,4.787,22008,4.787,22009,4.787,22010,4.787,22045,4.536,22046,2.731,22047,4.536,22178,3.111,22179,5.168,22180,5.168,22181,7.718,22182,5.168,22183,5.168,22184,3.111,22185,5.168,22186,3.111,22187,3.111,22188,5.168,22189,3.111,22190,5.168,22191,3.111,22192,5.168,22193,3.111,22194,5.168,22195,3.111,22196,3.111,22197,5.168,22198,8.563,22199,3.111,22200,5.168,22201,3.111,22202,5.168,22203,3.111,22204,3.111,22205,6.628,22206,5.168,22207,6.628,22208,6.628,22209,9.237,22210,5.168,22211,9.237,22212,5.168,22213,5.168,22214,7.718,22215,3.111,22216,9.237,22217,6.628,22218,7.718,22219,6.628,22220,4.787,22221,3.111,22222,3.111,22223,3.111,22224,3.111,22225,3.111,22226,3.111,22227,3.111,22228,3.111,22229,7.718,22230,5.168,22231,3.111,22232,7.718,22233,5.168,22234,5.168,22235,5.168,22236,3.111,22237,5.168,22238,3.111,22239,3.111,22240,7.718,22241,3.111,22242,3.111,22243,3.111,22244,3.111,22245,3.111,22246,3.111,22247,3.111,22248,3.111,22249,3.111,22250,3.111,22251,3.111,22252,5.168,22253,5.168,22254,3.111,22255,3.111,22256,5.168,22257,5.168,22258,3.111,22259,3.111]],["title/interfaces/TaskUpdate.html",[159,0.712,13793,5.221]],["body/interfaces/TaskUpdate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.478,32,0.157,33,0.581,47,1.038,55,2.444,83,3.203,95,0.122,99,1.716,101,0.016,103,0.001,104,0.001,112,0.857,122,2.792,157,1.971,159,1.346,161,2.028,231,2.196,290,2.862,478,2.385,652,1.732,692,5.093,703,2.612,1937,4.011,2027,6.441,2033,4.575,2957,5.89,3159,4.944,3589,5.688,3593,4.404,4040,4.985,4093,5.567,4112,5.726,4116,5.814,4117,6.011,4118,5.644,4119,5.644,4120,6.123,4121,5.814,5762,8.101,6668,4.591,8975,5.644,13790,10.374,13791,6.918,13792,6.246,13793,8.189,13794,6.383,13795,6.123,13796,6.383,13797,6.246]],["title/classes/TaskUpdateParams.html",[0,0.241,21943,6.113]],["body/classes/TaskUpdateParams.html",[0,0.328,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,27,0.494,30,0.001,31,0.61,32,0.168,33,0.621,34,2,47,0.973,83,4.059,95,0.13,99,1.389,101,0.009,103,0,104,0,112,0.745,155,3.03,157,3.177,185,4.007,190,2.273,194,4.596,195,2.571,196,3.149,197,2.653,200,2.109,201,4.928,202,1.583,296,2.484,298,2.993,299,4.803,300,4.859,304,5.792,854,6.836,855,4.396,1216,8.331,1237,2.749,1937,4.471,2027,5.314,2033,3.6,2959,6.078,3045,6.291,3197,6.261,3198,6.261,3589,3.589,3593,5.615,4040,5.556,4093,7.098,5762,6.683,8079,7.986,8089,5.6,8091,6.481,9648,5.843,11141,5.799,13793,8.138,21831,10.93,21915,8.792,21917,6.384,21921,6.384,21943,8.331,22260,6.893,22261,6.893,22262,6.893,22263,6.893,22264,6.893,22265,6.893]],["title/injectables/TaskUrlHandler.html",[589,0.926,16358,5.86]],["body/injectables/TaskUrlHandler.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,9,3.23,27,0.496,29,0.94,30,0.001,31,0.692,32,0.164,33,0.563,34,1.635,35,1.347,36,2.02,47,1.001,95,0.137,101,0.009,103,0,104,0,105,10.269,106,7.34,107,7.136,108,8.868,110,4.613,111,5.49,112,0.75,113,3.798,114,8.868,115,7.536,116,7.766,117,7.536,118,7.536,120,5.49,122,1.444,123,5.658,125,2.6,126,5.49,127,5.888,129,2.831,130,2.587,131,5.998,134,2.466,135,1.42,148,0.94,228,1.251,231,1.649,233,2.159,277,0.996,317,2.361,400,2.042,433,0.856,436,3.47,589,1.271,591,1.652,657,1.593,1237,2.017,2959,5.013,3321,5.658,4174,6.428,4177,7.536,4179,5.86,4180,5.86,4181,5.86,4184,7.338,4185,5.658,4186,7.338,4187,5.86,4188,5.658,4190,4.683,5748,9.534,5838,6.112,7999,6.112,8000,6.112,8002,8.39,8003,8.39,8004,6.112,16358,8.043,19423,6.451,22266,10.915,22267,9.56,22268,6.964]],["title/classes/TaskUrlParams.html",[0,0.241,21130,5.86]],["body/classes/TaskUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,2959,5.545,4197,6.09,21130,10.16,21339,10.226,22269,9.999,22270,9.999]],["title/classes/TaskWithStatusVo.html",[0,0.241,9754,5.109]],["body/classes/TaskWithStatusVo.html",[0,0.185,2,0.343,3,0.006,4,0.006,5,0.003,7,0.162,26,1.777,27,0.266,29,0.248,30,0.001,31,0.301,32,0.141,33,0.148,34,0.916,47,0.733,55,1.086,83,2.571,95,0.132,96,0.848,101,0.011,103,0,104,0,112,0.74,122,2.366,125,1.888,135,1.811,141,1.393,142,1.177,145,2.011,148,1.298,153,1.687,157,0.752,158,1.2,159,0.548,195,2.446,196,3.131,197,3.257,205,1.092,223,3.368,224,0.941,225,2.053,226,1.478,229,1.282,231,0.561,232,0.879,233,1.007,277,0.465,290,2.861,402,4.105,433,0.399,527,1.381,567,1.212,569,2.464,578,1.703,579,1.53,628,1.939,652,2.488,653,2.203,692,3.186,703,0.997,711,3.376,756,3.161,813,1.821,874,1.902,962,2.294,1237,0.941,1312,1.531,1563,2.097,1821,1.539,1829,1.393,1842,2.448,1928,3.166,1937,1.531,2027,3.88,2033,3.325,2055,4.742,2127,1.902,2184,1.286,2570,2.097,2942,4.067,2946,2.868,2950,1.807,2955,3.457,2956,1.939,2957,2.888,2958,2.294,2959,5.616,2972,5.733,3159,3.968,3432,1.868,3589,2.789,3593,2.771,3668,4.788,3752,2.097,4040,5.842,4042,2.734,4093,2.125,4112,7.013,4116,3.658,4117,6.19,4118,5.254,4119,6.255,4120,6.785,4121,3.658,4132,6.44,4441,1.921,4588,1.113,4600,2.046,4664,1.464,5278,2.046,5607,2.071,5608,2.125,5727,2.498,5762,2.001,6206,1.868,6211,3.414,6231,2.097,6232,2.046,6240,2.154,6247,2.255,6269,2.255,6668,1.752,7506,4.596,7549,3.298,7553,1.837,7565,2.562,7569,2.337,7571,2.154,7572,1.939,7573,2.001,7574,1.939,7856,2.562,7888,2.125,7893,2.436,8975,5.254,9754,3.93,9934,2.219,13792,2.384,13795,3.852,13796,2.436,13797,2.384,13996,2.495,15555,2.734,16660,4.352,16840,2.562,19064,2.734,21048,2.64,21068,5.942,21069,2.64,21086,5.942,21087,2.64,21106,2.495,21111,2.64,21273,2.734,21274,2.64,21276,2.734,21376,4.508,21657,2.852,21660,2.852,21672,2.852,21675,2.852,21676,2.852,21677,2.852,21678,2.852,21679,2.852,21680,4.702,21681,5.998,21682,5.552,21683,5.388,21684,2.852,21685,2.852,21686,2.852,21687,2.734,21688,8.282,21689,2.852,21690,4.702,21691,6.958,21692,6.958,21693,2.852,21694,2.852,21695,2.852,21696,4.702,21697,2.852,21698,2.852,21699,2.852,21700,2.852,21701,2.852,21702,2.852,21703,2.852,21704,2.852,21705,2.852,21706,2.852,21707,2.852,21708,2.852,21709,4.702,21710,2.852,21711,2.852,21712,2.495,21713,2.852,21714,2.852,21715,2.852,21716,2.852,21717,2.852,21718,2.852,21719,4.702,21720,2.852,21721,2.852,21722,4.702,21723,2.852,21724,4.702,21725,2.734,21726,2.852,21727,6.958,21728,5.998,21729,5.998,21730,2.852,21731,5.998,21732,4.702,21733,2.852,21734,2.852,21735,2.852,21736,5.998,21737,2.852,21738,4.702,21739,2.852,21740,2.852,21741,6.958,21742,2.852,21743,2.852,21744,2.852,21745,2.852,21746,2.852,21747,2.852,21748,2.852,21749,4.702,21750,2.852,21751,2.852,21752,4.702,21753,2.852,21754,2.852,21755,2.852,21756,2.852,21757,2.734,21758,2.852,21759,6.958,21760,2.852,21761,2.852,21762,2.852,21763,2.852,21764,2.852,21765,2.852,21766,2.852,21767,2.852,21768,2.852,21769,2.852,22271,5.357,22272,3.25]],["title/classes/TeamDto.html",[0,0.241,5016,5.008]],["body/classes/TeamDto.html",[0,0.377,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,26,2.439,27,0.495,29,0.647,30,0.001,31,0.714,32,0.157,33,0.387,34,2.059,39,2.353,47,0.966,95,0.094,99,1.708,100,3.8,101,0.014,103,0.001,104,0.001,112,0.855,157,1.963,232,3.258,242,4.475,243,5.339,252,2.876,433,1.042,435,2.913,458,3.381,459,4.385,1829,4.67,2184,3.356,2588,6.861,4588,2.904,4664,3.819,4665,4.964,4666,6.219,5016,9.45,5084,9.278,5143,6.356,8068,7.327,11716,7.834,13122,7.442,13123,7.442,16885,8.831,16901,10.322,18806,9.167,22273,7.854,22274,9.563,22275,9.167,22276,10.092,22277,10.895,22278,8.479,22279,8.479,22280,7.854,22281,6.684]],["title/entities/TeamEntity.html",[205,1.419,7875,4.287]],["body/entities/TeamEntity.html",[0,0.338,3,0.013,4,0.013,5,0.006,7,0.1,27,0.38,30,0.001,31,0.668,32,0.121,39,1.992,47,0.815,62,6.615,72,3.295,95,0.139,96,2.547,101,0.015,103,0,104,0,112,0.765,130,3,148,1.09,153,1.16,159,0.998,190,1.749,195,2.144,205,1.988,206,2.341,223,3.455,224,2.079,225,3.739,226,3.263,229,2.83,231,1.238,232,2.64,233,2.225,242,5.851,290,3.17,331,5.7,567,4.133,652,1.46,692,5.984,703,2.993,1835,5.014,2184,2.841,2269,5.264,2712,5.625,2942,3.329,3908,4.9,4588,2.458,4648,4.9,4654,5.149,4664,3.232,4665,6.49,4668,8.739,5727,5.801,7552,4.467,7553,4.055,7574,4.282,7875,6.006,7909,4.756,8068,4.825,10090,5.16,11860,5.264,11861,5.264,13129,5.509,16885,7.157,22281,5.657,22282,6.038,22283,7.176,22284,9.441,22285,7.176,22286,5.657,22287,7.691,22288,7.927,22289,6.038,22290,6.038,22291,6.038,22292,6.038,22293,6.038,22294,6.038,22295,6.038]],["title/classes/TeamFactory.html",[0,0.241,22296,6.451]],["body/classes/TeamFactory.html",[0,0.166,2,0.507,3,0.009,4,0.009,5,0.004,7,0.067,8,0.835,27,0.519,29,1.024,30,0.001,31,0.733,32,0.168,33,0.59,34,1.512,35,1.408,39,2.454,47,0.781,55,2.357,59,3.302,95,0.11,101,0.006,103,0,104,0,112,0.573,113,4.446,127,4.95,129,3.549,130,3.243,135,1.15,148,0.869,157,2.046,172,3.118,185,2.503,192,2.651,205,2.165,206,2.384,228,1.312,231,1.261,326,4.91,331,4.719,374,3.173,433,0.59,436,3.857,467,2.127,478,1.346,501,7.288,502,5.491,505,4.062,506,5.491,507,5.452,508,4.062,509,4.062,510,4.062,511,3.999,512,4.514,513,4.915,514,6.51,515,5.815,516,7.075,517,2.693,522,2.672,523,4.062,524,2.693,525,5.177,526,5.326,527,4.198,528,5.011,529,4.03,530,2.672,531,2.519,532,4.104,533,2.554,534,2.519,535,2.672,536,2.693,537,4.839,538,2.672,539,7.259,540,3.977,541,6.663,542,2.693,543,4.303,544,2.672,545,2.693,546,2.672,547,2.693,548,2.672,549,2.991,550,2.813,551,2.672,552,6.124,553,2.693,554,2.672,555,4.062,556,3.707,557,4.062,558,2.693,559,2.591,560,2.554,561,2.164,562,2.672,563,2.672,564,2.672,565,2.693,566,2.693,567,1.792,568,2.672,569,1.494,570,2.693,571,2.892,572,2.672,573,2.693,575,2.763,577,4.36,4690,4.043,5018,3.026,7875,2.958,16885,6.485,16897,6.148,22284,7.102,22287,3.788,22296,8.189,22297,4.806,22298,6.768,22299,7.307,22300,6.768,22301,4.806,22302,7.307,22303,4.806,22304,4.218,22305,4.806,22306,4.806,22307,4.806,22308,4.806,22309,4.806]],["title/injectables/TeamMapper.html",[589,0.926,5121,5.86]],["body/injectables/TeamMapper.html",[0,0.306,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.344,29,0.674,30,0.001,31,0.628,32,0.109,33,0.404,34,1.51,35,1.013,39,2.452,95,0.137,100,3.9,101,0.011,103,0.001,104,0.001,135,1.149,148,1.099,153,1.809,157,2.045,205,2.629,277,1.263,388,3.786,478,2.475,589,1.487,591,2.095,711,3.555,4588,3.026,5016,9.276,5018,7.042,5049,9.086,5084,7.895,5121,9.41,5143,6.621,7875,8.369,16885,8.203,16897,7.432,16901,9.97,22284,8.042,22310,8.833,22311,11.184,22312,11.184,22313,8.833,22314,10.359,22315,8.833,22316,8.833,22317,8.182,22318,8.833,22319,8.833,22320,8.833,22321,8.833]],["title/entities/TeamNews.html",[205,1.419,7911,5.346]],["body/entities/TeamNews.html",[0,0.356,3,0.01,4,0.017,5,0.005,7,0.161,9,3.606,26,2.086,27,0.203,30,0.001,31,0.437,32,0.127,34,0.892,47,0.923,83,2.279,95,0.137,96,2.426,101,0.014,103,0,104,0,112,0.864,134,1.848,148,0.513,153,1.502,155,2.965,159,0.534,190,0.935,195,2.537,196,3.83,205,2.244,206,1.702,223,3.726,224,1.511,225,2.979,226,2.373,231,1.776,232,2.786,233,1.618,290,2.612,409,5.921,412,4.126,435,1.793,457,5.165,467,1.519,512,4.743,571,3.678,613,4.469,692,5.382,693,2.373,703,3.378,704,3.969,886,2.461,1086,4.423,1087,4.751,1088,4.354,1089,4.628,1090,5.047,1373,4.734,1821,3.681,1826,2.681,1842,3.552,1921,3.459,1939,2.773,2033,2.948,2393,3.56,2715,5.25,2923,3.911,2942,4.309,2956,3.114,3011,6.003,3056,2.511,3750,3.563,3752,3.367,3753,3.683,3755,3.752,3756,3.683,3757,3.911,3771,3.083,3908,3.563,3932,3.367,4588,1.787,4680,4.005,4681,3.621,4823,3.827,5301,3.683,5727,4.331,5817,3.827,6232,3.286,6480,6.815,6665,2.834,6668,5.009,7552,3.248,7553,2.949,7574,3.114,7869,3.911,7870,4.239,7872,6.964,7873,6.074,7874,4.239,7875,5.719,7876,4.239,7877,9.099,7878,5.227,7879,5.827,7880,5.827,7881,6.958,7882,7.835,7883,4.239,7884,5.59,7885,4.239,7886,4.005,7887,4.005,7888,5.082,7889,4.239,7890,4.005,7891,4.005,7892,4.239,7893,3.911,7894,4.239,7895,3.145,7896,3.248,7897,4.005,7898,4.239,7899,4.239,7900,7.324,7901,4.239,7902,7.548,7903,4.239,7904,4.239,7905,5.967,7906,4.005,7907,6.558,7908,4.113,7909,5.153,7910,3.827,7911,5.967,7912,6.315,22322,5.218]],["title/controllers/TeamNewsController.html",[314,2.65,16716,6.113]],["body/controllers/TeamNewsController.html",[0,0.267,3,0.014,4,0.014,5,0.007,7,0.107,8,1.17,27,0.301,29,0.589,30,0.001,31,0.433,32,0.095,33,0.352,35,0.885,36,2.165,72,3.542,95,0.149,100,2.69,101,0.01,103,0,104,0,135,1.496,148,0.758,153,1.247,190,1.383,202,1.771,228,1.385,274,3.211,277,1.103,290,2.43,298,3.349,314,2.935,316,3.712,317,2.488,325,6.066,329,7.003,349,6.469,365,5.107,388,4.39,392,4.016,395,4.129,398,4.159,400,2.262,657,1.764,871,3.768,883,8.648,2938,5.888,3036,3.615,3220,6.696,3240,3.964,4077,4.603,4703,4.649,5018,8.029,5341,6.267,6288,4.674,7638,7.384,7882,5.941,8068,5.187,12493,9.952,14059,6.49,16604,9.487,16613,6.267,16614,6.77,16615,9.342,16617,6.267,16619,7.145,16624,6.77,16625,6.77,16626,7.145,16627,7.145,16628,7.145,16629,7.145,16716,8.989,22323,10.242,22324,7.714,22325,11.499,22326,7.714,22327,10.752,22328,10.242,22329,7.714,22330,7.714,22331,7.145,22332,7.714,22333,7.714,22334,7.714]],["title/classes/TeamPermissionsBody.html",[0,0.241,5092,5.658]],["body/classes/TeamPermissionsBody.html",[0,0.386,2,0.93,3,0.016,4,0.016,5,0.008,7,0.123,10,4.926,27,0.518,30,0.001,32,0.165,95,0.124,101,0.011,103,0.001,104,0.001,112,0.876,122,2.944,190,2.384,199,7.494,200,2.697,202,2.024,296,3.555,734,5.167,1783,7.547,1784,8.244,5084,9.592,5092,9.073,8368,10.209,20679,9.411,22335,12.585,22336,8.814,22337,8.814,22338,8.814,22339,8.814,22340,8.814,22341,8.814]],["title/classes/TeamPermissionsDto.html",[0,0.241,5027,5.49]],["body/classes/TeamPermissionsDto.html",[0,0.3,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,10,4.891,27,0.527,29,0.663,30,0.001,31,0.488,32,0.167,33,0.651,101,0.011,103,0.001,104,0.001,112,0.868,122,2.937,232,2.993,433,1.066,435,2.982,734,5.13,1783,7.493,1784,8.186,5027,10.435,5030,12.071,5084,9.709,11812,7.619,11813,7.619,11814,7.619,11815,7.619,11816,7.619,11817,7.619,11818,7.619,11819,7.619,20679,9.344,22342,8.04,22343,11.06,22344,8.04,22345,8.04,22346,8.04,22347,8.04,22348,8.681,22349,8.681]],["title/injectables/TeamPermissionsMapper.html",[589,0.926,5122,5.86]],["body/injectables/TeamPermissionsMapper.html",[0,0.31,3,0.017,4,0.017,5,0.008,7,0.125,8,1.29,10,3.605,27,0.35,29,0.685,30,0.001,31,0.504,32,0.111,33,0.41,35,1.029,95,0.138,100,3.938,101,0.011,103,0.001,104,0.001,148,1.11,153,1.451,157,2.077,277,1.283,379,6.925,388,3.845,589,1.501,591,2.128,711,3.58,734,3.781,1783,5.523,1784,6.033,4866,6.329,5027,10.226,5031,7.072,5049,9.175,5084,7.972,5092,10.539,5107,7.874,5122,9.502,5144,12.016,5187,10.461,5189,8.31,20679,6.887,22314,10.461,22350,8.972,22351,11.294,22352,11.294,22353,8.972,22354,8.972,22355,8.972,22356,8.972,22357,8.972,22358,8.972,22359,8.972]],["title/interfaces/TeamProperties.html",[159,0.712,22287,5.49]],["body/interfaces/TeamProperties.html",[0,0.34,3,0.013,4,0.013,5,0.007,7,0.101,30,0.001,31,0.702,32,0.122,33,0.449,39,2.013,47,0.878,62,4.328,72,3.331,95,0.139,96,2.566,101,0.015,103,0,104,0,112,0.771,130,3.017,148,1.096,153,1.173,159,1.005,161,1.728,195,1.594,205,2.003,223,3.063,224,2.101,225,3.766,226,3.299,229,2.861,231,1.252,232,2.66,233,2.249,242,5.883,290,3.178,331,5.718,567,4.156,652,1.475,692,6.003,703,3.015,1835,3.727,2184,2.871,2269,5.321,2712,5.656,2942,3.365,3908,4.953,4588,2.485,4654,5.187,4664,3.267,4665,6.526,4668,8.788,5727,5.822,7552,4.515,7553,4.099,7574,4.328,7875,4.465,7909,4.808,8068,4.878,10090,5.216,11860,5.321,11861,5.321,13129,5.568,16885,9.16,22281,5.718,22282,6.103,22284,9.632,22286,5.718,22287,8.788,22288,7.985,22289,6.103,22290,6.103,22291,6.103,22292,6.103,22293,6.103,22294,6.103,22295,6.103]],["title/classes/TeamRoleDto.html",[0,0.241,5090,5.86]],["body/classes/TeamRoleDto.html",[0,0.414,2,1.04,3,0.018,4,0.018,5,0.009,7,0.137,27,0.466,30,0.001,32,0.148,47,0.985,95,0.133,101,0.013,103,0.001,104,0.001,112,0.939,190,2.145,200,3.015,202,2.262,296,3.372,855,5.219,4291,8.944,5084,9.099,5090,10.069,5143,9.661,6815,8.605,22335,11.939,22360,9.852,22361,9.852,22362,9.852]],["title/classes/TeamRolePermissionsDto.html",[0,0.241,5051,5.658]],["body/classes/TeamRolePermissionsDto.html",[0,0.313,2,0.953,3,0.017,4,0.017,5,0.008,7,0.126,27,0.522,29,0.69,30,0.001,31,0.507,32,0.166,33,0.413,47,1.005,101,0.012,103,0.001,104,0.001,112,0.89,122,2.351,232,3.069,331,6.072,433,1.11,435,3.103,1826,6.371,4291,8.603,4299,8.366,4996,9.335,5051,10.884,5054,10.882,5056,6.893,10103,8.366,10104,8.366,11652,6.77,11680,7.12,22342,8.366,22344,8.366,22345,10.505,22346,8.366,22347,8.366,22363,13.672,22364,9.032,22365,9.032,22366,9.032]],["title/injectables/TeamRule.html",[589,0.926,1878,5.86]],["body/injectables/TeamRule.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.113,8,1.207,27,0.459,29,0.898,30,0.001,31,0.661,32,0.154,33,0.538,35,1.212,95,0.139,101,0.01,103,0,104,0,122,2.587,135,1.052,148,1.039,183,4.494,197,2.26,205,2.757,228,1.452,277,1.156,290,3.291,400,2.371,433,0.993,478,2.265,578,4.238,589,1.405,591,1.918,653,3.326,711,3.847,1237,2.342,1775,6.83,1801,8.175,1838,7.804,1878,8.89,1982,6.733,1986,6.504,2619,6.733,3711,5.36,3714,6.818,3716,5.36,3718,5.815,7875,8.446,22284,7.597,22317,7.49,22367,8.086,22368,8.086,22369,8.086,22370,8.086,22371,10.566,22372,8.086,22373,8.086]],["title/injectables/TeamService.html",[589,0.926,22374,6.113]],["body/injectables/TeamService.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,26,2.761,27,0.466,29,0.912,30,0.001,31,0.671,32,0.148,33,0.546,35,1.236,36,2.668,39,3.315,95,0.141,99,1.68,101,0.011,103,0.001,104,0.001,135,1.402,148,1.059,228,1.497,277,1.192,279,3.457,317,2.897,400,2.445,433,1.024,478,2.336,589,1.433,591,1.978,657,2.731,711,3.879,1916,9.292,7875,5.133,8068,8.031,13857,9.983,22374,9.46,22375,8.338,22376,10.778,22377,10.778,22378,8.338,22379,8.338,22380,10.778,22381,8.338,22382,10.778,22383,8.338,22384,8.338,22385,8.338,22386,8.338,22387,8.338,22388,8.338,22389,8.338]],["title/classes/TeamUrlParams.html",[0,0.241,22327,6.113]],["body/classes/TeamUrlParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,34,2.065,47,0.887,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,157,2.315,190,1.792,194,4.745,195,2.653,196,4.006,197,3.375,200,3.06,202,2.296,296,3.159,855,4.889,4197,6.09,4291,9.001,5018,7.603,22327,10.598,22390,9.999,22391,9.999]],["title/classes/TeamUserDto.html",[0,0.241,16901,5.658]],["body/classes/TeamUserDto.html",[0,0.383,2,0.916,3,0.016,4,0.016,5,0.008,7,0.121,26,2.241,27,0.5,29,0.663,30,0.001,31,0.621,32,0.159,33,0.397,34,1.484,39,3.378,47,1.011,95,0.097,99,1.749,100,3.027,101,0.014,103,0.001,104,0.001,112,0.868,232,3.294,242,4.581,243,5.466,252,2.292,433,1.066,435,2.982,458,3.462,459,4.49,1829,3.721,2184,3.436,2588,5.466,4588,4.169,4664,3.91,4665,5.082,4666,6.367,5016,7.953,5084,9.345,5143,9.124,8068,5.837,11716,6.242,13122,7.619,13123,7.619,16885,6.367,16901,10.995,18806,7.304,22273,8.04,22274,7.619,22275,7.304,22276,8.04,22280,8.04,22281,6.843,22392,11.06,22393,8.681,22394,8.681]],["title/classes/TeamUserEntity.html",[0,0.241,22284,5.008]],["body/classes/TeamUserEntity.html",[0,0.314,2,0.682,3,0.012,4,0.012,5,0.006,7,0.09,27,0.508,29,0.801,30,0.001,31,0.673,32,0.154,33,0.479,35,1.041,39,2.911,47,0.667,62,3.855,72,2.967,95,0.134,96,2.369,101,0.015,103,0,104,0,112,0.712,130,3.242,148,1.031,153,1.045,159,0.928,190,1.88,195,1.42,205,1.849,223,2.828,224,1.871,225,3.477,226,2.938,229,2.548,231,1.115,232,2.838,233,2.003,242,5.535,290,3.273,331,5.88,433,0.794,435,2.219,567,3.91,569,2.82,652,2.133,692,6.172,703,3.49,735,4.106,1835,3.319,2184,2.557,2269,4.739,2712,5.321,2942,2.997,3908,4.411,4588,3.592,4654,4.789,4664,2.91,4665,6.139,4668,8.267,5727,5.586,7552,4.021,7553,3.651,7574,3.855,7778,7.053,7875,3.977,7909,4.282,8068,4.344,10090,4.645,11275,5.67,11860,4.739,11861,4.739,13129,4.959,16885,6.655,22281,5.093,22282,5.436,22284,9.176,22286,5.093,22287,7.153,22288,9.241,22289,5.436,22290,5.436,22291,5.436,22292,5.436,22293,5.436,22294,5.436,22295,5.436,22395,6.46,22396,6.46,22397,6.46,22398,6.46,22399,6.46,22400,6.46,22401,6.46,22402,6.46,22403,6.46,22404,6.46,22405,6.46]],["title/classes/TeamUserFactory.html",[0,0.241,22304,6.113]],["body/classes/TeamUserFactory.html",[0,0.159,2,0.484,3,0.008,4,0.008,5,0.004,7,0.064,8,0.805,27,0.514,29,1.016,30,0.001,31,0.717,32,0.167,33,0.583,34,1.468,35,1.389,39,3.047,47,0.867,55,2.317,59,3.232,95,0.122,101,0.006,103,0,104,0,112,0.553,113,4.363,127,4.828,129,3.496,130,3.194,135,1.536,148,0.844,153,0.741,157,1.987,172,3.006,185,2.413,192,2.527,205,2.119,206,2.298,228,1.265,231,1.215,290,2.285,326,4.857,331,5.49,374,3.059,433,0.563,436,3.818,467,2.05,478,1.283,501,7.226,502,5.356,505,3.916,506,5.356,507,5.377,508,3.916,509,3.916,510,3.916,511,3.855,512,4.382,513,4.771,514,5.964,515,5.692,516,7.011,517,2.567,522,2.547,523,3.916,524,2.567,525,5.05,526,5.195,527,4.094,528,4.888,529,3.885,530,2.547,531,2.401,532,4.027,533,2.435,534,2.401,535,2.547,536,2.567,537,4.697,538,2.547,539,7.185,540,3.917,541,6.563,542,2.567,543,4.177,544,2.547,545,2.567,546,2.547,547,2.567,548,2.547,549,2.851,550,2.682,551,2.547,552,6.01,553,2.567,554,2.547,555,3.916,556,3.574,557,3.916,558,2.567,559,2.47,560,2.435,561,2.063,562,2.547,563,2.547,564,2.547,565,2.567,566,2.567,567,1.708,568,2.547,569,1.424,570,2.567,571,2.788,572,2.547,573,2.567,575,2.634,577,4.203,697,3.294,703,3.622,2280,6.525,3436,4.41,4690,3.854,7763,3.611,7773,5.553,21159,7.533,22284,5.065,22298,6.525,22300,6.525,22304,7.533,22406,4.581,22407,4.581,22408,7.044,22409,4.581,22410,4.243,22411,4.581,22412,4.581,22413,4.581,22414,4.581,22415,4.581,22416,4.243,22417,4.581]],["title/interfaces/TeamUserProperties.html",[159,0.712,22288,5.658]],["body/interfaces/TeamUserProperties.html",[0,0.338,3,0.013,4,0.013,5,0.006,7,0.1,30,0.001,31,0.549,32,0.137,39,1.995,47,0.718,62,4.29,72,3.301,95,0.139,96,2.55,101,0.015,103,0,104,0,112,0.766,130,3.003,148,1.091,153,1.163,159,0.999,161,1.712,195,1.58,205,1.991,223,3.044,224,2.082,225,3.744,226,3.269,229,2.835,231,1.24,232,2.643,233,2.229,242,5.856,290,3.328,331,6.142,567,4.137,652,1.462,692,6.232,703,3.82,1835,3.694,2184,2.846,2269,5.273,2712,5.63,2942,3.334,3908,4.908,4588,2.462,4654,5.156,4664,3.238,4665,6.496,4668,8.747,5727,5.804,7552,4.475,7553,4.062,7574,4.29,7875,4.425,7909,4.765,8068,4.834,10090,5.169,11860,5.273,11861,5.273,13129,5.518,16885,7.166,22281,5.667,22282,6.049,22284,9.234,22286,5.667,22287,7.701,22288,9.015,22289,6.049,22290,6.049,22291,6.049,22292,6.049,22293,6.049,22294,6.049,22295,6.049]],["title/modules/TeamsApiModule.html",[252,1.839,20576,5.86]],["body/modules/TeamsApiModule.html",[0,0.345,3,0.018,4,0.018,5,0.009,30,0.001,95,0.134,101,0.013,103,0.001,104,0.001,252,3.421,254,3.588,255,3.809,256,3.905,257,3.891,258,3.877,259,4.379,260,4.48,269,4.72,270,3.836,271,3.757,273,6.281,274,4.152,276,4.72,277,1.426,9055,11.784,20576,11.784,22418,9.974,22419,9.974,22420,9.974,22421,9.974]],["title/modules/TeamsModule.html",[252,1.839,9055,5.86]],["body/modules/TeamsModule.html",[0,0.331,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.359,254,3.443,255,3.655,256,3.747,257,3.733,258,3.72,259,4.622,260,4.729,269,4.603,270,3.68,271,3.605,277,1.369,279,3.968,610,3.774,1916,9.623,9055,12.029,22374,12.745,22422,9.57,22423,9.57,22424,9.57,22425,9.57]],["title/injectables/TeamsRepo.html",[589,0.926,1916,4.833]],["body/injectables/TeamsRepo.html",[0,0.21,3,0.011,4,0.011,5,0.005,7,0.085,8,0.992,10,3.488,12,3.929,13,6.128,18,4.35,26,2.54,27,0.5,29,0.929,30,0.001,31,0.684,32,0.155,33,0.556,34,1.484,35,1.396,36,2.798,39,2.813,40,4.201,42,6.128,49,2.286,55,1.23,62,3.622,95,0.13,96,1.585,97,2.448,99,1.223,101,0.008,103,0,104,0,112,0.681,129,2.571,130,2.349,135,1.13,148,1.15,153,0.982,197,2.426,205,1.237,206,2.832,231,1.498,277,0.868,290,2.059,317,2.953,331,5.566,388,2.601,436,3.267,478,1.7,532,4.913,589,1.154,591,1.44,652,2.061,657,2.866,728,7.27,734,3.659,735,3.929,736,4.989,741,7.619,759,3.622,760,3.696,761,3.658,762,3.696,764,3.658,765,3.696,766,3.249,773,4.023,980,4.788,1092,5.838,1835,4.461,1916,6.024,3436,4.461,3998,4.285,4272,4.785,5018,5.466,5136,7.331,7875,6.239,8068,8.186,16897,5.107,19251,9.387,19257,8.041,19261,5.622,21289,5.622,22284,6.242,22426,6.07,22427,7.619,22428,6.07,22429,7.619,22430,6.07,22431,6.07,22432,6.07,22433,6.07,22434,6.07,22435,6.07,22436,6.07,22437,6.07,22438,6.07,22439,6.07,22440,6.07,22441,6.07]],["title/interfaces/TemporaryFileProperties.html",[159,0.712,13527,5.86]],["body/interfaces/TemporaryFileProperties.html",[0,0.279,3,0.015,4,0.015,5,0.011,7,0.112,30,0.001,31,0.452,32,0.16,47,1.007,55,2.525,83,4.02,95,0.131,96,2.103,101,0.014,103,0,104,0,112,0.827,159,0.824,161,1.918,205,2.148,210,8.722,223,4.134,224,2.333,225,4.038,229,3.176,231,1.39,233,2.497,248,6.037,414,4.086,433,0.989,478,2.256,870,7.397,1195,3.988,1215,4.854,1237,2.333,2164,3.736,2550,4.854,3426,6.227,5260,8.51,6565,6.543,6617,4.59,7245,5.197,11688,8.307,11689,10.375,11703,6.349,12130,7.069,12149,6.182,13397,6.182,13527,9.883,13532,11.372,13534,7.46,13538,7.069,13539,7.46,13540,7.46,13543,9.249,13544,7.46,13545,7.46]],["title/injectables/TemporaryFileRepo.html",[589,0.926,13391,5.658]],["body/injectables/TemporaryFileRepo.html",[0,0.204,3,0.011,4,0.011,5,0.005,7,0.082,8,0.972,10,3.418,12,3.85,18,4.263,26,2.793,27,0.513,29,0.971,30,0.001,31,0.715,32,0.157,33,0.581,34,1.009,35,1.486,36,2.871,39,3.531,40,2.855,47,0.886,49,3.204,83,2.494,95,0.122,99,1.189,101,0.008,103,0,104,0,135,1.107,148,1.185,153,1.376,205,1.734,206,2.775,210,5.489,231,1.468,277,0.844,317,3.065,436,3.225,532,4.885,589,1.131,591,1.4,728,7.209,734,3.585,735,3.85,736,4.911,759,3.521,760,3.593,761,3.556,762,3.593,763,4.094,764,3.556,765,3.593,766,3.158,771,4.243,787,8.381,1195,6.154,1924,7.342,2516,4.793,5260,8.01,9534,7.466,13391,6.911,13397,6.53,13532,9.186,22442,12.428,22443,5.9,22444,8.507,22445,8.507,22446,8.507,22447,10.918,22448,8.507,22449,8.507,22450,5.9,22451,8.507,22452,5.9,22453,8.507,22454,5.9,22455,5.9,22456,8.507,22457,5.9,22458,5.9]],["title/injectables/TemporaryFileStorage.html",[589,0.926,13392,5.86]],["body/injectables/TemporaryFileStorage.html",[0,0.152,3,0.008,4,0.008,5,0.011,7,0.061,8,0.778,27,0.476,29,0.933,30,0.001,31,0.686,32,0.151,33,0.558,35,1.371,36,2.737,39,3.125,47,1.039,55,2.065,59,2.117,83,2.76,95,0.133,101,0.006,103,0,104,0,125,2.242,129,1.299,130,1.187,135,1.465,145,3.534,148,1.06,153,1.102,228,1.223,277,0.627,290,3.103,317,2.898,414,2.225,433,0.837,569,2.117,578,2.299,579,1.252,589,0.905,591,1.04,641,2.5,652,2.485,657,2.661,688,2.045,711,3.88,756,1.749,812,2.795,860,3.096,871,1.614,1195,6.16,1215,2.643,1237,1.27,1302,2.438,1304,2.5,1834,3.217,1924,2.949,1928,2.592,2164,2.034,2530,3.096,2636,3.334,2831,1.756,2930,3.287,3109,4.808,3426,2.592,5126,4.062,5133,4.062,5145,4.062,5234,5.389,5260,8.435,6178,2.592,6617,2.5,7316,4.996,7823,3.69,8980,6.309,8990,7.026,9017,3.849,11521,2.7,11552,3.69,12133,3.849,12157,3.367,12518,3.563,12577,6.905,12622,4.062,12644,3.563,13143,2.994,13198,10.721,13391,7.648,13392,5.731,13397,3.367,13400,3.849,13529,3.69,13543,5.978,15389,3.287,22459,12.44,22460,6.811,22461,6.811,22462,6.811,22463,6.811,22464,6.811,22465,8.35,22466,8.35,22467,4.386,22468,6.811,22469,4.386,22470,6.811,22471,4.386,22472,6.811,22473,4.386,22474,6.811,22475,4.386,22476,4.386,22477,4.386,22478,6.811,22479,4.386,22480,9.414,22481,9.414,22482,4.386,22483,6.811,22484,4.386,22485,8.35,22486,9.414,22487,9.414,22488,4.386,22489,6.811,22490,4.386,22491,4.386,22492,4.386,22493,4.386,22494,4.386,22495,4.386,22496,4.386,22497,4.386,22498,4.386,22499,4.386,22500,4.386,22501,4.386,22502,4.386,22503,4.386,22504,4.386,22505,10.193,22506,6.811,22507,4.386,22508,4.386,22509,4.386,22510,4.386,22511,4.386,22512,4.386,22513,4.386,22514,8.35,22515,4.386,22516,4.386,22517,4.386,22518,4.386,22519,4.386,22520,3.69,22521,4.386,22522,4.386]],["title/classes/TestApiClient.html",[0,0.241,1617,6.113]],["body/classes/TestApiClient.html",[0,0.126,2,0.385,3,0.007,4,0.007,5,0.003,7,0.051,8,0.673,10,2.366,27,0.496,29,0.935,30,0.001,31,0.688,32,0.156,33,0.559,35,1.382,36,1.244,47,1.05,51,2.834,55,1.5,59,3.097,87,2.968,94,4.728,95,0.095,101,0.005,103,0,104,0,112,0.462,122,1.221,129,2.759,130,2.522,135,1.751,142,1.321,145,2.21,148,1.184,153,1.374,157,0.845,158,1.347,159,0.373,180,2.523,185,3.59,189,3.624,228,2.023,277,0.522,316,1.756,317,1.601,326,1.388,339,3.302,379,5.318,389,3.849,414,6.38,433,0.448,478,1.022,484,2.624,579,1.681,581,5.167,652,2.773,657,0.834,711,3.752,756,1.455,802,3.902,871,3.666,1080,1.265,1176,4.519,1372,6.776,1585,6.383,1602,7.454,1603,11.268,1604,3.202,1605,5.053,1606,9.199,1607,4.954,1608,3.379,1609,3.379,1610,2.676,1611,2.964,1612,3.379,1613,3.07,1614,3.379,1615,3.379,1616,3.202,1617,6.496,1618,3.379,1619,2.246,1620,3.379,1621,5.453,1622,4.233,1623,5.167,1624,4.954,1625,4.783,1626,3.3,1627,7.164,1628,9.199,1629,6.855,1630,5.167,1631,5.167,1632,5.167,1633,3.202,1634,9.228,1635,3.379,1636,5.167,1637,10.15,1638,8.178,1639,10.15,1640,3.379,1641,5.167,1642,8.178,1643,3.379,1644,7.867,1645,5.453,1646,3.379,1647,6.013,1648,5.453,1649,3.379,1650,5.167,1651,5.453,1652,3.379,1653,3.379,1654,3.379,1655,3.379,1656,5.453,1657,3.379,1658,3.202,1659,5.167,1660,5.548,1661,7.454,1662,3.202,1663,5.167,1664,3.202,1665,8.178,1666,5.167,1667,5.167,1668,3.202,1669,5.167,1670,5.167,1671,3.202,1672,3.202,1673,5.453,1674,7.867,1675,2.199,1676,3.379,1677,5.453,1678,3.379,1679,3.379,1680,3.379,1681,3.379,1682,3.379,1683,3.379,1684,3.379,1685,3.379,3242,3.222,4401,3.799,22523,5.453,22524,5.453,22525,5.887,22526,5.453,22527,5.887,22528,3.649,22529,3.379,22530,3.649,22531,3.649,22532,3.649,22533,8.631,22534,3.379,22535,3.649,22536,3.649,22537,3.379,22538,3.649,22539,3.649,22540,3.649,22541,3.649,22542,3.649,22543,3.379]],["title/classes/TestBootstrapConsole.html",[0,0.241,22544,6.451]],["body/classes/TestBootstrapConsole.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,8,1.28,27,0.345,30,0.001,35,1.015,36,2.596,47,0.651,95,0.148,101,0.014,103,0.001,104,0.001,135,1.457,148,1.101,231,1.932,258,3.441,276,3.466,317,1.915,571,3.504,657,2.025,734,5.441,981,5.392,1086,4.215,1087,4.086,1088,4.149,1089,4.41,1090,4.809,2060,6.494,2061,6.366,2802,6.796,3803,5.788,3811,5.868,3813,6.894,3814,5.182,3816,6.979,5220,6.979,9202,6.494,20535,9.829,22544,10.373,22545,11.199,22546,11.199,22547,8.853,22548,12.285,22549,8.853,22550,8.2,22551,8.853,22552,6.796,22553,8.2,22554,8.853,22555,8.853,22556,11.199,22557,8.2,22558,8.853,22559,8.853,22560,11.199,22561,8.853,22562,7.77,22563,8.853,22564,8.853]],["title/classes/TestConnection.html",[0,0.241,22565,6.451]],["body/classes/TestConnection.html",[0,0.311,2,0.949,3,0.017,4,0.017,5,0.008,7,0.125,27,0.441,30,0.001,36,1.9,47,0.909,55,1.822,95,0.1,101,0.012,103,0.001,104,0.001,112,0.887,129,3.349,130,3.06,135,1.17,148,1.112,153,2.001,317,1.945,467,3.975,657,2.056,711,3.276,2863,7.892,6303,6.239,9682,7.984,22565,10.476,22566,12.373,22567,8.992,22568,12.373,22569,12.373,22570,8.992,22571,8.992,22572,9.188,22573,10.27,22574,8.992,22575,12.373,22576,8.992,22577,8.992,22578,8.992,22579,8.992]],["title/classes/TestHelper.html",[0,0.241,22580,6.451]],["body/classes/TestHelper.html",[0,0.296,2,0.903,3,0.016,4,0.016,5,0.011,7,0.119,27,0.427,30,0.001,31,0.615,47,0.805,95,0.135,101,0.011,103,0.001,104,0.001,112,0.859,129,3.244,130,2.964,135,1.754,148,1.077,159,0.875,339,2.507,467,3.924,711,3.173,1302,6.72,1304,4.873,2831,3.423,2912,4.093,6572,4.873,7218,5.755,7312,7.733,7313,5.323,7314,5.208,7315,7.361,11521,5.264,12050,7.261,12051,11.187,20937,7.505,22580,10.147,22581,12.087,22582,12.087,22583,12.087,22584,8.551,22585,8.551,22586,8.551,22587,8.551,22588,8.551,22589,8.551,22590,8.551,22591,8.551,22592,8.551]],["title/classes/TestXApiKeyClient.html",[0,0.241,22593,6.451]],["body/classes/TestXApiKeyClient.html",[0,0.19,2,0.579,3,0.01,4,0.01,5,0.005,7,0.076,8,0.922,10,3.243,27,0.504,29,0.952,30,0.001,31,0.7,32,0.16,33,0.57,35,1.394,47,1.057,55,1.939,59,2.975,95,0.09,101,0.007,103,0,104,0,112,0.633,122,1.673,129,2.834,130,2.59,135,1.656,145,3.029,148,1.195,185,2.764,228,2.111,277,0.785,339,2.806,414,6.734,433,0.674,652,2.821,711,3.686,756,2.189,1176,4.213,1603,11.514,1604,4.817,1606,10.319,1607,6.79,1611,7.776,1627,8.085,1628,10.319,1630,7.083,1631,4.817,1632,4.817,1633,4.817,1636,7.083,1637,10.319,1638,8.4,1639,10.319,1641,7.083,1642,4.817,1647,4.459,1650,7.083,1659,7.083,1660,7.174,1661,9.261,1662,4.817,1663,7.083,1664,4.817,1665,9.868,1666,7.083,1667,7.083,1668,4.817,1669,7.083,1670,7.083,1671,4.817,1672,4.817,3242,4.417,22523,7.475,22524,7.475,22526,7.475,22529,5.084,22533,8.865,22534,5.084,22537,5.084,22543,5.084,22593,7.475,22594,13.119,22595,8.071,22596,5.489,22597,5.489,22598,5.489,22599,5.489,22600,5.489,22601,5.489,22602,5.489,22603,5.489]],["title/injectables/TimeoutInterceptor.html",[589,0.926,14337,6.113]],["body/injectables/TimeoutInterceptor.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,27,0.408,29,0.799,30,0.001,31,0.588,32,0.13,33,0.478,35,0.914,55,2.368,95,0.138,101,0.01,103,0,104,0,135,1.362,148,1.149,153,1.693,157,1.846,183,3.045,193,4.566,228,1.432,277,1.14,314,3.984,329,6.376,400,2.338,433,0.98,571,4.627,589,1.392,591,1.892,653,3.28,1056,5.146,1057,6.286,1058,6.121,1080,2.764,1237,2.31,1329,6.376,2313,7.679,2383,8.973,2903,6.845,2922,7.528,4338,8.761,4968,8.505,5372,9.697,7477,8.505,9819,9.189,9821,9.189,9822,10.893,9823,10.893,9825,9.189,10027,6.121,14337,9.189,18991,10.827,18998,7.386,19000,7.386,19399,8.809,22604,7.974,22605,10.469,22606,9.697,22607,7.974,22608,7.974,22609,7.974,22610,10.469,22611,11.689,22612,10.469,22613,7.974,22614,10.469,22615,7.974,22616,7.974,22617,7.974,22618,7.974]],["title/classes/TimestampsResponse.html",[0,0.241,4019,4.004]],["body/classes/TimestampsResponse.html",[0,0.318,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.51,29,0.701,30,0.001,31,0.515,32,0.162,33,0.571,83,4.025,95,0.102,101,0.012,103,0.001,104,0.001,112,0.899,190,2.239,201,4.854,202,2.107,296,3.522,430,5.536,433,1.407,460,5.589,821,4.685,4019,7.738,4035,9.501,11596,10.332,11656,7.455,22619,9.177,22620,9.177,22621,9.177,22622,9.177,22623,9.177,22624,9.177]],["title/injectables/TldrawBoardRepo.html",[589,0.926,22625,5.346]],["body/injectables/TldrawBoardRepo.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.073,8,0.89,27,0.506,29,0.841,30,0.001,31,0.619,32,0.161,33,0.504,35,1.182,36,2.442,47,1,55,1.578,95,0.133,101,0.007,103,0,104,0,112,0.611,122,1.615,135,1.434,145,1.964,148,0.766,153,0.846,228,1.671,277,0.748,317,2.719,337,3.22,371,4.139,433,0.643,569,3.204,571,4.363,589,1.035,591,1.241,634,7.289,651,2.654,653,2.152,657,2.128,711,4.141,804,3.921,1072,5.601,1086,5.247,1087,5.087,1088,5.165,1089,5.135,1090,6.501,1091,7.932,1092,5.238,1100,4.25,1103,4.016,2088,2.242,2231,4.402,2472,3.153,2481,4.016,3237,4.518,5074,2.671,5199,8.673,8410,3.518,9682,7.277,10603,3.921,20661,3.762,22625,5.979,22626,13.143,22627,5.231,22628,9.305,22629,10.308,22630,9.305,22631,10.308,22632,7.214,22633,7.789,22634,7.214,22635,7.789,22636,4.402,22637,7.789,22638,7.214,22639,5.231,22640,7.789,22641,5.231,22642,7.214,22643,10.141,22644,8.375,22645,5.231,22646,7.789,22647,11.554,22648,9.047,22649,5.231,22650,5.231,22651,5.231,22652,5.231,22653,5.231,22654,9.305,22655,5.231,22656,5.231,22657,6.836,22658,5.231,22659,5.231,22660,4.591,22661,4.25,22662,5.231,22663,4.846,22664,4.591,22665,5.231,22666,5.231,22667,5.231,22668,7.789,22669,5.231,22670,4.402,22671,7.789,22672,5.231,22673,7.789,22674,5.231,22675,8.619,22676,5.231,22677,5.231,22678,4.846,22679,5.231,22680,7.789,22681,5.231,22682,7.789,22683,5.231,22684,5.231,22685,7.789,22686,5.231,22687,5.231,22688,5.231,22689,5.231,22690,5.231,22691,5.231,22692,5.231,22693,5.231]],["title/modules/TldrawClientModule.html",[252,1.839,22694,6.451]],["body/modules/TldrawClientModule.html",[0,0.334,3,0.018,4,0.018,5,0.009,30,0.001,95,0.142,101,0.012,103,0.001,104,0.001,252,3.374,254,3.476,255,3.69,256,3.783,257,3.769,258,3.756,259,4.641,260,4.395,265,6.448,269,4.63,270,3.716,271,3.639,276,4.63,277,1.382,610,3.811,1027,2.957,3895,11.293,9676,8.95,12325,8.48,22694,13.164,22695,9.662,22696,9.662,22697,9.662,22698,9.662]],["title/interfaces/TldrawConfig.html",[159,0.712,22661,5.658]],["body/interfaces/TldrawConfig.html",[3,0.015,4,0.015,5,0.007,7,0.112,30,0.001,32,0.171,47,1.06,55,2.888,95,0.089,101,0.015,103,0,104,0,112,0.824,122,2.872,135,1.619,159,0.82,161,1.911,2088,3.438,2219,3.596,2220,4.045,2221,3.904,2222,5.051,12095,10.18,12096,7.04,12097,10.18,20511,7.43,22661,10.106,22699,8.022,22700,12.914,22701,12.914,22702,12.914,22703,12.914,22704,12.914,22705,12.914,22706,12.914,22707,10.51,22708,8.022,22709,8.022,22710,8.022,22711,8.022,22712,8.022,22713,8.022,22714,8.022,22715,7.43,22716,8.022]],["title/controllers/TldrawController.html",[314,2.65,22717,6.113]],["body/controllers/TldrawController.html",[0,0.289,3,0.015,4,0.015,5,0.008,7,0.116,8,1.232,10,4.799,27,0.325,29,0.637,30,0.001,31,0.468,32,0.169,33,0.381,35,0.956,95,0.146,101,0.011,103,0.001,104,0.001,190,1.495,202,1.915,228,1.497,274,3.471,277,1.192,314,3.173,316,4.013,317,2.584,337,6.635,342,7.047,345,7.75,388,3.574,390,6.31,391,8.048,392,4.341,393,4.129,400,2.445,401,4.673,402,4.542,657,1.907,1351,7.248,2049,4.398,2681,6.432,2954,5.728,3153,8.274,3212,5.996,3216,6.25,3217,6.25,3220,7.047,3222,6.573,3241,5.607,3259,6.116,3260,6.25,7180,8.031,9682,5.886,22717,9.46,22718,8.338,22719,10.482,22720,9.983,22721,8.338,22722,11.081,22723,8.338,22724,8.338,22725,8.338,22726,9.703,22727,7.723,22728,8.338,22729,8.338,22730,8.338,22731,8.338,22732,8.338,22733,8.338]],["title/classes/TldrawDeleteParams.html",[0,0.241,22722,6.113]],["body/classes/TldrawDeleteParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,31,0.676,32,0.123,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,296,3.15,299,4.713,308,7.298,335,8.095,3153,9.241,9682,9.138,22722,10.566,22734,9.95,22735,9.95]],["title/entities/TldrawDrawing.html",[205,1.419,22736,5.658]],["body/entities/TldrawDrawing.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.102,27,0.504,30,0.001,31,0.413,32,0.16,33,0.549,47,1.035,49,4.23,55,2.436,95,0.125,96,2.591,97,2.969,101,0.013,103,0,104,0,112,0.779,130,3.253,153,1.19,159,0.753,190,2.318,195,2.642,196,4.164,197,3.614,205,2.023,206,2.401,211,6.923,223,4.03,224,2.132,229,2.903,232,1.992,277,1.053,579,2.101,789,6.579,1197,6.53,1675,4.436,2049,3.003,2537,9.449,2953,4.269,5752,6.217,6759,5.517,8221,5.517,8287,5.802,9682,8.486,10172,5.979,22670,6.193,22736,8.064,22737,12.242,22738,6.817,22739,11.135,22740,7.36,22741,7.36,22742,7.36,22743,7.36,22744,7.36,22745,7.36,22746,8.712,22747,9.194,22748,6.817,22749,6.817,22750,9.194,22751,6.817,22752,9.194,22753,6.817]],["title/interfaces/TldrawDrawingProps.html",[159,0.712,22746,6.113]],["body/interfaces/TldrawDrawingProps.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,30,0.001,31,0.435,32,0.162,33,0.599,47,1.065,49,3.868,55,2.587,95,0.128,96,2.681,97,3.123,101,0.013,103,0,104,0,112,0.805,130,3.455,153,1.252,159,0.792,161,1.844,195,2.257,196,4.236,197,3.22,205,2.093,223,4.089,224,2.243,229,3.054,232,2.095,277,1.107,579,2.211,789,6.987,1197,6.934,1675,4.667,2049,3.16,2537,8.64,2953,4.491,5752,6.603,6759,5.804,8221,5.804,8287,6.104,9682,9.012,10172,6.291,22670,6.515,22736,6.291,22737,7.172,22738,7.172,22739,11.825,22746,10.112,22747,9.511,22748,7.172,22749,7.172,22750,9.511,22751,7.172,22752,9.511,22753,7.172]],["title/modules/TldrawModule.html",[252,1.839,22754,6.451]],["body/modules/TldrawModule.html",[0,0.24,3,0.013,4,0.013,5,0.006,30,0.001,32,0.086,47,0.509,87,3.493,95,0.158,96,2.487,101,0.009,103,0,104,0,135,0.901,153,1.12,206,3.108,224,2.007,252,2.874,254,2.492,255,2.646,256,2.712,257,2.703,258,2.693,259,3.954,260,2.575,269,3.729,270,2.664,271,2.61,274,3.965,276,3.729,277,0.991,290,1.644,347,3.56,571,2.742,623,4.53,651,3.515,736,4.689,809,4.53,1014,4.807,1015,4.73,1021,4.471,1022,6.61,1024,6.61,1025,4.471,1026,4.363,1027,2.12,1031,8.965,1036,6.849,1040,4.807,1041,4.73,1086,3.298,1087,3.198,1088,3.247,1089,3.451,1166,4.592,1167,4.265,1484,8.54,1856,7.237,2088,4.083,2447,5.308,2636,3.391,2680,3.182,2860,4.471,2954,3.682,7457,8.195,10016,4.219,12092,4.471,12252,5.629,12414,6.987,12415,6.987,12416,7.14,12418,5.318,12427,5.082,12428,5.082,12655,8.823,22625,9.748,22717,9.554,22726,10.317,22727,6.417,22736,7.739,22754,13.315,22755,6.928,22756,6.928,22757,6.928,22758,10.685,22759,6.928,22760,6.928,22761,6.417]],["title/injectables/TldrawRepo.html",[589,0.926,22758,5.86]],["body/injectables/TldrawRepo.html",[0,0.287,3,0.015,4,0.015,5,0.007,7,0.116,8,1.228,10,4.319,27,0.491,29,0.962,30,0.001,31,0.708,32,0.156,33,0.576,35,1.367,36,2.827,47,0.876,95,0.133,96,2.168,97,3.349,101,0.011,103,0.001,104,0.001,148,0.816,205,2.191,206,2.709,228,1.491,277,1.187,317,3.017,400,2.435,433,1.02,589,1.429,591,1.97,657,2.458,734,4.53,759,6.414,2445,5.971,2446,6.847,2450,7.73,9682,7.588,22736,11.425,22758,9.045,22762,8.304,22763,10.75,22764,8.304,22765,8.304,22766,10.75,22767,8.304,22768,10.75,22769,8.304,22770,8.304,22771,8.304,22772,8.304]],["title/injectables/TldrawService.html",[589,0.926,22726,5.658]],["body/injectables/TldrawService.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.133,8,1.339,27,0.457,29,0.895,30,0.001,31,0.658,32,0.145,33,0.536,35,1.092,36,2.477,47,0.933,95,0.131,101,0.012,103,0.001,104,0.001,135,1.239,228,1.71,277,1.362,317,2.747,400,2.793,433,1.17,589,1.558,591,2.26,657,2.681,9682,6.724,22670,8.014,22720,10.858,22726,9.523,22758,11.656,22761,8.822,22773,9.525,22774,9.525,22775,9.525,22776,11.722,22777,9.525,22778,9.525,22779,9.525]],["title/modules/TldrawTestModule.html",[252,1.839,22780,6.451]],["body/modules/TldrawTestModule.html",[0,0.244,3,0.013,4,0.013,5,0.006,8,0.807,27,0.275,29,0.539,30,0.001,31,0.397,32,0.087,33,0.323,35,0.81,59,2.195,95,0.155,101,0.009,103,0,104,0,135,1.256,148,0.694,206,2.304,252,3.12,254,2.54,255,2.697,256,2.765,257,2.755,258,2.745,259,4.494,260,2.624,265,5.925,269,3.779,270,2.716,271,2.66,276,4.844,277,1.01,290,2.29,314,2.688,467,2.809,478,1.979,540,3.202,610,2.785,1016,7.007,1027,2.161,1028,8.2,1029,8.32,1034,5.421,1043,6.697,1045,6.31,1048,4.9,1480,10.069,1484,8.589,1856,7.28,2033,3.66,2636,3.457,2680,3.243,5202,4.985,7457,8.243,12092,4.557,12252,5.738,12467,5.738,22625,9.805,22719,6.198,22780,13.438,22781,7.062,22782,7.062,22783,7.062,22784,11.211,22785,9.805,22786,8.471,22787,7.062,22788,7.062,22789,7.062,22790,7.841]],["title/classes/TldrawWs.html",[0,0.241,22790,5.658]],["body/classes/TldrawWs.html",[0,0.237,2,0.723,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,27,0.477,29,0.826,30,0.001,31,0.655,32,0.144,33,0.494,35,1.241,47,0.694,95,0.141,101,0.009,103,0,104,0,110,2.38,112,0.741,134,2.424,135,1.229,145,2.57,148,0.673,190,1.227,193,5.92,228,1.697,317,2.044,371,3.638,433,1.161,528,3.473,569,3.625,571,2.71,610,2.7,634,7.339,651,3.473,652,2.489,657,2.16,711,3.665,1086,3.259,1087,3.159,1088,3.208,1089,3.41,1090,5.131,1091,6.262,1092,4.603,1237,2.736,2088,2.934,2164,5.869,2698,2.221,2831,2.74,5412,5.255,7180,6.353,9682,8.233,18576,5.76,22025,5.255,22572,9.475,22573,5.255,22636,5.76,22643,8.291,22661,5.562,22675,6.341,22715,6.341,22719,6.008,22785,9.954,22790,7.675,22791,6.846,22792,10.817,22793,10.817,22794,11.663,22795,9.447,22796,9.447,22797,9.447,22798,10.817,22799,6.846,22800,9.447,22801,6.846,22802,9.447,22803,6.846,22804,6.846,22805,6.341,22806,6.846,22807,6.846,22808,6.846,22809,6.846,22810,6.846,22811,6.846,22812,6.846,22813,6.846,22814,6.846,22815,6.846,22816,6.846,22817,6.846,22818,6.846,22819,6.846,22820,9.447,22821,6.846,22822,6.846]],["title/classes/TldrawWsFactory.html",[0,0.241,22823,6.451]],["body/classes/TldrawWsFactory.html",[0,0.32,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.316,27,0.449,29,0.707,30,0.001,31,0.52,32,0.115,33,0.423,35,1.321,55,2.541,95,0.128,101,0.012,103,0.001,104,0.001,148,1.132,153,1.498,467,4.005,711,3.337,2796,4.957,18575,7.524,20661,6.659,22572,10.66,22573,7.109,22644,10.66,22664,8.128,22823,10.671,22824,9.261,22825,11.521,22826,13.121,22827,11.521,22828,9.261,22829,11.521,22830,9.261,22831,9.261,22832,8.578,22833,8.578]],["title/modules/TldrawWsModule.html",[252,1.839,22784,6.113]],["body/modules/TldrawWsModule.html",[0,0.302,3,0.016,4,0.016,5,0.008,30,0.001,95,0.157,101,0.011,103,0.001,104,0.001,252,3.22,254,3.136,255,3.329,256,3.413,257,3.401,258,3.389,259,4.43,260,3.24,269,4.342,270,3.353,271,3.284,276,4.342,277,1.247,314,3.318,610,3.438,651,4.423,1021,5.626,1025,5.626,1026,5.49,1027,2.668,2088,4.754,2447,5.663,2636,4.267,7457,8.743,12092,5.626,12418,6.693,22625,10.401,22784,12.589,22785,10.401,22786,7.652,22790,9.01,22834,8.718,22835,8.718,22836,8.718,22837,8.718]],["title/injectables/TldrawWsService.html",[589,0.926,22785,5.346]],["body/injectables/TldrawWsService.html",[0,0.114,3,0.006,4,0.006,5,0.003,7,0.046,8,0.618,27,0.464,29,0.853,30,0.001,31,0.68,32,0.15,33,0.511,35,1.245,36,1.688,47,0.875,55,1.097,95,0.125,101,0.004,103,0,104,0,112,0.424,122,0.682,125,0.784,129,2.614,130,2.161,134,1.165,135,1.522,142,3.93,145,2.031,148,0.933,153,1.535,157,0.762,195,1.94,197,0.919,228,0.972,277,0.47,289,1.908,317,2.053,388,5.014,433,0.665,533,2.876,567,2.018,569,3.636,579,0.939,589,0.719,591,0.78,629,4.215,634,5.506,640,2.025,651,1.669,652,1.101,657,1.237,711,3.976,734,2.281,756,2.158,813,1.844,985,1.908,1080,1.14,1115,4.533,1296,5.8,1328,4.691,1329,5.376,1393,3.084,1563,2.123,2038,2.097,2088,1.41,2163,6.131,2465,3.198,2588,3.407,2636,1.61,2642,2.246,2796,3.69,3237,3.998,3846,2.593,4261,2.466,4921,4.635,4956,2.525,5005,4.553,5138,2.897,5953,4.569,6178,3.198,7270,3.587,7472,3.755,7859,2.322,8100,6.296,8410,3.639,9682,7.664,10476,3.047,12115,2.525,12572,4.056,15034,2.673,18575,2.673,20661,2.366,22025,2.525,22572,10.089,22573,8.979,22625,7.701,22632,5.012,22634,5.012,22636,2.768,22638,5.012,22642,5.012,22643,7.01,22644,10.625,22648,10.054,22657,11.479,22661,2.673,22663,3.047,22664,2.887,22785,4.154,22833,3.047,22838,3.29,22839,6.385,22840,6.893,22841,6.893,22842,5.411,22843,5.411,22844,5.411,22845,5.411,22846,5.411,22847,5.411,22848,5.411,22849,5.411,22850,3.29,22851,3.29,22852,5.411,22853,9.293,22854,3.29,22855,7.987,22856,5.411,22857,5.411,22858,3.29,22859,11.91,22860,5.411,22861,3.29,22862,5.411,22863,9.492,22864,3.29,22865,5.411,22866,5.411,22867,3.29,22868,3.29,22869,5.411,22870,3.29,22871,3.29,22872,3.29,22873,3.29,22874,3.047,22875,3.29,22876,3.047,22877,3.29,22878,3.047,22879,3.29,22880,3.29,22881,3.29,22882,3.29,22883,3.29,22884,3.047,22885,5.411,22886,3.29,22887,7.987,22888,5.411,22889,3.29,22890,3.29,22891,3.29,22892,3.29,22893,3.29,22894,3.29,22895,3.29,22896,3.29,22897,3.29,22898,3.29,22899,3.29,22900,3.29,22901,5.411,22902,3.29,22903,3.29,22904,9.492,22905,3.29,22906,8.792,22907,6.385,22908,7.398,22909,7.987,22910,3.29,22911,7.398,22912,3.29,22913,7.987,22914,3.29,22915,3.29,22916,3.29,22917,3.29,22918,3.29,22919,3.29,22920,3.29,22921,5.411,22922,3.29,22923,3.29,22924,6.893,22925,3.29,22926,5.012,22927,3.29,22928,3.29,22929,3.29,22930,3.29,22931,3.29,22932,3.29,22933,3.29,22934,3.29,22935,3.29,22936,3.29,22937,3.29,22938,3.29,22939,3.29,22940,7.987,22941,3.29,22942,3.29,22943,6.893,22944,3.29,22945,6.893,22946,3.29,22947,3.29,22948,3.29,22949,3.29,22950,3.29,22951,3.29,22952,3.047,22953,3.29,22954,3.29,22955,3.29,22956,3.29]],["title/modules/TldrawWsTestModule.html",[252,1.839,22957,6.451]],["body/modules/TldrawWsTestModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,8,0.918,27,0.313,29,0.614,30,0.001,31,0.452,32,0.099,33,0.367,35,0.922,59,2.498,95,0.154,101,0.01,103,0,104,0,135,1.369,148,0.79,252,3.287,254,2.891,255,3.069,256,3.147,257,3.135,258,3.124,259,4.693,260,2.987,269,4.12,270,3.091,271,3.027,276,5.059,277,1.149,314,3.059,467,3.063,540,3.492,610,3.17,651,4.078,1016,7.478,1021,5.187,1025,5.187,1026,5.061,1028,8.639,1029,5.405,1043,5.577,1045,6.881,1048,5.577,2088,4.511,2636,3.934,5202,5.674,7457,8.556,12092,5.187,12418,6.17,12467,6.53,22573,8.079,22625,10.178,22785,10.178,22786,9.237,22790,8.55,22957,13.051,22958,8.038,22959,8.038,22960,8.038,22961,8.038]],["title/injectables/ToggleUserLoginMigrationUc.html",[589,0.926,22962,5.86]],["body/injectables/ToggleUserLoginMigrationUc.html",[0,0.232,3,0.012,4,0.012,5,0.006,7,0.093,8,1.063,26,2.612,27,0.417,29,0.816,30,0.001,31,0.601,32,0.132,33,0.489,35,1.067,36,2.442,39,2.582,47,0.923,95,0.151,99,1.349,101,0.009,103,0,104,0,122,2.217,135,1.391,142,2.425,148,0.658,153,1.083,180,5.633,183,3.553,228,2.075,277,0.958,290,3.058,317,2.719,433,1.143,478,1.876,579,1.912,589,1.237,591,1.589,595,2.54,610,2.641,652,2.622,657,2.776,693,3.046,703,3.28,1027,2.049,1422,2.681,1775,5.093,1780,4.037,1853,2.197,1862,6.85,1962,3.996,1968,6.825,2066,7.658,2068,7.419,2070,3.611,2071,5.499,2447,5.387,2670,7.143,2680,3.076,2685,4.912,2694,5.141,4588,4.502,4970,5.306,4972,5.441,4974,5.441,4975,9.218,4982,5.93,4983,5.279,4984,7.275,4985,5.441,4986,5.878,4988,5.635,5412,9.32,19037,6.203,20964,5.878,20966,5.878,22962,7.829,22963,11.554,22964,8.167,22965,6.697,22966,6.697,22967,9.305,22968,5.878,22969,6.697,22970,6.203,22971,6.697]],["title/injectables/TokenGenerator.html",[589,0.926,20811,5.658]],["body/injectables/TokenGenerator.html",[0,0.348,3,0.019,4,0.019,5,0.009,7,0.14,8,1.384,27,0.392,30,0.001,35,1.152,95,0.145,101,0.013,103,0.001,104,0.001,135,1.308,148,0.988,176,6.145,277,1.437,589,1.61,591,2.384,13649,10.63,16474,6.758,16475,6.661,18066,9.308,20647,10.248,20811,9.839,22972,12.111,22973,13.496,22974,10.049,22975,10.049]],["title/classes/TokenRequestLoggableException.html",[0,0.241,17129,6.113]],["body/classes/TokenRequestLoggableException.html",[0,0.335,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,8,1.353,27,0.462,29,0.739,30,0.001,31,0.544,32,0.12,33,0.443,35,1.111,95,0.132,101,0.012,103,0.001,104,0.001,193,5.166,231,2.043,433,1.19,436,2.861,1080,3.357,1422,4.741,1423,4.516,1426,5.682,1462,5.222,1465,6.721,1468,4.516,1469,4.741,2082,11.214,2084,6.42,2096,11.214,9942,10.395,13552,8.971,13553,8.971,13554,8.971,17129,10.395,22976,11.843,22977,9.686]],["title/classes/TokenRequestMapper.html",[0,0.241,17025,6.113]],["body/classes/TokenRequestMapper.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.243,27,0.424,29,0.831,30,0.001,31,0.611,32,0.135,33,0.497,35,1.248,47,1.05,95,0.134,101,0.011,103,0.001,104,0.001,148,1.069,153,1.76,159,0.865,173,5.608,467,3.913,871,3.113,998,6.012,1491,10.314,1493,6.874,1495,6.084,1496,6.874,1497,7.426,1498,7.426,1502,7.837,1505,7.837,1506,7.119,1507,6.342,1605,5.777,6369,6.064,6926,6.67,13580,9.516,13711,7.815,17025,9.55,17027,10.314,17054,11.759,17060,7.837,22978,12.027,22979,12.027,22980,10.881,22981,8.461,22982,8.461,22983,10.881,22984,8.461,22985,8.461,22986,8.461,22987,8.461,22988,8.461]],["title/classes/TooManyPseudonymsLoggableException.html",[0,0.241,22989,6.451]],["body/classes/TooManyPseudonymsLoggableException.html",[0,0.246,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,8,1.107,27,0.519,29,0.542,30,0.001,31,0.399,32,0.171,33,0.504,35,1.111,47,0.94,55,1.439,95,0.132,101,0.009,103,0,104,0,112,0.76,148,0.698,155,3.78,190,2.222,228,2.478,231,1.671,233,2.201,277,1.015,339,2.082,347,5.665,393,3.516,400,2.082,402,2.554,433,0.872,436,3.779,868,5.7,871,2.612,998,5.221,1078,3.11,1080,4.105,1115,4.507,1237,2.806,1354,8.511,1355,6.338,1356,7.208,1360,4.706,1361,4.082,1362,4.706,1363,4.706,1364,4.706,1365,4.706,1366,4.706,1367,4.371,1368,4.012,1374,4.582,1375,5.45,1422,4.413,1423,5.14,1426,5.26,1462,3.828,1468,5.14,1469,5.396,1477,3.625,1478,3.773,10631,6.454,10637,7.414,10638,5.768,12509,5.597,12510,5.768,15779,10.085,18293,6.231,22989,8.972,22990,11.025,22991,11.025,22992,7.1,22993,7.1,22994,9.686]],["title/modules/ToolApiModule.html",[252,1.839,20578,5.86]],["body/modules/ToolApiModule.html",[0,0.191,3,0.01,4,0.01,5,0.005,30,0.001,95,0.158,101,0.007,103,0,104,0,183,3.67,252,2.537,254,1.988,255,2.11,256,2.164,257,2.156,258,2.148,259,3.49,260,2.054,265,5.467,269,3.176,270,2.125,271,2.082,273,3.48,274,3.377,276,3.176,277,0.79,279,2.291,614,4.018,693,2.513,703,3.248,1027,1.691,1756,3.177,1856,6.717,1932,8.834,1934,9.047,2051,2.339,2070,2.98,2680,2.538,2698,3.118,3319,3.15,3890,7.336,3900,2.917,3907,3.613,5069,8.645,5776,3.235,6072,8.834,6077,7.812,6823,8.834,6830,4.242,7062,3.44,7081,9.917,7090,8.834,7104,4.357,9051,8.32,10187,9.575,10248,9.917,10816,9.917,10940,9.575,11106,9.917,20030,9.917,20044,9.917,20102,9.917,20578,12.368,22995,5.527,22996,5.527,22997,5.527,22998,9.917,22999,9.917,23000,8.434,23001,8.434,23002,8.434,23003,8.434,23004,8.434,23005,8.434,23006,9.609,23007,4.49,23008,5.527,23009,9.609,23010,8.111,23011,5.119,23012,5.527,23013,5.527,23014,5.527]],["title/modules/ToolConfigModule.html",[252,1.839,6823,5.221]],["body/modules/ToolConfigModule.html",[0,0.361,3,0.019,4,0.019,5,0.009,30,0.001,95,0.138,101,0.013,103,0.001,104,0.001,252,3.271,254,3.756,259,3.792,260,3.88,277,1.493,685,6.056,1267,7.371,1756,6.003,2088,4.475,2698,3.388,6823,9.288,10199,9.693,13803,8.785,18258,9.671,23015,10.441]],["title/classes/ToolConfiguration.html",[0,0.241,13803,5.86]],["body/classes/ToolConfiguration.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,27,0.33,30,0.001,32,0.105,47,0.884,55,2.437,80,9.015,95,0.094,101,0.015,103,0.001,104,0.001,112,0.853,122,2.961,129,3.222,130,2.29,135,1.101,159,0.865,311,5.392,467,3.501,1756,6.255,1829,5.155,1941,7.863,2219,3.793,2220,4.266,2221,4.118,4259,4.953,6103,10.119,7739,7.573,8793,9.015,10197,8.822,10199,9.312,10461,10.556,10494,10.556,12501,8.49,13798,11.14,13799,11.14,13800,11.14,13801,11.14,13802,7.837,13803,9.155,13804,10.078,13805,10.078,13806,10.078,13807,10.078,13808,10.078,13809,10.078,17199,7.837]],["title/controllers/ToolConfigurationController.html",[314,2.65,23001,6.113]],["body/controllers/ToolConfigurationController.html",[0,0.155,3,0.008,4,0.008,5,0.004,7,0.062,8,0.791,27,0.401,29,0.786,30,0.001,31,0.578,32,0.163,33,0.47,35,1.18,36,2.597,95,0.131,100,1.562,101,0.006,103,0,104,0,134,3.645,135,1.599,148,1.012,157,2.382,183,4.776,190,1.845,202,1.028,228,0.804,274,1.864,277,0.64,314,1.704,316,2.156,317,2.841,325,6.56,326,4.832,329,5.798,349,6.664,374,4.725,388,4.411,390,6.37,392,2.332,395,2.397,398,2.415,400,1.313,401,5.768,614,3.936,657,2.354,703,3.48,711,3.805,1167,7.563,1883,1.681,2035,3.818,2036,2.205,2219,5.253,2543,7.994,2696,4.948,2698,3.802,2776,4.19,2915,5.738,3036,2.099,3240,2.301,4077,6.142,4866,6.886,6733,8.01,6735,7.734,6794,7.617,6811,7.308,7153,8.356,8128,3.438,10195,6.076,10204,7.12,10214,6.076,10246,3.768,10248,7.12,10253,7.838,10254,7.838,12140,10.079,14934,4.148,15773,8.01,18395,7.824,18396,7.12,18397,6.085,19865,4.148,19875,7.136,19887,3.931,19951,8.01,19953,7.734,19971,7.505,20162,7.505,23001,6.076,23007,8.84,23016,8.462,23017,8.462,23018,4.479,23019,6.923,23020,6.923,23021,4.148,23022,4.479,23023,4.479,23024,6.923,23025,4.479,23026,4.479,23027,8.818,23028,6.923,23029,6.923,23030,6.923,23031,4.479,23032,4.479,23033,6.923,23034,6.923,23035,4.479,23036,4.479,23037,4.479,23038,4.479,23039,8.01,23040,4.479,23041,3.931,23042,4.479,23043,4.479,23044,3.531,23045,4.148,23046,4.479,23047,4.479,23048,4.479,23049,4.479,23050,4.479,23051,4.479,23052,4.479,23053,3.931,23054,3.931,23055,4.479,23056,4.479,23057,4.148,23058,4.479,23059,4.479,23060,3.768,23061,4.479]],["title/classes/ToolConfigurationMapper.html",[0,0.241,23041,6.113]],["body/classes/ToolConfigurationMapper.html",[0,0.22,2,0.671,3,0.012,4,0.012,5,0.006,7,0.089,8,1.025,27,0.464,29,0.97,30,0.001,31,0.714,32,0.147,33,0.544,35,1.366,95,0.133,101,0.008,103,0,104,0,135,1.688,148,1.171,153,1.926,467,4.058,614,1.971,837,3.148,1883,2.387,2005,3.379,2035,6.229,2036,3.13,2696,5.621,2698,3.373,2776,6.621,3036,2.979,4029,4.341,4866,7.271,5752,4.64,6733,8.748,6735,9.676,6739,6.334,6740,5.158,6741,4.572,10203,7.289,10204,10.688,10229,5.165,10243,7.549,10246,5.349,10289,7.289,10471,6.451,10589,6.887,10940,5.165,10964,7.875,19951,8.748,19953,9.676,23039,8.748,23041,7.875,23062,11.449,23063,6.358,23064,10.397,23065,10.397,23066,10.397,23067,10.397,23068,8.972,23069,6.358,23070,6.358,23071,8.972,23072,6.358,23073,6.358,23074,10.397,23075,6.358,23076,6.358,23077,6.358,23078,6.358,23079,8.972,23080,6.358,23081,8.972,23082,8.31,23083,6.358,23084,6.358,23085,6.358,23086,6.358,23087,6.358,23088,6.358,23089,8.972,23090,6.358]],["title/controllers/ToolContextController.html",[314,2.65,23003,6.113]],["body/controllers/ToolContextController.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.06,8,0.772,10,1.743,27,0.395,29,0.774,30,0.001,31,0.57,32,0.161,33,0.463,34,2.037,35,1.423,36,2.574,95,0.136,100,1.513,101,0.006,103,0,104,0,135,1.614,148,0.92,153,0.702,157,2.486,183,3.574,190,1.818,193,2.946,202,0.996,228,1.213,274,1.806,277,0.62,290,1.967,314,1.651,316,2.088,317,2.824,325,6.521,326,4.795,328,5.062,329,7.062,335,2.917,337,4.158,338,5.105,339,1.98,340,4.253,349,6.682,356,4.542,360,3.883,374,4.064,379,6.044,385,6.39,388,4.347,390,6.287,391,4.158,392,2.259,393,2.148,395,2.322,398,2.339,400,1.272,401,5.684,402,1.561,403,2.215,614,3.693,652,0.882,657,2.319,675,2.215,871,4.267,1027,1.328,1368,2.452,1883,1.629,2006,7.258,2343,4.856,2447,1.813,2448,3.165,2588,5.222,2698,1.408,3036,2.033,3240,2.229,3241,2.917,3242,3.696,4077,6.691,4162,4.856,4401,2.8,5495,2.564,6682,6.23,6761,7.875,6764,2.765,6794,4.113,6811,9.348,6832,9.435,6888,3.12,6924,3.808,6931,7.278,6935,3.808,6945,9.678,6957,3.33,6966,3.65,7035,7.278,7039,7.278,7068,8.051,7081,6.978,7084,7.681,7086,7.681,7087,7.681,7088,7.681,7114,4.018,7118,4.018,8128,5.185,10419,3.42,18395,7.723,18397,7.723,19873,5.683,19874,5.928,19875,7.015,19876,6.737,21478,3.65,23003,5.928,23007,8.726,23044,3.42,23053,5.928,23054,5.928,23060,7.875,23082,4.018,23091,4.338,23092,4.338,23093,4.338,23094,3.808,23095,4.338,23096,3.808,23097,4.338,23098,4.338,23099,4.338,23100,4.338,23101,4.338,23102,4.338,23103,4.338,23104,4.338,23105,6.754,23106,4.338,23107,4.338,23108,4.338,23109,4.338,23110,4.338,23111,4.338,23112,4.338,23113,4.338,23114,4.338,23115,4.338,23116,6.754,23117,4.338,23118,4.338,23119,4.338,23120,4.338,23121,4.338,23122,4.338,23123,4.338,23124,4.018,23125,4.338,23126,4.338,23127,4.338,23128,4.338,23129,4.338,23130,4.338,23131,4.338,23132,4.338]],["title/classes/ToolContextMapper.html",[0,0.241,10534,5.658]],["body/classes/ToolContextMapper.html",[0,0.343,2,1.048,3,0.018,4,0.018,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,95,0.134,101,0.013,103,0.001,104,0.001,112,0.943,129,2.939,130,2.686,183,3.79,467,3.764,614,3.077,886,3.142,1078,5.266,2035,5.474,2040,8.486,2043,10.114,6783,7.439,6792,6.11,6921,10.114,6922,10.114,10534,9.766,23133,11.134,23134,9.925,23135,12.931,23136,9.925]],["title/classes/ToolContextTypesListResponse.html",[0,0.241,23039,5.86]],["body/classes/ToolContextTypesListResponse.html",[0,0.324,2,0.989,3,0.017,4,0.017,5,0.008,7,0.13,27,0.452,29,0.715,30,0.001,31,0.526,32,0.144,33,0.428,95,0.129,101,0.012,103,0.001,104,0.001,112,0.91,134,4.464,183,4.814,190,1.679,195,2.55,202,2.151,296,3.036,339,3.971,433,1.151,861,6.501,864,6.671,881,5.128,886,2.967,2035,7.909,2036,4.612,2696,5.732,3200,5.591,3201,5.438,6317,6.731,6736,8.907,23039,9.763,23137,12.606]],["title/controllers/ToolController.html",[314,2.65,23005,6.113]],["body/controllers/ToolController.html",[0,0.119,3,0.006,4,0.006,5,0.003,7,0.048,8,0.641,10,1.382,27,0.399,29,0.781,30,0.001,31,0.574,32,0.161,33,0.467,34,1.824,35,1.332,36,2.68,95,0.14,100,1.199,101,0.004,103,0,104,0,131,4.188,135,1.65,148,0.953,153,0.556,157,2.791,190,1.833,193,3.578,202,0.79,228,1.473,274,1.432,277,0.492,290,2.755,298,1.493,314,1.309,316,1.655,317,2.834,325,6.391,326,4.657,328,4.206,329,3.418,335,2.313,337,5.049,338,5.563,339,2.405,340,5.165,347,2.884,349,6.548,356,3.774,360,4.716,365,4.306,371,2.982,374,2.437,379,3.607,385,6.982,388,3.873,390,6.243,391,4.376,392,1.791,393,1.703,395,1.841,398,1.854,401,5.731,402,2.019,403,2.865,433,0.423,533,4.359,540,1.862,595,1.304,610,1.356,614,3.306,652,1.668,657,2.217,675,1.756,869,2.747,871,3.567,883,5.79,1027,1.052,1368,1.943,1853,1.128,1883,1.291,2343,4.035,2447,1.437,2448,2.63,2479,4.201,2588,5.165,2696,4.85,2698,3.845,2776,6.338,3036,1.612,3240,1.767,3241,2.313,3242,3.071,4077,5.785,4162,2.473,4362,3.455,4866,5.977,5877,2.473,6700,2.473,6794,5.504,7638,4.944,7640,5.99,7642,2.073,7924,3.455,8355,5.99,10203,4.559,10258,5.328,10309,6.902,10405,11.012,10406,5.981,10412,3.186,10419,6.466,10450,3.186,10501,5.604,10512,2.894,10518,5.775,10709,4.308,10816,4.722,10829,4.925,10831,6.902,10855,6.902,10857,5.775,10860,6.902,10862,4.925,10919,8.664,10940,2.794,10987,6.902,10997,6.239,10998,6.239,11002,6.239,11106,5.981,11108,6.584,11109,6.584,11110,6.239,12836,3.018,12837,3.018,14054,3.018,14059,4.722,18395,6.498,18396,4.722,18397,7.353,19873,4.722,19875,6.148,19876,4.559,21478,2.894,23005,4.925,23044,2.711,23094,3.018,23096,4.925,23138,3.439,23139,3.439,23140,5.612,23141,3.439,23142,9.695,23143,3.439,23144,3.439,23145,3.439,23146,3.439,23147,3.186,23148,7.442,23149,3.439,23150,3.439,23151,3.439,23152,3.439,23153,3.186,23154,3.439,23155,3.439,23156,3.439,23157,3.439,23158,3.439,23159,3.439,23160,3.439,23161,5.198,23162,3.439,23163,3.439,23164,3.186,23165,3.439,23166,3.439,23167,3.439,23168,3.439,23169,3.439,23170,3.439,23171,3.439,23172,3.439,23173,3.439,23174,3.439,23175,3.439,23176,3.439,23177,5.612,23178,5.198,23179,3.439,23180,3.439,23181,3.439,23182,3.439,23183,3.439,23184,3.439,23185,3.439,23186,3.439,23187,9.695,23188,3.439,23189,3.439,23190,3.439,23191,3.439,23192,3.439,23193,3.439,23194,3.439,23195,3.439,23196,3.439,23197,3.439,23198,3.439,23199,3.439,23200,3.018,23201,3.439,23202,3.439,23203,3.439,23204,3.439,23205,3.439]],["title/controllers/ToolLaunchController.html",[314,2.65,23000,6.113]],["body/controllers/ToolLaunchController.html",[0,0.265,3,0.014,4,0.014,5,0.007,7,0.107,8,1.166,27,0.299,29,0.585,30,0.001,31,0.431,32,0.142,33,0.35,34,1.311,35,0.88,36,2.156,95,0.149,100,2.675,101,0.01,103,0,104,0,134,2.716,135,1.328,148,0.754,157,2.829,183,3.896,190,1.375,193,5.331,202,1.761,228,1.377,274,3.193,277,1.097,314,2.919,316,3.691,317,2.48,325,6.052,326,4.363,349,6.201,388,4.373,390,5.973,392,3.993,395,4.105,398,4.135,400,2.249,401,4.298,614,3.163,657,1.754,675,3.916,871,3.754,1756,5.866,2698,4.246,2755,9.635,2788,8.41,2800,8.345,3036,3.594,3240,3.941,4077,4.576,6729,8.289,6794,6.983,12518,6.231,18395,7.337,18397,7.337,19875,7.648,22998,9.647,23000,8.955,23011,9.451,23044,6.046,23045,7.104,23060,6.453,23206,7.669,23207,10.62,23208,7.669,23209,7.669,23210,7.669,23211,7.669,23212,7.669,23213,7.669,23214,8.955,23215,7.669,23216,9.451,23217,6.453,23218,9.647,23219,7.669,23220,7.669,23221,7.669,23222,7.669]],["title/classes/ToolLaunchData.html",[0,0.241,2778,5.346]],["body/classes/ToolLaunchData.html",[0,0.303,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,27,0.517,29,0.668,30,0.001,31,0.492,32,0.174,33,0.4,47,0.817,95,0.124,101,0.011,103,0.001,104,0.001,112,1.041,122,2.306,223,2.729,232,3.01,339,3.261,433,1.076,435,3.008,1756,7.798,2109,3.836,2333,6.85,2698,2.841,2707,6.296,2716,6.181,2758,9.929,2778,10.189,2800,9.409,4726,5.333,8173,7.367,8208,6.181,8209,6.563,18240,8.111,23223,12.564,23224,11.122,23225,8.756,23226,8.756,23227,11.321,23228,8.756,23229,8.756,23230,8.756]],["title/classes/ToolLaunchMapper.html",[0,0.241,23217,5.86]],["body/classes/ToolLaunchMapper.html",[0,0.247,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,8,1.112,27,0.463,29,0.907,30,0.001,31,0.667,32,0.147,33,0.543,35,1.362,95,0.123,101,0.009,103,0,104,0,110,3.384,134,2.532,135,1.737,148,1.168,153,1.156,467,4.053,641,5.547,837,3.541,871,3.581,1078,4.848,1723,5.547,1756,7.144,2036,3.52,2703,7.245,2706,6.646,2770,8.386,2788,9.404,2798,9.712,2806,6.623,5223,4.557,8173,5.867,8328,6.646,8332,6.754,8345,5.637,10396,6.016,10870,6.276,23217,8.19,23218,9.995,23227,11.875,23231,12.427,23232,7.15,23233,9.733,23234,9.733,23235,9.733,23236,9.733,23237,9.733,23238,7.15,23239,9.733,23240,7.15,23241,7.15,23242,9.733,23243,7.15,23244,7.15,23245,9.733,23246,7.15,23247,7.15,23248,7.15,23249,7.15,23250,7.15,23251,9.733,23252,9.733,23253,9.733,23254,7.15,23255,9.733,23256,7.15,23257,11.879,23258,7.15,23259,7.15]],["title/modules/ToolLaunchModule.html",[252,1.839,23260,6.113]],["body/modules/ToolLaunchModule.html",[0,0.223,3,0.012,4,0.012,5,0.006,30,0.001,95,0.154,101,0.008,103,0,104,0,183,2.459,252,2.764,254,2.316,255,2.459,256,2.521,257,2.512,258,2.503,259,3.802,260,3.891,269,3.544,270,2.476,271,2.425,276,3.544,277,0.921,417,3.609,610,2.54,614,3.246,703,2.777,1756,3.702,1932,9.303,1933,4.546,1936,6.088,1999,10.893,2013,10.893,2029,4.827,2059,10.893,2063,10.893,2070,3.472,2552,4.468,2698,3.397,2735,10.443,3428,5.232,3888,10.083,3890,7.726,3900,3.399,5004,5.842,5068,6.786,5073,4.943,5776,3.77,6072,9.303,6077,8.227,6304,4.827,6821,9.784,6822,10.083,9051,8.761,16017,10.893,16979,10.443,22078,5.232,23260,12.921,23261,6.439,23262,6.439,23263,6.439,23264,6.439,23265,11.51,23266,11.496,23267,6.439,23268,6.439,23269,6.439,23270,6.439,23271,6.439]],["title/classes/ToolLaunchParams.html",[0,0.241,2755,5.49]],["body/classes/ToolLaunchParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.121,34,2.04,47,0.877,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,157,2.269,183,4.556,190,1.757,194,4.688,195,2.622,196,3.959,197,3.335,200,3,202,2.251,296,3.122,614,3.699,855,4.831,1756,6.859,2698,3.871,2755,9.405,3598,7.208,4197,5.971,23272,11.051,23273,9.804,23274,9.804]],["title/classes/ToolLaunchRequest.html",[0,0.241,2788,5.109]],["body/classes/ToolLaunchRequest.html",[0,0.306,2,0.935,3,0.016,4,0.016,5,0.008,7,0.123,27,0.519,29,0.676,30,0.001,31,0.497,32,0.165,33,0.561,47,0.949,95,0.099,101,0.011,103,0.001,104,0.001,110,4.271,112,0.878,122,2.322,193,3.861,232,3.031,433,1.088,435,3.041,641,7.358,1723,7.001,1756,7.82,2762,10.336,2788,9.768,2800,9.432,7243,4.809,8173,7.404,8176,5.574,8208,6.249,8209,6.636,17994,7.192,18954,7.449,23223,12.599,23275,8.853,23276,11.199,23277,8.853,23278,8.853,23279,8.853,23280,8.2,23281,8.2]],["title/classes/ToolLaunchRequestResponse.html",[0,0.241,23218,5.86]],["body/classes/ToolLaunchRequestResponse.html",[0,0.25,2,0.762,3,0.013,4,0.013,5,0.006,7,0.1,27,0.486,29,0.551,30,0.001,31,0.405,32,0.154,33,0.601,47,0.876,95,0.109,101,0.009,103,0,104,0,110,4.334,112,0.768,122,2.03,125,1.719,130,2.65,134,2.555,153,1.584,157,2.76,190,2.137,193,5.607,194,4.685,195,2.152,197,3.332,202,1.657,232,2.65,296,3.262,433,0.886,435,2.478,641,7.104,868,5.738,886,3.101,1723,7.104,1756,7.39,2125,5.133,2641,8.147,2698,4.171,2762,10.488,2800,9.638,2814,6.332,3242,5.36,5341,7.956,7243,3.919,8100,7.72,8173,6.701,8176,4.543,8208,5.093,8209,5.408,9523,6.683,17994,5.861,18954,6.07,23214,8.595,23218,10.488,23272,11.907,23280,6.683,23281,6.683,23282,9.793,23283,7.215,23284,9.07,23285,7.215,23286,9.793,23287,7.215]],["title/injectables/ToolLaunchService.html",[589,0.926,23265,5.86]],["body/injectables/ToolLaunchService.html",[0,0.175,3,0.009,4,0.009,5,0.005,7,0.07,8,0.867,26,2.466,27,0.445,29,0.829,30,0.001,31,0.61,32,0.151,33,0.496,35,1.162,36,2.411,39,2.812,47,0.67,95,0.148,99,1.018,101,0.006,103,0,104,0,112,0.595,125,1.808,134,1.79,135,1.65,148,0.896,153,1.639,183,2.898,228,2.048,277,0.723,317,2.693,339,1.482,402,1.818,433,0.932,579,2.602,589,1.009,591,1.199,610,1.993,614,3.536,652,2.732,657,2.609,675,2.58,703,2.329,1080,1.752,1312,2.381,1756,6.802,2005,7.079,2006,7.093,2008,4.54,2036,2.488,2088,2.166,2698,2.463,2703,5.151,2735,10.241,2776,6.596,2778,8.756,2788,7.432,2796,4.879,2800,5.182,5004,7.008,5167,8,5752,2.614,6092,9.327,6095,5.567,6699,3.182,6741,6.554,6981,3.984,6982,3.507,7044,7.283,7045,7.561,7062,4.724,7078,3.634,8738,7.03,10302,4.435,16979,10.241,20097,6.386,20109,4.681,23217,4.252,23265,6.386,23266,11.274,23288,11.832,23289,5.054,23290,7.59,23291,7.59,23292,9.115,23293,9.115,23294,7.59,23295,7.59,23296,5.054,23297,7.59,23298,5.054,23299,5.054,23300,5.054,23301,5.054,23302,5.054,23303,4.435,23304,6.662,23305,8,23306,5.054,23307,5.054,23308,5.054,23309,5.054,23310,5.054,23311,5.054,23312,7.03,23313,5.054,23314,5.054,23315,5.054,23316,5.054,23317,7.59,23318,5.054,23319,4.681,23320,7.03]],["title/interfaces/ToolLaunchStrategy.html",[159,0.712,23305,6.113]],["body/interfaces/ToolLaunchStrategy.html",[3,0.017,4,0.017,5,0.008,7,0.128,8,1.311,26,2.652,27,0.447,29,0.876,30,0.001,31,0.644,32,0.142,33,0.524,35,1.316,36,2.424,39,2.553,95,0.139,99,1.853,101,0.012,103,0.001,104,0.001,134,3.257,159,0.941,161,2.191,326,4.757,1756,7.187,2698,2.984,2736,10.972,2750,10.068,2751,10.068,2755,10.318,2778,10.047,2783,8.073,2784,10.068,2788,9.17,2800,8.937,2801,8.073,23305,10.068,23321,12.501,23322,9.198,23323,9.198,23324,11.471,23325,9.198]],["title/injectables/ToolLaunchUc.html",[589,0.926,22998,5.86]],["body/injectables/ToolLaunchUc.html",[0,0.268,3,0.014,4,0.014,5,0.007,7,0.108,8,1.173,26,2.713,27,0.4,29,0.784,30,0.001,31,0.577,32,0.127,33,0.469,35,0.888,36,2.17,39,2.149,95,0.153,99,1.56,101,0.01,103,0,104,0,134,2.742,135,1.596,148,0.761,183,4.685,228,2.069,277,1.107,317,2.492,433,1.262,589,1.365,591,1.837,595,2.937,610,3.054,614,3.183,652,2.343,657,2.635,693,4.67,1756,6.623,1775,5.62,1780,4.667,2006,6.692,2008,3.857,2680,3.556,2778,8.844,2788,7.532,3319,4.413,3598,6.876,6824,8.752,7062,4.82,7090,10.034,7104,6.104,7111,6.796,7116,6.291,22998,8.64,23207,9.511,23265,11.04,23312,9.511,23326,11.521,23327,7.743,23328,7.743,23329,7.743,23330,10.269,23331,7.743,23332,7.172,23333,7.743,23334,7.743]],["title/modules/ToolModule.html",[252,1.839,1934,5.346]],["body/modules/ToolModule.html",[0,0.259,3,0.014,4,0.014,5,0.007,30,0.001,95,0.15,101,0.01,103,0,104,0,183,2.863,252,2.993,254,2.697,255,2.863,256,2.935,257,2.925,258,2.914,259,4.117,260,4.213,269,3.935,270,2.883,271,2.824,276,3.935,277,1.072,543,3.649,610,2.957,614,3.514,703,2.3,1829,3.213,1842,3.426,1846,5.91,1934,11.149,1936,6.758,1939,3.985,2513,4.273,2636,3.67,2698,4.098,2800,5.119,3888,11.399,5776,4.389,6072,7.533,6078,10.77,6821,11.06,6822,11.399,6823,9.745,6830,5.755,7067,5.755,23260,12.314,23335,7.498,23336,7.498,23337,7.498,23338,7.498,23339,7.498]],["title/injectables/ToolPermissionHelper.html",[589,0.926,7090,5.221]],["body/injectables/ToolPermissionHelper.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.966,26,2.512,27,0.387,29,0.758,30,0.001,31,0.558,32,0.123,33,0.454,35,0.969,36,2.298,39,3.018,95,0.15,99,1.178,101,0.007,103,0,104,0,135,1.501,153,0.946,159,0.598,183,5.132,193,2.551,228,2.071,252,1.544,277,0.836,290,2.355,317,2.601,340,3.683,412,2.597,433,1.038,478,1.638,507,2.597,579,1.67,589,1.124,591,1.387,610,3.334,614,2.62,652,2.346,657,2.638,688,2.727,693,4.945,703,3.336,711,3.482,886,1.852,980,3.226,1218,3.824,1714,4.384,1775,6.784,1829,2.507,1853,1.919,1862,6.588,1919,6.888,1933,4.129,1936,3.933,1953,4.129,1957,4.61,1961,5.133,1962,5.044,2005,6.588,2006,6.652,2008,4.211,2018,8.216,2019,7.976,2029,4.384,2033,4.124,2035,3.226,2039,7.112,2040,4.129,2043,4.921,2051,3.577,2066,7.207,2068,6.888,2070,3.153,2071,4.995,2072,5.417,2570,3.774,2667,4.205,2668,7.545,2680,2.686,2682,6.2,2685,4.29,2915,3.525,2961,4.129,3036,5.096,3453,4.384,4157,4.29,5495,3.456,6303,4.058,7090,6.336,7108,5.417,10251,9.194,10252,8.712,10260,5.417,10262,5.133,20937,5.133,21878,4.751,22078,4.751,23340,10.874,23341,9.926,23342,9.926,23343,5.849,23344,5.849,23345,5.849,23346,6.663,23347,9.194,23348,9.194,23349,5.849,23350,5.849,23351,9.926,23352,8.453,23353,7.829,23354,5.849,23355,5.849,23356,5.849]],["title/classes/ToolReference.html",[0,0.241,6973,5.346]],["body/classes/ToolReference.html",[0,0.298,2,0.909,3,0.016,4,0.016,5,0.008,7,0.12,27,0.526,29,0.657,30,0.001,31,0.483,32,0.167,33,0.554,47,0.992,95,0.096,101,0.011,103,0.001,104,0.001,112,0.863,122,2.28,402,4.361,433,1.057,614,4.255,2127,5.038,3772,7.553,6095,8.893,6682,7.962,6686,6.19,6699,5.419,6706,5.554,6740,6.97,6756,5.704,6973,10.366,6991,9.85,6992,7.972,6993,7.972,6994,7.553,6995,10.201,6996,7.972,23357,13.727,23358,11,23359,11,23360,8.606,23361,8.606,23362,8.606,23363,8.606,23364,7.972,23365,7.972,23366,8.606]],["title/controllers/ToolReferenceController.html",[314,2.65,23004,6.113]],["body/controllers/ToolReferenceController.html",[0,0.217,3,0.012,4,0.012,5,0.006,7,0.087,8,1.016,27,0.347,29,0.679,30,0.001,31,0.5,32,0.152,33,0.406,35,1.02,36,2.374,95,0.141,100,2.189,101,0.008,103,0,104,0,135,1.542,148,0.874,153,1.015,157,2.849,183,3.943,190,1.594,202,1.442,228,1.127,274,2.614,277,0.898,290,3.068,314,2.389,316,3.022,317,2.663,325,6.268,326,4.685,329,6.84,349,6.422,371,5.969,385,7.668,388,4.426,390,6.045,392,3.269,395,3.361,398,3.385,400,1.841,401,4.984,614,3.924,657,2.034,675,3.205,1842,5.132,1883,2.357,2698,3.846,2776,5.561,2911,7.578,3036,2.942,3240,3.226,4077,5.306,4362,6.914,5877,6.394,6682,5.99,6761,9.45,6811,8.621,6966,5.283,6973,8.621,6975,10.001,6978,5.815,6988,5.815,10419,8.853,18395,7.425,18397,7.425,19875,7.74,22999,8.688,23004,7.805,23007,8.389,23021,5.815,23027,8.237,23044,4.949,23053,5.51,23054,5.51,23060,5.283,23147,8.237,23148,8.621,23367,6.278,23368,6.278,23369,9.063,23370,9.564,23371,6.278,23372,6.278,23373,6.278,23374,6.278,23375,6.278,23376,6.278,23377,6.278,23378,6.278,23379,6.278,23380,10.404,23381,6.278,23382,6.278,23383,6.278,23384,6.278,23385,6.278,23386,6.278,23387,6.278,23388,6.278]],["title/classes/ToolReferenceListResponse.html",[0,0.241,23380,6.113]],["body/classes/ToolReferenceListResponse.html",[0,0.33,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.457,29,0.727,30,0.001,31,0.535,32,0.157,33,0.435,95,0.131,101,0.012,103,0.001,104,0.001,112,0.92,125,2.269,190,1.707,202,2.187,296,3.067,339,3.989,433,1.17,614,3.937,861,6.609,864,6.739,866,4.745,881,5.213,1842,5.803,2698,3.09,6682,7.366,6736,8.998,6975,11.402,23380,10.288,23389,11.762,23390,9.525]],["title/classes/ToolReferenceMapper.html",[0,0.241,23391,6.113]],["body/classes/ToolReferenceMapper.html",[0,0.313,2,0.953,3,0.017,4,0.017,5,0.008,7,0.126,8,1.296,27,0.352,29,0.69,30,0.001,31,0.507,32,0.112,33,0.413,35,1.036,95,0.138,101,0.012,103,0.001,104,0.001,135,1.175,148,0.888,153,1.461,402,4.678,467,3.609,614,3.843,1883,3.39,2006,7.273,2008,4.499,2776,6.77,6095,9.539,6682,6.579,6686,4.611,6699,5.687,6740,5.192,6973,10.495,6981,7.12,6983,7.927,6991,7.338,6995,7.6,10289,7.338,10589,6.933,10963,8.366,23062,10.505,23391,9.954,23392,9.032,23393,12.398,23394,9.032,23395,9.032]],["title/classes/ToolReferenceResponse.html",[0,0.241,6975,5.658]],["body/classes/ToolReferenceResponse.html",[0,0.239,2,0.73,3,0.013,4,0.013,5,0.006,7,0.096,27,0.495,29,0.528,30,0.001,31,0.611,32,0.161,33,0.497,34,1.627,47,0.933,95,0.106,101,0.009,103,0,104,0,110,3.308,112,0.746,122,1.972,153,1.539,157,3.148,183,3.633,190,2.202,194,5.344,195,2.911,196,4.211,197,3.871,201,3.698,202,1.588,296,3.214,402,4.418,433,0.85,614,4.031,624,7.132,866,3.445,2127,4.049,2698,4.298,5341,7.73,6682,7.542,6686,5.553,6706,4.463,6726,10.334,6740,6.252,6756,4.584,6765,9.546,6975,10.312,6991,8.836,6995,9.151,8100,7.5,8355,6.306,10519,5.619,11358,6.841,23364,6.406,23365,6.406,23389,12.044,23396,6.916,23397,9.514,23398,9.514,23399,6.916,23400,6.916,23401,6.916,23402,9.514,23403,6.916,23404,8.813,23405,6.916,23406,6.916,23407,6.916,23408,6.916,23409,6.916,23410,6.916]],["title/injectables/ToolReferenceService.html",[589,0.926,6826,5.86]],["body/injectables/ToolReferenceService.html",[0,0.246,3,0.013,4,0.013,5,0.006,7,0.099,8,1.108,26,2.402,27,0.378,29,0.74,30,0.001,31,0.545,32,0.12,33,0.443,35,0.816,36,2.05,95,0.154,99,1.433,101,0.009,103,0,104,0,135,1.614,148,0.699,183,2.716,228,2.227,277,1.017,317,2.387,402,3.489,433,1.191,589,1.289,591,1.687,610,2.805,614,4.133,652,2.523,657,2.71,675,3.631,703,2.975,1883,2.67,1944,6.588,2005,6.299,2006,6.501,2008,4.831,2698,2.308,2776,6.339,3598,5.435,5752,3.678,6092,10.327,6095,7.114,6682,6.401,6699,4.479,6824,8.565,6826,8.16,6973,9.098,6982,4.935,6994,6.242,7044,7.88,7045,8.683,7062,6.037,7077,5.114,7078,5.114,7116,5.778,7133,5.778,10257,5.607,10258,9.819,10290,6.588,10291,6.588,10292,6.588,23303,9.685,23319,6.588,23369,8.512,23391,6.242,23411,7.112,23412,9.698,23413,7.112,23414,7.112]],["title/injectables/ToolReferenceUc.html",[589,0.926,22999,5.86]],["body/injectables/ToolReferenceUc.html",[0,0.194,3,0.01,4,0.01,5,0.005,7,0.078,8,0.936,26,2.831,27,0.442,29,0.866,30,0.001,31,0.637,32,0.147,33,0.518,34,0.958,35,1.222,36,2.817,39,3.395,47,0.602,95,0.14,99,1.129,101,0.007,103,0,104,0,135,1.692,142,3.858,148,1.115,153,0.906,158,2.069,183,3.129,228,1.74,277,0.801,317,2.911,433,1.007,589,1.089,591,1.329,595,2.125,610,2.21,614,3.672,629,2.957,652,2.602,657,2.798,693,3.726,1328,2.978,1775,4.485,1780,3.378,1883,2.103,2006,7.408,2035,5.878,2036,2.759,2465,3.312,2680,2.573,3319,3.194,3598,5.973,5495,6.298,6682,6.87,6685,7.064,6764,6.792,6824,7.744,6826,10.293,6973,10.418,6981,6.459,7068,4.2,7090,9.17,7104,4.417,7116,4.553,7121,4.302,7128,5.19,22999,6.894,23124,5.19,23332,5.19,23369,7.192,23370,8.972,23415,11.844,23416,5.604,23417,8.194,23418,9.687,23419,5.604,23420,8.194,23421,5.604,23422,8.194,23423,5.604,23424,5.604,23425,5.604,23426,5.604,23427,5.604,23428,5.604,23429,5.604,23430,5.604,23431,5.604,23432,8.194,23433,5.604,23434,8.194,23435,8.194,23436,5.604]],["title/controllers/ToolSchoolController.html",[314,2.65,23002,6.113]],["body/controllers/ToolSchoolController.html",[0,0.137,3,0.007,4,0.007,5,0.004,7,0.055,8,0.719,10,1.592,27,0.403,29,0.789,30,0.001,31,0.581,32,0.162,33,0.472,34,1.922,35,1.36,36,2.603,95,0.135,100,1.382,101,0.005,103,0,104,0,131,4.545,135,1.603,148,0.954,157,2.68,190,1.853,193,3.883,202,0.91,228,1.599,274,1.649,277,0.567,290,2.303,314,1.508,316,1.907,317,2.846,325,6.562,326,4.687,328,4.714,329,5.422,335,2.664,337,3.871,338,5.977,339,2.61,340,5.606,347,4.018,349,6.724,356,4.229,360,5.118,365,2.793,374,2.731,379,5.873,385,7.056,388,4.162,390,6.342,391,3.871,392,2.063,393,1.962,395,2.121,398,2.136,401,5.792,402,1.425,403,3.211,433,0.487,533,3.342,614,3.97,652,1.811,657,2.363,675,2.023,703,3.171,871,3.276,1027,1.212,1368,2.239,1883,1.487,2005,6.875,2343,4.522,2447,1.656,2448,2.947,2588,4.924,2698,3.15,3036,1.857,3240,2.036,3241,2.664,3242,3.442,4077,6.167,4162,2.849,4401,2.557,4588,1.357,4866,5.792,6794,3.83,6848,3.219,6888,2.849,6957,3.041,8292,6.342,10208,6.285,10419,4.957,10987,5.291,11110,6.863,18395,7.431,18396,5.291,18397,7.79,19729,3.67,19873,5.291,19875,5.861,19876,5.109,19971,9.854,19973,6.164,19976,3.477,19980,6.579,19996,9.115,20030,5.291,20034,9.508,20035,3.477,20039,8.396,20044,5.291,20052,5.291,20066,7.814,20102,6.579,20104,7.243,20105,7.243,20107,7.243,20108,7.243,21478,3.333,23002,5.519,23007,8.801,23044,3.123,23057,8.994,23094,3.477,23096,5.519,23148,4.827,23153,3.67,23161,3.67,23164,3.67,23178,3.67,23216,5.825,23437,3.962,23438,3.962,23439,7.819,23440,3.962,23441,3.962,23442,3.962,23443,3.962,23444,3.962,23445,3.962,23446,3.962,23447,3.962,23448,3.962,23449,3.962,23450,3.962,23451,3.962,23452,3.962,23453,3.962,23454,7.819,23455,3.962,23456,3.962,23457,3.962,23458,3.962,23459,3.962,23460,3.962,23461,3.962,23462,3.962,23463,3.962,23464,3.962,23465,3.962,23466,3.962,23467,3.962,23468,3.962,23469,3.962,23470,6.289,23471,3.962,23472,3.962,23473,6.289,23474,3.962,23475,3.962,23476,3.962,23477,3.962,23478,3.962,23479,3.962,23480,3.962,23481,3.962]],["title/classes/ToolStatusOutdatedLoggableException.html",[0,0.241,23304,6.113]],["body/classes/ToolStatusOutdatedLoggableException.html",[0,0.284,2,0.866,3,0.015,4,0.015,5,0.007,7,0.114,8,1.218,26,2.751,27,0.416,29,0.626,30,0.001,31,0.461,32,0.132,33,0.375,35,0.941,39,3.289,95,0.132,99,1.653,101,0.011,103,0.001,104,0.001,122,2.764,148,0.806,228,2.253,231,1.84,233,2.543,242,4.329,277,1.173,290,1.946,339,2.405,402,4.513,433,1.31,652,2.552,1027,2.51,1115,3.121,1237,3.089,1422,4.743,1423,5.524,1426,5.572,1462,4.422,1468,5.524,1469,5.8,1477,4.188,1478,4.359,1756,6.812,2698,2.661,2953,6.873,6106,9.891,6107,8.857,6722,6.663,6724,7.199,6729,6.663,10416,5.436,10447,6.92,10640,6.016,12506,6.016,18295,7.597,23214,7.199,23304,9.359,23482,11.85,23483,11.85,23484,8.202]],["title/classes/ToolStatusResponseMapper.html",[0,0.241,6979,6.113]],["body/classes/ToolStatusResponseMapper.html",[0,0.336,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,8,1.355,27,0.378,29,0.741,30,0.001,31,0.545,32,0.12,33,0.444,35,1.113,95,0.132,101,0.012,103,0.001,104,0.001,135,1.263,148,0.954,153,1.57,402,4.607,467,3.728,829,5.738,830,6.594,837,4.808,1883,3.645,4111,9.98,6095,9.784,6105,9.98,6106,7.654,6107,6.854,6726,11.51,6979,10.41,16002,7.888,20097,8.169,23133,10.986,23320,8.993]],["title/interfaces/ToolVersion.html",[159,0.712,6099,4.156]],["body/interfaces/ToolVersion.html",[3,0.02,4,0.02,5,0.01,7,0.149,8,1.438,27,0.418,30,0.001,35,1.229,55,2.55,101,0.014,103,0.001,104,0.001,159,1.096,161,2.554,6099,7.51,6688,10.582,23485,12.586,23486,10.72,23487,10.72]],["title/injectables/ToolVersionService.html",[589,0.926,6092,5.49]],["body/injectables/ToolVersionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.091,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,35,0.797,36,2.018,80,5.211,95,0.152,101,0.009,103,0,104,0,135,1.242,148,0.939,153,1.124,183,2.655,195,2.098,197,2.669,228,2.108,277,0.994,317,2.359,402,3.435,433,1.173,589,1.269,591,1.649,614,4.036,629,5.039,652,2.388,657,2.184,688,3.241,703,2.929,1328,5.075,1329,5.815,1829,2.98,1847,5.85,1883,2.61,1939,3.695,1941,4.545,2005,7.048,2006,6.951,2008,4.756,2088,2.98,2698,3.098,2776,6.448,4981,5.1,5752,5.64,6078,9.995,6089,10.101,6092,7.527,6093,6.44,6095,8.611,6103,5.85,6105,8.034,6106,5.48,6107,4.908,6110,6.44,6111,6.44,6682,6.326,6699,4.378,6825,10.328,6829,5.648,7062,4.328,7067,5.337,7113,6.44,7739,4.378,10197,8.611,10199,8.611,10218,5.48,12501,4.908,19994,10.264,20095,6.102,20126,6.44,23303,9.571,23488,6.952,23489,6.952,23490,6.952,23491,6.102,23492,6.952]],["title/interfaces/TriggerDeletionExecutionOptions.html",[159,0.712,9155,5.86]],["body/interfaces/TriggerDeletionExecutionOptions.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,55,2.704,56,6.488,101,0.014,103,0.001,104,0.001,112,0.986,159,1.093,161,2.547,2816,6.093,2830,6.202,2922,7.688,9155,10.573,18544,9.903,23493,10.691]],["title/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.241,23494,6.451]],["body/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.344,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,8,1.376,27,0.388,29,0.76,30,0.001,31,0.559,32,0.123,33,0.455,35,1.141,55,2.623,56,5.671,95,0.111,101,0.013,103,0.001,104,0.001,148,0.978,159,1.018,467,3.768,507,5.347,2816,6.861,2830,6.983,2922,8.656,9155,10.891,18540,8.733,18542,9.216,23494,11.151,23495,12.039,23496,12.039]],["title/classes/UnauthorizedLoggableException.html",[0,0.241,1721,5.86]],["body/classes/UnauthorizedLoggableException.html",[0,0.31,2,0.947,3,0.017,4,0.017,5,0.008,7,0.125,8,1.29,27,0.44,29,0.685,30,0.001,31,0.504,32,0.14,33,0.41,35,1.029,47,1.003,48,6.079,51,5.949,59,2.788,95,0.138,101,0.011,103,0.001,104,0.001,135,1.167,148,0.882,228,2.028,231,1.949,233,2.781,234,6.887,244,6.333,277,1.283,339,2.631,400,2.631,433,1.102,652,1.825,1115,4.298,1237,3.271,1422,4.948,1426,5.761,1462,4.837,1468,6.048,1477,4.58,1478,4.768,1721,9.502,1984,8.312,10416,5.947,12509,7.072,12510,7.289,14359,6.887,23497,12.36,23498,8.972,23499,8.31]],["title/classes/UnknownQueryTypeLoggableException.html",[0,0.241,23500,6.451]],["body/classes/UnknownQueryTypeLoggableException.html",[0,0.387,2,0.932,3,0.016,4,0.016,5,0.008,7,0.123,8,1.278,27,0.436,29,0.674,30,0.001,31,0.496,32,0.168,33,0.404,35,1.013,47,0.902,95,0.125,101,0.011,103,0.001,104,0.001,148,0.868,158,3.261,228,1.586,231,1.93,233,2.738,277,1.263,339,2.59,365,5.729,400,2.59,433,1.085,1027,2.703,1115,3.362,1237,3.239,1312,5.781,1422,5.442,1423,5.721,1426,5.729,1462,4.763,1465,6.129,1468,5.721,1469,6.007,1477,4.51,1478,4.695,3364,6.352,7858,5.775,10119,6.479,20448,7.432,23500,10.359,23501,12.272,23502,8.833,23503,12.272,23504,8.833,23505,8.833]],["title/classes/UpdateElementContentBodyParams.html",[0,0.241,9652,4.554]],["body/classes/UpdateElementContentBodyParams.html",[0,0.473,2,0.566,3,0.01,4,0.01,5,0.005,7,0.075,9,2.488,27,0.209,30,0.001,31,0.678,32,0.172,47,0.93,83,1.573,95,0.124,99,1.081,101,0.017,103,0,104,0,110,1.865,112,0.622,125,1.89,130,3.265,155,1.712,157,2.416,190,0.962,195,1.179,200,1.642,201,3.671,202,1.232,223,1.672,231,2.012,296,3.703,299,4.953,300,4.468,339,2.769,360,3.084,854,4.997,855,3.213,886,1.698,899,2.451,1232,3.111,1749,3.057,1853,1.76,2049,3.854,2393,4.468,2912,2.568,2918,6.589,3159,2.428,3201,2.514,3581,3.17,3583,3.17,3586,3.14,3589,4.917,3593,2.774,3598,3.006,4065,3.267,4086,3.267,4485,5.433,6409,5.946,6411,6.018,6413,5.946,6415,6.65,6417,6.018,6419,6.018,6467,3.462,6504,6.174,6505,6.174,6506,6.174,6507,6.174,6508,6.174,6509,6.174,6847,6.679,8010,3.507,8080,3.14,9639,5.336,9640,3.607,9642,8.211,9643,6.823,9644,6.823,9645,6.823,9646,3.607,9647,6.823,9648,3.302,9649,3.556,9650,6.823,9651,7.282,9652,5.188,9653,5.188,9654,3.507,9655,5.188,9656,3.607,9657,3.607,9658,3.607,9659,3.607,9660,3.607,9661,3.607,10314,4.708,23506,5.364,23507,5.364]],["title/classes/UpdateFlagParams.html",[0,0.241,14036,6.113]],["body/classes/UpdateFlagParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,95,0.15,101,0.013,103,0.001,104,0.001,112,0.947,122,2.503,157,2.315,190,1.792,199,6.66,200,3.06,202,2.296,290,2.372,296,3.159,356,8.12,868,4.813,4970,5.545,12472,9.157,12501,8.524,14036,10.598,23508,11.184,23509,9.999,23510,9.999,23511,9.999]],["title/classes/UpdateMatchParams.html",[0,0.241,14028,6.113]],["body/classes/UpdateMatchParams.html",[0,0.415,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.386,30,0.001,32,0.123,39,3.585,47,0.882,95,0.15,101,0.013,103,0.001,104,0.001,112,0.942,157,2.292,190,1.775,200,3.03,202,2.273,290,3.064,296,3.14,356,8.071,855,4.86,868,4.765,1619,7.389,1842,5.485,4970,5.512,14028,10.534,23508,11.117,23512,9.901,23513,9.901,23514,9.901]],["title/classes/UpdateNewsParams.html",[0,0.241,16610,5.86]],["body/classes/UpdateNewsParams.html",[0,0.431,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,27,0.458,30,0.001,32,0.145,33,0.482,47,0.916,83,3.094,95,0.139,99,1.626,100,3.68,101,0.01,103,0,104,0,112,0.978,155,4.13,157,2.886,190,2.107,200,2.47,201,4.847,202,1.853,205,2.705,298,3.504,299,4.603,300,4.778,525,5.531,806,8.1,854,6.644,1749,6.014,2393,4.958,2473,6.568,3102,6.36,3589,4.202,7180,7.096,7878,7.906,7882,7.955,8075,7.083,8080,6.177,8081,8.878,8082,8.318,8091,7.204,8092,7.475,16610,8.878,23515,12.469,23516,10.552,23517,10.552,23518,9.261,23519,8.07,23520,8.07,23521,8.07,23522,8.07,23523,8.07,23524,8.07]],["title/classes/UpdateSubmissionItemBodyParams.html",[0,0.241,4060,6.113]],["body/classes/UpdateSubmissionItemBodyParams.html",[0,0.413,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.382,30,0.001,32,0.121,95,0.133,101,0.013,103,0.001,104,0.001,112,0.936,122,2.775,157,2.269,190,1.757,194,4.688,195,2.622,199,6.581,200,3,202,2.251,296,3.122,3159,6.057,3595,8.444,4060,10.472,8095,9.405,8097,9.081,8098,8.605,8099,10.472,8100,9.405,8101,9.081,23525,11.931]],["title/interfaces/UrlHandler.html",[159,0.712,4184,5.346]],["body/interfaces/UrlHandler.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.353,27,0.462,29,0.904,30,0.001,31,0.665,32,0.147,33,0.541,35,1.358,36,2.503,47,1.022,95,0.108,101,0.012,103,0.001,104,0.001,106,8.603,107,8.364,110,4.118,111,7.635,115,9.336,119,8.971,120,9.336,122,2.455,131,4.945,134,3.43,159,0.991,161,2.307,4174,7.964,4177,9.336,4184,9.091,23526,12.793,23527,9.686]],["title/entities/User.html",[205,1.419,290,1.652]],["body/entities/User.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.176,27,0.523,30,0.001,32,0.165,33,0.639,34,0.705,47,1.021,83,3.648,95,0.117,96,1.076,101,0.01,103,0,104,0,112,0.863,122,1.663,129,1.22,130,1.115,135,1.044,148,0.405,153,1.472,159,0.663,190,2.407,195,3.064,196,4.326,205,1.854,206,1.344,211,7.046,219,2.273,221,3.088,223,4.184,224,1.193,225,2.486,226,1.874,229,1.625,231,0.711,232,1.115,233,1.277,290,1.903,331,4.041,579,1.176,692,4.614,700,4.79,701,4.79,702,4.901,703,3.374,704,5.053,711,1.193,874,2.412,886,1.305,1078,3.515,1198,5.485,1237,1.193,1821,1.951,1826,4.122,1827,3.616,1835,3.333,2942,4.591,2946,3.472,2950,3.606,3418,1.856,3436,5.855,4441,2.435,4582,6.213,4588,2.222,4593,6.307,4645,6.75,4648,2.813,4654,3.423,4676,3.248,4677,3.088,5366,6.517,5367,6.517,5368,6.517,5376,4.862,5467,7.656,5727,3.024,6622,3.163,7533,3.616,7549,3.993,7552,2.565,7573,2.536,7574,2.459,7895,2.483,7896,2.565,11258,6.985,11263,2.694,11264,2.909,11265,2.694,11266,2.909,11267,2.813,11268,3.022,11269,3.467,11270,3.616,11596,6.985,11656,3.347,11660,3.467,13950,5.458,15253,6.213,15351,3.088,17952,3.347,17967,3.347,17972,3.347,18897,6.324,19203,3.467,19204,3.467,19206,3.467,19210,5.458,19930,3.248,20256,6.821,22286,3.248,23528,3.816,23529,7.173,23530,6.985,23531,7.173,23532,4.12,23533,4.12,23534,4.12,23535,4.12,23536,4.12,23537,4.12,23538,4.12,23539,4.12,23540,4.12,23541,4.12,23542,4.12,23543,4.12,23544,4.12,23545,4.12,23546,4.12,23547,8.04,23548,4.12,23549,4.12,23550,4.12,23551,4.12,23552,4.12,23553,4.12,23554,3.816,23555,6.008,23556,6.008,23557,6.008,23558,5.458,23559,3.467,23560,3.816,23561,3.816,23562,3.467,23563,3.816,23564,3.467,23565,3.816,23566,3.467,23567,3.816,23568,3.816,23569,3.816,23570,3.816,23571,6.008]],["title/classes/UserAlreadyAssignedToImportUserError.html",[0,0.241,23572,6.451]],["body/classes/UserAlreadyAssignedToImportUserError.html",[0,0.278,2,0.847,3,0.015,4,0.015,5,0.007,7,0.112,8,1.201,27,0.526,30,0.001,32,0.171,33,0.48,35,0.92,47,0.861,55,1.625,95,0.139,101,0.01,103,0,104,0,112,0.824,155,3.971,190,2.315,228,2.511,231,1.813,233,2.487,290,2.493,402,2.886,433,1.44,436,3.914,640,7.216,868,5.987,871,2.951,998,5.551,1078,3.514,1080,4.312,1115,4.461,1218,5.245,1354,8.723,1355,6.739,1356,7.664,1360,5.317,1361,4.612,1362,5.317,1363,5.317,1364,5.317,1365,5.317,1366,5.317,1367,4.938,1369,6.323,1374,5.176,1842,3.666,3750,5.477,3820,8.843,4362,4.938,5278,5.051,14361,6.749,23572,9.735,23573,10.51,23574,10.51,23575,8.022,23576,8.022,23577,10.51]],["title/interfaces/UserAndAccountParams.html",[159,0.712,705,5.86]],["body/interfaces/UserAndAccountParams.html",[0,0.238,3,0.013,4,0.013,5,0.006,26,1.919,30,0.001,47,0.9,48,4.438,49,3.567,51,4.558,94,7.068,95,0.145,99,1.384,101,0.012,103,0,104,0,135,1.746,148,1.204,159,1.108,161,1.636,231,1.634,290,3.254,326,4.939,467,3.566,478,1.924,499,5.581,574,3.85,595,2.605,652,1.926,689,9.828,690,6.029,691,6.029,692,4.415,693,5.312,694,5.038,695,4.939,696,6.029,697,8.399,698,5.273,699,10.29,700,4.583,701,4.583,702,4.689,703,2.905,704,4.835,705,10.92,706,5.78,707,6.029,708,8.311,709,6.029,710,6.029,711,3.139,712,6.029,713,9.118,714,8.311,715,8.311,716,5.78,717,9.511,718,9.511,719,6.029,720,8.311,721,8.311,722,5.78,723,6.029,724,8.311,725,6.685,726,5.78]],["title/classes/UserAndAccountTestFactory.html",[0,0.241,706,5.86]],["body/classes/UserAndAccountTestFactory.html",[0,0.194,2,0.591,3,0.01,4,0.01,5,0.005,7,0.078,8,0.935,26,1.659,27,0.442,29,0.865,30,0.001,31,0.637,32,0.155,33,0.518,35,1.3,47,0.833,48,3.836,49,3.083,51,3.94,94,6.884,95,0.136,99,1.127,101,0.01,103,0,104,0,129,3.154,130,2.882,135,1.664,148,1.114,159,0.99,172,4.131,231,0.966,290,3.219,326,5.12,467,3.978,478,1.568,499,4.546,574,3.136,595,2.122,652,2.408,689,8.144,690,10.39,691,4.911,692,3.816,693,5.911,694,4.105,695,4.024,696,4.911,697,7.658,698,4.296,699,9.618,700,3.962,701,3.962,702,4.053,703,2.511,704,4.179,705,11.574,706,6.887,707,7.184,708,7.184,709,7.184,710,4.911,711,2.804,712,8.495,713,10.761,714,7.184,715,7.184,716,4.708,717,8.495,718,8.495,719,8.495,720,7.184,721,7.184,722,4.708,723,8.495,724,7.184,725,5.778,726,4.708,23578,8.186,23579,8.186,23580,5.596,23581,5.596,23582,5.596,23583,5.596,23584,5.596,23585,5.596,23586,5.596,23587,5.596]],["title/modules/UserApiModule.html",[252,1.839,20581,5.86]],["body/modules/UserApiModule.html",[0,0.33,3,0.018,4,0.018,5,0.009,30,0.001,95,0.148,101,0.012,103,0.001,104,0.001,252,3.352,254,3.426,255,3.637,256,3.729,257,3.716,258,3.702,259,4.612,260,3.539,269,4.589,270,3.663,271,3.588,273,5.998,274,4.88,276,4.589,277,1.362,314,3.625,3036,4.464,3890,8.623,14053,11.254,20581,11.927,23588,9.525,23589,9.525,23590,9.525,23591,9.525,23592,11.145,23593,9.525]],["title/interfaces/UserBoardRoles.html",[159,0.712,3435,5.346]],["body/interfaces/UserBoardRoles.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,26,2.61,30,0.001,32,0.159,33,0.567,34,1.361,39,3.442,47,0.972,95,0.117,99,1.603,101,0.017,102,4.229,103,0,104,0,112,0.82,125,2.491,148,1.028,159,1.069,161,1.896,185,2.726,231,1.804,357,6.109,567,2.967,693,3.619,700,6.002,701,6.002,886,3.31,1767,5.679,1770,4.185,1832,5.072,1849,4.535,1922,5.522,2671,7.669,2672,10.181,2682,5.837,3113,6.273,3417,6.985,3418,4.709,3425,10.075,3426,6.179,3427,9.177,3428,6.465,3429,6.696,3430,3.456,3431,7.535,3432,6.011,3433,6.985,3434,6.985,3435,9.52,3436,6.372,3437,6.696,3438,6.465,3439,9.177,3440,6.985]],["title/interfaces/UserConfig.html",[159,0.712,20505,5.658]],["body/interfaces/UserConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.984,101,0.014,103,0.001,104,0.001,112,0.99,159,1.102,161,2.567,311,6.868,20505,10.257,20512,12.791,23594,10.778]],["title/controllers/UserController.html",[314,2.65,23592,6.113]],["body/controllers/UserController.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.111,8,1.193,27,0.407,29,0.797,30,0.001,31,0.587,32,0.129,33,0.477,35,1.197,36,2.619,95,0.147,100,2.77,101,0.01,103,0,104,0,135,1.612,141,3.404,148,1.026,153,1.284,190,1.872,202,1.824,228,1.426,274,3.306,277,1.136,290,2.767,314,3.022,316,3.823,317,2.859,325,6.67,326,4.439,349,6.834,379,5.298,389,5.193,392,4.135,395,4.251,398,4.282,400,2.329,657,2.388,675,4.055,1826,5.366,2552,5.511,3036,3.722,3045,5.264,3240,4.081,3436,4.081,4580,10.427,14053,9.478,19011,6.971,19015,6.683,21387,10.239,23592,9.165,23595,7.942,23596,11.666,23597,7.942,23598,10.442,23599,7.942,23600,7.942,23601,10.442,23602,7.942,23603,7.942,23604,7.357,23605,7.942,23606,7.942,23607,9.672,23608,7.942,23609,7.942,23610,7.942,23611,7.942]],["title/classes/UserDO.html",[0,0.241,8114,3.783]],["body/classes/UserDO.html",[0,0.203,2,0.618,3,0.011,4,0.011,5,0.005,7,0.082,26,2.013,27,0.554,29,0.447,30,0.001,31,0.329,32,0.176,33,0.664,34,1.447,47,1.04,83,3.851,95,0.121,99,1.18,101,0.008,103,0,104,0,112,0.664,122,1.754,231,1.46,331,2.601,430,4.086,431,4.258,433,0.72,436,1.73,460,3.567,462,3.567,478,1.641,700,4.808,701,4.808,702,4.919,704,5.072,1078,3.707,1198,5.988,1770,2.345,1842,2.677,1852,6.43,2522,4.758,2524,4.758,3436,5.105,4582,6.783,4588,3.403,4593,6.331,4665,3.429,4677,4.39,4793,5.425,5366,8.071,5367,8.071,5368,8.071,6622,4.496,6696,4.296,7895,3.53,8114,6.269,8120,6.783,8189,4.617,8220,4.496,8223,6.67,8224,4.617,8232,5.141,11258,7.626,11263,3.829,11265,3.829,11267,3.999,11269,4.928,15253,6.783,15351,4.39,18897,7.831,18909,5.141,20256,7.446,20388,5.425,23529,7.831,23530,7.626,23531,7.831,23559,4.928,23562,4.928,23564,4.928,23566,4.928,23612,5.857,23613,8.462,23614,5.857,23615,5.857,23616,5.857,23617,5.857,23618,5.857,23619,5.857,23620,5.857,23621,5.857,23622,5.857,23623,5.857,23624,5.857,23625,5.857,23626,5.857,23627,5.857,23628,5.857,23629,5.857,23630,5.857,23631,5.857,23632,5.857,23633,5.857,23634,5.857,23635,5.857,23636,5.857,23637,5.857,23638,5.857,23639,5.857,23640,5.857,23641,5.857,23642,5.857,23643,5.857,23644,5.857,23645,5.857,23646,5.857,23647,5.857,23648,5.857,23649,5.857,23650,5.857]],["title/injectables/UserDORepo.html",[589,0.926,23651,5.86]],["body/injectables/UserDORepo.html",[0,0.118,3,0.006,4,0.006,5,0.003,7,0.048,8,0.639,10,2.846,12,2.529,18,2.801,26,2.35,27,0.494,29,0.957,30,0.001,31,0.711,32,0.155,33,0.573,34,1.745,35,1.437,36,2.618,40,2.705,47,0.87,48,4.988,55,0.693,56,1.612,58,2.237,59,1.063,95,0.129,96,0.893,99,0.689,101,0.004,103,0,104,0,112,0.268,122,1.159,125,1.331,129,1.655,130,1.512,135,1.631,142,3.263,145,1.284,148,1.14,153,1.458,158,1.263,185,1.914,197,2.286,205,1.444,206,1.116,224,0.991,231,0.964,277,0.489,279,1.419,290,2.938,317,2.934,331,4.003,346,2.51,365,1.52,393,1.694,430,1.407,431,1.467,436,3.346,478,0.959,540,2.35,569,1.063,579,0.977,589,0.743,591,0.812,595,1.298,652,2.407,657,2.518,692,1.595,700,2.705,701,2.705,702,2.767,703,1.05,704,4.602,729,3.816,735,2.529,736,4.437,766,1.831,770,2.155,788,2.336,789,1.873,790,2.301,863,3.082,869,4.003,1198,3.368,1770,3.608,1853,1.123,2140,1.95,2232,3.185,2437,8.354,2439,4.018,2440,3.945,2441,3.945,2442,4.018,2443,4.018,2444,3.945,2451,2.46,2453,2.46,2455,3.654,2456,3.816,2457,2.46,2460,4.018,2462,2.374,2463,6.827,2464,3.945,2465,3.302,2467,2.46,2468,4.018,2470,2.46,2472,2.062,2473,2.13,2474,2.301,2476,2.46,2479,4.186,2516,2.78,2517,2.565,3436,4.631,3637,3.169,4588,1.172,4593,3.561,4768,2.062,4778,3.003,4782,2.627,4783,2.627,4798,2.415,4832,2.78,5057,2.46,5136,7.299,5138,2.991,5215,3.185,5366,2.78,5367,2.78,5368,2.78,6288,2.879,6854,4.905,6867,4.702,6870,4.905,6878,2.51,6879,2.51,6880,2.51,6881,2.51,6882,2.51,6883,2.51,6884,2.51,6895,2.336,7638,4.27,7704,2.879,7924,5.034,7934,7.648,7953,2.51,7954,2.51,8114,6.879,8120,5.583,8121,2.78,8123,2.78,8126,3.003,10696,2.879,10700,3.003,10702,3.003,10703,3.003,10723,3.169,10729,4.905,10858,6.446,11100,3.169,11102,3.169,11103,3.169,11104,5.176,11105,3.169,11258,4.29,12899,2.879,15193,2.51,15229,5.755,15253,3.816,15392,4.905,15395,4.905,15413,3.169,15420,3.169,15424,3.169,16176,3.169,17797,3.169,18897,2.697,20024,2.697,20026,3.003,20027,3.003,20256,4.189,22427,4.905,22429,4.905,23529,4.405,23530,4.29,23531,4.405,23651,4.702,23652,10.643,23653,5.588,23654,5.176,23655,5.588,23656,3.422,23657,7.575,23658,3.422,23659,3.422,23660,5.176,23661,3.422,23662,3.169,23663,3.422,23664,3.422,23665,3.422,23666,3.422,23667,3.422,23668,3.422,23669,3.169,23670,4.905,23671,3.422,23672,3.422,23673,3.422,23674,3.422,23675,3.422,23676,3.169,23677,3.422,23678,3.422,23679,3.422,23680,3.169,23681,6.561,23682,3.422,23683,5.176,23684,3.422,23685,5.588,23686,3.169,23687,3.169,23688,3.422,23689,3.422,23690,3.422,23691,3.422,23692,3.169,23693,3.422,23694,3.169,23695,3.169,23696,3.169,23697,3.169,23698,3.422,23699,3.422,23700,3.422,23701,3.422,23702,3.169,23703,3.169,23704,3.169,23705,3.169,23706,3.169,23707,3.422,23708,3.422,23709,3.422,23710,3.422,23711,3.422,23712,3.422,23713,3.422,23714,3.422,23715,3.422,23716,3.422,23717,3.422,23718,3.422,23719,3.422,23720,3.422,23721,3.422,23722,3.422]],["title/interfaces/UserData.html",[159,0.712,11392,5.49]],["body/interfaces/UserData.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.054,26,1.788,30,0.001,31,0.349,32,0.127,34,1.062,36,2.495,47,0.994,51,5.182,55,0.79,72,1.791,95,0.144,99,0.786,101,0.005,103,0,104,0,112,0.487,122,0.809,135,1.79,142,2.248,145,2.331,148,1.185,153,1.66,159,0.985,161,0.929,228,1.843,254,1.403,277,0.558,290,0.925,317,2.554,339,3.277,412,1.732,433,0.479,478,1.093,528,1.979,578,2.044,579,2.519,589,0.826,595,1.479,610,2.449,614,2.736,652,2.596,657,3.108,980,5.315,1065,4.344,1212,2.517,1472,2.168,1853,1.28,1885,2.401,2005,4.69,2006,4.625,2008,3.855,2018,5.13,2027,3.04,2033,4.368,2035,2.151,2040,4.384,2047,2.923,2048,2.804,2298,8.487,2370,2.186,2512,2.327,2550,2.351,2776,6.444,3899,4.176,3900,2.058,4588,1.336,4739,4.994,4862,2.585,4863,2.623,5056,4.302,5057,2.804,5449,4.665,5466,5.073,5953,2.585,6303,2.706,6685,5.13,6739,4.384,6809,2.663,6824,5.06,6889,4.466,6982,2.706,7044,4.764,7045,5.13,7062,4.817,7068,5.801,7077,2.804,7078,2.804,7121,4.768,7510,3.57,7513,4.932,7514,2.753,7608,2.861,7655,3.074,8114,5.234,8120,4.24,8311,3.911,10208,2.753,10282,2.994,10447,4.268,10471,6.345,10538,3.074,10628,2.804,10631,7.056,10637,5.204,10666,2.994,11352,2.994,11353,3.169,11354,3.169,11355,3.169,11356,3.169,11357,3.169,11358,2.804,11359,3.169,11372,5.37,11374,3.169,11377,3.169,11379,3.169,11381,3.169,11382,7.169,11384,3.169,11386,3.169,11388,3.169,11390,3.169,11392,8.81,11393,3.169,11395,3.169,11397,3.169,11399,2.994,11400,3.169,11401,4.896,11402,6.956,11403,4.896,11404,5.046,11405,5.046,11406,7.828,11407,5.046,11408,3.169,11409,5.046,11410,3.169,11411,3.169,11412,5.046,11413,3.169,11414,3.169,11415,5.046,11416,3.169,11417,3.169,11418,3.169,11419,3.169,11420,3.169,11421,3.169,11422,3.169,11423,3.169,11424,3.169,11425,3.169,11426,6.287,11427,3.169,11428,3.169,11429,3.169,11430,3.169,11431,3.169,11432,3.169,11433,3.169,11434,3.169,11435,3.169,11436,3.169,11437,3.169,11438,5.046,11439,3.169,11440,3.074,11441,3.169,11442,4.176,11443,2.623,11444,3.074,11445,3.074,11446,3.169,11447,5.046,11448,3.169,11449,5.046,11450,3.169,11451,3.074,11452,3.169,11453,3.169,11454,3.169,11455,3.169,11456,3.169,11457,3.169,11458,3.074,11459,3.074]],["title/classes/UserDataResponse.html",[0,0.241,21216,5.86]],["body/classes/UserDataResponse.html",[0,0.316,2,0.964,3,0.017,4,0.017,5,0.008,7,0.127,27,0.509,29,0.697,30,0.001,31,0.513,32,0.162,33,0.417,39,3.731,47,1.008,95,0.102,101,0.012,103,0.001,104,0.001,112,0.896,190,2.234,202,2.097,242,4.821,296,3.64,433,1.403,700,6.505,701,6.505,821,4.664,11263,5.972,11265,5.972,21216,11.31,23723,13.442,23724,9.135,23725,9.135,23726,9.135,23727,9.135,23728,9.135]],["title/classes/UserDoFactory.html",[0,0.241,23729,6.451]],["body/classes/UserDoFactory.html",[0,0.17,2,0.518,3,0.009,4,0.009,5,0.004,7,0.068,8,0.849,26,1.505,27,0.516,29,1.02,30,0.001,31,0.728,32,0.17,33,0.584,34,1.532,35,1.444,47,0.546,49,1.85,55,2.374,59,3.334,95,0.126,99,0.99,101,0.006,103,0,104,0,112,0.583,113,4.483,127,5.005,129,3.573,130,3.265,135,0.967,148,0.73,153,0.794,157,2.074,172,4.263,185,2.544,192,2.709,205,1.826,206,2.424,228,1.334,231,1.282,290,1.165,326,4.868,374,3.226,433,0.603,436,3.875,467,2.162,501,7.125,502,5.553,505,4.13,506,5.553,507,5.359,508,4.13,509,4.13,510,4.13,511,4.066,512,4.574,513,4.981,514,6.554,515,5.871,516,7.041,517,2.753,522,2.73,523,4.13,524,2.753,525,5.235,526,5.385,527,4.245,528,5.067,529,4.097,530,2.73,531,2.574,532,4.138,533,2.61,534,2.574,535,2.73,536,2.753,537,4.903,538,2.73,539,7.208,540,4.003,541,6.708,542,2.753,543,3.615,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,551,2.73,552,6.176,553,2.753,554,2.73,555,4.13,556,3.769,557,4.13,558,2.753,559,2.648,560,2.61,561,2.212,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.831,568,2.73,569,1.527,570,2.753,571,2.941,572,2.73,573,2.753,574,2.753,575,2.824,577,2.931,595,1.863,700,2.377,701,2.377,702,2.432,1770,1.966,3436,4.603,4588,1.682,4696,6.324,4698,3.532,5056,4.13,8114,2.668,8121,3.99,8791,4.311,14094,4.311,23729,8.298,23730,4.912,23731,7.429,23732,7.429,23733,4.912,23734,4.912,23735,4.549,23736,4.549]],["title/classes/UserDto.html",[0,0.241,23737,5.86]],["body/classes/UserDto.html",[0,0.241,2,0.735,3,0.013,4,0.013,5,0.006,7,0.097,26,2.495,27,0.547,29,0.532,30,0.001,31,0.391,32,0.174,33,0.651,34,1.866,47,1.019,83,3.445,95,0.107,99,1.403,101,0.009,103,0,104,0,112,0.75,122,1.982,129,2.831,130,2.587,205,1.419,290,2.268,433,0.856,458,2.777,478,1.951,561,3.137,578,3.65,700,5.283,701,5.283,702,5.405,704,5.573,1078,4.188,1198,6.579,3469,4.683,3470,4.553,4582,7.453,4588,3.739,4593,6.956,4665,4.077,4677,5.22,5474,5.658,6622,5.346,7895,4.198,11263,4.553,11265,4.553,11267,4.755,13132,8.043,13217,5.22,14429,6.112,16499,6.451,20251,6.451,20256,8.182,23529,8.605,23530,8.379,23531,8.605,23559,5.86,23562,5.86,23564,5.86,23566,5.86,23737,10.359,23738,6.964,23739,10.11,23740,6.964,23741,6.964,23742,6.964,23743,6.964,23744,6.964,23745,6.964,23746,6.964,23747,6.964,23748,6.964,23749,6.964,23750,6.964,23751,6.964,23752,6.964,23753,6.964,23754,6.964,23755,6.964,23756,6.964,23757,6.112,23758,6.964,23759,6.964]],["title/classes/UserFactory.html",[0,0.241,697,5.008]],["body/classes/UserFactory.html",[0,0.139,2,0.425,3,0.007,4,0.007,5,0.004,7,0.056,8,0.727,27,0.514,29,1.014,30,0.001,31,0.751,32,0.166,33,0.587,34,1.35,35,1.334,47,0.468,55,2.208,59,3.04,95,0.126,101,0.005,103,0,104,0,112,0.499,113,4.133,127,4.499,129,3.6,130,3.289,135,1.609,148,1.022,157,1.828,172,2.716,185,2.18,192,2.218,205,1.993,206,2.076,228,1.143,231,1.098,290,1.873,326,4.89,331,5.572,374,2.763,433,0.494,436,3.706,467,1.852,478,1.127,501,7.048,502,4.991,505,3.537,506,4.991,507,5.166,508,3.537,509,3.537,510,3.537,511,3.483,512,4.031,513,4.39,514,6.137,515,5.353,516,6.829,517,2.254,522,2.236,523,3.537,524,2.254,525,4.706,526,4.84,527,3.815,528,4.555,529,3.51,530,2.236,531,2.108,532,3.815,533,2.137,534,2.108,535,2.236,536,2.254,537,4.322,538,2.236,539,7.214,540,3.749,541,6.281,542,2.254,543,3.843,544,2.236,545,2.254,546,2.236,547,2.254,548,2.236,549,2.503,550,2.354,551,2.236,552,5.693,553,2.254,554,2.236,555,3.537,556,3.228,557,3.537,558,2.254,559,2.168,560,2.137,561,1.811,562,2.236,563,2.236,564,2.236,565,2.254,566,2.254,567,1.499,568,2.236,569,1.25,570,2.254,571,2.519,572,2.236,573,2.254,575,2.312,576,2.376,577,5.837,595,1.525,693,5.418,694,2.95,695,2.891,697,5.678,700,1.946,701,1.946,702,1.991,703,1.234,713,8.752,716,5.354,722,5.354,726,5.354,1826,5.599,2279,5.894,3436,5.345,5056,4.991,7763,3.17,7764,3.267,7773,3.17,11442,2.704,11443,2.704,13967,3.087,14094,3.529,22410,3.725,22416,8.315,23558,3.383,23735,3.725,23736,3.725,23760,4.021,23761,6.363,23762,6.363,23763,6.363,23764,6.363,23765,4.021,23766,4.021,23767,4.021,23768,6.363,23769,4.021,23770,6.363,23771,4.021,23772,6.363,23773,6.363,23774,6.363,23775,4.021,23776,4.021,23777,7.896,23778,4.021]],["title/classes/UserForGroupNotFoundLoggable.html",[0,0.241,17768,6.113]],["body/classes/UserForGroupNotFoundLoggable.html",[0,0.315,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,8,1.303,27,0.445,29,0.696,30,0.001,31,0.512,32,0.113,33,0.416,35,1.045,95,0.127,100,3.178,101,0.012,103,0.001,104,0.001,148,0.896,158,3.364,228,1.637,290,2.162,339,2.672,400,2.672,433,1.12,1027,2.789,1065,6.423,1115,3.468,1237,3.304,1422,4.984,1423,5.804,1426,5.794,1468,5.804,1469,6.094,1626,5.108,2617,5.673,3364,6.554,4953,6.041,5056,5.067,10083,10.284,10098,6.223,12773,8.756,17768,10.011,20143,8.442,20144,8.442,20145,8.442,23779,12.45,23780,9.114,23781,9.114,23782,9.114]],["title/interfaces/UserGroup.html",[159,0.712,11403,5.49]],["body/interfaces/UserGroup.html",[0,0.134,3,0.007,4,0.007,5,0.003,7,0.054,26,1.781,30,0.001,31,0.539,32,0.133,34,1.056,36,2.49,47,0.993,51,4.231,55,1.561,72,1.779,95,0.143,99,0.781,101,0.005,103,0,104,0,112,0.485,122,0.803,135,1.788,142,2.236,145,2.319,148,1.182,153,1.655,159,0.982,161,0.923,228,1.838,254,1.393,277,0.554,290,0.919,317,2.549,339,3.269,412,1.72,433,0.476,478,1.085,528,1.965,578,2.03,579,2.51,589,0.821,595,1.469,610,2.436,614,2.725,652,2.592,657,3.105,980,5.297,1065,4.328,1212,2.5,1472,2.154,1853,1.271,1885,2.385,2005,4.672,2006,4.608,2008,3.838,2018,5.107,2027,3.024,2033,4.358,2035,2.137,2040,4.361,2047,2.904,2048,2.786,2298,6.93,2370,2.171,2512,2.312,2550,2.335,2776,6.435,3899,4.154,3900,2.044,4588,1.327,4739,4.972,4862,2.568,4863,2.605,5056,4.283,5057,2.786,5449,4.644,5466,5.054,5953,2.568,6303,2.688,6685,5.107,6739,4.361,6809,2.645,6824,5.037,6889,4.442,6982,2.688,7044,4.743,7045,5.107,7062,4.796,7068,5.775,7077,2.786,7078,2.786,7121,4.742,7510,3.551,7513,4.91,7514,2.735,7608,2.841,7655,3.054,8114,5.216,8120,4.218,8311,3.89,10208,2.735,10282,2.974,10447,4.249,10471,6.321,10538,3.054,10628,2.786,10631,7.042,10637,5.181,10666,2.974,11352,2.974,11353,3.147,11354,3.147,11355,3.147,11356,3.147,11357,3.147,11358,2.786,11359,3.147,11372,5.346,11374,3.147,11377,3.147,11379,3.147,11381,3.147,11382,7.142,11384,3.147,11386,3.147,11388,3.147,11390,3.147,11392,8.465,11393,3.147,11395,3.147,11397,3.147,11399,2.974,11400,3.147,11401,4.869,11402,6.93,11403,6.073,11404,7.802,11405,7.802,11406,7.802,11407,5.018,11408,3.147,11409,5.018,11410,3.147,11411,3.147,11412,5.018,11413,3.147,11414,3.147,11415,5.018,11416,3.147,11417,3.147,11418,3.147,11419,3.147,11420,3.147,11421,3.147,11422,3.147,11423,3.147,11424,3.147,11425,3.147,11426,6.259,11427,3.147,11428,3.147,11429,3.147,11430,3.147,11431,3.147,11432,3.147,11433,3.147,11434,3.147,11435,3.147,11436,3.147,11437,3.147,11438,5.018,11439,3.147,11440,3.054,11441,3.147,11442,4.154,11443,2.605,11444,3.054,11445,3.054,11446,3.147,11447,5.018,11448,3.147,11449,5.018,11450,3.147,11451,3.054,11452,3.147,11453,3.147,11454,3.147,11455,3.147,11456,3.147,11457,3.147,11458,3.054,11459,3.054]],["title/interfaces/UserGroups.html",[159,0.712,11402,5.49]],["body/interfaces/UserGroups.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.793,30,0.001,31,0.35,32,0.133,34,1.066,36,2.499,47,0.972,51,4.259,55,0.794,72,1.8,95,0.144,99,0.79,101,0.005,103,0,104,0,112,0.489,122,0.813,135,1.791,142,2.257,145,2.34,148,1.186,153,1.664,159,0.988,161,0.934,172,2.661,228,1.847,254,1.41,277,0.56,290,0.93,317,2.558,339,3.539,412,1.741,433,0.481,478,1.098,528,1.988,578,2.054,579,2.526,589,0.829,595,1.486,610,2.459,614,2.743,652,2.599,657,3.11,980,5.327,1065,4.356,1212,2.529,1472,2.179,1853,1.286,1885,2.413,2005,4.703,2006,4.638,2008,3.867,2018,5.146,2027,3.052,2033,4.375,2035,2.162,2040,4.401,2047,2.938,2048,2.818,2298,6.976,2370,2.196,2512,2.339,2550,2.362,2776,6.45,3899,4.193,3900,2.068,4588,1.342,4739,5.01,4862,2.598,4863,2.635,5056,4.316,5057,2.818,5449,4.68,5466,5.087,5953,2.598,6303,2.719,6685,5.146,6739,4.401,6809,2.676,6824,5.076,6889,4.483,6982,2.719,7044,4.779,7045,5.146,7062,4.833,7068,5.819,7077,2.818,7078,2.818,7121,4.786,7510,3.584,7513,4.948,7514,2.767,7608,2.875,7655,3.089,8114,5.246,8120,4.257,8311,3.926,10208,2.767,10282,3.009,10447,4.282,10471,6.363,10538,3.089,10628,2.818,10631,7.065,10637,5.221,10666,3.009,11352,3.009,11353,3.184,11354,3.184,11355,3.184,11356,3.184,11357,3.184,11358,2.818,11359,3.184,11372,5.387,11374,3.184,11377,3.184,11379,3.184,11381,3.184,11382,7.189,11384,3.184,11386,3.184,11388,3.184,11390,3.184,11392,8.504,11393,3.184,11395,3.184,11397,3.184,11399,3.009,11400,3.184,11401,4.915,11402,7.614,11403,4.915,11404,5.065,11405,5.065,11406,7.847,11407,5.065,11408,3.184,11409,5.065,11410,3.184,11411,3.184,11412,5.065,11413,3.184,11414,3.184,11415,5.065,11416,3.184,11417,3.184,11418,3.184,11419,3.184,11420,3.184,11421,3.184,11422,3.184,11423,3.184,11424,3.184,11425,3.184,11426,6.307,11427,3.184,11428,3.184,11429,3.184,11430,3.184,11431,3.184,11432,3.184,11433,3.184,11434,3.184,11435,3.184,11436,3.184,11437,3.184,11438,5.065,11439,3.184,11440,3.089,11441,3.184,11442,4.193,11443,2.635,11444,3.089,11445,3.089,11446,3.184,11447,5.065,11448,3.184,11449,5.065,11450,3.184,11451,3.089,11452,3.184,11453,3.184,11454,3.184,11455,3.184,11456,3.184,11457,3.184,11458,3.089,11459,3.089]],["title/classes/UserInfoMapper.html",[0,0.241,16681,6.113]],["body/classes/UserInfoMapper.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,8,1.357,27,0.379,29,0.743,30,0.001,31,0.547,32,0.12,33,0.445,34,1.664,35,1.116,95,0.132,100,4.142,101,0.012,103,0.001,104,0.001,135,1.266,148,0.957,153,1.574,290,3.247,467,3.732,478,2.727,578,5.101,700,4.71,701,4.71,830,6.603,837,4.819,3469,6.545,3470,6.363,16652,10.846,16681,10.425,19013,10.425,20179,8.542,20181,8.542,23783,11.878]],["title/classes/UserInfoResponse.html",[0,0.241,16652,5.658]],["body/classes/UserInfoResponse.html",[0,0.293,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,27,0.495,29,0.646,30,0.001,31,0.738,32,0.157,33,0.6,34,2.338,47,0.988,95,0.094,101,0.011,103,0.001,104,0.001,112,0.853,157,2.939,190,2.156,201,4.675,202,1.943,205,2.217,290,3.189,296,2.847,304,4.19,413,6.626,433,1.337,458,3.374,700,6.356,701,6.356,821,4.32,1361,6.255,2301,6.67,3196,5.532,3197,5.824,3198,5.824,4743,7.837,8017,9.55,11263,5.532,11265,5.532,16652,10.67,20186,7.426,23784,13.134,23785,8.461,23786,7.837]],["title/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.241,20960,5.658]],["body/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,26,2.564,27,0.422,29,0.641,30,0.001,31,0.471,32,0.134,33,0.383,35,0.962,52,6.421,59,2.608,83,3.512,95,0.133,99,1.691,101,0.011,103,0.001,104,0.001,148,0.825,180,5.749,228,1.943,231,1.867,233,2.601,277,1.2,339,2.46,400,2.46,433,1.031,640,7.791,652,1.707,703,2.574,1027,2.568,1115,3.193,1237,3.135,1422,4.795,1423,5.585,1426,5.621,1434,5.414,1462,4.524,1468,5.585,1469,5.863,1477,4.284,1478,4.459,4970,5.501,6435,7.374,10416,5.561,12171,6.441,14359,6.441,15331,9.1,15357,6.614,20960,8.792,22025,6.441,23787,9.443,23788,11.979,23789,8.39,23790,9.443,23791,8.39,23792,8.39]],["title/modules/UserLoginMigrationApiModule.html",[252,1.839,20579,5.86]],["body/modules/UserLoginMigrationApiModule.html",[0,0.253,3,0.014,4,0.014,5,0.007,30,0.001,52,3.714,95,0.153,101,0.009,103,0,104,0,174,4.998,180,5.141,252,2.957,254,2.633,255,2.795,256,2.866,257,2.855,258,2.845,259,4.067,260,2.72,265,5.988,269,3.872,270,2.815,271,2.757,273,4.609,274,4.117,276,3.872,277,1.047,290,1.736,703,2.246,1027,2.24,1484,8.682,1523,10.488,1856,7.358,2070,3.947,2680,3.361,3036,3.43,4969,10.862,4970,3.361,6077,8.557,12252,5.947,17022,6.159,17309,10.862,17310,10.862,19033,10.862,20579,12.344,20580,6.159,20951,10.862,22962,10.862,23793,7.32,23794,7.32,23795,7.32,23796,10.862,23797,9.83,23798,7.32,23799,7.32,23800,7.32]],["title/controllers/UserLoginMigrationController.html",[314,2.65,23797,6.113]],["body/controllers/UserLoginMigrationController.html",[0,0.112,3,0.006,4,0.006,5,0.003,7,0.045,8,0.608,27,0.388,29,0.759,30,0.001,31,0.559,32,0.172,33,0.454,35,1.14,36,2.543,47,0.499,52,6.987,55,1.078,95,0.127,100,1.124,101,0.004,103,0,104,0,125,1.879,135,1.566,148,0.977,153,0.521,157,3.035,180,6.051,190,1.782,202,0.74,228,1.568,274,1.342,277,0.461,290,3.299,314,1.227,316,1.552,317,2.8,325,6.452,326,3.577,333,2.168,347,5.342,349,6.27,365,2.364,379,5.467,385,3.634,388,2.281,390,3.115,392,1.678,395,1.726,398,1.738,401,1.807,402,1.914,433,0.396,534,1.69,567,1.984,619,3.827,640,6.399,652,1.776,657,2.274,675,1.646,703,2.42,869,2.605,871,2.902,1368,1.822,1390,3.313,1422,1.291,1434,5.09,1563,3.434,1585,4.804,1853,1.058,2642,5.386,3011,2.432,3036,1.511,3240,1.657,3241,2.168,3242,1.764,3430,2.311,4077,5.21,4401,2.08,4969,5.718,4970,4.774,4973,4.671,4982,6.337,4983,6.218,4984,5.919,5138,4.222,5278,4.967,6281,2.168,7786,3.757,8128,6.055,10121,3.904,12798,4.478,13529,6.637,14025,4.929,15956,2.986,16502,5.965,16926,4.323,17069,6.923,18395,7.15,18397,5.672,19033,5.718,19035,4.671,19874,7.663,19875,7.792,19876,8.445,19887,2.829,20162,6.218,20285,4.478,20951,5.718,20954,4.671,20960,6.409,22025,8.521,22962,5.718,22964,5.965,23604,2.986,23796,5.718,23797,4.671,23801,10.395,23802,3.224,23803,4.929,23804,6.295,23805,6.295,23806,6.796,23807,3.224,23808,3.224,23809,9.629,23810,5.322,23811,5.322,23812,4.929,23813,3.224,23814,3.224,23815,3.224,23816,5.322,23817,3.224,23818,3.224,23819,3.224,23820,9.4,23821,3.224,23822,3.224,23823,3.224,23824,6.637,23825,3.224,23826,3.224,23827,3.224,23828,3.224,23829,3.224,23830,3.224,23831,3.224,23832,3.224,23833,3.224,23834,3.224,23835,5.322,23836,6.923,23837,6.923,23838,6.637,23839,3.224,23840,5.322,23841,3.224,23842,3.224,23843,6.923,23844,3.224,23845,3.224,23846,3.224,23847,4.929,23848,3.224,23849,3.224,23850,3.224,23851,3.224,23852,3.224,23853,3.224,23854,6.796,23855,5.322,23856,6.637,23857,2.829,23858,6.409,23859,9.446,23860,6.923,23861,3.224,23862,3.224,23863,3.224,23864,3.224,23865,3.224,23866,3.224,23867,3.224,23868,3.224,23869,3.224,23870,3.224,23871,5.322,23872,3.224,23873,6.796,23874,3.224,23875,3.224,23876,3.224,23877,3.224,23878,3.224,23879,3.224,23880,10.395,23881,6.796,23882,3.224,23883,3.224,23884,3.224,23885,3.224,23886,3.224,23887,3.224,23888,3.224,23889,3.224,23890,3.224,23891,3.224,23892,3.224,23893,3.224,23894,3.224]],["title/classes/UserLoginMigrationDO.html",[0,0.241,4982,4.439]],["body/classes/UserLoginMigrationDO.html",[0,0.27,2,0.824,3,0.014,4,0.014,5,0.007,7,0.109,26,2.718,27,0.537,29,0.596,30,0.001,31,0.438,32,0.17,33,0.641,34,1.765,47,0.573,83,3.993,95,0.115,101,0.01,103,0,104,0,112,0.81,134,2.763,180,5.906,231,1.781,232,2.793,433,0.959,435,2.681,436,2.305,1852,7.273,4588,3.961,4665,4.568,4666,5.724,4982,8.157,6696,5.724,6701,5.99,8220,5.99,14358,8.483,14362,6.849,23790,9.117,23895,13.779,23896,7.804,23897,9.117,23898,9.396,23899,9.396,23900,9.117,23901,10.321,23902,7.804,23903,7.804,23904,7.804,23905,7.804,23906,7.804,23907,7.804,23908,7.228,23909,7.228,23910,7.228,23911,6.849,23912,6.849,23913,6.849,23914,6.849,23915,6.849,23916,6.849,23917,6.849,23918,6.849]],["title/entities/UserLoginMigrationEntity.html",[205,1.419,15402,5.221]],["body/entities/UserLoginMigrationEntity.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.096,27,0.506,30,0.001,32,0.164,33,0.604,83,3.877,95,0.13,96,1.793,101,0.012,103,0,104,0,112,0.743,125,1.636,180,5.752,190,2.326,195,2.985,196,4.306,197,2.647,205,1.93,206,2.241,211,5.977,223,3.947,224,1.99,225,3.629,226,3.124,228,1.234,229,2.709,231,1.185,232,1.859,233,2.129,290,1.629,692,5.445,703,3.759,1619,4.228,2944,6.809,2951,7.465,5210,6.947,5727,5.052,7573,4.228,7574,4.099,7778,6.368,9934,4.69,15402,7.098,19909,6.362,20340,6.029,23790,8.543,23803,6.362,23897,8.543,23898,8.804,23900,8.543,23911,6.029,23912,6.029,23913,6.029,23914,6.029,23915,6.029,23916,6.029,23917,6.029,23918,6.029,23919,11.606,23920,6.869,23921,10.038,23922,10.038,23923,6.869,23924,6.869,23925,6.869,23926,9.469,23927,6.869,23928,6.869,23929,6.869,23930,6.869,23931,9.469,23932,6.869,23933,6.869,23934,6.869,23935,6.869,23936,6.869]],["title/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.241,23856,5.86]],["body/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.288,2,0.878,3,0.015,4,0.015,5,0.007,7,0.116,8,1.23,26,2.556,27,0.42,29,0.635,30,0.001,31,0.467,32,0.133,33,0.38,35,0.954,52,6.401,83,3.499,95,0.133,99,1.677,101,0.011,103,0.001,104,0.001,148,0.818,180,5.838,228,1.933,231,1.857,233,2.579,277,1.19,290,1.974,339,2.44,400,2.44,433,1.022,652,1.692,1027,2.546,1115,3.167,1237,3.118,1422,4.776,1423,5.563,1426,5.603,1468,5.563,1469,5.84,1477,4.248,1478,4.422,4970,5.479,6435,7.345,13529,10.615,15331,8.58,15357,6.559,23787,9.406,23812,7.707,23836,11.073,23837,11.073,23856,9.057,23897,9.945,23937,8.321,23938,8.321,23939,8.321,23940,8.321,23941,8.321,23942,8.321,23943,8.321]],["title/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.241,22968,6.113]],["body/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.291,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.767,27,0.422,29,0.642,30,0.001,31,0.472,32,0.104,33,0.384,35,0.964,39,3.328,52,6.426,95,0.121,99,1.694,101,0.011,103,0.001,104,0.001,122,2.486,125,2.856,148,0.826,180,5.852,228,2.153,242,4.437,290,1.995,339,2.465,376,6.167,402,3.025,433,1.331,652,2.439,703,3.325,1027,2.573,1115,3.2,1237,3.139,1422,4.8,1423,5.59,1426,5.625,1468,5.59,1469,5.869,4970,5.507,5412,9.723,12171,6.454,12506,6.167,14715,7.379,15331,9.107,15357,6.628,22968,9.511,23787,9.452,23944,8.408,23945,8.408,23946,8.408,23947,8.408]],["title/classes/UserLoginMigrationMandatoryParams.html",[0,0.241,23843,6.113]],["body/classes/UserLoginMigrationMandatoryParams.html",[0,0.42,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,52,6.163,95,0.135,101,0.013,103,0.001,104,0.001,112,0.953,122,2.518,180,5.794,190,1.81,199,6.7,200,3.091,202,2.319,296,3.179,4970,5.579,5412,10.001,8368,7.753,23843,10.662,23948,11.252,23949,10.1,23950,10.1]],["title/classes/UserLoginMigrationMapper.html",[0,0.241,23857,6.113]],["body/classes/UserLoginMigrationMapper.html",[0,0.294,2,0.897,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,27,0.425,29,0.833,30,0.001,31,0.613,32,0.135,33,0.498,34,1.453,35,1.251,39,2.358,47,0.624,95,0.134,101,0.011,103,0.001,104,0.001,135,1.42,148,1.072,153,1.374,180,5.768,365,4.845,467,3.917,837,4.208,871,4.014,1770,3.401,1853,2.788,2498,5.896,3036,3.982,4970,5.534,4982,8.104,14358,6.233,23790,6.698,23824,10.699,23857,9.576,23858,10.331,23859,10.684,23897,6.698,23898,6.903,23899,6.903,23900,6.698,23951,12.051,23952,8.497,23953,10.91,23954,10.91,23955,10.91,23956,8.497,23957,8.497,23958,10.91,23959,8.497,23960,8.497,23961,8.497,23962,8.497,23963,8.497,23964,8.497,23965,8.497,23966,8.497]],["title/modules/UserLoginMigrationModule.html",[252,1.839,17310,5.86]],["body/modules/UserLoginMigrationModule.html",[0,0.246,3,0.013,4,0.013,5,0.006,30,0.001,95,0.149,101,0.009,103,0,104,0,180,4.157,252,2.913,254,2.558,255,2.716,256,2.785,257,2.774,258,2.765,259,4.008,260,4.101,264,9.204,265,5.937,269,3.797,270,2.735,271,2.679,276,3.797,277,1.017,279,2.949,610,2.805,703,2.182,1027,2.176,1525,9.204,1537,5.217,1540,4.935,2070,3.835,3890,7.968,3900,3.754,4970,3.266,4975,10.205,4976,10.968,4977,11.706,6077,8.484,16479,11.706,16485,10.091,17310,12.365,20580,5.984,23967,7.112,23968,7.112,23969,7.112,23970,7.112,23971,11.706,23972,7.112]],["title/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.241,4983,5.49]],["body/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.292,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.242,26,2.769,27,0.424,29,0.645,30,0.001,31,0.474,32,0.134,33,0.386,35,0.968,52,6.436,59,2.624,95,0.134,99,1.701,101,0.011,103,0.001,104,0.001,148,0.83,180,5.858,228,1.951,231,1.875,233,2.617,277,1.207,290,2.003,339,2.476,400,2.476,433,1.037,652,1.717,703,2.59,1027,2.584,1115,3.213,1237,3.147,1422,4.81,1423,5.601,1426,5.634,1462,4.552,1468,5.601,1469,5.881,1477,4.311,1478,4.487,2860,5.449,2954,6.386,4588,4.115,4665,4.943,4970,5.518,4983,8.566,5138,4.519,10416,5.596,14359,6.481,15331,9.122,15357,6.656,16973,11.129,20286,7.821,23787,9.471,23973,8.443]],["title/interfaces/UserLoginMigrationQuery.html",[159,0.712,23858,5.658]],["body/interfaces/UserLoginMigrationQuery.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.131,33,0.571,39,3.813,47,0.977,52,5.381,101,0.014,103,0.001,104,0.001,112,0.981,159,1.085,161,2.527,180,5.361,4970,4.871,10995,9.309,23858,10.161,23974,10.607]],["title/injectables/UserLoginMigrationRepo.html",[589,0.926,16485,5.49]],["body/injectables/UserLoginMigrationRepo.html",[0,0.177,3,0.009,4,0.009,5,0.005,7,0.071,8,0.875,10,3.076,12,3.464,18,3.836,26,2.577,27,0.515,29,0.998,30,0.001,31,0.735,32,0.162,33,0.598,34,1.569,35,1.481,36,2.581,40,2.474,95,0.139,96,1.999,97,2.062,99,1.03,101,0.007,103,0,104,0,112,0.401,113,2.031,125,1.218,135,1.326,142,2.771,148,1.073,153,0.827,180,4.678,185,2.622,205,1.87,224,1.481,228,1.375,231,1.321,277,0.731,317,2.912,433,0.628,436,3.757,478,1.432,569,1.589,589,1.018,591,1.213,652,2.33,657,1.169,692,2.383,703,2.349,729,5.227,735,3.464,736,5.373,766,2.736,1027,1.564,1770,3.674,1853,1.677,2140,2.913,2437,9.175,2439,5.504,2440,5.404,2441,5.404,2442,5.504,2443,5.504,2444,5.404,2445,3.675,2446,5.535,2447,4.259,2448,4.776,2450,5.504,2451,3.675,2453,3.675,2455,5.005,2456,5.227,2457,3.675,2460,5.504,2462,3.547,2463,8.384,2464,5.404,2465,4.524,2467,3.675,2468,5.504,2470,3.675,2472,3.081,2473,3.182,2474,3.437,2476,3.675,2484,3.547,4588,3.143,4768,3.081,4982,8.335,4984,4.82,5210,2.736,6878,3.749,6879,3.749,6880,3.749,6881,3.749,6882,3.749,6883,3.749,6884,3.749,6892,3.924,10718,3.924,14358,3.749,15402,8.587,15403,4.735,15429,7.091,16485,6.035,19912,4.153,19913,4.153,20009,7.091,20017,7.091,20024,4.029,20026,4.486,20027,4.486,23790,6.035,23897,6.035,23898,6.219,23899,4.153,23900,6.035,23921,4.735,23922,4.735,23975,10.191,23976,5.112,23977,5.112,23978,5.112,23979,5.112,23980,5.112,23981,5.112,23982,5.112,23983,5.112,23984,5.112,23985,5.112,23986,5.112,23987,5.112,23988,5.112,23989,5.112,23990,7.655,23991,7.655,23992,5.112,23993,5.112,23994,5.112,23995,5.112,23996,5.112]],["title/classes/UserLoginMigrationResponse.html",[0,0.241,23859,5.658]],["body/classes/UserLoginMigrationResponse.html",[0,0.231,2,0.706,3,0.012,4,0.012,5,0.006,7,0.093,27,0.512,29,0.51,30,0.001,31,0.376,32,0.163,33,0.61,34,2.203,47,0.923,52,6.986,83,4.137,95,0.075,101,0.009,103,0,104,0,112,0.729,157,2.907,180,6.098,190,2.309,194,3.652,201,4.716,202,1.535,232,2.515,296,3.175,433,0.821,435,2.297,458,2.666,459,3.458,868,4.473,1361,6.638,1434,5.997,2163,7.134,3011,4.247,3430,5.014,3595,7.107,4970,6.127,8963,8.157,12149,7.134,14358,7.836,14362,5.868,23790,8.421,23836,8.157,23837,8.157,23859,9.858,23897,8.421,23898,8.679,23899,8.679,23900,8.421,23908,6.193,23909,6.193,23910,6.193,23911,5.868,23912,5.868,23913,5.868,23914,5.868,23915,5.868,23916,5.868,23917,5.868,23918,5.868,23997,12.358,23998,6.686,23999,9.294,24000,6.686,24001,6.686,24002,6.686,24003,6.686,24004,6.686,24005,6.686]],["title/injectables/UserLoginMigrationRevertService.html",[589,0.926,4977,5.86]],["body/injectables/UserLoginMigrationRevertService.html",[0,0.3,3,0.016,4,0.016,5,0.008,7,0.121,8,1.264,27,0.431,29,0.844,30,0.001,31,0.621,32,0.137,33,0.505,35,0.995,36,2.338,52,6.176,95,0.148,101,0.011,103,0.001,104,0.001,180,5.895,228,1.986,277,1.241,290,2.059,317,2.633,433,1.359,478,2.432,589,1.47,591,2.059,652,2.25,657,2.529,703,2.663,1853,2.848,2066,8.496,2068,8.446,2070,4.68,4970,5.59,4974,7.052,4975,9.927,4977,9.306,4982,8.168,4984,5.466,14618,7.619,15335,6.242,17780,7.619,24006,10.684,24007,8.681,24008,11.06,24009,8.681,24010,11.06,24011,8.681,24012,8.681,24013,8.681]],["title/injectables/UserLoginMigrationRule.html",[589,0.926,1879,5.86]],["body/injectables/UserLoginMigrationRule.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,27,0.456,29,0.892,30,0.001,31,0.657,32,0.154,33,0.534,35,1.201,95,0.144,101,0.01,103,0,104,0,122,2.743,135,1.362,148,1.029,180,5.32,183,4.464,205,2.748,228,1.432,277,1.14,290,3.282,400,2.338,433,0.98,478,2.234,589,1.392,591,1.892,653,3.28,711,3.832,1237,2.31,1775,6.793,1801,8.144,1838,7.481,1853,2.616,1879,8.809,1982,6.672,1986,6.445,1993,5.213,2619,6.672,3711,5.285,3714,6.756,3716,5.285,3717,6.939,3718,5.734,4982,8.718,7003,5.629,20063,7.386,24014,12.411,24015,7.974,24016,7.974,24017,7.974,24018,7.974]],["title/classes/UserLoginMigrationSearchListResponse.html",[0,0.241,23860,6.113]],["body/classes/UserLoginMigrationSearchListResponse.html",[0,0.271,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,27,0.499,29,0.598,30,0.001,31,0.44,32,0.171,33,0.586,52,5.25,55,2.905,56,6.201,59,3.216,70,6.679,95,0.129,101,0.01,103,0,104,0,112,0.812,125,1.866,180,5.493,190,2.209,202,1.799,231,1.785,290,1.858,296,2.708,298,3.402,339,3.758,433,0.962,436,3.641,860,7.305,861,5.436,862,8.357,863,7.261,864,5.949,866,3.902,868,5.577,869,3.834,870,4.288,871,2.882,872,5.53,873,6.594,874,6.058,875,5.122,876,4.079,877,5.53,878,5.53,880,4.992,881,4.288,4970,4.752,10988,7.256,10989,7.256,23859,10.907,23860,9.082,23997,9.585,24019,7.834]],["title/classes/UserLoginMigrationSearchParams.html",[0,0.241,23824,5.86]],["body/classes/UserLoginMigrationSearchParams.html",[0,0.418,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.124,33,0.552,39,3.6,47,0.887,52,6.126,95,0.135,101,0.013,103,0.001,104,0.001,112,0.947,180,5.775,190,1.792,200,3.06,201,4.693,202,2.296,299,4.727,300,4.627,4970,5.545,10990,8.776,10993,8.776,23824,10.16,23948,11.184,24020,9.999]],["title/injectables/UserLoginMigrationService.html",[589,0.926,4975,5.109]],["body/injectables/UserLoginMigrationService.html",[0,0.13,3,0.007,4,0.007,5,0.003,7,0.052,8,0.687,26,2.042,27,0.473,29,0.926,30,0.001,31,0.682,32,0.15,33,0.554,35,1.366,36,2.702,39,1.039,47,0.857,48,1.754,55,1.218,83,2.528,95,0.13,99,0.754,101,0.005,103,0,104,0,122,2.196,125,2.054,135,1.679,142,3.121,148,1.193,153,1.781,180,5.841,228,1.548,277,0.535,279,1.552,317,2.923,433,0.738,478,1.049,569,1.868,579,2.15,589,0.799,591,0.888,652,2.6,657,2.819,703,1.844,711,3.851,1312,1.764,1422,1.499,1540,2.598,1853,1.228,1924,4.042,2066,5.714,2068,5.226,2070,2.019,2071,6.507,2219,1.678,2220,1.888,2221,1.822,2504,3.15,3430,1.626,3900,1.976,4259,2.192,4588,2.953,4970,5.661,4973,5.276,4975,4.409,4982,8.781,4984,8.318,4989,5.276,5138,2.004,5412,6.618,5449,6.076,8048,3.15,8114,4.683,11371,2.951,13094,5.982,13858,3.286,14358,2.746,14370,4.883,14955,3.15,15335,2.692,15475,2.951,15482,5.415,15491,6.618,15510,3.468,15522,3.042,16485,8.35,16500,3.286,16501,7.67,17780,3.286,19035,5.276,19676,4.243,20219,3.468,20223,3.468,20247,3.468,20257,9.337,20260,3.468,20441,3.468,20954,5.276,20960,3.042,20964,5.276,20965,3.468,20966,3.286,22964,6.61,23856,5.057,23899,4.883,23900,2.951,24006,10.819,24021,6.011,24022,6.011,24023,6.011,24024,6.011,24025,6.011,24026,6.011,24027,8.621,24028,3.744,24029,6.011,24030,6.011,24031,3.744,24032,6.011,24033,3.744,24034,6.011,24035,3.744,24036,6.011,24037,3.744,24038,6.011,24039,3.744,24040,6.011,24041,3.744,24042,6.011,24043,3.744,24044,6.011,24045,3.744,24046,3.744,24047,6.011,24048,3.744,24049,3.744,24050,3.744,24051,3.744,24052,3.744,24053,7.531,24054,7.531,24055,7.531,24056,3.744,24057,3.744,24058,6.011,24059,3.744,24060,3.744,24061,3.744,24062,3.744,24063,3.744,24064,6.011,24065,3.744,24066,3.744,24067,3.744,24068,6.011,24069,3.744,24070,6.011,24071,3.744,24072,3.744,24073,3.744,24074,6.011,24075,5.568,24076,3.744]],["title/classes/UserLoginMigrationStartLoggable.html",[0,0.241,19038,5.86]],["body/classes/UserLoginMigrationStartLoggable.html",[0,0.301,2,0.918,3,0.016,4,0.016,5,0.008,7,0.121,8,1.266,26,2.788,27,0.432,29,0.664,30,0.001,31,0.489,32,0.108,33,0.397,35,0.998,39,3.382,52,6.508,95,0.123,99,1.753,101,0.011,103,0.001,104,0.001,125,2.903,148,0.855,180,5.804,228,1.989,242,4.591,339,2.551,376,6.381,400,2.551,433,1.069,652,1.769,703,3.398,1027,2.662,1115,3.311,1237,3.208,1422,4.878,1423,5.681,1426,5.697,1434,5.614,1468,5.681,1469,5.964,4970,5.596,12506,6.381,15331,9.224,15357,6.858,19038,9.319,20173,8.058,20174,8.058,23787,9.605,24077,8.7]],["title/injectables/UserLoginMigrationUc.html",[589,0.926,23796,5.86]],["body/injectables/UserLoginMigrationUc.html",[0,0.171,3,0.009,4,0.009,5,0.004,7,0.069,8,0.852,26,2.731,27,0.39,29,0.764,30,0.001,31,0.562,32,0.124,33,0.457,35,1.03,36,2.389,39,2.494,47,0.909,52,2.504,95,0.148,99,0.994,100,1.721,101,0.006,103,0,104,0,135,1.527,142,3.625,145,1.853,148,0.733,153,1.828,174,3.37,180,5.403,228,2.17,277,0.706,290,2.375,317,2.676,339,1.447,365,3.991,402,1.775,433,0.916,478,1.383,579,2.859,589,0.991,591,1.171,595,1.872,610,1.947,652,2.458,657,2.883,693,2.244,756,1.968,869,5.262,998,4.742,1027,1.51,1197,4.05,1422,1.976,1472,2.744,1526,9.01,1778,3.108,1793,3.271,1853,1.619,1862,6.238,1962,2.945,2071,4.406,2447,4.906,2680,2.267,2681,2.945,2685,3.62,3240,2.536,4588,3.682,4862,3.271,4863,3.319,4952,6.591,4970,4.937,4972,4.01,4975,8.61,4976,9.253,4982,6.381,4984,8.065,4985,4.01,5147,7.589,10114,4.332,12518,4.01,13565,9.253,13580,5.589,13711,6.164,14355,4.332,14358,8.864,14387,5.361,16501,4.01,17005,9.536,17022,4.153,17035,4.153,17050,4.332,17081,4.572,17082,4.572,17402,3.891,17871,4.572,20264,4.332,22970,8.323,23796,6.274,23804,6.906,23805,6.906,23858,8.135,23971,9.512,24078,10.75,24079,4.936,24080,4.936,24081,7.456,24082,4.936,24083,7.456,24084,4.936,24085,4.936,24086,4.936,24087,7.456,24088,4.332,24089,4.332,24090,8.986,24091,4.936,24092,7.456,24093,4.936,24094,4.936,24095,4.936,24096,4.936,24097,4.936,24098,4.936,24099,4.936,24100,4.936,24101,7.456,24102,4.936,24103,8.986,24104,4.936,24105,7.456,24106,4.936,24107,4.936,24108,4.936,24109,4.936,24110,4.936]],["title/classes/UserMapper.html",[0,0.241,24111,6.113]],["body/classes/UserMapper.html",[0,0.323,2,0.984,3,0.017,4,0.017,5,0.008,7,0.13,8,1.322,27,0.363,29,0.712,30,0.001,31,0.524,32,0.115,33,0.426,34,1.595,35,1.069,95,0.129,101,0.012,103,0.001,104,0.001,148,0.917,153,1.508,205,1.9,290,3.12,331,5.139,467,3.662,478,2.613,700,4.513,701,4.513,702,4.618,704,4.761,1198,5.621,4588,3.194,4593,5.943,4768,5.621,4778,8.185,8123,7.576,12899,7.847,19218,9.735,19222,9.735,20024,7.351,20256,6.99,23529,7.351,23530,7.159,23531,7.351,23695,8.638,23696,8.638,23697,8.638,23702,8.638,23703,8.638,23704,8.638,23705,8.638,23706,8.638,23737,11.067,23739,8.638,24111,10.155,24112,9.326,24113,9.326,24114,9.326,24115,9.326]],["title/classes/UserMatchListResponse.html",[0,0.241,14050,5.86]],["body/classes/UserMatchListResponse.html",[0,0.365,2,0.689,3,0.012,4,0.012,5,0.006,7,0.091,27,0.469,29,0.498,30,0.001,31,0.513,32,0.168,33,0.549,34,1.115,39,1.81,47,0.839,55,2.835,56,5.871,59,2.839,70,6.323,95,0.134,101,0.012,103,0,104,0,112,0.717,125,1.554,142,2.361,157,2.885,180,2.796,190,2.048,195,1.433,200,1.996,201,3.551,202,1.498,231,1.576,232,1.765,242,3.443,243,4.107,290,3.035,296,3.348,298,2.833,331,2.897,339,3.526,374,2.833,415,6.008,433,0.801,436,3.374,567,2.432,614,2.022,700,4.421,701,4.421,855,3.699,862,7.965,863,6.874,864,5.252,866,3.249,868,5.074,869,3.193,870,3.57,871,2.4,872,4.605,873,5.822,874,5.348,875,4.265,876,3.396,877,4.605,878,4.605,880,4.157,881,3.57,886,2.892,1619,7.032,2010,4.324,3430,2.833,3431,4.209,3432,3.75,3436,3.352,3612,4.157,4970,4.195,5245,4.016,5408,4.691,6317,3.784,11263,4.265,11264,4.605,11265,4.265,11266,4.605,12473,4.526,12490,5.624,13946,5.007,13947,4.454,13981,7.686,13997,5.488,14050,7.686,14099,10.293,14101,8.093,14104,5.488,14105,5.488,14106,5.488,14107,5.488,14171,9.253,24116,8.462,24117,6.042,24118,6.523,24119,6.523,24120,5.725]],["title/classes/UserMatchMapper.html",[0,0.241,14042,5.86]],["body/classes/UserMatchMapper.html",[0,0.251,2,0.767,3,0.013,4,0.013,5,0.007,7,0.101,8,1.124,27,0.384,29,0.751,30,0.001,31,0.627,32,0.122,33,0.45,35,1.129,39,2.017,59,2.259,95,0.144,99,1.464,100,3.432,101,0.009,103,0,104,0,129,2.152,135,1.676,142,4.039,148,1.266,153,1.175,195,1.597,290,2.964,365,4.37,376,5.33,393,3.598,467,3.75,478,2.036,578,3.809,579,2.075,700,3.517,701,3.517,830,5.471,837,3.598,1393,6.359,2038,4.631,3431,4.689,3432,4.178,3469,4.887,3470,4.751,4970,5.124,5056,5.471,5057,5.225,6288,4,12473,5.042,12503,10.062,13217,5.447,13751,9.715,13946,7.554,13947,6.719,13956,10.887,14042,8.28,14044,6.378,14099,9.427,14101,8.565,14124,5.728,14126,6.114,14178,5.728,19013,8.637,19236,9.115,19241,6.731,19242,6.731,19243,6.731,24121,11.158,24122,7.267,24123,9.841,24124,7.267,24125,7.267,24126,7.267,24127,7.267,24128,9.841,24129,7.267,24130,7.267,24131,7.267,24132,7.267,24133,9.841,24134,7.267,24135,7.267,24136,7.267,24137,7.267,24138,7.267]],["title/classes/UserMatchResponse.html",[0,0.241,14099,5.49]],["body/classes/UserMatchResponse.html",[0,0.356,2,0.66,3,0.012,4,0.012,5,0.006,7,0.087,27,0.493,29,0.477,30,0.001,31,0.579,32,0.167,33,0.471,34,1.516,39,2.859,47,0.949,55,2.087,56,4.175,70,4.497,95,0.132,101,0.011,103,0,104,0,112,0.695,142,2.262,157,2.845,180,3.799,190,2.203,195,1.948,200,1.912,201,3.445,202,1.435,231,1.078,232,2.398,242,3.298,243,3.935,290,3.255,296,3.307,298,2.714,331,2.775,339,2.599,374,3.849,415,6.744,433,0.768,435,2.147,567,3.305,614,2.748,700,5.727,701,5.727,855,3.589,862,5.517,863,3.447,864,3.593,868,5.394,880,3.982,881,3.42,886,3.549,1361,3.593,1619,7.951,2010,5.875,3430,3.849,3431,5.719,3432,5.095,3436,4.554,3612,5.648,4197,3.806,4970,5.931,5245,5.456,5408,6.373,6317,5.141,11263,4.086,11264,4.411,11265,4.086,11266,4.411,12473,7.147,12490,6.899,13946,7.906,13947,7.032,13981,7.457,13997,5.258,14050,5.258,14099,10.181,14101,9.084,14104,5.258,14105,5.258,14106,5.258,14107,5.258,14171,10.386,24116,11.963,24117,5.788,24120,7.779,24139,6.249,24140,6.249,24141,6.249,24142,6.249,24143,6.249,24144,6.249,24145,6.249]],["title/interfaces/UserMetdata.html",[159,0.712,11401,5.49]],["body/interfaces/UserMetdata.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.793,30,0.001,31,0.35,32,0.133,34,1.066,36,2.499,47,0.972,51,4.259,55,0.794,72,1.8,95,0.144,99,0.79,101,0.005,103,0,104,0,112,0.489,122,0.813,135,1.791,142,2.257,145,2.34,148,1.186,153,1.664,159,0.988,161,0.934,172,2.661,228,1.847,254,1.41,277,0.56,290,0.93,317,2.558,339,3.539,412,1.741,433,0.481,478,1.098,528,1.988,578,2.054,579,2.526,589,0.829,595,1.486,610,2.459,614,2.743,652,2.599,657,3.11,980,5.327,1065,4.356,1212,2.529,1472,2.179,1853,1.286,1885,2.413,2005,4.703,2006,4.638,2008,3.867,2018,5.146,2027,3.052,2033,4.375,2035,2.162,2040,4.401,2047,2.938,2048,2.818,2298,6.976,2370,2.196,2512,2.339,2550,2.362,2776,6.45,3899,4.193,3900,2.068,4588,1.342,4739,5.01,4862,2.598,4863,2.635,5056,4.316,5057,2.818,5449,4.68,5466,5.087,5953,2.598,6303,2.719,6685,5.146,6739,4.401,6809,2.676,6824,5.076,6889,4.483,6982,2.719,7044,4.779,7045,5.146,7062,4.833,7068,5.819,7077,2.818,7078,2.818,7121,4.786,7510,3.584,7513,4.948,7514,2.767,7608,2.875,7655,3.089,8114,5.246,8120,4.257,8311,3.926,10208,2.767,10282,3.009,10447,4.282,10471,6.363,10538,3.089,10628,2.818,10631,7.065,10637,5.221,10666,3.009,11352,3.009,11353,3.184,11354,3.184,11355,3.184,11356,3.184,11357,3.184,11358,2.818,11359,3.184,11372,5.387,11374,3.184,11377,3.184,11379,3.184,11381,3.184,11382,7.189,11384,3.184,11386,3.184,11388,3.184,11390,3.184,11392,8.504,11393,3.184,11395,3.184,11397,3.184,11399,3.009,11400,3.184,11401,6.12,11402,6.976,11403,4.915,11404,5.065,11405,5.065,11406,7.847,11407,5.065,11408,3.184,11409,5.065,11410,3.184,11411,3.184,11412,5.065,11413,3.184,11414,3.184,11415,5.065,11416,3.184,11417,3.184,11418,3.184,11419,3.184,11420,3.184,11421,3.184,11422,3.184,11423,3.184,11424,3.184,11425,3.184,11426,6.307,11427,3.184,11428,3.184,11429,3.184,11430,3.184,11431,3.184,11432,3.184,11433,3.184,11434,3.184,11435,3.184,11436,3.184,11437,3.184,11438,5.065,11439,3.184,11440,3.089,11441,3.184,11442,4.193,11443,2.635,11444,3.089,11445,3.089,11446,3.184,11447,5.065,11448,3.184,11449,5.065,11450,3.184,11451,3.089,11452,3.184,11453,3.184,11454,3.184,11455,3.184,11456,3.184,11457,3.184,11458,3.089,11459,3.089]],["title/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.241,24146,6.113]],["body/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.29,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.237,26,2.564,27,0.422,29,0.641,30,0.001,31,0.471,32,0.134,33,0.383,35,0.962,39,3.325,52,6.805,95,0.141,99,1.691,101,0.011,103,0.001,104,0.001,148,0.825,158,3.097,180,5.134,228,1.943,231,1.867,242,4.428,277,1.2,339,2.46,400,2.46,433,1.031,652,1.707,711,3.47,1027,2.568,1080,4.152,1237,3.135,1312,5.643,1313,5.729,1314,6.154,1422,4.795,1426,5.621,1462,4.524,1468,5.585,1477,4.284,1478,4.459,1928,7.079,4970,5.501,9216,9.045,9261,6.817,10119,6.154,12506,6.154,19596,9.732,20190,11.096,20193,7.772,23787,9.443,24146,9.498,24147,8.39,24148,8.39]],["title/classes/UserMigrationIsNotEnabled.html",[0,0.241,24149,6.451]],["body/classes/UserMigrationIsNotEnabled.html",[0,0.337,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,8,1.357,27,0.379,30,0.001,35,1.116,52,6.504,95,0.108,101,0.012,103,0.001,104,0.001,148,0.957,290,2.309,703,2.986,1027,2.978,1087,4.492,1115,3.704,1237,3.441,1422,5.132,1423,5.977,1426,5.929,1468,5.977,1469,6.275,4970,5.455,7739,6.128,12501,6.87,13728,6.451,24149,11.002,24150,11.878,24151,9.733,24152,9.733,24153,9.733]],["title/injectables/UserMigrationService.html",[589,0.926,23971,5.86]],["body/injectables/UserMigrationService.html",[0,0.21,3,0.011,4,0.011,5,0.005,7,0.085,8,0.993,26,2.683,27,0.431,29,0.845,30,0.001,31,0.622,32,0.137,33,0.506,35,1.163,36,2.574,47,0.959,52,3.084,66,8.658,83,1.782,94,6.179,95,0.143,99,1.225,101,0.008,103,0,104,0,135,1.44,153,1.79,158,3.208,180,5.019,228,1.822,277,0.869,317,2.824,433,1.068,579,1.736,589,1.155,591,1.442,629,4.587,652,2.655,657,2.932,666,9.625,938,4.938,1027,1.86,1080,3.837,1328,4.619,1422,2.433,1712,4.666,2447,5.241,3900,3.208,4970,5.377,5147,7.16,5449,7.341,8114,7.473,8121,4.938,10098,8.755,11371,4.792,14358,9.406,14379,8.05,14955,5.115,14961,5.63,14962,5.335,17551,4.792,18096,5.63,19596,4.938,20197,9.395,20202,9.395,23971,7.312,24006,10.277,24075,5.63,24146,5.335,24154,8.691,24155,6.079,24156,6.079,24157,6.079,24158,8.691,24159,6.079,24160,11.709,24161,11.709,24162,6.079,24163,6.079,24164,6.079,24165,6.079,24166,8.691,24167,6.079,24168,6.079,24169,6.079,24170,6.079,24171,6.079]],["title/classes/UserMigrationStartedLoggable.html",[0,0.241,24088,6.113]],["body/classes/UserMigrationStartedLoggable.html",[0,0.31,2,0.947,3,0.017,4,0.017,5,0.008,7,0.125,8,1.29,26,2.629,27,0.44,29,0.685,30,0.001,31,0.504,32,0.111,33,0.41,35,1.029,39,3.43,52,6.582,95,0.138,99,1.808,101,0.011,103,0.001,104,0.001,148,0.882,180,5.56,228,2.028,242,4.735,290,2.679,339,2.631,400,2.631,433,1.102,652,1.825,1027,2.745,1115,3.414,1237,3.271,1422,4.948,1423,5.762,1426,5.761,1434,5.789,1853,2.943,4970,5.676,4982,8.267,4984,7.783,12506,6.581,15331,6.451,20270,7.874,24088,9.912,24172,11.449,24173,8.972,24174,8.972,24175,8.972]],["title/classes/UserMigrationSuccessfulLoggable.html",[0,0.241,24089,6.113]],["body/classes/UserMigrationSuccessfulLoggable.html",[0,0.312,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.294,26,2.633,27,0.441,29,0.688,30,0.001,31,0.506,32,0.112,33,0.412,35,1.033,39,3.437,52,6.284,95,0.138,99,1.816,101,0.012,103,0.001,104,0.001,148,0.886,180,5.308,228,2.034,242,4.756,290,2.138,339,2.642,385,6.153,400,2.642,433,1.107,652,1.833,1027,2.758,1115,3.429,1237,3.281,1422,4.958,1423,5.774,1426,5.771,1853,2.957,4970,5.688,4982,8.281,4984,7.799,12506,6.61,15331,6.48,16926,7.321,20266,8.347,20270,7.909,24089,9.94,24172,11.472,24176,9.012,24177,9.012]],["title/modules/UserModule.html",[252,1.839,3890,4.335]],["body/modules/UserModule.html",[0,0.279,3,0.015,4,0.015,5,0.007,30,0.001,95,0.153,101,0.01,103,0,104,0,252,3.104,254,2.903,255,3.082,256,3.159,257,3.148,258,3.137,259,4.27,260,4.369,264,9.544,265,6.157,268,8.641,269,4.131,270,3.103,271,3.04,276,4.131,277,1.154,279,3.346,703,2.476,1027,2.47,1524,10.189,1537,5.919,2070,4.351,3890,9.082,5449,8.551,6077,8.798,23651,11.168,24178,8.07,24179,8.07,24180,8.07,24181,8.07,24182,8.07,24183,7.475,24184,7.475,24185,8.07,24186,8.07]],["title/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.241,17024,6.113]],["body/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.286,2,0.871,3,0.015,4,0.015,5,0.007,7,0.115,8,1.223,26,2.548,27,0.417,29,0.63,30,0.001,31,0.464,32,0.102,33,0.377,35,0.946,47,0.981,48,5.894,59,2.565,95,0.132,99,1.663,101,0.011,103,0.001,104,0.001,148,0.811,228,2.134,231,1.847,233,2.558,244,5.826,290,1.958,339,2.42,347,5.501,433,1.315,436,2.438,652,2.417,703,2.532,1027,2.525,1080,2.861,1115,3.141,1237,3.101,1422,5.034,1423,5.541,1426,5.585,1462,4.449,1463,9.427,1468,5.541,1469,5.817,1470,4.625,1471,6.053,1472,4.588,1476,4.974,1477,4.213,1478,4.386,2617,6.664,3364,5.934,4249,6.335,5138,4.417,6281,5.549,7739,5.196,10098,8.114,10101,7.243,10107,8.222,10112,6.186,10416,5.47,17024,9.397,17044,7.243,24187,10.707,24188,10.707,24189,8.253,24190,8.253,24191,8.253]],["title/classes/UserParams.html",[0,0.241,699,5.658]],["body/classes/UserParams.html",[0,0.417,2,1.05,3,0.018,4,0.018,5,0.009,7,0.139,27,0.388,30,0.001,32,0.123,34,2.058,39,3.593,47,0.885,95,0.134,101,0.013,103,0.001,104,0.001,112,0.944,157,2.303,187,6.803,190,1.783,194,4.73,195,2.646,196,3.994,197,3.365,200,3.045,202,2.285,290,2.856,296,3.15,699,9.78,855,4.875,4197,6.06,24192,9.95,24193,9.95]],["title/classes/UserParentsEntity.html",[0,0.241,23547,5.658]],["body/classes/UserParentsEntity.html",[0,0.308,2,0.941,3,0.017,4,0.017,5,0.008,7,0.124,27,0.504,29,0.68,30,0.001,31,0.501,32,0.16,33,0.407,47,1.038,95,0.099,96,2.327,101,0.014,103,0.001,104,0.001,112,0.882,159,0.911,190,2.209,223,4.311,224,2.581,232,3.043,433,1.095,435,3.062,700,6.263,701,6.263,702,6.408,2712,5.706,11263,5.827,11264,6.291,11265,5.827,11266,6.291,11267,6.085,11268,6.537,23547,9.137,23919,11.711,24194,8.255,24195,11.358,24196,11.246,24197,8.912,24198,8.912]],["title/interfaces/UserParentsEntityProps.html",[159,0.712,24195,6.113]],["body/interfaces/UserParentsEntityProps.html",[0,0.326,3,0.017,4,0.017,5,0.008,7,0.131,30,0.001,32,0.156,47,1.065,95,0.105,96,2.463,101,0.015,103,0.001,104,0.001,112,0.914,159,0.965,161,2.248,223,4.116,224,2.733,232,2.553,700,6.567,701,6.567,702,6.719,2712,5.913,11263,6.169,11264,6.661,11265,6.169,11266,6.661,11267,6.442,11268,6.921,23547,7.665,23919,8.281,24194,8.74,24195,11.099]],["title/interfaces/UserProperties.html",[159,0.712,23558,5.86]],["body/interfaces/UserProperties.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.181,30,0.001,32,0.166,33,0.632,34,0.808,47,1.042,83,3.923,95,0.124,96,1.234,101,0.011,103,0,104,0,112,0.907,122,2.03,135,1.139,148,0.465,153,1.415,159,0.738,161,1.126,195,2.94,196,4.403,205,1.783,219,2.607,223,4.226,224,1.369,225,2.765,226,2.149,229,1.864,231,0.816,232,1.279,233,1.465,290,1.712,331,4.684,579,1.349,692,5.183,700,5.38,701,5.38,702,5.505,703,3.658,704,5.676,711,1.369,874,2.767,886,1.497,1078,4.29,1198,6.357,1237,1.369,1821,2.238,1826,4.496,1827,4.148,1835,2.429,2942,4.059,2946,2.53,2950,4.011,3418,2.129,3436,6.127,4441,2.793,4582,7.201,4588,1.619,4593,7.085,4654,3.808,4676,3.726,4677,3.543,5366,3.84,5367,3.84,5368,3.84,5376,5.408,5467,8.874,5727,3.364,6622,3.628,7549,4.441,7552,2.942,7573,2.91,7574,2.82,7895,2.849,7896,2.942,11258,8.096,11263,3.09,11264,3.337,11265,3.09,11266,3.337,11267,3.227,11268,3.467,11269,3.977,11270,4.148,11596,8.096,11656,3.84,11660,3.977,13950,3.977,15253,7.201,15351,3.543,17952,3.84,17967,3.84,17972,3.84,18897,3.726,19203,3.977,19204,3.977,19206,3.977,19210,6.071,19930,3.726,20256,7.905,22286,3.726,23528,4.378,23529,8.314,23530,8.096,23531,8.314,23547,9.032,23554,4.378,23555,6.683,23556,6.683,23557,6.683,23558,7.363,23559,3.977,23560,4.378,23561,4.378,23562,3.977,23563,4.378,23564,3.977,23565,4.378,23566,3.977,23567,4.378,23568,4.378,23569,4.378,23570,4.378,23571,6.683]],["title/injectables/UserRepo.html",[268,4.242,589,0.926]],["body/injectables/UserRepo.html",[0,0.122,3,0.007,4,0.007,5,0.003,7,0.049,8,0.656,10,2.307,12,2.598,18,2.877,26,2.32,27,0.473,29,0.894,30,0.001,31,0.658,32,0.145,33,0.535,34,1.426,35,1.37,36,2.782,39,2.314,40,2.778,47,0.819,48,3.908,49,1.332,55,0.717,56,1.666,59,1.784,70,1.794,72,2.636,95,0.124,96,1.499,97,1.426,98,2.131,99,0.712,101,0.005,103,0,104,0,129,2.146,130,0.957,135,1.713,142,2.078,145,3.442,148,1.059,153,0.928,158,2.119,193,2.504,195,1.261,197,1.604,205,0.721,206,1.873,224,1.024,231,0.99,252,1.515,268,3.496,277,0.506,290,2.557,317,2.937,331,3.704,393,1.751,415,4.752,436,2.463,478,0.991,532,4.296,540,3.258,569,1.099,571,2.868,579,1.01,589,0.763,591,0.839,595,1.341,624,2.651,652,1.474,657,2.548,692,3.888,700,1.711,701,1.711,702,2.842,703,2.558,704,2.931,728,6.001,730,6.711,732,5.317,734,2.419,735,2.598,736,3.567,756,1.41,759,2.11,760,2.154,761,2.131,762,2.154,764,2.131,765,2.154,766,1.893,770,2.227,771,2.543,781,3.104,789,3.965,790,3.86,863,1.95,870,1.935,1065,1.741,1072,5.996,1086,3.449,1087,3.344,1088,3.395,1089,3.609,1090,1.921,1091,2.344,1094,2.651,1393,5.226,1454,2.177,1829,1.516,1831,2.344,2038,3.658,2232,3.271,2472,3.46,2938,4.794,3418,4.13,3436,3.723,3750,3.919,4588,1.966,4832,2.873,5136,6.078,5138,1.893,5215,3.271,5264,5.115,5953,5.527,6203,4.617,7638,2.131,7704,2.975,7807,2.714,7924,5.133,7934,4.303,7953,2.594,7954,2.594,7996,4.406,10603,4.303,11596,2.714,12104,3.275,12210,6.359,12836,3.104,12837,3.104,13751,6.775,13943,2.543,13965,3.104,13972,9.069,14124,2.788,14178,2.788,14199,3.275,14265,3.275,14276,2.975,14277,3.275,14279,3.275,14284,3.104,14285,3.275,15193,2.594,15229,4.663,22427,5.038,22429,5.038,22678,5.317,23654,5.317,23660,5.317,23680,3.275,23683,3.275,23686,3.275,23687,3.275,23692,3.275,23694,3.275,24199,3.536,24200,5.317,24201,5.317,24202,7.246,24203,5.317,24204,5.317,24205,3.536,24206,5.317,24207,3.536,24208,3.536,24209,3.536,24210,3.536,24211,3.536,24212,5.317,24213,3.536,24214,3.536,24215,3.536,24216,3.536,24217,3.536,24218,3.536,24219,5.317,24220,3.536,24221,3.536,24222,5.74,24223,5.74,24224,5.74,24225,3.536,24226,3.536,24227,7.246,24228,3.536,24229,3.536,24230,3.536,24231,3.536,24232,3.536,24233,2.975,24234,5.74,24235,3.536,24236,3.536,24237,5.74,24238,3.536,24239,3.536,24240,5.74,24241,5.74,24242,5.74,24243,5.74,24244,5.74,24245,5.74,24246,5.74,24247,7.246,24248,3.536,24249,3.536,24250,3.536,24251,3.536,24252,3.536,24253,3.536,24254,5.317,24255,3.536,24256,3.536,24257,5.74,24258,3.536,24259,3.536]],["title/injectables/UserRule.html",[589,0.926,1880,5.86]],["body/injectables/UserRule.html",[0,0.282,3,0.015,4,0.015,5,0.007,7,0.114,8,1.214,27,0.46,29,0.902,30,0.001,31,0.664,32,0.155,33,0.54,35,1.218,95,0.139,101,0.01,103,0.001,104,0.001,122,2.595,135,1.537,148,1.044,183,4.512,205,2.801,228,1.464,277,1.166,290,3.439,400,2.39,433,1.001,478,2.284,589,1.412,591,1.934,653,3.353,711,3.855,1237,2.361,1775,6.851,1801,8.193,1838,7.545,1880,8.937,1982,6.769,1986,6.538,1993,5.33,2619,6.769,3711,5.403,3714,6.854,3716,5.403,3717,7.04,3718,5.862,24260,8.152,24261,8.152,24262,8.152,24263,8.152,24264,10.622]],["title/classes/UserScope.html",[0,0.241,23670,6.113]],["body/classes/UserScope.html",[0,0.213,2,0.651,3,0.011,4,0.011,5,0.006,7,0.086,8,1.003,26,2.257,27,0.518,29,0.961,30,0.001,31,0.707,32,0.164,33,0.575,35,1.444,59,3.659,83,4.13,95,0.114,99,1.242,101,0.008,103,0,104,0,112,0.688,122,2.537,125,2.804,129,1.825,130,1.668,148,1.157,197,1.722,231,1.514,279,2.555,290,1.462,365,2.737,436,3.477,478,1.726,569,1.915,652,2.489,703,1.891,2479,6.04,3109,6.195,4588,3.501,6288,5.323,7007,5.817,7008,5.817,7009,5.817,7014,5.817,7015,5.817,7016,4.144,7017,4.085,7018,4.144,7019,4.144,7028,4.085,7029,5.817,7030,4.144,7031,4.085,7032,4.144,7033,4.085,7034,7.802,7512,7.349,7944,5.007,9534,7.703,12026,7.703,12037,7.703,15694,5.409,20248,10.903,20256,6.578,20443,9.904,23530,7.846,23670,11.912,23676,8.129,24265,6.163,24266,8.776,24267,8.776,24268,6.163,24269,8.776,24270,6.163,24271,8.776,24272,6.163,24273,8.776,24274,6.163,24275,8.776,24276,6.163]],["title/injectables/UserService.html",[589,0.926,5449,4.198]],["body/injectables/UserService.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.052,8,0.683,12,2.704,18,2.994,26,2.654,27,0.497,29,0.974,30,0.001,31,0.717,32,0.158,33,0.583,34,1.281,35,1.448,36,2.944,39,2.61,40,2.892,47,0.938,48,4.023,59,1.155,66,3.906,94,1.885,95,0.146,99,0.749,101,0.005,102,1.975,103,0,104,0,122,1.554,135,1.717,142,1.345,148,1.226,153,0.601,161,0.885,185,2.047,195,2.067,208,2.34,228,1.689,268,6.118,277,0.531,279,1.541,290,2.919,317,3.07,340,2.34,365,1.65,412,1.65,433,0.734,478,1.041,540,2.848,569,1.857,579,1.061,589,0.794,591,0.882,595,1.409,634,6.125,651,1.885,652,2.234,657,2.66,666,8.106,702,1.84,704,1.897,711,2.171,869,2.925,938,3.019,987,3.442,1198,2.24,1537,2.726,1712,2.853,1823,3.262,1826,3.07,1853,1.219,1998,4.71,2370,2.083,2444,4.218,2456,4.08,2513,2.118,2953,4.347,3418,3.375,3469,2.499,3470,3.906,4582,7.21,5026,5.388,5033,2.853,5129,8.106,5150,3.127,5449,3.601,6686,3.051,6854,5.244,6870,5.244,7924,5.284,8102,2.785,8114,6.933,8117,4.71,8120,4.08,8126,3.262,11275,5.244,15392,5.244,15395,5.244,17804,5.534,18820,3.262,20505,3.019,23607,5.534,23651,8.885,23657,7.951,23669,3.442,23681,3.442,23737,6.305,23757,3.262,24111,3.262,24183,3.442,24184,3.442,24200,5.534,24201,5.534,24203,5.534,24204,5.534,24206,5.534,24212,5.534,24254,5.534,24277,3.716,24278,5.975,24279,5.975,24280,5.975,24281,5.975,24282,5.534,24283,3.716,24284,5.975,24285,3.716,24286,3.716,24287,3.716,24288,3.716,24289,3.716,24290,3.716,24291,5.975,24292,3.716,24293,5.975,24294,3.716,24295,3.716,24296,5.975,24297,3.716,24298,5.975,24299,3.716,24300,5.534,24301,3.716,24302,5.534,24303,8.584,24304,3.716,24305,5.975,24306,3.716,24307,5.975,24308,3.716,24309,3.716,24310,3.716,24311,3.716,24312,3.716,24313,3.716,24314,3.716,24315,3.716,24316,3.716,24317,3.716,24318,3.716,24319,3.716,24320,3.716,24321,3.716,24322,5.975,24323,3.716,24324,3.716,24325,3.716,24326,3.716,24327,3.716,24328,5.975,24329,3.716,24330,3.716,24331,3.716,24332,3.716,24333,3.716,24334,3.442,24335,3.716,24336,3.442,24337,3.716,24338,5.975,24339,3.716]],["title/injectables/UserUc.html",[589,0.926,14053,5.658]],["body/injectables/UserUc.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.104,8,1.144,26,2.687,27,0.471,29,0.923,30,0.001,31,0.679,32,0.15,33,0.552,35,1.296,36,2.554,39,2.779,95,0.148,99,1.502,101,0.01,103,0,104,0,135,1.471,148,0.984,153,1.206,161,1.776,195,2.2,208,4.695,228,1.798,268,7.905,277,1.066,279,3.091,290,2.867,317,2.808,326,4.302,400,2.186,433,0.916,478,2.089,569,3.112,579,2.129,589,1.331,591,1.769,634,7.692,651,3.783,652,2.458,657,2.585,837,3.692,1080,3.471,1823,6.544,1826,5.145,1998,7.893,2953,4.325,4580,10.168,4582,8.251,13350,6.906,14053,8.134,18820,6.544,20505,6.057,23757,6.544,24282,9.274,24300,9.274,24302,9.274,24334,6.906,24336,6.906,24340,7.456,24341,10.012,24342,7.456,24343,10.012,24344,7.456,24345,7.456,24346,7.456,24347,7.456,24348,7.456,24349,7.456]],["title/classes/UsersList.html",[0,0.241,7568,5.86]],["body/classes/UsersList.html",[0,0.216,2,0.82,3,0.007,4,0.007,5,0.004,7,0.15,26,2.186,27,0.303,30,0.001,31,0.436,32,0.133,34,1.652,39,2.155,47,0.949,62,2.339,83,3.016,95,0.137,96,1.023,101,0.01,103,0,104,0,112,0.489,122,1.293,125,2.45,129,2.299,134,1.388,135,1.721,148,1.3,153,1.811,155,1.251,157,1.797,159,0.401,195,2.46,196,3.205,197,1.095,205,1.271,219,3.439,223,3.489,224,1.135,225,2.389,226,1.782,229,1.546,231,0.676,232,1.061,233,1.215,290,2.44,304,1.941,371,2.083,403,3.183,433,0.481,458,1.563,467,1.815,526,2.113,540,1.3,569,1.938,578,2.054,579,1.78,595,1.486,615,3.797,652,1.8,692,4.125,700,4.283,701,4.283,703,1.913,711,3.425,756,1.563,774,3.298,886,2.458,962,2.767,1237,1.135,1312,2.937,1821,2.952,1829,2.672,1835,2.014,1926,2.387,2033,3.356,2164,1.818,2184,3.503,2942,4.771,2946,5.506,2950,4.316,2958,2.767,2960,2.468,3418,3.986,3469,2.635,3470,2.562,3649,2.234,3752,2.529,3907,4.076,4049,2.767,4094,2.468,4118,4.133,4119,4.133,4174,2.635,4441,2.316,4588,1.342,4589,5.481,4604,3.298,4638,5.695,4664,2.808,4739,5.01,5466,2.253,5727,2.907,6206,2.253,6207,3.72,6208,2.635,6211,3.973,6230,4.133,6231,2.529,6238,2.562,6251,2.676,6270,4.193,7413,2.938,7469,2.818,7505,3.44,7506,6.495,7507,5.301,7508,5.583,7509,4.193,7510,4.463,7511,2.719,7512,5.583,7513,4.948,7514,4.401,7515,5.695,7517,3.44,7519,3.44,7522,3.44,7524,3.44,7526,6.814,7529,3.44,7531,3.44,7540,3.44,7544,3.44,7545,5.695,7546,3.44,7547,3.44,7548,3.44,7549,3.838,7550,4.573,7551,3.184,7552,2.44,7553,2.215,7554,5.065,7555,5.065,7556,3.44,7557,3.184,7558,2.818,7559,3.44,7560,3.44,7561,3.298,7562,2.938,7563,3.44,7564,3.44,7565,3.089,7566,3.44,7567,3.881,7568,10.751,7569,5.583,7570,3.184,7571,4.133,7572,2.339,7573,2.413,7574,2.339,7575,3.184,7576,3.44,7577,3.44,7578,5.472,7579,5.472,7580,5.472,7581,7.189,7582,5.065,7583,4.786,7584,5.472,7585,4.673,7586,4.786,7587,2.938,7588,3.44,7589,3.44,7590,3.44,7591,3.44,7592,3.44,7593,5.472,7594,3.44,7595,3.44,7596,3.44,7597,3.44,7598,3.44,7599,3.44,7600,3.44,7601,6.532,7602,6.814,7603,3.44,7604,3.44,7605,3.44,7606,3.44,7607,3.44,7608,2.875,7609,3.44,7610,3.44,7611,3.44,7612,3.44,7613,3.44,7614,3.44,7615,3.298,7616,3.44,7617,6.814,7618,5.472,7619,3.44,7620,3.44,7621,3.184,7622,2.719,7623,3.44,7624,6.307,7625,3.44,7626,3.44,7627,3.44,7628,3.44,24350,3.919,24351,3.919,24352,3.919]],["title/classes/ValidationError.html",[0,0.241,338,4.287]],["body/classes/ValidationError.html",[0,0.273,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.188,27,0.524,29,0.603,30,0.001,31,0.444,32,0.173,33,0.531,35,0.905,47,0.969,55,1.6,59,2.454,95,0.116,101,0.01,103,0,104,0,112,0.816,155,3.946,190,2.303,228,2.504,231,1.795,233,2.448,277,1.129,338,6.403,402,2.84,433,0.97,436,3.897,868,5.95,871,2.905,998,5.508,1078,5.417,1080,4.454,1115,5.021,1354,8.696,1355,7.733,1356,7.605,1360,5.233,1361,4.539,1362,5.233,1363,5.233,1364,5.233,1365,5.233,1366,5.233,1367,4.86,1368,4.462,1369,6.224,1370,6.643,1373,4.809,1374,5.095,1375,6.061,1796,6.643,24353,7.896,24354,7.896,24355,7.313]],["title/classes/ValidationErrorDetailResponse.html",[0,0.241,1385,6.113]],["body/classes/ValidationErrorDetailResponse.html",[0,0.359,2,1.097,3,0.019,4,0.019,5,0.009,27,0.405,29,0.793,30,0.001,31,0.583,32,0.129,33,0.475,47,1.039,101,0.013,103,0.001,104,0.001,228,1.865,433,1.276,1080,4.282,1370,8.74,1381,8.867,1385,10.842,6388,8.572,24356,12.353,24357,10.387,24358,10.387,24359,10.387]],["title/classes/ValidationErrorLoggableException.html",[0,0.241,19743,6.113]],["body/classes/ValidationErrorLoggableException.html",[0,0.377,2,0.895,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,27,0.425,29,0.647,30,0.001,31,0.476,32,0.135,33,0.387,35,0.972,47,0.623,55,1.718,95,0.142,101,0.011,103,0.001,104,0.001,125,2.595,135,1.418,148,1.071,195,1.863,200,2.595,228,1.523,231,1.88,233,2.629,277,1.213,338,7.821,339,2.486,400,2.486,433,1.042,1115,4.146,1237,3.156,1312,5.671,1357,7.854,1359,8.852,1422,4.819,1426,5.643,1462,4.572,1468,5.924,1477,4.329,1478,4.506,2125,4.444,12509,6.684,12510,6.889,16971,11.151,18293,7.442,19743,9.563,24355,7.854,24360,12.039,24361,12.039,24362,8.479,24363,10.895,24364,8.479,24365,10.895,24366,8.479,24367,10.895,24368,8.479]],["title/modules/ValidationModule.html",[252,1.839,7463,6.113]],["body/modules/ValidationModule.html",[0,0.36,3,0.019,4,0.019,5,0.009,30,0.001,95,0.147,101,0.013,103,0.001,104,0.001,252,3.266,254,3.746,259,3.782,277,1.489,685,6.041,7463,10.859,7474,11.46,10027,7.994,10031,7.994,12723,10.859,24369,10.414,24370,10.414,24371,10.414]],["title/entities/VideoConference.html",[205,1.419,7567,4.335]],["body/entities/VideoConference.html",[0,0.369,3,0.015,4,0.015,5,0.007,7,0.175,27,0.461,30,0.001,32,0.155,47,0.783,95,0.119,96,2.137,101,0.016,103,0.001,104,0.001,112,0.929,122,2.454,190,2.122,205,2.17,206,2.67,221,6.135,223,4.152,224,2.371,225,4.081,226,3.722,228,1.47,229,3.228,231,1.412,232,2.215,233,2.537,540,4.16,886,2.592,3011,5.729,3757,6.135,4956,8.175,5466,6.122,5854,6.65,7567,6.629,7881,7.557,7907,5.778,9599,4.665,9601,5.425,9619,5.68,9620,5.68,9621,6.004,16659,6.452,16815,9.617,24372,11.613,24373,7.582,24374,9.397,24375,8.185,24376,8.185,24377,8.185,24378,7.184,24379,7.582,24380,7.582,24381,6.65,24382,6.887,24383,6.65,24384,6.452,24385,9.864,24386,7.582,24387,7.582,24388,7.582,24389,7.582,24390,7.582]],["title/classes/VideoConference-1.html",[0,0.2,756,2.309,7567,3.604]],["body/classes/VideoConference-1.html",[0,0.313,2,0.953,3,0.017,4,0.017,5,0.008,7,0.126,27,0.507,29,0.69,30,0.001,31,0.507,32,0.161,33,0.566,95,0.138,100,3.15,101,0.012,103,0.001,104,0.001,112,0.89,289,7.192,433,1.11,595,3.425,693,6.217,2138,7.07,2148,6.376,2154,5.501,2324,10.495,4295,9.543,7567,8.339,9599,5.147,9601,5.987,9611,6.376,9613,7.338,24391,11.758,24392,9.032,24393,11.342,24394,9.032,24395,9.517,24396,9.032,24397,8.366,24398,8.366,24399,9.032,24400,9.032,24401,8.366]],["title/modules/VideoConferenceApiModule.html",[252,1.839,20583,5.86]],["body/modules/VideoConferenceApiModule.html",[0,0.291,3,0.016,4,0.016,5,0.008,30,0.001,95,0.15,101,0.011,103,0.001,104,0.001,252,3.165,254,3.025,255,3.211,256,3.292,257,3.28,258,3.268,259,4.355,260,3.124,269,4.243,270,3.233,271,3.167,273,5.294,274,4.511,276,4.243,277,1.202,314,3.2,1856,7.649,2138,4.437,2680,3.861,3036,3.94,3890,8.354,3900,4.437,9599,4.792,9601,5.573,20583,12.267,20585,6.831,24402,8.408,24403,8.408,24404,8.408,24405,11.779,24406,11.292,24407,11.292,24408,11.292,24409,11.292,24410,10.089,24411,8.408]],["title/classes/VideoConferenceBaseResponse.html",[0,0.241,9602,5.49]],["body/classes/VideoConferenceBaseResponse.html",[0,0.396,2,1.342,3,0.014,4,0.014,5,0.007,7,0.106,27,0.476,29,0.583,30,0.001,31,0.429,32,0.151,33,0.523,47,0.841,95,0.113,101,0.015,102,6.486,103,0,104,0,110,2.656,112,0.798,122,2.373,153,1.974,231,1.756,289,6.638,402,4.117,412,5.42,433,0.939,540,2.535,595,2.897,693,5.944,871,4.49,1076,4.869,2127,4.473,2138,6.708,2512,7.282,7243,4.15,9109,5.727,9597,8.023,9598,10.019,9599,7.899,9600,6.706,9601,8.424,9602,10.518,9603,9.62,9607,9.297,9610,6.428,9611,5.393,9612,6.428,9613,6.207,9614,6.706,9615,8.268,9616,8.932,9617,6.428,9618,5.494,9619,5.301,9620,5.301,9621,5.604,9622,6.428,24412,10.177,24413,7.64,24414,7.64]],["title/classes/VideoConferenceConfiguration.html",[0,0.241,24415,6.113]],["body/classes/VideoConferenceConfiguration.html",[0,0.3,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.43,30,0.001,32,0.137,47,1.023,95,0.136,101,0.011,103,0.001,104,0.001,112,0.866,122,2.29,129,3.601,130,2.989,159,0.886,311,5.52,467,3.937,1268,6.799,1282,8.707,2138,6.418,2154,8.238,2219,3.883,2220,4.367,2221,4.216,2334,8.973,2335,9.694,2337,9.879,4259,5.071,5592,9.694,7567,7.569,9599,6.93,13810,10.673,13812,10.231,15047,7.602,17201,8.023,20585,9.879,24415,9.694,24416,11.045,24417,11.045,24418,11.045,24419,11.045,24420,10.231]],["title/controllers/VideoConferenceController.html",[314,2.65,24410,5.86]],["body/controllers/VideoConferenceController.html",[0,0.132,3,0.016,4,0.007,5,0.003,7,0.053,8,0.698,27,0.34,29,0.847,30,0.001,31,0.49,32,0.137,33,0.399,35,1.399,36,2.345,95,0.131,100,2.663,101,0.005,103,0,104,0,125,3.059,135,1.489,148,0.601,153,1.645,157,3.282,159,0.391,190,1.564,193,3.805,194,4.36,202,0.878,228,1.567,274,1.591,277,0.547,290,2.632,314,1.455,316,1.84,317,2.639,325,6.136,326,2.906,339,3.253,340,6.987,349,6.287,374,2.654,379,3.101,388,4.089,390,5.584,391,7.978,392,1.99,395,2.046,398,2.061,401,4.889,402,4.701,412,4.928,433,0.47,579,1.091,652,1.774,657,1.995,693,5.046,734,2.576,876,4.967,1080,1.325,1368,2.16,1375,6.697,1390,7.304,1434,5.63,1725,2.698,2105,7.34,2138,5.035,2233,6.757,2277,8.783,2313,8.79,2328,6.406,2343,6.273,2350,5.364,2370,4.889,2588,3.848,2990,9.014,3036,1.791,3102,3.684,3240,1.964,3364,7.978,4401,2.466,7642,2.304,9109,6.539,9216,2.533,9599,7.847,9601,8.788,12067,6.399,12519,8.081,12832,8.081,14347,3.355,20500,8.783,24374,6.539,24406,6.425,24407,6.425,24408,6.425,24409,6.425,24410,5.142,24421,8.836,24422,3.822,24423,3.822,24424,3.54,24425,12.201,24426,10.875,24427,3.822,24428,9.423,24429,3.822,24430,8.081,24431,3.822,24432,3.54,24433,3.822,24434,3.822,24435,3.822,24436,3.822,24437,3.822,24438,3.822,24439,6.111,24440,3.822,24441,3.822,24442,3.822,24443,7.087,24444,3.822,24445,6.111,24446,3.822,24447,3.216,24448,3.216,24449,3.105,24450,4.691,24451,4.691,24452,6.425,24453,6.425,24454,3.54,24455,3.822,24456,3.822,24457,3.54,24458,3.822,24459,6.111,24460,3.822,24461,8.724,24462,8.724,24463,3.822,24464,3.822,24465,3.822,24466,3.822,24467,3.822,24468,3.822,24469,3.822,24470,3.822,24471,3.822,24472,3.822,24473,3.822]],["title/classes/VideoConferenceCreateParams.html",[0,0.241,24443,5.658]],["body/classes/VideoConferenceCreateParams.html",[0,0.355,2,0.817,3,0.014,4,0.014,5,0.007,7,0.108,27,0.478,30,0.001,32,0.152,33,0.621,47,0.755,95,0.128,101,0.01,103,0,104,0,110,4.266,112,0.805,122,2.72,129,3.412,157,1.792,159,0.792,171,6.905,190,2.199,197,2.164,199,6.767,200,2.37,201,4.962,202,1.778,271,3.868,300,4.892,1115,3.908,1361,4.452,1434,6.626,1883,3.854,2138,6.738,2161,7.636,2345,6.254,2831,4.111,2934,8.64,3418,4.625,9599,7.629,9618,8.284,9619,7.994,9620,7.994,10311,6.291,10318,7.172,16379,9.511,23148,7.882,24443,8.342,24474,11.825,24475,11.521,24476,11.521,24477,7.743,24478,7.743,24479,10.269,24480,10.269,24481,10.269,24482,10.269,24483,10.269,24484,7.743,24485,7.743,24486,7.743,24487,6.515,24488,6.796,24489,6.796,24490,6.796,24491,7.743]],["title/injectables/VideoConferenceCreateUc.html",[589,0.926,24406,5.86]],["body/injectables/VideoConferenceCreateUc.html",[0,0.179,3,0.01,4,0.01,5,0.005,7,0.072,8,0.882,26,2.416,27,0.448,29,0.878,30,0.001,31,0.67,32,0.142,33,0.526,35,1.258,36,2.431,47,0.845,95,0.14,99,1.042,100,1.803,101,0.007,103,0,104,0,125,2.201,135,1.497,148,0.508,153,1.249,159,0.529,228,1.659,277,0.739,290,1.832,317,2.71,331,3.429,433,0.949,540,4.35,569,1.607,579,1.476,589,1.026,591,1.227,610,2.039,629,4.075,652,2.743,657,2.917,734,3.254,803,4.789,813,2.898,876,2.692,980,2.852,997,3.219,1328,4.104,1616,8.995,1853,1.696,1962,3.086,1995,3.793,2033,1.961,2137,5.788,2138,6.292,2142,5.552,2154,3.149,2155,4.076,2160,4.538,2200,10.097,2223,8.623,2237,4.201,2265,4.538,2299,8.645,2324,5.927,2326,8.831,2465,3.056,2570,3.337,2681,3.086,3900,2.729,4362,3.183,4588,1.771,5147,6.523,5449,7.186,6288,5.184,7567,3.219,7875,3.183,8114,4.194,9599,6.794,15688,4.789,17551,4.076,20496,10.362,20500,9.791,21878,4.201,24374,9.56,24384,4.076,24406,6.497,24492,10.031,24493,5.171,24494,7.721,24495,9.241,24496,7.721,24497,7.721,24498,4.351,24499,9.686,24500,5.171,24501,7.721,24502,5.171,24503,7.721,24504,5.171,24505,5.171,24506,5.171,24507,7.721,24508,5.171,24509,7.721,24510,5.171,24511,4.351,24512,5.171,24513,5.171,24514,7.775,24515,5.171,24516,4.538,24517,4.538,24518,5.171,24519,4.789,24520,7.775,24521,4.789,24522,4.538,24523,5.171,24524,5.171,24525,9.241,24526,5.171,24527,5.171,24528,5.171,24529,5.171,24530,5.171,24531,5.171,24532,4.538,24533,5.171,24534,5.171,24535,4.789]],["title/classes/VideoConferenceDO.html",[0,0.241,24536,5.49]],["body/classes/VideoConferenceDO.html",[0,0.378,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.513,29,0.65,30,0.001,31,0.478,32,0.163,33,0.551,34,1.868,47,0.886,95,0.122,101,0.014,103,0.001,104,0.001,112,0.857,122,2.501,231,1.885,433,1.046,436,2.515,540,4.002,1770,3.409,1852,7.52,3011,5.512,5854,6.918,6696,6.246,7881,7.271,7907,6.011,8220,6.536,8223,8.612,8224,6.712,9599,4.853,9618,6.123,9619,5.908,9620,5.908,9621,6.246,16659,6.712,20501,9.509,24381,6.918,24382,7.164,24383,6.918,24384,6.712,24532,7.473,24536,10.374,24537,12.189,24538,7.887,24539,10.925,24540,10.707,24541,8.515,24542,8.515,24543,7.887,24544,7.887,24545,7.473,24546,7.887,24547,7.887,24548,7.887]],["title/controllers/VideoConferenceDeprecatedController.html",[314,2.65,24549,6.113]],["body/controllers/VideoConferenceDeprecatedController.html",[0,0.154,3,0.018,4,0.008,5,0.004,7,0.062,8,0.786,10,1.784,27,0.328,29,0.828,30,0.001,31,0.473,32,0.171,33,0.384,35,1.297,36,2.291,47,0.881,95,0.139,100,3.304,101,0.006,102,4.472,103,0,104,0,135,1.233,148,0.827,157,3.161,159,0.454,190,1.508,194,4.26,202,1.019,228,0.797,274,1.848,277,0.635,290,2.572,314,3.202,316,2.136,317,2.595,325,6.069,326,3.202,333,4.623,337,6.674,339,3.179,340,6.827,342,7.088,349,6.218,374,2.985,379,3.488,388,1.903,390,5.547,391,7.681,392,2.311,395,2.376,398,2.393,400,1.302,401,4.716,402,4.409,412,3.053,595,1.683,657,2.344,693,4.93,734,2.897,1312,5.327,1390,7.273,1434,4.437,1725,3.134,2138,5.001,2148,3.134,2154,2.704,2277,5.278,2313,6.95,2328,5.298,2343,6.813,2350,6.034,2370,4.716,2512,4.103,2513,3.918,2681,6.748,2953,6.559,2990,8.808,3036,2.08,3240,2.281,3242,2.43,3364,7.796,4029,3.031,6288,5.277,7567,5.238,9597,6.633,9599,7.472,9601,8.124,9602,3.499,9618,3.192,9619,3.08,9620,3.08,10020,8.323,11298,10.547,20501,9.662,24395,3.408,24410,5.785,24421,8.777,24424,4.112,24428,10.042,24430,7.794,24432,4.112,24443,7.698,24450,6.459,24451,5.278,24454,4.112,24487,3.735,24488,3.896,24489,3.896,24490,3.896,24549,6.034,24550,4.439,24551,8.415,24552,4.439,24553,4.439,24554,4.439,24555,4.439,24556,4.439,24557,4.439,24558,4.439,24559,4.439,24560,3.896,24561,4.439,24562,6.368,24563,4.439,24564,4.112,24565,4.439,24566,4.439,24567,4.439,24568,8.415,24569,8.415,24570,4.439,24571,6.875,24572,4.439,24573,3.735,24574,4.439,24575,4.112,24576,4.112,24577,4.112,24578,4.439,24579,4.439,24580,4.439,24581,4.439,24582,4.439,24583,4.439,24584,4.439]],["title/injectables/VideoConferenceEndUc.html",[589,0.926,24407,5.86]],["body/injectables/VideoConferenceEndUc.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.097,8,1.091,26,2.379,27,0.372,29,0.729,30,0.001,31,0.536,32,0.118,33,0.436,35,0.797,36,2.018,39,1.93,47,0.702,95,0.15,99,1.401,100,2.424,101,0.009,103,0,104,0,135,1.726,148,0.683,153,1.764,228,1.958,277,0.994,289,4.033,290,2.265,317,2.359,433,1.173,578,3.644,579,1.985,589,1.269,591,1.649,610,2.742,652,2.218,657,2.907,693,3.162,813,3.896,980,3.835,1853,2.281,1962,4.149,1995,5.1,2033,2.637,2088,2.98,2137,8.174,2138,5.756,2142,4.999,2148,4.908,2154,4.234,2155,5.48,2223,8.8,2237,5.648,2324,9.012,2326,9.759,2328,6.012,2681,4.149,3900,3.669,5147,4.908,5449,7.848,6288,4.772,7567,7.308,7875,4.28,8114,5.186,9599,6.215,17551,5.48,20496,8.86,20500,9.012,20584,5.648,21878,5.648,24395,5.337,24407,8.034,24448,5.85,24449,5.648,24492,9.176,24498,5.85,24499,10.578,24511,5.85,24514,8.034,24516,6.102,24517,6.102,24520,8.034,24522,6.102,24535,6.44,24585,6.952,24586,6.952,24587,9.548,24588,6.952,24589,6.102,24590,5.85,24591,6.102,24592,6.952,24593,6.952,24594,6.952,24595,6.44,24596,6.44]],["title/classes/VideoConferenceInfo.html",[0,0.241,24450,5.346]],["body/classes/VideoConferenceInfo.html",[0,0.313,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.507,29,0.691,30,0.001,31,0.509,32,0.161,33,0.414,47,0.665,95,0.138,100,3.157,101,0.012,103,0.001,104,0.001,112,0.891,159,0.926,190,2.036,221,6.785,223,2.821,231,1.96,433,1.112,436,3.666,540,4.118,2138,5.994,2154,5.513,2299,7.136,3011,5.19,4295,9.556,7332,7.945,7567,8.515,7881,6.846,9599,7.073,9601,6,9621,6.64,16815,7.354,24374,9.303,24391,9.968,24450,10.291,24597,9.053,24598,9.053,24599,9.053,24600,9.053,24601,9.053,24602,9.053]],["title/classes/VideoConferenceInfoResponse.html",[0,0.241,24452,5.86]],["body/classes/VideoConferenceInfoResponse.html",[0,0.298,2,0.91,3,0.016,4,0.016,5,0.008,7,0.12,27,0.473,29,0.658,30,0.001,31,0.484,32,0.15,33,0.394,95,0.135,101,0.011,103,0.001,104,0.001,112,0.864,157,2.809,190,1.974,202,1.98,289,7.663,296,3.175,433,1.06,540,4.383,868,4.151,886,2.731,2138,6.748,2301,6.799,3200,5.147,3201,5.162,9109,6.465,9598,10.08,9599,8.066,9601,8.955,9603,8.683,9607,11.157,9610,7.257,9611,6.088,9612,7.257,9621,6.326,9622,7.257,23786,10.203,24452,11.116,24603,10.211,24604,8.625,24605,7.989]],["title/injectables/VideoConferenceInfoUc.html",[589,0.926,24408,5.86]],["body/injectables/VideoConferenceInfoUc.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.081,8,0.966,26,2.203,27,0.387,29,0.758,30,0.001,31,0.558,32,0.123,33,0.454,35,0.969,36,2.298,95,0.146,99,1.178,100,2.04,101,0.007,103,0,104,0,122,1.213,135,1.683,148,0.831,153,1.758,159,0.598,228,1.783,277,0.836,289,4.903,290,2.005,317,2.601,433,1.038,540,4.29,579,1.67,589,1.124,591,1.387,610,2.307,629,4.461,652,2.445,657,2.957,693,3.844,813,3.278,871,4.001,980,3.226,1328,4.492,1853,1.919,1962,3.49,1995,4.29,2033,2.218,2088,2.507,2137,7.44,2138,5.739,2142,4.205,2154,3.562,2155,4.61,2223,8.646,2237,6.867,2299,4.61,2324,8.347,2326,9.228,2331,7.829,2681,3.49,3900,3.087,5147,7.007,5449,7.471,6288,4.688,7875,3.6,8114,4.591,9599,6.197,17551,4.61,20496,8.064,20500,9.515,20584,4.751,21878,4.751,24374,7.44,24384,4.61,24395,4.49,24408,7.112,24448,4.921,24449,4.751,24450,8.347,24487,7.112,24492,9.149,24498,4.921,24499,10.07,24511,4.921,24514,8.352,24516,5.133,24517,5.133,24519,5.417,24520,9.149,24521,5.417,24522,7.419,24536,6.663,24540,8.352,24573,4.921,24589,5.133,24590,4.921,24591,5.133,24596,7.829,24606,5.849,24607,8.453,24608,5.849,24609,8.453,24610,5.849,24611,8.453,24612,5.849,24613,5.849,24614,5.849,24615,5.417,24616,5.417,24617,5.849,24618,5.849,24619,5.849,24620,5.849,24621,5.849,24622,5.417,24623,5.849]],["title/classes/VideoConferenceJoin.html",[0,0.241,24451,5.346]],["body/classes/VideoConferenceJoin.html",[0,0.315,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.508,29,0.694,30,0.001,31,0.511,32,0.161,33,0.415,47,0.837,95,0.127,100,3.171,101,0.012,103,0.001,104,0.001,110,4.324,112,0.893,289,7.214,433,1.117,595,3.449,693,6.228,2138,7.085,4295,9.583,7243,4.939,9599,7.805,9601,6.027,9611,6.419,9613,7.388,24391,11.782,24395,9.547,24397,8.423,24398,8.423,24401,8.423,24451,10.304,24624,9.094,24625,11.39,24626,9.094,24627,9.094,24628,9.094]],["title/classes/VideoConferenceJoinResponse.html",[0,0.241,24453,5.86]],["body/classes/VideoConferenceJoinResponse.html",[0,0.332,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.459,29,0.732,30,0.001,31,0.539,32,0.146,33,0.438,47,0.865,95,0.107,101,0.012,103,0.001,104,0.001,110,4.74,112,0.924,157,2.221,190,1.72,202,2.203,296,3.081,433,1.179,868,4.617,2138,6.723,2277,9.038,2294,8.886,7243,5.211,9109,7.191,9598,10.042,9599,7.77,9601,7.804,9603,9.281,9617,8.072,24453,11.471,24629,11.774]],["title/injectables/VideoConferenceJoinUc.html",[589,0.926,24409,5.86]],["body/injectables/VideoConferenceJoinUc.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,26,2.365,27,0.369,29,0.722,30,0.001,31,0.531,32,0.117,33,0.432,35,0.786,36,1.999,47,0.504,95,0.15,99,1.382,100,2.391,101,0.009,103,0,104,0,110,3.288,135,1.647,148,0.674,153,1.751,228,1.944,277,0.981,289,3.978,290,1.627,317,2.342,331,4.201,433,1.162,579,1.958,589,1.257,591,1.627,610,2.704,652,2.202,657,2.8,693,3.118,1268,4.221,1853,2.25,2138,5.714,2142,4.931,2154,4.176,2155,5.406,2223,5.14,2256,6.018,2276,9.503,2277,8.311,2326,9.718,2681,5.644,3470,4.483,3900,3.619,5147,6.677,5449,7.819,6288,4.401,7567,4.268,8114,5.138,8467,5.14,9599,6.652,17551,5.406,20500,8.96,20584,5.571,24395,5.264,24409,7.958,24448,5.77,24449,5.571,24451,9.4,24492,9.11,24498,5.77,24499,10.539,24511,5.77,24514,9.11,24520,7.958,24536,7.456,24573,5.77,24589,6.018,24590,5.77,24591,6.018,24616,10.029,24622,6.352,24630,6.857,24631,6.857,24632,9.458,24633,6.857,24634,6.857,24635,6.857,24636,6.857,24637,6.857,24638,6.857,24639,9.458,24640,6.857,24641,9.458,24642,6.857,24643,6.857,24644,6.857,24645,6.857,24646,6.857,24647,6.857]],["title/classes/VideoConferenceMapper.html",[0,0.241,24447,5.86]],["body/classes/VideoConferenceMapper.html",[0,0.247,2,0.755,3,0.013,4,0.013,5,0.006,7,0.1,8,1.112,27,0.463,29,0.907,30,0.001,31,0.667,32,0.147,33,0.543,35,1.362,95,0.143,101,0.012,103,0,104,0,110,2.486,135,1.266,148,1.168,153,1.79,159,0.731,289,5.646,326,2.721,467,4.053,540,2.372,595,2.712,693,3.252,837,3.541,1725,5.048,2138,6.558,2154,4.355,2161,4.739,2223,5.36,2237,5.809,2239,6.623,9599,4.075,9607,8.99,9618,5.142,9619,4.962,9620,4.962,24374,8.295,24395,9.119,24443,9.651,24447,8.19,24450,9.539,24451,9.539,24452,9.995,24453,9.995,24457,6.623,24487,6.016,24488,6.276,24489,6.276,24490,6.276,24573,6.016,24575,6.623,24576,6.623,24577,6.623,24590,6.016,24595,6.623,24603,6.016,24605,6.623,24615,6.623,24648,12.427,24649,7.15,24650,9.733,24651,9.733,24652,9.733,24653,9.733,24654,9.733,24655,7.15,24656,9.733,24657,7.15,24658,9.733,24659,7.15,24660,9.733,24661,7.15,24662,6.623,24663,7.15,24664,7.15,24665,7.15,24666,7.15,24667,7.15,24668,7.15,24669,7.15,24670,7.15,24671,7.15,24672,7.15]],["title/modules/VideoConferenceModule.html",[252,1.839,24405,6.113]],["body/modules/VideoConferenceModule.html",[0,0.211,3,0.011,4,0.011,5,0.005,30,0.001,80,6.535,95,0.157,101,0.008,102,3.245,103,0,104,0,159,0.624,252,2.684,254,2.197,255,2.332,256,2.391,257,2.382,258,2.374,259,4.028,260,4.122,265,5.658,269,3.414,270,2.348,271,2.3,274,3.629,276,3.414,277,0.873,279,2.532,314,2.324,393,3.024,610,2.408,685,5.057,703,1.873,1027,1.869,1054,3.451,1267,6.155,1829,4.359,1856,6.952,1903,8.947,1916,8.464,1939,5.405,1941,6.649,2070,3.292,2088,2.617,2138,3.223,2154,3.719,2326,10.401,2338,10.263,2340,7.652,2680,2.804,3036,2.862,3890,8.133,3900,3.223,3904,5.7,3907,3.992,4313,10.706,4926,4.311,6077,8.085,6086,5.138,9051,8.611,9599,4.969,9601,6.74,12253,4.688,12254,4.688,13813,8.076,18221,4.688,20585,4.961,24405,12.81,24415,5.36,24420,5.656,24499,11.008,24549,9.735,24562,11.63,24673,6.107,24674,6.107,24675,6.107,24676,6.107,24677,10.706,24678,6.107,24679,6.107,24680,6.107,24681,6.107,24682,6.107,24683,6.107,24684,6.107,24685,6.107,24686,8.719]],["title/classes/VideoConferenceOptions.html",[0,0.241,24374,5.221]],["body/classes/VideoConferenceOptions.html",[0,0.367,2,0.857,3,0.015,4,0.015,5,0.007,7,0.174,27,0.487,29,0.62,30,0.001,31,0.456,32,0.16,33,0.371,47,0.597,95,0.118,96,2.12,101,0.016,103,0.001,104,0.001,112,0.925,122,2.756,205,2.159,223,3.895,224,2.352,225,4.06,226,3.692,228,1.458,229,3.202,231,1.401,232,2.197,233,2.517,433,0.997,540,3.912,886,2.571,3011,4.841,3757,6.086,4956,8.132,5466,6.09,5854,8.606,7567,5.054,7881,6.385,7907,5.731,9599,4.627,9601,5.381,9619,8.182,9620,8.182,9621,5.955,16659,6.4,16815,8.606,24372,12.008,24373,7.52,24374,9.965,24378,10.349,24379,7.52,24380,7.52,24381,6.596,24382,6.831,24383,6.596,24384,6.4,24385,9.812,24386,7.52,24387,7.52,24388,7.52,24389,7.52,24390,7.52,24687,10.594,24688,8.119,24689,8.119]],["title/classes/VideoConferenceOptionsDO.html",[0,0.241,24540,5.86]],["body/classes/VideoConferenceOptionsDO.html",[0,0.385,2,0.924,3,0.016,4,0.016,5,0.008,7,0.122,27,0.501,29,0.668,30,0.001,31,0.492,32,0.159,33,0.4,47,0.643,95,0.124,101,0.014,103,0.001,104,0.001,112,0.872,122,2.812,231,1.511,433,1.076,540,3.69,1852,6.572,3011,4.001,5854,9.035,7881,5.278,7907,6.181,8220,6.722,8223,6.903,8224,6.903,9599,4.99,9618,8.788,9619,8.481,9620,8.481,9621,6.423,16659,6.903,20501,8.767,24381,7.114,24382,7.368,24383,7.114,24384,6.903,24532,7.685,24536,8.767,24537,12.294,24538,8.111,24540,11.413,24543,8.111,24544,8.111,24545,7.685,24546,8.111,24547,8.111,24548,8.111,24690,11.122,24691,8.756,24692,8.756]],["title/classes/VideoConferenceOptionsResponse.html",[0,0.241,24603,5.86]],["body/classes/VideoConferenceOptionsResponse.html",[0,0.287,2,0.875,3,0.015,4,0.015,5,0.007,7,0.115,27,0.491,29,0.633,30,0.001,31,0.465,32,0.156,33,0.379,95,0.092,101,0.011,103,0.001,104,0.001,112,0.842,122,2.772,157,2.756,190,2.135,195,2.359,197,3.521,202,1.903,296,3.296,433,1.018,868,5.731,2138,6.887,2265,11.055,2277,8.241,2317,11.667,2641,8.142,9109,6.211,9156,8.047,9598,10.286,9599,7.437,9603,8.462,9618,8.563,9619,8.263,9620,8.263,20475,7.675,24381,6.732,24383,6.732,24545,7.273,24603,10.979,24693,10.735,24694,12.596,24695,10.735,24696,8.287,24697,8.287,24698,10.735,24699,8.287,24700,8.287,24701,8.287]],["title/injectables/VideoConferenceRepo.html",[589,0.926,24677,6.113]],["body/injectables/VideoConferenceRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,10,3.22,12,3.627,18,4.016,26,2.374,27,0.516,29,0.999,30,0.001,31,0.735,32,0.162,33,0.598,34,1.628,35,1.501,36,2.628,40,2.631,47,0.699,95,0.131,96,1.419,101,0.007,103,0,104,0,112,0.426,113,4.655,135,1.238,148,1.032,153,0.879,185,2.745,205,2.141,224,1.575,231,1.383,277,0.777,317,2.943,436,3.814,540,2.659,569,1.69,589,1.065,591,1.29,595,2.062,652,2.383,657,1.243,729,5.472,735,3.627,736,5.514,766,2.91,1770,3.81,1853,1.784,2140,3.098,2437,9.286,2439,5.763,2440,5.657,2441,5.657,2442,5.763,2443,5.763,2444,5.657,2451,3.909,2453,3.909,2455,5.24,2456,5.472,2457,3.909,2460,5.763,2462,3.773,2463,8.271,2464,5.657,2465,4.736,2467,3.909,2468,5.763,2470,3.909,2472,3.277,2473,3.384,2474,3.656,2476,3.909,2517,4.075,3011,4.35,4441,4.736,4768,3.277,6878,3.988,6879,3.988,6880,3.988,6881,3.988,6882,3.988,6883,3.988,6884,3.988,7567,6.971,7881,5.737,9618,3.909,9619,5.561,9620,5.561,10718,4.173,11298,6.511,16165,4.574,16815,4.417,20501,9.552,23662,5.036,24378,4.772,24536,9.552,24677,7.034,24702,9.518,24703,5.437,24704,8.014,24705,8.014,24706,5.437,24707,5.437,24708,5.437,24709,5.437,24710,5.437,24711,5.437,24712,8.014,24713,8.014,24714,8.014,24715,8.014,24716,5.437,24717,5.437,24718,5.437,24719,5.036,24720,5.437,24721,5.437,24722,5.437,24723,5.437,24724,5.437,24725,5.437,24726,5.437,24727,5.437,24728,5.437]],["title/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.241,24560,6.113]],["body/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.272,2,0.829,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.452,29,0.885,30,0.001,31,0.652,32,0.144,33,0.53,35,1.33,95,0.137,101,0.01,102,7,103,0,104,0,110,2.729,148,1.14,153,1.876,289,6.728,412,4.602,467,4.015,540,2.604,693,5.274,829,4.638,1725,5.541,2138,6.51,2148,5.541,2154,4.78,2512,6.183,2513,5.905,6971,7.27,7567,7.678,9597,9.724,9599,4.473,9601,5.203,9602,9.724,9615,10.021,9706,6.889,21210,7.27,24447,6.604,24449,6.377,24450,9.469,24451,9.469,24560,9.094,24564,7.27,24662,7.27,24729,12.335,24730,10.361,24731,10.361,24732,10.361,24733,10.361,24734,10.361,24735,10.361,24736,10.361,24737,11.599,24738,11.599,24739,7.849,24740,7.849]],["title/classes/VideoConferenceScopeParams.html",[0,0.241,24426,6.113]],["body/classes/VideoConferenceScopeParams.html",[0,0.395,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.445,30,0.001,32,0.141,47,0.838,95,0.139,101,0.012,103,0.001,104,0.001,112,0.895,190,2.045,194,5.126,195,2.736,196,3.784,197,3.646,200,2.789,202,2.093,296,3.257,595,3.456,855,4.618,886,3.611,899,4.165,2138,6.57,3201,5.345,6288,5.06,6765,10.011,9599,7.095,11298,10.114,20501,10.802,24426,10.011,24474,11.531,24741,9.114,24742,9.114,24743,9.114,24744,9.114,24745,9.114,24746,9.114]],["title/classes/VisibilitySettingsResponse.html",[0,0.241,4463,5.86]],["body/classes/VisibilitySettingsResponse.html",[0,0.343,2,1.045,3,0.018,4,0.018,5,0.009,7,0.138,27,0.468,29,0.756,30,0.001,31,0.556,32,0.149,33,0.59,47,0.882,95,0.11,101,0.013,103,0.001,104,0.001,112,0.942,190,1.775,201,5.021,202,2.273,433,1.475,821,5.055,4463,11.573,24747,12.917,24748,9.901,24749,13.755,24750,9.901,24751,9.901,24752,9.901]],["title/classes/WsSharedDocDo.html",[0,0.241,22644,5.658]],["body/classes/WsSharedDocDo.html",[0,0.17,2,0.518,3,0.009,4,0.009,5,0.004,7,0.068,8,0.849,27,0.47,29,0.819,30,0.001,31,0.719,32,0.153,33,0.456,35,1.027,47,0.829,55,2.174,80,9.045,95,0.126,101,0.006,103,0,104,0,112,0.583,122,1.018,125,1.17,129,1.454,130,1.329,135,1.468,142,4.242,148,0.73,153,1.201,157,2.312,172,3.17,195,1.079,231,1.282,233,1.523,360,6.737,388,5.294,433,0.603,560,3.948,569,2.785,652,2.561,711,3.756,886,1.555,1115,3.801,1835,6.807,2163,8.662,2184,1.944,2356,6.52,2796,4.795,2915,7.063,3237,2.849,4921,6.716,5805,6.53,6571,7.213,8410,3.303,9028,6.035,11690,6.035,11712,7.667,12115,3.77,12171,5.702,20661,8.882,22572,9.52,22573,3.77,22644,7.278,22648,10.285,22657,9.415,22660,4.311,22726,8.114,22785,8.234,22832,8.298,22853,4.549,22874,4.549,22876,4.549,22878,4.549,22884,4.549,22906,4.549,22907,4.549,22908,4.549,22911,4.549,22926,4.549,22952,4.549,24753,12.352,24754,4.912,24755,11.284,24756,8.959,24757,8.959,24758,7.429,24759,7.429,24760,10.727,24761,7.429,24762,4.912,24763,12.352,24764,4.912,24765,4.912,24766,4.912,24767,4.912,24768,7.429,24769,4.912,24770,11.284,24771,7.429,24772,4.912,24773,9.988,24774,4.912,24775,4.912,24776,4.912,24777,4.912,24778,4.912,24779,4.912,24780,4.912,24781,4.912,24782,4.912,24783,4.912,24784,4.912,24785,4.912,24786,4.912,24787,4.912,24788,7.429,24789,4.912,24790,4.912,24791,4.912,24792,4.912,24793,4.912,24794,4.912,24795,4.912,24796,4.912]],["title/interfaces/XApiKeyConfig.html",[159,0.712,9358,5.658]],["body/interfaces/XApiKeyConfig.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,47,0.983,101,0.014,103,0.001,104,0.001,112,0.989,159,1.099,161,2.56,1372,5.673,9358,10.241,20521,12.78,24797,10.749,24798,10.749]],["title/injectables/XApiKeyStrategy.html",[589,0.926,1534,6.113]],["body/injectables/XApiKeyStrategy.html",[0,0.284,3,0.015,4,0.015,5,0.007,7,0.114,27,0.462,29,0.627,30,0.001,31,0.462,32,0.132,33,0.376,47,0.872,95,0.145,101,0.011,103,0.001,104,0.001,112,0.838,122,1.704,129,2.434,130,2.224,142,4.294,195,1.806,197,2.297,228,2.255,231,1.842,233,2.548,277,1.175,339,2.41,400,2.41,433,1.01,569,2.554,589,1.419,591,1.95,634,7.737,651,4.17,652,2.413,711,3.436,1080,3.701,1170,5.175,1213,7.559,1372,7.266,1534,9.372,1545,5.802,1595,6.677,1984,7.181,2125,6.217,5004,5.304,9077,7.613,9358,6.677,9360,7.613,9970,6.028,14461,6.309,14465,8.675,14470,6.677,22636,6.915,24799,12.557,24800,8.219,24801,11.861,24802,10.678,24803,8.219,24804,7.613,24805,8.219,24806,8.219,24807,8.219,24808,8.219,24809,8.219,24810,8.219]],["title/dependencies.html",[255,3.205,24811,5.082]],["body/dependencies.html",[0,0.249,4,0.009,5,0.006,10,1.89,30,0.001,32,0.058,34,0.804,36,1.844,56,2.216,96,2.278,97,1.898,103,0,104,0,131,2.402,171,3.163,193,3.136,200,2.67,202,1.08,206,1.535,224,1.363,255,1.796,277,0.673,317,1.888,379,2.387,574,2.636,610,1.855,620,2.928,651,2.387,695,3.383,702,2.33,804,5.389,871,1.731,924,4.129,1015,3.212,1054,2.658,1056,3.036,1060,3.212,1212,3.036,1220,2.704,1232,2.729,1263,4.129,1310,3.321,1311,3.076,1470,2.636,1543,4.129,1545,3.321,1548,3.526,1585,2.865,1619,4.426,1718,3.451,1749,2.681,1783,2.896,1885,4.426,1987,8.55,2084,4.765,2154,2.865,2164,2.182,2220,2.372,2221,3.499,2222,2.962,2530,3.321,2796,2.518,2831,3.911,3813,2.896,3814,2.754,3898,2.358,4261,5.389,4271,4.129,4272,5.667,4273,8.297,4921,3.163,4952,3.451,5000,3.822,5074,2.402,5776,2.754,5817,5.273,5868,3.822,5869,3.822,6281,3.163,6617,2.681,7164,4.357,7465,3.383,7466,3.958,7558,3.383,7642,6.344,7879,3.526,8410,4.834,8830,4.357,8999,6.049,10000,5.667,10027,3.611,10395,3.822,10468,4.357,11471,4.129,11544,4.357,11643,7.979,12157,3.611,12158,4.357,12490,2.896,13297,6.659,13649,4.129,13650,3.958,14115,3.708,14461,8.079,14532,3.526,14724,3.611,15184,4.357,16025,4.357,16404,3.958,16405,4.129,16406,4.357,16545,3.822,16899,4.129,17127,4.129,17128,4.357,18083,4.357,18951,4.129,19565,4.357,19566,4.357,19616,3.822,20535,4.129,22573,5.519,22660,4.129,22805,4.357,24804,4.357,24812,4.704,24813,4.704,24814,4.704,24815,11.906,24816,7.189,24817,4.704,24818,4.704,24819,4.704,24820,8.725,24821,7.189,24822,4.704,24823,4.704,24824,4.704,24825,7.189,24826,4.704,24827,9.769,24828,7.189,24829,11.097,24830,4.704,24831,4.704,24832,4.704,24833,4.704,24834,4.704,24835,4.704,24836,4.704,24837,4.704,24838,4.704,24839,4.704,24840,4.704,24841,4.704,24842,4.704,24843,4.704,24844,4.704,24845,4.704,24846,4.704,24847,4.704,24848,4.704,24849,4.704,24850,4.704,24851,7.189,24852,4.704,24853,4.704,24854,4.704,24855,7.189,24856,4.704,24857,4.704,24858,7.189,24859,4.704,24860,4.704,24861,7.189,24862,4.704,24863,7.189,24864,7.189,24865,4.704,24866,4.704,24867,4.704,24868,4.704,24869,4.704,24870,4.704,24871,4.704,24872,4.704,24873,4.704,24874,4.704,24875,4.704,24876,4.704,24877,4.704,24878,4.704,24879,4.704,24880,4.704,24881,4.704,24882,7.189,24883,4.704,24884,4.704,24885,4.704,24886,4.704,24887,4.704,24888,4.704,24889,7.189,24890,4.704,24891,4.704,24892,4.129,24893,4.704,24894,8.082,24895,4.704,24896,4.704,24897,7.189,24898,4.704,24899,8.725,24900,7.189,24901,4.704,24902,4.357,24903,4.704,24904,4.704,24905,4.704,24906,7.189,24907,4.704,24908,4.704,24909,4.704,24910,4.704,24911,4.704,24912,4.704,24913,4.704,24914,4.704,24915,4.704,24916,4.704,24917,4.704,24918,7.189,24919,4.357,24920,4.704,24921,4.704,24922,7.189,24923,4.704,24924,4.704,24925,4.704,24926,4.704,24927,4.704,24928,4.704,24929,4.704,24930,4.704,24931,4.704,24932,4.704,24933,4.704,24934,4.704,24935,4.704,24936,4.704,24937,4.704,24938,7.189,24939,4.704,24940,4.704,24941,4.704,24942,4.357,24943,4.704,24944,4.704,24945,4.704,24946,4.704,24947,4.704,24948,4.704,24949,4.704,24950,4.357,24951,4.704,24952,4.704,24953,4.704,24954,4.704,24955,4.704,24956,4.704,24957,4.704,24958,6.659,24959,4.357,24960,4.704,24961,4.704,24962,4.704,24963,4.704,24964,4.704,24965,4.704,24966,4.704,24967,4.704,24968,4.704,24969,4.704,24970,4.704,24971,4.357,24972,4.704]],["title/index.html",[7,0.081,1434,3.736,24973,5.082]],["body/index.html",[30,0.001,31,0.49,34,1.046,55,2.062,102,3.25,103,0,104,0,129,1.811,153,0.989,155,1.952,157,1.416,183,2.335,193,3.807,255,2.335,316,4.898,347,3.143,409,5.562,412,2.716,413,3.725,414,6.516,415,3.485,511,3.347,528,3.103,561,3.931,567,2.28,613,3.516,614,2.706,734,4.289,802,4.054,807,4.695,812,3.897,876,3.184,897,4.969,981,3.725,982,4.821,984,10.569,997,3.807,998,4.82,1080,3.026,1115,2.327,1218,3.999,1355,3.516,1372,4.607,1390,5.433,1477,3.122,1627,6.276,1749,3.485,1783,3.765,1832,3.897,1885,7.225,1900,3.999,1919,4.244,1939,3.25,1945,9.017,2164,4.049,2219,2.742,2221,2.976,2232,3.485,2531,5.984,2550,6.69,2551,5.632,2552,6.056,2557,4.113,2570,5.632,2641,3.725,2642,4.176,2834,4.054,2859,6.7,2915,5.261,2927,4.821,2934,5.146,2937,5.146,3078,6.409,3430,2.656,3814,6.871,3817,7.357,4049,4.317,4236,6.7,4237,8.821,4290,4.695,4919,4.176,5003,4.969,5138,3.274,5222,4.244,5247,8.52,5319,4.821,5324,6.402,5373,5.368,5776,3.58,5927,5.433,6033,5.146,6178,5.158,6292,4.486,6304,4.584,6548,4.969,6571,4.113,6794,3.725,7180,4.113,7289,5.785,7373,4.969,7469,4.398,7470,4.584,7642,6.69,7739,5.496,7882,5.063,7887,4.695,8500,4.584,9370,4.969,10599,6.7,11297,4.821,11725,6.949,12496,4.821,12603,7.185,13305,4.398,13960,6.7,14941,8.268,15586,6.881,15629,4.244,16517,4.969,16887,4.584,16903,5.146,17166,4.969,18215,4.821,18221,4.695,19626,6.881,20147,5.368,23148,4.695,24233,5.146,24974,7.344,24975,4.695,24976,5.368,24977,5.146,24978,5.368,24979,4.969,24980,7.344,24981,7.091,24982,5.368,24983,5.368,24984,5.368,24985,8.085,24986,7.344,24987,5.665,24988,5.665,24989,5.665,24990,5.146,24991,5.368,24992,8.085,24993,5.146,24994,5.146,24995,8.085,24996,5.368,24997,4.695,24998,5.146,24999,5.368,25000,5.368,25001,4.969,25002,5.665,25003,5.368,25004,5.665,25005,5.146,25006,4.821,25007,5.368,25008,8.085,25009,8.085,25010,8.933,25011,10.301,25012,5.368,25013,5.665,25014,8.085,25015,5.368,25016,5.665,25017,5.665,25018,5.665,25019,8.085,25020,8.085,25021,5.665,25022,5.665,25023,5.665,25024,5.146,25025,5.665,25026,4.969,25027,5.665,25028,7.344,25029,5.665,25030,5.146,25031,5.665,25032,5.368,25033,5.665,25034,5.146]],["title/license.html",[1434,3.736,6578,3.786,24973,5.082]],["body/license.html",[0,0.042,4,0.023,5,0.002,8,0.139,27,0.047,30,0,53,2.877,55,0.456,56,1.06,72,3.567,74,0.933,76,1.126,77,0.784,79,1.975,83,0.356,87,0.613,95,0.014,103,0,104,0,141,0.965,146,3.145,148,0.119,153,1.009,159,0.588,161,0.749,183,0.464,185,3.368,189,1.386,194,1.541,205,0.459,223,0.379,271,0.458,289,0.705,290,2.043,329,1.915,339,0.922,347,0.624,356,0.817,370,1.126,371,3.316,374,0.977,379,0.617,402,0.437,403,0.62,412,4.367,413,0.74,416,1.126,525,0.637,528,1.99,540,0.403,543,1.909,550,0.711,552,0.665,560,2.448,561,1.767,569,0.378,571,0.481,585,0.891,610,0.888,612,0.817,617,1.067,627,1.067,628,2.34,640,0.748,652,0.247,685,3.023,693,3.217,703,0.373,711,3.188,756,1.837,758,2.147,810,1.651,812,3.976,813,2.198,815,1.067,816,9.439,876,0.633,982,1.774,998,5.535,1083,2.216,1088,0.569,1097,1.589,1198,1.357,1218,3.408,1222,0.958,1223,2.357,1224,2.261,1238,2.413,1302,0.676,1355,0.699,1380,1.687,1388,4.984,1390,3.883,1393,2.235,1454,0.748,1455,3.907,1461,0.911,1475,0.765,1493,3.742,1568,3.617,1619,1.386,1625,7.192,1626,2.198,1713,1.829,1749,2.235,1799,1.067,1826,3.635,1831,5.149,1832,3.322,1886,0.958,1919,4.909,1921,0.805,1925,0.843,1930,1.618,1931,1.126,1939,1.196,2106,1.774,2125,0.637,2163,0.933,2164,3.449,2204,8.274,2231,1.894,2232,1.283,2313,2.877,2328,0.765,2345,2.389,2370,1.261,2393,0.466,2465,1.33,2530,2.219,2531,3.814,2543,4.683,2546,4.674,2570,3.364,2586,2.085,2587,1.728,2608,6.284,2641,4.916,2642,0.83,2643,1.537,2834,5.35,2838,6.257,2856,0.911,2862,1.829,2884,1.618,2909,1.067,2910,1.774,2915,1.895,2919,1.126,2930,0.911,2931,6.184,2932,5.049,2935,4.235,2995,3.617,2997,7.976,3045,2.6,3310,0.987,3418,3.349,3430,2,3521,0.784,3612,1.434,3633,1.618,3753,3.252,3862,4.674,3898,0.609,3925,1.774,3972,3.813,4214,0.958,4233,0.987,4235,1.562,4237,0.784,4305,0.987,4362,1.935,4526,1.067,4528,2.759,4531,1.126,4660,1.022,4906,0.933,4913,0.891,4921,2.638,4922,0.911,4944,0.987,4999,0.891,5003,4.674,5005,1.022,5087,0.958,5138,1.205,5139,1.022,5140,1.472,5228,1.126,5234,1.877,5245,1.386,5271,4.891,5278,3.282,5285,1.067,5324,2.306,5348,0.911,5363,4.043,5370,2.085,5413,1.126,5607,1.434,5752,5.927,5776,0.711,5805,2.564,5806,1.537,5849,1.774,6039,0.987,6178,1.33,6209,5.209,6213,0.83,6226,3.196,6284,1.067,6288,0.494,6292,2.306,6297,2.413,6570,2.645,6578,8.967,6730,4.676,6731,6.527,6794,0.74,7180,2.114,7186,2.912,7413,2.357,7466,1.022,7561,1.022,7642,1.357,7739,0.765,7767,0.843,7786,2.219,7857,3.631,7884,0.874,7910,1.651,8082,0.958,8087,0.891,8099,1.067,8100,3.092,8500,2.357,8539,0.933,8963,1.067,9020,2.94,9116,2.413,9202,0.891,9216,1.492,9370,0.987,9648,0.748,10121,0.891,10596,0.891,10599,3.011,11316,3.011,11322,2.912,11358,2.261,11710,0.711,11712,2.413,11714,0.958,11716,7.296,11719,0.987,11722,1.774,11724,1.774,11725,3.928,11849,0.83,11864,2.357,12149,4.789,12496,6.123,12604,0.858,12728,0.987,12735,1.975,13164,1.728,13501,1.067,13510,2.645,13528,1.022,13942,0.958,13960,0.933,14686,1.126,14709,1.067,14715,4.043,14716,1.126,14778,2.085,14941,0.987,15303,0.987,15307,0.987,15389,2.357,15779,1.774,15875,5.049,15985,9.369,16020,1.126,16027,2.877,16458,2.085,16515,0.987,16557,3.3,16645,2.085,16813,1.126,16883,3.3,16887,2.357,17168,7.246,17927,1.022,17944,1.126,18562,4.575,18571,1.067,18683,7.195,19052,2.085,19626,2.478,20146,2.912,20227,1.067,20448,1.022,20537,1.126,20607,1.067,20661,0.874,20666,1.894,20679,1.728,20926,2.413,21454,2.912,21757,1.022,22075,1.975,22078,3.742,22080,1.067,22085,6.552,22274,1.067,22331,2.085,22520,6.257,23200,4.575,23284,2.085,23491,1.975,23518,5.86,23809,8.407,23838,1.022,24971,1.126,24984,1.067,24986,10.157,24997,7.277,24998,9.343,24999,2.759,25030,1.894,25035,9.077,25036,8.853,25037,1.215,25038,1.215,25039,3.144,25040,10.9,25041,8.658,25042,4.606,25043,1.215,25044,1.215,25045,2.251,25046,4.606,25047,3.144,25048,3.144,25049,1.215,25050,1.215,25051,2.251,25052,4.267,25053,5.329,25054,2.251,25055,2.251,25056,7.737,25057,6.239,25058,1.215,25059,1.126,25060,5.213,25061,1.126,25062,12.014,25063,3.144,25064,1.215,25065,1.215,25066,3.922,25067,6.677,25068,1.215,25069,1.215,25070,4.606,25071,0.987,25072,1.022,25073,3.633,25074,1.126,25075,8.612,25076,0.987,25077,1.126,25078,7.074,25079,7.436,25080,4.606,25081,7.768,25082,1.215,25083,2.251,25084,1.215,25085,1.215,25086,1.215,25087,1.215,25088,1.215,25089,1.215,25090,1.215,25091,3.633,25092,1.126,25093,1.067,25094,1.126,25095,3.144,25096,1.215,25097,1.215,25098,1.215,25099,2.251,25100,1.215,25101,1.215,25102,2.645,25103,1.126,25104,2.251,25105,2.251,25106,3.144,25107,6.792,25108,4.606,25109,4.828,25110,3.144,25111,2.251,25112,1.215,25113,1.215,25114,1.215,25115,3.144,25116,1.215,25117,1.215,25118,2.251,25119,1.215,25120,1.215,25121,1.215,25122,3.922,25123,2.251,25124,10.491,25125,3.144,25126,6.677,25127,3.442,25128,1.215,25129,2.251,25130,3.144,25131,6.677,25132,7.074,25133,1.126,25134,3.922,25135,2.251,25136,3.922,25137,1.215,25138,3.144,25139,0.987,25140,10.554,25141,2.251,25142,1.126,25143,6.239,25144,1.215,25145,3.144,25146,8.612,25147,3.144,25148,2.251,25149,7.436,25150,5.213,25151,1.215,25152,2.251,25153,8.072,25154,2.251,25155,1.215,25156,1.215,25157,2.912,25158,1.215,25159,1.215,25160,1.067,25161,3.144,25162,3.922,25163,1.126,25164,1.215,25165,1.215,25166,1.067,25167,3.144,25168,1.215,25169,4.606,25170,1.126,25171,2.912,25172,1.215,25173,1.126,25174,1.215,25175,1.215,25176,1.215,25177,2.251,25178,1.067,25179,1.215,25180,1.215,25181,2.251,25182,1.215,25183,1.975,25184,4.043,25185,1.215,25186,5.753,25187,3.633,25188,1.215,25189,4.606,25190,1.215,25191,1.215,25192,1.215,25193,1.215,25194,1.215,25195,3.144,25196,1.215,25197,2.251,25198,1.215,25199,1.215,25200,1.215,25201,1.126,25202,1.215,25203,1.215,25204,3.144,25205,0.958,25206,1.215,25207,1.215,25208,1.215,25209,1.215,25210,4.606,25211,1.215,25212,1.215,25213,3.144,25214,1.215,25215,3.922,25216,1.215,25217,2.251,25218,1.215,25219,1.215,25220,1.215,25221,1.215,25222,1.215,25223,1.215,25224,2.251,25225,1.215,25226,1.215,25227,1.215,25228,2.251,25229,1.215,25230,1.215,25231,1.215,25232,1.215,25233,1.215,25234,2.085,25235,6.184,25236,1.215,25237,5.213,25238,1.215,25239,1.215,25240,3.144,25241,3.922,25242,3.922,25243,3.922,25244,1.215,25245,4.606,25246,4.043,25247,1.126,25248,3.144,25249,1.215,25250,2.251,25251,1.215,25252,1.975,25253,2.251,25254,3.633,25255,3.922,25256,1.215,25257,3.144,25258,4.606,25259,1.215,25260,1.215,25261,2.912,25262,2.251,25263,1.126,25264,1.215,25265,1.126,25266,1.215,25267,1.215,25268,2.912,25269,1.215,25270,1.215,25271,2.251,25272,1.215,25273,1.215,25274,1.215,25275,3.144,25276,3.144,25277,2.251,25278,5.213,25279,3.144,25280,2.251,25281,2.251,25282,2.251,25283,3.442,25284,1.975,25285,1.215,25286,1.215,25287,1.215,25288,5.213,25289,2.251,25290,1.215,25291,1.215,25292,1.215,25293,2.251,25294,1.215,25295,2.251,25296,1.215,25297,1.215,25298,5.068,25299,1.215,25300,6.888,25301,1.215,25302,1.215,25303,1.215,25304,1.215,25305,2.251,25306,1.215,25307,4.043,25308,3.922,25309,2.251,25310,1.215,25311,1.215,25312,1.215,25313,1.215,25314,1.215,25315,2.251,25316,1.215,25317,1.215,25318,1.215,25319,2.251,25320,2.251,25321,1.215,25322,1.215,25323,1.215,25324,1.215,25325,1.215,25326,1.215,25327,1.215,25328,1.215,25329,1.126,25330,1.215,25331,1.215,25332,1.215,25333,1.215,25334,4.606,25335,1.215,25336,1.215,25337,3.922,25338,1.215,25339,1.215,25340,1.215,25341,1.215,25342,1.215,25343,1.215,25344,1.215,25345,5.753,25346,2.912,25347,1.215,25348,3.922,25349,1.215,25350,1.215,25351,3.144,25352,1.215,25353,1.215,25354,3.144,25355,1.215,25356,2.251,25357,1.215,25358,1.215,25359,1.215,25360,1.215,25361,1.067,25362,1.215,25363,1.067,25364,2.251,25365,2.085,25366,1.215,25367,3.922,25368,1.215,25369,2.912,25370,2.085,25371,3.144,25372,2.251,25373,1.215,25374,3.144,25375,5.753,25376,1.215,25377,2.251,25378,1.215,25379,1.215,25380,1.215,25381,1.215,25382,3.922,25383,1.215,25384,1.215,25385,1.215,25386,1.215,25387,1.215,25388,1.215,25389,2.251,25390,2.251,25391,2.251,25392,3.144,25393,1.215,25394,1.126,25395,3.144,25396,1.215,25397,2.251,25398,1.215,25399,1.215,25400,2.251,25401,10.147,25402,3.144,25403,1.215,25404,4.606,25405,7.074,25406,3.144,25407,1.215,25408,1.215,25409,1.215,25410,3.922,25411,1.215,25412,3.144,25413,1.215,25414,1.215,25415,1.215,25416,1.215,25417,1.215,25418,1.215,25419,1.215,25420,3.922,25421,1.215,25422,1.215,25423,3.144,25424,1.215,25425,3.144,25426,1.067,25427,2.251,25428,1.215,25429,1.215,25430,1.215,25431,1.215,25432,2.251,25433,3.144,25434,1.126,25435,1.215,25436,1.215,25437,1.215,25438,1.126,25439,1.215,25440,1.215,25441,1.215,25442,3.144,25443,2.251,25444,1.126,25445,1.215,25446,1.215,25447,3.922,25448,1.215,25449,3.144,25450,1.215,25451,1.215,25452,1.215,25453,1.215,25454,1.215,25455,3.144,25456,2.251,25457,2.251,25458,1.215,25459,2.251,25460,5.753,25461,2.251,25462,3.144,25463,3.922,25464,1.126,25465,1.126,25466,2.251,25467,1.215,25468,3.144,25469,1.215,25470,1.215,25471,1.215,25472,1.215,25473,1.215,25474,3.144,25475,2.251,25476,1.215,25477,1.215,25478,1.215,25479,1.215,25480,2.251,25481,2.251,25482,1.215,25483,2.085,25484,1.215,25485,1.126,25486,1.126,25487,1.215,25488,3.144,25489,1.215,25490,1.215,25491,1.215,25492,2.251,25493,3.144,25494,1.215,25495,1.215,25496,1.215,25497,1.215,25498,2.251,25499,1.215,25500,1.215,25501,1.215,25502,1.215,25503,1.215,25504,1.215,25505,1.215,25506,1.215,25507,1.215,25508,1.215,25509,1.215,25510,1.215,25511,1.215,25512,3.922,25513,1.215,25514,1.215,25515,2.251,25516,1.215,25517,1.126,25518,1.215,25519,1.215,25520,1.215,25521,1.215,25522,1.215,25523,1.215,25524,1.126,25525,1.215,25526,1.215,25527,1.215,25528,1.215,25529,2.251,25530,1.215,25531,1.215,25532,1.215,25533,1.215,25534,1.067,25535,2.251,25536,1.215,25537,1.215,25538,1.215,25539,1.126,25540,1.126,25541,1.022,25542,1.215,25543,2.251,25544,2.085,25545,1.215,25546,1.215,25547,3.144,25548,2.085,25549,1.215,25550,2.085,25551,2.251,25552,2.251,25553,1.126,25554,1.067,25555,1.215,25556,1.215,25557,1.126,25558,1.215,25559,1.215,25560,1.215,25561,2.251,25562,1.215,25563,3.144,25564,1.215,25565,1.215,25566,1.215,25567,1.215,25568,1.215,25569,1.215,25570,1.215,25571,1.215,25572,1.215,25573,1.215,25574,1.215,25575,1.022,25576,1.215,25577,1.215,25578,1.215,25579,1.215,25580,1.215,25581,1.215,25582,1.215,25583,1.215,25584,1.215,25585,1.215,25586,1.215,25587,1.215,25588,1.067,25589,1.126,25590,2.251,25591,2.085,25592,1.215,25593,1.215,25594,1.215,25595,1.215,25596,1.215,25597,1.215,25598,1.215,25599,1.215,25600,1.215,25601,1.022,25602,1.215,25603,1.126,25604,0.987,25605,1.215,25606,1.215,25607,1.126,25608,1.215]],["title/properties.html",[112,0.658,24811,5.082]],["body/properties.html",[30,0.001,103,0.001,104,0.001,112,0.836,157,2.468,1212,6.881,1883,4.003,1885,6.564,2164,4.946,2637,9.877,5018,6.714,6578,6.971,11724,8.406,15629,7.399,22552,8.185,25607,9.877,25609,11.012,25610,9.877,25611,8.972,25612,10.663,25613,10.663,25614,10.663,25615,10.663]],["title/todo.html",[1434,3.736,1829,2.482,24973,5.082]],["body/todo.html",[0,0.196,5,0.005,30,0.001,31,0.465,32,0.102,34,1.414,36,1.199,47,0.417,72,2.606,100,2.884,103,0,104,0,110,1.973,112,0.445,129,3.175,131,2.897,141,2.432,161,1.352,183,3.158,185,1.944,193,3.607,194,2.23,205,2.565,206,1.851,252,3.009,260,2.109,271,3.115,276,2.222,290,1.962,314,2.16,316,2.731,317,2.111,345,4.081,360,3.263,409,3.617,412,4.762,414,4.95,433,0.697,507,2.52,525,2.975,540,3.237,543,2.762,561,5.133,623,3.71,624,7.314,644,3.456,688,2.646,876,2.955,981,7.48,985,5.66,997,6.073,1018,4.981,1072,4.081,1080,2.867,1083,3.207,1087,3.817,1171,4.356,1212,7.354,1218,3.71,1220,4.754,1372,5.658,1373,3.456,1381,3.816,1472,3.155,1585,3.456,1610,6.066,1627,5.947,1829,2.432,1850,8.045,1883,4.024,1885,5.091,1922,3.938,1928,3.354,1939,6.931,2140,4.713,2164,2.632,2219,2.544,2221,4.025,2230,4.163,2234,3.875,2447,2.372,2513,3.234,2530,4.006,2547,8.21,2550,4.985,2551,8.122,2636,2.778,3036,2.659,3611,3.875,3612,3.617,3649,4.713,3817,3.762,3972,3.762,4186,4.356,4338,4.254,4401,5.337,4703,3.421,4913,4.163,4919,3.875,4921,3.816,4922,4.254,4943,4.163,4953,3.762,4955,5.647,5004,3.662,5050,9.259,5074,2.897,5138,5.223,5139,6.958,5140,3.71,5234,5.455,5245,3.493,5271,3.573,5278,3.573,5324,6.066,5347,4.254,5607,3.617,5805,3.71,6308,4.61,6668,3.06,6729,4.61,6730,4.254,7142,4.981,7180,5.561,7465,5.947,7469,5.947,7472,3.938,7473,4.981,7476,4.775,7562,7.314,7882,3.292,7909,3.762,8852,4.474,8853,7.49,9112,5.256,9202,4.163,9962,4.356,9970,4.163,11479,6.958,11643,7.016,11710,3.322,12127,4.775,12604,4.006,12660,5.256,12728,4.61,13728,3.762,14361,4.775,14446,4.775,15303,4.61,15629,3.938,16557,4.775,17166,4.61,18165,4.981,18215,4.474,19483,5.256,20661,7.016,20976,5.256,21075,6.519,21893,5.256,22552,4.356,22839,5.256,23847,5.256,24811,4.981,24942,5.256,24975,6.348,24991,4.981,24994,4.775,25034,4.775,25071,4.61,25173,5.256,25201,5.256,25588,7.258,25604,4.61,25616,5.675,25617,5.256,25618,4.775,25619,4.981,25620,5.256,25621,5.675,25622,5.675,25623,5.675,25624,4.775,25625,5.675,25626,5.675,25627,4.775,25628,5.675,25629,5.675,25630,5.256,25631,5.675,25632,5.675,25633,5.675,25634,5.675,25635,5.675,25636,4.775,25637,4.981,25638,5.675,25639,5.675,25640,5.675,25641,5.675,25642,5.256,25643,5.675,25644,5.256,25645,5.675,25646,5.675,25647,5.675,25648,5.675,25649,5.675,25650,5.675,25651,4.981,25652,5.675,25653,5.675,25654,5.256,25655,5.675,25656,5.675,25657,5.675,25658,5.675,25659,5.675,25660,5.675,25661,5.675,25662,5.675,25663,9.757,25664,5.675,25665,5.675,25666,5.675,25667,5.675,25668,5.675,25669,5.675,25670,4.775,25671,8.27,25672,5.675,25673,5.675]],["title/additional-documentation/nestjs-application.html",[869,2.425,1388,2.956,3814,2.9,4237,3.197]],["body/additional-documentation/nestjs-application.html",[5,0.009,18,1.883,30,0.001,31,0.424,33,0.275,72,1.726,78,6.458,87,1.895,95,0.042,103,0,104,0,129,1.113,161,0.895,180,1.611,185,2.065,193,1.639,194,1.477,223,1.171,231,0.648,252,2.281,254,2.169,270,2.318,304,1.861,326,1.43,339,3.111,347,3.879,360,2.16,412,5.052,415,2.142,467,2.198,507,4.201,543,2.934,561,4.26,585,2.756,610,1.482,619,4.335,624,5.659,626,3.298,629,1.983,648,3.796,694,2.756,804,4.519,807,4.628,812,3.842,813,3.379,869,2.951,876,4.924,981,5.76,982,7.456,985,3.497,997,3.753,998,4.781,1042,3.996,1083,3.407,1086,4.113,1089,3.003,1212,6.104,1220,2.16,1283,7.488,1296,3.162,1311,5.648,1355,3.466,1372,4.56,1388,2.242,1390,4.699,1434,5.575,1477,1.919,1563,2.425,1598,3.563,1610,5.538,1624,3.162,1625,3.053,1626,5.659,1714,2.817,1832,2.395,1850,2.653,1885,3.711,1919,2.607,1921,2.491,1922,4.183,1928,3.563,1930,2.702,1939,1.997,2010,2.491,2061,2.702,2164,4.683,2219,1.685,2220,1.895,2221,4.205,2313,4.422,2366,5.291,2393,1.44,2465,3.563,2513,2.142,2543,2.366,2550,3.634,2551,8.072,2552,2.607,2553,2.366,2570,2.425,2641,4.598,2643,2.566,2800,2.566,2831,1.504,2834,2.491,2836,2.491,2856,2.817,2915,2.265,3045,3.996,3102,5.207,3108,2.457,3160,2.289,3430,1.632,3612,3.842,3812,5.077,3813,6.215,3814,6.833,3817,5.004,3898,5.701,3910,2.962,4234,3.053,4235,2.607,4237,7.696,4261,2.817,4905,2.425,4906,2.885,4919,2.566,4920,4.335,4939,6.677,4943,5.538,4945,2.756,4954,2.962,5138,3.227,5215,4.924,5222,5.995,5233,3.298,5234,1.799,5260,2.366,5271,5.44,5378,3.298,5405,9.352,5411,3.481,5412,2.885,5752,1.944,5805,2.457,6039,3.053,6287,3.298,6369,1.895,6571,2.527,7289,2.491,7290,2.566,7367,5.584,7413,2.817,7467,3.481,7509,4.054,7558,2.702,7642,2.265,7739,2.366,8865,5.073,9001,4.898,9020,6.476,9101,5.584,9202,6.938,9429,4.753,9917,3.481,9921,3.162,10596,4.422,11316,4.628,11725,9.229,11822,4.753,12103,3.298,12127,3.162,12171,2.885,12430,4.628,12431,4.753,12490,2.313,12604,5.33,13164,2.885,13305,4.335,13510,3.162,13669,3.162,14115,2.962,14335,3.053,14445,3.053,14654,2.425,14685,3.298,14941,3.053,15305,3.053,15307,3.053,15936,6.993,16515,8.203,16545,6.134,16887,2.817,16903,3.162,17166,3.053,17168,3.162,17927,3.162,18165,8.302,19616,8.203,19676,2.653,22520,5.073,22552,6.632,22562,3.298,23348,3.481,23404,5.584,23491,3.298,23838,3.162,24894,3.481,24950,3.481,24958,3.481,24959,3.481,24974,3.162,24975,9.602,24976,5.291,24977,3.162,24979,3.053,24982,3.298,24990,6.352,25010,3.298,25093,3.298,25139,3.053,25170,5.584,25283,3.298,25298,3.053,25307,5.291,25363,3.298,25438,3.481,25444,3.481,25554,5.291,25575,3.162,25624,9.572,25636,5.073,25637,5.291,25651,5.291,25654,8.761,25674,3.758,25675,3.758,25676,7.958,25677,3.758,25678,3.758,25679,3.758,25680,3.758,25681,3.758,25682,6.029,25683,3.758,25684,6.626,25685,3.758,25686,3.758,25687,3.758,25688,3.758,25689,3.758,25690,3.758,25691,3.758,25692,3.758,25693,3.758,25694,3.758,25695,3.758,25696,3.758,25697,3.758,25698,3.758,25699,8.761,25700,3.481,25701,3.481,25702,3.481,25703,3.481,25704,3.481,25705,3.481,25706,3.481,25707,3.481,25708,3.758,25709,3.481,25710,3.758,25711,3.758,25712,3.758,25713,6.029,25714,3.298,25715,3.481,25716,3.298,25717,3.298,25718,3.758,25719,9.459,25720,3.481,25721,3.758,25722,3.758,25723,10.097,25724,3.758,25725,3.758,25726,3.758,25727,3.758,25728,6.029,25729,8.64,25730,3.758,25731,6.029,25732,3.758,25733,6.029,25734,3.758,25735,3.758,25736,8.64,25737,3.758,25738,3.758,25739,3.758,25740,3.758,25741,6.029,25742,3.758,25743,3.758,25744,3.758,25745,3.758,25746,6.029,25747,3.758,25748,3.758,25749,3.758,25750,3.481,25751,3.758,25752,3.758,25753,3.758,25754,6.029,25755,3.758,25756,3.758,25757,3.758,25758,3.758,25759,3.758,25760,3.758,25761,3.758,25762,6.029,25763,7.55,25764,3.758,25765,3.758,25766,7.55,25767,6.029,25768,3.758,25769,3.758,25770,3.758,25771,3.758,25772,3.758,25773,3.758,25774,3.758,25775,3.758,25776,6.029,25777,3.758,25778,6.029,25779,6.029,25780,3.481,25781,3.758,25782,3.758,25783,6.993,25784,3.758,25785,3.758,25786,3.758,25787,3.481,25788,3.481,25789,3.758,25790,3.758,25791,3.758,25792,3.758,25793,3.758,25794,3.758,25795,3.758,25796,3.758]],["title/additional-documentation/nestjs-application/software-architecture.html",[869,2.425,1388,2.956,24981,4.025,25041,4.169]],["body/additional-documentation/nestjs-application/software-architecture.html",[0,0.336,2,0.664,5,0.004,7,0.055,8,0.453,27,0.379,30,0.001,72,4.748,95,0.044,101,0.011,103,0,104,0,134,2.771,153,0.641,159,1.15,161,2.758,206,2.053,252,3.474,254,4.654,255,1.514,259,2.842,260,1.474,274,3.257,276,2.464,290,0.941,314,1.509,371,3.345,403,2.025,407,2.752,409,2.527,411,2.973,412,2.795,507,2.795,512,4.548,527,1.685,534,2.079,550,2.321,585,2.909,589,0.527,591,0.941,610,1.564,612,5.262,614,3.012,629,3.321,711,2.266,734,1.671,802,2.629,806,3.044,812,4.986,813,4.385,816,2.752,998,5.324,1083,3.556,1097,4.443,1198,2.39,1214,5.524,1218,6.76,1272,2.497,1302,2.205,1372,6.262,1373,2.415,1390,2.468,1626,2.223,1714,7.282,1829,1.7,1831,2.629,1832,5.677,1883,4.975,1919,6.181,1921,2.629,1925,4.367,1926,5.917,1927,2.667,1928,2.343,1930,2.852,2135,2.799,2164,3.629,2232,3.587,2234,4.297,2328,3.963,2345,5.425,2358,3.618,2513,3.587,2531,5.843,2542,3.337,2543,2.497,2546,3.222,2551,2.559,2552,2.752,2570,4.061,2587,3.044,2640,3.673,2641,6.297,2642,4.297,2643,2.708,2796,3.369,2834,2.629,2836,4.171,2884,2.852,2903,7.351,2911,2.441,2935,3.222,3036,1.858,3045,2.629,3430,4.706,3612,4.986,3814,2.321,3912,4.717,3925,3.126,3972,4.171,4215,4.367,4233,3.222,4235,6.181,4237,4.061,4362,2.441,4401,2.559,4866,2.223,4917,2.559,4919,4.297,4926,2.799,4953,2.629,4999,2.909,5050,5.113,5087,3.126,5215,3.587,5234,1.898,5271,3.963,5278,4.927,5301,2.799,5304,8.174,5324,4.616,5325,5.295,5343,3.222,5348,4.717,5805,5.824,6029,3.673,6178,4.624,6292,2.909,6297,3.044,6307,3.337,6423,5.829,6571,4.232,7179,3.126,7190,3.673,7858,2.593,7859,4.443,8539,4.831,8853,3.044,9020,2.973,9124,3.673,9156,5.865,9216,2.629,9962,3.044,9970,4.616,10599,3.044,11316,3.044,11508,3.044,11634,2.973,11711,3.222,11849,2.708,12149,3.044,13824,3.337,13942,4.961,14115,3.126,14445,3.222,15298,3.126,15303,5.113,15305,3.222,15586,6.168,15629,6.741,15779,3.126,15875,3.481,15985,3.481,16404,6.583,16405,3.481,16905,3.673,17402,3.126,17933,3.481,18880,5.524,18886,3.126,18887,3.481,19572,5.524,19626,4.961,20661,4.525,20666,3.337,20926,3.044,21074,6.838,21075,3.126,21618,3.673,22025,3.044,22073,3.481,22275,3.337,23346,10.449,23518,3.481,23838,3.337,24120,3.481,24975,3.044,24981,8.4,24983,5.524,24993,3.337,24994,3.337,24997,3.044,25006,4.961,25030,3.337,25041,5.295,25071,3.222,25072,8.174,25102,3.337,25103,7.247,25109,3.673,25124,3.481,25127,5.524,25139,3.222,25157,3.673,25160,3.481,25178,3.481,25184,6.867,25205,3.126,25234,3.673,25246,3.481,25254,3.673,25283,3.481,25284,3.481,25307,5.524,25434,7.247,25485,3.673,25524,3.673,25539,3.673,25541,6.583,25589,5.829,25601,3.337,25611,3.337,25618,6.583,25627,8.174,25717,3.481,25797,3.966,25798,3.966,25799,9.715,25800,3.966,25801,3.966,25802,3.966,25803,3.966,25804,3.966,25805,8.908,25806,3.966,25807,3.966,25808,3.966,25809,7.824,25810,3.966,25811,3.966,25812,7.247,25813,3.966,25814,3.966,25815,3.481,25816,3.673,25817,3.966,25818,3.337,25819,3.966,25820,7.824,25821,8.527,25822,5.295,25823,3.966,25824,3.966,25825,7.818,25826,3.966,25827,6.293,25828,3.481,25829,3.966,25830,6.293,25831,3.966,25832,3.966,25833,3.966,25834,3.966,25835,3.966,25836,3.966,25837,3.966,25838,3.673,25839,3.966,25840,3.966,25841,3.673,25842,3.966,25843,6.293,25844,3.673,25845,3.966,25846,3.966,25847,3.966,25848,8.251,25849,3.966,25850,3.673,25851,3.966,25852,3.966,25853,3.966,25854,3.673,25855,3.966,25856,3.966,25857,6.293,25858,3.966,25859,3.966,25860,3.966,25861,3.481,25862,3.966,25863,3.673,25864,3.966,25865,3.966,25866,3.966,25867,3.673,25868,3.966,25869,3.966,25870,3.966,25871,3.966,25872,3.966,25873,5.829,25874,3.966,25875,3.966,25876,6.293,25877,6.293,25878,7.824,25879,7.824,25880,6.293,25881,6.293,25882,3.673,25883,3.966,25884,3.966,25885,3.337,25886,6.293,25887,3.966,25888,3.966,25889,3.966,25890,3.966,25891,3.481,25892,3.966,25893,3.966,25894,3.966,25895,3.966,25896,3.966,25897,6.293,25898,3.966,25899,3.673,25900,3.966]],["title/additional-documentation/nestjs-application/file-structure.html",[5,0.004,869,2.425,1388,2.956,6027,3.562]],["body/additional-documentation/nestjs-application/file-structure.html",[0,0.389,2,0.352,3,0.006,5,0.01,9,2.541,27,0.373,30,0.001,31,0.567,32,0.068,34,0.571,36,1.158,72,4.086,95,0.061,100,3.521,101,0.012,103,0,104,0,112,0.546,127,1.673,129,0.989,134,2.466,135,1.049,141,2.985,148,0.685,153,1.126,159,0.341,161,1.305,180,1.431,185,1.876,190,1.445,194,1.312,200,2.131,205,2.058,206,3.119,223,1.041,252,3.387,254,4.14,255,1.275,258,1.298,259,1.989,260,3.553,268,2.034,274,2.899,276,2.145,290,1.652,314,4.012,317,1.507,325,2.713,326,1.271,329,2.034,339,2.363,349,2.779,371,5.603,379,1.694,400,0.979,407,2.317,409,2.128,412,5.649,413,2.034,415,1.903,433,0.41,507,1.483,512,4.542,527,1.419,543,3.922,561,1.504,585,4.018,589,0.728,610,4.856,612,4.684,613,3.149,627,2.931,641,1.903,657,1.253,675,4.542,688,2.554,694,2.449,703,2.137,734,3.396,796,5.074,807,2.563,810,2.449,812,3.491,813,1.871,871,1.229,876,1.738,981,3.336,997,5.951,998,2.594,1072,5.008,1083,3.096,1089,1.663,1172,5.221,1193,3.631,1211,2.155,1213,2.128,1218,2.183,1220,1.92,1222,2.632,1226,2.931,1238,2.563,1372,5.329,1373,4.242,1380,6.04,1381,2.245,1388,4.156,1393,5.07,1472,1.856,1563,2.155,1585,2.034,1626,1.871,1627,5.008,1821,1.581,1831,2.213,1832,3.491,1833,2.713,1847,4.609,1856,1.903,1861,5.86,1862,2.911,1869,6.547,1883,2.614,1885,7.232,1886,2.632,1900,3.581,1919,2.317,1922,2.317,2088,1.431,2140,1.903,2164,1.549,2234,3.74,2328,3.449,2345,2.034,2358,3.149,2393,2.099,2481,2.563,2531,1.8,2551,4.494,2553,5.074,2558,2.809,2559,2.931,2636,3.409,2641,5.418,2643,2.28,2796,1.787,2836,2.213,2903,6.892,2911,2.055,2912,1.598,2915,4.198,2935,2.713,3036,1.565,3045,4.616,3242,1.828,3365,2.563,3612,3.491,3728,2.401,3774,2.103,3814,6.39,3972,2.213,4049,3.867,4077,1.993,4214,4.318,4215,2.317,4216,2.503,4235,3.801,4236,4.205,4237,2.155,4362,2.055,4401,2.155,4526,2.931,4824,2.809,4866,3.07,4905,3.535,4930,2.503,5050,4.45,5074,1.705,5098,2.632,5138,1.787,5140,2.183,5222,4.833,5223,2.128,5234,3.334,5245,4.961,5278,3.449,5303,2.809,5304,5.86,5348,5.221,5363,2.931,5404,6.113,6027,2.401,6178,4.116,6292,2.449,6302,2.563,6794,2.034,7143,3.093,7180,2.245,7187,2.401,7465,5.008,7472,3.801,7477,2.713,7509,4.684,7882,4.04,8073,4.45,8128,2.563,8539,2.563,8793,2.503,9116,2.563,9636,2.449,9818,6.451,9962,2.563,9971,2.809,10063,7.012,10599,2.563,11272,3.093,11277,3.093,11316,2.563,11346,5.658,11347,2.713,11348,2.809,11349,2.809,11462,2.931,11479,4.609,11480,2.632,11634,2.503,11643,2.401,12471,2.809,12518,2.713,12687,2.809,13131,2.713,13163,5.074,13164,2.563,13464,2.931,13502,2.931,13960,2.563,13993,4.609,14115,7.013,14436,2.931,15298,4.318,15324,3.093,15629,2.317,16517,2.713,16560,3.093,16621,3.093,16622,3.093,16623,3.093,16624,2.931,16662,2.931,16887,2.503,16925,6.113,17402,2.632,18215,2.632,19119,4.609,19181,3.093,19626,6.353,20661,6.874,20899,2.931,21074,5.346,21898,4.609,21990,3.093,23346,7.536,24981,4.45,24990,2.809,25005,2.809,25006,5.49,25015,2.931,25024,5.86,25026,2.713,25032,2.931,25034,2.809,25074,3.093,25076,2.713,25160,2.931,25166,2.931,25183,2.931,25187,3.093,25261,3.093,25298,2.713,25363,2.931,25464,6.451,25534,2.931,25541,2.809,25557,3.093,25575,2.809,25603,3.093,25604,4.45,25611,2.809,25618,6.78,25619,6.113,25627,2.809,25670,5.86,25676,4.609,25715,3.093,25716,6.113,25717,2.931,25720,3.093,25815,2.931,25821,2.931,25822,2.809,25825,2.931,25882,3.093,25901,7.464,25902,4.808,25903,6.451,25904,3.093,25905,3.339,25906,5.478,25907,9.56,25908,8.059,25909,3.339,25910,3.339,25911,3.339,25912,5.478,25913,8.059,25914,3.339,25915,3.339,25916,3.339,25917,3.339,25918,5.478,25919,2.931,25920,3.339,25921,3.339,25922,3.339,25923,3.339,25924,3.339,25925,3.339,25926,3.339,25927,3.339,25928,3.339,25929,3.339,25930,3.339,25931,3.339,25932,3.093,25933,3.339,25934,3.339,25935,3.339,25936,3.339,25937,3.339,25938,3.339,25939,3.339,25940,3.339,25941,3.339,25942,3.339,25943,3.339,25944,3.339,25945,3.093,25946,3.339,25947,3.093,25948,5.074,25949,3.339,25950,3.339,25951,3.339,25952,3.339,25953,3.339,25954,3.339,25955,3.339,25956,3.339,25957,3.339,25958,3.339,25959,3.339,25960,3.339,25961,3.339,25962,3.339,25963,3.339,25964,3.339,25965,3.339,25966,3.093,25967,3.339,25968,3.339,25969,3.339,25970,3.339,25971,3.339,25972,3.093,25973,3.339,25974,3.339,25975,3.339,25976,3.339,25977,3.339,25978,3.339,25979,6.451,25980,2.931,25981,5.478,25982,3.339,25983,3.339,25984,3.339,25985,3.339,25986,3.339,25987,3.339]],["title/additional-documentation/nestjs-application/api-design.html",[869,2.425,1372,2.615,1388,2.956,25611,4.169]],["body/additional-documentation/nestjs-application/api-design.html",[30,0.001,103,0.001,104,0.001,25361,10.081]],["title/additional-documentation/nestjs-application/logging.html",[869,2.834,1388,3.455,7470,4.34]],["body/additional-documentation/nestjs-application/logging.html",[0,0.362,3,0.015,8,0.911,26,1.616,30,0.001,39,3.244,95,0.089,101,0.013,103,0,104,0,148,0.784,153,1.29,159,0.815,183,3.045,228,1.432,242,4.208,252,2.105,339,3.639,400,3.07,412,4.65,515,4.364,528,4.046,567,2.973,578,4.18,622,8.253,641,4.544,688,3.718,711,2.31,734,3.36,997,4.963,1027,2.44,1042,5.285,1080,3.629,1115,4.905,1237,3.033,1381,7.04,1422,4.968,1423,4.881,1426,3.541,1472,4.433,2447,5.882,2448,3.737,2531,4.299,2543,5.021,2557,5.362,2641,7.559,2884,5.734,4401,5.146,4703,4.806,4903,6.121,4955,9.206,5103,6.998,5140,7.642,5304,6.709,6288,3.241,6308,6.478,6388,5.533,7373,6.478,7470,9.303,7859,5.629,7910,5.849,9969,7.386,10000,6.286,13767,9.189,13768,6.998,13824,6.709,15305,6.478,15900,6.709,21075,6.286,21102,6.998,23148,8.037,25205,6.286,25247,7.386,25298,6.478,25604,6.478,25988,7.974,25989,7.974,25990,7.974,25991,10.469,25992,7.974,25993,7.974,25994,7.974,25995,7.974,25996,7.974,25997,7.974,25998,7.974,25999,7.974,26000,7.974,26001,7.974,26002,7.386,26003,7.386,26004,7.974]],["title/additional-documentation/nestjs-application/exception-handling.html",[869,2.425,1388,2.956,1472,2.754,7469,3.562]],["body/additional-documentation/nestjs-application/exception-handling.html",[0,0.319,9,3.066,30,0.001,31,0.371,32,0.15,47,0.844,48,5.383,51,4.437,72,4.234,101,0.012,103,0,104,0,129,3.144,135,0.86,148,0.65,153,1.858,155,2.109,159,0.676,193,2.883,223,2.873,228,1.656,231,1.14,233,2.049,234,5.073,244,4.665,252,1.745,338,5.675,339,3.113,400,1.938,403,4.707,409,4.212,412,4.715,512,4.707,516,3.512,525,3.464,529,3.645,561,4.152,579,3.031,585,4.848,629,3.488,652,1.344,711,1.914,734,2.785,810,4.848,871,3.392,998,5.028,1080,4.721,1115,4.762,1220,6.104,1237,2.671,1302,3.674,1328,3.512,1355,3.799,1371,6.122,1372,4.866,1373,6.466,1379,6.629,1381,8.415,1388,5.501,1390,4.114,1396,4.265,1422,5.01,1426,2.935,1468,3.081,1472,7.493,1477,3.374,1478,3.512,1713,5.369,1721,5.561,1729,6.122,1832,4.212,1984,4.444,2106,8.369,2358,3.799,2548,5.561,2550,3.984,2557,4.444,2641,7.622,2831,2.646,2834,4.381,3365,5.073,3633,4.752,3814,6.215,4214,5.21,4233,9.816,4234,5.369,4401,6.851,4955,4.512,5098,5.21,5140,4.321,5278,5.805,6310,5.561,6388,4.586,7469,4.752,7470,6.911,7476,5.561,9028,5.369,9962,8.15,10020,5.073,10026,6.122,10028,5.561,11480,5.21,12670,6.122,13538,5.801,15307,5.369,16557,5.561,23499,6.122,24974,5.561,25052,6.122,25205,5.21,25365,12.326,25822,5.561,25885,5.561,25932,6.122,26005,6.122,26006,6.609,26007,9.219,26008,6.609,26009,6.609,26010,6.609,26011,6.609,26012,6.609,26013,6.609,26014,6.609,26015,6.609,26016,6.609,26017,6.609,26018,6.609,26019,6.609,26020,6.122,26021,6.609,26022,6.609,26023,6.609,26024,6.609,26025,6.122,26026,6.609]],["title/additional-documentation/nestjs-application/domain-object-validation.html",[185,1.483,869,2.119,1373,2.637,1388,2.584,1883,1.625]],["body/additional-documentation/nestjs-application/domain-object-validation.html",[0,0.317,30,0.001,103,0.001,104,0.001,122,1.898,159,1.17,185,4.607,304,5.664,412,4.066,507,4.066,525,4.799,532,3.358,543,4.456,628,5.463,711,2.652,813,6.411,1213,5.835,1373,5.576,1784,6.157,1832,5.835,1883,5.049,1925,6.353,2033,3.472,2234,6.251,2512,6.826,2542,7.703,2550,6.894,2557,7.692,2636,4.481,2641,5.576,2856,8.574,2903,5.986,2944,6.583,2959,5.253,3159,4.143,3432,5.264,3820,7.703,4920,6.583,6285,8.036,6292,6.716,9020,6.863,9649,6.069,11714,9.017,15298,7.217,20926,7.028,21074,7.028,25001,7.438,25107,9.624,25139,7.438,25263,8.48,25534,8.036,25816,8.48,25979,13.144,26027,9.156,26028,9.156,26029,9.156,26030,9.156,26031,11.439,26032,9.156,26033,9.156,26034,9.156,26035,9.156,26036,11.439,26037,9.156]],["title/additional-documentation/nestjs-application/testing.html",[869,2.834,1388,3.455,13305,4.163]],["body/additional-documentation/nestjs-application/testing.html",[0,0.185,27,0.157,29,0.407,30,0.001,31,0.3,32,0.098,35,0.462,36,1.67,51,1.117,72,4.495,79,3.535,94,1.177,95,0.026,96,0.606,100,0.809,103,0,104,0,110,1.4,129,1.193,130,1.724,131,1.185,135,1.419,141,3.388,146,1.584,148,0.777,153,0.375,157,0.932,183,0.886,205,0.821,206,1.741,219,2.221,252,2.372,255,2.433,259,1.938,270,0.892,271,0.874,274,1.677,276,0.908,289,3.095,290,0.955,304,1.149,314,0.883,317,2.404,335,1.56,339,2.967,347,1.192,371,3.386,407,1.61,409,2.567,411,1.739,412,4.842,413,1.413,417,1.3,512,1.185,527,4.423,528,3.232,531,4.143,537,1.27,543,4.373,550,1.358,567,2.688,585,1.702,610,2.513,612,2.708,614,1.654,619,1.668,624,4.775,629,1.225,640,1.428,641,3.631,657,2.314,685,2.336,688,1.082,734,3.331,756,0.925,804,3.019,810,1.702,873,1.479,981,7.974,982,1.829,985,2.336,998,4.255,1029,2.708,1040,1.61,1042,1.538,1043,1.61,1072,1.668,1080,3.608,1083,3.6,1088,1.087,1089,1.156,1094,1.739,1212,3.443,1213,1.479,1218,2.633,1220,1.334,1222,1.829,1223,1.739,1224,3.837,1225,5.901,1267,1.638,1328,2.14,1372,4.742,1380,1.739,1381,1.56,1390,1.444,1392,3.535,1393,4.505,1434,1.497,1561,4.497,1564,2.149,1607,1.952,1626,1.3,1627,1.668,1714,3.019,1783,1.428,1784,2.708,1831,1.538,1832,1.479,1834,1.702,1846,1.829,1919,3.703,1922,2.795,1925,1.61,1926,1.413,1928,5.784,1929,2.954,2033,1.527,2140,1.322,2164,1.868,2230,1.702,2232,1.322,2233,2.453,2313,1.702,2366,2.037,2446,2.898,2488,4.673,2512,1.385,2513,3.631,2531,4.576,2543,3.36,2550,2.427,2551,8.414,2553,1.461,2558,1.952,2561,2.037,2587,1.781,2588,2.536,2608,1.399,2636,4.154,2641,5.961,2642,5.397,2643,4.35,2698,0.753,2796,1.242,2834,1.538,2836,2.669,2856,1.739,2859,1.781,2903,1.517,2911,1.428,2915,2.427,2922,4.581,2930,4.775,2935,1.885,2952,1.702,2997,3.389,3242,1.27,3319,2.295,3418,1.045,3430,1.008,3432,1.334,3436,1.192,3633,1.668,3649,2.295,3753,1.638,3814,2.358,3817,7.072,3910,1.829,3972,1.538,4215,2.795,4235,1.61,4236,1.781,4237,1.497,4338,3.019,4528,2.037,4913,1.702,4919,2.75,4920,1.668,4930,1.739,4953,1.538,4967,1.829,4999,4.673,5074,2.056,5098,3.175,5138,1.242,5140,3.489,5146,1.781,5222,2.795,5245,1.428,5278,4.54,5301,1.638,5317,1.781,5319,1.829,5320,2.149,5324,1.702,5404,2.037,5795,1.497,5805,1.517,5927,3.321,6027,5.184,6033,1.952,6178,2.38,6226,2.795,6292,2.954,6302,1.781,6304,1.739,6305,1.885,6306,1.781,6336,1.952,6548,1.885,7138,1.952,7270,1.538,7469,2.896,7509,1.56,7558,1.668,7562,1.739,7786,4.497,7858,1.517,7859,1.638,7869,1.739,7882,1.346,7909,3.537,7957,6.328,8076,1.829,8539,3.092,8831,3.092,8852,1.829,8859,3.535,8865,3.389,8962,2.037,9099,3.389,9116,3.092,9119,1.952,9202,2.954,9429,3.175,9636,2.954,9970,6.591,10395,7.648,11316,5.535,11317,2.149,11480,7.083,11508,1.781,11710,1.358,11716,1.668,11725,1.584,11821,1.829,12134,2.149,12149,3.092,12431,3.175,12497,1.952,12572,5.925,12602,5.925,12728,1.885,12737,2.149,13164,1.781,13305,7.991,13528,1.952,13825,2.149,13960,3.092,14301,4.335,14335,1.885,14446,1.952,14709,2.037,14942,1.885,15199,2.149,15248,2.037,15298,1.829,15305,1.885,15306,2.149,15307,1.885,15389,1.739,15586,1.829,15629,3.703,15896,3.73,15900,3.389,16404,1.952,16714,3.272,16883,3.389,17043,2.149,17402,1.829,18221,4.096,18565,1.952,18575,1.885,18806,1.952,18886,1.829,19530,2.037,19572,2.037,19707,3.535,20666,1.952,20926,1.781,21074,3.092,21159,2.037,21898,1.952,22025,3.092,22075,3.535,22077,2.149,22083,2.149,22275,1.952,22520,1.952,22550,3.73,22552,4.891,22553,5.901,22557,5.901,22562,5.592,23200,3.535,23346,3.175,24219,4.942,24892,2.037,24919,2.149,24975,3.092,24977,3.389,24986,3.389,24997,1.781,25001,1.885,25003,2.037,25006,5.022,25026,1.885,25041,1.952,25053,2.149,25056,2.149,25059,2.149,25061,2.149,25071,1.885,25072,1.952,25076,1.885,25077,2.149,25091,2.149,25092,2.149,25107,3.389,25124,3.535,25139,4.335,25163,2.149,25166,2.037,25171,2.149,25178,2.037,25184,2.037,25246,2.037,25252,2.037,25284,2.037,25298,1.885,25361,2.037,25465,2.149,25483,2.149,25517,2.149,25544,2.149,25548,2.149,25554,2.037,25588,2.037,25601,1.952,25618,1.952,25619,2.037,25627,4.49,25642,4.942,25644,3.73,25670,1.952,25676,7.56,25714,2.037,25780,2.149,25812,2.149,25821,2.037,25822,1.952,25825,3.535,25828,2.037,25841,2.149,25848,2.149,25850,2.149,25861,3.535,25863,2.149,25867,9.067,25885,3.389,25891,3.535,25899,3.73,25901,4.942,25902,2.037,25903,3.73,25904,2.149,25919,3.535,25947,2.149,25948,2.149,25972,2.149,26003,2.149,26005,2.149,26020,2.149,26038,2.32,26039,2.32,26040,2.32,26041,2.037,26042,2.32,26043,5.336,26044,8.488,26045,2.32,26046,4.027,26047,2.32,26048,2.32,26049,4.027,26050,2.32,26051,2.32,26052,2.32,26053,2.037,26054,2.32,26055,2.32,26056,2.32,26057,2.32,26058,2.32,26059,2.32,26060,2.32,26061,2.32,26062,2.32,26063,2.32,26064,2.32,26065,2.32,26066,6.371,26067,2.32,26068,2.149,26069,2.32,26070,2.32,26071,2.149,26072,2.32,26073,2.32,26074,7.904,26075,2.32,26076,2.32,26077,2.32,26078,2.32,26079,2.32,26080,2.149,26081,3.73,26082,4.027,26083,7.21,26084,4.027,26085,2.32,26086,2.32,26087,2.037,26088,2.32,26089,5.336,26090,4.027,26091,4.027,26092,7.904,26093,4.027,26094,2.32,26095,2.32,26096,2.149,26097,2.037,26098,5.336,26099,2.32,26100,5.336,26101,4.027,26102,7.21,26103,4.027,26104,5.336,26105,2.32,26106,2.32,26107,2.32,26108,4.027,26109,8.488,26110,2.32,26111,2.32,26112,2.32,26113,2.32,26114,2.32,26115,2.32,26116,2.32,26117,2.32,26118,2.32,26119,2.32,26120,2.32,26121,2.32,26122,2.32,26123,2.32,26124,2.32,26125,2.32,26126,2.32,26127,4.027,26128,2.32,26129,2.149,26130,5.336,26131,2.32,26132,2.32,26133,2.32,26134,2.32,26135,5.336,26136,2.32,26137,4.027,26138,4.027,26139,2.32,26140,2.32,26141,2.32,26142,2.32,26143,2.32,26144,4.027,26145,4.027,26146,4.027,26147,5.336,26148,2.32,26149,2.32,26150,4.027,26151,4.027,26152,4.027,26153,5.336,26154,2.32,26155,2.32,26156,2.32,26157,4.027,26158,2.32,26159,4.027,26160,2.32,26161,2.32,26162,2.32,26163,2.32,26164,4.027,26165,4.027,26166,2.32,26167,2.32,26168,2.32,26169,2.32,26170,7.21,26171,2.32,26172,5.336,26173,2.149,26174,2.037,26175,2.32,26176,2.32,26177,2.32,26178,2.32,26179,2.32,26180,2.32,26181,2.32,26182,2.32,26183,6.371,26184,2.32,26185,2.32,26186,4.027,26187,4.027,26188,2.32,26189,4.027,26190,2.32,26191,2.32,26192,2.32,26193,2.32,26194,2.32,26195,2.32,26196,2.32,26197,2.149,26198,2.32,26199,2.32,26200,2.32,26201,2.32,26202,2.32,26203,2.32,26204,4.027,26205,2.32,26206,2.32,26207,2.32,26208,2.32,26209,2.32,26210,2.32,26211,2.32,26212,2.32,26213,2.32,26214,2.32,26215,2.32]],["title/additional-documentation/nestjs-application/vscode.html",[869,2.834,1388,3.455,24979,4.704]],["body/additional-documentation/nestjs-application/vscode.html",[5,0.011,30,0.001,72,4.513,103,0.001,104,0.001,561,5.382,640,6.05,806,7.544,876,5.117,981,5.985,2313,7.209,2551,7.711,2800,6.71,2836,6.514,3814,6.995,4236,7.544,4237,7.711,5138,6.396,5234,5.72,5341,7.984,5348,7.367,7270,6.514,7466,8.269,9020,7.367,12604,6.938,15867,8.626,22552,9.172,24979,9.708,25007,10.487,25265,9.103,25426,8.626,25540,9.103,25591,11.926,25617,9.103,25624,8.269,25676,8.269,25716,8.626,25750,9.103,25787,9.103,25818,8.269,25919,8.626,25980,10.487,26216,9.828,26217,9.828,26218,9.828,26219,9.828,26220,9.828,26221,9.828,26222,9.828]],["title/additional-documentation/nestjs-application/git.html",[869,2.834,1388,3.455,24980,4.872]],["body/additional-documentation/nestjs-application/git.html",[30,0.001,31,0.427,55,2.312,72,3.489,77,4.902,103,0,104,0.001,129,2.25,155,2.425,157,1.758,271,2.861,379,3.854,407,5.271,412,3.374,561,3.422,567,2.832,813,6.396,876,3.955,984,6.392,998,5.404,1088,3.56,1115,2.891,1222,5.989,1223,5.694,1393,4.329,1624,6.392,1625,6.172,1626,5.682,1784,6.818,1831,7.564,1850,7.157,1921,5.035,1926,4.627,1937,3.579,1939,4.037,1945,10.306,1946,10.016,2088,3.256,2091,6.392,2232,4.329,2328,4.784,2358,4.367,2512,4.533,2531,4.096,2551,6.543,2553,4.784,2608,4.579,2641,6.95,2912,4.853,3102,4.579,3753,5.363,4905,4.902,4917,4.902,4922,5.694,4926,5.363,5138,4.066,5222,5.271,5319,5.989,5805,7.461,6178,4.489,6216,5.463,6217,5.463,6306,5.832,6571,8.188,7142,8.899,7472,5.271,7739,4.784,7854,5.989,8793,5.694,9970,5.572,11712,7.783,13970,6.667,13993,6.392,15248,6.667,16804,6.667,18221,5.832,18887,6.667,21906,7.037,24980,10.245,24996,6.667,25001,6.172,25011,6.667,25012,6.667,25024,9.602,25028,8.531,25072,10.245,25073,7.037,25205,7.992,25252,10.016,25329,7.037,25486,7.037,25604,9.271,25630,7.037,25651,8.899,25818,8.531,25838,7.037,25902,8.899,25945,7.037,26173,7.037,26174,6.667,26223,7.597,26224,7.597,26225,7.597,26226,7.597,26227,7.597,26228,7.597,26229,7.597,26230,7.597,26231,7.597,26232,7.597,26233,7.597,26234,7.597,26235,7.597,26236,7.597,26237,10.139,26238,7.597,26239,7.597,26240,10.139,26241,7.597,26242,7.597,26243,7.597,26244,7.597,26245,7.597,26246,7.597,26247,7.597,26248,7.597,26249,7.597,26250,7.597,26251,7.597,26252,7.597]],["title/additional-documentation/nestjs-application/keycloak.html",[618,3.736,869,2.834,1388,3.455]],["body/additional-documentation/nestjs-application/keycloak.html",[5,0.004,18,2.267,30,0.001,31,0.614,51,3.358,53,6.246,78,8.237,87,3.518,95,0.107,101,0.012,103,0,104,0,157,1.615,180,1.939,189,4.295,259,1.643,270,1.74,271,1.704,290,1.655,339,3.204,374,1.965,376,5.118,407,3.139,411,3.391,412,4.251,561,3.142,567,2.601,618,8.877,619,3.253,641,2.578,648,2.849,734,1.907,794,3.318,810,3.318,814,5.87,816,3.139,876,5.384,981,4.249,1060,3.089,1083,2.557,1169,2.624,1170,5.362,1283,3.194,1355,4.011,1372,3.682,1381,3.042,1471,3.318,1595,5.668,1619,5.242,1626,3.91,1826,3.585,1831,4.624,1900,2.958,1921,2.999,2061,3.253,2125,3.657,2164,5.454,2221,4.658,2232,2.578,2313,3.318,2345,2.755,2465,6.948,2473,2.816,2543,2.849,2552,5.909,2553,2.849,2557,3.042,2617,5.301,2641,7.16,2831,1.811,2836,2.999,2903,2.958,2920,4.19,3108,8.055,3160,7.16,3242,3.818,3418,3.835,3430,1.965,3612,5.427,3812,5.726,3817,4.624,3908,3.089,4237,2.919,4290,6.537,4905,2.919,4906,7.938,4917,2.919,4919,5.814,4938,3.566,4939,6.011,4946,3.566,4953,4.624,4954,7.545,4955,4.764,4999,3.318,5074,4.348,5140,2.958,5233,8.4,5271,4.393,5303,3.807,5378,3.971,6178,2.674,6297,3.473,6350,3.971,6571,5.726,7413,3.391,7510,2.601,7739,4.393,7786,3.194,7858,4.561,8320,7.021,9020,5.23,9129,5.668,9202,5.118,9429,3.566,9970,3.318,10395,8.876,11725,8.689,11859,3.566,12127,3.807,12430,3.473,12490,2.785,13305,6.123,13728,6.344,14586,7.474,14685,7.474,14688,7.776,14692,3.807,14724,7.347,14820,3.971,14942,3.675,14944,4.19,15629,5.909,15867,3.971,16515,3.675,16545,6.918,16904,4.19,17168,3.807,19616,9.552,22080,3.971,22552,3.473,24975,3.473,24978,3.971,25000,3.971,25028,3.807,25076,3.675,25093,3.971,25133,4.19,25205,5.5,25235,4.19,25268,4.19,25300,4.19,25369,4.19,25609,9.075,25624,8.053,25684,11.005,25699,9.578,25700,7.888,25701,6.462,25702,6.462,25703,6.462,25704,8.865,25705,6.462,25706,6.462,25707,8.865,25709,4.19,25783,6.462,26071,4.19,26080,4.19,26087,3.971,26129,4.19,26253,4.524,26254,4.524,26255,4.524,26256,4.524,26257,9.571,26258,4.524,26259,4.524,26260,4.524,26261,6.977,26262,4.524,26263,4.524,26264,6.977,26265,4.524,26266,4.524,26267,4.524,26268,4.524,26269,4.524,26270,6.977,26271,6.977,26272,6.977,26273,6.977,26274,11.386,26275,6.977,26276,6.977,26277,6.977,26278,6.977,26279,4.524,26280,4.524,26281,4.524,26282,10.34,26283,6.977,26284,6.977,26285,4.524,26286,4.524,26287,6.977,26288,4.524,26289,4.524,26290,4.524,26291,4.524,26292,4.524,26293,4.524,26294,4.524,26295,4.524,26296,6.977,26297,4.524,26298,4.524,26299,6.977,26300,6.977,26301,4.524,26302,4.524,26303,4.524,26304,4.524,26305,4.524,26306,4.524,26307,4.524,26308,4.524,26309,4.524,26310,4.524]],["title/additional-documentation/nestjs-application/rocket.chat.html",[869,2.834,1388,3.455,26311,5.363]],["body/additional-documentation/nestjs-application/rocket.chat.html",[5,0.007,30,0.001,31,0.424,103,0,104,0,145,2.83,412,3.349,789,4.127,804,9.968,876,3.925,985,4.373,997,6.279,1082,5.322,1147,5.788,1193,6.687,1222,5.944,1282,5.944,1833,6.125,2164,4.679,2221,3.669,2465,8.677,2512,4.499,2641,7.706,2800,5.148,2831,4.038,3160,4.592,3430,3.274,3812,5.07,3813,4.641,3817,4.998,4237,4.865,4945,5.53,7413,5.652,8082,5.944,9202,5.53,10596,5.53,11725,6.888,11849,5.148,15773,6.344,16545,6.125,16925,6.617,17927,6.344,18886,5.944,19119,8.488,19616,6.125,21899,6.984,24233,6.344,24902,6.984,25609,6.617,25636,6.344,25684,11.106,25980,6.617,26311,10.53,26312,7.54,26313,7.54,26314,7.54,26315,7.54,26316,7.54,26317,10.088,26318,7.54,26319,7.54,26320,7.54,26321,7.54,26322,7.54,26323,7.54,26324,10.088,26325,7.54,26326,7.54,26327,7.54,26328,7.54,26329,7.54,26330,7.54,26331,7.54,26332,7.54,26333,7.54,26334,7.54,26335,7.54,26336,7.54,26337,7.54,26338,7.54,26339,7.54,26340,7.54,26341,7.54,26342,7.54,26343,7.54,26344,7.54,26345,7.54,26346,7.54,26347,7.54,26348,7.54,26349,7.54,26350,7.54,26351,7.54,26352,7.54,26353,7.54,26354,7.54,26355,7.54,26356,7.54,26357,7.54,26358,10.088,26359,10.088,26360,7.54,26361,7.54]],["title/additional-documentation/nestjs-application/configuration.html",[869,2.834,1388,3.455,2219,2.596]],["body/additional-documentation/nestjs-application/configuration.html",[30,0.001,31,0.49,34,1.046,55,2.062,102,3.25,103,0,104,0,129,1.811,153,0.989,155,1.952,157,1.416,183,2.335,193,3.807,255,2.335,316,4.898,347,3.143,409,5.562,412,2.716,413,3.725,414,6.516,415,3.485,511,3.347,528,3.103,561,3.931,567,2.28,613,3.516,614,2.706,734,4.289,802,4.054,807,4.695,812,3.897,876,3.184,897,4.969,981,3.725,982,4.821,984,10.569,997,3.807,998,4.82,1080,3.026,1115,2.327,1218,3.999,1355,3.516,1372,4.607,1390,5.433,1477,3.122,1627,6.276,1749,3.485,1783,3.765,1832,3.897,1885,7.225,1900,3.999,1919,4.244,1939,3.25,1945,9.017,2164,4.049,2219,2.742,2221,2.976,2232,3.485,2531,5.984,2550,6.69,2551,5.632,2552,6.056,2557,4.113,2570,5.632,2641,3.725,2642,4.176,2834,4.054,2859,6.7,2915,5.261,2927,4.821,2934,5.146,2937,5.146,3078,6.409,3430,2.656,3814,6.871,3817,7.357,4049,4.317,4236,6.7,4237,8.821,4290,4.695,4919,4.176,5003,4.969,5138,3.274,5222,4.244,5247,8.52,5319,4.821,5324,6.402,5373,5.368,5776,3.58,5927,5.433,6033,5.146,6178,5.158,6292,4.486,6304,4.584,6548,4.969,6571,4.113,6794,3.725,7180,4.113,7289,5.785,7373,4.969,7469,4.398,7470,4.584,7642,6.69,7739,5.496,7882,5.063,7887,4.695,8500,4.584,9370,4.969,10599,6.7,11297,4.821,11725,6.949,12496,4.821,12603,7.185,13305,4.398,13960,6.7,14941,8.268,15586,6.881,15629,4.244,16517,4.969,16887,4.584,16903,5.146,17166,4.969,18215,4.821,18221,4.695,19626,6.881,20147,5.368,23148,4.695,24233,5.146,24974,7.344,24975,4.695,24976,5.368,24977,5.146,24978,5.368,24979,4.969,24980,7.344,24981,7.091,24982,5.368,24983,5.368,24984,5.368,24985,8.085,24986,7.344,24987,5.665,24988,5.665,24989,5.665,24990,5.146,24991,5.368,24992,8.085,24993,5.146,24994,5.146,24995,8.085,24996,5.368,24997,4.695,24998,5.146,24999,5.368,25000,5.368,25001,4.969,25002,5.665,25003,5.368,25004,5.665,25005,5.146,25006,4.821,25007,5.368,25008,8.085,25009,8.085,25010,8.933,25011,10.301,25012,5.368,25013,5.665,25014,8.085,25015,5.368,25016,5.665,25017,5.665,25018,5.665,25019,8.085,25020,8.085,25021,5.665,25022,5.665,25023,5.665,25024,5.146,25025,5.665,25026,4.969,25027,5.665,25028,7.344,25029,5.665,25030,5.146,25031,5.665,25032,5.368,25033,5.665,25034,5.146]],["title/additional-documentation/nestjs-application/authorisation.html",[869,2.834,1388,3.455,3910,4.564]],["body/additional-documentation/nestjs-application/authorisation.html",[0,0.076,5,0.005,8,0.441,9,1.025,10,1.551,26,1.866,27,0.086,30,0.001,31,0.346,32,0.048,33,0.101,34,0.879,47,0.645,72,4.403,74,1.697,94,1.121,101,0.007,103,0,104,0,122,1.066,134,1.367,135,1.564,141,1.655,146,1.509,148,0.862,153,1.131,157,0.512,159,0.226,183,3.789,185,2.633,193,0.964,194,2.421,195,1.354,197,1.079,205,1.876,206,1.677,223,0.689,228,0.923,231,0.381,233,0.685,252,2.531,254,1.389,260,1.435,290,3.081,304,1.912,316,1.064,317,1.513,326,2.662,330,5.706,331,4.539,371,2.052,376,3.77,400,0.648,409,3.926,412,4.656,413,1.346,417,1.239,512,1.971,527,0.939,528,2.608,531,3.666,537,1.21,561,0.996,567,1.44,571,2.439,585,1.621,589,0.294,595,0.838,610,4.642,612,4.703,613,3.542,614,0.685,626,1.94,640,3.792,641,2.2,652,1.253,653,0.909,657,1.892,693,3.181,700,1.07,701,1.07,702,1.095,703,3.471,711,1.118,734,3.698,756,0.882,806,1.697,810,3.77,812,3.276,813,5.161,816,1.534,876,1.151,886,1.627,983,1.426,985,5.089,997,1.376,998,1.047,1083,3.952,1092,2.596,1097,1.56,1197,5.825,1213,2.46,1218,6.02,1224,3.696,1237,0.64,1311,4.028,1328,1.175,1372,3.251,1381,1.486,1388,3.676,1390,1.376,1393,2.929,1475,8.335,1477,1.129,1563,3.317,1567,2.047,1568,1.534,1585,1.346,1623,1.94,1626,3.92,1775,1.21,1778,4.84,1783,3.164,1784,3.457,1799,6.138,1801,2.377,1821,2.434,1826,6.544,1831,2.559,1832,4.457,1833,1.796,1834,1.621,1835,1.984,1838,3.098,1842,1.01,1846,1.743,1851,2.964,1868,3.853,1883,4.18,1885,1.361,1886,6.06,1921,5.095,1922,1.534,1924,4.143,1925,2.679,1927,1.486,1928,1.306,1929,4.519,1930,5.029,1937,2.421,1939,3.717,1959,2.047,1962,4.174,1964,1.743,1982,1.409,1986,5.902,1987,1.796,1993,1.445,2027,2.516,2033,4.411,2038,2.46,2049,0.902,2135,2.725,2140,2.929,2164,2.384,2203,1.445,2221,1.076,2232,1.26,2234,2.636,2345,1.346,2346,2.047,2512,3.676,2513,1.26,2531,4.145,2532,4.176,2533,2.047,2543,1.392,2548,3.249,2550,1.332,2553,1.392,2570,6.594,2608,3.098,2641,7.083,2642,2.636,2643,5.249,2685,4.519,2766,6.35,2796,1.183,2831,0.885,2835,1.796,2851,1.743,2859,1.697,2903,5.026,2915,1.332,2927,1.743,2944,1.589,2959,1.015,3011,2.349,3036,3.602,3102,1.332,3109,5.84,3237,1.282,3365,3.946,3418,1.739,3428,1.796,3430,3.592,3431,2.491,3432,3.542,3436,4.926,3521,1.426,3612,5.272,3714,1.426,3717,2.559,3728,3.696,3752,1.426,3813,1.361,3814,2.26,3898,3.087,3912,1.657,3972,4.636,4213,1.796,4215,4.853,4234,1.796,4236,1.697,4237,4.513,4588,1.322,4824,1.86,4910,3.77,4920,1.589,4922,1.657,4926,1.56,5000,1.796,5004,2.491,5005,1.86,5018,5.209,5102,1.534,5136,1.465,5138,1.183,5140,6.487,5234,3.348,5245,2.377,5246,2.047,5249,1.743,5271,1.392,5278,3.879,5301,1.56,5324,5.13,5406,1.743,5805,2.524,5927,4.785,6027,2.776,6288,5.177,6297,1.697,6305,1.796,6388,1.534,6548,1.796,6571,1.486,6668,2.082,7180,1.486,7290,1.509,7465,1.589,7472,1.534,7508,1.589,7555,1.796,7562,2.894,7642,1.332,7739,3.879,7786,1.56,7816,1.94,7817,1.86,7859,1.56,7882,5.089,7884,1.589,7886,3.946,7900,1.743,7905,1.697,8016,2.047,8060,5.407,8068,2.596,8080,1.294,8087,2.832,8319,1.796,8401,1.409,8500,1.657,8831,1.697,9099,1.86,9156,2.894,9202,2.832,9216,5.095,9429,4.857,9636,1.621,9962,1.697,9970,3.77,9971,1.86,10596,1.621,11347,4.176,11508,1.697,11716,1.589,11722,1.743,11849,1.509,12332,1.86,12490,3.164,12501,1.56,12735,1.94,13310,4.761,13824,4.325,13962,1.796,14206,1.94,14446,1.86,14447,4.325,15204,3.576,15246,2.047,15298,3.044,15303,1.796,15389,1.657,15481,1.94,15586,3.044,15603,3.249,15629,2.679,15672,2.047,15683,2.047,15779,3.044,15900,1.86,16027,2.832,16517,3.137,16883,3.249,16887,1.657,16899,1.94,17402,1.743,17782,1.94,17830,3.576,17933,1.94,17959,2.047,18050,1.94,18215,1.743,18565,1.86,18886,3.044,19370,3.389,20227,1.94,20888,2.047,21074,5.901,21892,2.047,21898,1.86,21970,2.047,22073,6.747,22078,4.176,22104,5.706,22220,2.047,22606,2.047,23346,3.044,23347,2.047,24719,3.576,24892,8.082,24993,1.86,24997,3.946,24998,1.86,25005,1.86,25006,1.743,25026,1.796,25071,3.137,25076,5.682,25094,2.047,25102,1.86,25107,3.249,25127,1.94,25142,2.047,25183,3.389,25346,2.047,25426,5.407,25541,1.86,25550,2.047,25553,2.047,25575,1.86,25601,1.86,25620,2.047,25636,1.86,25637,1.94,25714,4.511,25788,2.047,25815,1.94,25818,3.249,25828,1.94,25844,4.761,25854,2.047,25861,1.94,25873,3.576,25891,4.511,25966,3.576,26002,2.047,26041,1.94,26053,1.94,26068,2.047,26081,2.047,26087,1.94,26096,2.047,26174,1.94,26197,3.576,26362,2.211,26363,2.211,26364,3.861,26365,2.211,26366,5.14,26367,2.211,26368,2.211,26369,2.047,26370,6.161,26371,3.861,26372,2.211,26373,2.211,26374,3.861,26375,3.861,26376,3.861,26377,2.211,26378,2.211,26379,3.861,26380,8.774,26381,2.211,26382,2.211,26383,2.211,26384,2.211,26385,2.211,26386,2.211,26387,2.211,26388,2.211,26389,2.211,26390,3.861,26391,2.211,26392,2.211,26393,2.211,26394,2.211,26395,5.14,26396,2.211,26397,3.861,26398,3.861,26399,2.211,26400,3.861,26401,2.211,26402,2.211,26403,2.211,26404,2.211,26405,2.211,26406,2.211,26407,2.211,26408,2.211,26409,2.211,26410,2.211,26411,2.211,26412,2.211,26413,3.861,26414,3.861,26415,2.211,26416,2.211,26417,2.211,26418,2.211,26419,3.861,26420,2.211,26421,2.211,26422,2.211,26423,2.211,26424,2.211,26425,2.211,26426,5.14,26427,2.211,26428,2.211,26429,2.211,26430,2.211,26431,2.211,26432,2.211,26433,2.211,26434,2.211,26435,5.14,26436,2.211,26437,6.161,26438,2.211,26439,2.211,26440,3.861,26441,2.211,26442,2.211,26443,2.211,26444,2.211,26445,2.211,26446,2.211,26447,2.211,26448,2.211,26449,2.211,26450,2.211,26451,2.211,26452,2.211,26453,3.861,26454,2.211,26455,2.211,26456,3.861,26457,2.211,26458,2.211,26459,2.211,26460,2.047,26461,2.211,26462,2.211,26463,2.211,26464,3.861,26465,2.211,26466,2.211,26467,2.211,26468,2.211,26469,2.211,26470,2.211,26471,2.211,26472,2.211,26473,2.211,26474,2.211,26475,2.211,26476,2.211,26477,2.211,26478,2.211,26479,2.211,26480,2.211]],["title/additional-documentation/nestjs-application/code-style.html",[869,2.425,998,2.346,1388,2.956,26097,4.348]],["body/additional-documentation/nestjs-application/code-style.html",[0,0.303,2,1.174,8,1.397,30,0.001,31,0.722,35,1.004,47,0.898,101,0.011,103,0.001,104,0.001,112,0.959,122,2.306,146,5.979,148,0.861,232,2.37,257,3.416,316,5.882,369,7.685,412,3.889,433,1.366,527,5.856,579,2.5,756,3.492,813,4.907,985,6.451,998,4.147,1080,3.855,1083,6.285,1783,5.39,1832,7.088,1838,5.278,1968,6.423,2033,3.321,2232,6.338,2358,5.034,2641,6.773,2643,5.979,3328,8.111,3614,7.368,3862,7.114,4247,8.111,5271,5.514,6343,7.685,7615,7.368,9020,6.563,12726,11.321,16840,6.903,17167,8.111,24997,6.722,25102,7.368,25370,8.111,25394,8.111,25610,8.111,25670,7.368,25885,7.368,26041,7.685,26053,9.761,26097,7.685,26460,8.111,26481,8.756,26482,8.756,26483,8.756,26484,8.756,26485,8.756,26486,8.756,26487,8.756,26488,8.756]],["title/additional-documentation/nestjs-application/s3clientmodule.html",[869,2.834,1388,3.455,12413,4.163]],["body/additional-documentation/nestjs-application/s3clientmodule.html",[0,0.387,30,0.001,31,0.496,101,0.016,103,0.001,104,0.001,135,1.455,176,5.674,219,4.872,228,1.586,252,3.24,254,3.178,259,4.062,276,3.458,407,8.515,412,5.45,433,1.085,567,3.294,589,1.174,610,3.484,641,5.034,652,1.797,734,4.713,806,6.781,813,4.951,1218,7.312,1835,4.539,2219,3.96,2233,5.38,2234,6.031,2641,5.38,2831,4.913,3898,4.427,4921,7.52,5319,6.963,7306,7.042,7307,6.621,7308,6.031,7309,6.031,7310,6.031,7311,6.031,9001,11.218,12103,9.816,12332,7.432,12426,7.432,12576,7.176,12577,6.479,14724,6.781,15779,6.963,18576,7.432,23346,6.963,23353,8.182,26025,8.182,26369,8.182,26489,8.833,26490,8.833,26491,8.833,26492,8.833,26493,8.833,26494,12.272,26495,8.833,26496,8.833,26497,8.833,26498,8.833]]],"invertedIndex":[["",{"_index":30,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["0",{"_index":145,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupUcMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomsService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["0.0.19",{"_index":24838,"title":{},"body":{"dependencies.html":{}}}],["0.1.1",{"_index":24913,"title":{},"body":{"dependencies.html":{}}}],["0.1.13",{"_index":24943,"title":{},"body":{"dependencies.html":{}}}],["0.1.4",{"_index":24952,"title":{},"body":{"dependencies.html":{}}}],["0.1.7",{"_index":24970,"title":{},"body":{"dependencies.html":{}}}],["0.14.0",{"_index":24872,"title":{},"body":{"dependencies.html":{}}}],["0.4.0",{"_index":24858,"title":{},"body":{"dependencies.html":{}}}],["0.4.11",{"_index":24846,"title":{},"body":{"dependencies.html":{}}}],["0.5.1",{"_index":24965,"title":{},"body":{"dependencies.html":{}}}],["0.5.19",{"_index":24955,"title":{},"body":{"dependencies.html":{}}}],["0.5.2",{"_index":24927,"title":{},"body":{"dependencies.html":{}}}],["0.5.4",{"_index":24917,"title":{},"body":{"dependencies.html":{}}}],["0.5.9",{"_index":24847,"title":{},"body":{"dependencies.html":{}}}],["0.6.0",{"_index":24918,"title":{},"body":{"dependencies.html":{}}}],["0.7.0",{"_index":24954,"title":{},"body":{"dependencies.html":{}}}],["0.8.0",{"_index":24853,"title":{},"body":{"dependencies.html":{}}}],["0.8.1",{"_index":24921,"title":{},"body":{"dependencies.html":{}}}],["0.9.7",{"_index":24915,"title":{},"body":{"dependencies.html":{}}}],["0000d231816abba584714c9e",{"_index":26001,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["0000dcfbfb5c7a3f00bf21ab",{"_index":6770,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["0000dcfbfb5c7a3f00bf21ab'})@ismongoid",{"_index":6766,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["05",{"_index":25998,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["08",{"_index":21103,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["0]?.id",{"_index":14582,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["1",{"_index":756,"title":{"classes/ContextExternalToolIdParams-1.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/FileDto-1.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/LessonUrlParams-1.html":{},"classes/LoginResponse-1.html":{},"interfaces/S3Config-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/VideoConference-1.html":{}},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RetryOptions.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/Scope.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SortHelper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["1.0.0",{"_index":24938,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":24821,"title":{},"body":{"dependencies.html":{}}}],["1.0.5",{"_index":24897,"title":{},"body":{"dependencies.html":{}}}],["1.0.56",{"_index":24886,"title":{},"body":{"dependencies.html":{}}}],["1.0a",{"_index":16025,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"dependencies.html":{}}}],["1.1",{"_index":26186,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.1.1",{"_index":24935,"title":{},"body":{"dependencies.html":{}}}],["1.1.4",{"_index":24944,"title":{},"body":{"dependencies.html":{}}}],["1.15.2",{"_index":24865,"title":{},"body":{"dependencies.html":{}}}],["1.17.3",{"_index":24891,"title":{},"body":{"dependencies.html":{}}}],["1.2",{"_index":26187,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.2.0",{"_index":24863,"title":{},"body":{"dependencies.html":{}}}],["1.2.2",{"_index":24936,"title":{},"body":{"dependencies.html":{}}}],["1.21.2",{"_index":24862,"title":{},"body":{"dependencies.html":{}}}],["1.25.0",{"_index":24898,"title":{},"body":{"dependencies.html":{}}}],["1.25.1",{"_index":24840,"title":{},"body":{"dependencies.html":{}}}],["1.28.1",{"_index":24905,"title":{},"body":{"dependencies.html":{}}}],["1.3.4",{"_index":24822,"title":{},"body":{"dependencies.html":{}}}],["1.6.0",{"_index":24867,"title":{},"body":{"dependencies.html":{}}}],["1.6.2",{"_index":24861,"title":{},"body":{"dependencies.html":{}}}],["1.9.4",{"_index":24929,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":758,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"classes/GroupPaginationParams.html":{},"injectables/HydraOauthUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["10.0.1",{"_index":24833,"title":{},"body":{"dependencies.html":{}}}],["10.1.1",{"_index":24831,"title":{},"body":{"dependencies.html":{}}}],["10.2.4",{"_index":24829,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":745,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionExecutionParams.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["1000",{"_index":1743,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CourseFactory.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["10000",{"_index":21928,"title":{},"body":{"classes/TaskFactory.html":{}}}],["100000",{"_index":8050,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/FileRecordFactory.html":{},"classes/JwtTestFactory.html":{}}}],["1010",{"_index":24684,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["1055",{"_index":1942,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["10start",{"_index":26319,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["11",{"_index":25217,"title":{},"body":{"license.html":{}}}],["12.12.23",{"_index":19761,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["123",{"_index":15370,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["1234",{"_index":26230,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["12345",{"_index":21534,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["124",{"_index":16924,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["13",{"_index":4660,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/GroupUcMapper.html":{},"license.html":{}}}],["13.1.0",{"_index":24939,"title":{},"body":{"dependencies.html":{}}}],["13.6.7",{"_index":24972,"title":{},"body":{"dependencies.html":{}}}],["1337",{"_index":6103,"title":{},"body":{"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["14.14",{"_index":12172,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["1496",{"_index":11138,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["15",{"_index":5370,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["150",{"_index":4511,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{}}}],["1547",{"_index":15480,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["15672:15672",{"_index":25686,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["15:20:30.888",{"_index":26000,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["16",{"_index":25377,"title":{},"body":{"license.html":{}}}],["172.29.173.128",{"_index":26323,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["173",{"_index":2510,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["17t14:17:51.958+00:00",{"_index":21104,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["18.5.0",{"_index":24895,"title":{},"body":{"dependencies.html":{}}}],["19",{"_index":25037,"title":{},"body":{"license.html":{}}}],["1993",{"_index":26243,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["1996",{"_index":25223,"title":{},"body":{"license.html":{}}}],["2",{"_index":146,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/CollectionFilePath.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/LoginController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["2.'})@apiresponse({status",{"_index":15948,"title":{},"body":{"controllers/LoginController.html":{}}}],["2.0",{"_index":6350,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["2.0.0",{"_index":24869,"title":{},"body":{"dependencies.html":{}}}],["2.0.1",{"_index":24836,"title":{},"body":{"dependencies.html":{}}}],["2.0.5",{"_index":24907,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":24828,"title":{},"body":{"dependencies.html":{}}}],["2.1.2",{"_index":24871,"title":{},"body":{"dependencies.html":{}}}],["2.1.5",{"_index":24903,"title":{},"body":{"dependencies.html":{}}}],["2.1375.0",{"_index":24860,"title":{},"body":{"dependencies.html":{}}}],["2.19.2",{"_index":24914,"title":{},"body":{"dependencies.html":{}}}],["2.2.5",{"_index":24842,"title":{},"body":{"dependencies.html":{}}}],["2.2.6",{"_index":24930,"title":{},"body":{"dependencies.html":{}}}],["2.3.2",{"_index":24899,"title":{},"body":{"dependencies.html":{}}}],["2.8.1",{"_index":24881,"title":{},"body":{"dependencies.html":{}}}],["2.8.32",{"_index":24844,"title":{},"body":{"dependencies.html":{}}}],["2.9.0",{"_index":24868,"title":{},"body":{"dependencies.html":{}}}],["20",{"_index":25221,"title":{},"body":{"license.html":{}}}],["200",{"_index":333,"title":{},"body":{"controllers/AccountController.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["2007",{"_index":25039,"title":{},"body":{"license.html":{}}}],["200})@apiinternalservererrorresponse({description",{"_index":23831,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["201",{"_index":3214,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["202",{"_index":9111,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionRequestsController.html":{}}}],["2023",{"_index":21102,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["204",{"_index":3259,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["204})@apiresponse({status",{"_index":3222,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["21.1.2",{"_index":24823,"title":{},"body":{"dependencies.html":{}}}],["23.3.0",{"_index":24901,"title":{},"body":{"dependencies.html":{}}}],["24",{"_index":7766,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{}}}],["250",{"_index":3875,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["28",{"_index":25508,"title":{},"body":{"license.html":{}}}],["2984",{"_index":19479,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["2a$10$/dsztv5o6p5piw2ewjsxw.4nhovmjgba.qnwitmuz/uvuc40b.uhu",{"_index":584,"title":{},"body":{"classes/AccountFactory.html":{}}}],["2auth",{"_index":25646,"title":{},"body":{"todo.html":{}}}],["3",{"_index":3862,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LdapService.html":{},"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["3.0",{"_index":25615,"title":{},"body":{"properties.html":{}}}],["3.0.0",{"_index":24827,"title":{},"body":{"dependencies.html":{}}}],["3.0.1",{"_index":24830,"title":{},"body":{"dependencies.html":{}}}],["3.0.2",{"_index":24946,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":24932,"title":{},"body":{"dependencies.html":{}}}],["3.100.0",{"_index":24812,"title":{},"body":{"dependencies.html":{}}}],["3.13.0",{"_index":24947,"title":{},"body":{"dependencies.html":{}}}],["3.2.2",{"_index":24851,"title":{},"body":{"dependencies.html":{}}}],["3.3",{"_index":17169,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["3.3.4",{"_index":24928,"title":{},"body":{"dependencies.html":{}}}],["3.8.2",{"_index":24968,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":2909,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionRequestBodyProps.html":{},"license.html":{}}}],["300",{"_index":15197,"title":{},"body":{"injectables/LdapService.html":{}}}],["3000:3000",{"_index":26356,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["302",{"_index":13589,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["3030/api/v3/docs",{"_index":25772,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["3030/docs",{"_index":25777,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["31",{"_index":25999,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["335",{"_index":13865,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["3532",{"_index":26244,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["389:389",{"_index":26283,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["3990",{"_index":1947,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["4",{"_index":8500,"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":24820,"title":{},"body":{"dependencies.html":{}}}],["4.0.1",{"_index":24937,"title":{},"body":{"dependencies.html":{}}}],["4.1.6",{"_index":24960,"title":{},"body":{"dependencies.html":{}}}],["4.13.2",{"_index":24890,"title":{},"body":{"dependencies.html":{}}}],["4.17.19",{"_index":24911,"title":{},"body":{"dependencies.html":{}}}],["4.18.2",{"_index":24889,"title":{},"body":{"dependencies.html":{}}}],["4.2.0",{"_index":24883,"title":{},"body":{"dependencies.html":{}}}],["4.2.5",{"_index":24873,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":24866,"title":{},"body":{"dependencies.html":{}}}],["4.x",{"_index":25679,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["400",{"_index":337,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["400/bad",{"_index":26015,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["401",{"_index":6315,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthRejectableBody.html":{}}}],["4011:80",{"_index":26271,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["403",{"_index":342,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["404",{"_index":345,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"todo.html":{}}}],["409/conflict",{"_index":26014,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["4096",{"_index":8032,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["43200",{"_index":2901,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionRequestService.html":{}}}],["4444",{"_index":25735,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["456",{"_index":15375,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["47494638",{"_index":10459,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["4xx",{"_index":12815,"title":{},"body":{"controllers/GroupController.html":{}}}],["5",{"_index":18571,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["5.0.0",{"_index":24855,"title":{},"body":{"dependencies.html":{}}}],["5.0.1",{"_index":24856,"title":{},"body":{"dependencies.html":{}}}],["5.0.12",{"_index":24815,"title":{},"body":{"dependencies.html":{}}}],["5.1.1",{"_index":24934,"title":{},"body":{"dependencies.html":{}}}],["5.2.1",{"_index":24826,"title":{},"body":{"dependencies.html":{}}}],["5.5.3",{"_index":24825,"title":{},"body":{"dependencies.html":{}}}],["500",{"_index":10020,"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":20690,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["5069",{"_index":1996,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["5672",{"_index":25688,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["5672:5672",{"_index":25685,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["59",{"_index":14565,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["5xx",{"_index":12817,"title":{},"body":{"controllers/GroupController.html":{}}}],["6.0.0",{"_index":24878,"title":{},"body":{"dependencies.html":{}}}],["6.1.3",{"_index":24879,"title":{},"body":{"dependencies.html":{}}}],["6.12.3",{"_index":24916,"title":{},"body":{"dependencies.html":{}}}],["6.2.2",{"_index":24931,"title":{},"body":{"dependencies.html":{}}}],["6.9.7",{"_index":24940,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":7767,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/S3ClientAdapter.html":{},"license.html":{}}}],["60000",{"_index":19257,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["64",{"_index":26227,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["699615164",{"_index":25639,"title":{},"body":{"todo.html":{}}}],["6b",{"_index":25294,"title":{},"body":{"license.html":{}}}],["6d",{"_index":25313,"title":{},"body":{"license.html":{}}}],["7",{"_index":11864,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/TaskUC.html":{},"license.html":{}}}],["7.0.0",{"_index":24882,"title":{},"body":{"dependencies.html":{}}}],["7.1.10",{"_index":24834,"title":{},"body":{"dependencies.html":{}}}],["7.3.1",{"_index":24948,"title":{},"body":{"dependencies.html":{}}}],["7.5.7",{"_index":24969,"title":{},"body":{"dependencies.html":{}}}],["720",{"_index":2907,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["7776000",{"_index":9257,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["789",{"_index":15376,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["8",{"_index":12144,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["8.1.0",{"_index":24875,"title":{},"body":{"dependencies.html":{}}}],["8.1.1",{"_index":24893,"title":{},"body":{"dependencies.html":{}}}],["8.3.0",{"_index":24967,"title":{},"body":{"dependencies.html":{}}}],["8.8.2",{"_index":24849,"title":{},"body":{"dependencies.html":{}}}],["80",{"_index":25770,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080",{"_index":25742,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080:8080",{"_index":25701,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["8443:8443",{"_index":25702,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["86400000",{"_index":11930,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/TaskFactory.html":{}}}],["885",{"_index":24686,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["89504e47",{"_index":10457,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["9.0.0",{"_index":24906,"title":{},"body":{"dependencies.html":{}}}],["9.2.0",{"_index":24824,"title":{},"body":{"dependencies.html":{}}}],["9/._",{"_index":22500,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["90",{"_index":9421,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["9000:9000",{"_index":25693,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001",{"_index":25698,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001:9001",{"_index":25694,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["91",{"_index":17520,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["9229",{"_index":25731,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["99",{"_index":893,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["990",{"_index":11507,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["999",{"_index":25014,"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":12626,"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":12624,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9]{24",{"_index":3198,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["9a",{"_index":8002,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["_",{"_index":694,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/GlobalErrorFilter.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["_${now.getdate()}_${now.gethours()}_${now.getminutes()}_${now.getseconds",{"_index":5244,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_.pick(params",{"_index":708,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["_.random(35).tostring(36)).join",{"_index":16542,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.snakecase(classname).touppercase",{"_index":12711,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.snakecase(exceptionname).touppercase",{"_index":12721,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.spec.ts",{"_index":25905,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["_.startcase(exceptionname",{"_index":12722,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.startcase(name",{"_index":12712,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.test.[ts|js",{"_index":25749,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["_.times(20",{"_index":16541,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.union(userpermissions",{"_index":23777,"title":{},"body":{"classes/UserFactory.html":{}}}],["_\\w\\d",{"_index":16553,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["__v",{"_index":11630,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_allowemptyquery",{"_index":7007,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":18159,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_collectmetricsroutemetrics",{"_index":18160,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_columnboardid",{"_index":5600,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["_contextid",{"_index":3692,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_contexttype",{"_index":3694,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["_creatorid",{"_index":6669,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_em",{"_index":2450,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["_id",{"_index":789,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["_id.$oid",{"_index":5338,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_instance",{"_index":18161,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_iscopyfrom",{"_index":11823,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_isenabled",{"_index":18162,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_lockid",{"_index":11594,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_oauthconfigcache",{"_index":14821,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["_operator",{"_index":7008,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":8167,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["_ownerid",{"_index":11595,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_parentid",{"_index":6671,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_port",{"_index":18163,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_queries",{"_index":7009,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":18164,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_schoolid",{"_index":6673,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_self",{"_index":6063,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["_updatedat",{"_index":1075,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["a.getmetadata().title",{"_index":8515,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["a.localecompare(b",{"_index":20942,"title":{},"body":{"classes/SortHelper.html":{}}}],["a.m",{"_index":25031,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["a.position",{"_index":3605,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["a.userid.$oid",{"_index":15010,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["a.width",{"_index":16423,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["a11ytitle",{"_index":6568,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["a@b.de",{"_index":13507,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["aaa",{"_index":26072,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["abbreviation",{"_index":7493,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["ability",{"_index":25353,"title":{},"body":{"license.html":{}}}],["aborted",{"_index":14985,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["above",{"_index":19626,"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":25244,"title":{},"body":{"license.html":{}}}],["absolute",{"_index":5228,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["abstract",{"_index":9,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"injectables/AccountIdmToDtoMapper.html":{},"interfaces/AuthorizableObject.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"entities/CourseNews.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PaginationResponse.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["abstractaccountservice",{"_index":1,"title":{"classes/AbstractAccountService.html":{}},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:100",{"_index":920,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:109",{"_index":905,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:114",{"_index":906,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:118",{"_index":918,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:123",{"_index":917,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:128",{"_index":922,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:147",{"_index":913,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:19",{"_index":909,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:25",{"_index":914,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:30",{"_index":910,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:35",{"_index":911,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:43",{"_index":912,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:48",{"_index":916,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:84",{"_index":921,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:92",{"_index":919,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractbootstrapconsole",{"_index":22548,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["abstraction",{"_index":26369,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["abstraction/detail",{"_index":25810,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractions",{"_index":25846,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractlaunchstrategy",{"_index":2739,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:105",{"_index":2774,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:128",{"_index":2777,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:139",{"_index":2780,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:155",{"_index":2767,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:18",{"_index":2759,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:181",{"_index":2795,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:19",{"_index":16981,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:218",{"_index":2792,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:24",{"_index":2797,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:249",{"_index":2771,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:33",{"_index":2761,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:40",{"_index":2785,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:64",{"_index":2787,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:79",{"_index":2782,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:9",{"_index":2756,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstracturlhandler",{"_index":105,"title":{"classes/AbstractUrlHandler.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:11",{"_index":4183,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["abstracturlhandler:19",{"_index":4179,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:24",{"_index":4181,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:7",{"_index":4180,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:9",{"_index":8004,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["acacac",{"_index":7565,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["accept",{"_index":189,"title":{},"body":{"classes/AcceptQuery.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["accept(visitor",{"_index":3068,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptance",{"_index":25420,"title":{},"body":{"license.html":{}}}],["acceptasync",{"_index":3061,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["acceptasync(visitor",{"_index":3072,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptconsentrequest",{"_index":17367,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequest(challenge",{"_index":17373,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequestbody",{"_index":160,"title":{"interfaces/AcceptConsentRequestBody.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["accepted",{"_index":9112,"title":{},"body":{"injectables/DeletionClient.html":{},"todo.html":{}}}],["acceptloginrequest",{"_index":17525,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptloginrequest(challenge",{"_index":17597,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptloginrequest(currentuserid",{"_index":17529,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["acceptloginrequestbody",{"_index":179,"title":{"interfaces/AcceptLoginRequestBody.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest",{"_index":17406,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(@param",{"_index":17484,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptlogoutrequest(challenge",{"_index":17599,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(params",{"_index":17411,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptquery",{"_index":186,"title":{"classes/AcceptQuery.html":{}},"body":{"classes/AcceptQuery.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["accepts",{"_index":192,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["access",{"_index":371,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ErrorLoggable.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/JwtExtractor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthClientBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ServerController.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["access,@typescript",{"_index":1093,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["access.token.claim",{"_index":14786,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["access_token",{"_index":177,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["accessed",{"_index":7887,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["accessible",{"_index":25099,"title":{},"body":{"license.html":{}}}],["accessing",{"_index":25863,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["accesskeyid",{"_index":7310,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["accessors",{"_index":735,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassSourceOptions.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"injectables/DeletionLogRepo.html":{},"classes/DeletionRequest.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"classes/Group.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolYearRepo.html":{},"classes/Scope.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"injectables/TaskRepo.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["accesstoken",{"_index":1605,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/ProvisioningService.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{}}}],["accesstokendto",{"_index":16014,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accesstokendto.accesstoken",{"_index":16016,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accompanied",{"_index":25279,"title":{},"body":{"license.html":{}}}],["accompanies",{"_index":25586,"title":{},"body":{"license.html":{}}}],["accomplish",{"_index":25101,"title":{},"body":{"license.html":{}}}],["accord",{"_index":25243,"title":{},"body":{"license.html":{}}}],["according",{"_index":25578,"title":{},"body":{"license.html":{}}}],["account",{"_index":94,"title":{"entities/Account.html":{}},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/EtherpadService.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"classes/TestApiClient.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["account${sequence",{"_index":588,"title":{},"body":{"classes/AccountFactory.html":{}}}],["account's",{"_index":13917,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["account.'})@apiresponse({status",{"_index":336,"title":{},"body":{"controllers/AccountController.html":{}}}],["account._id.$oid",{"_index":15020,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.activated",{"_index":485,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.attdbcaccountid",{"_index":602,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcsystemid",{"_index":604,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcuserid",{"_index":603,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.createdat",{"_index":481,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.createddate",{"_index":601,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["account.credentialhash",{"_index":486,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.email",{"_index":14880,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.expiresat",{"_index":487,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.factory",{"_index":696,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.firstname",{"_index":14881,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.id",{"_index":480,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["account.interface",{"_index":15003,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.interface.ts",{"_index":14432,"title":{},"body":{"interfaces/JsonAccount.html":{}}}],["account.lastname",{"_index":14882,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.lasttriedfailedlogin",{"_index":488,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["account.lasttriedfailedlogin.gettime",{"_index":1742,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["account.module",{"_index":281,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["account.params.ts",{"_index":17923,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:13",{"_index":17934,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:24",{"_index":17932,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:33",{"_index":17928,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:42",{"_index":17929,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:51",{"_index":17930,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.password",{"_index":489,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["account.response",{"_index":879,"title":{},"body":{"classes/AccountSearchListResponse.html":{}}}],["account.service.abstract",{"_index":925,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["account.systemid",{"_index":938,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["account.systemid?.tostring",{"_index":490,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.test.factory.ts",{"_index":691,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:25",{"_index":23587,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:30",{"_index":23580,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:36",{"_index":23584,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:51",{"_index":23586,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:63",{"_index":23582,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.token",{"_index":491,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.updatedat",{"_index":482,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{}}}],["account.userid",{"_index":838,"title":{},"body":{"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{}}}],["account.userid.$oid",{"_index":15021,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.userid?.tostring",{"_index":483,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{}}}],["account.username",{"_index":484,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/TestApiClient.html":{}}}],["account?.id",{"_index":1004,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["account?.systemid?.tostring",{"_index":1005,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountapimodule",{"_index":253,"title":{"modules/AccountApiModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["accountbyidbodyparams",{"_index":284,"title":{"classes/AccountByIdBodyParams.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{}}}],["accountbyidparams",{"_index":306,"title":{"classes/AccountByIdParams.html":{}},"body":{"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{}}}],["accountconfig",{"_index":310,"title":{"interfaces/AccountConfig.html":{}},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["accountcontroller",{"_index":275,"title":{"controllers/AccountController.html":{}},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountcopy",{"_index":24161,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountdbcaccountid",{"_index":13922,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdbcuserid",{"_index":13924,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdto",{"_index":66,"title":{"classes/AccountDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountdto.activated",{"_index":942,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.credentialhash",{"_index":947,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.expiresat",{"_index":943,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.id",{"_index":935,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.lasttriedfailedlogin",{"_index":944,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.password",{"_index":945,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.systemid",{"_index":939,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.token",{"_index":948,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.username",{"_index":941,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdtos",{"_index":494,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities",{"_index":475,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountentities[0",{"_index":493,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities[1",{"_index":496,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentity",{"_index":928,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper",{"_index":464,"title":{"classes/AccountEntityToDtoMapper.html":{}},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.mapaccountstodto(accountentities",{"_index":931,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(await",{"_index":964,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(foundaccounts",{"_index":495,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentitytodtomapper.mapsearchresult(accountentities",{"_index":956,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapsearchresult(await",{"_index":988,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.maptodto(account",{"_index":950,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.maptodto(accountentity",{"_index":498,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountfactory",{"_index":499,"title":{"classes/AccountFactory.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountfactory.define(account",{"_index":587,"title":{},"body":{"classes/AccountFactory.html":{}}}],["accountfactory.withuser(user).build(accountparams",{"_index":710,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountid",{"_index":85,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["accountid?.tostring",{"_index":1002,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountidmtodtomapper",{"_index":590,"title":{"injectables/AccountIdmToDtoMapper.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapper:6",{"_index":598,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["accountidmtodtomapperdb",{"_index":596,"title":{"classes/AccountIdmToDtoMapperDb.html":{}},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory",{"_index":687,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory(configservice",{"_index":683,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperidm",{"_index":605,"title":{"classes/AccountIdmToDtoMapperIdm.html":{}},"body":{"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountlookupservice",{"_index":607,"title":{"injectables/AccountLookupService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountmodule",{"_index":264,"title":{"modules/AccountModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{}}}],["accountparams",{"_index":689,"title":{"interfaces/AccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountpassword",{"_index":15861,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountrepo",{"_index":668,"title":{"injectables/AccountRepo.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountresponse",{"_index":334,"title":{"classes/AccountResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountresponsemapper",{"_index":828,"title":{"classes/AccountResponseMapper.html":{}},"body":{"classes/AccountResponseMapper.html":{}}}],["accounts",{"_index":230,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["accounts.'})@apiresponse({status",{"_index":375,"title":{},"body":{"controllers/AccountController.html":{}}}],["accounts.filter((foundaccount",{"_index":991,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accounts.find((a",{"_index":15009,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["accounts.find((foundaccount",{"_index":1728,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["accounts.length",{"_index":14966,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["accounts.map((accountentity",{"_index":497,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accounts_allowanonymousread=false",{"_index":26339,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowemailchange=false",{"_index":26338,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowrealnamechange=false",{"_index":26336,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowusernamechange=false",{"_index":26337,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_method=get",{"_index":26354,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_url=http://localhost:4000/rocketchat/authget",{"_index":26335,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_enabled=true",{"_index":26333,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_url=http://localhost:4000/rocketchat/iframe",{"_index":26334,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_activating=false",{"_index":26340,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_deactivating=false",{"_index":26341,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_setdefaultavatar=false",{"_index":26352,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_usedefaultblockeddomainslist=false",{"_index":26342,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accountsavedto",{"_index":64,"title":{"classes/AccountSaveDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/OidcProvisioningService.html":{}}}],["accountsavedto:21",{"_index":455,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:26",{"_index":449,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:30",{"_index":452,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:34",{"_index":443,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:38",{"_index":453,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:42",{"_index":451,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:46",{"_index":447,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:5",{"_index":438,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:50",{"_index":445,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:54",{"_index":441,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:57",{"_index":446,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:7",{"_index":437,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:9",{"_index":439,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsearchlistresponse",{"_index":372,"title":{"classes/AccountSearchListResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountsearchqueryparams",{"_index":366,"title":{"classes/AccountSearchQueryParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{}}}],["accountsearchtype",{"_index":884,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["accountservice",{"_index":666,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountservicedb",{"_index":669,"title":{"injectables/AccountServiceDb.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountserviceidm",{"_index":670,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountsfile",{"_index":13755,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["accountuc",{"_index":266,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountuserid",{"_index":15864,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountvalidationservice",{"_index":667,"title":{"injectables/AccountValidationService.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{}}}],["accumulator",{"_index":24365,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["achieve",{"_index":25589,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["achieved",{"_index":26171,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["acknowledges",{"_index":25193,"title":{},"body":{"license.html":{}}}],["acquired",{"_index":25466,"title":{},"body":{"license.html":{}}}],["acr",{"_index":181,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["acr_values",{"_index":17695,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["act",{"_index":26071,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["action",{"_index":1197,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/BaseDomainObject.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LessonRule.html":{},"classes/PatchMyAccountParams.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["action.enum",{"_index":1779,"title":{},"body":{"interfaces/AuthorizationContext.html":{}}}],["action.read",{"_index":1793,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskUC.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["action.write",{"_index":1792,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{}}}],["actions",{"_index":25426,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.loggable",{"_index":18041,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["actions.loggable.ts",{"_index":17989,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:4",{"_index":17991,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:7",{"_index":17992,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.read",{"_index":2533,"title":{},"body":{"classes/BaseDomainObject.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.write",{"_index":26426,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["activated",{"_index":208,"title":{},"body":{"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/LibraryName.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OidcProvisioningService.html":{},"classes/Path.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["activation",{"_index":288,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["active",{"_index":4917,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IntrospectResponse.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RetryOptions.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["activities",{"_index":25138,"title":{},"body":{"license.html":{}}}],["activity",{"_index":25503,"title":{},"body":{"license.html":{}}}],["actor",{"_index":25849,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["actual",{"_index":25486,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["actualkeys",{"_index":2628,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["actualkeys.has(key",{"_index":2634,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["actualkeys.size",{"_index":2632,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["actually",{"_index":25329,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["adapt",{"_index":25120,"title":{},"body":{"license.html":{}}}],["adapter",{"_index":5000,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adapter.mapper",{"_index":5035,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["adapter.mapper.ts",{"_index":5045,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.mapper.ts:16",{"_index":5048,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.module.ts",{"_index":5072,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["adapter.service",{"_index":3903,"title":{},"body":{"modules/BoardModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["adapter.service.ts",{"_index":9677,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:11",{"_index":17117,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:13",{"_index":9681,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapter.service.ts:14",{"_index":17119,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:23",{"_index":17124,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:37",{"_index":17122,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:8",{"_index":9679,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapters",{"_index":26211,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["add",{"_index":1626,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TestApiClient.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addchild",{"_index":3062,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addchild(child",{"_index":3075,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addclientprotocolmappers",{"_index":14621,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addclientprotocolmappers(defaultclientinternalid",{"_index":14638,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["added",{"_index":2915,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/TaskUC.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["added.concat(updated",{"_index":24787,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["added.foreach((clientid",{"_index":24790,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["addexecutionrequest",{"_index":14705,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addexternaloauth2datatoconfig",{"_index":10996,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addexternaloauth2datatoconfig(config",{"_index":11009,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addgroupmoderator(groupname",{"_index":1136,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adding",{"_index":526,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UsersList.html":{}}}],["additional",{"_index":1388,"title":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["additionalinfo",{"_index":13872,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["additionally",{"_index":25005,"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":14974,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["additionalpermissions",{"_index":713,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["additionaly",{"_index":25724,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["addlessons",{"_index":5741,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addlessons(builder",{"_index":5750,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addon",{"_index":11709,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addons",{"_index":11707,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addorganization",{"_index":5852,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addorganization(props",{"_index":5861,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addparameters",{"_index":2744,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addparameters(propertydata",{"_index":2763,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addprometheusmetricsmiddlewaresifenabled",{"_index":18222,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["addproperty",{"_index":2745,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addproperty(propertydata",{"_index":2768,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addquery",{"_index":7014,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7028,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":12741,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addreferences(anotherreference",{"_index":8508,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addresourcetofile",{"_index":5853,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addresourcetofile(props",{"_index":5865,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization",{"_index":6011,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization(props",{"_index":5878,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["address",{"_index":17927,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["addressed",{"_index":25117,"title":{},"body":{"license.html":{}}}],["addroom",{"_index":8444,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["addroom(room",{"_index":8465,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["adds",{"_index":5246,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addtasks",{"_index":5742,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addtasks(builder",{"_index":5755,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addteacherroleifadmin",{"_index":19725,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addteacherroleifadmin(externaluser",{"_index":19731,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addto",{"_index":11708,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addtokentowhitelist",{"_index":14505,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtokentowhitelist(redisidentifier",{"_index":14513,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist",{"_index":14489,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist(accountid",{"_index":14495,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["adduser",{"_index":12769,"title":{},"body":{"classes/Group.html":{}}}],["adduser(user",{"_index":12772,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["adduserids",{"_index":16950,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adduserids.tostring",{"_index":16954,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adjust",{"_index":6084,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["adm",{"_index":5868,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["admin",{"_index":12490,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["admin_api__allowed_api_keys",{"_index":20521,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{}}}],["admin_api_client_api_key",{"_index":9134,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_api_client_base_url",{"_index":9135,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_pass=huhu",{"_index":26331,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["adminaccount",{"_index":724,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["adminapiservermodule",{"_index":1007,"title":{"modules/AdminApiServerModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminapiservertestmodule",{"_index":1044,"title":{"modules/AdminApiServerTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminid",{"_index":1062,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminidandtoken",{"_index":1050,"title":{"interfaces/AdminIdAndToken.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.id",{"_index":1161,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.token",{"_index":1160,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["administration.module",{"_index":13890,"title":{},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration.module.ts",{"_index":14530,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["administration.service",{"_index":14537,"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":14540,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:21",{"_index":14557,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:26",{"_index":14564,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:35",{"_index":14561,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:39",{"_index":14558,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:43",{"_index":14559,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:47",{"_index":14560,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:57",{"_index":14563,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:62",{"_index":14562,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:66",{"_index":14556,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:7",{"_index":14566,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:9",{"_index":14554,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration/interface/keycloak",{"_index":13760,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["administration/keycloak",{"_index":13889,"title":{},"body":{"modules/IdentityManagementModule.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration/service/keycloak",{"_index":14539,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["administrator",{"_index":376,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchMapper.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adminpassword",{"_index":1061,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminpermissions",{"_index":23772,"title":{},"body":{"classes/UserFactory.html":{}}}],["adminstrator",{"_index":26393,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["admintoken",{"_index":1063,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminuser",{"_index":725,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/KeycloakSeedService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["admzip",{"_index":5859,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["adopted",{"_index":25220,"title":{},"body":{"license.html":{}}}],["adversely",{"_index":25359,"title":{},"body":{"license.html":{}}}],["advised",{"_index":25574,"title":{},"body":{"license.html":{}}}],["aes",{"_index":21424,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["aes_key",{"_index":9917,"title":{},"body":{"modules/EncryptionModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["aeskey",{"_index":9914,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["affected",{"_index":26024,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["affects",{"_index":5413,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["affero",{"_index":25036,"title":{},"body":{"license.html":{}}}],["affirmed",{"_index":25448,"title":{},"body":{"license.html":{}}}],["affirms",{"_index":25191,"title":{},"body":{"license.html":{}}}],["afterall",{"_index":26159,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterall(async",{"_index":26150,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterbuild",{"_index":505,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuild(afterbuildfn",{"_index":522,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuildfn",{"_index":530,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterduedateornone",{"_index":22046,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["afterduedateornone(duedate",{"_index":22127,"title":{},"body":{"classes/TaskScope.html":{}}}],["aftereach",{"_index":26066,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterinit",{"_index":22794,"title":{},"body":{"classes/TldrawWs.html":{}}}],["afterwards",{"_index":25972,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["again",{"_index":7290,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["against",{"_index":13164,"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":13158,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["against.ts:8",{"_index":13162,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["age",{"_index":26385,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["agent",{"_index":16415,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["aggregate",{"_index":25268,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["aggregate.attrs",{"_index":14782,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["agility",{"_index":25801,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["agnostic",{"_index":14285,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["ago",{"_index":8964,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["agpl",{"_index":25607,"title":{},"body":{"license.html":{},"properties.html":{}}}],["agree",{"_index":25521,"title":{},"body":{"license.html":{}}}],["agreed",{"_index":25562,"title":{},"body":{"license.html":{}}}],["agreement",{"_index":25474,"title":{},"body":{"license.html":{}}}],["aims",{"_index":25797,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["aint",{"_index":25834,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ajax",{"_index":13318,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["ajaxgetqueryparams",{"_index":1194,"title":{"classes/AjaxGetQueryParams.html":{}},"body":{"classes/AjaxGetQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostbodyparams",{"_index":1228,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"controllers/H5PEditorController.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["ajaxpostbodyparamstransformpipe",{"_index":1208,"title":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostqueryparams",{"_index":1250,"title":{"classes/AjaxPostQueryParams.html":{}},"body":{"classes/AjaxPostQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajv",{"_index":24848,"title":{},"body":{"dependencies.html":{}}}],["aktuelle",{"_index":5555,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["alert",{"_index":9986,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alert(loggable",{"_index":9991,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alg",{"_index":1597,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["algorithm",{"_index":1546,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/JwtConstants.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["algorithms",{"_index":1569,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/OAuthService.html":{}}}],["algorithms.includes(jwtconstants.jwtoptions.algorithm",{"_index":1583,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["alias",{"_index":14654,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["alive",{"_index":22939,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["all('seed",{"_index":8887,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["all_entities",{"_index":1017,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["allcollectionswithfilepaths",{"_index":5268,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.filter",{"_index":5275,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.map((file",{"_index":5280,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["alleging",{"_index":25454,"title":{},"body":{"license.html":{}}}],["allforcreator",{"_index":22036,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(allforfinishedcoursesandlessonsforcreator.query",{"_index":22039,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closeddraftsforcreator.query",{"_index":22038,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closedwithoutparentforcreator.query",{"_index":22037,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons",{"_index":22022,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.addquery(parentsfinished.query",{"_index":22023,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.bydraft(false",{"_index":22024,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator",{"_index":22033,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.addquery(parentsfinished.query",{"_index":22034,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.bycreatorid(parentids.creatorid",{"_index":22035,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allmappers",{"_index":14741,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allmappers.find((mapper",{"_index":14744,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allow",{"_index":7270,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["allowed",{"_index":4362,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ElementUc.html":{},"classes/OauthClientBody.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/VideoConferenceCreateUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["allowedapikeys",{"_index":24801,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["allowedcards",{"_index":4558,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedcontexttype",{"_index":20893,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["alloweddos",{"_index":4573,"title":{},"body":{"injectables/CardUc.html":{}}}],["alloweddos.push(boarddo",{"_index":4572,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedparenttype",{"_index":20886,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["allowedstrings",{"_index":12313,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowedstrings.includes(input",{"_index":12315,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowemptyquery",{"_index":7015,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7031,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":10700,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["allowglobalcontext",{"_index":13404,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{}}}],["allowmodstounmuteusers",{"_index":2158,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["allows",{"_index":806,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["allpseudonyms",{"_index":18479,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["allrooms",{"_index":8445,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["allteacherpseudonyms",{"_index":11435,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["allteacherpseudonyms.map((pseudonym",{"_index":11439,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["alone",{"_index":26063,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["along",{"_index":25246,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["already",{"_index":640,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/NewsRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["altered",{"_index":5185,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["alternate",{"_index":25086,"title":{},"body":{"license.html":{}}}],["alternative",{"_index":14716,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["alternativetext",{"_index":3583,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["alternativetext(value",{"_index":11565,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["although",{"_index":25969,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["always",{"_index":411,"title":{},"body":{"controllers/AccountController.html":{},"classes/DomainObjectFactory.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/SanisProvisioningStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["always_accept",{"_index":2180,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["always_deny",{"_index":2181,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["ambiguous",{"_index":22079,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["amount",{"_index":873,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["amqp",{"_index":24850,"title":{},"body":{"dependencies.html":{}}}],["amqp.module.ts",{"_index":12245,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["amqpconnection",{"_index":1298,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{}}}],["amqpconnectionmanager",{"_index":18558,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["amqplib",{"_index":24852,"title":{},"body":{"dependencies.html":{}}}],["amr",{"_index":182,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["analysis",{"_index":25767,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["analytics",{"_index":24964,"title":{},"body":{"dependencies.html":{}}}],["analytics_features_messages=false",{"_index":26343,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_rooms=false",{"_index":26344,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_users=false",{"_index":26345,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ancestor",{"_index":3969,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestorids",{"_index":3456,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/ColumnBoardService.html":{}}}],["ancestornodes",{"_index":3978,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestornodes.foreach((node",{"_index":3980,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestors",{"_index":3967,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancillary",{"_index":25421,"title":{},"body":{"license.html":{}}}],["and/opr",{"_index":26107,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["and/or",{"_index":25080,"title":{},"body":{"license.html":{}}}],["annotations",{"_index":25915,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["anonymous",{"_index":8153,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["another",{"_index":17402,"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":12755,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["anschrift",{"_index":19663,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["antareskey",{"_index":7485,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["anti",{"_index":25209,"title":{},"body":{"license.html":{}}}],["antivirus.service",{"_index":1265,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirus_service_options",{"_index":1266,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirusmodule",{"_index":1258,"title":{"modules/AntivirusModule.html":{}},"body":{"modules/AntivirusModule.html":{},"modules/FilesStorageModule.html":{}}}],["antivirusmodule.forroot",{"_index":12419,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["antivirusmoduleoptions",{"_index":1260,"title":{"interfaces/AntivirusModuleOptions.html":{}},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["antivirusservice",{"_index":1264,"title":{"injectables/AntivirusService.html":{}},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["antivirusservice:checkstream",{"_index":1331,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusservice:send",{"_index":1344,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusserviceoptions",{"_index":1289,"title":{"interfaces/AntivirusServiceOptions.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["anyboarddo",{"_index":2662,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["anycontentelementdo",{"_index":2030,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{}}}],["anycontentelementresponse",{"_index":2661,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{}}}],["anyelementcontentbody",{"_index":6467,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["anyentity",{"_index":768,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["anymore",{"_index":1567,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anyone",{"_index":25255,"title":{},"body":{"license.html":{}}}],["anyprovisioningoptions",{"_index":18296,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"controllers/SchoolController.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["anyprovisioningoptionsresponse",{"_index":19877,"title":{},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{}}}],["anything",{"_index":25127,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anywhere",{"_index":25882,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["api",{"_index":1372,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/CopyApiResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"modules/DeletionModule.html":{},"classes/ErrorLoggable.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"classes/LibraryName.html":{},"interfaces/MigrationOptions.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["api.module",{"_index":1034,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["api.module.ts",{"_index":273,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/ToolApiModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["api.server.module.ts",{"_index":1013,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["api.server.module.ts:44",{"_index":1049,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["api.spec.ts",{"_index":25751,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v1",{"_index":24987,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3",{"_index":24988,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/docs",{"_index":25773,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v3/h5p",{"_index":13469,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["api/v3/news",{"_index":24995,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api_enable_cors=true",{"_index":26347,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_enable_rate_limiter_limit_calls_default=255",{"_index":26332,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_keys",{"_index":26388,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["api_response_time_metric_middleware_successfully_added",{"_index":18213,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["api_validation_error",{"_index":1371,"title":{},"body":{"classes/ApiValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["api_version_path",{"_index":1315,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["api_version_path}/file/download/${filerecord.id}/${encodeuricomponent(filerecord.name",{"_index":7244,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["apibadrequestresponse",{"_index":23216,"title":{},"body":{"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{}}}],["apibody",{"_index":5655,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/SchoolController.html":{}}}],["apicreatedresponse",{"_index":19873,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiexcludeendpoint",{"_index":12073,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":12068,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@put(filesstorageinternalactions.updatesecuritystatus",{"_index":12071,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiextramodels",{"_index":4064,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/SchoolController.html":{},"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(fileelementresponse",{"_index":21206,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(lti11toolconfigcreateparams",{"_index":10327,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["apiextramodels(lti11toolconfigupdateparams",{"_index":11151,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["apiextramodels(richtextelementresponse",{"_index":4085,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apiextramodels(schulconnexprovisioningoptionsresponse",{"_index":19885,"title":{},"body":{"controllers/SchoolController.html":{}}}],["apiextramodels(submissionitemresponse",{"_index":9868,"title":{},"body":{"controllers/ElementController.html":{}}}],["apiforbiddenresponse",{"_index":18395,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SchoolController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apifoundresponse",{"_index":18396,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiinternalservererrorresponse",{"_index":23854,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apikey",{"_index":9077,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/XApiKeyStrategy.html":{}}}],["apikey.trim",{"_index":20524,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apikeyheader",{"_index":9080,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apinocontentresponse",{"_index":23855,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinotfoundresponse",{"_index":19874,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiokresponse",{"_index":19875,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apioperation",{"_index":390,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apioperation({summary",{"_index":3212,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apiproperty",{"_index":296,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolSystemParams.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty()@allow",{"_index":19854,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["apiproperty()@apipropertyoptional",{"_index":8300,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["apiproperty()@decodehtmlentities",{"_index":3051,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileElementContent.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/TaskResponse.html":{}}}],["apiproperty()@isarray()@isstring({each",{"_index":15739,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["apiproperty()@ismongoid",{"_index":6389,"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":17983,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isnotempty()@isobject",{"_index":17975,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["apiproperty()@isnumber",{"_index":6845,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["apiproperty()@isoptional",{"_index":9455,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["apiproperty()@isstring",{"_index":7265,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/DownloadFileParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@isstring()@ismongoid",{"_index":19998,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["apiproperty()@isstring()@isnotempty",{"_index":6561,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RenameFileParams.html":{}}}],["apiproperty()@isstring()@isoptional",{"_index":6391,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["apiproperty()@isstring()@sanitizehtml()@isnotempty",{"_index":17981,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isurl",{"_index":16377,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@matches('([a",{"_index":12621,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["apiproperty()@validatenested",{"_index":7267,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{}}}],["apiproperty({description",{"_index":868,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BoardElementResponse.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CardSkeletonResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigResponse.html":{},"classes/PaginationResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RichText.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskListResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["apiproperty({enum",{"_index":3200,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RichTextElementResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["apiproperty({nullable",{"_index":6765,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty({pattern",{"_index":3196,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["apiproperty({required",{"_index":9407,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["apiproperty({type",{"_index":866,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/BoardResponse.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileUrlParams.html":{},"classes/GroupResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RichTextElementContentBody.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/TaskListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["apipropertyoptional",{"_index":201,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BusinessError.html":{},"classes/CardResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthLoginResponse.html":{},"classes/PaginationParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TimestampsResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["apipropertyoptional()@decodehtmlentities",{"_index":3779,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{}}}],["apipropertyoptional()@isoptional()@isboolean",{"_index":12478,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["apipropertyoptional()@isoptional()@isstring()@isnotempty",{"_index":12476,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["apipropertyoptional()@isstring()@isoptional",{"_index":24020,"title":{},"body":{"classes/UserLoginMigrationSearchParams.html":{}}}],["apipropertyoptional({default",{"_index":24475,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({description",{"_index":1361,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SystemFilterParams.html":{},"classes/TaskResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({enum",{"_index":10930,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilterImportUserParams.html":{},"classes/PreviewParams.html":{}}}],["apipropertyoptional({nullable",{"_index":23401,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["apipropertyoptional({type",{"_index":7185,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/NewsResponse.html":{}}}],["apiresponse",{"_index":391,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiresponsetimemetrichistogram",{"_index":18978,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetrichistogram.observe(labels",{"_index":18985,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetriclabelnames",{"_index":18964,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apitags",{"_index":392,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apitags('account",{"_index":397,"title":{},"body":{"controllers/AccountController.html":{}}}],["apitags('authentication",{"_index":15953,"title":{},"body":{"controllers/LoginController.html":{}}}],["apitags('board",{"_index":3249,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apitags('collaborative",{"_index":5109,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["apitags('courses",{"_index":7651,"title":{},"body":{"controllers/CourseController.html":{}}}],["apitags('dashboard",{"_index":8419,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apitags('deletionexecutions",{"_index":9208,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["apitags('deletionrequests",{"_index":9583,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["apitags('file",{"_index":12075,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apitags('fwu",{"_index":12535,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["apitags('group",{"_index":12830,"title":{},"body":{"controllers/GroupController.html":{}}}],["apitags('h5p",{"_index":13303,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["apitags('lesson",{"_index":15562,"title":{},"body":{"controllers/LessonController.html":{}}}],["apitags('meta",{"_index":16347,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["apitags('news",{"_index":16619,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["apitags('oauth2",{"_index":17455,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["apitags('pseudonym",{"_index":18402,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apitags('rooms",{"_index":19403,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apitags('school",{"_index":19882,"title":{},"body":{"controllers/SchoolController.html":{}}}],["apitags('sharetoken",{"_index":20702,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apitags('sso",{"_index":17649,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apitags('submission",{"_index":21136,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apitags('systems",{"_index":21465,"title":{},"body":{"controllers/SystemController.html":{}}}],["apitags('task",{"_index":21812,"title":{},"body":{"controllers/TaskController.html":{}}}],["apitags('tldraw",{"_index":22729,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apitags('tool",{"_index":23044,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["apitags('user",{"_index":23603,"title":{},"body":{"controllers/UserController.html":{}}}],["apitags('userimport",{"_index":14051,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["apitags('userloginmigration",{"_index":23867,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apitags('videoconference",{"_index":24454,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiunauthorizedresponse",{"_index":18397,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SchoolController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiunprocessableentityresponse",{"_index":19876,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apivalidationerror",{"_index":1351,"title":{"classes/ApiValidationError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apivalidationerror(errors",{"_index":12739,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apivalidationerror.validationerrors.foreach((validationerror",{"_index":1404,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apivalidationerrorresponse",{"_index":1376,"title":{"classes/ApiValidationErrorResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/GlobalErrorFilter.html":{}}}],["apivalidationerrorresponse(error",{"_index":12714,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apivalidationerror})@apiresponse({status",{"_index":3216,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["app",{"_index":1627,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["app.service('/nest",{"_index":25973,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["app.use(createapiresponsetimemetricmiddleware",{"_index":18226,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["app_filter",{"_index":7476,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["app_guard",{"_index":7475,"title":{},"body":{"modules/CoreModule.html":{}}}],["app_interceptor",{"_index":7473,"title":{},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"todo.html":{}}}],["app_pipe",{"_index":7474,"title":{},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["append",{"_index":25673,"title":{},"body":{"todo.html":{}}}],["appendedattachment",{"_index":1439,"title":{"interfaces/AppendedAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["appendnotcontainedboardelements(boardelementtargets",{"_index":3006,"title":{},"body":{"entities/Board.html":{}}}],["applicable",{"_index":25131,"title":{},"body":{"license.html":{}}}],["applicaiton",{"_index":25733,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["application",{"_index":4237,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BusinessError.html":{},"modules/CoreModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["application/json",{"_index":1611,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/CalendarService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["application/octet",{"_index":11550,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{}}}],["application/x",{"_index":14849,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["application/xml",{"_index":2394,"title":{},"body":{"injectables/BBBService.html":{}}}],["application/zip",{"_index":7663,"title":{},"body":{"controllers/CourseController.html":{}}}],["applications",{"_index":24974,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["applied",{"_index":5303,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["applies",{"_index":5005,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/TldrawWsService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["apply",{"_index":5271,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["apply(data",{"_index":14386,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["applyawarenessupdate",{"_index":22873,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applyawarenessupdate(doc.awareness",{"_index":22927,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applypropertiestopathparams",{"_index":2746,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applypropertiestopathparams(url",{"_index":2772,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applyupdate",{"_index":22656,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["applyupdate(ydoc",{"_index":22689,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["appname",{"_index":1419,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["approach",{"_index":26169,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appropriate",{"_index":5003,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["appropriately",{"_index":25239,"title":{},"body":{"license.html":{}}}],["approve",{"_index":24698,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["approximate",{"_index":4525,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["approximates",{"_index":25582,"title":{},"body":{"license.html":{}}}],["apps/server",{"_index":25720,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["apps/server/doc",{"_index":25782,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src",{"_index":25786,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src/apps/helpers/app",{"_index":1417,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["apps/server/src/apps/helpers/prometheus",{"_index":18200,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["apps/server/src/config/database.config.ts",{"_index":12654,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["apps/server/src/console/api",{"_index":22545,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["apps/server/src/console/console.module.ts",{"_index":20543,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["apps/server/src/console/server.console.ts",{"_index":20529,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:11",{"_index":20533,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:17",{"_index":20536,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:6",{"_index":20532,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/core/core.module.ts",{"_index":7464,"title":{},"body":{"modules/CoreModule.html":{}}}],["apps/server/src/core/error/dto/api",{"_index":1377,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts",{"_index":10032,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:10",{"_index":10038,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:15",{"_index":10037,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:20",{"_index":10036,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:25",{"_index":10035,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:30",{"_index":10034,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/validation",{"_index":24356,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["apps/server/src/core/error/error.module.ts",{"_index":10025,"title":{},"body":{"modules/ErrorModule.html":{}}}],["apps/server/src/core/error/filter/global",{"_index":12659,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apps/server/src/core/error/interface/error",{"_index":10039,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["apps/server/src/core/error/interface/feathers",{"_index":11339,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["apps/server/src/core/error/loggable/axios",{"_index":2097,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts",{"_index":9937,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:11",{"_index":9945,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:13",{"_index":9948,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:34",{"_index":9947,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:47",{"_index":9950,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:56",{"_index":9952,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:8",{"_index":9943,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts",{"_index":10041,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:16",{"_index":10050,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:20",{"_index":10055,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:24",{"_index":10047,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:6",{"_index":10052,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/interceptor/interceptor.module.ts",{"_index":14334,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["apps/server/src/core/interfaces/core",{"_index":7479,"title":{},"body":{"interfaces/CoreModuleConfig.html":{}}}],["apps/server/src/core/logger/error",{"_index":9984,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["apps/server/src/core/logger/interfaces/legacy",{"_index":13765,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts",{"_index":15872,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts:4",{"_index":15873,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/logger",{"_index":15891,"title":{},"body":{"interfaces/LoggerConfig.html":{}}}],["apps/server/src/core/logger/legacy",{"_index":15279,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["apps/server/src/core/logger/logger.module.ts",{"_index":15895,"title":{},"body":{"modules/LoggerModule.html":{}}}],["apps/server/src/core/logger/logger.ts",{"_index":15874,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:13",{"_index":15886,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:18",{"_index":15883,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:23",{"_index":15881,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:28",{"_index":15879,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:33",{"_index":15884,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:9",{"_index":15877,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logging.utils.ts",{"_index":15916,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:13",{"_index":15926,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:18",{"_index":15924,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:6",{"_index":15921,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/validation/pipe/global",{"_index":12724,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apps/server/src/core/validation/validation.module.ts",{"_index":24369,"title":{},"body":{"modules/ValidationModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts",{"_index":1259,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts:8",{"_index":1261,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts",{"_index":1293,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:10",{"_index":1300,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:17",{"_index":1303,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:44",{"_index":1308,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:62",{"_index":1306,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/interfaces/antivirus.ts",{"_index":1287,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["apps/server/src/infra/cache/cache.module.ts",{"_index":4268,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts",{"_index":4255,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts:7",{"_index":4257,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/calendar/calendar.module.ts",{"_index":4318,"title":{},"body":{"modules/CalendarModule.html":{}}}],["apps/server/src/infra/calendar/dto/calendar",{"_index":4293,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["apps/server/src/infra/calendar/interface/calendar",{"_index":4287,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts",{"_index":4302,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7",{"_index":4304,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts",{"_index":4321,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:15",{"_index":4331,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:17",{"_index":4325,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:24",{"_index":4328,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:46",{"_index":4330,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/collaborative",{"_index":4996,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["apps/server/src/infra/console/console",{"_index":6379,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{}}}],["apps/server/src/infra/database/management/database",{"_index":8904,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{}}}],["apps/server/src/infra/database/mongo",{"_index":16533,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts",{"_index":9919,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:5",{"_index":9925,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:6",{"_index":9923,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.module.ts",{"_index":9909,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts",{"_index":21419,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:15",{"_index":21422,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:23",{"_index":21421,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:8",{"_index":21420,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/feathers/feathers",{"_index":11461,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["apps/server/src/infra/feathers/feathers.module.ts",{"_index":11345,"title":{},"body":{"modules/FeathersModule.html":{}}}],["apps/server/src/infra/file",{"_index":12112,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["apps/server/src/infra/identity",{"_index":4887,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["apps/server/src/infra/mail/interfaces/mail",{"_index":16219,"title":{},"body":{"interfaces/MailConfig.html":{}}}],["apps/server/src/infra/mail/mail.interface.ts",{"_index":1440,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["apps/server/src/infra/mail/mail.module.ts",{"_index":16222,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["apps/server/src/infra/mail/mail.module.ts:13",{"_index":16224,"title":{},"body":{"modules/MailModule.html":{}}}],["apps/server/src/infra/mail/mail.service.ts",{"_index":16229,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:14",{"_index":16234,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:24",{"_index":16240,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:39",{"_index":16236,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:54",{"_index":16239,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts",{"_index":18158,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:12",{"_index":18175,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:14",{"_index":18180,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:18",{"_index":18174,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:20",{"_index":18182,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:24",{"_index":18170,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:26",{"_index":18184,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:30",{"_index":18171,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:32",{"_index":18186,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:34",{"_index":18169,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:4",{"_index":18172,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:44",{"_index":18187,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:52",{"_index":18176,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:6",{"_index":18173,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:8",{"_index":18178,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts",{"_index":18938,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:10",{"_index":18945,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:12",{"_index":18947,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:14",{"_index":18949,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:16",{"_index":18943,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:32",{"_index":19032,"title":{},"body":{"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:6",{"_index":18946,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:8",{"_index":18944,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/oauth",{"_index":162,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/RejectRequestBody.html":{}}}],["apps/server/src/infra/preview",{"_index":17987,"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":10010,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts:6",{"_index":10014,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/exchange/files",{"_index":7196,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts",{"_index":18557,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55",{"_index":18580,"title":{},"body":{"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rpc",{"_index":13733,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["apps/server/src/infra/redis/redis.module.ts",{"_index":18813,"title":{},"body":{"modules/RedisModule.html":{}}}],["apps/server/src/infra/s3",{"_index":7302,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{}}}],["apps/server/src/modules/account/account",{"_index":272,"title":{},"body":{"modules/AccountApiModule.html":{},"interfaces/AccountConfig.html":{}}}],["apps/server/src/modules/account/account.module.ts",{"_index":672,"title":{},"body":{"modules/AccountModule.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts",{"_index":315,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:31",{"_index":377,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:44",{"_index":352,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:60",{"_index":387,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:70",{"_index":381,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:84",{"_index":348,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:97",{"_index":363,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/dto/account",{"_index":285,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts",{"_index":820,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:13",{"_index":824,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:16",{"_index":827,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:19",{"_index":826,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:22",{"_index":823,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:25",{"_index":825,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:3",{"_index":822,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/patch",{"_index":17922,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["apps/server/src/modules/account/mapper/account",{"_index":465,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts",{"_index":727,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:11",{"_index":767,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:19",{"_index":740,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:23",{"_index":746,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:28",{"_index":742,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:32",{"_index":743,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:36",{"_index":749,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:43",{"_index":751,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:47",{"_index":747,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:51",{"_index":755,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:55",{"_index":757,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:59",{"_index":738,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:64",{"_index":739,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:74",{"_index":744,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:80",{"_index":754,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/services/account",{"_index":608,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts",{"_index":6,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:10",{"_index":43,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:12",{"_index":45,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:14",{"_index":50,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:16",{"_index":65,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:18",{"_index":90,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:23",{"_index":84,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:25",{"_index":88,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:27",{"_index":28,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:29",{"_index":38,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:31",{"_index":71,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:33",{"_index":68,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:35",{"_index":93,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:39",{"_index":57,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:6",{"_index":41,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:8",{"_index":61,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts",{"_index":966,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:11",{"_index":972,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:29",{"_index":976,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:34",{"_index":974,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:8",{"_index":970,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/dto/account",{"_index":839,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts",{"_index":429,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts:9",{"_index":434,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/authentication/authentication",{"_index":1486,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["apps/server/src/modules/authentication/authentication.module.ts",{"_index":1535,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["apps/server/src/modules/authentication/config/x",{"_index":24797,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["apps/server/src/modules/authentication/constants.ts",{"_index":14440,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/ldap",{"_index":15039,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/local",{"_index":15840,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts",{"_index":15977,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts:5",{"_index":15978,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth",{"_index":17298,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth2",{"_index":17068,"title":{},"body":{"classes/Oauth2AuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts",{"_index":15930,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:31",{"_index":15940,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:47",{"_index":15944,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:62",{"_index":15949,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/mapper/login",{"_index":15998,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["apps/server/src/modules/authentication/errors/brute",{"_index":4199,"title":{},"body":{"classes/BruteForceError.html":{}}}],["apps/server/src/modules/authentication/errors/ldap",{"_index":15171,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["apps/server/src/modules/authentication/errors/unauthorized.loggable",{"_index":23497,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["apps/server/src/modules/authentication/guard/jwt",{"_index":14437,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["apps/server/src/modules/authentication/interface/jwt",{"_index":8055,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["apps/server/src/modules/authentication/interface/oauth",{"_index":17274,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["apps/server/src/modules/authentication/interface/user.ts",{"_index":13726,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["apps/server/src/modules/authentication/loggable/school",{"_index":20164,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["apps/server/src/modules/authentication/mapper/current",{"_index":8103,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts",{"_index":1686,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:17",{"_index":1695,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:25",{"_index":1702,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:42",{"_index":1700,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:57",{"_index":1708,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:65",{"_index":1697,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:76",{"_index":1711,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:80",{"_index":1706,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:84",{"_index":1704,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts",{"_index":15177,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:14",{"_index":15181,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:23",{"_index":15183,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:9",{"_index":15179,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt",{"_index":14455,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts",{"_index":14464,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12",{"_index":14467,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25",{"_index":14469,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts",{"_index":15207,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17",{"_index":15213,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29",{"_index":15223,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57",{"_index":15220,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69",{"_index":15218,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76",{"_index":15216,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92",{"_index":15221,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts",{"_index":15843,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:15",{"_index":15846,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:25",{"_index":15854,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:46",{"_index":15852,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:54",{"_index":15849,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts",{"_index":17075,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14",{"_index":17076,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19",{"_index":17077,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/x",{"_index":24799,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts",{"_index":15969,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts:2",{"_index":15970,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts",{"_index":16006,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:12",{"_index":16011,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:9",{"_index":16009,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authorization/authorization",{"_index":1917,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["apps/server/src/modules/authorization/authorization.module.ts",{"_index":1881,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["apps/server/src/modules/authorization/domain/error/forbidden.loggable",{"_index":12505,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["apps/server/src/modules/authorization/domain/mapper/authorization",{"_index":1781,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["apps/server/src/modules/authorization/domain/rules/board",{"_index":3709,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/context",{"_index":6998,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course",{"_index":7810,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts",{"_index":7961,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:10",{"_index":7964,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:16",{"_index":7963,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:7",{"_index":7962,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts",{"_index":13041,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:11",{"_index":13044,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:17",{"_index":13043,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:8",{"_index":13042,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/legacy",{"_index":15433,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts",{"_index":15655,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16",{"_index":15667,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22",{"_index":15666,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40",{"_index":15669,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53",{"_index":15671,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59",{"_index":15673,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73",{"_index":15665,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79",{"_index":15663,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9",{"_index":15661,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/school",{"_index":20062,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts",{"_index":21301,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11",{"_index":21319,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17",{"_index":21314,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27",{"_index":21309,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41",{"_index":21318,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47",{"_index":21316,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61",{"_index":21313,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70",{"_index":21311,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8",{"_index":21307,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts",{"_index":21619,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:11",{"_index":21625,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:17",{"_index":21624,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:31",{"_index":21623,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:8",{"_index":21621,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts",{"_index":22103,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:16",{"_index":22109,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:22",{"_index":22108,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:43",{"_index":22107,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:9",{"_index":22105,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts",{"_index":22367,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:10",{"_index":22370,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:14",{"_index":22369,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:7",{"_index":22368,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user",{"_index":24014,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts",{"_index":24260,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:10",{"_index":24263,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:16",{"_index":24262,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:7",{"_index":24261,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization",{"_index":1943,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts",{"_index":1802,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14",{"_index":1815,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21",{"_index":1817,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32",{"_index":1811,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38",{"_index":1820,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7",{"_index":1813,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts",{"_index":1965,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:13",{"_index":1971,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:20",{"_index":1977,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:26",{"_index":1983,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:33",{"_index":1973,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:40",{"_index":1980,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:44",{"_index":1975,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:51",{"_index":1981,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:55",{"_index":1979,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts",{"_index":18817,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:41",{"_index":18822,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:71",{"_index":18827,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:79",{"_index":18824,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/rule",{"_index":19487,"title":{},"body":{"injectables/RuleManager.html":{}}}],["apps/server/src/modules/authorization/domain/type/authorization",{"_index":1776,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts",{"_index":19484,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:7",{"_index":19486,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:8",{"_index":19485,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/feathers/feathers",{"_index":11271,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{}}}],["apps/server/src/modules/board/board",{"_index":3029,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["apps/server/src/modules/board/board.module.ts",{"_index":3897,"title":{},"body":{"modules/BoardModule.html":{}}}],["apps/server/src/modules/board/controller/board",{"_index":4038,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts",{"_index":3203,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:33",{"_index":3233,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:50",{"_index":3228,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:68",{"_index":3239,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:83",{"_index":3224,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:93",{"_index":3219,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts",{"_index":4367,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:114",{"_index":4382,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:143",{"_index":4378,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:48",{"_index":4389,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:69",{"_index":4393,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:84",{"_index":4397,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:99",{"_index":4400,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts",{"_index":5633,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:34",{"_index":5651,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:49",{"_index":5654,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:64",{"_index":5647,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:75",{"_index":5644,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board",{"_index":3193,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts",{"_index":4015,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:17",{"_index":4018,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:21",{"_index":4021,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:26",{"_index":4017,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:29",{"_index":4020,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:6",{"_index":4016,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts",{"_index":4196,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11",{"_index":4198,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/card",{"_index":4521,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts",{"_index":5671,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:17",{"_index":5674,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:21",{"_index":5676,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:26",{"_index":5673,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:29",{"_index":5675,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:6",{"_index":5672,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts",{"_index":5722,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11",{"_index":5723,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/content",{"_index":6554,"title":{},"body":{"classes/ContentElementUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/move",{"_index":16561,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts",{"_index":18933,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12",{"_index":18935,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/set",{"_index":20634,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts",{"_index":4574,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts:11",{"_index":4575,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card",{"_index":4437,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts",{"_index":4455,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:23",{"_index":4457,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:36",{"_index":4460,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:40",{"_index":4462,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:43",{"_index":4459,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:58",{"_index":4458,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:61",{"_index":4464,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:64",{"_index":4461,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/create",{"_index":8008,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/move",{"_index":16571,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["apps/server/src/modules/board/controller/dto/card/visibility",{"_index":24747,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/create",{"_index":8013,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/element/drawing",{"_index":9688,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/external",{"_index":10341,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/file",{"_index":11571,"title":{},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/link",{"_index":15806,"title":{},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/rich",{"_index":19089,"title":{},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/submission",{"_index":21101,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/update",{"_index":9639,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/submission",{"_index":8095,"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":22619,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:11",{"_index":22623,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:14",{"_index":22621,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:17",{"_index":22622,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:3",{"_index":22620,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/user",{"_index":23723,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts",{"_index":9834,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:114",{"_index":9846,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:129",{"_index":9842,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:53",{"_index":9850,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:93",{"_index":9855,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/mapper/base",{"_index":2654,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/board",{"_index":4026,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/card",{"_index":4469,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/column",{"_index":5679,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/content",{"_index":6422,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["apps/server/src/modules/board/controller/mapper/drawing",{"_index":9703,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/external",{"_index":10355,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/file",{"_index":11589,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/link",{"_index":15820,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/rich",{"_index":19107,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/submission",{"_index":21114,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["apps/server/src/modules/board/repo/board",{"_index":3523,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["apps/server/src/modules/board/repo/recursive",{"_index":18687,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["apps/server/src/modules/board/service/board",{"_index":3441,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["apps/server/src/modules/board/service/card.service.ts",{"_index":4478,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:10",{"_index":4482,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:17",{"_index":4492,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:21",{"_index":4495,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:30",{"_index":4486,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:51",{"_index":4490,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:55",{"_index":4498,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:59",{"_index":4500,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:65",{"_index":4502,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:71",{"_index":4488,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/column",{"_index":5447,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts",{"_index":5688,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:12",{"_index":5694,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:17",{"_index":5690,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:33",{"_index":5692,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:37",{"_index":5696,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:41",{"_index":5698,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:9",{"_index":5689,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/content",{"_index":6454,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["apps/server/src/modules/board/service/submission",{"_index":21228,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts",{"_index":2664,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:13",{"_index":2673,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:29",{"_index":2679,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:45",{"_index":2676,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:7",{"_index":2669,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts",{"_index":4135,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:12",{"_index":4139,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:26",{"_index":4145,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:35",{"_index":4147,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:44",{"_index":4143,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:53",{"_index":4153,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:62",{"_index":4141,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:72",{"_index":4151,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts",{"_index":4534,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:10",{"_index":4539,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:23",{"_index":4548,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:32",{"_index":4553,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:41",{"_index":4555,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:50",{"_index":4543,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:61",{"_index":4541,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:80",{"_index":4551,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:97",{"_index":4546,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts",{"_index":5705,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:10",{"_index":5706,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:23",{"_index":5710,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:32",{"_index":5715,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:41",{"_index":5708,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:52",{"_index":5713,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts",{"_index":9872,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:19",{"_index":9875,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:32",{"_index":9883,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:43",{"_index":9879,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:49",{"_index":9881,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:63",{"_index":9877,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/submission",{"_index":21243,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["apps/server/src/modules/class/class.module.ts",{"_index":4808,"title":{},"body":{"modules/ClassModule.html":{}}}],["apps/server/src/modules/class/domain/class",{"_index":4840,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts",{"_index":4586,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:22",{"_index":4599,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:26",{"_index":4601,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:30",{"_index":4603,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:34",{"_index":4605,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:38",{"_index":4607,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:42",{"_index":4609,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:46",{"_index":4611,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:50",{"_index":4613,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:54",{"_index":4615,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:58",{"_index":4617,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:62",{"_index":4619,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:66",{"_index":4620,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:70",{"_index":4621,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:74",{"_index":4597,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts",{"_index":4695,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8",{"_index":4697,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/entity/class",{"_index":4847,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts",{"_index":4639,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:26",{"_index":4643,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:30",{"_index":4644,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:34",{"_index":4652,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:38",{"_index":4651,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:41",{"_index":4641,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:44",{"_index":4653,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:47",{"_index":4640,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:50",{"_index":4642,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:53",{"_index":4650,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:57",{"_index":4646,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:60",{"_index":4649,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts",{"_index":4685,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7",{"_index":4688,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts",{"_index":4853,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:10",{"_index":4856,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:13",{"_index":4858,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:21",{"_index":4859,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:31",{"_index":4861,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts",{"_index":4754,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:26",{"_index":4766,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:43",{"_index":4762,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:47",{"_index":4764,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:7",{"_index":4760,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/service/class.service.ts",{"_index":4809,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:10",{"_index":4820,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:16",{"_index":4818,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:23",{"_index":4816,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:7",{"_index":4814,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/collaborative",{"_index":5084,"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":7177,"title":{},"body":{"classes/CopyApiResponse.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["apps/server/src/modules/deletion",{"_index":2816,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReferencesService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["apps/server/src/modules/deletion/builder/deletion",{"_index":9344,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["apps/server/src/modules/deletion/controller/deletion",{"_index":9197,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["apps/server/src/modules/deletion/controller/dto/deletion",{"_index":9170,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["apps/server/src/modules/deletion/deletion",{"_index":9057,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["apps/server/src/modules/deletion/deletion.module.ts",{"_index":9353,"title":{},"body":{"modules/DeletionModule.html":{}}}],["apps/server/src/modules/deletion/domain/deletion",{"_index":9214,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["apps/server/src/modules/deletion/domain/testing/factory/deletion",{"_index":9433,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["apps/server/src/modules/deletion/entity/deletion",{"_index":9244,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["apps/server/src/modules/deletion/interface/interfaces.ts",{"_index":9331,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionTargetRef.html":{}}}],["apps/server/src/modules/deletion/repo/deletion",{"_index":9294,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["apps/server/src/modules/deletion/repo/mapper/deletion",{"_index":9271,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["apps/server/src/modules/deletion/services/deletion",{"_index":9317,"title":{},"body":{"injectables/DeletionLogService.html":{},"injectables/DeletionRequestService.html":{}}}],["apps/server/src/modules/deletion/uc/interface/interfaces.ts",{"_index":9333,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["apps/server/src/modules/files",{"_index":7218,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TestHelper.html":{}}}],["apps/server/src/modules/files/entity/file",{"_index":11796,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts",{"_index":11593,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:100",{"_index":11605,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:107",{"_index":11617,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:110",{"_index":11607,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:117",{"_index":11631,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:40",{"_index":11613,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:43",{"_index":11612,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:46",{"_index":11614,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:49",{"_index":11615,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:52",{"_index":11623,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:55",{"_index":11629,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:58",{"_index":11624,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:61",{"_index":11611,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:64",{"_index":11626,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:67",{"_index":11627,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:70",{"_index":11628,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:73",{"_index":11621,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:77",{"_index":11622,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:81",{"_index":11610,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:89",{"_index":11609,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:96",{"_index":11619,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/files.module.ts",{"_index":12191,"title":{},"body":{"modules/FilesModule.html":{}}}],["apps/server/src/modules/files/job/delete",{"_index":8954,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts",{"_index":12192,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:10",{"_index":12196,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:15",{"_index":12205,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:19",{"_index":12204,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:33",{"_index":12198,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:44",{"_index":12201,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/service/files.service.ts",{"_index":12218,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:10",{"_index":12225,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:14",{"_index":12231,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:28",{"_index":12227,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:32",{"_index":12229,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:7",{"_index":12223,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/uc/delete",{"_index":8976,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["apps/server/src/modules/fwu",{"_index":12521,"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":4702,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{}}}],["apps/server/src/modules/group/controller/dto/request/group",{"_index":12923,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{}}}],["apps/server/src/modules/group/controller/dto/response/class",{"_index":4738,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/external",{"_index":10138,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group",{"_index":13130,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts",{"_index":12970,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:11",{"_index":12975,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:14",{"_index":12977,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:17",{"_index":12979,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:20",{"_index":12973,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:23",{"_index":12972,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:8",{"_index":12974,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts",{"_index":12809,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:29",{"_index":12819,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:59",{"_index":12825,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/mapper/group",{"_index":12989,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["apps/server/src/modules/group/domain/group",{"_index":13118,"title":{},"body":{"classes/GroupUser.html":{}}}],["apps/server/src/modules/group/domain/group.ts",{"_index":12768,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["apps/server/src/modules/group/domain/group.ts:26",{"_index":12778,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:30",{"_index":12779,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:34",{"_index":12781,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:38",{"_index":12783,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:42",{"_index":12785,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:46",{"_index":12787,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:50",{"_index":12777,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:54",{"_index":12775,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:58",{"_index":12774,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/entity/group",{"_index":13124,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts",{"_index":12906,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:34",{"_index":12908,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:37",{"_index":12910,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:40",{"_index":12907,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:43",{"_index":12912,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:46",{"_index":12911,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:49",{"_index":12909,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/group",{"_index":12806,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["apps/server/src/modules/group/group.module.ts",{"_index":12930,"title":{},"body":{"modules/GroupModule.html":{}}}],["apps/server/src/modules/group/loggable/unknown",{"_index":23501,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["apps/server/src/modules/group/repo/group",{"_index":12845,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts",{"_index":12936,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:111",{"_index":12941,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:12",{"_index":12940,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:15",{"_index":12944,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:29",{"_index":12943,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:48",{"_index":12948,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:67",{"_index":12946,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:86",{"_index":12949,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts",{"_index":13047,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts:14",{"_index":13052,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts:21",{"_index":13056,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/repo/group.scope.ts:7",{"_index":13054,"title":{},"body":{"classes/GroupScope.html":{}}}],["apps/server/src/modules/group/service/group.service.ts",{"_index":13057,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:10",{"_index":13062,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:13",{"_index":13066,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:23",{"_index":13074,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:29",{"_index":13065,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:35",{"_index":13070,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:41",{"_index":13068,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:47",{"_index":13072,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:53",{"_index":13064,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/uc/dto/class",{"_index":4710,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["apps/server/src/modules/group/uc/dto/resolved",{"_index":19002,"title":{},"body":{"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["apps/server/src/modules/group/uc/mapper/group",{"_index":13084,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["apps/server/src/modules/h5p",{"_index":1195,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["apps/server/src/modules/learnroom/common",{"_index":5730,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts",{"_index":7630,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:23",{"_index":7639,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:36",{"_index":7636,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts",{"_index":8400,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15",{"_index":8403,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22",{"_index":8408,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38",{"_index":8413,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course",{"_index":7847,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts",{"_index":7913,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14",{"_index":7915,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts",{"_index":8006,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11",{"_index":8007,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts",{"_index":8626,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100",{"_index":8635,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105",{"_index":8631,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108",{"_index":8804,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118",{"_index":8806,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124",{"_index":8805,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16",{"_index":8650,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22",{"_index":8652,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27",{"_index":8651,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32",{"_index":8649,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35",{"_index":8630,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4",{"_index":8648,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62",{"_index":8637,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68",{"_index":8640,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73",{"_index":8638,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78",{"_index":8632,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83",{"_index":8641,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88",{"_index":8642,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94",{"_index":8636,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts",{"_index":8841,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11",{"_index":8842,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson",{"_index":15567,"title":{},"body":{"classes/LessonCopyApiParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts",{"_index":15737,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11",{"_index":15738,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/move",{"_index":16575,"title":{},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/patch",{"_index":17918,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room",{"_index":19348,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts",{"_index":19351,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11",{"_index":19352,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/single",{"_index":3041,"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":19380,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:33",{"_index":19392,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:43",{"_index":19395,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:57",{"_index":19398,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:67",{"_index":19386,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:78",{"_index":19389,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/learnroom",{"_index":15264,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["apps/server/src/modules/learnroom/learnroom.module.ts",{"_index":15278,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["apps/server/src/modules/learnroom/mapper/board",{"_index":4109,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts",{"_index":7833,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts:5",{"_index":7836,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts",{"_index":8653,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16",{"_index":8657,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37",{"_index":8659,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6",{"_index":8661,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/room",{"_index":19290,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["apps/server/src/modules/learnroom/service/board",{"_index":3271,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/column",{"_index":5612,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["apps/server/src/modules/learnroom/service/common",{"_index":5739,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["apps/server/src/modules/learnroom/service/course",{"_index":7667,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts",{"_index":7975,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:10",{"_index":7985,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:14",{"_index":7983,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:20",{"_index":7980,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:30",{"_index":7981,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:7",{"_index":7978,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts",{"_index":7820,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:10",{"_index":7828,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:16",{"_index":7826,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:7",{"_index":7824,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/dashboard.service.ts",{"_index":8808,"title":{},"body":{"injectables/DashboardService.html":{}}}],["apps/server/src/modules/learnroom/service/dashboard.service.ts:12",{"_index":8811,"title":{},"body":{"injectables/DashboardService.html":{}}}],["apps/server/src/modules/learnroom/service/dashboard.service.ts:6",{"_index":8810,"title":{},"body":{"injectables/DashboardService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts",{"_index":19420,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:13",{"_index":19424,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:22",{"_index":19428,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:36",{"_index":19426,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/uc/course",{"_index":7723,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts",{"_index":7991,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:12",{"_index":7995,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:9",{"_index":7993,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts",{"_index":8817,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15",{"_index":8822,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28",{"_index":8824,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43",{"_index":8826,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59",{"_index":8828,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9",{"_index":8821,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/lesson",{"_index":15570,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["apps/server/src/modules/learnroom/uc/room",{"_index":9717,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts",{"_index":19353,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11",{"_index":19361,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17",{"_index":19359,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24",{"_index":19365,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45",{"_index":19363,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts",{"_index":19443,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:10",{"_index":19447,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:20",{"_index":19449,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:31",{"_index":19454,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:52",{"_index":19452,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/legacy",{"_index":2615,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"controllers/SchoolController.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts",{"_index":15735,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11",{"_index":15736,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts",{"_index":15557,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts:14",{"_index":15561,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/lesson",{"_index":15550,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["apps/server/src/modules/lesson/lesson.module.ts",{"_index":15628,"title":{},"body":{"modules/LessonModule.html":{}}}],["apps/server/src/modules/lesson/repository/lesson",{"_index":15690,"title":{},"body":{"classes/LessonScope.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts",{"_index":15631,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:12",{"_index":15640,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:16",{"_index":15635,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:26",{"_index":15637,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:44",{"_index":15639,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts",{"_index":10060,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:12",{"_index":10066,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:9",{"_index":10064,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts",{"_index":15695,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:15",{"_index":15702,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:21",{"_index":15709,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:25",{"_index":15707,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:29",{"_index":15706,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:35",{"_index":15704,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:9",{"_index":15700,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts",{"_index":16864,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:12",{"_index":16868,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:9",{"_index":16866,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts",{"_index":15722,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:14",{"_index":15725,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:8",{"_index":15723,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lti",{"_index":16151,"title":{},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{}}}],["apps/server/src/modules/management/console/board",{"_index":3799,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["apps/server/src/modules/management/console/database",{"_index":8844,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["apps/server/src/modules/management/controller/database",{"_index":8872,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts",{"_index":4207,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:11",{"_index":4220,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:21",{"_index":4211,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/management",{"_index":16277,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["apps/server/src/modules/management/management.module.ts",{"_index":16265,"title":{},"body":{"modules/ManagementModule.html":{}}}],["apps/server/src/modules/management/uc/board",{"_index":3825,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["apps/server/src/modules/management/uc/database",{"_index":5198,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["apps/server/src/modules/meta",{"_index":106,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["apps/server/src/modules/news/controller/dto/create",{"_index":8074,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/filter",{"_index":12494,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts",{"_index":16647,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:101",{"_index":16762,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:106",{"_index":16758,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:111",{"_index":16770,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:116",{"_index":16757,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:12",{"_index":16755,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:121",{"_index":16769,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:126",{"_index":16761,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:129",{"_index":16648,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:51",{"_index":16760,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:56",{"_index":16768,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:61",{"_index":16756,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:66",{"_index":16759,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:73",{"_index":16763,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:78",{"_index":16764,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:85",{"_index":16767,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:91",{"_index":16766,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:96",{"_index":16765,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts",{"_index":16861,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts:11",{"_index":16863,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/school",{"_index":20185,"title":{},"body":{"classes/SchoolInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/target",{"_index":21656,"title":{},"body":{"classes/TargetInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts",{"_index":22390,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts:11",{"_index":22391,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/update",{"_index":23515,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/user",{"_index":23784,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts",{"_index":16596,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:26",{"_index":16598,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:40",{"_index":16603,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:61",{"_index":16607,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:71",{"_index":16612,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:89",{"_index":16601,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/team",{"_index":22323,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["apps/server/src/modules/news/loggable/news",{"_index":16638,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts",{"_index":16663,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:10",{"_index":16675,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:39",{"_index":16671,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:53",{"_index":16669,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:66",{"_index":16677,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:75",{"_index":16673,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/school",{"_index":20178,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/target",{"_index":21651,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/user",{"_index":23783,"title":{},"body":{"classes/UserInfoMapper.html":{}}}],["apps/server/src/modules/news/news.module.ts",{"_index":16715,"title":{},"body":{"modules/NewsModule.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts",{"_index":16790,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:113",{"_index":16818,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:139",{"_index":16800,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:14",{"_index":16797,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:150",{"_index":16810,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:170",{"_index":16816,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:188",{"_index":16808,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:198",{"_index":16812,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:30",{"_index":16799,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:58",{"_index":16802,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:91",{"_index":16806,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/oauth",{"_index":187,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcContextResponse.html":{},"classes/RedirectResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/UserParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts",{"_index":1888,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12",{"_index":1895,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16",{"_index":1896,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20",{"_index":1897,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24",{"_index":1898,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8",{"_index":1892,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/stateless",{"_index":20968,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/oauth",{"_index":17636,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apps/server/src/modules/oauth/interface/oauth",{"_index":17058,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["apps/server/src/modules/oauth/loggable/auth",{"_index":1460,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/id",{"_index":13828,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/oauth",{"_index":17244,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/token",{"_index":22976,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/user",{"_index":24187,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["apps/server/src/modules/oauth/mapper/token",{"_index":22978,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["apps/server/src/modules/oauth/oauth",{"_index":17148,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["apps/server/src/modules/oauth/oauth.module.ts",{"_index":17311,"title":{},"body":{"modules/OauthModule.html":{}}}],["apps/server/src/modules/oauth/service/dto/authentication",{"_index":1492,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts",{"_index":7167,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2",{"_index":7171,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4",{"_index":7170,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts",{"_index":13608,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13",{"_index":13612,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15",{"_index":13613,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17",{"_index":13611,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19",{"_index":13614,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21",{"_index":13610,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4",{"_index":13609,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/oauth",{"_index":16983,"title":{},"body":{"classes/OAuthProcessDto.html":{},"interfaces/OauthTokenResponse.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts",{"_index":13625,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:126",{"_index":13637,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:19",{"_index":13632,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:27",{"_index":13646,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:29",{"_index":13639,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:43",{"_index":13645,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:79",{"_index":13642,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:99",{"_index":13635,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/oauth",{"_index":17114,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts",{"_index":16997,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:115",{"_index":17015,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:125",{"_index":17019,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:137",{"_index":17021,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:152",{"_index":17011,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:27",{"_index":17006,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:41",{"_index":17009,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:64",{"_index":17017,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:99",{"_index":17013,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/uc/hydra",{"_index":13557,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["apps/server/src/modules/provisioning/config/provisioning",{"_index":13782,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["apps/server/src/modules/provisioning/dto/external",{"_index":10076,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalUserDto.html":{}}}],["apps/server/src/modules/provisioning/dto/oauth",{"_index":17277,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning",{"_index":18355,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts",{"_index":18261,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2",{"_index":18263,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/loggable/group",{"_index":13030,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/school",{"_index":20142,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/user",{"_index":23779,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/mapper/provisioning",{"_index":18360,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["apps/server/src/modules/provisioning/provisioning",{"_index":18257,"title":{},"body":{"modules/ProvisioningConfigModule.html":{}}}],["apps/server/src/modules/provisioning/provisioning.module.ts",{"_index":18271,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts",{"_index":18305,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:16",{"_index":18326,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:19",{"_index":18314,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:32",{"_index":18325,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:36",{"_index":18318,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:50",{"_index":18316,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:56",{"_index":18323,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:62",{"_index":18320,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts",{"_index":18344,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:5",{"_index":18347,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:7",{"_index":18346,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:9",{"_index":18345,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv",{"_index":14364,"title":{},"body":{"classes/IservMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts",{"_index":14381,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24",{"_index":14385,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67",{"_index":14390,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc",{"_index":17721,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts",{"_index":17862,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9",{"_index":17864,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/service/oidc",{"_index":17732,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis",{"_index":19662,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts",{"_index":19779,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14",{"_index":19782,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20",{"_index":19784,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9",{"_index":19785,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis",{"_index":19788,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts",{"_index":19724,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:114",{"_index":19739,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:118",{"_index":19735,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:130",{"_index":19732,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24",{"_index":19730,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:88",{"_index":19742,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym",{"_index":18426,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts",{"_index":18428,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11",{"_index":18429,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5",{"_index":18430,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8",{"_index":18431,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts",{"_index":18389,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27",{"_index":18394,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/domain/pseudonym",{"_index":18444,"title":{},"body":{"interfaces/PseudonymSearchQuery.html":{}}}],["apps/server/src/modules/pseudonym/entity/external",{"_index":10629,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts",{"_index":18409,"title":{},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18",{"_index":18410,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21",{"_index":18411,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24",{"_index":18412,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts",{"_index":18434,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13",{"_index":18442,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20",{"_index":18440,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6",{"_index":18438,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/loggable/too",{"_index":22990,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts",{"_index":18414,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5",{"_index":18416,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym",{"_index":18385,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym.module.ts",{"_index":18425,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["apps/server/src/modules/pseudonym/repo/external",{"_index":10643,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts",{"_index":18509,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11",{"_index":18515,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22",{"_index":18514,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37",{"_index":18513,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45",{"_index":18511,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66",{"_index":18512,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72",{"_index":18517,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8",{"_index":18510,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83",{"_index":18516,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/service/feathers",{"_index":11353,"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":18445,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100",{"_index":18459,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106",{"_index":18458,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113",{"_index":18473,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12",{"_index":18454,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121",{"_index":18467,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127",{"_index":18466,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133",{"_index":18471,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18",{"_index":18460,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28",{"_index":18461,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51",{"_index":18465,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75",{"_index":18456,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88",{"_index":18469,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94",{"_index":18463,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts",{"_index":18496,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11",{"_index":18498,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18",{"_index":18500,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/registration",{"_index":18894,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["apps/server/src/modules/rocketchat",{"_index":19123,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["apps/server/src/modules/rocketchat/rocket",{"_index":1051,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts",{"_index":19216,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:13",{"_index":19220,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:5",{"_index":19223,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/role.module.ts",{"_index":19232,"title":{},"body":{"modules/RoleModule.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts",{"_index":19211,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:5",{"_index":19213,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:7",{"_index":19214,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:9",{"_index":19212,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/role.service.ts",{"_index":19263,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:10",{"_index":19266,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:13",{"_index":19270,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:18",{"_index":19267,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:24",{"_index":19268,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:30",{"_index":19269,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts",{"_index":19281,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:10",{"_index":19284,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:7",{"_index":19283,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/server/admin",{"_index":1012,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts",{"_index":20550,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts:7",{"_index":20551,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/server.config.ts",{"_index":20504,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apps/server/src/modules/server/server.module.ts",{"_index":20555,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:157",{"_index":20558,"title":{},"body":{"modules/ServerModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:188",{"_index":20632,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:192",{"_index":20633,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/sharing/controller/dto/share",{"_index":20654,"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":20673,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apps/server/src/modules/sharing/domainobject/share",{"_index":20719,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["apps/server/src/modules/sharing/entity/share",{"_index":20639,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["apps/server/src/modules/sharing/mapper/context",{"_index":20670,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/metadata",{"_index":16468,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/parent",{"_index":20761,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/share",{"_index":20755,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["apps/server/src/modules/sharing/repo/share",{"_index":20773,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["apps/server/src/modules/sharing/service/share",{"_index":20805,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["apps/server/src/modules/sharing/service/token",{"_index":22972,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["apps/server/src/modules/sharing/sharing.module.ts",{"_index":20912,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["apps/server/src/modules/sharing/uc/dto/share",{"_index":20747,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{}}}],["apps/server/src/modules/sharing/uc/share",{"_index":20835,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["apps/server/src/modules/system/controller/dto/oauth",{"_index":17248,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/public",{"_index":18526,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/system",{"_index":21559,"title":{},"body":{"classes/SystemIdParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts",{"_index":21552,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:10",{"_index":21557,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:16",{"_index":21555,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/mapper/system",{"_index":21603,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts",{"_index":21443,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:21",{"_index":21456,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:36",{"_index":21461,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:50",{"_index":21450,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/domain/ldap",{"_index":15046,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/modules/system/domain/oauth",{"_index":17190,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts",{"_index":21427,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts:25",{"_index":21429,"title":{},"body":{"classes/System.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts:29",{"_index":21430,"title":{},"body":{"classes/System.html":{}}}],["apps/server/src/modules/system/mapper/system",{"_index":21576,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts",{"_index":21560,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:20",{"_index":21566,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:39",{"_index":21563,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:6",{"_index":21564,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/repo/system",{"_index":21482,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts",{"_index":21597,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:12",{"_index":21600,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:26",{"_index":21599,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:9",{"_index":21598,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/service/dto/oauth",{"_index":17215,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/oidc",{"_index":17667,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts",{"_index":21498,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:10",{"_index":21508,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:12",{"_index":21501,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:14",{"_index":21502,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:16",{"_index":21505,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:18",{"_index":21506,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:20",{"_index":21504,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:22",{"_index":21500,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:6",{"_index":21503,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:8",{"_index":21507,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/legacy",{"_index":15492,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["apps/server/src/modules/system/service/system",{"_index":21589,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts",{"_index":21634,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:10",{"_index":21637,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:16",{"_index":21636,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:7",{"_index":21635,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/system",{"_index":21438,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["apps/server/src/modules/system/system.module.ts",{"_index":21573,"title":{},"body":{"modules/SystemModule.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts",{"_index":21639,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:12",{"_index":21641,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:19",{"_index":21644,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:33",{"_index":21645,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:43",{"_index":21642,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts",{"_index":21347,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:14",{"_index":21354,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:17",{"_index":21357,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:20",{"_index":21356,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:23",{"_index":21353,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:26",{"_index":21355,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:29",{"_index":21358,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:3",{"_index":21352,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:32",{"_index":21348,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:38",{"_index":21349,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts",{"_index":21377,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts:11",{"_index":21378,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task",{"_index":21831,"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":21930,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:22",{"_index":22097,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:26",{"_index":22100,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:29",{"_index":22089,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:32",{"_index":22096,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:36",{"_index":22091,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:39",{"_index":22099,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:42",{"_index":22090,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:49",{"_index":22094,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:52",{"_index":22098,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:55",{"_index":22095,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:58",{"_index":22092,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:61",{"_index":22102,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:64",{"_index":22101,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:67",{"_index":21931,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:9",{"_index":22088,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts",{"_index":22269,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts:11",{"_index":22270,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts",{"_index":21124,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:15",{"_index":21132,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:29",{"_index":21128,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts",{"_index":21781,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:100",{"_index":21790,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:22",{"_index":21791,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:30",{"_index":21794,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:37",{"_index":21796,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:54",{"_index":21799,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:63",{"_index":21802,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:72",{"_index":21805,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:85",{"_index":21788,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts",{"_index":21266,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts:5",{"_index":21269,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/task",{"_index":22167,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts",{"_index":21937,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:40",{"_index":21944,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:55",{"_index":21941,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:7",{"_index":21946,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts",{"_index":21331,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:14",{"_index":21341,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:18",{"_index":21338,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:24",{"_index":21336,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:8",{"_index":21334,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/task",{"_index":21833,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts",{"_index":22151,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:10",{"_index":22153,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:17",{"_index":22160,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:26",{"_index":22155,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:34",{"_index":22157,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:41",{"_index":22159,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/task",{"_index":21775,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["apps/server/src/modules/task/task.module.ts",{"_index":21978,"title":{},"body":{"modules/TaskModule.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts",{"_index":21359,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:15",{"_index":21367,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:24",{"_index":21363,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:41",{"_index":21365,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:9",{"_index":21362,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/task",{"_index":21868,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts",{"_index":22178,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:102",{"_index":22203,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:11",{"_index":22184,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:118",{"_index":22193,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:147",{"_index":22195,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:177",{"_index":22199,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:189",{"_index":22201,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:20",{"_index":22191,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:210",{"_index":22196,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:217",{"_index":22187,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:61",{"_index":22189,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:77",{"_index":22186,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts",{"_index":22375,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:10",{"_index":22383,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:16",{"_index":22381,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:7",{"_index":22379,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/teams",{"_index":22420,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["apps/server/src/modules/teams/teams.module.ts",{"_index":22425,"title":{},"body":{"modules/TeamsModule.html":{}}}],["apps/server/src/modules/tldraw",{"_index":9676,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"modules/TldrawClientModule.html":{}}}],["apps/server/src/modules/tldraw/config.ts",{"_index":22699,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts",{"_index":22718,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19",{"_index":22725,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts",{"_index":22734,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts:11",{"_index":22735,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts",{"_index":22791,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11",{"_index":22797,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18",{"_index":22803,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31",{"_index":22799,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44",{"_index":22801,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/domain/ws",{"_index":24753,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["apps/server/src/modules/tldraw/entities/tldraw",{"_index":22737,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw",{"_index":22626,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts",{"_index":22762,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13",{"_index":22769,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17",{"_index":22767,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6",{"_index":22764,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9",{"_index":22765,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts",{"_index":22773,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:5",{"_index":22775,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:8",{"_index":22777,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts",{"_index":22838,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102",{"_index":22854,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113",{"_index":22858,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14",{"_index":22872,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146",{"_index":22867,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16",{"_index":22871,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18",{"_index":22848,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202",{"_index":22868,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206",{"_index":22851,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27",{"_index":22864,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35",{"_index":22850,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65",{"_index":22861,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85",{"_index":22870,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/testing/test",{"_index":22566,"title":{},"body":{"classes/TestConnection.html":{}}}],["apps/server/src/modules/tldraw/tldraw",{"_index":22786,"title":{},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["apps/server/src/modules/tldraw/tldraw.module.ts",{"_index":22759,"title":{},"body":{"modules/TldrawModule.html":{}}}],["apps/server/src/modules/tool/common/common",{"_index":6081,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["apps/server/src/modules/tool/common/controller/dto/context",{"_index":6727,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["apps/server/src/modules/tool/common/domain/context",{"_index":6718,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["apps/server/src/modules/tool/common/domain/custom",{"_index":8245,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntry.html":{}}}],["apps/server/src/modules/tool/common/entity/custom",{"_index":8288,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["apps/server/src/modules/tool/common/interface/external",{"_index":10994,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{}}}],["apps/server/src/modules/tool/common/interface/tool",{"_index":23485,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["apps/server/src/modules/tool/common/mapper/tool",{"_index":23133,"title":{},"body":{"classes/ToolContextMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["apps/server/src/modules/tool/common/service/common",{"_index":6087,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{}}}],["apps/server/src/modules/tool/common/uc/tool",{"_index":23340,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["apps/server/src/modules/tool/context",{"_index":6682,"title":{},"body":{"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"controllers/ToolContextController.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{}}}],["apps/server/src/modules/tool/external",{"_index":2696,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{}}}],["apps/server/src/modules/tool/school",{"_index":8292,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["apps/server/src/modules/tool/tool",{"_index":1756,"title":{},"body":{"classes/AuthenticationValues.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolFeatures.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PropertyData.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["apps/server/src/modules/tool/tool.module.ts",{"_index":23339,"title":{},"body":{"modules/ToolModule.html":{}}}],["apps/server/src/modules/user",{"_index":4970,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SortImportUserParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["apps/server/src/modules/user/controller/dto/resolved",{"_index":19023,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts",{"_index":4581,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts:8",{"_index":4584,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts",{"_index":21388,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:3",{"_index":21390,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:9",{"_index":21391,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts",{"_index":23595,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:15",{"_index":23602,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:25",{"_index":23599,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/interfaces/user",{"_index":23594,"title":{},"body":{"interfaces/UserConfig.html":{}}}],["apps/server/src/modules/user/mapper/resolved",{"_index":19012,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts",{"_index":24112,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts:5",{"_index":24113,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/service/user.service.ts",{"_index":24277,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:111",{"_index":24304,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:120",{"_index":24285,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:126",{"_index":24286,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:132",{"_index":24295,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:22",{"_index":24283,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:31",{"_index":24301,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:41",{"_index":24299,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:48",{"_index":24297,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:57",{"_index":24289,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:63",{"_index":24290,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:69",{"_index":24306,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:75",{"_index":24308,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:81",{"_index":24292,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:87",{"_index":24288,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:93",{"_index":24287,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:99",{"_index":24294,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts",{"_index":23738,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:21",{"_index":23745,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:23",{"_index":23741,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:25",{"_index":23743,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:27",{"_index":23748,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:29",{"_index":23752,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:31",{"_index":23753,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:33",{"_index":23749,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:35",{"_index":23742,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:37",{"_index":23746,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:39",{"_index":23744,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:4",{"_index":23740,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:42",{"_index":23751,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:44",{"_index":23747,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:46",{"_index":23750,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts",{"_index":24340,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:10",{"_index":24342,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:13",{"_index":24346,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:20",{"_index":24344,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:26",{"_index":24347,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/user",{"_index":23591,"title":{},"body":{"modules/UserApiModule.html":{}}}],["apps/server/src/modules/user/user.module.ts",{"_index":24182,"title":{},"body":{"modules/UserModule.html":{}}}],["apps/server/src/modules/video",{"_index":2138,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/Builder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apps/server/src/shared/common/error/api",{"_index":1352,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts",{"_index":1795,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts:4",{"_index":1797,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts",{"_index":4232,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:12",{"_index":4239,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:15",{"_index":4242,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:18",{"_index":4241,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:21",{"_index":4240,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:25",{"_index":4238,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:47",{"_index":4243,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/entity",{"_index":9928,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["apps/server/src/shared/common/error/forbidden",{"_index":12514,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["apps/server/src/shared/common/error/user",{"_index":23573,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts",{"_index":24353,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts:4",{"_index":24354,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/interceptor/duration",{"_index":9816,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/interfaces/interceptor",{"_index":14333,"title":{},"body":{"interfaces/InterceptorConfig.html":{}}}],["apps/server/src/shared/common/interceptor/request",{"_index":18987,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts",{"_index":22604,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11",{"_index":22608,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14",{"_index":22609,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/loggable",{"_index":16971,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["apps/server/src/shared/common/loggable/referenced",{"_index":18858,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts",{"_index":7158,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts:9",{"_index":7161,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/guard",{"_index":13157,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["apps/server/src/shared/common/utils/sort",{"_index":20936,"title":{},"body":{"classes/SortHelper.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts",{"_index":21018,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:10",{"_index":21021,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:2",{"_index":21023,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts",{"_index":17898,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:14",{"_index":17899,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:8",{"_index":17900,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts",{"_index":17902,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:11",{"_index":17905,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:14",{"_index":17908,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:17",{"_index":17907,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:20",{"_index":17906,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:3",{"_index":17904,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts",{"_index":20946,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:13",{"_index":20947,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:18",{"_index":20949,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/domain/domain",{"_index":1768,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts",{"_index":2434,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts:5",{"_index":2436,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/board/board",{"_index":3059,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts",{"_index":4342,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:11",{"_index":4350,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:15",{"_index":4352,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:19",{"_index":4354,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:23",{"_index":4356,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column",{"_index":5431,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts",{"_index":5422,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:10",{"_index":5426,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:6",{"_index":5425,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/content",{"_index":6393,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["apps/server/src/shared/domain/domainobject/board/drawing",{"_index":9662,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/external",{"_index":10331,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/file",{"_index":11553,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/link",{"_index":15785,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/rich",{"_index":19069,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/submission",{"_index":21091,"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":3113,"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":10124,"title":{},"body":{"classes/ExternalSource.html":{}}}],["apps/server/src/shared/domain/domainobject/legacy",{"_index":15327,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts",{"_index":8215,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:17",{"_index":16125,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:19",{"_index":16134,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:21",{"_index":16121,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:23",{"_index":16132,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:25",{"_index":16122,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:27",{"_index":16123,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:29",{"_index":16124,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:31",{"_index":16130,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:33",{"_index":16131,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:35",{"_index":16129,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:37",{"_index":16116,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:39",{"_index":16120,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:41",{"_index":16119,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:43",{"_index":16128,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:45",{"_index":16126,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:47",{"_index":16117,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:49",{"_index":16133,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:51",{"_index":16127,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:53",{"_index":16118,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:55",{"_index":16115,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:6",{"_index":8218,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:8",{"_index":8217,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts",{"_index":17883,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:2",{"_index":17885,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:4",{"_index":17884,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts",{"_index":18368,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13",{"_index":18370,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17",{"_index":18372,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21",{"_index":18373,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25",{"_index":18374,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29",{"_index":18375,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/role",{"_index":19247,"title":{},"body":{"classes/RoleReference.html":{}}}],["apps/server/src/shared/domain/domainobject/user",{"_index":23895,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts",{"_index":23612,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:11",{"_index":23615,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:13",{"_index":23618,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:15",{"_index":23624,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:17",{"_index":23630,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:19",{"_index":23631,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:21",{"_index":23626,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:23",{"_index":23617,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:25",{"_index":23621,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:27",{"_index":23619,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:29",{"_index":23625,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:31",{"_index":23616,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:33",{"_index":23622,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:35",{"_index":23620,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:37",{"_index":23628,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:39",{"_index":23623,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:41",{"_index":23627,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:43",{"_index":23629,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:45",{"_index":23613,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:7",{"_index":23614,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:9",{"_index":23632,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/video",{"_index":24537,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts",{"_index":207,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:12",{"_index":222,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:15",{"_index":216,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:18",{"_index":218,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:21",{"_index":213,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:24",{"_index":220,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:27",{"_index":217,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:30",{"_index":215,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:33",{"_index":214,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:36",{"_index":212,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts",{"_index":2535,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:11",{"_index":2540,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:24",{"_index":2566,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:27",{"_index":2563,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:30",{"_index":2565,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:33",{"_index":2564,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:36",{"_index":2568,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:8",{"_index":2538,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts",{"_index":3911,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29",{"_index":3915,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32",{"_index":3913,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35",{"_index":3916,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39",{"_index":3919,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42",{"_index":3917,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/card",{"_index":4447,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/column",{"_index":5492,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/drawing",{"_index":9694,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/external",{"_index":10347,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/file",{"_index":11578,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/link",{"_index":15811,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/rich",{"_index":19096,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/submission",{"_index":21109,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/types/board",{"_index":3478,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts",{"_index":7505,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:100",{"_index":7518,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:103",{"_index":7530,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:44",{"_index":24351,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:46",{"_index":24350,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:48",{"_index":24352,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:54",{"_index":7532,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:57",{"_index":7525,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:61",{"_index":7534,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:65",{"_index":7539,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:69",{"_index":7542,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:73",{"_index":7541,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:76",{"_index":7523,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:80",{"_index":7520,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:83",{"_index":7537,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:87",{"_index":7543,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:90",{"_index":7521,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:94",{"_index":7536,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:97",{"_index":7528,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts",{"_index":7774,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:21",{"_index":7777,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:25",{"_index":7782,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:29",{"_index":7776,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:33",{"_index":7780,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts",{"_index":8443,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:100",{"_index":12765,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:108",{"_index":12754,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:117",{"_index":12760,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:138",{"_index":12764,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:14",{"_index":13739,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:142",{"_index":12767,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:16",{"_index":13741,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:161",{"_index":8463,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:163",{"_index":8461,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:165",{"_index":8462,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:167",{"_index":8464,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:169",{"_index":8485,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:176",{"_index":8491,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:18",{"_index":13740,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:180",{"_index":8460,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:193",{"_index":8479,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:197",{"_index":8483,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:20",{"_index":13737,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:201",{"_index":8477,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:213",{"_index":8474,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:22",{"_index":13736,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:221",{"_index":8489,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:231",{"_index":8498,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:24",{"_index":13742,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:240",{"_index":8495,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:255",{"_index":8470,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:266",{"_index":8468,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:272",{"_index":8466,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:278",{"_index":8476,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:286",{"_index":8482,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:298",{"_index":8493,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:307",{"_index":8487,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:38",{"_index":12750,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:40",{"_index":12753,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:42",{"_index":12752,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:52",{"_index":12749,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:60",{"_index":12758,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:64",{"_index":12757,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:68",{"_index":12759,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:72",{"_index":12756,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:76",{"_index":12751,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:78",{"_index":12763,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:8",{"_index":13738,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:82",{"_index":12761,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:86",{"_index":12762,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:90",{"_index":12766,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts",{"_index":8594,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42",{"_index":8601,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45",{"_index":8602,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48",{"_index":8603,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52",{"_index":8600,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56",{"_index":8598,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76",{"_index":8682,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81",{"_index":8684,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/external",{"_index":10129,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/federal",{"_index":7483,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["apps/server/src/shared/domain/entity/import",{"_index":13944,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/legacy",{"_index":2939,"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":6205,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:101",{"_index":15612,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:104",{"_index":15605,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:107",{"_index":15610,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:110",{"_index":15613,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:81",{"_index":15630,"title":{},"body":{"interfaces/LessonParent.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:87",{"_index":15611,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:91",{"_index":15609,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:95",{"_index":15606,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:98",{"_index":15607,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts",{"_index":8142,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:101",{"_index":16096,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:33",{"_index":16103,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:36",{"_index":16114,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:39",{"_index":16099,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:42",{"_index":16112,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:45",{"_index":16100,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:48",{"_index":16101,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:51",{"_index":16102,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:54",{"_index":16108,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:58",{"_index":16111,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:65",{"_index":16107,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:68",{"_index":16093,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:71",{"_index":16098,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:74",{"_index":16097,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:77",{"_index":16092,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:85",{"_index":16104,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:89",{"_index":16094,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:92",{"_index":16113,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:95",{"_index":16105,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:98",{"_index":16095,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts",{"_index":16285,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:31",{"_index":16290,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:34",{"_index":16291,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:37",{"_index":16292,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:40",{"_index":16293,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:43",{"_index":16295,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:46",{"_index":16296,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:49",{"_index":16297,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:52",{"_index":16299,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:55",{"_index":16300,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:58",{"_index":16301,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts",{"_index":7870,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:102",{"_index":20271,"title":{},"body":{"entities/SchoolNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:116",{"_index":7871,"title":{},"body":{"entities/CourseNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:127",{"_index":22322,"title":{},"body":{"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:34",{"_index":16593,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:38",{"_index":16583,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:43",{"_index":16585,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:46",{"_index":16586,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:49",{"_index":16589,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:52",{"_index":16590,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:55",{"_index":16591,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:59",{"_index":16592,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:62",{"_index":16588,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:65",{"_index":16584,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:68",{"_index":16594,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:70",{"_index":16587,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts",{"_index":19197,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:15",{"_index":19198,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:18",{"_index":19199,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:21",{"_index":19201,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts",{"_index":19891,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:105",{"_index":19911,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:108",{"_index":19895,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:111",{"_index":19905,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:50",{"_index":20289,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:53",{"_index":20288,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:59",{"_index":20290,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:62",{"_index":20291,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:69",{"_index":19894,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:72",{"_index":19896,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:75",{"_index":19897,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:78",{"_index":19893,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:81",{"_index":19902,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:84",{"_index":19898,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:87",{"_index":19899,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:90",{"_index":19908,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:93",{"_index":19901,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:96",{"_index":19907,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts",{"_index":20442,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:13",{"_index":20445,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:16",{"_index":20446,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:19",{"_index":20444,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts",{"_index":20997,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:15",{"_index":21000,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:18",{"_index":20999,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:21",{"_index":21002,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:24",{"_index":21001,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts",{"_index":21026,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:30",{"_index":21034,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:34",{"_index":21040,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:37",{"_index":21036,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:40",{"_index":21030,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:43",{"_index":21041,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:46",{"_index":21029,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:49",{"_index":21037,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:52",{"_index":21033,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:55",{"_index":21031,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:58",{"_index":21032,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts",{"_index":15054,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:100",{"_index":15070,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:103",{"_index":15068,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:106",{"_index":15069,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:109",{"_index":15067,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:112",{"_index":15076,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:115",{"_index":15073,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:118",{"_index":15074,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:121",{"_index":15075,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:124",{"_index":15071,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:127",{"_index":15072,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:154",{"_index":17686,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:167",{"_index":17688,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:170",{"_index":17689,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:173",{"_index":17691,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:176",{"_index":17687,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:179",{"_index":17693,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:182",{"_index":17692,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:185",{"_index":17694,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:188",{"_index":17690,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:19",{"_index":17230,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:194",{"_index":21523,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:197",{"_index":21524,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:200",{"_index":21513,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:203",{"_index":21514,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:206",{"_index":21517,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:210",{"_index":21520,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:213",{"_index":21518,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:216",{"_index":21516,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:219",{"_index":21521,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:222",{"_index":21522,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:37",{"_index":17232,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:40",{"_index":17233,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:43",{"_index":17235,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:46",{"_index":17240,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:49",{"_index":17234,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:52",{"_index":17243,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:55",{"_index":17231,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:58",{"_index":17241,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:61",{"_index":17242,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:64",{"_index":17239,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:67",{"_index":17238,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:70",{"_index":17236,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:73",{"_index":17237,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:77",{"_index":15064,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:94",{"_index":15065,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:97",{"_index":15066,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts",{"_index":21657,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:16",{"_index":22272,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:18",{"_index":22271,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:35",{"_index":21979,"title":{},"body":{"interfaces/TaskParent.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:45",{"_index":21668,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:48",{"_index":21662,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:51",{"_index":21663,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:54",{"_index":21658,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:58",{"_index":21664,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:61",{"_index":21669,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:64",{"_index":21670,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:67",{"_index":21674,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:71",{"_index":21661,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:75",{"_index":21659,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:79",{"_index":21671,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:83",{"_index":21667,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:86",{"_index":21673,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:90",{"_index":21665,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts",{"_index":22282,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:19",{"_index":22395,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:27",{"_index":22398,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:30",{"_index":22396,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:33",{"_index":22397,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:36",{"_index":22399,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:40",{"_index":22401,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:44",{"_index":22403,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:48",{"_index":22405,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:56",{"_index":22283,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:59",{"_index":22285,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/user",{"_index":23919,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts",{"_index":23528,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:100",{"_index":23546,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:103",{"_index":23532,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:106",{"_index":23548,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:44",{"_index":23534,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:47",{"_index":23537,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:50",{"_index":23543,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:54",{"_index":23552,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:58",{"_index":23553,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:62",{"_index":23545,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:65",{"_index":23536,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:68",{"_index":23550,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:72",{"_index":23540,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:75",{"_index":23538,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:78",{"_index":23544,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:81",{"_index":23535,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:84",{"_index":23541,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:87",{"_index":23539,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:90",{"_index":23549,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:94",{"_index":23533,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:97",{"_index":23542,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/video",{"_index":24372,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["apps/server/src/shared/domain/interface/base",{"_index":2527,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["apps/server/src/shared/domain/interface/entity.ts",{"_index":9933,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/interface/find",{"_index":13735,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["apps/server/src/shared/domain/interface/learnroom.ts",{"_index":15256,"title":{},"body":{"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts",{"_index":17950,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:17",{"_index":17957,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:26",{"_index":17961,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:51",{"_index":17955,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/types/importuser.types.ts",{"_index":13747,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["apps/server/src/shared/domain/types/news.types.ts",{"_index":8063,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["apps/server/src/shared/domain/types/rich",{"_index":19057,"title":{},"body":{"classes/RichText.html":{}}}],["apps/server/src/shared/domain/types/task.types.ts",{"_index":13791,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["apps/server/src/shared/infra/identity",{"_index":26294,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts",{"_index":2438,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:10",{"_index":2449,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:100",{"_index":2469,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:13",{"_index":2478,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:15",{"_index":2466,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:17",{"_index":2461,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:19",{"_index":2475,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:24",{"_index":2477,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:38",{"_index":2452,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:55",{"_index":2454,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:72",{"_index":2458,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:84",{"_index":2459,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:92",{"_index":2471,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts",{"_index":2635,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:13",{"_index":2644,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:16",{"_index":2649,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:18",{"_index":2645,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:22",{"_index":2648,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:26",{"_index":2646,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:30",{"_index":2647,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts",{"_index":3983,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:12",{"_index":3991,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:18",{"_index":3994,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:26",{"_index":3989,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:39",{"_index":3996,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:8",{"_index":3997,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/contextexternaltool/context",{"_index":6849,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts",{"_index":7917,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:11",{"_index":7971,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:122",{"_index":7929,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:131",{"_index":7932,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:23",{"_index":7974,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:34",{"_index":7973,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:39",{"_index":7970,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:49",{"_index":7972,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:57",{"_index":7933,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:61",{"_index":7923,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:73",{"_index":7925,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:97",{"_index":7927,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts",{"_index":7799,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10",{"_index":7806,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20",{"_index":7802,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27",{"_index":7805,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts",{"_index":8686,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112",{"_index":8709,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128",{"_index":8704,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16",{"_index":8697,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19",{"_index":8715,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24",{"_index":8711,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34",{"_index":8706,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42",{"_index":8717,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51",{"_index":8713,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64",{"_index":8702,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75",{"_index":8719,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95",{"_index":8699,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts",{"_index":8771,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15",{"_index":13731,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16",{"_index":13730,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17",{"_index":13732,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:18",{"_index":13729,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:22",{"_index":8776,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:26",{"_index":8784,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:32",{"_index":8786,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:38",{"_index":8780,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:44",{"_index":8782,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:56",{"_index":8778,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts",{"_index":8434,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts:11",{"_index":8439,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts:15",{"_index":8438,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboardelement.repo.ts:8",{"_index":8436,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["apps/server/src/shared/repo/externaltool/external",{"_index":10704,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["apps/server/src/shared/repo/federalstate/federal",{"_index":11494,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts",{"_index":14192,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:13",{"_index":14207,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:29",{"_index":14205,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:36",{"_index":14201,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:54",{"_index":14203,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:71",{"_index":14198,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts",{"_index":14247,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:102",{"_index":14267,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:115",{"_index":14275,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:12",{"_index":14271,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:19",{"_index":14273,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:26",{"_index":14260,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:40",{"_index":14262,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:56",{"_index":14264,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:71",{"_index":14269,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:88",{"_index":14258,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts",{"_index":16153,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:13",{"_index":16158,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:22",{"_index":16160,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:27",{"_index":16157,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9",{"_index":16163,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts",{"_index":16325,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts:7",{"_index":16326,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts",{"_index":16551,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts:6",{"_index":16555,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/news/news",{"_index":16771,"title":{},"body":{"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts",{"_index":16720,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:12",{"_index":16734,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:14",{"_index":16735,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:23",{"_index":16727,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:38",{"_index":16729,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:53",{"_index":16733,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:60",{"_index":16731,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts",{"_index":19250,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:13",{"_index":19258,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:15",{"_index":19254,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:25",{"_index":19256,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:30",{"_index":19253,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:9",{"_index":19259,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/school/legacy",{"_index":15390,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["apps/server/src/shared/repo/schoolexternaltool/school",{"_index":20006,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["apps/server/src/shared/repo/scope.ts",{"_index":20479,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:11",{"_index":20482,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:13",{"_index":20481,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:20",{"_index":20487,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:31",{"_index":20484,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:35",{"_index":20485,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:9",{"_index":20483,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts",{"_index":21013,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12",{"_index":21016,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16",{"_index":21015,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7",{"_index":21014,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts",{"_index":21279,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:11",{"_index":21292,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:22",{"_index":21286,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:31",{"_index":21288,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:36",{"_index":21284,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:42",{"_index":21291,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/system/legacy",{"_index":15469,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system",{"_index":21630,"title":{},"body":{"classes/SystemScope.html":{}}}],["apps/server/src/shared/repo/task/task",{"_index":22117,"title":{},"body":{"classes/TaskScope.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts",{"_index":21980,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:106",{"_index":21989,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:11",{"_index":22000,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:15",{"_index":21999,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:164",{"_index":21995,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:190",{"_index":21997,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:26",{"_index":21987,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:38",{"_index":21993,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts",{"_index":22426,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:13",{"_index":22431,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:36",{"_index":22428,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:43",{"_index":22430,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:9",{"_index":22432,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts",{"_index":20975,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:10",{"_index":20981,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:21",{"_index":20984,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:36",{"_index":20986,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/user/user",{"_index":23652,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts",{"_index":24199,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:13",{"_index":24217,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:150",{"_index":24207,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:158",{"_index":24205,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:165",{"_index":24213,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:172",{"_index":24214,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:184",{"_index":24216,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:188",{"_index":24211,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:28",{"_index":24208,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:40",{"_index":24210,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts",{"_index":24265,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:13",{"_index":24274,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:20",{"_index":24272,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:29",{"_index":24276,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:36",{"_index":24268,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:6",{"_index":24270,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/userloginmigration/user",{"_index":23975,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["apps/server/src/shared/repo/videoconference/video",{"_index":24702,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts",{"_index":500,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:10",{"_index":519,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:16",{"_index":521,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/axios",{"_index":2075,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts",{"_index":2569,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:110",{"_index":2575,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:122",{"_index":2582,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:134",{"_index":2585,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:144",{"_index":2583,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:148",{"_index":2580,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:15",{"_index":2573,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:160",{"_index":2584,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:32",{"_index":2581,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:47",{"_index":2576,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:60",{"_index":2579,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:75",{"_index":2577,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:84",{"_index":2578,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:98",{"_index":2574,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts",{"_index":7751,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:12",{"_index":7755,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:19",{"_index":7756,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:26",{"_index":7758,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:33",{"_index":7761,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts",{"_index":7794,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts:8",{"_index":7795,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/board/column",{"_index":5486,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/do",{"_index":9624,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/domain",{"_index":9632,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/legacy",{"_index":15361,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/context",{"_index":6802,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/external",{"_index":8302,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/school",{"_index":19962,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/external",{"_index":10379,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts",{"_index":11925,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts:10",{"_index":11927,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/h5p",{"_index":13174,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["apps/server/src/shared/testing/factory/import",{"_index":14083,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts",{"_index":8022,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:18",{"_index":14487,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:22",{"_index":14486,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/lesson.factory.ts",{"_index":15615,"title":{},"body":{"classes/LessonFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts",{"_index":16136,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:14",{"_index":16140,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:7",{"_index":16138,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/material.factory.ts",{"_index":16321,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["apps/server/src/shared/testing/factory/readable",{"_index":18582,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["apps/server/src/shared/testing/factory/share",{"_index":20732,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts",{"_index":21148,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:15",{"_index":21153,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:21",{"_index":21152,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:27",{"_index":21155,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:9",{"_index":21151,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts",{"_index":21525,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:13",{"_index":21532,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:34",{"_index":21530,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:46",{"_index":21533,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts",{"_index":21922,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:11",{"_index":21923,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:17",{"_index":21926,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:23",{"_index":21927,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:29",{"_index":21925,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts",{"_index":22297,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:14",{"_index":22303,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:7",{"_index":22301,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts",{"_index":22406,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:19",{"_index":22409,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:9",{"_index":22407,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts",{"_index":22824,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5",{"_index":22830,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9",{"_index":22828,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/user",{"_index":690,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts",{"_index":23730,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts:9",{"_index":23733,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts",{"_index":23760,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:12",{"_index":23771,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:18",{"_index":23769,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:24",{"_index":23766,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:33",{"_index":23767,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:42",{"_index":23765,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/test",{"_index":1603,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["apps\\server\\src\\shared\\testing\\factory",{"_index":26199,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appstartinfo",{"_index":1416,"title":{"interfaces/AppStartInfo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["appstartloggable",{"_index":1425,"title":{"classes/AppStartLoggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["appthis",{"_index":24989,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["arbitrary",{"_index":25989,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["arc",{"_index":2639,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["architectural",{"_index":25807,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["architecture",{"_index":24981,"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":25977,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["archive",{"_index":25602,"title":{},"body":{"license.html":{}}}],["archived",{"_index":7856,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["archivegroup(groupname",{"_index":1126,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["are.claim.values.regex",{"_index":14777,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["area",{"_index":26378,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["areas",{"_index":26068,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["aresubmissionspublic",{"_index":21729,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["arg",{"_index":24854,"title":{},"body":{"dependencies.html":{}}}],["args",{"_index":20535,"title":{},"body":{"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{}}}],["argument",{"_index":1094,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/FilesStorageProducer.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["argumentshost",{"_index":12671,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["arising",{"_index":25566,"title":{},"body":{"license.html":{}}}],["around",{"_index":21893,"title":{},"body":{"injectables/TaskCopyUC.html":{},"todo.html":{}}}],["arrange",{"_index":25483,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["arrangement",{"_index":25493,"title":{},"body":{"license.html":{}}}],["array",{"_index":1835,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"classes/CardIdsParams.html":{},"classes/CardResponse.html":{},"classes/ClassEntityFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/LtiTool.html":{},"classes/PatchOrderParams.html":{},"classes/ReferencesService.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["array(length).keys()].map((_",{"_index":3878,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["array.from(awarenessstates.keys",{"_index":22954,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(classmap.keys",{"_index":4873,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["array.from(controlledids",{"_index":22893,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(modelentity.gridelements).foreach((el",{"_index":8762,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["array.isarray(boardnode",{"_index":3619,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(cardidparams.ids",{"_index":4411,"title":{},"body":{"controllers/CardController.html":{}}}],["array.isarray(collectionnamefilter",{"_index":5272,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["array.isarray(matches",{"_index":13990,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(object",{"_index":13476,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(object.h5p_libraries",{"_index":13477,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(permissions",{"_index":11327,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["array.isarray(props.classnames",{"_index":13978,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(props.rolenames",{"_index":13975,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(requiredpermissions",{"_index":1836,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["array.isarray(t",{"_index":3615,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(user.attributes[attributename",{"_index":14919,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["array.isarray(user.permissions",{"_index":11292,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["array.isarray(value",{"_index":14931,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["arraybuffer",{"_index":10476,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/TldrawWsService.html":{}}}],["arraybufferlike",{"_index":22936,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["arrayminsize",{"_index":19786,"title":{},"body":{"classes/SanisResponse.html":{}}}],["arrayminsize(1",{"_index":19787,"title":{},"body":{"classes/SanisResponse.html":{}}}],["article",{"_index":25216,"title":{},"body":{"license.html":{}}}],["asadmin",{"_index":23761,"title":{},"body":{"classes/UserFactory.html":{}}}],["asadmin(additionalpermissions",{"_index":726,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["asc",{"_index":5340,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FilesRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["asguest",{"_index":2278,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["asguest(isguest",{"_index":24638,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["asguest(value",{"_index":2281,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["ask",{"_index":15688,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["ask_moderator",{"_index":2182,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["asks",{"_index":6286,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["aspnetcore_environment='development",{"_index":26272,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["assert",{"_index":25077,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assets",{"_index":25438,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["assigned",{"_index":3820,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["assignemnt",{"_index":14114,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["assigning",{"_index":25947,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assignment",{"_index":1103,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["assignment,@typescript",{"_index":1100,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["associated",{"_index":22274,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{}}}],["associations",{"_index":506,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["associations(associations",{"_index":535,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["asstudent",{"_index":23762,"title":{},"body":{"classes/UserFactory.html":{}}}],["asstudent(additionalpermissions",{"_index":716,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["assume",{"_index":25557,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["assumption",{"_index":25585,"title":{},"body":{"license.html":{}}}],["assumptions",{"_index":25391,"title":{},"body":{"license.html":{}}}],["asteacher",{"_index":23763,"title":{},"body":{"classes/UserFactory.html":{}}}],["asteacher(additionalpermissions",{"_index":722,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["async",{"_index":317,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["asynchronous",{"_index":26106,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["atm",{"_index":1623,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["attach",{"_index":25591,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["attachment",{"_index":1447,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attachments",{"_index":1449,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attempt",{"_index":25399,"title":{},"body":{"license.html":{}}}],["attempted",{"_index":16526,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["attendee",{"_index":2317,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["attendeepw",{"_index":2159,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["attendees",{"_index":2302,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["attends",{"_index":14113,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["attention",{"_index":26432,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["attribute",{"_index":13934,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["attributename",{"_index":13931,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributes",{"_index":4289,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["attributes.summary",{"_index":4312,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributes['x",{"_index":4311,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributevalue",{"_index":13936,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributions",{"_index":25379,"title":{},"body":{"license.html":{}}}],["aud",{"_index":8023,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["audience",{"_index":1589,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["auf",{"_index":5540,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["autenticationresponse",{"_index":1620,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["auth",{"_index":1171,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"todo.html":{}}}],["auth.guard.ts",{"_index":14438,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["auth.provider",{"_index":11323,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["auth.provider.ts",{"_index":11272,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["auth.provider.ts:14",{"_index":11278,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:17",{"_index":11286,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:27",{"_index":11288,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:39",{"_index":11282,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:56",{"_index":11280,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:61",{"_index":11284,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth_token",{"_index":2295,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["authcode",{"_index":17008,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception",{"_index":1459,"title":{"classes/AuthCodeFailureLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception(error",{"_index":13582,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authcodefailureloggableexception(errorcode",{"_index":17029,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authconfig",{"_index":14444,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.jwtoptions",{"_index":14453,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.secret",{"_index":14452,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authendpoint",{"_index":13700,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["authenticate",{"_index":395,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapService.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt",{"_index":398,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt')@delete(':systemid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21448,"title":{},"body":{"controllers/SystemController.html":{}}}],["authenticate('jwt')@delete('auth/sessions/consent",{"_index":17441,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@delete('clients/:id",{"_index":17416,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('auth/sessions/consent",{"_index":17429,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients",{"_index":17431,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients/:id",{"_index":17424,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('consentrequest/:challenge",{"_index":17419,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('consentrequest/:challenge",{"_index":17434,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('loginrequest/:challenge",{"_index":17437,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('logoutrequest/:challenge",{"_index":17412,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@post('clients",{"_index":17414,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@put('clients/:id",{"_index":17443,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticated",{"_index":358,"title":{},"body":{"controllers/AccountController.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{}}}],["authenticateuser",{"_index":16998,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticateuser(systemid",{"_index":17007,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticating",{"_index":25860,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["authentication",{"_index":1900,"title":{},"body":{"classes/AuthorizationParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"controllers/LoginController.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthClientBody.html":{},"classes/RedirectResponse.html":{},"interfaces/RetryOptions.html":{},"classes/StatelessAuthorizationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["authentication.module",{"_index":1488,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["authentication/authentication",{"_index":22788,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["authentication/authentication.module",{"_index":12562,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["authentication/config/x",{"_index":9359,"title":{},"body":{"modules/DeletionModule.html":{}}}],["authentication/local",{"_index":1615,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationapimodule",{"_index":1480,"title":{"modules/AuthenticationApiModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["authenticationcodegranttokenrequest",{"_index":1491,"title":{"classes/AuthenticationCodeGrantTokenRequest.html":{}},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/TokenRequestMapper.html":{}}}],["authenticationexecutioninforepresentation",{"_index":14670,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationflowrepresentation",{"_index":14672,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationmodule",{"_index":1484,"title":{"modules/AuthenticationModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["authenticationresponse",{"_index":1602,"title":{"interfaces/AuthenticationResponse.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationresponse.accesstoken",{"_index":1685,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationservice",{"_index":1526,"title":{"injectables/AuthenticationService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["authenticationvalues",{"_index":1755,"title":{"classes/AuthenticationValues.html":{}},"body":{"classes/AuthenticationValues.html":{}}}],["authguard",{"_index":9207,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"controllers/LoginController.html":{}}}],["authguard('jwt",{"_index":14439,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["authheader",{"_index":17660,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.split",{"_index":17663,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader?.tolowercase()?.startswith('bearer",{"_index":17662,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["author",{"_index":11724,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["authorcomments",{"_index":6569,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["authoriation",{"_index":26445,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorisation",{"_index":3910,"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":15599,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorisationservice",{"_index":9719,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["authorizable",{"_index":2691,"title":{},"body":{"classes/BaseUc.html":{}}}],["authorizable.service",{"_index":4158,"title":{},"body":{"injectables/BoardUc.html":{}}}],["authorizable.service.ts",{"_index":3442,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:11",{"_index":6716,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:18",{"_index":3447,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:24",{"_index":3448,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:32",{"_index":3450,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:50",{"_index":3452,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:8",{"_index":6715,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.ts",{"_index":3417,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizable.ts:32",{"_index":3420,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:36",{"_index":3422,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:40",{"_index":3424,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizableobject",{"_index":1767,"title":{"interfaces/AuthorizableObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizablereferencetype",{"_index":1953,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.boardnode",{"_index":12398,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.contextexternaltoolentity",{"_index":7108,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.course",{"_index":7734,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.lesson",{"_index":12394,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.school",{"_index":12392,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{}}}],["authorizablereferencetype.submission",{"_index":12396,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.task",{"_index":12387,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.user",{"_index":12390,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizableuser",{"_index":21878,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["authorization",{"_index":1475,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CalendarService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/CourseCopyUC.html":{},"modules/H5PEditorModule.html":{},"modules/ImportUserModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/OauthSSOController.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorization.body.params.ts",{"_index":15040,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:12",{"_index":15044,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:13",{"_index":15841,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:17",{"_index":15041,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:21",{"_index":15042,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:7",{"_index":15043,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:8",{"_index":15842,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.helper",{"_index":1985,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["authorization.module",{"_index":1938,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorization.params",{"_index":17648,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authorization.params.ts",{"_index":20969,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:12",{"_index":20971,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:16",{"_index":20972,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:20",{"_index":20973,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:8",{"_index":20970,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.service",{"_index":1958,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["authorization.service.ts",{"_index":11308,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:16",{"_index":11319,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:32",{"_index":11315,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:54",{"_index":11321,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:6",{"_index":11313,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization_code",{"_index":13704,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{}}}],["authorization_operation",{"_index":1798,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["authorization_timebox_ms",{"_index":14541,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorizationapimodule",{"_index":1923,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorizationcontext",{"_index":1775,"title":{"interfaces/AuthorizationContext.html":{}},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder",{"_index":1780,"title":{"classes/AuthorizationContextBuilder.html":{}},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read",{"_index":18508,"title":{},"body":{"injectables/PseudonymUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_admin",{"_index":7125,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_user",{"_index":23332,"title":{},"body":{"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read([permission.course_edit",{"_index":7747,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["authorizationcontextbuilder.read([permission.filestorage_view",{"_index":26404,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.read([permission.school_system_edit",{"_index":20423,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["authorizationcontextbuilder.read([permission.school_system_view",{"_index":20417,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["authorizationcontextbuilder.read([permission.school_tool_admin",{"_index":10283,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["authorizationcontextbuilder.read([permission.submissions_view",{"_index":21375,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.read([permission.topic_create",{"_index":15597,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorizationcontextbuilder.read([permissions.course_view",{"_index":26401,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write",{"_index":15603,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.change_team_roles",{"_index":5158,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["authorizationcontextbuilder.write([permission.context_tool_admin",{"_index":7106,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["authorizationcontextbuilder.write([permission.course_create",{"_index":7732,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_create",{"_index":26403,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_edit",{"_index":26405,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_remove",{"_index":26406,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.instance",{"_index":26413,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.submissions_edit",{"_index":21372,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.write([permission.system_create",{"_index":21649,"title":{},"body":{"injectables/SystemUc.html":{}}}],["authorizationcontextbuilder.write([permission.topic_view",{"_index":15728,"title":{},"body":{"injectables/LessonUC.html":{}}}],["authorizationcontextbuilder.write([permission.user_login_migration_admin",{"_index":4988,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["authorizationcontextbuilder.write(requiredpermissions",{"_index":20891,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["authorizationerror",{"_index":1794,"title":{"classes/AuthorizationError.html":{}},"body":{"classes/AuthorizationError.html":{}}}],["authorizationhelper",{"_index":1801,"title":{"injectables/AuthorizationHelper.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationloaderservice",{"_index":1845,"title":{"interfaces/AuthorizationLoaderService.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/LessonService.html":{}}}],["authorizationloaderservicegeneric",{"_index":1854,"title":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/GroupService.html":{}}}],["authorizationmodule",{"_index":1856,"title":{"modules/AuthorizationModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/NewsModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationparams",{"_index":1887,"title":{"classes/AuthorizationParams.html":{}},"body":{"classes/AuthorizationParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/OauthSSOController.html":{}}}],["authorizationreferencemodule",{"_index":1903,"title":{"modules/AuthorizationReferenceModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["authorizationreferenceservice",{"_index":1909,"title":{"injectables/AuthorizationReferenceService.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ShareTokenUC.html":{}}}],["authorizations",{"_index":21892,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationservice",{"_index":1862,"title":{"injectables/AuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseExportUc.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PermissionService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationservice.checkpermission",{"_index":11139,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["authorizationurl",{"_index":15151,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["authorize",{"_index":17933,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizeaccess",{"_index":14543,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorized",{"_index":1799,"title":{},"body":{"classes/AuthorizationError.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizes",{"_index":25461,"title":{},"body":{"license.html":{}}}],["authorizing",{"_index":25497,"title":{},"body":{"license.html":{}}}],["authors",{"_index":6570,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"license.html":{}}}],["authparams",{"_index":13596,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authservice",{"_index":5131,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/LoginUc.html":{}}}],["authtoken",{"_index":1112,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["auto",{"_index":2010,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["autocontextidstrategy",{"_index":1999,"title":{"injectables/AutoContextIdStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autocontextnamestrategy",{"_index":2013,"title":{"injectables/AutoContextNameStrategy.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["automated",{"_index":26038,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["automatic",{"_index":25430,"title":{},"body":{"license.html":{}}}],["automatically",{"_index":10599,"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":10586,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameters.includes(customparameter.type",{"_index":10625,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameterstrategy",{"_index":2009,"title":{"interfaces/AutoParameterStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["autoparameterstrategymap",{"_index":2740,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["autoschoolidstrategy",{"_index":2059,"title":{"injectables/AutoSchoolIdStrategy.html":{}},"body":{"injectables/AutoSchoolIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autoschoolnumberstrategy",{"_index":2063,"title":{"injectables/AutoSchoolNumberStrategy.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["avaible",{"_index":1851,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available",{"_index":2543,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FilterImportUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/OauthLoginResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available_languages",{"_index":20512,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{}}}],["availabledate",{"_index":4093,"title":{},"body":{"classes/BoardTaskResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["availableon",{"_index":22047,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["availableschoolexternaltools",{"_index":10201,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availableschoolexternaltools.map",{"_index":10231,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletool",{"_index":10241,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools",{"_index":10214,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["availabletools.filter",{"_index":10240,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools.foreach((externaltool",{"_index":10287,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext",{"_index":10239,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext.foreach((tooltemplateinfo",{"_index":10298,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["avoid",{"_index":1929,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["await",{"_index":657,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["awaited",{"_index":26108,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["awaiting_scan_status",{"_index":11843,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["awaits",{"_index":23353,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["aware",{"_index":9120,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["awareness",{"_index":24755,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awareness(this",{"_index":24778,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenesschangehandler",{"_index":24756,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenessstates",{"_index":22949,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["awarenessstates.size",{"_index":22951,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["away",{"_index":25059,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["aws",{"_index":8999,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"dependencies.html":{}}}],["axios",{"_index":2084,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolLogoService.html":{},"classes/FileDtoBuilder.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TokenRequestLoggableException.html":{},"dependencies.html":{}}}],["axiosconfig",{"_index":13590,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axioserror",{"_index":2082,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserror.cause",{"_index":2107,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserror.status",{"_index":2104,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserrorfactory",{"_index":2074,"title":{"classes/AxiosErrorFactory.html":{}},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorfactory.define",{"_index":2087,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorloggable",{"_index":2096,"title":{"classes/AxiosErrorLoggable.html":{}},"body":{"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserrorloggable:12",{"_index":13552,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axiosheaders",{"_index":2083,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosheaders(props.headers",{"_index":2132,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaderskeyvalue",{"_index":2124,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheadervalue",{"_index":2123,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosrequestconfig",{"_index":4329,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponse",{"_index":2114,"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":2080,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosresponsefactory.build",{"_index":2086,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axiosresponseimp",{"_index":2112,"title":{"classes/AxiosResponseImp.html":{}},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseprops",{"_index":2116,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["aythtoken",{"_index":19157,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["b",{"_index":2995,"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":8517,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["b.position",{"_index":3606,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["b.width",{"_index":16424,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["back",{"_index":568,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["backchannel",{"_index":15994,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["backchannelsupported",{"_index":17718,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["backend",{"_index":24902,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["backendurl",{"_index":10461,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["backendurl}${filledtemplate",{"_index":10465,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["background",{"_index":11859,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup",{"_index":5224,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["backup/idm/keycloak",{"_index":26307,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup/setup/accounts.json",{"_index":14595,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["backup/setup/users.json",{"_index":14596,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["bad",{"_index":2091,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["badgatewayexception",{"_index":9094,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:executedeletions",{"_index":9130,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:queuedeletionrequest",{"_index":9125,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badrequest",{"_index":2092,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/TaskCopyUC.html":{}}}],["badrequestexception",{"_index":2953,"title":{},"body":{"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/DashboardEntity.html":{},"classes/ErrorMapper.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"interfaces/ParentInfo.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["badrequestexception('dashboard",{"_index":8538,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('destination",{"_index":20882,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["badrequestexception('elements",{"_index":2989,"title":{},"body":{"entities/Board.html":{}}}],["badrequestexception('language",{"_index":24336,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["badrequestexception('this",{"_index":8525,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('tldraw",{"_index":22748,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["badrequestexception(`cannot",{"_index":3101,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(`invalid",{"_index":3099,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(errorobj.message",{"_index":10018,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["badrequestexception(errortype.file_name_empty",{"_index":11891,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["badrequestexception})@apiresponse({status",{"_index":13278,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["badrequestloggableexception",{"_index":26022,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["base",{"_index":2140,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BaseDORepo.html":{},"classes/BusinessError.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchulConneXProvisioningOptions.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":8220,"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":15403,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["base.do.repo.ts",{"_index":2562,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["base.entity",{"_index":226,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["base.factory",{"_index":576,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["base.factory.ts",{"_index":9625,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["base.interface.strategy",{"_index":16907,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["base.repo",{"_index":3998,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FederalStateRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{}}}],["base.response",{"_index":2253,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{}}}],["base.response.ts",{"_index":2150,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["base.strategy",{"_index":14400,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["base.uc",{"_index":4159,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["base64",{"_index":10468,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"dependencies.html":{}}}],["base64content",{"_index":1443,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["base64logo",{"_index":10472,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["base_string",{"_index":16031,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["base_url",{"_index":18965,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["based",{"_index":2570,"title":{},"body":{"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["basedir",{"_index":5229,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["basedo",{"_index":1852,"title":{"classes/BaseDO.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LtiToolDO.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["basedo:5",{"_index":6696,"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":2526,"title":{"classes/BaseDomainObject.html":{}},"body":{"classes/BaseDomainObject.html":{}}}],["basedorepo",{"_index":2437,"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:100",{"_index":6881,"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:117",{"_index":6876,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:127",{"_index":23664,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:19",{"_index":6883,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:21",{"_index":20780,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:24",{"_index":6884,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:33",{"_index":24707,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:34",{"_index":23980,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:38",{"_index":6878,"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:39",{"_index":16162,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:40",{"_index":15400,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:43",{"_index":20779,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:46",{"_index":23662,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:49",{"_index":23979,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:52",{"_index":6869,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:55",{"_index":6879,"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:57",{"_index":15399,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:65",{"_index":16161,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:67",{"_index":20019,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:72",{"_index":6880,"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:77",{"_index":20018,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:81",{"_index":10717,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:84",{"_index":10718,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:87",{"_index":10716,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:92",{"_index":6882,"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:93",{"_index":23665,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:96",{"_index":6877,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["baseentity",{"_index":2482,"title":{"classes/BaseEntity.html":{}},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["baseentityproperties",{"_index":2483,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["baseentityproperties.includes(key",{"_index":2519,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["baseentityreference",{"_index":2545,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["baseentitywithtimestamps",{"_index":225,"title":{"classes/BaseEntityWithTimestamps.html":{}},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["basefactory",{"_index":501,"title":{"classes/BaseFactory.html":{}},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory.define",{"_index":2136,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["basefactory.define(readablestreamwithfiletypeimp",{"_index":18592,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["basefactory:110",{"_index":536,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:122",{"_index":565,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:134",{"_index":573,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:14",{"_index":9634,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["basefactory:144",{"_index":566,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:148",{"_index":553,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:15",{"_index":517,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:160",{"_index":570,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:32",{"_index":558,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:47",{"_index":542,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:60",{"_index":549,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:7",{"_index":4698,"title":{},"body":{"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/UserDoFactory.html":{}}}],["basefactory:75",{"_index":545,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:84",{"_index":547,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:98",{"_index":524,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["baseimports",{"_index":16272,"title":{},"body":{"modules/ManagementModule.html":{}}}],["basename",{"_index":132,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basename(urlobject.pathname",{"_index":156,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basepath",{"_index":1420,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/CollectionFilePath.html":{}}}],["basepermission",{"_index":26434,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["baseprovisioningoptions",{"_index":2614,"title":{"classes/BaseProvisioningOptions.html":{}},"body":{"classes/BaseProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["baseprovisioningoptions:14",{"_index":20468,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["baseprovisioningoptions:4",{"_index":20469,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["baserepo",{"_index":728,"title":{"injectables/BaseRepo.html":{}},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:14",{"_index":7804,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["baserepo:15",{"_index":21289,"title":{},"body":{"injectables/SubmissionRepo.html":{},"injectables/TeamsRepo.html":{}}}],["baserepo:17",{"_index":14199,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:18",{"_index":760,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:20",{"_index":15638,"title":{},"body":{"injectables/LessonRepo.html":{},"injectables/RoleRepo.html":{}}}],["baserepo:22",{"_index":765,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:26",{"_index":762,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:30",{"_index":763,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["baserepo:33",{"_index":3992,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["baserepo:65",{"_index":7930,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["baseresponsemapper",{"_index":2653,"title":{"interfaces/BaseResponseMapper.html":{}},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["baseroute",{"_index":1628,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["baseuc",{"_index":2663,"title":{"classes/BaseUc.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:13",{"_index":4154,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:29",{"_index":4156,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:45",{"_index":4155,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseurl",{"_index":2333,"title":{},"body":{"injectables/BBBService.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"interfaces/LibrariesContentType.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["baseurl.com",{"_index":8315,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["bash",{"_index":26257,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["basic",{"_index":14709,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["basically",{"_index":18888,"title":{},"body":{"classes/ReferencesService.html":{}}}],["basictoolconfig",{"_index":2695,"title":{"classes/BasicToolConfig.html":{}},"body":{"classes/BasicToolConfig.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfig(props.config",{"_index":10166,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["basictoolconfigdto",{"_index":10836,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["basictoolconfigentity",{"_index":2708,"title":{"classes/BasicToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["basictoolconfigfactory",{"_index":8312,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigfactory.build",{"_index":8359,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigparams",{"_index":2717,"title":{"classes/BasicToolConfigParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["basictoolconfigresponse",{"_index":2727,"title":{"classes/BasicToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["basictoollaunchstrategy",{"_index":2735,"title":{"injectables/BasicToolLaunchStrategy.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["batch",{"_index":2873,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["batchcounter",{"_index":9005,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["batchdeletionservice",{"_index":2815,"title":{"injectables/BatchDeletionService.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{}}}],["batchdeletionsummary",{"_index":2865,"title":{"interfaces/BatchDeletionSummary.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder",{"_index":2875,"title":{"classes/BatchDeletionSummaryBuilder.html":{}},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder.build(endtime",{"_index":2933,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarydetail",{"_index":2872,"title":{"interfaces/BatchDeletionSummaryDetail.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["batchdeletionsummarydetailbuilder",{"_index":2886,"title":{"classes/BatchDeletionSummaryDetailBuilder.html":{}},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus",{"_index":2880,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus.failure",{"_index":2882,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["batchdeletionuc",{"_index":2890,"title":{"injectables/BatchDeletionUc.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["batchsize",{"_index":8961,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["bbb",{"_index":2154,"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":2137,"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":2178,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["bbbbaseresponse",{"_index":2148,"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":2156,"title":{"classes/BBBCreateConfig.html":{}},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbcreateconfigbuilder",{"_index":2200,"title":{"classes/BBBCreateConfigBuilder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["bbbcreateresponse",{"_index":2242,"title":{"interfaces/BBBCreateResponse.html":{}},"body":{"interfaces/BBBCreateResponse.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfig",{"_index":2254,"title":{"classes/BBBJoinConfig.html":{}},"body":{"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfigbuilder",{"_index":2276,"title":{"classes/BBBJoinConfigBuilder.html":{}},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["bbbjoinresponse",{"_index":2293,"title":{"interfaces/BBBJoinResponse.html":{}},"body":{"interfaces/BBBJoinResponse.html":{}}}],["bbbmeetinginforesponse",{"_index":2299,"title":{"interfaces/BBBMeetingInfoResponse.html":{}},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbresp",{"_index":2399,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.message",{"_index":2405,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.returncode",{"_index":2402,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresponse",{"_index":2324,"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":2223,"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":2237,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.viewer",{"_index":2239,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbservice",{"_index":2326,"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":2408,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:end",{"_index":2414,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:getmeetinginfo",{"_index":2416,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbsettings",{"_index":2340,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbstatus",{"_index":2153,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/BBBService.html":{}}}],["bbbstatus.success",{"_index":2403,"title":{},"body":{"injectables/BBBService.html":{}}}],["bc",{"_index":1946,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bcc",{"_index":1457,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["bcrypt",{"_index":923,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LocalStrategy.html":{}}}],["bcrypt.compare(comparepassword",{"_index":959,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcrypt.compare(enteredpassword",{"_index":15871,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["bcrypt.hash(password",{"_index":963,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcryptjs",{"_index":924,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/LocalStrategy.html":{},"dependencies.html":{}}}],["bearer",{"_index":1613,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TestApiClient.html":{}}}],["become",{"_index":76,"title":{},"body":{"classes/AbstractAccountService.html":{},"license.html":{}}}],["becomes",{"_index":25098,"title":{},"body":{"license.html":{}}}],["becoming",{"_index":26372,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["beetween",{"_index":4662,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["before",{"_index":409,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"entities/CourseNews.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beforeall",{"_index":26157,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeall(async",{"_index":26135,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeeach",{"_index":26158,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforehand",{"_index":9101,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application.html":{}}}],["begin",{"_index":9122,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionQueueConsole.html":{}}}],["beginning",{"_index":25015,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["behalf",{"_index":25199,"title":{},"body":{"license.html":{}}}],["behaves",{"_index":26023,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["behavior",{"_index":803,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["behaviour",{"_index":5301,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["behind",{"_index":22606,"title":{},"body":{"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["being",{"_index":2587,"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":25491,"title":{},"body":{"license.html":{}}}],["belong",{"_index":4509,"title":{},"body":{"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["belongs",{"_index":6343,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["below",{"_index":25205,"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":25083,"title":{},"body":{"license.html":{}}}],["ber",{"_index":5585,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["berechtigungen",{"_index":5568,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["beside",{"_index":25716,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["best",{"_index":25588,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["better",{"_index":25604,"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":11357,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["between",{"_index":612,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beware",{"_index":25830,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["beyond",{"_index":25270,"title":{},"body":{"license.html":{}}}],["bezeichnung",{"_index":19671,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["big",{"_index":25819,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bigbluebutton",{"_index":24479,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["bigbluebutton/api/${callname",{"_index":2431,"title":{},"body":{"injectables/BBBService.html":{}}}],["binary",{"_index":7276,"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":11794,"title":{},"body":{"classes/FileParams.html":{}}}],["bind",{"_index":15204,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["binding",{"_index":15249,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["bindstate",{"_index":22816,"title":{},"body":{"classes/TldrawWs.html":{}}}],["birthday",{"_index":11258,"title":{},"body":{"classes/ExternalUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["birthtime",{"_index":11689,"title":{},"body":{"classes/FileMetadata.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["blackbox",{"_index":26046,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["block",{"_index":26080,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["blocked",{"_index":7208,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["blocklist_of_email_domains",{"_index":16220,"title":{},"body":{"interfaces/MailConfig.html":{},"interfaces/ServerConfig.html":{}}}],["blocks",{"_index":26049,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["blti",{"_index":5929,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_bundle",{"_index":5936,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_icon",{"_index":5938,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["bn",{"_index":3613,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["bn.type",{"_index":3617,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["board",{"_index":2051,"title":{"entities/Board.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/CourseCopyService.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MoveColumnBodyParams.html":{},"injectables/NexboardService.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["board.'})@apiresponse({status",{"_index":3213,"title":{},"body":{"controllers/BoardController.html":{}}}],["board.accept(visitor",{"_index":5483,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["board.children.map((column",{"_index":4031,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.context",{"_index":4164,"title":{},"body":{"injectables/BoardUc.html":{}}}],["board.context.type",{"_index":2053,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["board.createdat",{"_index":4037,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.displaycolor",{"_index":19304,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.do",{"_index":3156,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["board.do.factory.ts",{"_index":5487,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.factory.ts:10",{"_index":5489,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.ts",{"_index":5432,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["board.do.ts:10",{"_index":5436,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:14",{"_index":5438,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:18",{"_index":5440,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:6",{"_index":5435,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.elements.foreach((element",{"_index":19306,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.getbytargetid(elementid",{"_index":19464,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.id",{"_index":3870,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{}}}],["board.isarchived",{"_index":19305,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.module",{"_index":3035,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["board.references.getitems",{"_index":4007,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.references.init",{"_index":4006,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.reorderelements(orderedlist",{"_index":19467,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.repo.ts",{"_index":22627,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:11",{"_index":22652,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:13",{"_index":22650,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:15",{"_index":22653,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:17",{"_index":22655,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:19",{"_index":22637,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:21",{"_index":22651,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:38",{"_index":22641,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:46",{"_index":22649,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:53",{"_index":22645,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:68",{"_index":22639,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.response",{"_index":3768,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.response.ts",{"_index":3043,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:15",{"_index":3049,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:19",{"_index":3052,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:22",{"_index":3050,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:25",{"_index":3048,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:28",{"_index":3053,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:31",{"_index":3047,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:4",{"_index":3046,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.roomid",{"_index":19303,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.service.ts",{"_index":5505,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:145",{"_index":5514,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:20",{"_index":5510,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:27",{"_index":5523,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:33",{"_index":5524,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:39",{"_index":5521,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:52",{"_index":5526,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:57",{"_index":5512,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:72",{"_index":5519,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:76",{"_index":5529,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:81",{"_index":5516,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.syncboardelementreferences(boardelementtargets",{"_index":19436,"title":{},"body":{"injectables/RoomsService.html":{}}}],["board.title",{"_index":4030,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardService.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.types",{"_index":9758,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["board.updatedat",{"_index":4036,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board/board",{"_index":3042,"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":2940,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:29",{"_index":2945,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:32",{"_index":2949,"title":{},"body":{"entities/Board.html":{}}}],["board/board.response.ts",{"_index":20919,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:19",{"_index":20924,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:25",{"_index":20925,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:30",{"_index":20921,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:36",{"_index":20922,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:41",{"_index":20923,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:6",{"_index":20920,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/boardelement.entity.ts",{"_index":3748,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:26",{"_index":3751,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:30",{"_index":3749,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/column",{"_index":5598,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{}}}],["board/lesson",{"_index":15553,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["board/task",{"_index":21779,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardapimodule",{"_index":3020,"title":{"modules/BoardApiModule.html":{}},"body":{"modules/BoardApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["boardauthorizable",{"_index":21255,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardauthorizable.users.filter((user",{"_index":21257,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardcolumnboardresponse",{"_index":3040,"title":{"classes/BoardColumnBoardResponse.html":{}},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardcomposite",{"_index":3058,"title":{"classes/BoardComposite.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcomposite:13",{"_index":9666,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:14",{"_index":5424,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:17",{"_index":9664,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:19",{"_index":4346,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:21",{"_index":9665,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{}}}],["boardcomposite:22",{"_index":5434,"title":{},"body":{"classes/ColumnBoard.html":{},"classes/RichTextElement.html":{}}}],["boardcomposite:23",{"_index":5423,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:25",{"_index":11554,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:26",{"_index":19070,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:27",{"_index":4345,"title":{},"body":{"classes/Card.html":{},"classes/ColumnBoard.html":{}}}],["boardcomposite:29",{"_index":11555,"title":{},"body":{"classes/FileElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:30",{"_index":19071,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:31",{"_index":5433,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:33",{"_index":21165,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:35",{"_index":4348,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:37",{"_index":15788,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:38",{"_index":4343,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:39",{"_index":4347,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:41",{"_index":15786,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:42",{"_index":4344,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:45",{"_index":15787,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcompositeprops",{"_index":3112,"title":{"interfaces/BoardCompositeProps.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcompositevisitor",{"_index":3069,"title":{"interfaces/BoardCompositeVisitor.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["boardcompositevisitorasync",{"_index":3073,"title":{"interfaces/BoardCompositeVisitorAsync.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcontext",{"_index":3256,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse",{"_index":3192,"title":{"classes/BoardContextResponse.html":{}},"body":{"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{}}}],["boardcontextresponse(boardcontext",{"_index":3258,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse})@apiresponse({status",{"_index":3226,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontroller",{"_index":3030,"title":{"controllers/BoardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{}}}],["boardcopy",{"_index":3334,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyparams",{"_index":3290,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyservice",{"_index":3270,"title":{"injectables/BoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{}}}],["boarddo",{"_index":2678,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["boarddo.children.foreach((child",{"_index":21418,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["boarddo.id",{"_index":3458,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["boarddoauthorizable",{"_index":2682,"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":2684,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find",{"_index":3720,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find((u",{"_index":2687,"title":{},"body":{"classes/BaseUc.html":{}}}],["boarddoauthorizableprops",{"_index":3437,"title":{"interfaces/BoardDoAuthorizableProps.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizableservice",{"_index":2668,"title":{"injectables/BoardDoAuthorizableService.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boarddobuilder",{"_index":3477,"title":{"interfaces/BoardDoBuilder.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boarddobuilderimpl",{"_index":3522,"title":{"classes/BoardDoBuilderImpl.html":{}},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(children).builddomainobject(boardnode",{"_index":3686,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(descendants).builddomainobject(boardnode",{"_index":3677,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddocopyparams",{"_index":3626,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["boarddocopyservice",{"_index":3623,"title":{"injectables/BoardDoCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["boarddorepo",{"_index":3446,"title":{"injectables/BoardDoRepo.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["boarddorule",{"_index":1865,"title":{"injectables/BoardDoRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/BoardDoRule.html":{},"injectables/RuleManager.html":{}}}],["boarddos",{"_index":4545,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddos.map((boarddo",{"_index":4569,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddoservice",{"_index":3725,"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":2961,"title":{"entities/BoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boardelement.entity",{"_index":2963,"title":{},"body":{"entities/Board.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts",{"_index":15554,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts:13",{"_index":15556,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["boardelement.entity.ts:16",{"_index":21780,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardelement.ts",{"_index":5724,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelement.ts:13",{"_index":5726,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelementprops",{"_index":3754,"title":{},"body":{"entities/BoardElement.html":{}}}],["boardelementreference",{"_index":2962,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{}}}],["boardelementresponse",{"_index":3758,"title":{"classes/BoardElementResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["boardelements",{"_index":3295,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelements.map((element",{"_index":3347,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelementservice",{"_index":23341,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardelementtarget",{"_index":3018,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets",{"_index":19435,"title":{},"body":{"injectables/RoomsService.html":{}}}],["boardelementtargets.filter(isnotcontained).map(maptoboardelement",{"_index":3014,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets.includes(ref.target",{"_index":3004,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtype",{"_index":3325,"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":3359,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.lesson",{"_index":3356,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.task",{"_index":3352,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardexternalreference",{"_index":3659,"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":2031,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/RoomsService.html":{}}}],["boardexternalreferencetype.course",{"_index":2054,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/RoomsService.html":{}}}],["boardid",{"_index":3821,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardUc.html":{},"classes/BoardUrlParams.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["boardids",{"_index":5527,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["boardlessonresponse",{"_index":3762,"title":{"classes/BoardLessonResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardmanagementconsole",{"_index":3798,"title":{"classes/BoardManagementConsole.html":{}},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["boardmanagementuc",{"_index":3804,"title":{"injectables/BoardManagementUc.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ManagementModule.html":{}}}],["boardmodule",{"_index":1932,"title":{"modules/BoardModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{}}}],["boardnode",{"_index":3467,"title":{"entities/BoardNode.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"interfaces/CopyFileDO.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/FileDO.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.alternativetext",{"_index":3584,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.ancestorids",{"_index":3702,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.caption",{"_index":3582,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.completed",{"_index":3596,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.context",{"_index":3569,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.contextexternaltool?.id",{"_index":3599,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.createdat",{"_index":3567,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.description",{"_index":3591,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.duedate",{"_index":3594,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.entity",{"_index":4450,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.foreach((bn",{"_index":3620,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.height",{"_index":3579,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.id",{"_index":3565,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnode.imageurl",{"_index":3587,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.inputformat",{"_index":3590,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.joinpath(props.parent.path",{"_index":3927,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.joinpath(this.path",{"_index":3939,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.parentid",{"_index":3699,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.text",{"_index":3588,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.title",{"_index":3566,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.updatedat",{"_index":3568,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.url",{"_index":3585,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.usedobuilder(this",{"_index":3560,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.userid",{"_index":3597,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnodeauthorizableservice",{"_index":18821,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["boardnodeprops",{"_index":3922,"title":{"interfaces/BoardNodeProps.html":{}},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnoderepo",{"_index":3645,"title":{"injectables/BoardNodeRepo.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnodes",{"_index":3681,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["boardnodes.map((boardnode",{"_index":3684,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.map((o",{"_index":3696,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.reduce((map",{"_index":3688,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodetype",{"_index":3549,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnodetype.card",{"_index":3570,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["boardnodetype.column",{"_index":3562,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{}}}],["boardnodetype.column_board",{"_index":5497,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["boardnodetype.drawing_element",{"_index":3575,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["boardnodetype.external_tool",{"_index":3577,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["boardnodetype.file_element",{"_index":3572,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["boardnodetype.link_element",{"_index":3573,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["boardnodetype.rich_text_element",{"_index":3574,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["boardnodetype.submission_container_element",{"_index":3576,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["boardnodetype.submission_item",{"_index":3592,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardprops",{"_index":2970,"title":{},"body":{"entities/Board.html":{}}}],["boardrepo",{"_index":3283,"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":3243,"title":{"classes/BoardResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper",{"_index":3247,"title":{"classes/BoardResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper.maptoresponse(board",{"_index":3254,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardresponse})@apiresponse({status",{"_index":3231,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardroles",{"_index":3425,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"interfaces/UserBoardRoles.html":{}}}],["boardroles.editor",{"_index":3471,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boardroles.reader",{"_index":3476,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boards",{"_index":3204,"title":{},"body":{"controllers/BoardController.html":{},"injectables/ColumnBoardService.html":{}}}],["boardservice",{"_index":23342,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardstatus",{"_index":3315,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["boardstatus.elements",{"_index":3392,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardsubmissioncontroller",{"_index":3034,"title":{"controllers/BoardSubmissionController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["boardtask",{"_index":19312,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.availabledate",{"_index":19327,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.course",{"_index":19323,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.createdat",{"_index":19320,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.description",{"_index":19333,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.duedate",{"_index":19329,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.getparentdata",{"_index":19314,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.id",{"_index":19318,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.name",{"_index":19319,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.updatedat",{"_index":19321,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc",{"_index":19313,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc.color",{"_index":19331,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskresponse",{"_index":3761,"title":{"classes/BoardTaskResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatus",{"_index":19315,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper",{"_index":4108,"title":{"classes/BoardTaskStatusMapper.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper.maptoresponse(status",{"_index":19316,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusresponse",{"_index":4104,"title":{"classes/BoardTaskStatusResponse.html":{}},"body":{"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{}}}],["boardtaskstatusresponse(status",{"_index":4114,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["boarduc",{"_index":3024,"title":{"injectables/BoardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["boardurlhandler",{"_index":4172,"title":{"injectables/BoardUrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["boardurlparams",{"_index":3211,"title":{"classes/BoardUrlParams.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardUrlParams.html":{}}}],["boardvalue",{"_index":2044,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["bodies",{"_index":1217,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["body",{"_index":379,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"controllers/SchoolController.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":13337,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.code",{"_index":23893,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.create",{"_index":22355,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.delete",{"_index":22356,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.destinationcourseid",{"_index":20717,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.expiresindays",{"_index":20706,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.library",{"_index":13361,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.mandatory",{"_index":23887,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.newname",{"_index":20716,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.params.metadata",{"_index":13360,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.params.params",{"_index":13359,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.parentid",{"_index":13363,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.parenttype",{"_index":13362,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.read",{"_index":22357,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.redirecturi",{"_index":23894,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.schoolexclusive",{"_index":20705,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.session",{"_index":17398,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["body.share",{"_index":22358,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.systemid",{"_index":23892,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.write",{"_index":22359,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["bodyparams",{"_index":3235,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["bodyparams.completed",{"_index":4084,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.data.content",{"_index":9865,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.height",{"_index":4423,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.title",{"_index":3263,"title":{},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["bodyparams.toboardid",{"_index":5662,"title":{},"body":{"controllers/ColumnController.html":{}}}],["bodyparams.tocardid",{"_index":9861,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.tocolumnid",{"_index":4419,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.toposition",{"_index":4420,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.url",{"_index":16350,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["bodyproperties",{"_index":2803,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["bom",{"_index":24957,"title":{},"body":{"dependencies.html":{}}}],["boolean",{"_index":122,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseProvisioningOptions.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoRule.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementModule.html":{},"interfaces/Meta.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSystemOptionsRule.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["boolean(options.verbose",{"_index":4962,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["bootstrap",{"_index":258,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bootstrap.boot([process.argv0",{"_index":22564,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts",{"_index":22547,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts:8",{"_index":22549,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrapconsole",{"_index":22556,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstraps",{"_index":26133,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["both",{"_index":25524,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bound",{"_index":15832,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["box",{"_index":26129,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["branch",{"_index":984,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["break",{"_index":5953,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["breaking",{"_index":26363,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["breakout",{"_index":2303,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["breakoutrooms",{"_index":2304,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["bring",{"_index":8016,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["broadcast",{"_index":1070,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["broken",{"_index":25827,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["broker",{"_index":14685,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["brokerconfig",{"_index":15536,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["brokering",{"_index":26264,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["browse",{"_index":25781,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["brute",{"_index":73,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{}}}],["bruteforceerror",{"_index":1720,"title":{"classes/BruteForceError.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["bruteforceerror(timetowait",{"_index":1747,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["bson",{"_index":574,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/BaseRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BsonConverter.html":{},"injectables/CardService.html":{},"classes/ClassEntityFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"injectables/DashboardElementRepo.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"dependencies.html":{}}}],["bson/ejson",{"_index":4218,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["bsonconverter",{"_index":4206,"title":{"injectables/BsonConverter.html":{}},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["bsondocuments",{"_index":4217,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["btw",{"_index":2559,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bucket",{"_index":7309,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buckets",{"_index":26492,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buff",{"_index":24773,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["buffer",{"_index":8027,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"classes/JwtTestFactory.html":{}}}],["buffer.from(externaltool.logo",{"_index":10467,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(manifest",{"_index":5907,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(newresource.content",{"_index":5889,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(resource.content",{"_index":5894,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(response.data",{"_index":10479,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(tool.logo",{"_index":10488,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.length",{"_index":10469,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.tostring('base64",{"_index":10481,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["bufferencoding",{"_index":12152,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["bug",{"_index":22289,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["bugs",{"_index":25614,"title":{},"body":{"properties.html":{}}}],["build",{"_index":507,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/Builder.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileResponseBuilder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/ToolPermissionHelper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["build(domain",{"_index":9346,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["build(executiontimemilliseconds",{"_index":2878,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["build(file",{"_index":12049,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["build(id",{"_index":7299,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["build(input",{"_index":2888,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["build(limit",{"_index":23496,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["build(name",{"_index":11537,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["build(params",{"_index":538,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["build(props",{"_index":20302,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["build(refsfilepath",{"_index":18541,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["build(requestid",{"_index":9480,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["build(requiredpermissions",{"_index":1785,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["build(schoolid",{"_index":11788,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["build(status",{"_index":9182,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["build(targetref",{"_index":9464,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["build(targetrefdomain",{"_index":9446,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["build(type",{"_index":6401,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["build(userid",{"_index":7323,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["buildaccount",{"_index":23578,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildaccount(user",{"_index":709,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin",{"_index":723,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin(params",{"_index":23581,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildcard",{"_index":3480,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcard(boardnode",{"_index":3490,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren",{"_index":3527,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren(boardnode",{"_index":3535,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn",{"_index":3481,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn(boardnode",{"_index":3493,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard",{"_index":3482,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard(boardnode",{"_index":3496,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcopyentitydict",{"_index":7388,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["buildcopyentitydict(status",{"_index":7391,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["builddomainobject",{"_index":3528,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["builddomainobject(boardnode",{"_index":3539,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddomainobject(entity",{"_index":20355,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["builddrawing",{"_index":6395,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["builddrawingelement",{"_index":3483,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddrawingelement(boardnode",{"_index":3499,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddtowithelements",{"_index":9721,"title":{},"body":{"classes/DtoCreator.html":{}}}],["builddtowithelements(elements",{"_index":9735,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["builder",{"_index":2203,"title":{"classes/Builder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/Builder.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["builder.addorganization",{"_index":5792,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.build",{"_index":5787,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.buildcard(this",{"_index":4454,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["builder.buildcolumn(this",{"_index":5670,"title":{},"body":{"entities/ColumnNode.html":{}}}],["builder.buildcolumnboard(this",{"_index":5504,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["builder.builddrawingelement(this",{"_index":9697,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["builder.buildexternaltoolelement(this",{"_index":10354,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["builder.buildfileelement(this",{"_index":11583,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["builder.buildlinkelement(this",{"_index":15815,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["builder.buildrichtextelement(this",{"_index":19101,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["builder.buildsubmissioncontainerelement(this",{"_index":21112,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["builder.buildsubmissionitem(this",{"_index":21198,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["builder.ts",{"_index":5847,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:24",{"_index":13725,"title":{},"body":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:28",{"_index":13722,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:30",{"_index":13723,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:32",{"_index":13724,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:35",{"_index":6012,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:42",{"_index":6015,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:46",{"_index":6017,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:52",{"_index":6013,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:63",{"_index":5858,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:65",{"_index":5860,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:67",{"_index":5857,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:69",{"_index":5856,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:73",{"_index":5863,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:79",{"_index":5866,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:88",{"_index":5867,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder:2",{"_index":2209,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["builder:26",{"_index":2210,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["builder:8",{"_index":2287,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["builderror",{"_index":18547,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["builderror(err",{"_index":18548,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildexternaltool",{"_index":6396,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildexternaltoolelement",{"_index":3484,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildexternaltoolelement(boardnode",{"_index":3502,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfailure",{"_index":9180,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfailure(err",{"_index":9184,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfile",{"_index":6397,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/PreviewGeneratorBuilder.html":{}}}],["buildfile(preview",{"_index":18028,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["buildfileelement",{"_index":3485,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfileelement(boardnode",{"_index":3505,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfromaxiosresponse",{"_index":11535,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromaxiosresponse(name",{"_index":11539,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest",{"_index":11536,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest(fileinfo",{"_index":11541,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildgroupsclaim",{"_index":13839,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildgroupsclaim(teams",{"_index":13845,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildlink",{"_index":6398,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildlinkelement",{"_index":3486,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlinkelement(boardnode",{"_index":3508,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlist",{"_index":508,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlist(number",{"_index":544,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwitheachtype",{"_index":8303,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["buildlistwitheachtype(params",{"_index":8304,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["buildlistwithid",{"_index":509,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwithid(number",{"_index":546,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlogourl",{"_index":10429,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildlogourl(template",{"_index":10436,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildoptions",{"_index":541,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildparams",{"_index":17999,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildparams(filerecord",{"_index":18001,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload",{"_index":18000,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload(params",{"_index":18003,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildprovisioningoptions",{"_index":20325,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["buildprovisioningoptions(entity.provisioningoptions",{"_index":20374,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["buildprovisioningoptions(provisioningoptions",{"_index":20327,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["buildprovisioningoptions(requestedprovisioningoptions",{"_index":20420,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["buildrichtext",{"_index":6399,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildrichtextelement",{"_index":3487,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildrichtextelement(boardnode",{"_index":3511,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builds",{"_index":2366,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["buildscope",{"_index":6851,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildscope(query",{"_index":6858,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildstudent",{"_index":712,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildstudent(params",{"_index":23583,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildsubmissioncontainer",{"_index":6400,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildsubmissioncontainerelement",{"_index":3488,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissioncontainerelement(boardnode",{"_index":3514,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem",{"_index":3489,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem(boardnode",{"_index":3517,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsuccess",{"_index":9181,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildsuccess(requestid",{"_index":18550,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildteacher",{"_index":719,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildteacher(params",{"_index":23585,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildtokenrequestpayload",{"_index":16999,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtokenrequestpayload(code",{"_index":17010,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtoollaunchdatafromconcreteconfig",{"_index":2741,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromconcreteconfig(userid",{"_index":2754,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool",{"_index":2747,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool(externaltool",{"_index":2775,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools",{"_index":2748,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools(data",{"_index":2779,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload",{"_index":2742,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload(url",{"_index":2757,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl",{"_index":2749,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl(toollaunchdatado",{"_index":2781,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildwithid",{"_index":510,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(params",{"_index":548,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(userandaccounttestfactory.getuserparams(params",{"_index":717,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["built",{"_index":529,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["builtin",{"_index":14711,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["bundle",{"_index":25620,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["busboy",{"_index":11544,"title":{},"body":{"classes/FileDtoBuilder.html":{},"dependencies.html":{}}}],["business",{"_index":4233,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["business.error",{"_index":1369,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ForbiddenOperationError.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror",{"_index":1354,"title":{"classes/BusinessError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:12",{"_index":1360,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:15",{"_index":1365,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:18",{"_index":1364,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:21",{"_index":1363,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:25",{"_index":1362,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:47",{"_index":1366,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businessexception",{"_index":26007,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["businesslogic",{"_index":25872,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["button",{"_index":24482,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["byavailable",{"_index":22118,"title":{},"body":{"classes/TaskScope.html":{}}}],["byavailable(availabledate",{"_index":22129,"title":{},"body":{"classes/TaskScope.html":{}}}],["byclasses",{"_index":14248,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclasses(classes",{"_index":14257,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclientid",{"_index":10977,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(clientid",{"_index":10980,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(query.clientid",{"_index":10727,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["bycontextid",{"_index":7010,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontextid(contextid",{"_index":7020,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype",{"_index":7011,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype(contexttype",{"_index":7022,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycourseids",{"_index":15691,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycourseids(courseids",{"_index":15692,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycreator",{"_index":16772,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreator(creatorid",{"_index":16776,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreatorid",{"_index":12022,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["bycreatorid(creatorid",{"_index":12028,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["bydeleteafter",{"_index":9529,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydeleteafter(currentdate",{"_index":9531,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydraft",{"_index":22119,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydraft(isdraft",{"_index":22131,"title":{},"body":{"classes/TaskScope.html":{}}}],["byexpires",{"_index":12004,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["byfilerecordid",{"_index":12023,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfilerecordid(filerecordid",{"_index":12030,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfinished",{"_index":22120,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfinished(userid",{"_index":22133,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfirstname",{"_index":14249,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byfirstname(firstname",{"_index":14259,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byhidden",{"_index":10978,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(ishidden",{"_index":10982,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(query.ishidden",{"_index":10728,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byid",{"_index":7012,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byid(id",{"_index":7024,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bylastname",{"_index":14250,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylastname(lastname",{"_index":14261,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylessonids",{"_index":22121,"title":{},"body":{"classes/TaskScope.html":{}}}],["bylessonids(lessonids",{"_index":22134,"title":{},"body":{"classes/TaskScope.html":{}}}],["byloginname",{"_index":14251,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byloginname(loginname",{"_index":14263,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymarkedfordelete",{"_index":12024,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymarkedfordelete(ismarked",{"_index":12032,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymatches",{"_index":14252,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymatches(matches",{"_index":14266,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byname",{"_index":10979,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(name",{"_index":10984,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(query.name",{"_index":10726,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byonlycreatorid",{"_index":22122,"title":{},"body":{"classes/TaskScope.html":{}}}],["byonlycreatorid(creatorid",{"_index":22136,"title":{},"body":{"classes/TaskScope.html":{}}}],["byorganizationid",{"_index":13048,"title":{},"body":{"classes/GroupScope.html":{}}}],["byorganizationid(id",{"_index":13051,"title":{},"body":{"classes/GroupScope.html":{}}}],["byparentid",{"_index":12025,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byparentid(parentid",{"_index":12035,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bypassdocumentvalidation",{"_index":8939,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["bypasstest",{"_index":1285,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["bypseudonym",{"_index":18435,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(pseudonym",{"_index":18437,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(query.pseudonym",{"_index":10697,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bypublished",{"_index":16773,"title":{},"body":{"classes/NewsScope.html":{}}}],["byrole",{"_index":14253,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byrole(rolename",{"_index":14268,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool",{"_index":14254,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool(school",{"_index":14270,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschoolid",{"_index":12026,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschoolid(query.schoolid",{"_index":23673,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["byschoolid(schoolid",{"_index":12037,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschooltoolid",{"_index":7013,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byschooltoolid(schooltoolid",{"_index":7026,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bysecuritycheckrequesttoken",{"_index":12027,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bysecuritycheckrequesttoken(token",{"_index":12039,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bystatus",{"_index":9530,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bytargets",{"_index":16774,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytargets(targets",{"_index":16778,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytes",{"_index":12545,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["bytesrange",{"_index":12539,"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":18436,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytoolid(query.toolid",{"_index":10698,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bytoolid(toolid",{"_index":18439,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytypes",{"_index":13049,"title":{},"body":{"classes/GroupScope.html":{}}}],["bytypes(types",{"_index":13053,"title":{},"body":{"classes/GroupScope.html":{}}}],["byunpublished",{"_index":16775,"title":{},"body":{"classes/NewsScope.html":{}}}],["byuserid",{"_index":13050,"title":{},"body":{"classes/GroupScope.html":{},"classes/PseudonymScope.html":{}}}],["byuserid(id",{"_index":13055,"title":{},"body":{"classes/GroupScope.html":{}}}],["byuserid(query.userid",{"_index":10699,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["byuserid(userid",{"_index":18441,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuseridquery",{"_index":21280,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byuseridquery(userid",{"_index":21283,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byusermatch",{"_index":14255,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byusermatch(user",{"_index":14272,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["c",{"_index":560,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonService.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Options.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["c.id",{"_index":22211,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished",{"_index":22230,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished()).map((c",{"_index":22210,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.user",{"_index":15719,"title":{},"body":{"injectables/LessonService.html":{}}}],["cache",{"_index":4272,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/OauthAdapterService.html":{},"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{},"dependencies.html":{}}}],["cache_manager",{"_index":14503,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cacheexpiration",{"_index":19251,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["cacheimplementations",{"_index":13459,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cacheimplementations.cachedkeyvaluestorage('kvcache",{"_index":13481,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cachemanager",{"_index":14494,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachemodule",{"_index":4269,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemodule.registerasync",{"_index":4276,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemoduleoptions",{"_index":4270,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cacheservice",{"_index":4254,"title":{"injectables/CacheService.html":{}},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cacheservice.getstoretype",{"_index":4277,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachestoretype",{"_index":4258,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachestoretype.memory",{"_index":4264,"title":{},"body":{"injectables/CacheService.html":{}}}],["cachestoretype.redis",{"_index":4263,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachewrappermodule",{"_index":1522,"title":{"modules/CacheWrapperModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CacheWrapperModule.html":{},"modules/OauthModule.html":{}}}],["caf",{"_index":14287,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["cafe",{"_index":14289,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["calc",{"_index":22680,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff",{"_index":22662,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff(diff",{"_index":22681,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatenumberofsubmitters(submissions",{"_index":21735,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["calculations",{"_index":25853,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["calendarevent",{"_index":4286,"title":{"interfaces/CalendarEvent.html":{}},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendareventdto",{"_index":4292,"title":{"classes/CalendarEventDto.html":{}},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendarmapper",{"_index":4301,"title":{"injectables/CalendarMapper.html":{}},"body":{"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarmodule",{"_index":4313,"title":{"modules/CalendarModule.html":{}},"body":{"modules/CalendarModule.html":{},"modules/VideoConferenceModule.html":{}}}],["calendarservice",{"_index":4317,"title":{"injectables/CalendarService.html":{}},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarservice:findevent",{"_index":4340,"title":{},"body":{"injectables/CalendarService.html":{}}}],["call",{"_index":531,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountValidationService.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["call,@typescript",{"_index":22675,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{}}}],["callable",{"_index":2367,"title":{},"body":{"injectables/BBBService.html":{}}}],["callback",{"_index":26111,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["callback_uri",{"_index":1341,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["callbackuri",{"_index":1335,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["calld",{"_index":26156,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["called",{"_index":528,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TldrawWs.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callhandler",{"_index":9823,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["calling",{"_index":17959,"title":{},"body":{"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callkcadminclient",{"_index":14544,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["callname",{"_index":2359,"title":{},"body":{"injectables/BBBService.html":{}}}],["calls",{"_index":2859,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callsdelaymilliseconds",{"_index":2825,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["callsdelayms",{"_index":9374,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["camelcase",{"_index":25946,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["can't",{"_index":1565,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cancelbuttonurl",{"_index":17890,"title":{},"body":{"classes/PageContentDto.html":{}}}],["canceldeletionrequest",{"_index":9566,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(@param('requestid",{"_index":9592,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(requestid",{"_index":9569,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceling",{"_index":9571,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["cancreaterestricted",{"_index":13202,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canedit",{"_index":21620,"title":{},"body":{"injectables/SystemRule.html":{}}}],["canedit(system",{"_index":21622,"title":{},"body":{"injectables/SystemRule.html":{}}}],["caninline",{"_index":5844,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["caninstallrecommended",{"_index":13203,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canmap",{"_index":2656,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["canmap(element",{"_index":2657,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["cant",{"_index":25884,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["canupdateandinstalllibraries",{"_index":13204,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["capabilities",{"_index":25744,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["caption",{"_index":3581,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["caption(value",{"_index":11563,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["card",{"_index":3127,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["card.'})@apiextramodels(externaltoolelementresponse",{"_index":4374,"title":{},"body":{"controllers/CardController.html":{}}}],["card.'})@apiresponse({status",{"_index":4380,"title":{},"body":{"controllers/CardController.html":{}}}],["card.addchild(text1",{"_index":5561,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text2",{"_index":5577,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text3",{"_index":5589,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text4",{"_index":5595,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.body.params",{"_index":5657,"title":{},"body":{"controllers/ColumnController.html":{}}}],["card.body.params.ts",{"_index":8009,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:10",{"_index":16564,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:13",{"_index":8012,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["card.body.params.ts:18",{"_index":16566,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.children.map((element",{"_index":4475,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.constructor.name",{"_index":5685,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["card.createdat",{"_index":4477,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.do",{"_index":3155,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["card.height",{"_index":4474,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.id",{"_index":4472,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.response",{"_index":4446,"title":{},"body":{"classes/CardListResponse.html":{}}}],["card.title",{"_index":4473,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.updatedat",{"_index":4476,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["cardcontroller",{"_index":3032,"title":{"controllers/CardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{}}}],["cardid",{"_index":4493,"title":{},"body":{"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{}}}],["cardidparams",{"_index":4384,"title":{},"body":{"controllers/CardController.html":{}}}],["cardidparams.ids",{"_index":4412,"title":{},"body":{"controllers/CardController.html":{}}}],["cardids",{"_index":4410,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{}}}],["cardidsparams",{"_index":4385,"title":{"classes/CardIdsParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardIdsParams.html":{}}}],["cardlistresponse",{"_index":4402,"title":{"classes/CardListResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardListResponse.html":{}}}],["cardlistresponse})@apiresponse({status",{"_index":4387,"title":{},"body":{"controllers/CardController.html":{}}}],["cardnode",{"_index":3491,"title":{"entities/CardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["cardnodefactory",{"_index":3850,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodefactory.build",{"_index":3873,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodeprops",{"_index":4451,"title":{"interfaces/CardNodeProps.html":{}},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["cardprops",{"_index":4365,"title":{"interfaces/CardProps.html":{}},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["cardresponse",{"_index":4444,"title":{"classes/CardResponse.html":{}},"body":{"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper",{"_index":4408,"title":{"classes/CardResponseMapper.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper.maptoresponse(card",{"_index":4415,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["cardresponses",{"_index":4414,"title":{},"body":{"controllers/CardController.html":{}}}],["cardresponse})@apiresponse({status",{"_index":5641,"title":{},"body":{"controllers/ColumnController.html":{}}}],["cards",{"_index":3571,"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":3866,"title":{},"body":{"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{}}}],["cards.some((card",{"_index":4507,"title":{},"body":{"injectables/CardService.html":{}}}],["cardservice",{"_index":3891,"title":{"injectables/CardService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["cardskeletonresponse",{"_index":4520,"title":{"classes/CardSkeletonResponse.html":{}},"body":{"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cardspercolumn",{"_index":3859,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardspercolumn.flat",{"_index":3863,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["carduc",{"_index":3025,"title":{"injectables/CardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"controllers/ElementController.html":{}}}],["cardurlparams",{"_index":4373,"title":{"classes/CardUrlParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardUrlParams.html":{}}}],["care",{"_index":25919,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["careful",{"_index":26231,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["carefully",{"_index":26179,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cares",{"_index":26010,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["carry",{"_index":25250,"title":{},"body":{"license.html":{}}}],["cartridge",{"_index":5735,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ServerConfig.html":{}}}],["cartridge.config.ts",{"_index":5732,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{}}}],["cartridge/common",{"_index":5731,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["cartridge/utils",{"_index":5778,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["cartridge_basiclti_link",{"_index":5920,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_bundle",{"_index":5934,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_icon",{"_index":5937,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cascade",{"_index":15077,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["cascade.remove",{"_index":15156,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["cascading",{"_index":6083,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["case",{"_index":1393,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["caseinsensitivenames",{"_index":6170,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["cases",{"_index":1224,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/TaskFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cast",{"_index":1618,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["casttolibrariescontenttype",{"_index":13478,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["casttolibrariescontenttype(parse(librariesyamlcontent",{"_index":13494,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["catch",{"_index":1328,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["catch((error",{"_index":2406,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["catch(error",{"_index":12670,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["catcherror",{"_index":1057,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["catcherror((e",{"_index":1173,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["catcherror((err",{"_index":19000,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["cause",{"_index":2106,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BusinessError.html":{},"classes/ErrorUtils.html":{},"injectables/JwtStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["causeerror",{"_index":10057,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["caution",{"_index":15297,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["cc",{"_index":1456,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/CourseQueryParams.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["cdm",{"_index":9373,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["cease",{"_index":25403,"title":{},"body":{"license.html":{}}}],["ceating",{"_index":8064,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["centralldap",{"_index":20176,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["certain",{"_index":25370,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cessation",{"_index":25413,"title":{},"body":{"license.html":{}}}],["ch.id",{"_index":3106,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["chaining",{"_index":26017,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["chains",{"_index":25642,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["chalk",{"_index":24870,"title":{},"body":{"dependencies.html":{}}}],["challenge",{"_index":4578,"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":4576,"title":{"classes/ChallengeParams.html":{}},"body":{"classes/ChallengeParams.html":{},"controllers/OauthProviderController.html":{}}}],["change",{"_index":5805,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/ExternalToolUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changed",{"_index":12171,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application.html":{}}}],["changedclients",{"_index":24770,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["changefinishedforuser",{"_index":22179,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changefinishedforuser(userid",{"_index":22185,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changelanguage",{"_index":23596,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguage(params",{"_index":23597,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguageparams",{"_index":4580,"title":{"classes/ChangeLanguageParams.html":{}},"body":{"classes/ChangeLanguageParams.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["changes",{"_index":6571,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/LdapStrategy.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changing",{"_index":23838,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["channel",{"_index":18569,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["chapter",{"_index":2640,"title":{},"body":{"injectables/BaseRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["char",{"_index":18882,"title":{},"body":{"classes/ReferencesService.html":{}}}],["character",{"_index":793,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["characterized",{"_index":25350,"title":{},"body":{"license.html":{}}}],["characters",{"_index":12133,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/MongoPatterns.html":{},"injectables/TemporaryFileStorage.html":{}}}],["charge",{"_index":25067,"title":{},"body":{"license.html":{}}}],["chat",{"_index":1193,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["chat.module.ts",{"_index":19117,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.module.ts:7",{"_index":19118,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service",{"_index":19120,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service.ts",{"_index":1052,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["chat.service.ts:42",{"_index":19116,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:44",{"_index":19115,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:47",{"_index":19114,"title":{},"body":{"classes/RocketChatError.html":{}}}],["check",{"_index":985,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["check.entity",{"_index":11635,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["check.entity.ts",{"_index":12052,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["check.entity.ts:14",{"_index":12060,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:17",{"_index":12056,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:20",{"_index":12057,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:23",{"_index":12055,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:26",{"_index":12054,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.service.ts",{"_index":16481,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:16",{"_index":16492,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:42",{"_index":16490,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:48",{"_index":16488,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:9",{"_index":16486,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["checkallpermissions",{"_index":1966,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkallpermissions(user",{"_index":1972,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkandaddprefix",{"_index":22523,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkandaddprefix(inputpath",{"_index":1663,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkavaiblelanguages",{"_index":24341,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavaiblelanguages(settedlanguage",{"_index":24343,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavailablelanguages",{"_index":24278,"title":{},"body":{"injectables/UserService.html":{}}}],["checkavailablelanguages(language",{"_index":24284,"title":{},"body":{"injectables/UserService.html":{}}}],["checkbrutforce",{"_index":1687,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkbrutforce(account",{"_index":1696,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkcontenttypeexists",{"_index":13436,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["checkcontenttypeexists(contenttype",{"_index":13442,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["checkcontextreadpermission",{"_index":20837,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextreadpermission(userid",{"_index":20843,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextrestrictions",{"_index":7037,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcontextrestrictions(contextexternaltool",{"_index":7047,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcreatepermission",{"_index":20838,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission(userid",{"_index":20845,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcredentials",{"_index":15208,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["checkcredentials(account",{"_index":15215,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkcredentials(enteredpassword",{"_index":15847,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["checkcustomparameterentries",{"_index":6118,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkcustomparameterentries(loadedexternaltool",{"_index":6127,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkdestinationcourseauthorisation",{"_index":21869,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorisation(authorizableuser",{"_index":21876,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorization",{"_index":15571,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationcourseauthorization(user",{"_index":15575,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationlessonauthorization",{"_index":21870,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationlessonauthorization(authorizableuser",{"_index":21879,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkduplicateusesincontext",{"_index":7127,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checkduplicateusesincontext(contextexternaltool",{"_index":7130,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checked",{"_index":1566,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/HydraSsoService.html":{}}}],["checkentitypermissions",{"_index":11309,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkentitypermissions(userid",{"_index":11314,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkerror",{"_index":12435,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkerror(response",{"_index":12443,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkexpired",{"_index":20806,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkexpired(sharetoken",{"_index":20813,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkfeatureenabled",{"_index":7725,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["checkfeatureenabled(parenttype",{"_index":20847,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkfilename",{"_index":22460,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkfilename(filename",{"_index":22468,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkforduplicateparameters",{"_index":6119,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforduplicateparameters(validatabletool",{"_index":6131,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters",{"_index":6120,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters(validatabletool",{"_index":6133,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkgraceperiod",{"_index":24021,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkgraceperiod(userloginmigration",{"_index":24029,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkifpreviewpossible",{"_index":18068,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(filerecord",{"_index":18125,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(original",{"_index":18073,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["checking",{"_index":12726,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkinputisvalid",{"_index":26487,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["checkldapcredentials",{"_index":15178,"title":{},"body":{"injectables/LdapService.html":{}}}],["checkldapcredentials(system",{"_index":15180,"title":{},"body":{"injectables/LdapService.html":{}}}],["checklist",{"_index":25021,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checklistscontainingequalentities(first",{"_index":2992,"title":{},"body":{"entities/Board.html":{}}}],["checkofficialschoolnumbersmatch",{"_index":20196,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkofficialschoolnumbersmatch(schooldo",{"_index":20205,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkoneofpermissions",{"_index":1967,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoneofpermissions(user",{"_index":1974,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoptionalparameter",{"_index":6121,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoptionalparameter(param",{"_index":6136,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoriginallessonauthorization",{"_index":15572,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginallessonauthorization(user",{"_index":15578,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginaltaskauthorization",{"_index":21871,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkoriginaltaskauthorization(authorizableuser",{"_index":21882,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkout",{"_index":25025,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checkparameterregex",{"_index":6122,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparameterregex(foundentry",{"_index":6139,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype",{"_index":6123,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype(foundentry",{"_index":6141,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparentwritepermission",{"_index":20839,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkparentwritepermission(userid",{"_index":20849,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkpermission",{"_index":1968,"title":{},"body":{"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkpermission(user",{"_index":1976,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkpermission(userid",{"_index":2670,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["checkpermissionbyreferences",{"_index":1948,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpermissionbyreferences(userid",{"_index":1952,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpreconditions",{"_index":20953,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkpreconditions(userid",{"_index":20956,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkresponsevalidation",{"_index":19726,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checkresponsevalidation(response",{"_index":19733,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checks",{"_index":4920,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["checkshorttitle",{"_index":8528,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["checkstream",{"_index":1294,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstream(stream",{"_index":1301,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstreamresponsive",{"_index":19524,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checkstreamresponsive(stream",{"_index":19533,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checksubmissionitemwritepermission",{"_index":2665,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksubmissionitemwritepermission(userid",{"_index":2674,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksum",{"_index":2357,"title":{},"body":{"injectables/BBBService.html":{}}}],["checkvalidityofparameters",{"_index":6124,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalidityofparameters(validatabletool",{"_index":6143,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalue",{"_index":15209,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkvalue(value",{"_index":15217,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkversionmatch",{"_index":20132,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["checkversionmatch(schoolexternaltoolversion",{"_index":20133,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["child",{"_index":3078,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoService.html":{},"classes/BoardResponseMapper.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["child.accept(this",{"_index":18767,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["child.acceptasync(this",{"_index":18677,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["child.constructor.name",{"_index":3097,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["child.id",{"_index":3107,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["childcopy",{"_index":18684,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childid",{"_index":3663,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["children",{"_index":3066,"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":3608,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["children.map((element",{"_index":21227,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["children.sort((a",{"_index":3604,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["childrenmap",{"_index":3526,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["childrenmap[boardnode.pathofchildren",{"_index":3685,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["childstatus",{"_index":18680,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses",{"_index":18678,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses.push(childstatus",{"_index":18682,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["choose",{"_index":25544,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["choosing",{"_index":25546,"title":{},"body":{"license.html":{}}}],["chunk",{"_index":24941,"title":{},"body":{"dependencies.html":{}}}],["circumstances",{"_index":25203,"title":{},"body":{"license.html":{}}}],["circumvention",{"_index":25210,"title":{},"body":{"license.html":{}}}],["civil",{"_index":25584,"title":{},"body":{"license.html":{}}}],["cjs",{"_index":14534,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["cjs/keycloak",{"_index":14533,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["claim",{"_index":14778,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["claim.name",{"_index":14787,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["claims",{"_index":25463,"title":{},"body":{"license.html":{}}}],["clamconnection",{"_index":1299,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["clamdscan",{"_index":1281,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["clamscan",{"_index":1263,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"dependencies.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupScope.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.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/SwapInternalLinksVisitor.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["class.do",{"_index":4699,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classattributenamemapping",{"_index":15137,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classentity",{"_index":4638,"title":{"entities/ClassEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classentityfactory",{"_index":4684,"title":{"classes/ClassEntityFactory.html":{}},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityfactory.define(classentity",{"_index":4691,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityprops",{"_index":4657,"title":{"interfaces/ClassEntityProps.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupScope.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IImportUserScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.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/SwapInternalLinksVisitor.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["classes.map((clazz",{"_index":4869,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classes.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14299,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["classesrepo",{"_index":4807,"title":{"injectables/ClassesRepo.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{}}}],["classfactory",{"_index":4694,"title":{"classes/ClassFactory.html":{}},"body":{"classes/ClassFactory.html":{}}}],["classfactory.define(class",{"_index":4700,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classfilterparams",{"_index":4701,"title":{"classes/ClassFilterParams.html":{}},"body":{"classes/ClassFilterParams.html":{},"controllers/GroupController.html":{}}}],["classid",{"_index":4876,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classids",{"_index":7517,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classinfo",{"_index":12998,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.externalsourcename",{"_index":13012,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.id",{"_index":13009,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.isupgradable",{"_index":13015,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.name",{"_index":13011,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.schoolyear",{"_index":13014,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.studentcount",{"_index":13016,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.teachernames",{"_index":13013,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.type",{"_index":13010,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfodto",{"_index":4709,"title":{"classes/ClassInfoDto.html":{}},"body":{"classes/ClassInfoDto.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["classinforesponse",{"_index":4737,"title":{"classes/ClassInfoResponse.html":{}},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfos",{"_index":12995,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.data.map((classinfo",{"_index":13006,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.total",{"_index":13008,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse",{"_index":4751,"title":{"classes/ClassInfoSearchListResponse.html":{}},"body":{"classes/ClassInfoSearchListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse})@apiresponse({status",{"_index":12814,"title":{},"body":{"controllers/GroupController.html":{}}}],["classmap",{"_index":4868,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmap.get(entity.id",{"_index":4881,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper",{"_index":4753,"title":{"classes/ClassMapper.html":{}},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{}}}],["classmapper.maptodos(classes",{"_index":4867,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper.maptoentity(updateddomainobject",{"_index":4883,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmodule",{"_index":4802,"title":{"modules/ClassModule.html":{}},"body":{"modules/ClassModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["classname",{"_index":11341,"title":{},"body":{"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["classnames",{"_index":13945,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{}}}],["classpathadditions",{"_index":15127,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classprops",{"_index":4624,"title":{"interfaces/ClassProps.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{}}}],["classroottype",{"_index":4724,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{}}}],["classroottype.class",{"_index":13112,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classroottype.group",{"_index":13101,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classserializerinterceptor",{"_index":14336,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["classservice",{"_index":4806,"title":{"injectables/ClassService.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{}}}],["classsortby",{"_index":4834,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["classsortparams",{"_index":4831,"title":{"classes/ClassSortParams.html":{}},"body":{"classes/ClassSortParams.html":{},"controllers/GroupController.html":{}}}],["classsourceoptions",{"_index":4622,"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":4647,"title":{"classes/ClassSourceOptionsEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsentityprops",{"_index":4849,"title":{"interfaces/ClassSourceOptionsEntityProps.html":{}},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsprops",{"_index":4842,"title":{"interfaces/ClassSourceOptionsProps.html":{}},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classvalidatormetadatastorage",{"_index":9938,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["clause",{"_index":811,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["clazz",{"_index":4871,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel",{"_index":13108,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel}${clazz.name",{"_index":13109,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.id",{"_index":4870,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.name",{"_index":13110,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.source",{"_index":13113,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.successor",{"_index":13111,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids",{"_index":13116,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids.length",{"_index":13117,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clean",{"_index":4926,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/FileRecordMapper.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["clean(options",{"_index":4931,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["clean(pagesize",{"_index":14792,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["cleanoptions",{"_index":4886,"title":{"interfaces/CleanOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleans",{"_index":4925,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleanup",{"_index":7562,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeleteFilesConsole.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cleanupinput",{"_index":15844,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanupinput(username",{"_index":15851,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanuppath",{"_index":22524,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["cleanuppath(inputpath",{"_index":1666,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["clear",{"_index":5285,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"license.html":{}}}],["clearcollection",{"_index":8908,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearcollection(collectionname",{"_index":8915,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearinterval(pinginterval",{"_index":22945,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["clearly",{"_index":25885,"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":19646,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["cli",{"_index":25783,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["click",{"_index":24480,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["client",{"_index":2831,"title":{},"body":{"injectables/BatchDeletionService.html":{},"modules/BoardModule.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"classes/IdParams.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RevokeConsentParams.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"classes/SystemEntityFactory.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"classes/TldrawWs.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["client.adapter",{"_index":19654,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.adapter.ts",{"_index":19522,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:113",{"_index":19552,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:136",{"_index":19554,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:157",{"_index":19536,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:181",{"_index":19541,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:201",{"_index":19548,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:213",{"_index":19550,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:23",{"_index":19532,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:243",{"_index":19546,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:265",{"_index":19543,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:292",{"_index":19534,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:34",{"_index":19539,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:51",{"_index":19544,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:84",{"_index":19538,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.bind(username",{"_index":15200,"title":{},"body":{"injectables/LdapService.html":{}}}],["client.body.ts",{"_index":17154,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:10",{"_index":17157,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:15",{"_index":17158,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:20",{"_index":17159,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:26",{"_index":17164,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:36",{"_index":17184,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:46",{"_index":17178,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:56",{"_index":17173,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:65",{"_index":17162,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:71",{"_index":17163,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:77",{"_index":17165,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.close",{"_index":22812,"title":{},"body":{"classes/TldrawWs.html":{}}}],["client.config",{"_index":9144,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client.getsigningkey",{"_index":17132,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["client.histogram",{"_index":18979,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["client.interface",{"_index":18246,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["client.mapper",{"_index":11791,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["client.mapper.ts",{"_index":12284,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:17",{"_index":12292,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:27",{"_index":12300,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:39",{"_index":12294,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:49",{"_index":12302,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:62",{"_index":12296,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:7",{"_index":12298,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.module.ts",{"_index":12325,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"modules/S3ClientModule.html":{},"modules/TldrawClientModule.html":{}}}],["client.module.ts:25",{"_index":19653,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.on('connect",{"_index":4283,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.on('error",{"_index":4281,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.response",{"_index":6361,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["client.send(deletioncommand",{"_index":9045,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["client.service",{"_index":7352,"title":{},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{}}}],["client.service.ts",{"_index":12256,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:11",{"_index":12263,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:16",{"_index":12265,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:23",{"_index":12269,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:31",{"_index":12267,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:39",{"_index":12271,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.ts",{"_index":1604,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:104",{"_index":22539,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:110",{"_index":22530,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:120",{"_index":22531,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:129",{"_index":22536,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:136",{"_index":22538,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:14",{"_index":22599,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:142",{"_index":22535,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:21",{"_index":22598,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:26",{"_index":22528,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:28",{"_index":22529,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:30",{"_index":22527,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:38",{"_index":22534,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:44",{"_index":22597,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:45",{"_index":22532,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:5",{"_index":22596,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:54",{"_index":22543,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:63",{"_index":22600,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:64",{"_index":22541,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:7",{"_index":22595,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:74",{"_index":22542,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:84",{"_index":22540,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client/builder/deletion",{"_index":9444,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["client/deletion",{"_index":9143,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client/deletion.client.ts",{"_index":9076,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:10",{"_index":9092,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:12",{"_index":9091,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:14",{"_index":9093,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:16",{"_index":9084,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:30",{"_index":9090,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:64",{"_index":9088,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:88",{"_index":9085,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/deletion.client.ts:92",{"_index":9086,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["client/dto",{"_index":20297,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["client/dto/copy",{"_index":7222,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["client/dto/file.dto.ts",{"_index":11525,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:10",{"_index":11529,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:12",{"_index":11526,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:6",{"_index":11527,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:8",{"_index":11528,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/files",{"_index":12324,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["client/interface/deletion",{"_index":9132,"title":{},"body":{"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{}}}],["client/interface/index.ts",{"_index":7303,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{}}}],["client/interfaces/copy",{"_index":7219,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFilesRequestInfo.html":{}}}],["client/interfaces/file",{"_index":11514,"title":{},"body":{"interfaces/FileDomainObjectProps.html":{},"interfaces/FileRequestInfo.html":{}}}],["client/interfaces/files",{"_index":12283,"title":{},"body":{"interfaces/FilesStorageClientConfig.html":{}}}],["client/lib/defs/authenticationexecutioninforepresentation",{"_index":14671,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/authenticationflowrepresentation",{"_index":14673,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/clientrepresentation",{"_index":14675,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityprovidermapperrepresentation",{"_index":14676,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityproviderrepresentation",{"_index":14677,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["client/lib/defs/protocolmapperrepresentation",{"_index":14678,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/userrepresentation",{"_index":14877,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["client/mapper/copy",{"_index":7321,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["client/mapper/files",{"_index":11787,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["client/s3",{"_index":19521,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["client/service/copy",{"_index":7334,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["client/service/drawing",{"_index":3902,"title":{},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["client/service/files",{"_index":12255,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["client/tldraw",{"_index":22698,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["client_id",{"_index":1495,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/HydraSsoService.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/TokenRequestMapper.html":{}}}],["client_name",{"_index":6365,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{}}}],["client_secret",{"_index":1496,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["client_secret_basic",{"_index":17182,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client_secret_post",{"_index":17181,"title":{},"body":{"classes/OauthClientBody.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["clientauthmethod",{"_index":17717,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["clientid",{"_index":6369,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["clientinternalid",{"_index":14580,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clientname",{"_index":6367,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["clientrepresentation",{"_index":14674,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["clients",{"_index":9028,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["clients.map",{"_index":17468,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["clients.params.ts",{"_index":15828,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:16",{"_index":15833,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:27",{"_index":15836,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:36",{"_index":15829,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:45",{"_index":15837,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients_configuration_path='/tmp/config/clients",{"_index":26276,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["clientsecret",{"_index":8318,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["clientsecret.value",{"_index":14584,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clienttype",{"_index":2322,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["clienturl",{"_index":1041,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/ColumnBoardService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["clock",{"_index":22739,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["clone",{"_index":511,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["clone(this",{"_index":551,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["clone>(this",{"_index":2607,"title":{},"body":{"classes/BaseFactory.html":{}}}],["close",{"_index":18575,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closeconn",{"_index":22842,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closeconn(doc",{"_index":22849,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closed",{"_index":22025,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed.loggable",{"_index":23788,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["closedat",{"_index":23790,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["closeddraftsforcreator",{"_index":22029,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.addquery(parentsopen.query",{"_index":22030,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.bycreatorid(parentids.creatorid",{"_index":22032,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.byfinished(parentids.creatorid",{"_index":22031,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons",{"_index":22018,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.addquery(parentsopen.query",{"_index":22019,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.bydraft(false",{"_index":22020,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.byfinished(parentids.creatorid",{"_index":22021,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator",{"_index":22026,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byfinished(parentids.creatorid",{"_index":22027,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byonlycreatorid(parentids.creatorid",{"_index":22028,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closely",{"_index":25581,"title":{},"body":{"license.html":{}}}],["closemigration",{"_index":4973,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["closemigration(@currentuser",{"_index":23889,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(currentuser",{"_index":23807,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(userid",{"_index":4979,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["closemigration(userloginmigration",{"_index":24030,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["closeuserloginmigrationuc",{"_index":4969,"title":{"injectables/CloseUserLoginMigrationUc.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["closing",{"_index":26194,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cloud",{"_index":16903,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["cloud.github.io/schulcloud",{"_index":25658,"title":{},"body":{"todo.html":{}}}],["cloud/commons",{"_index":2222,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"injectables/LessonCopyUC.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"dependencies.html":{}}}],["cloud/commons/lib",{"_index":4259,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"modules/ServerConsoleModule.html":{},"injectables/ShareTokenUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#l9",{"_index":26322,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["cloud/erwin",{"_index":25705,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/node",{"_index":24909,"title":{},"body":{"dependencies.html":{}}}],["cloud/sc",{"_index":26284,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/schulcloud",{"_index":25637,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cluster_accountapimodule",{"_index":261,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_imports",{"_index":262,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_providers",{"_index":263,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountmodule",{"_index":661,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_exports",{"_index":662,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_imports",{"_index":663,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_providers",{"_index":664,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_adminapiservermodule",{"_index":1008,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservermodule_imports",{"_index":1009,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservertestmodule",{"_index":1046,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_adminapiservertestmodule_imports",{"_index":1047,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_authenticationapimodule",{"_index":1481,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_imports",{"_index":1483,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_providers",{"_index":1482,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationmodule",{"_index":1518,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_exports",{"_index":1520,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_imports",{"_index":1519,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_providers",{"_index":1521,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authorizationmodule",{"_index":1857,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_exports",{"_index":1860,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_imports",{"_index":1859,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_providers",{"_index":1858,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationreferencemodule",{"_index":1904,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_exports",{"_index":1907,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_imports",{"_index":1905,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_providers",{"_index":1906,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_boardapimodule",{"_index":3021,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_imports",{"_index":3023,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_providers",{"_index":3022,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardmodule",{"_index":3883,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_exports",{"_index":3886,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_imports",{"_index":3885,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_providers",{"_index":3884,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_cachewrappermodule",{"_index":4265,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_exports",{"_index":4267,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_providers",{"_index":4266,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_calendarmodule",{"_index":4314,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_exports",{"_index":4315,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_providers",{"_index":4316,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_classmodule",{"_index":4803,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_exports",{"_index":4805,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_providers",{"_index":4804,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_collaborativestorageadaptermodule",{"_index":5064,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_exports",{"_index":5065,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_imports",{"_index":5066,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_providers",{"_index":5067,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestoragemodule",{"_index":5116,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_exports",{"_index":5117,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_imports",{"_index":5118,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_providers",{"_index":5119,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_commontoolmodule",{"_index":6073,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_exports",{"_index":6075,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_imports",{"_index":6074,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_providers",{"_index":6076,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_consolewritermodule",{"_index":6376,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_exports",{"_index":6377,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_providers",{"_index":6378,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_contextexternaltoolmodule",{"_index":6817,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_exports",{"_index":6818,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_imports",{"_index":6819,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_providers",{"_index":6820,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_copyhelpermodule",{"_index":7379,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_exports",{"_index":7381,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_providers",{"_index":7380,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_coremodule",{"_index":7458,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_exports",{"_index":7460,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_imports",{"_index":7459,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_databasemanagementmodule",{"_index":8901,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_exports",{"_index":8903,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_providers",{"_index":8902,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_deletionapimodule",{"_index":9046,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_imports",{"_index":9047,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_providers",{"_index":9048,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionconsolemodule",{"_index":9137,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_imports",{"_index":9139,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_providers",{"_index":9138,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionmodule",{"_index":9348,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_exports",{"_index":9350,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_providers",{"_index":9349,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_encryptionmodule",{"_index":9907,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_encryptionmodule_imports",{"_index":9908,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_errormodule",{"_index":10023,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_errormodule_imports",{"_index":10024,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_externaltoolmodule",{"_index":10544,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_exports",{"_index":10547,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_imports",{"_index":10545,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_providers",{"_index":10546,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_feathersmodule",{"_index":11342,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_exports",{"_index":11344,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_providers",{"_index":11343,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_filesmodule",{"_index":12186,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_exports",{"_index":12189,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_imports",{"_index":12188,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_providers",{"_index":12187,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesstorageamqpmodule",{"_index":12240,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_imports",{"_index":12241,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_providers",{"_index":12242,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageapimodule",{"_index":12248,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_imports",{"_index":12249,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_providers",{"_index":12250,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageclientmodule",{"_index":12320,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_exports",{"_index":12323,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_imports",{"_index":12322,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_providers",{"_index":12321,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstoragemodule",{"_index":12408,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_exports",{"_index":12411,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_imports",{"_index":12410,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_providers",{"_index":12409,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragetestmodule",{"_index":12465,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesstoragetestmodule_imports",{"_index":12466,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesystemmodule",{"_index":12176,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_exports",{"_index":12177,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_providers",{"_index":12178,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_fwulearningcontentsmodule",{"_index":12556,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_imports",{"_index":12557,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_providers",{"_index":12558,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentstestmodule",{"_index":12567,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_imports",{"_index":12569,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_providers",{"_index":12568,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_groupapimodule",{"_index":12801,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_imports",{"_index":12803,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_providers",{"_index":12802,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupmodule",{"_index":12925,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_exports",{"_index":12927,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_providers",{"_index":12926,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_h5peditormodule",{"_index":13384,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_exports",{"_index":13386,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_imports",{"_index":13387,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_providers",{"_index":13385,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditortestmodule",{"_index":13407,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_imports",{"_index":13408,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_providers",{"_index":13409,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5plibrarymanagementmodule",{"_index":13422,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_imports",{"_index":13424,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_providers",{"_index":13423,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_identitymanagementmodule",{"_index":13881,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_exports",{"_index":13883,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_imports",{"_index":13882,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_importusermodule",{"_index":14184,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_imports",{"_index":14186,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_providers",{"_index":14185,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_keycloakadministrationmodule",{"_index":14526,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_exports",{"_index":14527,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_providers",{"_index":14528,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakconfigurationmodule",{"_index":14600,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_exports",{"_index":14603,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_imports",{"_index":14601,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_providers",{"_index":14602,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakmodule",{"_index":14986,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_exports",{"_index":14987,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_imports",{"_index":14988,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_providers",{"_index":14989,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_learnroomapimodule",{"_index":15258,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_imports",{"_index":15259,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_providers",{"_index":15260,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroommodule",{"_index":15273,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_exports",{"_index":15275,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_imports",{"_index":15274,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_providers",{"_index":15276,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_legacyschoolapimodule",{"_index":15318,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_imports",{"_index":15319,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_providers",{"_index":15320,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolmodule",{"_index":15379,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_exports",{"_index":15380,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_imports",{"_index":15381,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_providers",{"_index":15382,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_lessonapimodule",{"_index":15546,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_imports",{"_index":15547,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_providers",{"_index":15548,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonmodule",{"_index":15622,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_exports",{"_index":15624,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_imports",{"_index":15625,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_providers",{"_index":15623,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_loggermodule",{"_index":15892,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_exports",{"_index":15894,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_providers",{"_index":15893,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_ltitoolmodule",{"_index":16147,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_exports",{"_index":16149,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_providers",{"_index":16148,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_managementmodule",{"_index":16263,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementmodule_providers",{"_index":16264,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementservermodule",{"_index":16275,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservermodule_imports",{"_index":16276,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservertestmodule",{"_index":16282,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_managementservertestmodule_imports",{"_index":16283,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_metatagextractorapimodule",{"_index":16328,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_imports",{"_index":16329,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_providers",{"_index":16330,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractormodule",{"_index":16352,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_exports",{"_index":16354,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_imports",{"_index":16353,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_providers",{"_index":16355,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_newsmodule",{"_index":16710,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_exports",{"_index":16713,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_imports",{"_index":16712,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_providers",{"_index":16711,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_oauthapimodule",{"_index":17145,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_imports",{"_index":17146,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_providers",{"_index":17147,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthmodule",{"_index":17305,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_exports",{"_index":17307,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_imports",{"_index":17306,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_providers",{"_index":17308,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthproviderapimodule",{"_index":17316,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_imports",{"_index":17318,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_providers",{"_index":17317,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthprovidermodule",{"_index":17566,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_exports",{"_index":17569,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_imports",{"_index":17568,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_providers",{"_index":17567,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthproviderservicemodule",{"_index":17622,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_oauthproviderservicemodule_exports",{"_index":17623,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_previewgeneratoramqpmodule",{"_index":18021,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratoramqpmodule_imports",{"_index":18022,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratorproducermodule",{"_index":18059,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_exports",{"_index":18060,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_imports",{"_index":18061,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_providers",{"_index":18062,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_provisioningmodule",{"_index":18265,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_exports",{"_index":18268,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_imports",{"_index":18267,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_providers",{"_index":18266,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_pseudonymapimodule",{"_index":18381,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_imports",{"_index":18383,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_providers",{"_index":18382,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymmodule",{"_index":18420,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_exports",{"_index":18422,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_imports",{"_index":18423,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_providers",{"_index":18421,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_redismodule",{"_index":18811,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_redismodule_imports",{"_index":18812,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_registrationpinmodule",{"_index":18911,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_exports",{"_index":18913,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_imports",{"_index":18912,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_providers",{"_index":18914,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_rocketchatusermodule",{"_index":19171,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_exports",{"_index":19173,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_providers",{"_index":19172,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rolemodule",{"_index":19227,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_exports",{"_index":19229,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_providers",{"_index":19228,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_schoolexternaltoolmodule",{"_index":19990,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_exports",{"_index":19993,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_imports",{"_index":19991,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_providers",{"_index":19992,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_serverconsolemodule",{"_index":20541,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_serverconsolemodule_imports",{"_index":20542,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_servermodule",{"_index":20553,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servermodule_imports",{"_index":20554,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servertestmodule",{"_index":20630,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_servertestmodule_imports",{"_index":20631,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_sharingapimodule",{"_index":20908,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_imports",{"_index":20910,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_providers",{"_index":20909,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingmodule",{"_index":20915,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_exports",{"_index":20916,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_imports",{"_index":20918,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_providers",{"_index":20917,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_systemapimodule",{"_index":21434,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_imports",{"_index":21436,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_providers",{"_index":21435,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemmodule",{"_index":21569,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_exports",{"_index":21570,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_imports",{"_index":21571,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_providers",{"_index":21572,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_taskapimodule",{"_index":21770,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_imports",{"_index":21772,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_providers",{"_index":21771,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskmodule",{"_index":21974,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_exports",{"_index":21976,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_imports",{"_index":21977,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_providers",{"_index":21975,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_teamsapimodule",{"_index":22418,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsapimodule_imports",{"_index":22419,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsmodule",{"_index":22422,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_exports",{"_index":22423,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_providers",{"_index":22424,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_tldrawclientmodule",{"_index":22695,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_imports",{"_index":22696,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_providers",{"_index":22697,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawmodule",{"_index":22755,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_imports",{"_index":22756,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_providers",{"_index":22757,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawtestmodule",{"_index":22781,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_imports",{"_index":22783,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_providers",{"_index":22782,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawwsmodule",{"_index":22834,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_imports",{"_index":22835,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_providers",{"_index":22836,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwstestmodule",{"_index":22958,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_imports",{"_index":22960,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_providers",{"_index":22959,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_toolapimodule",{"_index":22995,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_imports",{"_index":22996,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_providers",{"_index":22997,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toollaunchmodule",{"_index":23261,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_exports",{"_index":23264,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_imports",{"_index":23262,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_providers",{"_index":23263,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toolmodule",{"_index":23335,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_exports",{"_index":23337,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_imports",{"_index":23336,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_providers",{"_index":23338,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_userapimodule",{"_index":23588,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_imports",{"_index":23590,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_providers",{"_index":23589,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userloginmigrationapimodule",{"_index":23793,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_imports",{"_index":23794,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_providers",{"_index":23795,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationmodule",{"_index":23967,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_exports",{"_index":23969,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_imports",{"_index":23968,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_providers",{"_index":23970,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_usermodule",{"_index":24178,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_exports",{"_index":24180,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_imports",{"_index":24179,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_providers",{"_index":24181,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_videoconferenceapimodule",{"_index":24402,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_imports",{"_index":24404,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_providers",{"_index":24403,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferencemodule",{"_index":24673,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_exports",{"_index":24674,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_imports",{"_index":24676,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_providers",{"_index":24675,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["code",{"_index":998,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"injectables/AccountValidationService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginRequestBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SystemEntityFactory.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["codebase",{"_index":25870,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["coded",{"_index":5407,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["codes",{"_index":11718,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coersion",{"_index":12730,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["cohesion",{"_index":25896,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["collaborative",{"_index":5001,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorage",{"_index":5166,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["collaborativestorageadapter",{"_index":4995,"title":{"injectables/CollaborativeStorageAdapter.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["collaborativestorageadaptermapper",{"_index":5013,"title":{"injectables/CollaborativeStorageAdapterMapper.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{}}}],["collaborativestorageadaptermodule",{"_index":5063,"title":{"modules/CollaborativeStorageAdapterModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragecontroller",{"_index":5083,"title":{"controllers/CollaborativeStorageController.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragemodule",{"_index":5115,"title":{"modules/CollaborativeStorageModule.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["collaborativestorageservice",{"_index":5120,"title":{"injectables/CollaborativeStorageService.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collaborativestoragestrategy",{"_index":5012,"title":{"interfaces/CollaborativeStorageStrategy.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorageuc",{"_index":5104,"title":{"injectables/CollaborativeStorageUc.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collect",{"_index":25523,"title":{},"body":{"license.html":{}}}],["collectdefaultmetrics",{"_index":18167,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collected",{"_index":18219,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting",{"_index":18218,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_default_metrics_disabled",{"_index":18217,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_metrics_route_metrics_disabled",{"_index":18220,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collection",{"_index":1821,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collection(this",{"_index":2946,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["collection.deletemany",{"_index":8942,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.find({}).toarray",{"_index":8940,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.insertmany(jsondocuments",{"_index":8937,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.name",{"_index":8947,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionexists",{"_index":5283,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["collectionexists(collectionname",{"_index":8917,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionfilepath",{"_index":5197,"title":{"interfaces/CollectionFilePath.html":{}},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname",{"_index":5199,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{}}}],["collectionnamefilter",{"_index":5265,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter.length",{"_index":5273,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter?.includes(collectionname",{"_index":5276,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnames",{"_index":8945,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname}.json",{"_index":5254,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname}:${data.length",{"_index":5298,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections",{"_index":5249,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collections.includes(collectionname",{"_index":8949,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.includes(data.collectionname",{"_index":5293,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.length",{"_index":5292,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.map((collection",{"_index":8946,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.map((collectionname",{"_index":5252,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport",{"_index":5330,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport.map(async",{"_index":5332,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed",{"_index":5308,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed.map(async",{"_index":5310,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionswithfilepaths",{"_index":5251,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectmetricsroutemetrics",{"_index":18168,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collects",{"_index":26444,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["color",{"_index":7506,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["column",{"_index":2965,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["column.'})@apiresponse({status",{"_index":5640,"title":{},"body":{"controllers/ColumnController.html":{}}}],["column.addchild(card",{"_index":5544,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["column.body.params.ts",{"_index":16567,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:11",{"_index":16569,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:19",{"_index":16570,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.children.map((card",{"_index":5683,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.constructor.name",{"_index":4033,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["column.createdat",{"_index":5687,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.do",{"_index":3157,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["column.id",{"_index":5681,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.response",{"_index":4022,"title":{},"body":{"classes/BoardResponse.html":{}}}],["column.title",{"_index":5682,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.updatedat",{"_index":5686,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["columnboard",{"_index":2032,"title":{"classes/ColumnBoard.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoomsService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["columnboard.addchild(column",{"_index":5538,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["columnboard.context",{"_index":18772,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.context.type",{"_index":4192,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["columnboard.id",{"_index":18769,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.title",{"_index":4191,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnboardboardelement",{"_index":2964,"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":3286,"title":{"injectables/ColumnBoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["columnboardelement",{"_index":3386,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["columnboardelements",{"_index":4013,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["columnboardfactory",{"_index":5485,"title":{"classes/ColumnBoardFactory.html":{}},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardfactory.define(columnboard",{"_index":5491,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardid",{"_index":3044,"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":5619,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardids.length",{"_index":19439,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardids.map((id",{"_index":5626,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardids.push(columnboard.id",{"_index":19441,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardinfo",{"_index":19339,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.columnboardid",{"_index":19342,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.createdat",{"_index":19345,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.id",{"_index":19341,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.published",{"_index":19344,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.title",{"_index":19343,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.updatedat",{"_index":19346,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardmetadata",{"_index":9755,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardnode",{"_index":3497,"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":3851,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodefactory.build",{"_index":3855,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodeprops",{"_index":5498,"title":{"interfaces/ColumnBoardNodeProps.html":{}},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["columnboardprops",{"_index":5445,"title":{"interfaces/ColumnBoardProps.html":{}},"body":{"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{}}}],["columnboardservice",{"_index":2020,"title":{"injectables/ColumnBoardService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget",{"_index":2966,"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":3378,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.createdat",{"_index":9803,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.id",{"_index":9801,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.published",{"_index":9805,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.title",{"_index":9802,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.updatedat",{"_index":9804,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtargetprops",{"_index":5604,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["columnboardtargets",{"_index":5625,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardtargetservice",{"_index":5611,"title":{"injectables/ColumnBoardTargetService.html":{}},"body":{"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{}}}],["columncontroller",{"_index":3031,"title":{"controllers/ColumnController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ColumnController.html":{}}}],["columnid",{"_index":4149,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{}}}],["columnnode",{"_index":3494,"title":{"entities/ColumnNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnnodefactory",{"_index":3852,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnnodefactory.build",{"_index":3872,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnprops",{"_index":5429,"title":{"interfaces/ColumnProps.html":{}},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["columnresponse",{"_index":3244,"title":{"classes/ColumnResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper",{"_index":3248,"title":{"classes/ColumnResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper.maptoresponse(column",{"_index":3269,"title":{},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["columnresponse})@apiresponse({status",{"_index":3215,"title":{},"body":{"controllers/BoardController.html":{}}}],["columns",{"_index":3563,"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":3860,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnservice",{"_index":3892,"title":{"injectables/ColumnService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{}}}],["columnuc",{"_index":3026,"title":{"injectables/ColumnUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["columnurlparams",{"_index":5638,"title":{"classes/ColumnUrlParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{}}}],["colums",{"_index":8536,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["combination",{"_index":18565,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["combinations",{"_index":26298,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["combine",{"_index":25534,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["combined",{"_index":20926,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["combines",{"_index":26478,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["come",{"_index":25094,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["comes",{"_index":25256,"title":{},"body":{"license.html":{}}}],["coming",{"_index":26396,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["command",{"_index":3812,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["command({command",{"_index":3808,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"classes/ServerConsole.html":{}}}],["commander",{"_index":24874,"title":{},"body":{"dependencies.html":{}}}],["commandname",{"_index":14818,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["commandoption",{"_index":4892,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["commandoutput",{"_index":19587,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["commandresponse",{"_index":22563,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["commands",{"_index":4906,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["comment",{"_index":10603,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["comments",{"_index":26240,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["commercial",{"_index":25332,"title":{},"body":{"license.html":{}}}],["commit",{"_index":25028,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["commitment",{"_index":25475,"title":{},"body":{"license.html":{}}}],["commits",{"_index":26237,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["committing",{"_index":25023,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common",{"_index":5776,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"modules/ExternalToolModule.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common/controller/dto",{"_index":10519,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["common/domain",{"_index":6699,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["common/entity",{"_index":6791,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["common/enum",{"_index":2036,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceUc.html":{}}}],["common/interface",{"_index":6700,"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":6980,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["common/service",{"_index":7067,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["common/uc/tool",{"_index":7104,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["commoncartridgeconfig",{"_index":5729,"title":{"interfaces/CommonCartridgeConfig.html":{}},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["commoncartridgeelement",{"_index":5734,"title":{"interfaces/CommonCartridgeElement.html":{}},"body":{"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeexportservice",{"_index":5738,"title":{"injectables/CommonCartridgeExportService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomModule.html":{}}}],["commoncartridgefile",{"_index":5842,"title":{"interfaces/CommonCartridgeFile.html":{}},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgefilebuilder",{"_index":5751,"title":{"classes/CommonCartridgeFileBuilder.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgefilebuilderoptions",{"_index":5855,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeintendedusetype",{"_index":5774,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeintendedusetype.assignment",{"_index":5841,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeintendedusetype.unspecified",{"_index":5816,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeltiresource",{"_index":5909,"title":{"classes/CommonCartridgeLtiResource.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeltiresource(props",{"_index":6043,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgemanifestelement",{"_index":5873,"title":{"classes/CommonCartridgeManifestElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgemetadataelement",{"_index":5972,"title":{"classes/CommonCartridgeMetadataElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["commoncartridgemetadataelement(this.metadataprops).transform",{"_index":5989,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeorganizationbuilder",{"_index":5879,"title":{"classes/CommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationbuilder(props",{"_index":5890,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement",{"_index":5875,"title":{"classes/CommonCartridgeOrganizationItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement(this.props",{"_index":5880,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationwrapperelement",{"_index":5973,"title":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["commoncartridgeorganizationwrapperelement(this.organizations).transform",{"_index":5990,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeresourceitemelement",{"_index":5876,"title":{"classes/CommonCartridgeResourceItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(props",{"_index":5885,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(resourceprops",{"_index":5882,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourcetype",{"_index":5775,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.lti",{"_index":5918,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeresourcetype.web_content",{"_index":5814,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeresourcetype.web_link_v1",{"_index":5823,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.web_link_v3",{"_index":5822,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcewrapperelement",{"_index":5975,"title":{"classes/CommonCartridgeResourceWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["commoncartridgeresourcewrapperelement(this.resources).transform",{"_index":5991,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeversion",{"_index":5753,"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":5840,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeversion.v_1_3_0",{"_index":5821,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgewebcontentresource",{"_index":6038,"title":{"classes/CommonCartridgeWebContentResource.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgewebcontentresource(props",{"_index":6044,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeweblinkresourceelement",{"_index":6040,"title":{"classes/CommonCartridgeWebLinkResourceElement.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeweblinkresourceelement(props",{"_index":6045,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commonobject",{"_index":5919,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$.xmlns",{"_index":5940,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:blti",{"_index":5942,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticm",{"_index":5944,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticp",{"_index":5946,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xsi:schemalocation",{"_index":5948,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonprops",{"_index":5807,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commons",{"_index":24814,"title":{},"body":{"dependencies.html":{}}}],["commontags",{"_index":6062,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commontoolmodule",{"_index":6072,"title":{"modules/CommonToolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["commontoolservice",{"_index":6078,"title":{"injectables/CommonToolService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["commontoolvalidationservice",{"_index":6079,"title":{"injectables/CommonToolValidationService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["commontoolvalidationservice.typecheckers[type",{"_index":6161,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["communicate",{"_index":26460,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["communication",{"_index":25183,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["community",{"_index":25055,"title":{},"body":{"license.html":{}}}],["comparator",{"_index":25950,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["comparealphabetic",{"_index":2994,"title":{},"body":{"entities/Board.html":{}}}],["compared",{"_index":26249,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["compareparameters",{"_index":11189,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["compareparameters(oldparams",{"_index":11197,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["comparepassword",{"_index":92,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["compareversions(otherlibrary",{"_index":11742,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["compass",{"_index":26202,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["compatible",{"_index":25691,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["compilation",{"_index":25262,"title":{},"body":{"license.html":{}}}],["compilation's",{"_index":25269,"title":{},"body":{"license.html":{}}}],["compilations",{"_index":25506,"title":{},"body":{"license.html":{}}}],["compile",{"_index":22562,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["compiler",{"_index":25175,"title":{},"body":{"license.html":{}}}],["complete",{"_index":16517,"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":3595,"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":21177,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["completed.loggable.ts",{"_index":16510,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:3",{"_index":16512,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:6",{"_index":16513,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completion",{"_index":26154,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["completly",{"_index":26443,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["complex",{"_index":15298,"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":26364,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["compliance",{"_index":25435,"title":{},"body":{"license.html":{}}}],["comply",{"_index":25198,"title":{},"body":{"license.html":{}}}],["compodoc",{"_index":25779,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["component",{"_index":6226,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["component.constructor.name",{"_index":6552,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["componentetherpadproperties",{"_index":6204,"title":{"interfaces/ComponentEtherpadProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentgeogebraproperties",{"_index":6220,"title":{"interfaces/ComponentGeogebraProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentinternalproperties",{"_index":6225,"title":{"interfaces/ComponentInternalProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentlernstoreproperties",{"_index":6222,"title":{"interfaces/ComponentLernstoreProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentnexboardproperties",{"_index":6224,"title":{"interfaces/ComponentNexboardProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentproperties",{"_index":5760,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{}}}],["components",{"_index":25006,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["componenttextproperties",{"_index":6219,"title":{"interfaces/ComponentTextProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype",{"_index":5772,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.etherpad",{"_index":5824,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.geogebra",{"_index":5819,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.internal",{"_index":6227,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.lernstore",{"_index":6228,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.nexboard",{"_index":6229,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.text",{"_index":5813,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["composedname",{"_index":7416,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["composemetatags",{"_index":16441,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composemetatags(url",{"_index":16445,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composite",{"_index":3114,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["composite.do",{"_index":4357,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["composite.do.ts",{"_index":3060,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["composite.do.ts:11",{"_index":3089,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:15",{"_index":3091,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:19",{"_index":3077,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:33",{"_index":3082,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:35",{"_index":3084,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:39",{"_index":3080,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:45",{"_index":3070,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:47",{"_index":3074,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:7",{"_index":3087,"title":{},"body":{"classes/BoardComposite.html":{}}}],["compression",{"_index":24876,"title":{},"body":{"dependencies.html":{}}}],["computer",{"_index":25134,"title":{},"body":{"license.html":{}}}],["concatenating",{"_index":16893,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["concept",{"_index":25908,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concepts",{"_index":25907,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concern",{"_index":25843,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["concerns",{"_index":25541,"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":25968,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concurrently",{"_index":24877,"title":{},"body":{"dependencies.html":{}}}],["cond",{"_index":22114,"title":{},"body":{"injectables/TaskRule.html":{}}}],["condition",{"_index":26053,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["conditioned",{"_index":25500,"title":{},"body":{"license.html":{}}}],["conditions",{"_index":25107,"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":2392,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference",{"_index":9599,"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":24428,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference.controller.ts",{"_index":24422,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:105",{"_index":24435,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:132",{"_index":24431,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:44",{"_index":24446,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:77",{"_index":24441,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.do.ts",{"_index":24538,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:19",{"_index":24541,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:21",{"_index":24542,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:23",{"_index":24539,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:5",{"_index":24691,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:7",{"_index":24692,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:9",{"_index":24690,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.entity",{"_index":24710,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.entity.ts",{"_index":24373,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:10",{"_index":24688,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:12",{"_index":24689,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:14",{"_index":24687,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:31",{"_index":24376,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:34",{"_index":24377,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:37",{"_index":24375,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.mapper",{"_index":24449,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference.mapper.ts",{"_index":24649,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:25",{"_index":24655,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:32",{"_index":24657,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:38",{"_index":24661,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:42",{"_index":24659,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.module",{"_index":24411,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["conference.module.ts",{"_index":24678,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo",{"_index":24681,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo.ts",{"_index":24703,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:20",{"_index":24708,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:24",{"_index":24706,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.ts",{"_index":24392,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:10",{"_index":24393,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:6",{"_index":24396,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:8",{"_index":24394,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference/bbb/bbb",{"_index":13719,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["conference/bbb/bbb.service.ts",{"_index":2327,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:107",{"_index":2363,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:136",{"_index":2354,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:14",{"_index":2339,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:150",{"_index":2372,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:167",{"_index":2365,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:21",{"_index":2376,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:25",{"_index":2378,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:29",{"_index":2380,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:39",{"_index":2342,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:61",{"_index":2361,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:72",{"_index":2369,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:84",{"_index":2349,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/builder/bbb",{"_index":2201,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["conference/bbb/builder/builder.ts",{"_index":4226,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:2",{"_index":4228,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:8",{"_index":4230,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/request/bbb",{"_index":2139,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["conference/bbb/response/bbb",{"_index":2149,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["conference/bbb/response/bbb.response.ts",{"_index":2325,"title":{},"body":{"interfaces/BBBResponse.html":{}}}],["conference/controller/dto/request/video",{"_index":24474,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference/controller/dto/response/video",{"_index":9598,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["conference/controller/video",{"_index":24421,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference/error/error",{"_index":24589,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/error/invalid",{"_index":14348,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["conference/interface/video",{"_index":13811,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["conference/mapper/vc",{"_index":24729,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference/mapper/video",{"_index":24648,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference/uc/dto/scope",{"_index":20497,"title":{},"body":{"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{}}}],["conference/uc/dto/video",{"_index":24391,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["conference/uc/video",{"_index":24492,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/video",{"_index":20585,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["conferences",{"_index":24685,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["config",{"_index":2088,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ProvisioningConfigModule.html":{},"classes/PublicSystemResponse.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"interfaces/ServerConfig.html":{},"classes/System.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolConfigModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolVersionService.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["config.'})@isoptional()@isboolean()@stringtoboolean",{"_index":21554,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["config.allowmodstounmuteusers",{"_index":2197,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.attendeepw",{"_index":2195,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.builder.ts",{"_index":2202,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:10",{"_index":2284,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:11",{"_index":2218,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:15",{"_index":2286,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:16",{"_index":2212,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:21",{"_index":2216,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:5",{"_index":2282,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:6",{"_index":2214,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.clientid",{"_index":11453,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["config.connectionname",{"_index":19658,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["config.do",{"_index":2705,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts",{"_index":2699,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:11",{"_index":16039,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:13",{"_index":16040,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:15",{"_index":16037,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:17",{"_index":17087,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:4",{"_index":2701,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{}}}],["config.do.ts:5",{"_index":16038,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:6",{"_index":10177,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["config.do.ts:7",{"_index":16042,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:9",{"_index":16041,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.dto",{"_index":21510,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["config.dto.ts",{"_index":17216,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:1",{"_index":17670,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:10",{"_index":17221,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:12",{"_index":17229,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:14",{"_index":17218,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:16",{"_index":17227,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:18",{"_index":17228,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:2",{"_index":17219,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:20",{"_index":17225,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:22",{"_index":17671,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:24",{"_index":17674,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:25",{"_index":17224,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:26",{"_index":17673,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:27",{"_index":17223,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:28",{"_index":17675,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:29",{"_index":17217,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:30",{"_index":17672,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:4",{"_index":17220,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:6",{"_index":17222,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:8",{"_index":17226,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.entity",{"_index":2714,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts",{"_index":2710,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:10",{"_index":10182,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:11",{"_index":17105,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:12",{"_index":16063,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:15",{"_index":16062,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:18",{"_index":16060,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:21",{"_index":16061,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:24",{"_index":16058,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:6",{"_index":2711,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["config.entity.ts:7",{"_index":10183,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:8",{"_index":17106,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:9",{"_index":16059,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.frontchannellogouturi",{"_index":11081,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.fullname",{"_index":2268,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guest",{"_index":2273,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guestpolicy",{"_index":2191,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.interface.ts",{"_index":9133,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["config.json",{"_index":26274,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["config.logouturl",{"_index":2187,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.meetingid",{"_index":2147,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"injectables/BBBService.html":{}}}],["config.moderatorpw",{"_index":2193,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.module",{"_index":6830,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/ProvisioningModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["config.module.ts",{"_index":18258,"title":{},"body":{"modules/ProvisioningConfigModule.html":{},"modules/ToolConfigModule.html":{}}}],["config.name",{"_index":2185,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.params",{"_index":2725,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["config.params.ts",{"_index":2719,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:4",{"_index":10180,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:6",{"_index":10179,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.redirect",{"_index":2275,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.redirecturis",{"_index":11079,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.response",{"_index":2734,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["config.response.ts",{"_index":2729,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:10",{"_index":2731,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["config.response.ts:13",{"_index":16066,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:16",{"_index":16069,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:19",{"_index":16067,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:22",{"_index":16068,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:23",{"_index":17258,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:25",{"_index":16065,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:28",{"_index":17110,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:30",{"_index":17253,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:37",{"_index":17261,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:4",{"_index":10186,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:44",{"_index":17251,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:51",{"_index":17259,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:58",{"_index":17260,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:6",{"_index":10185,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:65",{"_index":17257,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:72",{"_index":17256,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:79",{"_index":17255,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:86",{"_index":17250,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:9",{"_index":17252,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.role",{"_index":2270,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.scope",{"_index":11075,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.tokenendpointauthmethod",{"_index":11077,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.ts",{"_index":311,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"interfaces/InterceptorConfig.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/MailConfig.html":{},"classes/OauthConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ToolConfiguration.html":{},"interfaces/UserConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:10",{"_index":17194,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:11",{"_index":18260,"title":{},"body":{"classes/ProvisioningConfiguration.html":{}}}],["config.ts:12",{"_index":17201,"title":{},"body":{"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:14",{"_index":17193,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:16",{"_index":17199,"title":{},"body":{"classes/OauthConfig.html":{},"classes/ToolConfiguration.html":{}}}],["config.ts:18",{"_index":17200,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:2",{"_index":15048,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:20",{"_index":17197,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:25",{"_index":17196,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:27",{"_index":17195,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:29",{"_index":17192,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:4",{"_index":14597,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:5",{"_index":14524,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["config.ts:6",{"_index":15047,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:8",{"_index":17198,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.type",{"_index":10175,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["config.userid",{"_index":2271,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.welcome",{"_index":2189,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config/development.json",{"_index":12105,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/test.json",{"_index":12106,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/x",{"_index":24805,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["config['meta_bbb",{"_index":2199,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["configbuilder",{"_index":24525,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withguestpolicy(guestpolicy.ask_moderator",{"_index":24531,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withmuteonstart(true",{"_index":24533,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configmodule",{"_index":1021,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions",{"_index":18058,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(config",{"_index":12418,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(getdeletionclientconfig",{"_index":9149,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(h5plibrarymanagementconfig",{"_index":13429,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(metatagextractorconfig",{"_index":16365,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(serverconfig",{"_index":1039,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configs",{"_index":14751,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/S3ClientModule.html":{}}}],["configs.flatmap((config",{"_index":19657,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["configservice",{"_index":634,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/FilesStorageProducer.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{}}}],["configservice.get('feature_identity_management_login_enabled",{"_index":684,"title":{},"body":{"modules/AccountModule.html":{}}}],["configservice.get('incoming_request_timeout",{"_index":14338,"title":{},"body":{"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{}}}],["configservice.get('incoming_request_timeout_copy_api",{"_index":12450,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["configservice.get('nest_log_level",{"_index":15902,"title":{},"body":{"modules/LoggerModule.html":{}}}],["configservice.get(aeskey",{"_index":9915,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["configtoupdate",{"_index":11131,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["configtype",{"_index":23244,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["configuration",{"_index":2219,"title":{"additional-documentation/nestjs-application/configuration.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configuration.console",{"_index":14610,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.console.ts",{"_index":4890,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.console.ts:121",{"_index":14813,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:156",{"_index":14816,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:172",{"_index":14817,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:201",{"_index":14815,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:23",{"_index":14809,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:32",{"_index":14810,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:51",{"_index":14811,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:77",{"_index":14812,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:99",{"_index":14819,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.controller",{"_index":14617,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.controller.ts",{"_index":14934,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:106",{"_index":23035,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:129",{"_index":23031,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:19",{"_index":14938,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration.controller.ts:40",{"_index":23040,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:58",{"_index":23025,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:80",{"_index":23022,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.externaltoolid",{"_index":6752,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.get",{"_index":20517,"title":{},"body":{"interfaces/ServerConfig.html":{},"injectables/ShareTokenUC.html":{}}}],["configuration.get('admin_api__allowed_api_keys",{"_index":20522,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('antivirus_exchange",{"_index":12422,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('antivirus_routing_key",{"_index":12423,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('blocklist_of_email_domains",{"_index":20525,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('calendar_uri",{"_index":4333,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('clamav__service_hostname",{"_index":12424,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('clamav__service_port",{"_index":12425,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('column_board_feedback_link",{"_index":5580,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('column_board_help_link",{"_index":5564,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('ctl_tools__external_tool_max_logo_size_in_bytes",{"_index":13808,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('enable_file_security_check",{"_index":12420,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('feature_column_board_enabled",{"_index":9775,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["configuration.get('feature_compute_tool_status_without_versions_enabled",{"_index":13807,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_copy_service_enabled",{"_index":7737,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["configuration.get('feature_course_share_new",{"_index":20900,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_ctl_context_configuration_enabled",{"_index":13806,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_ctl_tools_tab_enabled",{"_index":13804,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_fwu_content_enabled",{"_index":12537,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["configuration.get('feature_identity_management_enabled",{"_index":14517,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{}}}],["configuration.get('feature_identity_management_login_enabled",{"_index":20520,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_identity_management_store_enabled",{"_index":20519,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_imscc_course_export_enabled",{"_index":20518,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_lesson_share",{"_index":20902,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_lti_tools_tab_enabled",{"_index":13805,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_prometheus_metrics_enabled",{"_index":18193,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('feature_provisioning_options_enabled",{"_index":13789,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["configuration.get('feature_sanis_group_provisioning_enabled",{"_index":13788,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["configuration.get('feature_task_share",{"_index":20903,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_tldraw_enabled",{"_index":22712,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('feature_videoconference_enabled",{"_index":24419,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('files_storage__exchange",{"_index":7200,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["configuration.get('files_storage__incoming_request_timeout",{"_index":12098,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__max_file_size",{"_index":12101,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_access_key_id",{"_index":12110,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_bucket",{"_index":12109,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_endpoint",{"_index":12107,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_region",{"_index":12108,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_secret_access_key",{"_index":12111,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__service_base_url",{"_index":12421,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('files_storage__use_stream_to_antivirus",{"_index":12102,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('h5p_editor__library_list_path",{"_index":13745,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["configuration.get('host",{"_index":5592,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/HydraSsoService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('hydra_public_uri",{"_index":13699,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('i18n__available_languages",{"_index":20513,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('identity_management__admin_clientid",{"_index":14523,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_password",{"_index":14522,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_user",{"_index":14521,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__clientid",{"_index":14520,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__tenant",{"_index":14519,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__uri",{"_index":14518,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('incoming_request_timeout_api",{"_index":20511,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('incoming_request_timeout_copy_api",{"_index":12100,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('login_block_time",{"_index":20516,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('mail_send_exchange",{"_index":18573,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('mail_send_routing_key",{"_index":20590,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('migration_end_grace_period_ms",{"_index":24059,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["configuration.get('nest_log_level",{"_index":12096,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('nextcloud_scopes",{"_index":13713,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('nextcloud_sociallogin_oidc_internal_name",{"_index":5082,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["configuration.get('node_env",{"_index":20515,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_default_metrics",{"_index":18196,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_metrics_route_metrics",{"_index":18197,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_port",{"_index":18195,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_route",{"_index":18194,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('public_backend_url",{"_index":13809,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('rabbitmq_uri",{"_index":18574,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('redis_uri",{"_index":4279,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["configuration.get('request_option__timeout_ms",{"_index":4335,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('rocket_chat_admin_id",{"_index":9071,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_password",{"_index":9074,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_token",{"_index":9072,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_user",{"_index":9073,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_uri",{"_index":9070,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('s3_key",{"_index":20988,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["configuration.get('sc_domain",{"_index":2229,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('sc_theme",{"_index":5591,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('session__expires_seconds",{"_index":20593,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__http_only",{"_index":20617,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__name",{"_index":20606,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__proxy",{"_index":20609,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__same_site",{"_index":20613,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secret",{"_index":20602,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secure",{"_index":20611,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('tldraw__db_collection_name",{"_index":22709,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_flush_size",{"_index":22710,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_multiple_collections",{"_index":22711,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__gc_enabled",{"_index":22714,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__ping_timeout",{"_index":22713,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__socket_port",{"_index":22716,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw_db_url",{"_index":22708,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('videoconference_default_presentation",{"_index":24418,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_host",{"_index":24416,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_salt",{"_index":24417,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get(placeholder",{"_index":5386,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.has('column_board_feedback_link",{"_index":5578,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('column_board_help_link",{"_index":5562,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('redis_uri",{"_index":4262,"title":{},"body":{"injectables/CacheService.html":{},"modules/RedisModule.html":{}}}],["configuration.has('session__name",{"_index":20605,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has('session__proxy",{"_index":20608,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has(placeholder",{"_index":5385,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.logourl",{"_index":6757,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.mapper",{"_index":23043,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.mapper.ts",{"_index":23063,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:14",{"_index":23078,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:30",{"_index":23076,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:43",{"_index":23073,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:62",{"_index":23070,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:75",{"_index":23080,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.module",{"_index":16266,"title":{},"body":{"modules/ManagementModule.html":{}}}],["configuration.module.ts",{"_index":14607,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.name",{"_index":6755,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.parameters",{"_index":6758,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.response",{"_index":20041,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["configuration.response.ts",{"_index":19949,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.response.ts:9",{"_index":19950,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.schoolexternaltoolid",{"_index":6754,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.service",{"_index":14614,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.service.ts",{"_index":10189,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:100",{"_index":10217,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:108",{"_index":14642,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:128",{"_index":14643,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:14",{"_index":10198,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:155",{"_index":14644,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:167",{"_index":14639,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:191",{"_index":14663,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:20",{"_index":10211,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:214",{"_index":14647,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:224",{"_index":14667,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:235",{"_index":14653,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:240",{"_index":14669,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:254",{"_index":14650,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:26",{"_index":14636,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:262",{"_index":14658,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:277",{"_index":14655,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:29",{"_index":10207,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:34",{"_index":14641,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:51",{"_index":10202,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:82",{"_index":10213,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:92",{"_index":10216,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.uc",{"_index":4895,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.uc.ts",{"_index":10250,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:133",{"_index":10271,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:153",{"_index":10269,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:16",{"_index":14791,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:182",{"_index":10263,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:19",{"_index":10259,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:194",{"_index":10261,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:20",{"_index":14793,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:24",{"_index":14797,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:28",{"_index":14796,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:31",{"_index":10273,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:32",{"_index":14794,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:40",{"_index":10267,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:76",{"_index":10265,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:8",{"_index":14790,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.version",{"_index":6760,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration/console/keycloak",{"_index":4889,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration/controller/keycloak",{"_index":14933,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration/interface/json",{"_index":14431,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["configuration/interface/keycloak",{"_index":13753,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["configuration/keycloak",{"_index":14593,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["configuration/mapper/identity",{"_index":17705,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["configuration/service/keycloak",{"_index":14620,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["configuration/uc/keycloak",{"_index":14788,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configurations",{"_index":12103,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configurationstatus",{"_index":6105,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopecontext",{"_index":6110,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopeschool",{"_index":6111,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configure",{"_index":4945,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["configure(consumer",{"_index":20556,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configure(options",{"_index":4947,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configureaction",{"_index":14682,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.action",{"_index":14733,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.create",{"_index":14734,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.delete",{"_index":14738,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.update",{"_index":14736,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureactions",{"_index":14731,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurebrokerflows",{"_index":14622,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureclient",{"_index":14623,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configured",{"_index":16459,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["configureidentityproviders",{"_index":14624,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurerealm",{"_index":14625,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configures",{"_index":4946,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/CoreModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["confirmed",{"_index":17938,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["confirmpassword",{"_index":17936,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["conflict",{"_index":7692,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["conflicts",{"_index":13502,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["conjunction",{"_index":26281,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["conn",{"_index":22859,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.readystate",{"_index":22901,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.send(message",{"_index":22905,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conncontrolledids",{"_index":24788,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.add(clientid",{"_index":24791,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.delete(clientid",{"_index":24793,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["connect",{"_index":14724,"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":15182,"title":{},"body":{"injectables/LdapService.html":{}}}],["connected",{"_index":20147,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["connecting",{"_index":25711,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["connection",{"_index":4921,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connection.connected",{"_index":15189,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error",{"_index":15186,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error.ts",{"_index":15172,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.error.ts:4",{"_index":15174,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.managedconnection.close",{"_index":18579,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["connection.ts",{"_index":22567,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:4",{"_index":22570,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:9",{"_index":22571,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.unbind",{"_index":15190,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection_string",{"_index":22700,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["connectionname",{"_index":7307,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connections",{"_index":18576,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connectionstring",{"_index":22628,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["connectredis",{"_index":20587,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis(session",{"_index":20596,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis.redisstore",{"_index":20594,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connects",{"_index":14939,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["conns",{"_index":22832,"title":{},"body":{"classes/TldrawWsFactory.html":{},"classes/WsSharedDocDo.html":{}}}],["consent",{"_index":164,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consent.params.ts",{"_index":19054,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.params.ts:7",{"_index":19055,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.response",{"_index":18251,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consent_request",{"_index":18250,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consentflowuc",{"_index":17456,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequest",{"_index":17489,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequestbody",{"_index":6273,"title":{"classes/ConsentRequestBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["consentresponse",{"_index":6320,"title":{"classes/ConsentResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consentresponse.client?.client_id",{"_index":17393,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentresponse.requested_scope",{"_index":17392,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentsessionresponse",{"_index":6362,"title":{"classes/ConsentSessionResponse.html":{}},"body":{"classes/ConsentSessionResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consequence",{"_index":25423,"title":{},"body":{"license.html":{}}}],["consequential",{"_index":25565,"title":{},"body":{"license.html":{}}}],["considerations",{"_index":25894,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["considered",{"_index":25393,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":2231,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/GlobalErrorFilter.html":{},"injectables/TldrawBoardRepo.html":{},"license.html":{}}}],["console",{"_index":3813,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["console.info('info",{"_index":6386,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["console.module.ts",{"_index":9140,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["console/board",{"_index":16267,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/builder/batch",{"_index":2876,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["console/builder/deletion",{"_index":9178,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["console/builder/push",{"_index":18539,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["console/builder/trigger",{"_index":23495,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["console/database",{"_index":16269,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/deletion",{"_index":9075,"title":{},"body":{"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["console/interface/deletion",{"_index":9175,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["console/interface/push",{"_index":18543,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{}}}],["console/interface/trigger",{"_index":23493,"title":{},"body":{"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["console/keycloak",{"_index":14609,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["console/services/batch",{"_index":2817,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["console/services/builder/queue",{"_index":18546,"title":{},"body":{"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["console/services/interface/queue",{"_index":18545,"title":{},"body":{"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["console/services/references.service.ts",{"_index":18870,"title":{},"body":{"classes/ReferencesService.html":{}}}],["console/services/references.service.ts:4",{"_index":18873,"title":{},"body":{"classes/ReferencesService.html":{}}}],["console/uc/batch",{"_index":2891,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["console/uc/deletion",{"_index":9191,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["console/uc/interface/batch",{"_index":2866,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{}}}],["consolelogger",{"_index":15304,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["consolemodule",{"_index":9141,"title":{},"body":{"modules/DeletionConsoleModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriter",{"_index":3806,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{}}}],["consolewritermodule",{"_index":3887,"title":{"modules/ConsoleWriterModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriterservice",{"_index":3803,"title":{"injectables/ConsoleWriterService.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["conspicuously",{"_index":25238,"title":{},"body":{"license.html":{}}}],["const",{"_index":135,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDtoBuilder.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constants",{"_index":1550,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{},"injectables/S3ClientAdapter.html":{}}}],["constitutes",{"_index":25192,"title":{},"body":{"license.html":{}}}],["constraint",{"_index":18568,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["constructor",{"_index":433,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"injectables/CopyFilesService.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/LoginUc.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoResponse.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constructor(@inject(defaultencryptionservice",{"_index":17712,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(@inject(mikroorm",{"_index":16548,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["constructor(@inject(request",{"_index":11475,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["constructor(@inject(winston_module_provider",{"_index":10003,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["constructor(_em",{"_index":2445,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(accountrepo",{"_index":903,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["constructor(adapter",{"_index":5128,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["constructor(amqpconnection",{"_index":1297,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["constructor(apivalidationerror",{"_index":1383,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["constructor(app",{"_index":1630,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["constructor(authenticationservice",{"_index":15845,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["constructor(authorisation",{"_index":15573,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["constructor(authorisationservice",{"_index":19286,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["constructor(authorization",{"_index":7726,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["constructor(authorizationhelper",{"_index":3711,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["constructor(authorizationservice",{"_index":2667,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["constructor(authservice",{"_index":16008,"title":{},"body":{"injectables/LoginUc.html":{}}}],["constructor(axioserror",{"_index":2100,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["constructor(batchdeletionservice",{"_index":2894,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["constructor(bbbservice",{"_index":24498,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["constructor(bbbsettings",{"_index":2336,"title":{},"body":{"injectables/BBBService.html":{}}}],["constructor(boarddorepo",{"_index":3445,"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":14492,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["constructor(classesrepo",{"_index":4813,"title":{},"body":{"injectables/ClassService.html":{}}}],["constructor(client",{"_index":19531,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["constructor(clientid",{"_index":6366,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/IdTokenCreationLoggableException.html":{}}}],["constructor(closedat",{"_index":23789,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["constructor(columnboardservice",{"_index":4175,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["constructor(config",{"_index":2143,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["constructor(configservice",{"_index":22636,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/XApiKeyStrategy.html":{}}}],["constructor(configuration",{"_index":6742,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["constructor(consentresponse",{"_index":6328,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["constructor(console",{"_index":14808,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["constructor(consolewriter",{"_index":3802,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ServerConsole.html":{}}}],["constructor(content",{"_index":6487,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["constructor(contextexternaltool",{"_index":16523,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["constructor(contextexternaltoolrepo",{"_index":6714,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{}}}],["constructor(contextexternaltoolservice",{"_index":7128,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolReferenceUc.html":{}}}],["constructor(contextexternaltoolvalidationservice",{"_index":23488,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["constructor(contexttoolrepo",{"_index":19985,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["constructor(copyhelperservice",{"_index":7339,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["constructor(county",{"_index":7487,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["constructor(courseexportservice",{"_index":7741,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["constructor(courserepo",{"_index":7672,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{},"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["constructor(courserule",{"_index":19491,"title":{},"body":{"injectables/RuleManager.html":{}}}],["constructor(courseservice",{"_index":2017,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseUrlHandler.html":{}}}],["constructor(customkey",{"_index":20980,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["constructor(dashboardrepo",{"_index":8809,"title":{},"body":{"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{}}}],["constructor(data",{"_index":864,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["constructor(defaultencryptionservice",{"_index":17708,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(deletefilesuc",{"_index":8957,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["constructor(deletionclient",{"_index":2820,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionExecutionUc.html":{}}}],["constructor(deletionlogrepo",{"_index":9321,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["constructor(deletionrequestrepo",{"_index":9538,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["constructor(descendants",{"_index":3531,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["constructor(descriptionoroptions",{"_index":15029,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["constructor(details",{"_index":15173,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["constructor(domainobject",{"_index":8223,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(dto",{"_index":4295,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["constructor(e",{"_index":1085,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["constructor(editormodel",{"_index":12595,"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":3644,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SystemRepo.html":{}}}],["constructor(entityclass",{"_index":2572,"title":{},"body":{"classes/BaseFactory.html":{}}}],["constructor(entityname",{"_index":9930,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["constructor(error",{"_index":9942,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["constructor(errorcode",{"_index":1464,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["constructor(expectedtype",{"_index":18292,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["constructor(externalschoolid",{"_index":10117,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["constructor(externaltoolid",{"_index":10426,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["constructor(externaltoollogo",{"_index":10408,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["constructor(externaltoolmetadata",{"_index":10505,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["constructor(externaltoolmetadataresponse",{"_index":10521,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["constructor(externaltoolname",{"_index":19046,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["constructor(externaltoolrepo",{"_index":11005,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["constructor(externaltoolservice",{"_index":10257,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["constructor(externaluserid",{"_index":24189,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["constructor(feathersauthprovider",{"_index":11312,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["constructor(feathersserviceprovider",{"_index":10062,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/NexboardService.html":{}}}],["constructor(federalstaterepo",{"_index":11503,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["constructor(field",{"_index":24358,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(fieldname",{"_index":13830,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["constructor(file",{"_index":11516,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["constructor(filecopyservice",{"_index":18601,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["constructor(filerecord",{"_index":7240,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["constructor(filesrepo",{"_index":8983,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["constructor(filesstorageclientadapterservice",{"_index":20300,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["constructor(filesstorageservice",{"_index":12331,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["constructor(group",{"_index":12971,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["constructor(grouprepo",{"_index":13061,"title":{},"body":{"injectables/GroupService.html":{}}}],["constructor(groupuser",{"_index":23780,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["constructor(httpservice",{"_index":4324,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/OauthAdapterService.html":{}}}],["constructor(id",{"_index":2435,"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(idmap",{"_index":21395,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["constructor(idmservice",{"_index":632,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["constructor(info",{"_index":1436,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["constructor(init",{"_index":4227,"title":{},"body":{"classes/Builder.html":{}}}],["constructor(internallinkmatatagservice",{"_index":16387,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["constructor(inusermigration",{"_index":16511,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["constructor(jwtservice",{"_index":1693,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["constructor(jwtvalidationadapter",{"_index":14466,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["constructor(kcadmin",{"_index":14634,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["constructor(kcadminclient",{"_index":14552,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["constructor(kcadminservice",{"_index":14823,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["constructor(key",{"_index":8216,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["constructor(ldapconfig",{"_index":15063,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(legacysystemservice",{"_index":21640,"title":{},"body":{"injectables/SystemUc.html":{}}}],["constructor(lessonrepo",{"_index":15699,"title":{},"body":{"injectables/LessonService.html":{}}}],["constructor(lessonservice",{"_index":15732,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["constructor(librarymetadata",{"_index":11749,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(librarystorage",{"_index":13440,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["constructor(loader",{"_index":1950,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["constructor(logger",{"_index":3282,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ErrorLogger.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["constructor(loginresponse",{"_index":15981,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["constructor(logourl",{"_index":10415,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["constructor(logouturl",{"_index":14351,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["constructor(ltirepo",{"_index":13630,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["constructor(ltitoolrepo",{"_index":16203,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["constructor(ltitoolservice",{"_index":17509,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["constructor(machinename",{"_index":11699,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(message",{"_index":1796,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/ForbiddenOperationError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/ValidationError.html":{}}}],["constructor(metadata",{"_index":6588,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["constructor(name",{"_index":11690,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{}}}],["constructor(newsrepo",{"_index":16796,"title":{},"body":{"injectables/NewsUc.html":{}}}],["constructor(oauthconfig",{"_index":15083,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oauthconfigdto",{"_index":17191,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["constructor(oauthconfigresponse",{"_index":17249,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["constructor(oauthproviderloginflowservice",{"_index":13842,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["constructor(oauthproviderservice",{"_index":17340,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["constructor(oauthservice",{"_index":13564,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/Oauth2Strategy.html":{}}}],["constructor(officialschoolnumber",{"_index":20275,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["constructor(oidcconfig",{"_index":15139,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oidcconfigdto",{"_index":17669,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["constructor(operation",{"_index":16640,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["constructor(operator",{"_index":20480,"title":{},"body":{"classes/Scope.html":{}}}],["constructor(options",{"_index":5854,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(organizationelements",{"_index":6022,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["constructor(parametertype",{"_index":17913,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["constructor(params",{"_index":15332,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["constructor(path",{"_index":11697,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(payload",{"_index":20766,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["constructor(previewgeneratorservice",{"_index":18033,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["constructor(private",{"_index":400,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FederalStateService.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapService.html":{},"injectables/LegacySchoolRule.html":{},"controllers/LessonController.html":{},"injectables/LessonUrlHandler.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"controllers/NewsController.html":{},"injectables/NexboardService.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/ServerConsole.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"controllers/TaskController.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserRule.html":{},"injectables/UserUc.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["constructor(props",{"_index":232,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/PageContentDto.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"entities/User.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["constructor(protected",{"_index":2484,"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/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(provisioningdto",{"_index":18262,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["constructor(provisioningfeatures",{"_index":17863,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["constructor(provisioningstrategy",{"_index":18350,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{}}}],["constructor(pseudonym",{"_index":22992,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["constructor(pseudonymrepo",{"_index":18453,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["constructor(pseudonymservice",{"_index":18497,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["constructor(public",{"_index":22665,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["constructor(readonly",{"_index":1370,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(redirectreponse",{"_index":18802,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["constructor(registrationpinrepo",{"_index":18928,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["constructor(relation",{"_index":13032,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["constructor(repo",{"_index":7823,"title":{},"body":{"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/FilesService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["constructor(req",{"_index":18942,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(request",{"_index":11486,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["constructor(requesttimeout",{"_index":22607,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["constructor(res",{"_index":18962,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(resourceelements",{"_index":6050,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["constructor(resourcename",{"_index":16974,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["constructor(resp",{"_index":9603,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["constructor(response",{"_index":6947,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["constructor(rocketchatuserrepo",{"_index":19191,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["constructor(rolerepo",{"_index":19265,"title":{},"body":{"injectables/RoleService.html":{}}}],["constructor(roleservice",{"_index":19282,"title":{},"body":{"injectables/RoleUc.html":{}}}],["constructor(rulemanager",{"_index":1970,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["constructor(school",{"_index":20191,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["constructor(schoolexternaltoolmetadata",{"_index":19974,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{}}}],["constructor(schoolexternaltoolmetadataresponse",{"_index":19981,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["constructor(schoolexternaltoolrepo",{"_index":20073,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["constructor(schoolexternaltoolservice",{"_index":20109,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["constructor(schoolid",{"_index":20286,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["constructor(schoolname",{"_index":20168,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["constructor(schoolrepo",{"_index":15445,"title":{},"body":{"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["constructor(schoolservice",{"_index":2065,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["constructor(schoolsystemoptionsrepo",{"_index":20394,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["constructor(schooltoolrepo",{"_index":10528,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["constructor(schoolyearrepo",{"_index":20458,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["constructor(service",{"_index":5176,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["constructor(sharetokenservice",{"_index":20841,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["constructor(sourceentityname",{"_index":18859,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["constructor(sourceschoolnumber",{"_index":20278,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["constructor(state",{"_index":18202,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["constructor(storageclient",{"_index":18071,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["constructor(strategy",{"_index":5011,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["constructor(submissionitemsresponse",{"_index":21380,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["constructor(submissionrepo",{"_index":21333,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["constructor(submissionservice",{"_index":21361,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["constructor(successful",{"_index":21389,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["constructor(system",{"_index":18531,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{}}}],["constructor(systemid",{"_index":17245,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{}}}],["constructor(systemrepo",{"_index":15211,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["constructor(systemresponses",{"_index":18527,"title":{},"body":{"classes/PublicSystemListResponse.html":{}}}],["constructor(systemservice",{"_index":18310,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["constructor(task",{"_index":21680,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["constructor(taskrepo",{"_index":21836,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["constructor(taskservice",{"_index":19423,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["constructor(taskurlhandler",{"_index":16443,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["constructor(teamsrepo",{"_index":22378,"title":{},"body":{"injectables/TeamService.html":{}}}],["constructor(timetowait",{"_index":4201,"title":{},"body":{"classes/BruteForceError.html":{}}}],["constructor(tldrawrepo",{"_index":22774,"title":{},"body":{"injectables/TldrawService.html":{}}}],["constructor(tokengenerator",{"_index":20810,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["constructor(toolfeatures",{"_index":10196,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{}}}],["constructor(toollaunchservice",{"_index":23328,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["constructor(toolpermissionhelper",{"_index":7089,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["constructor(toolreference",{"_index":23358,"title":{},"body":{"classes/ToolReference.html":{}}}],["constructor(toolreferenceresponse",{"_index":23397,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["constructor(total",{"_index":17903,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["constructor(type",{"_index":10033,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["constructor(undefined",{"_index":821,"title":{},"body":{"classes/AccountResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BusinessError.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyApiResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["constructor(unknownquerytype",{"_index":23502,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["constructor(user",{"_index":13132,"title":{},"body":{"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"classes/UserDto.html":{}}}],["constructor(userid",{"_index":12506,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["constructor(userloginmigrationid",{"_index":23938,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["constructor(userloginmigrationservice",{"_index":4974,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["constructor(usermatchschoolid",{"_index":20155,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["constructor(usermigrationdto",{"_index":16504,"title":{},"body":{"classes/MigrationDto.html":{}}}],["constructor(usermigrationservice",{"_index":24079,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["constructor(username",{"_index":23498,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["constructor(userrepo",{"_index":18820,"title":{},"body":{"injectables/ReferenceLoader.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["constructor(userservice",{"_index":11371,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["constructor(uuid",{"_index":13871,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["constructor(validationerrors",{"_index":1357,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["construed",{"_index":25510,"title":{},"body":{"license.html":{}}}],["consumer",{"_index":16027,"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":16035,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["consumer.module.ts",{"_index":18049,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["consumer.module.ts:13",{"_index":18052,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["contact",{"_index":25598,"title":{},"body":{"license.html":{}}}],["contain",{"_index":585,"title":{},"body":{"classes/AccountFactory.html":{},"entities/Board.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["contained",{"_index":5766,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["container",{"_index":3160,"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":4055,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["container.url.params.ts",{"_index":21120,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["container.url.params.ts:11",{"_index":21122,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["containing",{"_index":9370,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/OauthClientBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["contains",{"_index":6178,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/FileMetadata.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"injectables/NewsRepo.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["content",{"_index":2393,"title":{},"body":{"injectables/BBBService.html":{},"classes/BoardElementResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"controllers/CourseController.html":{},"entities/CourseNews.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/DeletionClient.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["content.body.params.ts",{"_index":9640,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:106",{"_index":21090,"title":{},"body":{"classes/SubmissionContainerContentBody.html":{}}}],["content.body.params.ts:115",{"_index":21107,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["content.body.params.ts:122",{"_index":10308,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["content.body.params.ts:131",{"_index":10345,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["content.body.params.ts:14",{"_index":9833,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["content.body.params.ts:169",{"_index":23507,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:20",{"_index":11512,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:24",{"_index":11511,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:33",{"_index":11576,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["content.body.params.ts:39",{"_index":15784,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:44",{"_index":15783,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:49",{"_index":15781,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:54",{"_index":15782,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:63",{"_index":15809,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["content.body.params.ts:69",{"_index":9641,"title":{},"body":{"classes/DrawingContentBody.html":{}}}],["content.body.params.ts:78",{"_index":9692,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["content.body.params.ts:84",{"_index":19068,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:88",{"_index":19067,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:97",{"_index":19094,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["content.component",{"_index":5812,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.description",{"_index":5826,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.url",{"_index":5825,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.dto.ts",{"_index":17889,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:2",{"_index":17893,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:4",{"_index":17892,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.entity.ts",{"_index":6566,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["content.entity.ts:11",{"_index":6598,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:122",{"_index":13166,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:130",{"_index":13172,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:134",{"_index":13167,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:14",{"_index":6599,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:141",{"_index":13168,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:148",{"_index":13171,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:151",{"_index":13170,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:17",{"_index":6602,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:20",{"_index":6603,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:23",{"_index":6604,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:26",{"_index":6608,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:29",{"_index":6609,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:32",{"_index":6610,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:35",{"_index":6611,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:38",{"_index":6614,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:41",{"_index":6596,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:44",{"_index":6590,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:47",{"_index":6605,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:50",{"_index":6607,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:53",{"_index":6615,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:56",{"_index":6616,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:59",{"_index":6612,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:62",{"_index":6613,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:65",{"_index":6593,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:68",{"_index":6606,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:71",{"_index":6595,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:74",{"_index":6591,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:77",{"_index":6589,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.factory.ts",{"_index":13175,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["content.identifier",{"_index":6021,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.library",{"_index":12612,"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":13188,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.mapper.ts:6",{"_index":13189,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.numberofdrafttasks",{"_index":9796,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.numberofplannedtasks",{"_index":9798,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.params.metadata",{"_index":12613,"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":12614,"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":13222,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:12",{"_index":13229,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:18",{"_index":13227,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:26",{"_index":13231,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:8",{"_index":13232,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.title",{"_index":5811,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.title}${content.content.text",{"_index":5818,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content/:contentid/:file",{"_index":13315,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["content_developer",{"_index":8147,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentbodyparams",{"_index":1234,"title":{"classes/ContentBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["contentdeveloper",{"_index":8148,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentdisposition",{"_index":1442,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["contentelementfactory",{"_index":3894,"title":{"injectables/ContentElementFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{}}}],["contentelementid",{"_index":6556,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"injectables/ElementUc.html":{}}}],["contentelementresponsefactory",{"_index":4071,"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":4091,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.maptoresponse(element",{"_index":4436,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ElementController.html":{}}}],["contentelementservice",{"_index":2019,"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":4485,"title":{},"body":{"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.drawing",{"_index":6415,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.external_tool",{"_index":6419,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.file",{"_index":6409,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.link",{"_index":6411,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.rich_text",{"_index":6413,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.submission_container",{"_index":6417,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementupdatevisitor",{"_index":6470,"title":{"injectables/ContentElementUpdateVisitor.html":{}},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["contentelementupdatevisitor(content",{"_index":6481,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["contentelementurlparams",{"_index":6553,"title":{"classes/ContentElementUrlParams.html":{}},"body":{"classes/ContentElementUrlParams.html":{},"controllers/ElementController.html":{}}}],["contentfile",{"_index":13339,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contentfileurlparams",{"_index":6558,"title":{"classes/ContentFileUrlParams.html":{}},"body":{"classes/ContentFileUrlParams.html":{},"controllers/H5PEditorController.html":{}}}],["contentid",{"_index":1240,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppendedAttachment.html":{},"classes/ContentBodyParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["contentlength",{"_index":7314,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contentmanager",{"_index":13460,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmanager(this.contentstorage",{"_index":13488,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmetadata",{"_index":6564,"title":{"classes/ContentMetadata.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["contentparameters",{"_index":12591,"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":13201,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentparenttype",{"_index":13200,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentrange",{"_index":7315,"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":13369,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contents",{"_index":6213,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"license.html":{}}}],["contents.config",{"_index":12565,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["contents.controller",{"_index":12564,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.controller.ts",{"_index":12524,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.controller.ts:25",{"_index":12529,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.module.ts",{"_index":12560,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["contents.params",{"_index":12534,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.params.ts",{"_index":12619,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.params.ts:11",{"_index":12625,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.push(element",{"_index":15620,"title":{},"body":{"classes/LessonFactory.html":{}}}],["contents.uc",{"_index":12532,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.uc.ts",{"_index":12575,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:15",{"_index":12579,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:7",{"_index":12578,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents/controller/dto/fwu",{"_index":12618,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents/controller/fwu",{"_index":12523,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents/fwu",{"_index":12559,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents/interface/config.ts",{"_index":19660,"title":{},"body":{"interfaces/S3Config-1.html":{}}}],["contents/uc/fwu",{"_index":12574,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contentstorage",{"_index":13388,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttype",{"_index":6572,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFiles.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contenttypecache",{"_index":13431,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypecache(h5pconfig",{"_index":13483,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypedetector",{"_index":10453,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypedetector[imagesignature",{"_index":10492,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypeinformationrepository",{"_index":13455,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypeinformationrepository(this.contenttypecache",{"_index":13487,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttyperepo",{"_index":13432,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentuserstatesaveinterval",{"_index":13470,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["context",{"_index":183,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BaseUc.html":{},"controllers/BoardController.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/CardUc.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsRule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["context'})@apiokresponse({description",{"_index":23021,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["context(context",{"_index":5442,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["context.action",{"_index":3722,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/SystemRule.html":{}}}],["context.builder",{"_index":26453,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["context.builder.ts",{"_index":1782,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:11",{"_index":1790,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:17",{"_index":1788,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:5",{"_index":1786,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.contextid",{"_index":20895,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["context.controller.ts",{"_index":23091,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:122",{"_index":23106,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:146",{"_index":23114,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:44",{"_index":23097,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:70",{"_index":23101,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:89",{"_index":23110,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.getclass",{"_index":22616,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.gethandler",{"_index":22615,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.interface",{"_index":18248,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/Rule.html":{}}}],["context.interface.ts",{"_index":1777,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/ProviderOidcContext.html":{}}}],["context.mapper",{"_index":10535,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["context.mapper.ts",{"_index":23134,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.mapper.ts:5",{"_index":23136,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.params.ts",{"_index":6763,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:18",{"_index":6769,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:8",{"_index":6767,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.reponse",{"_index":3246,"title":{},"body":{"controllers/BoardController.html":{}}}],["context.reponse.ts",{"_index":3194,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:13",{"_index":3199,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:16",{"_index":3202,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:4",{"_index":3195,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.requiredpermissions",{"_index":3718,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SystemRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["context.response",{"_index":6359,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["context.response.ts",{"_index":6773,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/OidcContextResponse.html":{}}}],["context.response.ts:12",{"_index":17701,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:15",{"_index":17702,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:19",{"_index":17704,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:5",{"_index":6775,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:6",{"_index":17699,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:8",{"_index":6774,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:9",{"_index":17700,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.switchtohttp().getrequest",{"_index":18993,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["contextcanwrite",{"_index":15602,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextconfigurationenabled",{"_index":13798,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["contextdo",{"_index":23350,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool",{"_index":2006,"title":{"classes/ContextExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"controllers/ToolContextController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool'})@httpcode(httpstatus.no_content",{"_index":23100,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltool(contextexternaltooldto",{"_index":7110,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.contextref",{"_index":7141,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.contextref.id",{"_index":2012,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltool.contextref.type",{"_index":2039,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool.displayname",{"_index":6983,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ToolReferenceMapper.html":{}}}],["contextexternaltool.id",{"_index":6981,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltool.schooltoolref",{"_index":7140,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.schooltoolref.schoolid",{"_index":7117,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.schooltoolref.schooltoolid",{"_index":6982,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool.toolversion",{"_index":6984,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltoolauthorizableservice",{"_index":6712,"title":{"injectables/ContextExternalToolAuthorizableService.html":{}},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["contextexternaltoolconfigurationstatus",{"_index":6095,"title":{"classes/ContextExternalToolConfigurationStatus.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["contextexternaltoolconfigurationstatusresponse",{"_index":6726,"title":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse",{"_index":6733,"title":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":23088,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplateresponse",{"_index":6735,"title":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolcontextparams",{"_index":6761,"title":{"classes/ContextExternalToolContextParams.html":{}},"body":{"classes/ContextExternalToolContextParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolcount",{"_index":6898,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcount[type",{"_index":10543,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontext",{"_index":10503,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontextresponse",{"_index":6772,"title":{"classes/ContextExternalToolCountPerContextResponse.html":{}},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["contextexternaltooldto",{"_index":6931,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltooldto.schooltoolref.schoolid",{"_index":7109,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltooldto.schooltoolref.schooltoolid",{"_index":7107,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltoolentity",{"_index":6778,"title":{"entities/ContextExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["contextexternaltoolfactory",{"_index":6801,"title":{"classes/ContextExternalToolFactory.html":{}},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolfactory.define(contextexternaltool",{"_index":6810,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolid",{"_index":3598,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contextexternaltoolid(value",{"_index":10335,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["contextexternaltoolidparams",{"_index":6811,"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":3888,"title":{"modules/ContextExternalToolModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["contextexternaltoolpostparams",{"_index":6832,"title":{"classes/ContextExternalToolPostParams.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolproperties",{"_index":6793,"title":{"interfaces/ContextExternalToolProperties.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["contextexternaltoolprops",{"_index":6689,"title":{"interfaces/ContextExternalToolProps.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["contextexternaltoolquery",{"_index":6859,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{}}}],["contextexternaltoolrepo",{"_index":6080,"title":{"injectables/ContextExternalToolRepo.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolrequestmapper",{"_index":6924,"title":{"classes/ContextExternalToolRequestMapper.html":{}},"body":{"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolrequestmapper.mapcontextexternaltoolrequest(body",{"_index":23116,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse",{"_index":6945,"title":{"classes/ContextExternalToolResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper",{"_index":6966,"title":{"classes/ContextExternalToolResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(contextexternaltool",{"_index":23129,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(createdtool",{"_index":23118,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(tool",{"_index":23125,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(updatedtool",{"_index":23132,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponse(toolreference",{"_index":23384,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponses(toolreferences",{"_index":23387,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiunprocessableentityresponse()@apioperation({summary",{"_index":23113,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23095,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apioperation({summary",{"_index":23104,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolrule",{"_index":1866,"title":{"injectables/ContextExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/RuleManager.html":{}}}],["contextexternaltools",{"_index":7068,"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":11455,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.map",{"_index":23124,"title":{},"body":{"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltoolscope",{"_index":6861,"title":{"classes/ContextExternalToolScope.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["contextexternaltoolsearchlistresponse",{"_index":7035,"title":{"classes/ContextExternalToolSearchListResponse.html":{}},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse(mappedtools",{"_index":23126,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse})@apioperation({summary",{"_index":23109,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolservice",{"_index":6824,"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":10206,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["contextexternaltoolsinuse.some",{"_index":10228,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["contextexternaltooltemplateinfo",{"_index":10204,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltooltype",{"_index":6783,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.board_element",{"_index":6922,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.course",{"_index":6921,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooluc",{"_index":7081,"title":{"injectables/ContextExternalToolUc.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolvalidationservice",{"_index":6825,"title":{"injectables/ContextExternalToolValidationService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["contextid",{"_index":6764,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextmapping",{"_index":23135,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["contextparameter",{"_index":8342,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["contextreadwithtopiccreate",{"_index":15596,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextref",{"_index":6685,"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":11457,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextrefparams",{"_index":7153,"title":{"classes/ContextRefParams.html":{}},"body":{"classes/ContextRefParams.html":{},"controllers/ToolConfigurationController.html":{}}}],["contexttoolid",{"_index":6991,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["contexttoolrepo",{"_index":10529,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contexttype",{"_index":5495,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["continuationtoken",{"_index":19621,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["continue",{"_index":25356,"title":{},"body":{"license.html":{}}}],["continued",{"_index":25340,"title":{},"body":{"license.html":{}}}],["contractual",{"_index":25390,"title":{},"body":{"license.html":{}}}],["contradict",{"_index":25517,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contrast",{"_index":25061,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contributor",{"_index":25460,"title":{},"body":{"license.html":{}}}],["contributor's",{"_index":25462,"title":{},"body":{"license.html":{}}}],["control",{"_index":23200,"title":{},"body":{"controllers/ToolController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlled",{"_index":25465,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlledids",{"_index":22889,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["controller",{"_index":314,"title":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/AccountController.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"modules/LegacySchoolApiModule.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/SchoolController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controller('account",{"_index":399,"title":{},"body":{"controllers/AccountController.html":{}}}],["controller('authentication",{"_index":15954,"title":{},"body":{"controllers/LoginController.html":{}}}],["controller('board",{"_index":4073,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["controller('boards",{"_index":3250,"title":{},"body":{"controllers/BoardController.html":{}}}],["controller('cards",{"_index":4409,"title":{},"body":{"controllers/CardController.html":{}}}],["controller('collaborative",{"_index":5110,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["controller('columns",{"_index":5658,"title":{},"body":{"controllers/ColumnController.html":{}}}],["controller('courses",{"_index":7652,"title":{},"body":{"controllers/CourseController.html":{}}}],["controller('dashboard",{"_index":8420,"title":{},"body":{"controllers/DashboardController.html":{}}}],["controller('deletionexecutions",{"_index":9210,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["controller('deletionrequests",{"_index":9584,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["controller('elements",{"_index":9857,"title":{},"body":{"controllers/ElementController.html":{}}}],["controller('fwu",{"_index":12536,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["controller('groups",{"_index":12831,"title":{},"body":{"controllers/GroupController.html":{}}}],["controller('h5p",{"_index":13304,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["controller('lessons",{"_index":15563,"title":{},"body":{"controllers/LessonController.html":{}}}],["controller('management/database",{"_index":8892,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["controller('management/idm",{"_index":14947,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["controller('meta",{"_index":16348,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["controller('news",{"_index":16620,"title":{},"body":{"controllers/NewsController.html":{}}}],["controller('oauth2",{"_index":17454,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["controller('pseudonyms",{"_index":18403,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["controller('rooms",{"_index":19404,"title":{},"body":{"controllers/RoomsController.html":{}}}],["controller('schools",{"_index":19883,"title":{},"body":{"controllers/SchoolController.html":{}}}],["controller('sharetoken",{"_index":20703,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["controller('sso",{"_index":17650,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["controller('submissions",{"_index":21137,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["controller('systems",{"_index":21466,"title":{},"body":{"controllers/SystemController.html":{}}}],["controller('tasks",{"_index":21813,"title":{},"body":{"controllers/TaskController.html":{}}}],["controller('team",{"_index":22330,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["controller('tldraw",{"_index":22730,"title":{},"body":{"controllers/TldrawController.html":{}}}],["controller('tools",{"_index":23045,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolLaunchController.html":{}}}],["controller('tools/context",{"_index":23115,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["controller('tools/external",{"_index":23172,"title":{},"body":{"controllers/ToolController.html":{}}}],["controller('tools/school",{"_index":23461,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["controller('tools/tool",{"_index":23381,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["controller('user",{"_index":23604,"title":{},"body":{"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["controller('user/import",{"_index":14052,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["controller('videoconference",{"_index":24565,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["controller('videoconference2",{"_index":24455,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["controller.ts",{"_index":25918,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["controller/account.controller",{"_index":282,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["controller/api",{"_index":26209,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["controller/course.controller",{"_index":15266,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/dashboard.controller",{"_index":15267,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/database",{"_index":16270,"title":{},"body":{"modules/ManagementModule.html":{}}}],["controller/deletion",{"_index":9066,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["controller/dto",{"_index":837,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CourseMapper.html":{},"classes/DashboardMapper.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFileResponse.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/NewsMapper.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/TaskMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["controller/dto/filter",{"_index":24126,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["controller/dto/h5p",{"_index":22491,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["controller/dto/password",{"_index":857,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["controller/dto/response/video",{"_index":24662,"title":{},"body":{"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["controller/dto/school",{"_index":20430,"title":{},"body":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["controller/dto/single",{"_index":19300,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["controller/dto/target",{"_index":21653,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["controller/dto/task",{"_index":22170,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["controller/dto/team",{"_index":5189,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["controller/fwu",{"_index":12563,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["controller/h5p",{"_index":13395,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["controller/import",{"_index":14190,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["controller/keycloak",{"_index":14616,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["controller/news.controller",{"_index":16717,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/oauth",{"_index":17150,"title":{},"body":{"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{}}}],["controller/pseudonym.controller",{"_index":18388,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["controller/rooms.controller",{"_index":15268,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/server.controller",{"_index":20588,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["controller/share",{"_index":20913,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["controller/team",{"_index":16718,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/tldraw.controller",{"_index":22760,"title":{},"body":{"modules/TldrawModule.html":{}}}],["controller/transformer/sanitize",{"_index":19062,"title":{},"body":{"classes/RichText.html":{}}}],["controller/user",{"_index":23798,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["controllers",{"_index":274,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.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/SchoolController.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"modules/TeamsApiModule.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controllers/dto",{"_index":15225,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["controllers/login.controller",{"_index":1489,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["convenient",{"_index":25151,"title":{},"body":{"license.html":{}}}],["convention",{"_index":26048,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["conventions",{"_index":25902,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["conversion",{"_index":643,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convert",{"_index":611,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/CollectionFilePath.html":{}}}],["converted",{"_index":642,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convertedteamuserids",{"_index":16937,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter((userid",{"_index":16951,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter(boolean",{"_index":16944,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.includes(userid",{"_index":16947,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["converter/bson.converter",{"_index":5211,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["converterutil",{"_index":2338,"title":{"injectables/ConverterUtil.html":{}},"body":{"injectables/BBBService.html":{},"injectables/ConverterUtil.html":{},"modules/VideoConferenceModule.html":{}}}],["converts",{"_index":639,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["converttodatabasevalue",{"_index":20978,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttodatabasevalue(value",{"_index":20983,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue",{"_index":20979,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue(value",{"_index":20985,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["convey",{"_index":25140,"title":{},"body":{"license.html":{}}}],["conveyance",{"_index":25495,"title":{},"body":{"license.html":{}}}],["conveyed",{"_index":25351,"title":{},"body":{"license.html":{}}}],["conveying",{"_index":25146,"title":{},"body":{"license.html":{}}}],["conveys",{"_index":25389,"title":{},"body":{"license.html":{}}}],["cookie",{"_index":13672,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["cookie.parse(request.headers.cookie",{"_index":14462,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookie.startswith('oauth2",{"_index":13688,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["cookies",{"_index":13599,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{}}}],["cookies[name",{"_index":14463,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookiesdto",{"_index":7166,"title":{"classes/CookiesDto.html":{}},"body":{"classes/CookiesDto.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["cooperation",{"_index":25054,"title":{},"body":{"license.html":{}}}],["copied",{"_index":1562,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/LessonCopyApiParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TaskCopyApiParams.html":{}}}],["copies",{"_index":18683,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"license.html":{}}}],["copies.push(childcopy",{"_index":18686,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy",{"_index":2608,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"interfaces/FileDO.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenUC.html":{},"classes/SwapInternalLinksVisitor.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":18604,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy(params",{"_index":3625,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy(paths",{"_index":19535,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copy(userid",{"_index":11882,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["copy.id",{"_index":18652,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl",{"_index":18666,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.includes(copyfiledto.sourceid",{"_index":18665,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.replace(copyfiledto.sourceid",{"_index":18667,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.interface",{"_index":3632,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.interface.ts",{"_index":20293,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.interface.ts:18",{"_index":20296,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.params",{"_index":7438,"title":{},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{}}}],["copy.params.ts",{"_index":15568,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:14",{"_index":15569,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:22",{"_index":21832,"title":{},"body":{"classes/TaskCopyApiParams.html":{}}}],["copy.service",{"_index":3906,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CourseCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["copy.service.ts",{"_index":3272,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:115",{"_index":3299,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:123",{"_index":3302,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:131",{"_index":3297,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:14",{"_index":3627,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.service.ts:146",{"_index":3306,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:15",{"_index":20307,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.service.ts:16",{"_index":7674,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:167",{"_index":3314,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:17",{"_index":5451,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copy.service.ts:18",{"_index":21837,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:180",{"_index":3312,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:203",{"_index":3309,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:25",{"_index":21840,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:26",{"_index":5453,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["copy.service.ts:37",{"_index":3288,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:42",{"_index":21843,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:47",{"_index":3291,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:57",{"_index":7678,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:59",{"_index":5456,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copy.service.ts:63",{"_index":21848,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:70",{"_index":21846,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:73",{"_index":7684,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:79",{"_index":7681,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:81",{"_index":3294,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:9",{"_index":20306,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.uc",{"_index":19400,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/TaskController.html":{}}}],["copy.uc.ts",{"_index":7724,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:104",{"_index":21891,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:11",{"_index":7727,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:114",{"_index":21881,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:12",{"_index":15574,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:13",{"_index":21875,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:17",{"_index":7730,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:21",{"_index":15581,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:23",{"_index":21883,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:28",{"_index":7728,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:55",{"_index":15579,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:63",{"_index":15576,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:68",{"_index":15577,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:71",{"_index":21877,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:76",{"_index":21880,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:83",{"_index":21886,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:94",{"_index":21889,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.visitor",{"_index":3630,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.visitor.ts",{"_index":18595,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:127",{"_index":18619,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:145",{"_index":18625,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:192",{"_index":18627,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:211",{"_index":18629,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:22",{"_index":18603,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:229",{"_index":18631,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:238",{"_index":18621,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:24",{"_index":18602,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:256",{"_index":18613,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:260",{"_index":18609,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:273",{"_index":18607,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:28",{"_index":18605,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:39",{"_index":18617,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:60",{"_index":18615,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:78",{"_index":18611,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:97",{"_index":18623,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy_files_of_parent",{"_index":7202,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["copyapiresponse",{"_index":7176,"title":{"classes/CopyApiResponse.html":{}},"body":{"classes/CopyApiResponse.html":{},"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copyapiresponse})@apiresponse({status",{"_index":20687,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["copyboard",{"_index":3273,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboard(params",{"_index":3289,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements",{"_index":3274,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements(boardelements",{"_index":3292,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard",{"_index":3275,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["copycolumnboard(columnboardtarget",{"_index":3296,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard(props",{"_index":5452,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copycourse",{"_index":7668,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourse(currentuser",{"_index":19384,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copycourse(undefined",{"_index":7675,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourse(userid",{"_index":7729,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourseentity",{"_index":7669,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourseentity(params",{"_index":7676,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copydict",{"_index":3390,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydict.foreach((value",{"_index":3400,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydictionary",{"_index":7393,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copyelementtype",{"_index":3316,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.board",{"_index":3335,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.card",{"_index":18644,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.column",{"_index":18642,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.columnboard",{"_index":3411,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.content",{"_index":21864,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.course",{"_index":7721,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.coursegroup_group",{"_index":7718,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.drawing_element",{"_index":18660,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.external_tool_element",{"_index":18675,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file",{"_index":7371,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_element",{"_index":18658,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_group",{"_index":7376,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyelementtype.lesson",{"_index":3396,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.link_element",{"_index":18663,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.ltitool_group",{"_index":7713,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.metadata",{"_index":7711,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.richtext_element",{"_index":18671,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_container_element",{"_index":18673,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_group",{"_index":21865,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.submission_item",{"_index":18674,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.task",{"_index":21867,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.time_group",{"_index":7714,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.user_group",{"_index":7712,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyentity",{"_index":3337,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyentity.course?.id",{"_index":7449,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyentity.id",{"_index":7447,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyfiledo",{"_index":7195,"title":{"interfaces/CopyFileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfiledomainobjectprops",{"_index":7217,"title":{"interfaces/CopyFileDomainObjectProps.html":{}},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfiledto",{"_index":7221,"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":18655,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.name",{"_index":18656,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.sourceid",{"_index":18657,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfilelistresponse",{"_index":7231,"title":{"classes/CopyFileListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfilelistresponse.map((response",{"_index":12306,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["copyfileparams",{"_index":7262,"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":7234,"title":{"classes/CopyFileResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["copyfileresponsebuilder",{"_index":7296,"title":{"classes/CopyFileResponseBuilder.html":{}},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["copyfiles",{"_index":7301,"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":7336,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofentity(originalentity",{"_index":7342,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparent",{"_index":12257,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(param",{"_index":12264,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesofparent(params",{"_index":20294,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(payload",{"_index":12335,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:finished",{"_index":12454,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:started",{"_index":12452,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparentparambuilder",{"_index":7320,"title":{"classes/CopyFilesOfParentParamBuilder.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparambuilder.build(userid",{"_index":7357,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparams",{"_index":7212,"title":{"classes/CopyFilesOfParentParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesofparentpayload",{"_index":7282,"title":{"classes/CopyFilesOfParentPayload.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesrequestinfo",{"_index":7326,"title":{"interfaces/CopyFilesRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesservice",{"_index":7333,"title":{"injectables/CopyFilesService.html":{}},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["copyhelpermodule",{"_index":7378,"title":{"modules/CopyHelperModule.html":{}},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["copyhelperservice",{"_index":3287,"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":7857,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"license.html":{}}}],["copyingsince",{"_index":7507,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["copyleft",{"_index":25050,"title":{},"body":{"license.html":{}}}],["copylesson",{"_index":3276,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copylesson(currentuser",{"_index":19387,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copylesson(originallesson",{"_index":3298,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copylesson(userid",{"_index":15580,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copymap",{"_index":18596,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copymapper",{"_index":7423,"title":{"classes/CopyMapper.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maplessoncopytodomain(params",{"_index":19419,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copymapper.maptaskcopytodomain(params",{"_index":21829,"title":{},"body":{"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(copystatus",{"_index":19416,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(element",{"_index":7452,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyname",{"_index":7686,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copyobjectcommand",{"_index":19556,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyobjectcommandoutput",{"_index":19557,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths",{"_index":19593,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths.map((p",{"_index":19603,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyprops",{"_index":1774,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["copyrequest",{"_index":19597,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyrequests",{"_index":19607,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyright",{"_index":25040,"title":{},"body":{"license.html":{}}}],["copyrightable",{"_index":25114,"title":{},"body":{"license.html":{}}}],["copyrighted",{"_index":25202,"title":{},"body":{"license.html":{}}}],["copyrightowners",{"_index":5781,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["copysource",{"_index":19609,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copystatus",{"_index":3305,"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":3403,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyMapper.html":{}}}],["copystatus.copyentity.context",{"_index":5478,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copystatus.copyentity.course.id",{"_index":3406,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copystatus.elements",{"_index":3407,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyMapper.html":{}}}],["copystatus.originalentity",{"_index":3404,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copystatus.status",{"_index":7445,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.title",{"_index":7443,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.type",{"_index":7444,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatusenum",{"_index":3317,"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":3346,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copystatusenum.not_doing",{"_index":7406,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.not_implemented",{"_index":7719,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copystatusenum.partial",{"_index":7401,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copystatusenum.success",{"_index":7372,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copytask",{"_index":3277,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copytask(currentuser",{"_index":21786,"title":{},"body":{"controllers/TaskController.html":{}}}],["copytask(originaltask",{"_index":3301,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copytask(params",{"_index":21838,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytask(userid",{"_index":20853,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copytaskentity",{"_index":21834,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytaskentity(params",{"_index":21841,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["core",{"_index":7465,"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":26252,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["core/error",{"_index":26011,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["core/logger/logger.module",{"_index":280,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["coreapi",{"_index":11726,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coremodule",{"_index":7457,"title":{"modules/CoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["coremoduleconfig",{"_index":7478,"title":{"interfaces/CoreModuleConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["correct",{"_index":5098,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correction",{"_index":25560,"title":{},"body":{"license.html":{}}}],["correctly",{"_index":1225,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correctness",{"_index":25804,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["corresponding",{"_index":15985,"title":{},"body":{"classes/LoginResponse-1.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["cors",{"_index":24880,"title":{},"body":{"dependencies.html":{}}}],["cost",{"_index":25289,"title":{},"body":{"license.html":{}}}],["count",{"_index":2938,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/FileRecordRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"controllers/TeamNewsController.html":{},"injectables/UserRepo.html":{}}}],["countbyschooltoolidsandcontexttype",{"_index":6852,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["countbyschooltoolidsandcontexttype(contexttype",{"_index":6862,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["counted",{"_index":98,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/FileRecordRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/UserRepo.html":{}}}],["countedimportusers",{"_index":14229,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["countednewslist",{"_index":16739,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["countedtasklist",{"_index":22043,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["counterclaim",{"_index":25452,"title":{},"body":{"license.html":{}}}],["counties",{"_index":7494,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countpercontext",{"_index":10541,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["countpipeline",{"_index":24234,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countpipeline.push",{"_index":24235,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countries",{"_index":25137,"title":{},"body":{"license.html":{}}}],["country",{"_index":25488,"title":{},"body":{"license.html":{}}}],["counts",{"_index":7855,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["county",{"_index":7482,"title":{"classes/County.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.antareskey",{"_index":7499,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.countyid",{"_index":7497,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.name",{"_index":7495,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countyid",{"_index":7486,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["coupling",{"_index":25897,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["course",{"_index":2033,"title":{"entities/Course.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/TldrawTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["course.createdat.getfullyear().tostring",{"_index":5784,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.description",{"_index":26422,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.entity",{"_index":2956,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["course.extractids(this.students",{"_index":7590,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.substitutionteachers",{"_index":7594,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.teachers",{"_index":7591,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractuserlist(users",{"_index":7602,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.factory",{"_index":7796,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["course.getmetadata",{"_index":7839,"title":{},"body":{"classes/CourseMapper.html":{}}}],["course.getstudentslist().map((user",{"_index":3475,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getsubstitutionteacherslist().map((user",{"_index":3473,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getteacherslist().map((user",{"_index":3468,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.id",{"_index":11415,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.name",{"_index":2048,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.removeuser(userid",{"_index":7989,"title":{},"body":{"injectables/CourseService.html":{}}}],["course.rule",{"_index":7815,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["course.school",{"_index":26420,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.school.id",{"_index":5472,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["course.service",{"_index":5779,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.students.contains(user",{"_index":19369,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.students.length",{"_index":11416,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.students.loaditems",{"_index":11422,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.substitutionteachers.contains(user",{"_index":19367,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.substitutionteachers.loaditems",{"_index":11424,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.teachers",{"_index":5827,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.teachers.contains(user",{"_index":19368,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.teachers.loaditems",{"_index":11423,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursecolumnboardtargets",{"_index":19433,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursecontroller",{"_index":7629,"title":{"controllers/CourseController.html":{}},"body":{"controllers/CourseController.html":{},"modules/LearnroomApiModule.html":{}}}],["coursecopy",{"_index":7680,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.copyingsince",{"_index":7709,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.name",{"_index":7720,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyparams",{"_index":7677,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyservice",{"_index":7666,"title":{"injectables/CourseCopyService.html":{}},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenUC.html":{}}}],["coursecopyuc",{"_index":7722,"title":{"injectables/CourseCopyUC.html":{}},"body":{"injectables/CourseCopyUC.html":{},"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["courseexportservice",{"_index":7743,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["courseexportuc",{"_index":7645,"title":{"injectables/CourseExportUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomApiModule.html":{}}}],["coursefactory",{"_index":7750,"title":{"classes/CourseFactory.html":{}},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.build",{"_index":7798,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.define(course",{"_index":7771,"title":{},"body":{"classes/CourseFactory.html":{}}}],["coursefeatures",{"_index":7526,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup",{"_index":6207,"title":{"entities/CourseGroup.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/UsersList.html":{}}}],["coursegroup.course",{"_index":15644,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["coursegroup.entity",{"_index":6208,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup.removestudent(userid",{"_index":7831,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupfactory",{"_index":7793,"title":{"classes/CourseGroupFactory.html":{}},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupfactory.define(coursegroup",{"_index":7797,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupid",{"_index":6234,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegroupmemberids",{"_index":21059,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegrouppermission",{"_index":15656,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouppermission(user",{"_index":15662,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegroupproperties",{"_index":7783,"title":{"interfaces/CourseGroupProperties.html":{}},"body":{"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{}}}],["coursegrouprepo",{"_index":1910,"title":{"injectables/CourseGroupRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["coursegrouprule",{"_index":1867,"title":{"injectables/CourseGroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{}}}],["coursegroups",{"_index":7508,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["coursegroups.foreach((coursegroup",{"_index":7830,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupservice",{"_index":7819,"title":{"injectables/CourseGroupService.html":{}},"body":{"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{}}}],["coursegroupsexist",{"_index":7715,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursegroupsofuser",{"_index":21296,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["courseid",{"_index":2027,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"classes/CourseUrlParams.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courseids",{"_index":7803,"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":19430,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursemapper",{"_index":7643,"title":{"classes/CourseMapper.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMapper.html":{}}}],["coursemapper.maptometadataresponse(course",{"_index":7656,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadata",{"_index":7838,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.copyingsince",{"_index":7846,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.displaycolor",{"_index":7843,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.id",{"_index":7840,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.shorttitle",{"_index":7842,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.startdate",{"_index":7844,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.title",{"_index":7841,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.untildate",{"_index":7845,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadatalistresponse",{"_index":7650,"title":{"classes/CourseMetadataListResponse.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursemetadatalistresponse(courseresponses",{"_index":7657,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadataresponse",{"_index":7837,"title":{"classes/CourseMetadataResponse.html":{}},"body":{"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursename",{"_index":2055,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["coursenews",{"_index":7869,"title":{"entities/CourseNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["coursenews(props",{"_index":7901,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["coursepermission",{"_index":15657,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursepermission(user",{"_index":15664,"title":{},"body":{"injectables/LessonRule.html":{}}}],["courseproperties",{"_index":7554,"title":{"interfaces/CourseProperties.html":{}},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursequeryparams",{"_index":7634,"title":{"classes/CourseQueryParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseQueryParams.html":{}}}],["coursereference",{"_index":5517,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/RoomsService.html":{}}}],["courserepo",{"_index":1911,"title":{"injectables/CourseRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["courseresponses",{"_index":7654,"title":{},"body":{"controllers/CourseController.html":{}}}],["courserule",{"_index":1868,"title":{"injectables/CourseRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courses",{"_index":5466,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"interfaces/CreateNews.html":{},"injectables/DashboardUc.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/ShareTokenDO.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["courses.filter((c",{"_index":22209,"title":{},"body":{"injectables/TaskUC.html":{}}}],["courses.foreach((course",{"_index":7988,"title":{},"body":{"injectables/CourseService.html":{}}}],["courses.map((course",{"_index":7655,"title":{},"body":{"controllers/CourseController.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["courses.map(async",{"_index":11448,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursescope",{"_index":7935,"title":{"classes/CourseScope.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["courseservice",{"_index":2018,"title":{"injectables/CourseService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursestatus",{"_index":7702,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursetasks",{"_index":19432,"title":{},"body":{"injectables/RoomsService.html":{}}}],["courseuc",{"_index":7648,"title":{"injectables/CourseUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"modules/LearnroomApiModule.html":{}}}],["courseurlhandler",{"_index":7997,"title":{"injectables/CourseUrlHandler.html":{}},"body":{"injectables/CourseUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["courseurlparams",{"_index":7633,"title":{"classes/CourseUrlParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseUrlParams.html":{}}}],["coursevalue",{"_index":2041,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["court",{"_index":25516,"title":{},"body":{"license.html":{}}}],["courts",{"_index":25580,"title":{},"body":{"license.html":{}}}],["covenant",{"_index":25478,"title":{},"body":{"license.html":{}}}],["cover",{"_index":26043,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["coverage",{"_index":982,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["covered",{"_index":25124,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["cp",{"_index":26306,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cr",{"_index":14721,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["create",{"_index":734,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"modules/CacheWrapperModule.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"interfaces/FeathersService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OidcProvisioningService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/StorageProviderRepo.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["create(@currentuser",{"_index":16621,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["create(config",{"_index":2341,"title":{},"body":{"injectables/BBBService.html":{}}}],["create(context",{"_index":5511,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["create(currentuser",{"_index":16597,"title":{},"body":{"controllers/NewsController.html":{}}}],["create(currentuserid",{"_index":24501,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create(data",{"_index":11463,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["create(deletionlog",{"_index":9298,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["create(deletionrequest",{"_index":9487,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["create(entity",{"_index":759,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserRepo.html":{}}}],["create(parent",{"_index":4483,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["create(path",{"_index":19537,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["create(userid",{"_index":16798,"title":{},"body":{"injectables/NewsUc.html":{},"injectables/SubmissionItemService.html":{}}}],["create.config.ts",{"_index":2157,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:23",{"_index":2176,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:25",{"_index":2170,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:27",{"_index":2174,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:29",{"_index":2172,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:31",{"_index":2177,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:33",{"_index":2171,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:35",{"_index":2175,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:37",{"_index":2169,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:39",{"_index":2173,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:9",{"_index":2168,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.params.ts",{"_index":10311,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:14",{"_index":24478,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:16",{"_index":21916,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:17",{"_index":10319,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:19",{"_index":24486,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:21",{"_index":16053,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:22",{"_index":10325,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:25",{"_index":17100,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{}}}],["create.params.ts:26",{"_index":16052,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:27",{"_index":10318,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:30",{"_index":16049,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:33",{"_index":21920,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:34",{"_index":16051,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:35",{"_index":17099,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:38",{"_index":16047,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:39",{"_index":17098,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:41",{"_index":21918,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:43",{"_index":17102,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:48",{"_index":10316,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:49",{"_index":21914,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:55",{"_index":10321,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:57",{"_index":21919,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:59",{"_index":10317,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:63",{"_index":10320,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:69",{"_index":10324,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:9",{"_index":24477,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.response.ts",{"_index":2243,"title":{},"body":{"interfaces/BBBCreateResponse.html":{}}}],["create.uc.ts",{"_index":24493,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:20",{"_index":24500,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:27",{"_index":24504,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:41",{"_index":24502,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:68",{"_index":24506,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:89",{"_index":24510,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:93",{"_index":24508,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create_tokens_for_users=true",{"_index":26329,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["createaccount",{"_index":13905,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createaccount(account",{"_index":13914,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createandjoin",{"_index":24551,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandjoin(currentuser",{"_index":24552,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandstartprometheusmetricsappifenabled",{"_index":18228,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createapiresponsetimemetricmiddleware",{"_index":18206,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["createauthenticationcodegranttokenrequestpayload",{"_index":22979,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createauthenticationcodegranttokenrequestpayload(clientid",{"_index":22981,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createboard",{"_index":3801,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboard(courseid",{"_index":3807,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboardelementfor(boardelementtarget",{"_index":3017,"title":{},"body":{"entities/Board.html":{}}}],["createboardforcourse",{"_index":3984,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createboardforcourse(courseid",{"_index":3988,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createbucket",{"_index":19525,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createbucketcommand",{"_index":19558,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createcard",{"_index":5634,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["createcard(urlparams",{"_index":5637,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcard(userid",{"_index":5707,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["createcardbodyparams",{"_index":5639,"title":{"classes/CreateCardBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/CreateCardBodyParams.html":{}}}],["createcardbodyparams})@post(':columnid/cards",{"_index":5643,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcards",{"_index":3827,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcards(amount",{"_index":3835,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createclient",{"_index":8979,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["createclient(storageprovider",{"_index":8987,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["createcollection",{"_index":8909,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcollection(collectionname",{"_index":8919,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcolumn",{"_index":3205,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["createcolumn(urlparams",{"_index":3210,"title":{},"body":{"controllers/BoardController.html":{}}}],["createcolumn(userid",{"_index":4140,"title":{},"body":{"injectables/BoardUc.html":{}}}],["createcolumns",{"_index":3828,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcolumns(amount",{"_index":3837,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createconfigmoduleoptions",{"_index":1025,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["createcontentelementbodyparams",{"_index":4046,"title":{"classes/CreateContentElementBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CreateContentElementBodyParams.html":{}}}],["createcontextexternaltool",{"_index":7084,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(currentuser",{"_index":23093,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(userid",{"_index":7092,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["createcourse",{"_index":7918,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["createcourse(course",{"_index":7922,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["createcourse(userid",{"_index":26424,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["created",{"_index":2588,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/DeletionClient.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"injectables/LegacyLogger.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["created.'})@apiresponse({status",{"_index":24445,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["createdaccountid",{"_index":14981,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdaccountid.id",{"_index":14983,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdat",{"_index":430,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["createdat.$date",{"_index":5339,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createdate",{"_index":2244,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createddate",{"_index":600,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createdefaultiuser",{"_index":13437,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["createdeletionlog",{"_index":9319,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionlog(deletionrequestid",{"_index":9323,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionrequest",{"_index":9536,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequest(targetrefid",{"_index":9540,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequests",{"_index":9567,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdeletionrequests(deletionrequestbody",{"_index":9573,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdir",{"_index":12116,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdir(folderpath",{"_index":12125,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdmodel",{"_index":8742,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["createdprovisioningoptions",{"_index":20333,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["createdprovisioningoptions.isapplicable(provisioningoptions",{"_index":20334,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["createdprovisioningoptions.set(provisioningoptions",{"_index":20335,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["createdschoolexternaltool",{"_index":20099,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["createdschoolexternaltooldo",{"_index":23476,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createdto",{"_index":9812,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createdto(undefined",{"_index":19288,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["createdtool",{"_index":7114,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createelement",{"_index":4041,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelement(urlparams",{"_index":4044,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{}}}],["createelement(userid",{"_index":4540,"title":{},"body":{"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelements",{"_index":3829,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createelements(amount",{"_index":3839,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createemptyelements",{"_index":4479,"title":{},"body":{"injectables/CardService.html":{}}}],["createemptyelements(card",{"_index":4487,"title":{},"body":{"injectables/CardService.html":{}}}],["createerrorloggable",{"_index":12662,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorloggable(error",{"_index":12673,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse",{"_index":12663,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse(error",{"_index":12675,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror",{"_index":12664,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror(error",{"_index":12677,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror",{"_index":12665,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror(error",{"_index":12679,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception",{"_index":12666,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception(exception",{"_index":12681,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforunknownerror",{"_index":12667,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createetherpad",{"_index":10061,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createetherpad(userid",{"_index":10065,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createexternaltool",{"_index":10997,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["createexternaltool(currentuser",{"_index":23141,"title":{},"body":{"controllers/ToolController.html":{}}}],["createexternaltool(externaltool",{"_index":11011,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["createexternaltool(userid",{"_index":11113,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["createfile",{"_index":22582,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileresponse",{"_index":22583,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileurlreplacements",{"_index":7337,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createfileurlreplacements(filedtos",{"_index":7344,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createflowrequest",{"_index":14702,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["creategridelement",{"_index":8687,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategridelement(elementwithposition",{"_index":8698,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategroup(name",{"_index":1146,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createh5pcontent",{"_index":13238,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(@body",{"_index":13357,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(body",{"_index":13250,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createhttpexceptionoptions",{"_index":10042,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createhttpexceptionoptions(error",{"_index":10046,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createidentifier",{"_index":5777,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["createidentifier(content._id",{"_index":5808,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(courseid",{"_index":5780,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lesson.id",{"_index":5793,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lessonid)}/${createidentifier(content._id)}.html",{"_index":5810,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(task.id",{"_index":5836,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentityprovider",{"_index":14626,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidentityprovider(oidcconfig",{"_index":14645,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper",{"_index":14627,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper(idpalias",{"_index":14649,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidtoken",{"_index":13840,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createidtoken(userid",{"_index":13847,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createifnotrunning",{"_index":24494,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createifnotrunning(currentuserid",{"_index":24503,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createiframesubject",{"_index":13841,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createiframesubject(user",{"_index":13849,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createinstance(targetmodel",{"_index":7899,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["createjwt",{"_index":14485,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["createjwt(params",{"_index":8040,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtparams",{"_index":8021,"title":{"interfaces/CreateJwtParams.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtpayload",{"_index":1699,"title":{"interfaces/CreateJwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/JwtPayload.html":{},"injectables/LoginUc.html":{}}}],["createlaunchdata",{"_index":2750,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchdata(userid",{"_index":2784,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest",{"_index":2751,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdata",{"_index":2786,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdatado",{"_index":23324,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["createlesson",{"_index":15632,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(lesson",{"_index":15634,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(userid",{"_index":26428,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createlibrary",{"_index":15750,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlibrary(library",{"_index":15755,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlogmessageforvalidationerrors",{"_index":9939,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createlogmessageforvalidationerrors(error",{"_index":9946,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createmessage",{"_index":15281,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessage(message",{"_index":15285,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessagewithcontext",{"_index":15917,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmessagewithcontext(loggable",{"_index":15920,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmikroormmodule",{"_index":16543,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["createmock",{"_index":22550,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["createnewaccount",{"_index":17790,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["createnewmigration",{"_index":24022,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewmigration(school",{"_index":24032,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnews",{"_index":8062,"title":{"interfaces/CreateNews.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["createnewsparams",{"_index":8073,"title":{"classes/CreateNewsParams.html":{}},"body":{"classes/CreateNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["createnexboard",{"_index":16865,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createnexboard(userid",{"_index":16867,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createoauth2client",{"_index":17335,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["createoauth2client(currentuser",{"_index":17342,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["createoauth2client(data",{"_index":17601,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["createorupdate",{"_index":10645,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdate(domainobject",{"_index":10654,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdateboardnode",{"_index":18736,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateboardnode(boardnode",{"_index":18741,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateentity",{"_index":2439,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createorupdateentity(domainobject",{"_index":2451,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createorupdateidmaccount",{"_index":14956,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateidmaccount(account",{"_index":14958,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateprovisioningoptions",{"_index":20408,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["createorupdateprovisioningoptions(userid",{"_index":20410,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["createpath",{"_index":18005,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpath(schoolid",{"_index":18009,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewdirectorypath",{"_index":18136,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewdirectorypath(filerecord.getschoolid",{"_index":18143,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewfilepath",{"_index":18006,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewfilepath(schoolid",{"_index":18012,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash",{"_index":18007,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash(id",{"_index":18011,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createprometheusmetricsapp",{"_index":18207,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createprometheusmetricsapp(route",{"_index":18236,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createqueryordermap",{"_index":23653,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createqueryordermap(sort",{"_index":23655,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createredisidentifierfromjwtdata",{"_index":14506,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createredisidentifierfromjwtdata(accountid",{"_index":14512,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createrequest",{"_index":12436,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrequest(event",{"_index":12445,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrichtextelement",{"_index":5506,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createrichtextelement(text",{"_index":5513,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creates",{"_index":2343,"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":19655,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["creates3clientadapter(config",{"_index":19659,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["createschoolbysuperhero(userid",{"_index":26409,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createschoolexternaltool",{"_index":20104,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(currentuser",{"_index":23440,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(userid",{"_index":20111,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["createsharetoken",{"_index":20675,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["createsharetoken(currentuser",{"_index":20678,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["createsharetoken(userid",{"_index":20855,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["createstudentstatusforuser(user",{"_index":21754,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createsubmissionitem",{"_index":9835,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["createsubmissionitem(urlparams",{"_index":9838,"title":{},"body":{"controllers/ElementController.html":{}}}],["createsubmissionitem(userid",{"_index":9876,"title":{},"body":{"injectables/ElementUc.html":{}}}],["createsubmissionitembodyparams",{"_index":8094,"title":{"classes/CreateSubmissionItemBodyParams.html":{}},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"controllers/ElementController.html":{}}}],["createsubmissionitembodyparams})@post(':contentelementid/submissions",{"_index":9841,"title":{},"body":{"controllers/ElementController.html":{}}}],["createtask",{"_index":21981,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtask(task",{"_index":21986,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtaskstatus",{"_index":9722,"title":{},"body":{"classes/DtoCreator.html":{}}}],["createtaskstatus(task",{"_index":9739,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createteacherstatusforuser(user",{"_index":21745,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createteam",{"_index":5006,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createteam(team",{"_index":5015,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createtestingmodule",{"_index":26155,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["createtime",{"_index":2245,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createtmpdir",{"_index":12117,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtmpdir(dirnameprefix",{"_index":12128,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtoken",{"_index":20807,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createtoken(payload",{"_index":20815,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createuser(email",{"_index":1152,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createuserbyadmin(userid",{"_index":26412,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createusersearchindex",{"_index":5352,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createusertoken(userid",{"_index":1116,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createwebsocket",{"_index":22825,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwebsocket(readystate",{"_index":22827,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwelcomecolumnboard",{"_index":5507,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwelcomecolumnboard(coursereference",{"_index":5515,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwsshareddocdo",{"_index":22826,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["creating",{"_index":8076,"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":3824,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["creationyear",{"_index":5783,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["creator",{"_index":6668,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["creator'})@index",{"_index":11604,"title":{},"body":{"entities/FileEntity.html":{}}}],["creatorid",{"_index":6665,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/CourseNews.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageClientAdapterService.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{}}}],["creatorid(userid",{"_index":11867,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["credential",{"_index":14888,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["credentialdata",{"_index":14975,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["credentialhash",{"_index":209,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["credentials",{"_index":9033,"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":9987,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["crit(loggable",{"_index":9993,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["criteria",{"_index":369,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["criterion",{"_index":25159,"title":{},"body":{"license.html":{}}}],["crlf",{"_index":18875,"title":{},"body":{"classes/ReferencesService.html":{}}}],["cross",{"_index":7466,"title":{},"body":{"modules/CoreModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["crossing",{"_index":25975,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["crud",{"_index":2532,"title":{},"body":{"classes/BaseDomainObject.html":{},"controllers/CollaborativeStorageController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["crud.uc",{"_index":17448,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crud.uc.ts",{"_index":17333,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:10",{"_index":17341,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:16",{"_index":17353,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:23",{"_index":17349,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:42",{"_index":17347,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:51",{"_index":17343,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:60",{"_index":17351,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:73",{"_index":17345,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crudoperation",{"_index":16641,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["cruduc",{"_index":17458,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crypto",{"_index":1718,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"dependencies.html":{}}}],["crypto.createhash('sha1",{"_index":2420,"title":{},"body":{"injectables/BBBService.html":{}}}],["crypto.generatekeypairsync('rsa",{"_index":8030,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["cryptojs",{"_index":16023,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(data",{"_index":21426,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(value",{"_index":20995,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.aes.encrypt(data",{"_index":21425,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.encrypt(value",{"_index":20992,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.hmacsha1(base_string",{"_index":16033,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["cryptojs.sha256(saveduser.id",{"_index":17808,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["css",{"_index":12605,"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":11356,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["ctltoolstabenabled",{"_index":13799,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["cumbersome",{"_index":2549,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["cure",{"_index":25416,"title":{},"body":{"license.html":{}}}],["curl",{"_index":14944,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currenlty",{"_index":19375,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["current",{"_index":5102,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/GroupController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PaginationResponse.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["currentdate",{"_index":9508,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/SchoolYearRepo.html":{}}}],["currentdatetime",{"_index":5241,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["currentindex",{"_index":24367,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentldapid",{"_index":14428,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["currently",{"_index":619,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseRepo.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/HydraSsoService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currentredirect",{"_index":13597,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{}}}],["currentrooms",{"_index":8563,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentrooms.foreach((room",{"_index":8565,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentteacher",{"_index":5833,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["currentuser",{"_index":349,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuser.accountid",{"_index":8127,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.impersonated",{"_index":8131,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.isexternaluser",{"_index":8132,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.roles",{"_index":8129,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.schoolid",{"_index":8128,"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":8130,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.userid",{"_index":4077,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.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":5147,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["currentusermapper",{"_index":8102,"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":14483,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["currentusermapper.mapcurrentusertocreatejwtpayload(userinfo",{"_index":16013,"title":{},"body":{"injectables/LoginUc.html":{}}}],["currentusermapper.maptooauthcurrentuser",{"_index":17085,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["currentusermapper.maptooauthcurrentuser(account.id",{"_index":24318,"title":{},"body":{"injectables/UserService.html":{}}}],["currentusermapper.usertoicurrentuser(account.id",{"_index":15237,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["currentvalue",{"_index":24366,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentvalue.tostring(false",{"_index":24368,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentyear",{"_index":19906,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["custom",{"_index":1220,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["custom_error_type",{"_index":26008,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["customarily",{"_index":25281,"title":{},"body":{"license.html":{}}}],["customary",{"_index":25531,"title":{},"body":{"license.html":{}}}],["customer",{"_index":25286,"title":{},"body":{"license.html":{}}}],["customfields",{"_index":1069,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["customizations",{"_index":20626,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["customizing",{"_index":7468,"title":{},"body":{"modules/CoreModule.html":{}}}],["customkey",{"_index":20982,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["customltiproperty",{"_index":8141,"title":{"interfaces/CustomLtiProperty.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["customltipropertydo",{"_index":8214,"title":{"classes/CustomLtiPropertyDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["customltipropertydo('key",{"_index":16142,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["customparam",{"_index":8352,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter",{"_index":2765,"title":{"classes/CustomParameter.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter.default",{"_index":10626,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regex",{"_index":10622,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regexcomment",{"_index":10623,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.scope",{"_index":10624,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some",{"_index":10614,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some((item",{"_index":10612,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameterdo.default",{"_index":10970,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.description",{"_index":10969,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.displayname",{"_index":10968,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.isoptional",{"_index":10976,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.name",{"_index":10967,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regex",{"_index":10971,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regexcomment",{"_index":10972,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdos",{"_index":2764,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["customparameterdto",{"_index":10839,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterentity",{"_index":8270,"title":{"classes/CustomParameterEntity.html":{}},"body":{"classes/CustomParameterEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["customparameterentityfactory",{"_index":10393,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentityfactory.build",{"_index":10399,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentry",{"_index":2791,"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":6786,"title":{"classes/CustomParameterEntryEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["customparameterentryparam",{"_index":6839,"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":6953,"title":{"classes/CustomParameterEntryResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterfactory",{"_index":8301,"title":{"classes/CustomParameterFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.buildlist(number",{"_index":8353,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.define(customparameter",{"_index":8343,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterlocation",{"_index":2770,"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":8345,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.path",{"_index":10396,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.query",{"_index":10870,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocationparams",{"_index":8370,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.body",{"_index":10871,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.path",{"_index":10868,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.query",{"_index":10869,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterparam",{"_index":6987,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparam.defaultvalue",{"_index":10908,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.description",{"_index":10907,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.displayname",{"_index":10906,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.isoptional",{"_index":10914,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.name",{"_index":6943,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparam.regex",{"_index":10909,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.regexcomment",{"_index":10910,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.value",{"_index":6944,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams",{"_index":6934,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams.map",{"_index":6986,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparams.map((customparameterparam",{"_index":6942,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterpostparams",{"_index":8361,"title":{"classes/CustomParameterPostParams.html":{}},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["customparameterresponse",{"_index":6747,"title":{"classes/CustomParameterResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["customparameters",{"_index":10750,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameters.map",{"_index":10810,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["customparameters.map((customparameterdo",{"_index":10966,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscope",{"_index":6160,"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":6167,"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":8340,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.school",{"_index":6166,"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":8376,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.context",{"_index":10866,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.global",{"_index":10864,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.school",{"_index":10865,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype",{"_index":2034,"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":6154,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname",{"_index":6155,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname}/${contextexternaltool.contextref.type",{"_index":2046,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["customparametertype.auto_schoolid",{"_index":6156,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_schoolnumber",{"_index":6157,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.boolean",{"_index":6153,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.number",{"_index":6151,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.string",{"_index":6150,"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":8379,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextid",{"_index":10876,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextname",{"_index":10877,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolid",{"_index":10878,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolnumber",{"_index":10879,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.boolean",{"_index":10874,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.number",{"_index":10875,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.string",{"_index":10873,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customproviderclass.name",{"_index":15296,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["customs",{"_index":8163,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["customtoparameterlocationmapping",{"_index":23247,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["customtoparameterlocationmapping[location",{"_index":23256,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["cycle",{"_index":3909,"title":{},"body":{"modules/BoardModule.html":{}}}],["cycles",{"_index":1715,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["d",{"_index":7413,"title":{},"body":{"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["damages",{"_index":25563,"title":{},"body":{"license.html":{}}}],["das",{"_index":5549,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["dash",{"_index":25016,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dashboard",{"_index":8401,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"interfaces/IDashboardRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["dashboard.getelement(position",{"_index":8838,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.getid",{"_index":8662,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboard.getuserid",{"_index":8840,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.model.mapper",{"_index":8787,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboard.moveelement(from",{"_index":8837,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.setlearnrooms(courses",{"_index":8833,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard_repo",{"_index":15272,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardcontroller",{"_index":8399,"title":{"controllers/DashboardController.html":{}},"body":{"controllers/DashboardController.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardelement",{"_index":8606,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardelementrepo",{"_index":8433,"title":{"injectables/DashboardElementRepo.html":{}},"body":{"injectables/DashboardElementRepo.html":{},"injectables/DashboardService.html":{},"modules/LearnroomModule.html":{}}}],["dashboardentity",{"_index":8442,"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":8735,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["dashboardentity(new",{"_index":8790,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardgridelementmodel",{"_index":8440,"title":{"entities/DashboardGridElementModel.html":{}},"body":{"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementmodelproperties",{"_index":8604,"title":{"interfaces/DashboardGridElementModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementresponse",{"_index":8625,"title":{"classes/DashboardGridElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse",{"_index":8633,"title":{"classes/DashboardGridSubElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse(metadata",{"_index":8681,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardid",{"_index":8424,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{}}}],["dashboardmapper",{"_index":8414,"title":{"classes/DashboardMapper.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{}}}],["dashboardmapper.mapgridelement(elementwithposition",{"_index":8664,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maplearnroom(groupmetadata",{"_index":8680,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maptoresponse(dashboard",{"_index":8423,"title":{},"body":{"controllers/DashboardController.html":{}}}],["dashboardmodel",{"_index":8798,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelentity",{"_index":8605,"title":{"entities/DashboardModelEntity.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelmapper",{"_index":8685,"title":{"injectables/DashboardModelMapper.html":{}},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardmodelproperties",{"_index":8616,"title":{"interfaces/DashboardModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardprops",{"_index":8459,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["dashboardrepo",{"_index":8770,"title":{"injectables/DashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardresponse",{"_index":8418,"title":{"classes/DashboardResponse.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["dashboardservice",{"_index":8807,"title":{"injectables/DashboardService.html":{}},"body":{"injectables/DashboardService.html":{},"modules/LearnroomModule.html":{}}}],["dashboarduc",{"_index":8416,"title":{"injectables/DashboardUc.html":{}},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardurlparams",{"_index":8405,"title":{"classes/DashboardUrlParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardUrlParams.html":{}}}],["data",{"_index":339,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardMapper.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EncryptionService.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileResponseBuilder.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/PublicSystemListResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["data.basepath",{"_index":1431,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.bcc",{"_index":16250,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.body",{"_index":19577,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.cc",{"_index":16248,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.contentlength",{"_index":19580,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentrange",{"_index":19581,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents.map((p",{"_index":19637,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents?.length",{"_index":19636,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contenttype",{"_index":19579,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.destroy",{"_index":13323,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["data.dto.ts",{"_index":17278,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:11",{"_index":17281,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:13",{"_index":17280,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:7",{"_index":17284,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:9",{"_index":17282,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.etag",{"_index":19582,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.externalgroups",{"_index":17878,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalschool",{"_index":17871,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.externalid",{"_index":24105,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.officialschoolnumber",{"_index":24101,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool?.officialschoolnumber",{"_index":17036,"title":{},"body":{"injectables/OAuthService.html":{}}}],["data.externaluser",{"_index":17875,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externaluser.externalid",{"_index":17035,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externaluser?.externalid",{"_index":14423,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["data.gridelement.getcontent",{"_index":8666,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.id",{"_index":7227,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.mountsdescription",{"_index":1433,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.name",{"_index":7230,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.port",{"_index":1429,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.pos",{"_index":8667,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.recipients",{"_index":16246,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.recipients.length",{"_index":16254,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.replyto",{"_index":16252,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.response",{"_index":21384,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["data.response.ts",{"_index":23724,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:11",{"_index":23726,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:14",{"_index":23727,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:17",{"_index":23728,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:3",{"_index":23725,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.result?.ogdescription",{"_index":16417,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogimage",{"_index":16419,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogtitle",{"_index":16416,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.sourceid",{"_index":7229,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.system.systemid",{"_index":17873,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.ts",{"_index":18240,"title":{},"body":{"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["data.ts:11",{"_index":23224,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:4",{"_index":18242,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:5",{"_index":23225,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:6",{"_index":18243,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:7",{"_index":23228,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:8",{"_index":18241,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:9",{"_index":23226,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data/generateseeddata",{"_index":5213,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["data?.contents?.filter((o",{"_index":19623,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.continuationtoken",{"_index":19630,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.istruncated",{"_index":19631,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["database",{"_index":1928,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"interfaces/GlobalConstants.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["database.js",{"_index":12429,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["database.module.ts",{"_index":16535,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:31",{"_index":16536,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:42",{"_index":16538,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/mongo",{"_index":16534,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/types",{"_index":12573,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["databasemanagementconsole",{"_index":8843,"title":{"classes/DatabaseManagementConsole.html":{}},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["databasemanagementcontroller",{"_index":8871,"title":{"controllers/DatabaseManagementController.html":{}},"body":{"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementmodule",{"_index":8900,"title":{"modules/DatabaseManagementModule.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementservice",{"_index":5201,"title":{"injectables/DatabaseManagementService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementuc",{"_index":5220,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["dataformats",{"_index":26205,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["datamodel",{"_index":25869,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["datastream",{"_index":22485,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["datawithdefaults",{"_index":17360,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["date",{"_index":83,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TimestampsResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"license.html":{}}}],["date().gettime",{"_index":1741,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["date(2020",{"_index":15371,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["date(date.now",{"_index":7768,"title":{},"body":{"classes/CourseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{}}}],["date(now.gettime",{"_index":24060,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["date(sequence",{"_index":13182,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["date(source.person.geburt?.datum",{"_index":19827,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["date(user.createdtimestamp",{"_index":14924,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["date.now",{"_index":8048,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/JwtTestFactory.html":{},"injectables/UserLoginMigrationService.html":{}}}],["date.setdate(date.getdate",{"_index":20897,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["datefield",{"_index":13181,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["dateofdeletion",{"_index":9551,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["dateofdeletion.setminutes(dateofdeletion.getminutes",{"_index":9552,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["datum",{"_index":19668,"title":{},"body":{"classes/SanisGeburtResponse.html":{}}}],["days",{"_index":2910,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"license.html":{}}}],["dayssincedeletion",{"_index":8966,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["db",{"_index":624,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/DatabaseManagementService.html":{},"classes/ImportUserScope.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["db.service",{"_index":678,"title":{},"body":{"modules/AccountModule.html":{}}}],["db.service.ts",{"_index":901,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:135",{"_index":915,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:14",{"_index":904,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:143",{"_index":908,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db_password",{"_index":1022,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["db_url",{"_index":1023,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["db_username",{"_index":1024,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["dbc",{"_index":13921,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["dbcaccountid",{"_index":14883,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcaccountid:${accountdbcaccountid",{"_index":14899,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbcsystemid",{"_index":14885,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid",{"_index":14884,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid:${accountdbcuserid",{"_index":14903,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbildungscloud",{"_index":25609,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["dbname",{"_index":16540,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["dd",{"_index":15912,"title":{},"body":{"modules/LoggerModule.html":{}}}],["de",{"_index":5376,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/H5PContentFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["dealing",{"_index":25871,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["debug",{"_index":1042,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"classes/ConsentRequestBody.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debug(loggable",{"_index":15878,"title":{},"body":{"injectables/Logger.html":{}}}],["debug(message",{"_index":13769,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["debugger",{"_index":25007,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["debugging",{"_index":12431,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debugmode",{"_index":1280,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["december",{"_index":25222,"title":{},"body":{"license.html":{}}}],["decide",{"_index":5139,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"todo.html":{}}}],["decides",{"_index":14664,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["decisions",{"_index":25837,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["declarations",{"_index":257,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declare",{"_index":18563,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["declared",{"_index":4247,"title":{},"body":{"classes/BusinessError.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declining",{"_index":25383,"title":{},"body":{"license.html":{}}}],["decodedjwt",{"_index":1735,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/OAuthService.html":{}}}],["decodedjwt.accountid",{"_index":1738,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodedjwt.jti",{"_index":1737,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodehtmlentities",{"_index":3054,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["decodehtmlentities()@apiproperty({description",{"_index":8639,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["decoder",{"_index":22919,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding",{"_index":22877,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.createdecoder(message",{"_index":22920,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint(decoder",{"_index":22922,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint8array(decoder",{"_index":22928,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decorated",{"_index":12734,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["decorator",{"_index":9971,"title":{},"body":{"classes/ErrorLoggable.html":{},"controllers/LoginController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["decorators",{"_index":190,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"entities/ClassEntity.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"controllers/CollaborativeStorageController.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"entities/DashboardGridElementModel.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"entities/RegistrationPinEntity.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"classes/SchoolSystemParams.html":{},"entities/SchoolYearEntity.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"entities/SubmissionItemNode.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["decoupled",{"_index":26203,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["decrypt",{"_index":9920,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decrypt(data",{"_index":9922,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decryptedclientsecret",{"_index":17054,"title":{},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["decryptedstring",{"_index":20994,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["deemed",{"_index":25211,"title":{},"body":{"license.html":{}}}],["deepmocked",{"_index":26144,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["deeppartial",{"_index":539,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["default",{"_index":129,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"modules/ErrorModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupScope.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IToolFeatures.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"controllers/ServerController.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["default...what",{"_index":7559,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.color",{"_index":7519,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.description",{"_index":7524,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.name",{"_index":7531,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.schema.json",{"_index":25681,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["default_language",{"_index":5371,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaultclientinternalid",{"_index":14640,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultcolumns",{"_index":8499,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["defaultconfig",{"_index":12094,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["defaultencryptionservice",{"_index":5203,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["defaulterror",{"_index":4896,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultheaders",{"_index":9081,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["defaultlanguage",{"_index":6573,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["defaultmapper",{"_index":14743,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper.id",{"_index":14770,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper?.id",{"_index":14746,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmessage",{"_index":1374,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"interfaces/ErrorType.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["defaultmikroormoptions",{"_index":1036,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["defaultoauthclientbody",{"_index":17334,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["defaultoptions",{"_index":16549,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["defaults",{"_index":890,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ConsentRequestBody.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionExecutionParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/GroupPaginationParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PaginationParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["defaultscope",{"_index":17715,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["defaultscopes",{"_index":15154,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["defaultsecretreplacementhinttext",{"_index":5218,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaulttestpassword",{"_index":581,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["defaulttestpasswordhash",{"_index":583,"title":{},"body":{"classes/AccountFactory.html":{}}}],["defaultvalue",{"_index":4915,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultvideoconferenceoptions",{"_index":24487,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everyattendeejoinsmuted",{"_index":24488,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everybodyjoinsasmoderator",{"_index":24489,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.moderatormustapprovejoinrequests",{"_index":24490,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defective",{"_index":25556,"title":{},"body":{"license.html":{}}}],["defending",{"_index":25084,"title":{},"body":{"license.html":{}}}],["defenses",{"_index":25513,"title":{},"body":{"license.html":{}}}],["define",{"_index":512,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["define(this",{"_index":554,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["defined",{"_index":27,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.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/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["defines",{"_index":25717,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["defining",{"_index":2558,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definition",{"_index":1380,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"classes/ErrorResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definitions",{"_index":5348,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["delay",{"_index":2858,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["delay(ms",{"_index":14814,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["delete",{"_index":10,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LessonController.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["delete(':boardid",{"_index":3264,"title":{},"body":{"controllers/BoardController.html":{}}}],["delete(':cardid",{"_index":4426,"title":{},"body":{"controllers/CardController.html":{}}}],["delete(':columnid",{"_index":5665,"title":{},"body":{"controllers/ColumnController.html":{}}}],["delete(':contentelementid",{"_index":9866,"title":{},"body":{"controllers/ElementController.html":{}}}],["delete(':contextexternaltoolid",{"_index":23120,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23099,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':docname",{"_index":22731,"title":{},"body":{"controllers/TldrawController.html":{}}}],["delete(':externaltoolid",{"_index":23193,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':externaltoolid')@apiforbiddenresponse({description",{"_index":23146,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':id",{"_index":423,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':id')@apioperation({summary",{"_index":327,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':importuserid/match",{"_index":14022,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["delete(':lessonid",{"_index":15560,"title":{},"body":{"controllers/LessonController.html":{}}}],["delete(':newsid",{"_index":16600,"title":{},"body":{"controllers/NewsController.html":{}}}],["delete(':requestid",{"_index":9591,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':requestid')@httpcode(204)@apioperation({summary",{"_index":9570,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':schoolexternaltoolid",{"_index":23474,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23444,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':scope/:scopeid",{"_index":24582,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':scope/:scopeid')@apioperation({summary",{"_index":24556,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':submissionid",{"_index":21127,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["delete(':systemid",{"_index":21477,"title":{},"body":{"controllers/SystemController.html":{}}}],["delete(':taskid",{"_index":21789,"title":{},"body":{"controllers/TaskController.html":{}}}],["delete('auth/sessions/consent",{"_index":17500,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete('clients/:id",{"_index":17473,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete(@param",{"_index":15564,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(board",{"_index":5518,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["delete(card",{"_index":4489,"title":{},"body":{"injectables/CardService.html":{}}}],["delete(column",{"_index":5691,"title":{},"body":{"injectables/ColumnService.html":{}}}],["delete(domainobject",{"_index":2511,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["delete(domainobjects",{"_index":2453,"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":6458,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["delete(entities",{"_index":761,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["delete(entity",{"_index":22766,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["delete(group",{"_index":13063,"title":{},"body":{"injectables/GroupService.html":{}}}],["delete(id",{"_index":25,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/NewsUc.html":{}}}],["delete(path",{"_index":1643,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(paths",{"_index":19540,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["delete(submission",{"_index":21335,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["delete(subpath",{"_index":1641,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["delete(task",{"_index":22154,"title":{},"body":{"injectables/TaskService.html":{}}}],["delete(urlparams",{"_index":15558,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(userid",{"_index":15724,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{}}}],["delete.vistor",{"_index":3672,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["delete.vistor.ts",{"_index":18688,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:103",{"_index":18696,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:24",{"_index":18691,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:32",{"_index":18698,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:37",{"_index":18697,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:42",{"_index":18694,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:47",{"_index":18701,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:54",{"_index":18702,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:61",{"_index":18703,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:66",{"_index":18699,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:73",{"_index":18704,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:78",{"_index":18705,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:83",{"_index":18700,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:99",{"_index":18693,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete_files_of_parent",{"_index":7204,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["deleteaccountbyid",{"_index":318,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteaccountbyid(accountid",{"_index":13918,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["deleteaccountbyid(currentuser",{"_index":324,"title":{},"body":{"controllers/AccountController.html":{}}}],["deleteaccountbyid(id",{"_index":14858,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteafter",{"_index":9386,"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":3206,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["deleteboard(@param",{"_index":3265,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(urlparams",{"_index":3221,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(userid",{"_index":4142,"title":{},"body":{"injectables/BoardUc.html":{}}}],["deletebydashboardid",{"_index":8435,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["deletebydashboardid(id",{"_index":8437,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["deletebydocname",{"_index":22720,"title":{},"body":{"controllers/TldrawController.html":{},"injectables/TldrawService.html":{}}}],["deletebydocname(@param",{"_index":22732,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebydocname(docname",{"_index":22776,"title":{},"body":{"injectables/TldrawService.html":{}}}],["deletebydocname(urlparams",{"_index":22721,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebyexternaltoolid",{"_index":20007,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyexternaltoolid(toolid",{"_index":20013,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyid",{"_index":729,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deletebyid(accountid",{"_index":737,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["deletebyid(deletionrequestid",{"_index":9489,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletebyid(id",{"_index":2457,"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":7038,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":7049,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolids",{"_index":6853,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":6865,"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":4368,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["deletecard(@param",{"_index":4427,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(urlparams",{"_index":4379,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(userid",{"_index":4542,"title":{},"body":{"injectables/CardUc.html":{}}}],["deletecolumn",{"_index":5635,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["deletecolumn(@param",{"_index":5666,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(urlparams",{"_index":5645,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(userid",{"_index":5709,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["deletecontent",{"_index":13223,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontent(content",{"_index":13226,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontextexternaltool",{"_index":7039,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(contextexternaltool",{"_index":7051,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletecontextexternaltool(currentuser",{"_index":23098,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(userid",{"_index":7094,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["deleted",{"_index":335,"title":{},"body":{"controllers/AccountController.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionQueueConsole.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SystemService.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deletedashboardbyuserid",{"_index":8772,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"interfaces/IDashboardRepo.html":{}}}],["deletedashboardbyuserid(userid",{"_index":8777,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"interfaces/IDashboardRepo.html":{}}}],["deletedat",{"_index":11596,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{}}}],["deletedcount",{"_index":8941,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletedexternaltoolpseudonyms",{"_index":18484,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedfoldername",{"_index":19523,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedid",{"_index":16635,"title":{},"body":{"controllers/NewsController.html":{}}}],["deletedirectory",{"_index":19526,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedirectory(path",{"_index":19542,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedpseudonyms",{"_index":18483,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedrawingbindata",{"_index":9678,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedrawingbindata(docname",{"_index":9680,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedsince",{"_index":7216,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["deletedusernumber",{"_index":24254,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deletedusers",{"_index":15012,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["deleteelement",{"_index":9836,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["deleteelement(urlparams",{"_index":9843,"title":{},"body":{"controllers/ElementController.html":{}}}],["deleteelement(userid",{"_index":9878,"title":{},"body":{"injectables/ElementUc.html":{}}}],["deleteexternaltool",{"_index":10998,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["deleteexternaltool(currentuser",{"_index":23145,"title":{},"body":{"controllers/ToolController.html":{}}}],["deleteexternaltool(toolid",{"_index":11013,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["deleteexternaltool(userid",{"_index":11115,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["deleteexternaltoolpseudonymsbyuserid",{"_index":18446,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18457,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletefile",{"_index":8980,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["deletefile(file",{"_index":8991,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefile(filename",{"_index":22470,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["deletefileinstorage",{"_index":8981,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefileinstorage(file",{"_index":8993,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefilesconsole",{"_index":8953,"title":{"classes/DeleteFilesConsole.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{}}}],["deletefilesofparent",{"_index":12258,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent(@rabbitpayload",{"_index":12360,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["deletefilesofparent(parentid",{"_index":12266,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["deletefilesofparent(payload",{"_index":12339,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:finished",{"_index":12460,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:started",{"_index":12458,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesuc",{"_index":8958,"title":{"injectables/DeleteFilesUc.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["deletegroup(groupname",{"_index":1150,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteh5pcontent",{"_index":13239,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteh5pcontent(params",{"_index":13253,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteidentityprovider",{"_index":14628,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteidentityprovider(alias",{"_index":14652,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteimportusersbyschool",{"_index":14193,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteimportusersbyschool(school",{"_index":14197,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteinminutes",{"_index":2898,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["deletelesson",{"_index":15696,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletelesson(lesson",{"_index":15701,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletemarkedfiles",{"_index":8956,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["deletemarkedfiles(dayssincedeletion",{"_index":8960,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["deletemarkedfiles(thresholddate",{"_index":8995,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletenode",{"_index":18689,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deletenode(domainobject",{"_index":18692,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deleteoauth2client",{"_index":17336,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["deleteoauth2client(@currentuser",{"_index":17474,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(currentuser",{"_index":17344,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(id",{"_index":17603,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["deleteobjectcommand",{"_index":8998,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deleteobjects",{"_index":19602,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deleteobjectscommand",{"_index":19559,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletepreviews",{"_index":18120,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepreviews(filerecords",{"_index":18127,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepseudonymsbyuserid",{"_index":10646,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletepseudonymsbyuserid(userid",{"_index":10656,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deleterefsfromtxtfile",{"_index":2893,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleterefsfromtxtfile(refsfilepath",{"_index":2896,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleteregistrationpinbyemail",{"_index":18921,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deleteregistrationpinbyemail(email",{"_index":18923,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deletes",{"_index":328,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool",{"_index":20105,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(currentuser",{"_index":23443,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(userid",{"_index":20113,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["deleteschoolexternaltoolbyid",{"_index":20067,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":20075,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deletesubmissions",{"_index":22152,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesubmissions(task",{"_index":22156,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesuccessfull",{"_index":13344,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deletesystem",{"_index":21444,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(@currentuser",{"_index":21479,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(currentuser",{"_index":21446,"title":{},"body":{"controllers/SystemController.html":{}}}],["deleteteam",{"_index":5007,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteteam(teamid",{"_index":5019,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteuser",{"_index":24200,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(userid",{"_index":24204,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(username",{"_index":1155,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteuserdatafromclasses",{"_index":4810,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromclasses(userid",{"_index":4815,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromcourse",{"_index":7976,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcourse(userid",{"_index":7979,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcoursegroup",{"_index":7821,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromcoursegroup(userid",{"_index":7825,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromlessons",{"_index":15697,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromlessons(userid",{"_index":15703,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromteams",{"_index":22376,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserdatafromteams(userid",{"_index":22380,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserloginmigration",{"_index":24023,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deleteuserloginmigration(userloginmigration",{"_index":24034,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deletevisitor",{"_index":3646,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["deletewithdescendants",{"_index":3727,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deletewithdescendants(domainobject",{"_index":3730,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deleting",{"_index":8969,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["deletion",{"_index":2830,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"modules/CommonToolModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["deletion'})@apiresponse({status",{"_index":9581,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletion.service.ts",{"_index":2818,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:10",{"_index":2826,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:7",{"_index":2822,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.uc.ts",{"_index":2892,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:12",{"_index":2899,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:9",{"_index":2895,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion/deletion",{"_index":1033,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["deletionapimodule",{"_index":1010,"title":{"modules/DeletionApiModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["deletionclient",{"_index":2821,"title":{"injectables/DeletionClient.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionclientconfig",{"_index":9095,"title":{"interfaces/DeletionClientConfig.html":{}},"body":{"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{}}}],["deletioncommand",{"_index":9042,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionconsolemodule",{"_index":9136,"title":{"modules/DeletionConsoleModule.html":{}},"body":{"modules/DeletionConsoleModule.html":{}}}],["deletiondomainmodel",{"_index":9234,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiondomainmodel.user",{"_index":9439,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionexecutionconsole",{"_index":9147,"title":{"classes/DeletionExecutionConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutionparams",{"_index":9169,"title":{"classes/DeletionExecutionParams.html":{}},"body":{"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionquery",{"_index":9205,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutions",{"_index":9199,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionscontroller",{"_index":9059,"title":{"controllers/DeletionExecutionsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutiontriggerresult",{"_index":9159,"title":{"interfaces/DeletionExecutionTriggerResult.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder",{"_index":9158,"title":{"classes/DeletionExecutionTriggerResultBuilder.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder.buildfailure(err",{"_index":9167,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerresultbuilder.buildsuccess",{"_index":9166,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerstatus",{"_index":9177,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutionuc",{"_index":9152,"title":{"injectables/DeletionExecutionUc.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionlog",{"_index":9213,"title":{"classes/DeletionLog.html":{}},"body":{"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogentities",{"_index":9310,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogentity",{"_index":9243,"title":{"entities/DeletionLogEntity.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogentityprops",{"_index":9254,"title":{"interfaces/DeletionLogEntityProps.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["deletionlogid",{"_index":9304,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper",{"_index":9270,"title":{"classes/DeletionLogMapper.html":{}},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodo(deletionlog",{"_index":9309,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodos(deletionlogentities",{"_index":9313,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptoentity(deletionlog",{"_index":9314,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogprops",{"_index":9236,"title":{"interfaces/DeletionLogProps.html":{}},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["deletionlogrepo",{"_index":9293,"title":{"injectables/DeletionLogRepo.html":{}},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogs",{"_index":9255,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogservice",{"_index":9316,"title":{"injectables/DeletionLogService.html":{}},"body":{"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogstatistic",{"_index":9330,"title":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionlogstatisticbuilder",{"_index":9343,"title":{"classes/DeletionLogStatisticBuilder.html":{}},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["deletionmodule",{"_index":9049,"title":{"modules/DeletionModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{}}}],["deletionoperationmodel",{"_index":9235,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionplannedat",{"_index":2840,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["deletionqueueconsole",{"_index":9145,"title":{"classes/DeletionQueueConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["deletionrequest",{"_index":9384,"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":9518,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequest.failed",{"_index":9520,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestbody",{"_index":9577,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodyprops",{"_index":9402,"title":{"classes/DeletionRequestBodyProps.html":{}},"body":{"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodypropsbuilder",{"_index":9409,"title":{"classes/DeletionRequestBodyPropsBuilder.html":{}},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestcreateanswer",{"_index":9342,"title":{"interfaces/DeletionRequestCreateAnswer.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestentities",{"_index":9510,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentities.map((entity",{"_index":9512,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentity",{"_index":9413,"title":{"entities/DeletionRequestEntity.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestentity.id",{"_index":9516,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentityprops",{"_index":9422,"title":{"interfaces/DeletionRequestEntityProps.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestfactory",{"_index":9432,"title":{"classes/DeletionRequestFactory.html":{}},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestfactory.define(deletionrequest",{"_index":9438,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestid",{"_index":9218,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestinput",{"_index":2843,"title":{"interfaces/DeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder",{"_index":2829,"title":{"classes/DeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder.build",{"_index":2844,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestitem",{"_index":9412,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestlog",{"_index":9337,"title":{"interfaces/DeletionRequestLog.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestlogresponse",{"_index":9451,"title":{"classes/DeletionRequestLogResponse.html":{}},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestlogresponsebuilder",{"_index":9463,"title":{"classes/DeletionRequestLogResponseBuilder.html":{}},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["deletionrequestmapper",{"_index":9466,"title":{"classes/DeletionRequestMapper.html":{}},"body":{"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(deletionrequest",{"_index":9505,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(entity",{"_index":9513,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptoentity(deletionrequest",{"_index":9506,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestoutput",{"_index":2849,"title":{"interfaces/DeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestoutput.deletionplannedat",{"_index":2855,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutput.requestid",{"_index":2854,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutputbuilder",{"_index":9478,"title":{"classes/DeletionRequestOutputBuilder.html":{}},"body":{"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestprops",{"_index":9340,"title":{"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestrepo",{"_index":9352,"title":{"injectables/DeletionRequestRepo.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestresponse",{"_index":9522,"title":{"classes/DeletionRequestResponse.html":{}},"body":{"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequests",{"_index":9100,"title":{},"body":{"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscontroller",{"_index":9058,"title":{"controllers/DeletionRequestsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscope",{"_index":9502,"title":{"classes/DeletionRequestScope.html":{}},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestscope().bydeleteafter(currentdate).bystatus",{"_index":9509,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestservice",{"_index":9351,"title":{"injectables/DeletionRequestService.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequesttargetrefinput",{"_index":9442,"title":{"interfaces/DeletionRequestTargetRefInput.html":{}},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder",{"_index":9448,"title":{"classes/DeletionRequestTargetRefInputBuilder.html":{}},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder.build(targetrefdomain",{"_index":9450,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequesttoupdate",{"_index":9550,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["deletionrequestuc",{"_index":9056,"title":{},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletions",{"_index":9018,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionstatusmodel",{"_index":9397,"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":9431,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionstatusmodel.registered",{"_index":9440,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.success",{"_index":9430,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletiontargetref",{"_index":9332,"title":{"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiontargetrefbuilder",{"_index":9594,"title":{"classes/DeletionTargetRefBuilder.html":{}},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["dem",{"_index":5541,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["demand",{"_index":16967,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["denied",{"_index":25357,"title":{},"body":{"license.html":{}}}],["denominated",{"_index":25476,"title":{},"body":{"license.html":{}}}],["depend",{"_index":25821,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependencies",{"_index":255,"title":{"dependencies.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dependency",{"_index":1714,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/BoardModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependent",{"_index":26328,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["depending",{"_index":12145,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["depends",{"_index":12134,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deployment",{"_index":14940,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["deployments",{"_index":25890,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["deprecated",{"_index":102,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonToolService.html":{},"injectables/CourseCopyUC.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/PermissionService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["deprecated.controller.ts",{"_index":24550,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:106",{"_index":24557,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:46",{"_index":24555,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:86",{"_index":24559,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.response",{"_index":24564,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecated.response.ts",{"_index":9600,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:10",{"_index":24413,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:12",{"_index":24412,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:25",{"_index":9623,"title":{},"body":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["deprecated.response.ts:37",{"_index":9605,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:43",{"_index":9604,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:8",{"_index":24414,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecatedvideoconferenceinforesponse",{"_index":9597,"title":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecatedvideoconferencejoinresponse",{"_index":9615,"title":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprive",{"_index":25484,"title":{},"body":{"license.html":{}}}],["depth",{"_index":3652,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["der",{"_index":5554,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["derivecopyname",{"_index":7389,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopyname(name",{"_index":7394,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopystatus",{"_index":7338,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filecopystatus",{"_index":21844,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filedtos",{"_index":7348,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["derivecoursestatus",{"_index":7670,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivecoursestatus(originalcourse",{"_index":7679,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivestatusfromelements",{"_index":7390,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivestatusfromelements(elements",{"_index":7397,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["des",{"_index":5572,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["desc",{"_index":3977,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["descendant",{"_index":3968,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendant.path.match(`^${n.pathofchildren",{"_index":3976,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendants",{"_index":3533,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["describe",{"_index":25867,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"course",{"_index":26057,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"when",{"_index":26059,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('[method",{"_index":26088,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('createcourse",{"_index":26058,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('somefunction",{"_index":26162,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('when",{"_index":26089,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["described",{"_index":17167,"title":{},"body":{"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["describes",{"_index":2542,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["description",{"_index":157,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardUrlParams.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupPaginationParams.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolFactory.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUserFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolInfoResponse.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawDeleteParams.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"properties.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["description(value",{"_index":9671,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["description.a",{"_index":26033,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["descriptioncommit",{"_index":26235,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["descriptioninputformat",{"_index":13792,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptionoroptions",{"_index":15031,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["descriptions",{"_index":21759,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptive",{"_index":13970,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["deserialize",{"_index":4208,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["deserialize(bsondocuments",{"_index":4210,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["deserializes",{"_index":4212,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["design",{"_index":25611,"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":25296,"title":{},"body":{"license.html":{}}}],["designed",{"_index":25053,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["desireable",{"_index":17522,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["desired",{"_index":26087,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["destination",{"_index":7183,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["destinationcourse",{"_index":3293,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destinationcourse).then((status",{"_index":3355,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourse.id",{"_index":3380,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourseid",{"_index":7181,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["destinationexternalreference",{"_index":3379,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["destinationlesson",{"_index":21842,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destroy",{"_index":22833,"title":{},"body":{"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["destroyed",{"_index":18577,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["detail",{"_index":25539,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["detail.builder.ts",{"_index":2887,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.builder.ts:5",{"_index":2889,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.interface",{"_index":2874,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["detail.interface.ts",{"_index":2883,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{}}}],["detail.response",{"_index":1402,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["detail.response.ts",{"_index":24357,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detail.response.ts:1",{"_index":24359,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detailed",{"_index":25806,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["details",{"_index":1355,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/DeletionRequestsController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/IdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["detect",{"_index":5306,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["detectable",{"_index":23271,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["detectcontenttypeorthrow",{"_index":10430,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detectcontenttypeorthrow(imagebuffer",{"_index":10438,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detected",{"_index":11958,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["detection",{"_index":75,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["determine",{"_index":25803,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["determineinput",{"_index":18306,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determineinput(systemid",{"_index":18315,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determinelaunchrequestmethod",{"_index":2743,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinelaunchrequestmethod(properties",{"_index":2760,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinenewroomsin",{"_index":8446,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["determinenewroomsin(rooms",{"_index":8469,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["determineschooltoolstatus",{"_index":20068,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determineschooltoolstatus(tool",{"_index":20077,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinetoolconfigurationstatus",{"_index":6089,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determinetoolconfigurationstatus(externaltool",{"_index":6093,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determining",{"_index":17944,"title":{},"body":{"classes/PatchOrderParams.html":{},"license.html":{}}}],["deubg",{"_index":26216,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["dev",{"_index":25729,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["develop",{"_index":14941,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["developer",{"_index":6305,"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":25073,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["development",{"_index":4919,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/FileStorageConfig.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["devices",{"_index":4529,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["dfsdfsf",{"_index":25033,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["di",{"_index":25929,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dialnumber",{"_index":2246,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["dictionary",{"_index":12414,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["didn't",{"_index":9115,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["didnt",{"_index":26247,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["diff",{"_index":22647,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["diffenrent",{"_index":25665,"title":{},"body":{"todo.html":{}}}],["differ",{"_index":25538,"title":{},"body":{"license.html":{}}}],["different",{"_index":1218,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/CardSkeletonResponse.html":{},"injectables/NewsRepo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["differentiation",{"_index":26382,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["differently",{"_index":25376,"title":{},"body":{"license.html":{}}}],["differs",{"_index":26077,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dim",{"_index":9372,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["dir",{"_index":5233,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["direct",{"_index":14684,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["direction",{"_index":25200,"title":{},"body":{"license.html":{}}}],["directions",{"_index":25302,"title":{},"body":{"license.html":{}}}],["directly",{"_index":810,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["directories",{"_index":11639,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["directory",{"_index":12127,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dirnameprefix",{"_index":12131,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["dirpath",{"_index":12166,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["disable",{"_index":1087,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileMetadata.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Path.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserRepo.html":{},"todo.html":{}}}],["disabled",{"_index":17044,"title":{},"body":{"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["disableextratitlefield",{"_index":11730,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["disallow",{"_index":26384,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["disclaim",{"_index":25232,"title":{},"body":{"license.html":{}}}],["disclaimer",{"_index":25547,"title":{},"body":{"license.html":{}}}],["disclaiming",{"_index":25373,"title":{},"body":{"license.html":{}}}],["discovery",{"_index":2547,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"todo.html":{}}}],["discriminator",{"_index":9653,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["discriminatorcolumn",{"_index":3755,"title":{},"body":{"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CourseNews.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["discriminatorvalue",{"_index":2715,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["discriminatory",{"_index":25498,"title":{},"body":{"license.html":{}}}],["discussed",{"_index":2638,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["discussion",{"_index":25855,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["discussion_enabled=false",{"_index":26348,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["disk",{"_index":22856,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["display",{"_index":11358,"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":7878,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UpdateNewsParams.html":{}}}],["displaycolor",{"_index":4094,"title":{},"body":{"classes/BoardTaskResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UsersList.html":{}}}],["displayed",{"_index":8082,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["displayname",{"_index":6686,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserService.html":{}}}],["displays",{"_index":25148,"title":{},"body":{"license.html":{}}}],["disposable",{"_index":24884,"title":{},"body":{"dependencies.html":{}}}],["disposition",{"_index":7664,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{}}}],["dist",{"_index":24959,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["distinguish",{"_index":16905,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["distinguished",{"_index":26069,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["distinguishing",{"_index":25542,"title":{},"body":{"license.html":{}}}],["distingush",{"_index":26386,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["distribute",{"_index":25047,"title":{},"body":{"license.html":{}}}],["distributed",{"_index":25596,"title":{},"body":{"license.html":{}}}],["distributing",{"_index":25501,"title":{},"body":{"license.html":{}}}],["distribution",{"_index":25108,"title":{},"body":{"license.html":{}}}],["div",{"_index":6601,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dn",{"_index":4692,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["do.builder",{"_index":3524,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["do.builder.ts",{"_index":3479,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:25",{"_index":3498,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:26",{"_index":3495,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:27",{"_index":3492,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:28",{"_index":3501,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:29",{"_index":3507,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:30",{"_index":3510,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:31",{"_index":3513,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:32",{"_index":3516,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:33",{"_index":3519,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:34",{"_index":3504,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.mapper",{"_index":14402,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["do.mapper.ts",{"_index":14365,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:14",{"_index":14372,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:6",{"_index":14369,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.repo",{"_index":24184,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["do.repo.ts",{"_index":3637,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/UserDORepo.html":{}}}],["do.repo.ts:13",{"_index":3648,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:146",{"_index":23656,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:15",{"_index":23667,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:156",{"_index":23666,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:19",{"_index":23658,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:20",{"_index":3655,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:28",{"_index":3653,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:41",{"_index":3657,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:55",{"_index":3667,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:57",{"_index":23663,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:67",{"_index":3660,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:74",{"_index":23661,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:77",{"_index":3662,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:82",{"_index":23659,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:84",{"_index":3665,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:89",{"_index":3669,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:95",{"_index":3650,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.rule.ts",{"_index":3710,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:11",{"_index":3715,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:17",{"_index":3713,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:8",{"_index":3712,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.service",{"_index":4503,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["do.service.ts",{"_index":3726,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:20",{"_index":3735,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:6",{"_index":3729,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:9",{"_index":3731,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["dob",{"_index":2490,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dob.id",{"_index":2503,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dobasefactory",{"_index":4696,"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":8313,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["dobasefactory.define(lti11toolconfig",{"_index":8331,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["doc",{"_index":22657,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["doc).catch",{"_index":22917,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.awareness.getstates",{"_index":22950,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.delete(ws",{"_index":22891,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.foreach((_",{"_index":22912,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.get(ws",{"_index":22890,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.has(ws",{"_index":22888,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.set(ws",{"_index":22933,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.size",{"_index":22894,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.destroy",{"_index":22897,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.do",{"_index":22664,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["doc.do.ts",{"_index":24754,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:11",{"_index":24764,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:13",{"_index":24761,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:37",{"_index":24762,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:50",{"_index":24767,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:72",{"_index":24769,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:83",{"_index":24772,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:9",{"_index":24765,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.emit('error",{"_index":22929,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["docker",{"_index":25684,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/mongo",{"_index":26315,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/rocketchat/rocket.chat:4.7.2envs",{"_index":26357,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["doclass",{"_index":3654,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["doclass.name",{"_index":3680,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["docname",{"_index":9682,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["docname.'})@apiresponse({status",{"_index":22723,"title":{},"body":{"controllers/TldrawController.html":{}}}],["docname.length",{"_index":22809,"title":{},"body":{"classes/TldrawWs.html":{}}}],["docs",{"_index":22839,"title":{},"body":{"injectables/TldrawWsService.html":{},"todo.html":{}}}],["document",{"_index":7180,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/CreateNewsParams.html":{},"injectables/NewsRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawWs.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["document/${docname",{"_index":9686,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["documentation",{"_index":24975,"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":25361,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["documents",{"_index":4213,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doe",{"_index":23736,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["doe${sequence",{"_index":14093,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["doescourseexist",{"_index":3830,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doescourseexist(courseid",{"_index":3841,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doesmatch",{"_index":149,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["doesn't",{"_index":2927,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/LessonUC.html":{},"injectables/OAuthService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doesnt",{"_index":18797,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["doesurlmatch",{"_index":115,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doesurlmatch(url",{"_index":120,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doing",{"_index":25852,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["domain",{"_index":1883,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObjectFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LegacySchoolDo.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleNameMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolYearService.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/VideoConferenceCreateParams.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain)scopes",{"_index":26392,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain.mapper",{"_index":12950,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["domain.mapper.ts",{"_index":12846,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:20",{"_index":12853,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:21",{"_index":21489,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:41",{"_index":21487,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:48",{"_index":12856,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:5",{"_index":21485,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:65",{"_index":12860,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:77",{"_index":12858,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:86",{"_index":12865,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:95",{"_index":12863,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.trim",{"_index":20527,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["domain/class",{"_index":4767,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domain/deletion",{"_index":9279,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["domain/external",{"_index":10450,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["domain/interface",{"_index":20941,"title":{},"body":{"classes/SortHelper.html":{}}}],["domain/rocket",{"_index":19162,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["domain/rules",{"_index":1884,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["domain/types",{"_index":9253,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["domain/types/deletion",{"_index":9334,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["domain/ws",{"_index":22663,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["domainblacklist",{"_index":16230,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["domainentity",{"_index":8721,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["domainerror",{"_index":19480,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["domainobject",{"_index":1770,"title":{"classes/DomainObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"injectables/BaseDORepo.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["domainobject.acceptasync(this.deletevisitor",{"_index":3708,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["domainobject.authtoken",{"_index":19170,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.birthday",{"_index":23650,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.closedat",{"_index":23964,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.context",{"_index":20729,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.context?.contextid",{"_index":20793,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.context?.contexttype",{"_index":20792,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.createdat",{"_index":2522,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.customs",{"_index":8234,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.deleteafter",{"_index":9474,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.deletedcount",{"_index":9290,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.domain",{"_index":9287,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.email",{"_index":23633,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.emailsearchvalues",{"_index":23643,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.expiresat",{"_index":20730,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.externalid",{"_index":23636,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.finishedat",{"_index":23965,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.firstname",{"_index":23634,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.firstnamesearchvalues",{"_index":23639,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.forcepasswordchange",{"_index":23645,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.friendlyurl",{"_index":8240,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.frontchannel_logout_uri",{"_index":8243,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.gradelevel",{"_index":4792,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.id",{"_index":2498,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RocketChatUserMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SystemRepo.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.importhash",{"_index":23637,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.invitationlink",{"_index":4789,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.ishidden",{"_index":8244,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.islocal",{"_index":8236,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.istemplate",{"_index":8235,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.key",{"_index":8226,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.language",{"_index":23644,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastloginsystemchange",{"_index":23647,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastname",{"_index":23635,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastnamesearchvalues",{"_index":23641,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.ldapdn",{"_index":4793,"title":{},"body":{"classes/ClassMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.logo_url",{"_index":8228,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_message_type",{"_index":8229,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_version",{"_index":8230,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.mandatorysince",{"_index":23966,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.modifiedcount",{"_index":9289,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.name",{"_index":4784,"title":{},"body":{"classes/ClassMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.oauthclientid",{"_index":8239,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.opennewtab",{"_index":8242,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.operation",{"_index":9288,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.options",{"_index":24548,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.organizationid",{"_index":13046,"title":{},"body":{"injectables/GroupRule.html":{}}}],["domainobject.origintoolid",{"_index":8238,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.outdatedsince",{"_index":23648,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.payload",{"_index":20728,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.payload.parentid",{"_index":20791,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.payload.parenttype",{"_index":20790,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.performedat",{"_index":9292,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.preferences",{"_index":23646,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.previousexternalid",{"_index":23649,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.privacy_permission",{"_index":8233,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.rcid",{"_index":19169,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.removeuser(userid",{"_index":4828,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.resource_link_id",{"_index":8231,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.roles",{"_index":8232,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["domainobject.schoolid",{"_index":20388,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{},"classes/UserDO.html":{}}}],["domainobject.secret",{"_index":8227,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.skipconsent",{"_index":8241,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.source",{"_index":4796,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourceoptions",{"_index":4797,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourcesystemid",{"_index":23961,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.startedat",{"_index":23963,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.status",{"_index":9476,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.successor",{"_index":4794,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.systemid",{"_index":20370,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["domainobject.target",{"_index":24546,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetmodel",{"_index":24547,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetrefdomain",{"_index":9473,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetrefid",{"_index":9475,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetsystemid",{"_index":23962,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.teacherids.map((teacherid",{"_index":4786,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.token",{"_index":20727,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.updatedat",{"_index":2524,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.url",{"_index":8225,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.userids",{"_index":4827,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.userids?.map((userid",{"_index":4788,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.username",{"_index":19168,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.year",{"_index":4790,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject/share",{"_index":16474,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["domainobject:18",{"_index":3085,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SchoolSystemOptions.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobject:8",{"_index":3067,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SchoolSystemOptions.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobjectfactory",{"_index":9631,"title":{"classes/DomainObjectFactory.html":{}},"body":{"classes/DomainObjectFactory.html":{}}}],["domainobjects",{"_index":2455,"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":18765,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["domainobjects.map((domainobject",{"_index":4800,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{}}}],["domainobjects.map(async",{"_index":2489,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["domainrolenames",{"_index":24133,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles",{"_index":24131,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles.map((role",{"_index":24134,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domains",{"_index":24885,"title":{},"body":{"dependencies.html":{}}}],["domigration",{"_index":20197,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["domigration(externalid",{"_index":20208,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["domigration(userdo",{"_index":24156,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["don't",{"_index":2557,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OAuthService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["done",{"_index":9970,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["done(new",{"_index":24810,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["done(null",{"_index":24809,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["donothing",{"_index":21394,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["dont",{"_index":21906,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["dos",{"_index":6897,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["dosomethingcrazy",{"_index":26098,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z",{"_index":26103,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).catch(err",{"_index":26118,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).then(result",{"_index":26113,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazysync(wrong",{"_index":26121,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["doubtful",{"_index":25326,"title":{},"body":{"license.html":{}}}],["down",{"_index":25828,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["download",{"_index":18121,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download(filerecord",{"_index":18129,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download_uri",{"_index":1340,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downloadbysecuritytoken",{"_index":12064,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(@param('token",{"_index":12077,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(token",{"_index":12066,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadfileparams",{"_index":7277,"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":18069,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloadoriginfile(pathtofile",{"_index":18075,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloaduri",{"_index":1333,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downstream",{"_index":25432,"title":{},"body":{"license.html":{}}}],["draft",{"_index":21712,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskWithStatusVo.html":{}}}],["drawing",{"_index":3153,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["drawing.entity.ts",{"_index":22738,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["drawing.entity.ts:21",{"_index":22740,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:24",{"_index":22743,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:27",{"_index":22745,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:30",{"_index":22744,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:33",{"_index":22742,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:36",{"_index":22741,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawingcontentbody",{"_index":6504,"title":{"classes/DrawingContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelement",{"_index":3134,"title":{"classes/DrawingElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["drawingelement.description",{"_index":6540,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelement.id",{"_index":18785,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementadapterservice",{"_index":3895,"title":{"injectables/DrawingElementAdapterService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/TldrawClientModule.html":{}}}],["drawingelementcontent",{"_index":9687,"title":{"classes/DrawingElementContent.html":{}},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementcontentbody",{"_index":9645,"title":{"classes/DrawingElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelementcontentbody)@apiresponse({status",{"_index":9853,"title":{},"body":{"controllers/ElementController.html":{}}}],["drawingelementnode",{"_index":3500,"title":{"entities/DrawingElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementnodeprops",{"_index":9696,"title":{"interfaces/DrawingElementNodeProps.html":{}},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["drawingelementprops",{"_index":9674,"title":{"interfaces/DrawingElementProps.html":{}},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["drawingelementresponse",{"_index":4403,"title":{"classes/DrawingElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"controllers/ElementController.html":{}}}],["drawingelementresponsemapper",{"_index":6439,"title":{"classes/DrawingElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementresponsemapper.getinstance",{"_index":6428,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["drawingelementresponsemapper.instance",{"_index":9711,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["drawings",{"_index":22670,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawService.html":{}}}],["driven",{"_index":2637,"title":{},"body":{"injectables/BaseRepo.html":{},"properties.html":{}}}],["driver",{"_index":805,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drivers",{"_index":818,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drop/create",{"_index":5318,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["dropcollection",{"_index":8910,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollection(collectionname",{"_index":8921,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollectionifexists(collectionname",{"_index":5282,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["droplibrarycss",{"_index":11727,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dry",{"_index":25841,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto",{"_index":100,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"interfaces/BaseResponseMapper.html":{},"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CalendarEventDto.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"classes/CourseMapper.html":{},"classes/CreateNewsParams.html":{},"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/FileElementResponseMapper.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolSystemOptionsMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUserDto.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateNewsParams.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/VideoConference-1.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto's",{"_index":25913,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dto.availabledate",{"_index":21960,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.bbbresponse",{"_index":24400,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["dto.builder.ts",{"_index":11534,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:13",{"_index":11543,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:19",{"_index":11540,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:7",{"_index":11538,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.classes",{"_index":14156,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.cookies",{"_index":13675,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["dto.createdat",{"_index":19016,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.currentredirect",{"_index":13604,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.description",{"_index":21958,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.descriptioninputformat",{"_index":21973,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.destinationcourseid",{"_index":7448,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.displaycolor",{"_index":21964,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.duedate",{"_index":21962,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.elements",{"_index":7450,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.factory",{"_index":19456,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["dto.factory.ts",{"_index":9718,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:102",{"_index":9753,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:121",{"_index":9751,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:129",{"_index":9740,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:139",{"_index":9749,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:158",{"_index":9747,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:173",{"_index":9737,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:186",{"_index":19287,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:192",{"_index":19289,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:28",{"_index":9733,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:30",{"_index":9732,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:32",{"_index":9734,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:34",{"_index":9731,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:36",{"_index":9730,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:58",{"_index":9745,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:67",{"_index":9742,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:89",{"_index":9743,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:95",{"_index":9744,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.firstname",{"_index":14144,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.flagged",{"_index":14163,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.groupelements",{"_index":8678,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.groupid",{"_index":8677,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.id",{"_index":7446,"title":{},"body":{"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lastname",{"_index":14147,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lessonhidden",{"_index":21968,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.lessonname",{"_index":21967,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.loginname",{"_index":14150,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.mapper",{"_index":978,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["dto.mapper.abstract",{"_index":599,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.abstract.ts",{"_index":592,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.abstract.ts:7",{"_index":594,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.db.ts",{"_index":597,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{}}}],["dto.mapper.idm.ts",{"_index":606,"title":{},"body":{"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.ts",{"_index":466,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:23",{"_index":474,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:29",{"_index":472,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:6",{"_index":477,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.match",{"_index":14142,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.matchedby",{"_index":24138,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["dto.matches",{"_index":14159,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.options",{"_index":24602,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["dto.permission",{"_index":24401,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.permissions",{"_index":16914,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.provisioningstrategy",{"_index":18365,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.provisioningurl",{"_index":18367,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.response",{"_index":13607,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.response.status",{"_index":13603,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.role",{"_index":14153,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.rolename",{"_index":16970,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.roles",{"_index":19022,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.schoolid",{"_index":19020,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.state",{"_index":24398,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.target",{"_index":16700,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.teamid",{"_index":4300,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto.teamname",{"_index":16969,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.title",{"_index":4298,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["dto.unpublished",{"_index":16702,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.updatedat",{"_index":19018,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.updater",{"_index":16697,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.url",{"_index":24628,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["dto/ajax/post.body.params.transform",{"_index":13300,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/board/board",{"_index":3245,"title":{},"body":{"controllers/BoardController.html":{}}}],["dto/board/set",{"_index":4406,"title":{},"body":{"controllers/CardController.html":{}}}],["dto/calendar",{"_index":4308,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["dto/card/create",{"_index":5656,"title":{},"body":{"controllers/ColumnController.html":{}}}],["dto/class",{"_index":13100,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["dto/context",{"_index":7105,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["dto/copy.response",{"_index":7442,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto/element/drawing",{"_index":9709,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["dto/element/rich",{"_index":19111,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["dto/file.dto",{"_index":11545,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto/fwu",{"_index":12533,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["dto/h5p",{"_index":13301,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/oauth2",{"_index":23861,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/pseudonym",{"_index":18401,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["dto/public",{"_index":21610,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["dto/request/school",{"_index":23863,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/request/user",{"_index":23865,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/response/consent.response",{"_index":17452,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/redirect.response",{"_index":17453,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/video",{"_index":24563,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["dto/role.dto",{"_index":19272,"title":{},"body":{"injectables/RoleService.html":{}}}],["dto/school",{"_index":20125,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["dto/stateless",{"_index":17647,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dto/submission",{"_index":4069,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["dto/task",{"_index":21811,"title":{},"body":{"controllers/TaskController.html":{}}}],["dto/team",{"_index":5052,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto/team.dto",{"_index":5152,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["dtocreator",{"_index":9716,"title":{"classes/DtoCreator.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dtolist",{"_index":14059,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["dtos",{"_index":5050,"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":3908,"title":{},"body":{"modules/BoardModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["duedate",{"_index":3593,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardTaskResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["duedate(value",{"_index":21095,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["dummy",{"_index":13276,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dummypasswd!1",{"_index":582,"title":{},"body":{"classes/AccountFactory.html":{}}}],["duplicate",{"_index":7138,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["duplicate.filter",{"_index":7144,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.id",{"_index":10611,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["duplicate.length",{"_index":7148,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.loggable",{"_index":20274,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["duplicates",{"_index":17965,"title":{},"body":{"injectables/PermissionService.html":{}}}],["duplicatetool",{"_index":7145,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.displayname",{"_index":7147,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.id",{"_index":7146,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplication",{"_index":2556,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["durable",{"_index":25280,"title":{},"body":{"license.html":{}}}],["duration",{"_index":2247,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/DurationLoggingInterceptor.html":{}}}],["durationlogginginterceptor",{"_index":9815,"title":{"injectables/DurationLoggingInterceptor.html":{}},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["during",{"_index":4953,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dwelling",{"_index":25325,"title":{},"body":{"license.html":{}}}],["dynamically",{"_index":25179,"title":{},"body":{"license.html":{}}}],["dynamicdependencies",{"_index":6574,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dynamicmodule",{"_index":1016,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["e",{"_index":2465,"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/ShareTokenRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["e.g",{"_index":2550,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/ConsentRequestBody.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICurrentUser.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["e.property",{"_index":9967,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.response.data",{"_index":1105,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.data.errortype",{"_index":1107,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.statuscode",{"_index":1102,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.target",{"_index":9972,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.value",{"_index":9974,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["each",{"_index":2531,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/BatchDeletionUc.html":{},"classes/CardIdsParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"interfaces/RetryOptions.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["eager",{"_index":13962,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["earlier",{"_index":25123,"title":{},"body":{"license.html":{}}}],["ease",{"_index":26452,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["easier",{"_index":26178,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["easily",{"_index":26081,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["easy",{"_index":25799,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["eathers",{"_index":11466,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["edit",{"_index":7886,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["editcoursebyadmin(userid",{"_index":26418,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["editor",{"_index":3426,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserBoardRoles.html":{}}}],["editor.config",{"_index":13400,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["editor.controller",{"_index":13396,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.controller.ts",{"_index":13237,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:103",{"_index":13284,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:123",{"_index":13258,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:136",{"_index":13287,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:151",{"_index":13255,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:162",{"_index":13274,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:170",{"_index":13267,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:182",{"_index":13252,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:199",{"_index":13290,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:219",{"_index":13292,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:53",{"_index":13280,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:66",{"_index":13271,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:75",{"_index":13264,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:82",{"_index":13261,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.module",{"_index":13412,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["editor.module.ts",{"_index":13394,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.params.ts",{"_index":12628,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:14",{"_index":12631,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:18",{"_index":12629,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:24",{"_index":12643,"title":{},"body":{"classes/GetH5PEditorParamsCreate.html":{}}}],["editor.params.ts:30",{"_index":12640,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:34",{"_index":12642,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:40",{"_index":19849,"title":{},"body":{"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:46",{"_index":17980,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:50",{"_index":17985,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:54",{"_index":17984,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:60",{"_index":17982,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:66",{"_index":17979,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:70",{"_index":17977,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:75",{"_index":17976,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:83",{"_index":17974,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.response",{"_index":13302,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.response.ts",{"_index":12590,"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":13380,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:17",{"_index":13381,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:21",{"_index":13382,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:42",{"_index":13372,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:5",{"_index":13379,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:52",{"_index":13373,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:55",{"_index":13374,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:58",{"_index":13375,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:61",{"_index":13192,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:68",{"_index":13194,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:71",{"_index":13193,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:74",{"_index":13520,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:81",{"_index":13521,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:84",{"_index":13522,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor/controller/dto/ajax/get.params.ts",{"_index":1196,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:10",{"_index":1205,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:14",{"_index":1206,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:18",{"_index":1207,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:22",{"_index":1204,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:6",{"_index":1202,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.transform",{"_index":1209,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts",{"_index":6387,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:14",{"_index":6390,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:19",{"_index":6392,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:25",{"_index":15748,"title":{},"body":{"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:8",{"_index":15740,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts",{"_index":1251,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:10",{"_index":1255,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:14",{"_index":1256,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:18",{"_index":1257,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:22",{"_index":1254,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:26",{"_index":1253,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:6",{"_index":1252,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/content",{"_index":6559,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["editor/controller/dto/h5p",{"_index":12589,"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":15741,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["editor/controller/h5p",{"_index":13236,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor/entity",{"_index":13177,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["editor/entity/h5p",{"_index":6565,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["editor/entity/library.entity.ts",{"_index":11687,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editor/entity/library.entity.ts:111",{"_index":14328,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:114",{"_index":14308,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:120",{"_index":14309,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:126",{"_index":14310,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:129",{"_index":14311,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:134",{"_index":14312,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:137",{"_index":14313,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:140",{"_index":14314,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:143",{"_index":14316,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:146",{"_index":14317,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:149",{"_index":14318,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:152",{"_index":14321,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:158",{"_index":14324,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:161",{"_index":14325,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:164",{"_index":14326,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:167",{"_index":14329,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:17",{"_index":15746,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:170",{"_index":14331,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:173",{"_index":14332,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:176",{"_index":14327,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:181",{"_index":14330,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:189",{"_index":14315,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:20",{"_index":15747,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:23",{"_index":15745,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:33",{"_index":11693,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:35",{"_index":11692,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:37",{"_index":11691,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:49",{"_index":14319,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:52",{"_index":14320,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:55",{"_index":14322,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:58",{"_index":14323,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:64",{"_index":14307,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:8",{"_index":17949,"title":{},"body":{"classes/Path.html":{}}}],["editor/h5p",{"_index":13393,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["editor/mapper/h5p",{"_index":13187,"title":{},"body":{"classes/H5PContentMapper.html":{},"classes/H5PErrorMapper.html":{}}}],["editor/repo/h5p",{"_index":13221,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["editor/repo/library.repo.ts",{"_index":15749,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:11",{"_index":15756,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:16",{"_index":15765,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:20",{"_index":15764,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:35",{"_index":15758,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:39",{"_index":15762,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:58",{"_index":15760,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:7",{"_index":15766,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/temporary",{"_index":22442,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["editor/service/temporary",{"_index":22459,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["editor/types/lumi",{"_index":13196,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["editor/uc/dto/h5p",{"_index":12646,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["editordependencies",{"_index":6575,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editormodel",{"_index":13348,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{}}}],["editormodel.integration",{"_index":12597,"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":12599,"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":12601,"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":11715,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editusernameallowed",{"_index":14740,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["effect",{"_index":25577,"title":{},"body":{"license.html":{}}}],["effected",{"_index":25229,"title":{},"body":{"license.html":{}}}],["effective",{"_index":25212,"title":{},"body":{"license.html":{}}}],["effectively",{"_index":25593,"title":{},"body":{"license.html":{}}}],["effects",{"_index":2347,"title":{},"body":{"injectables/BBBService.html":{}}}],["efficient",{"_index":3971,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["effortless",{"_index":26042,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["efforts",{"_index":25446,"title":{},"body":{"license.html":{}}}],["eid",{"_index":2507,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["einsatz",{"_index":5571,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ejson",{"_index":4222,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.deserialize(bsondocuments",{"_index":4225,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.serialize(documents",{"_index":4223,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["el",{"_index":3409,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"injectables/CopyHelperService.html":{}}}],["el.copyentity",{"_index":3412,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["el.getreferences()).flat",{"_index":8576,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["el.status",{"_index":7404,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["el.target.id",{"_index":2986,"title":{},"body":{"entities/Board.html":{}}}],["el.type",{"_index":3410,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elapsedtimemilliseconds",{"_index":14591,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["electronic",{"_index":25599,"title":{},"body":{"license.html":{}}}],["element",{"_index":2049,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BaseResponseMapper.html":{},"entities/Board.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/GridElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["element.'})@apiextramodels(fileelementcontentbody",{"_index":9852,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiextramodels(submissionitemresponse)@apiresponse({status",{"_index":9839,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiresponse({status",{"_index":9844,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.acceptasync(updater",{"_index":6482,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.alternativetext",{"_index":11592,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.boardelementtype",{"_index":3351,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.body.params.ts",{"_index":8014,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:10",{"_index":16573,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:12",{"_index":16581,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:14",{"_index":8020,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:17",{"_index":16582,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:18",{"_index":16574,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:23",{"_index":16580,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:25",{"_index":8018,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:29",{"_index":16577,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.body.params.ts:33",{"_index":16578,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.caption",{"_index":11591,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.constructor.name",{"_index":6449,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["element.contextexternaltoolid",{"_index":10358,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["element.createdat",{"_index":9714,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.description",{"_index":9715,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{}}}],["element.do",{"_index":3154,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["element.do.ts",{"_index":9663,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["element.do.ts:10",{"_index":19075,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:13",{"_index":11559,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:14",{"_index":19077,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:17",{"_index":11561,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:18",{"_index":19079,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:21",{"_index":15791,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:25",{"_index":15792,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:29",{"_index":15794,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:33",{"_index":15796,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:5",{"_index":9668,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:6",{"_index":19073,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:9",{"_index":9670,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.duedate",{"_index":21117,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.factory.ts",{"_index":6394,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:109",{"_index":6404,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:14",{"_index":6402,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:47",{"_index":6405,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:60",{"_index":6406,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:72",{"_index":6407,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:85",{"_index":6403,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:97",{"_index":6408,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.getreferences",{"_index":8564,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.getreferences().length",{"_index":8568,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.gridelement",{"_index":8546,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.id",{"_index":9712,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.imageurl",{"_index":15825,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.inputformat",{"_index":19113,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["element.interface",{"_index":5871,"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":5736,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.interface.ts:2",{"_index":5737,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.publish",{"_index":19465,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.removereference(room",{"_index":8567,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.removereferencebyindex(position.groupindex",{"_index":8589,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.response",{"_index":9710,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["element.response.ts",{"_index":3759,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:11",{"_index":9690,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{}}}],["element.response.ts:13",{"_index":19091,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:14",{"_index":9698,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:15",{"_index":21105,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:16",{"_index":19090,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:17",{"_index":3766,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:18",{"_index":11573,"title":{},"body":{"classes/FileElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:19",{"_index":19102,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:20",{"_index":15807,"title":{},"body":{"classes/LinkElementContent.html":{}}}],["element.response.ts:21",{"_index":11584,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:22",{"_index":3763,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.response.ts:23",{"_index":9700,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:26",{"_index":9702,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementResponse.html":{}}}],["element.response.ts:27",{"_index":21113,"title":{},"body":{"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:28",{"_index":19104,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:29",{"_index":9701,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:30",{"_index":11586,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:31",{"_index":19106,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:32",{"_index":9699,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:33",{"_index":11588,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:34",{"_index":19103,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:35",{"_index":15817,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:36",{"_index":11585,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:37",{"_index":19105,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:38",{"_index":15819,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:39",{"_index":11587,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:41",{"_index":15816,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:44",{"_index":15818,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:5",{"_index":9689,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{},"classes/LinkElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:6",{"_index":11572,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{}}}],["element.response.ts:7",{"_index":3760,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.service",{"_index":4504,"title":{},"body":{"injectables/CardService.html":{}}}],["element.service.ts",{"_index":6455,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:18",{"_index":6456,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:25",{"_index":6461,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:35",{"_index":6463,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:43",{"_index":6457,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:50",{"_index":6459,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:54",{"_index":6465,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:58",{"_index":6468,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.status",{"_index":7454,"title":{},"body":{"classes/CopyMapper.html":{}}}],["element.target",{"_index":2976,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.text",{"_index":5597,"title":{},"body":{"injectables/ColumnBoardService.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["element.title",{"_index":15824,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.ts",{"_index":5966,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:11",{"_index":5970,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:12",{"_index":6018,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:14",{"_index":5998,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:15",{"_index":6019,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:19",{"_index":5971,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["element.ts:21",{"_index":6034,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:3",{"_index":6023,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:38",{"_index":6035,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:42",{"_index":6036,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:46",{"_index":6037,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:6",{"_index":6025,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.type",{"_index":19307,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["element.unpublish",{"_index":19466,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.updatedat",{"_index":9713,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.url",{"_index":15823,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.url.params.ts",{"_index":6555,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:11",{"_index":6557,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:19",{"_index":19349,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["elementcontentbody",{"_index":9642,"title":{"classes/ElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["elementcontentbody:111",{"_index":21108,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["elementcontentbody:127",{"_index":10346,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["elementcontentbody:29",{"_index":11577,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["elementcontentbody:59",{"_index":15810,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["elementcontentbody:74",{"_index":9693,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["elementcontentbody:93",{"_index":19095,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["elementcontroller",{"_index":3033,"title":{"controllers/ElementController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ElementController.html":{}}}],["elementcopystatus",{"_index":3398,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementcopystatus.type",{"_index":3395,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementdata",{"_index":8665,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.copyingsince",{"_index":8673,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.displaycolor",{"_index":8670,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group",{"_index":8675,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group.map((groupmetadata",{"_index":8679,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.groupid",{"_index":8676,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.referencedid",{"_index":8674,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.shorttitle",{"_index":8669,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.title",{"_index":8668,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementid",{"_index":2024,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{}}}],["elementmapper",{"_index":6445,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmapper.maptoresponse(element",{"_index":6450,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmodel",{"_index":8720,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.dashboard",{"_index":8757,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.references.set(references",{"_index":8756,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.title",{"_index":8752,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.xpos",{"_index":8747,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.ypos",{"_index":8749,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elements",{"_index":896,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/GridElement.html":{},"classes/GroupPaginationParams.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":4009,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["elements.filter((element",{"_index":9768,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.foreach((element",{"_index":9778,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.map((el",{"_index":7403,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elements.map((elementcopystatus",{"_index":3394,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.map(async",{"_index":3408,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.push",{"_index":7717,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["elements.push(this.mapcolumnboard(element.content",{"_index":19310,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maplesson(element.content",{"_index":19309,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maptask(element.content",{"_index":19308,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elementservice",{"_index":4538,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["elementspercard",{"_index":3865,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementspercard.flat",{"_index":3868,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementsstatuses",{"_index":7402,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementsstatuses.filter((status",{"_index":7405,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementstoadd",{"_index":3013,"title":{},"body":{"entities/Board.html":{}}}],["elementtomove",{"_index":8552,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.getreferences",{"_index":8585,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.isgroup",{"_index":8584,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementuc",{"_index":3027,"title":{"injectables/ElementUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["elementwithposition",{"_index":8700,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.x",{"_index":8748,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.y",{"_index":8750,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elemmatch",{"_index":12211,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["em",{"_index":3649,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SystemRepo.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["em.config.options.clienturl",{"_index":26200,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["em.getreference(role",{"_index":12902,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(schoolentity",{"_index":12886,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["em.getreference(systementity",{"_index":12897,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["em.getreference(user",{"_index":12901,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["email",{"_index":702,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SystemEntityFactory.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emails",{"_index":25864,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["emailsearchvalues",{"_index":5368,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["embeddable",{"_index":2712,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ContentMetadata.html":{},"classes/County.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["embedded",{"_index":4654,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["embedded(undefined",{"_index":4648,"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/SchoolSystemOptionsEntity.html":{},"entities/TeamEntity.html":{},"entities/User.html":{}}}],["embedded({entity",{"_index":21515,"title":{},"body":{"entities/SystemEntity.html":{}}}],["embedtypes",{"_index":6576,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["embodied",{"_index":25277,"title":{},"body":{"license.html":{}}}],["emerg",{"_index":9988,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["emerg(loggable",{"_index":9995,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["employer",{"_index":25605,"title":{},"body":{"license.html":{}}}],["empty",{"_index":1834,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"classes/NewsScope.html":{},"classes/ReferencesService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emptyresultquery",{"_index":16781,"title":{},"body":{"classes/NewsScope.html":{},"classes/Scope.html":{}}}],["emptyresultquerytype",{"_index":7029,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":23555,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["enable",{"_index":12728,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"modules/ImportUserModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["enable.loggable.ts",{"_index":24151,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable.loggable.ts:4",{"_index":24152,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable_ldap_sync_during_migration",{"_index":19924,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enabled",{"_index":1268,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/IVideoConferenceSettings.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScanResult.html":{},"injectables/ShareTokenUC.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["enableimplicitconversion",{"_index":12732,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["enableldapsyncduringmigration",{"_index":19925,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enableoauthmigrationfeature",{"_index":24024,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enableoauthmigrationfeature(schooldo",{"_index":24036,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enables",{"_index":25142,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["encapsulates",{"_index":5103,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/ConverterUtil.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["encodeawarenessupdate",{"_index":22874,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodeawarenessupdate(doc.awareness",{"_index":22953,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encodeawarenessupdate(this.awareness",{"_index":24794,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["encoded",{"_index":2356,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FileSystemAdapter.html":{},"classes/WsSharedDocDo.html":{}}}],["encoder",{"_index":22906,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodestateasupdate",{"_index":22658,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(persistedydoc",{"_index":22690,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(ydoc",{"_index":22687,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector",{"_index":22659,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector(persistedydoc",{"_index":22686,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodeuricomponent(token",{"_index":1347,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["encoding",{"_index":12115,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.createencoder",{"_index":22907,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.length(encoder",{"_index":22925,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encoding.touint8array(encoder",{"_index":22911,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint(encoder",{"_index":22908,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint8array(encoder",{"_index":22952,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encouraged",{"_index":25090,"title":{},"body":{"license.html":{}}}],["encrypt",{"_index":9921,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application.html":{}}}],["encrypt(data",{"_index":9924,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encrypted",{"_index":1071,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["encryptedstring",{"_index":20991,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["encryption",{"_index":13887,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.interface",{"_index":9910,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.service",{"_index":9912,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryption.service.ts",{"_index":16019,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryption.service.ts:7",{"_index":16022,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryptionmodule",{"_index":9906,"title":{"modules/EncryptionModule.html":{}},"body":{"modules/EncryptionModule.html":{},"modules/ExternalToolModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"modules/OauthModule.html":{}}}],["encryptionproviderfactory(configservice",{"_index":9913,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryptionservice",{"_index":5204,"title":{"interfaces/EncryptionService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryptpassword",{"_index":902,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptpassword(password",{"_index":907,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptsecrets(collectionname",{"_index":5390,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["encryptsecretsinsystems(systems",{"_index":5392,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["end",{"_index":2328,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/LoginResponse-1.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["end(@currentuser",{"_index":24472,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["end(config",{"_index":2348,"title":{},"body":{"injectables/BBBService.html":{}}}],["end(currentuser",{"_index":24424,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["end(currentuserid",{"_index":24587,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.loggable.ts",{"_index":20167,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:3",{"_index":20169,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:6",{"_index":20170,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.uc.ts",{"_index":24585,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:12",{"_index":24586,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:19",{"_index":24588,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end2end",{"_index":26221,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["enddate",{"_index":20443,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{}}}],["ended",{"_index":24483,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["endings",{"_index":26251,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["endpoint",{"_index":2233,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"controllers/H5PEditorController.html":{},"interfaces/ListFiles.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"controllers/SystemController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["endpoints",{"_index":13310,"title":{},"body":{"controllers/H5PEditorController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["endpointurl",{"_index":20998,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["ends",{"_index":2350,"title":{},"body":{"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["endschoolinmaintenance",{"_index":14003,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(@currentuser",{"_index":14080,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(currentuser",{"_index":14011,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endtime",{"_index":2305,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["enforce",{"_index":22331,"title":{},"body":{"controllers/TeamNewsController.html":{},"license.html":{}}}],["enforces",{"_index":26078,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["enforcing",{"_index":25234,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["enities",{"_index":19221,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enities.map((entity",{"_index":19225,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enrichdatafromexternaltool",{"_index":20069,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichdatafromexternaltool(tool",{"_index":20078,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichedtools",{"_index":20091,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools",{"_index":20070,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools(tools",{"_index":20079,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["ensure",{"_index":11316,"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":3529,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureboardnodetype(boardnode",{"_index":3548,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurecontextpermissions",{"_index":10251,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensurecontextpermissions(userid",{"_index":10260,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureleafnode",{"_index":3530,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureleafnode(boardnode",{"_index":3551,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurepermission",{"_index":11107,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensurepermission(userid",{"_index":11117,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensures",{"_index":24990,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ensureschoolpermissions",{"_index":10252,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureschoolpermissions(userid",{"_index":10262,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensuretokeniswhitelisted",{"_index":14507,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["ensuretoolpermissions",{"_index":23417,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["ensuretoolpermissions(userid",{"_index":23420,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["entered",{"_index":25507,"title":{},"body":{"license.html":{}}}],["enteredpassword",{"_index":15850,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["entire",{"_index":25254,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["entirely",{"_index":25526,"title":{},"body":{"license.html":{}}}],["entities",{"_index":206,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"injectables/BoardRepo.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"modules/CommonToolModule.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/GroupEntity.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/PseudonymEntity.html":{},"injectables/PseudonymsRepo.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserRepo.html":{},"entities/VideoConference.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entities.foreach((entity",{"_index":12234,"title":{},"body":{"injectables/FilesService.html":{}}}],["entities.length",{"_index":12233,"title":{},"body":{"injectables/FilesService.html":{},"injectables/LtiToolRepo.html":{}}}],["entities.map((entity",{"_index":4798,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLogMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{}}}],["entitieswithfiles",{"_index":11789,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["entitiyids",{"_index":11336,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entity",{"_index":205,"title":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"entities/DeletionRequestEntity.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/GroupEntity.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"entities/PseudonymEntity.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SubmissionItemNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"entities/VideoConference.html":{}},"body":{"entities/Account.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BruteForceError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.alias",{"_index":21493,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.authtoken",{"_index":19166,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.birthday",{"_index":23707,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.closedat",{"_index":23988,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.config.type",{"_index":10772,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.contextid",{"_index":6909,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["entity.contexttype",{"_index":20787,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.course",{"_index":7818,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["entity.coursegroup",{"_index":15685,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.createdat",{"_index":4782,"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":16178,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.deleteafter",{"_index":9470,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.deletedcount",{"_index":9284,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.deletionrequestid?.tohexstring",{"_index":9285,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.displayname",{"_index":6911,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.domain",{"_index":9281,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.email",{"_index":23695,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.emailsearchvalues",{"_index":23701,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.expiresat",{"_index":20789,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.externalid",{"_index":12899,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.externalsource",{"_index":12892,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.factory.ts",{"_index":10380,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:21",{"_index":10389,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:28",{"_index":10386,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:38",{"_index":10391,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:50",{"_index":10387,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:66",{"_index":10385,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.features",{"_index":15410,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{}}}],["entity.features.includes(feature",{"_index":15460,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["entity.federalstate",{"_index":15419,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.finishedat",{"_index":23989,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.firstname",{"_index":23696,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.firstnamesearchvalues",{"_index":23699,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.forcepasswordchange",{"_index":23703,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.friendlyurl",{"_index":16183,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.frontchannel_logout_uri",{"_index":16185,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.getgrid().map((elementwithposition",{"_index":8760,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getid",{"_index":8767,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getuserid",{"_index":8769,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.gradelevel",{"_index":4777,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.hidden",{"_index":15681,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.id",{"_index":4768,"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/SchoolSystemOptionsRepoMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entity.importhash",{"_index":23698,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.inmaintenancesince",{"_index":15411,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.inusermigration",{"_index":15412,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.invitationlink",{"_index":4775,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.isdraft",{"_index":22112,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.ishidden",{"_index":10781,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.islocal",{"_index":16180,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.istemplate",{"_index":16179,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.key",{"_index":16170,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.language",{"_index":23702,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastloginsystemchange",{"_index":23705,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastname",{"_index":23697,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastnamesearchvalues",{"_index":23700,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.ldapconfig",{"_index":21496,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.ldapconfig?.active",{"_index":21568,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.ldapdn",{"_index":4778,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lesson",{"_index":22115,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.logo_url",{"_index":16172,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.logobase64",{"_index":10779,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.logourl",{"_index":10778,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.lti_message_type",{"_index":16173,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.lti_version",{"_index":16174,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.mandatorysince",{"_index":23986,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.markfordeletion",{"_index":12238,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.modifiedcount",{"_index":9283,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.name",{"_index":4769,"title":{},"body":{"classes/ClassMapper.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RoleMapper.html":{}}}],["entity.oauthclientid",{"_index":16182,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.oauthconfig",{"_index":21494,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.officialschoolnumber",{"_index":15414,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.oidcconfig",{"_index":21584,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["entity.opennewtab",{"_index":10782,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.operation",{"_index":9282,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.options.everyattendejoinsmuted",{"_index":24722,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.everybodyjoinsasmoderator",{"_index":24721,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.moderatormustapprovejoinrequests",{"_index":24723,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.organization?.id",{"_index":12895,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.origintoolid",{"_index":16181,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.outdatedsince",{"_index":23706,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.parentid",{"_index":20786,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.parenttype",{"_index":20785,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.performedat",{"_index":9286,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.permissions",{"_index":19224,"title":{},"body":{"classes/RoleMapper.html":{}}}],["entity.preferences",{"_index":23704,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.previousexternalid",{"_index":15413,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.privacy_permission",{"_index":16177,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.provisioningstrategy",{"_index":21492,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.provisioningurl",{"_index":21491,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.pseudonym",{"_index":10690,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.rcid",{"_index":19165,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.removepermissionsbyrefid(userid",{"_index":12235,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.resource_link_id",{"_index":16175,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.restricttocontexts",{"_index":10784,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.role.id",{"_index":12905,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.roles",{"_index":16176,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.roles.getitems().map((role",{"_index":24115,"title":{},"body":{"classes/UserMapper.html":{}}}],["entity.roles.isinitialized",{"_index":23708,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.school.id",{"_index":20024,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{}}}],["entity.schoolid",{"_index":20063,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["entity.schoolid.tohexstring",{"_index":4770,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.schooltool.id",{"_index":6908,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltool.school.id",{"_index":7004,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schooltool.school?.id",{"_index":6907,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltoolref.schoolid",{"_index":7005,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schoolyear",{"_index":15415,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.secret",{"_index":16171,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.skipconsent",{"_index":16184,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.source",{"_index":4780,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourceoptions?.tspuid",{"_index":4781,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourcesystem?.id",{"_index":23984,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.startedat",{"_index":23987,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.status",{"_index":9472,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.successor?.tohexstring",{"_index":4779,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.system.id",{"_index":12900,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["entity.system.provisioningstrategy",{"_index":20363,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["entity.systems.getitems().map((system",{"_index":15417,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.systems.isinitialized",{"_index":15416,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.target",{"_index":24719,"title":{},"body":{"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetmodel",{"_index":26440,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetrefdomain",{"_index":9469,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetrefid",{"_index":9471,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetsystem.id",{"_index":23985,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.teacherids.map((teacherid",{"_index":4773,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.teamusers.find((teamuser",{"_index":22372,"title":{},"body":{"injectables/TeamRule.html":{}}}],["entity.token",{"_index":20788,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.tool.id",{"_index":20023,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.toolid.tohexstring",{"_index":10691,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.toolversion",{"_index":6912,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entity.ts",{"_index":25912,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["entity.type",{"_index":21490,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.updatedat",{"_index":4783,"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":10777,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.user.id",{"_index":12904,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.userid.tohexstring",{"_index":10692,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{}}}],["entity.userids?.map((userid",{"_index":4771,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.userloginmigration?.id",{"_index":15418,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.username",{"_index":19164,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.users.map((groupuser",{"_index":12887,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod",{"_index":12889,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.from",{"_index":12890,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.until",{"_index":12891,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.version",{"_index":10783,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.year?.tohexstring",{"_index":4776,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity/course.entity",{"_index":8065,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/deletion",{"_index":9277,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["entity/h5p",{"_index":22493,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["entity/import",{"_index":13750,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["entity/pseudonym.scope",{"_index":10673,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["entity/role.entity",{"_index":17963,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity/school.entity",{"_index":8066,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/share",{"_index":20782,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity/team.entity",{"_index":8067,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/user.entity",{"_index":17964,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity[prop",{"_index":1843,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["entity_not_found",{"_index":4203,"title":{},"body":{"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{}}}],["entityclass",{"_index":555,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["entitycount",{"_index":13233,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["entitydata",{"_index":2463,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydata[key",{"_index":2520,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entitydictionary",{"_index":12206,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["entitydo",{"_index":2462,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydo.birthday",{"_index":23722,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.closedat",{"_index":23995,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.config.type",{"_index":10797,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.contextref.id",{"_index":6914,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.customs",{"_index":16194,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.displayname",{"_index":6916,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.email",{"_index":23711,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.externalid",{"_index":15420,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.features",{"_index":15421,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.federalstate",{"_index":15432,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.finishedat",{"_index":23996,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.firstname",{"_index":23712,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.forcepasswordchange",{"_index":23718,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.friendlyurl",{"_index":16199,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.frontchannel_logout_uri",{"_index":16201,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.id",{"_index":18524,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["entitydo.inmaintenancesince",{"_index":15422,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.inusermigration",{"_index":15423,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.ishidden",{"_index":10806,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.islocal",{"_index":16196,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.istemplate",{"_index":16195,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.key",{"_index":16186,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.language",{"_index":23717,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastloginsystemchange",{"_index":23720,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastname",{"_index":23713,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.ldapdn",{"_index":23716,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.logo",{"_index":10804,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.logo_url",{"_index":16188,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.logourl",{"_index":10803,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.lti_message_type",{"_index":16189,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.lti_version",{"_index":16190,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.mandatorysince",{"_index":23993,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.name",{"_index":10801,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.oauthclientid",{"_index":16198,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.officialschoolnumber",{"_index":15425,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.opennewtab",{"_index":10807,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.options.everyattendeejoinsmuted",{"_index":24727,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.everybodyjoinsasmoderator",{"_index":24726,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.moderatormustapprovejoinrequests",{"_index":24728,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.origintoolid",{"_index":16197,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.outdatedsince",{"_index":23721,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.preferences",{"_index":23719,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.previousexternalid",{"_index":15424,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.privacy_permission",{"_index":16193,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.pseudonym",{"_index":10693,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entitydo.resource_link_id",{"_index":16191,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.restricttocontexts",{"_index":10809,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.roles",{"_index":16192,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles.map((roleref",{"_index":23714,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.schoolid",{"_index":20027,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.schooltoolref.schooltoolid",{"_index":6918,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.schoolyear",{"_index":15426,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.secret",{"_index":16187,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.skipconsent",{"_index":16200,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.sourcesystemid",{"_index":23991,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.startedat",{"_index":23994,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.systems",{"_index":15427,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.systems.map((systemid",{"_index":15428,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.target",{"_index":24724,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.targetsystemid",{"_index":23992,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.toolid",{"_index":20029,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.toolversion",{"_index":6919,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.url",{"_index":10802,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.userloginmigrationid",{"_index":15430,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.version",{"_index":10808,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydos",{"_index":10702,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entityid",{"_index":26,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"injectables/ImportUserRepo.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MigrationCheckService.html":{},"entities/News.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entitymanager",{"_index":2446,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["entityname",{"_index":736,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/EntityNotFoundError.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"classes/ForbiddenLoggableException.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"modules/TldrawModule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitynotfounderror",{"_index":346,"title":{"classes/EntityNotFoundError.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/EntityNotFoundError.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{}}}],["entitynotfounderror('account",{"_index":933,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror('user",{"_index":23690,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitynotfounderror(`account",{"_index":961,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror(`user",{"_index":14916,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["entitynotfounderror(systementity.name",{"_index":15508,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{}}}],["entitypermissions",{"_index":11330,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entitypermissions.includes(p",{"_index":11334,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entityprops",{"_index":10682,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["entityschema",{"_index":2554,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["entitytype",{"_index":16708,"title":{},"body":{"classes/NewsMapper.html":{}}}],["entitywithembeddedfiles",{"_index":7350,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["entitywithid",{"_index":2596,"title":{},"body":{"classes/BaseFactory.html":{}}}],["entitywithschool",{"_index":7549,"title":{"interfaces/EntityWithSchool.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/EntityWithSchool.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/ParentInfo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["entries",{"_index":10753,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entries.map",{"_index":10814,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry",{"_index":6179,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/JwtStrategy.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.do.ts",{"_index":8284,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:2",{"_index":8286,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:4",{"_index":8285,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.entity.ts",{"_index":8289,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:6",{"_index":8291,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:9",{"_index":8290,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.name",{"_index":6183,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.params",{"_index":20001,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["entry.params.ts",{"_index":8294,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:12",{"_index":8296,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:7",{"_index":8295,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.response",{"_index":20040,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["entry.response.ts",{"_index":8297,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:5",{"_index":8299,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:9",{"_index":8298,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.value",{"_index":10815,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["enum",{"_index":886,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamNews.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["enum({array",{"_index":16109,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({fieldname",{"_index":13957,"title":{},"body":{"entities/ImportUser.html":{}}}],["enum({items",{"_index":16106,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({nullable",{"_index":7527,"title":{},"body":{"entities/Course.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/ShareToken.html":{}}}],["enumname",{"_index":3201,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["enums",{"_index":5872,"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":16545,"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":25629,"title":{},"body":{"todo.html":{}}}],["envirement",{"_index":21912,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["envirements",{"_index":7736,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["envirment",{"_index":20898,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["environment",{"_index":14942,"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":12123,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["eq",{"_index":15694,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["equal",{"_index":22076,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["equivalent",{"_index":25195,"title":{},"body":{"license.html":{}}}],["eric",{"_index":26027,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["erorr",{"_index":21904,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["err",{"_index":1329,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolVersionService.html":{}}}],["err.code",{"_index":26119,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["err.message",{"_index":19634,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err.tostring",{"_index":9190,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["err?.cause?.name",{"_index":19599,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.code",{"_index":19583,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["error",{"_index":1080,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CleanOptions.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PErrorMapper.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"injectables/ToolLaunchService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["error('boardnode",{"_index":3609,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["error('broken",{"_index":3349,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error('cannot",{"_index":22900,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["error('error",{"_index":4966,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('gradelevel",{"_index":4661,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["error('idm",{"_index":4897,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('invalid",{"_index":14178,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["error('library",{"_index":15772,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('multiple",{"_index":14901,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LibraryRepo.html":{}}}],["error('no",{"_index":9118,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error('not",{"_index":3019,"title":{},"body":{"entities/Board.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["error('nothing",{"_index":18634,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["error('resource",{"_index":6046,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["error('rocket",{"_index":1192,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["error('roles",{"_index":17967,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["error('root",{"_index":3466,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["error('too",{"_index":15778,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('unexpected",{"_index":14297,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["error('unknown",{"_index":6923,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["error('user",{"_index":580,"title":{},"body":{"classes/AccountFactory.html":{}}}],["error(`${jwtconstants.jwtoptions.algorithm",{"_index":1584,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["error(`${testreqestconst.errormessage",{"_index":1683,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(`account",{"_index":14894,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["error(`boardcopyservice",{"_index":3366,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error(`cannot",{"_index":6551,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["error(`duplicate",{"_index":14984,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["error(`invalid",{"_index":9114,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error(`login",{"_index":15866,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["error(`mapping",{"_index":12316,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["error(`metatagextractorservice",{"_index":16409,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["error(`no",{"_index":15192,"title":{},"body":{"injectables/LdapService.html":{}}}],["error(`system",{"_index":15489,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["error(error",{"_index":1680,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(json.stringify(cause",{"_index":4252,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(json.stringify(error",{"_index":10058,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["error(loggable",{"_index":9997,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["error(message",{"_index":13771,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["error(string(cause",{"_index":4253,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(util.inspect(error",{"_index":12697,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.enum",{"_index":1901,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error.exception",{"_index":7548,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["error.factory.ts",{"_index":2076,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.factory.ts:7",{"_index":2079,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.filter",{"_index":10030,"title":{},"body":{"modules/ErrorModule.html":{}}}],["error.filter.ts",{"_index":12660,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"todo.html":{}}}],["error.filter.ts:102",{"_index":12683,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:15",{"_index":12669,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:19",{"_index":12672,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:34",{"_index":12674,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:49",{"_index":12685,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:56",{"_index":12676,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:72",{"_index":12680,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:80",{"_index":12678,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:92",{"_index":12682,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getresponse",{"_index":12715,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getstatus",{"_index":10483,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["error.httpstatuscode",{"_index":13420,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.interface.ts",{"_index":11340,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["error.loggable",{"_index":24361,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["error.loggable.ts",{"_index":2098,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:12",{"_index":2102,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:5",{"_index":2101,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.mapper",{"_index":19473,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["error.mapper.ts",{"_index":13414,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.mapper.ts:5",{"_index":13418,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.response",{"_index":1401,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts",{"_index":1378,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:10",{"_index":1384,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:21",{"_index":1400,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.tostring",{"_index":18554,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["error.ts",{"_index":23575,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.ts:3",{"_index":23576,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.validationerrors.map((e",{"_index":9965,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["error/error",{"_index":24512,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["error/id",{"_index":13851,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["error_debug",{"_index":6276,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_description",{"_index":1889,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error_hint",{"_index":6277,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_uri",{"_index":1890,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["errorcode",{"_index":1466,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/OAuthService.html":{}}}],["errorloggable",{"_index":9936,"title":{"classes/ErrorLoggable.html":{}},"body":{"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LdapStrategy.html":{}}}],["errorloggable(error",{"_index":12695,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorloggable(unknownerror",{"_index":12698,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorlogger",{"_index":9983,"title":{"injectables/ErrorLogger.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"modules/LoggerModule.html":{}}}],["errorlogmessage",{"_index":1468,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["errormapper",{"_index":10009,"title":{"classes/ErrorMapper.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["errormapper.maprpcerrorresponsetodomainerror(error",{"_index":19481,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["errormessage",{"_index":1616,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["errormessages",{"_index":9964,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errormodule",{"_index":7461,"title":{"modules/ErrorModule.html":{}},"body":{"modules/CoreModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{}}}],["errorobj",{"_index":10015,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorobj.status",{"_index":10017,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorresponse",{"_index":1367,"title":{"classes/ErrorResponse.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["errorresponse(type",{"_index":12713,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorresponse:10",{"_index":1394,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:15",{"_index":1391,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:20",{"_index":1389,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:25",{"_index":1386,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:30",{"_index":1387,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse})@apiresponse({status",{"_index":12816,"title":{},"body":{"controllers/GroupController.html":{}}}],["errorresponse})@get('/class",{"_index":12818,"title":{},"body":{"controllers/GroupController.html":{}}}],["errors",{"_index":1381,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskCopyUC.html":{},"classes/ValidationErrorDetailResponse.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["errors/ldap",{"_index":15185,"title":{},"body":{"injectables/LdapService.html":{}}}],["errorstatus",{"_index":24511,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["errorstatus.guests_cannot_join_conference",{"_index":24643,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["errortype",{"_index":1084,"title":{"interfaces/ErrorType.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BusinessError.html":{},"interfaces/ErrorType.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["errorutils",{"_index":1313,"title":{"classes/ErrorUtils.html":{}},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["errorutils.createhttpexceptionoptions(err",{"_index":1330,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/DeletionClient.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(error",{"_index":2407,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["errorutils.createhttpexceptionoptions(errorobj",{"_index":10022,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorutils.isbusinesserror(error",{"_index":12706,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isbusinesserror(this.error",{"_index":9960,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isfeatherserror(error",{"_index":12704,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isfeatherserror(this.error",{"_index":9958,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isnesthttpexception(error",{"_index":12708,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isnesthttpexception(this.error",{"_index":9961,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["erweitern",{"_index":5548,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["erwin",{"_index":25699,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["erwinidm",{"_index":25700,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["es",{"_index":23556,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["es256",{"_index":1576,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es384",{"_index":1577,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es512",{"_index":1578,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es6",{"_index":24887,"title":{},"body":{"dependencies.html":{}}}],["escape",{"_index":16556,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["escaped",{"_index":5382,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["escapedclasses",{"_index":14298,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedfirstname",{"_index":14282,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedlastname",{"_index":14290,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedloginname",{"_index":14293,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedname",{"_index":24227,"title":{},"body":{"injectables/UserRepo.html":{}}}],["escapedusername",{"_index":797,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["escapes",{"_index":792,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["eslint",{"_index":1086,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{}}}],["eslint/ban",{"_index":22678,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["eslint/dot",{"_index":2611,"title":{},"body":{"classes/BaseFactory.html":{}}}],["eslint/no",{"_index":1090,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["eslint/restrict",{"_index":1166,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["eslintrc.js",{"_index":25769,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["especially",{"_index":25899,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["essential",{"_index":25171,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["etag",{"_index":7313,"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":24991,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["etherpad",{"_index":6215,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/EtherpadService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["etherpadservice",{"_index":10059,"title":{"injectables/EtherpadService.html":{}},"body":{"injectables/EtherpadService.html":{},"modules/LessonModule.html":{}}}],["evaluate",{"_index":26012,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evaluated",{"_index":26013,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evans",{"_index":26028,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["even",{"_index":25030,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["event",{"_index":4305,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"license.html":{}}}],["event.data[0",{"_index":4310,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["event.dto",{"_index":4309,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.dto.ts",{"_index":4294,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:2",{"_index":4297,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:4",{"_index":4296,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.interface",{"_index":4307,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.interface.ts",{"_index":4288,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["eventid",{"_index":4327,"title":{},"body":{"injectables/CalendarService.html":{}}}],["events",{"_index":4956,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TldrawWsService.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["everyattendeejoinsmuted",{"_index":9618,"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":24378,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everybodyjoinsasmoderator",{"_index":9619,"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":25045,"title":{},"body":{"license.html":{}}}],["everything",{"_index":26377,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exact",{"_index":13942,"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":24120,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactmatch",{"_index":753,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["example",{"_index":2641,"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":26288,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["exampleapimodule",{"_index":25889,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplecolor",{"_index":8532,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["examplecontroller",{"_index":25888,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplemodule",{"_index":25879,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examples",{"_index":26368,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exampleuc",{"_index":25887,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exceeded",{"_index":10493,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/HydraOauthUc.html":{}}}],["except",{"_index":16557,"title":{},"body":{"classes/MongoPatterns.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception",{"_index":1472,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"modules/ErrorModule.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception.constructor.name.replace('loggable",{"_index":12719,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.getstatus",{"_index":12716,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.loggable",{"_index":13852,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["exception.loggable.ts",{"_index":13820,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:4",{"_index":13821,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:9",{"_index":13822,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.message",{"_index":12717,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.ts",{"_index":1462,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:10",{"_index":14359,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["exception.ts:11",{"_index":24362,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:14",{"_index":24147,"title":{},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:15",{"_index":18295,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["exception.ts:16",{"_index":12508,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["exception.ts:17",{"_index":10417,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["exception.ts:18",{"_index":22993,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:19",{"_index":20192,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:20",{"_index":10495,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["exception.ts:21",{"_index":20281,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["exception.ts:26",{"_index":16524,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:4",{"_index":1465,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception.ts:5",{"_index":10416,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:6",{"_index":18293,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:7",{"_index":12507,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:9",{"_index":10119,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception/not",{"_index":16972,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exception/validation",{"_index":24360,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exceptionfactory",{"_index":1247,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["exceptionfactory(validationresult",{"_index":1249,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["exceptionfilter",{"_index":12661,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptionname",{"_index":12718,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptions",{"_index":25365,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exceptionshandler",{"_index":21194,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["exchange",{"_index":1272,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exchanges",{"_index":18572,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["excluded",{"_index":25317,"title":{},"body":{"license.html":{}}}],["excludedraftsofothers",{"_index":22123,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludedraftsofothers(creatorid",{"_index":22138,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers",{"_index":22124,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers(creatorid",{"_index":22140,"title":{},"body":{"classes/TaskScope.html":{}}}],["excluding",{"_index":25511,"title":{},"body":{"license.html":{}}}],["exclusion",{"_index":25594,"title":{},"body":{"license.html":{}}}],["exclusive",{"_index":25470,"title":{},"body":{"license.html":{}}}],["exclusively",{"_index":20666,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["excuse",{"_index":25518,"title":{},"body":{"license.html":{}}}],["exec",{"_index":26299,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["executable",{"_index":25167,"title":{},"body":{"license.html":{}}}],["execute",{"_index":9202,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"classes/TestBootstrapConsole.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executed",{"_index":9429,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executedeletions",{"_index":9082,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(@query",{"_index":9211,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(deletionexecutionquery",{"_index":9200,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(limit",{"_index":9087,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["executes",{"_index":25723,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["executing",{"_index":25133,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["execution",{"_index":2922,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TimeoutInterceptor.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["execution(s",{"_index":9160,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console",{"_index":9148,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["execution.console.ts",{"_index":9150,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:22",{"_index":9157,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:8",{"_index":9153,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.id",{"_index":14714,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["execution.params.ts",{"_index":9171,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.params.ts:9",{"_index":9173,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.uc.ts",{"_index":9192,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:5",{"_index":9193,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:8",{"_index":9195,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["executioncontext",{"_index":9822,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["executionprovider",{"_index":14713,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executionproviders",{"_index":14691,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executions",{"_index":9162,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["executions.controller",{"_index":9068,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["executions.controller.ts",{"_index":9198,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executions.controller.ts:21",{"_index":9204,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executiontimemilliseconds",{"_index":2868,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["exercise",{"_index":25447,"title":{},"body":{"license.html":{}}}],["exercising",{"_index":25230,"title":{},"body":{"license.html":{}}}],["exist",{"_index":1563,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BoardManagementUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existing",{"_index":3102,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"modules/ImportUserModule.html":{},"interfaces/JwtConstants.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/S3ClientAdapter.html":{},"classes/UpdateNewsParams.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existingaccountid",{"_index":14980,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["existingaccounts",{"_index":14977,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts.length",{"_index":14978,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts[0].id",{"_index":14979,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingcourses",{"_index":7693,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingcourses.map((course",{"_index":7695,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingelements",{"_index":2984,"title":{},"body":{"entities/Board.html":{}}}],["existingentities",{"_index":4872,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.find((entity",{"_index":4875,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.foreach((entity",{"_index":4879,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.length",{"_index":4874,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentity",{"_index":2497,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["existinggroup",{"_index":17819,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.externalsource?.systemid",{"_index":17851,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.id",{"_index":17822,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.users",{"_index":17827,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupfromsystem.externalsource?.externalid",{"_index":17856,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser",{"_index":17847,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser.filter",{"_index":17850,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinglessons",{"_index":15591,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existinglessons.map((l",{"_index":15593,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existingmatch",{"_index":24222,"title":{},"body":{"injectables/UserRepo.html":{}}}],["existingnames",{"_index":7395,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["existingnames.includes(composedname",{"_index":7417,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingnames.includes(name",{"_index":7410,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingrooms",{"_index":8570,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingrooms.includes(room",{"_index":8573,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingschool",{"_index":17769,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingschool.id",{"_index":17817,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschool.officialschoolnumber",{"_index":17775,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschoolsystemoptions",{"_index":20421,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["existingschoolsystemoptions?.id",{"_index":20422,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["existingtargets",{"_index":5622,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtargets.find((item",{"_index":5628,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtasks",{"_index":21907,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existingtasks.map((t",{"_index":21909,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existinguser",{"_index":17040,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["existinguser.birthday",{"_index":17802,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.email",{"_index":17796,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.firstname",{"_index":17792,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.lastname",{"_index":17794,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.roles",{"_index":17798,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.schoolid",{"_index":17799,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["exists",{"_index":3109,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/JwtStrategy.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserScope.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existsone",{"_index":13224,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existsone(contentid",{"_index":13228,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existssync",{"_index":12156,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["existssync(folderpath",{"_index":12164,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["exitonerror",{"_index":15903,"title":{},"body":{"modules/LoggerModule.html":{}}}],["exp",{"_index":8049,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["expect",{"_index":25861,"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":26120,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazy(x,y,z)).to",{"_index":26101,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazysync(wrong",{"_index":26123,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(mockservice.getuser).tohavebeencalled",{"_index":26166,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).to",{"_index":26104,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).toequal(resultuser",{"_index":26167,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expectation",{"_index":26093,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expected",{"_index":2930,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/DeletionClient.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["expectedkeys",{"_index":2626,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["expectedkeys.size",{"_index":2631,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["expectedkeys].every((key",{"_index":2633,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["expectedtype",{"_index":18294,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["expecting",{"_index":26109,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expects",{"_index":25330,"title":{},"body":{"license.html":{}}}],["expensive",{"_index":22084,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["expert",{"_index":26375,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["expiration",{"_index":8061,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtValidationAdapter.html":{}}}],["expirationtime",{"_index":22487,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["expire",{"_index":20659,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["expireafterseconds",{"_index":9256,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["expired",{"_index":13529,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["expires",{"_index":12003,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["expiresat",{"_index":210,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["expiresin",{"_index":1591,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{}}}],["expiresindays",{"_index":20656,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["explains",{"_index":26245,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["explanation",{"_index":26367,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicit",{"_index":2135,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicitly",{"_index":1097,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["export",{"_index":101,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["export.service",{"_index":7746,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.service.ts",{"_index":5740,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:146",{"_index":5765,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:154",{"_index":5768,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:19",{"_index":5749,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:26",{"_index":5758,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:42",{"_index":5754,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:71",{"_index":5756,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:91",{"_index":5761,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.uc",{"_index":7647,"title":{},"body":{"controllers/CourseController.html":{}}}],["export.uc.ts",{"_index":7740,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:10",{"_index":7742,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:16",{"_index":7744,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["exportcollection",{"_index":8875,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(@param('collectionname",{"_index":8898,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(collectionname",{"_index":8878,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollections",{"_index":8845,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{}}}],["exportcollections(options",{"_index":8848,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["exportcollectionstofilesystem(collections",{"_index":5327,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportcourse",{"_index":5743,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(courseid",{"_index":5757,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(currentuser",{"_index":7632,"title":{},"body":{"controllers/CourseController.html":{}}}],["exported",{"_index":5304,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exportedcollections",{"_index":5331,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportedcollections.push(`${collectionname}:${sortedbsondocuments.length",{"_index":5346,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exporting",{"_index":25715,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["exports",{"_index":260,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["expose",{"_index":21075,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exposed",{"_index":6307,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exposes",{"_index":26002,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express",{"_index":7642,"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":13338,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["expressed",{"_index":25549,"title":{},"body":{"license.html":{}}}],["expressions",{"_index":809,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["expressly",{"_index":25398,"title":{},"body":{"license.html":{}}}],["ext",{"_index":14342,"title":{},"body":{"interfaces/IntrospectResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["extend",{"_index":525,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UpdateNewsParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["extendability",{"_index":25800,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extended",{"_index":4214,"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":20948,"title":{},"body":{"classes/SortingParams.html":{}}}],["extends",{"_index":231,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"injectables/PreviewProducer.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/SchulConneXProvisioningOptions.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["extension",{"_index":11711,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extensions",{"_index":25265,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["extent",{"_index":25150,"title":{},"body":{"license.html":{}}}],["external",{"_index":614,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponse.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["external_school_number_missing",{"_index":10120,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["external_sub",{"_index":8024,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["external_tool_logo_fetch_failed",{"_index":10418,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["external_tool_logo_fetched",{"_index":10424,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["external_tool_logo_not_found",{"_index":10427,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}}}],["external_tool_logo_size_exceeded",{"_index":10496,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["external_tool_logo_wrong_file_type",{"_index":10498,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externalauthconfig",{"_index":14442,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["externalgroup",{"_index":17748,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.externalid",{"_index":17821,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.from",{"_index":17825,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.name",{"_index":17823,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers",{"_index":17828,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers.map",{"_index":17837,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers?.length",{"_index":17836,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.type",{"_index":17824,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.until",{"_index":17826,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.user.externaluserid",{"_index":17833,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupdto",{"_index":10075,"title":{"classes/ExternalGroupDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroupid",{"_index":20148,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroups",{"_index":17279,"title":{},"body":{"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalgroups.some",{"_index":17855,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuser",{"_index":17751,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuserdto",{"_index":10083,"title":{"classes/ExternalGroupUserDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["externalid",{"_index":704,"title":{},"body":{"interfaces/AccountParams.html":{},"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["externalidtoken",{"_index":8115,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/LoginResponseMapper.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{}}}],["externalorganizationid",{"_index":20150,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalrolename",{"_index":13039,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["externalschool",{"_index":14418,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalschool.externalid",{"_index":17771,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.location",{"_index":17783,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.name",{"_index":17784,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.officialschoolnumber",{"_index":17774,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschooldto",{"_index":10105,"title":{"classes/ExternalSchoolDto.html":{}},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalschoolid",{"_index":10118,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/LdapStrategy.html":{}}}],["externalschoolnumbermissingloggableexception",{"_index":10114,"title":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["externalschoolnumbermissingloggableexception(data.externalschool.externalid",{"_index":24102,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["externalsource",{"_index":10123,"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":12896,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsource.systemid",{"_index":12898,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsourceentity",{"_index":10128,"title":{"classes/ExternalSourceEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["externalsourceentityprops",{"_index":10131,"title":{"interfaces/ExternalSourceEntityProps.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["externalsourcename",{"_index":4712,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["externalsourceresponse",{"_index":10137,"title":{"classes/ExternalSourceResponse.html":{}},"body":{"classes/ExternalSourceResponse.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["externalsub",{"_index":8053,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["externaltool",{"_index":2776,"title":{"classes/ExternalTool.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool'})@httpcode(httpstatus.no_content",{"_index":23150,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltool.config",{"_index":10957,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientid",{"_index":11179,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientsecret",{"_index":11182,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.secret",{"_index":11036,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.type",{"_index":11175,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.id",{"_index":10471,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolConfigurationMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool.isbasicconfig(props.config",{"_index":10165,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.ishidden",{"_index":10304,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.islti11config(externaltool.config",{"_index":11035,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.islti11config(props.config",{"_index":10169,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.isoauth2config(externaltool.config",{"_index":11038,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(loadedtool.config",{"_index":11174,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(props.config",{"_index":10167,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.isoauth2config(tool.config",{"_index":11049,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.isoauth2config(toupdate.config",{"_index":11064,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.logo",{"_index":10466,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltool.logourl",{"_index":10289,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.name",{"_index":10589,"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":10963,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.parameters",{"_index":10243,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltool.parameters.filter",{"_index":10244,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltool.parameters.foreach((param",{"_index":10591,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["externaltool.restricttocontexts",{"_index":10965,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.restricttocontexts.includes(context",{"_index":6115,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.restricttocontexts?.length",{"_index":6114,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.url",{"_index":10962,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.version",{"_index":10964,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltoolconfig",{"_index":2700,"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":2704,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:6",{"_index":2702,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfigcreateparams",{"_index":2720,"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":2722,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:9",{"_index":2724,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigdo",{"_index":10948,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltoolconfigentity",{"_index":2713,"title":{"classes/ExternalToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["externaltoolconfigparams",{"_index":10835,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolconfigresponse",{"_index":2730,"title":{"classes/ExternalToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:10",{"_index":2732,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:7",{"_index":2733,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigurationservice",{"_index":10187,"title":{"injectables/ExternalToolConfigurationService.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"modules/ToolApiModule.html":{}}}],["externaltoolconfigurationuc",{"_index":10248,"title":{"injectables/ExternalToolConfigurationUc.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["externaltoolcontentbody",{"_index":6505,"title":{"classes/ExternalToolContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolcreate",{"_index":10829,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams",{"_index":10309,"title":{"classes/ExternalToolCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams.config",{"_index":10895,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.ishidden",{"_index":10903,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.logourl",{"_index":10902,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.name",{"_index":10900,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.opennewtab",{"_index":10904,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.parameters",{"_index":10899,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.restricttocontexts",{"_index":10905,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.url",{"_index":10901,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltooldomapper",{"_index":23173,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolelement",{"_index":3137,"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":6549,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.id",{"_index":18792,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementcontent",{"_index":10340,"title":{"classes/ExternalToolElementContent.html":{}},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementcontentbody",{"_index":9651,"title":{"classes/ExternalToolElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolelementnodeentity",{"_index":3503,"title":{"entities/ExternalToolElementNodeEntity.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementnodeentityprops",{"_index":10351,"title":{"interfaces/ExternalToolElementNodeEntityProps.html":{}},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["externaltoolelementprops",{"_index":10338,"title":{"interfaces/ExternalToolElementProps.html":{}},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["externaltoolelementresponse",{"_index":4404,"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":6440,"title":{"classes/ExternalToolElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper.getinstance",{"_index":6430,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["externaltoolelementresponsemapper.instance",{"_index":10357,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolentity",{"_index":10359,"title":{"entities/ExternalToolEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolentityfactory",{"_index":10378,"title":{"classes/ExternalToolEntityFactory.html":{}},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolentityfactory.define",{"_index":10397,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolfactory",{"_index":8346,"title":{"classes/ExternalToolFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolfactory.define(externaltool",{"_index":8357,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolid",{"_index":6739,"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":10405,"title":{"classes/ExternalToolIdParams.html":{}},"body":{"classes/ExternalToolIdParams.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo",{"_index":10406,"title":{"classes/ExternalToolLogo.html":{}},"body":{"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.contenttype",{"_index":10412,"title":{},"body":{"classes/ExternalToolLogo.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.logo",{"_index":10411,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["externaltoollogofetchedloggable",{"_index":10421,"title":{"classes/ExternalToolLogoFetchedLoggable.html":{}},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchedloggable(logourl",{"_index":10478,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception",{"_index":10413,"title":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception(logourl",{"_index":10482,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception",{"_index":10425,"title":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception(toolid",{"_index":10486,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogoservice",{"_index":10258,"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":10451,"title":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["externaltoollogowrongfiletypeloggableexception",{"_index":10452,"title":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externaltoolmetadata",{"_index":10501,"title":{"classes/ExternalToolMetadata.html":{}},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadata.contextexternaltoolcountpercontext",{"_index":10511,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadata.schoolexternaltoolcount",{"_index":10509,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadatamapper",{"_index":10512,"title":{"classes/ExternalToolMetadataMapper.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"modules/ExternalToolModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadatamapper.maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":23205,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse",{"_index":10518,"title":{"classes/ExternalToolMetadataResponse.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":10525,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse.schoolexternaltoolcount",{"_index":10524,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":23166,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataservice",{"_index":10526,"title":{"injectables/ExternalToolMetadataService.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltoolmodule",{"_index":6821,"title":{"modules/ExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["externaltoolname",{"_index":19048,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["externaltoolparametervalidationservice",{"_index":10551,"title":{"injectables/ExternalToolParameterValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolparams",{"_index":23142,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolprops",{"_index":8308,"title":{"interfaces/ExternalToolProps.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolpseudonymentity",{"_index":10628,"title":{"entities/ExternalToolPseudonymEntity.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/PseudonymScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolpseudonymentity(entityprops",{"_index":10684,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonymentityprops",{"_index":10636,"title":{"interfaces/ExternalToolPseudonymEntityProps.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonympromise",{"_index":18488,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolpseudonymrepo",{"_index":10642,"title":{"injectables/ExternalToolPseudonymRepo.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{}}}],["externaltoolpseudonyms",{"_index":18476,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolrepo",{"_index":10552,"title":{"injectables/ExternalToolRepo.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["externaltoolrepomapper",{"_index":6890,"title":{"classes/ExternalToolRepoMapper.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentrydostoentities(entitydo.parameters",{"_index":6920,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.parameters",{"_index":6913,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.schoolparameters",{"_index":20025,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapdotoentityproperties(entitydo",{"_index":10731,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapentitytodo(entity",{"_index":10730,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrequestmapper",{"_index":10816,"title":{"injectables/ExternalToolRequestMapper.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponse",{"_index":10919,"title":{"classes/ExternalToolResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper",{"_index":10940,"title":{"injectables/ExternalToolResponseMapper.html":{}},"body":{"injectables/ExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.mapcustomparametertoresponse(externaltool.parameters",{"_index":23081,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(created",{"_index":23176,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(externaltool",{"_index":23188,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(tool",{"_index":23183,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(updated",{"_index":23192,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23170,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23143,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltools",{"_index":10203,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltools.data",{"_index":10296,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["externaltools.data.filter((tool",{"_index":10220,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.find",{"_index":10232,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.map",{"_index":23083,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltools.map((tooldo",{"_index":20054,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["externaltoolscope",{"_index":10722,"title":{"classes/ExternalToolScope.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{}}}],["externaltoolsearchlistresponse",{"_index":10987,"title":{"classes/ExternalToolSearchListResponse.html":{}},"body":{"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23455,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":23154,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolsearchparams",{"_index":10831,"title":{"classes/ExternalToolSearchParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSearchParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolsearchquery",{"_index":10709,"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":7044,"title":{"injectables/ExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolservice.deleteexternaltool",{"_index":6085,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["externaltoolservicemapper",{"_index":10553,"title":{"injectables/ExternalToolServiceMapper.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["externaltoolsortby",{"_index":20931,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["externaltoolsortingmapper",{"_index":10721,"title":{"classes/ExternalToolSortingMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["externaltoolsortingmapper.mapdosortordertoqueryorder",{"_index":10724,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltooluc",{"_index":11106,"title":{"injectables/ExternalToolUc.html":{}},"body":{"injectables/ExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdate",{"_index":10862,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams",{"_index":10860,"title":{"classes/ExternalToolUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams.config",{"_index":10881,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.id",{"_index":10888,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.ishidden",{"_index":10892,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.logourl",{"_index":10891,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.name",{"_index":10889,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.opennewtab",{"_index":10893,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.parameters",{"_index":10887,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.restricttocontexts",{"_index":10894,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.url",{"_index":10890,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolvalidationservice",{"_index":10549,"title":{"injectables/ExternalToolValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolversion",{"_index":20134,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["externaltoolversionincrementservice",{"_index":10550,"title":{"injectables/ExternalToolVersionIncrementService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["externaltoolversionservice",{"_index":11007,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaluser",{"_index":14416,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.birthday",{"_index":17801,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.email",{"_index":17795,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.externalid",{"_index":17803,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.firstname",{"_index":17791,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.lastname",{"_index":17793,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.roles",{"_index":17786,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.includes(rolename.administrator",{"_index":19777,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.push(rolename.teacher",{"_index":19778,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluserdto",{"_index":11257,"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":10098,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningDto.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["extra",{"_index":26439,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["extract",{"_index":13832,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/MetaTagExtractorController.html":{}}}],["extractaccount",{"_index":14854,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractaccount(user",{"_index":14860,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue",{"_index":14855,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue(value",{"_index":14863,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractid",{"_index":116,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractid(url",{"_index":123,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractids(users",{"_index":7595,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extracting",{"_index":12737,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["extraction",{"_index":13829,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["extractjwt",{"_index":14471,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromauthheaderasbearertoken",{"_index":14475,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromextractors",{"_index":14474,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractor",{"_index":14472,"title":{},"body":{"injectables/JwtStrategy.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["extractor.config",{"_index":16361,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.controller.ts",{"_index":16337,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.controller.ts:19",{"_index":16344,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.module",{"_index":16335,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["extractor.module.ts",{"_index":16359,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.response.ts",{"_index":16367,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:19",{"_index":16378,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:23",{"_index":16375,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:27",{"_index":16370,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:31",{"_index":16371,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:35",{"_index":16376,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:39",{"_index":16372,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:43",{"_index":16374,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:6",{"_index":16369,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.service.ts",{"_index":16382,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:12",{"_index":16391,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:26",{"_index":16402,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:30",{"_index":16398,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:50",{"_index":16400,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:65",{"_index":16390,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:69",{"_index":16395,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:9",{"_index":16388,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.ts",{"_index":14456,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.ts:6",{"_index":14459,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.uc.ts",{"_index":16434,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:14",{"_index":16437,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:8",{"_index":16435,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor/controller/dto/meta",{"_index":16366,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor/controller/meta",{"_index":16336,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor/controller/post",{"_index":12649,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["extractor/interface/url",{"_index":23526,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["extractor/meta",{"_index":16333,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["extractor/service/meta",{"_index":16381,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["extractor/service/url",{"_index":108,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractor/uc/meta",{"_index":16433,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractparamsfromrequest",{"_index":15210,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractparamsfromrequest(request",{"_index":15219,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractreferences",{"_index":3278,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extractreferences(statuses",{"_index":3304,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extracts",{"_index":2373,"title":{},"body":{"injectables/BBBService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["extractuserlist(users",{"_index":7607,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extractvalidationerrordetails",{"_index":1382,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["extractvalidationerrordetails(validationerror",{"_index":1398,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["f",{"_index":552,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["f0",{"_index":3197,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["facilitate",{"_index":26055,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["facilitating",{"_index":25532,"title":{},"body":{"license.html":{}}}],["facilities",{"_index":25197,"title":{},"body":{"license.html":{}}}],["factories",{"_index":8859,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["factory",{"_index":516,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomsUc.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["factory.define",{"_index":562,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["factory.define(generator",{"_index":2590,"title":{},"body":{"classes/BaseFactory.html":{}}}],["factory/account.factory",{"_index":1608,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["fail",{"_index":25093,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failafter",{"_index":15198,"title":{},"body":{"injectables/LdapService.html":{}}}],["failed",{"_index":644,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/ApiValidationError.html":{},"interfaces/CleanOptions.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConnectionError.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"todo.html":{}}}],["failed.loggable",{"_index":20190,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["failing",{"_index":15867,"title":{},"body":{"injectables/LocalStrategy.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failingfileids",{"_index":9008,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.length",{"_index":9009,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.push(result.fileid",{"_index":9016,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.tostring",{"_index":9021,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["fails",{"_index":4913,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["failure",{"_index":1461,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"license.html":{}}}],["failurecount",{"_index":2869,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["fair",{"_index":25194,"title":{},"body":{"license.html":{}}}],["fallback",{"_index":22225,"title":{},"body":{"injectables/TaskUC.html":{}}}],["fallbackhostname",{"_index":6527,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["fallbackimage",{"_index":16430,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["false",{"_index":197,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["false})@index",{"_index":11608,"title":{},"body":{"entities/FileEntity.html":{}}}],["false})@isoptional",{"_index":24485,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["false})@sanitizehtml",{"_index":18934,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["familiar",{"_index":26373,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["familienname",{"_index":19696,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["family",{"_index":25321,"title":{},"body":{"license.html":{}}}],["fantasy",{"_index":25018,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["far",{"_index":15019,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fashion",{"_index":25121,"title":{},"body":{"license.html":{}}}],["fast",{"_index":26052,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["favicon",{"_index":24951,"title":{},"body":{"dependencies.html":{}}}],["favor",{"_index":25327,"title":{},"body":{"license.html":{}}}],["featherjs",{"_index":8060,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathers",{"_index":1885,"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":11477,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersapp.service(path",{"_index":11484,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersauthorizationservice",{"_index":1863,"title":{"injectables/FeathersAuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/NewsUc.html":{}}}],["feathersauthprovider",{"_index":1869,"title":{"injectables/FeathersAuthProvider.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["featherserror",{"_index":10053,"title":{"interfaces/FeathersError.html":{}},"body":{"classes/ErrorUtils.html":{},"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["featherserror)?.type",{"_index":10056,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["feathersexpress",{"_index":11482,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersexpress.services['nest",{"_index":25970,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersjs/adapter",{"_index":24813,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/authentication",{"_index":24816,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/commons",{"_index":24817,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/configuration",{"_index":24818,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/errors",{"_index":8830,"title":{},"body":{"injectables/DashboardUc.html":{},"dependencies.html":{}}}],["feathersjs/express",{"_index":11471,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"dependencies.html":{}}}],["feathersjs/feathers",{"_index":24819,"title":{},"body":{"dependencies.html":{}}}],["feathersmodule",{"_index":1861,"title":{"modules/FeathersModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/FeathersModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersrosterservice",{"_index":11352,"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":11460,"title":{"interfaces/FeathersService.html":{}},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceparams",{"_index":11464,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceprovider",{"_index":10063,"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":11473,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feature",{"_index":7739,"title":{},"body":{"injectables/CourseCopyUC.html":{},"interfaces/IToolFeatures.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feature/bc",{"_index":25027,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature/sc",{"_index":25017,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature_disabled_app_will_not_be_created",{"_index":18216,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_disabled_middlewares_will_not_be_created",{"_index":18209,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_identity_management_enabled",{"_index":13878,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_login_enabled",{"_index":13879,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_store_enabled",{"_index":13880,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_imscc_course_export_enabled",{"_index":5733,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_tldraw_enabled",{"_index":22701,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["features",{"_index":7509,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["featureundertest",{"_index":26146,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["federal",{"_index":15364,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstate",{"_index":11509,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["federalstateentity",{"_index":7501,"title":{"entities/FederalStateEntity.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstatefactory",{"_index":15363,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatefactory.build",{"_index":15377,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatenames",{"_index":17765,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstatenames.niedersachen",{"_index":17779,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstateproperties",{"_index":7492,"title":{"interfaces/FederalStateProperties.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstaterepo",{"_index":11493,"title":{"injectables/FederalStateRepo.html":{}},"body":{"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{}}}],["federalstates",{"_index":7500,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstateservice",{"_index":11499,"title":{"injectables/FederalStateService.html":{}},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{}}}],["fee",{"_index":25248,"title":{},"body":{"license.html":{}}}],["feed",{"_index":18881,"title":{},"body":{"classes/ReferencesService.html":{}}}],["feedback",{"_index":5586,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feedbacklink",{"_index":5579,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feel",{"_index":1624,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fetch",{"_index":2990,"title":{},"body":{"entities/Board.html":{},"injectables/CourseCopyService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["fetchbase64logo",{"_index":10431,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchbase64logo(logourl",{"_index":10441,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetched",{"_index":10419,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["fetchlogo",{"_index":10432,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchlogo(externaltool",{"_index":10443,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchoptions",{"_index":16414,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["few",{"_index":26481,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["ffd8ffe0",{"_index":10454,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffd8ffe1",{"_index":10456,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffffff",{"_index":7772,"title":{},"body":{"classes/CourseFactory.html":{}}}],["field",{"_index":6388,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LdapStrategy.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/ValidationErrorDetailResponse.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["field${sequence",{"_index":13180,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["fieldname",{"_index":2942,"title":{},"body":{"entities/Board.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["fields",{"_index":2230,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BatchDeletionUc.html":{},"injectables/HydraSsoService.html":{},"injectables/TaskRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["file",{"_index":5,"title":{"interfaces/File.html":{},"additional-documentation/nestjs-application/file-structure.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["file.bucket",{"_index":9039,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.collectionname",{"_index":5281,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["file.data",{"_index":11523,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.dto",{"_index":22492,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.dto.ts",{"_index":7223,"title":{},"body":{"classes/CopyFileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.dto.ts:11",{"_index":13549,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:13",{"_index":13547,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:15",{"_index":13548,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:4",{"_index":13546,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:5",{"_index":7225,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:7",{"_index":7226,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:9",{"_index":7224,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.factory.ts",{"_index":13524,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.factory.ts:8",{"_index":13526,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.id",{"_index":9037,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.interface",{"_index":5917,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["file.interface.ts",{"_index":5843,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:2",{"_index":5845,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:3",{"_index":5846,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.isdirectory",{"_index":9034,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.mimetype",{"_index":11524,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.name",{"_index":11522,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.repo",{"_index":22497,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.repo.ts",{"_index":22443,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:12",{"_index":22454,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:16",{"_index":22450,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:20",{"_index":22455,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:25",{"_index":22452,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:29",{"_index":22457,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:8",{"_index":22458,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.storagefilename",{"_index":9041,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.storageprovider",{"_index":9043,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.url.params.ts",{"_index":6560,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:12",{"_index":6562,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:13",{"_index":15743,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:7",{"_index":6563,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:8",{"_index":15744,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file_could_not_be_copied_hint",{"_index":7353,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filecontent",{"_index":5311,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ReferencesService.html":{}}}],["filecontent.replace(/\\r\\n?/g",{"_index":18878,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontent.split('\\n",{"_index":18884,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontentbody",{"_index":6506,"title":{"classes/FileContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["filecopy",{"_index":18647,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.foreach((copyfiledto",{"_index":18664,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.map((copyfiledto",{"_index":18654,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservice",{"_index":3634,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservicefactory",{"_index":5450,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["filecopystatus",{"_index":7361,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["filecouldnotbecopied",{"_index":7354,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedo",{"_index":7214,"title":{"interfaces/FileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filedomainobjectprops",{"_index":11513,"title":{"interfaces/FileDomainObjectProps.html":{}},"body":{"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filedto",{"_index":7364,"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":11532,"title":{"classes/FileDtoBuilder.html":{}},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(fileinfo.filename",{"_index":11546,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(name",{"_index":11551,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtos",{"_index":7346,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map",{"_index":7370,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map((filedto",{"_index":7363,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileelement",{"_index":3140,"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":6516,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.caption",{"_index":6513,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.id",{"_index":18777,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["fileelementcontent",{"_index":11570,"title":{"classes/FileElementContent.html":{}},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementcontentbody",{"_index":9643,"title":{"classes/FileElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["fileelementnode",{"_index":3506,"title":{"entities/FileElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelementnodeprops",{"_index":11580,"title":{"interfaces/FileElementNodeProps.html":{}},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["fileelementprops",{"_index":11568,"title":{"interfaces/FileElementProps.html":{}},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["fileelementresponse",{"_index":4066,"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":4048,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["fileelementresponsemapper",{"_index":6441,"title":{"classes/FileElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementresponsemapper.getinstance",{"_index":6425,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["fileelementresponsemapper.instance",{"_index":11590,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["fileentity",{"_index":1019,"title":{"entities/FileEntity.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/ServerConsoleModule.html":{}}}],["fileentityprops",{"_index":11636,"title":{"interfaces/FileEntityProps.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["fileexists",{"_index":22461,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["fileexists(filename",{"_index":22472,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filefieldsinterceptor",{"_index":13296,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["filegroupstatus",{"_index":7375,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileid",{"_index":7374,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/DeleteFilesUc.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["fileinfo",{"_index":11542,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfo.mimetype",{"_index":11547,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfos",{"_index":12275,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["fileline.trim",{"_index":18890,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines",{"_index":18883,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines.foreach((fileline",{"_index":18889,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filemetadata",{"_index":11686,"title":{"classes/FileMetadata.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["filename",{"_index":5260,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application.html":{}}}],["filename.includes",{"_index":22502,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename.split('.')[0",{"_index":5261,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filename.startswith",{"_index":22503,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename=\"${encodeuri(fileresponse.name",{"_index":12406,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filename=\"${encodeuri(params.fwulearningcontent",{"_index":12553,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["filenameobj",{"_index":11920,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameobj.name",{"_index":11922,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameprefix",{"_index":7264,"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":5256,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["filenames.map((filename",{"_index":5258,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filenamewithoutextension",{"_index":11919,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["fileownermodel",{"_index":11618,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["fileownermodel.user",{"_index":12209,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["fileparambuilder",{"_index":7351,"title":{"classes/FileParamBuilder.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileParamBuilder.html":{}}}],["fileparambuilder.build(copyentity.getschoolid",{"_index":7356,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparambuilder.build(originalentity.getschoolid",{"_index":7355,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparams",{"_index":7275,"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":5200,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{}}}],["filepermissionentity",{"_index":11616,"title":{"classes/FilePermissionEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionentityprops",{"_index":11800,"title":{"interfaces/FilePermissionEntityProps.html":{}},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionreferencemodel",{"_index":11805,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filerecord",{"_index":7237,"title":{"entities/FileRecord.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"modules/ServerConsoleModule.html":{}}}],["filerecord.creatorid",{"_index":7252,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.deletedsince",{"_index":7257,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.getpreviewstatus",{"_index":7259,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.id",{"_index":7241,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.mimetype",{"_index":7254,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.name",{"_index":7242,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.parentid",{"_index":7250,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.parenttype",{"_index":7255,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.schoolid",{"_index":12402,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filerecord.securitycheck.status",{"_index":7248,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.size",{"_index":7246,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordcopy",{"_index":11884,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordcopy.securitycheck",{"_index":11886,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordfactory",{"_index":11924,"title":{"classes/FileRecordFactory.html":{}},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordfactory.define(filerecord",{"_index":11931,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordid",{"_index":7278,"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":7261,"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":11952,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse.map((record",{"_index":12304,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordmapper",{"_index":11936,"title":{"classes/FileRecordMapper.html":{}},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordmapper.maptofilerecordresponse(filerecord",{"_index":11951,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordparams",{"_index":7213,"title":{"classes/FileRecordParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype",{"_index":7210,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype'})@isenum(filerecordparenttype",{"_index":11962,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["filerecordparenttype.boardnode",{"_index":18653,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filerecordparenttype.course",{"_index":11933,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordparenttype.lesson",{"_index":12317,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.submission",{"_index":12319,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.task",{"_index":12318,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordproperties",{"_index":11856,"title":{"interfaces/FileRecordProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordrepo",{"_index":11965,"title":{"injectables/FileRecordRepo.html":{}},"body":{"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{}}}],["filerecordresponse",{"_index":7239,"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":11948,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse.id",{"_index":12309,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.name",{"_index":12310,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.parentid",{"_index":12311,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecords",{"_index":11858,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["filerecords.map((filerecord",{"_index":11950,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"injectables/PreviewService.html":{}}}],["filerecordscanstatus",{"_index":7260,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordscope",{"_index":11977,"title":{"classes/FileRecordScope.html":{}},"body":{"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{}}}],["filerecordscope().bycreatorid(creatorid",{"_index":12006,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(false",{"_index":11996,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(true",{"_index":11998,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byparentid(parentid).bymarkedfordelete(false",{"_index":11999,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(false",{"_index":12001,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(true",{"_index":12002,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().bysecuritycheckrequesttoken(token",{"_index":12005,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordsecuritycheck",{"_index":11837,"title":{"classes/FileRecordSecurityCheck.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordsecuritycheckproperties",{"_index":11848,"title":{"interfaces/FileRecordSecurityCheckProperties.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerequestinfo",{"_index":7324,"title":{"interfaces/FileRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["fileresponse",{"_index":12051,"title":{},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"classes/TestHelper.html":{}}}],["fileresponse.contentlength",{"_index":12407,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponse.contenttype",{"_index":12405,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponsebuilder",{"_index":12048,"title":{"classes/FileResponseBuilder.html":{}},"body":{"classes/FileResponseBuilder.html":{},"injectables/PreviewService.html":{}}}],["fileresponsebuilder.build(file",{"_index":18154,"title":{},"body":{"injectables/PreviewService.html":{}}}],["files",{"_index":5234,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/Options.html":{},"classes/Path.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["files.concat(returnedfiles",{"_index":19629,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["files.console.ts",{"_index":8955,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:15",{"_index":8965,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:6",{"_index":8959,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.interface",{"_index":14598,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["files.interface.ts",{"_index":13754,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["files.length",{"_index":9017,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TemporaryFileStorage.html":{}}}],["files.map((file",{"_index":9011,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.service",{"_index":12326,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["files.service.ts",{"_index":7335,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:17",{"_index":7341,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:23",{"_index":7343,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:42",{"_index":7345,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:58",{"_index":7349,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.uc.ts",{"_index":8977,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:106",{"_index":8994,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:12",{"_index":8986,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:22",{"_index":8996,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:66",{"_index":8997,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:76",{"_index":8988,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:91",{"_index":8992,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files/:file",{"_index":13283,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.file?.[0",{"_index":13340,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.h5p?.[0",{"_index":13342,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files_storage_s3_connection",{"_index":12093,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/PreviewService.html":{}}}],["filesdto",{"_index":12303,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesecuritycheckentity",{"_index":11620,"title":{"classes/FileSecurityCheckEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckentityprops",{"_index":12053,"title":{"interfaces/FileSecurityCheckEntityProps.html":{}},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus",{"_index":12058,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus.pending",{"_index":12059,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycontroller",{"_index":12061,"title":{"controllers/FileSecurityController.html":{}},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filesmodule",{"_index":9050,"title":{"modules/FilesModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/FilesModule.html":{},"modules/ServerConsoleModule.html":{}}}],["filespreviewevents",{"_index":18039,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{}}}],["filespreviewevents.generate_preview",{"_index":18044,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["filespreviewexchange",{"_index":18037,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesrepo",{"_index":8984,"title":{"injectables/FilesRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{}}}],["filesservice",{"_index":12190,"title":{"injectables/FilesService.html":{}},"body":{"modules/FilesModule.html":{},"injectables/FilesService.html":{}}}],["filesservicebaseurl",{"_index":1270,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["filesstorageamqpmodule",{"_index":12239,"title":{"modules/FilesStorageAMQPModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["filesstorageapimodule",{"_index":12247,"title":{"modules/FilesStorageApiModule.html":{}},"body":{"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{}}}],["filesstorageclientadapterservice",{"_index":7340,"title":{"injectables/FilesStorageClientAdapterService.html":{}},"body":{"injectables/CopyFilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SubmissionService.html":{},"injectables/TaskService.html":{}}}],["filesstorageclientconfig",{"_index":12282,"title":{"interfaces/FilesStorageClientConfig.html":{}},"body":{"interfaces/FilesStorageClientConfig.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ServerConfig.html":{}}}],["filesstorageclientmapper",{"_index":11790,"title":{"classes/FilesStorageClientMapper.html":{}},"body":{"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapcopyfilelistresponsetocopyfilesdto(response",{"_index":12276,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapcopyfileresponsetocopyfiledto(response",{"_index":12307,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapentitytoparenttype(parent",{"_index":11792,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["filesstorageclientmapper.mapfilerecordlistresponsetodomainfilesdto(response",{"_index":12278,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapfilerecordresponsetofiledto(record",{"_index":12305,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapstringtoparenttype(filerecordresponse.parenttype",{"_index":12308,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmodule",{"_index":3889,"title":{"modules/FilesStorageClientModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LessonModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskModule.html":{}}}],["filesstorageconsumer",{"_index":12244,"title":{"injectables/FilesStorageConsumer.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["filesstoragecontroller",{"_index":12251,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["filesstorageevents",{"_index":7201,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageevents.copy_files_of_parent",{"_index":12353,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.delete_files_of_parent",{"_index":12359,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.list_files_of_parent",{"_index":12355,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.remove_creatorid_of_files",{"_index":12364,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageexchange",{"_index":7199,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesstorageinternalactions",{"_index":1316,"title":{},"body":{"injectables/AntivirusService.html":{},"controllers/FileSecurityController.html":{}}}],["filesstoragemapper",{"_index":12350,"title":{"classes/FilesStorageMapper.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(filerecords",{"_index":12358,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(updatedfilerecords",{"_index":12369,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordresponse(filerecord",{"_index":12403,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filesstoragemodule",{"_index":12243,"title":{"modules/FilesStorageModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{}}}],["filesstorageproducer",{"_index":12262,"title":{"injectables/FilesStorageProducer.html":{}},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageservice",{"_index":12332,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["filesstoragetestmodule",{"_index":12464,"title":{"modules/FilesStorageTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{}}}],["filesstorageuc",{"_index":12074,"title":{},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filestatuses",{"_index":7369,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filestorageauthorizationcontext",{"_index":26402,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["filestorageconfig",{"_index":12087,"title":{"interfaces/FileStorageConfig.html":{}},"body":{"interfaces/FileStorageConfig.html":{}}}],["filestoragemqproducer",{"_index":12261,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesystem",{"_index":5300,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/Options.html":{}}}],["filesystemadapter",{"_index":5207,"title":{"injectables/FileSystemAdapter.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["filesystemmodule",{"_index":12175,"title":{"modules/FileSystemModule.html":{}},"body":{"modules/FileSystemModule.html":{},"modules/ManagementModule.html":{}}}],["filetype",{"_index":18585,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["filetyperesult",{"_index":18588,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["fileupload_enabled=false",{"_index":26349,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["fileurlparams",{"_index":7274,"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":7347,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements",{"_index":7359,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements.foreach",{"_index":21860,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["fill",{"_index":26198,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["filled",{"_index":10600,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["filledtemplate",{"_index":10463,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["filter",{"_index":4703,"title":{},"body":{"classes/ClassFilterParams.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/DatabaseManagementConsole.html":{},"modules/ErrorModule.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/NameMatch.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["filter((data",{"_index":5291,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filter((element",{"_index":7453,"title":{},"body":{"classes/CopyMapper.html":{}}}],["filter((entity",{"_index":21588,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["filter((group",{"_index":19832,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((groupuser",{"_index":13103,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["filter((key",{"_index":11103,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["filter((match",{"_index":14303,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["filter((otheruser",{"_index":19841,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((result",{"_index":140,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["filter((rolename",{"_index":24136,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["filter((user",{"_index":15015,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["filter(issubmissionitem",{"_index":9902,"title":{},"body":{"injectables/ElementUc.html":{}}}],["filter.ts",{"_index":16789,"title":{},"body":{"interfaces/NewsTargetFilter.html":{}}}],["filter/global",{"_index":10029,"title":{},"body":{"modules/ErrorModule.html":{}}}],["filterallowed",{"_index":4535,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterallowed(userid",{"_index":4544,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterbypermission",{"_index":9723,"title":{},"body":{"classes/DtoCreator.html":{}}}],["filterbypermission(elements",{"_index":9741,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtercoursesbytoolavailability",{"_index":11360,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["filtercoursesbytoolavailability(courses",{"_index":11374,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["filtered",{"_index":5266,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtered.every((status",{"_index":7407,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filtered.length",{"_index":6257,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["filtered.some((status",{"_index":7409,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filteredaccounts",{"_index":990,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts.length",{"_index":994,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts[0].id.tostring",{"_index":1001,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredcollectionswithfilepaths",{"_index":5274,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredcollectionswithfilepaths.length",{"_index":5277,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredgroups",{"_index":17810,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteredgroups.filter((group",{"_index":17813,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteredpathobjects",{"_index":19639,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["filteredtoolreferences",{"_index":23432,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["filteredusers",{"_index":17839,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteremailadresses",{"_index":16231,"title":{},"body":{"injectables/MailService.html":{}}}],["filteremailadresses(mails",{"_index":16235,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["filterexternalgroups",{"_index":17734,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filterexternalgroups(externalgroups",{"_index":17744,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filterforavailableexternaltools",{"_index":10190,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableexternaltools(externaltools",{"_index":10200,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools",{"_index":10191,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools(schoolexternaltools",{"_index":10205,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools",{"_index":10192,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools(externaltools",{"_index":10209,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions",{"_index":10193,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions(availabletools",{"_index":10212,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterimportuserparams",{"_index":12469,"title":{"classes/FilterImportUserParams.html":{}},"body":{"classes/FilterImportUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["filtermatchtype",{"_index":12482,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.auto",{"_index":14172,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.manual",{"_index":14174,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.none",{"_index":14176,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filternewsparams",{"_index":12493,"title":{"classes/FilterNewsParams.html":{}},"body":{"classes/FilterNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["filterparametersforscope",{"_index":10194,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparametersforscope(externaltool",{"_index":10215,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparams",{"_index":12813,"title":{},"body":{"controllers/GroupController.html":{},"controllers/SystemController.html":{}}}],["filterparams.onlyoauth",{"_index":21471,"title":{},"body":{"controllers/SystemController.html":{}}}],["filterparams.type",{"_index":12835,"title":{},"body":{"controllers/GroupController.html":{}}}],["filterquery",{"_index":2479,"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":{},"classes/GroupScope.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":12486,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/RoleNameMapper.html":{}}}],["filterroletype.admin",{"_index":19244,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.student",{"_index":19246,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.teacher",{"_index":19245,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filters",{"_index":5264,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/FilterNewsParams.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/UserRepo.html":{}}}],["filters.availableon",{"_index":22065,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.classes",{"_index":14223,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.finished.value",{"_index":22058,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.firstname",{"_index":14215,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.flagged",{"_index":14227,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.lastname",{"_index":14217,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.loginname",{"_index":14219,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.matches",{"_index":14225,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.name.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":24228,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters.role",{"_index":14221,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters?.afterduedateornone",{"_index":22061,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.availableon",{"_index":22063,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.draft",{"_index":22069,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.finished",{"_index":22056,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.hidden",{"_index":15646,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["filters?.name",{"_index":24225,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters?.nofutureavailabledate",{"_index":22071,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.onlyactivecourses",{"_index":7950,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["filtersubmissionsbypermission",{"_index":21360,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtersubmissionsbypermission(submissions",{"_index":21364,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtertoolswithpermissions",{"_index":7085,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filtertoolswithpermissions(userid",{"_index":7096,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filterundefined",{"_index":16090,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["filteruserparams",{"_index":12503,"title":{"classes/FilterUserParams.html":{}},"body":{"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/UserMatchMapper.html":{}}}],["final",{"_index":13312,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["finally",{"_index":25408,"title":{},"body":{"license.html":{}}}],["find",{"_index":5138,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionItemUc.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["find((item",{"_index":9903,"title":{},"body":{"injectables/ElementUc.html":{}}}],["find((result",{"_index":143,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["find(@query",{"_index":21468,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(filterparams",{"_index":21451,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(params",{"_index":11467,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["find(query",{"_index":6867,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["findaccountbydbcaccountid",{"_index":13906,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcaccountid(accountdbcaccountid",{"_index":13920,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid",{"_index":13907,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid(accountdbcuserid",{"_index":13923,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid",{"_index":319,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid(accountid",{"_index":13925,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["findaccountbyid(currentuser",{"_index":350,"title":{},"body":{"controllers/AccountController.html":{}}}],["findaccountbyid(id",{"_index":14867,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername",{"_index":13908,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername(username",{"_index":13926,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findall",{"_index":15471,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"controllers/NewsController.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findall(currentuser",{"_index":16602,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TaskController.html":{}}}],["findall(userid",{"_index":22188,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallbyconfigtype",{"_index":10705,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbyconfigtype(type",{"_index":10711,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbycontext",{"_index":7040,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycontext(contextref",{"_index":7053,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycourseids",{"_index":15633,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbycourseids(courseids",{"_index":15636,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbydeletionrequestid",{"_index":9296,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbydeletionrequestid(deletionrequestid",{"_index":9300,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbyparentids",{"_index":21982,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyparentids(parentids",{"_index":21988,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyschoolid",{"_index":4854,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbyschoolid(schoolid",{"_index":4857,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbytask",{"_index":21332,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{}}}],["findallbytask(taskid",{"_index":21337,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findallbytask(userid",{"_index":21366,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["findallbytaskids",{"_index":21281,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbytaskids(taskids",{"_index":21285,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbyuser",{"_index":7992,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuser(userid",{"_index":7994,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuserandfilename",{"_index":22444,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserandfilename(userid",{"_index":22449,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserid",{"_index":4811,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallbyuserid(userid",{"_index":4817,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallcoursegroupsbyuserid",{"_index":7822,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursegroupsbyuserid(userid",{"_index":7827,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursesbyuserid",{"_index":7977,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallcoursesbyuserid(userid",{"_index":7982,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallfinished",{"_index":21782,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findallfinished(currentuser",{"_index":21792,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallfinished(userid",{"_index":22190,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallfinishedbyparentids",{"_index":21983,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallfinishedbyparentids(parentids",{"_index":21992,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallforstudent",{"_index":22180,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforstudent(user",{"_index":22192,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher",{"_index":7919,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/TaskUC.html":{}}}],["findallforteacher(user",{"_index":22194,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher(userid",{"_index":7926,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher",{"_index":7920,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher(userid",{"_index":7928,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findallforteam",{"_index":22325,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforteam(urlparams",{"_index":22326,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforuser",{"_index":16791,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallforuser(userid",{"_index":16801,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallimportusers",{"_index":14004,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallimportusers(currentuser",{"_index":14014,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallitemstoexecute",{"_index":9537,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecute(limit",{"_index":9543,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecution",{"_index":9483,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findallitemstoexecution(limit",{"_index":9491,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findalllessonsbyuserid",{"_index":15698,"title":{},"body":{"injectables/LessonService.html":{}}}],["findalllessonsbyuserid(userid",{"_index":15705,"title":{},"body":{"injectables/LessonService.html":{}}}],["findallpublished",{"_index":16722,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallpublished(targets",{"_index":16725,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findalltasks",{"_index":21783,"title":{},"body":{"controllers/TaskController.html":{}}}],["findalltasks(currentuser",{"_index":21795,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallunmatchedusers",{"_index":14005,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunmatchedusers(currentuser",{"_index":14017,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunpublishedbyuser",{"_index":16723,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallunpublishedbyuser(targets",{"_index":16728,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findandcount",{"_index":11967,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findandcount(scope",{"_index":11976,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findboard",{"_index":4136,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboard(userid",{"_index":4144,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext",{"_index":4137,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext(userid",{"_index":4146,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findbyclassandid",{"_index":3638,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclassandid(doclass",{"_index":3651,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclientidandislocal",{"_index":16154,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(clientid",{"_index":16205,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(oauthclientid",{"_index":16156,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbycourseid",{"_index":3985,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseid(courseid",{"_index":3990,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseids",{"_index":7800,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycourseids(courseids",{"_index":7801,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycreatorid",{"_index":11968,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbycreatorid(creatorid",{"_index":11979,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbydeletionrequestid",{"_index":9320,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydeletionrequestid(deletionrequestid",{"_index":9325,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydescendant",{"_index":5508,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydescendant(boarddo",{"_index":5520,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydocname",{"_index":22763,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbydocname(docname",{"_index":22768,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbyemail",{"_index":24201,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyemail(email",{"_index":24206,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid",{"_index":15392,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid(externalid",{"_index":15395,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalidorfail",{"_index":23654,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalidorfail(externalid",{"_index":23660,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalsource",{"_index":12937,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternalsource(externalid",{"_index":12942,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternaltoolid",{"_index":20008,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyexternaltoolid(toolid",{"_index":20016,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyfilter",{"_index":15472,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyfilter(type",{"_index":15474,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyid",{"_index":12,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(boardid",{"_index":5522,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyid(cardid",{"_index":4491,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyid(columnid",{"_index":5693,"title":{},"body":{"injectables/ColumnService.html":{}}}],["findbyid(contentid",{"_index":13230,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["findbyid(contextexternaltoolid",{"_index":7055,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyid(courseid",{"_index":7984,"title":{},"body":{"injectables/CourseService.html":{}}}],["findbyid(deletionlogid",{"_index":9302,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findbyid(deletionrequestid",{"_index":9493,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["findbyid(elementid",{"_index":6460,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findbyid(id",{"_index":40,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(lessonid",{"_index":15708,"title":{},"body":{"injectables/LessonService.html":{}}}],["findbyid(schoolexternaltoolid",{"_index":20081,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findbyid(submissionid",{"_index":21340,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findbyid(taskid",{"_index":22158,"title":{},"body":{"injectables/TaskService.html":{}}}],["findbyidorfail",{"_index":7041,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidorfail(contextexternaltoolid",{"_index":7057,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidornull",{"_index":6854,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyidornull(id",{"_index":6870,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyids",{"_index":3639,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyids(cardids",{"_index":4494,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyids(ids",{"_index":3656,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyname",{"_index":10706,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbyname(machinename",{"_index":15757,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbyname(name",{"_index":10712,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbynameandexactversion",{"_index":15751,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynameandexactversion(machinename",{"_index":15759,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynames",{"_index":19252,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbynames(names",{"_index":19255,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbyoauth2configclientid",{"_index":10707,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauth2configclientid(clientid",{"_index":10714,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauthclientid",{"_index":16155,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyoauthclientid(oauthclientid",{"_index":16159,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyowneruserid",{"_index":12193,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyowneruserid(owneruserid",{"_index":12197,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyparentid",{"_index":11969,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyparentid(parentid",{"_index":11981,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbypermissionrefid",{"_index":12194,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbypermissionrefid(permissionrefid",{"_index":12200,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyschoolid",{"_index":20009,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolid(schoolid",{"_index":20017,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolidandgrouptypes",{"_index":12938,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyschoolidandgrouptypes(schoolid",{"_index":12945,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyschoolidandparentid",{"_index":11970,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentid(schoolid",{"_index":11983,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete",{"_index":11971,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete(schoolid",{"_index":11985,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandsystemid",{"_index":20353,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["findbyschoolidandsystemid(schoolid",{"_index":20357,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["findbyschoolnumber",{"_index":15393,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyschoolnumber(officialschoolnumber",{"_index":15397,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyscopeandscopeid",{"_index":24704,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbyscopeandscopeid(scopeid",{"_index":24705,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbysecuritycheckrequesttoken",{"_index":11972,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysecuritycheckrequesttoken(token",{"_index":11987,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysingleparent",{"_index":21984,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbysingleparent(creatorid",{"_index":21994,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbytype",{"_index":15494,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbytype(type",{"_index":15499,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbyuser",{"_index":22445,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuser(userid",{"_index":22451,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename",{"_index":22446,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename(userid",{"_index":22453,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandgrouptypes",{"_index":12939,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyuserandgrouptypes(user",{"_index":12947,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["findbyuserandtoolorthrow",{"_index":18447,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findbyuserandtoolorthrow(user",{"_index":16941,"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":10647,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolid(userid",{"_index":10659,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail",{"_index":10648,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail(userid",{"_index":10661,"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":4536,"title":{},"body":{"injectables/CardUc.html":{}}}],["findcards(userid",{"_index":4547,"title":{},"body":{"injectables/CardUc.html":{}}}],["findclasses",{"_index":12810,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclasses(pagination",{"_index":12811,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclassesforschool",{"_index":4812,"title":{},"body":{"injectables/ClassService.html":{}}}],["findclassesforschool(schoolid",{"_index":4819,"title":{},"body":{"injectables/ClassService.html":{}}}],["findcontextexternaltools",{"_index":7042,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcontextexternaltools(query",{"_index":7059,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcurrentyear",{"_index":20452,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["finddescendants",{"_index":3946,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendants(node",{"_index":3950,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany",{"_index":3947,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany(nodes",{"_index":3952,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddocumentsofcollection",{"_index":8911,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["finddocumentsofcollection(collectionname",{"_index":8923,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["findevent",{"_index":4323,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findevent(userid",{"_index":4326,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findexistinggridelement",{"_index":8688,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistinggridelement(elementwithposition",{"_index":8701,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistingtargets",{"_index":5614,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexistingtargets(columnboardids",{"_index":5617,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexpired",{"_index":22447,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser",{"_index":22448,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser(userid",{"_index":22456,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexternaltool",{"_index":11108,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["findexternaltool(currentuser",{"_index":23152,"title":{},"body":{"controllers/ToolController.html":{}}}],["findexternaltool(userid",{"_index":11119,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["findexternaltoolbyname",{"_index":10999,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyname(name",{"_index":11016,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid",{"_index":11000,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid(clientid",{"_index":11018,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolpseudonymsbyuserid",{"_index":18448,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltoolpseudonymsbyuserid(userid",{"_index":18462,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltools",{"_index":11001,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltools(query",{"_index":11020,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findfederalstatebyname",{"_index":11502,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfederalstatebyname(name",{"_index":11505,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfilesaccessiblebyuser",{"_index":12219,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesaccessiblebyuser(userid",{"_index":12224,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser",{"_index":12220,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser(userid",{"_index":12226,"title":{},"body":{"injectables/FilesService.html":{}}}],["findforcleanup",{"_index":12195,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforcleanup(thresholddate",{"_index":12203,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforuser",{"_index":7631,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findforuser(@currentuser",{"_index":8421,"title":{},"body":{"controllers/DashboardController.html":{}}}],["findforuser(currentuser",{"_index":7637,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findgroupsbyschoolidandgrouptypes",{"_index":13058,"title":{},"body":{"injectables/GroupService.html":{}}}],["findgroupsbyschoolidandgrouptypes(schoolid",{"_index":13067,"title":{},"body":{"injectables/GroupService.html":{}}}],["findgroupsbyuserandgrouptypes",{"_index":13059,"title":{},"body":{"injectables/GroupService.html":{}}}],["findgroupsbyuserandgrouptypes(user",{"_index":13069,"title":{},"body":{"injectables/GroupService.html":{}}}],["findidsbyexternalreference",{"_index":3640,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findidsbyexternalreference(reference",{"_index":3658,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findimportusers",{"_index":14194,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusers(school",{"_index":14200,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount",{"_index":14195,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount(query",{"_index":14202,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["finding",{"_index":3965,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["findlegacyltitool",{"_index":16876,"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":24025,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyschool(schoolid",{"_index":24038,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser",{"_index":24026,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser(userid",{"_index":24040,"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":15752,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewestbynameandversion(machinename",{"_index":15761,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewsandcount",{"_index":16724,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnewsandcount(query",{"_index":16730,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnextcloudtool",{"_index":16877,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findone",{"_index":7921,"title":{},"body":{"injectables/CourseRepo.html":{},"controllers/NewsController.html":{}}}],["findone(@param",{"_index":16630,"title":{},"body":{"controllers/NewsController.html":{}}}],["findone(courseid",{"_index":7931,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findone(urlparams",{"_index":16605,"title":{},"body":{"controllers/NewsController.html":{}}}],["findonebyid",{"_index":11973,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyid(id",{"_index":11989,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyidforuser",{"_index":16792,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidforuser(id",{"_index":16805,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidmarkedfordelete",{"_index":11974,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebyidmarkedfordelete(id",{"_index":11991,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebynameandversionorfail",{"_index":15753,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebynameandversionorfail(machinename",{"_index":15763,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebytoken",{"_index":20775,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findonebytoken(token",{"_index":20776,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findoneorfail",{"_index":11975,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfail(scope",{"_index":11993,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfailhandler",{"_index":12427,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["findorcreatepseudonym",{"_index":18449,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatepseudonym(user",{"_index":18464,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatetargets",{"_index":5615,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findorcreatetargets(columnboardids",{"_index":5620,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findparentofid",{"_index":3641,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{}}}],["findparentofid(childid",{"_index":3661,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findparentofid(elementid",{"_index":6462,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findpseudonym",{"_index":10649,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonym(query",{"_index":10663,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonymbypseudonym",{"_index":10650,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{}}}],["findpseudonymbypseudonym(pseudonym",{"_index":10666,"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":18499,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["findpseudonymsbyuserid",{"_index":18450,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findpseudonymsbyuserid(userid",{"_index":18468,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["finds",{"_index":741,"title":{},"body":{"injectables/AccountRepo.html":{},"controllers/SystemController.html":{},"injectables/TeamsRepo.html":{}}}],["findschoolexternaltools",{"_index":20071,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["findschoolexternaltools(query",{"_index":20083,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findschoolexternaltools(userid",{"_index":20116,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["findstatusesbytask",{"_index":21125,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findstatusesbytask(currentuser",{"_index":21129,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findsubmissionitems",{"_index":21245,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findsubmissionitems(userid",{"_index":21249,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findtasksandcount",{"_index":21985,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findtasksandcount(query",{"_index":21996,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findteambyid",{"_index":5127,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findteambyid(teamid",{"_index":5135,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findtoolbyclientid",{"_index":17507,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["findtoolbyclientid(clientid",{"_index":17511,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["finduserafterprovisioningorthrow",{"_index":17000,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserafterprovisioningorthrow(externaluserid",{"_index":17012,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserdatafromteams",{"_index":22377,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserdatafromteams(userid",{"_index":22382,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserloginmigrationbyschool",{"_index":23804,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["finduserloginmigrationbyschool(user",{"_index":23818,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["finduserloginmigrationbyschool(userid",{"_index":24081,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["findusers",{"_index":24279,"title":{},"body":{"injectables/UserService.html":{}}}],["findusers(query",{"_index":24291,"title":{},"body":{"injectables/UserService.html":{}}}],["findwithoutimportuser",{"_index":24202,"title":{},"body":{"injectables/UserRepo.html":{}}}],["findwithoutimportuser(school",{"_index":24209,"title":{},"body":{"injectables/UserRepo.html":{}}}],["fine",{"_index":26086,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["finish",{"_index":21784,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(@param",{"_index":21822,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(urlparams",{"_index":21797,"title":{},"body":{"controllers/TaskController.html":{}}}],["finishcoursecopying",{"_index":7671,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishcoursecopying(coursecopy",{"_index":7683,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finished",{"_index":8975,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["finished(user",{"_index":21924,"title":{},"body":{"classes/TaskFactory.html":{}}}],["finishedat",{"_index":23897,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["finishedcoursecopy",{"_index":7700,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishedcourseids",{"_index":22009,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["finishedids",{"_index":21709,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids",{"_index":21707,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids.map((id",{"_index":21710,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserid",{"_index":21721,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids",{"_index":21717,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids.some((finisheduserid",{"_index":21720,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishforuser(user",{"_index":21765,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishing",{"_index":23942,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["first",{"_index":413,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"classes/PatchMyAccountParams.html":{},"interfaces/RetryOptions.html":{},"classes/UserInfoResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstbrokerloginflowalias",{"_index":17713,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["firstchar",{"_index":7617,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["firstclass",{"_index":14095,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["firstname",{"_index":700,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14283,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["firstnamesearchvalues",{"_index":5366,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["firstvaluefrom",{"_index":2382,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["firstvaluefrom(observable",{"_index":2397,"title":{},"body":{"injectables/BBBService.html":{}}}],["firstvaluefrom(request",{"_index":9110,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["firstvaluefrom(respobservable",{"_index":13718,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["fishery",{"_index":575,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["fit",{"_index":6202,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["fitness",{"_index":25552,"title":{},"body":{"license.html":{}}}],["fix",{"_index":1850,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TaskUC.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fixable",{"_index":25765,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["fixed",{"_index":7910,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["fixeddata",{"_index":19752,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse",{"_index":19762,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen",{"_index":19764,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen.length",{"_index":19771,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse?.personenkontexte?.length",{"_index":19763,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixes",{"_index":25640,"title":{},"body":{"todo.html":{}}}],["fixing",{"_index":26472,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["fixme",{"_index":4823,"title":{},"body":{"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/CourseNews.html":{},"modules/LearnroomApiModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["fixtures",{"_index":26181,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fixups",{"_index":26248,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["flag",{"_index":12501,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFilterParams.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateFlagParams.html":{},"classes/UserMigrationIsNotEnabled.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flag.params.ts",{"_index":23509,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flag.params.ts:7",{"_index":23511,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flagged",{"_index":12472,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UpdateFlagParams.html":{}}}],["flags",{"_index":4910,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flexible",{"_index":25839,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["flow",{"_index":14686,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["flow.id",{"_index":14701,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flow.service",{"_index":13855,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["flow.service.ts",{"_index":17506,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:11",{"_index":17510,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:18",{"_index":17512,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:39",{"_index":17514,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.uc",{"_index":17449,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["flow.uc.ts",{"_index":17366,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:104",{"_index":17535,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:15",{"_index":17372,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:17",{"_index":17528,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:21",{"_index":17376,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:26",{"_index":17378,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:31",{"_index":17533,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:46",{"_index":17530,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:50",{"_index":17381,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:58",{"_index":17374,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:6",{"_index":17561,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:80",{"_index":17384,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:9",{"_index":17563,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:92",{"_index":17537,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flowalias",{"_index":14683,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["flows",{"_index":14697,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flows.find((tempflow",{"_index":14699,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flush",{"_index":730,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["flushdocument",{"_index":22632,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushdocument(docname",{"_index":22638,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushsize",{"_index":22629,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["fn",{"_index":3844,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fn(i",{"_index":3879,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fname",{"_index":1066,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["folder",{"_index":5222,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["folder_id",{"_index":13150,"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":16911,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foldername",{"_index":16922,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["folderpath",{"_index":5230,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["folders",{"_index":16925,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["folgendem",{"_index":5588,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["follow",{"_index":6297,"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":9020,"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":26270,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["foo",{"_index":25785,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["foractivecourses",{"_index":7941,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forallgrouptypes",{"_index":7966,"title":{},"body":{"classes/CourseScope.html":{}}}],["forallgrouptypes(userid",{"_index":7936,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forbid",{"_index":25228,"title":{},"body":{"license.html":{}}}],["forbidden",{"_index":12518,"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":23213,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["forbidden_exception",{"_index":12511,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["forbidden_operation",{"_index":12517,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["forbiddenexception",{"_index":2681,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorMapper.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/H5PEditorController.html":{},"injectables/LessonCopyUC.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/RoomsUc.html":{},"controllers/ShareTokenController.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["forbiddenexception(\"you",{"_index":17401,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["forbiddenexception('accessing",{"_index":24091,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["forbiddenexception('could",{"_index":15601,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["forbiddenexception('some",{"_index":26019,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["forbiddenexception('user",{"_index":2690,"title":{},"body":{"classes/BaseUc.html":{}}}],["forbiddenexception('you",{"_index":19462,"title":{},"body":{"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["forbiddenexception(`cannot",{"_index":3096,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["forbiddenexception(errorobj.message",{"_index":10019,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["forbiddenexception(errorstatus.guests_cannot_join_conference",{"_index":24620,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["forbiddenexception(errorstatus.insufficient_permission",{"_index":24535,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["forbiddenexception})@apiresponse({status",{"_index":3217,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["forbiddenexception})@get",{"_index":4388,"title":{},"body":{"controllers/CardController.html":{}}}],["forbiddenexception})@get(':submissioncontainerid",{"_index":4057,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["forbiddenloggableexception",{"_index":1957,"title":{"classes/ForbiddenLoggableException.html":{}},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenloggableexception(user.id",{"_index":1989,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["forbiddenloggableexception(userid",{"_index":1961,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenoperationerror",{"_index":343,"title":{"classes/ForbiddenOperationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ForbiddenOperationError.html":{},"controllers/LoginController.html":{}}}],["forbidnonwhitelisted",{"_index":12736,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["forbidunknownvalues",{"_index":12738,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["force",{"_index":74,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["force.error.ts",{"_index":4200,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force.error.ts:5",{"_index":4202,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force_subject_identifier",{"_index":184,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["forcepasswordchange",{"_index":23529,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["forcepathstyle",{"_index":9030,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["forceserverobjectid",{"_index":8938,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["forceupdate",{"_index":7291,"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":7967,"title":{},"body":{"classes/CourseScope.html":{}}}],["forcourseid(courseid",{"_index":7945,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["foreach((key",{"_index":11105,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["foreign",{"_index":15247,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["foreignfield",{"_index":24232,"title":{},"body":{"injectables/UserRepo.html":{}}}],["form",{"_index":2838,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"license.html":{}}}],["format",{"_index":403,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"classes/JwtTestFactory.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["format.'})@apioperation({summary",{"_index":23096,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["format.'})@apiresponse({status",{"_index":341,"title":{},"body":{"controllers/AccountController.html":{},"controllers/LoginController.html":{}}}],["format.types",{"_index":19064,"title":{},"body":{"classes/RichText.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["formatted",{"_index":621,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["formattedjwt",{"_index":1629,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["formatting",{"_index":25763,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["forms",{"_index":25274,"title":{},"body":{"license.html":{}}}],["forroot",{"_index":1048,"title":{},"body":{"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroot(options",{"_index":1045,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroutes",{"_index":20619,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["forteacher",{"_index":7968,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacher(userid",{"_index":7940,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher",{"_index":7969,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher(userid",{"_index":7939,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forwardref",{"_index":1936,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/SubmissionItemUc.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["found",{"_index":347,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/DashboardUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/Oauth2Strategy.html":{},"controllers/PseudonymController.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["found.error.ts",{"_index":9929,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.error.ts:4",{"_index":9931,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.exception",{"_index":10275,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["found.loggable",{"_index":16973,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["found.loggable.ts",{"_index":20143,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:4",{"_index":20144,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:7",{"_index":20145,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["foundaccount.systemid",{"_index":992,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{}}}],["foundaccounts",{"_index":492,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/KeycloakMigrationService.html":{}}}],["foundation",{"_index":25042,"title":{},"body":{"license.html":{}}}],["foundentry",{"_index":6137,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.name",{"_index":6197,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.value",{"_index":6194,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry?.value",{"_index":6191,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundparameter",{"_index":6181,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundpseudonym",{"_index":18501,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundpseudonym.userid",{"_index":18503,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundschool",{"_index":20438,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundschool.id",{"_index":20440,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundtools",{"_index":16963,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools.length",{"_index":16965,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools[0",{"_index":16968,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundusers",{"_index":979,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["foundusers.length",{"_index":993,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["foundusers[0].id.tostring",{"_index":999,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["free",{"_index":1625,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["freedom",{"_index":25060,"title":{},"body":{"license.html":{}}}],["freejoin",{"_index":2323,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["freeport",{"_index":24896,"title":{},"body":{"dependencies.html":{}}}],["freuen",{"_index":5582,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["friendly",{"_index":8344,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["friendlyurl",{"_index":8171,"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":24484,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["from.options",{"_index":24740,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.permission",{"_index":24738,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.url",{"_index":24739,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["fromcookie",{"_index":14457,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromcookie(name",{"_index":14458,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromgroup",{"_index":12742,"title":{},"body":{"classes/GridElement.html":{}}}],["fromgroup(title",{"_index":8523,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedgroup",{"_index":12743,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedgroup(id",{"_index":8521,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedreference",{"_index":12744,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedreference(id",{"_index":8520,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["fromsinglereference",{"_index":12745,"title":{},"body":{"classes/GridElement.html":{}}}],["fromsinglereference(reference",{"_index":8522,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["front",{"_index":15993,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["frontchannel",{"_index":17161,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["frontchannel_logout_uri",{"_index":8174,"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":8321,"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":12157,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["fs.readfile(this.inputfiles.accountsfile",{"_index":15022,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfile(this.inputfiles.usersfile",{"_index":15024,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfilesync(filepath).tostring",{"_index":18874,"title":{},"body":{"classes/ReferencesService.html":{}}}],["fs.rm",{"_index":12170,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fsp",{"_index":12155,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fulfil",{"_index":26208,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fulfill",{"_index":25850,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fulfilling",{"_index":25214,"title":{},"body":{"license.html":{}}}],["fulfills",{"_index":26031,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["fulfils",{"_index":26485,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["full",{"_index":2856,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["full_path",{"_index":18966,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullname",{"_index":2256,"title":{},"body":{"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["fullpath",{"_index":18939,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullscreen",{"_index":11728,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["fully",{"_index":15481,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["function",{"_index":527,"title":{},"body":{"classes/AccountFactory.html":{},"modules/AccountModule.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserFactory.html":{},"classes/KeycloakConsole.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["functional",{"_index":7467,"title":{},"body":{"modules/CoreModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["functionalities",{"_index":26255,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["functionality",{"_index":22275,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["functioning",{"_index":25341,"title":{},"body":{"license.html":{}}}],["functions",{"_index":26044,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["funktionen",{"_index":5553,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["further",{"_index":25298,"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":26145,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fut.somefunction",{"_index":26165,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["future",{"_index":1921,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"entities/CourseNews.html":{},"injectables/FileRecordRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["fwu",{"_index":12525,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["fwu_content_s3_connection",{"_index":12580,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["fwulearningcontent",{"_index":12620,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["fwulearningcontentscontroller",{"_index":12520,"title":{"controllers/FwuLearningContentsController.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsmodule",{"_index":12555,"title":{"modules/FwuLearningContentsModule.html":{}},"body":{"modules/FwuLearningContentsModule.html":{}}}],["fwulearningcontentstestmodule",{"_index":12566,"title":{"modules/FwuLearningContentsTestModule.html":{}},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsuc",{"_index":12530,"title":{"injectables/FwuLearningContentsUc.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["g",{"_index":7367,"title":{},"body":{"injectables/CopyFilesService.html":{},"additional-documentation/nestjs-application.html":{}}}],["g.test(filename",{"_index":22501,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["gates",{"_index":25766,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["gatewayport",{"_index":22574,"title":{},"body":{"classes/TestConnection.html":{}}}],["gc",{"_index":22853,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["gcenabled",{"_index":24760,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["geburt",{"_index":19667,"title":{},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["general",{"_index":11716,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/SystemRule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["generall",{"_index":2534,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["generally",{"_index":25178,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate",{"_index":550,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate(payload",{"_index":18113,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatearray",{"_index":3831,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatearray(length",{"_index":3843,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatebrokersystems",{"_index":15495,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatebrokersystems(systems",{"_index":15501,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatechecksum",{"_index":2329,"title":{},"body":{"injectables/BBBService.html":{}}}],["generatechecksum(callname",{"_index":2351,"title":{},"body":{"injectables/BBBService.html":{}}}],["generateconfig",{"_index":13626,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generateconfig(oauthclientid",{"_index":13634,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generated",{"_index":7289,"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":2595,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedid.tohexstring",{"_index":2598,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedsystem",{"_index":15538,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.id",{"_index":15540,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig",{"_index":15541,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.idphint",{"_index":15542,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.redirecturi",{"_index":15544,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generateemptydashboard",{"_index":8788,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generateemptydashboard(userid",{"_index":8801,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generategroupfoldername",{"_index":16878,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupfoldername(teamid",{"_index":16890,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid",{"_index":16879,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid(dto",{"_index":16894,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generatejwt",{"_index":1688,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatejwt(user",{"_index":1698,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatelaunchrequest",{"_index":23290,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatelaunchrequest(toollaunchdata",{"_index":23295,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatepreview",{"_index":18032,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(@rabbitpayload",{"_index":18045,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generatepreview(params",{"_index":18078,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(payload",{"_index":18036,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generates",{"_index":16892,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generateseeddata",{"_index":5212,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generateseeddata((s",{"_index":5289,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generatesharetoken",{"_index":22973,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generating",{"_index":25774,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["generator",{"_index":556,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generator.builder",{"_index":18084,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.builder.ts",{"_index":18027,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.builder.ts:6",{"_index":18029,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.consumer",{"_index":18054,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["generator.consumer.ts",{"_index":18031,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:10",{"_index":18035,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:20",{"_index":18038,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.service",{"_index":18042,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/ShareTokenService.html":{}}}],["generator.service.ts",{"_index":18066,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/TokenGenerator.html":{}}}],["generator.service.ts:12",{"_index":18072,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:18",{"_index":18079,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:40",{"_index":18074,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:50",{"_index":18076,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:56",{"_index":18081,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:7",{"_index":22974,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generator/interface/preview",{"_index":18015,"title":{},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["generator/interface/preview.ts",{"_index":18018,"title":{},"body":{"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["generator/loggable/preview",{"_index":17988,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["generator/preview",{"_index":18026,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["generator/preview.producer.ts",{"_index":18111,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:11",{"_index":18112,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:23",{"_index":18114,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatorfn",{"_index":557,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generell",{"_index":26468,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["generic",{"_index":25815,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["genericdata",{"_index":1077,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["genericsortfunction",{"_index":20938,"title":{},"body":{"classes/SortHelper.html":{}}}],["genericsortfunction(a",{"_index":20939,"title":{},"body":{"classes/SortHelper.html":{}}}],["geogebra",{"_index":6216,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["get('*/:fwulearningcontent",{"_index":12528,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get('/:contexttype/:contextid",{"_index":23385,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:contexttype/:contextid')@apioperation({summary",{"_index":23377,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:externaltoolid/logo",{"_index":23195,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/logo')@apioperation({summary",{"_index":23160,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata",{"_index":23203,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata')@apioperation({summary",{"_index":23165,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:groupid",{"_index":12840,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:groupid')@apioperation({summary",{"_index":12822,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:schoolexternaltoolid/metadata",{"_index":23479,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/:schoolexternaltoolid/metadata')@apioperation({summary",{"_index":23447,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/:schoolid/systems/:systemid/provisioning",{"_index":19863,"title":{},"body":{"controllers/SchoolController.html":{}}}],["get('/class",{"_index":12833,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/edit/:contentid/:language",{"_index":13352,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:contentid/:language')@apiresponse({status",{"_index":13266,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language",{"_index":13346,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language')@apiresponse({status",{"_index":13273,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/play/:contentid",{"_index":13306,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get(':boardid",{"_index":3251,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':boardid/context",{"_index":3255,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':contextexternaltoolid",{"_index":23127,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apinotfoundresponse()@apiokresponse({description",{"_index":23103,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid",{"_index":23122,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid')@apiforbiddenresponse()@apiunauthorizedresponse()@apiokresponse({description",{"_index":23108,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid/available",{"_index":23019,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get(':courseid/export",{"_index":7635,"title":{},"body":{"controllers/CourseController.html":{}}}],["get(':externaltoolid",{"_index":23185,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':externaltoolid')@apioperation({summary",{"_index":23157,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':id",{"_index":405,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':id')@apioperation({summary",{"_index":351,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':newsid",{"_index":16606,"title":{},"body":{"controllers/NewsController.html":{}}}],["get(':pseudonym",{"_index":18404,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':pseudonym')@apifoundresponse({description",{"_index":18392,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':requestid",{"_index":9587,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':requestid')@httpcode(200)@apioperation({summary",{"_index":9579,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':roomid/board",{"_index":19391,"title":{},"body":{"controllers/RoomsController.html":{}}}],["get(':schoolexternaltoolid",{"_index":23466,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23451,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':scope/:scopeid",{"_index":24580,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid')@apioperation({summary",{"_index":24558,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid/end",{"_index":24471,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/end')@apioperation({summary",{"_index":24427,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info",{"_index":24468,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info')@apioperation({summary",{"_index":24433,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join",{"_index":24465,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join')@apioperation({summary",{"_index":24437,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':submissioncontainerid",{"_index":4074,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["get(':teamid/news",{"_index":22328,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["get(':token",{"_index":20709,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["get('ajax",{"_index":13257,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('auth/:oauthclientid",{"_index":17659,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/:oauthclientid')@authenticate('jwt",{"_index":17645,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/sessions/consent",{"_index":17494,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('baseurl",{"_index":17426,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients",{"_index":17462,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients/:id",{"_index":17459,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('consentrequest/:challenge",{"_index":17487,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('content/:id/:filename",{"_index":13260,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('context",{"_index":23027,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["get('context/:contextexternaltoolid/launch",{"_index":23219,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('context/:contextexternaltoolid/launch')@apioperation({summary",{"_index":23209,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('finished",{"_index":21793,"title":{},"body":{"controllers/TaskController.html":{}}}],["get('hydra/:oauthclientid",{"_index":17653,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('hydra/:oauthclientid')@authenticate('jwt",{"_index":17642,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('libraries/:ubername/:file",{"_index":13270,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('loginrequest/:challenge",{"_index":17422,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('me",{"_index":23601,"title":{},"body":{"controllers/UserController.html":{}}}],["get('params/:id",{"_index":13263,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('public",{"_index":21467,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public')@apioperation({summary",{"_index":21453,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid",{"_index":21473,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid')@apioperation({summary",{"_index":21459,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('school",{"_index":23033,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('school/:schoolid/available",{"_index":23024,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('schools/:schoolid",{"_index":23875,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('schools/:schoolid')@apiforbiddenresponse()@apiokresponse({description",{"_index":23819,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('status/task/:taskid",{"_index":21131,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["get('temp",{"_index":13282,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('unassigned",{"_index":14018,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["get()@apiforbiddenresponse()@apioperation({summary",{"_index":23825,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get()@apifoundresponse({description",{"_index":23153,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["get()@apioperation({summary",{"_index":367,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(`${this.options.uri}${path",{"_index":1168,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":12076,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["get(id",{"_index":11469,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["get(path",{"_index":1164,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/CalendarService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{}}}],["get(req",{"_index":12526,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get(subpath",{"_index":1636,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["get(url",{"_index":13636,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["get/post",{"_index":13319,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getadditionalerrorinfo",{"_index":14383,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadditionalerrorinfo(email",{"_index":14389,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadminidandtoken",{"_index":1178,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getadminuser",{"_index":14545,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getajax",{"_index":13240,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(@query",{"_index":13333,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(query",{"_index":13256,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getall",{"_index":15754,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["getallaccounts",{"_index":13909,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getallcontents",{"_index":13225,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["getalternativetext",{"_index":11558,"title":{},"body":{"classes/FileElement.html":{}}}],["getancestorids",{"_index":3642,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getancestorids(boarddo",{"_index":3664,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getandpseudonyms",{"_index":11361,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getandpseudonyms(users",{"_index":11377,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getapiresponsetimemetriclabels",{"_index":18968,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getapiresponsetimemetriclabels(req",{"_index":18984,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getasadmin(path",{"_index":1162,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getauthtoken",{"_index":19132,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getavailabletoolsforcontext",{"_index":10253,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(currentuser",{"_index":23018,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(userid",{"_index":10264,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getavailabletoolsforschool",{"_index":10254,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(currentuser",{"_index":23023,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(userid",{"_index":10266,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getbaseurl",{"_index":2375,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig",{"_index":2330,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig(presentationurl",{"_index":2360,"title":{},"body":{"injectables/BBBService.html":{}}}],["getboard",{"_index":19444,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboard(roomid",{"_index":19448,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboardauthorizable",{"_index":3443,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardauthorizable(boarddo",{"_index":3449,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardcontext",{"_index":3207,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardcontext(urlparams",{"_index":3225,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardobjecttitlesbyid",{"_index":5509,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardobjecttitlesbyid(boardids",{"_index":5525,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardskeleton",{"_index":3208,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardskeleton(urlparams",{"_index":3229,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardvalue",{"_index":2015,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getboardvalue(elementid",{"_index":2022,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getbydraftforcreatorquery",{"_index":22125,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftforcreatorquery(creatorid",{"_index":22142,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery",{"_index":22126,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery(isdraft",{"_index":22144,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbyid(externaltoolpseudonymentity.name",{"_index":10681,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["getbyid(pseudonymentity.name",{"_index":18521,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["getbytargetid(id",{"_index":2974,"title":{},"body":{"entities/Board.html":{}}}],["getcaption",{"_index":11556,"title":{},"body":{"classes/FileElement.html":{}}}],["getcards",{"_index":4369,"title":{},"body":{"controllers/CardController.html":{}}}],["getcards(currentuser",{"_index":4383,"title":{},"body":{"controllers/CardController.html":{}}}],["getchildren",{"_index":3086,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["getchildren(boardnode",{"_index":3553,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["getclientid",{"_index":14546,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getclientsecret",{"_index":14547,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getcollectdefaultmetrics",{"_index":18183,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcollectionnames",{"_index":8912,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getcollectmetricsroutemetrics",{"_index":18185,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcompleted",{"_index":21167,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["getconfigurationtemplateforcontext",{"_index":23016,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforcontext(currentuser",{"_index":23026,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool",{"_index":23017,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool(currentuser",{"_index":23032,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconsentrequest",{"_index":17368,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(@param",{"_index":17488,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getconsentrequest(challenge",{"_index":17375,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(params",{"_index":17418,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getcontent",{"_index":8502,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getcontentfile",{"_index":13241,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentfile(params",{"_index":13259,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters",{"_index":13242,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(@param('id",{"_index":13325,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(id",{"_index":13262,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontext",{"_index":5437,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["getcontextexternaltool",{"_index":7086,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(currentuser",{"_index":23102,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(userid",{"_index":7098,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcontextexternaltoolid",{"_index":10332,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["getcontextexternaltoolsforcontext",{"_index":7087,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(currentuser",{"_index":23107,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(userid",{"_index":7100,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcopiesforchildrenof",{"_index":18598,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopiesforchildrenof(original",{"_index":18606,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopyname",{"_index":21872,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopyname(originaltaskname",{"_index":21884,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopystatusesforchildrenof",{"_index":18599,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopystatusesforchildrenof(original",{"_index":18608,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcoursegroupitems",{"_index":7611,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getcoursegroupstudentids",{"_index":21058,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getcoursesfromuserspseudonym",{"_index":11362,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getcoursesfromuserspseudonym(pseudonym",{"_index":11379,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getcoursevalue",{"_index":2016,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcoursevalue(courseid",{"_index":2025,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcreatedat",{"_index":3088,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["getcurrentschoolyear",{"_index":20457,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["getdashboardbyid",{"_index":8773,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdashboardbyid(id",{"_index":8779,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdata",{"_index":14384,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(input",{"_index":14391,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(systemid",{"_index":18317,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getdatabasecollection",{"_index":8913,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdatabasecollection(collectionname",{"_index":8926,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdb",{"_index":8930,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdefaultmaxduedate",{"_index":22181,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getdefaultmetadata",{"_index":117,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdefaultmetadata(url",{"_index":126,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdeleteafter",{"_index":9391,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getdeletedcount",{"_index":9228,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdeletionclientconfig",{"_index":9142,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["getdeletionrequestid",{"_index":9230,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdescription",{"_index":9667,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["getdestinationcourse",{"_index":21873,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationcourse(courseid",{"_index":21888,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson",{"_index":21874,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson(lessonid",{"_index":21890,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdisplayname",{"_index":24280,"title":{},"body":{"injectables/UserService.html":{}}}],["getdisplayname(user",{"_index":24293,"title":{},"body":{"injectables/UserService.html":{}}}],["getdocnamefromrequest",{"_index":22795,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdocnamefromrequest(request",{"_index":22800,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdomain",{"_index":9222,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getduedate",{"_index":21092,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["getelement",{"_index":8447,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getelement(position",{"_index":8472,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getelements",{"_index":2977,"title":{},"body":{"entities/Board.html":{}}}],["getelementwithwritepermission",{"_index":9873,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getelementwithwritepermission(userid",{"_index":9880,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getentityname",{"_index":766,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["getentitypermissions",{"_index":11310,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getentitypermissions(userid",{"_index":11318,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["geteol",{"_index":12153,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["getestet",{"_index":5559,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getexternalid",{"_index":630,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalid(id",{"_index":637,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalsource",{"_index":12782,"title":{},"body":{"classes/Group.html":{}}}],["getexternalsubclientmapperconfiguration",{"_index":14629,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getexternaltool",{"_index":11109,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["getexternaltool(currentuser",{"_index":23156,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltool(userid",{"_index":11120,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getexternaltoolbinarylogo",{"_index":10433,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoolbinarylogo(toolid",{"_index":10445,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoollogo",{"_index":23140,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(@param",{"_index":23196,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(params",{"_index":23159,"title":{},"body":{"controllers/ToolController.html":{}}}],["getfile",{"_index":7312,"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":22462,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileinfo(filename",{"_index":22474,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath",{"_index":22463,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath(userid",{"_index":22476,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileresponse",{"_index":12050,"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":12330,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(@rabbitpayload",{"_index":12356,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(payload",{"_index":12341,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilestats",{"_index":22464,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestats(filename",{"_index":22478,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream",{"_index":22465,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream(filename",{"_index":22479,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilteredgroupusers",{"_index":17735,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfilteredgroupusers(externalgroup",{"_index":17746,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfinisheduserids",{"_index":21704,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getfirstopenindex",{"_index":8448,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getflowexecutionsrequest",{"_index":14703,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getflowsrequest",{"_index":14693,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getformat",{"_index":18008,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getformat(previewparams.outputformat",{"_index":18010,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getfwulearningcontentparams",{"_index":12527,"title":{"classes/GetFwuLearningContentParams.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{}}}],["getgradedsubmissions",{"_index":21730,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getgradelevel",{"_index":4610,"title":{},"body":{"classes/Class.html":{}}}],["getgrid",{"_index":8449,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getgroup",{"_index":11363,"title":{},"body":{"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{}}}],["getgroup(courseid",{"_index":11381,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getgroup(currentuser",{"_index":12820,"title":{},"body":{"controllers/GroupController.html":{}}}],["getgroupdata(groupname",{"_index":1144,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmembers(groupname",{"_index":1142,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmoderators(groupname",{"_index":1140,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupuser",{"_index":17736,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getgroupuser(externalgroupuser",{"_index":17749,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["geth5pcontentparams",{"_index":12627,"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":13243,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(@param",{"_index":13353,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(params",{"_index":13265,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditorparams",{"_index":12634,"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":12633,"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":12607,"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":4353,"title":{},"body":{"classes/Card.html":{}}}],["gethello",{"_index":20530,"title":{},"body":{"classes/ServerConsole.html":{},"controllers/ServerController.html":{}}}],["gethydraoauthtoken",{"_index":17638,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["gethydraoauthtoken(query",{"_index":17640,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getid",{"_index":8450,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DomainObject.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getidpmapperconfiguration",{"_index":14630,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getidpmapperconfiguration(idpalias",{"_index":14657,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getiframesubject",{"_index":18451,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getiframesubject(pseudonym",{"_index":18470,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getimageurl",{"_index":15793,"title":{},"body":{"classes/LinkElement.html":{}}}],["getinout",{"_index":20531,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinout(whatever",{"_index":20534,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinputformat",{"_index":19076,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getinstance",{"_index":9704,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["getinternalid",{"_index":631,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinternalid(id",{"_index":645,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinvitationlink",{"_index":4606,"title":{},"body":{"classes/Class.html":{}}}],["getisenabled",{"_index":18177,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getitems",{"_index":23709,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["getjwtfromresponse",{"_index":22525,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getjwtfromresponse(response",{"_index":1677,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getlaunchdata",{"_index":23291,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getlaunchdata(userid",{"_index":23297,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getldapconfig",{"_index":21428,"title":{},"body":{"classes/System.html":{}}}],["getldapdn",{"_index":4612,"title":{},"body":{"classes/Class.html":{}}}],["getlessoncomponents",{"_index":6262,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonlinkedtasks",{"_index":6263,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonmaterials",{"_index":6264,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlibrary",{"_index":13313,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile",{"_index":12645,"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":13320,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile(params",{"_index":13268,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile.ts",{"_index":12647,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["getlogindata",{"_index":16007,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getlogindata(userinfo",{"_index":16010,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getloginrequest",{"_index":17407,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(@param",{"_index":17476,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginrequest(challenge",{"_index":17531,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(params",{"_index":17421,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getlogmessage",{"_index":1426,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["getmaildomain",{"_index":16232,"title":{},"body":{"injectables/MailService.html":{}}}],["getmaildomain(mail",{"_index":16238,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["getmaxsubmissions",{"_index":21711,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getmeetinginfo",{"_index":2331,"title":{},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["getmeetinginfo(config",{"_index":2362,"title":{},"body":{"injectables/BBBService.html":{}}}],["getmeetinginfo(currentuserid",{"_index":24609,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getmetadata",{"_index":4174,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{},"classes/UsersList.html":{}}}],["getmetadata(schoolexternaltoolid",{"_index":19987,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["getmetadata(toolid",{"_index":10532,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["getmetadata(url",{"_index":4177,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["getmetadata(userid",{"_index":16436,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["getmetadataforexternaltool",{"_index":11110,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(currentuser",{"_index":23164,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(userid",{"_index":11122,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool",{"_index":20106,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool(userid",{"_index":20119,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadatastorage",{"_index":9944,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getmetatagdatabody",{"_index":12648,"title":{"classes/GetMetaTagDataBody.html":{}},"body":{"classes/GetMetaTagDataBody.html":{},"controllers/MetaTagExtractorController.html":{}}}],["getmetatags",{"_index":16338,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmetatags(currentuser",{"_index":16339,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmigrations",{"_index":23805,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["getmigrations(user",{"_index":23823,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["getmigrations(userid",{"_index":24083,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["getmodifiedcount",{"_index":9226,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getname",{"_index":4598,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/ParentInfo.html":{}}}],["getnewh5peditor",{"_index":13244,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(@param",{"_index":13347,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(params",{"_index":13272,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewspermissions",{"_index":16793,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnewspermissions(userid",{"_index":16807,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnumberofdrafttasks",{"_index":6258,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofplannedtasks",{"_index":6260,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofpublishedtasks",{"_index":6253,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getoauth2client",{"_index":17337,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getoauth2client(currentuser",{"_index":17346,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["getoauth2client(id",{"_index":17607,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["getoauthconfig",{"_index":13896,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["getoauthtoken",{"_index":13561,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getoauthtoken(oauthclientid",{"_index":13568,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getobjectcommand",{"_index":19560,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["getobjectreference",{"_index":731,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getobjectreference(entityname",{"_index":748,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getoperation",{"_index":9224,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getorconstructdashboardmodelentity",{"_index":8689,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorconstructdashboardmodelentity(entity",{"_index":8703,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorcreatecourseboard",{"_index":3986,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorcreatecourseboard(courseid",{"_index":3993,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorganization",{"_index":6014,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getorganizationid",{"_index":12784,"title":{},"body":{"classes/Group.html":{}}}],["getparametervalue",{"_index":2752,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparametervalue(customparameter",{"_index":2789,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparent",{"_index":6247,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentdata",{"_index":21758,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentemailsfromuser",{"_index":24203,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentemailsfromuser(userid",{"_index":24212,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentinfo",{"_index":11907,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpath",{"_index":22526,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getpath(routenameinput",{"_index":1669,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getperformedat",{"_index":9232,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getperformeddeletiondetails",{"_index":9568,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(@param('requestid",{"_index":9589,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(requestid",{"_index":9578,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getpermittedcourses",{"_index":22182,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedcourses(user",{"_index":22197,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedentities",{"_index":11311,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedentities(userid",{"_index":11320,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedlessonids",{"_index":22239,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons",{"_index":22183,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons(user",{"_index":22200,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedschools",{"_index":11273,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedschools(userid",{"_index":11279,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedtargets",{"_index":11274,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getpermittedtargets(userid",{"_index":11281,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getplayer",{"_index":13245,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(@currentuser",{"_index":13307,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(currentuser",{"_index":13275,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getport",{"_index":18181,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getpresentationurl",{"_index":2379,"title":{},"body":{"injectables/BBBService.html":{}}}],["getpreviewfile",{"_index":18122,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewfile(params",{"_index":18132,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname",{"_index":18137,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname(filerecord",{"_index":18151,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewstatus",{"_index":11908,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpropertyvalue",{"_index":9940,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getpropertyvalue(e",{"_index":9949,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getprops",{"_index":1773,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SchoolSystemOptions.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["getprotectedroles",{"_index":19264,"title":{},"body":{"injectables/RoleService.html":{}}}],["getprovisioningoptions",{"_index":19859,"title":{},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["getprovisioningoptions(currentuser",{"_index":19861,"title":{},"body":{"controllers/SchoolController.html":{}}}],["getprovisioningoptions(provisioningoptionsconstructor",{"_index":20397,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["getprovisioningoptions(userid",{"_index":20413,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["getprovisioningoptionsordefault",{"_index":17737,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getprovisioningoptionsordefault(schoolid",{"_index":17752,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getprovisioningstrategy",{"_index":18307,"title":{},"body":{"injectables/ProvisioningService.html":{},"classes/System.html":{}}}],["getprovisioningstrategy(systemstrategy",{"_index":18319,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getpseudonym",{"_index":18369,"title":{},"body":{"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{}}}],["getpseudonym(params",{"_index":18390,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["getpublickey",{"_index":8039,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["getpublickey(jwksuri",{"_index":17118,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["getquery",{"_index":20486,"title":{},"body":{"classes/Scope.html":{}}}],["getrcid",{"_index":19130,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getreferences",{"_index":8507,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getreferencesfromposition",{"_index":8451,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getreferencesfromposition(position",{"_index":8480,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getrepository",{"_index":18452,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrepository(tool",{"_index":18472,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrequiredpermissions",{"_index":16794,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequiredpermissions(unpublished",{"_index":16811,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequireduserrole",{"_index":3421,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["getresolveduser",{"_index":24281,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolveduser(userid",{"_index":24296,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolvedvalues",{"_index":3322,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresolvedvalues(results",{"_index":3368,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresources",{"_index":6016,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getresponse",{"_index":1356,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["getroomboard",{"_index":19381,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroomboard(urlparams",{"_index":19390,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroute",{"_index":18179,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["gets",{"_index":533,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["getsalt",{"_index":2377,"title":{},"body":{"injectables/BBBService.html":{}}}],["getschemapath",{"_index":4065,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"controllers/SchoolController.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(basictoolconfigparams",{"_index":10328,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(drawingelementcontentbody",{"_index":9661,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(drawingelementresponse",{"_index":4432,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(externaltoolelementcontentbody",{"_index":9660,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(externaltoolelementresponse",{"_index":4429,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(fileelementcontentbody",{"_index":9656,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(fileelementresponse",{"_index":4088,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(linkelementcontentbody",{"_index":9657,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(linkelementresponse",{"_index":4430,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(lti11toolconfigcreateparams",{"_index":10329,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(lti11toolconfigupdateparams",{"_index":11152,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(oauth2toolconfigcreateparams",{"_index":10330,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(oauth2toolconfigupdateparams",{"_index":11153,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(richtextelementcontentbody",{"_index":9658,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(richtextelementresponse",{"_index":4087,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(schulconnexprovisioningoptionsresponse",{"_index":19884,"title":{},"body":{"controllers/SchoolController.html":{}}}],["getschemapath(submissioncontainerelementcontentbody",{"_index":9659,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(submissioncontainerelementresponse",{"_index":4431,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschool",{"_index":22402,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["getschoolbyexternalid",{"_index":15440,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyexternalid(externalid",{"_index":15447,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid",{"_index":15441,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid(id",{"_index":15449,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber",{"_index":15442,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber(schoolnumber",{"_index":15451,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolexternaltool",{"_index":20107,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(currentuser",{"_index":23450,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(userid",{"_index":20121,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getschoolexternaltools",{"_index":23439,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltools(currentuser",{"_index":23453,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolformigration",{"_index":20198,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolformigration(userid",{"_index":20210,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolid",{"_index":4600,"title":{},"body":{"classes/Class.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"classes/SchoolSystemOptions.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getschoolname",{"_index":17738,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getschoolname(externalschool",{"_index":17754,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getsecuritytoken",{"_index":11881,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getseedfolder",{"_index":5235,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["getservice",{"_index":11485,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["getservice(path",{"_index":11476,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["getshorttitle",{"_index":7615,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["getsource",{"_index":4616,"title":{},"body":{"classes/Class.html":{}}}],["getsourceoptions",{"_index":4618,"title":{},"body":{"classes/Class.html":{}}}],["getstatus",{"_index":9395,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getstoretype",{"_index":4256,"title":{},"body":{"injectables/CacheService.html":{}}}],["getstudentids",{"_index":6231,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["getstudentslist",{"_index":7599,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubmissionitems",{"_index":4042,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmissionitems(currentuser",{"_index":4053,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["getsubmittedsubmissions",{"_index":21726,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmitterids",{"_index":21076,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getsubstitutionteacherids",{"_index":7592,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubstitutionteacherslist",{"_index":7605,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsuccessor",{"_index":4614,"title":{},"body":{"classes/Class.html":{}}}],["getsystem",{"_index":21445,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(@param",{"_index":21474,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(params",{"_index":21458,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystemid",{"_index":20316,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["gettargetfilters",{"_index":16795,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfilters(userid",{"_index":16814,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfolder(toseedfolder",{"_index":5237,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["gettargetrefdomain",{"_index":9389,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettargetrefid",{"_index":9393,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettasksitems",{"_index":6248,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getteacherids",{"_index":4604,"title":{},"body":{"classes/Class.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteacherslist",{"_index":7603,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteammemberids",{"_index":21061,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["gettempfile",{"_index":13316,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemplateforcontextexternaltool",{"_index":10255,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforcontextexternaltool(userid",{"_index":10268,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool",{"_index":10256,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool(userid",{"_index":10270,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemporaryfile",{"_index":13246,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemporaryfile(currentuser",{"_index":13281,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getter",{"_index":7557,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["gettext",{"_index":19072,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getting",{"_index":24973,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{}}],["gettitle",{"_index":4349,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/LinkElement.html":{}}}],["gettitlesbyids",{"_index":3643,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettitlesbyids(id",{"_index":3666,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettoolcontexttypes",{"_index":10195,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(@currentuser",{"_index":23047,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(currentuser",{"_index":23036,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(userid",{"_index":10272,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettoolid",{"_index":18371,"title":{},"body":{"classes/Pseudonym.html":{}}}],["gettoollaunchrequest",{"_index":23207,"title":{},"body":{"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["gettoollaunchrequest(currentuser",{"_index":23208,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["gettoollaunchrequest(userid",{"_index":23330,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["gettoolreference",{"_index":23369,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreference(contextexternaltoolid",{"_index":23412,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["gettoolreference(currentuser",{"_index":23371,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreference(userid",{"_index":23422,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext",{"_index":23370,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext(currentuser",{"_index":23376,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreferencesforcontext(userid",{"_index":23424,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettspuid",{"_index":4844,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["gettype",{"_index":12786,"title":{},"body":{"classes/Group.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getunitofwork",{"_index":10680,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["getupdatedat",{"_index":3090,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["geturl",{"_index":1295,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/LinkElement.html":{},"controllers/OauthProviderController.html":{}}}],["geturl(callname",{"_index":2364,"title":{},"body":{"injectables/BBBService.html":{}}}],["geturl(path",{"_index":1305,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["getuser",{"_index":11275,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/TeamUserEntity.html":{},"injectables/UserService.html":{}}}],["getuser(id",{"_index":24298,"title":{},"body":{"injectables/UserService.html":{}}}],["getuser(userid",{"_index":11283,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserattribute",{"_index":13910,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getuserattribute(userid",{"_index":13930,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getusergroups",{"_index":11364,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusergroups(pseudonym",{"_index":11384,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getuserid",{"_index":8452,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionItem.html":{}}}],["getuserids",{"_index":4602,"title":{},"body":{"classes/Class.html":{}}}],["getuserlist(querystring",{"_index":1120,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getusername",{"_index":19128,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getuserparams",{"_index":23579,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["getuserparams(params",{"_index":707,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["getuserrole",{"_index":11365,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getuserrole(user",{"_index":11386,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusers",{"_index":3419,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"classes/Group.html":{}}}],["getuserschoolpermissions",{"_index":11276,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserschoolpermissions(userid",{"_index":11285,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getusersdashboard",{"_index":8774,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersdashboard(userid",{"_index":8781,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersmetadata",{"_index":11366,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusersmetadata(pseudonym",{"_index":11388,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusertargetpermissions",{"_index":11277,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["getusertargetpermissions(userid",{"_index":11287,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserwithpermissions",{"_index":1969,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getuserwithpermissions(userid",{"_index":1978,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getvalue",{"_index":2003,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getvalue(schoolexternaltool",{"_index":2004,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getversion",{"_index":6688,"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":24607,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getvideoconferenceoptions(scope",{"_index":24611,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getwellknownurl",{"_index":14548,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getwsurl",{"_index":22568,"title":{},"body":{"classes/TestConnection.html":{}}}],["getydoc",{"_index":22843,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydoc(docname",{"_index":22852,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydocfrommdb",{"_index":22633,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getydocfrommdb(docname",{"_index":22640,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getyear",{"_index":4608,"title":{},"body":{"classes/Class.html":{}}}],["ghcr.io/hpi",{"_index":25704,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ghcr.io/soluto/oidc",{"_index":26278,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["gi",{"_index":16554,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["gid",{"_index":12933,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["git",{"_index":24980,"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":24908,"title":{},"body":{"dependencies.html":{}}}],["git://github.com/leeroybrun/mongoose",{"_index":24924,"title":{},"body":{"dependencies.html":{}}}],["github",{"_index":24976,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["give",{"_index":25245,"title":{},"body":{"license.html":{}}}],["given",{"_index":329,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/FilterUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["givenname",{"_index":15130,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["gives",{"_index":9116,"title":{},"body":{"injectables/DeletionClient.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["giving",{"_index":25251,"title":{},"body":{"license.html":{}}}],["global",{"_index":7472,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["globalconstants",{"_index":12653,"title":{"interfaces/GlobalConstants.html":{}},"body":{"interfaces/GlobalConstants.html":{}}}],["globalerrorfilter",{"_index":10028,"title":{"classes/GlobalErrorFilter.html":{}},"body":{"modules/ErrorModule.html":{},"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["globally",{"_index":14335,"title":{},"body":{"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["globalparameter",{"_index":8338,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["globals",{"_index":12656,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["globalsetup",{"_index":25934,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalteardown",{"_index":25935,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalvalidationpipe",{"_index":12723,"title":{"classes/GlobalValidationPipe.html":{}},"body":{"classes/GlobalValidationPipe.html":{},"modules/ValidationModule.html":{}}}],["gm",{"_index":18083,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"dependencies.html":{}}}],["gnu",{"_index":25035,"title":{},"body":{"license.html":{}}}],["go",{"_index":2934,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["goal",{"_index":25661,"title":{},"body":{"todo.html":{}}}],["goals",{"_index":25103,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["golevelup",{"_index":26142,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["golevelup/nestjs",{"_index":1310,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"dependencies.html":{}}}],["golevelup/ts",{"_index":22551,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["gonna",{"_index":25835,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["good",{"_index":15248,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["governed",{"_index":25367,"title":{},"body":{"license.html":{}}}],["gpl",{"_index":25104,"title":{},"body":{"license.html":{}}}],["grace",{"_index":23836,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["graceperiodduration",{"_index":24058,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["grade",{"_index":16303,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/TargetGroupProperties.html":{}}}],["gradecomment",{"_index":21027,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["graded",{"_index":4116,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradedsubmissions",{"_index":21731,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradelevel",{"_index":4592,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["grant",{"_index":1493,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/TokenRequestMapper.html":{},"license.html":{}}}],["grant_access_token_audience",{"_index":166,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_scope",{"_index":167,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_type",{"_index":1497,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/TokenRequestMapper.html":{}}}],["grant_types",{"_index":17155,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["granted",{"_index":25186,"title":{},"body":{"license.html":{}}}],["grants",{"_index":25425,"title":{},"body":{"license.html":{}}}],["granttype",{"_index":13703,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["graph",{"_index":16405,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["gratis",{"_index":25297,"title":{},"body":{"license.html":{}}}],["greatest",{"_index":25587,"title":{},"body":{"license.html":{}}}],["grep",{"_index":26326,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["grid",{"_index":7853,"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":8789,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["gridelement",{"_index":8512,"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":8729,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.fromsinglereference(referenceforindex",{"_index":8588,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.fromsinglereference(room",{"_index":8579,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.getcontent().title",{"_index":8753,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.getid",{"_index":8746,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.hasid",{"_index":8744,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.isgroup",{"_index":8751,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.setgroupname(params",{"_index":8839,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["gridelementcontent",{"_index":8503,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelements",{"_index":8617,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{}}}],["gridelementwithposition",{"_index":8478,"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":8453,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["gridindexfromposition(pos",{"_index":8484,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridposition",{"_index":8473,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridpositionwithgroupindex",{"_index":8481,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["group",{"_index":1065,"title":{"classes/Group.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchGroupParams.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["group(props",{"_index":12955,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group(savedprops",{"_index":12969,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.adduser(self",{"_index":17834,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.dto",{"_index":17287,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["group.dto.ts",{"_index":10077,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:10",{"_index":19007,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:11",{"_index":10084,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:12",{"_index":19008,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:13",{"_index":10081,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:14",{"_index":19004,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:15",{"_index":10086,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:16",{"_index":19003,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:17",{"_index":10079,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:5",{"_index":10080,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:6",{"_index":19005,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:7",{"_index":10082,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:8",{"_index":19006,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:9",{"_index":10087,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.externalsource",{"_index":12986,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.getprops",{"_index":12876,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["group.gruppe.bezeichnung",{"_index":19843,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.id",{"_index":19844,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppenzugehoerigkeit.rollen",{"_index":19838,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.id",{"_index":12983,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.isempty",{"_index":17859,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.module",{"_index":12808,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["group.name",{"_index":1148,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["group.organizationid",{"_index":12988,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.params.ts",{"_index":17919,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.params.ts:14",{"_index":17921,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.removeuser(user",{"_index":17858,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.rule",{"_index":15674,"title":{},"body":{"injectables/LessonRule.html":{}}}],["group.rule.ts",{"_index":7811,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:11",{"_index":7814,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:17",{"_index":7813,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:8",{"_index":7812,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.scope",{"_index":12952,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.sonstige_gruppenzugehoerige",{"_index":19765,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["group.sonstige_gruppenzugehoerige?.filter",{"_index":19766,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.sonstige_gruppenzugehoerige?.length",{"_index":19768,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.type",{"_index":12984,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.users",{"_index":12985,"title":{},"body":{"classes/GroupResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["group_id",{"_index":11404,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["groupapimodule",{"_index":12800,"title":{"modules/GroupApiModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["groupcontroller",{"_index":12807,"title":{"controllers/GroupController.html":{}},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupdata",{"_index":8533,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupdomainmapper",{"_index":12844,"title":{"classes/GroupDomainMapper.html":{}},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapdomainobjecttoentityproperties(domainobject",{"_index":12961,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":12954,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(savedentity",{"_index":12968,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapgroupusertogroupuserentity(groupuser",{"_index":12884,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupelements",{"_index":8627,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["groupentity",{"_index":7545,"title":{"entities/GroupEntity.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"classes/UsersList.html":{}}}],["groupentity(entityprops",{"_index":12963,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupentityprops",{"_index":12854,"title":{"interfaces/GroupEntityProps.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes",{"_index":12866,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{}}}],["groupentitytypes.class",{"_index":12869,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypes.course",{"_index":12871,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypes.other",{"_index":12873,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping",{"_index":12868,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping[entity.type",{"_index":12894,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupfolder",{"_index":16884,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupfolders",{"_index":13147,"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":13151,"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":13149,"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":8511,"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":12821,"title":{"classes/GroupIdParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupIdParams.html":{}}}],["groupids",{"_index":7529,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["groupindex",{"_index":8535,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["groupinfo",{"_index":1129,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupinfo.group._id",{"_index":1133,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["grouping",{"_index":3973,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["groupmetadata",{"_index":8530,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupmodule",{"_index":12804,"title":{"modules/GroupModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/ProvisioningModule.html":{}}}],["groupname",{"_index":1125,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupnameidtuple",{"_index":12931,"title":{"interfaces/GroupNameIdTuple.html":{}},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["grouppaginationparams",{"_index":12812,"title":{"classes/GroupPaginationParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupPaginationParams.html":{}}}],["groupprops",{"_index":12788,"title":{"interfaces/GroupProps.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{}}}],["groupprovisioningclassesenabled",{"_index":18278,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["groupprovisioningcoursesenabled",{"_index":18279,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["groupprovisioningotherenabled",{"_index":18280,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["grouprepo",{"_index":12929,"title":{"injectables/GroupRepo.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["groupresponse",{"_index":12828,"title":{"classes/GroupResponse.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper",{"_index":12829,"title":{"classes/GroupResponseMapper.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper.maptoclassinfostolistresponse",{"_index":12839,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponsemapper.maptogroupresponse(group",{"_index":12843,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponse})@apiresponse({status",{"_index":12824,"title":{},"body":{"controllers/GroupController.html":{}}}],["grouprolemapping",{"_index":19810,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprolemapping[relation.rollen[0",{"_index":19846,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable",{"_index":13029,"title":{"classes/GroupRoleUnknownLoggable.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable(relation",{"_index":19847,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprule",{"_index":1870,"title":{"injectables/GroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/GroupRule.html":{},"injectables/RuleManager.html":{}}}],["groups",{"_index":7510,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupService.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["groups.filter((group",{"_index":19769,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["groups.map((group",{"_index":17881,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["groupscope",{"_index":12951,"title":{"classes/GroupScope.html":{}},"body":{"injectables/GroupRepo.html":{},"classes/GroupScope.html":{}}}],["groupscope().byorganizationid(schoolid).bytypes(groupentitytypes",{"_index":12960,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupscope().byuserid(user.id).bytypes(groupentitytypes",{"_index":12958,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupservice",{"_index":12928,"title":{"injectables/GroupService.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem",{"_index":17849,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem.filter((existinggroupfromsystem",{"_index":17853,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser",{"_index":17852,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser.map(async",{"_index":17857,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["grouptype",{"_index":19833,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping",{"_index":19813,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping[group.gruppe.typ",{"_index":19834,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptyperesponse",{"_index":12976,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.class",{"_index":13002,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.course",{"_index":13003,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.other",{"_index":13004,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptypes",{"_index":10085,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.class",{"_index":12870,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.course",{"_index":12872,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.map((type",{"_index":12956,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["grouptypes.other",{"_index":12874,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypestogroupentitytypesmapping",{"_index":12875,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["grouptypestogroupentitytypesmapping[props.type",{"_index":12880,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["grouptypestogroupentitytypesmapping[type",{"_index":12957,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupuc",{"_index":12805,"title":{},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupucmapper",{"_index":13083,"title":{"classes/GroupUcMapper.html":{}},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser",{"_index":12773,"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":13104,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.roleid",{"_index":12903,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuser.user.lastname",{"_index":13106,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.userid",{"_index":12795,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{}}}],["groupuserentity",{"_index":12862,"title":{"classes/GroupUserEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserentityprops",{"_index":13126,"title":{"interfaces/GroupUserEntityProps.html":{}},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserids",{"_index":16933,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.filter((userid",{"_index":16946,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.includes(userid",{"_index":16952,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserresponse",{"_index":12978,"title":{"classes/GroupUserResponse.html":{}},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{}}}],["groupusers",{"_index":13138,"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":12867,"title":{"classes/GroupValidPeriodEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["groupvalidperiodentityprops",{"_index":13153,"title":{"interfaces/GroupValidPeriodEntityProps.html":{}},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["gruppe",{"_index":19670,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["gruppen",{"_index":19678,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["gruppenzugehoerige",{"_index":19689,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["gruppenzugehoerigkeit",{"_index":19679,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["gt",{"_index":3958,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/NewsScope.html":{}}}],["gte",{"_index":7944,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["guarantee",{"_index":627,"title":{},"body":{"injectables/AccountLookupService.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guard",{"_index":25949,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["guardagainst",{"_index":13156,"title":{"classes/GuardAgainst.html":{}},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined",{"_index":15865,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(account.password",{"_index":15862,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(jwt",{"_index":15860,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(password",{"_index":15870,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(username",{"_index":15869,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guards",{"_index":13163,"title":{},"body":{"classes/GuardAgainst.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guest",{"_index":2257,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["guest:guest",{"_index":25690,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["guestpolicy",{"_index":2160,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["guests",{"_index":24644,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["guide",{"_index":26212,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["gzip",{"_index":19750,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["h",{"_index":6577,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h.doesurlmatch(url",{"_index":16464,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["h5p",{"_index":1215,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5p_content_s3_connection",{"_index":22495,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["h5p_editor__library_list_path",{"_index":13744,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5p_libraries",{"_index":13473,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5p_library",{"_index":11704,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5pajaxendpointprovider",{"_index":13401,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pconfig",{"_index":13458,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pconfig(undefined",{"_index":13468,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pcontent",{"_index":6667,"title":{"entities/H5PContent.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentfactory",{"_index":13173,"title":{"classes/H5PContentFactory.html":{}},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentfactory.define(h5pcontent",{"_index":13178,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentmapper",{"_index":13186,"title":{"classes/H5PContentMapper.html":{}},"body":{"classes/H5PContentMapper.html":{}}}],["h5pcontentmetadata",{"_index":12615,"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":13195,"title":{"interfaces/H5PContentParentParams.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["h5pcontentparenttype",{"_index":6663,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["h5pcontentparenttype'})@isenum(h5pcontentparenttype",{"_index":17978,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["h5pcontentparenttype.lesson",{"_index":13179,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentproperties",{"_index":6664,"title":{"interfaces/H5PContentProperties.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["h5pcontentrepo",{"_index":13220,"title":{"injectables/H5PContentRepo.html":{}},"body":{"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentresponse",{"_index":12608,"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":13235,"title":{"controllers/H5PEditorController.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditorcontroller.setrangeresponseheaders(res",{"_index":13330,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelcontentresponse",{"_index":12609,"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":13355,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse",{"_index":12594,"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":13351,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse:13",{"_index":13376,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:17",{"_index":13377,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:21",{"_index":13378,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodule",{"_index":13383,"title":{"modules/H5PEditorModule.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["h5peditorprovider",{"_index":13402,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditortempfile",{"_index":13397,"title":{"entities/H5pEditorTempFile.html":{}},"body":{"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5peditortestmodule",{"_index":13406,"title":{"modules/H5PEditorTestModule.html":{}},"body":{"modules/H5PEditorTestModule.html":{}}}],["h5peditoruc",{"_index":13298,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5perror",{"_index":13417,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["h5perrormapper",{"_index":13413,"title":{"classes/H5PErrorMapper.html":{}},"body":{"classes/H5PErrorMapper.html":{}}}],["h5pfile",{"_index":13341,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5pfiledto",{"_index":12644,"title":{"classes/H5pFileDto.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5plibrarymanagementconfig",{"_index":13428,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5plibrarymanagementmodule",{"_index":13421,"title":{"modules/H5PLibraryManagementModule.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["h5plibrarymanagementservice",{"_index":13425,"title":{"injectables/H5PLibraryManagementService.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pplayerprovider",{"_index":13403,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5psaveresponse",{"_index":12616,"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":13365,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5ptemporaryfilefactory",{"_index":13523,"title":{"classes/H5PTemporaryFileFactory.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["h5ptemporaryfilefactory.define(h5peditortempfile",{"_index":13530,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["halper",{"_index":23517,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["handed",{"_index":9649,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["handle",{"_index":3365,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handlecolumnboardintegration",{"_index":19421,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handlecolumnboardintegration(roomid",{"_index":19425,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handleconnection",{"_index":22796,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handleconnection(client",{"_index":22802,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handled",{"_index":4234,"title":{},"body":{"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handled_at",{"_index":168,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["handleexceptions",{"_index":15906,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handleparameterstoinclude",{"_index":2753,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handleparameterstoinclude(propertydata",{"_index":2793,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handler",{"_index":4186,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"todo.html":{}}}],["handler.getmetadata(url",{"_index":16465,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handler.ts",{"_index":111,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:11",{"_index":4176,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:15",{"_index":8000,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler.ts:17",{"_index":4178,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:19",{"_index":121,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:24",{"_index":128,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:4",{"_index":23527,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["handler.ts:5",{"_index":119,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:7",{"_index":124,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:9",{"_index":7999,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler/abstract",{"_index":109,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler/board",{"_index":4173,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler/course",{"_index":7998,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["handler/lesson",{"_index":15731,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["handler/task",{"_index":22266,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["handlerejections",{"_index":15907,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handlers",{"_index":16440,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handles",{"_index":26197,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handling",{"_index":7469,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"modules/CoreModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["happen",{"_index":17043,"title":{},"body":{"injectables/OAuthService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["happened",{"_index":25967,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["hard",{"_index":5406,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasaccess",{"_index":21626,"title":{},"body":{"injectables/SystemRule.html":{}}}],["hasaccesstoentity",{"_index":1803,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstoentity(user",{"_index":1808,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstosubmission",{"_index":21302,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasaccesstosubmission(user",{"_index":21308,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasallpermissions",{"_index":1804,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseGroupRule.html":{}}}],["hasallpermissions(user",{"_index":1812,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasallpermissionsbyrole",{"_index":1805,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasallpermissionsbyrole(role",{"_index":1814,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasbeenforciblyended",{"_index":2248,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasbodyproperty",{"_index":2811,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["haschangedparameternames",{"_index":11190,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameternames(oldparams",{"_index":11201,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex",{"_index":11191,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex(newparams",{"_index":11203,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope",{"_index":11192,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope(newparams",{"_index":11206,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes",{"_index":11193,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes(newparams",{"_index":11208,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters",{"_index":11194,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters(newparams",{"_index":11210,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschild",{"_index":3063,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["haschild(child",{"_index":3079,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["hasconn",{"_index":22943,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["hascontextexternaltool",{"_index":10227,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["hascoursepermission",{"_index":19372,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{}}}],["hascoursereadpermission",{"_index":19354,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursereadpermission(user",{"_index":19358,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission",{"_index":19355,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission(user",{"_index":19360,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasduplicateattributes",{"_index":10556,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["hasduplicateattributes(customparameter",{"_index":10567,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["haserror",{"_index":11897,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasfeature",{"_index":15443,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hasfeature(schoolid",{"_index":15454,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hash",{"_index":12586,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{}}}],["hash_function",{"_index":16030,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashiterations",{"_index":14976,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["hashiterations(310000",{"_index":14589,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["hashkey",{"_index":16032,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashkey).tostring(cryptojs.enc.base64",{"_index":16034,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hasid",{"_index":8501,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["hasjoinedvoice",{"_index":2320,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haslessonpermission",{"_index":15675,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["haslessonreadpermission",{"_index":19356,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["haslessonreadpermission(user",{"_index":19362,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasmatch",{"_index":14196,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmatch(user",{"_index":14204,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasname",{"_index":11893,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasname(name",{"_index":11892,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasnewrequiredparameter",{"_index":11195,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewrequiredparameter(oldparams",{"_index":11212,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewspermission",{"_index":26437,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasoneofpermissions",{"_index":1806,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasoneofpermissions(user",{"_index":1816,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasparent",{"_index":3940,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["hasparentpermission",{"_index":22104,"title":{},"body":{"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasparentpermission(user",{"_index":22106,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasparentreadpermission",{"_index":15682,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasparenttaskreadaccess",{"_index":21303,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskreadaccess(user",{"_index":21310,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess",{"_index":21304,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess(user",{"_index":21312,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparentwritepermission",{"_index":15684,"title":{},"body":{"injectables/LessonRule.html":{}}}],["haspath",{"_index":18941,"title":{},"body":{"classes/RequestInfo.html":{}}}],["haspath(reqroute",{"_index":18948,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["haspermission",{"_index":1838,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["haspermission(user",{"_index":1982,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["haspermissionbyreferences",{"_index":1949,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissionbyreferences(userid",{"_index":1955,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissions",{"_index":11332,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"injectables/PermissionService.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SystemRule.html":{}}}],["hasproperties",{"_index":2630,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["hasreadaccess",{"_index":21305,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasreadaccess(user",{"_index":21315,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasrequiredpermission",{"_index":22111,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasscanstatuserror",{"_index":11896,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasscanstatuswontcheck",{"_index":11899,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasschoolmigrated",{"_index":20199,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrated(sourceexternalid",{"_index":20212,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser",{"_index":4991,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser(schoolid",{"_index":20216,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hassystem",{"_index":20389,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["hastaskreadpermission",{"_index":19357,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hastaskreadpermission(user",{"_index":19364,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasuserallschoolpermissions",{"_index":17951,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserallschoolpermissions(user",{"_index":17954,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserjoined",{"_index":2249,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasusermigrated",{"_index":24074,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["hasuserpermission",{"_index":15679,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasvideo",{"_index":2321,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haswontcheckstatus",{"_index":11900,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["haswriteaccess",{"_index":21306,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["haswriteaccess(user",{"_index":21317,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["having",{"_index":3925,"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":19527,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["head(path",{"_index":19545,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["header",{"_index":1595,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"controllers/OauthSSOController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headerapikey",{"_index":24804,"title":{},"body":{"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["headerconst",{"_index":1609,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headerconst.json",{"_index":1654,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headercookies",{"_index":13676,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["headers",{"_index":1169,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/DeletionClient.html":{},"classes/DownloadFileParams.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headobjectcommand",{"_index":19561,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headobjectcommandoutput",{"_index":19562,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headresponse",{"_index":19633,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["heartened",{"_index":25089,"title":{},"body":{"license.html":{}}}],["height",{"_index":3578,"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":4361,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["height.body.params",{"_index":4407,"title":{},"body":{"controllers/CardController.html":{}}}],["height.body.params.ts",{"_index":20635,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height.body.params.ts:10",{"_index":20637,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height=100",{"_index":6066,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hell",{"_index":7560,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["help",{"_index":6302,"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":3319,"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":21777,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["helper.module.ts",{"_index":7383,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service",{"_index":7385,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service.ts",{"_index":7387,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:10",{"_index":7398,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:28",{"_index":7396,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:45",{"_index":7392,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.ts",{"_index":20937,"title":{},"body":{"classes/SortHelper.html":{},"classes/TestHelper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:15",{"_index":23343,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:21",{"_index":22585,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper.ts:28",{"_index":23344,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:4",{"_index":20940,"title":{},"body":{"classes/SortHelper.html":{}}}],["helper.ts:53",{"_index":23345,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:6",{"_index":22584,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper/copy",{"_index":7382,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/TaskApiModule.html":{}}}],["helper/dto/copy.response.ts",{"_index":7178,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:17",{"_index":7189,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:22",{"_index":7192,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:29",{"_index":7193,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:34",{"_index":7184,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:41",{"_index":7191,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:47",{"_index":7188,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:7",{"_index":7182,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/mapper/copy.mapper.ts",{"_index":7424,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:11",{"_index":7436,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:31",{"_index":7429,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:40",{"_index":7433,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/service/copy",{"_index":7386,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper/types/copy.types",{"_index":7194,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helpers",{"_index":25933,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["helpful",{"_index":26110,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helplink",{"_index":5563,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["helps",{"_index":26095,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helpto",{"_index":25747,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["hendt/xml2json",{"_index":7164,"title":{},"body":{"injectables/ConverterUtil.html":{},"dependencies.html":{}}}],["here",{"_index":2553,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/CommonToolModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hereafter",{"_index":25467,"title":{},"body":{"license.html":{}}}],["hex",{"_index":625,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["hh:mm:ss.sss",{"_index":15913,"title":{},"body":{"modules/LoggerModule.html":{}}}],["hidden",{"_index":3774,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/DtoCreator.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["hier",{"_index":5558,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hierarchy",{"_index":6029,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["high",{"_index":25895,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["higher",{"_index":25823,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["highly",{"_index":26379,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hilfebereich",{"_index":5575,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hint",{"_index":5317,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"injectables/CopyFilesService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthConfigResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["history",{"_index":25623,"title":{},"body":{"todo.html":{}}}],["historywindows",{"_index":26250,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["hmac",{"_index":16029,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["holder",{"_index":25405,"title":{},"body":{"license.html":{}}}],["holders",{"_index":25372,"title":{},"body":{"license.html":{}}}],["holds",{"_index":26456,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["homepage",{"_index":25612,"title":{},"body":{"properties.html":{}}}],["homework",{"_index":25911,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["homework\\/([0",{"_index":22267,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["homeworkid",{"_index":21043,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["homeworkid'})@index",{"_index":21039,"title":{},"body":{"entities/Submission.html":{}}}],["homeworks",{"_index":21684,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["hook",{"_index":26466,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hookfn",{"_index":523,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["hooks",{"_index":24892,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hope",{"_index":7561,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{}}}],["horizontal",{"_index":25892,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["host",{"_index":1282,"title":{},"body":{"modules/AntivirusModule.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["host.gettype",{"_index":12691,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host.switchtohttp",{"_index":12701,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host=http://localhost:4000",{"_index":26268,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["hostname",{"_index":1288,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["hosts",{"_index":25304,"title":{},"body":{"license.html":{}}}],["hosturl",{"_index":13812,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["hot",{"_index":25654,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["hours",{"_index":2908,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["household",{"_index":25322,"title":{},"body":{"license.html":{}}}],["hpi",{"_index":2220,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["href",{"_index":5809,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hs256",{"_index":1570,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs384",{"_index":1571,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs512",{"_index":1572,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["html",{"_index":5817,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{},"entities/CourseNews.html":{},"controllers/H5PEditorController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["html.transformer",{"_index":19063,"title":{},"body":{"classes/RichText.html":{}}}],["htmlcontent",{"_index":1451,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["htmlmailcontent",{"_index":1453,"title":{"interfaces/HtmlMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["http",{"_index":1379,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/ErrorResponse.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["http(message",{"_index":13774,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["http(s",{"_index":26464,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["http://:4011",{"_index":26266,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://fsf.org",{"_index":25044,"title":{},"body":{"license.html":{}}}],["http://localhost:3030",{"_index":14719,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["http://localhost:3030/api/v1/sync?target=ldap",{"_index":26287,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://localhost:3030/api/v3/sso/oauth",{"_index":14834,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["http://localhost:8080",{"_index":26259,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/manifest",{"_index":5993,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/resource",{"_index":5994,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/manifest",{"_index":5980,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/resource",{"_index":5982,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.gnu.org/licenses",{"_index":25608,"title":{},"body":{"license.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd",{"_index":5996,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lommanifest_v1p0.xsd",{"_index":5997,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lomresource_v1p0.xsd",{"_index":5995,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd",{"_index":5988,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd",{"_index":5986,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd",{"_index":6069,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lommanifest_v1p0.xsd",{"_index":5987,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lomresource_v1p0.xsd",{"_index":5985,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsbasiclti_v1p0",{"_index":5943,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1",{"_index":5992,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1",{"_index":6070,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2",{"_index":5984,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1",{"_index":5978,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3",{"_index":6068,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3",{"_index":5941,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3.xsd",{"_index":5949,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticm_v1p0",{"_index":5945,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticp_v1p0",{"_index":5947,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.w3.org/2001/xmlschema",{"_index":5926,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["httpargumenthost",{"_index":12700,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpargumenthost.getresponse",{"_index":12702,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpcode",{"_index":3241,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/LoginController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpcode(200",{"_index":9588,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(201",{"_index":9862,"title":{},"body":{"controllers/ElementController.html":{}}}],["httpcode(202",{"_index":9585,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(204",{"_index":3260,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["httpcode(httpstatus.no_content",{"_index":21478,"title":{},"body":{"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["httpcode(httpstatus.ok",{"_index":15956,"title":{},"body":{"controllers/LoginController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpexception",{"_index":2099,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoService.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PErrorMapper.html":{}}}],["httpexception(`unsupported",{"_index":5684,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["httpexception(error.message",{"_index":13419,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["httpexceptionoptions",{"_index":10048,"title":{},"body":{"classes/ErrorUtils.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["httpexceptions",{"_index":26006,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["httpmodule",{"_index":3904,"title":{},"body":{"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"modules/RocketChatModule.html":{},"modules/VideoConferenceModule.html":{}}}],["httponly",{"_index":20616,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["https://${scdomain",{"_index":14720,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["https://${scdomain}/api/v3/sso/oauth",{"_index":14835,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["https://dbildungscloud.de",{"_index":25613,"title":{},"body":{"properties.html":{}}}],["https://docs.nestjs.com/first",{"_index":25937,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://example.com/tool",{"_index":23286,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["https://github.com/goldbergyoni/javascript",{"_index":26214,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["https://github.com/hpi",{"_index":25636,"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":11860,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["https://github.com/thoughtbot/fishery",{"_index":2571,"title":{},"body":{"classes/BaseFactory.html":{}}}],["https://hpi",{"_index":25657,"title":{},"body":{"todo.html":{}}}],["https://jestjs.io",{"_index":25790,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://khalilstemmler.com/articles/software",{"_index":25976,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://logo.com",{"_index":8360,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://logourl.com",{"_index":10398,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["https://mikro",{"_index":25791,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://min.io",{"_index":25793,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://mock.de",{"_index":21549,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/auth",{"_index":21538,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/jwks",{"_index":21542,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/logout",{"_index":21540,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/mock/auth/public/mocktoken",{"_index":21536,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/auth",{"_index":21544,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/logout",{"_index":21547,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/token",{"_index":21545,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/userinfo",{"_index":21546,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mockhost:3030/api/v3/sso/oauth",{"_index":21537,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://nestjs.com",{"_index":25789,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://provisioningurl.de",{"_index":21551,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://stackoverflow.com/a/61909588",{"_index":25622,"title":{},"body":{"todo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/arc",{"_index":2509,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/bc",{"_index":19478,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["https://url.com",{"_index":8358,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.basic",{"_index":8314,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.fallback",{"_index":6528,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["https://www.frontchannel.com",{"_index":8322,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.geogebra.org/m/${content.content.materialid",{"_index":5820,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd",{"_index":6071,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["https://www.lti11",{"_index":8333,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.npmjs.com/package/@golevelup/nestjs",{"_index":18560,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["https://www.oauth2",{"_index":8329,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.rabbitmq.com",{"_index":25794,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://www.redirect.com",{"_index":8324,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["httpservice",{"_index":1053,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["httpstatus",{"_index":1368,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/SystemController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_gateway",{"_index":15176,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["httpstatus.bad_request",{"_index":1375,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_request.tostring",{"_index":2090,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["httpstatus.conflict",{"_index":4248,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["httpstatus.forbidden",{"_index":12519,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.internal_server_error",{"_index":2105,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.not_found",{"_index":9932,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["httpstatus.ok",{"_index":12832,"title":{},"body":{"controllers/GroupController.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.too_many_requests",{"_index":4204,"title":{},"body":{"classes/BruteForceError.html":{}}}],["httpstatus.unauthorized",{"_index":1800,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["httpstatus.unprocessable_entity",{"_index":4034,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["human",{"_index":6310,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["hydra",{"_index":13710,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydra/hydra.adapter",{"_index":17627,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydra_oauth_failed",{"_index":13555,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraadapter",{"_index":17626,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydracookies",{"_index":7168,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydracookies.includes(cookie",{"_index":13689,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydracookies.push(cookie",{"_index":13690,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig",{"_index":13583,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig.redirecturi",{"_index":13587,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraoauthfailedloggableexception",{"_index":13550,"title":{"classes/HydraOauthFailedLoggableException.html":{}},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraoauthuc",{"_index":13556,"title":{"injectables/HydraOauthUc.html":{}},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["hydraredirectdto",{"_index":13577,"title":{"classes/HydraRedirectDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["hydraredirectdto(dto",{"_index":13662,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrassoservice",{"_index":13566,"title":{"injectables/HydraSsoService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"modules/OauthModule.html":{}}}],["hydrauc",{"_index":17651,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["hydrauri",{"_index":13698,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/.well",{"_index":13706,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/auth",{"_index":13701,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/sessions/logout",{"_index":13709,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/token",{"_index":13716,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["i...properties",{"_index":7564,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["i.name",{"_index":5360,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["i.width",{"_index":16429,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["i18next",{"_index":24900,"title":{},"body":{"dependencies.html":{}}}],["iat",{"_index":8047,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["ibbbsettings",{"_index":2337,"title":{"interfaces/IBbbSettings.html":{}},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["icolumnboardproperties",{"_index":5490,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["icommoncartridgefilebuilder",{"_index":5848,"title":{"interfaces/ICommonCartridgeFileBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeltiresourceprops",{"_index":5912,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["icommoncartridgemanifestprops",{"_index":5967,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["icommoncartridgemetadataprops",{"_index":5969,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["icommoncartridgeorganizationbuilder",{"_index":5864,"title":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeorganizationprops",{"_index":5862,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeresourceprops",{"_index":5763,"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":5769,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["icommoncartridgeweblinkresourceprops",{"_index":6041,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["icons",{"_index":26222,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["icontentauthor",{"_index":6592,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentchange",{"_index":6594,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentmetadata",{"_index":6567,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["icurrentuser",{"_index":325,"title":{"interfaces/ICurrentUser.html":{}},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICurrentUser.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["id",{"_index":34,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxPostQueryParams.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"injectables/CalendarService.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardUrlParams.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilterNewsParams.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["id'})@apiokresponse({description",{"_index":23210,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["id.'})@apiresponse({status",{"_index":12823,"title":{},"body":{"controllers/GroupController.html":{}}}],["id.body.params.ts",{"_index":286,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:15",{"_index":295,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:26",{"_index":293,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:35",{"_index":291,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.id",{"_index":14887,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["id.loggable.ts",{"_index":20154,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:11",{"_index":20159,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:4",{"_index":20157,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.params",{"_index":23864,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["id.params.ts",{"_index":307,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.params.ts:11",{"_index":309,"title":{},"body":{"classes/AccountByIdParams.html":{}}}],["id.params.ts:7",{"_index":6813,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["id.params.ts:8",{"_index":6816,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.pipe.ts",{"_index":25958,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["id.strategy.ts",{"_index":2002,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.strategy.ts:8",{"_index":2007,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.token.claim",{"_index":14785,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["id.tostring",{"_index":962,"title":{},"body":{"injectables/AccountServiceDb.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["id/authorization",{"_index":6335,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["id/challenge",{"_index":6370,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["id='${child.id",{"_index":3103,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["id_token",{"_index":178,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["id_token_hint_claims",{"_index":17696,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["idashboardrepo",{"_index":8792,"title":{"interfaces/IDashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["idea",{"_index":2529,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/TaskUC.html":{}}}],["idempotent",{"_index":2344,"title":{},"body":{"injectables/BBBService.html":{}}}],["identical",{"_index":14500,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["identifiable",{"_index":25490,"title":{},"body":{"license.html":{}}}],["identified",{"_index":13538,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiedreference",{"_index":2544,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["identifier",{"_index":1396,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"controllers/DeletionRequestsController.html":{},"classes/ErrorResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LdapStrategy.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifierref",{"_index":5935,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["identifiers",{"_index":13969,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/JwtValidationAdapter.html":{},"classes/NotFoundLoggableException.html":{}}}],["identifies",{"_index":20906,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["identify",{"_index":6336,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["identities",{"_index":26256,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["identity",{"_index":3108,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["identitymanagementconfig",{"_index":13876,"title":{"interfaces/IdentityManagementConfig.html":{}},"body":{"interfaces/IdentityManagementConfig.html":{},"injectables/LocalStrategy.html":{},"interfaces/ServerConfig.html":{}}}],["identitymanagementmodule",{"_index":665,"title":{"modules/IdentityManagementModule.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/IdentityManagementModule.html":{},"modules/SystemModule.html":{}}}],["identitymanagementoauthservice",{"_index":13886,"title":{"classes/IdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["identitymanagementoauthservice:24",{"_index":14826,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:54",{"_index":14827,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:61",{"_index":14829,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementservice",{"_index":633,"title":{"classes/IdentityManagementService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:114",{"_index":14869,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:127",{"_index":14870,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:132",{"_index":14859,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:137",{"_index":14871,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:15",{"_index":14857,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:153",{"_index":14872,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:47",{"_index":14874,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:63",{"_index":14876,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:77",{"_index":14868,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:85",{"_index":14865,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:99",{"_index":14866,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identityprovideralias",{"_index":14775,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapper",{"_index":14774,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapperrepresentation",{"_index":14659,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityproviderrepresentation",{"_index":14662,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["idhierarchy",{"_index":5531,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idhierarchy[0",{"_index":5532,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idm",{"_index":78,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idm.service",{"_index":679,"title":{},"body":{"modules/AccountModule.html":{}}}],["idm/dev:latest",{"_index":25706,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idmaccount",{"_index":593,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmaccountproperties",{"_index":227,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{}}}],["idmaccountupdate",{"_index":13915,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmap",{"_index":5455,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["idmoauthservice",{"_index":15496,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["idmreferenceid",{"_index":432,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{}}}],["idmservice",{"_index":636,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["idmuserrepresentation",{"_index":14972,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["idp",{"_index":14692,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idpalias",{"_index":14651,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["idparams",{"_index":13815,"title":{"classes/IdParams.html":{}},"body":{"classes/IdParams.html":{},"controllers/OauthProviderController.html":{}}}],["idphint",{"_index":15103,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["ids",{"_index":615,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseDORepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/ParentInfo.html":{},"classes/PatchOrderParams.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/S3ClientAdapter.html":{},"classes/UsersList.html":{}}}],["ids.'})@apiresponse({status",{"_index":4386,"title":{},"body":{"controllers/CardController.html":{}}}],["ids.length",{"_index":2515,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.map((eid",{"_index":2505,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.map((id",{"_index":2981,"title":{},"body":{"entities/Board.html":{}}}],["ids.params.ts",{"_index":4438,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids.params.ts:10",{"_index":4442,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids[0",{"_index":3460,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["idtoken",{"_index":173,"title":{"interfaces/IdToken.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/TokenRequestMapper.html":{}}}],["idtoken.external_sub",{"_index":17728,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtoken.uuid",{"_index":14405,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokencreationloggableexception",{"_index":13818,"title":{"classes/IdTokenCreationLoggableException.html":{}},"body":{"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{}}}],["idtokencreationloggableexception(clientid",{"_index":13867,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["idtokenextractionfailureloggableexception",{"_index":13827,"title":{"classes/IdTokenExtractionFailureLoggableException.html":{}},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('external_sub",{"_index":17729,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('uuid",{"_index":14406,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokeninvalidloggableexception",{"_index":13834,"title":{"classes/IdTokenInvalidLoggableException.html":{}},"body":{"classes/IdTokenInvalidLoggableException.html":{},"injectables/OAuthService.html":{}}}],["idtokenservice",{"_index":13836,"title":{"injectables/IdTokenService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["idtokenusernotfoundloggableexception",{"_index":13870,"title":{"classes/IdTokenUserNotFoundLoggableException.html":{}},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["idtokenusernotfoundloggableexception(idtoken?.uuid",{"_index":14411,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ieditormodel",{"_index":12592,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ientity",{"_index":2536,"title":{"interfaces/IEntity.html":{}},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ientitywithtimestamps",{"_index":9935,"title":{"interfaces/IEntityWithTimestamps.html":{}},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ierror",{"_index":10013,"title":{"interfaces/IError.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["iexternaltoolproperties",{"_index":10375,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["if/else",{"_index":26079,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ifilestats",{"_index":11688,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["ifindoptions",{"_index":7924,"title":{"interfaces/IFindOptions.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"injectables/PseudonymService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["iframe",{"_index":6600,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GroupNameIdTuple.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iframe_restrict_access=false",{"_index":26353,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["iframesubject",{"_index":13869,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/PseudonymService.html":{}}}],["ignore",{"_index":2472,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ignored",{"_index":2561,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ignoreexpiration",{"_index":14477,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["igridelement",{"_index":8475,"title":{"interfaces/IGridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["ih5plibrarymanagementconfig",{"_index":13466,"title":{"interfaces/IH5PLibraryManagementConfig.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["ihubcontenttype",{"_index":13443,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["iimportuserrolename",{"_index":13749,"title":{},"body":{"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"classes/RoleNameMapper.html":{}}}],["iimportuserscope",{"_index":13746,"title":{"interfaces/IImportUserScope.html":{}},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"interfaces/NameMatch.html":{}}}],["iinstalledlibrary",{"_index":11694,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iintegration",{"_index":12593,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ikeycloakconfigurationinputfiles",{"_index":13752,"title":{"interfaces/IKeycloakConfigurationInputFiles.html":{}},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloaksettings",{"_index":13759,"title":{"interfaces/IKeycloakSettings.html":{}},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["ilegacylogger",{"_index":13764,"title":{"interfaces/ILegacyLogger.html":{}},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["ilibraryadministrationoverviewitem",{"_index":13452,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ilibrarymetadata",{"_index":11695,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ilibraryname",{"_index":6597,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iltitoolproperties",{"_index":8143,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{}}}],["im",{"_index":5574,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["image",{"_index":16418,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["image/gif",{"_index":10460,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/jpeg",{"_index":10455,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/png",{"_index":10458,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["image/webp",{"_index":22588,"title":{},"body":{"classes/TestHelper.html":{}}}],["imagebuffer",{"_index":10440,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagebuffer.tostring('hex",{"_index":10491,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagemagick",{"_index":18067,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["imageobject",{"_index":16393,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images",{"_index":16396,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images/xyz.png",{"_index":13540,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["images[0",{"_index":16431,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images[0].width",{"_index":16432,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["imagesignature",{"_index":10490,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imageurl",{"_index":3586,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["imageurl(value",{"_index":15800,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["imageurlobject",{"_index":6530,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imageurlobject.origin",{"_index":6531,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imateapotexception",{"_index":11472,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imateapotexception('this",{"_index":11483,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immediately",{"_index":11350,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immutable",{"_index":11178,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["impact",{"_index":24993,"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":26242,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["impersonated",{"_index":8138,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{}}}],["impersonates",{"_index":13727,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["impl",{"_index":3670,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["impl.ts",{"_index":3525,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:102",{"_index":3543,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:116",{"_index":3544,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:131",{"_index":3545,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:145",{"_index":3541,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:158",{"_index":3546,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:173",{"_index":3547,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:191",{"_index":3542,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:205",{"_index":3536,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:210",{"_index":3554,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:216",{"_index":3552,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:221",{"_index":3550,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:32",{"_index":3532,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:41",{"_index":3540,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:45",{"_index":3538,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:62",{"_index":3537,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:77",{"_index":3534,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["implemenation",{"_index":26474,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implement",{"_index":15303,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implementation",{"_index":2643,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["implementations",{"_index":25822,"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":14447,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implemented.loggable",{"_index":17912,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["implementing",{"_index":25854,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implements",{"_index":1237,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUrlHandler.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"classes/FileDto.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LumiUserWithContentData.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRule.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionRule.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implications",{"_index":25987,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["implicit",{"_index":26370,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implicitly",{"_index":26390,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implied",{"_index":25512,"title":{},"body":{"license.html":{}}}],["implies",{"_index":6354,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["import",{"_index":95,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["import.body.params.ts",{"_index":20741,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:13",{"_index":20745,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:22",{"_index":20744,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.module.ts",{"_index":14189,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["import.uc",{"_index":14047,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["import/controller/dto/filter",{"_index":12470,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["import/controller/dto/import",{"_index":14096,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{}}}],["import/controller/dto/sort",{"_index":20943,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["import/controller/dto/update",{"_index":23508,"title":{},"body":{"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{}}}],["import/controller/dto/user",{"_index":24116,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["import/controller/import",{"_index":14000,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["import/export",{"_index":26301,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["import/loggable/migration",{"_index":16509,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["import/loggable/school",{"_index":20153,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["import/loggable/user",{"_index":24150,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["import/mapper/import",{"_index":14117,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["import/mapper/match.mapper.ts",{"_index":14164,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:13",{"_index":14170,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:6",{"_index":14168,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/role",{"_index":19234,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["import/mapper/user",{"_index":24121,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["import/uc/ldap",{"_index":15026,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["import/user",{"_index":14188,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["important",{"_index":407,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importcollection",{"_index":8876,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollection(@param('collectionname",{"_index":8895,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollection(collectionname",{"_index":8883,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollections",{"_index":8877,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(@query('with",{"_index":8893,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(withindexes",{"_index":8886,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["imported",{"_index":5325,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/ShareTokenImportBodyParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["importeddocumentsamount",{"_index":5322,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["importhash",{"_index":18897,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["importing",{"_index":25458,"title":{},"body":{"license.html":{}}}],["imports",{"_index":276,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importseeddata",{"_index":14936,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["importsharetoken",{"_index":20676,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["importsharetoken(currentuser",{"_index":20683,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["importsharetoken(userid",{"_index":20857,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["importuser",{"_index":13943,"title":{"entities/ImportUser.html":{}},"body":{"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/UserRepo.html":{}}}],["importuser.classnames",{"_index":14138,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.firstname",{"_index":14134,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.flagged",{"_index":14139,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.id",{"_index":14132,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.lastname",{"_index":14135,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.loginname",{"_index":14133,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.matchedby",{"_index":14141,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.rolenames.map((role",{"_index":14136,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.scope",{"_index":14209,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuser.user",{"_index":14140,"title":{},"body":{"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["importuser.user).filter((user",{"_index":14235,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importusercontroller",{"_index":13999,"title":{"controllers/ImportUserController.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["importuserentities",{"_index":14231,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserentities.map((importuser",{"_index":14234,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserfactory",{"_index":14082,"title":{"classes/ImportUserFactory.html":{}},"body":{"classes/ImportUserFactory.html":{}}}],["importuserfactory.define(importuser",{"_index":14089,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["importuserid",{"_index":14112,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserlist",{"_index":14057,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlist.map((importuser",{"_index":14060,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlistresponse",{"_index":14048,"title":{"classes/ImportUserListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["importuserlistresponse(dtolist",{"_index":14062,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper",{"_index":14039,"title":{"classes/ImportUserMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["importusermapper.mapimportuserfilterquerytodomain(scope",{"_index":14056,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.mapsortingquerytodomain(sortingquery",{"_index":14055,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(importuser",{"_index":14061,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(result",{"_index":14066,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermatchmapper",{"_index":14126,"title":{"classes/ImportUserMatchMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["importusermatchmapper.mapimportusermatchscopetodomain(match",{"_index":14161,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusermatchmapper.mapmatchcreatortoresponse(matchcreator",{"_index":24137,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["importusermodule",{"_index":14183,"title":{"modules/ImportUserModule.html":{}},"body":{"modules/ImportUserModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["importuserproperties",{"_index":13968,"title":{"interfaces/ImportUserProperties.html":{}},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{}}}],["importuserrepo",{"_index":14187,"title":{"injectables/ImportUserRepo.html":{}},"body":{"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{}}}],["importuserresponse",{"_index":14049,"title":{"classes/ImportUserResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{}}}],["importusers",{"_index":13972,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["importuserschoolid",{"_index":20156,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserscope",{"_index":14208,"title":{"classes/ImportUserScope.html":{}},"body":{"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{}}}],["importusersortorder",{"_index":14125,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["importusersortorder.firstname",{"_index":14129,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusersortorder.lastname",{"_index":14130,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuserurlparams",{"_index":14021,"title":{"classes/ImportUserUrlParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserUrlParams.html":{}}}],["impose",{"_index":25392,"title":{},"body":{"license.html":{}}}],["imposed",{"_index":25515,"title":{},"body":{"license.html":{}}}],["impossile",{"_index":16786,"title":{},"body":{"classes/NewsScope.html":{}}}],["improvements",{"_index":25085,"title":{},"body":{"license.html":{}}}],["improves",{"_index":26039,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ims",{"_index":5999,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["imsbasiclti_v1p0p1.xsd",{"_index":5952,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticm_v1p0.xsd",{"_index":5951,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticp_v1p0.xsd",{"_index":5950,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["in.'})@apioperation({summary",{"_index":23149,"title":{},"body":{"controllers/ToolController.html":{}}}],["in/out",{"_index":25914,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["inability",{"_index":25567,"title":{},"body":{"license.html":{}}}],["inaccurate",{"_index":25570,"title":{},"body":{"license.html":{}}}],["inc",{"_index":25043,"title":{},"body":{"license.html":{}}}],["incidental",{"_index":25564,"title":{},"body":{"license.html":{}}}],["include",{"_index":2546,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["included",{"_index":7186,"title":{},"body":{"classes/CopyApiResponse.html":{},"license.html":{}}}],["includes",{"_index":16883,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["including",{"_index":12149,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inclusion",{"_index":25273,"title":{},"body":{"license.html":{}}}],["incoming",{"_index":1214,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["incoming_request_timeout",{"_index":12097,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["incoming_request_timeout_copy_api",{"_index":12099,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/ServerConfig.html":{}}}],["incomplete",{"_index":13311,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["incorporate",{"_index":25088,"title":{},"body":{"license.html":{}}}],["incorporated",{"_index":25533,"title":{},"body":{"license.html":{}}}],["incorporation",{"_index":25324,"title":{},"body":{"license.html":{}}}],["increase",{"_index":2937,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["increaseversionofnewtoolifnecessary",{"_index":11196,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increaseversionofnewtoolifnecessary(oldtool",{"_index":11214,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service",{"_index":11034,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["increment.service.ts",{"_index":11188,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:16",{"_index":11199,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:32",{"_index":11213,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:39",{"_index":11202,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:52",{"_index":11211,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:60",{"_index":11205,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:68",{"_index":11209,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:7",{"_index":11216,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:76",{"_index":11207,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["indefinitely",{"_index":6294,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["indemnification",{"_index":25388,"title":{},"body":{"license.html":{}}}],["independent",{"_index":25263,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["index",{"_index":7,"title":{"index.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["index()@enum",{"_index":11835,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@enum(undefined",{"_index":3918,"title":{},"body":{"entities/BoardNode.html":{}}}],["index()@manytomany('course",{"_index":8599,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytomany('user",{"_index":7538,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{}}}],["index()@manytomany({fieldname",{"_index":23551,"title":{},"body":{"entities/User.html":{}}}],["index()@manytoone('course",{"_index":7775,"title":{},"body":{"entities/CourseGroup.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone('dashboardmodelentity",{"_index":8597,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytoone('lessonentity",{"_index":21666,"title":{},"body":{"entities/Task.html":{}}}],["index()@manytoone('user",{"_index":8683,"title":{},"body":{"entities/DashboardModelEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone(undefined",{"_index":7533,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["index()@property",{"_index":15608,"title":{},"body":{"entities/LessonEntity.html":{}}}],["index()@property({fieldname",{"_index":11827,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@property({nullable",{"_index":3914,"title":{},"body":{"entities/BoardNode.html":{},"entities/Course.html":{}}}],["index({options",{"_index":11830,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["index.ts",{"_index":25619,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["indexes",{"_index":5347,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskRepo.html":{},"todo.html":{}}}],["indexes.filter((i",{"_index":5359,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["indicate",{"_index":25429,"title":{},"body":{"license.html":{}}}],["indicating",{"_index":8099,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["individual",{"_index":25271,"title":{},"body":{"license.html":{}}}],["individuals",{"_index":25119,"title":{},"body":{"license.html":{}}}],["industrial",{"_index":25333,"title":{},"body":{"license.html":{}}}],["inestapplication",{"_index":1606,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inewsscope",{"_index":8071,"title":{"interfaces/INewsScope.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["inferrable",{"_index":14116,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["info(currentuser",{"_index":24432,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["info(loggable",{"_index":15880,"title":{},"body":{"injectables/Logger.html":{}}}],["info(text",{"_index":6384,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["info.dto.ts",{"_index":4711,"title":{},"body":{"classes/ClassInfoDto.html":{},"interfaces/ShareTokenInfoDto.html":{}}}],["info.dto.ts:10",{"_index":4718,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:12",{"_index":4723,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:14",{"_index":4722,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:16",{"_index":4720,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:18",{"_index":4717,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:4",{"_index":4719,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:6",{"_index":4725,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:8",{"_index":4721,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.interface.ts",{"_index":20498,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["info.mapper",{"_index":16679,"title":{},"body":{"classes/NewsMapper.html":{}}}],["info.mapper.ts",{"_index":20179,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.mapper.ts:5",{"_index":20181,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.reponse.ts",{"_index":20749,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:13",{"_index":20753,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:16",{"_index":20752,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:20",{"_index":20751,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:5",{"_index":20750,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.response",{"_index":4752,"title":{},"body":{"classes/ClassInfoSearchListResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{}}}],["info.response.ts",{"_index":2301,"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":24604,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:12",{"_index":4744,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:13",{"_index":20187,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:14",{"_index":23786,"title":{},"body":{"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:15",{"_index":4741,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:18",{"_index":4746,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:19",{"_index":23785,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["info.response.ts:21",{"_index":4745,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:24",{"_index":4743,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:27",{"_index":4740,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:3",{"_index":20186,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:6",{"_index":4742,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:9",{"_index":4747,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.ts",{"_index":7332,"title":{},"body":{"interfaces/CopyFilesRequestInfo.html":{},"interfaces/FileRequestInfo.html":{},"classes/VideoConferenceInfo.html":{}}}],["info.ts:6",{"_index":24597,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["info.uc.ts",{"_index":24606,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:13",{"_index":24608,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:20",{"_index":24610,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:75",{"_index":24612,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["infodto",{"_index":24570,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["infodto.state",{"_index":24572,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["inform",{"_index":25310,"title":{},"body":{"license.html":{}}}],["information",{"_index":1390,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/BBBService.html":{},"classes/ConsentRequestBody.html":{},"classes/ErrorResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["informationen",{"_index":5566,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["infra",{"_index":16273,"title":{},"body":{"modules/ManagementModule.html":{}}}],["infra/antivirus",{"_index":7269,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["infra/cache",{"_index":1536,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/OauthModule.html":{}}}],["infra/cache/interface/cache",{"_index":14504,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["infra/calendar",{"_index":24679,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["infra/calendar/interface/calendar",{"_index":4306,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["infra/collaborative",{"_index":5124,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["infra/console",{"_index":3811,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"interfaces/CleanOptions.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["infra/console/console",{"_index":8855,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["infra/database",{"_index":5202,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["infra/database/mongo",{"_index":12571,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["infra/encryption",{"_index":5206,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["infra/feathers",{"_index":1882,"title":{},"body":{"modules/AuthorizationModule.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/LessonModule.html":{}}}],["infra/feathers/feathers",{"_index":16869,"title":{},"body":{"injectables/NexboardService.html":{}}}],["infra/file",{"_index":5208,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["infra/identity",{"_index":647,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/SystemModule.html":{}}}],["infra/mail",{"_index":20559,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/metrics",{"_index":18208,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["infra/oauth",{"_index":10555,"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":11841,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["infra/rabbitmq",{"_index":10016,"title":{},"body":{"classes/ErrorMapper.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRequestInfo.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["infra/rabbitmq/rpc",{"_index":12348,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{}}}],["infra/redis",{"_index":20560,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/s3",{"_index":11521,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["infrastructure",{"_index":25924,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["infrastucture",{"_index":20625,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infringe",{"_index":25427,"title":{},"body":{"license.html":{}}}],["infringed",{"_index":25455,"title":{},"body":{"license.html":{}}}],["infringement",{"_index":25130,"title":{},"body":{"license.html":{}}}],["inherit",{"_index":2548,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritance",{"_index":26374,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritances",{"_index":16750,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["inherited",{"_index":436,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"classes/Group.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupScope.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/PseudonymScope.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolYearRepo.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationDO.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["init",{"_index":4229,"title":{},"body":{"classes/Builder.html":{}}}],["initauth",{"_index":13627,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initauth(oauthconfig",{"_index":13638,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initialdelay",{"_index":15195,"title":{},"body":{"injectables/LdapService.html":{}}}],["initialize",{"_index":22931,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["initialized",{"_index":18564,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["initializes3clientmap",{"_index":8982,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["initiate",{"_index":25450,"title":{},"body":{"license.html":{}}}],["initiated",{"_index":17276,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["initresponse",{"_index":13572,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["initresponse.config",{"_index":13601,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["inject",{"_index":688,"title":{},"body":{"modules/AccountModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraSsoService.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewService.html":{},"modules/RedisModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inject('antivirus_service_options",{"_index":1320,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["inject('collaborativestoragestrategy",{"_index":5037,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["inject('dashboard_repo",{"_index":8812,"title":{},"body":{"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{}}}],["inject('mail_service_options",{"_index":16242,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["inject('rocket_chat_options",{"_index":1109,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["inject(bbbsettings",{"_index":2385,"title":{},"body":{"injectables/BBBService.html":{}}}],["inject(cache_manager",{"_index":14509,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["inject(defaultencryptionservice",{"_index":5225,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["inject(files_storage_s3_connection",{"_index":18138,"title":{},"body":{"injectables/PreviewService.html":{}}}],["inject(forwardref",{"_index":3453,"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":12581,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["inject(h5p_content_s3_connection",{"_index":22498,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["inject(keycloakconfigurationinputfiles",{"_index":15005,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inject(keycloaksettings",{"_index":14567,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["inject(ldapencryptionservice",{"_index":5226,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["inject(provisioningfeatures",{"_index":17870,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["inject(redis_client",{"_index":20620,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["inject(s3_client",{"_index":19569,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(s3_config",{"_index":19570,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(toolfeatures",{"_index":10218,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["inject(your_s3_uniq_connection_token",{"_index":26496,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectable",{"_index":589,"title":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectables",{"_index":591,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["injected",{"_index":11346,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["injectenvvars(json",{"_index":5377,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["injecting",{"_index":26489,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injection",{"_index":15305,"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":26446,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inline",{"_index":1446,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inlineattachment",{"_index":1445,"title":{"interfaces/InlineAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inmaintenancesince",{"_index":15329,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["inner",{"_index":6033,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["innerpermissions",{"_index":19208,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerrole.resolvepermissions",{"_index":19209,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles",{"_index":19205,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles.foreach((innerrole",{"_index":19207,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["input",{"_index":2358,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/DeletionClient.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichText.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ServerConsole.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["input.accesstoken",{"_index":19749,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.builder",{"_index":9449,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.builder.ts",{"_index":9445,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:4",{"_index":9564,"title":{},"body":{"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:5",{"_index":9447,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.deleteinminutes",{"_index":2847,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.dto.ts",{"_index":17294,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:4",{"_index":17296,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:6",{"_index":17297,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:8",{"_index":17295,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.interface",{"_index":9443,"title":{},"body":{"interfaces/DeletionRequestInput.html":{}}}],["input.interface.ts",{"_index":9441,"title":{},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/QueueDeletionRequestInput.html":{}}}],["input.mapper",{"_index":18330,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["input.mapper.ts",{"_index":18361,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.mapper.ts:6",{"_index":18364,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.system",{"_index":14421,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.provisioningurl",{"_index":19748,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.systemid",{"_index":14409,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.targetrefdomain",{"_index":2845,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.targetrefid",{"_index":2846,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["inputdto",{"_index":18338,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["inputfiles",{"_index":14994,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inputformat",{"_index":3589,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["inputformat(value",{"_index":19083,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["inputformat.plain_text",{"_index":6515,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["inputformat.rich_text_ck4",{"_index":21687,"title":{},"body":{"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["inputformat.rich_text_ck5",{"_index":3877,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"classes/TaskMapper.html":{}}}],["inputpath",{"_index":1665,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputpath.charat(pos",{"_index":1662,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputroles",{"_index":17962,"title":{},"body":{"injectables/PermissionService.html":{}}}],["inputs",{"_index":2827,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["inputs.length",{"_index":2929,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["inputs.push(queuedeletionrequestinputbuilder.build(targetrefdomain",{"_index":2917,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["insensitive",{"_index":14265,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["insertedcount",{"_index":8936,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["inside",{"_index":4236,"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":26325,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["inspired",{"_index":26213,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["install",{"_index":13510,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["installation",{"_index":25337,"title":{},"body":{"license.html":{}}}],["installed",{"_index":25354,"title":{},"body":{"license.html":{}}}],["installedlibraries",{"_index":13516,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["installedlibrary",{"_index":11705,"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":11743,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.minorversion",{"_index":11745,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.patchversion",{"_index":11747,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installlibraries",{"_index":13438,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["installlibraries(librariestoinstall",{"_index":13446,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["instance",{"_index":5927,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacyLogger.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instanceof",{"_index":653,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/FilesStorageClientMapper.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupRule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PreviewService.html":{},"injectables/PseudonymService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instances",{"_index":6548,"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":7563,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["instead",{"_index":2513,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeletionClient.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LegacySystemRepo.html":{},"interfaces/ParentInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"modules/ToolModule.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instructions",{"_index":25930,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["instructor",{"_index":8146,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["intact",{"_index":25240,"title":{},"body":{"license.html":{}}}],["integration",{"_index":12602,"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":5410,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["intended",{"_index":4526,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["intendeduse",{"_index":5815,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["intention",{"_index":25233,"title":{},"body":{"license.html":{}}}],["interact",{"_index":25601,"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":25528,"title":{},"body":{"license.html":{}}}],["interaction",{"_index":25145,"title":{},"body":{"license.html":{}}}],["interactions",{"_index":25865,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interactive",{"_index":25147,"title":{},"body":{"license.html":{}}}],["intercept",{"_index":9819,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["intercept(context",{"_index":9821,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["interceptor",{"_index":7477,"title":{},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interceptorconfig",{"_index":7480,"title":{"interfaces/InterceptorConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{}}}],["interceptormodule",{"_index":7462,"title":{"modules/InterceptorModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{}}}],["interchange",{"_index":25282,"title":{},"body":{"license.html":{}}}],["interest",{"_index":25443,"title":{},"body":{"license.html":{}}}],["interface",{"_index":159,"title":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFiles.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"interfaces/XApiKeyConfig.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFilterParams.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CommonToolService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileParams.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigEntity.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["interface/cache",{"_index":4260,"title":{},"body":{"injectables/CacheService.html":{}}}],["interface/calendar",{"_index":4332,"title":{},"body":{"injectables/CalendarService.html":{}}}],["interface/json",{"_index":15002,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["interface/jwt",{"_index":1722,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{}}}],["interface/keycloak",{"_index":14525,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["interface/learnroom",{"_index":21676,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["interface/oauth",{"_index":1506,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["interface/oidc",{"_index":18247,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["interface/preview",{"_index":18053,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{}}}],["interface/redis.constants",{"_index":18815,"title":{},"body":{"modules/RedisModule.html":{}}}],["interface/sso",{"_index":1899,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["interface/url",{"_index":4185,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["interfaces",{"_index":161,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ErrorLogger.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interfaces/copy",{"_index":7327,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["interfaces/legacy",{"_index":15300,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["interfaces/mail",{"_index":16225,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["interfered",{"_index":25343,"title":{},"body":{"license.html":{}}}],["intermediate",{"_index":1920,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["internal",{"_index":613,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseNews.html":{},"classes/ImportUserUrlParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"classes/SwapInternalLinksVisitor.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":23504,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["internal_server_error_exception",{"_index":13823,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["internalaxiosrequestconfig",{"_index":2118,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["internalid",{"_index":926,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["internallinkmatatagservice",{"_index":16389,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["internally",{"_index":19572,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["internalmeetingid",{"_index":2250,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["internalrepo",{"_index":25876,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["internalservererrorexception",{"_index":1312,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolLaunchService.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["internalservererrorexception('cannot",{"_index":2504,"title":{},"body":{"injectables/BaseDORepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/UserLoginMigrationService.html":{}}}],["internalservererrorexception('copy",{"_index":7738,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["internalservererrorexception('courses",{"_index":7613,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["internalservererrorexception('expected",{"_index":5477,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["internalservererrorexception('feature",{"_index":12538,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["internalservererrorexception('import",{"_index":20901,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["internalservererrorexception('invalid",{"_index":13479,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["internalservererrorexception('lessons",{"_index":6250,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["internalservererrorexception('multiple_matches_are_not_allowed",{"_index":19519,"title":{},"body":{"injectables/RuleManager.html":{}}}],["internalservererrorexception('provisioning",{"_index":18343,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["internalservererrorexception('s3clientadapter:copy",{"_index":19613,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:create",{"_index":19592,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:delete",{"_index":19601,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:get",{"_index":19586,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:restore",{"_index":19606,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('submissions",{"_index":21702,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('task.finished",{"_index":21706,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('tool",{"_index":17547,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception('unknown",{"_index":8738,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["internalservererrorexception('user",{"_index":4825,"title":{},"body":{"injectables/ClassService.html":{},"injectables/PseudonymService.html":{}}}],["internalservererrorexception(`${bbbresp.response.messagekey",{"_index":2404,"title":{},"body":{"injectables/BBBService.html":{}}}],["internalservererrorexception(`cannot",{"_index":17545,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception(`multiple",{"_index":15407,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["internalservererrorexception(`redirect",{"_index":13606,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["internalservererrorexception(`unknown",{"_index":10171,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["internalservererrorexception(errorobj.message",{"_index":10021,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["internalservererrorexception(null",{"_index":1343,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/ErrorMapper.html":{},"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception(oauthclientid",{"_index":13696,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["internalservererrorexception})@apiresponse({status",{"_index":20689,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@get('/play/:contentid",{"_index":13279,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["internalservererrorexception})@get(':token",{"_index":20695,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@post",{"_index":16343,"title":{},"body":{"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["internalservice",{"_index":25877,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interpretation",{"_index":25576,"title":{},"body":{"license.html":{}}}],["interpreter",{"_index":25176,"title":{},"body":{"license.html":{}}}],["intimate",{"_index":25182,"title":{},"body":{"license.html":{}}}],["introduce",{"_index":11347,"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":25966,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introducing",{"_index":25674,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["introduction",{"_index":25616,"title":{},"body":{"todo.html":{}}}],["introspectoauth2token",{"_index":17594,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectoauth2token(token",{"_index":17609,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectresponse",{"_index":14340,"title":{"interfaces/IntrospectResponse.html":{}},"body":{"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{}}}],["inusermigration",{"_index":15330,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["invalid",{"_index":340,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AuthenticationService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"controllers/LoginController.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.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":14352,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["invalid_request",{"_index":6298,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["invalid_user_login_migration",{"_index":14360,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["invalidate",{"_index":25260,"title":{},"body":{"license.html":{}}}],["invalidoriginforlogouturlloggableexception",{"_index":14347,"title":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["invalidoriginforlogouturlloggableexception(params.logouturl",{"_index":24460,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["invaliduserloginmigrationloggableexception",{"_index":14355,"title":{"classes/InvalidUserLoginMigrationLoggableException.html":{}},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["invaliduserloginmigrationloggableexception(currentuserid",{"_index":24097,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["inversion",{"_index":25820,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["invitationlink",{"_index":4590,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["inviteusertogroup(groupname",{"_index":1134,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["invoke",{"_index":26289,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["ip",{"_index":26324,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipaddress",{"_index":26327,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipath",{"_index":11696,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iprimarykey",{"_index":12415,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["iprovisioningfeatures",{"_index":13781,"title":{"interfaces/IProvisioningFeatures.html":{}},"body":{"interfaces/IProvisioningFeatures.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["irrevocable",{"_index":25188,"title":{},"body":{"license.html":{}}}],["isactive",{"_index":9774,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isallowedaschild",{"_index":3064,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["isallowedaschild(child",{"_index":21166,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isallowedaschild(domainobject",{"_index":3081,"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":6469,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isanycontentelement(element",{"_index":6473,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isapplicable",{"_index":2619,"title":{},"body":{"classes/BaseProvisioningOptions.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/SchoolSystemOptionsRule.html":{},"classes/SchulConneXProvisioningOptions.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["isapplicable(provisioningoptions",{"_index":2620,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["isapplicable(user",{"_index":3714,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["isarchived",{"_index":9809,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["isarray",{"_index":6317,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["isarray()@apiproperty",{"_index":17097,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isarray()@arrayminsize(1)@validatenested({each",{"_index":19783,"title":{},"body":{"classes/SanisResponse.html":{}}}],["isarray()@ismongoid({each",{"_index":17943,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["isarray()@isoptional()@isenum(toolcontexttype",{"_index":10322,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isarray()@isoptional()@isstring({each",{"_index":6332,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{}}}],["isarray()@isstring({each",{"_index":6279,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["isatleastpartialsuccessfull",{"_index":7400,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatleastpartialsuccessfull(status",{"_index":7408,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatschool",{"_index":20387,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["isauthenticated",{"_index":26482,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["isauthenticationresponse",{"_index":1674,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthenticationresponse(body",{"_index":1673,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthorized",{"_index":20391,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{},"injectables/SystemRule.html":{}}}],["isauthorizedstudent",{"_index":2666,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isauthorizedstudent(userid",{"_index":2677,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isautoparameterglobal",{"_index":10557,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isautoparameterglobal(customparameter",{"_index":10569,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isaxioserror",{"_index":2089,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["isaxioserror(error",{"_index":17141,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["isbasicconfig",{"_index":10144,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isbasicconfig(config",{"_index":10157,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isblocked",{"_index":11894,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isboolean",{"_index":199,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/LoginRequestBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isboolean()@apiproperty",{"_index":8368,"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":8098,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["isboolean()@isoptional()@apiproperty({description",{"_index":6283,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":191,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["isbreakout",{"_index":2306,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["isbusinesserror",{"_index":10043,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isbusinesserror(error",{"_index":10049,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["iscard(reference",{"_index":4366,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["isclientidunique",{"_index":11154,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["isclientidunique(externaltool",{"_index":11160,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["iscolumn(reference",{"_index":5430,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["iscolumnboard",{"_index":5457,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(copystatus.copyentity",{"_index":5476,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(reference",{"_index":5446,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["iscolumnboardfeatureflagactive",{"_index":9724,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["iscolumnboardtarget",{"_index":3326,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(element.target",{"_index":3360,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(reference",{"_index":5610,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["iscontextrestricted",{"_index":6090,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscontextrestricted(externaltool",{"_index":6096,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscopyfrom",{"_index":11825,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["iscoursefinished",{"_index":21722,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["iscreator",{"_index":19370,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iscustomparameternameempty",{"_index":10558,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["iscustomparameternameempty(param",{"_index":10571,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdate",{"_index":854,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["isdate()@isoptional()@apipropertyoptional({description",{"_index":8079,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isdefaultvalueofvalidregex",{"_index":10559,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidregex(param",{"_index":10572,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype",{"_index":10560,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype(param",{"_index":10574,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdirectory",{"_index":11597,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["isdraft",{"_index":4117,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["isdrawingelement(reference",{"_index":9675,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["isemail",{"_index":302,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/PatchMyAccountParams.html":{}}}],["isemail()@isoptional()@apiproperty({description",{"_index":17926,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["isempty",{"_index":12770,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["isemptyqueryallowed",{"_index":7033,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":18166,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["isenum",{"_index":899,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["isenum(accountsearchtype",{"_index":900,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(accountsearchtype)@apiproperty({description",{"_index":885,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(classsortby",{"_index":4839,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isenum(contentelementtype",{"_index":8010,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({description",{"_index":8019,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({enum",{"_index":9832,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["isenum(customparameterlocationparams",{"_index":8383,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterlocationparams)@apiproperty",{"_index":8371,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams",{"_index":8382,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams)@apiproperty",{"_index":8377,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams",{"_index":8384,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams)@apiproperty",{"_index":8380,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(externaltoolsortby",{"_index":20934,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isenum(filerecordparenttype",{"_index":7273,"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":12491,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(filterroletype",{"_index":12492,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(h5pcontentparenttype",{"_index":12639,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(importusersortorder",{"_index":20945,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isenum(inputformat",{"_index":9646,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(inputformat)@apiproperty",{"_index":19066,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["isenum(languagetype",{"_index":4585,"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":16055,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltimessagetype)@apiproperty",{"_index":16048,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission",{"_index":16056,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission)@apiproperty",{"_index":16050,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(newstargetmodel",{"_index":8093,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["isenum(newstargetmodel)@apiproperty({enum",{"_index":8086,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isenum(previewoutputmimetypes",{"_index":7284,"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":7286,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(sanisgrouprole",{"_index":19694,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isenum(sanisgrouptype",{"_index":19674,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["isenum(sanisrole",{"_index":19719,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isenum(schoolyearquerytype",{"_index":4708,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isenum(sharetokenparenttype",{"_index":20668,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sharetokenparenttype)@apiproperty({description",{"_index":20663,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sortorder",{"_index":20950,"title":{},"body":{"classes/SortingParams.html":{}}}],["isenum(ssoauthenticationerror",{"_index":1902,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isenum(subjecttypeenum",{"_index":17189,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(subjecttypeenum)@isoptional()@apiproperty({description",{"_index":17175,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(systemtypeenum",{"_index":21558,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["isenum(tokenauthmethod",{"_index":17188,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenauthmethod)@isoptional()@apiproperty({description",{"_index":17180,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenendpointauthmethod",{"_index":17103,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(tokenendpointauthmethod)@apiproperty",{"_index":17101,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype",{"_index":2726,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype)@apiproperty",{"_index":2723,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolcontexttype",{"_index":6771,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isenum(toolcontexttype)@apiproperty",{"_index":6835,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({enum",{"_index":6768,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({type",{"_index":7156,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["isenum(videoconferencescope",{"_index":24746,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["iserv",{"_index":14401,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper",{"_index":14363,"title":{"classes/IservMapper.html":{}},"body":{"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternalschooldto(ldapschool",{"_index":14419,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternaluserdto(ldapuser",{"_index":14417,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservprovisioningstrategy",{"_index":14380,"title":{"injectables/IservProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["iservstrategy",{"_index":18312,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["isexpired",{"_index":13525,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["isexternalidequivalent",{"_index":20244,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["isexternaltoolelement(reference",{"_index":10339,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["isexternaluser",{"_index":8057,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["isfeatherserror",{"_index":10044,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfeatherserror(error",{"_index":10051,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfileelement",{"_index":21174,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(child",{"_index":21179,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isfileelement(element",{"_index":21187,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(reference",{"_index":11569,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["isfileelementresponse",{"_index":6436,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfileelementresponse(result",{"_index":6452,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfinished",{"_index":4118,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["isfinishedforuser",{"_index":21724,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isfinishedforuser(user",{"_index":21716,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isflagged",{"_index":14256,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isflagged(flagged",{"_index":14274,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isglobal",{"_index":10627,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid",{"_index":10561,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid(customparameter",{"_index":10576,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isgraceperiodexpired",{"_index":24027,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraceperiodexpired(userloginmigration",{"_index":24042,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraded",{"_index":21086,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgradedforuser",{"_index":21089,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isgradedforuser(user",{"_index":21087,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgroup",{"_index":8504,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["isguest",{"_index":24616,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["ishidden",{"_index":8175,"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":13666,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["isinfected",{"_index":1321,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["isinstancealive",{"_index":17595,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["isinstanceofloggable",{"_index":15918,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isinstanceofloggable(object",{"_index":15923,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isint",{"_index":6318,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/GroupPaginationParams.html":{},"classes/LoginRequestBody.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isint()@apipropertyoptional({description",{"_index":12935,"title":{},"body":{"classes/GroupPaginationParams.html":{}}}],["isint()@isoptional()@apiproperty({description",{"_index":6290,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["isint()@isoptional()@ispositive()@apiproperty({description",{"_index":20658,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isint()@min(0)@apipropertyoptional({description",{"_index":895,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/GroupPaginationParams.html":{},"classes/PaginationParams.html":{}}}],["isint()@min(1)@isoptional()@apipropertyoptional({description",{"_index":9172,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["isint()@min(1)@max(100)@apipropertyoptional({description",{"_index":889,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isinternal",{"_index":16461,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl",{"_index":16442,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl(url",{"_index":16447,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["islatest",{"_index":6091,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islatest(tool1",{"_index":6098,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islesson",{"_index":3327,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(element.target",{"_index":3357,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(reference",{"_index":6272,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["islibrariescontenttype(object",{"_index":13474,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["islinkelement(reference",{"_index":15804,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["islisteningonly",{"_index":2319,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["islocal",{"_index":8165,"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":16054,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocale()@apiproperty",{"_index":16046,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocalhost",{"_index":1276,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["islti11config",{"_index":10145,"title":{},"body":{"classes/ExternalTool.html":{}}}],["islti11config(config",{"_index":10159,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["ismarked",{"_index":12034,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["ismarkedfordeletion",{"_index":11658,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ismatched",{"_index":3717,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ismember",{"_index":21070,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["ismigrationactive",{"_index":16482,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismigrationactive(userloginmigration",{"_index":16487,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismongoid",{"_index":855,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseUrlParams.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupIdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PatchOrderParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolSystemParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["ismongoid()@apiproperty",{"_index":6815,"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/SchoolSystemParams.html":{},"classes/SystemIdParams.html":{},"classes/TeamRoleDto.html":{}}}],["ismongoid()@apiproperty({description",{"_index":4197,"title":{},"body":{"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/CourseUrlParams.html":{},"classes/DashboardUrlParams.html":{},"classes/ImportUserUrlParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/MoveColumnBodyParams.html":{},"classes/NewsUrlParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{}}}],["ismongoid()@apiproperty({nullable",{"_index":6812,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/GroupIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["ismongoid()@apiproperty({pattern",{"_index":8084,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/ImportUserResponse.html":{}}}],["ismongoid()@apiproperty({required",{"_index":16563,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["ismongoid()@isoptional()@apipropertyoptional",{"_index":10307,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["ismongoid({each",{"_index":4439,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["isnameunique",{"_index":10562,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnameunique(externaltool",{"_index":10578,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnan",{"_index":6159,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnan(number(val",{"_index":6152,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnesthttpexception",{"_index":10045,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnesthttpexception(error",{"_index":10054,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnextcloud",{"_index":17523,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool",{"_index":17508,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool(tool",{"_index":17513,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnotcontained",{"_index":3007,"title":{},"body":{"entities/Board.html":{}}}],["isnotempty",{"_index":856,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isnotemptystring",{"_index":21019,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnotemptystring(value",{"_index":21020,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnumber",{"_index":3791,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["isnumber()@isoptional()@apiproperty({description",{"_index":6313,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["isnumber()@min(0)@apiproperty",{"_index":3788,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@apiproperty({required",{"_index":16565,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty",{"_index":3785,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty({description",{"_index":15834,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({description",{"_index":16579,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({required",{"_index":9405,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["isnumber()@min(0)@max(500)@isoptional()@apiproperty({description",{"_index":15830,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isoauth2config",{"_index":10146,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isoauth2config(config",{"_index":10161,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isoauthconfigavailable",{"_index":13897,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["isoauthprovisioningenabledforschool",{"_index":17001,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":17014,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isobject",{"_index":12632,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isobject()@validatenested()@type(undefined",{"_index":19681,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isobject({groups",{"_index":19715,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isobjectempty",{"_index":19727,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isobjectempty(obj",{"_index":19738,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isolate",{"_index":26365,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["isolated",{"_index":26127,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isolation",{"_index":26062,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isopen",{"_index":7752,"title":{},"body":{"classes/CourseFactory.html":{}}}],["isoptional",{"_index":300,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BoardLessonResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LessonCopyApiParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isoptional()@apiproperty",{"_index":6339,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@apiproperty({description",{"_index":6330,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@isarray()@isenum(sanisgrouprole",{"_index":19692,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isoptional()@isarray()@validatenested({each",{"_index":19685,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["isoptional()@isboolean",{"_index":440,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/ProvisioningOptionsParams.html":{}}}],["isoptional()@isboolean()@apiproperty({description",{"_index":287,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":12500,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{}}}],["isoptional()@isdate",{"_index":444,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isdate()@apipropertyoptional({description",{"_index":23521,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isenum(classsortby)@apipropertyoptional({enum",{"_index":4835,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isoptional()@isenum(externaltoolsortby)@apipropertyoptional({enum",{"_index":20932,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isoptional()@isenum(filterroletype)@apipropertyoptional({enum",{"_index":12487,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isenum(importusersortorder)@apipropertyoptional({enum",{"_index":20944,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isoptional()@isenum(schoolyearquerytype)@apipropertyoptional({enum",{"_index":4706,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isoptional()@isenum(sortorder)@apipropertyoptional({enum",{"_index":4837,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["isoptional()@isenum(ssoauthenticationerror",{"_index":1894,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isint()@min(0)@apipropertyoptional({description",{"_index":8015,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isoptional()@ismongoid",{"_index":450,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@ismongoid()@apipropertyoptional({pattern",{"_index":12495,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["isoptional()@isobject()@validatenested()@type(undefined",{"_index":19702,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isoptional()@isstring",{"_index":442,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthorizationParams.html":{},"classes/SanisGeburtResponse.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@apiproperty({description",{"_index":20742,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["isoptional()@isstring()@isemail()@apiproperty({description",{"_index":294,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isstring()@isenum(newstargetmodel)@apipropertyoptional({enum",{"_index":12498,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["isoptional()@isstring()@isnotempty",{"_index":1891,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@isnotempty()@apipropertyoptional({type",{"_index":12474,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isstring()@sanitizehtml()@apipropertyoptional({description",{"_index":23523,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isstring()@sanitizehtml(inputformat.rich_text_ck5_simple)@apipropertyoptional({description",{"_index":23519,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional({groups",{"_index":19711,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isoutdated",{"_index":20248,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserScope.html":{}}}],["isoutdated(isoutdated",{"_index":24269,"title":{},"body":{"classes/UserScope.html":{}}}],["isoutdated(query.isoutdated",{"_index":23674,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["isoutdatedonscopecontext",{"_index":6106,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isoutdatedonscopeschool",{"_index":6107,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isowner",{"_index":24264,"title":{},"body":{"injectables/UserRule.html":{}}}],["ispending",{"_index":11902,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isplanned",{"_index":21725,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["ispositive",{"_index":20638,"title":{},"body":{"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["ispositive()@apiproperty({required",{"_index":20636,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["ispresenter",{"_index":2318,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["ispreviewpossible",{"_index":11905,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["ispropertyprivacyprotected",{"_index":9941,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["ispropertyprivacyprotected(target",{"_index":9951,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["isprotecteduser",{"_index":24328,"title":{},"body":{"injectables/UserService.html":{}}}],["isprovisioningenabled",{"_index":17037,"title":{},"body":{"injectables/OAuthService.html":{}}}],["ispublished",{"_index":16840,"title":{},"body":{"injectables/NewsUc.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isregexcommentmandatoryandfilled",{"_index":10563,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexcommentmandatoryandfilled(customparameter",{"_index":10580,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid",{"_index":10564,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid(param",{"_index":10582,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isrelativeurl",{"_index":6526,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrelativeurl(this.content.imageurl",{"_index":6532,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrequiredtool",{"_index":11449,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["isrichtextelement",{"_index":21175,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(child",{"_index":21180,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isrichtextelement(element",{"_index":21186,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(reference",{"_index":19087,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["isrichtextelementresponse",{"_index":6437,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isrichtextelementresponse(result",{"_index":6453,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["iss",{"_index":8025,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["issatisfiedby(t",{"_index":26032,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["isschoolnumberunique",{"_index":20432,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isschoolnumberunique(school",{"_index":20434,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isslash",{"_index":1661,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isslash(inputpath",{"_index":1659,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isstring",{"_index":299,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["isstring()@apiproperty",{"_index":2721,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/DrawingContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/LinkContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RichTextContentBody.html":{}}}],["isstring()@apiproperty({description",{"_index":308,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ChallengeParams.html":{},"classes/IdParams.html":{},"classes/ImportUserResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/RevokeConsentParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/TldrawDeleteParams.html":{}}}],["isstring()@apiproperty({nullable",{"_index":18427,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["isstring()@apiproperty({required",{"_index":12651,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"classes/RenameBodyParams.html":{}}}],["isstring()@ismongoid()@isoptional()@apipropertyoptional({description",{"_index":21915,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@isnotempty",{"_index":454,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{}}}],["isstring()@isnotempty()@apiproperty",{"_index":8366,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{}}}],["isstring()@isoptional",{"_index":1203,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/SanisAnschriftResponse.html":{}}}],["isstring()@isoptional()@apiproperty",{"_index":15780,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isstring()@isoptional()@apiproperty({description",{"_index":6296,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{}}}],["isstring()@isoptional()@apipropertyoptional",{"_index":6837,"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":21917,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@matches(undefined)@apiproperty({description",{"_index":7914,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["isstring()@sanitizehtml()@apiproperty({description",{"_index":8089,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/PatchGroupParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@sanitizehtml(inputformat.rich_text_ck5_simple)@apiproperty({description",{"_index":8077,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isstring(value",{"_index":21022,"title":{},"body":{"classes/StringValidator.html":{}}}],["isstring({groups",{"_index":19714,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isstudent",{"_index":7937,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["issubmissioncontainerelement",{"_index":9884,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(reference",{"_index":21099,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["issubmissioncontainerelement(submissioncontainerelement",{"_index":9896,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(submissioncontainterelement",{"_index":21241,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["issubmissionitem",{"_index":9885,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissionitem(child",{"_index":9899,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(parent",{"_index":9893,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(reference",{"_index":21184,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["issubmissionitemcontent",{"_index":21185,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["issubmitted",{"_index":21068,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubmittedforuser",{"_index":21073,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["issubmittedforuser(user",{"_index":21069,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubstitutionteacher",{"_index":4119,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["issuer",{"_index":1593,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["issues",{"_index":25762,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["istanbul",{"_index":3362,"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":3328,"title":{},"body":{"injectables/BoardCopyService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["istask(element.target",{"_index":3353,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["istask(reference",{"_index":21769,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isteacher",{"_index":7938,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isteamuser",{"_index":22371,"title":{},"body":{"injectables/TeamRule.html":{}}}],["istemplate",{"_index":8164,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["istoolstatuslatestorthrow",{"_index":23292,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istoolstatuslatestorthrow(userid",{"_index":23299,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istype",{"_index":13475,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["isuniqueemail",{"_index":967,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemail(email",{"_index":971,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount",{"_index":968,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount(email",{"_index":973,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser",{"_index":969,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser(email",{"_index":975,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isupgradable",{"_index":4713,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["isurl",{"_index":16379,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isuserinfinisheduser",{"_index":21719,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isuseringroup",{"_index":17854,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["isusermigrated",{"_index":16483,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isusermigrated(user",{"_index":16489,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isuserreferenced",{"_index":1807,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isuserreferenced(user",{"_index":1818,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isusersubmitter(user",{"_index":21083,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isusersubstitutionteacher(user",{"_index":7609,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["isusersubstitutionteacherincourse(user",{"_index":21743,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isvalid",{"_index":3614,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isvaluevalidfortype",{"_index":6125,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isvaluevalidfortype(type",{"_index":6145,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isverified",{"_index":11903,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isvisible",{"_index":15680,"title":{},"body":{"injectables/LessonRule.html":{}}}],["iswhitelisted",{"_index":14490,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["iswhitelisted(accountid",{"_index":14497,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["it's",{"_index":26096,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["it(\"should",{"_index":26061,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('bad",{"_index":26100,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('good",{"_index":26102,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('should",{"_index":26164,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["itask",{"_index":13790,"title":{"interfaces/ITask.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["item",{"_index":3521,"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":4047,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.'})@apiresponse({status",{"_index":4061,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.body.params.ts",{"_index":8097,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.body.params.ts:10",{"_index":8101,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.columnboardid",{"_index":5629,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["item.do",{"_index":3161,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"injectables/SubmissionItemFactory.html":{}}}],["item.do.ts",{"_index":21164,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["item.do.ts:11",{"_index":21170,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:15",{"_index":21171,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:19",{"_index":21173,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:7",{"_index":21168,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.factory.ts",{"_index":21189,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.factory.ts:7",{"_index":21190,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.name.tolocalelowercase",{"_index":10616,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["item.response",{"_index":21385,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item.response.ts",{"_index":21199,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:16",{"_index":21203,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:19",{"_index":21204,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:22",{"_index":21201,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:25",{"_index":21205,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:33",{"_index":21202,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:6",{"_index":21200,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.service",{"_index":9887,"title":{},"body":{"injectables/ElementUc.html":{}}}],["item.service.ts",{"_index":21229,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:12",{"_index":21230,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:15",{"_index":21233,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:25",{"_index":21232,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:45",{"_index":21235,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.split(';')[0",{"_index":13687,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["item.uc",{"_index":3039,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["item.uc.ts",{"_index":21244,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:27",{"_index":21246,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:38",{"_index":21250,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:64",{"_index":21252,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:76",{"_index":21248,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.url.params.ts",{"_index":21264,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.url.params.ts:11",{"_index":21265,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.userid",{"_index":9904,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["item/create",{"_index":8096,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{}}}],["item/submission",{"_index":21119,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["item/submissions.response",{"_index":4070,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item/submissions.response.ts",{"_index":21379,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:14",{"_index":21382,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:19",{"_index":21383,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:5",{"_index":21381,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/update",{"_index":23525,"title":{},"body":{"classes/UpdateSubmissionItemBodyParams.html":{}}}],["itemindex",{"_index":10613,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["itemporaryfile",{"_index":13543,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["itemporaryfilestorage",{"_index":22489,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["items",{"_index":874,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"entities/LtiTool.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/SubmissionItemResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"interfaces/UserProperties.html":{}}}],["itemsperpage",{"_index":13145,"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":9558,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["iterate",{"_index":18885,"title":{},"body":{"classes/ReferencesService.html":{}}}],["itoolfeatures",{"_index":10197,"title":{"interfaces/IToolFeatures.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["itself",{"_index":1925,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iupdatenews",{"_index":8070,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["iuser",{"_index":13198,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TemporaryFileStorage.html":{}}}],["iuserloginmigration",{"_index":23931,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["ivborw0kggoaaaansuheugaaafqaaadicayaaaaegrpoaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaaynpvfh0we1momnvbs5hzg9izs54bxaaaaaaadw/ehbhy2tldcbizwdpbj0i77u/iibpzd0ivzvnme1wq2voauh6cmvtek5uy3pryzlkij8+idx4onhtcg1ldgegeg1sbnm6ed0iywrvymu6bnm6bwv0ys8iihg6eg1wdgs9ikfkb2jlifhnucbdb3jliduuni1jmtqwidc5lje2mdq1mswgmjaxny8wns8wni0wmtowodoymsagicagicagij4gphjkzjpsreygeg1sbnm6cmrmpsjodhrwoi8vd3d3lnczlm9yzy8xotk5lzaylziylxjkzi1zew50yxgtbnmjij4gphjkzjpezxnjcmlwdglvbibyzgy6ywjvdxq9iiigeg1sbnm6eg1wpsjodhrwoi8vbnmuywrvymuuy29tl3hhcc8xljaviib4bwxuczp4bxbntt0iahr0cdovl25zlmfkb2jllmnvbs94yxavms4wl21tlyigeg1sbnm6c3rszwy9imh0dha6ly9ucy5hzg9izs5jb20vegfwlzeumc9zvhlwzs9szxnvdxjjzvjlzimiihhtcdpdcmvhdg9yvg9vbd0iqwrvymugughvdg9zag9wiendichnywnpbnrvc2gpiib4bxbnttpjbnn0yw5jzulepsj4bxauawlkojq2muq2q0y5rtqxmtexrtdbmtg3qkq2mdvgmufemuiwiib4bxbnttpeb2n1bwvudelepsj4bxauzglkojq2muq2q0zbrtqxmtexrtdbmtg3qkq2mdvgmufemuiwij4gphhtce1nokrlcml2zwrgcm9tihn0umvmomluc3rhbmnlsuq9inhtcc5pawq6ndyxrdzdrjdfndexmtffn0exoddcrdywnuyxquqxqjaiihn0umvmomrvy3vtzw50suq9inhtcc5kawq6ndyxrdzdrjhfndexmtffn0exoddcrdywnuyxquqxqjailz4gpc9yzgy6rgvzy3jpchrpb24+idwvcmrmoljerj4gpc94onhtcg1ldge+idw/ehbhy2tldcblbmq9iniipz45ejsraaalfuleqvr42uzdgxwjoaigyhlvgsiv4cnbu4jtgqeepis4hksepis4blseu4rjcemscmhgzpplkycmago+7z3ezs3tysus+beicfx29lyaaop2hz8baah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaaidabdoaibabwaeogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqaqcbdgaidaaq6acaqacabdoainabqkadaaidabdoaibabwcbdgaidabaoamaah0abdoainabgn79109abldxv9flpxblnov/doblfv7+ug77+hfvn39vb29vb78emdpg1faup2idwwvcgm3883ambbas6/yorpp414ujf+w4z+2r/12wdasol6zdl4ufa4fdvgu0gyp/x6styjd0jx8a/03gogn1cvtuyxn3eq4267cv3+t16u2jhz701lfb6dealngbt2ydz+ccddheq7lottznizy11pvahv6aeohj3erhgp12ltujzrj6e28y1cw8g/p4cgeqkbephvpq522jp3lmynvjwwe/2rbbjsq66kht/wwn4+pw3jt76lq9o76nb5jco+gw35/l/p/ijxx43/auy+2+cqpmu7+o+9zfzzihsj511nf+bmr5gt/jltz1oeicnbzh/lt8c0+rc1wwl/3ivlvkvcu3h44/krtth/lzdvfy8bblxxquej8f+6b8zieut6snviccnxm/oc5jmpchdmixqzxlk3qiustov3d8inkc6c0hkoum45pmj9zhyj+pq4hozr9qr08i8zbrzru3u4rjcs9+fwhe44nkryewu/gd+ijr04blrrzu4xh4bi1t3camgmkb4lh4m4n2/0gnrh5jqwbr1u3vzmntwrxhefszuep7ez1+tcu2v9lr+2syagv3mvcfteumzb0vml1ifz0q6/74kzf3za3km/lb/cjd56zuh4oyyuy/1nnpzhknfe9fnd/9jqr0g/1vk1d+frk/hym2d+3vx7o7g83ybtggm86ydn1g1lfzlw3lumy4/9df7mv68vwdjrbpc3sbnrlt7lru//2bztekuwv0y2t/myb+jr6kh9q0lzjk2yv+1q6jx7dsy3qf4xe9/2c/t+rqy2tmq91lrcewv4zcf/8txmzzqz2ish+sirsvvzv2ei/bhgv1uuzrzduyqjls1upyenu+doj7+f78s+lay/l3z+pwnaq6wqm9x4pt8udzi3tki7vhrdn7rovee753uyiotr+7xec4zzutpd45kvim+e3old1ih/sew3yldgu609hb4zpnvty0vugzpd11maqmgbbp6a+5rngpiwxdd1dwqxdhpse6fohc1ijkqm7khnnvjvjxhv0iroqrrxwxf2/btvty1tnazvwhap2jqesyvnqjl5s2toryc8thv1luvbd9rvk2od+t1ofz16faz3tqll89xpjktpq2srtociphtm/lswyeeaz1n7psukzpfzrvhqp0pqwuu4rovlnulzjotfue7c9drsfvu/dz8xytq5yzpl8ddluhap1rspmo9ntp2pjmpnv31tlb3vwefc8j1nwg7/yz2zmvvr0kdkygph+aelyddlrh5u6vmtq3mdxdjidhgkx7bvchepyj7x30zvwhap38fmx4vxwwbtj8t3a/quncd4sy7uhfcchgx2laz1q1n7sxl0d3a3ynbcvvpkayqsmr8niwtjrtlym4zew99y1j1wszsivjdnwljdywkihrejegd2mqa3inezhpenlzl2/uoudnckp9utxgfewe1ycguxpy2cgm2eogp4/tevvysbktm9a95bqtzcujzv10wnb5ucpokdxhoxhjnvahxqqt2td0ifrnqpnm+zszrkkoeegmeorhunl4mcoqc7chuxu4z/5kljyaqkefud8cvsutbhvos2nhefanugcevbvqhqp0livyyy0e+++3nxv5zrkgy/avfuhjtkpatq4gevyx9nnxcyqrohtozlqto8vvb9tntx16h99rhil9f8wfe+1tan5xse8tpvmdcxeuj1rwdsjq4dor+/oo4mmiprzwsonceladm9ajbc3/p8tobthyo5/6381o7hc3qsf6rtcvsjlshqp0jhvwr2ggfln9ikp31al1ks974dkc1ys04onkouv3hkvz1afahzaj92pcxcqz55aonybajtp7vgebej7bjso61pegtkkobtq8c/a7hfc3vow0pnyo6fonfnwfty3votjf9szkqg4fomrrdy9v4seaxgleqidc9jfyja8c7uxfi4kvdbkd2yh9snuo0ohzg8dwl0hiafapyy8q77vwpv1xknqhqd2vqfa9htthwdehqgecqiejz73q1cldomdwtvlq+nhgekj1i8jhtpdq4zlkdftyjq3ptakobtpjfl7d+htf6jtbv4+mervbtkq8tvxqrdcfzyel+vuuhyjtmmekx8syztxh2dahqgd0o/pqsaqdsng2fjprpljcz1chrfc1mllresotmkeco7zeimg6sotpe9s173cyu+ngxuvzdsjqmv6y337qscjetv2mzlh3p80ifxruirr1csio76xn4kphhdkcocygwtagco6y1gnle8nr38jop5z3qq4fotmk88uxgxsdo2n47elt0w4z78m/fpwz2ndqynkj9dbqtv3jlartaionvhwmiracclekpukrwulhb2uni9nugpnb307py3eem1pedtigy3t5q08tldzfvxzcbrgv7zl4j59a3njfblm0wwv5oy6ow7ru+y/2u4xn03x73na9fv05ty9lbn+n/i7xyn10zsa6aooxhr6qe8jiz2xmamsyqg37upmstweqm5ctvlnv1tfjl6mclbw6nbuogq7nkkvdt6kobbpap+dav46b3uze26h455l5rgi+smz3rjugqd/fqi/fofw+afd6cyjm/s2xci95lbfsk6jdibjktuob+bbfrnlmflo1lnljeujpdykdkmbtmnylxq308b0fqryfhqtrq86+/n1jomeyt6kobtpjokcu4ogmz9nmz5c0cyxwbfaxtse+zyahs9jf+gyco+wqhwi/dszvwh0kdc77gbo6xvci/s1pbaziqq3et8huf/q0hdhdxverhgyqaxv+fqtraxzb/ui6vfoqq4hour9qj9+stupgxl6pbxyjc+pgsddf/uwcd7fdf4urua1+ahnved0v3vwdc79fcpfvxxpq1og4mbt37wzmutzp5vng3zb889tnsmmlvnvxl/rg1d4uuf118tvgryluy/ubtwh/29ggd2dcdzn62j6w9tk+vnyo5zpmhqp0xhqw1amk1+8csvrz69fiyxv/vj1ab6ttykgmx87ftb3j9lc9etha9hf7wlxw2qdl3cdyjqqsu6pdgq4a/oueogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4aah0aeogageahaaq6aah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaah0abdoaibabwaeogag0afaoamaah0aeogageahaieoaah0aecgawachqaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqayd+/v+aaqadxuxs75wqpqaaaabjru5erkjggg",{"_index":8356,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ivideoconferenceproperties",{"_index":24385,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["ivideoconferencesettings",{"_index":13810,"title":{"interfaces/IVideoConferenceSettings.html":{}},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["javascript",{"_index":2374,"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":22552,"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":25771,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["jest.fn",{"_index":26175,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.resetallmocks",{"_index":26152,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.restoreallmocks",{"_index":26160,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.spyon",{"_index":26172,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jira",{"_index":25012,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["job",{"_index":8962,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["job_init_idm.yml.j2",{"_index":14943,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["john",{"_index":23735,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["john${sequence",{"_index":14092,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["join",{"_index":2277,"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":2368,"title":{},"body":{"injectables/BBBService.html":{}}}],["join(currentuser",{"_index":24436,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["join(currentuserid",{"_index":24632,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.config",{"_index":2289,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["join.config.ts",{"_index":2255,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:18",{"_index":2260,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:20",{"_index":2263,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:22",{"_index":2264,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:24",{"_index":2261,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:26",{"_index":2262,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:8",{"_index":2259,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.response.ts",{"_index":2294,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["join.response.ts:5",{"_index":24629,"title":{},"body":{"classes/VideoConferenceJoinResponse.html":{}}}],["join.ts",{"_index":24624,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:5",{"_index":24627,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:7",{"_index":24626,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:9",{"_index":24625,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.uc.ts",{"_index":24630,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:12",{"_index":24631,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:19",{"_index":24633,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder",{"_index":24635,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.asguest(true",{"_index":24642,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.withrole(bbbrole.moderator",{"_index":24640,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joining",{"_index":24439,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["joinpath",{"_index":12118,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(...paths",{"_index":12136,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(path",{"_index":3943,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["joins",{"_index":24694,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["jose",{"_index":24904,"title":{},"body":{"dependencies.html":{}}}],["jpeg",{"_index":10499,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["js",{"_index":7558,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/UsersList.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["json",{"_index":1610,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["json.parse(data",{"_index":15023,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["json.parse(filecontent",{"_index":5314,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace",{"_index":5379,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace(/\\\\\\$/g",{"_index":5383,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify",{"_index":5279,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(collections",{"_index":8866,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["json.stringify(e.constraints",{"_index":9968,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["json.stringify(payload",{"_index":2810,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["json.stringify(response.body",{"_index":1682,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(response.error",{"_index":1679,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(sortedbsondocuments",{"_index":5342,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(this.axioserror.response?.data",{"_index":2110,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["json.stringify(where",{"_index":20548,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["jsonaccount",{"_index":14430,"title":{"interfaces/JsonAccount.html":{}},"body":{"interfaces/JsonAccount.html":{},"classes/KeycloakSeedService.html":{}}}],["jsondocuments",{"_index":4224,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["jsondocuments.length",{"_index":8934,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["jsontype",{"_index":6619,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["jsonuser",{"_index":14434,"title":{"interfaces/JsonUser.html":{}},"body":{"interfaces/JsonUser.html":{},"classes/KeycloakSeedService.html":{}}}],["jsonwebtoken",{"_index":1548,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"dependencies.html":{}}}],["jti",{"_index":1730,"title":{},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["jwks",{"_index":17127,"title":{},"body":{"injectables/OauthAdapterService.html":{},"classes/OauthConfigResponse.html":{},"dependencies.html":{}}}],["jwksendpoint",{"_index":13705,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["jwksrsa",{"_index":17126,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.jwksclient",{"_index":17130,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.signingkey",{"_index":17131,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksuri",{"_index":17120,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwt",{"_index":1585,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/HydraOauthUc.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LocalStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"controllers/UserLoginMigrationController.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["jwt.decode(input.idtoken",{"_index":14404,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwt.decode(jwttoken",{"_index":1736,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwt.sign",{"_index":8042,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwt.verify(idtoken",{"_index":17053,"title":{},"body":{"injectables/OAuthService.html":{}}}],["jwt=${jwt",{"_index":13600,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["jwtauthguard",{"_index":14436,"title":{"injectables/JwtAuthGuard.html":{}},"body":{"injectables/JwtAuthGuard.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["jwtconstants",{"_index":1549,"title":{"interfaces/JwtConstants.html":{}},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions",{"_index":14479,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions.algorithm",{"_index":1588,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.audience",{"_index":1590,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.expiresin",{"_index":1592,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.header",{"_index":1596,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.issuer",{"_index":1594,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.secret",{"_index":1599,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor",{"_index":14454,"title":{"classes/JwtExtractor.html":{}},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor.fromcookie('jwt",{"_index":14476,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequest",{"_index":14473,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequestfunction",{"_index":14460,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["jwtfromresponse",{"_index":1656,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["jwtid",{"_index":1733,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtmodule",{"_index":1541,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmodule.register(jwtmoduleoptions",{"_index":1601,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmoduleoptions",{"_index":1542,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtoptions",{"_index":14441,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["jwtpayload",{"_index":1719,"title":{"interfaces/JwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwtpayload.accountid",{"_index":8133,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.isexternaluser",{"_index":8140,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.roles",{"_index":8135,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.schoolid",{"_index":8136,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.support",{"_index":8139,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.systemid",{"_index":8134,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.userid",{"_index":8137,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtservice",{"_index":1694,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtstrategy",{"_index":1527,"title":{"injectables/JwtStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwttestfactory",{"_index":8038,"title":{"classes/JwtTestFactory.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwttoicurrentuser",{"_index":8105,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoicurrentuser(jwtpayload",{"_index":8109,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoken",{"_index":1709,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtvalidationadapter",{"_index":1528,"title":{"injectables/JwtValidationAdapter.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["k",{"_index":1810,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["kann",{"_index":5557,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["kc",{"_index":14578,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.clients.addprotocolmapper",{"_index":14750,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.create(cr",{"_index":14726,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.find",{"_index":14581,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.getclientsecret",{"_index":14583,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kc.clients.listprotocolmappers",{"_index":14742,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.update",{"_index":14727,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.updateprotocolmapper",{"_index":14747,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.create",{"_index":14761,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.createmapper",{"_index":14773,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.del",{"_index":14767,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.find",{"_index":14729,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.findmappers",{"_index":14768,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.update",{"_index":14764,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.updatemapper",{"_index":14769,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realmname",{"_index":14698,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.makerequest",{"_index":14694,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.update",{"_index":14585,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.users.count",{"_index":14904,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create",{"_index":14879,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create(idmuserrepresentation",{"_index":14982,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.del",{"_index":15017,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["kc.users.del(id",{"_index":14889,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.find",{"_index":14905,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.findone",{"_index":14915,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.resetpassword",{"_index":14886,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.update",{"_index":14920,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadmin",{"_index":14637,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadminclient",{"_index":14555,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["kcadminservice",{"_index":14825,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["kcsettings",{"_index":14553,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.baseurl",{"_index":14569,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.realmname",{"_index":14570,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kebab",{"_index":26234,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["keep",{"_index":5324,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/StorageProviderEncryptedStringType.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["keepdiscriminatorproperty",{"_index":9655,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["keeps",{"_index":25721,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["kennung",{"_index":19701,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["kernel",{"_index":25172,"title":{},"body":{"license.html":{}}}],["key",{"_index":2125,"title":{},"body":{"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BoardCopyService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/CopyHelperService.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/S3ClientAdapter.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["key.config",{"_index":9360,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["key.config.ts",{"_index":24798,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["key.getpublickey",{"_index":17133,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["key.strategy",{"_index":1560,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["key.strategy.ts",{"_index":24800,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:16",{"_index":24803,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:9",{"_index":24802,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.substring(path.length",{"_index":19628,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["keycloak",{"_index":618,"title":{"additional-documentation/nestjs-application/keycloak.html":{}},"body":{"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloak/keycloak",{"_index":14532,"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":13891,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak/service/keycloak",{"_index":13893,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak:/tmp/realms",{"_index":26308,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloakadminclient",{"_index":14531,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakadministration",{"_index":14516,"title":{"classes/KeycloakAdministration.html":{}},"body":{"classes/KeycloakAdministration.html":{}}}],["keycloakadministrationmodule",{"_index":13884,"title":{"modules/KeycloakAdministrationModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["keycloakadministrationservice",{"_index":14529,"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":14592,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["keycloakconfigservice",{"_index":14789,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfiguration",{"_index":14535,"title":{"classes/KeycloakConfiguration.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloakinputfiles",{"_index":14619,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloaksettings",{"_index":14538,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["keycloakconfigurationinputfiles",{"_index":13757,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakconfigurationmodule",{"_index":14599,"title":{"modules/KeycloakConfigurationModule.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["keycloakconfigurationservice",{"_index":14604,"title":{"injectables/KeycloakConfigurationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfigurationuc",{"_index":4893,"title":{"injectables/KeycloakConfigurationUc.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole",{"_index":4907,"title":{"classes/KeycloakConsole.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole.retryflags",{"_index":4927,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakidentitymanagementoauthservice",{"_index":13892,"title":{"injectables/KeycloakIdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakidentitymanagementservice",{"_index":13894,"title":{"injectables/KeycloakIdentityManagementService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakinputfiles",{"_index":14594,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["keycloakmanagementcontroller",{"_index":14608,"title":{"controllers/KeycloakManagementController.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakmanagementuc",{"_index":14948,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["keycloakmigrationservice",{"_index":14606,"title":{"injectables/KeycloakMigrationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{}}}],["keycloakmodule",{"_index":13885,"title":{"modules/KeycloakModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/ServerConsoleModule.html":{}}}],["keycloakseedservice",{"_index":14605,"title":{"classes/KeycloakSeedService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloaksettings",{"_index":13762,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakuser",{"_index":14892,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers",{"_index":14896,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.length",{"_index":14900,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.map((user",{"_index":14912,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keypair",{"_index":8029,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.privatekey.export",{"_index":8037,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.publickey.export",{"_index":8034,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypairkeyobjectresult",{"_index":8028,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keys",{"_index":617,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/JwtConstants.html":{},"license.html":{}}}],["keyvalue",{"_index":1759,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["keywords",{"_index":25610,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["kickuserfromgroup(groupname",{"_index":1128,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["kind",{"_index":25141,"title":{},"body":{"license.html":{}}}],["kinds",{"_index":25051,"title":{},"body":{"license.html":{}}}],["kiss",{"_index":25826,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["know",{"_index":25071,"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":25866,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["knowingly",{"_index":25480,"title":{},"body":{"license.html":{}}}],["knowledge",{"_index":25487,"title":{},"body":{"license.html":{}}}],["known",{"_index":5404,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["known/jwks.json",{"_index":13707,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["known/openid",{"_index":14575,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kontinuierlich",{"_index":5550,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ktid",{"_index":19836,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["kurse",{"_index":7566,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["kvcache",{"_index":13480,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["l",{"_index":9161,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["l.course.isfinished()).map((l",{"_index":22213,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.id",{"_index":22214,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.name",{"_index":15594,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["label",{"_index":25020,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["labelnames",{"_index":18981,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["labels",{"_index":18983,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["language",{"_index":1198,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"classes/MongoPatterns.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["language_override",{"_index":5375,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["languagetype",{"_index":4582,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["languagetype'})@isenum(languagetype",{"_index":12641,"title":{},"body":{"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{}}}],["languagetype'})@isenum(languagetype)@isoptional",{"_index":12630,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["languagetype})@isenum(languagetype",{"_index":4583,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["largely",{"_index":26076,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["larger",{"_index":25266,"title":{},"body":{"license.html":{}}}],["last",{"_index":8017,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/UserInfoResponse.html":{}}}],["lastauthorizationtime",{"_index":14542,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["lastloginsystemchange",{"_index":23530,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["lastloginsystemchangebetweenend",{"_index":20262,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangebetweenstart",{"_index":20261,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangesmallerthan",{"_index":20249,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastmodifytimestamp",{"_index":15055,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastname",{"_index":701,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lastname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14291,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["lastnamesearchvalues",{"_index":5367,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["lastpositionlibrariestocheckarray",{"_index":13498,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastpositionlibrariestoinstallarray",{"_index":13509,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastsuccessfulfullsync",{"_index":15056,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsuccessfulpartialsync",{"_index":15057,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsyncattempt",{"_index":15058,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lasttriedfailedlogin",{"_index":82,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["lastupdatedat",{"_index":4035,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["lastvaluefrom",{"_index":1055,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ExternalToolLogoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["lastvaluefrom(observable",{"_index":17140,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["lastvaluefrom(this.httpservice.get>(wellknownurl))).data",{"_index":14833,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["later",{"_index":3753,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["latest",{"_index":15773,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/NewsUc.html":{},"controllers/ToolConfigurationController.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["latest.patchversion",{"_index":15776,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["launch",{"_index":2800,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["launch.controller",{"_index":23012,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch.controller.ts",{"_index":23206,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.controller.ts:28",{"_index":23215,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.mapper.ts",{"_index":23232,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:24",{"_index":23238,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:29",{"_index":23243,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:34",{"_index":23240,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:39",{"_index":23246,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.module.ts",{"_index":23268,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch.params.ts",{"_index":23273,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.params.ts:7",{"_index":23274,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.service.ts",{"_index":23289,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:23",{"_index":23294,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:39",{"_index":23296,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:52",{"_index":23298,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:74",{"_index":23302,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:87",{"_index":23300,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.strategy",{"_index":2799,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.strategy.ts",{"_index":2738,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.uc.ts",{"_index":23327,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:12",{"_index":23329,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:19",{"_index":23331,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch/controller/dto/tool",{"_index":23272,"title":{},"body":{"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launch/controller/tool",{"_index":23011,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["launch/error/missing",{"_index":16521,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["launch/error/parameter",{"_index":17911,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launch/error/tool",{"_index":23482,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launch/mapper/lti",{"_index":16075,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["launch/mapper/tool",{"_index":23231,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch/service/auto",{"_index":2000,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["launch/service/launch",{"_index":2736,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["launch/service/lti11",{"_index":16018,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["launch/service/tool",{"_index":23288,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch/settings",{"_index":25635,"title":{},"body":{"todo.html":{}}}],["launch/tool",{"_index":23267,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch/types/authentication",{"_index":1757,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["launch/types/property",{"_index":18239,"title":{},"body":{"classes/PropertyData.html":{}}}],["launch/types/tool",{"_index":23223,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{}}}],["launch/uc",{"_index":23013,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch/uc/tool",{"_index":23326,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch_presentation_locale",{"_index":8337,"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":5931,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["launchdata",{"_index":23317,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launchdatatype",{"_index":23241,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launched",{"_index":23214,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launching",{"_index":17916,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launchrequest",{"_index":23312,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["launchrequestmethod",{"_index":2762,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.get",{"_index":2814,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.post",{"_index":2813,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["law",{"_index":25132,"title":{},"body":{"license.html":{}}}],["laws",{"_index":25111,"title":{},"body":{"license.html":{}}}],["lawsuit",{"_index":25453,"title":{},"body":{"license.html":{}}}],["lax",{"_index":20614,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["layer",{"_index":23346,"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":25974,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["layers",{"_index":25618,"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":17958,"title":{},"body":{"injectables/PermissionService.html":{}}}],["ldap",{"_index":13728,"title":{},"body":{"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"controllers/LoginController.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"classes/UserMigrationIsNotEnabled.html":{},"todo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ldap'})@apiresponse({status",{"_index":15937,"title":{},"body":{"controllers/LoginController.html":{}}}],["ldap_connection_failed",{"_index":15175,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["ldap_password_encryption_key",{"_index":9918,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["ldap_univention_migration",{"_index":19918,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapactive",{"_index":21499,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{}}}],["ldapalreadypersistedexception",{"_index":15025,"title":{"classes/LdapAlreadyPersistedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["ldapauthorizationbodyparams",{"_index":15038,"title":{"classes/LdapAuthorizationBodyParams.html":{}},"body":{"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{}}}],["ldapconfig",{"_index":15045,"title":{"classes/LdapConfig.html":{}},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{}}}],["ldapconfig.active",{"_index":15104,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.federalstate",{"_index":15106,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastmodifytimestamp",{"_index":15114,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulfullsync",{"_index":15110,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulpartialsync",{"_index":15112,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsyncattempt",{"_index":15108,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provider",{"_index":15122,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provideroptions",{"_index":15124,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.rootpath",{"_index":15117,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuser",{"_index":15119,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuserpassword",{"_index":15121,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.url",{"_index":15115,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfigentity",{"_index":15053,"title":{"classes/LdapConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconnectionerror",{"_index":15170,"title":{"classes/LdapConnectionError.html":{}},"body":{"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{}}}],["ldapdn",{"_index":4593,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["ldapencryptionservice",{"_index":5205,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{}}}],["ldapid",{"_index":13950,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["ldapjs",{"_index":15184,"title":{},"body":{"injectables/LdapService.html":{},"dependencies.html":{}}}],["ldapjs.git",{"_index":24910,"title":{},"body":{"dependencies.html":{}}}],["ldaps:mock.de:389",{"_index":21543,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["ldapschool",{"_index":14412,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapschoolidentifier",{"_index":19892,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapservice",{"_index":1529,"title":{"injectables/LdapService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{}}}],["ldapservice:connect",{"_index":15202,"title":{},"body":{"injectables/LdapService.html":{}}}],["ldapstrategy",{"_index":1530,"title":{"injectables/LdapStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["ldapuniventionmigrationschool",{"_index":19919,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapuser",{"_index":14407,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapuser.roles.map((roleref",{"_index":14414,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapusermigrationexception",{"_index":15028,"title":{"classes/LdapUserMigrationException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["lead",{"_index":4530,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{}}}],["leads",{"_index":22080,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["leaf",{"_index":3610,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["lean",{"_index":24919,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["learn",{"_index":25710,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["learner",{"_index":8145,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["learning",{"_index":12522,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["learningmodules",{"_index":6030,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["learnroom",{"_index":3907,"title":{"interfaces/Learnroom.html":{}},"body":{"modules/BoardModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroom.module",{"_index":15269,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["learnroomapimodule",{"_index":15257,"title":{"modules/LearnroomApiModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["learnroomelement",{"_index":2955,"title":{"interfaces/LearnroomElement.html":{}},"body":{"entities/Board.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["learnroommetadata",{"_index":7550,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/UsersList.html":{}}}],["learnroommodule",{"_index":9051,"title":{"modules/LearnroomModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PseudonymModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroomtypes",{"_index":7551,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["learnroomtypes.course",{"_index":7621,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["leave",{"_index":7142,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["leaves",{"_index":22605,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["left",{"_index":25893,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["legacy",{"_index":997,"title":{},"body":{"injectables/AccountValidationService.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapConfigEntity.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LoggerModule.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/deprecated",{"_index":26442,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/feathers",{"_index":25775,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/feathers/mocha",{"_index":25752,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/nest",{"_index":25662,"title":{},"body":{"todo.html":{}}}],["legacylogger",{"_index":2448,"title":{"injectables/LegacyLogger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["legacyschoolapimodule",{"_index":15317,"title":{"modules/LegacySchoolApiModule.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["legacyschooldo",{"_index":2071,"title":{"classes/LegacySchoolDo.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymUc.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["legacyschooldofactory",{"_index":15368,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory",{"_index":15360,"title":{"classes/LegacySchoolFactory.html":{}},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory.define(legacyschooldo",{"_index":15369,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolmodule",{"_index":6077,"title":{"modules/LegacySchoolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["legacyschoolrepo",{"_index":1531,"title":{"injectables/LegacySchoolRepo.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["legacyschoolrule",{"_index":1871,"title":{"injectables/LegacySchoolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/RuleManager.html":{}}}],["legacyschoolservice",{"_index":2066,"title":{"injectables/LegacySchoolService.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legacysystemrepo",{"_index":671,"title":{"injectables/LegacySystemRepo.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["legacysystemservice",{"_index":15491,"title":{"injectables/LegacySystemService.html":{}},"body":{"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legal",{"_index":25079,"title":{},"body":{"license.html":{}}}],["legayschoolrule",{"_index":19492,"title":{},"body":{"injectables/RuleManager.html":{}}}],["legend",{"_index":256,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["length",{"_index":3846,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/TldrawWsService.html":{}}}],["lernstore",{"_index":6217,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lernstore_view",{"_index":19929,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["lesson",{"_index":1937,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson({course",{"_index":26430,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson.contents.foreach((content",{"_index":5796,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.contents.map((c",{"_index":15718,"title":{},"body":{"injectables/LessonService.html":{}}}],["lesson.course",{"_index":19379,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRepo.html":{}}}],["lesson.course.name",{"_index":9794,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.coursegroup",{"_index":22003,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["lesson.coursename",{"_index":19338,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.createdat",{"_index":9792,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.entity",{"_index":2958,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["lesson.getnumberofdrafttasks",{"_index":9797,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofplannedtasks",{"_index":9799,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofpublishedtasks",{"_index":9795,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.hidden",{"_index":9791,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["lesson.id",{"_index":9790,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.module",{"_index":15552,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["lesson.name",{"_index":5794,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/DtoCreator.html":{},"injectables/LessonUrlHandler.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofdrafttasks",{"_index":19336,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofplannedtasks",{"_index":19337,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofpublishedtasks",{"_index":19335,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.response",{"_index":3769,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["lesson.response.ts",{"_index":3773,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:27",{"_index":3783,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:31",{"_index":3784,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:35",{"_index":3780,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:40",{"_index":3789,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:46",{"_index":3786,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:5",{"_index":3778,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:52",{"_index":3787,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:55",{"_index":3781,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:58",{"_index":3790,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:61",{"_index":3782,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.rule",{"_index":22110,"title":{},"body":{"injectables/TaskRule.html":{}}}],["lesson.tasks.getitems",{"_index":5801,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.updatedat",{"_index":9793,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson/task",{"_index":20743,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["lessonapimodule",{"_index":15545,"title":{"modules/LessonApiModule.html":{}},"body":{"modules/LessonApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["lessonboardelement",{"_index":2968,"title":{"entities/LessonBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/LessonBoardElement.html":{}}}],["lessoncontroller",{"_index":15551,"title":{"controllers/LessonController.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{}}}],["lessoncopyapiparams",{"_index":7428,"title":{"classes/LessonCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"classes/LessonCopyApiParams.html":{},"controllers/RoomsController.html":{}}}],["lessoncopyparentparams",{"_index":7430,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/LessonCopyUC.html":{}}}],["lessoncopyservice",{"_index":3285,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/ShareTokenUC.html":{}}}],["lessoncopyuc",{"_index":15261,"title":{"injectables/LessonCopyUC.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{}}}],["lessonelement",{"_index":3384,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["lessonelements",{"_index":4011,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["lessonentity",{"_index":2957,"title":{"entities/LessonEntity.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"entities/LessonBoardElement.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonfactory",{"_index":15614,"title":{"classes/LessonFactory.html":{}},"body":{"classes/LessonFactory.html":{}}}],["lessonfactory.define",{"_index":15616,"title":{},"body":{"classes/LessonFactory.html":{}}}],["lessonhidden",{"_index":21683,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonid",{"_index":5762,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"interfaces/ITask.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonids",{"_index":22045,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["lessonidsoffinishedcourses",{"_index":22010,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonidsofopencourses",{"_index":22008,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonmetadata",{"_index":9756,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lessonmodule",{"_index":1908,"title":{"modules/LessonModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{}}}],["lessonname",{"_index":21682,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonparent",{"_index":6230,"title":{"interfaces/LessonParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["lessonproperties",{"_index":6212,"title":{"interfaces/LessonProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["lessonreadpermission",{"_index":15658,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonreadpermission(user",{"_index":15668,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonrepo",{"_index":15626,"title":{"injectables/LessonRepo.html":{}},"body":{"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{}}}],["lessonrule",{"_index":1872,"title":{"injectables/LessonRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{}}}],["lessons",{"_index":5788,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"controllers/LessonController.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessons.filter((l",{"_index":22212,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.foreach((lesson",{"_index":5790,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lessons.map((l",{"_index":22235,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.map((lesson",{"_index":15717,"title":{},"body":{"injectables/LessonService.html":{}}}],["lessonscope",{"_index":15641,"title":{"classes/LessonScope.html":{}},"body":{"injectables/LessonRepo.html":{},"classes/LessonScope.html":{}}}],["lessonservice",{"_index":5747,"title":{"injectables/LessonService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["lessonuc",{"_index":15549,"title":{"injectables/LessonUC.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonUC.html":{}}}],["lessonurlhandler",{"_index":15730,"title":{"injectables/LessonUrlHandler.html":{}},"body":{"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["lessonurlparams",{"_index":15559,"title":{"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{}},"body":{"controllers/LessonController.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"controllers/RoomsController.html":{}}}],["lessonwritepermission",{"_index":15659,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonwritepermission(user",{"_index":15670,"title":{},"body":{"injectables/LessonRule.html":{}}}],["letter",{"_index":796,"title":{},"body":{"injectables/AccountRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["letters",{"_index":26228,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["letting",{"_index":25096,"title":{},"body":{"license.html":{}}}],["level",{"_index":3912,"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":3957,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["levels",{"_index":15900,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lf",{"_index":18877,"title":{},"body":{"classes/ReferencesService.html":{}}}],["liability",{"_index":25375,"title":{},"body":{"license.html":{}}}],["liable",{"_index":25129,"title":{},"body":{"license.html":{}}}],["lib",{"_index":15774,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib.patchversion",{"_index":15775,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib0",{"_index":22878,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["libraries",{"_index":1238,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["libraries/:ubername/:file",{"_index":13314,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["librariesbodyparams",{"_index":1233,"title":{"classes/LibrariesBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["librariescontenttype",{"_index":13472,"title":{"interfaces/LibrariesContentType.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariescontenttype.h5p_libraries",{"_index":13496,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck",{"_index":13451,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.length",{"_index":13497,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.slice(0",{"_index":13505,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck[lastpositionlibrariestocheckarray].dependentscount",{"_index":13500,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestoinstall",{"_index":13448,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["librariestoinstall.length",{"_index":13508,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariesyamlcontent",{"_index":13492,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["library",{"_index":11710,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["libraryadministration",{"_index":13433,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryadministration(this.librarymanager",{"_index":13490,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryfileurlparams",{"_index":13269,"title":{"classes/LibraryFileUrlParams.html":{}},"body":{"controllers/H5PEditorController.html":{},"classes/LibraryFileUrlParams.html":{}}}],["librarymanager",{"_index":13434,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarymetadata.addto",{"_index":11759,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.author",{"_index":11761,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.coreapi",{"_index":11763,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.description",{"_index":11764,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.droplibrarycss",{"_index":11766,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.dynamicdependencies",{"_index":11767,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.editordependencies",{"_index":11768,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.embedtypes",{"_index":11769,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.fullscreen",{"_index":11771,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.h",{"_index":11772,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.license",{"_index":11773,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.machinename",{"_index":11750,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.majorversion",{"_index":11751,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.metadatasettings",{"_index":11775,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.minorversion",{"_index":11752,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.patchversion",{"_index":11754,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedcss",{"_index":11777,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadeddependencies",{"_index":11778,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedjs",{"_index":11780,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.requiredextensions",{"_index":11783,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.runnable",{"_index":11756,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.state",{"_index":11784,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.title",{"_index":11757,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.w",{"_index":11781,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryname",{"_index":11698,"title":{"classes/LibraryName.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryparameters",{"_index":1242,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryparametersbodyparams",{"_index":1235,"title":{"classes/LibraryParametersBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryrepo",{"_index":13390,"title":{"injectables/LibraryRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/LibraryRepo.html":{}}}],["librarystorage",{"_index":13389,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarywishlist",{"_index":13435,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libs",{"_index":15769,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs.length",{"_index":15770,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs[0",{"_index":15771,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["license",{"_index":6578,"title":{"license.html":{}},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{},"properties.html":{}}}],["licensed",{"_index":25115,"title":{},"body":{"license.html":{}}}],["licensee",{"_index":25116,"title":{},"body":{"license.html":{}}}],["licensees",{"_index":25118,"title":{},"body":{"license.html":{}}}],["licenseextras",{"_index":6579,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licenses",{"_index":25057,"title":{},"body":{"license.html":{}}}],["licenseversion",{"_index":6580,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licensing",{"_index":25431,"title":{},"body":{"license.html":{}}}],["licensors",{"_index":25382,"title":{},"body":{"license.html":{}}}],["likes",{"_index":26238,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["likewise",{"_index":25424,"title":{},"body":{"license.html":{}}}],["limit",{"_index":56,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"dependencies.html":{},"license.html":{}}}],["limitation",{"_index":25561,"title":{},"body":{"license.html":{}}}],["limited",{"_index":25550,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["limiting",{"_index":25374,"title":{},"body":{"license.html":{}}}],["line",{"_index":1088,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ReferencesService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lines",{"_index":18887,"title":{},"body":{"classes/ReferencesService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["link",{"_index":2370,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/GetMetaTagDataBody.html":{},"modules/ImportUserModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["linkcontentbody",{"_index":6507,"title":{"classes/LinkContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linked",{"_index":25180,"title":{},"body":{"license.html":{}}}],["linkedtool",{"_index":18727,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["linkelement",{"_index":3143,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["linkelement.description",{"_index":6523,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["linkelement.id",{"_index":18779,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.imageurl",{"_index":6533,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.title",{"_index":6521,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.url",{"_index":6519,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["linkelement.url.replace(key",{"_index":21415,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["linkelementcontent",{"_index":15805,"title":{"classes/LinkElementContent.html":{}},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementcontentbody",{"_index":9644,"title":{"classes/LinkElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linkelementnode",{"_index":3509,"title":{"entities/LinkElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementnodeprops",{"_index":15813,"title":{"interfaces/LinkElementNodeProps.html":{}},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["linkelementprops",{"_index":15803,"title":{"interfaces/LinkElementProps.html":{}},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["linkelementresponse",{"_index":4375,"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":6442,"title":{"classes/LinkElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper.getinstance",{"_index":6426,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["linkelementresponsemapper.instance",{"_index":15822,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["linkid",{"_index":8336,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["links.visitor",{"_index":5460,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["links.visitor.ts",{"_index":21393,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:14",{"_index":21396,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:17",{"_index":21402,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:21",{"_index":21398,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:25",{"_index":21400,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:29",{"_index":21401,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:33",{"_index":21403,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:37",{"_index":21404,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:41",{"_index":21405,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:47",{"_index":21406,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:51",{"_index":21407,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:55",{"_index":21408,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:59",{"_index":21399,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["links.visitor.ts:63",{"_index":21397,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["linter",{"_index":25651,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["liskov",{"_index":25813,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["list",{"_index":374,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["list(params",{"_index":19547,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["list.response",{"_index":21611,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["list.response.ts",{"_index":861,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list.response.ts:10",{"_index":4445,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:4",{"_index":4443,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:5",{"_index":865,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["list.response.ts:6",{"_index":6736,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{}}}],["list.response.ts:7",{"_index":10988,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list_files_of_parent",{"_index":7203,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["listconsentsessions",{"_index":17408,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["listconsentsessions(@currentuser",{"_index":17495,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(currentuser",{"_index":17428,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(user",{"_index":17612,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listconsentsessions(userid",{"_index":17630,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["listen",{"_index":22934,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["listenercount",{"_index":2307,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["listening",{"_index":1435,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["listfiles",{"_index":7316,"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":22483,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listfilesofparent",{"_index":12259,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent(param",{"_index":12268,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["listfilesofparent(payload",{"_index":12440,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:finished",{"_index":12457,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:started",{"_index":12455,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listing",{"_index":22517,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listoauth2clients",{"_index":17338,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["listoauth2clients(currentuser",{"_index":17348,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["listoauth2clients(limit",{"_index":17614,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listoauthclientsparams",{"_index":15826,"title":{"classes/ListOauthClientsParams.html":{}},"body":{"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{}}}],["listobjectkeysrecursive",{"_index":19528,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectkeysrecursive(params",{"_index":19549,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectsv2command",{"_index":19563,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listresponse",{"_index":21143,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["lists",{"_index":12140,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/ToolConfigurationController.html":{}}}],["listsequal",{"_index":2987,"title":{},"body":{"entities/Board.html":{}}}],["literal",{"_index":172,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CalendarEvent.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ComponentLernstoreProperties.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LocalStrategy.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OcsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/RequestInfo.html":{},"interfaces/RocketChatGroupModel.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/WsSharedDocDo.html":{}}}],["litigation",{"_index":25451,"title":{},"body":{"license.html":{}}}],["load",{"_index":1927,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["load/perf",{"_index":25628,"title":{},"body":{"todo.html":{}}}],["load/persist",{"_index":25920,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["loadaccount",{"_index":1689,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccount(username",{"_index":1701,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccounts",{"_index":14992,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["loadallcollectionsfromdatabase(targetfolder",{"_index":5248,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadallcollectionsfromfilesystem(basedir",{"_index":5255,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadauthorizableobject",{"_index":18818,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["loadauthorizableobject(objectname",{"_index":18823,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5267,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loaded",{"_index":4441,"title":{},"body":{"classes/CardIdsParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/ExternalToolUc.html":{},"classes/IdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceRepo.html":{}}}],["loaded.config",{"_index":11132,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loaded.version",{"_index":11133,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loadedexternaltool",{"_index":6130,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedexternaltool.parameters",{"_index":6164,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["loadedexternaltool.version",{"_index":20140,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedoauthclient",{"_index":11031,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedoauthclient.client_id",{"_index":11070,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedpseudonym",{"_index":11406,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["loadedschoolexternaltool",{"_index":7135,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["loadedtool",{"_index":11023,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.clientid",{"_index":11180,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.type",{"_index":11176,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loader",{"_index":1846,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadfromtxtfile",{"_index":18871,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loadfromtxtfile(filepath",{"_index":18872,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loading",{"_index":23347,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadings",{"_index":23349,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["loads",{"_index":5002,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{}}}],["loadtoolhierarchy",{"_index":23293,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadtoolhierarchy(schoolexternaltoolid",{"_index":23301,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadusers",{"_index":14993,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["local",{"_index":1619,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"interfaces/CleanOptions.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/KeycloakConsole.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/TestApiClient.html":{},"classes/UpdateMatchParams.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localauthorizationbodyparams",{"_index":15839,"title":{"classes/LocalAuthorizationBodyParams.html":{}},"body":{"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{}}}],["localcookies",{"_index":7169,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["localcookies.includes(cookie",{"_index":13691,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localcookies.push(cookie",{"_index":13692,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto",{"_index":13661,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig",{"_index":13684,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig.headers",{"_index":13679,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies",{"_index":13673,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.hydracookies.join",{"_index":13677,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.localcookies.join",{"_index":13678,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.currentredirect",{"_index":13685,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.referer",{"_index":13680,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response",{"_index":13682,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers",{"_index":13664,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers.location",{"_index":13663,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers['set",{"_index":13671,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localfallback",{"_index":1286,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["localfield",{"_index":24231,"title":{},"body":{"injectables/UserRepo.html":{}}}],["localhost",{"_index":1278,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["localhost:15672",{"_index":25689,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["localhost:27017\"}]})start",{"_index":26321,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["localhost:3030",{"_index":25726,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["locally",{"_index":12430,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"controllers/LoginController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localstrategy",{"_index":1532,"title":{"injectables/LocalStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LocalStrategy.html":{}}}],["locate",{"_index":25985,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["located",{"_index":25903,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["location",{"_index":5223,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/HydraSsoService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PropertyData.html":{},"injectables/SanisResponseMapper.html":{},"classes/ToolLaunchMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["location.startswith('http",{"_index":13665,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["location.startswith(configuration.get('hydra_public_uri",{"_index":13667,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["locationmapping",{"_index":10867,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterdo.location",{"_index":10974,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterparam.location",{"_index":10912,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["locations",{"_index":13668,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["lockid",{"_index":11606,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["lodash",{"_index":695,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"dependencies.html":{}}}],["log",{"_index":4955,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/ErrorLoggable.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacyLogger.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["log(message",{"_index":13777,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["log.do",{"_index":9280,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["log.do.ts",{"_index":9215,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["log.do.ts:17",{"_index":9220,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:21",{"_index":9221,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:25",{"_index":9223,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:29",{"_index":9225,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:33",{"_index":9227,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:37",{"_index":9229,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:41",{"_index":9231,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:45",{"_index":9233,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.entity",{"_index":9278,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["log.entity.ts",{"_index":9245,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["log.entity.ts:22",{"_index":9248,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:25",{"_index":9250,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:28",{"_index":9249,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:31",{"_index":9246,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:34",{"_index":9247,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:38",{"_index":9252,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.mapper",{"_index":9307,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.mapper.ts",{"_index":9272,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:20",{"_index":9276,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:34",{"_index":9274,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:38",{"_index":9275,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:6",{"_index":9273,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.repo.ts",{"_index":9295,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:12",{"_index":9305,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:16",{"_index":9303,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:26",{"_index":9301,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:36",{"_index":9299,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:9",{"_index":9297,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.response.ts",{"_index":9452,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:10",{"_index":9454,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:14",{"_index":9453,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:7",{"_index":9456,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.service",{"_index":9361,"title":{},"body":{"modules/DeletionModule.html":{}}}],["log.service.ts",{"_index":9318,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:12",{"_index":9324,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:32",{"_index":9326,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:9",{"_index":9322,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log/response",{"_index":25652,"title":{},"body":{"todo.html":{}}}],["loggabble",{"_index":7066,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["loggabble.ts",{"_index":19045,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:11",{"_index":19049,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:6",{"_index":19047,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggable",{"_index":1422,"title":{"interfaces/Loggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["loggable.exception.ts",{"_index":23937,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:13",{"_index":23940,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:8",{"_index":23939,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.getlogmessage",{"_index":15927,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["loggable.ts",{"_index":1418,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:10",{"_index":1437,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:12",{"_index":18865,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:13",{"_index":1438,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:3",{"_index":10422,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:4",{"_index":18863,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:6",{"_index":10423,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable/error.loggable",{"_index":12688,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["loggable/news",{"_index":16819,"title":{},"body":{"injectables/NewsUc.html":{}}}],["loggable/preview",{"_index":18040,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["loggables",{"_index":13767,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logged",{"_index":23148,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logger",{"_index":2447,"title":{"injectables/Logger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logger.debug",{"_index":18224,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.error(error",{"_index":4282,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.info",{"_index":18238,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.info(`could",{"_index":26114,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["logger.interface",{"_index":15301,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.interface.ts",{"_index":13766,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:11",{"_index":13776,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:12",{"_index":13778,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:13",{"_index":13773,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:14",{"_index":13780,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:15",{"_index":13770,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.log(msg",{"_index":4285,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.service",{"_index":15898,"title":{},"body":{"modules/LoggerModule.html":{}}}],["logger.service.ts",{"_index":15280,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:22",{"_index":15284,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:26",{"_index":15290,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:30",{"_index":15295,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:34",{"_index":15287,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:38",{"_index":15289,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:42",{"_index":15288,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:50",{"_index":15292,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:54",{"_index":15286,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:58",{"_index":15294,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.setcontext(durationlogginginterceptor.name",{"_index":9827,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logger.setcontext(redismodule.name",{"_index":18816,"title":{},"body":{"modules/RedisModule.html":{}}}],["logger.setcontext(servermodule.name",{"_index":20621,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.setcontext(servertestmodule.name",{"_index":20629,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.ts",{"_index":9985,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:12",{"_index":9996,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:17",{"_index":9992,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:22",{"_index":9994,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:27",{"_index":9998,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:9",{"_index":9990,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.warn",{"_index":20598,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger/interfaces",{"_index":9953,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logger/types",{"_index":9954,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["loggerconfig",{"_index":7481,"title":{"interfaces/LoggerConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{}}}],["loggermodule",{"_index":265,"title":{"modules/LoggerModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["logging",{"_index":7470,"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":19001,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts",{"_index":9817,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:10",{"_index":9820,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:12",{"_index":18989,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:15",{"_index":9824,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:9",{"_index":18988,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.utils",{"_index":10002,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils",{"_index":10001,"title":{"classes/LoggingUtils.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{}}}],["loggingutils.createmessagewithcontext(loggable",{"_index":10004,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils.isinstanceofloggable(error",{"_index":12694,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["logic",{"_index":21074,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["login",{"_index":180,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ConsentResponse.html":{},"interfaces/CreateJwtPayload.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/OAuthService.html":{},"classes/Oauth2MigrationParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/SystemController.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["login(account",{"_index":1651,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["login.response",{"_index":17302,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts",{"_index":17299,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts:9",{"_index":17300,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login_block_time",{"_index":312,"title":{},"body":{"interfaces/AccountConfig.html":{},"injectables/AuthenticationService.html":{},"interfaces/ServerConfig.html":{}}}],["login_challenge",{"_index":6322,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["login_hint",{"_index":17697,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["login_required",{"_index":6299,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["login_session_id",{"_index":6323,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["loginchallenge",{"_index":6342,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["logincontroller",{"_index":1487,"title":{"controllers/LoginController.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["logindto",{"_index":1724,"title":{"classes/LoginDto.html":{}},"body":{"injectables/AuthenticationService.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{}}}],["logindto.accesstoken",{"_index":16005,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["loginldap",{"_index":15931,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(@currentuser",{"_index":15958,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(user",{"_index":15934,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal",{"_index":15932,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(@currentuser",{"_index":15964,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(user",{"_index":15941,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginname",{"_index":12473,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["loginname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14294,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["loginoauth2",{"_index":15933,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginoauth2(user",{"_index":15945,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginpath",{"_index":1614,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["loginrequestbody",{"_index":15973,"title":{"classes/LoginRequestBody.html":{}},"body":{"classes/LoginRequestBody.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember",{"_index":17574,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember_for",{"_index":17575,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginresponse",{"_index":15938,"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":17555,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse.client.client_id",{"_index":17544,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse:5",{"_index":17301,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["loginresponsemapper",{"_index":15951,"title":{"classes/LoginResponseMapper.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{}}}],["loginresponsemapper.maptologinresponse(logindto",{"_index":15960,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginresponsemapper.maptooauthloginresponse(logindto",{"_index":15967,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginsessionid",{"_index":6345,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["loginuc",{"_index":1485,"title":{"injectables/LoginUc.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{}}}],["loginuseruc",{"_index":25952,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["logmessage",{"_index":1423,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logmessage.type",{"_index":9959,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logmessagedata",{"_index":1424,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/NewsMapper.html":{}}}],["logmessagewithcontext",{"_index":15922,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["logo",{"_index":8355,"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":11168,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["logo.service.ts",{"_index":10428,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:114",{"_index":10439,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:26",{"_index":10435,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:34",{"_index":10437,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:46",{"_index":10449,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:61",{"_index":10444,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:73",{"_index":10442,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:97",{"_index":10446,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.ts",{"_index":10407,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:2",{"_index":10410,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:4",{"_index":10409,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo_url",{"_index":8157,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["logobase64",{"_index":10361,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["logobinarydata",{"_index":10487,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logourl",{"_index":6740,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/County.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["logout",{"_index":14349,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{}}}],["logoutendpoint",{"_index":13708,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["logoutflow",{"_index":17560,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflow(challenge",{"_index":17562,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflowuc",{"_index":17457,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["logoutresponse",{"_index":17564,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logouturl",{"_index":2161,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScopeInfo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceMapper.html":{}}}],["logoutuser(authtoken",{"_index":1118,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["logs",{"_index":6308,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["long",{"_index":6292,"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":26226,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["look",{"_index":14445,"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":15835,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["looks",{"_index":25845,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lookup",{"_index":12104,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/UserRepo.html":{}}}],["lookup.service",{"_index":680,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["lookup.service.ts",{"_index":609,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:15",{"_index":635,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:27",{"_index":646,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:44",{"_index":638,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookupsharetoken",{"_index":20677,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["lookupsharetoken(currentuser",{"_index":20693,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["lookupsharetoken(userid",{"_index":20859,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["lookuptoken",{"_index":20808,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptoken(token",{"_index":20817,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname",{"_index":20809,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname(token",{"_index":20818,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["loop",{"_index":2848,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["loss",{"_index":25568,"title":{},"body":{"license.html":{}}}],["losses",{"_index":25571,"title":{},"body":{"license.html":{}}}],["lot",{"_index":26177,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["low",{"_index":25898,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lower",{"_index":25824,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lowercase",{"_index":13993,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lt",{"_index":9534,"title":{},"body":{"classes/DeletionRequestScope.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserScope.html":{}}}],["lte",{"_index":3960,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/FilesRepo.html":{},"classes/NewsScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{}}}],["lti",{"_index":5910,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{}}}],["lti11config",{"_index":10745,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.baseurl",{"_index":10786,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.key",{"_index":10791,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.launch_presentation_locale",{"_index":10796,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.lti_message_type",{"_index":10793,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.privacy_permission",{"_index":10795,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.resource_link_id",{"_index":10794,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.secret",{"_index":10792,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.type",{"_index":10785,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11encryptionservice",{"_index":16017,"title":{"injectables/Lti11EncryptionService.html":{}},"body":{"injectables/Lti11EncryptionService.html":{},"modules/ToolLaunchModule.html":{}}}],["lti11toolconfig",{"_index":8309,"title":{"classes/Lti11ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfig(props.config",{"_index":10170,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["lti11toolconfigcreate",{"_index":10842,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigcreateparams",{"_index":10312,"title":{"classes/Lti11ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Lti11ToolConfigCreateParams.html":{}}}],["lti11toolconfigentity",{"_index":10363,"title":{"classes/Lti11ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfigEntity.html":{}}}],["lti11toolconfigfactory",{"_index":8330,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigfactory.build(customparam",{"_index":8350,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigresponse",{"_index":10922,"title":{"classes/Lti11ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["lti11toolconfigupdate",{"_index":10846,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigupdateparams",{"_index":10844,"title":{"classes/Lti11ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["lti11toollaunchstrategy",{"_index":23266,"title":{},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["lti_message_type",{"_index":8158,"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":8159,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["ltimessagetype",{"_index":8306,"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":8335,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission",{"_index":8152,"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":8161,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalToolEntityFactory.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{}}}],["ltiprivacypermission.name",{"_index":16143,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiprivacypermission.pseudonymous",{"_index":8334,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltirepo",{"_index":13633,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["ltirole",{"_index":16080,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.administrator",{"_index":16085,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.instructor",{"_index":16084,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.learner",{"_index":16083,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirolemapper",{"_index":16074,"title":{"classes/LtiRoleMapper.html":{}},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles",{"_index":16087,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles.filter",{"_index":16091,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroletype",{"_index":8144,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["ltiroletype.instructor",{"_index":16144,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype.learner",{"_index":16145,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype})@property({nullable",{"_index":16110,"title":{},"body":{"entities/LtiTool.html":{}}}],["ltitool",{"_index":8156,"title":{"entities/LtiTool.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["ltitooldo",{"_index":8222,"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":16135,"title":{"classes/LtiToolFactory.html":{}},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolfactory.define(ltitool",{"_index":16141,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolmodule",{"_index":16146,"title":{"modules/LtiToolModule.html":{}},"body":{"modules/LtiToolModule.html":{},"modules/OauthProviderModule.html":{}}}],["ltitoolpromise",{"_index":16961,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["ltitoolrepo",{"_index":5069,"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":8155,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["ltitoolservice",{"_index":16150,"title":{"injectables/LtiToolService.html":{}},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["ltitoolstabenabled",{"_index":13800,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["lumi",{"_index":22518,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["lumieducation/h5p",{"_index":6617,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["lumiuserwithcontentdata",{"_index":13199,"title":{"classes/LumiUserWithContentData.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["m=256m",{"_index":26313,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["machine",{"_index":11719,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{}}}],["machinename",{"_index":1199,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["machinenames",{"_index":11720,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["made",{"_index":11712,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["magic",{"_index":17521,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["mail",{"_index":1454,"title":{"interfaces/Mail.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LdapConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/PlainTextMailContent.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/UserRepo.html":{},"license.html":{}}}],["mail.interface",{"_index":16241,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail.service",{"_index":16227,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mail.split('@')[1",{"_index":16261,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail_service_options",{"_index":16228,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailattachment",{"_index":1441,"title":{"interfaces/MailAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["mailconfig",{"_index":16218,"title":{"interfaces/MailConfig.html":{}},"body":{"interfaces/MailConfig.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/ServerConfig.html":{}}}],["mailcontent",{"_index":1448,"title":{"interfaces/MailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["maildomain",{"_index":16257,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailmodule",{"_index":16221,"title":{"modules/MailModule.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmodule.forroot",{"_index":20589,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmoduleoptions",{"_index":16223,"title":{"interfaces/MailModuleOptions.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mails",{"_index":16237,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailservice",{"_index":16226,"title":{"injectables/MailService.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailserviceoptions",{"_index":16233,"title":{"interfaces/MailServiceOptions.html":{}},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist",{"_index":16256,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist.push(mail",{"_index":16260,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["main",{"_index":25024,"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":11479,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mainlibrary",{"_index":6581,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["mainlibraryubername",{"_index":12637,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["maintain",{"_index":25301,"title":{},"body":{"license.html":{}}}],["maintainability",{"_index":25798,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["maintenance",{"_index":16514,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["major",{"_index":25169,"title":{},"body":{"license.html":{}}}],["majorversion",{"_index":1200,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["make",{"_index":1831,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"modules/CommonToolModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/ImportUserScope.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["makes",{"_index":1222,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["making",{"_index":23518,"title":{},"body":{"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["makse",{"_index":15600,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["manage",{"_index":11821,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manageclientsconnections",{"_index":24757,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["manageclientsconnections(undefined",{"_index":24766,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["managed",{"_index":15963,"title":{},"body":{"controllers/LoginController.html":{}}}],["managed.'})@apiresponse({status",{"_index":15943,"title":{},"body":{"controllers/LoginController.html":{}}}],["management",{"_index":648,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.config",{"_index":13467,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.config.ts",{"_index":13743,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IdentityManagementConfig.html":{}}}],["management.console",{"_index":16268,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.console.ts",{"_index":3800,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["management.console.ts:12",{"_index":8847,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:14",{"_index":3810,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:31",{"_index":8851,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:58",{"_index":8849,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:7",{"_index":3805,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:72",{"_index":8854,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.controller",{"_index":16271,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.controller.ts",{"_index":8873,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:18",{"_index":8885,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:23",{"_index":8882,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:28",{"_index":8880,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:33",{"_index":8891,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:9",{"_index":8888,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.integration.spec.ts",{"_index":26292,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.module",{"_index":16279,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/SystemModule.html":{}}}],["management.module.ts",{"_index":8905,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{}}}],["management.service",{"_index":8906,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["management.service.integration.spec.tsseeding",{"_index":26295,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.service.ts",{"_index":8907,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.service.ts:10",{"_index":14856,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:101",{"_index":13937,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:11",{"_index":8931,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:110",{"_index":13444,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:116",{"_index":13445,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:130",{"_index":13447,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:145",{"_index":13449,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:15",{"_index":8927,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:171",{"_index":14862,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:18",{"_index":13916,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:187",{"_index":14864,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:20",{"_index":8928,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:27",{"_index":13939,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:32",{"_index":8924,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:36",{"_index":13941,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:38",{"_index":8916,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:44",{"_index":8925,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:52",{"_index":8918,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:54",{"_index":13456,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:56",{"_index":13457,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:58",{"_index":8920,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:60",{"_index":13441,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:62",{"_index":8922,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:66",{"_index":8929,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:68",{"_index":13928,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:75",{"_index":13929,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:8",{"_index":8914,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:82",{"_index":13919,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:88",{"_index":13453,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:90",{"_index":13932,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.uc",{"_index":3816,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["management.uc.ts",{"_index":3826,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{}}}],["management.uc.ts:15",{"_index":3833,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:18",{"_index":3834,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:41",{"_index":3838,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:51",{"_index":3836,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:62",{"_index":3840,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:73",{"_index":3845,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:77",{"_index":3849,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:81",{"_index":3842,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management/database",{"_index":8874,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management/h5p",{"_index":13426,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["management/identity",{"_index":13877,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"modules/SystemModule.html":{}}}],["management/idm",{"_index":14935,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["management/keycloak",{"_index":4888,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["management/keycloak/keycloak.module",{"_index":20545,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["management/keycloak/keycloak.module.ts",{"_index":14990,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["management/keycloak/service/keycloak",{"_index":14820,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management/service/h5p",{"_index":13430,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["managementmodule",{"_index":16262,"title":{"modules/ManagementModule.html":{}},"body":{"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["managementservermodule",{"_index":16274,"title":{"modules/ManagementServerModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["managementservertestmodule",{"_index":16281,"title":{"modules/ManagementServerTestModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["manager",{"_index":1987,"title":{},"body":{"injectables/AuthorizationService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["manager.ts",{"_index":19488,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:26",{"_index":19493,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:64",{"_index":19497,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:71",{"_index":19495,"title":{},"body":{"injectables/RuleManager.html":{}}}],["mandatory",{"_index":5412,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/TldrawWs.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["mandatory.loggable.ts",{"_index":23944,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:11",{"_index":23946,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:4",{"_index":23945,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.params",{"_index":23866,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["mandatory.params.ts",{"_index":23949,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory.params.ts:7",{"_index":23950,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory/optional",{"_index":23847,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"todo.html":{}}}],["mandatorysince",{"_index":23898,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["manifest",{"_index":5874,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["manner",{"_index":25468,"title":{},"body":{"license.html":{}}}],["manual",{"_index":5408,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["manually",{"_index":26003,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manufacture",{"_index":9725,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["many",{"_index":15779,"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":2950,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytomany('boardelement",{"_index":2947,"title":{},"body":{"entities/Board.html":{}}}],["manytomany('course",{"_index":8614,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytomany('material",{"_index":6235,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["manytomany('user",{"_index":7569,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["manytomany(undefined",{"_index":7516,"title":{},"body":{"entities/Course.html":{},"entities/SchoolEntity.html":{}}}],["manytomany({entity",{"_index":19200,"title":{},"body":{"entities/Role.html":{}}}],["manytoone",{"_index":5727,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytoone('columnboardtarget",{"_index":5725,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["manytoone('course",{"_index":6232,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone('coursegroup",{"_index":6233,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["manytoone('dashboardmodelentity",{"_index":8615,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytoone('lessonentity",{"_index":15555,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["manytoone('task",{"_index":21038,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{}}}],["manytoone('teamentity",{"_index":7912,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["manytoone('user",{"_index":7888,"title":{},"body":{"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone(undefined",{"_index":7778,"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/SchoolSystemOptionsEntity.html":{},"entities/Submission.html":{},"classes/TeamUserEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["manytoone({nullable",{"_index":10348,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{}}}],["map",{"_index":2796,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"classes/GridElement.html":{},"classes/H5PContentMapper.html":{},"interfaces/IGridElement.html":{},"classes/MetadataTypeMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ParentInfo.html":{},"injectables/ProvisioningService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolLaunchService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["map((apikey",{"_index":20523,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((domain",{"_index":20526,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((element",{"_index":7451,"title":{},"body":{"classes/CopyMapper.html":{}}}],["map((elementwithposition",{"_index":8663,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["map((entity",{"_index":21587,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["map((group",{"_index":19830,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((groupuser",{"_index":13105,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["map((key",{"_index":19627,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((match",{"_index":14302,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["map((o",{"_index":19625,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((pattern",{"_index":138,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["map((relation",{"_index":19839,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((role",{"_index":23710,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["map((rolename",{"_index":24135,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["map((teacher",{"_index":5829,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["map(async",{"_index":5294,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["map.set(copystatus.originalentity.course.id",{"_index":3405,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["map.set(key",{"_index":3401,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["map.set(status.originalentity.id",{"_index":7422,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.setifundefined(this.docs",{"_index":22914,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["map[node.id",{"_index":3689,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["map[node.pathofchildren",{"_index":3981,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["map[node.pathofchildren].push(desc",{"_index":3982,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["mapaccountstodto",{"_index":468,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapaccountstodto(accounts",{"_index":471,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapbasictoolconfigdotoentity",{"_index":10733,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoentity(lti11config",{"_index":10743,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoresponse",{"_index":10941,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigdotoresponse(externaltoolconfigdo",{"_index":10946,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigtodo",{"_index":10734,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigtodo(lti11config",{"_index":10746,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapboardelements",{"_index":19291,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapbodytodto",{"_index":22351,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapbodytodto(body",{"_index":22352,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapclasstoclassinfodto",{"_index":13086,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapclasstoclassinfodto(clazz",{"_index":13089,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapcolumnboard",{"_index":19292,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapcolumnboardelement",{"_index":9726,"title":{},"body":{"classes/DtoCreator.html":{}}}],["mapcolumnboardelement(element",{"_index":9746,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mapconsentresponse",{"_index":17576,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentresponse(consent",{"_index":17581,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse",{"_index":17577,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse(session",{"_index":17583,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapcontenttoresource",{"_index":5744,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontenttoresource(lessonid",{"_index":5759,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontextexternaltoolrequest",{"_index":6927,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolrequest(request",{"_index":6929,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolresponse",{"_index":6967,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontextexternaltoolresponse(contextexternaltool",{"_index":6970,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontexttypetodotype",{"_index":6855,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetodotype(type",{"_index":6872,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype",{"_index":6856,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype(type",{"_index":6874,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto",{"_index":12285,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto(copyfilelistresponse",{"_index":12291,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto",{"_index":12286,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto(response",{"_index":12293,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcourseteacherstocopyrightowners",{"_index":5745,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseteacherstocopyrightowners(course",{"_index":5764,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseuserstousergroup",{"_index":3444,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcourseuserstousergroup(course",{"_index":3451,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcreateacceptloginrequestbody",{"_index":17572,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreateacceptloginrequestbody(loginrequestbody",{"_index":17573,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreatenewstodomain",{"_index":16664,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreatenewstodomain(params",{"_index":16668,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreaterequest",{"_index":10817,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcreaterequest(externaltoolcreateparams",{"_index":10827,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcurrentusertocreatejwtpayload",{"_index":8106,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcurrentusertocreatejwtpayload(currentuser",{"_index":8111,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcustomparameterdostoentities",{"_index":10735,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterdostoentities(customparameters",{"_index":10748,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities",{"_index":10736,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities(entries",{"_index":10751,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos",{"_index":10737,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos(entries",{"_index":10754,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos",{"_index":10738,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos(customparameters",{"_index":10756,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparametertoresponse",{"_index":10942,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapcustomparametertoresponse(customparameters",{"_index":10949,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapdashboardtoentity",{"_index":8690,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtoentity(modelentity",{"_index":8705,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel",{"_index":8691,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel(entity",{"_index":8708,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdomainobjecttoentityproperties",{"_index":10651,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/PseudonymsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["mapdomainobjecttoentityproperties(entitydo",{"_index":10668,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(group",{"_index":12852,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapdomainobjecttoentityproperties(schoolsystemoptions",{"_index":20378,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["mapdomaintoadapter",{"_index":5046,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoadapter(team",{"_index":5047,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoresponse",{"_index":25926,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapdosortordertoqueryorder",{"_index":11097,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdosortordertoqueryorder(sort",{"_index":11098,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdotoentityproperties",{"_index":2440,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapdotoentityproperties(domainobject",{"_index":20778,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["mapdotoentityproperties(entitydo",{"_index":2460,"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":11084,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdotoprovideroauthclient(name",{"_index":11085,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapelementtoentity",{"_index":8692,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapelementtoentity(modelentity",{"_index":8710,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapentitytodo",{"_index":2441,"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":2464,"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":10652,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobject(entity",{"_index":10670,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobjectproperties",{"_index":12847,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodomainobjectproperties(entity",{"_index":12855,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodto",{"_index":22311,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytodto(teamentity",{"_index":22312,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytoparenttype",{"_index":12287,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapentitytoparenttype(entity",{"_index":12295,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapexternalgroup",{"_index":19790,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalgroup(source",{"_index":19795,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalsourceentitytoexternalsource",{"_index":12848,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourceentitytoexternalsource(entity",{"_index":12857,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity",{"_index":12849,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity(externalsource",{"_index":12859,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery",{"_index":10818,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery(params",{"_index":10830,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto",{"_index":12288,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto(filerecordlistresponse",{"_index":12297,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto",{"_index":12289,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto(filerecordresponse",{"_index":12299,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordtofilerecordparams",{"_index":12372,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfilerecordtofilerecordparams(filerecord",{"_index":12376,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfootodomain",{"_index":25927,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapfromdtotolistresponse",{"_index":21604,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotolistresponse(systems",{"_index":21607,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse",{"_index":21605,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse(system",{"_index":21608,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromentitiestodtos",{"_index":19217,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitiestodtos(enities",{"_index":19219,"title":{},"body":{"classes/RoleMapper.html":{}}}],["mapfromentitiestodtos(entities",{"_index":21562,"title":{},"body":{"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitytodto",{"_index":19218,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromentitytodto(entity",{"_index":19222,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromoauthconfigdtotoresponse",{"_index":21606,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigdtotoresponse(oauthconfigdto",{"_index":21609,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigentitytodto",{"_index":21561,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoauthconfigentitytodto(oauthconfig",{"_index":21565,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoidcconfigentitytodto",{"_index":21578,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapfromoidcconfigentitytodto(systemid",{"_index":21581,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapgridelement",{"_index":8654,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelement(data",{"_index":8656,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelementtomodel",{"_index":8693,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgridelementtomodel(elementwithposition",{"_index":8712,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgrouptoclassinfodto",{"_index":13087,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgrouptoclassinfodto(group",{"_index":13091,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgroupuserentitytogroupuser",{"_index":12850,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupuserentitytogroupuser(entity",{"_index":12861,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity",{"_index":12851,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity(groupuser",{"_index":12864,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["maph5perror",{"_index":13415,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["maph5perror(error",{"_index":13416,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["mapimportuserfilterquerytodomain",{"_index":14118,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportuserfilterquerytodomain(query",{"_index":14119,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportusermatchscopetodomain",{"_index":14165,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapimportusermatchscopetodomain(match",{"_index":14167,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapldapconfigentitytodomainobject",{"_index":21483,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapldapconfigentitytodomainobject(ldapconfig",{"_index":21486,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["maplearnroom",{"_index":8655,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplearnroom(metadata",{"_index":8658,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplesson",{"_index":19293,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maplessoncopytodomain",{"_index":7425,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessoncopytodomain(params",{"_index":7427,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessonelement",{"_index":9727,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maplessonelement(element",{"_index":9748,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maploginresponse",{"_index":17578,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maploginresponse(providerloginresponse",{"_index":17584,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maplti11toolconfigdotoentity",{"_index":10739,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoentity(lti11config",{"_index":10760,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoresponse",{"_index":10943,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigdotoresponse(externaltoolconfigdo",{"_index":10951,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigtodo",{"_index":10740,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigtodo(lti11config",{"_index":10762,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapmatchcreatortoresponse",{"_index":14166,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapmatchcreatortoresponse(matchcreator",{"_index":14169,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapnewsscopetodomain",{"_index":16665,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapnewsscopetodomain(query",{"_index":16670,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapoauth2configdotoentity",{"_index":10741,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configdotoentity(oauth2config",{"_index":10764,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo",{"_index":10742,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo(oauth2config",{"_index":10767,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2toolconfigdotoresponse",{"_index":10944,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauth2toolconfigdotoresponse(externaltoolconfigdo",{"_index":10953,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauthclientresponse",{"_index":17579,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthclientresponse(oauthclient",{"_index":17586,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthconfigentitytodomainobject",{"_index":21484,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapoauthconfigentitytodomainobject(oauthconfig",{"_index":21488,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapped",{"_index":4866,"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/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapped.id",{"_index":23178,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["mappedcolumnboard",{"_index":19340,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedconfig",{"_index":10880,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappedcustomparameter",{"_index":10885,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappeddata",{"_index":13005,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["mappedelements",{"_index":8759,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mappedelements.includes(el",{"_index":8763,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mappedentity",{"_index":21594,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["mappedlesson",{"_index":19334,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedlocation",{"_index":23255,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtask",{"_index":19317,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.availabledate",{"_index":19326,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.coursename",{"_index":19324,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.description",{"_index":19332,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.displaycolor",{"_index":19330,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.duedate",{"_index":19328,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtools",{"_index":23082,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{}}}],["mappedtype",{"_index":23257,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtypes",{"_index":23089,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["mapper",{"_index":675,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"injectables/CopyFilesService.html":{},"injectables/DashboardRepo.html":{},"controllers/ElementController.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/GroupController.html":{},"interfaces/IDashboardRepo.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/PreviewService.html":{},"injectables/RocketChatUserRepo.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/SubmissionController.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper.canmap(element",{"_index":6447,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapper.interface",{"_index":6438,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["mapper.interface.ts",{"_index":2655,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:5",{"_index":2660,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:7",{"_index":2658,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.mapsubmissionitemtoresponse(submissionitem",{"_index":9871,"title":{},"body":{"controllers/ElementController.html":{}}}],["mapper.maptoresponse(submissionitems",{"_index":4080,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["mapper.name",{"_index":14745,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mapper.ts",{"_index":25925,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper/account",{"_index":977,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["mapper/calendar.mapper",{"_index":4320,"title":{},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["mapper/collaborative",{"_index":5034,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["mapper/course.mapper",{"_index":7644,"title":{},"body":{"controllers/CourseController.html":{}}}],["mapper/dashboard.mapper",{"_index":8415,"title":{},"body":{"controllers/DashboardController.html":{}}}],["mapper/deletion",{"_index":9306,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{}}}],["mapper/identity",{"_index":14612,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["mapper/import",{"_index":14040,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/login",{"_index":15952,"title":{},"body":{"controllers/LoginController.html":{}}}],["mapper/news.mapper",{"_index":16614,"title":{},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"controllers/TeamNewsController.html":{}}}],["mapper/oauth",{"_index":17329,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["mapper/provisioning",{"_index":18329,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["mapper/pseudonym.mapper",{"_index":18399,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["mapper/role.mapper",{"_index":19271,"title":{},"body":{"injectables/RoleService.html":{}}}],["mapper/room",{"_index":15270,"title":{},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["mapper/system",{"_index":21464,"title":{},"body":{"controllers/SystemController.html":{}}}],["mapper/team.mapper",{"_index":5151,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["mapper/token",{"_index":17026,"title":{},"body":{"injectables/OAuthService.html":{}}}],["mapper/tool",{"_index":23042,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["mapper/user",{"_index":14043,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/user.mapper",{"_index":24311,"title":{},"body":{"injectables/UserService.html":{}}}],["mapper/vc",{"_index":24561,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["mapper/video",{"_index":24448,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["mapperid",{"_index":14748,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mappers",{"_index":6423,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mapping",{"_index":25901,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mapprovisioningoptionstoresponse",{"_index":20345,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["mapprovisioningoptionstoresponse(options",{"_index":20346,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["mappseudonymtouserdata",{"_index":11367,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["mappseudonymtouserdata(pseudonym",{"_index":11390,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["mapredirectresponse",{"_index":17580,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapredirectresponse(redirect",{"_index":17587,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapreferencetoentity",{"_index":8694,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetoentity(modelentity",{"_index":8714,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel",{"_index":8695,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel(reference",{"_index":8716,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["maprequesttobasictoolconfig",{"_index":10819,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttobasictoolconfig(externaltoolconfigparams",{"_index":10833,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo",{"_index":10820,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo(customparameterparams",{"_index":10837,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo",{"_index":6928,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo(customparameterparams",{"_index":6932,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate",{"_index":10821,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate(externaltoolconfigparams",{"_index":10840,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate",{"_index":10822,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate(externaltoolconfigparams",{"_index":10843,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate",{"_index":10823,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate(externaltoolconfigparams",{"_index":10847,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate",{"_index":10824,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate(externaltoolconfigparams",{"_index":10850,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprolestoltiroles",{"_index":16077,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprolestoltiroles(rolenames",{"_index":16078,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprpcerrorresponsetodomainerror",{"_index":10011,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["maprpcerrorresponsetodomainerror(errorobj",{"_index":10012,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["maps",{"_index":5049,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["mapsanisroletorolename",{"_index":19791,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapsanisroletorolename(source",{"_index":19797,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapscanresultparamstodto",{"_index":11938,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapscanresultparamstodto(scanresultparams",{"_index":11941,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapschoolexternaltoolrequest",{"_index":20031,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapschoolexternaltoolrequest(request",{"_index":20032,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapsearchparamstoquery",{"_index":23953,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchparamstoquery(searchparams",{"_index":23955,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchresult",{"_index":469,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsearchresult(accountentities",{"_index":473,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsortingquerytodomain",{"_index":10825,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapsortingquerytodomain(sortingquery",{"_index":10854,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapstringtoparenttype",{"_index":12290,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapstringtoparenttype(input",{"_index":12301,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapsubmissioncontenttoresponse",{"_index":6424,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissioncontenttoresponse(element",{"_index":6432,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissionitemtoresponse",{"_index":21207,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapsubmissionitemtoresponse(submissionitem",{"_index":21211,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptask",{"_index":19294,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maptaskcopytodomain",{"_index":7426,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcopytodomain(params",{"_index":7431,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcreatetodomain",{"_index":21938,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskcreatetodomain(params",{"_index":21940,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskelement",{"_index":9728,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptaskelement(element",{"_index":9750,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptasktowebcontentresource",{"_index":5746,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptasktowebcontentresource(task",{"_index":5767,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptaskupdatetodomain",{"_index":21939,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskupdatetodomain(params",{"_index":21942,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoallowedauthorizationentitytype",{"_index":12373,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowedauthorizationentitytype(type",{"_index":12378,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowemetadatatype",{"_index":16470,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptoallowemetadatatype(type",{"_index":16471,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptobaseresponse",{"_index":24731,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptobaseresponse(from",{"_index":24734,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoboardelement",{"_index":3010,"title":{},"body":{"entities/Board.html":{}}}],["maptoclassinfostolistresponse",{"_index":12990,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfostolistresponse(classinfos",{"_index":12993,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse",{"_index":12991,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse(classinfo",{"_index":12996,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse",{"_index":23064,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse(toolinfos",{"_index":23069,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse",{"_index":23065,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse(toolinfo",{"_index":23072,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocustomparameterentryresponse",{"_index":20045,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptocustomparameterentryresponse(entries",{"_index":20048,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptodo",{"_index":4755,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodo(entity",{"_index":4759,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodomain",{"_index":19236,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptodomain(query",{"_index":24123,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["maptodomain(rolename",{"_index":19237,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptodos",{"_index":4756,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodos(entities",{"_index":4761,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodto",{"_index":470,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/CalendarMapper.html":{}}}],["maptodto(account",{"_index":476,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["maptodto(event",{"_index":4303,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["maptoelementdtos",{"_index":9729,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptoelementdtos(elements",{"_index":9752,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptoentities",{"_index":4757,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentities(domainobjects",{"_index":4763,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentity",{"_index":4758,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoentity(domainobject",{"_index":4765,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoexternalgroupdtos",{"_index":19792,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupdtos(source",{"_index":19799,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser",{"_index":19793,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser(relation",{"_index":19800,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto",{"_index":14366,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto(schooldo",{"_index":14368,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptoexternalschooldto(source",{"_index":19802,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaltoolmetadataresponse",{"_index":10515,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":10516,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolresponse",{"_index":10945,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaltoolresponse(externaltool",{"_index":10955,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaluserdto",{"_index":14367,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(source",{"_index":19803,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(userdo",{"_index":14371,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptofilerecordlistresponse",{"_index":11939,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordlistresponse(filerecords",{"_index":11944,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse",{"_index":11940,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse(filerecord",{"_index":11946,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptogroupresponse",{"_index":12992,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptogroupresponse(resolvedgroup",{"_index":12999,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoinforesponse",{"_index":24732,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoinforesponse(from",{"_index":24735,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptointernal",{"_index":18362,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptointernal(dto",{"_index":18363,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptojoinresponse",{"_index":24733,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptojoinresponse(from",{"_index":24736,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptokenresponsetodto",{"_index":22980,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokenresponsetodto(response",{"_index":22983,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokeycloakidentityprovider",{"_index":17707,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptokeycloakidentityprovider(oidcconfig",{"_index":17710,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptologinresponse",{"_index":15999,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologinresponse(logindto",{"_index":16001,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologmessagedata",{"_index":16666,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptologmessagedata(news",{"_index":16672,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptometadataresponse",{"_index":7834,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptometadataresponse(course",{"_index":7835,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptooauthcurrentuser",{"_index":8107,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthcurrentuser(accountid",{"_index":8113,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthloginresponse",{"_index":16000,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptooauthloginresponse(logindto",{"_index":16003,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptoparameterlocation",{"_index":23233,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoparameterlocation(location",{"_index":23237,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoresolvedgroupdto",{"_index":13088,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresolvedgroupdto(group",{"_index":13096,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresponse",{"_index":830,"title":{},"body":{"classes/AccountResponseMapper.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/ImportUserMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsMapper.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponse(account",{"_index":832,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponse(board",{"_index":4027,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["maptoresponse(card",{"_index":4470,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["maptoresponse(column",{"_index":5680,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["maptoresponse(copystatus",{"_index":7435,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptoresponse(dashboard",{"_index":8660,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maptoresponse(element",{"_index":2659,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["maptoresponse(importuser",{"_index":14122,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["maptoresponse(news",{"_index":16674,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptoresponse(pseudonym",{"_index":18415,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["maptoresponse(rolename",{"_index":19239,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptoresponse(schoolinfo",{"_index":20180,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["maptoresponse(sharetoken",{"_index":20800,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["maptoresponse(sharetokeninfo",{"_index":20756,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["maptoresponse(status",{"_index":4111,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["maptoresponse(submissionitems",{"_index":21212,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptoresponse(target",{"_index":21652,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["maptoresponse(taskwithstatus",{"_index":21945,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoresponse(user",{"_index":19013,"title":{},"body":{"classes/ResolvedUserMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponsefromentity",{"_index":831,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponsefromentity(account",{"_index":834,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse",{"_index":23066,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse(externaltools",{"_index":23075,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse",{"_index":23067,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse(externaltool",{"_index":23077,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse",{"_index":19978,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":19979,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolresponse",{"_index":20046,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":20050,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse",{"_index":20047,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse(externaltools",{"_index":20051,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosinglefileparams",{"_index":12374,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptosinglefileparams(params",{"_index":12382,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostatusresponse",{"_index":21267,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostatusresponse(submission",{"_index":21268,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostreamablefile",{"_index":12375,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostreamablefile(fileresponse",{"_index":12384,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptotoolconfigtype",{"_index":23234,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolconfigtype(launchdatatype",{"_index":23239,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolcontexttypeslistresponse",{"_index":23068,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":23079,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoollaunchdatatype",{"_index":23235,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype(configtype",{"_index":23242,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse",{"_index":23236,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse(toollaunchrequest",{"_index":23245,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolreference",{"_index":23393,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreference(externaltool",{"_index":23394,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreferenceresponse",{"_index":6968,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponse(toolreference",{"_index":6972,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses",{"_index":6969,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses(toolreferences",{"_index":6976,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapupdatenewstodomain",{"_index":16667,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdatenewstodomain(params",{"_index":16676,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdaterequest",{"_index":10826,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapupdaterequest(externaltoolupdateparams",{"_index":10859,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapuserloginmigrationdotoresponse",{"_index":23954,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserloginmigrationdotoresponse(domainobject",{"_index":23958,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserstoresponse",{"_index":21208,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapuserstoresponse(user",{"_index":21214,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["march",{"_index":25509,"title":{},"body":{"license.html":{}}}],["markdeletionrequestasexecuted",{"_index":9484,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasexecuted(deletionrequestid",{"_index":9495,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed",{"_index":9485,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed(deletionrequestid",{"_index":9497,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["marked",{"_index":8963,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["markedfordelete",{"_index":11926,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["markfilesownedbyuserfordeletion",{"_index":12221,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfilesownedbyuserfordeletion(userid",{"_index":12228,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfordelete",{"_index":11887,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["markfordeletion",{"_index":11655,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["marks",{"_index":25387,"title":{},"body":{"license.html":{}}}],["markunmigratedusersasoutdated",{"_index":20200,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["markunmigratedusersasoutdated(userloginmigration",{"_index":20218,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["masks",{"_index":25113,"title":{},"body":{"license.html":{}}}],["master",{"_index":26297,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["match",{"_index":415,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["match.mapper",{"_index":14044,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["match.mapper.ts",{"_index":24122,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:21",{"_index":24125,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:9",{"_index":24124,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.params.ts",{"_index":23512,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.params.ts:7",{"_index":23514,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.response",{"_index":14100,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["match.response.ts",{"_index":24117,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["match.response.ts:19",{"_index":24145,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:22",{"_index":24142,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:25",{"_index":24140,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:28",{"_index":24141,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:35",{"_index":24144,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:41",{"_index":24143,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:44",{"_index":24118,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["match.response.ts:7",{"_index":24139,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match_matchedby",{"_index":13958,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["match_userid",{"_index":13965,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/UserRepo.html":{}}}],["matchancestors",{"_index":3974,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchancestors(desc",{"_index":3979,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchcreator",{"_index":13956,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchMapper.html":{}}}],["matchcreator.auto",{"_index":14181,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreator.manual",{"_index":14179,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreatorscope",{"_index":13748,"title":{},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["matchcreatorscope.auto",{"_index":14173,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.manual",{"_index":14175,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.none",{"_index":14177,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matched",{"_index":4246,"title":{},"body":{"classes/BusinessError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{}}}],["matched(matchedby",{"_index":14085,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["matchedby",{"_index":13946,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["matches",{"_index":301,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"injectables/CopyHelperService.html":{},"classes/CourseQueryParams.html":{},"classes/FileMetadata.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{}}}],["matches(object.values(commoncartridgeversion).join",{"_index":7916,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["matches(passwordpattern",{"_index":305,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["matches.groups",{"_index":7414,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["matches.length",{"_index":13991,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matches[1",{"_index":13992,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matching",{"_index":104,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["matchingparameterentry",{"_index":2790,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["matchingparams",{"_index":11204,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchingparams.some((param",{"_index":11251,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchsinglerule",{"_index":19489,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchsinglerule(rules",{"_index":19494,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchtype",{"_index":14171,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["matchtype.auto",{"_index":14182,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchtype.manual",{"_index":14180,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["material",{"_index":6209,"title":{"entities/Material.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{}}}],["materialfactory",{"_index":16320,"title":{"classes/MaterialFactory.html":{}},"body":{"classes/MaterialFactory.html":{}}}],["materialfactory.define(material",{"_index":16323,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["materialid",{"_index":6221,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialids",{"_index":6236,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materially",{"_index":25358,"title":{},"body":{"license.html":{}}}],["materialproperties",{"_index":16306,"title":{"interfaces/MaterialProperties.html":{}},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials",{"_index":6214,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials.entity",{"_index":6210,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialsrepo",{"_index":16324,"title":{"injectables/MaterialsRepo.html":{}},"body":{"injectables/MaterialsRepo.html":{}}}],["math.ceil(timedifference",{"_index":1746,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["math.floor(index",{"_index":8541,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["math.floor(math.random",{"_index":3880,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["math.round(math.random",{"_index":11932,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["matter",{"_index":26223,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["max",{"_index":3848,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["max(100",{"_index":17901,"title":{},"body":{"classes/PaginationParams.html":{}}}],["max(500",{"_index":15838,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["max_file_size",{"_index":12089,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["max_redirects",{"_index":13559,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["max_security_check_file_size",{"_index":12090,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["maxage",{"_index":20618,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["maxcount",{"_index":13336,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["maxdelay",{"_index":15196,"title":{},"body":{"injectables/LdapService.html":{}}}],["maxexternaltoollogosizeinbytes",{"_index":10494,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["maximum",{"_index":892,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{}}}],["maxkeys",{"_index":7317,"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":4929,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["maxredirects",{"_index":13592,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["maxsubmission",{"_index":21714,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxsubmissions",{"_index":4120,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxusers",{"_index":2308,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["maybe",{"_index":10770,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["md",{"_index":25655,"title":{},"body":{"todo.html":{}}}],["mdb",{"_index":22630,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["me(@currentuser",{"_index":23605,"title":{},"body":{"controllers/UserController.html":{}}}],["me(authtoken",{"_index":1110,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["me(currentuser",{"_index":23600,"title":{},"body":{"controllers/UserController.html":{}}}],["me(userid",{"_index":24300,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["meaning",{"_index":25394,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["meaningful",{"_index":25029,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["means",{"_index":24997,"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":2919,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["measures",{"_index":24999,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mechanism",{"_index":25875,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["medium",{"_index":25237,"title":{},"body":{"license.html":{}}}],["meet",{"_index":25249,"title":{},"body":{"license.html":{}}}],["meeting",{"_index":2300,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{}}}],["meeting.config",{"_index":2179,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["meeting.config.ts",{"_index":2141,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:1",{"_index":2144,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:6",{"_index":2145,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting_id",{"_index":2296,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["meetingid",{"_index":2142,"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":2309,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["meets",{"_index":25158,"title":{},"body":{"license.html":{}}}],["member",{"_index":1092,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICurrentUser.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TeamsRepo.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["memberids",{"_index":21080,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["memberids.some((id",{"_index":21085,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["members",{"_index":1147,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/NextcloudStrategy.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/ShareTokenBodyParams.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["memory",{"_index":12572,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["memorystore",{"_index":20601,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mention",{"_index":26246,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["mentioned",{"_index":25847,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mentor",{"_index":8149,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["menu",{"_index":25156,"title":{},"body":{"license.html":{}}}],["merchantability",{"_index":25551,"title":{},"body":{"license.html":{}}}],["mere",{"_index":25144,"title":{},"body":{"license.html":{}}}],["merge",{"_index":25034,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mergeelementintoposition",{"_index":8454,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["mergeelementintoposition(element",{"_index":8486,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["merging",{"_index":25440,"title":{},"body":{"license.html":{}}}],["merlinreference",{"_index":6223,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["message",{"_index":1115,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"interfaces/BBBBaseResponse.html":{},"injectables/BatchDeletionService.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/DeletionExecutionConsole.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"interfaces/Meta.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OcsResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["message.ts",{"_index":13734,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["messagehandler",{"_index":22844,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagehandler(conn",{"_index":22857,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagekey",{"_index":2151,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["messages",{"_index":26241,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["messagetype",{"_index":22921,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagewithcontext",{"_index":15929,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["met",{"_index":25190,"title":{},"body":{"license.html":{}}}],["meta",{"_index":13143,"title":{"interfaces/Meta.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TemporaryFileStorage.html":{}}}],["meta_bbb",{"_index":2162,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["metadata",{"_index":131,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolUc.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/TaskUrlHandler.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UrlHandler.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["metadata.a11ytitle",{"_index":6645,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authorcomments",{"_index":6660,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authors",{"_index":6654,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.changes",{"_index":6658,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.contenttype",{"_index":6662,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.defaultlanguage",{"_index":6627,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.dynamicdependencies",{"_index":6633,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.editordependencies",{"_index":6635,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.embedtypes",{"_index":6621,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.h",{"_index":6637,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.language",{"_index":6623,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.license",{"_index":6629,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseextras",{"_index":6656,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseversion",{"_index":6647,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.mainlibrary",{"_index":6625,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["metadata.mapper.ts",{"_index":10514,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.mapper.ts:6",{"_index":10517,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.metadescription",{"_index":6639,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.metakeywords",{"_index":6641,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.parenttitle",{"_index":4195,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.parenttype",{"_index":4194,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.preloadeddependencies",{"_index":6631,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.response.ts",{"_index":7848,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:28",{"_index":7864,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:33",{"_index":7867,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:38",{"_index":7865,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:43",{"_index":7863,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:48",{"_index":7866,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:5",{"_index":7861,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:53",{"_index":7868,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:58",{"_index":7862,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:6",{"_index":10523,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:61",{"_index":7849,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["metadata.response.ts:9",{"_index":10522,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["metadata.service.ts",{"_index":10527,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:10",{"_index":19986,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:11",{"_index":10530,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.service.ts:13",{"_index":19988,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:17",{"_index":10533,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.source",{"_index":6652,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.title",{"_index":4190,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["metadata.ts",{"_index":10502,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:4",{"_index":10507,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:6",{"_index":10506,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["metadata.type",{"_index":8737,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["metadata.w",{"_index":6643,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearfrom",{"_index":6649,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearto",{"_index":6651,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadataentitytype",{"_index":16373,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["metadataprops",{"_index":5968,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["metadatas",{"_index":9975,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatas.some",{"_index":9979,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatasettings",{"_index":11729,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["metadatatypemapper",{"_index":16467,"title":{"classes/MetadataTypeMapper.html":{}},"body":{"classes/MetadataTypeMapper.html":{}}}],["metadescription",{"_index":6582,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metakeywords",{"_index":6583,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metatagextractorapimodule",{"_index":16327,"title":{"modules/MetaTagExtractorApiModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorconfig",{"_index":16360,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["metatagextractorcontroller",{"_index":16334,"title":{"controllers/MetaTagExtractorController.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{}}}],["metatagextractormodule",{"_index":16331,"title":{"modules/MetaTagExtractorModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorresponse",{"_index":16345,"title":{"classes/MetaTagExtractorResponse.html":{}},"body":{"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["metatagextractorresponse})@apiresponse({status",{"_index":16341,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["metatagextractorservice",{"_index":16356,"title":{"injectables/MetaTagExtractorService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metatagextractoruc",{"_index":16332,"title":{"injectables/MetaTagExtractorUc.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metataginternalurlservice",{"_index":16357,"title":{"injectables/MetaTagInternalUrlService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["method",{"_index":641,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LessonCopyUC.html":{},"injectables/Lti11EncryptionService.html":{},"classes/OauthClientBody.html":{},"injectables/PermissionService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/ServerConsole.html":{},"injectables/TemporaryFileStorage.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["method.enum",{"_index":17187,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["methodes",{"_index":26465,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["methodnotallowedexception",{"_index":9635,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["methods",{"_index":8,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["metric",{"_index":18214,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics",{"_index":18211,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts",{"_index":18201,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:19",{"_index":18204,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:22",{"_index":18205,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["micro",{"_index":26395,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["microservice",{"_index":25734,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["microservices",{"_index":26458,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["middleware",{"_index":18215,"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":20557,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["middlewares",{"_index":18212,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["migrate",{"_index":4952,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{},"dependencies.html":{}}}],["migrate(options",{"_index":4957,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrate(skip",{"_index":14795,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["migrate(start",{"_index":14960,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migrate(userjwt",{"_index":24085,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrated",{"_index":16926,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migratedaccounts",{"_index":14964,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migratedusers",{"_index":20255,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migratedusers.data.foreach((user",{"_index":20258,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool",{"_index":20201,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool(existingschool",{"_index":20220,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateuser",{"_index":24154,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuser(currentuserid",{"_index":24158,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuserlogin",{"_index":23806,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrateuserlogin(jwt",{"_index":23829,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrating",{"_index":23932,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration",{"_index":52,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"modules/ImportUserModule.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/KeycloakConsole.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration.controller",{"_index":23799,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.controller.ts",{"_index":23802,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:115",{"_index":23853,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:139",{"_index":23841,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:167",{"_index":23848,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:201",{"_index":23817,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:218",{"_index":23832,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:59",{"_index":23828,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:89",{"_index":23822,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.do.ts",{"_index":23896,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:11",{"_index":23903,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:13",{"_index":23906,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:15",{"_index":23902,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:17",{"_index":23901,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:5",{"_index":23904,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:7",{"_index":23905,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:9",{"_index":23907,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.entity",{"_index":19913,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["migration.entity.ts",{"_index":23920,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:11",{"_index":23927,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:15",{"_index":23928,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:18",{"_index":23930,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:21",{"_index":23925,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:24",{"_index":23929,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:27",{"_index":23923,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:30",{"_index":23924,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.error.ts",{"_index":15027,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:11",{"_index":15032,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.error.ts:17",{"_index":16518,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:22",{"_index":16519,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:28",{"_index":16477,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:33",{"_index":16478,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:6",{"_index":15030,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.loggable",{"_index":14357,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["migration.mapper.ts",{"_index":23952,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:14",{"_index":23959,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:6",{"_index":23956,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.module",{"_index":23800,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.module.ts",{"_index":23972,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["migration.params",{"_index":23862,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.params.ts",{"_index":17071,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:13",{"_index":17072,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:17",{"_index":17074,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:8",{"_index":17073,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.repo.ts",{"_index":23976,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:12",{"_index":23977,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:17",{"_index":23981,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:21",{"_index":23978,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.response",{"_index":24019,"title":{},"body":{"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration.response.ts",{"_index":23998,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:10",{"_index":24003,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:15",{"_index":24005,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:20",{"_index":24002,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:25",{"_index":24004,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:30",{"_index":24000,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:35",{"_index":23999,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:5",{"_index":24001,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.rule.ts",{"_index":24015,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:11",{"_index":24018,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:17",{"_index":24017,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:8",{"_index":24016,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.service",{"_index":14618,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["migration.service.ts",{"_index":14955,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:105",{"_index":24043,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:11",{"_index":24155,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:112",{"_index":24033,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:119",{"_index":20226,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:134",{"_index":24037,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:139",{"_index":20217,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:14",{"_index":20204,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:142",{"_index":24039,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:148",{"_index":24041,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:16",{"_index":24028,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:168",{"_index":24035,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:18",{"_index":14961,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:23",{"_index":20221,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:24",{"_index":24048,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:34",{"_index":24157,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:37",{"_index":24045,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:39",{"_index":20209,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:48",{"_index":14959,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:49",{"_index":24162,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:52",{"_index":20223,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:62",{"_index":20211,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:73",{"_index":24031,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:81",{"_index":20207,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:9",{"_index":14957,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:90",{"_index":20214,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:96",{"_index":20219,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.uc.ts",{"_index":4972,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:11",{"_index":4978,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:13",{"_index":22965,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:17",{"_index":20955,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:19",{"_index":4980,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:21",{"_index":19037,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:23",{"_index":24080,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:27",{"_index":20959,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:35",{"_index":24084,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:39",{"_index":22966,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:45",{"_index":20957,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:55",{"_index":24082,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:73",{"_index":24086,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/controller/dto/oauth2",{"_index":17070,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration/controller/dto/request/school",{"_index":20163,"title":{},"body":{"classes/SchoolIdParams.html":{}}}],["migration/controller/dto/request/user",{"_index":23948,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["migration/controller/dto/response/user",{"_index":23997,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration/controller/user",{"_index":23801,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration/loggable/debug/school",{"_index":20265,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/debug/user",{"_index":24172,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/external",{"_index":10115,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/invalid",{"_index":14356,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["migration/loggable/school",{"_index":20189,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/user",{"_index":23787,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["migration/mapper/user",{"_index":23951,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration/service/dto/migration.dto.ts",{"_index":16503,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/migration.dto.ts:2",{"_index":16505,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/page",{"_index":17888,"title":{},"body":{"classes/PageContentDto.html":{}}}],["migration/service/migration",{"_index":16480,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["migration/service/school",{"_index":20195,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration/service/user",{"_index":24006,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration/uc/close",{"_index":4971,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration/uc/dto/user",{"_index":23974,"title":{},"body":{"interfaces/UserLoginMigrationQuery.html":{}}}],["migration/uc/restart",{"_index":19034,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration/uc/start",{"_index":20952,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration/uc/toggle",{"_index":22963,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration/uc/user",{"_index":24078,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/user",{"_index":20580,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationalreadyactivatedexception",{"_index":15037,"title":{"classes/MigrationAlreadyActivatedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migrationcheckservice",{"_index":16479,"title":{"injectables/MigrationCheckService.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationdto",{"_index":16502,"title":{"classes/MigrationDto.html":{}},"body":{"classes/MigrationDto.html":{},"controllers/UserLoginMigrationController.html":{}}}],["migrationmaybecompleted",{"_index":16508,"title":{"classes/MigrationMayBeCompleted.html":{}},"body":{"classes/MigrationMayBeCompleted.html":{}}}],["migrationmaynotbecompleted",{"_index":16516,"title":{"classes/MigrationMayNotBeCompleted.html":{}},"body":{"classes/MigrationMayNotBeCompleted.html":{}}}],["migrationoptions",{"_index":4902,"title":{"interfaces/MigrationOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrationpage",{"_index":23869,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.data.map",{"_index":23872,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.total",{"_index":23874,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse",{"_index":23880,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponses",{"_index":23871,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrations",{"_index":23803,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["mikro",{"_index":96,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroorm",{"_index":8853,"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":25649,"title":{},"body":{"todo.html":{}}}],["mikroormmodule",{"_index":1014,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroormmodule.forroot",{"_index":1040,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroormmodule.forrootasync",{"_index":16544,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmoduleasyncoptions",{"_index":16539,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmodulesyncoptions",{"_index":12416,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroservice",{"_index":25900,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["milliseconds",{"_index":9375,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"injectables/SchoolMigrationService.html":{}}}],["mime",{"_index":11865,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["mimetype",{"_index":1444,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetFile.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/ListFiles.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"interfaces/S3Config.html":{}}}],["min",{"_index":3792,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(0",{"_index":3797,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(1",{"_index":9174,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/PaginationParams.html":{}}}],["mind",{"_index":26371,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["minimum",{"_index":891,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["minio",{"_index":25682,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_password=miniouser",{"_index":25696,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_user=`miniouser",{"_index":25695,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minios3storage",{"_index":25692,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minorversion",{"_index":1201,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["minus",{"_index":16560,"title":{},"body":{"classes/MongoPatterns.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["minutes",{"_index":2906,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{}}}],["minutes_of_30_days",{"_index":9404,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["minwidth",{"_index":16394,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["mismatch",{"_index":7065,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["mismatch.loggable",{"_index":20277,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["misrepresentation",{"_index":25380,"title":{},"body":{"license.html":{}}}],["missed",{"_index":8059,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["missing",{"_index":983,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/ClassService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/PseudonymService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["missing.loggable",{"_index":10116,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["missing_tool_parameter_value",{"_index":16525,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["missingentityids.tostring",{"_index":4878,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["missingschoolnumberexception",{"_index":15035,"title":{"classes/MissingSchoolNumberException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["missingtoolparametervalueloggableexception",{"_index":16520,"title":{"classes/MissingToolParameterValueLoggableException.html":{}},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["mission",{"_index":16785,"title":{},"body":{"classes/NewsScope.html":{}}}],["missmatches",{"_index":22074,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["mixing",{"_index":15246,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mixwith",{"_index":24912,"title":{},"body":{"dependencies.html":{}}}],["mkdir",{"_index":12160,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdir(folderpath",{"_index":12165,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp",{"_index":12161,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp(dirpath",{"_index":12169,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mm",{"_index":15911,"title":{},"body":{"modules/LoggerModule.html":{}}}],["mnf:copyrightandotherrestrictions",{"_index":6006,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:description",{"_index":6008,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:general",{"_index":6002,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:lom",{"_index":6001,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:rights",{"_index":6005,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:string",{"_index":6004,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:title",{"_index":6003,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:value",{"_index":6007,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mocha",{"_index":25778,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mocha's",{"_index":26065,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mock",{"_index":10395,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/SystemEntityFactory.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock.strategy.ts",{"_index":17723,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock/oidc",{"_index":17722,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock:0.6.0powershell",{"_index":26279,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock:0.6.0setup",{"_index":26280,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock_issuer",{"_index":21541,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mock_type",{"_index":21539,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockbaseurl",{"_index":10392,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mocked",{"_index":26170,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocking",{"_index":26130,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockreturnvalueonce",{"_index":26168,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocks",{"_index":26092,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocksecret",{"_index":21535,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockservice",{"_index":26147,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockservice.getuser.mockreturnvalueonce(resultuser",{"_index":26163,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockstack",{"_index":2093,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["mode",{"_index":16515,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["model",{"_index":8087,"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":9335,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["modelentity",{"_index":8707,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["modelentity.gridelements.init",{"_index":8732,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.isinitialized",{"_index":8731,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.remove(el",{"_index":8764,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.references.loaditems",{"_index":8724,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.title",{"_index":8730,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.user.id",{"_index":8736,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.xpos",{"_index":8727,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.ypos",{"_index":8728,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["models",{"_index":16850,"title":{},"body":{"injectables/NewsUc.html":{}}}],["moderator",{"_index":2265,"title":{},"body":{"classes/BBBJoinConfig.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["moderatorcount",{"_index":2310,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["moderatormustapprovejoinrequests",{"_index":9620,"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":2165,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["modification",{"_index":25109,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["modifications",{"_index":25161,"title":{},"body":{"license.html":{}}}],["modified",{"_index":23809,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["modifiedcount",{"_index":9217,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["modifies",{"_index":25253,"title":{},"body":{"license.html":{}}}],["modify",{"_index":25081,"title":{},"body":{"license.html":{}}}],["modifying",{"_index":25135,"title":{},"body":{"license.html":{}}}],["modularization",{"_index":25677,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["modularize",{"_index":20987,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["module",{"_index":252,"title":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["module.close",{"_index":26151,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(featureundertest",{"_index":26148,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(mockservice",{"_index":26149,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.ts",{"_index":15324,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/application",{"_index":26128,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module/repo",{"_index":25957,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/uc",{"_index":25953,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["moduleref",{"_index":26136,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(catscontroller",{"_index":26140,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(sampleservice",{"_index":26139,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["modules",{"_index":254,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"interfaces/UserMetdata.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["modules/account",{"_index":1537,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"modules/DeletionApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ServerConfig.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["modules/account/account",{"_index":20561,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/account/account.module",{"_index":18272,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/account/services/account.service",{"_index":14962,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{}}}],["modules/account/services/dto",{"_index":1712,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["modules/account/services/dto/account.dto",{"_index":836,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["modules/authentication",{"_index":3240,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"modules/DeletionApiModule.html":{},"controllers/ElementController.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"interfaces/ServerConfig.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["modules/authentication/authentication",{"_index":13411,"title":{},"body":{"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/authentication/authentication.module",{"_index":12252,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["modules/authentication/decorator/auth.decorator",{"_index":13293,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["modules/authentication/interface",{"_index":24309,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authentication/interface/user",{"_index":18990,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["modules/authentication/mapper",{"_index":24310,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authorization",{"_index":2680,"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":{},"modules/LessonApiModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"modules/MetaTagExtractorApiModule.html":{},"injectables/MetaTagExtractorUc.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"modules/SystemApiModule.html":{},"injectables/SystemUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/authorization/authorization",{"_index":12253,"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":25963,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/authorization/domain",{"_index":4157,"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":1933,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board/board",{"_index":20562,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/class",{"_index":9061,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["modules/class/domain",{"_index":13099,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["modules/class/entity",{"_index":4689,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["modules/class/entity/class.entity",{"_index":7544,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/collaborative",{"_index":5029,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/copy",{"_index":3318,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["modules/deletion",{"_index":9060,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{}}}],["modules/feathers/feathers",{"_index":25961,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/feathers/feathers.module.ts",{"_index":25962,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/files",{"_index":1317,"title":{},"body":{"injectables/AntivirusService.html":{},"modules/BoardModule.html":{},"modules/DeletionApiModule.html":{},"classes/FileRecordFactory.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["modules/files/entity",{"_index":1020,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/group",{"_index":10088,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisResponseMapper.html":{}}}],["modules/group/entity/group.entity",{"_index":7546,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/group/group",{"_index":20563,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/h5p",{"_index":13427,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["modules/learnroom",{"_index":2029,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"modules/DeletionApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/ShareTokenUC.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/learnroom/common",{"_index":20508,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["modules/learnroom/controller/dto/lesson/lesson",{"_index":7437,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/learnroom/learnroom",{"_index":20564,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom/service",{"_index":11399,"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":3767,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["modules/legacy",{"_index":2070,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"modules/OauthModule.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSystemOptionsRule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/lesson",{"_index":3320,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["modules/lesson/lesson",{"_index":20565,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/lesson/service",{"_index":5770,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/lesson/types",{"_index":7439,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/lti",{"_index":17515,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{}}}],["modules/management/management.module",{"_index":20546,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/management/uc/database",{"_index":22555,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["modules/meta",{"_index":20566,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/news",{"_index":20567,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth",{"_index":174,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/oauth/controller/dto/authorization.params",{"_index":13647,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["modules/oauth/loggable",{"_index":14398,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["modules/oauth/oauth",{"_index":20568,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth/oauth.module",{"_index":1538,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["modules/oauth/service/dto/cookies.dto",{"_index":13615,"title":{},"body":{"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/dto/hydra.redirect.dto",{"_index":13578,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["modules/provisioning",{"_index":17022,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/pseudonym",{"_index":5073,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolLaunchModule.html":{}}}],["modules/pseudonym/pseudonym",{"_index":20569,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/pseudonym/service",{"_index":17540,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["modules/registration",{"_index":9064,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/rocketchat",{"_index":9063,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/role",{"_index":1539,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{}}}],["modules/role/role.module",{"_index":24185,"title":{},"body":{"modules/UserModule.html":{}}}],["modules/role/service/dto/role.dto",{"_index":5033,"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":5150,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"modules/RoleModule.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/uc/role.uc",{"_index":19233,"title":{},"body":{"modules/RoleModule.html":{}}}],["modules/server",{"_index":1716,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/server/server.config",{"_index":650,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["modules/sharing/domainobject/share",{"_index":20737,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["modules/sharing/sharing.module",{"_index":20571,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system",{"_index":1540,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"classes/GroupUcMapper.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemRule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{}}}],["modules/system/controller/dto/oauth",{"_index":18537,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/controller/system.controller",{"_index":21440,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/system/service",{"_index":14679,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["modules/system/service/dto",{"_index":13904,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["modules/system/service/dto/oauth",{"_index":21509,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/dto/oidc",{"_index":21583,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["modules/system/service/dto/system.dto",{"_index":18327,"title":{},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/system",{"_index":14680,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["modules/system/system",{"_index":20573,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system/system.module",{"_index":18273,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/system/uc/system.uc",{"_index":21441,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/task",{"_index":3321,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["modules/task/controller/dto/task",{"_index":7440,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/task/service",{"_index":5771,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/task/task",{"_index":20575,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/task/types",{"_index":7441,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/teams",{"_index":9062,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/teams/teams",{"_index":20577,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/teams/teams.module",{"_index":22421,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["modules/tldraw",{"_index":3901,"title":{},"body":{"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["modules/tldraw/domain/ws",{"_index":22831,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["modules/tldraw/service",{"_index":24774,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["modules/tool",{"_index":1935,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["modules/tool/common/domain",{"_index":6808,"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":10769,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["modules/tool/common/enum",{"_index":6809,"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":6886,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["modules/tool/common/interface",{"_index":10720,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["modules/tool/context",{"_index":3899,"title":{},"body":{"modules/BoardModule.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/external",{"_index":8311,"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":6889,"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":17516,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/user",{"_index":3900,"title":{},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/DeletionApiModule.html":{},"injectables/FeathersRosterService.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/VideoConferenceApiModule.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/user/service/user",{"_index":23668,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["modules/user/uc/dto/user.dto",{"_index":24114,"title":{},"body":{"classes/UserMapper.html":{}}}],["modules/user/user",{"_index":20582,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/video",{"_index":20584,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["moduluslength",{"_index":8031,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["moin.schule",{"_index":19760,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["moment",{"_index":16899,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mongo",{"_index":623,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"todo.html":{}}}],["mongo.patterns",{"_index":14277,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["mongo_url=mongodb://172.29.173.128:27030/rocketchat",{"_index":26330,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongod",{"_index":25683,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mongodatabasemoduleoptions",{"_index":1028,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["mongodb",{"_index":804,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongodbpersistence",{"_index":22654,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongodbpersistence(this.connectionstring",{"_index":22677,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongoexport",{"_index":5315,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongoimport",{"_index":5302,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongomemorydatabasemodule",{"_index":1029,"title":{"modules/MongoMemoryDatabaseModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemorydatabasemodule.forroot",{"_index":1043,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemoryserver",{"_index":25936,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongoose",{"_index":11643,"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":14276,"title":{"classes/MongoPatterns.html":{}},"body":{"classes/ImportUserScope.html":{},"classes/MongoPatterns.html":{},"injectables/UserRepo.html":{}}}],["moodle",{"_index":24926,"title":{},"body":{"dependencies.html":{}}}],["more",{"_index":1832,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["moreover",{"_index":25414,"title":{},"body":{"license.html":{}}}],["mostly",{"_index":26461,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mount",{"_index":24992,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounted",{"_index":24985,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounts",{"_index":25631,"title":{},"body":{"todo.html":{}}}],["mountsdescription",{"_index":1421,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["move",{"_index":3728,"title":{},"body":{"injectables/BoardDoService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"controllers/ElementController.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["move(card",{"_index":4496,"title":{},"body":{"injectables/CardService.html":{}}}],["move(child",{"_index":3732,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["move(column",{"_index":5695,"title":{},"body":{"injectables/ColumnService.html":{}}}],["move(element",{"_index":6464,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["moveable",{"_index":26389,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["movecard",{"_index":4370,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["movecard(urlparams",{"_index":4390,"title":{},"body":{"controllers/CardController.html":{}}}],["movecard(userid",{"_index":5711,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["movecardbodyparams",{"_index":4391,"title":{"classes/MoveCardBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/MoveCardBodyParams.html":{}}}],["movecolumn",{"_index":4138,"title":{},"body":{"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["movecolumn(urlparams",{"_index":5648,"title":{},"body":{"controllers/ColumnController.html":{}}}],["movecolumn(userid",{"_index":4148,"title":{},"body":{"injectables/BoardUc.html":{}}}],["movecolumnbodyparams",{"_index":5649,"title":{"classes/MoveColumnBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/MoveColumnBodyParams.html":{}}}],["movecontentelementbody",{"_index":9848,"title":{"classes/MoveContentElementBody.html":{}},"body":{"controllers/ElementController.html":{},"classes/MoveContentElementBody.html":{}}}],["moved",{"_index":22276,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["moveelement",{"_index":4537,"title":{},"body":{"injectables/CardUc.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"controllers/ElementController.html":{}}}],["moveelement(from",{"_index":8488,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["moveelement(undefined",{"_index":8404,"title":{},"body":{"controllers/DashboardController.html":{}}}],["moveelement(urlparams",{"_index":9847,"title":{},"body":{"controllers/ElementController.html":{}}}],["moveelement(userid",{"_index":4549,"title":{},"body":{"injectables/CardUc.html":{}}}],["moveelementondashboard",{"_index":8818,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementondashboard(dashboardid",{"_index":8823,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementparams",{"_index":8406,"title":{"classes/MoveElementParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moveelementpositionparams",{"_index":16576,"title":{"classes/MoveElementPositionParams.html":{}},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moves",{"_index":4951,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["movetotrash",{"_index":19529,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["movetotrash(paths",{"_index":19551,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["moving",{"_index":26471,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mps",{"_index":4928,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["ms",{"_index":4968,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["msg",{"_index":4284,"title":{},"body":{"modules/CacheWrapperModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/RedisModule.html":{}}}],["msgs",{"_index":1067,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["much",{"_index":26073,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["multi",{"_index":3809,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["multiple",{"_index":2234,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"classes/KeycloakSeedService.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["multiplecollections",{"_index":22631,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["multivalued",{"_index":14784,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["muted",{"_index":24695,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["muteonstart",{"_index":2166,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["mutex",{"_index":24857,"title":{},"body":{"dependencies.html":{}}}],["n",{"_index":18879,"title":{},"body":{"classes/ReferencesService.html":{}}}],["n21",{"_index":1941,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CommonToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{}}}],["name",{"_index":31,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["name${sequence",{"_index":10394,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["name.length",{"_index":11890,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["name.mapper",{"_index":14128,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["name.mapper.ts",{"_index":19235,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:13",{"_index":19238,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:6",{"_index":19240,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.match",{"_index":7412,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["name.strategy.ts",{"_index":2014,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:15",{"_index":2021,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:22",{"_index":2028,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:45",{"_index":2026,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:51",{"_index":2023,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["named",{"_index":25026,"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":26253,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["namematch",{"_index":13751,"title":{"interfaces/NameMatch.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["nameonly",{"_index":8944,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["names",{"_index":5245,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/FileMetadata.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"controllers/NewsController.html":{},"classes/Path.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["namespace",{"_index":26232,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["naming",{"_index":25670,"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":13649,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/TokenGenerator.html":{},"dependencies.html":{}}}],["nanoid(12",{"_index":22975,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["nanoid(15",{"_index":13657,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["narrowed",{"_index":13165,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["native",{"_index":24945,"title":{},"body":{"dependencies.html":{}}}],["nature",{"_index":25264,"title":{},"body":{"license.html":{}}}],["nbf",{"_index":14343,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["ne",{"_index":12041,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["necessary",{"_index":22075,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["need",{"_index":813,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["needed",{"_index":1930,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/S3ClientAdapter.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["neededpermission",{"_index":22198,"title":{},"body":{"injectables/TaskUC.html":{}}}],["needs",{"_index":1926,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"classes/H5PSaveResponse.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["nest",{"_index":1212,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ErrorLogger.html":{},"injectables/FeathersRosterService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/Options.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"dependencies.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["nest.js",{"_index":410,"title":{},"body":{"controllers/AccountController.html":{}}}],["nest/legacy",{"_index":25660,"title":{},"body":{"todo.html":{}}}],["nest:build",{"_index":25719,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:build:all",{"_index":25722,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console",{"_index":25745,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console:dev",{"_index":25746,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:build",{"_index":25740,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:serve",{"_index":25741,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint",{"_index":25761,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint:fix",{"_index":25764,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:prebuild",{"_index":25718,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start",{"_index":25725,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:debug",{"_index":25730,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:dev",{"_index":25727,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:files",{"_index":25736,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:prod",{"_index":25732,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test",{"_index":25754,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:all",{"_index":25755,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:api",{"_index":25756,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:cov",{"_index":25758,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:debug",{"_index":25760,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:unit",{"_index":25757,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:watch",{"_index":25759,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest_log_level",{"_index":12095,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["nestapp.get(rocketchatservice",{"_index":25971,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["nested",{"_index":13184,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/PermissionService.html":{}}}],["nestexpress.set('feathersapp",{"_index":11481,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["nestinterceptor",{"_index":9825,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["nestjs",{"_index":3814,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/ErrorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["nestjs/axios",{"_index":1054,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/HydraSsoService.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{}}}],["nestjs/cache",{"_index":4271,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{}}}],["nestjs/clithen",{"_index":25784,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nestjs/common",{"_index":277,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"modules/CoreModule.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"modules/IdentityManagementModule.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/common/decorators",{"_index":17125,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["nestjs/common/decorators/core/injectable.decorator",{"_index":4981,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/HydraSsoService.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToolVersionService.html":{}}}],["nestjs/common/exceptions/internal",{"_index":7547,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["nestjs/common/exceptions/not",{"_index":10274,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["nestjs/config",{"_index":651,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/core",{"_index":10027,"title":{},"body":{"modules/ErrorModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"modules/ValidationModule.html":{},"dependencies.html":{}}}],["nestjs/jwt",{"_index":1543,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"dependencies.html":{}}}],["nestjs/microservices",{"_index":24832,"title":{},"body":{"dependencies.html":{}}}],["nestjs/passport",{"_index":1545,"title":{},"body":{"modules/AuthenticationModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/platform",{"_index":13297,"title":{},"body":{"controllers/H5PEditorController.html":{},"dependencies.html":{}}}],["nestjs/swagger",{"_index":202,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"controllers/GroupController.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolSystemParams.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"dependencies.html":{}}}],["nestjs/testing",{"_index":22554,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["nestjs/testing.test",{"_index":26131,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nestjs/websockets",{"_index":22805,"title":{},"body":{"classes/TldrawWs.html":{},"dependencies.html":{}}}],["nestmodule",{"_index":20586,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nestwinston",{"_index":25997,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["net",{"_index":25004,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["network",{"_index":25056,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["neuen",{"_index":5542,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["never",{"_index":9636,"title":{},"body":{"classes/DomainObjectFactory.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FilesRepo.html":{},"classes/GuardAgainst.html":{},"injectables/LdapStrategy.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["new",{"_index":153,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BusinessError.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newconfig",{"_index":14757,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfig.idphint",{"_index":14755,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs",{"_index":14665,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.foreach((newconfig",{"_index":14752,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.some((newconfig",{"_index":14759,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newdeletionlog",{"_index":9327,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["newdeletionrequest",{"_index":9553,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.deleteafter",{"_index":9556,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.id",{"_index":9555,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newelement",{"_index":8578,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newentity",{"_index":12962,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["newfactory",{"_index":2601,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newgroupname",{"_index":8534,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newid",{"_index":7365,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newid}/${name",{"_index":7368,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newlanguage",{"_index":24303,"title":{},"body":{"injectables/UserService.html":{}}}],["newlist",{"_index":3015,"title":{},"body":{"entities/Board.html":{}}}],["newname",{"_index":7687,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["newnonoptionalparamnames",{"_index":11245,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.includes(name",{"_index":11248,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.some((name",{"_index":11249,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams",{"_index":11243,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams.map((parameter",{"_index":11246,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam",{"_index":11234,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.isoptional",{"_index":11235,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.name",{"_index":11225,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.regex",{"_index":11254,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.scope",{"_index":11256,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.type",{"_index":11255,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams",{"_index":11198,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.filter((parameter",{"_index":11244,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.find((p",{"_index":11252,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some",{"_index":11233,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some((newparam",{"_index":11223,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newpath",{"_index":1345,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["newpropsfactory",{"_index":2599,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newresource",{"_index":5884,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newresource.caninline",{"_index":5887,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newrooms",{"_index":8558,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newrooms.foreach((room",{"_index":8560,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["news",{"_index":7882,"title":{"entities/News.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["news.content",{"_index":16687,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.controller",{"_index":16719,"title":{},"body":{"modules/NewsModule.html":{}}}],["news.controller.ts",{"_index":22324,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.controller.ts:19",{"_index":22329,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.createdat",{"_index":16693,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.createinstance(targetmodel",{"_index":16828,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news.displayat",{"_index":16688,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.id",{"_index":16685,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.params.ts",{"_index":8075,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["news.params.ts:14",{"_index":12499,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:15",{"_index":8090,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:17",{"_index":23524,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:22",{"_index":8078,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:25",{"_index":23520,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:30",{"_index":8083,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:32",{"_index":23522,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:37",{"_index":8088,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:44",{"_index":8085,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.permissions",{"_index":16695,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.source",{"_index":16689,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.sourcedescription",{"_index":16690,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.target.id",{"_index":16691,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.targetmodel",{"_index":16692,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.title",{"_index":16686,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updatedat",{"_index":16694,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updater",{"_index":16696,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news[key",{"_index":16844,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news].params.ts",{"_index":25984,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news].response.dto",{"_index":25986,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news_edit",{"_index":16846,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news_sources",{"_index":16653,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["news_sources[number",{"_index":16657,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["newscontroller",{"_index":16595,"title":{"controllers/NewsController.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["newscount",{"_index":16834,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable",{"_index":16637,"title":{"classes/NewsCrudOperationLoggable.html":{}},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.create",{"_index":16830,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.delete",{"_index":16848,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.update",{"_index":16845,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsentities",{"_index":16747,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentities.filter((news",{"_index":16751,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentity",{"_index":16743,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsid",{"_index":16862,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["newslist",{"_index":16625,"title":{},"body":{"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map((news",{"_index":16628,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map(async",{"_index":16837,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newslistresponse",{"_index":16617,"title":{"classes/NewsListResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"controllers/TeamNewsController.html":{}}}],["newslistresponse(dtolist",{"_index":16629,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper",{"_index":16613,"title":{"classes/NewsMapper.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.mapcreatenewstodomain(params",{"_index":16623,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapnewsscopetodomain(scope",{"_index":16627,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.maptologmessagedata(this.news",{"_index":16646,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["newsmapper.maptoresponse(news",{"_index":16624,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapupdatenewstodomain(params",{"_index":16634,"title":{},"body":{"controllers/NewsController.html":{}}}],["newsmodule",{"_index":16709,"title":{"modules/NewsModule.html":{}},"body":{"modules/NewsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["newspermission",{"_index":16809,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsproperties",{"_index":7877,"title":{"interfaces/NewsProperties.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsrepo",{"_index":16714,"title":{"injectables/NewsRepo.html":{}},"body":{"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["newsresponse",{"_index":16618,"title":{"classes/NewsResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{}}}],["newsrule",{"_index":26433,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newsscope",{"_index":16736,"title":{"classes/NewsScope.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{}}}],["newstarget",{"_index":7872,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"classes/TargetInfoMapper.html":{},"entities/TeamNews.html":{}}}],["newstargetfilter",{"_index":16726,"title":{"interfaces/NewsTargetFilter.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["newstargetmodel",{"_index":7873,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newstargetmodel.course",{"_index":7900,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.school",{"_index":7905,"title":{},"body":{"entities/CourseNews.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.team",{"_index":7902,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsuc",{"_index":16615,"title":{"injectables/NewsUc.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newsuc.getrequiredpermissions(ispublished",{"_index":16841,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsuc.getrequiredpermissions(unpublished",{"_index":16832,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsurlparams",{"_index":16599,"title":{"classes/NewsUrlParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsUrlParams.html":{}}}],["newtool",{"_index":11215,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.parameters",{"_index":11219,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.version",{"_index":11221,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newuser",{"_index":26415,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newvar",{"_index":1183,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["nexboard",{"_index":6218,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/NexboardService.html":{}}}],["nexboard.id",{"_index":16873,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboard.publiclink",{"_index":16874,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardresponse",{"_index":16870,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardservice",{"_index":15627,"title":{"injectables/NexboardService.html":{}},"body":{"modules/LessonModule.html":{},"injectables/NexboardService.html":{}}}],["next",{"_index":571,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"controllers/LoginController.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["next.handle().pipe",{"_index":18998,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["next.handle().pipe(tap",{"_index":9829,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["nextcloud",{"_index":13714,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["nextcloud.client",{"_index":16908,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudclient",{"_index":5070,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudgroups",{"_index":13140,"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":16906,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy",{"_index":5071,"title":{"injectables/NextcloudStrategy.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy.generategroupfoldername(team.id",{"_index":16923,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudtool",{"_index":16935,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextmarker",{"_index":7318,"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":19805,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["node",{"_index":3611,"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":3520,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.entity.ts",{"_index":4448,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["node.entity.ts:10",{"_index":10349,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"entities/RichTextElementNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:12",{"_index":11579,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{}}}],["node.entity.ts:13",{"_index":19097,"title":{},"body":{"entities/RichTextElementNode.html":{}}}],["node.entity.ts:15",{"_index":15812,"title":{},"body":{"entities/LinkElementNode.html":{}}}],["node.entity.ts:16",{"_index":4449,"title":{},"body":{"entities/CardNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:23",{"_index":5496,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:26",{"_index":5494,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:9",{"_index":9695,"title":{},"body":{"entities/DrawingElementNode.html":{},"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{},"entities/SubmissionContainerElementNode.html":{}}}],["node.js",{"_index":24982,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["node.level",{"_index":3959,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.pathofchildren",{"_index":3961,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo",{"_index":3671,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.repo.ts",{"_index":3945,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:10",{"_index":3949,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:20",{"_index":3951,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:31",{"_index":3953,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:7",{"_index":3948,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.title",{"_index":3690,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["node.usedobuilder(this",{"_index":3601,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["node:fs/promises",{"_index":15001,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["node:path",{"_index":133,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["node_env",{"_index":20506,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["node_env=test",{"_index":20627,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nodeclam",{"_index":1262,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["nodeclam().init",{"_index":1279,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["nodeenvtype",{"_index":20510,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["nodejs",{"_index":11713,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["nodejs.timeout",{"_index":19644,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nodeps",{"_index":24923,"title":{},"body":{"dependencies.html":{}}}],["nodeps.git",{"_index":24925,"title":{},"body":{"dependencies.html":{}}}],["nodes",{"_index":3954,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.filter((n",{"_index":3975,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.map((node",{"_index":3963,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nofutureavailabledate",{"_index":22067,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{}}}],["non",{"_index":6730,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ElementUc.html":{},"classes/MongoPatterns.html":{},"classes/ReferencesService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"license.html":{},"todo.html":{}}}],["noncommercially",{"_index":25292,"title":{},"body":{"license.html":{}}}],["none",{"_index":1582,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nonemptytargets",{"_index":16855,"title":{},"body":{"injectables/NewsUc.html":{}}}],["nonoptionalparamnames",{"_index":11240,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.includes(name",{"_index":11250,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.some((name",{"_index":11247,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams",{"_index":11237,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams.map((parameter",{"_index":11241,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["normal",{"_index":1931,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"license.html":{}}}],["normalizepassword",{"_index":1690,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizepassword(password",{"_index":1703,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername",{"_index":1691,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername(username",{"_index":1705,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normally",{"_index":25320,"title":{},"body":{"license.html":{}}}],["nosuchbucket",{"_index":19589,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nosuchkey",{"_index":19584,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["not_found",{"_index":16976,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["notacceptableexception",{"_index":22490,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notacceptableexception(`filename",{"_index":22504,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notation",{"_index":2612,"title":{},"body":{"classes/BaseFactory.html":{}}}],["note",{"_index":802,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/TaskRepo.html":{},"classes/TestApiClient.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["notfinished",{"_index":22232,"title":{},"body":{"injectables/TaskUC.html":{}}}],["notfound",{"_index":8829,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["notfounderror",{"_index":16164,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfounderror(`ltitool",{"_index":16167,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfoundexception",{"_index":2954,"title":{},"body":{"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"controllers/CourseController.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GridElement.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["notfoundexception('board",{"_index":2996,"title":{},"body":{"entities/Board.html":{}}}],["notfoundexception('could",{"_index":10305,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{}}}],["notfoundexception('no",{"_index":8551,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["notfoundexception('nosuchkey",{"_index":19585,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception('some",{"_index":4508,"title":{},"body":{"injectables/CardService.html":{}}}],["notfoundexception('there",{"_index":6475,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["notfoundexception('this",{"_index":13506,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["notfoundexception(`the",{"_index":12428,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["notfoundexception(`there",{"_index":3679,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["notfoundexception(`unable",{"_index":17519,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["notfoundexception(null",{"_index":19618,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception})@apibody({required",{"_index":5642,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["notfoundexception})@apiresponse({status",{"_index":20688,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notfoundexception})@get(':boardid",{"_index":3232,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@get(':boardid/context",{"_index":3227,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(201)@patch(':contentelementid/content",{"_index":9854,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':boardid",{"_index":3223,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':cardid",{"_index":4381,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':columnid",{"_index":5646,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':contentelementid",{"_index":9845,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':docname",{"_index":22724,"title":{},"body":{"controllers/TldrawController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':boardid/title",{"_index":3238,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/height",{"_index":4396,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/title",{"_index":4399,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':columnid/title",{"_index":5653,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':submissionitemid",{"_index":4062,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundexception})@httpcode(204)@put(':cardid/position",{"_index":4392,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@put(':columnid/position",{"_index":5650,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@put(':contentelementid/position",{"_index":9849,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@post(':boardid/columns",{"_index":3218,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@post(':cardid/elements",{"_index":4377,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@post(':submissionitemid/elements",{"_index":4051,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundloggableexception",{"_index":4862,"title":{"classes/NotFoundLoggableException.html":{}},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception('userloginmigration",{"_index":24094,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["notfoundloggableexception(class.name",{"_index":4877,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["notfoundloggableexception(columnboard.name",{"_index":5533,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["notfoundloggableexception(contextexternaltool.name",{"_index":11456,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(externaltool.name",{"_index":11452,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(group.name",{"_index":13076,"title":{},"body":{"injectables/GroupService.html":{}}}],["notfoundloggableexception(pseudonym.name",{"_index":11445,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolexternaltool.name",{"_index":11454,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolsystemoptions.name",{"_index":20416,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["notfoundloggableexception(system.name",{"_index":20418,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{}}}],["notfoundloggableexception(userdo.name",{"_index":17832,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["nothing",{"_index":16458,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"license.html":{}}}],["notice",{"_index":15875,"title":{},"body":{"injectables/Logger.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["notice(loggable",{"_index":15882,"title":{},"body":{"injectables/Logger.html":{}}}],["notices",{"_index":25149,"title":{},"body":{"license.html":{}}}],["notifies",{"_index":25415,"title":{},"body":{"license.html":{}}}],["notify",{"_index":25411,"title":{},"body":{"license.html":{}}}],["notimplementedexception",{"_index":3555,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/LessonRule.html":{},"classes/MetadataTypeMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RuleManager.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('action",{"_index":15678,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('copy",{"_index":20885,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('import",{"_index":20904,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('only",{"_index":5465,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["notimplementedexception('repo_or_service_not_implement",{"_index":18853,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["notimplementedexception('rooms",{"_index":19374,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["notimplementedexception(`invalid",{"_index":3618,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["notimplementedexception(`unknown",{"_index":6421,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["notimplementedexception(`unsupported",{"_index":6448,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["notimplementedexception})@post(':token/import')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":20691,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notmigratedusers",{"_index":20245,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notmigratedusers.data.foreach((user",{"_index":20250,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notwithstanding",{"_index":25371,"title":{},"body":{"license.html":{}}}],["nountildate",{"_index":7942,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["november",{"_index":25038,"title":{},"body":{"license.html":{}}}],["now",{"_index":1924,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/NewsScope.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["now.getfullyear()}_",{"_index":5242,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["now.getmonth",{"_index":5243,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["nowplusdays",{"_index":20840,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["nowplusdays(days",{"_index":20861,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["now}ms",{"_index":9831,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["npm",{"_index":25624,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["npx",{"_index":26293,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["null",{"_index":142,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{}}}],["nullable",{"_index":196,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ColumnUrlParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["nullish",{"_index":20989,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["nullorundefined",{"_index":13159,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["nullorundefined(value",{"_index":13160,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["num",{"_index":7411,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number",{"_index":55,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContentElementService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileElement.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/S3Config.html":{},"interfaces/ScanResult.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["number(a.width",{"_index":16425,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(b.width",{"_index":16426,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(batchsize",{"_index":8973,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["number(matches.groups.number",{"_index":7415,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number(options.callsdelayms",{"_index":9382,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.deleteinminutes",{"_index":9380,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.limit",{"_index":9165,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["number(options.pagesize",{"_index":4934,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number(options.skip",{"_index":4960,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number.isnan(this.deletedat.gettime",{"_index":11659,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["number.strategy.ts",{"_index":2064,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:12",{"_index":2069,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:9",{"_index":2067,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["numbered",{"_index":25543,"title":{},"body":{"license.html":{}}}],["numberofdrafttasks",{"_index":3775,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberoffailingfilesinbatch",{"_index":9013,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberoffilesinbatch",{"_index":9006,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofplannedtasks",{"_index":3776,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofprocessedfiles",{"_index":9007,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofpublishedtasks",{"_index":3777,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofstudents",{"_index":7759,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["numberofsubmitters",{"_index":21741,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofsubmitterswithgrade",{"_index":21749,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofteachers",{"_index":7762,"title":{},"body":{"classes/CourseFactory.html":{}}}],["numberofteammembers",{"_index":21156,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["numbers",{"_index":16558,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["numerous",{"_index":26075,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nuxt",{"_index":26267,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nvmrc",{"_index":25678,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["o",{"_index":8858,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["o.id",{"_index":3697,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["o.key",{"_index":19624,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["oauth",{"_index":1470,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderServiceModule.html":{},"controllers/OauthSSOController.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth.module",{"_index":17152,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["oauth.service",{"_index":13888,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["oauth.service.ts",{"_index":13895,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:13",{"_index":14824,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:15",{"_index":13900,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:23",{"_index":13902,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:50",{"_index":14828,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:9",{"_index":13899,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.uc.ts",{"_index":13558,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:12",{"_index":13567,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:21",{"_index":13575,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:23",{"_index":13569,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:40",{"_index":13576,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:42",{"_index":13574,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:59",{"_index":13571,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth2",{"_index":6281,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/RevokeConsentParams.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth2')@apiokresponse({description",{"_index":23830,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["oauth2.0",{"_index":15988,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["oauth2authorizationbodyparams",{"_index":15946,"title":{"classes/Oauth2AuthorizationBodyParams.html":{}},"body":{"controllers/LoginController.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2clientid",{"_index":11382,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["oauth2config",{"_index":10766,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.baseurl",{"_index":10788,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.clientid",{"_index":10789,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.clientsecret",{"_index":11087,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.frontchannellogouturi",{"_index":11093,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.redirecturis",{"_index":11092,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.scope",{"_index":11088,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.skipconsent",{"_index":10790,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.tokenendpointauthmethod",{"_index":11090,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.type",{"_index":10787,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2migrationparams",{"_index":17069,"title":{"classes/Oauth2MigrationParams.html":{}},"body":{"classes/Oauth2MigrationParams.html":{},"controllers/UserLoginMigrationController.html":{}}}],["oauth2params",{"_index":8326,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2strategy",{"_index":1533,"title":{"injectables/Oauth2Strategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2toolconfig",{"_index":8310,"title":{"classes/Oauth2ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauth2toolconfig(props.config",{"_index":10168,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["oauth2toolconfigcreate",{"_index":10849,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigcreateparams",{"_index":10313,"title":{"classes/Oauth2ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["oauth2toolconfigentity",{"_index":10362,"title":{"classes/Oauth2ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["oauth2toolconfigfactory",{"_index":8316,"title":{"classes/Oauth2ToolConfigFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.build(customparam",{"_index":8348,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.define(oauth2toolconfig",{"_index":8327,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigresponse",{"_index":10921,"title":{"classes/Oauth2ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["oauth2toolconfigupdate",{"_index":10853,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigupdateparams",{"_index":10851,"title":{"classes/Oauth2ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["oauth2toollaunchstrategy",{"_index":16979,"title":{"injectables/OAuth2ToolLaunchStrategy.html":{}},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["oauth_provisioning_enabled",{"_index":19920,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauth_token_request_error",{"_index":22977,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["oauthadapterservice",{"_index":17004,"title":{"injectables/OauthAdapterService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{}}}],["oauthapimodule",{"_index":17144,"title":{"modules/OauthApiModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthclient",{"_index":11039,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.client_secret",{"_index":17589,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.frontchannel_logout_uri",{"_index":11082,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.redirect_uris",{"_index":11080,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.scope",{"_index":11076,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.token_endpoint_auth_method",{"_index":11078,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclientbody",{"_index":17153,"title":{"classes/OauthClientBody.html":{}},"body":{"classes/OauthClientBody.html":{},"controllers/OauthProviderController.html":{}}}],["oauthclientid",{"_index":8170,"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":6338,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthconfig",{"_index":13640,"title":{"classes/OauthConfig.html":{}},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{}}}],["oauthconfig.authendpoint",{"_index":15095,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientid",{"_index":13655,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientsecret",{"_index":15085,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.granttype",{"_index":15091,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.idphint",{"_index":15087,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.issuer",{"_index":15100,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.jwksendpoint",{"_index":15102,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.logoutendpoint",{"_index":15098,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.provider",{"_index":15096,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.redirecturi",{"_index":13656,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.responsetype",{"_index":13653,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.scope",{"_index":13654,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.tokenendpoint",{"_index":15089,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigdto",{"_index":13903,"title":{"classes/OauthConfigDto.html":{}},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.authendpoint",{"_index":17208,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientid",{"_index":17202,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientsecret",{"_index":17203,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["oauthconfigdto.granttype",{"_index":17206,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.idphint",{"_index":17204,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.issuer",{"_index":17213,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.jwksendpoint",{"_index":17214,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.logoutendpoint",{"_index":17212,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.provider",{"_index":17211,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.redirecturi",{"_index":17205,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.responsetype",{"_index":17209,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.scope",{"_index":17210,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.tokenendpoint",{"_index":17207,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigentity",{"_index":13579,"title":{"classes/OauthConfigEntity.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigmissingloggableexception",{"_index":17023,"title":{"classes/OauthConfigMissingLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthconfigmissingloggableexception(systemid",{"_index":17031,"title":{},"body":{"injectables/OAuthService.html":{}}}],["oauthconfigresponse",{"_index":17247,"title":{"classes/OauthConfigResponse.html":{}},"body":{"classes/OauthConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse.authendpoint",{"_index":17267,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.clientid",{"_index":17262,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.granttype",{"_index":17265,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.idphint",{"_index":17263,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.issuer",{"_index":17272,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.jwksendpoint",{"_index":17273,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.logoutendpoint",{"_index":17271,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.provider",{"_index":17270,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.redirecturi",{"_index":17264,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.responsetype",{"_index":17268,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.scope",{"_index":17269,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.tokenendpoint",{"_index":17266,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigs",{"_index":11073,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthcurrentuser",{"_index":8117,"title":{"interfaces/OauthCurrentUser.html":{}},"body":{"classes/CurrentUserMapper.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserService.html":{}}}],["oauthdata",{"_index":14420,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oauthdatadto",{"_index":14387,"title":{"classes/OauthDataDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatastrategyinputdto",{"_index":14392,"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":13631,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["oauthgranttype",{"_index":1505,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthgranttype.authorization_code_grant",{"_index":1502,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthloginresponse",{"_index":15950,"title":{"classes/OauthLoginResponse.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{}}}],["oauthmigrationfinished",{"_index":15374,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationmandatory",{"_index":15372,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationpossible",{"_index":15373,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmodule",{"_index":1523,"title":{"modules/OauthModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["oauthprocessdto",{"_index":16982,"title":{"classes/OAuthProcessDto.html":{}},"body":{"classes/OAuthProcessDto.html":{}}}],["oauthproviderapimodule",{"_index":17315,"title":{"modules/OauthProviderApiModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthproviderclientcruduc",{"_index":17320,"title":{"injectables/OauthProviderClientCrudUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderconsentflowuc",{"_index":17321,"title":{"injectables/OauthProviderConsentFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthprovidercontroller",{"_index":17327,"title":{"controllers/OauthProviderController.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderloginflowservice",{"_index":13843,"title":{"injectables/OauthProviderLoginFlowService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderloginflowuc",{"_index":17322,"title":{"injectables/OauthProviderLoginFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderlogoutflowuc",{"_index":17323,"title":{"injectables/OauthProviderLogoutFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["oauthprovidermodule",{"_index":17319,"title":{"modules/OauthProviderModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderrequestmapper",{"_index":17538,"title":{"classes/OauthProviderRequestMapper.html":{}},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["oauthproviderrequestmapper.mapcreateacceptloginrequestbody",{"_index":17553,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderresponsemapper",{"_index":17324,"title":{"injectables/OauthProviderResponseMapper.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthproviderservice",{"_index":11006,"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":10548,"title":{"modules/OauthProviderServiceModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{}}}],["oauthprovideruc",{"_index":17325,"title":{"injectables/OauthProviderUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthprovisioningenabled",{"_index":19921,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthrejectablebody",{"_index":6275,"title":{"classes/OAuthRejectableBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthrejectablebody:13",{"_index":6301,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:23",{"_index":6309,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:32",{"_index":6311,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:41",{"_index":6312,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:50",{"_index":6316,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthscope",{"_index":13853,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["oauthservice",{"_index":13565,"title":{"injectables/OAuthService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthssocontroller",{"_index":17149,"title":{"controllers/OauthSSOController.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["oauthssoerrorloggableexception",{"_index":1463,"title":{"classes/OauthSsoErrorLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:17",{"_index":24190,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:5",{"_index":13835,"title":{},"body":{"classes/IdTokenInvalidLoggableException.html":{}}}],["oauthssoerrorloggableexception:9",{"_index":1467,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthsystems",{"_index":15510,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthsystems.find((system",{"_index":24065,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["oauthtoken",{"_index":17655,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthtokendto",{"_index":13580,"title":{"classes/OAuthTokenDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthtokenresponse",{"_index":17027,"title":{"interfaces/OauthTokenResponse.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"interfaces/OauthTokenResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthtokens",{"_index":13585,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["obfuscated",{"_index":12740,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["obfuscated_subject",{"_index":14344,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["obj",{"_index":19740,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["obj.id",{"_index":3111,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["obj[key",{"_index":19773,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object",{"_index":185,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BusinessError.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"injectables/CopyHelperService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/IntrospectResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LoggingUtils.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["object.assign(entity",{"_index":2597,"title":{},"body":{"classes/BaseFactory.html":{}}}],["object.assign(this",{"_index":3756,"title":{},"body":{"entities/BoardElement.html":{},"classes/ConsentResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/LoginResponse-1.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["object.constructor.name",{"_index":1990,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["object.defineproperty(entity",{"_index":9626,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["object.entries(params",{"_index":16843,"title":{},"body":{"injectables/NewsUc.html":{}}}],["object.factory.ts",{"_index":9633,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["object.keys(entitydata).foreach((key",{"_index":2518,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["object.keys(obj).some((key",{"_index":19772,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object.keys(object).foreach((key",{"_index":2424,"title":{},"body":{"injectables/BBBService.html":{}}}],["object.keys(payload).length",{"_index":2809,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["object.keys(queryordermap",{"_index":11102,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["object.setprototypeof(this",{"_index":1098,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["object.ts",{"_index":1769,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BaseDomainObject.html":{},"classes/DomainObject.html":{}}}],["object.ts:14",{"_index":9630,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:18",{"_index":9629,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:8",{"_index":9628,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:9",{"_index":2528,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["object.values(filerecordparenttype",{"_index":12314,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["object.values(newstargetmodel",{"_index":16655,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["object.values(previewinputmimetypes).includes(original.contenttype",{"_index":18095,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["object.values(previewinputmimetypes).includes(this.mimetype",{"_index":11906,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["object.values(toolcontexttype",{"_index":10247,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["object.values(toolcontexttype).map(async",{"_index":10539,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["object.values(validationerror.constraints",{"_index":1410,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["object],[object",{"_index":2456,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["objectid",{"_index":49,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FederalStateRepo.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"injectables/UserRepo.html":{}}}],["objectid().tohexstring",{"_index":4510,"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":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{}}}],["objectid().tostring",{"_index":8791,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"classes/UserDoFactory.html":{}}}],["objectid(account.attdbcaccountid",{"_index":659,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["objectid(accountdto.systemid",{"_index":940,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(accountdto.userid",{"_index":937,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(creatorid",{"_index":6679,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(deletionrequestid",{"_index":9312,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["objectid(domainobject.deletionrequestid",{"_index":9291,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["objectid(domainobject.schoolid",{"_index":4785,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.successor",{"_index":4795,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.userid",{"_index":19167,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["objectid(domainobject.year",{"_index":4791,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(entitydo.toolid",{"_index":10694,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(entitydo.userid",{"_index":10695,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(id",{"_index":655,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DashboardElementRepo.html":{},"classes/GroupScope.html":{}}}],["objectid(id).tohexstring",{"_index":20738,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["objectid(owneruserid",{"_index":12208,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(parentid",{"_index":6677,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(permissionrefid",{"_index":12212,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(props.columnboardid",{"_index":5606,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["objectid(props.context.id",{"_index":5502,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["objectid(props.contextid",{"_index":20652,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.creatorid",{"_index":11679,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.iscopyfrom",{"_index":11874,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.lockid",{"_index":11683,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.origintoolid",{"_index":8201,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["objectid(props.ownerid",{"_index":11676,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.parentid",{"_index":11674,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.refid",{"_index":11809,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["objectid(props.schoolid",{"_index":11871,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(reference.id",{"_index":3693,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["objectid(refid",{"_index":11651,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(schoolid",{"_index":4865,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(systemid",{"_index":778,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["objectid(teacherid",{"_index":4787,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(toolid",{"_index":10675,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(userid",{"_index":773,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/LessonRepo.html":{},"interfaces/ParentInfo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/TeamsRepo.html":{}}}],["objectid.createfromhexstring(id",{"_index":8608,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.createfromhexstring(props.id",{"_index":8618,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.isvalid(courseid",{"_index":3818,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["objectid.isvalid(id",{"_index":654,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/ImportUserRepo.html":{}}}],["objectid.isvalid(schoolid",{"_index":14279,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["objectid.isvalid(userid",{"_index":14281,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["objectids",{"_index":774,"title":{},"body":{"injectables/AccountRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectids.map((id",{"_index":7598,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectives",{"_index":26362,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["objectkeysrecursive",{"_index":7319,"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":18825,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["objects",{"_index":4215,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"classes/DomainObjectFactory.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["obligate",{"_index":25522,"title":{},"body":{"license.html":{}}}],["obligated",{"_index":25306,"title":{},"body":{"license.html":{}}}],["obligations",{"_index":25215,"title":{},"body":{"license.html":{}}}],["observable",{"_index":2383,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["occasionally",{"_index":25291,"title":{},"body":{"license.html":{}}}],["occur",{"_index":408,"title":{},"body":{"controllers/AccountController.html":{}}}],["occurred",{"_index":5095,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{}}}],["occurrences",{"_index":18876,"title":{},"body":{"classes/ReferencesService.html":{}}}],["occurring",{"_index":25422,"title":{},"body":{"license.html":{}}}],["occurs",{"_index":25344,"title":{},"body":{"license.html":{}}}],["ocs",{"_index":13142,"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":13141,"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":16803,"title":{},"body":{"injectables/NewsUc.html":{}}}],["offer",{"_index":25078,"title":{},"body":{"license.html":{}}}],["offered",{"_index":25312,"title":{},"body":{"license.html":{}}}],["offering",{"_index":25295,"title":{},"body":{"license.html":{}}}],["offers",{"_index":25743,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["official",{"_index":10121,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["officialexternalschoolnumber",{"_index":20206,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["officialschoolnumber",{"_index":10107,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["offline",{"_index":8319,"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":16403,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["oid",{"_index":14433,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["oidc",{"_index":14688,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LoginResponse-1.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidc.mapper.ts",{"_index":21577,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:12",{"_index":21582,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:26",{"_index":21579,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:5",{"_index":21580,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.service",{"_index":14681,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{}}}],["oidc.service.ts",{"_index":21590,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:10",{"_index":21591,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:13",{"_index":21593,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:22",{"_index":21592,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc/oidc.strategy",{"_index":19744,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc/service/oidc",{"_index":19745,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc_context",{"_index":6324,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["oidcconfig",{"_index":14648,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemScope.html":{}}}],["oidcconfig.authorizationurl",{"_index":15143,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientid",{"_index":15140,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientsecret",{"_index":15141,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["oidcconfig.defaultscopes",{"_index":15150,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.idphint",{"_index":14765,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.logouturl",{"_index":15146,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.tokenurl",{"_index":15145,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.userinfourl",{"_index":15148,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.clientsecret",{"_index":21586,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.idphint",{"_index":14760,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcconfigdto",{"_index":14646,"title":{"classes/OidcConfigDto.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["oidcconfigdto.authorizationurl",{"_index":17681,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientid",{"_index":17678,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientsecret",{"_index":17679,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.defaultscopes",{"_index":17685,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.idphint",{"_index":17680,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.logouturl",{"_index":17684,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.parentsystemid",{"_index":17677,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.tokenurl",{"_index":17682,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.userinfourl",{"_index":17683,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigentity",{"_index":15081,"title":{"classes/OidcConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidccontextresponse",{"_index":6347,"title":{"classes/OidcContextResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["oidcexternalsubmappername",{"_index":14689,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcidentityprovidermapper",{"_index":14611,"title":{"classes/OidcIdentityProviderMapper.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["oidcinternalname",{"_index":5081,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["oidcmock__base_url",{"_index":26265,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidcmockprovisioningstrategy",{"_index":17720,"title":{"injectables/OidcMockProvisioningStrategy.html":{}},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["oidcmockstrategy",{"_index":18313,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["oidcprovisioningservice",{"_index":17731,"title":{"injectables/OidcProvisioningService.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcprovisioningstrategy",{"_index":17861,"title":{"injectables/OidcProvisioningStrategy.html":{}},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcsystems",{"_index":15512,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["oidcuserattributemappername",{"_index":14687,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["ok",{"_index":24481,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["okay",{"_index":22083,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["old",{"_index":7373,"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":14754,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs",{"_index":14661,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.foreach((oldconfig",{"_index":14758,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.some((oldconfig",{"_index":14753,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["older",{"_index":25100,"title":{},"body":{"license.html":{}}}],["oldparam.name",{"_index":11224,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams",{"_index":11200,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.every((oldparam",{"_index":11236,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((oldparam",{"_index":11222,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((parameter",{"_index":11238,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool",{"_index":11217,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool.parameters",{"_index":11218,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["once",{"_index":18806,"title":{},"body":{"classes/RedirectResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["one",{"_index":5278,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/JwtStrategy.html":{},"interfaces/LibrariesContentType.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["oneday",{"_index":7765,"title":{},"body":{"classes/CourseFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["oneof",{"_index":4086,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"controllers/SchoolController.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ones",{"_index":7143,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["onetomany",{"_index":6206,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["onetomany('coursegroup",{"_index":7522,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["onetomany('dashboardgridelementmodel",{"_index":8623,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["onetomany('submission",{"_index":21672,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["onetomany('task",{"_index":6237,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["onetomany(undefined",{"_index":19903,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/SystemEntity.html":{}}}],["onetoone",{"_index":2951,"title":{},"body":{"entities/Board.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone(undefined",{"_index":19909,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone({type",{"_index":2941,"title":{},"body":{"entities/Board.html":{}}}],["oneweekago",{"_index":22257,"title":{},"body":{"injectables/TaskUC.html":{}}}],["oneweekago.setdate(oneweekago.getdate",{"_index":22258,"title":{},"body":{"injectables/TaskUC.html":{}}}],["ongatewayconnection",{"_index":22793,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongatewayinit",{"_index":22792,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongoing",{"_index":7860,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["onlyactivecourses",{"_index":7948,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardUc.html":{}}}],["onlyexistingreferences",{"_index":3002,"title":{},"body":{"entities/Board.html":{}}}],["onlyfactories",{"_index":8857,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["onlyoauth",{"_index":21553,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemUc.html":{}}}],["onlyreadcourses",{"_index":22251,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onlywritecoursesids",{"_index":22250,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onmoduledestroy",{"_index":16537,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["onupdate",{"_index":2560,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["open",{"_index":16404,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["open/closed",{"_index":25811,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["openapi",{"_index":14115,"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":22007,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["opencourses",{"_index":22229,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opencourses.map((c",{"_index":22234,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opened",{"_index":23404,"title":{},"body":{"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["openid",{"_index":8320,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["opening",{"_index":24387,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["openinnewtab",{"_index":6995,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["openldap",{"_index":26282,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["opennewtab",{"_index":8173,"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":25573,"title":{},"body":{"license.html":{}}}],["operated",{"_index":25299,"title":{},"body":{"license.html":{}}}],["operates",{"_index":26040,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["operating",{"_index":25174,"title":{},"body":{"license.html":{}}}],["operation",{"_index":9216,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"classes/ForbiddenOperationError.html":{},"injectables/KeycloakMigrationService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["operation.'})@apiresponse({status",{"_index":24429,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["operation.error.ts",{"_index":12515,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.error.ts:4",{"_index":12516,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.loggable",{"_index":16820,"title":{},"body":{"injectables/NewsUc.html":{}}}],["operation.loggable.ts",{"_index":16639,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:14",{"_index":16643,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:7",{"_index":16642,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operations",{"_index":26380,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["operator",{"_index":815,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/Scope.html":{},"license.html":{}}}],["operators",{"_index":26035,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["oplogicchecks",{"_index":11739,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["oplogsize",{"_index":26318,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["opportunity",{"_index":25530,"title":{},"body":{"license.html":{}}}],["ops",{"_index":25650,"title":{},"body":{"todo.html":{}}}],["opschema",{"_index":11737,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["opt/keycloak/bin/kc.sh",{"_index":25707,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optimal",{"_index":15244,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["optimisation",{"_index":25833,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["option",{"_index":25369,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optional",{"_index":33,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["optional()@apiproperty",{"_index":17703,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["optionaldatathere",{"_index":26009,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["optionally",{"_index":5263,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["optionalprops",{"_index":2541,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["options",{"_index":540,"title":{"interfaces/Options.html":{}},"body":{"classes/AccountFactory.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"injectables/PseudonymService.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"todo.html":{}}}],["options')@apioperation({description",{"_index":19864,"title":{},"body":{"controllers/SchoolController.html":{}}}],["options.builder.ts",{"_index":18540,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.builder.ts:10",{"_index":20328,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["options.builder.ts:4",{"_index":18542,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.builder.ts:7",{"_index":20326,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["options.callsdelayms",{"_index":9381,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.collection",{"_index":8861,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.deleteinminutes",{"_index":9379,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.do",{"_index":4623,"title":{},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["options.do.ts",{"_index":4841,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["options.do.ts:10",{"_index":20467,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["options.do.ts:12",{"_index":4845,"title":{},"body":{"classes/ClassSourceOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["options.do.ts:16",{"_index":20315,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["options.do.ts:20",{"_index":20317,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["options.do.ts:24",{"_index":20318,"title":{},"body":{"classes/SchoolSystemOptions.html":{}}}],["options.do.ts:6",{"_index":4843,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.do.ts:8",{"_index":20466,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["options.enabled",{"_index":1269,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.entity",{"_index":4656,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["options.entity.ts",{"_index":4848,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["options.entity.ts:10",{"_index":4850,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"classes/ProvisioningOptionsEntity.html":{}}}],["options.entity.ts:13",{"_index":18281,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{}}}],["options.entity.ts:23",{"_index":20338,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{}}}],["options.entity.ts:26",{"_index":20339,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{}}}],["options.entity.ts:29",{"_index":20337,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{}}}],["options.entity.ts:7",{"_index":18282,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{}}}],["options.everyattendeejoinsmuted",{"_index":24532,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.everyattendejoinsmuted",{"_index":24380,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["options.everybodyjoinsasmoderator",{"_index":24382,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.exchange",{"_index":1273,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.filesservicebaseurl",{"_index":1271,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.groupprovisioningclassesenabled",{"_index":20348,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.groupprovisioningcoursesenabled",{"_index":20349,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.groupprovisioningotherenabled",{"_index":20350,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.hostname",{"_index":1277,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.interface.ts",{"_index":18544,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["options.loggable",{"_index":18349,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{}}}],["options.mapper",{"_index":19881,"title":{},"body":{"controllers/SchoolController.html":{}}}],["options.mapper.ts",{"_index":20344,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.mapper.ts:5",{"_index":20347,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["options.moderatormustapprovejoinrequests",{"_index":24384,"title":{},"body":{"entities/VideoConference.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.onlyfactories",{"_index":8862,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.order",{"_index":14054,"title":{},"body":{"controllers/ImportUserController.html":{},"injectables/NewsUc.html":{},"controllers/ToolController.html":{}}}],["options.params.ts",{"_index":18301,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.params.ts:11",{"_index":18303,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["options.params.ts:12",{"_index":20473,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.params.ts:15",{"_index":18304,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["options.params.ts:6",{"_index":20471,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.params.ts:7",{"_index":18302,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["options.params.ts:9",{"_index":20472,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["options.port",{"_index":1284,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.refsfilepath",{"_index":9377,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.repo.ts",{"_index":20352,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:17",{"_index":20354,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:20",{"_index":20358,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:43",{"_index":20359,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.repo.ts:79",{"_index":20356,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["options.response",{"_index":24605,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["options.response.ts",{"_index":20475,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:12",{"_index":20476,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["options.response.ts:14",{"_index":24697,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:20",{"_index":24693,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:6",{"_index":20477,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["options.response.ts:8",{"_index":24696,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:9",{"_index":20478,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["options.retrycount",{"_index":4936,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.retrydelay",{"_index":4937,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.routingkey",{"_index":1275,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.rule.ts",{"_index":20383,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.rule.ts:11",{"_index":20386,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.rule.ts:17",{"_index":20385,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.rule.ts:8",{"_index":20384,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["options.school",{"_index":19904,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["options.service.ts",{"_index":20393,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:11",{"_index":20396,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:18",{"_index":20398,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:42",{"_index":20400,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.service.ts:8",{"_index":20395,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["options.skip",{"_index":4959,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.system",{"_index":15155,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["options.targetrefdomain",{"_index":9378,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.ts",{"_index":2618,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["options.ts:14",{"_index":2625,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["options.ts:4",{"_index":2622,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["options.uc.ts",{"_index":20407,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.uc.ts:14",{"_index":20409,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.uc.ts:21",{"_index":20414,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.uc.ts:43",{"_index":20412,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["options.verbose",{"_index":4961,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options?.collection",{"_index":8860,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.context",{"_index":20823,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.exact",{"_index":14906,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.expiresat",{"_index":20824,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.expiresindays",{"_index":20871,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.limit",{"_index":14908,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.order",{"_index":10725,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{}}}],["options?.override",{"_index":8868,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.pagination",{"_index":10696,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["options?.schoolexclusive",{"_index":20867,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.skip",{"_index":14907,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["orchestrate",{"_index":26394,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["orchestrates",{"_index":25851,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["orchestration",{"_index":25891,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["order",{"_index":2232,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/ImportUserRepo.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"interfaces/Pagination.html":{},"classes/PatchOrderParams.html":{},"classes/SortHelper.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["order._id",{"_index":10729,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["order.firstname",{"_index":24241,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.lastname",{"_index":24245,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.params.ts",{"_index":17942,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["order.params.ts:13",{"_index":17945,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["orderby",{"_index":788,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["orderby(bsondocuments",{"_index":5337,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["orderedlist",{"_index":19451,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["orderquery",{"_index":24240,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.firstname",{"_index":24242,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.lastname",{"_index":24246,"title":{},"body":{"injectables/UserRepo.html":{}}}],["org",{"_index":6026,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organisation",{"_index":19700,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["organization",{"_index":5806,"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":{},"classes/GroupScope.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["organization.organization",{"_index":5897,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organization.resources).concat(this.resources",{"_index":5899,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder",{"_index":5791,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder.addresourcetoorganization(resourceprops",{"_index":5799,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationbuilder.addresourcetoorganization(this.maptasktowebcontentresource(task",{"_index":5803,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationelement.transform",{"_index":6032,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationelements",{"_index":6024,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationid",{"_index":12771,"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":5849,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["origin",{"_index":2163,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["original",{"_index":3633,"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":18632,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.alternativetext",{"_index":18646,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.caption",{"_index":18645,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.children.foreach((child",{"_index":18679,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.contenttype",{"_index":18094,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["original.context",{"_index":18637,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.description",{"_index":18659,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.duedate",{"_index":18672,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.height",{"_index":18643,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.id",{"_index":18650,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.imageurl",{"_index":18662,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.inputformat",{"_index":18670,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.text",{"_index":18669,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.title",{"_index":18636,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.url",{"_index":18661,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["originalboard",{"_index":3330,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["originalboard.context.type",{"_index":5464,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["originalboard.getelements",{"_index":3331,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["originalcolumnboardid",{"_index":3377,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["originalcourse",{"_index":7682,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.color",{"_index":7705,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.getcoursegroupitems().length",{"_index":7716,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.name",{"_index":7697,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalentity",{"_index":3338,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["originallesson",{"_index":3300,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallesson.course",{"_index":15589,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["originallesson.id",{"_index":3372,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallessonid",{"_index":3371,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["originalschooldo",{"_index":20224,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["originaltask",{"_index":3303,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.description",{"_index":21856,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.descriptioninputformat",{"_index":21857,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.id",{"_index":3375,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.name",{"_index":21855,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.teamsubmissions",{"_index":21858,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltaskid",{"_index":3374,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltaskname",{"_index":21887,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["originfilepath",{"_index":12587,"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":16304,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["origintool",{"_index":8166,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["origintoolid",{"_index":8168,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["orm",{"_index":7909,"title":{},"body":{"entities/CourseNews.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["orm.io",{"_index":25792,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["orm/core",{"_index":224,"title":{},"body":{"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"injectables/DashboardElementRepo.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{}}}],["orm/entitymanager",{"_index":26182,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["orm/issues/1230",{"_index":11862,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["orm/issues/2165",{"_index":22290,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mikro",{"_index":11861,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mongodb",{"_index":97,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TeamsRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"dependencies.html":{}}}],["orm/nestjs",{"_index":1015,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"dependencies.html":{}}}],["orphan",{"_index":6547,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["orphanremoval",{"_index":6238,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["ort",{"_index":19664,"title":{},"body":{"classes/SanisAnschriftResponse.html":{}}}],["os",{"_index":12135,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["os.eol",{"_index":12163,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["other.name.tolocalelowercase",{"_index":10617,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherindex",{"_index":10615,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherlibrary.machinename",{"_index":11741,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.majorversion",{"_index":11744,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.minorversion",{"_index":11746,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.patchversion",{"_index":11748,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["othermodule",{"_index":25881,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["otherparams",{"_index":21531,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["others",{"_index":12735,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["otheruser",{"_index":19842,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["otherusers",{"_index":10078,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["otherwise",{"_index":1568,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionExecutionConsole.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ours",{"_index":25943,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["out",{"_index":271,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceCreateParams.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["outcome",{"_index":26054,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outdated",{"_index":6729,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"todo.html":{}}}],["outdated.loggable",{"_index":23483,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["outdatedsince",{"_index":20256,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["outer",{"_index":26082,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outgoing",{"_index":25862,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["output",{"_index":2884,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/GlobalValidationPipe.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ServerConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["output.builder.ts",{"_index":9479,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:22",{"_index":18551,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:26",{"_index":18549,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:4",{"_index":9481,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.deletionplannedat",{"_index":18553,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.error",{"_index":9187,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.interface.ts",{"_index":9477,"title":{},"body":{"interfaces/DeletionRequestOutput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["output.requestid",{"_index":18552,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["outputformat",{"_index":7285,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["outputs",{"_index":2833,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["outputs.length",{"_index":2928,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["outputs.push",{"_index":2852,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outputs.push(queuedeletionrequestoutputbuilder.builderror(err",{"_index":2857,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outside",{"_index":8539,"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":18886,"title":{},"body":{"classes/ReferencesService.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["overall",{"_index":2920,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["overallstatus",{"_index":2870,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["overenginiering",{"_index":25831,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["overridden",{"_index":16547,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["override",{"_index":1476,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BusinessError.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/FileSystemAdapter.html":{},"classes/GroupPaginationParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["overrideprovider(consolewriterservice",{"_index":22561,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrideprovider(databasemanagementuc",{"_index":22559,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrides",{"_index":10026,"title":{},"body":{"modules/ErrorModule.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["overrides/configures",{"_index":7471,"title":{},"body":{"modules/CoreModule.html":{}}}],["overriding",{"_index":26132,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["overview",{"_index":25748,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["overwrite_setting_show_setup_wizard='completed",{"_index":26355,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["overwritten",{"_index":26134,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["owned",{"_index":25464,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["ownedbyuserid",{"_index":13532,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["owner",{"_index":2944,"title":{},"body":{"entities/Board.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/ListOauthClientsParams.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"entities/UserLoginMigrationEntity.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ownerid",{"_index":11637,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ownership",{"_index":16662,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["owneruserid",{"_index":12199,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["owns",{"_index":21990,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["p",{"_index":19616,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["p.key",{"_index":19638,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p.name",{"_index":11253,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["p.sourcepath",{"_index":19604,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p27030:27017",{"_index":26314,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["package",{"_index":24811,"title":{"dependencies.html":{},"properties.html":{}},"body":{"todo.html":{}}}],["packaged",{"_index":25259,"title":{},"body":{"license.html":{}}}],["packages",{"_index":25625,"title":{},"body":{"todo.html":{}}}],["packaging",{"_index":25168,"title":{},"body":{"license.html":{}}}],["pad",{"_index":10071,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["pad.data.padid",{"_index":10073,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padid",{"_index":10068,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padname",{"_index":10069,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padresponse",{"_index":10067,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["page",{"_index":869,"title":{"classes/Page.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeletionExecutionParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/FileRecordListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/Page.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"injectables/PseudonymService.html":{},"injectables/SchoolMigrationService.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application.html":{}}}],["page([userloginmigration",{"_index":24093,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["page(entitydos",{"_index":10703,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["pagecontentdto",{"_index":17887,"title":{"classes/PageContentDto.html":{}},"body":{"classes/PageContentDto.html":{}}}],["paged",{"_index":373,"title":{},"body":{"controllers/AccountController.html":{}}}],["pages",{"_index":897,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/GroupPaginationParams.html":{},"classes/PaginationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["pagesize",{"_index":4891,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["paginate",{"_index":11303,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["pagination",{"_index":7638,"title":{"interfaces/Pagination.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"controllers/GroupController.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["pagination.limit",{"_index":12837,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination.params.ts",{"_index":12934,"title":{},"body":{"classes/GroupPaginationParams.html":{}}}],["pagination.skip",{"_index":12836,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination?.limit",{"_index":7954,"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":7953,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["paginationparams",{"_index":883,"title":{"classes/PaginationParams.html":{}},"body":{"classes/AccountSearchQueryParams.html":{},"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"classes/GroupPaginationParams.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"classes/PaginationParams.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["paginationparams:14",{"_index":894,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationparams:8",{"_index":898,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/GroupPaginationParams.html":{}}}],["paginationresponse",{"_index":862,"title":{"classes/PaginationResponse.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["paginationresponse:12",{"_index":867,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["paginationresponse:136",{"_index":16649,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["paginationresponse:14",{"_index":878,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:17",{"_index":877,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:20",{"_index":872,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:51",{"_index":24119,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["paginationresponse:63",{"_index":11935,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["paginationresponse:68",{"_index":7850,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["paginationresponse:7",{"_index":10989,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["paginationresponse:71",{"_index":14098,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["paginationresponse:74",{"_index":21932,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["paginationresponse:91",{"_index":7236,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["pair",{"_index":2841,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["pairwise",{"_index":11095,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["papaparse",{"_index":24933,"title":{},"body":{"dependencies.html":{}}}],["paper",{"_index":25600,"title":{},"body":{"license.html":{}}}],["paragraph",{"_index":25402,"title":{},"body":{"license.html":{}}}],["paragraphs",{"_index":25473,"title":{},"body":{"license.html":{}}}],["parallel",{"_index":26180,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param",{"_index":388,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BsonConverter.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolFactory.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"classes/GuardAgainst.html":{},"controllers/H5PEditorController.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"controllers/LessonController.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/WsSharedDocDo.html":{}}}],["param('file",{"_index":13331,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["param('oauthclientid",{"_index":17654,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["param('scope",{"_index":24568,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('scopeid",{"_index":24569,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('token",{"_index":12085,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["param)).rejects.tothrow(badrequestexception",{"_index":26124,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param)).tothrow(badrequestexception",{"_index":26122,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param.builder.ts",{"_index":7322,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.builder.ts:6",{"_index":7325,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.default",{"_index":10619,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["param.description",{"_index":10811,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.displayname",{"_index":10609,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.isoptional",{"_index":6192,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.location",{"_index":10813,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.name",{"_index":6186,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.regex",{"_index":6199,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.regexcomment",{"_index":10812,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.scope",{"_index":6165,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.type",{"_index":6198,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["paramdisplayat",{"_index":16827,"title":{},"body":{"injectables/NewsUc.html":{}}}],["parameter",{"_index":417,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ToolLaunchModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parameter.do.ts",{"_index":8246,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:10",{"_index":8249,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:12",{"_index":8254,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:14",{"_index":8255,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:16",{"_index":8256,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:18",{"_index":8252,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:20",{"_index":8257,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:22",{"_index":8248,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:4",{"_index":8253,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:6",{"_index":8251,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:8",{"_index":8250,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.entity.ts",{"_index":8273,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:10",{"_index":8277,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:13",{"_index":8276,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:16",{"_index":8275,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:19",{"_index":8280,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:22",{"_index":8281,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:25",{"_index":8282,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:28",{"_index":8278,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:31",{"_index":8283,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:34",{"_index":8274,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:7",{"_index":8279,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.isoptional",{"_index":11239,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.name",{"_index":11242,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.params",{"_index":10326,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["parameter.params.ts",{"_index":8363,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:13",{"_index":8373,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:18",{"_index":8367,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:23",{"_index":8365,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:28",{"_index":8364,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:33",{"_index":8374,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:38",{"_index":8375,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:42",{"_index":8378,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:46",{"_index":8372,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:50",{"_index":8381,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:54",{"_index":8369,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.response",{"_index":6750,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["parameter.response.ts",{"_index":8386,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:10",{"_index":8392,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:13",{"_index":8390,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:16",{"_index":8389,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:19",{"_index":8388,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:22",{"_index":8393,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:25",{"_index":8394,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:28",{"_index":8395,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:31",{"_index":8391,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:34",{"_index":8396,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:37",{"_index":8387,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.scope",{"_index":10245,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["parameter.strategy",{"_index":2011,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["parameter.strategy.ts",{"_index":2057,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter.strategy.ts:5",{"_index":2058,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter/custom",{"_index":8272,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter_type_not_implemented",{"_index":17915,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parameterkeys",{"_index":16527,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames",{"_index":16529,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames.join",{"_index":16532,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameters",{"_index":29,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["parameters.'})@apiresponse({status",{"_index":24430,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["parameters.map((param",{"_index":16528,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parametersforscope",{"_index":6134,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parametersforscope.find",{"_index":6182,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parameterstoinclude",{"_index":2794,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["parametertype",{"_index":17914,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parametertypenotimplementedloggableexception",{"_index":2037,"title":{"classes/ParameterTypeNotImplementedLoggableException.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["params",{"_index":326,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/CalendarService.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/JwtTestFactory.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"controllers/OauthProviderController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatUserFactory.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"classes/SaveH5PEditorParams.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"interfaces/ToolLaunchStrategy.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params(params",{"_index":564,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["params.append('event",{"_index":4336,"title":{},"body":{"injectables/CalendarService.html":{}}}],["params.append(key",{"_index":2425,"title":{},"body":{"injectables/BBBService.html":{}}}],["params.availabledate",{"_index":21971,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.challenge",{"_index":17481,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client",{"_index":17503,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client_name",{"_index":17466,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.clientid",{"_index":10918,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["params.confirmpassword",{"_index":428,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.content",{"_index":16704,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.contentid",{"_index":13309,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.contents",{"_index":15618,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contents.foreach((element",{"_index":15619,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contextexternaltoolid",{"_index":23060,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contextid",{"_index":23053,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contexttype",{"_index":23054,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.copyname",{"_index":21854,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["params.course",{"_index":15617,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.courseid",{"_index":7455,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.description",{"_index":21970,"title":{},"body":{"classes/TaskMapper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params.displayat",{"_index":16705,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.dto",{"_index":25857,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["params.duedate",{"_index":21972,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.elements",{"_index":19412,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params.everyattendeejoinsmuted",{"_index":24575,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.everybodyjoinsasmoderator",{"_index":24576,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.externalid",{"_index":15345,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.externaltoolid",{"_index":23187,"title":{},"body":{"controllers/ToolController.html":{}}}],["params.features",{"_index":15346,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.federalstate",{"_index":15359,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.file",{"_index":13322,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filename",{"_index":13329,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filerecordid",{"_index":12400,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["params.files",{"_index":19620,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["params.flagged",{"_index":14069,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.from",{"_index":8426,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.groupid",{"_index":12842,"title":{},"body":{"controllers/GroupController.html":{}}}],["params.hidden",{"_index":15621,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.id",{"_index":13328,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/LegacySchoolDo.html":{},"controllers/OauthProviderController.html":{}}}],["params.inmaintenancesince",{"_index":15348,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.interface",{"_index":2801,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["params.inusermigration",{"_index":15350,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.language",{"_index":13350,"title":{},"body":{"controllers/H5PEditorController.html":{},"injectables/UserUc.html":{}}}],["params.lessonid",{"_index":7456,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.limit",{"_index":17464,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.logouturl",{"_index":24457,"title":{},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.moderatormustapprovejoinrequests",{"_index":24577,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.name",{"_index":10917,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/TaskMapper.html":{}}}],["params.officialschoolnumber",{"_index":15353,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.offset",{"_index":17465,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.originalboard",{"_index":3339,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["params.owner",{"_index":17467,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.parenttype",{"_index":20310,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.password",{"_index":427,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.previewoptions",{"_index":18091,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["params.previewparams.forceupdate",{"_index":18148,"title":{},"body":{"injectables/PreviewService.html":{}}}],["params.previousexternalid",{"_index":15352,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.pseudonym",{"_index":18406,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["params.schoolexternaltoolid",{"_index":23057,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["params.schoolid",{"_index":19887,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["params.schoolyear",{"_index":15354,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.sourceparentid",{"_index":20309,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.systemid",{"_index":19888,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/SystemController.html":{}}}],["params.systems",{"_index":15356,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.target",{"_index":16824,"title":{},"body":{"injectables/NewsUc.html":{}}}],["params.targetid",{"_index":16707,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetmodel",{"_index":16706,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetparentid",{"_index":20312,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.taskid",{"_index":21139,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["params.title",{"_index":8432,"title":{},"body":{"controllers/DashboardController.html":{},"classes/NewsMapper.html":{}}}],["params.to",{"_index":8427,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.ts",{"_index":4704,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:7",{"_index":12924,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:9",{"_index":4707,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["params.userid",{"_index":14065,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.userloginmigrationid",{"_index":15358,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.visibility",{"_index":19410,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params?.accountid",{"_index":8051,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.aud",{"_index":8046,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.external_sub",{"_index":8052,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.iss",{"_index":8045,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.privatekey",{"_index":8054,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.sub",{"_index":8043,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params].ts",{"_index":25916,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["paranoid",{"_index":995,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["parent",{"_index":3668,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"controllers/BoardSubmissionController.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.addchild(card",{"_index":4512,"title":{},"body":{"injectables/CardService.html":{}}}],["parent.addchild(column",{"_index":5700,"title":{},"body":{"injectables/ColumnService.html":{}}}],["parent.addchild(element",{"_index":6477,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["parent.children.findindex((obj",{"_index":18796,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.children.foreach((child",{"_index":18795,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.email",{"_index":24259,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parent.getstudentids",{"_index":6271,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["parent.getstudentids().length",{"_index":21715,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.id",{"_index":11793,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["parent.removechild(domainobject",{"_index":3737,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["parentcourseid",{"_index":21885,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["parentdata",{"_index":18762,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.boardnode",{"_index":18770,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.position",{"_index":18771,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentemails",{"_index":24338,"title":{},"body":{"injectables/UserService.html":{}}}],["parentid",{"_index":3933,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{}}}],["parentids",{"_index":3936,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/TaskRepo.html":{}}}],["parentids.courseids",{"_index":22051,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.creatorid",{"_index":22049,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.lessonids",{"_index":22053,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope",{"_index":22048,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bycourseids(parentids.courseids",{"_index":22052,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bylessonids(parentids.lessonids",{"_index":22054,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.byonlycreatorid(parentids.creatorid",{"_index":22050,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentinfo",{"_index":11857,"title":{"interfaces/ParentInfo.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["parentmeetingid",{"_index":2251,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["parentname",{"_index":20748,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["parentnode",{"_index":18744,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentparams",{"_index":13205,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/LessonCopyUC.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.courseid",{"_index":15587,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.parentid",{"_index":13209,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.parenttype",{"_index":13207,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.schoolid",{"_index":13210,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentpermission",{"_index":15660,"title":{},"body":{"injectables/LessonRule.html":{}}}],["parentpermission(user",{"_index":15672,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parentpropertypath",{"_index":1399,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["parentrule",{"_index":26438,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["parents",{"_index":5467,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity",{"_index":23554,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity.ts",{"_index":24194,"title":{},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["parents.entity.ts:12",{"_index":24197,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:15",{"_index":24198,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:18",{"_index":24196,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parentsemails",{"_index":24257,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parentsfinished",{"_index":22015,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bycourseids(parentids.finishedcourseids",{"_index":22016,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bylessonids(parentids.lessonidsoffinishedcourses",{"_index":22017,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsmap",{"_index":18735,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentsopen",{"_index":22012,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bycourseids(parentids.opencourseids",{"_index":22013,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bylessonids(parentids.lessonidsofopencourses",{"_index":22014,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsystemid",{"_index":17668,"title":{},"body":{"classes/OidcConfigDto.html":{},"classes/SystemOidcMapper.html":{}}}],["parenttitle",{"_index":16368,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["parenttype",{"_index":6666,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{}}}],["parse",{"_index":13464,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["parsed",{"_index":25983,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parseobjectidpipe",{"_index":25959,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parser",{"_index":24864,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":1919,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/BaseUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ImportUserScope.html":{},"injectables/ToolPermissionHelper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["partial",{"_index":127,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFindOptions.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Pagination.html":{},"classes/RocketChatUserFactory.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["partialfilterexpression",{"_index":13994,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["partialtype",{"_index":23516,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["participantcount",{"_index":2311,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["particular",{"_index":22085,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{}}}],["parties",{"_index":25143,"title":{},"body":{"license.html":{}}}],["parts",{"_index":25184,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["party",{"_index":25300,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["party's",{"_index":25441,"title":{},"body":{"license.html":{}}}],["pascalcase",{"_index":25944,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["pass",{"_index":807,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskUC.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["passed",{"_index":537,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["passing",{"_index":26397,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["passport",{"_index":14461,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["passportmodule",{"_index":1544,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["passportstrategy",{"_index":14470,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passportstrategy(strategy",{"_index":14465,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passthrough",{"_index":7658,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["password",{"_index":87,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/TestApiClient.html":{},"modules/TldrawModule.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["password.'})@apiresponse({status",{"_index":362,"title":{},"body":{"controllers/AccountController.html":{}}}],["password.params.ts",{"_index":17935,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:15",{"_index":17940,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:25",{"_index":17939,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.trim",{"_index":1754,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["passwordnew",{"_index":17924,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordold",{"_index":17925,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordpattern",{"_index":303,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["passwordpolicy",{"_index":14588,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["past",{"_index":7883,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["paste",{"_index":26201,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["patch",{"_index":389,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"controllers/UserController.html":{}}}],["patch('/language",{"_index":23598,"title":{},"body":{"controllers/UserController.html":{}}}],["patch(':boardid/title",{"_index":3261,"title":{},"body":{"controllers/BoardController.html":{}}}],["patch(':cardid/height",{"_index":4421,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':cardid/title",{"_index":4424,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':columnid/title",{"_index":5663,"title":{},"body":{"controllers/ColumnController.html":{}}}],["patch(':contentelementid/content",{"_index":9863,"title":{},"body":{"controllers/ElementController.html":{}}}],["patch(':dashboardid/element",{"_index":8412,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':dashboardid/moveelement",{"_index":8407,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':id",{"_index":421,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':id')@apioperation({summary",{"_index":380,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':importuserid/flag",{"_index":14037,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':importuserid/match",{"_index":14029,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':newsid",{"_index":16611,"title":{},"body":{"controllers/NewsController.html":{}}}],["patch(':roomid/board/order",{"_index":19397,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':roomid/elements/:elementid/visibility",{"_index":19394,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':submissionitemid",{"_index":4081,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["patch(':taskid/finish",{"_index":21798,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/restore",{"_index":21801,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/revertpublished",{"_index":21804,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch('consentrequest/:challenge",{"_index":17492,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('loginrequest/:challenge",{"_index":17479,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('logoutrequest/:challenge",{"_index":17483,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('me",{"_index":418,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me')@apioperation({summary",{"_index":384,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password",{"_index":425,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password')@apioperation({summary",{"_index":355,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions",{"_index":5113,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions')@apiresponse({status",{"_index":5093,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch(path",{"_index":1649,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patch(subpath",{"_index":1648,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patchconsentrequest",{"_index":17369,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["patchconsentrequest(challenge",{"_index":17377,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["patchconsentrequest(params",{"_index":17433,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchelementvisibility",{"_index":19382,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchelementvisibility(urlparams",{"_index":19393,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchgroup",{"_index":8402,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroup(urlparams",{"_index":8409,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroupparams",{"_index":8411,"title":{"classes/PatchGroupParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/PatchGroupParams.html":{}}}],["patching",{"_index":17920,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["patchlanguage",{"_index":24282,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchlanguage(userid",{"_index":24302,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchloginrequest",{"_index":17409,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(currentuserid",{"_index":17532,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(params",{"_index":17436,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchmyaccountparams",{"_index":383,"title":{"classes/PatchMyAccountParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyAccountParams.html":{}}}],["patchmypasswordparams",{"_index":354,"title":{"classes/PatchMyPasswordParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyPasswordParams.html":{}}}],["patchorderingofelements",{"_index":19383,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderingofelements(urlparams",{"_index":19396,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderparams",{"_index":17941,"title":{"classes/PatchOrderParams.html":{}},"body":{"classes/PatchOrderParams.html":{},"controllers/RoomsController.html":{}}}],["patchversion",{"_index":11706,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["patchvisibilityparams",{"_index":17946,"title":{"classes/PatchVisibilityParams.html":{}},"body":{"classes/PatchVisibilityParams.html":{},"controllers/RoomsController.html":{}}}],["patent",{"_index":25401,"title":{},"body":{"license.html":{}}}],["patents",{"_index":25459,"title":{},"body":{"license.html":{}}}],["path",{"_index":414,"title":{"classes/Path.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CalendarService.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CopyFiles.html":{},"classes/DeletionQueueConsole.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/File.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["path.join(...paths",{"_index":12174,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["path.parse(this.name",{"_index":11921,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["path.replace(':token",{"_index":1346,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["path.slice(1",{"_index":1668,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["path.targetpath",{"_index":19611,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["path_separator",{"_index":3921,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathobjects",{"_index":19614,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathobjects.filter((p",{"_index":19640,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathofchildren",{"_index":3938,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathproperties",{"_index":2773,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["pathqueries",{"_index":3962,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["pathqueries.length",{"_index":3964,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["paths",{"_index":5247,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"controllers/H5PEditorController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["paths.join",{"_index":19600,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((p",{"_index":19615,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((path",{"_index":18144,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["paths.map(async",{"_index":19608,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathtofile",{"_index":18077,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["path}${id}${path_separator",{"_index":3944,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pattern",{"_index":304,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LdapStrategy.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pattern.a",{"_index":26030,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["pattern.exec(url",{"_index":139,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern.test(firstchar",{"_index":7620,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["pattern.test(url",{"_index":151,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern_login_from_dn",{"_index":13986,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["patterns",{"_index":114,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["payload",{"_index":1723,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/CurrentUserMapper.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RpcMessageProducer.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemService.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["payload.'})@apiresponse({status",{"_index":20686,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["payload.completed",{"_index":21236,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["payload.parentid",{"_index":20771,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.parenttype",{"_index":20770,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.response",{"_index":20798,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["payload.response.ts",{"_index":20765,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:11",{"_index":20769,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:14",{"_index":20768,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:4",{"_index":20767,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.ts",{"_index":8056,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["payload[property.name",{"_index":2807,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["payment",{"_index":25502,"title":{},"body":{"license.html":{}}}],["peer",{"_index":25308,"title":{},"body":{"license.html":{}}}],["peers",{"_index":25311,"title":{},"body":{"license.html":{}}}],["pem",{"_index":8036,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["pending",{"_index":7207,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["per",{"_index":4930,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ElementUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["perf_hooks",{"_index":20228,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["perfectly",{"_index":26085,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["performance",{"_index":20227,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["performance.now",{"_index":2924,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["performed",{"_index":9163,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{}}}],["performedat",{"_index":9219,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["performing",{"_index":16645,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"license.html":{}}}],["period",{"_index":23837,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["period.entity",{"_index":12915,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["period.entity.ts",{"_index":13152,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["period.entity.ts:12",{"_index":13155,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["period.entity.ts:15",{"_index":13154,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["permanently",{"_index":25410,"title":{},"body":{"license.html":{}}}],["permission",{"_index":693,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission'})@apiresponse({status",{"_index":5099,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permission(s",{"_index":26399,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_create",{"_index":20888,"title":{},"body":{"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_edit",{"_index":26429,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_view",{"_index":9773,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["permission.create_user",{"_index":26414,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.entity",{"_index":11633,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.entity.ts",{"_index":11797,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["permission.entity.ts:18",{"_index":11804,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:21",{"_index":11806,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:24",{"_index":11807,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:27",{"_index":11803,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:30",{"_index":11802,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:33",{"_index":11801,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.enum",{"_index":26457,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.homework_create",{"_index":20890,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.includes('news",{"_index":16860,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.join_meeting",{"_index":24664,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.news_create",{"_index":16826,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_edit",{"_index":16822,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_view",{"_index":16821,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.nextcloud_user",{"_index":17550,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["permission.oauth_client_edit",{"_index":17359,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.oauth_client_view",{"_index":17356,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.refid.equals(refobjectid",{"_index":11654,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.school_create",{"_index":26410,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.start_meeting",{"_index":24663,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.task_dashboard_teacher_view_v3",{"_index":22205,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.task_dashboard_view_v3",{"_index":22206,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.tool_admin",{"_index":10278,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["permission.topic_create",{"_index":20889,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.topic_edit",{"_index":15727,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.topic_view",{"_index":15726,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.user_login_migration_admin",{"_index":24095,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["permissioncontext",{"_index":21374,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["permissioncontexts.create",{"_index":26407,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissionmapper",{"_index":5177,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionmapping",{"_index":24590,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["permissionmapping[bbbrole",{"_index":24596,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["permissionmapping[role",{"_index":24647,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["permissionrefid",{"_index":12202,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["permissions",{"_index":1826,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/CourseNews.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"classes/TeamRolePermissionsDto.html":{},"entities/User.html":{},"controllers/UserController.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissions(+share",{"_index":5101,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissions.body.params",{"_index":5107,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.body.params.ts",{"_index":22336,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:11",{"_index":22341,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:15",{"_index":22337,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:19",{"_index":22338,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:23",{"_index":22340,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:7",{"_index":22339,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.create",{"_index":5060,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.delete",{"_index":5061,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.dto",{"_index":5031,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.dto.ts",{"_index":22342,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:10",{"_index":22343,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["permissions.dto.ts:2",{"_index":22346,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:4",{"_index":22347,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:6",{"_index":22344,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:8",{"_index":22345,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.every((p",{"_index":11333,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.filter((permission",{"_index":16859,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permissions.includes(p",{"_index":1828,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["permissions.length",{"_index":11328,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.mapper",{"_index":5188,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissions.mapper.ts",{"_index":22350,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.mapper.ts:12",{"_index":22353,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.read",{"_index":5058,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.refid",{"_index":11638,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permissions.share",{"_index":5062,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.write",{"_index":5059,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissionsbody",{"_index":5091,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissionsdto",{"_index":5183,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionservice",{"_index":267,"title":{"injectables/PermissionService.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/PermissionService.html":{}}}],["permissive",{"_index":25242,"title":{},"body":{"license.html":{}}}],["permit",{"_index":25272,"title":{},"body":{"license.html":{}}}],["permits",{"_index":25095,"title":{},"body":{"license.html":{}}}],["permitted",{"_index":25046,"title":{},"body":{"license.html":{}}}],["permittedcourses",{"_index":22240,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedlessons",{"_index":22256,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedmatch",{"_index":24223,"title":{},"body":{"injectables/UserRepo.html":{}}}],["permittedsubmissions",{"_index":21369,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["perpetuity",{"_index":25349,"title":{},"body":{"license.html":{}}}],["persist",{"_index":5343,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardRepo.html":{},"entities/LtiTool.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["persist(entity",{"_index":8783,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush",{"_index":8775,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush(entity",{"_index":8785,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persisted",{"_index":15034,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/TldrawWsService.html":{}}}],["persistedentity",{"_index":2468,"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":{}}}],["persistedentity.createdat",{"_index":2523,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.id",{"_index":2521,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.updatedat",{"_index":2525,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedstatevector",{"_index":22685,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc",{"_index":22683,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc.destroy",{"_index":22692,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistence",{"_index":22840,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistence_",{"_index":22865,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistent",{"_index":1342,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["persitence",{"_index":22863,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["person",{"_index":19707,"title":{},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["personal",{"_index":25319,"title":{},"body":{"license.html":{}}}],["personenkontext",{"_index":19709,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["personenkontexte",{"_index":19780,"title":{},"body":{"classes/SanisResponse.html":{}}}],["perspective",{"_index":26381,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pertinent",{"_index":25520,"title":{},"body":{"license.html":{}}}],["php",{"_index":11717,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["physical",{"_index":25278,"title":{},"body":{"license.html":{}}}],["physically",{"_index":25290,"title":{},"body":{"license.html":{}}}],["pickimage",{"_index":16383,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pickimage(images",{"_index":16392,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pid",{"_index":19781,"title":{},"body":{"classes/SanisResponse.html":{}}}],["piece",{"_index":25809,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["pieces",{"_index":25069,"title":{},"body":{"license.html":{}}}],["pilot",{"_index":24153,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["pin",{"_index":9065,"title":{},"body":{"modules/DeletionApiModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts",{"_index":18896,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts:18",{"_index":18898,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:21",{"_index":18900,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:24",{"_index":18902,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:28",{"_index":18899,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.module.ts",{"_index":18918,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin.repo.ts",{"_index":18920,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:6",{"_index":18922,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:9",{"_index":18924,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.service.ts",{"_index":18927,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:5",{"_index":18929,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:8",{"_index":18930,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin/entity/registration",{"_index":18895,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin/registration",{"_index":18917,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin/repo/registration",{"_index":18919,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin/service/registration",{"_index":18926,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pinginterval",{"_index":22941,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pingtimeout",{"_index":22841,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pipe",{"_index":1172,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["pipe.ts",{"_index":1210,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe.ts:18",{"_index":1229,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe/global",{"_index":24370,"title":{},"body":{"modules/ValidationModule.html":{}}}],["pipeline",{"_index":12210,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{},"injectables/UserRepo.html":{}}}],["pipeline.push",{"_index":24247,"title":{},"body":{"injectables/UserRepo.html":{}}}],["pipes",{"_index":25932,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["pipetransform",{"_index":1230,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pkcs1",{"_index":8035,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["place",{"_index":22078,"title":{},"body":{"injectables/TaskRepo.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["placeholder",{"_index":5219,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholder.length",{"_index":5381,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholders",{"_index":5411,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["placeholdervalue",{"_index":5387,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["places",{"_index":25844,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plain",{"_index":4216,"title":{},"body":{"injectables/BsonConverter.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["plaintextcontent",{"_index":1452,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintextmailcontent",{"_index":1450,"title":{"interfaces/PlainTextMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintoclass",{"_index":1231,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/FilesStorageMapper.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["plaintoclass(contentbodyparams",{"_index":1241,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(filerecordparams",{"_index":12401,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["plaintoclass(librariesbodyparams",{"_index":1239,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(libraryparametersbodyparams",{"_index":1243,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(sanisresponse",{"_index":19754,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["planned",{"_index":9575,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["player",{"_index":11721,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["please",{"_index":2512,"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":26206,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["plus",{"_index":25445,"title":{},"body":{"license.html":{}}}],["png",{"_index":10500,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["point",{"_index":8080,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pointer",{"_index":25595,"title":{},"body":{"license.html":{}}}],["pointing",{"_index":3350,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["policy",{"_index":26477,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pongreceived",{"_index":22940,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pool",{"_index":24962,"title":{},"body":{"dependencies.html":{}}}],["populate",{"_index":5136,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FilesRepo.html":{},"injectables/NewsRepo.html":{},"injectables/PermissionService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populate(tasks",{"_index":21998,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["populateboard",{"_index":3987,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populateboard(board",{"_index":3995,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populated",{"_index":3752,"title":{},"body":{"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populatereferences",{"_index":21282,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populatereferences(submissions",{"_index":21290,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populateroles",{"_index":22427,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["populateroles(roles",{"_index":22429,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["port",{"_index":1283,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/FilesStorageModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/ScanResult.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["portion",{"_index":25315,"title":{},"body":{"license.html":{}}}],["pos",{"_index":1660,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BoardCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["pos.x",{"_index":8537,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["pos.y",{"_index":8540,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position",{"_index":3076,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LinkElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["position.groupindex",{"_index":8583,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position.x",{"_index":8671,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["position.y",{"_index":8672,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["positionfromgridindex",{"_index":8455,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["positionfromgridindex(index",{"_index":8490,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["possesses",{"_index":25287,"title":{},"body":{"license.html":{}}}],["possession",{"_index":25257,"title":{},"body":{"license.html":{}}}],["possibility",{"_index":25575,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["possible",{"_index":2642,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"classes/SchoolInMigrationLoggableException.html":{},"controllers/SystemController.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["post",{"_index":3242,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/SchoolController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["post('/:externaltoolid",{"_index":23189,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:externaltoolid')@apiokresponse({description",{"_index":23169,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:schoolid/systems/:systemid/provisioning",{"_index":19869,"title":{},"body":{"controllers/SchoolController.html":{}}}],["post('/delete/:contentid",{"_index":13254,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit",{"_index":13356,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit')@apiresponse({status",{"_index":13251,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid",{"_index":13367,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid')@apiresponse({status",{"_index":13289,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post(':boardid/columns",{"_index":3267,"title":{},"body":{"controllers/BoardController.html":{}}}],["post(':cardid/elements",{"_index":4433,"title":{},"body":{"controllers/CardController.html":{}}}],["post(':columnid/cards",{"_index":5668,"title":{},"body":{"controllers/ColumnController.html":{}}}],["post(':contentelementid/submissions",{"_index":9869,"title":{},"body":{"controllers/ElementController.html":{}}}],["post(':roomid/copy",{"_index":19413,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':roomid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19385,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':scope/:scopeid",{"_index":24567,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':scope/:scopeid')@apioperation({summary",{"_index":24553,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':submissionitemid/elements",{"_index":4089,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["post(':taskid/copy",{"_index":21827,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':taskid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":21787,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':token/import",{"_index":20714,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["post('ajax",{"_index":13335,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('ajax')@useinterceptors(undefined",{"_index":13286,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('clients",{"_index":17469,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["post('close",{"_index":23888,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('close')@httpcode(httpstatus.ok)@apiunprocessableentityresponse({description",{"_index":23808,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('export",{"_index":8881,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('export/:collectionname",{"_index":8879,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('ldap",{"_index":15957,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('lessons/:lessonid/copy",{"_index":19417,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('lessons/:lessonid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19388,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('local",{"_index":15962,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('migrate",{"_index":14025,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["post('oauth2",{"_index":15966,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('seed",{"_index":14937,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["post('seed/:collectionname",{"_index":8884,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('start",{"_index":23877,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('start')@apiunprocessableentityresponse({description",{"_index":23850,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('startsync",{"_index":14012,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('startusermigration",{"_index":14033,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('sync",{"_index":8890,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post()@apicreatedresponse({description",{"_index":23094,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["post()@httpcode(202)@apioperation({summary",{"_index":9574,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["post()@httpcode(204)@apioperation({summary",{"_index":9201,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["post(`${this.options.uri}${path",{"_index":1177,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(`${this.options.uri}/api/v1/login",{"_index":1184,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(path",{"_index":1176,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post(subpath",{"_index":1650,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post.body.params",{"_index":1236,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["post.params.ts",{"_index":6833,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:10",{"_index":6844,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:14",{"_index":6834,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:15",{"_index":19999,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:18",{"_index":6836,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:22",{"_index":19997,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:23",{"_index":6838,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:26",{"_index":20000,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:30",{"_index":6843,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:34",{"_index":6846,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["postajax",{"_index":13247,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postajax(body",{"_index":13285,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postasadmin(path",{"_index":1157,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["postdeletionexecutionsendpoint",{"_index":9078,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["postdeletionrequestsendpoint",{"_index":9079,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["posth5pcontentcreateparams",{"_index":12638,"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":12636,"title":{"classes/PostH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["potential",{"_index":7691,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["potentially",{"_index":26490,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["povider",{"_index":25643,"title":{},"body":{"todo.html":{}}}],["power",{"_index":25227,"title":{},"body":{"license.html":{}}}],["powershell",{"_index":26258,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["pr",{"_index":25011,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["practical",{"_index":25058,"title":{},"body":{"license.html":{}}}],["practice",{"_index":25477,"title":{},"body":{"license.html":{}}}],["practices",{"_index":26215,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["practices/layers/orm",{"_index":25648,"title":{},"body":{"todo.html":{}}}],["preamble",{"_index":25049,"title":{},"body":{"license.html":{}}}],["precise",{"_index":4531,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{}}}],["preconditions",{"_index":24977,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["predecessor",{"_index":25442,"title":{},"body":{"license.html":{}}}],["predefined",{"_index":26005,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["preexisting",{"_index":26064,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["preferences",{"_index":23531,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["preferred",{"_index":25160,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["prefetch",{"_index":18567,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefetchcount",{"_index":18570,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefix",{"_index":316,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"classes/TestApiClient.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["prefixes",{"_index":4904,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["preloadedcss",{"_index":11731,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadeddependencies",{"_index":6584,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadedjs",{"_index":11732,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["premature",{"_index":25832,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["preparation",{"_index":26084,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepare",{"_index":9099,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["prepareawarenessmessage",{"_index":24758,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["prepareawarenessmessage(changedclients",{"_index":24768,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["preparebbbcreateconfigbuilder",{"_index":24495,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["preparebbbcreateconfigbuilder(scope",{"_index":24505,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["prepared",{"_index":26091,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepended",{"_index":25002,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prerendering",{"_index":4527,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["presence",{"_index":2936,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["present",{"_index":25537,"title":{},"body":{"license.html":{}}}],["presentationurl",{"_index":2335,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["presents",{"_index":25155,"title":{},"body":{"license.html":{}}}],["preservation",{"_index":25378,"title":{},"body":{"license.html":{}}}],["preset",{"_index":24386,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["prettier",{"_index":25768,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["prevent",{"_index":2555,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["prevented",{"_index":25342,"title":{},"body":{"license.html":{}}}],["prevention",{"_index":1748,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["preview",{"_index":7288,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["preview.coalesce",{"_index":18103,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.producer",{"_index":18065,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["preview.resize(width",{"_index":18104,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.selectframe(0",{"_index":18101,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.stream(format",{"_index":18105,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview_not_possible_scan_status_blocked",{"_index":11846,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_error",{"_index":11844,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_wont_check",{"_index":11845,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_wrong_mime_type",{"_index":11847,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_possible",{"_index":11842,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewactionsloggable",{"_index":17986,"title":{"classes/PreviewActionsLoggable.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:end",{"_index":18048,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:start",{"_index":18046,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:end",{"_index":18093,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:start",{"_index":18086,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.previewnotpossible",{"_index":18097,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewproducer.generate:finished",{"_index":18118,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewproducer.generate:started",{"_index":18116,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewbuilder",{"_index":17997,"title":{"classes/PreviewBuilder.html":{}},"body":{"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{}}}],["previewbuilder.buildparams(filerecord",{"_index":18141,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewbuilder.buildpayload(params",{"_index":18155,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewconfig",{"_index":18014,"title":{"interfaces/PreviewConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["previewfileoptions",{"_index":17990,"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":12585,"title":{"interfaces/PreviewFileParams.html":{}},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{}}}],["previewfilepath",{"_index":12588,"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":18020,"title":{"modules/PreviewGeneratorAMQPModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorbuilder",{"_index":18025,"title":{"classes/PreviewGeneratorBuilder.html":{}},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorbuilder.buildfile(preview",{"_index":18090,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorconsumer",{"_index":18030,"title":{"injectables/PreviewGeneratorConsumer.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule",{"_index":18023,"title":{"modules/PreviewGeneratorConsumerModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule.register",{"_index":18024,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorproducermodule",{"_index":12412,"title":{"modules/PreviewGeneratorProducerModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorProducerModule.html":{}}}],["previewgeneratorservice",{"_index":18034,"title":{"injectables/PreviewGeneratorService.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorservice(storageclient",{"_index":18055,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewinputmimetypes",{"_index":11840,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.application_pdf",{"_index":18100,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.image_gif",{"_index":18102,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewmoduleconfig",{"_index":18017,"title":{"interfaces/PreviewModuleConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{}}}],["previewoptions",{"_index":17993,"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":17995,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoptions.width",{"_index":17996,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoutputmimetypes",{"_index":7271,"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":18107,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previewparams",{"_index":7283,"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":18152,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewparams.width",{"_index":18013,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["previewproducer",{"_index":18063,"title":{"injectables/PreviewProducer.html":{}},"body":{"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{}}}],["previewresponsemessage",{"_index":18019,"title":{"interfaces/PreviewResponseMessage.html":{}},"body":{"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewservice",{"_index":12333,"title":{"injectables/PreviewService.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/PreviewService.html":{}}}],["previewstatus",{"_index":7238,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewstatus.awaiting_scan_status",{"_index":11915,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_blocked",{"_index":11910,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_error",{"_index":11918,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_wont_check",{"_index":11917,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_wrong_mime_type",{"_index":11912,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_possible",{"_index":11913,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewwidth",{"_index":7272,"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":18109,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previous",{"_index":25444,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["previousexternalid",{"_index":15253,"title":{},"body":{"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["previously",{"_index":6355,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["previousteachers",{"_index":5834,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["price",{"_index":25066,"title":{},"body":{"license.html":{}}}],["primarily",{"_index":25504,"title":{},"body":{"license.html":{}}}],["primary",{"_index":616,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{}}}],["primarykey",{"_index":2537,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["principle",{"_index":25812,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["principles",{"_index":25805,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prior",{"_index":25412,"title":{},"body":{"license.html":{}}}],["privacy",{"_index":9969,"title":{},"body":{"classes/ErrorLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["privacy_permission",{"_index":8162,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["privacyprotect",{"_index":297,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ErrorLoggable.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["privacyprotect()@isoptional()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":292,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["privacyprotect()@isoptional()@matches(passwordpattern",{"_index":448,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["privacyprotect()@isstring()@isoptional()@matches(passwordpattern)@apiproperty({description",{"_index":17931,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["privacyprotect()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":17937,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["privacyprotected",{"_index":9978,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["private",{"_index":652,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestScope.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["private_key_jwt",{"_index":17183,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["privatedevice",{"_index":14510,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["privatekey",{"_index":8026,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["privilege",{"_index":11723,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["probably",{"_index":3970,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["problem",{"_index":6304,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ToolLaunchModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["problems",{"_index":25540,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["procedures",{"_index":25338,"title":{},"body":{"license.html":{}}}],["proceedbuttonurl",{"_index":17891,"title":{},"body":{"classes/PageContentDto.html":{}}}],["process",{"_index":7858,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/OauthSSOController.html":{},"classes/RedirectResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["process'})@apiresponse({status",{"_index":9203,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["process.dto.ts",{"_index":16984,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:2",{"_index":16986,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:4",{"_index":16985,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.env.mongo_test_uri}/${dbname",{"_index":16546,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["processcookies",{"_index":13628,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processcookies(setcookies",{"_index":13641,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processed",{"_index":2842,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CollaborativeStorageStrategy.html":{}}}],["processing",{"_index":5096,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["processredirect",{"_index":13629,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirect(dto",{"_index":13644,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirectcascade",{"_index":13562,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["processredirectcascade(initresponse",{"_index":13570,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["procuring",{"_index":25494,"title":{},"body":{"license.html":{}}}],["produce",{"_index":1713,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["producer.module.ts",{"_index":18064,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["producer.ts",{"_index":19468,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:12",{"_index":19472,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:21",{"_index":19470,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:29",{"_index":19471,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:5",{"_index":19469,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["produces",{"_index":25996,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["product",{"_index":2204,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"license.html":{}}}],["production",{"_index":4943,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["products",{"_index":25505,"title":{},"body":{"license.html":{}}}],["profile",{"_index":14839,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["program",{"_index":25062,"title":{},"body":{"license.html":{}}}],["program's",{"_index":25236,"title":{},"body":{"license.html":{}}}],["programmer",{"_index":25606,"title":{},"body":{"license.html":{}}}],["programming",{"_index":25165,"title":{},"body":{"license.html":{}}}],["programs",{"_index":25070,"title":{},"body":{"license.html":{}}}],["progress",{"_index":7190,"title":{},"body":{"classes/CopyApiResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prohibit",{"_index":25201,"title":{},"body":{"license.html":{},"todo.html":{}}}],["prohibiting",{"_index":25224,"title":{},"body":{"license.html":{}}}],["prohibits",{"_index":25499,"title":{},"body":{"license.html":{}}}],["project",{"_index":24233,"title":{},"body":{"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prom",{"_index":18951,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"dependencies.html":{}}}],["prometheus",{"_index":18210,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp",{"_index":18235,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp.listen(prometheusmetricsappport",{"_index":18237,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsappport",{"_index":18233,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig",{"_index":18157,"title":{"classes/PrometheusMetricsConfig.html":{}},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance",{"_index":18230,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.isenabled",{"_index":18223,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.port",{"_index":18234,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate",{"_index":18203,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.api_response_time_metric_middleware_successfully_added",{"_index":18227,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.feature_disabled_middlewares_will_not_be_created",{"_index":18225,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable",{"_index":18199,"title":{"classes/PrometheusMetricsSetupStateLoggable.html":{}},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_default_metrics_disabled",{"_index":18231,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_metrics_route_metrics_disabled",{"_index":18232,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.feature_disabled_app_will_not_be_created",{"_index":18229,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prominent",{"_index":25157,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prominently",{"_index":25152,"title":{},"body":{"license.html":{}}}],["promise",{"_index":36,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UrlHandler.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promise((resolve",{"_index":2863,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/LdapService.html":{},"classes/TestConnection.html":{}}}],["promise.all",{"_index":980,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DashboardModelMapper.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/TeamsRepo.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["promise.all(adduserids.map((nextclouduserid",{"_index":16957,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(array.from(modelentity.gridelements).map(async",{"_index":8733,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(copyrequests",{"_index":19612,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["promise.all(domainobject.children.map(async",{"_index":18733,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["promise.all(gridelement.getreferences().map((ref",{"_index":8754,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(promises",{"_index":2492,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{}}}],["promise.all(referencemodels.map((ref",{"_index":8725,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(removeuserids.map((nextclouduserid",{"_index":16955,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(studententities.map((user",{"_index":11425,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(substitutionteacherentities.map((user",{"_index":11428,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(teacherentities.map((user",{"_index":11427,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(toolreferencespromises",{"_index":23431,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["promise.allsettled(boarddo.children.map((child",{"_index":18676,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["promise.allsettled(promises",{"_index":3367,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["promise.reject",{"_index":24221,"title":{},"body":{"injectables/UserRepo.html":{}}}],["promise.reject(new",{"_index":3348,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["promise.resolve",{"_index":2802,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/FileSystemAdapter.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TestBootstrapConsole.html":{}}}],["promise.resolve(configuration.get('hydra_uri",{"_index":17504,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["promise.resolve(false",{"_index":958,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["promise.resolve(new",{"_index":14422,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(oauthdata",{"_index":17730,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(response",{"_index":20708,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["promise.resolve(undefined",{"_index":16457,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["promises",{"_index":2488,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FileSystemAdapter.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promisify",{"_index":24888,"title":{},"body":{"dependencies.html":{}}}],["prompt",{"_index":17719,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["prop",{"_index":1819,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["propagate",{"_index":25126,"title":{},"body":{"license.html":{}}}],["propagating",{"_index":25428,"title":{},"body":{"license.html":{}}}],["propagation",{"_index":25136,"title":{},"body":{"license.html":{}}}],["propaly",{"_index":21713,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["proper",{"_index":3429,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/UserBoardRoles.html":{}}}],["properly",{"_index":26161,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["properties",{"_index":112,"title":{"properties.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupScope.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"classes/NewsUrlParams.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchoolSystemParams.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["properties.filter((property",{"_index":2804,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["properties.some",{"_index":2812,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertiestopopulate",{"_index":16721,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["property",{"_index":223,"title":{},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["property()@index",{"_index":221,"title":{},"body":{"entities/Account.html":{},"entities/ClassEntity.html":{},"entities/News.html":{},"entities/RegistrationPinEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/User.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{}}}],["property()@index({options",{"_index":9415,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["property()@unique",{"_index":10632,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"entities/PseudonymEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{}}}],["property({comment",{"_index":21191,"title":{},"body":{"entities/SubmissionItemNode.html":{}}}],["property({default",{"_index":18901,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["property({fieldname",{"_index":5493,"title":{},"body":{"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/H5PContent.html":{},"entities/ImportUser.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{}}}],["property({nullable",{"_index":211,"title":{},"body":{"entities/Account.html":{},"entities/BoardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DeletionLogEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/OauthConfigEntity.html":{},"classes/ProvisioningOptionsEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["property({onupdate",{"_index":2567,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["property({type",{"_index":13169,"title":{},"body":{"entities/H5PContent.html":{},"entities/ImportUser.html":{}}}],["property.location",{"_index":2805,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["property.value",{"_index":2808,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertydata",{"_index":2758,"title":{"classes/PropertyData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["propertylocation",{"_index":2798,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.body",{"_index":2806,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.path",{"_index":23248,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertylocation.query",{"_index":23249,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertyname",{"_index":2769,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["propertypath",{"_index":1406,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["propertypath.push(validationerror.property",{"_index":1408,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["props",{"_index":435,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"entities/CourseNews.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalUserDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/HydraRedirectDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LinkElement.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/PageContentDto.html":{},"classes/PropertyData.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{},"injectables/SystemRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{}}}],["props.abbreviation",{"_index":7503,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.accesskeyid",{"_index":21008,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.accesstoken",{"_index":15972,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.action",{"_index":22752,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.activated",{"_index":251,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.active",{"_index":15050,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.alias",{"_index":15159,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.alternativetext",{"_index":11582,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.authtoken",{"_index":19150,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.availabledate",{"_index":21689,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.axiosconfig",{"_index":13624,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.baseurl",{"_index":2707,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/ToolLaunchData.html":{}}}],["props.birthday",{"_index":11270,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.boardelement",{"_index":6777,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["props.bucket",{"_index":11647,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.builder.ts",{"_index":9410,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.builder.ts:6",{"_index":9411,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.cancelbuttonurl",{"_index":17897,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.caption",{"_index":11581,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.classnames",{"_index":14109,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.classnames.length",{"_index":13979,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.client",{"_index":16308,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.client_id",{"_index":1509,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.client_secret",{"_index":1511,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.clientid",{"_index":17088,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.clientsecret",{"_index":17089,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["props.clock",{"_index":22750,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.closedat",{"_index":23916,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.code",{"_index":1517,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.color",{"_index":7578,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.colums",{"_index":8542,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.comment",{"_index":21047,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.completed",{"_index":21197,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["props.config",{"_index":2134,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/ExternalToolEntity.html":{}}}],["props.content",{"_index":7890,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.contents",{"_index":6244,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.context.type",{"_index":5500,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["props.contextexternaltool",{"_index":10353,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["props.contextexternaltoolid",{"_index":10343,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.contextid",{"_index":6798,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.contextref",{"_index":6705,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.contexttype",{"_index":6800,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.cookies",{"_index":13621,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.copyingsince",{"_index":7584,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.course",{"_index":6240,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.course.school",{"_index":7784,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.coursegroup",{"_index":6242,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.create",{"_index":11816,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.createdat",{"_index":461,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.creator",{"_index":7893,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["props.creatorid",{"_index":11870,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.credentialhash",{"_index":241,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.currentredirect",{"_index":13617,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.customs",{"_index":8194,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.data",{"_index":2126,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.default",{"_index":8259,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["props.defaultvalue",{"_index":8398,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["props.delete",{"_index":11818,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.deleteafter",{"_index":9426,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.deleted",{"_index":11661,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.deletedat",{"_index":11660,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.deletedcount",{"_index":9264,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.deletedsince",{"_index":11875,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.deletionrequestid",{"_index":9266,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.description",{"_index":7571,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["props.descriptioninputformat",{"_index":21686,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.destinationexternalreference",{"_index":5479,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.displayat",{"_index":7892,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.displayname",{"_index":6707,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.docname",{"_index":22747,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.domain",{"_index":9259,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.duedate",{"_index":21111,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.email",{"_index":11268,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.enddate",{"_index":20450,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["props.endpointurl",{"_index":21006,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.expiresat",{"_index":249,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.externalgroups",{"_index":17293,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalid",{"_index":7896,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.externalidtoken",{"_index":17304,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["props.externalschool",{"_index":17291,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalsource",{"_index":12881,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.externalsourcename",{"_index":4728,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.externaluser",{"_index":17289,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externaluserid",{"_index":10102,"title":{},"body":{"classes/ExternalGroupUserDto.html":{}}}],["props.features",{"_index":7586,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["props.federalstate",{"_index":19937,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.filetype",{"_index":18590,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["props.finishedat",{"_index":23918,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.firstname",{"_index":11264,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.flagged",{"_index":13983,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["props.forcepasswordchange",{"_index":23560,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.friendlyurl",{"_index":8205,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.from",{"_index":10094,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.frontchannel_logout_uri",{"_index":8211,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.frontchannellogouturi",{"_index":17095,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.grade",{"_index":21053,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradecomment",{"_index":21055,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.graded",{"_index":21051,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradelevel",{"_index":4659,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.grant_type",{"_index":1515,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.grid.foreach((element",{"_index":8544,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.gridelements",{"_index":8621,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["props.groupprovisioningclassesenabled",{"_index":18284,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["props.groupprovisioningcoursesenabled",{"_index":18286,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["props.groupprovisioningotherenabled",{"_index":18288,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["props.height",{"_index":4453,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["props.hidden",{"_index":6239,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.hydracookies",{"_index":7175,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.id",{"_index":459,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextRef.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/FileDto-1.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.idmreferenceid",{"_index":859,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["props.idtoken",{"_index":17065,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.imageurl",{"_index":15814,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["props.importhash",{"_index":18910,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.importuserid",{"_index":14103,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.inmaintenancesince",{"_index":19931,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.inputformat",{"_index":19100,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.inusermigration",{"_index":19932,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.invitationlink",{"_index":4671,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.iscopyfrom",{"_index":11872,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.isdirectory",{"_index":11644,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.ishidden",{"_index":8213,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{}}}],["props.islocal",{"_index":8198,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isoptional",{"_index":8269,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.isoutdatedonscopecontext",{"_index":6725,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["props.isoutdatedonscopeschool",{"_index":6723,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["props.istemplate",{"_index":8196,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isupgradable",{"_index":4734,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.key",{"_index":8178,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.keyvalue",{"_index":1764,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.language",{"_index":23561,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastloginsystemchange",{"_index":23565,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastname",{"_index":11266,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.lasttriedfailedlogin",{"_index":247,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.launch_presentation_locale",{"_index":16044,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["props.ldapconfig",{"_index":15165,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.ldapdn",{"_index":4676,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lesson",{"_index":21693,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.license",{"_index":16309,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.localcookies",{"_index":7173,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.location",{"_index":8261,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["props.lockid",{"_index":11681,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.loginname",{"_index":14105,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.logo",{"_index":10164,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.logo_url",{"_index":8182,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.logobase64",{"_index":10377,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["props.logourl",{"_index":7504,"title":{},"body":{"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.lti_message_type",{"_index":8184,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.lti_version",{"_index":8186,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.mandatorysince",{"_index":23912,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.match",{"_index":14110,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.matchedby",{"_index":13981,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.materials",{"_index":6245,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.merlinreference",{"_index":16311,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.method",{"_index":23280,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.mimetype",{"_index":11869,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.modifiedcount",{"_index":9262,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.name",{"_index":4664,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["props.oauthclientid",{"_index":8203,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.oauthconfig",{"_index":15161,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.officialschoolnumber",{"_index":10113,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.oidcconfig",{"_index":15163,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.opennewtab",{"_index":8209,"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":9260,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.options",{"_index":24390,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.organization",{"_index":12922,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.organizationid",{"_index":12885,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.originalcolumnboardid",{"_index":5462,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.origintoolid",{"_index":8199,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.otherusers",{"_index":10092,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["props.outdatedsince",{"_index":23567,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parameters",{"_index":6709,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.parent",{"_index":3923,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.id",{"_index":3924,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.level",{"_index":3929,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parentid",{"_index":11531,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.parents",{"_index":23569,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parenttype",{"_index":11530,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.password",{"_index":237,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.payload",{"_index":23281,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.performedat",{"_index":9268,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.permissions",{"_index":11680,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.pin",{"_index":18906,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.position",{"_index":3931,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.preferences",{"_index":23563,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.previousexternalid",{"_index":19930,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.privacy_permission",{"_index":8192,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.private",{"_index":21690,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.proceedbuttonurl",{"_index":17895,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.properties",{"_index":23230,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["props.provider",{"_index":15052,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.provisioningoptions",{"_index":20382,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["props.provisioningstrategy",{"_index":15167,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.provisioningurl",{"_index":15169,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.pseudonym",{"_index":10639,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["props.publicsubmissions",{"_index":21697,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.rcid",{"_index":19149,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.read",{"_index":11814,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.reason",{"_index":11852,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["props.redirect_uri",{"_index":1513,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.redirecturis",{"_index":17091,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.references.sort(this.sortreferences",{"_index":8519,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.referer",{"_index":13619,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.refownermodel",{"_index":11678,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.refpermmodel",{"_index":11811,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["props.refreshtoken",{"_index":17067,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["props.regex",{"_index":8265,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.regexcomment",{"_index":8267,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.region",{"_index":21012,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.relatedresources",{"_index":16313,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.requesttoken",{"_index":11854,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["props.resource_link_id",{"_index":8188,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.response",{"_index":13622,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.restricttocontexts",{"_index":10174,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.role",{"_index":13129,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.roleid",{"_index":13123,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["props.rolename",{"_index":10104,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.rolenames",{"_index":14107,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.rolenames.length",{"_index":13976,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.roles",{"_index":8190,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["props.school",{"_index":7574,"title":{},"body":{"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["props.schoolid",{"_index":4666,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationDO.html":{}}}],["props.schoolparameters",{"_index":19960,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.schooltool",{"_index":6796,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["props.schooltoolid",{"_index":20005,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["props.schooltoolref",{"_index":6703,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.schoolyear",{"_index":4732,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.scope",{"_index":8263,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.secret",{"_index":8180,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{}}}],["props.secretaccesskey",{"_index":21010,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.secretvalue",{"_index":1766,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.securitycheck",{"_index":11670,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.share",{"_index":22349,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["props.sharetokens",{"_index":11672,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.size",{"_index":11645,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.skipconsent",{"_index":8207,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.source",{"_index":4680,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourcedescription",{"_index":7898,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourceoptions",{"_index":4682,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.sourcesystem",{"_index":23934,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.sourcesystemid",{"_index":23909,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.startdate",{"_index":7582,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["props.startedat",{"_index":23914,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.status",{"_index":2128,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.statustext",{"_index":2130,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.storagefilename",{"_index":11646,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.storageprovider",{"_index":11648,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.student",{"_index":21045,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.studentcount",{"_index":4736,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.students",{"_index":7785,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.subjects",{"_index":16315,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.submitted",{"_index":21050,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.successor",{"_index":4678,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.system",{"_index":10136,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["props.systemid",{"_index":245,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["props.systems",{"_index":19933,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.tags",{"_index":16317,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.target",{"_index":3757,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetgroups",{"_index":16319,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.targetmodel",{"_index":24389,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetrefdomain",{"_index":9424,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetrefid",{"_index":9428,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetsystem",{"_index":23936,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.targetsystemid",{"_index":23910,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.task",{"_index":21049,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teacherids",{"_index":4670,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.teachernames",{"_index":4730,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["props.teachers",{"_index":4750,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["props.teamid",{"_index":22364,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teammembers",{"_index":21056,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teamname",{"_index":22366,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teamsubmissions",{"_index":21699,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.teamusers",{"_index":22281,"title":{},"body":{"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.teamusers.map((teamuser",{"_index":22294,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.text",{"_index":19099,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.thumbnail",{"_index":11667,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.thumbnailrequesttoken",{"_index":11668,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.timestamps",{"_index":10344,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.title",{"_index":3932,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["props.token",{"_index":239,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.tokenendpointauthmethod",{"_index":17093,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.tool",{"_index":19958,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.toolid",{"_index":10641,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.toolversion",{"_index":6711,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.ts",{"_index":7220,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/FileDomainObjectProps.html":{}}}],["props.tspuid",{"_index":4851,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["props.type",{"_index":4726,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/ContextRef.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["props.until",{"_index":10096,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.untildate",{"_index":7580,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.updatedat",{"_index":463,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.updater",{"_index":7894,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.url",{"_index":8176,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.user",{"_index":10090,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.userid",{"_index":243,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.userids",{"_index":4667,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.userloginmigration",{"_index":19935,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.username",{"_index":235,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.users",{"_index":12920,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.users.map",{"_index":12883,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validfrom",{"_index":12878,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validperiod",{"_index":12918,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.validuntil",{"_index":12879,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.value",{"_index":8287,"title":{},"body":{"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.verified",{"_index":18908,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.version",{"_index":10172,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.versionkey",{"_index":11684,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.write",{"_index":11812,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.year",{"_index":4673,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["propsfactory",{"_index":502,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["propsoffactory",{"_index":2609,"title":{},"body":{"classes/BaseFactory.html":{}}}],["protect",{"_index":25074,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["protected",{"_index":113,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageProducer.html":{},"classes/Group.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningStrategy.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":{},"classes/SchoolSystemOptions.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["protectedrole.id",{"_index":24332,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles",{"_index":24326,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles.find((protectedrole",{"_index":24331,"title":{},"body":{"injectables/UserService.html":{}}}],["protecting",{"_index":25208,"title":{},"body":{"license.html":{}}}],["protection",{"_index":25247,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["protocol",{"_index":14723,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapper",{"_index":14780,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapperrepresentation",{"_index":14656,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocols",{"_index":24971,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["protocols/awareness",{"_index":22876,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["protocols/sync",{"_index":22882,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["prototype",{"_index":1096,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["prove",{"_index":25555,"title":{},"body":{"license.html":{}}}],["provide",{"_index":685,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"classes/BoardManagementConsole.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ProvisioningConfigModule.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":2834,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardDoBuilderImpl.html":{},"modules/ErrorModule.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["provider",{"_index":5074,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"classes/ConsentRequestBody.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LoginRequestBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provider(s",{"_index":4950,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["provider.client",{"_index":17332,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.consent",{"_index":17365,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.controller",{"_index":17328,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.controller.ts",{"_index":17405,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:103",{"_index":17417,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:109",{"_index":17423,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:117",{"_index":17438,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:135",{"_index":17413,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:143",{"_index":17420,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:151",{"_index":17435,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:169",{"_index":17430,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:182",{"_index":17442,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:188",{"_index":17427,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:49",{"_index":17425,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:60",{"_index":17432,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:80",{"_index":17415,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:91",{"_index":17444,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.login",{"_index":13854,"title":{},"body":{"injectables/IdTokenService.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["provider.logout",{"_index":17450,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["provider.mapper",{"_index":14613,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["provider.mapper.ts",{"_index":17706,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:6",{"_index":17709,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:9",{"_index":17711,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.module",{"_index":17330,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.module.ts",{"_index":17570,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["provider.service",{"_index":17625,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["provider.service.ts",{"_index":17593,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:14",{"_index":17606,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:16",{"_index":17598,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:18",{"_index":17617,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:20",{"_index":17605,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:22",{"_index":17596,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:24",{"_index":17616,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:26",{"_index":17600,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:28",{"_index":17610,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:30",{"_index":17611,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:32",{"_index":17615,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:39",{"_index":17602,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:41",{"_index":17608,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:43",{"_index":17621,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:45",{"_index":17604,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:47",{"_index":17613,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:49",{"_index":17619,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.uc",{"_index":17451,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.uc.ts",{"_index":17628,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:10",{"_index":17631,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:15",{"_index":17633,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:7",{"_index":17629,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider/controller/dto",{"_index":17386,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/controller/dto/request/accept.query.ts",{"_index":188,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/accept.query.ts:9",{"_index":198,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/challenge.params.ts",{"_index":4577,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/challenge.params.ts:11",{"_index":4579,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/consent",{"_index":6274,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["provider/controller/dto/request/id.params.ts",{"_index":13816,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/id.params.ts:11",{"_index":13817,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/list",{"_index":15827,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["provider/controller/dto/request/login",{"_index":15974,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["provider/controller/dto/request/oauth",{"_index":16990,"title":{},"body":{"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{}}}],["provider/controller/dto/request/revoke",{"_index":19053,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["provider/controller/dto/request/user.params.ts",{"_index":24192,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/request/user.params.ts:7",{"_index":24193,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/response/consent",{"_index":6363,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts",{"_index":6321,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:16",{"_index":6331,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:22",{"_index":6334,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:28",{"_index":6337,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:32",{"_index":6340,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:36",{"_index":6341,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:40",{"_index":6344,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:44",{"_index":6346,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:48",{"_index":6348,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:54",{"_index":6351,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:6",{"_index":6329,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:60",{"_index":6352,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:66",{"_index":6353,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:72",{"_index":6356,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:76",{"_index":6357,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/login.response.ts",{"_index":15979,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:13",{"_index":15986,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:16",{"_index":15983,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:19",{"_index":15984,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:23",{"_index":15987,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:27",{"_index":15989,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:31",{"_index":15990,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:37",{"_index":15991,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:43",{"_index":15995,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:48",{"_index":15996,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:51",{"_index":15997,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:6",{"_index":15982,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oauth",{"_index":6360,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oidc",{"_index":6358,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts",{"_index":18801,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:12",{"_index":18807,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:3",{"_index":18803,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/oauth",{"_index":17404,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider/dto",{"_index":11032,"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":18253,"title":{},"body":{"interfaces/ProviderOidcContext.html":{}}}],["provider/dto/request/accept",{"_index":163,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{}}}],["provider/dto/request/reject",{"_index":18932,"title":{},"body":{"interfaces/RejectRequestBody.html":{}}}],["provider/dto/response/consent",{"_index":18249,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["provider/dto/response/consent.response.ts",{"_index":18244,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{}}}],["provider/dto/response/introspect.response.ts",{"_index":14341,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["provider/dto/response/login.response.ts",{"_index":18252,"title":{},"body":{"interfaces/ProviderLoginResponse.html":{}}}],["provider/dto/response/redirect.response.ts",{"_index":18254,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{}}}],["provider/error/id",{"_index":13819,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["provider/index",{"_index":17354,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["provider/interface/id",{"_index":175,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/interface/subject",{"_index":17185,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/interface/token",{"_index":17186,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/loggable/hydra",{"_index":13551,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["provider/mapper/oauth",{"_index":17539,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/oauth",{"_index":17326,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{}}}],["provider/service/id",{"_index":13837,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/service/oauth",{"_index":17505,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["provider/uc/oauth",{"_index":17331,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["providerconsentresponse",{"_index":17383,"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":17445,"title":{"interfaces/ProviderConsentSessionResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerid",{"_index":14708,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["providerloginresponse",{"_index":17446,"title":{"interfaces/ProviderLoginResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroauthclient",{"_index":11028,"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":18245,"title":{"interfaces/ProviderOidcContext.html":{}},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["provideroptions",{"_index":15059,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["providerredirectresponse",{"_index":17385,"title":{"interfaces/ProviderRedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderRedirectResponse.html":{}}}],["providers",{"_index":259,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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":{},"interfaces/MigrationOptions.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"interfaces/RetryOptions.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["providers.foreach((provider",{"_index":9023,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["provides",{"_index":4999,"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":5087,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CoreModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["provision",{"_index":20146,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"license.html":{}}}],["provisionally",{"_index":25407,"title":{},"body":{"license.html":{}}}],["provisiondata",{"_index":18308,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisiondata(oauthdata",{"_index":18322,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisionexternalgroup",{"_index":17739,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalgroup(externalgroup",{"_index":17756,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool",{"_index":17740,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool(externalschool",{"_index":17758,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser",{"_index":17741,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser(externaluser",{"_index":17760,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionin",{"_index":20320,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["provisioning",{"_index":2617,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provisioning.loggable",{"_index":24188,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["provisioning.service",{"_index":17869,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioning.service.ts",{"_index":17733,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:143",{"_index":17745,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:170",{"_index":17753,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:189",{"_index":17757,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:245",{"_index":17747,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:26",{"_index":17743,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:262",{"_index":17750,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:279",{"_index":17763,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:39",{"_index":17759,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:77",{"_index":17755,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:85",{"_index":17761,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.strategy",{"_index":14397,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["provisioning_options_invalid_type",{"_index":18297,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["provisioning_strategy_invalid_options",{"_index":18351,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{}}}],["provisioning_strategy_missing",{"_index":18354,"title":{},"body":{"classes/ProvisioningStrategyMissingLoggableException.html":{}}}],["provisioningconfigmodule",{"_index":18256,"title":{"modules/ProvisioningConfigModule.html":{}},"body":{"modules/ProvisioningConfigModule.html":{},"modules/ProvisioningModule.html":{}}}],["provisioningconfiguration",{"_index":13787,"title":{"classes/ProvisioningConfiguration.html":{}},"body":{"interfaces/IProvisioningFeatures.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{}}}],["provisioningconfiguration.provisioningfeatures",{"_index":18259,"title":{},"body":{"modules/ProvisioningConfigModule.html":{}}}],["provisioningdto",{"_index":14399,"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":18264,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["provisioningfeatures",{"_index":13785,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningmodule",{"_index":17309,"title":{"modules/ProvisioningModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["provisioningoptions",{"_index":2623,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["provisioningoptions.groupprovisioningclassesenabled",{"_index":17812,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioningoptions.groupprovisioningcoursesenabled",{"_index":17814,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioningoptions.groupprovisioningotherenabled",{"_index":17815,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioningoptionsconstructor",{"_index":20330,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["provisioningoptionsenabled",{"_index":13783,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["provisioningoptionsentity",{"_index":18276,"title":{"classes/ProvisioningOptionsEntity.html":{}},"body":{"classes/ProvisioningOptionsEntity.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["provisioningoptionsentity(props.provisioningoptions",{"_index":20342,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["provisioningoptionsinterface",{"_index":2621,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["provisioningoptionsinvalidtypeloggableexception",{"_index":18289,"title":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["provisioningoptionsinvalidtypeloggableexception(provisioningoptionsconstructor",{"_index":20403,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["provisioningoptionsparams",{"_index":18299,"title":{"classes/ProvisioningOptionsParams.html":{}},"body":{"classes/ProvisioningOptionsParams.html":{},"controllers/SchoolController.html":{}}}],["provisioningservice",{"_index":17005,"title":{"injectables/ProvisioningService.html":{}},"body":{"injectables/OAuthService.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["provisioningstrategy",{"_index":14382,"title":{"classes/ProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisioningstrategy:10",{"_index":17726,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:14",{"_index":17725,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:17",{"_index":17865,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:29",{"_index":14394,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:31",{"_index":17724,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:33",{"_index":14393,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:34",{"_index":19737,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:38",{"_index":19736,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:5",{"_index":17867,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategy:63",{"_index":14388,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:7",{"_index":17866,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategyinvalidoptionsloggableexception",{"_index":18348,"title":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{}},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningstrategyinvalidoptionsloggableexception(this.provisioningstrategy",{"_index":20332,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningstrategymissingloggableexception",{"_index":18353,"title":{"classes/ProvisioningStrategyMissingLoggableException.html":{}},"body":{"classes/ProvisioningStrategyMissingLoggableException.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["provisioningstrategymissingloggableexception(domainobject.systemid",{"_index":20372,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["provisioningstrategymissingloggableexception(entity.system.id",{"_index":20364,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["provisioningstrategymissingloggableexception(systemid",{"_index":20419,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["provisioningstrategyoptions",{"_index":20329,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningstrategyoptions.get(this.provisioningstrategy",{"_index":20331,"title":{},"body":{"classes/SchoolSystemOptionsBuilder.html":{}}}],["provisioningsystemdto",{"_index":17283,"title":{"classes/ProvisioningSystemDto.html":{}},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper",{"_index":18328,"title":{"classes/ProvisioningSystemInputMapper.html":{}},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper.maptointernal(systemdto",{"_index":18339,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisioningurl",{"_index":15082,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisionuser",{"_index":17002,"title":{},"body":{"injectables/OAuthService.html":{}}}],["provisionuser(systemid",{"_index":17016,"title":{},"body":{"injectables/OAuthService.html":{}}}],["proxy",{"_index":20607,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{}}}],["proxy's",{"_index":25545,"title":{},"body":{"license.html":{}}}],["ps256",{"_index":1579,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps384",{"_index":1580,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps512",{"_index":1581,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["pseudonym",{"_index":10631,"title":{"classes/Pseudonym.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.entity",{"_index":18443,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["pseudonym.entity.ts",{"_index":10630,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["pseudonym.entity.ts:18",{"_index":10633,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:21",{"_index":10634,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:24",{"_index":10635,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.id",{"_index":18417,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.module",{"_index":18387,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["pseudonym.pseudonym",{"_index":11458,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.repo.ts",{"_index":10644,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:106",{"_index":10669,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:114",{"_index":10665,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:12",{"_index":10653,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:15",{"_index":10662,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:26",{"_index":10660,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:41",{"_index":10658,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:50",{"_index":10655,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:71",{"_index":10657,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:79",{"_index":10667,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:93",{"_index":10671,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.service",{"_index":11400,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.toolid",{"_index":18418,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.userid",{"_index":18419,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonymapimodule",{"_index":18380,"title":{"modules/PseudonymApiModule.html":{}},"body":{"modules/PseudonymApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["pseudonymcontroller",{"_index":18386,"title":{"controllers/PseudonymController.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{}}}],["pseudonymentity",{"_index":18408,"title":{"entities/PseudonymEntity.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymentity(entityprops",{"_index":18522,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["pseudonymentityprops",{"_index":18413,"title":{"interfaces/PseudonymEntityProps.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymmapper",{"_index":18398,"title":{"classes/PseudonymMapper.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{}}}],["pseudonymmapper.maptoresponse(pseudonym",{"_index":18407,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonymmodule",{"_index":5068,"title":{"modules/PseudonymModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolLaunchModule.html":{}}}],["pseudonymous",{"_index":8154,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["pseudonymparams",{"_index":18391,"title":{"classes/PseudonymParams.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{}}}],["pseudonympromise",{"_index":18474,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymprops",{"_index":18376,"title":{"interfaces/PseudonymProps.html":{}},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["pseudonymrepo",{"_index":18455,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymresponse",{"_index":18400,"title":{"classes/PseudonymResponse.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{}}}],["pseudonymresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":18393,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonyms",{"_index":10637,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonyms.loggable",{"_index":22991,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonyms_too_many_pseudonyms_found",{"_index":22994,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonymschool",{"_index":18506,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymscope",{"_index":10672,"title":{"classes/PseudonymScope.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{}}}],["pseudonymsearchquery",{"_index":10664,"title":{"interfaces/PseudonymSearchQuery.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{}}}],["pseudonymservice",{"_index":11372,"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":18424,"title":{"injectables/PseudonymsRepo.html":{}},"body":{"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymuc",{"_index":18384,"title":{"injectables/PseudonymUc.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymUc.html":{}}}],["pseudonymuser",{"_index":18504,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymuserid",{"_index":18502,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["public",{"_index":711,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseProvisioningOptions.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/ColumnBoardCopyService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileResponseBuilder.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"injectables/PseudonymService.html":{},"classes/PublicSystemListResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"controllers/ServerController.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["publicclient",{"_index":14725,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["publicity",{"_index":25381,"title":{},"body":{"license.html":{}}}],["publickey",{"_index":8033,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["publiclink",{"_index":16871,"title":{},"body":{"injectables/NexboardService.html":{}}}],["publicly",{"_index":21454,"title":{},"body":{"controllers/SystemController.html":{},"license.html":{}}}],["publicservice",{"_index":25878,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["publicsubmissions",{"_index":13796,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["publicsystemlistresponse",{"_index":18525,"title":{"classes/PublicSystemListResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publicsystemlistresponse(systemresponses",{"_index":21615,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["publicsystemresponse",{"_index":18528,"title":{"classes/PublicSystemResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publish",{"_index":5607,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"todo.html":{}}}],["published",{"_index":3045,"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":24749,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["pull",{"_index":25010,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["purpose",{"_index":53,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["purposes",{"_index":4528,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["pursuant",{"_index":25492,"title":{},"body":{"license.html":{}}}],["push",{"_index":9367,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeleterequestsoptionsbuilder",{"_index":18538,"title":{"classes/PushDeleteRequestsOptionsBuilder.html":{}},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["pushdeletionrequests",{"_index":9363,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequests(options",{"_index":9365,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequestsoptions",{"_index":9366,"title":{"interfaces/PushDeletionRequestsOptions.html":{}},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["put",{"_index":4401,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/OauthProviderController.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["put('/:schoolexternaltoolid",{"_index":23469,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put('/:schoolexternaltoolid')@apiokresponse({description",{"_index":23458,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put(':cardid/position",{"_index":4416,"title":{},"body":{"controllers/CardController.html":{}}}],["put(':columnid/position",{"_index":5659,"title":{},"body":{"controllers/ColumnController.html":{}}}],["put(':contentelementid/position",{"_index":9858,"title":{},"body":{"controllers/ElementController.html":{}}}],["put(':contextexternaltoolid",{"_index":23130,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':contextexternaltoolid')@apiokresponse({description",{"_index":23112,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':scope/:scopeid/start",{"_index":24456,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put(':scope/:scopeid/start')@apioperation({summary",{"_index":24444,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put('clients/:id",{"_index":17471,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["put('mandatory",{"_index":23885,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('mandatory')@apinotfoundresponse({description",{"_index":23844,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart",{"_index":23882,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart')@apinotfoundresponse({description",{"_index":23834,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put(filesstorageinternalactions.updatesecuritystatus",{"_index":12083,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["put(path",{"_index":1646,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["put(subpath",{"_index":1645,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["putting",{"_index":25712,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["pw",{"_index":8058,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["pwd/backup/idm/keycloak:/tmp/realms",{"_index":25703,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["pwd/backup/idm/oidcmock:/tmp/config",{"_index":26277,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["p{extended_pictographic}/u",{"_index":7619,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["q",{"_index":14898,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["qs",{"_index":13650,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["qs.stringify(data",{"_index":14852,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["qualify",{"_index":25419,"title":{},"body":{"license.html":{}}}],["quality",{"_index":25554,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["quarkus",{"_index":26304,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["quay.io/minio/minio",{"_index":25697,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["queries",{"_index":14301,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["queries.length",{"_index":14304,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{}}}],["query",{"_index":365,"title":{},"body":{"controllers/AccountController.html":{},"classes/AuthCodeFailureLoggableException.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"controllers/CourseController.html":{},"classes/CourseScope.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"classes/FileRecordScope.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/GroupScope.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"classes/LessonScope.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RoleNameMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/Scope.html":{},"injectables/SubmissionRepo.html":{},"controllers/SystemController.html":{},"classes/SystemScope.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{}}}],["query('usecentralldap",{"_index":14078,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["query('x",{"_index":8428,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query('y",{"_index":8429,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query.accept",{"_index":17390,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["query.classes",{"_index":14157,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.code",{"_index":17657,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.error",{"_index":17658,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.firstname",{"_index":14145,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.flagged",{"_index":14162,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.lastloginsystemchangebetweenend",{"_index":23678,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastloginsystemchangebetweenstart",{"_index":23677,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastname",{"_index":14148,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.loginname",{"_index":14151,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match",{"_index":14158,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match.map((match",{"_index":14160,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.name",{"_index":24128,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["query.role",{"_index":14152,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.schoolid",{"_index":20089,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["query.targetid",{"_index":16701,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.targetmodel",{"_index":16699,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.ts",{"_index":10995,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/UserLoginMigrationQuery.html":{}}}],["query.type",{"_index":23669,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["query.unpublished",{"_index":16703,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.userid",{"_index":24090,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["query/body",{"_index":25982,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["query/empty",{"_index":20488,"title":{},"body":{"classes/Scope.html":{}}}],["queryfiltermatch",{"_index":24224,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryfiltermatch.$or",{"_index":24230,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryoptions",{"_index":7952,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ImportUserRepo.html":{}}}],["queryordermap",{"_index":7934,"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":11104,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["queryordernumeric",{"_index":24218,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.asc",{"_index":24244,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.desc",{"_index":24243,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryparams",{"_index":2352,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"controllers/CourseController.html":{}}}],["queryparams.append('checksum",{"_index":2428,"title":{},"body":{"injectables/BBBService.html":{}}}],["queryparams.tostring",{"_index":2418,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["queryparams.version",{"_index":7661,"title":{},"body":{"controllers/CourseController.html":{}}}],["querys",{"_index":12432,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{}}}],["querystring",{"_index":2417,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{}}}],["querystring.stringify",{"_index":13651,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["querystring.stringify(payload",{"_index":17135,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["queue",{"_index":2835,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["queue.console",{"_index":9146,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["queue.console.ts",{"_index":9362,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:37",{"_index":9368,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:8",{"_index":9364,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queuedeletionrequest",{"_index":9083,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequest(input",{"_index":9089,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequestinput",{"_index":2824,"title":{"interfaces/QueueDeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestinputbuilder",{"_index":2904,"title":{"classes/QueueDeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestoutput",{"_index":2832,"title":{"interfaces/QueueDeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder",{"_index":2828,"title":{"classes/QueueDeletionRequestOutputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder.buildsuccess",{"_index":2853,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests",{"_index":2819,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests(inputs",{"_index":2823,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queueing",{"_index":2921,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/DeletionRequestsController.html":{}}}],["rabbitmq",{"_index":1311,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rabbitmq#usage",{"_index":18561,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmq:3.8.9",{"_index":25687,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmq_url",{"_index":25680,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmqmodule",{"_index":18559,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqmodule.forroot(rabbitmqmodule",{"_index":18566,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqwrappermodule",{"_index":1011,"title":{"modules/RabbitMQWrapperModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rabbitmqwrappertestmodule",{"_index":1031,"title":{"modules/RabbitMQWrapperTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["rabbitpayload",{"_index":12345,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc",{"_index":12346,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc({exchange",{"_index":12336,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["random",{"_index":3832,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/FileSystemAdapter.html":{}}}],["random(min",{"_index":3847,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["randomuuid",{"_index":1717,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["range",{"_index":12546,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"injectables/S3ClientAdapter.html":{}}}],["range.end}/${contentlength",{"_index":13371,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["range.start",{"_index":13370,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["rangeend",{"_index":22481,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rangeendnew",{"_index":22514,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ranges",{"_index":12544,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["rangestart",{"_index":22480,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rawfiledocument",{"_index":12217,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments",{"_index":12213,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments.map((rawfiledocument",{"_index":12215,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawlessondocument",{"_index":15654,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments",{"_index":15650,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments.map((rawlessondocument",{"_index":15652,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rc",{"_index":4911,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["rcid",{"_index":19126,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rd",{"_index":4916,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["re",{"_index":814,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"classes/ExternalToolScope.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["reachable",{"_index":4898,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["react",{"_index":25802,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["read",{"_index":1783,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LessonRule.html":{},"controllers/NewsController.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["read(requiredpermissions",{"_index":1787,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["readable",{"_index":1302,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["readable.from('abc",{"_index":18593,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readable.from(text",{"_index":22587,"title":{},"body":{"classes/TestHelper.html":{}}}],["readablestreamwithfiletype",{"_index":18584,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypefactory",{"_index":18591,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeimp",{"_index":18581,"title":{"classes/ReadableStreamWithFileTypeImp.html":{}},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeprops",{"_index":18586,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readcourseids",{"_index":22248,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses",{"_index":22244,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses.map((c",{"_index":22249,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readdir",{"_index":12119,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readdir(folderpath",{"_index":12138,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["reader",{"_index":3427,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["readfile",{"_index":12120,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfile(filepath",{"_index":12141,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfilesync",{"_index":13463,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readfilesync(filepath",{"_index":13493,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readily",{"_index":25482,"title":{},"body":{"license.html":{}}}],["reading",{"_index":25363,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["readlessons",{"_index":22253,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readonly",{"_index":228,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileRecordFactory.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.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":{},"classes/SwapInternalLinksVisitor.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["readstream",{"_index":22486,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["readsyncmessage",{"_index":22879,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["readsyncmessage(decoder",{"_index":22923,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ready",{"_index":14950,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["readystate",{"_index":22829,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["real",{"_index":25714,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["really",{"_index":7555,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["realm",{"_index":14586,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["realmname",{"_index":13761,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows",{"_index":14695,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions",{"_index":14704,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions/execution",{"_index":14706,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["reason",{"_index":11849,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reasonable",{"_index":25288,"title":{},"body":{"license.html":{}}}],["reasons",{"_index":21618,"title":{},"body":{"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["receipt",{"_index":25417,"title":{},"body":{"license.html":{}}}],["receive",{"_index":2931,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["received",{"_index":2932,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"license.html":{}}}],["receives",{"_index":25433,"title":{},"body":{"license.html":{}}}],["receiving",{"_index":25496,"title":{},"body":{"license.html":{}}}],["recieved",{"_index":26143,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["recieving",{"_index":25868,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["recipient",{"_index":25348,"title":{},"body":{"license.html":{}}}],["recipient's",{"_index":25489,"title":{},"body":{"license.html":{}}}],["recipients",{"_index":1455,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"license.html":{}}}],["recognized",{"_index":25163,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["recommend",{"_index":26174,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["recommendations",{"_index":26220,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["recommended",{"_index":26218,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["reconnect",{"_index":15194,"title":{},"body":{"injectables/LdapService.html":{}}}],["reconsidered",{"_index":15245,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["record",{"_index":1078,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardNodeRepo.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LdapConnectionError.html":{},"injectables/Lti11EncryptionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"classes/ValidationError.html":{}}}],["record.mapper.ts",{"_index":11937,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:11",{"_index":11945,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:23",{"_index":11942,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:5",{"_index":11947,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["recording",{"_index":2312,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["recursive",{"_index":3629,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/CopyApiResponse.html":{}}}],["recursivecopyvisitor",{"_index":3628,"title":{"classes/RecursiveCopyVisitor.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["recursivecopyvisitor(params.filecopyservice",{"_index":3635,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["recursivedeletevisitor",{"_index":3647,"title":{"injectables/RecursiveDeleteVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["recursively",{"_index":12148,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/PermissionService.html":{}}}],["recursivesavevisitor",{"_index":3673,"title":{"classes/RecursiveSaveVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["recursivesavevisitor(this.em",{"_index":3704,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["red",{"_index":25641,"title":{},"body":{"todo.html":{}}}],["redirect",{"_index":2258,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirect_to",{"_index":18255,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{},"classes/RedirectResponse.html":{}}}],["redirect_uri",{"_index":1498,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/HydraSsoService.html":{},"classes/TokenRequestMapper.html":{}}}],["redirect_uris",{"_index":11091,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["redirectreponse",{"_index":18804,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectreponse.redirect_to",{"_index":18809,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectresponse",{"_index":17395,"title":{"classes/RedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirects",{"_index":17254,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["redirecturi",{"_index":13711,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturis",{"_index":8323,"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":18805,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redis",{"_index":4273,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{}}}],["redis_client",{"_index":18814,"title":{},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redis_uri",{"_index":20600,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisclient",{"_index":4274,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisidentifier",{"_index":14511,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["redismodule",{"_index":18810,"title":{"modules/RedisModule.html":{}},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisstore",{"_index":20595,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redistribute",{"_index":25590,"title":{},"body":{"license.html":{}}}],["redisurl",{"_index":4278,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["reduce",{"_index":26479,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["reduce((previousteachers",{"_index":5832,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["ref",{"_index":2918,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"controllers/SchoolController.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ref.builder.ts",{"_index":9595,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.builder.ts:6",{"_index":9596,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.do.ts",{"_index":20002,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:2",{"_index":20004,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:4",{"_index":20003,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.params.ts",{"_index":7154,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:13",{"_index":7155,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:9",{"_index":7157,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.target",{"_index":3009,"title":{},"body":{"entities/Board.html":{}}}],["ref.ts",{"_index":7150,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:4",{"_index":7152,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:5",{"_index":20503,"title":{},"body":{"classes/ScopeRef.html":{}}}],["ref.ts:6",{"_index":7151,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:7",{"_index":20502,"title":{},"body":{"classes/ScopeRef.html":{}}}],["refactor",{"_index":8793,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"modules/LearnroomApiModule.html":{},"classes/ToolConfiguration.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["refactoring",{"_index":11508,"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":3765,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["reference",{"_index":1842,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DeletionClient.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/ReferencesService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.contains(user",{"_index":1844,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["reference.controller",{"_index":23008,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["reference.controller.ts",{"_index":23367,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:28",{"_index":23375,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:51",{"_index":23379,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.getmetadata",{"_index":8527,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["reference.length",{"_index":18891,"title":{},"body":{"classes/ReferencesService.html":{}}}],["reference.loader",{"_index":1959,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.mapper.ts",{"_index":23392,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.mapper.ts:6",{"_index":23395,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.module",{"_index":12254,"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":1918,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["reference.response",{"_index":23390,"title":{},"body":{"classes/ToolReferenceListResponse.html":{}}}],["reference.response.ts",{"_index":23396,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:13",{"_index":23403,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:16",{"_index":23400,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:19",{"_index":23405,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:27",{"_index":23398,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:6",{"_index":23399,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.service.ts",{"_index":1944,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:12",{"_index":1951,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:14",{"_index":23411,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:15",{"_index":1954,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:23",{"_index":23413,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:26",{"_index":1956,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.ts",{"_index":3772,"title":{},"body":{"interfaces/BoardExternalReference.html":{},"classes/RoleReference.html":{},"classes/ToolReference.html":{}}}],["reference.ts:10",{"_index":23363,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:12",{"_index":23359,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:4",{"_index":23360,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:5",{"_index":19249,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:6",{"_index":23362,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:7",{"_index":19248,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:8",{"_index":23361,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.type",{"_index":3695,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["reference.uc.ts",{"_index":23416,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:11",{"_index":23419,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:18",{"_index":23425,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:41",{"_index":23427,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:58",{"_index":23423,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:72",{"_index":23421,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["referenced",{"_index":3750,"title":{},"body":{"entities/BoardElement.html":{},"classes/CardSkeletonResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"injectables/ImportUserRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserRepo.html":{}}}],["referencedentity",{"_index":9514,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["referencedentityid",{"_index":18862,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentityname",{"_index":18861,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentitynotfoundloggable",{"_index":18857,"title":{"classes/ReferencedEntityNotFoundLoggable.html":{}},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedid",{"_index":8510,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceforindex",{"_index":8586,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceids",{"_index":2948,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["referenceloader",{"_index":1912,"title":{"injectables/ReferenceLoader.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["referencemodels",{"_index":8723,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["references",{"_index":2911,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionQueueConsole.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ReferencesService.html":{},"controllers/ToolReferenceController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["references.filter((ref",{"_index":3003,"title":{},"body":{"entities/Board.html":{}}}],["references.push(columnboardelement",{"_index":3389,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(lessonelement",{"_index":3385,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(reference",{"_index":18892,"title":{},"body":{"classes/ReferencesService.html":{}}}],["references.push(taskelement",{"_index":3383,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.some((ref",{"_index":3008,"title":{},"body":{"entities/Board.html":{}}}],["references[position.groupindex",{"_index":8587,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referencesservice",{"_index":2902,"title":{"classes/ReferencesService.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/ReferencesService.html":{}}}],["referencesservice.loadfromtxtfile(refsfilepath",{"_index":2914,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["referer",{"_index":13598,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["referring",{"_index":25065,"title":{},"body":{"license.html":{}}}],["refers",{"_index":25110,"title":{},"body":{"license.html":{}}}],["refid",{"_index":11798,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refined",{"_index":26224,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reflect",{"_index":24942,"title":{},"body":{"dependencies.html":{},"todo.html":{}}}],["reflector",{"_index":22611,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["reflector.get('timeout",{"_index":22614,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["refobjectid",{"_index":11650,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["refownermodel",{"_index":11598,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refpermmodel",{"_index":11799,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["refrain",{"_index":25525,"title":{},"body":{"license.html":{}}}],["refresh_token",{"_index":17352,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{}}}],["refreshtimeout",{"_index":19645,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["refreshtoken",{"_index":17060,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/TokenRequestMapper.html":{}}}],["refsfilepath",{"_index":2900,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["refsfromtxtfile",{"_index":2913,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["refsfromtxtfile.foreach((ref",{"_index":2916,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["regard",{"_index":25368,"title":{},"body":{"license.html":{}}}],["regarding",{"_index":25000,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["regardless",{"_index":25258,"title":{},"body":{"license.html":{}}}],["regenerate",{"_index":25185,"title":{},"body":{"license.html":{}}}],["regex",{"_index":6203,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/CopyFilesService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/MongoPatterns.html":{},"classes/Path.html":{},"injectables/TaskCopyService.html":{},"injectables/UserRepo.html":{}}}],["regex_mongo_language_pattern_whitelist",{"_index":16552,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["regexcomment",{"_index":8247,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["regexp",{"_index":118,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["regexp(`${sourceid",{"_index":7366,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`^${email.replace(/\\w/g",{"_index":24253,"title":{},"body":{"injectables/UserRepo.html":{}}}],["regexp(param.regex",{"_index":10618,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(param.regex).test(foundentry.value",{"_index":6200,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["regexp(param.regex).test(param.default",{"_index":10620,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(searchusername",{"_index":819,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["regexpmatcharray",{"_index":136,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["region",{"_index":7308,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["register",{"_index":18050,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["register(config",{"_index":18051,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["register(configs",{"_index":19652,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["registerparentdata",{"_index":18737,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerparentdata(parent",{"_index":18743,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerstrategy",{"_index":18309,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registerstrategy(strategy",{"_index":18324,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registrated",{"_index":26447,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["registrationpinentity",{"_index":18893,"title":{"entities/RegistrationPinEntity.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{}}}],["registrationpinentityprops",{"_index":18903,"title":{"interfaces/RegistrationPinEntityProps.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinmodule",{"_index":9052,"title":{"modules/RegistrationPinModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RegistrationPinModule.html":{}}}],["registrationpinrepo",{"_index":18916,"title":{"injectables/RegistrationPinRepo.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["registrationpins",{"_index":18904,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinservice",{"_index":18915,"title":{"injectables/RegistrationPinService.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{}}}],["regular",{"_index":808,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["reinstated",{"_index":25406,"title":{},"body":{"license.html":{}}}],["reject",{"_index":15199,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reject(new",{"_index":15206,"title":{},"body":{"injectables/LdapService.html":{}}}],["rejectable.body",{"_index":6319,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rejectable.body.ts",{"_index":16991,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:13",{"_index":16992,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:23",{"_index":16993,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:32",{"_index":16994,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:41",{"_index":16995,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:50",{"_index":16996,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectconsentrequest",{"_index":17370,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectconsentrequest(challenge",{"_index":17379,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest",{"_index":17526,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest(challenge",{"_index":17534,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectnothandled",{"_index":6486,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectnothandled(component",{"_index":6489,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectrequestbody",{"_index":17380,"title":{"interfaces/RejectRequestBody.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/RejectRequestBody.html":{}}}],["related",{"_index":4905,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["relatedresourceproperties",{"_index":16294,"title":{"interfaces/RelatedResourceProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relatedresources",{"_index":16286,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relation",{"_index":13035,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["relation.ktid",{"_index":19848,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relation.rollen?.length",{"_index":19845,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relations",{"_index":11822,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relationship",{"_index":21757,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{}}}],["relationtype",{"_index":16305,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relative",{"_index":5221,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/HydraSsoService.html":{}}}],["relative.org",{"_index":6529,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["release",{"_index":26193,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["released",{"_index":25105,"title":{},"body":{"license.html":{}}}],["releasing",{"_index":25097,"title":{},"body":{"license.html":{}}}],["relevant",{"_index":25252,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["relicensing",{"_index":25106,"title":{},"body":{"license.html":{}}}],["reload",{"_index":18165,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relying",{"_index":25481,"title":{},"body":{"license.html":{}}}],["remain",{"_index":25305,"title":{},"body":{"license.html":{}}}],["remains",{"_index":25063,"title":{},"body":{"license.html":{}}}],["remapprotectedentityfields",{"_index":2442,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["remapprotectedentityfields(domainobject",{"_index":2467,"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":{}}}],["remember",{"_index":169,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remember_for",{"_index":170,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remembered",{"_index":6293,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rememberfor",{"_index":6291,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["remote",{"_index":25527,"title":{},"body":{"license.html":{}}}],["remotely",{"_index":25529,"title":{},"body":{"license.html":{}}}],["removal",{"_index":13501,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{}}}],["remove",{"_index":1939,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"interfaces/CopyFileDO.html":{},"entities/CourseNews.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"classes/KeycloakConsole.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["remove_creatorid_of_files",{"_index":7205,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["removeawarenessstates",{"_index":22875,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removeawarenessstates(doc.awareness",{"_index":22892,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removechild",{"_index":3065,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removechild(child",{"_index":3083,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removecreatorid",{"_index":11923,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["removecreatoridfromfilerecords",{"_index":12260,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["removecreatoridfromfilerecords(@rabbitpayload",{"_index":12365,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["removecreatoridfromfilerecords(creatorid",{"_index":12270,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["removecreatoridfromfilerecords(payload",{"_index":12343,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["removecreatoridfromfilerecords:finished",{"_index":12463,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["removecreatoridfromfilerecords:started",{"_index":12461,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["removed",{"_index":80,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/RpcMessageProducer.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"classes/WsSharedDocDo.html":{}}}],["removed.foreach((clientid",{"_index":24792,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["removedeletedreferences(boardelementtargets",{"_index":3001,"title":{},"body":{"entities/Board.html":{}}}],["removedirrecursive",{"_index":12121,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removedirrecursive(folderpath",{"_index":12146,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removeemptyobjectsfromresponse",{"_index":19728,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeemptyobjectsfromresponse(response",{"_index":19741,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeexternalgroupsandaffiliation",{"_index":17742,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removeexternalgroupsandaffiliation(externaluserid",{"_index":17762,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removefeature",{"_index":15444,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefeature(schoolid",{"_index":15456,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefromposition",{"_index":8456,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removefromposition(position",{"_index":8492,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removefromwhitelist",{"_index":14491,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removefromwhitelist(accountid",{"_index":14501,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removegroupmoderator(groupname",{"_index":1138,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["removejwtfromwhitelist",{"_index":1692,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removejwtfromwhitelist(jwttoken",{"_index":1707,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removematch",{"_index":14006,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removematch(urlparams",{"_index":14020,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removepermissionsbyrefid(refid",{"_index":11649,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["removeprotectedentityfields",{"_index":2443,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["removeprotectedentityfields(entitydata",{"_index":2470,"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":12746,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereference(reference",{"_index":8506,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex",{"_index":12747,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex(index",{"_index":8505,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removeroomsnotinlist",{"_index":8457,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removeroomsnotinlist(roomlist",{"_index":8494,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removes",{"_index":5403,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["removesecrets(collectionname",{"_index":5414,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromstorageproviders(storageproviders",{"_index":5417,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromsystems(systems",{"_index":5421,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removestudent(userid",{"_index":7791,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["removesubstitutionteacher(userid",{"_index":7627,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeteacher(userid",{"_index":7625,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeuser",{"_index":4587,"title":{},"body":{"classes/Class.html":{},"classes/Group.html":{}}}],["removeuser(user",{"_index":12776,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["removeuser(userid",{"_index":4596,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["removeuserids",{"_index":16945,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserids.tostring",{"_index":16949,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserpermissionstoanyfiles",{"_index":12222,"title":{},"body":{"injectables/FilesService.html":{}}}],["removeuserpermissionstoanyfiles(userid",{"_index":12230,"title":{},"body":{"injectables/FilesService.html":{}}}],["rename",{"_index":10771,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["renamebodyparams",{"_index":3236,"title":{"classes/RenameBodyParams.html":{}},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/RenameBodyParams.html":{}}}],["renamed",{"_index":16927,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["renamefileparams",{"_index":7281,"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":8819,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["renamegroupondashboard(dashboardid",{"_index":8825,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["rendered",{"_index":25569,"title":{},"body":{"license.html":{}}}],["reorderboardelements",{"_index":19445,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderboardelements(roomid",{"_index":19450,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderelements(ids",{"_index":2979,"title":{},"body":{"entities/Board.html":{}}}],["reordering",{"_index":2991,"title":{},"body":{"entities/Board.html":{}}}],["repair",{"_index":25559,"title":{},"body":{"license.html":{}}}],["repeat",{"_index":25840,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["repeatcommand",{"_index":14807,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["repeatcommand(commandname",{"_index":4964,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["repeats",{"_index":16280,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["repetitions",{"_index":4965,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["replace",{"_index":1995,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/ReferencesService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["replace('exception",{"_index":12720,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["replace(/\\\\n/g",{"_index":15316,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["replaced",{"_index":1922,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/UserBoardRoles.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["replacement",{"_index":5409,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["replacemypassword",{"_index":320,"title":{},"body":{"controllers/AccountController.html":{}}}],["replacemypassword(currentuser",{"_index":353,"title":{},"body":{"controllers/AccountController.html":{}}}],["replicaset",{"_index":26312,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replikaset",{"_index":25645,"title":{},"body":{"todo.html":{}}}],["replset",{"_index":26316,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["reply",{"_index":22924,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["replyto",{"_index":1458,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["repo",{"_index":2636,"title":{},"body":{"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"injectables/GroupService.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LegacySchoolModule.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearService.html":{},"injectables/SubmissionItemService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["repo.integration.spec",{"_index":7958,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["repo.integration.spec.js",{"_index":26185,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repo.mapper",{"_index":20361,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["repo.mapper.ts",{"_index":20377,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["repo.mapper.ts:23",{"_index":20380,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["repo.mapper.ts:7",{"_index":20379,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["repo.ts",{"_index":25923,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["repo/account.repo",{"_index":676,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["repo/deletion",{"_index":9356,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["repo/share",{"_index":20820,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["repo/temporary",{"_index":22496,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["repo/tldraw.repo",{"_index":22761,"title":{},"body":{"modules/TldrawModule.html":{},"injectables/TldrawService.html":{}}}],["repoloader",{"_index":18828,"title":{"interfaces/RepoLoader.html":{}},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.populate",{"_index":18855,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.repo.findbyid(objectid",{"_index":18856,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["report",{"_index":8865,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reported",{"_index":26016,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["reporting",{"_index":26225,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reports",{"_index":26196,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repos",{"_index":6086,"title":{},"body":{"modules/CommonToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/VideoConferenceModule.html":{}}}],["repositories",{"_index":25627,"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":15629,"title":{},"body":{"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/PseudonymService.html":{},"index.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["repository.createorupdate(pseudonym",{"_index":18482,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repository.findbyuseridandtoolid(user.id",{"_index":18481,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repotype",{"_index":18829,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["represent",{"_index":25335,"title":{},"body":{"license.html":{}}}],["representation",{"_index":626,"title":{},"body":{"injectables/AccountLookupService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["represents",{"_index":6314,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["req",{"_index":12067,"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":18956,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.header('range",{"_index":12540,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.headers.authorization",{"_index":17661,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["req.headers.origin",{"_index":24459,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["req.method",{"_index":18955,"title":{},"body":{"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{}}}],["req.on('close",{"_index":12079,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["req.params",{"_index":18996,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.params[0]}/${params.fwulearningcontent",{"_index":12541,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.query",{"_index":18997,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.route.path",{"_index":18960,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.url",{"_index":18995,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.user",{"_index":18994,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["reqinfo",{"_index":18969,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.baseurl",{"_index":18974,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.fullpath",{"_index":18975,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.method",{"_index":18973,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.routepath",{"_index":18976,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqroute",{"_index":18950,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["request",{"_index":193,"title":{},"body":{"classes/AcceptQuery.html":{},"controllers/AccountController.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/FileRequestInfo.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ILegacyLogger.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/JwtExtractor.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RpcMessageProducer.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SystemFilterParams.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TokenRequestLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["request's",{"_index":9121,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request'})@apiresponse({status",{"_index":5097,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{}}}],["request(event",{"_index":12447,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["request(s",{"_index":9128,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request.body",{"_index":15238,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["request.body.params.ts",{"_index":9403,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:11",{"_index":9408,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:20",{"_index":9406,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.ts",{"_index":165,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["request.body.ts:10",{"_index":6282,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:14",{"_index":15975,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:20",{"_index":6289,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:24",{"_index":15976,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:30",{"_index":6295,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.contextid",{"_index":6937,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.contexttype",{"_index":6938,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.displayname",{"_index":6939,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.do",{"_index":9437,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["request.do.ts",{"_index":9385,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["request.do.ts:15",{"_index":9387,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:19",{"_index":9388,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:23",{"_index":9390,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:27",{"_index":9392,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:31",{"_index":9394,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:35",{"_index":9396,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.entity.ts",{"_index":9414,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["request.entity.ts:22",{"_index":9416,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:25",{"_index":9419,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:28",{"_index":9418,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:31",{"_index":9417,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.factory.ts",{"_index":9434,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.factory.ts:8",{"_index":9436,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.mapper",{"_index":9503,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["request.mapper.ts",{"_index":6926,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:115",{"_index":10834,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:119",{"_index":10841,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:125",{"_index":10845,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:131",{"_index":10848,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:137",{"_index":10852,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:143",{"_index":10838,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:160",{"_index":10856,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:17",{"_index":9468,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:172",{"_index":10832,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:21",{"_index":22984,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:22",{"_index":6933,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:5",{"_index":9467,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["request.mapper.ts:6",{"_index":22982,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:60",{"_index":10861,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:7",{"_index":6930,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:8",{"_index":20033,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:88",{"_index":10828,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.repo",{"_index":9357,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["request.repo.ts",{"_index":9482,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:11",{"_index":9486,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:14",{"_index":9501,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:18",{"_index":9494,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:28",{"_index":9488,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:34",{"_index":9492,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:49",{"_index":9500,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:56",{"_index":9496,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:67",{"_index":9498,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:78",{"_index":9490,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.response.ts",{"_index":9523,"title":{},"body":{"classes/DeletionRequestResponse.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:10",{"_index":23283,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:16",{"_index":23287,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:23",{"_index":23285,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:30",{"_index":23282,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:5",{"_index":9525,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.response.ts:8",{"_index":9524,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.schoolid",{"_index":20037,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.schooltoolid",{"_index":6936,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.service",{"_index":9355,"title":{},"body":{"modules/DeletionModule.html":{}}}],["request.service.ts",{"_index":9535,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:12",{"_index":9541,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:33",{"_index":9545,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:39",{"_index":9544,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:45",{"_index":9549,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:49",{"_index":9546,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:53",{"_index":9547,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:57",{"_index":9542,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:9",{"_index":9539,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.toolid",{"_index":20036,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.toolversion",{"_index":6940,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.ts",{"_index":23275,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:10",{"_index":23276,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:4",{"_index":23277,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:6",{"_index":23279,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:8",{"_index":23278,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.url.replace(/(\\/)|(tldraw",{"_index":22821,"title":{},"body":{"classes/TldrawWs.html":{}}}],["request.user.user",{"_index":25633,"title":{},"body":{"todo.html":{}}}],["request.version",{"_index":20038,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request/bbb",{"_index":2288,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["request/response",{"_index":25981,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["request_denied",{"_index":6300,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["request_url",{"_index":6325,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestauthcode",{"_index":13563,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthcode(jwt",{"_index":13573,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthtoken",{"_index":17639,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestauthtoken(currentuser",{"_index":17644,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestconfig",{"_index":9126,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["requestdata",{"_index":16026,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requested",{"_index":2860,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/ConsentResponse.html":{},"classes/DeletionExecutionConsole.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/LoginResponse-1.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["requested_access_token_audience",{"_index":6326,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requested_scope",{"_index":6327,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestedprovisioningoptions",{"_index":20411,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["requesthandler",{"_index":18953,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestid",{"_index":2839,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["requestinfo",{"_index":18937,"title":{"classes/RequestInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestinfo(req",{"_index":18970,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requesting",{"_index":17171,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["requestloggingbody",{"_index":13775,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["requestlogginginterceptor",{"_index":18986,"title":{"injectables/RequestLoggingInterceptor.html":{}},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["requestmapper",{"_index":23462,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["requestoptions",{"_index":16024,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requests",{"_index":9156,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/InterceptorModule.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"classes/VideoConferenceOptionsResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requests.controller",{"_index":9067,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["requests.controller.ts",{"_index":9565,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:23",{"_index":9576,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:39",{"_index":9582,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:51",{"_index":9572,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requesttimeout",{"_index":19399,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TimeoutInterceptor.html":{}}}],["requesttimeout(serverconfig().incoming_request_timeout_copy_api",{"_index":19414,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["requesttimeoutexception",{"_index":22610,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["requesttoken",{"_index":1309,"title":{},"body":{"injectables/AntivirusService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{}}}],["requesttoken(code",{"_index":17018,"title":{},"body":{"injectables/OAuthService.html":{}}}],["requesturl",{"_index":6349,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["require",{"_index":5363,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["require('../../../../../src/services/authentication/configuration",{"_index":14443,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["require('../../../../config/globals",{"_index":12657,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["require('rimraf",{"_index":12159,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["require_tld",{"_index":24491,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["required",{"_index":194,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileMetadata.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/IdParams.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"interfaces/Options.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["required.'})@apiresponse({status",{"_index":332,"title":{},"body":{"controllers/AccountController.html":{}}}],["requiredemptyelement",{"_index":4518,"title":{},"body":{"injectables/CardService.html":{}}}],["requiredemptyelements",{"_index":4484,"title":{},"body":{"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{},"classes/CreateCardBodyParams.html":{}}}],["requiredentitydata",{"_index":2480,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["requiredextensions",{"_index":11734,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["requiredpermissions",{"_index":1778,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/LessonRule.html":{},"injectables/NewsUc.html":{},"injectables/PermissionService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requiredpermissions.every((p",{"_index":1824,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.length",{"_index":1837,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.some((p",{"_index":1839,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["requireduserrole",{"_index":2671,"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":3440,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["requirement",{"_index":14715,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"license.html":{}}}],["requirements",{"_index":25307,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["requires",{"_index":10596,"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":25122,"title":{},"body":{"license.html":{}}}],["res",{"_index":7640,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"classes/MetadataTypeMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"controllers/ToolController.html":{}}}],["res.contenttype",{"_index":12082,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.cookie",{"_index":1621,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["res.data.destroy",{"_index":12080,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.files.length",{"_index":19632,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["res.send(externaltoollogo.logo",{"_index":23202,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.set",{"_index":12543,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.setheader('cache",{"_index":23199,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.setheader('content",{"_index":23198,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.status(httpstatus.ok",{"_index":12549,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.status(httpstatus.partial_content",{"_index":12548,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.statuscode",{"_index":18963,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resave",{"_index":20603,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["reset",{"_index":270,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["resetlastauthorizationtime",{"_index":14549,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["resetoauthconfigcache",{"_index":14822,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resinfo",{"_index":18971,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resinfo.statuscode",{"_index":18977,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resizeandconvert",{"_index":18070,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resizeandconvert(original",{"_index":18080,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resolve",{"_index":6303,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/PermissionService.html":{},"classes/TestConnection.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["resolve(client",{"_index":15205,"title":{},"body":{"injectables/LdapService.html":{}}}],["resolved",{"_index":3310,"title":{},"body":{"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{}}}],["resolvedgroup",{"_index":13001,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource",{"_index":13020,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.externalid",{"_index":13021,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.systemid",{"_index":13022,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.id",{"_index":13017,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.name",{"_index":13018,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.organizationid",{"_index":13028,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.users.map",{"_index":13023,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroupdto",{"_index":12827,"title":{"classes/ResolvedGroupDto.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["resolvedgroupuser",{"_index":13093,"title":{"classes/ResolvedGroupUser.html":{}},"body":{"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["resolvedgroupusers",{"_index":13097,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedtools",{"_index":11047,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolvedtools.filter((tool",{"_index":11054,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolveduser",{"_index":23607,"title":{},"body":{"controllers/UserController.html":{},"injectables/UserService.html":{}}}],["resolvedusermapper",{"_index":19011,"title":{"classes/ResolvedUserMapper.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"controllers/UserController.html":{}}}],["resolvedusermapper.maptoresponse(user",{"_index":23608,"title":{},"body":{"controllers/UserController.html":{}}}],["resolveduserresponse",{"_index":19015,"title":{"classes/ResolvedUserResponse.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"controllers/UserController.html":{}}}],["resolvedusers",{"_index":13092,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedusers.filter((groupuser",{"_index":13107,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvepermissions",{"_index":17952,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["resolvepermissions(user",{"_index":17956,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles",{"_index":17953,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles(inputroles",{"_index":17960,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolveplaceholder(placeholder",{"_index":5384,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["resolverepo",{"_index":18819,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["resolverepo(type",{"_index":18826,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["resolves",{"_index":14206,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["resolvetokenrequest",{"_index":17115,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resolvetokenrequest(observable",{"_index":17121,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resource",{"_index":5877,"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":23147,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.caninline",{"_index":5893,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resource.ts",{"_index":5911,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:15",{"_index":6059,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:16",{"_index":5913,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:18",{"_index":6060,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:19",{"_index":5914,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:22",{"_index":6054,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:23",{"_index":5915,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:26",{"_index":6055,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:30",{"_index":6056,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:61",{"_index":6061,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:81",{"_index":5916,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource_link_id",{"_index":8160,"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":6053,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceelements",{"_index":6051,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourcename",{"_index":16975,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourceownerpasswordgrant",{"_index":13898,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceownerpasswordgrant(username",{"_index":13901,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceprops",{"_index":5797,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resources",{"_index":5795,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resp",{"_index":9109,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.data",{"_index":2401,"title":{},"body":{"injectables/BBBService.html":{},"injectables/DeletionClient.html":{}}}],["resp.data.deletionplannedat",{"_index":9123,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.data.requestid",{"_index":9117,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.everyattendeejoinsmuted",{"_index":24699,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.everybodyjoinsasmoderator",{"_index":24700,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.moderatormustapprovejoinrequests",{"_index":24701,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.options",{"_index":9622,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.permission",{"_index":9614,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["resp.state",{"_index":9612,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.status",{"_index":9113,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.url",{"_index":9617,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["respect",{"_index":25231,"title":{},"body":{"license.html":{}}}],["respective",{"_index":26020,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["respobservable",{"_index":13717,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["respond",{"_index":25666,"title":{},"body":{"todo.html":{}}}],["responds",{"_index":16604,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["responsability",{"_index":25842,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response",{"_index":871,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/ClassInfoSearchListResponse.html":{},"controllers/ColumnController.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileListResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"controllers/ToolSchoolController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["response.access_token",{"_index":22988,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.authorization_endpoint",{"_index":14842,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.body",{"_index":1684,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.builder.ts",{"_index":7298,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.builder.ts:4",{"_index":7300,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["response.builder.ts:5",{"_index":9465,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.config",{"_index":10935,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.contentlength",{"_index":12554,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contentrange",{"_index":12547,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contenttype",{"_index":12552,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contextid",{"_index":6960,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.contexttype",{"_index":6961,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.data",{"_index":11552,"title":{},"body":{"classes/FileDtoBuilder.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/HydraOauthUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["response.data.access_token",{"_index":14853,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.data.destroy",{"_index":12550,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.deletionplannedat",{"_index":9460,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["response.displayname",{"_index":6962,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.dto",{"_index":25858,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response.end_session_endpoint",{"_index":14843,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.error",{"_index":1678,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.factory",{"_index":4471,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.factory.ts",{"_index":2113,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:14",{"_index":2119,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:16",{"_index":2121,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:18",{"_index":2122,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:19",{"_index":6431,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:20",{"_index":2120,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:22",{"_index":2117,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:28",{"_index":6434,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:40",{"_index":6433,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.headers['content",{"_index":11548,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["response.id",{"_index":6957,"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":22986,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.ishidden",{"_index":10936,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.issuer",{"_index":14840,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwks_uri",{"_index":14844,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwt",{"_index":16988,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.length",{"_index":12281,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["response.logourl",{"_index":6965,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.mapper",{"_index":4029,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolResponseMapper.html":{},"modules/LearnroomApiModule.html":{},"controllers/LoginController.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"controllers/SystemController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["response.mapper.ts",{"_index":829,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:10",{"_index":9707,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["response.mapper.ts:12",{"_index":21209,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:120",{"_index":19801,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:13",{"_index":16004,"title":{},"body":{"classes/LoginResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:14",{"_index":21210,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:15",{"_index":19295,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:16",{"_index":833,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:17",{"_index":19110,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:18",{"_index":9708,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:19",{"_index":17588,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:20",{"_index":12994,"title":{},"body":{"classes/GroupResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:21",{"_index":6971,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:22",{"_index":21213,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:23",{"_index":17582,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:27",{"_index":10356,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:28",{"_index":19108,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:29",{"_index":9706,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:32",{"_index":15821,"title":{},"body":{"classes/LinkElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:33",{"_index":21115,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:34",{"_index":20049,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:36",{"_index":19794,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:38",{"_index":6977,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:39",{"_index":12997,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:40",{"_index":17585,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:44",{"_index":10956,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:46",{"_index":6974,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:47",{"_index":19299,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:49",{"_index":21215,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:5",{"_index":16002,"title":{},"body":{"classes/LoginResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["response.mapper.ts:54",{"_index":13000,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:56",{"_index":19804,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:6",{"_index":835,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:68",{"_index":19798,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:7",{"_index":4028,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:72",{"_index":10947,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:73",{"_index":19298,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:76",{"_index":10952,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:8",{"_index":9705,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:80",{"_index":10954,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:84",{"_index":10950,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:86",{"_index":19796,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:9",{"_index":19109,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:93",{"_index":19297,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.message",{"_index":19477,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["response.metadata",{"_index":13366,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["response.name",{"_index":10933,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.opennewtab",{"_index":10937,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.parameters",{"_index":6963,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.redirect",{"_index":16989,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.refresh_token",{"_index":22987,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.requestid",{"_index":9527,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["response.restricttocontexts",{"_index":10939,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.schoolid",{"_index":20042,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.schooltoolid",{"_index":6959,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.set",{"_index":7662,"title":{},"body":{"controllers/CourseController.html":{}}}],["response.sourceid",{"_index":12312,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["response.state",{"_index":24619,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["response.statistics",{"_index":9462,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.status",{"_index":20043,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.status(errorresponse.code).json(errorresponse",{"_index":12703,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["response.subject",{"_index":17400,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["response.targetref",{"_index":9458,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.token_endpoint",{"_index":14841,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.toolid",{"_index":18432,"title":{},"body":{"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.toolversion",{"_index":6964,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.ts",{"_index":18530,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:10",{"_index":18535,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:11",{"_index":19682,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:12",{"_index":19675,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.ts:13",{"_index":19705,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:16",{"_index":19684,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["response.ts:17",{"_index":18536,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:18",{"_index":19717,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:19",{"_index":19703,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:22",{"_index":19687,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["response.ts:24",{"_index":18533,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:31",{"_index":18534,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:39",{"_index":18532,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:5",{"_index":19698,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["response.ts:6",{"_index":19665,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:7",{"_index":19704,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:8",{"_index":19693,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{}}}],["response.ts:9",{"_index":19672,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.url",{"_index":10934,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.userid",{"_index":18433,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["response.version",{"_index":10938,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response?.data",{"_index":1175,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["response].ts",{"_index":25917,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["response_type",{"_index":13652,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["response_types",{"_index":17156,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["responsedata",{"_index":17138,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsefilerecords",{"_index":11949,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["responseinfo",{"_index":18961,"title":{"classes/ResponseInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responseinfo(res",{"_index":18972,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsejson",{"_index":1187,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.authtoken",{"_index":1189,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.userid",{"_index":1188,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsemapper",{"_index":19729,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"controllers/ToolSchoolController.html":{}}}],["responses",{"_index":13148,"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":18952,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetime((req",{"_index":18982,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetoken",{"_index":17048,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["responsetoken.data",{"_index":17143,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetokenobservable",{"_index":17136,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetype",{"_index":10475,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["responsibilities",{"_index":25978,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["responsibility",{"_index":25808,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["responsible",{"_index":25434,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ressouces",{"_index":26448,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressource",{"_index":26449,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressources",{"_index":23348,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{}}}],["resssource",{"_index":25667,"title":{},"body":{"todo.html":{}}}],["rest",{"_index":9818,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["restart",{"_index":23810,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restarted",{"_index":23812,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["restartmigration",{"_index":19035,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(@currentuser",{"_index":23883,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(currentuser",{"_index":23833,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(userid",{"_index":19036,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["restartmigration(userloginmigration",{"_index":24044,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["restartuserloginmigrationuc",{"_index":19033,"title":{"injectables/RestartUserLoginMigrationUc.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["restmethod",{"_index":26290,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["restore",{"_index":19530,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"controllers/TaskController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["restore(@param",{"_index":21825,"title":{},"body":{"controllers/TaskController.html":{}}}],["restore(paths",{"_index":19553,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["restore(urlparams",{"_index":21800,"title":{},"body":{"controllers/TaskController.html":{}}}],["restored",{"_index":26176,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["restoreforuser(user",{"_index":21767,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["restricted",{"_index":7064,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"injectables/NewsUc.html":{},"classes/Path.html":{}}}],["restrictedcontextmismatchloggable",{"_index":7063,"title":{"classes/RestrictedContextMismatchLoggable.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["restrictedcontextmismatchloggable(externaltool.name",{"_index":7080,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["restricting",{"_index":25225,"title":{},"body":{"license.html":{}}}],["restriction",{"_index":25395,"title":{},"body":{"license.html":{}}}],["restrictions",{"_index":19052,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{},"license.html":{}}}],["restricttocontexts",{"_index":10143,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["result",{"_index":141,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardService.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"controllers/LessonController.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/UserController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["result.builder.ts",{"_index":9179,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:14",{"_index":9186,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:18",{"_index":9185,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:4",{"_index":9183,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.content",{"_index":21118,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["result.dto.ts",{"_index":19851,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:4",{"_index":19853,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:6",{"_index":19852,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.elements",{"_index":18668,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["result.image?.url",{"_index":16351,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["result.push",{"_index":14756,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["result.push(room",{"_index":8574,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["result.query",{"_index":20489,"title":{},"body":{"classes/Scope.html":{}}}],["result.reduce((alloweddos",{"_index":4571,"title":{},"body":{"injectables/CardUc.html":{}}}],["result.success",{"_index":9015,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["result.ts",{"_index":9176,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["result?.length",{"_index":144,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["result[sortby",{"_index":14131,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["resultelement",{"_index":8554,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["resulting",{"_index":25091,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resultmap",{"_index":18597,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["results",{"_index":103,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["results.foreach((result",{"_index":9014,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["results.map",{"_index":2493,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["results.map((account",{"_index":14909,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["results.push(mapped",{"_index":9780,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["results[1",{"_index":147,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["resultuser",{"_index":24219,"title":{},"body":{"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ret",{"_index":14921,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySchoolService.html":{}}}],["ret.attdbcaccountid",{"_index":14929,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcsystemid",{"_index":14925,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcuserid",{"_index":14927,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["retaccountid",{"_index":14967,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["retains",{"_index":25352,"title":{},"body":{"license.html":{}}}],["retried",{"_index":4914,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrieve",{"_index":16608,"title":{},"body":{"controllers/NewsController.html":{}}}],["retrieving",{"_index":9580,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["retry",{"_index":4912,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrycount",{"_index":4900,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrydelay",{"_index":4901,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryflags",{"_index":4909,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryoptions",{"_index":4899,"title":{"interfaces/RetryOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["return",{"_index":148,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["returncode",{"_index":2152,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["returned",{"_index":534,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/ListOauthClientsParams.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returned.'})@apiokresponse({description",{"_index":23826,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["returnedfiles",{"_index":19622,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["returning",{"_index":7179,"title":{},"body":{"classes/CopyApiResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returns",{"_index":35,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"classes/SchoolSystemOptionsMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.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":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["retvalue",{"_index":26099,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["reuse",{"_index":6285,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["reused",{"_index":25931,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["revalidate",{"_index":23201,"title":{},"body":{"controllers/ToolController.html":{}}}],["revert.service.ts",{"_index":24007,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:14",{"_index":24011,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:8",{"_index":24009,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["reverted",{"_index":23816,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["revertpublished",{"_index":21785,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["revertpublished(urlparams",{"_index":21803,"title":{},"body":{"controllers/TaskController.html":{}}}],["revertpublished(userid",{"_index":22202,"title":{},"body":{"injectables/TaskUC.html":{}}}],["revertuserloginmigration",{"_index":24008,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revertuserloginmigration(userloginmigration",{"_index":24010,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["review",{"_index":26239,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reviewers",{"_index":25022,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["reviewing",{"_index":25579,"title":{},"body":{"license.html":{}}}],["revised",{"_index":25535,"title":{},"body":{"license.html":{}}}],["revokeconsentparams",{"_index":17440,"title":{"classes/RevokeConsentParams.html":{}},"body":{"controllers/OauthProviderController.html":{},"classes/RevokeConsentParams.html":{}}}],["revokeconsentsession",{"_index":17410,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["revokeconsentsession(@currentuser",{"_index":17501,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(currentuser",{"_index":17439,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(user",{"_index":17618,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["revokeconsentsession(userid",{"_index":17632,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["revokematch",{"_index":13998,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["rewindsequence",{"_index":513,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["rfc6749",{"_index":17170,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["rfp",{"_index":9369,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["rich",{"_index":3158,"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":19056,"title":{"classes/RichText.html":{}},"body":{"classes/RichText.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["richtextcontentbody",{"_index":6508,"title":{"classes/RichTextContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelement",{"_index":3146,"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":18783,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.inputformat",{"_index":6538,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.text",{"_index":6535,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelementcontent",{"_index":19088,"title":{"classes/RichTextElementContent.html":{}},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementcontentbody",{"_index":9647,"title":{"classes/RichTextElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelementnode",{"_index":3512,"title":{"entities/RichTextElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementnodefactory",{"_index":3853,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodefactory.build",{"_index":3876,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodeprops",{"_index":19098,"title":{"interfaces/RichTextElementNodeProps.html":{}},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementprops",{"_index":19086,"title":{"interfaces/RichTextElementProps.html":{}},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["richtextelementresponse",{"_index":4067,"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":6443,"title":{"classes/RichTextElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementresponsemapper.getinstance",{"_index":6427,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["richtextelementresponsemapper.instance",{"_index":19112,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["richtext})@decodehtmlentities",{"_index":22093,"title":{},"body":{"classes/TaskResponse.html":{}}}],["rid",{"_index":5469,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["right",{"_index":25346,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rights",{"_index":25075,"title":{},"body":{"license.html":{}}}],["rimraf",{"_index":12158,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"dependencies.html":{}}}],["rimraf.sync(folderpath",{"_index":12173,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["risk",{"_index":25553,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rmq",{"_index":12693,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["ro",{"_index":1073,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocket",{"_index":19119,"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":26311,"title":{"additional-documentation/nestjs-application/rocket.chat.html":{}},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat",{"_index":19916,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["rocket_chat_admin_password=huhudbildungscloud",{"_index":26361,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_admin_user=admin",{"_index":26360,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_options",{"_index":19121,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["rocket_chat_uri=\"http://localhost:3000",{"_index":26359,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat",{"_index":1082,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat_service_enabled=true",{"_index":26358,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchaterror",{"_index":1079,"title":{"classes/RocketChatError.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror(e",{"_index":1174,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror.prototype",{"_index":1099,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatgroupmodel",{"_index":1064,"title":{"interfaces/RocketChatGroupModel.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatmodule",{"_index":9053,"title":{"modules/RocketChatModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatmodule.forroot",{"_index":9069,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatoptions",{"_index":1059,"title":{"interfaces/RocketChatOptions.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatservice",{"_index":1108,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatuser",{"_index":19122,"title":{"classes/RocketChatUser.html":{}},"body":{"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatuserentity",{"_index":19140,"title":{"entities/RocketChatUserEntity.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatuserentityfactory",{"_index":19155,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserentityprops",{"_index":19146,"title":{"interfaces/RocketChatUserEntityProps.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory",{"_index":19152,"title":{"classes/RocketChatUserFactory.html":{}},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory.define(rocketchatuserentity",{"_index":19156,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatusermapper",{"_index":19158,"title":{"classes/RocketChatUserMapper.html":{}},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermapper.maptodo(entity",{"_index":19187,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermodule",{"_index":9054,"title":{"modules/RocketChatUserModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatUserModule.html":{}}}],["rocketchatuserprops",{"_index":19136,"title":{"interfaces/RocketChatUserProps.html":{}},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rocketchatuserrepo",{"_index":19175,"title":{"injectables/RocketChatUserRepo.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatusers",{"_index":19147,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["rocketchatuserservice",{"_index":19174,"title":{"injectables/RocketChatUserService.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{}}}],["role",{"_index":331,"title":{"entities/Role.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AuthorizationHelper.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/CurrentUserMapper.html":{},"classes/FilterImportUserParams.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/JwtStrategy.html":{},"classes/LdapConfigEntity.html":{},"interfaces/NameMatch.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/PermissionService.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["role.entity",{"_index":22286,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.factory",{"_index":23776,"title":{},"body":{"classes/UserFactory.html":{}}}],["role.id",{"_index":8123,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["role.mapper.ts",{"_index":16076,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.mapper.ts:13",{"_index":16079,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.name",{"_index":5057,"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":5108,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["role.params.ts",{"_index":22360,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:11",{"_index":22361,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:7",{"_index":22362,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.resolvepermissions",{"_index":1827,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.roles.isinitialized(true",{"_index":22439,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roleadmin",{"_index":15135,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleattributenamemapping",{"_index":15132,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roledto",{"_index":5026,"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":19273,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolefactory",{"_index":22410,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["rolefactory.build",{"_index":22414,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["rolefactory.buildwithid",{"_index":22416,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["roleid",{"_index":5143,"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":23739,"title":{},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["rolemapper",{"_index":19215,"title":{"classes/RoleMapper.html":{}},"body":{"classes/RoleMapper.html":{},"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(entities",{"_index":19280,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(roles",{"_index":19278,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitytodto(entity",{"_index":19276,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapping",{"_index":16081,"title":{},"body":{"classes/LtiRoleMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["rolemapping[rolename",{"_index":16089,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolemapping[source.personenkontexte[0].rolle",{"_index":19828,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["rolemodule",{"_index":1524,"title":{"modules/RoleModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"modules/ProvisioningModule.html":{},"modules/RoleModule.html":{},"modules/UserModule.html":{}}}],["rolename",{"_index":5056,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.administrator",{"_index":13967,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserFactory.html":{}}}],["rolename.enum",{"_index":26455,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["rolename.student",{"_index":11443,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.superhero",{"_index":16086,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolename.teacher",{"_index":11442,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.user",{"_index":16082,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenamemapper",{"_index":14127,"title":{"classes/RoleNameMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/RoleNameMapper.html":{}}}],["rolenamemapper.maptodomain(query.role",{"_index":14154,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenamemapper.maptoresponse(role",{"_index":14137,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenames",{"_index":13947,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["rolenames.map((rolename",{"_index":16088,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenosc",{"_index":15136,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["rolepermissions",{"_index":23571,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roleproperties",{"_index":19202,"title":{"interfaces/RoleProperties.html":{}},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["roleref",{"_index":24330,"title":{},"body":{"injectables/UserService.html":{}}}],["roleref.id",{"_index":8126,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["roleref.name",{"_index":14415,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["rolereference",{"_index":8120,"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":17785,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolerepo",{"_index":19230,"title":{"injectables/RoleRepo.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["roles",{"_index":3436,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/IservMapper.html":{},"interfaces/JwtPayload.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["roles.foreach((role",{"_index":23570,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roles.length",{"_index":17844,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["roles.map((role",{"_index":17788,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{}}}],["roles.map(async",{"_index":22438,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roles[0].id",{"_index":17845,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolesandpermissions",{"_index":17968,"title":{},"body":{"injectables/PermissionService.html":{}}}],["roleservice",{"_index":5129,"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":15133,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleteacher",{"_index":15134,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roletype",{"_index":15128,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleuc",{"_index":19231,"title":{"injectables/RoleUc.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleUc.html":{}}}],["rollback",{"_index":19596,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["rolle",{"_index":19710,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["rollen",{"_index":19690,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["rom",{"_index":25355,"title":{},"body":{"license.html":{}}}],["room",{"_index":8467,"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":9738,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{}}}],["roomboarddtofactory",{"_index":9811,"title":{"injectables/RoomBoardDTOFactory.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["roomboardelementdto",{"_index":9736,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["roomboardelementtypes",{"_index":3764,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.column_board",{"_index":9800,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.lesson",{"_index":9789,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.task",{"_index":9785,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardresponsemapper",{"_index":15262,"title":{"injectables/RoomBoardResponseMapper.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{}}}],["roomelementurlparams",{"_index":19347,"title":{"classes/RoomElementUrlParams.html":{}},"body":{"classes/RoomElementUrlParams.html":{},"controllers/RoomsController.html":{}}}],["roomid",{"_index":1132,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/DtoCreator.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["roomlist",{"_index":8496,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["roomlist.includes(room",{"_index":8566,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["roomname",{"_index":1124,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rooms",{"_index":8471,"title":{},"body":{"classes/DashboardEntity.html":{},"controllers/RoomsController.html":{}}}],["rooms.authorisation.service",{"_index":9759,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["rooms.foreach((room",{"_index":8572,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["rooms.service",{"_index":7685,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["rooms\\/(.*?)\\/board\\/?$/i",{"_index":4182,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["rooms\\/([0",{"_index":8001,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["roomsauthorisationservice",{"_index":9720,"title":{"injectables/RoomsAuthorisationService.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{}}}],["roomscontroller",{"_index":15265,"title":{"controllers/RoomsController.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["roomsservice",{"_index":7673,"title":{"injectables/RoomsService.html":{}},"body":{"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["roomsuc",{"_index":15263,"title":{"injectables/RoomsUc.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{},"injectables/RoomsUc.html":{}}}],["roomurlparams",{"_index":19350,"title":{"classes/RoomUrlParams.html":{}},"body":{"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{}}}],["root",{"_index":2552,"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":3461,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootboarddo.context?.type",{"_index":3463,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["rooted",{"_index":6028,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["rootid",{"_index":3459,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootpath",{"_index":15060,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roster",{"_index":11355,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts",{"_index":11354,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts:103",{"_index":11383,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:140",{"_index":11378,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:148",{"_index":11387,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:156",{"_index":11376,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:166",{"_index":11380,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:172",{"_index":11375,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:202",{"_index":11394,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:214",{"_index":11398,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:225",{"_index":11396,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:235",{"_index":11391,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:56",{"_index":11373,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:66",{"_index":11389,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:81",{"_index":11385,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["route",{"_index":11297,"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":18967,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routename",{"_index":1670,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routenameinput",{"_index":22537,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routepath",{"_index":18940,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routes",{"_index":24994,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["routingkey",{"_index":1274,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["royalty",{"_index":25449,"title":{},"body":{"license.html":{}}}],["rp",{"_index":17275,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["rpc",{"_index":19474,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["rpcmessage",{"_index":12347,"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":12434,"title":{"classes/RpcMessageProducer.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer:12",{"_index":12448,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:21",{"_index":12444,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:29",{"_index":12446,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rs.initiate({\"_id",{"_index":26320,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs0",{"_index":26317,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs256",{"_index":1573,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["rs384",{"_index":1574,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rs512",{"_index":1575,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rsa",{"_index":17128,"title":{},"body":{"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["rss",{"_index":7879,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["rule",{"_index":1986,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rule(val",{"_index":6162,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["rule.haspermission(user",{"_index":1992,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["rule.isapplicable(user",{"_index":19516,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rulemanager",{"_index":1873,"title":{"injectables/RuleManager.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationService.html":{},"injectables/RuleManager.html":{}}}],["rules",{"_index":1886,"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":19518,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rules[0",{"_index":19520,"title":{},"body":{"injectables/RuleManager.html":{}}}],["run",{"_index":11725,"title":{},"body":{"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runnable",{"_index":11733,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["runner",{"_index":26126,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["running",{"_index":2313,"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":24438,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["runs",{"_index":24984,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runtime",{"_index":1564,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["rxjs",{"_index":1056,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TimeoutInterceptor.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":1058,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["s",{"_index":1751,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["s3",{"_index":9001,"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":19567,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3_config",{"_index":19568,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3client",{"_index":8990,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["s3clientadapter",{"_index":12577,"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":19656,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["s3clientadapter:createbucket",{"_index":19576,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:deletedirectory",{"_index":19642,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:head",{"_index":19635,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:listdirectory",{"_index":19619,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientmap",{"_index":8978,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["s3clientmodule",{"_index":12413,"title":{"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{}}}],["s3clientmodule.register",{"_index":26491,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3config",{"_index":12426,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3configcontent",{"_index":13405,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3clientmodule.register([storageconfig",{"_index":18057,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["s3config",{"_index":7306,"title":{"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3configcontent",{"_index":13398,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3configlibraries",{"_index":13399,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["safest",{"_index":25592,"title":{},"body":{"license.html":{}}}],["safety",{"_index":25003,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sale",{"_index":25457,"title":{},"body":{"license.html":{}}}],["salt",{"_index":2334,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["same",{"_index":2345,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LibraryRepo.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sameschool",{"_index":11290,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["samesite",{"_index":20612,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["saml",{"_index":26254,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["sample",{"_index":11480,"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":26137,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["samples",{"_index":25948,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservice",{"_index":26138,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservicemethod(username",{"_index":26026,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["sampleucmethod(user",{"_index":25993,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["sanis",{"_index":19676,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["sanis_client_id",{"_index":25713,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sanisanschriftresponse",{"_index":19661,"title":{"classes/SanisAnschriftResponse.html":{}},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["sanisgeburtresponse",{"_index":19666,"title":{"classes/SanisGeburtResponse.html":{}},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisgrouprole",{"_index":19691,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisgrouprole.student",{"_index":19812,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouprole.teacher",{"_index":19811,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype",{"_index":19673,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.class",{"_index":19814,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.course",{"_index":19815,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.other",{"_index":19816,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenresponse",{"_index":19677,"title":{"classes/SanisGruppenResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenzugehoerigkeitresponse",{"_index":19683,"title":{"classes/SanisGruppenzugehoerigkeitResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["sanisgrupperesponse",{"_index":19669,"title":{"classes/SanisGruppeResponse.html":{}},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["sanisnameresponse",{"_index":19695,"title":{"classes/SanisNameResponse.html":{}},"body":{"classes/SanisNameResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisorganisationresponse",{"_index":19699,"title":{"classes/SanisOrganisationResponse.html":{}},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["sanispersonenkontextresponse",{"_index":19708,"title":{"classes/SanisPersonenkontextResponse.html":{}},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["sanispersonresponse",{"_index":19706,"title":{"classes/SanisPersonResponse.html":{}},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{}}}],["sanisprovisioningstrategy",{"_index":18269,"title":{"injectables/SanisProvisioningStrategy.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponse",{"_index":19734,"title":{"classes/SanisResponse.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsemapper",{"_index":18270,"title":{"injectables/SanisResponseMapper.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsevalidationgroups",{"_index":19720,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisresponsevalidationgroups.groups",{"_index":19722,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.school",{"_index":19723,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.user",{"_index":19721,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisrole",{"_index":19718,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lehr",{"_index":19806,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.leit",{"_index":19808,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lern",{"_index":19807,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.orgadmin",{"_index":19809,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanissonstigegruppenzugehoerigeresponse",{"_index":13033,"title":{"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"classes/SanisGruppenResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisstrategy",{"_index":18311,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["sanissystem",{"_index":24064,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanissystem.id",{"_index":24068,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanitize",{"_index":24949,"title":{},"body":{"dependencies.html":{}}}],["sanitizehtml",{"_index":8091,"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_ck5",{"_index":21921,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sanitizehtml(inputformat.rich_text_ck5_simple",{"_index":8092,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizer",{"_index":25621,"title":{},"body":{"todo.html":{}}}],["sanitizerichtext",{"_index":6502,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RichText.html":{}}}],["sanitizerichtext(content",{"_index":19065,"title":{},"body":{"classes/RichText.html":{}}}],["sanitizerichtext(this.content.alternativetext",{"_index":6517,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.caption",{"_index":6514,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.text",{"_index":6536,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizing",{"_index":25859,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["satisfied",{"_index":11326,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["satisfies",{"_index":368,"title":{},"body":{"controllers/AccountController.html":{}}}],["satisfy",{"_index":11322,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"license.html":{}}}],["save",{"_index":18,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["save(accountdto",{"_index":63,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["save(domainobject",{"_index":2474,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["save(entities",{"_index":764,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["save(group",{"_index":13071,"title":{},"body":{"injectables/GroupService.html":{}}}],["save(school",{"_index":15458,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["save(schoolsystemoptions",{"_index":20399,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["save(systemdto",{"_index":15503,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["save(user",{"_index":24305,"title":{},"body":{"injectables/UserService.html":{}}}],["save.dto",{"_index":456,"title":{},"body":{"classes/AccountDto.html":{}}}],["save.dto.ts",{"_index":840,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:13",{"_index":843,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:17",{"_index":851,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:21",{"_index":853,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:26",{"_index":848,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:30",{"_index":850,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:34",{"_index":844,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:38",{"_index":852,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:42",{"_index":849,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:46",{"_index":847,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:50",{"_index":845,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:54",{"_index":842,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:57",{"_index":841,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:9",{"_index":846,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.visitor",{"_index":3674,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["save.visitor.ts",{"_index":18734,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:100",{"_index":18756,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:114",{"_index":18757,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:130",{"_index":18758,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:144",{"_index":18754,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:157",{"_index":18759,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:170",{"_index":18760,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:183",{"_index":18755,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:199",{"_index":18751,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:206",{"_index":18745,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:214",{"_index":18748,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:220",{"_index":18742,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:41",{"_index":18740,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:45",{"_index":18746,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:59",{"_index":18753,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:73",{"_index":18752,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:86",{"_index":18749,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveall",{"_index":2444,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["saveall(domainobjects",{"_index":2476,"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":24307,"title":{},"body":{"injectables/UserService.html":{}}}],["saveallusersmatches",{"_index":14007,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(@currentuser",{"_index":14076,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(currentuser",{"_index":14024,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["savecontextexternaltool",{"_index":7043,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["savecontextexternaltool(contextexternaltool",{"_index":7061,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saved",{"_index":11134,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["savedcontextexternaltool",{"_index":7072,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saveddomainobject",{"_index":10687,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["saveddomainobjects",{"_index":2485,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["saveddomainobjects[0",{"_index":2487,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["savedentity",{"_index":12964,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["savedgroup",{"_index":13080,"title":{},"body":{"injectables/GroupService.html":{}}}],["savedpassword",{"_index":15848,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["savedprops",{"_index":12967,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedschool",{"_index":17781,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedschoolsystemoptions",{"_index":20404,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["savedschoolsystemoptions.provisioningoptions",{"_index":20425,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["saveduser",{"_index":17804,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserService.html":{}}}],["saveduser.id",{"_index":17807,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedusers",{"_index":24322,"title":{},"body":{"injectables/UserService.html":{}}}],["savefile",{"_index":22466,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["savefile(filename",{"_index":22484,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["saveh5pcontent",{"_index":13248,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5pcontent(body",{"_index":13288,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5peditorparams",{"_index":12635,"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":18738,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saverecursive(boardnode",{"_index":18747,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveresponse",{"_index":13364,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveschoolexternaltool",{"_index":20072,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveschoolexternaltool(schoolexternaltool",{"_index":20085,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveuninitialized",{"_index":20604,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["savevisitor",{"_index":3703,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savevisitor.save(domainobject",{"_index":3706,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savewithoutflush",{"_index":732,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["savewithoutflush(account",{"_index":750,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["savewithoutflush(user",{"_index":24215,"title":{},"body":{"injectables/UserRepo.html":{}}}],["saying",{"_index":25303,"title":{},"body":{"license.html":{}}}],["sc",{"_index":4290,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sc_api_response_time_in_seconds",{"_index":18980,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["sc_domain",{"_index":20507,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["sc_theme",{"_index":5590,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["scan",{"_index":11960,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanned",{"_index":11851,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["scanresult",{"_index":1290,"title":{"interfaces/ScanResult.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["scanresult.error",{"_index":1327,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.reason",{"_index":11955,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.status",{"_index":11954,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.virus_detected",{"_index":1324,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.virus_signature",{"_index":1325,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresultdto",{"_index":11943,"title":{"classes/ScanResultDto.html":{}},"body":{"classes/FileRecordMapper.html":{},"controllers/FileSecurityController.html":{},"classes/ScanResultDto.html":{}}}],["scanresultparams",{"_index":7279,"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":11959,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_detected",{"_index":11953,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_signature",{"_index":11956,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scans",{"_index":5262,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["scanstatus",{"_index":7206,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["scanstatus.blocked",{"_index":11895,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.error",{"_index":11898,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.pending",{"_index":11850,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.verified",{"_index":11904,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.wont_check",{"_index":11901,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scdomain",{"_index":14717,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["scenario",{"_index":26083,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["scenarios",{"_index":26074,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["schema",{"_index":4049,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CommonCartridgeMetadataElement.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"controllers/ElementController.html":{},"controllers/SchoolController.html":{},"classes/UsersList.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["schema.ts",{"_index":25921,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemas",{"_index":25922,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemaversion",{"_index":6000,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["school",{"_index":703,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BoardDoCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/ContextExternalToolEntity.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/GroupApiModule.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/SchoolController.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["school'})@apibody({type",{"_index":19870,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school'})@apiokresponse({description",{"_index":19865,"title":{},"body":{"controllers/SchoolController.html":{},"controllers/ToolConfigurationController.html":{}}}],["school(params",{"_index":26411,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["school(value",{"_index":22292,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["school._id",{"_index":14278,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["school.api",{"_index":15323,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["school.controller.ts",{"_index":23437,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:106",{"_index":23446,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:126",{"_index":23442,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:152",{"_index":23449,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:51",{"_index":23456,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:66",{"_index":23452,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:84",{"_index":23460,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.do.ts",{"_index":15328,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:11",{"_index":15337,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:13",{"_index":15338,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:15",{"_index":15341,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:17",{"_index":15339,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:19",{"_index":15340,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:21",{"_index":15343,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:23",{"_index":15336,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:26",{"_index":15342,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:28",{"_index":15344,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:31",{"_index":15333,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:9",{"_index":15334,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.dto",{"_index":17285,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["school.dto.ts",{"_index":10106,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:2",{"_index":10109,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:4",{"_index":10110,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:6",{"_index":10111,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:8",{"_index":10108,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.entity",{"_index":7552,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["school.externalid",{"_index":20234,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.factory",{"_index":7764,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["school.factory.ts",{"_index":15362,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["school.features",{"_index":15461,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.filter((f",{"_index":15463,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.includes(feature",{"_index":15462,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features?.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":17046,"title":{},"body":{"injectables/OAuthService.html":{}}}],["school.id",{"_index":20441,"title":{},"body":{"injectables/SchoolValidationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["school.module",{"_index":15326,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["school.module.ts",{"_index":15388,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school.name",{"_index":17772,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.officialschoolnumber",{"_index":2073,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["school.previousexternalid",{"_index":15251,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["school.previousexternalid}/${username}`.tolowercase",{"_index":15255,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.repo.ts",{"_index":15391,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:14",{"_index":15394,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:19",{"_index":15401,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:23",{"_index":15396,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:30",{"_index":15398,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.rule.ts",{"_index":15434,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:12",{"_index":15435,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:15",{"_index":15437,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:21",{"_index":15436,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.schoolyear",{"_index":23683,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.service.ts",{"_index":15439,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:12",{"_index":15446,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:18",{"_index":15455,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:23",{"_index":15457,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:31",{"_index":15450,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:37",{"_index":15448,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:43",{"_index":15452,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:49",{"_index":15459,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.systems",{"_index":15229,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.systems.includes(systemid",{"_index":15230,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{}}}],["school.systems.includes(targetsystemid",{"_index":20235,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems.push(systemid",{"_index":17776,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.systems.push(targetsystemid",{"_index":20236,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems?.filter((systemid",{"_index":24067,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["school.userloginmigration",{"_index":23926,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["school/controller/dto/request/provisioning",{"_index":18300,"title":{},"body":{"classes/ProvisioningOptionsParams.html":{}}}],["school/controller/dto/request/school",{"_index":20426,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["school/controller/dto/request/schulconnex",{"_index":20470,"title":{},"body":{"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["school/controller/dto/response/schulconnex",{"_index":20474,"title":{},"body":{"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["school/controller/school",{"_index":20343,"title":{},"body":{"classes/SchoolSystemOptionsMapper.html":{}}}],["school/controller/school.controller.ts",{"_index":19858,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school/controller/school.controller.ts:50",{"_index":19867,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school/controller/school.controller.ts:85",{"_index":19872,"title":{},"body":{"controllers/SchoolController.html":{}}}],["school/domain/base",{"_index":2616,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["school/domain/school",{"_index":20314,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["school/domain/schulconnex",{"_index":20464,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{}}}],["school/entity",{"_index":15079,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["school/entity/provisioning",{"_index":18277,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{}}}],["school/entity/school",{"_index":20336,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["school/legacy",{"_index":15322,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["school/loggable/provisioning",{"_index":18290,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{}}}],["school/loggable/school",{"_index":20273,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school/repo/school",{"_index":20351,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["school/repo/schoolyear.repo.ts",{"_index":20451,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:11",{"_index":20453,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:7",{"_index":20454,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/service/federal",{"_index":11500,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["school/service/legacy",{"_index":15438,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school/service/school",{"_index":20392,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearService.html":{}}}],["school/service/validation/school",{"_index":20431,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["school/types",{"_index":17766,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school/uc/school",{"_index":20406,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["school?.id",{"_index":16494,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["school_in_migration",{"_index":20165,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["school_login_migration_database_operation_failed",{"_index":20194,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["school_migration_failed",{"_index":20282,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["school_number_duplicate",{"_index":20276,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school_number_missing",{"_index":20287,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["schoolcontroller",{"_index":15325,"title":{"controllers/SchoolController.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/SchoolController.html":{}}}],["schooldo",{"_index":14370,"title":{},"body":{"classes/IservMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schooldo.externalid",{"_index":14374,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.features",{"_index":24070,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":24071,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.push(schoolfeatures.oauth_provisioning_enabled",{"_index":24072,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.name",{"_index":14373,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.officialschoolnumber",{"_index":14375,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldocopy",{"_index":20230,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolentity",{"_index":692,"title":{"entities/SchoolEntity.html":{}},"body":{"interfaces/AccountParams.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{}}}],["schoolexclusive",{"_index":20657,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["schoolexternal",{"_index":19969,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltool",{"_index":2005,"title":{"classes/SchoolExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltool'})@httpcode(httpstatus.no_content",{"_index":23445,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltool.id",{"_index":10229,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltool.name",{"_index":20057,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.schoolid",{"_index":2062,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.status",{"_index":20061,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolid",{"_index":10233,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolversion",{"_index":20059,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatus",{"_index":19943,"title":{"classes/SchoolExternalToolConfigurationStatus.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatusresponse",{"_index":19947,"title":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse",{"_index":19951,"title":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":23085,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplateresponse",{"_index":19953,"title":{"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolcount",{"_index":10504,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{}}}],["schoolexternaltooldto",{"_index":20034,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolentity",{"_index":6788,"title":{"entities/SchoolExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolfactory",{"_index":19961,"title":{"classes/SchoolExternalToolFactory.html":{}},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolfactory.define(schoolexternaltool",{"_index":19968,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolid",{"_index":6741,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["schoolexternaltoolidparams",{"_index":19971,"title":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{}},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolids",{"_index":6863,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolmetadata",{"_index":19973,"title":{"classes/SchoolExternalToolMetadata.html":{}},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadata.contextexternaltoolcountpercontext",{"_index":19975,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["schoolexternaltoolmetadatamapper",{"_index":19976,"title":{"classes/SchoolExternalToolMetadataMapper.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadatamapper.maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":23481,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse",{"_index":19980,"title":{"classes/SchoolExternalToolMetadataResponse.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":19982,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["schoolexternaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":23448,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataservice",{"_index":19983,"title":{"injectables/SchoolExternalToolMetadataService.html":{}},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolmodule",{"_index":6822,"title":{"modules/SchoolExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["schoolexternaltoolparams",{"_index":23454,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolparams.schoolid",{"_index":23464,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolpostparams",{"_index":19996,"title":{"classes/SchoolExternalToolPostParams.html":{}},"body":{"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolproperties",{"_index":19956,"title":{"interfaces/SchoolExternalToolProperties.html":{}},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["schoolexternaltoolprops",{"_index":19939,"title":{"interfaces/SchoolExternalToolProps.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["schoolexternaltoolquery",{"_index":20010,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolqueryinput",{"_index":20117,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolrefdo",{"_index":6694,"title":{"classes/SchoolExternalToolRefDO.html":{}},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schoolexternaltoolrepo",{"_index":1913,"title":{"injectables/SchoolExternalToolRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolrequestmapper",{"_index":20030,"title":{"injectables/SchoolExternalToolRequestMapper.html":{}},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse",{"_index":20039,"title":{"classes/SchoolExternalToolResponse.html":{}},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponsemapper",{"_index":20044,"title":{"injectables/SchoolExternalToolResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apibadrequestresponse({type",{"_index":23459,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23441,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolrule",{"_index":1874,"title":{"injectables/SchoolExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["schoolexternaltools",{"_index":10208,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.filter",{"_index":10225,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["schoolexternaltools.length",{"_index":10538,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.map",{"_index":10537,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolscope",{"_index":20012,"title":{"classes/SchoolExternalToolScope.html":{}},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolsearchlistresponse",{"_index":20052,"title":{"classes/SchoolExternalToolSearchListResponse.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolsearchlistresponse(responses",{"_index":20056,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolsearchparams",{"_index":20066,"title":{"classes/SchoolExternalToolSearchParams.html":{}},"body":{"classes/SchoolExternalToolSearchParams.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolservice",{"_index":7045,"title":{"injectables/SchoolExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltoolsinuse",{"_index":10281,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltoolsinuse.map",{"_index":10285,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltooluc",{"_index":20102,"title":{"injectables/SchoolExternalToolUc.html":{}},"body":{"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolvalidationservice",{"_index":19994,"title":{"injectables/SchoolExternalToolValidationService.html":{}},"body":{"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["schoolexternaltoolversion",{"_index":20136,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolfactory",{"_index":7763,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.build",{"_index":7773,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.buildwithid",{"_index":22417,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["schoolfeatures",{"_index":15335,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.enable_ldap_sync_during_migration",{"_index":24057,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.oauth_provisioning_enabled",{"_index":17780,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolforgroupnotfoundloggable",{"_index":17767,"title":{"classes/SchoolForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["schoolforgroupnotfoundloggable(externalgroup",{"_index":17818,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["schoolid",{"_index":4588,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DownloadFileParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"classes/LumiUserWithContentData.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schoolid'})@index",{"_index":7779,"title":{},"body":{"entities/CourseGroup.html":{},"entities/Submission.html":{}}}],["schooliddoesnotmatchwithuserschoolid",{"_index":20152,"title":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["schoolidparams",{"_index":20162,"title":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{}},"body":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolinfo",{"_index":20182,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.id",{"_index":20183,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.name",{"_index":20184,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper",{"_index":16678,"title":{"classes/SchoolInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper.maptoresponse(news.school",{"_index":16683,"title":{},"body":{"classes/NewsMapper.html":{}}}],["schoolinforesponse",{"_index":16650,"title":{"classes/SchoolInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{}}}],["schoolinmigrationloggableexception",{"_index":17078,"title":{"classes/SchoolInMigrationLoggableException.html":{}},"body":{"injectables/Oauth2Strategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["schoolinusermigrationendloggable",{"_index":20166,"title":{"classes/SchoolInUserMigrationEndLoggable.html":{}},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["schoolinusermigrationstartloggable",{"_index":20172,"title":{"classes/SchoolInUserMigrationStartLoggable.html":{}},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["schoolmigrated",{"_index":20242,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception",{"_index":20188,"title":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(existingschool",{"_index":20233,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(originalschooldo",{"_index":20239,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationservice",{"_index":4976,"title":{"injectables/SchoolMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable",{"_index":20264,"title":{"classes/SchoolMigrationSuccessfulLoggable.html":{}},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable(schooltomigrate",{"_index":24107,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schoolname",{"_index":15125,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolnews",{"_index":7906,"title":{"entities/SchoolNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnews(props",{"_index":7904,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnumber",{"_index":15453,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["schoolnumber_prefix_regex",{"_index":19789,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["schoolnumberduplicateloggableexception",{"_index":20272,"title":{"classes/SchoolNumberDuplicateLoggableException.html":{}},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolnumberduplicateloggableexception(school.officialschoolnumber",{"_index":20437,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["schoolnumbermismatchloggableexception",{"_index":20229,"title":{"classes/SchoolNumberMismatchLoggableException.html":{}},"body":{"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{}}}],["schoolnumbermissingloggableexception",{"_index":20285,"title":{"classes/SchoolNumberMissingLoggableException.html":{}},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolnumbermissingloggableexception(schoolid",{"_index":20967,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["schoolnumbermissingloggableexception})@apiokresponse({description",{"_index":23851,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["schoolparameter",{"_index":8341,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["schoolparameters",{"_index":19955,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolproperties",{"_index":19926,"title":{"interfaces/SchoolProperties.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrepo",{"_index":15212,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolrolepermission",{"_index":19927,"title":{"classes/SchoolRolePermission.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolroles",{"_index":19900,"title":{"classes/SchoolRoles.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrule",{"_index":26435,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["schools",{"_index":7211,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CreateNews.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenDO.html":{}}}],["schools[0",{"_index":15408,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolservice",{"_index":2068,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolspecificfilecopyservice",{"_index":3631,"title":{"interfaces/SchoolSpecificFileCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicecopyparams",{"_index":20295,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicefactory",{"_index":3896,"title":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceimpl",{"_index":20304,"title":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyserviceimpl(this.filesstorageclientadapterservice",{"_index":20305,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceprops",{"_index":20298,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolsystemoptions",{"_index":15157,"title":{"classes/SchoolSystemOptions.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolsystemoptions(props",{"_index":20376,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptions.getprops",{"_index":20381,"title":{},"body":{"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptions.provisioningoptions",{"_index":20402,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemoptionsbuilder",{"_index":20324,"title":{"classes/SchoolSystemOptionsBuilder.html":{}},"body":{"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemoptionsentity",{"_index":15078,"title":{"entities/SchoolSystemOptionsEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolsystemoptionsentity(entityprops",{"_index":20367,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptionsentityprops",{"_index":20341,"title":{"interfaces/SchoolSystemOptionsEntityProps.html":{}},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptionsmapper",{"_index":19880,"title":{"classes/SchoolSystemOptionsMapper.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{}}}],["schoolsystemoptionsmapper.mapprovisioningoptionstoresponse(options",{"_index":19889,"title":{},"body":{"controllers/SchoolController.html":{}}}],["schoolsystemoptionsprops",{"_index":20321,"title":{"interfaces/SchoolSystemOptionsProps.html":{}},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptionsrepo",{"_index":15385,"title":{"injectables/SchoolSystemOptionsRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{}}}],["schoolsystemoptionsrepomapper",{"_index":20360,"title":{"classes/SchoolSystemOptionsRepoMapper.html":{}},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{}}}],["schoolsystemoptionsrepomapper.mapdomainobjecttoentityproperties",{"_index":20366,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptionsrepomapper.mapentitytodomainobjectproperties(entity",{"_index":20375,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["schoolsystemoptionsrule",{"_index":1875,"title":{"injectables/SchoolSystemOptionsRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolSystemOptionsRule.html":{}}}],["schoolsystemoptionsservice",{"_index":15383,"title":{"injectables/SchoolSystemOptionsService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemoptionsuc",{"_index":15321,"title":{"injectables/SchoolSystemOptionsUc.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/SchoolController.html":{},"injectables/SchoolSystemOptionsUc.html":{}}}],["schoolsystemparams",{"_index":19862,"title":{"classes/SchoolSystemParams.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemParams.html":{}}}],["schooltomigrate",{"_index":24103,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schooltool",{"_index":6781,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["schooltool.school",{"_index":6896,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["schooltoolconfigurationstatusfactory",{"_index":19966,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusfactory.build",{"_index":19970,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusresponsemapper",{"_index":20053,"title":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schooltoolconfigurationstatusresponsemapper.maptoresponse",{"_index":20060,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schooltoolid",{"_index":6807,"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":6687,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["schooltoolrepo",{"_index":10531,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["schooltype",{"_index":16302,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["schoolvalidationservice",{"_index":15386,"title":{"injectables/SchoolValidationService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolyear",{"_index":4714,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/FederalStateService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyear.entity",{"_index":19915,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolyear.factory",{"_index":15367,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyear?.name",{"_index":13115,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["schoolyearentity",{"_index":12561,"title":{"entities/SchoolYearEntity.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearfactory",{"_index":15366,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearfactory.build",{"_index":15378,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearproperties",{"_index":20447,"title":{"interfaces/SchoolYearProperties.html":{}},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["schoolyearquerytype",{"_index":4705,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["schoolyearrepo",{"_index":15387,"title":{"injectables/SchoolYearRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearservice",{"_index":15384,"title":{"injectables/SchoolYearService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["schould",{"_index":8081,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{}}}],["schul",{"_index":2221,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schulcloud",{"_index":13669,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ServerController.html":{},"additional-documentation/nestjs-application.html":{}}}],["schulcloudnextcloud",{"_index":17524,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["schulconnex",{"_index":20319,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["schulconnexgroupprovisioningenabled",{"_index":13784,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["schulconnexprovisioningoptions",{"_index":17764,"title":{"classes/SchulConneXProvisioningOptions.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["schulconnexprovisioningoptionsinterface",{"_index":20465,"title":{},"body":{"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["schulconnexprovisioningoptionsparams",{"_index":19878,"title":{"classes/SchulConneXProvisioningOptionsParams.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{}}}],["schulconnexprovisioningoptionsparams})@apicreatedresponse({description",{"_index":19871,"title":{},"body":{"controllers/SchoolController.html":{}}}],["schulconnexprovisioningoptionsresponse",{"_index":19879,"title":{"classes/SchulConneXProvisioningOptionsResponse.html":{}},"body":{"controllers/SchoolController.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["scope",{"_index":6288,"title":{"classes/Scope.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolServiceMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfigEntity.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"injectables/SubmissionRepo.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"controllers/TeamNewsController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope)roles",{"_index":26391,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope.addquery(allforcreator.query",{"_index":22042,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(allforfinishedcoursesandlessons.query",{"_index":22041,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(closedforopencoursesandlessons.query",{"_index":22040,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(parentidscope.query",{"_index":22055,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.afterduedateornone(filters.afterduedateornone",{"_index":22062,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.allowemptyquery(true",{"_index":6906,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byavailable(filters?.availableon",{"_index":22066,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byclasses(filters.classes",{"_index":14224,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bycontextid(query.context?.id",{"_index":6904,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycontexttype(query.context?.type",{"_index":6905,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycourseids([courseid",{"_index":22068,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.bycourseids(courseids",{"_index":15645,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bycreator(creatorid",{"_index":16742,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bydraft(false",{"_index":22060,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfinished(filters.finished.userid",{"_index":22057,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfirstname(filters.firstname",{"_index":14216,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byhidden(filters.hidden",{"_index":15647,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.byid(query.id",{"_index":6902,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bylastname(filters.lastname",{"_index":14218,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byloginname(filters.loginname",{"_index":14220,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bymatches(filters.matches",{"_index":14226,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bypublished",{"_index":16738,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byrole(filters.role",{"_index":14222,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschool(school",{"_index":14214,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschoolid(query.schoolid",{"_index":20021,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byschooltoolid(query.schooltoolref?.schooltoolid",{"_index":6903,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bytargets(targets",{"_index":16737,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bytoolid(query.toolid",{"_index":20022,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byunpublished",{"_index":16741,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byusermatch(user",{"_index":14212,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.enum",{"_index":24544,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["scope.excludedraftsofothers(creatorid",{"_index":22070,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludedraftsofothers(parentids.creatorid",{"_index":22059,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludeunavailableofothers(parentids.creatorid",{"_index":22064,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.foractivecourses",{"_index":7951,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forallgrouptypes(userid",{"_index":7949,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forcourseid(courseid",{"_index":7960,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacher(userid",{"_index":7956,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacherorsubstituteteacher(userid",{"_index":7959,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.id",{"_index":24514,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.isflagged(true",{"_index":14228,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.name",{"_index":24130,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["scope.nofutureavailabledate",{"_index":22072,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.params.ts",{"_index":24741,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:12",{"_index":24745,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:8",{"_index":24743,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.query",{"_index":6895,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/GroupRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["scope.request",{"_index":11474,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["scope.scope",{"_index":24520,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.target",{"_index":16852,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope.targetid",{"_index":22332,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.targetmodel",{"_index":22334,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.transient",{"_index":15302,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["scope.ts",{"_index":9528,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/FileRecordScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:10",{"_index":21632,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:11",{"_index":15693,"title":{},"body":{"classes/LessonScope.html":{}}}],["scope.ts:12",{"_index":9533,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:13",{"_index":12031,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:15",{"_index":21633,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:17",{"_index":22137,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:19",{"_index":12038,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:25",{"_index":12040,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:26",{"_index":16777,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:31",{"_index":12033,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:32",{"_index":16780,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:38",{"_index":12029,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/NewsScope.html":{}}}],["scope.ts:39",{"_index":22135,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:45",{"_index":22132,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:5",{"_index":21631,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:52",{"_index":22139,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:6",{"_index":9532,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/LessonScope.html":{}}}],["scope.ts:60",{"_index":22130,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:66",{"_index":22146,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:7",{"_index":12036,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:73",{"_index":22141,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:83",{"_index":22128,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:89",{"_index":22145,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:9",{"_index":16779,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:95",{"_index":22143,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.withldapconfig",{"_index":15484,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoauthconfig",{"_index":15486,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoidcconfig",{"_index":15488,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope:11",{"_index":7018,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7016,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7030,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7032,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":7019,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":16849,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope?.unpublished",{"_index":16831,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scoped",{"_index":22238,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopeid",{"_index":11298,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/ScopeInfo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["scopeinfo",{"_index":20496,"title":{"interfaces/ScopeInfo.html":{}},"body":{"interfaces/ScopeInfo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopeinfo.logouturl",{"_index":24530,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["scopeinfo.scopeid",{"_index":24522,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopemapping",{"_index":10863,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterdo.scope",{"_index":10973,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterparam.scope",{"_index":10911,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["scopename",{"_index":20499,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["scopeoperator",{"_index":7017,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":24425,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopeparams.scope",{"_index":24462,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopepermission",{"_index":22237,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopepermissions",{"_index":22236,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scoperef",{"_index":20500,"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":24461,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scoperessource",{"_index":24516,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopes",{"_index":2766,"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":13862,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.groups",{"_index":13856,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.profile",{"_index":13863,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes/rules/permissions/user",{"_index":26475,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scraper",{"_index":16406,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{}}}],["scraper/dist/lib/types",{"_index":16407,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["scripts",{"_index":12604,"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":24859,"title":{},"body":{"dependencies.html":{}}}],["sdk/client",{"_index":9000,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["sdk/lib",{"_index":19566,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["search",{"_index":860,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/IdentityManagementService.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["search.params.ts",{"_index":10990,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.params.ts:13",{"_index":10992,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["search.params.ts:8",{"_index":10993,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.query.params.ts",{"_index":882,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:14",{"_index":887,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:22",{"_index":888,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["searchability",{"_index":25988,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["searchaccounts",{"_index":321,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchaccounts(currentuser",{"_index":364,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchbyusername",{"_index":733,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusername(username",{"_index":752,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusernameexactmatch",{"_index":19,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernameexactmatch(username",{"_index":67,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch",{"_index":20,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch(username",{"_index":69,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searches",{"_index":23105,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["searching",{"_index":14288,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["searchoptions",{"_index":13927,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["searchparams",{"_index":23957,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchparams.userid",{"_index":23960,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchquery",{"_index":10916,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["searchuser",{"_index":15061,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["searchusername",{"_index":799,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchuserpassword",{"_index":15062,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["second",{"_index":2993,"title":{},"body":{"entities/Board.html":{},"injectables/S3ClientAdapter.html":{}}}],["secondarily",{"_index":25128,"title":{},"body":{"license.html":{}}}],["secondary",{"_index":25082,"title":{},"body":{"license.html":{}}}],["secondchar",{"_index":7618,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["seconds",{"_index":4918,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/KeycloakConsole.html":{},"classes/LoginRequestBody.html":{},"interfaces/MigrationOptions.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{}}}],["seconds_of_90_days",{"_index":9420,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["secret",{"_index":1598,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/JwtConstants.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretaccesskey",{"_index":7311,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["secretdata",{"_index":14973,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["secretorkey",{"_index":14478,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["secrets",{"_index":5405,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretvalue",{"_index":1760,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["section",{"_index":17168,"title":{},"body":{"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sections",{"_index":25275,"title":{},"body":{"license.html":{}}}],["secure",{"_index":20610,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["secure_launch_url",{"_index":5933,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["security",{"_index":11634,"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":12063,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:15",{"_index":12069,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:29",{"_index":12072,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["securitycheck",{"_index":11599,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheck.requesttoken",{"_index":11863,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheckstatus",{"_index":7215,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["see",{"_index":561,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ApiValidationError.html":{},"injectables/AuthorizationReferenceService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"interfaces/JwtPayload.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seed",{"_index":4939,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seed(options",{"_index":4940,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["seed.service",{"_index":14615,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["seed.service.ts",{"_index":14991,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:13",{"_index":14995,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:20",{"_index":15000,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:35",{"_index":14996,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:60",{"_index":14997,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:94",{"_index":14998,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:99",{"_index":14999,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seedcollections",{"_index":8846,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["seedcollections(options",{"_index":8850,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["seeddata",{"_index":26067,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["seeddatabasecollectionsfromfactories(collections",{"_index":5288,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeddatabasecollectionsfromfilesystem(collections",{"_index":5305,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeded",{"_index":14945,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["seededcollectionswithamount",{"_index":5299,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seededcollectionswithamount.push(`${collectionname}:${importeddocumentsamount",{"_index":5326,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeding",{"_index":26261,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["seeds",{"_index":4938,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seems",{"_index":25656,"title":{},"body":{"todo.html":{}}}],["segregation",{"_index":25817,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sehr",{"_index":5584,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["select",{"_index":26436,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["selectconfigureaction",{"_index":14631,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selectconfigureaction(newconfigs",{"_index":14660,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selected",{"_index":14361,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/LdapStrategy.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"todo.html":{}}}],["selectedrules",{"_index":19514,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule",{"_index":19490,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule(user",{"_index":19496,"title":{},"body":{"injectables/RuleManager.html":{}}}],["self",{"_index":17830,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sell",{"_index":25472,"title":{},"body":{"license.html":{}}}],["selling",{"_index":25456,"title":{},"body":{"license.html":{}}}],["semiconductor",{"_index":25112,"title":{},"body":{"license.html":{}}}],["senario",{"_index":26090,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["send",{"_index":1296,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application.html":{}}}],["send(data",{"_index":1647,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["send(doc",{"_index":22860,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["send(params",{"_index":1655,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["send(requesttoken",{"_index":1307,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["sendauthenticationcodetokenrequest",{"_index":17116,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendauthenticationcodetokenrequest(tokenendpoint",{"_index":17123,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendawarenessmessage",{"_index":24759,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendawarenessmessage(buff",{"_index":24771,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendhttpresponse",{"_index":12668,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sendhttpresponse(error",{"_index":12684,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sending",{"_index":9124,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sense",{"_index":1833,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/LessonCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sensible",{"_index":21457,"title":{},"body":{"controllers/SystemController.html":{}}}],["sent",{"_index":1216,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sentence",{"_index":1392,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separable",{"_index":25314,"title":{},"body":{"license.html":{}}}],["separate",{"_index":15307,"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":17166,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["separately",{"_index":25261,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["seperate",{"_index":15586,"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":25873,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperation",{"_index":24983,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sequence",{"_index":514,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}.0",{"_index":13185,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["sequence}.txt",{"_index":13531,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["sequence}@example.com",{"_index":14094,"title":{},"body":{"classes/ImportUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}displayname",{"_index":21550,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["serialization",{"_index":20976,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"todo.html":{}}}],["serialize",{"_index":4209,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["serialize(documents",{"_index":4219,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serializedprimarykey",{"_index":2539,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["serializes",{"_index":4221,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serve",{"_index":24950,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["served",{"_index":25776,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server",{"_index":2164,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DeletionClient.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"injectables/LegacyLogger.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TldrawWs.html":{},"classes/UsersList.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["server)/g",{"_index":22822,"title":{},"body":{"classes/TldrawWs.html":{}}}],["server.config",{"_index":1035,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["server.console",{"_index":20547,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["server.module",{"_index":1037,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["server.module.ts",{"_index":16278,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["server.module.ts:36",{"_index":16284,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["server/blob/main/apps/server/src/modules/authorization/readme.md",{"_index":25796,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/config/readme.md",{"_index":25795,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/src/services/lesson/hooks/index.js#l232",{"_index":26467,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["server/build/src/contentmanager",{"_index":13461,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/contenttypeinformationrepository",{"_index":13462,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/types",{"_index":6618,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["server/overview.html",{"_index":25659,"title":{},"body":{"todo.html":{}}}],["server/pull/2729#pullrequestreview",{"_index":25638,"title":{},"body":{"todo.html":{}}}],["server/server.config",{"_index":674,"title":{},"body":{"modules/AccountModule.html":{}}}],["server_options_path='/tmp/config/server",{"_index":26273,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["serverconfig",{"_index":649,"title":{"interfaces/ServerConfig.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakConfigurationService.html":{},"modules/ManagementModule.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"controllers/RoomsController.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["serverconsole",{"_index":20528,"title":{"classes/ServerConsole.html":{}},"body":{"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{}}}],["serverconsolemodule",{"_index":20540,"title":{"modules/ServerConsoleModule.html":{}},"body":{"modules/ServerConsoleModule.html":{}}}],["servercontroller",{"_index":20549,"title":{"controllers/ServerController.html":{}},"body":{"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodule",{"_index":20552,"title":{"modules/ServerModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodules",{"_index":1038,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servers",{"_index":25092,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["servertestmodule",{"_index":20628,"title":{"modules/ServerTestModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["serves",{"_index":25170,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["service",{"_index":610,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FilesModule.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonModule.html":{},"injectables/LessonUC.html":{},"modules/LtiToolModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/PermissionService.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymUc.html":{},"modules/RegistrationPinModule.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["service(logic",{"_index":26470,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["service.create(data",{"_index":10072,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["service.factory.ts",{"_index":20299,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:10",{"_index":20301,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:13",{"_index":20303,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.find",{"_index":11301,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.get",{"_index":25965,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.get(userid",{"_index":11296,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.mapper",{"_index":11033,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["service.mapper.ts",{"_index":11083,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.mapper.ts:7",{"_index":11086,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.module.ts",{"_index":17624,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["service.provider",{"_index":11351,"title":{},"body":{"modules/FeathersModule.html":{},"injectables/NexboardService.html":{}}}],["service.provider.ts",{"_index":11462,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.provider.ts:13",{"_index":11470,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:19",{"_index":11468,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:24",{"_index":11465,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:38",{"_index":11487,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.provider.ts:41",{"_index":11488,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.ts",{"_index":1847,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.ts:11",{"_index":1855,"title":{},"body":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["service.ts:13",{"_index":23489,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:21",{"_index":23490,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:6",{"_index":1848,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{}}}],["service/authorization.helper",{"_index":3716,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["service/auto",{"_index":23269,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/board",{"_index":3624,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{}}}],["service/cache.service",{"_index":4275,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["service/calendar.service",{"_index":4319,"title":{},"body":{"modules/CalendarModule.html":{}}}],["service/column",{"_index":3905,"title":{},"body":{"modules/BoardModule.html":{}}}],["service/common",{"_index":7745,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["service/context",{"_index":6828,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{}}}],["service/copy",{"_index":7384,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{}}}],["service/dto",{"_index":22985,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["service/files",{"_index":12327,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["service/hydra.service",{"_index":17312,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/id",{"_index":17571,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["service/keycloak",{"_index":14536,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"modules/KeycloakModule.html":{}}}],["service/launch",{"_index":23270,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/meta",{"_index":16362,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/oauth",{"_index":17313,"title":{},"body":{"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["service/oauth.service",{"_index":17314,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/oidc",{"_index":17868,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["service/preview.service",{"_index":12351,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["service/provisioning.service",{"_index":18274,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["service/recursive",{"_index":18594,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["service/rocket",{"_index":19178,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["service/rooms.service",{"_index":19455,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["service/school",{"_index":20292,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["service/submission",{"_index":9886,"title":{},"body":{"injectables/ElementUc.html":{}}}],["service/swap",{"_index":5459,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["service/system",{"_index":21574,"title":{},"body":{"modules/SystemModule.html":{}}}],["service/tldraw.service",{"_index":22727,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["service/tool",{"_index":6831,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["service/url",{"_index":16364,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/user.service",{"_index":24186,"title":{},"body":{"modules/UserModule.html":{}}}],["servicedto",{"_index":22314,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["serviceoptions",{"_index":20866,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.context",{"_index":20868,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.expiresat",{"_index":20872,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoutputtypes",{"_index":19564,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["services",{"_index":2903,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"modules/CollaborativeStorageModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/LearnroomApiModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["services/account",{"_index":677,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.service",{"_index":681,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.validation.service",{"_index":682,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/authentication.service",{"_index":1551,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{}}}],["services/builder",{"_index":2905,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["services/deletion",{"_index":9354,"title":{},"body":{"modules/DeletionModule.html":{}}}],["services/dto/account.dto",{"_index":479,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["services/dto/team",{"_index":22354,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["services/dto/team.dto",{"_index":22315,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["services/interface",{"_index":2885,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["services/ldap.service",{"_index":1552,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["serviceunavailableexception",{"_index":14946,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["servicing",{"_index":25558,"title":{},"body":{"license.html":{}}}],["session",{"_index":171,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/KeycloakConsole.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{}}}],["session.consent_request.challenge",{"_index":17592,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_id",{"_index":17590,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_name",{"_index":17591,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.response.ts",{"_index":6364,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["session.response.ts:13",{"_index":6372,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:16",{"_index":6373,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:19",{"_index":6371,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:4",{"_index":6368,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session_id",{"_index":15980,"title":{},"body":{"classes/LoginResponse-1.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["session_token",{"_index":2297,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["sessionduration",{"_index":20592,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions",{"_index":17496,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions.map",{"_index":17498,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["set",{"_index":567,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"interfaces/ParentInfo.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/SchulConneXProvisioningOptions.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["set('accept",{"_index":22603,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["set('authorization",{"_index":1644,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(caseinsensitivenames",{"_index":6173,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["set(headerconst.accept",{"_index":1653,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(memberids",{"_index":21082,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["set(object.keys(provisioningoptions",{"_index":2629,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["set(object.keys(this",{"_index":2627,"title":{},"body":{"classes/BaseProvisioningOptions.html":{}}}],["set(permissions",{"_index":17972,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["set(props",{"_index":2624,"title":{},"body":{"classes/BaseProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptions.html":{}}}],["set(tasksubmitterids",{"_index":21740,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["setalternativetext(value",{"_index":11560,"title":{},"body":{"classes/FileElement.html":{}}}],["setcaption(value",{"_index":11557,"title":{},"body":{"classes/FileElement.html":{}}}],["setcompleted(value",{"_index":21169,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setcontext",{"_index":15282,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontext(context",{"_index":5439,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["setcontext(name",{"_index":15291,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontextexternaltoolid(value",{"_index":10333,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["setcookies",{"_index":13643,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setcookies.foreach((item",{"_index":13686,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setdescription(value",{"_index":9669,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["setduedate(value",{"_index":21093,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["setfinishedenabled",{"_index":13471,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["setgroupname",{"_index":12748,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setgroupname(newgroupname",{"_index":8509,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setheight(height",{"_index":4355,"title":{},"body":{"classes/Card.html":{}}}],["setheightbodyparams",{"_index":4395,"title":{"classes/SetHeightBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/SetHeightBodyParams.html":{}}}],["setimageurl(value",{"_index":15795,"title":{},"body":{"classes/LinkElement.html":{}}}],["setinputformat(value",{"_index":19078,"title":{},"body":{"classes/RichTextElement.html":{}}}],["setinterval",{"_index":22942,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setlearnrooms",{"_index":8458,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["setlearnrooms(rooms",{"_index":8497,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setmatch",{"_index":14008,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(urlparams",{"_index":14027,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(user",{"_index":13995,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["setmigrationmandatory",{"_index":22964,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(currentuser",{"_index":23842,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["setmigrationmandatory(userid",{"_index":22967,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["setmigrationmandatory(userloginmigration",{"_index":24046,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["setname(name",{"_index":11889,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["setpasswordpolicy",{"_index":14550,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["setpersistence",{"_index":22845,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setpersistence(persistence_",{"_index":22862,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setprovisioningoptions",{"_index":19860,"title":{},"body":{"controllers/SchoolController.html":{}}}],["setprovisioningoptions(currentuser",{"_index":19868,"title":{},"body":{"controllers/SchoolController.html":{}}}],["setrangeresponseheaders",{"_index":13249,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrangeresponseheaders(res",{"_index":13291,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrequireduserrole(userroleenum",{"_index":3423,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["sets",{"_index":5146,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ConsentRequestBody.html":{},"classes/IdentityManagementService.html":{},"classes/LoginRequestBody.html":{},"controllers/SchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["setschool(value",{"_index":22404,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setstrategy",{"_index":5008,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["setstrategy(strategy",{"_index":5021,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["settedlanguage",{"_index":24345,"title":{},"body":{"injectables/UserUc.html":{}}}],["settext(value",{"_index":19074,"title":{},"body":{"classes/RichTextElement.html":{}}}],["settimeout",{"_index":19647,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["settimeout(resolve",{"_index":2864,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["setting",{"_index":2923,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["settings",{"_index":25980,"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":2384,"title":{},"body":{"injectables/BBBService.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["settings.interface.ts",{"_index":13720,"title":{},"body":{"interfaces/IBbbSettings.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IVideoConferenceSettings.html":{}}}],["settings.response",{"_index":4466,"title":{},"body":{"classes/CardResponse.html":{}}}],["settings.response.ts",{"_index":24748,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:3",{"_index":24750,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:9",{"_index":24751,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settitle(title",{"_index":4351,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{}}}],["settitle(value",{"_index":15790,"title":{},"body":{"classes/LinkElement.html":{}}}],["setup",{"_index":3817,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"interfaces/Options.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["setup:db",{"_index":26269,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm",{"_index":25709,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:configure",{"_index":26310,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:seed",{"_index":26309,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setuppath",{"_index":5307,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["setupsessions",{"_index":20591,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupsessions(consumer",{"_index":20622,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupws",{"_index":22569,"title":{},"body":{"classes/TestConnection.html":{}}}],["setupwsconnection",{"_index":22846,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setupwsconnection(ws",{"_index":22866,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["seturl(value",{"_index":15789,"title":{},"body":{"classes/LinkElement.html":{}}}],["setuser(value",{"_index":22400,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setuserattribute",{"_index":13911,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserattribute(userid",{"_index":13935,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserid(value",{"_index":21172,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setusers(value",{"_index":12780,"title":{},"body":{"classes/Group.html":{}}}],["setuserstatus(authtoken",{"_index":1113,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["sha",{"_index":2419,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.digest('hex",{"_index":2423,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.update(callname",{"_index":2421,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha1",{"_index":2355,"title":{},"body":{"injectables/BBBService.html":{},"injectables/Lti11EncryptionService.html":{}}}],["shall",{"_index":18562,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["shapes",{"_index":1219,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["share",{"_index":20679,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenResponse.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"license.html":{}}}],["shared",{"_index":20661,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/common",{"_index":393,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CoreModuleConfig.html":{},"classes/CurrentUserMapper.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacySystemService.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/common/loggable",{"_index":4863,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["shared/common/utils",{"_index":2381,"title":{},"body":{"injectables/BBBService.html":{}}}],["shared/common/utils/guard",{"_index":15855,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["shared/common/utils/promise",{"_index":3323,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["shared/controller",{"_index":298,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ColumnResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupPaginationParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SystemFilterParams.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["shared/controller/index",{"_index":204,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["shared/controller/transformer",{"_index":12502,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["shared/core",{"_index":25938,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/domain",{"_index":1018,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"todo.html":{}}}],["shared/domain/domain",{"_index":1849,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["shared/domain/domainobject",{"_index":1853,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BaseDORepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/domainobject/base.do",{"_index":6698,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["shared/domain/domainobject/board/drawing",{"_index":3556,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["shared/domain/domainobject/board/link",{"_index":6503,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/types",{"_index":3324,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["shared/domain/domainobject/ltitool.do",{"_index":13648,"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":10276,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["shared/domain/domainobject/user.do",{"_index":8121,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"injectables/UserMigrationService.html":{}}}],["shared/domain/entity",{"_index":478,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/ChangeLanguageParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRule.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PseudonymUc.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["shared/domain/entity/account.entity",{"_index":769,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["shared/domain/entity/base.entity",{"_index":4655,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/entity/boardnode/drawing",{"_index":3557,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/boardnode/link",{"_index":18761,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/external",{"_index":12913,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["shared/domain/entity/ltitool.entity",{"_index":8219,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/LtiToolDO.html":{}}}],["shared/domain/entity/materials.entity",{"_index":16322,"title":{},"body":{"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{}}}],["shared/domain/entity/school.entity",{"_index":9934,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/system.entity",{"_index":20340,"title":{},"body":{"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/user",{"_index":19912,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["shared/domain/entity/video",{"_index":24709,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/interface",{"_index":595,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContextExternalToolUc.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"injectables/FileRecordRepo.html":{},"classes/GridElement.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"classes/LtiRoleMapper.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/ScopeRef.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["shared/domain/interface/permission.enum",{"_index":15582,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["shared/domain/interface/system",{"_index":14396,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["shared/domain/interface/video",{"_index":24543,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["shared/domain/service",{"_index":278,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{}}}],["shared/domain/types",{"_index":99,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterNewsParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSystemOptions.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/SystemDto.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamDto.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["shared/domain/types/entity",{"_index":20649,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/types/input",{"_index":21675,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["shared/pipes",{"_index":25960,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/repo",{"_index":279,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"classes/GroupScope.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LocalStrategy.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/MigrationCheckService.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderModule.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SubmissionService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"modules/ToolApiModule.html":{},"injectables/UserDORepo.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/repo/base.do.repo",{"_index":16165,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/repo/base.repo",{"_index":771,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["shared/repo/ltitool",{"_index":5075,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["shared/repo/scope",{"_index":10986,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["shared/repo/storageprovider",{"_index":9002,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["shared/repo/system/system",{"_index":15479,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["shared/repo/types/storageproviderencryptedstring.type",{"_index":21003,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["shared/repo/user/user",{"_index":24183,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["shared/repo/videoconference/video",{"_index":24680,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["shared/testing",{"_index":2081,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/RocketChatUserFactory.html":{}}}],["shared/testing/factory/base.factory",{"_index":4690,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/LtiToolFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/role.factory",{"_index":22411,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/school.factory",{"_index":22412,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/teamuser.factory",{"_index":22305,"title":{},"body":{"classes/TeamFactory.html":{}}}],["shared/testing/factory/user.factory",{"_index":22413,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/types",{"_index":16644,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["shared/utils",{"_index":25939,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators",{"_index":25956,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators/text.validator.ts",{"_index":25942,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sharedstate",{"_index":11735,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["sharetoken",{"_index":7511,"title":{"entities/ShareToken.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/UsersList.html":{}}}],["sharetoken.context",{"_index":20878,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.expiresat",{"_index":20803,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{}}}],["sharetoken.payload",{"_index":20802,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetoken.payload.parentid",{"_index":20881,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.payload.parenttype",{"_index":20829,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetoken.token",{"_index":20801,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenbodyparams",{"_index":20653,"title":{"classes/ShareTokenBodyParams.html":{}},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{}}}],["sharetokencontext",{"_index":20722,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype",{"_index":20643,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype.school",{"_index":20869,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper",{"_index":20669,"title":{"classes/ShareTokenContextTypeMapper.html":{}},"body":{"classes/ShareTokenContextTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper.maptoallowedauthorizationentitytype(context.contexttype",{"_index":20894,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontroller",{"_index":20672,"title":{"controllers/ShareTokenController.html":{}},"body":{"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokendo",{"_index":20718,"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":20731,"title":{"classes/ShareTokenFactory.html":{}},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenfactory.define",{"_index":20739,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenimportbodyparams",{"_index":20685,"title":{"classes/ShareTokenImportBodyParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{}}}],["sharetokeninfo",{"_index":20710,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninfo.parentname",{"_index":20759,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.parenttype",{"_index":20758,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.token",{"_index":20757,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfodto",{"_index":20746,"title":{"interfaces/ShareTokenInfoDto.html":{}},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninforesponse",{"_index":20700,"title":{"classes/ShareTokenInfoResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper",{"_index":20697,"title":{"classes/ShareTokenInfoResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper.maptoresponse(sharetokeninfo",{"_index":20713,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokeninforesponse})@apiresponse({status",{"_index":20694,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenparenttype",{"_index":16472,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.course",{"_index":20740,"title":{},"body":{"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.lesson",{"_index":20831,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.task",{"_index":20833,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper",{"_index":20760,"title":{"classes/ShareTokenParentTypeMapper.html":{}},"body":{"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(parenttype",{"_index":20896,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(payload.parenttype",{"_index":20887,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenpayload",{"_index":20724,"title":{},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenpayloadresponse",{"_index":20764,"title":{"classes/ShareTokenPayloadResponse.html":{}},"body":{"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["sharetokenpayloadresponse(payload",{"_index":20799,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["sharetokenproperties",{"_index":20650,"title":{"interfaces/ShareTokenProperties.html":{}},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenrepo",{"_index":20772,"title":{"injectables/ShareTokenRepo.html":{}},"body":{"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenresponse",{"_index":20701,"title":{"classes/ShareTokenResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper",{"_index":20698,"title":{"classes/ShareTokenResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper.maptoresponse(sharetoken",{"_index":20707,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenresponse})@apiresponse({status",{"_index":20681,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokens",{"_index":11600,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenservice",{"_index":20804,"title":{"injectables/ShareTokenService.html":{}},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenstring",{"_index":20647,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/TokenGenerator.html":{}}}],["sharetokenuc",{"_index":20699,"title":{"injectables/ShareTokenUC.html":{}},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenurlparams",{"_index":20684,"title":{"classes/ShareTokenUrlParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenUrlParams.html":{}}}],["sharingapimodule",{"_index":20570,"title":{"modules/SharingApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharingmodule",{"_index":20911,"title":{"modules/SharingModule.html":{}},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["shit",{"_index":7556,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["short",{"_index":7854,"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":26229,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["shortid",{"_index":24922,"title":{},"body":{"dependencies.html":{}}}],["shorttitle",{"_index":7622,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["shouldincrementversion",{"_index":11226,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["shouldskipconsent",{"_index":17527,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldskipconsent(tool",{"_index":17536,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldusermigrate",{"_index":16484,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["shouldusermigrate(externaluserid",{"_index":16491,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["show",{"_index":16804,"title":{},"body":{"injectables/NewsUc.html":{},"controllers/SystemController.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["show_outdated_users",{"_index":19922,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["showoutdatedusers",{"_index":19923,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["sid",{"_index":15992,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["side",{"_index":2346,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sideeffects",{"_index":26486,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["sign",{"_index":16020,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"license.html":{}}}],["sign(key",{"_index":16021,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["signalgorithm",{"_index":1587,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signature_method",{"_index":16028,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["significant",{"_index":25336,"title":{},"body":{"license.html":{}}}],["signing",{"_index":1586,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signoptions",{"_index":1547,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["similar",{"_index":25102,"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":25825,"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":11740,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["simplicity",{"_index":25672,"title":{},"body":{"todo.html":{}}}],["simplification",{"_index":25906,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["simplify",{"_index":26094,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["simply",{"_index":25001,"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":25519,"title":{},"body":{"license.html":{}}}],["sind",{"_index":5573,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["single",{"_index":3612,"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":3621,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single(boardnode",{"_index":3622,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single:latestexample",{"_index":26285,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["single:latestthe",{"_index":26286,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["singlecolumnboardresponse",{"_index":19296,"title":{"classes/SingleColumnBoardResponse.html":{}},"body":{"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["singlefileparams",{"_index":7280,"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":12489,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["situations",{"_index":26366,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["six",{"_index":12132,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["size",{"_index":870,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/ImportUserListResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/TaskListResponse.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserRepo.html":{}}}],["sizetype",{"_index":8624,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["skeleton",{"_index":3230,"title":{},"body":{"controllers/BoardController.html":{}}}],["skeleton.response",{"_index":5677,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["skeleton.response.ts",{"_index":4522,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:12",{"_index":4524,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:18",{"_index":4532,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:3",{"_index":4523,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skip",{"_index":70,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupPaginationParams.html":{},"classes/GroupResponseMapper.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/RetryOptions.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["skipconsent",{"_index":8172,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["skipped",{"_index":875,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupPaginationParams.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["slash",{"_index":25664,"title":{},"body":{"todo.html":{}}}],["sleep",{"_index":2861,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["slow",{"_index":5320,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["small",{"_index":25818,"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":16427,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sn",{"_index":15131,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["snapshotlogicchecks",{"_index":11738,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["snapshotschema",{"_index":11736,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["socket_port",{"_index":22715,"title":{},"body":{"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{}}}],["socketio",{"_index":24953,"title":{},"body":{"dependencies.html":{}}}],["software",{"_index":25041,"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":25323,"title":{},"body":{"license.html":{}}}],["sole",{"_index":25196,"title":{},"body":{"license.html":{}}}],["solely",{"_index":25204,"title":{},"body":{"license.html":{}}}],["solution",{"_index":3428,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserBoardRoles.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["solutions",{"_index":25603,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["solve",{"_index":22073,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["somejson",{"_index":2095,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["somemethod",{"_index":26018,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["someotherservice",{"_index":25880,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["something",{"_index":13824,"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":26462,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sonstige",{"_index":19688,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sonstige_gruppenzugehoerige",{"_index":19680,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["soon",{"_index":26376,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sort",{"_index":4832,"title":{},"body":{"classes/ClassSortParams.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sort.id",{"_index":11100,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["sort.name",{"_index":11101,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sort.params.ts",{"_index":20930,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["sortby",{"_index":3329,"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":3415,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder",{"_index":3279,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder(resolved",{"_index":3308,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos",{"_index":3414,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos.map",{"_index":3416,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortedbsondocuments",{"_index":5336,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["sortedchildren",{"_index":3603,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["sortedimages",{"_index":16421,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.find((i",{"_index":16428,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.sort((a",{"_index":16422,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortexternaltoolparams",{"_index":10855,"title":{"classes/SortExternalToolParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolController.html":{}}}],["sorthelper",{"_index":20935,"title":{"classes/SortHelper.html":{}},"body":{"classes/SortHelper.html":{}}}],["sortimportuserparams",{"_index":14015,"title":{"classes/SortImportUserParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["sorting",{"_index":21991,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["sorting.mapper.ts",{"_index":11096,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.mapper.ts:7",{"_index":11099,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.ts",{"_index":25634,"title":{},"body":{"todo.html":{}}}],["sortingparams",{"_index":4833,"title":{"classes/SortingParams.html":{}},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortingparams:10",{"_index":4836,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["sortingparams:14",{"_index":20933,"title":{},"body":{"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingparams:18",{"_index":4838,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingquery",{"_index":10857,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"controllers/ToolController.html":{}}}],["sortingquery.sortby",{"_index":12838,"title":{},"body":{"controllers/GroupController.html":{}}}],["sortingquery.sortorder",{"_index":10915,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"classes/ImportUserMapper.html":{}}}],["sortorder",{"_index":770,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/LessonRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.asc",{"_index":790,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/DashboardUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/LessonRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.desc",{"_index":7996,"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":10858,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IFindOptions.html":{},"classes/ImportUserMapper.html":{},"interfaces/Pagination.html":{},"injectables/UserDORepo.html":{}}}],["sortreferences",{"_index":8513,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"modules/ProvisioningConfigModule.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{}}}],["source.entity",{"_index":12914,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["source.entity.ts",{"_index":10130,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["source.entity.ts:13",{"_index":10133,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.entity.ts:16",{"_index":10132,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.person.geburt?.datum",{"_index":19826,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.familienname",{"_index":19823,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.vorname",{"_index":19822,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].gruppen",{"_index":19829,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].id",{"_index":19837,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.anschrift?.ort",{"_index":19821,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.id.tostring",{"_index":19820,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.kennung.replace",{"_index":19817,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.name",{"_index":19819,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.pid",{"_index":19825,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.response",{"_index":12980,"title":{},"body":{"classes/GroupResponse.html":{}}}],["source.response.ts",{"_index":10139,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:5",{"_index":10141,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:8",{"_index":10140,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.ts",{"_index":10125,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:2",{"_index":10127,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:4",{"_index":10126,"title":{},"body":{"classes/ExternalSource.html":{}}}],["sourcecode",{"_index":25910,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sourcedescription",{"_index":7880,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["sourceentityid",{"_index":18860,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceentityname",{"_index":18864,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceexternalid",{"_index":20215,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["sourceid",{"_index":7198,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["sourceoptions",{"_index":4595,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["sourceparent",{"_index":3742,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparent.removechild(child",{"_index":3744,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparentid",{"_index":18649,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourcepath",{"_index":7304,"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":25728,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sourceschoolid",{"_index":5471,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourceschoolnumber",{"_index":20280,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["sourcesystem",{"_index":23921,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["sourcesystemid",{"_index":23899,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["sourcetype",{"_index":16656,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["space",{"_index":586,"title":{},"body":{"classes/AccountFactory.html":{},"classes/OauthClientBody.html":{}}}],["spalten",{"_index":5543,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["spare",{"_index":25285,"title":{},"body":{"license.html":{}}}],["sparse",{"_index":7570,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["speak",{"_index":25064,"title":{},"body":{"license.html":{}}}],["spec.ts",{"_index":25750,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["special",{"_index":11722,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["specialized",{"_index":25816,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specific",{"_index":1083,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardDoCopyService.html":{},"classes/BoardElementResponse.html":{},"controllers/CollaborativeStorageController.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"classes/IdentityManagementService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleColumnBoardResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["specifically",{"_index":25052,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["specification",{"_index":25979,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specifications",{"_index":26036,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specified",{"_index":2862,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/GuardAgainst.html":{},"license.html":{}}}],["specifies",{"_index":23284,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{},"license.html":{}}}],["specify",{"_index":11714,"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":26153,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["spirit",{"_index":25536,"title":{},"body":{"license.html":{}}}],["split",{"_index":18880,"title":{},"body":{"classes/ReferencesService.html":{},"interfaces/ServerConfig.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["splitting",{"_index":26469,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sql",{"_index":817,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["squashed",{"_index":26236,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["src",{"_index":25909,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["src/config",{"_index":1026,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core",{"_index":12092,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core/error/dto",{"_index":12826,"title":{},"body":{"controllers/GroupController.html":{}}}],["src/core/error/dto/error.response",{"_index":4244,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/interface",{"_index":4245,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/loggable",{"_index":13553,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["src/core/error/loggable/error.loggable",{"_index":15224,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["src/core/error/utils",{"_index":1314,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorMapper.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["src/core/logger",{"_index":1027,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BaseDORepo.html":{},"modules/BoardApiModule.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/GroupApiModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/ImportUserModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LessonModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"classes/OauthConfigMissingLoggableException.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/ProvisioningModule.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/RegistrationPinModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["src/core/logger/interfaces",{"_index":12509,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/core/logger/logger.module",{"_index":673,"title":{},"body":{"modules/AccountModule.html":{}}}],["src/core/logger/logging.utils",{"_index":12686,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["src/core/logger/types",{"_index":12510,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/imports",{"_index":14508,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["src/infra/database",{"_index":1030,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/infra/mail/interfaces/mail",{"_index":20509,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["src/infra/rabbitmq",{"_index":1032,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/modules/authentication",{"_index":394,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authentication/decorator/auth.decorator",{"_index":396,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authorization",{"_index":15710,"title":{},"body":{"injectables/LessonService.html":{}}}],["src/modules/authorization/domain",{"_index":13190,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["src/modules/database",{"_index":26188,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["src/modules/group",{"_index":13045,"title":{},"body":{"injectables/GroupRule.html":{}}}],["src/modules/h5p",{"_index":13176,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/LibrariesContentType.html":{}}}],["src/shared/domain/entity/lesson.entity",{"_index":5773,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["sso",{"_index":1471,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sso.controller",{"_index":17151,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["sso.controller.ts",{"_index":17637,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:20",{"_index":17643,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:30",{"_index":17646,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso_auth_code_step",{"_index":1474,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["sso_internal_error",{"_index":17246,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{}}}],["sso_jwt_problem",{"_index":13831,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{}}}],["sso_login_failed",{"_index":17665,"title":{},"body":{"classes/OauthSsoErrorLoggableException.html":{}}}],["sso_user_not_found_after_provisioning",{"_index":24191,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso_user_notfound",{"_index":13873,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["ssoauthenticationerror",{"_index":1893,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["stack",{"_index":1477,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stand",{"_index":5556,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["standard",{"_index":25162,"title":{},"body":{"license.html":{}}}],["standards",{"_index":25164,"title":{},"body":{"license.html":{}}}],["start",{"_index":876,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["start(req",{"_index":24442,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["start.loggable.ts",{"_index":20173,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:11",{"_index":20175,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["start.loggable.ts:4",{"_index":20174,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:7",{"_index":24077,"title":{},"body":{"classes/UserLoginMigrationStartLoggable.html":{}}}],["startdate",{"_index":7512,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{}}}],["started",{"_index":1434,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["started.loggable.ts",{"_index":24173,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:5",{"_index":24174,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:8",{"_index":24175,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["startedat",{"_index":23900,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startet",{"_index":26459,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["starting",{"_index":24978,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["startmigration",{"_index":20954,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startmigration(@currentuser",{"_index":23878,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(currentuser",{"_index":23849,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(schoolid",{"_index":24047,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["startmigration(userid",{"_index":20958,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["starts",{"_index":15936,"title":{},"body":{"controllers/LoginController.html":{},"additional-documentation/nestjs-application.html":{}}}],["startschoolinusermigration",{"_index":14009,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["startschoolinusermigration(currentuser",{"_index":14031,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["starttime",{"_index":2314,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["startup",{"_index":26296,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["startuserloginmigrationuc",{"_index":20951,"title":{"injectables/StartUserLoginMigrationUc.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["state",{"_index":289,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TldrawWsService.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["state.entity",{"_index":19914,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["state.entity.ts",{"_index":7484,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["state.entity.ts:14",{"_index":7488,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:21",{"_index":7491,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:23",{"_index":7490,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:25",{"_index":7489,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:31",{"_index":11492,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:34",{"_index":11489,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:37",{"_index":11491,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:40",{"_index":11490,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.enum",{"_index":24397,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["state.factory",{"_index":15365,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["state.repo.ts",{"_index":11495,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:12",{"_index":11496,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:8",{"_index":11497,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.response",{"_index":9610,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["state.service.ts",{"_index":11501,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:10",{"_index":11506,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:6",{"_index":11504,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["stated",{"_index":25189,"title":{},"body":{"license.html":{}}}],["statelessauthorizationparams",{"_index":17641,"title":{"classes/StatelessAuthorizationParams.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["statemapping",{"_index":24665,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statemapping[state",{"_index":24672,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statement",{"_index":23491,"title":{},"body":{"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["static",{"_index":467,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolMetadataMapper.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"entities/InstalledLibrary.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReferencesService.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"modules/S3ClientModule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"classes/SchoolSystemOptionsMapper.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsTestModule.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["stating",{"_index":25241,"title":{},"body":{"license.html":{}}}],["statistic.builder.ts",{"_index":9345,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistic.builder.ts:5",{"_index":9347,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistics",{"_index":9339,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["statistics_reporting=false",{"_index":26346,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["status",{"_index":402,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ForbiddenOperationError.html":{},"controllers/GroupController.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"interfaces/NextcloudGroups.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/OcsResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"interfaces/RpcMessage.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ShareTokenController.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["status.copyentity",{"_index":3341,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["status.copyentity.id",{"_index":3387,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.copyentity.title",{"_index":3388,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.elements?.foreach((elementstatus",{"_index":7419,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.enum",{"_index":2155,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["status.factory",{"_index":19967,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["status.isoutdatedonscopecontext",{"_index":23320,"title":{},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.isoutdatedonscopeschool",{"_index":20097,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.mapper",{"_index":21948,"title":{},"body":{"classes/TaskMapper.html":{}}}],["status.mapper.ts",{"_index":22168,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.mapper.ts:5",{"_index":22169,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.originalentity",{"_index":7421,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.response",{"_index":4107,"title":{},"body":{"classes/BoardTaskResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{}}}],["status.response.ts",{"_index":4115,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:14",{"_index":22177,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:16",{"_index":6728,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.response.ts:17",{"_index":22176,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:20",{"_index":22172,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:21",{"_index":4128,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:23",{"_index":22173,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:24",{"_index":4127,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:26",{"_index":22175,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:27",{"_index":4123,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:29",{"_index":22174,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:3",{"_index":4122,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:30",{"_index":4124,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:33",{"_index":4126,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:36",{"_index":4125,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:9",{"_index":6732,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.status",{"_index":3345,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.ts",{"_index":6719,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:2",{"_index":6721,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:4",{"_index":6720,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["status_code",{"_index":6278,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["statuscode",{"_index":1081,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{}}}],["statusdto",{"_index":21951,"title":{},"body":{"classes/TaskMapper.html":{}}}],["statuses",{"_index":3307,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statuses.foreach((status",{"_index":3381,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statustext",{"_index":2115,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["stay",{"_index":25838,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["stemming",{"_index":5374,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["steps",{"_index":25076,"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":26398,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepshow",{"_index":26408,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stick",{"_index":26045,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["still",{"_index":7859,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stop",{"_index":5372,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/TimeoutInterceptor.html":{}}}],["storage",{"_index":3898,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/DeletionApiModule.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storage'})@apiresponse({status",{"_index":5094,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.adapter",{"_index":5076,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["storage.adapter.ts",{"_index":4998,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:15",{"_index":5014,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:30",{"_index":5022,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:40",{"_index":5028,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:49",{"_index":5020,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:58",{"_index":5017,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:67",{"_index":5024,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.config",{"_index":12417,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["storage.config.ts",{"_index":12088,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["storage.const",{"_index":1319,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{}}}],["storage.consumer.ts",{"_index":12329,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:14",{"_index":12334,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:31",{"_index":12338,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:48",{"_index":12342,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:63",{"_index":12340,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:82",{"_index":12344,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.controller.ts",{"_index":5086,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.controller.ts:32",{"_index":5100,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.mapper.ts",{"_index":12371,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:15",{"_index":12379,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:33",{"_index":12383,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:39",{"_index":12377,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:49",{"_index":12381,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:53",{"_index":12380,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:65",{"_index":12385,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.module",{"_index":12246,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{}}}],["storage.module.ts",{"_index":5123,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageModule.html":{}}}],["storage.params.ts",{"_index":7263,"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":7331,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:103",{"_index":7329,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:106",{"_index":7330,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:113",{"_index":18108,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:118",{"_index":18110,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:12",{"_index":11964,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:126",{"_index":18106,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:16",{"_index":11961,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:20",{"_index":11963,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:27",{"_index":12185,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:32",{"_index":12182,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:36",{"_index":12184,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:42",{"_index":11795,"title":{},"body":{"classes/FileParams.html":{}}}],["storage.params.ts:48",{"_index":9638,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:52",{"_index":9637,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:58",{"_index":19856,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:62",{"_index":19857,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:66",{"_index":19855,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:72",{"_index":20929,"title":{},"body":{"classes/SingleFileParams.html":{}}}],["storage.params.ts:79",{"_index":18936,"title":{},"body":{"classes/RenameFileParams.html":{}}}],["storage.params.ts:85",{"_index":7328,"title":{},"body":{"classes/CopyFilesOfParentParams.html":{}}}],["storage.params.ts:91",{"_index":7268,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.params.ts:95",{"_index":7266,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.producer",{"_index":12272,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{}}}],["storage.producer.ts",{"_index":12433,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:18",{"_index":12437,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:28",{"_index":12438,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:37",{"_index":12441,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:46",{"_index":12439,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:55",{"_index":12442,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.response.ts",{"_index":7233,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["storage.response.ts:22",{"_index":12012,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:26",{"_index":12014,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:29",{"_index":12015,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:32",{"_index":12020,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:35",{"_index":12018,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:38",{"_index":12019,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:41",{"_index":12010,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:44",{"_index":12013,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:47",{"_index":12016,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:50",{"_index":12017,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:53",{"_index":12011,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:56",{"_index":11934,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["storage.response.ts:6",{"_index":12009,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:66",{"_index":7292,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:74",{"_index":7293,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:77",{"_index":7295,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:81",{"_index":7294,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:84",{"_index":7235,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["storage.service",{"_index":5186,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/FilesStorageConsumer.html":{}}}],["storage.service.ts",{"_index":5126,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:119",{"_index":22477,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:12",{"_index":22467,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:14",{"_index":5132,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:18",{"_index":22469,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:24",{"_index":22475,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:29",{"_index":22471,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:32",{"_index":5137,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:36",{"_index":22473,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:43",{"_index":5145,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:47",{"_index":22482,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:61",{"_index":5134,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:65",{"_index":5133,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:69",{"_index":5141,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:79",{"_index":22488,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.ts",{"_index":7197,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["storage.uc",{"_index":5106,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.uc.ts",{"_index":5174,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:21",{"_index":5184,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:34",{"_index":5180,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:38",{"_index":5179,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:42",{"_index":5181,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:9",{"_index":5178,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage/collaborative",{"_index":4997,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["storage/controller/collaborative",{"_index":5085,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage/controller/dto/file",{"_index":7232,"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":19850,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["storage/controller/dto/team",{"_index":22335,"title":{},"body":{"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{}}}],["storage/controller/file",{"_index":12062,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["storage/controller/files",{"_index":12328,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage/dto/file.dto.ts",{"_index":11515,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:11",{"_index":11520,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:13",{"_index":11518,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:15",{"_index":11519,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:4",{"_index":11517,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/team",{"_index":22363,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["storage/entity",{"_index":11928,"title":{},"body":{"classes/FileRecordFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"modules/ServerConsoleModule.html":{}}}],["storage/entity/filerecord.entity.ts",{"_index":11820,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["storage/entity/filerecord.entity.ts:105",{"_index":11832,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:108",{"_index":11839,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:111",{"_index":11834,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:114",{"_index":11833,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:117",{"_index":11838,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:121",{"_index":11836,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:125",{"_index":11828,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:132",{"_index":11824,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:143",{"_index":11829,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:150",{"_index":11826,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:46",{"_index":12047,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:49",{"_index":12045,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:52",{"_index":12046,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:55",{"_index":12044,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:58",{"_index":12043,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/files",{"_index":1318,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["storage/helper/test",{"_index":22581,"title":{},"body":{"classes/TestHelper.html":{}}}],["storage/interface/interfaces.ts",{"_index":12584,"title":{},"body":{"interfaces/GetFileResponse.html":{},"interfaces/PreviewFileParams.html":{}}}],["storage/mapper/collaborative",{"_index":5044,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["storage/mapper/copy",{"_index":7297,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["storage/mapper/file",{"_index":11533,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{}}}],["storage/mapper/files",{"_index":12370,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage/mapper/preview.builder.ts",{"_index":17998,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:33",{"_index":18004,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:8",{"_index":18002,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/team",{"_index":5187,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["storage/mapper/team.mapper.ts",{"_index":22310,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/mapper/team.mapper.ts:12",{"_index":22313,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/repo/filerecord",{"_index":12021,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["storage/repo/filerecord.repo.ts",{"_index":11966,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:10",{"_index":11995,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:14",{"_index":11990,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:21",{"_index":11992,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:28",{"_index":11982,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:35",{"_index":11984,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:46",{"_index":11986,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:57",{"_index":11988,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:66",{"_index":11980,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:73",{"_index":11978,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:89",{"_index":11994,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/service/preview.service.ts",{"_index":18119,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:14",{"_index":18124,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:23",{"_index":18130,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:37",{"_index":18128,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:45",{"_index":18126,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:52",{"_index":18135,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:73",{"_index":18133,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:83",{"_index":18131,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/services/collaborative",{"_index":5125,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team",{"_index":5030,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/TeamPermissionsDto.html":{}}}],["storage/services/dto/team.dto",{"_index":5032,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team.dto.ts",{"_index":22273,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:11",{"_index":22279,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:13",{"_index":22277,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:23",{"_index":22394,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:25",{"_index":22393,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:27",{"_index":22392,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:9",{"_index":22278,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/strategy/base.interface.strategy.ts",{"_index":5165,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:12",{"_index":5172,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:14",{"_index":5169,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:16",{"_index":5168,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:18",{"_index":5170,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.interface.ts",{"_index":13139,"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":16875,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:129",{"_index":16902,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:158",{"_index":16889,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:172",{"_index":16888,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:192",{"_index":16891,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:202",{"_index":16895,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:21",{"_index":16881,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:38",{"_index":16898,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:59",{"_index":16886,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:75",{"_index":16882,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:98",{"_index":16896,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/uc/collaborative",{"_index":5173,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage:debug",{"_index":25738,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:dev",{"_index":25737,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:prod",{"_index":25739,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storageclient",{"_index":12576,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storageconfig",{"_index":18016,"title":{},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["storageconfig.connectionname",{"_index":18056,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["storagefilename",{"_index":9040,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageprovider",{"_index":8989,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["storageprovider.accesskeyid",{"_index":5419,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageprovider.endpointurl",{"_index":9029,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.region",{"_index":9031,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.secretaccesskey",{"_index":5420,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageproviderencryptedstringtype",{"_index":20974,"title":{"classes/StorageProviderEncryptedStringType.html":{}},"body":{"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderentity",{"_index":5209,"title":{"entities/StorageProviderEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviderid",{"_index":11625,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageproviderproperties",{"_index":21004,"title":{"interfaces/StorageProviderProperties.html":{}},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderrepo",{"_index":8985,"title":{"injectables/StorageProviderRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviders",{"_index":5217,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviders.foreach((storageprovider",{"_index":5418,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storageproviderscollectionname",{"_index":5216,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storagestrategy",{"_index":5079,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["store",{"_index":4261,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["store.getclient",{"_index":4280,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["stored",{"_index":23402,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["strategies",{"_index":5167,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/ToolLaunchService.html":{}}}],["strategy",{"_index":5004,"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":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["strategy.apply(oauthdata",{"_index":18341,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.createlaunchdata(userid",{"_index":23318,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.createlaunchrequest(toollaunchdata",{"_index":23313,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.getdata(input",{"_index":18337,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.interface.ts",{"_index":23322,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:6",{"_index":23323,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:8",{"_index":23325,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/auto",{"_index":2001,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["strategy/base.interface.strategy",{"_index":5036,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["strategy/basic",{"_index":2737,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["strategy/jwt",{"_index":1553,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{}}}],["strategy/jwt.strategy",{"_index":1555,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/ldap.strategy",{"_index":1556,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/local.strategy",{"_index":1557,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/nextcloud/nextcloud.client",{"_index":5077,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/nextcloud/nextcloud.strategy",{"_index":5078,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/oauth2",{"_index":16980,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["strategy/oauth2.strategy",{"_index":1558,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/oidc/service/oidc",{"_index":18275,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/sanis/response",{"_index":13037,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["strategy/tool",{"_index":23321,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/x",{"_index":1559,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["stream",{"_index":1304,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["stream.destroy",{"_index":19650,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["stream.on('data",{"_index":19651,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["streamablefile",{"_index":7641,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["streamablefile(data",{"_index":13324,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["streamablefile(fileresponse.data",{"_index":12404,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["streamablefile(res.data",{"_index":12081,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["streamablefile(response.data",{"_index":12551,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["streamablefile(result",{"_index":7665,"title":{},"body":{"controllers/CourseController.html":{}}}],["strict",{"_index":20615,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["string",{"_index":47,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PageContentDto.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["string'})@allow",{"_index":12183,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string'})@isstring()@isnotempty",{"_index":12181,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string(object[key",{"_index":2426,"title":{},"body":{"injectables/BBBService.html":{}}}],["string).split",{"_index":20514,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["string).tostring(cryptojs.enc.base64",{"_index":17809,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["stringifiedmessage",{"_index":15283,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["stringifiedmessage(message",{"_index":15293,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stringifymessage",{"_index":15919,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["stringifymessage(message",{"_index":15925,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["strings",{"_index":622,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/LegacyLogger.html":{},"classes/MongoPatterns.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["stringtoboolean",{"_index":203,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{}}}],["stringvalidator",{"_index":14124,"title":{"classes/StringValidator.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(escapedclasses",{"_index":14300,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedfirstname",{"_index":14286,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedlastname",{"_index":14292,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedloginname",{"_index":14295,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedname",{"_index":24229,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(filters.name",{"_index":24226,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(query.classes",{"_index":14155,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.firstname",{"_index":14143,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.lastname",{"_index":14146,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.loginname",{"_index":14149,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.name",{"_index":24129,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["stringvalidator.isstring(value",{"_index":21024,"title":{},"body":{"classes/StringValidator.html":{}}}],["string}/api/v3/sso/hydra/${oauthclientid",{"_index":13712,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["string}/api/v3/tldraw",{"_index":9685,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["strip",{"_index":24956,"title":{},"body":{"dependencies.html":{}}}],["strong",{"_index":11348,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["strongly",{"_index":26173,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["structure",{"_index":6027,"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":25904,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["structures",{"_index":15299,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stubstitution",{"_index":7596,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["stucture",{"_index":25632,"title":{},"body":{"todo.html":{}}}],["student",{"_index":3432,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["student_count",{"_index":11405,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["student_list",{"_index":19928,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentaccount",{"_index":714,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentcount",{"_index":4715,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["studententities",{"_index":11419,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentid",{"_index":21035,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["studentids",{"_index":6270,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["studentobjectids",{"_index":7788,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentobjectids.map((id",{"_index":7790,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentpermissions",{"_index":23773,"title":{},"body":{"classes/UserFactory.html":{}}}],["studentpseudonyms",{"_index":11429,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentpseudonyms.map((pseudonym",{"_index":11437,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["students",{"_index":7513,"title":{},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"injectables/SubmissionRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["studentswithid",{"_index":7753,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentswithid(numberofstudents",{"_index":7757,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentuser",{"_index":715,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentvisibility",{"_index":19917,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentwithid",{"_index":21149,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["studio",{"_index":25009,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["stuff",{"_index":25032,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["style",{"_index":26097,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["styles",{"_index":12606,"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":7187,"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":26484,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["subclass",{"_index":18082,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["subdirectories",{"_index":13539,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["subdividing",{"_index":25439,"title":{},"body":{"license.html":{}}}],["subelements",{"_index":8634,"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":11094,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["subject_types_supported",{"_index":17177,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjects",{"_index":16287,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["subjecttype",{"_index":17176,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjecttypeenum",{"_index":17174,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["sublicenses",{"_index":25469,"title":{},"body":{"license.html":{}}}],["sublicensing",{"_index":25206,"title":{},"body":{"license.html":{}}}],["submission",{"_index":3159,"title":{"entities/Submission.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"interfaces/CopyFileDO.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["submission.controller.ts",{"_index":4039,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:44",{"_index":4058,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:65",{"_index":4063,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:89",{"_index":4052,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.coursegroup?.name",{"_index":21278,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.entity",{"_index":21679,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.getsubmitterids",{"_index":21273,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.grade",{"_index":21275,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.id",{"_index":21271,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.isgraded",{"_index":21276,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isgradedforuser(user",{"_index":21734,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmitted",{"_index":21274,"title":{},"body":{"classes/SubmissionMapper.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmittedforuser(user",{"_index":21733,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isusersubmitter(user",{"_index":21324,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.service",{"_index":22161,"title":{},"body":{"injectables/TaskService.html":{}}}],["submission.task",{"_index":21329,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.task.aresubmissionspublic",{"_index":21327,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.teammembers",{"_index":21063,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissioncontainer",{"_index":21231,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainer.addchild(submissionitem",{"_index":21237,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainercontentbody",{"_index":6509,"title":{"classes/SubmissionContainerContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelement",{"_index":3149,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["submissioncontainerelement.children",{"_index":9901,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.every((child",{"_index":9898,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.filter(issubmissionitem",{"_index":21254,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.duedate",{"_index":6543,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelement.id",{"_index":18787,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelementcontent",{"_index":21100,"title":{"classes/SubmissionContainerElementContent.html":{}},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementcontentbody",{"_index":9650,"title":{"classes/SubmissionContainerElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelementnode",{"_index":3515,"title":{"entities/SubmissionContainerElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerelementprops",{"_index":21098,"title":{"interfaces/SubmissionContainerElementProps.html":{}},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["submissioncontainerelementresponse",{"_index":4405,"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":4376,"title":{},"body":{"controllers/CardController.html":{}}}],["submissioncontainerelementresponsemapper",{"_index":6444,"title":{"classes/SubmissionContainerElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponsemapper.getinstance",{"_index":6429,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["submissioncontainerelementresponsemapper.instance",{"_index":21116,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerid",{"_index":21121,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainernodeprops",{"_index":21110,"title":{"interfaces/SubmissionContainerNodeProps.html":{}},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerurlparams",{"_index":4054,"title":{"classes/SubmissionContainerUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionContainerUrlParams.html":{}}}],["submissioncontainterelement",{"_index":21239,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainterelement.duedate",{"_index":21242,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontroller",{"_index":21123,"title":{"controllers/SubmissionController.html":{}},"body":{"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{}}}],["submissionfactory",{"_index":21147,"title":{"classes/SubmissionFactory.html":{}},"body":{"classes/SubmissionFactory.html":{}}}],["submissionfactory.define(submission",{"_index":21161,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["submissionid",{"_index":21342,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{}}}],["submissionitem",{"_index":2675,"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":{},"classes/SwapInternalLinksVisitor.html":{}}}],["submissionitem.children.filter(issubmissionitemcontent",{"_index":21224,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.completed",{"_index":18790,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.createdat",{"_index":21226,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.id",{"_index":18789,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.updatedat",{"_index":21225,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.userid",{"_index":2693,"title":{},"body":{"classes/BaseUc.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemfactory",{"_index":21188,"title":{"injectables/SubmissionItemFactory.html":{}},"body":{"injectables/SubmissionItemFactory.html":{}}}],["submissionitemid",{"_index":21247,"title":{},"body":{"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionitemnode",{"_index":3518,"title":{"entities/SubmissionItemNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemnodeprops",{"_index":21195,"title":{"interfaces/SubmissionItemNodeProps.html":{}},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemprops",{"_index":21183,"title":{"interfaces/SubmissionItemProps.html":{}},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["submissionitemresponse",{"_index":9856,"title":{"classes/SubmissionItemResponse.html":{}},"body":{"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemresponsemapper",{"_index":4072,"title":{"classes/SubmissionItemResponseMapper.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponsemapper.getinstance",{"_index":4079,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["submissionitemresponsemapper.instance",{"_index":21217,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponse})@apiresponse({status",{"_index":9840,"title":{},"body":{"controllers/ElementController.html":{}}}],["submissionitems",{"_index":4075,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitems.filter((item",{"_index":21260,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissionitems.map((item",{"_index":21219,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemservice",{"_index":3893,"title":{"injectables/SubmissionItemService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemsresponse",{"_index":21218,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemuc",{"_index":3028,"title":{"injectables/SubmissionItemUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemurlparams",{"_index":4045,"title":{"classes/SubmissionItemUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionmapper",{"_index":21133,"title":{"classes/SubmissionMapper.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionMapper.html":{}}}],["submissionmapper.maptostatusresponse(submission",{"_index":21142,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionproperties",{"_index":21042,"title":{"interfaces/SubmissionProperties.html":{}},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissionrepo",{"_index":1914,"title":{"injectables/SubmissionRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"modules/TaskModule.html":{}}}],["submissionresponses",{"_index":21140,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrule",{"_index":1876,"title":{"injectables/SubmissionRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{}}}],["submissions",{"_index":4040,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ITask.html":{},"interfaces/ParentInfo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.coursegroup",{"_index":22004,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["submissions.filter((submission",{"_index":21376,"title":{},"body":{"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.foreach((submission",{"_index":21737,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.map((submission",{"_index":21141,"title":{},"body":{"controllers/SubmissionController.html":{},"injectables/TaskService.html":{}}}],["submissions.some((submission",{"_index":21732,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissionservice",{"_index":21330,"title":{"injectables/SubmissionService.html":{}},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["submissionsresponse",{"_index":4068,"title":{"classes/SubmissionsResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionsresponse(submissionitemsresponse",{"_index":21223,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionsresponse})@apiresponse({status",{"_index":4056,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submissionstatuslistresponse",{"_index":21135,"title":{"classes/SubmissionStatusListResponse.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionstatuslistresponse(submissionresponses",{"_index":21144,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionstatusresponse",{"_index":21270,"title":{"classes/SubmissionStatusResponse.html":{}},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionuc",{"_index":21134,"title":{"injectables/SubmissionUc.html":{}},"body":{"controllers/SubmissionController.html":{},"injectables/SubmissionUc.html":{},"modules/TaskApiModule.html":{}}}],["submissionurlparams",{"_index":21126,"title":{"classes/SubmissionUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionUrlParams.html":{}}}],["submitted",{"_index":4121,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["submittedsubmissions",{"_index":21728,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitterids",{"_index":21738,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitters",{"_index":21272,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submitting",{"_index":21193,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submittingcoursegroupname",{"_index":21277,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["subpath",{"_index":22533,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["subpermissions",{"_index":17970,"title":{},"body":{"injectables/PermissionService.html":{}}}],["subprograms",{"_index":25181,"title":{},"body":{"license.html":{}}}],["subsection",{"_index":25293,"title":{},"body":{"license.html":{}}}],["subset",{"_index":6287,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application.html":{}}}],["subsitution",{"_index":3434,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substantial",{"_index":25331,"title":{},"body":{"license.html":{}}}],["substantially",{"_index":25437,"title":{},"body":{"license.html":{}}}],["substitution",{"_index":25814,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["substitution_teacher",{"_index":3433,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substitutionids",{"_index":7540,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherentities",{"_index":11421,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteacherids",{"_index":7593,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherpseudonyms",{"_index":11431,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteachers",{"_index":7514,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["subtypes",{"_index":9654,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["succeed",{"_index":26116,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["success",{"_index":1076,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BatchDeletionUc.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/IdentityManagementOauthService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["successcount",{"_index":2871,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["successful",{"_index":2851,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/LdapService.html":{},"controllers/LoginController.html":{},"classes/SuccessfulResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["successful.'})@apiresponse({status",{"_index":15939,"title":{},"body":{"controllers/LoginController.html":{}}}],["successful.loggable.ts",{"_index":20266,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:4",{"_index":20267,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:5",{"_index":24176,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:7",{"_index":20268,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:8",{"_index":24177,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully",{"_index":385,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/DeleteFilesUc.html":{},"classes/IdentityManagementService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully.'})@apiresponse({status",{"_index":361,"title":{},"body":{"controllers/AccountController.html":{}}}],["successfully.'})@apiunauthorizedresponse({description",{"_index":23162,"title":{},"body":{"controllers/ToolController.html":{}}}],["successfulres",{"_index":13146,"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":21387,"title":{"classes/SuccessfulResponse.html":{}},"body":{"classes/SuccessfulResponse.html":{},"controllers/UserController.html":{}}}],["successfulresponse(result",{"_index":23611,"title":{},"body":{"controllers/UserController.html":{}}}],["successor",{"_index":4594,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["such",{"_index":2997,"title":{},"body":{"entities/Board.html":{},"injectables/DashboardUc.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sue",{"_index":25479,"title":{},"body":{"license.html":{}}}],["suffice",{"_index":25339,"title":{},"body":{"license.html":{}}}],["sufficient",{"_index":11317,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["suffix",{"_index":25671,"title":{},"body":{"todo.html":{}}}],["suggested",{"_index":25617,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["suggests",{"_index":26029,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["suitable",{"_index":13697,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["suites",{"_index":25753,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sum",{"_index":24236,"title":{},"body":{"injectables/UserRepo.html":{}}}],["summary",{"_index":401,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["summary.builder.ts",{"_index":2877,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.builder.ts:4",{"_index":2879,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.interface.ts",{"_index":2867,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["super",{"_index":233,"title":{},"body":{"entities/Account.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LocalStrategy.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["super('ldap",{"_index":15036,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super('ldapalreadypersisted",{"_index":15033,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super(_em",{"_index":6892,"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":12449,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["super(authorizationservice",{"_index":4160,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["super(config",{"_index":2183,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["super(domainobject.id",{"_index":8224,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["super(dto",{"_index":24601,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["super(e.response.statustext",{"_index":1095,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["super(editormodel",{"_index":12610,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["super(error",{"_index":13554,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["super(errorcode",{"_index":1473,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["super(errorutils.createhttpexceptionoptions(error",{"_index":20193,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["super(json.stringify(axioserror.response?.data",{"_index":2103,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["super(props",{"_index":457,"title":{},"body":{"classes/AccountDto.html":{},"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthLoginResponse.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["super(props.id",{"_index":6701,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/UserLoginMigrationDO.html":{}}}],["super(provisioningfeatures",{"_index":19746,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["super(resp",{"_index":9616,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["super(total",{"_index":880,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["super(type",{"_index":1403,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["super.build",{"_index":2241,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["super.findbyid(id",{"_index":7807,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/LessonRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserRepo.html":{}}}],["superhero",{"_index":330,"title":{},"body":{"controllers/AccountController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["superhero.'})@apiresponse({status",{"_index":344,"title":{},"body":{"controllers/AccountController.html":{}}}],["supertest",{"_index":1607,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["supertest(this.app.gethttpserver",{"_index":1642,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).delete(path).set('accept",{"_index":22602,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('accept",{"_index":22601,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('authorization",{"_index":1640,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest.test",{"_index":1637,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supplement",{"_index":25364,"title":{},"body":{"license.html":{}}}],["support",{"_index":2530,"title":{},"body":{"classes/BaseDomainObject.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{},"license.html":{},"todo.html":{}}}],["support_${objectid",{"_index":14450,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["supported",{"_index":1622,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/HydraSsoService.html":{},"injectables/LessonRule.html":{},"classes/OauthClientBody.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"classes/TestApiClient.html":{}}}],["supporting",{"_index":25675,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["supports",{"_index":2586,"title":{},"body":{"classes/BaseFactory.html":{},"license.html":{}}}],["supportuserid",{"_index":14448,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["sure",{"_index":1223,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalValidationPipe.html":{},"injectables/PermissionService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["surrender",{"_index":25514,"title":{},"body":{"license.html":{}}}],["survive",{"_index":25396,"title":{},"body":{"license.html":{}}}],["sustained",{"_index":25572,"title":{},"body":{"license.html":{}}}],["svs",{"_index":23046,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["svs'})@apiokresponse({description",{"_index":23038,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["swagger",{"_index":24894,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["swapinternallinksvisitor",{"_index":5458,"title":{"classes/SwapInternalLinksVisitor.html":{}},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["swapinternallinksvisitor(idmap",{"_index":5482,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["swaplinkedids",{"_index":5448,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["swaplinkedids(boardid",{"_index":5454,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["swaplinkedidsinboards",{"_index":3280,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["swaplinkedidsinboards(copystatus",{"_index":3311,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["switch",{"_index":2038,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["switching",{"_index":26473,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["symbol('bbbsettings",{"_index":13721,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["symbol('defaultencryptionservice",{"_index":9926,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('keycloakconfigurationinputfiles",{"_index":13758,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["symbol('keycloaksettings",{"_index":13763,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["symbol('ldapencryptionservice",{"_index":9927,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('provisioningfeatures",{"_index":13786,"title":{},"body":{"interfaces/IProvisioningFeatures.html":{},"classes/ProvisioningConfiguration.html":{}}}],["symbol('toolfeatures",{"_index":13802,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["symbol('videoconferencesettings",{"_index":13814,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["symetrickeyencryptionservice",{"_index":9911,"title":{"injectables/SymetricKeyEncryptionService.html":{}},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["symetrickeyencryptionservice(logger",{"_index":9916,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["sync",{"_index":8852,"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":17716,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["syncboardelementreferences(boardelementtargets",{"_index":2998,"title":{},"body":{"entities/Board.html":{}}}],["syncindexes",{"_index":5349,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{}}}],["syncmode",{"_index":14776,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["syntax",{"_index":14712,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/NewsUc.html":{}}}],["sysmes",{"_index":1074,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["system",{"_index":3430,"title":{"classes/System.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/SchoolController.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["system(props",{"_index":21602,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["system.'})@apiresponse({status",{"_index":21460,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@httpcode(httpstatus.no_content",{"_index":21449,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@isoptional()@isenum(systemtypeenum",{"_index":21556,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["system.adapter",{"_index":12180,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.adapter.ts",{"_index":12114,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:12",{"_index":12124,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:18",{"_index":12154,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:26",{"_index":12126,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:36",{"_index":12139,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:48",{"_index":12151,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:57",{"_index":12142,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:68",{"_index":12129,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:78",{"_index":12147,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:84",{"_index":12137,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.alias",{"_index":15522,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserLoginMigrationService.html":{}}}],["system.displayname",{"_index":15524,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.dto",{"_index":17286,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["system.dto.ts",{"_index":18356,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:5",{"_index":18359,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:7",{"_index":18358,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:9",{"_index":18357,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.entity",{"_index":10134,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["system.id",{"_index":15193,"title":{},"body":{"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["system.ldapactive",{"_index":21512,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemUc.html":{}}}],["system.ldapconfig",{"_index":5400,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/SystemRule.html":{}}}],["system.ldapconfig.provider",{"_index":21629,"title":{},"body":{"injectables/SystemRule.html":{}}}],["system.ldapconfig.searchuserpassword",{"_index":5401,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.module",{"_index":21442,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["system.module.ts",{"_index":12179,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.oauthconfig",{"_index":5394,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.oauthconfig.clientsecret",{"_index":5395,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig",{"_index":5397,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{}}}],["system.oidcconfig.clientsecret",{"_index":5398,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig.idphint",{"_index":15543,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.params.ts",{"_index":20427,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["system.params.ts:12",{"_index":20429,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["system.params.ts:8",{"_index":20428,"title":{},"body":{"classes/SchoolSystemParams.html":{}}}],["system.provisioningstrategy",{"_index":15527,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SystemDto.html":{}}}],["system.provisioningurl",{"_index":15529,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system.repo.ts",{"_index":15470,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:13",{"_index":15477,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:17",{"_index":15476,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:36",{"_index":15473,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.service.ts",{"_index":15493,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:15",{"_index":15497,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:21",{"_index":15498,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:30",{"_index":15500,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:45",{"_index":15504,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:71",{"_index":15502,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.type",{"_index":15520,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.url",{"_index":15531,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system/file",{"_index":12113,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["system?.displayname",{"_index":13102,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["system?.provisioningstrategy",{"_index":20371,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["systemapimodule",{"_index":20572,"title":{"modules/SystemApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SystemApiModule.html":{}}}],["systemcontroller",{"_index":21439,"title":{"controllers/SystemController.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{}}}],["systemdomainmapper",{"_index":21481,"title":{"classes/SystemDomainMapper.html":{}},"body":{"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{}}}],["systemdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":21601,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemdto",{"_index":13094,"title":{"classes/SystemDto.html":{}},"body":{"classes/GroupUcMapper.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemdto.alias",{"_index":15523,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.displayname",{"_index":15525,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.id",{"_index":15518,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.oauthconfig",{"_index":15526,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningstrategy",{"_index":15528,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningurl",{"_index":15530,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.type",{"_index":15521,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.url",{"_index":15532,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdtos",{"_index":21469,"title":{},"body":{"controllers/SystemController.html":{}}}],["systementity",{"_index":5210,"title":{"entities/SystemEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["systementityfactory",{"_index":14088,"title":{"classes/SystemEntityFactory.html":{}},"body":{"classes/ImportUserFactory.html":{},"classes/SystemEntityFactory.html":{}}}],["systementityfactory.build",{"_index":14090,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["systementityfactory.define(systementity",{"_index":21548,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["systementityprops",{"_index":15080,"title":{"interfaces/SystemEntityProps.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["systemfilterparams",{"_index":21452,"title":{"classes/SystemFilterParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{}}}],["systemid",{"_index":48,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemUc.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["systemidparams",{"_index":21447,"title":{"classes/SystemIdParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemIdParams.html":{}}}],["systemids",{"_index":24066,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemids[0",{"_index":24069,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemlistresponse",{"_index":21614,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemmapper",{"_index":15505,"title":{"classes/SystemMapper.html":{}},"body":{"injectables/LegacySystemService.html":{},"classes/SystemMapper.html":{}}}],["systemmapper.mapfromentitiestodtos(systems",{"_index":15517,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromentitytodto(system",{"_index":15509,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromoauthconfigentitytodto(entity.oauthconfig",{"_index":21567,"title":{},"body":{"classes/SystemMapper.html":{}}}],["systemmodule",{"_index":1525,"title":{"modules/SystemModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["systemoidcmapper",{"_index":21575,"title":{"classes/SystemOidcMapper.html":{}},"body":{"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitiestodtos(system",{"_index":21596,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitytodto(system",{"_index":21595,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromoidcconfigentitytodto(entity.id",{"_index":21585,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["systemoidcservice",{"_index":14635,"title":{"injectables/SystemOidcService.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["systemprops",{"_index":21431,"title":{"interfaces/SystemProps.html":{}},"body":{"classes/System.html":{},"classes/SystemDomainMapper.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{}}}],["systemprovisioningstrategy",{"_index":14395,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["systemprovisioningstrategy.iserv",{"_index":14403,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.oidc",{"_index":17727,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"classes/SystemEntityFactory.html":{}}}],["systemprovisioningstrategy.sanis",{"_index":19747,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.undefined",{"_index":18366,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["systemrepo",{"_index":15214,"title":{"injectables/SystemRepo.html":{}},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemresponse",{"_index":21616,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper",{"_index":21463,"title":{"classes/SystemResponseMapper.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper.mapfromdtotolistresponse(systemdtos",{"_index":21472,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromdtotoresponse(systemdto",{"_index":21476,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromoauthconfigdtotoresponse(system.oauthconfig",{"_index":21617,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponses",{"_index":18529,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["systemrule",{"_index":1864,"title":{"injectables/SystemRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SystemRule.html":{}}}],["systems",{"_index":5215,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/PublicSystemResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["systems.'})@apiresponse({status",{"_index":21455,"title":{},"body":{"controllers/SystemController.html":{}}}],["systems.filter((system",{"_index":15535,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemUc.html":{}}}],["systems.foreach((system",{"_index":5393,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systems.getitems().find((system",{"_index":23694,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["systems.map",{"_index":21612,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systems.map((system",{"_index":15539,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemscollectionname",{"_index":5214,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systemscope",{"_index":15478,"title":{"classes/SystemScope.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"classes/SystemScope.html":{}}}],["systemservice",{"_index":15482,"title":{"injectables/SystemService.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemstrategy",{"_index":18321,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["systemtype",{"_index":21643,"title":{},"body":{"injectables/SystemUc.html":{}}}],["systemtypeenum",{"_index":15475,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemtypeenum.ldap",{"_index":15483,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemtypeenum.oauth",{"_index":15485,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["systemtypeenum.oidc",{"_index":15487,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemuc",{"_index":21437,"title":{"injectables/SystemUc.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"injectables/SystemUc.html":{}}}],["t",{"_index":532,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBResponse.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/Builder.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/Group.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"injectables/NewsRepo.html":{},"interfaces/NextcloudGroups.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolYearRepo.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SortHelper.html":{},"classes/SortingParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["t.name",{"_index":21910,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["tab",{"_index":5341,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/TeamNewsController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["table",{"_index":16904,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["tablename",{"_index":229,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["tag",{"_index":107,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["tags",{"_index":16288,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"controllers/MetaTagExtractorController.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["tags'})@apiresponse({status",{"_index":16340,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["take",{"_index":13960,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["takes",{"_index":22077,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tangible",{"_index":25318,"title":{},"body":{"license.html":{}}}],["tap",{"_index":9826,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["target",{"_index":3011,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"injectables/BoardRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorLoggable.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/INewsScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"entities/LessonBoardElement.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolNews.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["target._id.tostring",{"_index":11306,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["target.constructor",{"_index":9977,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["target.entity",{"_index":2967,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{}}}],["target.entity.ts",{"_index":5599,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:21",{"_index":5603,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:32",{"_index":5602,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:35",{"_index":5601,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.id",{"_index":21654,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.name",{"_index":21655,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.service",{"_index":19429,"title":{},"body":{"injectables/RoomsService.html":{}}}],["target.service.ts",{"_index":5613,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:12",{"_index":5621,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:34",{"_index":5618,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:9",{"_index":5616,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.targetids",{"_index":16784,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.targetids.length",{"_index":16857,"title":{},"body":{"injectables/NewsUc.html":{}}}],["target.targetmodel",{"_index":16782,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.title",{"_index":5630,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target:in",{"_index":16783,"title":{},"body":{"classes/NewsScope.html":{}}}],["target_model_values",{"_index":16654,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["targetboard",{"_index":4169,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{}}}],["targetboardid",{"_index":4150,"title":{},"body":{"injectables/BoardUc.html":{}}}],["targetcard",{"_index":4567,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ContentElementService.html":{}}}],["targetcardid",{"_index":4550,"title":{},"body":{"injectables/CardUc.html":{}}}],["targetcolumn",{"_index":4497,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnUc.html":{}}}],["targetcolumnid",{"_index":5712,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["targetelement",{"_index":8591,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetelement.addreferences(element.getreferences",{"_index":8592,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetexternalid",{"_index":20213,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["targetfolder",{"_index":5239,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["targetgroupproperties",{"_index":16298,"title":{"interfaces/TargetGroupProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetgroups",{"_index":16289,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetid",{"_index":8069,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["targetids",{"_index":11304,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["targetinfomapper",{"_index":16680,"title":{"classes/TargetInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/TargetInfoMapper.html":{}}}],["targetinfomapper.maptoresponse(news.target",{"_index":16682,"title":{},"body":{"classes/NewsMapper.html":{}}}],["targetinforesponse",{"_index":16651,"title":{"classes/TargetInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{}}}],["targetmodel",{"_index":7881,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels",{"_index":16815,"title":{},"body":{"injectables/NewsUc.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.courses",{"_index":24715,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.events",{"_index":24713,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.map(async",{"_index":16853,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targetmodelsmapping",{"_index":24711,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[entitydo.targetmodel",{"_index":24725,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[videoconferencescope",{"_index":24718,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetparent",{"_index":3733,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.addchild(child",{"_index":3746,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.haschild(child",{"_index":3740,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.removechild(child",{"_index":3741,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparentid",{"_index":18651,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetparentinfo",{"_index":11883,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["targetpath",{"_index":7305,"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":11295,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["targetposition",{"_index":3734,"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":9338,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdoamin",{"_index":9341,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdomain",{"_index":2897,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targetrefid",{"_index":9336,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targets",{"_index":11300,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{}}}],["targets.filter((target",{"_index":16856,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targets.map((target",{"_index":11305,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/NewsScope.html":{}}}],["targetschoolid",{"_index":5473,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetschoolnumber",{"_index":20279,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["targetsystem",{"_index":23922,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["targetsystemid",{"_index":14358,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["task",{"_index":2959,"title":{"entities/Task.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["task's",{"_index":26034,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["task.availabledate",{"_index":21961,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.course",{"_index":19376,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/SubmissionRepo.html":{}}}],["task.createdat",{"_index":21956,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.createstudentstatusforuser(this.user",{"_index":9788,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createstudentstatusforuser(user",{"_index":22219,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.createteacherstatusforuser(this.user",{"_index":9787,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createteacherstatusforuser(user",{"_index":22218,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.creator",{"_index":19371,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.description",{"_index":21861,"title":{},"body":{"injectables/TaskCopyService.html":{},"classes/TaskMapper.html":{}}}],["task.description.replace(regex",{"_index":21862,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["task.descriptioninputformat",{"_index":21959,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.duedate",{"_index":21963,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.entity",{"_index":2960,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"classes/UsersList.html":{}}}],["task.factory",{"_index":21158,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["task.finishforuser(user",{"_index":22223,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.getparentdata",{"_index":21950,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.id",{"_index":21953,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.isdraft",{"_index":6259,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.isplanned",{"_index":6261,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.ispublished",{"_index":6256,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson",{"_index":19373,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson.course",{"_index":21299,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.lesson.coursegroup.course",{"_index":21300,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.module",{"_index":21778,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["task.name",{"_index":5838,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/TaskMapper.html":{},"injectables/TaskUrlHandler.html":{}}}],["task.name}${task.description",{"_index":5839,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["task.response",{"_index":3770,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["task.response.ts",{"_index":4092,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:15",{"_index":4102,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:19",{"_index":4103,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:22",{"_index":4096,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:25",{"_index":4101,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:29",{"_index":4097,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:33",{"_index":4099,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:36",{"_index":4100,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:39",{"_index":4098,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:42",{"_index":4106,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:45",{"_index":4105,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:5",{"_index":4095,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.restoreforuser(user",{"_index":22224,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.rule",{"_index":21320,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["task.submissions.getitems",{"_index":22166,"title":{},"body":{"injectables/TaskService.html":{}}}],["task.unpublish",{"_index":22228,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.updatedat",{"_index":21957,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskapimodule",{"_index":20574,"title":{"modules/TaskApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskApiModule.html":{}}}],["taskboardelement",{"_index":2969,"title":{"entities/TaskBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/TaskBoardElement.html":{}}}],["taskcontroller",{"_index":21776,"title":{"controllers/TaskController.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{}}}],["taskcopy",{"_index":21845,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopy.name",{"_index":21866,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyapiparams",{"_index":7432,"title":{"classes/TaskCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{}}}],["taskcopyparams",{"_index":21839,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyparentparams",{"_index":7434,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcopyservice",{"_index":3284,"title":{"injectables/TaskCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["taskcopyuc",{"_index":21773,"title":{"injectables/TaskCopyUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcourse",{"_index":19322,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcourse.name",{"_index":19325,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcreate",{"_index":13794,"title":{"interfaces/TaskCreate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["taskcreateparams",{"_index":21913,"title":{"classes/TaskCreateParams.html":{}},"body":{"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["taskdesc",{"_index":21949,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.color",{"_index":21965,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.courseid",{"_index":21955,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.coursename",{"_index":21954,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonhidden",{"_index":21969,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonname",{"_index":21966,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskelement",{"_index":3382,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["taskelements",{"_index":4008,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["taskfactory",{"_index":21157,"title":{"classes/TaskFactory.html":{}},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["taskfactory.build",{"_index":21162,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["taskfactory.define(task",{"_index":21929,"title":{},"body":{"classes/TaskFactory.html":{}}}],["taskid",{"_index":21339,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUrlParams.html":{}}}],["taskidentifier",{"_index":5835,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskidentifier}/${taskidentifier}.html",{"_index":5837,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskids",{"_index":21287,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["tasklistresponse",{"_index":21809,"title":{"classes/TaskListResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["tasklistresponse(taskresponses",{"_index":21821,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmapper",{"_index":21806,"title":{"classes/TaskMapper.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskMapper.html":{}}}],["taskmapper.maptoresponse(task",{"_index":21820,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmodule",{"_index":15277,"title":{"modules/TaskModule.html":{}},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["taskparent",{"_index":6211,"title":{"interfaces/TaskParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["taskparentdescriptions",{"_index":21681,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskparentpermission",{"_index":19366,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["taskproperties",{"_index":13795,"title":{"interfaces/TaskProperties.html":{}},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskrepo",{"_index":1915,"title":{"injectables/TaskRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskresponse",{"_index":21810,"title":{"classes/TaskResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["taskresponses",{"_index":21818,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskrule",{"_index":1877,"title":{"injectables/TaskRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{}}}],["tasks",{"_index":5800,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["tasks.filter((task",{"_index":6255,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["tasks.foreach((task",{"_index":5802,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["tasks.map((task",{"_index":22217,"title":{},"body":{"injectables/TaskUC.html":{}}}],["taskscope",{"_index":22001,"title":{"classes/TaskScope.html":{}},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{}}}],["taskscope('$or",{"_index":22011,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["taskservice",{"_index":5748,"title":{"injectables/TaskService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskstatus",{"_index":4112,"title":{"interfaces/TaskStatus.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/DtoCreator.html":{},"interfaces/ITask.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskstatus.mapper",{"_index":19301,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskstatus.mapper.ts",{"_index":4110,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatus.mapper.ts:5",{"_index":4113,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatusmapper",{"_index":21947,"title":{"classes/TaskStatusMapper.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{}}}],["taskstatusmapper.maptoresponse(status",{"_index":21952,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskstatusresponse",{"_index":21933,"title":{"classes/TaskStatusResponse.html":{}},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{}}}],["taskstatusresponse(status",{"_index":22171,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["tasksubmitterids",{"_index":21736,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskswithstatus",{"_index":21815,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskswithstatus.map((task",{"_index":21819,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskuc",{"_index":21774,"title":{"injectables/TaskUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["taskupdate",{"_index":13793,"title":{"interfaces/TaskUpdate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{}}}],["taskupdateparams",{"_index":21943,"title":{"classes/TaskUpdateParams.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["taskurlhandler",{"_index":16358,"title":{"injectables/TaskUrlHandler.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskurlparams",{"_index":21130,"title":{"classes/TaskUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"classes/TaskUrlParams.html":{}}}],["taskwithstatus",{"_index":19311,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/TaskMapper.html":{}}}],["taskwithstatusvo",{"_index":9754,"title":{"classes/TaskWithStatusVo.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskwithstatusvo(task",{"_index":9784,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/TaskUC.html":{}}}],["taskwithstatusvos",{"_index":22216,"title":{},"body":{"injectables/TaskUC.html":{}}}],["teacher",{"_index":3431,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teacher.firstname",{"_index":5830,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher.lastname",{"_index":5831,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher_student_visibility__is_configurable",{"_index":313,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["teacheraccount",{"_index":720,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teacherentities",{"_index":11420,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherid",{"_index":21660,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["teacherid.tohexstring",{"_index":4774,"title":{},"body":{"classes/ClassMapper.html":{}}}],["teacherids",{"_index":4589,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["teachernames",{"_index":4716,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/GroupUcMapper.html":{}}}],["teacherpermissions",{"_index":23774,"title":{},"body":{"classes/UserFactory.html":{}}}],["teacherpseudonyms",{"_index":11430,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherpseudonyms.concat(substitutionteacherpseudonyms",{"_index":11436,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teachers",{"_index":4739,"title":{},"body":{"classes/ClassInfoResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["teachers.map((user",{"_index":13114,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["teacherswithid",{"_index":7754,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacherswithid(numberofteachers",{"_index":7760,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacheruser",{"_index":721,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teaching_assistant",{"_index":8150,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["teachingassistant",{"_index":8151,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["team",{"_index":5018,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"properties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["team.entity",{"_index":7876,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["team.id",{"_index":5053,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.name",{"_index":5055,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.teamusers",{"_index":16921,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.length",{"_index":16931,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.map(async",{"_index":22434,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["team.userids",{"_index":22385,"title":{},"body":{"injectables/TeamService.html":{}}}],["team.userids.filter((u",{"_index":22386,"title":{},"body":{"injectables/TeamService.html":{}}}],["teamadmin",{"_index":5149,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamdto",{"_index":5016,"title":{"classes/TeamDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamentity",{"_index":7875,"title":{"entities/TeamEntity.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["teamentity.id",{"_index":22320,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.name",{"_index":22321,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.teamusers.map",{"_index":22316,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamfactory",{"_index":22296,"title":{"classes/TeamFactory.html":{}},"body":{"classes/TeamFactory.html":{}}}],["teamfactory.define(teamentity",{"_index":22308,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamid",{"_index":4291,"title":{},"body":{"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{}}}],["teammapper",{"_index":5121,"title":{"injectables/TeamMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/TeamMapper.html":{}}}],["teammemberids",{"_index":21066,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids",{"_index":21064,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids.map((id",{"_index":21067,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammembers",{"_index":21028,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{}}}],["teammemberswithid",{"_index":21150,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teammemberswithid(numberofteammembers",{"_index":21154,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teamname",{"_index":5054,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamnews",{"_index":7911,"title":{"entities/TeamNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnews(props",{"_index":7903,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnewscontroller",{"_index":16716,"title":{"controllers/TeamNewsController.html":{}},"body":{"modules/NewsModule.html":{},"controllers/TeamNewsController.html":{}}}],["teamowner",{"_index":5148,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teampermissions",{"_index":5144,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsbody",{"_index":5092,"title":{"classes/TeamPermissionsBody.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsdto",{"_index":5027,"title":{"classes/TeamPermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsmapper",{"_index":5122,"title":{"injectables/TeamPermissionsMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teamproperties",{"_index":22287,"title":{"interfaces/TeamProperties.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamrole",{"_index":5089,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.roleid",{"_index":5192,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.teamid",{"_index":5191,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamroledto",{"_index":5090,"title":{"classes/TeamRoleDto.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamRoleDto.html":{}}}],["teamrolepermissionsdto",{"_index":5051,"title":{"classes/TeamRolePermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamrule",{"_index":1878,"title":{"injectables/TeamRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/TeamRule.html":{}}}],["teams",{"_index":8068,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teams.foreach((team",{"_index":22384,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.length",{"_index":22389,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.map((team",{"_index":13864,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["teamsapimodule",{"_index":20576,"title":{"modules/TeamsApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TeamsApiModule.html":{}}}],["teamservice",{"_index":22374,"title":{"injectables/TeamService.html":{}},"body":{"injectables/TeamService.html":{},"modules/TeamsModule.html":{}}}],["teamsmapper",{"_index":5130,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["teamsmodule",{"_index":9055,"title":{"modules/TeamsModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{}}}],["teamsrepo",{"_index":1916,"title":{"injectables/TeamsRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/IdTokenService.html":{},"modules/OauthProviderModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["teamstorageuc",{"_index":5111,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["teamsubmissions",{"_index":13797,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["teamurlparams",{"_index":22327,"title":{"classes/TeamUrlParams.html":{}},"body":{"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{}}}],["teamuser",{"_index":16897,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamsRepo.html":{}}}],["teamuser.role.id",{"_index":22318,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.school.id",{"_index":22319,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.user.id",{"_index":22317,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{}}}],["teamuserdto",{"_index":16901,"title":{"classes/TeamUserDto.html":{}},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamuserentity",{"_index":22284,"title":{"classes/TeamUserEntity.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{}}}],["teamuserentity(teamuser",{"_index":22295,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamuserfactory",{"_index":22304,"title":{"classes/TeamUserFactory.html":{}},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["teamuserfactory.buildwithid",{"_index":22309,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserfactory.define(teamuserentity",{"_index":22415,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["teamuserfactory.withroleanduserid(role",{"_index":22306,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserproperties",{"_index":22288,"title":{"interfaces/TeamUserProperties.html":{}},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers",{"_index":16885,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers(value",{"_index":22293,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers.map(async",{"_index":16938,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["teardown",{"_index":25644,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tech",{"_index":25788,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technical",{"_index":9962,"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":25213,"title":{},"body":{"license.html":{}}}],["tell",{"_index":25780,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tells",{"_index":6284,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"license.html":{}}}],["temp",{"_index":12130,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temp/:file",{"_index":13317,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["tempfile",{"_index":22511,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity",{"_index":22494,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity.ts",{"_index":13534,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["tempfile.entity.ts:19",{"_index":13537,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:22",{"_index":13536,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:25",{"_index":13541,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:28",{"_index":13535,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:31",{"_index":13542,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.size",{"_index":22515,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempflow.alias",{"_index":14700,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["template",{"_index":1167,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["template')@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":23029,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["template.replace(/\\{id\\}/g",{"_index":10464,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["template.response",{"_index":6737,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}}}],["template.response.ts",{"_index":6738,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:10",{"_index":6749,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:13",{"_index":6746,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:16",{"_index":6745,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:19",{"_index":6748,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:22",{"_index":6743,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:7",{"_index":6744,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["temporary",{"_index":357,"title":{},"body":{"controllers/AccountController.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/UserBoardRoles.html":{}}}],["temporaryfileproperties",{"_index":13527,"title":{"interfaces/TemporaryFileProperties.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temporaryfilerepo",{"_index":13391,"title":{"injectables/TemporaryFileRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["temporaryfilestorage",{"_index":13392,"title":{"injectables/TemporaryFileStorage.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["tempted",{"_index":26451,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["term",{"_index":25187,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["terminal",{"_index":26260,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["terminate",{"_index":25400,"title":{},"body":{"license.html":{}}}],["terminated",{"_index":25418,"title":{},"body":{"license.html":{}}}],["terminates",{"_index":25409,"title":{},"body":{"license.html":{}}}],["termination",{"_index":25397,"title":{},"body":{"license.html":{}}}],["terms",{"_index":24998,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["test",{"_index":981,"title":{},"body":{"injectables/AccountValidationService.html":{},"interfaces/CleanOptions.html":{},"injectables/FeathersAuthProvider.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TestBootstrapConsole.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["test.createtestingmodule",{"_index":22557,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["test.module.ts",{"_index":12467,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:18",{"_index":22961,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:29",{"_index":22787,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["test.module.ts:30",{"_index":12468,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["test.module.ts:37",{"_index":12570,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["test.module.ts:53",{"_index":13410,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["test/test",{"_index":22546,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["testapiclient",{"_index":1617,"title":{"classes/TestApiClient.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testbootstrapconsole",{"_index":22544,"title":{"classes/TestBootstrapConsole.html":{}},"body":{"classes/TestBootstrapConsole.html":{}}}],["testcase",{"_index":26050,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testconnection",{"_index":22565,"title":{"classes/TestConnection.html":{}},"body":{"classes/TestConnection.html":{}}}],["testdata",{"_index":26070,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tested",{"_index":7957,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testhelper",{"_index":22580,"title":{"classes/TestHelper.html":{}},"body":{"classes/TestHelper.html":{}}}],["testing",{"_index":13305,"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":13277,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["testingmodule",{"_index":22553,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testkcconnection",{"_index":14551,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["testmodule",{"_index":26189,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.close",{"_index":26195,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(entitymanager",{"_index":26192,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(mikroorm",{"_index":26191,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(newsrepo",{"_index":26190,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testname",{"_index":22591,"title":{},"body":{"classes/TestHelper.html":{}}}],["testreqestconst",{"_index":1612,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.accesstoken",{"_index":1676,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.loginpath",{"_index":1652,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.prefix",{"_index":1635,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testrequestinstance",{"_index":1639,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["tests",{"_index":2551,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FileStorageConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["testtag",{"_index":22590,"title":{},"body":{"classes/TestHelper.html":{}}}],["testtext",{"_index":22586,"title":{},"body":{"classes/TestHelper.html":{}}}],["testuser",{"_index":8044,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["testxapikeyclient",{"_index":22593,"title":{"classes/TestXApiKeyClient.html":{}},"body":{"classes/TestXApiKeyClient.html":{}}}],["text",{"_index":2912,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"entities/InstalledLibrary.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/TestHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["text(value",{"_index":19081,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["text.length",{"_index":22589,"title":{},"body":{"classes/TestHelper.html":{}}}],["text.types.ts",{"_index":19058,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:14",{"_index":19060,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:20",{"_index":19061,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:5",{"_index":19059,"title":{},"body":{"classes/RichText.html":{}}}],["text.validator.ts",{"_index":25954,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["text1",{"_index":5545,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text2",{"_index":5565,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text3",{"_index":5581,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text4",{"_index":5593,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["textutils",{"_index":25940,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["textvalidator",{"_index":25955,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["tha",{"_index":3966,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["that's",{"_index":794,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["themself",{"_index":26480,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["themselves",{"_index":26141,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["then((pseudonymdo",{"_index":16942,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["then((resp",{"_index":2398,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["there's",{"_index":22082,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["therefore",{"_index":7786,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["things",{"_index":25072,"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":21898,"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":25235,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["this(entityclass",{"_index":2591,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this._allowemptyquery",{"_index":20491,"title":{},"body":{"classes/Scope.html":{}}}],["this._collectdefaultmetrics",{"_index":18191,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._collectmetricsroutemetrics",{"_index":18192,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._columnboardid",{"_index":5605,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._columnboardid.tohexstring",{"_index":5609,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._contextid",{"_index":5501,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contextid.tohexstring",{"_index":5503,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._contextid?.tohexstring",{"_index":20651,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contexttype",{"_index":5499,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._creatorid",{"_index":6678,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._creatorid.tohexstring",{"_index":6670,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this._creatorid?.tohexstring",{"_index":11866,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._em.aggregate(fileentity",{"_index":12214,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.aggregate(lessonentity",{"_index":15651,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.aggregate(user",{"_index":24237,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.assign(existingentity",{"_index":2500,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.clear",{"_index":791,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.count(this.entityname",{"_index":6899,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{}}}],["this._em.create(entityname",{"_index":2501,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.create(this.entityname",{"_index":2650,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.find(account",{"_index":776,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.find(coursegroup",{"_index":21297,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.find(fileentity",{"_index":12207,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.find(ltitool",{"_index":16166,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.find(role",{"_index":19262,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.find(storageproviderentity",{"_index":21017,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["this._em.find(systementity",{"_index":15490,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["this._em.find(teamentity",{"_index":22437,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.find(this.entityname",{"_index":787,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["this._em.find(tldrawdrawing",{"_index":22771,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.find(user",{"_index":23692,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findandcount",{"_index":800,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["this._em.findandcount(course",{"_index":7955,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findandcount(coursegroup",{"_index":7809,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.findandcount(filerecord",{"_index":12007,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findandcount(importuser",{"_index":14232,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findandcount(lessonentity",{"_index":15648,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.findandcount(news",{"_index":16748,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findandcount(schoolentity",{"_index":15406,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findandcount(task",{"_index":22086,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.findandcount(this.entityname",{"_index":15777,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/SubmissionRepo.html":{}}}],["this._em.findandcount(user",{"_index":23680,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findone",{"_index":6901,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findone(account",{"_index":772,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findone(board",{"_index":4001,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findone(importuser",{"_index":14213,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findone(ltitool",{"_index":16169,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findone(schoolentity",{"_index":15404,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findone(this.entityname",{"_index":10723,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findone(userloginmigrationentity",{"_index":23982,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.findoneorfail",{"_index":6900,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findoneorfail(account",{"_index":777,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findoneorfail(board",{"_index":4005,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findoneorfail(course",{"_index":4003,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findoneorfail(entityname",{"_index":2499,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.findoneorfail(federalstateentity",{"_index":11498,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["this._em.findoneorfail(filerecord",{"_index":12008,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findoneorfail(importuser",{"_index":14210,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findoneorfail(ltitool",{"_index":16168,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findoneorfail(news",{"_index":16744,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findoneorfail(role",{"_index":19260,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.findoneorfail(schoolyearentity",{"_index":20455,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["this._em.findoneorfail(sharetoken",{"_index":20784,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["this._em.findoneorfail(teamentity",{"_index":22433,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.findoneorfail(this.entityname",{"_index":2516,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findoneorfail(user",{"_index":24256,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.findoneorfail(videoconference",{"_index":24717,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["this._em.flush",{"_index":781,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.getreference(entityname",{"_index":779,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.getreference(externaltoolentity",{"_index":20028,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.getreference(role",{"_index":23715,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.getreference(schoolentity",{"_index":20026,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(schoolexternaltoolentity",{"_index":6917,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.getreference(systementity",{"_index":15429,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(this.entityname",{"_index":2506,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.getreference(userloginmigrationentity",{"_index":15431,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.map(fileentity",{"_index":12216,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.map(lessonentity",{"_index":15653,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.map(user",{"_index":24250,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.nativedelete(importuser",{"_index":14237,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.nativedelete(this.entityname",{"_index":6893,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.nativedelete(user",{"_index":24255,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.persist(account",{"_index":780,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.persistandflush(board",{"_index":4004,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.persistandflush(entities",{"_index":2651,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.persistandflush(entity",{"_index":22770,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.populate(columnboardelements",{"_index":4014,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(course",{"_index":7947,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.populate(coursegroup",{"_index":7808,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.populate(coursenews",{"_index":16754,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(importuser.user",{"_index":14211,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(lesson",{"_index":15643,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(lessonelements",{"_index":4012,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(lessons",{"_index":15649,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(newsentities",{"_index":16749,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(newsentity",{"_index":16745,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(role",{"_index":22440,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(schoolnews",{"_index":16752,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(submissions",{"_index":21298,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.populate(taskelements",{"_index":4010,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(tasks",{"_index":22002,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.populate(teamnews",{"_index":16753,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(teamuser",{"_index":22435,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(user",{"_index":23686,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.populate(userentity",{"_index":23682,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.populate(usermatches",{"_index":14236,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(users",{"_index":24252,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.remove(entities).flush",{"_index":2508,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.removeandflush(account",{"_index":786,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.removeandflush(entities",{"_index":2652,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.removeandflush(entity",{"_index":22772,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._id",{"_index":8607,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this._instance",{"_index":18198,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._iscopyfrom",{"_index":11873,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._iscopyfrom?.tohexstring",{"_index":11868,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._isenabled",{"_index":18188,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._lockid",{"_index":11682,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._lockid?.tohexstring",{"_index":11642,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._oauthconfigcache",{"_index":14830,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this._operator",{"_index":20490,"title":{},"body":{"classes/Scope.html":{}}}],["this._origintoolid",{"_index":8200,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._origintoolid?.tohexstring",{"_index":8169,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._ownerid",{"_index":11675,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._ownerid.tohexstring",{"_index":11641,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._parentid",{"_index":6676,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid.tohexstring",{"_index":6672,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid?.tohexstring",{"_index":11640,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._port",{"_index":18190,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._queries",{"_index":20493,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.length",{"_index":20492,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.push(query",{"_index":20495,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries[0",{"_index":20494,"title":{},"body":{"classes/Scope.html":{}}}],["this._route",{"_index":18189,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._schoolid",{"_index":6680,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._schoolid.tohexstring",{"_index":6674,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.a11ytitle",{"_index":6644,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.abbreviation",{"_index":7502,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.acceptconsentrequest",{"_index":17391,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.acceptloginrequest(currentuserid",{"_index":17542,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.accesskeyid",{"_index":21007,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.accesstoken",{"_index":15971,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.accountlookupservice.getinternalid(id",{"_index":960,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyid(internalid",{"_index":953,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyuserid(userid",{"_index":954,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyid(accountid",{"_index":1006,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyid(internalid",{"_index":929,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyuserid(userid",{"_index":932,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyusernameandsystemid(username",{"_index":934,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmany(offset",{"_index":965,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmultiplebyuserid(userids",{"_index":930,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.save(account",{"_index":949,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(email",{"_index":989,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(username",{"_index":957,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernamepartialmatch(username",{"_index":955,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountservice.findbyuserid(user.id",{"_index":17083,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.accountservice.findbyuseridorfail(currentuserid",{"_index":24163,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.findbyuseridorfail(userid",{"_index":24317,"title":{},"body":{"injectables/UserService.html":{}}}],["this.accountservice.findbyusernameandsystemid(username",{"_index":1726,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.findmany(skip",{"_index":14965,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.accountservice.save(account",{"_index":24169,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.save(accountcopy",{"_index":24171,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.savewithvalidation",{"_index":17806,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.accountservice.searchbyusernameexactmatch(username",{"_index":1727,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.updatelasttriedfailedlogin(id",{"_index":1752,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountuc.deleteaccountbyid(currentuser",{"_index":424,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.findaccountbyid(currentuser",{"_index":406,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.replacemytemporarypassword(currentuser.userid",{"_index":426,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.searchaccounts(currentuser",{"_index":404,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updateaccountbyid(currentuser",{"_index":422,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updatemyaccount(currentuser.userid",{"_index":420,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.action",{"_index":22753,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.activated",{"_index":250,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{}}}],["this.active",{"_index":15049,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.adapter.createteam(team",{"_index":5163,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.deleteteam(teamid",{"_index":5162,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteam(team",{"_index":5164,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteampermissionsforrole",{"_index":5159,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.addclientprotocolmappers(defaultclientinternalid",{"_index":14728,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.addexternaloauth2datatoconfig(tool.config",{"_index":11050,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.additionalinfo",{"_index":13875,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.addlessons(builder",{"_index":5785,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addquery",{"_index":7034,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/GroupScope.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":16787,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(queries[0",{"_index":16788,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(query",{"_index":12042,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["this.addroom(room",{"_index":8561,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.addtasks(builder",{"_index":5786,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addteacherroleifadmin(externaluser",{"_index":19757,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.addto",{"_index":11758,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.adminidandtoken",{"_index":1180,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.alias",{"_index":15158,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.allowedapikeys",{"_index":24806,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowedapikeys.includes(apikey",{"_index":24808,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowmodstounmuteusers",{"_index":2196,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.allrooms",{"_index":8571,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.alternativetext",{"_index":11575,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.amqpconnection.publish",{"_index":1337,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.amqpconnection.publish(this.options.exchange",{"_index":16255,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.amqpconnection.request>(this.createrequest(event",{"_index":19475,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.amqpconnectionmanager.getconnections().map((connection",{"_index":18578,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["this.ancestorids.length",{"_index":3941,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.ancestorids[this.ancestorids.length",{"_index":3935,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.antareskey",{"_index":7498,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.apikey",{"_index":9097,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.apikeyheader",{"_index":9131,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.app",{"_index":1631,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.appendnotcontainedboardelements(boardelementtargets",{"_index":3000,"title":{},"body":{"entities/Board.html":{}}}],["this.attendeepw",{"_index":2194,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.aud",{"_index":14449,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["this.authendpoint",{"_index":15094,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authenticationservice.checkbrutforce(account",{"_index":15234,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.loadaccount",{"_index":15254,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(`${externalschoolid}/${username}`.tolowercase",{"_index":15250,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(username",{"_index":15857,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizepassword(password",{"_index":15240,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizeusername(username",{"_index":15239,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.removejwtfromwhitelist(userjwt",{"_index":24110,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.authenticationservice.updatelasttriedfailedlogin(account.id",{"_index":15242,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.author",{"_index":11760,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.authorcomments",{"_index":6659,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authorisation.checkpermission(authorizableuser",{"_index":21905,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.checkpermission(user",{"_index":15604,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisation.getuserwithpermissions(userid",{"_index":15583,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(authorizableuser",{"_index":21903,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(user",{"_index":15598,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisationservice",{"_index":9762,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorisationservice.hascoursewritepermission(user",{"_index":19461,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.authorisationservice.haspermission(this.user",{"_index":9772,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorization.checkpermissionbyreferences(userid",{"_index":7733,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["this.authorizationhelper.hasaccesstoentity",{"_index":7965,"title":{},"body":{"injectables/CourseRule.html":{}}}],["this.authorizationhelper.hasaccesstoentity(user",{"_index":7816,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissions(user",{"_index":1993,"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/SchoolSystemOptionsRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissionsbyrole(isteamuser.role",{"_index":22373,"title":{},"body":{"injectables/TeamRule.html":{}}}],["this.authorizationhelper.hasoneofpermissions(user",{"_index":1994,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.authorizationreferenceservice.checkpermissionbyreferences",{"_index":20892,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkallpermissions(user",{"_index":10277,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkentitypermissions",{"_index":16842,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkentitypermissions(userid",{"_index":16825,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkoneofpermissions(user",{"_index":22204,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.checkpermission",{"_index":4987,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{}}}],["this.authorizationservice.checkpermission(authorizableuser",{"_index":23351,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.authorizationservice.checkpermission(user",{"_index":2685,"title":{},"body":{"classes/BaseUc.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.checkpermissionbyreferences",{"_index":7748,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.authorizationservice.checkpermissions(user",{"_index":26421,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.getentitypermissions(userid",{"_index":16858,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getpermittedentities(userid",{"_index":16854,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuser.userid",{"_index":17355,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuserid",{"_index":17549,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(pseudonymuserid",{"_index":18505,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(userid",{"_index":1962,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasallpermissions(user",{"_index":22220,"title":{},"body":{"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasoneofpermissions(user",{"_index":22227,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.haspermission(user",{"_index":1964,"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":26400,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationurl",{"_index":15142,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authorizeaccess",{"_index":14571,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.authors",{"_index":6653,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authservice.checkpermission",{"_index":5156,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.generatejwt(createjwtpayload",{"_index":16015,"title":{},"body":{"injectables/LoginUc.html":{}}}],["this.authservice.getuserwithpermissions(currentuserid",{"_index":5157,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authtoken",{"_index":19151,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.availabledate",{"_index":21688,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.awareness",{"_index":24777,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.on('update",{"_index":24780,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.setlocalstate(null",{"_index":24779,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awarenesschangehandler",{"_index":24781,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.axiosconfig",{"_index":13623,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.axioserror.message",{"_index":2108,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.axioserror.stack",{"_index":2111,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.basepath",{"_index":5232,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.baseroute",{"_index":1632,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.baseurl",{"_index":2716,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["this.baseurl).tostring",{"_index":9104,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.batchdeletionservice.queuedeletionrequests(inputs",{"_index":2925,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["this.batchdeletionuc.deleterefsfromtxtfile",{"_index":9376,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.bbbresponse",{"_index":24399,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["this.bbbservice.create(configbuilder.build",{"_index":24527,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.end(config",{"_index":24594,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.bbbservice.getmeetinginfo(config",{"_index":24614,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.bbbservice.getmeetinginfo(new",{"_index":24513,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.join(joinbuilder.build",{"_index":24646,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.bbbsettings.host",{"_index":2386,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.presentationurl",{"_index":2388,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.salt",{"_index":2387,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.birthday",{"_index":11269,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.birthtime",{"_index":11703,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.board",{"_index":9761,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.board.getelements",{"_index":9764,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.boardcopyservice.copyboard",{"_index":7699,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(anyboarddo",{"_index":2683,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo",{"_index":2686,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo).then((boarddoauthorizable",{"_index":4570,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(submissioncontainerelement",{"_index":21256,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.boarddocopyservice.copy",{"_index":5475,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.delete(domainobject",{"_index":3739,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findbyclassandid(card",{"_index":4505,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findbyclassandid(column",{"_index":5699,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findbyclassandid(columnboard",{"_index":5461,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyid(boardid",{"_index":5481,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.findbyid(elementid",{"_index":6472,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findbyid(id",{"_index":3454,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.findbyid(rootid",{"_index":3462,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyids(cardids",{"_index":4506,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findidsbyexternalreference(reference",{"_index":5530,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findparentofid(card.id",{"_index":4516,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findparentofid(child.id",{"_index":3743,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(column.id",{"_index":5703,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findparentofid(domainobject.id",{"_index":3736,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(element.id",{"_index":6483,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(elementid",{"_index":6474,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(submissionitem.id",{"_index":21240,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.getancestorids(boarddo",{"_index":3457,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.gettitlesbyids(boardids",{"_index":5535,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(board",{"_index":5484,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(card",{"_index":4517,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.save(column",{"_index":5704,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.save(columnboard",{"_index":5536,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(copystatus.copyentity",{"_index":5480,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.save(element",{"_index":6484,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(parent.children",{"_index":3738,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(sourceparent.children",{"_index":3745,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.save(submissioncontainer.children",{"_index":21238,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.save(targetparent.children",{"_index":3747,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorule",{"_index":19508,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.boarddoservice.deletewithdescendants(board",{"_index":5537,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddoservice.deletewithdescendants(card",{"_index":4514,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.deletewithdescendants(column",{"_index":5701,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.deletewithdescendants(element",{"_index":6478,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddoservice.move(card",{"_index":4515,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.move(column",{"_index":5702,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.move(element",{"_index":6479,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boardelement",{"_index":6776,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["this.boardelementservice.findbyid(contextexternaltool.contextref.id",{"_index":23355,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boardelementtype",{"_index":5728,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["this.boardmanagementuc.createboard(courseid",{"_index":3822,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.boardnodeauthorizableservice",{"_index":18849,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.boardnoderepo",{"_index":3705,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(boarddo.id",{"_index":3701,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(childid",{"_index":3698,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(id",{"_index":3675,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(parent.id",{"_index":18764,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.boardnoderepo.finddescendants(boardnode",{"_index":3676,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.finddescendantsofmany(boardnodes",{"_index":3683,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardrepo.findbycourseid(course.id",{"_index":19463,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.findbycourseid(courseid",{"_index":7689,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boardrepo.findbycourseid(roomid",{"_index":19458,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(board",{"_index":19437,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(boardcopy",{"_index":3343,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.boardservice.getboardauthorizable(boardelement",{"_index":23356,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boarduc.createcolumn(currentuser.userid",{"_index":3268,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.deleteboard(currentuser.userid",{"_index":3266,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboard(currentuser.userid",{"_index":3252,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboardcontext(currentuser.userid",{"_index":3257,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.movecolumn(currentuser.userid",{"_index":5660,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.boarduc.updateboardtitle(currentuser.userid",{"_index":3262,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boardurlhandler",{"_index":16454,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.bsonconverter.deserialize(bsondocuments",{"_index":5316,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bsonconverter.serialize(jsondocuments",{"_index":5335,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bucket",{"_index":11664,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.build",{"_index":8339,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["this.build(deletionexecutiontriggerstatus.failure",{"_index":9189,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(deletionexecutiontriggerstatus.success",{"_index":9188,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(params",{"_index":2594,"title":{},"body":{"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{}}}],["this.build(requestid",{"_index":18555,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.build(requiredpermissions",{"_index":1791,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["this.build(undefined",{"_index":18556,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.buildchildren(boardnode",{"_index":3564,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.buildcopyentitydict(elementstatus).foreach((el",{"_index":7420,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.builddomainobject(entity",{"_index":20365,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.builddomainobject(savedentity",{"_index":20373,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.builddrawing",{"_index":6416,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.builddtowithelements(mappedelements",{"_index":9767,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.buildexternaltool",{"_index":6420,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildfile",{"_index":6410,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildgroupsclaim(teams",{"_index":13861,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.buildlink",{"_index":6412,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildrichtext",{"_index":6414,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildscope(query",{"_index":6894,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this.buildsubmissioncontainer",{"_index":6418,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildtokenrequestpayload(code",{"_index":17047,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.byuseridquery(userid",{"_index":21295,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.cacheexpiration",{"_index":19261,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["this.cachemanager.del(redisidentifier",{"_index":14515,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.cacheservice.getstoretype",{"_index":14514,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.calculatenumberofsubmitters(gradedsubmissions",{"_index":21750,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calculatenumberofsubmitters(submittedsubmissions",{"_index":21748,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calendarmapper.maptodto(resp.data",{"_index":4339,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.callkcadminclient",{"_index":14579,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.cancelbuttonurl",{"_index":17896,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.cancreaterestricted",{"_index":13211,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canedit(domainobject",{"_index":21628,"title":{},"body":{"injectables/SystemRule.html":{}}}],["this.caninstallrecommended",{"_index":13213,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canupdateandinstalllibraries",{"_index":13215,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caption",{"_index":11574,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.cardid",{"_index":4533,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["this.cards",{"_index":5678,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["this.cardservice.create(column",{"_index":5719,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.delete(card",{"_index":4563,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyid(cardid",{"_index":4560,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.cardservice.findbyid(targetcardid",{"_index":4568,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyids(cardids",{"_index":4557,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.move(card",{"_index":5721,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.updateheight(card",{"_index":4561,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.updatetitle(card",{"_index":4562,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.carduc.createelement(currentuser.userid",{"_index":4435,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.deletecard(currentuser.userid",{"_index":4428,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.findcards(currentuser.userid",{"_index":4413,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.moveelement",{"_index":9859,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.carduc.updatecardheight(currentuser.userid",{"_index":4422,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.updatecardtitle(currentuser.userid",{"_index":4425,"title":{},"body":{"controllers/CardController.html":{}}}],["this.cause",{"_index":4251,"title":{},"body":{"classes/BusinessError.html":{}}}],["this.challenge",{"_index":6375,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.changes",{"_index":6657,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.checkandaddprefix(baseroute",{"_index":1633,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkandaddprefix(routenameinput",{"_index":1671,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkavaiblelanguages(params.language",{"_index":24349,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.checkavailablelanguages(newlanguage",{"_index":24333,"title":{},"body":{"injectables/UserService.html":{}}}],["this.checkcontenttypeexists(contenttype",{"_index":13512,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.checkcontextreadpermission(userid",{"_index":20870,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcreatepermission(userid",{"_index":20877,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcredentials(account",{"_index":15236,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkcredentials(password",{"_index":15863,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.checkdestinationcourseauthorisation(authorizableuser",{"_index":21897,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkdestinationcourseauthorization(user",{"_index":15590,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkdestinationlessonauthorization(authorizableuser",{"_index":21902,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkduplicateusesincontext(contextexternaltool",{"_index":7134,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.checkerror(response",{"_index":19476,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.checkexpired(sharetoken",{"_index":20827,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.checkfeatureenabled",{"_index":7731,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.checkfeatureenabled(payload.parenttype",{"_index":20864,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfeatureenabled(sharetoken.payload.parenttype",{"_index":20876,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfilename(filename",{"_index":22505,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.checkforduplicateparameters(validatabletool",{"_index":6163,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkforunknownparameters(validatabletool",{"_index":6168,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkgraceperiod(userloginmigration",{"_index":24053,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.checkifpreviewpossible(filerecord",{"_index":18140,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.checkifpreviewpossible(original",{"_index":18088,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.checklistscontainingequalentities(reorderedids",{"_index":2988,"title":{},"body":{"entities/Board.html":{}}}],["this.checkofficialschoolnumbersmatch(school",{"_index":20241,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.checkoptionalparameter(param",{"_index":6188,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkoriginallessonauthorization(user",{"_index":15585,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkoriginaltaskauthorization(authorizableuser",{"_index":21896,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkparameterregex(foundentry",{"_index":6190,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparametertype(foundentry",{"_index":6189,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparentwritepermission(userid",{"_index":20865,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkpermission(userid",{"_index":2694,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.checkpreconditions(userid",{"_index":20962,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.checkresponsevalidation(response",{"_index":19755,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.checkstreamresponsive(stream",{"_index":19578,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.checksubmissionitemwritepermission(userid",{"_index":9894,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["this.checkvalidityofparameters(validatabletool",{"_index":6169,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkvalue(account.userid",{"_index":15233,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(school.externalid",{"_index":15243,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(user.ldapdn",{"_index":15235,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkversionmatch(schoolexternaltool.toolversion",{"_index":20139,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.children.filter((ch",{"_index":3105,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.length",{"_index":3098,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.some((obj",{"_index":3110,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.splice(position",{"_index":3104,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.childrenmap[boardnode.path",{"_index":3558,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.path].push(boardnode",{"_index":3559,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.pathofchildren",{"_index":3602,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.clamconnection.scanstream(stream",{"_index":1323,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.classes.set(props.classes",{"_index":7588,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.classesrepo.findallbyschoolid(schoolid",{"_index":4821,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.findallbyuserid(userid",{"_index":4822,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.updatemany(updatedclasses",{"_index":4829,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classnames",{"_index":14108,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.classnames.push(...props.classnames",{"_index":13980,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.classvalidatormetadatastorage.gettargetvalidationmetadatas",{"_index":9976,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.cleanupinput(username",{"_index":15856,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.cleanuppath(this.baseroute",{"_index":1672,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.client",{"_index":16307,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.client.addaccesstogroupfolder(folderid",{"_index":16930,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.addusertogroup(nextclouduserid",{"_index":16958,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.changegroupfoldername(folderid",{"_index":16928,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroup(groupid",{"_index":16919,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroupfolder(foldername",{"_index":16929,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroup(groupid",{"_index":16916,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroupfolder(folderid",{"_index":16917,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupfolderidforgroupid(groupid",{"_index":16912,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupid(nextcloudstrategy.generategroupid(dto",{"_index":16910,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getgroupusers(groupid",{"_index":16934,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(pseudonymdo.pseudonym",{"_index":16943,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(team.id",{"_index":16918,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(teamid",{"_index":16915,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.oidcinternalname",{"_index":16960,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.removeuserfromgroup(nextclouduserid",{"_index":16956,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.renamegroup(groupid",{"_index":16932,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.send(req",{"_index":19574,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.client.setgrouppermissions(groupid",{"_index":16913,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client_id",{"_index":1508,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{}}}],["this.client_name",{"_index":6374,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.client_secret",{"_index":1510,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.clientid",{"_index":13826,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clientsecret",{"_index":15084,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clock",{"_index":22751,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.clone(newpropsfactory",{"_index":2602,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.closeconn(doc",{"_index":22904,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.closedat",{"_index":23915,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.closedat.toisostring",{"_index":23792,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["this.closeuserloginmigrationuc.closemigration",{"_index":23890,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.code",{"_index":1516,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.collectionname",{"_index":22668,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.color",{"_index":7579,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.columnboardcopyservice.copycolumnboard",{"_index":3376,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardcopyservice.swaplinkedids(el.copyentity?.id",{"_index":3413,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardid",{"_index":3055,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["this.columnboardservice.createwelcomecolumnboard(coursereference",{"_index":19440,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.delete(board",{"_index":4165,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbydescendant(element",{"_index":2052,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.columnboardservice.findbyid(boardid",{"_index":4163,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbyid(id",{"_index":4189,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.columnboardservice.findbyid(targetboardid",{"_index":4170,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findidsbyexternalreference(coursereference",{"_index":19438,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.getboardobjecttitlesbyid(columnboardids",{"_index":5624,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.columnboardservice.updatetitle(board",{"_index":4166,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardtargetservice.findorcreatetargets(columnboardids",{"_index":19442,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columns",{"_index":4024,"title":{},"body":{"classes/BoardResponse.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.columnservice.create(board",{"_index":4167,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.delete(column",{"_index":5717,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(columnid",{"_index":4168,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(targetcolumnid",{"_index":5720,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.move(column",{"_index":4171,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.updatetitle(column",{"_index":5718,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnuc.createcard(currentuser.userid",{"_index":5669,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.deletecolumn(currentuser.userid",{"_index":5667,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.movecard(currentuser.userid",{"_index":4417,"title":{},"body":{"controllers/CardController.html":{}}}],["this.columnuc.updatecolumntitle(currentuser.userid",{"_index":5664,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.comment",{"_index":21046,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.commontoolservice.determinetoolconfigurationstatus",{"_index":23492,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["this.commontoolservice.iscontextrestricted(availabletool.externaltool",{"_index":10242,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.commontoolservice.iscontextrestricted(externaltool",{"_index":7079,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.commontoolvalidationservice.checkcustomparameterentries(loadedexternaltool",{"_index":7137,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.isvaluevalidfortype(param.type",{"_index":10621,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.compareparameters(oldtool.parameters",{"_index":11220,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.completed",{"_index":21196,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.composemetatags(url",{"_index":16456,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.config",{"_index":2133,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.config.bucket",{"_index":19573,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.config.bucket}/${path.sourcepath",{"_index":19610,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.configservice.get('admin_api__allowed_api_keys",{"_index":24807,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.configservice.get('admin_api_client_api_key",{"_index":9098,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('admin_api_client_base_url",{"_index":9096,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('available_languages').includes(language",{"_index":24335,"title":{},"body":{"injectables/UserService.html":{}}}],["this.configservice.get('available_languages').includes(settedlanguage",{"_index":24348,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.configservice.get('blocklist_of_email_domains",{"_index":16244,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.configservice.get('connection_string",{"_index":22667,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('feature_identity_management_login_enabled",{"_index":15858,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.configservice.get('feature_identity_management_store_enabled",{"_index":656,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.configservice.get('feature_imscc_course_export_enabled",{"_index":7659,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.configservice.get('feature_tldraw_enabled",{"_index":22810,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.configservice.get('h5p_editor__library_list_path",{"_index":13491,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.configservice.get('login_block_time",{"_index":1745,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.configservice.get('sc_domain",{"_index":14718,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.configservice.get('tldraw_db_collection_name",{"_index":22669,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_flush_size",{"_index":22672,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_multiple_collections",{"_index":22674,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_ping_timeout",{"_index":22886,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.configservice.get(placeholder",{"_index":5388,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.connect(system",{"_index":15188,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.connectionstring",{"_index":22666,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.conns",{"_index":24776,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.foreach((_",{"_index":24795,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.get(wsconnection",{"_index":24789,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.consentflowuc.getconsentrequest(params.challenge",{"_index":17490,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.consentflowuc.patchconsentrequest",{"_index":17493,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.console.info('connected",{"_index":4924,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`cleaned",{"_index":4935,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`configured",{"_index":4949,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`migrated",{"_index":4963,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`seeded",{"_index":4942,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.consolewriter.info('error",{"_index":3819,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info('schulcloud",{"_index":20538,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`error",{"_index":3882,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.consolewriter.info(`input",{"_index":20539,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`success",{"_index":3823,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info(json.stringify(result",{"_index":9168,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.consolewriter.info(json.stringify(summary",{"_index":9383,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.consolewriter.info(report",{"_index":8867,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.constructor",{"_index":1658,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BaseFactory.html":{},"classes/TestApiClient.html":{}}}],["this.content",{"_index":3771,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/TeamNews.html":{}}}],["this.content.contextexternaltoolid",{"_index":6546,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.description",{"_index":6524,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.duedate",{"_index":6542,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.imageurl",{"_index":6525,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.inputformat",{"_index":6537,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.title",{"_index":6522,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.contentelementfactory.build(contentelementtype.rich_text",{"_index":5596,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.contentelementfactory.build(type",{"_index":6476,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.contentelementservice.create(card",{"_index":4519,"title":{},"body":{"injectables/CardService.html":{}}}],["this.contentelementservice.findbyid(elementid",{"_index":2050,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.contentid",{"_index":12617,"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":13208,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contentparenttype",{"_index":13206,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contents",{"_index":6243,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.contenttype",{"_index":6661,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ExternalToolLogo.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.contenttypecache",{"_index":13482,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttypecache.get(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13511,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo",{"_index":13486,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo.installcontenttype(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13514,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.context",{"_index":15313,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/ShareTokenDO.html":{}}}],["this.context.action",{"_index":12512,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.context.requiredpermissions.join",{"_index":12513,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.contextexternaltool",{"_index":10352,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["this.contextexternaltool.id",{"_index":16531,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.contextexternaltoolauthorizableservice",{"_index":18851,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.contextexternaltoolcountpercontext",{"_index":10510,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["this.contextexternaltoolid",{"_index":10342,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltool",{"_index":7076,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltools",{"_index":7075,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":11061,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find",{"_index":7074,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find(query",{"_index":7069,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(contextexternaltoolid",{"_index":7070,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(id",{"_index":6717,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["this.contextexternaltoolrepo.findbyidornull(contextexternaltoolid",{"_index":7071,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.save(contextexternaltool",{"_index":7073,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrule",{"_index":19509,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.contextexternaltoolservice.checkcontextrestrictions(contextexternaltool",{"_index":7112,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":20128,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(linkedtool",{"_index":18729,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(tool",{"_index":7120,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findallbycontext",{"_index":7121,"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":18728,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.findbyidorfail",{"_index":7116,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contextexternaltoolid",{"_index":7119,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contexttoolid",{"_index":7124,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findcontextexternaltools",{"_index":7139,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["this.contextexternaltoolservice.savecontextexternaltool",{"_index":7115,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltooluc.createcontextexternaltool",{"_index":23117,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.deletecontextexternaltool(currentuser.userid",{"_index":23121,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltool",{"_index":23128,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltoolsforcontext",{"_index":23123,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.updatecontextexternaltool",{"_index":23131,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltoolvalidationservice.validate(contextexternaltool",{"_index":7113,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.contextid",{"_index":6797,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{}}}],["this.contextref",{"_index":6704,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.contexttoolid",{"_index":23364,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype",{"_index":10542,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype(type",{"_index":19989,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["this.contexttype",{"_index":6799,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.converterutil.xml2object",{"_index":2400,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.converterutil.xml2object>(resp.data",{"_index":2413,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.cookies",{"_index":13620,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.copy(copypaths",{"_index":19595,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.copyboardelements(boardelements",{"_index":3332,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycolumnboard(element.target",{"_index":3361,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycourse(userid",{"_index":20880,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copycourseentity",{"_index":7698,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyfilesservice.copyfilesofentity",{"_index":21851,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(boardstatus",{"_index":3391,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(copystatus",{"_index":3399,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(newname",{"_index":7696,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(originallesson.name",{"_index":15595,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.copyhelperservice.derivecopyname(originaltaskname",{"_index":21911,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.copyhelperservice.derivestatusfromelements(elements",{"_index":3336,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.derivestatusfromelements(filestatuses",{"_index":7377,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.copyingsince",{"_index":7585,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/UsersList.html":{}}}],["this.copylesson(element.target",{"_index":3358,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copylesson(userid",{"_index":20883,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copymap.get(child.id",{"_index":18685,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copymap.set(original.id",{"_index":18641,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copytask(element.target",{"_index":3354,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copytask(userid",{"_index":20884,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copytaskentity(params",{"_index":21850,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.coreapi",{"_index":11762,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.countyid",{"_index":7496,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.course",{"_index":2972,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.color",{"_index":21764,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.id",{"_index":21761,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isfinished",{"_index":21723,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isusersubstitutionteacher(user",{"_index":21744,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.name",{"_index":21760,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.school.id",{"_index":6267,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursecopyservice.copycourse",{"_index":7735,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.coursecopyuc.copycourse(currentuser.userid",{"_index":19415,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.courseexportservice.exportcourse(courseid",{"_index":7749,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.courseexportuc.exportcourse(urlparams.courseid",{"_index":7660,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.coursegroup",{"_index":6241,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.getstudentids",{"_index":21060,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.school.id",{"_index":6268,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursegrouppermission(user",{"_index":15686,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegrouprepo",{"_index":18835,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.coursegrouprule",{"_index":19500,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.coursegrouprule.haspermission(user",{"_index":15689,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegroups.getitems",{"_index":7614,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.coursegroups.isinitialized(true",{"_index":7612,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.courseid",{"_index":21935,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursename",{"_index":21934,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursepermission(user",{"_index":15687,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.courserepo",{"_index":18833,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.courserepo.createcourse(coursecopy",{"_index":7708,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserepo.findallbyuserid",{"_index":8832,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.courserepo.findallbyuserid(user.id",{"_index":22242,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findallbyuserid(userid",{"_index":7694,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{}}}],["this.courserepo.findallforteacherorsubstituteteacher(user.id",{"_index":22241,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findbyid(courseid",{"_index":7688,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.courserepo.findbyid(originalboard.context.id",{"_index":5468,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.courserepo.findbyid(parentparams.courseid",{"_index":15588,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.courserepo.findbyid(rootboarddo.context.id",{"_index":3464,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.courserepo.findone(roomid",{"_index":19457,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.courserepo.save(coursecopy",{"_index":7710,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserule",{"_index":19499,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.courserule.haspermission(user",{"_index":7817,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.findallbyuserid(pseudonym.userid",{"_index":11446,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(columnboard.context.id",{"_index":4193,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.courseservice.findbyid(contextexternaltool.contextref.id",{"_index":23354,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.courseservice.findbyid(courseid",{"_index":2047,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/FeathersRosterService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(id",{"_index":8005,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["this.courseservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20830,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.courseservice.getcourse(params.courseid",{"_index":26419,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.save(course",{"_index":26423,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.savecourse(course",{"_index":26427,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseuc.findallbyuser(currentuser.userid",{"_index":7653,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.courseurlhandler",{"_index":16453,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.create",{"_index":11817,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.create(currentuserid",{"_index":24515,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.create(library",{"_index":15767,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.create(path",{"_index":19591,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createboardelementfor(target",{"_index":3012,"title":{},"body":{"entities/Board.html":{}}}],["this.createboardforcourse(courseid",{"_index":4002,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.createbucket",{"_index":19590,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createcards(this.random(1",{"_index":3861,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createclient(provider",{"_index":9025,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.createcolumns(3",{"_index":3857,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createdat",{"_index":460,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{}}}],["this.createdefaultiuser",{"_index":13513,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.createelements(1",{"_index":3867,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createemptyelements(card",{"_index":4513,"title":{},"body":{"injectables/CardService.html":{}}}],["this.createerrorloggable(error",{"_index":12689,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponse(error",{"_index":12699,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforbusinesserror(error",{"_index":12707,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforfeatherserror(error",{"_index":12705,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponsefornesthttpexception(error",{"_index":12709,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforunknownerror",{"_index":12710,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createfile(contentrange",{"_index":22592,"title":{},"body":{"classes/TestHelper.html":{}}}],["this.createfileurlreplacements(filedtos",{"_index":7360,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.creategridelement(elementwithposition",{"_index":8743,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.createidentityprovider(configureaction.config",{"_index":14735,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(idpalias",{"_index":14772,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(oidcconfig.idphint",{"_index":14763,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createiframesubject(user",{"_index":13860,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.createlogmessageforvalidationerrors(this.error",{"_index":9957,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.createnewmigration(schooldo",{"_index":24049,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.createorupdateboardnode(boardnode",{"_index":18780,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.createorupdateentity(dob",{"_index":2491,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createorupdateidmaccount(account",{"_index":14968,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.createqueryordermap(options?.order",{"_index":23672,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.createrichtextelement",{"_index":5546,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.createstatus",{"_index":22226,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.createtaskstatus(task",{"_index":9783,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.createusersearchindex",{"_index":5350,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.creator",{"_index":16660,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.creatorid",{"_index":7251,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.credentialhash",{"_index":240,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.cruduc.createoauth2client(currentuser",{"_index":17470,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.deleteoauth2client(currentuser",{"_index":17475,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.getoauth2client(currentuser",{"_index":17460,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.listoauth2clients",{"_index":17463,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.updateoauth2client(currentuser",{"_index":17472,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.currentredirect",{"_index":13616,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.customs",{"_index":8193,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.dashboard",{"_index":8612,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.dashboardelementrepo.deletebydashboardid(usersdashboard.id",{"_index":8815,"title":{},"body":{"injectables/DashboardService.html":{}}}],["this.dashboardrepo.deletedashboardbyuserid(userid",{"_index":8816,"title":{},"body":{"injectables/DashboardService.html":{}}}],["this.dashboardrepo.getdashboardbyid(dashboardid",{"_index":8835,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.getusersdashboard(userid",{"_index":8814,"title":{},"body":{"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.persistandflush(dashboard",{"_index":8834,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboarduc.getusersdashboard(currentuser.userid",{"_index":8422,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.moveelementondashboard",{"_index":8425,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.renamegroupondashboard",{"_index":8430,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.data",{"_index":881,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AxiosResponseImp.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDto.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.databasemanagementservice.clearcollection(collectionname",{"_index":5286,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.collectionexists(collectionname",{"_index":5284,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.createcollection(collectionname",{"_index":5287,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.finddocumentsofcollection(collectionname",{"_index":5333,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getcollectionnames",{"_index":5250,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getdatabasecollection('users",{"_index":5354,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.importcollection",{"_index":5323,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.syncindexes",{"_index":5351,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem",{"_index":8897,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem([collectionname",{"_index":8899,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem(filter",{"_index":8869,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfactories(filter",{"_index":8863,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem",{"_index":8894,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem([collectionname",{"_index":8896,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem(filter",{"_index":8864,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.syncindexes",{"_index":8870,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{}}}],["this.db.collection(collectionname",{"_index":8933,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.createcollection(collectionname",{"_index":8950,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.dropcollection(collectionname",{"_index":8951,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.listcollections(undefined",{"_index":8943,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.default",{"_index":8258,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["this.defaultencryptionservice.decrypt(oidcconfig.clientsecret",{"_index":17714,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["this.defaultencryptionservice.encrypt(system.oauthconfig.clientsecret",{"_index":5396,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultencryptionservice.encrypt(system.oidcconfig.clientsecret",{"_index":5399,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultheaders",{"_index":9108,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.defaultlanguage",{"_index":6626,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.defaultoauthclientbody",{"_index":17361,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.defaultscopes",{"_index":15149,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.defaultvalue",{"_index":8397,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["this.delete",{"_index":11819,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.delete(account",{"_index":784,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.delete(content",{"_index":13234,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this.delete(deleteobjects",{"_index":19605,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(filteredpathobjects",{"_index":19641,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(paths",{"_index":19598,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deleteafter",{"_index":9425,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.deleted",{"_index":11657,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.deletedat",{"_index":11656,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.deletedcount",{"_index":9265,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletedfoldername}/${path",{"_index":19594,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deletedsince",{"_index":7256,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18486,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletefile(file",{"_index":9012,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefileinstorage(file",{"_index":9035,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefilesuc.deletemarkedfiles(thresholddate",{"_index":8972,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.deleteidentityprovider(configureaction.alias",{"_index":14739,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.deletenode(card",{"_index":18710,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(column",{"_index":18708,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(columnboard",{"_index":18706,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(drawingelement",{"_index":18721,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(externaltoolelement",{"_index":18730,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(fileelement",{"_index":18713,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(linkelement",{"_index":18716,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(richtextelement",{"_index":18718,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submission",{"_index":18725,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submissioncontainerelement",{"_index":18723,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletepseudonymsbyuserid(userid",{"_index":18485,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletesubmissions(task",{"_index":22164,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.deletionclient.executedeletions(limit",{"_index":9196,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["this.deletionclient.queuedeletionrequest(deletionrequestinput",{"_index":2850,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["this.deletionexecutionuc.triggerdeletionexecution(options.limit",{"_index":9164,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.deletionlogrepo.create(newdeletionlog",{"_index":9328,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionlogrepo.findallbydeletionrequestid(deletionrequestid",{"_index":9329,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionplannedat",{"_index":9459,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["this.deletionrequestid",{"_index":9267,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletionrequestrepo.create(newdeletionrequest",{"_index":9554,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.deletebyid(deletionrequestid",{"_index":9563,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findallitemstoexecution(limit",{"_index":9559,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findbyid(deletionrequestid",{"_index":9557,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasexecuted(deletionrequestid",{"_index":9561,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasfailed(deletionrequestid",{"_index":9562,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.update(deletionrequesttoupdate",{"_index":9560,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestuc.createdeletionrequest(deletionrequestbody",{"_index":9586,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.deletedeletionrequestbyid(requestid",{"_index":9593,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.executedeletionrequests(deletionexecutionquery.limit",{"_index":9212,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["this.deletionrequestuc.findbyid(requestid",{"_index":9590,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.derivecopyname(composedname",{"_index":7418,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.derivecopystatus(filecopystatus",{"_index":21853,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.derivecopystatus(filedtos",{"_index":7362,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.derivecoursestatus(originalcourse",{"_index":7703,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.description",{"_index":7572,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["this.descriptioninputformat",{"_index":21685,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.details",{"_index":4250,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.detectcontenttypeorthrow(buffer",{"_index":10480,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.detectcontenttypeorthrow(logobinarydata",{"_index":10489,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.determineinput(systemid",{"_index":18335,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.determinenewroomsin(rooms",{"_index":8559,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.determineschooltoolstatus(tool",{"_index":20094,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.displayat",{"_index":7891,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.displaycolor",{"_index":7852,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["this.displayname",{"_index":6706,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.docname",{"_index":22749,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.docs.delete(doc.name",{"_index":22898,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.docs.set(docname",{"_index":22918,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.doescourseexist(courseid",{"_index":3854,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.domain",{"_index":9258,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.domainblacklist",{"_index":16243,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.includes(maildomain",{"_index":16259,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.length",{"_index":16245,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domigration(externalid",{"_index":20231,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.domigration(userdo",{"_index":24164,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.donothing",{"_index":21413,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.downloadoriginfile(originfilepath",{"_index":18087,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.drawingelementadapterservice.deletedrawingbindata(drawingelement.id",{"_index":18720,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.dropcollectionifexists(collectionname",{"_index":5296,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.droplibrarycss",{"_index":11765,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.duedate",{"_index":21106,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.dynamicdependencies",{"_index":6632,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.editordependencies",{"_index":6634,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.elements",{"_index":4467,"title":{},"body":{"classes/CardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.elementservice.create(card",{"_index":4564,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.create(submissionitem",{"_index":21263,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.delete(element",{"_index":9891,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(contentelementid",{"_index":9895,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(elementid",{"_index":4566,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(submissioncontainerid",{"_index":21253,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.findparentofid(elementid",{"_index":9892,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.move(element",{"_index":4565,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.update(element",{"_index":9890,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementuc.createsubmissionitem",{"_index":9870,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.deleteelement(currentuser.userid",{"_index":9867,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.updateelementcontent",{"_index":9864,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.em",{"_index":10679,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.assign(entity",{"_index":4884,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.assign(existing",{"_index":10685,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.assign(existingentity",{"_index":12965,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.find(boardnode",{"_index":3682,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["this.em.find(classentity",{"_index":4864,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.find(columnboardnode",{"_index":3691,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.em.find(columnboardtarget",{"_index":5632,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.find(deletionlogentity",{"_index":9311,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.find(externaltoolpseudonymentity",{"_index":10678,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.find(groupentity",{"_index":12959,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(pseudonymentity",{"_index":18520,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findandcount(deletionrequestentity",{"_index":9511,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findandcount(externaltoolpseudonymentity",{"_index":10701,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone",{"_index":20362,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.findone(dashboardgridelementmodel",{"_index":8745,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.findone(dashboardmodelentity",{"_index":8766,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findone(externaltoolpseudonymentity",{"_index":10677,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(groupentity",{"_index":12953,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.findone(pseudonymentity",{"_index":18519,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findone(schoolsystemoptionsentity",{"_index":20368,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.findone(systementity",{"_index":20369,"title":{},"body":{"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SystemRepo.html":{}}}],["this.em.findoneorfail(boardnode",{"_index":3956,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["this.em.findoneorfail(course",{"_index":3881,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.findoneorfail(dashboardmodelentity",{"_index":8799,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findoneorfail(deletionlogentity",{"_index":9308,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.findoneorfail(deletionrequestentity",{"_index":9504,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findoneorfail(externaltoolpseudonymentity",{"_index":10674,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findoneorfail(pseudonymentity",{"_index":18518,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(rocketchatuserentity",{"_index":19186,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.findoneorfail(user",{"_index":8768,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.flush",{"_index":3707,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.getconnection('write').getdb",{"_index":8932,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.em.getreference(contextexternaltoolentity",{"_index":18793,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.getreference(deletionrequestentity",{"_index":9515,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.getunitofwork().getbyid(boardnode.name",{"_index":3955,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.nativedelete(dashboardgridelementmodel",{"_index":8441,"title":{},"body":{"injectables/DashboardElementRepo.html":{}}}],["this.em.nativedelete(dashboardmodelentity",{"_index":8803,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.nativedelete(externaltoolpseudonymentity",{"_index":10688,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.nativedelete(pseudonymentity",{"_index":18523,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.nativedelete(registrationpinentity",{"_index":18925,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["this.em.nativedelete(rocketchatuserentity",{"_index":19188,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.persist(boardnode",{"_index":18800,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.persist(deletionlogentity",{"_index":9315,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.persist(deletionrequestentity",{"_index":9507,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persist(entity",{"_index":10686,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(modelentity",{"_index":8795,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persist(newentity",{"_index":12966,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SchoolSystemOptionsRepo.html":{}}}],["this.em.persist(target",{"_index":5631,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.persistandflush(board",{"_index":3856,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(cards",{"_index":3864,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(columns",{"_index":3858,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(data",{"_index":5297,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.em.persistandflush(deletionrequest",{"_index":9519,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persistandflush(elements",{"_index":3869,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(existingentities",{"_index":4885,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.persistandflush(modelentity",{"_index":8797,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persistandflush(referencedentity",{"_index":9517,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.remove(el",{"_index":8765,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.remove(this.em.getreference(boardnode",{"_index":18732,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.em.removeandflush(entity",{"_index":9521,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["this.email",{"_index":11267,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/H5PContentParentParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LumiUserWithContentData.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.emailsearchvalues",{"_index":23642,"title":{},"body":{"classes/UserDO.html":{}}}],["this.embedtypes",{"_index":6620,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.enableoauthmigrationfeature(schooldo",{"_index":24050,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.encoding",{"_index":12162,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.encryptionservice.encrypt(externaltool.config.secret",{"_index":11037,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.encryptpassword(accountdto.password",{"_index":946,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptpassword(password",{"_index":952,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptsecrets(collectionname",{"_index":5321,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(data",{"_index":5295,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(jsondocuments",{"_index":5391,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.enddate",{"_index":20449,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["this.endpointurl",{"_index":21005,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.enrichdatafromexternaltool(createdschoolexternaltool",{"_index":20101,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichdatafromexternaltool(tool",{"_index":20092,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichwithdatafromexternaltools(schoolexternaltools",{"_index":20090,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.ensureboardnodetype(this.getchildren(boardnode",{"_index":3561,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurecontextpermissions(userid",{"_index":10293,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.ensureleafnode(boardnode",{"_index":3580,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurepermission(userid",{"_index":11126,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.ensureschoolpermissions(userid",{"_index":10284,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.ensuretoolpermissions(userid",{"_index":23434,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.entityclass",{"_index":2610,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityclass(props",{"_index":2593,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityname",{"_index":801,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ForbiddenLoggableException.html":{}}}],["this.error",{"_index":9956,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.errorcode",{"_index":1479,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["this.errortype",{"_index":1106,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.everyattendeejoinsmuted",{"_index":24545,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.everyattendejoinsmuted",{"_index":24379,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["this.everybodyjoinsasmoderator",{"_index":24381,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.exchange",{"_index":19482,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.expectedtype.name",{"_index":18298,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["this.expiresat",{"_index":248,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.externalgroups",{"_index":17292,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalid",{"_index":7895,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.externalidtoken",{"_index":17303,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["this.externalschool",{"_index":17290,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalschoolid",{"_index":10122,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["this.externalsource",{"_index":12916,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.externalsourcename",{"_index":4727,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableexternaltools",{"_index":10295,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableschoolexternaltools",{"_index":10294,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailabletools",{"_index":10286,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforcontextrestrictions",{"_index":10297,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope",{"_index":10299,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope(externaltool",{"_index":10288,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.gettoolcontexttypes",{"_index":10279,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforcontext",{"_index":23052,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforschool",{"_index":23050,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforcontextexternaltool",{"_index":23059,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforschoolexternaltool",{"_index":23056,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettoolcontexttypes",{"_index":23048,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltooldomapper.mapcreaterequest(externaltoolparams",{"_index":23174,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapexternaltoolfilterquerytoexternaltoolsearchquery(filterquery",{"_index":23180,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapsortingquerytodomain(sortingquery",{"_index":23179,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapupdaterequest(externaltoolparams",{"_index":23190,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolid",{"_index":6751,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.externaltoollogoservice.buildlogourl",{"_index":10290,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["this.externaltoollogoservice.fetchlogo(externaltool",{"_index":11127,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoollogoservice.getexternaltoolbinarylogo",{"_index":23197,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoollogoservice.validatelogosize(externaltool",{"_index":11172,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolmetadataservice.getmetadata(toolid",{"_index":11140,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolname",{"_index":19051,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["this.externaltoolparametervalidationservice.validatecommon(externaltool",{"_index":11169,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolpseudonymrepo",{"_index":18492,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18491,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findbyuserid(userid",{"_index":18489,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonym(query",{"_index":18495,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonymbypseudonym(pseudonym",{"_index":18494,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolrepo.deletebyid(toolid",{"_index":11063,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.find(query",{"_index":11046,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyid(id",{"_index":11055,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyname(name",{"_index":11058,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyoauth2configclientid(clientid",{"_index":11059,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(externaltool",{"_index":11042,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(toupdate",{"_index":11045,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolservice.createexternaltool(externaltool",{"_index":11129,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.deleteexternaltool(toolid",{"_index":11137,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.findbyid(loadedschoolexternaltool.toolid",{"_index":7136,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.externaltoolservice.findbyid(schoolexternaltool.toolid",{"_index":7078,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.externaltoolservice.findbyid(tool.toolid",{"_index":20093,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.externaltoolservice.findbyid(toolid",{"_index":10484,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyname",{"_index":16959,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.externaltoolservice.findexternaltoolbyname(externaltool.name",{"_index":10610,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid",{"_index":11451,"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":11187,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltools",{"_index":10280,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolservice.findexternaltools(query",{"_index":11136,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.updateexternaltool(toupdate",{"_index":11135,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltooluc.createexternaltool(currentuser.userid",{"_index":23175,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.deleteexternaltool(currentuser.userid",{"_index":23194,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.findexternaltool(currentuser.userid",{"_index":23181,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getexternaltool",{"_index":23186,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getmetadataforexternaltool",{"_index":23204,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.updateexternaltool",{"_index":23191,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolversionservice.increaseversionofnewtoolifnecessary(loadedtool",{"_index":11044,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaluser",{"_index":17288,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externaluserid",{"_index":10101,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ProvisioningDto.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.extractaccount(account",{"_index":14910,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakuser",{"_index":14895,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakusers[0",{"_index":14902,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(user",{"_index":14913,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcaccountid",{"_index":14930,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcsystemid",{"_index":14926,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcuserid",{"_index":14928,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractid(url",{"_index":4187,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.extractparamsfromrequest(request",{"_index":15226,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.extractreferences(elements",{"_index":3333,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.extractvalidationerrordetails(childerror",{"_index":1415,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.extractvalidationerrordetails(validationerror",{"_index":1405,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.factory.createdto",{"_index":19460,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.feathersauthprovider.getpermittedschools(userid",{"_index":11337,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getpermittedtargets(userid",{"_index":11338,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getuserschoolpermissions(userid",{"_index":11324,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getusertargetpermissions(userid",{"_index":11325,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersserviceprovider.getservice('/etherpad/pads",{"_index":10070,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["this.feathersserviceprovider.getservice('/nexboard/boards",{"_index":16872,"title":{},"body":{"injectables/NexboardService.html":{}}}],["this.feathersserviceprovider.getservice('users",{"_index":11307,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`${targetmodel}/:scopeid/userpermissions",{"_index":11294,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`/users/:scopeid/${targetmodel",{"_index":11299,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`path",{"_index":25964,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.features",{"_index":7587,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["this.federalstate",{"_index":15105,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.federalstaterepo.findbyname(name",{"_index":11510,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["this.federalstateservice.findfederalstatebyname",{"_index":17778,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.fetchbase64logo(externaltool.logourl",{"_index":10473,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.fieldname",{"_index":13833,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["this.filecopyservice.copyfilesofparent",{"_index":18648,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.filecopyservicefactory.build",{"_index":5470,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.filename",{"_index":13544,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.files",{"_index":11786,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.filesrepo.delete(file",{"_index":9036,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesrepo.findforcleanup(thresholddate",{"_index":9010,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent",{"_index":20308,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent(copyfilesofparentparams",{"_index":7358,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(fileelement.id",{"_index":18712,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(lesson.id",{"_index":15711,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(linkelement.id",{"_index":18715,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(submission.id",{"_index":21345,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(task.id",{"_index":22163,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.filesstorageservice.copyfilesofparent(userid",{"_index":12354,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.deletefilesofparent(filerecords",{"_index":12363,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsbycreatorid(payload",{"_index":12366,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload",{"_index":12361,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload.parentid",{"_index":12357,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.removecreatoridfromfilerecords(filerecords",{"_index":12368,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageuc.downloadbysecuritytoken(token",{"_index":12078,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filesstorageuc.updatesecuritystatus(token",{"_index":12086,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filestoragemqproducer.copyfilesofparent(param",{"_index":12274,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.deletefilesofparent(parentid",{"_index":12279,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.listfilesofparent(param",{"_index":12277,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.removecreatoridfromfilerecords(creatorid",{"_index":12280,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filesystemadapter.createdir(targetfolder",{"_index":5329,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.eol",{"_index":5345,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(__dirname",{"_index":5231,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(basedir",{"_index":5259,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(targetfolder",{"_index":5253,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(this.basedir",{"_index":5236,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readdir(basedir",{"_index":5257,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readfile(filepath",{"_index":5312,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.writefile(filepath",{"_index":5344,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filetype",{"_index":18589,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["this.filterallowed(userid",{"_index":4559,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.filterbypermission(elements",{"_index":9765,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.filtercoursesbytoolavailability(courses",{"_index":11414,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.filteremailadresses(data.bcc",{"_index":16251,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.cc",{"_index":16249,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.recipients",{"_index":16247,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.replyto",{"_index":16253,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filtersubmissionsbypermission(submissions",{"_index":21370,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.filtertoolswithpermissions(userid",{"_index":7123,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.findallforstudent(user",{"_index":22221,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findallforteacher(user",{"_index":22222,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findalltasks(currentuser",{"_index":21814,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.findandcount(scope",{"_index":12000,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findbyexternalid(externalid",{"_index":23689,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.findbyid(accountid",{"_index":783,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findbyid(boardnode.parentid",{"_index":3700,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(id",{"_index":3678,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(userid",{"_index":24316,"title":{},"body":{"injectables/UserService.html":{}}}],["this.findbynames([rolename.administrator",{"_index":19274,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.findbyuserid(userid",{"_index":785,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findexistinggridelement(elementwithposition",{"_index":8739,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.findexistingtargets(columnboardids",{"_index":5623,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.findexternaltoolpseudonymsbyuserid(userid",{"_index":18478,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findimportusersandcount(scope.query",{"_index":14230,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this.findlegacyltitool",{"_index":16962,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findmigrationbyschool(schoolid",{"_index":24073,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.findnewsandcount(scope.query",{"_index":16740,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.findnextcloudtool",{"_index":16936,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findoneorfail(scope",{"_index":11997,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findpseudonymbypseudonym(pseudonym",{"_index":11407,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.findpseudonymsbyuserid(userid",{"_index":18477,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findtasksandcount(scope.query",{"_index":22044,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.findteambyid(teamid",{"_index":5160,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.finduserafterprovisioningorthrow(externaluserid",{"_index":17042,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.finishcoursecopying(coursecopy",{"_index":7701,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.finished",{"_index":21705,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.add(user",{"_index":21766,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.getidentifiers('_id",{"_index":21708,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.remove(user",{"_index":21768,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.set(props.finished",{"_index":21695,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finishedat",{"_index":23917,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.finishedat.toisostring",{"_index":23943,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["this.firstname",{"_index":11263,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.firstnamesearchvalues",{"_index":23638,"title":{},"body":{"classes/UserDO.html":{}}}],["this.flagged",{"_index":13984,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["this.flushsize",{"_index":22671,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.forcepasswordchange",{"_index":23559,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.formattedjwt",{"_index":1634,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.friendlyurl",{"_index":8204,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.from",{"_index":10093,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.frontchannel_logout_uri",{"_index":8210,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.frontchannellogouturi",{"_index":17094,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.fullname",{"_index":2267,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.fullpath",{"_index":18957,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.fullscreen",{"_index":11770,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.fwulearningcontentsuc.get(path",{"_index":12542,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["this.generatearray(amount",{"_index":3871,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.generatebrokersystems([system",{"_index":15507,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatebrokersystems(systems",{"_index":15516,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatechecksum(callname",{"_index":2427,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.generatepreview(params",{"_index":18149,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.get('/api/v1/me",{"_index":1111,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.get('/events",{"_index":4337,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.get(`${oauthconfig.authendpoint}?${query",{"_index":13660,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(location",{"_index":13683,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(path",{"_index":1163,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getadditionalerrorinfo(idtoken.email",{"_index":14410,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.getadminidandtoken",{"_index":1158,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getandpseudonyms(students",{"_index":11432,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(substitutionteachers",{"_index":11434,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(teachers",{"_index":11433,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getasadmin(`/api/v1/groups.info?roomname=${groupname",{"_index":1145,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.members?roomname=${groupname",{"_index":1143,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.moderators?roomname=${groupname",{"_index":1141,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/users.list?${querystring",{"_index":1121,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getbbbrequestconfig(this.presentationurl",{"_index":2395,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getboardauthorizable(boarddo",{"_index":3455,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.getboardvalue(contextexternaltool.contextref.id",{"_index":2045,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getbydraftforcreatorquery(creatorid",{"_index":22148,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(false",{"_index":22149,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(isdraft",{"_index":22147,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(true",{"_index":22150,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getchildren(boardnode",{"_index":3607,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getchildren(boardnode).map((node",{"_index":3600,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getcollectionnames",{"_index":8948,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getcopiesforchildrenof(original",{"_index":18638,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcopyname(originaltask.name",{"_index":21901,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getcopystatusesforchildrenof(original",{"_index":18640,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcoursegroupstudentids",{"_index":21079,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.getcoursesfromuserspseudonym(loadedpseudonym",{"_index":11413,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getcoursevalue(board.context.id",{"_index":2056,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getcoursevalue(contextexternaltool.contextref.id",{"_index":2042,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getdatabasecollection(collectionname",{"_index":8935,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getdefaultmaxduedate",{"_index":22231,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getdefaultmetadata(url",{"_index":4188,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.getdestinationcourse(parentparams.courseid",{"_index":21895,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdestinationlesson(parentparams.lessonid",{"_index":21900,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdocnamefromrequest(request",{"_index":22808,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.getelement(position",{"_index":8582,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getelementbytargetid(id",{"_index":2975,"title":{},"body":{"entities/Board.html":{}}}],["this.getelements().map((el",{"_index":2985,"title":{},"body":{"entities/Board.html":{}}}],["this.getelementwithwritepermission(userid",{"_index":9889,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.getentitypermissions(userid",{"_index":11331,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.getexternalsubclientmapperconfiguration",{"_index":14749,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getfileinfo(filename",{"_index":22510,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilepath(user.id",{"_index":22513,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilteredgroupusers(externalgroup",{"_index":17829,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getfinisheduserids",{"_index":21718,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getfirstopenindex",{"_index":8577,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getgradedsubmissions",{"_index":21747,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getgroupdata(groupname",{"_index":1130,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getgroupuser(externalgroup.user",{"_index":17831,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getgroupuser(externalgroupuser",{"_index":17838,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getid",{"_index":8531,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getidpmapperconfiguration(idpalias",{"_index":14771,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getinternalid(accountdto.id",{"_index":936,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(accountid",{"_index":951,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(id",{"_index":927,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getjwtfromresponse(response",{"_index":1657,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getmaildomain(mail",{"_index":16258,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.getmaxsubmissions",{"_index":21751,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getmeetinginfo(new",{"_index":2409,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getnewspermissions(userid",{"_index":16838,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getoauthconfig",{"_index":14846,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.getorconstructdashboardmodelentity(entity",{"_index":8758,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.getorcreatecourseboard(courseid",{"_index":3999,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.getparent",{"_index":6269,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getpath(subpath",{"_index":1638,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.getpermittedcourses(user",{"_index":22207,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedlessons(user",{"_index":22208,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedtargets(userid",{"_index":16833,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getpreviewfile(params",{"_index":18150,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.getpropertyvalue(e",{"_index":9966,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.getprovisioningoptionsordefault",{"_index":17811,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getprovisioningstrategy(oauthdata.system.provisioningstrategy",{"_index":18340,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getprovisioningstrategy(system.provisioningstrategy",{"_index":18336,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getreferencesfromposition(from",{"_index":8553,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getrepository(tool",{"_index":18480,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getrepository(tool).findbyuseridandtoolidorfail(user.id",{"_index":18475,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getschoolname(externalschool",{"_index":17773,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getseedfolder",{"_index":5240,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.getshorttitle",{"_index":7623,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.getsubmissionitems",{"_index":21727,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmittedsubmissions",{"_index":21746,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmitterids",{"_index":21084,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.gettargetfilters(userid",{"_index":16851,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.gettargetfolder(toseedfolder",{"_index":5328,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.gettasksitems",{"_index":6254,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.getteammemberids",{"_index":21078,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.geturl('create",{"_index":2390,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('end",{"_index":2411,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('getmeetinginfo",{"_index":2415,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('join",{"_index":2410,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl(filesstorageinternalactions.downloadbysecuritytoken",{"_index":1334,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.geturl(filesstorageinternalactions.updatesecuritystatus",{"_index":1336,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.getuser(userid",{"_index":11289,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.getuserrole(user",{"_index":11411,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getvideoconferenceoptions(scope",{"_index":24613,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.getydoc(docname",{"_index":22932,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.getydocfrommdb(docname",{"_index":22684,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.grade",{"_index":21052,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.gradecomment",{"_index":21054,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.graded",{"_index":4131,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.gradelevel",{"_index":4675,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.grant_type",{"_index":1514,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.granttype",{"_index":15090,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.grid",{"_index":8543,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(key",{"_index":8569,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(this.gridindexfromposition(position",{"_index":8590,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(i",{"_index":8581,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(key",{"_index":8549,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(this.gridindexfromposition(position",{"_index":8550,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].foreach((key",{"_index":8562,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].map((key",{"_index":8547,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(index",{"_index":8580,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(element.pos",{"_index":8545,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(position",{"_index":8593,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.values",{"_index":8575,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.gridelements",{"_index":8647,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.gridelements.set(props.gridelements",{"_index":8622,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.group.externalid",{"_index":20149,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.groupelements",{"_index":8646,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupid",{"_index":8645,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupprovisioningclassesenabled",{"_index":18283,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["this.groupprovisioningcoursesenabled",{"_index":18285,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["this.groupprovisioningotherenabled",{"_index":18287,"title":{},"body":{"classes/ProvisioningOptionsEntity.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{}}}],["this.grouprepo.delete(group",{"_index":13082,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyexternalsource(externalid",{"_index":13077,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyid(id",{"_index":13075,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyschoolidandgrouptypes(schoolid",{"_index":13079,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyuserandgrouptypes(user",{"_index":13078,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.save(group",{"_index":13081,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprule",{"_index":19511,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.groups.set(props.groups",{"_index":7589,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.groupservice.delete(group",{"_index":17860,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyexternalsource",{"_index":17820,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findgroupsbyuserandgrouptypes(user",{"_index":17848,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.save(group",{"_index":17835,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupuc.findallclasses",{"_index":12834,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuc.getgroup(currentuser.userid",{"_index":12841,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuser.externaluserid",{"_index":23781,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.groupuser.rolename",{"_index":23782,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.guest",{"_index":2272,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.guestpolicy",{"_index":2190,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.h",{"_index":6636,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.h5peditoruc.createh5pcontentgetmetadata",{"_index":13358,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.deleteh5pcontent(currentuser",{"_index":13345,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getajax(query",{"_index":13334,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentfile",{"_index":13327,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentparameters(id",{"_index":13326,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getemptyh5peditor(currentuser",{"_index":13349,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5peditor",{"_index":13354,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5pplayer(currentuser",{"_index":13308,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getlibraryfile(params.ubername",{"_index":13321,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.gettemporaryfile",{"_index":13332,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.postajax(currentuser",{"_index":13343,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.saveh5pcontentgetmetadata",{"_index":13368,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.handlecolumnboardintegration(roomid",{"_index":19434,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.handlers",{"_index":16450,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.handlers.find((h",{"_index":16463,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.hasaccesstosubmission(user",{"_index":21321,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haschangedparameternames(oldparams",{"_index":11229,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterregex(newparams",{"_index":11230,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterscope(newparams",{"_index":11232,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparametertypes(newparams",{"_index":11231,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedrequiredparameters(oldparams",{"_index":11228,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschild(child",{"_index":3100,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.hascoursereadpermission(user",{"_index":19377,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hascoursewritepermission(user",{"_index":19378,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hasduplicateattributes(externaltool.parameters",{"_index":10590,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.hasnewrequiredparameter(oldparams",{"_index":11227,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.hasparent",{"_index":3934,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.hasparentpermission(user",{"_index":22113,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.hasparenttaskreadaccess(user",{"_index":21326,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasparenttaskwriteaccess(user",{"_index":21325,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haspath(req.route",{"_index":18958,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.haspermission(user",{"_index":1988,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.haspermissionbyreferences(userid",{"_index":1960,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.hasreadaccess(user",{"_index":21323,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasscanstatuswontcheck",{"_index":11916,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.hasschoolmigrated(school.externalid",{"_index":20243,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.haswriteaccess(user",{"_index":21322,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.headers",{"_index":2131,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.height",{"_index":4452,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{}}}],["this.hidden",{"_index":3793,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.host}${location",{"_index":13670,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.httpservice",{"_index":1165,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.httpservice.delete(`${configuration.get('tldraw_uri",{"_index":9684,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.httpservice.get(input.system.provisioningurl",{"_index":19751,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.httpservice.get(logourl",{"_index":10474,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.httpservice.get(url",{"_index":2412,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{}}}],["this.httpservice.get(url.tostring",{"_index":4341,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.httpservice.post",{"_index":9107,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(this.postdeletionexecutionsendpoint",{"_index":9127,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(tokenendpoint",{"_index":17137,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.httpservice.post(url",{"_index":2396,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.httpservice.request",{"_index":14848,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.httpstatus",{"_index":10420,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["this.hydracookies",{"_index":7174,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.hydrassoservice.generateconfig(oauthclientid",{"_index":13584,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.initauth(hydraoauthconfig",{"_index":13594,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.processredirect(dto",{"_index":13602,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrauc.getoauthtoken(oauthclientid",{"_index":17656,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.hydrauc.requestauthcode(jwt",{"_index":17664,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.id",{"_index":458,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BaseDO.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextRef.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IGridElement.html":{},"classes/LegacySchoolDo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.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.identifiers",{"_index":16978,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.idmap.foreach((value",{"_index":21414,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.idmoauthservice.getoauthconfig",{"_index":15537,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.isoauthconfigavailable",{"_index":15534,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.resourceownerpasswordgrant(username",{"_index":15859,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.idmreferenceid",{"_index":858,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["this.idmservice.findaccountbydbcaccountid(id.tostring",{"_index":660,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idmservice.findaccountbyid(id",{"_index":658,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idphint",{"_index":15086,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.idtoken",{"_index":17064,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.idtokenservice.createidtoken(userid",{"_index":17397,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.imagemagick(original.data",{"_index":18099,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.imageurl",{"_index":15808,"title":{},"body":{"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["this.importhash",{"_index":18909,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/UserDO.html":{}}}],["this.importuserid",{"_index":14102,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.importuserschoolid",{"_index":20161,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.info.appname",{"_index":1427,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.basepath",{"_index":1430,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.mountsdescription",{"_index":1432,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.port",{"_index":1428,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.initializes3clientmap",{"_index":9004,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.injectenvvars(filecontent",{"_index":5313,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.injectenvvars(s",{"_index":5290,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.inmaintenancesince",{"_index":15347,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.inner",{"_index":6042,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.caninline",{"_index":6047,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.content",{"_index":6048,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.transform",{"_index":6049,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inputformat",{"_index":19093,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.installlibraries(librariestoinstall.slice(0",{"_index":13515,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.installlibraries(this.librarywishlist",{"_index":13519,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.integration",{"_index":12596,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.internallinkmatatagservice.tryinternallinkmetatags(url",{"_index":16413,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.inusermigration",{"_index":15349,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.invitationlink",{"_index":4672,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.isallowedaschild(child",{"_index":3095,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.isarchived",{"_index":20928,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.isauthenticationresponse(response.body",{"_index":1681,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isauthorizedstudent(userid",{"_index":21259,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.isautoparameterglobal(param",{"_index":10597,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isblocked",{"_index":11909,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.isclientidunique(externaltool",{"_index":11184,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.iscolumnboardfeatureflagactive",{"_index":9771,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.iscustomparameternameempty(param",{"_index":10592,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidregex(param",{"_index":10607,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidtype(param",{"_index":10606,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdirectory",{"_index":11662,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.isdraft",{"_index":4132,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isfinished",{"_index":4134,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.isfinishedforuser(user",{"_index":21752,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isglobalparametervalid(param",{"_index":10594,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isgraceperiodexpired(userloginmigration",{"_index":24061,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.isgraded",{"_index":21088,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.isgradedforuser(user",{"_index":21756,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isgroup",{"_index":8524,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.ishidden",{"_index":8212,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.isinternalurl(url",{"_index":16455,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.islatest(contextexternaltool",{"_index":6109,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islatest(schoolexternaltool",{"_index":6108,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islocal",{"_index":8197,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ismigrationactive(userloginmigration",{"_index":16496,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isnameunique(externaltool",{"_index":10587,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":17038,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.isobjectempty(group",{"_index":19770,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isobjectempty(relation",{"_index":19767,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isoptional",{"_index":8268,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.isoutdatedonscopecontext",{"_index":6724,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.isoutdatedonscopeschool",{"_index":6722,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.ispending",{"_index":11914,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispreviewpossible",{"_index":11911,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispropertyprivacyprotected(e.target",{"_index":9973,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.isregexcommentmandatoryandfilled(param",{"_index":10601,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isregexvalid(param",{"_index":10604,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isschoolnumberunique(school",{"_index":20436,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.isslash(inputpath",{"_index":1664,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.isslash(path",{"_index":1667,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.issubmitted",{"_index":21072,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.issubmittedforuser(user",{"_index":21755,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.issubstitutionteacher",{"_index":4133,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.issuer",{"_index":15099,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.isteacher",{"_index":9786,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.istemplate",{"_index":8195,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.istoolstatuslatestorthrow(userid",{"_index":23315,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.isuniqueemail(email",{"_index":1003,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.isupgradable",{"_index":4733,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.isusermigrated(user",{"_index":16498,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isuserreferenced(user",{"_index":1841,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["this.isusersubmitter(user",{"_index":21071,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.isusersubstitutionteacherincourse(user",{"_index":21753,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isvaluevalidfortype(param.type",{"_index":6195,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.isverified",{"_index":11885,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.joinpath(os.tmpdir",{"_index":12167,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.jwksendpoint",{"_index":15101,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.jwt",{"_index":16987,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["this.jwtservice.sign(user",{"_index":1731,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.addtowhitelist(user.accountid",{"_index":1734,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.iswhitelisted(accountid",{"_index":14482,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["this.jwtvalidationadapter.removefromwhitelist(decodedjwt.accountid",{"_index":1739,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.kcadmin.callkcadminclient",{"_index":14690,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getadminuser",{"_index":15013,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getclientid",{"_index":14722,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.kcadmin.setpasswordpolicy",{"_index":14802,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadmin.testkcconnection",{"_index":14798,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadminclient",{"_index":14572,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.auth(this.kcsettings.credentials",{"_index":14573,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.callkcadminclient",{"_index":14878,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.del",{"_index":14914,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.find",{"_index":14911,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.findone",{"_index":14893,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.setconfig",{"_index":14568,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminservice.getclientid",{"_index":14836,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getclientsecret",{"_index":14838,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getwellknownurl",{"_index":14832,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.testkcconnection",{"_index":14845,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcsettings.baseurl}/realms/${this.kcsettings.realmname}/.well",{"_index":14574,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.clientid",{"_index":14577,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.credentials.username",{"_index":14576,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.realmname",{"_index":14587,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.key",{"_index":8177,"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":20993,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring(cryptojs.enc.utf8",{"_index":20996,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.keycloakconfigservice.configurebrokerflows",{"_index":14804,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureclient",{"_index":14803,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureidentityproviders",{"_index":14806,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configurerealm",{"_index":14805,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigurationuc.check",{"_index":4923,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.clean(options.pagesize",{"_index":4933,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.configure",{"_index":4948,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.migrate",{"_index":4958,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.seed",{"_index":4941,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakmanagementuc.check",{"_index":14951,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.configure",{"_index":14952,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.seed",{"_index":14953,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmigrationservice.migrate(skip",{"_index":14801,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.clean(pagesize",{"_index":14799,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.seed",{"_index":14800,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keyvalue",{"_index":1763,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.language",{"_index":6622,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastauthorizationtime",{"_index":14590,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.lastloginsystemchange",{"_index":23564,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastmodifytimestamp",{"_index":15113,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastname",{"_index":11265,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.lastnamesearchvalues",{"_index":23640,"title":{},"body":{"classes/UserDO.html":{}}}],["this.lastsuccessfulfullsync",{"_index":15109,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsuccessfulpartialsync",{"_index":15111,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsyncattempt",{"_index":15107,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lasttriedfailedlogin",{"_index":246,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.lastupdatedat",{"_index":22624,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["this.launch_presentation_locale",{"_index":16043,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["this.ldapactive",{"_index":21511,"title":{},"body":{"classes/SystemDto.html":{}}}],["this.ldapconfig",{"_index":15164,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.ldapdn",{"_index":4677,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ldapdn?.match(pattern_login_from_dn",{"_index":13989,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.ldapencryptionservice.encrypt",{"_index":5402,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.ldapservice.checkldapcredentials(system",{"_index":15241,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.legacylogger.debug",{"_index":11051,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.legacylogger.warn",{"_index":20253,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.legacysystemservice.findbyid(id",{"_index":21648,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(systemtypeenum.oauth",{"_index":21646,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(type",{"_index":21647,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legayschoolrule",{"_index":19505,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lesson",{"_index":21692,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.hidden",{"_index":21763,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.name",{"_index":21762,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lessoncopyservice.copylesson",{"_index":3370,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.lessoncopyservice.updatecopiedembeddedtasks(elementcopystatus",{"_index":3397,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.lessoncopyuc.copylesson",{"_index":19418,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.lessonhidden",{"_index":21936,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.lessonreadpermission(user",{"_index":15676,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.lessonrepo.delete(lesson",{"_index":15712,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids(courseids",{"_index":15714,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyid(lessonid",{"_index":15713,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyuserid(userid",{"_index":15715,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.save(updatedlessons",{"_index":15720,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrule",{"_index":19501,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lessonrule.haspermission(user",{"_index":22116,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.lessonservice",{"_index":18841,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.lessonservice.deletelesson(lesson",{"_index":15729,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbycourseids([courseid",{"_index":5789,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.lessonservice.findbycourseids([originallesson.course.id",{"_index":15592,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.lessonservice.findbycourseids([roomid",{"_index":19431,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.lessonservice.findbycourseids(readcourseids",{"_index":22255,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbycourseids(writecourseids",{"_index":22254,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbyid(id",{"_index":15734,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["this.lessonservice.findbyid(lessonid",{"_index":15584,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.lessonservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20832,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lessonservice.savelesson(lesson",{"_index":26431,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.lessonuc.delete(currentuser.userid",{"_index":15565,"title":{},"body":{"controllers/LessonController.html":{}}}],["this.lessonurlhandler",{"_index":16452,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.lessonwritepermission(user",{"_index":15677,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.level",{"_index":3928,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.library",{"_index":12611,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.libraryadministration",{"_index":13489,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.libraryadministration.getlibraries",{"_index":13517,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarymanager",{"_index":13484,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage",{"_index":13485,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage.deletelibrary(librariestocheck[lastpositionlibrariestocheckarray",{"_index":13503,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarywishlist",{"_index":13495,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.license",{"_index":6628,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.licenseextras",{"_index":6655,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.licenseversion",{"_index":6646,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.limit",{"_index":17910,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.listobjectkeysrecursive(params",{"_index":19617,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.loadaccount(username",{"_index":15232,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.loadaccounts",{"_index":15008,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.loadallcollectionsfromdatabase(folder",{"_index":5270,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadallcollectionsfromfilesystem(folder",{"_index":5269,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5309,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loader.loadauthorizableobject(entityname",{"_index":1963,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.loadtoolhierarchy(schoolexternaltoolid",{"_index":23314,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.loadusers",{"_index":15007,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.localcookies",{"_index":7172,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.location",{"_index":8260,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["this.logger",{"_index":20624,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.logger.alert(message",{"_index":10006,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.crit(message",{"_index":10007,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.debug",{"_index":4162,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["this.logger.debug('[ldap",{"_index":15203,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug('usersearcindex",{"_index":5362,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.debug(`adding",{"_index":16953,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`contextexternaltool",{"_index":23119,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.logger.debug(`externaltool",{"_index":23177,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.logger.debug(`removing",{"_index":16948,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`schoolexternaltool",{"_index":23473,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.logger.debug(err",{"_index":15201,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug(message",{"_index":15890,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.debug(new",{"_index":22970,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.logger.debug(this.createmessage(message",{"_index":15310,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.emerg(message",{"_index":10005,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error('could",{"_index":10074,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["this.logger.error(`${err.message",{"_index":19575,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.error(`migration",{"_index":14970,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.error(`the",{"_index":9019,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(err",{"_index":14954,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.error(error",{"_index":9038,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(loggable",{"_index":12690,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.logger.error(message",{"_index":10008,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error(this.createmessage(result",{"_index":15312,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.http(logging",{"_index":18999,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.info",{"_index":15252,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.logger.info(message",{"_index":15889,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.info(new",{"_index":10477,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.info(this.createmessage(message",{"_index":15308,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.log",{"_index":8968,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["this.logger.log('before",{"_index":9828,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log('cleanup",{"_index":8974,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.log(`${oauthconfig.authendpoint}?${query",{"_index":13658,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(`...deleted",{"_index":15018,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`...migrated",{"_index":14971,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`after",{"_index":9830,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log(`amount",{"_index":15016,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`initialized",{"_index":9026,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.log(`migration",{"_index":14969,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`starting",{"_index":15014,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`stream",{"_index":19648,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(axiosconfig",{"_index":13659,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(localdto",{"_index":13681,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(new",{"_index":25994,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.notice(message",{"_index":15888,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.notice(this.createmessage(message",{"_index":15311,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.setcontext(`${context.getclass().name}::${context.gethandler().name",{"_index":18992,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.setcontext(boarduc.name",{"_index":4161,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.logger.setcontext(carduc.name",{"_index":4556,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.logger.setcontext(collaborativestorageadapter.name",{"_index":5038,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.logger.setcontext(collaborativestoragecontroller.name",{"_index":5112,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.logger.setcontext(collaborativestorageservice.name",{"_index":5153,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.logger.setcontext(columnuc.name",{"_index":5716,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.logger.setcontext(databasemanagementuc.name",{"_index":5227,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.setcontext(deletefilesconsole.name",{"_index":8967,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.setcontext(deletefilesuc.name",{"_index":9003,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.setcontext(drawingelementadapterservice.name",{"_index":9683,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.logger.setcontext(elementuc.name",{"_index":9888,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.logger.setcontext(filesstorageclientadapterservice.name",{"_index":12273,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.logger.setcontext(filesstorageconsumer.name",{"_index":12352,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.logger.setcontext(filesstorageproducer.name",{"_index":12451,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.logger.setcontext(fwulearningcontentsuc.name",{"_index":12582,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.logger.setcontext(hydraoauthuc.name",{"_index":13581,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.logger.setcontext(keycloakconsole.name",{"_index":4908,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.logger.setcontext(keycloakmanagementcontroller.name",{"_index":14949,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.setcontext(keycloakmigrationservice.name",{"_index":14963,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.setcontext(ldapservice.name",{"_index":15187,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.setcontext(newsuc.name",{"_index":16823,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.logger.setcontext(nextcloudstrategy.name",{"_index":16909,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.setcontext(oauthservice.name",{"_index":17028,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.logger.setcontext(oauthssocontroller.name",{"_index":17652,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.setcontext(previewgeneratorconsumer.name",{"_index":18043,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.logger.setcontext(previewgeneratorservice.name",{"_index":18085,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.logger.setcontext(previewproducer.name",{"_index":18115,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.logger.setcontext(previewservice.name",{"_index":18139,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.setcontext(restartuserloginmigrationuc.name",{"_index":19039,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(s3clientadapter.name",{"_index":19571,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.setcontext(sharetokenuc.name",{"_index":20863,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.logger.setcontext(startuserloginmigrationuc.name",{"_index":20961,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(youruc.name",{"_index":25992,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.warn",{"_index":16966,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.warn('no",{"_index":21423,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["this.logger.warn(`boardcopyservice",{"_index":3363,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warn(`could",{"_index":18146,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["this.logger.warn(`placeholder",{"_index":5389,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.warn(err",{"_index":3344,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warning",{"_index":20238,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warning(message",{"_index":15887,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.warning(new",{"_index":18096,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/UserMigrationService.html":{}}}],["this.logger.warning(this.createmessage(message",{"_index":15309,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.loginname",{"_index":14104,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.loginuc.getlogindata(user",{"_index":15959,"title":{},"body":{"controllers/LoginController.html":{}}}],["this.logo",{"_index":10163,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["this.logo_url",{"_index":8181,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.logobase64",{"_index":10376,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["this.logourl",{"_index":6756,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.logoutendpoint",{"_index":15097,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.logoutflowuc.logoutflow(params.challenge",{"_index":17485,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.logouturl",{"_index":2186,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lookuptoken(token",{"_index":20828,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lti_message_type",{"_index":8183,"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":8185,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ltirepo.findbyoauthclientid(oauthclientid",{"_index":13693,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.ltitoolrepo.findbyclientidandislocal(clientid",{"_index":16207,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["this.ltitoolrepo.findbyname(this.client.oidcinternalname",{"_index":16964,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.ltitoolservice.findbyclientidandislocal(clientid",{"_index":17518,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.machinename",{"_index":11700,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mainlibrary",{"_index":6624,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.majorversion",{"_index":11701,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.manageclientsconnections",{"_index":24784,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.mandatory",{"_index":23947,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["this.mandatorysince",{"_index":23911,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.mapbasictoolconfigdotoentity(entitydo.config",{"_index":10798,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapbasictoolconfigdotoresponse(externaltool.config",{"_index":10958,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapbasictoolconfigtodo(entity.config",{"_index":10773,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapboardelements(board",{"_index":19302,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["this.mapcolumnboardelement(element",{"_index":9782,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.mapcontenttoresource(lesson.id",{"_index":5798,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcontexttypetodotype(entity.contexttype",{"_index":6910,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcontexttypetoentitytype(entitydo.contextref.type",{"_index":6915,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcourseteacherstocopyrightowners(course",{"_index":5782,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseuserstousergroup(course",{"_index":3465,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.mapcustomparameterdostoentities(entitydo.parameters",{"_index":10805,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparameterstodos(entity.parameters",{"_index":10780,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparametertoresponse",{"_index":10961,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapdomainobjecttoentityproperties(domainobject",{"_index":10683,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapdotoentityproperties(domainobject",{"_index":2495,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.mapelementtoentity(e",{"_index":8734,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapentitytodo(entity",{"_index":2517,"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":15405,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(schools[0",{"_index":15409,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(user",{"_index":23688,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userentity",{"_index":23685,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userloginmigration",{"_index":23983,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this.mapentitytodomainobject(entities",{"_index":10689,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.mapentitytodomainobject(entity",{"_index":10676,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapexternalgroup(source",{"_index":19831,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapexternalsourceentitytoexternalsource(entity.externalsource",{"_index":12893,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapexternalsourcetoexternalsourceentity(props.externalsource",{"_index":12882,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapfromdtotoresponse(system",{"_index":21613,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["this.mapfromentitytodto(entity",{"_index":19226,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["this.mapgridelementtomodel(elementwithposition",{"_index":8761,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapgroupuserentitytogroupuser(groupuser",{"_index":12888,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapldapconfigentitytodomainobject(entity.ldapconfig",{"_index":21497,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.maplessonelement(element",{"_index":9781,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maplti11toolconfigdotoentity(entitydo.config",{"_index":10800,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.maplti11toolconfigdotoresponse(externaltool.config",{"_index":10959,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.maplti11toolconfigtodo(entity.config",{"_index":10775,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configdotoentity(entitydo.config",{"_index":10799,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configtodo(entity.config",{"_index":10774,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2toolconfigdotoresponse(externaltool.config",{"_index":10960,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapoauthconfigentitytodomainobject(entity.oauthconfig",{"_index":21495,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.mapper.mapdashboardtoentity(dashboardmodel",{"_index":8800,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtoentity(modelentity",{"_index":8796,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtomodel(entity",{"_index":8794,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdotoprovideroauthclient",{"_index":11040,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.mapper.maptoresponse(board",{"_index":19406,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.mappers.find((mapper",{"_index":6446,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.mappseudonymtouserdata(pseudonym",{"_index":11438,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.mapreferencetoentity(ref",{"_index":8726,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapreferencetomodel(ref",{"_index":8755,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolcreateparams.config",{"_index":10896,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolupdateparams.config",{"_index":10882,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterdo",{"_index":10886,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(contextexternaltool.parameters",{"_index":6985,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(request.parameters",{"_index":6941,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigcreate(externaltoolcreateparams.config",{"_index":10897,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigupdate(externaltoolupdateparams.config",{"_index":10883,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigcreate(externaltoolcreateparams.config",{"_index":10898,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigupdate(externaltoolupdateparams.config",{"_index":10884,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.mapsanisroletorolename(source",{"_index":19824,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapsubmissionitemtoresponse(item",{"_index":21220,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.maptaskelement(element",{"_index":9779,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoclassinfotoresponse(classinfo",{"_index":13007,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["this.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":23087,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptocustomparameterentryresponse(schoolexternaltool.parameters",{"_index":20058,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptodo(entity",{"_index":4799,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoelementdtos(filtered",{"_index":9766,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoentity(domainobject",{"_index":4801,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoexternalgroupuser",{"_index":19835,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoexternalgroupuser(relation",{"_index":19840,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoresponse(element",{"_index":6451,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":23084,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptoschoolexternaltoolresponse(tooldo",{"_index":20055,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptotoolreferenceresponse(toolreference",{"_index":6990,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.mapuserstoresponse(user",{"_index":21222,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.match",{"_index":14111,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.matchedby",{"_index":13997,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.matchsinglerule(selectedrules",{"_index":19517,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.materials.getitems",{"_index":6266,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.isinitialized(true",{"_index":6265,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.set(props.materials",{"_index":6246,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.max_redirects",{"_index":13605,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.maxexternaltoollogosizeinbytes",{"_index":10497,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["this.maxsubmissions",{"_index":4130,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.mdb",{"_index":22676,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.flushdocument(docname",{"_index":22693,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.getydoc(docname",{"_index":22679,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.storeupdate(docname",{"_index":22682,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.meetingid",{"_index":2146,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{}}}],["this.mergeelementintoposition(elementtomove",{"_index":8555,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.merlinreference",{"_index":16310,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.message",{"_index":4249,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.messagehandler(ws",{"_index":22937,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.metadata",{"_index":6681,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.metadataprops.version",{"_index":5977,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["this.metadatasettings",{"_index":11774,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.metadescription",{"_index":6638,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metakeywords",{"_index":6640,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metatagextractorservice.getmetadata(url",{"_index":16438,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["this.metatagextractoruc.getmetadata(currentuser.userid",{"_index":16349,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["this.method",{"_index":18954,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.migrationcheckservice.shouldusermigrate",{"_index":17039,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.mimetype",{"_index":7253,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ParentInfo.html":{}}}],["this.minorversion",{"_index":11702,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.moderatormustapprovejoinrequests",{"_index":24383,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.moderatorpw",{"_index":2192,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.modifiedcount",{"_index":9263,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.multiplecollections",{"_index":22673,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.name",{"_index":2184,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/H5pFileDto.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ResolvedGroupDto.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{}}}],["this.name.length",{"_index":7616,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.newsrepo.delete(news",{"_index":16847,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallpublished(targets",{"_index":16836,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallunpublishedbyuser(targets",{"_index":16835,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findonebyid(id",{"_index":16839,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.save(news",{"_index":16829,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsuc.create",{"_index":16622,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.newsuc.delete(urlparams.newsid",{"_index":16636,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.findallforuser",{"_index":16626,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["this.newsuc.findonebyidforuser(urlparams.newsid",{"_index":16631,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.update",{"_index":16632,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.nowplusdays(options.expiresindays",{"_index":20873,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.numberofdrafttasks",{"_index":3795,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofplannedtasks",{"_index":3796,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofpublishedtasks",{"_index":3794,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.oauthadapterservice.getpublickey(oauthconfig.jwksendpoint",{"_index":17052,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthadapterservice.sendauthenticationcodetokenrequest",{"_index":17049,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthclientid",{"_index":8202,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.oauthconfig",{"_index":15160,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oauthencryptionservice.decrypt(clientsecret",{"_index":14847,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.decrypt(oauthconfig.clientsecret",{"_index":17055,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthencryptionservice.encrypt(await",{"_index":14837,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.encrypt(tool.secret",{"_index":13702,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid",{"_index":17546,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid(clientid",{"_index":13866,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.oauthproviderloginflowservice.isnextcloudtool(tool",{"_index":17548,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowuc.getloginrequest(params.challenge",{"_index":17477,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderloginflowuc.patchloginrequest",{"_index":17480,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentresponse(consentrequest",{"_index":17491,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentsessionstoresponse(session",{"_index":17499,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.maploginresponse(loginresponse",{"_index":17478,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapoauthclientresponse(client",{"_index":17461,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirect",{"_index":17486,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirectresponse",{"_index":17482,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderservice.acceptconsentrequest",{"_index":17399,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.acceptloginrequest",{"_index":17554,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.acceptlogoutrequest(challenge",{"_index":17565,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["this.oauthproviderservice.createoauth2client(datawithdefaults",{"_index":17362,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.createoauth2client(oauthclient",{"_index":11041,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.deleteoauth2client(id",{"_index":17364,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.getconsentrequest(challenge",{"_index":17388,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.getloginrequest(challenge",{"_index":17541,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.getoauth2client",{"_index":11067,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(config.clientid",{"_index":11074,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(id",{"_index":17358,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.listconsentsessions(userid",{"_index":17634,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.listoauth2clients",{"_index":17357,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.rejectconsentrequest",{"_index":17396,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.rejectloginrequest",{"_index":17559,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.revokeconsentsession(userid",{"_index":17635,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(id",{"_index":17363,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(loadedoauthclient.client_id",{"_index":11071,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthprovideruc.listconsentsessions",{"_index":17497,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthprovideruc.revokeconsentsession(currentuser.userid",{"_index":17502,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthservice.authenticateuser(systemid",{"_index":17079,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.authenticateuser(targetsystemid",{"_index":24098,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.oauthservice.provisionuser(systemid",{"_index":17080,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.requesttoken",{"_index":13586,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthservice.validatetoken(oauthtokens.idtoken",{"_index":13588,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.officialschoolnumber",{"_index":10112,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.oidcconfig",{"_index":15162,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oidcidentityprovidermapper.maptokeycloakidentityprovider(oidcconfig",{"_index":14762,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.oidcprovisioningservice.filterexternalgroups(groups",{"_index":17880,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalgroup(group",{"_index":17882,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalschool(data.externalschool",{"_index":17872,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternaluser",{"_index":17874,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.removeexternalgroupsandaffiliation",{"_index":17877,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.on('update",{"_index":24782,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.openinnewtab",{"_index":23365,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.opennewtab",{"_index":8208,"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":9261,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["this.options",{"_index":9621,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.options.adminid",{"_index":1181,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminpassword",{"_index":1186,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.admintoken",{"_index":1182,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminuser",{"_index":1185,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.copyrightowners",{"_index":5903,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.creationyear",{"_index":5904,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.enabled",{"_index":1332,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.exchange",{"_index":1338,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.filesservicebaseurl",{"_index":1349,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.identifier",{"_index":5901,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.module",{"_index":22558,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["this.options.routingkey",{"_index":1339,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.options.title",{"_index":5902,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.uri",{"_index":1191,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.version",{"_index":5905,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organization",{"_index":12921,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.organizationelements.map((organizationelement",{"_index":6031,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["this.organizationid",{"_index":12987,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.organizations.flatmap((organization",{"_index":5898,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.map((organization",{"_index":5896,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.push(organizationbuilder",{"_index":5892,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.origin",{"_index":14354,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["this.origintoolid",{"_index":8237,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["this.orm.close",{"_index":16550,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["this.orm.getschemagenerator().ensureindexes",{"_index":8952,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.otherusers",{"_index":10091,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["this.outdatedsince",{"_index":23566,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ownedbyuserid",{"_index":13545,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.parameters",{"_index":6708,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.parameters.map((param",{"_index":16530,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.parametertype",{"_index":17917,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["this.params",{"_index":2085,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ShareTokenFactory.html":{}}}],["this.params(params",{"_index":577,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["this.parentid",{"_index":7249,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.parentname",{"_index":20754,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["this.parentpermission(user",{"_index":15683,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.parents",{"_index":23568,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.parentsmap.get(card.id",{"_index":18775,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(column.id",{"_index":18774,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(columnboard.id",{"_index":18768,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(drawingelement.id",{"_index":18784,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(externaltoolelement.id",{"_index":18791,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(fileelement.id",{"_index":18776,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(linkelement.id",{"_index":18778,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(richtextelement.id",{"_index":18782,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissioncontainerelement.id",{"_index":18786,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissionitem.id",{"_index":18788,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.set(child.id",{"_index":18798,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsystemid",{"_index":17676,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["this.parenttitle",{"_index":16380,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["this.parenttype",{"_index":6675,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.password",{"_index":236,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.patchversion",{"_index":11753,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path",{"_index":3926,"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":3937,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.patterns",{"_index":137,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.patterns.some((pattern",{"_index":150,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.payload",{"_index":17994,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.performedat",{"_index":9269,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.permission",{"_index":9613,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.permissionmapper.mapbodytodto(permissionsdto",{"_index":5193,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.permissions",{"_index":11652,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.permissions.filter((permission",{"_index":11653,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.persistandflush(dashboard",{"_index":8802,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.persistence",{"_index":22887,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.persistence.bindstate(docname",{"_index":22916,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.pickimage(data?.result?.ogimage",{"_index":16420,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.pin",{"_index":18905,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.pingtimeout",{"_index":22885,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.populate([task",{"_index":22006,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populate(tasks",{"_index":22087,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populateboard(board",{"_index":4000,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.populatereferences([submission",{"_index":21293,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populatereferences(submissions",{"_index":21294,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populateroles([teamuser.role",{"_index":22436,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(role.roles.getitems",{"_index":22441,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(user.roles.getitems",{"_index":23687,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this.populateroles(userentity.roles.getitems",{"_index":23684,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.position",{"_index":3930,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.positionfromgridindex(key",{"_index":8548,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.post('/api/v1/logout",{"_index":1119,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post('/api/v1/users.setstatus",{"_index":1114,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post(path",{"_index":1159,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.addmoderator",{"_index":1137,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.archive",{"_index":1127,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.create",{"_index":1149,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.delete",{"_index":1151,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.invite",{"_index":1135,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.kick",{"_index":1131,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.removemoderator",{"_index":1139,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.unarchive",{"_index":1123,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.create",{"_index":1153,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.createtoken",{"_index":1117,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.delete",{"_index":1156,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postdeletionexecutionsendpoint",{"_index":9105,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.postdeletionrequestsendpoint",{"_index":9102,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.preferences",{"_index":23562,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.preloadedcss",{"_index":11776,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadeddependencies",{"_index":6630,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadedjs",{"_index":11779,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.prepareawarenessmessage(changedclients",{"_index":24785,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.preparebbbcreateconfigbuilder(scope",{"_index":24526,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.previewgeneratorservice.generatepreview(payload",{"_index":18047,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.previewproducer.generate(payload",{"_index":18156,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.previewservice.deletepreviews(filerecords",{"_index":12362,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.previewstatus",{"_index":7258,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.previousexternalid",{"_index":15351,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.privacy_permission",{"_index":8191,"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":21691,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.proceedbuttonurl",{"_index":17894,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.processcookies(localdto.response.headers['set",{"_index":13674,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.processredirectcascade(initresponse",{"_index":13595,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.product",{"_index":4231,"title":{},"body":{"classes/Builder.html":{}}}],["this.product.allowmodstounmuteusers",{"_index":2240,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.attendeepw",{"_index":2238,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.guest",{"_index":2290,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.guestpolicy",{"_index":2226,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.logouturl",{"_index":2224,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.moderatorpw",{"_index":2236,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.muteonstart",{"_index":2227,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.role",{"_index":2291,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.userid",{"_index":2292,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.welcome",{"_index":2225,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product['meta_bbb",{"_index":2228,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.properties",{"_index":23229,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["this.propertiestopopulate",{"_index":16746,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.props",{"_index":1771,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/DomainObject.html":{}}}],["this.props.alternativetext",{"_index":11564,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.authtoken",{"_index":19139,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.caption",{"_index":11562,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.children",{"_index":3092,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.props.completed",{"_index":21176,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.context",{"_index":5441,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["this.props.contextexternaltoolid",{"_index":10334,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["this.props.copyrightowners",{"_index":6010,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.createdat",{"_index":3093,"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":6009,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.deleteafter",{"_index":9399,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.deletedcount",{"_index":9240,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.deletionrequestid",{"_index":9241,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.description",{"_index":5930,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.domain",{"_index":9237,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.duedate",{"_index":21094,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["this.props.externalsource",{"_index":12792,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.gradelevel",{"_index":4631,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.height",{"_index":4360,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["this.props.href",{"_index":5965,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.html",{"_index":6057,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.id",{"_index":1772,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["this.props.identifier",{"_index":5963,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.imageurl",{"_index":15799,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.inputformat",{"_index":19082,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.intendeduse",{"_index":6058,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.invitationlink",{"_index":4629,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.ldapconfig",{"_index":21432,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["this.props.ldapdn",{"_index":4632,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.modifiedcount",{"_index":9239,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.name",{"_index":4625,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.operation",{"_index":9238,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.organizationid",{"_index":12793,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.performedat",{"_index":9242,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.provisioningoptions",{"_index":20323,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["this.props.provisioningstrategy",{"_index":21433,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["this.props.pseudonym",{"_index":18377,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.rcid",{"_index":19138,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.requireduserrole",{"_index":3439,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.resources.map",{"_index":5881,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.resources.map((content",{"_index":6020,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["this.props.resources.push(props",{"_index":5886,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.schoolid",{"_index":4626,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["this.props.source",{"_index":4634,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceoptions",{"_index":4635,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceschoolid",{"_index":20311,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.status",{"_index":9401,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.successor",{"_index":4633,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.systemid",{"_index":20322,"title":{},"body":{"classes/SchoolSystemOptions.html":{},"interfaces/SchoolSystemOptionsProps.html":{}}}],["this.props.targetrefdomain",{"_index":9398,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetrefid",{"_index":9400,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetschoolid",{"_index":20313,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.teacherids",{"_index":4628,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.text",{"_index":19080,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.title",{"_index":4358,"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":18378,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.tspuid",{"_index":4846,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["this.props.type",{"_index":5964,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.updatedat",{"_index":3094,"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":5932,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.userid",{"_index":18379,"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":4627,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.userids?.filter((userid1",{"_index":4636,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.username",{"_index":19137,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.users",{"_index":3438,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.users.filter((groupuser",{"_index":12794,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.users.length",{"_index":12796,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.version",{"_index":5939,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.year",{"_index":4630,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.propsfactory",{"_index":2589,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.afterbuild(afterbuildfn",{"_index":2600,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.associations(associations",{"_index":2603,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.build(params",{"_index":2592,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.params(params",{"_index":2604,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.rewindsequence",{"_index":2606,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.transient(transient",{"_index":2605,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory['sequence",{"_index":2613,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.provider",{"_index":15051,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provideroptions",{"_index":15123,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningfeatures.provisioningoptionsenabled",{"_index":17879,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.provisioningfeatures.schulconnexgroupprovisioningenabled",{"_index":17876,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["this.provisioningoptions",{"_index":18352,"title":{},"body":{"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["this.provisioningservice.getdata",{"_index":24100,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.provisioningservice.getdata(systemid",{"_index":17034,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningservice.provisiondata(data",{"_index":17041,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningstrategy",{"_index":15166,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningurl",{"_index":15168,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.pseudonym",{"_index":10638,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/TooManyPseudonymsLoggableException.html":{}}}],["this.pseudonymrepo",{"_index":18493,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18490,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.findbyuserid(userid",{"_index":18487,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymservice",{"_index":16940,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.pseudonymservice.findbyuserandtoolorthrow(user",{"_index":13868,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.pseudonymservice.findorcreatepseudonym(user",{"_index":11440,"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":11444,"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":11410,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(pseudonym.pseudonym",{"_index":11459,"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":18405,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["this.publicsubmissions",{"_index":21696,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.published",{"_index":3057,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{}}}],["this.publishedat",{"_index":24752,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["this.random(50",{"_index":3874,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.rcid",{"_index":19148,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.read",{"_index":11815,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.reason",{"_index":11853,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["this.redirect",{"_index":2274,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{}}}],["this.redirect_to",{"_index":18808,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["this.redirect_uri",{"_index":1512,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.redirecturi",{"_index":15092,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.redirecturis",{"_index":17090,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.redisclient",{"_index":20623,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.referencedentityid",{"_index":18867,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.referencedentityname",{"_index":18866,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.references",{"_index":8518,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.getitems",{"_index":2978,"title":{},"body":{"entities/Board.html":{}}}],["this.references.length",{"_index":8526,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.set(elements",{"_index":2982,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(newlist",{"_index":3016,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(onlyexistingreferences",{"_index":3005,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(props.references",{"_index":2971,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(references",{"_index":8611,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.referer",{"_index":13618,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.refid",{"_index":11808,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refownermodel",{"_index":11677,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.refpermmodel",{"_index":11810,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refreshtoken",{"_index":17066,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["this.regex",{"_index":8264,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.regexcomment",{"_index":8266,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.region",{"_index":21011,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.registerparentdata(parent",{"_index":18766,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.registerstrategy(iservstrategy",{"_index":18332,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(oidcmockstrategy",{"_index":18333,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(sanisstrategy",{"_index":18331,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registrationpinrepo.deleteregistrationpinbyemail(email",{"_index":18931,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["this.rejectconsentrequest(challenge",{"_index":17394,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.rejectloginrequest(challenge",{"_index":17543,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.rejectnothandled(card",{"_index":6512,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(column",{"_index":6511,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(columnboard",{"_index":6510,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(drawingelement",{"_index":6541,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(externaltoolelement",{"_index":6550,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(fileelement",{"_index":6518,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(linkelement",{"_index":6534,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(richtextelement",{"_index":6539,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submission",{"_index":6545,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submissioncontainerelement",{"_index":6544,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.relatedresources",{"_index":16312,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.relation.ktid",{"_index":13038,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.relation.rollen?.[0",{"_index":13040,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.remapprotectedentityfields(domainobject",{"_index":2494,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removedeletedreferences(boardelementtargets",{"_index":2999,"title":{},"body":{"entities/Board.html":{}}}],["this.removeemptyobjectsfromresponse(axiosresponse.data",{"_index":19753,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.removefromposition(from",{"_index":8556,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removeprotectedentityfields(entitydata",{"_index":2496,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removeroomsnotinlist(rooms",{"_index":8557,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removesecrets(collectionname",{"_index":5334,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromstorageproviders(jsondocuments",{"_index":5416,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromsystems(jsondocuments",{"_index":5415,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.repeatcommand",{"_index":4932,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.repo.delete(meta",{"_index":22508,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserandfilename(user.id",{"_index":22509,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserid(userid",{"_index":7987,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyid(courseid",{"_index":7986,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyowneruserid(userid",{"_index":12237,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbypermissionrefid(userid",{"_index":12232,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbyuser(user.id",{"_index":22521,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(user.id",{"_index":22512,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(userid",{"_index":22506,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserid(userid",{"_index":7829,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.findexpired",{"_index":22522,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.save(coursegroups",{"_index":7832,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.save(courses",{"_index":7990,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.save(entities",{"_index":12236,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repos.get(type",{"_index":18852,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.boardnode",{"_index":18848,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.contextexternaltoolentity",{"_index":18850,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.course",{"_index":18832,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.coursegroup",{"_index":18834,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.lesson",{"_index":18840,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.school",{"_index":18838,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.schoolexternaltoolentity",{"_index":18846,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.submission",{"_index":18844,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.task",{"_index":18830,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.team",{"_index":18842,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.user",{"_index":18836,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.request(filespreviewevents.generate_preview",{"_index":18117,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.request(filesstorageevents.copy_files_of_parent",{"_index":12453,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.delete_files_of_parent",{"_index":12459,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.list_files_of_parent",{"_index":12456,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.remove_creatorid_of_files",{"_index":12462,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request.app.get('feathersapp",{"_index":11478,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["this.requestid",{"_index":9526,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["this.requestmapper.mapschoolexternaltoolrequest(body",{"_index":23470,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.requesttimeout",{"_index":22618,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["this.requesttoken",{"_index":11855,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["this.requesttoken(authcode",{"_index":17032,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.requiredextensions",{"_index":11782,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resizeandconvert(original",{"_index":18089,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.resolvepermissions(user",{"_index":17973,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(innerroles",{"_index":17971,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(user.roles.getitems",{"_index":17969,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolveplaceholder(placeholder.substring(2",{"_index":5380,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.resolverepo(objectname",{"_index":18854,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.resolvetokenrequest(responsetokenobservable",{"_index":17139,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.resource_link_id",{"_index":8187,"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":6052,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["this.resourcename",{"_index":16977,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resources.push(resource",{"_index":5895,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.response",{"_index":1104,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/HydraRedirectDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.responsemapper.maptoexternalgroupdtos(axiosresponse.data",{"_index":19759,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternalschooldto(axiosresponse.data",{"_index":19758,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternaluserdto(axiosresponse.data",{"_index":19756,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(createdschoolexternaltooldo",{"_index":23478,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":23468,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(updated",{"_index":23472,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptosearchlistresponse(found",{"_index":23465,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsetype",{"_index":15093,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.restartuserloginmigrationuc.restartmigration",{"_index":23884,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.restricted",{"_index":11785,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.restricttocontexts",{"_index":10173,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.resultmap.get(child.id",{"_index":18681,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.get(original.id",{"_index":18633,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.set(original.id",{"_index":18639,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.rocketchatuserrepo.deletebyuserid(userid",{"_index":19196,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.rocketchatuserrepo.findbyuserid(userid",{"_index":19195,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.role",{"_index":2269,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.roleid",{"_index":13122,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.roleids",{"_index":23754,"title":{},"body":{"classes/UserDto.html":{}}}],["this.rolename",{"_index":10103,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.rolenames",{"_index":14106,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.rolenames.push(...props.rolenames",{"_index":13977,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.rolerepo.findbyid(id",{"_index":19275,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbyids(ids",{"_index":19277,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbynames(names",{"_index":19279,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.roles",{"_index":8189,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["this.roles.getitems",{"_index":19206,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.isinitialized(true",{"_index":19204,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.set(props.roles",{"_index":19203,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roleservice.findbyid(roleid",{"_index":5161,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.roleservice.findbynames([externalgroupuser.rolename",{"_index":17842,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(externaluser.roles",{"_index":17787,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(names",{"_index":19285,"title":{},"body":{"injectables/RoleUc.html":{}}}],["this.roleservice.getprotectedroles",{"_index":24327,"title":{},"body":{"injectables/UserService.html":{}}}],["this.room",{"_index":9760,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.color",{"_index":9807,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.id",{"_index":9806,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.isfinished",{"_index":9810,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.name",{"_index":9808,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.substitutionteachers.contains(this.user",{"_index":9777,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.teachers.contains(this.user",{"_index":9776,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomid",{"_index":20927,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.roomsauthorisationservice",{"_index":9763,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.haslessonreadpermission(this.user",{"_index":9770,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.hastaskreadpermission(this.user",{"_index":9769,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsservice.updateboard(board",{"_index":19459,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.roomsservice.updateboard(originalboard",{"_index":7690,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.roomsuc.getboard(urlparams.roomid",{"_index":19405,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.reorderboardelements(urlparams.roomid",{"_index":19411,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.updatevisibilityofboardelement",{"_index":19407,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.rootpath",{"_index":15116,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.routepath",{"_index":18959,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.rulemanager.selectrule(user",{"_index":1991,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.rules",{"_index":19498,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.rules.filter((rule",{"_index":19515,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.runnable",{"_index":11755,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.s3client.delete([this.getfilepath(userid",{"_index":22507,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3client.get(path",{"_index":22516,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3clientmap.get(storageprovider.id",{"_index":9044,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.set(provider.id",{"_index":9024,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.size",{"_index":9027,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.salt",{"_index":2422,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.save(entity",{"_index":15768,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.save(this.create(course",{"_index":7946,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this.save(this.create(lesson",{"_index":15642,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this.save(this.create(task",{"_index":22005,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.saveall([domainobject",{"_index":2486,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.saverecursive(boardnode",{"_index":18773,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.school",{"_index":7573,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["this.school.externalid",{"_index":20151,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.school.id",{"_index":13996,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.school.previousexternalid",{"_index":20269,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.schoolexternaltoolcount",{"_index":10508,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{}}}],["this.schoolexternaltoolid",{"_index":6753,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["this.schoolexternaltoolmetadataservice.getmetadata",{"_index":20131,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolrepo",{"_index":18847,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolexternaltoolrepo.deletebyexternaltoolid(toolid",{"_index":11062,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.deletebyid(schoolexternaltoolid",{"_index":20098,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.find",{"_index":20088,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyexternaltoolid(toolid",{"_index":11060,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyid(schoolexternaltoolid",{"_index":20087,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.save(schoolexternaltool",{"_index":20100,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrule",{"_index":19507,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolexternaltoolservice.deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":20129,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.findbyid",{"_index":7077,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.schoolexternaltoolservice.findbyid(schoolexternaltoolid",{"_index":10302,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["this.schoolexternaltoolservice.findschoolexternaltools",{"_index":10282,"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":20127,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool(updated",{"_index":20130,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltooluc.createschoolexternaltool",{"_index":23477,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.deleteschoolexternaltool(currentuser.userid",{"_index":23475,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.findschoolexternaltools(currentuser.userid",{"_index":23463,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getmetadataforschoolexternaltool(currentuser.userid",{"_index":23480,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getschoolexternaltool",{"_index":23467,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.updateschoolexternaltool",{"_index":23471,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(schoolexternaltool",{"_index":20126,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(tool",{"_index":20096,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolid",{"_index":4665,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["this.schoolmigrationservice.getschoolformigration",{"_index":24104,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.hasschoolmigrateduser(schoolid",{"_index":4992,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.markunmigratedusersasoutdated(updateduserloginmigration",{"_index":4994,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.migrateschool",{"_index":24106,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.unmarkoutdatedusers(updateduserloginmigration",{"_index":19041,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.schoolname",{"_index":20171,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.schoolnumber_prefix_regex",{"_index":19818,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.schoolparameters",{"_index":19959,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.schoolrepo",{"_index":18839,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolrepo.findbyexternalid(externalid",{"_index":15466,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(id",{"_index":15465,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(schoolid",{"_index":15228,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyschoolnumber(school.officialschoolnumber",{"_index":20439,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.schoolrepo.findbyschoolnumber(schoolnumber",{"_index":15467,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.save(school",{"_index":15464,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrule.haspermission(user",{"_index":26441,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschool(params.schoolid",{"_index":26425,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschoolbyexternalid",{"_index":17770,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolservice.getschoolbyid(ldapuser.schoolid",{"_index":14413,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.schoolservice.getschoolbyid(pseudonymuser.school.id",{"_index":18507,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.schoolservice.getschoolbyid(schoolexternaltool.schoolid",{"_index":2072,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/ToolPermissionHelper.html":{}}}],["this.schoolservice.getschoolbyid(schoolid",{"_index":20966,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.getschoolbyid(user.schoolid",{"_index":20240,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber(officialschoolnumber",{"_index":16493,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["this.schoolservice.removefeature",{"_index":24056,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.removefeature(userloginmigration.schoolid",{"_index":24012,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.schoolservice.save(originalschooldo",{"_index":20237,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.save(school",{"_index":17782,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.save(schooldo",{"_index":24051,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolsystemoptionsrepo.findbyschoolidandsystemid(schoolid",{"_index":20401,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["this.schoolsystemoptionsrepo.save(schoolsystemoptions",{"_index":20405,"title":{},"body":{"injectables/SchoolSystemOptionsService.html":{}}}],["this.schoolsystemoptionsrule",{"_index":19513,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolsystemoptionsservice.findbyschoolidandsystemid(schoolid",{"_index":20415,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["this.schoolsystemoptionsservice.getprovisioningoptions",{"_index":17816,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolsystemoptionsservice.save",{"_index":20424,"title":{},"body":{"injectables/SchoolSystemOptionsUc.html":{}}}],["this.schoolsystemoptionsuc.createorupdateprovisioningoptions",{"_index":19890,"title":{},"body":{"controllers/SchoolController.html":{}}}],["this.schoolsystemoptionsuc.getprovisioningoptions",{"_index":19886,"title":{},"body":{"controllers/SchoolController.html":{}}}],["this.schooltool",{"_index":6795,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["this.schooltoolid",{"_index":6958,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["this.schooltoolref",{"_index":6702,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.schooltoolrepo.findbyexternaltoolid(toolid",{"_index":10536,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.schoolvalidationservice.validate(school",{"_index":15468,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolyear",{"_index":4731,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.schoolyearrepo.findbyid(id",{"_index":20463,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearrepo.findcurrentyear",{"_index":20462,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearservice.getcurrentschoolyear",{"_index":17777,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.scope",{"_index":8262,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/ScopeRef.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.scripts",{"_index":12598,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.searchbyusername(username",{"_index":782,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.searchuser",{"_index":15118,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.searchuserpassword",{"_index":15120,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.secret",{"_index":8179,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.secretaccesskey",{"_index":21009,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.secretvalue",{"_index":1765,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.securitycheck",{"_index":11671,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.reason",{"_index":11878,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.requesttoken",{"_index":11880,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.status",{"_index":11877,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.updatedat",{"_index":11879,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheckstatus",{"_index":7247,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.selectconfigureaction(newconfigs",{"_index":14732,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.send(doc",{"_index":22913,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.sendawarenessmessage(buff",{"_index":24786,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.sendhttpresponse(error",{"_index":12692,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.service.createteam(team",{"_index":5195,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.deleteteam(teamid",{"_index":5194,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteam(team",{"_index":5196,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteampermissionsforrole",{"_index":5190,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.setmatch(props.user",{"_index":13982,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.share",{"_index":22348,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["this.sharetokenrepo.findonebytoken(token",{"_index":20826,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokenrepo.save(sharetoken",{"_index":20825,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokens",{"_index":11673,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.sharetokenservice.createtoken(payload",{"_index":20874,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptoken(token",{"_index":20879,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptokenwithparentname(token",{"_index":20875,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenuc.createsharetoken",{"_index":20704,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.importsharetoken",{"_index":20715,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.lookupsharetoken(currentuser.userid",{"_index":20711,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.shorttitle",{"_index":7851,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.shouldskipconsent(tool",{"_index":17552,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.size",{"_index":7245,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.skip",{"_index":17909,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.skipconsent",{"_index":8206,"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":3369,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.source",{"_index":4681,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourcedescription",{"_index":7897,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourceentityid",{"_index":18869,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceentityname",{"_index":18868,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceid",{"_index":7228,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.sourceoptions",{"_index":4683,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.sourceschoolnumber",{"_index":20283,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.sourcesystem",{"_index":23933,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.sourcesystemid",{"_index":23908,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.stack",{"_index":1478,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.startdate",{"_index":7583,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["this.startedat",{"_index":23913,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.startuserloginmigrationuc.startmigration",{"_index":23879,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.state",{"_index":9611,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.statistics",{"_index":9461,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.status",{"_index":2127,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BoardTaskResponse.html":{},"classes/CopyApiResponse.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["this.statuscode",{"_index":1101,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.statustext",{"_index":2129,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.storageclient.create(previewfilepath",{"_index":18092,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.deletedirectory(path",{"_index":18145,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storageclient.get(path",{"_index":12583,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.storageclient.get(pathtofile",{"_index":18098,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.get(previewfilepath",{"_index":18153,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storagefilename",{"_index":11663,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageprovider",{"_index":11665,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageproviderrepo.findall",{"_index":9022,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.strategies",{"_index":23306,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(externaltool.config.type",{"_index":23316,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(systemstrategy",{"_index":18342,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.get(toolconfigtype",{"_index":23311,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(strategy.gettype",{"_index":18334,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.set(toolconfigtype.basic",{"_index":23307,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.lti11",{"_index":23308,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.oauth2",{"_index":23309,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategy",{"_index":5039,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.createteam(team",{"_index":5042,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.deleteteam(teamid",{"_index":5041,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteam(team",{"_index":5043,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteampermissionsforrole(this.mapper.mapdomaintoadapter(team",{"_index":5040,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.stringifiedmessage(message",{"_index":15314,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.stringifymessage(message",{"_index":15928,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["this.student",{"_index":21044,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.student.id",{"_index":21077,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.studentcount",{"_index":4735,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.students",{"_index":7787,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getidentifiers('_id",{"_index":7789,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getitems",{"_index":7600,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.students.remove((u",{"_index":7792,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.set(props.students",{"_index":7575,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.styles",{"_index":12600,"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":16314,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.submissionitemservice.create(userid",{"_index":9905,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.submissionitemservice.findbyid(submissionitemid",{"_index":21261,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemservice.update(submissionitem",{"_index":21262,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemsresponse",{"_index":21386,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["this.submissionitemuc.createelement(currentuser.userid",{"_index":4090,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.findsubmissionitems",{"_index":4076,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.updatesubmissionitem",{"_index":4082,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionrepo",{"_index":18845,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.submissionrepo.delete(submission",{"_index":21346,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findallbytaskids([taskid",{"_index":21344,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findbyid(submissionid",{"_index":21343,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrule",{"_index":19506,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.submissions",{"_index":21700,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.getitems",{"_index":21703,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.isinitialized(true",{"_index":21701,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.set(props.submissions",{"_index":21694,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissionservice.delete(submission",{"_index":21373,"title":{},"body":{"injectables/SubmissionUc.html":{},"injectables/TaskService.html":{}}}],["this.submissionservice.findallbytask(taskid",{"_index":21368,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionservice.findbyid(submissionid",{"_index":21371,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionuc.delete(currentuser.userid",{"_index":21145,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submissionuc.findallbytask(currentuser.userid",{"_index":21138,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submitted",{"_index":4129,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.submitters",{"_index":21350,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.submittingcoursegroupname",{"_index":21351,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.substitutionteachers.contains(user",{"_index":7610,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.getitems",{"_index":7606,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.remove((u",{"_index":7628,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.set(props.substitutionteachers",{"_index":7577,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.successful",{"_index":21392,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["this.successor",{"_index":4679,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.swaplinkedidsinboards(status",{"_index":3342,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.system",{"_index":10135,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{}}}],["this.systemid",{"_index":244,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.systemoidcservice.findall",{"_index":14730,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.systemrepo.delete(domainobject",{"_index":21638,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findall",{"_index":15515,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oauth",{"_index":15511,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oidc",{"_index":15513,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{}}}],["this.systemrepo.findbyfilter(type",{"_index":15514,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(id",{"_index":15506,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemdto.id",{"_index":15519,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(systemid",{"_index":15227,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.systemrepo.save(system",{"_index":15533,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrule",{"_index":19512,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.systems",{"_index":15355,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["this.systems.set(props.systems",{"_index":19934,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.systemservice.delete(system",{"_index":21650,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemservice.findbyid(systemid",{"_index":17030,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SystemUc.html":{}}}],["this.systemservice.findbytype(systemtypeenum.oauth",{"_index":24063,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.systemuc.delete(currentuser.userid",{"_index":21480,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyfilter(filterparams.type",{"_index":21470,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyid(params.systemid",{"_index":21475,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.tags",{"_index":16316,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.target",{"_index":16659,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetgroups",{"_index":16318,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.targetid",{"_index":16658,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.targetmodel",{"_index":7907,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetref",{"_index":9457,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.targetrefdomain",{"_index":9423,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetrefid",{"_index":9427,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetschoolnumber",{"_index":20284,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.targetsystem",{"_index":23935,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.targetsystemid",{"_index":14362,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.task",{"_index":21048,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.taskcopyservice.copytask",{"_index":3373,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.taskcopyuc.copytask",{"_index":21828,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskrepo",{"_index":18831,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.taskrepo.createtask(taskcopy",{"_index":21859,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.delete(task",{"_index":22165,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.findallbyparentids",{"_index":22233,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findallfinishedbyparentids",{"_index":22215,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findbyid(params.originaltaskid",{"_index":21849,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.findbyid(taskid",{"_index":21894,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrepo.findbysingleparent",{"_index":21908,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.taskrepo.findbysingleparent(creatorid",{"_index":22162,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.save(task",{"_index":21863,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrule",{"_index":19502,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.taskrule.haspermission(user",{"_index":21328,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.tasks.getitems",{"_index":6252,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.tasks.isinitialized(true",{"_index":6249,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.taskservice.delete(task",{"_index":22259,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskservice.findbyid(id",{"_index":22268,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["this.taskservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20834,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.taskservice.findbysingleparent(userid",{"_index":5804,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{}}}],["this.taskuc.changefinishedforuser(currentuser.userid",{"_index":21823,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.delete(currentuser.userid",{"_index":21830,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findall(currentuser.userid",{"_index":21817,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findallfinished(currentuser.userid",{"_index":21816,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.revertpublished(currentuser.userid",{"_index":21826,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskurlhandler",{"_index":16451,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.teacherids",{"_index":4669,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.teachernames",{"_index":4729,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["this.teachers",{"_index":4749,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["this.teachers.getitems",{"_index":7604,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.remove((u",{"_index":7626,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.set(props.teachers",{"_index":7576,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teamid",{"_index":4299,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.teammembers",{"_index":21062,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.getidentifiers('_id",{"_index":21065,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.set(props.teammembers",{"_index":21057,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teamname",{"_index":22365,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["this.teamrule",{"_index":19503,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.teamsmapper.mapentitytodto(await",{"_index":5154,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo",{"_index":18843,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.teamsrepo.findbyid(teamid",{"_index":5155,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo.findbyuserid(userid",{"_index":13857,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/TeamService.html":{}}}],["this.teamsrepo.save(teams",{"_index":22388,"title":{},"body":{"injectables/TeamService.html":{}}}],["this.teamstorageuc.updateuserpermissionsforrole(currentuser.userid",{"_index":5114,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.teamsubmissions",{"_index":21698,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.teamusers",{"_index":22280,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.text",{"_index":19092,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.throwifnotmoderator(bbbrole",{"_index":24523,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.thumbnail",{"_index":11666,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.thumbnailrequesttoken",{"_index":11669,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.timeout",{"_index":19483,"title":{},"body":{"classes/RpcMessageProducer.html":{},"todo.html":{}}}],["this.timeout(10000",{"_index":26112,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["this.timeoutms",{"_index":4334,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.timestamps",{"_index":4025,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.timetowait",{"_index":4205,"title":{},"body":{"classes/BruteForceError.html":{}}}],["this.title",{"_index":3056,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/CardResponse.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnResponse.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/ErrorResponse.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IGridElement.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["this.title.substring(0",{"_index":8529,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.tldrawboardrepo.flushdocument(docname",{"_index":22956,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawboardrepo.updatedocument(docname",{"_index":22955,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawrepo.delete(drawings",{"_index":22779,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawrepo.findbydocname(docname",{"_index":22778,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawservice.deletebydocname(urlparams.docname",{"_index":22733,"title":{},"body":{"controllers/TldrawController.html":{}}}],["this.tldrawservice.send(this",{"_index":24796,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawservice.updatehandler(update",{"_index":24783,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawwsservice.flushdocument(docname",{"_index":22819,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setpersistence",{"_index":22815,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setupwsconnection(client",{"_index":22811,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.updatedocument(docname",{"_index":22817,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.toggleuserloginmigrationuc.setmigrationmandatory",{"_index":23886,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.token",{"_index":238,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{}}}],["this.tokenendpoint",{"_index":15088,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tokenendpointauthmethod",{"_index":17092,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.tokengenerator.generatesharetoken",{"_index":20822,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.tokenurl",{"_index":15144,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tool",{"_index":19957,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.toolfeatures.backendurl",{"_index":10462,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.contextconfigurationenabled",{"_index":10226,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.toolfeatures.ctltoolstabenabled",{"_index":17517,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.toolfeatures.maxexternaltoollogosizeinbytes",{"_index":10470,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.toolstatuswithoutversions",{"_index":20095,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["this.toolid",{"_index":10640,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.toollaunchservice.generatelaunchrequest(toollaunchdata",{"_index":23334,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchservice.getlaunchdata(userid",{"_index":23333,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchuc.gettoollaunchrequest",{"_index":23221,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions",{"_index":23436,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions(userid",{"_index":7111,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{}}}],["this.toolpermissionhelper.ensureschoolpermissions(userid",{"_index":10303,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.toolreferenceservice.gettoolreference",{"_index":23435,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolreferenceuc.gettoolreference",{"_index":23383,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolreferenceuc.gettoolreferencesforcontext",{"_index":23386,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolvalidationservice.validatecreate(externaltool",{"_index":11128,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolvalidationservice.validateupdate(toolid",{"_index":11130,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolversion",{"_index":6710,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.toolversionservice.determinetoolconfigurationstatus",{"_index":23319,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{}}}],["this.toparams(config",{"_index":2391,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.total",{"_index":17886,"title":{},"body":{"classes/Page.html":{},"classes/PaginationResponse.html":{}}}],["this.tovideoconferencestateresponse(videoconferenceinfo.state",{"_index":24669,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["this.trybuildtoolreference(userid",{"_index":23429,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.tryextractmetatags(url",{"_index":16411,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryfilenameasfallback(url",{"_index":16412,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.trygetprevieworgenerate(previewfileparams",{"_index":18142,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.tryinternallinkmetatags(url",{"_index":16410,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryrollbackmigration(currentuserid",{"_index":24165,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.tryrollbackmigration(schooldocopy",{"_index":20232,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.tspuid",{"_index":4852,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["this.type",{"_index":2109,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BusinessError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ErrorResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["this.uninstallunwantedlibraries",{"_index":13504,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.uninstallunwantedlibraries(this.librarywishlist",{"_index":13518,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.unknownquerytype",{"_index":23505,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["this.until",{"_index":10095,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.untildate",{"_index":7581,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.updatecopiedembeddedtasksoflessons(status",{"_index":3340,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.updatedat",{"_index":462,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{}}}],["this.updateexistinggridelement(existing",{"_index":8741,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.updatefileurls(taskcopy",{"_index":21852,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.updateidentityprovider(configureaction.config",{"_index":14737,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updateoauth2toolconfig(toupdate",{"_index":11043,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateoauthclientorthrow(loadedoauthclient",{"_index":11069,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateorcreateidpdefaultmapper(oidcconfig.idphint",{"_index":14766,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updater",{"_index":16661,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.updatestoreddocwithdiff(docname",{"_index":22688,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.updateteamusersingroup(groupid",{"_index":16920,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.url",{"_index":7243,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["this.usecentralldap",{"_index":20177,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.user",{"_index":8619,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.userdorepo.find(query",{"_index":24324,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyexternalid(externalid",{"_index":24325,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyid(id",{"_index":24319,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyidornull(id",{"_index":24320,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.save(user",{"_index":24321,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.saveall(users",{"_index":24323,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userid",{"_index":242,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BBBJoinConfig.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["this.userids",{"_index":4668,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.userimportuc.endschoolinmaintenance(currentuser.userid",{"_index":14081,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.findallimportusers(currentuser.userid",{"_index":14058,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.removematch(currentuser.userid",{"_index":14067,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.saveallusersmatches(currentuser.userid",{"_index":14077,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.setmatch(currentuser.userid",{"_index":14063,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.startschoolinusermigration(currentuser.userid",{"_index":14079,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.updateflag(currentuser.userid",{"_index":14068,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userinfourl",{"_index":15147,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.userloginmigration",{"_index":19936,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.userloginmigration.id",{"_index":20270,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["this.userloginmigrationid",{"_index":15357,"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":24076,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(school.id",{"_index":16495,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(schoolid",{"_index":20260,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigration",{"_index":24054,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigrationdo",{"_index":24052,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrevertservice.revertuserloginmigration(updateduserloginmigration",{"_index":4993,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationrule",{"_index":19510,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.userloginmigrationservice.closemigration",{"_index":4990,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.deleteuserloginmigration(userloginmigration",{"_index":24013,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool",{"_index":4985,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyuser",{"_index":24092,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.restartmigration",{"_index":19040,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.setmigrationmandatory(userloginmigration",{"_index":22969,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.startmigration(schoolid",{"_index":20963,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationuc.finduserloginmigrationbyschool",{"_index":23876,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.getmigrations",{"_index":23870,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.migrate(jwt",{"_index":23891,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.usermatchschoolid",{"_index":20160,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.usermigrationservice.migrateuser(currentuserid",{"_index":24108,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.username",{"_index":234,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.userrepo",{"_index":18837,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.userrepo.deleteuser(userid",{"_index":24337,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyemail(email",{"_index":987,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/UserService.html":{}}}],["this.userrepo.findbyid(accountuserid",{"_index":15868,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.userrepo.findbyid(id",{"_index":24314,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyid(userid",{"_index":1998,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"injectables/LdapStrategy.html":{},"injectables/RoomsUc.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrepo.getparentemailsfromuser(userid",{"_index":24339,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.save(user",{"_index":24334,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrule",{"_index":19504,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.users",{"_index":12919,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SubmissionsResponse.html":{}}}],["this.users.find((u",{"_index":12797,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.users.push(user",{"_index":12799,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.userservice.findbyemail(email",{"_index":14425,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid",{"_index":14408,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid(externalgroupuser.externaluserid",{"_index":17841,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluser.externalid",{"_index":17789,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluserid",{"_index":16497,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyid(currentuserid",{"_index":17551,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.userservice.findbyid(loadedpseudonym.userid",{"_index":11408,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(props.userid",{"_index":5463,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.userservice.findbyid(teamuser.userid",{"_index":16939,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.userservice.findbyid(user.id",{"_index":11426,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(userid",{"_index":13858,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userservice.findusers",{"_index":20246,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.getdisplayname(user",{"_index":13859,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.userservice.save(newuser",{"_index":26417,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.userservice.save(user",{"_index":17805,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.save(userdo",{"_index":24168,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.save(userdocopy",{"_index":24170,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.saveall(migratedusers.data",{"_index":20259,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.saveall(notmigratedusers.data",{"_index":20252,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.useruc.findallunmatchedusers(currentuser.userid",{"_index":14072,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.useruc.me(currentuser.userid",{"_index":23606,"title":{},"body":{"controllers/UserController.html":{}}}],["this.useruc.patchlanguage(currentuser.userid",{"_index":23610,"title":{},"body":{"controllers/UserController.html":{}}}],["this.uuid",{"_index":13874,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.validate(props",{"_index":4663,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.validateandgetexternaltool(oauth2clientid",{"_index":11412,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatecontextexternaltools(courseid",{"_index":11418,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatelti11config(externaltool",{"_index":11171,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateoauth2config(externaltool",{"_index":11170,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateparameter(param",{"_index":6187,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.validatereordering(ids",{"_index":2980,"title":{},"body":{"entities/Board.html":{}}}],["this.validaterocketchatconfig",{"_index":1179,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.validateschoolexternaltool(course.school.id",{"_index":11417,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatestatus",{"_index":13593,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.validatesubject(currentuser",{"_index":17389,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.validatetoken(oauthtokens.idtoken",{"_index":17033,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.validateusersmatch(dashboard",{"_index":8836,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.validationerrors.push(new",{"_index":1411,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.validationerrors.reduce",{"_index":24364,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["this.validperiod",{"_index":12917,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.value",{"_index":8221,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/LtiToolDO.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.verified",{"_index":18907,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.verifyfeaturesenabled(user.schoolid",{"_index":24518,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.version",{"_index":6759,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.versionkey",{"_index":11685,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.videoconferencecreateuc.createifnotrunning(currentuser.userid",{"_index":24464,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceenduc.end(currentuser.userid",{"_index":24473,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceinfouc.getmeetinginfo(currentuser.userid",{"_index":24469,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferencejoinuc.join(currentuser.userid",{"_index":24466,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceservice.canguestjoin(isguest",{"_index":24618,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.createorupdatevideoconferenceforscopewithoptions(scope.id",{"_index":24524,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.determinebbbrole",{"_index":24521,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.determinebbbrole(userid",{"_index":24593,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.findvideoconferencebyscopeidandscope",{"_index":24622,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(currentuserid",{"_index":24519,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(userid",{"_index":24592,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.getuserroleandgueststatusbyuseridforbbb",{"_index":24634,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.hasexpertrole",{"_index":24617,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.loadscoperessources(scopeid",{"_index":24517,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.sanitizestring(`${user.firstname",{"_index":24636,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.sanitizestring(scopeinfo.title",{"_index":24528,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(schoolid",{"_index":24534,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(user.schoolid",{"_index":24591,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceuc.create(currentuser",{"_index":24574,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.end(currentuser",{"_index":24583,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.getmeetinginfo(currentuser",{"_index":24571,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.join(currentuser",{"_index":24578,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.visibilitysettings",{"_index":4468,"title":{},"body":{"classes/CardResponse.html":{}}}],["this.visitchildren(anyboarddo",{"_index":18799,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(externaltoolelement",{"_index":18794,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(linkelement",{"_index":18781,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildrenasync(card",{"_index":18711,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(column",{"_index":18709,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(columnboard",{"_index":18707,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(drawingelement",{"_index":18722,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(externaltoolelement",{"_index":18731,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(fileelement",{"_index":18714,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(linkelement",{"_index":18717,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(richtextelement",{"_index":18719,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submission",{"_index":18726,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submissioncontainerelement",{"_index":18724,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenof(card",{"_index":21410,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(column",{"_index":21411,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(columnboard",{"_index":21412,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(drawingelement",{"_index":21409,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(original",{"_index":18635,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.visitchildrenof(submissioncontainerelement",{"_index":21416,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.visitchildrenof(submissionitem",{"_index":21417,"title":{},"body":{"classes/SwapInternalLinksVisitor.html":{}}}],["this.w",{"_index":6642,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.welcome",{"_index":2188,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.write",{"_index":11813,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.xmlbuilder",{"_index":5883,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject",{"_index":5900,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject(commonobject",{"_index":5962,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["this.xpos",{"_index":8609,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.xposition",{"_index":8643,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.year",{"_index":4674,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.yearfrom",{"_index":6648,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.yearto",{"_index":6650,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.ypos",{"_index":8610,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.yposition",{"_index":8644,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.zipbuilder",{"_index":5891,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile('imsmanifest.xml",{"_index":5906,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile(props.href",{"_index":5888,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.tobufferpromise",{"_index":5908,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this['meta_bbb",{"_index":2198,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["thisobjecthasnostructure",{"_index":13183,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["those",{"_index":22520,"title":{},"body":{"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["though",{"_index":25366,"title":{},"body":{"license.html":{}}}],["thoughtbot/fishery",{"_index":563,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["thr",{"_index":17160,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["threads_enabled=false",{"_index":26351,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["three",{"_index":25284,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["thresholddate",{"_index":8970,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["thresholddate.setdate(thresholddate.getdate",{"_index":8971,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["through",{"_index":2935,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throw",{"_index":579,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GridElement.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["throwerror",{"_index":18991,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["throwifnotmoderator",{"_index":24496,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwifnotmoderator(role",{"_index":24507,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwing",{"_index":26488,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["thrown",{"_index":4967,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/GuardAgainst.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throws",{"_index":2389,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{}}}],["thumbnail",{"_index":11601,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thumbnailrequesttoken",{"_index":11602,"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":1945,"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":25013,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["time",{"_index":1749,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["timedifference",{"_index":1740,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["timeout",{"_index":4338,"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":22617,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeouterror",{"_index":22612,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor",{"_index":14337,"title":{"injectables/TimeoutInterceptor.html":{}},"body":{"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor(timeout",{"_index":14339,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["timeoutms",{"_index":4322,"title":{},"body":{"injectables/CalendarService.html":{}}}],["timeouts",{"_index":26117,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["timeoutvalue",{"_index":22613,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timer",{"_index":19643,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["times",{"_index":2235,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["timestamp",{"_index":9119,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timestamps",{"_index":2926,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["timestamps.response",{"_index":4023,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["timestampsresponse",{"_index":4019,"title":{"classes/TimestampsResponse.html":{}},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["timetowait",{"_index":1744,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["timouts",{"_index":26105,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tiny",{"_index":24961,"title":{},"body":{"dependencies.html":{}}}],["title",{"_index":155,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BoardColumnBoardResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConnectionError.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"classes/PatchGroupParams.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"entities/TeamNews.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"index.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["title(title",{"_index":4359,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{}}}],["title(value",{"_index":15798,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["titlea",{"_index":8514,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titleb",{"_index":8516,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titlemap",{"_index":5534,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["titlesmap",{"_index":3687,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["titlesmap[id",{"_index":5627,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["tldraw",{"_index":22719,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{}}}],["tldraw.params",{"_index":22728,"title":{},"body":{"controllers/TldrawController.html":{}}}],["tldraw_db_collection_name",{"_index":22702,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_flush_size",{"_index":22703,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_multiple_collections",{"_index":22704,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_url",{"_index":12655,"title":{},"body":{"interfaces/GlobalConstants.html":{},"modules/TldrawModule.html":{}}}],["tldraw_gc_enabled",{"_index":22705,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_ping_timeout",{"_index":22706,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawboardrepo",{"_index":22625,"title":{"injectables/TldrawBoardRepo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawclientmodule",{"_index":22694,"title":{"modules/TldrawClientModule.html":{}},"body":{"modules/TldrawClientModule.html":{}}}],["tldrawconfig",{"_index":22661,"title":{"interfaces/TldrawConfig.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["tldrawconnectionstring",{"_index":22707,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawcontroller",{"_index":22717,"title":{"controllers/TldrawController.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["tldrawdeleteparams",{"_index":22722,"title":{"classes/TldrawDeleteParams.html":{}},"body":{"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["tldrawdrawing",{"_index":22736,"title":{"entities/TldrawDrawing.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{}}}],["tldrawdrawingprops",{"_index":22746,"title":{"interfaces/TldrawDrawingProps.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["tldrawmodule",{"_index":22754,"title":{"modules/TldrawModule.html":{}},"body":{"modules/TldrawModule.html":{}}}],["tldrawrepo",{"_index":22758,"title":{"injectables/TldrawRepo.html":{}},"body":{"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{}}}],["tldrawservice",{"_index":22726,"title":{"injectables/TldrawService.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawtestmodule",{"_index":22780,"title":{"modules/TldrawTestModule.html":{}},"body":{"modules/TldrawTestModule.html":{}}}],["tldrawws",{"_index":22790,"title":{"classes/TldrawWs.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawwsfactory",{"_index":22823,"title":{"classes/TldrawWsFactory.html":{}},"body":{"classes/TldrawWsFactory.html":{}}}],["tldrawwsmodule",{"_index":22784,"title":{"modules/TldrawWsModule.html":{}},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{}}}],["tldrawwsservice",{"_index":22785,"title":{"injectables/TldrawWsService.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawwstestmodule",{"_index":22957,"title":{"modules/TldrawWsTestModule.html":{}},"body":{"modules/TldrawWsTestModule.html":{}}}],["tls",{"_index":9032,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["tmp/config/users",{"_index":26291,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms",{"_index":26300,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"powershell",{"_index":26262,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"setup",{"_index":26263,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"to",{"_index":25708,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["tmpdirpath",{"_index":12168,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["toarray",{"_index":5828,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/DatabaseManagementService.html":{}}}],["toboardid",{"_index":16568,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["tocardid",{"_index":16572,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["tocolumnid",{"_index":16562,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["todo",{"_index":1829,"title":{"todo.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/DashboardRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/ToolConfiguration.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["todos",{"_index":26476,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["together",{"_index":12497,"title":{},"body":{"classes/FilterNewsParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["toggleuserloginmigrationuc",{"_index":22962,"title":{"injectables/ToggleUserLoginMigrationUc.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["tojson",{"_index":2094,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["token",{"_index":176,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"controllers/FileSecurityController.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/JwtExtractor.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/ShareToken.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TokenGenerator.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["token.'})@apiresponse({status",{"_index":20680,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.body.params.ts",{"_index":20655,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:13",{"_index":20664,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:21",{"_index":20662,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:32",{"_index":20660,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:41",{"_index":20667,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.controller",{"_index":20914,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.controller.ts",{"_index":20674,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:40",{"_index":20682,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:67",{"_index":20696,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:86",{"_index":20692,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.do",{"_index":16475,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["token.do.factory.ts",{"_index":20733,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.factory.ts:9",{"_index":20736,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.ts",{"_index":20720,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:27",{"_index":20726,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:29",{"_index":20725,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:31",{"_index":20723,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:33",{"_index":20721,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.dto.ts",{"_index":17059,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:2",{"_index":17062,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:4",{"_index":17063,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:6",{"_index":17061,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.entity",{"_index":20783,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.entity.ts",{"_index":20640,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["token.entity.ts:19",{"_index":20648,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:22",{"_index":20646,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:25",{"_index":20642,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:32",{"_index":20644,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:35",{"_index":20641,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:43",{"_index":20645,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.repo",{"_index":20821,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.repo.ts",{"_index":20774,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:13",{"_index":20777,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:9",{"_index":20781,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.request.ts",{"_index":1494,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:10",{"_index":1503,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:12",{"_index":1499,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:4",{"_index":1500,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:6",{"_index":1501,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:8",{"_index":1504,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.response.ts",{"_index":17666,"title":{},"body":{"interfaces/OauthTokenResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["token.response.ts:12",{"_index":20797,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:15",{"_index":20796,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:18",{"_index":20795,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:4",{"_index":20794,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.service",{"_index":17387,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["token.service.ts",{"_index":13838,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:13",{"_index":13844,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:16",{"_index":20812,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:21",{"_index":13848,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:25",{"_index":20816,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:42",{"_index":13846,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:50",{"_index":20819,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:52",{"_index":13850,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:70",{"_index":20814,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.ts",{"_index":12932,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{}}}],["token.uc.ts",{"_index":20836,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:132",{"_index":20851,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:140",{"_index":20852,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:151",{"_index":20854,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:167",{"_index":20850,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:193",{"_index":20844,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:205",{"_index":20846,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:226",{"_index":20862,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:232",{"_index":20848,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:25",{"_index":20842,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:40",{"_index":20856,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:68",{"_index":20860,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:90",{"_index":20858,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.url.params.ts",{"_index":20905,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token.url.params.ts:11",{"_index":20907,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token_endpoint_auth_method",{"_index":11089,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["token_type",{"_index":14345,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["token_use",{"_index":14346,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["tokenauthmethod",{"_index":17179,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokendto",{"_index":17050,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.accesstoken",{"_index":17082,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.idtoken",{"_index":17081,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokenendpoint",{"_index":13715,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["tokenendpointauthmethod",{"_index":8307,"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":8325,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["tokengenerator",{"_index":20811,"title":{"injectables/TokenGenerator.html":{}},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/TokenGenerator.html":{}}}],["tokenrequestloggableexception",{"_index":17129,"title":{"classes/TokenRequestLoggableException.html":{}},"body":{"injectables/OauthAdapterService.html":{},"classes/TokenRequestLoggableException.html":{}}}],["tokenrequestloggableexception(error",{"_index":17142,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["tokenrequestmapper",{"_index":17025,"title":{"classes/TokenRequestMapper.html":{}},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["tokenrequestmapper.createauthenticationcodegranttokenrequestpayload",{"_index":17057,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestmapper.maptokenresponsetodto(responsetoken",{"_index":17051,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestpayload",{"_index":17056,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokens",{"_index":17172,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokenurl",{"_index":15152,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["tomorrow",{"_index":13533,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["took",{"_index":20254,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["tool",{"_index":2698,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SortExternalToolParams.html":{},"classes/TldrawWs.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tool'})@apifoundresponse({description",{"_index":23030,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tool'})@apiokresponse({description",{"_index":23373,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tool'})@isstring()@isoptional",{"_index":10991,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["tool.'})@apiokresponse({description",{"_index":23161,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool.config",{"_index":17557,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.config.clientid",{"_index":11052,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.config.skipconsent",{"_index":17558,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.do.ts",{"_index":6684,"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":6695,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:23",{"_index":19940,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:24",{"_index":6691,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:25",{"_index":19944,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:26",{"_index":6692,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:27",{"_index":19942,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:28",{"_index":6693,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:29",{"_index":19941,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:30",{"_index":6690,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:31",{"_index":19945,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:33",{"_index":10151,"title":{},"body":{"classes/ExternalTool.html":{},"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:35",{"_index":10154,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:37",{"_index":10150,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:39",{"_index":10149,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:41",{"_index":6697,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{}}}],["tool.do.ts:43",{"_index":10153,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:45",{"_index":10148,"title":{},"body":{"classes/ExternalTool.html":{},"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:47",{"_index":10152,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:49",{"_index":10155,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:51",{"_index":10147,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:76",{"_index":10156,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:80",{"_index":10158,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:84",{"_index":10162,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:88",{"_index":10160,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.entity",{"_index":10350,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool.entity.ts",{"_index":6780,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool.entity.ts:14",{"_index":10369,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:17",{"_index":10373,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:20",{"_index":10367,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:23",{"_index":10366,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:24",{"_index":6789,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:26",{"_index":10364,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:27",{"_index":6782,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:29",{"_index":10371,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:30",{"_index":6784,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:32",{"_index":10365,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:33",{"_index":6785,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:35",{"_index":10370,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:36",{"_index":6787,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:38",{"_index":10374,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:39",{"_index":6790,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:41",{"_index":10372,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.factory.ts",{"_index":6803,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:100",{"_index":10402,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:107",{"_index":10401,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:29",{"_index":17108,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["tool.factory.ts:65",{"_index":8305,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["tool.factory.ts:8",{"_index":19965,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:86",{"_index":10404,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:9",{"_index":6806,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["tool.factory.ts:93",{"_index":10403,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.id",{"_index":10223,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["tool.ishidden",{"_index":10221,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tool.logo",{"_index":10485,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["tool.module",{"_index":23014,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool.module.ts",{"_index":6082,"title":{},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/LtiToolModule.html":{},"modules/SchoolExternalToolModule.html":{}}}],["tool.name",{"_index":11057,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.oauthclientid",{"_index":13694,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.repo.mapper.ts",{"_index":10732,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:109",{"_index":10744,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:116",{"_index":10765,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:125",{"_index":10761,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:138",{"_index":10757,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:156",{"_index":10749,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:17",{"_index":10759,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:174",{"_index":10755,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:184",{"_index":10752,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:49",{"_index":10747,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:56",{"_index":10768,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:65",{"_index":10763,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:78",{"_index":10758,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.ts",{"_index":6850,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:128",{"_index":6875,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:139",{"_index":6873,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:15",{"_index":10708,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:17",{"_index":6857,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:20",{"_index":10719,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:22",{"_index":6885,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:24",{"_index":10713,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:26",{"_index":6866,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:33",{"_index":6868,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:42",{"_index":10715,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:43",{"_index":20014,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:44",{"_index":6864,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:48",{"_index":20015,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:51",{"_index":10710,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:57",{"_index":20011,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:66",{"_index":6871,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:84",{"_index":6860,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.response",{"_index":7036,"title":{},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{}}}],["tool.response.ts",{"_index":6946,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:10",{"_index":6955,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:11",{"_index":10927,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:13",{"_index":6949,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:14",{"_index":10931,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:16",{"_index":6950,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:17",{"_index":10926,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:19",{"_index":6951,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:20",{"_index":10923,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:22",{"_index":6954,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:23",{"_index":10929,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:25",{"_index":6956,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:26",{"_index":10925,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:28",{"_index":6948,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:29",{"_index":10928,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:32",{"_index":10932,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:35",{"_index":10920,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:7",{"_index":6952,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:8",{"_index":10924,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.rule.ts",{"_index":6999,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:12",{"_index":7002,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:18",{"_index":7001,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:9",{"_index":7000,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.scope",{"_index":6891,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.scope.ts",{"_index":7006,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:12",{"_index":10981,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:13",{"_index":20065,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:15",{"_index":7027,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:19",{"_index":10983,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:22",{"_index":7021,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:30",{"_index":7023,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:5",{"_index":10985,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:6",{"_index":20064,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:7",{"_index":7025,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.secret",{"_index":13695,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.service",{"_index":7133,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["tool.service.ts",{"_index":6088,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{},"injectables/LtiToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:100",{"_index":11019,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:105",{"_index":11014,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:120",{"_index":11026,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:13",{"_index":20074,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:133",{"_index":11030,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:14",{"_index":7046,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:145",{"_index":11010,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:15",{"_index":6094,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:18",{"_index":11008,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:21",{"_index":20082,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:22",{"_index":7060,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:26",{"_index":20084,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:28",{"_index":7058,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:30",{"_index":11012,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:34",{"_index":7056,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:36",{"_index":20080,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:40",{"_index":6101,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:44",{"_index":6097,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:46",{"_index":7050,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{}}}],["tool.service.ts:53",{"_index":11021,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:56",{"_index":7052,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:6",{"_index":16204,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:60",{"_index":7054,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:68",{"_index":7048,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:80",{"_index":11015,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:85",{"_index":20076,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:89",{"_index":20086,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:9",{"_index":16206,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:95",{"_index":11017,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.skipconsent",{"_index":17556,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.types",{"_index":6888,"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":7083,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:105",{"_index":20120,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:106",{"_index":7101,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:120",{"_index":7099,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:129",{"_index":7097,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:16",{"_index":20110,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:18",{"_index":11112,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:22",{"_index":7091,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:25",{"_index":20118,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:27",{"_index":11114,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:31",{"_index":7093,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:36",{"_index":20112,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:40",{"_index":11125,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:53",{"_index":20115,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:61",{"_index":7103,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:65",{"_index":20114,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:72",{"_index":11121,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:77",{"_index":20122,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:79",{"_index":11116,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:85",{"_index":20124,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:86",{"_index":11123,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:95",{"_index":11118,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:97",{"_index":7095,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/context",{"_index":6827,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["tool/controller",{"_index":23006,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/controller/domain/school",{"_index":19946,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["tool/controller/dto",{"_index":6848,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/dto/context",{"_index":6762,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/custom",{"_index":8293,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{}}}],["tool/controller/dto/request/config/basic",{"_index":2718,"title":{},"body":{"classes/BasicToolConfigParams.html":{}}}],["tool/controller/dto/request/config/external",{"_index":10178,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["tool/controller/dto/request/config/lti11",{"_index":16045,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/config/oauth2",{"_index":17096,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/context",{"_index":6814,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{}}}],["tool/controller/dto/request/custom",{"_index":8362,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["tool/controller/dto/request/external",{"_index":10310,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SortExternalToolParams.html":{}}}],["tool/controller/dto/request/school",{"_index":19972,"title":{},"body":{"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{}}}],["tool/controller/dto/response/config/basic",{"_index":2728,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/external",{"_index":10184,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/lti11",{"_index":16064,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/oauth2",{"_index":17109,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["tool/controller/dto/response/context",{"_index":6734,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/custom",{"_index":8385,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["tool/controller/dto/response/external",{"_index":10520,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/response/school",{"_index":19952,"title":{},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/tool",{"_index":23137,"title":{},"body":{"classes/ToolContextTypesListResponse.html":{}}}],["tool/controller/dto/school",{"_index":19948,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["tool/controller/dto/tool",{"_index":23389,"title":{},"body":{"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["tool/controller/tool",{"_index":23007,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/tool.controller.ts",{"_index":23138,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:104",{"_index":23158,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:123",{"_index":23171,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:145",{"_index":23151,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:163",{"_index":23163,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:179",{"_index":23167,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:56",{"_index":23144,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:76",{"_index":23155,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/domain",{"_index":2008,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/domain/config/basic",{"_index":2697,"title":{},"body":{"classes/BasicToolConfig.html":{}}}],["tool/domain/config/external",{"_index":10176,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["tool/domain/config/lti11",{"_index":16036,"title":{},"body":{"classes/Lti11ToolConfig.html":{}}}],["tool/domain/config/oauth2",{"_index":17086,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["tool/domain/context",{"_index":6683,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{}}}],["tool/domain/external",{"_index":10142,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolMetadata.html":{},"interfaces/ExternalToolProps.html":{}}}],["tool/domain/school",{"_index":19938,"title":{},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadata.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["tool/domain/tool",{"_index":23357,"title":{},"body":{"classes/ToolReference.html":{}}}],["tool/entity",{"_index":6792,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolContextMapper.html":{}}}],["tool/entity/config/basic",{"_index":2709,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["tool/entity/config/external",{"_index":10181,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["tool/entity/config/lti11",{"_index":16057,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["tool/entity/config/oauth2",{"_index":17104,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["tool/entity/context",{"_index":6779,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool/entity/custom",{"_index":8271,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["tool/entity/external",{"_index":10360,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool/entity/school",{"_index":19954,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool/external",{"_index":10554,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["tool/loggable/external",{"_index":10414,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["tool/lti",{"_index":16152,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["tool/mapper",{"_index":23010,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/mapper/context",{"_index":6925,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["tool/mapper/external",{"_index":10513,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["tool/mapper/school",{"_index":19977,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["tool/mapper/tool",{"_index":23062,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["tool/school",{"_index":19995,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["tool/service",{"_index":7062,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/service/context",{"_index":6713,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["tool/service/external",{"_index":10188,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["tool/service/lti",{"_index":16202,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool/service/restricted",{"_index":19044,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["tool/service/school",{"_index":19984,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["tool/service/tool",{"_index":23303,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["tool/uc",{"_index":23009,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/uc/context",{"_index":7082,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/uc/dto/context",{"_index":6887,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool/uc/dto/school",{"_index":20020,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool/uc/external",{"_index":10249,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool/uc/school",{"_index":20103,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool/uc/tool",{"_index":23415,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tool1",{"_index":6102,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool1.getversion",{"_index":6112,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2",{"_index":6100,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2.getversion",{"_index":6113,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool_clientid_duplicate",{"_index":11185,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientid_immutable",{"_index":11181,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientsecret_missing",{"_index":11183,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_param_auto_requires_global",{"_index":10598,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_regex",{"_index":10608,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_required",{"_index":10595,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_duplicate",{"_index":6176,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regex_invalid",{"_index":10605,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regexcomment",{"_index":10602,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_required",{"_index":6193,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_type_mismatch",{"_index":6196,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_unknown",{"_index":6184,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_value_regex",{"_index":6201,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_secret_missing",{"_index":11186,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_status_outdated",{"_index":23484,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["tool_type_immutable",{"_index":11177,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_version_mismatch",{"_index":20141,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["tool_with_name_exists",{"_index":7149,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["toolapimodule",{"_index":20578,"title":{"modules/ToolApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{}}}],["toolconfigmodule",{"_index":6823,"title":{"modules/ToolConfigModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolModule.html":{}}}],["toolconfigtype",{"_index":2703,"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":2706,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtype.lti11",{"_index":8332,"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":8328,"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":23250,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping[configtype",{"_index":23258,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfiguration",{"_index":13803,"title":{"classes/ToolConfiguration.html":{}},"body":{"interfaces/IToolFeatures.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolconfiguration.toolfeatures",{"_index":23015,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["toolconfigurationcontroller",{"_index":23001,"title":{"controllers/ToolConfigurationController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper",{"_index":23041,"title":{"classes/ToolConfigurationMapper.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":23055,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":23061,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":23051,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":23058,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":23049,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolcontextcontroller",{"_index":23003,"title":{"controllers/ToolContextController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["toolcontextmapper",{"_index":10534,"title":{"classes/ToolContextMapper.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["toolcontextmapper.contextmapping[contexttype",{"_index":10540,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["toolcontexttype",{"_index":2035,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonToolService.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/FeathersRosterService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttype.board_element",{"_index":2043,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["toolcontexttype.course",{"_index":2040,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttypes",{"_index":10246,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolcontexttypeslistresponse",{"_index":23039,"title":{"classes/ToolContextTypesListResponse.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{}}}],["toolcontexttypeslistresponse(toolcontexttypes",{"_index":23090,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolcontroller",{"_index":23005,"title":{"controllers/ToolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["toolfeatures",{"_index":10199,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["toolid",{"_index":10447,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolidsinuse",{"_index":10210,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["toolidsinuse.includes(tool.id",{"_index":10224,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolinfo",{"_index":23074,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos",{"_index":23071,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos.map",{"_index":23086,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["tooling",{"_index":26125,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["toollaunchcontroller",{"_index":23000,"title":{"controllers/ToolLaunchController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["toollaunchdata",{"_index":2778,"title":{"classes/ToolLaunchData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchdatado",{"_index":2783,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchdatatype",{"_index":23227,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.basic",{"_index":23251,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.lti11",{"_index":23252,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.oauth2",{"_index":23253,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping",{"_index":23254,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping[launchdatatype",{"_index":23259,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchmapper",{"_index":23217,"title":{"classes/ToolLaunchMapper.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoolconfigtype(toollaunchdata.type",{"_index":23310,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoollaunchrequestresponse(toollaunchrequest",{"_index":23222,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchmodule",{"_index":23260,"title":{"modules/ToolLaunchModule.html":{}},"body":{"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["toollaunchparams",{"_index":2755,"title":{"classes/ToolLaunchParams.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchrequest",{"_index":2788,"title":{"classes/ToolLaunchRequest.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchrequestresponse",{"_index":23218,"title":{"classes/ToolLaunchRequestResponse.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["toollaunchrequestresponse})@apiunauthorizedresponse({description",{"_index":23211,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchservice",{"_index":23265,"title":{"injectables/ToolLaunchService.html":{}},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchstrategy",{"_index":23305,"title":{"interfaces/ToolLaunchStrategy.html":{}},"body":{"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchuc",{"_index":22998,"title":{"injectables/ToolLaunchUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["toolmodule",{"_index":1934,"title":{"modules/ToolModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["toolpermissionhelper",{"_index":7090,"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":10236,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolref.externaltool.ishidden",{"_index":10238,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolreference",{"_index":6973,"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":6992,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.displayname",{"_index":6993,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.logourl",{"_index":6994,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreference.openinnewtab",{"_index":6996,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.status",{"_index":23366,"title":{},"body":{"classes/ToolReference.html":{}}}],["toolreferencecontroller",{"_index":23004,"title":{"controllers/ToolReferenceController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse",{"_index":23380,"title":{"classes/ToolReferenceListResponse.html":{}},"body":{"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{}}}],["toolreferencelistresponse(toolreferenceresponses",{"_index":23388,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse})@apiforbiddenresponse({description",{"_index":23378,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencemapper",{"_index":23391,"title":{"classes/ToolReferenceMapper.html":{}},"body":{"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreferencemapper.maptotoolreference",{"_index":23414,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["toolreferenceresponse",{"_index":6975,"title":{"classes/ToolReferenceResponse.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.contexttoolid",{"_index":23406,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.displayname",{"_index":23408,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.logourl",{"_index":23407,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.openinnewtab",{"_index":23409,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.status",{"_index":23410,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponses",{"_index":6988,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferenceresponse})@apiforbiddenresponse({description",{"_index":23374,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferences",{"_index":6978,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferences.map((toolreference",{"_index":6989,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolreferenceservice",{"_index":6826,"title":{"injectables/ToolReferenceService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreferencespromises",{"_index":23428,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull",{"_index":23430,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull.filter",{"_index":23433,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceuc",{"_index":22999,"title":{"injectables/ToolReferenceUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["tools",{"_index":6794,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["tools')@apiforbiddenresponse()@apioperation({summary",{"_index":23020,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools.data",{"_index":11053,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.data.map",{"_index":23182,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools.data.map(async",{"_index":11048,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.filter((tool",{"_index":7126,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tools.map(async",{"_index":10306,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tools.total",{"_index":23184,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/:contextexternaltoolid",{"_index":23382,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid')@apioperation({summary",{"_index":23372,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid/configuration",{"_index":23028,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/:schoolexternaltoolid/configuration",{"_index":23034,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/context",{"_index":23092,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["tools/external",{"_index":23139,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/school",{"_index":23438,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["tools/tool",{"_index":23368,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/{id}/logo",{"_index":10292,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["toolschoolcontroller",{"_index":23002,"title":{"controllers/ToolSchoolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["toolstatusoutdatedloggableexception",{"_index":23304,"title":{"classes/ToolStatusOutdatedLoggableException.html":{}},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["toolstatusresponsemapper",{"_index":6979,"title":{"classes/ToolStatusResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(toolreference.status",{"_index":6997,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolstatuswithoutversions",{"_index":13801,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["toolswithpermission",{"_index":7122,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["toolswithschooltool",{"_index":10230,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolswithschooltool.filter",{"_index":10235,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tooltemplateinfo.externaltool",{"_index":10300,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["tooltemplateinfo.externaltool.logourl",{"_index":10301,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["toolvalidationservice",{"_index":11111,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["toolversion",{"_index":6099,"title":{"interfaces/ToolVersion.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/ToolVersion.html":{}}}],["toolversionservice",{"_index":6092,"title":{"injectables/ToolVersionService.html":{}},"body":{"injectables/CommonToolService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["toomanypseudonymsloggableexception",{"_index":22989,"title":{"classes/TooManyPseudonymsLoggableException.html":{}},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["toomodule",{"_index":1940,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["top",{"_index":21899,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["toparams",{"_index":2332,"title":{},"body":{"injectables/BBBService.html":{}}}],["toparams(object",{"_index":2371,"title":{},"body":{"injectables/BBBService.html":{}}}],["topic",{"_index":26305,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["topics\\/([0",{"_index":15733,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["toplevel",{"_index":14710,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["toposition",{"_index":4434,"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":5238,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["tostring",{"_index":996,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["total",{"_index":863,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BaseDORepo.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["total.length",{"_index":24238,"title":{},"body":{"injectables/UserRepo.html":{}}}],["total[0].count",{"_index":24239,"title":{},"body":{"injectables/UserRepo.html":{}}}],["totalitems",{"_index":13144,"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":13161,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["touching",{"_index":26454,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["toupdate",{"_index":11024,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{}}}],["toupdate.config",{"_index":11066,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.config.clientid",{"_index":11068,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.name",{"_index":11065,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdateoauthclient",{"_index":11029,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tovideoconferenceinforesponse",{"_index":24650,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceinforesponse(videoconferenceinfo",{"_index":24654,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse",{"_index":24651,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse(videoconferencejoin",{"_index":24656,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions",{"_index":24652,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions(params",{"_index":24658,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse",{"_index":24653,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse(state",{"_index":24660,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["trace",{"_index":13772,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["trade",{"_index":25385,"title":{},"body":{"license.html":{}}}],["trademark",{"_index":25384,"title":{},"body":{"license.html":{}}}],["trademarks",{"_index":25386,"title":{},"body":{"license.html":{}}}],["transaction",{"_index":25345,"title":{},"body":{"license.html":{}}}],["transfer",{"_index":4944,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["transferred",{"_index":25347,"title":{},"body":{"license.html":{}}}],["transferring",{"_index":25436,"title":{},"body":{"license.html":{}}}],["transform",{"_index":1211,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["transform(value",{"_index":1227,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["transform:true",{"_index":12731,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transformer",{"_index":1232,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FilesStorageMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"dependencies.html":{}}}],["transformoptions",{"_index":12729,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transient",{"_index":515,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["transient(transient",{"_index":572,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["transition",{"_index":26302,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["transitioning",{"_index":26004,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["translate",{"_index":24996,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["transmission",{"_index":25309,"title":{},"body":{"license.html":{}}}],["transparent",{"_index":20977,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["transports",{"_index":15904,"title":{},"body":{"modules/LoggerModule.html":{}}}],["trash",{"_index":19555,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["trd",{"_index":9371,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["treated",{"_index":416,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["treating",{"_index":26210,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["treaty",{"_index":25219,"title":{},"body":{"license.html":{}}}],["trial",{"_index":2837,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["tries",{"_index":26060,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["trigger",{"_index":9129,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["triggerdeletionexecution",{"_index":9151,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(limit",{"_index":9194,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(options",{"_index":9154,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["triggerdeletionexecutionoptions",{"_index":9155,"title":{"interfaces/TriggerDeletionExecutionOptions.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["triggerdeletionexecutionoptionsbuilder",{"_index":23494,"title":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["trim",{"_index":14284,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"injectables/UserRepo.html":{}}}],["trivial",{"_index":25829,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["true",{"_index":195,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"injectables/BoardDoRule.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DoBaseFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"modules/S3ClientModule.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["true})@apiproperty({description",{"_index":4440,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{}}}],["true})@apiproperty({oneof",{"_index":23506,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["true})@apiproperty({required",{"_index":6333,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["true})@apipropertyoptional({enum",{"_index":10323,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["true})@enum",{"_index":21519,"title":{},"body":{"entities/SystemEntity.html":{}}}],["true})@index",{"_index":4645,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["true})@index({options",{"_index":9251,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["true})@isarray()@isoptional()@apipropertyoptional({type",{"_index":6841,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["true})@ismongoid",{"_index":24744,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["true})@isoptional()@apiproperty({description",{"_index":6280,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["true})@isoptional()@apipropertyoptional({required",{"_index":8011,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["true})@isoptional()@isenum(filtermatchtype",{"_index":12483,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@singlevaluetoarraytransformer()@isarray",{"_index":12484,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@type(undefined",{"_index":19686,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisResponse.html":{}}}],["true})@unique({options",{"_index":7535,"title":{},"body":{"entities/Course.html":{},"entities/ImportUser.html":{},"entities/LtiTool.html":{}}}],["try",{"_index":629,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["trybuildtoolreference",{"_index":23418,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["trybuildtoolreference(userid",{"_index":23426,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tryextractmetatags",{"_index":16384,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryextractmetatags(url",{"_index":16397,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback",{"_index":16385,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback(url",{"_index":16399,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfindbyid",{"_index":13060,"title":{},"body":{"injectables/GroupService.html":{}}}],["tryfindbyid(id",{"_index":13073,"title":{},"body":{"injectables/GroupService.html":{}}}],["trygetprevieworgenerate",{"_index":18123,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trygetprevieworgenerate(params",{"_index":18134,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trying",{"_index":6251,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["tryinternallinkmetatags",{"_index":16386,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryinternallinkmetatags(url",{"_index":16401,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryrollbackmigration",{"_index":20202,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(currentuserid",{"_index":24159,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(originalschooldo",{"_index":20222,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ts",{"_index":1072,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ImportUserScope.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tspuid",{"_index":4693,"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":20597,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["turned",{"_index":22814,"title":{},"body":{"classes/TldrawWs.html":{}}}],["tvalue",{"_index":13933,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["two",{"_index":13528,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typ",{"_index":14451,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/SanisGruppeResponse.html":{}}}],["type",{"_index":32,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseProvisioningOptions.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"injectables/DashboardElementRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/IProvisioningFeatures.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningConfiguration.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningOptionsEntity.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningOptionsParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolSystemOptions.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"classes/SchoolSystemOptionsMapper.html":{},"interfaces/SchoolSystemOptionsProps.html":{},"injectables/SchoolSystemOptionsRepo.html":{},"classes/SchoolSystemOptionsRepoMapper.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsService.html":{},"injectables/SchoolSystemOptionsUc.html":{},"classes/SchoolSystemParams.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/SchulConneXProvisioningOptionsParams.html":{},"classes/SchulConneXProvisioningOptionsResponse.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SwapInternalLinksVisitor.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["type']?.tostring",{"_index":11549,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["type.enum",{"_index":1507,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/CacheService.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/JwtValidationAdapter.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["type.factory.ts",{"_index":18583,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.factory.ts:11",{"_index":18587,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.includes(bn.type",{"_index":3616,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["type.interface.ts",{"_index":10040,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["type.loggable",{"_index":18291,"title":{},"body":{"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{}}}],["type.mapper.ts",{"_index":16469,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.mapper.ts:6",{"_index":16473,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.response",{"_index":12981,"title":{},"body":{"classes/GroupResponse.html":{}}}],["typecheckers",{"_index":6117,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["typedefinitions",{"_index":25874,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["typemapping",{"_index":10872,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/GroupResponseMapper.html":{}}}],["typemapping[customparameterdo.type",{"_index":10975,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["typemapping[customparameterparam.type",{"_index":10913,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["typemapping[resolvedgroup.type",{"_index":13019,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["typeof",{"_index":1675,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"injectables/CardUc.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/Scope.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"injectables/SystemRule.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["types",{"_index":134,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AuthorizableObject.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"classes/FilesStorageMapper.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"classes/H5PContentMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/Path.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RoleReference.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"interfaces/UrlHandler.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["types')@apiforbiddenresponse()@apioperation({summary",{"_index":23037,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["types.get(type",{"_index":12399,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(filerecordparenttype.boardnode",{"_index":12397,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.course",{"_index":12388,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.lesson",{"_index":12393,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.school",{"_index":12391,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.submission",{"_index":12395,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.task",{"_index":12386,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.user",{"_index":12389,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(h5pcontentparenttype.lesson",{"_index":13191,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["types.set(sharetokencontexttype.school",{"_index":20671,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["types.set(sharetokenparenttype.course",{"_index":16476,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.lesson",{"_index":20762,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.task",{"_index":20763,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.ts",{"_index":13197,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["types.ts:12",{"_index":16213,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:14",{"_index":16212,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:16",{"_index":16217,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:18",{"_index":16209,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:20",{"_index":16210,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:22",{"_index":16211,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:24",{"_index":16214,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:26",{"_index":16215,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:28",{"_index":16216,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:30",{"_index":16208,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types/board",{"_index":3920,"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":24835,"title":{},"body":{"dependencies.html":{}}}],["types/connect",{"_index":24837,"title":{},"body":{"dependencies.html":{}}}],["types/connection",{"_index":24775,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["types/copy.types",{"_index":7399,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["types/entity",{"_index":21677,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/gm",{"_index":24839,"title":{},"body":{"dependencies.html":{}}}],["types/ldapjs",{"_index":24841,"title":{},"body":{"dependencies.html":{}}}],["types/news.types",{"_index":7874,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["types/redis",{"_index":24843,"title":{},"body":{"dependencies.html":{}}}],["types/room",{"_index":9757,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["types/task.types",{"_index":21678,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/xml2js",{"_index":24845,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":1089,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typical",{"_index":25328,"title":{},"body":{"license.html":{}}}],["typing",{"_index":11349,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["u",{"_index":559,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["u.id",{"_index":7624,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["u.userid",{"_index":2688,"title":{},"body":{"classes/BaseUc.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["u.userid.id",{"_index":22387,"title":{},"body":{"injectables/TeamService.html":{}}}],["ubername",{"_index":15742,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["uc",{"_index":3036,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/FileSecurityController.html":{},"modules/FilesModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.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/SchoolController.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["uc.mapper.ts",{"_index":13085,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:12",{"_index":13095,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:32",{"_index":13090,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:50",{"_index":13098,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.ts",{"_index":25928,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["uc/account.uc",{"_index":283,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["uc/board",{"_index":3815,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["uc/collaborative",{"_index":5105,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["uc/course",{"_index":7646,"title":{},"body":{"controllers/CourseController.html":{},"controllers/RoomsController.html":{}}}],["uc/course.uc",{"_index":7649,"title":{},"body":{"controllers/CourseController.html":{}}}],["uc/dashboard.uc",{"_index":8417,"title":{},"body":{"controllers/DashboardController.html":{}}}],["uc/database",{"_index":8856,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["uc/dto",{"_index":1725,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["uc/dto/class",{"_index":4748,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["uc/dto/context",{"_index":6935,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"controllers/ToolContextController.html":{}}}],["uc/dto/school",{"_index":20035,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{}}}],["uc/dto/user.dto",{"_index":24312,"title":{},"body":{"injectables/UserService.html":{}}}],["uc/element.uc",{"_index":3037,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["uc/fwu",{"_index":12531,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["uc/h5p.uc",{"_index":13299,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["uc/interface",{"_index":2881,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["uc/keycloak",{"_index":4894,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["uc/lesson",{"_index":19401,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/login.uc",{"_index":1490,"title":{},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["uc/news.uc",{"_index":16616,"title":{},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["uc/oauth",{"_index":17447,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["uc/rooms.uc",{"_index":19402,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/submission",{"_index":3038,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["uc/system.uc",{"_index":21462,"title":{},"body":{"controllers/SystemController.html":{}}}],["uc/task",{"_index":21807,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/task.uc",{"_index":21808,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/user",{"_index":14046,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["ucs",{"_index":15271,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["ui",{"_index":24958,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["ui_locales",{"_index":17698,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["ui_use_real_name=true",{"_index":26350,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["uid",{"_index":13988,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uid=(.+?),/i",{"_index":13987,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uid=[^,]*${escapedloginname",{"_index":14296,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs",{"_index":14091,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["uid=loginname",{"_index":13985,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uint8array",{"_index":22648,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["uint8array(message",{"_index":22938,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["uk",{"_index":23557,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["um",{"_index":5551,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unable",{"_index":3364,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["unambiguous",{"_index":1395,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["unarchivegroup(groupname",{"_index":1122,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["unauthorized",{"_index":23220,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized'})@apiforbiddenresponse({description",{"_index":23212,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized_exception",{"_index":23499,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception",{"_index":1984,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/TaskUC.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception('insufficient",{"_index":11335,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('missing",{"_index":11329,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('no",{"_index":17084,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["unauthorizedexception('unauthorized",{"_index":14484,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["unauthorizedexception('user",{"_index":15191,"title":{},"body":{"injectables/LdapService.html":{}}}],["unauthorizedexception(`school",{"_index":15231,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["unauthorizedexception})@apiresponse({status",{"_index":16342,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["unauthorizedloggableexception",{"_index":1721,"title":{"classes/UnauthorizedLoggableException.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedloggableexception(username",{"_index":1729,"title":{},"body":{"injectables/AuthenticationService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["und",{"_index":5569,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["undefined",{"_index":125,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/AuthenticationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"interfaces/CopyFiles.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DrawingElementContentBody.html":{},"classes/ErrorUtils.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/File.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/GetFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponse-1.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSystemOptionsBuilder.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/WsSharedDocDo.html":{}}}],["undefined})@apiproperty({oneof",{"_index":10315,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["undefined})@apiresponse({status",{"_index":4050,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ElementController.html":{}}}],["undefined})@apiunauthorizedresponse()@apiforbiddenresponse()@apiunprocessableentityresponse()@apinotfoundresponse()@apiextramodels(schulconnexprovisioningoptionsresponse",{"_index":19866,"title":{},"body":{"controllers/SchoolController.html":{}}}],["undefined})@isarray({groups",{"_index":19712,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@isboolean()@isoptional",{"_index":24476,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["undefined})@property({nullable",{"_index":11831,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["undefined})@type(undefined",{"_index":6842,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["undefined})@userequestcontext",{"_index":12337,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["undefined})@validatenested({each",{"_index":19713,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@validatenested({groups",{"_index":19716,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["under",{"_index":24986,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["understand",{"_index":26041,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["unexpected",{"_index":26115,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unfamiliar",{"_index":26051,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unhandled",{"_index":9963,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["unicode",{"_index":795,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["uninstallunwantedlibraries",{"_index":13439,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["uninstallunwantedlibraries(wantedlibraries",{"_index":13450,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["unique",{"_index":219,"title":{},"body":{"entities/Account.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ErrorResponse.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolSystemOptionsEntity.html":{},"interfaces/SchoolSystemOptionsEntityProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["unique()@property",{"_index":10368,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["uniqueids",{"_index":21739,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniqueids.length",{"_index":21742,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniquemember",{"_index":15138,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uniquememberids",{"_index":21081,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["uniquenames",{"_index":6172,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquenames.size",{"_index":6174,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquepermissions",{"_index":19210,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["unit",{"_index":25676,"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":26204,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["universal",{"_index":24963,"title":{},"body":{"dependencies.html":{}}}],["unknown",{"_index":158,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardRepo.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyService.html":{},"injectables/DatabaseManagementService.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoggingUtils.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NewsUc.html":{},"injectables/OauthAdapterService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["unknown.loggable.ts",{"_index":13031,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:4",{"_index":13034,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:7",{"_index":13036,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknownerror",{"_index":12696,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["unknownquerytype",{"_index":23503,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unknownquerytypeloggableexception",{"_index":23500,"title":{"classes/UnknownQueryTypeLoggableException.html":{}},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unless",{"_index":25334,"title":{},"body":{"license.html":{}}}],["unlimited",{"_index":370,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["unmarkfordelete",{"_index":11888,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["unmarkoutdatedusers",{"_index":20203,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmarkoutdatedusers(userloginmigration",{"_index":20225,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmodified",{"_index":25125,"title":{},"body":{"license.html":{}}}],["unnecessary",{"_index":25207,"title":{},"body":{"license.html":{}}}],["unnessasary",{"_index":23352,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["unpacking",{"_index":25362,"title":{},"body":{"license.html":{}}}],["unprocessable_entity_exception",{"_index":19050,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["unprocessableentityexception",{"_index":6435,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["unprocessableentityexception('cannot",{"_index":9897,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["unprocessableentityexception(`could",{"_index":11056,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`the",{"_index":11072,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`unknown",{"_index":10776,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["unprocessableentityexception(errortype.preview_not_possible",{"_index":18147,"title":{},"body":{"injectables/PreviewService.html":{}}}],["unpublish",{"_index":5608,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["unpublished",{"_index":8072,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["unreachable",{"_index":986,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["unresponsive",{"_index":19649,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uns",{"_index":5583,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unsafe",{"_index":1091,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"injectables/FilesStorageProducer.html":{},"classes/ImportUserFactory.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["unsupported",{"_index":4032,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["unter",{"_index":5587,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["until",{"_index":9648,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"license.html":{}}}],["untildate",{"_index":7515,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{}}}],["untildateinfuture",{"_index":7943,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["unused",{"_index":2060,"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":10234,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unusedtools.filter",{"_index":10237,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unwanted",{"_index":22081,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["up",{"_index":18221,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ShareTokenController.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["update",{"_index":3237,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SubmissionItemService.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["update(deletionrequest",{"_index":9499,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["update(deletionrequesttoupdate",{"_index":9548,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["update(element",{"_index":6466,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update(id",{"_index":16817,"title":{},"body":{"injectables/NewsUc.html":{}}}],["update(submissionitem",{"_index":21234,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["update(urlparams",{"_index":16609,"title":{},"body":{"controllers/NewsController.html":{}}}],["update.params.ts",{"_index":11141,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["update.params.ts:16",{"_index":22261,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:17",{"_index":11143,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:21",{"_index":11146,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:22",{"_index":16073,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:25",{"_index":22264,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:26",{"_index":11150,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:27",{"_index":16072,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:31",{"_index":11145,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:33",{"_index":22265,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:35",{"_index":16071,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:36",{"_index":17112,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:39",{"_index":16070,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:40",{"_index":17111,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:41",{"_index":22262,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:44",{"_index":17113,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:49",{"_index":22260,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:52",{"_index":11142,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:57",{"_index":22263,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:59",{"_index":11148,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:63",{"_index":11144,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:67",{"_index":11147,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:73",{"_index":11149,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.visitor",{"_index":6471,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update.visitor.ts",{"_index":6485,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:105",{"_index":6501,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:109",{"_index":6495,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:118",{"_index":6490,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:30",{"_index":6488,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:36",{"_index":6493,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:40",{"_index":6492,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:44",{"_index":6491,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:48",{"_index":6496,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:57",{"_index":6497,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:78",{"_index":6498,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:87",{"_index":6494,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:95",{"_index":6499,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["updateaccount",{"_index":13912,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccount(accountid",{"_index":13938,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccount(id",{"_index":14873,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountbyid",{"_index":322,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountbyid(currentuser",{"_index":378,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountpassword",{"_index":13913,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountpassword(accountid",{"_index":13940,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccountpassword(id",{"_index":14875,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateboard",{"_index":19422,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboard(board",{"_index":19427,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboardtitle",{"_index":3209,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["updateboardtitle(urlparams",{"_index":3234,"title":{},"body":{"controllers/BoardController.html":{}}}],["updateboardtitle(userid",{"_index":4152,"title":{},"body":{"injectables/BoardUc.html":{}}}],["updatecardheight",{"_index":4371,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardheight(urlparams",{"_index":4394,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardheight(userid",{"_index":4552,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecardtitle",{"_index":4372,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardtitle(urlparams",{"_index":4398,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardtitle(userid",{"_index":4554,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecolumntitle",{"_index":5636,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["updatecolumntitle(urlparams",{"_index":5652,"title":{},"body":{"controllers/ColumnController.html":{}}}],["updatecolumntitle(userid",{"_index":5714,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["updatecontextexternaltool",{"_index":7088,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(currentuser",{"_index":23111,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(userid",{"_index":7102,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["updatecopiedembeddedtasksoflessons",{"_index":3281,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatecopiedembeddedtasksoflessons(boardstatus",{"_index":3313,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updated",{"_index":360,"title":{},"body":{"controllers/AccountController.html":{},"controllers/CollaborativeStorageController.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/WsSharedDocDo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["updated.'})@apiresponse({status",{"_index":386,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatedat",{"_index":431,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"injectables/CourseUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["updatedclasses",{"_index":4826,"title":{},"body":{"injectables/ClassService.html":{}}}],["updatedclasses.length",{"_index":4830,"title":{},"body":{"injectables/ClassService.html":{}}}],["updateddomainobject",{"_index":4880,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedelements",{"_index":3393,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatedentity",{"_index":4882,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedfilerecords",{"_index":12367,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["updatedlessons",{"_index":15716,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedlessons.length",{"_index":15721,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedmodel",{"_index":8740,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updatedocument",{"_index":22634,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedocument(docname",{"_index":22642,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedtool",{"_index":7118,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updateduserloginmigration",{"_index":4989,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["updateduserloginmigration.id",{"_index":19043,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["updateelement",{"_index":9837,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelement(urlparams",{"_index":9851,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelementcontent",{"_index":9874,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontent(userid",{"_index":9882,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontentbodyparams",{"_index":9652,"title":{"classes/UpdateElementContentBodyParams.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["updateexecutionrequest",{"_index":14707,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateexistinggridelement",{"_index":8696,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistinggridelement(elementmodel",{"_index":8718,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexternaltool",{"_index":11002,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["updateexternaltool(currentuser",{"_index":23168,"title":{},"body":{"controllers/ToolController.html":{}}}],["updateexternaltool(toupdate",{"_index":11022,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateexternaltool(userid",{"_index":11124,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["updatefileurls",{"_index":21835,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updatefileurls(task",{"_index":21847,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updateflag",{"_index":14010,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflag(urlparams",{"_index":14035,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflagparams",{"_index":14036,"title":{"classes/UpdateFlagParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateFlagParams.html":{}}}],["updatehandler",{"_index":22847,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updatehandler(update",{"_index":22869,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updateheight",{"_index":4480,"title":{},"body":{"injectables/CardService.html":{}}}],["updateheight(card",{"_index":4499,"title":{},"body":{"injectables/CardService.html":{}}}],["updateidentityprovider",{"_index":14632,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateidentityprovider(oidcconfig",{"_index":14666,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updatelasttriedfailedlogin",{"_index":21,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["updatelasttriedfailedlogin(accountid",{"_index":81,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updatelasttriedfailedlogin(id",{"_index":1710,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["updatemany",{"_index":4855,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatemany(classes",{"_index":4860,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatematchparams",{"_index":14028,"title":{"classes/UpdateMatchParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateMatchParams.html":{}}}],["updatemyaccount",{"_index":323,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(@currentuser",{"_index":419,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(currentuser",{"_index":382,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatenewsparams",{"_index":16610,"title":{"classes/UpdateNewsParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"classes/UpdateNewsParams.html":{}}}],["updateoauth2client",{"_index":17339,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["updateoauth2client(currentuser",{"_index":17350,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["updateoauth2client(id",{"_index":17620,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["updateoauth2toolconfig",{"_index":11003,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauth2toolconfig(toupdate",{"_index":11025,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow",{"_index":11004,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow(loadedoauthclient",{"_index":11027,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateorcreateidpdefaultmapper",{"_index":14633,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateorcreateidpdefaultmapper(idpalias",{"_index":14668,"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":6480,"title":{},"body":{"injectables/ContentElementService.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updaterid",{"_index":7889,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updates",{"_index":356,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"license.html":{}}}],["updateschoolexternaltool",{"_index":20108,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(currentuser",{"_index":23457,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(userid",{"_index":20123,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["updatesecuritycheckstatus(status",{"_index":11876,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["updatesecuritystatus",{"_index":12065,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(@body",{"_index":12084,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(scanresultdto",{"_index":12070,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatestoreddocwithdiff",{"_index":22635,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatestoreddocwithdiff(docname",{"_index":22646,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatesubmissionitem",{"_index":4043,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitem(currentuser",{"_index":4059,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["updatesubmissionitem(userid",{"_index":21251,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitembodyparams",{"_index":4060,"title":{"classes/UpdateSubmissionItemBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["updateteam",{"_index":5009,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteam(team",{"_index":5023,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole",{"_index":5010,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(currentuser",{"_index":5088,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["updateteampermissionsforrole(currentuserid",{"_index":5142,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["updateteampermissionsforrole(dto",{"_index":5171,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(team",{"_index":5025,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["updateteamusersingroup",{"_index":16880,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updateteamusersingroup(groupid",{"_index":16900,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updatetitle",{"_index":4481,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{}}}],["updatetitle(board",{"_index":5528,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["updatetitle(card",{"_index":4501,"title":{},"body":{"injectables/CardService.html":{}}}],["updatetitle(column",{"_index":5697,"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":5175,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updateuserpermissionsforrole(currentuserid",{"_index":5182,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updatevisibilityofboardelement",{"_index":19446,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updatevisibilityofboardelement(roomid",{"_index":19453,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updating",{"_index":2473,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CreateNews.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/INewsScope.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/UpdateNewsParams.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["updator/creator",{"_index":16732,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["upload",{"_index":19565,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["upload.done",{"_index":19588,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uploadedfiles",{"_index":13294,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["upper",{"_index":15831,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["uppercase",{"_index":25945,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["uppercase_snake_case",{"_index":1397,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["uri",{"_index":1060,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["url",{"_index":110,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/BBBJoinResponse.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardUrlHandler.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LegacySystemService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskUrlHandler.html":{},"classes/TldrawWs.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["url('/admin/api/v1/deletionexecutions",{"_index":9106,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url('/admin/api/v1/deletionrequests",{"_index":9103,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url(`${api_version_path}${newpath",{"_index":1348,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url(params.logouturl).origin",{"_index":24458,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["url(this.baseurl",{"_index":2429,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url(this.content.url).tostring",{"_index":6520,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["url(this.logouturl).origin",{"_index":14353,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url(url",{"_index":154,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["url(value",{"_index":15797,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["url.body.params",{"_index":16346,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["url.body.params.ts",{"_index":12650,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.body.params.ts:10",{"_index":12652,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.de",{"_index":16460,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.href",{"_index":1350,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url.length",{"_index":16408,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["url.loggable",{"_index":14350,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url.pathname",{"_index":2430,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.search",{"_index":2432,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.service",{"_index":16363,"title":{},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{}}}],["url.service.ts",{"_index":16439,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:20",{"_index":16449,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:27",{"_index":16448,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:34",{"_index":16446,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:9",{"_index":16444,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tolowercase().includes(domain.tolowercase",{"_index":16462,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tostring",{"_index":2433,"title":{},"body":{"injectables/BBBService.html":{}}}],["urlencoded",{"_index":14851,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["urlencodedpayload",{"_index":17134,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["urlhandler",{"_index":4184,"title":{"interfaces/UrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["urlobject",{"_index":152,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["urlobject.pathname",{"_index":16466,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["urlparamkeys",{"_index":14696,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["urlparams",{"_index":3220,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{}}}],["urlparams.boardid",{"_index":3253,"title":{},"body":{"controllers/BoardController.html":{}}}],["urlparams.cardid",{"_index":4418,"title":{},"body":{"controllers/CardController.html":{}}}],["urlparams.columnid",{"_index":5661,"title":{},"body":{"controllers/ColumnController.html":{}}}],["urlparams.contentelementid",{"_index":9860,"title":{},"body":{"controllers/ElementController.html":{}}}],["urlparams.dashboardid",{"_index":8431,"title":{},"body":{"controllers/DashboardController.html":{}}}],["urlparams.elementid",{"_index":19409,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.importuserid",{"_index":14064,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["urlparams.lessonid",{"_index":15566,"title":{},"body":{"controllers/LessonController.html":{},"controllers/RoomsController.html":{}}}],["urlparams.newsid",{"_index":16633,"title":{},"body":{"controllers/NewsController.html":{}}}],["urlparams.roomid",{"_index":19408,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.submissioncontainerid",{"_index":4078,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.submissionid",{"_index":21146,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["urlparams.submissionitemid",{"_index":4083,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.taskid",{"_index":21824,"title":{},"body":{"controllers/TaskController.html":{}}}],["urlparams.teamid",{"_index":22333,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["urlparams.token",{"_index":20712,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["urls",{"_index":12603,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthClientBody.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["urlsafe",{"_index":24966,"title":{},"body":{"dependencies.html":{}}}],["urlsearchparams",{"_index":2353,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["urlstripped",{"_index":22820,"title":{},"body":{"classes/TldrawWs.html":{}}}],["usable",{"_index":20665,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["usage",{"_index":4824,"title":{},"body":{"injectables/ClassService.html":{},"classes/ExternalToolRepoMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["use",{"_index":412,"title":{},"body":{"controllers/AccountController.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CommonToolService.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DomainObjectFactory.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"interfaces/LibrariesContentType.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["use_stream_to_antivirus",{"_index":12091,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["usecase",{"_index":25848,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usecases",{"_index":25886,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["usecentralldap",{"_index":14032,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["useclass",{"_index":10031,"title":{},"body":{"modules/ErrorModule.html":{},"modules/IdentityManagementModule.html":{},"modules/InterceptorModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ValidationModule.html":{}}}],["used",{"_index":72,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/ConsentResponse.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"interfaces/ILegacyLogger.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"controllers/SystemController.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usedglobals",{"_index":12658,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["usedobuilder(builder",{"_index":3942,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["useexisting",{"_index":5080,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["usefactory",{"_index":686,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"modules/CacheWrapperModule.html":{},"modules/EncryptionModule.html":{},"modules/InterceptorModule.html":{},"modules/LoggerModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RedisModule.html":{},"modules/S3ClientModule.html":{}}}],["useful",{"_index":25597,"title":{},"body":{"license.html":{}}}],["useguards",{"_index":9206,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/LoginController.html":{}}}],["useguards(authguard('api",{"_index":9209,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["useguards(authguard('ldap",{"_index":15955,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('local",{"_index":15961,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('oauth2",{"_index":15965,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('ldap')@apioperation({summary",{"_index":15935,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('local')@apioperation({summary",{"_index":15942,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('oauth2')@apioperation({summary",{"_index":15947,"title":{},"body":{"controllers/LoginController.html":{}}}],["useinterceptors",{"_index":13295,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["user",{"_index":290,"title":{"entities/User.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ExternalGroupDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"classes/GroupScope.html":{},"injectables/GroupService.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RedirectResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/SchoolSystemOptionsUc.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"injectables/SystemRule.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["user's",{"_index":17403,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["user'})@isboolean",{"_index":23510,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["user'})@ismongoid",{"_index":23513,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["user(params",{"_index":26416,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(s",{"_index":26387,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(value",{"_index":22291,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["user.'})@apiresponse({status",{"_index":359,"title":{},"body":{"controllers/AccountController.html":{},"controllers/GroupController.html":{}}}],["user._id",{"_index":14280,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["user._id.$oid",{"_index":15011,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.accountid",{"_index":1732,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["user.attribute",{"_index":14779,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["user.attributes",{"_index":14917,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.attributes[attributename",{"_index":14918,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.birthday",{"_index":17800,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user.business",{"_index":23574,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user.cancreaterestricted",{"_index":13212,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.caninstallrecommended",{"_index":13214,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.canupdateandinstalllibraries",{"_index":13216,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.controller",{"_index":14191,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["user.controller.ts",{"_index":14001,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:100",{"_index":14026,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:105",{"_index":14034,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:113",{"_index":14013,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:30",{"_index":14016,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:48",{"_index":14030,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:60",{"_index":14023,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:71",{"_index":14038,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:83",{"_index":14019,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.createdat",{"_index":19017,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.createdtimestamp",{"_index":14923,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.do",{"_index":19163,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["user.do.ts",{"_index":19125,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user.do.ts:14",{"_index":19127,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:18",{"_index":19129,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:22",{"_index":19131,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:26",{"_index":19133,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:30",{"_index":19134,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:34",{"_index":19135,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.dto",{"_index":10089,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{}}}],["user.dto.ts",{"_index":10097,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:10",{"_index":11260,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:12",{"_index":11262,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:14",{"_index":11259,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:4",{"_index":10100,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:6",{"_index":10099,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:8",{"_index":11261,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.email",{"_index":13217,"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":7553,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RocketChatUserFactory.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["user.entity.factory.ts",{"_index":19154,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user.entity.ts",{"_index":13125,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user.entity.ts:102",{"_index":13966,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:109",{"_index":13959,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:112",{"_index":13953,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:13",{"_index":13128,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:16",{"_index":13127,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:20",{"_index":19145,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:24",{"_index":19144,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:28",{"_index":19143,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:31",{"_index":19142,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:54",{"_index":13963,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:57",{"_index":13964,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:60",{"_index":13955,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:76",{"_index":13951,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:79",{"_index":13952,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:82",{"_index":13954,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:88",{"_index":13949,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:91",{"_index":13961,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:94",{"_index":13948,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.externalid",{"_index":14429,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/UserDto.html":{}}}],["user.externalidtoken",{"_index":15968,"title":{},"body":{"controllers/LoginController.html":{}}}],["user.factory",{"_index":698,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["user.factory.ts",{"_index":14084,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.factory.ts:10",{"_index":14086,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.firstname",{"_index":3469,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{}}}],["user.forcepasswordchange",{"_index":23758,"title":{},"body":{"classes/UserDto.html":{}}}],["user.id",{"_index":578,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedUserMapper.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["user.interface",{"_index":15004,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.interface.ts",{"_index":14435,"title":{},"body":{"interfaces/JsonUser.html":{}}}],["user.language",{"_index":23757,"title":{},"body":{"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.lastloginsystemchange",{"_index":16499,"title":{},"body":{"injectables/MigrationCheckService.html":{},"classes/UserDto.html":{}}}],["user.lastname",{"_index":3470,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["user.ldapdn",{"_index":23756,"title":{},"body":{"classes/UserDto.html":{}}}],["user.mapper",{"_index":14041,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.mapper.ts",{"_index":8104,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:18",{"_index":19161,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:19",{"_index":14121,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:20",{"_index":8116,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:34",{"_index":14123,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:41",{"_index":8112,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:5",{"_index":19014,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:51",{"_index":14120,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:53",{"_index":8110,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:6",{"_index":19160,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:9",{"_index":8119,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.module",{"_index":23593,"title":{},"body":{"modules/UserApiModule.html":{}}}],["user.module.ts",{"_index":19177,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.name",{"_index":13218,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.outdatedsince",{"_index":20251,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserDto.html":{}}}],["user.params",{"_index":24127,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.params.ts",{"_index":12471,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/SortImportUserParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.params.ts:12",{"_index":12504,"title":{},"body":{"classes/FilterUserParams.html":{}}}],["user.params.ts:21",{"_index":12477,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:27",{"_index":12480,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:33",{"_index":12481,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:40",{"_index":12485,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:45",{"_index":12479,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:54",{"_index":12475,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:59",{"_index":12488,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.parents?.map((parent",{"_index":24258,"title":{},"body":{"injectables/UserRepo.html":{}}}],["user.permissions",{"_index":11293,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.preferences",{"_index":23759,"title":{},"body":{"classes/UserDto.html":{}}}],["user.repo.ts",{"_index":19181,"title":{},"body":{"injectables/RocketChatUserRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.repo.ts:12",{"_index":19185,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:16",{"_index":19184,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:26",{"_index":19183,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:9",{"_index":19182,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.resolvepermissions",{"_index":1823,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.response",{"_index":12982,"title":{},"body":{"classes/GroupResponse.html":{}}}],["user.response.ts",{"_index":13131,"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":19025,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:12",{"_index":13136,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:14",{"_index":19027,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:15",{"_index":13133,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:17",{"_index":19026,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:20",{"_index":19024,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:23",{"_index":19031,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:25",{"_index":14242,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:26",{"_index":19029,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:29",{"_index":19028,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:31",{"_index":14244,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:32",{"_index":19030,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:37",{"_index":14240,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:43",{"_index":14243,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:50",{"_index":14246,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:53",{"_index":14239,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:56",{"_index":14245,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:6",{"_index":13135,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:61",{"_index":14241,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:64",{"_index":14097,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["user.response.ts:7",{"_index":14238,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:9",{"_index":13134,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role",{"_index":13137,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role.name",{"_index":13025,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.roleids",{"_index":23755,"title":{},"body":{"classes/UserDto.html":{}}}],["user.roles",{"_index":17797,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{}}}],["user.roles.getitems",{"_index":23609,"title":{},"body":{"controllers/UserController.html":{}}}],["user.roles.getitems().map((role",{"_index":8122,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.getitems(true",{"_index":24132,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.roles.isinitialized(true",{"_index":17966,"title":{},"body":{"injectables/PermissionService.html":{}}}],["user.roles.map((roleref",{"_index":8125,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.some",{"_index":24329,"title":{},"body":{"injectables/UserService.html":{}}}],["user.roles.some((role",{"_index":11441,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user.school",{"_index":7704,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["user.school.id",{"_index":7003,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"classes/CurrentUserMapper.html":{},"injectables/GroupRule.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolSystemOptionsRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["user.school.schoolyear?.enddate",{"_index":7707,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.schoolyear?.startdate",{"_index":7706,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.systems.getidentifiers().includes(domainobject.id",{"_index":21627,"title":{},"body":{"injectables/SystemRule.html":{}}}],["user.school.systems.getidentifiers().includes(domainobject.systemid",{"_index":20390,"title":{},"body":{"injectables/SchoolSystemOptionsRule.html":{}}}],["user.school.tostring",{"_index":19021,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.schoolid",{"_index":5474,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/CurrentUserMapper.html":{},"injectables/IdTokenService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{}}}],["user.schoolid.tostring",{"_index":11291,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.scope",{"_index":23671,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user.service",{"_index":19179,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.service.ts",{"_index":19190,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:10",{"_index":19194,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:16",{"_index":19193,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:7",{"_index":19192,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.ts",{"_index":13119,"title":{},"body":{"classes/GroupUser.html":{},"interfaces/OauthCurrentUser.html":{},"classes/ResolvedGroupUser.html":{}}}],["user.ts:4",{"_index":13121,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:5",{"_index":19010,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.ts:6",{"_index":13120,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:7",{"_index":19009,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.type",{"_index":13219,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.uc.ts",{"_index":25951,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.updatedat",{"_index":19019,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.url.params.ts",{"_index":14305,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.url.params.ts:11",{"_index":14306,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.user.firstname",{"_index":13026,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.id",{"_index":13024,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.lastname",{"_index":13027,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.userid",{"_index":12798,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/UserLoginMigrationController.html":{}}}],["user.username",{"_index":14922,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{}}}],["user.userroleenum",{"_index":21258,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["user/account",{"_index":14480,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["user/domain/rocket",{"_index":19124,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user/entity/rocket",{"_index":19141,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user/entity/testing/rocket",{"_index":19153,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user/import",{"_index":14002,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user/repo/mapper/rocket",{"_index":19159,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user/repo/rocket",{"_index":19180,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user/rocketchat",{"_index":19176,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user/service/rocket",{"_index":19189,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user?.id",{"_index":17843,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user_already_assigned_to_import_user_error",{"_index":23577,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user_id",{"_index":2298,"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":23791,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["user_login_migration_database_operation_failed",{"_index":24148,"title":{},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["user_login_migration_grace_period_expired",{"_index":23941,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["user_login_migration_not_found",{"_index":23973,"title":{},"body":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["useralreadyassignedtoimportusererror",{"_index":23572,"title":{"classes/UserAlreadyAssignedToImportUserError.html":{}},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["userandaccountparams",{"_index":705,"title":{"interfaces/UserAndAccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory",{"_index":706,"title":{"classes/UserAndAccountTestFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory.buildaccount(user",{"_index":718,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userapimodule",{"_index":20581,"title":{"modules/UserApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserApiModule.html":{}}}],["userattributenamemapping",{"_index":15129,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userboardrole",{"_index":3719,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.editor",{"_index":3723,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.reader",{"_index":3724,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.userroleenum",{"_index":3721,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardroles",{"_index":3435,"title":{"interfaces/UserBoardRoles.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["userconfig",{"_index":20505,"title":{"interfaces/UserConfig.html":{}},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["usercontroller",{"_index":23592,"title":{"controllers/UserController.html":{}},"body":{"modules/UserApiModule.html":{},"controllers/UserController.html":{}}}],["usercount",{"_index":15006,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["userdata",{"_index":11392,"title":{"interfaces/UserData.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userdataresponse",{"_index":21216,"title":{"classes/UserDataResponse.html":{}},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{},"classes/UserDataResponse.html":{}}}],["userdo",{"_index":8114,"title":{"classes/UserDO.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupUser.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userdo.email",{"_index":14378,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.externalid",{"_index":14379,"title":{},"body":{"classes/IservMapper.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.firstname",{"_index":14376,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.lastloginsystemchange",{"_index":24075,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.lastname",{"_index":14377,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.previousexternalid",{"_index":24167,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocopy",{"_index":24160,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocument",{"_index":24251,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments",{"_index":24248,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments.map((userdocument",{"_index":24249,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdofactory",{"_index":23729,"title":{"classes/UserDoFactory.html":{}},"body":{"classes/UserDoFactory.html":{}}}],["userdofactory.define(userdo",{"_index":23734,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["userdorepo",{"_index":23651,"title":{"injectables/UserDORepo.html":{}},"body":{"injectables/UserDORepo.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["userdto",{"_index":23737,"title":{"classes/UserDto.html":{}},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["userentity",{"_index":23681,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userentitys",{"_index":23691,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userentitys.find((user",{"_index":23693,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userequestcontext",{"_index":12349,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["userfactory",{"_index":697,"title":{"classes/UserFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["userfactory.build",{"_index":21163,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["userfactory.buildlistwithid(numberofstudents",{"_index":7769,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["userfactory.buildlistwithid(numberofteachers",{"_index":7770,"title":{},"body":{"classes/CourseFactory.html":{}}}],["userfactory.buildlistwithid(numberofteammembers",{"_index":21160,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["userfactory.buildwithid",{"_index":21159,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TeamUserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["userfactory.define(user",{"_index":23778,"title":{},"body":{"classes/UserFactory.html":{}}}],["userforgroupnotfoundloggable",{"_index":17768,"title":{"classes/UserForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["userforgroupnotfoundloggable(externalgroupuser",{"_index":17846,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["usergroup",{"_index":11403,"title":{"interfaces/UserGroup.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usergroups",{"_index":11402,"title":{"interfaces/UserGroups.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userid",{"_index":39,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardService.html":{},"injectables/DashboardUc.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupUser.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LocalStrategy.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolSystemOptionsUc.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateMatchParams.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["userid(value",{"_index":21178,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["userid).buildwithid",{"_index":22307,"title":{},"body":{"classes/TeamFactory.html":{}}}],["userid)?.userroleenum",{"_index":2689,"title":{},"body":{"classes/BaseUc.html":{}}}],["userid.tohexstring",{"_index":4772,"title":{},"body":{"classes/ClassMapper.html":{}}}],["userid.tostring",{"_index":11302,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["userid1",{"_index":4637,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["userid?.tostring",{"_index":1000,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["userids",{"_index":62,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{}}}],["userids'})@index",{"_index":7781,"title":{},"body":{"entities/CourseGroup.html":{}}}],["userids.map((id",{"_index":775,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["userimportuc",{"_index":14045,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["userinfo",{"_index":16012,"title":{},"body":{"injectables/LoginUc.html":{},"classes/SystemEntityFactory.html":{}}}],["userinfo.token.claim",{"_index":14783,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["userinfomapper",{"_index":16681,"title":{"classes/UserInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/UserInfoMapper.html":{}}}],["userinfomapper.maptoresponse(news.creator",{"_index":16684,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinfomapper.maptoresponse(news.updater",{"_index":16698,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinforesponse",{"_index":16652,"title":{"classes/UserInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{}}}],["userinfourl",{"_index":15153,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["userjwt",{"_index":24087,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userlist",{"_index":14071,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userlist.map((user",{"_index":14073,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userloginmigration",{"_index":4984,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigration.closedat",{"_index":16501,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigration.finishedat",{"_index":20257,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat.gettime",{"_index":24062,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.id",{"_index":20964,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.mandatorysince",{"_index":24055,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.school",{"_index":19910,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["userloginmigration.schoolid",{"_index":20247,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.startedat",{"_index":16500,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.targetsystemid",{"_index":24096,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationalreadyclosedloggableexception",{"_index":20960,"title":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception(userloginmigration.closedat",{"_index":20965,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiokresponse({description",{"_index":23846,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiunprocessableentityresponse({description",{"_index":23811,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationapimodule",{"_index":20579,"title":{"modules/UserLoginMigrationApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["userloginmigrationcontroller",{"_index":23797,"title":{"controllers/UserLoginMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationdo",{"_index":4982,"title":{"classes/UserLoginMigrationDO.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationentity",{"_index":15402,"title":{"entities/UserLoginMigrationEntity.html":{}},"body":{"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception",{"_index":23856,"title":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apinotfoundresponse({description",{"_index":23813,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiokresponse({description",{"_index":23839,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiunprocessableentityresponse({description",{"_index":23845,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationid",{"_index":15331,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationmandatoryloggable",{"_index":22968,"title":{"classes/UserLoginMigrationMandatoryLoggable.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["userloginmigrationmandatoryloggable(userid",{"_index":22971,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationmandatoryparams",{"_index":23843,"title":{"classes/UserLoginMigrationMandatoryParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["userloginmigrationmapper",{"_index":23857,"title":{"classes/UserLoginMigrationMapper.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["userloginmigrationmapper.mapsearchparamstoquery(params",{"_index":23868,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(migrationdto",{"_index":23881,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(userloginmigration",{"_index":23873,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmodule",{"_index":17310,"title":{"modules/UserLoginMigrationModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["userloginmigrationnotfoundloggableexception",{"_index":4983,"title":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["userloginmigrationnotfoundloggableexception(schoolid",{"_index":4986,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiokresponse({description",{"_index":23814,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiunprocessableentityresponse({description",{"_index":23835,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationprops",{"_index":23990,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationquery",{"_index":23858,"title":{"interfaces/UserLoginMigrationQuery.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationrepo",{"_index":16485,"title":{"injectables/UserLoginMigrationRepo.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationresponse",{"_index":23859,"title":{"classes/UserLoginMigrationResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationresponse})@apiforbiddenresponse",{"_index":23852,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apinotfoundresponse({description",{"_index":23821,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse",{"_index":23840,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apinocontentresponse({description",{"_index":23815,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationrevertservice",{"_index":4977,"title":{"injectables/UserLoginMigrationRevertService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["userloginmigrationrule",{"_index":1879,"title":{"injectables/UserLoginMigrationRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["userloginmigrations",{"_index":23820,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchlistresponse",{"_index":23860,"title":{"classes/UserLoginMigrationSearchListResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationsearchlistresponse})@apiinternalservererrorresponse({description",{"_index":23827,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchparams",{"_index":23824,"title":{"classes/UserLoginMigrationSearchParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["userloginmigrationservice",{"_index":4975,"title":{"injectables/UserLoginMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationstartloggable",{"_index":19038,"title":{"classes/UserLoginMigrationStartLoggable.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationstartloggable(userid",{"_index":19042,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["userloginmigrationuc",{"_index":23796,"title":{"injectables/UserLoginMigrationUc.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["usermapper",{"_index":24111,"title":{"classes/UserMapper.html":{}},"body":{"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["usermapper.mapfromentitytodto(userentity",{"_index":24315,"title":{},"body":{"injectables/UserService.html":{}}}],["usermatches",{"_index":14233,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["usermatchlistresponse",{"_index":14050,"title":{"classes/UserMatchListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchlistresponse(dtolist",{"_index":14075,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper",{"_index":14042,"title":{"classes/UserMatchMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["usermatchmapper.maptodomain(scope",{"_index":14070,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper.maptoresponse(user",{"_index":14074,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["usermatchresponse",{"_index":14099,"title":{"classes/UserMatchResponse.html":{}},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchschoolid",{"_index":20158,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["usermetadata",{"_index":11409,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermetdata",{"_index":11401,"title":{"interfaces/UserMetdata.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception",{"_index":24146,"title":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception(currentuserid",{"_index":24166,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["usermigrationdto",{"_index":16506,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationdto.redirect",{"_index":16507,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationisnotenabled",{"_index":24149,"title":{"classes/UserMigrationIsNotEnabled.html":{}},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["usermigrationservice",{"_index":23971,"title":{"injectables/UserMigrationService.html":{}},"body":{"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationstartedloggable",{"_index":24088,"title":{"classes/UserMigrationStartedLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{}}}],["usermigrationstartedloggable(currentuserid",{"_index":24099,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermigrationsuccessfulloggable",{"_index":24089,"title":{"classes/UserMigrationSuccessfulLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["usermigrationsuccessfulloggable(currentuserid",{"_index":24109,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermodel",{"_index":14781,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["usermodule",{"_index":3890,"title":{"modules/UserModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["username",{"_index":51,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"classes/TestApiClient.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["username.replace(/[^(\\p{l}\\p{n})]/gu",{"_index":798,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["username.trim().tolowercase",{"_index":1753,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["usernames",{"_index":11359,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usernotfoundafterprovisioningloggableexception",{"_index":17024,"title":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["usernotfoundafterprovisioningloggableexception(externaluserid",{"_index":17045,"title":{},"body":{"injectables/OAuthService.html":{}}}],["userparams",{"_index":699,"title":{"classes/UserParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserParams.html":{}}}],["userparentsentity",{"_index":23547,"title":{"classes/UserParentsEntity.html":{}},"body":{"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["userparentsentityprops",{"_index":24195,"title":{"interfaces/UserParentsEntityProps.html":{}},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["userpathadditions",{"_index":15126,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userpermissions",{"_index":23775,"title":{},"body":{"classes/UserFactory.html":{}}}],["userproperties",{"_index":23558,"title":{"interfaces/UserProperties.html":{}},"body":{"entities/User.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{}}}],["userquery",{"_index":23657,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userrefprops",{"_index":1809,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrefprops.some((prop",{"_index":1840,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrepo",{"_index":268,"title":{"injectables/UserRepo.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LocalStrategy.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["userrepresentation",{"_index":14861,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["userrole",{"_index":14101,"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":19241,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.student",{"_index":19243,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.teacher",{"_index":19242,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userroleenum",{"_index":2672,"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":2692,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["userroleenum.substitution_teacher",{"_index":3474,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userroleenum.teacher",{"_index":3472,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userrule",{"_index":1880,"title":{"injectables/UserRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserRule.html":{}}}],["users",{"_index":3418,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupScope.html":{},"classes/GroupUcMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ResolvedGroupDto.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolMigrationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["users(value",{"_index":12791,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["users.filter((groupuser",{"_index":17840,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.find",{"_index":14897,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.find((user",{"_index":24220,"title":{},"body":{"injectables/UserRepo.html":{}}}],["users.getidentifiers('_id",{"_index":7597,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["users.length",{"_index":7601,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/KeycloakSeedService.html":{},"classes/UsersList.html":{}}}],["users.map((user",{"_index":7608,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["users.resetpassword",{"_index":14891,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.total",{"_index":20263,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["users.update",{"_index":14890,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users_configuration_path='/tmp/config/users",{"_index":26275,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["userscollection",{"_index":5353,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.createindex",{"_index":5365,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.dropindex('usersearchindex",{"_index":5364,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexes",{"_index":5357,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexexists('usersearchindex",{"_index":5356,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscope",{"_index":23670,"title":{"classes/UserScope.html":{}},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["userscount",{"_index":1068,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["usersdashboard",{"_index":8813,"title":{},"body":{"injectables/DashboardService.html":{}}}],["usersearchindex",{"_index":5358,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindex[0].key?.schoolid",{"_index":5361,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindexexists",{"_index":5355,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userservice",{"_index":5449,"title":{"injectables/UserService.html":{}},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userservice.findbyid",{"_index":24313,"title":{},"body":{"injectables/UserService.html":{}}}],["usersfile",{"_index":13756,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["userslist",{"_index":7568,"title":{"classes/UsersList.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["userspermissions",{"_index":1822,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["userspermissions.includes(p",{"_index":1825,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["usersresponse",{"_index":21221,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["usersubmissionexists",{"_index":9900,"title":{},"body":{"injectables/ElementUc.html":{}}}],["userswithemail",{"_index":14424,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail.length",{"_index":14426,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail[0",{"_index":14427,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["usertoicurrentuser",{"_index":8108,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["usertoicurrentuser(accountid",{"_index":8118,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["useruc",{"_index":14053,"title":{"injectables/UserUc.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["userwithpopulatedroles",{"_index":1997,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["uses",{"_index":15389,"title":{},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usevalue",{"_index":1267,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ProvisioningConfigModule.html":{},"modules/RocketChatModule.html":{},"modules/ToolConfigModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usevalue(createmock",{"_index":22560,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["using",{"_index":543,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/ToolModule.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usually",{"_index":6306,"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":12143,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["util",{"_index":12687,"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":15315,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["utilities",{"_index":15896,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["utilities.format.nestlike",{"_index":15915,"title":{},"body":{"modules/LoggerModule.html":{}}}],["utils",{"_index":2481,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/GlobalErrorFilter.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/TldrawBoardRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["utils.asarray(domainobject",{"_index":18763,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["utils.asarray(domainobjects).map((dob",{"_index":2502,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["utils.asarray(id",{"_index":2514,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{}}}],["utils/error.utils",{"_index":9955,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["uuid",{"_index":620,"title":{},"body":{"injectables/AccountLookupService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":14087,"title":{},"body":{"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["v",{"_index":4954,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["v3",{"_index":25663,"title":{},"body":{"todo.html":{}}}],["v3/index",{"_index":25668,"title":{},"body":{"todo.html":{}}}],["v3/tools/external",{"_index":10291,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["v4",{"_index":11632,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ImportUserFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{}}}],["val",{"_index":6146,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["valid",{"_index":628,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LdapConfigEntity.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ReferencesService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validatabletool",{"_index":6128,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.id",{"_index":6177,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters",{"_index":6180,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.find",{"_index":6185,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.length",{"_index":6175,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.map",{"_index":6171,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validate",{"_index":1213,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"modules/InterceptorModule.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/TaskUC.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["validate(contextexternaltool",{"_index":7131,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validate(payload",{"_index":14468,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["validate(props",{"_index":4658,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["validate(request",{"_index":15222,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["validate(response",{"_index":19774,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validate(school",{"_index":20435,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validate(schoolexternaltool",{"_index":20137,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validate(username",{"_index":15853,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["validate(value",{"_index":1245,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validateandgetexternaltool",{"_index":11368,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateandgetexternaltool(oauth2clientid",{"_index":11393,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecommon",{"_index":10565,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecommon(externaltool",{"_index":10584,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecontextexternaltools",{"_index":11369,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validatecontextexternaltools(courseid",{"_index":11395,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecreate",{"_index":11155,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatecreate(externaltool",{"_index":11162,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validated",{"_index":1226,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/JwtValidationAdapter.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validatelogosize",{"_index":10434,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelogosize(externaltool",{"_index":10448,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelti11config",{"_index":11156,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatelti11config(externaltool",{"_index":11163,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatenested",{"_index":6847,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested()@apiproperty",{"_index":9691,"title":{},"body":{"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{}}}],["validatenested()@type(undefined",{"_index":10314,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested({each",{"_index":6840,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["validateoauth2config",{"_index":11157,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateoauth2config(externaltool",{"_index":11165,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateparameter",{"_index":6126,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validateparameter(param",{"_index":6148,"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":2983,"title":{},"body":{"entities/Board.html":{}}}],["validaterocketchatconfig",{"_index":1190,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["validateschoolexternaltool",{"_index":11370,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateschoolexternaltool(schoolid",{"_index":11397,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatestatus",{"_index":13560,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["validatesubject",{"_index":17371,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatesubject(currentuser",{"_index":17382,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatetoken",{"_index":17003,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validatetoken(idtoken",{"_index":17020,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validateupdate",{"_index":11158,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateupdate(toolid",{"_index":11166,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateusersmatch",{"_index":8820,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validateusersmatch(dashboard",{"_index":8827,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validating",{"_index":14499,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation",{"_index":1373,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BusinessError.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/ValidationError.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validation.adapter",{"_index":1554,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{}}}],["validation.adapter.ts",{"_index":14488,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:13",{"_index":14493,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:25",{"_index":14498,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:30",{"_index":14496,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:36",{"_index":14502,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.error.ts",{"_index":1353,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.error.ts:4",{"_index":1358,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.pipe",{"_index":24371,"title":{},"body":{"modules/ValidationModule.html":{}}}],["validation.pipe.ts",{"_index":12725,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.pipe.ts:12",{"_index":12727,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.service",{"_index":6829,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/ToolVersionService.html":{}}}],["validation.service.ts",{"_index":6116,"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":10566,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:107",{"_index":6140,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:108",{"_index":10573,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:118",{"_index":10575,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:12",{"_index":7129,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:128",{"_index":10581,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:136",{"_index":10577,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:14",{"_index":6158,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:148",{"_index":10570,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:16",{"_index":10585,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:17",{"_index":20138,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:20",{"_index":7132,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:24",{"_index":6147,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:26",{"_index":11167,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:27",{"_index":20135,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:32",{"_index":6129,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:46",{"_index":6132,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:58",{"_index":6135,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:7",{"_index":20433,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:72",{"_index":6144,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:74",{"_index":11164,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:76",{"_index":10579,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:82",{"_index":6149,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:84",{"_index":11161,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:86",{"_index":10568,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:9",{"_index":11159,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:91",{"_index":6138,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:95",{"_index":10583,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:99",{"_index":6142,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation_error",{"_index":24355,"title":{},"body":{"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerror",{"_index":338,"title":{"classes/ValidationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CurrentUserMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/LoginController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SubmissionItemService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["validationerror('user",{"_index":8124,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["validationerror(`tool_id_mismatch",{"_index":11173,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validationerror(`tool_name_duplicate",{"_index":10588,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror(`tool_param_name",{"_index":10593,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror.children",{"_index":1413,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.children.foreach((childerror",{"_index":1414,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.constraints",{"_index":1409,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.property",{"_index":1407,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrordetailresponse",{"_index":1385,"title":{"classes/ValidationErrorDetailResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["validationerrordetailresponse(propertypath",{"_index":1412,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrorlistobject",{"_index":24363,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception",{"_index":19743,"title":{"classes/ValidationErrorLoggableException.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception(validationerrors",{"_index":19776,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationerrorlogmessage",{"_index":1469,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{},"classes/ProvisioningStrategyMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["validationerrors",{"_index":1359,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrors.length",{"_index":19775,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationmetadata",{"_index":9980,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.context?.privacyprotected",{"_index":9982,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.propertyname",{"_index":9981,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmodule",{"_index":7463,"title":{"modules/ValidationModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["validationpipe",{"_index":1221,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["validationpipe.createexceptionfactory",{"_index":1248,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult",{"_index":1244,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult.length",{"_index":1246,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validator",{"_index":200,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/GroupPaginationParams.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PaginationParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningOptionsParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolSystemParams.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validators",{"_index":25941,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["validcourses",{"_index":11447,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validcourses.push(course",{"_index":11450,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validfrom",{"_index":12789,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["validjwt",{"_index":8041,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["validperiod",{"_index":12877,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["validuntil",{"_index":12790,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["value",{"_index":130,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/CardSkeletonResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FilterUserParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupPaginationParams.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PropertyData.html":{},"classes/ProvisioningConfiguration.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":{},"controllers/SchoolController.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchulConneXProvisioningOptions.html":{},"classes/Scope.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.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/SwapInternalLinksVisitor.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["value.id",{"_index":3402,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["value.length",{"_index":20990,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{}}}],["value.loggable",{"_index":16522,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["value.trim().length",{"_index":21025,"title":{},"body":{"classes/StringValidator.html":{}}}],["value[0",{"_index":14932,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["values",{"_index":1561,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["values.ts",{"_index":1758,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:2",{"_index":1762,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:4",{"_index":1761,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["var",{"_index":5378,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["variable",{"_index":20599,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["variables",{"_index":20899,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["variant",{"_index":22519,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["various",{"_index":25856,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["vars",{"_index":2061,"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":24621,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["vcdo.options",{"_index":24623,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["verbatim",{"_index":25048,"title":{},"body":{"license.html":{}}}],["verbose",{"_index":4903,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["verified",{"_index":1154,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["verify",{"_index":26183,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyfeaturesenabled",{"_index":24497,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifyfeaturesenabled(schoolid",{"_index":24509,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifying",{"_index":26184,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyoptions",{"_index":1600,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["version",{"_index":5752,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LibraryRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["version.interface.ts",{"_index":23486,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.interface.ts:2",{"_index":23487,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["versioning",{"_index":6104,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["versionkey",{"_index":11603,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["versionnumber",{"_index":5976,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["versions",{"_index":6731,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"license.html":{}}}],["very",{"_index":5319,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["via",{"_index":2836,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/CopyApiResponse.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["video",{"_index":9601,"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":7567,"title":{"entities/VideoConference.html":{},"classes/VideoConference-1.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconference.options.everybodyjoinsasmoderator",{"_index":24639,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference.options.moderatormustapprovejoinrequests",{"_index":24641,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference2",{"_index":24423,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconference:31",{"_index":24599,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:34",{"_index":24600,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:6",{"_index":24598,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconferenceapimodule",{"_index":20583,"title":{"modules/VideoConferenceApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["videoconferencebaseresponse",{"_index":9602,"title":{"classes/VideoConferenceBaseResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencebaseresponse:10",{"_index":9608,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:12",{"_index":9606,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:8",{"_index":9609,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferenceconfiguration",{"_index":24415,"title":{"classes/VideoConferenceConfiguration.html":{}},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.bbb",{"_index":24420,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.videoconference",{"_index":24683,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["videoconferencecontroller",{"_index":24410,"title":{"controllers/VideoConferenceController.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencecreateparams",{"_index":24443,"title":{"classes/VideoConferenceCreateParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencecreateuc",{"_index":24406,"title":{"injectables/VideoConferenceCreateUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["videoconferencedeprecatedcontroller",{"_index":24549,"title":{"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedeprecateduc",{"_index":24562,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedo",{"_index":24536,"title":{"classes/VideoConferenceDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceenduc",{"_index":24407,"title":{"injectables/VideoConferenceEndUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["videoconferenceinfo",{"_index":24450,"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":24452,"title":{"classes/VideoConferenceInfoResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferenceinforesponse})@apiresponse({status",{"_index":24434,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferenceinfouc",{"_index":24408,"title":{"injectables/VideoConferenceInfoUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["videoconferencejoin",{"_index":24451,"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":24671,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse",{"_index":24453,"title":{"classes/VideoConferenceJoinResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse})@apiresponse({status",{"_index":24440,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencejoinuc",{"_index":24409,"title":{"injectables/VideoConferenceJoinUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["videoconferencemapper",{"_index":24447,"title":{"classes/VideoConferenceMapper.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemapper.tovideoconferenceinforesponse(dto",{"_index":24470,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencejoinresponse(dto",{"_index":24467,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferenceoptions(params",{"_index":24463,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencestateresponse(from.state",{"_index":24737,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemodule",{"_index":24405,"title":{"modules/VideoConferenceModule.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceoptions",{"_index":24374,"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":24540,"title":{"classes/VideoConferenceOptionsDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["videoconferenceoptionsresponse",{"_index":24603,"title":{"classes/VideoConferenceOptionsResponse.html":{}},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["videoconferenceoptionsresponse(videoconferenceinfo.options",{"_index":24670,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencerepo",{"_index":24677,"title":{"injectables/VideoConferenceRepo.html":{}},"body":{"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceresponsedeprecatedmapper",{"_index":24560,"title":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptobaseresponse(dto",{"_index":24584,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptoinforesponse(dto",{"_index":24581,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptojoinresponse(dto",{"_index":24579,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsemapper",{"_index":24730,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferences",{"_index":24388,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferencescope",{"_index":20501,"title":{},"body":{"classes/ScopeRef.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope'})@isenum(videoconferencescope",{"_index":24742,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope.course",{"_index":24714,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescope.event",{"_index":24712,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescopeparams",{"_index":24426,"title":{"classes/VideoConferenceScopeParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferenceservice",{"_index":24499,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencesettings",{"_index":13813,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencestate",{"_index":24395,"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":24595,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.not_started",{"_index":24615,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.running",{"_index":24573,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse",{"_index":9607,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.finished",{"_index":24668,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.not_started",{"_index":24666,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.running",{"_index":24667,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferenceuc",{"_index":24566,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencingscopemapping",{"_index":24716,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencingscopemapping[entity.targetmodel",{"_index":24720,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videocount",{"_index":2315,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["view",{"_index":16813,"title":{},"body":{"injectables/NewsUc.html":{},"license.html":{}}}],["viewer",{"_index":2266,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["viewers",{"_index":7885,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["violates",{"_index":25360,"title":{},"body":{"license.html":{}}}],["violation",{"_index":25404,"title":{},"body":{"license.html":{}}}],["virtuals",{"_index":24920,"title":{},"body":{"dependencies.html":{}}}],["virus",{"_index":11957,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["virus_detected",{"_index":1291,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["virus_signature",{"_index":1292,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["viruses",{"_index":1322,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["viruses.join",{"_index":1326,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["visibilities",{"_index":25647,"title":{},"body":{"todo.html":{}}}],["visibility",{"_index":4465,"title":{},"body":{"classes/CardResponse.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RoomsUc.html":{}}}],["visibility.params.ts",{"_index":17947,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibility.params.ts:12",{"_index":17948,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibilitysettings",{"_index":4456,"title":{},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{}}}],["visibilitysettingsresponse",{"_index":4463,"title":{"classes/VisibilitySettingsResponse.html":{}},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["visible",{"_index":7884,"title":{},"body":{"entities/CourseNews.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["visibletools",{"_index":10219,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visibletools.filter",{"_index":10222,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visitcard",{"_index":3116,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcard(card",{"_index":3126,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcardasync",{"_index":3172,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(card",{"_index":3164,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(original",{"_index":18610,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildren",{"_index":18739,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildren(parent",{"_index":18750,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildrenasync",{"_index":18690,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenasync(domainobject",{"_index":18695,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenof",{"_index":18600,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitchildrenof(boarddo",{"_index":18612,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumn",{"_index":3117,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumn(column",{"_index":3129,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumnasync",{"_index":3173,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(column",{"_index":3163,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(original",{"_index":18614,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumnboard",{"_index":3118,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumnboard(columnboard",{"_index":3131,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitcolumnboardasync",{"_index":3174,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(columnboard",{"_index":3162,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(original",{"_index":18616,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitdrawingelement",{"_index":3119,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitdrawingelement(drawingelement",{"_index":3133,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitdrawingelementasync",{"_index":3175,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(drawingelement",{"_index":3168,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(original",{"_index":18618,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitexternaltoolelement",{"_index":3120,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitexternaltoolelement(externaltoolelement",{"_index":3136,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelementasync",{"_index":3176,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(externaltoolelement",{"_index":3171,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(original",{"_index":18620,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitfileelement",{"_index":3121,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitfileelement(fileelement",{"_index":3139,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelementasync",{"_index":3177,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(fileelement",{"_index":3165,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(original",{"_index":18622,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitlinkelement",{"_index":3122,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitlinkelement(linkelement",{"_index":3142,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitlinkelementasync",{"_index":3178,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(linkelement",{"_index":3166,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(original",{"_index":18624,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitor",{"_index":3071,"title":{},"body":{"classes/BoardComposite.html":{},"injectables/BoardDoCopyService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["visitor.copy(params.original",{"_index":3636,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["visitor.ts",{"_index":3115,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:13",{"_index":3132,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:14",{"_index":3130,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:15",{"_index":3128,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:16",{"_index":3141,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:17",{"_index":3144,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:18",{"_index":3147,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:19",{"_index":3135,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:20",{"_index":3150,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:21",{"_index":3152,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:22",{"_index":3138,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:26",{"_index":3184,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:27",{"_index":3183,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:28",{"_index":3182,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:29",{"_index":3187,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:30",{"_index":3188,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:31",{"_index":3189,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:32",{"_index":3185,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:33",{"_index":3190,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:34",{"_index":3191,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:35",{"_index":3186,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.visitcard(this",{"_index":4363,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcardasync(this",{"_index":4364,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcolumn(this",{"_index":5427,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnasync(this",{"_index":5428,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnboard(this",{"_index":5443,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitcolumnboardasync(this",{"_index":5444,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitdrawingelement(this",{"_index":9672,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitdrawingelementasync(this",{"_index":9673,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitexternaltoolelement(this",{"_index":10336,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitexternaltoolelementasync(this",{"_index":10337,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitfileelement(this",{"_index":11566,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitfileelementasync(this",{"_index":11567,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitlinkelement(this",{"_index":15801,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitlinkelementasync(this",{"_index":15802,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitrichtextelement(this",{"_index":19084,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitrichtextelementasync(this",{"_index":19085,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitsubmissioncontainerelement(this",{"_index":21096,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissioncontainerelementasync(this",{"_index":21097,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissionitem(this",{"_index":21181,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitor.visitsubmissionitemasync(this",{"_index":21182,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitrichtextelement",{"_index":3123,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitrichtextelement(richtextelement",{"_index":3145,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelementasync",{"_index":3179,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitrichtextelementasync(original",{"_index":18626,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitrichtextelementasync(richtextelement",{"_index":3167,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelement",{"_index":3124,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissioncontainerelement(submissioncontainerelement",{"_index":3148,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissioncontainerelementasync",{"_index":3180,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelementasync(original",{"_index":18628,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissioncontainerelementasync(submissioncontainerelement",{"_index":3169,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitem",{"_index":3125,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissionitem(submissionitem",{"_index":3151,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SwapInternalLinksVisitor.html":{}}}],["visitsubmissionitemasync",{"_index":3181,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(original",{"_index":18630,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissionitemasync(submission",{"_index":6500,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(submissionitem",{"_index":3170,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visual",{"_index":25008,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vo",{"_index":13971,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["voicebridge",{"_index":2252,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["voiceparticipantcount",{"_index":2316,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["void",{"_index":569,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupScope.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SwapInternalLinksVisitor.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{}}}],["volume",{"_index":25267,"title":{},"body":{"license.html":{}}}],["vorname",{"_index":19697,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["vs",{"_index":14446,"title":{},"body":{"interfaces/JwtConstants.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["vscode",{"_index":24979,"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":26219,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/lauch",{"_index":25669,"title":{},"body":{"todo.html":{}}}],["vscode/launch.default.json",{"_index":25787,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/settings.default.json",{"_index":26217,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["w",{"_index":6585,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["wait",{"_index":1750,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["waiting",{"_index":24645,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["waive",{"_index":25226,"title":{},"body":{"license.html":{}}}],["waiver",{"_index":25583,"title":{},"body":{"license.html":{}}}],["want",{"_index":5140,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/Path.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["wantedlibraries",{"_index":13454,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["wantedlibraries.includes(librariestocheck[lastpositionlibrariestocheckarray].machinename",{"_index":13499,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["warn",{"_index":13768,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["warn(message",{"_index":13779,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["warning",{"_index":15876,"title":{},"body":{"injectables/Logger.html":{}}}],["warning(loggable",{"_index":15885,"title":{},"body":{"injectables/Logger.html":{}}}],["warranties",{"_index":25154,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":25153,"title":{},"body":{"license.html":{}}}],["watch",{"_index":25653,"title":{},"body":{"todo.html":{}}}],["way",{"_index":3972,"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":25276,"title":{},"body":{"license.html":{}}}],["web",{"_index":6039,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["weblink",{"_index":6067,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["websocket",{"_index":22572,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["websocket(`${wsurl",{"_index":22578,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocket(`${wsurl}/${docname",{"_index":22577,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocketgateway",{"_index":22804,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketgateway(socket_port",{"_index":22807,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketserver",{"_index":22798,"title":{},"body":{"classes/TldrawWs.html":{}}}],["weights",{"_index":5369,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["weird",{"_index":7908,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["welcome",{"_index":2167,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{}}}],["well",{"_index":25139,"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":14831,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["wenn",{"_index":24682,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["went",{"_index":13825,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["werden",{"_index":5560,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wether",{"_index":26483,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["whatever",{"_index":20537,"title":{},"body":{"classes/ServerConsole.html":{},"license.html":{}}}],["whereas",{"_index":25883,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wherelastloginsystemchangeisbetween",{"_index":23676,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["wherelastloginsystemchangeisbetween(startdate",{"_index":24271,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan",{"_index":24266,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(date",{"_index":24273,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(query.lastloginsystemchangesmallerthan",{"_index":23675,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["wherever",{"_index":15306,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["whether",{"_index":8100,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["whitelist",{"_index":12733,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["whitelisted",{"_index":14481,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["whitespace",{"_index":16559,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["whole",{"_index":16887,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ReferencesService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["whos",{"_index":21192,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["whose",{"_index":25316,"title":{},"body":{"license.html":{}}}],["wichtige",{"_index":5552,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["widely",{"_index":25166,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["widespread",{"_index":25087,"title":{},"body":{"license.html":{}}}],["width",{"_index":7287,"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":6065,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["wildfly",{"_index":26303,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["willkommen",{"_index":5539,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["window",{"_index":25173,"title":{},"body":{"license.html":{},"todo.html":{}}}],["windowfeatures",{"_index":6064,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["windows",{"_index":25630,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["winston",{"_index":10000,"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":15901,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.combine",{"_index":15908,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.ms",{"_index":15914,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.timestamp",{"_index":15909,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.transports.console",{"_index":15905,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston_module_provider",{"_index":9999,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonlogger",{"_index":9989,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonmodule",{"_index":15897,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winstonmodule.forrootasync",{"_index":15899,"title":{},"body":{"modules/LoggerModule.html":{}}}],["wip",{"_index":25019,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["wipo",{"_index":25218,"title":{},"body":{"license.html":{}}}],["wir",{"_index":5547,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wired",{"_index":26207,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wish",{"_index":25068,"title":{},"body":{"license.html":{}}}],["withbase64logo",{"_index":8354,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withbasicconfig",{"_index":10381,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withcredentials",{"_index":13591,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["withcustomparameters",{"_index":10400,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["withcustomparameters(number",{"_index":8351,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["witherror",{"_index":2077,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["witherror(error",{"_index":2078,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["withexternaldata",{"_index":17107,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata(oauth2params",{"_index":8317,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withguestpolicy",{"_index":2205,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withguestpolicy(guestpolicy",{"_index":2211,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withid",{"_index":20734,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["withid(id",{"_index":20735,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["within",{"_index":4235,"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":8889,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["withldapconfig",{"_index":21526,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withldapconfig(otherparams",{"_index":21529,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["withlogouturl",{"_index":2206,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(logouturl",{"_index":2213,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(options.logouturl",{"_index":24529,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["withlti11config",{"_index":10382,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withlti11config(customparam",{"_index":8349,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withmuteonstart",{"_index":2207,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withmuteonstart(value",{"_index":2215,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withname",{"_index":10383,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withname(name",{"_index":10388,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withoauth2config",{"_index":10384,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withoauth2config(clientid",{"_index":10390,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withoauth2config(customparam",{"_index":8347,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withoauthclientid",{"_index":16137,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthclientid(oauthclientid",{"_index":16139,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthconfig",{"_index":21527,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withoidcconfig",{"_index":21528,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["without",{"_index":812,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/ProvisioningStrategyMissingLoggableException.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":25626,"title":{},"body":{"todo.html":{}}}],["withoutcontext",{"_index":5488,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["withoutdatedsince",{"_index":24267,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(date",{"_index":24275,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(query.outdatedsince",{"_index":23679,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["withrole",{"_index":2279,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/UserFactory.html":{}}}],["withrole(role",{"_index":23768,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrole(value",{"_index":2283,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withroleanduserid",{"_index":22298,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withroleanduserid(role",{"_index":22300,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withrolebyname",{"_index":23764,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrolebyname(name",{"_index":23770,"title":{},"body":{"classes/UserFactory.html":{}}}],["withroles",{"_index":23731,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withroles(roles",{"_index":23732,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withschoolexternaltoolref",{"_index":6804,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolexternaltoolref(schooltoolid",{"_index":6805,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolid",{"_index":19963,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withschoolid(schoolid",{"_index":19964,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withsystemid",{"_index":503,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withsystemid(id",{"_index":518,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withteamuser",{"_index":22299,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withteamuser(teamuser",{"_index":22302,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withuser",{"_index":504,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuser(user",{"_index":520,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuserid",{"_index":2280,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/TeamUserFactory.html":{}}}],["withuserid(currentuserid",{"_index":24637,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["withuserid(userid",{"_index":22408,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["withuserid(value",{"_index":2285,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withuserids",{"_index":4686,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["withuserids(id",{"_index":9435,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["withuserids(userids",{"_index":4687,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{}}}],["withwelcome",{"_index":2208,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withwelcome(welcome",{"_index":2217,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["wont_check",{"_index":7209,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["word",{"_index":26021,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["words",{"_index":5373,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["work",{"_index":816,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SymetricKeyEncryptionService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["work's",{"_index":25177,"title":{},"body":{"license.html":{}}}],["worker",{"_index":9813,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["worker.manufacture",{"_index":9814,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["working",{"_index":4922,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["workings",{"_index":26047,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["works",{"_index":12496,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/H5PContentFactory.html":{},"injectables/NewsRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["worldwide",{"_index":25471,"title":{},"body":{"license.html":{}}}],["wouldn't",{"_index":1830,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["wrap",{"_index":2952,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wrap(dashboard).toreference",{"_index":8613,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrap(modelentity).init",{"_index":8722,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["wrap(props.course).toreference",{"_index":2973,"title":{},"body":{"entities/Board.html":{}}}],["wrap(props.school).toreference",{"_index":13973,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.system).toreference",{"_index":13974,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.user).toreference",{"_index":8620,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrapped",{"_index":26056,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wrappedreference",{"_index":2943,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrapper",{"_index":5974,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["writable",{"_index":9627,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["write",{"_index":1784,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["write(requiredpermissions",{"_index":1789,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["write/read",{"_index":26383,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writecourseids",{"_index":22246,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses",{"_index":22243,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.includes(c",{"_index":22245,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.map((c",{"_index":22247,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writefile",{"_index":12122,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writefile(filepath",{"_index":12150,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writelessons",{"_index":22252,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writen",{"_index":26463,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writer.module",{"_index":20544,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["writer.module.ts",{"_index":6381,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["writer.service",{"_index":6382,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["writer.service.ts",{"_index":6383,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer.service.ts:5",{"_index":6385,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer/console",{"_index":6380,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["writestate",{"_index":22818,"title":{},"body":{"classes/TldrawWs.html":{}}}],["writestate(doc.name",{"_index":22896,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1",{"_index":22880,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1(encoder",{"_index":22948,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate",{"_index":22881,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate(encoder",{"_index":22910,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writing",{"_index":25548,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["written",{"_index":25283,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wrong",{"_index":8831,"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":26450,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ws",{"_index":22573,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["ws.binarytype",{"_index":22930,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.close",{"_index":22899,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.module",{"_index":22789,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["ws.module.ts",{"_index":22837,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["ws.on('close",{"_index":22946,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('message",{"_index":22935,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('open",{"_index":22579,"title":{},"body":{"classes/TestConnection.html":{}}}],["ws.on('pong",{"_index":22947,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.ping",{"_index":22944,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws://localhost:${gatewayport",{"_index":22576,"title":{},"body":{"classes/TestConnection.html":{}}}],["wsclosecodeenum",{"_index":22806,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsclosecodeenum.ws_client_bad_request_code",{"_index":22813,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsconnection",{"_index":24763,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["wsconnectionstate",{"_index":22883,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.connecting",{"_index":22902,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.open",{"_index":22903,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsmessagetype",{"_index":22884,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.awareness",{"_index":22926,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.sync",{"_index":22909,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsshareddocdo",{"_index":22644,"title":{"classes/WsSharedDocDo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsshareddocdo(docname",{"_index":22915,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsurl",{"_index":22575,"title":{},"body":{"classes/TestConnection.html":{}}}],["www",{"_index":14850,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["wünsche",{"_index":5594,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["x",{"_index":1170,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CalendarEvent.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["xapikey",{"_index":22594,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["xapikeyconfig",{"_index":9358,"title":{"interfaces/XApiKeyConfig.html":{}},"body":{"modules/DeletionModule.html":{},"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xapikeystrategy",{"_index":1534,"title":{"injectables/XApiKeyStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xml",{"_index":7162,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2js",{"_index":5870,"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":7163,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2json(xml",{"_index":7165,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object",{"_index":7159,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object(xml",{"_index":7160,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xmlbuilder",{"_index":5850,"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":5921,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xmlns:blti",{"_index":5922,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:ext",{"_index":5983,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:lticm",{"_index":5923,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:lticp",{"_index":5924,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:mnf",{"_index":5979,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:res",{"_index":5981,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:xsi",{"_index":5925,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xpos",{"_index":8595,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["xposition",{"_index":8628,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["xsd/imsbasiclti_v1p0",{"_index":5955,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticc_v1p0",{"_index":5954,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticm_v1p0",{"_index":5956,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticp_v1p0",{"_index":5957,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd",{"_index":5959,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticc_v1p0.xsd",{"_index":5958,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticm_v1p0.xsd",{"_index":5960,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticp_v1p0.xsd",{"_index":5961,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsi:schemalocation",{"_index":5928,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xxxx",{"_index":26233,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["y",{"_index":8410,"title":{},"body":{"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["y.doc",{"_index":22855,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["yagni",{"_index":25836,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yagni.more",{"_index":26037,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["yaml",{"_index":13465,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ydoc",{"_index":22643,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["ydoc.on('update",{"_index":22691,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["ydocument",{"_index":22895,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["year",{"_index":4591,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["year.service.ts",{"_index":20456,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:11",{"_index":20461,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:17",{"_index":20460,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:7",{"_index":20459,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["yearfrom",{"_index":6586,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["years",{"_index":20448,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"license.html":{}}}],["yearto",{"_index":6587,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["yes",{"_index":59,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountFactory.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"classes/BaseDO.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUc.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"classes/LinkElement.html":{},"injectables/LocalStrategy.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemUc.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/ValidationError.html":{}}}],["yesterday",{"_index":11929,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{}}}],["yet.'})@apiresponse({status",{"_index":24554,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["yjs",{"_index":22660,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["your.config.ts",{"_index":26493,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.module.ts",{"_index":26497,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.service.ts",{"_index":26495,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your_s3_uniq_connection_token",{"_index":26494,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourloggable",{"_index":25990,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourloggable(userid",{"_index":25995,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourmodule",{"_index":26498,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourself",{"_index":25485,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yourservice",{"_index":26025,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["youruc",{"_index":25991,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["ypos",{"_index":8596,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["yposition",{"_index":8629,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["yyyy",{"_index":15910,"title":{},"body":{"modules/LoggerModule.html":{}}}],["z0",{"_index":22499,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["z]+)$/i",{"_index":8003,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["z]|[0",{"_index":12623,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["za",{"_index":12622,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{},"injectables/TemporaryFileStorage.html":{}}}],["zip",{"_index":5869,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["zipbuilder",{"_index":5851,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["zoom",{"_index":269,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/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/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["zu",{"_index":5567,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zum",{"_index":5570,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zusammengefasst",{"_index":5576,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"classes/AbstractAccountService.html":{"url":"classes/AbstractAccountService.html","title":"class - AbstractAccountService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractAccountService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.service.abstract.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n delete\n \n \n Abstract\n deleteByUserId\n \n \n Abstract\n findById\n \n \n Abstract\n findByUserId\n \n \n Abstract\n findByUserIdOrFail\n \n \n Abstract\n findByUsernameAndSystemId\n \n \n Abstract\n findMany\n \n \n Abstract\n findMultipleByUserId\n \n \n Abstract\n save\n \n \n Abstract\n searchByUsernameExactMatch\n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n Abstract\n updatePassword\n \n \n Abstract\n updateUsername\n \n \n Abstract\n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n \n \n \n \n Used for brute force detection, but will become subject to IDM thus be removed.\n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n validatePassword\n \n \n \n \n \n \n \n validatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AccountDto, AccountSaveDto } from './dto';\n\nexport abstract class AbstractAccountService {\n\tabstract findById(id: EntityId): Promise;\n\n\tabstract findMultipleByUserId(userIds: EntityId[]): Promise;\n\n\tabstract findByUserId(userId: EntityId): Promise;\n\n\tabstract findByUserIdOrFail(userId: EntityId): Promise;\n\n\tabstract findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise;\n\n\tabstract save(accountDto: AccountSaveDto): Promise;\n\n\tabstract updateUsername(accountId: EntityId, username: string): Promise;\n\n\t/**\n\t * @deprecated Used for brute force detection, but will become subject to IDM thus be removed.\n\t */\n\tabstract updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise;\n\n\tabstract updatePassword(accountId: EntityId, password: string): Promise;\n\n\tabstract delete(id: EntityId): Promise;\n\n\tabstract deleteByUserId(userId: EntityId): Promise;\n\n\tabstract searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise>;\n\n\tabstract searchByUsernameExactMatch(userName: string): Promise>;\n\n\tabstract validatePassword(account: AccountDto, comparePassword: string): Promise;\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tabstract findMany(offset?: number, limit?: number): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AbstractUrlHandler.html":{"url":"classes/AbstractUrlHandler.html","title":"class - AbstractUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:5\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { basename } from 'node:path';\nimport { MetaData } from '../../types';\n\nexport abstract class AbstractUrlHandler {\n\tprotected abstract patterns: RegExp[];\n\n\tprotected extractId(url: string): string | undefined {\n\t\tconst results: RegExpMatchArray = this.patterns\n\t\t\t.map((pattern: RegExp) => pattern.exec(url))\n\t\t\t.filter((result) => result !== null)\n\t\t\t.find((result) => (result?.length ?? 0) >= 2) as RegExpMatchArray;\n\n\t\tif (results && results[1]) {\n\t\t\treturn results[1];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tdoesUrlMatch(url: string): boolean {\n\t\tconst doesMatch = this.patterns.some((pattern) => pattern.test(url));\n\t\treturn doesMatch;\n\t}\n\n\tgetDefaultMetaData(url: string, partial: Partial = {}): MetaData {\n\t\tconst urlObject = new URL(url);\n\t\tconst title = basename(urlObject.pathname);\n\t\treturn {\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t\t...partial,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptConsentRequestBody.html":{"url":"interfaces/AcceptConsentRequestBody.html","title":"interface - AcceptConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-consent-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { IdToken } from '@modules/oauth-provider/interface/id-token';\n\nexport interface AcceptConsentRequestBody {\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token?: string;\n\n\t\tid_token?: IdToken;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptLoginRequestBody.html":{"url":"interfaces/AcceptLoginRequestBody.html","title":"interface - AcceptLoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptLoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-login-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n force_subject_identifier\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n force_subject_identifier\n \n \n \n \n \n \n \n \n force_subject_identifier: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AcceptLoginRequestBody {\n\tsubject?: string;\n\n\tacr?: string;\n\n\tamr?: string[];\n\n\tcontext?: object;\n\n\tforce_subject_identifier?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AcceptQuery.html":{"url":"classes/AcceptQuery.html","title":"class - AcceptQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AcceptQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Accepts the login request.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/index';\n\nexport class AcceptQuery {\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({ description: 'Accepts the login request.', required: true, nullable: false })\n\taccept!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Account.html":{"url":"entities/Account.html","title":"entity - Account","body":"\n \n\n\n\n\n\n\n\n Entities\n Account\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/account.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n Optional\n credentialHash\n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n Optional\n password\n \n \n \n Optional\n systemId\n \n \n \n Optional\n token\n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, unique: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:12\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Index } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IdmAccountProperties = Readonly>;\n\n@Entity({ tableName: 'accounts' })\n@Index({ properties: ['userId', 'systemId'] })\nexport class Account extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\tusername!: string;\n\n\t@Property({ nullable: true })\n\tpassword?: string;\n\n\t@Property({ nullable: true })\n\ttoken?: string;\n\n\t@Property({ nullable: true })\n\tcredentialHash?: string;\n\n\t@Property({ nullable: true, unique: false })\n\tuserId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tsystemId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tlasttriedFailedLogin?: Date;\n\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\t@Property({ nullable: true })\n\tactivated?: boolean;\n\n\tconstructor(props: IdmAccountProperties) {\n\t\tsuper();\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountApiModule.html":{"url":"modules/AccountApiModule.html","title":"module - AccountApiModule","body":"\n \n\n\n\n\n Modules\n AccountApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountApiModule\n\n\n\ncluster_AccountApiModule_imports\n\n\n\ncluster_AccountApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAccountApiModule\n\nAccountApiModule\n\nAccountApiModule -->\n\nAccountModule->AccountApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountApiModule -->\n\nLoggerModule->AccountApiModule\n\n\n\n\n\nAccountUc\n\nAccountUc\n\nAccountApiModule -->\n\nAccountUc->AccountApiModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountApiModule -->\n\nPermissionService->AccountApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountApiModule -->\n\nUserRepo->AccountApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountUc\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n AccountController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { PermissionService } from '@shared/domain/service';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '../../core/logger/logger.module';\nimport { AccountModule } from './account.module';\nimport { AccountController } from './controller/account.controller';\nimport { AccountUc } from './uc/account.uc';\n\n@Module({\n\timports: [AccountModule, LoggerModule],\n\tproviders: [UserRepo, PermissionService, AccountUc],\n\tcontrollers: [AccountController],\n\texports: [],\n})\nexport class AccountApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdBodyParams.html":{"url":"classes/AccountByIdBodyParams.html","title":"class - AccountByIdBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Optional\n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@ApiProperty({description: 'The new activation state of the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEmail()@ApiProperty({description: 'The new user name for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsBoolean, IsString, IsOptional, Matches, IsEmail } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class AccountByIdBodyParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEmail()\n\t@ApiProperty({\n\t\tdescription: 'The new user name for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tusername?: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'The new activation state of the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tactivated?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdParams.html":{"url":"classes/AccountByIdParams.html","title":"class - AccountByIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The id for the account.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountByIdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The id for the account.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountConfig.html":{"url":"interfaces/AccountConfig.html","title":"interface - AccountConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/account-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AccountConfig {\n\tLOGIN_BLOCK_TIME: number;\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/AccountController.html":{"url":"controllers/AccountController.html","title":"controller - AccountController","body":"\n \n\n\n\n\n\n\n Controllers\n AccountController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/account.controller.ts\n \n\n \n Prefix\n \n \n account\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':id')@ApiOperation({summary: 'Deletes an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns deleted account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':id')@ApiOperation({summary: 'Returns an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns the account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n replaceMyPassword(currentUser: ICurrentUser, params: PatchMyPasswordParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me/password')@ApiOperation({summary: 'Updates the the temporary account password for the authenticated user.'})@ApiResponse({status: 200, description: 'Updated the temporary password successfully.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account or user not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyPasswordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n searchAccounts(currentUser: ICurrentUser, query: AccountSearchQueryParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiOperation({summary: 'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n query\n \n AccountSearchQueryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n updateAccountById(currentUser: ICurrentUser, params: AccountByIdParams, body: AccountByIdBodyParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':id')@ApiOperation({summary: 'Updates an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns updated account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n AccountByIdBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n \n \n \n updateMyAccount(currentUser: ICurrentUser, params: PatchMyAccountParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me')@ApiOperation({summary: 'Updates an account for the authenticated user.'})@ApiResponse({status: 200, description: 'Account was successfully updated.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { EntityNotFoundError, ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { ICurrentUser } from '@src/modules/authentication';\nimport { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\nimport { AccountUc } from '../uc/account.uc';\nimport {\n\tAccountByIdBodyParams,\n\tAccountByIdParams,\n\tAccountResponse,\n\tAccountSearchListResponse,\n\tAccountSearchQueryParams,\n\tPatchMyAccountParams,\n\tPatchMyPasswordParams,\n} from './dto';\n\n@ApiTags('Account')\n@Authenticate('jwt')\n@Controller('account')\nexport class AccountController {\n\tconstructor(private readonly accountUc: AccountUc) {}\n\n\t@Get()\n\t@ApiOperation({\n\t\tsummary:\n\t\t\t'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.',\n\t})\n\t@ApiResponse({ status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.' })\n\tasync searchAccounts(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() query: AccountSearchQueryParams\n\t): Promise {\n\t\treturn this.accountUc.searchAccounts(currentUser, query);\n\t}\n\n\t@Get(':id')\n\t@ApiOperation({ summary: 'Returns an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns the account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync findAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.findAccountById(currentUser, params);\n\t}\n\n\t// IMPORTANT!!!\n\t// updateMyAccount has to occur before updateAccountById, because Nest.js\n\t// will always use the first path match and me will be treated as a path parameter\n\t@Patch('me')\n\t@ApiOperation({ summary: 'Updates an account for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Account was successfully updated.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateMyAccount(@CurrentUser() currentUser: ICurrentUser, @Body() params: PatchMyAccountParams): Promise {\n\t\treturn this.accountUc.updateMyAccount(currentUser.userId, params);\n\t}\n\n\t@Patch(':id')\n\t@ApiOperation({ summary: 'Updates an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns updated account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams,\n\t\t@Body() body: AccountByIdBodyParams\n\t): Promise {\n\t\treturn this.accountUc.updateAccountById(currentUser, params, body);\n\t}\n\n\t@Delete(':id')\n\t@ApiOperation({ summary: 'Deletes an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns deleted account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync deleteAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.deleteAccountById(currentUser, params);\n\t}\n\n\t@Patch('me/password')\n\t@ApiOperation({ summary: 'Updates the the temporary account password for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Updated the temporary password successfully.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account or user not found.' })\n\tasync replaceMyPassword(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: PatchMyPasswordParams\n\t): Promise {\n\t\treturn this.accountUc.replaceMyTemporaryPassword(currentUser.userId, params.password, params.confirmPassword);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountDto.html":{"url":"classes/AccountDto.html","title":"class - AccountDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account.dto.ts\n \n\n\n\n \n Extends\n \n \n AccountSaveDto\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n createdAt\n \n \n Readonly\n id\n \n \n Readonly\n updatedAt\n \n \n \n \n Optional\n activated\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:5\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:9\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:54\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:34\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:50\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:57\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:46\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:26\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:42\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:30\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:38\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AccountSaveDto } from './account-save.dto';\n\nexport class AccountDto extends AccountSaveDto {\n\treadonly id: EntityId;\n\n\treadonly createdAt: Date;\n\n\treadonly updatedAt: Date;\n\n\tconstructor(props: AccountDto) {\n\t\tsuper(props);\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountEntityToDtoMapper.html":{"url":"classes/AccountEntityToDtoMapper.html","title":"class - AccountEntityToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountEntityToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n Static\n mapSearchResult\n \n \n Static\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n \n \n \n \n \n mapAccountsToDto(accounts: Account[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accounts\n \n Account[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSearchResult\n \n \n \n \n \n \n \n mapSearchResult(accountEntities: [Account[], number])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountEntities\n \n [Account[], number]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Counted\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account } from '@shared/domain/entity';\nimport { Counted } from '@shared/domain/types';\nimport { AccountDto } from '../services/dto/account.dto';\n\nexport class AccountEntityToDtoMapper {\n\tstatic mapToDto(account: Account): AccountDto {\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tcreatedAt: account.createdAt,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tusername: account.username,\n\t\t\tactivated: account.activated,\n\t\t\tcredentialHash: account.credentialHash,\n\t\t\texpiresAt: account.expiresAt,\n\t\t\tlasttriedFailedLogin: account.lasttriedFailedLogin,\n\t\t\tpassword: account.password,\n\t\t\tsystemId: account.systemId?.toString(),\n\t\t\ttoken: account.token,\n\t\t});\n\t}\n\n\tstatic mapSearchResult(accountEntities: [Account[], number]): Counted {\n\t\tconst foundAccounts = accountEntities[0];\n\t\tconst accountDtos: AccountDto[] = AccountEntityToDtoMapper.mapAccountsToDto(foundAccounts);\n\t\treturn [accountDtos, accountEntities[1]];\n\t}\n\n\tstatic mapAccountsToDto(accounts: Account[]): AccountDto[] {\n\t\treturn accounts.map((accountEntity) => AccountEntityToDtoMapper.mapToDto(accountEntity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountFactory.html":{"url":"classes/AccountFactory.html","title":"class - AccountFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/account.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSystemId\n \n \n withUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSystemId\n \n \n \n \n \n \nwithSystemId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUser\n \n \n \n \n \n \nwithUser(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, IdmAccountProperties, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nclass AccountFactory extends BaseFactory {\n\twithSystemId(id: EntityId | ObjectId): this {\n\t\tconst params: DeepPartial = { systemId: id };\n\n\t\treturn this.params(params);\n\t}\n\n\twithUser(user: User): this {\n\t\tif (!user.id) {\n\t\t\tthrow new Error('User does not have an id.');\n\t\t}\n\n\t\tconst params: DeepPartial = { userId: user.id };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const defaultTestPassword = 'DummyPasswd!1';\nexport const defaultTestPasswordHash = '$2a$10$/DsztV5o6P5piW2eWJsxw.4nHovmJGBA.QNwiTmuZ/uvUc40b.Uhu';\n// !!! important username should not be contain a space !!!\nexport const accountFactory = AccountFactory.define(Account, ({ sequence }) => {\n\treturn {\n\t\tusername: `account${sequence}`,\n\t\tpassword: defaultTestPasswordHash,\n\t\tuserId: new ObjectId(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountIdmToDtoMapper.html":{"url":"injectables/AccountIdmToDtoMapper.html","title":"injectable - AccountIdmToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountIdmToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: IdmAccount)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\n\n@Injectable()\nexport abstract class AccountIdmToDtoMapper {\n\tabstract mapToDto(account: IdmAccount): AccountDto;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperDb.html":{"url":"classes/AccountIdmToDtoMapperDb.html","title":"class - AccountIdmToDtoMapperDb","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.db.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperDb extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.attDbcAccountId ?? '',\n\t\t\tidmReferenceId: account.id,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperIdm.html":{"url":"classes/AccountIdmToDtoMapperIdm.html","title":"class - AccountIdmToDtoMapperIdm","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperIdm\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.idm.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperIdm extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tidmReferenceId: undefined,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountLookupService.html":{"url":"injectables/AccountLookupService.html","title":"injectable - AccountLookupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountLookupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-lookup.service.ts\n \n\n\n \n Description\n \n \n Service to convert between internal and external ids.\nThe external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\nThe internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\nIMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getExternalId\n \n \n Async\n getInternalId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(idmService: IdentityManagementService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n idmService\n \n \n IdentityManagementService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getExternalId\n \n \n \n \n \n \n \n getExternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:44\n \n \n\n\n \n \n Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the external id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:27\n \n \n\n\n \n \n Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the internal id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementService } from '@infra/identity-management';\nimport { ServerConfig } from '@modules/server/server.config';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * Service to convert between internal and external ids.\n * The external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\n * The internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\n * IMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n */\n@Injectable()\nexport class AccountLookupService {\n\tconstructor(\n\t\tprivate readonly idmService: IdentityManagementService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t/**\n\t * Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the internal id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getInternalId(id: EntityId | ObjectId): Promise {\n\t\tif (id instanceof ObjectId || ObjectId.isValid(id)) {\n\t\t\treturn new ObjectId(id);\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountById(id);\n\t\t\treturn new ObjectId(account.attDbcAccountId);\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the external id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getExternalId(id: EntityId | ObjectId): Promise {\n\t\tif (!(id instanceof ObjectId) && !ObjectId.isValid(id)) {\n\t\t\treturn id;\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountByDbcAccountId(id.toString());\n\t\t\treturn account.id;\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountModule.html":{"url":"modules/AccountModule.html","title":"module - AccountModule","body":"\n \n\n\n\n\n Modules\n AccountModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountModule\n\n\n\ncluster_AccountModule_exports\n\n\n\ncluster_AccountModule_imports\n\n\n\ncluster_AccountModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nAccountModule\n\nAccountModule\n\nAccountModule -->\n\nIdentityManagementModule->AccountModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountModule -->\n\nLoggerModule->AccountModule\n\n\n\n\n\nAccountService \n\nAccountService \n\nAccountService -->\n\nAccountModule->AccountService \n\n\n\n\n\nAccountValidationService \n\nAccountValidationService \n\nAccountValidationService -->\n\nAccountModule->AccountValidationService \n\n\n\n\n\nAccountLookupService\n\nAccountLookupService\n\nAccountModule -->\n\nAccountLookupService->AccountModule\n\n\n\n\n\nAccountRepo\n\nAccountRepo\n\nAccountModule -->\n\nAccountRepo->AccountModule\n\n\n\n\n\nAccountService\n\nAccountService\n\nAccountModule -->\n\nAccountService->AccountModule\n\n\n\n\n\nAccountServiceDb\n\nAccountServiceDb\n\nAccountModule -->\n\nAccountServiceDb->AccountModule\n\n\n\n\n\nAccountServiceIdm\n\nAccountServiceIdm\n\nAccountModule -->\n\nAccountServiceIdm->AccountModule\n\n\n\n\n\nAccountValidationService\n\nAccountValidationService\n\nAccountModule -->\n\nAccountValidationService->AccountModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAccountModule -->\n\nLegacySystemRepo->AccountModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountModule -->\n\nPermissionService->AccountModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountModule -->\n\nUserRepo->AccountModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountLookupService\n \n \n AccountRepo\n \n \n AccountService\n \n \n AccountServiceDb\n \n \n AccountServiceIdm\n \n \n AccountValidationService\n \n \n LegacySystemRepo\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AccountService\n \n \n AccountValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management';\nimport { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PermissionService } from '@shared/domain/service';\nimport { LegacySystemRepo, UserRepo } from '@shared/repo';\n\nimport { LoggerModule } from '@src/core/logger/logger.module';\nimport { ServerConfig } from '../server/server.config';\nimport { AccountIdmToDtoMapper, AccountIdmToDtoMapperDb, AccountIdmToDtoMapperIdm } from './mapper';\nimport { AccountRepo } from './repo/account.repo';\nimport { AccountServiceDb } from './services/account-db.service';\nimport { AccountServiceIdm } from './services/account-idm.service';\nimport { AccountLookupService } from './services/account-lookup.service';\nimport { AccountService } from './services/account.service';\nimport { AccountValidationService } from './services/account.validation.service';\n\nfunction accountIdmToDtoMapperFactory(configService: ConfigService): AccountIdmToDtoMapper {\n\tif (configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') === true) {\n\t\treturn new AccountIdmToDtoMapperIdm();\n\t}\n\treturn new AccountIdmToDtoMapperDb();\n}\n\n@Module({\n\timports: [IdentityManagementModule, LoggerModule],\n\tproviders: [\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tPermissionService,\n\t\tAccountRepo,\n\t\tAccountServiceDb,\n\t\tAccountServiceIdm,\n\t\tAccountService,\n\t\tAccountLookupService,\n\t\tAccountValidationService,\n\t\t{\n\t\t\tprovide: AccountIdmToDtoMapper,\n\t\t\tuseFactory: accountIdmToDtoMapperFactory,\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n\texports: [AccountService, AccountValidationService],\n})\nexport class AccountModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountParams.html":{"url":"interfaces/AccountParams.html","title":"interface - AccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n systemId\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountRepo.html":{"url":"injectables/AccountRepo.html","title":"injectable - AccountRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/repo/account.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteById\n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Async\n flush\n \n \n getObjectReference\n \n \n saveWithoutFlush\n \n \n Private\n Async\n searchByUsername\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(accountId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:19\n \n \n\n\n \n \n Finds an account by user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the user id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[] | ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[] | ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getObjectReference\n \n \n \n \n \n \ngetObjectReference(entityName: EntityName, id: Primary | Primary[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:36\n \n \n\n \n \n Type parameters :\n \n Entity\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n EntityName\n \n\n \n No\n \n\n\n \n \n id\n \n Primary | Primary[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Entity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n searchByUsername\n \n \n \n \n \n \n \n searchByUsername(username: string, offset: number, limit: number, exactMatch: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n exactMatch\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { AnyEntity, EntityName, Primary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity/account.entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class AccountRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Account;\n\t}\n\n\t/**\n\t * Finds an account by user id.\n\t * @param userId the user id\n\t */\n\tasync findByUserId(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[] | ObjectId[]): Promise {\n\t\tconst objectIds = userIds.map((id: EntityId | ObjectId) => new ObjectId(id));\n\t\treturn this._em.find(Account, { userId: objectIds });\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOneOrFail(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { username, systemId: new ObjectId(systemId) });\n\t}\n\n\tgetObjectReference>(\n\t\tentityName: EntityName,\n\t\tid: Primary | Primary[]\n\t): Entity {\n\t\treturn this._em.getReference(entityName, id);\n\t}\n\n\tsaveWithoutFlush(account: Account): void {\n\t\tthis._em.persist(account);\n\t}\n\n\tasync flush(): Promise {\n\t\tawait this._em.flush();\n\t}\n\n\tasync searchByUsernameExactMatch(username: string, skip = 0, limit = 1): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, true);\n\t}\n\n\tasync searchByUsernamePartialMatch(username: string, skip = 0, limit = 10): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, false);\n\t}\n\n\tasync deleteById(accountId: EntityId | ObjectId): Promise {\n\t\tconst account = await this.findById(accountId);\n\t\treturn this.delete(account);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst account = await this.findByUserId(userId);\n\t\tif (account) {\n\t\t\tawait this._em.removeAndFlush(account);\n\t\t}\n\t}\n\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\tconst result = await this._em.find(this.entityName, {}, { offset, limit, orderBy: { _id: SortOrder.asc } });\n\t\tthis._em.clear();\n\t\treturn result;\n\t}\n\n\tprivate async searchByUsername(\n\t\tusername: string,\n\t\toffset: number,\n\t\tlimit: number,\n\t\texactMatch: boolean\n\t): Promise {\n\t\t// escapes every character, that's not a unicode letter or number\n\t\tconst escapedUsername = username.replace(/[^(\\p{L}\\p{N})]/gu, '\\\\$&');\n\t\tconst searchUsername = exactMatch ? `^${escapedUsername}$` : escapedUsername;\n\t\treturn this._em.findAndCount(\n\t\t\tthis.entityName,\n\t\t\t{\n\t\t\t\t// NOTE: The default behavior of the MongoDB driver allows\n\t\t\t\t// to pass regular expressions directly into the where clause\n\t\t\t\t// without the need of using the $re operator, this will NOT\n\t\t\t\t// work with SQL drivers\n\t\t\t\tusername: new RegExp(searchUsername, 'i'),\n\t\t\t},\n\t\t\t{\n\t\t\t\toffset,\n\t\t\t\tlimit,\n\t\t\t\torderBy: { username: 1 },\n\t\t\t}\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponse.html":{"url":"classes/AccountResponse.html","title":"class - AccountResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n id\n \n \n \n Optional\n updatedAt\n \n \n \n Optional\n userId\n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: AccountResponse)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n AccountResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountResponse {\n\tconstructor({ id, username, userId, activated, updatedAt }: AccountResponse) {\n\t\tthis.id = id;\n\t\tthis.username = username;\n\t\tthis.userId = userId;\n\t\tthis.activated = activated;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tusername: string;\n\n\t@ApiProperty()\n\tuserId?: string;\n\n\t@ApiProperty()\n\tactivated?: boolean;\n\n\t@ApiProperty()\n\tupdatedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponseMapper.html":{"url":"classes/AccountResponseMapper.html","title":"class - AccountResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n \n \n \n mapToResponseFromEntity(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto/account.dto';\nimport { Account } from '@shared/domain/entity';\nimport { AccountResponse } from '../controller/dto';\n\nexport class AccountResponseMapper {\n\tstatic mapToResponseFromEntity(account: Account): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToResponse(account: AccountDto): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId,\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSaveDto.html":{"url":"classes/AccountSaveDto.html","title":"class - AccountSaveDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSaveDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account-save.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n \n Readonly\n Optional\n id\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountSaveDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountSaveDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PrivacyProtect } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { IsBoolean, IsDate, IsMongoId, IsNotEmpty, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from '../../controller/dto/password-pattern';\n\nexport class AccountSaveDto {\n\t@IsOptional()\n\t@IsMongoId()\n\treadonly id?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly createdAt?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly updatedAt?: Date;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tusername: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsString()\n\ttoken?: string;\n\n\t@IsOptional()\n\t@IsString()\n\tcredentialHash?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tuserId?: EntityId;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tsystemId?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\tlasttriedFailedLogin?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\texpiresAt?: Date;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tactivated?: boolean;\n\n\t@IsOptional()\n\tidmReferenceId?: string;\n\n\tconstructor(props: AccountSaveDto) {\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t\tthis.idmReferenceId = props.idmReferenceId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchListResponse.html":{"url":"classes/AccountSearchListResponse.html","title":"class - AccountSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n AccountResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : AccountResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { AccountResponse } from './account.response';\n\nexport class AccountSearchListResponse extends PaginationResponse {\n\tconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [AccountResponse] })\n\tdata: AccountResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchQueryParams.html":{"url":"classes/AccountSearchQueryParams.html","title":"class - AccountSearchQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search.query.params.ts\n \n\n\n\n \n Extends\n \n \n PaginationParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n value\n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : AccountSearchType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(AccountSearchType)@ApiProperty({description: 'The search criteria.', enum: AccountSearchType, required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The search value.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsString } from 'class-validator';\nimport { PaginationParams } from '@shared/controller';\nimport { AccountSearchType } from './account-search-type';\n\nexport class AccountSearchQueryParams extends PaginationParams {\n\t@IsEnum(AccountSearchType)\n\t@ApiProperty({\n\t\tdescription: 'The search criteria.',\n\t\tenum: AccountSearchType,\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttype!: AccountSearchType;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The search value.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tvalue!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountServiceDb.html":{"url":"injectables/AccountServiceDb.html","title":"injectable - AccountServiceDb","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountServiceDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-db.service.ts\n \n\n\n\n \n Extends\n \n \n AbstractAccountService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n deleteByUserId\n \n \n Private\n encryptPassword\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Private\n Async\n getInternalId\n \n \n Async\n save\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n Async\n updateLastTriedFailedLogin\n \n \n Async\n updatePassword\n \n \n Async\n updateUsername\n \n \n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, accountLookupService: AccountLookupService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n accountLookupService\n \n \n AccountLookupService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:109\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n encryptPassword\n \n \n \n \n \n \n \n encryptPassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:147\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:48\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:123\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:92\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validatePassword\n \n \n \n \n \n \nvalidatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Account } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport bcrypt from 'bcryptjs';\nimport { AccountEntityToDtoMapper } from '../mapper';\nimport { AccountRepo } from '../repo/account.repo';\nimport { AccountLookupService } from './account-lookup.service';\nimport { AbstractAccountService } from './account.service.abstract';\nimport { AccountDto, AccountSaveDto } from './dto';\n\n@Injectable()\nexport class AccountServiceDb extends AbstractAccountService {\n\tconstructor(private readonly accountRepo: AccountRepo, private readonly accountLookupService: AccountLookupService) {\n\t\tsuper();\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\tconst accountEntity = await this.accountRepo.findById(internalId);\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[]): Promise {\n\t\tconst accountEntities = await this.accountRepo.findMultipleByUserId(userIds);\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(accountEntities);\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\tif (!accountEntity) {\n\t\t\tthrow new EntityNotFoundError('Account');\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUsernameAndSystemId(username, systemId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync save(accountDto: AccountSaveDto): Promise {\n\t\tlet account: Account;\n\t\tif (accountDto.id) {\n\t\t\tconst internalId = await this.getInternalId(accountDto.id);\n\t\t\taccount = await this.accountRepo.findById(internalId);\n\t\t\taccount.userId = new ObjectId(accountDto.userId);\n\t\t\taccount.systemId = accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined;\n\t\t\taccount.username = accountDto.username;\n\t\t\taccount.activated = accountDto.activated;\n\t\t\taccount.expiresAt = accountDto.expiresAt;\n\t\t\taccount.lasttriedFailedLogin = accountDto.lasttriedFailedLogin;\n\t\t\tif (accountDto.password) {\n\t\t\t\taccount.password = await this.encryptPassword(accountDto.password);\n\t\t\t}\n\t\t\taccount.credentialHash = accountDto.credentialHash;\n\t\t\taccount.token = accountDto.token;\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t} else {\n\t\t\taccount = new Account({\n\t\t\t\tuserId: new ObjectId(accountDto.userId),\n\t\t\t\tsystemId: accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined,\n\t\t\t\tusername: accountDto.username,\n\t\t\t\tactivated: accountDto.activated,\n\t\t\t\texpiresAt: accountDto.expiresAt,\n\t\t\t\tlasttriedFailedLogin: accountDto.lasttriedFailedLogin,\n\t\t\t\tpassword: accountDto.password ? await this.encryptPassword(accountDto.password) : undefined,\n\t\t\t\ttoken: accountDto.token,\n\t\t\t\tcredentialHash: accountDto.credentialHash,\n\t\t\t});\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateUsername(accountId: EntityId, username: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.username = username;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.lasttriedFailedLogin = lastTriedFailedLogin;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updatePassword(accountId: EntityId, password: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.password = await this.encryptPassword(password);\n\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync delete(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\treturn this.accountRepo.deleteById(internalId);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.accountRepo.deleteByUserId(userId);\n\t}\n\n\tasync searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernamePartialMatch(userName, skip, limit);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tasync searchByUsernameExactMatch(userName: string): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernameExactMatch(userName);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tvalidatePassword(account: AccountDto, comparePassword: string): Promise {\n\t\tif (!account.password) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\t\treturn bcrypt.compare(comparePassword, account.password);\n\t}\n\n\tprivate async getInternalId(id: EntityId | ObjectId): Promise {\n\t\tconst internalId = await this.accountLookupService.getInternalId(id);\n\t\tif (!internalId) {\n\t\t\tthrow new EntityNotFoundError(`Account with id ${id.toString()} not found`);\n\t\t}\n\t\treturn internalId;\n\t}\n\n\tprivate encryptPassword(password: string): Promise {\n\t\treturn bcrypt.hash(password, 10);\n\t}\n\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(await this.accountRepo.findMany(offset, limit));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountValidationService.html":{"url":"injectables/AccountValidationService.html","title":"injectable - AccountValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n Async\n isUniqueEmailForAccount\n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n \n \n \n \n \n isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForAccount\n \n \n \n \n \n \n \n isUniqueEmailForAccount(email: string, accountId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n \n \n \n isUniqueEmailForUser(email: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { AccountEntityToDtoMapper } from '../mapper/account-entity-to-dto.mapper';\nimport { AccountRepo } from '../repo/account.repo';\n\n@Injectable()\nexport class AccountValidationService {\n\tconstructor(private accountRepo: AccountRepo, private userRepo: UserRepo) {}\n\n\tasync isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId): Promise {\n\t\tconst [foundUsers, [accounts]] = await Promise.all([\n\t\t\t// Test coverage: Missing branch null check; unreachable\n\t\t\tthis.userRepo.findByEmail(email),\n\t\t\tAccountEntityToDtoMapper.mapSearchResult(await this.accountRepo.searchByUsernameExactMatch(email)),\n\t\t]);\n\n\t\tconst filteredAccounts = accounts.filter((foundAccount) => foundAccount.systemId === systemId);\n\n\t\treturn !(\n\t\t\tfoundUsers.length > 1 ||\n\t\t\tfilteredAccounts.length > 1 ||\n\t\t\t// paranoid 'toString': legacy code may call userId or accountId as ObjectID\n\t\t\t(foundUsers.length === 1 && foundUsers[0].id.toString() !== userId?.toString()) ||\n\t\t\t(filteredAccounts.length === 1 && filteredAccounts[0].id.toString() !== accountId?.toString())\n\t\t);\n\t}\n\n\tasync isUniqueEmailForUser(email: string, userId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findByUserId(userId);\n\t\treturn this.isUniqueEmail(email, userId, account?.id, account?.systemId?.toString());\n\t}\n\n\tasync isUniqueEmailForAccount(email: string, accountId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findById(accountId);\n\t\treturn this.isUniqueEmail(email, account.userId?.toString(), account.id, account?.systemId?.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerModule.html":{"url":"modules/AdminApiServerModule.html","title":"module - AdminApiServerModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerModule\n\n\n\ncluster_AdminApiServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerModule\n\nAdminApiServerModule\n\nAdminApiServerModule -->\n\nDeletionApiModule->AdminApiServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerModule -->\n\nLoggerModule->AdminApiServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nAdminApiServerModule -->\n\nRabbitMQWrapperModule->AdminApiServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n \n \n \n\n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerTestModule.html":{"url":"modules/AdminApiServerTestModule.html","title":"module - AdminApiServerTestModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerTestModule\n\n\n\ncluster_AdminApiServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule -->\n\nDeletionApiModule->AdminApiServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerTestModule -->\n\nLoggerModule->AdminApiServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nAdminApiServerTestModule -->\n\nMongoMemoryDatabaseModule->AdminApiServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nAdminApiServerTestModule -->\n\nRabbitMQWrapperTestModule->AdminApiServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/admin-api.server.module.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AdminIdAndToken.html":{"url":"interfaces/AdminIdAndToken.html","title":"interface - AdminIdAndToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AdminIdAndToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxGetQueryParams.html":{"url":"classes/AjaxGetQueryParams.html","title":"class - AjaxGetQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxGetQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxGetQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AjaxPostBodyParamsTransformPipe.html":{"url":"injectables/AjaxPostBodyParamsTransformPipe.html","title":"injectable - AjaxPostBodyParamsTransformPipe","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AjaxPostBodyParamsTransformPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts\n \n\n\n \n Description\n \n \n This transform pipe allows nest to validate the incoming request.\nSince H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n transform\n \n \n \n \n \n \n \n transform(value: AjaxPostBodyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, PipeTransform, ValidationPipe } from '@nestjs/common';\nimport { plainToClass } from 'class-transformer';\nimport { validate } from 'class-validator';\nimport {\n\tAjaxPostBodyParams,\n\tLibrariesBodyParams,\n\tContentBodyParams,\n\tLibraryParametersBodyParams,\n} from './post.body.params';\n\n/**\n * This transform pipe allows nest to validate the incoming request.\n * Since H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n */\n\n@Injectable()\nexport class AjaxPostBodyParamsTransformPipe implements PipeTransform {\n\tasync transform(value: AjaxPostBodyParams): Promise {\n\t\tif (value === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif ('libraries' in value) {\n\t\t\tvalue = plainToClass(LibrariesBodyParams, value);\n\t\t} else if ('contentId' in value) {\n\t\t\tvalue = plainToClass(ContentBodyParams, value);\n\t\t} else if ('libraryParameters' in value) {\n\t\t\tvalue = plainToClass(LibraryParametersBodyParams, value);\n\t\t}\n\n\t\tconst validationResult = await validate(value);\n\t\tif (validationResult.length > 0) {\n\t\t\tconst validationPipe = new ValidationPipe();\n\t\t\tconst exceptionFactory = validationPipe.createExceptionFactory();\n\t\t\tthrow exceptionFactory(validationResult);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxPostQueryParams.html":{"url":"classes/AjaxPostQueryParams.html","title":"class - AjaxPostQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxPostQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n id\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxPostQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tid?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AntivirusModule.html":{"url":"modules/AntivirusModule.html","title":"module - AntivirusModule","body":"\n \n\n\n\n\n Modules\n AntivirusModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AntivirusModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.module.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AntivirusModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport NodeClam from 'clamscan';\nimport { AntivirusService } from './antivirus.service';\nimport { AntivirusModuleOptions } from './interfaces';\n\n@Module({})\nexport class AntivirusModule {\n\tstatic forRoot(options: AntivirusModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AntivirusModule,\n\t\t\tproviders: [\n\t\t\t\tAntivirusService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ANTIVIRUS_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: {\n\t\t\t\t\t\tenabled: options.enabled,\n\t\t\t\t\t\tfilesServiceBaseUrl: options.filesServiceBaseUrl,\n\t\t\t\t\t\texchange: options.exchange,\n\t\t\t\t\t\troutingKey: options.routingKey,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tprovide: NodeClam,\n\t\t\t\t\tuseFactory: () => {\n\t\t\t\t\t\tconst isLocalhost = options.hostname === 'localhost';\n\n\t\t\t\t\t\treturn new NodeClam().init({\n\t\t\t\t\t\t\tdebugMode: isLocalhost,\n\t\t\t\t\t\t\tclamdscan: {\n\t\t\t\t\t\t\t\thost: options.hostname,\n\t\t\t\t\t\t\t\tport: options.port,\n\t\t\t\t\t\t\t\tbypassTest: true,\n\t\t\t\t\t\t\t\tlocalFallback: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\n\t\t\texports: [AntivirusService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusModuleOptions.html":{"url":"interfaces/AntivirusModuleOptions.html","title":"interface - AntivirusModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n hostname\n \n \n \n \n port\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostname\n \n \n \n \n \n \n \n \n hostname: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AntivirusService.html":{"url":"injectables/AntivirusService.html","title":"injectable - AntivirusService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AntivirusService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n Private\n getUrl\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: AntivirusServiceOptions, clamConnection: NodeClam)\n \n \n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n AntivirusServiceOptions\n \n \n \n No\n \n \n \n \n clamConnection\n \n \n NodeClam\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n \n \n \n \n \n checkStream(stream: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUrl\n \n \n \n \n \n \n \n getUrl(path: string, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(requestToken: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestToken\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { API_VERSION_PATH, FilesStorageInternalActions } from '@modules/files-storage/files-storage.const';\nimport NodeClam from 'clamscan';\nimport { Readable } from 'stream';\nimport { AntivirusServiceOptions, ScanResult } from './interfaces';\n\n@Injectable()\nexport class AntivirusService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('ANTIVIRUS_SERVICE_OPTIONS') private readonly options: AntivirusServiceOptions,\n\t\tprivate readonly clamConnection: NodeClam\n\t) {}\n\n\tpublic async checkStream(stream: Readable) {\n\t\tconst scanResult: ScanResult = {\n\t\t\tvirus_detected: undefined,\n\t\t\tvirus_signature: undefined,\n\t\t\terror: undefined,\n\t\t};\n\t\ttry {\n\t\t\tconst { isInfected, viruses } = await this.clamConnection.scanStream(stream);\n\t\t\tif (isInfected === true) {\n\t\t\t\tscanResult.virus_detected = true;\n\t\t\t\tscanResult.virus_signature = viruses.join(',');\n\t\t\t} else if (isInfected === null) {\n\t\t\t\tscanResult.virus_detected = undefined;\n\t\t\t\tscanResult.error = '';\n\t\t\t} else {\n\t\t\t\tscanResult.virus_detected = false;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\tnull,\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:checkStream')\n\t\t\t);\n\t\t}\n\n\t\treturn scanResult;\n\t}\n\n\tpublic async send(requestToken: string | undefined): Promise {\n\t\ttry {\n\t\t\tif (this.options.enabled && requestToken) {\n\t\t\t\tconst downloadUri = this.getUrl(FilesStorageInternalActions.downloadBySecurityToken, requestToken);\n\t\t\t\tconst callbackUri = this.getUrl(FilesStorageInternalActions.updateSecurityStatus, requestToken);\n\n\t\t\t\tawait this.amqpConnection.publish(\n\t\t\t\t\tthis.options.exchange,\n\t\t\t\t\tthis.options.routingKey,\n\t\t\t\t\t{ download_uri: downloadUri, callback_uri: callbackUri },\n\t\t\t\t\t{ persistent: true }\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:send'));\n\t\t}\n\t}\n\n\tprivate getUrl(path: string, token: string): string {\n\t\tconst newPath = path.replace(':token', encodeURIComponent(token));\n\t\tconst url = new URL(`${API_VERSION_PATH}${newPath}`, this.options.filesServiceBaseUrl);\n\n\t\treturn url.href;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusServiceOptions.html":{"url":"interfaces/AntivirusServiceOptions.html","title":"interface - AntivirusServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationError.html":{"url":"classes/ApiValidationError.html","title":"class - ApiValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/api-validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/error/api-validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus, ValidationError } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ApiValidationError extends BusinessError {\n\tconstructor(readonly validationErrors: ValidationError[] = []) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'API_VALIDATION_ERROR',\n\t\t\t\ttitle: 'API Validation Error',\n\t\t\t\tdefaultMessage: 'API validation failed, see validationErrors for details',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationErrorResponse.html":{"url":"classes/ApiValidationErrorResponse.html","title":"class - ApiValidationErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/api-validation-error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for api validation errors.\n\n \n\n \n Extends\n \n \n ErrorResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n validationErrors\n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(apiValidationError: ApiValidationError)\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n apiValidationError\n \n \n ApiValidationError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n validationErrors\n \n \n \n \n \n \n Type : ValidationErrorDetailResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:25\n\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:30\n\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:20\n\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:15\n\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:10\n\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n \n \n \n extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[])\n \n \n\n\n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n validationError\n \n ValidationError\n \n\n \n No\n \n\n \n \n\n \n \n parentPropertyPath\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { ErrorResponse } from './error.response';\nimport { ValidationErrorDetailResponse } from './validation-error-detail.response';\n\n/**\n * HTTP response definition for api validation errors.\n */\nexport class ApiValidationErrorResponse extends ErrorResponse {\n\tvalidationErrors: ValidationErrorDetailResponse[] = [];\n\n\tconstructor(apiValidationError: ApiValidationError) {\n\t\tconst { type, title, message, code } = apiValidationError;\n\t\tsuper(type, title, message, code);\n\n\t\tapiValidationError.validationErrors.forEach((validationError: ValidationError) => {\n\t\t\tthis.extractValidationErrorDetails(validationError);\n\t\t});\n\t}\n\n\tprivate extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[] = []): void {\n\t\tconst propertyPath: string[] = [...parentPropertyPath];\n\t\tif (validationError.property) {\n\t\t\tpropertyPath.push(validationError.property);\n\t\t}\n\n\t\tif (validationError.constraints) {\n\t\t\tconst errors: string[] = Object.values(validationError.constraints);\n\t\t\tthis.validationErrors.push(new ValidationErrorDetailResponse(propertyPath, errors));\n\t\t}\n\n\t\tif (validationError.children) {\n\t\t\tvalidationError.children.forEach((childError: ValidationError) =>\n\t\t\t\tthis.extractValidationErrorDetails(childError, propertyPath)\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppStartInfo.html":{"url":"interfaces/AppStartInfo.html","title":"interface - AppStartInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppStartInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n appName\n \n \n \n Optional\n \n basePath\n \n \n \n Optional\n \n mountsDescription\n \n \n \n Optional\n \n port\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n appName\n \n \n \n \n \n \n \n \n appName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n basePath\n \n \n \n \n \n \n \n \n basePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mountsDescription\n \n \n \n \n \n \n \n \n mountsDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppStartLoggable.html":{"url":"classes/AppStartLoggable.html","title":"class - AppStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(info: AppStartInfo)\n \n \n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n \n AppStartInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppendedAttachment.html":{"url":"interfaces/AppendedAttachment.html","title":"interface - AppendedAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppendedAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthCodeFailureLoggableException.html":{"url":"classes/AuthCodeFailureLoggableException.html","title":"class - AuthCodeFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthCodeFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(errorCode?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorCode\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class AuthCodeFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly errorCode?: string) {\n\t\tsuper(errorCode ?? 'sso_auth_code_step', 'Authorization Query Object has no authorization code or error');\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_AUTH_CODE_STEP',\n\t\t\tmessage: 'Authorization Query Object has no authorization code or error',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\terrorCode: this.errorCode,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationApiModule.html":{"url":"modules/AuthenticationApiModule.html","title":"module - AuthenticationApiModule","body":"\n \n\n\n\n\n Modules\n AuthenticationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationApiModule\n\n\n\ncluster_AuthenticationApiModule_providers\n\n\n\ncluster_AuthenticationApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nAuthenticationApiModule -->\n\nAuthenticationModule->AuthenticationApiModule\n\n\n\n\n\nLoginUc\n\nLoginUc\n\nAuthenticationApiModule -->\n\nLoginUc->AuthenticationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LoginUc\n \n \n \n \n Controllers\n \n \n LoginController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthenticationModule } from './authentication.module';\nimport { LoginController } from './controllers/login.controller';\nimport { LoginUc } from './uc/login.uc';\n\n@Module({\n\timports: [AuthenticationModule],\n\tproviders: [LoginUc],\n\tcontrollers: [LoginController],\n\texports: [],\n})\nexport class AuthenticationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationCodeGrantTokenRequest.html":{"url":"classes/AuthenticationCodeGrantTokenRequest.html","title":"class - AuthenticationCodeGrantTokenRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationCodeGrantTokenRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n client_id\n \n \n client_secret\n \n \n code\n \n \n grant_type\n \n \n redirect_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationCodeGrantTokenRequest)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationCodeGrantTokenRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n grant_type\n \n \n \n \n \n \n Type : OAuthGrantType.AUTHORIZATION_CODE_GRANT\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n redirect_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OAuthGrantType } from '../../interface/oauth-grant-type.enum';\n\nexport class AuthenticationCodeGrantTokenRequest {\n\tclient_id: string;\n\n\tclient_secret: string;\n\n\tredirect_uri: string;\n\n\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT;\n\n\tcode: string;\n\n\tconstructor(props: AuthenticationCodeGrantTokenRequest) {\n\t\tthis.client_id = props.client_id;\n\t\tthis.client_secret = props.client_secret;\n\t\tthis.redirect_uri = props.redirect_uri;\n\t\tthis.grant_type = props.grant_type;\n\t\tthis.code = props.code;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationModule.html":{"url":"modules/AuthenticationModule.html","title":"module - AuthenticationModule","body":"\n \n\n\n\n\n Modules\n AuthenticationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationModule\n\n\n\ncluster_AuthenticationModule_imports\n\n\n\ncluster_AuthenticationModule_exports\n\n\n\ncluster_AuthenticationModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nAuthenticationModule -->\n\nAccountModule->AuthenticationModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nAuthenticationModule -->\n\nCacheWrapperModule->AuthenticationModule\n\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nAuthenticationModule -->\n\nIdentityManagementModule->AuthenticationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthenticationModule -->\n\nLoggerModule->AuthenticationModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nAuthenticationModule -->\n\nOauthModule->AuthenticationModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nAuthenticationModule -->\n\nRoleModule->AuthenticationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nAuthenticationModule -->\n\nSystemModule->AuthenticationModule\n\n\n\n\n\nAuthenticationService \n\nAuthenticationService \n\nAuthenticationService -->\n\nAuthenticationModule->AuthenticationService \n\n\n\n\n\nAuthenticationService\n\nAuthenticationService\n\nAuthenticationModule -->\n\nAuthenticationService->AuthenticationModule\n\n\n\n\n\nJwtStrategy\n\nJwtStrategy\n\nAuthenticationModule -->\n\nJwtStrategy->AuthenticationModule\n\n\n\n\n\nJwtValidationAdapter\n\nJwtValidationAdapter\n\nAuthenticationModule -->\n\nJwtValidationAdapter->AuthenticationModule\n\n\n\n\n\nLdapService\n\nLdapService\n\nAuthenticationModule -->\n\nLdapService->AuthenticationModule\n\n\n\n\n\nLdapStrategy\n\nLdapStrategy\n\nAuthenticationModule -->\n\nLdapStrategy->AuthenticationModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthenticationModule -->\n\nLegacySchoolRepo->AuthenticationModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAuthenticationModule -->\n\nLegacySystemRepo->AuthenticationModule\n\n\n\n\n\nLocalStrategy\n\nLocalStrategy\n\nAuthenticationModule -->\n\nLocalStrategy->AuthenticationModule\n\n\n\n\n\nOauth2Strategy\n\nOauth2Strategy\n\nAuthenticationModule -->\n\nOauth2Strategy->AuthenticationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthenticationModule -->\n\nUserRepo->AuthenticationModule\n\n\n\n\n\nXApiKeyStrategy\n\nXApiKeyStrategy\n\nAuthenticationModule -->\n\nXApiKeyStrategy->AuthenticationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthenticationService\n \n \n JwtStrategy\n \n \n JwtValidationAdapter\n \n \n LdapService\n \n \n LdapStrategy\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n LocalStrategy\n \n \n Oauth2Strategy\n \n \n UserRepo\n \n \n XApiKeyStrategy\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n CacheWrapperModule\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n \n \n Exports\n \n \n AuthenticationService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { AccountModule } from '@modules/account';\nimport { OauthModule } from '@modules/oauth/oauth.module';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system';\nimport { Module } from '@nestjs/common';\nimport { JwtModule, JwtModuleOptions } from '@nestjs/jwt';\nimport { PassportModule } from '@nestjs/passport';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { Algorithm, SignOptions } from 'jsonwebtoken';\nimport { jwtConstants } from './constants';\nimport { AuthenticationService } from './services/authentication.service';\nimport { LdapService } from './services/ldap.service';\nimport { JwtValidationAdapter } from './strategy/jwt-validation.adapter';\nimport { JwtStrategy } from './strategy/jwt.strategy';\nimport { LdapStrategy } from './strategy/ldap.strategy';\nimport { LocalStrategy } from './strategy/local.strategy';\nimport { Oauth2Strategy } from './strategy/oauth2.strategy';\nimport { XApiKeyStrategy } from './strategy/x-api-key.strategy';\n\n// values copied from Algorithm definition. Type does not exist at runtime and can't be checked anymore otherwise\nconst algorithms = [\n\t'HS256',\n\t'HS384',\n\t'HS512',\n\t'RS256',\n\t'RS384',\n\t'RS512',\n\t'ES256',\n\t'ES384',\n\t'ES512',\n\t'PS256',\n\t'PS384',\n\t'PS512',\n\t'none',\n];\n\nif (!algorithms.includes(jwtConstants.jwtOptions.algorithm)) {\n\tthrow new Error(`${jwtConstants.jwtOptions.algorithm} is not a valid JWT signing algorithm`);\n}\nconst signAlgorithm = jwtConstants.jwtOptions.algorithm as Algorithm;\n\nconst signOptions: SignOptions = {\n\talgorithm: signAlgorithm,\n\taudience: jwtConstants.jwtOptions.audience,\n\texpiresIn: jwtConstants.jwtOptions.expiresIn,\n\tissuer: jwtConstants.jwtOptions.issuer,\n\theader: { ...jwtConstants.jwtOptions.header, alg: signAlgorithm },\n};\nconst jwtModuleOptions: JwtModuleOptions = {\n\tsecret: jwtConstants.secret,\n\tsignOptions,\n\tverifyOptions: signOptions,\n};\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tPassportModule,\n\t\tJwtModule.register(jwtModuleOptions),\n\t\tAccountModule,\n\t\tSystemModule,\n\t\tOauthModule,\n\t\tRoleModule,\n\t\tIdentityManagementModule,\n\t\tCacheWrapperModule,\n\t],\n\tproviders: [\n\t\tJwtStrategy,\n\t\tJwtValidationAdapter,\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tLegacySchoolRepo,\n\t\tLocalStrategy,\n\t\tAuthenticationService,\n\t\tLdapService,\n\t\tLdapStrategy,\n\t\tOauth2Strategy,\n\t\tXApiKeyStrategy,\n\t],\n\texports: [AuthenticationService],\n})\nexport class AuthenticationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthenticationResponse.html":{"url":"interfaces/AuthenticationResponse.html","title":"interface - AuthenticationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthenticationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n accessToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthenticationService.html":{"url":"injectables/AuthenticationService.html","title":"injectable - AuthenticationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthenticationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/authentication.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkBrutForce\n \n \n Async\n generateJwt\n \n \n Async\n loadAccount\n \n \n normalizePassword\n \n \n normalizeUsername\n \n \n Async\n removeJwtFromWhitelist\n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtService: JwtService, jwtValidationAdapter: JwtValidationAdapter, accountService: AccountService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtService\n \n \n JwtService\n \n \n \n No\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkBrutForce\n \n \n \n \n \n \ncheckBrutForce(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n generateJwt\n \n \n \n \n \n \n \n generateJwt(user: CreateJwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n CreateJwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizePassword\n \n \n \n \n \n \nnormalizePassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizeUsername\n \n \n \n \n \n \nnormalizeUsername(username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeJwtFromWhitelist\n \n \n \n \n \n \n \n removeJwtFromWhitelist(jwtToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\n// invalid import\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import, can produce dependency cycles\nimport type { ServerConfig } from '@modules/server';\nimport { randomUUID } from 'crypto';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { BruteForceError, UnauthorizedLoggableException } from '../errors';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { JwtValidationAdapter } from '../strategy/jwt-validation.adapter';\nimport { LoginDto } from '../uc/dto';\n\n@Injectable()\nexport class AuthenticationService {\n\tconstructor(\n\t\tprivate readonly jwtService: JwtService,\n\t\tprivate readonly jwtValidationAdapter: JwtValidationAdapter,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\tasync loadAccount(username: string, systemId?: string): Promise {\n\t\tlet account: AccountDto | undefined | null;\n\n\t\tif (systemId) {\n\t\t\taccount = await this.accountService.findByUsernameAndSystemId(username, systemId);\n\t\t} else {\n\t\t\tconst [accounts] = await this.accountService.searchByUsernameExactMatch(username);\n\t\t\taccount = accounts.find((foundAccount) => foundAccount.systemId == null);\n\t\t}\n\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedLoggableException(username, systemId);\n\t\t}\n\n\t\treturn account;\n\t}\n\n\tasync generateJwt(user: CreateJwtPayload): Promise {\n\t\tconst jti = randomUUID();\n\n\t\tconst result: LoginDto = new LoginDto({\n\t\t\taccessToken: this.jwtService.sign(user, {\n\t\t\t\tsubject: user.accountId,\n\t\t\t\tjwtid: jti,\n\t\t\t}),\n\t\t});\n\n\t\tawait this.jwtValidationAdapter.addToWhitelist(user.accountId, jti);\n\n\t\treturn result;\n\t}\n\n\tasync removeJwtFromWhitelist(jwtToken: string): Promise {\n\t\tconst decodedJwt: JwtPayload | null = jwt.decode(jwtToken, { json: true });\n\n\t\tif (decodedJwt && decodedJwt.jti && decodedJwt.accountId && typeof decodedJwt.accountId === 'string') {\n\t\t\tawait this.jwtValidationAdapter.removeFromWhitelist(decodedJwt.accountId, decodedJwt.jti);\n\t\t}\n\t}\n\n\tcheckBrutForce(account: AccountDto): void {\n\t\tif (account.lasttriedFailedLogin) {\n\t\t\tconst timeDifference = (new Date().getTime() - account.lasttriedFailedLogin.getTime()) / 1000;\n\n\t\t\tif (timeDifference ('LOGIN_BLOCK_TIME')) {\n\t\t\t\tconst timeToWait = this.configService.get('LOGIN_BLOCK_TIME') - Math.ceil(timeDifference);\n\t\t\t\tthrow new BruteForceError(timeToWait, `Brute Force Prevention! Time to wait: ${timeToWait} s`);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync updateLastTriedFailedLogin(id: string): Promise {\n\t\tawait this.accountService.updateLastTriedFailedLogin(id, new Date());\n\t}\n\n\tnormalizeUsername(username: string): string {\n\t\treturn username.trim().toLowerCase();\n\t}\n\n\tnormalizePassword(password: string): string {\n\t\treturn password.trim();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationValues.html":{"url":"classes/AuthenticationValues.html","title":"class - AuthenticationValues","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationValues\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/authentication-values.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n keyValue\n \n \n secretValue\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationValues)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationValues\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n keyValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n secretValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class AuthenticationValues {\n\tkeyValue: string;\n\n\tsecretValue: string;\n\n\tconstructor(props: AuthenticationValues) {\n\t\tthis.keyValue = props.keyValue;\n\t\tthis.secretValue = props.secretValue;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizableObject.html":{"url":"interfaces/AuthorizableObject.html","title":"interface - AuthorizableObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizableObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationContext.html":{"url":"interfaces/AuthorizationContext.html","title":"interface - AuthorizationContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n action\n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: Action\n\n \n \n\n\n \n \n Type : Action\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n requiredPermissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action } from './action.enum';\n\nexport interface AuthorizationContext {\n\taction: Action;\n\trequiredPermissions: Permission[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationContextBuilder.html":{"url":"classes/AuthorizationContextBuilder.html","title":"class - AuthorizationContextBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationContextBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n read\n \n \n Static\n write\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requiredPermissions: Permission[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n read\n \n \n \n \n \n \n \n read(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n write\n \n \n \n \n \n \n \n write(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action, AuthorizationContext } from '../type';\n\nexport class AuthorizationContextBuilder {\n\tprivate static build(requiredPermissions: Permission[], action: Action): AuthorizationContext {\n\t\tconst context = { requiredPermissions, action };\n\n\t\treturn context;\n\t}\n\n\tstatic write(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.write);\n\n\t\treturn context;\n\t}\n\n\tstatic read(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.read);\n\n\t\treturn context;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationError.html":{"url":"classes/AuthorizationError.html","title":"class - AuthorizationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/authorization.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/authorization.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class AuthorizationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'AUTHORIZATION_OPERATION',\n\t\t\t\ttitle: 'Authorization Error',\n\t\t\t\tdefaultMessage: message ?? 'The action could not be authorized.',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationHelper.html":{"url":"injectables/AuthorizationHelper.html","title":"injectable - AuthorizationHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasAllPermissionsByRole\n \n \n Public\n hasOneOfPermissions\n \n \n Private\n isUserReferenced\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n \n \n \n \n \n hasAccessToEntity(user: User, entity: T, userRefProps: K[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n userRefProps\n \n K[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissionsByRole\n \n \n \n \n \n \n \n hasAllPermissionsByRole(role: Role, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserReferenced\n \n \n \n \n \n \n \n isUserReferenced(user: User, entity: T, prop: K)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n prop\n \n K\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Collection } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Role, User } from '@shared/domain/entity';\n\n@Injectable()\nexport class AuthorizationHelper {\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tconst usersPermissions = user.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasAllPermissionsByRole(role: Role, requiredPermissions: string[]): boolean {\n\t\tconst permissions = role.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => permissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\t// TODO: Wouldn't it make more sense to return true for an empty permissions-array?\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst permissions = user.resolvePermissions();\n\t\tconst hasPermission = requiredPermissions.some((p) => permissions.includes(p));\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic hasAccessToEntity(user: User, entity: T, userRefProps: K[]): boolean {\n\t\tconst result = userRefProps.some((prop) => this.isUserReferenced(user, entity, prop));\n\n\t\treturn result;\n\t}\n\n\tprivate isUserReferenced(user: User, entity: T, prop: K) {\n\t\tlet result = false;\n\n\t\tconst reference = entity[prop];\n\n\t\tif (reference instanceof Collection) {\n\t\t\tresult = reference.contains(user);\n\t\t} else if (reference instanceof User) {\n\t\t\tresult = reference === user;\n\t\t} else {\n\t\t\tresult = (reference as unknown as string) === user.id;\n\t\t}\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderService.html":{"url":"interfaces/AuthorizationLoaderService.html","title":"interface - AuthorizationLoaderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderServiceGeneric.html":{"url":"interfaces/AuthorizationLoaderServiceGeneric.html","title":"interface - AuthorizationLoaderServiceGeneric","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderServiceGeneric\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n \n Extends\n \n \n AuthorizationLoaderService\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationModule.html":{"url":"modules/AuthorizationModule.html","title":"module - AuthorizationModule","body":"\n \n\n\n\n\n Modules\n AuthorizationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationModule\n\n\n\ncluster_AuthorizationModule_providers\n\n\n\ncluster_AuthorizationModule_imports\n\n\n\ncluster_AuthorizationModule_exports\n\n\n\n\nFeathersModule\n\nFeathersModule\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nAuthorizationModule -->\n\nFeathersModule->AuthorizationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationModule -->\n\nLoggerModule->AuthorizationModule\n\n\n\n\n\nAuthorizationService \n\nAuthorizationService \n\nAuthorizationService -->\n\nAuthorizationModule->AuthorizationService \n\n\n\n\n\nFeathersAuthorizationService \n\nFeathersAuthorizationService \n\nFeathersAuthorizationService -->\n\nAuthorizationModule->FeathersAuthorizationService \n\n\n\n\n\nSystemRule \n\nSystemRule \n\nSystemRule -->\n\nAuthorizationModule->SystemRule \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationModule -->\n\nAuthorizationHelper->AuthorizationModule\n\n\n\n\n\nAuthorizationService\n\nAuthorizationService\n\nAuthorizationModule -->\n\nAuthorizationService->AuthorizationModule\n\n\n\n\n\nBoardDoRule\n\nBoardDoRule\n\nAuthorizationModule -->\n\nBoardDoRule->AuthorizationModule\n\n\n\n\n\nContextExternalToolRule\n\nContextExternalToolRule\n\nAuthorizationModule -->\n\nContextExternalToolRule->AuthorizationModule\n\n\n\n\n\nCourseGroupRule\n\nCourseGroupRule\n\nAuthorizationModule -->\n\nCourseGroupRule->AuthorizationModule\n\n\n\n\n\nCourseRule\n\nCourseRule\n\nAuthorizationModule -->\n\nCourseRule->AuthorizationModule\n\n\n\n\n\nFeathersAuthProvider\n\nFeathersAuthProvider\n\nAuthorizationModule -->\n\nFeathersAuthProvider->AuthorizationModule\n\n\n\n\n\nFeathersAuthorizationService\n\nFeathersAuthorizationService\n\nAuthorizationModule -->\n\nFeathersAuthorizationService->AuthorizationModule\n\n\n\n\n\nGroupRule\n\nGroupRule\n\nAuthorizationModule -->\n\nGroupRule->AuthorizationModule\n\n\n\n\n\nLegacySchoolRule\n\nLegacySchoolRule\n\nAuthorizationModule -->\n\nLegacySchoolRule->AuthorizationModule\n\n\n\n\n\nLessonRule\n\nLessonRule\n\nAuthorizationModule -->\n\nLessonRule->AuthorizationModule\n\n\n\n\n\nRuleManager\n\nRuleManager\n\nAuthorizationModule -->\n\nRuleManager->AuthorizationModule\n\n\n\n\n\nSchoolExternalToolRule\n\nSchoolExternalToolRule\n\nAuthorizationModule -->\n\nSchoolExternalToolRule->AuthorizationModule\n\n\n\n\n\nSchoolSystemOptionsRule\n\nSchoolSystemOptionsRule\n\nAuthorizationModule -->\n\nSchoolSystemOptionsRule->AuthorizationModule\n\n\n\n\n\nSubmissionRule\n\nSubmissionRule\n\nAuthorizationModule -->\n\nSubmissionRule->AuthorizationModule\n\n\n\n\n\nSystemRule\n\nSystemRule\n\nAuthorizationModule -->\n\nSystemRule->AuthorizationModule\n\n\n\n\n\nTaskRule\n\nTaskRule\n\nAuthorizationModule -->\n\nTaskRule->AuthorizationModule\n\n\n\n\n\nTeamRule\n\nTeamRule\n\nAuthorizationModule -->\n\nTeamRule->AuthorizationModule\n\n\n\n\n\nUserLoginMigrationRule\n\nUserLoginMigrationRule\n\nAuthorizationModule -->\n\nUserLoginMigrationRule->AuthorizationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationModule -->\n\nUserRepo->AuthorizationModule\n\n\n\n\n\nUserRule\n\nUserRule\n\nAuthorizationModule -->\n\nUserRule->AuthorizationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationService\n \n \n BoardDoRule\n \n \n ContextExternalToolRule\n \n \n CourseGroupRule\n \n \n CourseRule\n \n \n FeathersAuthProvider\n \n \n FeathersAuthorizationService\n \n \n GroupRule\n \n \n LegacySchoolRule\n \n \n LessonRule\n \n \n RuleManager\n \n \n SchoolExternalToolRule\n \n \n SchoolSystemOptionsRule\n \n \n SubmissionRule\n \n \n SystemRule\n \n \n TaskRule\n \n \n TeamRule\n \n \n UserLoginMigrationRule\n \n \n UserRepo\n \n \n UserRule\n \n \n \n \n Imports\n \n \n FeathersModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationService\n \n \n FeathersAuthorizationService\n \n \n SystemRule\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersModule } from '@infra/feathers';\nimport { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationHelper, AuthorizationService, RuleManager } from './domain';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSchoolSystemOptionsRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from './domain/rules';\nimport { FeathersAuthorizationService, FeathersAuthProvider } from './feathers';\n\n@Module({\n\timports: [FeathersModule, LoggerModule],\n\tproviders: [\n\t\tFeathersAuthorizationService,\n\t\tFeathersAuthProvider,\n\t\tAuthorizationService,\n\t\tUserRepo,\n\t\tRuleManager,\n\t\tAuthorizationHelper,\n\t\t// rules\n\t\tBoardDoRule,\n\t\tContextExternalToolRule,\n\t\tCourseGroupRule,\n\t\tCourseRule,\n\t\tGroupRule,\n\t\tLessonRule,\n\t\tSchoolExternalToolRule,\n\t\tSubmissionRule,\n\t\tTaskRule,\n\t\tTeamRule,\n\t\tUserRule,\n\t\tUserLoginMigrationRule,\n\t\tLegacySchoolRule,\n\t\tSystemRule,\n\t\tSchoolSystemOptionsRule,\n\t],\n\texports: [FeathersAuthorizationService, AuthorizationService, SystemRule],\n})\nexport class AuthorizationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationParams.html":{"url":"classes/AuthorizationParams.html","title":"class - AuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class AuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tstate!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationReferenceModule.html":{"url":"modules/AuthorizationReferenceModule.html","title":"module - AuthorizationReferenceModule","body":"\n \n\n\n\n\n Modules\n AuthorizationReferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationReferenceModule\n\n\n\ncluster_AuthorizationReferenceModule_imports\n\n\n\ncluster_AuthorizationReferenceModule_providers\n\n\n\ncluster_AuthorizationReferenceModule_exports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule -->\n\nAuthorizationModule->AuthorizationReferenceModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nAuthorizationReferenceModule -->\n\nLessonModule->AuthorizationReferenceModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationReferenceModule -->\n\nLoggerModule->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService \n\nAuthorizationReferenceService \n\nAuthorizationReferenceService -->\n\nAuthorizationReferenceModule->AuthorizationReferenceService \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationReferenceModule -->\n\nAuthorizationHelper->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService\n\nAuthorizationReferenceService\n\nAuthorizationReferenceModule -->\n\nAuthorizationReferenceService->AuthorizationReferenceModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nAuthorizationReferenceModule -->\n\nCourseGroupRepo->AuthorizationReferenceModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nAuthorizationReferenceModule -->\n\nCourseRepo->AuthorizationReferenceModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthorizationReferenceModule -->\n\nLegacySchoolRepo->AuthorizationReferenceModule\n\n\n\n\n\nReferenceLoader\n\nReferenceLoader\n\nAuthorizationReferenceModule -->\n\nReferenceLoader->AuthorizationReferenceModule\n\n\n\n\n\nSchoolExternalToolRepo\n\nSchoolExternalToolRepo\n\nAuthorizationReferenceModule -->\n\nSchoolExternalToolRepo->AuthorizationReferenceModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nAuthorizationReferenceModule -->\n\nSubmissionRepo->AuthorizationReferenceModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nAuthorizationReferenceModule -->\n\nTaskRepo->AuthorizationReferenceModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nAuthorizationReferenceModule -->\n\nTeamsRepo->AuthorizationReferenceModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationReferenceModule -->\n\nUserRepo->AuthorizationReferenceModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization-reference.module.ts\n \n\n\n\n \n Description\n \n \n This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\nFor now it is used where the authorization itself needs to load data from the database.\nAvoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n\n \n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationReferenceService\n \n \n CourseGroupRepo\n \n \n CourseRepo\n \n \n LegacySchoolRepo\n \n \n ReferenceLoader\n \n \n SchoolExternalToolRepo\n \n \n SubmissionRepo\n \n \n TaskRepo\n \n \n TeamsRepo\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationReferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { ToolModule } from '@modules/tool';\nimport { forwardRef, Module } from '@nestjs/common';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonModule } from '../lesson';\nimport { AuthorizationModule } from './authorization.module';\nimport { AuthorizationHelper, AuthorizationReferenceService, ReferenceLoader } from './domain';\n\n/**\n * This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\n * For now it is used where the authorization itself needs to load data from the database.\n * Avoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n */\n@Module({\n\t// TODO: remove forwardRef to TooModule N21-1055\n\timports: [\n\t\tAuthorizationModule,\n\t\tLessonModule,\n\t\tforwardRef(() => ToolModule),\n\t\tforwardRef(() => BoardModule),\n\t\tLoggerModule,\n\t],\n\tproviders: [\n\t\tAuthorizationHelper,\n\t\tReferenceLoader,\n\t\tUserRepo,\n\t\tCourseRepo,\n\t\tCourseGroupRepo,\n\t\tTaskRepo,\n\t\tLegacySchoolRepo,\n\t\tTeamsRepo,\n\t\tSubmissionRepo,\n\t\tSchoolExternalToolRepo,\n\t\tAuthorizationReferenceService,\n\t],\n\texports: [AuthorizationReferenceService],\n})\nexport class AuthorizationReferenceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationReferenceService.html":{"url":"injectables/AuthorizationReferenceService.html","title":"injectable - AuthorizationReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts\n \n\n\n \n Description\n \n \n Should by use only internal in authorization module. See ticket: BC-3990\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loader: ReferenceLoader, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loader\n \n \n ReferenceLoader\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n \n \n \n \n \n checkPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n \n \n \n hasPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizableReferenceType, AuthorizationContext } from '../type';\nimport { AuthorizationService } from './authorization.service';\nimport { ReferenceLoader } from './reference.loader';\n\n/**\n * Should by use only internal in authorization module. See ticket: BC-3990\n */\n@Injectable()\nexport class AuthorizationReferenceService {\n\tconstructor(private readonly loader: ReferenceLoader, private readonly authorizationService: AuthorizationService) {}\n\n\tpublic async checkPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tif (!(await this.hasPermissionByReferences(userId, entityName, entityId, context))) {\n\t\t\tthrow new ForbiddenLoggableException(userId, entityName, context);\n\t\t}\n\t}\n\n\tpublic async hasPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst [user, object] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.loader.loadAuthorizableObject(entityName, entityId),\n\t\t]);\n\n\t\tconst hasPermission = this.authorizationService.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationService.html":{"url":"injectables/AuthorizationService.html","title":"injectable - AuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n Public\n checkOneOfPermissions\n \n \n Public\n checkPermission\n \n \n Public\n Async\n getUserWithPermissions\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasOneOfPermissions\n \n \n Public\n hasPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ruleManager: RuleManager, authorizationHelper: AuthorizationHelper, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ruleManager\n \n \n RuleManager\n \n \n \n No\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n \n \n \n \n \n checkAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkOneOfPermissions\n \n \n \n \n \n \n \n checkOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkPermission\n \n \n \n \n \n \n \n checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getUserWithPermissions\n \n \n \n \n \n \n \n getUserWithPermissions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizationContext } from '../type';\nimport { AuthorizationHelper } from './authorization.helper';\nimport { RuleManager } from './rule-manager';\n\n@Injectable()\nexport class AuthorizationService {\n\tconstructor(\n\t\tprivate readonly ruleManager: RuleManager,\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tpublic checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): void {\n\t\tif (!this.hasPermission(user, object, context)) {\n\t\t\tthrow new ForbiddenLoggableException(user.id, object.constructor.name, context);\n\t\t}\n\t}\n\n\tpublic hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): boolean {\n\t\tconst rule = this.ruleManager.selectRule(user, object, context);\n\t\tconst hasPermission = rule.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic checkAllPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasAllPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t}\n\n\tpublic checkOneOfPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions);\n\t}\n\n\tpublic async getUserWithPermissions(userId: EntityId): Promise {\n\t\t// replace with service method getUserWithPermissions BC-5069\n\t\tconst userWithPopulatedRoles = await this.userRepo.findById(userId, true);\n\n\t\treturn userWithPopulatedRoles;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextIdStrategy.html":{"url":"injectables/AutoContextIdStrategy.html","title":"injectable - AutoContextIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextIdStrategy implements AutoParameterStrategy {\n\tgetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool): string | undefined {\n\t\treturn contextExternalTool.contextRef.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextNameStrategy.html":{"url":"injectables/AutoContextNameStrategy.html","title":"injectable - AutoContextNameStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextNameStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n Private\n Async\n getCourseValue\n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, contentElementService: ContentElementService, columnBoardService: ColumnBoardService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n \n \n \n \n \n getBoardValue(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCourseValue\n \n \n \n \n \n \n \n getCourseValue(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { AnyContentElementDo, BoardExternalReferenceType, ColumnBoard } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { CustomParameterType, ToolContextType } from '../../../common/enum';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { ParameterTypeNotImplementedLoggableException } from '../../error';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextNameStrategy implements AutoParameterStrategy {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly contentElementService: ContentElementService,\n\t\tprivate readonly columnBoardService: ColumnBoardService\n\t) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tswitch (contextExternalTool.contextRef.type) {\n\t\t\tcase ToolContextType.COURSE: {\n\t\t\t\tconst courseValue: string = await this.getCourseValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn courseValue;\n\t\t\t}\n\t\t\tcase ToolContextType.BOARD_ELEMENT: {\n\t\t\t\tconst boardValue: string | undefined = await this.getBoardValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn boardValue;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new ParameterTypeNotImplementedLoggableException(\n\t\t\t\t\t`${CustomParameterType.AUTO_CONTEXTNAME}/${contextExternalTool.contextRef.type as string}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async getCourseValue(courseId: EntityId): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\n\t\treturn course.name;\n\t}\n\n\tprivate async getBoardValue(elementId: EntityId): Promise {\n\t\tconst element: AnyContentElementDo = await this.contentElementService.findById(elementId);\n\n\t\tconst board: ColumnBoard = await this.columnBoardService.findByDescendant(element);\n\n\t\tif (board.context.type === BoardExternalReferenceType.Course) {\n\t\t\tconst courseName: string = await this.getCourseValue(board.context.id);\n\n\t\t\treturn courseName;\n\t\t}\n\n\t\treturn undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AutoParameterStrategy.html":{"url":"interfaces/AutoParameterStrategy.html","title":"interface - AutoParameterStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AutoParameterStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | Promise | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\n\nexport interface AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | Promise | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolIdStrategy.html":{"url":"injectables/AutoSchoolIdStrategy.html","title":"injectable - AutoSchoolIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolIdStrategy implements AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | undefined {\n\t\treturn schoolExternalTool.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolNumberStrategy.html":{"url":"injectables/AutoSchoolNumberStrategy.html","title":"injectable - AutoSchoolNumberStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolNumberStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolNumberStrategy implements AutoParameterStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolExternalTool.schoolId);\n\n\t\treturn school.officialSchoolNumber;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorFactory.html":{"url":"classes/AxiosErrorFactory.html","title":"class - AxiosErrorFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-error.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withError\n \n \n \n \n \n \nwithError(error)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/axios-error.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { axiosResponseFactory } from '@shared/testing';\nimport { AxiosError, AxiosHeaders } from 'axios';\nimport { Factory } from 'fishery';\n\nclass AxiosErrorFactory extends Factory {\n\twithError(error: unknown): this {\n\t\treturn this.params({\n\t\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST, data: error }),\n\t\t});\n\t}\n}\n\nexport const axiosErrorFactory = AxiosErrorFactory.define(() => {\n\treturn {\n\t\tstatus: HttpStatus.BAD_REQUEST,\n\t\tconfig: { headers: new AxiosHeaders() },\n\t\tisAxiosError: true,\n\t\tcode: HttpStatus.BAD_REQUEST.toString(),\n\t\tmessage: 'Bad Request',\n\t\tname: 'BadRequest',\n\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST }),\n\t\tstack: 'mockStack',\n\t\ttoJSON: () => {\n\t\t\treturn { someJson: 'someJson' };\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorLoggable.html":{"url":"classes/AxiosErrorLoggable.html","title":"class - AxiosErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/axios-error.loggable.ts\n \n\n\n\n \n Extends\n \n \n HttpException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(axiosError: AxiosError, type: string)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n axiosError\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { AxiosError } from 'axios';\n\nexport class AxiosErrorLoggable extends HttpException implements Loggable {\n\tconstructor(private readonly axiosError: AxiosError, protected readonly type: string) {\n\t\tsuper(JSON.stringify(axiosError.response?.data), axiosError.status ?? HttpStatus.INTERNAL_SERVER_ERROR, {\n\t\t\tcause: axiosError.cause,\n\t\t});\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.axiosError.message,\n\t\t\ttype: this.type,\n\t\t\tdata: JSON.stringify(this.axiosError.response?.data),\n\t\t\tstack: this.axiosError.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosResponseImp.html":{"url":"classes/AxiosResponseImp.html","title":"class - AxiosResponseImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosResponseImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-response.factory.ts\n \n\n\n\n\n \n Implements\n \n \n AxiosResponse\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n data\n \n \n headers\n \n \n status\n \n \n statusText\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AxiosResponseProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AxiosResponseProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : InternalAxiosRequestConfig<>\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n headers\n \n \n \n \n \n \n Type : AxiosHeaders\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n statusText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AxiosHeaderValue, AxiosHeaders, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { BaseFactory } from './base.factory';\n\nexport type AxiosHeadersKeyValue = { [key: string]: AxiosHeaderValue };\ntype AxiosResponseProps = {\n\tdata: T;\n\tstatus: number;\n\tstatusText: string;\n\theaders: AxiosHeadersKeyValue;\n\tconfig: InternalAxiosRequestConfig;\n};\n\nclass AxiosResponseImp implements AxiosResponse {\n\tdata: T;\n\n\tstatus: number;\n\n\tstatusText: string;\n\n\theaders: AxiosHeaders;\n\n\tconfig: InternalAxiosRequestConfig;\n\n\tconstructor(props: AxiosResponseProps) {\n\t\tthis.data = props.data;\n\t\tthis.status = props.status;\n\t\tthis.statusText = props.statusText;\n\t\tthis.headers = new AxiosHeaders(props.headers);\n\t\tthis.config = props.config;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const axiosResponseFactory = BaseFactory.define, AxiosResponseProps>(\n\tAxiosResponseImp,\n\t() => {\n\t\treturn {\n\t\t\tdata: '',\n\t\t\tstatus: 200,\n\t\t\tstatusText: '',\n\t\t\theaders: new AxiosHeaders(),\n\t\t\tconfig: { headers: new AxiosHeaders() },\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBBaseMeetingConfig.html":{"url":"classes/BBBBaseMeetingConfig.html","title":"class - BBBBaseMeetingConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBBaseMeetingConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBBaseMeetingConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBBaseMeetingConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class BBBBaseMeetingConfig {\n\tconstructor(config: BBBBaseMeetingConfig) {\n\t\tthis.meetingID = config.meetingID;\n\t}\n\n\tmeetingID: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBBaseResponse.html":{"url":"interfaces/BBBBaseResponse.html","title":"interface - BBBBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-base.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n \n messageKey\n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n messageKey\n \n \n \n \n \n \n \n \n messageKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n returncode: BBBStatus\n\n \n \n\n\n \n \n Type : BBBStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBStatus } from './bbb-status.enum';\n\nexport interface BBBBaseResponse {\n\treturncode: BBBStatus;\n\tmessageKey: string;\n\tmessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfig.html":{"url":"classes/BBBCreateConfig.html","title":"class - BBBCreateConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n Optional\n attendeePW\n \n \n Optional\n guestPolicy\n \n \n Optional\n logoutURL\n \n \n Optional\n meta_bbb-origin-server-name\n \n \n Optional\n moderatorPW\n \n \n Optional\n muteOnStart\n \n \n name\n \n \n Optional\n welcome\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBCreateConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBCreateConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n attendeePW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guestPolicy\n \n \n \n \n \n \n Type : GuestPolicy\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n meta_bbb-origin-server-name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n moderatorPW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n muteOnStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n welcome\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum GuestPolicy {\n\tALWAYS_ACCEPT = 'ALWAYS_ACCEPT',\n\tALWAYS_DENY = 'ALWAYS_DENY',\n\tASK_MODERATOR = 'ASK_MODERATOR',\n}\n\nexport class BBBCreateConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBCreateConfig) {\n\t\tsuper(config);\n\t\tthis.name = config.name;\n\t\tthis.meetingID = config.meetingID;\n\t\tthis.logoutURL = config.logoutURL;\n\t\tthis.welcome = config.welcome;\n\t\tthis.guestPolicy = config.guestPolicy;\n\t\tthis.moderatorPW = config.moderatorPW;\n\t\tthis.attendeePW = config.attendeePW;\n\t\tthis.allowModsToUnmuteUsers = config.allowModsToUnmuteUsers;\n\t\tthis['meta_bbb-origin-server-name'] = config['meta_bbb-origin-server-name'];\n\t}\n\n\tname: string;\n\n\tattendeePW?: string;\n\n\tmoderatorPW?: string;\n\n\tlogoutURL?: string;\n\n\twelcome?: string;\n\n\tguestPolicy?: GuestPolicy;\n\n\tmuteOnStart?: boolean;\n\n\tallowModsToUnmuteUsers?: boolean;\n\n\t'meta_bbb-origin-server-name'?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfigBuilder.html":{"url":"classes/BBBCreateConfigBuilder.html","title":"class - BBBCreateConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n withGuestPolicy\n \n \n withLogoutUrl\n \n \n withMuteOnStart\n \n \n withWelcome\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:26\n\n \n \n\n\n \n \n\n \n Returns : BBBCreateConfig\n\n \n \n \n \n \n \n \n \n \n \n \n withGuestPolicy\n \n \n \n \n \n \nwithGuestPolicy(guestPolicy: GuestPolicy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n guestPolicy\n \n GuestPolicy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLogoutUrl\n \n \n \n \n \n \nwithLogoutUrl(logoutUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withMuteOnStart\n \n \n \n \n \n \nwithMuteOnStart(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withWelcome\n \n \n \n \n \n \nwithWelcome(welcome: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n welcome\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { BBBCreateConfig, BBBRole, GuestPolicy } from '../request';\nimport { Builder } from './builder';\n\nexport class BBBCreateConfigBuilder extends Builder {\n\twithLogoutUrl(logoutUrl: string): BBBCreateConfigBuilder {\n\t\tthis.product.logoutURL = logoutUrl;\n\t\treturn this;\n\t}\n\n\twithWelcome(welcome: string): BBBCreateConfigBuilder {\n\t\tthis.product.welcome = welcome;\n\t\treturn this;\n\t}\n\n\twithGuestPolicy(guestPolicy: GuestPolicy): BBBCreateConfigBuilder {\n\t\tthis.product.guestPolicy = guestPolicy;\n\t\treturn this;\n\t}\n\n\twithMuteOnStart(value: boolean): BBBCreateConfigBuilder {\n\t\tthis.product.muteOnStart = value;\n\t\treturn this;\n\t}\n\n\toverride build(): BBBCreateConfig {\n\t\tthis.product['meta_bbb-origin-server-name'] = Configuration.get('SC_DOMAIN') as string;\n\n\t\t// Deprecated fields from BBB that have to be set to a consistent value, in order to call the create endpoint multiple times without error\n\t\tthis.product.moderatorPW = BBBRole.MODERATOR;\n\t\tthis.product.attendeePW = BBBRole.VIEWER;\n\n\t\tthis.product.allowModsToUnmuteUsers = true;\n\n\t\treturn super.build();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBCreateResponse.html":{"url":"interfaces/BBBCreateResponse.html","title":"interface - BBBCreateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBCreateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-create.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n meetingID\n \n \n \n \n parentMeetingID\n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentMeetingID\n \n \n \n \n \n \n \n \n parentMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBCreateResponse extends BBBBaseResponse {\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tparentMeetingID: string;\n\tcreateTime: number;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\tcreateDate: string;\n\thasUserJoined: boolean;\n\tduration: number;\n\thasBeenForciblyEnded: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfig.html":{"url":"classes/BBBJoinConfig.html","title":"class - BBBJoinConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n fullName\n \n \n Optional\n guest\n \n \n Optional\n redirect\n \n \n role\n \n \n Optional\n userID\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBJoinConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBJoinConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n fullName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guest\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : BBBRole\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum BBBRole {\n\tMODERATOR = 'MODERATOR',\n\tVIEWER = 'VIEWER',\n}\n\nexport class BBBJoinConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBJoinConfig) {\n\t\tsuper(config);\n\t\tthis.fullName = config.fullName;\n\t\tthis.role = config.role;\n\t\tthis.userID = config.userID;\n\t\tthis.guest = config.guest;\n\t\tthis.redirect = config.redirect;\n\t}\n\n\tfullName: string;\n\n\trole: BBBRole;\n\n\tuserID?: string;\n\n\tguest?: boolean;\n\n\tredirect?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfigBuilder.html":{"url":"classes/BBBJoinConfigBuilder.html","title":"class - BBBJoinConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asGuest\n \n \n withRole\n \n \n withUserId\n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asGuest\n \n \n \n \n \n \nasGuest(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(value: BBBRole)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(value: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:8\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBJoinConfig, BBBRole } from '../request/bbb-join.config';\nimport { Builder } from './builder';\n\nexport class BBBJoinConfigBuilder extends Builder {\n\tasGuest(value: boolean): BBBJoinConfigBuilder {\n\t\tthis.product.guest = value;\n\t\treturn this;\n\t}\n\n\twithRole(value: BBBRole): BBBJoinConfigBuilder {\n\t\tthis.product.role = value;\n\t\treturn this;\n\t}\n\n\twithUserId(value: string): BBBJoinConfigBuilder {\n\t\tthis.product.userID = value;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBJoinResponse.html":{"url":"interfaces/BBBJoinResponse.html","title":"interface - BBBJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-join.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n auth_token\n \n \n \n \n meeting_id\n \n \n \n \n session_token\n \n \n \n \n url\n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n auth_token\n \n \n \n \n \n \n \n \n auth_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meeting_id\n \n \n \n \n \n \n \n \n meeting_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_token\n \n \n \n \n \n \n \n \n session_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBJoinResponse extends BBBBaseResponse {\n\tmeeting_id: string;\n\tuser_id: string;\n\tauth_token: string;\n\tsession_token: string;\n\turl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBMeetingInfoResponse.html":{"url":"interfaces/BBBMeetingInfoResponse.html","title":"interface - BBBMeetingInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBMeetingInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-meeting-info.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n attendees\n \n \n \n Optional\n \n breakout\n \n \n \n Optional\n \n breakoutRooms\n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n endTime\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n isBreakout\n \n \n \n \n listenerCount\n \n \n \n \n maxUsers\n \n \n \n \n meetingID\n \n \n \n \n meetingName\n \n \n \n \n metadata\n \n \n \n \n moderatorCount\n \n \n \n \n participantCount\n \n \n \n \n recording\n \n \n \n \n running\n \n \n \n \n startTime\n \n \n \n \n videoCount\n \n \n \n \n voiceBridge\n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attendees\n \n \n \n \n \n \n \n \n attendees: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n breakout\n \n \n \n \n \n \n \n \n breakout: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n breakoutRooms\n \n \n \n \n \n \n \n \n breakoutRooms: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endTime\n \n \n \n \n \n \n \n \n endTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isBreakout\n \n \n \n \n \n \n \n \n isBreakout: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n listenerCount\n \n \n \n \n \n \n \n \n listenerCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxUsers\n \n \n \n \n \n \n \n \n maxUsers: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingName\n \n \n \n \n \n \n \n \n meetingName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n moderatorCount\n \n \n \n \n \n \n \n \n moderatorCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n participantCount\n \n \n \n \n \n \n \n \n participantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recording\n \n \n \n \n \n \n \n \n recording: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n running\n \n \n \n \n \n \n \n \n running: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startTime\n \n \n \n \n \n \n \n \n startTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoCount\n \n \n \n \n \n \n \n \n videoCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n voiceParticipantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBMeetingInfoResponse extends BBBBaseResponse {\n\tmeetingName: string;\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tcreateTime: number;\n\tcreateDate: string;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\trunning: boolean;\n\tduration: number;\n\thasUserJoined: boolean;\n\trecording: boolean;\n\thasBeenForciblyEnded: boolean;\n\tstartTime: number;\n\tendTime: number;\n\tparticipantCount: number;\n\tlistenerCount: number;\n\tvoiceParticipantCount: number;\n\tvideoCount: number;\n\tmaxUsers: number;\n\tmoderatorCount: number;\n\tattendees: {\n\t\tattendee: {\n\t\t\tuserID: string;\n\t\t\tfullName: string;\n\t\t\trole: string;\n\t\t\tisPresenter: boolean;\n\t\t\tisListeningOnly: boolean;\n\t\t\thasJoinedVoice: boolean;\n\t\t\thasVideo: boolean;\n\t\t\tclientType: string;\n\t\t};\n\t}[];\n\tmetadata: unknown;\n\tisBreakout: boolean;\n\tbreakoutRooms?: {\n\t\tbreakout: string;\n\t}[];\n\tbreakout?: {\n\t\tparentMeetingID: string;\n\t\tsequence: number;\n\t\tfreeJoin: boolean;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBResponse.html":{"url":"interfaces/BBBResponse.html","title":"interface - BBBResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n response: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBResponse {\n\tresponse: T;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BBBService.html":{"url":"injectables/BBBService.html","title":"injectable - BBBService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BBBService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n end\n \n \n Protected\n generateChecksum\n \n \n getBbbRequestConfig\n \n \n getMeetingInfo\n \n \n Protected\n getUrl\n \n \n Async\n join\n \n \n Protected\n toParams\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n salt\n \n \n presentationUrl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbSettings: IBbbSettings, httpService: HttpService, converterUtil: ConverterUtil)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbSettings\n \n \n IBbbSettings\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n converterUtil\n \n \n ConverterUtil\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(config: BBBCreateConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:39\n \n \n\n\n \n \n Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBCreateConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n end\n \n \n \n \n \n \nend(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:84\n \n \n\n\n \n \n Ends a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n generateChecksum\n \n \n \n \n \n \n \n generateChecksum(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:136\n \n \n\n\n \n \n Returns a SHA1 encoded checksum for the input parameters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getBbbRequestConfig\n \n \n \n \n \n \ngetBbbRequestConfig(presentationUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n presentationUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMeetingInfo\n \n \n \n \n \n \ngetMeetingInfo(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:107\n \n \n\n\n \n \n Returns information about a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n getUrl\n \n \n \n \n \n \n \n getUrl(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:167\n \n \n\n\n \n \n Builds the url for BBB.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n Name of the BBB api function.\n\n \n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n Parameters for the endpoint.\n\n \n \n \n \n \n \n Returns : string\n\n \n \n A callable url.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(config: BBBJoinConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:72\n \n \n\n\n \n \n Creates a join link to a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBJoinConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The join url\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n toParams\n \n \n \n \n \n \n \n toParams(object: BBBCreateConfig | BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:150\n \n \n\n\n \n \n Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n BBBCreateConfig | BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : URLSearchParams\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n\n \n \n getbaseUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:21\n \n \n\n \n \n \n \n \n \n \n salt\n \n \n\n \n \n getsalt()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:25\n \n \n\n \n \n \n \n \n \n \n presentationUrl\n \n \n\n \n \n getpresentationUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:29\n \n \n\n \n \n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ConverterUtil } from '@shared/common/utils';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosResponse } from 'axios';\nimport crypto from 'crypto';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { BbbSettings, IBbbSettings } from './bbb-settings.interface';\nimport { BBBBaseMeetingConfig, BBBCreateConfig, BBBJoinConfig } from './request';\nimport { BBBBaseResponse, BBBCreateResponse, BBBMeetingInfoResponse, BBBResponse, BBBStatus } from './response';\n\n@Injectable()\nexport class BBBService {\n\tconstructor(\n\t\t@Inject(BbbSettings) private readonly bbbSettings: IBbbSettings,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly converterUtil: ConverterUtil\n\t) {}\n\n\tprotected get baseUrl(): string {\n\t\treturn this.bbbSettings.host;\n\t}\n\n\tprotected get salt(): string {\n\t\treturn this.bbbSettings.salt;\n\t}\n\n\tprotected get presentationUrl(): string {\n\t\treturn this.bbbSettings.presentationUrl;\n\t}\n\n\t/**\n\t * Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\t * @param {BBBCreateConfig} config\n\t * @returns {Promise>}\n\t * @throws {InternalServerErrorException}\n\t */\n\tcreate(config: BBBCreateConfig): Promise> {\n\t\tconst url: string = this.getUrl('create', this.toParams(config));\n\t\tconst conf = { headers: { 'Content-Type': 'application/xml' } };\n\t\tconst data = this.getBbbRequestConfig(this.presentationUrl);\n\t\tconst observable: Observable> = this.httpService.post(url, data, conf);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse>(\n\t\t\t\t\tresp.data\n\t\t\t\t);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:create'));\n\t\t\t});\n\t}\n\n\t// it should be a private method\n\tgetBbbRequestConfig(presentationUrl: string): string {\n\t\tif (presentationUrl === '') return '';\n\t\treturn ``;\n\t}\n\n\t/**\n\t * Creates a join link to a BBB Meeting.\n\t * @param {BBBJoinConfig} config\n\t * @returns {Promise} The join url\n\t * @throws {InternalServerErrorException}\n\t */\n\tasync join(config: BBBJoinConfig): Promise {\n\t\tawait this.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: config.meetingID }));\n\n\t\treturn this.getUrl('join', this.toParams(config));\n\t}\n\n\t/**\n\t * Ends a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {BBBResponse}\n\t * @throws {InternalServerErrorException}\n\t */\n\tend(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('end', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:end'));\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns information about a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {Promise}\n\t * @throws {InternalServerErrorException}\n\t */\n\tgetMeetingInfo(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('getMeetingInfo', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse\n\t\t\t\t>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'BBBService:getMeetingInfo')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\t// should be private\n\t/**\n\t * Returns a SHA1 encoded checksum for the input parameters.\n\t * @param {string} callName\n\t * @param {URLSearchParams} queryParams\n\t * @returns {string}\n\t */\n\tprotected generateChecksum(callName: string, queryParams: URLSearchParams): string {\n\t\tconst queryString: string = queryParams.toString();\n\t\tconst sha = crypto.createHash('sha1');\n\t\tsha.update(callName + queryString + this.salt);\n\t\tconst checksum: string = sha.digest('hex');\n\t\treturn checksum;\n\t}\n\n\t// should be private\n\t/**\n\t * Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\t * @param {object} object\n\t * @returns {URLSearchParams}\n\t */\n\tprotected toParams(object: BBBCreateConfig | BBBBaseMeetingConfig): URLSearchParams {\n\t\tconst params: URLSearchParams = new URLSearchParams();\n\t\tObject.keys(object).forEach((key) => {\n\t\t\tif (key) {\n\t\t\t\tparams.append(key, String(object[key]));\n\t\t\t}\n\t\t});\n\t\treturn params;\n\t}\n\n\t// should be private\n\t/**\n\t * Builds the url for BBB.\n\t * @param callName Name of the BBB api function.\n\t * @param queryParams Parameters for the endpoint.\n\t * @returns {string} A callable url.\n\t */\n\tprotected getUrl(callName: string, queryParams: URLSearchParams): string {\n\t\tconst checksum: string = this.generateChecksum(callName, queryParams);\n\t\tqueryParams.append('checksum', checksum);\n\n\t\tconst url: URL = new URL(this.baseUrl);\n\t\turl.pathname = `/bigbluebutton/api/${callName}`;\n\t\turl.search = queryParams.toString();\n\n\t\treturn url.toString();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDO.html":{"url":"classes/BaseDO.html","title":"class - BaseDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/base.do.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(id?: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export abstract class BaseDO {\n\tid?: string;\n\n\tprotected constructor(id?: string) {\n\t\tthis.id = id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseDORepo.html":{"url":"injectables/BaseDORepo.html","title":"injectable - BaseDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts: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 domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts: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 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: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 id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts: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 id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:92\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, FilterQuery, Primary, RequiredEntityData, Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { BaseEntity, baseEntityProperties } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\n\n@Injectable()\nexport abstract class BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {}\n\n\tabstract get entityName(): EntityName;\n\n\tprotected abstract mapEntityToDO(entity: E): DO;\n\n\tprotected abstract mapDOToEntityProperties(entityDO: DO): EntityData;\n\n\tasync save(domainObject: DO): Promise {\n\t\tconst savedDomainObjects = await this.saveAll([domainObject]);\n\t\treturn savedDomainObjects[0];\n\t}\n\n\tasync saveAll(domainObjects: DO[]): Promise {\n\t\tconst promises = domainObjects.map(async (dob) => this.createOrUpdateEntity(dob));\n\n\t\tconst results = await Promise.all(promises);\n\n\t\tawait this._em.flush();\n\n\t\tconst savedDomainObjects = results.map(({ domainObject, persistedEntity }) =>\n\t\t\tthis.remapProtectedEntityFields(domainObject, persistedEntity)\n\t\t);\n\n\t\treturn savedDomainObjects;\n\t}\n\n\tprivate async createOrUpdateEntity(domainObject: DO): Promise {\n\t\tconst entityData = this.mapDOToEntityProperties(domainObject);\n\t\tthis.removeProtectedEntityFields(entityData);\n\n\t\tconst { entityName } = this;\n\n\t\tconst existingEntity = domainObject.id\n\t\t\t? await this._em.findOneOrFail(entityName, { id: domainObject.id } as FilterQuery)\n\t\t\t: undefined;\n\n\t\tconst persistedEntity = existingEntity\n\t\t\t? this._em.assign(existingEntity, entityData)\n\t\t\t: this._em.create(entityName, entityData as RequiredEntityData);\n\n\t\treturn { domainObject, persistedEntity };\n\t}\n\n\tasync delete(domainObjects: DO[] | DO): Promise {\n\t\tconst ids: Primary[] = Utils.asArray(domainObjects).map((dob) => {\n\t\t\tif (!dob.id) {\n\t\t\t\tthrow new InternalServerErrorException('Cannot delete object without id');\n\t\t\t}\n\t\t\treturn dob.id as Primary;\n\t\t});\n\n\t\tconst entities = ids.map((eid) => this._em.getReference(this.entityName, eid));\n\n\t\tawait this._em.remove(entities).flush();\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/ARC-173 replace with delete(domainObject: DO)\n\t/**\n\t * @deprecated Please use {@link delete} instead\n\t */\n\tasync deleteById(id: EntityId | EntityId[]): Promise {\n\t\tconst ids = Utils.asArray(id) as Primary[];\n\n\t\tconst entities = ids.map((eid) => this._em.getReference(this.entityName, eid));\n\n\t\tawait this._em.remove(entities).flush();\n\n\t\tconst total = ids.length;\n\n\t\treturn total;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: E = await this._em.findOneOrFail(this.entityName, { id } as FilterQuery);\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\t/**\n\t * Ignore base entity properties when updating entity\n\t */\n\tprivate removeProtectedEntityFields(entityData: EntityData) {\n\t\tObject.keys(entityData).forEach((key) => {\n\t\t\tif (baseEntityProperties.includes(key)) {\n\t\t\t\tdelete entityData[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate remapProtectedEntityFields(domainObject: DO, persistedEntity: E) {\n\t\tif (!domainObject.id) {\n\t\t\tdomainObject.id = persistedEntity.id;\n\t\t}\n\t\tif ('createdAt' in domainObject && 'createdAt' in persistedEntity) {\n\t\t\tdomainObject.createdAt = persistedEntity.createdAt;\n\t\t}\n\t\tif ('updatedAt' in domainObject && 'updatedAt' in persistedEntity) {\n\t\t\tdomainObject.updatedAt = persistedEntity.updatedAt;\n\t\t}\n\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 results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDomainObject.html":{"url":"classes/BaseDomainObject.html","title":"class - BaseDomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/base-domain-object.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/interface/base-domain-object.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AuthorizableObject } from '../domain-object';\n\n// idea support for each CRUD action like Actions.read as abstract class, to have a generall interface\n\n/**\n * @deprecated\n */\nexport abstract class BaseDomainObject implements AuthorizableObject {\n\tabstract id: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntity.html":{"url":"classes/BaseEntity.html","title":"class - BaseEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IEntity\n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t[OptionalProps]?: Optional | 'createdAt' | 'updatedAt';\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntityWithTimestamps.html":{"url":"classes/BaseEntityWithTimestamps.html","title":"class - BaseEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n createdAt\n \n \n \n id\n \n \n Optional\n OptionalProps\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n OptionalProps\n \n \n \n \n \n \n Type : Optional | \"createdAt\" | \"updatedAt\"\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property({onUpdate: () => })\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t[OptionalProps]?: Optional | 'createdAt' | 'updatedAt';\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseFactory.html":{"url":"classes/BaseFactory.html","title":"class - BaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/base.factory.ts\n \n\n\n \n Description\n \n \n Entity factory based on thoughtbot/fishery\nhttps://github.com/thoughtbot/fishery\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(EntityClass: literal type, propsFactory: Factory)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n EntityClass\n \n \n literal type\n \n \n \n No\n \n \n \n \n propsFactory\n \n \n Factory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:98\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:110\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:47\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:75\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:60\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:148\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:122\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:144\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:160\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:134\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial, Factory, GeneratorFn, HookFn } from 'fishery';\nimport { ObjectId } from 'mongodb';\n\n/**\n * Entity factory based on thoughtbot/fishery\n * https://github.com/thoughtbot/fishery\n *\n * @template T The entity to be built\n * @template U The properties interface of the entity\n * @template I The transient parameters that your factory supports\n * @template C The class of the factory object being created.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class BaseFactory {\n\tprotected readonly propsFactory: Factory;\n\n\tconstructor(private readonly EntityClass: { new (props: U): T }, propsFactory: Factory) {\n\t\tthis.propsFactory = propsFactory;\n\t}\n\n\t/**\n\t * Define a factory\n\t * @template T The entity to be built\n\t * @template U The properties interface of the entity\n\t * @template I The transient parameters that your factory supports\n\t * @template C The class of the factory object being created.\n\t * @param EntityClass The constructor of the entity to be built.\n\t * @param generator Your factory function - see `Factory.define()` in thoughtbot/fishery\n\t * @returns\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic define>(\n\t\tthis: new (EntityClass: { new (props: U): T }, propsFactory: Factory) => F,\n\t\tEntityClass: { new (props: U): T },\n\t\tgenerator: GeneratorFn\n\t): F {\n\t\tconst propsFactory = Factory.define(generator);\n\t\tconst factory = new this(EntityClass, propsFactory);\n\t\treturn factory;\n\t}\n\n\t/**\n\t * Build an entity using your factory\n\t * @param params\n\t * @returns an entity\n\t */\n\tbuild(params?: DeepPartial, options: BuildOptions = {}): T {\n\t\tconst props = this.propsFactory.build(params, options);\n\t\tconst entity = new this.EntityClass(props);\n\n\t\treturn entity;\n\t}\n\n\t/**\n\t * Build an entity using your factory and generate a id for it.\n\t * @param params\n\t * @param id\n\t * @returns an entity\n\t */\n\tbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity = this.build(params, options);\n\t\tconst generatedId = new ObjectId(id);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst entityWithId = Object.assign(entity as any, { _id: generatedId, id: generatedId.toHexString() });\n\n\t\treturn entityWithId as T;\n\t}\n\n\t/**\n\t * Build a list of entities using your factory\n\t * @param number\n\t * @param params\n\t * @returns a list of entities\n\t */\n\tbuildList(number: number, params?: DeepPartial, options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i , options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i ): this {\n\t\tconst newPropsFactory = this.propsFactory.afterBuild(afterBuildFn);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\t * @param associations\n\t * @returns a new factory\n\t */\n\tassociations(associations: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.associations(associations);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\t * @param params\n\t * @returns a new factory\n\t */\n\tparams(params: DeepPartial): this {\n\t\tconst newPropsFactory = this.propsFactory.params(params);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\t * @param transient - transient params\n\t * @returns a new factory\n\t */\n\ttransient(transient: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.transient(transient);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Set sequence back to its default value\n\t */\n\trewindSequence(): void {\n\t\tthis.propsFactory.rewindSequence();\n\t}\n\n\tprotected clone>(this: F, propsFactory: Factory): F {\n\t\tconst copy = new (this.constructor as {\n\t\t\tnew (EntityClass: { new (props: U): T }, propsOfFactory: Factory): F;\n\t\t})(this.EntityClass, propsFactory);\n\n\t\treturn copy;\n\t}\n\n\t/**\n\t * Get the next sequence value\n\t * @returns the next sequence value\n\t */\n\tprotected sequence(): number {\n\t\t// eslint-disable-next-line @typescript-eslint/dot-notation\n\t\treturn this.propsFactory['sequence']();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseProvisioningOptions.html":{"url":"classes/BaseProvisioningOptions.html","title":"class - BaseProvisioningOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseProvisioningOptions\n\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/domain/base-provisioning-options.ts\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 isApplicable\n \n \n Abstract\n set\n \n \n \n \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 isApplicable\n \n \n \n \n \n \n \n isApplicable(provisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/domain/base-provisioning-options.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 provisioningOptions\n \n ProvisioningOptionsInterface\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 Abstract\n set\n \n \n \n \n \n \n \n set(props: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/domain/base-provisioning-options.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 props\n \n T\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 import { ProvisioningOptionsInterface } from '../interface';\n\nexport abstract class BaseProvisioningOptions {\n\tpublic isApplicable(provisioningOptions: ProvisioningOptionsInterface): provisioningOptions is T {\n\t\tconst expectedKeys: Set = new Set(Object.keys(this));\n\t\tconst actualKeys: Set = new Set(Object.keys(provisioningOptions));\n\n\t\tconst hasProperties: boolean =\n\t\t\texpectedKeys.size === actualKeys.size && [...expectedKeys].every((key: string) => actualKeys.has(key));\n\n\t\treturn hasProperties;\n\t}\n\n\tabstract set(props: T): this;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseRepo.html":{"url":"injectables/BaseRepo.html","title":"injectable - BaseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.repo.ts\n \n\n\n \n Description\n \n \n This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\nAn example for a possible implementation is the BaseDORepo.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:16\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\n * An example for a possible implementation is the {@link BaseDORepo}.\n */\n@Injectable()\nexport abstract class BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {}\n\n\tabstract get entityName(): EntityName;\n\n\tcreate(entity: T): T {\n\t\treturn this._em.create(this.entityName, entity);\n\t}\n\n\tasync save(entities: T | T[]): Promise {\n\t\tawait this._em.persistAndFlush(entities);\n\t}\n\n\tasync delete(entities: T | T[]): Promise {\n\t\tawait this._em.removeAndFlush(entities);\n\t}\n\n\tasync findById(id: EntityId | ObjectId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BaseResponseMapper.html":{"url":"interfaces/BaseResponseMapper.html","title":"interface - BaseResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BaseResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n mapToResponse\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type { AnyBoardDo } from '@shared/domain/domainobject';\nimport type { AnyContentElementResponse } from '../dto';\n\nexport interface BaseResponseMapper {\n\tmapToResponse(element: T): AnyContentElementResponse;\n\n\tcanMap(element: T): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseUc.html":{"url":"classes/BaseUc.html","title":"class - BaseUc","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/base.uc.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException } from '@nestjs/common';\nimport { AnyBoardDo, SubmissionItem, UserRoleEnum } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService } from '../service';\n\nexport abstract class BaseUc {\n\tconstructor(\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService\n\t) {}\n\n\tprotected async checkPermission(\n\t\tuserId: EntityId,\n\t\tanyBoardDo: AnyBoardDo,\n\t\taction: Action,\n\t\trequiredUserRole?: UserRoleEnum\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(anyBoardDo);\n\t\tif (requiredUserRole) {\n\t\t\tboardDoAuthorizable.requiredUserRole = requiredUserRole;\n\t\t}\n\t\tconst context = { action, requiredPermissions: [] };\n\n\t\treturn this.authorizationService.checkPermission(user, boardDoAuthorizable, context);\n\t}\n\n\tprotected async isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo): Promise {\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(boardDo);\n\t\tconst userRoleEnum = boardDoAuthorizable.users.find((u) => u.userId === userId)?.userRoleEnum;\n\n\t\tif (!userRoleEnum) {\n\t\t\tthrow new ForbiddenException('User not part of this board');\n\t\t}\n\n\t\t// TODO do this with permission instead of role and using authorizable rules\n\t\tif (userRoleEnum === UserRoleEnum.STUDENT) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprotected async checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem) {\n\t\tif (submissionItem.userId !== userId) {\n\t\t\tthrow new ForbiddenException();\n\t\t}\n\t\tawait this.checkPermission(userId, submissionItem, Action.read, UserRoleEnum.STUDENT);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfig.html":{"url":"classes/BasicToolConfig.html","title":"class - BasicToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class BasicToolConfig extends ExternalToolConfig {\n\tconstructor(props: BasicToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.BASIC,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigEntity.html":{"url":"classes/BasicToolConfigEntity.html","title":"class - BasicToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.BASIC })\nexport class BasicToolConfigEntity extends ExternalToolConfigEntity {\n\tconstructor(props: BasicToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigParams.html":{"url":"classes/BasicToolConfigParams.html","title":"class - BasicToolConfigParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/basic-tool-config.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\nimport { ToolConfigType } from '../../../../../common/enum';\n\nexport class BasicToolConfigParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigResponse.html":{"url":"classes/BasicToolConfigResponse.html","title":"class - BasicToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class BasicToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\tconstructor(props: BasicToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BasicToolLaunchStrategy.html":{"url":"injectables/BasicToolLaunchStrategy.html","title":"injectable - BasicToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BasicToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/basic-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData, PropertyLocation } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class BasicToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\tconst bodyProperties = properties.filter((property: PropertyData) => property.location === PropertyLocation.BODY);\n\t\tconst payload: Record = {};\n\n\t\tfor (const property of bodyProperties) {\n\t\t\tpayload[property.name] = property.value;\n\t\t}\n\n\t\tif (Object.keys(payload).length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn JSON.stringify(payload);\n\t}\n\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\tconst hasBodyProperty: boolean = properties.some(\n\t\t\t(property: PropertyData) => property.location === PropertyLocation.BODY\n\t\t);\n\n\t\tconst launchRequestMethod: LaunchRequestMethod = hasBodyProperty\n\t\t\t? LaunchRequestMethod.POST\n\t\t\t: LaunchRequestMethod.GET;\n\n\t\treturn launchRequestMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionService.html":{"url":"injectables/BatchDeletionService.html","title":"injectable - BatchDeletionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/batch-deletion.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/services/batch-deletion.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n \n \n \n queueDeletionRequests(inputs: QueueDeletionRequestInput[], callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/batch-deletion.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputs\n \n QueueDeletionRequestInput[]\n \n\n \n No\n \n\n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { QueueDeletionRequestOutputBuilder } from './builder';\nimport { DeletionClient, DeletionRequestInputBuilder } from '../deletion-client';\nimport { QueueDeletionRequestInput, QueueDeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class BatchDeletionService {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync queueDeletionRequests(\n\t\tinputs: QueueDeletionRequestInput[],\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\tconst outputs: QueueDeletionRequestOutput[] = [];\n\n\t\t// For every provided deletion request input, try to queue it via deletion client.\n\t\t// In any case, add the result of the trial to the outputs - it will be either a valid\n\t\t// response in a form of a requestId + deletionPlannedAt values pair or some error\n\t\t// returned from the client. In any case, every input should be processed.\n\t\tfor (const input of inputs) {\n\t\t\tconst deletionRequestInput = DeletionRequestInputBuilder.build(\n\t\t\t\tinput.targetRefDomain,\n\t\t\t\tinput.targetRefId,\n\t\t\t\tinput.deleteInMinutes\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst deletionRequestOutput = await this.deletionClient.queueDeletionRequest(deletionRequestInput);\n\n\t\t\t\t// In case of a successful client response, add the\n\t\t\t\t// requestId + deletionPlannedAt values pair to the outputs.\n\t\t\t\toutputs.push(\n\t\t\t\t\tQueueDeletionRequestOutputBuilder.buildSuccess(\n\t\t\t\t\t\tdeletionRequestOutput.requestId,\n\t\t\t\t\t\tdeletionRequestOutput.deletionPlannedAt\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\t// In case of a failure client response, add the full error message to the outputs.\n\t\t\t\toutputs.push(QueueDeletionRequestOutputBuilder.buildError(err as Error));\n\t\t\t}\n\n\t\t\t// If any delay between the client calls has been requested, \"sleep\" for the specified amount of time.\n\t\t\tif (callsDelayMilliseconds && callsDelayMilliseconds > 0) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, callsDelayMilliseconds);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn outputs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummary.html":{"url":"interfaces/BatchDeletionSummary.html","title":"interface - BatchDeletionSummary","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/interface/batch-deletion-summary.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n details\n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n failureCount\n \n \n \n \n overallStatus\n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n details\n \n \n \n \n \n \n \n \n details: BatchDeletionSummaryDetail[]\n\n \n \n\n\n \n \n Type : BatchDeletionSummaryDetail[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n \n \n \n \n executionTimeMilliseconds: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n failureCount\n \n \n \n \n \n \n \n \n failureCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n overallStatus\n \n \n \n \n \n \n \n \n overallStatus: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n successCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BatchDeletionSummaryDetail } from './batch-deletion-summary-detail.interface';\n\nexport interface BatchDeletionSummary {\n\texecutionTimeMilliseconds: number;\n\toverallStatus: string;\n\tsuccessCount: number;\n\tfailureCount: number;\n\tdetails: BatchDeletionSummaryDetail[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryBuilder.html":{"url":"classes/BatchDeletionSummaryBuilder.html","title":"class - BatchDeletionSummaryBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/batch-deletion-summary.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(executionTimeMilliseconds: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/batch-deletion-summary.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n executionTimeMilliseconds\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummary\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BatchDeletionSummaryOverallStatus, BatchDeletionSummary } from '../uc/interface';\n\nexport class BatchDeletionSummaryBuilder {\n\tstatic build(executionTimeMilliseconds: number): BatchDeletionSummary {\n\t\treturn {\n\t\t\texecutionTimeMilliseconds,\n\t\t\toverallStatus: BatchDeletionSummaryOverallStatus.FAILURE,\n\t\t\tsuccessCount: 0,\n\t\t\tfailureCount: 0,\n\t\t\tdetails: [],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummaryDetail.html":{"url":"interfaces/BatchDeletionSummaryDetail.html","title":"interface - BatchDeletionSummaryDetail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummaryDetail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/interface/batch-deletion-summary-detail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n input\n \n \n \n \n output\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n input\n \n \n \n \n \n \n \n \n input: QueueDeletionRequestInput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestInput\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n output\n \n \n \n \n \n \n \n \n output: QueueDeletionRequestOutput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestOutput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../../services/interface';\n\nexport interface BatchDeletionSummaryDetail {\n\tinput: QueueDeletionRequestInput;\n\toutput: QueueDeletionRequestOutput;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryDetailBuilder.html":{"url":"classes/BatchDeletionSummaryDetailBuilder.html","title":"class - BatchDeletionSummaryDetailBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryDetailBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/batch-deletion-summary-detail.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/batch-deletion-summary-detail.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n QueueDeletionRequestInput\n \n\n \n No\n \n\n\n \n \n output\n \n QueueDeletionRequestOutput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummaryDetail\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../services/interface';\nimport { BatchDeletionSummaryDetail } from '../uc/interface';\n\nexport class BatchDeletionSummaryDetailBuilder {\n\tstatic build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput): BatchDeletionSummaryDetail {\n\t\treturn { input, output };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionUc.html":{"url":"injectables/BatchDeletionUc.html","title":"injectable - BatchDeletionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/batch-deletion.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(batchDeletionService: BatchDeletionService)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/uc/batch-deletion.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 batchDeletionService\n \n \n BatchDeletionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n \n \n \n deleteRefsFromTxtFile(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/uc/batch-deletion.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n \n 'user'\n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BatchDeletionSummaryBuilder, BatchDeletionSummaryDetailBuilder } from '../builder';\nimport { BatchDeletionService, ReferencesService } from '../services';\nimport { QueueDeletionRequestInputBuilder } from '../services/builder';\nimport { QueueDeletionRequestInput } from '../services/interface';\nimport { BatchDeletionSummary, BatchDeletionSummaryOverallStatus } from './interface';\n\n@Injectable()\nexport class BatchDeletionUc {\n\tconstructor(private readonly batchDeletionService: BatchDeletionService) {}\n\n\tasync deleteRefsFromTxtFile(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain = 'user',\n\t\tdeleteInMinutes = 43200, // 43200 minutes = 720 hours = 30 days\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\t// First, load all the references from the provided text file (with given path).\n\t\tconst refsFromTxtFile = ReferencesService.loadFromTxtFile(refsFilePath);\n\n\t\tconst inputs: QueueDeletionRequestInput[] = [];\n\n\t\t// For each reference found in a given file, add it to the inputs\n\t\t// array (with added targetRefDomain and deleteInMinutes fields).\n\t\trefsFromTxtFile.forEach((ref) =>\n\t\t\tinputs.push(QueueDeletionRequestInputBuilder.build(targetRefDomain, ref, deleteInMinutes))\n\t\t);\n\n\t\t// Measure the overall queueing execution time by setting the start...\n\t\tconst startTime = performance.now();\n\n\t\tconst outputs = await this.batchDeletionService.queueDeletionRequests(inputs, callsDelayMilliseconds);\n\n\t\t// ...and end timestamps before and after the batch deletion service method execution.\n\t\tconst endTime = performance.now();\n\n\t\t// Throw an error if the returned outputs number doesn't match the returned inputs number.\n\t\tif (outputs.length !== inputs.length) {\n\t\t\tthrow new Error(\n\t\t\t\t'invalid result from the batch deletion service - expected to ' +\n\t\t\t\t\t'receive the same amount of outputs as the provided inputs, ' +\n\t\t\t\t\t`instead received ${outputs.length} outputs for ${inputs.length} inputs`\n\t\t\t);\n\t\t}\n\n\t\tconst summary: BatchDeletionSummary = BatchDeletionSummaryBuilder.build(endTime - startTime);\n\n\t\t// Go through every received output and, in case of an error presence increase\n\t\t// a failure count or, in case of no error, increase a success count.\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Board.html":{"url":"entities/Board.html","title":"entity - Board","body":"\n \n\n\n\n\n\n\n\n Entities\n Board\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/board.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n references\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @OneToOne({type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('BoardElement', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:32\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, IdentifiedReference, ManyToMany, OneToOne, wrap } from '@mikro-orm/core';\nimport { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { LearnroomElement } from '../../interface';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport type { Course } from '../course.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementReference } from './boardelement.entity';\nimport { ColumnboardBoardElement } from './column-board-boardelement';\nimport { ColumnBoardTarget } from './column-board-target.entity';\nimport { LessonBoardElement } from './lesson-boardelement.entity';\nimport { TaskBoardElement } from './task-boardelement.entity';\n\nexport type BoardProps = {\n\treferences: BoardElement[];\n\tcourse: Course;\n};\n\n@Entity({ tableName: 'board' })\nexport class Board extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardProps) {\n\t\tsuper();\n\t\tthis.references.set(props.references);\n\t\tthis.course = wrap(props.course).toReference();\n\t}\n\n\t@OneToOne({ type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true })\n\tcourse: IdentifiedReference;\n\n\t@ManyToMany('BoardElement', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\tgetByTargetId(id: EntityId): LearnroomElement {\n\t\tconst element = this.getElementByTargetId(id);\n\t\treturn element.target;\n\t}\n\n\tgetElements() {\n\t\treturn this.references.getItems();\n\t}\n\n\treorderElements(ids: EntityId[]) {\n\t\tthis.validateReordering(ids);\n\n\t\tconst elements = ids.map((id) => this.getElementByTargetId(id));\n\n\t\tthis.references.set(elements);\n\t}\n\n\tprivate validateReordering(reorderedIds: EntityId[]) {\n\t\tconst existingElements = this.getElements().map((el) => el.target.id);\n\t\tconst listsEqual = this.checkListsContainingEqualEntities(reorderedIds, existingElements);\n\t\tif (!listsEqual) {\n\t\t\tthrow new BadRequestException('elements did not match. please fetch the elements of the board before reordering');\n\t\t}\n\t}\n\n\tprivate checkListsContainingEqualEntities(first: EntityId[], second: EntityId[]): boolean {\n\t\tconst compareAlphabetic = (a, b) => (a el.target.id === id);\n\t\tif (!element) throw new NotFoundException('board does not contain such element');\n\t\treturn element;\n\t}\n\n\tsyncBoardElementReferences(boardElementTargets: BoardElementReference[]) {\n\t\tthis.removeDeletedReferences(boardElementTargets);\n\t\tthis.appendNotContainedBoardElements(boardElementTargets);\n\t}\n\n\tprivate removeDeletedReferences(boardElementTargets: BoardElementReference[]) {\n\t\tconst references = this.references.getItems();\n\t\tconst onlyExistingReferences = references.filter((ref) => boardElementTargets.includes(ref.target));\n\t\tthis.references.set(onlyExistingReferences);\n\t}\n\n\tprivate appendNotContainedBoardElements(boardElementTargets: BoardElementReference[]): void {\n\t\tconst references = this.references.getItems();\n\t\tconst isNotContained = (element: BoardElementReference) => !references.some((ref) => ref.target === element);\n\t\tconst mapToBoardElement = (target: BoardElementReference) => this.createBoardElementFor(target);\n\n\t\tconst elementsToAdd = boardElementTargets.filter(isNotContained).map(mapToBoardElement);\n\t\tconst newList = [...elementsToAdd, ...references];\n\t\tthis.references.set(newList);\n\t}\n\n\tprivate createBoardElementFor(boardElementTarget: BoardElementReference): BoardElement {\n\t\tif (boardElementTarget instanceof Task) {\n\t\t\treturn new TaskBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof LessonEntity) {\n\t\t\treturn new LessonBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof ColumnBoardTarget) {\n\t\t\treturn new ColumnboardBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tthrow new Error('not a valid boardElementReference');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardApiModule.html":{"url":"modules/BoardApiModule.html","title":"module - BoardApiModule","body":"\n \n\n\n\n\n Modules\n BoardApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardApiModule\n\n\n\ncluster_BoardApiModule_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 { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeProps.html":{"url":"interfaces/BoardCompositeProps.html","title":"interface - BoardCompositeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n children\n \n \n \n \n createdAt\n \n \n \n \n id\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: AnyBoardDo[]\n\n \n \n\n\n \n \n Type : AnyBoardDo[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitor.html":{"url":"interfaces/BoardCompositeVisitor.html","title":"interface - BoardCompositeVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n visitColumn\n \n \n \n \n visitColumnBoard\n \n \n \n \n visitDrawingElement\n \n \n \n \n visitExternalToolElement\n \n \n \n \n visitFileElement\n \n \n \n \n visitLinkElement\n \n \n \n \n visitRichTextElement\n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitorAsync.html":{"url":"interfaces/BoardCompositeVisitorAsync.html","title":"interface - BoardCompositeVisitorAsync","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitorAsync\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n visitColumnAsync\n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n visitFileElementAsync\n \n \n \n \n visitLinkElementAsync\n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n \n \nvisitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnAsync\n \n \n \n \n \n \nvisitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n \n \nvisitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n \n \nvisitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElementAsync\n \n \n \n \n \n \nvisitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElementAsync\n \n \n \n \n \n \nvisitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n \n \nvisitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n \n \nvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \nvisitSubmissionItemAsync(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardContextResponse.html":{"url":"classes/BoardContextResponse.html","title":"class - BoardContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\n\nexport class BoardContextResponse {\n\tconstructor({ id, type }: BoardContextResponse) {\n\t\tthis.id = id;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({ enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType' })\n\ttype: BoardExternalReferenceType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardController.html":{"url":"controllers/BoardController.html","title":"controller - BoardController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board.controller.ts\n \n\n \n Prefix\n \n \n boards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new column on a board.'})@ApiResponse({status: 201, type: ColumnResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':boardId/columns')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n getBoardContext(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the context of a board.'})@ApiResponse({status: 200, type: BoardContextResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId/context')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n getBoardSkeleton(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the skeleton of a a board.'})@ApiResponse({status: 200, type: BoardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(urlParams: BoardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':boardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc } from '../uc';\nimport { BoardResponse, BoardUrlParams, ColumnResponse, RenameBodyParams } from './dto';\nimport { BoardContextResponse } from './dto/board/board-context.reponse';\nimport { BoardResponseMapper, ColumnResponseMapper } from './mapper';\n\n@ApiTags('Board')\n@Authenticate('jwt')\n@Controller('boards')\nexport class BoardController {\n\tconstructor(private readonly boardUc: BoardUc) {}\n\n\t@ApiOperation({ summary: 'Get the skeleton of a a board.' })\n\t@ApiResponse({ status: 200, type: BoardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId')\n\tasync getBoardSkeleton(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.boardUc.findBoard(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = BoardResponseMapper.mapToResponse(board);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Get the context of a board.' })\n\t@ApiResponse({ status: 200, type: BoardContextResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId/context')\n\tasync getBoardContext(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst boardContext = await this.boardUc.findBoardContext(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = new BoardContextResponse(boardContext);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':boardId/title')\n\tasync updateBoardTitle(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.updateBoardTitle(currentUser.userId, urlParams.boardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':boardId')\n\tasync deleteBoard(@Param() urlParams: BoardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.boardUc.deleteBoard(currentUser.userId, urlParams.boardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new column on a board.' })\n\t@ApiResponse({ status: 201, type: ColumnResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':boardId/columns')\n\tasync createColumn(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst column = await this.boardUc.createColumn(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = ColumnResponseMapper.mapToResponse(column);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardCopyService.html":{"url":"injectables/BoardCopyService.html","title":"injectable - BoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyBoard\n \n \n Private\n Async\n copyBoardElements\n \n \n Private\n Async\n copyColumnBoard\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Private\n extractReferences\n \n \n Private\n sortByOriginalOrder\n \n \n Private\n Async\n swapLinkedIdsInBoards\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:37\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: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 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: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 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: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 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: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 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: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 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: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 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:203\n \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 Async\n swapLinkedIdsInBoards\n \n \n \n \n \n \n \n swapLinkedIdsInBoards(copyStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.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 copyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\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: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 boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardCopyService } from '@modules/board';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { LessonCopyService } from '@modules/lesson';\nimport { TaskCopyService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport { getResolvedValues } from '@shared/common/utils/promise';\nimport { ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonBoardElement,\n\tLessonEntity,\n\tTask,\n\tTaskBoardElement,\n\tUser,\n\tisColumnBoardTarget,\n\tisLesson,\n\tisTask,\n} from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { sortBy } from 'lodash';\n\ntype BoardCopyParams = {\n\toriginalBoard: Board;\n\tdestinationCourse: Course;\n\tuser: User;\n};\n\n@Injectable()\nexport class BoardCopyService {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly columnBoardCopyService: ColumnBoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyBoard(params: BoardCopyParams): Promise {\n\t\tconst { originalBoard, user, destinationCourse } = params;\n\n\t\tconst boardElements: BoardElement[] = originalBoard.getElements();\n\t\tconst elements: CopyStatus[] = await this.copyBoardElements(boardElements, user, destinationCourse);\n\t\tconst references: BoardElement[] = this.extractReferences(elements);\n\n\t\tlet boardCopy: Board = new Board({ references, course: destinationCourse });\n\t\tlet status: CopyStatus = {\n\t\t\ttitle: 'board',\n\t\t\ttype: CopyElementType.BOARD,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: boardCopy,\n\t\t\toriginalEntity: params.originalBoard,\n\t\t\telements,\n\t\t};\n\n\t\tstatus = this.updateCopiedEmbeddedTasksOfLessons(status);\n\t\tif (status.copyEntity) {\n\t\t\tboardCopy = status.copyEntity as Board;\n\t\t}\n\n\t\tstatus = await this.swapLinkedIdsInBoards(status);\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 async swapLinkedIdsInBoards(copyStatus: CopyStatus): Promise {\n\t\tconst map = new Map();\n\t\tconst copyDict = this.copyHelperService.buildCopyEntityDict(copyStatus);\n\t\tcopyDict.forEach((value, key) => map.set(key, value.id));\n\n\t\tif (copyStatus.copyEntity instanceof Board && copyStatus.originalEntity instanceof Board) {\n\t\t\tmap.set(copyStatus.originalEntity.course.id, copyStatus.copyEntity.course.id);\n\t\t}\n\n\t\tconst elements = copyStatus.elements ?? [];\n\t\tconst updatedElements = await Promise.all(\n\t\t\telements.map(async (el) => {\n\t\t\t\tif (el.type === CopyElementType.COLUMNBOARD && el.copyEntity) {\n\t\t\t\t\tel.copyEntity = await this.columnBoardCopyService.swapLinkedIds(el.copyEntity?.id, map);\n\t\t\t\t}\n\t\t\t\treturn el;\n\t\t\t})\n\t\t);\n\n\t\tcopyStatus.elements = updatedElements;\n\t\treturn copyStatus;\n\t}\n\n\tprivate sortByOriginalOrder(resolved: [number, CopyStatus][]): CopyStatus[] {\n\t\tconst sortByPos = sortBy(resolved, ([pos]) => pos);\n\t\tconst statuses = sortByPos.map(([, status]) => status);\n\t\treturn statuses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoAuthorizable.html":{"url":"classes/BoardDoAuthorizable.html","title":"class - BoardDoAuthorizable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoAuthorizable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n requiredUserRole\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:32\n \n \n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n\n \n \n getrequiredUserRole()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:36\n \n \n\n \n \n setrequiredUserRole(userRoleEnum: UserRoleEnum | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRoleEnum\n \n \n UserRoleEnum | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoAuthorizableProps.html":{"url":"interfaces/BoardDoAuthorizableProps.html","title":"interface - BoardDoAuthorizableProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoAuthorizableProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n \n requiredUserRole\n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n \n \n \n \n \n \n requiredUserRole: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: UserBoardRoles[]\n\n \n \n\n\n \n \n Type : UserBoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoAuthorizableService.html":{"url":"injectables/BoardDoAuthorizableService.html","title":"injectable - BoardDoAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getBoardAuthorizable\n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardAuthorizable\n \n \n \n \n \n \n \n getBoardAuthorizable(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n \n \n \n mapCourseUsersToUsergroup(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserBoardRoles[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardDoAuthorizable,\n\tBoardExternalReferenceType,\n\tBoardRoles,\n\tColumnBoard,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(\n\t\t@Inject(forwardRef(() => BoardDoRepo)) private readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst boardDo = await this.boardDoRepo.findById(id, 1);\n\t\tconst { users } = await this.getBoardAuthorizable(boardDo);\n\t\tconst boardDoAuthorizable = new BoardDoAuthorizable({ users, id });\n\n\t\treturn boardDoAuthorizable;\n\t}\n\n\tasync getBoardAuthorizable(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst ids = [...ancestorIds, boardDo.id];\n\t\tconst rootId = ids[0];\n\t\tconst rootBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\tif (rootBoardDo.context?.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseRepo.findById(rootBoardDo.context.id);\n\t\t\t\tconst users = this.mapCourseUsersToUsergroup(course);\n\t\t\t\treturn new BoardDoAuthorizable({ users, id: boardDo.id });\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error('root boardnode was expected to be a ColumnBoard');\n\t\t}\n\n\t\treturn new BoardDoAuthorizable({ users: [], id: boardDo.id });\n\t}\n\n\tprivate mapCourseUsersToUsergroup(course: Course): UserBoardRoles[] {\n\t\tconst users = [\n\t\t\t...course.getTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getSubstitutionTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.SUBSTITUTION_TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getStudentsList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.READER],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.STUDENT,\n\t\t\t\t};\n\t\t\t}),\n\t\t];\n\t\treturn users;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoBuilder.html":{"url":"interfaces/BoardDoBuilder.html","title":"interface - BoardDoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n buildColumn\n \n \n \n \n buildColumnBoard\n \n \n \n \n buildDrawingElement\n \n \n \n \n buildExternalToolElement\n \n \n \n \n buildFileElement\n \n \n \n \n buildLinkElement\n \n \n \n \n buildRichTextElement\n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n \n \nbuildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumn\n \n \n \n \n \n \nbuildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumnBoard\n \n \n \n \n \n \nbuildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildDrawingElement\n \n \n \n \n \n \nbuildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildFileElement\n \n \n \n \n \n \nbuildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildLinkElement\n \n \n \n \n \n \nbuildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildRichTextElement\n \n \n \n \n \n \nbuildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n \n \nbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \nbuildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type {\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '../../../domainobject';\nimport type { CardNode } from '../card-node.entity';\nimport type { ColumnBoardNode } from '../column-board-node.entity';\nimport type { ColumnNode } from '../column-node.entity';\nimport type { DrawingElementNode } from '../drawing-element-node.entity';\nimport type { ExternalToolElementNodeEntity } from '../external-tool-element-node.entity';\nimport type { FileElementNode } from '../file-element-node.entity';\nimport type { LinkElementNode } from '../link-element-node.entity';\nimport type { RichTextElementNode } from '../rich-text-element-node.entity';\nimport type { SubmissionContainerElementNode } from '../submission-container-element-node.entity';\nimport type { SubmissionItemNode } from '../submission-item-node.entity';\n\nexport interface BoardDoBuilder {\n\tbuildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard;\n\tbuildColumn(boardNode: ColumnNode): Column;\n\tbuildCard(boardNode: CardNode): Card;\n\tbuildDrawingElement(boardNode: DrawingElementNode): DrawingElement;\n\tbuildFileElement(boardNode: FileElementNode): FileElement;\n\tbuildLinkElement(boardNode: LinkElementNode): LinkElement;\n\tbuildRichTextElement(boardNode: RichTextElementNode): RichTextElement;\n\tbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement;\n\tbuildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem;\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoBuilderImpl.html":{"url":"classes/BoardDoBuilderImpl.html","title":"class - BoardDoBuilderImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoBuilderImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.builder-impl.ts\n \n\n\n\n\n \n Implements\n \n \n BoardDoBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n buildCard\n \n \n buildChildren\n \n \n Public\n buildColumn\n \n \n Public\n buildColumnBoard\n \n \n Public\n buildDomainObject\n \n \n Public\n buildDrawingElement\n \n \n buildExternalToolElement\n \n \n Public\n buildFileElement\n \n \n Public\n buildLinkElement\n \n \n Public\n buildRichTextElement\n \n \n Public\n buildSubmissionContainerElement\n \n \n Public\n buildSubmissionItem\n \n \n ensureBoardNodeType\n \n \n ensureLeafNode\n \n \n getChildren\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descendants: BoardNode[])\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descendants\n \n \n BoardNode[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n buildCard\n \n \n \n \n \n \n \n buildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildChildren\n \n \n \n \n \n \nbuildChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:205\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumn\n \n \n \n \n \n \n \n buildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumnBoard\n \n \n \n \n \n \n \n buildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDomainObject\n \n \n \n \n \n \n \n buildDomainObject(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:41\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDrawingElement\n \n \n \n \n \n \n \n buildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:191\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildFileElement\n \n \n \n \n \n \n \n buildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildLinkElement\n \n \n \n \n \n \n \n buildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildRichTextElement\n \n \n \n \n \n \n \n buildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionContainerElement\n \n \n \n \n \n \n \n buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionItem\n \n \n \n \n \n \n \n buildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureBoardNodeType\n \n \n \n \n \n \nensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode | BoardNode[]\n \n\n \n No\n \n\n\n \n \n type\n \n BoardNodeType | BoardNodeType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureLeafNode\n \n \n \n \n \n \nensureLeafNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:216\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getChildren\n \n \n \n \n \n \ngetChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:210\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport {\n\tBoardNodeType,\n\ttype BoardDoBuilder,\n\ttype BoardNode,\n\ttype CardNode,\n\ttype ColumnBoardNode,\n\ttype ColumnNode,\n\ttype ExternalToolElementNodeEntity,\n\ttype FileElementNode,\n\ttype LinkElementNode,\n\ttype RichTextElementNode,\n\ttype SubmissionContainerElementNode,\n\ttype SubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\n\nexport class BoardDoBuilderImpl implements BoardDoBuilder {\n\tprivate childrenMap: Record = {};\n\n\tconstructor(descendants: BoardNode[] = []) {\n\t\tfor (const boardNode of descendants) {\n\t\t\tthis.childrenMap[boardNode.path] ||= [];\n\t\t\tthis.childrenMap[boardNode.path].push(boardNode);\n\t\t}\n\t}\n\n\tpublic buildDomainObject(boardNode: BoardNode): T {\n\t\treturn boardNode.useDoBuilder(this) as T;\n\t}\n\n\tpublic buildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.COLUMN);\n\n\t\tconst columns = this.buildChildren(boardNode);\n\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: columns,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontext: boardNode.context,\n\t\t});\n\n\t\treturn columnBoard;\n\t}\n\n\tpublic buildColumn(boardNode: ColumnNode): Column {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.CARD);\n\n\t\tconst cards = this.buildChildren(boardNode);\n\n\t\tconst column = new Column({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: cards,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn column;\n\t}\n\n\tpublic buildCard(boardNode: CardNode): Card {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.LINK_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t\tBoardNodeType.DRAWING_ELEMENT,\n\t\t\tBoardNodeType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tBoardNodeType.EXTERNAL_TOOL,\n\t\t]);\n\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst card = new Card({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\theight: boardNode.height,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn card;\n\t}\n\n\tpublic buildFileElement(boardNode: FileElementNode): FileElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new FileElement({\n\t\t\tid: boardNode.id,\n\t\t\tcaption: boardNode.caption,\n\t\t\talternativeText: boardNode.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildLinkElement(boardNode: LinkElementNode): LinkElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new LinkElement({\n\t\t\tid: boardNode.id,\n\t\t\turl: boardNode.url,\n\t\t\ttitle: boardNode.title,\n\t\t\timageUrl: boardNode.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildRichTextElement(boardNode: RichTextElementNode): RichTextElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new RichTextElement({\n\t\t\tid: boardNode.id,\n\t\t\ttext: boardNode.text,\n\t\t\tinputFormat: boardNode.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildDrawingElement(boardNode: DrawingElementNode): DrawingElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new DrawingElement({\n\t\t\tid: boardNode.id,\n\t\t\tdescription: boardNode.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [BoardNodeType.SUBMISSION_ITEM]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tdueDate: boardNode.dueDate,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionItem({\n\t\t\tid: boardNode.id,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcompleted: boardNode.completed,\n\t\t\tuserId: boardNode.userId,\n\t\t\tchildren: elements,\n\t\t});\n\t\treturn element;\n\t}\n\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element: ExternalToolElement = new ExternalToolElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontextExternalToolId: boardNode.contextExternalTool?.id,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tbuildChildren(boardNode: BoardNode): T[] {\n\t\tconst children = this.getChildren(boardNode).map((node) => node.useDoBuilder(this));\n\t\treturn children as T[];\n\t}\n\n\tgetChildren(boardNode: BoardNode): BoardNode[] {\n\t\tconst children = this.childrenMap[boardNode.pathOfChildren] || [];\n\t\tconst sortedChildren = children.sort((a, b) => a.position - b.position);\n\t\treturn sortedChildren;\n\t}\n\n\tensureLeafNode(boardNode: BoardNode) {\n\t\tconst children = this.getChildren(boardNode);\n\t\tif (children.length !== 0) throw new Error('BoardNode is a leaf node but children were provided.');\n\t}\n\n\tensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[]) {\n\t\tconst single = (bn: BoardNode, t: BoardNodeType | BoardNodeType[]) => {\n\t\t\tconst isValid = Array.isArray(t) ? type.includes(bn.type) : t === bn.type;\n\t\t\tif (!isValid) {\n\t\t\t\tthrow new NotImplementedException(`Invalid node type '${bn.type}'`);\n\t\t\t}\n\t\t};\n\n\t\tif (Array.isArray(boardNode)) {\n\t\t\tboardNode.forEach((bn) => single(bn, type));\n\t\t} else {\n\t\t\tsingle(boardNode, type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoCopyService.html":{"url":"injectables/BoardDoCopyService.html","title":"injectable - BoardDoCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(params: BoardDoCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n BoardDoCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyStatus } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { RecursiveCopyVisitor } from './recursive-copy.visitor';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport type BoardDoCopyParams = {\n\toriginal: AnyBoardDo;\n\tfileCopyService: SchoolSpecificFileCopyService;\n};\n\n@Injectable()\nexport class BoardDoCopyService {\n\tpublic async copy(params: BoardDoCopyParams): Promise {\n\t\tconst visitor = new RecursiveCopyVisitor(params.fileCopyService);\n\n\t\tconst result = await visitor.copy(params.original);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRepo.html":{"url":"injectables/BoardDoRepo.html","title":"injectable - BoardDoRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByClassAndId\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n findParentOfId\n \n \n Async\n getAncestorIds\n \n \n Async\n getTitlesByIds\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo, deleteVisitor: RecursiveDeleteVisitor)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n deleteVisitor\n \n \n RecursiveDeleteVisitor\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByClassAndId\n \n \n \n \n \n \n \n findByClassAndId(doClass: literal type, id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:28\n \n \n\n \n \n Type parameters :\n \n S\n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doClass\n \n literal type\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(childId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n childId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAncestorIds\n \n \n \n \n \n \n \n getAncestorIds(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTitlesByIds\n \n \n \n \n \n \n \n getTitlesByIds(id: EntityId[] | EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId[] | EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { AnyBoardDo, BoardExternalReference } from '@shared/domain/domainobject';\nimport { BoardNode, ColumnBoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoBuilderImpl } from './board-do.builder-impl';\nimport { BoardNodeRepo } from './board-node.repo';\nimport { RecursiveDeleteVisitor } from './recursive-delete.vistor';\nimport { RecursiveSaveVisitor } from './recursive-save.visitor';\n\n@Injectable()\nexport class BoardDoRepo {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly boardNodeRepo: BoardNodeRepo,\n\t\tprivate readonly deleteVisitor: RecursiveDeleteVisitor\n\t) {}\n\n\tasync findById(id: EntityId, depth?: number): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(id);\n\t\tconst descendants = await this.boardNodeRepo.findDescendants(boardNode, depth);\n\t\tconst domainObject = new BoardDoBuilderImpl(descendants).buildDomainObject(boardNode);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByClassAndId(\n\t\tdoClass: { new (props: S): T },\n\t\tid: EntityId,\n\t\tdepth?: number\n\t): Promise {\n\t\tconst domainObject = await this.findById(id, depth);\n\t\tif (!(domainObject instanceof doClass)) {\n\t\t\tthrow new NotFoundException(`There is no '${doClass.name}' with this id`);\n\t\t}\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst childrenMap = await this.boardNodeRepo.findDescendantsOfMany(boardNodes);\n\n\t\tconst domainObjects = boardNodes.map((boardNode) => {\n\t\t\tconst children = childrenMap[boardNode.pathOfChildren];\n\t\t\tconst domainObject = new BoardDoBuilderImpl(children).buildDomainObject(boardNode);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync getTitlesByIds(id: EntityId[] | EntityId): Promise> {\n\t\tconst ids = Utils.asArray(id);\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst titlesMap = boardNodes.reduce((map, node) => {\n\t\t\tmap[node.id] = node.title ?? '';\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn titlesMap;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst boardNodes = await this.em.find(ColumnBoardNode, {\n\t\t\t_contextId: new ObjectId(reference.id),\n\t\t\t_contextType: reference.type,\n\t\t});\n\t\tconst ids = boardNodes.map((o) => o.id);\n\n\t\treturn ids;\n\t}\n\n\tasync findParentOfId(childId: EntityId): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(childId);\n\t\tconst domainObject = boardNode.parentId ? this.findById(boardNode.parentId) : undefined;\n\n\t\treturn domainObject;\n\t}\n\n\tasync getAncestorIds(boardDo: AnyBoardDo): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(boardDo.id);\n\t\treturn boardNode.ancestorIds;\n\t}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst saveVisitor = new RecursiveSaveVisitor(this.em, this.boardNodeRepo);\n\t\tawait saveVisitor.save(domainObject, parent);\n\t\tawait this.em.flush();\n\t}\n\n\tasync delete(domainObject: AnyBoardDo): Promise {\n\t\tawait domainObject.acceptAsync(this.deleteVisitor);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRule.html":{"url":"injectables/BoardDoRule.html","title":"injectable - BoardDoRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/board-do.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BoardDoAuthorizable, BoardRoles } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class BoardDoRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable): boolean {\n\t\tconst isMatched = boardDoAuthorizable instanceof BoardDoAuthorizable;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tif (hasPermission === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userBoardRole = boardDoAuthorizable.users.find(({ userId }) => userId === user.id);\n\t\tif (!userBoardRole) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (boardDoAuthorizable.requiredUserRole && boardDoAuthorizable.requiredUserRole !== userBoardRole.userRoleEnum) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (context.action === Action.write && userBoardRole.roles.includes(BoardRoles.EDITOR)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (\n\t\t\tcontext.action === Action.read &&\n\t\t\t(userBoardRole.roles.includes(BoardRoles.EDITOR) || userBoardRole.roles.includes(BoardRoles.READER))\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoService.html":{"url":"injectables/BoardDoService.html","title":"injectable - BoardDoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n Async\n move\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n \n \n \n \n \n deleteWithDescendants(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetParent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo) {}\n\n\tasync deleteWithDescendants(domainObject: AnyBoardDo): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(domainObject.id);\n\n\t\tif (parent) {\n\t\t\tparent.removeChild(domainObject);\n\t\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\t}\n\n\t\tawait this.boardDoRepo.delete(domainObject);\n\t}\n\n\tasync move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number): Promise {\n\t\tif (targetParent.hasChild(child)) {\n\t\t\ttargetParent.removeChild(child);\n\t\t} else {\n\t\t\tconst sourceParent = await this.boardDoRepo.findParentOfId(child.id);\n\t\t\tif (sourceParent) {\n\t\t\t\tsourceParent.removeChild(child);\n\t\t\t\tawait this.boardDoRepo.save(sourceParent.children, sourceParent);\n\t\t\t}\n\t\t}\n\t\ttargetParent.addChild(child, targetPosition);\n\t\tawait this.boardDoRepo.save(targetParent.children, targetParent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardElement.html":{"url":"entities/BoardElement.html","title":"entity - BoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElementType\n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElementType\n \n \n \n \n \n \n Type : BoardElementType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:30\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : BoardElementReference\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:26\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum } from '@mikro-orm/core';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\nexport type BoardElementReference = Task | LessonEntity | ColumnBoardTarget;\n\nexport enum BoardElementType {\n\t'Task' = 'task',\n\t'Lesson' = 'lesson',\n\t'ColumnBoard' = 'columnboard',\n}\n\nexport type BoardElementProps = {\n\ttarget: EntityId | BoardElementReference;\n};\n\n@Entity({\n\tdiscriminatorColumn: 'boardElementType',\n\tabstract: true,\n})\nexport abstract class BoardElement extends BaseEntityWithTimestamps {\n\t/** id reference to a collection populated later with name */\n\ttarget!: BoardElementReference;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\tboardElementType!: BoardElementType;\n\n\tconstructor(props: BoardElementProps) {\n\t\tsuper();\n\t\tObject.assign(this, { target: props.target });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardElementResponse.html":{"url":"classes/BoardElementResponse.html","title":"class - BoardElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the Board, either: a task or a lesson specific for the board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : RoomBoardElementTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'the type of the element in the content. For possible types, please refer to the enum', enum: RoomBoardElementTypes})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoomBoardElementTypes } from '@modules/learnroom/types';\nimport { BoardColumnBoardResponse } from './board-column-board.response';\nimport { BoardLessonResponse } from './board-lesson.response';\nimport { BoardTaskResponse } from './board-task.response';\n\nexport class BoardElementResponse {\n\tconstructor({ type, content }: BoardElementResponse) {\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'the type of the element in the content. For possible types, please refer to the enum',\n\t\tenum: RoomBoardElementTypes,\n\t})\n\ttype: RoomBoardElementTypes;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the Board, either: a task or a lesson specific for the board',\n\t})\n\tcontent: BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardExternalReference.html":{"url":"interfaces/BoardExternalReference.html","title":"interface - BoardExternalReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardExternalReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-external-reference.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: BoardExternalReferenceType\n\n \n \n\n\n \n \n Type : BoardExternalReferenceType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport enum BoardExternalReferenceType {\n\t'Course' = 'course',\n}\n\nexport interface BoardExternalReference {\n\ttype: BoardExternalReferenceType;\n\tid: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardLessonResponse.html":{"url":"classes/BoardLessonResponse.html","title":"class - BoardLessonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardLessonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n hidden\n \n \n \n id\n \n \n \n \n name\n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardLessonResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardLessonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\n\nexport class BoardLessonResponse {\n\tconstructor({\n\t\tid,\n\t\tname,\n\t\thidden,\n\t\tnumberOfPublishedTasks,\n\t\tnumberOfDraftTasks,\n\t\tnumberOfPlannedTasks,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t}: BoardLessonResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.hidden = hidden;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.numberOfPublishedTasks = numberOfPublishedTasks;\n\t\tthis.numberOfDraftTasks = numberOfDraftTasks;\n\t\tthis.numberOfPlannedTasks = numberOfPlannedTasks;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tnumberOfPublishedTasks: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfDraftTasks?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfPlannedTasks?: number;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\thidden: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardManagementConsole.html":{"url":"classes/BoardManagementConsole.html","title":"class - BoardManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/board-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, boardManagementUc: BoardManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n boardManagementUc\n \n \n BoardManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'create-board [courseId]', description: 'create a multi-column-board'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { ObjectId } from 'bson';\nimport { Command, Console } from 'nestjs-console';\nimport { BoardManagementUc } from '../uc/board-management.uc';\n\n@Console({ command: 'board', description: 'board setup console' })\nexport class BoardManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private boardManagementUc: BoardManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'create-board [courseId]',\n\t\tdescription: 'create a multi-column-board',\n\t})\n\tasync createBoard(courseId = ''): Promise {\n\t\tif (!ObjectId.isValid(courseId)) {\n\t\t\tthis.consoleWriter.info('Error: please provide a valid courseId this board should be assigned to.');\n\t\t\treturn;\n\t\t}\n\n\t\tconst boardId = await this.boardManagementUc.createBoard(courseId);\n\t\tif (boardId) {\n\t\t\tthis.consoleWriter.info(`Success: board creation is completed! The new boardId is \"${boardId ?? ''}\"`);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardManagementUc.html":{"url":"injectables/BoardManagementUc.html","title":"injectable - BoardManagementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardManagementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/board-management.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createBoard\n \n \n Private\n createCards\n \n \n Private\n createColumns\n \n \n Private\n createElements\n \n \n Private\n Async\n doesCourseExist\n \n \n Private\n generateArray\n \n \n Private\n random\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createCards\n \n \n \n \n \n \n \n createCards(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createColumns\n \n \n \n \n \n \n \n createColumns(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createElements\n \n \n \n \n \n \n \n createElements(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doesCourseExist\n \n \n \n \n \n \n \n doesCourseExist(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n generateArray\n \n \n \n \n \n \n \n generateArray(length: number, fn: (i: number) => void)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:73\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n length\n \n number\n \n\n \n No\n \n\n\n \n \n fn\n \n function\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n random\n \n \n \n \n \n \n \n random(min: number, max: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n min\n \n number\n \n\n \n No\n \n\n\n \n \n max\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { BoardNode, Course } from '@shared/domain/entity';\nimport { EntityId, InputFormat } from '@shared/domain/types';\nimport {\n\tcardNodeFactory,\n\tcolumnBoardNodeFactory,\n\tcolumnNodeFactory,\n\trichTextElementNodeFactory,\n} from '@shared/testing';\n\n@Injectable()\nexport class BoardManagementUc {\n\tconstructor(private consoleWriter: ConsoleWriterService, private em: EntityManager) {}\n\n\tasync createBoard(courseId: EntityId): Promise {\n\t\tif (!(await this.doesCourseExist(courseId))) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst context = { type: BoardExternalReferenceType.Course, id: courseId };\n\t\tconst board = columnBoardNodeFactory.build({ context });\n\t\tawait this.em.persistAndFlush(board);\n\n\t\tconst columns = this.createColumns(3, board);\n\t\tawait this.em.persistAndFlush(columns);\n\n\t\tconst cardsPerColumn = columns.map((column) => this.createCards(this.random(1, 3), column));\n\t\tconst cards = cardsPerColumn.flat();\n\t\tawait this.em.persistAndFlush(cards);\n\n\t\tconst elementsPerCard = cards.map((card) => this.createElements(1, card));\n\t\tconst elements = elementsPerCard.flat();\n\t\tawait this.em.persistAndFlush(elements);\n\n\t\treturn board.id;\n\t}\n\n\tprivate createColumns(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcolumnNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Column ${i + 1}`,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createCards(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcardNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Card ${i + 1}`,\n\t\t\t\theight: this.random(50, 250),\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createElements(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\trichTextElementNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttext: `Text ${i + 1}`,\n\t\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate generateArray(length: number, fn: (i: number) => T) {\n\t\treturn [...Array(length).keys()].map((_, i) => fn(i));\n\t}\n\n\tprivate random(min: number, max: number): number {\n\t\treturn Math.floor(Math.random() * (max + min - 1) + min);\n\t}\n\n\tprivate async doesCourseExist(courseId: EntityId = ''): Promise {\n\t\ttry {\n\t\t\tawait this.em.findOneOrFail(Course, courseId);\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\tthis.consoleWriter.info(`Error: course does not exist (courseId: \"${courseId}\")`);\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardModule.html":{"url":"modules/BoardModule.html","title":"module - BoardModule","body":"\n \n\n\n\n\n Modules\n BoardModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardModule\n\n\n\ncluster_BoardModule_providers\n\n\n\ncluster_BoardModule_imports\n\n\n\ncluster_BoardModule_exports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nBoardModule\n\nBoardModule\n\nBoardModule -->\n\nConsoleWriterModule->BoardModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nBoardModule -->\n\nContextExternalToolModule->BoardModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nBoardModule -->\n\nFilesStorageClientModule->BoardModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardModule -->\n\nLoggerModule->BoardModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nBoardModule -->\n\nUserModule->BoardModule\n\n\n\n\n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService -->\n\nBoardModule->BoardDoAuthorizableService \n\n\n\n\n\nCardService \n\nCardService \n\nCardService -->\n\nBoardModule->CardService \n\n\n\n\n\nColumnBoardCopyService \n\nColumnBoardCopyService \n\nColumnBoardCopyService -->\n\nBoardModule->ColumnBoardCopyService \n\n\n\n\n\nColumnBoardService \n\nColumnBoardService \n\nColumnBoardService -->\n\nBoardModule->ColumnBoardService \n\n\n\n\n\nColumnService \n\nColumnService \n\nColumnService -->\n\nBoardModule->ColumnService \n\n\n\n\n\nContentElementService \n\nContentElementService \n\nContentElementService -->\n\nBoardModule->ContentElementService \n\n\n\n\n\nSubmissionItemService \n\nSubmissionItemService \n\nSubmissionItemService -->\n\nBoardModule->SubmissionItemService \n\n\n\n\n\nBoardDoAuthorizableService\n\nBoardDoAuthorizableService\n\nBoardModule -->\n\nBoardDoAuthorizableService->BoardModule\n\n\n\n\n\nBoardDoCopyService\n\nBoardDoCopyService\n\nBoardModule -->\n\nBoardDoCopyService->BoardModule\n\n\n\n\n\nBoardDoRepo\n\nBoardDoRepo\n\nBoardModule -->\n\nBoardDoRepo->BoardModule\n\n\n\n\n\nBoardDoService\n\nBoardDoService\n\nBoardModule -->\n\nBoardDoService->BoardModule\n\n\n\n\n\nBoardNodeRepo\n\nBoardNodeRepo\n\nBoardModule -->\n\nBoardNodeRepo->BoardModule\n\n\n\n\n\nCardService\n\nCardService\n\nBoardModule -->\n\nCardService->BoardModule\n\n\n\n\n\nColumnBoardCopyService\n\nColumnBoardCopyService\n\nBoardModule -->\n\nColumnBoardCopyService->BoardModule\n\n\n\n\n\nColumnBoardService\n\nColumnBoardService\n\nBoardModule -->\n\nColumnBoardService->BoardModule\n\n\n\n\n\nColumnService\n\nColumnService\n\nBoardModule -->\n\nColumnService->BoardModule\n\n\n\n\n\nContentElementFactory\n\nContentElementFactory\n\nBoardModule -->\n\nContentElementFactory->BoardModule\n\n\n\n\n\nContentElementService\n\nContentElementService\n\nBoardModule -->\n\nContentElementService->BoardModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nBoardModule -->\n\nCourseRepo->BoardModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nBoardModule -->\n\nDrawingElementAdapterService->BoardModule\n\n\n\n\n\nRecursiveDeleteVisitor\n\nRecursiveDeleteVisitor\n\nBoardModule -->\n\nRecursiveDeleteVisitor->BoardModule\n\n\n\n\n\nSchoolSpecificFileCopyServiceFactory\n\nSchoolSpecificFileCopyServiceFactory\n\nBoardModule -->\n\nSchoolSpecificFileCopyServiceFactory->BoardModule\n\n\n\n\n\nSubmissionItemService\n\nSubmissionItemService\n\nBoardModule -->\n\nSubmissionItemService->BoardModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardDoAuthorizableService\n \n \n BoardDoCopyService\n \n \n BoardDoRepo\n \n \n BoardDoService\n \n \n BoardNodeRepo\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementFactory\n \n \n ContentElementService\n \n \n CourseRepo\n \n \n DrawingElementAdapterService\n \n \n RecursiveDeleteVisitor\n \n \n SchoolSpecificFileCopyServiceFactory\n \n \n SubmissionItemService\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n ContextExternalToolModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n BoardDoAuthorizableService\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementService\n \n \n SubmissionItemService\n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterModule } from '@infra/console';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { ContextExternalToolModule } from '@modules/tool/context-external-tool';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { ContentElementFactory } from '@shared/domain/domainobject';\nimport { CourseRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { HttpModule } from '@nestjs/axios';\nimport { BoardDoRepo, BoardNodeRepo, RecursiveDeleteVisitor } from './repo';\nimport {\n\tBoardDoAuthorizableService,\n\tBoardDoService,\n\tCardService,\n\tColumnBoardService,\n\tColumnService,\n\tContentElementService,\n\tSubmissionItemService,\n} from './service';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './service/board-do-copy-service';\nimport { ColumnBoardCopyService } from './service/column-board-copy.service';\n\n@Module({\n\timports: [\n\t\tConsoleWriterModule,\n\t\tFilesStorageClientModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tContextExternalToolModule,\n\t\tHttpModule,\n\t],\n\tproviders: [\n\t\tBoardDoAuthorizableService,\n\t\tBoardDoRepo,\n\t\tBoardDoService,\n\t\tBoardNodeRepo,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tContentElementFactory,\n\t\tCourseRepo, // TODO: import learnroom module instead. This is currently not possible due to dependency cycle with authorisation service\n\t\tRecursiveDeleteVisitor,\n\t\tSubmissionItemService,\n\t\tBoardDoCopyService,\n\t\tColumnBoardCopyService,\n\t\tSchoolSpecificFileCopyServiceFactory,\n\t\tDrawingElementAdapterService,\n\t],\n\texports: [\n\t\tBoardDoAuthorizableService,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tSubmissionItemService,\n\t\tColumnBoardCopyService,\n\t],\n})\nexport class BoardModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardNode.html":{"url":"entities/BoardNode.html","title":"entity - BoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n level\n \n \n \n \n path\n \n \n \n position\n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n level\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardNodeType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardNodeProps.html":{"url":"interfaces/BoardNodeProps.html","title":"interface - BoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n parent\n \n \n \n Optional\n \n position\n \n \n \n Optional\n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: BoardNode\n\n \n \n\n\n \n \n Type : BoardNode\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardNodeRepo.html":{"url":"injectables/BoardNodeRepo.html","title":"injectable - BoardNodeRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardNodeRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-node.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findDescendants\n \n \n Async\n findDescendantsOfMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendants\n \n \n \n \n \n \n \n findDescendants(node: BoardNode, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendantsOfMany\n \n \n \n \n \n \n \n findDescendantsOfMany(nodes: BoardNode[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n nodes\n \n BoardNode[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class BoardNodeRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet entity = this.em.getUnitOfWork().getById(BoardNode.name, id);\n\t\tif (entity) {\n\t\t\treturn entity;\n\t\t}\n\n\t\tentity = await this.em.findOneOrFail(BoardNode, id);\n\t\treturn entity;\n\t}\n\n\tasync findDescendants(node: BoardNode, depth?: number): Promise {\n\t\tconst levelQuery = depth !== undefined ? { $gt: node.level, $lte: node.level + depth } : { $gt: node.level };\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\tpath: { $re: `^${node.pathOfChildren}` },\n\t\t\tlevel: levelQuery,\n\t\t});\n\n\t\treturn descendants;\n\t}\n\n\tasync findDescendantsOfMany(nodes: BoardNode[]): Promise> {\n\t\tconst pathQueries = nodes.map((node) => {\n\t\t\treturn { path: { $re: `^${node.pathOfChildren}` } };\n\t\t});\n\n\t\tconst map: Record = {};\n\t\tif (pathQueries.length === 0) {\n\t\t\treturn map;\n\t\t}\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\t$or: pathQueries,\n\t\t});\n\n\t\t// this is for finding tha ancestors of a descendant\n\t\t// we use this to group the descendants by ancestor\n\t\t// TODO we probably need a more efficient way to do the grouping\n\t\tconst matchAncestors = (descendant: BoardNode): BoardNode[] => {\n\t\t\tconst result = nodes.filter((n) => descendant.path.match(`^${n.pathOfChildren}`));\n\t\t\treturn result;\n\t\t};\n\n\t\tfor (const desc of descendants) {\n\t\t\tconst ancestorNodes = matchAncestors(desc);\n\t\t\tancestorNodes.forEach((node) => {\n\t\t\t\tmap[node.pathOfChildren] ||= [];\n\t\t\t\tmap[node.pathOfChildren].push(desc);\n\t\t\t});\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardRepo.html":{"url":"injectables/BoardRepo.html","title":"injectable - BoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/board/board.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n Async\n findByCourseId\n \n \n Async\n findById\n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n Private\n Async\n populateBoard\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n \n \n \n \n \n createBoardForCourse(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseId\n \n \n \n \n \n \n \n findByCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n \n \n \n \n \n getOrCreateCourseBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateBoard\n \n \n \n \n \n \n \n populateBoard(board: Board)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Board, ColumnboardBoardElement, Course, LessonBoardElement, TaskBoardElement } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class BoardRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Board;\n\t}\n\n\tasync findByCourseId(courseId: EntityId): Promise {\n\t\tconst board = await this.getOrCreateCourseBoard(courseId);\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async getOrCreateCourseBoard(courseId: EntityId): Promise {\n\t\tlet board = await this._em.findOne(Board, { course: courseId });\n\t\tif (!board) {\n\t\t\tboard = await this.createBoardForCourse(courseId);\n\t\t}\n\t\treturn board;\n\t}\n\n\tprivate async createBoardForCourse(courseId: EntityId): Promise {\n\t\tconst course = await this._em.findOneOrFail(Course, courseId);\n\t\tconst board = new Board({ course, references: [] });\n\t\tawait this._em.persistAndFlush(board);\n\t\treturn board;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst board = await this._em.findOneOrFail(Board, { id });\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async populateBoard(board: Board) {\n\t\tawait board.references.init();\n\t\tconst elements = board.references.getItems();\n\t\tconst taskElements = elements.filter((el) => el instanceof TaskBoardElement);\n\t\tawait this._em.populate(taskElements, ['target']);\n\t\tconst lessonElements = elements.filter((el) => el instanceof LessonBoardElement);\n\t\tawait this._em.populate(lessonElements, ['target']);\n\t\tconst columnBoardElements = elements.filter((el) => el instanceof ColumnboardBoardElement);\n\t\tawait this._em.populate(columnBoardElements, ['target']);\n\t\treturn board;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponse.html":{"url":"classes/BoardResponse.html","title":"class - BoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : ColumnResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ColumnResponse } from './column.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class BoardResponse {\n\tconstructor({ id, title, columns, timestamps }: BoardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.columns = columns;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [ColumnResponse],\n\t})\n\tcolumns: ColumnResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponseMapper.html":{"url":"classes/BoardResponseMapper.html","title":"class - BoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/board-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/board-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardResponse, TimestampsResponse } from '../dto';\nimport { ColumnResponseMapper } from './column-response.mapper';\n\nexport class BoardResponseMapper {\n\tstatic mapToResponse(board: ColumnBoard): BoardResponse {\n\t\tconst result = new BoardResponse({\n\t\t\tid: board.id,\n\t\t\ttitle: board.title,\n\t\t\tcolumns: board.children.map((column) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(column instanceof Column)) {\n\t\t\t\t\tthrow new HttpException(\n\t\t\t\t\t\t`unsupported child type: ${column.constructor.name}`,\n\t\t\t\t\t\tHttpStatus.UNPROCESSABLE_ENTITY\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn ColumnResponseMapper.mapToResponse(column);\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: board.updatedAt, createdAt: board.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardSubmissionController.html":{"url":"controllers/BoardSubmissionController.html","title":"controller - BoardSubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardSubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board-submission.controller.ts\n \n\n \n Prefix\n \n \n board-submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: SubmissionItemUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element in a submission item.'})@ApiExtraModels(RichTextElementResponse, FileElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':submissionItemId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n getSubmissionItems(currentUser: ICurrentUser, urlParams: SubmissionContainerUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of submission items by their parent container.'})@ApiResponse({status: 200, type: SubmissionsResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get(':submissionContainerId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionContainerUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(currentUser: ICurrentUser, urlParams: SubmissionItemUrlParams, bodyParams: UpdateSubmissionItemBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single submission item.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':submissionItemId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport { SubmissionItemUc } from '../uc/submission-item.uc';\nimport {\n\tCreateContentElementBodyParams,\n\tFileElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerUrlParams,\n\tSubmissionItemUrlParams,\n\tUpdateSubmissionItemBodyParams,\n} from './dto';\nimport { SubmissionsResponse } from './dto/submission-item/submissions.response';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Submission')\n@Authenticate('jwt')\n@Controller('board-submissions')\nexport class BoardSubmissionController {\n\tconstructor(\n\t\tprivate readonly cardUc: CardUc,\n\t\tprivate readonly elementUc: ElementUc,\n\t\tprivate readonly submissionItemUc: SubmissionItemUc\n\t) {}\n\n\t@ApiOperation({ summary: 'Get a list of submission items by their parent container.' })\n\t@ApiResponse({ status: 200, type: SubmissionsResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get(':submissionContainerId')\n\tasync getSubmissionItems(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionContainerUrlParams\n\t): Promise {\n\t\tconst { submissionItems, users } = await this.submissionItemUc.findSubmissionItems(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionContainerId\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapToResponse(submissionItems, users);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update a single submission item.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':submissionItemId')\n\tasync updateSubmissionItem(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: UpdateSubmissionItemBodyParams\n\t) {\n\t\tawait this.submissionItemUc.updateSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionItemId,\n\t\t\tbodyParams.completed\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element in a submission item.' })\n\t@ApiExtraModels(RichTextElementResponse, FileElementResponse)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [{ $ref: getSchemaPath(RichTextElementResponse) }, { $ref: getSchemaPath(FileElementResponse) }],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':submissionItemId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type } = bodyParams;\n\t\tconst element = await this.submissionItemUc.createElement(currentUser.userId, urlParams.submissionItemId, type);\n\t\tconst response = ContentElementResponseFactory.mapSubmissionContentToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskResponse.html":{"url":"classes/BoardTaskResponse.html","title":"class - BoardTaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : BoardTaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardTaskStatusResponse } from './board-task-status.response';\n\nexport class BoardTaskResponse {\n\tconstructor({ id, name, createdAt, updatedAt, status }: BoardTaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: BoardTaskStatusResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusMapper.html":{"url":"classes/BoardTaskStatusMapper.html","title":"class - BoardTaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardTaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { BoardTaskStatusResponse } from '../controller/dto';\n\nexport class BoardTaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): BoardTaskStatusResponse {\n\t\tconst dto = new BoardTaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusResponse.html":{"url":"classes/BoardTaskStatusResponse.html","title":"class - BoardTaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class BoardTaskStatusResponse {\n\tconstructor({\n\t\tsubmitted,\n\t\tmaxSubmissions,\n\t\tgraded,\n\t\tisDraft,\n\t\tisSubstitutionTeacher,\n\t\tisFinished,\n\t}: BoardTaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUc.html":{"url":"injectables/BoardUc.html","title":"injectable - BoardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/board.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createColumn\n \n \n Async\n deleteBoard\n \n \n Async\n findBoard\n \n \n Async\n findBoardContext\n \n \n Async\n moveColumn\n \n \n Async\n updateBoardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnBoardService: ColumnBoardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoard\n \n \n \n \n \n \n \n findBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoardContext\n \n \n \n \n \n \n \n findBoardContext(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(userId: EntityId, columnId: EntityId, targetBoardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetBoardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(userId: EntityId, boardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action } from '@modules/authorization';\nimport { AuthorizationService } from '@modules/authorization/domain';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardExternalReference, Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CardService, ColumnBoardService, ColumnService } from '../service';\nimport { BoardDoAuthorizableService } from '../service/board-do-authorizable.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class BoardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(BoardUc.name);\n\t}\n\n\tasync findBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board;\n\t}\n\n\tasync findBoardContext(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoardContext', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board.context;\n\t}\n\n\tasync deleteBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.delete(board);\n\t}\n\n\tasync updateBoardTitle(userId: EntityId, boardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateBoardTitle', userId, boardId, title });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.updateTitle(board, title);\n\t}\n\n\tasync createColumn(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'createColumn', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tconst column = await this.columnService.create(board);\n\t\treturn column;\n\t}\n\n\tasync moveColumn(\n\t\tuserId: EntityId,\n\t\tcolumnId: EntityId,\n\t\ttargetBoardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveColumn', userId, columnId, targetBoardId, targetPosition });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tconst targetBoard = await this.columnBoardService.findById(targetBoardId);\n\n\t\tawait this.checkPermission(userId, column, Action.write);\n\t\tawait this.checkPermission(userId, targetBoard, Action.write);\n\n\t\tawait this.columnService.move(column, targetBoard, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUrlHandler.html":{"url":"injectables/BoardUrlHandler.html","title":"injectable - BoardUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/(.*?)\\/board\\/?$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:11\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { ColumnBoardService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class BoardUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/(.*?)\\/board\\/?$/i];\n\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'board' });\n\n\t\tconst columnBoard = await this.columnBoardService.findById(id);\n\t\tif (columnBoard) {\n\t\t\tmetaData.title = columnBoard.title;\n\t\t\tif (columnBoard.context.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseService.findById(columnBoard.context.id);\n\t\t\t\tmetaData.parentType = 'course';\n\t\t\t\tmetaData.parentTitle = course.name;\n\t\t\t}\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardUrlParams.html":{"url":"classes/BoardUrlParams.html","title":"class - BoardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the board.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class BoardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the board.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BruteForceError.html":{"url":"classes/BruteForceError.html","title":"class - BruteForceError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BruteForceError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/brute-force.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(timeToWait: number, message: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n timeToWait\n \n \n number\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class BruteForceError extends BusinessError {\n\treadonly timeToWait: number;\n\n\tconstructor(timeToWait: number, message: string) {\n\t\tsuper(\n\t\t\t{ type: 'ENTITY_NOT_FOUND', title: 'Entity Not Found', defaultMessage: message },\n\t\t\tHttpStatus.TOO_MANY_REQUESTS,\n\t\t\t{\n\t\t\t\ttimeToWait,\n\t\t\t}\n\t\t);\n\t\tthis.timeToWait = timeToWait;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BsonConverter.html":{"url":"injectables/BsonConverter.html","title":"injectable - BsonConverter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BsonConverter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/converter/bson.converter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deserialize\n \n \n serialize\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deserialize\n \n \n \n \n \n \ndeserialize(bsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:21\n \n \n\n\n \n \n Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n bsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n mongo-bson/ejson objects\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-json documents\n\n \n \n \n \n \n \n \n \n \n \n \n serialize\n \n \n \n \n \n \nserialize(documents: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:11\n \n \n\n\n \n \n Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n documents\n \n []\n \n\n \n No\n \n\n\n \n mongo-json documents\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-bson/ejson objects\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EJSON } from 'bson';\n\n@Injectable()\nexport class BsonConverter {\n\t/**\n\t * Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\t * @param documents mongo-json documents\n\t * @returns mongo-bson/ejson objects\n\t */\n\tserialize(documents: unknown[]): unknown[] {\n\t\tconst bsonDocuments = EJSON.serialize(documents) as unknown[];\n\t\treturn bsonDocuments;\n\t}\n\n\t/**\n\t * Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\t * @param bsonDocuments mongo-bson/ejson objects\n\t * @returns mongo-json documents\n\t */\n\tdeserialize(bsonDocuments: unknown[]): unknown[] {\n\t\tconst jsonDocuments = EJSON.deserialize(bsonDocuments) as unknown[];\n\t\treturn jsonDocuments;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Builder.html":{"url":"classes/Builder.html","title":"class - Builder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Builder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(init: T)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n init\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:8\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class Builder {\n\tprotected readonly product: T;\n\n\tconstructor(init: T) {\n\t\tthis.product = init;\n\t}\n\n\tbuild(): T {\n\t\treturn this.product;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BusinessError.html":{"url":"classes/BusinessError.html","title":"class - BusinessError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BusinessError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/business.error.ts\n \n\n\n \n Description\n \n \n Abstract base class for business errors, errors that are handled\nwithin a client or inside the application.\n\n \n\n \n Extends\n \n \n HttpException\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(undefined: ErrorType, code: HttpStatus, details?: Record, cause?)\n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ErrorType\n \n \n \n No\n \n \n \n \n code\n \n \n HttpStatus\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n cause\n \n \n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:47\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ErrorResponse } from '@src/core/error/dto/error.response';\nimport { ErrorType } from '@src/core/error/interface';\n\n/**\n * Abstract base class for business errors, errors that are handled\n * within a client or inside the application.\n */\nexport abstract class BusinessError extends HttpException {\n\t@ApiProperty({ description: 'The response status code.' })\n\treadonly code: number;\n\n\t@ApiProperty({ description: 'The error type.' })\n\treadonly type: string;\n\n\t@ApiProperty({ description: 'The error title.' })\n\treadonly title: string;\n\n\t@ApiProperty({ description: 'The error message.' })\n\treadonly message: string;\n\n\t@ApiPropertyOptional({ description: 'The error details.' })\n\t// Is not matched by type validation because HttpException is already declared\n\treadonly details?: Record;\n\n\tprotected constructor(\n\t\t{ type, title, defaultMessage }: ErrorType,\n\t\tcode: HttpStatus = HttpStatus.CONFLICT,\n\t\tdetails?: Record,\n\t\tcause?: unknown\n\t) {\n\t\tsuper({ code, type, title, message: defaultMessage }, code);\n\t\tthis.code = code;\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = defaultMessage;\n\t\tthis.details = details;\n\n\t\tif (cause instanceof Error) {\n\t\t\tthis.cause = cause;\n\t\t} else if (cause !== undefined) {\n\t\t\tthis.cause = typeof cause === 'object' ? new Error(JSON.stringify(cause)) : new Error(String(cause));\n\t\t}\n\t}\n\n\toverride getResponse(): ErrorResponse {\n\t\tconst errorResponse: ErrorResponse = new ErrorResponse(\n\t\t\tthis.type,\n\t\t\tthis.title,\n\t\t\tthis.message,\n\t\t\tthis.code,\n\t\t\tthis.details\n\t\t);\n\n\t\treturn errorResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CacheService.html":{"url":"injectables/CacheService.html","title":"injectable - CacheService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CacheService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/cache/service/cache.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getStoreType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStoreType\n \n \n \n \n \n \ngetStoreType()\n \n \n\n\n \n \n Defined in apps/server/src/infra/cache/service/cache.service.ts:7\n \n \n\n\n \n \n\n \n Returns : CacheStoreType\n\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { CacheStoreType } from '../interface/cache-store-type.enum';\n\n@Injectable()\nexport class CacheService {\n\tgetStoreType(): CacheStoreType {\n\t\treturn Configuration.has('REDIS_URI') ? CacheStoreType.REDIS : CacheStoreType.MEMORY;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CacheWrapperModule.html":{"url":"modules/CacheWrapperModule.html","title":"module - CacheWrapperModule","body":"\n \n\n\n\n\n Modules\n CacheWrapperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CacheWrapperModule\n\n\n\ncluster_CacheWrapperModule_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"},"interfaces/CalendarEvent.html":{"url":"interfaces/CalendarEvent.html","title":"interface - CalendarEvent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CalendarEvent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/interface/calendar-event.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CalendarEvent {\n\tdata: {\n\t\tattributes: {\n\t\t\tsummary: string;\n\t\t\t'x-sc-teamid': string;\n\t\t};\n\t}[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CalendarEventDto.html":{"url":"classes/CalendarEventDto.html","title":"class - CalendarEventDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CalendarEventDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/dto/calendar-event.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n teamId\n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: CalendarEventDto)\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n CalendarEventDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CalendarEventDto {\n\ttitle: string;\n\n\tteamId: string;\n\n\tconstructor(dto: CalendarEventDto) {\n\t\tthis.title = dto.title;\n\t\tthis.teamId = dto.teamId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarMapper.html":{"url":"injectables/CalendarMapper.html","title":"injectable - CalendarMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/mapper/calendar.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(event: CalendarEvent)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n CalendarEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CalendarEventDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CalendarEvent } from '@infra/calendar/interface/calendar-event.interface';\nimport { Injectable } from '@nestjs/common';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\n\n@Injectable()\nexport class CalendarMapper {\n\tmapToDto(event: CalendarEvent): CalendarEventDto {\n\t\tconst { attributes } = event.data[0];\n\t\treturn new CalendarEventDto({\n\t\t\tteamId: attributes['x-sc-teamid'],\n\t\t\ttitle: attributes.summary,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CalendarModule.html":{"url":"modules/CalendarModule.html","title":"module - CalendarModule","body":"\n \n\n\n\n\n Modules\n CalendarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CalendarModule\n\n\n\ncluster_CalendarModule_exports\n\n\n\ncluster_CalendarModule_providers\n\n\n\n\nCalendarService \n\nCalendarService \n\n\n\nCalendarModule\n\nCalendarModule\n\nCalendarService -->\n\nCalendarModule->CalendarService \n\n\n\n\n\nCalendarMapper\n\nCalendarMapper\n\nCalendarModule -->\n\nCalendarMapper->CalendarModule\n\n\n\n\n\nCalendarService\n\nCalendarService\n\nCalendarModule -->\n\nCalendarService->CalendarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/calendar/calendar.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CalendarMapper\n \n \n CalendarService\n \n \n \n \n Exports\n \n \n CalendarService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { CalendarService } from './service/calendar.service';\nimport { CalendarMapper } from './mapper/calendar.mapper';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [CalendarMapper, CalendarService],\n\texports: [CalendarService],\n})\nexport class CalendarModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarService.html":{"url":"injectables/CalendarService.html","title":"injectable - CalendarService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/service/calendar.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findEvent\n \n \n Private\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, calendarMapper: CalendarMapper)\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n calendarMapper\n \n \n CalendarMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findEvent\n \n \n \n \n \n \n \n findEvent(userId: EntityId, eventId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n eventId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(path: string, queryParams: URLSearchParams, config: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n config\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\nimport { CalendarEvent } from '../interface/calendar-event.interface';\nimport { CalendarMapper } from '../mapper/calendar.mapper';\n\n@Injectable()\nexport class CalendarService {\n\tprivate readonly baseURL: string;\n\n\tprivate readonly timeoutMs: number;\n\n\tconstructor(private readonly httpService: HttpService, private readonly calendarMapper: CalendarMapper) {\n\t\tthis.baseURL = Configuration.get('CALENDAR_URI') as string;\n\t\tthis.timeoutMs = Configuration.get('REQUEST_OPTION__TIMEOUT_MS') as number;\n\t}\n\n\tasync findEvent(userId: EntityId, eventId: EntityId): Promise {\n\t\tconst params = new URLSearchParams();\n\t\tparams.append('event-id', eventId);\n\n\t\treturn firstValueFrom(\n\t\t\tthis.get('/events', params, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: userId,\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t\ttimeout: this.timeoutMs,\n\t\t\t})\n\t\t)\n\t\t\t.then((resp: AxiosResponse) => this.calendarMapper.mapToDto(resp.data))\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'CalendarService:findEvent')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\tprivate get(\n\t\tpath: string,\n\t\tqueryParams: URLSearchParams,\n\t\tconfig: AxiosRequestConfig\n\t): Observable> {\n\t\tconst url: URL = new URL(this.baseURL);\n\t\turl.pathname = path;\n\t\turl.search = queryParams.toString();\n\t\treturn this.httpService.get(url.toString(), config);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Card.html":{"url":"classes/Card.html","title":"class - Card","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Card\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n height\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:42\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:11\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:15\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n height\n \n \n\n \n \n getheight()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:19\n \n \n\n \n \n setheight(height: number)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:23\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n height\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CardController.html":{"url":"controllers/CardController.html","title":"controller - CardController","body":"\n \n\n\n\n\n\n\n Controllers\n CardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/card.controller.ts\n \n\n \n Prefix\n \n \n cards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: CardUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element on a card.'})@ApiExtraModels(ExternalToolElementResponse, FileElementResponse, LinkElementResponse, RichTextElementResponse, SubmissionContainerElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':cardId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(urlParams: CardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':cardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n getCards(currentUser: ICurrentUser, cardIdParams: CardIdsParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of cards by their ids.'})@ApiResponse({status: 200, type: CardListResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get()\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n cardIdParams\n \n CardIdsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(urlParams: CardUrlParams, bodyParams: MoveCardBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':cardId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveCardBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(urlParams: CardUrlParams, bodyParams: SetHeightBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the height of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/height')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n SetHeightBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(urlParams: CardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n\tQuery,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc, ColumnUc } from '../uc';\nimport {\n\tAnyContentElementResponse,\n\tCardIdsParams,\n\tCardListResponse,\n\tCardUrlParams,\n\tCreateContentElementBodyParams,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tMoveCardBodyParams,\n\tRenameBodyParams,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from './dto';\nimport { SetHeightBodyParams } from './dto/board/set-height.body.params';\nimport { CardResponseMapper, ContentElementResponseFactory } from './mapper';\n\n@ApiTags('Board Card')\n@Authenticate('jwt')\n@Controller('cards')\nexport class CardController {\n\tconstructor(private readonly columnUc: ColumnUc, private readonly cardUc: CardUc) {}\n\n\t@ApiOperation({ summary: 'Get a list of cards by their ids.' })\n\t@ApiResponse({ status: 200, type: CardListResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get()\n\tasync getCards(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() cardIdParams: CardIdsParams\n\t): Promise {\n\t\tconst cardIds = Array.isArray(cardIdParams.ids) ? cardIdParams.ids : [cardIdParams.ids];\n\t\tconst cards = await this.cardUc.findCards(currentUser.userId, cardIds);\n\t\tconst cardResponses = cards.map((card) => CardResponseMapper.mapToResponse(card));\n\n\t\tconst result = new CardListResponse({\n\t\t\tdata: cardResponses,\n\t\t});\n\t\treturn result;\n\t}\n\n\t@ApiOperation({ summary: 'Move a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':cardId/position')\n\tasync moveCard(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: MoveCardBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.moveCard(currentUser.userId, urlParams.cardId, bodyParams.toColumnId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the height of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/height')\n\tasync updateCardHeight(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: SetHeightBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardHeight(currentUser.userId, urlParams.cardId, bodyParams.height);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/title')\n\tasync updateCardTitle(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardTitle(currentUser.userId, urlParams.cardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':cardId')\n\tasync deleteCard(@Param() urlParams: CardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.cardUc.deleteCard(currentUser.userId, urlParams.cardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element on a card.' })\n\t@ApiExtraModels(\n\t\tExternalToolElementResponse,\n\t\tFileElementResponse,\n\t\tLinkElementResponse,\n\t\tRichTextElementResponse,\n\t\tSubmissionContainerElementResponse\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':cardId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type, toPosition } = bodyParams;\n\t\tconst element = await this.cardUc.createElement(currentUser.userId, urlParams.cardId, type, toPosition);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardIdsParams.html":{"url":"classes/CardIdsParams.html","title":"class - CardIdsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardIdsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-ids.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n ids\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n ids\n \n \n \n \n \n \n Type : string[] | string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId({each: true})@ApiProperty({description: 'Array of Ids to be loaded', type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-ids.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardIdsParams {\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array of Ids to be loaded',\n\t\ttype: [String],\n\t})\n\tids!: string[] | string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardListResponse.html":{"url":"classes/CardListResponse.html","title":"class - CardListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardListResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardListResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CardResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { CardResponse } from './card.response';\n\nexport class CardListResponse {\n\tconstructor({ data }: CardListResponse) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CardResponse] })\n\tdata: CardResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CardNode.html":{"url":"entities/CardNode.html","title":"entity - CardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n CardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardNodeProps.html":{"url":"interfaces/CardNodeProps.html","title":"interface - CardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardProps.html":{"url":"interfaces/CardProps.html","title":"interface - CardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponse.html":{"url":"classes/CardResponse.html","title":"class - CardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n elements\n \n \n \n height\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n visibilitySettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : AnyContentElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n visibilitySettings\n \n \n \n \n \n \n Type : VisibilitySettingsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport {\n\tAnyContentElementResponse,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from '../element';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { VisibilitySettingsResponse } from './visibility-settings.response';\n\n@ApiExtraModels(\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tDrawingElementResponse,\n\tSubmissionContainerElementResponse\n)\nexport class CardResponse {\n\tconstructor({ id, title, height, elements, visibilitySettings, timestamps }: CardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.height = height;\n\t\tthis.elements = elements;\n\t\tthis.visibilitySettings = visibilitySettings;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\theight: number;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\telements: AnyContentElementResponse[];\n\n\t@ApiProperty()\n\tvisibilitySettings: VisibilitySettingsResponse;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponseMapper.html":{"url":"classes/CardResponseMapper.html","title":"class - CardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/card-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/card-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Card } from '@shared/domain/domainobject';\nimport { CardResponse, TimestampsResponse, VisibilitySettingsResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class CardResponseMapper {\n\tstatic mapToResponse(card: Card): CardResponse {\n\t\tconst result = new CardResponse({\n\t\t\tid: card.id,\n\t\t\ttitle: card.title,\n\t\t\theight: card.height,\n\t\t\telements: card.children.map((element) => ContentElementResponseFactory.mapToResponse(element)),\n\t\t\tvisibilitySettings: new VisibilitySettingsResponse({}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: card.updatedAt, createdAt: card.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardService.html":{"url":"injectables/CardService.html","title":"injectable - CardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/card.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n Async\n createEmptyElements\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n move\n \n \n Async\n updateHeight\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementService: ContentElementService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Column, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Column\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createEmptyElements\n \n \n \n \n \n \n \n createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(card: Card, targetColumn: Column, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n targetColumn\n \n Column\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateHeight\n \n \n \n \n \n \n \n updateHeight(card: Card, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(card: Card, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport { Card, Column, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementService } from './content-element.service';\n\n@Injectable()\nexport class CardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementService: ContentElementService\n\t) {}\n\n\tasync findById(cardId: EntityId): Promise {\n\t\treturn this.boardDoRepo.findByClassAndId(Card, cardId);\n\t}\n\n\tasync findByIds(cardIds: EntityId[]): Promise {\n\t\tconst cards = await this.boardDoRepo.findByIds(cardIds);\n\t\tif (cards.some((card) => !(card instanceof Card))) {\n\t\t\tthrow new NotFoundException('some ids do not belong to a card');\n\t\t}\n\n\t\treturn cards as Card[];\n\t}\n\n\tasync create(parent: Column, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(card);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\tif (requiredEmptyElements) {\n\t\t\tawait this.createEmptyElements(card, requiredEmptyElements);\n\t\t}\n\n\t\treturn card;\n\t}\n\n\tasync delete(card: Card): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(card);\n\t}\n\n\tasync move(card: Card, targetColumn: Column, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(card, targetColumn, targetPosition);\n\t}\n\n\tasync updateHeight(card: Card, height: number): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.height = height;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tasync updateTitle(card: Card, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.title = title;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tprivate async createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[]): Promise {\n\t\tfor await (const requiredEmptyElement of requiredEmptyElements) {\n\t\t\tawait this.contentElementService.create(card, requiredEmptyElement);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardSkeletonResponse.html":{"url":"classes/CardSkeletonResponse.html","title":"class - CardSkeletonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardSkeletonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cardId\n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardSkeletonResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardSkeletonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class CardSkeletonResponse {\n\tconstructor({ cardId, height }: CardSkeletonResponse) {\n\t\tthis.cardId = cardId;\n\t\tthis.height = height;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tcardId: string;\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise',\n\t})\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardUc.html":{"url":"injectables/CardUc.html","title":"injectable - CardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/card.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n deleteCard\n \n \n Private\n Async\n filterAllowed\n \n \n Async\n findCards\n \n \n Async\n moveElement\n \n \n Async\n updateCardHeight\n \n \n Async\n updateCardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, elementService: ContentElementService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, cardId: EntityId, type: ContentElementType, toPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n toPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(userId: EntityId, cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterAllowed\n \n \n \n \n \n \n \n filterAllowed(userId: EntityId, boardDos: T[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:97\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDos\n \n T[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findCards\n \n \n \n \n \n \n \n findCards(userId: EntityId, cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(userId: EntityId, elementId: EntityId, targetCardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetCardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(userId: EntityId, cardId: EntityId, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(userId: EntityId, cardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { AnyBoardDo, AnyContentElementDo, Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ContentElementService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class CardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(CardUc.name);\n\t}\n\n\tasync findCards(userId: EntityId, cardIds: EntityId[]): Promise {\n\t\tthis.logger.debug({ action: 'findCards', userId, cardIds });\n\n\t\tconst cards = await this.cardService.findByIds(cardIds);\n\t\tconst allowedCards = await this.filterAllowed(userId, cards, Action.read);\n\n\t\treturn allowedCards;\n\t}\n\n\tasync updateCardHeight(userId: EntityId, cardId: EntityId, height: number): Promise {\n\t\tthis.logger.debug({ action: 'updateCardHeight', userId, cardId, height });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateHeight(card, height);\n\t}\n\n\tasync updateCardTitle(userId: EntityId, cardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateCardTitle', userId, cardId, title });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateTitle(card, title);\n\t}\n\n\tasync deleteCard(userId: EntityId, cardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteCard', userId, cardId });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.delete(card);\n\t}\n\n\t// --- elements ---\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tcardId: EntityId,\n\t\ttype: ContentElementType,\n\t\ttoPosition?: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'createElement', userId, cardId, type });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tconst element = await this.elementService.create(card, type);\n\t\tif (toPosition !== undefined && typeof toPosition === 'number') {\n\t\t\tawait this.elementService.move(element, card, toPosition);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync moveElement(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\ttargetCardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, elementId, targetCardId, targetPosition });\n\n\t\tconst element = await this.elementService.findById(elementId);\n\t\tconst targetCard = await this.cardService.findById(targetCardId);\n\n\t\tawait this.checkPermission(userId, element, Action.write);\n\t\tawait this.checkPermission(userId, targetCard, Action.write);\n\n\t\tawait this.elementService.move(element, targetCard, targetPosition);\n\t}\n\n\tprivate async filterAllowed(userId: EntityId, boardDos: T[], action: Action): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst context = { action, requiredPermissions: [] };\n\t\tconst promises = boardDos.map((boardDo) =>\n\t\t\tthis.boardDoAuthorizableService.getBoardAuthorizable(boardDo).then((boardDoAuthorizable) => {\n\t\t\t\treturn { boardDoAuthorizable, boardDo };\n\t\t\t})\n\t\t);\n\t\tconst result = await Promise.all(promises);\n\n\t\tconst allowed = result.reduce((allowedDos: T[], { boardDoAuthorizable, boardDo }) => {\n\t\t\tif (this.authorizationService.hasPermission(user, boardDoAuthorizable, context)) {\n\t\t\t\tallowedDos.push(boardDo);\n\t\t\t}\n\t\t\treturn allowedDos;\n\t\t}, []);\n\n\t\treturn allowed;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardUrlParams.html":{"url":"classes/CardUrlParams.html","title":"class - CardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the card.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the card.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChallengeParams.html":{"url":"classes/ChallengeParams.html","title":"class - ChallengeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChallengeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The login challenge.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ChallengeParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The login challenge.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tchallenge!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChangeLanguageParams.html":{"url":"classes/ChangeLanguageParams.html","title":"class - ChangeLanguageParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChangeLanguageParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LanguageType } from '@shared/domain/entity';\nimport { IsEnum } from 'class-validator';\n\nexport class ChangeLanguageParams {\n\t@ApiProperty({ enum: LanguageType })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Class.html":{"url":"classes/Class.html","title":"class - Class","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Class\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n schoolId\n \n \n userIds\n \n \n teacherIds\n \n \n invitationLink\n \n \n year\n \n \n gradeLevel\n \n \n ldapDN\n \n \n successor\n \n \n source\n \n \n sourceOptions\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n removeUser\n \n \n \n \n \n \n \n removeUser(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:22\n \n \n\n \n \n \n \n \n \n \n schoolId\n \n \n\n \n \n getschoolId()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:26\n \n \n\n \n \n \n \n \n \n \n userIds\n \n \n\n \n \n getuserIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:30\n \n \n\n \n \n \n \n \n \n \n teacherIds\n \n \n\n \n \n getteacherIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:34\n \n \n\n \n \n \n \n \n \n \n invitationLink\n \n \n\n \n \n getinvitationLink()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:38\n \n \n\n \n \n \n \n \n \n \n year\n \n \n\n \n \n getyear()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:42\n \n \n\n \n \n \n \n \n \n \n gradeLevel\n \n \n\n \n \n getgradeLevel()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:46\n \n \n\n \n \n \n \n \n \n \n ldapDN\n \n \n\n \n \n getldapDN()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:50\n \n \n\n \n \n \n \n \n \n \n successor\n \n \n\n \n \n getsuccessor()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:54\n \n \n\n \n \n \n \n \n \n \n source\n \n \n\n \n \n getsource()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:58\n \n \n\n \n \n \n \n \n \n \n sourceOptions\n \n \n\n \n \n getsourceOptions()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:62\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:66\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:70\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ClassEntity.html":{"url":"entities/ClassEntity.html","title":"entity - ClassEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ClassEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n Optional\n invitationLink\n \n \n \n Optional\n ldapDN\n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n \n Optional\n source\n \n \n \n Optional\n sourceOptions\n \n \n \n Optional\n successor\n \n \n \n \n teacherIds\n \n \n \n \n Optional\n userIds\n \n \n \n Optional\n year\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n invitationLink\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapDN\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceOptions\n \n \n \n \n \n \n Type : ClassSourceOptionsEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n successor\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n year\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:44\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassEntityFactory.html":{"url":"classes/ClassEntityFactory.html","title":"class - ClassEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ClassEntity, ClassEntityProps, ClassSourceOptionsEntity } from '@modules/class/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\n\nclass ClassEntityFactory extends BaseFactory {\n\twithUserIds(userIds: ObjectId[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classEntityFactory = ClassEntityFactory.define(ClassEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId(),\n\t\tuserIds: new Array(),\n\t\tteacherIds: [new ObjectId(), new ObjectId()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptionsEntity({ tspUid: `id-${sequence}` }),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassEntityProps.html":{"url":"interfaces/ClassEntityProps.html","title":"interface - ClassEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptionsEntity\n\n \n \n\n\n \n \n Type : ClassSourceOptionsEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFactory.html":{"url":"classes/ClassFactory.html","title":"class - ClassFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/testing/factory/class.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { Class, ClassProps } from '../../class.do';\nimport { ClassSourceOptions } from '../../class-source-options.do';\n\nclass ClassFactory extends DoBaseFactory {\n\twithUserIds(userIds: string[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classFactory = ClassFactory.define(Class, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId().toHexString(),\n\t\tuserIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tteacherIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId().toHexString(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId().toHexString(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptions({ tspUid: `id-${sequence}` }),\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFilterParams.html":{"url":"classes/ClassFilterParams.html","title":"class - ClassFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-filter-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SchoolYearQueryType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SchoolYearQueryType)@ApiPropertyOptional({enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType'})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/request/class-filter-params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { SchoolYearQueryType } from '../interface';\n\nexport class ClassFilterParams {\n\t@IsOptional()\n\t@IsEnum(SchoolYearQueryType)\n\t@ApiPropertyOptional({ enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType' })\n\ttype?: SchoolYearQueryType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoDto.html":{"url":"classes/ClassInfoDto.html","title":"class - ClassInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/class-info.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n id\n \n \n Optional\n isUpgradable\n \n \n name\n \n \n Optional\n schoolYear\n \n \n studentCount\n \n \n teacherNames\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n teacherNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ClassRootType } from './class-root-type';\n\nexport class ClassInfoDto {\n\tid: string;\n\n\ttype: ClassRootType;\n\n\tname: string;\n\n\texternalSourceName?: string;\n\n\tteacherNames: string[];\n\n\tschoolYear?: string;\n\n\tisUpgradable?: boolean;\n\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoDto) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teacherNames = props.teacherNames;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoResponse.html":{"url":"classes/ClassInfoResponse.html","title":"class - ClassInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n id\n \n \n \n Optional\n isUpgradable\n \n \n \n name\n \n \n \n Optional\n schoolYear\n \n \n \n studentCount\n \n \n \n teachers\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ClassRootType})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ClassRootType } from '../../../uc/dto/class-root-type';\n\nexport class ClassInfoResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty({ enum: ClassRootType })\n\ttype: ClassRootType;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\texternalSourceName?: string;\n\n\t@ApiProperty({ type: [String] })\n\tteachers: string[];\n\n\t@ApiPropertyOptional()\n\tschoolYear?: string;\n\n\t@ApiPropertyOptional()\n\tisUpgradable?: boolean;\n\n\t@ApiProperty()\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teachers = props.teachers;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoSearchListResponse.html":{"url":"classes/ClassInfoSearchListResponse.html","title":"class - ClassInfoSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ClassInfoResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ClassInfoResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { ClassInfoResponse } from './class-info.response';\n\nexport class ClassInfoSearchListResponse extends PaginationResponse {\n\tconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ClassInfoResponse] })\n\tdata: ClassInfoResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassMapper.html":{"url":"classes/ClassMapper.html","title":"class - ClassMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/mapper/class.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: ClassEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ClassEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: ClassEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n ClassEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: Class)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Class\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Class } from '../../domain';\nimport { ClassSourceOptions } from '../../domain/class-source-options.do';\nimport { ClassEntity } from '../../entity';\n\nexport class ClassMapper {\n\tprivate static mapToDO(entity: ClassEntity): Class {\n\t\treturn new Class({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tschoolId: entity.schoolId.toHexString(),\n\t\t\tuserIds: entity.userIds?.map((userId) => userId.toHexString()),\n\t\t\tteacherIds: entity.teacherIds.map((teacherId) => teacherId.toHexString()),\n\t\t\tinvitationLink: entity.invitationLink,\n\t\t\tyear: entity.year?.toHexString(),\n\t\t\tgradeLevel: entity.gradeLevel,\n\t\t\tldapDN: entity.ldapDN,\n\t\t\tsuccessor: entity.successor?.toHexString(),\n\t\t\tsource: entity.source,\n\t\t\tsourceOptions: new ClassSourceOptions({ tspUid: entity.sourceOptions?.tspUid }),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: Class): ClassEntity {\n\t\treturn new ClassEntity({\n\t\t\tid: domainObject.id,\n\t\t\tname: domainObject.name,\n\t\t\tschoolId: new ObjectId(domainObject.schoolId),\n\t\t\tteacherIds: domainObject.teacherIds.map((teacherId) => new ObjectId(teacherId)),\n\t\t\tuserIds: domainObject.userIds?.map((userId) => new ObjectId(userId)),\n\t\t\tinvitationLink: domainObject.invitationLink,\n\t\t\tyear: domainObject.year !== undefined ? new ObjectId(domainObject.year) : undefined,\n\t\t\tgradeLevel: domainObject.gradeLevel,\n\t\t\tldapDN: domainObject.ldapDN,\n\t\t\tsuccessor: domainObject.successor !== undefined ? new ObjectId(domainObject.successor) : undefined,\n\t\t\tsource: domainObject.source,\n\t\t\tsourceOptions: domainObject.sourceOptions,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: ClassEntity[]): Class[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: Class[]): ClassEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ClassModule.html":{"url":"modules/ClassModule.html","title":"module - ClassModule","body":"\n \n\n\n\n\n Modules\n ClassModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ClassModule\n\n\n\ncluster_ClassModule_providers\n\n\n\ncluster_ClassModule_exports\n\n\n\n\nClassService \n\nClassService \n\n\n\nClassModule\n\nClassModule\n\nClassService -->\n\nClassModule->ClassService \n\n\n\n\n\nClassService\n\nClassService\n\nClassModule -->\n\nClassService->ClassModule\n\n\n\n\n\nClassesRepo\n\nClassesRepo\n\nClassModule -->\n\nClassesRepo->ClassModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/class/class.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ClassService\n \n \n ClassesRepo\n \n \n \n \n Exports\n \n \n ClassService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ClassService } from './service';\nimport { ClassesRepo } from './repo';\n\n@Module({\n\tproviders: [ClassService, ClassesRepo],\n\texports: [ClassService],\n})\nexport class ClassModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassProps.html":{"url":"interfaces/ClassProps.html","title":"interface - ClassProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n \n updatedAt\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptions\n\n \n \n\n\n \n \n Type : ClassSourceOptions\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassService.html":{"url":"injectables/ClassService.html","title":"injectable - ClassService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/service/class.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n Public\n Async\n findAllByUserId\n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(classesRepo: ClassesRepo)\n \n \n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n classesRepo\n \n \n ClassesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n \n \n \n \n \n deleteUserDataFromClasses(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassesRepo } from '../repo';\n\n@Injectable()\nexport class ClassService {\n\tconstructor(private readonly classesRepo: ClassesRepo) {}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllBySchoolId(schoolId);\n\n\t\treturn classes;\n\t}\n\n\tpublic async findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllByUserId(userId);\n\n\t\treturn classes;\n\t}\n\n\t// FIXME There is no usage of this method\n\tpublic async deleteUserDataFromClasses(userId: EntityId): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst domainObjects = await this.classesRepo.findAllByUserId(userId);\n\n\t\tconst updatedClasses: Class[] = domainObjects.map((domainObject) => {\n\t\t\tif (domainObject.userIds !== undefined) {\n\t\t\t\tdomainObject.removeUser(userId);\n\t\t\t}\n\t\t\treturn domainObject;\n\t\t});\n\n\t\tawait this.classesRepo.updateMany(updatedClasses);\n\n\t\treturn updatedClasses.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSortParams.html":{"url":"classes/ClassSortParams.html","title":"class - ClassSortParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSortParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-sort-params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ClassSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ClassSortBy)@ApiPropertyOptional({enum: ClassSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ClassSortBy } from '../interface';\n\nexport class ClassSortParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ClassSortBy)\n\t@ApiPropertyOptional({ enum: ClassSortBy })\n\tsortBy?: ClassSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptions.html":{"url":"classes/ClassSourceOptions.html","title":"class - ClassSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsProps)\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : ClassSourceOptionsProps\n\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n\n \n \n gettspUid()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:12\n \n \n\n \n \n\n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptionsEntity.html":{"url":"classes/ClassSourceOptionsEntity.html","title":"class - ClassSourceOptionsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptionsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsEntityProps.html":{"url":"interfaces/ClassSourceOptionsEntityProps.html","title":"interface - ClassSourceOptionsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsProps.html":{"url":"interfaces/ClassSourceOptionsProps.html","title":"interface - ClassSourceOptionsProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassesRepo.html":{"url":"injectables/ClassesRepo.html","title":"injectable - ClassesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/classes.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n Async\n findAllByUserId\n \n \n Async\n updateMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n \n \n \n \n \n findAllBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMany\n \n \n \n \n \n \n \n updateMany(classes: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassEntity } from '../entity';\nimport { ClassMapper } from './mapper';\n\n@Injectable()\nexport class ClassesRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findAllBySchoolId(schoolId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, { schoolId: new ObjectId(schoolId) });\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\t$or: [{ userIds: new ObjectId(userId) }, { teacherIds: new ObjectId(userId) }],\n\t\t});\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync updateMany(classes: Class[]): Promise {\n\t\tconst classMap: Map = new Map(\n\t\t\tclasses.map((clazz: Class): [string, Class] => [clazz.id, clazz])\n\t\t);\n\n\t\tconst existingEntities: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\tid: { $in: Array.from(classMap.keys()) },\n\t\t});\n\n\t\tif (existingEntities.length !existingEntities.find((entity) => entity.id === classId)\n\t\t\t);\n\n\t\t\tthrow new NotFoundLoggableException(Class.name, { id: missingEntityIds.toString() });\n\t\t}\n\n\t\texistingEntities.forEach((entity) => {\n\t\t\tconst updatedDomainObject: Class | undefined = classMap.get(entity.id);\n\n\t\t\tconst updatedEntity: ClassEntity = ClassMapper.mapToEntity(updatedDomainObject as Class);\n\n\t\t\tthis.em.assign(entity, updatedEntity);\n\t\t});\n\n\t\tawait this.em.persistAndFlush(existingEntities);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CleanOptions.html":{"url":"interfaces/CleanOptions.html","title":"interface - CleanOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CleanOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pageSize\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pageSize\n \n \n \n \n \n \n \n \n pageSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CloseUserLoginMigrationUc.html":{"url":"injectables/CloseUserLoginMigrationUc.html","title":"injectable - CloseUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CloseUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolMigrationService: SchoolMigrationService, userLoginMigrationRevertService: UserLoginMigrationRevertService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationRevertService\n \n \n UserLoginMigrationRevertService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationRevertService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class CloseUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly userLoginMigrationRevertService: UserLoginMigrationRevertService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync closeMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.closeMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tconst hasSchoolMigratedUser: boolean = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\tif (!hasSchoolMigratedUser) {\n\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(updatedUserLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapter.html":{"url":"injectables/CollaborativeStorageAdapter.html","title":"injectable - CollaborativeStorageAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts\n \n\n\n \n Description\n \n \n Provides an Adapter to an external collaborative storage.\nIt loads an appropriate strategy and applies that to the given data.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategy\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n setStrategy\n \n \n updateTeam\n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(strategy: CollaborativeStorageStrategy, mapper: CollaborativeStorageAdapterMapper, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n \n CollaborativeStorageStrategy\n \n \n \n No\n \n \n \n \n mapper\n \n \n CollaborativeStorageAdapterMapper\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:58\n \n \n\n\n \n \n Creates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:49\n \n \n\n\n \n \n Deletes a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The team id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setStrategy\n \n \n \n \n \n \nsetStrategy(strategy: CollaborativeStorageStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:30\n \n \n\n\n \n \n Set the strategy that should be used by the adapter\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n strategy\n \n CollaborativeStorageStrategy\n \n\n \n No\n \n\n\n \n The strategy\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:67\n \n \n\n\n \n \n Updates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:40\n \n \n\n\n \n \n Update the Permissions for a given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The permissions to set\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategy\n \n \n \n \n \n \n Type : CollaborativeStorageStrategy\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n\n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageAdapterMapper } from './mapper/collaborative-storage-adapter.mapper';\nimport { CollaborativeStorageStrategy } from './strategy/base.interface.strategy';\n\n/**\n * Provides an Adapter to an external collaborative storage.\n * It loads an appropriate strategy and applies that to the given data.\n */\n@Injectable()\nexport class CollaborativeStorageAdapter {\n\tstrategy: CollaborativeStorageStrategy;\n\n\tconstructor(\n\t\t@Inject('CollaborativeStorageStrategy') strategy: CollaborativeStorageStrategy,\n\t\tprivate mapper: CollaborativeStorageAdapterMapper,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageAdapter.name);\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Set the strategy that should be used by the adapter\n\t * @param strategy The strategy\n\t */\n\tsetStrategy(strategy: CollaborativeStorageStrategy) {\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Update the Permissions for a given Role in the given Team\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The permissions to set\n\t */\n\tupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): Promise {\n\t\treturn this.strategy.updateTeamPermissionsForRole(this.mapper.mapDomainToAdapter(team, role, permissions));\n\t}\n\n\t/**\n\t * Deletes a team in the collaborative storage\n\t *\n\t * @param teamId The team id\n\t */\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.strategy.deleteTeam(teamId);\n\t}\n\n\t/**\n\t * Creates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.createTeam(team);\n\t}\n\n\t/**\n\t * Updates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapterMapper.html":{"url":"injectables/CollaborativeStorageAdapterMapper.html","title":"injectable - CollaborativeStorageAdapterMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapterMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n \n \n \n mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts:16\n \n \n\n\n \n \n Maps the Domain DTOs to an appropriate adapter DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The Permissions DTO\n\n \n \n \n \n \n \n Returns : TeamRolePermissionsDto\n\n \n \n The mapped adapter DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { Injectable } from '@nestjs/common';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n@Injectable()\nexport class CollaborativeStorageAdapterMapper {\n\t/**\n\t * Maps the Domain DTOs to an appropriate adapter DTO\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The Permissions DTO\n\t * @return The mapped adapter DTO\n\t */\n\tpublic mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): TeamRolePermissionsDto {\n\t\treturn new TeamRolePermissionsDto({\n\t\t\tteamId: team.id,\n\t\t\tteamName: team.name,\n\t\t\troleName: role.name,\n\t\t\tpermissions: [\n\t\t\t\t!!permissions.read,\n\t\t\t\t!!permissions.write,\n\t\t\t\t!!permissions.create,\n\t\t\t\t!!permissions.delete,\n\t\t\t\t!!permissions.share,\n\t\t\t],\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageAdapterModule.html":{"url":"modules/CollaborativeStorageAdapterModule.html","title":"module - CollaborativeStorageAdapterModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageAdapterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageAdapterModule\n\n\n\ncluster_CollaborativeStorageAdapterModule_exports\n\n\n\ncluster_CollaborativeStorageAdapterModule_imports\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 { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, Provider } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LoggerModule } from '@src/core/logger';\nimport { CollaborativeStorageAdapter } from './collaborative-storage.adapter';\nimport { CollaborativeStorageAdapterMapper } from './mapper';\nimport { NextcloudClient } from './strategy/nextcloud/nextcloud.client';\nimport { NextcloudStrategy } from './strategy/nextcloud/nextcloud.strategy';\n\nconst storageStrategy: Provider = {\n\tprovide: 'CollaborativeStorageStrategy',\n\tuseExisting: NextcloudStrategy,\n};\n\n@Module({\n\timports: [HttpModule, LoggerModule, ToolModule, PseudonymModule, UserModule],\n\tproviders: [\n\t\tCollaborativeStorageAdapter,\n\t\tCollaborativeStorageAdapterMapper,\n\t\tLtiToolRepo,\n\t\tNextcloudStrategy,\n\t\tNextcloudClient,\n\t\tstorageStrategy,\n\t\t{\n\t\t\tprovide: 'oidcInternalName',\n\t\t\tuseValue: Configuration.get('NEXTCLOUD_SOCIALLOGIN_OIDC_INTERNAL_NAME') as string,\n\t\t},\n\t],\n\texports: [CollaborativeStorageAdapter],\n})\nexport class CollaborativeStorageAdapterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CollaborativeStorageController.html":{"url":"controllers/CollaborativeStorageController.html","title":"controller - CollaborativeStorageController","body":"\n \n\n\n\n\n\n\n Controllers\n CollaborativeStorageController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts\n \n\n \n Prefix\n \n \n collaborative-storage\n \n\n\n \n Description\n \n \n Class for providing access to an external collaborative storage.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUser: ICurrentUser, teamRole: TeamRoleDto, permissionsBody: TeamPermissionsBody)\n \n \n\n \n \n Decorators : \n \n @Patch('team/:teamId/role/:roleId/permissions')@ApiResponse({status: 200, description: 'Updates the permissions for a team in the external collaborative storage'})@ApiResponse({status: 400, description: 'An error occurred while processing the request'})@ApiResponse({status: 403, description: 'User does not have the correct permission'})@ApiResponse({status: 404, description: 'Team or Role not found!'})\n \n \n\n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts:32\n \n \n\n\n \n \n Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n The current User\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n Encapsulates the Team and Role to be updated\n\n \n \n \n permissionsBody\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Param, Patch } from '@nestjs/common';\nimport { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageUc } from '../uc/collaborative-storage.uc';\nimport { TeamPermissionsBody } from './dto/team-permissions.body.params';\nimport { TeamRoleDto } from './dto/team-role.params';\n\n/**\n * Class for providing access to an external collaborative storage.\n *\n */\n@ApiTags('Collaborative-Storage')\n@Authenticate('jwt')\n@Controller('collaborative-storage')\nexport class CollaborativeStorageController {\n\tconstructor(private readonly teamStorageUc: CollaborativeStorageUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(CollaborativeStorageController.name);\n\t}\n\n\t/**\n\t * Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\t * @param currentUser The current User\n\t * @param teamRole Encapsulates the Team and Role to be updated\n\t * @param permissionsBody The new Permissions\n\t */\n\t@Patch('team/:teamId/role/:roleId/permissions')\n\t@ApiResponse({ status: 200, description: 'Updates the permissions for a team in the external collaborative storage' })\n\t@ApiResponse({ status: 400, description: 'An error occurred while processing the request' })\n\t@ApiResponse({ status: 403, description: 'User does not have the correct permission' })\n\t@ApiResponse({ status: 404, description: 'Team or Role not found!' })\n\tupdateTeamPermissionsForRole(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() teamRole: TeamRoleDto,\n\t\t@Body() permissionsBody: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.teamStorageUc.updateUserPermissionsForRole(currentUser.userId, teamRole, permissionsBody);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageModule.html":{"url":"modules/CollaborativeStorageModule.html","title":"module - CollaborativeStorageModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageModule\n\n\n\ncluster_CollaborativeStorageModule_exports\n\n\n\ncluster_CollaborativeStorageModule_imports\n\n\n\ncluster_CollaborativeStorageModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule -->\n\nAuthorizationModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageAdapterModule->CollaborativeStorageModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCollaborativeStorageModule -->\n\nLoggerModule->CollaborativeStorageModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nCollaborativeStorageModule -->\n\nRoleModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc \n\nCollaborativeStorageUc \n\nCollaborativeStorageUc -->\n\nCollaborativeStorageModule->CollaborativeStorageUc \n\n\n\n\n\nCollaborativeStorageService\n\nCollaborativeStorageService\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageService->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc\n\nCollaborativeStorageUc\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageUc->CollaborativeStorageModule\n\n\n\n\n\nTeamMapper\n\nTeamMapper\n\nCollaborativeStorageModule -->\n\nTeamMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamPermissionsMapper\n\nTeamPermissionsMapper\n\nCollaborativeStorageModule -->\n\nTeamPermissionsMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nCollaborativeStorageModule -->\n\nTeamsRepo->CollaborativeStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/collaborative-storage/collaborative-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CollaborativeStorageService\n \n \n CollaborativeStorageUc\n \n \n TeamMapper\n \n \n TeamPermissionsMapper\n \n \n TeamsRepo\n \n \n \n \n Controllers\n \n \n CollaborativeStorageController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CollaborativeStorageAdapterModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n CollaborativeStorageUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CollaborativeStorageAdapterModule } from '@infra/collaborative-storage';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { RoleModule } from '@modules/role';\nimport { CollaborativeStorageService } from './services';\nimport { TeamPermissionsMapper, TeamMapper } from './mapper';\nimport { CollaborativeStorageController } from './controller';\nimport { CollaborativeStorageUc } from './uc';\n\n@Module({\n\timports: [CollaborativeStorageAdapterModule, AuthorizationModule, LoggerModule, RoleModule],\n\tproviders: [TeamsRepo, CollaborativeStorageUc, CollaborativeStorageService, TeamPermissionsMapper, TeamMapper],\n\tcontrollers: [CollaborativeStorageController],\n\texports: [CollaborativeStorageUc],\n})\nexport class CollaborativeStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageService.html":{"url":"injectables/CollaborativeStorageService.html","title":"injectable - CollaborativeStorageService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n Async\n findTeamById\n \n \n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(adapter: CollaborativeStorageAdapter, roleService: RoleService, teamsMapper: TeamMapper, teamsRepo: TeamsRepo, authService: AuthorizationService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n adapter\n \n \n CollaborativeStorageAdapter\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n teamsMapper\n \n \n TeamMapper\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n authService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findTeamById\n \n \n \n \n \n \n \n findTeamById(teamId: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:32\n \n \n\n\n \n \n Find a Team by its Id and return the DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n teamId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n The TeamId\n\n \n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n Decide, if you want to populate the Users in the Entity\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n The mapped DTO\n\n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUserId: string, teamId: string, roleId: string, teamPermissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:43\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The TeamId\n\n \n \n \n roleId\n \n string\n \n\n \n No\n \n\n\n \n The RoleId\n\n \n \n \n teamPermissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CollaborativeStorageAdapter } from '@infra/collaborative-storage';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamMapper } from '../mapper/team.mapper';\nimport { TeamPermissionsDto } from './dto/team-permissions.dto';\nimport { TeamDto } from './dto/team.dto';\n\n@Injectable()\nexport class CollaborativeStorageService {\n\tconstructor(\n\t\tprivate adapter: CollaborativeStorageAdapter,\n\t\tprivate roleService: RoleService,\n\t\tprivate teamsMapper: TeamMapper,\n\t\tprivate teamsRepo: TeamsRepo,\n\t\tprivate authService: AuthorizationService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageService.name);\n\t}\n\n\t/**\n\t * Find a Team by its Id and return the DTO\n\t * @param teamId The TeamId\n\t * @param populate Decide, if you want to populate the Users in the Entity\n\t * @return The mapped DTO\n\t */\n\tasync findTeamById(teamId: EntityId, populate = false): Promise {\n\t\treturn this.teamsMapper.mapEntityToDto(await this.teamsRepo.findById(teamId, populate));\n\t}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamId The TeamId\n\t * @param roleId The RoleId\n\t * @param teamPermissions The new Permissions\n\t */\n\tasync updateTeamPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamId: string,\n\t\troleId: string,\n\t\tteamPermissions: TeamPermissionsDto\n\t): Promise {\n\t\tthis.authService.checkPermission(\n\t\t\tawait this.authService.getUserWithPermissions(currentUserId),\n\t\t\tawait this.teamsRepo.findById(teamId, true),\n\t\t\tAuthorizationContextBuilder.write([Permission.CHANGE_TEAM_ROLES])\n\t\t);\n\t\treturn this.adapter.updateTeamPermissionsForRole(\n\t\t\tawait this.findTeamById(teamId, true),\n\t\t\tawait this.roleService.findById(roleId),\n\t\t\tteamPermissions\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.adapter.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollaborativeStorageStrategy.html":{"url":"interfaces/CollaborativeStorageStrategy.html","title":"interface - CollaborativeStorageStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollaborativeStorageStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts\n \n\n\n \n Description\n \n \n base interface for all CollaborativeStorage Strategies\n\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n deleteTeam\n \n \n \n \n updateTeam\n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:12\n \n \n\n\n \n \n Updates The Permissions for the given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n The DTO to be processed\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n/**\n * base interface for all CollaborativeStorage Strategies\n */\nexport interface CollaborativeStorageStrategy {\n\t/**\n\t * Updates The Permissions for the given Role in the given Team\n\t * @param dto The DTO to be processed\n\t */\n\tupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise;\n\n\tdeleteTeam(teamId: string): Promise;\n\n\tcreateTeam(team: TeamDto): Promise;\n\n\tupdateTeam(team: TeamDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageUc.html":{"url":"injectables/CollaborativeStorageUc.html","title":"injectable - CollaborativeStorageUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n updateTeam\n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: CollaborativeStorageService, permissionMapper: TeamPermissionsMapper)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n CollaborativeStorageService\n \n \n \n No\n \n \n \n \n permissionMapper\n \n \n TeamPermissionsMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n \n \n \n updateUserPermissionsForRole(currentUserId: string, teamRole: TeamRoleDto, permissionsDto: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:21\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n The Team and Role to be altered\n\n \n \n \n permissionsDto\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CollaborativeStorageService } from '@modules/collaborative-storage/services/collaborative-storage.service';\nimport { TeamPermissionsMapper } from '@modules/collaborative-storage/mapper/team-permissions.mapper';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamRoleDto } from '../controller/dto/team-role.params';\n\n@Injectable()\nexport class CollaborativeStorageUc {\n\tconstructor(\n\t\tprivate readonly service: CollaborativeStorageService,\n\t\tprivate readonly permissionMapper: TeamPermissionsMapper\n\t) {}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamRole The Team and Role to be altered\n\t * @param permissionsDto The new permissions\n\t */\n\tasync updateUserPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamRole: TeamRoleDto,\n\t\tpermissionsDto: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.service.updateTeamPermissionsForRole(\n\t\t\tcurrentUserId,\n\t\t\tteamRole.teamId,\n\t\t\tteamRole.roleId,\n\t\t\tthis.permissionMapper.mapBodyToDto(permissionsDto)\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.service.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.service.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.service.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollectionFilePath.html":{"url":"interfaces/CollectionFilePath.html","title":"interface - CollectionFilePath","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollectionFilePath\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/database-management.uc.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n collectionName\n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n collectionName\n \n \n \n \n \n \n \n \n collectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n filePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { DatabaseManagementService } from '@infra/database';\nimport { DefaultEncryptionService, EncryptionService, LdapEncryptionService } from '@infra/encryption';\nimport { FileSystemAdapter } from '@infra/file-system';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { StorageProviderEntity, SystemEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { orderBy } from 'lodash';\nimport { BsonConverter } from '../converter/bson.converter';\nimport { generateSeedData } from '../seed-data/generateSeedData';\n\nexport interface CollectionFilePath {\n\tfilePath: string;\n\tcollectionName: string;\n}\n\nconst systemsCollectionName = 'systems';\nconst storageprovidersCollectionName = 'storageproviders';\n\nconst defaultSecretReplacementHintText = 'replace with secret placeholder';\n\n@Injectable()\nexport class DatabaseManagementUc {\n\t/**\n\t * relative path to seed data folder based of location of this file.\n\t */\n\tprivate basePath = '../../../../../../backup';\n\n\tconstructor(\n\t\tprivate fileSystemAdapter: FileSystemAdapter,\n\t\tprivate databaseManagementService: DatabaseManagementService,\n\t\tprivate bsonConverter: BsonConverter,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate em: EntityManager,\n\t\t@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService,\n\t\t@Inject(LdapEncryptionService) private readonly ldapEncryptionService: EncryptionService\n\t) {\n\t\tthis.logger.setContext(DatabaseManagementUc.name);\n\t}\n\n\t/**\n\t * absolute path reference for seed data base folder.\n\t */\n\tprivate get baseDir(): string {\n\t\tconst folderPath = this.fileSystemAdapter.joinPath(__dirname, this.basePath);\n\t\treturn folderPath;\n\t}\n\n\t/**\n\t * setup dir with json files\n\t */\n\tprivate getSeedFolder() {\n\t\treturn this.fileSystemAdapter.joinPath(this.baseDir, 'setup');\n\t}\n\n\t/**\n\t * export folder name based on current date\n\t * @returns\n\t */\n\tprivate getTargetFolder(toSeedFolder?: boolean) {\n\t\tif (toSeedFolder === true) {\n\t\t\tconst targetFolder = this.getSeedFolder();\n\t\t\treturn targetFolder;\n\t\t}\n\t\tconst now = new Date();\n\t\tconst currentDateTime = `${now.getFullYear()}_${\n\t\t\tnow.getMonth() + 1\n\t\t}_${now.getDate()}_${now.getHours()}_${now.getMinutes()}_${now.getSeconds()}`;\n\t\tconst targetFolder = this.fileSystemAdapter.joinPath(this.baseDir, currentDateTime);\n\t\treturn targetFolder;\n\t}\n\n\t/**\n\t * Loads all collection names from database and adds related file paths.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromDatabase(targetFolder: string): Promise {\n\t\tconst collections = await this.databaseManagementService.getCollectionNames();\n\t\tconst collectionsWithFilePaths = collections.map((collectionName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(targetFolder, `${collectionName}.json`),\n\t\t\t\tcollectionName,\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Loads all collection names and file paths from backup files.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromFilesystem(baseDir: string): Promise {\n\t\tconst filenames = await this.fileSystemAdapter.readDir(baseDir);\n\t\tconst collectionsWithFilePaths = filenames.map((fileName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(baseDir, fileName),\n\t\t\t\tcollectionName: fileName.split('.')[0],\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Scans for existing collections and optionally filters them based on \n\t * @param source\n\t * @param collectionNameFilter\n\t * @returns {CollectionFilePath} the filtered collection names and related file paths\n\t */\n\tprivate async loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\tsource: 'files' | 'database',\n\t\tfolder: string,\n\t\tcollectionNameFilter?: string[]\n\t) {\n\t\tlet allCollectionsWithFilePaths: CollectionFilePath[] = [];\n\n\t\t// load all available collections from source\n\t\tif (source === 'files') {\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromFilesystem(folder);\n\t\t} else {\n\t\t\t// source === 'database'\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromDatabase(folder);\n\t\t}\n\n\t\t// when a collection name filter is given, apply it and check\n\t\tif (Array.isArray(collectionNameFilter) && collectionNameFilter.length > 0) {\n\t\t\tconst filteredCollectionsWithFilePaths = allCollectionsWithFilePaths.filter(({ collectionName }) =>\n\t\t\t\tcollectionNameFilter?.includes(collectionName)\n\t\t\t);\n\n\t\t\tif (filteredCollectionsWithFilePaths.length !== collectionNameFilter.length) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`At least one collectionName of ${JSON.stringify(\n\t\t\t\t\t\tcollectionNameFilter\n\t\t\t\t\t)} is invalid. Collection names available in '${source}' are: ${JSON.stringify(\n\t\t\t\t\t\tallCollectionsWithFilePaths.map((file) => file.collectionName)\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn filteredCollectionsWithFilePaths;\n\t\t}\n\n\t\treturn allCollectionsWithFilePaths;\n\t}\n\n\tprivate async dropCollectionIfExists(collectionName: string) {\n\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\tif (collectionExists) {\n\t\t\t// clear existing documents, if collection exists\n\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t} else {\n\t\t\t// create collection\n\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t}\n\t}\n\n\tasync seedDatabaseCollectionsFromFactories(collections?: string[]): Promise {\n\t\tconst promises = generateSeedData((s: string) => this.injectEnvVars(s))\n\t\t\t.filter((data) => {\n\t\t\t\tif (collections && collections.length > 0) {\n\t\t\t\t\treturn collections.includes(data.collectionName);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.map(async ({ collectionName, data }) => {\n\t\t\t\tif (collectionName === systemsCollectionName) {\n\t\t\t\t\tthis.encryptSecretsInSystems(data as SystemEntity[]);\n\t\t\t\t}\n\t\t\t\tawait this.dropCollectionIfExists(collectionName);\n\n\t\t\t\tawait this.em.persistAndFlush(data);\n\n\t\t\t\treturn `${collectionName}:${data.length}`;\n\t\t\t});\n\n\t\tconst seededCollectionsWithAmount = await Promise.all(promises);\n\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Imports all or filtered from filesystem as bson to database.\n\t * The behaviour should match $ mongoimport\n\t * @param collections optional filter applied on existing collections\n\t * @returns the list of collection names exported\n\t */\n\tasync seedDatabaseCollectionsFromFileSystem(collections?: string[]): Promise {\n\t\t// detect collections to seed based on filesystem data\n\t\tconst setupPath = this.getSeedFolder();\n\t\tconst collectionsToSeed = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'files',\n\t\t\tsetupPath,\n\t\t\tcollections\n\t\t);\n\n\t\tconst seededCollectionsWithAmount: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToSeed.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load text from backup file\n\t\t\t\tlet fileContent = await this.fileSystemAdapter.readFile(filePath);\n\n\t\t\t\tif (collectionName === systemsCollectionName || collectionName === storageprovidersCollectionName) {\n\t\t\t\t\tfileContent = this.injectEnvVars(fileContent);\n\t\t\t\t}\n\n\t\t\t\t// create bson-objects from text\n\t\t\t\tconst bsonDocuments = JSON.parse(fileContent) as unknown[];\n\t\t\t\t// deserialize bson (format of mongoexport) to json documents we can import to mongo\n\t\t\t\tconst jsonDocuments = this.bsonConverter.deserialize(bsonDocuments);\n\n\t\t\t\t// hint: collection drop/create is very slow, delete all documents instead\n\t\t\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\t\t\tif (collectionExists) {\n\t\t\t\t\t// clear existing documents, if collection exists\n\t\t\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t\t\t} else {\n\t\t\t\t\t// create collection\n\t\t\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t\t\t}\n\n\t\t\t\tthis.encryptSecrets(collectionName, jsonDocuments);\n\n\t\t\t\t// import backup data into database collection\n\t\t\t\tconst importedDocumentsAmount = await this.databaseManagementService.importCollection(\n\t\t\t\t\tcollectionName,\n\t\t\t\t\tjsonDocuments\n\t\t\t\t);\n\t\t\t\t// keep collection name and number of imported documents\n\t\t\t\tseededCollectionsWithAmount.push(`${collectionName}:${importedDocumentsAmount}`);\n\t\t\t})\n\t\t);\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Exports all or defined from database as bson to filesystem.\n\t * The behaviour should match $ mongoexport\n\t * @param collections optional filter applied on existing collections\n\t * @param toSeedFolder optional override existing seed data files\n\t * @returns the list of collection names exported\n\t */\n\tasync exportCollectionsToFileSystem(collections?: string[], toSeedFolder?: boolean): Promise {\n\t\tconst targetFolder = this.getTargetFolder(toSeedFolder);\n\t\tawait this.fileSystemAdapter.createDir(targetFolder);\n\t\t// detect collections to export based on database collections\n\t\tconst collectionsToExport = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'database',\n\t\t\ttargetFolder,\n\t\t\tcollections\n\t\t);\n\t\tconst exportedCollections: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToExport.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load json documents from collection\n\t\t\t\tconst jsonDocuments = await this.databaseManagementService.findDocumentsOfCollection(collectionName);\n\t\t\t\tthis.removeSecrets(collectionName, jsonDocuments);\n\t\t\t\t// serialize to bson (format of mongoexport)\n\t\t\t\tconst bsonDocuments = this.bsonConverter.serialize(jsonDocuments);\n\t\t\t\t// sort results to have 'new' data added at documents end\n\t\t\t\tconst sortedBsonDocuments = orderBy(bsonDocuments, ['_id.$oid', 'createdAt.$date'], ['asc', 'asc']);\n\t\t\t\t// convert to text\n\t\t\t\tconst TAB = '\t';\n\t\t\t\tconst json = JSON.stringify(sortedBsonDocuments, undefined, TAB);\n\t\t\t\t// persist to filesystem\n\t\t\t\tawait this.fileSystemAdapter.writeFile(filePath, json + this.fileSystemAdapter.EOL);\n\t\t\t\t// keep collection name and number of exported documents\n\t\t\t\texportedCollections.push(`${collectionName}:${sortedBsonDocuments.length}`);\n\t\t\t})\n\t\t);\n\t\treturn exportedCollections;\n\t}\n\n\t/**\n\t * Updates the indexes in the database based on definitions in entities\n\t */\n\tasync syncIndexes(): Promise {\n\t\tawait this.createUserSearchIndex();\n\t\treturn this.databaseManagementService.syncIndexes();\n\t}\n\n\tprivate async createUserSearchIndex(): Promise {\n\t\tconst usersCollection = this.databaseManagementService.getDatabaseCollection('users');\n\t\tconst userSearchIndexExists = await usersCollection.indexExists('userSearchIndex');\n\t\tconst indexes = await usersCollection.indexes();\n\n\t\tif (userSearchIndexExists) {\n\t\t\tconst userSearchIndex = indexes.filter((i) => i.name === 'userSearchIndex');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (userSearchIndex[0].key?.schoolId === 1) {\n\t\t\t\tthis.logger.debug('userSearcIndex does not require update');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait usersCollection.dropIndex('userSearchIndex');\n\t\t}\n\n\t\tawait usersCollection.createIndex(\n\t\t\t{\n\t\t\t\tfirstName: 'text',\n\t\t\t\tlastName: 'text',\n\t\t\t\temail: 'text',\n\t\t\t\tfirstNameSearchValues: 'text',\n\t\t\t\tlastNameSearchValues: 'text',\n\t\t\t\temailSearchValues: 'text',\n\t\t\t\tschoolId: 1,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'userSearchIndex',\n\t\t\t\tweights: {\n\t\t\t\t\tfirstName: 15,\n\t\t\t\t\tlastName: 15,\n\t\t\t\t\temail: 15,\n\t\t\t\t\tfirstNameSearchValues: 3,\n\t\t\t\t\tlastNameSearchValues: 3,\n\t\t\t\t\temailSearchValues: 2,\n\t\t\t\t},\n\t\t\t\tdefault_language: 'none', // no stop words and no stemming,\n\t\t\t\tlanguage_override: 'de',\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate injectEnvVars(json: string): string {\n\t\t// replace ${VAR} with VAR content\n\t\tjson = json.replace(/(?\n\t\t\tthis.resolvePlaceholder(placeholder.substring(2, placeholder.length - 1))\n\t\t);\n\t\t// replace \\$ with $ (escaped placeholder sequence)\n\t\tjson = json.replace(/\\\\\\$/g, '$');\n\t\treturn json;\n\t}\n\n\tprivate resolvePlaceholder(placeholder: string) {\n\t\tif (Configuration.has(placeholder)) {\n\t\t\treturn Configuration.get(placeholder) as string;\n\t\t}\n\t\tconst placeholderValue = this.configService.get(placeholder);\n\t\tif (placeholderValue) {\n\t\t\treturn placeholderValue;\n\t\t}\n\t\tthis.logger.warn(`Placeholder \"${placeholder}\" could not be resolved!`);\n\t\treturn '';\n\t}\n\n\tprivate encryptSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.encryptSecretsInSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t}\n\n\tprivate encryptSecretsInSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oauthConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oidcConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = this.ldapEncryptionService.encrypt(\n\t\t\t\t\tsystem.ldapConfig.searchUserPassword as string\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n\n\t/**\n\t * Removes all known secrets (hard coded) from the export.\n\t * Manual replacement with the intend placeholders or value is mandatory.\n\t * Currently this affects system and storageproviders collections.\n\t */\n\tprivate removeSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.removeSecretsFromSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t\tif (collectionName === storageprovidersCollectionName) {\n\t\t\tthis.removeSecretsFromStorageproviders(jsonDocuments as StorageProviderEntity[]);\n\t\t}\n\t}\n\n\tprivate removeSecretsFromStorageproviders(storageProviders: StorageProviderEntity[]) {\n\t\tstorageProviders.forEach((storageProvider) => {\n\t\t\tstorageProvider.accessKeyId = defaultSecretReplacementHintText;\n\t\t\tstorageProvider.secretAccessKey = defaultSecretReplacementHintText;\n\t\t});\n\t}\n\n\tprivate removeSecretsFromSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Column.html":{"url":"classes/Column.html","title":"class - Column","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Column\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnBoard.html":{"url":"classes/ColumnBoard.html","title":"class - ColumnBoard","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n context\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n context\n \n \n\n \n \n getcontext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:14\n \n \n\n \n \n setcontext(context: BoardExternalReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n \n BoardExternalReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardCopyService.html":{"url":"injectables/ColumnBoardCopyService.html","title":"injectable - ColumnBoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyColumnBoard\n \n \n Public\n Async\n swapLinkedIds\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:17\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: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 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 Public\n Async\n swapLinkedIds\n \n \n \n \n \n \n \n swapLinkedIds(boardId: EntityId, idMap: Map)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board-copy.service.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n idMap\n \n Map\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 { CopyStatus } from '@modules/copy-helper';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport {\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n\tColumnBoard,\n\tisColumnBoard,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './board-do-copy-service';\nimport { SwapInternalLinksVisitor } from './board-do-copy-service/swap-internal-links.visitor';\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\tpublic async swapLinkedIds(boardId: EntityId, idMap: Map) {\n\t\tconst board = await this.boardDoRepo.findById(boardId);\n\n\t\tconst visitor = new SwapInternalLinksVisitor(idMap);\n\n\t\tboard.accept(visitor);\n\n\t\tawait this.boardDoRepo.save(board);\n\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/ColumnBoardFactory.html":{"url":"classes/ColumnBoardFactory.html","title":"class - ColumnBoardFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoardFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withoutContext\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withoutContext\n \n \n \n \n \n \nwithoutContext()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ColumnBoard, ColumnBoardProps } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BaseFactory } from '../../base.factory';\n\nexport type IColumnBoardProperties = Readonly;\n\nclass ColumnBoardFactory extends BaseFactory {\n\twithoutContext(): this {\n\t\tconst params = { context: undefined };\n\t\treturn this.params(params);\n\t}\n}\nexport const columnBoardFactory = ColumnBoardFactory.define(ColumnBoard, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttitle: `column board #${sequence}`,\n\t\tchildren: [],\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t\tcontext: {\n\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\tid: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardNode.html":{"url":"entities/ColumnBoardNode.html","title":"entity - ColumnBoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _contextId\n \n \n \n _contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n _contextType\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'contextType'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:23\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardNodeProps.html":{"url":"interfaces/ColumnBoardNodeProps.html","title":"interface - ColumnBoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardProps.html":{"url":"interfaces/ColumnBoardProps.html","title":"interface - ColumnBoardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardService.html":{"url":"injectables/ColumnBoardService.html","title":"injectable - ColumnBoardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n createRichTextElement\n \n \n Async\n createWelcomeColumnBoard\n \n \n Async\n delete\n \n \n Async\n findByDescendant\n \n \n Async\n findById\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n getBoardObjectTitlesById\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(context: BoardExternalReference, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n context\n \n BoardExternalReference\n \n\n \n No\n \n\n \n \n\n \n \n title\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createRichTextElement\n \n \n \n \n \n \n \n createRichTextElement(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createWelcomeColumnBoard\n \n \n \n \n \n \n \n createWelcomeColumnBoard(courseReference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseReference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDescendant\n \n \n \n \n \n \n \n findByDescendant(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardObjectTitlesById\n \n \n \n \n \n \n \n getBoardObjectTitlesById(boardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(board: ColumnBoard, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tContentElementFactory,\n\tContentElementType,\n\tRichTextElement,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnBoardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(boardId: EntityId): Promise {\n\t\tconst board = await this.boardDoRepo.findByClassAndId(ColumnBoard, boardId);\n\n\t\treturn board;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst ids = this.boardDoRepo.findIdsByExternalReference(reference);\n\n\t\treturn ids;\n\t}\n\n\tasync findByDescendant(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds: EntityId[] = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst idHierarchy: EntityId[] = [...ancestorIds, boardDo.id];\n\t\tconst rootId: EntityId = idHierarchy[0];\n\t\tconst rootBoardDo: AnyBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\treturn rootBoardDo;\n\t\t}\n\n\t\tthrow new NotFoundLoggableException(ColumnBoard.name, { id: rootId });\n\t}\n\n\tasync getBoardObjectTitlesById(boardIds: EntityId[]): Promise> {\n\t\tconst titleMap = this.boardDoRepo.getTitlesByIds(boardIds);\n\t\treturn titleMap;\n\t}\n\n\tasync create(context: BoardExternalReference, title = ''): Promise {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext,\n\t\t});\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tasync delete(board: ColumnBoard): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(board);\n\t}\n\n\tasync updateTitle(board: ColumnBoard, title: string): Promise {\n\t\tboard.title = title;\n\t\tawait this.boardDoRepo.save(board);\n\t}\n\n\tasync createWelcomeColumnBoard(courseReference: BoardExternalReference) {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext: courseReference,\n\t\t});\n\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumnBoard.addChild(column);\n\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: 'Willkommen auf dem neuen Spalten-Board! 🥳',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumn.addChild(card);\n\n\t\tconst text1 = this.createRichTextElement(\n\t\t\t'Wir erweitern das Board kontinuierlich um wichtige Funktionen. Der aktuelle Stand kann hier getestet werden. '\n\t\t);\n\t\tcard.addChild(text1);\n\n\t\tif (Configuration.has('COLUMN_BOARD_HELP_LINK')) {\n\t\t\tconst helplink = Configuration.get('COLUMN_BOARD_HELP_LINK') as string;\n\t\t\tconst text2 = this.createRichTextElement(\n\t\t\t\t` Wichtige Informationen zu Berechtigungen und Informationen zum Einsatz des Boards sind im Hilfebereich zusammengefasst.`\n\t\t\t);\n\t\t\tcard.addChild(text2);\n\t\t}\n\n\t\tif (Configuration.has('COLUMN_BOARD_FEEDBACK_LINK')) {\n\t\t\tconst feedbacklink = Configuration.get('COLUMN_BOARD_FEEDBACK_LINK') as string;\n\t\t\tconst text3 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns sehr über Feedback zum Board unter folgendem Link.`\n\t\t\t);\n\t\t\tcard.addChild(text3);\n\t\t}\n\n\t\tconst SC_THEME = Configuration.get('SC_THEME') as string;\n\t\tif (SC_THEME !== 'default') {\n\t\t\tconst clientUrl = Configuration.get('HOST') as string;\n\t\t\tconst text4 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns über Feedback und Wünsche.`\n\t\t\t);\n\t\t\tcard.addChild(text4);\n\t\t}\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tprivate createRichTextElement(text: string): RichTextElement {\n\t\tconst element: RichTextElement = this.contentElementFactory.build(ContentElementType.RICH_TEXT) as RichTextElement;\n\t\telement.text = text;\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardTarget.html":{"url":"entities/ColumnBoardTarget.html","title":"entity - ColumnBoardTarget","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardTarget\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n published\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'columnBoard'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BaseEntityWithTimestamps } from '../base.entity';\n\ntype ColumnBoardTargetProps = {\n\tcolumnBoardId: EntityId;\n\ttitle?: string;\n};\n\n@Entity()\nexport class ColumnBoardTarget extends BaseEntityWithTimestamps implements LearnroomElement {\n\tconstructor(props: ColumnBoardTargetProps) {\n\t\tsuper();\n\t\tthis._columnBoardId = new ObjectId(props.columnBoardId);\n\t\tthis.title = props.title ?? '';\n\t}\n\n\t@Property()\n\ttitle: string;\n\n\tpublish(): void {\n\t\tthis.published = true;\n\t}\n\n\tunpublish(): void {\n\t\tthis.published = false;\n\t}\n\n\t@Property()\n\tpublished = false;\n\n\t@Property({ fieldName: 'columnBoard' })\n\t_columnBoardId: ObjectId;\n\n\tget columnBoardId(): EntityId {\n\t\treturn this._columnBoardId.toHexString();\n\t}\n}\n\nexport function isColumnBoardTarget(reference: unknown): reference is ColumnBoardTarget {\n\treturn reference instanceof ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardTargetService.html":{"url":"injectables/ColumnBoardTargetService.html","title":"injectable - ColumnBoardTargetService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardTargetService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/column-board-target.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n Async\n findOrCreateTargets\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n \n \n \n \n \n findExistingTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOrCreateTargets\n \n \n \n \n \n \n \n findOrCreateTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ColumnBoardService } from '@modules/board';\nimport { Injectable } from '@nestjs/common';\nimport { ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class ColumnBoardTargetService {\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly em: EntityManager) {}\n\n\tasync findOrCreateTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.findExistingTargets(columnBoardIds);\n\n\t\tconst titlesMap = await this.columnBoardService.getBoardObjectTitlesById(columnBoardIds);\n\n\t\tconst columnBoardTargets = columnBoardIds.map((id) => {\n\t\t\tconst title = titlesMap[id] ?? '';\n\t\t\tlet target = existingTargets.find((item) => item.columnBoardId === id);\n\t\t\tif (target) {\n\t\t\t\ttarget.title = title;\n\t\t\t} else {\n\t\t\t\ttarget = new ColumnBoardTarget({ columnBoardId: id, title });\n\t\t\t}\n\t\t\tthis.em.persist(target);\n\t\t\treturn target;\n\t\t});\n\n\t\tawait this.em.flush();\n\n\t\treturn columnBoardTargets;\n\t}\n\n\tprivate async findExistingTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.em.find(ColumnBoardTarget, {\n\t\t\t_columnBoardId: { $in: columnBoardIds },\n\t\t} as unknown as FilterQuery);\n\n\t\treturn existingTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ColumnController.html":{"url":"controllers/ColumnController.html","title":"controller - ColumnController","body":"\n \n\n\n\n\n\n\n Controllers\n ColumnController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/column.controller.ts\n \n\n \n Prefix\n \n \n columns\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(urlParams: ColumnUrlParams, currentUser: ICurrentUser, createCardBodyParams?: CreateCardBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new card on a column.'})@ApiResponse({status: 201, type: CardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: false, type: CreateCardBodyParams})@Post(':columnId/cards')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n createCardBodyParams\n \n CreateCardBodyParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(urlParams: ColumnUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':columnId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(urlParams: ColumnUrlParams, bodyParams: MoveColumnBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':columnId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveColumnBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(urlParams: ColumnUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':columnId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc, ColumnUc } from '../uc';\nimport { CardResponse, ColumnUrlParams, MoveColumnBodyParams, RenameBodyParams } from './dto';\nimport { CreateCardBodyParams } from './dto/card/create-card.body.params';\nimport { CardResponseMapper } from './mapper';\n\n@ApiTags('Board Column')\n@Authenticate('jwt')\n@Controller('columns')\nexport class ColumnController {\n\tconstructor(private readonly boardUc: BoardUc, private readonly columnUc: ColumnUc) {}\n\n\t@ApiOperation({ summary: 'Move a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':columnId/position')\n\tasync moveColumn(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: MoveColumnBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.moveColumn(currentUser.userId, urlParams.columnId, bodyParams.toBoardId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':columnId/title')\n\tasync updateColumnTitle(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.updateColumnTitle(currentUser.userId, urlParams.columnId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':columnId')\n\tasync deleteColumn(@Param() urlParams: ColumnUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.columnUc.deleteColumn(currentUser.userId, urlParams.columnId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new card on a column.' })\n\t@ApiResponse({ status: 201, type: CardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: false, type: CreateCardBodyParams })\n\t@Post(':columnId/cards')\n\tasync createCard(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() createCardBodyParams?: CreateCardBodyParams\n\t): Promise {\n\t\tconst { requiredEmptyElements } = createCardBodyParams || {};\n\t\tconst card = await this.columnUc.createCard(currentUser.userId, urlParams.columnId, requiredEmptyElements);\n\n\t\tconst response = CardResponseMapper.mapToResponse(card);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnNode.html":{"url":"entities/ColumnNode.html","title":"entity - ColumnNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-node.entity.ts\n \n\n\n\n\n\n \n\n\n \n import { Entity } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN })\nexport class ColumnNode extends BoardNode {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumn(this);\n\t\treturn domainObject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnProps.html":{"url":"interfaces/ColumnProps.html","title":"interface - ColumnProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponse.html":{"url":"classes/ColumnResponse.html","title":"class - ColumnResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cards\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ColumnResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ColumnResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cards\n \n \n \n \n \n \n Type : CardSkeletonResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { CardSkeletonResponse } from './card-skeleton.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ColumnResponse {\n\tconstructor({ id, title, cards, timestamps }: ColumnResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.cards = cards;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [CardSkeletonResponse],\n\t})\n\tcards: CardSkeletonResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponseMapper.html":{"url":"classes/ColumnResponseMapper.html","title":"class - ColumnResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/column-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/column-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Card, Column } from '@shared/domain/domainobject';\nimport { CardSkeletonResponse, ColumnResponse, TimestampsResponse } from '../dto';\n\nexport class ColumnResponseMapper {\n\tstatic mapToResponse(column: Column): ColumnResponse {\n\t\tconst result = new ColumnResponse({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tcards: column.children.map((card) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(card instanceof Card)) {\n\t\t\t\t\tthrow new HttpException(`unsupported child type: ${card.constructor.name}`, HttpStatus.UNPROCESSABLE_ENTITY);\n\t\t\t\t}\n\t\t\t\treturn new CardSkeletonResponse({\n\t\t\t\t\tcardId: card.id,\n\t\t\t\t\theight: card.height,\n\t\t\t\t});\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: column.updatedAt, createdAt: column.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnService.html":{"url":"injectables/ColumnService.html","title":"injectable - ColumnService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n move\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(column: Column, targetBoard: ColumnBoard, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n targetBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(column: Column, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(columnId: EntityId): Promise {\n\t\tconst column = await this.boardDoRepo.findByClassAndId(Column, columnId);\n\t\treturn column;\n\t}\n\n\tasync create(parent: ColumnBoard): Promise {\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(column);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\treturn column;\n\t}\n\n\tasync delete(column: Column): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(column);\n\t}\n\n\tasync move(column: Column, targetBoard: ColumnBoard, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(column, targetBoard, targetPosition);\n\t}\n\n\tasync updateTitle(column: Column, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(column.id);\n\t\tcolumn.title = title;\n\t\tawait this.boardDoRepo.save(column, parent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnUc.html":{"url":"injectables/ColumnUc.html","title":"injectable - ColumnUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/column.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCard\n \n \n Async\n deleteColumn\n \n \n Async\n moveCard\n \n \n Async\n updateColumnTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(userId: EntityId, columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetColumnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(userId: EntityId, columnId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ColumnService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ColumnUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ColumnUc.name);\n\t}\n\n\tasync deleteColumn(userId: EntityId, columnId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteColumn', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.delete(column);\n\t}\n\n\tasync updateColumnTitle(userId: EntityId, columnId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateColumnTitle', userId, columnId, title });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.updateTitle(column, title);\n\t}\n\n\tasync createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tthis.logger.debug({ action: 'createCard', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.read);\n\n\t\tconst card = await this.cardService.create(column, requiredEmptyElements);\n\n\t\treturn card;\n\t}\n\n\tasync moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, cardId, targetColumnId, toPosition: targetPosition });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tconst targetColumn = await this.columnService.findById(targetColumnId);\n\n\t\tawait this.checkPermission(userId, card, Action.write);\n\t\tawait this.checkPermission(userId, targetColumn, Action.write);\n\n\t\tawait this.cardService.move(card, targetColumn, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnUrlParams.html":{"url":"classes/ColumnUrlParams.html","title":"class - ColumnUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the column.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ColumnUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the column.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcolumnId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnboardBoardElement.html":{"url":"entities/ColumnboardBoardElement.html","title":"entity - ColumnboardBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnboardBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : ColumnBoardTarget\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('ColumnBoardTarget')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\n@Entity({ discriminatorValue: BoardElementType.ColumnBoard })\nexport class ColumnboardBoardElement extends BoardElement {\n\tconstructor(props: { target: ColumnBoardTarget }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.ColumnBoard;\n\t}\n\n\t@ManyToOne('ColumnBoardTarget')\n\ttarget!: ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeConfig.html":{"url":"interfaces/CommonCartridgeConfig.html","title":"interface - CommonCartridgeConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CommonCartridgeConfig {\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeElement.html":{"url":"interfaces/CommonCartridgeElement.html","title":"interface - CommonCartridgeElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeElement {\n\ttransform(): Record;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonCartridgeExportService.html":{"url":"injectables/CommonCartridgeExportService.html","title":"injectable - CommonCartridgeExportService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonCartridgeExportService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n Private\n Async\n addTasks\n \n \n Async\n exportCourse\n \n \n Private\n mapContentToResource\n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n \n \n \n \n \n addLessons(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addTasks\n \n \n \n \n \n \n \n addTasks(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContentToResource\n \n \n \n \n \n \n \n mapContentToResource(lessonId: string, content: ComponentProperties, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n content\n \n ComponentProperties\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeResourceProps | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n \n \n \n \n \n mapCourseTeachersToCopyrightOwners(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:146\n \n \n\n\n \n \n This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n \n \n \n mapTaskToWebContentResource(task: Task, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:154\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeWebContentResourceProps\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, Course, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ComponentType } from '@src/shared/domain/entity/lesson.entity';\nimport {\n\tCommonCartridgeFileBuilder,\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n\tICommonCartridgeResourceProps,\n\tICommonCartridgeWebContentResourceProps,\n} from '../common-cartridge';\nimport { createIdentifier } from '../common-cartridge/utils';\nimport { CourseService } from './course.service';\n\n@Injectable()\nexport class CommonCartridgeExportService {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst course = await this.courseService.findById(courseId);\n\t\tconst builder = new CommonCartridgeFileBuilder({\n\t\t\tidentifier: createIdentifier(courseId),\n\t\t\ttitle: course.name,\n\t\t\tversion,\n\t\t\tcopyrightOwners: this.mapCourseTeachersToCopyrightOwners(course),\n\t\t\tcreationYear: course.createdAt.getFullYear().toString(),\n\t\t});\n\n\t\tawait this.addLessons(builder, version, courseId);\n\t\tawait this.addTasks(builder, version, courseId, userId);\n\n\t\treturn builder.build();\n\t}\n\n\tprivate async addLessons(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId\n\t): Promise {\n\t\tconst [lessons] = await this.lessonService.findByCourseIds([courseId]);\n\n\t\tlessons.forEach((lesson) => {\n\t\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(lesson.id),\n\t\t\t\ttitle: lesson.name,\n\t\t\t\tresources: [],\n\t\t\t});\n\n\t\t\tlesson.contents.forEach((content) => {\n\t\t\t\tconst resourceProps = this.mapContentToResource(lesson.id, content, version);\n\t\t\t\tif (resourceProps) {\n\t\t\t\t\torganizationBuilder.addResourceToOrganization(resourceProps);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst tasks = lesson.tasks.getItems();\n\t\t\ttasks.forEach((task) => {\n\t\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async addTasks(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst [tasks] = await this.taskService.findBySingleParent(userId, courseId);\n\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(),\n\t\t\t// FIXME: change the title for tasks organization\n\t\t\ttitle: '',\n\t\t\tresources: [],\n\t\t});\n\n\t\ttasks.forEach((task) => {\n\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t});\n\t}\n\n\tprivate mapContentToResource(\n\t\tlessonId: string,\n\t\tcontent: ComponentProperties,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeResourceProps | undefined {\n\t\tconst commonProps = {\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(content._id),\n\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\ttitle: content.title,\n\t\t};\n\n\t\tif (content.component === ComponentType.TEXT) {\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(content._id),\n\t\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\t\ttitle: content.title,\n\t\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\t\tintendedUse: CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t\thtml: `${content.title}${content.content.text}`,\n\t\t\t};\n\t\t}\n\n\t\tif (content.component === ComponentType.GEOGEBRA) {\n\t\t\tconst url = `https://www.geogebra.org/m/${content.content.materialId}`;\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V3, url }\n\t\t\t\t: { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V1, url };\n\t\t}\n\n\t\tif (content.component === ComponentType.ETHERPAD) {\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V3,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V1,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t };\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\t * @param Course\n\t * @return string\n\t * */\n\tprivate mapCourseTeachersToCopyrightOwners(course: Course): string {\n\t\tconst result = course.teachers\n\t\t\t.toArray()\n\t\t\t.map((teacher) => `${teacher.firstName} ${teacher.lastName}`)\n\t\t\t.reduce((previousTeachers, currentTeacher) => `${previousTeachers}, ${currentTeacher}`);\n\t\treturn result;\n\t}\n\n\tprivate mapTaskToWebContentResource(\n\t\ttask: Task,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeWebContentResourceProps {\n\t\tconst taskIdentifier = createIdentifier(task.id);\n\t\treturn {\n\t\t\tversion,\n\t\t\tidentifier: taskIdentifier,\n\t\t\thref: `${taskIdentifier}/${taskIdentifier}.html`,\n\t\t\ttitle: task.name,\n\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\thtml: `${task.name}${task.description}`,\n\t\t\tintendedUse:\n\t\t\t\tversion === CommonCartridgeVersion.V_1_1_0\n\t\t\t\t\t? CommonCartridgeIntendedUseType.UNSPECIFIED\n\t\t\t\t\t: CommonCartridgeIntendedUseType.ASSIGNMENT,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeFile.html":{"url":"interfaces/CommonCartridgeFile.html","title":"interface - CommonCartridgeFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n content\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:3\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeFile {\n\tcanInline(): boolean;\n\tcontent(): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeFileBuilder.html":{"url":"classes/CommonCartridgeFileBuilder.html","title":"class - CommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeFileBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n Private\n Readonly\n resources\n \n \n Private\n Readonly\n xmlBuilder\n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addOrganization\n \n \n addResourceToFile\n \n \n Async\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: CommonCartridgeFileBuilderOptions)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n CommonCartridgeFileBuilderOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n resources\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n xmlBuilder\n \n \n \n \n \n \n Default value : new Builder()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n \n \n Default value : new AdmZip()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:65\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:88\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeLtiResource.html":{"url":"classes/CommonCartridgeLtiResource.html","title":"class - CommonCartridgeLtiResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeLtiResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeLtiResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeLtiResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:19\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:23\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:81\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeLtiResourceProps = {\n\ttype: CommonCartridgeResourceType.LTI;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\tdescription?: string;\n\turl: string;\n};\n\nexport class CommonCartridgeLtiResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeLtiResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonObject = {\n\t\t\tcartridge_basiclti_link: {\n\t\t\t\t$: {\n\t\t\t\t\txmlns: '',\n\t\t\t\t\t'xmlns:blti': '',\n\t\t\t\t\t'xmlns:lticm': '',\n\t\t\t\t\t'xmlns:lticp': '',\n\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t'xsi:schemaLocation': '',\n\t\t\t\t},\n\t\t\t\tblti: {\n\t\t\t\t\ttitle: this.props.title,\n\t\t\t\t\tdescription: this.props.description,\n\t\t\t\t\tlaunch_url: this.props.url,\n\t\t\t\t\tsecure_launch_url: this.props.url,\n\t\t\t\t\tcartridge_bundle: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Bundle',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcartridge_icon: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Icon',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = 'http://www.imsglobal.org/xsd/imslticc_v1p3';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = 'http://www.imsglobal.org/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = 'http://www.imsglobal.org/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = 'http://www.imsglobal.org/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticc_v1p3 http://www.imsglobal.org/xsd/imslticc_v1p3.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticp_v1p0 imslticp_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticm_v1p0 imslticm_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imsbasiclti_v1p0 imsbasiclti_v1p0p1.xsd\"';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = '/xsd/imslticc_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = '/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = '/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = '/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'/xsd/imslticc_v1p0 /xsd/lti/ltiv1p0/imslticc_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imsbasiclti_v1p0 /xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticm_v1p0 /xsd/lti/ltiv1p0/imslticm_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticp_v1p0 /xsd/lti/ltiv1p0/imslticp_v1p0.xsd\"';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn this.xmlBuilder.buildObject(commonObject);\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeManifestElement.html":{"url":"classes/CommonCartridgeManifestElement.html","title":"class - CommonCartridgeManifestElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeManifestElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeManifestProps, metadataProps: ICommonCartridgeMetadataProps, organizations: CommonCartridgeElement[], resources: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeManifestProps\n \n \n \n No\n \n \n \n \n metadataProps\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n organizations\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n resources\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:19\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeMetadataElement, ICommonCartridgeMetadataProps } from './common-cartridge-metadata-element';\nimport { CommonCartridgeOrganizationWrapperElement } from './common-cartridge-organization-wrapper-element';\nimport { CommonCartridgeResourceWrapperElement } from './common-cartridge-resource-wrapper-element';\n\nexport type ICommonCartridgeManifestProps = {\n\tidentifier: string;\n};\n\nexport class CommonCartridgeManifestElement implements CommonCartridgeElement {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeManifestProps,\n\t\tprivate readonly metadataProps: ICommonCartridgeMetadataProps,\n\t\tprivate readonly organizations: CommonCartridgeElement[],\n\t\tprivate readonly resources: CommonCartridgeElement[]\n\t) {}\n\n\ttransform(): Record {\n\t\tconst versionNumber = this.metadataProps.version;\n\t\tswitch (versionNumber) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:ext': 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lommanifest_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lommanifest_v1p0.xsd ',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeMetadataElement.html":{"url":"classes/CommonCartridgeMetadataElement.html","title":"class - CommonCartridgeMetadataElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeMetadataElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeMetadataProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:14\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\n\nexport type ICommonCartridgeMetadataProps = {\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport class CommonCartridgeMetadataElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeMetadataProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tschema: 'IMS Common Cartridge',\n\t\t\tschemaversion: this.props.version,\n\t\t\t'mnf:lom': {\n\t\t\t\t'mnf:general': {\n\t\t\t\t\t'mnf:title': {\n\t\t\t\t\t\t'mnf:string': this.props.title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'mnf:rights': {\n\t\t\t\t\t'mnf:copyrightAndOtherRestrictions': {\n\t\t\t\t\t\t'mnf:value': 'yes',\n\t\t\t\t\t},\n\t\t\t\t\t'mnf:description': {\n\t\t\t\t\t\t'mnf:string': `${this.props.creationYear} ${this.props.copyrightOwners}`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationBuilder.html":{"url":"classes/CommonCartridgeOrganizationBuilder.html","title":"class - CommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeOrganizationBuilder\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n resources\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps, xmlBuilder: Builder, zipBuilder: AdmZip)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n zipBuilder\n \n \n AdmZip\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n\n \n \n getorganization()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:42\n \n \n\n \n \n \n \n \n \n \n resources\n \n \n\n \n \n getresources()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:46\n \n \n\n \n \n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationItemElement.html":{"url":"classes/CommonCartridgeOrganizationItemElement.html","title":"class - CommonCartridgeOrganizationItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:15\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeResourceProps } from './common-cartridge-resource-item-element';\nimport { createIdentifier } from './utils';\n\nexport type ICommonCartridgeOrganizationProps = {\n\tidentifier: string;\n\ttitle: string;\n\tversion: string;\n\tresources: ICommonCartridgeResourceProps[];\n};\n\nexport class CommonCartridgeOrganizationItemElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeOrganizationProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t},\n\t\t\ttitle: this.props.title,\n\t\t\titem: this.props.resources.map((content) => {\n\t\t\t\treturn {\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: createIdentifier(),\n\t\t\t\t\t\tidentifierref: content.identifier,\n\t\t\t\t\t},\n\t\t\t\t\ttitle: content.title,\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationWrapperElement.html":{"url":"classes/CommonCartridgeOrganizationWrapperElement.html","title":"class - CommonCartridgeOrganizationWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(organizationElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organizationElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeOrganizationWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly organizationElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\torganization: [\n\t\t\t\t{\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: 'org-1',\n\t\t\t\t\t\tstructure: 'rooted-hierarchy',\n\t\t\t\t\t},\n\t\t\t\t\titem: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\t\tidentifier: 'LearningModules',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\titem: this.organizationElements.map((organizationElement) => organizationElement.transform()),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceItemElement.html":{"url":"classes/CommonCartridgeResourceItemElement.html","title":"class - CommonCartridgeResourceItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:38\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:42\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:46\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeLtiResource, ICommonCartridgeLtiResourceProps } from './common-cartridge-lti-resource';\nimport {\n\tCommonCartridgeWebContentResource,\n\tICommonCartridgeWebContentResourceProps,\n} from './common-cartridge-web-content-resource';\nimport {\n\tCommonCartridgeWebLinkResourceElement,\n\tICommonCartridgeWebLinkResourceProps,\n} from './common-cartridge-web-link-resource';\n\nexport type ICommonCartridgeResourceProps =\n\t| ICommonCartridgeLtiResourceProps\n\t| ICommonCartridgeWebContentResourceProps\n\t| ICommonCartridgeWebLinkResourceProps;\n\nexport class CommonCartridgeResourceItemElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tprivate readonly inner: CommonCartridgeElement & CommonCartridgeFile;\n\n\tconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder) {\n\t\tif (props.type === CommonCartridgeResourceType.LTI) {\n\t\t\tthis.inner = new CommonCartridgeLtiResource(props, xmlBuilder);\n\t\t} else if (props.type === CommonCartridgeResourceType.WEB_CONTENT) {\n\t\t\tthis.inner = new CommonCartridgeWebContentResource(props);\n\t\t} else if (\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V1 ||\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V3\n\t\t) {\n\t\t\tthis.inner = new CommonCartridgeWebLinkResourceElement(props, xmlBuilder);\n\t\t} else {\n\t\t\tthrow new Error('Resource type is unknown!');\n\t\t}\n\t}\n\n\tcanInline(): boolean {\n\t\treturn this.inner.canInline();\n\t}\n\n\tcontent(): string {\n\t\treturn this.inner.content();\n\t}\n\n\ttransform(): Record {\n\t\treturn this.inner.transform();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceWrapperElement.html":{"url":"classes/CommonCartridgeResourceWrapperElement.html","title":"class - CommonCartridgeResourceWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resourceElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeResourceWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly resourceElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tresource: this.resourceElements.map((resourceElement) => resourceElement.transform()),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebContentResource.html":{"url":"classes/CommonCartridgeWebContentResource.html","title":"class - CommonCartridgeWebContentResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebContentResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebContentResourceProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebContentResourceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:26\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:30\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport {\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n} from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebContentResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_CONTENT;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\thtml: string;\n\tintendedUse?: CommonCartridgeIntendedUseType;\n};\n\nexport class CommonCartridgeWebContentResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebContentResourceProps) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\treturn this.props.html;\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t\tintendeduse: this.props.intendedUse ?? CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebLinkResourceElement.html":{"url":"classes/CommonCartridgeWebLinkResourceElement.html","title":"class - CommonCartridgeWebLinkResourceElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebLinkResourceElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebLinkResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebLinkResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:18\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:61\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebLinkResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_LINK_V1 | CommonCartridgeResourceType.WEB_LINK_V3;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\turl: string;\n};\n\nexport class CommonCartridgeWebLinkResourceElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebLinkResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonTags = {\n\t\t\ttitle: this.props.title,\n\t\t\turl: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.url,\n\t\t\t\t\ttarget: '_self',\n\t\t\t\t\twindowFeatures: 'width=100, height=100',\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1 https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t}\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CommonToolModule.html":{"url":"modules/CommonToolModule.html","title":"module - CommonToolModule","body":"\n \n\n\n\n\n Modules\n CommonToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CommonToolModule\n\n\n\ncluster_CommonToolModule_imports\n\n\n\ncluster_CommonToolModule_exports\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 Public\n determineToolConfigurationStatus\n \n \n Public\n isContextRestricted\n \n \n Private\n isLatest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n determineToolConfigurationStatus\n \n \n \n \n \n \n use ToolVersionService\n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isContextRestricted\n \n \n \n \n \n \n \n isContextRestricted(externalTool: ExternalTool, context: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isLatest\n \n \n \n \n \n \n \n isLatest(tool1: ToolVersion, tool2: ToolVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool1\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n tool2\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolContextType } from '../enum';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\nimport { ToolVersion } from '../interface';\n\n// TODO N21-1337 remove class when tool versioning is removed\n@Injectable()\nexport class CommonToolService {\n\t/**\n\t * @deprecated use ToolVersionService\n\t */\n\tpublic determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): ContextExternalToolConfigurationStatus {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeContext: true,\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (\n\t\t\tthis.isLatest(schoolExternalTool, externalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, schoolExternalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, externalTool)\n\t\t) {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = false;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = false;\n\t\t} else {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t}\n\n\t\treturn configurationStatus;\n\t}\n\n\tprivate isLatest(tool1: ToolVersion, tool2: ToolVersion): boolean {\n\t\treturn tool1.getVersion() >= tool2.getVersion();\n\t}\n\n\tpublic isContextRestricted(externalTool: ExternalTool, context: ToolContextType): boolean {\n\t\tif (externalTool.restrictToContexts?.length && !externalTool.restrictToContexts.includes(context)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonToolValidationService.html":{"url":"injectables/CommonToolValidationService.html","title":"injectable - CommonToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/service/common-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n Private\n checkForDuplicateParameters\n \n \n Private\n checkForUnknownParameters\n \n \n Private\n checkOptionalParameter\n \n \n Private\n checkParameterRegex\n \n \n Private\n checkParameterType\n \n \n Private\n checkValidityOfParameters\n \n \n Public\n isValueValidForType\n \n \n Private\n validateParameter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n \n \n \n \n \n checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedExternalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForDuplicateParameters\n \n \n \n \n \n \n \n checkForDuplicateParameters(validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForUnknownParameters\n \n \n \n \n \n \n \n checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOptionalParameter\n \n \n \n \n \n \n \n checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterRegex\n \n \n \n \n \n \n \n checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:107\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterType\n \n \n \n \n \n \n \n checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValidityOfParameters\n \n \n \n \n \n \n \n checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isValueValidForType\n \n \n \n \n \n \n \n isValueValidForType(type: CustomParameterType, val: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n CustomParameterType\n \n\n \n No\n \n\n\n \n \n val\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateParameter\n \n \n \n \n \n \n \n validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n \n \n Default value : {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { isNaN } from 'lodash';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { CustomParameter, CustomParameterEntry } from '../domain';\nimport { CustomParameterScope, CustomParameterType } from '../enum';\n\nexport type ValidatableTool = SchoolExternalTool | ContextExternalTool;\n\n@Injectable()\nexport class CommonToolValidationService {\n\tprivate static typeCheckers: { [key in CustomParameterType]: (val: string) => boolean } = {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t};\n\n\tpublic isValueValidForType(type: CustomParameterType, val: string): boolean {\n\t\tconst rule = CommonToolValidationService.typeCheckers[type];\n\n\t\tconst isValid: boolean = rule(val);\n\n\t\treturn isValid;\n\t}\n\n\tpublic checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool): void {\n\t\tthis.checkForDuplicateParameters(validatableTool);\n\n\t\tconst parametersForScope: CustomParameter[] = (loadedExternalTool.parameters ?? []).filter(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\t(validatableTool instanceof SchoolExternalTool && param.scope === CustomParameterScope.SCHOOL) ||\n\t\t\t\t(validatableTool instanceof ContextExternalTool && param.scope === CustomParameterScope.CONTEXT)\n\t\t);\n\n\t\tthis.checkForUnknownParameters(validatableTool, parametersForScope);\n\n\t\tthis.checkValidityOfParameters(validatableTool, parametersForScope);\n\t}\n\n\tprivate checkForDuplicateParameters(validatableTool: ValidatableTool): void {\n\t\tconst caseInsensitiveNames: string[] = validatableTool.parameters.map(({ name }: CustomParameterEntry) => name);\n\n\t\tconst uniqueNames: Set = new Set(caseInsensitiveNames);\n\n\t\tif (uniqueNames.size !== validatableTool.parameters.length) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_duplicate: The tool ${validatableTool.id ?? ''} contains multiple of the same custom parameters.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const entry of validatableTool.parameters) {\n\t\t\tconst foundParameter: CustomParameter | undefined = parametersForScope.find(\n\t\t\t\t({ name }: CustomParameter): boolean => name === entry.name\n\t\t\t);\n\n\t\t\tif (!foundParameter) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_unknown: The parameter with name ${entry.name} is not part of this tool.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const param of parametersForScope) {\n\t\t\tconst foundEntry: CustomParameterEntry | undefined = validatableTool.parameters.find(\n\t\t\t\t({ name }: CustomParameterEntry): boolean => name === param.name\n\t\t\t);\n\n\t\t\tthis.validateParameter(param, foundEntry);\n\t\t}\n\t}\n\n\tprivate validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tthis.checkOptionalParameter(param, foundEntry);\n\n\t\tif (foundEntry) {\n\t\t\tthis.checkParameterType(foundEntry, param);\n\t\t\tthis.checkParameterRegex(foundEntry, param);\n\t\t}\n\t}\n\n\tprivate checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tif (!foundEntry?.value && !param.isOptional) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_required: The parameter with name ${param.name} is required but not found in the tool.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && !this.isValueValidForType(param.type, foundEntry.value)) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_type_mismatch: The value of parameter with name ${foundEntry.name} should be of type ${param.type}.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && param.regex && !new RegExp(param.regex).test(foundEntry.value ?? '')) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_value_regex: The given entry for the parameter with name ${foundEntry.name} does not fit the regex.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentEtherpadProperties.html":{"url":"interfaces/ComponentEtherpadProperties.html","title":"interface - ComponentEtherpadProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentEtherpadProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentGeogebraProperties.html":{"url":"interfaces/ComponentGeogebraProperties.html","title":"interface - ComponentGeogebraProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentGeogebraProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n materialId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentInternalProperties.html":{"url":"interfaces/ComponentInternalProperties.html","title":"interface - ComponentInternalProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentInternalProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentLernstoreProperties.html":{"url":"interfaces/ComponentLernstoreProperties.html","title":"interface - ComponentLernstoreProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentLernstoreProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n resources: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentNexboardProperties.html":{"url":"interfaces/ComponentNexboardProperties.html","title":"interface - ComponentNexboardProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentNexboardProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n board\n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n board\n \n \n \n \n \n \n \n \n board: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentTextProperties.html":{"url":"interfaces/ComponentTextProperties.html","title":"interface - ComponentTextProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentTextProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentRequestBody.html":{"url":"classes/ConsentRequestBody.html","title":"class - ConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsString({each: true})@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsBoolean, IsInt, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class ConsentRequestBody extends OAuthRejectableBody {\n\t@IsArray()\n\t@IsString({ each: true })\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tgrant_scope?: string[];\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentResponse.html":{"url":"classes/ConsentResponse.html","title":"class - ConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Optional\n amr\n \n \n \n challenge\n \n \n \n \n Optional\n client\n \n \n \n \n Optional\n context\n \n \n \n \n Optional\n login_challenge\n \n \n \n \n Optional\n login_session_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n skip\n \n \n \n \n Optional\n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentResponse: ConsentResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentResponse\n \n \n ConsentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n amr\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client\n \n \n \n \n \n \n Type : OauthClientResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginChallenge is the login challenge this consent challenge belongs to.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginSessionID is the login session ID.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n subject\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Subject is the user id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:76\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\n\nexport class ConsentResponse {\n\tconstructor(consentResponse: ConsentResponse) {\n\t\tObject.assign(this, consentResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session',\n\t})\n\tacr?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\tamr?: string[];\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.',\n\t})\n\tchallenge: string | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tclient?: OauthClientResponse;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tcontext?: object;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginChallenge is the login challenge this consent challenge belongs to.' })\n\tlogin_challenge?: string;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginSessionID is the login session ID.' })\n\tlogin_session_id?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.',\n\t})\n\trequest_url?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip?: boolean;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Subject is the user id of the end-user that is authenticated.' })\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentSessionResponse.html":{"url":"classes/ConsentSessionResponse.html","title":"class - ConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n Optional\n client_id\n \n \n \n Optional\n client_name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n clientName\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n challenge\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent authorization request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The id of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\n\nexport class ConsentSessionResponse {\n\tconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined) {\n\t\tthis.client_id = clientId;\n\t\tthis.client_name = clientName;\n\t\tthis.challenge = challenge;\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The id of the client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The name of the client.' })\n\tclient_name?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent authorization request.' })\n\tchallenge?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConsoleWriterModule.html":{"url":"modules/ConsoleWriterModule.html","title":"module - ConsoleWriterModule","body":"\n \n\n\n\n\n Modules\n ConsoleWriterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ConsoleWriterModule\n\n\n\ncluster_ConsoleWriterModule_exports\n\n\n\ncluster_ConsoleWriterModule_providers\n\n\n\n\nConsoleWriterService \n\nConsoleWriterService \n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nConsoleWriterService -->\n\nConsoleWriterModule->ConsoleWriterService \n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nConsoleWriterModule -->\n\nConsoleWriterService->ConsoleWriterModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ConsoleWriterService\n \n \n \n \n Exports\n \n \n ConsoleWriterService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConsoleWriterService } from './console-writer.service';\n\n@Module({\n\tproviders: [ConsoleWriterService],\n\texports: [ConsoleWriterService],\n})\nexport class ConsoleWriterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleWriterService.html":{"url":"injectables/ConsoleWriterService.html","title":"injectable - ConsoleWriterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleWriterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n info\n \n \n \n \n \n \ninfo(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/console/console-writer/console-writer.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ConsoleWriterService {\n\tinfo(text: string): void {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.info('Info:', text);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentBodyParams.html":{"url":"classes/ContentBodyParams.html","title":"class - ContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n field\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n field\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementFactory.html":{"url":"injectables/ContentElementFactory.html","title":"injectable - ContentElementFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/content-element.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n Private\n buildDrawing\n \n \n Private\n buildExternalTool\n \n \n Private\n buildFile\n \n \n Private\n buildLink\n \n \n Private\n buildRichText\n \n \n Private\n buildSubmissionContainer\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildDrawing\n \n \n \n \n \n \n \n buildDrawing()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:85\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildExternalTool\n \n \n \n \n \n \n \n buildExternalTool()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:109\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildFile\n \n \n \n \n \n \n \n buildFile()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:47\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildLink\n \n \n \n \n \n \n \n buildLink()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:60\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildRichText\n \n \n \n \n \n \n \n buildRichText()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:72\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildSubmissionContainer\n \n \n \n \n \n \n \n buildSubmissionContainer()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:97\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { InputFormat } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { DrawingElement } from './drawing-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport { AnyContentElementDo, ContentElementType } from './types';\n\n@Injectable()\nexport class ContentElementFactory {\n\tbuild(type: ContentElementType): AnyContentElementDo {\n\t\tlet element!: AnyContentElementDo;\n\n\t\tswitch (type) {\n\t\t\tcase ContentElementType.FILE:\n\t\t\t\telement = this.buildFile();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.LINK:\n\t\t\t\telement = this.buildLink();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.RICH_TEXT:\n\t\t\t\telement = this.buildRichText();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.DRAWING:\n\t\t\t\telement = this.buildDrawing();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.SUBMISSION_CONTAINER:\n\t\t\t\telement = this.buildSubmissionContainer();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.EXTERNAL_TOOL:\n\t\t\t\telement = this.buildExternalTool();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!element) {\n\t\t\tthrow new NotImplementedException(`unknown type ${type} of element`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tprivate buildFile() {\n\t\tconst element = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: '',\n\t\t\talternativeText: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildLink() {\n\t\tconst element = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: '',\n\t\t\ttitle: '',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildRichText() {\n\t\tconst element = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: '',\n\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildDrawing() {\n\t\tconst element = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildSubmissionContainer() {\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: null,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildExternalTool() {\n\t\tconst element = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementResponseFactory.html":{"url":"classes/ContentElementResponseFactory.html","title":"class - ContentElementResponseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementResponseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n \n \n Type : BaseResponseMapper[]\n\n \n \n \n \n Default value : [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t]\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:19\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n \n \n \n \n \n mapSubmissionContentToResponse(element: RichTextElement | FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement | FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse | RichTextElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(element: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException, UnprocessableEntityException } from '@nestjs/common';\nimport { AnyBoardDo, FileElement, RichTextElement } from '@shared/domain/domainobject';\nimport {\n\tAnyContentElementResponse,\n\tFileElementResponse,\n\tisFileElementResponse,\n\tisRichTextElementResponse,\n\tRichTextElementResponse,\n} from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\nimport { DrawingElementResponseMapper } from './drawing-element-response.mapper';\nimport { ExternalToolElementResponseMapper } from './external-tool-element-response.mapper';\nimport { FileElementResponseMapper } from './file-element-response.mapper';\nimport { LinkElementResponseMapper } from './link-element-response.mapper';\nimport { RichTextElementResponseMapper } from './rich-text-element-response.mapper';\nimport { SubmissionContainerElementResponseMapper } from './submission-container-element-response.mapper';\n\nexport class ContentElementResponseFactory {\n\tprivate static mappers: BaseResponseMapper[] = [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t];\n\n\tstatic mapToResponse(element: AnyBoardDo): AnyContentElementResponse {\n\t\tconst elementMapper = this.mappers.find((mapper) => mapper.canMap(element));\n\n\t\tif (!elementMapper) {\n\t\t\tthrow new NotImplementedException(`unsupported element type: ${element.constructor.name}`);\n\t\t}\n\n\t\tconst result = elementMapper.mapToResponse(element);\n\n\t\treturn result;\n\t}\n\n\tstatic mapSubmissionContentToResponse(\n\t\telement: RichTextElement | FileElement\n\t): FileElementResponse | RichTextElementResponse {\n\t\tconst result = this.mapToResponse(element);\n\t\tif (!isFileElementResponse(result) && !isRichTextElementResponse(result)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementService.html":{"url":"injectables/ContentElementService.html","title":"injectable - ContentElementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findParentOfId\n \n \n Async\n move\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Card | SubmissionItem, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Card | SubmissionItem\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(element: AnyContentElementDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(element: AnyContentElementDo, targetCard: Card, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n targetCard\n \n Card\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(element: AnyContentElementDo, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tCard,\n\tContentElementFactory,\n\tContentElementType,\n\tisAnyContentElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementUpdateVisitor } from './content-element-update.visitor';\n\n@Injectable()\nexport class ContentElementService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(elementId: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(elementId);\n\n\t\tif (!isAnyContentElement(element)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync findParentOfId(elementId: EntityId): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(elementId);\n\t\tif (!parent) {\n\t\t\tthrow new NotFoundException('There is no node with this id');\n\t\t}\n\t\treturn parent;\n\t}\n\n\tasync create(parent: Card | SubmissionItem, type: ContentElementType): Promise {\n\t\tconst element = this.contentElementFactory.build(type);\n\t\tparent.addChild(element);\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\treturn element;\n\t}\n\n\tasync delete(element: AnyContentElementDo): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(element);\n\t}\n\n\tasync move(element: AnyContentElementDo, targetCard: Card, targetPosition: number): Promise {\n\t\tawait this.boardDoService.move(element, targetCard, targetPosition);\n\t}\n\n\tasync update(element: AnyContentElementDo, content: AnyElementContentBody): Promise {\n\t\tconst updater = new ContentElementUpdateVisitor(content);\n\t\tawait element.acceptAsync(updater);\n\n\t\tconst parent = await this.boardDoRepo.findParentOfId(element.id);\n\n\t\tawait this.boardDoRepo.save(element, parent);\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementUpdateVisitor.html":{"url":"injectables/ContentElementUpdateVisitor.html","title":"injectable - ContentElementUpdateVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementUpdateVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element-update.visitor.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n Async\n visitCardAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(content: AnyElementContentBody)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n \n AnyElementContentBody\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n \n \n \n \n \n rejectNotHandled(component: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n \n \n Type : AnyElementContentBody\n\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { sanitizeRichText } from '@shared/controller';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { InputFormat } from '@shared/domain/types';\nimport {\n\tAnyElementContentBody,\n\tDrawingContentBody,\n\tExternalToolContentBody,\n\tFileContentBody,\n\tLinkContentBody,\n\tRichTextContentBody,\n\tSubmissionContainerContentBody,\n} from '../controller/dto';\n\n@Injectable()\nexport class ContentElementUpdateVisitor implements BoardCompositeVisitorAsync {\n\tprivate readonly content: AnyElementContentBody;\n\n\tconstructor(content: AnyElementContentBody) {\n\t\tthis.content = content;\n\t}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\treturn this.rejectNotHandled(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\treturn this.rejectNotHandled(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\treturn this.rejectNotHandled(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tif (this.content instanceof FileContentBody) {\n\t\t\tfileElement.caption = sanitizeRichText(this.content.caption, InputFormat.PLAIN_TEXT);\n\t\t\tfileElement.alternativeText = sanitizeRichText(this.content.alternativeText, InputFormat.PLAIN_TEXT);\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tif (this.content instanceof LinkContentBody) {\n\t\t\tlinkElement.url = new URL(this.content.url).toString();\n\t\t\tlinkElement.title = this.content.title ?? '';\n\t\t\tlinkElement.description = this.content.description ?? '';\n\t\t\tif (this.content.imageUrl) {\n\t\t\t\tconst isRelativeUrl = (url: string) => {\n\t\t\t\t\tconst fallbackHostname = 'https://www.fallback-url-if-url-is-relative.org';\n\t\t\t\t\tconst imageUrlObject = new URL(url, fallbackHostname);\n\t\t\t\t\treturn imageUrlObject.origin === fallbackHostname;\n\t\t\t\t};\n\n\t\t\t\tif (isRelativeUrl(this.content.imageUrl)) {\n\t\t\t\t\tlinkElement.imageUrl = this.content.imageUrl;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tif (this.content instanceof RichTextContentBody) {\n\t\t\trichTextElement.text = sanitizeRichText(this.content.text, this.content.inputFormat);\n\t\t\trichTextElement.inputFormat = this.content.inputFormat;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tif (this.content instanceof DrawingContentBody) {\n\t\t\tdrawingElement.description = this.content.description;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tif (this.content instanceof SubmissionContainerContentBody) {\n\t\t\tif (this.content.dueDate !== undefined) {\n\t\t\t\tsubmissionContainerElement.dueDate = this.content.dueDate;\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\treturn this.rejectNotHandled(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (this.content instanceof ExternalToolContentBody && this.content.contextExternalToolId !== undefined) {\n\t\t\t// Updates should not remove an existing reference to a tool, to prevent orphan tool instances\n\t\t\texternalToolElement.contextExternalToolId = this.content.contextExternalToolId;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(externalToolElement);\n\t}\n\n\tprivate rejectNotHandled(component: AnyBoardDo): Promise {\n\t\treturn Promise.reject(new Error(`Cannot update element of type: '${component.constructor.name}'`));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementUrlParams.html":{"url":"classes/ContentElementUrlParams.html","title":"class - ContentElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContentElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcontentElementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentFileUrlParams.html":{"url":"classes/ContentFileUrlParams.html","title":"class - ContentFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class ContentFileUrlParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tid!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfilename!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentMetadata.html":{"url":"classes/ContentMetadata.html","title":"class - ContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IContentMetadata\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n Optional\n authorComments\n \n \n \n Optional\n authors\n \n \n \n Optional\n changes\n \n \n \n Optional\n contentType\n \n \n \n defaultLanguage\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n embedTypes\n \n \n \n Optional\n h\n \n \n \n language\n \n \n \n license\n \n \n \n Optional\n licenseExtras\n \n \n \n Optional\n licenseVersion\n \n \n \n mainLibrary\n \n \n \n Optional\n metaDescription\n \n \n \n Optional\n metaKeywords\n \n \n \n preloadedDependencies\n \n \n \n Optional\n source\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n Optional\n yearFrom\n \n \n \n Optional\n yearTo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authorComments\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authors\n \n \n \n \n \n \n Type : IContentAuthor[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n changes\n \n \n \n \n \n \n Type : IContentChange[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n defaultLanguage\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseExtras\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaKeywords\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n preloadedDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearFrom\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearTo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:56\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalTool.html":{"url":"classes/ContextExternalTool.html","title":"class - ContextExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextRef\n \n \n Optional\n displayName\n \n \n parameters\n \n \n schoolToolRef\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n \n \n \n Type : ContextRef\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n Type : SchoolExternalToolRefDO\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:41\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolAuthorizableService.html":{"url":"injectables/ContextExternalToolAuthorizableService.html","title":"injectable - ContextExternalToolAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool } from '../domain';\n\n@Injectable()\nexport class ContextExternalToolAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(private readonly contextExternalToolRepo: ContextExternalToolRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.findById(id);\n\n\t\treturn contextExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatus.html":{"url":"classes/ContextExternalToolConfigurationStatus.html","title":"class - ContextExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ContextExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatusResponse.html":{"url":"classes/ContextExternalToolConfigurationStatusResponse.html","title":"class - ContextExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?',\n\t})\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateListResponse.html","title":"class - ContextExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationTemplateResponse } from './context-external-tool-configuration-template.response';\n\nexport class ContextExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [ContextExternalToolConfigurationTemplateResponse] })\n\tdata: ContextExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: ContextExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateResponse.html","title":"class - ContextExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolExternalToolId\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: ContextExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n ContextExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class ContextExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tschoolExternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: ContextExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.schoolExternalToolId = configuration.schoolExternalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolContextParams.html":{"url":"classes/ContextExternalToolContextParams.html","title":"class - ContextExternalToolContextParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolContextParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', nullable: false, required: true, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolContextParams {\n\t@ApiProperty({ nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab' })\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({\n\t\tenum: ToolContextType,\n\t\tenumName: 'ToolContextType',\n\t\tnullable: false,\n\t\trequired: true,\n\t\texample: ToolContextType.COURSE,\n\t})\n\tcontextType!: ToolContextType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolCountPerContextResponse.html":{"url":"classes/ContextExternalToolCountPerContextResponse.html","title":"class - ContextExternalToolCountPerContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolCountPerContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElement\n \n \n \n course\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolCountPerContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolCountPerContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElement\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolCountPerContextResponse {\n\t@ApiProperty()\n\tcourse: number;\n\n\t@ApiProperty()\n\tboardElement: number;\n\n\tconstructor(props: ContextExternalToolCountPerContextResponse) {\n\t\tthis.course = props.course;\n\t\tthis.boardElement = props.boardElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ContextExternalToolEntity.html":{"url":"entities/ContextExternalToolEntity.html","title":"entity - ContextExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ContextExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n parameters\n \n \n \n schoolTool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ContextExternalToolType\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n Type : SchoolExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolFactory.html":{"url":"classes/ContextExternalToolFactory.html","title":"class - ContextExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n \n \n \nwithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextExternalToolProps } from '@modules/tool/context-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nclass ContextExternalToolFactory extends DoBaseFactory {\n\twithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolToolRef: { schoolToolId, schoolId },\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const contextExternalToolFactory = ContextExternalToolFactory.define(ContextExternalTool, ({ sequence }) => {\n\treturn {\n\t\tschoolToolRef: { schoolToolId: `schoolToolId-${sequence}`, schoolId: 'schoolId' },\n\t\tcontextRef: { id: new ObjectId().toHexString(), type: ToolContextType.COURSE },\n\t\tdisplayName: 'My Course Tool 1',\n\t\tparameters: [new CustomParameterEntry({ name: 'param', value: 'value' })],\n\t\ttoolVersion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams.html":{"url":"classes/ContextExternalToolIdParams.html","title":"class - ContextExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams-1.html":{"url":"classes/ContextExternalToolIdParams-1.html","title":"class - ContextExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContextExternalToolModule.html":{"url":"modules/ContextExternalToolModule.html","title":"module - ContextExternalToolModule","body":"\n \n\n\n\n\n Modules\n ContextExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ContextExternalToolModule\n\n\n\ncluster_ContextExternalToolModule_exports\n\n\n\ncluster_ContextExternalToolModule_imports\n\n\n\ncluster_ContextExternalToolModule_providers\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nContextExternalToolModule -->\n\nCommonToolModule->ContextExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nContextExternalToolModule -->\n\nExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nContextExternalToolModule -->\n\nLoggerModule->ContextExternalToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nContextExternalToolModule -->\n\nSchoolExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nContextExternalToolModule -->\n\nToolConfigModule->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService -->\n\nContextExternalToolModule->ContextExternalToolAuthorizableService \n\n\n\n\n\nContextExternalToolService \n\nContextExternalToolService \n\nContextExternalToolService -->\n\nContextExternalToolModule->ContextExternalToolService \n\n\n\n\n\nContextExternalToolValidationService \n\nContextExternalToolValidationService \n\nContextExternalToolValidationService -->\n\nContextExternalToolModule->ContextExternalToolValidationService \n\n\n\n\n\nToolReferenceService \n\nToolReferenceService \n\nToolReferenceService -->\n\nContextExternalToolModule->ToolReferenceService \n\n\n\n\n\nToolVersionService \n\nToolVersionService \n\nToolVersionService -->\n\nContextExternalToolModule->ToolVersionService \n\n\n\n\n\nContextExternalToolAuthorizableService\n\nContextExternalToolAuthorizableService\n\nContextExternalToolModule -->\n\nContextExternalToolAuthorizableService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolService\n\nContextExternalToolService\n\nContextExternalToolModule -->\n\nContextExternalToolService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolValidationService\n\nContextExternalToolValidationService\n\nContextExternalToolModule -->\n\nContextExternalToolValidationService->ContextExternalToolModule\n\n\n\n\n\nToolReferenceService\n\nToolReferenceService\n\nContextExternalToolModule -->\n\nToolReferenceService->ContextExternalToolModule\n\n\n\n\n\nToolVersionService\n\nToolVersionService\n\nContextExternalToolModule -->\n\nToolVersionService->ContextExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/context-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n LoggerModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { CommonToolModule } from '../common';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { ContextExternalToolAuthorizableService, ContextExternalToolService, ToolReferenceService } from './service';\nimport { ContextExternalToolValidationService } from './service/context-external-tool-validation.service';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ToolVersionService } from './service/tool-version-service';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, SchoolExternalToolModule, LoggerModule, ToolConfigModule],\n\tproviders: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n\texports: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n})\nexport class ContextExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolPostParams.html":{"url":"classes/ContextExternalToolPostParams.html","title":"class - ContextExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n schoolToolId\n \n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolPostParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolToolId!: string;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty()\n\tcontextType!: ToolContextType;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\ttoolVersion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProperties.html":{"url":"interfaces/ContextExternalToolProperties.html","title":"interface - ContextExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n parameters\n \n \n \n \n schoolTool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ContextExternalToolType\n\n \n \n\n\n \n \n Type : ContextExternalToolType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n \n \n schoolTool: SchoolExternalToolEntity\n\n \n \n\n\n \n \n Type : SchoolExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProps.html":{"url":"interfaces/ContextExternalToolProps.html","title":"interface - ContextExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n id\n \n \n \n \n parameters\n \n \n \n \n schoolToolRef\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextRef\n \n \n \n \n \n \n \n \n contextRef: ContextRef\n\n \n \n\n\n \n \n Type : ContextRef\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n \n \n schoolToolRef: SchoolExternalToolRefDO\n\n \n \n\n\n \n \n Type : SchoolExternalToolRefDO\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRepo.html":{"url":"injectables/ContextExternalToolRepo.html","title":"injectable - ContextExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n countBySchoolToolIdsAndContextType\n \n \n Async\n deleteBySchoolExternalToolIds\n \n \n Async\n find\n \n \n Public\n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Private\n mapContextTypeToDoType\n \n \n Private\n mapContextTypeToEntityType\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n countBySchoolToolIdsAndContextType\n \n \n \n \n \n \n \n countBySchoolToolIdsAndContextType(contextType: ContextExternalToolType, schoolExternalToolIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ContextExternalToolType\n \n\n \n No\n \n\n\n \n \n schoolExternalToolIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBySchoolExternalToolIds\n \n \n \n \n \n \n \n deleteBySchoolExternalToolIds(schoolExternalToolIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContextTypeToDoType\n \n \n \n \n \n \n \n mapContextTypeToDoType(type: ContextExternalToolType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContextExternalToolType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContextTypeToEntityType\n \n \n \n \n \n \n \n mapContextTypeToEntityType(type: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ContextExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:117\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ContextExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:96\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ContextExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:22\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolContextType } from '@modules/tool/common/enum/tool-context-type.enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity, ContextExternalToolType } from '@modules/tool/context-external-tool/entity';\nimport { ContextExternalToolQuery } from '@modules/tool/context-external-tool/uc/dto/context-external-tool.types';\nimport { SchoolExternalToolRefDO } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { ContextExternalToolScope } from './context-external-tool.scope';\n\n@Injectable()\nexport class ContextExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ContextExternalToolEntity;\n\t}\n\n\tasync deleteBySchoolExternalToolIds(schoolExternalToolIds: string[]): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, {\n\t\t\tschoolTool: { $in: schoolExternalToolIds },\n\t\t});\n\t\treturn count;\n\t}\n\n\tasync find(query: ContextExternalToolQuery): Promise {\n\t\tconst scope: ContextExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: ContextExternalToolEntity[] = await this._em.find(this.entityName, scope.query, {\n\t\t\tpopulate: ['schoolTool.school'],\n\t\t});\n\n\t\tconst dos: ContextExternalTool[] = entities.map((entity: ContextExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync countBySchoolToolIdsAndContextType(contextType: ContextExternalToolType, schoolExternalToolIds: string[]) {\n\t\tconst contextExternalToolCount = await this._em.count(this.entityName, {\n\t\t\t$and: [{ schoolTool: { $in: schoolExternalToolIds }, contextType }],\n\t\t});\n\n\t\treturn contextExternalToolCount;\n\t}\n\n\tpublic override async findById(id: EntityId): Promise {\n\t\tconst entity: ContextExternalToolEntity = await this._em.findOneOrFail(\n\t\t\tthis.entityName,\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tpopulate: ['schoolTool.school'],\n\t\t\t}\n\t\t);\n\n\t\tconst mapped: ContextExternalTool = this.mapEntityToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tpublic async findByIdOrNull(id: EntityId): Promise {\n\t\tconst entity: ContextExternalToolEntity | null = await this._em.findOne(\n\t\t\tthis.entityName,\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tpopulate: ['schoolTool.school'],\n\t\t\t}\n\t\t);\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped: ContextExternalTool = this.mapEntityToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tprivate buildScope(query: ContextExternalToolQuery): ContextExternalToolScope {\n\t\tconst scope: ContextExternalToolScope = new ContextExternalToolScope();\n\n\t\tscope.byId(query.id);\n\t\tscope.bySchoolToolId(query.schoolToolRef?.schoolToolId);\n\t\tscope.byContextId(query.context?.id);\n\t\tscope.byContextType(query.context?.type);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: ContextExternalToolEntity): ContextExternalTool {\n\t\tconst schoolToolRef: SchoolExternalToolRefDO = new SchoolExternalToolRefDO({\n\t\t\tschoolId: entity.schoolTool.school?.id,\n\t\t\tschoolToolId: entity.schoolTool.id,\n\t\t});\n\n\t\tconst contextRef: ContextRef = new ContextRef({\n\t\t\tid: entity.contextId,\n\t\t\ttype: this.mapContextTypeToDoType(entity.contextType),\n\t\t});\n\n\t\treturn new ContextExternalTool({\n\t\t\tid: entity.id,\n\t\t\tschoolToolRef,\n\t\t\tcontextRef,\n\t\t\tdisplayName: entity.displayName,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.parameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: ContextExternalTool): EntityData {\n\t\treturn {\n\t\t\tcontextId: entityDO.contextRef.id,\n\t\t\tcontextType: this.mapContextTypeToEntityType(entityDO.contextRef.type),\n\t\t\tdisplayName: entityDO.displayName,\n\t\t\tschoolTool: this._em.getReference(SchoolExternalToolEntity, entityDO.schoolToolRef.schoolToolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n\n\tprivate mapContextTypeToEntityType(type: ToolContextType): ContextExternalToolType {\n\t\tswitch (type) {\n\t\t\tcase ToolContextType.COURSE:\n\t\t\t\treturn ContextExternalToolType.COURSE;\n\t\t\tcase ToolContextType.BOARD_ELEMENT:\n\t\t\t\treturn ContextExternalToolType.BOARD_ELEMENT;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown ToolContextType');\n\t\t}\n\t}\n\n\tprivate mapContextTypeToDoType(type: ContextExternalToolType): ToolContextType {\n\t\tswitch (type) {\n\t\t\tcase ContextExternalToolType.COURSE:\n\t\t\t\treturn ToolContextType.COURSE;\n\t\t\tcase ContextExternalToolType.BOARD_ELEMENT:\n\t\t\t\treturn ToolContextType.BOARD_ELEMENT;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown ContextExternalToolType');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolRequestMapper.html":{"url":"classes/ContextExternalToolRequestMapper.html","title":"class - ContextExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n \n \n \n \n \n mapContextExternalToolRequest(request: ContextExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolPostParams } from '../controller/dto';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\n\nexport class ContextExternalToolRequestMapper {\n\tstatic mapContextExternalToolRequest(request: ContextExternalToolPostParams): ContextExternalToolDto {\n\t\treturn {\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: request.schoolToolId,\n\t\t\t},\n\t\t\tcontextRef: {\n\t\t\t\tid: request.contextId,\n\t\t\t\ttype: request.contextType,\n\t\t\t},\n\t\t\tdisplayName: request.displayName,\n\t\t\ttoolVersion: request.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponse.html":{"url":"classes/ContextExternalToolResponse.html","title":"class - ContextExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n parameters\n \n \n \n schoolToolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ContextExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ContextExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tschoolToolId: string;\n\n\t@ApiProperty()\n\tcontextId: string;\n\n\t@ApiProperty({ enum: ToolContextType })\n\tcontextType: ToolContextType;\n\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[] = [];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: ContextExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.schoolToolId = response.schoolToolId;\n\t\tthis.contextId = response.contextId;\n\t\tthis.contextType = response.contextType;\n\t\tthis.displayName = response.displayName;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponseMapper.html":{"url":"classes/ContextExternalToolResponseMapper.html","title":"class - ContextExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n Static\n mapToToolReferenceResponse\n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n \n \n \n \n \n mapContextExternalToolResponse(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponse\n \n \n \n \n \n \n \n mapToToolReferenceResponse(toolReference: ToolReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n ToolReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n \n \n \n mapToToolReferenceResponses(toolReferences: ToolReference[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferences\n \n ToolReference[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolStatusResponseMapper } from '../../common/mapper/tool-status-response.mapper';\nimport { CustomParameterEntryParam, CustomParameterEntryResponse } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolResponse, ToolReferenceResponse } from '../controller/dto';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ContextExternalToolResponseMapper {\n\tstatic mapContextExternalToolResponse(contextExternalTool: ContextExternalTool): ContextExternalToolResponse {\n\t\tconst mapped: ContextExternalToolResponse = new ContextExternalToolResponse({\n\t\t\tid: contextExternalTool.id ?? '',\n\t\t\tcontextId: contextExternalTool.contextRef.id,\n\t\t\tcontextType: contextExternalTool.contextRef.type,\n\t\t\tschoolToolId: contextExternalTool.schoolToolRef.schoolToolId,\n\t\t\tdisplayName: contextExternalTool.displayName,\n\t\t\ttoolVersion: contextExternalTool.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(contextExternalTool.parameters),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntryResponse[] {\n\t\tconst mapped: CustomParameterEntryResponse[] = customParameterParams.map(\n\t\t\t(customParameterParam: CustomParameterEntryParam) => {\n\t\t\t\tconst customParameterEntryResponse: CustomParameterEntryResponse = new CustomParameterEntryResponse({\n\t\t\t\t\tname: customParameterParam.name,\n\t\t\t\t\tvalue: customParameterParam.value,\n\t\t\t\t});\n\n\t\t\t\treturn customParameterEntryResponse;\n\t\t\t}\n\t\t);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolReferenceResponses(toolReferences: ToolReference[]): ToolReferenceResponse[] {\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] = toolReferences.map((toolReference: ToolReference) =>\n\t\t\tthis.mapToToolReferenceResponse(toolReference)\n\t\t);\n\n\t\treturn toolReferenceResponses;\n\t}\n\n\tstatic mapToToolReferenceResponse(toolReference: ToolReference): ToolReferenceResponse {\n\t\tconst response = new ToolReferenceResponse({\n\t\t\tcontextToolId: toolReference.contextToolId,\n\t\t\tdisplayName: toolReference.displayName,\n\t\t\tlogoUrl: toolReference.logoUrl,\n\t\t\topenInNewTab: toolReference.openInNewTab,\n\t\t\tstatus: ToolStatusResponseMapper.mapToResponse(toolReference.status),\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRule.html":{"url":"injectables/ContextExternalToolRule.html","title":"injectable - ContextExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: ContextExternalToolEntity | ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class ContextExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof ContextExternalToolEntity || entity instanceof ContextExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: ContextExternalToolEntity | ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof ContextExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolTool.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolToolRef.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolScope.html":{"url":"classes/ContextExternalToolScope.html","title":"class - ContextExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byContextId\n \n \n byContextType\n \n \n byId\n \n \n bySchoolToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byContextId\n \n \n \n \n \n \nbyContextId(contextId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byContextType\n \n \n \n \n \n \nbyContextType(contextType: ToolContextType | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ToolContextType | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byId\n \n \n \n \n \n \nbyId(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolToolId\n \n \n \n \n \n \nbySchoolToolId(schoolToolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class ContextExternalToolScope extends Scope {\n\tbyId(id: EntityId | undefined): ContextExternalToolScope {\n\t\tif (id !== undefined) {\n\t\t\tthis.addQuery({ id });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbySchoolToolId(schoolToolId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (schoolToolId !== undefined) {\n\t\t\tthis.addQuery({ schoolTool: schoolToolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyContextId(contextId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (contextId !== undefined) {\n\t\t\tthis.addQuery({ contextId });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyContextType(contextType: ToolContextType | undefined): ContextExternalToolScope {\n\t\tif (contextType !== undefined) {\n\t\t\tthis.addQuery({ contextType });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolSearchListResponse.html":{"url":"classes/ContextExternalToolSearchListResponse.html","title":"class - ContextExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolResponse } from './context-external-tool.response';\n\nexport class ContextExternalToolSearchListResponse {\n\t@ApiProperty({ type: [ContextExternalToolResponse] })\n\tdata: ContextExternalToolResponse[];\n\n\tconstructor(data: ContextExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolService.html":{"url":"injectables/ContextExternalToolService.html","title":"injectable - ContextExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Public\n Async\n findAllByContext\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByIdOrFail\n \n \n Public\n Async\n findContextExternalTools\n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n \n \n \n \n \n checkContextRestrictions(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n \n \n \n \n \n deleteBySchoolExternalToolId(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByContext\n \n \n \n \n \n \n \n findAllByContext(contextRef: ContextRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextRef\n \n ContextRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrFail\n \n \n \n \n \n \n \n findByIdOrFail(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findContextExternalTools\n \n \n \n \n \n \n \n findContextExternalTools(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n \n \n \n saveContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolQuery } from '../uc/dto/context-external-tool.types';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { RestrictedContextMismatchLoggable } from './restricted-context-mismatch-loggabble';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ContextExternalToolService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic async findContextExternalTools(query: ContextExternalToolQuery): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find(query);\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async findByIdOrFail(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolRepo.findById(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async findById(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool | null = await this.contextExternalToolRepo.findByIdOrNull(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async saveContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst savedContextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.save(contextExternalTool);\n\n\t\treturn savedContextExternalTool;\n\t}\n\n\tpublic async deleteBySchoolExternalToolId(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: schoolExternalToolId,\n\t\t\t},\n\t\t});\n\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTools);\n\t}\n\n\tpublic async deleteContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTool);\n\t}\n\n\tpublic async findAllByContext(contextRef: ContextRef): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tcontext: contextRef,\n\t\t});\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async checkContextRestrictions(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (this.commonToolService.isContextRestricted(externalTool, contextExternalTool.contextRef.type)) {\n\t\t\tthrow new RestrictedContextMismatchLoggable(externalTool.name, contextExternalTool.contextRef.type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolUc.html":{"url":"injectables/ContextExternalToolUc.html","title":"injectable - ContextExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n Async\n getContextExternalTool\n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolPermissionHelper: ToolPermissionHelper, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, contextExternalToolValidationService: ContextExternalToolValidationService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n \n \n \n \n \n filterToolsWithPermissions(userId: EntityId, tools: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(userId: EntityId, contextToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(userId: EntityId, contextType: ToolContextType, contextId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import {\n\tAuthorizationContext,\n\tAuthorizationContextBuilder,\n\tAuthorizationService,\n\tForbiddenLoggableException,\n} from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolService } from '../service';\nimport { ContextExternalToolValidationService } from '../service/context-external-tool-validation.service';\nimport { ContextExternalToolDto } from './dto/context-external-tool.types';\n\n@Injectable()\nexport class ContextExternalToolUc {\n\tconstructor(\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync createContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tcontextExternalToolDto.schoolToolRef.schoolId = schoolId;\n\t\tconst contextExternalTool = new ContextExternalTool(contextExternalToolDto);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolService.checkContextRestrictions(contextExternalTool);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn createdTool;\n\t}\n\n\tasync updateContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tlet contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tcontextExternalTool = new ContextExternalTool({\n\t\t\t...contextExternalToolDto,\n\t\t\tid: contextExternalTool.id,\n\t\t});\n\t\tcontextExternalTool.schoolToolRef.schoolId = schoolId;\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn updatedTool;\n\t}\n\n\tpublic async deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextExternalToolId);\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\tawait this.contextExternalToolService.deleteContextExternalTool(tool);\n\t}\n\n\tpublic async getContextExternalToolsForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: string\n\t): Promise {\n\t\tconst tools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: contextId, type: contextType })\n\t\t);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = await this.filterToolsWithPermissions(userId, tools);\n\n\t\treturn toolsWithPermission;\n\t}\n\n\tasync getContextExternalTool(userId: EntityId, contextToolId: EntityId) {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\treturn tool;\n\t}\n\n\tprivate async filterToolsWithPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[]\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = tools.filter((tool) =>\n\t\t\tthis.authorizationService.hasPermission(user, tool, context)\n\t\t);\n\n\t\treturn toolsWithPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolValidationService.html":{"url":"injectables/ContextExternalToolValidationService.html","title":"injectable - ContextExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n \n \n \n \n \n checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolService } from './context-external-tool.service';\n\n@Injectable()\nexport class ContextExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validate(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.checkDuplicateUsesInContext(contextExternalTool);\n\n\t\tconst loadedSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(loadedSchoolExternalTool.toolId);\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, contextExternalTool);\n\t}\n\n\tprivate async checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool) {\n\t\tlet duplicate: ContextExternalTool[] = await this.contextExternalToolService.findContextExternalTools({\n\t\t\tschoolToolRef: contextExternalTool.schoolToolRef,\n\t\t\tcontext: contextExternalTool.contextRef,\n\t\t});\n\n\t\t// Only leave tools that are not the currently handled tool itself (for updates) or ones with the same name\n\t\tduplicate = duplicate.filter(\n\t\t\t(duplicateTool) =>\n\t\t\t\tduplicateTool.id !== contextExternalTool.id && duplicateTool.displayName === contextExternalTool.displayName\n\t\t);\n\n\t\tif (duplicate.length > 0) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_with_name_exists: A tool with the same name is already assigned to this course. Tool names must be unique within a course.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRef.html":{"url":"classes/ContextRef.html","title":"class - ContextRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextRef)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../../common/enum';\n\nexport class ContextRef {\n\tid: string;\n\n\ttype: ToolContextType;\n\n\tconstructor(props: ContextRef) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRefParams.html":{"url":"classes/ContextRefParams.html","title":"class - ContextRefParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRefParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({type: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ContextRefParams {\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({ type: ToolContextType })\n\tcontextType!: ToolContextType;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConverterUtil.html":{"url":"injectables/ConverterUtil.html","title":"injectable - ConverterUtil","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConverterUtil\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/converter.util.ts\n \n\n\n \n Description\n \n \n This class encapsulates\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n xml2object\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n xml2object\n \n \n \n \n \n \nxml2object(xml: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/converter.util.ts:9\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n xml\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport xml2json from '@hendt/xml2json';\n\n/**\n * This class encapsulates\n */\n@Injectable()\nexport class ConverterUtil {\n\txml2object(xml: string): T {\n\t\treturn xml2json(xml) as T;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CookiesDto.html":{"url":"classes/CookiesDto.html","title":"class - CookiesDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CookiesDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/cookies.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n hydraCookies\n \n \n localCookies\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CookiesDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CookiesDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n hydraCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n localCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CookiesDto {\n\thydraCookies: string[];\n\n\tlocalCookies: string[];\n\n\tconstructor(props: CookiesDto) {\n\t\tthis.localCookies = props.localCookies;\n\t\tthis.hydraCookies = props.hydraCookies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyApiResponse.html":{"url":"classes/CopyApiResponse.html","title":"class - CopyApiResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyApiResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/dto/copy.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a copy status document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n Optional\n elements\n \n \n \n Optional\n id\n \n \n \n status\n \n \n \n Optional\n title\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CopyApiResponse)\n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CopyApiResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of destination course'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n elements\n \n \n \n \n \n \n Type : CopyApiResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: undefined, description: 'List of included sub elements with recursive type structure'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : CopyStatusEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyStatusEnum, description: 'Copy progress status of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Title of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CopyElementType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyElementType, description: 'Type of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CopyElementType, CopyStatusEnum } from '@modules/copy-helper/types/copy.types';\n\n/**\n * DTO for returning a copy status document via api.\n */\nexport class CopyApiResponse {\n\tconstructor({ title, type, status }: CopyApiResponse) {\n\t\tif (title) this.title = title;\n\t\tthis.type = type;\n\t\tthis.status = status;\n\t}\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of copied element',\n\t})\n\tid?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of copied element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyElementType,\n\t\tdescription: 'Type of copied element',\n\t})\n\ttype: CopyElementType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of destination course',\n\t})\n\tdestinationCourseId?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyStatusEnum,\n\t\tdescription: 'Copy progress status of copied element',\n\t})\n\tstatus: CopyStatusEnum;\n\n\t@ApiPropertyOptional({\n\t\ttype: [CopyApiResponse],\n\t\tdescription: 'List of included sub elements with recursive type structure',\n\t})\n\telements?: CopyApiResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDO.html":{"url":"interfaces/CopyFileDO.html","title":"interface - CopyFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n\t'REMOVE_CREATORID_OF_FILES' = 'remove-creatorId-of-files',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId?: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDomainObjectProps.html":{"url":"interfaces/CopyFileDomainObjectProps.html","title":"interface - CopyFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId | undefined\n\n \n \n\n\n \n \n Type : EntityId | undefined\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface CopyFileDomainObjectProps {\n\tid?: EntityId | undefined;\n\tsourceId: EntityId;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileDto.html":{"url":"classes/CopyFileDto.html","title":"class - CopyFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId | undefined\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { CopyFileDomainObjectProps } from '../interfaces';\n\nexport class CopyFileDto {\n\tid?: EntityId | undefined;\n\n\tsourceId: EntityId;\n\n\tname: string;\n\n\tconstructor(data: CopyFileDomainObjectProps) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileListResponse.html":{"url":"classes/CopyFileListResponse.html","title":"class - CopyFileListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:84\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CopyFileResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:91\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId?: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileParams.html":{"url":"classes/CopyFileParams.html","title":"class - CopyFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:91\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponse.html":{"url":"classes/CopyFileResponse.html","title":"class - CopyFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n name\n \n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:66\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:77\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId?: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponseBuilder.html":{"url":"classes/CopyFileResponseBuilder.html","title":"class - CopyFileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(id: string, sourceId: string, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n sourceId\n \n string\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CopyFileResponse } from '../controller/dto';\n\nexport class CopyFileResponseBuilder {\n\tpublic static build(id: string, sourceId: string, name: string): CopyFileResponse {\n\t\tconst copyFileResponse = new CopyFileResponse({ id, sourceId, name });\n\n\t\treturn copyFileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFiles.html":{"url":"interfaces/CopyFiles.html","title":"interface - CopyFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n sourcePath\n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n sourcePath\n \n \n \n \n \n \n \n \n sourcePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n targetPath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParamBuilder.html":{"url":"classes/CopyFilesOfParentParamBuilder.html","title":"class - CopyFilesOfParentParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n source\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n target\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFilesRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\n\nexport class CopyFilesOfParentParamBuilder {\n\tstatic build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo): CopyFilesRequestInfo {\n\t\tconst fileRequestInfo = {\n\t\t\tuserId,\n\t\t\tsource,\n\t\t\ttarget,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParams.html":{"url":"classes/CopyFilesOfParentParams.html","title":"class - CopyFilesOfParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:85\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentPayload.html":{"url":"classes/CopyFilesOfParentPayload.html","title":"class - CopyFilesOfParentPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n target\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:100\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFilesRequestInfo.html":{"url":"interfaces/CopyFilesRequestInfo.html","title":"interface - CopyFilesRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFilesRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from './file-request-info';\n\nexport interface CopyFilesRequestInfo {\n\tuserId: EntityId;\n\tsource: FileRequestInfo;\n\ttarget: FileRequestInfo;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyFilesService.html":{"url":"injectables/CopyFilesService.html","title":"injectable - CopyFilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyFilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/copy-files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n Private\n createFileUrlReplacements\n \n \n Private\n deriveCopyStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(copyHelperService: CopyHelperService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n \n \n \n \n \n copyFilesOfEntity(originalEntity: T, copyEntity: T, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:23\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalEntity\n \n T\n \n\n \n No\n \n\n\n \n \n copyEntity\n \n T\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createFileUrlReplacements\n \n \n \n \n \n \n \n createFileUrlReplacements(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileUrlReplacement[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyFileDto } from '../dto';\nimport { EntityWithEmbeddedFiles } from '../interfaces';\nimport { CopyFilesOfParentParamBuilder, FileParamBuilder } from '../mapper';\nimport { FilesStorageClientAdapterService } from './files-storage-client.service';\n\nconst FILE_COULD_NOT_BE_COPIED_HINT = 'fileCouldNotBeCopied';\n\nexport type FileUrlReplacement = {\n\tregex: RegExp;\n\treplacement: string;\n};\n\n@Injectable()\nexport class CopyFilesService {\n\tconstructor(\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync copyFilesOfEntity(\n\t\toriginalEntity: T,\n\t\tcopyEntity: T,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst source = FileParamBuilder.build(originalEntity.getSchoolId(), originalEntity);\n\t\tconst target = FileParamBuilder.build(copyEntity.getSchoolId(), copyEntity);\n\t\tconst copyFilesOfParentParams = CopyFilesOfParentParamBuilder.build(userId, source, target);\n\n\t\tconst fileDtos = await this.filesStorageClientAdapterService.copyFilesOfParent(copyFilesOfParentParams);\n\t\tconst fileUrlReplacements = this.createFileUrlReplacements(fileDtos);\n\t\tconst fileCopyStatus = this.deriveCopyStatus(fileDtos);\n\n\t\treturn { fileUrlReplacements, fileCopyStatus };\n\t}\n\n\tprivate createFileUrlReplacements(fileDtos: CopyFileDto[]): FileUrlReplacement[] {\n\t\treturn fileDtos.map((fileDto): FileUrlReplacement => {\n\t\t\tconst { sourceId, id, name } = fileDto;\n\n\t\t\t// use hint as id replacement, if file could not be copied\n\t\t\tconst newId = id ?? FILE_COULD_NOT_BE_COPIED_HINT;\n\n\t\t\tconst fileUrlReplacement: FileUrlReplacement = {\n\t\t\t\tregex: new RegExp(`${sourceId}.+?\"`, 'g'),\n\t\t\t\treplacement: `${newId}/${name}\"`,\n\t\t\t};\n\n\t\t\treturn fileUrlReplacement;\n\t\t});\n\t}\n\n\tprivate deriveCopyStatus(fileDtos: CopyFileDto[]): CopyStatus {\n\t\tconst fileStatuses: CopyStatus[] = fileDtos.map(({ sourceId, id, name }) => {\n\t\t\tconst result = {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: name ?? `(old fileid: ${sourceId})`,\n\t\t\t};\n\t\t\treturn result;\n\t\t});\n\n\t\tconst fileGroupStatus = {\n\t\t\ttype: CopyElementType.FILE_GROUP,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(fileStatuses),\n\t\t\telements: fileStatuses,\n\t\t};\n\t\treturn fileGroupStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CopyHelperModule.html":{"url":"modules/CopyHelperModule.html","title":"module - CopyHelperModule","body":"\n \n\n\n\n\n Modules\n CopyHelperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CopyHelperModule\n\n\n\ncluster_CopyHelperModule_providers\n\n\n\ncluster_CopyHelperModule_exports\n\n\n\n\nCopyHelperService \n\nCopyHelperService \n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nCopyHelperService -->\n\nCopyHelperModule->CopyHelperService \n\n\n\n\n\nCopyHelperService\n\nCopyHelperService\n\nCopyHelperModule -->\n\nCopyHelperService->CopyHelperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/copy-helper/copy-helper.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CopyHelperService\n \n \n \n \n Exports\n \n \n CopyHelperService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CopyHelperService } from './service/copy-helper.service';\n\n@Module({\n\tproviders: [CopyHelperService],\n\texports: [CopyHelperService],\n})\nexport class CopyHelperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyHelperService.html":{"url":"injectables/CopyHelperService.html","title":"injectable - CopyHelperService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyHelperService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/service/copy-helper.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildCopyEntityDict\n \n \n deriveCopyName\n \n \n deriveStatusFromElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCopyEntityDict\n \n \n \n \n \n \nbuildCopyEntityDict(status: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyDictionary\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveCopyName\n \n \n \n \n \n \nderiveCopyName(name: string, existingNames: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n existingNames\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveStatusFromElements\n \n \n \n \n \n \nderiveStatusFromElements(elements: CopyStatus[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n CopyStatus[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatusEnum\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyDictionary, CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nconst isAtLeastPartialSuccessfull = (status) => status === CopyStatusEnum.PARTIAL || status === CopyStatusEnum.SUCCESS;\n\n@Injectable()\nexport class CopyHelperService {\n\tderiveStatusFromElements(elements: CopyStatus[]): CopyStatusEnum {\n\t\tconst elementsStatuses = elements.map((el) => el.status);\n\n\t\tconst filtered = elementsStatuses.filter((status) => status !== CopyStatusEnum.NOT_DOING);\n\n\t\tif (filtered.length > 0) {\n\t\t\tif (filtered.every((status) => !isAtLeastPartialSuccessfull(status))) {\n\t\t\t\treturn CopyStatusEnum.FAIL;\n\t\t\t}\n\n\t\t\tif (filtered.some((status) => status !== CopyStatusEnum.SUCCESS)) {\n\t\t\t\treturn CopyStatusEnum.PARTIAL;\n\t\t\t}\n\t\t}\n\n\t\treturn CopyStatusEnum.SUCCESS;\n\t}\n\n\tderiveCopyName(name: string, existingNames: string[] = []): string {\n\t\tif (!existingNames.includes(name)) {\n\t\t\treturn name;\n\t\t}\n\t\tlet num = 1;\n\t\tconst matches = name.match(/^(?.*) \\((?\\d+)\\)$/);\n\t\tif (matches && matches.groups) {\n\t\t\t({ name } = matches.groups);\n\t\t\tnum = Number(matches.groups.number) + 1;\n\t\t}\n\t\tconst composedName = `${name} (${num})`;\n\t\tif (existingNames.includes(composedName)) {\n\t\t\treturn this.deriveCopyName(composedName, existingNames);\n\t\t}\n\t\treturn composedName;\n\t}\n\n\tbuildCopyEntityDict(status: CopyStatus): CopyDictionary {\n\t\tconst map = new Map();\n\t\tstatus.elements?.forEach((elementStatus: CopyStatus) => {\n\t\t\tthis.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el));\n\t\t});\n\t\tif (status.originalEntity && status.copyEntity) {\n\t\t\tmap.set(status.originalEntity.id, status.copyEntity);\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyMapper.html":{"url":"classes/CopyMapper.html","title":"class - CopyMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/mapper/copy.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n Static\n mapTaskCopyToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n \n \n \n \n \n mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskCopyToDomain\n \n \n \n \n \n \n \n mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(copyStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyApiResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonCopyApiParams } from '@modules/learnroom/controller/dto/lesson/lesson-copy.params';\nimport { LessonCopyParentParams } from '@modules/lesson/types';\nimport { TaskCopyApiParams } from '@modules/task/controller/dto/task-copy.params';\nimport { TaskCopyParentParams } from '@modules/task/types';\nimport { LessonEntity, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyApiResponse } from '../dto/copy.response';\nimport { CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nexport class CopyMapper {\n\tstatic mapToResponse(copyStatus: CopyStatus): CopyApiResponse {\n\t\tconst dto = new CopyApiResponse({\n\t\t\ttitle: copyStatus.title,\n\t\t\ttype: copyStatus.type,\n\t\t\tstatus: copyStatus.status,\n\t\t});\n\n\t\tif (copyStatus.copyEntity) {\n\t\t\tconst copyEntity = copyStatus.copyEntity as LessonEntity | Task;\n\t\t\tdto.id = copyEntity.id;\n\t\t\tdto.destinationCourseId = copyEntity.course?.id;\n\t\t}\n\t\tif (copyStatus.status !== CopyStatusEnum.SUCCESS && copyStatus.elements) {\n\t\t\tdto.elements = copyStatus.elements\n\t\t\t\t.map((element) => CopyMapper.mapToResponse(element))\n\t\t\t\t.filter((element) => element.status !== CopyStatusEnum.SUCCESS);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId): LessonCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId): TaskCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_CoreModule_exports\n\n\n\n\nErrorModule\n\nErrorModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nErrorModule->CoreModule\n\n\n\n\n\nInterceptorModule\n\nInterceptorModule\n\nCoreModule -->\n\nInterceptorModule->CoreModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCoreModule -->\n\nLoggerModule->CoreModule\n\n\n\n\n\nValidationModule\n\nValidationModule\n\nCoreModule -->\n\nValidationModule->CoreModule\n\n\n\n\n\nLoggerModule \n\nLoggerModule \n\nLoggerModule -->\n\nCoreModule->LoggerModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/core.module.ts\n \n\n\n\n \n Description\n \n \n The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\nOverrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n ErrorModule\n \n \n InterceptorModule\n \n \n LoggerModule\n \n \n ValidationModule\n \n \n \n \n Exports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ErrorModule } from './error';\nimport { InterceptorModule } from './interceptor';\nimport { LoggerModule } from './logger';\nimport { ValidationModule } from './validation';\n\n/**\n * The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\n * Overrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n */\n@Module({\n\timports: [LoggerModule, ErrorModule, ValidationModule, InterceptorModule],\n\texports: [LoggerModule],\n})\nexport class CoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CoreModuleConfig.html":{"url":"interfaces/CoreModuleConfig.html","title":"interface - CoreModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CoreModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/interfaces/core-module-config.ts\n \n\n\n\n \n Extends\n \n \n InterceptorConfig\n LoggerConfig\n \n\n\n\n\n \n\n\n \n import { InterceptorConfig } from '@shared/common';\nimport { LoggerConfig } from '../logger';\n\nexport interface CoreModuleConfig extends InterceptorConfig, LoggerConfig {}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/County.html":{"url":"classes/County.html","title":"class - County","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n County\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n antaresKey\n \n \n countyId\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(county: County)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n county\n \n \n County\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n antaresKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n countyId\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Course.html":{"url":"entities/Course.html","title":"entity - Course","body":"\n \n\n\n\n\n\n\n\n Entities\n Course\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n color\n \n \n \n Optional\n copyingSince\n \n \n \n courseGroups\n \n \n \n description\n \n \n \n Optional\n features\n \n \n \n groups\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n Optional\n shareToken\n \n \n \n Optional\n startDate\n \n \n \n \n students\n \n \n \n \n substitutionTeachers\n \n \n \n \n teachers\n \n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classes\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'classIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.color\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseGroups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('CourseGroup', 'course', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.description\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : CourseFeatures[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true, array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'groupIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.name\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n shareToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'userIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'substitutionIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'teacherIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:87\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CourseController.html":{"url":"controllers/CourseController.html","title":"controller - CourseController","body":"\n \n\n\n\n\n\n\n Controllers\n CourseController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/course.controller.ts\n \n\n \n Prefix\n \n \n courses\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n Async\n findForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(currentUser: ICurrentUser, urlParams: CourseUrlParams, queryParams: CourseQueryParams, response: Response)\n \n \n\n \n \n Decorators : \n \n @Get(':courseId/export')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n CourseUrlParams\n \n\n \n No\n \n\n\n \n \n queryParams\n \n CourseQueryParams\n \n\n \n No\n \n\n\n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, NotFoundException, Param, Query, Res, StreamableFile } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller/';\nimport { Response } from 'express';\nimport { CourseMapper } from '../mapper/course.mapper';\nimport { CourseExportUc } from '../uc/course-export.uc';\nimport { CourseUc } from '../uc/course.uc';\nimport { CourseMetadataListResponse, CourseQueryParams, CourseUrlParams } from './dto';\n\n@ApiTags('Courses')\n@Authenticate('jwt')\n@Controller('courses')\nexport class CourseController {\n\tconstructor(\n\t\tprivate readonly courseUc: CourseUc,\n\t\tprivate readonly courseExportUc: CourseExportUc,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t@Get()\n\tasync findForUser(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [courses, total] = await this.courseUc.findAllByUser(currentUser.userId, pagination);\n\t\tconst courseResponses = courses.map((course) => CourseMapper.mapToMetadataResponse(course));\n\t\tconst { skip, limit } = pagination;\n\n\t\tconst result = new CourseMetadataListResponse(courseResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Get(':courseId/export')\n\tasync exportCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: CourseUrlParams,\n\t\t@Query() queryParams: CourseQueryParams,\n\t\t@Res({ passthrough: true }) response: Response\n\t): Promise {\n\t\tif (!this.configService.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED')) throw new NotFoundException();\n\t\tconst result = await this.courseExportUc.exportCourse(urlParams.courseId, currentUser.userId, queryParams.version);\n\t\tresponse.set({\n\t\t\t'Content-Type': 'application/zip',\n\t\t\t'Content-Disposition': 'attachment;',\n\t\t});\n\t\treturn new StreamableFile(result);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyService.html":{"url":"injectables/CourseCopyService.html","title":"injectable - CourseCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyCourse\n \n \n Private\n Async\n copyCourseEntity\n \n \n Private\n deriveCourseStatus\n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, boardRepo: BoardRepo, roomsService: RoomsService, boardCopyService: BoardCopyService, copyHelperService: CopyHelperService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n boardCopyService\n \n \n BoardCopyService\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourseEntity\n \n \n \n \n \n \n \n copyCourseEntity(params: CourseCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CourseCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCourseStatus\n \n \n \n \n \n \n \n deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n \n \n \n finishCourseCopying(courseCopy: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { BoardCopyService } from './board-copy.service';\nimport { RoomsService } from './rooms.service';\n\ntype CourseCopyParams = {\n\toriginalCourse: Course;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class CourseCopyService {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly roomsService: RoomsService,\n\t\tprivate readonly boardCopyService: BoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tasync copyCourse({\n\t\tuserId,\n\t\tcourseId,\n\t\tnewName,\n\t}: {\n\t\tuserId: EntityId;\n\t\tcourseId: EntityId;\n\t\tnewName?: string | undefined;\n\t}): Promise {\n\t\tconst user: User = await this.userRepo.findById(userId, true);\n\n\t\t// fetch original course and board\n\t\tconst originalCourse = await this.courseRepo.findById(courseId);\n\t\tlet originalBoard = await this.boardRepo.findByCourseId(courseId);\n\t\toriginalBoard = await this.roomsService.updateBoard(originalBoard, courseId, userId);\n\n\t\t// handle potential name conflict\n\t\tconst [existingCourses] = await this.courseRepo.findAllByUserId(userId);\n\t\tconst existingNames = existingCourses.map((course: Course) => course.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(newName || originalCourse.name, existingNames);\n\n\t\t// copy course and board\n\t\tconst courseCopy = await this.copyCourseEntity({ user, originalCourse, copyName });\n\t\tconst boardStatus = await this.boardCopyService.copyBoard({ originalBoard, destinationCourse: courseCopy, user });\n\t\tconst finishedCourseCopy = await this.finishCourseCopying(courseCopy);\n\n\t\tconst courseStatus = this.deriveCourseStatus(originalCourse, finishedCourseCopy, boardStatus);\n\n\t\treturn courseStatus;\n\t}\n\n\tprivate async copyCourseEntity(params: CourseCopyParams): Promise {\n\t\tconst { originalCourse, user, copyName } = params;\n\t\tconst courseCopy = new Course({\n\t\t\tschool: user.school,\n\t\t\tname: copyName,\n\t\t\tcolor: originalCourse.color,\n\t\t\tteachers: [user],\n\t\t\tstartDate: user.school.schoolYear?.startDate,\n\t\t\tuntilDate: user.school.schoolYear?.endDate,\n\t\t\tcopyingSince: new Date(),\n\t\t});\n\n\t\tawait this.courseRepo.createCourse(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate async finishCourseCopying(courseCopy: Course) {\n\t\tdelete courseCopy.copyingSince;\n\t\tawait this.courseRepo.save(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus): CopyStatus {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.USER_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.LTITOOL_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.TIME_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tboardStatus,\n\t\t];\n\n\t\tconst courseGroupsExist = originalCourse.getCourseGroupItems().length > 0;\n\t\tif (courseGroupsExist) {\n\t\t\telements.push({ type: CopyElementType.COURSEGROUP_GROUP, status: CopyStatusEnum.NOT_IMPLEMENTED });\n\t\t}\n\n\t\tconst status = {\n\t\t\ttitle: courseCopy.name,\n\t\t\ttype: CopyElementType.COURSE,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: courseCopy,\n\t\t\toriginalEntity: originalCourse,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyUC.html":{"url":"injectables/CourseCopyUC.html","title":"injectable - CourseCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n Async\n copyCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorization: AuthorizationReferenceService, courseCopyService: CourseCopyService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorization\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:28\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseCopyService } from '../service';\n\n@Injectable()\nexport class CourseCopyUC {\n\tconstructor(\n\t\tprivate readonly authorization: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService\n\t) {}\n\n\tasync copyCourse(userId: EntityId, courseId: EntityId): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.COURSE_CREATE]);\n\t\tawait this.authorization.checkPermissionByReferences(userId, AuthorizableReferenceType.Course, courseId, context);\n\n\t\tconst result = await this.courseCopyService.copyCourse({ userId, courseId });\n\n\t\treturn result;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// @hpi-schul-cloud/commons is deprecated way to get envirements\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseExportUc.html":{"url":"injectables/CourseExportUc.html","title":"injectable - CourseExportUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseExportUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-export.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseExportService: CommonCartridgeExportService, authorizationService: AuthorizationReferenceService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseExportService\n \n \n CommonCartridgeExportService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CommonCartridgeVersion } from '../common-cartridge';\nimport { CommonCartridgeExportService } from '../service/common-cartridge-export.service';\n\n@Injectable()\nexport class CourseExportUc {\n\tconstructor(\n\t\tprivate readonly courseExportService: CommonCartridgeExportService,\n\t\tprivate readonly authorizationService: AuthorizationReferenceService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst context = AuthorizationContextBuilder.read([Permission.COURSE_EDIT]);\n\t\tawait this.authorizationService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tAuthorizableReferenceType.Course,\n\t\t\tcourseId,\n\t\t\tcontext\n\t\t);\n\n\t\treturn this.courseExportService.exportCourse(courseId, userId, version);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseFactory.html":{"url":"classes/CourseFactory.html","title":"class - CourseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/course.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isFinished\n \n \n isOpen\n \n \n studentsWithId\n \n \n teachersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \nisFinished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n isOpen\n \n \n \n \n \n \nisOpen()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n teachersWithId\n \n \n \n \n \n \nteachersWithId(numberOfTeachers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeachers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeepPartial } from 'fishery';\n\nimport { Course, CourseProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass CourseFactory extends BaseFactory {\n\tisFinished(): this {\n\t\tconst untilDate = new Date(Date.now() - oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tisOpen(): this {\n\t\tconst untilDate = new Date(Date.now() + oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n\n\tteachersWithId(numberOfTeachers: number): this {\n\t\tconst teachers = userFactory.buildListWithId(numberOfTeachers);\n\t\tconst params: DeepPartial = { teachers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseFactory = CourseFactory.define(Course, ({ sequence }) => {\n\treturn {\n\t\tname: `course #${sequence}`,\n\t\tdescription: `course #${sequence} description`,\n\t\tcolor: '#FFFFFF',\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseGroup.html":{"url":"entities/CourseGroup.html","title":"entity - CourseGroup","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n students\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'userIds'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseGroupFactory.html":{"url":"classes/CourseGroupFactory.html","title":"class - CourseGroupFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseGroupFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/coursegroup.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n studentsWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/coursegroup.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CourseGroup, CourseGroupProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\nimport { userFactory } from './user.factory';\n\nclass CourseGroupFactory extends BaseFactory {\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseGroupFactory = CourseGroupFactory.define(CourseGroup, ({ sequence }) => {\n\treturn {\n\t\tname: `courseGroup #${sequence}`,\n\t\tcourse: courseFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseGroupProperties.html":{"url":"interfaces/CourseGroupProperties.html","title":"interface - CourseGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n \n name\n \n \n \n Optional\n \n students\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRepo.html":{"url":"injectables/CourseGroupRepo.html","title":"injectable - CourseGroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class CourseGroupRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn CourseGroup;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst courseGroup = await super.findById(id);\n\t\tawait this._em.populate(courseGroup, ['course']);\n\t\treturn courseGroup;\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[]): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tcourse: { $in: courseIds },\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tstudents: new ObjectId(userId),\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRule.html":{"url":"injectables/CourseGroupRule.html","title":"injectable - CourseGroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course-group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: CourseGroup)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup, User } from '@shared/domain/entity';\nimport { CourseRule } from './course.rule';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseGroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly courseRule: CourseRule) {}\n\n\tpublic isApplicable(user: User, entity: CourseGroup): boolean {\n\t\tconst isMatched = entity instanceof CourseGroup;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext): boolean {\n\t\tconst { requiredPermissions } = context;\n\n\t\tconst hasAllPermissions = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAccessToEntity(user, entity, ['students']) ||\n\t\t\tthis.courseRule.hasPermission(user, entity.course, { action: Action.write, requiredPermissions: [] });\n\n\t\treturn hasAllPermissions && hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupService.html":{"url":"injectables/CourseGroupService.html","title":"injectable - CourseGroupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/coursegroup.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseGroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n \n \n \n \n \n deleteUserDataFromCourseGroup(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n \n \n \n findAllCourseGroupsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseGroupRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseGroupService {\n\tconstructor(private readonly repo: CourseGroupRepo) {}\n\n\tpublic async findAllCourseGroupsByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\treturn [courseGroups, count];\n\t}\n\n\tpublic async deleteUserDataFromCourseGroup(userId: EntityId): Promise {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\tcourseGroups.forEach((courseGroup) => courseGroup.removeStudent(userId));\n\n\t\tawait this.repo.save(courseGroups);\n\n\t\treturn count;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMapper.html":{"url":"classes/CourseMapper.html","title":"class - CourseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/course.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n \n \n \n mapToMetadataResponse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/course.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Course } from '@shared/domain/entity';\nimport { CourseMetadataResponse } from '../controller/dto';\n\nexport class CourseMapper {\n\tstatic mapToMetadataResponse(course: Course): CourseMetadataResponse {\n\t\tconst courseMetadata = course.getMetadata();\n\t\tconst dto = new CourseMetadataResponse(\n\t\t\tcourseMetadata.id,\n\t\t\tcourseMetadata.title,\n\t\t\tcourseMetadata.shortTitle,\n\t\t\tcourseMetadata.displayColor,\n\t\t\tcourseMetadata.startDate,\n\t\t\tcourseMetadata.untilDate,\n\t\t\tcourseMetadata.copyingSince\n\t\t);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataListResponse.html":{"url":"classes/CourseMetadataListResponse.html","title":"class - CourseMetadataListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CourseMetadataResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CourseMetadataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:68\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataResponse.html":{"url":"classes/CourseMetadataResponse.html","title":"class - CourseMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n Optional\n startDate\n \n \n \n title\n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, title: string, shortTitle: string, displayColor: string, startDate?: Date, untilDate?: Date, copyingSince?: Date)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n shortTitle\n \n \n string\n \n \n \n No\n \n \n \n \n displayColor\n \n \n string\n \n \n \n No\n \n \n \n \n startDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n untilDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n copyingSince\n \n \n Date\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start date of the course'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'End date of the course. After this the course counts as archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:53\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseNews.html":{"url":"entities/CourseNews.html","title":"entity - CourseNews","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Course', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:116\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseProperties.html":{"url":"interfaces/CourseProperties.html","title":"interface - CourseProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n copyingSince\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n features\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n name\n \n \n \n \n school\n \n \n \n Optional\n \n startDate\n \n \n \n Optional\n \n students\n \n \n \n Optional\n \n substitutionTeachers\n \n \n \n Optional\n \n teachers\n \n \n \n Optional\n \n untilDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: ClassEntity[]\n\n \n \n\n\n \n \n Type : ClassEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n copyingSince\n \n \n \n \n \n \n \n \n copyingSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: CourseFeatures[]\n\n \n \n\n\n \n \n Type : CourseFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupEntity[]\n\n \n \n\n\n \n \n Type : GroupEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n \n \n substitutionTeachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n \n \n teachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n untilDate\n \n \n \n \n \n \n \n \n untilDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseQueryParams.html":{"url":"classes/CourseQueryParams.html","title":"class - CourseQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.query.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : CommonCartridgeVersion\n\n \n \n \n \n Decorators : \n \n \n @IsString()@Matches(undefined)@ApiProperty({description: 'The version of CC export', required: true, nullable: false, enum: CommonCartridgeVersion})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString, Matches } from 'class-validator';\nimport { CommonCartridgeVersion } from '../../common-cartridge';\n\nexport class CourseQueryParams {\n\t@IsString()\n\t@Matches(Object.values(CommonCartridgeVersion).join('|'))\n\t@ApiProperty({\n\t\tdescription: 'The version of CC export',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: CommonCartridgeVersion,\n\t})\n\tversion!: CommonCartridgeVersion;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRepo.html":{"url":"injectables/CourseRepo.html","title":"injectable - CourseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCourse\n \n \n Async\n findAllByUserId\n \n \n Async\n findAllForTeacher\n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n Async\n findById\n \n \n Async\n findOne\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCourse\n \n \n \n \n \n \n \n createCourse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n \n \n \n \n \n findAllForTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(courseId: EntityId, userId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:57\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRule.html":{"url":"injectables/CourseRule.html","title":"injectable - CourseRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Course, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: Course): boolean {\n\t\tconst isMatched = entity instanceof Course;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Course, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.authorizationHelper.hasAccessToEntity(\n\t\t\t\tuser,\n\t\t\t\tentity,\n\t\t\t\taction === Action.read ? ['teachers', 'substitutionTeachers', 'students'] : ['teachers', 'substitutionTeachers']\n\t\t\t);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseScope.html":{"url":"classes/CourseScope.html","title":"class - CourseScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n forActiveCourses\n \n \n forAllGroupTypes\n \n \n forCourseId\n \n \n forTeacher\n \n \n forTeacherOrSubstituteTeacher\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n forActiveCourses\n \n \n \n \n \n \nforActiveCourses()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:39\n \n \n\n\n \n \n\n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n forAllGroupTypes\n \n \n \n \n \n \nforAllGroupTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forCourseId\n \n \n \n \n \n \nforCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacher\n \n \n \n \n \n \nforTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacherOrSubstituteTeacher\n \n \n \n \n \n \nforTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseService.html":{"url":"injectables/CourseService.html","title":"injectable - CourseService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n Async\n findAllByUserId\n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n \n \n \n \n \n deleteUserDataFromCourse(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n \n \n \n \n \n findAllCoursesByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseService {\n\tconstructor(private readonly repo: CourseRepo) {}\n\n\tasync findById(courseId: EntityId): Promise {\n\t\treturn this.repo.findById(courseId);\n\t}\n\n\tpublic async findAllCoursesByUserId(userId: EntityId): Promise> {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\treturn [courses, count];\n\t}\n\n\tpublic async deleteUserDataFromCourse(userId: EntityId): Promise {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\tcourses.forEach((course: Course) => course.removeUser(userId));\n\n\t\tawait this.repo.save(courses);\n\n\t\treturn count;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst [courses] = await this.repo.findAllByUserId(userId);\n\n\t\treturn courses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUc.html":{"url":"injectables/CourseUc.html","title":"injectable - CourseUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findAllByUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findAllByUser\n \n \n \n \n \n \nfindAllByUser(userId: EntityId, options?: PaginationParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n PaginationParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { PaginationParams } from '@shared/controller/';\nimport { Course } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseUc {\n\tconstructor(private readonly courseRepo: CourseRepo) {}\n\n\tfindAllByUser(userId: EntityId, options?: PaginationParams): Promise> {\n\t\treturn this.courseRepo.findAllByUserId(userId, {}, { pagination: options, order: { updatedAt: SortOrder.desc } });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUrlHandler.html":{"url":"injectables/CourseUrlHandler.html","title":"injectable - CourseUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class CourseUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'course' });\n\t\tconst course = await this.courseService.findById(id);\n\t\tif (course) {\n\t\t\tmetaData.title = course.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseUrlParams.html":{"url":"classes/CourseUrlParams.html","title":"class - CourseUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the course', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CourseUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the course',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateCardBodyParams.html":{"url":"classes/CreateCardBodyParams.html","title":"class - CreateCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n \n \n Type : ContentElementType[]\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType, {each: true})@IsOptional()@ApiPropertyOptional({required: false, isArray: true, enum: ContentElementType})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport class CreateCardBodyParams {\n\t@IsEnum(ContentElementType, { each: true })\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: false,\n\t\tisArray: true,\n\t\tenum: ContentElementType,\n\t})\n\trequiredEmptyElements?: ContentElementType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateContentElementBodyParams.html":{"url":"classes/CreateContentElementBodyParams.html","title":"class - CreateContentElementBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateContentElementBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsInt()@Min(0)@ApiPropertyOptional({description: 'to bring element to a specific position, default is last position', type: Number, required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({description: 'The type of element', enum: ContentElementType, required: true, nullable: false, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsInt, IsOptional, Min } from 'class-validator';\n\nexport class CreateContentElementBodyParams {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tdescription: 'The type of element',\n\t\tenum: ContentElementType,\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n\n\t@IsOptional()\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({\n\t\tdescription: 'to bring element to a specific position, default is last position',\n\t\ttype: Number,\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoPosition?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtParams.html":{"url":"interfaces/CreateJwtParams.html","title":"interface - CreateJwtParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n accountId\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n external_sub\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n privateKey\n \n \n \n Optional\n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n external_sub\n \n \n \n \n \n \n \n \n external_sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n privateKey\n \n \n \n \n \n \n \n \n privateKey: string | Buffer\n\n \n \n\n\n \n \n Type : string | Buffer\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtPayload.html":{"url":"interfaces/CreateJwtPayload.html","title":"interface - CreateJwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n support\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n support\n \n \n \n \n \n \n \n \n support: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateNews.html":{"url":"interfaces/CreateNews.html","title":"interface - CreateNews","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n news interface for ceating news\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n Optional\n \n displayAt\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateNewsParams.html":{"url":"classes/CreateNewsParams.html","title":"class - CreateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/create-news.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a news document.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n Optional\n displayAt\n \n \n \n \n targetId\n \n \n \n \n targetModel\n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)@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 { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, NewsTargetModel } from '@shared/domain/types';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for creating a news document.\n */\nexport class CreateNewsParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsString()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The point in time from when the News entity schould be displayed. Defaults to now so that the news is published',\n\t})\n\tdisplayAt?: Date;\n\n\t@IsEnum(NewsTargetModel)\n\t@ApiProperty({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateSubmissionItemBodyParams.html":{"url":"classes/CreateSubmissionItemBodyParams.html","title":"class - CreateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class CreateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CurrentUserMapper.html":{"url":"classes/CurrentUserMapper.html","title":"class - CurrentUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CurrentUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/mapper/current-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n Static\n mapToOauthCurrentUser\n \n \n Static\n userToICurrentUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n \n \n \n \n \n jwtToICurrentUser(jwtPayload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtPayload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n \n \n \n \n \n mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateJwtPayload\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthCurrentUser\n \n \n \n \n \n \n \n mapToOauthCurrentUser(accountId: string, user: UserDO, systemId?: string, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthCurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n userToICurrentUser\n \n \n \n \n \n \n \n userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n isExternalUser\n \n boolean\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@shared/common';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, User } from '@shared/domain/entity';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { CreateJwtPayload, JwtPayload } from '../interface/jwt-payload';\n\nexport class CurrentUserMapper {\n\tstatic userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string): ICurrentUser {\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.getItems().map((role: Role) => role.id),\n\t\t\tschoolId: user.school.id,\n\t\t\tuserId: user.id,\n\t\t\tisExternalUser,\n\t\t};\n\t}\n\n\tstatic mapToOauthCurrentUser(\n\t\taccountId: string,\n\t\tuser: UserDO,\n\t\tsystemId?: string,\n\t\texternalIdToken?: string\n\t): OauthCurrentUser {\n\t\tif (!user.id) {\n\t\t\tthrow new ValidationError('user has no ID');\n\t\t}\n\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.map((roleRef: RoleReference) => roleRef.id),\n\t\t\tschoolId: user.schoolId,\n\t\t\tuserId: user.id,\n\t\t\texternalIdToken,\n\t\t\tisExternalUser: true,\n\t\t};\n\t}\n\n\tstatic mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser): CreateJwtPayload {\n\t\treturn {\n\t\t\taccountId: currentUser.accountId,\n\t\t\tuserId: currentUser.userId,\n\t\t\tschoolId: currentUser.schoolId,\n\t\t\troles: currentUser.roles,\n\t\t\tsystemId: currentUser.systemId,\n\t\t\tsupport: currentUser.impersonated,\n\t\t\tisExternalUser: currentUser.isExternalUser,\n\t\t};\n\t}\n\n\tstatic jwtToICurrentUser(jwtPayload: JwtPayload): ICurrentUser {\n\t\treturn {\n\t\t\taccountId: jwtPayload.accountId,\n\t\t\tsystemId: jwtPayload.systemId,\n\t\t\troles: jwtPayload.roles,\n\t\t\tschoolId: jwtPayload.schoolId,\n\t\t\tuserId: jwtPayload.userId,\n\t\t\timpersonated: jwtPayload.support,\n\t\t\tisExternalUser: jwtPayload.isExternalUser,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CustomLtiProperty.html":{"url":"interfaces/CustomLtiProperty.html","title":"interface - CustomLtiProperty","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CustomLtiProperty\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n key\n \n \n \n \n \n \n \n \n key: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomLtiPropertyDO.html":{"url":"classes/CustomLtiPropertyDO.html","title":"class - CustomLtiPropertyDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomLtiPropertyDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(key: string, value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n \n string\n \n \n \n No\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameter.html":{"url":"classes/CustomParameter.html","title":"class - CustomParameter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n default\n \n \n Optional\n description\n \n \n displayName\n \n \n isOptional\n \n \n location\n \n \n name\n \n \n Optional\n regex\n \n \n Optional\n regexComment\n \n \n scope\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameter)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CustomParameterScope, CustomParameterLocation, CustomParameterType } from '../enum';\n\nexport class CustomParameter {\n\tname: string;\n\n\tdisplayName: string;\n\n\tdescription?: string;\n\n\tdefault?: string;\n\n\tregex?: string;\n\n\tregexComment?: string;\n\n\tscope: CustomParameterScope;\n\n\tlocation: CustomParameterLocation;\n\n\ttype: CustomParameterType;\n\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameter) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntity.html":{"url":"classes/CustomParameterEntity.html","title":"class - CustomParameterEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { CustomParameterLocation, CustomParameterScope, CustomParameterType } from '../../../common/enum';\n\n@Embeddable()\nexport class CustomParameterEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdisplayName: string;\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdefault?: string;\n\n\t@Property({ nullable: true })\n\tregex?: string;\n\n\t@Property({ nullable: true })\n\tregexComment?: string;\n\n\t@Enum()\n\tscope: CustomParameterScope;\n\n\t@Enum()\n\tlocation: CustomParameterLocation;\n\n\t@Enum()\n\ttype: CustomParameterType;\n\n\t@Property()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterEntity) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntry.html":{"url":"classes/CustomParameterEntry.html","title":"class - CustomParameterEntry","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntry\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n name\n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntry)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntry\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CustomParameterEntry {\n\tname: string;\n\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntry) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryEntity.html":{"url":"classes/CustomParameterEntryEntity.html","title":"class - CustomParameterEntryEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\n@Embeddable()\nexport class CustomParameterEntryEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryEntity) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryParam.html":{"url":"classes/CustomParameterEntryParam.html","title":"class - CustomParameterEntryParam","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryParam\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class CustomParameterEntryParam {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryResponse.html":{"url":"classes/CustomParameterEntryResponse.html","title":"class - CustomParameterEntryResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class CustomParameterEntryResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryResponse) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterFactory.html":{"url":"classes/CustomParameterFactory.html","title":"class - CustomParameterFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildListWithEachType\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildListWithEachType\n \n \n \n \n \n \nbuildListWithEachType(params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterPostParams.html":{"url":"classes/CustomParameterPostParams.html","title":"class - CustomParameterPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n Optional\n description\n \n \n \n \n \n displayName\n \n \n \n \n isOptional\n \n \n \n \n location\n \n \n \n \n \n name\n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n scope\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterLocationParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterScopeTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterPostParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tdisplayName!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@IsEnum(CustomParameterScopeTypeParams)\n\t@ApiProperty()\n\tscope!: CustomParameterScopeTypeParams;\n\n\t@IsEnum(CustomParameterLocationParams)\n\t@ApiProperty()\n\tlocation!: CustomParameterLocationParams;\n\n\t@IsEnum(CustomParameterTypeParams)\n\t@ApiProperty()\n\ttype!: CustomParameterTypeParams;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisOptional!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterResponse.html":{"url":"classes/CustomParameterResponse.html","title":"class - CustomParameterResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterLocationParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterScopeTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\tdisplayName: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@ApiProperty({ enum: CustomParameterScopeTypeParams })\n\tscope: CustomParameterScopeTypeParams;\n\n\t@ApiProperty({ enum: CustomParameterLocationParams })\n\tlocation: CustomParameterLocationParams;\n\n\t@ApiProperty({ enum: CustomParameterTypeParams })\n\ttype: CustomParameterTypeParams;\n\n\t@ApiProperty()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterResponse) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.defaultValue = props.defaultValue;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DashboardController.html":{"url":"controllers/DashboardController.html","title":"controller - DashboardController","body":"\n \n\n\n\n\n\n\n Controllers\n DashboardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dashboard.controller.ts\n \n\n \n Prefix\n \n \n dashboard\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n Async\n moveElement\n \n \n \n Async\n patchGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(undefined: DashboardUrlParams, params: MoveElementParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/moveElement')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n MoveElementParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchGroup\n \n \n \n \n \n \n \n patchGroup(urlParams: DashboardUrlParams, x: number, y: number, params: PatchGroupParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/element')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n x\n \n number\n \n\n \n No\n \n\n\n \n \n y\n \n number\n \n\n \n No\n \n\n\n \n \n params\n \n PatchGroupParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { DashboardMapper } from '../mapper/dashboard.mapper';\nimport { DashboardUc } from '../uc/dashboard.uc';\nimport { DashboardResponse, DashboardUrlParams, MoveElementParams, PatchGroupParams } from './dto';\n\n@ApiTags('Dashboard')\n@Authenticate('jwt')\n@Controller('dashboard')\nexport class DashboardController {\n\tconstructor(private readonly dashboardUc: DashboardUc) {}\n\n\t@Get()\n\tasync findForUser(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst dashboard = await this.dashboardUc.getUsersDashboard(currentUser.userId);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/moveElement')\n\tasync moveElement(\n\t\t@Param() { dashboardId }: DashboardUrlParams,\n\t\t@Body() params: MoveElementParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.moveElementOnDashboard(\n\t\t\tdashboardId,\n\t\t\tparams.from,\n\t\t\tparams.to,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/element')\n\tasync patchGroup(\n\t\t@Param() urlParams: DashboardUrlParams,\n\t\t@Query('x') x: number,\n\t\t@Query('y') y: number,\n\t\t@Body() params: PatchGroupParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.renameGroupOnDashboard(\n\t\t\turlParams.dashboardId,\n\t\t\t{ x, y },\n\t\t\tparams.title,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardElementRepo.html":{"url":"injectables/DashboardElementRepo.html","title":"injectable - DashboardElementRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardElementRepo\n\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/dashboardElement.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 deleteByDashboardId\n \n \n \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/dashboard/dashboardElement.repo.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByDashboardId\n \n \n \n \n \n \n \n deleteByDashboardId(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboardElement.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 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/dashboard/dashboardElement.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityManager } from '@mikro-orm/core';\nimport { DashboardGridElementModel } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n@Injectable()\nexport class DashboardElementRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DashboardGridElementModel;\n\t}\n\n\tasync deleteByDashboardId(id: EntityId): Promise {\n\t\tconst promise = this.em.nativeDelete(DashboardGridElementModel, {\n\t\t\tdashboard: new ObjectId(id),\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"},"classes/DashboardEntity.html":{"url":"classes/DashboardEntity.html","title":"class - DashboardEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n columns\n \n \n grid\n \n \n id\n \n \n userId\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addRoom\n \n \n Private\n allRooms\n \n \n Private\n determineNewRoomsIn\n \n \n getElement\n \n \n Private\n getFirstOpenIndex\n \n \n getGrid\n \n \n getId\n \n \n Private\n getReferencesFromPosition\n \n \n getUserId\n \n \n Private\n gridIndexFromPosition\n \n \n Private\n mergeElementIntoPosition\n \n \n moveElement\n \n \n Private\n positionFromGridIndex\n \n \n Private\n removeFromPosition\n \n \n Private\n removeRoomsNotInList\n \n \n setLearnRooms\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, props: DashboardProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:180\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n props\n \n \n DashboardProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:163\n \n \n\n\n \n \n \n \n \n \n \n \n grid\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:165\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:167\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n addRoom\n \n \n \n \n \n \n \n addRoom(room: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:272\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n room\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n allRooms\n \n \n \n \n \n \n \n allRooms()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:266\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n determineNewRoomsIn\n \n \n \n \n \n \n \n determineNewRoomsIn(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:255\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getElement\n \n \n \n \n \n \ngetElement(position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFirstOpenIndex\n \n \n \n \n \n \n \n getFirstOpenIndex()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:278\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n getGrid\n \n \n \n \n \n \ngetGrid()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:201\n \n \n\n\n \n \n\n \n Returns : GridElementWithPosition[]\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:193\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getReferencesFromPosition\n \n \n \n \n \n \n \n getReferencesFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:286\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUserId\n \n \n \n \n \n \ngetUserId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:197\n \n \n\n\n \n \n\n \n Returns : EntityId\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n gridIndexFromPosition\n \n \n \n \n \n \n \n gridIndexFromPosition(pos: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pos\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mergeElementIntoPosition\n \n \n \n \n \n \n \n mergeElementIntoPosition(element: IGridElement, position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:307\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n IGridElement\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n moveElement\n \n \n \n \n \n \nmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElementWithPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n positionFromGridIndex\n \n \n \n \n \n \n \n positionFromGridIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:176\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeFromPosition\n \n \n \n \n \n \n \n removeFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:298\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeRoomsNotInList\n \n \n \n \n \n \n \n removeRoomsNotInList(roomList: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:240\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomList\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setLearnRooms\n \n \n \n \n \n \nsetLearnRooms(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:231\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardGridElementModel.html":{"url":"entities/DashboardGridElementModel.html","title":"entity - DashboardGridElementModel","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardGridElementModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n references\n \n \n \n Optional\n title\n \n \n \n xPos\n \n \n \n yPos\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('DashboardModelEntity', {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('Course', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardGridElementModelProperties.html":{"url":"interfaces/DashboardGridElementModelProperties.html","title":"interface - DashboardGridElementModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardGridElementModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dashboard\n \n \n \n Optional\n \n id\n \n \n \n \n references\n \n \n \n Optional\n \n title\n \n \n \n \n xPos\n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dashboard\n \n \n \n \n \n \n \n \n dashboard: DashboardModelEntity\n\n \n \n\n\n \n \n Type : DashboardModelEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n \n \n references: Course[]\n\n \n \n\n\n \n \n Type : Course[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n \n \n xPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n yPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridElementResponse.html":{"url":"classes/DashboardGridElementResponse.html","title":"class - DashboardGridElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n Optional\n groupElements\n \n \n \n Optional\n groupId\n \n \n \n Optional\n id\n \n \n \n shortTitle\n \n \n \n \n Optional\n title\n \n \n \n xPosition\n \n \n \n yPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupElements\n \n \n \n \n \n \n Type : DashboardGridSubElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'List of all subelements in the group'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the group element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'X position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Y position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridSubElementResponse.html":{"url":"classes/DashboardGridSubElementResponse.html","title":"class - DashboardGridSubElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridSubElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridSubElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridSubElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardMapper.html":{"url":"classes/DashboardMapper.html","title":"class - DashboardMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n Private\n Static\n mapLearnroom\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n \n \n \n \n \n mapGridElement(data: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLearnroom\n \n \n \n \n \n \n \n mapLearnroom(metadata: LearnroomMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n LearnroomMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridSubElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(dashboard: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DashboardEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { LearnroomMetadata } from '@shared/domain/types';\nimport { DashboardGridElementResponse, DashboardGridSubElementResponse, DashboardResponse } from '../controller/dto';\n\nexport class DashboardMapper {\n\tstatic mapToResponse(dashboard: DashboardEntity): DashboardResponse {\n\t\tconst dto = new DashboardResponse({\n\t\t\tid: dashboard.getId(),\n\t\t\tgridElements: dashboard\n\t\t\t\t.getGrid()\n\t\t\t\t.map((elementWithPosition) => DashboardMapper.mapGridElement(elementWithPosition)),\n\t\t});\n\t\treturn dto;\n\t}\n\n\tprivate static mapGridElement(data: GridElementWithPosition): DashboardGridElementResponse {\n\t\tconst elementData = data.gridElement.getContent();\n\t\tconst position = data.pos;\n\t\tconst dto = new DashboardGridElementResponse({\n\t\t\ttitle: elementData.title,\n\t\t\tshortTitle: elementData.shortTitle,\n\t\t\tdisplayColor: elementData.displayColor,\n\t\t\txPosition: position.x,\n\t\t\tyPosition: position.y,\n\t\t\tcopyingSince: elementData.copyingSince ?? undefined,\n\t\t});\n\t\tif (elementData.referencedId) {\n\t\t\tdto.id = elementData.referencedId;\n\t\t}\n\t\tif (elementData.group && elementData.groupId) {\n\t\t\tdto.groupId = elementData.groupId;\n\t\t\tdto.groupElements = elementData.group.map((groupMetadata) => DashboardMapper.mapLearnroom(groupMetadata));\n\t\t}\n\t\treturn dto;\n\t}\n\n\tprivate static mapLearnroom(metadata: LearnroomMetadata): DashboardGridSubElementResponse {\n\t\treturn new DashboardGridSubElementResponse(metadata);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardModelEntity.html":{"url":"entities/DashboardModelEntity.html","title":"entity - DashboardModelEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardModelEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gridElements\n \n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n gridElements\n \n \n \n \n \n \n Type : Collection\n\n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('DashboardGridElementModel', 'dashboard')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'userId', wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardModelMapper.html":{"url":"injectables/DashboardModelMapper.html","title":"injectable - DashboardModelMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardModelMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n Private\n Async\n findExistingGridElement\n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n Async\n mapDashboardToEntity\n \n \n Async\n mapDashboardToModel\n \n \n Async\n mapElementToEntity\n \n \n Async\n mapGridElementToModel\n \n \n Async\n mapReferenceToEntity\n \n \n mapReferenceToModel\n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n \n \n \n \n \n createGridElement(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExistingGridElement\n \n \n \n \n \n \n \n findExistingGridElement(elementWithPosition: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n \n \n \n \n \n getOrConstructDashboardModelEntity(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToEntity\n \n \n \n \n \n \n \n mapDashboardToEntity(modelEntity: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToModel\n \n \n \n \n \n \n \n mapDashboardToModel(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapElementToEntity\n \n \n \n \n \n \n \n mapElementToEntity(modelEntity: DashboardGridElementModel)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapGridElementToModel\n \n \n \n \n \n \n \n mapGridElementToModel(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapReferenceToEntity\n \n \n \n \n \n \n \n mapReferenceToEntity(modelEntity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapReferenceToModel\n \n \n \n \n \n \nmapReferenceToModel(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Course\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n \n \n \n updateExistingGridElement(elementModel: DashboardGridElementModel, elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementModel\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, wrap } from '@mikro-orm/core';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tCourse,\n\tDashboardEntity,\n\tDashboardGridElementModel,\n\tDashboardModelEntity,\n\tGridElement,\n\tGridElementWithPosition,\n\tUser,\n} from '@shared/domain/entity';\nimport { Learnroom } from '@shared/domain/interface';\nimport { LearnroomTypes } from '@shared/domain/types';\n\n@Injectable()\nexport class DashboardModelMapper {\n\tconstructor(protected readonly em: EntityManager) {}\n\n\tasync mapReferenceToEntity(modelEntity: Course): Promise {\n\t\tconst domainEntity = await wrap(modelEntity).init();\n\t\treturn domainEntity;\n\t}\n\n\tasync mapElementToEntity(modelEntity: DashboardGridElementModel): Promise {\n\t\tconst referenceModels = await modelEntity.references.loadItems();\n\t\tconst references = await Promise.all(referenceModels.map((ref) => this.mapReferenceToEntity(ref)));\n\t\tconst result = {\n\t\t\tpos: { x: modelEntity.xPos, y: modelEntity.yPos },\n\t\t\tgridElement: GridElement.FromPersistedGroup(modelEntity.id, modelEntity.title, references),\n\t\t};\n\t\treturn result;\n\t}\n\n\tasync mapDashboardToEntity(modelEntity: DashboardModelEntity): Promise {\n\t\tif (!modelEntity.gridElements.isInitialized()) {\n\t\t\tawait modelEntity.gridElements.init();\n\t\t}\n\t\tconst grid = await Promise.all(Array.from(modelEntity.gridElements).map(async (e) => this.mapElementToEntity(e)));\n\t\treturn new DashboardEntity(modelEntity.id, { grid, userId: modelEntity.user.id });\n\t}\n\n\tmapReferenceToModel(reference: Learnroom): Course {\n\t\tconst metadata = reference.getMetadata();\n\t\tif (metadata.type === LearnroomTypes.Course) {\n\t\t\tconst course = reference as Course;\n\t\t\treturn course;\n\t\t}\n\t\tthrow new InternalServerErrorException('unknown learnroom type');\n\t}\n\n\tasync mapGridElementToModel(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst existing = await this.findExistingGridElement(elementWithPosition);\n\t\tif (existing) {\n\t\t\tconst updatedModel = this.updateExistingGridElement(existing, elementWithPosition, dashboard);\n\t\t\treturn updatedModel;\n\t\t}\n\t\tconst createdModel = await this.createGridElement(elementWithPosition, dashboard);\n\t\treturn createdModel;\n\t}\n\n\tprivate async findExistingGridElement(\n\t\telementWithPosition: GridElementWithPosition\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tif (gridElement.hasId()) {\n\t\t\tconst existing = await this.em.findOne(DashboardGridElementModel, gridElement.getId() as string);\n\t\t\tif (existing) return existing;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate async updateExistingGridElement(\n\t\telementModel: DashboardGridElementModel,\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\telementModel.xPos = elementWithPosition.pos.x;\n\t\telementModel.yPos = elementWithPosition.pos.y;\n\t\tconst { gridElement } = elementWithPosition;\n\n\t\tif (gridElement.isGroup()) {\n\t\t\telementModel.title = gridElement.getContent().title;\n\t\t}\n\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\telementModel.references.set(references);\n\n\t\telementModel.dashboard = wrap(dashboard).toReference();\n\t\treturn elementModel;\n\t}\n\n\tprivate async createGridElement(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\tconst elementModel = new DashboardGridElementModel({\n\t\t\tid: gridElement.getId(),\n\t\t\txPos: elementWithPosition.pos.x,\n\t\t\tyPos: elementWithPosition.pos.y,\n\t\t\treferences,\n\t\t\tdashboard,\n\t\t});\n\n\t\treturn elementModel;\n\t}\n\n\tasync mapDashboardToModel(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.getOrConstructDashboardModelEntity(entity);\n\t\tconst mappedElements = await Promise.all(\n\t\t\tentity.getGrid().map((elementWithPosition) => this.mapGridElementToModel(elementWithPosition, modelEntity))\n\t\t);\n\n\t\tArray.from(modelEntity.gridElements).forEach((el) => {\n\t\t\tif (!mappedElements.includes(el)) {\n\t\t\t\tmodelEntity.gridElements.remove(el);\n\t\t\t\tthis.em.remove(el);\n\t\t\t}\n\t\t});\n\n\t\treturn modelEntity;\n\t}\n\n\tprivate async getOrConstructDashboardModelEntity(entity: DashboardEntity): Promise {\n\t\tconst existing = await this.em.findOne(DashboardModelEntity, entity.getId());\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\t\tconst user = await this.em.findOneOrFail(User, entity.getUserId());\n\t\treturn new DashboardModelEntity({ id: entity.getId(), user, gridElements: [] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardModelProperties.html":{"url":"interfaces/DashboardModelProperties.html","title":"interface - DashboardModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gridElements\n \n \n \n \n id\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gridElements\n \n \n \n \n \n \n \n \n gridElements: DashboardGridElementModel[]\n\n \n \n\n\n \n \n Type : DashboardGridElementModel[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardRepo.html":{"url":"injectables/DashboardRepo.html","title":"injectable - DashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDashboardByUserId\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: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 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 deleteDashboardByUserId\n \n \n \n \n \n \n \n deleteDashboardByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.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 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 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: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 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:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 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: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 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: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 entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n\tdeleteDashboardByUserId(userId: EntityId): 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\tasync deleteDashboardByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(DashboardModelEntity, { user: userId });\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"},"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/DashboardService.html":{"url":"injectables/DashboardService.html","title":"injectable - DashboardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardService\n\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/dashboard.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDashboardByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dashboardRepo: IDashboardRepo, dashboardElementRepo: DashboardElementRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/dashboard.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 dashboardRepo\n \n \n IDashboardRepo\n \n \n \n No\n \n \n \n \n dashboardElementRepo\n \n \n DashboardElementRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteDashboardByUserId\n \n \n \n \n \n \n \n deleteDashboardByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/dashboard.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 \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { IDashboardRepo, DashboardElementRepo } from '@shared/repo';\n\n@Injectable()\nexport class DashboardService {\n\tconstructor(\n\t\t@Inject('DASHBOARD_REPO') private readonly dashboardRepo: IDashboardRepo,\n\t\tprivate readonly dashboardElementRepo: DashboardElementRepo\n\t) {}\n\n\tasync deleteDashboardByUserId(userId: EntityId): Promise {\n\t\tconst usersDashboard = await this.dashboardRepo.getUsersDashboard(userId);\n\t\tawait this.dashboardElementRepo.deleteByDashboardId(usersDashboard.id);\n\t\tconst result = await this.dashboardRepo.deleteDashboardByUserId(userId);\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/DashboardUc.html":{"url":"injectables/DashboardUc.html","title":"injectable - DashboardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/dashboard.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n Async\n moveElementOnDashboard\n \n \n Async\n renameGroupOnDashboard\n \n \n Private\n validateUsersMatch\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dashboardRepo: IDashboardRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardRepo\n \n \n IDashboardRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n \n \n \n \n \n getUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElementOnDashboard\n \n \n \n \n \n \n \n moveElementOnDashboard(dashboardId: EntityId, from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n renameGroupOnDashboard\n \n \n \n \n \n \n \n renameGroupOnDashboard(dashboardId: EntityId, position: GridPosition, params: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n params\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateUsersMatch\n \n \n \n \n \n \n \n validateUsersMatch(dashboard: DashboardEntity, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException } from '@nestjs/common';\nimport { DashboardEntity, GridPosition, GridPositionWithGroupIndex } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, IDashboardRepo } from '@shared/repo';\n// import { NotFound } from '@feathersjs/errors'; // wrong import? see NotFoundException\n\n@Injectable()\nexport class DashboardUc {\n\tconstructor(\n\t\t@Inject('DASHBOARD_REPO') private readonly dashboardRepo: IDashboardRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getUsersDashboard(userId);\n\t\tconst [courses] = await this.courseRepo.findAllByUserId(\n\t\t\tuserId,\n\t\t\t{ onlyActiveCourses: true },\n\t\t\t{ order: { name: SortOrder.asc } }\n\t\t);\n\n\t\tdashboard.setLearnRooms(courses);\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync moveElementOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tfrom: GridPositionWithGroupIndex,\n\t\tto: GridPositionWithGroupIndex,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tdashboard.moveElement(from, to);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync renameGroupOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tposition: GridPosition,\n\t\tparams: string,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tconst gridElement = dashboard.getElement(position);\n\t\tgridElement.setGroupName(params);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tprivate validateUsersMatch(dashboard: DashboardEntity, userId: EntityId) {\n\t\tif (dashboard.getUserId() !== userId) {\n\t\t\tthrow new NotFoundException('no such dashboard found');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardUrlParams.html":{"url":"classes/DashboardUrlParams.html","title":"class - DashboardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the dashboard.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class DashboardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the dashboard.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdashboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DatabaseManagementConsole.html":{"url":"classes/DatabaseManagementConsole.html","title":"class - DatabaseManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DatabaseManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/database-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n Async\n seedCollections\n \n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, databaseManagementUc: DatabaseManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n databaseManagementUc\n \n \n DatabaseManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'export', options: undefined, description: 'export database collections to filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seedCollections\n \n \n \n \n \n \n \n seedCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', options: undefined, description: 'reset database collections with seed data from filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'sync-indexes', options: undefined, description: 'sync indexes from nest and mikroorm'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:72\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console/console-writer/console-writer.service';\nimport { Command, Console } from 'nestjs-console';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\ninterface Options {\n\tcollection?: string;\n\toverride?: boolean;\n\tonlyfactories?: boolean;\n}\n\n@Console({ command: 'database', description: 'database setup console' })\nexport class DatabaseManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'seed',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --onlyfactories',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'seed from factories only',\n\t\t\t},\n\t\t],\n\t\tdescription: 'reset database collections with seed data from filesystem',\n\t})\n\tasync seedCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\n\t\tconst collections = options.onlyfactories\n\t\t\t? await this.databaseManagementUc.seedDatabaseCollectionsFromFactories(filter)\n\t\t\t: await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem(filter);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'export',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --override',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'optional export collections to setup folder and override existing files',\n\t\t\t},\n\t\t],\n\t\tdescription: 'export database collections to filesystem',\n\t})\n\tasync exportCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\t\tconst toSeedFolder = options?.override ? true : undefined;\n\t\tconst collections = await this.databaseManagementUc.exportCollectionsToFileSystem(filter, toSeedFolder);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'sync-indexes',\n\t\toptions: [],\n\t\tdescription: 'sync indexes from nest and mikroorm',\n\t})\n\tasync syncIndexes(): Promise {\n\t\tawait this.databaseManagementUc.syncIndexes();\n\t\tconst report = 'sync of indexes is completed';\n\t\tthis.consoleWriter.info(report);\n\t\treturn report;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DatabaseManagementController.html":{"url":"controllers/DatabaseManagementController.html","title":"controller - DatabaseManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n DatabaseManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/controller/database-management.controller.ts\n \n\n \n Prefix\n \n \n management/database\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n Async\n exportCollections\n \n \n \n Async\n importCollection\n \n \n \n Async\n importCollections\n \n \n \n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n \n \n \n \n exportCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('export/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections()\n \n \n\n \n \n Decorators : \n \n @Post('export')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('seed/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollections\n \n \n \n \n \n \n \n importCollections(withIndexes: boolean)\n \n \n\n \n \n Decorators : \n \n @All('seed')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n withIndexes\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Post('sync-indexes')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:33\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n\n\n \n import { Controller, Param, Post, All, Query } from '@nestjs/common';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\n@Controller('management/database')\nexport class DatabaseManagementController {\n\tconstructor(private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@All('seed')\n\tasync importCollections(@Query('with-indexes') withIndexes: boolean): Promise {\n\t\tconst res = await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem();\n\t\tif (withIndexes) {\n\t\t\tawait this.databaseManagementUc.syncIndexes();\n\t\t}\n\t\treturn res;\n\t}\n\n\t@Post('seed/:collectionName')\n\tasync importCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem([collectionName]);\n\t}\n\n\t@Post('export')\n\tasync exportCollections(): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem();\n\t}\n\n\t@Post('export/:collectionName')\n\tasync exportCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem([collectionName]);\n\t}\n\n\t@Post('sync-indexes')\n\tsyncIndexes() {\n\t\treturn this.databaseManagementUc.syncIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DatabaseManagementModule.html":{"url":"modules/DatabaseManagementModule.html","title":"module - DatabaseManagementModule","body":"\n \n\n\n\n\n Modules\n DatabaseManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DatabaseManagementModule\n\n\n\ncluster_DatabaseManagementModule_providers\n\n\n\ncluster_DatabaseManagementModule_exports\n\n\n\n\nDatabaseManagementService \n\nDatabaseManagementService \n\n\n\nDatabaseManagementModule\n\nDatabaseManagementModule\n\nDatabaseManagementService -->\n\nDatabaseManagementModule->DatabaseManagementService \n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nDatabaseManagementModule -->\n\nDatabaseManagementService->DatabaseManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/management/database-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DatabaseManagementService\n \n \n \n \n Exports\n \n \n DatabaseManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DatabaseManagementService } from './database-management.service';\n\n@Module({\n\tproviders: [DatabaseManagementService],\n\texports: [DatabaseManagementService],\n})\nexport class DatabaseManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DatabaseManagementService.html":{"url":"injectables/DatabaseManagementService.html","title":"injectable - DatabaseManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DatabaseManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/database/management/database-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n clearCollection\n \n \n Async\n collectionExists\n \n \n Async\n createCollection\n \n \n Async\n dropCollection\n \n \n Async\n findDocumentsOfCollection\n \n \n Async\n getCollectionNames\n \n \n getDatabaseCollection\n \n \n Async\n importCollection\n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, orm: MikroORM)\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n orm\n \n \n MikroORM\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n clearCollection\n \n \n \n \n \n \n \n clearCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n collectionExists\n \n \n \n \n \n \n \n collectionExists(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCollection\n \n \n \n \n \n \n \n createCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n dropCollection\n \n \n \n \n \n \n \n dropCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDocumentsOfCollection\n \n \n \n \n \n \n \n findDocumentsOfCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCollectionNames\n \n \n \n \n \n \n \n getCollectionNames()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:44\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseCollection\n \n \n \n \n \n \ngetDatabaseCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Collection\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string, jsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n jsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:66\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n\n \n \n getdb()\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:11\n \n \n\n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { Collection, Db } from 'mongodb';\n\n@Injectable()\nexport class DatabaseManagementService {\n\tconstructor(private em: EntityManager, private readonly orm: MikroORM) {}\n\n\tprivate get db(): Db {\n\t\treturn this.em.getConnection('write').getDb();\n\t}\n\n\tgetDatabaseCollection(collectionName: string): Collection {\n\t\tconst collection = this.db.collection(collectionName);\n\t\treturn collection;\n\t}\n\n\tasync importCollection(collectionName: string, jsonDocuments: unknown[]): Promise {\n\t\tif (jsonDocuments.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { insertedCount } = await collection.insertMany(jsonDocuments as BaseEntity[], {\n\t\t\tforceServerObjectId: true,\n\t\t\tbypassDocumentValidation: true,\n\t\t});\n\t\treturn insertedCount;\n\t}\n\n\tasync findDocumentsOfCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst documents = (await collection.find({}).toArray()) as unknown[];\n\t\treturn documents;\n\t}\n\n\tasync clearCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { deletedCount } = await collection.deleteMany({});\n\t\treturn deletedCount || 0;\n\t}\n\n\tasync getCollectionNames(): Promise {\n\t\tconst collections = (await this.db.listCollections(undefined, { nameOnly: true }).toArray()) as unknown[] as {\n\t\t\tname: string;\n\t\t}[];\n\t\tconst collectionNames = collections.map((collection) => collection.name);\n\t\treturn collectionNames;\n\t}\n\n\tasync collectionExists(collectionName: string): Promise {\n\t\tconst collections = await this.getCollectionNames();\n\t\tconst result = collections.includes(collectionName);\n\t\treturn result;\n\t}\n\n\tasync createCollection(collectionName: string): Promise {\n\t\tawait this.db.createCollection(collectionName);\n\t}\n\n\tasync dropCollection(collectionName: string): Promise {\n\t\tawait this.db.dropCollection(collectionName);\n\t}\n\n\tasync syncIndexes(): Promise {\n\t\treturn this.orm.getSchemaGenerator().ensureIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeleteFilesConsole.html":{"url":"classes/DeleteFilesConsole.html","title":"class - DeleteFilesConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeleteFilesConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/job/delete-files.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deleteFilesUc: DeleteFilesUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deleteFilesUc\n \n \n DeleteFilesUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(daysSinceDeletion: number, batchSize: number)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'cleanup-job [batchSize]', description: 'cleanup job to remove files that were marked for deletion days ago'})\n \n \n\n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n daysSinceDeletion\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n \n 1000\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { DeleteFilesUc } from '../uc';\n\n@Console({ command: 'files', description: 'file deletion console' })\nexport class DeleteFilesConsole {\n\tconstructor(private deleteFilesUc: DeleteFilesUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(DeleteFilesConsole.name);\n\t}\n\n\t@Command({\n\t\tcommand: 'cleanup-job [batchSize]',\n\t\tdescription: 'cleanup job to remove files that were marked for deletion days ago',\n\t})\n\tasync deleteMarkedFiles(daysSinceDeletion: number, batchSize = 1000): Promise {\n\t\tthis.logger.log(\n\t\t\t`Start cleanup job: Deleting files that were marked for deletion at least ${daysSinceDeletion} days ago; batch size: ${batchSize}`\n\t\t);\n\t\tconst thresholdDate = new Date();\n\t\tthresholdDate.setDate(thresholdDate.getDate() - daysSinceDeletion);\n\n\t\tawait this.deleteFilesUc.deleteMarkedFiles(thresholdDate, Number(batchSize));\n\t\tthis.logger.log('cleanup job finished');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeleteFilesUc.html":{"url":"injectables/DeleteFilesUc.html","title":"injectable - DeleteFilesUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeleteFilesUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/uc/delete-files.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createClient\n \n \n Private\n Async\n deleteFile\n \n \n Private\n Async\n deleteFileInStorage\n \n \n Public\n Async\n deleteMarkedFiles\n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesRepo: FilesRepo, storageProviderRepo: StorageProviderRepo, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesRepo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n storageProviderRepo\n \n \n StorageProviderRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createClient\n \n \n \n \n \n \n \n createClient(storageProvider: StorageProviderEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageProvider\n \n StorageProviderEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : S3Client\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFileInStorage\n \n \n \n \n \n \n \n deleteFileInStorage(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(thresholdDate: Date, batchSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n \n \n \n initializeS3ClientMap()\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class DeleteFilesUc {\n\tprivate s3ClientMap: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly filesRepo: FilesRepo,\n\t\tprivate readonly storageProviderRepo: StorageProviderRepo,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(DeleteFilesUc.name);\n\t}\n\n\tpublic async deleteMarkedFiles(thresholdDate: Date, batchSize: number): Promise {\n\t\tawait this.initializeS3ClientMap();\n\n\t\tlet batchCounter = 0;\n\t\tlet numberOfFilesInBatch = 0;\n\t\tlet numberOfProcessedFiles = 0;\n\t\tconst failingFileIds: string[] = [];\n\n\t\tdo {\n\t\t\tconst offset = failingFileIds.length;\n\t\t\tconst files = await this.filesRepo.findForCleanup(thresholdDate, batchSize, offset);\n\n\t\t\tconst promises = files.map((file) => this.deleteFile(file));\n\t\t\tconst results = await Promise.all(promises);\n\n\t\t\tlet numberOfFailingFilesInBatch = 0;\n\n\t\t\tresults.forEach((result) => {\n\t\t\t\tif (!result.success) {\n\t\t\t\t\tfailingFileIds.push(result.fileId);\n\t\t\t\t\tnumberOfFailingFilesInBatch += 1;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tnumberOfFilesInBatch = files.length;\n\t\t\tnumberOfProcessedFiles += files.length;\n\t\t\tbatchCounter += 1;\n\n\t\t\tthis.logger.log(\n\t\t\t\t`Finished batch ${batchCounter} with ${numberOfFilesInBatch} files and ${numberOfFailingFilesInBatch} failed deletions`\n\t\t\t);\n\t\t} while (numberOfFilesInBatch > 0);\n\n\t\tthis.logger.log(\n\t\t\t`${\n\t\t\t\tnumberOfProcessedFiles - failingFileIds.length\n\t\t\t} out of ${numberOfProcessedFiles} files were successfully deleted`\n\t\t);\n\n\t\tif (failingFileIds.length > 0) {\n\t\t\tthis.logger.error(`the following files could not be deleted: ${failingFileIds.toString()}`);\n\t\t}\n\t}\n\n\tprivate async initializeS3ClientMap() {\n\t\tconst providers = await this.storageProviderRepo.findAll();\n\n\t\tproviders.forEach((provider) => {\n\t\t\tthis.s3ClientMap.set(provider.id, this.createClient(provider));\n\t\t});\n\n\t\tthis.logger.log(`Initialized s3ClientMap with ${this.s3ClientMap.size} clients.`);\n\t}\n\n\tprivate createClient(storageProvider: StorageProviderEntity): S3Client {\n\t\tconst client = new S3Client({\n\t\t\tendpoint: storageProvider.endpointUrl,\n\t\t\tforcePathStyle: true,\n\t\t\tregion: storageProvider.region,\n\t\t\ttls: true,\n\t\t\tcredentials: {\n\t\t\t\taccessKeyId: storageProvider.accessKeyId,\n\t\t\t\tsecretAccessKey: storageProvider.secretAccessKey,\n\t\t\t},\n\t\t});\n\n\t\treturn client;\n\t}\n\n\tprivate async deleteFile(file: FileEntity): Promise {\n\t\ttry {\n\t\t\tif (!file.isDirectory) {\n\t\t\t\tawait this.deleteFileInStorage(file);\n\t\t\t}\n\t\t\tawait this.filesRepo.delete(file);\n\n\t\t\treturn { fileId: file.id, success: true };\n\t\t} catch (error) {\n\t\t\tthis.logger.error(error);\n\n\t\t\treturn { fileId: file.id, success: false };\n\t\t}\n\t}\n\n\tprivate async deleteFileInStorage(file: FileEntity) {\n\t\tconst bucket = file.bucket as string;\n\t\tconst storageFileName = file.storageFileName as string;\n\t\tconst deletionCommand = new DeleteObjectCommand({ Bucket: bucket, Key: storageFileName });\n\n\t\tconst storageProvider = file.storageProvider as StorageProviderEntity;\n\t\tconst client = this.s3ClientMap.get(storageProvider.id) as S3Client;\n\n\t\tawait client.send(deletionCommand);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionApiModule.html":{"url":"modules/DeletionApiModule.html","title":"module - DeletionApiModule","body":"\n \n\n\n\n\n Modules\n DeletionApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionApiModule\n\n\n\ncluster_DeletionApiModule_imports\n\n\n\ncluster_DeletionApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\nDeletionApiModule -->\n\nAccountModule->DeletionApiModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nDeletionApiModule -->\n\nAuthenticationModule->DeletionApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nDeletionApiModule -->\n\nClassModule->DeletionApiModule\n\n\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionApiModule -->\n\nDeletionModule->DeletionApiModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nDeletionApiModule -->\n\nFilesModule->DeletionApiModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nDeletionApiModule -->\n\nFilesStorageClientModule->DeletionApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nDeletionApiModule -->\n\nLearnroomModule->DeletionApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nDeletionApiModule -->\n\nLessonModule->DeletionApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nDeletionApiModule -->\n\nLoggerModule->DeletionApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nDeletionApiModule -->\n\nPseudonymModule->DeletionApiModule\n\n\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nDeletionApiModule -->\n\nRegistrationPinModule->DeletionApiModule\n\n\n\n\n\nRocketChatModule\n\nRocketChatModule\n\nDeletionApiModule -->\n\nRocketChatModule->DeletionApiModule\n\n\n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nDeletionApiModule -->\n\nRocketChatUserModule->DeletionApiModule\n\n\n\n\n\nTeamsModule\n\nTeamsModule\n\nDeletionApiModule -->\n\nTeamsModule->DeletionApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nDeletionApiModule -->\n\nUserModule->DeletionApiModule\n\n\n\n\n\nDeletionRequestUc\n\nDeletionRequestUc\n\nDeletionApiModule -->\n\nDeletionRequestUc->DeletionApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionRequestUc\n \n \n \n \n Controllers\n \n \n DeletionRequestsController\n \n \n DeletionExecutionsController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthenticationModule\n \n \n ClassModule\n \n \n DeletionModule\n \n \n FilesModule\n \n \n FilesStorageClientModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n PseudonymModule\n \n \n RegistrationPinModule\n \n \n RocketChatModule\n \n \n RocketChatUserModule\n \n \n TeamsModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DeletionModule } from '@modules/deletion';\nimport { AccountModule } from '@modules/account';\nimport { ClassModule } from '@modules/class';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { FilesModule } from '@modules/files';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { LessonModule } from '@modules/lesson';\nimport { TeamsModule } from '@modules/teams';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { RocketChatUserModule } from '@modules/rocketchat-user';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { RegistrationPinModule } from '@modules/registration-pin';\nimport { DeletionRequestsController } from './controller/deletion-requests.controller';\nimport { DeletionExecutionsController } from './controller/deletion-executions.controller';\nimport { DeletionRequestUc } from './uc';\nimport { FilesStorageClientModule } from '../files-storage-client';\n\n@Module({\n\timports: [\n\t\tDeletionModule,\n\t\tAccountModule,\n\t\tClassModule,\n\t\tLearnroomModule,\n\t\tFilesModule,\n\t\tLessonModule,\n\t\tPseudonymModule,\n\t\tTeamsModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tAuthenticationModule,\n\t\tRocketChatUserModule,\n\t\tRegistrationPinModule,\n\t\tFilesStorageClientModule,\n\t\tRocketChatModule.forRoot({\n\t\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t\t}),\n\t],\n\tcontrollers: [DeletionRequestsController, DeletionExecutionsController],\n\tproviders: [DeletionRequestUc],\n})\nexport class DeletionApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionClient.html":{"url":"injectables/DeletionClient.html","title":"injectable - DeletionClient","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n Private\n Readonly\n baseUrl\n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n Private\n defaultHeaders\n \n \n Async\n executeDeletions\n \n \n Async\n queueDeletionRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n \n \n \n \n \n apiKeyHeader()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:88\n \n \n\n\n \n \n\n \n Returns : { 'X-Api-Key': string; }\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n defaultHeaders\n \n \n \n \n \n \n \n defaultHeaders()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:92\n \n \n\n\n \n \n\n \n Returns : { headers: { 'X-Api-Key': string; }; }\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n queueDeletionRequest\n \n \n \n \n \n \n \n queueDeletionRequest(input: DeletionRequestInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n DeletionRequestInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/deletion.client.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { BadGatewayException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { firstValueFrom } from 'rxjs';\nimport { DeletionClientConfig, DeletionRequestInput, DeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class DeletionClient {\n\tprivate readonly baseUrl: string;\n\n\tprivate readonly apiKey: string;\n\n\tprivate readonly postDeletionRequestsEndpoint: string;\n\n\tprivate readonly postDeletionExecutionsEndpoint: string;\n\n\tconstructor(\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.baseUrl = this.configService.get('ADMIN_API_CLIENT_BASE_URL');\n\t\tthis.apiKey = this.configService.get('ADMIN_API_CLIENT_API_KEY');\n\n\t\t// Prepare the POST /deletionRequests endpoint beforehand to not do it on every client call.\n\t\tthis.postDeletionRequestsEndpoint = new URL('/admin/api/v1/deletionRequests', this.baseUrl).toString();\n\t\tthis.postDeletionExecutionsEndpoint = new URL('/admin/api/v1/deletionExecutions', this.baseUrl).toString();\n\t}\n\n\tasync queueDeletionRequest(input: DeletionRequestInput): Promise {\n\t\ttry {\n\t\t\tconst request = this.httpService.post(\n\t\t\t\tthis.postDeletionRequestsEndpoint,\n\t\t\t\tinput,\n\t\t\t\tthis.defaultHeaders()\n\t\t\t);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\t// Throw an error if any other status code (other than expected \"202 Accepted\" is returned).\n\t\t\tif (resp.status !== 202) {\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 202`);\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a requestId in a response (and it is\n\t\t\t// required as it gives client the reference to the created deletion request).\n\t\t\tif (!resp.data.requestId) {\n\t\t\t\tthrow new Error('no valid requestId returned from the server');\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a deletionPlannedAt timestamp so the user\n\t\t\t// will not be aware after which date the deletion request's execution will begin.\n\t\t\tif (!resp.data.deletionPlannedAt) {\n\t\t\t\tthrow Error('no valid deletionPlannedAt returned from the server');\n\t\t\t}\n\n\t\t\treturn resp.data;\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:queueDeletionRequest', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tasync executeDeletions(limit?: number): Promise {\n\t\tlet requestConfig = {};\n\n\t\tif (limit && limit > 0) {\n\t\t\trequestConfig = { ...this.defaultHeaders(), params: { limit } };\n\t\t} else {\n\t\t\trequestConfig = { ...this.defaultHeaders() };\n\t\t}\n\n\t\ttry {\n\t\t\tconst request = this.httpService.post(this.postDeletionExecutionsEndpoint, null, requestConfig);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\tif (resp.status !== 204) {\n\t\t\t\t// Throw an error if any other status code (other than expected \"204 No Content\" is returned).\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 204`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request(s) execution trigger has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:executeDeletions', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tprivate apiKeyHeader() {\n\t\treturn { 'X-Api-Key': this.apiKey };\n\t}\n\n\tprivate defaultHeaders() {\n\t\treturn {\n\t\t\theaders: this.apiKeyHeader(),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionClientConfig.html":{"url":"interfaces/DeletionClientConfig.html","title":"interface - DeletionClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-client-config.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionClientConfig {\n\tADMIN_API_CLIENT_BASE_URL: string;\n\tADMIN_API_CLIENT_API_KEY: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionConsoleModule.html":{"url":"modules/DeletionConsoleModule.html","title":"module - DeletionConsoleModule","body":"\n \n\n\n\n\n Modules\n DeletionConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionConsoleModule\n\n\n\ncluster_DeletionConsoleModule_providers\n\n\n\ncluster_DeletionConsoleModule_imports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nDeletionConsoleModule\n\nDeletionConsoleModule\n\nDeletionConsoleModule -->\n\nConsoleWriterModule->DeletionConsoleModule\n\n\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionConsoleModule -->\n\nDeletionModule->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionService\n\nBatchDeletionService\n\nDeletionConsoleModule -->\n\nBatchDeletionService->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionUc\n\nBatchDeletionUc\n\nDeletionConsoleModule -->\n\nBatchDeletionUc->DeletionConsoleModule\n\n\n\n\n\nDeletionClient\n\nDeletionClient\n\nDeletionConsoleModule -->\n\nDeletionClient->DeletionConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-console.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BatchDeletionService\n \n \n BatchDeletionUc\n \n \n DeletionClient\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n DeletionModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { DeletionModule } from '@modules/deletion';\nimport { DeletionClient } from './deletion-client';\nimport { getDeletionClientConfig } from './deletion-client/deletion-client.config';\nimport { DeletionQueueConsole } from './deletion-queue.console';\nimport { DeletionExecutionConsole } from './deletion-execution.console';\nimport { BatchDeletionService } from './services';\nimport { BatchDeletionUc } from './uc';\n\n@Module({\n\timports: [\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tDeletionModule,\n\t\tHttpModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(getDeletionClientConfig)),\n\t],\n\tproviders: [DeletionClient, BatchDeletionService, BatchDeletionUc, DeletionQueueConsole, DeletionExecutionConsole],\n})\nexport class DeletionConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionConsole.html":{"url":"classes/DeletionExecutionConsole.html","title":"class - DeletionExecutionConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-execution.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, deletionExecutionUc: DeletionExecutionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-execution.console.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n deletionExecutionUc\n \n \n DeletionExecutionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(options: TriggerDeletionExecutionOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'trigger', description: 'Trigger execution of deletion requests.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-execution.console.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n TriggerDeletionExecutionOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { Command, Console } from 'nestjs-console';\nimport { DeletionExecutionTriggerResultBuilder } from './builder';\nimport { DeletionExecutionTriggerResult, TriggerDeletionExecutionOptions } from './interface';\nimport { DeletionExecutionUc } from './uc';\n\n@Console({ command: 'execution', description: 'Console providing an access to the deletion execution(s).' })\nexport class DeletionExecutionConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private deletionExecutionUc: DeletionExecutionUc) {}\n\n\t@Command({\n\t\tcommand: 'trigger',\n\t\tdescription: 'Trigger execution of deletion requests.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-l, --limit ',\n\t\t\t\tdescription: 'Limit of the requested deletion executions that should be performed.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync triggerDeletionExecution(options: TriggerDeletionExecutionOptions): Promise {\n\t\t// Try to trigger the deletion execution(s) via Deletion API client,\n\t\t// return successful status in case of a success, otherwise return\n\t\t// a result with a failure status and a proper error message.\n\t\tlet result: DeletionExecutionTriggerResult;\n\n\t\ttry {\n\t\t\tawait this.deletionExecutionUc.triggerDeletionExecution(options.limit ? Number(options.limit) : undefined);\n\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildSuccess();\n\t\t} catch (err) {\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildFailure(err as Error);\n\t\t}\n\n\t\tthis.consoleWriter.info(JSON.stringify(result));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionParams.html":{"url":"classes/DeletionExecutionParams.html","title":"class - DeletionExecutionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@IsOptional()@ApiPropertyOptional({description: 'Page limit, defaults to 100.', minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsInt, IsOptional, Min } from 'class-validator';\n\nexport class DeletionExecutionParams {\n\t@IsInt()\n\t@Min(1)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 100.', minimum: 1 })\n\tlimit?: number = 100;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionExecutionTriggerResult.html":{"url":"interfaces/DeletionExecutionTriggerResult.html","title":"interface - DeletionExecutionTriggerResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionExecutionTriggerResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/interface/deletion-execution-trigger-result.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionExecutionTriggerStatus\n\n \n \n\n\n \n \n Type : DeletionExecutionTriggerStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionExecutionTriggerStatus } from './deletion-execution-trigger-status.enum';\n\nexport interface DeletionExecutionTriggerResult {\n\tstatus: DeletionExecutionTriggerStatus;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionTriggerResultBuilder.html":{"url":"classes/DeletionExecutionTriggerResultBuilder.html","title":"class - DeletionExecutionTriggerResultBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionTriggerResultBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildFailure\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(status: DeletionExecutionTriggerStatus, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n DeletionExecutionTriggerStatus\n \n\n \n No\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFailure\n \n \n \n \n \n \n \n buildFailure(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/deletion-execution-trigger-result.builder.ts:14\n \n \n\n\n \n \n\n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionExecutionTriggerResult, DeletionExecutionTriggerStatus } from '../interface';\n\nexport class DeletionExecutionTriggerResultBuilder {\n\tprivate static build(status: DeletionExecutionTriggerStatus, error?: string): DeletionExecutionTriggerResult {\n\t\tconst output: DeletionExecutionTriggerResult = { status };\n\n\t\tif (error) {\n\t\t\toutput.error = error;\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.SUCCESS);\n\t}\n\n\tstatic buildFailure(err: Error): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.FAILURE, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionExecutionUc.html":{"url":"injectables/DeletionExecutionUc.html","title":"injectable - DeletionExecutionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionExecutionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/uc/deletion-execution.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/uc/deletion-execution.uc.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/uc/deletion-execution.uc.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { DeletionClient } from '../deletion-client';\n\n@Injectable()\nexport class DeletionExecutionUc {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync triggerDeletionExecution(limit?: number): Promise {\n\t\tawait this.deletionClient.executeDeletions(limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionExecutionsController.html":{"url":"controllers/DeletionExecutionsController.html","title":"controller - DeletionExecutionsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionExecutionsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-executions.controller.ts\n \n\n \n Prefix\n \n \n deletionExecutions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(deletionExecutionQuery: DeletionExecutionParams)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(204)@ApiOperation({summary: 'Execute the deletion process'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-executions.controller.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionExecutionQuery\n \n DeletionExecutionParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Controller, HttpCode, Post, Query, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionExecutionParams } from './dto';\n\n@ApiTags('DeletionExecutions')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionExecutions')\nexport class DeletionExecutionsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Execute the deletion process',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync executeDeletions(@Query() deletionExecutionQuery: DeletionExecutionParams) {\n\t\treturn this.deletionRequestUc.executeDeletionRequests(deletionExecutionQuery.limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLog.html":{"url":"classes/DeletionLog.html","title":"class - DeletionLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n domain\n \n \n operation\n \n \n modifiedCount\n \n \n deletedCount\n \n \n deletionRequestId\n \n \n performedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:17\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:21\n \n \n\n \n \n \n \n \n \n \n domain\n \n \n\n \n \n getdomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:25\n \n \n\n \n \n \n \n \n \n \n operation\n \n \n\n \n \n getoperation()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:29\n \n \n\n \n \n \n \n \n \n \n modifiedCount\n \n \n\n \n \n getmodifiedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:33\n \n \n\n \n \n \n \n \n \n \n deletedCount\n \n \n\n \n \n getdeletedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:37\n \n \n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n\n \n \n getdeletionRequestId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:41\n \n \n\n \n \n \n \n \n \n \n performedAt\n \n \n\n \n \n getperformedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:45\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionLogEntity.html":{"url":"entities/DeletionLogEntity.html","title":"entity - DeletionLogEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionLogEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n Optional\n deletionRequestId\n \n \n \n domain\n \n \n \n Optional\n modifiedCount\n \n \n \n Optional\n operation\n \n \n \n \n Optional\n performedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletionRequestId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n modifiedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n operation\n \n \n \n \n \n \n Type : DeletionOperationModel\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n performedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogEntityProps.html":{"url":"interfaces/DeletionLogEntityProps.html","title":"interface - DeletionLogEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogMapper.html":{"url":"classes/DeletionLogMapper.html","title":"class - DeletionLogMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionLogEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionLogEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: DeletionLogEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n DeletionLogEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: DeletionLog[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DeletionLog[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionLogEntity } from '../../entity/deletion-log.entity';\nimport { DeletionLog } from '../../domain/deletion-log.do';\n\nexport class DeletionLogMapper {\n\tstatic mapToDO(entity: DeletionLogEntity): DeletionLog {\n\t\treturn new DeletionLog({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\tdomain: entity.domain,\n\t\t\toperation: entity.operation,\n\t\t\tmodifiedCount: entity.modifiedCount,\n\t\t\tdeletedCount: entity.deletedCount,\n\t\t\tdeletionRequestId: entity.deletionRequestId?.toHexString(),\n\t\t\tperformedAt: entity.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionLog): DeletionLogEntity {\n\t\treturn new DeletionLogEntity({\n\t\t\tid: domainObject.id,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tdomain: domainObject.domain,\n\t\t\toperation: domainObject.operation,\n\t\t\tmodifiedCount: domainObject.modifiedCount,\n\t\t\tdeletedCount: domainObject.deletedCount,\n\t\t\tdeletionRequestId: new ObjectId(domainObject.deletionRequestId),\n\t\t\tperformedAt: domainObject.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: DeletionLogEntity[]): DeletionLog[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: DeletionLog[]): DeletionLogEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogProps.html":{"url":"interfaces/DeletionLogProps.html","title":"interface - DeletionLogProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogRepo.html":{"url":"injectables/DeletionLogRepo.html","title":"injectable - DeletionLogRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-log.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findAllByDeletionRequestId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionLog: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLog\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByDeletionRequestId\n \n \n \n \n \n \n \n findAllByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionLogId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionLogEntity } from '../entity/deletion-log.entity';\nimport { DeletionLogMapper } from './mapper/deletion-log.mapper';\n\n@Injectable()\nexport class DeletionLogRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionLogEntity;\n\t}\n\n\tasync findById(deletionLogId: EntityId): Promise {\n\t\tconst deletionLog: DeletionLogEntity = await this.em.findOneOrFail(DeletionLogEntity, {\n\t\t\tid: deletionLogId,\n\t\t});\n\n\t\tconst mapped: DeletionLog = DeletionLogMapper.mapToDO(deletionLog);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogEntities: DeletionLogEntity[] = await this.em.find(DeletionLogEntity, {\n\t\t\tdeletionRequestId: new ObjectId(deletionRequestId),\n\t\t});\n\n\t\tconst mapped: DeletionLog[] = DeletionLogMapper.mapToDOs(deletionLogEntities);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionLog: DeletionLog): Promise {\n\t\tconst deletionLogEntity: DeletionLogEntity = DeletionLogMapper.mapToEntity(deletionLog);\n\t\tthis.em.persist(deletionLogEntity);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogService.html":{"url":"injectables/DeletionLogService.html","title":"injectable - DeletionLogService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-log.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n Async\n findByDeletionRequestId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionLogRepo: DeletionLogRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogRepo\n \n \n DeletionLogRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n \n \n \n \n \n createDeletionLog(deletionRequestId: EntityId, domain: DeletionDomainModel, operation: DeletionOperationModel, modifiedCount: number, deletedCount: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n operation\n \n DeletionOperationModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n No\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDeletionRequestId\n \n \n \n \n \n \n \n findByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\nimport { DeletionLogRepo } from '../repo';\n\n@Injectable()\nexport class DeletionLogService {\n\tconstructor(private readonly deletionLogRepo: DeletionLogRepo) {}\n\n\tasync createDeletionLog(\n\t\tdeletionRequestId: EntityId,\n\t\tdomain: DeletionDomainModel,\n\t\toperation: DeletionOperationModel,\n\t\tmodifiedCount: number,\n\t\tdeletedCount: number\n\t): Promise {\n\t\tconst newDeletionLog = new DeletionLog({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tperformedAt: new Date(),\n\t\t\tdomain,\n\t\t\tdeletionRequestId,\n\t\t\toperation,\n\t\t\tmodifiedCount,\n\t\t\tdeletedCount,\n\t\t});\n\n\t\tawait this.deletionLogRepo.create(newDeletionLog);\n\t}\n\n\tasync findByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogs: DeletionLog[] = await this.deletionLogRepo.findAllByDeletionRequestId(deletionRequestId);\n\n\t\treturn deletionLogs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic.html":{"url":"interfaces/DeletionLogStatistic.html","title":"interface - DeletionLogStatistic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic-1.html":{"url":"interfaces/DeletionLogStatistic-1.html","title":"interface - DeletionLogStatistic-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogStatisticBuilder.html":{"url":"classes/DeletionLogStatisticBuilder.html","title":"class - DeletionLogStatisticBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogStatisticBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionLogStatistic\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionDomainModel } from '../domain/types';\nimport { DeletionLogStatistic } from '../interface';\n\nexport class DeletionLogStatisticBuilder {\n\tstatic build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number): DeletionLogStatistic {\n\t\tconst deletionLogStatistic = { domain, modifiedCount, deletedCount };\n\n\t\treturn deletionLogStatistic;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionModule.html":{"url":"modules/DeletionModule.html","title":"module - DeletionModule","body":"\n \n\n\n\n\n Modules\n DeletionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionModule\n\n\n\ncluster_DeletionModule_providers\n\n\n\ncluster_DeletionModule_exports\n\n\n\n\nDeletionLogService \n\nDeletionLogService \n\n\n\nDeletionRequestService \n\nDeletionRequestService \n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionLogService -->\n\nDeletionModule->DeletionLogService \n\n\n\nDeletionRequestService -->\n\nDeletionModule->DeletionRequestService \n\n\n\n\n\nDeletionLogRepo\n\nDeletionLogRepo\n\nDeletionModule -->\n\nDeletionLogRepo->DeletionModule\n\n\n\n\n\nDeletionLogService\n\nDeletionLogService\n\nDeletionModule -->\n\nDeletionLogService->DeletionModule\n\n\n\n\n\nDeletionRequestRepo\n\nDeletionRequestRepo\n\nDeletionModule -->\n\nDeletionRequestRepo->DeletionModule\n\n\n\n\n\nDeletionRequestService\n\nDeletionRequestService\n\nDeletionModule -->\n\nDeletionRequestService->DeletionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionLogRepo\n \n \n DeletionLogService\n \n \n DeletionRequestRepo\n \n \n DeletionRequestService\n \n \n \n \n Exports\n \n \n DeletionLogService\n \n \n DeletionRequestService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { DeletionRequestService } from './services/deletion-request.service';\nimport { DeletionRequestRepo } from './repo/deletion-request.repo';\nimport { XApiKeyConfig } from '../authentication/config/x-api-key.config';\nimport { DeletionLogService } from './services/deletion-log.service';\nimport { DeletionLogRepo } from './repo';\n\n@Module({\n\tproviders: [\n\t\tDeletionRequestRepo,\n\t\tDeletionLogRepo,\n\t\tConfigService,\n\t\tDeletionLogService,\n\t\tDeletionRequestService,\n\t],\n\texports: [DeletionRequestService, DeletionLogService],\n})\nexport class DeletionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionQueueConsole.html":{"url":"classes/DeletionQueueConsole.html","title":"class - DeletionQueueConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionQueueConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-queue.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, batchDeletionUc: BatchDeletionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion-console/deletion-queue.console.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n batchDeletionUc\n \n \n BatchDeletionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n \n \n \n pushDeletionRequests(options: PushDeletionRequestsOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'push', description: 'Push new deletion requests to the deletion queue.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-queue.console.ts: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 PushDeletionRequestsOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Console, Command } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\nimport { PushDeletionRequestsOptions } from './interface';\nimport { BatchDeletionUc } from './uc';\n\n@Console({ command: 'queue', description: 'Console providing an access to the deletion queue.' })\nexport class DeletionQueueConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private batchDeletionUc: BatchDeletionUc) {}\n\n\t@Command({\n\t\tcommand: 'push',\n\t\tdescription: 'Push new deletion requests to the deletion queue.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-rfp, --refsFilePath ',\n\t\t\t\tdescription: 'Path of the file containing all the references to the data that should be deleted.',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-trd, --targetRefDomain ',\n\t\t\t\tdescription: 'Name of the target ref domain.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-dim, --deleteInMinutes ',\n\t\t\t\tdescription: 'Number of minutes after which the data deletion process should begin.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-cdm, --callsDelayMs ',\n\t\t\t\tdescription: 'Delay between all the performed client calls, in milliseconds.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync pushDeletionRequests(options: PushDeletionRequestsOptions): Promise {\n\t\tconst summary = await this.batchDeletionUc.deleteRefsFromTxtFile(\n\t\t\toptions.refsFilePath,\n\t\t\toptions.targetRefDomain,\n\t\t\toptions.deleteInMinutes ? Number(options.deleteInMinutes) : undefined,\n\t\t\toptions.callsDelayMs ? Number(options.callsDelayMs) : undefined\n\t\t);\n\n\t\tthis.consoleWriter.info(JSON.stringify(summary));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequest.html":{"url":"classes/DeletionRequest.html","title":"class - DeletionRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n targetRefDomain\n \n \n deleteAfter\n \n \n targetRefId\n \n \n status\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:15\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:19\n \n \n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n\n \n \n gettargetRefDomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:23\n \n \n\n \n \n \n \n \n \n \n deleteAfter\n \n \n\n \n \n getdeleteAfter()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:27\n \n \n\n \n \n \n \n \n \n \n targetRefId\n \n \n\n \n \n gettargetRefId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:31\n \n \n\n \n \n \n \n \n \n \n status\n \n \n\n \n \n getstatus()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:35\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyProps.html":{"url":"classes/DeletionRequestBodyProps.html","title":"class - DeletionRequestBodyProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : MINUTES_OF_30_DAYS\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\nimport { DeletionTargetRef } from '../../interface';\n\nconst MINUTES_OF_30_DAYS = 30 * 24 * 60;\nexport class DeletionRequestBodyProps {\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttargetRef!: DeletionTargetRef;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdeleteInMinutes?: number = MINUTES_OF_30_DAYS;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyPropsBuilder.html":{"url":"classes/DeletionRequestBodyPropsBuilder.html","title":"class - DeletionRequestBodyPropsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyPropsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestBodyProps\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionRequestBodyProps } from '../controller/dto';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport class DeletionRequestBodyPropsBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number): DeletionRequestBodyProps {\n\t\tconst deletionRequestItem = {\n\t\t\ttargetRef: { domain, id },\n\t\t\tdeleteInMinutes,\n\t\t};\n\n\t\treturn deletionRequestItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestCreateAnswer.html":{"url":"interfaces/DeletionRequestCreateAnswer.html","title":"interface - DeletionRequestCreateAnswer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestCreateAnswer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionRequestEntity.html":{"url":"entities/DeletionRequestEntity.html","title":"entity - DeletionRequestEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionRequestEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n status\n \n \n \n targetRefDomain\n \n \n \n targetRefId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : DeletionStatusModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestEntityProps.html":{"url":"interfaces/DeletionRequestEntityProps.html","title":"interface - DeletionRequestEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n Optional\n \n id\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestFactory.html":{"url":"classes/DeletionRequestFactory.html","title":"class - DeletionRequestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { DeletionRequest, DeletionRequestProps } from '../../deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../../types';\n\nclass DeletionRequestFactory extends DoBaseFactory {\n\twithUserIds(id: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\ttargetRefId: id,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const deletionRequestFactory = DeletionRequestFactory.define(DeletionRequest, () => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttargetRefDomain: DeletionDomainModel.USER,\n\t\tdeleteAfter: new Date(),\n\t\ttargetRefId: new ObjectId().toHexString(),\n\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestInput.html":{"url":"interfaces/DeletionRequestInput.html","title":"interface - DeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionRequestTargetRefInput\n\n \n \n\n\n \n \n Type : DeletionRequestTargetRefInput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionRequestTargetRefInput } from './deletion-request-target-ref-input.interface';\n\nexport interface DeletionRequestInput {\n\ttargetRef: DeletionRequestTargetRefInput;\n\tdeleteInMinutes?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestInputBuilder.html":{"url":"classes/DeletionRequestInputBuilder.html","title":"class - DeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-input.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestInput } from '../interface';\nimport { DeletionRequestTargetRefInputBuilder } from './deletion-request-target-ref-input.builder';\n\nexport class DeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number): DeletionRequestInput {\n\t\treturn {\n\t\t\ttargetRef: DeletionRequestTargetRefInputBuilder.build(targetRefDomain, targetRefId),\n\t\t\tdeleteInMinutes,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestLog.html":{"url":"interfaces/DeletionRequestLog.html","title":"interface - DeletionRequestLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n Optional\n \n statistics\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statistics\n \n \n \n \n \n \n \n \n statistics: DeletionLogStatistic[]\n\n \n \n\n\n \n \n Type : DeletionLogStatistic[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionTargetRef\n\n \n \n\n\n \n \n Type : DeletionTargetRef\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponse.html":{"url":"classes/DeletionRequestLogResponse.html","title":"class - DeletionRequestLogResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n Optional\n statistics\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestLogResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestLogResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n statistics\n \n \n \n \n \n \n Type : DeletionLogStatistic[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../../interface';\n\nexport class DeletionRequestLogResponse {\n\t@ApiProperty()\n\ttargetRef: DeletionTargetRef;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\t@ApiProperty()\n\t@IsOptional()\n\tstatistics?: DeletionLogStatistic[];\n\n\tconstructor(response: DeletionRequestLogResponse) {\n\t\tthis.targetRef = response.targetRef;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t\tthis.statistics = response.statistics;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponseBuilder.html":{"url":"classes/DeletionRequestLogResponseBuilder.html","title":"class - DeletionRequestLogResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRef: DeletionTargetRef, deletionPlannedAt: Date, statistics?: DeletionLogStatistic[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRef\n \n DeletionTargetRef\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n statistics\n \n DeletionLogStatistic[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestLogResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestLogResponse } from '../controller/dto';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../interface';\n\nexport class DeletionRequestLogResponseBuilder {\n\tstatic build(\n\t\ttargetRef: DeletionTargetRef,\n\t\tdeletionPlannedAt: Date,\n\t\tstatistics?: DeletionLogStatistic[]\n\t): DeletionRequestLogResponse {\n\t\tconst deletionRequestLog = { targetRef, deletionPlannedAt, statistics };\n\n\t\treturn deletionRequestLog;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestMapper.html":{"url":"classes/DeletionRequestMapper.html","title":"class - DeletionRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionRequestEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionRequestEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequest } from '../../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../../entity';\n\nexport class DeletionRequestMapper {\n\tstatic mapToDO(entity: DeletionRequestEntity): DeletionRequest {\n\t\treturn new DeletionRequest({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\ttargetRefDomain: entity.targetRefDomain,\n\t\t\tdeleteAfter: entity.deleteAfter,\n\t\t\ttargetRefId: entity.targetRefId,\n\t\t\tstatus: entity.status,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionRequest): DeletionRequestEntity {\n\t\treturn new DeletionRequestEntity({\n\t\t\tid: domainObject.id,\n\t\t\ttargetRefDomain: domainObject.targetRefDomain,\n\t\t\tdeleteAfter: domainObject.deleteAfter,\n\t\t\ttargetRefId: domainObject.targetRefId,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tstatus: domainObject.status,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestOutput.html":{"url":"interfaces/DeletionRequestOutput.html","title":"interface - DeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestOutput {\n\trequestId: string;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestOutputBuilder.html":{"url":"classes/DeletionRequestOutputBuilder.html","title":"class - DeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestOutput } from '../interface';\n\nexport class DeletionRequestOutputBuilder {\n\tstatic build(requestId: string, deletionPlannedAt: Date): DeletionRequestOutput {\n\t\treturn {\n\t\t\trequestId,\n\t\t\tdeletionPlannedAt,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps.html":{"url":"interfaces/DeletionRequestProps.html","title":"interface - DeletionRequestProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps-1.html":{"url":"interfaces/DeletionRequestProps-1.html","title":"interface - DeletionRequestProps-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestRepo.html":{"url":"injectables/DeletionRequestRepo.html","title":"injectable - DeletionRequestRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecution\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecution\n \n \n \n \n \n \n \n findAllItemsToExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionRequestScope } from './deletion-request-scope';\nimport { DeletionRequestMapper } from './mapper/deletion-request.mapper';\n\n@Injectable()\nexport class DeletionRequestRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionRequestEntity;\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tconst mapped: DeletionRequest = DeletionRequestMapper.mapToDO(deletionRequest);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tthis.em.persist(deletionRequestEntity);\n\t\tawait this.em.flush();\n\t}\n\n\tasync findAllItemsToExecution(limit?: number): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst scope = new DeletionRequestScope().byDeleteAfter(currentDate).byStatus();\n\t\tconst order = { createdAt: SortOrder.desc };\n\n\t\tconst [deletionRequestEntities] = await this.em.findAndCount(DeletionRequestEntity, scope.query, {\n\t\t\tlimit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst mapped: DeletionRequest[] = deletionRequestEntities.map((entity) => DeletionRequestMapper.mapToDO(entity));\n\n\t\treturn mapped;\n\t}\n\n\tasync update(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tconst referencedEntity = this.em.getReference(DeletionRequestEntity, deletionRequestEntity.id);\n\n\t\tawait this.em.persistAndFlush(referencedEntity);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.executed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.failed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tconst entity: DeletionRequestEntity | null = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestResponse.html":{"url":"classes/DeletionRequestResponse.html","title":"class - DeletionRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n requestId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class DeletionRequestResponse {\n\t@ApiProperty()\n\trequestId: string;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\tconstructor(response: DeletionRequestResponse) {\n\t\tthis.requestId = response.requestId;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestScope.html":{"url":"classes/DeletionRequestScope.html","title":"class - DeletionRequestScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byDeleteAfter\n \n \n byStatus\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byDeleteAfter\n \n \n \n \n \n \nbyDeleteAfter(currentDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byStatus\n \n \n \n \n \n \nbyStatus()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:12\n \n \n\n\n \n \n\n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionStatusModel } from '../domain/types';\n\nexport class DeletionRequestScope extends Scope {\n\tbyDeleteAfter(currentDate: Date): DeletionRequestScope {\n\t\tthis.addQuery({ deleteAfter: { $lt: currentDate } });\n\n\t\treturn this;\n\t}\n\n\tbyStatus(): DeletionRequestScope {\n\t\tthis.addQuery({ status: [DeletionStatusModel.REGISTERED, DeletionStatusModel.FAILED] });\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestService.html":{"url":"injectables/DeletionRequestService.html","title":"injectable - DeletionRequestService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-request.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecute\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionRequestRepo: DeletionRequestRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestRepo\n \n \n DeletionRequestRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n \n \n \n \n \n createDeletionRequest(targetRefId: EntityId, targetRefDomain: DeletionDomainModel, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n targetRefId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n DeletionDomainModel\n \n\n \n No\n \n\n \n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecute\n \n \n \n \n \n \n \n findAllItemsToExecute(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequestToUpdate: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestToUpdate\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\nimport { DeletionRequestRepo } from '../repo/deletion-request.repo';\n\n@Injectable()\nexport class DeletionRequestService {\n\tconstructor(private readonly deletionRequestRepo: DeletionRequestRepo) {}\n\n\tasync createDeletionRequest(\n\t\ttargetRefId: EntityId,\n\t\ttargetRefDomain: DeletionDomainModel,\n\t\tdeleteInMinutes = 43200\n\t): Promise {\n\t\tconst dateOfDeletion = new Date();\n\t\tdateOfDeletion.setMinutes(dateOfDeletion.getMinutes() + deleteInMinutes);\n\n\t\tconst newDeletionRequest = new DeletionRequest({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttargetRefDomain,\n\t\t\tdeleteAfter: dateOfDeletion,\n\t\t\ttargetRefId,\n\t\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\t});\n\n\t\tawait this.deletionRequestRepo.create(newDeletionRequest);\n\n\t\treturn { requestId: newDeletionRequest.id, deletionPlannedAt: newDeletionRequest.deleteAfter };\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequest = await this.deletionRequestRepo.findById(deletionRequestId);\n\n\t\treturn deletionRequest;\n\t}\n\n\tasync findAllItemsToExecute(limit?: number): Promise {\n\t\tconst itemsToDelete: DeletionRequest[] = await this.deletionRequestRepo.findAllItemsToExecution(limit);\n\n\t\treturn itemsToDelete;\n\t}\n\n\tasync update(deletionRequestToUpdate: DeletionRequest): Promise {\n\t\tawait this.deletionRequestRepo.update(deletionRequestToUpdate);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsExecuted(deletionRequestId);\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsFailed(deletionRequestId);\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tawait this.deletionRequestRepo.deleteById(deletionRequestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestTargetRefInput.html":{"url":"interfaces/DeletionRequestTargetRefInput.html","title":"interface - DeletionRequestTargetRefInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestTargetRefInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/interface/deletion-request-target-ref-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestTargetRefInput {\n\tdomain: string;\n\tid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestTargetRefInputBuilder.html":{"url":"classes/DeletionRequestTargetRefInputBuilder.html","title":"class - DeletionRequestTargetRefInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestTargetRefInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-target-ref-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: string, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/deletion-client/builder/deletion-request-target-ref-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n string\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestTargetRefInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestTargetRefInput } from '../interface';\n\nexport class DeletionRequestTargetRefInputBuilder {\n\tstatic build(domain: string, id: string): DeletionRequestTargetRefInput {\n\t\treturn { domain, id };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionRequestsController.html":{"url":"controllers/DeletionRequestsController.html","title":"controller - DeletionRequestsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionRequestsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-requests.controller.ts\n \n\n \n Prefix\n \n \n deletionRequests\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n \n cancelDeletionRequest(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':requestId')@HttpCode(204)@ApiOperation({summary: 'Canceling a deletion request'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n \n createDeletionRequests(deletionRequestBody: DeletionRequestBodyProps)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(202)@ApiOperation({summary: '\"Queueing\" a deletion request'})@ApiResponse({status: 202, type: DeletionRequestResponse, description: 'Returns identifier of the deletion request and when deletion is planned at'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestBody\n \n DeletionRequestBodyProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n \n \n \n getPerformedDeletionDetails(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':requestId')@HttpCode(200)@ApiOperation({summary: 'Retrieving details of performed or planned deletion'})@ApiResponse({status: 200, type: DeletionRequestLogResponse, description: 'Return details of performed or planned deletion'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, HttpCode, Param, Post, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionRequestLogResponse, DeletionRequestBodyProps, DeletionRequestResponse } from './dto';\n\n@ApiTags('DeletionRequests')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionRequests')\nexport class DeletionRequestsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(202)\n\t@ApiOperation({\n\t\tsummary: '\"Queueing\" a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 202,\n\t\ttype: DeletionRequestResponse,\n\t\tdescription: 'Returns identifier of the deletion request and when deletion is planned at',\n\t})\n\tasync createDeletionRequests(\n\t\t@Body() deletionRequestBody: DeletionRequestBodyProps\n\t): Promise {\n\t\treturn this.deletionRequestUc.createDeletionRequest(deletionRequestBody);\n\t}\n\n\t@Get(':requestId')\n\t@HttpCode(200)\n\t@ApiOperation({\n\t\tsummary: 'Retrieving details of performed or planned deletion',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeletionRequestLogResponse,\n\t\tdescription: 'Return details of performed or planned deletion',\n\t})\n\tasync getPerformedDeletionDetails(@Param('requestId') requestId: string): Promise {\n\t\treturn this.deletionRequestUc.findById(requestId);\n\t}\n\n\t@Delete(':requestId')\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Canceling a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync cancelDeletionRequest(@Param('requestId') requestId: string) {\n\t\treturn this.deletionRequestUc.deleteDeletionRequestById(requestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef.html":{"url":"interfaces/DeletionTargetRef.html","title":"interface - DeletionTargetRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef-1.html":{"url":"interfaces/DeletionTargetRef-1.html","title":"interface - DeletionTargetRef-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionTargetRefBuilder.html":{"url":"classes/DeletionTargetRefBuilder.html","title":"class - DeletionTargetRefBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionTargetRefBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionTargetRef\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\nimport { DeletionTargetRef } from '../interface';\n\nexport class DeletionTargetRefBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId): DeletionTargetRef {\n\t\tconst deletionTargetRef = { domain, id };\n\n\t\treturn deletionTargetRef;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceInfoResponse.html":{"url":"classes/DeprecatedVideoConferenceInfoResponse.html","title":"class - DeprecatedVideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n options\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:43\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n options\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceJoinResponse.html":{"url":"classes/DeprecatedVideoConferenceJoinResponse.html","title":"class - DeprecatedVideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n url\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DoBaseFactory.html":{"url":"classes/DoBaseFactory.html","title":"class - DoBaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DoBaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/do-base.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial } from 'fishery';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DoBaseFactory extends BaseFactory {\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity: T = this.build(params, options);\n\t\tObject.defineProperty(entity, 'id', { value: id ?? new ObjectId().toHexString(), writable: true });\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObject.html":{"url":"classes/DomainObject.html","title":"class - DomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: T)\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:18\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n\n \n \n getid()\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObjectFactory.html":{"url":"classes/DomainObjectFactory.html","title":"class - DomainObjectFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObjectFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/domain-object.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MethodNotAllowedException } from '@nestjs/common';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { BuildOptions, DeepPartial } from 'fishery';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DomainObjectFactory,\n\tU extends AuthorizableObject = T extends DomainObject ? X : never,\n\tI = any,\n\tC = U\n> extends BaseFactory {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tthrow new MethodNotAllowedException(\n\t\t\t'Domain Objects are always generated with an id. Use .build({ id: ... }) to set an id.'\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DownloadFileParams.html":{"url":"classes/DownloadFileParams.html","title":"class - DownloadFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DownloadFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingContentBody.html":{"url":"classes/DrawingContentBody.html","title":"class - DrawingContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:69\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElement.html":{"url":"classes/DrawingElement.html","title":"class - DrawingElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:5\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DrawingElementAdapterService.html":{"url":"injectables/DrawingElementAdapterService.html","title":"injectable - DrawingElementAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DrawingElementAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n \n \n \n deleteDrawingBinData(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { firstValueFrom } from 'rxjs';\nimport { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\n\n@Injectable()\nexport class DrawingElementAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly httpService: HttpService) {\n\t\tthis.logger.setContext(DrawingElementAdapterService.name);\n\t}\n\n\tasync deleteDrawingBinData(docName: string): Promise {\n\t\tawait firstValueFrom(\n\t\t\tthis.httpService.delete(`${Configuration.get('TLDRAW_URI') as string}/api/v3/tldraw-document/${docName}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContent.html":{"url":"classes/DrawingElementContent.html","title":"class - DrawingElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContentBody.html":{"url":"classes/DrawingElementContentBody.html","title":"class - DrawingElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:74\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DrawingElementNode.html":{"url":"entities/DrawingElementNode.html","title":"entity - DrawingElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n DrawingElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementNodeProps.html":{"url":"interfaces/DrawingElementNodeProps.html","title":"interface - DrawingElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementProps.html":{"url":"interfaces/DrawingElementProps.html","title":"interface - DrawingElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponse.html":{"url":"classes/DrawingElementResponse.html","title":"class - DrawingElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponseMapper.html":{"url":"classes/DrawingElementResponseMapper.html","title":"class - DrawingElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : DrawingElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:10\n \n \n\n\n \n \n\n \n Returns : DrawingElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { DrawingElementContent, DrawingElementResponse } from '../dto/element/drawing-element.response';\nimport { TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class DrawingElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: DrawingElementResponseMapper;\n\n\tpublic static getInstance(): DrawingElementResponseMapper {\n\t\tif (!DrawingElementResponseMapper.instance) {\n\t\t\tDrawingElementResponseMapper.instance = new DrawingElementResponseMapper();\n\t\t}\n\n\t\treturn DrawingElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: DrawingElement): DrawingElementResponse {\n\t\tconst result = new DrawingElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.DRAWING,\n\t\t\tcontent: new DrawingElementContent({ description: element.description }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: DrawingElement): boolean {\n\t\treturn element instanceof DrawingElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DtoCreator.html":{"url":"classes/DtoCreator.html","title":"class - DtoCreator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DtoCreator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorisationService\n \n \n board\n \n \n room\n \n \n roomsAuthorisationService\n \n \n user\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n Private\n createTaskStatus\n \n \n Private\n filterByPermission\n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n Private\n isTeacher\n \n \n manufacture\n \n \n Private\n mapColumnBoardElement\n \n \n Private\n mapLessonElement\n \n \n Private\n mapTaskElement\n \n \n Private\n mapToElementDTOs\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: literal type)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorisationService\n \n \n \n \n \n \n Type : AuthorizationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n board\n \n \n \n \n \n \n Type : Board\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n room\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n roomsAuthorisationService\n \n \n \n \n \n \n Type : RoomsAuthorisationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n \n \n \n \n \n buildDTOWithElements(elements: RoomBoardElementDTO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n RoomBoardElementDTO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createTaskStatus\n \n \n \n \n \n \n \n createTaskStatus(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterByPermission\n \n \n \n \n \n \n \n filterByPermission(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n \n \n \n \n \n isColumnBoardFeatureFlagActive()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:89\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isTeacher\n \n \n \n \n \n \n \n isTeacher()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:95\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n manufacture\n \n \n \n \n \n \nmanufacture()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:58\n \n \n\n\n \n \n\n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapColumnBoardElement\n \n \n \n \n \n \n \n mapColumnBoardElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapLessonElement\n \n \n \n \n \n \n \n mapLessonElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskElement\n \n \n \n \n \n \n \n mapTaskElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapToElementDTOs\n \n \n \n \n \n \n \n mapToElementDTOs(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DurationLoggingInterceptor.html":{"url":"injectables/DurationLoggingInterceptor.html","title":"injectable - DurationLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DurationLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor is logging the duration of a REST call.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n/**\n * This interceptor is logging the duration of a REST call.\n */\n@Injectable()\nexport class DurationLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {\n\t\tlogger.setContext(DurationLoggingInterceptor.name);\n\t}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.log('Before...');\n\t\tconst now = Date.now();\n\t\treturn next.handle().pipe(tap(() => this.logger.log(`After... ${Date.now() - now}ms`)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ElementContentBody.html":{"url":"classes/ElementContentBody.html","title":"class - ElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({enum: ContentElementType, description: 'the type of the updated element', enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ElementController.html":{"url":"controllers/ElementController.html","title":"controller - ElementController","body":"\n \n\n\n\n\n\n\n Controllers\n ElementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/element.controller.ts\n \n\n \n Prefix\n \n \n elements\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(urlParams: ContentElementUrlParams, bodyParams: CreateSubmissionItemBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new submission item having parent a submission container element.'})@ApiExtraModels(SubmissionItemResponse)@ApiResponse({status: 201, type: SubmissionItemResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: true, type: CreateSubmissionItemBodyParams})@Post(':contentElementId/submissions')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(urlParams: ContentElementUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':contentElementId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(urlParams: ContentElementUrlParams, bodyParams: MoveContentElementBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':contentElementId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveContentElementBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n \n \n \n updateElement(urlParams: ContentElementUrlParams, bodyParams: UpdateElementContentBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single content element.'})@ApiExtraModels(FileElementContentBody, RichTextElementContentBody, SubmissionContainerElementContentBody, ExternalToolElementContentBody, LinkElementContentBody, DrawingElementContentBody)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(201)@Patch(':contentElementId/content')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateElementContentBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport {\n\tAnyContentElementResponse,\n\tContentElementUrlParams,\n\tCreateSubmissionItemBodyParams,\n\tDrawingElementContentBody,\n\tDrawingElementResponse,\n\tExternalToolElementContentBody,\n\tExternalToolElementResponse,\n\tFileElementContentBody,\n\tFileElementResponse,\n\tLinkElementContentBody,\n\tLinkElementResponse,\n\tMoveContentElementBody,\n\tRichTextElementContentBody,\n\tRichTextElementResponse,\n\tSubmissionContainerElementContentBody,\n\tSubmissionContainerElementResponse,\n\tSubmissionItemResponse,\n\tUpdateElementContentBodyParams,\n} from './dto';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Element')\n@Authenticate('jwt')\n@Controller('elements')\nexport class ElementController {\n\tconstructor(private readonly cardUc: CardUc, private readonly elementUc: ElementUc) {}\n\n\t@ApiOperation({ summary: 'Move a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':contentElementId/position')\n\tasync moveElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: MoveContentElementBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.moveElement(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.toCardId,\n\t\t\tbodyParams.toPosition\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Update a single content element.' })\n\t@ApiExtraModels(\n\t\tFileElementContentBody,\n\t\tRichTextElementContentBody,\n\t\tSubmissionContainerElementContentBody,\n\t\tExternalToolElementContentBody,\n\t\tLinkElementContentBody,\n\t\tDrawingElementContentBody\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(201)\n\t@Patch(':contentElementId/content')\n\tasync updateElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: UpdateElementContentBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst element = await this.elementUc.updateElementContent(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.data.content\n\t\t);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':contentElementId')\n\tasync deleteElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.elementUc.deleteElement(currentUser.userId, urlParams.contentElementId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new submission item having parent a submission container element.' })\n\t@ApiExtraModels(SubmissionItemResponse)\n\t@ApiResponse({ status: 201, type: SubmissionItemResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: true, type: CreateSubmissionItemBodyParams })\n\t@Post(':contentElementId/submissions')\n\tasync createSubmissionItem(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: CreateSubmissionItemBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst submissionItem = await this.elementUc.createSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.completed\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapSubmissionItemToResponse(submissionItem);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ElementUc.html":{"url":"injectables/ElementUc.html","title":"injectable - ElementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ElementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/element.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n Async\n deleteElement\n \n \n Private\n Async\n getElementWithWritePermission\n \n \n Async\n updateElementContent\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(userId: EntityId, contentElementId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contentElementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getElementWithWritePermission\n \n \n \n \n \n \n \n getElementWithWritePermission(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElementContent\n \n \n \n \n \n \n \n updateElementContent(userId: EntityId, elementId: EntityId, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException, forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tSubmissionItem,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoAuthorizableService, ContentElementService } from '../service';\nimport { SubmissionItemService } from '../service/submission-item.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ElementUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly submissionItemService: SubmissionItemService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ElementUc.name);\n\t}\n\n\tasync updateElementContent(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\tcontent: AnyElementContentBody\n\t): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.update(element, content);\n\t\treturn element;\n\t}\n\n\tasync deleteElement(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.delete(element);\n\t}\n\n\tprivate async getElementWithWritePermission(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.elementService.findById(elementId);\n\n\t\tconst parent: AnyBoardDo = await this.elementService.findParentOfId(elementId);\n\n\t\tif (isSubmissionItem(parent)) {\n\t\t\tawait this.checkSubmissionItemWritePermission(userId, parent);\n\t\t} else {\n\t\t\tawait this.checkPermission(userId, element, Action.write);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync createSubmissionItem(\n\t\tuserId: EntityId,\n\t\tcontentElementId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(contentElementId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new UnprocessableEntityException('Cannot create submission-item for non submission-container-element');\n\t\t}\n\n\t\tif (!submissionContainerElement.children.every((child) => isSubmissionItem(child))) {\n\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t'Children of submission-container-element must be of type submission-item'\n\t\t\t);\n\t\t}\n\n\t\tconst userSubmissionExists = submissionContainerElement.children\n\t\t\t.filter(isSubmissionItem)\n\t\t\t.find((item) => item.userId === userId);\n\t\tif (userSubmissionExists) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\t'User is not allowed to have multiple submission-items per submission-container-element'\n\t\t\t);\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read, UserRoleEnum.STUDENT);\n\n\t\tconst submissionItem = await this.submissionItemService.create(userId, submissionContainerElement, { completed });\n\n\t\treturn submissionItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/EncryptionModule.html":{"url":"modules/EncryptionModule.html","title":"module - EncryptionModule","body":"\n \n\n\n\n\n Modules\n EncryptionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_EncryptionModule\n\n\n\ncluster_EncryptionModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nEncryptionModule -->\n\nLoggerModule->EncryptionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/encryption/encryption.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { DefaultEncryptionService, LdapEncryptionService } from './encryption.interface';\nimport { SymetricKeyEncryptionService } from './encryption.service';\n\nfunction encryptionProviderFactory(configService: ConfigService, logger: LegacyLogger, aesKey: string) {\n\tconst key = configService.get(aesKey);\n\treturn new SymetricKeyEncryptionService(logger, key);\n}\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: DefaultEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'AES_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t\t{\n\t\t\tprovide: LdapEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'LDAP_PASSWORD_ENCRYPTION_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t],\n\texports: [DefaultEncryptionService, LdapEncryptionService],\n})\nexport class EncryptionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EncryptionService.html":{"url":"interfaces/EncryptionService.html","title":"interface - EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n encrypt\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n \n \ndecrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n encrypt\n \n \n \n \n \n \nencrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export const DefaultEncryptionService = Symbol('DefaultEncryptionService');\nexport const LdapEncryptionService = Symbol('LdapEncryptionService');\n\nexport interface EncryptionService {\n\tencrypt(data: string): string;\n\tdecrypt(data: string): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/EntityNotFoundError.html":{"url":"classes/EntityNotFoundError.html","title":"class - EntityNotFoundError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n EntityNotFoundError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/entity-not-found.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(entityName: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/entity-not-found.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class EntityNotFoundError extends BusinessError {\n\tconstructor(readonly entityName: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'ENTITY_NOT_FOUND',\n\t\t\t\ttitle: 'Entity Not Found',\n\t\t\t\tdefaultMessage: `${entityName} entity not found.`,\n\t\t\t},\n\t\t\tHttpStatus.NOT_FOUND,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EntityWithSchool.html":{"url":"interfaces/EntityWithSchool.html","title":"interface - EntityWithSchool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EntityWithSchool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorLoggable.html":{"url":"classes/ErrorLoggable.html","title":"class - ErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/error.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n getLogMessage\n \n \n Private\n getPropertyValue\n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: Error)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n Error\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n \n \n Default value : getMetadataStorage()\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n \n \n \n \n \n createLogMessageForValidationErrors(error: ApiValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n ApiValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { validationErrors: any; type: string; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getPropertyValue\n \n \n \n \n \n \n \n getPropertyValue(e: ValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n ValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n \n \n \n isPropertyPrivacyProtected(target: Record, property: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n Record\n \n\n \n No\n \n\n\n \n \n property\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ApiValidationError } from '@shared/common';\nimport { getMetadataStorage } from 'class-validator';\nimport { ValidationError } from '@nestjs/common';\nimport { Loggable } from '../../logger/interfaces';\nimport { ErrorLogMessage, ValidationErrorLogMessage } from '../../logger/types';\nimport { ErrorUtils } from '../utils/error.utils';\n\nexport class ErrorLoggable implements Loggable {\n\tconstructor(private readonly error: Error) {}\n\n\tprivate readonly classValidatorMetadataStorage = getMetadataStorage();\n\n\tgetLogMessage(): ErrorLogMessage | ValidationErrorLogMessage {\n\t\tlet logMessage: ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\terror: this.error,\n\t\t\ttype: '',\n\t\t};\n\n\t\tif (this.error instanceof ApiValidationError) {\n\t\t\tlogMessage = this.createLogMessageForValidationErrors(this.error);\n\t\t} else if (ErrorUtils.isFeathersError(this.error)) {\n\t\t\tlogMessage.type = 'Feathers Error';\n\t\t} else if (ErrorUtils.isBusinessError(this.error)) {\n\t\t\tlogMessage.type = 'Business Error';\n\t\t} else if (ErrorUtils.isNestHttpException(this.error)) {\n\t\t\tlogMessage.type = 'Technical Error';\n\t\t} else {\n\t\t\tlogMessage.type = 'Unhandled or Unknown Error';\n\t\t}\n\n\t\treturn logMessage;\n\t}\n\n\tprivate createLogMessageForValidationErrors(error: ApiValidationError) {\n\t\tconst errorMessages = error.validationErrors.map((e) => {\n\t\t\tconst value = this.getPropertyValue(e);\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\tconst message = `Wrong property value for '${e.property}' got '${value}' : ${JSON.stringify(e.constraints)}`;\n\t\t\treturn message;\n\t\t});\n\t\treturn {\n\t\t\tvalidationErrors: errorMessages,\n\t\t\ttype: 'API Validation Error',\n\t\t};\n\t}\n\n\tprivate getPropertyValue(e: ValidationError): unknown {\n\t\t// we can only log a value if we can decide if it is privacy protected\n\t\t// that has to be done using the target metadata of class-validator (see @PrivacyProtect decorator)\n\t\tif (e.target && !this.isPropertyPrivacyProtected(e.target, e.property)) {\n\t\t\treturn e.value;\n\t\t}\n\t\treturn '######';\n\t}\n\n\tprivate isPropertyPrivacyProtected(target: Record, property: string): boolean {\n\t\tconst metadatas = this.classValidatorMetadataStorage.getTargetValidationMetadatas(\n\t\t\ttarget.constructor,\n\t\t\t'',\n\t\t\ttrue,\n\t\t\ttrue\n\t\t);\n\n\t\tconst privacyProtected = metadatas.some(\n\t\t\t(validationMetadata) =>\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\tvalidationMetadata.propertyName === property && validationMetadata.context?.privacyProtected\n\t\t);\n\n\t\treturn privacyProtected;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ErrorLogger.html":{"url":"injectables/ErrorLogger.html","title":"injectable - ErrorLogger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ErrorLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/error-logger.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n alert\n \n \n crit\n \n \n emerg\n \n \n error\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/error-logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n alert\n \n \n \n \n \n \nalert(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n crit\n \n \n \n \n \n \ncrit(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n emerg\n \n \n \n \n \n \nemerg(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n// ErrorLogger may only be used in the ErrorModule. Do not use it in other modules!\n@Injectable()\nexport class ErrorLogger {\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\temerg(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.emerg(message);\n\t}\n\n\talert(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.alert(message);\n\t}\n\n\tcrit(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.crit(message);\n\t}\n\n\terror(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.error(message);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorMapper.html":{"url":"classes/ErrorMapper.html","title":"class - ErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n \n \n \n mapRpcErrorResponseToDomainError(errorObj: IError)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/error.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorObj\n \n IError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BadRequestException | ForbiddenException | InternalServerErrorException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError } from '@infra/rabbitmq';\nimport { BadRequestException, ForbiddenException, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\n\nexport class ErrorMapper {\n\tstatic mapRpcErrorResponseToDomainError(\n\t\terrorObj: IError\n\t): BadRequestException | ForbiddenException | InternalServerErrorException {\n\t\tlet error: BadRequestException | ForbiddenException | InternalServerErrorException;\n\t\tif (errorObj.status === 400) {\n\t\t\terror = new BadRequestException(errorObj.message);\n\t\t} else if (errorObj.status === 403) {\n\t\t\terror = new ForbiddenException(errorObj.message);\n\t\t} else if (errorObj.status === 500) {\n\t\t\terror = new InternalServerErrorException(errorObj.message);\n\t\t} else {\n\t\t\terror = new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(errorObj));\n\t\t}\n\n\t\treturn error;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ErrorModule.html":{"url":"modules/ErrorModule.html","title":"module - ErrorModule","body":"\n \n\n\n\n\n Modules\n ErrorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ErrorModule\n\n\n\ncluster_ErrorModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nErrorModule\n\nErrorModule\n\nErrorModule -->\n\nLoggerModule->ErrorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/error/error.module.ts\n \n\n\n\n \n Description\n \n \n Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_FILTER } from '@nestjs/core';\nimport { LoggerModule } from '../logger';\nimport { GlobalErrorFilter } from './filter/global-error.filter';\n\n/**\n * Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n */\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_FILTER,\n\t\t\tuseClass: GlobalErrorFilter,\n\t\t},\n\t],\n})\nexport class ErrorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorResponse.html":{"url":"classes/ErrorResponse.html","title":"class - ErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for errors.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(type: string, title: string, message: string, code: number, details?: Record)\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n code\n \n \n number\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:25\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:20\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:15\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:10\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\n\n/**\n * HTTP response definition for errors.\n */\nexport class ErrorResponse {\n\t/**\n\t * Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\t */\n\treadonly type: string;\n\n\t/**\n\t * Description about the type, unique by type, format: Sentence case\n\t */\n\treadonly title: string;\n\n\t/**\n\t * Additional custom information about the error\n\t */\n\treadonly message: string;\n\n\t/**\n\t * Must match HTTP error code\n\t */\n\treadonly code: number;\n\n\t/**\n\t * Additional custom details about the error\n\t */\n\treadonly details?: Record;\n\n\tconstructor(\n\t\ttype: string,\n\t\ttitle: string,\n\t\tmessage: string,\n\t\tcode: number = HttpStatus.CONFLICT,\n\t\tdetails?: Record\n\t) {\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = message;\n\t\tthis.code = code;\n\t\tthis.details = details;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ErrorType.html":{"url":"interfaces/ErrorType.html","title":"interface - ErrorType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ErrorType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/error-type.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n defaultMessage\n \n \n \n \n title\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n defaultMessage\n \n \n \n \n \n \n \n \n defaultMessage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ErrorType {\n\treadonly type: string;\n\treadonly title: string;\n\treadonly defaultMessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorUtils.html":{"url":"classes/ErrorUtils.html","title":"class - ErrorUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/utils/error.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n Static\n isBusinessError\n \n \n Static\n isFeathersError\n \n \n Static\n isNestHttpException\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n \n \n \n \n \n createHttpExceptionOptions(error, description?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : HttpExceptionOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isBusinessError\n \n \n \n \n \n \n \n isBusinessError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : BusinessError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isFeathersError\n \n \n \n \n \n \n \n isFeathersError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isNestHttpException\n \n \n \n \n \n \n \n isNestHttpException(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : HttpException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpExceptionOptions } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { FeathersError } from '../interface';\n\nexport class ErrorUtils {\n\tstatic isFeathersError(error: unknown): error is FeathersError {\n\t\tlet isFeathersError = false;\n\n\t\tif (error instanceof Error && 'type' in error) {\n\t\t\tisFeathersError = (error as FeathersError)?.type === 'FeathersError';\n\t\t}\n\n\t\treturn isFeathersError;\n\t}\n\n\tstatic isBusinessError(error: unknown): error is BusinessError {\n\t\treturn error instanceof BusinessError;\n\t}\n\n\tstatic isNestHttpException(error: unknown): error is HttpException {\n\t\treturn error instanceof HttpException;\n\t}\n\n\tstatic createHttpExceptionOptions(error: unknown, description?: string): HttpExceptionOptions {\n\t\tlet causeError: Error | undefined;\n\n\t\tif (error instanceof Error) {\n\t\t\tcauseError = error;\n\t\t} else {\n\t\t\tcauseError = error ? new Error(JSON.stringify(error)) : undefined;\n\t\t}\n\n\t\treturn { cause: causeError, description };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/EtherpadService.html":{"url":"injectables/EtherpadService.html","title":"injectable - EtherpadService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n EtherpadService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/etherpad.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n \n \n \n createEtherpad(userId: EntityId, courseId: string, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FeathersServiceProvider } from '@infra/feathers';\nimport { LegacyLogger } from '@src/core/logger';\n\nexport type PadResponse = { data: { padID: string } };\n\n@Injectable()\nexport class EtherpadService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createEtherpad(userId: EntityId, courseId: string, title: string): Promise {\n\t\tconst data = {\n\t\t\tcourseId,\n\t\t\tpadName: title,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/etherpad/pads');\n\t\t\tconst pad = (await service.create(data, { account: { userId } })) as PadResponse;\n\t\t\treturn pad.data.padID;\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Etherpad', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupDto.html":{"url":"classes/ExternalGroupDto.html","title":"class - ExternalGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n from\n \n \n name\n \n \n Optional\n otherUsers\n \n \n type\n \n \n Optional\n until\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n otherUsers\n \n \n \n \n \n \n Type : ExternalGroupUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : ExternalGroupUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { ExternalGroupUserDto } from './external-group-user.dto';\n\nexport class ExternalGroupDto {\n\texternalId: string;\n\n\tname: string;\n\n\tuser: ExternalGroupUserDto;\n\n\totherUsers?: ExternalGroupUserDto[];\n\n\tfrom?: Date;\n\n\tuntil?: Date;\n\n\ttype: GroupTypes;\n\n\tconstructor(props: ExternalGroupDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.user = props.user;\n\t\tthis.otherUsers = props.otherUsers;\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupUserDto.html":{"url":"classes/ExternalGroupUserDto.html","title":"class - ExternalGroupUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalUserId\n \n \n roleName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalGroupUserDto {\n\texternalUserId: string;\n\n\troleName: RoleName;\n\n\tconstructor(props: ExternalGroupUserDto) {\n\t\tthis.externalUserId = props.externalUserId;\n\t\tthis.roleName = props.roleName;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolDto.html":{"url":"classes/ExternalSchoolDto.html","title":"class - ExternalSchoolDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-school.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n location\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSchoolDto {\n\texternalId: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tlocation?: string;\n\n\tconstructor(props: ExternalSchoolDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolNumberMissingLoggableException.html":{"url":"classes/ExternalSchoolNumberMissingLoggableException.html","title":"class - ExternalSchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalSchoolId: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalSchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalSchoolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The external system did not provide a official school number for the school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalSchoolId: this.externalSchoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSource.html":{"url":"classes/ExternalSource.html","title":"class - ExternalSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/external-source.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSource)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSource\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSource {\n\texternalId: string;\n\n\tsystemId: string;\n\n\tconstructor(props: ExternalSource) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceEntity.html":{"url":"classes/ExternalSourceEntity.html","title":"class - ExternalSourceEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalSourceEntityProps.html":{"url":"interfaces/ExternalSourceEntityProps.html","title":"interface - ExternalSourceEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalSourceEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n system\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceResponse.html":{"url":"classes/ExternalSourceResponse.html","title":"class - ExternalSourceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/external-source.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalSourceResponse {\n\t@ApiProperty()\n\texternalId: string;\n\n\t@ApiProperty()\n\tsystemId: string;\n\n\tconstructor(props: ExternalSourceResponse) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalTool.html":{"url":"classes/ExternalTool.html","title":"class - ExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n isHidden\n \n \n Optional\n logo\n \n \n Optional\n logoUrl\n \n \n name\n \n \n openNewTab\n \n \n Optional\n parameters\n \n \n Optional\n restrictToContexts\n \n \n Optional\n url\n \n \n version\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n Static\n isBasicConfig\n \n \n Static\n isLti11Config\n \n \n Static\n isOauth2Config\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:51\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameter[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:76\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n isBasicConfig\n \n \n \n \n \n \n \n isBasicConfig(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isLti11Config\n \n \n \n \n \n \n \n isLti11Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isOauth2Config\n \n \n \n \n \n \n \n isOauth2Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tif (ExternalTool.isBasicConfig(props.config)) {\n\t\t\tthis.config = new BasicToolConfig(props.config);\n\t\t} else if (ExternalTool.isOauth2Config(props.config)) {\n\t\t\tthis.config = new Oauth2ToolConfig(props.config);\n\t\t} else if (ExternalTool.isLti11Config(props.config)) {\n\t\t\tthis.config = new Lti11ToolConfig(props.config);\n\t\t} else {\n\t\t\tthrow new InternalServerErrorException(`Unknown tool config`);\n\t\t}\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig {\n\t\treturn ToolConfigType.BASIC === config.type;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfig.html":{"url":"classes/ExternalToolConfig.html","title":"class - ExternalToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\n\nexport abstract class ExternalToolConfig {\n\ttype: ToolConfigType;\n\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfig) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigCreateParams.html":{"url":"classes/ExternalToolConfigCreateParams.html","title":"class - ExternalToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigCreateParams {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigEntity.html":{"url":"classes/ExternalToolConfigEntity.html","title":"class - ExternalToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ abstract: true, discriminatorColumn: 'type' })\nexport abstract class ExternalToolConfigEntity {\n\t@Enum()\n\ttype: ToolConfigType;\n\n\t@Property()\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfigEntity) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigResponse.html":{"url":"classes/ExternalToolConfigResponse.html","title":"class - ExternalToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigResponse {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationService.html":{"url":"injectables/ExternalToolConfigurationService.html","title":"injectable - ExternalToolConfigurationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n Public\n filterForAvailableTools\n \n \n Public\n filterForContextRestrictions\n \n \n Public\n filterParametersForScope\n \n \n Public\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n \n \n \n \n \n filterForAvailableExternalTools(externalTools: ExternalTool[], availableSchoolExternalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n availableSchoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n \n \n \n \n \n filterForAvailableSchoolExternalTools(schoolExternalTools: SchoolExternalTool[], contextExternalToolsInUse: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n contextExternalToolsInUse\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableTools\n \n \n \n \n \n \n \n filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n Page\n \n\n \n No\n \n\n\n \n \n toolIdsInUse\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForContextRestrictions\n \n \n \n \n \n \n \n filterForContextRestrictions(availableTools: ContextExternalToolTemplateInfo[], contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableTools\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterParametersForScope\n \n \n \n \n \n \n \n filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n scope\n \n CustomParameterScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:100\n \n \n\n\n \n \n\n \n Returns : ToolContextType[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameter } from '../../common/domain';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc/dto';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ExternalToolConfigurationService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[]): ExternalTool[] {\n\t\tconst visibleTools: ExternalTool[] = externalTools.data.filter((tool: ExternalTool): boolean => !tool.isHidden);\n\n\t\tconst availableTools: ExternalTool[] = visibleTools.filter(\n\t\t\t(tool: ExternalTool): boolean => !!tool.id && !toolIdsInUse.includes(tool.id)\n\t\t);\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForAvailableSchoolExternalTools(\n\t\tschoolExternalTools: SchoolExternalTool[],\n\t\tcontextExternalToolsInUse: ContextExternalTool[]\n\t): SchoolExternalTool[] {\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] = schoolExternalTools.filter(\n\t\t\t(schoolExternalTool: SchoolExternalTool): boolean => {\n\t\t\t\tif (this.toolFeatures.contextConfigurationEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasContextExternalTool: boolean = contextExternalToolsInUse.some(\n\t\t\t\t\t(contextExternalTool: ContextExternalTool) =>\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId === schoolExternalTool.id\n\t\t\t\t);\n\n\t\t\t\treturn !hasContextExternalTool;\n\t\t\t}\n\t\t);\n\n\t\treturn availableSchoolExternalTools;\n\t}\n\n\tpublic filterForAvailableExternalTools(\n\t\texternalTools: ExternalTool[],\n\t\tavailableSchoolExternalTools: SchoolExternalTool[]\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst toolsWithSchoolTool: (ContextExternalToolTemplateInfo | null)[] = availableSchoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool) => {\n\t\t\t\tconst externalTool: ExternalTool | undefined = externalTools.find(\n\t\t\t\t\t(tool: ExternalTool) => schoolExternalTool.toolId === tool.id\n\t\t\t\t);\n\n\t\t\t\tif (!externalTool) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\texternalTool,\n\t\t\t\t\tschoolExternalTool,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tconst unusedTools: ContextExternalToolTemplateInfo[] = toolsWithSchoolTool.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !!toolRef\n\t\t);\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] = unusedTools.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !toolRef.externalTool.isHidden\n\t\t);\n\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForContextRestrictions(\n\t\tavailableTools: ContextExternalToolTemplateInfo[],\n\t\tcontextType: ToolContextType\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst availableToolsForContext: ContextExternalToolTemplateInfo[] = availableTools.filter(\n\t\t\t(availableTool) => !this.commonToolService.isContextRestricted(availableTool.externalTool, contextType)\n\t\t);\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope) {\n\t\tif (externalTool.parameters) {\n\t\t\texternalTool.parameters = externalTool.parameters.filter(\n\t\t\t\t(parameter: CustomParameter) => parameter.scope === scope\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic getToolContextTypes(): ToolContextType[] {\n\t\tconst toolContextTypes: ToolContextType[] = Object.values(ToolContextType);\n\n\t\treturn toolContextTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationUc.html":{"url":"injectables/ExternalToolConfigurationUc.html","title":"injectable - ExternalToolConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper, externalToolConfigurationService: ExternalToolConfigurationService, externalToolLogoService: ExternalToolLogoService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n externalToolConfigurationService\n \n \n ExternalToolConfigurationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, tools: ContextExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:194\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(userId: EntityId, schoolId: EntityId, contextId: EntityId, contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n \n \n \n \n \n getTemplateForContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:153\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n \n \n \n \n \n getTemplateForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { User } from '@shared/domain/entity';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolConfigurationService, ExternalToolLogoService, ExternalToolService } from '../service';\nimport { ContextExternalToolTemplateInfo } from './dto';\n\n@Injectable()\nexport class ExternalToolConfigurationUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\t@Inject(forwardRef(() => ToolPermissionHelper))\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly externalToolConfigurationService: ExternalToolConfigurationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tpublic async getToolContextTypes(userId: EntityId): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.TOOL_ADMIN]);\n\n\t\tconst toolContextTypes: ToolContextType[] = this.externalToolConfigurationService.getToolContextTypes();\n\n\t\treturn toolContextTypes;\n\t}\n\n\tpublic async getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst externalTools: Page = await this.externalToolService.findExternalTools({});\n\n\t\tconst schoolExternalToolsInUse: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools(\n\t\t\t{\n\t\t\t\tschoolId,\n\t\t\t}\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.ensureSchoolPermissions(userId, schoolExternalToolsInUse, context);\n\n\t\tconst toolIdsInUse: EntityId[] = schoolExternalToolsInUse.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): EntityId => schoolExternalTool.toolId\n\t\t);\n\n\t\tconst availableTools: ExternalTool[] = this.externalToolConfigurationService.filterForAvailableTools(\n\t\t\texternalTools,\n\t\t\ttoolIdsInUse\n\t\t);\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\t\t});\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\texternalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\texternalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableTools;\n\t}\n\n\tpublic async getAvailableToolsForContext(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextId: EntityId,\n\t\tcontextType: ToolContextType\n\t): Promise {\n\t\tconst [externalTools, schoolExternalTools, contextExternalToolsInUse]: [\n\t\t\tPage,\n\t\t\tSchoolExternalTool[],\n\t\t\tContextExternalTool[]\n\t\t] = await Promise.all([\n\t\t\tthis.externalToolService.findExternalTools({}),\n\t\t\tthis.schoolExternalToolService.findSchoolExternalTools({\n\t\t\t\tschoolId,\n\t\t\t}),\n\t\t\tthis.contextExternalToolService.findContextExternalTools({\n\t\t\t\tcontext: { id: contextId, type: contextType },\n\t\t\t}),\n\t\t]);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.ensureContextPermissions(userId, contextExternalToolsInUse, context);\n\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableSchoolExternalTools(\n\t\t\t\tschoolExternalTools,\n\t\t\t\tcontextExternalToolsInUse\n\t\t\t);\n\n\t\tlet availableToolsForContext: ContextExternalToolTemplateInfo[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableExternalTools(\n\t\t\t\texternalTools.data,\n\t\t\t\tavailableSchoolExternalTools\n\t\t\t);\n\n\t\tavailableToolsForContext = this.externalToolConfigurationService.filterForContextRestrictions(\n\t\t\tavailableToolsForContext,\n\t\t\tcontextType\n\t\t);\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(\n\t\t\t\ttoolTemplateInfo.externalTool,\n\t\t\t\tCustomParameterScope.CONTEXT\n\t\t\t);\n\t\t});\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\ttoolTemplateInfo.externalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\ttoolTemplateInfo.externalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic async getTemplateForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\n\t\treturn externalTool;\n\t}\n\n\tpublic async getTemplateForContextExternalTool(\n\t\tuserId: EntityId,\n\t\tcontextExternalToolId: EntityId\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.CONTEXT);\n\n\t\treturn {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t};\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: ContextExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureContextPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolContentBody.html":{"url":"classes/ExternalToolContentBody.html","title":"class - ExternalToolContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:122\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolCreateParams.html":{"url":"classes/ExternalToolCreateParams.html","title":"class - ExternalToolCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigCreateParams,\n\tOauth2ToolConfigCreateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigCreateParams, Oauth2ToolConfigCreateParams, BasicToolConfigParams)\nexport class ExternalToolCreateParams {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigCreateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigCreateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigCreateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigCreateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElement.html":{"url":"classes/ExternalToolElement.html","title":"class - ExternalToolElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n\n \n \n getcontextExternalToolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:5\n \n \n\n \n \n setcontextExternalToolId(value: string | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContent.html":{"url":"classes/ExternalToolElementContent.html","title":"class - ExternalToolElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: String, required: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContentBody.html":{"url":"classes/ExternalToolElementContentBody.html","title":"class - ExternalToolElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:131\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:127\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolElementNodeEntity.html":{"url":"entities/ExternalToolElementNodeEntity.html","title":"entity - ExternalToolElementNodeEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolElementNodeEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n \n \n Type : ContextExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementNodeEntityProps.html":{"url":"interfaces/ExternalToolElementNodeEntityProps.html","title":"interface - ExternalToolElementNodeEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementNodeEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalTool\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalTool\n \n \n \n \n \n \n \n \n contextExternalTool: ContextExternalToolEntity\n\n \n \n\n\n \n \n Type : ContextExternalToolEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementProps.html":{"url":"interfaces/ExternalToolElementProps.html","title":"interface - ExternalToolElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalToolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n \n \n contextExternalToolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponse.html":{"url":"classes/ExternalToolElementResponse.html","title":"class - ExternalToolElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponseMapper.html":{"url":"classes/ExternalToolElementResponseMapper.html","title":"class - ExternalToolElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : ExternalToolElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : ExternalToolElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, ExternalToolElement } from '@shared/domain/domainobject';\nimport { ExternalToolElementContent, ExternalToolElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class ExternalToolElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: ExternalToolElementResponseMapper;\n\n\tpublic static getInstance(): ExternalToolElementResponseMapper {\n\t\tif (!ExternalToolElementResponseMapper.instance) {\n\t\t\tExternalToolElementResponseMapper.instance = new ExternalToolElementResponseMapper();\n\t\t}\n\n\t\treturn ExternalToolElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: ExternalToolElement): ExternalToolElementResponse {\n\t\tconst result = new ExternalToolElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.EXTERNAL_TOOL,\n\t\t\tcontent: new ExternalToolElementContent({ contextExternalToolId: element.contextExternalToolId ?? null }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: ExternalToolElement): boolean {\n\t\treturn element instanceof ExternalToolElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolEntity.html":{"url":"entities/ExternalToolEntity.html","title":"entity - ExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n isHidden\n \n \n \n Optional\n logoBase64\n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n openNewTab\n \n \n \n Optional\n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoBase64\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Unique()@Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Property, Unique } from '@mikro-orm/core';\n\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntity } from './custom-parameter';\nimport { BasicToolConfigEntity, Lti11ToolConfigEntity, Oauth2ToolConfigEntity } from './config';\nimport { ToolContextType } from '../../common/enum';\n\nexport type IExternalToolProperties = Readonly>;\n\n@Entity({ tableName: 'external-tools' })\nexport class ExternalToolEntity extends BaseEntityWithTimestamps {\n\t@Unique()\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\tlogoUrl?: string;\n\n\t@Property({ nullable: true })\n\tlogoBase64?: string;\n\n\t@Embedded(() => [BasicToolConfigEntity, Oauth2ToolConfigEntity, Lti11ToolConfigEntity])\n\tconfig: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\n\t@Embedded(() => CustomParameterEntity, { array: true, nullable: true })\n\tparameters?: CustomParameterEntity[];\n\n\t@Property()\n\tisHidden: boolean;\n\n\t@Property()\n\topenNewTab: boolean;\n\n\t@Property()\n\tversion: number;\n\n\t@Property({ nullable: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: IExternalToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logoBase64 = props.logoBase64;\n\t\tthis.config = props.config;\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolEntityFactory.html":{"url":"classes/ExternalToolEntityFactory.html","title":"class - ExternalToolEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/external-tool-entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withBasicConfig\n \n \n withLti11Config\n \n \n withName\n \n \n withOauth2Config\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n withBasicConfig\n \n \n \n \n \n \nwithBasicConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tIExternalToolProperties,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class ExternalToolEntityFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBasicConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauth2Config(clientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Oauth2ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tclientId,\n\t\t\t\tskipConsent: false,\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Lti11ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tkey: 'key',\n\t\t\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\t\t\tresource_link_id: 'resource_link_id',\n\t\t\t\tsecret: 'secret',\n\t\t\t\tprivacy_permission: LtiPrivacyPermission.ANONYMOUS,\n\t\t\t\tlaunch_presentation_locale: 'de-DE',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogoBase64:\n\t\t\t\t'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const customParameterEntityFactory = BaseFactory.define(\n\tCustomParameterEntity,\n\t({ sequence }) => {\n\t\treturn {\n\t\t\tname: `name${sequence}`,\n\t\t\tdisplayName: `User Friendly Name ${sequence}`,\n\t\t\tdescription: 'This is a mock parameter.',\n\t\t\tdefault: 'default',\n\t\t\tlocation: CustomParameterLocation.PATH,\n\t\t\tscope: CustomParameterScope.SCHOOL,\n\t\t\ttype: CustomParameterType.STRING,\n\t\t\tisOptional: false,\n\t\t};\n\t}\n);\n\nexport const externalToolEntityFactory = ExternalToolEntityFactory.define(\n\tExternalToolEntity,\n\t({ sequence }): IExternalToolProperties => {\n\t\treturn {\n\t\t\tname: `external-tool-${sequence}`,\n\t\t\turl: '',\n\t\t\tlogoUrl: 'https://logourl.com',\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t\tparameters: [customParameterEntityFactory.build()],\n\t\t\tisHidden: false,\n\t\t\topenNewTab: true,\n\t\t\tversion: 1,\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolFactory.html":{"url":"classes/ExternalToolFactory.html","title":"class - ExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withCustomParameters\n \n \n withLti11Config\n \n \n withOauth2Config\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n withCustomParameters\n \n \n \n \n \n \nwithCustomParameters(number: number, customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n\n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolIdParams.html":{"url":"classes/ExternalToolIdParams.html","title":"class - ExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\texternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogo.html":{"url":"classes/ExternalToolLogo.html","title":"class - ExternalToolLogo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentType\n \n \n logo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolLogo: ExternalToolLogo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolLogo\n \n \n ExternalToolLogo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n Type : Buffer\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalToolLogo {\n\tlogo: Buffer;\n\n\tcontentType: string;\n\n\tconstructor(externalToolLogo: ExternalToolLogo) {\n\t\tthis.logo = externalToolLogo.logo;\n\t\tthis.contentType = externalToolLogo.contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchFailedLoggableException.html":{"url":"classes/ExternalToolLogoFetchFailedLoggableException.html","title":"class - ExternalToolLogoFetchFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string, httpStatus?: HttpStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n httpStatus\n \n \n HttpStatus\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { BusinessError } from '@shared/common';\n\nexport class ExternalToolLogoFetchFailedLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly logoUrl: string, private readonly httpStatus?: HttpStatus) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\t\ttitle: 'External tool logo fetch failed.',\n\t\t\t\tdefaultMessage: 'External tool logo could not been fetched.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\tmessage: 'External tool logo could not been fetched',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t\thttpStatus: this.httpStatus,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchedLoggable.html":{"url":"classes/ExternalToolLogoFetchedLoggable.html","title":"class - ExternalToolLogoFetchedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoFetchedLoggable implements Loggable {\n\tconstructor(private readonly logoUrl: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCHED',\n\t\t\tmessage: 'External tool logo was fetched',\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoNotFoundLoggableException.html":{"url":"classes/ExternalToolLogoNotFoundLoggableException.html","title":"class - ExternalToolLogoNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly externalToolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_NOT_FOUND',\n\t\t\tmessage: 'External tool logo not found',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoService.html":{"url":"classes/ExternalToolLogoService.html","title":"class - ExternalToolLogoService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildLogoUrl\n \n \n Private\n detectContentTypeOrThrow\n \n \n Private\n Async\n fetchBase64Logo\n \n \n Async\n fetchLogo\n \n \n Async\n getExternalToolBinaryLogo\n \n \n validateLogoSize\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, logger: Logger, httpService: HttpService, externalToolService: ExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildLogoUrl\n \n \n \n \n \n \nbuildLogoUrl(template: string, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n template\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n detectContentTypeOrThrow\n \n \n \n \n \n \n \n detectContentTypeOrThrow(imageBuffer: Buffer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n imageBuffer\n \n Buffer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n fetchBase64Logo\n \n \n \n \n \n \n \n fetchBase64Logo(logoUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n fetchLogo\n \n \n \n \n \n \n \n fetchLogo(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolBinaryLogo\n \n \n \n \n \n \n \n getExternalToolBinaryLogo(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validateLogoSize\n \n \n \n \n \n \nvalidateLogoSize(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { HttpException, Inject } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AxiosResponse } from 'axios';\nimport { lastValueFrom } from 'rxjs';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\nimport {\n\tExternalToolLogoFetchedLoggable,\n\tExternalToolLogoFetchFailedLoggableException,\n\tExternalToolLogoNotFoundLoggableException,\n\tExternalToolLogoSizeExceededLoggableException,\n\tExternalToolLogoWrongFileTypeLoggableException,\n} from '../loggable';\nimport { ExternalToolService } from './external-tool.service';\n\nconst contentTypeDetector: Record = {\n\tffd8ffe0: 'image/jpeg',\n\tffd8ffe1: 'image/jpeg',\n\t'89504e47': 'image/png',\n\t'47494638': 'image/gif',\n};\n\nexport class ExternalToolLogoService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly externalToolService: ExternalToolService\n\t) {}\n\n\tbuildLogoUrl(template: string, externalTool: ExternalTool): string | undefined {\n\t\tconst { logo, id } = externalTool;\n\t\tconst backendUrl = this.toolFeatures.backEndUrl;\n\n\t\tif (logo) {\n\t\t\tconst filledTemplate = template.replace(/\\{id\\}/g, id || '');\n\t\t\treturn `${backendUrl}${filledTemplate}`;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tvalidateLogoSize(externalTool: Partial): void {\n\t\tif (!externalTool.logo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buffer: Buffer = Buffer.from(externalTool.logo, 'base64');\n\n\t\tif (buffer.length > this.toolFeatures.maxExternalToolLogoSizeInBytes) {\n\t\t\tthrow new ExternalToolLogoSizeExceededLoggableException(\n\t\t\t\texternalTool.id,\n\t\t\t\tthis.toolFeatures.maxExternalToolLogoSizeInBytes\n\t\t\t);\n\t\t}\n\t}\n\n\tasync fetchLogo(externalTool: Partial): Promise {\n\t\tif (externalTool.logoUrl) {\n\t\t\tconst base64Logo: string = await this.fetchBase64Logo(externalTool.logoUrl);\n\n\t\t\tif (base64Logo) {\n\t\t\t\treturn base64Logo;\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate async fetchBase64Logo(logoUrl: string): Promise {\n\t\ttry {\n\t\t\tconst response: AxiosResponse = await lastValueFrom(\n\t\t\t\tthis.httpService.get(logoUrl, { responseType: 'arraybuffer' })\n\t\t\t);\n\t\t\tthis.logger.info(new ExternalToolLogoFetchedLoggable(logoUrl));\n\n\t\t\tconst buffer: Buffer = Buffer.from(response.data);\n\t\t\tthis.detectContentTypeOrThrow(buffer);\n\n\t\t\tconst logoBase64: string = buffer.toString('base64');\n\n\t\t\treturn logoBase64;\n\t\t} catch (error) {\n\t\t\tif (error instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t\t} else if (error instanceof HttpException) {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl, error.getStatus());\n\t\t\t} else {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync getExternalToolBinaryLogo(toolId: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\n\t\tif (!tool.logo) {\n\t\t\tthrow new ExternalToolLogoNotFoundLoggableException(toolId);\n\t\t}\n\n\t\tconst logoBinaryData: Buffer = Buffer.from(tool.logo, 'base64');\n\n\t\tconst externalToolLogo: ExternalToolLogo = new ExternalToolLogo({\n\t\t\tcontentType: this.detectContentTypeOrThrow(logoBinaryData),\n\t\t\tlogo: logoBinaryData,\n\t\t});\n\n\t\treturn externalToolLogo;\n\t}\n\n\tprivate detectContentTypeOrThrow(imageBuffer: Buffer): string {\n\t\tconst imageSignature: string = imageBuffer.toString('hex', 0, 4);\n\n\t\tconst contentType: string | ExternalToolLogoWrongFileTypeLoggableException =\n\t\t\tcontentTypeDetector[imageSignature] || new ExternalToolLogoWrongFileTypeLoggableException();\n\n\t\tif (contentType instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t}\n\n\t\treturn contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoSizeExceededLoggableException.html":{"url":"classes/ExternalToolLogoSizeExceededLoggableException.html","title":"class - ExternalToolLogoSizeExceededLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoSizeExceededLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string | undefined, maxExternalToolLogoSizeInBytes: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:20\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoSizeExceededLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalToolId: string | undefined,\n\t\tprivate readonly maxExternalToolLogoSizeInBytes: number\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\t\ttitle: 'External tool logo size exceeded.',\n\t\t\t\tdefaultMessage: 'External tool logo size exceeded.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\tmessage: 'External tool logo size exceeded',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t\tmaxExternalToolLogoSizeInBytes: this.maxExternalToolLogoSizeInBytes,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{"url":"classes/ExternalToolLogoWrongFileTypeLoggableException.html","title":"class - ExternalToolLogoWrongFileTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoWrongFileTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { HttpStatus } from '@nestjs/common';\n\nexport class ExternalToolLogoWrongFileTypeLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\t\ttitle: 'External tool logo wrong file type.',\n\t\t\t\tdefaultMessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\tmessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadata.html":{"url":"classes/ExternalToolMetadata.html","title":"class - ExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadata: ExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n \n ExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ExternalToolMetadata {\n\tschoolExternalToolCount: number;\n\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(externalToolMetadata: ExternalToolMetadata) {\n\t\tthis.schoolExternalToolCount = externalToolMetadata.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataMapper.html":{"url":"classes/ExternalToolMetadataMapper.html","title":"class - ExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n ExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { ExternalToolMetadataResponse } from '../controller/dto';\nimport { ExternalToolMetadata } from '../domain';\n\nexport class ExternalToolMetadataMapper {\n\tstatic mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata): ExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: ExternalToolMetadataResponse = new ExternalToolMetadataResponse({\n\t\t\tschoolExternalToolCount: externalToolMetadata.schoolExternalToolCount,\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\texternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataResponse.html":{"url":"classes/ExternalToolMetadataResponse.html","title":"class - ExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadataResponse\n \n \n ExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../../common/controller/dto';\n\nexport class ExternalToolMetadataResponse {\n\t@ApiProperty()\n\tschoolExternalToolCount: number;\n\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse) {\n\t\tthis.schoolExternalToolCount = externalToolMetadataResponse.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolMetadataService.html":{"url":"injectables/ExternalToolMetadataService.html","title":"injectable - ExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolToolRepo: SchoolExternalToolRepo, contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class ExternalToolMetadataService {\n\tconstructor(\n\t\tprivate readonly schoolToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextToolRepo: ContextExternalToolRepo\n\t) {}\n\n\tasync getMetadata(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolToolRepo.findByExternalToolId(toolId);\n\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\t\tif (schoolExternalTools.length >= 1) {\n\t\t\tawait Promise.all(\n\t\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tschoolExternalToolIds\n\t\t\t\t\t);\n\t\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tconst externalToolMetadata: ExternalToolMetadata = new ExternalToolMetadata({\n\t\t\tschoolExternalToolCount: schoolExternalTools.length,\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn externalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExternalToolModule.html":{"url":"modules/ExternalToolModule.html","title":"module - ExternalToolModule","body":"\n \n\n\n\n\n Modules\n ExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ExternalToolModule\n\n\n\ncluster_ExternalToolModule_imports\n\n\n\ncluster_ExternalToolModule_providers\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\nExternalToolMetadataService \n\nExternalToolMetadataService \n\nExternalToolMetadataService -->\n\nExternalToolModule->ExternalToolMetadataService \n\n\n\n\n\nExternalToolService \n\nExternalToolService \n\nExternalToolService -->\n\nExternalToolModule->ExternalToolService \n\n\n\n\n\nExternalToolValidationService \n\nExternalToolValidationService \n\nExternalToolValidationService -->\n\nExternalToolModule->ExternalToolValidationService \n\n\n\n\n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService -->\n\nExternalToolModule->ExternalToolVersionIncrementService \n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nExternalToolModule -->\n\nExternalToolConfigurationService->ExternalToolModule\n\n\n\n\n\nExternalToolMetadataService\n\nExternalToolMetadataService\n\nExternalToolModule -->\n\nExternalToolMetadataService->ExternalToolModule\n\n\n\n\n\nExternalToolParameterValidationService\n\nExternalToolParameterValidationService\n\nExternalToolModule -->\n\nExternalToolParameterValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolRepo\n\nExternalToolRepo\n\nExternalToolModule -->\n\nExternalToolRepo->ExternalToolModule\n\n\n\n\n\nExternalToolService\n\nExternalToolService\n\nExternalToolModule -->\n\nExternalToolService->ExternalToolModule\n\n\n\n\n\nExternalToolServiceMapper\n\nExternalToolServiceMapper\n\nExternalToolModule -->\n\nExternalToolServiceMapper->ExternalToolModule\n\n\n\n\n\nExternalToolValidationService\n\nExternalToolValidationService\n\nExternalToolModule -->\n\nExternalToolValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolVersionIncrementService\n\nExternalToolVersionIncrementService\n\nExternalToolModule -->\n\nExternalToolVersionIncrementService->ExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/external-tool/external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolParameterValidationService\n \n \n ExternalToolRepo\n \n \n ExternalToolService\n \n \n ExternalToolServiceMapper\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n EncryptionModule\n \n \n LoggerModule\n \n \n OauthProviderServiceModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolLogoService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolService\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { EncryptionModule } from '@infra/encryption';\nimport { ExternalToolRepo } from '@shared/repo';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ExternalToolMetadataMapper } from './mapper';\nimport { ToolContextMapper } from '../common/mapper/tool-context.mapper';\nimport {\n\tExternalToolConfigurationService,\n\tExternalToolLogoService,\n\tExternalToolParameterValidationService,\n\tExternalToolService,\n\tExternalToolServiceMapper,\n\tExternalToolValidationService,\n\tExternalToolVersionIncrementService,\n\tExternalToolMetadataService,\n} from './service';\nimport { CommonToolModule } from '../common';\n\n@Module({\n\timports: [CommonToolModule, ToolConfigModule, LoggerModule, OauthProviderServiceModule, EncryptionModule, HttpModule],\n\tproviders: [\n\t\tExternalToolService,\n\t\tExternalToolServiceMapper,\n\t\tExternalToolParameterValidationService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolRepo,\n\t\tExternalToolMetadataService,\n\t\tExternalToolMetadataMapper,\n\t\tToolContextMapper,\n\t],\n\texports: [\n\t\tExternalToolService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolMetadataService,\n\t],\n})\nexport class ExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolParameterValidationService.html":{"url":"injectables/ExternalToolParameterValidationService.html","title":"injectable - ExternalToolParameterValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolParameterValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n Private\n isAutoParameterGlobal\n \n \n Private\n isCustomParameterNameEmpty\n \n \n Private\n isDefaultValueOfValidRegex\n \n \n Private\n isDefaultValueOfValidType\n \n \n Private\n isGlobalParameterValid\n \n \n Private\n Async\n isNameUnique\n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n Private\n isRegexValid\n \n \n Async\n validateCommon\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n \n \n \n \n \n hasDuplicateAttributes(customParameter: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAutoParameterGlobal\n \n \n \n \n \n \n \n isAutoParameterGlobal(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isCustomParameterNameEmpty\n \n \n \n \n \n \n \n isCustomParameterNameEmpty(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidRegex\n \n \n \n \n \n \n \n isDefaultValueOfValidRegex(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidType\n \n \n \n \n \n \n \n isDefaultValueOfValidType(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGlobalParameterValid\n \n \n \n \n \n \n \n isGlobalParameterValid(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isNameUnique\n \n \n \n \n \n \n \n isNameUnique(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n \n \n \n \n \n isRegexCommentMandatoryAndFilled(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexValid\n \n \n \n \n \n \n \n isRegexValid(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCommon\n \n \n \n \n \n \n \n validateCommon(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CustomParameter } from '../../common/domain';\nimport { autoParameters, CustomParameterScope } from '../../common/enum';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolParameterValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validateCommon(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!(await this.isNameUnique(externalTool))) {\n\t\t\tthrow new ValidationError(`tool_name_duplicate: The tool name \"${externalTool.name || ''}\" is already used.`);\n\t\t}\n\n\t\tif (externalTool.parameters) {\n\t\t\tif (this.hasDuplicateAttributes(externalTool.parameters)) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_duplicate: The tool ${externalTool.name || ''} contains multiple of the same custom parameters.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\texternalTool.parameters.forEach((param: CustomParameter) => {\n\t\t\t\tif (this.isCustomParameterNameEmpty(param)) {\n\t\t\t\t\tthrow new ValidationError(`tool_param_name: A custom parameter is missing a name.`);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isGlobalParameterValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_required: The custom parameter \"${param.name}\" is a global parameter and requires a default value.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isAutoParameterGlobal(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_auto_requires_global: The custom parameter \"${param.name}\" with type \"${param.type}\" must have the scope \"global\", since it is automatically filled.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexCommentMandatoryAndFilled(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regexComment: The custom parameter \"${param.name}\" parameter is missing a regex comment.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regex_invalid: The custom Parameter \"${param.name}\" has an invalid regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidType(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_type_mismatch: The default value of the custom parameter \"${param.name}\" should be of type \"${param.type}\".`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidRegex(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_regex: The default value of a the custom parameter \"${param.name}\" does not match its regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate isCustomParameterNameEmpty(param: CustomParameter): boolean {\n\t\treturn !param.name || !param.displayName;\n\t}\n\n\tprivate async isNameUnique(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!externalTool.name) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst duplicate: ExternalTool | null = await this.externalToolService.findExternalToolByName(externalTool.name);\n\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n\n\tprivate hasDuplicateAttributes(customParameter: CustomParameter[]): boolean {\n\t\treturn customParameter.some((item, itemIndex) =>\n\t\t\tcustomParameter.some(\n\t\t\t\t(other, otherIndex) =>\n\t\t\t\t\titemIndex !== otherIndex && item.name.toLocaleLowerCase() === other.name.toLocaleLowerCase()\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate isRegexValid(param: CustomParameter): boolean {\n\t\tif (param.regex) {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew RegExp(param.regex);\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidRegex(param: CustomParameter): boolean {\n\t\tif (param.regex && param.default) {\n\t\t\tconst isValid: boolean = new RegExp(param.regex).test(param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidType(param: CustomParameter): boolean {\n\t\tif (param.default) {\n\t\t\tconst isValid: boolean = this.commonToolValidationService.isValueValidForType(param.type, param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isRegexCommentMandatoryAndFilled(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.regex && !customParameter.regexComment) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isGlobalParameterValid(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.scope !== CustomParameterScope.GLOBAL) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (autoParameters.includes(customParameter.type) || customParameter.default) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate isAutoParameterGlobal(customParameter: CustomParameter): boolean {\n\t\tif (!autoParameters.includes(customParameter.type)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst isGlobal: boolean = customParameter.scope === CustomParameterScope.GLOBAL;\n\n\t\treturn isGlobal;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolProps.html":{"url":"interfaces/ExternalToolProps.html","title":"interface - ExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n Optional\n \n id\n \n \n \n \n isHidden\n \n \n \n Optional\n \n logo\n \n \n \n Optional\n \n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n Optional\n \n parameters\n \n \n \n Optional\n \n restrictToContexts\n \n \n \n Optional\n \n url\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n config\n \n \n \n \n \n \n \n \n config: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n \n \n logo: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n \n openNewTab: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameter[]\n\n \n \n\n\n \n \n Type : CustomParameter[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n restrictToContexts\n \n \n \n \n \n \n \n \n restrictToContexts: ToolContextType[]\n\n \n \n\n\n \n \n Type : ToolContextType[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tif (ExternalTool.isBasicConfig(props.config)) {\n\t\t\tthis.config = new BasicToolConfig(props.config);\n\t\t} else if (ExternalTool.isOauth2Config(props.config)) {\n\t\t\tthis.config = new Oauth2ToolConfig(props.config);\n\t\t} else if (ExternalTool.isLti11Config(props.config)) {\n\t\t\tthis.config = new Lti11ToolConfig(props.config);\n\t\t} else {\n\t\t\tthrow new InternalServerErrorException(`Unknown tool config`);\n\t\t}\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig {\n\t\treturn ToolConfigType.BASIC === config.type;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolPseudonymEntity.html":{"url":"entities/ExternalToolPseudonymEntity.html","title":"entity - ExternalToolPseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolPseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolPseudonymEntityProps.html":{"url":"interfaces/ExternalToolPseudonymEntityProps.html","title":"interface - ExternalToolPseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolPseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolPseudonymRepo.html":{"url":"injectables/ExternalToolPseudonymRepo.html","title":"injectable - ExternalToolPseudonymRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolPseudonymRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolPseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: ExternalToolPseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolPseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Page, Pseudonym } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymEntity, ExternalToolPseudonymEntityProps } from '../entity';\nimport { PseudonymScope } from '../entity/pseudonym.scope';\n\n@Injectable()\nexport class ExternalToolPseudonymRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity = await this.em.findOneOrFail(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity[] = await this.em.find(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: ExternalToolPseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(ExternalToolPseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: ExternalToolPseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: ExternalToolPseudonymEntity = new ExternalToolPseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tpseudonym,\n\t\t});\n\n\t\tif (!entities) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entities);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: ExternalToolPseudonymEntity): Pseudonym {\n\t\tconst pseudonym = new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\n\t\treturn pseudonym;\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): ExternalToolPseudonymEntityProps {\n\t\treturn {\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination ?? {};\n\t\tconst scope: Scope = new PseudonymScope()\n\t\t\t.byPseudonym(query.pseudonym)\n\t\t\t.byToolId(query.toolId)\n\t\t\t.byUserId(query.userId)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tconst [entities, total] = await this.em.findAndCount(ExternalToolPseudonymEntity, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t});\n\n\t\tconst entityDos: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\n\t\treturn page;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRepo.html":{"url":"injectables/ExternalToolRepo.html","title":"injectable - ExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n find\n \n \n Async\n findAllByConfigType\n \n \n Async\n findByName\n \n \n Async\n findByOAuth2ConfigClientId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByConfigType\n \n \n \n \n \n \n \n findAllByConfigType(type: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOAuth2ConfigClientId\n \n \n \n \n \n \n \n findByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:81\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, QueryOrderMap } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { ExternalToolSearchQuery } from '@modules/tool/common/interface';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination, SortOrder } from '@shared/domain/interface';\nimport { BaseDORepo, ExternalToolRepoMapper, ExternalToolSortingMapper, Scope } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolScope } from './external-tool.scope';\n\n@Injectable()\nexport class ExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ExternalToolEntity;\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { name });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync findAllByConfigType(type: ToolConfigType): Promise {\n\t\tconst entities: ExternalToolEntity[] = await this._em.find(this.entityName, { config: { type } });\n\t\tconst domainObjects: ExternalTool[] = entities.map((entity: ExternalToolEntity): ExternalTool => {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { config: { clientId } });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync find(query: ExternalToolSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = ExternalToolSortingMapper.mapDOSortOrderToQueryOrder(\n\t\t\toptions?.order || {}\n\t\t);\n\t\tconst scope: Scope = new ExternalToolScope()\n\t\t\t.byName(query.name)\n\t\t\t.byClientId(query.clientId)\n\t\t\t.byHidden(query.isHidden)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [entities, total]: [ExternalToolEntity[], number] = await this._em.findAndCount(\n\t\t\tExternalToolEntity,\n\t\t\tscope.query,\n\t\t\t{\n\t\t\t\toffset: pagination?.skip,\n\t\t\t\tlimit: pagination?.limit,\n\t\t\t\torderBy: order,\n\t\t\t}\n\t\t);\n\n\t\tconst entityDos: ExternalTool[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tmapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tconst domainObject = ExternalToolRepoMapper.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tmapDOToEntityProperties(entityDO: ExternalTool): EntityData {\n\t\tconst entity = ExternalToolRepoMapper.mapDOToEntityProperties(entityDO);\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolRepoMapper.html":{"url":"classes/ExternalToolRepoMapper.html","title":"class - ExternalToolRepoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolRepoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n Static\n mapBasicToolConfigToDO\n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n Static\n mapCustomParametersToDOs\n \n \n Static\n mapDOToEntityProperties\n \n \n Static\n mapEntityToDO\n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n Static\n mapLti11ToolConfigToDO\n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n \n \n \n \n \n mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapBasicToolConfigToDO\n \n \n \n \n \n \n \n mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterDOsToEntities(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n \n \n \n \n \n mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:174\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntryEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParametersToDOs\n \n \n \n \n \n \n \n mapCustomParametersToDOs(customParameters: CustomParameterEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:138\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameterEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigToDO\n \n \n \n \n \n \n \n mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n \n \n \n \n \n mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n \n \n \n mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { CustomParameter, CustomParameterEntry } from '@modules/tool/common/domain';\nimport { CustomParameterEntryEntity } from '@modules/tool/common/entity';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { EntityData } from '@mikro-orm/core';\n\n// TODO: maybe rename because of usage in external tool repo and school external tool repo\nexport class ExternalToolRepoMapper {\n\tstatic mapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tlet config: BasicToolConfig | Oauth2ToolConfig | Lti11ToolConfig;\n\t\tswitch (entity.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigToDO(entity.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigToDO(entity.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigToDO(entity.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn new ExternalTool({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tlogoUrl: entity.logoUrl,\n\t\t\tlogo: entity.logoBase64,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParametersToDOs(entity.parameters || []),\n\t\t\tisHidden: entity.isHidden,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tversion: entity.version,\n\t\t\trestrictToContexts: entity.restrictToContexts,\n\t\t});\n\t}\n\n\tstatic mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity): BasicToolConfig {\n\t\treturn new BasicToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity): Oauth2ToolConfig {\n\t\treturn new Oauth2ToolConfig({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity): Lti11ToolConfig {\n\t\treturn new Lti11ToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapDOToEntityProperties(entityDO: ExternalTool): EntityData {\n\t\tlet config: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\t\tswitch (entityDO.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigDOToEntity(entityDO.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigDOToEntity(entityDO.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigDOToEntity(entityDO.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tlogoUrl: entityDO.logoUrl,\n\t\t\tlogoBase64: entityDO.logo,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParameterDOsToEntities(entityDO.parameters ?? []),\n\t\t\tisHidden: entityDO.isHidden,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tversion: entityDO.version,\n\t\t\trestrictToContexts: entityDO.restrictToContexts,\n\t\t};\n\t}\n\n\tstatic mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig): BasicToolConfigEntity {\n\t\treturn new BasicToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig): Oauth2ToolConfigEntity {\n\t\treturn new Oauth2ToolConfigEntity({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig): Lti11ToolConfigEntity {\n\t\treturn new Lti11ToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapCustomParametersToDOs(customParameters: CustomParameterEntity[]): CustomParameter[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameterEntity) =>\n\t\t\t\tnew CustomParameter({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterDOsToEntities(customParameters: CustomParameter[]): CustomParameterEntity[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\tnew CustomParameterEntity({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[]): CustomParameterEntry[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntry({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[]): CustomParameterEntryEntity[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryEntity({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRequestMapper.html":{"url":"injectables/ExternalToolRequestMapper.html","title":"injectable - ExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n Private\n mapRequestToBasicToolConfig\n \n \n Private\n mapRequestToCustomParameterDO\n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n mapSortingQueryToDomain\n \n \n Public\n mapUpdateRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n \n \n \n \n \n mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolCreateParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n \n \n \n \nmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolSearchQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToBasicToolConfig\n \n \n \n \n \n \n \n mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n BasicToolConfigParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterPostParams[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigCreate(externalToolConfigParams: Lti11ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigUpdate(externalToolConfigParams: Lti11ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigCreate(externalToolConfigParams: Oauth2ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigUpdate(externalToolConfigParams: Oauth2ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSortingQueryToDomain\n \n \n \n \n \n \nmapSortingQueryToDomain(sortingQuery: SortExternalToolParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:160\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapUpdateRequest\n \n \n \n \n \n \n \n mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolUpdateParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolUpdate\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport {\n\tBasicToolConfigParams,\n\tCustomParameterPostParams,\n\tExternalToolCreateParams,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tLti11ToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigCreateParams,\n\tOauth2ToolConfigUpdateParams,\n\tSortExternalToolParams,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport {\n\tBasicToolConfigDto,\n\tCustomParameterDto,\n\tExternalToolCreate,\n\tExternalToolUpdate,\n\tLti11ToolConfigCreate,\n\tLti11ToolConfigUpdate,\n\tOauth2ToolConfigCreate,\n\tOauth2ToolConfigUpdate,\n} from '../uc';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScopeTypeParams.GLOBAL]: CustomParameterScope.GLOBAL,\n\t[CustomParameterScopeTypeParams.SCHOOL]: CustomParameterScope.SCHOOL,\n\t[CustomParameterScopeTypeParams.CONTEXT]: CustomParameterScope.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocationParams.PATH]: CustomParameterLocation.PATH,\n\t[CustomParameterLocationParams.QUERY]: CustomParameterLocation.QUERY,\n\t[CustomParameterLocationParams.BODY]: CustomParameterLocation.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterTypeParams.STRING]: CustomParameterType.STRING,\n\t[CustomParameterTypeParams.BOOLEAN]: CustomParameterType.BOOLEAN,\n\t[CustomParameterTypeParams.NUMBER]: CustomParameterType.NUMBER,\n\t[CustomParameterTypeParams.AUTO_CONTEXTID]: CustomParameterType.AUTO_CONTEXTID,\n\t[CustomParameterTypeParams.AUTO_CONTEXTNAME]: CustomParameterType.AUTO_CONTEXTNAME,\n\t[CustomParameterTypeParams.AUTO_SCHOOLID]: CustomParameterType.AUTO_SCHOOLID,\n\t[CustomParameterTypeParams.AUTO_SCHOOLNUMBER]: CustomParameterType.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolRequestMapper {\n\tpublic mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version = 1): ExternalToolUpdate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigUpdate | Oauth2ToolConfigUpdate;\n\t\tif (externalToolUpdateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolUpdateParams.config);\n\t\t} else if (externalToolUpdateParams.config instanceof Lti11ToolConfigUpdateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolUpdateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tid: externalToolUpdateParams.id,\n\t\t\tname: externalToolUpdateParams.name,\n\t\t\turl: externalToolUpdateParams.url,\n\t\t\tlogoUrl: externalToolUpdateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolUpdateParams.isHidden,\n\t\t\topenNewTab: externalToolUpdateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolUpdateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tpublic mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version = 1): ExternalToolCreate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigCreate | Oauth2ToolConfigCreate;\n\t\tif (externalToolCreateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolCreateParams.config);\n\t\t} else if (externalToolCreateParams.config instanceof Lti11ToolConfigCreateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigCreate(externalToolCreateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigCreate(externalToolCreateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolCreateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tname: externalToolCreateParams.name,\n\t\t\turl: externalToolCreateParams.url,\n\t\t\tlogoUrl: externalToolCreateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolCreateParams.isHidden,\n\t\t\topenNewTab: externalToolCreateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolCreateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tprivate mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams): BasicToolConfigDto {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigCreate(\n\t\texternalToolConfigParams: Lti11ToolConfigCreateParams\n\t): Lti11ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigUpdate(\n\t\texternalToolConfigParams: Lti11ToolConfigUpdateParams\n\t): Lti11ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigCreate(\n\t\texternalToolConfigParams: Oauth2ToolConfigCreateParams\n\t): Oauth2ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigUpdate(\n\t\texternalToolConfigParams: Oauth2ToolConfigUpdateParams\n\t): Oauth2ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[]): CustomParameterDto[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterPostParams) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tdisplayName: customParameterParam.displayName,\n\t\t\t\tdescription: customParameterParam.description,\n\t\t\t\tdefault: customParameterParam.defaultValue,\n\t\t\t\tregex: customParameterParam.regex,\n\t\t\t\tregexComment: customParameterParam.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterParam.scope],\n\t\t\t\tlocation: locationMapping[customParameterParam.location],\n\t\t\t\ttype: typeMapping[customParameterParam.type],\n\t\t\t\tisOptional: customParameterParam.isOptional,\n\t\t\t};\n\t\t});\n\t}\n\n\tmapSortingQueryToDomain(sortingQuery: SortExternalToolParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst result: SortOrderMap = {\n\t\t\t[sortBy]: sortingQuery.sortOrder,\n\t\t};\n\t\treturn result;\n\t}\n\n\tmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams): ExternalToolSearchQuery {\n\t\tconst searchQuery: ExternalToolSearchQuery = {\n\t\t\tname: params.name,\n\t\t\tclientId: params.clientId,\n\t\t};\n\n\t\treturn searchQuery;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolResponse.html":{"url":"classes/ExternalToolResponse.html","title":"class - ExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n id\n \n \n \n isHidden\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n openNewTab\n \n \n \n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { BasicToolConfigResponse, Oauth2ToolConfigResponse, Lti11ToolConfigResponse } from './config';\nimport { CustomParameterResponse } from './custom-parameter.response';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty()\n\tconfig: BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse;\n\n\t@ApiProperty()\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tisHidden: boolean;\n\n\t@ApiProperty()\n\topenNewTab: boolean;\n\n\t@ApiProperty()\n\tversion: number;\n\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(response: ExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.url = response.url;\n\t\tthis.logoUrl = response.logoUrl;\n\t\tthis.config = response.config;\n\t\tthis.parameters = response.parameters;\n\t\tthis.isHidden = response.isHidden;\n\t\tthis.openNewTab = response.openNewTab;\n\t\tthis.version = response.version;\n\t\tthis.restrictToContexts = response.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolResponseMapper.html":{"url":"injectables/ExternalToolResponseMapper.html","title":"injectable - ExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n Static\n mapCustomParameterToResponse\n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n \n \n \n \n \n mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterToResponse\n \n \n \n \n \n \n \n mapCustomParameterToResponse(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n \n \n \n mapToExternalToolResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameter } from '../../common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport {\n\tBasicToolConfigResponse,\n\tCustomParameterResponse,\n\tExternalToolResponse,\n\tLti11ToolConfigResponse,\n\tOauth2ToolConfigResponse,\n} from '../controller/dto';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '../domain';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScope.GLOBAL]: CustomParameterScopeTypeParams.GLOBAL,\n\t[CustomParameterScope.SCHOOL]: CustomParameterScopeTypeParams.SCHOOL,\n\t[CustomParameterScope.CONTEXT]: CustomParameterScopeTypeParams.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocation.PATH]: CustomParameterLocationParams.PATH,\n\t[CustomParameterLocation.QUERY]: CustomParameterLocationParams.QUERY,\n\t[CustomParameterLocation.BODY]: CustomParameterLocationParams.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterType.STRING]: CustomParameterTypeParams.STRING,\n\t[CustomParameterType.BOOLEAN]: CustomParameterTypeParams.BOOLEAN,\n\t[CustomParameterType.NUMBER]: CustomParameterTypeParams.NUMBER,\n\t[CustomParameterType.AUTO_CONTEXTID]: CustomParameterTypeParams.AUTO_CONTEXTID,\n\t[CustomParameterType.AUTO_CONTEXTNAME]: CustomParameterTypeParams.AUTO_CONTEXTNAME,\n\t[CustomParameterType.AUTO_SCHOOLID]: CustomParameterTypeParams.AUTO_SCHOOLID,\n\t[CustomParameterType.AUTO_SCHOOLNUMBER]: CustomParameterTypeParams.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolResponseMapper {\n\tstatic mapToExternalToolResponse(externalTool: ExternalTool): ExternalToolResponse {\n\t\tlet mappedConfig: BasicToolConfigResponse | Lti11ToolConfigResponse | Oauth2ToolConfigResponse;\n\t\tif (externalTool.config instanceof BasicToolConfig) {\n\t\t\tmappedConfig = this.mapBasicToolConfigDOToResponse(externalTool.config);\n\t\t} else if (externalTool.config instanceof Lti11ToolConfig) {\n\t\t\tmappedConfig = this.mapLti11ToolConfigDOToResponse(externalTool.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapOauth2ToolConfigDOToResponse(externalTool.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterResponse[] = this.mapCustomParameterToResponse(\n\t\t\texternalTool.parameters ?? []\n\t\t);\n\n\t\treturn new ExternalToolResponse({\n\t\t\tid: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\turl: externalTool.url,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalTool.isHidden,\n\t\t\topenNewTab: externalTool.openNewTab,\n\t\t\tversion: externalTool.version,\n\t\t\trestrictToContexts: externalTool.restrictToContexts,\n\t\t});\n\t}\n\n\tprivate static mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig): BasicToolConfigResponse {\n\t\treturn new BasicToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig): Lti11ToolConfigResponse {\n\t\treturn new Lti11ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig): Oauth2ToolConfigResponse {\n\t\treturn new Oauth2ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tstatic mapCustomParameterToResponse(customParameters: CustomParameter[]): CustomParameterResponse[] {\n\t\treturn customParameters.map((customParameterDO: CustomParameter) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterDO.name,\n\t\t\t\tdisplayName: customParameterDO.displayName,\n\t\t\t\tdescription: customParameterDO.description,\n\t\t\t\tdefaultValue: customParameterDO.default,\n\t\t\t\tregex: customParameterDO.regex,\n\t\t\t\tregexComment: customParameterDO.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterDO.scope],\n\t\t\t\tlocation: locationMapping[customParameterDO.location],\n\t\t\t\ttype: typeMapping[customParameterDO.type],\n\t\t\t\tisOptional: customParameterDO.isOptional,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolScope.html":{"url":"classes/ExternalToolScope.html","title":"class - ExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClientId\n \n \n byHidden\n \n \n byName\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClientId\n \n \n \n \n \n \nbyClientId(clientId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byName\n \n \n \n \n \n \nbyName(name: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo/scope';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\n\nexport class ExternalToolScope extends Scope {\n\tbyName(name: string | undefined): this {\n\t\tif (name) {\n\t\t\tthis.addQuery({ name: { $re: name } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClientId(clientId: string | undefined): this {\n\t\tif (clientId) {\n\t\t\tthis.addQuery({ config: { clientId } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean | undefined): this {\n\t\tif (isHidden !== undefined) {\n\t\t\tthis.addQuery({ isHidden });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchListResponse.html":{"url":"classes/ExternalToolSearchListResponse.html","title":"class - ExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ExternalToolResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolResponse } from './external-tool.response';\n\nexport class ExternalToolSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [ExternalToolResponse] })\n\tdata: ExternalToolResponse[];\n\n\tconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchParams.html":{"url":"classes/ExternalToolSearchParams.html","title":"class - ExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'OAuth2 client id of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Name of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ExternalToolSearchParams {\n\t@ApiPropertyOptional({ description: 'Name of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tname?: string;\n\n\t@ApiPropertyOptional({ description: 'OAuth2 client id of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tclientId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolSearchQuery.html":{"url":"interfaces/ExternalToolSearchQuery.html","title":"interface - ExternalToolSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/external-tool-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n clientId\n \n \n \n Optional\n \n isHidden\n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ExternalToolSearchQuery {\n\tname?: string;\n\n\tclientId?: string;\n\n\tisHidden?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolService.html":{"url":"injectables/ExternalToolService.html","title":"injectable - ExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Async\n findById\n \n \n findExternalToolByName\n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n Async\n findExternalTools\n \n \n Async\n updateExternalTool\n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolRepo: ExternalToolRepo, oauthProviderService: OauthProviderService, mapper: ExternalToolServiceMapper, schoolExternalToolRepo: SchoolExternalToolRepo, contextExternalToolRepo: ContextExternalToolRepo, encryptionService: EncryptionService, legacyLogger: LegacyLogger, externalToolVersionService: ExternalToolVersionIncrementService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolRepo\n \n \n ExternalToolRepo\n \n \n \n No\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n mapper\n \n \n ExternalToolServiceMapper\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n encryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n externalToolVersionService\n \n \n ExternalToolVersionIncrementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n \n \n \n \n \n addExternalOauth2DataToConfig(config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByName\n \n \n \n \n \n \nfindExternalToolByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n \n \n \n \nfindExternalToolByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTools\n \n \n \n \n \n \n \n findExternalTools(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n loadedTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n \n \n \n \n \n updateOauth2ToolConfig(toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n \n \n \n updateOauthClientOrThrow(loadedOauthClient: ProviderOauthClient, toUpdateOauthClient: ProviderOauthClient, toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdateOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, ExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TokenEndpointAuthMethod } from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool, Oauth2ToolConfig } from '../domain';\nimport { ExternalToolServiceMapper } from './external-tool-service.mapper';\nimport { ExternalToolVersionIncrementService } from './external-tool-version-increment.service';\n\n@Injectable()\nexport class ExternalToolService {\n\tconstructor(\n\t\tprivate readonly externalToolRepo: ExternalToolRepo,\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly mapper: ExternalToolServiceMapper,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\t@Inject(DefaultEncryptionService) private readonly encryptionService: EncryptionService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly externalToolVersionService: ExternalToolVersionIncrementService\n\t) {}\n\n\tasync createExternalTool(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isLti11Config(externalTool.config) && externalTool.config.secret) {\n\t\t\texternalTool.config.secret = this.encryptionService.encrypt(externalTool.config.secret);\n\t\t} else if (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tconst oauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\texternalTool.name,\n\t\t\t\texternalTool.config\n\t\t\t);\n\n\t\t\tawait this.oauthProviderService.createOAuth2Client(oauthClient);\n\t\t}\n\n\t\tconst created: ExternalTool = await this.externalToolRepo.save(externalTool);\n\t\treturn created;\n\t}\n\n\tasync updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool): Promise {\n\t\tawait this.updateOauth2ToolConfig(toUpdate);\n\t\tthis.externalToolVersionService.increaseVersionOfNewToolIfNecessary(loadedTool, toUpdate);\n\t\tconst externalTool: ExternalTool = await this.externalToolRepo.save(toUpdate);\n\t\treturn externalTool;\n\t}\n\n\tasync findExternalTools(\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst tools: Page = await this.externalToolRepo.find(query, options);\n\n\t\tconst resolvedTools: (ExternalTool | undefined)[] = await Promise.all(\n\t\t\ttools.data.map(async (tool: ExternalTool): Promise => {\n\t\t\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn tool;\n\t\t\t})\n\t\t);\n\n\t\ttools.data = resolvedTools.filter((tool) => tool !== undefined) as ExternalTool[];\n\n\t\treturn tools;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolRepo.findById(id);\n\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\ttry {\n\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t} catch (e) {\n\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t);\n\t\t\t\tthrow new UnprocessableEntityException(`Could not resolve oauth2Config of tool ${tool.name}.`);\n\t\t\t}\n\t\t}\n\t\treturn tool;\n\t}\n\n\tfindExternalToolByName(name: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByName(name);\n\t\treturn externalTool;\n\t}\n\n\tfindExternalToolByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByOAuth2ConfigClientId(clientId);\n\t\treturn externalTool;\n\t}\n\n\tasync deleteExternalTool(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.findByExternalToolId(toolId);\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolRepo.deleteBySchoolExternalToolIds(schoolExternalToolIds),\n\t\t\tthis.schoolExternalToolRepo.deleteByExternalToolId(toolId),\n\t\t\tthis.externalToolRepo.deleteById(toolId),\n\t\t]);\n\t}\n\n\tprivate async updateOauth2ToolConfig(toUpdate: ExternalTool) {\n\t\tif (ExternalTool.isOauth2Config(toUpdate.config)) {\n\t\t\tconst toUpdateOauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\ttoUpdate.name,\n\t\t\t\ttoUpdate.config\n\t\t\t);\n\t\t\tconst loadedOauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(\n\t\t\t\ttoUpdate.config.clientId\n\t\t\t);\n\t\t\tawait this.updateOauthClientOrThrow(loadedOauthClient, toUpdateOauthClient, toUpdate);\n\t\t}\n\t}\n\n\tprivate async updateOauthClientOrThrow(\n\t\tloadedOauthClient: ProviderOauthClient,\n\t\ttoUpdateOauthClient: ProviderOauthClient,\n\t\ttoUpdate: ExternalTool\n\t) {\n\t\tif (loadedOauthClient && loadedOauthClient.client_id) {\n\t\t\tawait this.oauthProviderService.updateOAuth2Client(loadedOauthClient.client_id, toUpdateOauthClient);\n\t\t} else {\n\t\t\tthrow new UnprocessableEntityException(`The oAuthConfigs clientId of tool ${toUpdate.name}\" does not exist`);\n\t\t}\n\t}\n\n\tprivate async addExternalOauth2DataToConfig(config: Oauth2ToolConfig) {\n\t\tconst oauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(config.clientId);\n\n\t\tconfig.scope = oauthClient.scope;\n\t\tconfig.tokenEndpointAuthMethod = oauthClient.token_endpoint_auth_method as TokenEndpointAuthMethod;\n\t\tconfig.redirectUris = oauthClient.redirect_uris;\n\t\tconfig.frontchannelLogoutUri = oauthClient.frontchannel_logout_uri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolServiceMapper.html":{"url":"injectables/ExternalToolServiceMapper.html","title":"injectable - ExternalToolServiceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolServiceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n \n \nmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProviderOauthClient\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Injectable } from '@nestjs/common';\nimport { Oauth2ToolConfig } from '../domain';\n\n@Injectable()\nexport class ExternalToolServiceMapper {\n\tmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig): ProviderOauthClient {\n\t\treturn {\n\t\t\tclient_name: name,\n\t\t\tclient_id: oauth2Config.clientId,\n\t\t\tclient_secret: oauth2Config.clientSecret,\n\t\t\tscope: oauth2Config.scope,\n\t\t\ttoken_endpoint_auth_method: oauth2Config.tokenEndpointAuthMethod,\n\t\t\tredirect_uris: oauth2Config.redirectUris,\n\t\t\tfrontchannel_logout_uri: oauth2Config.frontchannelLogoutUri,\n\t\t\tsubject_type: 'pairwise',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSortingMapper.html":{"url":"classes/ExternalToolSortingMapper.html","title":"class - ExternalToolSortingMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSortingMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n \n \n \n mapDOSortOrderToQueryOrder(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueryOrderMap } from '@mikro-orm/core';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\n\nexport class ExternalToolSortingMapper {\n\tstatic mapDOSortOrderToQueryOrder(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t\tname: sort.name,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolUc.html":{"url":"injectables/ExternalToolUc.html","title":"injectable - ExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Private\n Async\n ensurePermission\n \n \n Async\n findExternalTool\n \n \n Async\n getExternalTool\n \n \n Async\n getMetadataForExternalTool\n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, authorizationService: AuthorizationService, toolValidationService: ExternalToolValidationService, externalToolLogoService: ExternalToolLogoService, externalToolMetadataService: ExternalToolMetadataService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n toolValidationService\n \n \n ExternalToolValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n externalToolMetadataService\n \n \n ExternalToolMetadataService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalToolCreate\n \n ExternalToolCreate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensurePermission\n \n \n \n \n \n \n \n ensurePermission(userId: EntityId, permission: Permission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permission\n \n Permission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(userId: EntityId, query: ExternalToolSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForExternalTool\n \n \n \n \n \n \n \n getMetadataForExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalToolUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { IFindOptions, Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolConfig, ExternalToolMetadata } from '../domain';\nimport {\n\tExternalToolLogoService,\n\tExternalToolMetadataService,\n\tExternalToolService,\n\tExternalToolValidationService,\n} from '../service';\nimport { ExternalToolCreate, ExternalToolUpdate } from './dto';\n\n@Injectable()\nexport class ExternalToolUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly toolValidationService: ExternalToolValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly externalToolMetadataService: ExternalToolMetadataService\n\t) {}\n\n\tasync createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst externalTool = new ExternalTool({ ...externalToolCreate });\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateCreate(externalTool);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.createExternalTool(externalTool);\n\n\t\treturn tool;\n\t}\n\n\tasync updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateUpdate(toolId, externalTool);\n\n\t\tconst loaded: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tconst configToUpdate: ExternalToolConfig = { ...loaded.config, ...externalTool.config };\n\t\tconst toUpdate: ExternalTool = new ExternalTool({\n\t\t\t...loaded,\n\t\t\t...externalTool,\n\t\t\tconfig: configToUpdate,\n\t\t\tversion: loaded.version,\n\t\t});\n\n\t\tconst saved: ExternalTool = await this.externalToolService.updateExternalTool(toUpdate, loaded);\n\n\t\treturn saved;\n\t}\n\n\tasync findExternalTool(\n\t\tuserId: EntityId,\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions: IFindOptions\n\t): Promise> {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tools: Page = await this.externalToolService.findExternalTools(query, options);\n\t\treturn tools;\n\t}\n\n\tasync getExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\treturn tool;\n\t}\n\n\tasync deleteExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst promise: Promise = this.externalToolService.deleteExternalTool(toolId);\n\t\treturn promise;\n\t}\n\n\tasync getMetadataForExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\t// TODO N21-1496: Change External Tools to use authorizationService.checkPermission\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst metadata: ExternalToolMetadata = await this.externalToolMetadataService.getMetadata(toolId);\n\n\t\treturn metadata;\n\t}\n\n\tprivate async ensurePermission(userId: EntityId, permission: Permission) {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [permission]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolUpdateParams.html":{"url":"classes/ExternalToolUpdateParams.html","title":"class - ExternalToolUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n id\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigUpdateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigUpdateParams, Oauth2ToolConfigUpdateParams, BasicToolConfigParams)\nexport class ExternalToolUpdateParams {\n\t@IsString()\n\t@ApiProperty()\n\tid!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigUpdateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigUpdateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigUpdateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigUpdateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolValidationService.html":{"url":"injectables/ExternalToolValidationService.html","title":"injectable - ExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n Async\n validateCreate\n \n \n Private\n validateLti11Config\n \n \n Private\n Async\n validateOauth2Config\n \n \n Async\n validateUpdate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, externalToolParameterValidationService: ExternalToolParameterValidationService, externalToolLogoService: ExternalToolLogoService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n externalToolParameterValidationService\n \n \n ExternalToolParameterValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n \n \n \n \n \n isClientIdUnique(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCreate\n \n \n \n \n \n \n \n validateCreate(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateLti11Config\n \n \n \n \n \n \n \n validateLti11Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateOauth2Config\n \n \n \n \n \n \n \n validateOauth2Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateUpdate\n \n \n \n \n \n \n \n validateUpdate(toolId: string, externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogoService } from './external-tool-logo.service';\nimport { ExternalToolParameterValidationService } from './external-tool-parameter-validation.service';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly externalToolParameterValidationService: ExternalToolParameterValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\tasync validateCreate(externalTool: ExternalTool): Promise {\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tawait this.validateOauth2Config(externalTool);\n\n\t\tthis.validateLti11Config(externalTool);\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tasync validateUpdate(toolId: string, externalTool: Partial): Promise {\n\t\tif (toolId !== externalTool.id) {\n\t\t\tthrow new ValidationError(`tool_id_mismatch: The tool has no id or it does not match the path parameter.`);\n\t\t}\n\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tconst loadedTool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tif (\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config &&\n\t\t\texternalTool.config.type !== loadedTool.config.type\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_type_immutable: The Config Type of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\texternalTool.config &&\n\t\t\tExternalTool.isOauth2Config(externalTool.config) &&\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config.clientId !== loadedTool.config.clientId\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_clientId_immutable: The Client Id of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tprivate async validateOauth2Config(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.clientSecret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientSecret_missing: The Client Secret of the tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!(await this.isClientIdUnique(externalTool))) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientId_duplicate: The Client Id of the tool ${externalTool.name || ''} is already used.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate validateLti11Config(externalTool: ExternalTool): void {\n\t\tif (ExternalTool.isLti11Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.secret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_secret_missing: The secret of the LTI tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async isClientIdUnique(externalTool: ExternalTool): Promise {\n\t\tlet duplicate: ExternalTool | null = null;\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tduplicate = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(externalTool.config.clientId);\n\t\t}\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolVersionIncrementService.html":{"url":"injectables/ExternalToolVersionIncrementService.html","title":"injectable - ExternalToolVersionIncrementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolVersionIncrementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n compareParameters\n \n \n Private\n hasChangedParameterNames\n \n \n Private\n hasChangedParameterRegex\n \n \n Private\n hasChangedParameterScope\n \n \n Private\n hasChangedParameterTypes\n \n \n Private\n hasChangedRequiredParameters\n \n \n Private\n hasNewRequiredParameter\n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n compareParameters\n \n \n \n \n \n \n \n compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterNames\n \n \n \n \n \n \n \n hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterRegex\n \n \n \n \n \n \n \n hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterScope\n \n \n \n \n \n \n \n hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterTypes\n \n \n \n \n \n \n \n hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedRequiredParameters\n \n \n \n \n \n \n \n hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasNewRequiredParameter\n \n \n \n \n \n \n \n hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n \n \nincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n newTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../domain';\nimport { CustomParameter } from '../../common/domain';\n\n@Injectable()\nexport class ExternalToolVersionIncrementService {\n\tincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool): void {\n\t\tif (!oldTool.parameters || !newTool.parameters) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.compareParameters(oldTool.parameters, newTool.parameters)) {\n\t\t\tnewTool.version += 1;\n\t\t}\n\t}\n\n\tprivate compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst matchingParams: CustomParameter[] = oldParams.filter((oldParam) =>\n\t\t\tnewParams.some((newParam) => oldParam.name === newParam.name)\n\t\t);\n\n\t\tconst shouldIncrementVersion =\n\t\t\tthis.hasNewRequiredParameter(oldParams, newParams) ||\n\t\t\tthis.hasChangedRequiredParameters(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterNames(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterRegex(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterTypes(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterScope(newParams, matchingParams);\n\n\t\treturn shouldIncrementVersion;\n\t}\n\n\tprivate hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst increase = newParams.some(\n\t\t\t(newParam) => !newParam.isOptional && oldParams.every((oldParam) => oldParam.name !== newParam.name)\n\t\t);\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst nonOptionalParams = oldParams.filter((parameter) => !parameter.isOptional);\n\t\tconst nonOptionalParamNames = nonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst newNonOptionalParams = newParams.filter((parameter) => !parameter.isOptional);\n\t\tconst newNonOptionalParamNames = newNonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst increase =\n\t\t\tnonOptionalParamNames.some((name) => !newNonOptionalParamNames.includes(name)) ||\n\t\t\tnewNonOptionalParamNames.some((name) => !nonOptionalParamNames.includes(name));\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.isOptional !== newParam.isOptional;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.regex !== newParam.regex;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.type !== newParam.type;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.scope !== newParam.scope;\n\t\t});\n\t\treturn increase;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalUserDto.html":{"url":"classes/ExternalUserDto.html","title":"class - ExternalUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n email\n \n \n externalId\n \n \n Optional\n firstName\n \n \n Optional\n lastName\n \n \n Optional\n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : RoleName[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalUserDto {\n\texternalId: string;\n\n\tfirstName?: string;\n\n\tlastName?: string;\n\n\temail?: string;\n\n\troles?: RoleName[];\n\n\tbirthday?: Date;\n\n\tconstructor(props: ExternalUserDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.roles = props.roles;\n\t\tthis.birthday = props.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthProvider.html":{"url":"injectables/FeathersAuthProvider.html","title":"injectable - FeathersAuthProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n Async\n getPermittedTargets\n \n \n Private\n Async\n getUser\n \n \n Async\n getUserSchoolPermissions\n \n \n Async\n getUserTargetPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n \n \n \n \n \n getPermittedSchools(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getUser\n \n \n \n \n \n \n \n getUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserSchoolPermissions\n \n \n \n \n \n \n \n getUserSchoolPermissions(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserTargetPermissions\n \n \n \n \n \n \n \n getUserTargetPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\n\ninterface User {\n\t_id: ObjectId;\n\tschoolId: ObjectId;\n\tpermissions: string[];\n}\n\n@Injectable()\nexport class FeathersAuthProvider {\n\tconstructor(private feathersServiceProvider: FeathersServiceProvider) {}\n\n\tasync getUserSchoolPermissions(userId: EntityId, schoolId: EntityId): Promise | never {\n\t\tconst user = await this.getUser(userId);\n\t\t// test user is school member\n\t\tconst sameSchool = user.schoolId.toString() === schoolId;\n\t\tif (sameSchool && Array.isArray(user.permissions)) {\n\t\t\treturn user.permissions;\n\t\t}\n\t\treturn [];\n\t}\n\n\tasync getUserTargetPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`${targetModel}/:scopeId/userPermissions/`);\n\t\tconst targetPermissions = (await service.get(userId, {\n\t\t\troute: { scopeId: targetId },\n\t\t})) as string[];\n\t\treturn targetPermissions;\n\t}\n\n\tasync getPermittedTargets(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`/users/:scopeId/${targetModel}`);\n\t\tconst targets = (await service.find({\n\t\t\troute: { scopeId: userId.toString() },\n\t\t\tquery: {\n\t\t\t\tpermissions,\n\t\t\t},\n\t\t\tpaginate: false,\n\t\t})) as BaseEntity[];\n\t\tconst targetIds = targets.map((target) => target._id.toString());\n\t\treturn targetIds;\n\t}\n\n\tasync getPermittedSchools(userId: EntityId): Promise {\n\t\tconst user = await this.getUser(userId);\n\t\treturn [user.schoolId.toString()] as EntityId[];\n\t}\n\n\tprivate async getUser(userId: EntityId): Promise {\n\t\tconst service = this.feathersServiceProvider.getService('users');\n\t\tconst user = (await service.get(userId)) as User;\n\t\tif (user == null) throw new NotFoundException();\n\t\treturn user;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthorizationService.html":{"url":"injectables/FeathersAuthorizationService.html","title":"injectable - FeathersAuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n Async\n getEntityPermissions\n \n \n Async\n getPermittedEntities\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersAuthProvider: FeathersAuthProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersAuthProvider\n \n \n FeathersAuthProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n \n \n \n \n \n checkEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:32\n \n \n\n\n \n \n Ensure that a user has sufficient permissions for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getEntityPermissions\n \n \n \n \n \n \n \n getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:16\n \n \n\n\n \n \n Get all permissions a user has for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of entity permissions for the user\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedEntities\n \n \n \n \n \n \n \n getPermittedEntities(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:54\n \n \n\n\n \n \n Get all entities for which a user has specific permissions\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of ids of all entities that satisfy the provided permissions for the user\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\nimport { FeathersAuthProvider } from './feathers-auth.provider';\n\n@Injectable()\nexport class FeathersAuthorizationService {\n\tconstructor(private feathersAuthProvider: FeathersAuthProvider) {}\n\n\t/**\n\t * Get all permissions a user has for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @returns The list of entity permissions for the user\n\t */\n\tasync getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId): Promise {\n\t\tconst permissions =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getUserSchoolPermissions(userId, targetId)\n\t\t\t\t: await this.feathersAuthProvider.getUserTargetPermissions(userId, targetModel, targetId);\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * Ensure that a user has sufficient permissions for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @param permissions\n\t * @throws UnauthorizedException if the permissions are not satisfied\n\t */\n\tasync checkEntityPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tif (!Array.isArray(permissions) || permissions.length === 0)\n\t\t\tthrow new UnauthorizedException('missing at least one permission to be checked');\n\t\tconst entityPermissions = await this.getEntityPermissions(userId, targetModel, targetId);\n\t\tconst hasPermissions = permissions.every((p) => entityPermissions.includes(p));\n\t\tif (!hasPermissions) {\n\t\t\tthrow new UnauthorizedException('Insufficient permissions');\n\t\t}\n\t}\n\n\t/**\n\t * Get all entities for which a user has specific permissions\n\t * @param userId\n\t * @param targetModel\n\t * @param permissions\n\t * @returns The list of ids of all entities that satisfy the provided permissions for the user\n\t */\n\tasync getPermittedEntities(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst entitiyIds =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getPermittedSchools(userId)\n\t\t\t\t: await this.feathersAuthProvider.getPermittedTargets(userId, targetModel, permissions);\n\n\t\treturn entitiyIds;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersError.html":{"url":"interfaces/FeathersError.html","title":"interface - FeathersError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/feathers-error.interface.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n className\n \n \n \n \n code\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n className\n \n \n \n \n \n \n \n \n className: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n \n \n code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FeathersError extends Error {\n\tcode: number;\n\tclassName: string;\n\ttype: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FeathersModule.html":{"url":"modules/FeathersModule.html","title":"module - FeathersModule","body":"\n \n\n\n\n\n Modules\n FeathersModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FeathersModule\n\n\n\ncluster_FeathersModule_providers\n\n\n\ncluster_FeathersModule_exports\n\n\n\n\nFeathersServiceProvider \n\nFeathersServiceProvider \n\n\n\nFeathersModule\n\nFeathersModule\n\nFeathersServiceProvider -->\n\nFeathersModule->FeathersServiceProvider \n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nFeathersModule -->\n\nFeathersServiceProvider->FeathersModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/feathers/feathers.module.ts\n \n\n\n\n \n Description\n \n \n This Module gives access to legacy feathers services. It is request based injected.\nIntroduce strong typing immediately when using this modules service.\n\n \n\n\n \n \n \n Providers\n \n \n FeathersServiceProvider\n \n \n \n \n Exports\n \n \n FeathersServiceProvider\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FeathersServiceProvider } from './feathers-service.provider';\n\n/**\n * This Module gives access to legacy feathers services. It is request based injected.\n * Introduce strong typing immediately when using this modules service.\n */\n@Module({\n\tproviders: [FeathersServiceProvider],\n\texports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersRosterService.html":{"url":"injectables/FeathersRosterService.html","title":"injectable - FeathersRosterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersRosterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n \n Description\n \n \n Please do not use this service in any other nest modules.\nThis service will be called from feathers to get the roster data for ctl pseudonyms ExternalToolPseudonymEntity.\nThese data will be used e.g. by bettermarks to resolve and display the usernames.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n getAndPseudonyms\n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n Async\n getGroup\n \n \n Async\n getUserGroups\n \n \n Private\n getUserRole\n \n \n Async\n getUsersMetadata\n \n \n Private\n mapPseudonymToUserData\n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n Private\n Async\n validateContextExternalTools\n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, pseudonymService: PseudonymService, courseService: CourseService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n \n \n \n \n \n filterCoursesByToolAvailability(courses: Course[], externalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n externalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getAndPseudonyms\n \n \n \n \n \n \n \n getAndPseudonyms(users: UserDO[], externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n \n \n \n \n \n getCoursesFromUsersPseudonym(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:166\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getGroup\n \n \n \n \n \n \n \n getGroup(courseId: EntityId, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserGroups\n \n \n \n \n \n \n \n getUserGroups(pseudonym: string, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUserRole\n \n \n \n \n \n \n \n getUserRole(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUsersMetadata\n \n \n \n \n \n \n \n getUsersMetadata(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapPseudonymToUserData\n \n \n \n \n \n \n \n mapPseudonymToUserData(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:235\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n \n \n \n \n \n validateAndGetExternalTool(oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateContextExternalTools\n \n \n \n \n \n \n \n validateContextExternalTools(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:225\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n \n \n \n validateSchoolExternalTool(schoolId: EntityId, toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersService.html":{"url":"interfaces/FeathersService.html","title":"interface - FeathersService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n find\n \n \n \n \n get\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n \n \n \ncreate(data?: FeathersServiceParams, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n find\n \n \n \n \n \n \n Access legacy eathers service find method\n \n \n \n \nfind(params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \n Access legacy eathers service get method\n \n \n \n \nget(id: string, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersServiceProvider.html":{"url":"injectables/FeathersServiceProvider.html","title":"injectable - FeathersServiceProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersServiceProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n \n Description\n \n \n This Service gives access to legacy feathers services. It is request based injected.\nIMPORTANT: Introduce strong typing immediately when using this modules service.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(request: Request)\n \n \n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getService\n \n \n \n \n \n \ngetService(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FederalStateEntity.html":{"url":"entities/FederalStateEntity.html","title":"entity - FederalStateEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FederalStateEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n counties\n \n \n \n logoUrl\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n counties\n \n \n \n \n \n \n Type : County[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FederalStateProperties.html":{"url":"interfaces/FederalStateProperties.html","title":"interface - FederalStateProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FederalStateProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n \n counties\n \n \n \n \n createdAt\n \n \n \n \n logoUrl\n \n \n \n \n name\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n \n \n abbreviation: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n counties\n \n \n \n \n \n \n \n \n counties: County[]\n\n \n \n\n\n \n \n Type : County[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateRepo.html":{"url":"injectables/FederalStateRepo.html","title":"injectable - FederalStateRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/federalstate/federal-state.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findByName\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findByName\n \n \n \n \n \n \nfindByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class FederalStateRepo extends BaseRepo {\n\tget entityName(): EntityName {\n\t\treturn FederalStateEntity;\n\t}\n\n\tfindByName(name: string): Promise {\n\t\treturn this._em.findOneOrFail(FederalStateEntity, { name });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateService.html":{"url":"injectables/FederalStateService.html","title":"injectable - FederalStateService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/federal-state.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(federalStateRepo: FederalStateRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n federalStateRepo\n \n \n FederalStateRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n \n \n \n findFederalStateByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { FederalStateRepo } from '@shared/repo';\n\n@Injectable()\nexport class FederalStateService {\n\tconstructor(private readonly federalStateRepo: FederalStateRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync findFederalStateByName(name: string): Promise {\n\t\tconst federalState: FederalStateEntity = await this.federalStateRepo.findByName(name);\n\n\t\treturn federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/File.html":{"url":"interfaces/File.html","title":"interface - File","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n File\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileContentBody.html":{"url":"classes/FileContentBody.html","title":"class - FileContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDO.html":{"url":"interfaces/FileDO.html","title":"interface - FileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\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 Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheckStatus\n \n \n \n \n \n \n \n \n securityCheckStatus: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n\t'REMOVE_CREATORID_OF_FILES' = 'remove-creatorId-of-files',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId?: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDomainObjectProps.html":{"url":"interfaces/FileDomainObjectProps.html","title":"interface - FileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileDomainObjectProps {\n\tid: EntityId;\n\tname: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto.html":{"url":"classes/FileDto.html","title":"class - FileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/dto/file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: FileDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n FileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { Readable } from 'stream';\n\nexport class FileDto implements File {\n\tconstructor(file: FileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto-1.html":{"url":"classes/FileDto-1.html","title":"class - FileDto-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n parentId\n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\nimport { FileDomainObjectProps } from '../interfaces';\n\nexport class FileDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tparentType: FileRecordParentType;\n\n\tparentId: EntityId;\n\n\tconstructor(props: FileDomainObjectProps) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.parentType = props.parentType;\n\t\tthis.parentId = props.parentId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDtoBuilder.html":{"url":"classes/FileDtoBuilder.html","title":"class - FileDtoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDtoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-dto.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n Static\n buildFromAxiosResponse\n \n \n Static\n buildFromRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(name: string, data: Readable, mimeType: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n mimeType\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromAxiosResponse\n \n \n \n \n \n \n \n buildFromAxiosResponse(name: string, response: AxiosResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n response\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromRequest\n \n \n \n \n \n \n \n buildFromRequest(fileInfo: FileInfo, data: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileInfo\n \n FileInfo\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosResponse } from 'axios';\nimport { FileInfo } from 'busboy';\nimport { Readable } from 'stream';\nimport { FileDto } from '../dto/file.dto';\n\nexport class FileDtoBuilder {\n\tpublic static build(name: string, data: Readable, mimeType: string): FileDto {\n\t\tconst file = new FileDto({ name, data, mimeType });\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromRequest(fileInfo: FileInfo, data: Readable): FileDto {\n\t\tconst file = FileDtoBuilder.build(fileInfo.filename, data, fileInfo.mimeType);\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromAxiosResponse(name: string, response: AxiosResponse): FileDto {\n\t\tconst mimeType = response.headers['Content-Type']?.toString() || 'application/octet-stream';\n\t\tconst file = FileDtoBuilder.build(name, response.data, mimeType);\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElement.html":{"url":"classes/FileElement.html","title":"class - FileElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n alternativeText\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n\n \n \n getcaption()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:5\n \n \n\n \n \n setcaption(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n\n \n \n getalternativeText()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:13\n \n \n\n \n \n setalternativeText(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContent.html":{"url":"classes/FileElementContent.html","title":"class - FileElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContentBody.html":{"url":"classes/FileElementContentBody.html","title":"class - FileElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:29\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileElementNode.html":{"url":"entities/FileElementNode.html","title":"entity - FileElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n FileElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementNodeProps.html":{"url":"interfaces/FileElementNodeProps.html","title":"interface - FileElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementProps.html":{"url":"interfaces/FileElementProps.html","title":"interface - FileElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponse.html":{"url":"classes/FileElementResponse.html","title":"class - FileElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponseMapper.html":{"url":"classes/FileElementResponseMapper.html","title":"class - FileElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : FileElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : FileElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, FileElement } from '@shared/domain/domainobject';\nimport { FileElementContent, FileElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class FileElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: FileElementResponseMapper;\n\n\tpublic static getInstance(): FileElementResponseMapper {\n\t\tif (!FileElementResponseMapper.instance) {\n\t\t\tFileElementResponseMapper.instance = new FileElementResponseMapper();\n\t\t}\n\n\t\treturn FileElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: FileElement): FileElementResponse {\n\t\tconst result = new FileElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.FILE,\n\t\t\tcontent: new FileElementContent({ caption: element.caption, alternativeText: element.alternativeText }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: FileElement): boolean {\n\t\treturn element instanceof FileElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileEntity.html":{"url":"entities/FileEntity.html","title":"entity - FileEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FileEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n Optional\n _lockId\n \n \n \n \n _ownerId\n \n \n \n \n Optional\n _parentId\n \n \n \n Optional\n bucket\n \n \n \n deleted\n \n \n \n Optional\n deletedAt\n \n \n \n isDirectory\n \n \n \n name\n \n \n \n permissions\n \n \n \n refOwnerModel\n \n \n \n securityCheck\n \n \n \n \n shareTokens\n \n \n \n Optional\n size\n \n \n \n Optional\n storageFileName\n \n \n \n Optional\n storageProvider\n \n \n \n Optional\n thumbnail\n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n Optional\n type\n \n \n \n Optional\n versionKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _lockId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'lockId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:110\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _ownerId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'owner', nullable: false})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent', nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n bucket\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : FilePermissionEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n Type : FileOwnerModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileSecurityCheckEntity\n\n \n \n \n \n Default value : new FileSecurityCheckEntity({})\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageFileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageProvider\n \n \n \n \n \n \n Type : StorageProviderEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'storageProviderId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnail\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n versionKey\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: '__v', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:117\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileEntityProps.html":{"url":"interfaces/FileEntityProps.html","title":"interface - FileEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bucket\n \n \n \n Optional\n \n createdAt\n \n \n \n \n creatorId\n \n \n \n Optional\n \n deleted\n \n \n \n Optional\n \n deletedAt\n \n \n \n Optional\n \n isDirectory\n \n \n \n Optional\n \n lockId\n \n \n \n \n name\n \n \n \n \n ownerId\n \n \n \n Optional\n \n parentId\n \n \n \n \n permissions\n \n \n \n \n refOwnerModel\n \n \n \n Optional\n \n securityCheck\n \n \n \n Optional\n \n shareTokens\n \n \n \n Optional\n \n size\n \n \n \n Optional\n \n storageFileName\n \n \n \n Optional\n \n storageProvider\n \n \n \n Optional\n \n thumbnail\n \n \n \n Optional\n \n thumbnailRequestToken\n \n \n \n Optional\n \n type\n \n \n \n Optional\n \n updatedAt\n \n \n \n Optional\n \n versionKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n \n \n deleted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n \n \n isDirectory: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lockId\n \n \n \n \n \n \n \n \n lockId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownerId\n \n \n \n \n \n \n \n \n ownerId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: FilePermissionEntity[]\n\n \n \n\n\n \n \n Type : FilePermissionEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n \n \n refOwnerModel: FileOwnerModel\n\n \n \n\n\n \n \n Type : FileOwnerModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n \n \n securityCheck: FileSecurityCheckEntity\n\n \n \n\n\n \n \n Type : FileSecurityCheckEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n \n \n shareTokens: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageFileName\n \n \n \n \n \n \n \n \n storageFileName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageProvider\n \n \n \n \n \n \n \n \n storageProvider: StorageProviderEntity\n\n \n \n\n\n \n \n Type : StorageProviderEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnailRequestToken\n \n \n \n \n \n \n \n \n thumbnailRequestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n versionKey\n \n \n \n \n \n \n \n \n versionKey: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileMetadata.html":{"url":"classes/FileMetadata.html","title":"class - FileMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IFileStats\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n birthtime\n \n \n name\n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, birthtime: Date, size: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n birthtime\n \n \n Date\n \n \n \n No\n \n \n \n \n size\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParamBuilder.html":{"url":"classes/FileParamBuilder.html","title":"class - FileParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(schoolId: EntityId, parent: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parent\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { EntitiesWithFiles, FileRequestInfo } from '../interfaces';\nimport { FilesStorageClientMapper } from './files-storage-client.mapper';\n\nexport class FileParamBuilder {\n\tstatic build(schoolId: EntityId, parent: EntitiesWithFiles): FileRequestInfo {\n\t\tconst parentType = FilesStorageClientMapper.mapEntityToParentType(parent);\n\t\tconst fileRequestInfo = {\n\t\t\tparentType,\n\t\t\tschoolId,\n\t\t\tparentId: parent.id,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParams.html":{"url":"classes/FileParams.html","title":"class - FileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n file\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', format: 'binary'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilePermissionEntity.html":{"url":"classes/FilePermissionEntity.html","title":"class - FilePermissionEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilePermissionEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n create\n \n \n \n delete\n \n \n \n read\n \n \n \n refId\n \n \n \n refPermModel\n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FilePermissionEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FilePermissionEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n Type : FilePermissionReferenceModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilePermissionEntityProps.html":{"url":"interfaces/FilePermissionEntityProps.html","title":"interface - FilePermissionEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilePermissionEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n create\n \n \n \n Optional\n \n delete\n \n \n \n Optional\n \n read\n \n \n \n \n refId\n \n \n \n \n refPermModel\n \n \n \n Optional\n \n write\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n create: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n \n \n delete: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n \n \n read: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n \n \n refId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n \n \n refPermModel: FilePermissionReferenceModel\n\n \n \n\n\n \n \n Type : FilePermissionReferenceModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n \n \n write: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileRecord.html":{"url":"entities/FileRecord.html","title":"entity - FileRecord","body":"\n \n\n\n\n\n\n\n\n Entities\n FileRecord\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n \n Description\n \n \n Note: The file record entity will not manage any entity relations by itself.\nThat's why we do not map any relations in the entity class\nand instead just use the plain object ids.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\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 Optional\n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:132\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _isCopyFrom\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'isCopyFrom', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:150\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:125\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:143\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:111\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileRecordSecurityCheck\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:117\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:108\n \n \n\n\n \n \n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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"},"classes/FileRecordFactory.html":{"url":"classes/FileRecordFactory.html","title":"class - FileRecordFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/filerecord.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n markedForDelete\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n markedForDelete\n \n \n \n \n \n \nmarkedForDelete()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/filerecord.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { FileRecord, FileRecordProperties, FileRecordSecurityCheck } from '@modules/files-storage/entity';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass FileRecordFactory extends BaseFactory {\n\tmarkedForDelete(): this {\n\t\tconst params: DeepPartial = { deletedSince: yesterday };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const fileRecordFactory = FileRecordFactory.define(FileRecord, ({ sequence }) => {\n\treturn {\n\t\tsize: Math.round(Math.random() * 100000),\n\t\tname: `file-record #${sequence}`,\n\t\tmimeType: 'application/octet-stream',\n\t\tsecurityCheck: new FileRecordSecurityCheck({}),\n\t\tparentType: FileRecordParentType.Course,\n\t\tparentId: new ObjectId().toHexString(),\n\t\tcreatorId: new ObjectId().toHexString(),\n\t\tschoolId: new ObjectId().toHexString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordListResponse.html":{"url":"classes/FileRecordListResponse.html","title":"class - FileRecordListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n FileRecordResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileRecordResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:63\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId?: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordMapper.html":{"url":"classes/FileRecordMapper.html","title":"class - FileRecordMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-record.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n Static\n mapToFileRecordListResponse\n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n \n \n \n \n \n mapScanResultParamsToDto(scanResultParams: ScanResultParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultParams\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ScanResultDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordListResponse\n \n \n \n \n \n \n \n mapToFileRecordListResponse(fileRecords: FileRecord[], total: number, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n total\n \n number\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : FileRecordListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n \n \n \n mapToFileRecordResponse(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordListResponse, FileRecordResponse, ScanResultDto, ScanResultParams } from '../controller/dto';\nimport { FileRecord, ScanStatus } from '../entity';\n\nexport class FileRecordMapper {\n\tstatic mapToFileRecordResponse(fileRecord: FileRecord): FileRecordResponse {\n\t\tconst fileRecordResponse = new FileRecordResponse(fileRecord);\n\n\t\treturn fileRecordResponse;\n\t}\n\n\tstatic mapToFileRecordListResponse(\n\t\tfileRecords: FileRecord[],\n\t\ttotal: number,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): FileRecordListResponse {\n\t\tconst responseFileRecords = fileRecords.map((fileRecord) => FileRecordMapper.mapToFileRecordResponse(fileRecord));\n\t\tconst response = new FileRecordListResponse(responseFileRecords, total, skip, limit);\n\n\t\treturn response;\n\t}\n\n\tstatic mapScanResultParamsToDto(scanResultParams: ScanResultParams): ScanResultDto {\n\t\tconst scanResult = new ScanResultDto({\n\t\t\tstatus: ScanStatus.VERIFIED,\n\t\t\treason: 'Clean',\n\t\t});\n\n\t\tif (scanResultParams.virus_detected) {\n\t\t\tscanResult.status = ScanStatus.BLOCKED;\n\t\t\tscanResult.reason = scanResultParams.virus_signature ?? 'Virus detected';\n\t\t} else if (scanResultParams.error) {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = scanResultParams.error;\n\t\t} else if (scanResultParams.virus_detected === undefined || scanResultParams.error === '') {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = 'No scan result';\n\t\t}\n\n\t\treturn scanResult;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordParams.html":{"url":"classes/FileRecordParams.html","title":"class - FileRecordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: FileRecordParentType, enumName: 'FileRecordParentType'})@IsEnum(FileRecordParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRecordProperties.html":{"url":"interfaces/FileRecordProperties.html","title":"interface - FileRecordProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\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 Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isCopyFrom\n \n \n \n \n \n \n \n \n isCopyFrom: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/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 findByCreatorId\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: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 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 findByCreatorId\n \n \n \n \n \n \n \n findByCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByParentId\n \n \n \n \n \n \n \n findByParentId(parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentId\n \n \n \n \n \n \n \n findBySchoolIdAndParentId(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentIdAndMarkedForDelete\n \n \n \n \n \n \n \n findBySchoolIdAndParentIdAndMarkedForDelete(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySecurityCheckRequestToken\n \n \n \n \n \n \n \n findBySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByIdMarkedForDelete\n \n \n \n \n \n \n \n findOneByIdMarkedForDelete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findOneOrFail\n \n \n \n \n \n \n \n findOneOrFail(scope: FileRecordScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts: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 scope\n \n FileRecordScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { FileRecord } from '../entity';\nimport { FileRecordScope } from './filerecord-scope';\n\n@Injectable()\nexport class FileRecordRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn FileRecord;\n\t}\n\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(false);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findOneByIdMarkedForDelete(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(true);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findByParentId(parentId: EntityId, options?: IFindOptions): Promise> {\n\t\tconst scope = new FileRecordScope().byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentId(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentIdAndMarkedForDelete(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(true);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySecurityCheckRequestToken(token: string): Promise {\n\t\t// Must also find expires in future. Please do not add .byExpires().\n\t\tconst scope = new FileRecordScope().bySecurityCheckRequestToken(token);\n\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findByCreatorId(creatorId: EntityId): Promise> {\n\t\tconst scope = new FileRecordScope().byCreatorId(creatorId);\n\t\tconst result = await this.findAndCount(scope);\n\n\t\treturn result;\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 Optional\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 Optional\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 byCreatorId\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 byCreatorId\n \n \n \n \n \n \nbyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFileRecordId\n \n \n \n \n \n \nbyFileRecordId(fileRecordId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMarkedForDelete\n \n \n \n \n \n \nbyMarkedForDelete(isMarked)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n isMarked\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byParentId\n \n \n \n \n \n \nbyParentId(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySecurityCheckRequestToken\n \n \n \n \n \n \nbySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { FileRecord } from '../entity';\n\nexport class FileRecordScope extends Scope {\n\tbyParentId(parentId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _parentId: new ObjectId(parentId) });\n\n\t\treturn this;\n\t}\n\n\tbyFileRecordId(fileRecordId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ id: fileRecordId });\n\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _schoolId: new ObjectId(schoolId) });\n\n\t\treturn this;\n\t}\n\n\tbySecurityCheckRequestToken(token: string): FileRecordScope {\n\t\tthis.addQuery({ securityCheck: { requestToken: token } });\n\n\t\treturn this;\n\t}\n\n\tbyMarkedForDelete(isMarked = true): FileRecordScope {\n\t\tconst query = isMarked ? { deletedSince: { $ne: null } } : { deletedSince: null };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\tbyCreatorId(creatorId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _creatorId: new ObjectId(creatorId) });\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordSecurityCheck.html":{"url":"classes/FileRecordSecurityCheck.html","title":"class - FileRecordSecurityCheck","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordSecurityCheck\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileRecordSecurityCheckProperties)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileRecordSecurityCheckProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Default value : ScanStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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"},"interfaces/FileRecordSecurityCheckProperties.html":{"url":"interfaces/FileRecordSecurityCheckProperties.html","title":"interface - FileRecordSecurityCheckProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordSecurityCheckProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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/FileRequestInfo.html":{"url":"interfaces/FileRequestInfo.html","title":"interface - FileRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileRequestInfo {\n\tschoolId: EntityId;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileResponseBuilder.html":{"url":"classes/FileResponseBuilder.html","title":"class - FileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(file: GetFile, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n GetFile\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GetFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { GetFileResponse } from '../interface';\n\nexport class FileResponseBuilder {\n\tpublic static build(file: GetFile, name: string): GetFileResponse {\n\t\tconst fileResponse = { ...file, data: file.data, name };\n\n\t\treturn fileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileSecurityCheckEntity.html":{"url":"classes/FileSecurityCheckEntity.html","title":"class - FileSecurityCheckEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileSecurityCheckEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileSecurityCheckEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileSecurityCheckEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : FileSecurityCheckStatus\n\n \n \n \n \n Default value : FileSecurityCheckStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileSecurityCheckEntityProps.html":{"url":"interfaces/FileSecurityCheckEntityProps.html","title":"interface - FileSecurityCheckEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileSecurityCheckEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: FileSecurityCheckStatus\n\n \n \n\n\n \n \n Type : FileSecurityCheckStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FileSecurityController.html":{"url":"controllers/FileSecurityController.html","title":"controller - FileSecurityController","body":"\n \n\n\n\n\n\n\n Controllers\n FileSecurityController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/file-security.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n \n \n \n downloadBySecurityToken(token: string, req: Request)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Get(FilesStorageInternalActions.downloadBySecurityToken)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n \n \n \n updateSecurityStatus(scanResultDto: ScanResultParams, token: string)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Put(FilesStorageInternalActions.updateSecurityStatus)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultDto\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Get, Param, Put, Req, StreamableFile } from '@nestjs/common';\nimport { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { FilesStorageInternalActions } from '../files-storage.const';\nimport { FilesStorageUC } from '../uc';\nimport { ScanResultParams } from './dto';\n\n@ApiTags('file-security')\n@Controller()\nexport class FileSecurityController {\n\tconstructor(private readonly filesStorageUC: FilesStorageUC) {}\n\n\t@ApiExcludeEndpoint()\n\t@Get(FilesStorageInternalActions.downloadBySecurityToken)\n\tasync downloadBySecurityToken(@Param('token') token: string, @Req() req: Request) {\n\t\tconst res = await this.filesStorageUC.downloadBySecurityToken(token);\n\t\treq.on('close', () => {\n\t\t\tres.data.destroy();\n\t\t});\n\n\t\treturn new StreamableFile(res.data, {\n\t\t\ttype: res.contentType,\n\t\t\tdisposition: `attachment;`,\n\t\t});\n\t}\n\n\t@ApiExcludeEndpoint()\n\t@Put(FilesStorageInternalActions.updateSecurityStatus)\n\tasync updateSecurityStatus(@Body() scanResultDto: ScanResultParams, @Param('token') token: string) {\n\t\tawait this.filesStorageUC.updateSecurityStatus(token, scanResultDto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileStorageConfig.html":{"url":"interfaces/FileStorageConfig.html","title":"interface - FileStorageConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileStorageConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { S3Config } from '@infra/s3-client';\nimport { CoreModuleConfig } from '@src/core';\n\nexport const FILES_STORAGE_S3_CONNECTION = 'FILES_STORAGE_S3_CONNECTION';\nexport interface FileStorageConfig extends CoreModuleConfig {\n\tMAX_FILE_SIZE: number;\n\tMAX_SECURITY_CHECK_FILE_SIZE: number;\n\tUSE_STREAM_TO_ANTIVIRUS: boolean;\n}\n\nexport const defaultConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('FILES_STORAGE__INCOMING_REQUEST_TIMEOUT') as number,\n};\n\nconst fileStorageConfig: FileStorageConfig = {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tMAX_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tMAX_SECURITY_CHECK_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tUSE_STREAM_TO_ANTIVIRUS: Configuration.get('FILES_STORAGE__USE_STREAM_TO_ANTIVIRUS') as boolean,\n\t...defaultConfig,\n};\n\n// The configurations lookup\n// config/development.json for development\n// config/test.json for tests\nexport const s3Config: S3Config = {\n\tconnectionName: FILES_STORAGE_S3_CONNECTION,\n\tendpoint: Configuration.get('FILES_STORAGE__S3_ENDPOINT') as string,\n\tregion: Configuration.get('FILES_STORAGE__S3_REGION') as string,\n\tbucket: Configuration.get('FILES_STORAGE__S3_BUCKET') as string,\n\taccessKeyId: Configuration.get('FILES_STORAGE__S3_ACCESS_KEY_ID') as string,\n\tsecretAccessKey: Configuration.get('FILES_STORAGE__S3_SECRET_ACCESS_KEY') as string,\n};\n\nexport const config = () => fileStorageConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FileSystemAdapter.html":{"url":"injectables/FileSystemAdapter.html","title":"injectable - FileSystemAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FileSystemAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/file-system/file-system.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDir\n \n \n Async\n createTmpDir\n \n \n joinPath\n \n \n Async\n readDir\n \n \n Async\n readFile\n \n \n Async\n removeDirRecursive\n \n \n Async\n writeFile\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDir\n \n \n \n \n \n \n \n createDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:26\n \n \n\n\n \n \n creates a directory if not already exists\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createTmpDir\n \n \n \n \n \n \n \n createTmpDir(dirNamePrefix: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:68\n \n \n\n\n \n \n Creates a folder in systems temp path.\nThe dirNamePrefix given will be extended by six random characters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dirNamePrefix\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n full path string to temp folder, format depends on os\n\n \n \n \n \n \n \n \n \n \n \n \n joinPath\n \n \n \n \n \n \njoinPath(...paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n readDir\n \n \n \n \n \n \n \n readDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:36\n \n \n\n\n \n \n Lists filenames of given folderPath\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n string array of filenames\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n readFile\n \n \n \n \n \n \n \n readFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:57\n \n \n\n\n \n \n Read file from filesystem with given encoding, defaults to utf-8\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to existing file, format depending on os\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n file content as encoded text\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n removeDirRecursive\n \n \n \n \n \n \n \n removeDirRecursive(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:78\n \n \n\n\n \n \n Removes the given folder recursively including content when not empty.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder, format depending on\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n writeFile\n \n \n \n \n \n \n \n writeFile(filePath: string, text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:48\n \n \n\n\n \n \n Write text to file, will override existing files.\nThe folder in which the file will be created must exist.\nThe path format depends on os\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to a file\n\n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n \n \n Type : BufferEncoding\n\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n\n \n \n getEOL()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:18\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { promises as fsp, existsSync } from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nimport rimraf = require('rimraf');\n\nconst { mkdir, readdir, writeFile, readFile, mkdtemp } = fsp;\n\n@Injectable()\nexport class FileSystemAdapter {\n\tprivate encoding: BufferEncoding;\n\n\tconstructor() {\n\t\tthis.encoding = 'utf-8';\n\t}\n\n\tget EOL(): string {\n\t\treturn os.EOL;\n\t}\n\n\t/**\n\t * creates a directory if not already exists\n\t * @param folderPath\n\t */\n\tasync createDir(folderPath: string): Promise {\n\t\tconst exists = existsSync(folderPath);\n\t\tif (!exists) await mkdir(folderPath);\n\t}\n\n\t/**\n\t * Lists filenames of given folderPath\n\t * @param folderPath path to an existing folder\n\t * @returns string array of filenames\n\t */\n\tasync readDir(folderPath: string): Promise {\n\t\tconst filenames = await readdir(folderPath, { encoding: this.encoding });\n\t\treturn filenames;\n\t}\n\n\t/**\n\t * Write text to file, will override existing files.\n\t * The folder in which the file will be created must exist.\n\t * The path format depends on os\n\t * @param filePath path to a file\n\t * @param text\n\t */\n\tasync writeFile(filePath: string, text: string): Promise {\n\t\tawait writeFile(filePath, text);\n\t}\n\n\t/**\n\t * Read file from filesystem with given encoding, defaults to utf-8\n\t * @param filePath path to existing file, format depending on os\n\t * @returns file content as encoded text\n\t */\n\tasync readFile(filePath: string): Promise {\n\t\tconst text = await readFile(filePath, this.encoding);\n\t\treturn text;\n\t}\n\n\t/**\n\t * Creates a folder in systems temp path.\n\t * The dirNamePrefix given will be extended by six random characters.\n\t * @param dirNamePrefix\n\t * @returns full path string to temp folder, format depends on os\n\t */\n\tasync createTmpDir(dirNamePrefix: string): Promise {\n\t\tconst dirPath = this.joinPath(os.tmpdir(), dirNamePrefix);\n\t\tconst tmpDirPath = await mkdtemp(dirPath);\n\t\treturn tmpDirPath;\n\t}\n\n\t/**\n\t * Removes the given folder recursively including content when not empty.\n\t * @param folderPath path to an existing folder, format depending on\n\t */\n\tasync removeDirRecursive(folderPath: string): Promise {\n\t\t// fs.rm changed in node 14.14, use rimraf instead\n\t\trimraf.sync(folderPath);\n\t\treturn Promise.resolve();\n\t}\n\n\tjoinPath(...paths: string[]): string {\n\t\treturn path.join(...paths);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FileSystemModule.html":{"url":"modules/FileSystemModule.html","title":"module - FileSystemModule","body":"\n \n\n\n\n\n Modules\n FileSystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FileSystemModule\n\n\n\ncluster_FileSystemModule_exports\n\n\n\ncluster_FileSystemModule_providers\n\n\n\n\nFileSystemAdapter \n\nFileSystemAdapter \n\n\n\nFileSystemModule\n\nFileSystemModule\n\nFileSystemAdapter -->\n\nFileSystemModule->FileSystemAdapter \n\n\n\n\n\nFileSystemAdapter\n\nFileSystemAdapter\n\nFileSystemModule -->\n\nFileSystemAdapter->FileSystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/file-system/file-system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileSystemAdapter\n \n \n \n \n Exports\n \n \n FileSystemAdapter\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FileSystemAdapter } from './file-system.adapter';\n\n@Module({\n\tproviders: [FileSystemAdapter],\n\texports: [FileSystemAdapter],\n})\nexport class FileSystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileUrlParams.html":{"url":"classes/FileUrlParams.html","title":"class - FileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n Optional\n headers\n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n headers\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesModule.html":{"url":"modules/FilesModule.html","title":"module - FilesModule","body":"\n \n\n\n\n\n Modules\n FilesModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesModule\n\n\n\ncluster_FilesModule_providers\n\n\n\ncluster_FilesModule_imports\n\n\n\ncluster_FilesModule_exports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nFilesModule\n\nFilesModule\n\nFilesModule -->\n\nLoggerModule->FilesModule\n\n\n\n\n\nFilesService \n\nFilesService \n\nFilesService -->\n\nFilesModule->FilesService \n\n\n\n\n\nDeleteFilesUc\n\nDeleteFilesUc\n\nFilesModule -->\n\nDeleteFilesUc->FilesModule\n\n\n\n\n\nFilesRepo\n\nFilesRepo\n\nFilesModule -->\n\nFilesRepo->FilesModule\n\n\n\n\n\nFilesService\n\nFilesService\n\nFilesModule -->\n\nFilesService->FilesModule\n\n\n\n\n\nStorageProviderRepo\n\nStorageProviderRepo\n\nFilesModule -->\n\nStorageProviderRepo->FilesModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files/files.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeleteFilesUc\n \n \n FilesRepo\n \n \n FilesService\n \n \n StorageProviderRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n FilesService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeleteFilesConsole } from './job';\nimport { DeleteFilesUc } from './uc';\nimport { FilesRepo } from './repo';\nimport { FilesService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeleteFilesConsole, DeleteFilesUc, FilesRepo, StorageProviderRepo, FilesService],\n\texports: [FilesService],\n})\nexport class FilesModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesRepo.html":{"url":"injectables/FilesRepo.html","title":"injectable - FilesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/repo/files.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n Public\n Async\n findByPermissionRefId\n \n \n Public\n Async\n findForCleanup\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n \n \n \n \n \n findByOwnerUserId(ownerUserId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ownerUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByPermissionRefId\n \n \n \n \n \n \n \n findByPermissionRefId(permissionRefId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n permissionRefId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findForCleanup\n \n \n \n \n \n \n \n findForCleanup(thresholdDate: Date, batchSize: number, offset: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { FileOwnerModel } from '../domain';\nimport { FileEntity } from '../entity';\n\n@Injectable()\nexport class FilesRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn FileEntity;\n\t}\n\n\tpublic async findForCleanup(thresholdDate: Date, batchSize: number, offset: number): Promise {\n\t\tconst filter = { deletedAt: { $lte: thresholdDate } };\n\t\tconst options = {\n\t\t\torderBy: { id: 'asc' },\n\t\t\tlimit: batchSize,\n\t\t\toffset,\n\t\t\tpopulate: ['storageProvider'] as never[],\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter, options);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByOwnerUserId(ownerUserId: EntityId): Promise {\n\t\tconst filter = {\n\t\t\towner: new ObjectId(ownerUserId),\n\t\t\trefOwnerModel: FileOwnerModel.USER,\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByPermissionRefId(permissionRefId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\trefId: new ObjectId(permissionRefId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawFilesDocuments = await this._em.aggregate(FileEntity, pipeline);\n\n\t\tconst files = rawFilesDocuments.map((rawFileDocument) =>\n\t\t\tthis._em.map(FileEntity, rawFileDocument as EntityDictionary)\n\t\t);\n\n\t\treturn files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesService.html":{"url":"injectables/FilesService.html","title":"injectable - FilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/service/files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n Async\n findFilesOwnedByUser\n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: FilesRepo)\n \n \n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n \n \n \n \n \n findFilesAccessibleByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findFilesOwnedByUser\n \n \n \n \n \n \n \n findFilesOwnedByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n \n \n \n \n \n markFilesOwnedByUserForDeletion(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n \n \n \n removeUserPermissionsToAnyFiles(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class FilesService {\n\tconstructor(private readonly repo: FilesRepo) {}\n\n\tasync findFilesAccessibleByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByPermissionRefId(userId);\n\t}\n\n\tasync removeUserPermissionsToAnyFiles(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByPermissionRefId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.removePermissionsByRefId(userId));\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n\n\tasync findFilesOwnedByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByOwnerUserId(userId);\n\t}\n\n\tasync markFilesOwnedByUserForDeletion(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByOwnerUserId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.markForDeletion());\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageAMQPModule.html":{"url":"modules/FilesStorageAMQPModule.html","title":"module - FilesStorageAMQPModule","body":"\n \n\n\n\n\n Modules\n FilesStorageAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageAMQPModule\n\n\n\ncluster_FilesStorageAMQPModule_imports\n\n\n\ncluster_FilesStorageAMQPModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule -->\n\nCoreModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageAMQPModule -->\n\nFilesStorageModule->FilesStorageAMQPModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageAMQPModule -->\n\nLoggerModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageConsumer\n\nFilesStorageConsumer\n\nFilesStorageAMQPModule -->\n\nFilesStorageConsumer->FilesStorageAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageConsumer\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FilesStorageConsumer } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\n\n@Module({\n\timports: [FilesStorageModule, CoreModule, LoggerModule],\n\tproviders: [FilesStorageConsumer],\n})\nexport class FilesStorageAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageApiModule.html":{"url":"modules/FilesStorageApiModule.html","title":"module - FilesStorageApiModule","body":"\n \n\n\n\n\n Modules\n FilesStorageApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageApiModule\n\n\n\ncluster_FilesStorageApiModule_imports\n\n\n\ncluster_FilesStorageApiModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageApiModule -->\n\nAuthenticationModule->FilesStorageApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nFilesStorageApiModule -->\n\nAuthorizationReferenceModule->FilesStorageApiModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageApiModule -->\n\nCoreModule->FilesStorageApiModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageApiModule -->\n\nFilesStorageModule->FilesStorageApiModule\n\n\n\n\n\nFilesStorageUC\n\nFilesStorageUC\n\nFilesStorageApiModule -->\n\nFilesStorageUC->FilesStorageApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageUC\n \n \n \n \n Controllers\n \n \n FilesStorageController\n \n \n FileSecurityController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { FileSecurityController, FilesStorageController } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\nimport { FilesStorageUC } from './uc';\n\n@Module({\n\timports: [AuthorizationReferenceModule, FilesStorageModule, AuthenticationModule, CoreModule, HttpModule],\n\tcontrollers: [FilesStorageController, FileSecurityController],\n\tproviders: [FilesStorageUC],\n})\nexport class FilesStorageApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageClientAdapterService.html":{"url":"injectables/FilesStorageClientAdapterService.html","title":"injectable - FilesStorageClientAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageClientAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, fileStorageMQProducer: FilesStorageProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n fileStorageMQProducer\n \n \n FilesStorageProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(param: CopyFilesRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CopyFilesRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(param: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n \n \n \n removeCreatorIdFromFileRecords(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.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 creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\nimport { FilesStorageClientMapper } from '../mapper';\nimport { FilesStorageProducer } from './files-storage.producer';\n\n@Injectable()\nexport class FilesStorageClientAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly fileStorageMQProducer: FilesStorageProducer) {\n\t\tthis.logger.setContext(FilesStorageClientAdapterService.name);\n\t}\n\n\tasync copyFilesOfParent(param: CopyFilesRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.copyFilesOfParent(param);\n\t\tconst fileInfos = FilesStorageClientMapper.mapCopyFileListResponseToCopyFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync listFilesOfParent(param: FileRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.listFilesOfParent(param);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync deleteFilesOfParent(parentId: EntityId): Promise {\n\t\tconst response = await this.fileStorageMQProducer.deleteFilesOfParent(parentId);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync removeCreatorIdFromFileRecords(creatorId: EntityId): Promise {\n\t\tconst response = await this.fileStorageMQProducer.removeCreatorIdFromFileRecords(creatorId);\n\n\t\treturn response.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"},"interfaces/FilesStorageClientConfig.html":{"url":"interfaces/FilesStorageClientConfig.html","title":"interface - FilesStorageClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilesStorageClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/files-storage-client-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FilesStorageClientConfig {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilesStorageClientMapper.html":{"url":"classes/FilesStorageClientMapper.html","title":"class - FilesStorageClientMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilesStorageClientMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n Static\n mapEntityToParentType\n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n Static\n mapStringToParentType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n \n \n \n \n \n mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyFileListResponse\n \n CopyFileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n \n \n \n \n \n mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n CopyFileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToParentType\n \n \n \n \n \n \n \n mapEntityToParentType(entity: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n \n \n \n \n \n mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordListResponse\n \n FileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n \n \n \n \n \n mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordResponse\n \n FileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapStringToParentType\n \n \n \n \n \n \n \n mapStringToParentType(input: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { LessonEntity, Submission, Task } from '@shared/domain/entity';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { CopyFileDomainObjectProps, EntitiesWithFiles, FileDomainObjectProps } from '../interfaces';\n\nexport class FilesStorageClientMapper {\n\tstatic mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[]): FileDto[] {\n\t\tconst filesDto = fileRecordListResponse.map((record: FileDomainObjectProps) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapFileRecordResponseToFileDto(record);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[]): CopyFileDto[] {\n\t\tconst filesDto = copyFileListResponse.map((response) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapCopyFileResponseToCopyFileDto(response);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps) {\n\t\tconst parentType = FilesStorageClientMapper.mapStringToParentType(fileRecordResponse.parentType);\n\t\tconst fileDto = new FileDto({\n\t\t\tid: fileRecordResponse.id,\n\t\t\tname: fileRecordResponse.name,\n\t\t\tparentType,\n\t\t\tparentId: fileRecordResponse.parentId,\n\t\t});\n\n\t\treturn fileDto;\n\t}\n\n\tstatic mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps) {\n\t\tconst dto = new CopyFileDto({\n\t\t\tid: response.id,\n\t\t\tsourceId: response.sourceId,\n\t\t\tname: response.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n\n\tstatic mapStringToParentType(input: string): FileRecordParentType {\n\t\tlet response: FileRecordParentType;\n\t\tconst allowedStrings = Object.values(FileRecordParentType);\n\n\t\tif (allowedStrings.includes(input as FileRecordParentType)) {\n\t\t\tresponse = input as FileRecordParentType;\n\t\t} else {\n\t\t\tthrow new Error(`Mapping type is not supported. ${input}`);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tstatic mapEntityToParentType(entity: EntitiesWithFiles): FileRecordParentType {\n\t\tif (entity instanceof LessonEntity) return FileRecordParentType.Lesson;\n\n\t\tif (entity instanceof Task) return FileRecordParentType.Task;\n\n\t\tif (entity instanceof Submission) return FileRecordParentType.Submission;\n\n\t\tthrow new Error(`Mapping type is not supported.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageClientModule.html":{"url":"modules/FilesStorageClientModule.html","title":"module - FilesStorageClientModule","body":"\n \n\n\n\n\n Modules\n FilesStorageClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageClientModule\n\n\n\ncluster_FilesStorageClientModule_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 Public\n Async\n removeCreatorIdFromFileRecords\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 \n \n Public\n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n \n \n \n removeCreatorIdFromFileRecords(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: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 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 import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { CopyFileDO, FileDO, FilesStorageEvents, FilesStorageExchange } from '@infra/rabbitmq';\nimport { RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { MikroORM, UseRequestContext } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageMapper } from '../mapper';\nimport { FilesStorageService } from '../service/files-storage.service';\nimport { PreviewService } from '../service/preview.service';\nimport { CopyFilesOfParentPayload, FileRecordParams } from './dto';\n\n@Injectable()\nexport class FilesStorageConsumer {\n\tconstructor(\n\t\tprivate readonly filesStorageService: FilesStorageService,\n\t\tprivate readonly previewService: PreviewService,\n\t\tprivate logger: LegacyLogger,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tprivate readonly orm: MikroORM // don't remove it, we need it for @UseRequestContext\n\t) {\n\t\tthis.logger.setContext(FilesStorageConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async copyFilesOfParent(\n\t\t@RabbitPayload() payload: CopyFilesOfParentPayload\n\t): Promise> {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent', payload });\n\n\t\tconst { userId, source, target } = payload;\n\t\tconst [response] = await this.filesStorageService.copyFilesOfParent(userId, source, { target });\n\n\t\treturn { message: response };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async getFilesOfParent(@RabbitPayload() payload: FileRecordParams): Promise> {\n\t\tthis.logger.debug({ action: 'getFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload.parentId);\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async deleteFilesOfParent(@RabbitPayload() payload: EntityId): Promise> {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload);\n\n\t\tawait this.previewService.deletePreviews(fileRecords);\n\t\tawait this.filesStorageService.deleteFilesOfParent(fileRecords);\n\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.REMOVE_CREATORID_OF_FILES,\n\t\tqueue: FilesStorageEvents.REMOVE_CREATORID_OF_FILES,\n\t})\n\t@UseRequestContext()\n\tpublic async removeCreatorIdFromFileRecords(@RabbitPayload() payload: EntityId): Promise> {\n\t\tthis.logger.debug({ action: 'removeCreatorIdFromFileRecords', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsByCreatorId(payload);\n\t\tlet updatedFileRecords = await this.filesStorageService.removeCreatorIdFromFileRecords(fileRecords);\n\t\tupdatedFileRecords = updatedFileRecords ?? [];\n\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(updatedFileRecords, 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_imports\n\n\n\ncluster_FilesStorageModule_exports\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageModule -->\n\nRabbitMQWrapperModule->FilesStorageModule\n\n\n\n\n\nFilesStorageService \n\nFilesStorageService \n\nFilesStorageService -->\n\nFilesStorageModule->FilesStorageService \n\n\n\n\n\nPreviewService \n\nPreviewService \n\nPreviewService -->\n\nFilesStorageModule->PreviewService \n\n\n\n\n\nFileRecordRepo\n\nFileRecordRepo\n\nFilesStorageModule -->\n\nFileRecordRepo->FilesStorageModule\n\n\n\n\n\nFilesStorageService\n\nFilesStorageService\n\nFilesStorageModule -->\n\nFilesStorageService->FilesStorageModule\n\n\n\n\n\nPreviewService\n\nPreviewService\n\nFilesStorageModule -->\n\nPreviewService->FilesStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileRecordRepo\n \n \n FilesStorageService\n \n \n PreviewService\n \n \n \n \n Imports\n \n \n RabbitMQWrapperModule\n \n \n \n \n Exports\n \n \n FilesStorageService\n \n \n PreviewService\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AntivirusModule } from '@infra/antivirus';\nimport { PreviewGeneratorProducerModule } from '@infra/preview-generator';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord, FileRecordSecurityCheck } from './entity';\nimport { config, s3Config } from './files-storage.config';\nimport { FileRecordRepo } from './repo';\nimport { FilesStorageService, PreviewService } from './service';\n\nconst imports = [\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tAntivirusModule.forRoot({\n\t\tenabled: Configuration.get('ENABLE_FILE_SECURITY_CHECK') as boolean,\n\t\tfilesServiceBaseUrl: Configuration.get('FILES_STORAGE__SERVICE_BASE_URL') as string,\n\t\texchange: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('ANTIVIRUS_ROUTING_KEY') as string,\n\t\thostname: Configuration.get('CLAMAV__SERVICE_HOSTNAME') as string,\n\t\tport: Configuration.get('CLAMAV__SERVICE_PORT') as number,\n\t}),\n\tS3ClientModule.register([s3Config]),\n\tPreviewGeneratorProducerModule,\n];\nconst providers = [FilesStorageService, PreviewService, FileRecordRepo];\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\t...imports,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileRecord, FileRecordSecurityCheck],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t],\n\tproviders,\n\texports: [FilesStorageService, PreviewService],\n})\nexport class FilesStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageProducer.html":{"url":"injectables/FilesStorageProducer.html","title":"injectable - FilesStorageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: LegacyLogger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(payload: CopyFilesOfParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n CopyFilesOfParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(payload: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(payload: FileRecordParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n FileRecordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeCreatorIdFromFileRecords\n \n \n \n \n \n \n \n removeCreatorIdFromFileRecords(payload: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.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 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 Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport {\n\tCopyFileDO,\n\tCopyFilesOfParentParams,\n\tFileDO,\n\tFileRecordParams,\n\tFilesStorageEvents,\n\tFilesStorageExchange,\n\tRpcMessageProducer,\n} from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageClientConfig } from '../interfaces';\n\n@Injectable()\nexport class FilesStorageProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tsuper(amqpConnection, FilesStorageExchange, configService.get('INCOMING_REQUEST_TIMEOUT_COPY_API'));\n\t\tthis.logger.setContext(FilesStorageProducer.name);\n\t}\n\n\tasync copyFilesOfParent(payload: CopyFilesOfParentParams): Promise {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.COPY_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync listFilesOfParent(payload: FileRecordParams): Promise {\n\t\tthis.logger.debug({ action: 'listFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.LIST_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'listFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync deleteFilesOfParent(payload: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.DELETE_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync removeCreatorIdFromFileRecords(payload: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'removeCreatorIdFromFileRecords:started', payload });\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst response = await this.request(FilesStorageEvents.REMOVE_CREATORID_OF_FILES, payload);\n\n\t\tthis.logger.debug({ action: 'removeCreatorIdFromFileRecords:finished', payload });\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageTestModule.html":{"url":"modules/FilesStorageTestModule.html","title":"module - FilesStorageTestModule","body":"\n \n\n\n\n\n Modules\n FilesStorageTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageTestModule\n\n\n\ncluster_FilesStorageTestModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageTestModule\n\nFilesStorageTestModule\n\nFilesStorageTestModule -->\n\nAuthenticationModule->FilesStorageTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFilesStorageTestModule -->\n\nAuthorizationModule->FilesStorageTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageTestModule -->\n\nCoreModule->FilesStorageTestModule\n\n\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageTestModule -->\n\nFilesStorageApiModule->FilesStorageTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageTestModule -->\n\nLoggerModule->FilesStorageTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFilesStorageTestModule -->\n\nMongoMemoryDatabaseModule->FilesStorageTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFilesStorageTestModule -->\n\nRabbitMQWrapperTestModule->FilesStorageTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-test.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n FilesStorageApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/files-storage-test.module.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\n\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord } from './entity';\nimport { FilesStorageApiModule } from './files-storage-api.module';\n\nconst imports = [\n\tFilesStorageApiModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, FileRecord] }),\n\tRabbitMQWrapperTestModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst controllers = [];\nconst providers = [];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FilesStorageTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FilesStorageTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterImportUserParams.html":{"url":"classes/FilterImportUserParams.html","title":"class - FilterImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n Optional\n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()@ApiPropertyOptional({type: String})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:54\n \n \n\n \n \n filter available classes for contains\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : FilterMatchType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: FilterMatchType, isArray: true})@IsOptional()@IsEnum(FilterMatchType, {each: true})@SingleValueToArrayTransformer()@IsArray()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n role\n \n \n \n \n \n \n Type : FilterRoleType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(FilterRoleType)@ApiPropertyOptional({enum: FilterRoleType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:59\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SingleValueToArrayTransformer } from '@shared/controller';\nimport { IsArray, IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport enum FilterMatchType {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\nexport enum FilterRoleType {\n\tSTUDENT = 'student',\n\tTEACHER = 'teacher',\n\tADMIN = 'admin',\n}\n\nexport class FilterImportUserParams {\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tfirstName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tlastName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tloginName?: string;\n\n\t@ApiPropertyOptional({ enum: FilterMatchType, isArray: true })\n\t@IsOptional()\n\t@IsEnum(FilterMatchType, { each: true })\n\t@SingleValueToArrayTransformer()\n\t@IsArray()\n\tmatch?: FilterMatchType[];\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsBoolean()\n\tflagged?: boolean;\n\n\t/**\n\t * filter available classes for contains\n\t */\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiPropertyOptional({ type: String })\n\tclasses?: string;\n\n\t@IsOptional()\n\t@IsEnum(FilterRoleType)\n\t@ApiPropertyOptional({ enum: FilterRoleType })\n\trole?: FilterRoleType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterNewsParams.html":{"url":"classes/FilterNewsParams.html","title":"class - FilterNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/filter-news.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the news are related (works only together with targetModel)'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEnum(NewsTargetModel)@ApiPropertyOptional({enum: NewsTargetModel, description: 'Target model to which the news are related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Flag that filters if the news should be published or not'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/transformer';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class FilterNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEnum(NewsTargetModel)\n\t@ApiPropertyOptional({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the news are related',\n\t})\n\ttargetModel?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the news are related (works only together with targetModel)',\n\t})\n\ttargetId?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Flag that filters if the news should be published or not',\n\t})\n\tunpublished?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterUserParams.html":{"url":"classes/FilterUserParams.html","title":"class - FilterUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-user.params.ts:12\n \n \n\n \n \n filter firstname or lastname for given value\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class FilterUserParams {\n\t/**\n\t * filter firstname or lastname for given value\n\t */\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenLoggableException.html":{"url":"classes/ForbiddenLoggableException.html","title":"class - ForbiddenLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n ForbiddenException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, entityName: string, context: AuthorizationContext)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n AuthorizationContext\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:16\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ForbiddenException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { AuthorizationContext } from '../type';\n\nexport class ForbiddenLoggableException extends ForbiddenException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly entityName: string,\n\t\tprivate readonly context: AuthorizationContext\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'FORBIDDEN_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tentityName: this.entityName,\n\t\t\t\taction: this.context.action,\n\t\t\t\trequiredPermissions: this.context.requiredPermissions.join(','),\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenOperationError.html":{"url":"classes/ForbiddenOperationError.html","title":"class - ForbiddenOperationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenOperationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/forbidden-operation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/forbidden-operation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ForbiddenOperationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'FORBIDDEN_OPERATION',\n\t\t\t\ttitle: 'Forbidden Operation Error',\n\t\t\t\tdefaultMessage: message ?? 'A forbidden operation error occurred.',\n\t\t\t},\n\t\t\tHttpStatus.FORBIDDEN,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FwuLearningContentsController.html":{"url":"controllers/FwuLearningContentsController.html","title":"controller - FwuLearningContentsController","body":"\n \n\n\n\n\n\n\n Controllers\n FwuLearningContentsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts\n \n\n \n Prefix\n \n \n fwu\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(req: Request, res: Response, params: GetFwuLearningContentParams)\n \n \n\n \n \n Decorators : \n \n @Get('*/:fwuLearningContent')\n \n \n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n params\n \n GetFwuLearningContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport {\n\tController,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tReq,\n\tRes,\n\tStreamableFile,\n} from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate } from '@modules/authentication';\nimport { Request, Response } from 'express';\nimport { FwuLearningContentsUc } from '../uc/fwu-learning-contents.uc';\nimport { GetFwuLearningContentParams } from './dto/fwu-learning-contents.params';\n\n@ApiTags('fwu')\n@Authenticate('jwt')\n@Controller('fwu')\nexport class FwuLearningContentsController {\n\tconstructor(private readonly fwuLearningContentsUc: FwuLearningContentsUc) {}\n\n\t@Get('*/:fwuLearningContent')\n\tasync get(\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@Param() params: GetFwuLearningContentParams\n\t): Promise {\n\t\tif (!Configuration.get('FEATURE_FWU_CONTENT_ENABLED')) {\n\t\t\tthrow new InternalServerErrorException('Feature FWU content is not enabled.');\n\t\t}\n\t\tconst bytesRange = req.header('Range');\n\t\tconst path = `${req.params[0]}/${params.fwuLearningContent}`;\n\t\tconst response = await this.fwuLearningContentsUc.get(path, bytesRange);\n\n\t\tif (bytesRange) {\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': response.contentRange,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\n\t\treq.on('close', () => response.data.destroy());\n\n\t\treturn new StreamableFile(response.data, {\n\t\t\ttype: response.contentType,\n\t\t\tdisposition: `inline; filename=\"${encodeURI(params.fwuLearningContent)}\"`,\n\t\t\tlength: response.contentLength,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsModule.html":{"url":"modules/FwuLearningContentsModule.html","title":"module - FwuLearningContentsModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsModule\n\n\n\ncluster_FwuLearningContentsModule_imports\n\n\n\ncluster_FwuLearningContentsModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule -->\n\nAuthenticationModule->FwuLearningContentsModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsModule -->\n\nAuthorizationModule->FwuLearningContentsModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsModule -->\n\nCoreModule->FwuLearningContentsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsModule -->\n\nLoggerModule->FwuLearningContentsModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nFwuLearningContentsModule -->\n\nRabbitMQWrapperModule->FwuLearningContentsModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsModule -->\n\nS3ClientModule->FwuLearningContentsModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsModule -->\n\nFwuLearningContentsUc->FwuLearningContentsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tLoggerModule,\n\t\tHttpModule,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t\tS3ClientModule.register([s3Config]),\n\t],\n\tcontrollers: [FwuLearningContentsController],\n\tproviders: [FwuLearningContentsUc],\n})\nexport class FwuLearningContentsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsTestModule.html":{"url":"modules/FwuLearningContentsTestModule.html","title":"module - FwuLearningContentsTestModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsTestModule\n\n\n\ncluster_FwuLearningContentsTestModule_providers\n\n\n\ncluster_FwuLearningContentsTestModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule -->\n\nAuthenticationModule->FwuLearningContentsTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsTestModule -->\n\nAuthorizationModule->FwuLearningContentsTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsTestModule -->\n\nCoreModule->FwuLearningContentsTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsTestModule -->\n\nLoggerModule->FwuLearningContentsTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFwuLearningContentsTestModule -->\n\nMongoMemoryDatabaseModule->FwuLearningContentsTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFwuLearningContentsTestModule -->\n\nRabbitMQWrapperTestModule->FwuLearningContentsTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsTestModule -->\n\nS3ClientModule->FwuLearningContentsTestModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsTestModule -->\n\nFwuLearningContentsUc->FwuLearningContentsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst imports = [\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity] }),\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tHttpModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3Config]),\n];\nconst controllers = [FwuLearningContentsController];\nconst providers = [FwuLearningContentsUc];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FwuLearningContentsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FwuLearningContentsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FwuLearningContentsUc.html":{"url":"injectables/FwuLearningContentsUc.html","title":"injectable - FwuLearningContentsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FwuLearningContentsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, storageClient: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FWU_CONTENT_S3_CONNECTION } from '../fwu-learning-contents.config';\n\n@Injectable()\nexport class FwuLearningContentsUc {\n\tconstructor(\n\t\tprivate logger: LegacyLogger,\n\t\t@Inject(FWU_CONTENT_S3_CONNECTION) private readonly storageClient: S3ClientAdapter\n\t) {\n\t\tthis.logger.setContext(FwuLearningContentsUc.name);\n\t}\n\n\tasync get(path: string, bytesRange?: string) {\n\t\tconst response = await this.storageClient.get(path, bytesRange);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFile.html":{"url":"interfaces/GetFile.html","title":"interface - GetFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse.html":{"url":"interfaces/GetFileResponse.html","title":"interface - GetFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse-1.html":{"url":"interfaces/GetFileResponse-1.html","title":"interface - GetFileResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetFwuLearningContentParams.html":{"url":"classes/GetFwuLearningContentParams.html","title":"class - GetFwuLearningContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetFwuLearningContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Matches('([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)')@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString, Matches } from 'class-validator';\n\nexport class GetFwuLearningContentParams {\n\t@ApiProperty()\n\t@Matches(\n\t\t'([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)'\n\t)\n\t@IsString()\n\t@IsNotEmpty()\n\tfwuLearningContent!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PContentParams.html":{"url":"classes/GetH5PContentParams.html","title":"class - GetH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n Optional\n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParams.html":{"url":"classes/GetH5PEditorParams.html","title":"class - GetH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParamsCreate.html":{"url":"classes/GetH5PEditorParamsCreate.html","title":"class - GetH5PEditorParamsCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParamsCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5PFileResponse.html":{"url":"interfaces/GetH5PFileResponse.html","title":"interface - GetH5PFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5PFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5pFileResponse.html":{"url":"interfaces/GetH5pFileResponse.html","title":"interface - GetH5pFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5pFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile.html":{"url":"interfaces/GetLibraryFile.html","title":"interface - GetLibraryFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile-1.html":{"url":"interfaces/GetLibraryFile-1.html","title":"interface - GetLibraryFile-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/uc/dto/h5p-getLibraryFile.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetMetaTagDataBody.html":{"url":"classes/GetMetaTagDataBody.html","title":"class - GetMetaTagDataBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetMetaTagDataBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class GetMetaTagDataBody {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\turl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConstants.html":{"url":"interfaces/GlobalConstants.html","title":"interface - GlobalConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/config/database.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n DB_PASSWORD\n \n \n \n \n DB_URL\n \n \n \n Optional\n \n DB_USERNAME\n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n DB_PASSWORD\n \n \n \n \n \n \n \n \n DB_PASSWORD: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n DB_URL\n \n \n \n \n \n \n \n \n DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n DB_USERNAME\n \n \n \n \n \n \n \n \n DB_USERNAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n TLDRAW_DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import globals = require('../../../../config/globals');\n\ninterface GlobalConstants {\n\tDB_URL: string;\n\tDB_PASSWORD?: string;\n\tDB_USERNAME?: string;\n\tTLDRAW_DB_URL: string;\n}\n\nconst usedGlobals: GlobalConstants = globals;\n\n/** Database URL */\nexport const { DB_URL, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } = usedGlobals;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalErrorFilter.html":{"url":"classes/GlobalErrorFilter.html","title":"class - GlobalErrorFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalErrorFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/filter/global-error.filter.ts\n \n\n\n\n\n \n Implements\n \n \n ExceptionFilter\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n catch\n \n \n Private\n createErrorLoggable\n \n \n Private\n createErrorResponse\n \n \n Private\n createErrorResponseForBusinessError\n \n \n Private\n createErrorResponseForFeathersError\n \n \n Private\n createErrorResponseForNestHttpException\n \n \n Private\n createErrorResponseForUnknownError\n \n \n Private\n sendHttpResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: ErrorLogger)\n \n \n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n ErrorLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n catch\n \n \n \n \n \n \ncatch(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | RpcMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorLoggable\n \n \n \n \n \n \n \n createErrorLoggable(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponse\n \n \n \n \n \n \n \n createErrorResponse(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForBusinessError\n \n \n \n \n \n \n \n createErrorResponseForBusinessError(error: BusinessError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n BusinessError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForFeathersError\n \n \n \n \n \n \n \n createErrorResponseForFeathersError(error: FeathersError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n FeathersError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForNestHttpException\n \n \n \n \n \n \n \n createErrorResponseForNestHttpException(exception: HttpException)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n exception\n \n HttpException\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForUnknownError\n \n \n \n \n \n \n \n createErrorResponseForUnknownError()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:102\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n sendHttpResponse\n \n \n \n \n \n \n \n sendHttpResponse(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError, RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common';\nimport { ApiValidationError, BusinessError } from '@shared/common';\nimport { ErrorLogger, Loggable } from '@src/core/logger';\nimport { LoggingUtils } from '@src/core/logger/logging.utils';\nimport { Response } from 'express';\nimport _ from 'lodash';\nimport util from 'util';\nimport { ApiValidationErrorResponse, ErrorResponse } from '../dto';\nimport { FeathersError } from '../interface';\nimport { ErrorLoggable } from '../loggable/error.loggable';\nimport { ErrorUtils } from '../utils';\n\n@Catch()\nexport class GlobalErrorFilter implements ExceptionFilter {\n\tconstructor(private readonly logger: ErrorLogger) {}\n\n\t// eslint-disable-next-line consistent-return\n\tcatch(error: T, host: ArgumentsHost): void | RpcMessage {\n\t\tconst loggable = this.createErrorLoggable(error);\n\t\tthis.logger.error(loggable);\n\n\t\tconst contextType = host.getType();\n\n\t\tif (contextType === 'http') {\n\t\t\tthis.sendHttpResponse(error, host);\n\t\t}\n\n\t\tif (contextType === 'rmq') {\n\t\t\treturn { message: undefined, error };\n\t\t}\n\t}\n\n\tprivate createErrorLoggable(error: unknown): Loggable {\n\t\tlet loggable: Loggable;\n\n\t\tif (LoggingUtils.isInstanceOfLoggable(error)) {\n\t\t\tloggable = error;\n\t\t} else if (error instanceof Error) {\n\t\t\tloggable = new ErrorLoggable(error);\n\t\t} else {\n\t\t\tconst unknownError = new Error(util.inspect(error));\n\t\t\tloggable = new ErrorLoggable(unknownError);\n\t\t}\n\n\t\treturn loggable;\n\t}\n\n\tprivate sendHttpResponse(error: T, host: ArgumentsHost): void {\n\t\tconst errorResponse = this.createErrorResponse(error);\n\t\tconst httpArgumentHost = host.switchToHttp();\n\t\tconst response = httpArgumentHost.getResponse();\n\t\tresponse.status(errorResponse.code).json(errorResponse);\n\t}\n\n\tprivate createErrorResponse(error: unknown): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (ErrorUtils.isFeathersError(error)) {\n\t\t\tresponse = this.createErrorResponseForFeathersError(error);\n\t\t} else if (ErrorUtils.isBusinessError(error)) {\n\t\t\tresponse = this.createErrorResponseForBusinessError(error);\n\t\t} else if (ErrorUtils.isNestHttpException(error)) {\n\t\t\tresponse = this.createErrorResponseForNestHttpException(error);\n\t\t} else {\n\t\t\tresponse = this.createErrorResponseForUnknownError();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForFeathersError(error: FeathersError) {\n\t\tconst { code, className, name, message } = error;\n\t\tconst type = _.snakeCase(className).toUpperCase();\n\t\tconst title = _.startCase(name);\n\n\t\treturn new ErrorResponse(type, title, message, code);\n\t}\n\n\tprivate createErrorResponseForBusinessError(error: BusinessError): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (error instanceof ApiValidationError) {\n\t\t\tresponse = new ApiValidationErrorResponse(error);\n\t\t} else {\n\t\t\tresponse = error.getResponse();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForNestHttpException(exception: HttpException): ErrorResponse {\n\t\tconst code = exception.getStatus();\n\t\tconst msg = exception.message || 'Some error occurred';\n\t\tconst exceptionName = exception.constructor.name.replace('Loggable', '').replace('Exception', '');\n\t\tconst type = _.snakeCase(exceptionName).toUpperCase();\n\t\tconst title = _.startCase(exceptionName);\n\n\t\treturn new ErrorResponse(type, title, msg, code);\n\t}\n\n\tprivate createErrorResponseForUnknownError(): ErrorResponse {\n\t\tconst error = new InternalServerErrorException();\n\t\tconst response = this.createErrorResponseForNestHttpException(error);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalValidationPipe.html":{"url":"classes/GlobalValidationPipe.html","title":"class - GlobalValidationPipe","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalValidationPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/validation/pipe/global-validation.pipe.ts\n \n\n\n \n Description\n \n \n \nGlobal Pipe setup\n\nValidation of DTOs will base on type-checking\nwhich is enabled by default. To you might use\nthe class-validator decorators to extend\nvalidation.\n\n \n\n \n Extends\n \n \n ValidationPipe\n \n\n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/core/validation/pipe/global-validation.pipe.ts:12\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { ValidationError, ValidationPipe } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\n\n/** *********************************************\n * Global Pipe setup\n * **********************************************\n * Validation of DTOs will base on type-checking\n * which is enabled by default. To you might use\n * the class-validator decorators to extend\n * validation.\n */\nexport class GlobalValidationPipe extends ValidationPipe {\n\tconstructor() {\n\t\tsuper({\n\t\t\t// enable DTO instance creation for incoming data\n\t\t\ttransform: true,\n\t\t\ttransformOptions: {\n\t\t\t\t// enable type coersion, requires transform:true\n\t\t\t\tenableImplicitConversion: true,\n\t\t\t},\n\t\t\twhitelist: true, // only pass valid @ApiProperty-decorated DTO properties, remove others\n\t\t\tforbidNonWhitelisted: false, // additional params are just skipped (required when extracting multiple DTO from single query)\n\t\t\tforbidUnknownValues: true,\n\t\t\texceptionFactory: (errors: ValidationError[]) => new ApiValidationError(errors),\n\t\t\tvalidationError: {\n\t\t\t\t// make sure target (DTO) is set on validation error\n\t\t\t\t// we need this to be able to get DTO metadata for checking if a value has to be the obfuscated on output\n\t\t\t\t// see e.g. ErrorLoggable\n\t\t\t\ttarget: true,\n\t\t\t\tvalue: true,\n\t\t\t},\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GridElement.html":{"url":"classes/GridElement.html","title":"class - GridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IGridElement\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n references\n \n \n Private\n sortReferences\n \n \n Optional\n title\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addReferences\n \n \n Static\n FromGroup\n \n \n Static\n FromPersistedGroup\n \n \n Static\n FromPersistedReference\n \n \n Static\n FromSingleReference\n \n \n getContent\n \n \n getId\n \n \n getReferences\n \n \n hasId\n \n \n isGroup\n \n \n removeReference\n \n \n removeReferenceByIndex\n \n \n setGroupName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor(props: literal type)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:52\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Type : Learnroom[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sortReferences\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:40\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromGroup\n \n \n \n \n \n \n \n FromGroup(title: string, references: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n references\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedGroup\n \n \n \n \n \n \n \n FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n group\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedReference\n \n \n \n \n \n \n \n FromPersistedReference(id: EntityId, reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromSingleReference\n \n \n \n \n \n \n \n FromSingleReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getContent\n \n \n \n \n \n \ngetContent()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:117\n \n \n\n\n \n \n\n \n Returns : GridElementContent\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:82\n \n \n\n\n \n \n\n \n Returns : EntityId | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:86\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:78\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:138\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Group.html":{"url":"classes/Group.html","title":"class - Group","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Group\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addUser\n \n \n isEmpty\n \n \n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n users\n \n \n externalSource\n \n \n organizationId\n \n \n type\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addUser\n \n \n \n \n \n \naddUser(user: GroupUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isEmpty\n \n \n \n \n \n \nisEmpty()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:54\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeUser\n \n \n \n \n \n \nremoveUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:26\n \n \n\n \n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:30\n \n \n\n \n \n setusers(value: GroupUser[])\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:34\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n GroupUser[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n externalSource\n \n \n\n \n \n getexternalSource()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:38\n \n \n\n \n \n \n \n \n \n \n organizationId\n \n \n\n \n \n getorganizationId()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:42\n \n \n\n \n \n \n \n \n \n \n type\n \n \n\n \n \n gettype()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:46\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/GroupApiModule.html":{"url":"modules/GroupApiModule.html","title":"module - GroupApiModule","body":"\n \n\n\n\n\n Modules\n GroupApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_GroupApiModule\n\n\n\ncluster_GroupApiModule_providers\n\n\n\ncluster_GroupApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nGroupApiModule -->\n\nAuthorizationModule->GroupApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nGroupApiModule -->\n\nClassModule->GroupApiModule\n\n\n\n\n\nGroupModule\n\nGroupModule\n\nGroupApiModule -->\n\nGroupModule->GroupApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nGroupApiModule -->\n\nLegacySchoolModule->GroupApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nGroupApiModule -->\n\nLoggerModule->GroupApiModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nGroupApiModule -->\n\nRoleModule->GroupApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nGroupApiModule -->\n\nSystemModule->GroupApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nGroupApiModule -->\n\nUserModule->GroupApiModule\n\n\n\n\n\nGroupUc\n\nGroupUc\n\nGroupApiModule -->\n\nGroupUc->GroupApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/group/group-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n GroupUc\n \n \n \n \n Controllers\n \n \n GroupController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n ClassModule\n \n \n GroupModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ClassModule } from '@modules/class';\nimport { RoleModule } from '@modules/role';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { GroupController } from './controller';\nimport { GroupModule } from './group.module';\nimport { GroupUc } from './uc';\n\n@Module({\n\timports: [\n\t\tGroupModule,\n\t\tClassModule,\n\t\tUserModule,\n\t\tRoleModule,\n\t\tLegacySchoolModule,\n\t\tAuthorizationModule,\n\t\tSystemModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [GroupController],\n\tproviders: [GroupUc],\n})\nexport class GroupApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/GroupController.html":{"url":"controllers/GroupController.html","title":"controller - GroupController","body":"\n \n\n\n\n\n\n\n Controllers\n GroupController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/group.controller.ts\n \n\n \n Prefix\n \n \n groups\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n Public\n Async\n getGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n findClasses(pagination: GroupPaginationParams, 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: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 pagination\n \n GroupPaginationParams\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: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 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 { Page } from '@shared/domain/domainobject';\nimport { ErrorResponse } from '@src/core/error/dto';\nimport { GroupUc } from '../uc';\nimport { ClassInfoDto, ResolvedGroupDto } from '../uc/dto';\nimport {\n\tClassFilterParams,\n\tClassInfoSearchListResponse,\n\tClassSortParams,\n\tGroupIdParams,\n\tGroupResponse,\n\tGroupPaginationParams,\n} 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: GroupPaginationParams,\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: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 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: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 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: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 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: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 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: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 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: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 groupUser\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalSource } from '@shared/domain/domainobject';\nimport { ExternalSourceEntity, Role, SchoolEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { Group, GroupProps, GroupTypes, GroupUser } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes, GroupUserEntity, GroupValidPeriodEntity } from '../entity';\n\nconst GroupEntityTypesToGroupTypesMapping: Record = {\n\t[GroupEntityTypes.CLASS]: GroupTypes.CLASS,\n\t[GroupEntityTypes.COURSE]: GroupTypes.COURSE,\n\t[GroupEntityTypes.OTHER]: GroupTypes.OTHER,\n};\n\nexport const GroupTypesToGroupEntityTypesMapping: Record = {\n\t[GroupTypes.CLASS]: GroupEntityTypes.CLASS,\n\t[GroupTypes.COURSE]: GroupEntityTypes.COURSE,\n\t[GroupTypes.OTHER]: GroupEntityTypes.OTHER,\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:40\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:34\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:49\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:37\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:46\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:43\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\tCOURSE = 'course',\n\tOTHER = 'other',\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\tCOURSE = 'course',\n\tOTHER = 'other',\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"},"classes/GroupPaginationParams.html":{"url":"classes/GroupPaginationParams.html","title":"class - GroupPaginationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupPaginationParams\n\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-pagination.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 \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 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()@ApiPropertyOptional({description: 'Page limit, defaults to 10.'})\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 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 { ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { IsInt } from 'class-validator';\n\nexport class GroupPaginationParams extends PaginationParams {\n\t@IsInt()\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 10.' })\n\toverride limit?: 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"},"interfaces/GroupProps.html":{"url":"interfaces/GroupProps.html","title":"interface - GroupProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalSource\n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n organizationId\n \n \n \n \n type\n \n \n \n \n users\n \n \n \n Optional\n \n validFrom\n \n \n \n Optional\n \n validUntil\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalSource\n \n \n \n \n \n \n \n \n externalSource: ExternalSource\n\n \n \n\n\n \n \n Type : ExternalSource\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organizationId\n \n \n \n \n \n \n \n \n organizationId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: GroupTypes\n\n \n \n\n\n \n \n Type : GroupTypes\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: GroupUser[]\n\n \n \n\n\n \n \n Type : GroupUser[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n validFrom\n \n \n \n \n \n \n \n \n validFrom: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n validUntil\n \n \n \n \n \n \n \n \n validUntil: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRepo.html":{"url":"injectables/GroupRepo.html","title":"injectable - GroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/repo/group.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findByExternalSource\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findBySchoolIdAndGroupTypes\n \n \n Public\n Async\n findByUserAndGroupTypes\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:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n 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: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 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:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.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 Public\n Async\n findBySchoolIdAndGroupTypes\n \n \n \n \n \n \n \n findBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes?: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n Yes\n \n\n\n \n \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 findByUserAndGroupTypes\n \n \n \n \n \n \n \n findByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.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 user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n Yes\n \n\n\n \n \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: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 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 } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { Group, GroupProps, GroupTypes } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes } from '../entity';\nimport { GroupDomainMapper, GroupTypesToGroupEntityTypesMapping } from './group-domain.mapper';\nimport { GroupScope } from './group.scope';\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 findByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[]): Promise {\n\t\tlet groupEntityTypes: GroupEntityTypes[] | undefined;\n\t\tif (groupTypes) {\n\t\t\tgroupEntityTypes = groupTypes.map((type: GroupTypes) => GroupTypesToGroupEntityTypesMapping[type]);\n\t\t}\n\n\t\tconst scope: Scope = new GroupScope().byUserId(user.id).byTypes(groupEntityTypes);\n\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, scope.query);\n\n\t\tconst domainObjects: Group[] = 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 findBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes?: GroupTypes[]): Promise {\n\t\tlet groupEntityTypes: GroupEntityTypes[] | undefined;\n\t\tif (groupTypes) {\n\t\t\tgroupEntityTypes = groupTypes.map((type: GroupTypes) => GroupTypesToGroupEntityTypesMapping[type]);\n\t\t}\n\n\t\tconst scope: Scope = new GroupScope().byOrganizationId(schoolId).byTypes(groupEntityTypes);\n\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, scope.query);\n\n\t\tconst domainObjects: Group[] = 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: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 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: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 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: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 resolvedGroup\n \n ResolvedGroupDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Page } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto } from '../../uc/dto';\nimport {\n\tClassInfoResponse,\n\tClassInfoSearchListResponse,\n\tExternalSourceResponse,\n\tGroupResponse,\n\tGroupTypeResponse,\n\tGroupUserResponse,\n} from '../dto';\n\nconst typeMapping: Record = {\n\t[GroupTypes.CLASS]: GroupTypeResponse.CLASS,\n\t[GroupTypes.COURSE]: GroupTypeResponse.COURSE,\n\t[GroupTypes.OTHER]: GroupTypeResponse.OTHER,\n};\n\nexport class GroupResponseMapper {\n\tstatic mapToClassInfosToListResponse(\n\t\tclassInfos: Page,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): ClassInfoSearchListResponse {\n\t\tconst mappedData: ClassInfoResponse[] = classInfos.data.map((classInfo) =>\n\t\t\tthis.mapToClassInfoToResponse(classInfo)\n\t\t);\n\n\t\tconst response: ClassInfoSearchListResponse = new ClassInfoSearchListResponse(\n\t\t\tmappedData,\n\t\t\tclassInfos.total,\n\t\t\tskip,\n\t\t\tlimit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tprivate static mapToClassInfoToResponse(classInfo: ClassInfoDto): ClassInfoResponse {\n\t\tconst mapped = new ClassInfoResponse({\n\t\t\tid: classInfo.id,\n\t\t\ttype: classInfo.type,\n\t\t\tname: classInfo.name,\n\t\t\texternalSourceName: classInfo.externalSourceName,\n\t\t\tteachers: classInfo.teacherNames,\n\t\t\tschoolYear: classInfo.schoolYear,\n\t\t\tisUpgradable: classInfo.isUpgradable,\n\t\t\tstudentCount: classInfo.studentCount,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToGroupResponse(resolvedGroup: ResolvedGroupDto): GroupResponse {\n\t\tconst mapped: GroupResponse = new GroupResponse({\n\t\t\tid: resolvedGroup.id,\n\t\t\tname: resolvedGroup.name,\n\t\t\ttype: typeMapping[resolvedGroup.type],\n\t\t\texternalSource: resolvedGroup.externalSource\n\t\t\t\t? new ExternalSourceResponse({\n\t\t\t\t\t\texternalId: resolvedGroup.externalSource.externalId,\n\t\t\t\t\t\tsystemId: resolvedGroup.externalSource.systemId,\n\t\t\t\t })\n\t\t\t\t: undefined,\n\t\t\tusers: resolvedGroup.users.map(\n\t\t\t\t(user) =>\n\t\t\t\t\tnew GroupUserResponse({\n\t\t\t\t\t\tid: user.user.id as string,\n\t\t\t\t\t\trole: user.role.name,\n\t\t\t\t\t\tfirstName: user.user.firstName,\n\t\t\t\t\t\tlastName: user.user.lastName,\n\t\t\t\t\t})\n\t\t\t),\n\t\t\torganizationId: resolvedGroup.organizationId,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupRoleUnknownLoggable.html":{"url":"classes/GroupRoleUnknownLoggable.html","title":"class - GroupRoleUnknownLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupRoleUnknownLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(relation: SanisSonstigeGruppenzugehoerigeResponse)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n relation\n \n \n SanisSonstigeGruppenzugehoerigeResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from '../strategy/sanis/response';\n\nexport class GroupRoleUnknownLoggable implements Loggable {\n\tconstructor(private readonly relation: SanisSonstigeGruppenzugehoerigeResponse) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.relation.ktid,\n\t\t\t\texternalRoleName: this.relation.rollen?.[0],\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRule.html":{"url":"injectables/GroupRule.html","title":"injectable - GroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: Group, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Group } from '@src/modules/group';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class GroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: Group): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof Group;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: Group, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t(domainObject.organizationId ? user.school.id === domainObject.organizationId : true);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupScope.html":{"url":"classes/GroupScope.html","title":"class - GroupScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupScope\n\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.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 byOrganizationId\n \n \n byTypes\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 byOrganizationId\n \n \n \n \n \n \nbyOrganizationId(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.scope.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 | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byTypes\n \n \n \n \n \n \nbyTypes(types: GroupEntityTypes[] | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.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 types\n \n GroupEntityTypes[] | 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(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.scope.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | 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 { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { GroupEntity, GroupEntityTypes } from '../entity';\n\nexport class GroupScope extends Scope {\n\tbyTypes(types: GroupEntityTypes[] | undefined): this {\n\t\tif (types) {\n\t\t\tthis.addQuery({ type: { $in: types } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyOrganizationId(id: EntityId | undefined): this {\n\t\tif (id) {\n\t\t\tthis.addQuery({ organization: id });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyUserId(id: EntityId | undefined): this {\n\t\tif (id) {\n\t\t\tthis.addQuery({ users: { user: new ObjectId(id) } });\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/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 findGroupsBySchoolIdAndGroupTypes\n \n \n Public\n Async\n findGroupsByUserAndGroupTypes\n \n \n Public\n Async\n save\n \n \n Public\n Async\n tryFindById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupRepo: GroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupRepo\n \n \n GroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByExternalSource\n \n \n \n \n \n \n \n findByExternalSource(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findGroupsBySchoolIdAndGroupTypes\n \n \n \n \n \n \n \n findGroupsBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n No\n \n\n\n \n \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 findGroupsByUserAndGroupTypes\n \n \n \n \n \n \n \n findGroupsByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n groupTypes\n \n GroupTypes[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n tryFindById\n \n \n \n \n \n \n \n tryFindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderServiceGeneric } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Group, GroupTypes } 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 });\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 findGroupsByUserAndGroupTypes(user: UserDO, groupTypes?: GroupTypes[]): Promise {\n\t\tconst groups: Group[] = await this.groupRepo.findByUserAndGroupTypes(user, groupTypes);\n\n\t\treturn groups;\n\t}\n\n\tpublic async findGroupsBySchoolIdAndGroupTypes(schoolId: EntityId, groupTypes: GroupTypes[]): Promise {\n\t\tconst group: Group[] = await this.groupRepo.findBySchoolIdAndGroupTypes(schoolId, groupTypes);\n\n\t\treturn group;\n\t}\n\n\tpublic async save(group: Group): Promise {\n\t\tconst savedGroup: Group = await this.groupRepo.save(group);\n\n\t\treturn savedGroup;\n\t}\n\n\tpublic async delete(group: Group): Promise {\n\t\tawait this.groupRepo.delete(group);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUcMapper.html":{"url":"classes/GroupUcMapper.html","title":"class - GroupUcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n Static\n mapGroupToClassInfoDto\n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n \n \n \n \n \n mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clazz\n \n Class\n \n\n \n No\n \n\n\n \n \n teachers\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n schoolYear\n \n SchoolYearEntity\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupToClassInfoDto\n \n \n \n \n \n \n \n mapGroupToClassInfoDto(group: Group, resolvedUsers: ResolvedGroupUser[], system?: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n system\n \n SystemDto\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n \n \n \n mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedGroupUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ResolvedGroupDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Class } from '@modules/class/domain';\nimport { SystemDto } from '@modules/system';\n\nimport { UserDO } from '@shared/domain/domainobject';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { Group } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto, ResolvedGroupUser } from '../dto';\nimport { ClassRootType } from '../dto/class-root-type';\n\nexport class GroupUcMapper {\n\tpublic static mapGroupToClassInfoDto(\n\t\tgroup: Group,\n\t\tresolvedUsers: ResolvedGroupUser[],\n\t\tsystem?: SystemDto\n\t): ClassInfoDto {\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: group.id,\n\t\t\ttype: ClassRootType.GROUP,\n\t\t\tname: group.name,\n\t\t\texternalSourceName: system?.displayName,\n\t\t\tteacherNames: resolvedUsers\n\t\t\t\t.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.TEACHER)\n\t\t\t\t.map((groupUser: ResolvedGroupUser) => groupUser.user.lastName),\n\t\t\tstudentCount: resolvedUsers.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.STUDENT)\n\t\t\t\t.length,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity): ClassInfoDto {\n\t\tconst name = clazz.gradeLevel ? `${clazz.gradeLevel}${clazz.name}` : clazz.name;\n\t\tconst isUpgradable = clazz.gradeLevel !== 13 && !clazz.successor;\n\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: clazz.id,\n\t\t\ttype: ClassRootType.CLASS,\n\t\t\tname,\n\t\t\texternalSourceName: clazz.source,\n\t\t\tteacherNames: teachers.map((user: UserDO) => user.lastName),\n\t\t\tschoolYear: schoolYear?.name,\n\t\t\tisUpgradable,\n\t\t\tstudentCount: clazz.userIds ? clazz.userIds.length : 0,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[]): ResolvedGroupDto {\n\t\tconst mapped: ResolvedGroupDto = new ResolvedGroupDto({\n\t\t\tid: group.id,\n\t\t\tname: group.name,\n\t\t\ttype: group.type,\n\t\t\texternalSource: group.externalSource,\n\t\t\tusers: resolvedGroupUsers,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUser.html":{"url":"classes/GroupUser.html","title":"class - GroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport class GroupUser {\n\tuserId: EntityId;\n\n\troleId: EntityId;\n\n\tconstructor(props: GroupUser) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserEntity.html":{"url":"classes/GroupUserEntity.html","title":"class - GroupUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUserEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUserEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUserEntityProps.html":{"url":"interfaces/GroupUserEntityProps.html","title":"interface - GroupUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserResponse.html":{"url":"classes/GroupUserResponse.html","title":"class - GroupUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/group-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: GroupUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n GroupUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: RoleName})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoleName } from '@shared/domain/interface';\n\nexport class GroupUserResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty({ enum: RoleName })\n\trole: RoleName;\n\n\tconstructor(user: GroupUserResponse) {\n\t\tthis.id = user.id;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.role = user.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUsers.html":{"url":"interfaces/GroupUsers.html","title":"interface - GroupUsers","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUsers\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupValidPeriodEntity.html":{"url":"classes/GroupValidPeriodEntity.html","title":"class - GroupValidPeriodEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupValidPeriodEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n until\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupValidPeriodEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupValidPeriodEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupValidPeriodEntityProps.html":{"url":"interfaces/GroupValidPeriodEntityProps.html","title":"interface - GroupValidPeriodEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupValidPeriodEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n \n until\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n \n \n until: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersCreated.html":{"url":"interfaces/GroupfoldersCreated.html","title":"interface - GroupfoldersCreated","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersCreated\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersFolder.html":{"url":"interfaces/GroupfoldersFolder.html","title":"interface - GroupfoldersFolder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersFolder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n folder_id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GuardAgainst.html":{"url":"classes/GuardAgainst.html","title":"class - GuardAgainst","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GuardAgainst\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/guard-against.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n \n \n \n nullOrUndefined(value: T | null | undefined, toThrow)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/guard-against.ts:8\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n Guards against null or undefined and throws specified exception.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n The value to check.\n\n \n \n \n toThrow\n \n \n\n \n No\n \n\n\n \n The exception to be thrown on failure.\n\n \n \n \n \n \n \n Returns : T | never\n\n \n \n The narrowed value or throws.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class GuardAgainst {\n\t/**\n\t * Guards against null or undefined and throws specified exception.\n\t * @param value The value to check.\n\t * @param toThrow The exception to be thrown on failure.\n\t * @returns The narrowed value or throws.\n\t */\n\tstatic nullOrUndefined(value: T | null | undefined, toThrow: unknown): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow toThrow;\n\t\t}\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5PContent.html":{"url":"entities/H5PContent.html","title":"entity - H5PContent","body":"\n \n\n\n\n\n\n\n\n Entities\n H5PContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n _parentId\n \n \n \n _schoolId\n \n \n \n content\n \n \n \n metadata\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:122\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:141\n \n \n\n\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Decorators : \n \n \n @Property({type: JsonType})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:151\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : ContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:148\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:130\n \n \n\n\n \n \n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentFactory.html":{"url":"classes/H5PContentFactory.html","title":"class - H5PContentFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-content.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContentMetadata,\n\tH5PContent,\n\tH5PContentParentType,\n\tH5PContentProperties,\n} from '@src/modules/h5p-editor/entity';\nimport { ObjectID } from 'bson';\nimport { BaseFactory } from './base.factory';\n\nclass H5PContentFactory extends BaseFactory {}\n\nexport const h5pContentFactory = H5PContentFactory.define(H5PContent, ({ sequence }) => {\n\treturn {\n\t\tparentType: H5PContentParentType.Lesson,\n\t\tparentId: new ObjectID().toHexString(),\n\t\tcreatorId: new ObjectID().toHexString(),\n\t\tschoolId: new ObjectID().toHexString(),\n\t\tcontent: {\n\t\t\t[`field${sequence}`]: sequence,\n\t\t\tdateField: new Date(sequence),\n\t\t\tthisObjectHasNoStructure: true,\n\t\t\tnested: {\n\t\t\t\tworks: true,\n\t\t\t},\n\t\t},\n\t\tmetadata: new ContentMetadata({\n\t\t\tdefaultLanguage: 'de-de',\n\t\t\tembedTypes: ['iframe'],\n\t\t\tlanguage: 'de-de',\n\t\t\tlicense: `License #${sequence}`,\n\t\t\tmainLibrary: `Library-${sequence}.0`,\n\t\t\tpreloadedDependencies: [],\n\t\t\ttitle: `Title #${sequence}`,\n\t\t}),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMapper.html":{"url":"classes/H5PContentMapper.html","title":"class - H5PContentMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: H5PContentParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n H5PContentParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@src/modules/authorization/domain';\nimport { H5PContentParentType } from '../entity';\n\nexport class H5PContentMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: H5PContentParentType): AuthorizableReferenceType {\n\t\tconst types = new Map();\n\n\t\ttypes.set(H5PContentParentType.Lesson, AuthorizableReferenceType.Lesson);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMetadata.html":{"url":"classes/H5PContentMetadata.html","title":"class - H5PContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n mainLibrary\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:68\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentParentParams.html":{"url":"interfaces/H5PContentParentParams.html","title":"interface - H5PContentParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentProperties.html":{"url":"interfaces/H5PContentProperties.html","title":"interface - H5PContentProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creatorId\n \n \n \n \n metadata\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: ContentMetadata\n\n \n \n\n\n \n \n Type : ContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PContentRepo.html":{"url":"injectables/H5PContentRepo.html","title":"injectable - H5PContentRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PContentRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteContent\n \n \n Async\n existsOne\n \n \n Async\n findById\n \n \n Async\n getAllContents\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteContent\n \n \n \n \n \n \n \n deleteContent(content: H5PContent)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n H5PContent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n existsOne\n \n \n \n \n \n \n \n existsOne(contentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(contentId: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllContents\n \n \n \n \n \n \n \n getAllContents()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5PContent } from '../entity';\n\n@Injectable()\nexport class H5PContentRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5PContent;\n\t}\n\n\tasync existsOne(contentId: EntityId): Promise {\n\t\tconst entityCount = await this._em.count(this.entityName, { id: contentId });\n\n\t\treturn entityCount === 1;\n\t}\n\n\tasync deleteContent(content: H5PContent): Promise {\n\t\treturn this.delete(content);\n\t}\n\n\tasync findById(contentId: EntityId): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { id: contentId });\n\t}\n\n\tasync getAllContents(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentResponse.html":{"url":"interfaces/H5PContentResponse.html","title":"interface - H5PContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p\n \n \n \n \n library\n \n \n \n \n params\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p\n \n \n \n \n \n \n \n \n h5p: IContentMetadata\n\n \n \n\n\n \n \n Type : IContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n \n \n library: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n \n \n params: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/H5PEditorController.html":{"url":"controllers/H5PEditorController.html","title":"controller - H5PEditorController","body":"\n \n\n\n\n\n\n\n Controllers\n H5PEditorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts\n \n\n \n Prefix\n \n \n h5p-editor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n Async\n deleteH5pContent\n \n \n \n Async\n getAjax\n \n \n \n Async\n getContentFile\n \n \n \n Async\n getContentParameters\n \n \n \n \n Async\n getH5PEditor\n \n \n \n Async\n getLibraryFile\n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n Async\n getTemporaryFile\n \n \n \n \n Async\n postAjax\n \n \n \n \n Async\n saveH5pContent\n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n \n \n \n \n createH5pContent(body: PostH5PContentCreateParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteH5pContent\n \n \n \n \n \n \n \n deleteH5pContent(params: GetH5PContentParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/delete/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAjax\n \n \n \n \n \n \n \n getAjax(query: AjaxGetQueryParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('ajax')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n AjaxGetQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentFile\n \n \n \n \n \n \n \n getContentFile(params: ContentFileUrlParams, req: Request, res: Response, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('content/:id/:filename(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ContentFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentParameters\n \n \n \n \n \n \n \n getContentParameters(id: string, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('params/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getH5PEditor\n \n \n \n \n \n \n \n getH5PEditor(params: GetH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:contentId/:language')@ApiResponse({status: 200, type: H5PEditorModelContentResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLibraryFile\n \n \n \n \n \n \n \n getLibraryFile(params: LibraryFileUrlParams, req: Request)\n \n \n\n \n \n Decorators : \n \n @Get('libraries/:ubername/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LibraryFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n getNewH5PEditor(params: GetH5PEditorParamsCreate, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:language')@ApiResponse({status: 200, type: H5PEditorModelResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:162\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParamsCreate\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n \n \n \n \n getPlayer(currentUser: ICurrentUser, params: GetH5PContentParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Return dummy HTML for testing'})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 400, type: BadRequestException})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get('/play/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTemporaryFile\n \n \n \n \n \n \n \n getTemporaryFile(currentUser: ICurrentUser, file: string, req: Request, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('temp-files/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n file\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n postAjax\n \n \n \n \n \n \n \n postAjax(body: AjaxPostBodyParams, query: AjaxPostQueryParams, currentUser: ICurrentUser, files?: literal type)\n \n \n\n \n \n Decorators : \n \n @Post('ajax')@UseInterceptors(undefined)\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n query\n \n AjaxPostQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n files\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveH5pContent\n \n \n \n \n \n \n \n saveH5pContent(body: PostH5PContentCreateParams, params: SaveH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit/:contentId')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n params\n \n SaveH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n \n \n \n setRangeResponseHeaders(res: Response, contentLength: number, range?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:219\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n contentLength\n \n number\n \n\n \n No\n \n\n\n \n \n range\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Authenticate } from '@modules/authentication/decorator/auth.decorator';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n\tQuery,\n\tReq,\n\tRes,\n\tStreamableFile,\n\tUploadedFiles,\n\tUseInterceptors,\n} from '@nestjs/common';\nimport { FileFieldsInterceptor } from '@nestjs/platform-express';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { Request, Response } from 'express';\nimport { H5PEditorUc } from '../uc/h5p.uc';\n\nimport {\n\tAjaxGetQueryParams,\n\tAjaxPostBodyParams,\n\tAjaxPostQueryParams,\n\tContentFileUrlParams,\n\tGetH5PContentParams,\n\tGetH5PEditorParams,\n\tGetH5PEditorParamsCreate,\n\tLibraryFileUrlParams,\n\tPostH5PContentCreateParams,\n\tSaveH5PEditorParams,\n} from './dto';\nimport { AjaxPostBodyParamsTransformPipe } from './dto/ajax/post.body.params.transform-pipe';\nimport { H5PEditorModelContentResponse, H5PEditorModelResponse, H5PSaveResponse } from './dto/h5p-editor.response';\n\n@ApiTags('h5p-editor')\n@Authenticate('jwt')\n@Controller('h5p-editor')\nexport class H5PEditorController {\n\tconstructor(private h5pEditorUc: H5PEditorUc) {}\n\n\t@ApiOperation({ summary: 'Return dummy HTML for testing' })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 400, type: BadRequestException })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get('/play/:contentId')\n\tasync getPlayer(@CurrentUser() currentUser: ICurrentUser, @Param() params: GetH5PContentParams) {\n\t\treturn this.h5pEditorUc.getH5pPlayer(currentUser, params.contentId);\n\t}\n\n\t// Other Endpoints (incomplete list), paths not final\n\t// - getLibrary \t\t\t(e.g. GET `/libraries/:uberName/:file(*)`)\n\t// - getContentFile \t\t\t(e.g. GET `/content/:contentId/:file(*)`)\n\t// - getTempFile \t\t\t(e.g. GET `/temp/:file(*)`)\n\t// - ajax endpoint for h5p \t\t(e.g. GET/POST `/ajax/*`)\n\t// - static files from h5p-core\t(e.g. GET `/core/*`)\n\t// - static files for editor\t(e.g. GET `/editor/*`)\n\n\t@Get('libraries/:ubername/:file(*)')\n\tasync getLibraryFile(@Param() params: LibraryFileUrlParams, @Req() req: Request) {\n\t\tconst { data, contentType, contentLength } = await this.h5pEditorUc.getLibraryFile(params.ubername, params.file);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('params/:id')\n\tasync getContentParameters(@Param('id') id: string, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst content = await this.h5pEditorUc.getContentParameters(id, currentUser);\n\n\t\treturn content;\n\t}\n\n\t@Get('content/:id/:filename(*)')\n\tasync getContentFile(\n\t\t@Param() params: ContentFileUrlParams,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getContentFile(\n\t\t\tparams.id,\n\t\t\tparams.filename,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('temp-files/:file(*)')\n\tasync getTemporaryFile(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('file') file: string,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getTemporaryFile(\n\t\t\tfile,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('ajax')\n\tasync getAjax(@Query() query: AjaxGetQueryParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = this.h5pEditorUc.getAjax(query, currentUser);\n\n\t\treturn response;\n\t}\n\n\t@Post('ajax')\n\t@UseInterceptors(\n\t\tFileFieldsInterceptor([\n\t\t\t{ name: 'file', maxCount: 1 },\n\t\t\t{ name: 'h5p', maxCount: 1 },\n\t\t])\n\t)\n\tasync postAjax(\n\t\t@Body(AjaxPostBodyParamsTransformPipe) body: AjaxPostBodyParams,\n\t\t@Query() query: AjaxPostQueryParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@UploadedFiles() files?: { file?: Express.Multer.File[]; h5p?: Express.Multer.File[] }\n\t) {\n\t\tconst contentFile = files?.file?.[0];\n\t\tconst h5pFile = files?.h5p?.[0];\n\n\t\tconst result = await this.h5pEditorUc.postAjax(currentUser, query, body, contentFile, h5pFile);\n\n\t\treturn result;\n\t}\n\n\t@Post('/delete/:contentId')\n\tasync deleteH5pContent(\n\t\t@Param() params: GetH5PContentParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst deleteSuccessfull = this.h5pEditorUc.deleteH5pContent(currentUser, params.contentId);\n\n\t\treturn deleteSuccessfull;\n\t}\n\n\t@Get('/edit/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelResponse })\n\tasync getNewH5PEditor(@Param() params: GetH5PEditorParamsCreate, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst editorModel = await this.h5pEditorUc.getEmptyH5pEditor(currentUser, params.language);\n\n\t\treturn new H5PEditorModelResponse(editorModel);\n\t}\n\n\t@Get('/edit/:contentId/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelContentResponse })\n\tasync getH5PEditor(@Param() params: GetH5PEditorParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst { editorModel, content } = await this.h5pEditorUc.getH5pEditor(\n\t\t\tcurrentUser,\n\t\t\tparams.contentId,\n\t\t\tparams.language\n\t\t);\n\n\t\treturn new H5PEditorModelContentResponse(editorModel, content);\n\t}\n\n\t@Post('/edit')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync createH5pContent(@Body() body: PostH5PContentCreateParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = await this.h5pEditorUc.createH5pContentGetMetadata(\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\t@Post('/edit/:contentId')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync saveH5pContent(\n\t\t@Body() body: PostH5PContentCreateParams,\n\t\t@Param() params: SaveH5PEditorParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst response = await this.h5pEditorUc.saveH5pContentGetMetadata(\n\t\t\tparams.contentId,\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\tprivate static setRangeResponseHeaders(res: Response, contentLength: number, range?: { start: number; end: number }) {\n\t\tif (range) {\n\t\t\tconst contentRangeHeader = `bytes ${range.start}-${range.end}/${contentLength}`;\n\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': contentRangeHeader,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelContentResponse.html":{"url":"classes/H5PEditorModelContentResponse.html","title":"class - H5PEditorModelContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n \n Extends\n \n \n H5PEditorModelResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n library\n \n \n \n metadata\n \n \n \n params\n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel, content: H5PContentResponse)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:42\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n content\n \n \n H5PContentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelResponse.html":{"url":"classes/H5PEditorModelResponse.html","title":"class - H5PEditorModelResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorModule.html":{"url":"modules/H5PEditorModule.html","title":"module - H5PEditorModule","body":"\n \n\n\n\n\n Modules\n H5PEditorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorModule\n\n\n\ncluster_H5PEditorModule_providers\n\n\n\ncluster_H5PEditorModule_exports\n\n\n\ncluster_H5PEditorModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorModule -->\n\nAuthenticationModule->H5PEditorModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorModule -->\n\nAuthorizationReferenceModule->H5PEditorModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorModule -->\n\nCoreModule->H5PEditorModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PEditorModule -->\n\nRabbitMQWrapperModule->H5PEditorModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorModule -->\n\nS3ClientModule->H5PEditorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorModule -->\n\nUserModule->H5PEditorModule\n\n\n\n\n\nContentStorage \n\nContentStorage \n\nContentStorage -->\n\nH5PEditorModule->ContentStorage \n\n\n\n\n\nLibraryStorage \n\nLibraryStorage \n\nLibraryStorage -->\n\nH5PEditorModule->LibraryStorage \n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorModule -->\n\nContentStorage->H5PEditorModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorModule -->\n\nH5PContentRepo->H5PEditorModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorModule -->\n\nH5PEditorUc->H5PEditorModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorModule -->\n\nLibraryRepo->H5PEditorModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorModule -->\n\nLibraryStorage->H5PEditorModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PEditorModule -->\n\nLogger->H5PEditorModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorModule -->\n\nTemporaryFileRepo->H5PEditorModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorModule -->\n\nTemporaryFileStorage->H5PEditorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n Logger\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ContentStorage\n \n \n LibraryStorage\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorController } from './controller/h5p-editor.controller';\nimport { H5PContent, H5pEditorTempFile, InstalledLibrary } from './entity';\nimport { config, s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst imports = [\n\tAuthenticationModule,\n\tAuthorizationReferenceModule,\n\tCoreModule,\n\tUserModule,\n\tRabbitMQWrapperModule,\n\tMikroOrmModule.forRoot({\n\t\t...defaultMikroOrmOptions,\n\t\ttype: 'mongo',\n\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\tclientUrl: DB_URL,\n\t\tpassword: DB_PASSWORD,\n\t\tuser: DB_USERNAME,\n\t\t// Needs ALL_ENTITIES for authorization\n\t\tallowGlobalContext: true,\n\t\tentities: [...ALL_ENTITIES, H5PContent, H5pEditorTempFile, InstalledLibrary],\n\t}),\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [H5PEditorController];\n\nconst providers = [\n\tLogger,\n\tH5PEditorUc,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tH5PEditorProvider,\n\tH5PPlayerProvider,\n\tH5PAjaxEndpointProvider,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [ContentStorage, LibraryStorage],\n})\nexport class H5PEditorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorTestModule.html":{"url":"modules/H5PEditorTestModule.html","title":"module - H5PEditorTestModule","body":"\n \n\n\n\n\n Modules\n H5PEditorTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorTestModule\n\n\n\ncluster_H5PEditorTestModule_imports\n\n\n\ncluster_H5PEditorTestModule_providers\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nH5PEditorTestModule\n\nH5PEditorTestModule\n\nH5PEditorTestModule -->\n\nAuthenticationApiModule->H5PEditorTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nH5PEditorTestModule -->\n\nAuthenticationModule->H5PEditorTestModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorTestModule -->\n\nAuthorizationReferenceModule->H5PEditorTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorTestModule -->\n\nCoreModule->H5PEditorTestModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorTestModule -->\n\nH5PEditorModule->H5PEditorTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nH5PEditorTestModule -->\n\nLoggerModule->H5PEditorTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nH5PEditorTestModule -->\n\nMongoMemoryDatabaseModule->H5PEditorTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nH5PEditorTestModule -->\n\nRabbitMQWrapperTestModule->H5PEditorTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorTestModule -->\n\nS3ClientModule->H5PEditorTestModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorTestModule -->\n\nUserModule->H5PEditorTestModule\n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorTestModule -->\n\nContentStorage->H5PEditorTestModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorTestModule -->\n\nH5PContentRepo->H5PEditorTestModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorTestModule -->\n\nH5PEditorUc->H5PEditorTestModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorTestModule -->\n\nLibraryRepo->H5PEditorTestModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorTestModule -->\n\nLibraryStorage->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorTestModule -->\n\nTemporaryFileRepo->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorTestModule -->\n\nTemporaryFileStorage->H5PEditorTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { H5PEditorController } from './controller';\nimport { H5PContent } from './entity';\nimport { s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PEditorModule } from './h5p-editor.module';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst imports = [\n\tH5PEditorModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, H5PContent] }),\n\tAuthenticationApiModule,\n\tAuthorizationReferenceModule,\n\tAuthenticationModule,\n\tUserModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\nconst controllers = [H5PEditorController];\nconst providers = [\n\tH5PEditorUc,\n\tH5PPlayerProvider,\n\tH5PEditorProvider,\n\tH5PAjaxEndpointProvider,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class H5PEditorTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: H5PEditorTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PErrorMapper.html":{"url":"classes/H5PErrorMapper.html","title":"class - H5PErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n \n \n \n mapH5pError(error: H5pError)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n H5pError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pError } from '@lumieducation/h5p-server';\nimport { HttpException } from '@nestjs/common';\n\nexport class H5PErrorMapper {\n\tpublic mapH5pError(error: H5pError) {\n\t\treturn new HttpException(error.message, error.httpStatusCode);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PLibraryManagementModule.html":{"url":"modules/H5PLibraryManagementModule.html","title":"module - H5PLibraryManagementModule","body":"\n \n\n\n\n\n Modules\n H5PLibraryManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PLibraryManagementModule\n\n\n\ncluster_H5PLibraryManagementModule_providers\n\n\n\ncluster_H5PLibraryManagementModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule -->\n\nCoreModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PLibraryManagementModule -->\n\nH5PEditorModule->H5PLibraryManagementModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PLibraryManagementModule -->\n\nRabbitMQWrapperModule->H5PLibraryManagementModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PLibraryManagementModule -->\n\nS3ClientModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PLibraryManagementService\n\nH5PLibraryManagementService\n\nH5PLibraryManagementModule -->\n\nH5PLibraryManagementService->H5PLibraryManagementModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PLibraryManagementModule -->\n\nLogger->H5PLibraryManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-library-management/h5p-library-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n H5PLibraryManagementService\n \n \n Logger\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorModule, s3ConfigContent, s3ConfigLibraries } from '@modules/h5p-editor';\nimport { H5PLibraryManagementService, h5PLibraryManagementConfig } from './service';\n\nconst imports = [\n\tConfigModule.forRoot(createConfigModuleOptions(h5PLibraryManagementConfig)),\n\tCoreModule,\n\tH5PEditorModule,\n\tRabbitMQWrapperModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [];\n\nconst providers = [Logger, H5PLibraryManagementService];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [],\n})\nexport class H5PLibraryManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PLibraryManagementService.html":{"url":"injectables/H5PLibraryManagementService.html","title":"injectable - H5PLibraryManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PLibraryManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentTypeCache\n \n \n contentTypeRepo\n \n \n libraryAdministration\n \n \n libraryManager\n \n \n libraryWishList\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n Private\n createDefaultIUser\n \n \n Public\n Async\n installLibraries\n \n \n Public\n Async\n run\n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(libraryStorage: LibraryStorage, contentStorage: ContentStorage, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n libraryStorage\n \n \n LibraryStorage\n \n \n \n No\n \n \n \n \n contentStorage\n \n \n ContentStorage\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n \n \n \n \n \n checkContentTypeExists(contentType: IHubContentType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentType\n \n IHubContentType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createDefaultIUser\n \n \n \n \n \n \n \n createDefaultIUser()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:116\n \n \n\n\n \n \n\n \n Returns : IUser\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n installLibraries\n \n \n \n \n \n \n \n installLibraries(librariesToInstall: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n librariesToInstall\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n run\n \n \n \n \n \n \n \n run()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:145\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n \n \n \n uninstallUnwantedLibraries(wantedLibraries: string[], librariesToCheck: ILibraryAdministrationOverviewItem[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n wantedLibraries\n \n string[]\n \n\n \n No\n \n\n\n \n \n librariesToCheck\n \n ILibraryAdministrationOverviewItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentTypeCache\n \n \n \n \n \n \n Type : ContentTypeCache\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n contentTypeRepo\n \n \n \n \n \n \n Type : ContentTypeInformationRepository\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n libraryAdministration\n \n \n \n \n \n \n Type : LibraryAdministration\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n libraryManager\n \n \n \n \n \n \n Type : LibraryManager\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n libraryWishList\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PSaveResponse.html":{"url":"classes/H5PSaveResponse.html","title":"class - H5PSaveResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PSaveResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentId\n \n \n \n metadata\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:74\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : H5PContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: H5PContentMetadata})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PTemporaryFileFactory.html":{"url":"classes/H5PTemporaryFileFactory.html","title":"class - H5PTemporaryFileFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PTemporaryFileFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isExpired\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isExpired\n \n \n \n \n \n \nisExpired()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pEditorTempFile, TemporaryFileProperties } from '@src/modules/h5p-editor/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass H5PTemporaryFileFactory extends BaseFactory {\n\tisExpired(): this {\n\t\tconst birthtime = new Date(Date.now() - oneDay * 2); // Created two days ago\n\t\tconst expiresAt = new Date(Date.now() - oneDay); // Expired yesterday\n\t\tconst params: DeepPartial = { expiresAt, birthtime };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const h5pTemporaryFileFactory = H5PTemporaryFileFactory.define(H5pEditorTempFile, ({ sequence }) => {\n\treturn {\n\t\tfilename: `File-${sequence}.txt`,\n\t\townedByUserId: `user-${sequence}`,\n\t\tbirthtime: new Date(Date.now() - oneDay), // Yesterday\n\t\texpiresAt: new Date(Date.now() + oneDay), // Tomorrow\n\t\tsize: sequence,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5pEditorTempFile.html":{"url":"entities/H5pEditorTempFile.html","title":"entity - H5pEditorTempFile","body":"\n \n\n\n\n\n\n\n\n Entities\n H5pEditorTempFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n expiresAt\n \n \n \n filename\n \n \n \n ownedByUserId\n \n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:19\n \n \n\n \n \n The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\n \n \n\n \n \n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5pFileDto.html":{"url":"classes/H5pFileDto.html","title":"class - H5pFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5pFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: H5pFileDto)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n H5pFileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/HtmlMailContent.html":{"url":"interfaces/HtmlMailContent.html","title":"interface - HtmlMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n HtmlMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n htmlContent\n \n \n \n Optional\n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraOauthFailedLoggableException.html":{"url":"classes/HydraOauthFailedLoggableException.html","title":"class - HydraOauthFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraOauthFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class HydraOauthFailedLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'HYDRA_OAUTH_FAILED');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraOauthUc.html":{"url":"injectables/HydraOauthUc.html","title":"injectable - HydraOauthUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraOauthUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n Protected\n validateStatus\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthToken\n \n \n Private\n Async\n processRedirectCascade\n \n \n Async\n requestAuthCode\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, hydraSsoService: HydraSsoService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n hydraSsoService\n \n \n HydraSsoService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthToken\n \n \n \n \n \n \n \n getOauthToken(oauthClientId: string, code?: string, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n processRedirectCascade\n \n \n \n \n \n \n \n processRedirectCascade(initResponse: AxiosResponse, jwt: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n initResponse\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthCode\n \n \n \n \n \n \n \n requestAuthCode(jwt: string, oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Protected\n validateStatus\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:40\n \n \n\n\n \n \n\n\n \n\n\n \n import { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthTokenDto } from '../interface';\nimport { AuthCodeFailureLoggableException } from '../loggable';\nimport { HydraSsoService, OAuthService } from '../service';\n\n@Injectable()\nexport class HydraOauthUc {\n\tconstructor(\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly hydraSsoService: HydraSsoService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(HydraOauthUc.name);\n\t}\n\n\tprivate readonly MAX_REDIRECTS: number = 10;\n\n\tasync getOauthToken(oauthClientId: string, code?: string, error?: string): Promise {\n\t\tif (error || !code) {\n\t\t\tthrow new AuthCodeFailureLoggableException(error);\n\t\t}\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.oauthService.requestToken(\n\t\t\tcode,\n\t\t\thydraOauthConfig,\n\t\t\thydraOauthConfig.redirectUri\n\t\t);\n\n\t\tawait this.oauthService.validateToken(oauthTokens.idToken, hydraOauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tprotected validateStatus = (status: number): boolean => status === 200 || status === 302;\n\n\tasync requestAuthCode(jwt: string, oauthClientId: string): Promise {\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {},\n\t\t\twithCredentials: true,\n\t\t\tmaxRedirects: 0,\n\t\t\tvalidateStatus: this.validateStatus,\n\t\t};\n\n\t\tconst initResponse = await this.hydraSsoService.initAuth(hydraOauthConfig, axiosConfig);\n\n\t\tconst response: AxiosResponse = await this.processRedirectCascade(initResponse, jwt);\n\n\t\tconst authParams: AuthorizationParams = response.data as AuthorizationParams;\n\t\treturn authParams;\n\t}\n\n\tprivate async processRedirectCascade(\n\t\tinitResponse: AxiosResponse,\n\t\tjwt: string\n\t): Promise> {\n\t\tlet dto = new HydraRedirectDto({\n\t\t\tcurrentRedirect: 0,\n\t\t\treferer: '',\n\t\t\tcookies: { localCookies: [`jwt=${jwt}`], hydraCookies: [] },\n\t\t\tresponse: initResponse,\n\t\t\taxiosConfig: initResponse.config,\n\t\t});\n\n\t\tdo {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tdto = await this.hydraSsoService.processRedirect(dto);\n\t\t} while (dto.response.status === 302 && dto.currentRedirect = this.MAX_REDIRECTS) {\n\t\t\tthrow new InternalServerErrorException(`Redirect limit of ${this.MAX_REDIRECTS} exceeded.`);\n\t\t}\n\t\treturn dto.response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraRedirectDto.html":{"url":"classes/HydraRedirectDto.html","title":"class - HydraRedirectDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraRedirectDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n axiosConfig\n \n \n cookies\n \n \n currentRedirect\n \n \n referer\n \n \n response\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: HydraRedirectDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n HydraRedirectDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n axiosConfig\n \n \n \n \n \n \n Type : AxiosRequestConfig\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n cookies\n \n \n \n \n \n \n Type : CookiesDto\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n currentRedirect\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n referer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n Type : AxiosResponse\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\n\nexport class HydraRedirectDto {\n\tconstructor(props: HydraRedirectDto) {\n\t\tthis.currentRedirect = props.currentRedirect;\n\t\tthis.referer = props.referer;\n\t\tthis.cookies = props.cookies;\n\t\tthis.response = props.response;\n\t\tthis.axiosConfig = props.axiosConfig;\n\t}\n\n\tcurrentRedirect: number;\n\n\treferer: string;\n\n\tcookies: CookiesDto;\n\n\tresponse: AxiosResponse;\n\n\taxiosConfig: AxiosRequestConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraSsoService.html":{"url":"injectables/HydraSsoService.html","title":"injectable - HydraSsoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraSsoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/hydra.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generateConfig\n \n \n Private\n get\n \n \n Async\n initAuth\n \n \n Protected\n processCookies\n \n \n Async\n processRedirect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiRepo: LtiToolRepo, httpService: HttpService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generateConfig\n \n \n \n \n \n \n \n generateConfig(oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(url: string, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n initAuth\n \n \n \n \n \n \n \n initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n processCookies\n \n \n \n \n \n \n \n processCookies(setCookies: string[], cookies: CookiesDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n setCookies\n \n string[]\n \n\n \n No\n \n\n\n \n \n cookies\n \n CookiesDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CookiesDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n processRedirect\n \n \n \n \n \n \n \n processRedirect(dto: HydraRedirectDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n HydraRedirectDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : Configuration.get('HOST') as string\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:27\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { AuthorizationParams } from '@modules/oauth/controller/dto/authorization.params';\nimport { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, InternalServerErrorException } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { nanoid } from 'nanoid';\nimport QueryString from 'qs';\nimport { Observable, firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class HydraSsoService {\n\tconstructor(\n\t\tprivate readonly ltiRepo: LtiToolRepo,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\tprivate readonly HOST: string = Configuration.get('HOST') as string;\n\n\tasync initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst query = QueryString.stringify({\n\t\t\tresponse_type: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tclient_id: oauthConfig.clientId,\n\t\t\tredirect_uri: oauthConfig.redirectUri,\n\t\t\tstate: nanoid(15),\n\t\t});\n\t\tthis.logger.log(`${oauthConfig.authEndpoint}?${query}`);\n\t\tthis.logger.log(axiosConfig);\n\t\tconst res: Promise = this.get(`${oauthConfig.authEndpoint}?${query}`, axiosConfig);\n\t\treturn res;\n\t}\n\n\tasync processRedirect(dto: HydraRedirectDto): Promise {\n\t\tconst localDto: HydraRedirectDto = new HydraRedirectDto(dto);\n\t\tlet location = '';\n\n\t\tif (typeof localDto.response.headers.location === 'string') {\n\t\t\t({ location } = localDto.response.headers);\n\t\t}\n\n\t\tconst isLocal = !location.startsWith('http');\n\t\tconst isHydra = location.startsWith(Configuration.get('HYDRA_PUBLIC_URI') as string);\n\n\t\t// locations of schulcloud cookies are a relative path\n\t\tif (isLocal) {\n\t\t\tlocation = `${this.HOST}${location}`;\n\t\t}\n\n\t\tif (localDto.response.headers['set-cookie']) {\n\t\t\tlocalDto.cookies = this.processCookies(localDto.response.headers['set-cookie'], dto.cookies);\n\t\t}\n\n\t\tconst headerCookies: string = isHydra\n\t\t\t? localDto.cookies.hydraCookies.join('; ')\n\t\t\t: localDto.cookies.localCookies.join('; ');\n\n\t\tlocalDto.axiosConfig.headers = {\n\t\t\tReferer: localDto.referer,\n\t\t\tCookie: headerCookies,\n\t\t};\n\t\tthis.logger.log(localDto);\n\t\tlocalDto.response = await this.get(location, localDto.axiosConfig);\n\t\tlocalDto.referer = location;\n\t\tlocalDto.currentRedirect += 1;\n\n\t\treturn localDto;\n\t}\n\n\tprotected processCookies(setCookies: string[], cookies: CookiesDto): CookiesDto {\n\t\tconst { localCookies } = cookies;\n\t\tconst { hydraCookies } = cookies;\n\n\t\tsetCookies.forEach((item: string): void => {\n\t\t\tconst cookie: string = item.split(';')[0];\n\t\t\tif (cookie.startsWith('oauth2') && !hydraCookies.includes(cookie)) {\n\t\t\t\thydraCookies.push(cookie);\n\t\t\t} else if (!localCookies.includes(cookie)) {\n\t\t\t\tlocalCookies.push(cookie);\n\t\t\t}\n\t\t});\n\n\t\tconst cookiesDto = new CookiesDto({\n\t\t\tlocalCookies,\n\t\t\thydraCookies,\n\t\t});\n\t\treturn cookiesDto;\n\t}\n\n\tasync generateConfig(oauthClientId: string): Promise {\n\t\tconst tool: LtiToolDO = await this.ltiRepo.findByOauthClientId(oauthClientId);\n\n\t\t// Needs to be checked, because the fields can be undefined\n\t\tif (!tool.oAuthClientId || !tool.secret) {\n\t\t\tthrow new InternalServerErrorException(oauthClientId, 'Suitable tool not found!');\n\t\t}\n\n\t\tconst hydraUri: string = Configuration.get('HYDRA_PUBLIC_URI') as string;\n\t\tconst hydraOauthConfig = new OauthConfigEntity({\n\t\t\tauthEndpoint: `${hydraUri}/oauth2/auth`,\n\t\t\tclientId: tool.oAuthClientId,\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(tool.secret),\n\t\t\tgrantType: 'authorization_code',\n\t\t\tissuer: `${hydraUri}/`,\n\t\t\tjwksEndpoint: `${hydraUri}/.well-known/jwks.json`,\n\t\t\tlogoutEndpoint: `${hydraUri}/oauth2/sessions/logout`,\n\t\t\tprovider: 'hydra',\n\t\t\tredirectUri: `${Configuration.get('HOST') as string}/api/v3/sso/hydra/${oauthClientId}`,\n\t\t\tresponseType: 'code',\n\t\t\tscope: Configuration.get('NEXTCLOUD_SCOPES') as string, // Only Nextcloud is currently supported\n\t\t\ttokenEndpoint: `${hydraUri}/oauth2/token`,\n\t\t});\n\n\t\treturn hydraOauthConfig;\n\t}\n\n\tprivate get(url: string, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst respObservable: Observable = this.httpService.get(url, axiosConfig);\n\t\tconst res: Promise = firstValueFrom(respObservable);\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IBbbSettings.html":{"url":"interfaces/IBbbSettings.html","title":"interface - IBbbSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IBbbSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n host\n \n \n \n \n presentationUrl\n \n \n \n \n salt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n host\n \n \n \n \n \n \n \n \n host: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n presentationUrl\n \n \n \n \n \n \n \n \n presentationUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n salt\n \n \n \n \n \n \n \n \n salt: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const BbbSettings = Symbol('BbbSettings');\n\nexport interface IBbbSettings {\n\thost: string;\n\tsalt: string;\n\tpresentationUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeFileBuilder.html":{"url":"interfaces/ICommonCartridgeFileBuilder.html","title":"interface - ICommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n addResourceToFile\n \n \n \n \n build\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeOrganizationBuilder.html":{"url":"interfaces/ICommonCartridgeOrganizationBuilder.html","title":"interface - ICommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICurrentUser.html":{"url":"interfaces/ICurrentUser.html","title":"interface - ICurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/user.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n Optional\n \n impersonated\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n account id as EntityId\n\n \n \n \n \n \n \n \n \n \n impersonated\n \n \n \n \n \n \n \n \n impersonated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if a support member impersonates the user\n\n \n \n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n True if the user is an external user e.g. an oauth user or ldap user\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n users role ids as EntityId[]\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n users schoolId as EntityId\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n true if user is provided by external system -> no pw change in first login\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n authenticated users id\n\n \n \n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ICurrentUser {\n\t/** authenticated users id */\n\tuserId: EntityId;\n\t/** users role ids as EntityId[] */\n\troles: EntityId[];\n\t/** users schoolId as EntityId */\n\tschoolId: EntityId;\n\t/** account id as EntityId */\n\taccountId: EntityId;\n\n\t/** true if user is provided by external system -> no pw change in first login */\n\tsystemId?: EntityId;\n\n\t/** True if a support member impersonates the user */\n\timpersonated?: boolean;\n\n\t/** True if the user is an external user e.g. an oauth user or ldap user */\n\tisExternalUser: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IDashboardRepo.html":{"url":"interfaces/IDashboardRepo.html","title":"interface - IDashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IDashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n deleteDashboardByUserId\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 deleteDashboardByUserId\n \n \n \n \n \n \ndeleteDashboardByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.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 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 getDashboardById\n \n \n \n \n \n \ngetDashboardById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUsersDashboard\n \n \n \n \n \n \ngetUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n persistAndFlush\n \n \n \n \n \n \npersistAndFlush(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n\tdeleteDashboardByUserId(userId: EntityId): 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\tasync deleteDashboardByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(DashboardModelEntity, { user: userId });\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntity.html":{"url":"interfaces/IEntity.html","title":"interface - IEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntityWithTimestamps.html":{"url":"interfaces/IEntityWithTimestamps.html","title":"interface - IEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IError.html":{"url":"interfaces/IError.html","title":"interface - IError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IFindOptions.html":{"url":"interfaces/IFindOptions.html","title":"interface - IFindOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFindOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n order\n \n \n \n Optional\n \n pagination\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n order\n \n \n \n \n \n \n \n \n order: SortOrderMap\n\n \n \n\n\n \n \n Type : SortOrderMap\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pagination\n \n \n \n \n \n \n \n \n pagination: Pagination\n\n \n \n\n\n \n \n Type : Pagination\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IGridElement.html":{"url":"interfaces/IGridElement.html","title":"interface - IGridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IGridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getContent\n \n \n \n \n getId\n \n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n getReferences\n \n \n \n \n hasId\n \n \n \n \n isGroup\n \n \n \n \n removeReference\n \n \n \n \n removeReferenceByIndex\n \n \n \n \n setGroupName\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:20\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:8\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:14\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n Properties\n \n \n \n \n \n getContent\n \n \n \n \n \n \n \n \n getContent: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \n \n \n getId: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IH5PLibraryManagementConfig.html":{"url":"interfaces/IH5PLibraryManagementConfig.html","title":"interface - IH5PLibraryManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IH5PLibraryManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface IH5PLibraryManagementConfig {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: string;\n}\n\nexport const config: IH5PLibraryManagementConfig = {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: Configuration.get('H5P_EDITOR__LIBRARY_LIST_PATH') as string,\n};\n\nexport const h5PLibraryManagementConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IImportUserScope.html":{"url":"interfaces/IImportUserScope.html","title":"interface - IImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n Optional\n \n lastName\n \n \n \n Optional\n \n loginName\n \n \n \n Optional\n \n matches\n \n \n \n Optional\n \n role\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n \n \n loginName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n matches\n \n \n \n \n \n \n \n \n matches: MatchCreatorScope[]\n\n \n \n\n\n \n \n Type : MatchCreatorScope[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: IImportUserRoleName\n\n \n \n\n\n \n \n Type : IImportUserRoleName\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakConfigurationInputFiles.html":{"url":"interfaces/IKeycloakConfigurationInputFiles.html","title":"interface - IKeycloakConfigurationInputFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakConfigurationInputFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/keycloak-configuration-input-files.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountsFile\n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountsFile\n \n \n \n \n \n \n \n \n accountsFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n usersFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakConfigurationInputFiles = Symbol('KeycloakConfigurationInputFiles');\n\nexport interface IKeycloakConfigurationInputFiles {\n\taccountsFile: string;\n\tusersFile: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakSettings.html":{"url":"interfaces/IKeycloakSettings.html","title":"interface - IKeycloakSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/interface/keycloak-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n credentials\n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n \n \n baseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n credentials\n \n \n \n \n \n \n \n \n credentials: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n realmName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakSettings = Symbol('KeycloakSettings');\n\nexport interface IKeycloakSettings {\n\tbaseUrl: string;\n\trealmName: string;\n\tclientId: string;\n\tcredentials: {\n\t\tusername: string;\n\t\tpassword: string;\n\t\tgrantType: 'password';\n\t\tclientId: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ILegacyLogger.html":{"url":"interfaces/ILegacyLogger.html","title":"interface - ILegacyLogger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILegacyLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/legacy-logger.interface.ts\n \n\n \n Deprecated\n \n \n The new logger for loggables should be used.\n \n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n error\n \n \n \n \n http\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \ndebug(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(message, trace?: string, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n trace\n \n string\n \n\n \n Yes\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n http\n \n \n \n \n \n \nhttp(message: RequestLoggingBody, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n RequestLoggingBody\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export type RequestLoggingBody = {\n\tuserId?: string;\n\trequest: { url: string; method: string; params: unknown; query: unknown };\n\terror: unknown | undefined;\n};\n\n/**\n * @deprecated The new logger for loggables should be used.\n */\nexport interface ILegacyLogger {\n\thttp(message: RequestLoggingBody, context?: string): void;\n\tlog(message: unknown, context?: string): void;\n\terror(message: unknown, trace?: string, context?: string): void;\n\twarn(message: unknown, context?: string): void;\n\tdebug(message: unknown, context?: string): void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/INewsScope.html":{"url":"interfaces/INewsScope.html","title":"interface - INewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n interface for finding news with optional targetId\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n target\n \n \n \n Optional\n \n unpublished\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n unpublished\n \n \n \n \n \n \n \n \n unpublished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IProvisioningFeatures.html":{"url":"interfaces/IProvisioningFeatures.html","title":"interface - IProvisioningFeatures","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IProvisioningFeatures\n\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/config/provisioning-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningOptionsEnabled\n \n \n \n \n schulconnexGroupProvisioningEnabled\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n provisioningOptionsEnabled\n \n \n \n \n \n \n \n \n provisioningOptionsEnabled: 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 schulconnexGroupProvisioningEnabled\n \n \n \n \n \n \n \n \n schulconnexGroupProvisioningEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ProvisioningFeatures = Symbol('ProvisioningFeatures');\n\nexport interface IProvisioningFeatures {\n\tschulconnexGroupProvisioningEnabled: boolean;\n\tprovisioningOptionsEnabled: boolean;\n}\n\nexport class ProvisioningConfiguration {\n\tstatic provisioningFeatures: IProvisioningFeatures = {\n\t\tschulconnexGroupProvisioningEnabled: Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED') as boolean,\n\t\tprovisioningOptionsEnabled: Configuration.get('FEATURE_PROVISIONING_OPTIONS_ENABLED') as 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/ITask.html":{"url":"interfaces/ITask.html","title":"interface - ITask","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITask\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n availableDate\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n descriptionInputFormat\n \n \n \n Optional\n \n dueDate\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n availableDate\n \n \n \n \n \n \n \n \n availableDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n \n \n descriptionInputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IToolFeatures.html":{"url":"interfaces/IToolFeatures.html","title":"interface - IToolFeatures","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolFeatures\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n backEndUrl\n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n backEndUrl\n \n \n \n \n \n \n \n \n backEndUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n \n \n \n \n contextConfigurationEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n \n \n \n \n ctlToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n \n \n \n \n ltiToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n toolStatusWithoutVersions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IVideoConferenceSettings.html":{"url":"interfaces/IVideoConferenceSettings.html","title":"interface - IVideoConferenceSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IVideoConferenceSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/interface/video-conference-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bbb\n \n \n \n \n enabled\n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bbb\n \n \n \n \n \n \n \n \n bbb: IBbbSettings\n\n \n \n\n\n \n \n Type : IBbbSettings\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n hostUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IBbbSettings } from '../bbb';\n\nexport const VideoConferenceSettings = Symbol('VideoConferenceSettings');\n\nexport interface IVideoConferenceSettings {\n\tenabled: boolean;\n\thostUrl: string;\n\tbbb: IBbbSettings;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdParams.html":{"url":"classes/IdParams.html","title":"class - IdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth Client Id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class IdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The Oauth Client Id.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdToken.html":{"url":"interfaces/IdToken.html","title":"interface - IdToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/interface/id-token.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n email\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n iframe\n \n \n \n Optional\n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupNameIdTuple[]\n\n \n \n\n\n \n \n Type : GroupNameIdTuple[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iframe\n \n \n \n \n \n \n \n \n iframe: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IdToken {\n\tiframe?: string;\n\temail?: string;\n\tname?: string;\n\tuserId?: string;\n\tschoolId: string;\n\tgroups?: GroupNameIdTuple[];\n}\n\nexport interface GroupNameIdTuple {\n\tdisplayName: string;\n\tgid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenCreationLoggableException.html":{"url":"classes/IdTokenCreationLoggableException.html","title":"class - IdTokenCreationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenCreationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string, userId?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string\n \n \n \n No\n \n \n \n \n userId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:9\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class IdTokenCreationLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly clientId: string, private readonly userId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message = {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR_EXCEPTION',\n\t\t\tmessage: 'Something went wrong for id token creation. Tool could not be found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tclientId: this.clientId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenExtractionFailureLoggableException.html":{"url":"classes/IdTokenExtractionFailureLoggableException.html","title":"class - IdTokenExtractionFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenExtractionFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fieldName: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fieldName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenExtractionFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly fieldName: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to extract field',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tfieldName: this.fieldName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenInvalidLoggableException.html":{"url":"classes/IdTokenInvalidLoggableException.html","title":"class - IdTokenInvalidLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenInvalidLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-invalid-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:5\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenInvalidLoggableException extends OauthSsoErrorLoggableException {\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to validate idToken',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IdTokenService.html":{"url":"injectables/IdTokenService.html","title":"injectable - IdTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IdTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/id-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n Async\n createIdToken\n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, teamsRepo: TeamsRepo, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n \n \n \n \n \n buildGroupsClaim(teams: TeamEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teams\n \n TeamEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupNameIdTuple[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIdToken\n \n \n \n \n \n \n \n createIdToken(userId: string, scopes: string[], clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n scopes\n \n string[]\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n \n \n \n createIframeSubject(user: UserDO, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { TeamsRepo } from '@shared/repo';\nimport { IdTokenCreationLoggableException } from '../error/id-token-creation-exception.loggable';\nimport { GroupNameIdTuple, IdToken, OauthScope } from '../interface';\nimport { OauthProviderLoginFlowService } from './oauth-provider.login-flow.service';\n\n@Injectable()\nexport class IdTokenService {\n\tconstructor(\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync createIdToken(userId: string, scopes: string[], clientId: string): Promise {\n\t\tlet teams: TeamEntity[] = [];\n\t\tif (scopes.includes(OauthScope.GROUPS)) {\n\t\t\tteams = await this.teamsRepo.findByUserId(userId);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst name: string = await this.userService.getDisplayName(user);\n\t\tconst iframe: string | undefined = await this.createIframeSubject(user, clientId);\n\t\tconst groups: GroupNameIdTuple[] = this.buildGroupsClaim(teams);\n\n\t\treturn {\n\t\t\tiframe,\n\t\t\temail: scopes.includes(OauthScope.EMAIL) ? user.email : undefined,\n\t\t\tname: scopes.includes(OauthScope.PROFILE) ? name : undefined,\n\t\t\tuserId: scopes.includes(OauthScope.PROFILE) ? user.id : undefined,\n\t\t\tschoolId: user.schoolId,\n\t\t\tgroups: scopes.includes(OauthScope.GROUPS) ? groups : undefined,\n\t\t};\n\t}\n\n\tprivate buildGroupsClaim(teams: TeamEntity[]): GroupNameIdTuple[] {\n\t\treturn teams.map((team: TeamEntity): GroupNameIdTuple => {\n\t\t\treturn {\n\t\t\t\tgid: team.id,\n\t\t\t\tdisplayName: team.name,\n\t\t\t};\n\t\t});\n\t}\n\n\t// TODO N21-335 How we can refactor the iframe in the id token?\n\tprivate async createIframeSubject(user: UserDO, clientId: string): Promise {\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(clientId);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new IdTokenCreationLoggableException(clientId, user.id);\n\t\t}\n\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findByUserAndToolOrThrow(user, tool);\n\n\t\tconst iframeSubject: string = this.pseudonymService.getIframeSubject(pseudonym.pseudonym);\n\n\t\treturn iframeSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenUserNotFoundLoggableException.html":{"url":"classes/IdTokenUserNotFoundLoggableException.html","title":"class - IdTokenUserNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenUserNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(uuid: string, additionalInfo?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n uuid\n \n \n string\n \n \n \n No\n \n \n \n \n additionalInfo\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenUserNotFoundLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly uuid: string, private readonly additionalInfo?: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_USER_NOTFOUND',\n\t\t\tmessage: 'Failed to find user with uuid from id token',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuuid: this.uuid,\n\t\t\t\tadditionalInfo: this.additionalInfo,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdentityManagementConfig.html":{"url":"interfaces/IdentityManagementConfig.html","title":"interface - IdentityManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdentityManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IdentityManagementConfig {\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/IdentityManagementModule.html":{"url":"modules/IdentityManagementModule.html","title":"module - IdentityManagementModule","body":"\n \n\n\n\n\n Modules\n IdentityManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_IdentityManagementModule\n\n\n\ncluster_IdentityManagementModule_imports\n\n\n\ncluster_IdentityManagementModule_exports\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nIdentityManagementModule -->\n\nEncryptionModule->IdentityManagementModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nIdentityManagementModule -->\n\nKeycloakAdministrationModule->IdentityManagementModule\n\n\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nIdentityManagementModule -->\n\nKeycloakModule->IdentityManagementModule\n\n\n\n\n\nIdentityManagementOauthService \n\nIdentityManagementOauthService \n\nIdentityManagementOauthService -->\n\nIdentityManagementModule->IdentityManagementOauthService \n\n\n\n\n\nIdentityManagementService \n\nIdentityManagementService \n\nIdentityManagementService -->\n\nIdentityManagementModule->IdentityManagementService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n KeycloakModule\n \n \n \n \n Exports\n \n \n IdentityManagementOauthService\n \n \n IdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '../encryption';\nimport { IdentityManagementOauthService } from './identity-management-oauth.service';\nimport { IdentityManagementService } from './identity-management.service';\nimport { KeycloakAdministrationModule } from './keycloak-administration/keycloak-administration.module';\nimport { KeycloakModule } from './keycloak/keycloak.module';\nimport { KeycloakIdentityManagementOauthService } from './keycloak/service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './keycloak/service/keycloak-identity-management.service';\n\n@Module({\n\timports: [KeycloakModule, KeycloakAdministrationModule, HttpModule, EncryptionModule],\n\tproviders: [\n\t\t{ provide: IdentityManagementService, useClass: KeycloakIdentityManagementService },\n\t\t{ provide: IdentityManagementOauthService, useClass: KeycloakIdentityManagementOauthService },\n\t],\n\texports: [IdentityManagementService, IdentityManagementOauthService],\n})\nexport class IdentityManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementOauthService.html":{"url":"classes/IdentityManagementOauthService.html","title":"class - IdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management-oauth.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n Abstract\n isOauthConfigAvailable\n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:9\n \n \n\n\n \n \n Returns the oauth config of the IDM.\n\n\n \n Returns : Promise\n\n \n \n the oauth config of the IDM.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:15\n \n \n\n\n \n \n Checks if the IDM oauth config is available.\n\n\n \n Returns : Promise\n\n \n \n true if the IDM oauth config is available, false otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:23\n \n \n\n\n \n \n Checks the given credentials with the IDM and returns an JWT on success.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n the username of the account to check.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the password of the account to check.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the JWT as string or undefined on failure.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto';\n\nexport abstract class IdentityManagementOauthService {\n\t/**\n\t * Returns the oauth config of the IDM.\n\t * @returns the oauth config of the IDM.\n\t * @throws an error if the IDM oauth config is not available.\n\t */\n\tabstract getOauthConfig(): Promise;\n\n\t/**\n\t * Checks if the IDM oauth config is available.\n\t * @returns true if the IDM oauth config is available, false otherwise.\n\t */\n\tabstract isOauthConfigAvailable(): Promise;\n\n\t/**\n\t * Checks the given credentials with the IDM and returns an JWT on success.\n\t * @param username the username of the account to check.\n\t * @param password the password of the account to check.\n\t * @returns the JWT as string or undefined on failure.\n\t */\n\tabstract resourceOwnerPasswordGrant(username: string, password: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementService.html":{"url":"classes/IdentityManagementService.html","title":"class - IdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n createAccount\n \n \n Abstract\n deleteAccountById\n \n \n Abstract\n findAccountByDbcAccountId\n \n \n Abstract\n findAccountByDbcUserId\n \n \n Abstract\n findAccountById\n \n \n Abstract\n findAccountsByUsername\n \n \n Abstract\n getAllAccounts\n \n \n Abstract\n getUserAttribute\n \n \n Abstract\n setUserAttribute\n \n \n Abstract\n updateAccount\n \n \n Abstract\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccountUpdate, password?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:18\n \n \n\n\n \n \n Create a new account in the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account's details\n\n \n \n \n password\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n the account's password (optional)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if created successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:82\n \n \n\n\n \n \n Deletes an account from the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be deleted.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the accounts id if deleted successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:52\n \n \n\n\n \n \n Load a specific account by its dbc account id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:60\n \n \n\n\n \n \n Load a specific account by its dbc user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountById\n \n \n \n \n \n \n \n findAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:44\n \n \n\n\n \n \n Load a specific account by its id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:68\n \n \n\n\n \n \n Loads the account with the specific username.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n of the account to be loaded.\n\n \n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n the search options to be applied.\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n the found accounts (might be empty).\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:75\n \n \n\n\n \n \n Load all accounts.\n\n\n \n Returns : Promise\n\n \n \n an array of all accounts (might be empty)\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:90\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Gets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to get an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to get.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the attribute value if exists, null otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:101\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Sets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to set an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to set.\n\n \n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n the value of the attribute to set.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccount\n \n \n \n \n \n \n \n updateAccount(accountId: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:27\n \n \n\n\n \n \n Update an existing account's details.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account data to be applied.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(accountId: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:36\n \n \n\n\n \n \n Update an existing account's password.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the new password (clear).\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\n\nexport type SearchOptions = {\n\texact?: boolean;\n\tskip?: number;\n\tlimit?: number;\n};\n\nexport abstract class IdentityManagementService {\n\t/**\n\t * Create a new account in the identity management.\n\t *\n\t * @param account the account's details\n\t * @param [password] the account's password (optional)\n\t * @returns the account id if created successfully\n\t */\n\tabstract createAccount(account: IdmAccountUpdate, password?: string | undefined): Promise;\n\n\t/**\n\t * Update an existing account's details.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param account the account data to be applied.\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccount(accountId: string, account: IdmAccountUpdate): Promise;\n\n\t/**\n\t * Update an existing account's password.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param password the new password (clear).\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccountPassword(accountId: string, password: string): Promise;\n\n\t/**\n\t * Load a specific account by its id.\n\t *\n\t * @param accountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountById(accountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc account id.\n\t *\n\t * @param accountDbcAccountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcAccountId(accountDbcAccountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc user id.\n\t *\n\t * @param accountDbcUserId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcUserId(accountDbcUserId: string): Promise;\n\n\t/**\n\t * Loads the account with the specific username.\n\t * @param username of the account to be loaded.\n\t * @param options the search options to be applied.\n\t * @returns the found accounts (might be empty).\n\t */\n\tabstract findAccountsByUsername(username: string, options?: SearchOptions): Promise>;\n\n\t/**\n\t * Load all accounts.\n\t *\n\t * @returns an array of all accounts (might be empty)\n\t */\n\tabstract getAllAccounts(): Promise;\n\n\t/**\n\t * Deletes an account from the identity management.\n\t * @param accountId the account to be deleted.\n\t * @returns the accounts id if deleted successfully\n\t */\n\tabstract deleteAccountById(accountId: string): Promise;\n\n\t/**\n\t * Gets an attribute value of a specific user.\n\t * @param userId the id of the user to get an attribute value.\n\t * @param attributeName the name of the attribute to get.\n\t * @returns the attribute value if exists, null otherwise.\n\t */\n\tabstract getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise;\n\n\t/**\n\t * Sets an attribute value of a specific user.\n\t * @param userId the id of the user to set an attribute value.\n\t * @param attributeName the name of the attribute to set.\n\t * @param attributeValue the value of the attribute to set.\n\t */\n\tabstract setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ImportUser.html":{"url":"entities/ImportUser.html","title":"entity - ImportUser","body":"\n \n\n\n\n\n\n\n\n Entities\n ImportUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n email\n \n \n \n externalId\n \n \n \n firstName\n \n \n \n flagged\n \n \n \n lastName\n \n \n \n ldapDn\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n school\n \n \n \n system\n \n \n \n \n Optional\n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property({type: Boolean})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:112\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:82\n \n \n\n\n \n \n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchCreator\n\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'match_matchedBy', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:109\n \n \n\n \n \n References who set the user, take the field as read-only\n\n \n \n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : IImportUserRoleName[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'roles'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId', wrappedReference: true, eager: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'match_userId', eager: true, nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:102\n \n \n\n \n \n Update user-match together with matchedBy, take the field as read-only\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ImportUserController.html":{"url":"controllers/ImportUserController.html","title":"controller - ImportUserController","body":"\n \n\n\n\n\n\n\n Controllers\n ImportUserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/import-user.controller.ts\n \n\n \n Prefix\n \n \n user/import\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n Async\n findAllImportUsers\n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n Async\n removeMatch\n \n \n \n Async\n saveAllUsersMatches\n \n \n \n Async\n setMatch\n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n Async\n updateFlag\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n \n \n \n \n endSchoolInMaintenance(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('startSync')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllImportUsers\n \n \n \n \n \n \n \n findAllImportUsers(currentUser: ICurrentUser, scope: FilterImportUserParams, sortingQuery: SortImportUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n \n \n \n \n findAllUnmatchedUsers(currentUser: ICurrentUser, scope: FilterUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('unassigned')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeMatch\n \n \n \n \n \n \n \n removeMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAllUsersMatches\n \n \n \n \n \n \n \n saveAllUsersMatches(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('migrate')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMatch\n \n \n \n \n \n \n \n setMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateMatchParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateMatchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n \n \n \n \n startSchoolInUserMigration(currentUser: ICurrentUser, useCentralLdap?: boolean)\n \n \n\n \n \n Decorators : \n \n @Post('startUserMigration')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n useCentralLdap\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateFlag\n \n \n \n \n \n \n \n updateFlag(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateFlagParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/flag')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateFlagParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { ImportUser, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { ImportUserMapper } from '../mapper/import-user.mapper';\nimport { UserMatchMapper } from '../mapper/user-match.mapper';\nimport { UserImportUc } from '../uc/user-import.uc';\n\nimport {\n\tFilterImportUserParams,\n\tFilterUserParams,\n\tImportUserListResponse,\n\tImportUserResponse,\n\tImportUserUrlParams,\n\tSortImportUserParams,\n\tUpdateFlagParams,\n\tUpdateMatchParams,\n\tUserMatchListResponse,\n} from './dto';\n\n@ApiTags('UserImport')\n@Authenticate('jwt')\n@Controller('user/import')\nexport class ImportUserController {\n\tconstructor(private readonly userImportUc: UserImportUc, private readonly userUc: UserImportUc) {}\n\n\t@Get()\n\tasync findAllImportUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterImportUserParams,\n\t\t@Query() sortingQuery: SortImportUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = ImportUserMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query = ImportUserMapper.mapImportUserFilterQueryToDomain(scope);\n\t\tconst [importUserList, count] = await this.userImportUc.findAllImportUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = importUserList.map((importUser) => ImportUserMapper.mapToResponse(importUser));\n\t\tconst response = new ImportUserListResponse(dtoList, count, skip, limit);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/match')\n\tasync setMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateMatchParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.setMatch(currentUser.userId, urlParams.importUserId, params.userId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':importUserId/match')\n\tasync removeMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userImportUc.removeMatch(currentUser.userId, urlParams.importUserId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/flag')\n\tasync updateFlag(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateFlagParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.updateFlag(currentUser.userId, urlParams.importUserId, params.flagged);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Get('unassigned')\n\tasync findAllUnmatchedUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\n\t\tconst query = UserMatchMapper.mapToDomain(scope);\n\t\tconst [userList, total] = await this.userUc.findAllUnmatchedUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = userList.map((user) => UserMatchMapper.mapToResponse(user));\n\t\tconst response = new UserMatchListResponse(dtoList, total, skip, limit);\n\n\t\treturn response as unknown as UserMatchListResponse;\n\t}\n\n\t@Post('migrate')\n\tasync saveAllUsersMatches(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.saveAllUsersMatches(currentUser.userId);\n\t}\n\n\t@Post('startUserMigration')\n\tasync startSchoolInUserMigration(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query('useCentralLdap') useCentralLdap?: boolean\n\t): Promise {\n\t\tawait this.userImportUc.startSchoolInUserMigration(currentUser.userId, useCentralLdap);\n\t}\n\n\t@Post('startSync')\n\tasync endSchoolInMaintenance(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.endSchoolInMaintenance(currentUser.userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserFactory.html":{"url":"classes/ImportUserFactory.html","title":"class - ImportUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/import-user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n matched\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n matched\n \n \n \n \n \n \nmatched(matchedBy: MatchCreator, user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/import-user.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchedBy\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName, ImportUser, ImportUserProperties, MatchCreator, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport { v4 as uuidv4 } from 'uuid';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { systemEntityFactory } from './systemEntityFactory';\n\nclass ImportUserFactory extends BaseFactory {\n\tmatched(matchedBy: MatchCreator, user: User): this {\n\t\tconst params: DeepPartial = { matchedBy, user };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const importUserFactory = ImportUserFactory.define(ImportUser, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\tsystem: systemEntityFactory.build(),\n\t\tldapDn: `uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs`,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\texternalId: uuidv4() as unknown as string,\n\t\tfirstName: `John${sequence}`,\n\t\tlastName: `Doe${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troleNames: [RoleName.STUDENT as IImportUserRoleName],\n\t\tclassNames: ['firstClass'],\n\t\tflagged: false,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserListResponse.html":{"url":"classes/ImportUserListResponse.html","title":"class - ImportUserListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ImportUserResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ImportUserResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:71\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMapper.html":{"url":"classes/ImportUserMapper.html","title":"class - ImportUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/import-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n Static\n mapSortingQueryToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n \n \n \n \n \n mapImportUserFilterQueryToDomain(query: FilterImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSortingQueryToDomain\n \n \n \n \n \n \n \n mapSortingQueryToDomain(sortingQuery: SortImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(importUser: ImportUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n importUser\n \n ImportUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser } from '@shared/domain/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport { IImportUserScope } from '@shared/domain/types';\nimport {\n\tFilterImportUserParams,\n\tImportUserResponse,\n\tImportUserSortOrder,\n\tSortImportUserParams,\n} from '../controller/dto';\n\nimport { ImportUserMatchMapper } from './match.mapper';\n\nimport { RoleNameMapper } from './role-name.mapper';\nimport { UserMatchMapper } from './user-match.mapper';\n\nexport class ImportUserMapper {\n\tstatic mapSortingQueryToDomain(sortingQuery: SortImportUserParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) return undefined;\n\t\tconst result: SortOrderMap = {};\n\t\tswitch (sortBy) {\n\t\t\tcase ImportUserSortOrder.FIRSTNAME:\n\t\t\tcase ImportUserSortOrder.LASTNAME:\n\t\t\t\tresult[sortBy] = sortingQuery.sortOrder;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new BadRequestException();\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic mapToResponse(importUser: ImportUser): ImportUserResponse {\n\t\tconst dto = new ImportUserResponse({\n\t\t\timportUserId: importUser.id,\n\t\t\tloginName: importUser.loginName || '',\n\t\t\tfirstName: importUser.firstName,\n\t\t\tlastName: importUser.lastName,\n\t\t\troleNames: importUser.roleNames.map((role) => RoleNameMapper.mapToResponse(role)),\n\t\t\tclassNames: importUser.classNames,\n\t\t\tflagged: importUser.flagged,\n\t\t});\n\t\tif (importUser.user != null && importUser.matchedBy) {\n\t\t\tconst { user } = importUser;\n\t\t\tdto.match = UserMatchMapper.mapToResponse(user, importUser.matchedBy);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapImportUserFilterQueryToDomain(query: FilterImportUserParams): IImportUserScope {\n\t\tconst dto: IImportUserScope = {};\n\t\tif (StringValidator.isNotEmptyString(query.firstName)) dto.firstName = query.firstName;\n\t\tif (StringValidator.isNotEmptyString(query.lastName)) dto.lastName = query.lastName;\n\t\tif (StringValidator.isNotEmptyString(query.loginName)) dto.loginName = query.loginName;\n\t\tif (query.role != null) {\n\t\t\tdto.role = RoleNameMapper.mapToDomain(query.role);\n\t\t}\n\t\tif (StringValidator.isNotEmptyString(query.classes)) dto.classes = query.classes;\n\t\tif (query.match) {\n\t\t\tdto.matches = query.match.map((match) => ImportUserMatchMapper.mapImportUserMatchScopeToDomain(match));\n\t\t}\n\t\tif (query.flagged === true) dto.flagged = true;\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMatchMapper.html":{"url":"classes/ImportUserMatchMapper.html","title":"class - ImportUserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n \n \n \n \n \n mapImportUserMatchScopeToDomain(match: FilterMatchType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n match\n \n FilterMatchType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchCreatorScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n \n \n \n mapMatchCreatorToResponse(matchCreator: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchCreator\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MatchCreator } from '@shared/domain/entity';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { FilterMatchType, MatchType } from '../controller/dto';\n\nexport class ImportUserMatchMapper {\n\tstatic mapImportUserMatchScopeToDomain(match: FilterMatchType): MatchCreatorScope {\n\t\tif (match === FilterMatchType.AUTO) return MatchCreatorScope.AUTO;\n\t\tif (match === FilterMatchType.MANUAL) return MatchCreatorScope.MANUAL;\n\t\tif (match === FilterMatchType.NONE) return MatchCreatorScope.NONE;\n\t\tthrow Error('invalid match from filter query');\n\t}\n\n\tstatic mapMatchCreatorToResponse(matchCreator: MatchCreator): MatchType {\n\t\tswitch (matchCreator) {\n\t\t\tcase MatchCreator.MANUAL:\n\t\t\t\treturn MatchType.MANUAL;\n\t\t\tcase MatchCreator.AUTO:\n\t\t\tdefault:\n\t\t\t\treturn MatchType.AUTO;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ImportUserModule.html":{"url":"modules/ImportUserModule.html","title":"module - ImportUserModule","body":"\n \n\n\n\n\n Modules\n ImportUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ImportUserModule\n\n\n\ncluster_ImportUserModule_providers\n\n\n\ncluster_ImportUserModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nImportUserModule\n\nImportUserModule\n\nImportUserModule -->\n\nAccountModule->ImportUserModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nImportUserModule -->\n\nAuthorizationModule->ImportUserModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nImportUserModule -->\n\nLegacySchoolModule->ImportUserModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nImportUserModule -->\n\nLoggerModule->ImportUserModule\n\n\n\n\n\nImportUserRepo\n\nImportUserRepo\n\nImportUserModule -->\n\nImportUserRepo->ImportUserModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nImportUserModule -->\n\nLegacySchoolRepo->ImportUserModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nImportUserModule -->\n\nLegacySystemRepo->ImportUserModule\n\n\n\n\n\nUserImportUc\n\nUserImportUc\n\nImportUserModule -->\n\nUserImportUc->ImportUserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nImportUserModule -->\n\nUserRepo->ImportUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-import/user-import.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ImportUserRepo\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n UserImportUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n ImportUserController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolModule } from '@modules/legacy-school';\nimport { Module } from '@nestjs/common';\nimport { ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '../account';\nimport { AuthorizationModule } from '../authorization';\nimport { ImportUserController } from './controller/import-user.controller';\nimport { UserImportUc } from './uc/user-import.uc';\n\n@Module({\n\timports: [LoggerModule, AccountModule, LegacySchoolModule, AuthorizationModule],\n\tcontrollers: [ImportUserController],\n\tproviders: [UserImportUc, ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo],\n\texports: [],\n})\n/**\n * Module to provide user migration,\n * to link existing users with ldap references to enable\n * external authentication and sync.\n */\nexport class ImportUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ImportUserProperties.html":{"url":"interfaces/ImportUserProperties.html","title":"interface - ImportUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ImportUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classNames\n \n \n \n \n email\n \n \n \n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n \n lastName\n \n \n \n \n ldapDn\n \n \n \n Optional\n \n matchedBy\n \n \n \n Optional\n \n roleNames\n \n \n \n \n school\n \n \n \n \n system\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classNames\n \n \n \n \n \n \n \n \n classNames: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n matchedBy\n \n \n \n \n \n \n \n \n matchedBy: MatchCreator\n\n \n \n\n\n \n \n Type : MatchCreator\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n \n \n roleNames: IImportUserRoleName[]\n\n \n \n\n\n \n \n Type : IImportUserRoleName[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ImportUserRepo.html":{"url":"injectables/ImportUserRepo.html","title":"injectable - ImportUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ImportUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n Async\n findById\n \n \n Async\n findImportUsers\n \n \n Private\n Async\n findImportUsersAndCount\n \n \n Async\n hasMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n \n \n \n \n \n deleteImportUsersBySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findImportUsers\n \n \n \n \n \n \n \n findImportUsers(school: SchoolEntity, filters: IImportUserScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n \n \n\n \n \n filters\n \n IImportUserScope\n \n\n \n No\n \n\n \n {}\n \n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findImportUsersAndCount\n \n \n \n \n \n \n \n findImportUsersAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasMatch\n \n \n \n \n \n \n \n hasMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:29\n \n \n\n\n \n \n resolves with importusers matched with a local user account\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId, IImportUserScope } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { ImportUserScope } from './importuser.scope';\n\n@Injectable()\nexport class ImportUserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn ImportUser;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tif (!ObjectId.isValid(id)) throw new Error('invalid id');\n\t\tconst importUser = await this._em.findOneOrFail(ImportUser, { id });\n\t\tif (importUser.user != null) {\n\t\t\tawait this._em.populate(importUser.user, ['roles']);\n\t\t}\n\t\treturn importUser;\n\t}\n\n\t/**\n\t * resolves with importusers matched with a local user account\n\t */\n\tasync hasMatch(user: User): Promise {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.byUserMatch(user);\n\t\tconst importUser = await this._em.findOne(ImportUser, scope.query);\n\t\treturn importUser;\n\t}\n\n\tasync findImportUsers(\n\t\tschool: SchoolEntity,\n\t\tfilters: IImportUserScope = {},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.bySchool(school);\n\t\tif (filters.firstName != null) scope.byFirstName(filters.firstName);\n\t\tif (filters.lastName != null) scope.byLastName(filters.lastName);\n\t\tif (filters.loginName != null) scope.byLoginName(filters.loginName);\n\t\tif (filters.role != null) scope.byRole(filters.role);\n\t\tif (filters.classes != null) scope.byClasses(filters.classes);\n\t\tif (filters.matches != null) scope.byMatches(filters.matches);\n\t\tif (filters.flagged === true) scope.isFlagged(true);\n\t\tconst countedImportUsers = await this.findImportUsersAndCount(scope.query, options);\n\t\treturn countedImportUsers;\n\t}\n\n\tprivate async findImportUsersAndCount(\n\t\tquery: FilterQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\t\tconst [importUserEntities, count] = await this._em.findAndCount(ImportUser, query, queryOptions);\n\t\tconst userMatches = importUserEntities.map((importUser) => importUser.user).filter((user) => user != null);\n\t\t// load role names of referenced users\n\t\tawait this._em.populate(userMatches as User[], ['roles']);\n\t\treturn [importUserEntities, count];\n\t}\n\n\tasync deleteImportUsersBySchool(school: SchoolEntity): Promise {\n\t\tawait this._em.nativeDelete(ImportUser, { school });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserResponse.html":{"url":"classes/ImportUserResponse.html","title":"class - ImportUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n \n firstName\n \n \n \n flagged\n \n \n \n \n importUserId\n \n \n \n \n lastName\n \n \n \n \n loginName\n \n \n \n Optional\n match\n \n \n \n roleNames\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ImportUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ImportUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'names of classes the user attends from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user firstname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'manual flag to apply it as filter'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({pattern: '[a-f0-9]{24}', description: 'id reference to a import user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user lastname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'login name from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : UserMatchResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'assignemnt to a local user account', type: UserMatchResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserScope.html":{"url":"classes/ImportUserScope.html","title":"class - ImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClasses\n \n \n byFirstName\n \n \n byLastName\n \n \n byLoginName\n \n \n byMatches\n \n \n byRole\n \n \n bySchool\n \n \n byUserMatch\n \n \n isFlagged\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClasses\n \n \n \n \n \n \nbyClasses(classes: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFirstName\n \n \n \n \n \n \nbyFirstName(firstName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n firstName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLastName\n \n \n \n \n \n \nbyLastName(lastName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lastName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLoginName\n \n \n \n \n \n \nbyLoginName(loginName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:56\n \n \n\n\n \n \n filters the login name case insensitive for contains which is part of the dn\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMatches\n \n \n \n \n \n \nbyMatches(matches: MatchCreatorScope[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matches\n \n MatchCreatorScope[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byRole\n \n \n \n \n \n \nbyRole(roleName: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchool\n \n \n \n \n \n \nbySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserMatch\n \n \n \n \n \n \nbyUserMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isFlagged\n \n \n \n \n \n \nisFlagged(flagged)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n flagged\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { MongoPatterns } from '../mongo.patterns';\nimport { Scope } from '../scope';\n\nexport class ImportUserScope extends Scope {\n\tbySchool(school: SchoolEntity): ImportUserScope {\n\t\tconst schoolId = school._id;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\t\tthis.addQuery({ school });\n\t\treturn this;\n\t}\n\n\tbyUserMatch(user: User): ImportUserScope {\n\t\tconst userId = user._id;\n\t\tif (!ObjectId.isValid(userId)) throw new Error('invalid user match id');\n\t\tthis.addQuery({ user });\n\t\treturn this;\n\t}\n\n\tbyFirstName(firstName: string): ImportUserScope {\n\t\tconst escapedFirstName = firstName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedFirstName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tfirstName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedFirstName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyLastName(lastName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLastName = lastName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLastName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tlastName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedLastName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\t/** filters the login name case insensitive for contains which is part of the dn */\n\tbyLoginName(loginName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLoginName = loginName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLoginName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tldapDn: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: `^uid=[^,]*${escapedLoginName}[^,]*,`,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyRole(roleName: RoleName): ImportUserScope {\n\t\tswitch (roleName) {\n\t\t\tcase RoleName.ADMINISTRATOR:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.ADMINISTRATOR] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.STUDENT:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.STUDENT] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.TEACHER:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.TEACHER] } });\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('unexpected role name');\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClasses(classes: string): ImportUserScope {\n\t\tconst escapedClasses = classes.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedClasses, true))\n\t\t\tthis.addQuery({\n\t\t\t\tclassNames: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedClasses,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyMatches(matches: MatchCreatorScope[]) {\n\t\tconst queries = matches\n\t\t\t.map((match) => {\n\t\t\t\tif (match === MatchCreatorScope.MANUAL) return { matchedBy: 'admin' };\n\t\t\t\tif (match === MatchCreatorScope.AUTO) return { matchedBy: 'auto' };\n\t\t\t\tif (match === MatchCreatorScope.NONE) return { matchedBy: null };\n\t\t\t\treturn null;\n\t\t\t})\n\t\t\t.filter((match) => match != null);\n\t\tif (queries.length > 0) this.addQuery({ $or: queries as FilterQuery[] });\n\t\treturn this;\n\t}\n\n\tisFlagged(flagged = true) {\n\t\tif (flagged === true) this.addQuery({ flagged: true });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserUrlParams.html":{"url":"classes/ImportUserUrlParams.html","title":"class - ImportUserUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of an importuser object, that matches an internal user with an external user.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ImportUserUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of an importuser object, that matches an internal user with an external user.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\timportUserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InlineAttachment.html":{"url":"interfaces/InlineAttachment.html","title":"interface - InlineAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InlineAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n contentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/InstalledLibrary.html":{"url":"entities/InstalledLibrary.html","title":"entity - InstalledLibrary","body":"\n \n\n\n\n\n\n\n\n Entities\n InstalledLibrary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n Optional\n author\n \n \n \n Optional\n coreApi\n \n \n \n Optional\n description\n \n \n \n Optional\n dropLibraryCss\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n Optional\n embedTypes\n \n \n \n files\n \n \n \n Optional\n fullscreen\n \n \n \n Optional\n h\n \n \n \n Optional\n license\n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n Optional\n metadataSettings\n \n \n \n minorVersion\n \n \n \n patchVersion\n \n \n \n Optional\n preloadedCss\n \n \n \n Optional\n preloadedDependencies\n \n \n \n Optional\n preloadedJs\n \n \n \n Optional\n requiredExtensions\n \n \n \n restricted\n \n \n \n runnable\n \n \n \n Optional\n state\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:64\n \n \n\n \n \n Addons can be added to other content types by\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n author\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n coreApi\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:120\n \n \n\n \n \n The core API required to run the library.\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dropLibraryCss\n \n \n \n \n \n \n Type : literal type[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:129\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:137\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:140\n \n \n\n\n \n \n \n \n \n \n \n \n \n files\n \n \n \n \n \n \n Type : FileMetadata[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:189\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n fullscreen\n \n \n \n \n \n \n Type : \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:143\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:146\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:149\n \n \n\n\n \n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metadataSettings\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:152\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n patchVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedCss\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:158\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedJs\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:164\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requiredExtensions\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:176\n \n \n\n\n \n \n \n \n \n \n \n \n \n restricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:111\n \n \n\n \n \n If set to true, the library can only be used be users who have this special\nprivilege.\n\n \n \n\n \n \n \n \n \n \n \n \n \n runnable\n \n \n \n \n \n \n Type : boolean | \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:167\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n state\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:181\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:170\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:173\n \n \n\n\n \n \n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InterceptorConfig.html":{"url":"interfaces/InterceptorConfig.html","title":"interface - InterceptorConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InterceptorConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/interfaces/interceptor-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface InterceptorConfig {\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InterceptorModule.html":{"url":"modules/InterceptorModule.html","title":"module - InterceptorModule","body":"\n \n\n\n\n\n Modules\n InterceptorModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/interceptor/interceptor.module.ts\n \n\n\n\n \n Description\n \n \n \nGlobal Interceptor setup\n\nHere, we globally apply\n\nvalidate input data using @ClassSerializerInterceptor\nset a timeout for requests using @TimeoutInterceptor\n\n\n \n\n\n \n \n \n \n\n\n \n\n\n \n import { ClassSerializerInterceptor, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { APP_INTERCEPTOR } from '@nestjs/core';\nimport { InterceptorConfig, TimeoutInterceptor } from '@shared/common';\n\n/** *********************************************\n * Global Interceptor setup\n * **********************************************\n * Here, we globally apply\n * - validate input data using @ClassSerializerInterceptor\n * - set a timeout for requests using @TimeoutInterceptor\n */\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR,\n\t\t\tuseClass: ClassSerializerInterceptor,\n\t\t},\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR, // TODO remove (for testing)\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\t\t\t\treturn new TimeoutInterceptor(timeout);\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n})\nexport class InterceptorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IntrospectResponse.html":{"url":"interfaces/IntrospectResponse.html","title":"interface - IntrospectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IntrospectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/introspect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n client_id\n \n \n \n Optional\n \n exp\n \n \n \n Optional\n \n ext\n \n \n \n Optional\n \n iat\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n nbf\n \n \n \n Optional\n \n obfuscated_subject\n \n \n \n Optional\n \n scope\n \n \n \n Optional\n \n sub\n \n \n \n Optional\n \n token_type\n \n \n \n Optional\n \n token_use\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n active\n \n \n \n \n \n \n \n \n active: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n \n \n client_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ext\n \n \n \n \n \n \n \n \n ext: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nbf\n \n \n \n \n \n \n \n \n nbf: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n obfuscated_subject\n \n \n \n \n \n \n \n \n obfuscated_subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n \n \n scope: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_type\n \n \n \n \n \n \n \n \n token_type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_use\n \n \n \n \n \n \n \n \n token_use: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IntrospectResponse {\n\tactive: boolean;\n\n\taud?: string[];\n\n\tclient_id?: string;\n\n\texp?: number;\n\n\text?: object;\n\n\tiat?: number;\n\n\tiss?: string;\n\n\tnbf?: number;\n\n\tobfuscated_subject?: string;\n\n\tscope?: string;\n\n\tsub?: string;\n\n\ttoken_type?: string;\n\n\ttoken_use?: string;\n\n\tusername?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidOriginForLogoutUrlLoggableException.html":{"url":"classes/InvalidOriginForLogoutUrlLoggableException.html","title":"class - InvalidOriginForLogoutUrlLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidOriginForLogoutUrlLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoutUrl: string, origin: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n \n string\n \n \n \n No\n \n \n \n \n origin\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidOriginForLogoutUrlLoggableException extends BadRequestException implements Loggable {\n\tconstructor(private readonly logoutUrl: string, private readonly origin: string | undefined) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_ORIGIN_FOR_LOGOUT_URL',\n\t\t\tmessage: 'The provided logoutUrl is from the wrong domain. Only URLs from the origin of the request can be used.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\treceived: new URL(this.logoutUrl).origin,\n\t\t\t\texpected: this.origin,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidUserLoginMigrationLoggableException.html":{"url":"classes/InvalidUserLoginMigrationLoggableException.html","title":"class - InvalidUserLoginMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidUserLoginMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, targetSystemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n targetSystemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidUserLoginMigrationLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly targetSystemId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_USER_LOGIN_MIGRATION',\n\t\t\tmessage: 'The migration cannot be started, because there is no migration to the selected target system.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttargetSystemId: this.targetSystemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IservMapper.html":{"url":"classes/IservMapper.html","title":"class - IservMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IservMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n Static\n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n \n \n \n \n \n mapToExternalSchoolDto(schoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSchoolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalUserDto\n \n \n \n \n \n \n \n mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalUserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { RoleName } from '@shared/domain/interface';\nimport { ExternalSchoolDto, ExternalUserDto } from '../../dto';\n\nexport class IservMapper {\n\tstatic mapToExternalSchoolDto(schoolDO: LegacySchoolDo): ExternalSchoolDto {\n\t\treturn new ExternalSchoolDto({\n\t\t\tname: schoolDO.name,\n\t\t\texternalId: schoolDO.externalId || '',\n\t\t\tofficialSchoolNumber: schoolDO.officialSchoolNumber,\n\t\t});\n\t}\n\n\tstatic mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[]): ExternalUserDto {\n\t\treturn new ExternalUserDto({\n\t\t\tfirstName: userDO.firstName,\n\t\t\tlastName: userDO.lastName,\n\t\t\temail: userDO.email,\n\t\t\troles: roleNames,\n\t\t\texternalId: userDO.externalId || '',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IservProvisioningStrategy.html":{"url":"injectables/IservProvisioningStrategy.html","title":"injectable - IservProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IservProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n Async\n getAdditionalErrorInfo\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAdditionalErrorInfo\n \n \n \n \n \n \n \n getAdditionalErrorInfo(email: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:29\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport {\n\tIdTokenExtractionFailureLoggableException,\n\tIdTokenUserNotFoundLoggableException,\n} from '@modules/oauth/loggable';\nimport {\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n\tProvisioningDto,\n} from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\nimport { IservMapper } from './iserv-do.mapper';\n\n@Injectable()\nexport class IservProvisioningStrategy extends ProvisioningStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService, private readonly userService: UserService) {\n\t\tsuper();\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.ISERV;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken: JwtPayload | null = jwt.decode(input.idToken, { json: true });\n\n\t\tif (!idToken || !idToken.uuid) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('uuid');\n\t\t}\n\n\t\tconst ldapUser: UserDO | null = await this.userService.findByExternalId(\n\t\t\tidToken.uuid as string,\n\t\t\tinput.system.systemId\n\t\t);\n\t\tif (!ldapUser) {\n\t\t\tconst additionalInfo: string = await this.getAdditionalErrorInfo(idToken.email as string | undefined);\n\t\t\tthrow new IdTokenUserNotFoundLoggableException(idToken?.uuid as string, additionalInfo);\n\t\t}\n\n\t\tconst ldapSchool: LegacySchoolDo = await this.schoolService.getSchoolById(ldapUser.schoolId);\n\t\tconst roleNames: RoleName[] = ldapUser.roles.map((roleRef: RoleReference): RoleName => roleRef.name);\n\n\t\tconst externalUser: ExternalUserDto = IservMapper.mapToExternalUserDto(ldapUser, roleNames);\n\t\tconst externalSchool: ExternalSchoolDto = IservMapper.mapToExternalSchoolDto(ldapSchool);\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t\texternalSchool,\n\t\t});\n\t\treturn oauthData;\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser?.externalId }));\n\t}\n\n\tasync getAdditionalErrorInfo(email: string | undefined): Promise {\n\t\tif (email) {\n\t\t\tconst usersWithEmail: User[] = await this.userService.findByEmail(email);\n\t\t\tif (usersWithEmail.length > 0) {\n\t\t\t\tconst user: User = usersWithEmail[0];\n\t\t\t\treturn ` [schoolId: ${user.school.id}, currentLdapId: ${user.externalId ?? ''}]`;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonAccount.html":{"url":"interfaces/JsonAccount.html","title":"interface - JsonAccount","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonAccount\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-account.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n password\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n \n \n password: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonAccount {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tusername: string;\n\tpassword: string;\n\tsystemId?: string;\n\tuserId: {\n\t\t$oid: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonUser.html":{"url":"interfaces/JsonUser.html","title":"interface - JsonUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-user.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonUser {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtAuthGuard.html":{"url":"injectables/JwtAuthGuard.html","title":"injectable - JwtAuthGuard","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtAuthGuard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/guard/jwt-auth.guard.ts\n \n\n\n\n \n Extends\n \n \n AuthGuard('jwt')\n \n\n\n\n\n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\n\n@Injectable()\nexport class JwtAuthGuard extends AuthGuard('jwt') {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtConstants.html":{"url":"interfaces/JwtConstants.html","title":"interface - JwtConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/constants.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n jwtOptions\n \n \n \n \n secret\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n jwtOptions\n \n \n \n \n \n \n \n \n jwtOptions: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n \n \n secret: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import externalAuthConfig = require('../../../../../src/services/authentication/configuration');\n\nconst { authConfig } = externalAuthConfig;\n\n/*\n\tTODO: look at existing keys, vs implemented keys\n\tsupport: true,\n\tsupportUserId,\n\taccountId,\n\tuserId,\n\tiat,\n\texp,\n\taud: this.aud,\n\tiss: 'feathers',\n\tsub: accountId,\n\tjti: `support_${ObjectId()}`,\n*/\nexport interface JwtConstants {\n\tsecret: string;\n\tjwtOptions: {\n\t\theader: { typ: string };\n\t\taudience: string;\n\t\tissuer: string;\n\t\talgorithm: string;\n\t\texpiresIn: string;\n\t};\n}\n\nexport const jwtConstants: JwtConstants = {\n\tsecret: authConfig.secret as string,\n\tjwtOptions: authConfig.jwtOptions,\n};\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtExtractor.html":{"url":"classes/JwtExtractor.html","title":"class - JwtExtractor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtExtractor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-extractor.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n \n \n \n fromCookie(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-extractor.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : JwtFromRequestFunction\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Request } from 'express';\nimport { JwtFromRequestFunction } from 'passport-jwt';\nimport cookie from 'cookie';\n\nexport class JwtExtractor {\n\tstatic fromCookie(name: string): JwtFromRequestFunction {\n\t\treturn (request: Request) => {\n\t\t\tlet token: string | null = null;\n\t\t\tconst cookies = cookie.parse(request.headers.cookie || '');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (cookies && cookies[name]) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n\t\t\t\ttoken = cookies[name];\n\t\t\t}\n\t\t\treturn token;\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtPayload.html":{"url":"interfaces/JwtPayload.html","title":"interface - JwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n \n Extends\n \n \n CreateJwtPayload\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n aud\n \n \n \n \n exp\n \n \n \n \n iat\n \n \n \n \n iss\n \n \n \n \n jti\n \n \n \n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n audience\n\n \n \n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n expiration in // TODO\n\n \n \n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n issuer\n\n \n \n \n \n \n \n \n \n \n jti\n \n \n \n \n \n \n \n \n jti: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n // TODO\n\n \n \n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtStrategy.html":{"url":"injectables/JwtStrategy.html","title":"injectable - JwtStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtValidationAdapter: JwtValidationAdapter)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(payload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ExtractJwt, Strategy } from 'passport-jwt';\nimport { jwtConstants } from '../constants';\nimport { ICurrentUser } from '../interface';\nimport { JwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { JwtExtractor } from './jwt-extractor';\nimport { JwtValidationAdapter } from './jwt-validation.adapter';\n\n@Injectable()\nexport class JwtStrategy extends PassportStrategy(Strategy) {\n\tconstructor(private readonly jwtValidationAdapter: JwtValidationAdapter) {\n\t\tsuper({\n\t\t\tjwtFromRequest: ExtractJwt.fromExtractors([\n\t\t\t\tExtractJwt.fromAuthHeaderAsBearerToken(),\n\t\t\t\tJwtExtractor.fromCookie('jwt'),\n\t\t\t]),\n\t\t\tignoreExpiration: false,\n\t\t\tsecretOrKey: jwtConstants.secret,\n\t\t\t...jwtConstants.jwtOptions,\n\t\t});\n\t}\n\n\tasync validate(payload: JwtPayload): Promise {\n\t\tconst { accountId, jti } = payload;\n\t\t// check user exists\n\t\ttry {\n\t\t\t// TODO: check user/account is active and has one role\n\t\t\t// check jwt is whitelisted and extend whitelist entry\n\t\t\tawait this.jwtValidationAdapter.isWhitelisted(accountId, jti);\n\t\t\tconst currentUser = CurrentUserMapper.jwtToICurrentUser(payload);\n\t\t\treturn currentUser;\n\t\t} catch (err) {\n\t\t\tthrow new UnauthorizedException('Unauthorized.', { cause: err as Error });\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtTestFactory.html":{"url":"classes/JwtTestFactory.html","title":"class - JwtTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createJwt\n \n \n Static\n getPublicKey\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createJwt\n \n \n \n \n \n \n \n createJwt(params?: CreateJwtParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateJwtParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:18\n \n \n\n\n \n \n\n \n Returns : string | Buffer\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtValidationAdapter.html":{"url":"injectables/JwtValidationAdapter.html","title":"injectable - JwtValidationAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtValidationAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n Async\n isWhitelisted\n \n \n Async\n removeFromWhitelist\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(cacheManager: Cache, cacheService: CacheService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n cacheManager\n \n \n Cache\n \n \n \n No\n \n \n \n \n cacheService\n \n \n CacheService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n \n \n \n \n \n addToWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isWhitelisted\n \n \n \n \n \n \n \n isWhitelisted(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:25\n \n \n\n\n \n \n When validating a jwt it must be added to a whitelist, here we check this.\nWhen the jwt is validated, the expiration time will be extended with this call.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n users account id\n\n \n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n jwt id (here required to make jwt identifiers identical in redis)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFromWhitelist\n \n \n \n \n \n \n \n removeFromWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CACHE_MANAGER } from '@nestjs/cache-manager';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { CacheService } from '@infra/cache';\nimport { CacheStoreType } from '@infra/cache/interface/cache-store-type.enum';\nimport {\n\taddTokenToWhitelist,\n\tcreateRedisIdentifierFromJwtData,\n\tensureTokenIsWhitelisted,\n} from '@src/imports-from-feathers';\nimport { Cache } from 'cache-manager';\n\n@Injectable()\nexport class JwtValidationAdapter {\n\tconstructor(\n\t\t@Inject(CACHE_MANAGER) private readonly cacheManager: Cache,\n\t\tprivate readonly cacheService: CacheService\n\t) {}\n\n\t/**\n\t * When validating a jwt it must be added to a whitelist, here we check this.\n\t * When the jwt is validated, the expiration time will be extended with this call.\n\t * @param accountId users account id\n\t * @param jti jwt id (here required to make jwt identifiers identical in redis)\n\t */\n\tasync isWhitelisted(accountId: string, jti: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait ensureTokenIsWhitelisted({ accountId, jti, privateDevice: false });\n\t}\n\n\tasync addToWhitelist(accountId: string, jti: string): Promise {\n\t\tconst redisIdentifier = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait addTokenToWhitelist(redisIdentifier);\n\t}\n\n\tasync removeFromWhitelist(accountId: string, jti: string): Promise {\n\t\tif (this.cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\tconst redisIdentifier: string = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t\tawait this.cacheManager.del(redisIdentifier);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakAdministration.html":{"url":"classes/KeycloakAdministration.html","title":"class - KeycloakAdministration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakAdministration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n \n \n Default value : (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IKeycloakSettings } from './interface/keycloak-settings.interface';\n\nexport default class KeycloakAdministration {\n\tstatic keycloakSettings = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings);\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakAdministrationModule.html":{"url":"modules/KeycloakAdministrationModule.html","title":"module - KeycloakAdministrationModule","body":"\n \n\n\n\n\n Modules\n KeycloakAdministrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakAdministrationModule\n\n\n\ncluster_KeycloakAdministrationModule_exports\n\n\n\ncluster_KeycloakAdministrationModule_providers\n\n\n\n\nKeycloakAdministrationService \n\nKeycloakAdministrationService \n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationService -->\n\nKeycloakAdministrationModule->KeycloakAdministrationService \n\n\n\n\n\nKeycloakAdministrationService\n\nKeycloakAdministrationService\n\nKeycloakAdministrationModule -->\n\nKeycloakAdministrationService->KeycloakAdministrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-administration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakAdministrationService\n \n \n \n \n Exports\n \n \n KeycloakAdministrationService\n \n \n \n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Module } from '@nestjs/common';\nimport { KeycloakSettings } from './interface/keycloak-settings.interface';\nimport KeycloakConfiguration from './keycloak-config';\nimport { KeycloakAdministrationService } from './service/keycloak-administration.service';\n\n@Module({\n\tcontrollers: [],\n\tproviders: [\n\t\tKeycloakAdminClient,\n\t\t{\n\t\t\tprovide: KeycloakSettings,\n\t\t\tuseValue: KeycloakConfiguration.keycloakSettings,\n\t\t},\n\t\tKeycloakAdministrationService,\n\t],\n\texports: [KeycloakAdministrationService],\n})\nexport class KeycloakAdministrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakAdministrationService.html":{"url":"injectables/KeycloakAdministrationService.html","title":"injectable - KeycloakAdministrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakAdministrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n Private\n lastAuthorizationTime\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n Public\n Async\n callKcAdminClient\n \n \n Public\n getAdminUser\n \n \n Public\n getClientId\n \n \n Public\n Async\n getClientSecret\n \n \n Public\n getWellKnownUrl\n \n \n Public\n resetLastAuthorizationTime\n \n \n Public\n Async\n setPasswordPolicy\n \n \n Public\n Async\n testKcConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdminClient, kcSettings: IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdminClient\n \n \n \n No\n \n \n \n \n kcSettings\n \n \n IKeycloakSettings\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n \n \n \n \n \n authorizeAccess()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n callKcAdminClient\n \n \n \n \n \n \n \n callKcAdminClient()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:21\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getAdminUser\n \n \n \n \n \n \n \n getAdminUser()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:39\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getClientId\n \n \n \n \n \n \n \n getClientId()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:43\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getClientSecret\n \n \n \n \n \n \n \n getClientSecret()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getWellKnownUrl\n \n \n \n \n \n \n \n getWellKnownUrl()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:35\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n resetLastAuthorizationTime\n \n \n \n \n \n \n \n resetLastAuthorizationTime()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:62\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setPasswordPolicy\n \n \n \n \n \n \n \n setPasswordPolicy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:57\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n testKcConnection\n \n \n \n \n \n \n \n testKcConnection()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n \n \n \n \n Default value : 59 * 1000\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n lastAuthorizationTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:7\n \n \n\n\n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { IKeycloakSettings, KeycloakSettings } from '../interface/keycloak-settings.interface';\n\n@Injectable()\nexport class KeycloakAdministrationService {\n\tprivate lastAuthorizationTime = 0;\n\n\tprivate static AUTHORIZATION_TIMEBOX_MS = 59 * 1000;\n\n\tpublic constructor(\n\t\tprivate readonly kcAdminClient: KeycloakAdminClient,\n\t\t@Inject(KeycloakSettings) private readonly kcSettings: IKeycloakSettings\n\t) {\n\t\tthis.kcAdminClient.setConfig({\n\t\t\tbaseUrl: kcSettings.baseUrl,\n\t\t\trealmName: kcSettings.realmName,\n\t\t});\n\t}\n\n\tpublic async callKcAdminClient(): Promise {\n\t\tawait this.authorizeAccess();\n\t\treturn this.kcAdminClient;\n\t}\n\n\tpublic async testKcConnection(): Promise {\n\t\ttry {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t} catch (err) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic getWellKnownUrl(): string {\n\t\treturn `${this.kcSettings.baseUrl}/realms/${this.kcSettings.realmName}/.well-known/openid-configuration`;\n\t}\n\n\tpublic getAdminUser(): string {\n\t\treturn this.kcSettings.credentials.username;\n\t}\n\n\tpublic getClientId(): string {\n\t\treturn this.kcSettings.clientId;\n\t}\n\n\tpublic async getClientSecret(): Promise {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tconst clientInternalId = (await kc.clients.find({ clientId: this.kcSettings.clientId }))[0]?.id;\n\t\tif (clientInternalId) {\n\t\t\tconst clientSecret = await kc.clients.getClientSecret({ id: clientInternalId });\n\t\t\treturn clientSecret.value ?? '';\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic async setPasswordPolicy() {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tawait kc.realms.update({ realm: this.kcSettings.realmName }, { passwordPolicy: 'hashIterations(310000)' });\n\t}\n\n\tpublic resetLastAuthorizationTime(): void {\n\t\tthis.lastAuthorizationTime = 0;\n\t}\n\n\tprivate async authorizeAccess() {\n\t\tconst elapsedTimeMilliseconds = new Date().getTime() - this.lastAuthorizationTime;\n\t\tif (elapsedTimeMilliseconds > KeycloakAdministrationService.AUTHORIZATION_TIMEBOX_MS) {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t\tthis.lastAuthorizationTime = new Date().getTime();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConfiguration.html":{"url":"classes/KeycloakConfiguration.html","title":"class - KeycloakConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n \n \n Type : IKeycloakConfigurationInputFiles\n\n \n \n \n \n Default value : {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t}\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IKeycloakConfigurationInputFiles } from './interface/keycloak-configuration-input-files.interface';\n\nexport default class KeycloakConfiguration {\n\tstatic keycloakInputFiles: IKeycloakConfigurationInputFiles = {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakConfigurationModule.html":{"url":"modules/KeycloakConfigurationModule.html","title":"module - KeycloakConfigurationModule","body":"\n \n\n\n\n\n Modules\n KeycloakConfigurationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakConfigurationModule\n\n\n\ncluster_KeycloakConfigurationModule_imports\n\n\n\ncluster_KeycloakConfigurationModule_providers\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 { ServerConfig } from '@modules/server/server.config';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { SystemOidcService } from '@modules/system/service/system-oidc.service';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { OidcIdentityProviderMapper } from '../mapper/identity-provider.mapper';\n\nenum ConfigureAction {\n\tCREATE = 'create',\n\tUPDATE = 'update',\n\tDELETE = 'delete',\n}\n\nconst flowAlias = 'Direct Broker Flow';\nconst oidcUserAttributeMapperName = 'OIDC User Attribute Mapper';\nconst oidcExternalSubMapperName = 'External Sub Mapper';\n\n@Injectable()\nexport class KeycloakConfigurationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly oidcIdentityProviderMapper: OidcIdentityProviderMapper,\n\t\tprivate readonly systemOidcService: SystemOidcService\n\t) {}\n\n\tpublic async configureBrokerFlows(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst executionProviders = ['idp-create-user-if-unique', 'idp-auto-link'];\n\t\tconst getFlowsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst flows = await getFlowsRequest({ realmName: kc.realmName });\n\t\tconst flow = flows.find((tempFlow) => tempFlow.alias === flowAlias);\n\t\tif (flow && flow.id) {\n\t\t\treturn;\n\t\t}\n\t\tconst createFlowRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst getFlowExecutionsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tconst addExecutionRequest = kc.realms.makeRequest(\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions/execution',\n\t\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t\t}\n\t\t);\n\t\tconst updateExecutionRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'PUT',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tawait createFlowRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\talias: flowAlias,\n\t\t\tdescription: 'First broker login which automatically creates or maps accounts.',\n\t\t\tproviderId: 'basic-flow',\n\t\t\ttopLevel: true,\n\t\t\tbuiltIn: false,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const executionProvider of executionProviders) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait addExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tprovider: executionProvider,\n\t\t\t});\n\t\t}\n\t\tconst executions = await getFlowExecutionsRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\tflowAlias,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const execution of executions) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait updateExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tid: execution.id,\n\t\t\t\trequirement: 'ALTERNATIVE',\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic async configureClient(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst scDomain = this.configService.get('SC_DOMAIN');\n\t\tconst redirectUri = scDomain === 'localhost' ? 'http://localhost:3030/' : `https://${scDomain}/`;\n\t\tconst cr: ClientRepresentation = {\n\t\t\tclientId: this.kcAdmin.getClientId(),\n\t\t\tenabled: true,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tpublicClient: false,\n\t\t\tredirectUris: [`${redirectUri}*`],\n\t\t};\n\t\tlet defaultClientInternalId = (await kc.clients.find({ clientId: this.kcAdmin.getClientId() }))[0]?.id;\n\t\tif (!defaultClientInternalId) {\n\t\t\t({ id: defaultClientInternalId } = await kc.clients.create(cr));\n\t\t} else {\n\t\t\tawait kc.clients.update({ id: defaultClientInternalId }, cr);\n\t\t}\n\t\tawait this.addClientProtocolMappers(defaultClientInternalId);\n\t}\n\n\tpublic async configureIdentityProviders(): Promise {\n\t\tlet count = 0;\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst oldConfigs = await kc.identityProviders.find();\n\t\tconst newConfigs = await this.systemOidcService.findAll();\n\t\tconst configureActions = this.selectConfigureAction(newConfigs, oldConfigs);\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const configureAction of configureActions) {\n\t\t\tif (configureAction.action === ConfigureAction.CREATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.createIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.UPDATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.updateIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.DELETE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.deleteIdentityProvider(configureAction.alias);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t}\n\t\treturn count;\n\t}\n\n\tasync configureRealm(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.realms.update(\n\t\t\t{\n\t\t\t\trealm: kc.realmName,\n\t\t\t},\n\t\t\t{\n\t\t\t\teditUsernameAllowed: true,\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate async addClientProtocolMappers(defaultClientInternalId: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.clients.listProtocolMappers({ id: defaultClientInternalId });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcExternalSubMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.clients.updateProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId, mapperId: defaultMapper?.id },\n\t\t\t\t{ ...this.getExternalSubClientMapperConfiguration(), id: defaultMapper?.id }\n\t\t\t);\n\t\t} else {\n\t\t\tawait kc.clients.addProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId },\n\t\t\t\tthis.getExternalSubClientMapperConfiguration()\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * decides for each system if it needs to be added, updated or deleted in keycloak\n\t *\n\t * @param newConfigs\n\t * @param oldConfigs\n\t * @returns\n\t */\n\tprivate selectConfigureAction(newConfigs: OidcConfigDto[], oldConfigs: IdentityProviderRepresentation[]) {\n\t\tconst result = [] as (\n\t\t\t| { action: ConfigureAction.CREATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.UPDATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.DELETE; alias: string }\n\t\t)[];\n\t\t// updating or creating configs\n\t\tnewConfigs.forEach((newConfig) => {\n\t\t\tif (oldConfigs.some((oldConfig) => oldConfig.alias === newConfig.idpHint)) {\n\t\t\t\tresult.push({ action: ConfigureAction.UPDATE, config: newConfig });\n\t\t\t} else {\n\t\t\t\tresult.push({ action: ConfigureAction.CREATE, config: newConfig });\n\t\t\t}\n\t\t});\n\t\t// deleting configs\n\t\toldConfigs.forEach((oldConfig) => {\n\t\t\tif (!newConfigs.some((newConfig) => newConfig.idpHint === oldConfig.alias)) {\n\t\t\t\tresult.push({ action: ConfigureAction.DELETE, alias: oldConfig.alias as string });\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate async createIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.create(\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.createIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async updateIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.update(\n\t\t\t\t{ alias: oidcConfig.idpHint },\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.updateOrCreateIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async deleteIdentityProvider(alias: string): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.del({ alias });\n\t}\n\n\tprivate async updateOrCreateIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.identityProviders.findMappers({ alias: idpAlias });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcUserAttributeMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.identityProviders.updateMapper(\n\t\t\t\t{ alias: idpAlias, id: defaultMapper.id },\n\t\t\t\tthis.getIdpMapperConfiguration(idpAlias, defaultMapper.id)\n\t\t\t);\n\t\t} else {\n\t\t\tawait this.createIdpDefaultMapper(idpAlias);\n\t\t}\n\t}\n\n\tprivate async createIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.createMapper({\n\t\t\talias: idpAlias,\n\t\t\tidentityProviderMapper: this.getIdpMapperConfiguration(idpAlias),\n\t\t});\n\t}\n\n\tprivate getIdpMapperConfiguration(idpAlias: string, id?: string): IdentityProviderMapperRepresentation {\n\t\treturn {\n\t\t\tid,\n\t\t\tname: oidcUserAttributeMapperName,\n\t\t\tidentityProviderAlias: idpAlias,\n\t\t\tidentityProviderMapper: 'oidc-user-attribute-idp-mapper',\n\t\t\tconfig: {\n\t\t\t\tsyncMode: 'FORCE',\n\t\t\t\t'are.claim.values.regex': false,\n\t\t\t\tclaim: 'sub',\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate getExternalSubClientMapperConfiguration(): ProtocolMapperRepresentation {\n\t\treturn {\n\t\t\tname: oidcExternalSubMapperName,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tprotocolMapper: 'oidc-usermodel-attribute-mapper',\n\t\t\tconfig: {\n\t\t\t\t'aggregate.attrs': false,\n\t\t\t\t'userinfo.token.claim': true,\n\t\t\t\tmultivalued: false,\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t\t'id.token.claim': true,\n\t\t\t\t'access.token.claim': true,\n\t\t\t\t'claim.name': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakConfigurationUc.html":{"url":"injectables/KeycloakConfigurationUc.html","title":"injectable - KeycloakConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n check\n \n \n Public\n Async\n clean\n \n \n Async\n configure\n \n \n Public\n Async\n migrate\n \n \n Public\n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, keycloakConfigService: KeycloakConfigurationService, keycloakSeedService: KeycloakSeedService, keycloakMigrationService: KeycloakMigrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n keycloakConfigService\n \n \n KeycloakConfigurationService\n \n \n \n No\n \n \n \n \n keycloakSeedService\n \n \n KeycloakSeedService\n \n \n \n No\n \n \n \n \n keycloakMigrationService\n \n \n KeycloakMigrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize?: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pageSize\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrate\n \n \n \n \n \n \n \n migrate(skip?: number, verbose?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n verbose\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:24\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { KeycloakConfigurationService } from '../service/keycloak-configuration.service';\nimport { KeycloakSeedService } from '../service/keycloak-seed.service';\nimport { KeycloakMigrationService } from '../service/keycloak-migration.service';\n\n@Injectable()\nexport class KeycloakConfigurationUc {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly keycloakConfigService: KeycloakConfigurationService,\n\t\tprivate readonly keycloakSeedService: KeycloakSeedService,\n\t\tprivate readonly keycloakMigrationService: KeycloakMigrationService\n\t) {}\n\n\tpublic async check(): Promise {\n\t\treturn this.kcAdmin.testKcConnection();\n\t}\n\n\tpublic async clean(pageSize?: number): Promise {\n\t\treturn this.keycloakSeedService.clean(pageSize);\n\t}\n\n\tpublic async seed(): Promise {\n\t\treturn this.keycloakSeedService.seed();\n\t}\n\n\tpublic async migrate(skip?: number, verbose?: boolean): Promise {\n\t\treturn this.keycloakMigrationService.migrate(skip, verbose);\n\t}\n\n\tasync configure(): Promise {\n\t\tawait this.kcAdmin.setPasswordPolicy();\n\t\tawait this.keycloakConfigService.configureClient();\n\t\tawait this.keycloakConfigService.configureBrokerFlows();\n\t\tawait this.keycloakConfigService.configureRealm();\n\t\treturn this.keycloakConfigService.configureIdentityProviders();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConsole.html":{"url":"classes/KeycloakConsole.html","title":"class - KeycloakConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n check\n \n \n \n Async\n clean\n \n \n \n Async\n configure\n \n \n Private\n delay\n \n \n \n Async\n migrate\n \n \n Private\n Async\n repeatCommand\n \n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(console: ConsoleWriterService, keycloakConfigurationUc: KeycloakConfigurationUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n console\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n keycloakConfigurationUc\n \n \n KeycloakConfigurationUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n \n \n Type : CommandOption[]\n\n \n \n \n \n Default value : [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t]\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'check', description: 'Test the connection to the IDM.'})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:51\n \n \n\n\n \n \n For local development. Checks if connection to IDM is working.\n\n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n clean\n \n \n \n \n \n \n \n clean(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'clean', description: 'Remove all users from the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:77\n \n \n\n\n \n \n Cleans users from IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'configure', description: 'Configures Keycloak identity providers.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:121\n \n \n\n\n \n \n Used in production and for local development to transfer configuration to keycloak.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n delay\n \n \n \n \n \n \n \n delay(ms: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ms\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'migrate', description: 'Add all database users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:156\n \n \n\n\n \n \n For migration purpose. Moves all database accounts to the IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n repeatCommand\n \n \n \n \n \n \n \n repeatCommand(commandName: string, command: () => void, count: number, delay: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:172\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n commandName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n command\n \n function\n \n\n \n No\n \n\n \n \n\n \n \n count\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n delay\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', description: 'Add all seed users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:99\n \n \n\n\n \n \n For local development. Seeds user into IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementOauthService.html":{"url":"injectables/KeycloakIdentityManagementOauthService.html","title":"injectable - KeycloakIdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementOauthService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n Async\n isOauthConfigAvailable\n \n \n resetOauthConfigCache\n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdminService: KeycloakAdministrationService, configService: ConfigService, httpService: HttpService, oAuthEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminService\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:24\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:54\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n resetOauthConfigCache\n \n \n \n \n \n \nresetOauthConfigCache()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:50\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n \n \n Type : OauthConfigDto | undefined\n\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n\n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthConfigDto } from '@modules/system/service/dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport qs from 'qs';\nimport { lastValueFrom } from 'rxjs';\nimport { IdentityManagementOauthService } from '../../identity-management-oauth.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementOauthService extends IdentityManagementOauthService {\n\tprivate _oauthConfigCache: OauthConfigDto | undefined;\n\n\tconstructor(\n\t\tprivate readonly kcAdminService: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService\n\t) {\n\t\tsuper();\n\t}\n\n\tasync getOauthConfig(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn this._oauthConfigCache;\n\t\t}\n\t\tconst wellKnownUrl = this.kcAdminService.getWellKnownUrl();\n\t\tconst response = (await lastValueFrom(this.httpService.get>(wellKnownUrl))).data;\n\t\tconst scDomain = this.configService.get('SC_DOMAIN') || '';\n\t\tconst redirectUri =\n\t\t\tscDomain === 'localhost' ? 'http://localhost:3030/api/v3/sso/oauth/' : `https://${scDomain}/api/v3/sso/oauth/`;\n\t\tthis._oauthConfigCache = new OauthConfigDto({\n\t\t\tclientId: this.kcAdminService.getClientId(),\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(await this.kcAdminService.getClientSecret()),\n\t\t\tprovider: 'oauth',\n\t\t\tredirectUri,\n\t\t\tresponseType: 'code',\n\t\t\tgrantType: 'authorization_code',\n\t\t\tscope: 'openid profile email',\n\t\t\tissuer: response.issuer as string,\n\t\t\ttokenEndpoint: response.token_endpoint as string,\n\t\t\tauthEndpoint: response.authorization_endpoint as string,\n\t\t\tlogoutEndpoint: response.end_session_endpoint as string,\n\t\t\tjwksEndpoint: response.jwks_uri as string,\n\t\t});\n\t\treturn this._oauthConfigCache;\n\t}\n\n\tresetOauthConfigCache(): void {\n\t\tthis._oauthConfigCache = undefined;\n\t}\n\n\tasync isOauthConfigAvailable(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.kcAdminService.testKcConnection();\n\t}\n\n\tasync resourceOwnerPasswordGrant(username: string, password: string): Promise {\n\t\tconst { clientId, clientSecret, tokenEndpoint } = await this.getOauthConfig();\n\t\tconst data = {\n\t\t\tusername,\n\t\t\tpassword,\n\t\t\tgrant_type: 'password',\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: this.oAuthEncryptionService.decrypt(clientSecret),\n\t\t};\n\t\ttry {\n\t\t\tconst response = await lastValueFrom(\n\t\t\t\tthis.httpService.request({\n\t\t\t\t\tmethod: 'post',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t},\n\t\t\t\t\turl: tokenEndpoint,\n\t\t\t\t\tdata: qs.stringify(data),\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn response.data.access_token;\n\t\t} catch (err) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementService.html":{"url":"injectables/KeycloakIdentityManagementService.html","title":"injectable - KeycloakIdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createAccount\n \n \n Async\n deleteAccountById\n \n \n Private\n extractAccount\n \n \n Private\n extractAttributeValue\n \n \n Async\n findAccountByDbcAccountId\n \n \n Async\n findAccountByDbcUserId\n \n \n Async\n findAccountById\n \n \n Async\n findAccountsByUsername\n \n \n Async\n getAllAccounts\n \n \n Async\n getUserAttribute\n \n \n Async\n setUserAttribute\n \n \n Async\n updateAccount\n \n \n Async\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdministrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccount, password?: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:132\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAccount\n \n \n \n \n \n \n \n extractAccount(user: UserRepresentation)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:171\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserRepresentation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdmAccount\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAttributeValue\n \n \n \n \n \n \n \n extractAttributeValue(value)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:187\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:85\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:99\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:127\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:137\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:153\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccount\n \n \n \n \n \n \n \n updateAccount(id: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:47\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(id: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\nimport { IdentityManagementService, SearchOptions } from '../../identity-management.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementService extends IdentityManagementService {\n\tpublic constructor(private readonly kcAdminClient: KeycloakAdministrationService) {\n\t\tsuper();\n\t}\n\n\tasync createAccount(account: IdmAccount, password?: string): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst id = await kc.users.create({\n\t\t\tusername: account.username,\n\t\t\temail: account.email,\n\t\t\tfirstName: account.firstName,\n\t\t\tlastName: account.lastName,\n\t\t\tenabled: true,\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.attDbcAccountId,\n\t\t\t\tdbcUserId: account.attDbcUserId,\n\t\t\t\tdbcSystemId: account.attDbcSystemId,\n\t\t\t},\n\t\t});\n\t\tif (id && password) {\n\t\t\ttry {\n\t\t\t\tawait kc.users.resetPassword({\n\t\t\t\t\tid: id.id,\n\t\t\t\t\tcredential: {\n\t\t\t\t\t\ttemporary: false,\n\t\t\t\t\t\ttype: 'password',\n\t\t\t\t\t\tvalue: password,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tawait kc.users.del(id);\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\treturn id.id;\n\t}\n\n\tasync updateAccount(id: string, account: IdmAccountUpdate): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.update(\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tusername: account.username,\n\t\t\t\temail: account.email,\n\t\t\t\tfirstName: account.firstName,\n\t\t\t\tlastName: account.lastName,\n\t\t\t\tenabled: true,\n\t\t\t}\n\t\t);\n\t\treturn id;\n\t}\n\n\tasync updateAccountPassword(id: string, password: string): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.resetPassword({\n\t\t\tid,\n\t\t\tcredential: {\n\t\t\t\ttemporary: false,\n\t\t\t\ttype: 'password',\n\t\t\t\tvalue: password,\n\t\t\t},\n\t\t});\n\t\treturn id;\n\t}\n\n\tasync findAccountById(id: string): Promise {\n\t\tconst keycloakUser = await (await this.kcAdminClient.callKcAdminClient()).users.findOne({ id });\n\t\tif (!keycloakUser) {\n\t\t\tthrow new Error(`Account '${id}' not found`);\n\t\t}\n\t\treturn this.extractAccount(keycloakUser);\n\t}\n\n\tasync findAccountByDbcAccountId(accountDbcAccountId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcAccountId:${accountDbcAccountId} }` });\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcAccountId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountByDbcUserId(accountDbcUserId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcUserId:${accountDbcUserId} }` });\n\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcUserId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountsByUsername(username: string, options?: SearchOptions): Promise> {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst total = await kc.users.count({ username });\n\t\tconst results = await kc.users.find({\n\t\t\tusername,\n\t\t\texact: options?.exact,\n\t\t\tfirst: options?.skip,\n\t\t\tmax: options?.limit,\n\t\t});\n\t\tconst accounts = results.map((account) => this.extractAccount(account));\n\t\treturn [accounts, total];\n\t}\n\n\tasync getAllAccounts(): Promise {\n\t\tconst keycloakUsers = await (await this.kcAdminClient.callKcAdminClient()).users.find();\n\t\treturn keycloakUsers.map((user: UserRepresentation) => this.extractAccount(user));\n\t}\n\n\tasync deleteAccountById(id: string): Promise {\n\t\tawait (await this.kcAdminClient.callKcAdminClient()).users.del({ id });\n\t\treturn id;\n\t}\n\n\tasync getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes && user.attributes[attributeName] && Array.isArray(user.attributes[attributeName])) {\n\t\t\tconst [value] = (user.attributes[attributeName] as TValue[]) || null;\n\t\t\treturn value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes) {\n\t\t\tuser.attributes[attributeName] = attributeValue;\n\t\t} else {\n\t\t\tuser.attributes = { [attributeName]: attributeValue };\n\t\t}\n\t\tawait kc.users.update({ id: userId }, user);\n\t}\n\n\tprivate extractAccount(user: UserRepresentation): IdmAccount {\n\t\tconst ret: IdmAccount = {\n\t\t\tid: user.id ?? '',\n\t\t\tusername: user.username,\n\t\t\temail: user.email,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tcreatedDate: user.createdTimestamp ? new Date(user.createdTimestamp) : undefined,\n\t\t};\n\t\tret.attDbcSystemId = this.extractAttributeValue(user.attributes?.dbcSystemId);\n\t\tret.attDbcUserId = this.extractAttributeValue(user.attributes?.dbcUserId);\n\t\tret.attDbcAccountId = this.extractAttributeValue(user.attributes?.dbcAccountId);\n\n\t\treturn ret;\n\t}\n\n\tprivate extractAttributeValue(value: unknown): string {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value[0] as string;\n\t\t}\n\t\treturn value as string;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/KeycloakManagementController.html":{"url":"controllers/KeycloakManagementController.html","title":"controller - KeycloakManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n KeycloakManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts\n \n\n \n Prefix\n \n \n management/idm\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n \n \n \n importSeedData()\n \n \n\n \n \n Decorators : \n \n @Post('seed')\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts:19\n \n \n\n\n \n \n This connects to IDM, seeds the test users and seeds the identity providers.\nUsed by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\n\n \n Returns : Promise\n\n \n \n The number of seeded users\n\n \n \n \n \n \n \n\n\n \n import { Controller, Post, ServiceUnavailableException } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\n@Controller('management/idm')\nexport class KeycloakManagementController {\n\tconstructor(private readonly keycloakManagementUc: KeycloakConfigurationUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(KeycloakManagementController.name);\n\t}\n\n\t/**\n\t * This connects to IDM, seeds the test users and seeds the identity providers.\n\t * Used by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\t *\n\t * @returns The number of seeded users\n\t * @throws ServiceUnavailableException if IDM is not ready.\n\t */\n\t@Post('seed')\n\tasync importSeedData(): Promise {\n\t\tif (await this.keycloakManagementUc.check()) {\n\t\t\ttry {\n\t\t\t\tawait this.keycloakManagementUc.configure();\n\t\t\t\treturn await this.keycloakManagementUc.seed();\n\t\t\t} catch (err) {\n\t\t\t\tthis.logger.error(err);\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tthrow new ServiceUnavailableException();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakMigrationService.html":{"url":"injectables/KeycloakMigrationService.html","title":"injectable - KeycloakMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, accountService: AccountService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(start: number, verbose)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n start\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n verbose\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakMigrationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakMigrationService.name);\n\t}\n\n\tasync migrate(start = 0, verbose = false): Promise {\n\t\tconst amount = 100;\n\t\tlet skip = start;\n\t\tlet foundAccounts = 1;\n\t\tlet migratedAccounts = 0;\n\t\tlet accounts: AccountDto[] = [];\n\t\twhile (foundAccounts > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\taccounts = await this.accountService.findMany(skip, amount);\n\t\t\tfoundAccounts = accounts.length;\n\t\t\tfor (const account of accounts) {\n\t\t\t\ttry {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\tconst retAccountId = await this.createOrUpdateIdmAccount(account);\n\t\t\t\t\tmigratedAccounts += 1;\n\t\t\t\t\tif (verbose) {\n\t\t\t\t\t\tthis.logger.log(`Migration of account ${account.id} done, new id is ${retAccountId}.`);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.logger.error(`Migration of account ${account.id} failed.`, err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tskip += foundAccounts;\n\t\t\tif (!verbose) {\n\t\t\t\tthis.logger.log(`...migrated ${skip} accounts.`);\n\t\t\t}\n\t\t}\n\t\treturn migratedAccounts;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: AccountDto): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password ?? ''}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.id,\n\t\t\t\tdbcUserId: account.userId,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tconst existingAccountId = existingAccounts[0].id;\n\t\t\tawait kc.users.update({ id: existingAccountId }, idmUserRepresentation);\n\t\t\treturn existingAccountId;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tconst createdAccountId = await kc.users.create(idmUserRepresentation);\n\t\t\treturn createdAccountId.id;\n\t\t}\n\t\tthrow Error(`Duplicate username ${account.username} update operation aborted.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakModule.html":{"url":"modules/KeycloakModule.html","title":"module - KeycloakModule","body":"\n \n\n\n\n\n Modules\n KeycloakModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakModule\n\n\n\ncluster_KeycloakModule_exports\n\n\n\ncluster_KeycloakModule_imports\n\n\n\ncluster_KeycloakModule_providers\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nKeycloakModule -->\n\nEncryptionModule->KeycloakModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakModule -->\n\nKeycloakAdministrationModule->KeycloakModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nKeycloakModule -->\n\nLoggerModule->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService -->\n\nKeycloakModule->KeycloakIdentityManagementOauthService \n\n\n\n\n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService -->\n\nKeycloakModule->KeycloakIdentityManagementService \n\n\n\n\n\nKeycloakIdentityManagementOauthService\n\nKeycloakIdentityManagementOauthService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementOauthService->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementService\n\nKeycloakIdentityManagementService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementService->KeycloakModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/keycloak.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '@infra/encryption';\nimport { LoggerModule } from '@src/core/logger';\nimport { KeycloakAdministrationModule } from '../keycloak-administration/keycloak-administration.module';\nimport { KeycloakIdentityManagementOauthService } from './service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './service/keycloak-identity-management.service';\n\n@Module({\n\timports: [LoggerModule, EncryptionModule, HttpModule, KeycloakAdministrationModule],\n\tproviders: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n\texports: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n})\nexport class KeycloakModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakSeedService.html":{"url":"classes/KeycloakSeedService.html","title":"class - KeycloakSeedService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakSeedService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n clean\n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Private\n Async\n loadAccounts\n \n \n Private\n Async\n loadUsers\n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, logger: LegacyLogger, inputFiles: IKeycloakConfigurationInputFiles)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n inputFiles\n \n \n IKeycloakConfigurationInputFiles\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n pageSize\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n JsonAccount\n \n\n \n No\n \n\n\n \n \n user\n \n JsonUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccounts\n \n \n \n \n \n \n \n loadAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:94\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadUsers\n \n \n \n \n \n \n \n loadUsers()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:99\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Inject } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport fs from 'node:fs/promises';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { JsonAccount } from '../interface/json-account.interface';\nimport { JsonUser } from '../interface/json-user.interface';\nimport {\n\tIKeycloakConfigurationInputFiles,\n\tKeycloakConfigurationInputFiles,\n} from '../interface/keycloak-configuration-input-files.interface';\n\nexport class KeycloakSeedService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\t@Inject(KeycloakConfigurationInputFiles) private readonly inputFiles: IKeycloakConfigurationInputFiles\n\t) {}\n\n\tasync seed(): Promise {\n\t\tlet userCount = 0;\n\t\tconst users = await this.loadUsers();\n\t\tconst accounts = await this.loadAccounts();\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const user of users) {\n\t\t\tconst account = accounts.find((a) => a.userId.$oid === user._id.$oid);\n\t\t\tif (account) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tuserCount += (await this.createOrUpdateIdmAccount(account, user)) ? 1 : 0;\n\t\t\t}\n\t\t}\n\t\treturn userCount;\n\t}\n\n\tpublic async clean(pageSize = 100): Promise {\n\t\tlet foundUsers = 1;\n\t\tlet deletedUsers = 0;\n\t\tconst adminUser = this.kcAdmin.getAdminUser();\n\t\tlet kc = await this.kcAdmin.callKcAdminClient();\n\t\tthis.logger.log(`Starting to delete users...`);\n\t\twhile (foundUsers > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tkc = await this.kcAdmin.callKcAdminClient();\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tconst users = (await kc.users.find({ max: pageSize })).filter((user) => user.username !== adminUser);\n\t\t\tfoundUsers = users.length;\n\t\t\tthis.logger.log(`Amount of found Users: ${foundUsers}`);\n\t\t\tfor (const user of users) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait kc.users.del({\n\t\t\t\t\tid: user.id ?? '',\n\t\t\t\t});\n\t\t\t}\n\t\t\tdeletedUsers += foundUsers;\n\t\t\tthis.logger.log(`...deleted ${deletedUsers} users so far.`);\n\t\t}\n\t\treturn deletedUsers;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\temail: user.email,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account._id.$oid,\n\t\t\t\tdbcUserId: account.userId.$oid,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tawait kc.users.update({ id: existingAccounts[0].id }, idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tawait kc.users.create(idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\t// else, unreachable, multiple accounts for same username (unique)\n\t\treturn false;\n\t}\n\n\tprivate async loadAccounts(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.accountsFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonAccount[];\n\t}\n\n\tprivate async loadUsers(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.usersFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonUser[];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAlreadyPersistedException.html":{"url":"classes/LdapAlreadyPersistedException.html","title":"class - LdapAlreadyPersistedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAlreadyPersistedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAuthorizationBodyParams.html":{"url":"classes/LdapAuthorizationBodyParams.html","title":"class - LdapAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n schoolId\n \n \n \n \n systemId\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class LdapAuthorizationBodyParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfig.html":{"url":"classes/LdapConfig.html","title":"class - LdapConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/ldap-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n active\n \n \n Optional\n provider\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LdapConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LdapConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LdapConfig {\n\tactive: boolean;\n\n\turl: string;\n\n\tprovider?: string;\n\n\tconstructor(props: LdapConfig) {\n\t\tthis.active = props.active;\n\t\tthis.url = props.url;\n\t\tthis.provider = props.provider;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfigEntity.html":{"url":"classes/LdapConfigEntity.html","title":"class - LdapConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n active\n \n \n \n Optional\n federalState\n \n \n \n Optional\n lastModifyTimestamp\n \n \n \n Optional\n lastSuccessfulFullSync\n \n \n \n Optional\n lastSuccessfulPartialSync\n \n \n \n Optional\n lastSyncAttempt\n \n \n \n Optional\n provider\n \n \n \n Optional\n providerOptions\n \n \n \n Optional\n rootPath\n \n \n \n Optional\n searchUser\n \n \n \n Optional\n searchUserPassword\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ldapConfig: Readonly)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:77\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:94\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:97\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:109\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:103\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:106\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:100\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:124\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:127\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:115\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:118\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:121\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:112\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConnectionError.html":{"url":"classes/LdapConnectionError.html","title":"class - LdapConnectionError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConnectionError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/ldap-connection.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(details?: Record)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/ldap-connection.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class LdapConnectionError extends BusinessError {\n\tconstructor(details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'LDAP_CONNECTION_FAILED',\n\t\t\t\ttitle: 'LDAP connection failed',\n\t\t\t\tdefaultMessage: 'LDAP connection failed',\n\t\t\t},\n\t\t\tHttpStatus.BAD_GATEWAY,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapService.html":{"url":"injectables/LdapService.html","title":"injectable - LdapService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/ldap.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n Private\n connect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n \n \n \n \n \n checkLdapCredentials(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Client, createClient } from 'ldapjs';\nimport { LdapConnectionError } from '../errors/ldap-connection.error';\n\n@Injectable()\nexport class LdapService {\n\tconstructor(private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(LdapService.name);\n\t}\n\n\tasync checkLdapCredentials(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst connection = await this.connect(system, username, password);\n\t\tif (connection.connected) {\n\t\t\tconnection.unbind();\n\t\t\treturn;\n\t\t}\n\t\tthrow new UnauthorizedException('User could not authenticate');\n\t}\n\n\tprivate connect(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst { ldapConfig } = system;\n\t\tif (!ldapConfig) {\n\t\t\tthrow Error(`no LDAP config found in system ${system.id}`);\n\t\t}\n\t\tconst client: Client = createClient({\n\t\t\turl: ldapConfig.url,\n\t\t\treconnect: {\n\t\t\t\tinitialDelay: 100,\n\t\t\t\tmaxDelay: 300,\n\t\t\t\tfailAfter: 3,\n\t\t\t},\n\t\t});\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tclient.on('connect', () => {\n\t\t\t\tclient.bind(username, password, (err) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tthis.logger.debug(err);\n\t\t\t\t\t\treject(\n\t\t\t\t\t\t\tnew UnauthorizedException(\n\t\t\t\t\t\t\t\t'User could not authenticate',\n\t\t\t\t\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'LdapService:connect')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.logger.debug('[LDAP] Bind successful');\n\t\t\t\t\t\tresolve(client);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tclient.on('error', (err) => {\n\t\t\t\treject(new LdapConnectionError({ error: err }));\n\t\t\t});\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapStrategy.html":{"url":"injectables/LdapStrategy.html","title":"injectable - LdapStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/ldap.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'ldap')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n checkValue\n \n \n Private\n extractParamsFromRequest\n \n \n Private\n Async\n loadAccount\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, schoolRepo: LegacySchoolRepo, ldapService: LdapService, authenticationService: AuthenticationService, userRepo: UserRepo, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n ldapService\n \n \n LdapService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(account: AccountDto, system: SystemEntity, ldapDn: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n ldapDn\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValue\n \n \n \n \n \n \n \n checkValue(value: T | null | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractParamsFromRequest\n \n \n \n \n \n \n \n extractParamsFromRequest(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Required\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId: string, school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { ErrorLoggable } from '@src/core/error/loggable/error.loggable';\nimport { Logger } from '@src/core/logger';\nimport { Strategy } from 'passport-custom';\nimport { LdapAuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LdapService } from '../services/ldap.service';\n\n@Injectable()\nexport class LdapStrategy extends PassportStrategy(Strategy, 'ldap') {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly ldapService: LdapService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: LdapAuthorizationBodyParams }): Promise {\n\t\tconst { username, password, systemId, schoolId } = this.extractParamsFromRequest(request);\n\n\t\tconst system: SystemEntity = await this.systemRepo.findById(systemId);\n\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\n\t\tif (!school.systems || !school.systems.includes(systemId)) {\n\t\t\tthrow new UnauthorizedException(`School ${schoolId} does not have the selected system ${systemId}`);\n\t\t}\n\n\t\tconst account: AccountDto = await this.loadAccount(username, system.id, school);\n\n\t\tconst userId: string = this.checkValue(account.userId);\n\n\t\tthis.authenticationService.checkBrutForce(account);\n\n\t\tconst user: User = await this.userRepo.findById(userId);\n\n\t\tconst ldapDn: string = this.checkValue(user.ldapDn);\n\n\t\tawait this.checkCredentials(account, system, ldapDn, password);\n\n\t\tconst currentUser: ICurrentUser = CurrentUserMapper.userToICurrentUser(account.id, user, true, systemId);\n\n\t\treturn currentUser;\n\t}\n\n\tprivate extractParamsFromRequest(request: {\n\t\tbody: LdapAuthorizationBodyParams;\n\t}): Required {\n\t\tconst { systemId, schoolId } = request.body;\n\t\tlet { username, password } = request.body;\n\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\n\t\treturn { username, password, systemId, schoolId };\n\t}\n\n\tprivate checkValue(value: T | null | undefined): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t\treturn value;\n\t}\n\n\tprivate async checkCredentials(\n\t\taccount: AccountDto,\n\t\tsystem: SystemEntity,\n\t\tldapDn: string,\n\t\tpassword: string\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ldapService.checkLdapCredentials(system, ldapDn, password);\n\t\t} catch (error) {\n\t\t\tif (error instanceof UnauthorizedException) {\n\t\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async loadAccount(username: string, systemId: string, school: LegacySchoolDo): Promise {\n\t\tconst externalSchoolId = this.checkValue(school.externalId);\n\n\t\tlet account: AccountDto;\n\n\t\t// TODO having to check for two values in order to find an account is not optimal and should be changed.\n\t\t// The way the name field of Accounts is used for LDAP should be reconsidered, since\n\t\t// mixing the login name with a technical id from a foreign system is not a good pattern.\n\t\t// Binding the login name to an identifier from a foreign system or an identifier of a school can lead to\n\t\t// accounts not being found when the identifier changes.\n\t\ttry {\n\t\t\taccount = await this.authenticationService.loadAccount(`${externalSchoolId}/${username}`.toLowerCase(), systemId);\n\t\t} catch (err: unknown) {\n\t\t\tif (school.previousExternalId) {\n\t\t\t\tthis.logger.info(\n\t\t\t\t\tnew ErrorLoggable(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Could not find LDAP account with externalSchoolId ${externalSchoolId} for user ${username}. Trying to use the previousExternalId ${school.previousExternalId} next...`\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\taccount = await this.authenticationService.loadAccount(\n\t\t\t\t\t`${school.previousExternalId}/${username}`.toLowerCase(),\n\t\t\t\t\tsystemId\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\treturn account;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapUserMigrationException.html":{"url":"classes/LdapUserMigrationException.html","title":"class - LdapUserMigrationException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapUserMigrationException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Learnroom.html":{"url":"interfaces/Learnroom.html","title":"interface - Learnroom","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Learnroom\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n getMetadata: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomApiModule.html":{"url":"modules/LearnroomApiModule.html","title":"module - LearnroomApiModule","body":"\n \n\n\n\n\n Modules\n LearnroomApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomApiModule\n\n\n\ncluster_LearnroomApiModule_imports\n\n\n\ncluster_LearnroomApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nLearnroomApiModule -->\n\nAuthorizationModule->LearnroomApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nLearnroomApiModule -->\n\nAuthorizationReferenceModule->LearnroomApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomApiModule -->\n\nCopyHelperModule->LearnroomApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomApiModule -->\n\nLearnroomModule->LearnroomApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomApiModule -->\n\nLessonModule->LearnroomApiModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomApiModule -->\n\nBoardRepo->LearnroomApiModule\n\n\n\n\n\nCourseCopyUC\n\nCourseCopyUC\n\nLearnroomApiModule -->\n\nCourseCopyUC->LearnroomApiModule\n\n\n\n\n\nCourseExportUc\n\nCourseExportUc\n\nLearnroomApiModule -->\n\nCourseExportUc->LearnroomApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomApiModule -->\n\nCourseRepo->LearnroomApiModule\n\n\n\n\n\nCourseUc\n\nCourseUc\n\nLearnroomApiModule -->\n\nCourseUc->LearnroomApiModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomApiModule -->\n\nDashboardModelMapper->LearnroomApiModule\n\n\n\n\n\nDashboardUc\n\nDashboardUc\n\nLearnroomApiModule -->\n\nDashboardUc->LearnroomApiModule\n\n\n\n\n\nLessonCopyUC\n\nLessonCopyUC\n\nLearnroomApiModule -->\n\nLessonCopyUC->LearnroomApiModule\n\n\n\n\n\nRoomBoardDTOFactory\n\nRoomBoardDTOFactory\n\nLearnroomApiModule -->\n\nRoomBoardDTOFactory->LearnroomApiModule\n\n\n\n\n\nRoomBoardResponseMapper\n\nRoomBoardResponseMapper\n\nLearnroomApiModule -->\n\nRoomBoardResponseMapper->LearnroomApiModule\n\n\n\n\n\nRoomsAuthorisationService\n\nRoomsAuthorisationService\n\nLearnroomApiModule -->\n\nRoomsAuthorisationService->LearnroomApiModule\n\n\n\n\n\nRoomsUc\n\nRoomsUc\n\nLearnroomApiModule -->\n\nRoomsUc->LearnroomApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomApiModule -->\n\nUserRepo->LearnroomApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardRepo\n \n \n CourseCopyUC\n \n \n CourseExportUc\n \n \n CourseRepo\n \n \n CourseUc\n \n \n DashboardModelMapper\n \n \n DashboardUc\n \n \n LessonCopyUC\n \n \n RoomBoardDTOFactory\n \n \n RoomBoardResponseMapper\n \n \n RoomsAuthorisationService\n \n \n RoomsUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n DashboardController\n \n \n CourseController\n \n \n RoomsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n CopyHelperModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, UserRepo } from '@shared/repo';\nimport { CourseController } from './controller/course.controller';\nimport { DashboardController } from './controller/dashboard.controller';\nimport { RoomsController } from './controller/rooms.controller';\nimport { LearnroomModule } from './learnroom.module';\nimport { RoomBoardResponseMapper } from './mapper/room-board-response.mapper';\nimport {\n\tCourseCopyUC,\n\tCourseExportUc,\n\tCourseUc,\n\tDashboardUc,\n\tLessonCopyUC,\n\tRoomBoardDTOFactory,\n\tRoomsAuthorisationService,\n\tRoomsUc,\n} from './uc';\n\n@Module({\n\timports: [AuthorizationModule, LessonModule, CopyHelperModule, LearnroomModule, AuthorizationReferenceModule],\n\tcontrollers: [DashboardController, CourseController, RoomsController],\n\tproviders: [\n\t\tDashboardUc,\n\t\tCourseUc,\n\t\tRoomsUc,\n\t\tRoomBoardResponseMapper,\n\t\tRoomBoardDTOFactory,\n\t\tLessonCopyUC,\n\t\tCourseCopyUC,\n\t\tRoomsAuthorisationService,\n\t\tCourseExportUc,\n\t\t// FIXME Refactor UCs to use services and remove these imports\n\t\t{\n\t\t\tprovide: 'DASHBOARD_REPO',\n\t\t\tuseClass: DashboardRepo,\n\t\t},\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tUserRepo,\n\t\tBoardRepo,\n\t],\n})\nexport class LearnroomApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LearnroomElement.html":{"url":"interfaces/LearnroomElement.html","title":"interface - LearnroomElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LearnroomElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n publish\n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n publish\n \n \n \n \n \n \n \n \n publish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n unpublish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomModule.html":{"url":"modules/LearnroomModule.html","title":"module - LearnroomModule","body":"\n \n\n\n\n\n Modules\n LearnroomModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomModule\n\n\n\ncluster_LearnroomModule_imports\n\n\n\ncluster_LearnroomModule_exports\n\n\n\ncluster_LearnroomModule_providers\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomModule -->\n\nBoardModule->LearnroomModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomModule -->\n\nCopyHelperModule->LearnroomModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomModule -->\n\nLessonModule->LearnroomModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLearnroomModule -->\n\nLoggerModule->LearnroomModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLearnroomModule -->\n\nTaskModule->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService \n\nCommonCartridgeExportService \n\nCommonCartridgeExportService -->\n\nLearnroomModule->CommonCartridgeExportService \n\n\n\n\n\nCourseCopyService \n\nCourseCopyService \n\nCourseCopyService -->\n\nLearnroomModule->CourseCopyService \n\n\n\n\n\nCourseGroupService \n\nCourseGroupService \n\nCourseGroupService -->\n\nLearnroomModule->CourseGroupService \n\n\n\n\n\nCourseService \n\nCourseService \n\nCourseService -->\n\nLearnroomModule->CourseService \n\n\n\n\n\nDashboardService \n\nDashboardService \n\nDashboardService -->\n\nLearnroomModule->DashboardService \n\n\n\n\n\nRoomsService \n\nRoomsService \n\nRoomsService -->\n\nLearnroomModule->RoomsService \n\n\n\n\n\nBoardCopyService\n\nBoardCopyService\n\nLearnroomModule -->\n\nBoardCopyService->LearnroomModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomModule -->\n\nBoardRepo->LearnroomModule\n\n\n\n\n\nColumnBoardTargetService\n\nColumnBoardTargetService\n\nLearnroomModule -->\n\nColumnBoardTargetService->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService\n\nCommonCartridgeExportService\n\nLearnroomModule -->\n\nCommonCartridgeExportService->LearnroomModule\n\n\n\n\n\nCourseCopyService\n\nCourseCopyService\n\nLearnroomModule -->\n\nCourseCopyService->LearnroomModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nLearnroomModule -->\n\nCourseGroupRepo->LearnroomModule\n\n\n\n\n\nCourseGroupService\n\nCourseGroupService\n\nLearnroomModule -->\n\nCourseGroupService->LearnroomModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomModule -->\n\nCourseRepo->LearnroomModule\n\n\n\n\n\nCourseService\n\nCourseService\n\nLearnroomModule -->\n\nCourseService->LearnroomModule\n\n\n\n\n\nDashboardElementRepo\n\nDashboardElementRepo\n\nLearnroomModule -->\n\nDashboardElementRepo->LearnroomModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomModule -->\n\nDashboardModelMapper->LearnroomModule\n\n\n\n\n\nDashboardService\n\nDashboardService\n\nLearnroomModule -->\n\nDashboardService->LearnroomModule\n\n\n\n\n\nRoomsService\n\nRoomsService\n\nLearnroomModule -->\n\nRoomsService->LearnroomModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomModule -->\n\nUserRepo->LearnroomModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardCopyService\n \n \n BoardRepo\n \n \n ColumnBoardTargetService\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupRepo\n \n \n CourseGroupService\n \n \n CourseRepo\n \n \n CourseService\n \n \n DashboardElementRepo\n \n \n DashboardModelMapper\n \n \n DashboardService\n \n \n RoomsService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupService\n \n \n CourseService\n \n \n DashboardService\n \n \n RoomsService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport {\n\tBoardRepo,\n\tCourseGroupRepo,\n\tCourseRepo,\n\tDashboardElementRepo,\n\tDashboardModelMapper,\n\tDashboardRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport {\n\tBoardCopyService,\n\tColumnBoardTargetService,\n\tCommonCartridgeExportService,\n\tCourseCopyService,\n\tCourseGroupService,\n\tCourseService,\n\tDashboardService,\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\tDashboardElementRepo,\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tBoardRepo,\n\t\tUserRepo,\n\t\tBoardCopyService,\n\t\tCourseCopyService,\n\t\tRoomsService,\n\t\tCourseService,\n\t\tCommonCartridgeExportService,\n\t\tColumnBoardTargetService,\n\t\tCourseGroupService,\n\t\tCourseGroupRepo,\n\t\tDashboardService,\n\t],\n\texports: [\n\t\tCourseCopyService,\n\t\tCourseService,\n\t\tRoomsService,\n\t\tCommonCartridgeExportService,\n\t\tCourseGroupService,\n\t\tDashboardService,\n\t],\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\nSystemModule\n\nSystemModule\n\nLegacySchoolApiModule -->\n\nSystemModule->LegacySchoolApiModule\n\n\n\n\n\nSchoolSystemOptionsUc\n\nSchoolSystemOptionsUc\n\nLegacySchoolApiModule -->\n\nSchoolSystemOptionsUc->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\n\n \n \n \n Providers\n \n \n SchoolSystemOptionsUc\n \n \n \n \n Controllers\n \n \n SchoolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { SystemModule } from '@modules/system';\nimport { Module } from '@nestjs/common';\nimport { SchoolController } from './controller';\nimport { LegacySchoolModule } from './legacy-school.module';\nimport { SchoolSystemOptionsUc } from './uc';\n\n@Module({\n\timports: [LegacySchoolModule, AuthorizationModule, SystemModule],\n\tcontrollers: [SchoolController],\n\tproviders: [SchoolSystemOptionsUc],\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"},"classes/LegacySchoolDo.html":{"url":"classes/LegacySchoolDo.html","title":"class - LegacySchoolDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/legacy-school.do.ts\n \n\n \n Deprecated\n \n \n because it extends the deprecated BaseDO.\n \n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalId\n \n \n Optional\n features\n \n \n federalState\n \n \n Optional\n inMaintenanceSince\n \n \n Optional\n inUserMigration\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n Optional\n previousExternalId\n \n \n Optional\n schoolYear\n \n \n Optional\n systems\n \n \n Optional\n userLoginMigrationId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: LegacySchoolDo)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : SchoolFeatures[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n Type : FederalStateEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inMaintenanceSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inUserMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : SchoolYearEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n systems\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userLoginMigrationId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\n/**\n * @deprecated because it extends the deprecated BaseDO.\n */\nexport class LegacySchoolDo extends BaseDO {\n\texternalId?: string;\n\n\tinMaintenanceSince?: Date;\n\n\tinUserMigration?: boolean;\n\n\tpreviousExternalId?: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tsystems?: EntityId[];\n\n\tfeatures?: SchoolFeatures[];\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tschoolYear?: SchoolYearEntity;\n\n\tuserLoginMigrationId?: EntityId;\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tfederalState: FederalStateEntity;\n\n\tconstructor(params: LegacySchoolDo) {\n\t\tsuper();\n\t\tthis.id = params.id;\n\t\tthis.externalId = params.externalId;\n\t\tthis.features = params.features;\n\t\tthis.inMaintenanceSince = params.inMaintenanceSince;\n\t\tthis.inUserMigration = params.inUserMigration;\n\t\tthis.name = params.name;\n\t\tthis.previousExternalId = params.previousExternalId;\n\t\tthis.officialSchoolNumber = params.officialSchoolNumber;\n\t\tthis.schoolYear = params.schoolYear;\n\t\tthis.systems = params.systems;\n\t\tthis.userLoginMigrationId = params.userLoginMigrationId;\n\t\tthis.federalState = params.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LegacySchoolFactory.html":{"url":"classes/LegacySchoolFactory.html","title":"class - LegacySchoolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/legacy-school.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { federalStateFactory } from '../federal-state.factory';\nimport { schoolYearFactory } from '../schoolyear.factory';\nimport { DoBaseFactory } from './do-base.factory';\n\nclass LegacySchoolFactory extends DoBaseFactory {}\n\nexport const legacySchoolDoFactory = LegacySchoolFactory.define(LegacySchoolDo, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolName-${sequence}`,\n\t\texternalId: '123',\n\t\tfeatures: [],\n\t\tinMaintenanceSince: new Date(2020, 1),\n\t\tinUserMigration: true,\n\t\toauthMigrationMandatory: new Date(2020, 1),\n\t\toauthMigrationPossible: new Date(2020, 1),\n\t\toauthMigrationFinished: new Date(2020, 1),\n\t\tpreviousExternalId: '456',\n\t\tofficialSchoolNumber: '789',\n\t\tsystems: [],\n\t\tfederalState: federalStateFactory.build(),\n\t\tschoolYear: schoolYearFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LegacySchoolModule.html":{"url":"modules/LegacySchoolModule.html","title":"module - LegacySchoolModule","body":"\n \n\n\n\n\n Modules\n LegacySchoolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LegacySchoolModule\n\n\n\ncluster_LegacySchoolModule_exports\n\n\n\ncluster_LegacySchoolModule_imports\n\n\n\ncluster_LegacySchoolModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nLegacySchoolModule -->\n\nLoggerModule->LegacySchoolModule\n\n\n\n\n\nFederalStateService \n\nFederalStateService \n\nFederalStateService -->\n\nLegacySchoolModule->FederalStateService \n\n\n\n\n\nLegacySchoolService \n\nLegacySchoolService \n\nLegacySchoolService -->\n\nLegacySchoolModule->LegacySchoolService \n\n\n\n\n\nSchoolSystemOptionsService \n\nSchoolSystemOptionsService \n\nSchoolSystemOptionsService -->\n\nLegacySchoolModule->SchoolSystemOptionsService \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\nSchoolSystemOptionsRepo\n\nSchoolSystemOptionsRepo\n\nLegacySchoolModule -->\n\nSchoolSystemOptionsRepo->LegacySchoolModule\n\n\n\n\n\nSchoolSystemOptionsService\n\nSchoolSystemOptionsService\n\nLegacySchoolModule -->\n\nSchoolSystemOptionsService->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 SchoolSystemOptionsRepo\n \n \n SchoolSystemOptionsService\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 SchoolSystemOptionsService\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 { SchoolSystemOptionsRepo, SchoolYearRepo } from './repo';\nimport {\n\tFederalStateService,\n\tLegacySchoolService,\n\tSchoolSystemOptionsService,\n\tSchoolValidationService,\n\tSchoolYearService,\n} 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\tSchoolSystemOptionsRepo,\n\t\tSchoolSystemOptionsService,\n\t],\n\texports: [LegacySchoolService, SchoolYearService, FederalStateService, SchoolSystemOptionsService],\n})\nexport class LegacySchoolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRepo.html":{"url":"injectables/LegacySchoolRepo.html","title":"injectable - LegacySchoolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/school/legacy-school.repo.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByExternalId\n \n \n Async\n findBySchoolNumber\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolNumber\n \n \n \n \n \n \n \n findBySchoolNumber(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: LegacySchoolDo)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:57\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LegacySchoolDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:19\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity, UserLoginMigrationEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolEntity;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst school: SchoolEntity | null = await this._em.findOne(SchoolEntity, { externalId, systems: systemId });\n\n\t\tconst schoolDo: LegacySchoolDo | null = school ? this.mapEntityToDO(school) : null;\n\t\treturn schoolDo;\n\t}\n\n\tasync findBySchoolNumber(officialSchoolNumber: string): Promise {\n\t\tconst [schools, count] = await this._em.findAndCount(SchoolEntity, { officialSchoolNumber });\n\t\tif (count > 1) {\n\t\t\tthrow new InternalServerErrorException(`Multiple schools found for officialSchoolNumber ${officialSchoolNumber}`);\n\t\t}\n\n\t\tconst schoolDo: LegacySchoolDo | null = schools[0] ? this.mapEntityToDO(schools[0]) : null;\n\t\treturn schoolDo;\n\t}\n\n\tmapEntityToDO(entity: SchoolEntity): LegacySchoolDo {\n\t\treturn new LegacySchoolDo({\n\t\t\tid: entity.id,\n\t\t\texternalId: entity.externalId,\n\t\t\tfeatures: entity.features,\n\t\t\tinMaintenanceSince: entity.inMaintenanceSince,\n\t\t\tinUserMigration: entity.inUserMigration,\n\t\t\tname: entity.name,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tofficialSchoolNumber: entity.officialSchoolNumber,\n\t\t\tschoolYear: entity.schoolYear,\n\t\t\tsystems: entity.systems.isInitialized() ? entity.systems.getItems().map((system: SystemEntity) => system.id) : [],\n\t\t\tuserLoginMigrationId: entity.userLoginMigration?.id,\n\t\t\tfederalState: entity.federalState,\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: LegacySchoolDo): EntityData {\n\t\treturn {\n\t\t\texternalId: entityDO.externalId,\n\t\t\tfeatures: entityDO.features,\n\t\t\tinMaintenanceSince: entityDO.inMaintenanceSince,\n\t\t\tinUserMigration: entityDO.inUserMigration,\n\t\t\tname: entityDO.name,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tofficialSchoolNumber: entityDO.officialSchoolNumber,\n\t\t\tschoolYear: entityDO.schoolYear,\n\t\t\tsystems: entityDO.systems\n\t\t\t\t? entityDO.systems.map((systemId: EntityId) => this._em.getReference(SystemEntity, systemId))\n\t\t\t\t: [],\n\t\t\tuserLoginMigration: entityDO.userLoginMigrationId\n\t\t\t\t? this._em.getReference(UserLoginMigrationEntity, entityDO.userLoginMigrationId)\n\t\t\t\t: undefined,\n\t\t\tfederalState: entityDO.federalState,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRule.html":{"url":"injectables/LegacySchoolRule.html","title":"injectable - LegacySchoolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, object: AuthorizableObject | BaseDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, object: AuthorizableObject | BaseDO): boolean {\n\t\tconst isMatched = object instanceof LegacySchoolDo;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext): boolean {\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) && user.school.id === entity.id;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolService.html":{"url":"injectables/LegacySchoolService.html","title":"injectable - LegacySchoolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/legacy-school.service.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n Async\n getSchoolById\n \n \n Async\n getSchoolBySchoolNumber\n \n \n Async\n hasFeature\n \n \n Async\n removeFeature\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo, schoolValidationService: SchoolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n schoolValidationService\n \n \n SchoolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n \n \n \n \n \n getSchoolByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolById\n \n \n \n \n \n \n \n getSchoolById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolBySchoolNumber\n \n \n \n \n \n \n \n getSchoolBySchoolNumber(schoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasFeature\n \n \n \n \n \n \n \n hasFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFeature\n \n \n \n \n \n \n \n removeFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(school: LegacySchoolDo, validate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n \n \n\n \n \n validate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolValidationService } from './validation';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolService {\n\tconstructor(\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly schoolValidationService: SchoolValidationService\n\t) {}\n\n\tasync hasFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst entity: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\treturn entity.features ? entity.features.includes(feature) : false;\n\t}\n\n\tasync removeFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\tif (school.features && school.features.includes(feature)) {\n\t\t\tschool.features = school.features.filter((f: SchoolFeatures) => f !== feature);\n\t\t\tawait this.schoolRepo.save(school);\n\t\t}\n\t}\n\n\tasync getSchoolById(id: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo = await this.schoolRepo.findById(id);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findByExternalId(externalId, systemId);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolBySchoolNumber(schoolNumber: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(schoolNumber);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync save(school: LegacySchoolDo, validate = false): Promise {\n\t\tif (validate) {\n\t\t\tawait this.schoolValidationService.validate(school);\n\t\t}\n\n\t\tconst ret: LegacySchoolDo = await this.schoolRepo.save(school);\n\n\t\treturn ret;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemRepo.html":{"url":"injectables/LegacySystemRepo.html","title":"injectable - LegacySystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/legacy-system.repo.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object],[object Object]\n \n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findByFilter\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:36\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { SystemScope } from '@shared/repo/system/system-scope';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use the {@link SystemRepo} from the system module instead\n */\n@Injectable()\nexport class LegacySystemRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SystemEntity;\n\t}\n\n\tasync findByFilter(type: SystemTypeEnum): Promise {\n\t\tconst scope = new SystemScope();\n\t\tswitch (type) {\n\t\t\tcase SystemTypeEnum.LDAP:\n\t\t\t\tscope.withLdapConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OAUTH:\n\t\t\t\tscope.withOauthConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OIDC:\n\t\t\t\tscope.withOidcConfig();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\tthrow new Error(`system type ${type} unknown`);\n\t\t}\n\t\treturn this._em.find(SystemEntity, scope.query);\n\t}\n\n\tasync findAll(): Promise {\n\t\treturn this._em.find(SystemEntity, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemService.html":{"url":"injectables/LegacySystemService.html","title":"injectable - LegacySystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/legacy-system.service.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object]\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByType\n \n \n Private\n Async\n generateBrokerSystems\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, idmOauthService: IdentityManagementOauthService)\n \n \n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByType\n \n \n \n \n \n \n \n findByType(type?: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generateBrokerSystems\n \n \n \n \n \n \n \n generateBrokerSystems(systems: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(systemDto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemDto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementOauthService } from '@infra/identity-management';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemMapper } from '../mapper';\nimport { SystemDto } from './dto';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use {@link SystemService}\n */\n@Injectable()\nexport class LegacySystemService {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet system = await this.systemRepo.findById(id);\n\t\t[system] = await this.generateBrokerSystems([system]);\n\t\tif (!system) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tasync findByType(type?: SystemTypeEnum): Promise {\n\t\tlet systems: SystemEntity[];\n\t\tif (type && type === SystemTypeEnum.OAUTH) {\n\t\t\tconst oauthSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OAUTH);\n\t\t\tconst oidcSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\t\tsystems = [...oauthSystems, ...oidcSystems];\n\t\t} else if (type) {\n\t\t\tsystems = await this.systemRepo.findByFilter(type);\n\t\t} else {\n\t\t\tsystems = await this.systemRepo.findAll();\n\t\t}\n\t\tsystems = await this.generateBrokerSystems(systems);\n\t\treturn SystemMapper.mapFromEntitiesToDtos(systems);\n\t}\n\n\tasync save(systemDto: SystemDto): Promise {\n\t\tlet system: SystemEntity;\n\t\tif (systemDto.id) {\n\t\t\tsystem = await this.systemRepo.findById(systemDto.id);\n\t\t\tsystem.type = systemDto.type;\n\t\t\tsystem.alias = systemDto.alias;\n\t\t\tsystem.displayName = systemDto.displayName;\n\t\t\tsystem.oauthConfig = systemDto.oauthConfig;\n\t\t\tsystem.provisioningStrategy = systemDto.provisioningStrategy;\n\t\t\tsystem.provisioningUrl = systemDto.provisioningUrl;\n\t\t\tsystem.url = systemDto.url;\n\t\t} else {\n\t\t\tsystem = new SystemEntity({\n\t\t\t\ttype: systemDto.type,\n\t\t\t\talias: systemDto.alias,\n\t\t\t\tdisplayName: systemDto.displayName,\n\t\t\t\toauthConfig: systemDto.oauthConfig,\n\t\t\t\tprovisioningStrategy: systemDto.provisioningStrategy,\n\t\t\t\tprovisioningUrl: systemDto.provisioningUrl,\n\t\t\t\turl: systemDto.url,\n\t\t\t});\n\t\t}\n\t\tawait this.systemRepo.save(system);\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tprivate async generateBrokerSystems(systems: SystemEntity[]): Promise {\n\t\tif (!(await this.idmOauthService.isOauthConfigAvailable())) {\n\t\t\treturn systems.filter((system) => !(system.oidcConfig && !system.oauthConfig));\n\t\t}\n\t\tconst brokerConfig = await this.idmOauthService.getOauthConfig();\n\t\tlet generatedSystem: SystemEntity;\n\t\treturn systems.map((system) => {\n\t\t\tif (system.oidcConfig && !system.oauthConfig) {\n\t\t\t\tgeneratedSystem = new SystemEntity({\n\t\t\t\t\ttype: SystemTypeEnum.OAUTH,\n\t\t\t\t\talias: system.alias,\n\t\t\t\t\tdisplayName: system.displayName ? system.displayName : system.alias,\n\t\t\t\t\tprovisioningStrategy: system.provisioningStrategy,\n\t\t\t\t\tprovisioningUrl: system.provisioningUrl,\n\t\t\t\t\turl: system.url,\n\t\t\t\t});\n\t\t\t\tgeneratedSystem.id = system.id;\n\t\t\t\tgeneratedSystem.oauthConfig = { ...brokerConfig };\n\t\t\t\tgeneratedSystem.oauthConfig.idpHint = system.oidcConfig.idpHint;\n\t\t\t\tgeneratedSystem.oauthConfig.redirectUri += system.id;\n\t\t\t\treturn generatedSystem;\n\t\t\t}\n\t\t\treturn system;\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonApiModule.html":{"url":"modules/LessonApiModule.html","title":"module - LessonApiModule","body":"\n \n\n\n\n\n Modules\n LessonApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonApiModule\n\n\n\ncluster_LessonApiModule_imports\n\n\n\ncluster_LessonApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nLessonApiModule -->\n\nAuthorizationModule->LessonApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLessonApiModule -->\n\nLessonModule->LessonApiModule\n\n\n\n\n\nLessonUC\n\nLessonUC\n\nLessonApiModule -->\n\nLessonUC->LessonApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LessonUC\n \n \n \n \n Controllers\n \n \n LessonController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LessonController } from './controller';\nimport { LessonModule } from './lesson.module';\nimport { LessonUC } from './uc';\n\n@Module({\n\timports: [LessonModule, AuthorizationModule],\n\tcontrollers: [LessonController],\n\tproviders: [LessonUC],\n})\nexport class LessonApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonBoardElement.html":{"url":"entities/LessonBoardElement.html","title":"entity - LessonBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/lesson-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('LessonEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/lesson-boardelement.entity.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { LessonEntity } from '../lesson.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Lesson })\nexport class LessonBoardElement extends BoardElement {\n\tconstructor(props: { target: LessonEntity }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Lesson;\n\t}\n\n\t@ManyToOne('LessonEntity')\n\ttarget!: LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LessonController.html":{"url":"controllers/LessonController.html","title":"controller - LessonController","body":"\n \n\n\n\n\n\n\n Controllers\n LessonController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/lesson.controller.ts\n \n\n \n Prefix\n \n \n lessons\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: LessonUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':lessonId')\n \n \n\n \n \n Defined in apps/server/src/modules/lesson/controller/lesson.controller.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LessonUC } from '../uc';\nimport { LessonUrlParams } from './dto';\n\n@ApiTags('Lesson')\n@Authenticate('jwt')\n@Controller('lessons')\nexport class LessonController {\n\tconstructor(private readonly lessonUC: LessonUC) {}\n\n\t@Delete(':lessonId')\n\tasync delete(@Param() urlParams: LessonUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.lessonUC.delete(currentUser.userId, urlParams.lessonId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonCopyApiParams.html":{"url":"classes/LessonCopyApiParams.html","title":"class - LessonCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the lesson is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class LessonCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the lesson is copied to',\n\t})\n\tcourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonCopyUC.html":{"url":"injectables/LessonCopyUC.html","title":"injectable - LessonCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalLessonAuthorization\n \n \n Async\n copyLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisation: AuthorizationService, lessonCopyService: LessonCopyService, lessonService: LessonService, courseRepo: CourseRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n \n \n \n \n \n checkDestinationCourseAuthorization(user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:68\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalLessonAuthorization\n \n \n \n \n \n \n \n checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n originalLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n LessonCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonCopyParentParams, LessonCopyService, LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Course, LessonEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface/permission.enum';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class LessonCopyUC {\n\tconstructor(\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst [user, originalLesson]: [User, LessonEntity] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\tthis.checkOriginalLessonAuthorization(user, originalLesson);\n\n\t\t// should be a seperate private method\n\t\tconst destinationCourse = parentParams.courseId\n\t\t\t? await this.courseRepo.findById(parentParams.courseId)\n\t\t\t: originalLesson.course;\n\t\t// ---\n\n\t\tthis.checkDestinationCourseAuthorization(user, destinationCourse);\n\n\t\t// should be a seperate private method\n\t\tconst [existingLessons] = await this.lessonService.findByCourseIds([originalLesson.course.id]);\n\t\tconst existingNames = existingLessons.map((l) => l.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(originalLesson.name, existingNames);\n\n\t\tconst copyStatus = await this.lessonCopyService.copyLesson({\n\t\t\toriginalLessonId: originalLesson.id,\n\t\t\tdestinationCourse,\n\t\t\tuser,\n\t\t\tcopyName,\n\t\t});\n\t\t// ---\n\n\t\treturn copyStatus;\n\t}\n\n\tprivate checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity): void {\n\t\tconst contextReadWithTopicCreate = AuthorizationContextBuilder.read([Permission.TOPIC_CREATE]);\n\t\tif (!this.authorisation.hasPermission(user, originalLesson, contextReadWithTopicCreate)) {\n\t\t\t// error message is not correct, switch to authorisation.checkPermission() makse sense for me\n\t\t\tthrow new ForbiddenException('could not find lesson to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorization(user: User, destinationCourse: Course): void {\n\t\tconst contextCanWrite = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(user, destinationCourse, contextCanWrite);\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonEntity.html":{"url":"entities/LessonEntity.html","title":"entity - LessonEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n courseGroup\n \n \n \n \n hidden\n \n \n \n materials\n \n \n \n name\n \n \n \n position\n \n \n \n tasks\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contents\n \n \n \n \n \n \n Type : ComponentProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:104\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Index()@Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('Material', undefined, {fieldName: 'materialIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n tasks\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Task', 'lesson', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:110\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonFactory.html":{"url":"classes/LessonFactory.html","title":"class - LessonFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/lesson.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ComponentProperties, Course, LessonEntity, LessonProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\n\nclass LessonFactory extends BaseFactory {}\n\nexport const lessonFactory = LessonFactory.define(\n\tLessonEntity,\n\t({ sequence, params }) => {\n\t\tlet course: Course;\n\t\tif (params.course) {\n\t\t\tcourse = params.course as Course;\n\t\t} else {\n\t\t\tcourse = courseFactory.build();\n\t\t}\n\n\t\tconst contents: ComponentProperties[] = [];\n\t\tif (params.contents) {\n\t\t\tparams.contents.forEach((element) => {\n\t\t\t\tcontents.push(element);\n\t\t\t});\n\t\t}\n\n\t\tconst hidden = params.hidden || false;\n\n\t\treturn {\n\t\t\tname: `lesson #${sequence}`,\n\t\t\tcourse,\n\t\t\tcontents,\n\t\t\thidden,\n\t\t\tmaterials: [],\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonModule.html":{"url":"modules/LessonModule.html","title":"module - LessonModule","body":"\n \n\n\n\n\n Modules\n LessonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonModule\n\n\n\ncluster_LessonModule_providers\n\n\n\ncluster_LessonModule_exports\n\n\n\ncluster_LessonModule_imports\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nLessonModule\n\nLessonModule\n\nLessonModule -->\n\nCopyHelperModule->LessonModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nLessonModule -->\n\nFilesStorageClientModule->LessonModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLessonModule -->\n\nLoggerModule->LessonModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLessonModule -->\n\nTaskModule->LessonModule\n\n\n\n\n\nLessonCopyService \n\nLessonCopyService \n\nLessonCopyService -->\n\nLessonModule->LessonCopyService \n\n\n\n\n\nLessonService \n\nLessonService \n\nLessonService -->\n\nLessonModule->LessonService \n\n\n\n\n\nEtherpadService\n\nEtherpadService\n\nLessonModule -->\n\nEtherpadService->LessonModule\n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nLessonModule -->\n\nFeathersServiceProvider->LessonModule\n\n\n\n\n\nLessonCopyService\n\nLessonCopyService\n\nLessonModule -->\n\nLessonCopyService->LessonModule\n\n\n\n\n\nLessonRepo\n\nLessonRepo\n\nLessonModule -->\n\nLessonRepo->LessonModule\n\n\n\n\n\nLessonService\n\nLessonService\n\nLessonModule -->\n\nLessonService->LessonModule\n\n\n\n\n\nNexboardService\n\nNexboardService\n\nLessonModule -->\n\nNexboardService->LessonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n EtherpadService\n \n \n FeathersServiceProvider\n \n \n LessonCopyService\n \n \n LessonRepo\n \n \n LessonService\n \n \n NexboardService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n LessonCopyService\n \n \n LessonService\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonRepo } from './repository';\nimport { EtherpadService, LessonCopyService, LessonService, NexboardService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, LoggerModule, CopyHelperModule, TaskModule],\n\tproviders: [LessonRepo, LessonService, EtherpadService, NexboardService, LessonCopyService, FeathersServiceProvider],\n\texports: [LessonService, LessonCopyService],\n})\nexport class LessonModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonParent.html":{"url":"interfaces/LessonParent.html","title":"interface - LessonParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:81\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonProperties.html":{"url":"interfaces/LessonProperties.html","title":"interface - LessonProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n \n courseGroup\n \n \n \n \n hidden\n \n \n \n Optional\n \n materials\n \n \n \n \n name\n \n \n \n Optional\n \n position\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contents\n \n \n \n \n \n \n \n \n contents: ComponentProperties[] | \n\n \n \n\n\n \n \n Type : ComponentProperties[] | \n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n \n \n hidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n \n \n materials: Material[]\n\n \n \n\n\n \n \n Type : Material[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRepo.html":{"url":"injectables/LessonRepo.html","title":"injectable - LessonRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLesson\n \n \n Async\n findAllByCourseIds\n \n \n Async\n findById\n \n \n Public\n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLesson\n \n \n \n \n \n \n \n createLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByCourseIds\n \n \n \n \n \n \n \n findAllByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { LessonEntity } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { LessonScope } from './lesson-scope';\n\n@Injectable()\nexport class LessonRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn LessonEntity;\n\t}\n\n\tasync createLesson(lesson: LessonEntity): Promise {\n\t\treturn this.save(this.create(lesson));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst lesson = await super.findById(id);\n\t\tawait this._em.populate(lesson, ['course', 'tasks', 'materials', 'courseGroup.course']);\n\t\treturn lesson;\n\t}\n\n\tasync findAllByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\tconst scope = new LessonScope();\n\n\t\tscope.byCourseIds(courseIds);\n\n\t\tif (filters?.hidden !== undefined) {\n\t\t\tscope.byHidden(filters.hidden);\n\t\t}\n\n\t\tconst order = { position: SortOrder.asc };\n\n\t\tconst [lessons, count] = await this._em.findAndCount(LessonEntity, scope.query, { orderBy: order });\n\n\t\tawait this._em.populate(lessons, ['course', 'tasks', 'materials']);\n\n\t\treturn [lessons, count];\n\t}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tcontents: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\tuser: new ObjectId(userId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawLessonsDocuments = await this._em.aggregate(LessonEntity, pipeline);\n\n\t\tconst lessons = rawLessonsDocuments.map((rawLessonDocument) =>\n\t\t\tthis._em.map(LessonEntity, rawLessonDocument as EntityDictionary)\n\t\t);\n\n\t\treturn lessons;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRule.html":{"url":"injectables/LessonRule.html","title":"injectable - LessonRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/lesson.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n Private\n coursePermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n Private\n lessonReadPermission\n \n \n Private\n lessonWritePermission\n \n \n Private\n parentPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, courseGroupRule: CourseGroupRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n \n \n \n \n \n courseGroupPermission(user: User, entity: CourseGroup, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n coursePermission\n \n \n \n \n \n \n \n coursePermission(user: User, entity: Course, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonReadPermission\n \n \n \n \n \n \n \n lessonReadPermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonWritePermission\n \n \n \n \n \n \n \n lessonWritePermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n parentPermission\n \n \n \n \n \n \n \n parentPermission(user: User, entity: LessonEntity, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, CourseGroup, LessonEntity, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseGroupRule } from './course-group.rule';\nimport { CourseRule } from './course.rule';\n\n@Injectable()\nexport class LessonRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: LessonEntity): boolean {\n\t\tconst isMatched = entity instanceof LessonEntity;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tlet hasLessonPermission = false;\n\n\t\tif (action === Action.read) {\n\t\t\thasLessonPermission = this.lessonReadPermission(user, entity);\n\t\t} else if (action === Action.write) {\n\t\t\thasLessonPermission = this.lessonWritePermission(user, entity);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\tconst hasUserPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst result = hasUserPermission && hasLessonPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate lessonReadPermission(user: User, entity: LessonEntity): boolean {\n\t\tconst isVisible = !entity.hidden;\n\t\tlet hasParentReadPermission = false;\n\n\t\tif (isVisible) {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.read);\n\t\t} else {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.write);\n\t\t}\n\n\t\treturn hasParentReadPermission;\n\t}\n\n\tprivate lessonWritePermission(user: User, entity: LessonEntity): boolean {\n\t\tconst hasParentWritePermission = this.parentPermission(user, entity, Action.write);\n\n\t\treturn hasParentWritePermission;\n\t}\n\n\tprivate parentPermission(user: User, entity: LessonEntity, action: Action): boolean {\n\t\tlet result: boolean;\n\n\t\tif (entity.courseGroup) {\n\t\t\tresult = this.courseGroupPermission(user, entity.courseGroup, action);\n\t\t} else if (entity.course) {\n\t\t\tresult = this.coursePermission(user, entity.course, action); // ask course for student = read || teacher, sub-teacher = write\n\t\t} else {\n\t\t\tresult = false;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate coursePermission(user: User, entity: Course, action: Action): boolean {\n\t\tconst result = this.courseRule.hasPermission(user, entity, { action, requiredPermissions: [] });\n\n\t\treturn result;\n\t}\n\n\tprivate courseGroupPermission(user: User, entity: CourseGroup, action: Action): boolean {\n\t\tconst result = this.courseGroupRule.hasPermission(user, entity, {\n\t\t\taction,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonScope.html":{"url":"classes/LessonScope.html","title":"class - LessonScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCourseIds\n \n \n byHidden\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class LessonScope extends Scope {\n\tbyCourseIds(courseIds: EntityId[]): LessonScope {\n\t\tthis.addQuery({ course: { $in: courseIds } });\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean): LessonScope {\n\t\tthis.addQuery({ hidden: { $eq: isHidden } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonService.html":{"url":"injectables/LessonService.html","title":"injectable - LessonService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/lesson.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteLesson\n \n \n Async\n deleteUserDataFromLessons\n \n \n Async\n findAllLessonsByUserId\n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonRepo: LessonRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonRepo\n \n \n LessonRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteLesson\n \n \n \n \n \n \n \n deleteLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUserDataFromLessons\n \n \n \n \n \n \n \n deleteUserDataFromLessons(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllLessonsByUserId\n \n \n \n \n \n \n \n findAllLessonsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, LessonEntity } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AuthorizationLoaderService } from '@src/modules/authorization';\nimport { LessonRepo } from '../repository';\n\n@Injectable()\nexport class LessonService implements AuthorizationLoaderService {\n\tconstructor(\n\t\tprivate readonly lessonRepo: LessonRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync deleteLesson(lesson: LessonEntity): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(lesson.id);\n\n\t\tawait this.lessonRepo.delete(lesson);\n\t}\n\n\tasync findById(lessonId: EntityId): Promise {\n\t\treturn this.lessonRepo.findById(lessonId);\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\treturn this.lessonRepo.findAllByCourseIds(courseIds, filters);\n\t}\n\n\tasync findAllLessonsByUserId(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\treturn lessons;\n\t}\n\n\tasync deleteUserDataFromLessons(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\tconst updatedLessons = lessons.map((lesson: LessonEntity) => {\n\t\t\tlesson.contents.map((c: ComponentProperties) => {\n\t\t\t\tif (c.user === userId) {\n\t\t\t\t\tc.user = undefined;\n\t\t\t\t}\n\t\t\t\treturn c;\n\t\t\t});\n\t\t\treturn lesson;\n\t\t});\n\n\t\tawait this.lessonRepo.save(updatedLessons);\n\n\t\treturn updatedLessons.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUC.html":{"url":"injectables/LessonUC.html","title":"injectable - LessonUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/uc/lesson.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LessonService } from '../service';\n\n@Injectable()\nexport class LessonUC {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly lessonService: LessonService\n\t) {}\n\n\tasync delete(userId: EntityId, lessonId: EntityId) {\n\t\tconst [user, lesson] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\t// Check by Permission.TOPIC_VIEW because the student doesn't have Permission.TOPIC_EDIT\n\t\t// is required for CourseGroup lessons\n\t\tthis.authorizationService.checkPermission(user, lesson, AuthorizationContextBuilder.write([Permission.TOPIC_VIEW]));\n\n\t\tawait this.lessonService.deleteLesson(lesson);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUrlHandler.html":{"url":"injectables/LessonUrlHandler.html","title":"injectable - LessonUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/topics\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class LessonUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/topics\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly lessonService: LessonService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'lesson' });\n\t\tconst lesson = await this.lessonService.findById(id);\n\t\tif (lesson) {\n\t\t\tmetaData.title = lesson.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams.html":{"url":"classes/LessonUrlParams.html","title":"class - LessonUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams-1.html":{"url":"classes/LessonUrlParams-1.html","title":"class - LessonUrlParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibrariesBodyParams.html":{"url":"classes/LibrariesBodyParams.html","title":"class - LibrariesBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibrariesBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsArray()@IsString({each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LibrariesContentType.html":{"url":"interfaces/LibrariesContentType.html","title":"interface - LibrariesContentType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LibrariesContentType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n h5p_libraries: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryFileUrlParams.html":{"url":"classes/LibraryFileUrlParams.html","title":"class - LibraryFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n ubername\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n ubername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LibraryFileUrlParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tubername!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfile!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryName.html":{"url":"classes/LibraryName.html","title":"class - LibraryName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n ILibraryName\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(machineName: string, majorVersion: number, minorVersion: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n \n string\n \n \n \n No\n \n \n \n \n majorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n minorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryParametersBodyParams.html":{"url":"classes/LibraryParametersBodyParams.html","title":"class - LibraryParametersBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryParametersBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LibraryRepo.html":{"url":"injectables/LibraryRepo.html","title":"injectable - LibraryRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LibraryRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/library.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLibrary\n \n \n Async\n findByName\n \n \n Async\n findByNameAndExactVersion\n \n \n Async\n findNewestByNameAndVersion\n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n Async\n getAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLibrary\n \n \n \n \n \n \n \n createLibrary(library: InstalledLibrary)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n library\n \n InstalledLibrary\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(machineName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNameAndExactVersion\n \n \n \n \n \n \n \n findByNameAndExactVersion(machineName: string, majorVersion: number, minorVersion: number, patchVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n patchVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findNewestByNameAndVersion\n \n \n \n \n \n \n \n findNewestByNameAndVersion(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n \n \n \n \n \n findOneByNameAndVersionOrFail(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAll\n \n \n \n \n \n \n \n getAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { InstalledLibrary } from '../entity';\n\n@Injectable()\nexport class LibraryRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn InstalledLibrary;\n\t}\n\n\tasync createLibrary(library: InstalledLibrary): Promise {\n\t\tconst entity = this.create(library);\n\t\tawait this.save(entity);\n\t}\n\n\tasync getAll(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n\n\tasync findOneByNameAndVersionOrFail(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, { machineName, majorVersion, minorVersion });\n\t\tif (libs.length === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\tif (libs.length === 0) {\n\t\t\tthrow new Error('Library not found');\n\t\t}\n\t\tthrow new Error('Multiple libraries with the same name and version found');\n\t}\n\n\tasync findByName(machineName: string): Promise {\n\t\treturn this._em.find(this.entityName, { machineName });\n\t}\n\n\tasync findNewestByNameAndVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t});\n\t\tlet latest: InstalledLibrary | null = null;\n\t\tfor (const lib of libs) {\n\t\t\tif (latest === null || lib.patchVersion > latest.patchVersion) {\n\t\t\t\tlatest = lib;\n\t\t\t}\n\t\t}\n\t\treturn latest;\n\t}\n\n\tasync findByNameAndExactVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number,\n\t\tpatchVersion: number\n\t): Promise {\n\t\tconst [libs, count] = await this._em.findAndCount(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t\tpatchVersion,\n\t\t});\n\t\tif (count > 1) {\n\t\t\tthrow new Error('too many libraries with same name and version');\n\t\t}\n\t\tif (count === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkContentBody.html":{"url":"classes/LinkContentBody.html","title":"class - LinkContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n Optional\n title\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:39\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElement.html":{"url":"classes/LinkElement.html","title":"class - LinkElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n title\n \n \n description\n \n \n imageUrl\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:41\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:37\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n\n \n \n geturl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:5\n \n \n\n \n \n seturl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:13\n \n \n\n \n \n settitle(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:21\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:25\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n imageUrl\n \n \n\n \n \n getimageUrl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:29\n \n \n\n \n \n setimageUrl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:33\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContent.html":{"url":"classes/LinkElementContent.html","title":"class - LinkElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n description\n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContentBody.html":{"url":"classes/LinkElementContentBody.html","title":"class - LinkElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:59\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LinkElementNode.html":{"url":"entities/LinkElementNode.html","title":"entity - LinkElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n LinkElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementNodeProps.html":{"url":"interfaces/LinkElementNodeProps.html","title":"interface - LinkElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementProps.html":{"url":"interfaces/LinkElementProps.html","title":"interface - LinkElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponse.html":{"url":"classes/LinkElementResponse.html","title":"class - LinkElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponseMapper.html":{"url":"classes/LinkElementResponseMapper.html","title":"class - LinkElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : LinkElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : LinkElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, LinkElement } from '@shared/domain/domainobject';\nimport { LinkElementContent, LinkElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class LinkElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: LinkElementResponseMapper;\n\n\tpublic static getInstance(): LinkElementResponseMapper {\n\t\tif (!LinkElementResponseMapper.instance) {\n\t\t\tLinkElementResponseMapper.instance = new LinkElementResponseMapper();\n\t\t}\n\n\t\treturn LinkElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: LinkElement): LinkElementResponse {\n\t\tconst result = new LinkElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.LINK,\n\t\t\tcontent: new LinkElementContent({\n\t\t\t\turl: element.url,\n\t\t\t\ttitle: element.title,\n\t\t\t\tdescription: element.description,\n\t\t\t\timageUrl: element.imageUrl,\n\t\t\t}),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: LinkElement): boolean {\n\t\treturn element instanceof LinkElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListFiles.html":{"url":"interfaces/ListFiles.html","title":"interface - ListFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n files\n \n \n \n Optional\n \n maxKeys\n \n \n \n Optional\n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ListOauthClientsParams.html":{"url":"classes/ListOauthClientsParams.html","title":"class - ListOauthClientsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ListOauthClientsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n Optional\n owner\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The name of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@Max(500)@IsOptional()@ApiProperty({description: 'The maximum amount of clients to returned, upper bound is 500 clients.', required: false, nullable: false, minimum: 0, maximum: 500})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty({description: 'The offset from where to start looking.', required: false, nullable: false, minimum: 0})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n owner\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The owner of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:45\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString, Max, Min } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ListOauthClientsParams {\n\t@IsNumber()\n\t@Min(0)\n\t@Max(500)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The maximum amount of clients to returned, upper bound is 500 clients.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t\tmaximum: 500,\n\t})\n\tlimit?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The offset from where to start looking.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t})\n\toffset?: number;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The name of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The owner of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\towner?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LocalAuthorizationBodyParams.html":{"url":"classes/LocalAuthorizationBodyParams.html","title":"class - LocalAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LocalAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LocalAuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStrategy.html":{"url":"injectables/LocalStrategy.html","title":"injectable - LocalStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LocalStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/local.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n cleanupInput\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authenticationService: AuthenticationService, idmOauthService: IdentityManagementOauthService, configService: ConfigService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(enteredPassword: string, savedPassword: string, account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enteredPassword\n \n string\n \n\n \n No\n \n\n\n \n \n savedPassword\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupInput\n \n \n \n \n \n \n \n cleanupInput(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementConfig, IdentityManagementOauthService } from '@infra/identity-management';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { GuardAgainst } from '@shared/common/utils/guard-against';\nimport { UserRepo } from '@shared/repo';\nimport bcrypt from 'bcryptjs';\nimport { Strategy } from 'passport-local';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\n\n@Injectable()\nexport class LocalStrategy extends PassportStrategy(Strategy) {\n\tconstructor(\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(username?: string, password?: string): Promise {\n\t\t({ username, password } = this.cleanupInput(username, password));\n\t\tconst account = await this.authenticationService.loadAccount(username);\n\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED')) {\n\t\t\tconst jwt = await this.idmOauthService.resourceOwnerPasswordGrant(username, password);\n\t\t\tGuardAgainst.nullOrUndefined(jwt, new UnauthorizedException());\n\t\t} else {\n\t\t\tconst accountPassword = GuardAgainst.nullOrUndefined(account.password, new UnauthorizedException());\n\t\t\tawait this.checkCredentials(password, accountPassword, account);\n\t\t}\n\n\t\tconst accountUserId = GuardAgainst.nullOrUndefined(\n\t\t\taccount.userId,\n\t\t\tnew Error(`login failing, because account ${account.id} has no userId`)\n\t\t);\n\t\tconst user = await this.userRepo.findById(accountUserId, true);\n\t\tconst currentUser = CurrentUserMapper.userToICurrentUser(account.id, user, false);\n\t\treturn currentUser;\n\t}\n\n\tprivate cleanupInput(username?: string, password?: string): { username: string; password: string } {\n\t\tusername = GuardAgainst.nullOrUndefined(username, new UnauthorizedException());\n\t\tpassword = GuardAgainst.nullOrUndefined(password, new UnauthorizedException());\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\t\treturn { username, password };\n\t}\n\n\tprivate async checkCredentials(\n\t\tenteredPassword: string,\n\t\tsavedPassword: string,\n\t\taccount: AccountDto\n\t): Promise {\n\t\tthis.authenticationService.checkBrutForce(account);\n\t\tif (!(await bcrypt.compare(enteredPassword, savedPassword))) {\n\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Loggable.html":{"url":"interfaces/Loggable.html","title":"interface - Loggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Loggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '../types';\n\nexport interface Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Logger.html":{"url":"injectables/Logger.html","title":"injectable - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logger.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n context\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n debug\n \n \n Public\n info\n \n \n Public\n notice\n \n \n Public\n setContext\n \n \n Public\n warning\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n debug\n \n \n \n \n \n \n \n debug(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n info\n \n \n \n \n \n \n \n info(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n notice\n \n \n \n \n \n \n \n notice(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setContext\n \n \n \n \n \n \n \n setContext(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n warning\n \n \n \n \n \n \n \n warning(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n context\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, Scope } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n@Injectable({ scope: Scope.TRANSIENT })\nexport class Logger {\n\tprivate context = '';\n\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\tpublic warning(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.warning(message);\n\t}\n\n\tpublic notice(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.notice(message);\n\t}\n\n\tpublic info(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.info(message);\n\t}\n\n\tpublic debug(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.debug(message);\n\t}\n\n\tpublic setContext(name: string) {\n\t\tthis.context = name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LoggerConfig.html":{"url":"interfaces/LoggerConfig.html","title":"interface - LoggerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LoggerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/logger-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface LoggerConfig {\n\tNEST_LOG_LEVEL: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LoggerModule.html":{"url":"modules/LoggerModule.html","title":"module - LoggerModule","body":"\n \n\n\n\n\n Modules\n LoggerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LoggerModule\n\n\n\ncluster_LoggerModule_providers\n\n\n\ncluster_LoggerModule_exports\n\n\n\n\nErrorLogger \n\nErrorLogger \n\n\n\nLegacyLogger \n\nLegacyLogger \n\n\n\nLogger \n\nLogger \n\n\n\nLoggerModule\n\nLoggerModule\n\nErrorLogger -->\n\nLoggerModule->ErrorLogger \n\n\n\nLegacyLogger -->\n\nLoggerModule->LegacyLogger \n\n\n\nLogger -->\n\nLoggerModule->Logger \n\n\n\n\n\nErrorLogger\n\nErrorLogger\n\nLoggerModule -->\n\nErrorLogger->LoggerModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLoggerModule -->\n\nLegacyLogger->LoggerModule\n\n\n\n\n\nLogger\n\nLogger\n\nLoggerModule -->\n\nLogger->LoggerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/logger/logger.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n Exports\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { utilities, WinstonModule } from 'nest-winston';\nimport winston from 'winston';\nimport { ErrorLogger } from './error-logger';\nimport { LoggerConfig } from './interfaces';\nimport { LegacyLogger } from './legacy-logger.service';\nimport { Logger } from './logger';\n\n@Module({\n\timports: [\n\t\tWinstonModule.forRootAsync({\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\treturn {\n\t\t\t\t\tlevels: winston.config.syslog.levels,\n\t\t\t\t\tlevel: configService.get('NEST_LOG_LEVEL'),\n\t\t\t\t\texitOnError: false,\n\t\t\t\t\ttransports: [\n\t\t\t\t\t\tnew winston.transports.Console({\n\t\t\t\t\t\t\thandleExceptions: true,\n\t\t\t\t\t\t\thandleRejections: true,\n\t\t\t\t\t\t\tformat: winston.format.combine(\n\t\t\t\t\t\t\t\twinston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss.SSS' }),\n\t\t\t\t\t\t\t\twinston.format.ms(),\n\t\t\t\t\t\t\t\tutilities.format.nestLike()\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t}),\n\t],\n\tproviders: [LegacyLogger, Logger, ErrorLogger],\n\texports: [LegacyLogger, Logger, ErrorLogger],\n})\nexport class LoggerModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoggingUtils.html":{"url":"classes/LoggingUtils.html","title":"class - LoggingUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoggingUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logging.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n Static\n isInstanceOfLoggable\n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n \n \n \n \n \n createMessageWithContext(loggable: Loggable, context?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n context\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : LogMessageWithContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isInstanceOfLoggable\n \n \n \n \n \n \n \n isInstanceOfLoggable(object: any)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n any\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n \n \n \n stringifyMessage(message)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n message\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import util from 'util';\nimport { Loggable } from './interfaces';\nimport { LogMessageWithContext } from './types';\n\nexport class LoggingUtils {\n\tstatic createMessageWithContext(loggable: Loggable, context?: string | undefined): LogMessageWithContext {\n\t\tconst message = loggable.getLogMessage();\n\t\tconst stringifiedMessage = this.stringifyMessage(message);\n\t\tconst messageWithContext = { message: stringifiedMessage, context };\n\t\treturn messageWithContext;\n\t}\n\n\tprivate static stringifyMessage(message: unknown): string {\n\t\tconst stringifiedMessage = util.inspect(message).replace(/\\n/g, '').replace(/\\\\n/g, '');\n\t\treturn stringifiedMessage;\n\t}\n\n\tstatic isInstanceOfLoggable(object: any): object is Loggable {\n\t\treturn 'getLogMessage' in object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LoginController.html":{"url":"controllers/LoginController.html","title":"controller - LoginController","body":"\n \n\n\n\n\n\n\n Controllers\n LoginController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/login.controller.ts\n \n\n \n Prefix\n \n \n authentication\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n loginLdap(user: ICurrentUser, _: LdapAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('ldap')@ApiOperation({summary: 'Starts the login process for users which are authenticated via LDAP'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LdapAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n loginLocal(user: ICurrentUser, _: LocalAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('local')@ApiOperation({summary: 'Starts the login process for users which are locally managed.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LocalAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n \n \n \n loginOauth2(user: OauthCurrentUser, _: Oauth2AuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('oauth2')@ApiOperation({summary: 'Starts the login process for users which are authenticated via OAuth 2.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n OauthCurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n Oauth2AuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, HttpCode, HttpStatus, Post, UseGuards } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { CurrentUser } from '../decorator';\nimport type { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { LoginDto } from '../uc/dto';\nimport { LoginUc } from '../uc/login.uc';\nimport {\n\tLdapAuthorizationBodyParams,\n\tLocalAuthorizationBodyParams,\n\tLoginResponse,\n\tOauth2AuthorizationBodyParams,\n\tOauthLoginResponse,\n} from './dto';\nimport { LoginResponseMapper } from './mapper/login-response.mapper';\n\n@ApiTags('Authentication')\n@Controller('authentication')\nexport class LoginController {\n\tconstructor(private readonly loginUc: LoginUc) {}\n\n\t@UseGuards(AuthGuard('ldap'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('ldap')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via LDAP' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLdap(@CurrentUser() user: ICurrentUser, @Body() _: LdapAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('local'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('local')\n\t@ApiOperation({ summary: 'Starts the login process for users which are locally managed.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLocal(@CurrentUser() user: ICurrentUser, @Body() _: LocalAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('oauth2'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('oauth2')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via OAuth 2.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\tasync loginOauth2(\n\t\t@CurrentUser() user: OauthCurrentUser,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t@Body() _: Oauth2AuthorizationBodyParams\n\t): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: OauthLoginResponse = LoginResponseMapper.mapToOauthLoginResponse(loginDto, user.externalIdToken);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginDto.html":{"url":"classes/LoginDto.html","title":"class - LoginDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/dto/login.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginDto)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LoginDto {\n\taccessToken: string;\n\n\tconstructor(props: LoginDto) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginRequestBody.html":{"url":"classes/LoginRequestBody.html","title":"class - LoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean, IsInt, IsOptional } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class LoginRequestBody extends OAuthRejectableBody {\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse.html":{"url":"classes/LoginResponse.html","title":"class - LoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class LoginResponse {\n\t@ApiProperty()\n\taccessToken: string;\n\n\tconstructor(props: LoginResponse) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse-1.html":{"url":"classes/LoginResponse-1.html","title":"class - LoginResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n client\n \n \n \n \n Optional\n client_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n session_id\n \n \n \n skip\n \n \n \n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loginResponse: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginResponse\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent login request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : OauthClientResponse | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Id of the corresponding client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The original oauth2.0 authorization url request by the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n Type : boolean | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'User id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:51\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\n\nexport class LoginResponse {\n\tconstructor(loginResponse: LoginResponse) {\n\t\tObject.assign(this, loginResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Id of the corresponding client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent login request.' })\n\tchallenge: string | undefined;\n\n\t@ApiProperty()\n\tclient: OauthClientResponse | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The original oauth2.0 authorization url request by the client.' })\n\trequest_url?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.',\n\t})\n\tsession_id?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip: boolean | undefined;\n\n\t@ApiProperty({ description: 'User id of the end-user that is authenticated.' })\n\tsubject: string | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponseMapper.html":{"url":"classes/LoginResponseMapper.html","title":"class - LoginResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n \n \n \n \n \n mapToLoginResponse(loginDto: LoginDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n \n \n \n mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthLoginResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LoginDto } from '../../uc/dto';\nimport { LoginResponse, OauthLoginResponse } from '../dto';\n\nexport class LoginResponseMapper {\n\tstatic mapToLoginResponse(loginDto: LoginDto): LoginResponse {\n\t\tconst response: LoginResponse = new LoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t});\n\n\t\treturn response;\n\t}\n\n\tstatic mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string): OauthLoginResponse {\n\t\tconst response: OauthLoginResponse = new OauthLoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t\texternalIdToken,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LoginUc.html":{"url":"injectables/LoginUc.html","title":"injectable - LoginUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LoginUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/login.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authService: AuthenticationService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n \n \n \n getLoginData(userInfo: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userInfo\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ICurrentUser } from '../interface';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LoginDto } from './dto';\n\n@Injectable()\nexport class LoginUc {\n\tconstructor(private readonly authService: AuthenticationService) {}\n\n\tasync getLoginData(userInfo: ICurrentUser): Promise {\n\t\tconst createJwtPayload: CreateJwtPayload = CurrentUserMapper.mapCurrentUserToCreateJwtPayload(userInfo);\n\n\t\tconst accessTokenDto: LoginDto = await this.authService.generateJwt(createJwtPayload);\n\n\t\tconst loginDto: LoginDto = new LoginDto({\n\t\t\taccessToken: accessTokenDto.accessToken,\n\t\t});\n\n\t\treturn loginDto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Lti11EncryptionService.html":{"url":"injectables/Lti11EncryptionService.html","title":"injectable - Lti11EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Lti11EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n sign\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n sign\n \n \n \n \n \n \n \n sign(key: string, secret: string, url: string, payload: Record)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n secret\n \n string\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n Record\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Authorization\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport CryptoJS from 'crypto-js';\nimport OAuth, { Authorization, RequestOptions } from 'oauth-1.0a';\n\n@Injectable()\nexport class Lti11EncryptionService {\n\tpublic sign(key: string, secret: string, url: string, payload: Record): Authorization {\n\t\tconst requestData: RequestOptions = {\n\t\t\turl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: payload,\n\t\t};\n\n\t\tconst consumer: OAuth = new OAuth({\n\t\t\tconsumer: {\n\t\t\t\tkey,\n\t\t\t\tsecret,\n\t\t\t},\n\t\t\tsignature_method: 'HMAC-SHA1',\n\t\t\thash_function: (base_string: string, hashKey: string) =>\n\t\t\t\tCryptoJS.HmacSHA1(base_string, hashKey).toString(CryptoJS.enc.Base64),\n\t\t});\n\n\t\tconst authorization: Authorization = consumer.authorize(requestData);\n\n\t\treturn authorization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfig.html":{"url":"classes/Lti11ToolConfig.html","title":"class - Lti11ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n launch_presentation_locale\n \n \n lti_message_type\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n secret\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class Lti11ToolConfig extends ExternalToolConfig {\n\tkey: string;\n\n\tsecret: string;\n\n\tresource_link_id?: string;\n\n\tlti_message_type: LtiMessageType;\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.LTI11,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigCreateParams.html":{"url":"classes/Lti11ToolConfigCreateParams.html","title":"class - Lti11ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tsecret!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigEntity.html":{"url":"classes/Lti11ToolConfigEntity.html","title":"class - Lti11ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n secret\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { LtiPrivacyPermission } from '@shared/domain/entity/ltitool.entity';\nimport { LtiMessageType, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.LTI11 })\nexport class Lti11ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tkey: string;\n\n\t@Property()\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum()\n\tlti_message_type: LtiMessageType;\n\n\t@Enum()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigResponse.html":{"url":"classes/Lti11ToolConfigResponse.html","title":"class - Lti11ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class Lti11ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tkey: string;\n\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@ApiProperty()\n\tlti_message_type: LtiMessageType;\n\n\t@ApiProperty()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@ApiProperty()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.key = props.key;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigUpdateParams.html":{"url":"classes/Lti11ToolConfigUpdateParams.html","title":"class - Lti11ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n Optional\n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tsecret?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiRoleMapper.html":{"url":"classes/LtiRoleMapper.html","title":"class - LtiRoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiRoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n \n \n \n mapRolesToLtiRoles(roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiRole[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\nimport { LtiRole } from '../../common/enum';\n\nconst RoleMapping: Partial> = {\n\t[RoleName.USER]: LtiRole.LEARNER,\n\t[RoleName.STUDENT]: LtiRole.LEARNER,\n\t[RoleName.TEACHER]: LtiRole.INSTRUCTOR,\n\t[RoleName.ADMINISTRATOR]: LtiRole.ADMINISTRATOR,\n\t[RoleName.SUPERHERO]: LtiRole.ADMINISTRATOR,\n};\n\nexport class LtiRoleMapper {\n\tpublic static mapRolesToLtiRoles(roleNames: RoleName[]): LtiRole[] {\n\t\tconst ltiRoles: (LtiRole | undefined)[] = roleNames.map((roleName: RoleName) => RoleMapping[roleName]);\n\n\t\tconst filterUndefined: LtiRole[] = ltiRoles.filter(\n\t\t\t(ltiRole: LtiRole | undefined): ltiRole is LtiRole => ltiRole !== undefined\n\t\t);\n\n\t\treturn filterUndefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LtiTool.html":{"url":"entities/LtiTool.html","title":"entity - LtiTool","body":"\n \n\n\n\n\n\n\n\n Entities\n LtiTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n customs\n \n \n \n \n Optional\n friendlyUrl\n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n isHidden\n \n \n \n Optional\n isLocal\n \n \n \n isTemplate\n \n \n \n key\n \n \n \n Optional\n logo_url\n \n \n \n Optional\n lti_message_type\n \n \n \n Optional\n lti_version\n \n \n \n name\n \n \n \n Optional\n oAuthClientId\n \n \n \n openNewTab\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n \n Optional\n roles\n \n \n \n secret\n \n \n \n Optional\n skipConsent\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'originTool'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiProperty[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum({items: () => LtiPrivacyPermission, default: undefined, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({array: true, items: () => LtiRoleType})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: 'none'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:92\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:36\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolDO.html":{"url":"classes/LtiToolDO.html","title":"class - LtiToolDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n customs\n \n \n Optional\n friendlyUrl\n \n \n Optional\n frontchannel_logout_uri\n \n \n isHidden\n \n \n Optional\n isLocal\n \n \n isTemplate\n \n \n key\n \n \n Optional\n logo_url\n \n \n Optional\n lti_message_type\n \n \n Optional\n lti_version\n \n \n name\n \n \n Optional\n oAuthClientId\n \n \n openNewTab\n \n \n Optional\n originToolId\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n roles\n \n \n secret\n \n \n Optional\n skipConsent\n \n \n url\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: LtiToolDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n LtiToolDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiPropertyDO[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n originToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolFactory.html":{"url":"classes/LtiToolFactory.html","title":"class - LtiToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/ltitool.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withName\n \n \n withOauthClientId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthClientId\n \n \n \n \n \n \nwithOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomLtiPropertyDO } from '@shared/domain/domainobject/ltitool.do';\nimport { ILtiToolProperties, LtiPrivacyPermission, LtiRoleType, LtiTool } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { DeepPartial } from 'fishery';\n\nclass LtiToolFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauthClientId(oAuthClientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\toAuthClientId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const ltiToolFactory = LtiToolFactory.define(LtiTool, ({ sequence }) => {\n\treturn {\n\t\tname: `ltiTool-${sequence}`,\n\t\tisLocal: true,\n\t\toAuthClientId: 'clientId',\n\t\tsecret: 'secret',\n\t\tcustoms: [new CustomLtiPropertyDO('key', 'value')],\n\t\tisHidden: false,\n\t\tisTemplate: false,\n\t\tkey: 'key',\n\t\topenNewTab: false,\n\t\toriginToolId: 'originToolId',\n\t\tprivacy_permission: LtiPrivacyPermission.NAME,\n\t\troles: [LtiRoleType.INSTRUCTOR, LtiRoleType.LEARNER],\n\t\turl: 'url',\n\t\tfriendlyUrl: 'friendlyUrl',\n\t\tfrontchannel_logout_uri: 'frontchannel_logout_uri',\n\t\tlogo_url: 'logo_url',\n\t\tlti_message_type: 'lti_message_type',\n\t\tlti_version: 'lti_version',\n\t\tresource_link_id: 'resource_link_id',\n\t\tskipConsent: true,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LtiToolModule.html":{"url":"modules/LtiToolModule.html","title":"module - LtiToolModule","body":"\n \n\n\n\n\n Modules\n LtiToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LtiToolModule\n\n\n\ncluster_LtiToolModule_providers\n\n\n\ncluster_LtiToolModule_exports\n\n\n\n\nLtiToolService \n\nLtiToolService \n\n\n\nLtiToolModule\n\nLtiToolModule\n\nLtiToolService -->\n\nLtiToolModule->LtiToolService \n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLtiToolModule -->\n\nLegacyLogger->LtiToolModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nLtiToolModule -->\n\nLtiToolRepo->LtiToolModule\n\n\n\n\n\nLtiToolService\n\nLtiToolService\n\nLtiToolModule -->\n\nLtiToolService->LtiToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lti-tool/lti-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacyLogger\n \n \n LtiToolRepo\n \n \n LtiToolService\n \n \n \n \n Exports\n \n \n LtiToolService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { LtiToolService } from './service';\n\n@Module({\n\tproviders: [LtiToolService, LtiToolRepo, LegacyLogger],\n\texports: [LtiToolService],\n})\nexport class LtiToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolRepo.html":{"url":"injectables/LtiToolRepo.html","title":"injectable - LtiToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/ltitool/ltitool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n Async\n findByName\n \n \n Async\n findByOauthClientId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOauthClientId\n \n \n \n \n \n \n \n findByOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: LtiToolDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: LtiTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n LtiTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiToolDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, NotFoundError } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiPrivacyPermission, LtiTool } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\n@Injectable()\nexport class LtiToolRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn LtiTool;\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entities: LtiTool[] = await this._em.find(LtiTool, { name });\n\t\tif (entities.length === 0) {\n\t\t\tthrow new NotFoundError(`LtiTool with ${name} was not found.`);\n\t\t}\n\t\tconst dos: LtiToolDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync findByOauthClientId(oAuthClientId: string): Promise {\n\t\tconst entity = await this._em.findOneOrFail(LtiTool, { oAuthClientId });\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tasync findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean): Promise {\n\t\tconst entity: LtiTool | null = await this._em.findOne(LtiTool, { oAuthClientId, isLocal });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: LtiToolDO = this.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDO(entity: LtiTool): LtiToolDO {\n\t\treturn new LtiToolDO({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tkey: entity.key,\n\t\t\tsecret: entity.secret,\n\t\t\tlogo_url: entity.logo_url,\n\t\t\tlti_message_type: entity.lti_message_type,\n\t\t\tlti_version: entity.lti_version,\n\t\t\tresource_link_id: entity.resource_link_id,\n\t\t\troles: entity.roles || [],\n\t\t\tprivacy_permission: entity.privacy_permission || LtiPrivacyPermission.ANONYMOUS,\n\t\t\tcustoms: entity.customs,\n\t\t\tisTemplate: entity.isTemplate,\n\t\t\tisLocal: entity.isLocal,\n\t\t\toriginToolId: entity.originToolId,\n\t\t\toAuthClientId: entity.oAuthClientId,\n\t\t\tfriendlyUrl: entity.friendlyUrl,\n\t\t\tskipConsent: entity.skipConsent,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tfrontchannel_logout_uri: entity.frontchannel_logout_uri,\n\t\t\tisHidden: entity.isHidden,\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: LtiToolDO): EntityData {\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tkey: entityDO.key,\n\t\t\tsecret: entityDO.secret,\n\t\t\tlogo_url: entityDO.logo_url,\n\t\t\tlti_message_type: entityDO.lti_message_type,\n\t\t\tlti_version: entityDO.lti_version,\n\t\t\tresource_link_id: entityDO.resource_link_id,\n\t\t\troles: entityDO.roles,\n\t\t\tprivacy_permission: entityDO.privacy_permission,\n\t\t\tcustoms: entityDO.customs,\n\t\t\tisTemplate: entityDO.isTemplate,\n\t\t\tisLocal: entityDO.isLocal,\n\t\t\toriginToolId: entityDO.originToolId,\n\t\t\toAuthClientId: entityDO.oAuthClientId,\n\t\t\tfriendlyUrl: entityDO.friendlyUrl,\n\t\t\tskipConsent: entityDO.skipConsent,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tfrontchannel_logout_uri: entityDO.frontchannel_logout_uri,\n\t\t\tisHidden: entityDO.isHidden,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolService.html":{"url":"injectables/LtiToolService.html","title":"injectable - LtiToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lti-tool/service/lti-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolRepo: LtiToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(clientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo';\n\n@Injectable()\nexport class LtiToolService {\n\tconstructor(private readonly ltiToolRepo: LtiToolRepo) {}\n\n\tpublic async findByClientIdAndIsLocal(clientId: string, isLocal: boolean): Promise {\n\t\tconst ltiTool: Promise = this.ltiToolRepo.findByClientIdAndIsLocal(clientId, isLocal);\n\n\t\treturn ltiTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LumiUserWithContentData.html":{"url":"classes/LumiUserWithContentData.html","title":"class - LumiUserWithContentData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LumiUserWithContentData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Implements\n \n \n IUser\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n canCreateRestricted\n \n \n canInstallRecommended\n \n \n canUpdateAndInstallLibraries\n \n \n contentParentId\n \n \n contentParentType\n \n \n email\n \n \n id\n \n \n name\n \n \n schoolId\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: IUser, parentParams: H5PContentParentParams)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n IUser\n \n \n \n No\n \n \n \n \n parentParams\n \n \n H5PContentParentParams\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n canCreateRestricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n canInstallRecommended\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n canUpdateAndInstallLibraries\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : \"local\" | string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Mail.html":{"url":"interfaces/Mail.html","title":"interface - Mail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Mail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bcc\n \n \n \n Optional\n \n cc\n \n \n \n Optional\n \n from\n \n \n \n \n mail\n \n \n \n \n recipients\n \n \n \n Optional\n \n replyTo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bcc\n \n \n \n \n \n \n \n \n bcc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cc\n \n \n \n \n \n \n \n \n cc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mail\n \n \n \n \n \n \n \n \n mail: PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n \n \n Type : PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recipients\n \n \n \n \n \n \n \n \n recipients: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n replyTo\n \n \n \n \n \n \n \n \n replyTo: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailAttachment.html":{"url":"interfaces/MailAttachment.html","title":"interface - MailAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n base64Content\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n base64Content\n \n \n \n \n \n \n \n \n base64Content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailConfig.html":{"url":"interfaces/MailConfig.html","title":"interface - MailConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/interfaces/mail-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n BLOCKLIST_OF_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n BLOCKLIST_OF_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n BLOCKLIST_OF_EMAIL_DOMAINS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MailConfig {\n\tBLOCKLIST_OF_EMAIL_DOMAINS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailContent.html":{"url":"interfaces/MailContent.html","title":"interface - MailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n attachments\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attachments\n \n \n \n \n \n \n \n \n attachments: (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n\n \n \n Type : (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MailModule.html":{"url":"modules/MailModule.html","title":"module - MailModule","body":"\n \n\n\n\n\n Modules\n MailModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: MailModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MailModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailModuleOptions.html":{"url":"interfaces/MailModuleOptions.html","title":"interface - MailModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MailService.html":{"url":"injectables/MailService.html","title":"injectable - MailService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MailService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n Private\n getMailDomain\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: MailServiceOptions, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n MailServiceOptions\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n \n \n \n \n \n filterEmailAdresses(mails: string[] | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mails\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : [] | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getMailDomain\n \n \n \n \n \n \n \n getMailDomain(mail: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mail\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(data: Mail)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n Mail\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('BLOCKLIST_OF_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailServiceOptions.html":{"url":"interfaces/MailServiceOptions.html","title":"interface - MailServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('BLOCKLIST_OF_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementModule.html":{"url":"modules/ManagementModule.html","title":"module - ManagementModule","body":"\n \n\n\n\n\n Modules\n ManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementModule\n\n\n\ncluster_ManagementModule_providers\n\n\n\n\nBoardManagementUc\n\nBoardManagementUc\n\n\n\nManagementModule\n\nManagementModule\n\nManagementModule -->\n\nBoardManagementUc->ManagementModule\n\n\n\n\n\nBsonConverter\n\nBsonConverter\n\nManagementModule -->\n\nBsonConverter->ManagementModule\n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nManagementModule -->\n\nConsoleWriterService->ManagementModule\n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nManagementModule -->\n\nDatabaseManagementService->ManagementModule\n\n\n\n\n\nDatabaseManagementUc\n\nDatabaseManagementUc\n\nManagementModule -->\n\nDatabaseManagementUc->ManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardManagementUc\n \n \n BsonConverter\n \n \n ConsoleWriterService\n \n \n DatabaseManagementService\n \n \n DatabaseManagementUc\n \n \n \n \n Controllers\n \n \n DatabaseManagementController\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementModule, DatabaseManagementService } from '@infra/database';\nimport { EncryptionModule } from '@infra/encryption';\nimport { FileSystemModule } from '@infra/file-system';\nimport { KeycloakConfigurationModule } from '@infra/identity-management/keycloak-configuration/keycloak-configuration.module';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { serverConfig } from '@modules/server';\nimport { BoardManagementConsole } from './console/board-management.console';\nimport { DatabaseManagementConsole } from './console/database-management.console';\nimport { DatabaseManagementController } from './controller/database-management.controller';\nimport { BsonConverter } from './converter/bson.converter';\nimport { BoardManagementUc } from './uc/board-management.uc';\nimport { DatabaseManagementUc } from './uc/database-management.uc';\n\nconst baseImports = [\n\tFileSystemModule,\n\tDatabaseManagementModule,\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tEncryptionModule,\n];\n\nconst imports = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t? [...baseImports, KeycloakConfigurationModule]\n\t: baseImports;\n\nconst providers = [\n\tDatabaseManagementUc,\n\tDatabaseManagementService,\n\tBsonConverter,\n\t// console providers\n\tDatabaseManagementConsole,\n\t// infra services\n\tConsoleWriterService,\n\tBoardManagementConsole,\n\tBoardManagementUc,\n];\n\nconst controllers = [DatabaseManagementController];\n\n@Module({\n\timports: [...imports],\n\tproviders,\n\tcontrollers,\n})\nexport class ManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerModule.html":{"url":"modules/ManagementServerModule.html","title":"module - ManagementServerModule","body":"\n \n\n\n\n\n Modules\n ManagementServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerModule\n\n\n\ncluster_ManagementServerModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerModule\n\nManagementServerModule\n\nManagementServerModule -->\n\nManagementModule->ManagementServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerTestModule.html":{"url":"modules/ManagementServerTestModule.html","title":"module - ManagementServerTestModule","body":"\n \n\n\n\n\n Modules\n ManagementServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerTestModule\n\n\n\ncluster_ManagementServerTestModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerTestModule\n\nManagementServerTestModule\n\nManagementServerTestModule -->\n\nManagementModule->ManagementServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nManagementServerTestModule -->\n\nMongoMemoryDatabaseModule->ManagementServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n MongoMemoryDatabaseModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/management-server.module.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Material.html":{"url":"entities/Material.html","title":"entity - Material","body":"\n \n\n\n\n\n\n\n\n Entities\n Material\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n description\n \n \n \n license\n \n \n \n Optional\n merlinReference\n \n \n \n relatedResources\n \n \n \n subjects\n \n \n \n tags\n \n \n \n targetGroups\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n merlinReference\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n Type : RelatedResourceProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n Type : TargetGroupProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MaterialFactory.html":{"url":"classes/MaterialFactory.html","title":"class - MaterialFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MaterialFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/material.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Material, MaterialProperties } from '@shared/domain/entity/materials.entity';\nimport { BaseFactory } from './base.factory';\n\nclass MaterialFactory extends BaseFactory {}\n\nexport const materialFactory = MaterialFactory.define(Material, ({ sequence }) => {\n\treturn {\n\t\tclient: 'test material client',\n\t\tdescription: 'test material description',\n\t\tlicense: [],\n\t\tmerlinReference: '',\n\t\trelatedResources: [],\n\t\tsubjects: [],\n\t\ttags: [],\n\t\ttargetGroups: [],\n\t\ttitle: `material #${sequence}`,\n\t\turl: 'test material url',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MaterialProperties.html":{"url":"interfaces/MaterialProperties.html","title":"interface - MaterialProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MaterialProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n \n description\n \n \n \n \n license\n \n \n \n Optional\n \n merlinReference\n \n \n \n \n relatedResources\n \n \n \n \n subjects\n \n \n \n \n tags\n \n \n \n \n targetGroups\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n \n \n license: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n merlinReference\n \n \n \n \n \n \n \n \n merlinReference: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n \n \n relatedResources: RelatedResourceProperties[]\n\n \n \n\n\n \n \n Type : RelatedResourceProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n \n \n subjects: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n \n \n tags: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n \n \n targetGroups: TargetGroupProperties[]\n\n \n \n\n\n \n \n Type : TargetGroupProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MaterialsRepo.html":{"url":"injectables/MaterialsRepo.html","title":"injectable - MaterialsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MaterialsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/materials/materials.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/materials/materials.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Material } from '@shared/domain/entity/materials.entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class MaterialsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Material;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Meta.html":{"url":"interfaces/Meta.html","title":"interface - Meta","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Meta\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n itemsperpage\n \n \n \n \n message\n \n \n \n \n status\n \n \n \n \n statuscode\n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n itemsperpage\n \n \n \n \n \n \n \n \n itemsperpage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statuscode\n \n \n \n \n \n \n \n \n statuscode: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n totalitems: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorApiModule.html":{"url":"modules/MetaTagExtractorApiModule.html","title":"module - MetaTagExtractorApiModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorApiModule\n\n\n\ncluster_MetaTagExtractorApiModule_imports\n\n\n\ncluster_MetaTagExtractorApiModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule -->\n\nLoggerModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorUc\n\nMetaTagExtractorUc\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorUc->MetaTagExtractorApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MetaTagExtractorUc\n \n \n \n \n Controllers\n \n \n MetaTagExtractorController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n MetaTagExtractorModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { MetaTagExtractorController } from './controller';\nimport { MetaTagExtractorModule } from './meta-tag-extractor.module';\nimport { MetaTagExtractorUc } from './uc';\n\n@Module({\n\timports: [MetaTagExtractorModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [MetaTagExtractorController],\n\tproviders: [MetaTagExtractorUc],\n})\nexport class MetaTagExtractorApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/MetaTagExtractorController.html":{"url":"controllers/MetaTagExtractorController.html","title":"controller - MetaTagExtractorController","body":"\n \n\n\n\n\n\n\n Controllers\n MetaTagExtractorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts\n \n\n \n Prefix\n \n \n meta-tag-extractor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n \n \n \n getMetaTags(currentUser: ICurrentUser, bodyParams: GetMetaTagDataBody)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'return extract meta tags'})@ApiResponse({status: 201, type: MetaTagExtractorResponse})@ApiResponse({status: 401, type: UnauthorizedException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post('')\n \n \n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n GetMetaTagDataBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, InternalServerErrorException, Post, UnauthorizedException } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { MetaTagExtractorUc } from '../uc';\nimport { MetaTagExtractorResponse } from './dto';\nimport { GetMetaTagDataBody } from './post-link-url.body.params';\n\n@ApiTags('Meta Tag Extractor')\n@Authenticate('jwt')\n@Controller('meta-tag-extractor')\nexport class MetaTagExtractorController {\n\tconstructor(private readonly metaTagExtractorUc: MetaTagExtractorUc) {}\n\n\t@ApiOperation({ summary: 'return extract meta tags' })\n\t@ApiResponse({ status: 201, type: MetaTagExtractorResponse })\n\t@ApiResponse({ status: 401, type: UnauthorizedException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post('')\n\tasync getMetaTags(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() bodyParams: GetMetaTagDataBody\n\t): Promise {\n\t\tconst result = await this.metaTagExtractorUc.getMetaData(currentUser.userId, bodyParams.url);\n\t\tconst imageUrl = result.image?.url;\n\t\tconst response = new MetaTagExtractorResponse({ ...result, imageUrl });\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorModule.html":{"url":"modules/MetaTagExtractorModule.html","title":"module - MetaTagExtractorModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorModule\n\n\n\ncluster_MetaTagExtractorModule_imports\n\n\n\ncluster_MetaTagExtractorModule_exports\n\n\n\ncluster_MetaTagExtractorModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule -->\n\nAuthenticationModule->MetaTagExtractorModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nMetaTagExtractorModule -->\n\nBoardModule->MetaTagExtractorModule\n\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nMetaTagExtractorModule -->\n\nConsoleWriterModule->MetaTagExtractorModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nMetaTagExtractorModule -->\n\nLearnroomModule->MetaTagExtractorModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nMetaTagExtractorModule -->\n\nLessonModule->MetaTagExtractorModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nMetaTagExtractorModule -->\n\nLoggerModule->MetaTagExtractorModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nMetaTagExtractorModule -->\n\nTaskModule->MetaTagExtractorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nMetaTagExtractorModule -->\n\nUserModule->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService \n\nMetaTagExtractorService \n\nMetaTagExtractorService -->\n\nMetaTagExtractorModule->MetaTagExtractorService \n\n\n\n\n\nBoardUrlHandler\n\nBoardUrlHandler\n\nMetaTagExtractorModule -->\n\nBoardUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nCourseUrlHandler\n\nCourseUrlHandler\n\nMetaTagExtractorModule -->\n\nCourseUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nLessonUrlHandler\n\nLessonUrlHandler\n\nMetaTagExtractorModule -->\n\nLessonUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService\n\nMetaTagExtractorService\n\nMetaTagExtractorModule -->\n\nMetaTagExtractorService->MetaTagExtractorModule\n\n\n\n\n\nMetaTagInternalUrlService\n\nMetaTagInternalUrlService\n\nMetaTagExtractorModule -->\n\nMetaTagInternalUrlService->MetaTagExtractorModule\n\n\n\n\n\nTaskUrlHandler\n\nTaskUrlHandler\n\nMetaTagExtractorModule -->\n\nTaskUrlHandler->MetaTagExtractorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUrlHandler\n \n \n CourseUrlHandler\n \n \n LessonUrlHandler\n \n \n MetaTagExtractorService\n \n \n MetaTagInternalUrlService\n \n \n TaskUrlHandler\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n BoardModule\n \n \n ConsoleWriterModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MetaTagExtractorService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { LessonModule } from '../lesson';\nimport { TaskModule } from '../task';\nimport { UserModule } from '../user';\nimport metaTagExtractorConfig from './meta-tag-extractor.config';\nimport { MetaTagExtractorService } from './service';\nimport { MetaTagInternalUrlService } from './service/meta-tag-internal-url.service';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './service/url-handler';\n\n@Module({\n\timports: [\n\t\tAuthenticationModule,\n\t\tBoardModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tLoggerModule,\n\t\tTaskModule,\n\t\tUserModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(metaTagExtractorConfig)),\n\t],\n\tproviders: [\n\t\tMetaTagExtractorService,\n\t\tMetaTagInternalUrlService,\n\t\tTaskUrlHandler,\n\t\tLessonUrlHandler,\n\t\tCourseUrlHandler,\n\t\tBoardUrlHandler,\n\t],\n\texports: [MetaTagExtractorService],\n})\nexport class MetaTagExtractorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetaTagExtractorResponse.html":{"url":"classes/MetaTagExtractorResponse.html","title":"class - MetaTagExtractorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetaTagExtractorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n Optional\n imageUrl\n \n \n \n \n Optional\n parentTitle\n \n \n \n \n Optional\n parentType\n \n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: MetaTagExtractorResponse)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n MetaTagExtractorResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentType\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsUrl()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsString, IsUrl } from 'class-validator';\nimport { MetaDataEntityType } from '../../types';\n\nexport class MetaTagExtractorResponse {\n\tconstructor({ url, title, description, imageUrl, type, parentTitle, parentType }: MetaTagExtractorResponse) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t\tthis.type = type;\n\t\tthis.parentTitle = parentTitle;\n\t\tthis.parentType = parentType;\n\t}\n\n\t@ApiProperty()\n\t@IsUrl()\n\turl!: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\timageUrl?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\ttype: MetaDataEntityType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentTitle?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\tparentType?: MetaDataEntityType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorService.html":{"url":"injectables/MetaTagExtractorService.html","title":"injectable - MetaTagExtractorService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n Async\n getMetaData\n \n \n Private\n pickImage\n \n \n Private\n Async\n tryExtractMetaTags\n \n \n Private\n tryFilenameAsFallback\n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(internalLinkMataTagService: MetaTagInternalUrlService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n internalLinkMataTagService\n \n \n MetaTagInternalUrlService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n \n \n \n \n \n getDefaultMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n pickImage\n \n \n \n \n \n \n \n pickImage(images: ImageObject[], minWidth: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n images\n \n ImageObject[]\n \n\n \n No\n \n\n \n \n\n \n \n minWidth\n \n number\n \n\n \n No\n \n\n \n 400\n \n\n \n \n \n \n \n Returns : ImageObject | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryExtractMetaTags\n \n \n \n \n \n \n \n tryExtractMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n tryFilenameAsFallback\n \n \n \n \n \n \n \n tryFilenameAsFallback(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport ogs from 'open-graph-scraper';\nimport { ImageObject } from 'open-graph-scraper/dist/lib/types';\nimport { basename } from 'path';\nimport type { MetaData } from '../types';\nimport { MetaTagInternalUrlService } from './meta-tag-internal-url.service';\n\n@Injectable()\nexport class MetaTagExtractorService {\n\tconstructor(private readonly internalLinkMataTagService: MetaTagInternalUrlService) {}\n\n\tasync getMetaData(url: string): Promise {\n\t\tif (url.length === 0) {\n\t\t\tthrow new Error(`MetaTagExtractorService requires a valid URL. Given URL: ${url}`);\n\t\t}\n\n\t\tconst metaData =\n\t\t\t(await this.tryInternalLinkMetaTags(url)) ??\n\t\t\t(await this.tryExtractMetaTags(url)) ??\n\t\t\tthis.tryFilenameAsFallback(url) ??\n\t\t\tthis.getDefaultMetaData(url);\n\n\t\treturn metaData;\n\t}\n\n\tprivate async tryInternalLinkMetaTags(url: string): Promise {\n\t\treturn this.internalLinkMataTagService.tryInternalLinkMetaTags(url);\n\t}\n\n\tprivate async tryExtractMetaTags(url: string): Promise {\n\t\ttry {\n\t\t\tconst data = await ogs({ url, fetchOptions: { headers: { 'User-Agent': 'Open Graph Scraper' } } });\n\n\t\t\tconst title = data.result?.ogTitle ?? '';\n\t\t\tconst description = data.result?.ogDescription ?? '';\n\t\t\tconst image = data.result?.ogImage ? this.pickImage(data?.result?.ogImage) : undefined;\n\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription,\n\t\t\t\timage,\n\t\t\t\turl,\n\t\t\t\ttype: 'external',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate tryFilenameAsFallback(url: string): MetaData | undefined {\n\t\ttry {\n\t\t\tconst urlObject = new URL(url);\n\t\t\tconst title = basename(urlObject.pathname);\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription: '',\n\t\t\t\turl,\n\t\t\t\ttype: 'unknown',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate getDefaultMetaData(url: string): MetaData {\n\t\treturn { url, title: '', description: '', type: 'unknown' };\n\t}\n\n\tprivate pickImage(images: ImageObject[], minWidth = 400): ImageObject | undefined {\n\t\tconst sortedImages = [...images];\n\t\tsortedImages.sort((a, b) => (a.width && b.width ? Number(a.width) - Number(b.width) : 0));\n\t\tconst smallestBigEnoughImage = sortedImages.find((i) => i.width && i.width >= minWidth);\n\t\tconst fallbackImage = images[0] && images[0].width === undefined ? images[0] : undefined;\n\t\treturn smallestBigEnoughImage ?? fallbackImage;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorUc.html":{"url":"injectables/MetaTagExtractorUc.html","title":"injectable - MetaTagExtractorUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, metaTagExtractorService: MetaTagExtractorService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n metaTagExtractorService\n \n \n MetaTagExtractorService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(userId: EntityId, url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { MetaTagExtractorService } from '../service';\nimport { MetaData } from '../types';\n\n@Injectable()\nexport class MetaTagExtractorUc {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly metaTagExtractorService: MetaTagExtractorService\n\t) {}\n\n\tasync getMetaData(userId: EntityId, url: string): Promise {\n\t\ttry {\n\t\t\tawait this.authorizationService.getUserWithPermissions(userId);\n\t\t} catch (error) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\tconst result = await this.metaTagExtractorService.getMetaData(url);\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagInternalUrlService.html":{"url":"injectables/MetaTagInternalUrlService.html","title":"injectable - MetaTagInternalUrlService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagInternalUrlService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n isInternalUrl\n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskUrlHandler: TaskUrlHandler, lessonUrlHandler: LessonUrlHandler, courseUrlHandler: CourseUrlHandler, boardUrlHandler: BoardUrlHandler)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskUrlHandler\n \n \n TaskUrlHandler\n \n \n \n No\n \n \n \n \n lessonUrlHandler\n \n \n LessonUrlHandler\n \n \n \n No\n \n \n \n \n courseUrlHandler\n \n \n CourseUrlHandler\n \n \n \n No\n \n \n \n \n boardUrlHandler\n \n \n BoardUrlHandler\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n \n \n \n \n \n composeMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isInternalUrl\n \n \n \n \n \n \nisInternalUrl(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n \n \n Type : UrlHandler[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../interface/url-handler';\nimport { MetaData } from '../types';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './url-handler';\n\n@Injectable()\nexport class MetaTagInternalUrlService {\n\tprivate handlers: UrlHandler[] = [];\n\n\tconstructor(\n\t\tprivate readonly taskUrlHandler: TaskUrlHandler,\n\t\tprivate readonly lessonUrlHandler: LessonUrlHandler,\n\t\tprivate readonly courseUrlHandler: CourseUrlHandler,\n\t\tprivate readonly boardUrlHandler: BoardUrlHandler\n\t) {\n\t\tthis.handlers = [this.taskUrlHandler, this.lessonUrlHandler, this.courseUrlHandler, this.boardUrlHandler];\n\t}\n\n\tasync tryInternalLinkMetaTags(url: string): Promise {\n\t\tif (this.isInternalUrl(url)) {\n\t\t\treturn this.composeMetaTags(url);\n\t\t}\n\t\treturn Promise.resolve(undefined);\n\t}\n\n\tisInternalUrl(url: string) {\n\t\tlet domain = Configuration.get('SC_DOMAIN') as string;\n\t\tdomain = domain === '' ? 'nothing-configured-for-internal-url.de' : domain;\n\t\tconst isInternal = url.toLowerCase().includes(domain.toLowerCase());\n\t\treturn isInternal;\n\t}\n\n\tprivate async composeMetaTags(url: string): Promise {\n\t\tconst urlObject = new URL(url);\n\n\t\tconst handler = this.handlers.find((h) => h.doesUrlMatch(url));\n\t\tif (handler) {\n\t\t\tconst result = await handler.getMetaData(url);\n\t\t\treturn result;\n\t\t}\n\n\t\tconst title = urlObject.pathname;\n\t\treturn Promise.resolve({\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetadataTypeMapper.html":{"url":"classes/MetadataTypeMapper.html","title":"class - MetadataTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetadataTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n \n \n \n mapToAlloweMetadataType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LearnroomTypes\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { LearnroomTypes } from '@shared/domain/types';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class MetadataTypeMapper {\n\tstatic mapToAlloweMetadataType(type: ShareTokenParentType): LearnroomTypes {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, LearnroomTypes.Course);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationAlreadyActivatedException.html":{"url":"classes/MigrationAlreadyActivatedException.html","title":"class - MigrationAlreadyActivatedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationAlreadyActivatedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:33\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MigrationCheckService.html":{"url":"injectables/MigrationCheckService.html","title":"injectable - MigrationCheckService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MigrationCheckService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/migration-check.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n Private\n isUserMigrated\n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, schoolService: LegacySchoolService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n \n \n \n \n \n isMigrationActive(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserMigrated\n \n \n \n \n \n \n \n isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO | null\n \n\n \n No\n \n\n\n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n \n \n \n shouldUserMigrate(externalUserId: string, systemId: EntityId, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\n\n@Injectable()\nexport class MigrationCheckService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async shouldUserMigrate(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school?.id) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(school.id);\n\n\t\tif (!userLoginMigration || !this.isMigrationActive(userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (this.isUserMigrated(user, userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn (\n\t\t\t!!user && user.lastLoginSystemChange !== undefined && user.lastLoginSystemChange > userLoginMigration.startedAt\n\t\t);\n\t}\n\n\tprivate isMigrationActive(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn !userLoginMigration.closedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationDto.html":{"url":"classes/MigrationDto.html","title":"class - MigrationDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationDto: MigrationDto)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationDto\n \n \n MigrationDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MigrationDto {\n\tredirect: string;\n\n\tconstructor(userMigrationDto: MigrationDto) {\n\t\tthis.redirect = userMigrationDto.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayBeCompleted.html":{"url":"classes/MigrationMayBeCompleted.html","title":"class - MigrationMayBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may have already been completed or the school may not yet be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayNotBeCompleted.html":{"url":"classes/MigrationMayNotBeCompleted.html","title":"class - MigrationMayNotBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayNotBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayNotBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may not be yet complete or the school may not be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MigrationOptions.html":{"url":"interfaces/MigrationOptions.html","title":"interface - MigrationOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MigrationOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n query\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n verbose\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n query\n \n \n \n \n \n \n \n \n query: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n verbose\n \n \n \n \n \n \n \n \n verbose: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingSchoolNumberException.html":{"url":"classes/MissingSchoolNumberException.html","title":"class - MissingSchoolNumberException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingSchoolNumberException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingToolParameterValueLoggableException.html":{"url":"classes/MissingToolParameterValueLoggableException.html","title":"class - MissingToolParameterValueLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingToolParameterValueLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalTool: ContextExternalTool, parameters: CustomParameter[])\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n \n ContextExternalTool\n \n \n \n No\n \n \n \n \n parameters\n \n \n CustomParameter[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:26\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { CustomParameter } from '../../common/domain';\n\nexport class MissingToolParameterValueLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly contextExternalTool: ContextExternalTool,\n\t\tprivate readonly parameters: CustomParameter[]\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'MISSING_TOOL_PARAMETER_VALUE',\n\t\t\t\ttitle: 'Missing tool parameter value',\n\t\t\t\tdefaultMessage: 'The external tool was attempted to launch, but a parameter was not configured.',\n\t\t\t},\n\t\t\tHttpStatus.UNPROCESSABLE_ENTITY,\n\t\t\t{\n\t\t\t\tparameterKeys: parameters.map((param): string => param.name),\n\t\t\t\tparameterNames: parameters.map((param): string => param.displayName),\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst parameterNames: string[] = this.parameters.map((param): string => param.name);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tcontextExternalToolId: this.contextExternalTool.id,\n\t\t\t\tparameterNames: `[${parameterNames.join(', ')}]`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MongoMemoryDatabaseModule.html":{"url":"modules/MongoMemoryDatabaseModule.html","title":"module - MongoMemoryDatabaseModule","body":"\n \n\n\n\n\n Modules\n MongoMemoryDatabaseModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:42\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleAsyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Inject, Module, OnModuleDestroy } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport _ from 'lodash';\nimport { MongoDatabaseModuleOptions } from './types';\n\nconst dbName = () => _.times(20, () => _.random(35).toString(36)).join('');\n\nconst createMikroOrmModule = (options: MikroOrmModuleAsyncOptions): DynamicModule => {\n\tconst mikroOrmModule = MikroOrmModule.forRootAsync({\n\t\tuseFactory: () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, no-process-env\n\t\t\tconst clientUrl = `${process.env.MONGO_TEST_URI}/${dbName()}`;\n\t\t\treturn {\n\t\t\t\tallowGlobalContext: true, // can be overridden by options\n\t\t\t\t...options,\n\t\t\t\ttype: 'mongo',\n\t\t\t\tclientUrl,\n\t\t\t};\n\t\t},\n\t});\n\n\treturn mikroOrmModule;\n};\n\n@Module({})\nexport class MongoMemoryDatabaseModule implements OnModuleDestroy {\n\tconstructor(@Inject(MikroORM) private orm: MikroORM) {}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\tconst defaultOptions = {\n\t\t\tentities: ALL_ENTITIES,\n\t\t};\n\t\treturn {\n\t\t\tmodule: MongoMemoryDatabaseModule,\n\t\t\timports: [createMikroOrmModule({ ...defaultOptions, ...options })],\n\t\t\texports: [MikroOrmModule],\n\t\t};\n\t}\n\n\tasync onModuleDestroy(): Promise {\n\t\tawait this.orm.close();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MongoPatterns.html":{"url":"classes/MongoPatterns.html","title":"class - MongoPatterns","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MongoPatterns\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/mongo.patterns.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n \n \n Default value : /[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi\n \n \n \n \n Defined in apps/server/src/shared/repo/mongo.patterns.ts:6\n \n \n\n \n \n Regex to escape strings before use as regex against database.\nUsed to remove all non-language characters except numbers, whitespace or minus.\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MongoPatterns {\n\t/**\n\t * Regex to escape strings before use as regex against database.\n\t * Used to remove all non-language characters except numbers, whitespace or minus.\n\t */\n\tstatic REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST =\n\t\t/[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveCardBodyParams.html":{"url":"classes/MoveCardBodyParams.html","title":"class - MoveCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveCardBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoColumnId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveColumnBodyParams.html":{"url":"classes/MoveColumnBodyParams.html","title":"class - MoveColumnBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveColumnBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the target board', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveColumnBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the target board',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoBoardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveContentElementBody.html":{"url":"classes/MoveContentElementBody.html","title":"class - MoveContentElementBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveContentElementBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveContentElementBody {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoCardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementParams.html":{"url":"classes/MoveElementParams.html","title":"class - MoveElementParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n to\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementPositionParams.html":{"url":"classes/MoveElementPositionParams.html","title":"class - MoveElementPositionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementPositionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating the position of a Dashboard Element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n x\n \n \n \n \n \n y\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({description: 'used to identify a position within a group.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NameMatch.html":{"url":"interfaces/NameMatch.html","title":"interface - NameMatch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NameMatch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Match filter for lastName or firstName\n\n \n \n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/News.html":{"url":"entities/News.html","title":"entity - News","body":"\n \n\n\n\n\n\n\n\n Entities\n News\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n externalId\n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n target\n \n \n \n targetModel\n \n \n \n title\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:38\n \n \n\n \n \n the news content as html\n\n \n \n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'creatorId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:43\n \n \n\n \n \n only past news are visible for viewers, when edit permission, news visible in the future might be accessed too\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : \"internal\" | \"rss\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : NewsTarget\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:55\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : NewsTargetModel\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:59\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:34\n \n \n\n \n \n the news title\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'updaterId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:68\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/NewsController.html":{"url":"controllers/NewsController.html","title":"controller - NewsController","body":"\n \n\n\n\n\n\n\n Controllers\n NewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/news.controller.ts\n \n\n \n Prefix\n \n \n news\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findOne\n \n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(currentUser: ICurrentUser, params: CreateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Post()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:26\n \n \n\n\n \n \n Create a news by a user in a given scope (school or team).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:89\n \n \n\n\n \n \n Delete a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:40\n \n \n\n\n \n \n Responds with all news for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:61\n \n \n\n\n \n \n Retrieve a specific news entry by id.\nA user may only read news of scopes he has the read permission.\nThe news entity has school and user names populated.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(urlParams: NewsUrlParams, currentUser: ICurrentUser, params: UpdateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:71\n \n \n\n\n \n \n Update properties of a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc/news.uc';\nimport {\n\tCreateNewsParams,\n\tFilterNewsParams,\n\tNewsListResponse,\n\tNewsResponse,\n\tNewsUrlParams,\n\tUpdateNewsParams,\n} from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('news')\nexport class NewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Create a news by a user in a given scope (school or team).\n\t */\n\t@Post()\n\tasync create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n\t\tconst news = await this.newsUc.create(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tNewsMapper.mapCreateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Responds with all news for a user.\n\t */\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n\n\t/**\n\t * Retrieve a specific news entry by id.\n\t * A user may only read news of scopes he has the read permission.\n\t * The news entity has school and user names populated.\n\t */\n\t@Get(':newsId')\n\tasync findOne(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst news = await this.newsUc.findOneByIdForUser(urlParams.newsId, currentUser.userId);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Update properties of a news.\n\t */\n\t@Patch(':newsId')\n\tasync update(\n\t\t@Param() urlParams: NewsUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateNewsParams\n\t): Promise {\n\t\tconst news = await this.newsUc.update(\n\t\t\turlParams.newsId,\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapUpdateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Delete a news.\n\t */\n\t@Delete(':newsId')\n\tasync delete(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst deletedId = await this.newsUc.delete(urlParams.newsId, currentUser.userId);\n\t\treturn deletedId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsCrudOperationLoggable.html":{"url":"classes/NewsCrudOperationLoggable.html","title":"class - NewsCrudOperationLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsCrudOperationLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operation: CrudOperation, userId: EntityId, news: News)\n \n \n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operation\n \n \n CrudOperation\n \n \n \n No\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n news\n \n \n News\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:14\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CrudOperation } from '@shared/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\nimport { NewsMapper } from '../mapper/news.mapper';\n\nexport class NewsCrudOperationLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly operation: CrudOperation,\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly news: News\n\t) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Performing a CRUD operation on a news',\n\t\t\tdata: {\n\t\t\t\toperation: this.operation,\n\t\t\t\tuserId: this.userId,\n\t\t\t\tnews: NewsMapper.mapToLogMessageData(this.news),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsListResponse.html":{"url":"classes/NewsListResponse.html","title":"class - NewsListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:129\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n NewsResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : NewsResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:136\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsMapper.html":{"url":"classes/NewsMapper.html","title":"class - NewsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/news.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n Static\n mapNewsScopeToDomain\n \n \n Static\n mapToLogMessageData\n \n \n Static\n mapToResponse\n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n \n \n \n \n \n mapCreateNewsToDomain(params: CreateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateNews\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapNewsScopeToDomain\n \n \n \n \n \n \n \n mapNewsScopeToDomain(query: FilterNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : INewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToLogMessageData\n \n \n \n \n \n \n \n mapToLogMessageData(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LogMessageData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n \n \n \n mapUpdateNewsToDomain(params: UpdateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUpdateNews\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { CreateNews, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { LogMessageData } from '@src/core/logger';\nimport { CreateNewsParams, FilterNewsParams, NewsResponse, UpdateNewsParams } from '../controller/dto';\nimport { SchoolInfoMapper } from './school-info.mapper';\nimport { TargetInfoMapper } from './target-info.mapper';\nimport { UserInfoMapper } from './user-info.mapper';\n\nexport class NewsMapper {\n\tstatic mapToResponse(news: News): NewsResponse {\n\t\tconst target = TargetInfoMapper.mapToResponse(news.target);\n\t\tconst school = SchoolInfoMapper.mapToResponse(news.school);\n\t\tconst creator = UserInfoMapper.mapToResponse(news.creator);\n\n\t\tconst dto = new NewsResponse({\n\t\t\tid: news.id,\n\t\t\ttitle: news.title,\n\t\t\tcontent: news.content,\n\t\t\tdisplayAt: news.displayAt,\n\t\t\tsource: news.source,\n\t\t\tsourceDescription: news.sourceDescription,\n\t\t\ttargetId: news.target.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttarget,\n\t\t\tschool,\n\t\t\tcreator,\n\t\t\tcreatedAt: news.createdAt,\n\t\t\tupdatedAt: news.updatedAt,\n\t\t\tpermissions: news.permissions,\n\t\t});\n\n\t\tif (news.updater) {\n\t\t\tdto.updater = UserInfoMapper.mapToResponse(news.updater);\n\t\t}\n\n\t\treturn dto;\n\t}\n\n\tstatic mapNewsScopeToDomain(query: FilterNewsParams): INewsScope {\n\t\tconst dto: INewsScope = {};\n\t\tif (query.targetModel) {\n\t\t\tdto.target = {\n\t\t\t\ttargetModel: query.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: query.targetId,\n\t\t\t};\n\t\t}\n\t\tif ('unpublished' in query) {\n\t\t\tdto.unpublished = query.unpublished;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapCreateNewsToDomain(params: CreateNewsParams): CreateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t\ttarget: {\n\t\t\t\ttargetModel: params.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: params.targetId,\n\t\t\t},\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapUpdateNewsToDomain(params: UpdateNewsParams): IUpdateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapToLogMessageData(news: News): LogMessageData {\n\t\tconst data = {\n\t\t\tentityType: 'News',\n\t\t\tid: news.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttargetId: news.target.id,\n\t\t};\n\n\t\treturn data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NewsModule.html":{"url":"modules/NewsModule.html","title":"module - NewsModule","body":"\n \n\n\n\n\n Modules\n NewsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_NewsModule\n\n\n\ncluster_NewsModule_providers\n\n\n\ncluster_NewsModule_imports\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"},"interfaces/NewsProperties.html":{"url":"interfaces/NewsProperties.html","title":"interface - NewsProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n \n externalId\n \n \n \n \n school\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceDescription\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n Optional\n \n updater\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: EntityId | User\n\n \n \n\n\n \n \n Type : EntityId | User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: EntityId | SchoolEntity\n\n \n \n\n\n \n \n Type : EntityId | SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \"internal\" | \"rss\"\n\n \n \n\n\n \n \n Type : \"internal\" | \"rss\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceDescription\n \n \n \n \n \n \n \n \n sourceDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: EntityId | NewsTarget\n\n \n \n\n\n \n \n Type : EntityId | NewsTarget\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updater\n \n \n \n \n \n \n \n \n updater: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsRepo.html":{"url":"injectables/NewsRepo.html","title":"injectable - NewsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllPublished\n \n \n Async\n findAllUnpublishedByUser\n \n \n Private\n Async\n findNewsAndCount\n \n \n Async\n findOneById\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllPublished\n \n \n \n \n \n \n \n findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:23\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnpublishedByUser\n \n \n \n \n \n \n \n findAllUnpublishedByUser(targets: NewsTargetFilter[], creatorId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:38\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \ncreatorId\n\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNewsAndCount\n \n \n \n \n \n \n \n findNewsAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:60\n \n \n\n\n \n \n resolves a news documents list with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:53\n \n \n\n\n \n \n resolves a news document with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : ['school', 'target', 'creator', 'updater']\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { NewsScope } from './news-scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\n@Injectable()\nexport class NewsRepo extends BaseRepo {\n\tpropertiesToPopulate = ['school', 'target', 'creator', 'updater'];\n\n\tget entityName() {\n\t\treturn News;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param options\n\t */\n\tasync findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byPublished();\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param creatorId - creatorId\n\t * @param options\n\t */\n\tasync findAllUnpublishedByUser(\n\t\ttargets: NewsTargetFilter[],\n\t\tcreatorId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byUnpublished();\n\t\tscope.byCreator(creatorId);\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/** resolves a news document with some elements (school, target, and updator/creator) populated already */\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst newsEntity = await this._em.findOneOrFail(News, id);\n\t\tawait this._em.populate(newsEntity, this.propertiesToPopulate as never[]);\n\t\treturn newsEntity;\n\t}\n\n\t/** resolves a news documents list with some elements (school, target, and updator/creator) populated already */\n\tprivate async findNewsAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst [newsEntities, count] = await this._em.findAndCount(News, query, {\n\t\t\t...pagination,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t});\n\t\tawait this._em.populate(newsEntities, this.propertiesToPopulate as never[]);\n\t\t// populate target for all inheritances of news which not works when the list contains different types\n\t\tconst discriminatorColumn = 'target';\n\t\tconst schoolNews = newsEntities.filter((news) => news instanceof SchoolNews);\n\t\tawait this._em.populate(schoolNews, [discriminatorColumn]);\n\t\tconst teamNews = newsEntities.filter((news) => news instanceof TeamNews);\n\t\tawait this._em.populate(teamNews, [discriminatorColumn]);\n\t\tconst courseNews = newsEntities.filter((news) => news instanceof CourseNews);\n\t\tawait this._em.populate(courseNews, [discriminatorColumn]);\n\t\treturn [newsEntities, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsResponse.html":{"url":"classes/NewsResponse.html","title":"class - NewsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n createdAt\n \n \n \n creator\n \n \n \n displayAt\n \n \n \n id\n \n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n \n target\n \n \n \n targetId\n \n \n \n targetModel\n \n \n \n title\n \n \n \n updatedAt\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: NewsResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n NewsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The creation timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:116\n \n \n\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Reference to the User that created the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the News entity', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'List of permissions the current user has for the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The School ownership'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : SourceType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: 'string', enum: NEWS_SOURCES, description: 'The type of source of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The source description of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TargetInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The target object with id and name, could be the school, team, or course name'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: TARGET_MODEL_VALUES, enumName: 'NewsTargetModel', description: 'Target model to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The update timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Reference to the User that updated the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:111\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsScope.html":{"url":"classes/NewsScope.html","title":"class - NewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCreator\n \n \n byPublished\n \n \n byTargets\n \n \n byUnpublished\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCreator\n \n \n \n \n \n \nbyCreator(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byPublished\n \n \n \n \n \n \nbyPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:26\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n byTargets\n \n \n \n \n \n \nbyTargets(targets: NewsTargetFilter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUnpublished\n \n \n \n \n \n \nbyUnpublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:32\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { EmptyResultQuery } from '../query';\nimport { Scope } from '../scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\nexport class NewsScope extends Scope {\n\tbyTargets(targets: NewsTargetFilter[]): NewsScope {\n\t\tconst queries: FilterQuery[] = targets.map((target) => {\n\t\t\treturn {\n\t\t\t\t$and: [{ targetModel: target.targetModel }, { 'target:in': target.targetIds }],\n\t\t\t};\n\t\t});\n\t\tif (queries.length === 0) {\n\t\t\t// mission impossile query to ensure empty query result\n\t\t\tthis.addQuery(EmptyResultQuery);\n\t\t} else if (queries.length === 1) {\n\t\t\tthis.addQuery(queries[0]);\n\t\t} else {\n\t\t\tthis.addQuery({ $or: queries });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyPublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $lte: now } });\n\t\treturn this;\n\t}\n\n\tbyUnpublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $gt: now } });\n\t\treturn this;\n\t}\n\n\tbyCreator(creatorId: EntityId): NewsScope {\n\t\tif (creatorId !== undefined) {\n\t\t\tthis.addQuery({ creator: creatorId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsTargetFilter.html":{"url":"interfaces/NewsTargetFilter.html","title":"interface - NewsTargetFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsTargetFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-target-filter.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetIds\n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetIds\n \n \n \n \n \n \n \n \n targetIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n targetModel: NewsTargetModel\n\n \n \n\n\n \n \n Type : NewsTargetModel\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId, NewsTargetModel } from '@shared/domain/types';\n\nexport interface NewsTargetFilter {\n\ttargetModel: NewsTargetModel;\n\ttargetIds: EntityId[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsUc.html":{"url":"injectables/NewsUc.html","title":"injectable - NewsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/uc/news.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n create\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findAllForUser\n \n \n Public\n Async\n findOneByIdForUser\n \n \n Private\n Async\n getNewsPermissions\n \n \n Private\n Async\n getPermittedTargets\n \n \n Private\n Static\n getRequiredPermissions\n \n \n Private\n Async\n getTargetFilters\n \n \n Public\n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(newsRepo: NewsRepo, authorizationService: FeathersAuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n newsRepo\n \n \n NewsRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n FeathersAuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, schoolId: EntityId, params: CreateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllForUser\n \n \n \n \n \n \n \n findAllForUser(userId: EntityId, scope?: INewsScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:58\n \n \n\n\n \n \n Provides news for a user, by default odered by displayAt to show latest news first.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOneByIdForUser\n \n \n \n \n \n \n \n findOneByIdForUser(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getNewsPermissions\n \n \n \n \n \n \n \n getNewsPermissions(userId: EntityId, news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:188\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope | undefined\n \n\n \n No\n \n\n\n \n \n permissions\n \n NewsPermission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getRequiredPermissions\n \n \n \n \n \n \n \n getRequiredPermissions(unpublished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n unpublished\n \n boolean\n \n\n \n No\n \n\n\n \n news with displayAt set to future date are not published for users with view permission\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getTargetFilters\n \n \n \n \n \n \n \n getTargetFilters(userId: EntityId, targetModels: NewsTargetModel[], permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModels\n \n NewsTargetModel[]\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n update\n \n \n \n \n \n \n \n update(id: EntityId, userId: EntityId, params: IUpdateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n IUpdateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersAuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { News } from '@shared/domain/entity';\nimport { IFindOptions, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, CreateNews, EntityId, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { NewsRepo, NewsTargetFilter } from '@shared/repo';\nimport { CrudOperation } from '@shared/types';\nimport { Logger } from '@src/core/logger';\nimport { NewsCrudOperationLoggable } from '../loggable/news-crud-operation.loggable';\n\ntype NewsPermission = Permission.NEWS_VIEW | Permission.NEWS_EDIT;\n\n@Injectable()\nexport class NewsUc {\n\tconstructor(\n\t\tprivate newsRepo: NewsRepo,\n\t\tprivate authorizationService: FeathersAuthorizationService,\n\t\tprivate logger: Logger\n\t) {\n\t\tthis.logger.setContext(NewsUc.name);\n\t}\n\n\t/**\n\t *\n\t * @param userId\n\t * @param schoolId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async create(userId: EntityId, schoolId: EntityId, params: CreateNews): Promise {\n\t\tconst { targetModel, targetId } = params.target;\n\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, [Permission.NEWS_CREATE]);\n\n\t\tconst { target, displayAt: paramDisplayAt, ...props } = params;\n\t\t// set news as published by default\n\t\tconst displayAt = paramDisplayAt || new Date();\n\t\tconst news = News.createInstance(targetModel, {\n\t\t\t...props,\n\t\t\tdisplayAt,\n\t\t\tschool: schoolId,\n\t\t\tcreator: userId,\n\t\t\ttarget: targetId,\n\t\t});\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.CREATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t * Provides news for a user, by default odered by displayAt to show latest news first.\n\t * @param userId\n\t * @param scope\n\t * @param pagination\n\t * @returns\n\t */\n\tpublic async findAllForUser(\n\t\tuserId: EntityId,\n\t\tscope?: INewsScope,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst unpublished = !!scope?.unpublished; // default is only published news\n\t\tconst permissions: [NewsPermission] = NewsUc.getRequiredPermissions(unpublished);\n\n\t\tconst targets = await this.getPermittedTargets(userId, scope, permissions);\n\n\t\tif (options == null) options = {};\n\t\t// by default show latest news first\n\t\tif (options.order == null) options.order = { displayAt: SortOrder.desc };\n\n\t\tconst [newsList, newsCount] = unpublished\n\t\t\t? await this.newsRepo.findAllUnpublishedByUser(targets, userId, options)\n\t\t\t: await this.newsRepo.findAllPublished(targets, options);\n\n\t\tawait Promise.all(\n\t\t\tnewsList.map(async (news: News) => {\n\t\t\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\t\t\t})\n\t\t);\n\n\t\treturn [newsList, newsCount];\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async findOneByIdForUser(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tconst isPublished = news.displayAt > new Date();\n\t\tconst requiredPermissions = NewsUc.getRequiredPermissions(isPublished);\n\t\tawait this.authorizationService.checkEntityPermissions(\n\t\t\tuserId,\n\t\t\tnews.targetModel,\n\t\t\tnews.target.id,\n\t\t\trequiredPermissions\n\t\t);\n\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async update(id: EntityId, userId: EntityId, params: IUpdateNews): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, [\n\t\t\tPermission.NEWS_EDIT,\n\t\t]);\n\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const [key, value] of Object.entries(params)) {\n\t\t\tif (value) {\n\t\t\t\tnews[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.UPDATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async delete(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, ['NEWS_EDIT']);\n\n\t\tawait this.newsRepo.delete(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.DELETE, userId, news));\n\n\t\treturn id;\n\t}\n\n\tprivate async getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[]) {\n\t\tlet targets: NewsTargetFilter[];\n\n\t\tif (scope?.target == null) {\n\t\t\t// for all target models\n\t\t\ttargets = await this.getTargetFilters(userId, Object.values(NewsTargetModel), permissions);\n\t\t} else {\n\t\t\tconst { targetModel, targetId } = scope.target;\n\t\t\tif (targetModel && targetId) {\n\t\t\t\t// for specific news target\n\t\t\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, permissions);\n\t\t\t\ttargets = [{ targetModel, targetIds: [targetId] }];\n\t\t\t} else {\n\t\t\t\t// for single target model\n\t\t\t\ttargets = await this.getTargetFilters(userId, [targetModel], permissions);\n\t\t\t}\n\t\t}\n\t\treturn targets;\n\t}\n\n\tprivate async getTargetFilters(\n\t\tuserId: EntityId,\n\t\ttargetModels: NewsTargetModel[],\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst targets = await Promise.all(\n\t\t\ttargetModels.map(async (targetModel) => {\n\t\t\t\treturn {\n\t\t\t\t\ttargetModel,\n\t\t\t\t\ttargetIds: await this.authorizationService.getPermittedEntities(userId, targetModel, permissions),\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tconst nonEmptyTargets = targets.filter((target) => target.targetIds.length > 0);\n\n\t\treturn nonEmptyTargets;\n\t}\n\n\tprivate async getNewsPermissions(userId: EntityId, news: News): Promise {\n\t\tconst permissions = await this.authorizationService.getEntityPermissions(userId, news.targetModel, news.target.id);\n\t\treturn permissions.filter((permission) => permission.includes('NEWS'));\n\t}\n\n\t/**\n\t *\n\t * @param unpublished news with displayAt set to future date are not published for users with view permission\n\t * @returns\n\t */\n\tprivate static getRequiredPermissions(unpublished: boolean): [NewsPermission] {\n\t\treturn unpublished ? [Permission.NEWS_EDIT] : [Permission.NEWS_VIEW];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsUrlParams.html":{"url":"classes/NewsUrlParams.html","title":"class - NewsUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the news.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class NewsUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the news.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewsId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NexboardService.html":{"url":"injectables/NexboardService.html","title":"injectable - NexboardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NexboardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/nexboard.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n \n \n \n createNexboard(userId: EntityId, title: string, description: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers/feathers-service.provider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\nexport type NexboardResponse = { id: string; publicLink: string };\n\n@Injectable()\nexport class NexboardService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createNexboard(\n\t\tuserId: EntityId,\n\t\ttitle: string,\n\t\tdescription: string\n\t): Promise {\n\t\tconst data = {\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/nexboard/boards');\n\t\t\tconst nexBoard = (await service.create(data, { account: { userId } })) as NexboardResponse;\n\t\t\treturn { board: nexBoard.id, url: nexBoard.publicLink };\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Nexboard', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NextcloudGroups.html":{"url":"interfaces/NextcloudGroups.html","title":"interface - NextcloudGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NextcloudGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NextcloudStrategy.html":{"url":"injectables/NextcloudStrategy.html","title":"injectable - NextcloudStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NextcloudStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts\n \n\n\n \n Description\n \n \n Nextcloud Strategy Implementation for Collaborative Storage\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTeam\n \n \n Async\n deleteTeam\n \n \n Private\n Async\n findLegacyLtiTool\n \n \n Private\n Async\n findNextcloudTool\n \n \n Protected\n Static\n generateGroupFolderName\n \n \n Protected\n Static\n generateGroupId\n \n \n Async\n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, client: NextcloudClient, pseudonymService: PseudonymService, ltiToolRepo: LtiToolRepo, externalToolService: ExternalToolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n client\n \n \n NextcloudClient\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTeam\n \n \n \n \n \n \n \n createTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:75\n \n \n\n\n \n \n Creates a team in nextcloud.\nThis includes the creation of the related group, its groupfolder and the adding of the teamUsers (the creator).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteTeam\n \n \n \n \n \n \n \n deleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:59\n \n \n\n\n \n \n Deletes a whole team in nextcloud.\nThis includes the related group in nextcloud and the groupfolder of the group.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findLegacyLtiTool\n \n \n \n \n \n \n \n findLegacyLtiTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:172\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNextcloudTool\n \n \n \n \n \n \n \n findNextcloudTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:158\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupFolderName\n \n \n \n \n \n \n \n generateGroupFolderName(teamId: string, teamName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:192\n \n \n\n\n \n \n Generates the groupfolder name by concatenating the teamId and teamName.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the team\n\n \n \n \n teamName\n \n string\n \n\n \n No\n \n\n\n \n name of the team\n\n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupId\n \n \n \n \n \n \n \n generateGroupId(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:202\n \n \n\n\n \n \n Generates groupId of the nextcloud group by concatenating some TeamRolePermissionsDto properties.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeam\n \n \n \n \n \n \n \n updateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:98\n \n \n\n\n \n \n Updates a team in nextcloud.\nThis includes the teamuser and the displayname of the team.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:38\n \n \n\n\n \n \n At the moment unused.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n \n \n \n updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:129\n \n \n\n\n \n \n Updating nextcloud group to be in sync with schulcloud team members.\nTo do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\npseudonym table and distinguish between added and deleted users.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n groupId\n \n string\n \n\n \n No\n \n\n\n \n nextclouds groupId\n\n \n \n \n teamUsers\n \n TeamUserDto[]\n \n\n \n No\n \n\n\n \n all users of a TeamDto\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto, TeamUserDto } from '@modules/collaborative-storage';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamRolePermissionsDto } from '../../dto/team-role-permissions.dto';\nimport { CollaborativeStorageStrategy } from '../base.interface.strategy';\nimport { NextcloudClient } from './nextcloud.client';\n\n/**\n * Nextcloud Strategy Implementation for Collaborative Storage\n *\n * @implements {CollaborativeStorageStrategy}\n */\n@Injectable()\nexport class NextcloudStrategy implements CollaborativeStorageStrategy {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly client: NextcloudClient,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly ltiToolRepo: LtiToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly userService: UserService\n\t) {\n\t\tthis.logger.setContext(NextcloudStrategy.name);\n\t}\n\n\t/**\n\t * At the moment unused.\n\t *\n\t * @param dto\n\t */\n\tasync updateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise {\n\t\tconst groupId: string = await this.client.findGroupId(NextcloudStrategy.generateGroupId(dto));\n\t\tlet folderId: number;\n\n\t\ttry {\n\t\t\tfolderId = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.setGroupPermissions(groupId, folderId, dto.permissions);\n\t\t} catch (e) {\n\t\t\tthis.logger.log(\n\t\t\t\t`Permissions in nextcloud were not set because of missing groupId or folderId for teamId ${dto.teamId}`\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes a whole team in nextcloud.\n\t *\n\t * This includes the related group in nextcloud and the groupfolder of the group.\n\t *\n\t * @param teamId id of the schulcloud team\n\t */\n\tasync deleteTeam(teamId: string): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(teamId);\n\t\tif (groupId) {\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.deleteGroup(groupId);\n\t\t\tawait this.client.deleteGroupFolder(folderId);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a team in nextcloud.\n\t *\n\t * This includes the creation of the related group, its groupfolder and the adding of the {@link TeamUserDto teamUsers} (the creator).\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync createTeam(team: TeamDto): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tawait this.client.createGroup(groupId, team.name);\n\n\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\n\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\t\t// TODO N21-124: move the creation of group folders from the schulcloud-nextcloud-app to here, when all existing teams are migrated to the nextcloud\n\t\t// Due to the schulcloud-nextcloud-app creating the group folder, when the group is created, it only needs to be renamed here\n\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t// const folderId: number = await this.client.createGroupFolder(folderName);\n\t\t// await this.client.addAccessToGroupFolder(folderId, groupId);\n\t}\n\n\t/**\n\t * Updates a team in nextcloud.\n\t *\n\t * This includes the {@link TeamUserDto teamuser} and the displayname of the team.\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync updateTeam(team: TeamDto): Promise {\n\t\tif (!team.id) {\n\t\t\tthrow new UnprocessableEntityException('Cannot update team without id');\n\t\t}\n\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tif (team.teamUsers && team.teamUsers.length > 0) {\n\t\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\t\t}\n\n\t\tif (team.name) {\n\t\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\n\t\t\tawait this.client.renameGroup(groupId, team.name);\n\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t}\n\t}\n\n\t/**\n\t * Updating nextcloud group to be in sync with schulcloud team members.\n\t *\n\t * To do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\n\t * pseudonym table and distinguish between added and deleted users.\n\t *\n\t * @param groupId nextclouds groupId\n\t * @param teamUsers all users of a {@link TeamDto}\n\t * @protected\n\t */\n\tprotected async updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[]): Promise {\n\t\tconst groupUserIds: string[] = await this.client.getGroupUsers(groupId);\n\t\tconst nextcloudTool: ExternalTool | LtiToolDO = await this.findNextcloudTool();\n\n\t\tlet convertedTeamUserIds: string[] = await Promise.all[]>(\n\t\t\t// The Oauth authentication generates a pseudonym which will be used from external systems as identifier\n\t\t\tteamUsers.map(async (teamUser: TeamUserDto): Promise => {\n\t\t\t\tconst user: UserDO = await this.userService.findById(teamUser.userId);\n\t\t\t\tconst userId = await this.pseudonymService\n\t\t\t\t\t.findByUserAndToolOrThrow(user, nextcloudTool)\n\t\t\t\t\t.then((pseudonymDO: Pseudonym) => this.client.getNameWithPrefix(pseudonymDO.pseudonym))\n\t\t\t\t\t.catch(() => '');\n\n\t\t\t\treturn userId;\n\t\t\t})\n\t\t);\n\t\tconvertedTeamUserIds = convertedTeamUserIds.filter(Boolean);\n\n\t\tconst removeUserIds: string[] = groupUserIds.filter((userId) => !convertedTeamUserIds.includes(userId));\n\t\tthis.logger.debug(`Removing nextcloud userIds [${removeUserIds.toString()}]`);\n\t\tconst addUserIds: string[] = convertedTeamUserIds.filter((userId) => !groupUserIds.includes(userId));\n\t\tthis.logger.debug(`Adding nextcloud userIds [${addUserIds.toString()}]`);\n\n\t\treturn Promise.all([\n\t\t\tPromise.all(removeUserIds.map((nextcloudUserId) => this.client.removeUserFromGroup(nextcloudUserId, groupId))),\n\t\t\tPromise.all(addUserIds.map((nextcloudUserId) => this.client.addUserToGroup(nextcloudUserId, groupId))),\n\t\t]);\n\t}\n\n\tprivate async findNextcloudTool(): Promise {\n\t\tconst tool: ExternalTool | null = await this.externalToolService.findExternalToolByName(\n\t\t\tthis.client.oidcInternalName\n\t\t);\n\n\t\tif (!tool) {\n\t\t\tconst ltiToolPromise: Promise = this.findLegacyLtiTool();\n\n\t\t\treturn ltiToolPromise;\n\t\t}\n\n\t\treturn tool;\n\t}\n\n\tprivate async findLegacyLtiTool(): Promise {\n\t\tconst foundTools: LtiToolDO[] = await this.ltiToolRepo.findByName(this.client.oidcInternalName);\n\n\t\tif (foundTools.length > 1) {\n\t\t\tthis.logger.warn(\n\t\t\t\t`Please check the configured lti tools. There should one be one tool with the name ${this.client.oidcInternalName}. \n\t\t\t\tOtherwise teams can not be created or updated on demand.`\n\t\t\t);\n\t\t}\n\n\t\treturn foundTools[0];\n\t}\n\n\t/**\n\t * Generates the groupfolder name by concatenating the teamId and teamName.\n\t *\n\t * @param teamId id of the team\n\t * @param teamName name of the team\n\t * @protected\n\t */\n\tprotected static generateGroupFolderName(teamId: string, teamName: string): string {\n\t\treturn `${teamName} (${teamId})`;\n\t}\n\n\t/**\n\t * Generates groupId of the nextcloud group by concatenating some {@link TeamRolePermissionsDto} properties.\n\t *\n\t * @param dto\n\t * @protected\n\t */\n\tprotected static generateGroupId(dto: TeamRolePermissionsDto): string {\n\t\treturn `${dto.teamName}-${dto.teamId}-${dto.roleName}`;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NotFoundLoggableException.html":{"url":"classes/NotFoundLoggableException.html","title":"class - NotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceName: string, identifiers: Record)\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 identifiers\n \n \n Record\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: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 { 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(private readonly resourceName: string, private readonly identifiers: Record) {\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.identifiers,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuth2ToolLaunchStrategy.html":{"url":"injectables/OAuth2ToolLaunchStrategy.html","title":"injectable - OAuth2ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuth2ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/oauth2-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class OAuth2ToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\treturn null;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\treturn LaunchRequestMethod.GET;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthProcessDto.html":{"url":"classes/OAuthProcessDto.html","title":"class - OAuthProcessDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthProcessDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n jwt\n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: OAuthProcessDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n OAuthProcessDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n jwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthProcessDto {\n\tjwt?: string;\n\n\tredirect: string;\n\n\tconstructor(response: OAuthProcessDto) {\n\t\tthis.jwt = response.jwt;\n\t\tthis.redirect = response.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthRejectableBody.html":{"url":"classes/OAuthRejectableBody.html","title":"class - OAuthRejectableBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthRejectableBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class OAuthRejectableBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_debug?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Description of the error in a human readable format.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_description?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Hint to help resolve the error.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_hint?: string;\n\n\t@IsNumber()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuthService.html":{"url":"injectables/OAuthService.html","title":"injectable - OAuthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n authenticateUser\n \n \n Private\n buildTokenRequestPayload\n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n Async\n provisionUser\n \n \n Async\n requestToken\n \n \n Async\n validateToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, oauthAdapterService: OauthAdapterService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger, provisioningService: ProvisioningService, systemService: LegacySystemService, migrationCheckService: MigrationCheckService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n oauthAdapterService\n \n \n OauthAdapterService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n migrationCheckService\n \n \n MigrationCheckService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n authenticateUser\n \n \n \n \n \n \n \n authenticateUser(systemId: string, redirectUri: string, authCode?: string, errorCode?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n authCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n errorCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildTokenRequestPayload\n \n \n \n \n \n \n \n buildTokenRequestPayload(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n \n \n \n \n \n findUserAfterProvisioningOrThrow(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n \n \n \n \n \n isOauthProvisioningEnabledForSchool(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionUser\n \n \n \n \n \n \n \n provisionUser(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestToken\n \n \n \n \n \n \n \n requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateToken\n \n \n \n \n \n \n \n validateToken(idToken: string, oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { MigrationCheckService } from '@modules/user-login-migration';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { OauthConfigEntity, SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthTokenDto } from '../interface';\nimport {\n\tAuthCodeFailureLoggableException,\n\tIdTokenInvalidLoggableException,\n\tOauthConfigMissingLoggableException,\n\tUserNotFoundAfterProvisioningLoggableException,\n} from '../loggable';\nimport { TokenRequestMapper } from '../mapper/token-request.mapper';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\nimport { OauthAdapterService } from './oauth-adapter.service';\n\n@Injectable()\nexport class OAuthService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly oauthAdapterService: OauthAdapterService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly migrationCheckService: MigrationCheckService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {\n\t\tthis.logger.setContext(OAuthService.name);\n\t}\n\n\tasync authenticateUser(\n\t\tsystemId: string,\n\t\tredirectUri: string,\n\t\tauthCode?: string,\n\t\terrorCode?: string\n\t): Promise {\n\t\tif (errorCode || !authCode) {\n\t\t\tthrow new AuthCodeFailureLoggableException(errorCode);\n\t\t}\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new OauthConfigMissingLoggableException(systemId);\n\t\t}\n\t\tconst { oauthConfig } = system;\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.requestToken(authCode, oauthConfig, redirectUri);\n\n\t\tawait this.validateToken(oauthTokens.idToken, oauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tasync provisionUser(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(systemId, idToken, accessToken);\n\n\t\tconst externalUserId: string = data.externalUser.externalId;\n\t\tconst officialSchoolNumber: string | undefined = data.externalSchool?.officialSchoolNumber;\n\n\t\tlet isProvisioningEnabled = true;\n\n\t\tif (officialSchoolNumber) {\n\t\t\tisProvisioningEnabled = await this.isOauthProvisioningEnabledForSchool(officialSchoolNumber);\n\n\t\t\tconst shouldUserMigrate: boolean = await this.migrationCheckService.shouldUserMigrate(\n\t\t\t\texternalUserId,\n\t\t\t\tsystemId,\n\t\t\t\tofficialSchoolNumber\n\t\t\t);\n\n\t\t\tif (shouldUserMigrate) {\n\t\t\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\t\t\tif (!existingUser) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isProvisioningEnabled) {\n\t\t\tawait this.provisioningService.provisionData(data);\n\t\t}\n\n\t\tconst user: UserDO = await this.findUserAfterProvisioningOrThrow(externalUserId, systemId, officialSchoolNumber);\n\n\t\treturn user;\n\t}\n\n\tprivate async findUserAfterProvisioningOrThrow(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber?: string\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\t// This can happen, when OAuth2 provisioning is disabled, because the school doesn't have the feature.\n\t\t\t// OAuth2 provisioning is disabled for schools that don't have migrated, yet.\n\t\t\tthrow new UserNotFoundAfterProvisioningLoggableException(externalUserId, systemId, officialSchoolNumber);\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync isOauthProvisioningEnabledForSchool(officialSchoolNumber: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!school.features?.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t}\n\n\tasync requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string): Promise {\n\t\tconst payload: AuthenticationCodeGrantTokenRequest = this.buildTokenRequestPayload(code, oauthConfig, redirectUri);\n\n\t\tconst responseToken: OauthTokenResponse = await this.oauthAdapterService.sendAuthenticationCodeTokenRequest(\n\t\t\toauthConfig.tokenEndpoint,\n\t\t\tpayload\n\t\t);\n\n\t\tconst tokenDto: OAuthTokenDto = TokenRequestMapper.mapTokenResponseToDto(responseToken);\n\t\treturn tokenDto;\n\t}\n\n\tasync validateToken(idToken: string, oauthConfig: OauthConfigEntity): Promise {\n\t\tconst publicKey: string = await this.oauthAdapterService.getPublicKey(oauthConfig.jwksEndpoint);\n\t\tconst decodedJWT: string | JwtPayload = jwt.verify(idToken, publicKey, {\n\t\t\talgorithms: ['RS256'],\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\taudience: oauthConfig.clientId,\n\t\t});\n\n\t\tif (typeof decodedJWT === 'string') {\n\t\t\tthrow new IdTokenInvalidLoggableException();\n\t\t}\n\n\t\treturn decodedJWT;\n\t}\n\n\tprivate buildTokenRequestPayload(\n\t\tcode: string,\n\t\toauthConfig: OauthConfigEntity,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\tconst decryptedClientSecret: string = this.oAuthEncryptionService.decrypt(oauthConfig.clientSecret);\n\n\t\tconst tokenRequestPayload: AuthenticationCodeGrantTokenRequest =\n\t\t\tTokenRequestMapper.createAuthenticationCodeGrantTokenRequestPayload(\n\t\t\t\toauthConfig.clientId,\n\t\t\t\tdecryptedClientSecret,\n\t\t\t\tcode,\n\t\t\t\tredirectUri\n\t\t\t);\n\n\t\treturn tokenRequestPayload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthTokenDto.html":{"url":"classes/OAuthTokenDto.html","title":"class - OAuthTokenDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthTokenDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/interface/oauth-token.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n refreshToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OAuthTokenDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OAuthTokenDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n refreshToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthTokenDto {\n\tidToken: string;\n\n\trefreshToken: string;\n\n\taccessToken: string;\n\n\tconstructor(props: OAuthTokenDto) {\n\t\tthis.idToken = props.idToken;\n\t\tthis.refreshToken = props.refreshToken;\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2AuthorizationBodyParams.html":{"url":"classes/Oauth2AuthorizationBodyParams.html","title":"class - Oauth2AuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2AuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2AuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2MigrationParams.html":{"url":"classes/Oauth2MigrationParams.html","title":"class - Oauth2MigrationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2MigrationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2MigrationParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Oauth2Strategy.html":{"url":"injectables/Oauth2Strategy.html","title":"injectable - Oauth2Strategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Oauth2Strategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/oauth2.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'oauth2')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Strategy } from 'passport-custom';\nimport { Oauth2AuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { SchoolInMigrationLoggableException } from '../loggable';\nimport { CurrentUserMapper } from '../mapper';\n\n@Injectable()\nexport class Oauth2Strategy extends PassportStrategy(Strategy, 'oauth2') {\n\tconstructor(private readonly oauthService: OAuthService, private readonly accountService: AccountService) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: Oauth2AuthorizationBodyParams }): Promise {\n\t\tconst { systemId, redirectUri, code } = request.body;\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(systemId, redirectUri, code);\n\n\t\tconst user: UserDO | null = await this.oauthService.provisionUser(systemId, tokenDto.idToken, tokenDto.accessToken);\n\n\t\tif (!user || !user.id) {\n\t\t\tthrow new SchoolInMigrationLoggableException();\n\t\t}\n\n\t\tconst account: AccountDto | null = await this.accountService.findByUserId(user.id);\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedException('no account found');\n\t\t}\n\n\t\tconst currentUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(\n\t\t\taccount.id,\n\t\t\tuser,\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken\n\t\t);\n\n\t\treturn currentUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfig.html":{"url":"classes/Oauth2ToolConfig.html","title":"class - Oauth2ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n clientId\n \n \n Optional\n clientSecret\n \n \n Optional\n frontchannelLogoutUri\n \n \n Optional\n redirectUris\n \n \n Optional\n scope\n \n \n skipConsent\n \n \n Optional\n tokenEndpointAuthMethod\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalToolConfig } from './external-tool-config.do';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../common/enum';\n\nexport class Oauth2ToolConfig extends ExternalToolConfig {\n\tclientId: string;\n\n\tclientSecret?: string;\n\n\tskipConsent: boolean;\n\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tfrontchannelLogoutUri?: string;\n\n\tscope?: string;\n\n\tredirectUris?: string[];\n\n\tconstructor(props: Oauth2ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.clientId = props.clientId;\n\t\tthis.clientSecret = props.clientSecret;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.scope = props.scope;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigCreateParams.html":{"url":"classes/Oauth2ToolConfigCreateParams.html","title":"class - Oauth2ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientSecret!: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigEntity.html":{"url":"classes/Oauth2ToolConfigEntity.html","title":"class - Oauth2ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n skipConsent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ discriminatorValue: ToolConfigType.OAUTH2 })\nexport class Oauth2ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tskipConsent: boolean;\n\n\tconstructor(props: Oauth2ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigFactory.html":{"url":"classes/Oauth2ToolConfigFactory.html","title":"class - Oauth2ToolConfigFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withExternalData\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withExternalData\n \n \n \n \n \n \nwithExternalData(oauth2Params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigResponse.html":{"url":"classes/Oauth2ToolConfigResponse.html","title":"class - Oauth2ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n clientId\n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n Optional\n redirectUris\n \n \n \n Optional\n scope\n \n \n \n skipConsent\n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\n\nexport class Oauth2ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tclientId: string;\n\n\t@ApiProperty()\n\tskipConsent: boolean;\n\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@ApiPropertyOptional()\n\tredirectUris?: string[];\n\n\t@ApiPropertyOptional()\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tconstructor(props: Oauth2ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t\tthis.scope = props.scope;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigUpdateParams.html":{"url":"classes/Oauth2ToolConfigUpdateParams.html","title":"class - Oauth2ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tclientSecret?: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthAdapterService.html":{"url":"injectables/OauthAdapterService.html","title":"injectable - OauthAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPublicKey\n \n \n Private\n Async\n resolveTokenRequest\n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey(jwksUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwksUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n resolveTokenRequest\n \n \n \n \n \n \n \n resolveTokenRequest(observable: Observable>)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n observable\n \n Observable>\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n \n \n \n sendAuthenticationCodeTokenRequest(tokenEndpoint: string, payload: AuthenticationCodeGrantTokenRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenEndpoint\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n AuthenticationCodeGrantTokenRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Injectable } from '@nestjs/common/decorators';\nimport { AxiosResponse, isAxiosError } from 'axios';\nimport JwksRsa from 'jwks-rsa';\nimport QueryString from 'qs';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { TokenRequestLoggableException } from '../loggable';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\n\n@Injectable()\nexport class OauthAdapterService {\n\tconstructor(private readonly httpService: HttpService) {}\n\n\tasync getPublicKey(jwksUri: string): Promise {\n\t\tconst client: JwksRsa.JwksClient = JwksRsa({\n\t\t\tcache: true,\n\t\t\tjwksUri,\n\t\t});\n\t\tconst key: JwksRsa.SigningKey = await client.getSigningKey();\n\t\treturn key.getPublicKey();\n\t}\n\n\tpublic sendAuthenticationCodeTokenRequest(\n\t\ttokenEndpoint: string,\n\t\tpayload: AuthenticationCodeGrantTokenRequest\n\t): Promise {\n\t\tconst urlEncodedPayload: string = QueryString.stringify(payload);\n\t\tconst responseTokenObservable = this.httpService.post(tokenEndpoint, urlEncodedPayload, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t});\n\t\tconst responseData: Promise = this.resolveTokenRequest(responseTokenObservable);\n\t\treturn responseData;\n\t}\n\n\tprivate async resolveTokenRequest(\n\t\tobservable: Observable>\n\t): Promise {\n\t\tlet responseToken: AxiosResponse;\n\t\ttry {\n\t\t\tresponseToken = await lastValueFrom(observable);\n\t\t} catch (error: unknown) {\n\t\t\tif (isAxiosError(error)) {\n\t\t\t\tthrow new TokenRequestLoggableException(error);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn responseToken.data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthApiModule.html":{"url":"modules/OauthApiModule.html","title":"module - OauthApiModule","body":"\n \n\n\n\n\n Modules\n OauthApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthApiModule\n\n\n\ncluster_OauthApiModule_imports\n\n\n\ncluster_OauthApiModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nOauthApiModule -->\n\nLoggerModule->OauthApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nOauthApiModule -->\n\nOauthModule->OauthApiModule\n\n\n\n\n\nHydraOauthUc\n\nHydraOauthUc\n\nOauthApiModule -->\n\nHydraOauthUc->OauthApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraOauthUc\n \n \n \n \n Controllers\n \n \n OauthSSOController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n OauthModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthSSOController } from './controller/oauth-sso.controller';\nimport { OauthModule } from './oauth.module';\nimport { HydraOauthUc } from './uc';\n\n@Module({\n\timports: [OauthModule, LoggerModule],\n\tcontrollers: [OauthSSOController],\n\tproviders: [HydraOauthUc],\n})\nexport class OauthApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthClientBody.html":{"url":"classes/OauthClientBody.html","title":"class - OauthClientBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthClientBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client name.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client secret.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Thr frontchannel logout uri.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The grant types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The response types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n \n Type : SubjectTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SubjectTypeEnum)@IsOptional()@ApiProperty({description: 'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n \n \n Type : TokenAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenAuthMethod)@IsOptional()@ApiProperty({description: 'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SubjectTypeEnum } from '@modules/oauth-provider/interface/subject-type.enum';\nimport { TokenAuthMethod } from '@modules/oauth-provider/interface/token-auth-method.enum';\n\nexport class OauthClientBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tclient_id?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client name.', required: false, nullable: false })\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client secret.', required: false, nullable: false })\n\tclient_secret?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false })\n\tredirect_uris?: string[];\n\n\t@IsEnum(TokenAuthMethod)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoken_endpoint_auth_method?: TokenAuthMethod;\n\n\t@IsEnum(SubjectTypeEnum)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tsubject_type?: SubjectTypeEnum;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tscope?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Thr frontchannel logout uri.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tfrontchannel_logout_uri?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The grant types of the Oauth2 client.', required: false, nullable: false })\n\tgrant_types?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The response types of the Oauth2 client.', required: false, nullable: false })\n\tresponse_types?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfig.html":{"url":"classes/OauthConfig.html","title":"class - OauthConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/oauth-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfig {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfig) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigDto.html":{"url":"classes/OauthConfigDto.html","title":"class - OauthConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oauth-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfigDto {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfigDto) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigEntity.html":{"url":"classes/OauthConfigEntity.html","title":"class - OauthConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfig: OauthConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n \n OauthConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:55\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:37\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:40\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:49\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:43\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:70\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:73\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:67\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:64\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:46\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:58\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:61\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:52\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigMissingLoggableException.html":{"url":"classes/OauthConfigMissingLoggableException.html","title":"class - OauthConfigMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemId: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class OauthConfigMissingLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly systemId: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_INTERNAL_ERROR',\n\t\t\tmessage: 'Requested system has no oauth configured',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigResponse.html":{"url":"classes/OauthConfigResponse.html","title":"class - OauthConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/oauth-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigResponse: literal type)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigResponse\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Auth endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Client id', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Grant type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Hint for idp redirects (optional)', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Issuer', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Jwks endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Logout endpoint', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Provider', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Redirect uri', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Response type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Scope', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Token endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class OauthConfigResponse {\n\t@ApiProperty({\n\t\tdescription: 'Client id',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tclientId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Hint for idp redirects (optional)',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tidpHint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Redirect uri',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tredirectUri: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Grant type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tgrantType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Token endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttokenEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Auth endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tauthEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Response type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tresponseType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Scope',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tscope: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Provider',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tprovider: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Logout endpoint',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tlogoutEndpoint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Issuer',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tissuer: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Jwks endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigResponse: {\n\t\tredirectUri: string;\n\t\tidpHint?: string;\n\t\ttokenEndpoint: string;\n\t\tresponseType: string;\n\t\tclientId: string;\n\t\tprovider: string;\n\t\tjwksEndpoint: string;\n\t\tauthEndpoint: string;\n\t\tscope: string;\n\t\tlogoutEndpoint?: string;\n\t\tgrantType: string;\n\t\tissuer: string;\n\t}) {\n\t\tthis.clientId = oauthConfigResponse.clientId;\n\t\tthis.idpHint = oauthConfigResponse.idpHint;\n\t\tthis.redirectUri = oauthConfigResponse.redirectUri;\n\t\tthis.grantType = oauthConfigResponse.grantType;\n\t\tthis.tokenEndpoint = oauthConfigResponse.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigResponse.authEndpoint;\n\t\tthis.responseType = oauthConfigResponse.responseType;\n\t\tthis.scope = oauthConfigResponse.scope;\n\t\tthis.provider = oauthConfigResponse.provider;\n\t\tthis.logoutEndpoint = oauthConfigResponse.logoutEndpoint;\n\t\tthis.issuer = oauthConfigResponse.issuer;\n\t\tthis.jwksEndpoint = oauthConfigResponse.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthCurrentUser.html":{"url":"interfaces/OauthCurrentUser.html","title":"interface - OauthCurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthCurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/oauth-current-user.ts\n \n\n\n\n \n Extends\n \n \n ICurrentUser\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalIdToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalIdToken\n \n \n \n \n \n \n \n \n externalIdToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout\n\n \n \n \n \n \n \n\n\n \n import { ICurrentUser } from './user';\n\nexport interface OauthCurrentUser extends ICurrentUser {\n\t/** Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout */\n\texternalIdToken?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataDto.html":{"url":"classes/OauthDataDto.html","title":"class - OauthDataDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalGroups\n \n \n Optional\n externalSchool\n \n \n externalUser\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalGroups\n \n \n \n \n \n \n Type : ExternalGroupDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalSchool\n \n \n \n \n \n \n Type : ExternalSchoolDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n externalUser\n \n \n \n \n \n \n Type : ExternalUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalUserDto } from './external-user.dto';\nimport { ExternalSchoolDto } from './external-school.dto';\nimport { ProvisioningSystemDto } from './provisioning-system.dto';\nimport { ExternalGroupDto } from './external-group.dto';\n\nexport class OauthDataDto {\n\tsystem: ProvisioningSystemDto;\n\n\texternalUser: ExternalUserDto;\n\n\texternalSchool?: ExternalSchoolDto;\n\n\texternalGroups?: ExternalGroupDto[];\n\n\tconstructor(props: OauthDataDto) {\n\t\tthis.system = props.system;\n\t\tthis.externalUser = props.externalUser;\n\t\tthis.externalSchool = props.externalSchool;\n\t\tthis.externalGroups = props.externalGroups;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataStrategyInputDto.html":{"url":"classes/OauthDataStrategyInputDto.html","title":"class - OauthDataStrategyInputDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataStrategyInputDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataStrategyInputDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataStrategyInputDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ProvisioningSystemDto } from './provisioning-system.dto';\n\nexport class OauthDataStrategyInputDto {\n\taccessToken: string;\n\n\tidToken: string;\n\n\tsystem: ProvisioningSystemDto;\n\n\tconstructor(props: OauthDataStrategyInputDto) {\n\t\tthis.accessToken = props.accessToken;\n\t\tthis.idToken = props.idToken;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthLoginResponse.html":{"url":"classes/OauthLoginResponse.html","title":"class - OauthLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts\n \n\n\n\n \n Extends\n \n \n LoginResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthLoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthLoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The external id token which is from the external oauth system and set when scope openid is available.'})\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from LoginResponse\n\n \n \n \n \n Defined in LoginResponse:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { LoginResponse } from './login.response';\n\nexport class OauthLoginResponse extends LoginResponse {\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The external id token which is from the external oauth system and set when scope openid is available.',\n\t})\n\texternalIdToken?: string;\n\n\tconstructor(props: OauthLoginResponse) {\n\t\tsuper(props);\n\t\tthis.externalIdToken = props.externalIdToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthModule.html":{"url":"modules/OauthModule.html","title":"module - OauthModule","body":"\n \n\n\n\n\n Modules\n OauthModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthModule\n\n\n\ncluster_OauthModule_imports\n\n\n\ncluster_OauthModule_exports\n\n\n\ncluster_OauthModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthModule\n\nOauthModule\n\nOauthModule -->\n\nAuthorizationModule->OauthModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nOauthModule -->\n\nCacheWrapperModule->OauthModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nOauthModule -->\n\nEncryptionModule->OauthModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nOauthModule -->\n\nLegacySchoolModule->OauthModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthModule -->\n\nLoggerModule->OauthModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nOauthModule -->\n\nProvisioningModule->OauthModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nOauthModule -->\n\nSystemModule->OauthModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nOauthModule -->\n\nUserLoginMigrationModule->OauthModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthModule -->\n\nUserModule->OauthModule\n\n\n\n\n\nHydraSsoService \n\nHydraSsoService \n\nHydraSsoService -->\n\nOauthModule->HydraSsoService \n\n\n\n\n\nOAuthService \n\nOAuthService \n\nOAuthService -->\n\nOauthModule->OAuthService \n\n\n\n\n\nHydraSsoService\n\nHydraSsoService\n\nOauthModule -->\n\nHydraSsoService->OauthModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nOauthModule -->\n\nLtiToolRepo->OauthModule\n\n\n\n\n\nOAuthService\n\nOAuthService\n\nOauthModule -->\n\nOAuthService->OauthModule\n\n\n\n\n\nOauthAdapterService\n\nOauthAdapterService\n\nOauthModule -->\n\nOauthAdapterService->OauthModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraSsoService\n \n \n LtiToolRepo\n \n \n OAuthService\n \n \n OauthAdapterService\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CacheWrapperModule\n \n \n EncryptionModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ProvisioningModule\n \n \n SystemModule\n \n \n UserLoginMigrationModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n HydraSsoService\n \n \n OAuthService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { EncryptionModule } from '@infra/encryption';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { HydraSsoService } from './service/hydra.service';\nimport { OauthAdapterService } from './service/oauth-adapter.service';\nimport { OAuthService } from './service/oauth.service';\n\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tHttpModule,\n\t\tEncryptionModule,\n\t\tUserModule,\n\t\tProvisioningModule,\n\t\tSystemModule,\n\t\tCacheWrapperModule,\n\t\tUserLoginMigrationModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [OAuthService, OauthAdapterService, HydraSsoService, LtiToolRepo],\n\texports: [OAuthService, HydraSsoService],\n})\nexport class OauthModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderApiModule.html":{"url":"modules/OauthProviderApiModule.html","title":"module - OauthProviderApiModule","body":"\n \n\n\n\n\n Modules\n OauthProviderApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderApiModule\n\n\n\ncluster_OauthProviderApiModule_providers\n\n\n\ncluster_OauthProviderApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nOauthProviderApiModule -->\n\nAuthorizationModule->OauthProviderApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthProviderApiModule -->\n\nLoggerModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderApiModule -->\n\nOauthProviderModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderApiModule -->\n\nOauthProviderServiceModule->OauthProviderApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderApiModule -->\n\nPseudonymModule->OauthProviderApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderApiModule -->\n\nUserModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderClientCrudUc\n\nOauthProviderClientCrudUc\n\nOauthProviderApiModule -->\n\nOauthProviderClientCrudUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderConsentFlowUc\n\nOauthProviderConsentFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderConsentFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLoginFlowUc\n\nOauthProviderLoginFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLoginFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLogoutFlowUc\n\nOauthProviderLogoutFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLogoutFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderResponseMapper\n\nOauthProviderResponseMapper\n\nOauthProviderApiModule -->\n\nOauthProviderResponseMapper->OauthProviderApiModule\n\n\n\n\n\nOauthProviderUc\n\nOauthProviderUc\n\nOauthProviderApiModule -->\n\nOauthProviderUc->OauthProviderApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n OauthProviderClientCrudUc\n \n \n OauthProviderConsentFlowUc\n \n \n OauthProviderLoginFlowUc\n \n \n OauthProviderLogoutFlowUc\n \n \n OauthProviderResponseMapper\n \n \n OauthProviderUc\n \n \n \n \n Controllers\n \n \n OauthProviderController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n OauthProviderModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { OauthProviderController } from './controller/oauth-provider.controller';\nimport { OauthProviderResponseMapper } from './mapper/oauth-provider-response.mapper';\nimport { OauthProviderModule } from './oauth-provider.module';\nimport {\n\tOauthProviderClientCrudUc,\n\tOauthProviderConsentFlowUc,\n\tOauthProviderLoginFlowUc,\n\tOauthProviderLogoutFlowUc,\n\tOauthProviderUc,\n} from './uc';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tOauthProviderModule,\n\t\tPseudonymModule,\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tUserModule,\n\t],\n\tproviders: [\n\t\tOauthProviderUc,\n\t\tOauthProviderClientCrudUc,\n\t\tOauthProviderConsentFlowUc,\n\t\tOauthProviderLogoutFlowUc,\n\t\tOauthProviderLoginFlowUc,\n\t\tOauthProviderResponseMapper,\n\t],\n\tcontrollers: [OauthProviderController],\n})\nexport class OauthProviderApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderClientCrudUc.html":{"url":"injectables/OauthProviderClientCrudUc.html","title":"injectable - OauthProviderClientCrudUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderClientCrudUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n Async\n deleteOAuth2Client\n \n \n Async\n getOAuth2Client\n \n \n Async\n listOAuth2Clients\n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n \n \n Type : ProviderOauthClient\n\n \n \n \n \n Default value : {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t}\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { OauthProviderService } from '@infra/oauth-provider/index';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\n\n@Injectable()\nexport class OauthProviderClientCrudUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tprivate readonly defaultOauthClientBody: ProviderOauthClient = {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t};\n\n\tasync listOAuth2Clients(\n\t\tcurrentUser: ICurrentUser,\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient[] = await this.oauthProviderService.listOAuth2Clients(\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tclient_name,\n\t\t\towner\n\t\t);\n\t\treturn client;\n\t}\n\n\tasync getOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(id);\n\n\t\treturn client;\n\t}\n\n\tasync createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.createOAuth2Client(dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync updateOAuth2Client(\n\t\tcurrentUser: ICurrentUser,\n\t\tid: string,\n\t\tdata: ProviderOauthClient\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.updateOAuth2Client(id, dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync deleteOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\treturn this.oauthProviderService.deleteOAuth2Client(id);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderConsentFlowUc.html":{"url":"injectables/OauthProviderConsentFlowUc.html","title":"injectable - OauthProviderConsentFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderConsentFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n Async\n getConsentRequest\n \n \n Async\n patchConsentRequest\n \n \n Private\n rejectConsentRequest\n \n \n Private\n validateSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, idTokenService: IdTokenService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n idTokenService\n \n \n IdTokenService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody, userId: string, requested_scope: string[] | undefined, client_id: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n requested_scope\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n client_id\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(challenge: string, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateSubject\n \n \n \n \n \n \n \n validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n response\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport {\n\tAcceptConsentRequestBody,\n\tProviderConsentResponse,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from '@infra/oauth-provider/dto';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AcceptQuery, ConsentRequestBody } from '@modules/oauth-provider/controller/dto';\nimport { IdToken } from '@modules/oauth-provider/interface/id-token';\nimport { IdTokenService } from '@modules/oauth-provider/service/id-token.service';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class OauthProviderConsentFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly idTokenService: IdTokenService\n\t) {}\n\n\tasync getConsentRequest(challenge: string): Promise {\n\t\tconst consentResponse: ProviderConsentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\treturn consentResponse;\n\t}\n\n\tasync patchConsentRequest(\n\t\tchallenge: string,\n\t\tquery: AcceptQuery,\n\t\tbody: ConsentRequestBody,\n\t\tcurrentUser: ICurrentUser\n\t): Promise {\n\t\tconst consentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\tthis.validateSubject(currentUser, consentResponse);\n\n\t\tlet response: Promise;\n\t\tif (query.accept) {\n\t\t\tresponse = this.acceptConsentRequest(\n\t\t\t\tchallenge,\n\t\t\t\tbody,\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tconsentResponse.requested_scope,\n\t\t\t\tconsentResponse.client?.client_id\n\t\t\t);\n\t\t} else {\n\t\t\tresponse = this.rejectConsentRequest(challenge, body);\n\t\t}\n\t\treturn response;\n\t}\n\n\tprivate rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptConsentRequest(\n\t\tchallenge: string,\n\t\tbody: AcceptConsentRequestBody,\n\t\tuserId: string,\n\t\trequested_scope: string[] | undefined,\n\t\tclient_id: string | undefined\n\t): Promise {\n\t\tconst idToken: IdToken = await this.idTokenService.createIdToken(userId, requested_scope || [], client_id || '');\n\t\tif (idToken) {\n\t\t\tbody.session = {\n\t\t\t\tid_token: idToken,\n\t\t\t};\n\t\t}\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse): void {\n\t\tif (response.subject !== currentUser.userId) {\n\t\t\tthrow new ForbiddenException(\"You want to patch another user's consent\");\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthProviderController.html":{"url":"controllers/OauthProviderController.html","title":"controller - OauthProviderController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthProviderController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts\n \n\n \n Prefix\n \n \n oauth2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n deleteOAuth2Client\n \n \n \n \n Async\n getConsentRequest\n \n \n \n Async\n getLoginRequest\n \n \n \n \n Async\n getOAuth2Client\n \n \n \n getUrl\n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n revokeConsentSession\n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('logoutRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Post('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Get('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUrl\n \n \n \n \n \n \n \n getUrl()\n \n \n\n \n \n Decorators : \n \n @Get('baseUrl')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, params: ListOauthClientsParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ListOauthClientsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(params: ChallengeParams, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(params: ChallengeParams, query: AcceptQuery, body: LoginRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(currentUser: ICurrentUser, params: RevokeConsentParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n RevokeConsentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, params: IdParams, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Put('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common';\n// import should be @infra/oauth-provider\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport { ApiTags } from '@nestjs/swagger';\nimport { OauthProviderResponseMapper } from '../mapper/oauth-provider-response.mapper';\nimport { OauthProviderClientCrudUc } from '../uc/oauth-provider.client-crud.uc';\nimport { OauthProviderConsentFlowUc } from '../uc/oauth-provider.consent-flow.uc';\nimport { OauthProviderLoginFlowUc } from '../uc/oauth-provider.login-flow.uc';\nimport { OauthProviderLogoutFlowUc } from '../uc/oauth-provider.logout-flow.uc';\nimport { OauthProviderUc } from '../uc/oauth-provider.uc';\nimport {\n\tAcceptQuery,\n\tChallengeParams,\n\tConsentRequestBody,\n\tConsentSessionResponse,\n\tIdParams,\n\tListOauthClientsParams,\n\tLoginRequestBody,\n\tLoginResponse,\n\tOauthClientBody,\n\tOauthClientResponse,\n\tRevokeConsentParams,\n} from './dto';\nimport { ConsentResponse } from './dto/response/consent.response';\nimport { RedirectResponse } from './dto/response/redirect.response';\n\n@Controller('oauth2')\n@ApiTags('Oauth2')\nexport class OauthProviderController {\n\tconstructor(\n\t\tprivate readonly consentFlowUc: OauthProviderConsentFlowUc,\n\t\tprivate readonly logoutFlowUc: OauthProviderLogoutFlowUc,\n\t\tprivate readonly crudUc: OauthProviderClientCrudUc,\n\t\tprivate readonly oauthProviderUc: OauthProviderUc,\n\t\tprivate readonly oauthProviderLoginFlowUc: OauthProviderLoginFlowUc,\n\t\tprivate readonly oauthProviderResponseMapper: OauthProviderResponseMapper\n\t) {}\n\n\t@Authenticate('jwt')\n\t@Get('clients/:id')\n\tasync getOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.getOAuth2Client(currentUser, params.id);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('clients')\n\tasync listOAuth2Clients(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ListOauthClientsParams\n\t): Promise {\n\t\tconst clients: ProviderOauthClient[] = await this.crudUc.listOAuth2Clients(\n\t\t\tcurrentUser,\n\t\t\tparams.limit,\n\t\t\tparams.offset,\n\t\t\tparams.client_name,\n\t\t\tparams.owner\n\t\t);\n\t\tconst mapped: OauthClientResponse[] = clients.map(\n\t\t\t(client: ProviderOauthClient): OauthClientResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapOauthClientResponse(client)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Post('clients')\n\tasync createOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.createOAuth2Client(currentUser, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Put('clients/:id')\n\tasync updateOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.updateOAuth2Client(currentUser, params.id, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('clients/:id')\n\tdeleteOAuth2Client(@CurrentUser() currentUser: ICurrentUser, @Param() params: IdParams): Promise {\n\t\tconst promise: Promise = this.crudUc.deleteOAuth2Client(currentUser, params.id);\n\t\treturn promise;\n\t}\n\n\t@Get('loginRequest/:challenge')\n\tasync getLoginRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderLoginFlowUc.getLoginRequest(params.challenge);\n\t\tconst mapped: LoginResponse = this.oauthProviderResponseMapper.mapLoginResponse(loginResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('loginRequest/:challenge')\n\tasync patchLoginRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: LoginRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderLoginFlowUc.patchLoginRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.challenge,\n\t\t\tbody,\n\t\t\tquery\n\t\t);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('logoutRequest/:challenge')\n\tasync acceptLogoutRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst redirect: ProviderRedirectResponse = await this.logoutFlowUc.logoutFlow(params.challenge);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirect);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('consentRequest/:challenge')\n\tasync getConsentRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst consentRequest: ProviderConsentResponse = await this.consentFlowUc.getConsentRequest(params.challenge);\n\t\tconst mapped: ConsentResponse = this.oauthProviderResponseMapper.mapConsentResponse(consentRequest);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('consentRequest/:challenge')\n\tasync patchConsentRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: ConsentRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.consentFlowUc.patchConsentRequest(\n\t\t\tparams.challenge,\n\t\t\tquery,\n\t\t\tbody,\n\t\t\tcurrentUser\n\t\t);\n\t\tconst response: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn response;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('auth/sessions/consent')\n\tasync listConsentSessions(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst sessions: ProviderConsentSessionResponse[] = await this.oauthProviderUc.listConsentSessions(\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst mapped: ConsentSessionResponse[] = sessions.map(\n\t\t\t(session: ProviderConsentSessionResponse): ConsentSessionResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapConsentSessionsToResponse(session)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('auth/sessions/consent')\n\trevokeConsentSession(@CurrentUser() currentUser: ICurrentUser, @Param() params: RevokeConsentParams): Promise {\n\t\tconst promise: Promise = this.oauthProviderUc.revokeConsentSession(currentUser.userId, params.client);\n\t\treturn promise;\n\t}\n\n\t@Get('baseUrl')\n\tgetUrl(): Promise {\n\t\treturn Promise.resolve(Configuration.get('HYDRA_URI') as string);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowService.html":{"url":"injectables/OauthProviderLoginFlowService.html","title":"injectable - OauthProviderLoginFlowService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n Public\n isNextcloudTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolService: LtiToolService, externalToolService: ExternalToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolService\n \n \n LtiToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n \n \n \n \n \n findToolByClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isNextcloudTool\n \n \n \n \n \n \n \n isNextcloudTool(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LtiToolService } from '@modules/lti-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '@modules/tool/tool-config';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\n\n@Injectable()\nexport class OauthProviderLoginFlowService {\n\tconstructor(\n\t\tprivate readonly ltiToolService: LtiToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tpublic async findToolByClientId(clientId: string): Promise {\n\t\tif (this.toolFeatures.ctlToolsTabEnabled) {\n\t\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\t\tclientId\n\t\t\t);\n\n\t\t\tif (externalTool) {\n\t\t\t\treturn externalTool;\n\t\t\t}\n\t\t}\n\n\t\tconst ltiTool: LtiToolDO | null = await this.ltiToolService.findByClientIdAndIsLocal(clientId, true);\n\n\t\tif (ltiTool) {\n\t\t\treturn ltiTool;\n\t\t}\n\n\t\tthrow new NotFoundException(`Unable to find ExternalTool or LtiTool for clientId: ${clientId}`);\n\t}\n\n\t// TODO N21-91. Magic Strings are not desireable\n\tpublic isNextcloudTool(tool: ExternalTool | LtiToolDO): boolean {\n\t\tconst isNextcloud: boolean = tool.name === 'SchulcloudNextcloud';\n\n\t\treturn isNextcloud;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowUc.html":{"url":"injectables/OauthProviderLoginFlowUc.html","title":"injectable - OauthProviderLoginFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n Async\n getLoginRequest\n \n \n Async\n patchLoginRequest\n \n \n Private\n Async\n rejectLoginRequest\n \n \n Private\n shouldSkipConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, authorizationService: AuthorizationService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(currentUserId: string, challenge: string, loginRequestBody: LoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(currentUserId: string, challenge: string, body: LoginRequestBody, query: AcceptQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, rejectRequestBody: OAuthRejectableBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n rejectRequestBody\n \n OAuthRejectableBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n shouldSkipConsent\n \n \n \n \n \n \n \n shouldSkipConsent(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { AcceptLoginRequestBody, ProviderLoginResponse, ProviderRedirectResponse } from '@infra/oauth-provider/dto';\nimport { AuthorizationService } from '@modules/authorization';\nimport { AcceptQuery, LoginRequestBody, OAuthRejectableBody } from '@modules/oauth-provider/controller/dto';\nimport { OauthProviderRequestMapper } from '@modules/oauth-provider/mapper/oauth-provider-request.mapper';\nimport { PseudonymService } from '@modules/pseudonym/service';\nimport { ExternalTool, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { OauthProviderLoginFlowService } from '../service/oauth-provider.login-flow.service';\n\n@Injectable()\nexport class OauthProviderLoginFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync getLoginRequest(challenge: string): Promise {\n\t\tconst loginResponse: Promise = this.oauthProviderService.getLoginRequest(challenge);\n\t\treturn loginResponse;\n\t}\n\n\tasync patchLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tbody: LoginRequestBody,\n\t\tquery: AcceptQuery\n\t): Promise {\n\t\tlet redirectResponse: ProviderRedirectResponse;\n\t\tif (query.accept) {\n\t\t\tredirectResponse = await this.acceptLoginRequest(currentUserId, challenge, body);\n\t\t} else {\n\t\t\tredirectResponse = await this.rejectLoginRequest(challenge, body);\n\t\t}\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tloginRequestBody: LoginRequestBody\n\t): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderService.getLoginRequest(challenge);\n\n\t\tif (!loginResponse.client.client_id) {\n\t\t\tthrow new InternalServerErrorException(`Cannot find oAuthClientId in login response for challenge: ${challenge}`);\n\t\t}\n\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(\n\t\t\tloginResponse.client.client_id\n\t\t);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new InternalServerErrorException('Tool has no id');\n\t\t}\n\n\t\tif (this.oauthProviderLoginFlowService.isNextcloudTool(tool)) {\n\t\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUserId);\n\t\t\tthis.authorizationService.checkAllPermissions(user, [Permission.NEXTCLOUD_USER]);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findOrCreatePseudonym(user, tool);\n\n\t\tconst skipConsent: boolean = this.shouldSkipConsent(tool);\n\n\t\tconst acceptLoginRequestBody: AcceptLoginRequestBody = OauthProviderRequestMapper.mapCreateAcceptLoginRequestBody(\n\t\t\tloginRequestBody,\n\t\t\tcurrentUserId,\n\t\t\tpseudonym.pseudonym,\n\t\t\t{\n\t\t\t\tskipConsent,\n\t\t\t}\n\t\t);\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptLoginRequest(\n\t\t\tloginResponse.challenge,\n\t\t\tacceptLoginRequestBody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate shouldSkipConsent(tool: ExternalTool | LtiToolDO): boolean {\n\t\tif (tool instanceof LtiToolDO) {\n\t\t\treturn !!tool.skipConsent;\n\t\t}\n\t\tif (tool.config instanceof Oauth2ToolConfig) {\n\t\t\treturn tool.config.skipConsent;\n\t\t}\n\t\tthrow new UnprocessableEntityException(\n\t\t\t`Cannot use Tool ${tool.name} for OAuth2 login, since it is not a LtiTool or OAuth2-ExternalTool`\n\t\t);\n\t}\n\n\tprivate async rejectLoginRequest(\n\t\tchallenge: string,\n\t\trejectRequestBody: OAuthRejectableBody\n\t): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectLoginRequest(\n\t\t\tchallenge,\n\t\t\trejectRequestBody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLogoutFlowUc.html":{"url":"injectables/OauthProviderLogoutFlowUc.html","title":"injectable - OauthProviderLogoutFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLogoutFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n logoutFlow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n logoutFlow\n \n \n \n \n \n \nlogoutFlow(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderRedirectResponse } from '@infra/oauth-provider/dto';\n\n@Injectable()\nexport class OauthProviderLogoutFlowUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlogoutFlow(challenge: string): Promise {\n\t\tconst logoutResponse: Promise = this.oauthProviderService.acceptLogoutRequest(challenge);\n\t\treturn logoutResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderModule.html":{"url":"modules/OauthProviderModule.html","title":"module - OauthProviderModule","body":"\n \n\n\n\n\n Modules\n OauthProviderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderModule\n\n\n\ncluster_OauthProviderModule_providers\n\n\n\ncluster_OauthProviderModule_imports\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 { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderConsentSessionResponse } from '@infra/oauth-provider/dto/';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class OauthProviderUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlistConsentSessions(userId: EntityId): Promise {\n\t\tconst sessions: Promise = this.oauthProviderService.listConsentSessions(userId);\n\t\treturn sessions;\n\t}\n\n\trevokeConsentSession(userId: EntityId, clientId: string): Promise {\n\t\tconst promise: Promise = this.oauthProviderService.revokeConsentSession(userId, clientId);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthSSOController.html":{"url":"controllers/OauthSSOController.html","title":"controller - OauthSSOController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthSSOController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/oauth-sso.controller.ts\n \n\n \n Prefix\n \n \n sso\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n \n \n \n getHydraOauthToken(query: StatelessAuthorizationParams, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('hydra/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n StatelessAuthorizationParams\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n \n \n \n requestAuthToken(currentUser: ICurrentUser, req: Request, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('auth/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query, Req, UnauthorizedException } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Request } from 'express';\nimport { OAuthTokenDto } from '../interface';\nimport { HydraOauthUc } from '../uc';\nimport { AuthorizationParams } from './dto';\nimport { StatelessAuthorizationParams } from './dto/stateless-authorization.params';\n\n@ApiTags('SSO')\n@Controller('sso')\nexport class OauthSSOController {\n\tconstructor(private readonly hydraUc: HydraOauthUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(OauthSSOController.name);\n\t}\n\n\t@Get('hydra/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync getHydraOauthToken(\n\t\t@Query() query: StatelessAuthorizationParams,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tconst oauthToken = this.hydraUc.getOauthToken(oauthClientId, query.code, query.error);\n\t\treturn oauthToken;\n\t}\n\n\t@Get('auth/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync requestAuthToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Req() req: Request,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tlet jwt: string;\n\t\tconst authHeader: string | undefined = req.headers.authorization;\n\t\tif (authHeader?.toLowerCase()?.startsWith('bearer ')) {\n\t\t\t[, jwt] = authHeader.split(' ');\n\t\t} else {\n\t\t\tthrow new UnauthorizedException(\n\t\t\t\t`No bearer token in header for authorization process of user ${currentUser.userId} on oauth system ${oauthClientId}`\n\t\t\t);\n\t\t}\n\t\treturn this.hydraUc.requestAuthCode(jwt, oauthClientId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthSsoErrorLoggableException.html":{"url":"classes/OauthSsoErrorLoggableException.html","title":"class - OauthSsoErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthSsoErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts:5\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class OauthSsoErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_LOGIN_FAILED',\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthTokenResponse.html":{"url":"interfaces/OauthTokenResponse.html","title":"interface - OauthTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-token.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n access_token\n \n \n \n \n id_token\n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n access_token\n \n \n \n \n \n \n \n \n access_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id_token\n \n \n \n \n \n \n \n \n id_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n refresh_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface OauthTokenResponse {\n\taccess_token: string;\n\n\trefresh_token: string;\n\n\tid_token: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ObjectKeysRecursive.html":{"url":"interfaces/ObjectKeysRecursive.html","title":"interface - ObjectKeysRecursive","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ObjectKeysRecursive\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n files\n \n \n \n \n maxKeys\n \n \n \n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number | undefined\n\n \n \n\n\n \n \n Type : number | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string | undefined\n\n \n \n\n\n \n \n Type : string | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OcsResponse.html":{"url":"interfaces/OcsResponse.html","title":"interface - OcsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OcsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n ocs: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigDto.html":{"url":"classes/OidcConfigDto.html","title":"class - OidcConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oidc-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorizationUrl\n \n \n clientId\n \n \n clientSecret\n \n \n defaultScopes\n \n \n idpHint\n \n \n logoutUrl\n \n \n parentSystemId\n \n \n tokenUrl\n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfigDto: OidcConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfigDto\n \n \n OidcConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n defaultScopes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parentSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n tokenUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n userinfoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OidcConfigDto {\n\tconstructor(oidcConfigDto: OidcConfigDto) {\n\t\tthis.parentSystemId = oidcConfigDto.parentSystemId;\n\t\tthis.clientId = oidcConfigDto.clientId;\n\t\tthis.clientSecret = oidcConfigDto.clientSecret;\n\t\tthis.idpHint = oidcConfigDto.idpHint;\n\t\tthis.authorizationUrl = oidcConfigDto.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfigDto.tokenUrl;\n\t\tthis.userinfoUrl = oidcConfigDto.userinfoUrl;\n\t\tthis.logoutUrl = oidcConfigDto.logoutUrl;\n\t\tthis.defaultScopes = oidcConfigDto.defaultScopes;\n\t}\n\n\tparentSystemId: string;\n\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint: string;\n\n\tauthorizationUrl: string;\n\n\ttokenUrl: string;\n\n\tlogoutUrl: string;\n\n\tuserinfoUrl: string;\n\n\tdefaultScopes: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigEntity.html":{"url":"classes/OidcConfigEntity.html","title":"class - OidcConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n defaultScopes\n \n \n \n idpHint\n \n \n \n logoutUrl\n \n \n \n tokenUrl\n \n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfig: OidcConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:154\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n \n OidcConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:176\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:167\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:170\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:188\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:173\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:182\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:179\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:185\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcContextResponse.html":{"url":"classes/OidcContextResponse.html","title":"class - OidcContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n Optional\n display\n \n \n \n Optional\n id_token_hint_claims\n \n \n \n Optional\n login_hint\n \n \n \n \n Optional\n ui_locales\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n display\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id_token_hint_claims\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n login_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ui_locales\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Optional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { Optional } from '@nestjs/common';\n\nexport class OidcContextResponse {\n\t@ApiProperty()\n\tacr_values?: string[];\n\n\t@ApiProperty()\n\tdisplay?: string;\n\n\t@ApiProperty()\n\tid_token_hint_claims?: object;\n\n\t@ApiProperty()\n\tlogin_hint?: string;\n\n\t@Optional()\n\t@ApiProperty()\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcIdentityProviderMapper.html":{"url":"classes/OidcIdentityProviderMapper.html","title":"class - OidcIdentityProviderMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcIdentityProviderMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n defaultEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n \n \n \n mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n flowAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdentityProviderRepresentation\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { Inject } from '@nestjs/common';\n\nexport class OidcIdentityProviderMapper {\n\tconstructor(@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService) {}\n\n\tpublic mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string): IdentityProviderRepresentation {\n\t\treturn {\n\t\t\tproviderId: 'oidc',\n\t\t\talias: oidcConfig.idpHint,\n\t\t\tdisplayName: oidcConfig.idpHint,\n\t\t\tenabled: true,\n\t\t\tfirstBrokerLoginFlowAlias: flowAlias,\n\t\t\tconfig: {\n\t\t\t\tclientId: oidcConfig.clientId,\n\t\t\t\tclientSecret: this.defaultEncryptionService.decrypt(oidcConfig.clientSecret),\n\t\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\t\tuserInfoUrl: oidcConfig.userinfoUrl,\n\t\t\t\tdefaultScope: oidcConfig.defaultScopes,\n\t\t\t\tsyncMode: 'IMPORT',\n\t\t\t\tsync_mode: 'import',\n\t\t\t\tclientAuthMethod: 'client_secret_post',\n\t\t\t\tbackchannelSupported: 'true',\n\t\t\t\tprompt: 'login',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcMockProvisioningStrategy.html":{"url":"injectables/OidcMockProvisioningStrategy.html","title":"injectable - OidcMockProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcMockProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc-mock/oidc-mock.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:10\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { IdTokenExtractionFailureLoggableException } from '@modules/oauth/loggable';\nimport { ExternalUserDto, OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\n\n@Injectable()\nexport class OidcMockProvisioningStrategy extends ProvisioningStrategy {\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.OIDC;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken = jwt.decode(input.idToken, { json: true }) as (JwtPayload & { external_sub?: string }) | null;\n\t\tif (!idToken || !idToken.external_sub) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('external_sub');\n\t\t}\n\n\t\tconst externalUser: ExternalUserDto = new ExternalUserDto({\n\t\t\texternalId: idToken.external_sub,\n\t\t});\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t});\n\t\treturn Promise.resolve(oauthData);\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser.externalId }));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcProvisioningService.html":{"url":"injectables/OidcProvisioningService.html","title":"injectable - OidcProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n filterExternalGroups\n \n \n Private\n Async\n getFilteredGroupUsers\n \n \n Private\n Async\n getGroupUser\n \n \n Private\n Async\n getProvisioningOptionsOrDefault\n \n \n Private\n getSchoolName\n \n \n Public\n Async\n provisionExternalGroup\n \n \n Public\n Async\n provisionExternalSchool\n \n \n Public\n Async\n provisionExternalUser\n \n \n Public\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, schoolSystemOptionsService: SchoolSystemOptionsService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 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 schoolSystemOptionsService\n \n \n SchoolSystemOptionsService\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 filterExternalGroups\n \n \n \n \n \n \n \n filterExternalGroups(externalGroups: ExternalGroupDto[], schoolId: EntityId | undefined, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 externalGroups\n \n ExternalGroupDto[]\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 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:245\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getGroupUser\n \n \n \n \n \n \n \n getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts: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 externalGroupUser\n \n ExternalGroupUserDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getProvisioningOptionsOrDefault\n \n \n \n \n \n \n \n getProvisioningOptionsOrDefault(schoolId: string | undefined, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 schoolId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getSchoolName\n \n \n \n \n \n \n \n getSchoolName(externalSchool: ExternalSchoolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts: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 externalSchool\n \n ExternalSchoolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n provisionExternalGroup\n \n \n \n \n \n \n \n provisionExternalGroup(externalGroup: ExternalGroupDto, externalSchool: ExternalSchoolDto | undefined, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n externalSchool\n \n ExternalSchoolDto | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\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: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 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 Public\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: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 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 Public\n Async\n removeExternalGroupsAndAffiliation\n \n \n \n \n \n \n \n removeExternalGroupsAndAffiliation(externalUserId: string, externalGroups: ExternalGroupDto[], systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:279\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n externalGroups\n \n ExternalGroupDto[]\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountSaveDto, AccountService } from '@modules/account';\nimport { Group, GroupService, GroupTypes, GroupUser } from '@modules/group';\nimport {\n\tFederalStateService,\n\tLegacySchoolService,\n\tSchoolSystemOptionsService,\n\tSchoolYearService,\n\tSchulConneXProvisioningOptions,\n} from '@modules/legacy-school';\nimport { FederalStateNames } from '@modules/legacy-school/types';\nimport { RoleService } from '@modules/role';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { ExternalSource, LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { ObjectId } from 'bson';\nimport CryptoJS from 'crypto-js';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../../dto';\nimport { SchoolForGroupNotFoundLoggable, UserForGroupNotFoundLoggable } from '../../../loggable';\n\n@Injectable()\nexport class OidcProvisioningService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly groupService: GroupService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly schoolYearService: SchoolYearService,\n\t\tprivate readonly federalStateService: FederalStateService,\n\t\tprivate readonly schoolSystemOptionsService: SchoolSystemOptionsService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tpublic async provisionExternalSchool(externalSchool: ExternalSchoolDto, systemId: EntityId): Promise {\n\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\texternalSchool.externalId,\n\t\t\tsystemId\n\t\t);\n\t\tlet school: LegacySchoolDo;\n\t\tif (existingSchool) {\n\t\t\tschool = existingSchool;\n\t\t\tschool.name = this.getSchoolName(externalSchool);\n\t\t\tschool.officialSchoolNumber = externalSchool.officialSchoolNumber ?? existingSchool.officialSchoolNumber;\n\t\t\tif (!school.systems) {\n\t\t\t\tschool.systems = [systemId];\n\t\t\t} else if (!school.systems.includes(systemId)) {\n\t\t\t\tschool.systems.push(systemId);\n\t\t\t}\n\t\t} else {\n\t\t\tconst schoolYear: SchoolYearEntity = await this.schoolYearService.getCurrentSchoolYear();\n\t\t\tconst federalState: FederalStateEntity = await this.federalStateService.findFederalStateByName(\n\t\t\t\tFederalStateNames.NIEDERSACHEN\n\t\t\t);\n\n\t\t\tschool = new LegacySchoolDo({\n\t\t\t\texternalId: externalSchool.externalId,\n\t\t\t\tname: this.getSchoolName(externalSchool),\n\t\t\t\tofficialSchoolNumber: externalSchool.officialSchoolNumber,\n\t\t\t\tsystems: [systemId],\n\t\t\t\tfeatures: [SchoolFeatures.OAUTH_PROVISIONING_ENABLED],\n\t\t\t\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\t\t\t\tschoolYear,\n\t\t\t\tfederalState,\n\t\t\t});\n\t\t}\n\n\t\tconst savedSchool: LegacySchoolDo = await this.schoolService.save(school, true);\n\n\t\treturn savedSchool;\n\t}\n\n\tprivate getSchoolName(externalSchool: ExternalSchoolDto): string {\n\t\tconst schoolName: string = externalSchool.location\n\t\t\t? `${externalSchool.name} (${externalSchool.location})`\n\t\t\t: externalSchool.name;\n\n\t\treturn schoolName;\n\t}\n\n\tpublic async provisionExternalUser(\n\t\texternalUser: ExternalUserDto,\n\t\tsystemId: EntityId,\n\t\tschoolId?: string\n\t): Promise {\n\t\tlet roleRefs: RoleReference[] | undefined;\n\t\tif (externalUser.roles) {\n\t\t\tconst roles: RoleDto[] = await this.roleService.findByNames(externalUser.roles);\n\t\t\troleRefs = roles.map((role: RoleDto): RoleReference => new RoleReference({ id: role.id || '', name: role.name }));\n\t\t}\n\n\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUser.externalId, systemId);\n\t\tlet user: UserDO;\n\t\tlet createNewAccount = false;\n\t\tif (existingUser) {\n\t\t\tuser = existingUser;\n\t\t\tuser.firstName = externalUser.firstName ?? existingUser.firstName;\n\t\t\tuser.lastName = externalUser.lastName ?? existingUser.lastName;\n\t\t\tuser.email = externalUser.email ?? existingUser.email;\n\t\t\tuser.roles = roleRefs ?? existingUser.roles;\n\t\t\tuser.schoolId = schoolId ?? existingUser.schoolId;\n\t\t\tuser.birthday = externalUser.birthday ?? existingUser.birthday;\n\t\t} else {\n\t\t\tcreateNewAccount = true;\n\n\t\t\tif (!schoolId) {\n\t\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t\t`Unable to create new external user ${externalUser.externalId} without a school`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tuser = new UserDO({\n\t\t\t\texternalId: externalUser.externalId,\n\t\t\t\tfirstName: externalUser.firstName ?? '',\n\t\t\t\tlastName: externalUser.lastName ?? '',\n\t\t\t\temail: externalUser.email ?? '',\n\t\t\t\troles: roleRefs ?? [],\n\t\t\t\tschoolId,\n\t\t\t\tbirthday: externalUser.birthday,\n\t\t\t});\n\t\t}\n\n\t\tconst savedUser: UserDO = await this.userService.save(user);\n\n\t\tif (createNewAccount) {\n\t\t\tawait this.accountService.saveWithValidation(\n\t\t\t\tnew AccountSaveDto({\n\t\t\t\t\tuserId: savedUser.id,\n\t\t\t\t\tusername: CryptoJS.SHA256(savedUser.id as string).toString(CryptoJS.enc.Base64),\n\t\t\t\t\tsystemId,\n\t\t\t\t\tactivated: true,\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn savedUser;\n\t}\n\n\tpublic async filterExternalGroups(\n\t\texternalGroups: ExternalGroupDto[],\n\t\tschoolId: EntityId | undefined,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tlet filteredGroups: ExternalGroupDto[] = externalGroups;\n\n\t\tconst provisioningOptions: SchulConneXProvisioningOptions = await this.getProvisioningOptionsOrDefault(\n\t\t\tschoolId,\n\t\t\tsystemId\n\t\t);\n\n\t\tif (!provisioningOptions.groupProvisioningClassesEnabled) {\n\t\t\tfilteredGroups = filteredGroups.filter((group: ExternalGroupDto) => group.type !== GroupTypes.CLASS);\n\t\t}\n\n\t\tif (!provisioningOptions.groupProvisioningCoursesEnabled) {\n\t\t\tfilteredGroups = filteredGroups.filter((group: ExternalGroupDto) => group.type !== GroupTypes.COURSE);\n\t\t}\n\n\t\tif (!provisioningOptions.groupProvisioningOtherEnabled) {\n\t\t\tfilteredGroups = filteredGroups.filter((group: ExternalGroupDto) => group.type !== GroupTypes.OTHER);\n\t\t}\n\n\t\treturn filteredGroups;\n\t}\n\n\tprivate async getProvisioningOptionsOrDefault(\n\t\tschoolId: string | undefined,\n\t\tsystemId: string\n\t): Promise {\n\t\tlet provisioningOptions: SchulConneXProvisioningOptions;\n\n\t\tif (schoolId) {\n\t\t\tprovisioningOptions = await this.schoolSystemOptionsService.getProvisioningOptions(\n\t\t\t\tSchulConneXProvisioningOptions,\n\t\t\t\tschoolId,\n\t\t\t\tsystemId\n\t\t\t);\n\t\t} else {\n\t\t\tprovisioningOptions = new SchulConneXProvisioningOptions();\n\t\t}\n\n\t\treturn provisioningOptions;\n\t}\n\n\tpublic async provisionExternalGroup(\n\t\texternalGroup: ExternalGroupDto,\n\t\texternalSchool: ExternalSchoolDto | undefined,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tlet organizationId: string | undefined;\n\t\tif (externalSchool) {\n\t\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\t\texternalSchool.externalId,\n\t\t\t\tsystemId\n\t\t\t);\n\n\t\t\tif (!existingSchool || !existingSchool.id) {\n\t\t\t\tthis.logger.info(new SchoolForGroupNotFoundLoggable(externalGroup, externalSchool));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\torganizationId = existingSchool.id;\n\t\t}\n\n\t\tconst existingGroup: Group | null = await this.groupService.findByExternalSource(\n\t\t\texternalGroup.externalId,\n\t\t\tsystemId\n\t\t);\n\n\t\tconst group: Group = new Group({\n\t\t\tid: existingGroup?.id ?? new ObjectId().toHexString(),\n\t\t\tname: externalGroup.name,\n\t\t\texternalSource: new ExternalSource({\n\t\t\t\texternalId: externalGroup.externalId,\n\t\t\t\tsystemId,\n\t\t\t}),\n\t\t\ttype: externalGroup.type,\n\t\t\torganizationId,\n\t\t\tvalidFrom: externalGroup.from,\n\t\t\tvalidUntil: externalGroup.until,\n\t\t\tusers: existingGroup?.users ?? [],\n\t\t});\n\n\t\tif (externalGroup.otherUsers !== undefined) {\n\t\t\tconst otherUsers: GroupUser[] = await this.getFilteredGroupUsers(externalGroup, systemId);\n\n\t\t\tgroup.users = otherUsers;\n\t\t}\n\n\t\tconst self: GroupUser | null = await this.getGroupUser(externalGroup.user, systemId);\n\n\t\tif (!self) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, { externalId: externalGroup.user.externalUserId });\n\t\t}\n\n\t\tgroup.addUser(self);\n\n\t\tawait this.groupService.save(group);\n\t}\n\n\tprivate async getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string): Promise {\n\t\tif (!externalGroup.otherUsers?.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst users: (GroupUser | null)[] = await Promise.all(\n\t\t\texternalGroup.otherUsers.map(\n\t\t\t\tasync (externalGroupUser: ExternalGroupUserDto): Promise =>\n\t\t\t\t\tthis.getGroupUser(externalGroupUser, systemId)\n\t\t\t)\n\t\t);\n\n\t\tconst filteredUsers: GroupUser[] = users.filter((groupUser): groupUser is GroupUser => groupUser !== null);\n\n\t\treturn filteredUsers;\n\t}\n\n\tprivate async getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalGroupUser.externalUserId, systemId);\n\t\tconst roles: RoleDto[] = await this.roleService.findByNames([externalGroupUser.roleName]);\n\n\t\tif (!user?.id || roles.length !== 1 || !roles[0].id) {\n\t\t\tthis.logger.info(new UserForGroupNotFoundLoggable(externalGroupUser));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupUser: GroupUser = new GroupUser({\n\t\t\tuserId: user.id,\n\t\t\troleId: roles[0].id,\n\t\t});\n\n\t\treturn groupUser;\n\t}\n\n\tpublic async removeExternalGroupsAndAffiliation(\n\t\texternalUserId: string,\n\t\texternalGroups: ExternalGroupDto[],\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, { externalId: externalUserId });\n\t\t}\n\n\t\tconst existingGroupsOfUser: Group[] = await this.groupService.findGroupsByUserAndGroupTypes(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(provisioningFeatures: IProvisioningFeatures, 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 provisioningFeatures\n \n \n IProvisioningFeatures\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 \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: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 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 { Inject, Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { IProvisioningFeatures, ProvisioningFeatures } from '../../config';\nimport { ExternalGroupDto, 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(\n\t\t@Inject(ProvisioningFeatures) protected readonly provisioningFeatures: IProvisioningFeatures,\n\t\tprotected readonly oidcProvisioningService: OidcProvisioningService\n\t) {\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 (this.provisioningFeatures.schulconnexGroupProvisioningEnabled) {\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\tlet groups: ExternalGroupDto[] = data.externalGroups;\n\n\t\t\t\tif (this.provisioningFeatures.provisioningOptionsEnabled) {\n\t\t\t\t\tgroups = await this.oidcProvisioningService.filterExternalGroups(groups, school?.id, data.system.systemId);\n\t\t\t\t}\n\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tgroups.map((group: ExternalGroupDto) =>\n\t\t\t\t\t\tthis.oidcProvisioningService.provisionExternalGroup(group, data.externalSchool, 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"},"interfaces/Pagination.html":{"url":"interfaces/Pagination.html","title":"interface - Pagination","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Pagination\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n limit\n \n \n \n Optional\n \n skip\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationParams.html":{"url":"classes/PaginationParams.html","title":"class - PaginationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsInt, Max, Min } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class PaginationParams {\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({ description: 'Number of elements (not pages) to be skipped' })\n\tskip?: number = 0;\n\n\t@IsInt()\n\t@Min(1)\n\t@Max(100)\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99 })\n\tlimit?: number = 10;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationResponse.html":{"url":"classes/PaginationResponse.html","title":"class - PaginationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The items for the current page.'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport abstract class PaginationResponse {\n\tconstructor(total: number, skip?: number, limit?: number) {\n\t\tthis.total = total;\n\t\tthis.skip = skip;\n\t\tthis.limit = limit;\n\t}\n\n\t@ApiProperty({ description: 'The items for the current page.' })\n\tabstract data: T;\n\n\t@ApiProperty({ description: 'The total amount of items.', type: 'number' })\n\ttotal: number;\n\n\t@ApiProperty({ description: 'The amount of items skipped from the start.', type: 'number' })\n\tskip?: number;\n\n\t@ApiProperty({ description: 'The page size of the response.', type: 'number' })\n\tlimit?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ParameterTypeNotImplementedLoggableException.html":{"url":"classes/ParameterTypeNotImplementedLoggableException.html","title":"class - ParameterTypeNotImplementedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ParameterTypeNotImplementedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotImplementedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(parameterType: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n parameterType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ParameterTypeNotImplementedLoggableException extends NotImplementedException implements Loggable {\n\tconstructor(private readonly parameterType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PARAMETER_TYPE_NOT_IMPLEMENTED',\n\t\t\tmessage: 'Launching an external tool with this parameter type is not implemented.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tparameterType: this.parameterType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ParentInfo.html":{"url":"interfaces/ParentInfo.html","title":"interface - ParentInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ParentInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId?: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator', nullable: true })\n\t_creatorId?: ObjectId;\n\n\tget creatorId(): EntityId | undefined {\n\t\treturn this._creatorId?.toHexString();\n\t}\n\n\tset creatorId(userId: EntityId | undefined) {\n\t\tthis._creatorId = userId !== undefined ? new ObjectId(userId) : undefined;\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tif (props.creatorId !== undefined) {\n\t\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\t}\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n\n\tpublic removeCreatorId(): void {\n\t\tthis.creatorId = 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"},"classes/PatchGroupParams.html":{"url":"classes/PatchGroupParams.html","title":"class - PatchGroupParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchGroupParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching a the group name of a grid element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'Title of the Group grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsString } from 'class-validator';\n\n/**\n * DTO for Patching a the group name of a grid element.\n */\nexport class PatchGroupParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Group grid element',\n\t})\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyAccountParams.html":{"url":"classes/PatchMyAccountParams.html","title":"class - PatchMyAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-account.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n passwordOld\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsEmail()@IsOptional()@ApiProperty({description: 'The new email address for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new first name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new last name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@IsOptional()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n passwordOld\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The current user password to authorize the update action.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsEmail, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyAccountParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The current user password to authorize the update action.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpasswordOld!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpasswordNew?: string;\n\n\t@IsEmail()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new email address for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\temail?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new first name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tfirstName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new last name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyPasswordParams.html":{"url":"classes/PatchMyPasswordParams.html","title":"class - PatchMyPasswordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyPasswordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-password.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n password\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The confirmed new user password. Must match the password field.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new user password.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyPasswordParams {\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new user password.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpassword!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The confirmed new user password. Must match the password field.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tconfirmPassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchOrderParams.html":{"url":"classes/PatchOrderParams.html","title":"class - PatchOrderParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchOrderParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the order of elements within the board.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsMongoId({each: true})@ApiProperty({description: 'Array ids determining the new order'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId } from 'class-validator';\n\n/**\n * DTO for Patching the order of elements within the board.\n */\nexport class PatchOrderParams {\n\t@IsArray()\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array ids determining the new order',\n\t})\n\telements!: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchVisibilityParams.html":{"url":"classes/PatchVisibilityParams.html","title":"class - PatchVisibilityParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchVisibilityParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the visibility of a board element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'true to publish the element, false to unpublish'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\n/**\n * DTO for Patching the visibility of a board element.\n */\nexport class PatchVisibilityParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'true to publish the element, false to unpublish',\n\t})\n\tvisibility!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Path.html":{"url":"classes/Path.html","title":"class - Path","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Path\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IPath\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n path\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(path: string)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PermissionService.html":{"url":"injectables/PermissionService.html","title":"injectable - PermissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PermissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/service/permission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n resolvePermissions\n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n \n \n \n \n \n \n \n \n \nhasUserAllSchoolPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resolvePermissions\n \n \n \n \n \n \n \n \n \n \n \nresolvePermissions(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:17\n \n \n\n\n \n \n Recursively resolve all roles and permissions of a user.\nIMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\nPlease make sure you populate them before calling this method.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n \n \n \n resolvePermissionsByRoles(inputRoles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputRoles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '../entity/role.entity';\nimport { User } from '../entity/user.entity';\n\n// TODO: Remove the PermissionService because it duplicates methods from the AuthorizationService.\n// Do not use this service, use the AuthorizationService!\n@Injectable()\nexport class PermissionService {\n\t/**\n\t * Recursively resolve all roles and permissions of a user.\n\t * IMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\n\t * Please make sure you populate them before calling this method.\n\t * @param user\n\t * @deprecated\n\t * @returns\n\t */\n\tresolvePermissions(user: User): string[] {\n\t\tif (!user.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\t\tconst rolesAndPermissions = this.resolvePermissionsByRoles(user.roles.getItems());\n\n\t\treturn rolesAndPermissions;\n\t}\n\n\tprivate resolvePermissionsByRoles(inputRoles: Role[]): string[] {\n\t\tlet permissions: string[] = [];\n\n\t\tfor (let i = 0; i 0) {\n\t\t\t\tconst subPermissions = this.resolvePermissionsByRoles(innerRoles);\n\t\t\t\tpermissions = [...permissions, ...subPermissions];\n\t\t\t}\n\t\t}\n\n\t\tpermissions = [...new Set(permissions)];\n\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\thasUserAllSchoolPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst usersPermissions = this.resolvePermissions(user);\n\t\tconst hasPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\t\treturn hasPermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PlainTextMailContent.html":{"url":"interfaces/PlainTextMailContent.html","title":"interface - PlainTextMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PlainTextMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n htmlContent\n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentCreateParams.html":{"url":"classes/PostH5PContentCreateParams.html","title":"class - PostH5PContentCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n params\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()@IsObject()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: H5PContentParentType, enumName: 'H5PContentParentType'})@IsEnum(H5PContentParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:66\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentParams.html":{"url":"classes/PostH5PContentParams.html","title":"class - PostH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n metadata\n \n \n \n \n params\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@SanitizeHtml()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewActionsLoggable.html":{"url":"classes/PreviewActionsLoggable.html","title":"class - PreviewActionsLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewActionsLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, payload: PreviewFileOptions)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n payload\n \n \n PreviewFileOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LogMessage, Loggable } from '@src/core/logger';\nimport { PreviewFileOptions } from '../interface';\n\nexport class PreviewActionsLoggable implements Loggable {\n\tconstructor(private readonly message: string, private readonly payload: PreviewFileOptions) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst { originFilePath, previewFilePath, previewOptions } = this.payload;\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tdata: {\n\t\t\t\toriginFilePath,\n\t\t\t\tpreviewFilePath,\n\t\t\t\tformat: previewOptions.format,\n\t\t\t\twidth: previewOptions.width,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewBuilder.html":{"url":"classes/PreviewBuilder.html","title":"class - PreviewBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/preview.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildParams\n \n \n Static\n buildPayload\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildParams\n \n \n \n \n \n \n \n buildParams(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildPayload\n \n \n \n \n \n \n \n buildPayload(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PreviewFileOptions } from '@infra/preview-generator';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\nimport { createPath, createPreviewFilePath, createPreviewNameHash, getFormat } from '../helper';\nimport { PreviewFileParams } from '../interface';\n\nexport class PreviewBuilder {\n\tpublic static buildParams(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange: string | undefined\n\t): PreviewFileParams {\n\t\tconst { schoolId, id, mimeType } = fileRecord;\n\t\tconst originFilePath = createPath(schoolId, id);\n\t\tconst format = getFormat(previewParams.outputFormat ?? mimeType);\n\n\t\tconst hash = createPreviewNameHash(id, previewParams);\n\t\tconst previewFilePath = createPreviewFilePath(schoolId, hash, id);\n\n\t\tconst previewFileParams = {\n\t\t\tfileRecord,\n\t\t\tpreviewParams,\n\t\t\thash,\n\t\t\tpreviewFilePath,\n\t\t\toriginFilePath,\n\t\t\tformat,\n\t\t\tbytesRange,\n\t\t};\n\n\t\treturn previewFileParams;\n\t}\n\n\tpublic static buildPayload(params: PreviewFileParams): PreviewFileOptions {\n\t\tconst { originFilePath, previewFilePath, previewParams, format } = params;\n\n\t\tconst payload = {\n\t\t\toriginFilePath,\n\t\t\tpreviewFilePath,\n\t\t\tpreviewOptions: {\n\t\t\t\tformat,\n\t\t\t\twidth: previewParams.width,\n\t\t\t},\n\t\t};\n\n\t\treturn payload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewConfig.html":{"url":"interfaces/PreviewConfig.html","title":"interface - PreviewConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n serverConfig\n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n serverConfig\n \n \n \n \n \n \n \n \n serverConfig: PreviewModuleConfig\n\n \n \n\n\n \n \n Type : PreviewModuleConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n storageConfig: S3Config\n\n \n \n\n\n \n \n Type : S3Config\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileOptions.html":{"url":"interfaces/PreviewFileOptions.html","title":"interface - PreviewFileOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n previewOptions: PreviewOptions\n\n \n \n\n\n \n \n Type : PreviewOptions\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileParams.html":{"url":"interfaces/PreviewFileParams.html","title":"interface - PreviewFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bytesRange\n \n \n \n \n fileRecord\n \n \n \n \n format\n \n \n \n \n hash\n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bytesRange\n \n \n \n \n \n \n \n \n bytesRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fileRecord\n \n \n \n \n \n \n \n \n fileRecord: FileRecord\n\n \n \n\n\n \n \n Type : FileRecord\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hash\n \n \n \n \n \n \n \n \n hash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n previewParams: PreviewParams\n\n \n \n\n\n \n \n Type : PreviewParams\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorAMQPModule.html":{"url":"modules/PreviewGeneratorAMQPModule.html","title":"module - PreviewGeneratorAMQPModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorAMQPModule\n\n\n\ncluster_PreviewGeneratorAMQPModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule -->\n\nCoreModule->PreviewGeneratorAMQPModule\n\n\n\n\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorAMQPModule -->\n\nPreviewGeneratorConsumerModule->PreviewGeneratorAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-preview-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n CoreModule\n \n \n PreviewGeneratorConsumerModule\n \n \n \n \n \n\n\n \n\n\n \n import { PreviewGeneratorConsumerModule } from '@infra/preview-generator';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { defaultConfig, s3Config } from './files-storage.config';\n\n@Module({\n\timports: [\n\t\tPreviewGeneratorConsumerModule.register({ storageConfig: s3Config, serverConfig: defaultConfig }),\n\t\tCoreModule,\n\t],\n})\nexport class PreviewGeneratorAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewGeneratorBuilder.html":{"url":"classes/PreviewGeneratorBuilder.html","title":"class - PreviewGeneratorBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewGeneratorBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n \n \n \n buildFile(preview: PassThrough, previewOptions: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n preview\n \n PassThrough\n \n\n \n No\n \n\n\n \n \n previewOptions\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : File\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { PassThrough } from 'stream';\nimport { PreviewOptions } from './interface';\n\nexport class PreviewGeneratorBuilder {\n\tpublic static buildFile(preview: PassThrough, previewOptions: PreviewOptions): File {\n\t\tconst { format } = previewOptions;\n\n\t\tconst file = {\n\t\t\tdata: preview,\n\t\t\tmimeType: format,\n\t\t};\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewGeneratorConsumer.html":{"url":"injectables/PreviewGeneratorConsumer.html","title":"injectable - PreviewGeneratorConsumer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewGeneratorConsumer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.consumer.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(previewGeneratorService: PreviewGeneratorService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n previewGeneratorService\n \n \n PreviewGeneratorService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(payload: PreviewFileOptions)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesPreviewExchange, routingKey: undefined, queue: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Injectable()\nexport class PreviewGeneratorConsumer {\n\tconstructor(private readonly previewGeneratorService: PreviewGeneratorService, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesPreviewExchange,\n\t\troutingKey: FilesPreviewEvents.GENERATE_PREVIEW,\n\t\tqueue: FilesPreviewEvents.GENERATE_PREVIEW,\n\t})\n\tpublic async generatePreview(@RabbitPayload() payload: PreviewFileOptions) {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:start', payload));\n\n\t\tconst response = await this.previewGeneratorService.generatePreview(payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:end', payload));\n\n\t\treturn { message: response };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorConsumerModule.html":{"url":"modules/PreviewGeneratorConsumerModule.html","title":"module - PreviewGeneratorConsumerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorConsumerModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(config: PreviewConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n PreviewConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientAdapter, S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { Logger, LoggerModule } from '@src/core/logger';\nimport { PreviewConfig } from './interface/preview-consumer-config';\nimport { PreviewGeneratorConsumer } from './preview-generator.consumer';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Module({})\nexport class PreviewGeneratorConsumerModule {\n\tstatic register(config: PreviewConfig): DynamicModule {\n\t\tconst { storageConfig, serverConfig } = config;\n\t\tconst providers = [\n\t\t\t{\n\t\t\t\tprovide: PreviewGeneratorService,\n\t\t\t\tuseFactory: (logger: Logger, storageClient: S3ClientAdapter) =>\n\t\t\t\t\tnew PreviewGeneratorService(storageClient, logger),\n\t\t\t\tinject: [Logger, storageConfig.connectionName],\n\t\t\t},\n\t\t\tPreviewGeneratorConsumer,\n\t\t];\n\n\t\treturn {\n\t\t\tmodule: PreviewGeneratorConsumerModule,\n\t\t\timports: [\n\t\t\t\tLoggerModule,\n\t\t\t\tS3ClientModule.register([storageConfig]),\n\t\t\t\tRabbitMQWrapperModule,\n\t\t\t\tConfigModule.forRoot(createConfigModuleOptions(() => serverConfig)),\n\t\t\t],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorProducerModule.html":{"url":"modules/PreviewGeneratorProducerModule.html","title":"module - PreviewGeneratorProducerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorProducerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorProducerModule\n\n\n\ncluster_PreviewGeneratorProducerModule_exports\n\n\n\ncluster_PreviewGeneratorProducerModule_imports\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 checkIfPreviewPossible\n \n \n Private\n Async\n downloadOriginFile\n \n \n Public\n Async\n generatePreview\n \n \n Private\n resizeAndConvert\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n downloadOriginFile\n \n \n \n \n \n \n \n downloadOriginFile(pathToFile: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pathToFile\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resizeAndConvert\n \n \n \n \n \n \n \n resizeAndConvert(original: GetFile, previewParams: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PassThrough\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n imageMagick\n \n \n \n \n \n \n Default value : subClass({ imageMagick: '7+' })\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { GetFile, S3ClientAdapter } from '@infra/s3-client';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { subClass } from 'gm';\nimport { PassThrough } from 'stream';\nimport { PreviewFileOptions, PreviewInputMimeTypes, PreviewOptions, PreviewResponseMessage } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorBuilder } from './preview-generator.builder';\n\n@Injectable()\nexport class PreviewGeneratorService {\n\tprivate imageMagick = subClass({ imageMagick: '7+' });\n\n\tconstructor(private readonly storageClient: S3ClientAdapter, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorService.name);\n\t}\n\n\tpublic async generatePreview(params: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:start', params));\n\t\tconst { originFilePath, previewFilePath, previewOptions } = params;\n\n\t\tconst original = await this.downloadOriginFile(originFilePath);\n\n\t\tthis.checkIfPreviewPossible(original, params);\n\n\t\tconst preview = this.resizeAndConvert(original, previewOptions);\n\n\t\tconst file = PreviewGeneratorBuilder.buildFile(preview, params.previewOptions);\n\n\t\tawait this.storageClient.create(previewFilePath, file);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:end', params));\n\n\t\treturn {\n\t\t\tpreviewFilePath,\n\t\t\tstatus: true,\n\t\t};\n\t}\n\n\tprivate checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions): void | UnprocessableEntityException {\n\t\tconst isPreviewPossible =\n\t\t\toriginal.contentType && Object.values(PreviewInputMimeTypes).includes(original.contentType);\n\n\t\tif (!isPreviewPossible) {\n\t\t\tthis.logger.warning(new PreviewActionsLoggable('PreviewGeneratorService.previewNotPossible', params));\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t}\n\n\tprivate async downloadOriginFile(pathToFile: string): Promise {\n\t\tconst file = await this.storageClient.get(pathToFile);\n\n\t\treturn file;\n\t}\n\n\tprivate resizeAndConvert(original: GetFile, previewParams: PreviewOptions): PassThrough {\n\t\tconst { format, width } = previewParams;\n\n\t\tconst preview = this.imageMagick(original.data);\n\n\t\tif (original.contentType === PreviewInputMimeTypes.APPLICATION_PDF) {\n\t\t\tpreview.selectFrame(0);\n\t\t}\n\n\t\tif (original.contentType === PreviewInputMimeTypes.IMAGE_GIF) {\n\t\t\tpreview.coalesce();\n\t\t}\n\n\t\tif (width) {\n\t\t\tpreview.resize(width, undefined, '>');\n\t\t}\n\n\t\tconst result = preview.stream(format);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewModuleConfig.html":{"url":"interfaces/PreviewModuleConfig.html","title":"interface - PreviewModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewOptions.html":{"url":"interfaces/PreviewOptions.html","title":"interface - PreviewOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n format\n \n \n \n Optional\n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewParams.html":{"url":"classes/PreviewParams.html","title":"class - PreviewParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n Optional\n width\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'If true, the preview will be generated again.'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n \n Type : PreviewOutputMimeTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes'})@IsOptional()@IsEnum(PreviewOutputMimeTypes)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:113\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n width\n \n \n \n \n \n \n Type : PreviewWidth\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewWidth, enumName: 'PreviewWidth'})@IsOptional()@IsEnum(PreviewWidth)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:118\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewProducer.html":{"url":"injectables/PreviewProducer.html","title":"injectable - PreviewProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generate\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: Logger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generate\n \n \n \n \n \n \n \n generate(payload: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange, RpcMessageProducer } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions, PreviewResponseMessage } from './interface';\nimport { PreviewModuleConfig } from './interface/preview-consumer-config';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\n\n@Injectable()\nexport class PreviewProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: Logger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\n\t\tsuper(amqpConnection, FilesPreviewExchange, timeout);\n\t\tthis.logger.setContext(PreviewProducer.name);\n\t}\n\n\tasync generate(payload: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:started', payload));\n\n\t\tconst response = await this.request(FilesPreviewEvents.GENERATE_PREVIEW, payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:finished', payload));\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewResponseMessage.html":{"url":"interfaces/PreviewResponseMessage.html","title":"interface - PreviewResponseMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewResponseMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewService.html":{"url":"injectables/PreviewService.html","title":"injectable - PreviewService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/service/preview.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n Public\n Async\n deletePreviews\n \n \n Public\n Async\n download\n \n \n Private\n Async\n generatePreview\n \n \n Private\n Async\n getPreviewFile\n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: LegacyLogger, previewProducer: PreviewProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n previewProducer\n \n \n PreviewProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deletePreviews\n \n \n \n \n \n \n \n deletePreviews(fileRecords: FileRecord[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n download\n \n \n \n \n \n \n \n download(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPreviewFile\n \n \n \n \n \n \n \n getPreviewFile(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n \n \n \n tryGetPreviewOrGenerate(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { PreviewProducer } from '@infra/preview-generator';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord, PreviewStatus } from '../entity';\nimport { ErrorType } from '../error';\nimport { FILES_STORAGE_S3_CONNECTION } from '../files-storage.config';\nimport { createPreviewDirectoryPath, getPreviewName } from '../helper';\nimport { GetFileResponse, PreviewFileParams } from '../interface';\nimport { FileResponseBuilder, PreviewBuilder } from '../mapper';\n\n@Injectable()\nexport class PreviewService {\n\tconstructor(\n\t\t@Inject(FILES_STORAGE_S3_CONNECTION) private readonly storageClient: S3ClientAdapter,\n\t\tprivate logger: LegacyLogger,\n\t\tprivate readonly previewProducer: PreviewProducer\n\t) {\n\t\tthis.logger.setContext(PreviewService.name);\n\t}\n\n\tpublic async download(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange?: string\n\t): Promise {\n\t\tthis.checkIfPreviewPossible(fileRecord);\n\n\t\tconst previewFileParams = PreviewBuilder.buildParams(fileRecord, previewParams, bytesRange);\n\n\t\tconst response = await this.tryGetPreviewOrGenerate(previewFileParams);\n\n\t\treturn response;\n\t}\n\n\tpublic async deletePreviews(fileRecords: FileRecord[]): Promise {\n\t\tconst paths = fileRecords.map((fileRecord) => createPreviewDirectoryPath(fileRecord.getSchoolId(), fileRecord.id));\n\n\t\tconst promises = paths.map((path) => this.storageClient.deleteDirectory(path));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tprivate checkIfPreviewPossible(fileRecord: FileRecord): void | UnprocessableEntityException {\n\t\tif (fileRecord.getPreviewStatus() !== PreviewStatus.PREVIEW_POSSIBLE) {\n\t\t\tthis.logger.warn(`could not generate preview for : ${fileRecord.id} ${fileRecord.mimeType}`);\n\t\t\tthrow new UnprocessableEntityException(ErrorType.PREVIEW_NOT_POSSIBLE);\n\t\t}\n\t}\n\n\tprivate async tryGetPreviewOrGenerate(params: PreviewFileParams): Promise {\n\t\tlet file: GetFileResponse;\n\n\t\ttry {\n\t\t\tif (params.previewParams.forceUpdate) {\n\t\t\t\tawait this.generatePreview(params);\n\t\t\t}\n\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t} catch (error) {\n\t\t\tif (!(error instanceof NotFoundException)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tawait this.generatePreview(params);\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t}\n\n\t\treturn file;\n\t}\n\n\tprivate async getPreviewFile(params: PreviewFileParams): Promise {\n\t\tconst { fileRecord, previewFilePath, bytesRange, previewParams } = params;\n\t\tconst name = getPreviewName(fileRecord, previewParams.outputFormat);\n\t\tconst file = await this.storageClient.get(previewFilePath, bytesRange);\n\n\t\tconst response = FileResponseBuilder.build(file, name);\n\n\t\treturn response;\n\t}\n\n\tprivate async generatePreview(params: PreviewFileParams): Promise {\n\t\tconst payload = PreviewBuilder.buildPayload(params);\n\n\t\tawait this.previewProducer.generate(payload);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsConfig.html":{"url":"classes/PrometheusMetricsConfig.html","title":"class - PrometheusMetricsConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n Private\n Static\n _instance\n \n \n Private\n Readonly\n _isEnabled\n \n \n Private\n Readonly\n _port\n \n \n Private\n Readonly\n _route\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n reload\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n route\n \n \n port\n \n \n collectDefaultMetrics\n \n \n collectMetricsRouteMetrics\n \n \n instance\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:34\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Static\n _instance\n \n \n \n \n \n \n Type : PrometheusMetricsConfig\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _isEnabled\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _port\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _route\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n reload\n \n \n \n \n \n \n \n reload()\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:52\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n\n \n \n getisEnabled()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:8\n \n \n\n \n \n \n \n \n \n \n route\n \n \n\n \n \n getroute()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:14\n \n \n\n \n \n \n \n \n \n \n port\n \n \n\n \n \n getport()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:20\n \n \n\n \n \n \n \n \n \n \n collectDefaultMetrics\n \n \n\n \n \n getcollectDefaultMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:26\n \n \n\n \n \n \n \n \n \n \n collectMetricsRouteMetrics\n \n \n\n \n \n getcollectMetricsRouteMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:32\n \n \n\n \n \n \n \n \n \n \n instance\n \n \n\n \n \n getinstance()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:44\n \n \n\n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport class PrometheusMetricsConfig {\n\tprivate static _instance: PrometheusMetricsConfig;\n\n\tprivate readonly _isEnabled: boolean;\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tprivate readonly _route: string;\n\n\tget route(): string {\n\t\treturn this._route;\n\t}\n\n\tprivate readonly _port: number;\n\n\tget port(): number {\n\t\treturn this._port;\n\t}\n\n\tprivate readonly _collectDefaultMetrics: boolean;\n\n\tget collectDefaultMetrics(): boolean {\n\t\treturn this._collectDefaultMetrics;\n\t}\n\n\tprivate readonly _collectMetricsRouteMetrics: boolean;\n\n\tget collectMetricsRouteMetrics(): boolean {\n\t\treturn this._collectMetricsRouteMetrics;\n\t}\n\n\tprivate constructor() {\n\t\tthis._isEnabled = Configuration.get('FEATURE_PROMETHEUS_METRICS_ENABLED') as boolean;\n\t\tthis._route = Configuration.get('PROMETHEUS_METRICS_ROUTE') as string;\n\t\tthis._port = Configuration.get('PROMETHEUS_METRICS_PORT') as number;\n\t\tthis._collectDefaultMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_DEFAULT_METRICS') as boolean;\n\t\tthis._collectMetricsRouteMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_METRICS_ROUTE_METRICS') as boolean;\n\t}\n\n\tpublic static get instance() {\n\t\tif (this._instance === undefined) {\n\t\t\tthis._instance = new this();\n\t\t}\n\n\t\treturn this._instance;\n\t}\n\n\tpublic static reload() {\n\t\tthis._instance = new this();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsSetupStateLoggable.html":{"url":"classes/PrometheusMetricsSetupStateLoggable.html","title":"class - PrometheusMetricsSetupStateLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsSetupStateLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/prometheus-metrics.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(state: PrometheusMetricsSetupState)\n \n \n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n \n PrometheusMetricsSetupState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Express } from 'express';\n\nimport {\n\tPrometheusMetricsConfig,\n\tcreateAPIResponseTimeMetricMiddleware,\n\tcreatePrometheusMetricsApp,\n} from '@infra/metrics';\nimport { LogMessage, Loggable, Logger } from '@src/core/logger';\nimport { AppStartLoggable } from './app-start-loggable';\n\nexport const enum PrometheusMetricsSetupState {\n\tFEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - no metrics middlewares will be added to the app',\n\tAPI_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED = 'API response time metric middleware successfully added to the app',\n\tFEATURE_DISABLED_APP_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - Prometheus metrics app will not be created',\n\tCOLLECTING_DEFAULT_METRICS_DISABLED = 'Collecting default metrics is disabled - only the custom metrics will be collected',\n\tCOLLECTING_METRICS_ROUTE_METRICS_DISABLED = 'Collecting metrics route metrics is disabled - no metrics route calls will be added to the metrics',\n}\n\nexport class PrometheusMetricsSetupStateLoggable implements Loggable {\n\tconstructor(private readonly state: PrometheusMetricsSetupState) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Setting up Prometheus metrics...',\n\t\t\tdata: {\n\t\t\t\tstate: this.state,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport const addPrometheusMetricsMiddlewaresIfEnabled = (logger: Logger, app: Express) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\t\tPrometheusMetricsSetupState.FEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED\n\t\t\t)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tapp.use(createAPIResponseTimeMetricMiddleware());\n\n\tlogger.debug(\n\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\tPrometheusMetricsSetupState.API_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED\n\t\t)\n\t);\n};\n\nexport const createAndStartPrometheusMetricsAppIfEnabled = (logger: Logger) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.FEATURE_DISABLED_APP_WILL_NOT_BE_CREATED)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst { route, collectDefaultMetrics, collectMetricsRouteMetrics } = PrometheusMetricsConfig.instance;\n\n\tif (!collectDefaultMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_DEFAULT_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tif (!collectMetricsRouteMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_METRICS_ROUTE_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tconst prometheusMetricsAppPort = PrometheusMetricsConfig.instance.port;\n\n\tconst prometheusMetricsApp = createPrometheusMetricsApp(route, collectDefaultMetrics, collectMetricsRouteMetrics);\n\n\tprometheusMetricsApp.listen(prometheusMetricsAppPort, () => {\n\t\tlogger.info(\n\t\t\tnew AppStartLoggable({\n\t\t\t\tappName: 'Prometheus metrics server app',\n\t\t\t\tport: prometheusMetricsAppPort,\n\t\t\t\tmountsDescription: `${route} --> Prometheus metrics`,\n\t\t\t})\n\t\t);\n\t});\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PropertyData.html":{"url":"classes/PropertyData.html","title":"class - PropertyData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PropertyData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/property-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n location\n \n \n name\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: PropertyData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n PropertyData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : PropertyLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation } from './property-location';\n\nexport class PropertyData {\n\tname: string;\n\n\tvalue: string;\n\n\tlocation?: PropertyLocation;\n\n\tconstructor(props: PropertyData) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentResponse.html":{"url":"interfaces/ProviderConsentResponse.html","title":"interface - ProviderConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n \n challenge\n \n \n \n Optional\n \n client\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n login_challenge\n \n \n \n Optional\n \n login_session_id\n \n \n \n Optional\n \n oidc_context\n \n \n \n Optional\n \n request_url\n \n \n \n Optional\n \n requested_access_token_audience\n \n \n \n Optional\n \n requested_scope\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_challenge\n \n \n \n \n \n \n \n \n login_challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_session_id\n \n \n \n \n \n \n \n \n login_session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderConsentResponse {\n\tacr?: string;\n\n\tamr?: string[];\n\n\tchallenge: string;\n\n\tclient?: ProviderOauthClient;\n\n\tcontext?: object;\n\n\tlogin_challenge?: string;\n\n\tlogin_session_id?: string;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url?: string;\n\n\trequested_access_token_audience?: string[];\n\n\trequested_scope?: string[];\n\n\tskip?: boolean;\n\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentSessionResponse.html":{"url":"interfaces/ProviderConsentSessionResponse.html","title":"interface - ProviderConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent-session.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n consent_request\n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n consent_request\n \n \n \n \n \n \n \n \n consent_request: ProviderConsentResponse\n\n \n \n\n\n \n \n Type : ProviderConsentResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderConsentResponse } from './consent.response';\n\nexport interface ProviderConsentSessionResponse {\n\tconsent_request: ProviderConsentResponse;\n\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token: string;\n\n\t\tid_token: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderLoginResponse.html":{"url":"interfaces/ProviderLoginResponse.html","title":"interface - ProviderLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/login.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n \n client\n \n \n \n Optional\n \n oidc_context\n \n \n \n \n request_url\n \n \n \n \n requested_access_token_audience\n \n \n \n \n requested_scope\n \n \n \n Optional\n \n session_id\n \n \n \n \n skip\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_id\n \n \n \n \n \n \n \n \n session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderLoginResponse {\n\tchallenge: string;\n\n\tclient: ProviderOauthClient;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url: string;\n\n\trequested_access_token_audience: string[];\n\n\trequested_scope: string[];\n\n\tsession_id?: string;\n\n\tskip: boolean;\n\n\tsubject: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderOidcContext.html":{"url":"interfaces/ProviderOidcContext.html","title":"interface - ProviderOidcContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderOidcContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/interface/oidc-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr_values\n \n \n \n Optional\n \n display\n \n \n \n Optional\n \n id_token_hint_claims\n \n \n \n Optional\n \n login_hint\n \n \n \n Optional\n \n ui_locales\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr_values\n \n \n \n \n \n \n \n \n acr_values: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n display\n \n \n \n \n \n \n \n \n display: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id_token_hint_claims\n \n \n \n \n \n \n \n \n id_token_hint_claims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_hint\n \n \n \n \n \n \n \n \n login_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ui_locales\n \n \n \n \n \n \n \n \n ui_locales: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderOidcContext {\n\tacr_values?: string[];\n\n\tdisplay?: string;\n\n\tid_token_hint_claims?: object;\n\n\tlogin_hint?: string;\n\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderRedirectResponse.html":{"url":"interfaces/ProviderRedirectResponse.html","title":"interface - ProviderRedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderRedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/redirect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n redirect_to: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderRedirectResponse {\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ProvisioningConfigModule.html":{"url":"modules/ProvisioningConfigModule.html","title":"module - ProvisioningConfigModule","body":"\n \n\n\n\n\n Modules\n ProvisioningConfigModule\n\n\n\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-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 { ProvisioningConfiguration, ProvisioningFeatures } from './config';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: ProvisioningFeatures,\n\t\t\tuseValue: ProvisioningConfiguration.provisioningFeatures,\n\t\t},\n\t],\n\texports: [ProvisioningFeatures],\n})\nexport class ProvisioningConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningConfiguration.html":{"url":"classes/ProvisioningConfiguration.html","title":"class - ProvisioningConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningConfiguration\n\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/config/provisioning-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 provisioningFeatures\n \n \n \n \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 provisioningFeatures\n \n \n \n \n \n \n Type : IProvisioningFeatures\n\n \n \n \n \n Default value : {\n\t\tschulconnexGroupProvisioningEnabled: Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED') as boolean,\n\t\tprovisioningOptionsEnabled: Configuration.get('FEATURE_PROVISIONING_OPTIONS_ENABLED') as boolean,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/provisioning/config/provisioning-config.ts:11\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 ProvisioningFeatures = Symbol('ProvisioningFeatures');\n\nexport interface IProvisioningFeatures {\n\tschulconnexGroupProvisioningEnabled: boolean;\n\tprovisioningOptionsEnabled: boolean;\n}\n\nexport class ProvisioningConfiguration {\n\tstatic provisioningFeatures: IProvisioningFeatures = {\n\t\tschulconnexGroupProvisioningEnabled: Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED') as boolean,\n\t\tprovisioningOptionsEnabled: Configuration.get('FEATURE_PROVISIONING_OPTIONS_ENABLED') as boolean,\n\t};\n}\n\n \n\n\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\nProvisioningConfigModule\n\nProvisioningConfigModule\n\nProvisioningModule -->\n\nProvisioningConfigModule->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 ProvisioningConfigModule\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 { AccountModule } from '@modules/account/account.module';\nimport { GroupModule } from '@modules/group';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system/system.module';\nimport { UserModule } from '@modules/user';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { ProvisioningConfigModule } from './provisioning-config.module';\nimport { ProvisioningService } from './service/provisioning.service';\nimport {\n\tIservProvisioningStrategy,\n\tOidcMockProvisioningStrategy,\n\tSanisProvisioningStrategy,\n\tSanisResponseMapper,\n} from './strategy';\nimport { OidcProvisioningService } from './strategy/oidc/service/oidc-provisioning.service';\n\n@Module({\n\timports: [\n\t\tProvisioningConfigModule,\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"},"classes/ProvisioningOptionsEntity.html":{"url":"classes/ProvisioningOptionsEntity.html","title":"class - ProvisioningOptionsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningOptionsEntity\n\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/entity/provisioning-options.entity.ts\n \n\n\n\n\n \n Implements\n \n \n ProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n groupProvisioningClassesEnabled\n \n \n \n Optional\n groupProvisioningCoursesEnabled\n \n \n \n Optional\n groupProvisioningOtherEnabled\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ProvisioningOptionsInterface)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/entity/provisioning-options.entity.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 ProvisioningOptionsInterface\n \n \n \n No\n \n \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 groupProvisioningClassesEnabled\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/modules/legacy-school/entity/provisioning-options.entity.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningCoursesEnabled\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/modules/legacy-school/entity/provisioning-options.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningOtherEnabled\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/modules/legacy-school/entity/provisioning-options.entity.ts:13\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 { ProvisioningOptionsInterface } from '../interface';\n\n@Embeddable()\nexport class ProvisioningOptionsEntity implements ProvisioningOptionsInterface {\n\t@Property({ nullable: true })\n\tgroupProvisioningClassesEnabled?: boolean;\n\n\t@Property({ nullable: true })\n\tgroupProvisioningCoursesEnabled?: boolean;\n\n\t@Property({ nullable: true })\n\tgroupProvisioningOtherEnabled?: boolean;\n\n\tconstructor(props: ProvisioningOptionsInterface) {\n\t\tthis.groupProvisioningClassesEnabled = props.groupProvisioningClassesEnabled;\n\t\tthis.groupProvisioningCoursesEnabled = props.groupProvisioningCoursesEnabled;\n\t\tthis.groupProvisioningOtherEnabled = props.groupProvisioningOtherEnabled;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningOptionsInvalidTypeLoggableException.html":{"url":"classes/ProvisioningOptionsInvalidTypeLoggableException.html","title":"class - ProvisioningOptionsInvalidTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningOptionsInvalidTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/provisioning-options-invalid-type.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(expectedType, schoolId: EntityId, systemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-options-invalid-type.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 expectedType\n \n \n \n \n \n No\n \n \n \n \n schoolId\n \n \n EntityId\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 \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-options-invalid-type.loggable-exception.ts:15\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { type AnyProvisioningOptions } from '../domain';\n\nexport class ProvisioningOptionsInvalidTypeLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(\n\t\tprivate readonly expectedType: new () => AnyProvisioningOptions,\n\t\tprivate readonly schoolId: EntityId,\n\t\tprivate readonly systemId: EntityId\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PROVISIONING_OPTIONS_INVALID_TYPE',\n\t\t\tmessage: 'The provisioning options are not of the expected type.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texpectedType: this.expectedType.name,\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningOptionsParams.html":{"url":"classes/ProvisioningOptionsParams.html","title":"class - ProvisioningOptionsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningOptionsParams\n\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/request/provisioning-options.params.ts\n \n\n\n\n\n \n Implements\n \n \n ProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n groupProvisioningClassesEnabled\n \n \n \n \n Optional\n groupProvisioningCoursesEnabled\n \n \n \n \n Optional\n groupProvisioningOtherEnabled\n \n \n \n \n\n\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 groupProvisioningClassesEnabled\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/legacy-school/controller/dto/request/provisioning-options.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningCoursesEnabled\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/legacy-school/controller/dto/request/provisioning-options.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n groupProvisioningOtherEnabled\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/legacy-school/controller/dto/request/provisioning-options.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean, IsOptional } from 'class-validator';\nimport { ProvisioningOptionsInterface } from '../../../interface';\n\nexport class ProvisioningOptionsParams implements ProvisioningOptionsInterface {\n\t@IsOptional()\n\t@IsBoolean()\n\tgroupProvisioningClassesEnabled?: boolean;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tgroupProvisioningCoursesEnabled?: boolean;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tgroupProvisioningOtherEnabled?: 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/ProvisioningService.html":{"url":"injectables/ProvisioningService.html","title":"injectable - ProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/service/provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n Async\n getData\n \n \n Private\n getProvisioningStrategy\n \n \n Async\n provisionData\n \n \n Protected\n registerStrategy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemService: LegacySystemService, sanisStrategy: SanisProvisioningStrategy, iservStrategy: IservProvisioningStrategy, oidcMockStrategy: OidcMockProvisioningStrategy)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n sanisStrategy\n \n \n SanisProvisioningStrategy\n \n \n \n No\n \n \n \n \n iservStrategy\n \n \n IservProvisioningStrategy\n \n \n \n No\n \n \n \n \n oidcMockStrategy\n \n \n OidcMockProvisioningStrategy\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n \n \n \n \n \n determineInput(systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getProvisioningStrategy\n \n \n \n \n \n \n \n getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemStrategy\n \n SystemProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionData\n \n \n \n \n \n \n \n provisionData(oauthData: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthData\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n registerStrategy\n \n \n \n \n \n \n \n registerStrategy(strategy: ProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n ProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto, ProvisioningSystemDto } from '../dto';\nimport { ProvisioningSystemInputMapper } from '../mapper/provisioning-system-input.mapper';\nimport {\n\tIservProvisioningStrategy,\n\tOidcMockProvisioningStrategy,\n\tProvisioningStrategy,\n\tSanisProvisioningStrategy,\n} from '../strategy';\n\n@Injectable()\nexport class ProvisioningService {\n\tstrategies: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly sanisStrategy: SanisProvisioningStrategy,\n\t\tprivate readonly iservStrategy: IservProvisioningStrategy,\n\t\tprivate readonly oidcMockStrategy: OidcMockProvisioningStrategy\n\t) {\n\t\tthis.registerStrategy(sanisStrategy);\n\t\tthis.registerStrategy(iservStrategy);\n\t\tthis.registerStrategy(oidcMockStrategy);\n\t}\n\n\tprotected registerStrategy(strategy: ProvisioningStrategy) {\n\t\tthis.strategies.set(strategy.getType(), strategy);\n\t}\n\n\tasync getData(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst system: ProvisioningSystemDto = await this.determineInput(systemId);\n\t\tconst input: OauthDataStrategyInputDto = new OauthDataStrategyInputDto({\n\t\t\taccessToken,\n\t\t\tidToken,\n\t\t\tsystem,\n\t\t});\n\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(system.provisioningStrategy);\n\n\t\tconst data: OauthDataDto = await strategy.getData(input);\n\t\treturn data;\n\t}\n\n\tprivate async determineInput(systemId: string): Promise {\n\t\tconst systemDto: SystemDto = await this.systemService.findById(systemId);\n\t\tconst inputDto: ProvisioningSystemDto = ProvisioningSystemInputMapper.mapToInternal(systemDto);\n\t\treturn inputDto;\n\t}\n\n\tasync provisionData(oauthData: OauthDataDto): Promise {\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(oauthData.system.provisioningStrategy);\n\t\tconst provisioningDto: Promise = strategy.apply(oauthData);\n\t\treturn provisioningDto;\n\t}\n\n\tprivate getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy): ProvisioningStrategy {\n\t\tconst strategy: ProvisioningStrategy | undefined = this.strategies.get(systemStrategy);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Provisioning Strategy is not defined.');\n\t\t}\n\n\t\treturn strategy;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningStrategy.html":{"url":"classes/ProvisioningStrategy.html","title":"class - ProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/base.strategy.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n apply\n \n \n Abstract\n getData\n \n \n Abstract\n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getType\n \n \n \n \n \n \n \n getType()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../dto';\n\nexport abstract class ProvisioningStrategy {\n\tabstract getType(): SystemProvisioningStrategy;\n\n\tabstract getData(input: OauthDataStrategyInputDto): Promise;\n\n\tabstract apply(data: OauthDataDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningStrategyInvalidOptionsLoggableException.html":{"url":"classes/ProvisioningStrategyInvalidOptionsLoggableException.html","title":"class - ProvisioningStrategyInvalidOptionsLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategyInvalidOptionsLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/provisioning-strategy-invalid-options.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(provisioningStrategy: SystemProvisioningStrategy, provisioningOptions: ProvisioningOptionsInterface)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-strategy-invalid-options.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningStrategy\n \n \n SystemProvisioningStrategy\n \n \n \n No\n \n \n \n \n provisioningOptions\n \n \n ProvisioningOptionsInterface\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-strategy-invalid-options.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 { UnprocessableEntityException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ProvisioningOptionsInterface } from '../interface';\n\nexport class ProvisioningStrategyInvalidOptionsLoggableException\n\textends UnprocessableEntityException\n\timplements Loggable\n{\n\tconstructor(\n\t\tprivate readonly provisioningStrategy: SystemProvisioningStrategy,\n\t\tprivate readonly provisioningOptions: ProvisioningOptionsInterface\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PROVISIONING_STRATEGY_INVALID_OPTIONS',\n\t\t\tmessage: 'The provisioning options are invalid for this strategy type.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tprovisioningStrategy: this.provisioningStrategy,\n\t\t\t\tprovisioningOptions: this.provisioningOptions,\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/ProvisioningStrategyMissingLoggableException.html":{"url":"classes/ProvisioningStrategyMissingLoggableException.html","title":"class - ProvisioningStrategyMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategyMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/provisioning-strategy-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(systemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/provisioning-strategy-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 systemId\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/legacy-school/loggable/provisioning-strategy-missing.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ProvisioningStrategyMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly systemId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PROVISIONING_STRATEGY_MISSING',\n\t\t\tmessage: 'Systems without a provisioning strategy cannot have provisioning options.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemDto.html":{"url":"classes/ProvisioningSystemDto.html","title":"class - ProvisioningSystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ProvisioningSystemDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ProvisioningSystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ProvisioningSystemDto {\n\tsystemId: EntityId;\n\n\tprovisioningStrategy: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\tconstructor(props: ProvisioningSystemDto) {\n\t\tthis.systemId = props.systemId;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemInputMapper.html":{"url":"classes/ProvisioningSystemInputMapper.html","title":"class - ProvisioningSystemInputMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemInputMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n \n \n \n mapToInternal(dto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { ProvisioningSystemDto } from '../dto';\n\nexport class ProvisioningSystemInputMapper {\n\tstatic mapToInternal(dto: SystemDto) {\n\t\treturn new ProvisioningSystemDto({\n\t\t\tsystemId: dto.id || '',\n\t\t\tprovisioningStrategy: dto.provisioningStrategy || SystemProvisioningStrategy.UNDEFINED,\n\t\t\tprovisioningUrl: dto.provisioningUrl || undefined,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Pseudonym.html":{"url":"classes/Pseudonym.html","title":"class - Pseudonym","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Pseudonym\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n toolId\n \n \n userId\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n\n \n \n getpseudonym()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13\n \n \n\n \n \n \n \n \n \n \n toolId\n \n \n\n \n \n gettoolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17\n \n \n\n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymApiModule.html":{"url":"modules/PseudonymApiModule.html","title":"module - PseudonymApiModule","body":"\n \n\n\n\n\n Modules\n PseudonymApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymApiModule\n\n\n\ncluster_PseudonymApiModule_providers\n\n\n\ncluster_PseudonymApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nPseudonymApiModule -->\n\nAuthorizationModule->PseudonymApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nPseudonymApiModule -->\n\nLegacySchoolModule->PseudonymApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymApiModule -->\n\nPseudonymModule->PseudonymApiModule\n\n\n\n\n\nPseudonymUc\n\nPseudonymUc\n\nPseudonymApiModule -->\n\nPseudonymUc->PseudonymApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n PseudonymUc\n \n \n \n \n Controllers\n \n \n PseudonymController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n PseudonymModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from './pseudonym.module';\nimport { PseudonymController } from './controller/pseudonym.controller';\nimport { PseudonymUc } from './uc';\n\n@Module({\n\timports: [PseudonymModule, AuthorizationModule, LegacySchoolModule],\n\tproviders: [PseudonymUc],\n\tcontrollers: [PseudonymController],\n})\nexport class PseudonymApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/PseudonymController.html":{"url":"controllers/PseudonymController.html","title":"controller - PseudonymController","body":"\n \n\n\n\n\n\n\n Controllers\n PseudonymController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts\n \n\n \n Prefix\n \n \n pseudonyms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n \n \n \n getPseudonym(params: PseudonymParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':pseudonym')@ApiFoundResponse({description: 'Pseudonym has been found.', type: PseudonymResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns the related user and tool information to a pseudonym'})\n \n \n\n \n \n Defined in apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PseudonymParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymMapper } from '../mapper/pseudonym.mapper';\nimport { PseudonymUc } from '../uc';\nimport { PseudonymResponse } from './dto';\nimport { PseudonymParams } from './dto/pseudonym-params';\n\n@ApiTags('Pseudonym')\n@Authenticate('jwt')\n@Controller('pseudonyms')\nexport class PseudonymController {\n\tconstructor(private readonly pseudonymUc: PseudonymUc) {}\n\n\t@Get(':pseudonym')\n\t@ApiFoundResponse({ description: 'Pseudonym has been found.', type: PseudonymResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns the related user and tool information to a pseudonym' })\n\tasync getPseudonym(\n\t\t@Param() params: PseudonymParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst pseudonym: Pseudonym = await this.pseudonymUc.findPseudonymByPseudonym(currentUser.userId, params.pseudonym);\n\n\t\tconst pseudonymResponse: PseudonymResponse = PseudonymMapper.mapToResponse(pseudonym);\n\n\t\treturn pseudonymResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/PseudonymEntity.html":{"url":"entities/PseudonymEntity.html","title":"entity - PseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n PseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymEntityProps.html":{"url":"interfaces/PseudonymEntityProps.html","title":"interface - PseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymMapper.html":{"url":"classes/PseudonymMapper.html","title":"class - PseudonymMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymResponse } from '../controller/dto';\n\nexport class PseudonymMapper {\n\tstatic mapToResponse(pseudonym: Pseudonym): PseudonymResponse {\n\t\tconst response: PseudonymResponse = new PseudonymResponse({\n\t\t\tid: pseudonym.id,\n\t\t\ttoolId: pseudonym.toolId,\n\t\t\tuserId: pseudonym.userId,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymModule.html":{"url":"modules/PseudonymModule.html","title":"module - PseudonymModule","body":"\n \n\n\n\n\n Modules\n PseudonymModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymModule\n\n\n\ncluster_PseudonymModule_providers\n\n\n\ncluster_PseudonymModule_exports\n\n\n\ncluster_PseudonymModule_imports\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymModule -->\n\nLearnroomModule->PseudonymModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nPseudonymModule -->\n\nUserModule->PseudonymModule\n\n\n\n\n\nFeathersRosterService \n\nFeathersRosterService \n\nFeathersRosterService -->\n\nPseudonymModule->FeathersRosterService \n\n\n\n\n\nPseudonymService \n\nPseudonymService \n\nPseudonymService -->\n\nPseudonymModule->PseudonymService \n\n\n\n\n\nExternalToolPseudonymRepo\n\nExternalToolPseudonymRepo\n\nPseudonymModule -->\n\nExternalToolPseudonymRepo->PseudonymModule\n\n\n\n\n\nFeathersRosterService\n\nFeathersRosterService\n\nPseudonymModule -->\n\nFeathersRosterService->PseudonymModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nPseudonymModule -->\n\nLegacyLogger->PseudonymModule\n\n\n\n\n\nPseudonymService\n\nPseudonymService\n\nPseudonymModule -->\n\nPseudonymService->PseudonymModule\n\n\n\n\n\nPseudonymsRepo\n\nPseudonymsRepo\n\nPseudonymModule -->\n\nPseudonymsRepo->PseudonymModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolPseudonymRepo\n \n \n FeathersRosterService\n \n \n LegacyLogger\n \n \n PseudonymService\n \n \n PseudonymsRepo\n \n \n \n \n Imports\n \n \n LearnroomModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n FeathersRosterService\n \n \n PseudonymService\n \n \n \n \n \n\n\n \n\n\n \n import { LearnroomModule } from '@modules/learnroom';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from './repo';\nimport { FeathersRosterService, PseudonymService } from './service';\n\n@Module({\n\timports: [UserModule, LearnroomModule, forwardRef(() => ToolModule)],\n\tproviders: [PseudonymService, PseudonymsRepo, ExternalToolPseudonymRepo, LegacyLogger, FeathersRosterService],\n\texports: [PseudonymService, FeathersRosterService],\n})\nexport class PseudonymModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymParams.html":{"url":"classes/PseudonymParams.html","title":"class - PseudonymParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class PseudonymParams {\n\t@IsString()\n\t@ApiProperty({ nullable: false, required: true })\n\tpseudonym!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymProps.html":{"url":"interfaces/PseudonymProps.html","title":"interface - PseudonymProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymResponse.html":{"url":"classes/PseudonymResponse.html","title":"class - PseudonymResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: PseudonymResponse)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n PseudonymResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class PseudonymResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tuserId: string;\n\n\tconstructor(response: PseudonymResponse) {\n\t\tthis.id = response.id;\n\t\tthis.toolId = response.toolId;\n\t\tthis.userId = response.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymScope.html":{"url":"classes/PseudonymScope.html","title":"class - PseudonymScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byPseudonym\n \n \n byToolId\n \n \n byUserId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byPseudonym\n \n \n \n \n \n \nbyPseudonym(pseudonym: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserId\n \n \n \n \n \n \nbyUserId(userId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { ObjectId } from 'bson';\nimport { ExternalToolPseudonymEntity } from './external-tool-pseudonym.entity';\n\nexport class PseudonymScope extends Scope {\n\tbyPseudonym(pseudonym: string | undefined): this {\n\t\tif (pseudonym) {\n\t\t\tthis.addQuery({ pseudonym });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyUserId(userId: string | undefined): this {\n\t\tif (userId) {\n\t\t\tthis.addQuery({ userId: new ObjectId(userId) });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: string | undefined): this {\n\t\tif (toolId) {\n\t\t\tthis.addQuery({ toolId: new ObjectId(toolId) });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymSearchQuery.html":{"url":"interfaces/PseudonymSearchQuery.html","title":"interface - PseudonymSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/domain/pseudonym-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pseudonym\n \n \n \n Optional\n \n toolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PseudonymSearchQuery {\n\tpseudonym?: string;\n\ttoolId?: string;\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymService.html":{"url":"injectables/PseudonymService.html","title":"injectable - PseudonymService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/pseudonym.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n Public\n Async\n findByUserId\n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n getIframeSubject\n \n \n Private\n getRepository\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymRepo: PseudonymsRepo, externalToolPseudonymRepo: ExternalToolPseudonymRepo)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymRepo\n \n \n PseudonymsRepo\n \n \n \n No\n \n \n \n \n externalToolPseudonymRepo\n \n \n ExternalToolPseudonymRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n deleteExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n \n \n \n \n \n findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n findExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n \n \n \n \n \n findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n \n \n \n \n \n findPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getIframeSubject\n \n \n \n \n \n \ngetIframeSubject(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getRepository\n \n \n \n \n \n \n \n getRepository(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymsRepo | ExternalToolPseudonymRepo\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LtiToolDO, Page, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { v4 as uuidv4 } from 'uuid';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from '../repo';\n\n@Injectable()\nexport class PseudonymService {\n\tconstructor(\n\t\tprivate readonly pseudonymRepo: PseudonymsRepo,\n\t\tprivate readonly externalToolPseudonymRepo: ExternalToolPseudonymRepo\n\t) {}\n\n\tpublic async findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst pseudonymPromise: Promise = this.getRepository(tool).findByUserIdAndToolIdOrFail(user.id, tool.id);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tpublic async findByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tlet [pseudonyms, externalToolPseudonyms] = await Promise.all([\n\t\t\tthis.findPseudonymsByUserId(userId),\n\t\t\tthis.findExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\tif (pseudonyms === undefined) {\n\t\t\tpseudonyms = [];\n\t\t}\n\n\t\tif (externalToolPseudonyms === undefined) {\n\t\t\texternalToolPseudonyms = [];\n\t\t}\n\n\t\tconst allPseudonyms = [...pseudonyms, ...externalToolPseudonyms];\n\n\t\treturn allPseudonyms;\n\t}\n\n\tpublic async findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst repository: PseudonymsRepo | ExternalToolPseudonymRepo = this.getRepository(tool);\n\n\t\tlet pseudonym: Pseudonym | null = await repository.findByUserIdAndToolId(user.id, tool.id);\n\t\tif (!pseudonym) {\n\t\t\tpseudonym = new Pseudonym({\n\t\t\t\tid: new ObjectId().toHexString(),\n\t\t\t\tpseudonym: uuidv4(),\n\t\t\t\tuserId: user.id,\n\t\t\t\ttoolId: tool.id,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t});\n\n\t\t\tpseudonym = await repository.createOrUpdate(pseudonym);\n\t\t}\n\n\t\treturn pseudonym;\n\t}\n\n\tpublic async deleteByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst [deletedPseudonyms, deletedExternalToolPseudonyms] = await Promise.all([\n\t\t\tthis.deletePseudonymsByUserId(userId),\n\t\t\tthis.deleteExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\treturn deletedPseudonyms + deletedExternalToolPseudonyms;\n\t}\n\n\tprivate async findPseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.findByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async findExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise = this.externalToolPseudonymRepo.findByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate async deletePseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async deleteExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise =\n\t\t\tthis.externalToolPseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate getRepository(tool: ExternalTool | LtiToolDO): PseudonymsRepo | ExternalToolPseudonymRepo {\n\t\tif (tool instanceof ExternalTool) {\n\t\t\treturn this.externalToolPseudonymRepo;\n\t\t}\n\n\t\treturn this.pseudonymRepo;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst result: Pseudonym | null = await this.externalToolPseudonymRepo.findPseudonymByPseudonym(pseudonym);\n\n\t\treturn result;\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options: IFindOptions): Promise> {\n\t\tconst result: Page = await this.externalToolPseudonymRepo.findPseudonym(query, options);\n\n\t\treturn result;\n\t}\n\n\tgetIframeSubject(pseudonym: string): string {\n\t\tconst iFrameSubject = ``;\n\n\t\treturn iFrameSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymUc.html":{"url":"injectables/PseudonymUc.html","title":"injectable - PseudonymUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymService: PseudonymService, authorizationService: AuthorizationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(userId: EntityId, pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Pseudonym } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from '../service';\n\n@Injectable()\nexport class PseudonymUc {\n\tconstructor(\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync findPseudonymByPseudonym(userId: EntityId, pseudonym: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst foundPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (foundPseudonym === null) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\n\t\t}\n\n\t\tconst pseudonymUserId: string = foundPseudonym.userId;\n\t\tconst pseudonymUser: User = await this.authorizationService.getUserWithPermissions(pseudonymUserId);\n\t\tconst pseudonymSchool: LegacySchoolDo = await this.schoolService.getSchoolById(pseudonymUser.school.id);\n\n\t\tthis.authorizationService.checkPermission(user, pseudonymSchool, AuthorizationContextBuilder.read([]));\n\n\t\treturn foundPseudonym;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymsRepo.html":{"url":"injectables/PseudonymsRepo.html","title":"injectable - PseudonymsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: PseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n PseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymEntity, PseudonymEntityProps } from '../entity';\n\n@Injectable()\nexport class PseudonymsRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity = await this.em.findOneOrFail(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity | null = await this.em.findOne(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: PseudonymEntity[] = await this.em.find(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: PseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(PseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: PseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: PseudonymEntity = new PseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\treturn promise;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: PseudonymEntity): Pseudonym {\n\t\treturn new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): PseudonymEntityProps {\n\t\treturn {\n\t\t\tid: entityDO.id,\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemListResponse.html":{"url":"classes/PublicSystemListResponse.html","title":"class - PublicSystemListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemResponses: PublicSystemResponse[])\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemResponses\n \n \n PublicSystemResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : PublicSystemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PublicSystemResponse } from './public-system-response';\n\nexport class PublicSystemListResponse {\n\t@ApiProperty({ type: [PublicSystemResponse] })\n\tdata: PublicSystemResponse[];\n\n\tconstructor(systemResponses: PublicSystemResponse[]) {\n\t\tthis.data = systemResponses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemResponse.html":{"url":"classes/PublicSystemResponse.html","title":"class - PublicSystemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n oauthConfig\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: PublicSystemResponse)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n PublicSystemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Alias of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Display name of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Oauth config of the system.', type: OauthConfigResponse, required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Flag to request only systems with oauth-config.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\n\nexport class PublicSystemResponse {\n\t@ApiProperty({\n\t\tdescription: 'Id of the system.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Flag to request only systems with oauth-config.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\ttype: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Alias of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\talias?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Display name of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdisplayName?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Oauth config of the system.',\n\t\ttype: OauthConfigResponse,\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthConfig?: OauthConfigResponse;\n\n\tconstructor(system: PublicSystemResponse) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PushDeleteRequestsOptionsBuilder.html":{"url":"classes/PushDeleteRequestsOptionsBuilder.html","title":"class - PushDeleteRequestsOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PushDeleteRequestsOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/push-delete-requests-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMs: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/push-delete-requests-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n callsDelayMs\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PushDeletionRequestsOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PushDeletionRequestsOptions } from '../interface';\n\nexport class PushDeleteRequestsOptionsBuilder {\n\tstatic build(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain: string,\n\t\tdeleteInMinutes: number,\n\t\tcallsDelayMs: number\n\t): PushDeletionRequestsOptions {\n\t\treturn {\n\t\t\trefsFilePath,\n\t\t\ttargetRefDomain,\n\t\t\tdeleteInMinutes,\n\t\t\tcallsDelayMs,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PushDeletionRequestsOptions.html":{"url":"interfaces/PushDeletionRequestsOptions.html","title":"interface - PushDeletionRequestsOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PushDeletionRequestsOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/interface/push-delete-requests-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n callsDelayMs\n \n \n \n \n deleteInMinutes\n \n \n \n \n refsFilePath\n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n callsDelayMs\n \n \n \n \n \n \n \n \n callsDelayMs: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refsFilePath\n \n \n \n \n \n \n \n \n refsFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PushDeletionRequestsOptions {\n\trefsFilePath: string;\n\ttargetRefDomain: string;\n\tdeleteInMinutes: number;\n\tcallsDelayMs: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestInput.html":{"url":"interfaces/QueueDeletionRequestInput.html","title":"interface - QueueDeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/interface/queue-deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestInput {\n\ttargetRefDomain: string;\n\ttargetRefId: string;\n\tdeleteInMinutes: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestInputBuilder.html":{"url":"classes/QueueDeletionRequestInputBuilder.html","title":"class - QueueDeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput } from '../interface';\n\nexport class QueueDeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number): QueueDeletionRequestInput {\n\t\treturn { targetRefDomain, targetRefId, deleteInMinutes };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestOutput.html":{"url":"interfaces/QueueDeletionRequestOutput.html","title":"interface - QueueDeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/interface/queue-deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletionPlannedAt\n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestOutput {\n\trequestId?: string;\n\tdeletionPlannedAt?: Date;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestOutputBuilder.html":{"url":"classes/QueueDeletionRequestOutputBuilder.html","title":"class - QueueDeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildError\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requestId?: string, deletionPlannedAt?: Date, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n Yes\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildError\n \n \n \n \n \n \n \n buildError(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/builder/queue-deletion-request-output.builder.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestOutput } from '../interface';\n\nexport class QueueDeletionRequestOutputBuilder {\n\tprivate static build(requestId?: string, deletionPlannedAt?: Date, error?: string): QueueDeletionRequestOutput {\n\t\tconst output: QueueDeletionRequestOutput = {};\n\n\t\tif (requestId) {\n\t\t\toutput.requestId = requestId;\n\t\t}\n\n\t\tif (deletionPlannedAt) {\n\t\t\toutput.deletionPlannedAt = deletionPlannedAt;\n\t\t}\n\n\t\tif (error) {\n\t\t\toutput.error = error.toString();\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(requestId: string, deletionPlannedAt: Date): QueueDeletionRequestOutput {\n\t\treturn this.build(requestId, deletionPlannedAt);\n\t}\n\n\tstatic buildError(err: Error): QueueDeletionRequestOutput {\n\t\treturn this.build(undefined, undefined, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperModule.html":{"url":"modules/RabbitMQWrapperModule.html","title":"module - RabbitMQWrapperModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperTestModule.html":{"url":"modules/RabbitMQWrapperTestModule.html","title":"module - RabbitMQWrapperTestModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperTestModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReadableStreamWithFileTypeImp.html":{"url":"classes/ReadableStreamWithFileTypeImp.html","title":"class - ReadableStreamWithFileTypeImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReadableStreamWithFileTypeImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts\n \n\n\n\n \n Extends\n \n \n Readable\n \n\n \n Implements\n \n \n ReadableStreamWithFileType\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ReadableStreamWithFileTypeProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ReadableStreamWithFileTypeProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n \n \n Type : FileTypeResult\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileTypeResult, ReadableStreamWithFileType } from 'file-type';\nimport { Readable } from 'stream';\nimport { BaseFactory } from './base.factory';\n\ntype ReadableStreamWithFileTypeProps = {\n\tfileType?: FileTypeResult;\n\treadable: Readable;\n};\n\nclass ReadableStreamWithFileTypeImp extends Readable implements ReadableStreamWithFileType {\n\tfileType?: FileTypeResult;\n\n\tconstructor(props: ReadableStreamWithFileTypeProps) {\n\t\tsuper();\n\t\tthis.fileType = props.fileType;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const readableStreamWithFileTypeFactory = BaseFactory.define(ReadableStreamWithFileTypeImp, () => {\n\tconst readable = Readable.from('abc');\n\n\treturn {\n\t\tfileType: {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png',\n\t\t},\n\t\treadable,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveCopyVisitor.html":{"url":"classes/RecursiveCopyVisitor.html","title":"class - RecursiveCopyVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveCopyVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitorAsync\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n copyMap\n \n \n resultMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copy\n \n \n getCopiesForChildrenOf\n \n \n getCopyStatusesForChildrenOf\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenOf\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fileCopyService: SchoolSpecificFileCopyService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyService\n \n \n SchoolSpecificFileCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n copyMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n resultMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:22\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copy\n \n \n \n \n \n \n \n copy(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopiesForChildrenOf\n \n \n \n \n \n \ngetCopiesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:273\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopyStatusesForChildrenOf\n \n \n \n \n \n \ngetCopyStatusesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:260\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(original: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenOf\n \n \n \n \n \n \n \n visitChildrenOf(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:256\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(original: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(original: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(original: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(original: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:238\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(original: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(original: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(original: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(original: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:211\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(original: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:229\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport class RecursiveCopyVisitor implements BoardCompositeVisitorAsync {\n\tresultMap = new Map();\n\n\tcopyMap = new Map();\n\n\tconstructor(private readonly fileCopyService: SchoolSpecificFileCopyService) {}\n\n\tasync copy(original: AnyBoardDo): Promise {\n\t\tawait original.acceptAsync(this);\n\n\t\tconst result = this.resultMap.get(original.id);\n\t\t/* istanbul ignore next */\n\t\tif (result === undefined) {\n\t\t\tthrow new Error('nothing copied');\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync visitColumnBoardAsync(original: ColumnBoard): Promise {\n\t\tawait this.visitChildrenOf(original);\n\n\t\tconst copy = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tcontext: original.context,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t});\n\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMNBOARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitColumnAsync(original: Column): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMN,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitCardAsync(original: Card): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\theight: original.height,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.CARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitFileElementAsync(original: FileElement): Promise {\n\t\tconst copy = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: original.caption,\n\t\t\talternativeText: original.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\tsourceParentId: original.id,\n\t\t\ttargetParentId: copy.id,\n\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t});\n\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\treturn {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t};\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.FILE_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: fileCopyStatus,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitDrawingElementAsync(original: DrawingElement): Promise {\n\t\tconst copy = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: original.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.DRAWING_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitLinkElementAsync(original: LinkElement): Promise {\n\t\tconst copy = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: original.url,\n\t\t\ttitle: original.title,\n\t\t\timageUrl: original.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tconst result: CopyStatus = {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.LINK_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t};\n\n\t\tif (original.imageUrl) {\n\t\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\t\tsourceParentId: original.id,\n\t\t\t\ttargetParentId: copy.id,\n\t\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t\t});\n\t\t\tfileCopy.forEach((copyFileDto) => {\n\t\t\t\tif (copyFileDto.id) {\n\t\t\t\t\tif (copy.imageUrl.includes(copyFileDto.sourceId)) {\n\t\t\t\t\t\tcopy.imageUrl = copy.imageUrl.replace(copyFileDto.sourceId, copyFileDto.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcopy.imageUrl = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t\t};\n\t\t\t});\n\t\t\tresult.elements = fileCopyStatus;\n\t\t}\n\t\tthis.resultMap.set(original.id, result);\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitRichTextElementAsync(original: RichTextElement): Promise {\n\t\tconst copy = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: original.text,\n\t\t\tinputFormat: original.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.RICHTEXT_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitSubmissionContainerElementAsync(original: SubmissionContainerElement): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: original.dueDate,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitSubmissionItemAsync(original: SubmissionItem): Promise {\n\t\tthis.resultMap.set(original.id, {\n\t\t\ttype: CopyElementType.SUBMISSION_ITEM,\n\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t});\n\n\t\treturn Promise.resolve();\n\t}\n\n\tvisitExternalToolElementAsync(original: ExternalToolElement): Promise {\n\t\tconst copy = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcontextExternalToolId: undefined,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.EXTERNAL_TOOL_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitChildrenOf(boardDo: AnyBoardDo) {\n\t\treturn Promise.allSettled(boardDo.children.map((child) => child.acceptAsync(this)));\n\t}\n\n\tgetCopyStatusesForChildrenOf(original: AnyBoardDo) {\n\t\tconst childstatusses: CopyStatus[] = [];\n\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childStatus = this.resultMap.get(child.id);\n\t\t\tif (childStatus) {\n\t\t\t\tchildstatusses.push(childStatus);\n\t\t\t}\n\t\t});\n\n\t\treturn childstatusses;\n\t}\n\n\tgetCopiesForChildrenOf(original: AnyBoardDo) {\n\t\tconst copies: AnyBoardDo[] = [];\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childCopy = this.copyMap.get(child.id);\n\t\t\tif (childCopy) {\n\t\t\t\tcopies.push(childCopy);\n\t\t\t}\n\t\t});\n\n\t\treturn copies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RecursiveDeleteVisitor.html":{"url":"injectables/RecursiveDeleteVisitor.html","title":"injectable - RecursiveDeleteVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RecursiveDeleteVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-delete.vistor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deleteNode\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, filesStorageClientAdapterService: FilesStorageClientAdapterService, contextExternalToolService: ContextExternalToolService, drawingElementAdapterService: DrawingElementAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n drawingElementAdapterService\n \n \n DrawingElementAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deleteNode\n \n \n \n \n \n \ndeleteNode(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenAsync\n \n \n \n \n \n \n \n visitChildrenAsync(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { BoardNode } from '@shared/domain/entity';\n\n@Injectable()\nexport class RecursiveDeleteVisitor implements BoardCompositeVisitorAsync {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly drawingElementAdapterService: DrawingElementAdapterService\n\t) {}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\tthis.deleteNode(columnBoard);\n\t\tawait this.visitChildrenAsync(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\tthis.deleteNode(column);\n\t\tawait this.visitChildrenAsync(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\tthis.deleteNode(card);\n\t\tawait this.visitChildrenAsync(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(fileElement.id);\n\t\tthis.deleteNode(fileElement);\n\n\t\tawait this.visitChildrenAsync(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(linkElement.id);\n\t\tthis.deleteNode(linkElement);\n\n\t\tawait this.visitChildrenAsync(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tthis.deleteNode(richTextElement);\n\t\tawait this.visitChildrenAsync(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tawait this.drawingElementAdapterService.deleteDrawingBinData(drawingElement.id);\n\n\t\tthis.deleteNode(drawingElement);\n\t\tawait this.visitChildrenAsync(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tthis.deleteNode(submissionContainerElement);\n\t\tawait this.visitChildrenAsync(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\tthis.deleteNode(submission);\n\t\tawait this.visitChildrenAsync(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (externalToolElement.contextExternalToolId) {\n\t\t\tconst linkedTool: ContextExternalTool | null = await this.contextExternalToolService.findById(\n\t\t\t\texternalToolElement.contextExternalToolId\n\t\t\t);\n\n\t\t\tif (linkedTool) {\n\t\t\t\tawait this.contextExternalToolService.deleteContextExternalTool(linkedTool);\n\t\t\t}\n\t\t}\n\n\t\tthis.deleteNode(externalToolElement);\n\n\t\tawait this.visitChildrenAsync(externalToolElement);\n\t}\n\n\tdeleteNode(domainObject: AnyBoardDo): void {\n\t\tthis.em.remove(this.em.getReference(BoardNode, domainObject.id));\n\t}\n\n\tasync visitChildrenAsync(domainObject: AnyBoardDo): Promise {\n\t\tawait Promise.all(domainObject.children.map(async (child) => child.acceptAsync(this)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveSaveVisitor.html":{"url":"classes/RecursiveSaveVisitor.html","title":"class - RecursiveSaveVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveSaveVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-save.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitor\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n Private\n registerParentData\n \n \n Async\n save\n \n \n Private\n saveRecursive\n \n \n visitCard\n \n \n Private\n visitChildren\n \n \n visitColumn\n \n \n visitColumnBoard\n \n \n visitDrawingElement\n \n \n visitExternalToolElement\n \n \n visitFileElement\n \n \n visitLinkElement\n \n \n visitRichTextElement\n \n \n visitSubmissionContainerElement\n \n \n visitSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n \n \n \n \ncreateOrUpdateBoardNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:220\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n registerParentData\n \n \n \n \n \n \n \n registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n saveRecursive\n \n \n \n \n \n \n \n saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n visitChildren\n \n \n \n \n \n \n \n visitChildren(parent: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:144\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:183\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport {\n\tBoardNode,\n\tCardNode,\n\tColumnBoardNode,\n\tColumnNode,\n\tExternalToolElementNodeEntity,\n\tFileElementNode,\n\tRichTextElementNode,\n\tSubmissionContainerElementNode,\n\tSubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\nimport { LinkElementNode } from '@shared/domain/entity/boardnode/link-element-node.entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardNodeRepo } from './board-node.repo';\n\ntype ParentData = {\n\tboardNode: BoardNode;\n\tposition: number;\n};\n\nexport class RecursiveSaveVisitor implements BoardCompositeVisitor {\n\tprivate parentsMap: Map = new Map();\n\n\tconstructor(private readonly em: EntityManager, private readonly boardNodeRepo: BoardNodeRepo) {}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst domainObjects = Utils.asArray(domainObject);\n\n\t\tif (parent) {\n\t\t\tconst parentNode = await this.boardNodeRepo.findById(parent.id);\n\n\t\t\tdomainObjects.forEach((child) => {\n\t\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\t});\n\t\t}\n\n\t\tdomainObjects.forEach((child) => child.accept(this));\n\t}\n\n\tvisitColumnBoard(columnBoard: ColumnBoard): void {\n\t\tconst parentData = this.parentsMap.get(columnBoard.id);\n\n\t\tconst boardNode = new ColumnBoardNode({\n\t\t\tid: columnBoard.id,\n\t\t\ttitle: columnBoard.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcontext: columnBoard.context,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, columnBoard);\n\t}\n\n\tvisitColumn(column: Column): void {\n\t\tconst parentData = this.parentsMap.get(column.id);\n\n\t\tconst boardNode = new ColumnNode({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, column);\n\t}\n\n\tvisitCard(card: Card): void {\n\t\tconst parentData = this.parentsMap.get(card.id);\n\n\t\tconst boardNode = new CardNode({\n\t\t\tid: card.id,\n\t\t\theight: card.height,\n\t\t\ttitle: card.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, card);\n\t}\n\n\tvisitFileElement(fileElement: FileElement): void {\n\t\tconst parentData = this.parentsMap.get(fileElement.id);\n\n\t\tconst boardNode = new FileElementNode({\n\t\t\tid: fileElement.id,\n\t\t\tcaption: fileElement.caption,\n\t\t\talternativeText: fileElement.alternativeText,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, fileElement);\n\t}\n\n\tvisitLinkElement(linkElement: LinkElement): void {\n\t\tconst parentData = this.parentsMap.get(linkElement.id);\n\n\t\tconst boardNode = new LinkElementNode({\n\t\t\tid: linkElement.id,\n\t\t\turl: linkElement.url,\n\t\t\ttitle: linkElement.title,\n\t\t\timageUrl: linkElement.imageUrl,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(linkElement, boardNode);\n\t}\n\n\tvisitRichTextElement(richTextElement: RichTextElement): void {\n\t\tconst parentData = this.parentsMap.get(richTextElement.id);\n\n\t\tconst boardNode = new RichTextElementNode({\n\t\t\tid: richTextElement.id,\n\t\t\ttext: richTextElement.text,\n\t\t\tinputFormat: richTextElement.inputFormat,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, richTextElement);\n\t}\n\n\tvisitDrawingElement(drawingElement: DrawingElement): void {\n\t\tconst parentData = this.parentsMap.get(drawingElement.id);\n\n\t\tconst boardNode = new DrawingElementNode({\n\t\t\tid: drawingElement.id,\n\t\t\tdescription: drawingElement.description ?? '',\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, drawingElement);\n\t}\n\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void {\n\t\tconst parentData = this.parentsMap.get(submissionContainerElement.id);\n\n\t\tconst boardNode = new SubmissionContainerElementNode({\n\t\t\tid: submissionContainerElement.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tdueDate: submissionContainerElement.dueDate,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionContainerElement);\n\t}\n\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void {\n\t\tconst parentData = this.parentsMap.get(submissionItem.id);\n\t\tconst boardNode = new SubmissionItemNode({\n\t\t\tid: submissionItem.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tuserId: submissionItem.userId,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionItem);\n\t}\n\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void {\n\t\tconst parentData: ParentData | undefined = this.parentsMap.get(externalToolElement.id);\n\n\t\tconst boardNode: ExternalToolElementNodeEntity = new ExternalToolElementNodeEntity({\n\t\t\tid: externalToolElement.id,\n\t\t\tcontextExternalTool: externalToolElement.contextExternalToolId\n\t\t\t\t? this.em.getReference(ContextExternalToolEntity, externalToolElement.contextExternalToolId)\n\t\t\t\t: undefined,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(externalToolElement, boardNode);\n\t}\n\n\tprivate visitChildren(parent: AnyBoardDo, parentNode: BoardNode) {\n\t\tparent.children.forEach((child) => {\n\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\tchild.accept(this);\n\t\t});\n\t}\n\n\tprivate registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode) {\n\t\tconst position = parent.children.findIndex((obj) => obj.id === child.id);\n\t\tif (position === -1) {\n\t\t\tthrow new Error(`Cannot get child position. Child doesnt belong to parent`);\n\t\t}\n\t\tthis.parentsMap.set(child.id, { boardNode: parentNode, position });\n\t}\n\n\tprivate saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo): void {\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(anyBoardDo, boardNode);\n\t}\n\n\t// TODO make private (change tests)\n\tcreateOrUpdateBoardNode(boardNode: BoardNode): void {\n\t\tconst existing = this.em.getUnitOfWork().getById(BoardNode.name, boardNode.id);\n\t\tif (existing) {\n\t\t\tthis.em.assign(existing, boardNode);\n\t\t} else {\n\t\t\tthis.em.persist(boardNode);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RedirectResponse.html":{"url":"classes/RedirectResponse.html","title":"class - RedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(redirectReponse: RedirectResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirectReponse\n \n \n RedirectResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class RedirectResponse {\n\tconstructor(redirectReponse: RedirectResponse) {\n\t\tthis.redirect_to = redirectReponse.redirect_to;\n\t}\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.',\n\t})\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RedisModule.html":{"url":"modules/RedisModule.html","title":"module - RedisModule","body":"\n \n\n\n\n\n Modules\n RedisModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RedisModule\n\n\n\ncluster_RedisModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRedisModule\n\nRedisModule\n\nRedisModule -->\n\nLoggerModule->RedisModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/redis/redis.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { createClient, RedisClient } from 'redis';\nimport { REDIS_CLIENT } from './interface/redis.constants';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: REDIS_CLIENT,\n\t\t\tuseFactory: (logger: LegacyLogger) => {\n\t\t\t\tlogger.setContext(RedisModule.name);\n\n\t\t\t\tif (Configuration.has('REDIS_URI')) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst client: RedisClient = createClient({ url: redisUrl });\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn client;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t\tinject: [LegacyLogger],\n\t\t},\n\t],\n\texports: [REDIS_CLIENT],\n})\nexport class RedisModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceLoader.html":{"url":"injectables/ReferenceLoader.html","title":"injectable - ReferenceLoader","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ReferenceLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n repos\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n Private\n resolveRepo\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, courseRepo: CourseRepo, courseGroupRepo: CourseGroupRepo, taskRepo: TaskRepo, schoolRepo: LegacySchoolRepo, lessonService: LessonService, teamsRepo: TeamsRepo, submissionRepo: SubmissionRepo, schoolExternalToolRepo: SchoolExternalToolRepo, boardNodeAuthorizableService: BoardDoAuthorizableService, contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n courseGroupRepo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n boardNodeAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n contextExternalToolAuthorizableService\n \n \n ContextExternalToolAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n \n \n \n \n \n loadAuthorizableObject(objectName: AuthorizableReferenceType, objectId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n objectName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n objectId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolveRepo\n \n \n \n \n \n \n \n resolveRepo(type: AuthorizableReferenceType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RepoLoader\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n repos\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n\n \n \n\n\n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencedEntityNotFoundLoggable.html":{"url":"classes/ReferencedEntityNotFoundLoggable.html","title":"class - ReferencedEntityNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencedEntityNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceEntityName: string, sourceEntityId: EntityId, referencedEntityName: string, referencedEntityId: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n sourceEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n referencedEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n referencedEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '../../domain/types';\n\nexport class ReferencedEntityNotFoundLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly sourceEntityName: string,\n\t\tprivate readonly sourceEntityId: EntityId,\n\t\tprivate readonly referencedEntityName: string,\n\t\tprivate readonly referencedEntityId: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The requested entity could not been found, but it is still referenced.',\n\t\t\tdata: {\n\t\t\t\treferencedEntityName: this.referencedEntityName,\n\t\t\t\treferencedEntityId: this.referencedEntityId,\n\t\t\t\tsourceEntityName: this.sourceEntityName,\n\t\t\t\tsourceEntityId: this.sourceEntityId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencesService.html":{"url":"classes/ReferencesService.html","title":"class - ReferencesService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/services/references.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n \n \n \n loadFromTxtFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/services/references.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import fs from 'fs';\n\nexport class ReferencesService {\n\tstatic loadFromTxtFile(filePath: string): string[] {\n\t\tlet fileContent = fs.readFileSync(filePath).toString();\n\n\t\t// Replace all the CRLF occurrences with just a LF.\n\t\tfileContent = fileContent.replace(/\\r\\n?/g, '\\n');\n\n\t\t// Split the whole file content by a line feed (LF) char (\\n).\n\t\tconst fileLines = fileContent.split('\\n');\n\n\t\tconst references: string[] = [];\n\n\t\t// Iterate over all the file lines and if it contains a valid id (which is\n\t\t// basically any non-empty string), add it to the loaded references array.\n\t\tfileLines.forEach((fileLine) => {\n\t\t\tconst reference = fileLine.trim();\n\n\t\t\tif (reference && reference.length > 0) {\n\t\t\t\treferences.push(reference);\n\t\t\t}\n\t\t});\n\n\t\treturn references;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RegistrationPinEntity.html":{"url":"entities/RegistrationPinEntity.html","title":"entity - RegistrationPinEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RegistrationPinEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n importHash\n \n \n \n pin\n \n \n \n verified\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({default: false})\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationPinEntityProps.html":{"url":"interfaces/RegistrationPinEntityProps.html","title":"interface - RegistrationPinEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationPinEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n Optional\n \n id\n \n \n \n \n importHash\n \n \n \n \n pin\n \n \n \n \n verified\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n \n \n importHash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n \n \n pin: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n \n \n verified: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationPinModule.html":{"url":"modules/RegistrationPinModule.html","title":"module - RegistrationPinModule","body":"\n \n\n\n\n\n Modules\n RegistrationPinModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RegistrationPinModule\n\n\n\ncluster_RegistrationPinModule_imports\n\n\n\ncluster_RegistrationPinModule_exports\n\n\n\ncluster_RegistrationPinModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nRegistrationPinModule -->\n\nLoggerModule->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService \n\nRegistrationPinService \n\nRegistrationPinService -->\n\nRegistrationPinModule->RegistrationPinService \n\n\n\n\n\nRegistrationPinRepo\n\nRegistrationPinRepo\n\nRegistrationPinModule -->\n\nRegistrationPinRepo->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService\n\nRegistrationPinService\n\nRegistrationPinModule -->\n\nRegistrationPinService->RegistrationPinModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/registration-pin/registration-pin.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RegistrationPinRepo\n \n \n RegistrationPinService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n RegistrationPinService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { RegistrationPinService } from './service';\nimport { RegistrationPinRepo } from './repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [RegistrationPinService, RegistrationPinRepo],\n\texports: [RegistrationPinService],\n})\nexport class RegistrationPinModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinRepo.html":{"url":"injectables/RegistrationPinRepo.html","title":"injectable - RegistrationPinRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { RegistrationPinEntity } from '../entity';\n\n@Injectable()\nexport class RegistrationPinRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RegistrationPinEntity, { email });\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinService.html":{"url":"injectables/RegistrationPinService.html","title":"injectable - RegistrationPinService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/service/registration-pin.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registrationPinRepo: RegistrationPinRepo)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n registrationPinRepo\n \n \n RegistrationPinRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { RegistrationPinRepo } from '../repo';\n\n@Injectable()\nexport class RegistrationPinService {\n\tconstructor(private readonly registrationPinRepo: RegistrationPinRepo) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\treturn this.registrationPinRepo.deleteRegistrationPinByEmail(email);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RejectRequestBody.html":{"url":"interfaces/RejectRequestBody.html","title":"interface - RejectRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RejectRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/reject-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n error_debug\n \n \n \n Optional\n \n error_description\n \n \n \n Optional\n \n error_hint\n \n \n \n Optional\n \n status_code\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_debug\n \n \n \n \n \n \n \n \n error_debug: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_description\n \n \n \n \n \n \n \n \n error_description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_hint\n \n \n \n \n \n \n \n \n error_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status_code\n \n \n \n \n \n \n \n \n status_code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface RejectRequestBody {\n\terror?: string;\n\n\terror_debug?: string;\n\n\terror_description?: string;\n\n\terror_hint?: string;\n\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RelatedResourceProperties.html":{"url":"interfaces/RelatedResourceProperties.html","title":"interface - RelatedResourceProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RelatedResourceProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n originId\n \n \n \n Optional\n \n relationType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originId\n \n \n \n \n \n \n \n \n originId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relationType\n \n \n \n \n \n \n \n \n relationType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameBodyParams.html":{"url":"classes/RenameBodyParams.html","title":"class - RenameBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/rename.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})@SanitizeHtml()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class RenameBodyParams {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\t@SanitizeHtml()\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameFileParams.html":{"url":"classes/RenameFileParams.html","title":"class - RenameFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:79\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RepoLoader.html":{"url":"interfaces/RepoLoader.html","title":"interface - RepoLoader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RepoLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n populate\n \n \n \n \n repo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n populate\n \n \n \n \n \n \n \n \n populate: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n repo\n \n \n \n \n \n \n \n \n repo: RepoType\n\n \n \n\n\n \n \n Type : RepoType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RequestInfo.html":{"url":"classes/RequestInfo.html","title":"class - RequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n fullPath\n \n \n method\n \n \n routePath\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(req: Request)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n fullPath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n routePath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n \n \n \n hasPath(reqRoute)\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n reqRoute\n\n \n No\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RequestLoggingInterceptor.html":{"url":"injectables/RequestLoggingInterceptor.html","title":"injectable - RequestLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RequestLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/request-logging.interceptor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ICurrentUser } from '@modules/authentication/interface/user';\nimport { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger, RequestLoggingBody } from '@src/core/logger';\nimport { Request } from 'express';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RequestLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.setContext(`${context.getClass().name}::${context.getHandler().name}()`);\n\n\t\tconst req: Request = context.switchToHttp().getRequest();\n\t\tconst currentUser = req.user as ICurrentUser;\n\t\tconst logging: RequestLoggingBody = {\n\t\t\tuserId: currentUser.userId,\n\t\t\trequest: {\n\t\t\t\turl: req.url,\n\t\t\t\tmethod: req.method,\n\t\t\t\tparams: req.params,\n\t\t\t\tquery: req.query,\n\t\t\t},\n\t\t\terror: undefined,\n\t\t};\n\t\treturn next.handle().pipe(\n\t\t\ttap(() => {\n\t\t\t\tthis.logger.http(logging);\n\t\t\t}),\n\t\t\tcatchError((err: unknown) => {\n\t\t\t\tlogging.error = err;\n\t\t\t\tthis.logger.http(logging);\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupDto.html":{"url":"classes/ResolvedGroupDto.html","title":"class - ResolvedGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSource\n \n \n id\n \n \n name\n \n \n Optional\n organizationId\n \n \n type\n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ResolvedGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ResolvedGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSource\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n organizationId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : ResolvedGroupUser[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalSource } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ResolvedGroupUser } from './resolved-group-user';\n\nexport class ResolvedGroupDto {\n\tid: string;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tusers: ResolvedGroupUser[];\n\n\texternalSource?: ExternalSource;\n\n\torganizationId?: string;\n\n\tconstructor(group: ResolvedGroupDto) {\n\t\tthis.id = group.id;\n\t\tthis.name = group.name;\n\t\tthis.type = group.type;\n\t\tthis.users = group.users;\n\t\tthis.externalSource = group.externalSource;\n\t\tthis.organizationId = group.organizationId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupUser.html":{"url":"classes/ResolvedGroupUser.html","title":"class - ResolvedGroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n role\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ResolvedGroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ResolvedGroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleDto\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : UserDO\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserDO } from '@shared/domain/domainobject';\n\nexport class ResolvedGroupUser {\n\tuser: UserDO;\n\n\trole: RoleDto;\n\n\tconstructor(props: ResolvedGroupUser) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserMapper.html":{"url":"classes/ResolvedUserMapper.html","title":"class - ResolvedUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/resolved-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, permissions: string[], roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/resolved-user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : ResolvedUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User } from '@shared/domain/entity';\nimport { ResolvedUserResponse } from '../controller/dto';\n\nexport class ResolvedUserMapper {\n\tstatic mapToResponse(user: User, permissions: string[] = [], roles: Role[] = []): ResolvedUserResponse {\n\t\tconst dto = new ResolvedUserResponse();\n\t\tdto.id = user.id;\n\t\tdto.firstName = user.firstName;\n\t\tdto.lastName = user.lastName;\n\t\tdto.createdAt = user.createdAt;\n\t\tdto.updatedAt = user.updatedAt;\n\t\tdto.schoolId = user.school.toString();\n\t\tdto.roles = roles.map((role) => {\n\t\t\treturn { name: role.name, id: role.id };\n\t\t});\n\n\t\tdto.permissions = permissions;\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserResponse.html":{"url":"classes/ResolvedUserResponse.html","title":"class - ResolvedUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/resolved-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n permissions\n \n \n \n roles\n \n \n \n schoolId\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : Role[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport type Role = {\n\tname: string;\n\n\tid: string;\n};\n\nexport class ResolvedUserResponse {\n\t@ApiProperty()\n\tfirstName!: string;\n\n\t@ApiProperty()\n\tlastName!: string;\n\n\t@ApiProperty()\n\tid!: string;\n\n\t@ApiProperty()\n\tcreatedAt!: Date;\n\n\t@ApiProperty()\n\tupdatedAt!: Date;\n\n\t@ApiProperty()\n\troles!: Role[];\n\n\t@ApiProperty()\n\tpermissions!: string[];\n\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResponseInfo.html":{"url":"classes/ResponseInfo.html","title":"class - ResponseInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResponseInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(res: Response)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n \n Response\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RestartUserLoginMigrationUc.html":{"url":"injectables/RestartUserLoginMigrationUc.html","title":"injectable - RestartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RestartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolMigrationService: SchoolMigrationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationNotFoundLoggableException, UserLoginMigrationStartLoggable } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class RestartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(RestartUserLoginMigrationUc.name);\n\t}\n\n\tpublic async restartMigration(userId: string, schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.restartMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(updatedUserLoginMigration);\n\n\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, updatedUserLoginMigration.id));\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RestrictedContextMismatchLoggable.html":{"url":"classes/RestrictedContextMismatchLoggable.html","title":"class - RestrictedContextMismatchLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RestrictedContextMismatchLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolName: string, context: ToolContextType)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n ToolContextType\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ToolContextType } from '../../common/enum';\n\nexport class RestrictedContextMismatchLoggable extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalToolName: string, private readonly context: ToolContextType) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst message: LogMessage | ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\ttype: 'UNPROCESSABLE_ENTITY_EXCEPTION',\n\t\t\tmessage: `Could not create an instance of ${this.externalToolName} in context: ${this.context} because of the context restrictions of the tool.`,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolName: this.externalToolName,\n\t\t\t\tcontext: this.context,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RetryOptions.html":{"url":"interfaces/RetryOptions.html","title":"interface - RetryOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RetryOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n retryCount\n \n \n \n Optional\n \n retryDelay\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n retryCount\n \n \n \n \n \n \n \n \n retryCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n retryDelay\n \n \n \n \n \n \n \n \n retryDelay: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RevokeConsentParams.html":{"url":"classes/RevokeConsentParams.html","title":"class - RevokeConsentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RevokeConsentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth2 client id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class RevokeConsentParams {\n\t@IsString()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: true, nullable: false })\n\tclient!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichText.html":{"url":"classes/RichText.html","title":"class - RichText","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichText\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/rich-text.types.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichText)\n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichText\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the rich text element'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Input format of the rich text element', enum: InputFormat})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { sanitizeRichText } from '../../controller/transformer/sanitize-html.transformer';\nimport { InputFormat } from './input-format.types';\n\nexport class RichText {\n\tconstructor({ content, type }: RichText) {\n\t\tthis.content = sanitizeRichText(content, type);\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the rich text element',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Input format of the rich text element',\n\t\tenum: InputFormat,\n\t})\n\ttype: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextContentBody.html":{"url":"classes/RichTextContentBody.html","title":"class - RichTextContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(InputFormat)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElement.html":{"url":"classes/RichTextElement.html","title":"class - RichTextElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n inputFormat\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n\n \n \n gettext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:6\n \n \n\n \n \n settext(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n\n \n \n getinputFormat()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:14\n \n \n\n \n \n setinputFormat(value: InputFormat)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n InputFormat\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContent.html":{"url":"classes/RichTextElementContent.html","title":"class - RichTextElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContentBody.html":{"url":"classes/RichTextElementContentBody.html","title":"class - RichTextElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:93\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RichTextElementNode.html":{"url":"entities/RichTextElementNode.html","title":"entity - RichTextElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n RichTextElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementNodeProps.html":{"url":"interfaces/RichTextElementNodeProps.html","title":"interface - RichTextElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementProps.html":{"url":"interfaces/RichTextElementProps.html","title":"interface - RichTextElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponse.html":{"url":"classes/RichTextElementResponse.html","title":"class - RichTextElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponseMapper.html":{"url":"classes/RichTextElementResponseMapper.html","title":"class - RichTextElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : RichTextElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:9\n \n \n\n\n \n \n\n \n Returns : RichTextElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, RichTextElement } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../dto';\nimport { RichTextElementContent, RichTextElementResponse } from '../dto/element/rich-text-element.response';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class RichTextElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: RichTextElementResponseMapper;\n\n\tpublic static getInstance(): RichTextElementResponseMapper {\n\t\tif (!RichTextElementResponseMapper.instance) {\n\t\t\tRichTextElementResponseMapper.instance = new RichTextElementResponseMapper();\n\t\t}\n\n\t\treturn RichTextElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: RichTextElement): RichTextElementResponse {\n\t\tconst result = new RichTextElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.RICH_TEXT,\n\t\t\tcontent: new RichTextElementContent({ text: element.text, inputFormat: element.inputFormat }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: RichTextElement): boolean {\n\t\treturn element instanceof RichTextElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatError.html":{"url":"classes/RocketChatError.html","title":"class - RocketChatError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n errorType\n \n \n Private\n response\n \n \n Private\n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(e: any)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n errorType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n response\n \n \n \n \n \n \n Type : GenericData\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatGroupModel.html":{"url":"interfaces/RocketChatGroupModel.html","title":"interface - RocketChatGroupModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatGroupModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group\n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group\n \n \n \n \n \n \n \n \n group: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatModule.html":{"url":"modules/RocketChatModule.html","title":"module - RocketChatModule","body":"\n \n\n\n\n\n Modules\n RocketChatModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: RocketChatOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.module.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RocketChatOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { RocketChatOptions, RocketChatService } from './rocket-chat.service';\n\n@Module({})\nexport class RocketChatModule {\n\tstatic forRoot(options: RocketChatOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: RocketChatModule,\n\t\t\timports: [HttpModule],\n\t\t\tproviders: [\n\t\t\t\tRocketChatService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ROCKET_CHAT_OPTIONS',\n\t\t\t\t\tuseValue: options,\n\t\t\t\t},\n\t\t\t],\n\t\t\texports: [RocketChatService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatOptions.html":{"url":"interfaces/RocketChatOptions.html","title":"interface - RocketChatOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n adminId\n \n \n \n Optional\n \n adminPassword\n \n \n \n Optional\n \n adminToken\n \n \n \n Optional\n \n adminUser\n \n \n \n Optional\n \n uri\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n adminId\n \n \n \n \n \n \n \n \n adminId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminPassword\n \n \n \n \n \n \n \n \n adminPassword: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminToken\n \n \n \n \n \n \n \n \n adminToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminUser\n \n \n \n \n \n \n \n \n adminUser: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n uri\n \n \n \n \n \n \n \n \n uri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUser.html":{"url":"classes/RocketChatUser.html","title":"class - RocketChatUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n username\n \n \n rcId\n \n \n authToken\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:14\n \n \n\n \n \n \n \n \n \n \n username\n \n \n\n \n \n getusername()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:18\n \n \n\n \n \n \n \n \n \n \n rcId\n \n \n\n \n \n getrcId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:22\n \n \n\n \n \n \n \n \n \n \n authToken\n \n \n\n \n \n getauthToken()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:26\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:30\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:34\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RocketChatUserEntity.html":{"url":"entities/RocketChatUserEntity.html","title":"entity - RocketChatUserEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RocketChatUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n rcId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:20\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserEntityProps.html":{"url":"interfaces/RocketChatUserEntityProps.html","title":"interface - RocketChatUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n id\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserFactory.html":{"url":"classes/RocketChatUserFactory.html","title":"class - RocketChatUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '@shared/testing';\nimport { RocketChatUserEntity, RocketChatUserEntityProps } from '../rocket-chat-user.entity';\n\nclass RocketChatUserFactory extends BaseFactory {}\n\nexport const rocketChatUserEntityFactory = RocketChatUserFactory.define(RocketChatUserEntity, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tuserId: new ObjectId(),\n\t\tusername: `username-${sequence}`,\n\t\trcId: `rcId-${sequence}`,\n\t\tauthToken: `aythToken-${sequence}`,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserMapper.html":{"url":"classes/RocketChatUserMapper.html","title":"class - RocketChatUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: RocketChatUserEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n RocketChatUserEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: RocketChatUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n RocketChatUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { RocketChatUserEntity } from '../../entity';\nimport { RocketChatUser } from '../../domain/rocket-chat-user.do';\n\nexport class RocketChatUserMapper {\n\tstatic mapToDO(entity: RocketChatUserEntity): RocketChatUser {\n\t\treturn new RocketChatUser({\n\t\t\tid: entity.id,\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tusername: entity.username,\n\t\t\trcId: entity.rcId,\n\t\t\tauthToken: entity.authToken,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: RocketChatUser): RocketChatUserEntity {\n\t\treturn new RocketChatUserEntity({\n\t\t\tid: domainObject.id,\n\t\t\tuserId: new ObjectId(domainObject.userId),\n\t\t\tusername: domainObject.username,\n\t\t\trcId: domainObject.rcId,\n\t\t\tauthToken: domainObject.authToken,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatUserModule.html":{"url":"modules/RocketChatUserModule.html","title":"module - RocketChatUserModule","body":"\n \n\n\n\n\n Modules\n RocketChatUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RocketChatUserModule\n\n\n\ncluster_RocketChatUserModule_providers\n\n\n\ncluster_RocketChatUserModule_exports\n\n\n\n\nRocketChatUserService \n\nRocketChatUserService \n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nRocketChatUserService -->\n\nRocketChatUserModule->RocketChatUserService \n\n\n\n\n\nRocketChatUserRepo\n\nRocketChatUserRepo\n\nRocketChatUserModule -->\n\nRocketChatUserRepo->RocketChatUserModule\n\n\n\n\n\nRocketChatUserService\n\nRocketChatUserService\n\nRocketChatUserModule -->\n\nRocketChatUserService->RocketChatUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat-user/rocketchat-user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RocketChatUserRepo\n \n \n RocketChatUserService\n \n \n \n \n Exports\n \n \n RocketChatUserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RocketChatUserRepo } from './repo';\nimport { RocketChatUserService } from './service/rocket-chat-user.service';\n\n@Module({\n\tproviders: [RocketChatUserRepo, RocketChatUserService],\n\texports: [RocketChatUserService],\n})\nexport class RocketChatUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserProps.html":{"url":"interfaces/RocketChatUserProps.html","title":"interface - RocketChatUserProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserRepo.html":{"url":"injectables/RocketChatUserRepo.html","title":"injectable - RocketChatUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain/rocket-chat-user.do';\nimport { RocketChatUserEntity } from '../entity';\nimport { RocketChatUserMapper } from './mapper';\n\n@Injectable()\nexport class RocketChatUserRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn RocketChatUserEntity;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entity: RocketChatUserEntity = await this.em.findOneOrFail(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\tconst mapped: RocketChatUser = RocketChatUserMapper.mapToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserService.html":{"url":"injectables/RocketChatUserService.html","title":"injectable - RocketChatUserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n Public\n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(rocketChatUserRepo: RocketChatUserRepo)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n rocketChatUserRepo\n \n \n RocketChatUserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain';\nimport { RocketChatUserRepo } from '../repo';\n\n@Injectable()\nexport class RocketChatUserService {\n\tconstructor(private readonly rocketChatUserRepo: RocketChatUserRepo) {}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst user: RocketChatUser = await this.rocketChatUserRepo.findByUserId(userId);\n\n\t\treturn user;\n\t}\n\n\tpublic deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.rocketChatUserRepo.deleteByUserId(userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Role.html":{"url":"entities/Role.html","title":"entity - Role","body":"\n \n\n\n\n\n\n\n\n Entities\n Role\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n permissions\n \n \n \n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany({entity: 'Role'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleDto.html":{"url":"classes/RoleDto.html","title":"class - RoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/dto/role.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n Optional\n permissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleDto)\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission, RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class RoleDto {\n\tid?: EntityId;\n\n\tname: RoleName;\n\n\tpermissions?: Permission[];\n\n\tconstructor(props: RoleDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleMapper.html":{"url":"classes/RoleMapper.html","title":"class - RoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/mapper/role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(enities: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enities\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: Role)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Role } from '@shared/domain/entity';\n\nexport class RoleMapper {\n\tstatic mapFromEntityToDto(entity: Role): RoleDto {\n\t\treturn new RoleDto({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tpermissions: entity.permissions,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(enities: Role[]): RoleDto[] {\n\t\treturn enities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RoleModule.html":{"url":"modules/RoleModule.html","title":"module - RoleModule","body":"\n \n\n\n\n\n Modules\n RoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RoleModule\n\n\n\ncluster_RoleModule_providers\n\n\n\ncluster_RoleModule_exports\n\n\n\n\nRoleRepo \n\nRoleRepo \n\n\n\nRoleService \n\nRoleService \n\n\n\nRoleUc \n\nRoleUc \n\n\n\nRoleModule\n\nRoleModule\n\nRoleRepo -->\n\nRoleModule->RoleRepo \n\n\n\nRoleService -->\n\nRoleModule->RoleService \n\n\n\nRoleUc -->\n\nRoleModule->RoleUc \n\n\n\n\n\nRoleRepo\n\nRoleRepo\n\nRoleModule -->\n\nRoleRepo->RoleModule\n\n\n\n\n\nRoleService\n\nRoleService\n\nRoleModule -->\n\nRoleService->RoleModule\n\n\n\n\n\nRoleUc\n\nRoleUc\n\nRoleModule -->\n\nRoleUc->RoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/role/role.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n Exports\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { RoleUc } from '@modules/role/uc/role.uc';\n\n@Module({\n\tproviders: [RoleRepo, RoleService, RoleUc],\n\texports: [RoleService, RoleUc, RoleRepo],\n})\nexport class RoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleNameMapper.html":{"url":"classes/RoleNameMapper.html","title":"class - RoleNameMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleNameMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/role-name.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(roleName: FilterRoleType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n FilterRoleType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserRoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(roleName: IImportUserRoleName)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n IImportUserRoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserRole\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { FilterRoleType, UserRole } from '../controller/dto';\n\nexport class RoleNameMapper {\n\tstatic mapToResponse(roleName: IImportUserRoleName): UserRole {\n\t\tif (roleName === RoleName.ADMINISTRATOR) return UserRole.ADMIN;\n\t\tif (roleName === RoleName.TEACHER) return UserRole.TEACHER;\n\t\tif (roleName === RoleName.STUDENT) return UserRole.STUDENT;\n\t\tthrow Error('invalid role name from domain');\n\t}\n\n\tstatic mapToDomain(roleName: FilterRoleType): IImportUserRoleName {\n\t\tif (roleName === FilterRoleType.ADMIN) return RoleName.ADMINISTRATOR;\n\t\tif (roleName === FilterRoleType.TEACHER) return RoleName.TEACHER;\n\t\tif (roleName === FilterRoleType.STUDENT) return RoleName.STUDENT;\n\t\tthrow Error('invalid role name from query');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RoleProperties.html":{"url":"interfaces/RoleProperties.html","title":"interface - RoleProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RoleProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n permissions\n \n \n \n Optional\n \n roles\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: RoleName\n\n \n \n\n\n \n \n Type : RoleName\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleReference.html":{"url":"classes/RoleReference.html","title":"class - RoleReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/role-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '../interface';\nimport { EntityId } from '../types';\n\nexport class RoleReference {\n\tid: EntityId;\n\n\tname: RoleName;\n\n\tconstructor(props: RoleReference) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleRepo.html":{"url":"injectables/RoleRepo.html","title":"injectable - RoleRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/role/role.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByName\n \n \n Async\n findByNames\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class RoleRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Role;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findByName(name: RoleName): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { name }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { id }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { name: { $in: names } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByIds(ids: string[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { id: { $in: ids } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleService.html":{"url":"injectables/RoleService.html","title":"injectable - RoleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/role.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByNames\n \n \n Async\n getProtectedRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleRepo: RoleRepo)\n \n \n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleRepo\n \n \n RoleRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getProtectedRoles\n \n \n \n \n \n \n \n getProtectedRoles()\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:13\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleMapper } from '../mapper/role.mapper';\nimport { RoleDto } from './dto/role.dto';\n\n@Injectable()\nexport class RoleService {\n\tconstructor(private readonly roleRepo: RoleRepo) {}\n\n\tasync getProtectedRoles(): Promise {\n\t\tconst roleDtos: RoleDto[] = await this.findByNames([RoleName.ADMINISTRATOR, RoleName.TEACHER]);\n\t\treturn roleDtos;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: Role = await this.roleRepo.findById(id);\n\t\tconst roleDto: RoleDto = RoleMapper.mapFromEntityToDto(entity);\n\t\treturn roleDto;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst roles: Role[] = await this.roleRepo.findByIds(ids);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(roles);\n\t\treturn roleDtos;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst entities: Role[] = await this.roleRepo.findByNames(names);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(entities);\n\t\treturn roleDtos;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleUc.html":{"url":"injectables/RoleUc.html","title":"injectable - RoleUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/uc/role.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleService: RoleService)\n \n \n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\n\n@Injectable()\nexport class RoleUc {\n\tconstructor(private readonly roleService: RoleService) {}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this.roleService.findByNames(names);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardDTOFactory.html":{"url":"injectables/RoomBoardDTOFactory.html","title":"injectable - RoomBoardDTOFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardDTOFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createDTO\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisationService: AuthorizationService, roomsAuthorisationService: RoomsAuthorisationService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:186\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n roomsAuthorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createDTO\n \n \n \n \n \n \ncreateDTO(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardResponseMapper.html":{"url":"injectables/RoomBoardResponseMapper.html","title":"injectable - RoomBoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n Private\n mapColumnBoard\n \n \n Private\n mapLesson\n \n \n Private\n mapTask\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(board: RoomBoardDTO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n RoomBoardDTO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SingleColumnBoardResponse\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapColumnBoard\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapLesson\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapTask\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:47\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, TaskWithStatusVo } from '@shared/domain/entity';\nimport {\n\tBoardElementResponse,\n\tBoardLessonResponse,\n\tBoardTaskResponse,\n\tSingleColumnBoardResponse,\n} from '../controller/dto';\nimport { BoardColumnBoardResponse } from '../controller/dto/single-column-board/board-column-board.response';\nimport { ColumnBoardMetaData, LessonMetaData, RoomBoardDTO, RoomBoardElementTypes } from '../types';\nimport { BoardTaskStatusMapper } from './board-taskStatus.mapper';\n\n@Injectable()\nexport class RoomBoardResponseMapper {\n\tmapToResponse(board: RoomBoardDTO): SingleColumnBoardResponse {\n\t\tconst elements = this.mapBoardElements(board);\n\n\t\tconst mapped = new SingleColumnBoardResponse({\n\t\t\troomId: board.roomId,\n\t\t\ttitle: board.title,\n\t\t\tdisplayColor: board.displayColor,\n\t\t\telements,\n\t\t\tisArchived: board.isArchived,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapBoardElements = (board: RoomBoardDTO): BoardElementResponse[] => {\n\t\tconst elements: BoardElementResponse[] = [];\n\t\tboard.elements.forEach((element) => {\n\t\t\tif (element.type === RoomBoardElementTypes.TASK) {\n\t\t\t\telements.push(this.mapTask(element.content as TaskWithStatusVo));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.LESSON) {\n\t\t\t\telements.push(this.mapLesson(element.content as LessonMetaData));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.COLUMN_BOARD) {\n\t\t\t\telements.push(this.mapColumnBoard(element.content as ColumnBoardMetaData));\n\t\t\t}\n\t\t});\n\t\treturn elements;\n\t};\n\n\tprivate mapTask = (taskWithStatus: TaskWithStatusVo): BoardElementResponse => {\n\t\tconst { task: boardTask, status } = taskWithStatus;\n\t\tconst boardTaskDesc = boardTask.getParentData();\n\t\tconst boardTaskStatus = BoardTaskStatusMapper.mapToResponse(status);\n\n\t\tconst mappedTask = new BoardTaskResponse({\n\t\t\tid: boardTask.id,\n\t\t\tname: boardTask.name,\n\t\t\tcreatedAt: boardTask.createdAt,\n\t\t\tupdatedAt: boardTask.updatedAt,\n\t\t\tstatus: boardTaskStatus,\n\t\t});\n\n\t\tconst taskCourse = boardTask.course as Course;\n\t\tmappedTask.courseName = taskCourse.name;\n\t\tmappedTask.availableDate = boardTask.availableDate;\n\t\tmappedTask.dueDate = boardTask.dueDate;\n\t\tmappedTask.displayColor = boardTaskDesc.color;\n\t\tmappedTask.description = boardTask.description;\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.TASK,\n\t\t\tcontent: mappedTask,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapLesson = (lesson: LessonMetaData): BoardElementResponse => {\n\t\tconst mappedLesson = new BoardLessonResponse({\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tnumberOfPublishedTasks: lesson.numberOfPublishedTasks,\n\t\t\tnumberOfDraftTasks: lesson.numberOfDraftTasks,\n\t\t\tnumberOfPlannedTasks: lesson.numberOfPlannedTasks,\n\t\t\tcourseName: lesson.courseName,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.LESSON,\n\t\t\tcontent: mappedLesson,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapColumnBoard = (columnBoardInfo: ColumnBoardMetaData): BoardElementResponse => {\n\t\tconst mappedColumnBoard = new BoardColumnBoardResponse({\n\t\t\tid: columnBoardInfo.id,\n\t\t\tcolumnBoardId: columnBoardInfo.columnBoardId,\n\t\t\ttitle: columnBoardInfo.title,\n\t\t\tpublished: columnBoardInfo.published,\n\t\t\tcreatedAt: columnBoardInfo.createdAt,\n\t\t\tupdatedAt: columnBoardInfo.updatedAt,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.COLUMN_BOARD,\n\t\t\tcontent: mappedColumnBoard,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomElementUrlParams.html":{"url":"classes/RoomElementUrlParams.html","title":"class - RoomElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element within the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element within the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\telementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomUrlParams.html":{"url":"classes/RoomUrlParams.html","title":"class - RoomUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsAuthorisationService.html":{"url":"injectables/RoomsAuthorisationService.html","title":"injectable - RoomsAuthorisationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsAuthorisationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasCourseReadPermission\n \n \n hasCourseWritePermission\n \n \n hasLessonReadPermission\n \n \n hasTaskReadPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasCourseReadPermission\n \n \n \n \n \n \nhasCourseReadPermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasCourseWritePermission\n \n \n \n \n \n \nhasCourseWritePermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasLessonReadPermission\n \n \n \n \n \n \nhasLessonReadPermission(user: User, lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasTaskReadPermission\n \n \n \n \n \n \nhasTaskReadPermission(user: User, task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\n\nexport enum TaskParentPermission {\n\tread,\n\twrite,\n}\n\n@Injectable()\nexport class RoomsAuthorisationService {\n\thasCourseWritePermission(user: User, course: Course): boolean {\n\t\tconst hasPermission = course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasCourseReadPermission(user: User, course: Course): boolean {\n\t\tconst hasPermission =\n\t\t\tcourse.students.contains(user) || course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasTaskReadPermission(user: User, task: Task): boolean {\n\t\tconst isCreator = task.creator === user;\n\t\tlet hasCoursePermission = false;\n\n\t\tif (task.lesson) {\n\t\t\tthrow new NotImplementedException('rooms currenlty do not support tasks in lessons');\n\t\t}\n\n\t\tif (task.course) {\n\t\t\thasCoursePermission = this.hasCourseReadPermission(user, task.course);\n\n\t\t\tif (!task.isPublished()) {\n\t\t\t\thasCoursePermission = this.hasCourseWritePermission(user, task.course);\n\t\t\t}\n\t\t}\n\n\t\tconst hasPermission = isCreator || hasCoursePermission;\n\n\t\treturn hasPermission;\n\t}\n\n\thasLessonReadPermission(user: User, lesson: LessonEntity): boolean {\n\t\tlet hasCoursePermission = false;\n\t\thasCoursePermission = this.hasCourseReadPermission(user, lesson.course);\n\t\tif (lesson.hidden) {\n\t\t\thasCoursePermission = this.hasCourseWritePermission(user, lesson.course);\n\t\t}\n\n\t\treturn hasCoursePermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/RoomsController.html":{"url":"controllers/RoomsController.html","title":"controller - RoomsController","body":"\n \n\n\n\n\n\n\n Controllers\n RoomsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/rooms.controller.ts\n \n\n \n Prefix\n \n \n rooms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n Async\n copyLesson\n \n \n \n Async\n getRoomBoard\n \n \n \n Async\n patchElementVisibility\n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(currentUser: ICurrentUser, urlParams: RoomUrlParams)\n \n \n\n \n \n Decorators : \n \n @Post(':roomId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(currentUser: ICurrentUser, urlParams: LessonUrlParams, params: LessonCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post('lessons/:lessonId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getRoomBoard\n \n \n \n \n \n \n \n getRoomBoard(urlParams: RoomUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':roomId/board')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchElementVisibility\n \n \n \n \n \n \n \n patchElementVisibility(urlParams: RoomElementUrlParams, params: PatchVisibilityParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/elements/:elementId/visibility')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomElementUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchVisibilityParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n \n \n \n patchOrderingOfElements(urlParams: RoomUrlParams, params: PatchOrderParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/board/order')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchOrderParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { serverConfig } from '@modules/server/server.config';\nimport { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { RoomBoardResponseMapper } from '../mapper/room-board-response.mapper';\nimport { CourseCopyUC } from '../uc/course-copy.uc';\nimport { LessonCopyUC } from '../uc/lesson-copy.uc';\nimport { RoomsUc } from '../uc/rooms.uc';\nimport {\n\tLessonCopyApiParams,\n\tLessonUrlParams,\n\tPatchOrderParams,\n\tPatchVisibilityParams,\n\tRoomElementUrlParams,\n\tRoomUrlParams,\n\tSingleColumnBoardResponse,\n} from './dto';\n\n@ApiTags('Rooms')\n@Authenticate('jwt')\n@Controller('rooms')\nexport class RoomsController {\n\tconstructor(\n\t\tprivate readonly roomsUc: RoomsUc,\n\t\tprivate readonly mapper: RoomBoardResponseMapper,\n\t\tprivate readonly courseCopyUc: CourseCopyUC,\n\t\tprivate readonly lessonCopyUc: LessonCopyUC\n\t) {}\n\n\t@Get(':roomId/board')\n\tasync getRoomBoard(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.roomsUc.getBoard(urlParams.roomId, currentUser.userId);\n\t\tconst mapped = this.mapper.mapToResponse(board);\n\t\treturn mapped;\n\t}\n\n\t@Patch(':roomId/elements/:elementId/visibility')\n\tasync patchElementVisibility(\n\t\t@Param() urlParams: RoomElementUrlParams,\n\t\t@Body() params: PatchVisibilityParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.updateVisibilityOfBoardElement(\n\t\t\turlParams.roomId,\n\t\t\turlParams.elementId,\n\t\t\tcurrentUser.userId,\n\t\t\tparams.visibility\n\t\t);\n\t}\n\n\t@Patch(':roomId/board/order')\n\tasync patchOrderingOfElements(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@Body() params: PatchOrderParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.reorderBoardElements(urlParams.roomId, currentUser.userId, params.elements);\n\t}\n\n\t@Post(':roomId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: RoomUrlParams\n\t): Promise {\n\t\tconst copyStatus = await this.courseCopyUc.copyCourse(currentUser.userId, urlParams.roomId);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Post('lessons/:lessonId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyLesson(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: LessonUrlParams,\n\t\t@Body() params: LessonCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.lessonCopyUc.copyLesson(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.lessonId,\n\t\t\tCopyMapper.mapLessonCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsService.html":{"url":"injectables/RoomsService.html","title":"injectable - RoomsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/rooms.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n Async\n updateBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService, lessonService: LessonService, boardRepo: BoardRepo, columnBoardService: ColumnBoardService, columnBoardTargetService: ColumnBoardTargetService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnBoardTargetService\n \n \n ColumnBoardTargetService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n \n \n \n \n \n handleColumnBoardIntegration(roomId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoard\n \n \n \n \n \n \n \n updateBoard(board: Board, roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ColumnBoardService } from '@modules/board';\nimport { LessonService } from '@modules/lesson';\nimport { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { Board, ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo } from '@shared/repo';\nimport { ColumnBoardTargetService } from './column-board-target.service';\n\n@Injectable()\nexport class RoomsService {\n\tconstructor(\n\t\tprivate readonly taskService: TaskService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnBoardTargetService: ColumnBoardTargetService\n\t) {}\n\n\tasync updateBoard(board: Board, roomId: EntityId, userId: EntityId): Promise {\n\t\tconst [courseLessons] = await this.lessonService.findByCourseIds([roomId]);\n\t\tconst [courseTasks] = await this.taskService.findBySingleParent(userId, roomId);\n\n\t\tconst courseColumnBoardTargets = await this.handleColumnBoardIntegration(roomId);\n\n\t\tconst boardElementTargets = [...courseLessons, ...courseTasks, ...courseColumnBoardTargets];\n\n\t\tboard.syncBoardElementReferences(boardElementTargets);\n\n\t\tawait this.boardRepo.save(board);\n\t\treturn board;\n\t}\n\n\tprivate async handleColumnBoardIntegration(roomId: EntityId): Promise {\n\t\tlet courseColumnBoardTargets: ColumnBoardTarget[] = [];\n\n\t\tif ((Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true) {\n\t\t\tconst courseReference = {\n\t\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\t\tid: roomId,\n\t\t\t};\n\n\t\t\tconst columnBoardIds = await this.columnBoardService.findIdsByExternalReference(courseReference);\n\t\t\tif (columnBoardIds.length === 0) {\n\t\t\t\tconst columnBoard = await this.columnBoardService.createWelcomeColumnBoard(courseReference);\n\t\t\t\tcolumnBoardIds.push(columnBoard.id);\n\t\t\t}\n\n\t\t\tcourseColumnBoardTargets = await this.columnBoardTargetService.findOrCreateTargets(columnBoardIds);\n\t\t}\n\t\treturn courseColumnBoardTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsUc.html":{"url":"injectables/RoomsUc.html","title":"injectable - RoomsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getBoard\n \n \n Async\n reorderBoardElements\n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, userRepo: UserRepo, boardRepo: BoardRepo, factory: RoomBoardDTOFactory, authorisationService: RoomsAuthorisationService, roomsService: RoomsService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n factory\n \n \n RoomBoardDTOFactory\n \n \n \n No\n \n \n \n \n authorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getBoard\n \n \n \n \n \n \n \n getBoard(roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n reorderBoardElements\n \n \n \n \n \n \n \n reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n orderedList\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n \n \n \n updateVisibilityOfBoardElement(roomId: EntityId, elementId: EntityId, userId: EntityId, visibility: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n visibility\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { RoomsService } from '../service/rooms.service';\nimport { RoomBoardDTO } from '../types';\nimport { RoomBoardDTOFactory } from './room-board-dto.factory';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\n@Injectable()\nexport class RoomsUc {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly factory: RoomBoardDTOFactory,\n\t\tprivate readonly authorisationService: RoomsAuthorisationService,\n\t\tprivate readonly roomsService: RoomsService\n\t) {}\n\n\tasync getBoard(roomId: EntityId, userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tconst board = await this.boardRepo.findByCourseId(roomId);\n\n\t\tawait this.roomsService.updateBoard(board, roomId, userId);\n\n\t\tconst roomBoardDTO = this.factory.createDTO({ room: course, board, user });\n\t\treturn roomBoardDTO;\n\t}\n\n\tasync updateVisibilityOfBoardElement(\n\t\troomId: EntityId,\n\t\telementId: EntityId,\n\t\tuserId: EntityId,\n\t\tvisibility: boolean\n\t): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tconst element = board.getByTargetId(elementId);\n\t\tif (visibility) {\n\t\t\telement.publish();\n\t\t} else {\n\t\t\telement.unpublish();\n\t\t}\n\t\tawait this.boardRepo.save(board);\n\t}\n\n\tasync reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[]): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tboard.reorderElements(orderedList);\n\t\tawait this.boardRepo.save(board);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RpcMessage.html":{"url":"interfaces/RpcMessage.html","title":"interface - RpcMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RpcMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n message\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: IError\n\n \n \n\n\n \n \n Type : IError\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RpcMessageProducer.html":{"url":"classes/RpcMessageProducer.html","title":"class - RpcMessageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RpcMessageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message-producer.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, exchange: string, timeout: number)\n \n \n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n exchange\n \n \n string\n \n \n \n No\n \n \n \n \n timeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:21\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:12\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { ErrorMapper } from './error.mapper';\nimport { RpcMessage } from './rpc-message';\n\nexport abstract class RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprotected readonly exchange: string,\n\t\tprotected readonly timeout: number\n\t) {}\n\n\tprotected async request(event: string, payload: unknown) {\n\t\tconst response = await this.amqpConnection.request>(this.createRequest(event, payload));\n\n\t\tthis.checkError(response);\n\t\treturn response.message;\n\t}\n\n\t// need to be fixed with https://ticketsystem.dbildungscloud.de/browse/BC-2984\n\t// mapRpcErrorResponseToDomainError should also removed with this ticket\n\tprotected checkError(response: RpcMessage) {\n\t\tconst { error } = response;\n\t\tif (error) {\n\t\t\tconst domainError = ErrorMapper.mapRpcErrorResponseToDomainError(error);\n\t\t\tthrow domainError;\n\t\t}\n\t}\n\n\tprotected createRequest(event: string, payload: unknown) {\n\t\treturn {\n\t\t\texchange: this.exchange,\n\t\t\troutingKey: event,\n\t\t\tpayload,\n\t\t\ttimeout: this.timeout,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rule.html":{"url":"interfaces/Rule.html","title":"interface - Rule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/rule.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n isApplicable\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n \n \nhasPermission(user: User, object: T, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isApplicable\n \n \n \n \n \n \nisApplicable(user: User, object: T, context?: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext } from './authorization-context.interface';\n\nexport interface Rule {\n\tisApplicable(user: User, object: T, context?: AuthorizationContext): boolean;\n\thasPermission(user: User, object: T, context: AuthorizationContext): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RuleManager.html":{"url":"injectables/RuleManager.html","title":"injectable - RuleManager","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RuleManager\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/rule-manager.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n rules\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n matchSingleRule\n \n \n Public\n selectRule\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRule: CourseRule, courseGroupRule: CourseGroupRule, lessonRule: LessonRule, legaySchoolRule: LegacySchoolRule, taskRule: TaskRule, userRule: UserRule, teamRule: TeamRule, submissionRule: SubmissionRule, schoolExternalToolRule: SchoolExternalToolRule, boardDoRule: BoardDoRule, contextExternalToolRule: ContextExternalToolRule, userLoginMigrationRule: UserLoginMigrationRule, groupRule: GroupRule, systemRule: SystemRule, schoolSystemOptionsRule: SchoolSystemOptionsRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n legaySchoolRule\n \n \n LegacySchoolRule\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n userRule\n \n \n UserRule\n \n \n \n No\n \n \n \n \n teamRule\n \n \n TeamRule\n \n \n \n No\n \n \n \n \n submissionRule\n \n \n SubmissionRule\n \n \n \n No\n \n \n \n \n schoolExternalToolRule\n \n \n SchoolExternalToolRule\n \n \n \n No\n \n \n \n \n boardDoRule\n \n \n BoardDoRule\n \n \n \n No\n \n \n \n \n contextExternalToolRule\n \n \n ContextExternalToolRule\n \n \n \n No\n \n \n \n \n userLoginMigrationRule\n \n \n UserLoginMigrationRule\n \n \n \n No\n \n \n \n \n groupRule\n \n \n GroupRule\n \n \n \n No\n \n \n \n \n systemRule\n \n \n SystemRule\n \n \n \n No\n \n \n \n \n schoolSystemOptionsRule\n \n \n SchoolSystemOptionsRule\n \n \n \n No\n \n \n \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: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 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: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 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:26\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSchoolSystemOptionsRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from '../rules';\nimport type { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class RuleManager {\n\tprivate readonly rules: Rule[];\n\n\tconstructor(\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule,\n\t\tprivate readonly lessonRule: LessonRule,\n\t\tprivate readonly legaySchoolRule: LegacySchoolRule,\n\t\tprivate readonly taskRule: TaskRule,\n\t\tprivate readonly userRule: UserRule,\n\t\tprivate readonly teamRule: TeamRule,\n\t\tprivate readonly submissionRule: SubmissionRule,\n\t\tprivate readonly schoolExternalToolRule: SchoolExternalToolRule,\n\t\tprivate readonly boardDoRule: BoardDoRule,\n\t\tprivate readonly contextExternalToolRule: ContextExternalToolRule,\n\t\tprivate readonly userLoginMigrationRule: UserLoginMigrationRule,\n\t\tprivate readonly groupRule: GroupRule,\n\t\tprivate readonly systemRule: SystemRule,\n\t\tprivate readonly schoolSystemOptionsRule: SchoolSystemOptionsRule\n\t) {\n\t\tthis.rules = [\n\t\t\tthis.courseRule,\n\t\t\tthis.courseGroupRule,\n\t\t\tthis.lessonRule,\n\t\t\tthis.taskRule,\n\t\t\tthis.teamRule,\n\t\t\tthis.userRule,\n\t\t\tthis.legaySchoolRule,\n\t\t\tthis.submissionRule,\n\t\t\tthis.schoolExternalToolRule,\n\t\t\tthis.boardDoRule,\n\t\t\tthis.contextExternalToolRule,\n\t\t\tthis.userLoginMigrationRule,\n\t\t\tthis.groupRule,\n\t\t\tthis.systemRule,\n\t\t\tthis.schoolSystemOptionsRule,\n\t\t];\n\t}\n\n\tpublic selectRule(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): Rule {\n\t\tconst selectedRules = this.rules.filter((rule) => rule.isApplicable(user, object, context));\n\t\tconst rule = this.matchSingleRule(selectedRules);\n\n\t\treturn rule;\n\t}\n\n\tprivate matchSingleRule(rules: Rule[]) {\n\t\tif (rules.length === 0) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\tif (rules.length > 1) {\n\t\t\tthrow new InternalServerErrorException('MULTIPLE_MATCHES_ARE_NOT_ALLOWED');\n\t\t}\n\t\treturn rules[0];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/S3ClientAdapter.html":{"url":"injectables/S3ClientAdapter.html","title":"injectable - S3ClientAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n S3ClientAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n Public\n Async\n copy\n \n \n Public\n Async\n create\n \n \n Public\n Async\n createBucket\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n deleteDirectory\n \n \n Public\n Async\n get\n \n \n Public\n Async\n head\n \n \n Public\n Async\n list\n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n Public\n Async\n moveToTrash\n \n \n Public\n Async\n restore\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(client: S3Client, config: S3Config, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n \n S3Client\n \n \n \n No\n \n \n \n \n config\n \n \n S3Config\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n \n \n \n \n \n checkStreamResponsive(stream: Readable, context: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:292\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(paths: CopyFiles[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n CopyFiles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(path: string, file: File)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n file\n \n File\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createBucket\n \n \n \n \n \n \n \n createBucket()\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:34\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:181\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteDirectory\n \n \n \n \n \n \n \n deleteDirectory(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:265\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n head\n \n \n \n \n \n \n \n head(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:243\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n list\n \n \n \n \n \n \n \n list(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n \n \n \n \n \n listObjectKeysRecursive(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n moveToTrash\n \n \n \n \n \n \n \n moveToTrash(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restore\n \n \n \n \n \n \n \n restore(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'trash'\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tCopyObjectCommand,\n\tCopyObjectCommandOutput,\n\tCreateBucketCommand,\n\tDeleteObjectsCommand,\n\tGetObjectCommand,\n\tHeadObjectCommand,\n\tHeadObjectCommandOutput,\n\tListObjectsV2Command,\n\tS3Client,\n\tServiceOutputTypes,\n} from '@aws-sdk/client-s3';\nimport { Upload } from '@aws-sdk/lib-storage';\nimport { Inject, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Readable } from 'stream';\nimport { S3_CLIENT, S3_CONFIG } from './constants';\nimport { CopyFiles, File, GetFile, ListFiles, ObjectKeysRecursive, S3Config } from './interface';\n\n@Injectable()\nexport class S3ClientAdapter {\n\tprivate deletedFolderName = 'trash';\n\n\tconstructor(\n\t\t@Inject(S3_CLIENT) readonly client: S3Client,\n\t\t@Inject(S3_CONFIG) readonly config: S3Config,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(S3ClientAdapter.name);\n\t}\n\n\t// is public but only used internally\n\tpublic async createBucket() {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create bucket', params: { bucket: this.config.bucket } });\n\n\t\t\tconst req = new CreateBucketCommand({ Bucket: this.config.bucket });\n\t\t\tawait this.client.send(req);\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tthis.logger.error(`${err.message} \"${this.config.bucket}\"`);\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:createBucket',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async get(path: string, bytesRange?: string): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'get', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new GetObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tRange: bytesRange,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\t\t\tconst stream = data.Body as Readable;\n\n\t\t\tthis.checkStreamResponsive(stream, path);\n\n\t\t\treturn {\n\t\t\t\tdata: stream,\n\t\t\t\tcontentType: data.ContentType,\n\t\t\t\tcontentLength: data.ContentLength,\n\t\t\t\tcontentRange: data.ContentRange,\n\t\t\t\tetag: data.ETag,\n\t\t\t};\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with id ${path}`);\n\t\t\t\tthrow new NotFoundException('NoSuchKey', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t} else {\n\t\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:get', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async create(path: string, file: File): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = {\n\t\t\t\tBody: file.data,\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tContentType: file.mimeType,\n\t\t\t};\n\t\t\tconst upload = new Upload({\n\t\t\t\tclient: this.client,\n\t\t\t\tparams: req,\n\t\t\t});\n\n\t\t\tconst commandOutput = await upload.done();\n\t\t\treturn commandOutput;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchBucket') {\n\t\t\t\tawait this.createBucket();\n\n\t\t\t\treturn await this.create(path, file);\n\t\t\t}\n\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:create', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async moveToTrash(paths: string[]): Promise {\n\t\ttry {\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: path, targetPath: `${this.deletedFolderName}/${path}` };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tawait this.delete(paths);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.cause?.name === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with ids ${paths.join(',')}`);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async restore(paths: string[]): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'restore', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: `${this.deletedFolderName}/${path}`, targetPath: path };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tconst deleteObjects = copyPaths.map((p) => p.sourcePath);\n\t\t\tawait this.delete(deleteObjects);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:restore', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async copy(paths: CopyFiles[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'copy', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyRequests = paths.map(async (path) => {\n\t\t\t\tconst req = new CopyObjectCommand({\n\t\t\t\t\tBucket: this.config.bucket,\n\t\t\t\t\tCopySource: `${this.config.bucket}/${path.sourcePath}`,\n\t\t\t\t\tKey: `${path.targetPath}`,\n\t\t\t\t});\n\n\t\t\t\tconst data = await this.client.send(req);\n\n\t\t\t\treturn data;\n\t\t\t});\n\n\t\t\tconst result = await Promise.all(copyRequests);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:copy', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async delete(paths: string[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'delete', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst pathObjects = paths.map((p) => {\n\t\t\t\treturn { Key: p };\n\t\t\t});\n\t\t\tconst req = new DeleteObjectsCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tDelete: { Objects: pathObjects },\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(req);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async list(params: ListFiles): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'list', params });\n\n\t\t\tconst result = await this.listObjectKeysRecursive(params);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:listDirectory'));\n\t\t}\n\t}\n\n\tprivate async listObjectKeysRecursive(params: ListFiles): Promise {\n\t\tconst { path, maxKeys, nextMarker } = params;\n\t\tlet files: string[] = params.files ? params.files : [];\n\t\tconst MaxKeys = maxKeys && maxKeys - files.length;\n\n\t\tconst req = new ListObjectsV2Command({\n\t\t\tBucket: this.config.bucket,\n\t\t\tPrefix: path,\n\t\t\tContinuationToken: nextMarker,\n\t\t\tMaxKeys,\n\t\t});\n\n\t\tconst data = await this.client.send(req);\n\n\t\tconst returnedFiles =\n\t\t\tdata?.Contents?.filter((o) => o.Key)\n\t\t\t\t.map((o) => o.Key as string) // Can not be undefined because of filter above\n\t\t\t\t.map((key) => key.substring(path.length)) ?? [];\n\n\t\tfiles = files.concat(returnedFiles);\n\n\t\tlet res: ObjectKeysRecursive = { path, maxKeys, nextMarker: data?.ContinuationToken, files };\n\n\t\tif (data?.IsTruncated && (!maxKeys || res.files.length {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'head', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new HeadObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t});\n\n\t\t\tconst headResponse = await this.client.send(req);\n\n\t\t\treturn headResponse;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err.message && err.message === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find the file for head with id ${path}`);\n\t\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'NoSuchKey'));\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:head'));\n\t\t}\n\t}\n\n\tpublic async deleteDirectory(path: string) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'deleteDirectory', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new ListObjectsV2Command({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tPrefix: path,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\n\t\t\tif (data.Contents?.length && data.Contents?.length > 0) {\n\t\t\t\tconst pathObjects = data.Contents.map((p) => p.Key);\n\n\t\t\t\tconst filteredPathObjects = pathObjects.filter((p): p is string => !!p);\n\n\t\t\t\tawait this.delete(filteredPathObjects);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:deleteDirectory',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\t/* istanbul ignore next */\n\tprivate checkStreamResponsive(stream: Readable, context: string) {\n\t\tlet timer: NodeJS.Timeout;\n\t\tconst refreshTimeout = () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tif (timer) clearTimeout(timer);\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tthis.logger.log(`Stream unresponsive: S3 object key ${context}`);\n\t\t\t\tstream.destroy();\n\t\t\t}, 60 * 1000);\n\t\t};\n\n\t\tstream.on('data', () => {\n\t\t\trefreshTimeout();\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/S3ClientModule.html":{"url":"modules/S3ClientModule.html","title":"module - S3ClientModule","body":"\n \n\n\n\n\n Modules\n S3ClientModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(configs: S3Config[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.module.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configs\n \n S3Config[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { S3Client } from '@aws-sdk/client-s3';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { S3Config } from './interface';\nimport { S3ClientAdapter } from './s3-client.adapter';\n\nconst createS3ClientAdapter = (config: S3Config, legacyLogger: LegacyLogger) => {\n\tconst { region, accessKeyId, secretAccessKey, endpoint } = config;\n\n\tconst s3Client = new S3Client({\n\t\tregion,\n\t\tcredentials: {\n\t\t\taccessKeyId,\n\t\t\tsecretAccessKey,\n\t\t},\n\t\tendpoint,\n\t\tforcePathStyle: true,\n\t\ttls: true,\n\t});\n\treturn new S3ClientAdapter(s3Client, config, legacyLogger);\n};\n\n@Module({})\nexport class S3ClientModule {\n\tstatic register(configs: S3Config[]): DynamicModule {\n\t\tconst providers = configs.flatMap((config) => [\n\t\t\t{\n\t\t\t\tprovide: config.connectionName,\n\t\t\t\tuseFactory: (logger: LegacyLogger) => createS3ClientAdapter(config, logger),\n\t\t\t\tinject: [LegacyLogger],\n\t\t\t},\n\t\t]);\n\n\t\treturn {\n\t\t\tmodule: S3ClientModule,\n\t\t\timports: [LoggerModule],\n\t\t\tproviders,\n\t\t\texports: providers,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config.html":{"url":"interfaces/S3Config.html","title":"interface - S3Config","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n connectionName\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n connectionName\n \n \n \n \n \n \n \n \n connectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config-1.html":{"url":"interfaces/S3Config-1.html","title":"interface - S3Config-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/interface/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface S3Config {\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisAnschriftResponse.html":{"url":"classes/SanisAnschriftResponse.html","title":"class - SanisAnschriftResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisAnschriftResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisAnschriftResponse {\n\t@IsString()\n\t@IsOptional()\n\tort?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGeburtResponse.html":{"url":"classes/SanisGeburtResponse.html","title":"class - SanisGeburtResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGeburtResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisGeburtResponse {\n\t@IsOptional()\n\t@IsString()\n\tdatum?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppeResponse.html":{"url":"classes/SanisGruppeResponse.html","title":"class - SanisGruppeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bezeichnung\n \n \n \n id\n \n \n \n typ\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n bezeichnung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n typ\n \n \n \n \n \n \n Type : SanisGroupType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisGroupType)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { SanisGroupType } from './sanis-group-type';\n\nexport class SanisGruppeResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tbezeichnung!: string;\n\n\t@IsEnum(SanisGroupType)\n\ttyp!: SanisGroupType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenResponse.html":{"url":"classes/SanisGruppenResponse.html","title":"class - SanisGruppenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n \n Type : SanisGruppeResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Type : SanisGruppenzugehoerigkeitResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n Type : SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGruppeResponse } from './sanis-gruppe-response';\nimport { SanisGruppenzugehoerigkeitResponse } from './sanis-gruppenzugehoerigkeit-response';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from './sanis-sonstige-gruppenzugehoerige-response';\n\nexport class SanisGruppenResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppeResponse)\n\tgruppe!: SanisGruppeResponse;\n\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppenzugehoerigkeitResponse)\n\tgruppenzugehoerigkeit!: SanisGruppenzugehoerigkeitResponse;\n\n\t@IsOptional()\n\t@IsArray()\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisSonstigeGruppenzugehoerigeResponse)\n\tsonstige_gruppenzugehoerige?: SanisSonstigeGruppenzugehoerigeResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenzugehoerigkeitResponse.html":{"url":"classes/SanisGruppenzugehoerigkeitResponse.html","title":"class - SanisGruppenzugehoerigkeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenzugehoerigkeitResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisGruppenzugehoerigkeitResponse {\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisNameResponse.html":{"url":"classes/SanisNameResponse.html","title":"class - SanisNameResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisNameResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n familienname\n \n \n \n vorname\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n familienname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n vorname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\n\nexport class SanisNameResponse {\n\t@IsString()\n\tfamilienname!: string;\n\n\t@IsString()\n\tvorname!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisOrganisationResponse.html":{"url":"classes/SanisOrganisationResponse.html","title":"class - SanisOrganisationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisOrganisationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n id\n \n \n \n kennung\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n \n \n \n Type : SanisAnschriftResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n kennung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisAnschriftResponse } from './sanis-anschrift-response';\n\nexport class SanisOrganisationResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tkennung!: string;\n\n\t@IsString()\n\tname!: string;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisAnschriftResponse)\n\tanschrift?: SanisAnschriftResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonResponse.html":{"url":"classes/SanisPersonResponse.html","title":"class - SanisPersonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n \n Type : SanisGeburtResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : SanisNameResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGeburtResponse } from './sanis-geburt-response';\nimport { SanisNameResponse } from './sanis-name-response';\n\nexport class SanisPersonResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisNameResponse)\n\tname!: SanisNameResponse;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGeburtResponse)\n\tgeburt?: SanisGeburtResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonenkontextResponse.html":{"url":"classes/SanisPersonenkontextResponse.html","title":"class - SanisPersonenkontextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonenkontextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n id\n \n \n \n \n \n organisation\n \n \n \n rolle\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n \n \n \n Type : SanisGruppenResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional({groups: undefined})@IsArray({groups: undefined})@ValidateNested({each: true, groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n organisation\n \n \n \n \n \n \n Type : SanisOrganisationResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n rolle\n \n \n \n \n \n \n Type : SanisRole\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisRole, {groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisGruppenResponse } from './sanis-gruppen-response';\nimport { SanisOrganisationResponse } from './sanis-organisation-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\nimport { SanisRole } from './sanis-role';\n\nexport class SanisPersonenkontextResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER, SanisResponseValidationGroups.GROUPS] })\n\tid!: string;\n\n\t@IsEnum(SanisRole, { groups: [SanisResponseValidationGroups.USER] })\n\trolle!: SanisRole;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@Type(() => SanisOrganisationResponse)\n\torganisation!: SanisOrganisationResponse;\n\n\t@IsOptional({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@IsArray({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@ValidateNested({ each: true, groups: [SanisResponseValidationGroups.GROUPS] })\n\t@Type(() => SanisGruppenResponse)\n\tgruppen?: SanisGruppenResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisProvisioningStrategy.html":{"url":"injectables/SanisProvisioningStrategy.html","title":"injectable - SanisProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts\n \n\n\n\n \n Extends\n \n \n OidcProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addTeacherRoleIfAdmin\n \n \n Private\n Async\n checkResponseValidation\n \n \n \n Async\n getData\n \n \n getType\n \n \n Private\n isObjectEmpty\n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n Async\n apply\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(provisioningFeatures: IProvisioningFeatures, oidcProvisioningService: OidcProvisioningService, responseMapper: SanisResponseMapper, httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningFeatures\n \n \n IProvisioningFeatures\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 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 \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: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 externalUser\n \n ExternalUserDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkResponseValidation\n \n \n \n \n \n \n \n checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts: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 response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n groups\n \n SanisResponseValidationGroups[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n 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:34\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isObjectEmpty\n \n \n \n \n \n \n \n isObjectEmpty(obj)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n obj\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n \n \n \n \n removeEmptyObjectsFromResponse(response: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts: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 response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SanisResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy: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 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 { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ValidationErrorLoggableException } from '@shared/common/loggable-exception';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { plainToClass } from 'class-transformer';\nimport { validate, ValidationError } from 'class-validator';\nimport { firstValueFrom } from 'rxjs';\nimport { IProvisioningFeatures, ProvisioningFeatures } from '../../config';\nimport {\n\tExternalGroupDto,\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n} from '../../dto';\nimport { OidcProvisioningStrategy } from '../oidc/oidc.strategy';\nimport { OidcProvisioningService } from '../oidc/service/oidc-provisioning.service';\nimport { SanisGruppenResponse, SanisResponse, SanisResponseValidationGroups } from './response';\nimport { SanisResponseMapper } from './sanis-response.mapper';\n\n@Injectable()\nexport class SanisProvisioningStrategy extends OidcProvisioningStrategy {\n\tconstructor(\n\t\t@Inject(ProvisioningFeatures) protected readonly provisioningFeatures: IProvisioningFeatures,\n\t\tprotected readonly oidcProvisioningService: OidcProvisioningService,\n\t\tprivate readonly responseMapper: SanisResponseMapper,\n\t\tprivate readonly httpService: HttpService\n\t) {\n\t\tsuper(provisioningFeatures, oidcProvisioningService);\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.SANIS;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tif (!input.system.provisioningUrl) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Sanis system with id: ${input.system.systemId} is missing a provisioning url`\n\t\t\t);\n\t\t}\n\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${input.accessToken}`,\n\t\t\t\t'Accept-Encoding': 'gzip',\n\t\t\t},\n\t\t};\n\n\t\tconst axiosResponse: AxiosResponse = await firstValueFrom(\n\t\t\tthis.httpService.get(input.system.provisioningUrl, axiosConfig)\n\t\t);\n\n\t\tconst fixedData: SanisResponse = this.removeEmptyObjectsFromResponse(axiosResponse.data);\n\n\t\tconst response: SanisResponse = plainToClass(SanisResponse, fixedData);\n\n\t\tawait this.checkResponseValidation(response, [\n\t\t\tSanisResponseValidationGroups.USER,\n\t\t\tSanisResponseValidationGroups.SCHOOL,\n\t\t]);\n\n\t\tconst externalUser: ExternalUserDto = this.responseMapper.mapToExternalUserDto(axiosResponse.data);\n\t\tthis.addTeacherRoleIfAdmin(externalUser);\n\n\t\tconst externalSchool: ExternalSchoolDto = this.responseMapper.mapToExternalSchoolDto(axiosResponse.data);\n\n\t\tlet externalGroups: ExternalGroupDto[] | undefined;\n\t\tif (this.provisioningFeatures.schulconnexGroupProvisioningEnabled) {\n\t\t\tawait this.checkResponseValidation(response, [SanisResponseValidationGroups.GROUPS]);\n\n\t\t\texternalGroups = this.responseMapper.mapToExternalGroupDtos(axiosResponse.data);\n\t\t}\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalSchool,\n\t\t\texternalUser,\n\t\t\texternalGroups,\n\t\t});\n\n\t\treturn oauthData;\n\t}\n\n\t// This is a temporary fix to a problem with moin.schule and should be resolved after 12.12.23\n\tprivate removeEmptyObjectsFromResponse(response: SanisResponse): SanisResponse {\n\t\tconst fixedResponse: SanisResponse = { ...response };\n\n\t\tif (fixedResponse?.personenkontexte?.length && fixedResponse.personenkontexte[0].gruppen) {\n\t\t\tconst groups: SanisGruppenResponse[] = fixedResponse.personenkontexte[0].gruppen;\n\n\t\t\tfor (const group of groups) {\n\t\t\t\tgroup.sonstige_gruppenzugehoerige = group.sonstige_gruppenzugehoerige?.filter(\n\t\t\t\t\t(relation) => !this.isObjectEmpty(relation)\n\t\t\t\t);\n\n\t\t\t\tif (!group.sonstige_gruppenzugehoerige?.length) {\n\t\t\t\t\tgroup.sonstige_gruppenzugehoerige = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfixedResponse.personenkontexte[0].gruppen = groups.filter((group) => !this.isObjectEmpty(group));\n\n\t\t\tif (!fixedResponse.personenkontexte[0].gruppen.length) {\n\t\t\t\tfixedResponse.personenkontexte[0].gruppen = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn fixedResponse;\n\t}\n\n\tprivate isObjectEmpty(obj: unknown): boolean {\n\t\treturn typeof obj === 'object' && !!obj && !Object.keys(obj).some((key) => obj[key] !== undefined);\n\t}\n\n\tprivate async checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[]) {\n\t\tconst validationErrors: ValidationError[] = await validate(response, {\n\t\t\talways: true,\n\t\t\tforbidUnknownValues: false,\n\t\t\tgroups,\n\t\t});\n\n\t\tif (validationErrors.length) {\n\t\t\tthrow new ValidationErrorLoggableException(validationErrors);\n\t\t}\n\t}\n\n\tprivate addTeacherRoleIfAdmin(externalUser: ExternalUserDto): void {\n\t\tif (externalUser.roles && externalUser.roles.includes(RoleName.ADMINISTRATOR)) {\n\t\t\texternalUser.roles.push(RoleName.TEACHER);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisResponse.html":{"url":"classes/SanisResponse.html","title":"class - SanisResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n personenkontexte\n \n \n \n pid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n Type : SanisPersonResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n personenkontexte\n \n \n \n \n \n \n Type : SanisPersonenkontextResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ArrayMinSize(1)@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n pid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { ArrayMinSize, IsArray, IsObject, IsString, ValidateNested } from 'class-validator';\nimport { SanisPersonResponse } from './sanis-person-response';\nimport { SanisPersonenkontextResponse } from './sanis-personenkontext-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\n\nexport class SanisResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER] })\n\tpid!: string;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.USER] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.USER] })\n\t@Type(() => SanisPersonResponse)\n\tperson!: SanisPersonResponse;\n\n\t@IsArray()\n\t@ArrayMinSize(1)\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisPersonenkontextResponse)\n\tpersonenkontexte!: SanisPersonenkontextResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisResponseMapper.html":{"url":"injectables/SanisResponseMapper.html","title":"injectable - SanisResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n SCHOOLNUMBER_PREFIX_REGEX\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n Private\n mapSanisRoleToRoleName\n \n \n Public\n mapToExternalGroupDtos\n \n \n Private\n mapToExternalGroupUser\n \n \n mapToExternalSchoolDto\n \n \n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n \n \n \n \n \n mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n group\n \n SanisGruppenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalGroupDto | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapSanisRoleToRoleName\n \n \n \n \n \n \n \n mapSanisRoleToRoleName(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 : RoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToExternalGroupDtos\n \n \n \n \n \n \n \n mapToExternalGroupDtos(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts: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 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: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 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: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 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: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 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:36\n \n \n\n\n \n \n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../dto';\nimport { GroupRoleUnknownLoggable } from '../../loggable';\nimport {\n\tSanisGroupRole,\n\tSanisGroupType,\n\tSanisGruppenResponse,\n\tSanisResponse,\n\tSanisRole,\n\tSanisSonstigeGruppenzugehoerigeResponse,\n} from './response';\n\nconst RoleMapping: Record = {\n\t[SanisRole.LEHR]: RoleName.TEACHER,\n\t[SanisRole.LERN]: RoleName.STUDENT,\n\t[SanisRole.LEIT]: RoleName.ADMINISTRATOR,\n\t[SanisRole.ORGADMIN]: RoleName.ADMINISTRATOR,\n};\n\nconst GroupRoleMapping: Partial> = {\n\t[SanisGroupRole.TEACHER]: RoleName.TEACHER,\n\t[SanisGroupRole.STUDENT]: RoleName.STUDENT,\n};\n\nconst GroupTypeMapping: Partial> = {\n\t[SanisGroupType.CLASS]: GroupTypes.CLASS,\n\t[SanisGroupType.COURSE]: GroupTypes.COURSE,\n\t[SanisGroupType.OTHER]: GroupTypes.OTHER,\n};\n\n@Injectable()\nexport class SanisResponseMapper {\n\tSCHOOLNUMBER_PREFIX_REGEX = /^NI_/;\n\n\tconstructor(private readonly logger: Logger) {}\n\n\tmapToExternalSchoolDto(source: SanisResponse): ExternalSchoolDto {\n\t\tconst officialSchoolNumber: string = source.personenkontexte[0].organisation.kennung.replace(\n\t\t\tthis.SCHOOLNUMBER_PREFIX_REGEX,\n\t\t\t''\n\t\t);\n\n\t\tconst mapped = new ExternalSchoolDto({\n\t\t\tname: source.personenkontexte[0].organisation.name,\n\t\t\texternalId: source.personenkontexte[0].organisation.id.toString(),\n\t\t\tofficialSchoolNumber,\n\t\t\tlocation: source.personenkontexte[0].organisation.anschrift?.ort,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tmapToExternalUserDto(source: SanisResponse): ExternalUserDto {\n\t\tconst mapped = new ExternalUserDto({\n\t\t\tfirstName: source.person.name.vorname,\n\t\t\tlastName: source.person.name.familienname,\n\t\t\troles: [this.mapSanisRoleToRoleName(source)],\n\t\t\texternalId: source.pid,\n\t\t\tbirthday: source.person.geburt?.datum ? new Date(source.person.geburt?.datum) : undefined,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapSanisRoleToRoleName(source: SanisResponse): RoleName {\n\t\treturn RoleMapping[source.personenkontexte[0].rolle];\n\t}\n\n\tpublic mapToExternalGroupDtos(source: SanisResponse): ExternalGroupDto[] | undefined {\n\t\tconst groups: SanisGruppenResponse[] | undefined = source.personenkontexte[0].gruppen;\n\n\t\tif (!groups) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst mapped: ExternalGroupDto[] = groups\n\t\t\t.map((group) => this.mapExternalGroup(source, group))\n\t\t\t.filter((group): group is ExternalGroupDto => group !== null);\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse): ExternalGroupDto | null {\n\t\tconst groupType: GroupTypes | undefined = GroupTypeMapping[group.gruppe.typ];\n\n\t\tif (!groupType) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst user: ExternalGroupUserDto | null = this.mapToExternalGroupUser({\n\t\t\tktid: source.personenkontexte[0].id,\n\t\t\trollen: group.gruppenzugehoerigkeit.rollen,\n\t\t});\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet otherUsers: ExternalGroupUserDto[] | undefined;\n\t\tif (group.sonstige_gruppenzugehoerige) {\n\t\t\totherUsers = group.sonstige_gruppenzugehoerige\n\t\t\t\t.map((relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null =>\n\t\t\t\t\tthis.mapToExternalGroupUser(relation)\n\t\t\t\t)\n\t\t\t\t.filter((otherUser: ExternalGroupUserDto | null): otherUser is ExternalGroupUserDto => otherUser !== null);\n\t\t}\n\n\t\treturn new ExternalGroupDto({\n\t\t\tname: group.gruppe.bezeichnung,\n\t\t\ttype: groupType,\n\t\t\texternalId: group.gruppe.id,\n\t\t\tuser,\n\t\t\totherUsers,\n\t\t});\n\t}\n\n\tprivate mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null {\n\t\tif (!relation.rollen?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst userRole: RoleName | undefined = GroupRoleMapping[relation.rollen[0]];\n\n\t\tif (!userRole) {\n\t\t\tthis.logger.info(new GroupRoleUnknownLoggable(relation));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped = new ExternalGroupUserDto({\n\t\t\troleName: userRole,\n\t\t\texternalUserId: relation.ktid,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{"url":"classes/SanisSonstigeGruppenzugehoerigeResponse.html","title":"class - SanisSonstigeGruppenzugehoerigeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisSonstigeGruppenzugehoerigeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisSonstigeGruppenzugehoerigeResponse {\n\t@IsString()\n\tktid!: string;\n\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SaveH5PEditorParams.html":{"url":"classes/SaveH5PEditorParams.html","title":"class - SaveH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SaveH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:40\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScanResult.html":{"url":"interfaces/ScanResult.html","title":"interface - ScanResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScanResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n virus_detected\n \n \n \n Optional\n \n virus_signature\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_detected\n \n \n \n \n \n \n \n \n virus_detected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_signature\n \n \n \n \n \n \n \n \n virus_signature: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultDto.html":{"url":"classes/ScanResultDto.html","title":"class - ScanResultDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n reason\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ScanResultDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ScanResultDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanStatus } from '../../entity';\n\nexport class ScanResultDto {\n\tstatus: ScanStatus;\n\n\treason: string;\n\n\tconstructor(props: ScanResultDto) {\n\t\tthis.status = props.status;\n\t\tthis.reason = props.reason;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultParams.html":{"url":"classes/ScanResultParams.html","title":"class - ScanResultParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n \n Implements\n \n \n ScanResult\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n virus_detected\n \n \n \n \n Optional\n virus_signature\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_detected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_signature\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:62\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SchoolController.html":{"url":"controllers/SchoolController.html","title":"controller - SchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n SchoolController\n\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/school.controller.ts\n \n\n \n Prefix\n \n \n schools\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 Public\n Async\n getProvisioningOptions\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setProvisioningOptions\n \n \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 Public\n Async\n getProvisioningOptions\n \n \n \n \n \n \n \n getProvisioningOptions(currentUser: ICurrentUser, params: SchoolSystemParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:schoolId/systems/:systemId/provisioning-options')@ApiOperation({description: 'Gets all provisioning options for a system at a school'})@ApiOkResponse({description: 'All provisioning options of the system with their value', schema: undefined})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiNotFoundResponse()@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/school.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolSystemParams\n \n\n \n No\n \n\n\n \n \n \n \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 \n Public\n Async\n setProvisioningOptions\n \n \n \n \n \n \n \n setProvisioningOptions(currentUser: ICurrentUser, params: SchoolSystemParams, body: ProvisioningOptionsParams)\n \n \n\n \n \n Decorators : \n \n @Post('/:schoolId/systems/:systemId/provisioning-options')@ApiOperation({description: 'Sets all provisioning options for a system at a school'})@ApiBody({type: SchulConneXProvisioningOptionsParams})@ApiCreatedResponse({description: 'All provisioning options of the system with their value', schema: undefined})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiNotFoundResponse()@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/school.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 params\n \n SchoolSystemParams\n \n\n \n No\n \n\n\n \n \n body\n \n ProvisioningOptionsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Param, Post } from '@nestjs/common';\nimport {\n\tApiBody,\n\tApiCreatedResponse,\n\tApiExtraModels,\n\tApiForbiddenResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n\tgetSchemaPath,\n} from '@nestjs/swagger';\nimport { AnyProvisioningOptions } from '../domain';\nimport { SchoolSystemOptionsUc } from '../uc';\nimport {\n\tAnyProvisioningOptionsResponse,\n\tProvisioningOptionsParams,\n\tSchoolSystemParams,\n\tSchulConneXProvisioningOptionsParams,\n\tSchulConneXProvisioningOptionsResponse,\n} from './dto';\nimport { SchoolSystemOptionsMapper } from './school-system-options.mapper';\n\n@ApiTags('School')\n@Controller('schools')\n@Authenticate('jwt')\nexport class SchoolController {\n\tconstructor(private readonly schoolSystemOptionsUc: SchoolSystemOptionsUc) {}\n\n\t@Get('/:schoolId/systems/:systemId/provisioning-options')\n\t@ApiOperation({ description: 'Gets all provisioning options for a system at a school' })\n\t@ApiOkResponse({\n\t\tdescription: 'All provisioning options of the system with their value',\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\t$ref: getSchemaPath(SchulConneXProvisioningOptionsResponse),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t})\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiNotFoundResponse()\n\t@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n\tpublic async getProvisioningOptions(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolSystemParams\n\t): Promise {\n\t\tconst options: AnyProvisioningOptions = await this.schoolSystemOptionsUc.getProvisioningOptions(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId,\n\t\t\tparams.systemId\n\t\t);\n\n\t\tconst mapped: AnyProvisioningOptionsResponse = SchoolSystemOptionsMapper.mapProvisioningOptionsToResponse(options);\n\n\t\treturn mapped;\n\t}\n\n\t@Post('/:schoolId/systems/:systemId/provisioning-options')\n\t@ApiOperation({ description: 'Sets all provisioning options for a system at a school' })\n\t@ApiBody({\n\t\ttype: SchulConneXProvisioningOptionsParams,\n\t})\n\t@ApiCreatedResponse({\n\t\tdescription: 'All provisioning options of the system with their value',\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\t$ref: getSchemaPath(SchulConneXProvisioningOptionsResponse),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t})\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiNotFoundResponse()\n\t@ApiExtraModels(SchulConneXProvisioningOptionsResponse)\n\tpublic async setProvisioningOptions(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolSystemParams,\n\t\t@Body() body: ProvisioningOptionsParams\n\t): Promise {\n\t\tconst options: AnyProvisioningOptions = await this.schoolSystemOptionsUc.createOrUpdateProvisioningOptions(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId,\n\t\t\tparams.systemId,\n\t\t\tbody\n\t\t);\n\n\t\tconst mapped: AnyProvisioningOptionsResponse = SchoolSystemOptionsMapper.mapProvisioningOptionsToResponse(options);\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"},"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 schoolSystemOptions\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:78\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:69\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:108\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:72\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:75\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:84\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:87\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:93\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:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolSystemOptions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany(undefined, options => options.school, {cascade: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:111\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:96\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:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userLoginMigration\n \n \n \n \n \n \n Type : UserLoginMigrationEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, userLoginMigration => userLoginMigration.school, {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:105\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalTool.html":{"url":"classes/SchoolExternalTool.html","title":"class - SchoolExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n name\n \n \n parameters\n \n \n schoolId\n \n \n Optional\n status\n \n \n toolId\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:45\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatus.html":{"url":"classes/SchoolExternalToolConfigurationStatus.html","title":"class - SchoolExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatusResponse.html":{"url":"classes/SchoolExternalToolConfigurationStatusResponse.html","title":"class - SchoolExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateListResponse.html","title":"class - SchoolExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolConfigurationTemplateResponse } from './school-external-tool-configuration-template.response';\n\nexport class SchoolExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolConfigurationTemplateResponse] })\n\tdata: SchoolExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: SchoolExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateResponse.html","title":"class - SchoolExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n SchoolExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class SchoolExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolExternalToolEntity.html":{"url":"entities/SchoolExternalToolEntity.html","title":"entity - SchoolExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n schoolParameters\n \n \n \n tool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {eager: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n Type : ExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:26\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolFactory.html":{"url":"classes/SchoolExternalToolFactory.html","title":"class - SchoolExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolId\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolId\n \n \n \n \n \n \nwithSchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { SchoolExternalTool, SchoolExternalToolProps } from '@modules/tool/school-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\nimport { schoolToolConfigurationStatusFactory } from './school-external-tool-configuration-status.factory';\n\nclass SchoolExternalToolFactory extends DoBaseFactory {\n\twithSchoolId(schoolId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const schoolExternalToolFactory = SchoolExternalToolFactory.define(SchoolExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolExternal-${sequence}`,\n\t\tschoolId: `schoolId-${sequence}`,\n\t\ttoolVersion: 1,\n\t\tparameters: [\n\t\t\tnew CustomParameterEntry({\n\t\t\t\tname: 'name',\n\t\t\t\tvalue: 'value',\n\t\t\t}),\n\t\t],\n\t\ttoolId: 'toolId',\n\t\tstatus: schoolToolConfigurationStatusFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams.html":{"url":"classes/SchoolExternalToolIdParams.html","title":"class - SchoolExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tschoolExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams-1.html":{"url":"classes/SchoolExternalToolIdParams-1.html","title":"class - SchoolExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadata.html":{"url":"classes/SchoolExternalToolMetadata.html","title":"class - SchoolExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n \n SchoolExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class SchoolExternalToolMetadata {\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataMapper.html":{"url":"classes/SchoolExternalToolMetadataMapper.html","title":"class - SchoolExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n SchoolExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { SchoolExternalToolMetadataResponse } from '../controller/dto';\nimport { SchoolExternalToolMetadata } from '../domain';\n\nexport class SchoolExternalToolMetadataMapper {\n\tstatic mapToSchoolExternalToolMetadataResponse(\n\t\tschoolExternalToolMetadata: SchoolExternalToolMetadata\n\t): SchoolExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: SchoolExternalToolMetadataResponse = new SchoolExternalToolMetadataResponse({\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\tschoolExternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataResponse.html":{"url":"classes/SchoolExternalToolMetadataResponse.html","title":"class - SchoolExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadataResponse\n \n \n SchoolExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../common/controller/dto';\n\nexport class SchoolExternalToolMetadataResponse {\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolMetadataService.html":{"url":"injectables/SchoolExternalToolMetadataService.html","title":"injectable - SchoolExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolMetadataService {\n\tconstructor(private readonly contextToolRepo: ContextExternalToolRepo) {}\n\n\tasync getMetadata(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\n\t\tawait Promise.all(\n\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(type, [\n\t\t\t\t\tschoolExternalToolId,\n\t\t\t\t]);\n\n\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t})\n\t\t);\n\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata = new SchoolExternalToolMetadata({\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn schoolExternalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SchoolExternalToolModule.html":{"url":"modules/SchoolExternalToolModule.html","title":"module - SchoolExternalToolModule","body":"\n \n\n\n\n\n Modules\n SchoolExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SchoolExternalToolModule\n\n\n\ncluster_SchoolExternalToolModule_imports\n\n\n\ncluster_SchoolExternalToolModule_providers\n\n\n\ncluster_SchoolExternalToolModule_exports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule -->\n\nCommonToolModule->SchoolExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nSchoolExternalToolModule -->\n\nExternalToolModule->SchoolExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nSchoolExternalToolModule -->\n\nToolConfigModule->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService -->\n\nSchoolExternalToolModule->SchoolExternalToolMetadataService \n\n\n\n\n\nSchoolExternalToolService \n\nSchoolExternalToolService \n\nSchoolExternalToolService -->\n\nSchoolExternalToolModule->SchoolExternalToolService \n\n\n\n\n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService -->\n\nSchoolExternalToolModule->SchoolExternalToolValidationService \n\n\n\n\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolMetadataService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolService\n\nSchoolExternalToolService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolValidationService->SchoolExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/school-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport {\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n\tSchoolExternalToolMetadataService,\n} from './service';\nimport { ExternalToolModule } from '../external-tool';\nimport { ToolConfigModule } from '../tool-config.module';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, ToolConfigModule],\n\tproviders: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n\texports: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n})\nexport class SchoolExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolPostParams.html":{"url":"classes/SchoolExternalToolPostParams.html","title":"class - SchoolExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n schoolId\n \n \n \n \n \n toolId\n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from './custom-parameter-entry.params';\n\nexport class SchoolExternalToolPostParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\ttoolId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\tversion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProperties.html":{"url":"interfaces/SchoolExternalToolProperties.html","title":"interface - SchoolExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n Optional\n \n schoolParameters\n \n \n \n \n tool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n \n \n schoolParameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n \n \n tool: ExternalToolEntity\n\n \n \n\n\n \n \n Type : ExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProps.html":{"url":"interfaces/SchoolExternalToolProps.html","title":"interface - SchoolExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n name\n \n \n \n \n parameters\n \n \n \n \n schoolId\n \n \n \n Optional\n \n status\n \n \n \n \n toolId\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: SchoolExternalToolConfigurationStatus\n\n \n \n\n\n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolRefDO.html":{"url":"classes/SchoolExternalToolRefDO.html","title":"class - SchoolExternalToolRefDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolRefDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n schoolId\n \n \n schoolToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolRefDO)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolRefDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolRefDO {\n\tschoolToolId: string;\n\n\tschoolId?: string;\n\n\tconstructor(props: SchoolExternalToolRefDO) {\n\t\tthis.schoolToolId = props.schoolToolId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRepo.html":{"url":"injectables/SchoolExternalToolRepo.html","title":"injectable - SchoolExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n deleteByExternalToolId\n \n \n Async\n find\n \n \n Async\n findByExternalToolId\n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByExternalToolId\n \n \n \n \n \n \n \n deleteByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalToolId\n \n \n \n \n \n \n \n findByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: SchoolExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:67\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { SchoolEntity } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { SchoolExternalToolScope } from './school-external-tool.scope';\n\n@Injectable()\nexport class SchoolExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolExternalToolEntity;\n\t}\n\n\tasync findByExternalToolId(toolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { tool: toolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findBySchoolId(schoolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { school: schoolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync deleteByExternalToolId(toolId: string): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, { tool: toolId });\n\t\treturn count;\n\t}\n\n\tasync find(query: SchoolExternalToolQuery): Promise {\n\t\tconst scope: SchoolExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, scope.query);\n\n\t\tconst dos: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tprivate buildScope(query: SchoolExternalToolQuery): SchoolExternalToolScope {\n\t\tconst scope: SchoolExternalToolScope = new SchoolExternalToolScope();\n\n\t\tscope.bySchoolId(query.schoolId);\n\t\tscope.byToolId(query.toolId);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: SchoolExternalToolEntity): SchoolExternalTool {\n\t\treturn new SchoolExternalTool({\n\t\t\tid: entity.id,\n\t\t\ttoolId: entity.tool.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.schoolParameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: SchoolExternalTool): EntityData {\n\t\treturn {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\ttool: this._em.getReference(ExternalToolEntity, entityDO.toolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tschoolParameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRequestMapper.html":{"url":"injectables/SchoolExternalToolRequestMapper.html","title":"injectable - SchoolExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n mapSchoolExternalToolRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSchoolExternalToolRequest\n \n \n \n \n \n \nmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam, SchoolExternalToolPostParams } from '../controller/dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolRequestMapper {\n\tmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams): SchoolExternalToolDto {\n\t\treturn {\n\t\t\ttoolId: request.toolId,\n\t\t\tschoolId: request.schoolId,\n\t\t\ttoolVersion: request.version,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolResponse.html":{"url":"classes/SchoolExternalToolResponse.html","title":"class - SchoolExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolId\n \n \n \n status\n \n \n \n toolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: SchoolExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n SchoolExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: SchoolExternalToolConfigurationStatusResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from './custom-parameter-entry.response';\nimport { SchoolExternalToolConfigurationStatusResponse } from './school-external-tool-configuration.response';\n\nexport class SchoolExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tschoolId: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiProperty({ type: SchoolExternalToolConfigurationStatusResponse })\n\tstatus: SchoolExternalToolConfigurationStatusResponse;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: SchoolExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.toolId = response.toolId;\n\t\tthis.schoolId = response.schoolId;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.status = response.status;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolResponseMapper.html":{"url":"injectables/SchoolExternalToolResponseMapper.html","title":"injectable - SchoolExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n mapToSchoolExternalToolResponse\n \n \n mapToSearchListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n \n \n \n \n \n mapToCustomParameterEntryResponse(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSchoolExternalToolResponse\n \n \n \n \n \n \nmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSearchListResponse\n \n \n \n \n \n \nmapToSearchListResponse(externalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolSearchListResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport {\n\tCustomParameterEntryResponse,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n} from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolToolConfigurationStatusResponseMapper } from './school-external-tool-status-response.mapper';\n\n@Injectable()\nexport class SchoolExternalToolResponseMapper {\n\tmapToSearchListResponse(externalTools: SchoolExternalTool[]): SchoolExternalToolSearchListResponse {\n\t\tconst responses: SchoolExternalToolResponse[] = externalTools.map((toolDO: SchoolExternalTool) =>\n\t\t\tthis.mapToSchoolExternalToolResponse(toolDO)\n\t\t);\n\t\treturn new SchoolExternalToolSearchListResponse(responses);\n\t}\n\n\tmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool): SchoolExternalToolResponse {\n\t\treturn {\n\t\t\tid: schoolExternalTool.id ?? '',\n\t\t\tname: schoolExternalTool.name ?? '',\n\t\t\ttoolId: schoolExternalTool.toolId,\n\t\t\tschoolId: schoolExternalTool.schoolId,\n\t\t\tparameters: this.mapToCustomParameterEntryResponse(schoolExternalTool.parameters),\n\t\t\ttoolVersion: schoolExternalTool.toolVersion,\n\t\t\tstatus: SchoolToolConfigurationStatusResponseMapper.mapToResponse(\n\t\t\t\tschoolExternalTool.status ?? { isOutdatedOnScopeSchool: false }\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate mapToCustomParameterEntryResponse(entries: CustomParameterEntry[]): CustomParameterEntryResponse[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntry): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryResponse({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRule.html":{"url":"injectables/SchoolExternalToolRule.html","title":"injectable - SchoolExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class SchoolExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof SchoolExternalToolEntity || entity instanceof SchoolExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: SchoolExternalToolEntity | SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof SchoolExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolScope.html":{"url":"classes/SchoolExternalToolScope.html","title":"class - SchoolExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n byToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo/scope';\n\nexport class SchoolExternalToolScope extends Scope {\n\tbySchoolId(schoolId: EntityId | undefined): this {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: EntityId | undefined): this {\n\t\tif (toolId !== undefined) {\n\t\t\tthis.addQuery({ tool: toolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchListResponse.html":{"url":"classes/SchoolExternalToolSearchListResponse.html","title":"class - SchoolExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolResponse } from './school-external-tool.response';\n\nexport class SchoolExternalToolSearchListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolResponse] })\n\tdata: SchoolExternalToolResponse[];\n\n\tconstructor(data: SchoolExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchParams.html":{"url":"classes/SchoolExternalToolSearchParams.html","title":"class - SchoolExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsString } from 'class-validator';\n\nexport class SchoolExternalToolSearchParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolService.html":{"url":"injectables/SchoolExternalToolService.html","title":"injectable - SchoolExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n Async\n findById\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolRepo: SchoolExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n \n \n \n \n \n deleteSchoolExternalToolById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n \n \n \n \n \n determineSchoolToolStatus(tool: SchoolExternalTool, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n \n \n \n \n \n enrichDataFromExternalTool(tool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n \n \n \n \n \n enrichWithDataFromExternalTools(tools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n \n \n \n saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolExternalToolRepo } from '@shared/repo';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolQuery } from '../uc/dto/school-external-tool.types';\nimport { SchoolExternalToolValidationService } from './school-external-tool-validation.service';\n\n@Injectable()\nexport class SchoolExternalToolService {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync findById(schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.findById(schoolExternalToolId);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync findSchoolExternalTools(query: SchoolExternalToolQuery): Promise {\n\t\tlet schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.find({\n\t\t\tschoolId: query.schoolId,\n\t\t});\n\n\t\tschoolExternalTools = await this.enrichWithDataFromExternalTools(schoolExternalTools);\n\n\t\treturn schoolExternalTools;\n\t}\n\n\tprivate async enrichWithDataFromExternalTools(tools: SchoolExternalTool[]): Promise {\n\t\tconst enrichedTools: SchoolExternalTool[] = await Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool): Promise => this.enrichDataFromExternalTool(tool))\n\t\t);\n\n\t\treturn enrichedTools;\n\t}\n\n\tprivate async enrichDataFromExternalTool(tool: SchoolExternalTool): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(tool.toolId);\n\t\tconst status: SchoolExternalToolConfigurationStatus = await this.determineSchoolToolStatus(tool, externalTool);\n\t\tconst schoolExternalTool: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...tool,\n\t\t\tstatus,\n\t\t\tname: externalTool.name,\n\t\t});\n\n\t\treturn schoolExternalTool;\n\t}\n\n\tprivate async determineSchoolToolStatus(\n\t\ttool: SchoolExternalTool,\n\t\texternalTool: ExternalTool\n\t): Promise {\n\t\tconst status: SchoolExternalToolConfigurationStatus = new SchoolExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(tool);\n\n\t\t\t\tstatus.isOutdatedOnScopeSchool = false;\n\n\t\t\t\treturn status;\n\t\t\t} catch (err) {\n\t\t\t\treturn status;\n\t\t\t}\n\t\t}\n\n\t\tif (externalTool.version {\n\t\tawait this.schoolExternalToolRepo.deleteById(schoolExternalToolId);\n\t}\n\n\tasync saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tlet createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.save(schoolExternalTool);\n\t\tcreatedSchoolExternalTool = await this.enrichDataFromExternalTool(createdSchoolExternalTool);\n\t\treturn createdSchoolExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolUc.html":{"url":"injectables/SchoolExternalToolUc.html","title":"injectable - SchoolExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n Async\n deleteSchoolExternalTool\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n Async\n getSchoolExternalTool\n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, schoolExternalToolMetadataService: SchoolExternalToolMetadataService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolMetadataService\n \n \n SchoolExternalToolMetadataService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(userId: EntityId, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n SchoolExternalToolQueryInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n \n \n \n \n \n getMetadataForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(userId: EntityId, schoolExternalToolId: string, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataService,\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n} from '../service';\nimport { SchoolExternalToolDto, SchoolExternalToolQueryInput } from './dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolUc {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolMetadataService: SchoolExternalToolMetadataService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput): Promise {\n\t\tlet tools: SchoolExternalTool[] = [];\n\t\tif (query.schoolId) {\n\t\t\ttools = await this.schoolExternalToolService.findSchoolExternalTools({ schoolId: query.schoolId });\n\t\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\t\tawait this.ensureSchoolPermissions(userId, tools, context);\n\t\t}\n\t\treturn tools;\n\t}\n\n\tasync createSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.saveSchoolExternalTool(\n\t\t\tschoolExternalTool\n\t\t);\n\n\t\treturn createdSchoolExternalTool;\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tasync deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolService.deleteBySchoolExternalToolId(schoolExternalToolId),\n\t\t\tthis.schoolExternalToolService.deleteSchoolExternalToolById(schoolExternalToolId),\n\t\t]);\n\t}\n\n\tasync getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync updateSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: string,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst updated: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...schoolExternalToolDto,\n\t\t\tid: schoolExternalToolId,\n\t\t});\n\n\t\tconst saved = await this.schoolExternalToolService.saveSchoolExternalTool(updated);\n\t\treturn saved;\n\t}\n\n\tasync getMetadataForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst metadata: SchoolExternalToolMetadata = await this.schoolExternalToolMetadataService.getMetadata(\n\t\t\tschoolExternalToolId\n\t\t);\n\n\t\treturn metadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolValidationService.html":{"url":"injectables/SchoolExternalToolValidationService.html","title":"injectable - SchoolExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n \n \n \n \n \n checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n externalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalTool } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync validate(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (!this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tthis.checkVersionMatch(schoolExternalTool.toolVersion, loadedExternalTool.version);\n\t\t}\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, schoolExternalTool);\n\t}\n\n\tprivate checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number): void {\n\t\tif (schoolExternalToolVersion !== externalToolVersion) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_version_mismatch: The version ${schoolExternalToolVersion} of given schoolExternalTool does not match the externalTool version ${externalToolVersion}.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolForGroupNotFoundLoggable.html":{"url":"classes/SchoolForGroupNotFoundLoggable.html","title":"class - SchoolForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ExternalGroupDto, school: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n school\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalSchoolDto } from '../dto';\n\nexport class SchoolForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly group: ExternalGroupDto, private readonly school: ExternalSchoolDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to provision group, since the connected school cannot be found.',\n\t\t\tdata: {\n\t\t\t\texternalGroupId: this.group.externalId,\n\t\t\t\texternalOrganizationId: this.school.externalId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{"url":"classes/SchoolIdDoesNotMatchWithUserSchoolId.html","title":"class - SchoolIdDoesNotMatchWithUserSchoolId","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdDoesNotMatchWithUserSchoolId\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMatchSchoolId: string, importUserSchoolId: string, schoolId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMatchSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n importUserSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolIdDoesNotMatchWithUserSchoolId implements Loggable {\n\tconstructor(\n\t\tprivate readonly userMatchSchoolId: string,\n\t\tprivate readonly importUserSchoolId: string,\n\t\tprivate readonly schoolId?: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'School ID does not match with user school ID or with imported user school ID',\n\t\t\tdata: {\n\t\t\t\tuserMatchSchoolId: this.userMatchSchoolId,\n\t\t\t\timportUserId: this.importUserSchoolId,\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams.html":{"url":"classes/SchoolIdParams.html","title":"class - SchoolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams-1.html":{"url":"classes/SchoolIdParams-1.html","title":"class - SchoolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInMigrationLoggableException.html":{"url":"classes/SchoolInMigrationLoggableException.html","title":"class - SchoolInMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolInMigrationLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_IN_MIGRATION',\n\t\t\t\ttitle: 'Login failed because school is in migration',\n\t\t\t\tdefaultMessage: 'Login failed because creation of user is not possible during migration',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED\n\t\t);\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationEndLoggable.html":{"url":"classes/SchoolInUserMigrationEndLoggable.html","title":"class - SchoolInUserMigrationEndLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationEndLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolName: string)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationEndLoggable implements Loggable {\n\tconstructor(private readonly schoolName: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration for school is completed',\n\t\t\tdata: {\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationStartLoggable.html":{"url":"classes/SchoolInUserMigrationStartLoggable.html","title":"class - SchoolInUserMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, schoolName: string, useCentralLdap: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n useCentralLdap\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationStartLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly schoolName: string,\n\t\tprivate readonly useCentralLdap: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tcurrentUserId: this.userId,\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t\tcentralLdap: this.useCentralLdap,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoMapper.html":{"url":"classes/SchoolInfoMapper.html","title":"class - SchoolInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/school-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(schoolInfo: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/school-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolInfo\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolEntity } from '@shared/domain/entity';\nimport { SchoolInfoResponse } from '../controller/dto';\n\nexport class SchoolInfoMapper {\n\tstatic mapToResponse(schoolInfo: SchoolEntity): SchoolInfoResponse {\n\t\tconst dto = new SchoolInfoResponse({ id: schoolInfo.id, name: schoolInfo.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoResponse.html":{"url":"classes/SchoolInfoResponse.html","title":"class - SchoolInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/school-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SchoolInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SchoolInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolInfoResponse {\n\tconstructor({ id, name }: SchoolInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the School entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the School entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html","title":"class - SchoolMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:19\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\t// TODO: Remove undefined type from schoolId when using the new School DO\n\tconstructor(\n\t\tprivate readonly school: LegacySchoolDo,\n\t\tprivate readonly operation: 'migration' | 'rollback',\n\t\terror: unknown\n\t) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolMigrationService.html":{"url":"injectables/SchoolMigrationService.html","title":"injectable - SchoolMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/school-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n Private\n Async\n doMigration\n \n \n Public\n Async\n getSchoolForMigration\n \n \n Private\n hasSchoolMigrated\n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n Public\n Async\n migrateSchool\n \n \n Private\n Async\n tryRollbackMigration\n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, legacyLogger: LegacyLogger, logger: Logger, userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n \n \n \n \n \n checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n officialExternalSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getSchoolForMigration\n \n \n \n \n \n \n \n getSchoolForMigration(userId: string, externalId: string, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasSchoolMigrated\n \n \n \n \n \n \n \n hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceExternalId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n targetExternalId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n \n \n \n \n \n hasSchoolMigratedUser(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n \n \n \n \n \n markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrateSchool\n \n \n \n \n \n \n \n migrateSchool(existingSchool: LegacySchoolDo, externalId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n existingSchool\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(originalSchoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalSchoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n \n \n \n unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, Page, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacyLogger, Logger } from '@src/core/logger';\nimport { performance } from 'perf_hooks';\nimport {\n\tSchoolMigrationDatabaseOperationFailedLoggableException,\n\tSchoolNumberMismatchLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class SchoolMigrationService {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async migrateSchool(\n\t\texistingSchool: LegacySchoolDo,\n\t\texternalId: string,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tconst schoolDOCopy: LegacySchoolDo = new LegacySchoolDo({ ...existingSchool });\n\n\t\ttry {\n\t\t\tawait this.doMigration(externalId, existingSchool, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(schoolDOCopy);\n\n\t\t\tthrow new SchoolMigrationDatabaseOperationFailedLoggableException(existingSchool, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string): Promise {\n\t\tschool.previousExternalId = school.externalId;\n\t\tschool.externalId = externalId;\n\t\tif (!school.systems) {\n\t\t\tschool.systems = [];\n\t\t}\n\t\tif (!school.systems.includes(targetSystemId)) {\n\t\t\tschool.systems.push(targetSystemId);\n\t\t}\n\n\t\tawait this.schoolService.save(school);\n\t}\n\n\tprivate async tryRollbackMigration(originalSchoolDO: LegacySchoolDo): Promise {\n\t\ttry {\n\t\t\tawait this.schoolService.save(originalSchoolDO);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(\n\t\t\t\tnew SchoolMigrationDatabaseOperationFailedLoggableException(originalSchoolDO, 'rollback', error)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async getSchoolForMigration(\n\t\tuserId: string,\n\t\texternalId: string,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(user.schoolId);\n\n\t\tthis.checkOfficialSchoolNumbersMatch(school, officialSchoolNumber);\n\n\t\tconst schoolMigrated: boolean = this.hasSchoolMigrated(school.externalId, externalId);\n\n\t\tif (schoolMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn school;\n\t}\n\n\tprivate checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string): void {\n\t\tif (schoolDO.officialSchoolNumber !== officialExternalSchoolNumber) {\n\t\t\tthrow new SchoolNumberMismatchLoggableException(\n\t\t\t\tschoolDO.officialSchoolNumber ?? '',\n\t\t\t\tofficialExternalSchoolNumber\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string): boolean {\n\t\tconst isExternalIdEquivalent: boolean = sourceExternalId === targetExternalId;\n\n\t\treturn isExternalIdEquivalent;\n\t}\n\n\tpublic async markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst notMigratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\tisOutdated: false,\n\t\t\tlastLoginSystemChangeSmallerThan: userLoginMigration.startedAt,\n\t\t});\n\n\t\tnotMigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = userLoginMigration.closedAt;\n\t\t});\n\n\t\tawait this.userService.saveAll(notMigratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`markUnmigratedUsersAsOutdated for schoolId ${userLoginMigration.schoolId} took ${\n\t\t\t\tendTime - startTime\n\t\t\t} milliseconds`\n\t\t);\n\t}\n\n\tpublic async unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst migratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\toutdatedSince: userLoginMigration.finishedAt,\n\t\t});\n\n\t\tmigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = undefined;\n\t\t});\n\n\t\tawait this.userService.saveAll(migratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`unmarkOutdatedUsers for schoolId ${userLoginMigration.schoolId} took ${endTime - startTime} milliseconds`\n\t\t);\n\t}\n\n\tpublic async hasSchoolMigratedUser(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst users: Page = await this.userService.findUsers({\n\t\t\tlastLoginSystemChangeBetweenStart: userLoginMigration.startedAt,\n\t\t\tlastLoginSystemChangeBetweenEnd: userLoginMigration.closedAt,\n\t\t});\n\n\t\tif (users.total > 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationSuccessfulLoggable.html":{"url":"classes/SchoolMigrationSuccessfulLoggable.html","title":"class - SchoolMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class SchoolMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly school: LegacySchoolDo, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A school has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\texternalId: this.school.externalId,\n\t\t\t\tpreviousExternalId: this.school.previousExternalId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolNews.html":{"url":"entities/SchoolNews.html","title":"entity - SchoolNews","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:102\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberDuplicateLoggableException.html":{"url":"classes/SchoolNumberDuplicateLoggableException.html","title":"class - SchoolNumberDuplicateLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberDuplicateLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(officialSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberDuplicateLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly officialSchoolNumber: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_DUPLICATE',\n\t\t\tmessage: 'Unable to save the school. A school with this official school number does already exist.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMismatchLoggableException.html":{"url":"classes/SchoolNumberMismatchLoggableException.html","title":"class - SchoolNumberMismatchLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMismatchLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceSchoolNumber: string, targetSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n targetSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:21\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMismatchLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly sourceSchoolNumber: string, private readonly targetSchoolNumber: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_MIGRATION_FAILED',\n\t\t\t\ttitle: 'Migration of school failed.',\n\t\t\t\tdefaultMessage: 'School could not migrate during user migration process.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR,\n\t\t\t{\n\t\t\t\tsourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber,\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsourceSchoolNumber: this.sourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber: this.targetSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMissingLoggableException.html":{"url":"classes/SchoolNumberMissingLoggableException.html","title":"class - SchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The school is missing a official school number.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolProperties.html":{"url":"interfaces/SchoolProperties.html","title":"interface - SchoolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n externalId\n \n \n \n Optional\n \n features\n \n \n \n \n federalState\n \n \n \n Optional\n \n inMaintenanceSince\n \n \n \n Optional\n \n inUserMigration\n \n \n \n \n name\n \n \n \n Optional\n \n officialSchoolNumber\n \n \n \n Optional\n \n previousExternalId\n \n \n \n Optional\n \n schoolYear\n \n \n \n Optional\n \n systems\n \n \n \n Optional\n \n userLoginMigration\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: SchoolFeatures[]\n\n \n \n\n\n \n \n Type : SchoolFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n \n \n federalState: FederalStateEntity\n\n \n \n\n\n \n \n Type : FederalStateEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n inMaintenanceSince\n \n \n \n \n \n \n \n \n inMaintenanceSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n inUserMigration\n \n \n \n \n \n \n \n \n inUserMigration: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n officialSchoolNumber\n \n \n \n \n \n \n \n \n officialSchoolNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolYear\n \n \n \n \n \n \n \n \n schoolYear: SchoolYearEntity\n\n \n \n\n\n \n \n Type : SchoolYearEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systems\n \n \n \n \n \n \n \n \n systems: SystemEntity[]\n\n \n \n\n\n \n \n Type : SystemEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userLoginMigration\n \n \n \n \n \n \n \n \n userLoginMigration: UserLoginMigrationEntity\n\n \n \n\n\n \n \n Type : UserLoginMigrationEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRolePermission.html":{"url":"classes/SchoolRolePermission.html","title":"class - SchoolRolePermission","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRolePermission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n Optional\n STUDENT_LIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:53\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:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRoles.html":{"url":"classes/SchoolRoles.html","title":"class - SchoolRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n student\n \n \n \n Optional\n teacher\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n student\n \n \n \n \n \n \n Type : SchoolRolePermission\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'student'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:59\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:62\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCascade,\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.school, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolSpecificFileCopyService.html":{"url":"interfaces/SchoolSpecificFileCopyService.html","title":"interface - SchoolSpecificFileCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSpecificFileCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \ncopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyFileDto } from '@modules/files-storage-client/dto';\nimport { FileRecordParentType } from '@modules/files-storage/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport type SchoolSpecificFileCopyServiceCopyParams = {\n\tsourceParentId: EntityId;\n\ttargetParentId: EntityId;\n\tparentType: FileRecordParentType;\n};\n\nexport type SchoolSpecificFileCopyServiceProps = {\n\tsourceSchoolId: EntityId;\n\ttargetSchoolId: EntityId;\n\tuserId: EntityId;\n};\n\nexport interface SchoolSpecificFileCopyService {\n\tcopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSpecificFileCopyServiceFactory.html":{"url":"injectables/SchoolSpecificFileCopyServiceFactory.html","title":"injectable - SchoolSpecificFileCopyServiceFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSpecificFileCopyServiceFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(props: SchoolSpecificFileCopyServiceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n SchoolSpecificFileCopyServiceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSpecificFileCopyService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\nimport { SchoolSpecificFileCopyServiceImpl } from './school-specific-file-copy.service';\n\n@Injectable()\nexport class SchoolSpecificFileCopyServiceFactory {\n\tconstructor(private readonly filesStorageClientAdapterService: FilesStorageClientAdapterService) {}\n\n\tbuild(props: SchoolSpecificFileCopyServiceProps): SchoolSpecificFileCopyService {\n\t\treturn new SchoolSpecificFileCopyServiceImpl(this.filesStorageClientAdapterService, props);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSpecificFileCopyServiceImpl.html":{"url":"classes/SchoolSpecificFileCopyServiceImpl.html","title":"class - SchoolSpecificFileCopyServiceImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSpecificFileCopyServiceImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts\n \n\n\n\n\n \n Implements\n \n \n SchoolSpecificFileCopyService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService, props: SchoolSpecificFileCopyServiceProps)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n props\n \n \n SchoolSpecificFileCopyServiceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { CopyFileDto } from '@modules/files-storage-client/dto';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceCopyParams,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\n\nexport class SchoolSpecificFileCopyServiceImpl implements SchoolSpecificFileCopyService {\n\tconstructor(\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly props: SchoolSpecificFileCopyServiceProps\n\t) {}\n\n\tpublic async copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise {\n\t\treturn this.filesStorageClientAdapterService.copyFilesOfParent({\n\t\t\tsource: {\n\t\t\t\tparentId: params.sourceParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.sourceSchoolId,\n\t\t\t},\n\t\t\ttarget: {\n\t\t\t\tparentId: params.targetParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.targetSchoolId,\n\t\t\t},\n\t\t\tuserId: this.props.userId,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptions.html":{"url":"classes/SchoolSystemOptions.html","title":"class - SchoolSystemOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptions\n\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/domain/school-system-options.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 schoolId\n \n \n systemId\n \n \n provisioningOptions\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 schoolId\n \n \n\n \n \n getschoolId()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.do.ts:16\n \n \n\n \n \n \n \n \n \n \n systemId\n \n \n\n \n \n getsystemId()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.do.ts:20\n \n \n\n \n \n \n \n \n \n \n provisioningOptions\n \n \n\n \n \n getprovisioningOptions()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.do.ts:24\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';\nimport { SchulConneXProvisioningOptions } from './schulconnex-provisionin-options.do';\n\nexport interface SchoolSystemOptionsProps extends AuthorizableObject {\n\tschoolId: EntityId;\n\n\tsystemId: EntityId;\n\n\tprovisioningOptions: T;\n}\n\nexport class SchoolSystemOptions extends DomainObject\n> {\n\tpublic get schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tpublic get systemId(): EntityId {\n\t\treturn this.props.systemId;\n\t}\n\n\tpublic get provisioningOptions(): T {\n\t\treturn this.props.provisioningOptions;\n\t}\n}\n\nexport type AnyProvisioningOptions = SchulConneXProvisioningOptions;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptionsBuilder.html":{"url":"classes/SchoolSystemOptionsBuilder.html","title":"class - SchoolSystemOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptionsBuilder\n\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/domain/school-system-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n buildProvisioningOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(provisioningStrategy: SystemProvisioningStrategy)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.builder.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningStrategy\n \n \n SystemProvisioningStrategy\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 buildProvisioningOptions\n \n \n \n \n \n \n \n buildProvisioningOptions(provisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/domain/school-system-options.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 provisioningOptions\n \n ProvisioningOptionsInterface\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyProvisioningOptions\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 { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningStrategyInvalidOptionsLoggableException } from '../loggable';\nimport { provisioningStrategyOptions } from './provisioning-strategy-options';\nimport { AnyProvisioningOptions } from './school-system-options.do';\n\nexport class SchoolSystemOptionsBuilder {\n\tconstructor(private readonly provisioningStrategy: SystemProvisioningStrategy) {}\n\n\tpublic buildProvisioningOptions(provisioningOptions: ProvisioningOptionsInterface): AnyProvisioningOptions {\n\t\tconst ProvisioningOptionsConstructor: (new () => AnyProvisioningOptions) | undefined =\n\t\t\tprovisioningStrategyOptions.get(this.provisioningStrategy);\n\n\t\tif (!ProvisioningOptionsConstructor) {\n\t\t\tthrow new ProvisioningStrategyInvalidOptionsLoggableException(this.provisioningStrategy, provisioningOptions);\n\t\t}\n\n\t\tconst createdProvisioningOptions: AnyProvisioningOptions = new ProvisioningOptionsConstructor();\n\n\t\tif (!createdProvisioningOptions.isApplicable(provisioningOptions)) {\n\t\t\tthrow new ProvisioningStrategyInvalidOptionsLoggableException(this.provisioningStrategy, provisioningOptions);\n\t\t}\n\n\t\tcreatedProvisioningOptions.set(provisioningOptions);\n\n\t\treturn createdProvisioningOptions;\n\t}\n}\n\n \n\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/SchoolSystemOptionsEntity.html":{"url":"entities/SchoolSystemOptionsEntity.html","title":"entity - SchoolSystemOptionsEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolSystemOptionsEntity\n\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/entity/school-system-options.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningOptions\n \n \n \n school\n \n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n provisioningOptions\n \n \n \n \n \n \n Type : ProvisioningOptionsEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/entity/school-system-options.entity.ts:29\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)\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/entity/school-system-options.entity.ts:23\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/modules/legacy-school/entity/school-system-options.entity.ts:26\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningOptionsEntity } from './provisioning-options.entity';\n\nexport interface SchoolSystemOptionsEntityProps {\n\tid?: EntityId;\n\n\tschool: SchoolEntity;\n\n\tsystem: SystemEntity;\n\n\tprovisioningOptions: ProvisioningOptionsInterface;\n}\n\n@Entity({ tableName: 'school-system-options' })\n@Unique({ properties: ['school', 'system'] })\nexport class SchoolSystemOptionsEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity)\n\tschool: SchoolEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\t@Embedded(() => ProvisioningOptionsEntity)\n\tprovisioningOptions: ProvisioningOptionsEntity;\n\n\tconstructor(props: SchoolSystemOptionsEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.school = props.school;\n\t\tthis.system = props.system;\n\t\tthis.provisioningOptions = new ProvisioningOptionsEntity(props.provisioningOptions);\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/SchoolSystemOptionsEntityProps.html":{"url":"interfaces/SchoolSystemOptionsEntityProps.html","title":"interface - SchoolSystemOptionsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSystemOptionsEntityProps\n\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/entity/school-system-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 id\n \n \n \n \n provisioningOptions\n \n \n \n \n school\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 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 provisioningOptions\n \n \n \n \n \n \n \n \n provisioningOptions: ProvisioningOptionsInterface\n\n \n \n\n\n \n \n Type : ProvisioningOptionsInterface\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 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 { Embedded, Entity, ManyToOne, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningOptionsEntity } from './provisioning-options.entity';\n\nexport interface SchoolSystemOptionsEntityProps {\n\tid?: EntityId;\n\n\tschool: SchoolEntity;\n\n\tsystem: SystemEntity;\n\n\tprovisioningOptions: ProvisioningOptionsInterface;\n}\n\n@Entity({ tableName: 'school-system-options' })\n@Unique({ properties: ['school', 'system'] })\nexport class SchoolSystemOptionsEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity)\n\tschool: SchoolEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\t@Embedded(() => ProvisioningOptionsEntity)\n\tprovisioningOptions: ProvisioningOptionsEntity;\n\n\tconstructor(props: SchoolSystemOptionsEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.school = props.school;\n\t\tthis.system = props.system;\n\t\tthis.provisioningOptions = new ProvisioningOptionsEntity(props.provisioningOptions);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptionsMapper.html":{"url":"classes/SchoolSystemOptionsMapper.html","title":"class - SchoolSystemOptionsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptionsMapper\n\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/school-system-options.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapProvisioningOptionsToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapProvisioningOptionsToResponse\n \n \n \n \n \n \n \n mapProvisioningOptionsToResponse(options: AnyProvisioningOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/school-system-options.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 options\n \n AnyProvisioningOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyProvisioningOptionsResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AnyProvisioningOptions } from '../domain';\nimport { AnyProvisioningOptionsResponse, SchulConneXProvisioningOptionsResponse } from './dto';\n\nexport class SchoolSystemOptionsMapper {\n\tstatic mapProvisioningOptionsToResponse(options: AnyProvisioningOptions): AnyProvisioningOptionsResponse {\n\t\tconst mapped: SchulConneXProvisioningOptionsResponse = new SchulConneXProvisioningOptionsResponse({\n\t\t\tgroupProvisioningClassesEnabled: options.groupProvisioningClassesEnabled,\n\t\t\tgroupProvisioningCoursesEnabled: options.groupProvisioningCoursesEnabled,\n\t\t\tgroupProvisioningOtherEnabled: options.groupProvisioningOtherEnabled,\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"},"interfaces/SchoolSystemOptionsProps.html":{"url":"interfaces/SchoolSystemOptionsProps.html","title":"interface - SchoolSystemOptionsProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSystemOptionsProps\n\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/domain/school-system-options.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 provisioningOptions\n \n \n \n \n schoolId\n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n provisioningOptions\n \n \n \n \n \n \n \n \n provisioningOptions: 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 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 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\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\nimport { SchulConneXProvisioningOptions } from './schulconnex-provisionin-options.do';\n\nexport interface SchoolSystemOptionsProps extends AuthorizableObject {\n\tschoolId: EntityId;\n\n\tsystemId: EntityId;\n\n\tprovisioningOptions: T;\n}\n\nexport class SchoolSystemOptions extends DomainObject\n> {\n\tpublic get schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tpublic get systemId(): EntityId {\n\t\treturn this.props.systemId;\n\t}\n\n\tpublic get provisioningOptions(): T {\n\t\treturn this.props.provisioningOptions;\n\t}\n}\n\nexport type AnyProvisioningOptions = SchulConneXProvisioningOptions;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSystemOptionsRepo.html":{"url":"injectables/SchoolSystemOptionsRepo.html","title":"injectable - SchoolSystemOptionsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsRepo\n\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/school-system-options.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 buildDomainObject\n \n \n Public\n Async\n findBySchoolIdAndSystemId\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/legacy-school/repo/school-system-options.repo.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildDomainObject\n \n \n \n \n \n \n \n buildDomainObject(entity: SchoolSystemOptionsEntity, provisioningStrategy: SystemProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options.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 entity\n \n SchoolSystemOptionsEntity\n \n\n \n No\n \n\n\n \n \n provisioningStrategy\n \n SystemProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSystemOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findBySchoolIdAndSystemId\n \n \n \n \n \n \n \n findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(domainObject: SchoolSystemOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n SchoolSystemOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tAnyProvisioningOptions,\n\tSchoolSystemOptions,\n\tSchoolSystemOptionsBuilder,\n\tSchoolSystemOptionsProps,\n} from '../domain';\nimport { SchoolSystemOptionsEntity, SchoolSystemOptionsEntityProps } from '../entity';\nimport { ProvisioningStrategyMissingLoggableException } from '../loggable';\nimport { SchoolSystemOptionsRepoMapper } from './school-system-options-repo.mapper';\n\n@Injectable()\nexport class SchoolSystemOptionsRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId): Promise {\n\t\tconst entity: SchoolSystemOptionsEntity | null = await this.em.findOne(\n\t\t\tSchoolSystemOptionsEntity,\n\t\t\t{\n\t\t\t\tschool: schoolId,\n\t\t\t\tsystem: systemId,\n\t\t\t},\n\t\t\t{ populate: ['system.provisioningStrategy'] }\n\t\t);\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!entity.system.provisioningStrategy) {\n\t\t\tthrow new ProvisioningStrategyMissingLoggableException(entity.system.id);\n\t\t}\n\n\t\tconst domainObject: SchoolSystemOptions = this.buildDomainObject(entity, entity.system.provisioningStrategy);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async save(domainObject: SchoolSystemOptions): Promise {\n\t\tconst entityProps: SchoolSystemOptionsEntityProps = SchoolSystemOptionsRepoMapper.mapDomainObjectToEntityProperties(\n\t\t\tdomainObject,\n\t\t\tthis.em\n\t\t);\n\n\t\tconst newEntity: SchoolSystemOptionsEntity = new SchoolSystemOptionsEntity(entityProps);\n\n\t\tconst existingEntity: SchoolSystemOptionsEntity | null = await this.em.findOne(SchoolSystemOptionsEntity, {\n\t\t\tid: domainObject.id,\n\t\t});\n\n\t\tconst system: SystemEntity | null = await this.em.findOne(SystemEntity, {\n\t\t\tid: domainObject.systemId,\n\t\t});\n\n\t\tif (!system?.provisioningStrategy) {\n\t\t\tthrow new ProvisioningStrategyMissingLoggableException(domainObject.systemId);\n\t\t}\n\n\t\tlet savedEntity: SchoolSystemOptionsEntity;\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 savedDomainObject: SchoolSystemOptions = this.buildDomainObject(savedEntity, system.provisioningStrategy);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tprivate buildDomainObject(\n\t\tentity: SchoolSystemOptionsEntity,\n\t\tprovisioningStrategy: SystemProvisioningStrategy\n\t): SchoolSystemOptions {\n\t\tconst provisioningOptions: AnyProvisioningOptions = new SchoolSystemOptionsBuilder(\n\t\t\tprovisioningStrategy\n\t\t).buildProvisioningOptions(entity.provisioningOptions);\n\n\t\tconst props: SchoolSystemOptionsProps =\n\t\t\tSchoolSystemOptionsRepoMapper.mapEntityToDomainObjectProperties(entity, provisioningOptions);\n\n\t\tconst domainObject: SchoolSystemOptions = new SchoolSystemOptions(props);\n\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 results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemOptionsRepoMapper.html":{"url":"classes/SchoolSystemOptionsRepoMapper.html","title":"class - SchoolSystemOptionsRepoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemOptionsRepoMapper\n\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/school-system-options-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 mapDomainObjectToEntityProperties\n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n\n\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(schoolSystemOptions: SchoolSystemOptions, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options-repo.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 schoolSystemOptions\n \n SchoolSystemOptions\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 : SchoolSystemOptionsEntityProps\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: SchoolSystemOptionsEntity, provisioningOptions: AnyProvisioningOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/school-system-options-repo.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 entity\n \n SchoolSystemOptionsEntity\n \n\n \n No\n \n\n\n \n \n provisioningOptions\n \n AnyProvisioningOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSystemOptionsProps\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 { SchoolEntity, SystemEntity } from '@shared/domain/entity';\nimport { AnyProvisioningOptions, SchoolSystemOptions, SchoolSystemOptionsProps } from '../domain';\nimport { SchoolSystemOptionsEntity, SchoolSystemOptionsEntityProps } from '../entity';\n\nexport class SchoolSystemOptionsRepoMapper {\n\tstatic mapDomainObjectToEntityProperties(\n\t\tschoolSystemOptions: SchoolSystemOptions,\n\t\tem: EntityManager\n\t): SchoolSystemOptionsEntityProps {\n\t\tconst props: SchoolSystemOptionsProps = schoolSystemOptions.getProps();\n\n\t\tconst mapped: SchoolSystemOptionsEntityProps = {\n\t\t\tid: props.id,\n\t\t\tschool: em.getReference(SchoolEntity, props.schoolId),\n\t\t\tsystem: em.getReference(SystemEntity, props.systemId),\n\t\t\tprovisioningOptions: { ...props.provisioningOptions },\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapEntityToDomainObjectProperties(\n\t\tentity: SchoolSystemOptionsEntity,\n\t\tprovisioningOptions: AnyProvisioningOptions\n\t): SchoolSystemOptionsProps {\n\t\tconst mapped: SchoolSystemOptionsProps = {\n\t\t\tid: entity.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\tsystemId: entity.system.id,\n\t\t\tprovisioningOptions,\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"},"injectables/SchoolSystemOptionsRule.html":{"url":"injectables/SchoolSystemOptionsRule.html","title":"injectable - SchoolSystemOptionsRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsRule\n\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-system-options.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-system-options.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: SchoolSystemOptions, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-system-options.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 SchoolSystemOptions\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: SchoolSystemOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-system-options.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 SchoolSystemOptions\n \n\n \n No\n \n\n\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 { AnyProvisioningOptions, SchoolSystemOptions } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class SchoolSystemOptionsRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: SchoolSystemOptions): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof SchoolSystemOptions;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: SchoolSystemOptions, context: AuthorizationContext): boolean {\n\t\tconst hasPermissions: boolean = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\n\t\tconst isAtSchool: boolean = user.school.id === domainObject.schoolId;\n\n\t\tconst hasSystem: boolean = user.school.systems.getIdentifiers().includes(domainObject.systemId);\n\n\t\tconst isAuthorized: boolean = hasPermissions && isAtSchool && hasSystem;\n\n\t\treturn isAuthorized;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSystemOptionsService.html":{"url":"injectables/SchoolSystemOptionsService.html","title":"injectable - SchoolSystemOptionsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsService\n\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-system-options.service.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 findBySchoolIdAndSystemId\n \n \n Public\n Async\n getProvisioningOptions\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(schoolSystemOptionsRepo: SchoolSystemOptionsRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.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 schoolSystemOptionsRepo\n \n \n SchoolSystemOptionsRepo\n \n \n \n No\n \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 findBySchoolIdAndSystemId\n \n \n \n \n \n \n \n findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getProvisioningOptions\n \n \n \n \n \n \n \n getProvisioningOptions(ProvisioningOptionsConstructor, schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.service.ts:18\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 ProvisioningOptionsConstructor\n \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 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 save\n \n \n \n \n \n \n \n save(schoolSystemOptions: SchoolSystemOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-system-options.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 schoolSystemOptions\n \n SchoolSystemOptions\n \n\n \n No\n \n\n\n \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 { AnyProvisioningOptions, SchoolSystemOptions } from '../domain';\nimport { ProvisioningOptionsInvalidTypeLoggableException } from '../loggable';\nimport { SchoolSystemOptionsRepo } from '../repo';\n\n@Injectable()\nexport class SchoolSystemOptionsService {\n\tconstructor(private readonly schoolSystemOptionsRepo: SchoolSystemOptionsRepo) {}\n\n\tpublic async findBySchoolIdAndSystemId(schoolId: EntityId, systemId: EntityId): Promise {\n\t\tconst schoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsRepo.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\treturn schoolSystemOptions;\n\t}\n\n\tpublic async getProvisioningOptions(\n\t\tProvisioningOptionsConstructor: new () => T,\n\t\tschoolId: EntityId,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst schoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsRepo.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\tlet options: T;\n\t\tif (schoolSystemOptions) {\n\t\t\tif (!(schoolSystemOptions.provisioningOptions instanceof ProvisioningOptionsConstructor)) {\n\t\t\t\tthrow new ProvisioningOptionsInvalidTypeLoggableException(ProvisioningOptionsConstructor, schoolId, systemId);\n\t\t\t}\n\n\t\t\toptions = schoolSystemOptions.provisioningOptions;\n\t\t} else {\n\t\t\tconst defaultOptions: T = new ProvisioningOptionsConstructor();\n\n\t\t\toptions = defaultOptions;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tpublic async save(schoolSystemOptions: SchoolSystemOptions): Promise {\n\t\tconst savedSchoolSystemOptions: SchoolSystemOptions = await this.schoolSystemOptionsRepo.save(schoolSystemOptions);\n\n\t\treturn savedSchoolSystemOptions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSystemOptionsUc.html":{"url":"injectables/SchoolSystemOptionsUc.html","title":"injectable - SchoolSystemOptionsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSystemOptionsUc\n\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/school-system-options.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 createOrUpdateProvisioningOptions\n \n \n Public\n Async\n getProvisioningOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, systemService: SystemService, schoolSystemOptionsService: SchoolSystemOptionsService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/school-system-options.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 authorizationService\n \n \n AuthorizationService\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 schoolSystemOptionsService\n \n \n SchoolSystemOptionsService\n \n \n \n No\n \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 createOrUpdateProvisioningOptions\n \n \n \n \n \n \n \n createOrUpdateProvisioningOptions(userId: EntityId, schoolId: EntityId, systemId: EntityId, requestedProvisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/school-system-options.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n requestedProvisioningOptions\n \n ProvisioningOptionsInterface\n \n\n \n No\n \n\n\n \n \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 getProvisioningOptions\n \n \n \n \n \n \n \n getProvisioningOptions(userId: EntityId, schoolId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/school-system-options.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n 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 { ObjectId } from '@mikro-orm/mongodb';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { System, SystemService } from '@modules/system';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyProvisioningOptions, SchoolSystemOptions, SchoolSystemOptionsBuilder } from '../domain';\nimport { ProvisioningOptionsInterface } from '../interface';\nimport { ProvisioningStrategyMissingLoggableException } from '../loggable';\nimport { SchoolSystemOptionsService } from '../service';\n\n@Injectable()\nexport class SchoolSystemOptionsUc {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly schoolSystemOptionsService: SchoolSystemOptionsService\n\t) {}\n\n\tpublic async getProvisioningOptions(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst schoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsService.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\tif (!schoolSystemOptions) {\n\t\t\tthrow new NotFoundLoggableException(SchoolSystemOptions.name, { schoolId, systemId });\n\t\t}\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tschoolSystemOptions,\n\t\t\tAuthorizationContextBuilder.read([Permission.SCHOOL_SYSTEM_VIEW])\n\t\t);\n\n\t\treturn schoolSystemOptions.provisioningOptions;\n\t}\n\n\tpublic async createOrUpdateProvisioningOptions(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tsystemId: EntityId,\n\t\trequestedProvisioningOptions: ProvisioningOptionsInterface\n\t): Promise {\n\t\tconst system: System | null = await this.systemService.findById(systemId);\n\n\t\tif (!system) {\n\t\t\tthrow new NotFoundLoggableException(System.name, { id: systemId });\n\t\t}\n\n\t\tif (!system.provisioningStrategy) {\n\t\t\tthrow new ProvisioningStrategyMissingLoggableException(systemId);\n\t\t}\n\n\t\tconst provisioningOptions: AnyProvisioningOptions = new SchoolSystemOptionsBuilder(\n\t\t\tsystem.provisioningStrategy\n\t\t).buildProvisioningOptions(requestedProvisioningOptions);\n\n\t\tconst existingSchoolSystemOptions: SchoolSystemOptions | null =\n\t\t\tawait this.schoolSystemOptionsService.findBySchoolIdAndSystemId(schoolId, systemId);\n\n\t\tconst schoolSystemOptions: SchoolSystemOptions = new SchoolSystemOptions({\n\t\t\tid: existingSchoolSystemOptions?.id ?? new ObjectId().toHexString(),\n\t\t\tsystemId,\n\t\t\tschoolId,\n\t\t\tprovisioningOptions,\n\t\t});\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tschoolSystemOptions,\n\t\t\tAuthorizationContextBuilder.read([Permission.SCHOOL_SYSTEM_EDIT])\n\t\t);\n\n\t\tconst savedSchoolSystemOptions: SchoolSystemOptions = await this.schoolSystemOptionsService.save(\n\t\t\tschoolSystemOptions\n\t\t);\n\n\t\treturn savedSchoolSystemOptions.provisioningOptions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSystemParams.html":{"url":"classes/SchoolSystemParams.html","title":"class - SchoolSystemParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSystemParams\n\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/request/school-system.params.ts\n \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 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 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/legacy-school/controller/dto/request/school-system.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 : 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/legacy-school/controller/dto/request/school-system.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 { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolSystemParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: EntityId;\n\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/SchoolToolConfigurationStatusResponseMapper.html":{"url":"classes/SchoolToolConfigurationStatusResponseMapper.html","title":"class - SchoolToolConfigurationStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolToolConfigurationStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: SchoolExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n SchoolExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalToolConfigurationStatusResponse } from '../controller/dto/school-external-tool-configuration.response';\n\nexport class SchoolToolConfigurationStatusResponseMapper {\n\tstatic mapToResponse(status: SchoolExternalToolConfigurationStatus): SchoolExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: SchoolExternalToolConfigurationStatusResponse =\n\t\t\tnew SchoolExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolValidationService.html":{"url":"injectables/SchoolValidationService.html","title":"injectable - SchoolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n Public\n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n \n \n \n \n \n isSchoolNumberUnique(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n validate\n \n \n \n \n \n \n \n validate(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolNumberDuplicateLoggableException } from '../../loggable';\n\n@Injectable()\nexport class SchoolValidationService {\n\tconstructor(private readonly schoolRepo: LegacySchoolRepo) {}\n\n\tpublic async validate(school: LegacySchoolDo): Promise {\n\t\tif (!(await this.isSchoolNumberUnique(school))) {\n\t\t\tthrow new SchoolNumberDuplicateLoggableException(school.officialSchoolNumber as string);\n\t\t}\n\t}\n\n\tprivate async isSchoolNumberUnique(school: LegacySchoolDo): Promise {\n\t\tif (!school.officialSchoolNumber) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst foundSchool: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(school.officialSchoolNumber);\n\n\t\treturn foundSchool === null || foundSchool.id === school.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolYearEntity.html":{"url":"entities/SchoolYearEntity.html","title":"entity - SchoolYearEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolYearEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n name\n \n \n \n startDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n endDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolYearProperties.html":{"url":"interfaces/SchoolYearProperties.html","title":"interface - SchoolYearProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolYearProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n \n name\n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n endDate\n \n \n \n \n \n \n \n \n endDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearRepo.html":{"url":"injectables/SchoolYearRepo.html","title":"injectable - SchoolYearRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n \n \n \n \n \n findCurrentYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class SchoolYearRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SchoolYearEntity;\n\t}\n\n\tasync findCurrentYear(): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst year: SchoolYearEntity | null = await this._em.findOneOrFail(SchoolYearEntity, {\n\t\t\t$and: [{ startDate: { $lte: currentDate } }, { endDate: { $gte: currentDate } }],\n\t\t});\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearService.html":{"url":"injectables/SchoolYearService.html","title":"injectable - SchoolYearService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/school-year.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolYearRepo: SchoolYearRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolYearRepo\n \n \n SchoolYearRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n \n \n \n getCurrentSchoolYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolYearRepo } from '../repo';\n\n@Injectable()\nexport class SchoolYearService {\n\tconstructor(private readonly schoolYearRepo: SchoolYearRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync getCurrentSchoolYear(): Promise {\n\t\tconst current: SchoolYearEntity = await this.schoolYearRepo.findCurrentYear();\n\n\t\treturn current;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst year: SchoolYearEntity = await this.schoolYearRepo.findById(id);\n\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchulConneXProvisioningOptions.html":{"url":"classes/SchulConneXProvisioningOptions.html","title":"class - SchulConneXProvisioningOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchulConneXProvisioningOptions\n\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/domain/schulconnex-provisionin-options.do.ts\n \n\n\n\n \n Extends\n \n \n BaseProvisioningOptions\n \n\n \n Implements\n \n \n SchulConneXProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n groupProvisioningCoursesEnabled\n \n \n groupProvisioningOtherEnabled\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/schulconnex-provisionin-options.do.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n groupProvisioningCoursesEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/schulconnex-provisionin-options.do.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n groupProvisioningOtherEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/domain/schulconnex-provisionin-options.do.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(props: SchulConneXProvisioningOptionsInterface)\n \n \n\n\n \n \n Inherited from BaseProvisioningOptions\n\n \n \n \n \n Defined in BaseProvisioningOptions: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 props\n \n SchulConneXProvisioningOptionsInterface\n \n\n \n No\n \n\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(provisioningOptions: ProvisioningOptionsInterface)\n \n \n\n\n \n \n Inherited from BaseProvisioningOptions\n\n \n \n \n \n Defined in BaseProvisioningOptions:4\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningOptions\n \n ProvisioningOptionsInterface\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 \n\n\n \n import { SchulConneXProvisioningOptionsInterface } from '../interface';\nimport { BaseProvisioningOptions } from './base-provisioning-options';\n\nexport class SchulConneXProvisioningOptions\n\textends BaseProvisioningOptions\n\timplements SchulConneXProvisioningOptionsInterface\n{\n\tgroupProvisioningClassesEnabled = true;\n\n\tgroupProvisioningCoursesEnabled = false;\n\n\tgroupProvisioningOtherEnabled = false;\n\n\tset(props: SchulConneXProvisioningOptionsInterface): this {\n\t\tthis.groupProvisioningClassesEnabled = props.groupProvisioningClassesEnabled;\n\t\tthis.groupProvisioningCoursesEnabled = props.groupProvisioningCoursesEnabled;\n\t\tthis.groupProvisioningOtherEnabled = props.groupProvisioningOtherEnabled;\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/SchulConneXProvisioningOptionsParams.html":{"url":"classes/SchulConneXProvisioningOptionsParams.html","title":"class - SchulConneXProvisioningOptionsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchulConneXProvisioningOptionsParams\n\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/request/schulconnex-provisioning-options.params.ts\n \n\n\n\n\n \n Implements\n \n \n SchulConneXProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n \n groupProvisioningCoursesEnabled\n \n \n \n groupProvisioningOtherEnabled\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\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/legacy-school/controller/dto/request/schulconnex-provisioning-options.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningCoursesEnabled\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/legacy-school/controller/dto/request/schulconnex-provisioning-options.params.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningOtherEnabled\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/legacy-school/controller/dto/request/schulconnex-provisioning-options.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 { SchulConneXProvisioningOptionsInterface } from '../../../interface';\n\nexport class SchulConneXProvisioningOptionsParams implements SchulConneXProvisioningOptionsInterface {\n\t@ApiProperty()\n\tgroupProvisioningClassesEnabled!: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningCoursesEnabled!: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningOtherEnabled!: 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/SchulConneXProvisioningOptionsResponse.html":{"url":"classes/SchulConneXProvisioningOptionsResponse.html","title":"class - SchulConneXProvisioningOptionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchulConneXProvisioningOptionsResponse\n\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/response/schulconnex-provisioning-options.response.ts\n \n\n\n\n\n \n Implements\n \n \n SchulConneXProvisioningOptionsInterface\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\n \n \n \n groupProvisioningCoursesEnabled\n \n \n \n groupProvisioningOtherEnabled\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchulConneXProvisioningOptionsResponse)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/response/schulconnex-provisioning-options.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 SchulConneXProvisioningOptionsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n groupProvisioningClassesEnabled\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/legacy-school/controller/dto/response/schulconnex-provisioning-options.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningCoursesEnabled\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/legacy-school/controller/dto/response/schulconnex-provisioning-options.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n groupProvisioningOtherEnabled\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/legacy-school/controller/dto/response/schulconnex-provisioning-options.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 { SchulConneXProvisioningOptionsInterface } from '../../../interface';\n\nexport class SchulConneXProvisioningOptionsResponse implements SchulConneXProvisioningOptionsInterface {\n\t@ApiProperty()\n\tgroupProvisioningClassesEnabled: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningCoursesEnabled: boolean;\n\n\t@ApiProperty()\n\tgroupProvisioningOtherEnabled: boolean;\n\n\tconstructor(props: SchulConneXProvisioningOptionsResponse) {\n\t\tthis.groupProvisioningClassesEnabled = props.groupProvisioningClassesEnabled;\n\t\tthis.groupProvisioningCoursesEnabled = props.groupProvisioningCoursesEnabled;\n\t\tthis.groupProvisioningOtherEnabled = props.groupProvisioningOtherEnabled;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Scope.html":{"url":"classes/Scope.html","title":"class - Scope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Scope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/scope.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operator: ScopeOperator)\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operator\n \n \n ScopeOperator\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n\n \n \n getquery()\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:20\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EmptyResultQuery } from './query/empty-result.query';\n\ntype EmptyResultQueryType = typeof EmptyResultQuery;\n\ntype ScopeOperator = '$and' | '$or';\n\nexport class Scope {\n\tprivate _queries: FilterQuery[] = [];\n\n\tprivate _operator: ScopeOperator;\n\n\tprivate _allowEmptyQuery: boolean;\n\n\tconstructor(operator: ScopeOperator = '$and') {\n\t\tthis._operator = operator;\n\t\tthis._allowEmptyQuery = false;\n\t}\n\n\tget query(): FilterQuery {\n\t\tif (this._queries.length === 0) {\n\t\t\tif (this._allowEmptyQuery) {\n\t\t\t\treturn {} as FilterQuery;\n\t\t\t}\n\t\t\treturn EmptyResultQuery as FilterQuery;\n\t\t}\n\t\tconst query = this._queries.length > 1 ? { [this._operator]: this._queries } : this._queries[0];\n\t\treturn query as FilterQuery;\n\t}\n\n\taddQuery(query: FilterQuery | EmptyResultQueryType): void {\n\t\tthis._queries.push(query);\n\t}\n\n\tallowEmptyQuery(isEmptyQueryAllowed: boolean): Scope {\n\t\tthis._allowEmptyQuery = isEmptyQueryAllowed;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScopeInfo.html":{"url":"interfaces/ScopeInfo.html","title":"interface - ScopeInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScopeInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-info.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n scopeId\n \n \n \n \n scopeName\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n \n \n logoutUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n \n \n scopeId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeName\n \n \n \n \n \n \n \n \n scopeName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ScopeInfo {\n\tscopeId: EntityId;\n\n\tscopeName: string;\n\n\ttitle: string;\n\n\tlogoutUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScopeRef.html":{"url":"classes/ScopeRef.html","title":"class - ScopeRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScopeRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n scope\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, scope: VideoConferenceScope)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n scope\n \n \n VideoConferenceScope\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ScopeRef {\n\tid: EntityId;\n\n\tscope: VideoConferenceScope;\n\n\tconstructor(id: EntityId, scope: VideoConferenceScope) {\n\t\tthis.id = id;\n\t\tthis.scope = scope;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ServerConfig.html":{"url":"interfaces/ServerConfig.html","title":"interface - ServerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ServerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/server.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n UserConfig\n FilesStorageClientConfig\n AccountConfig\n IdentityManagementConfig\n CommonCartridgeConfig\n MailConfig\n XApiKeyConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NODE_ENV\n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NODE_ENV\n \n \n \n \n \n \n \n \n NODE_ENV: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n SC_DOMAIN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport type { IdentityManagementConfig } from '@infra/identity-management';\nimport type { AccountConfig } from '@modules/account';\nimport type { FilesStorageClientConfig } from '@modules/files-storage-client';\nimport type { CommonCartridgeConfig } from '@modules/learnroom/common-cartridge';\nimport type { UserConfig } from '@modules/user';\nimport type { CoreModuleConfig } from '@src/core';\nimport { MailConfig } from '@src/infra/mail/interfaces/mail-config';\nimport { XApiKeyConfig } from '@modules/authentication';\n\nexport enum NodeEnvType {\n\tTEST = 'test',\n\tDEVELOPMENT = 'development',\n\tPRODUCTION = 'production',\n\tMIGRATION = 'migration',\n}\n\nexport interface ServerConfig\n\textends CoreModuleConfig,\n\t\tUserConfig,\n\t\tFilesStorageClientConfig,\n\t\tAccountConfig,\n\t\tIdentityManagementConfig,\n\t\tCommonCartridgeConfig,\n\t\tMailConfig,\n\t\tXApiKeyConfig {\n\tNODE_ENV: string;\n\tSC_DOMAIN: string;\n}\n\nconst config: ServerConfig = {\n\tSC_DOMAIN: Configuration.get('SC_DOMAIN') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tAVAILABLE_LANGUAGES: (Configuration.get('I18N__AVAILABLE_LANGUAGES') as string).split(','),\n\tNODE_ENV: Configuration.get('NODE_ENV') as NodeEnvType,\n\tLOGIN_BLOCK_TIME: Configuration.get('LOGIN_BLOCK_TIME') as number,\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: Configuration.get(\n\t\t'TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE'\n\t) as boolean,\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: Configuration.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') as boolean,\n\tADMIN_API__ALLOWED_API_KEYS: (Configuration.get('ADMIN_API__ALLOWED_API_KEYS') as string)\n\t\t.split(',')\n\t\t.map((apiKey) => apiKey.trim()),\n\tBLOCKLIST_OF_EMAIL_DOMAINS: (Configuration.get('BLOCKLIST_OF_EMAIL_DOMAINS') as string)\n\t\t.split(',')\n\t\t.map((domain) => domain.trim()),\n};\n\nexport const serverConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ServerConsole.html":{"url":"classes/ServerConsole.html","title":"class - ServerConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ServerConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/server.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n getInOut\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService)\n \n \n \n \n Defined in apps/server/src/console/server.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'test', description: 'sample test output'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:11\n \n \n\n\n \n \n test method for console output\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n getInOut\n \n \n \n \n \n \n \n getInOut(whatever: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'out ', description: 'return input args'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:17\n \n \n\n\n \n \n test method for console input\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n whatever\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\n\n@Console({ command: 'server', description: 'sample server console' })\nexport class ServerConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService) {}\n\n\t/** test method for console output */\n\t@Command({ command: 'test', description: 'sample test output' })\n\tgetHello(): void {\n\t\tthis.consoleWriter.info('Schulcloud Server API');\n\t}\n\n\t/** test method for console input */\n\t@Command({ command: 'out ', description: 'return input args' })\n\tgetInOut(whatever: string): void {\n\t\tthis.consoleWriter.info(`input was: ${whatever}`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerConsoleModule.html":{"url":"modules/ServerConsoleModule.html","title":"module - ServerConsoleModule","body":"\n \n\n\n\n\n Modules\n ServerConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerConsoleModule\n\n\n\ncluster_ServerConsoleModule_imports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nServerConsoleModule\n\nServerConsoleModule\n\nServerConsoleModule -->\n\nConsoleWriterModule->ServerConsoleModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nServerConsoleModule -->\n\nFilesModule->ServerConsoleModule\n\n\n\n\n\nManagementModule\n\nManagementModule\n\nServerConsoleModule -->\n\nManagementModule->ServerConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/console/console.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n \n \n \n ConsoleWriterModule\n \n \n FilesModule\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ConsoleWriterModule } from '@infra/console/console-writer/console-writer.module';\nimport { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { FilesModule } from '@modules/files';\nimport { FileRecord } from '@modules/files-storage/entity';\nimport { FileEntity } from '@modules/files/entity';\nimport { ManagementModule } from '@modules/management/management.module';\nimport { serverConfig } from '@modules/server';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ServerConsole } from './server.console';\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tFilesModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\t\t...((Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean) ? [KeycloakModule] : []),\n\t\tMikroOrmModule.forRoot({\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity, FileRecord],\n\t\t\tallowGlobalContext: true,\n\t\t\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t\t\tnew NotFoundException(`The requested ${entityName}: ${JSON.stringify(where)} has not been found.`),\n\t\t}),\n\t],\n\tproviders: [\n\t\t/** add console services as providers */\n\t\tServerConsole,\n\t],\n})\nexport class ServerConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ServerController.html":{"url":"controllers/ServerController.html","title":"controller - ServerController","body":"\n \n\n\n\n\n\n\n Controllers\n ServerController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/controller/server.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/server/controller/server.controller.ts:7\n \n \n\n\n \n \n default route to test public access\n\n\n \n Returns : string\n\n \n \n \n \n \n \n\n\n \n import { Controller, Get } from '@nestjs/common';\n\n@Controller()\nexport class ServerController {\n\t/** default route to test public access */\n\t@Get()\n\tgetHello(): string {\n\t\treturn 'Schulcloud Server API';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerModule.html":{"url":"modules/ServerModule.html","title":"module - ServerModule","body":"\n \n\n\n\n\n Modules\n ServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerModule\n\n\n\ncluster_ServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerModule\n\nServerModule\n\nServerModule -->\n\nDeletionApiModule->ServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerModule -->\n\nLoggerModule->ServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nServerModule -->\n\nRabbitMQWrapperModule->ServerModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerModule -->\n\nRedisModule->ServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server Module used for production\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts: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 { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { 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/entity';\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\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n\tLegacySchoolApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerTestModule.html":{"url":"modules/ServerTestModule.html","title":"module - ServerTestModule","body":"\n \n\n\n\n\n Modules\n ServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerTestModule\n\n\n\ncluster_ServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerTestModule\n\nServerTestModule\n\nServerTestModule -->\n\nDeletionApiModule->ServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerTestModule -->\n\nLoggerModule->ServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nServerTestModule -->\n\nMongoMemoryDatabaseModule->ServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nServerTestModule -->\n\nRabbitMQWrapperTestModule->ServerTestModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerTestModule -->\n\nRedisModule->ServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server module used for testing.\nShould have same modules than the @ServerModule while infrastucture Modules can be different.\nCustomizations:\n\nIn Memory Database instead of external connection\n// TODO add custom mail, rocketchat, and rabbitmq modules\n// TODO use instead of ServerModule when NODE_ENV=test\n\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts: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 { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { 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/entity';\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\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n\tLegacySchoolApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetHeightBodyParams.html":{"url":"classes/SetHeightBodyParams.html","title":"class - SetHeightBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetHeightBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsPositive()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsPositive } from 'class-validator';\n\nexport class SetHeightBodyParams {\n\t@IsPositive()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\theight!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ShareToken.html":{"url":"entities/ShareToken.html","title":"entity - ShareToken","body":"\n \n\n\n\n\n\n\n\n Entities\n ShareToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n _parentId\n \n \n \n Optional\n contextType\n \n \n \n \n Optional\n expiresAt\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contextType\n \n \n \n \n \n \n Type : ShareTokenContextType\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:19\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenBodyParams.html":{"url":"classes/ShareTokenBodyParams.html","title":"class - ShareTokenBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@IsPositive()@ApiProperty({description: 'when defined, the sharetoken will expire after the given number of days.', required: false, nullable: true, minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'the id of the object being shared.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ShareTokenParentType)@ApiProperty({description: 'the type of the object being shared', required: true, nullable: false, enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'when defined, the sharetoken will be usable exclusively by members of the users school.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:41\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsInt, IsMongoId, IsOptional, IsPositive } from 'class-validator';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenBodyParams {\n\t@IsEnum(ShareTokenParentType)\n\t@ApiProperty({\n\t\tdescription: 'the type of the object being shared',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: ShareTokenParentType,\n\t})\n\tparentType!: ShareTokenParentType;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'the id of the object being shared.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tparentId!: string;\n\n\t@IsInt()\n\t@IsOptional()\n\t@IsPositive()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will expire after the given number of days.',\n\t\trequired: false,\n\t\tnullable: true,\n\t\tminimum: 1,\n\t})\n\texpiresInDays?: number;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will be usable exclusively by members of the users school.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tschoolExclusive?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenContextTypeMapper.html":{"url":"classes/ShareTokenContextTypeMapper.html","title":"class - ShareTokenContextTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenContextTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/context-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/context-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenContextType } from '../domainobject/share-token.do';\n\nexport class ShareTokenContextTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenContextType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenContextType.School, AuthorizableReferenceType.School);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ShareTokenController.html":{"url":"controllers/ShareTokenController.html","title":"controller - ShareTokenController","body":"\n \n\n\n\n\n\n\n Controllers\n ShareTokenController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/share-token.controller.ts\n \n\n \n Prefix\n \n \n sharetoken\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(currentUser: ICurrentUser, body: ShareTokenBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a share token.'})@ApiResponse({status: 201, type: ShareTokenResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post()\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams, body: ShareTokenImportBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Import a share token payload.'})@ApiResponse({status: 201, type: CopyApiResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@ApiResponse({status: 501, type: NotImplementedException})@Post(':token/import')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenImportBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Look up a share token.'})@ApiResponse({status: 200, type: ShareTokenInfoResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get(':token')\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tNotFoundException,\n\tNotImplementedException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError, RequestTimeout } from '@shared/common';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { ShareTokenInfoResponseMapper, ShareTokenResponseMapper } from '../mapper';\nimport { ShareTokenUC } from '../uc';\nimport {\n\tShareTokenBodyParams,\n\tShareTokenImportBodyParams,\n\tShareTokenInfoResponse,\n\tShareTokenResponse,\n\tShareTokenUrlParams,\n} from './dto';\n\n@ApiTags('ShareToken')\n@Authenticate('jwt')\n@Controller('sharetoken')\nexport class ShareTokenController {\n\tconstructor(private readonly shareTokenUC: ShareTokenUC) {}\n\n\t@ApiOperation({ summary: 'Create a share token.' })\n\t@ApiResponse({ status: 201, type: ShareTokenResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post()\n\tasync createShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ShareTokenBodyParams\n\t): Promise {\n\t\tconst shareToken = await this.shareTokenUC.createShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\t{\n\t\t\t\tparentType: body.parentType,\n\t\t\t\tparentId: body.parentId,\n\t\t\t},\n\t\t\t{\n\t\t\t\tschoolExclusive: body.schoolExclusive,\n\t\t\t\texpiresInDays: body.expiresInDays,\n\t\t\t}\n\t\t);\n\n\t\tconst response = ShareTokenResponseMapper.mapToResponse(shareToken);\n\n\t\treturn Promise.resolve(response);\n\t}\n\n\t@ApiOperation({ summary: 'Look up a share token.' })\n\t@ApiResponse({ status: 200, type: ShareTokenInfoResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get(':token')\n\tasync lookupShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams\n\t): Promise {\n\t\tconst shareTokenInfo = await this.shareTokenUC.lookupShareToken(currentUser.userId, urlParams.token);\n\n\t\tconst response = ShareTokenInfoResponseMapper.mapToResponse(shareTokenInfo);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Import a share token payload.' })\n\t@ApiResponse({ status: 201, type: CopyApiResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@ApiResponse({ status: 501, type: NotImplementedException })\n\t@Post(':token/import')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync importShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams,\n\t\t@Body() body: ShareTokenImportBodyParams\n\t): Promise {\n\t\tconst copyStatus = await this.shareTokenUC.importShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.token,\n\t\t\tbody.newName,\n\t\t\tbody.destinationCourseId\n\t\t);\n\n\t\tconst response = CopyMapper.mapToResponse(copyStatus);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenDO.html":{"url":"classes/ShareTokenDO.html","title":"class - ShareTokenDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/domainobject/share-token.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n context\n \n \n Optional\n expiresAt\n \n \n payload\n \n \n token\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: ShareTokenDO)\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n ShareTokenDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : ShareTokenContext\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayload\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { BaseDO } from '@shared/domain/domainobject';\n\nexport enum ShareTokenParentType {\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n}\n\nexport enum ShareTokenContextType {\n\t'School' = 'schools',\n}\n\nexport type ShareTokenString = string;\n\nexport type ShareTokenPayload = {\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId;\n};\n\nexport type ShareTokenContext = {\n\tcontextType: ShareTokenContextType;\n\tcontextId: EntityId;\n};\n\nexport class ShareTokenDO extends BaseDO {\n\ttoken: ShareTokenString;\n\n\tpayload: ShareTokenPayload;\n\n\tcontext?: ShareTokenContext;\n\n\texpiresAt?: Date;\n\n\tconstructor(domainObject: ShareTokenDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.token = domainObject.token;\n\t\tthis.payload = domainObject.payload;\n\t\tthis.context = domainObject.context;\n\t\tthis.expiresAt = domainObject.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenFactory.html":{"url":"classes/ShareTokenFactory.html","title":"class - ShareTokenFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/share-token.do.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withId\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withId\n \n \n \n \n \n \nwithId(id?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/share-token.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO, ShareTokenParentType } from '@modules/sharing/domainobject/share-token.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { Factory } from 'fishery';\n\nclass ShareTokenFactory extends Factory {\n\t/* istanbul ignore next */\n\twithId(id?: EntityId) {\n\t\treturn this.params({ id: new ObjectId(id).toHexString() });\n\t}\n}\n\nexport const shareTokenFactory = ShareTokenFactory.define(({ sequence }) => {\n\treturn {\n\t\ttoken: `share-token-${sequence}`,\n\t\tpayload: {\n\t\t\tparentType: ShareTokenParentType.Course,\n\t\t\tparentId: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenImportBodyParams.html":{"url":"classes/ShareTokenImportBodyParams.html","title":"class - ShareTokenImportBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenImportBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n newName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@ApiProperty({description: 'Id of the course to which the lesson/task will be added', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n newName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'the new name of the imported object.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ShareTokenImportBodyParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'the new name of the imported object.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewName!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'Id of the course to which the lesson/task will be added',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdestinationCourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenInfoDto.html":{"url":"interfaces/ShareTokenInfoDto.html","title":"interface - ShareTokenInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/dto/share-token-info.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentName\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentName\n \n \n \n \n \n \n \n \n parentName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport interface ShareTokenInfoDto {\n\ttoken: string;\n\tparentType: ShareTokenParentType;\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponse.html":{"url":"classes/ShareTokenInfoResponse.html","title":"class - ShareTokenInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentName\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenInfoResponse {\n\tconstructor({ token, parentType, parentName }: ShareTokenInfoResponse) {\n\t\tthis.token = token;\n\t\tthis.parentType = parentType;\n\t\tthis.parentName = parentName;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponseMapper.html":{"url":"classes/ShareTokenInfoResponseMapper.html","title":"class - ShareTokenInfoResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareTokenInfo: ShareTokenInfoDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenInfo\n \n ShareTokenInfoDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenInfoResponse } from '../controller/dto';\nimport { ShareTokenInfoDto } from '../uc/dto';\n\nexport class ShareTokenInfoResponseMapper {\n\tstatic mapToResponse(shareTokenInfo: ShareTokenInfoDto): ShareTokenInfoResponse {\n\t\tconst dto = new ShareTokenInfoResponse({\n\t\t\ttoken: shareTokenInfo.token,\n\t\t\tparentType: shareTokenInfo.parentType,\n\t\t\tparentName: shareTokenInfo.parentName,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenParentTypeMapper.html":{"url":"classes/ShareTokenParentTypeMapper.html","title":"class - ShareTokenParentTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenParentTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/parent-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/parent-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class ShareTokenParentTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenParentType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, AuthorizableReferenceType.Course);\n\t\ttypes.set(ShareTokenParentType.Lesson, AuthorizableReferenceType.Lesson);\n\t\ttypes.set(ShareTokenParentType.Task, AuthorizableReferenceType.Task);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenPayloadResponse.html":{"url":"classes/ShareTokenPayloadResponse.html","title":"class - ShareTokenPayloadResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenPayloadResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(payload: ShareTokenPayload)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n \n ShareTokenPayload\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ShareTokenParentType, ShareTokenPayload } from '../../domainobject/share-token.do';\n\nexport class ShareTokenPayloadResponse {\n\tconstructor(payload: ShareTokenPayload) {\n\t\tthis.parentType = payload.parentType;\n\t\tthis.parentId = payload.parentId;\n\t}\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\tparentId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenProperties.html":{"url":"interfaces/ShareTokenProperties.html","title":"interface - ShareTokenProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextId\n \n \n \n Optional\n \n contextType\n \n \n \n Optional\n \n expiresAt\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ShareTokenContextType\n\n \n \n\n\n \n \n Type : ShareTokenContextType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: ShareTokenString\n\n \n \n\n\n \n \n Type : ShareTokenString\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenRepo.html":{"url":"injectables/ShareTokenRepo.html","title":"injectable - ShareTokenRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/repo/share-token.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findOneByToken\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findOneByToken\n \n \n \n \n \n \n \n findOneByToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(domainObject: ShareTokenDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ShareToken)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ShareToken\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { ShareTokenContext, ShareTokenDO, ShareTokenPayload, ShareTokenString } from '../domainobject/share-token.do';\nimport { ShareToken } from '../entity/share-token.entity';\n\n@Injectable()\nexport class ShareTokenRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn ShareToken;\n\t}\n\n\tasync findOneByToken(token: ShareTokenString): Promise {\n\t\tconst entity = await this._em.findOneOrFail(ShareToken, { token });\n\n\t\tconst shareToken = this.mapEntityToDO(entity);\n\n\t\treturn shareToken;\n\t}\n\n\tprotected mapEntityToDO(entity: ShareToken): ShareTokenDO {\n\t\tconst payload: ShareTokenPayload = {\n\t\t\tparentType: entity.parentType,\n\t\t\tparentId: entity.parentId,\n\t\t};\n\n\t\tconst context: ShareTokenContext | undefined =\n\t\t\tentity.contextType && entity.contextId\n\t\t\t\t? { contextType: entity.contextType, contextId: entity.contextId }\n\t\t\t\t: undefined;\n\n\t\tconst domainObject = new ShareTokenDO({\n\t\t\tid: entity.id,\n\t\t\ttoken: entity.token,\n\t\t\tpayload,\n\t\t\tcontext,\n\t\t\texpiresAt: entity.expiresAt,\n\t\t});\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapDOToEntityProperties(domainObject: ShareTokenDO): EntityData {\n\t\tconst properties = {\n\t\t\ttoken: domainObject.token,\n\t\t\tparentType: domainObject.payload.parentType,\n\t\t\tparentId: domainObject.payload.parentId,\n\t\t\tcontextType: domainObject.context?.contextType,\n\t\t\tcontextId: domainObject.context?.contextId,\n\t\t\texpiresAt: domainObject.expiresAt,\n\t\t};\n\n\t\treturn properties;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponse.html":{"url":"classes/ShareTokenResponse.html","title":"class - ShareTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n payload\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayloadResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ShareTokenPayloadResponse } from './share-token-payload.response';\n\nexport class ShareTokenResponse {\n\tconstructor({ token, payload, expiresAt }: ShareTokenResponse) {\n\t\tthis.token = token;\n\t\tthis.payload = new ShareTokenPayloadResponse(payload);\n\t\tthis.expiresAt = expiresAt;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty()\n\tpayload: ShareTokenPayloadResponse;\n\n\t@ApiPropertyOptional()\n\texpiresAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponseMapper.html":{"url":"classes/ShareTokenResponseMapper.html","title":"class - ShareTokenResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO } from '../domainobject/share-token.do';\nimport { ShareTokenResponse } from '../controller/dto';\n\nexport class ShareTokenResponseMapper {\n\tstatic mapToResponse(shareToken: ShareTokenDO): ShareTokenResponse {\n\t\tconst dto = new ShareTokenResponse({\n\t\t\ttoken: shareToken.token,\n\t\t\tpayload: shareToken.payload,\n\t\t\texpiresAt: shareToken.expiresAt,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenService.html":{"url":"injectables/ShareTokenService.html","title":"injectable - ShareTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/share-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkExpired\n \n \n Async\n createToken\n \n \n Async\n lookupToken\n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tokenGenerator: TokenGenerator, shareTokenRepo: ShareTokenRepo, courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenGenerator\n \n \n TokenGenerator\n \n \n \n No\n \n \n \n \n shareTokenRepo\n \n \n ShareTokenRepo\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkExpired\n \n \n \n \n \n \n \n checkExpired(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createToken\n \n \n \n \n \n \n \n createToken(payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupToken\n \n \n \n \n \n \n \n lookupToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n \n \n \n lookupTokenWithParentName(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport {\n\tShareTokenContext,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n\tShareTokenString,\n} from '../domainobject/share-token.do';\nimport { ShareTokenRepo } from '../repo/share-token.repo';\nimport { TokenGenerator } from './token-generator.service';\n\n@Injectable()\nexport class ShareTokenService {\n\tconstructor(\n\t\tprivate readonly tokenGenerator: TokenGenerator,\n\t\tprivate readonly shareTokenRepo: ShareTokenRepo,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync createToken(\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { context?: ShareTokenContext; expiresAt?: Date }\n\t): Promise {\n\t\tconst token = this.tokenGenerator.generateShareToken();\n\t\tconst shareToken = new ShareTokenDO({\n\t\t\ttoken,\n\t\t\tpayload,\n\t\t\tcontext: options?.context,\n\t\t\texpiresAt: options?.expiresAt,\n\t\t});\n\n\t\tawait this.shareTokenRepo.save(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupToken(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.shareTokenRepo.findOneByToken(token);\n\n\t\tthis.checkExpired(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupTokenWithParentName(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.lookupToken(token);\n\n\t\tlet parentName = '';\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tparentName = (await this.courseService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tparentName = (await this.lessonService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tparentName = (await this.taskService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn { shareToken, parentName };\n\t}\n\n\tprivate checkExpired(shareToken: ShareTokenDO) {\n\t\tif (shareToken.expiresAt != null && shareToken.expiresAt \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenUC.html":{"url":"injectables/ShareTokenUC.html","title":"injectable - ShareTokenUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/share-token.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n Private\n Async\n checkCreatePermission\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n Async\n checkParentWritePermission\n \n \n Private\n Async\n copyCourse\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Async\n createShareToken\n \n \n Async\n importShareToken\n \n \n Async\n lookupShareToken\n \n \n Private\n nowPlusDays\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(shareTokenService: ShareTokenService, authorizationService: AuthorizationService, authorizationReferenceService: AuthorizationReferenceService, courseCopyService: CourseCopyService, lessonCopyService: LessonCopyService, courseService: CourseService, taskCopyService: TaskCopyService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenService\n \n \n ShareTokenService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n authorizationReferenceService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n \n \n \n \n \n checkContextReadPermission(userId: EntityId, context: ShareTokenContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:193\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n ShareTokenContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkCreatePermission\n \n \n \n \n \n \n \n checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:205\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled(parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:232\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkParentWritePermission\n \n \n \n \n \n \n \n checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: string, newName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: string, originalTaskId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n originalTaskId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(userId: EntityId, payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(userId: EntityId, token: string, newName: string, destinationCourseId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n destinationCourseId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(userId: EntityId, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n nowPlusDays\n \n \n \n \n \n \n \n nowPlusDays(days: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n days\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { CourseCopyService } from '@modules/learnroom';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonCopyService } from '@modules/lesson/service';\nimport { TaskCopyService } from '@modules/task/service';\nimport { BadRequestException, Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport {\n\tShareTokenContext,\n\tShareTokenContextType,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n} from '../domainobject/share-token.do';\nimport { ShareTokenContextTypeMapper, ShareTokenParentTypeMapper } from '../mapper';\nimport { ShareTokenService } from '../service';\nimport { ShareTokenInfoDto } from './dto';\n\n@Injectable()\nexport class ShareTokenUC {\n\tconstructor(\n\t\tprivate readonly shareTokenService: ShareTokenService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly authorizationReferenceService: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(ShareTokenUC.name);\n\t}\n\n\tasync createShareToken(\n\t\tuserId: EntityId,\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { schoolExclusive?: boolean; expiresInDays?: number }\n\t): Promise {\n\t\tthis.checkFeatureEnabled(payload.parentType);\n\n\t\tthis.logger.debug({ action: 'createShareToken', userId, payload, options });\n\n\t\tawait this.checkParentWritePermission(userId, payload);\n\n\t\tconst serviceOptions: { context?: ShareTokenContext; expiresAt?: Date } = {};\n\t\tif (options?.schoolExclusive) {\n\t\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\t\tserviceOptions.context = {\n\t\t\t\tcontextType: ShareTokenContextType.School,\n\t\t\t\tcontextId: user.school.id,\n\t\t\t};\n\t\t\tawait this.checkContextReadPermission(userId, serviceOptions.context);\n\t\t}\n\t\tif (options?.expiresInDays) {\n\t\t\tserviceOptions.expiresAt = this.nowPlusDays(options.expiresInDays);\n\t\t}\n\n\t\tconst shareToken = await this.shareTokenService.createToken(payload, serviceOptions);\n\t\treturn shareToken;\n\t}\n\n\tasync lookupShareToken(userId: EntityId, token: string): Promise {\n\t\tthis.logger.debug({ action: 'lookupShareToken', userId, token });\n\n\t\tconst { shareToken, parentName } = await this.shareTokenService.lookupTokenWithParentName(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tconst shareTokenInfo: ShareTokenInfoDto = {\n\t\t\ttoken,\n\t\t\tparentType: shareToken.payload.parentType,\n\t\t\tparentName,\n\t\t};\n\n\t\treturn shareTokenInfo;\n\t}\n\n\tasync importShareToken(\n\t\tuserId: EntityId,\n\t\ttoken: string,\n\t\tnewName: string,\n\t\tdestinationCourseId?: string\n\t): Promise {\n\t\tthis.logger.debug({ action: 'importShareToken', userId, token, newName });\n\n\t\tconst shareToken = await this.shareTokenService.lookupToken(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tlet result: CopyStatus;\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tresult = await this.copyCourse(userId, shareToken.payload.parentId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy lesson');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyLesson(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy task');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyTask(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Copy not implemented');\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate async copyCourse(userId: EntityId, courseId: string, newName: string): Promise {\n\t\treturn this.courseCopyService.copyCourse({\n\t\t\tuserId,\n\t\t\tcourseId,\n\t\t\tnewName,\n\t\t});\n\t}\n\n\tprivate async copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.lessonCopyService.copyLesson({\n\t\t\tuser,\n\t\t\toriginalLessonId: lessonId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async copyTask(\n\t\tuserId: string,\n\t\toriginalTaskId: string,\n\t\tcourseId: string,\n\t\tcopyName?: string\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.taskCopyService.copyTask({\n\t\t\tuser,\n\t\t\toriginalTaskId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload) {\n\t\tconst allowedParentType = ShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(payload.parentType);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\n\t\tconst authorizationContext = AuthorizationContextBuilder.write(requiredPermissions);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedParentType,\n\t\t\tpayload.parentId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkContextReadPermission(userId: EntityId, context: ShareTokenContext) {\n\t\tconst allowedContextType = ShareTokenContextTypeMapper.mapToAllowedAuthorizationEntityType(context.contextType);\n\t\tconst authorizationContext = AuthorizationContextBuilder.read([]);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedContextType,\n\t\t\tcontext.contextId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType) {\n\t\t// checks if parent type is supported\n\t\tShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(parentType);\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\t\tthis.authorizationService.checkAllPermissions(user, requiredPermissions);\n\t}\n\n\tprivate nowPlusDays(days: number) {\n\t\tconst date = new Date();\n\t\tdate.setDate(date.getDate() + days);\n\t\treturn date;\n\t}\n\n\tprivate checkFeatureEnabled(parentType: ShareTokenParentType) {\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_COURSE_SHARE_NEW') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Course Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_LESSON_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Lesson Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_TASK_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Task Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Import Feature not implemented');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenUrlParams.html":{"url":"classes/ShareTokenUrlParams.html","title":"class - ShareTokenUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The token that identifies the shared object', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class ShareTokenUrlParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The token that identifies the shared object',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoken!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingApiModule.html":{"url":"modules/SharingApiModule.html","title":"module - SharingApiModule","body":"\n \n\n\n\n\n Modules\n SharingApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingApiModule\n\n\n\ncluster_SharingApiModule_providers\n\n\n\ncluster_SharingApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingApiModule\n\nSharingApiModule\n\nSharingApiModule -->\n\nAuthorizationModule->SharingApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingApiModule -->\n\nAuthorizationReferenceModule->SharingApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingApiModule -->\n\nLearnroomModule->SharingApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingApiModule -->\n\nLessonModule->SharingApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingApiModule -->\n\nLoggerModule->SharingApiModule\n\n\n\n\n\nSharingModule\n\nSharingModule\n\nSharingApiModule -->\n\nSharingModule->SharingApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingApiModule -->\n\nTaskModule->SharingApiModule\n\n\n\n\n\nShareTokenUC\n\nShareTokenUC\n\nSharingApiModule -->\n\nShareTokenUC->SharingApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenUC\n \n \n \n \n Controllers\n \n \n ShareTokenController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n SharingModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingModule.html":{"url":"modules/SharingModule.html","title":"module - SharingModule","body":"\n \n\n\n\n\n Modules\n SharingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingModule\n\n\n\ncluster_SharingModule_exports\n\n\n\ncluster_SharingModule_providers\n\n\n\ncluster_SharingModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingModule\n\nSharingModule\n\nSharingModule -->\n\nAuthorizationModule->SharingModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingModule -->\n\nAuthorizationReferenceModule->SharingModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingModule -->\n\nLearnroomModule->SharingModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingModule -->\n\nLessonModule->SharingModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingModule -->\n\nLoggerModule->SharingModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingModule -->\n\nTaskModule->SharingModule\n\n\n\n\n\nShareTokenService \n\nShareTokenService \n\nShareTokenService -->\n\nSharingModule->ShareTokenService \n\n\n\n\n\nShareTokenRepo\n\nShareTokenRepo\n\nSharingModule -->\n\nShareTokenRepo->SharingModule\n\n\n\n\n\nShareTokenService\n\nShareTokenService\n\nSharingModule -->\n\nShareTokenService->SharingModule\n\n\n\n\n\nTokenGenerator\n\nTokenGenerator\n\nSharingModule -->\n\nTokenGenerator->SharingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenRepo\n \n \n ShareTokenService\n \n \n TokenGenerator\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n ShareTokenService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleColumnBoardResponse.html":{"url":"classes/SingleColumnBoardResponse.html","title":"class - SingleColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n elements\n \n \n \n isArchived\n \n \n \n roomId\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SingleColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SingleColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : BoardElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'Array of board specific tasks or lessons with matching type property'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isArchived\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Boolean if the room this board belongs to is archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the room this board belongs to', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardElementResponse } from './board-element.response';\n\n// TODO: this and DashboardResponse should be combined\nexport class SingleColumnBoardResponse {\n\tconstructor({ roomId, title, displayColor, elements, isArchived }: SingleColumnBoardResponse) {\n\t\tthis.roomId = roomId;\n\t\tthis.title = title;\n\t\tthis.displayColor = displayColor;\n\t\tthis.elements = elements;\n\t\tthis.isArchived = isArchived;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the room this board belongs to',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\troomId: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Board',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Board',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\ttype: [BoardElementResponse],\n\t\tdescription: 'Array of board specific tasks or lessons with matching type property',\n\t})\n\telements: BoardElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Boolean if the room this board belongs to is archived',\n\t})\n\tisArchived: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleFileParams.html":{"url":"classes/SingleFileParams.html","title":"class - SingleFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:72\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortExternalToolParams.html":{"url":"classes/SortExternalToolParams.html","title":"class - SortExternalToolParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortExternalToolParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-sort.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ExternalToolSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ExternalToolSortBy)@ApiPropertyOptional({enum: ExternalToolSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport enum ExternalToolSortBy {\n\tID = 'id',\n\tNAME = 'name',\n}\n\nexport class SortExternalToolParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ExternalToolSortBy)\n\t@ApiPropertyOptional({ enum: ExternalToolSortBy })\n\tsortBy?: ExternalToolSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortHelper.html":{"url":"classes/SortHelper.html","title":"class - SortHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/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/shared/common/utils/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 Default value\n \n \n \n \n a\n \n T\n \n\n \n No\n \n\n \n \n\n \n \n b\n \n T\n \n\n \n No\n \n\n \n \n\n \n \n sortOrder\n \n SortOrder\n \n\n \n No\n \n\n \n SortOrder.asc\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 '../../domain/interface';\n\nexport class SortHelper {\n\tpublic static genericSortFunction(a: T, b: T, sortOrder: SortOrder = SortOrder.asc): number {\n\t\tlet order: number;\n\n\t\tif (typeof a !== 'undefined' && typeof b === 'undefined') {\n\t\t\torder = 1;\n\t\t} else if (typeof a === 'undefined' && typeof b !== 'undefined') {\n\t\t\torder = -1;\n\t\t} else if (typeof a === 'string' && typeof b === 'string') {\n\t\t\torder = a.localeCompare(b);\n\t\t} else if (typeof a === 'number' && typeof b === 'number') {\n\t\t\torder = a - b;\n\t\t} else {\n\t\t\torder = 0;\n\t\t}\n\n\t\treturn sortOrder === SortOrder.desc ? -order : order;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortImportUserParams.html":{"url":"classes/SortImportUserParams.html","title":"class - SortImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/sort-import-user.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ImportUserSortOrder\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ImportUserSortOrder)@ApiPropertyOptional({enum: ImportUserSortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport enum ImportUserSortOrder {\n\tFIRSTNAME = 'firstName',\n\tLASTNAME = 'lastName',\n}\n\nexport class SortImportUserParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ImportUserSortOrder)\n\t@ApiPropertyOptional({ enum: ImportUserSortOrder })\n\tsortBy?: ImportUserSortOrder;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortingParams.html":{"url":"classes/SortingParams.html","title":"class - SortingParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortingParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/sorting.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:13\n \n \n\n \n \n Set type and Decorators in extending classes\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nenum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport abstract class SortingParams {\n\t/**\n\t * Set type and Decorators in extending classes\n\t */\n\tabstract sortBy?: T;\n\n\t@IsOptional()\n\t@IsEnum(SortOrder)\n\t@ApiPropertyOptional({ enum: SortOrder })\n\tsortOrder: SortOrder = SortOrder.asc;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StartUserLoginMigrationUc.html":{"url":"injectables/StartUserLoginMigrationUc.html","title":"injectable - StartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n \n \n \n \n \n checkPreconditions(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationStartLoggable,\n} from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class StartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(StartUserLoginMigrationUc.name);\n\t}\n\n\tasync startMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tawait this.checkPreconditions(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.startMigration(schoolId);\n\n\t\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, userLoginMigration.id));\n\t\t} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPreconditions(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\n\t\tif (!school.officialSchoolNumber) {\n\t\t\tthrow new SchoolNumberMissingLoggableException(schoolId);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StatelessAuthorizationParams.html":{"url":"classes/StatelessAuthorizationParams.html","title":"class - StatelessAuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StatelessAuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class StatelessAuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StorageProviderEncryptedStringType.html":{"url":"classes/StorageProviderEncryptedStringType.html","title":"class - StorageProviderEncryptedStringType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StorageProviderEncryptedStringType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts\n \n\n\n \n Description\n \n \n Serialization type to transparent encrypt string values in database.\n\n \n\n \n Extends\n \n \n Type\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n key\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n convertToDatabaseValue\n \n \n convertToJSValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(customKey?: string)\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n customKey\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n convertToDatabaseValue\n \n \n \n \n \n \nconvertToDatabaseValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n convertToJSValue\n \n \n \n \n \n \nconvertToJSValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Type } from '@mikro-orm/core';\nimport CryptoJs from 'crypto-js';\n\n/**\n * Serialization type to transparent encrypt string values in database.\n */\nexport class StorageProviderEncryptedStringType extends Type {\n\t// TODO modularize service?\n\tprivate key: string;\n\n\tconstructor(customKey?: string) {\n\t\tsuper();\n\t\tif (customKey) {\n\t\t\tthis.key = customKey;\n\t\t} else {\n\t\t\tthis.key = Configuration.get('S3_KEY') as string;\n\t\t}\n\t}\n\n\tconvertToDatabaseValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// encrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\t\tconst encryptedString = CryptoJs.AES.encrypt(value, this.key).toString();\n\n\t\treturn encryptedString;\n\t}\n\n\tconvertToJSValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// decrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\n\t\t// decrypt only non-empty strings\n\t\tconst decryptedString: string = CryptoJs.AES.decrypt(value, this.key).toString(CryptoJs.enc.Utf8);\n\n\t\treturn decryptedString;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/StorageProviderEntity.html":{"url":"entities/StorageProviderEntity.html","title":"entity - StorageProviderEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n StorageProviderEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n endpointUrl\n \n \n \n Optional\n region\n \n \n \n secretAccessKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n region\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/StorageProviderProperties.html":{"url":"interfaces/StorageProviderProperties.html","title":"interface - StorageProviderProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n StorageProviderProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n endpointUrl\n \n \n \n Optional\n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n \n \n endpointUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StorageProviderRepo.html":{"url":"injectables/StorageProviderRepo.html","title":"injectable - StorageProviderRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StorageProviderRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class StorageProviderRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn StorageProviderEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst providers = this._em.find(StorageProviderEntity, {});\n\n\t\treturn providers;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StringValidator.html":{"url":"classes/StringValidator.html","title":"class - StringValidator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StringValidator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/validator/string.validator.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n Static\n isString\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n \n \n \n \n \n isNotEmptyString(value?: string, trim)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n trim\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isString\n \n \n \n \n \n \n \n isString(value?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:2\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class StringValidator {\n\tstatic isString(value?: string): value is string {\n\t\tconst result = value != null && typeof value === 'string';\n\t\tif (result === true) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic isNotEmptyString(value?: string, trim = false): boolean {\n\t\tif (StringValidator.isString(value)) {\n\t\t\tconst result = trim ? value.trim().length > 0 : value.length > 0;\n\t\t\treturn result;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Submission.html":{"url":"entities/Submission.html","title":"entity - Submission","body":"\n \n\n\n\n\n\n\n\n Entities\n Submission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n Optional\n courseGroup\n \n \n \n Optional\n grade\n \n \n \n Optional\n gradeComment\n \n \n \n graded\n \n \n \n \n school\n \n \n \n student\n \n \n \n submitted\n \n \n \n \n task\n \n \n \n teamMembers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n gradeComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'studentId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {fieldName: 'homeworkId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'teamMembers'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:43\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerContentBody.html":{"url":"classes/SubmissionContainerContentBody.html","title":"class - SubmissionContainerContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'The point in time until when a submission can be handed in.'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:106\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElement.html":{"url":"classes/SubmissionContainerElement.html","title":"class - SubmissionContainerElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n\n \n \n getdueDate()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:6\n \n \n\n \n \n setdueDate(value: Date | null)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n Date | null\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContent.html":{"url":"classes/SubmissionContainerElementContent.html","title":"class - SubmissionContainerElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Date, description: 'The dueDate as date string or null of not set', example: '2023-08-17T14:17:51.958+00:00'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContentBody.html":{"url":"classes/SubmissionContainerElementContentBody.html","title":"class - SubmissionContainerElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:115\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:111\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionContainerElementNode.html":{"url":"entities/SubmissionContainerElementNode.html","title":"entity - SubmissionContainerElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionContainerElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerElementProps.html":{"url":"interfaces/SubmissionContainerElementProps.html","title":"interface - SubmissionContainerElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponse.html":{"url":"classes/SubmissionContainerElementResponse.html","title":"class - SubmissionContainerElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponseMapper.html":{"url":"classes/SubmissionContainerElementResponseMapper.html","title":"class - SubmissionContainerElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionContainerElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : SubmissionContainerElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, SubmissionContainerElement } from '@shared/domain/domainobject';\nimport { SubmissionContainerElementContent, SubmissionContainerElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class SubmissionContainerElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: SubmissionContainerElementResponseMapper;\n\n\tpublic static getInstance(): SubmissionContainerElementResponseMapper {\n\t\tif (!SubmissionContainerElementResponseMapper.instance) {\n\t\t\tSubmissionContainerElementResponseMapper.instance = new SubmissionContainerElementResponseMapper();\n\t\t}\n\n\t\treturn SubmissionContainerElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: SubmissionContainerElement): SubmissionContainerElementResponse {\n\t\tconst result = new SubmissionContainerElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.SUBMISSION_CONTAINER,\n\t\t\tcontent: new SubmissionContainerElementContent({\n\t\t\t\tdueDate: element.dueDate,\n\t\t\t}),\n\t\t});\n\n\t\tif (element.dueDate) {\n\t\t\tresult.content = new SubmissionContainerElementContent({ dueDate: element.dueDate });\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: SubmissionContainerElement): boolean {\n\t\treturn element instanceof SubmissionContainerElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerNodeProps.html":{"url":"interfaces/SubmissionContainerNodeProps.html","title":"interface - SubmissionContainerNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerUrlParams.html":{"url":"classes/SubmissionContainerUrlParams.html","title":"class - SubmissionContainerUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission container.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionContainerUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission container.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionContainerId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SubmissionController.html":{"url":"controllers/SubmissionController.html","title":"controller - SubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n SubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/submission.controller.ts\n \n\n \n Prefix\n \n \n submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n Async\n findStatusesByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: SubmissionUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':submissionId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findStatusesByTask\n \n \n \n \n \n \n \n findStatusesByTask(currentUser: ICurrentUser, params: TaskUrlParams)\n \n \n\n \n \n Decorators : \n \n @Get('status/task/:taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { SubmissionMapper } from '../mapper';\nimport { SubmissionUc } from '../uc';\nimport { SubmissionStatusListResponse, SubmissionUrlParams, TaskUrlParams } from './dto';\n\n@ApiTags('Submission')\n@Authenticate('jwt')\n@Controller('submissions')\nexport class SubmissionController {\n\tconstructor(private readonly submissionUc: SubmissionUc) {}\n\n\t@Get('status/task/:taskId')\n\tasync findStatusesByTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: TaskUrlParams\n\t): Promise {\n\t\tconst submissions = await this.submissionUc.findAllByTask(currentUser.userId, params.taskId);\n\n\t\tconst submissionResponses = submissions.map((submission) => SubmissionMapper.mapToStatusResponse(submission));\n\n\t\tconst listResponse = new SubmissionStatusListResponse(submissionResponses);\n\n\t\treturn listResponse;\n\t}\n\n\t@Delete(':submissionId')\n\tasync delete(@Param() urlParams: SubmissionUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.submissionUc.delete(currentUser.userId, urlParams.submissionId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionFactory.html":{"url":"classes/SubmissionFactory.html","title":"class - SubmissionFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/submission.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n graded\n \n \n studentWithId\n \n \n submitted\n \n \n teamMembersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \ngraded()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n studentWithId\n \n \n \n \n \n \nstudentWithId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \nsubmitted()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n teamMembersWithId\n \n \n \n \n \n \nteamMembersWithId(numberOfTeamMembers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeamMembers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission, SubmissionProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { taskFactory } from './task.factory';\nimport { userFactory } from './user.factory';\n\nclass SubmissionFactory extends BaseFactory {\n\tgraded(): this {\n\t\tconst params: DeepPartial = { graded: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tsubmitted(): this {\n\t\tconst params: DeepPartial = { submitted: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentWithId(): this {\n\t\tconst params: DeepPartial = { student: userFactory.buildWithId() };\n\n\t\treturn this.params(params);\n\t}\n\n\tteamMembersWithId(numberOfTeamMembers: number): this {\n\t\tconst teamMembers = userFactory.buildListWithId(numberOfTeamMembers);\n\t\tconst params: DeepPartial = { teamMembers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const submissionFactory = SubmissionFactory.define(Submission, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\ttask: taskFactory.build(),\n\t\tstudent: userFactory.build(),\n\t\tcomment: `submission comment #${sequence}`,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItem.html":{"url":"classes/SubmissionItem.html","title":"class - SubmissionItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n userId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n\n \n \n getcompleted()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:7\n \n \n\n \n \n setcompleted(value: boolean)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:11\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:15\n \n \n\n \n \n setuserId(value: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:19\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemFactory.html":{"url":"injectables/SubmissionItemFactory.html","title":"injectable - SubmissionItemFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts:7\n \n \n\n\n \n \n\n \n Returns : SubmissionItem\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ObjectId } from 'bson';\nimport { SubmissionItem } from './submission-item.do';\n\n@Injectable()\nexport class SubmissionItemFactory {\n\tbuild(): SubmissionItem {\n\t\treturn new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: false,\n\t\t\tuserId: new ObjectId().toHexString(),\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionItemNode.html":{"url":"entities/SubmissionItemNode.html","title":"entity - SubmissionItemNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionItemNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property({comment: 'The user whos submission this is. Usually the student submitting the work.'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemNodeProps.html":{"url":"interfaces/SubmissionItemNodeProps.html","title":"interface - SubmissionItemNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemProps.html":{"url":"interfaces/SubmissionItemProps.html","title":"interface - SubmissionItemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponse.html":{"url":"classes/SubmissionItemResponse.html","title":"class - SubmissionItemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n elements\n \n \n \n id\n \n \n \n timestamps\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionItemResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionItemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : (RichTextElementResponse | FileElementResponse)[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, getSchemaPath } from '@nestjs/swagger';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { FileElementResponse, RichTextElementResponse } from '../element';\n\n@ApiExtraModels(FileElementResponse, RichTextElementResponse)\nexport class SubmissionItemResponse {\n\tconstructor({ id, timestamps, completed, userId, elements }: SubmissionItemResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.completed = completed;\n\t\tthis.userId = userId;\n\t\tthis.elements = elements;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcompleted: boolean;\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tuserId: string;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [{ $ref: getSchemaPath(FileElementResponse) }, { $ref: getSchemaPath(RichTextElementResponse) }],\n\t\t},\n\t})\n\telements: (RichTextElementResponse | FileElementResponse)[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponseMapper.html":{"url":"classes/SubmissionItemResponseMapper.html","title":"class - SubmissionItemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n getInstance\n \n \n Public\n mapSubmissionItemToResponse\n \n \n Public\n mapToResponse\n \n \n Private\n mapUsersToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionItemResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Returns : SubmissionItemResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n mapSubmissionItemToResponse\n \n \n \n \n \n \n \n mapSubmissionItemToResponse(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItems\n \n SubmissionItem[]\n \n\n \n No\n \n\n\n \n \n users\n \n UserBoardRoles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapUsersToResponse\n \n \n \n \n \n \n \n mapUsersToResponse(user: UserBoardRoles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserBoardRoles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tFileElement,\n\tisSubmissionItemContent,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n} from '@shared/domain/domainobject';\nimport { SubmissionItemResponse, SubmissionsResponse, TimestampsResponse, UserDataResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class SubmissionItemResponseMapper {\n\tprivate static instance: SubmissionItemResponseMapper;\n\n\tpublic static getInstance(): SubmissionItemResponseMapper {\n\t\tif (!SubmissionItemResponseMapper.instance) {\n\t\t\tSubmissionItemResponseMapper.instance = new SubmissionItemResponseMapper();\n\t\t}\n\n\t\treturn SubmissionItemResponseMapper.instance;\n\t}\n\n\tpublic mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[]): SubmissionsResponse {\n\t\tconst submissionItemsResponse: SubmissionItemResponse[] = submissionItems.map((item) =>\n\t\t\tthis.mapSubmissionItemToResponse(item)\n\t\t);\n\t\tconst usersResponse: UserDataResponse[] = users.map((user) => this.mapUsersToResponse(user));\n\n\t\tconst response = new SubmissionsResponse(submissionItemsResponse, usersResponse);\n\n\t\treturn response;\n\t}\n\n\tpublic mapSubmissionItemToResponse(submissionItem: SubmissionItem): SubmissionItemResponse {\n\t\tconst children: (FileElement | RichTextElement)[] = submissionItem.children.filter(isSubmissionItemContent);\n\t\tconst result = new SubmissionItemResponse({\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tid: submissionItem.id,\n\t\t\ttimestamps: new TimestampsResponse({\n\t\t\t\tlastUpdatedAt: submissionItem.updatedAt,\n\t\t\t\tcreatedAt: submissionItem.createdAt,\n\t\t\t}),\n\t\t\tuserId: submissionItem.userId,\n\t\t\telements: children.map((element) => ContentElementResponseFactory.mapSubmissionContentToResponse(element)),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tprivate mapUsersToResponse(user: UserBoardRoles) {\n\t\tconst result = new UserDataResponse({\n\t\t\tuserId: user.userId,\n\t\t\tfirstName: user.firstName || '',\n\t\t\tlastName: user.lastName || '',\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemService.html":{"url":"injectables/SubmissionItemService.html","title":"injectable - SubmissionItemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/submission-item.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findById\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, submissionContainer: SubmissionContainerElement, payload: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainer\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n payload\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(submissionItem: SubmissionItem, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { ObjectId } from 'bson';\n\nimport { ValidationError } from '@shared/common';\nimport { isSubmissionContainerElement, SubmissionContainerElement, SubmissionItem } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class SubmissionItemService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(id);\n\n\t\tif (!(element instanceof SubmissionItem)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync create(\n\t\tuserId: EntityId,\n\t\tsubmissionContainer: SubmissionContainerElement,\n\t\tpayload: { completed: boolean }\n\t): Promise {\n\t\tconst submissionItem = new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: payload.completed,\n\t\t\tuserId,\n\t\t});\n\n\t\tsubmissionContainer.addChild(submissionItem);\n\n\t\tawait this.boardDoRepo.save(submissionContainer.children, submissionContainer);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync update(submissionItem: SubmissionItem, completed: boolean): Promise {\n\t\tconst submissionContainterElement = await this.boardDoRepo.findParentOfId(submissionItem.id);\n\t\tif (!isSubmissionContainerElement(submissionContainterElement)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\tconst now = new Date();\n\t\tif (submissionContainterElement.dueDate && submissionContainterElement.dueDate \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemUc.html":{"url":"injectables/SubmissionItemUc.html","title":"injectable - SubmissionItemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/submission-item.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n findSubmissionItems\n \n \n Async\n updateSubmissionItem\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, submissionItemId: EntityId, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSubmissionItems\n \n \n \n \n \n \n \n findSubmissionItems(userId: EntityId, submissionContainerId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainerId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(userId: EntityId, submissionItemId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport {\n\tBadRequestException,\n\tforwardRef,\n\tInject,\n\tInjectable,\n\tNotFoundException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport {\n\tContentElementType,\n\tFileElement,\n\tisFileElement,\n\tisRichTextElement,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService, ContentElementService, SubmissionItemService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class SubmissionItemUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprotected readonly elementService: ContentElementService,\n\t\tprotected readonly submissionItemService: SubmissionItemService\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t}\n\n\tasync findSubmissionItems(\n\t\tuserId: EntityId,\n\t\tsubmissionContainerId: EntityId\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(submissionContainerId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new NotFoundException('Could not find a submission container with this id');\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read);\n\n\t\tlet submissionItems = submissionContainerElement.children.filter(isSubmissionItem);\n\n\t\tconst boardAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(submissionContainerElement);\n\t\tlet users = boardAuthorizable.users.filter((user) => user.userRoleEnum === UserRoleEnum.STUDENT);\n\n\t\tconst isAuthorizedStudent = await this.isAuthorizedStudent(userId, submissionContainerElement);\n\t\tif (isAuthorizedStudent) {\n\t\t\tsubmissionItems = submissionItems.filter((item) => item.userId === userId);\n\t\t\tusers = [];\n\t\t}\n\n\t\treturn { submissionItems, users };\n\t}\n\n\tasync updateSubmissionItem(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\t\tawait this.submissionItemService.update(submissionItem, completed);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\ttype: ContentElementType\n\t): Promise {\n\t\tif (type !== ContentElementType.RICH_TEXT && type !== ContentElementType.FILE) {\n\t\t\tthrow new BadRequestException();\n\t\t}\n\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\n\t\tconst element = await this.elementService.create(submissionItem, type);\n\n\t\tif (!isFileElement(element) && !isRichTextElement(element)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemUrlParams.html":{"url":"classes/SubmissionItemUrlParams.html","title":"class - SubmissionItemUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission item.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionItemUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission item.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionItemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionMapper.html":{"url":"classes/SubmissionMapper.html","title":"class - SubmissionMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/submission.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n \n \n \n mapToStatusResponse(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/submission.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission } from '@shared/domain/entity';\nimport { SubmissionStatusResponse } from '../controller/dto';\n\nexport class SubmissionMapper {\n\tstatic mapToStatusResponse(submission: Submission): SubmissionStatusResponse {\n\t\tconst dto = new SubmissionStatusResponse({\n\t\t\tid: submission.id,\n\t\t\tsubmitters: submission.getSubmitterIds(),\n\t\t\tisSubmitted: submission.isSubmitted(),\n\t\t\tgrade: submission.grade,\n\t\t\tisGraded: submission.isGraded(),\n\t\t\tsubmittingCourseGroupName: submission.courseGroup?.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionProperties.html":{"url":"interfaces/SubmissionProperties.html","title":"interface - SubmissionProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n comment\n \n \n \n Optional\n \n courseGroup\n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n gradeComment\n \n \n \n Optional\n \n graded\n \n \n \n \n school\n \n \n \n \n student\n \n \n \n Optional\n \n submitted\n \n \n \n \n task\n \n \n \n Optional\n \n teamMembers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n gradeComment\n \n \n \n \n \n \n \n \n gradeComment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n \n \n student: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n \n \n task: Task\n\n \n \n\n\n \n \n Type : Task\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n \n \n teamMembers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRepo.html":{"url":"injectables/SubmissionRepo.html","title":"injectable - SubmissionRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/submission/submission.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n Async\n findAllByTaskIds\n \n \n Async\n findAllByUserId\n \n \n Async\n findById\n \n \n Private\n Async\n populateReferences\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n \n \n \n \n \n byUserIdQuery(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTaskIds\n \n \n \n \n \n \n \n findAllByTaskIds(taskIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateReferences\n \n \n \n \n \n \n \n populateReferences(submissions: Submission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseGroup, Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n// TODO: add scope helper\n\n@Injectable()\nexport class SubmissionRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Submission;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst submission = await super.findById(id);\n\t\tawait this.populateReferences([submission]);\n\n\t\treturn submission;\n\t}\n\n\tasync findAllByTaskIds(taskIds: EntityId[]): Promise> {\n\t\tconst [submissions, count] = await this._em.findAndCount(this.entityName, {\n\t\t\ttask: { $in: taskIds },\n\t\t});\n\t\tawait this.populateReferences(submissions);\n\n\t\treturn [submissions, count];\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise> {\n\t\tconst result = await this._em.findAndCount(this.entityName, await this.byUserIdQuery(userId));\n\t\treturn result;\n\t}\n\n\tprivate async byUserIdQuery(userId: EntityId): Promise> {\n\t\tconst courseGroupsOfUser = await this._em.find(CourseGroup, { students: userId });\n\t\tconst query = { $or: [{ student: userId }, { teamMembers: userId }, { courseGroup: { $in: courseGroupsOfUser } }] };\n\t\treturn query;\n\t}\n\n\tprivate async populateReferences(submissions: Submission[]): Promise {\n\t\tawait this._em.populate(submissions, [\n\t\t\t'courseGroup',\n\t\t\t'task.course',\n\t\t\t'task.lesson.course',\n\t\t\t'task.lesson.courseGroup.course',\n\t\t]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRule.html":{"url":"injectables/SubmissionRule.html","title":"injectable - SubmissionRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/submission.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n Private\n hasParentTaskReadAccess\n \n \n Private\n hasParentTaskWriteAccess\n \n \n Public\n hasPermission\n \n \n Private\n hasReadAccess\n \n \n Private\n hasWriteAccess\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, taskRule: TaskRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n \n \n \n \n \n hasAccessToSubmission(user: User, submission: Submission, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskReadAccess\n \n \n \n \n \n \n \n hasParentTaskReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskWriteAccess\n \n \n \n \n \n \n \n hasParentTaskWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, submission: Submission, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasReadAccess\n \n \n \n \n \n \n \n hasReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasWriteAccess\n \n \n \n \n \n \n \n hasWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { TaskRule } from './task.rule';\n\n@Injectable()\nexport class SubmissionRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly taskRule: TaskRule) {}\n\n\tpublic isApplicable(user: User, entity: Submission): boolean {\n\t\tconst isMatched = entity instanceof Submission;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, submission: Submission, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\n\t\tconst result =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.hasAccessToSubmission(user, submission, action);\n\n\t\treturn result;\n\t}\n\n\tprivate hasAccessToSubmission(user: User, submission: Submission, action: Action): boolean {\n\t\tlet hasAccessToSubmission = false;\n\n\t\tif (action === Action.write) {\n\t\t\thasAccessToSubmission = this.hasWriteAccess(user, submission);\n\t\t} else if (action === Action.read) {\n\t\t\thasAccessToSubmission = this.hasReadAccess(user, submission);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\treturn hasAccessToSubmission;\n\t}\n\n\tprivate hasWriteAccess(user: User, submission: Submission) {\n\t\tconst hasWriteAccess = submission.isUserSubmitter(user) || this.hasParentTaskWriteAccess(user, submission);\n\n\t\treturn hasWriteAccess;\n\t}\n\n\tprivate hasReadAccess(user: User, submission: Submission) {\n\t\tlet hasReadAccess = false;\n\n\t\tif (submission.isSubmitted()) {\n\t\t\thasReadAccess =\n\t\t\t\tthis.hasWriteAccess(user, submission) ||\n\t\t\t\t(this.hasParentTaskReadAccess(user, submission) && submission.task.areSubmissionsPublic());\n\t\t} else {\n\t\t\thasReadAccess = submission.isUserSubmitter(user);\n\t\t}\n\n\t\treturn hasReadAccess;\n\t}\n\n\tprivate hasParentTaskWriteAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskWriteAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.write,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskWriteAccess;\n\t}\n\n\tprivate hasParentTaskReadAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskReadAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.read,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskReadAccess;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionService.html":{"url":"injectables/SubmissionService.html","title":"injectable - SubmissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/submission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findAllByTask\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionRepo: SubmissionRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { SubmissionRepo } from '@shared/repo';\n\n@Injectable()\nexport class SubmissionService {\n\tconstructor(\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findById(submissionId: EntityId): Promise {\n\t\treturn this.submissionRepo.findById(submissionId);\n\t}\n\n\tasync findAllByTask(taskId: EntityId): Promise> {\n\t\tconst submissions = this.submissionRepo.findAllByTaskIds([taskId]);\n\n\t\treturn submissions;\n\t}\n\n\tasync delete(submission: Submission): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(submission.id);\n\n\t\tawait this.submissionRepo.delete(submission);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusListResponse.html":{"url":"classes/SubmissionStatusListResponse.html","title":"class - SubmissionStatusListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SubmissionStatusResponse[])\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SubmissionStatusResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SubmissionStatusResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusResponse.html":{"url":"classes/SubmissionStatusResponse.html","title":"class - SubmissionStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n id\n \n \n \n isGraded\n \n \n \n isSubmitted\n \n \n \n submitters\n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n isGraded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubmitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitters\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionUc.html":{"url":"injectables/SubmissionUc.html","title":"injectable - SubmissionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/submission.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n filterSubmissionsByPermission\n \n \n Async\n findAllByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionService: SubmissionService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterSubmissionsByPermission\n \n \n \n \n \n \n \n filterSubmissionsByPermission(submissions: Submission[], user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Submission[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { SubmissionService } from '../service';\n\n@Injectable()\nexport class SubmissionUc {\n\tconstructor(\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findAllByTask(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst [submissions] = await this.submissionService.findAllByTask(taskId);\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst permittedSubmissions = this.filterSubmissionsByPermission(submissions, user);\n\n\t\treturn permittedSubmissions;\n\t}\n\n\tasync delete(userId: EntityId, submissionId: EntityId) {\n\t\tconst [user, submission] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.submissionService.findById(submissionId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsubmission,\n\t\t\tAuthorizationContextBuilder.write([Permission.SUBMISSIONS_EDIT])\n\t\t);\n\n\t\tawait this.submissionService.delete(submission);\n\n\t\treturn true;\n\t}\n\n\tprivate filterSubmissionsByPermission(submissions: Submission[], user: User): Submission[] {\n\t\tconst permissionContext = AuthorizationContextBuilder.read([Permission.SUBMISSIONS_VIEW]);\n\n\t\tconst permittedSubmissions = submissions.filter((submission) => {\n\t\t\tconst hasPermission = this.authorizationService.hasPermission(user, submission, permissionContext);\n\n\t\t\treturn hasPermission;\n\t\t});\n\n\t\treturn permittedSubmissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionUrlParams.html":{"url":"classes/SubmissionUrlParams.html","title":"class - SubmissionUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionsResponse.html":{"url":"classes/SubmissionsResponse.html","title":"class - SubmissionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[])\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItemsResponse\n \n \n SubmissionItemResponse[]\n \n \n \n No\n \n \n \n \n users\n \n \n UserDataResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n \n \n \n Type : SubmissionItemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : UserDataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { UserDataResponse } from '../user-data.response';\nimport { SubmissionItemResponse } from './submission-item.response';\n\nexport class SubmissionsResponse {\n\tconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[]) {\n\t\tthis.submissionItemsResponse = submissionItemsResponse;\n\t\tthis.users = users;\n\t}\n\n\t@ApiProperty({\n\t\ttype: [SubmissionItemResponse],\n\t})\n\tsubmissionItemsResponse: SubmissionItemResponse[];\n\n\t@ApiProperty({\n\t\ttype: [UserDataResponse],\n\t})\n\tusers: UserDataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SuccessfulRes.html":{"url":"interfaces/SuccessfulRes.html","title":"interface - SuccessfulRes","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SuccessfulRes\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SuccessfulResponse.html":{"url":"classes/SuccessfulResponse.html","title":"class - SuccessfulResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SuccessfulResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n successful\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(successful: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n successful\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n successful\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SuccessfulResponse {\n\tconstructor(successful: boolean) {\n\t\tthis.successful = successful;\n\t}\n\n\t@ApiProperty()\n\tsuccessful: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SwapInternalLinksVisitor.html":{"url":"classes/SwapInternalLinksVisitor.html","title":"class - SwapInternalLinksVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SwapInternalLinksVisitor\n\n\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/swap-internal-links.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 \n Methods\n \n \n \n \n \n \n Private\n doNothing\n \n \n visitCard\n \n \n Private\n visitChildrenOf\n \n \n visitColumn\n \n \n visitColumnBoard\n \n \n visitDrawingElement\n \n \n visitExternalToolElement\n \n \n visitFileElement\n \n \n visitLinkElement\n \n \n visitRichTextElement\n \n \n visitSubmissionContainerElement\n \n \n visitSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(idMap: Map)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n idMap\n \n \n Map\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 Private\n doNothing\n \n \n \n \n \n \n \n doNothing()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:63\n \n \n\n\n \n \n\n \n Returns : void\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/service/board-do-copy-service/swap-internal-links.visitor.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n 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 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/swap-internal-links.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 boardDo\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 visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.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 : 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/service/board-do-copy-service/swap-internal-links.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 columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.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 drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:33\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:37\n \n \n\n\n \n \n\n \n Returns : void\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/service/board-do-copy-service/swap-internal-links.visitor.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 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()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/swap-internal-links.visitor.ts:47\n \n \n\n\n \n \n\n \n Returns : void\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/service/board-do-copy-service/swap-internal-links.visitor.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 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/service/board-do-copy-service/swap-internal-links.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 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 {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tLinkElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { EntityId } from '@shared/domain/types';\n\nexport class SwapInternalLinksVisitor implements BoardCompositeVisitor {\n\tconstructor(private readonly idMap: Map) {}\n\n\tvisitDrawingElement(drawingElement: DrawingElement): void {\n\t\tthis.visitChildrenOf(drawingElement);\n\t}\n\n\tvisitCard(card: Card): void {\n\t\tthis.visitChildrenOf(card);\n\t}\n\n\tvisitColumn(column: Column): void {\n\t\tthis.visitChildrenOf(column);\n\t}\n\n\tvisitColumnBoard(columnBoard: ColumnBoard): void {\n\t\tthis.visitChildrenOf(columnBoard);\n\t}\n\n\tvisitExternalToolElement(): void {\n\t\tthis.doNothing();\n\t}\n\n\tvisitFileElement(): void {\n\t\tthis.doNothing();\n\t}\n\n\tvisitLinkElement(linkElement: LinkElement): void {\n\t\tthis.idMap.forEach((value, key) => {\n\t\t\tlinkElement.url = linkElement.url.replace(key, value);\n\t\t});\n\t}\n\n\tvisitRichTextElement(): void {\n\t\tthis.doNothing();\n\t}\n\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void {\n\t\tthis.visitChildrenOf(submissionContainerElement);\n\t}\n\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void {\n\t\tthis.visitChildrenOf(submissionItem);\n\t}\n\n\tprivate visitChildrenOf(boardDo: AnyBoardDo) {\n\t\tboardDo.children.forEach((child) => child.accept(this));\n\t}\n\n\tprivate doNothing() {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SymetricKeyEncryptionService.html":{"url":"injectables/SymetricKeyEncryptionService.html","title":"injectable - SymetricKeyEncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SymetricKeyEncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n decrypt\n \n \n Public\n encrypt\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, key?: string)\n \n \n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n key\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n decrypt\n \n \n \n \n \n \n \n decrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n encrypt\n \n \n \n \n \n \n \n encrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import CryptoJs from 'crypto-js';\n\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { EncryptionService } from './encryption.interface';\n\n@Injectable()\nexport class SymetricKeyEncryptionService implements EncryptionService {\n\tconstructor(private logger: LegacyLogger, private key?: string) {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Encryption will no work');\n\t\t}\n\t}\n\n\tpublic encrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.encrypt(data, this.key).toString();\n\t}\n\n\tpublic decrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.decrypt(data, this.key).toString(CryptoJs.enc.Utf8);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/System.html":{"url":"classes/System.html","title":"class - System","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n System\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n provisioningStrategy\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n\n \n \n getldapConfig()\n \n \n \n \n Defined in apps/server/src/modules/system/domain/system.do.ts:25\n \n \n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n\n \n \n getprovisioningStrategy()\n \n \n \n \n Defined in apps/server/src/modules/system/domain/system.do.ts:29\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n\n\tget provisioningStrategy(): SystemProvisioningStrategy | undefined {\n\t\treturn this.props.provisioningStrategy;\n\t}\n}\n\n \n\n\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\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nSystemApiModule -->\n\nAuthorizationModule->SystemApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nSystemApiModule -->\n\nSystemModule->SystemApiModule\n\n\n\n\n\nSystemUc\n\nSystemUc\n\nSystemApiModule -->\n\nSystemUc->SystemApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SystemUc\n \n \n \n \n Controllers\n \n \n SystemController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { SystemController } from '@modules/system/controller/system.controller';\nimport { SystemUc } from '@modules/system/uc/system.uc';\nimport { Module } from '@nestjs/common';\nimport { SystemModule } from './system.module';\n\n@Module({\n\timports: [SystemModule, AuthorizationModule],\n\tproviders: [SystemUc],\n\tcontrollers: [SystemController],\n})\nexport class SystemApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SystemController.html":{"url":"controllers/SystemController.html","title":"controller - SystemController","body":"\n \n\n\n\n\n\n\n Controllers\n SystemController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/system.controller.ts\n \n\n \n Prefix\n \n \n systems\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n Async\n find\n \n \n \n \n \n Async\n getSystem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n \n \n deleteSystem(currentUser: ICurrentUser, params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete(':systemId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a system.'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(filterParams: SystemFilterParams)\n \n \n\n \n \n Decorators : \n \n @Get('public')@ApiOperation({summary: 'Finds all publicly available systems.'})@ApiResponse({status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:21\n \n \n\n\n \n \n This endpoint is used to show users the possible login systems that exist.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filterParams\n \n SystemFilterParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSystem\n \n \n \n \n \n \n \n getSystem(params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('public/:systemId')@ApiOperation({summary: 'Finds a publicly available system.'})@ApiResponse({status: 200, type: PublicSystemResponse, description: 'Returns a system.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:36\n \n \n\n\n \n \n This endpoint is used to get information about a possible login systems.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, HttpCode, HttpStatus, Param, Query } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOperation, ApiResponse, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { SystemDto } from '../service';\nimport { SystemUc } from '../uc/system.uc';\nimport { PublicSystemListResponse, PublicSystemResponse, SystemFilterParams, SystemIdParams } from './dto';\nimport { SystemResponseMapper } from './mapper/system-response.mapper';\n\n@ApiTags('Systems')\n@Controller('systems')\nexport class SystemController {\n\tconstructor(private readonly systemUc: SystemUc) {}\n\n\t/**\n\t * This endpoint is used to show users the possible login systems that exist.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public')\n\t@ApiOperation({ summary: 'Finds all publicly available systems.' })\n\t@ApiResponse({ status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.' })\n\tasync find(@Query() filterParams: SystemFilterParams): Promise {\n\t\tconst systemDtos: SystemDto[] = await this.systemUc.findByFilter(filterParams.type, filterParams.onlyOauth);\n\n\t\tconst mapped: PublicSystemListResponse = SystemResponseMapper.mapFromDtoToListResponse(systemDtos);\n\n\t\treturn mapped;\n\t}\n\n\t/**\n\t * This endpoint is used to get information about a possible login systems.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public/:systemId')\n\t@ApiOperation({ summary: 'Finds a publicly available system.' })\n\t@ApiResponse({ status: 200, type: PublicSystemResponse, description: 'Returns a system.' })\n\tasync getSystem(@Param() params: SystemIdParams): Promise {\n\t\tconst systemDto: SystemDto = await this.systemUc.findById(params.systemId);\n\n\t\tconst mapped: PublicSystemResponse = SystemResponseMapper.mapFromDtoToResponse(systemDto);\n\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete(':systemId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a system.' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSystem(@CurrentUser() currentUser: ICurrentUser, @Param() params: SystemIdParams): Promise {\n\t\tawait this.systemUc.delete(currentUser.userId, params.systemId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDomainMapper.html":{"url":"classes/SystemDomainMapper.html","title":"class - SystemDomainMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDomainMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system-domain.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n \n \n \n mapEntityToDomainObjectProperties(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ldapConfig\n \n LdapConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LdapConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LdapConfigEntity, OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\nimport { LdapConfig, OauthConfig, SystemProps } from '../domain';\n\nexport class SystemDomainMapper {\n\tpublic static mapEntityToDomainObjectProperties(entity: SystemEntity): SystemProps {\n\t\tconst mapped: SystemProps = {\n\t\t\tid: entity.id,\n\t\t\turl: entity.url,\n\t\t\ttype: entity.type,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tdisplayName: entity.displayName,\n\t\t\talias: entity.alias,\n\t\t\toauthConfig: entity.oauthConfig ? this.mapOauthConfigEntityToDomainObject(entity.oauthConfig) : undefined,\n\t\t\tldapConfig: entity.ldapConfig ? this.mapLdapConfigEntityToDomainObject(entity.ldapConfig) : undefined,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity): OauthConfig {\n\t\tconst mapped: OauthConfig = new OauthConfig({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity): LdapConfig {\n\t\tconst mapped: LdapConfig = new LdapConfig({\n\t\t\tactive: !!ldapConfig.active,\n\t\t\turl: ldapConfig.url,\n\t\t\tprovider: ldapConfig.provider,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDto.html":{"url":"classes/SystemDto.html","title":"class - SystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n alias\n \n \n Optional\n displayName\n \n \n Optional\n id\n \n \n Optional\n ldapActive\n \n \n Optional\n oauthConfig\n \n \n Optional\n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n type\n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: SystemDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n SystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapActive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigDto\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class SystemDto {\n\tid?: EntityId;\n\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfigDto;\n\n\tldapActive?: boolean;\n\n\tconstructor(system: SystemDto) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.url = system.url;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.provisioningStrategy = system.provisioningStrategy;\n\t\tthis.provisioningUrl = system.provisioningUrl;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t\tthis.ldapActive = system.ldapActive;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SystemEntity.html":{"url":"entities/SystemEntity.html","title":"entity - SystemEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SystemEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n Optional\n ldapConfig\n \n \n \n Optional\n oauthConfig\n \n \n \n Optional\n oidcConfig\n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n Optional\n provisioningUrl\n \n \n \n schoolSystemOptions\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:200\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:203\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapConfig\n \n \n \n \n \n \n Type : LdapConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded({entity: () => LdapConfigEntity, object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:216\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:206\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oidcConfig\n \n \n \n \n \n \n Type : OidcConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:213\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:210\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:219\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolSystemOptions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany(undefined, options => options.system, {cascade: undefined})\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 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:194\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:197\n \n \n\n\n \n \n\n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemEntityFactory.html":{"url":"classes/SystemEntityFactory.html","title":"class - SystemEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/systemEntityFactory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig(otherParams?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n otherParams\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tLdapConfigEntity,\n\tOauthConfigEntity,\n\tOidcConfigEntity,\n\tSystemEntity,\n\tSystemEntityProps,\n} from '@shared/domain/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class SystemEntityFactory extends BaseFactory {\n\twithOauthConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\toauthConfig: new OauthConfigEntity({\n\t\t\t\tclientId: '12345',\n\t\t\t\tclientSecret: 'mocksecret',\n\t\t\t\tidpHint: 'mock-oauth-idpHint',\n\t\t\t\ttokenEndpoint: 'https://mock.de/mock/auth/public/mockToken',\n\t\t\t\tgrantType: 'authorization_code',\n\t\t\t\tredirectUri: 'https://mockhost:3030/api/v3/sso/oauth/',\n\t\t\t\tscope: 'openid uuid',\n\t\t\t\tresponseType: 'code',\n\t\t\t\tauthEndpoint: 'https://mock.de/auth',\n\t\t\t\tprovider: 'mock_type',\n\t\t\t\tlogoutEndpoint: 'https://mock.de/logout',\n\t\t\t\tissuer: 'mock_issuer',\n\t\t\t\tjwksEndpoint: 'https://mock.de/jwks',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLdapConfig(otherParams?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tldapConfig: new LdapConfigEntity({\n\t\t\t\turl: 'ldaps:mock.de:389',\n\t\t\t\tactive: true,\n\t\t\t\t...otherParams,\n\t\t\t}),\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n\n\twithOidcConfig(): this {\n\t\tconst params = {\n\t\t\toidcConfig: new OidcConfigEntity({\n\t\t\t\tclientId: 'mock-client-id',\n\t\t\t\tclientSecret: 'mock-client-secret',\n\t\t\t\tidpHint: 'mock-oidc-idpHint',\n\t\t\t\tdefaultScopes: 'openid email userinfo',\n\t\t\t\tauthorizationUrl: 'https://mock.tld/auth',\n\t\t\t\ttokenUrl: 'https://mock.tld/token',\n\t\t\t\tuserinfoUrl: 'https://mock.tld/userinfo',\n\t\t\t\tlogoutUrl: 'https://mock.tld/logout',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const systemEntityFactory = SystemEntityFactory.define(SystemEntity, ({ sequence }) => {\n\treturn {\n\t\ttype: 'oauth',\n\t\turl: 'https://mock.de',\n\t\talias: `system #${sequence}`,\n\t\tdisplayName: `system #${sequence}DisplayName`,\n\t\tprovisioningStrategy: SystemProvisioningStrategy.OIDC,\n\t\tprovisioningUrl: 'https://provisioningurl.de',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemEntityProps.html":{"url":"interfaces/SystemEntityProps.html","title":"interface - SystemEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n oidcConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfigEntity\n\n \n \n\n\n \n \n Type : LdapConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfigEntity\n\n \n \n\n\n \n \n Type : OauthConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidcConfig\n \n \n \n \n \n \n \n \n oidcConfig: OidcConfigEntity\n\n \n \n\n\n \n \n Type : OidcConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Cascade, Collection, Embeddable, Embedded, Entity, Enum, OneToMany, Property } from '@mikro-orm/core';\nimport { SchoolSystemOptionsEntity } from '@modules/legacy-school/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n\n\t@OneToMany(() => SchoolSystemOptionsEntity, (options) => options.system, { cascade: [Cascade.REMOVE] })\n\tschoolSystemOptions = new Collection(this);\n\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemFilterParams.html":{"url":"classes/SystemFilterParams.html","title":"class - SystemFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system.filter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Flag to request only systems with oauth-config.'})@IsOptional()@IsBoolean()@StringToBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SystemTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The type of the system.'})@IsOptional()@IsEnum(SystemTypeEnum)\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsOptional } from 'class-validator';\n\nexport class SystemFilterParams {\n\t@ApiPropertyOptional({ description: 'The type of the system.' })\n\t@IsOptional()\n\t@IsEnum(SystemTypeEnum)\n\ttype?: SystemTypeEnum;\n\n\t@ApiPropertyOptional({ description: 'Flag to request only systems with oauth-config.' })\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\tonlyOauth?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemIdParams.html":{"url":"classes/SystemIdParams.html","title":"class - SystemIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SystemIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemMapper.html":{"url":"classes/SystemMapper.html","title":"class - SystemMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigDto | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): SystemDto {\n\t\treturn new SystemDto({\n\t\t\tid: entity.id,\n\t\t\ttype: entity.type,\n\t\t\turl: entity.url,\n\t\t\talias: entity.alias,\n\t\t\tdisplayName: entity.displayName ?? entity.alias,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\toauthConfig: SystemMapper.mapFromOauthConfigEntityToDto(entity.oauthConfig),\n\t\t\tldapActive: entity.ldapConfig?.active,\n\t\t});\n\t}\n\n\tstatic mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined): OauthConfigDto | undefined {\n\t\tif (!oauthConfig) return undefined;\n\t\treturn new OauthConfigDto({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): SystemDto[] {\n\t\treturn entities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SystemModule.html":{"url":"modules/SystemModule.html","title":"module - SystemModule","body":"\n \n\n\n\n\n Modules\n SystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SystemModule\n\n\n\ncluster_SystemModule_exports\n\n\n\ncluster_SystemModule_imports\n\n\n\ncluster_SystemModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nSystemModule\n\nSystemModule\n\nSystemModule -->\n\nIdentityManagementModule->SystemModule\n\n\n\n\n\nLegacySystemService \n\nLegacySystemService \n\nLegacySystemService -->\n\nSystemModule->LegacySystemService \n\n\n\n\n\nSystemOidcService \n\nSystemOidcService \n\nSystemOidcService -->\n\nSystemModule->SystemOidcService \n\n\n\n\n\nSystemService \n\nSystemService \n\nSystemService -->\n\nSystemModule->SystemService \n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nSystemModule -->\n\nLegacySystemRepo->SystemModule\n\n\n\n\n\nLegacySystemService\n\nLegacySystemService\n\nSystemModule -->\n\nLegacySystemService->SystemModule\n\n\n\n\n\nSystemOidcService\n\nSystemOidcService\n\nSystemModule -->\n\nSystemOidcService->SystemModule\n\n\n\n\n\nSystemRepo\n\nSystemRepo\n\nSystemModule -->\n\nSystemRepo->SystemModule\n\n\n\n\n\nSystemService\n\nSystemService\n\nSystemModule -->\n\nSystemService->SystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacySystemRepo\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemRepo\n \n \n SystemService\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n \n \n Exports\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management/identity-management.module';\nimport { Module } from '@nestjs/common';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemRepo } from './repo';\nimport { LegacySystemService, SystemService } from './service';\nimport { SystemOidcService } from './service/system-oidc.service';\n\n@Module({\n\timports: [IdentityManagementModule],\n\tproviders: [LegacySystemRepo, LegacySystemService, SystemOidcService, SystemService, SystemRepo],\n\texports: [LegacySystemService, SystemOidcService, SystemService],\n})\nexport class SystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemOidcMapper.html":{"url":"classes/SystemOidcMapper.html","title":"class - SystemOidcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemOidcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system-oidc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n oidcConfig\n \n OidcConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OidcConfigDto } from '@modules/system/service/dto/oidc-config.dto';\nimport { OidcConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemOidcMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): OidcConfigDto | undefined {\n\t\tif (entity.oidcConfig) {\n\t\t\treturn SystemOidcMapper.mapFromOidcConfigEntityToDto(entity.id, entity.oidcConfig);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity): OidcConfigDto {\n\t\treturn new OidcConfigDto({\n\t\t\tparentSystemId: systemId,\n\t\t\tclientId: oidcConfig.clientId,\n\t\t\tclientSecret: oidcConfig?.clientSecret,\n\t\t\tidpHint: oidcConfig.idpHint,\n\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\tuserinfoUrl: oidcConfig.userinfoUrl,\n\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\tdefaultScopes: oidcConfig.defaultScopes,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): OidcConfigDto[] {\n\t\treturn entities\n\t\t\t.map((entity) => this.mapFromEntityToDto(entity))\n\t\t\t.filter((entity): entity is OidcConfigDto => entity !== undefined);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemOidcService.html":{"url":"injectables/SystemOidcService.html","title":"injectable - SystemOidcService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemOidcService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system-oidc.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:22\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemOidcMapper } from '../mapper';\nimport { OidcConfigDto } from './dto';\n\n@Injectable()\nexport class SystemOidcService {\n\tconstructor(private readonly systemRepo: LegacySystemRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system = await this.systemRepo.findById(id);\n\t\tconst mappedEntity = SystemOidcMapper.mapFromEntityToDto(system);\n\t\tif (!mappedEntity) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn mappedEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst system = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\treturn SystemOidcMapper.mapFromEntitiesToDtos(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemProps.html":{"url":"interfaces/SystemProps.html","title":"interface - SystemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfig\n\n \n \n\n\n \n \n Type : LdapConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfig\n\n \n \n\n\n \n \n Type : OauthConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n\n\tget provisioningStrategy(): SystemProvisioningStrategy | undefined {\n\t\treturn this.props.provisioningStrategy;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRepo.html":{"url":"injectables/SystemRepo.html","title":"injectable - SystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { System, SystemProps } from '../domain';\nimport { SystemDomainMapper } from './system-domain.mapper';\n\n@Injectable()\nexport class SystemRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: SystemProps = SystemDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: System = new System(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id: domainObject.id });\n\n\t\tif (!entity) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemResponseMapper.html":{"url":"classes/SystemResponseMapper.html","title":"class - SystemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/mapper/system-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n Static\n mapFromDtoToResponse\n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n \n \n \n \n \n mapFromDtoToListResponse(systems: SystemDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromDtoToResponse\n \n \n \n \n \n \n \n mapFromDtoToResponse(system: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n \n \n \n mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n OauthConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { PublicSystemListResponse } from '../dto/public-system-list.response';\nimport { PublicSystemResponse } from '../dto/public-system-response';\n\nexport class SystemResponseMapper {\n\tstatic mapFromDtoToListResponse(systems: SystemDto[]): PublicSystemListResponse {\n\t\tconst systemResponses: PublicSystemResponse[] = systems.map(\n\t\t\t(system: SystemDto): PublicSystemResponse => this.mapFromDtoToResponse(system)\n\t\t);\n\n\t\tconst systemListResponse: PublicSystemListResponse = new PublicSystemListResponse(systemResponses);\n\n\t\treturn systemListResponse;\n\t}\n\n\tstatic mapFromDtoToResponse(system: SystemDto): PublicSystemResponse {\n\t\tconst systemResponse: PublicSystemResponse = new PublicSystemResponse({\n\t\t\tid: system.id || '',\n\t\t\ttype: system.type,\n\t\t\talias: system.alias,\n\t\t\tdisplayName: system.displayName,\n\t\t\toauthConfig: system.oauthConfig\n\t\t\t\t? SystemResponseMapper.mapFromOauthConfigDtoToResponse(system.oauthConfig)\n\t\t\t\t: undefined,\n\t\t});\n\n\t\treturn systemResponse;\n\t}\n\n\tstatic mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto): OauthConfigResponse {\n\t\tconst oauthConfigResponse: OauthConfigResponse = new OauthConfigResponse({\n\t\t\tclientId: oauthConfigDto.clientId,\n\t\t\t// clientSecret will not be mapped for security reasons,\n\t\t\tidpHint: oauthConfigDto.idpHint,\n\t\t\tredirectUri: oauthConfigDto.redirectUri,\n\t\t\tgrantType: oauthConfigDto.grantType,\n\t\t\ttokenEndpoint: oauthConfigDto.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfigDto.authEndpoint,\n\t\t\tresponseType: oauthConfigDto.responseType,\n\t\t\tscope: oauthConfigDto.scope,\n\t\t\tprovider: oauthConfigDto.provider,\n\t\t\tlogoutEndpoint: oauthConfigDto.logoutEndpoint,\n\t\t\tissuer: oauthConfigDto.issuer,\n\t\t\tjwksEndpoint: oauthConfigDto.jwksEndpoint,\n\t\t});\n\n\t\treturn oauthConfigResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRule.html":{"url":"injectables/SystemRule.html","title":"injectable - SystemRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/system.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n canEdit\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n canEdit\n \n \n \n \n \n \n \n canEdit(system)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n system\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: System, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { System } from '@modules/system';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { Action, AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class SystemRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: System): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof System;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: System, context: AuthorizationContext): boolean {\n\t\tconst hasPermissions: boolean = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\n\t\tconst hasAccess: boolean = user.school.systems.getIdentifiers().includes(domainObject.id);\n\n\t\tlet isAuthorized: boolean = hasPermissions && hasAccess;\n\n\t\tif (context.action === Action.write) {\n\t\t\tisAuthorized = isAuthorized && this.canEdit(domainObject);\n\t\t}\n\n\t\treturn isAuthorized;\n\t}\n\n\tpublic canEdit(system: unknown): boolean {\n\t\tconst canEdit: boolean =\n\t\t\ttypeof system === 'object' &&\n\t\t\t!!system &&\n\t\t\t'ldapConfig' in system &&\n\t\t\ttypeof system.ldapConfig === 'object' &&\n\t\t\t!!system.ldapConfig &&\n\t\t\t'provider' in system.ldapConfig &&\n\t\t\tsystem.ldapConfig.provider === 'general';\n\n\t\treturn canEdit;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemScope.html":{"url":"classes/SystemScope.html","title":"class - SystemScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/system-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:10\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:15\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemEntity } from '@shared/domain/entity';\nimport { Scope } from '../scope';\n\nexport class SystemScope extends Scope {\n\twithLdapConfig(): SystemScope {\n\t\tthis.addQuery({ ldapConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOauthConfig(): SystemScope {\n\t\tthis.addQuery({ oauthConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOidcConfig(): SystemScope {\n\t\tthis.addQuery({ oidcConfig: { $ne: null } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemService.html":{"url":"injectables/SystemService.html","title":"injectable - SystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: SystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n SystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { SystemRepo } from '../repo';\n\n@Injectable()\nexport class SystemService {\n\tconstructor(private readonly systemRepo: SystemRepo) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst system: System | null = await this.systemRepo.findById(id);\n\n\t\treturn system;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst deleted: boolean = await this.systemRepo.delete(domainObject);\n\n\t\treturn deleted;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemUc.html":{"url":"injectables/SystemUc.html","title":"injectable - SystemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/uc/system.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByFilter\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(legacySystemService: LegacySystemService, systemService: SystemService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n legacySystemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n systemService\n \n \n SystemService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type?: SystemType, onlyOauth)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n type\n \n SystemType\n \n\n \n Yes\n \n\n \n \n\n \n \n onlyOauth\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId, SystemType, SystemTypeEnum } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { LegacySystemService, SystemDto, SystemService } from '../service';\n\n@Injectable()\nexport class SystemUc {\n\tconstructor(\n\t\tprivate readonly legacySystemService: LegacySystemService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findByFilter(type?: SystemType, onlyOauth = false): Promise {\n\t\tlet systems: SystemDto[];\n\n\t\tif (onlyOauth) {\n\t\t\tsystems = await this.legacySystemService.findByType(SystemTypeEnum.OAUTH);\n\t\t} else {\n\t\t\tsystems = await this.legacySystemService.findByType(type);\n\t\t}\n\n\t\tsystems = systems.filter((system: SystemDto) => system.ldapActive !== false);\n\n\t\treturn systems;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system: SystemDto = await this.legacySystemService.findById(id);\n\n\t\tif (system.ldapActive === false) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\n\t\treturn system;\n\t}\n\n\tasync delete(userId: EntityId, systemId: EntityId): Promise {\n\t\tconst system: System | null = await this.systemService.findById(systemId);\n\n\t\tif (!system) {\n\t\t\tthrow new NotFoundLoggableException(System.name, { id: systemId });\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsystem,\n\t\t\tAuthorizationContextBuilder.write([Permission.SYSTEM_CREATE])\n\t\t);\n\n\t\tawait this.systemService.delete(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TargetGroupProperties.html":{"url":"interfaces/TargetGroupProperties.html","title":"interface - TargetGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TargetGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n schoolType\n \n \n \n Optional\n \n state\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolType\n \n \n \n \n \n \n \n \n schoolType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n \n \n state: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoMapper.html":{"url":"classes/TargetInfoMapper.html","title":"class - TargetInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/target-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(target: NewsTarget)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/target-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n NewsTarget\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TargetInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NewsTarget } from '@shared/domain/types';\nimport { TargetInfoResponse } from '../controller/dto/target-info.response';\n\nexport class TargetInfoMapper {\n\tstatic mapToResponse(target: NewsTarget): TargetInfoResponse {\n\t\tconst dto = new TargetInfoResponse({ id: target.id, name: target.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoResponse.html":{"url":"classes/TargetInfoResponse.html","title":"class - TargetInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/target-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TargetInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TargetInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TargetInfoResponse {\n\tconstructor({ id, name }: TargetInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the Target entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the Target entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Task.html":{"url":"entities/Task.html","title":"entity - Task","body":"\n \n\n\n\n\n\n\n\n Entities\n Task\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n course\n \n \n \n \n creator\n \n \n \n description\n \n \n \n descriptionInputFormat\n \n \n \n \n Optional\n dueDate\n \n \n \n \n finished\n \n \n \n \n Optional\n lesson\n \n \n \n name\n \n \n \n private\n \n \n \n Optional\n publicSubmissions\n \n \n \n \n school\n \n \n \n submissions\n \n \n \n Optional\n teamSubmissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'teacherId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'archived'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lesson\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('LessonEntity', {fieldName: 'lessonId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n publicSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Submission', 'task')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n teamSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:67\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskApiModule.html":{"url":"modules/TaskApiModule.html","title":"module - TaskApiModule","body":"\n \n\n\n\n\n Modules\n TaskApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskApiModule\n\n\n\ncluster_TaskApiModule_providers\n\n\n\ncluster_TaskApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nTaskApiModule -->\n\nAuthorizationModule->TaskApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nTaskApiModule -->\n\nCopyHelperModule->TaskApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nTaskApiModule -->\n\nLessonModule->TaskApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nTaskApiModule -->\n\nTaskModule->TaskApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskApiModule -->\n\nCourseRepo->TaskApiModule\n\n\n\n\n\nSubmissionUc\n\nSubmissionUc\n\nTaskApiModule -->\n\nSubmissionUc->TaskApiModule\n\n\n\n\n\nTaskCopyUC\n\nTaskCopyUC\n\nTaskApiModule -->\n\nTaskCopyUC->TaskApiModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskApiModule -->\n\nTaskRepo->TaskApiModule\n\n\n\n\n\nTaskUC\n\nTaskUC\n\nTaskApiModule -->\n\nTaskUC->TaskApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionUc\n \n \n TaskCopyUC\n \n \n TaskRepo\n \n \n TaskUC\n \n \n \n \n Controllers\n \n \n TaskController\n \n \n SubmissionController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { CopyHelperModule } from '@modules/copy-helper/copy-helper.module';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { LessonModule } from '@modules/lesson';\nimport { SubmissionController, TaskController } from './controller';\nimport { TaskModule } from './task.module';\nimport { SubmissionUc, TaskCopyUC, TaskUC } from './uc';\n\n@Module({\n\timports: [AuthorizationModule, CopyHelperModule, TaskModule, LessonModule],\n\tcontrollers: [TaskController, SubmissionController],\n\tproviders: [TaskUC, TaskRepo, CourseRepo, TaskCopyUC, SubmissionUc],\n})\nexport class TaskApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TaskBoardElement.html":{"url":"entities/TaskBoardElement.html","title":"entity - TaskBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n TaskBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Task })\nexport class TaskBoardElement extends BoardElement {\n\tconstructor(props: { target: Task }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Task;\n\t}\n\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Task', { nullable: true })\n\ttarget!: Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TaskController.html":{"url":"controllers/TaskController.html","title":"controller - TaskController","body":"\n \n\n\n\n\n\n\n Controllers\n TaskController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/task.controller.ts\n \n\n \n Prefix\n \n \n tasks\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllTasks\n \n \n \n Async\n finish\n \n \n \n Async\n restore\n \n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(currentUser: ICurrentUser, urlParams: TaskUrlParams, params: TaskCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post(':taskId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('finished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllTasks\n \n \n \n \n \n \n \n findAllTasks(currentUser: ICurrentUser, pagination: PaginationParams, finished)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n \n \n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n \n \n\n \n \n finished\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n finish\n \n \n \n \n \n \n \n finish(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/finish')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restore\n \n \n \n \n \n \n \n restore(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/restore')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/revertPublished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { PaginationParams } from '@shared/controller/';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { TaskMapper } from '../mapper';\nimport { TaskCopyUC } from '../uc/task-copy.uc';\nimport { TaskUC } from '../uc/task.uc';\nimport { TaskListResponse, TaskResponse, TaskUrlParams } from './dto';\nimport { TaskCopyApiParams } from './dto/task-copy.params';\n\n@ApiTags('Task')\n@Authenticate('jwt')\n@Controller('tasks')\nexport class TaskController {\n\tconstructor(private readonly taskUc: TaskUC, private readonly taskCopyUc: TaskCopyUC) {}\n\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination);\n\t}\n\n\t@Get('finished')\n\tasync findAllFinished(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination, true);\n\t}\n\n\tprivate async findAllTasks(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams,\n\t\tfinished = false\n\t): Promise {\n\t\tconst [tasksWithStatus, total] = finished\n\t\t\t? await this.taskUc.findAllFinished(currentUser.userId, pagination)\n\t\t\t: await this.taskUc.findAll(currentUser.userId, pagination);\n\n\t\tconst taskResponses = tasksWithStatus.map((task) => TaskMapper.mapToResponse(task));\n\n\t\tconst { skip, limit } = pagination;\n\t\tconst result = new TaskListResponse(taskResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Patch(':taskId/finish')\n\tasync finish(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, true);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/restore')\n\tasync restore(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, false);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/revertPublished')\n\tasync revertPublished(\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst task = await this.taskUc.revertPublished(currentUser.userId, urlParams.taskId);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Post(':taskId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@Body() params: TaskCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.taskCopyUc.copyTask(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.taskId,\n\t\t\tCopyMapper.mapTaskCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Delete(':taskId')\n\tasync delete(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.taskUc.delete(currentUser.userId, urlParams.taskId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCopyApiParams.html":{"url":"classes/TaskCopyApiParams.html","title":"class - TaskCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination lesson parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class TaskCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the task is copied to',\n\t})\n\tcourseId?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination lesson parent Id the task is copied to',\n\t})\n\tlessonId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyService.html":{"url":"injectables/TaskCopyService.html","title":"injectable - TaskCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyTask\n \n \n Private\n Async\n copyTaskEntity\n \n \n Private\n deriveCopyStatus\n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, copyHelperService: CopyHelperService, copyFilesService: CopyFilesService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n copyFilesService\n \n \n CopyFilesService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(params: TaskCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTaskEntity\n \n \n \n \n \n \n \n copyTaskEntity(params: TaskCopyParams, originalTask: Task, user: User, destinationCourse: Course | undefined, destinationLesson: LessonEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course | undefined\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n taskCopy\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n \n \n \n updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n fileUrlReplacements\n \n FileUrlReplacement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { CopyFilesService } from '@modules/files-storage-client';\nimport { FileUrlReplacement } from '@modules/files-storage-client/service/copy-files.service';\nimport { Injectable } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\n\ntype TaskCopyParams = {\n\toriginalTaskId: EntityId;\n\tdestinationCourse?: Course;\n\tdestinationLesson?: LessonEntity;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class TaskCopyService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly copyFilesService: CopyFilesService\n\t) {}\n\n\tasync copyTask(params: TaskCopyParams): Promise {\n\t\tconst { user, destinationLesson, destinationCourse } = params;\n\t\tconst originalTask = await this.taskRepo.findById(params.originalTaskId);\n\n\t\tconst taskCopy = await this.copyTaskEntity(params, originalTask, user, destinationCourse, destinationLesson);\n\n\t\tconst { fileUrlReplacements, fileCopyStatus } = await this.copyFilesService.copyFilesOfEntity(\n\t\t\toriginalTask,\n\t\t\ttaskCopy,\n\t\t\tuser.id\n\t\t);\n\n\t\tawait this.updateFileUrls(taskCopy, fileUrlReplacements);\n\n\t\treturn this.deriveCopyStatus(fileCopyStatus, originalTask, taskCopy);\n\t}\n\n\tprivate async copyTaskEntity(\n\t\tparams: TaskCopyParams,\n\t\toriginalTask: Task,\n\t\tuser: User,\n\t\tdestinationCourse: Course | undefined,\n\t\tdestinationLesson: LessonEntity | undefined\n\t) {\n\t\tconst taskCopy = new Task({\n\t\t\tname: params.copyName || originalTask.name,\n\t\t\tdescription: originalTask.description,\n\t\t\tdescriptionInputFormat: originalTask.descriptionInputFormat,\n\t\t\tschool: user.school,\n\t\t\tcreator: user,\n\t\t\tcourse: destinationCourse,\n\t\t\tlesson: destinationLesson,\n\t\t\tteamSubmissions: originalTask.teamSubmissions,\n\t\t});\n\t\tawait this.taskRepo.createTask(taskCopy);\n\t\treturn taskCopy;\n\t}\n\n\tprivate async updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[]) {\n\t\tfileUrlReplacements.forEach(({ regex, replacement }) => {\n\t\t\ttask.description = task.description.replace(regex, replacement);\n\t\t});\n\t\tawait this.taskRepo.save(task);\n\t}\n\n\tprivate deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task) {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.CONTENT,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.SUBMISSION_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tfileCopyStatus,\n\t\t];\n\n\t\tconst status: CopyStatus = {\n\t\t\ttitle: taskCopy.name,\n\t\t\ttype: CopyElementType.TASK,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: taskCopy,\n\t\t\toriginalEntity: originalTask,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyUC.html":{"url":"injectables/TaskCopyUC.html","title":"injectable - TaskCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n Private\n checkDestinationLessonAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalTaskAuthorization\n \n \n Async\n copyTask\n \n \n Private\n Async\n getCopyName\n \n \n Private\n Async\n getDestinationCourse\n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, lessonService: LessonService, authorisation: AuthorizationService, taskCopyService: TaskCopyService, taskRepo: TaskRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n \n \n \n \n \n checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkDestinationLessonAuthorization\n \n \n \n \n \n \n \n checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:114\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalTaskAuthorization\n \n \n \n \n \n \n \n checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n TaskCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCopyName\n \n \n \n \n \n \n \n getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalTaskName\n \n string\n \n\n \n No\n \n\n\n \n \n parentCourseId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationCourse\n \n \n \n \n \n \n \n getDestinationCourse(courseId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n \n \n \n getDestinationLesson(lessonId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskCopyService } from '../service';\nimport { TaskCopyParentParams } from '../types';\n\n@Injectable()\nexport class TaskCopyUC {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\t// i put it to promise all, it do not look like any more information can be expose over errors if it is called between the authorizations\n\t\t// TODO: Add try catch around it with throw BadRequest invalid data\n\t\tconst [authorizableUser, originalTask, destinationCourse]: [User, Task, Course | undefined] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.taskRepo.findById(taskId),\n\t\t\tthis.getDestinationCourse(parentParams.courseId),\n\t\t]);\n\n\t\tthis.checkOriginalTaskAuthorization(authorizableUser, originalTask);\n\n\t\tif (destinationCourse) {\n\t\t\tthis.checkDestinationCourseAuthorisation(authorizableUser, destinationCourse);\n\t\t}\n\n\t\t// i think getDestinationLesson can also to a promise.all on top\n\t\t// then getCopyName can be put into if (destinationCourse) {\n\t\t// but then the test need to cleanup\n\t\tconst [destinationLesson, copyName]: [LessonEntity | undefined, string | undefined] = await Promise.all([\n\t\t\tthis.getDestinationLesson(parentParams.lessonId),\n\t\t\tthis.getCopyName(originalTask.name, parentParams.courseId),\n\t\t]);\n\n\t\tif (destinationLesson) {\n\t\t\tthis.checkDestinationLessonAuthorization(authorizableUser, destinationLesson);\n\t\t}\n\n\t\tconst status = await this.taskCopyService.copyTask({\n\t\t\toriginalTaskId: originalTask.id,\n\t\t\tdestinationCourse,\n\t\t\tdestinationLesson,\n\t\t\tuser: authorizableUser,\n\t\t\tcopyName,\n\t\t});\n\n\t\treturn status;\n\t}\n\n\tprivate checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task): void {\n\t\tconst context = AuthorizationContextBuilder.read([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, originalTask, context)) {\n\t\t\t// error message and erorr type are not correct\n\t\t\tthrow new NotFoundException('could not find task to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(authorizableUser, destinationCourse, context);\n\t}\n\n\tprivate checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, destinationLesson, context)) {\n\t\t\tthrow new ForbiddenException('you dont have permission to add to this lesson');\n\t\t}\n\t}\n\n\tprivate async getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined) {\n\t\tlet existingNames: string[] = [];\n\t\tif (parentCourseId) {\n\t\t\t// It should really get an task where the creatorId === '' ?\n\t\t\tconst [existingTasks] = await this.taskRepo.findBySingleParent('', parentCourseId);\n\t\t\texistingNames = existingTasks.map((t) => t.name);\n\t\t}\n\n\t\treturn this.copyHelperService.deriveCopyName(originalTaskName, existingNames);\n\t}\n\n\tprivate async getDestinationCourse(courseId: string | undefined): Promise {\n\t\tif (courseId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationCourse = await this.courseRepo.findById(courseId);\n\n\t\treturn destinationCourse;\n\t}\n\n\tprivate async getDestinationLesson(lessonId: string | undefined): Promise {\n\t\tif (lessonId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationLesson = await this.lessonService.findById(lessonId);\n\n\t\treturn destinationLesson;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// This is the deprecated way to read envirement variables\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskCreate.html":{"url":"interfaces/TaskCreate.html","title":"interface - TaskCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCreateParams.html":{"url":"classes/TaskCreateParams.html","title":"class - TaskCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-create.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskCreate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskCreate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskCreateParams implements TaskCreate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskFactory.html":{"url":"classes/TaskFactory.html","title":"class - TaskFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/task.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n draft\n \n \n finished\n \n \n isPlanned\n \n \n isPublished\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n draft\n \n \n \n \n \n \ndraft()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \nfinished(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isPlanned\n \n \n \n \n \n \nisPlanned()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n isPublished\n \n \n \n \n \n \nisPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Task, User } from '@shared/domain/entity';\nimport { TaskProperties } from '@shared/domain/types';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass TaskFactory extends BaseFactory {\n\tdraft(): this {\n\t\tconst params: DeepPartial = { private: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPlanned(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() + 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPublished(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() - 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tfinished(user: User): this {\n\t\tconst params: DeepPartial = { finished: [user] };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const taskFactory = TaskFactory.define(Task, ({ sequence }) => {\n\tconst school = schoolFactory.build();\n\tconst creator = userFactory.build({ school });\n\t// private is by default in constructor true, but in the most test cases we need private: false\n\treturn {\n\t\tname: `task #${sequence}`,\n\t\tprivate: false,\n\t\tavailableDate: yesterday,\n\t\tcreator,\n\t\tschool,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskListResponse.html":{"url":"classes/TaskListResponse.html","title":"class - TaskListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:67\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n TaskResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : TaskResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:74\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskMapper.html":{"url":"classes/TaskMapper.html","title":"class - TaskMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n Static\n mapTaskUpdateToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n \n \n \n \n \n mapTaskCreateToDomain(params: TaskCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskUpdateToDomain\n \n \n \n \n \n \n \n mapTaskUpdateToDomain(params: TaskUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(taskWithStatus: TaskWithStatusVo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskWithStatus\n \n TaskWithStatusVo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskWithStatusVo } from '@shared/domain/entity';\nimport { InputFormat, RichText, TaskCreate, TaskUpdate } from '@shared/domain/types';\nimport { TaskCreateParams, TaskResponse, TaskUpdateParams } from '../controller/dto';\nimport { TaskStatusMapper } from './task-status.mapper';\n\nexport class TaskMapper {\n\tstatic mapToResponse(taskWithStatus: TaskWithStatusVo): TaskResponse {\n\t\tconst { task, status } = taskWithStatus;\n\t\tconst taskDesc = task.getParentData();\n\t\tconst statusDto = TaskStatusMapper.mapToResponse(status);\n\n\t\tconst dto = new TaskResponse({\n\t\t\tid: task.id,\n\t\t\tname: task.name,\n\t\t\tcourseName: taskDesc.courseName,\n\t\t\tcourseId: taskDesc.courseId,\n\t\t\tcreatedAt: task.createdAt,\n\t\t\tupdatedAt: task.updatedAt,\n\t\t\tlessonHidden: false,\n\t\t\tstatus: statusDto,\n\t\t});\n\t\tif (task.description) {\n\t\t\tdto.description = new RichText({\n\t\t\t\tcontent: task.description,\n\t\t\t\ttype: task.descriptionInputFormat || InputFormat.RICH_TEXT_CK4,\n\t\t\t});\n\t\t}\n\t\tdto.availableDate = task.availableDate;\n\t\tdto.dueDate = task.dueDate;\n\n\t\tdto.displayColor = taskDesc.color;\n\t\tif (taskDesc.lessonName) {\n\t\t\tdto.lessonName = taskDesc.lessonName;\n\t\t}\n\t\tdto.lessonHidden = taskDesc.lessonHidden;\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskUpdateToDomain(params: TaskUpdateParams): TaskUpdate {\n\t\tconst dto: TaskUpdate = {\n\t\t\tname: params.name,\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCreateToDomain(params: TaskCreateParams): TaskCreate {\n\t\tconst dto: TaskCreate = {\n\t\t\tname: params.name || 'Draft',\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskModule.html":{"url":"modules/TaskModule.html","title":"module - TaskModule","body":"\n \n\n\n\n\n Modules\n TaskModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskModule\n\n\n\ncluster_TaskModule_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\nSubmissionRepo\n\nSubmissionRepo\n\nTaskModule -->\n\nSubmissionRepo->TaskModule\n\n\n\n\n\nSubmissionService\n\nSubmissionService\n\nTaskModule -->\n\nSubmissionService->TaskModule\n\n\n\n\n\nTaskCopyService\n\nTaskCopyService\n\nTaskModule -->\n\nTaskCopyService->TaskModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskModule -->\n\nTaskRepo->TaskModule\n\n\n\n\n\nTaskService\n\nTaskService\n\nTaskModule -->\n\nTaskService->TaskModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionRepo\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskRepo\n \n \n TaskService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n \n \n Exports\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskService\n \n \n \n \n \n\n\n \n\n\n \n import { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, SubmissionRepo, TaskRepo } from '@shared/repo';\nimport { SubmissionService, TaskCopyService, TaskService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, CopyHelperModule],\n\tproviders: [TaskService, TaskCopyService, SubmissionService, TaskRepo, CourseRepo, SubmissionRepo],\n\texports: [TaskService, TaskCopyService, SubmissionService],\n})\nexport class TaskModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskParent.html":{"url":"interfaces/TaskParent.html","title":"interface - TaskParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:35\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskProperties.html":{"url":"interfaces/TaskProperties.html","title":"interface - TaskProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n course\n \n \n \n \n creator\n \n \n \n Optional\n \n finished\n \n \n \n Optional\n \n lesson\n \n \n \n Optional\n \n private\n \n \n \n Optional\n \n publicSubmissions\n \n \n \n \n school\n \n \n \n Optional\n \n submissions\n \n \n \n Optional\n \n teamSubmissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n \n \n finished: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lesson\n \n \n \n \n \n \n \n \n lesson: LessonEntity\n\n \n \n\n\n \n \n Type : LessonEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n \n \n private: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n publicSubmissions\n \n \n \n \n \n \n \n \n publicSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n \n \n submissions: Submission[]\n\n \n \n\n\n \n \n Type : Submission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teamSubmissions\n \n \n \n \n \n \n \n \n teamSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRepo.html":{"url":"injectables/TaskRepo.html","title":"injectable - TaskRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTask\n \n \n Async\n findAllByParentIds\n \n \n Async\n findAllFinishedByParentIds\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n Private\n Async\n findTasksAndCount\n \n \n Private\n Async\n populate\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTask\n \n \n \n \n \n \n \n createTask(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByParentIds\n \n \n \n \n \n \n \n findAllByParentIds(parentIds: literal type, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:106\n \n \n\n\n \n \n Find all tasks by their parents which can be any of\n\na teacher who owns the task\na list of courses\na list of lessons\n\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n parentIds for teacher, courses and lesson\n\n \n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n filters\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n pagination, sorting\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinishedByParentIds\n \n \n \n \n \n \n \n findAllFinishedByParentIds(parentIds: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:164\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findTasksAndCount\n \n \n \n \n \n \n \n findTasksAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:190\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populate\n \n \n \n \n \n \n \n populate(tasks: Task[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tasks\n \n Task[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { TaskScope } from './task-scope';\n\n@Injectable()\nexport class TaskRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Task;\n\t}\n\n\tprivate async populate(tasks: Task[]): Promise {\n\t\tawait this._em.populate(tasks, [\n\t\t\t'course',\n\t\t\t'lesson',\n\t\t\t'lesson.course',\n\t\t\t'lesson.courseGroup',\n\t\t\t'submissions',\n\t\t\t'submissions.courseGroup',\n\t\t]);\n\t}\n\n\tasync createTask(task: Task): Promise {\n\t\treturn this.save(this.create(task));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst task = await super.findById(id);\n\n\t\tawait this.populate([task]);\n\n\t\treturn task;\n\t}\n\n\tasync findAllFinishedByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId: EntityId;\n\t\t\topenCourseIds: EntityId[];\n\t\t\tlessonIdsOfOpenCourses: EntityId[];\n\t\t\tfinishedCourseIds: EntityId[];\n\t\t\tlessonIdsOfFinishedCourses: EntityId[];\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope('$or');\n\n\t\tconst parentsOpen = new TaskScope('$or');\n\t\tparentsOpen.byCourseIds(parentIds.openCourseIds);\n\t\tparentsOpen.byLessonIds(parentIds.lessonIdsOfOpenCourses);\n\n\t\tconst parentsFinished = new TaskScope('$or');\n\t\tparentsFinished.byCourseIds(parentIds.finishedCourseIds);\n\t\tparentsFinished.byLessonIds(parentIds.lessonIdsOfFinishedCourses);\n\n\t\tconst closedForOpenCoursesAndLessons = new TaskScope();\n\t\tclosedForOpenCoursesAndLessons.addQuery(parentsOpen.query);\n\t\tclosedForOpenCoursesAndLessons.byDraft(false);\n\t\tclosedForOpenCoursesAndLessons.byFinished(parentIds.creatorId, true);\n\n\t\tconst allForFinishedCoursesAndLessons = new TaskScope();\n\t\tallForFinishedCoursesAndLessons.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessons.byDraft(false);\n\n\t\t// must find also closed without course or lesson as parent\n\t\tconst closedWithoutParentForCreator = new TaskScope();\n\t\tclosedWithoutParentForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedWithoutParentForCreator.byOnlyCreatorId(parentIds.creatorId);\n\n\t\tconst closedDraftsForCreator = new TaskScope();\n\t\tclosedDraftsForCreator.addQuery(parentsOpen.query);\n\t\tclosedDraftsForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedDraftsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForFinishedCoursesAndLessonsForCreator = new TaskScope();\n\t\tallForFinishedCoursesAndLessonsForCreator.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessonsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForCreator = new TaskScope('$or');\n\t\tallForCreator.addQuery(closedWithoutParentForCreator.query);\n\t\tallForCreator.addQuery(closedDraftsForCreator.query);\n\t\tallForCreator.addQuery(allForFinishedCoursesAndLessonsForCreator.query);\n\n\t\tscope.addQuery(closedForOpenCoursesAndLessons.query);\n\t\tscope.addQuery(allForFinishedCoursesAndLessons.query);\n\t\tscope.addQuery(allForCreator.query);\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\t/**\n\t * Find all tasks by their parents which can be any of\n\t * - a teacher who owns the task\n\t * - a list of courses\n\t * - a list of lessons\n\t *\n\t * @param parentIds parentIds for teacher, courses and lesson\n\t * @param filters filters\n\t * @param options pagination, sorting\n\t * @returns\n\t */\n\tasync findAllByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId?: EntityId;\n\t\t\tcourseIds?: EntityId[];\n\t\t\tlessonIds?: EntityId[];\n\t\t},\n\t\tfilters?: {\n\t\t\tafterDueDateOrNone?: Date;\n\t\t\tfinished?: { userId: EntityId; value: boolean };\n\t\t\tavailableOn?: Date;\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\n\t\tconst parentIdScope = new TaskScope('$or');\n\n\t\tif (parentIds.creatorId) {\n\t\t\tparentIdScope.byOnlyCreatorId(parentIds.creatorId);\n\t\t}\n\n\t\tif (parentIds.courseIds) {\n\t\t\tparentIdScope.byCourseIds(parentIds.courseIds);\n\t\t}\n\n\t\tif (parentIds.lessonIds) {\n\t\t\tparentIdScope.byLessonIds(parentIds.lessonIds);\n\t\t}\n\n\t\tscope.addQuery(parentIdScope.query);\n\n\t\tif (filters?.finished) {\n\t\t\tscope.byFinished(filters.finished.userId, filters.finished.value);\n\t\t}\n\n\t\tif (parentIds.creatorId) {\n\t\t\tscope.excludeDraftsOfOthers(parentIds.creatorId);\n\t\t} else {\n\t\t\tscope.byDraft(false);\n\t\t}\n\n\t\tif (filters?.afterDueDateOrNone !== undefined) {\n\t\t\tscope.afterDueDateOrNone(filters.afterDueDateOrNone);\n\t\t}\n\n\t\tif (filters?.availableOn !== undefined) {\n\t\t\tif (parentIds.creatorId) {\n\t\t\t\tscope.excludeUnavailableOfOthers(parentIds.creatorId, filters.availableOn);\n\t\t\t} else {\n\t\t\t\tscope.byAvailable(filters?.availableOn);\n\t\t\t}\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\t\tscope.byCourseIds([courseId]);\n\n\t\tif (filters?.draft !== undefined) {\n\t\t\tif (filters?.draft === true) {\n\t\t\t\tscope.excludeDraftsOfOthers(creatorId);\n\t\t\t} else {\n\t\t\t\tscope.byDraft(false);\n\t\t\t}\n\t\t}\n\n\t\tif (filters?.noFutureAvailableDate !== undefined) {\n\t\t\tscope.noFutureAvailableDate();\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tprivate async findTasksAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination = options?.pagination || {};\n\t\tconst order = options?.order || {};\n\n\t\t// In order to solve pagination missmatches we apply a default order by _id. This is necessary\n\t\t// because other fields like the dueDate can be equal or null.\n\t\t// When pagination is used, sorting takes place on every page and if ambiguous leads to unwanted results.\n\t\t// Note: Indexes for dueDate and for _id do exist but there's no combined index.\n\t\t// This is okay, because the combined index would be too expensive for the particular purpose here.\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [tasks, count] = await this._em.findAndCount(Task, query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tawait this.populate(tasks);\n\n\t\treturn [tasks, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskResponse.html":{"url":"classes/TaskResponse.html","title":"class - TaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a task document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n courseId\n \n \n \n \n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n lessonHidden\n \n \n \n Optional\n lessonName\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : RichText\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Task description object, with props content: string and type: input format types', type: RichText})@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n lessonHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lessonName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRule.html":{"url":"injectables/TaskRule.html","title":"injectable - TaskRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/task.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, lessonRule: LessonRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n \n \n \n \n \n hasParentPermission(user: User, entity: Task, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Task, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Task, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseRule } from './course.rule';\nimport { LessonRule } from './lesson.rule';\n\n@Injectable()\nexport class TaskRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly lessonRule: LessonRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: Task): boolean {\n\t\tconst isMatched = entity instanceof Task;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Task, context: AuthorizationContext): boolean {\n\t\tlet { action } = context;\n\t\tconst { requiredPermissions } = context;\n\t\tconst hasRequiredPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tif (!hasRequiredPermission) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n\t\tif (entity.isDraft()) {\n\t\t\taction = Action.write;\n\t\t}\n\n\t\tconst hasParentPermission = this.hasParentPermission(user, entity, action);\n\n\t\t// TODO why parent permission has OR cond?\n\t\tconst result = isCreator || hasParentPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate hasParentPermission(user: User, entity: Task, action: Action): boolean {\n\t\tif (entity.lesson) {\n\t\t\tconst hasLessonPermission = this.lessonRule.hasPermission(user, entity.lesson, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\t\t\treturn hasLessonPermission;\n\t\t}\n\t\tif (entity.course) {\n\t\t\tconst hasCoursePermission = this.courseRule.hasPermission(user, entity.course, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\n\t\t\treturn hasCoursePermission;\n\t\t}\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskScope.html":{"url":"classes/TaskScope.html","title":"class - TaskScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterDueDateOrNone\n \n \n byAvailable\n \n \n byCourseIds\n \n \n byCreatorId\n \n \n byDraft\n \n \n byFinished\n \n \n byLessonIds\n \n \n byOnlyCreatorId\n \n \n excludeDraftsOfOthers\n \n \n excludeUnavailableOfOthers\n \n \n Private\n getByDraftForCreatorQuery\n \n \n Private\n getByDraftQuery\n \n \n noFutureAvailableDate\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterDueDateOrNone\n \n \n \n \n \n \nafterDueDateOrNone(dueDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dueDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byAvailable\n \n \n \n \n \n \nbyAvailable(availableDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCreatorId\n \n \n \n \n \n \nbyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byDraft\n \n \n \n \n \n \nbyDraft(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFinished\n \n \n \n \n \n \nbyFinished(userId: EntityId, value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLessonIds\n \n \n \n \n \n \nbyLessonIds(lessonIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byOnlyCreatorId\n \n \n \n \n \n \nbyOnlyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeDraftsOfOthers\n \n \n \n \n \n \nexcludeDraftsOfOthers(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeUnavailableOfOthers\n \n \n \n \n \n \nexcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n availableOn\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftForCreatorQuery\n \n \n \n \n \n \n \n getByDraftForCreatorQuery(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftQuery\n \n \n \n \n \n \n \n getByDraftQuery(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n noFutureAvailableDate\n \n \n \n \n \n \nnoFutureAvailableDate()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:66\n \n \n\n\n \n \n\n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '../scope';\n\nexport class TaskScope extends Scope {\n\tbyFinished(userId: EntityId, value: boolean): TaskScope {\n\t\tif (value === true) {\n\t\t\tthis.addQuery({ finished: userId });\n\t\t} else {\n\t\t\tthis.addQuery({ finished: { $ne: userId } });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyOnlyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ creator: creatorId }, { course: null }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({ creator: creatorId });\n\n\t\treturn this;\n\t}\n\n\tbyCourseIds(courseIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ course: { $in: courseIds } }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyLessonIds(lessonIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({ lesson: { $in: lessonIds } });\n\n\t\treturn this;\n\t}\n\n\tbyDraft(isDraft: boolean): TaskScope {\n\t\tconst query = this.getByDraftQuery(isDraft);\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeDraftsOfOthers(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [this.getByDraftForCreatorQuery(creatorId), this.getByDraftQuery(false)],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyAvailable(availableDate: Date): TaskScope {\n\t\tthis.addQuery({ availableDate: { $lte: availableDate } });\n\n\t\treturn this;\n\t}\n\n\tnoFutureAvailableDate(): TaskScope {\n\t\tconst query = { availableDate: { $lte: new Date(Date.now()) } };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [\n\t\t\t\t{ creator: creatorId },\n\t\t\t\t{ $and: [{ creator: { $ne: creatorId } }, { availableDate: { $lte: availableOn } }] },\n\t\t\t],\n\t\t});\n\t\treturn this;\n\t}\n\n\tafterDueDateOrNone(dueDate: Date): TaskScope {\n\t\tthis.addQuery({ $or: [{ dueDate: { $gte: dueDate } }, { dueDate: null }] });\n\n\t\treturn this;\n\t}\n\n\tprivate getByDraftQuery(isDraft: boolean): FilterQuery {\n\t\tconst query = isDraft ? { private: { $eq: true } } : { private: { $ne: true } };\n\n\t\treturn query;\n\t}\n\n\tprivate getByDraftForCreatorQuery(creatorId: EntityId): FilterQuery {\n\t\tconst query = { $and: [{ creator: creatorId }, this.getByDraftQuery(true)] };\n\n\t\treturn query;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskService.html":{"url":"injectables/TaskService.html","title":"injectable - TaskService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n Async\n deleteSubmissions\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, submissionService: SubmissionService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteSubmissions\n \n \n \n \n \n \n \n deleteSubmissions(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\nimport { SubmissionService } from './submission.service';\n\n@Injectable()\nexport class TaskService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\treturn this.taskRepo.findBySingleParent(creatorId, courseId, filters, options);\n\t}\n\n\tasync delete(task: Task): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(task.id);\n\n\t\tawait this.deleteSubmissions(task);\n\n\t\tawait this.taskRepo.delete(task);\n\t}\n\n\tprivate async deleteSubmissions(task: Task): Promise {\n\t\tconst submissions = task.submissions.getItems();\n\t\tconst promises = submissions.map((submission) => this.submissionService.delete(submission));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tasync findById(taskId: EntityId): Promise {\n\t\treturn this.taskRepo.findById(taskId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskStatus.html":{"url":"interfaces/TaskStatus.html","title":"interface - TaskStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n \n isDraft\n \n \n \n \n isFinished\n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n maxSubmissions\n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n \n \n isDraft: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n \n \n isFinished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n \n \n isSubstitutionTeacher: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n \n \n maxSubmissions: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusMapper.html":{"url":"classes/TaskStatusMapper.html","title":"class - TaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task-status.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task-status.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { TaskStatusResponse } from '../controller/dto/task-status.response';\n\nexport class TaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): TaskStatusResponse {\n\t\tconst dto = new TaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusResponse.html":{"url":"classes/TaskStatusResponse.html","title":"class - TaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TaskStatusResponse {\n\tconstructor({ submitted, maxSubmissions, graded, isDraft, isSubstitutionTeacher, isFinished }: TaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUC.html":{"url":"injectables/TaskUC.html","title":"injectable - TaskUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n Async\n delete\n \n \n Async\n findAll\n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllForStudent\n \n \n Private\n Async\n findAllForTeacher\n \n \n Private\n getDefaultMaxDueDate\n \n \n Private\n Async\n getPermittedCourses\n \n \n Private\n Async\n getPermittedLessons\n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, authorizationService: AuthorizationService, courseRepo: CourseRepo, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n \n \n \n \n \n changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n isFinished\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:217\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(userId: EntityId, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(userId: EntityId, pagination?: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForStudent\n \n \n \n \n \n \n \n findAllForStudent(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:147\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getDefaultMaxDueDate\n \n \n \n \n \n \n \n getDefaultMaxDueDate()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:210\n \n \n\n\n \n \n\n \n Returns : Date\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedCourses\n \n \n \n \n \n \n \n getPermittedCourses(user: User, neededPermission: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:177\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n neededPermission\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedLessons\n \n \n \n \n \n \n \n getPermittedLessons(user: User, courses: Course[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LessonService } from '@modules/lesson';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { Course, LessonEntity, TaskWithStatusVo, User } from '@shared/domain/entity';\nimport { Pagination, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, TaskStatus } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskService } from '../service';\n\n@Injectable()\nexport class TaskUC {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync findAllFinished(userId: EntityId, pagination?: Pagination): Promise> {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkOneOfPermissions(user, [\n\t\t\tPermission.TASK_DASHBOARD_TEACHER_VIEW_V3,\n\t\t\tPermission.TASK_DASHBOARD_VIEW_V3,\n\t\t]);\n\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst lessons = await this.getPermittedLessons(user, courses);\n\n\t\tconst openCourseIds = courses.filter((c) => !c.isFinished()).map((c) => c.id);\n\t\tconst finishedCourseIds = courses.filter((c) => c.isFinished()).map((c) => c.id);\n\t\tconst lessonIdsOfOpenCourses = lessons.filter((l) => !l.course.isFinished()).map((l) => l.id);\n\t\tconst lessonIdsOfFinishedCourses = lessons.filter((l) => l.course.isFinished()).map((l) => l.id);\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllFinishedByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: userId,\n\t\t\t\topenCourseIds,\n\t\t\t\tfinishedCourseIds,\n\t\t\t\tlessonIdsOfOpenCourses,\n\t\t\t\tlessonIdsOfFinishedCourses,\n\t\t\t},\n\t\t\t{ pagination, order: { dueDate: SortOrder.desc } }\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tlet status: TaskStatus;\n\t\t\tif (this.authorizationService.hasPermission(user, task, AuthorizationContextBuilder.write([]))) {\n\t\t\t\tstatus = task.createTeacherStatusForUser(user);\n\t\t\t} else {\n\t\t\t\tstatus = task.createStudentStatusForUser(user);\n\t\t\t}\n\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tasync findAll(userId: EntityId, pagination: Pagination): Promise> {\n\t\tlet response: Counted;\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tif (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForStudent(user, pagination);\n\t\t} else if (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForTeacher(user, pagination);\n\t\t} else {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tasync changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.read([]));\n\n\t\tif (isFinished) {\n\t\t\ttask.finishForUser(user);\n\t\t} else {\n\t\t\ttask.restoreForUser(user);\n\t\t}\n\t\tawait this.taskRepo.save(task);\n\n\t\t// TODO fix student case - why have student as fallback?\n\t\t// should be based on permission too and use this.createStatus() instead\n\t\t// add status\n\t\tconst status = this.authorizationService.hasOneOfPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])\n\t\t\t? task.createTeacherStatusForUser(user)\n\t\t\t: task.createStudentStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tasync revertPublished(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\ttask.unpublish();\n\t\tawait this.taskRepo.save(task);\n\n\t\tconst status = task.createTeacherStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tprivate async findAllForStudent(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst dueDate = this.getDefaultMaxDueDate();\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ afterDueDateOrNone: dueDate, finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.asc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createStudentStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tprivate async findAllForTeacher(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.write);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.desc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createTeacherStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\t// it should return also the scopePermissions for this user added to the entity .scopePermission: { userId, read: boolean, write: boolean }\n\t// then we can pass and allow only scoped courses to getPermittedLessonIds and validate read write of .scopePermission\n\tprivate async getPermittedCourses(user: User, neededPermission: Action): Promise {\n\t\tlet permittedCourses: Course[] = [];\n\n\t\tif (neededPermission === Action.write) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllForTeacherOrSubstituteTeacher(user.id);\n\t\t} else if (neededPermission === Action.read) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllByUserId(user.id);\n\t\t}\n\n\t\treturn permittedCourses;\n\t}\n\n\tprivate async getPermittedLessons(user: User, courses: Course[]): Promise {\n\t\tconst writeCourses = courses.filter((c) =>\n\t\t\tthis.authorizationService.hasPermission(user, c, AuthorizationContextBuilder.write([]))\n\t\t);\n\t\tconst readCourses = courses.filter((c) => !writeCourses.includes(c));\n\n\t\tconst writeCourseIds = writeCourses.map((c) => c.id);\n\t\tconst readCourseIds = readCourses.map((c) => c.id);\n\n\t\t// idea as combined query:\n\t\t// [{courseIds: onlyWriteCoursesIds}, { courseIds: onlyReadCourses, filter: { hidden: false }}]\n\t\tconst [[writeLessons], [readLessons]] = await Promise.all([\n\t\t\tthis.lessonService.findByCourseIds(writeCourseIds),\n\t\t\tthis.lessonService.findByCourseIds(readCourseIds, { hidden: false }),\n\t\t]);\n\n\t\tconst permittedLessons = [...writeLessons, ...readLessons];\n\n\t\treturn permittedLessons;\n\t}\n\n\tprivate getDefaultMaxDueDate(): Date {\n\t\tconst oneWeekAgo = new Date();\n\t\toneWeekAgo.setDate(oneWeekAgo.getDate() - 7);\n\n\t\treturn oneWeekAgo;\n\t}\n\n\tasync delete(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\tawait this.taskService.delete(task);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskUpdate.html":{"url":"interfaces/TaskUpdate.html","title":"interface - TaskUpdate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskUpdate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUpdateParams.html":{"url":"classes/TaskUpdateParams.html","title":"class - TaskUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-update.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskUpdate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskUpdate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskUpdateParams implements TaskUpdate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUrlHandler.html":{"url":"injectables/TaskUrlHandler.html","title":"injectable - TaskUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/homework\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class TaskUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/homework\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly taskService: TaskService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'task' });\n\t\tconst task = await this.taskService.findById(id);\n\t\tif (task) {\n\t\t\tmetaData.title = task.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUrlParams.html":{"url":"classes/TaskUrlParams.html","title":"class - TaskUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the task.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TaskUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the task.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttaskId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskWithStatusVo.html":{"url":"classes/TaskWithStatusVo.html","title":"class - TaskWithStatusVo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskWithStatusVo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n status\n \n \n task\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(task: Task, status: TaskStatus)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n \n Task\n \n \n \n No\n \n \n \n \n status\n \n \n TaskStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatus\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamDto.html":{"url":"classes/TeamDto.html","title":"class - TeamDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n \n Description\n \n \n TODO\nThis DTO and all associated functionality should be moved to a general teams module once it has been created\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n teamUsers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n Type : TeamUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamEntity.html":{"url":"entities/TeamEntity.html","title":"entity - TeamEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n userIds\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n Type : TeamUserEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:59\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamFactory.html":{"url":"classes/TeamFactory.html","title":"class - TeamFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/team.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withTeamUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withTeamUser\n \n \n \n \n \n \nwithTeamUser(teamUser: TeamUserEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamUser\n \n TeamUserEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamEntity, TeamProperties, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { teamUserFactory } from '@shared/testing/factory/teamuser.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: [teamUserFactory.withRoleAndUserId(role, userId).buildWithId()],\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithTeamUser(teamUser: TeamUserEntity[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: teamUser,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamFactory = TeamFactory.define(TeamEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `team #${sequence}`,\n\t\tteamUsers: [teamUserFactory.buildWithId()],\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamMapper.html":{"url":"injectables/TeamMapper.html","title":"injectable - TeamMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n \n \n \n mapEntityToDto(teamEntity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts:12\n \n \n\n\n \n \n Maps a Team Entity to the ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamEntity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n The Entity\n\n \n \n \n \n \n \n Returns : TeamDto\n\n \n \n The Dto\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { TeamDto, TeamUserDto } from '../services/dto/team.dto';\n\n@Injectable()\nexport class TeamMapper {\n\t/**\n\t * Maps a Team Entity to the ServiceDTO\n\t * @param teamEntity The Entity\n\t * @return The Dto\n\t */\n\tpublic mapEntityToDto(teamEntity: TeamEntity): TeamDto {\n\t\tconst teamUsers: TeamUserDto[] = teamEntity.teamUsers.map(\n\t\t\t(teamUser: TeamUserEntity) =>\n\t\t\t\tnew TeamUserDto({\n\t\t\t\t\tuserId: teamUser.user.id,\n\t\t\t\t\troleId: teamUser.role.id,\n\t\t\t\t\tschoolId: teamUser.school.id,\n\t\t\t\t})\n\t\t);\n\t\treturn new TeamDto({ id: teamEntity.id, name: teamEntity.name, teamUsers });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamNews.html":{"url":"entities/TeamNews.html","title":"entity - TeamNews","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TeamEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('TeamEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:127\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TeamNewsController.html":{"url":"controllers/TeamNewsController.html","title":"controller - TeamNewsController","body":"\n \n\n\n\n\n\n\n Controllers\n TeamNewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/team-news.controller.ts\n \n\n \n Prefix\n \n \n team\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n \n \n \n findAllForTeam(urlParams: TeamUrlParams, currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get(':teamId/news')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/team-news.controller.ts:19\n \n \n\n\n \n \n Responds with news of a given team for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TeamUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc';\nimport { FilterNewsParams, NewsListResponse, TeamUrlParams } from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('team')\nexport class TeamNewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Responds with news of a given team for a user.\n\t */\n\t@Get(':teamId/news')\n\tasync findAllForTeam(\n\t\t@Param() urlParams: TeamUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\t// enforce filter by a given team, used in team tab\n\t\tscope.targetId = urlParams.teamId;\n\t\tscope.targetModel = 'teams';\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsBody.html":{"url":"classes/TeamPermissionsBody.html","title":"class - TeamPermissionsBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n delete\n \n \n \n \n read\n \n \n \n \n share\n \n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class TeamPermissionsBody {\n\t@IsBoolean()\n\t@ApiProperty()\n\tread!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\twrite!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tcreate!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tdelete!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tshare!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsDto.html":{"url":"classes/TeamPermissionsDto.html","title":"class - TeamPermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n create\n \n \n Optional\n delete\n \n \n Optional\n read\n \n \n Optional\n share\n \n \n Optional\n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamPermissionsDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamPermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamPermissionsDto {\n\tread?: boolean;\n\n\twrite?: boolean;\n\n\tcreate?: boolean;\n\n\tdelete?: boolean;\n\n\tshare?: boolean;\n\n\tconstructor(props: TeamPermissionsDto) {\n\t\tthis.read = !!props.read;\n\t\tthis.write = !!props.write;\n\t\tthis.create = !!props.create;\n\t\tthis.delete = !!props.delete;\n\t\tthis.share = !!props.share;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamPermissionsMapper.html":{"url":"injectables/TeamPermissionsMapper.html","title":"injectable - TeamPermissionsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamPermissionsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n \n \n \n mapBodyToDto(body: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts:12\n \n \n\n\n \n \n Maps a TeamPermissions Body to a ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n body\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The TeamPermissions Body\n\n \n \n \n \n \n \n Returns : TeamPermissionsDto\n\n \n \n The mapped DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamPermissionsDto } from '../services/dto/team-permissions.dto';\n\n@Injectable()\nexport class TeamPermissionsMapper {\n\t/**\n\t * Maps a TeamPermissions Body to a ServiceDTO\n\t * @param body The TeamPermissions Body\n\t * @return The mapped DTO\n\t */\n\tpublic mapBodyToDto(body: TeamPermissionsBody): TeamPermissionsDto {\n\t\treturn new TeamPermissionsDto({\n\t\t\tcreate: body.create,\n\t\t\tdelete: body.delete,\n\t\t\tread: body.read,\n\t\t\tshare: body.share,\n\t\t\twrite: body.write,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamProperties.html":{"url":"interfaces/TeamProperties.html","title":"interface - TeamProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n teamUsers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n \n \n teamUsers: TeamUserEntity[]\n\n \n \n\n\n \n \n Type : TeamUserEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRoleDto.html":{"url":"classes/TeamRoleDto.html","title":"class - TeamRoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamRoleDto {\n\t@IsMongoId()\n\t@ApiProperty()\n\tteamId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\troleId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRolePermissionsDto.html":{"url":"classes/TeamRolePermissionsDto.html","title":"class - TeamRolePermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRolePermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permissions\n \n \n roleName\n \n \n teamId\n \n \n teamName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamRolePermissionsDto)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamRolePermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : boolean[]\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n teamName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamRolePermissionsDto {\n\tteamId: string;\n\n\tteamName: string;\n\n\troleName: string;\n\n\tpermissions: boolean[];\n\n\tconstructor(props: TeamRolePermissionsDto) {\n\t\tthis.teamId = props.teamId;\n\t\tthis.teamName = props.teamName;\n\t\tthis.roleName = props.roleName;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamRule.html":{"url":"injectables/TeamRule.html","title":"injectable - TeamRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/team.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity, User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class TeamRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: TeamEntity): boolean {\n\t\treturn entity instanceof TeamEntity;\n\t}\n\n\tpublic hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext): boolean {\n\t\tlet hasPermission = false;\n\t\tconst isTeamUser = entity.teamUsers.find((teamUser: TeamUserEntity) => teamUser.user.id === user.id);\n\t\tif (isTeamUser) {\n\t\t\thasPermission = this.authorizationHelper.hasAllPermissionsByRole(isTeamUser.role, context.requiredPermissions);\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamService.html":{"url":"injectables/TeamService.html","title":"injectable - TeamService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/teams/service/team.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(teamsRepo: TeamsRepo)\n \n \n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n \n \n \n \n \n deleteUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n \n \n \n findUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\n\n@Injectable()\nexport class TeamService {\n\tconstructor(private readonly teamsRepo: TeamsRepo) {}\n\n\tpublic async findUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\treturn teams;\n\t}\n\n\tpublic async deleteUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\tteams.forEach((team) => {\n\t\t\tteam.userIds = team.userIds.filter((u) => u.userId.id !== userId);\n\t\t});\n\n\t\tawait this.teamsRepo.save(teams);\n\n\t\treturn teams.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUrlParams.html":{"url":"classes/TeamUrlParams.html","title":"class - TeamUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/team.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the team.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/team.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the team.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tteamId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserDto.html":{"url":"classes/TeamUserDto.html","title":"class - TeamUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n schoolId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserEntity.html":{"url":"classes/TeamUserEntity.html","title":"class - TeamUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n Private\n schoolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n school\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserProperties)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Private\n schoolId\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n\n \n \n getuser()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:36\n \n \n\n \n \n setuser(value: User)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n User\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n\n \n \n getschool()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:44\n \n \n\n \n \n setschool(value: SchoolEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:48\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n SchoolEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserFactory.html":{"url":"classes/TeamUserFactory.html","title":"class - TeamUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/teamuser.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withUserId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { roleFactory } from '@shared/testing/factory/role.factory';\nimport { schoolFactory } from '@shared/testing/factory/school.factory';\nimport { userFactory } from '@shared/testing/factory/user.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamUserFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school, roles: [roleFactory.build({ roles: [role] })] }, userId),\n\t\t\tschool,\n\t\t\trole,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithUserId(userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school }, userId),\n\t\t\tschool,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamUserFactory = TeamUserFactory.define(TeamUserEntity, () => {\n\tconst role = roleFactory.buildWithId();\n\tconst school = schoolFactory.buildWithId();\n\tconst user = userFactory.buildWithId({ roles: [role] });\n\n\treturn new TeamUserEntity({\n\t\tuser,\n\t\tschool,\n\t\trole,\n\t});\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamUserProperties.html":{"url":"interfaces/TeamUserProperties.html","title":"interface - TeamUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n school\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsApiModule.html":{"url":"modules/TeamsApiModule.html","title":"module - TeamsApiModule","body":"\n \n\n\n\n\n Modules\n TeamsApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsApiModule\n\n\n\ncluster_TeamsApiModule_imports\n\n\n\n\nTeamsModule\n\nTeamsModule\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nTeamsApiModule -->\n\nTeamsModule->TeamsApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams-api.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n TeamsModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsModule } from '@modules/teams/teams.module';\n\n@Module({\n\timports: [TeamsModule],\n\tproviders: [],\n\tcontrollers: [],\n\texports: [],\n})\nexport class TeamsApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsModule.html":{"url":"modules/TeamsModule.html","title":"module - TeamsModule","body":"\n \n\n\n\n\n Modules\n TeamsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsModule\n\n\n\ncluster_TeamsModule_exports\n\n\n\ncluster_TeamsModule_providers\n\n\n\n\nTeamService \n\nTeamService \n\n\n\nTeamsModule\n\nTeamsModule\n\nTeamService -->\n\nTeamsModule->TeamService \n\n\n\n\n\nTeamService\n\nTeamService\n\nTeamsModule -->\n\nTeamService->TeamsModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nTeamsModule -->\n\nTeamsRepo->TeamsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TeamService\n \n \n TeamsRepo\n \n \n \n \n Exports\n \n \n TeamService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsRepo } from '@shared/repo';\nimport { TeamService } from './service';\n\n@Module({\n\tproviders: [TeamService, TeamsRepo],\n\texports: [TeamService],\n})\nexport class TeamsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamsRepo.html":{"url":"injectables/TeamsRepo.html","title":"injectable - TeamsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/teams/teams.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Private\n Async\n populateRoles\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:36\n \n \n\n\n \n \n Finds teams which the user is a member.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n Array of teams\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Role, TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class TeamsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn TeamEntity;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst team = await this._em.findOneOrFail(TeamEntity, { id }, { cache: this.cacheExpiration });\n\n\t\tif (populate) {\n\t\t\tawait Promise.all(\n\t\t\t\tteam.teamUsers.map(async (teamUser: TeamUserEntity): Promise => {\n\t\t\t\t\tawait this._em.populate(teamUser, ['role']);\n\t\t\t\t\tawait this.populateRoles([teamUser.role]);\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn team;\n\t}\n\n\t/**\n\t * Finds teams which the user is a member.\n\t *\n\t * @param userId\n\t * @return Array of teams\n\t */\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst teams: TeamEntity[] = await this._em.find(TeamEntity, {\n\t\t\tuserIds: { userId: new ObjectId(userId) },\n\t\t});\n\t\treturn teams;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\treturn Promise.all(\n\t\t\troles.map(async (role: Role): Promise => {\n\t\t\t\tif (!role.roles.isInitialized(true)) {\n\t\t\t\t\tawait this._em.populate(role, ['roles']);\n\t\t\t\t\tawait this.populateRoles(role.roles.getItems());\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TemporaryFileProperties.html":{"url":"interfaces/TemporaryFileProperties.html","title":"interface - TemporaryFileProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TemporaryFileProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n expiresAt\n \n \n \n \n filename\n \n \n \n \n ownedByUserId\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthtime\n \n \n \n \n \n \n \n \n birthtime: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n \n \n filename: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n \n \n ownedByUserId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileRepo.html":{"url":"injectables/TemporaryFileRepo.html","title":"injectable - TemporaryFileRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n Async\n findByUser\n \n \n Async\n findByUserAndFilename\n \n \n Async\n findExpired\n \n \n Async\n findExpiredByUser\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n \n \n \n \n \n findAllByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserAndFilename\n \n \n \n \n \n \n \n findByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpired\n \n \n \n \n \n \n \n findExpired()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpiredByUser\n \n \n \n \n \n \n \n findExpiredByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5pEditorTempFile } from '../entity';\n\n@Injectable()\nexport class TemporaryFileRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5pEditorTempFile;\n\t}\n\n\tasync findByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findAllByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findExpired(): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { expiresAt: { $lt: now } });\n\t}\n\n\tasync findByUser(userId: EntityId): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId });\n\t}\n\n\tasync findExpiredByUser(userId: EntityId): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { $and: [{ ownedByUserId: userId }, { expiresAt: { $lt: now } }] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileStorage.html":{"url":"injectables/TemporaryFileStorage.html","title":"injectable - TemporaryFileStorage","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileStorage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFilename\n \n \n Public\n Async\n deleteFile\n \n \n Public\n Async\n fileExists\n \n \n Private\n getFileInfo\n \n \n Private\n getFilePath\n \n \n Public\n Async\n getFileStats\n \n \n Public\n Async\n getFileStream\n \n \n Public\n Async\n listFiles\n \n \n Public\n Async\n saveFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: TemporaryFileRepo, s3Client: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n TemporaryFileRepo\n \n \n \n No\n \n \n \n \n s3Client\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFilename\n \n \n \n \n \n \n \n checkFilename(filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n fileExists\n \n \n \n \n \n \n \n fileExists(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFileInfo\n \n \n \n \n \n \n \n getFileInfo(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFilePath\n \n \n \n \n \n \n \n getFilePath(userId: string, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStats\n \n \n \n \n \n \n \n getFileStats(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStream\n \n \n \n \n \n \n \n getFileStream(filename: string, user: IUser, rangeStart: number, rangeEnd?: number | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n \n \n\n \n \n rangeStart\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n rangeEnd\n \n number | undefined\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n listFiles\n \n \n \n \n \n \n \n listFiles(user?: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n IUser\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveFile\n \n \n \n \n \n \n \n saveFile(filename: string, dataStream: ReadStream, user: IUser, expirationTime: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n dataStream\n \n ReadStream\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n expirationTime\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ITemporaryFile, ITemporaryFileStorage, IUser } from '@lumieducation/h5p-server';\nimport { Inject, Injectable, NotAcceptableException } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { ReadStream } from 'fs';\nimport { Readable } from 'stream';\nimport { H5pFileDto } from '../controller/dto/h5p-file.dto';\nimport { H5pEditorTempFile } from '../entity/h5p-editor-tempfile.entity';\nimport { H5P_CONTENT_S3_CONNECTION } from '../h5p-editor.config';\nimport { TemporaryFileRepo } from '../repo/temporary-file.repo';\n\n@Injectable()\nexport class TemporaryFileStorage implements ITemporaryFileStorage {\n\tconstructor(\n\t\tprivate readonly repo: TemporaryFileRepo,\n\t\t@Inject(H5P_CONTENT_S3_CONNECTION) private readonly s3Client: S3ClientAdapter\n\t) {}\n\n\tprivate checkFilename(filename: string): void {\n\t\tif (!/^[a-zA-Z0-9/._-]+$/g.test(filename) && filename.includes('..') && filename.startsWith('/')) {\n\t\t\tthrow new NotAcceptableException(`Filename contains forbidden characters or is empty: '${filename}'`);\n\t\t}\n\t}\n\n\tprivate getFileInfo(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\treturn this.repo.findByUserAndFilename(userId, filename);\n\t}\n\n\tpublic async deleteFile(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst meta = await this.repo.findByUserAndFilename(userId, filename);\n\t\tawait this.s3Client.delete([this.getFilePath(userId, filename)]);\n\t\tawait this.repo.delete(meta);\n\t}\n\n\tpublic async fileExists(filename: string, user: IUser): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst files = await this.repo.findAllByUserAndFilename(user.id, filename);\n\t\tconst exists = files.length !== 0;\n\t\treturn exists;\n\t}\n\n\tpublic async getFileStats(filename: string, user: IUser): Promise {\n\t\treturn this.getFileInfo(filename, user.id);\n\t}\n\n\tpublic async getFileStream(\n\t\tfilename: string,\n\t\tuser: IUser,\n\t\trangeStart = 0,\n\t\trangeEnd?: number | undefined\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst tempFile = await this.repo.findByUserAndFilename(user.id, filename);\n\t\tconst path = this.getFilePath(user.id, filename);\n\t\tlet rangeEndNew = 0;\n\t\tif (rangeEnd === undefined) {\n\t\t\trangeEndNew = tempFile.size - 1;\n\t\t}\n\t\tconst response = await this.s3Client.get(path, `${rangeStart}-${rangeEndNew}`);\n\n\t\treturn response.data;\n\t}\n\n\tpublic async listFiles(user?: IUser): Promise {\n\t\t// method is expected to support listing all files in database\n\t\t// Lumi uses the variant without a user to search for expired files, so we only return those\n\n\t\tlet files: ITemporaryFile[];\n\t\tif (user) {\n\t\t\tfiles = await this.repo.findByUser(user.id);\n\t\t} else {\n\t\t\tfiles = await this.repo.findExpired();\n\t\t}\n\n\t\treturn files;\n\t}\n\n\tpublic async saveFile(\n\t\tfilename: string,\n\t\tdataStream: ReadStream,\n\t\tuser: IUser,\n\t\texpirationTime: Date\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst now = new Date();\n\t\tif (expirationTime \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestApiClient.html":{"url":"classes/TestApiClient.html","title":"class - TestApiClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestApiClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n \n Description\n \n \n Note res.cookie is not supported atm, feel free to add this\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getJwtFromResponse\n \n \n Private\n getPath\n \n \n Private\n isAuthenticationResponse\n \n \n Private\n isSlash\n \n \n Public\n Async\n login\n \n \n Public\n patch\n \n \n Public\n post\n \n \n Public\n put\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string, jwt?: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n jwt\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getJwtFromResponse\n \n \n \n \n \n \n \n getJwtFromResponse(response: Response)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAuthenticationResponse\n \n \n \n \n \n \n \n isAuthenticationResponse(body)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n body\n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n login\n \n \n \n \n \n \n \n login(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n patch\n \n \n \n \n \n \n \n patch(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n put\n \n \n \n \n \n \n \n put(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestBootstrapConsole.html":{"url":"classes/TestBootstrapConsole.html","title":"class - TestBootstrapConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestBootstrapConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/api-test/test-bootstrap.console.ts\n \n\n\n\n \n Extends\n \n \n AbstractBootstrapConsole\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate()\n \n \n\n\n \n \n Defined in apps/server/src/console/api-test/test-bootstrap.console.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { createMock } from '@golevelup/ts-jest';\nimport { Test, TestingModule } from '@nestjs/testing';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementUc } from '@modules/management/uc/database-management.uc';\nimport { AbstractBootstrapConsole, BootstrapConsole } from 'nestjs-console';\n\nexport class TestBootstrapConsole extends AbstractBootstrapConsole {\n\tcreate(): Promise {\n\t\treturn Test.createTestingModule({\n\t\t\timports: [this.options.module],\n\t\t})\n\t\t\t.overrideProvider(DatabaseManagementUc)\n\t\t\t.useValue(createMock())\n\t\t\t.overrideProvider(ConsoleWriterService)\n\t\t\t.useValue(createMock())\n\t\t\t.compile();\n\t}\n}\n\nexport const execute = async (bootstrap: BootstrapConsole, args: string[]): Promise => {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst commandResponse = await bootstrap.boot([process.argv0, 'console', ...args]);\n\treturn Promise.resolve();\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestConnection.html":{"url":"classes/TestConnection.html","title":"class - TestConnection","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestConnection\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/testing/test-connection.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n getWsUrl\n \n \n Static\n setupWs\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n getWsUrl\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n setupWs\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import WebSocket from 'ws';\n\nexport class TestConnection {\n\tpublic static getWsUrl = (gatewayPort: number): string => {\n\t\tconst wsUrl = `ws://localhost:${gatewayPort}`;\n\t\treturn wsUrl;\n\t};\n\n\tpublic static setupWs = async (wsUrl: string, docName?: string): Promise => {\n\t\tlet ws: WebSocket;\n\t\tif (docName) {\n\t\t\tws = new WebSocket(`${wsUrl}/${docName}`);\n\t\t} else {\n\t\t\tws = new WebSocket(`${wsUrl}`);\n\t\t}\n\t\tawait new Promise((resolve) => {\n\t\t\tws.on('open', resolve);\n\t\t});\n\n\t\treturn ws;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestHelper.html":{"url":"classes/TestHelper.html","title":"class - TestHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/helper/test-helper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n createFile\n \n \n Static\n createFileResponse\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n createFile\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n createFileResponse\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { Readable } from 'stream';\nimport { GetFileResponse } from '../interface';\n\nexport class TestHelper {\n\tpublic static createFile = (contentRange?: string): GetFile => {\n\t\tconst text = 'testText';\n\t\tconst readable = Readable.from(text);\n\n\t\tconst fileResponse = {\n\t\t\tdata: readable,\n\t\t\tcontentType: 'image/webp',\n\t\t\tcontentLength: text.length,\n\t\t\tcontentRange,\n\t\t\tetag: 'testTag',\n\t\t};\n\n\t\treturn fileResponse;\n\t};\n\n\tpublic static createFileResponse = (contentRange?: string): GetFileResponse => {\n\t\tconst name = 'testName';\n\t\tconst file = this.createFile(contentRange);\n\t\tconst fileResponse = { ...file, name };\n\n\t\treturn fileResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestXApiKeyClient.html":{"url":"classes/TestXApiKeyClient.html","title":"class - TestXApiKeyClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestXApiKeyClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-xApiKey-client.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getPath\n \n \n Private\n isSlash\n \n \n Public\n post\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport supertest from 'supertest';\n\nexport class TestXApiKeyClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tconstructor(app: INestApplication, baseRoute: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).delete(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('Accept', 'application/json')\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TimeoutInterceptor.html":{"url":"injectables/TimeoutInterceptor.html","title":"injectable - TimeoutInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TimeoutInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/timeout.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor leaves the request execution after a given timeout in ms.\nThis will not stop the running services behind the controller.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(requestTimeout: number)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestTimeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor, RequestTimeoutException } from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { Observable, throwError, TimeoutError } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\n/**\n * This interceptor leaves the request execution after a given timeout in ms.\n * This will not stop the running services behind the controller.\n */\n@Injectable()\nexport class TimeoutInterceptor implements NestInterceptor {\n\tconstructor(private readonly requestTimeout: number) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tconst reflector = new Reflector();\n\t\tconst timeoutValue =\n\t\t\treflector.get('timeout', context.getHandler()) || reflector.get('timeout', context.getClass());\n\t\treturn next.handle().pipe(\n\t\t\ttimeout(timeoutValue || this.requestTimeout),\n\t\t\tcatchError((err: Error) => {\n\t\t\t\tif (err instanceof TimeoutError) {\n\t\t\t\t\treturn throwError(() => new RequestTimeoutException());\n\t\t\t\t}\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TimestampsResponse.html":{"url":"classes/TimestampsResponse.html","title":"class - TimestampsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TimestampsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/timestamps.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n deletedAt\n \n \n \n lastUpdatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TimestampsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TimestampsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastUpdatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class TimestampsResponse {\n\tconstructor({ lastUpdatedAt, createdAt, deletedAt }: TimestampsResponse) {\n\t\tthis.lastUpdatedAt = lastUpdatedAt;\n\t\tthis.createdAt = createdAt;\n\t\tthis.deletedAt = deletedAt;\n\t}\n\n\t@ApiProperty()\n\tlastUpdatedAt: Date;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiPropertyOptional()\n\tdeletedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawBoardRepo.html":{"url":"injectables/TldrawBoardRepo.html","title":"injectable - TldrawBoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawBoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n collectionName\n \n \n Public\n Readonly\n configService\n \n \n Public\n connectionString\n \n \n Public\n flushSize\n \n \n Public\n mdb\n \n \n Public\n multipleCollections\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n Public\n Async\n getYDocFromMdb\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getYDocFromMdb\n \n \n \n \n \n \n \n getYDocFromMdb(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n \n \n \n updateStoredDocWithDiff(docName: string, diff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n diff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n collectionName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n Readonly\n configService\n \n \n \n \n \n \n Type : ConfigService\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n connectionString\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n flushSize\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n mdb\n \n \n \n \n \n \n Type : MongodbPersistence\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n multipleCollections\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { MongodbPersistence } from 'y-mongodb-provider';\nimport { ConfigService } from '@nestjs/config';\nimport { applyUpdate, Doc, encodeStateAsUpdate, encodeStateVector } from 'yjs';\nimport { TldrawConfig } from '../config';\nimport { calculateDiff } from '../utils';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\n\n@Injectable()\nexport class TldrawBoardRepo {\n\tpublic connectionString: string;\n\n\tpublic collectionName: string;\n\n\tpublic flushSize: number;\n\n\tpublic multipleCollections: boolean;\n\n\tpublic mdb: MongodbPersistence;\n\n\tconstructor(public readonly configService: ConfigService) {\n\t\tthis.connectionString = this.configService.get('CONNECTION_STRING');\n\t\tthis.collectionName = this.configService.get('TLDRAW_DB_COLLECTION_NAME') ?? 'drawings';\n\t\tthis.flushSize = this.configService.get('TLDRAW_DB_FLUSH_SIZE') ?? 400;\n\t\tthis.multipleCollections = this.configService.get('TLDRAW_DB_MULTIPLE_COLLECTIONS');\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\n\t\tthis.mdb = new MongodbPersistence(this.connectionString, {\n\t\t\tcollectionName: this.collectionName,\n\t\t\tflushSize: this.flushSize,\n\t\t\tmultipleCollections: this.multipleCollections,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\t// eslint-disable-next-line consistent-return\n\tpublic async getYDocFromMdb(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tconst yDoc = await this.mdb.getYDoc(docName);\n\t\tif (yDoc instanceof Doc) {\n\t\t\treturn yDoc;\n\t\t}\n\t}\n\n\tpublic updateStoredDocWithDiff(docName: string, diff: Uint8Array): void {\n\t\tconst calc = calculateDiff(diff);\n\t\tif (calc > 0) {\n\t\t\tvoid this.mdb.storeUpdate(docName, diff);\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tconst persistedYdoc = await this.getYDocFromMdb(docName);\n\t\tconst persistedStateVector = encodeStateVector(persistedYdoc);\n\t\tconst diff = encodeStateAsUpdate(ydoc, persistedStateVector);\n\t\tthis.updateStoredDocWithDiff(docName, diff);\n\n\t\tapplyUpdate(ydoc, encodeStateAsUpdate(persistedYdoc));\n\n\t\tydoc.on('update', (update: Uint8Array) => {\n\t\t\tvoid this.mdb.storeUpdate(docName, update);\n\t\t});\n\n\t\tpersistedYdoc.destroy();\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\tawait this.mdb.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawClientModule.html":{"url":"modules/TldrawClientModule.html","title":"module - TldrawClientModule","body":"\n \n\n\n\n\n Modules\n TldrawClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawClientModule\n\n\n\ncluster_TldrawClientModule_imports\n\n\n\ncluster_TldrawClientModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nTldrawClientModule\n\nTldrawClientModule\n\nTldrawClientModule -->\n\nLoggerModule->TldrawClientModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nTldrawClientModule -->\n\nDrawingElementAdapterService->TldrawClientModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw-client/tldraw-client.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DrawingElementAdapterService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DrawingElementAdapterService],\n\texports: [],\n})\nexport class TldrawClientModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawConfig.html":{"url":"interfaces/TldrawConfig.html","title":"interface - TldrawConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n \n \n \n \n CONNECTION_STRING: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface TldrawConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tTLDRAW_DB_COLLECTION_NAME: string;\n\tTLDRAW_DB_FLUSH_SIZE: string;\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: boolean;\n\tCONNECTION_STRING: string;\n\tFEATURE_TLDRAW_ENABLED: boolean;\n\tTLDRAW_PING_TIMEOUT: number;\n\tTLDRAW_GC_ENABLED: number;\n}\n\nconst tldrawConnectionString: string = Configuration.get('TLDRAW_DB_URL') as string;\n\nconst tldrawConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tTLDRAW_DB_COLLECTION_NAME: Configuration.get('TLDRAW__DB_COLLECTION_NAME') as string,\n\tTLDRAW_DB_FLUSH_SIZE: Configuration.get('TLDRAW__DB_FLUSH_SIZE') as number,\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: Configuration.get('TLDRAW__DB_MULTIPLE_COLLECTIONS') as boolean,\n\tFEATURE_TLDRAW_ENABLED: Configuration.get('FEATURE_TLDRAW_ENABLED') as boolean,\n\tCONNECTION_STRING: tldrawConnectionString,\n\tTLDRAW_PING_TIMEOUT: Configuration.get('TLDRAW__PING_TIMEOUT') as number,\n\tTLDRAW_GC_ENABLED: Configuration.get('TLDRAW__GC_ENABLED') as boolean,\n};\n\nexport const SOCKET_PORT = Configuration.get('TLDRAW__SOCKET_PORT') as number;\nexport const config = () => tldrawConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TldrawController.html":{"url":"controllers/TldrawController.html","title":"controller - TldrawController","body":"\n \n\n\n\n\n\n\n Controllers\n TldrawController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.controller.ts\n \n\n \n Prefix\n \n \n tldraw-document\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(urlParams: TldrawDeleteParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete every element of tldraw drawing by its docName.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':docName')\n \n \n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TldrawDeleteParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Controller, Delete, ForbiddenException, HttpCode, NotFoundException, Param } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { TldrawService } from '../service/tldraw.service';\nimport { TldrawDeleteParams } from './tldraw.params';\n\n@ApiTags('Tldraw Document')\n@Controller('tldraw-document')\nexport class TldrawController {\n\tconstructor(private readonly tldrawService: TldrawService) {}\n\n\t@ApiOperation({ summary: 'Delete every element of tldraw drawing by its docName.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':docName')\n\tasync deleteByDocName(@Param() urlParams: TldrawDeleteParams) {\n\t\tawait this.tldrawService.deleteByDocName(urlParams.docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawDeleteParams.html":{"url":"classes/TldrawDeleteParams.html","title":"class - TldrawDeleteParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawDeleteParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n docName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The name of drawing that should be deleted.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class TldrawDeleteParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The name of drawing that should be deleted.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdocName!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TldrawDrawing.html":{"url":"entities/TldrawDrawing.html","title":"entity - TldrawDrawing","body":"\n \n\n\n\n\n\n\n\n Entities\n TldrawDrawing\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n Optional\n action\n \n \n \n Optional\n clock\n \n \n \n docName\n \n \n \n value\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n clock\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:27\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawDrawingProps.html":{"url":"interfaces/TldrawDrawingProps.html","title":"interface - TldrawDrawingProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawDrawingProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n action\n \n \n \n Optional\n \n clock\n \n \n \n \n docName\n \n \n \n \n value\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n clock\n \n \n \n \n \n \n \n \n clock: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n \n \n docName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawModule.html":{"url":"modules/TldrawModule.html","title":"module - TldrawModule","body":"\n \n\n\n\n\n Modules\n TldrawModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawModule\n\n\n\ncluster_TldrawModule_imports\n\n\n\ncluster_TldrawModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nTldrawModule\n\nTldrawModule\n\nTldrawModule -->\n\nAuthenticationModule->TldrawModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawModule -->\n\nAuthorizationModule->TldrawModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawModule -->\n\nCoreModule->TldrawModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nTldrawModule -->\n\nRabbitMQWrapperTestModule->TldrawModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawModule -->\n\nLogger->TldrawModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawModule -->\n\nTldrawBoardRepo->TldrawModule\n\n\n\n\n\nTldrawRepo\n\nTldrawRepo\n\nTldrawModule -->\n\nTldrawRepo->TldrawModule\n\n\n\n\n\nTldrawService\n\nTldrawService\n\nTldrawModule -->\n\nTldrawService->TldrawModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawRepo\n \n \n TldrawService\n \n \n \n \n Controllers\n \n \n TldrawController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { TldrawDrawing } from './entities';\nimport { config } from './config';\nimport { TldrawService } from './service/tldraw.service';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawController } from './controller/tldraw.controller';\nimport { TldrawRepo } from './repo/tldraw.repo';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tRabbitMQWrapperTestModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: TLDRAW_DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [TldrawDrawing],\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t],\n\tproviders: [Logger, TldrawService, TldrawBoardRepo, TldrawRepo],\n\tcontrollers: [TldrawController],\n})\nexport class TldrawModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawRepo.html":{"url":"injectables/TldrawRepo.html","title":"injectable - TldrawRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(entity: TldrawDrawing)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entity: TldrawDrawing | TldrawDrawing[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing | TldrawDrawing[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDocName\n \n \n \n \n \n \n \n findByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { TldrawDrawing } from '../entities';\n\n@Injectable()\nexport class TldrawRepo {\n\tconstructor(private readonly _em: EntityManager) {}\n\n\tasync create(entity: TldrawDrawing): Promise {\n\t\tawait this._em.persistAndFlush(entity);\n\t}\n\n\tasync findByDocName(docName: string): Promise {\n\t\treturn this._em.find(TldrawDrawing, { docName });\n\t}\n\n\tasync delete(entity: TldrawDrawing | TldrawDrawing[]): Promise {\n\t\tawait this._em.removeAndFlush(entity);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawService.html":{"url":"injectables/TldrawService.html","title":"injectable - TldrawService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tldrawRepo: TldrawRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tldrawRepo\n \n \n TldrawRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TldrawRepo } from '../repo/tldraw.repo';\n\n@Injectable()\nexport class TldrawService {\n\tconstructor(private readonly tldrawRepo: TldrawRepo) {}\n\n\tasync deleteByDocName(docName: string): Promise {\n\t\tconst drawings = await this.tldrawRepo.findByDocName(docName);\n\t\tawait this.tldrawRepo.delete(drawings);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawTestModule.html":{"url":"modules/TldrawTestModule.html","title":"module - TldrawTestModule","body":"\n \n\n\n\n\n Modules\n TldrawTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawTestModule\n\n\n\ncluster_TldrawTestModule_providers\n\n\n\ncluster_TldrawTestModule_imports\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nTldrawTestModule\n\nTldrawTestModule\n\nTldrawTestModule -->\n\nAuthenticationApiModule->TldrawTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nTldrawTestModule -->\n\nAuthenticationModule->TldrawTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawTestModule -->\n\nAuthorizationModule->TldrawTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawTestModule -->\n\nCoreModule->TldrawTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nTldrawTestModule -->\n\nLoggerModule->TldrawTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nTldrawTestModule -->\n\nMongoMemoryDatabaseModule->TldrawTestModule\n\n\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawTestModule -->\n\nTldrawWsModule->TldrawTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawTestModule -->\n\nTldrawBoardRepo->TldrawTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawTestModule -->\n\nTldrawWsService->TldrawTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n TldrawWsModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-test.module.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { Course, User } from '@shared/domain/entity';\nimport { AuthenticationApiModule } from '../authentication/authentication-api.module';\nimport { TldrawWsModule } from './tldraw-ws.module';\nimport { TldrawWs } from './controller';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\n\nconst imports = [\n\tTldrawWsModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Course] }),\n\tAuthenticationApiModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWs.html":{"url":"classes/TldrawWs.html","title":"class - TldrawWs","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWs\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.ws.ts\n \n\n\n\n\n \n Implements\n \n \n OnGatewayInit\n OnGatewayConnection\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n server\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n afterInit\n \n \n Private\n getDocNameFromRequest\n \n \n Public\n handleConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawWsService: TldrawWsService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawWsService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n server\n \n \n \n \n \n \n Type : Server\n\n \n \n \n \n Decorators : \n \n \n @WebSocketServer()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n afterInit\n \n \n \n \n \n \n \n afterInit()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getDocNameFromRequest\n \n \n \n \n \n \n \n getDocNameFromRequest(request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n handleConnection\n \n \n \n \n \n \n \n handleConnection(client: WebSocket, request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WebSocketGateway, WebSocketServer, OnGatewayInit, OnGatewayConnection } from '@nestjs/websockets';\nimport { Server, WebSocket } from 'ws';\nimport { ConfigService } from '@nestjs/config';\nimport { TldrawConfig, SOCKET_PORT } from '../config';\nimport { WsCloseCodeEnum } from '../types';\nimport { TldrawWsService } from '../service';\n\n@WebSocketGateway(SOCKET_PORT)\nexport class TldrawWs implements OnGatewayInit, OnGatewayConnection {\n\t@WebSocketServer()\n\tserver!: Server;\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawWsService: TldrawWsService\n\t) {}\n\n\tpublic handleConnection(client: WebSocket, request: Request): void {\n\t\tconst docName = this.getDocNameFromRequest(request);\n\n\t\tif (docName.length > 0 && this.configService.get('FEATURE_TLDRAW_ENABLED')) {\n\t\t\tthis.tldrawWsService.setupWSConnection(client, docName);\n\t\t} else {\n\t\t\tclient.close(\n\t\t\t\tWsCloseCodeEnum.WS_CLIENT_BAD_REQUEST_CODE,\n\t\t\t\t'Document name is mandatory in url or Tldraw Tool is turned off.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic afterInit(): void {\n\t\tthis.tldrawWsService.setPersistence({\n\t\t\tbindState: async (docName, ydoc) => {\n\t\t\t\tawait this.tldrawWsService.updateDocument(docName, ydoc);\n\t\t\t},\n\t\t\twriteState: async (docName) => {\n\t\t\t\t// This is called when all connections to the document are closed.\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\t\t\tawait this.tldrawWsService.flushDocument(docName);\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate getDocNameFromRequest(request: Request): string {\n\t\tconst urlStripped = request.url.replace(/(\\/)|(tldraw-server)/g, '');\n\t\treturn urlStripped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWsFactory.html":{"url":"classes/TldrawWsFactory.html","title":"class - TldrawWsFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWsFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/tldraw.ws.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createWebsocket\n \n \n Static\n createWsSharedDocDo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createWebsocket\n \n \n \n \n \n \n \n createWebsocket(readyState: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n readyState\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : WebSocket\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n createWsSharedDocDo\n \n \n \n \n \n \n \n createWsSharedDocDo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5\n \n \n\n\n \n \n\n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WsSharedDocDo } from '@modules/tldraw/domain/ws-shared-doc.do';\nimport WebSocket from 'ws';\n\nexport class TldrawWsFactory {\n\tpublic static createWsSharedDocDo(): WsSharedDocDo {\n\t\treturn { conns: new Map(), destroy: () => {} } as WsSharedDocDo;\n\t}\n\n\tpublic static createWebsocket(readyState: number): WebSocket {\n\t\treturn { readyState, close: () => {} } as WebSocket;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsModule.html":{"url":"modules/TldrawWsModule.html","title":"module - TldrawWsModule","body":"\n \n\n\n\n\n Modules\n TldrawWsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsModule\n\n\n\ncluster_TldrawWsModule_imports\n\n\n\ncluster_TldrawWsModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawWsModule -->\n\nCoreModule->TldrawWsModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawWsModule -->\n\nLogger->TldrawWsModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsModule -->\n\nTldrawBoardRepo->TldrawWsModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsModule -->\n\nTldrawWsService->TldrawWsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { TldrawWs } from './controller';\nimport { config } from './config';\n\n@Module({\n\timports: [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))],\n\tproviders: [Logger, TldrawWs, TldrawWsService, TldrawBoardRepo],\n})\nexport class TldrawWsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawWsService.html":{"url":"injectables/TldrawWsService.html","title":"injectable - TldrawWsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawWsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.ws.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n docs\n \n \n Public\n persistence\n \n \n Public\n pingTimeout\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n closeConn\n \n \n Public\n Async\n flushDocument\n \n \n getYDoc\n \n \n Public\n messageHandler\n \n \n Public\n send\n \n \n Public\n setPersistence\n \n \n Public\n setupWSConnection\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateHandler\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawBoardRepo: TldrawBoardRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawBoardRepo\n \n \n TldrawBoardRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n closeConn\n \n \n \n \n \n \n \n closeConn(doc: WsSharedDocDo, ws: WebSocket)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getYDoc\n \n \n \n \n \n \ngetYDoc(docName: string, gc)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102\n \n \n\n\n \n \n Gets a Y.Doc by name, whether in memory or on disk\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \nthe name of the Y.Doc to find or create\n\n\n \n \n \n gc\n \n \n\n \n No\n \n\n \n true\n \n\n \n \nwhether to allow gc on the doc (applies only when created)\n\n\n \n \n \n \n \n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n messageHandler\n \n \n \n \n \n \n \n messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n send\n \n \n \n \n \n \n \n send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setPersistence\n \n \n \n \n \n \n \n setPersistence(persistence_: Persitence)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n persistence_\n \n Persitence\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setupWSConnection\n \n \n \n \n \n \n \n setupWSConnection(ws: WebSocket, docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n \n \n\n \n \n docName\n \n string\n \n\n \n No\n \n\n \n 'GLOBAL'\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateHandler\n \n \n \n \n \n \n \n updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n update\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n origin\n \n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n docs\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n persistence\n \n \n \n \n \n \n Type : Persitence | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n pingTimeout\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport WebSocket from 'ws';\nimport { applyAwarenessUpdate, encodeAwarenessUpdate, removeAwarenessStates } from 'y-protocols/awareness';\nimport { encoding, decoding, map } from 'lib0';\nimport { readSyncMessage, writeSyncStep1, writeUpdate } from 'y-protocols/sync';\nimport { Persitence, WSConnectionState, WSMessageType } from '../types';\nimport { TldrawConfig } from '../config';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\nimport { TldrawBoardRepo } from '../repo';\n\n@Injectable()\nexport class TldrawWsService {\n\tpublic pingTimeout: number;\n\n\tpublic persistence: Persitence | null = null;\n\n\tpublic docs = new Map();\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawBoardRepo: TldrawBoardRepo\n\t) {\n\t\tthis.pingTimeout = this.configService.get('TLDRAW_PING_TIMEOUT');\n\t}\n\n\tpublic setPersistence(persistence_: Persitence): void {\n\t\tthis.persistence = persistence_;\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} ws\n\t */\n\tpublic closeConn(doc: WsSharedDocDo, ws: WebSocket): void {\n\t\tif (doc.conns.has(ws)) {\n\t\t\tconst controlledIds = doc.conns.get(ws) as Set;\n\t\t\tdoc.conns.delete(ws);\n\t\t\tremoveAwarenessStates(doc.awareness, Array.from(controlledIds), null);\n\t\t\tif (doc.conns.size === 0 && this.persistence !== null) {\n\t\t\t\t// if persisted, we store state and destroy ydocument\n\t\t\t\tthis.persistence\n\t\t\t\t\t.writeState(doc.name, doc)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdoc.destroy();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {});\n\t\t\t\tthis.docs.delete(doc.name);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tws.close();\n\t\t} catch (err) {\n\t\t\tthrow new Error('Cannot close the connection. It is possible that connection is already closed.');\n\t\t}\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} conn\n\t * @param {Uint8Array} message\n\t */\n\tpublic send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array): void {\n\t\tif (conn.readyState !== WSConnectionState.CONNECTING && conn.readyState !== WSConnectionState.OPEN) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t\ttry {\n\t\t\tconn.send(message, (err: Error | undefined) => {\n\t\t\t\tif (err != null) {\n\t\t\t\t\tthis.closeConn(doc, conn);\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t}\n\n\t/**\n\t * @param {Uint8Array} update\n\t * @param {any} origin\n\t * @param {WsSharedDocDo} doc\n\t */\n\tpublic updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo): void {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\twriteUpdate(encoder, update);\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\tdoc.conns.forEach((_, conn) => {\n\t\t\tthis.send(doc, conn, message);\n\t\t});\n\t}\n\n\t/**\n\t * Gets a Y.Doc by name, whether in memory or on disk\n\t *\n\t * @param {string} docName - the name of the Y.Doc to find or create\n\t * @param {boolean} gc - whether to allow gc on the doc (applies only when created)\n\t * @return {WsSharedDocDo}\n\t */\n\tgetYDoc(docName: string, gc = true): WsSharedDocDo {\n\t\treturn map.setIfUndefined(this.docs, docName, () => {\n\t\t\tconst doc = new WsSharedDocDo(docName, this, gc);\n\t\t\tif (this.persistence !== null) {\n\t\t\t\tthis.persistence.bindState(docName, doc).catch(() => {});\n\t\t\t}\n\t\t\tthis.docs.set(docName, doc);\n\t\t\treturn doc;\n\t\t});\n\t}\n\n\tpublic messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array): void {\n\t\ttry {\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tconst decoder = decoding.createDecoder(message);\n\t\t\tconst messageType = decoding.readVarUint(decoder);\n\t\t\tswitch (messageType) {\n\t\t\t\tcase WSMessageType.SYNC:\n\t\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\t\t\treadSyncMessage(decoder, encoder, doc, conn);\n\n\t\t\t\t\t// If the `encoder` only contains the type of reply message and no\n\t\t\t\t\t// message, there is no need to send the message. When `encoder` only\n\t\t\t\t\t// contains the type of reply, its length is 1.\n\t\t\t\t\tif (encoding.length(encoder) > 1) {\n\t\t\t\t\t\tthis.send(doc, conn, encoding.toUint8Array(encoder));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase WSMessageType.AWARENESS: {\n\t\t\t\t\tapplyAwarenessUpdate(doc.awareness, decoding.readVarUint8Array(decoder), conn);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tdoc.emit('error', [err]);\n\t\t}\n\t}\n\n\t/**\n\t * @param {WebSocket} ws\n\t * @param {string} docName\n\t */\n\tpublic setupWSConnection(ws: WebSocket, docName = 'GLOBAL'): void {\n\t\tws.binaryType = 'arraybuffer';\n\t\t// get doc, initialize if it does not exist yet\n\t\tconst doc = this.getYDoc(docName, true);\n\t\tdoc.conns.set(ws, new Set());\n\n\t\t// listen and reply to events\n\t\tws.on('message', (message: ArrayBufferLike) => {\n\t\t\tthis.messageHandler(ws, doc, new Uint8Array(message));\n\t\t});\n\n\t\t// Check if connection is still alive\n\t\tlet pongReceived = true;\n\t\tconst pingInterval = setInterval(() => {\n\t\t\tconst hasConn = doc.conns.has(ws);\n\n\t\t\tif (pongReceived) {\n\t\t\t\tif (!hasConn) return;\n\t\t\t\tpongReceived = false;\n\n\t\t\t\ttry {\n\t\t\t\t\tws.ping();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t\t\tclearInterval(pingInterval);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (hasConn) {\n\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t}\n\n\t\t\tclearInterval(pingInterval);\n\t\t}, this.pingTimeout);\n\t\tws.on('close', () => {\n\t\t\tthis.closeConn(doc, ws);\n\t\t\tclearInterval(pingInterval);\n\t\t});\n\t\tws.on('pong', () => {\n\t\t\tpongReceived = true;\n\t\t});\n\t\t{\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\twriteSyncStep1(encoder, doc);\n\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\tconst awarenessStates = doc.awareness.getStates();\n\t\t\tif (awarenessStates.size > 0) {\n\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\t\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(doc.awareness, Array.from(awarenessStates.keys())));\n\t\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tawait this.tldrawBoardRepo.updateDocument(docName, ydoc);\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\tawait this.tldrawBoardRepo.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsTestModule.html":{"url":"modules/TldrawWsTestModule.html","title":"module - TldrawWsTestModule","body":"\n \n\n\n\n\n Modules\n TldrawWsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsTestModule\n\n\n\ncluster_TldrawWsTestModule_providers\n\n\n\ncluster_TldrawWsTestModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsTestModule\n\nTldrawWsTestModule\n\nTldrawWsTestModule -->\n\nCoreModule->TldrawWsTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsTestModule -->\n\nTldrawBoardRepo->TldrawWsTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsTestModule -->\n\nTldrawWsService->TldrawWsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-ws-test.module.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { config } from './config';\nimport { TldrawWs } from './controller';\n\nconst imports = [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawWsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawWsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToggleUserLoginMigrationUc.html":{"url":"injectables/ToggleUserLoginMigrationUc.html","title":"injectable - ToggleUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToggleUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n Async\n setMigrationMandatory\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationMandatoryLoggable, UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class ToggleUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean): Promise {\n\t\tawait this.checkPermission(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationService.setMigrationMandatory(userLoginMigration, mandatory);\n\n\t\tthis.logger.debug(new UserLoginMigrationMandatoryLoggable(userId, userLoginMigration.id, mandatory));\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPermission(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TokenGenerator.html":{"url":"injectables/TokenGenerator.html","title":"injectable - TokenGenerator","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TokenGenerator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/token-generator.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateShareToken\n \n \n \n \n \n \ngenerateShareToken()\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/token-generator.service.ts:7\n \n \n\n\n \n \n\n \n Returns : ShareTokenString\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { nanoid } from 'nanoid';\nimport { ShareTokenString } from '../domainobject/share-token.do';\n\n@Injectable()\nexport class TokenGenerator {\n\tgenerateShareToken(): ShareTokenString {\n\t\tconst token = nanoid(12);\n\t\treturn token;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestLoggableException.html":{"url":"classes/TokenRequestLoggableException.html","title":"class - TokenRequestLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class TokenRequestLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'OAUTH_TOKEN_REQUEST_ERROR');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestMapper.html":{"url":"classes/TokenRequestMapper.html","title":"class - TokenRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/mapper/token-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n \n \n \n \n \n createAuthenticationCodeGrantTokenRequestPayload(clientId: string, decryptedClientSecret: string, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n decryptedClientSecret\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n \n \n \n mapTokenResponseToDto(response: OauthTokenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n OauthTokenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OAuthTokenDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OAuthTokenDto } from '../interface';\nimport { OAuthGrantType } from '../interface/oauth-grant-type.enum';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from '../service/dto';\n\nexport class TokenRequestMapper {\n\tstatic createAuthenticationCodeGrantTokenRequestPayload(\n\t\tclientId: string,\n\t\tdecryptedClientSecret: string,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\treturn new AuthenticationCodeGrantTokenRequest({\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: decryptedClientSecret,\n\t\t\tredirect_uri: redirectUri,\n\t\t\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT,\n\t\t\tcode,\n\t\t});\n\t}\n\n\tstatic mapTokenResponseToDto(response: OauthTokenResponse): OAuthTokenDto {\n\t\treturn new OAuthTokenDto({\n\t\t\tidToken: response.id_token,\n\t\t\trefreshToken: response.refresh_token,\n\t\t\taccessToken: response.access_token,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TooManyPseudonymsLoggableException.html":{"url":"classes/TooManyPseudonymsLoggableException.html","title":"class - TooManyPseudonymsLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TooManyPseudonymsLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonym: string)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:18\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger/types';\n\nexport class TooManyPseudonymsLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly pseudonym: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\t\ttitle: 'Too many pseudonyms where found.',\n\t\t\t\tdefaultMessage: 'Too many pseudonyms where found.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\tmessage: 'Too many pseudonyms where found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tpseudonym: this.pseudonym,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolApiModule.html":{"url":"modules/ToolApiModule.html","title":"module - ToolApiModule","body":"\n \n\n\n\n\n Modules\n ToolApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolApiModule\n\n\n\ncluster_ToolApiModule_imports\n\n\n\ncluster_ToolApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nToolApiModule\n\nToolApiModule\n\nToolApiModule -->\n\nAuthorizationModule->ToolApiModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nToolApiModule -->\n\nBoardModule->ToolApiModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolApiModule -->\n\nCommonToolModule->ToolApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolApiModule -->\n\nLearnroomModule->ToolApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolApiModule -->\n\nLegacySchoolModule->ToolApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nToolApiModule -->\n\nLoggerModule->ToolApiModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolApiModule -->\n\nToolConfigModule->ToolApiModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nToolApiModule -->\n\nToolModule->ToolApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolApiModule -->\n\nUserModule->ToolApiModule\n\n\n\n\n\nContextExternalToolUc\n\nContextExternalToolUc\n\nToolApiModule -->\n\nContextExternalToolUc->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nToolApiModule -->\n\nExternalToolConfigurationService->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationUc\n\nExternalToolConfigurationUc\n\nToolApiModule -->\n\nExternalToolConfigurationUc->ToolApiModule\n\n\n\n\n\nExternalToolRequestMapper\n\nExternalToolRequestMapper\n\nToolApiModule -->\n\nExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nExternalToolResponseMapper\n\nExternalToolResponseMapper\n\nToolApiModule -->\n\nExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nExternalToolUc\n\nExternalToolUc\n\nToolApiModule -->\n\nExternalToolUc->ToolApiModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nToolApiModule -->\n\nLtiToolRepo->ToolApiModule\n\n\n\n\n\nSchoolExternalToolRequestMapper\n\nSchoolExternalToolRequestMapper\n\nToolApiModule -->\n\nSchoolExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolResponseMapper\n\nSchoolExternalToolResponseMapper\n\nToolApiModule -->\n\nSchoolExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolUc\n\nSchoolExternalToolUc\n\nToolApiModule -->\n\nSchoolExternalToolUc->ToolApiModule\n\n\n\n\n\nToolLaunchUc\n\nToolLaunchUc\n\nToolApiModule -->\n\nToolLaunchUc->ToolApiModule\n\n\n\n\n\nToolPermissionHelper\n\nToolPermissionHelper\n\nToolApiModule -->\n\nToolPermissionHelper->ToolApiModule\n\n\n\n\n\nToolReferenceUc\n\nToolReferenceUc\n\nToolApiModule -->\n\nToolReferenceUc->ToolApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolUc\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolConfigurationUc\n \n \n ExternalToolRequestMapper\n \n \n ExternalToolResponseMapper\n \n \n ExternalToolUc\n \n \n LtiToolRepo\n \n \n SchoolExternalToolRequestMapper\n \n \n SchoolExternalToolResponseMapper\n \n \n SchoolExternalToolUc\n \n \n ToolLaunchUc\n \n \n ToolPermissionHelper\n \n \n ToolReferenceUc\n \n \n \n \n Controllers\n \n \n ToolLaunchController\n \n \n ToolConfigurationController\n \n \n ToolSchoolController\n \n \n ToolContextController\n \n \n ToolReferenceController\n \n \n ToolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { CommonToolModule } from './common';\nimport { ToolPermissionHelper } from './common/uc/tool-permission-helper';\nimport { ToolContextController } from './context-external-tool/controller';\nimport { ToolReferenceController } from './context-external-tool/controller/tool-reference.controller';\nimport { ContextExternalToolUc, ToolReferenceUc } from './context-external-tool/uc';\nimport { ToolConfigurationController, ToolController } from './external-tool/controller';\nimport { ExternalToolRequestMapper, ExternalToolResponseMapper } from './external-tool/mapper';\nimport { ExternalToolConfigurationService } from './external-tool/service';\nimport { ExternalToolConfigurationUc, ExternalToolUc } from './external-tool/uc';\nimport { ToolSchoolController } from './school-external-tool/controller';\nimport { SchoolExternalToolRequestMapper, SchoolExternalToolResponseMapper } from './school-external-tool/mapper';\nimport { SchoolExternalToolUc } from './school-external-tool/uc';\nimport { ToolConfigModule } from './tool-config.module';\nimport { ToolLaunchController } from './tool-launch/controller/tool-launch.controller';\nimport { ToolLaunchUc } from './tool-launch/uc';\nimport { ToolModule } from './tool.module';\n\n@Module({\n\timports: [\n\t\tToolModule,\n\t\tCommonToolModule,\n\t\tUserModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t\tToolConfigModule,\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tcontrollers: [\n\t\tToolLaunchController,\n\t\tToolConfigurationController,\n\t\tToolSchoolController,\n\t\tToolContextController,\n\t\tToolReferenceController,\n\t\tToolController,\n\t],\n\tproviders: [\n\t\tLtiToolRepo,\n\t\tExternalToolUc,\n\t\tExternalToolConfigurationUc,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolRequestMapper,\n\t\tExternalToolResponseMapper,\n\t\tSchoolExternalToolUc,\n\t\tSchoolExternalToolResponseMapper,\n\t\tSchoolExternalToolRequestMapper,\n\t\tContextExternalToolUc,\n\t\tToolLaunchUc,\n\t\tToolReferenceUc,\n\t\tToolPermissionHelper,\n\t],\n})\nexport class ToolApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolConfigModule.html":{"url":"modules/ToolConfigModule.html","title":"module - ToolConfigModule","body":"\n \n\n\n\n\n Modules\n ToolConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport ToolConfiguration, { ToolFeatures } from './tool-config';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: ToolFeatures,\n\t\t\tuseValue: ToolConfiguration.toolFeatures,\n\t\t},\n\t],\n\texports: [ToolFeatures],\n})\nexport class ToolConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfiguration.html":{"url":"classes/ToolConfiguration.html","title":"class - ToolConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n \n \n Type : IToolFeatures\n\n \n \n \n \n Default value : {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-config.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolConfigurationController.html":{"url":"controllers/ToolConfigurationController.html","title":"controller - ToolConfigurationController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolConfigurationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(currentUser: ICurrentUser, params: ContextRefParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given context'})@ApiOkResponse({description: 'List of available tools for a context', type: ContextExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextRefParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(currentUser: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school/:schoolId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given school'})@ApiOkResponse({description: 'List of available tools for a school', type: SchoolExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n getConfigurationTemplateForContext(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a Context External Tool'})@ApiFoundResponse({description: 'Configuration template for a Context External Tool', type: ContextExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n \n getConfigurationTemplateForSchool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school-external-tools/:schoolExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a School External Tool'})@ApiFoundResponse({description: 'Configuration template for a School External Tool', type: SchoolExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('context-types')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all context types available in the SVS'})@ApiOkResponse({description: 'List of available context types', type: ToolContextTypesListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ExternalTool } from '../domain';\nimport { ToolConfigurationMapper } from '../mapper/tool-configuration.mapper';\nimport { ContextExternalToolTemplateInfo, ExternalToolConfigurationUc } from '../uc';\nimport {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tContextExternalToolIdParams,\n\tContextRefParams,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolIdParams,\n\tSchoolIdParams,\n\tToolContextTypesListResponse,\n} from './dto';\nimport { ToolContextType } from '../../common/enum';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolConfigurationController {\n\tconstructor(private readonly externalToolConfigurationUc: ExternalToolConfigurationUc) {}\n\n\t@Get('context-types')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all context types available in the SVS' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available context types',\n\t\ttype: ToolContextTypesListResponse,\n\t})\n\tpublic async getToolContextTypes(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst toolContextTypes: ToolContextType[] = await this.externalToolConfigurationUc.getToolContextTypes(\n\t\t\tcurrentUser.userId\n\t\t);\n\n\t\tconst mapped: ToolContextTypesListResponse =\n\t\t\tToolConfigurationMapper.mapToToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school/:schoolId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given school' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a school',\n\t\ttype: SchoolExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst availableTools: ExternalTool[] = await this.externalToolConfigurationUc.getAvailableToolsForSchool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get(':contextType/:contextId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a context',\n\t\ttype: ContextExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextRefParams\n\t): Promise {\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] =\n\t\t\tawait this.externalToolConfigurationUc.getAvailableToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tcurrentUser.schoolId,\n\t\t\t\tparams.contextId,\n\t\t\t\tparams.contextType\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school-external-tools/:schoolExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a School External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a School External Tool',\n\t\ttype: SchoolExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolConfigurationUc.getTemplateForSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('context-external-tools/:contextExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a Context External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a Context External Tool',\n\t\ttype: ContextExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ContextExternalToolTemplateInfo =\n\t\t\tawait this.externalToolConfigurationUc.getTemplateForContextExternalTool(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextExternalToolId\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfigurationMapper.html":{"url":"classes/ToolConfigurationMapper.html","title":"class - ToolConfigurationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfigurationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateListResponse(toolInfos: ContextExternalToolTemplateInfo[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfos\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateResponse(toolInfo: ContextExternalToolTemplateInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfo\n \n ContextExternalToolTemplateInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateListResponse(externalTools: ExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n \n \n \n mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolContextTypes\n \n ToolContextType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextTypesListResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tToolContextTypesListResponse,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc';\nimport { ExternalToolResponseMapper } from './external-tool-response.mapper';\nimport { ToolContextType } from '../../common/enum';\n\nexport class ToolConfigurationMapper {\n\tstatic mapToSchoolExternalToolConfigurationTemplateResponse(\n\t\texternalTool: ExternalTool\n\t): SchoolExternalToolConfigurationTemplateResponse {\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToSchoolExternalToolConfigurationTemplateListResponse(\n\t\texternalTools: ExternalTool[]\n\t): SchoolExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = externalTools.map(\n\t\t\t(tool): SchoolExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToSchoolExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateResponse(\n\t\ttoolInfo: ContextExternalToolTemplateInfo\n\t): ContextExternalToolConfigurationTemplateResponse {\n\t\tconst { externalTool, schoolExternalTool } = toolInfo;\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tschoolExternalToolId: schoolExternalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateListResponse(\n\t\ttoolInfos: ContextExternalToolTemplateInfo[]\n\t): ContextExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = toolInfos.map(\n\t\t\t(tool): ContextExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToContextExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[]): ToolContextTypesListResponse {\n\t\tconst mappedTypes = new ToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mappedTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolContextController.html":{"url":"controllers/ToolContextController.html","title":"controller - ToolContextController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolContextController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts\n \n\n \n Prefix\n \n \n tools/context-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(currentUser: ICurrentUser, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The ContextExternalTool has been successfully created.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a ContextExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiNotFoundResponse()@ApiOkResponse({description: 'Returns a ContextExternalTool for the given id', type: ContextExternalToolResponse})@ApiOperation({summary: 'Searches a ContextExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOkResponse({description: 'Returns a list of ContextExternalTools for the given context', type: ContextExternalToolSearchListResponse})@ApiOperation({summary: 'Returns a list of ContextExternalTools for the given context'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put(':contextExternalToolId')@ApiOkResponse({description: 'The ContextExternalTool has been successfully updated.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiUnprocessableEntityResponse()@ApiOperation({summary: 'Updates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolRequestMapper, ContextExternalToolResponseMapper } from '../mapper';\nimport { ContextExternalToolUc } from '../uc';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tContextExternalToolPostParams,\n\tContextExternalToolResponse,\n\tContextExternalToolSearchListResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/context-external-tools')\nexport class ToolContextController {\n\tconstructor(private readonly contextExternalToolUc: ContextExternalToolUc, private readonly logger: LegacyLogger) {}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully created.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a ContextExternalTool' })\n\tasync createContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolUc.createContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(createdTool);\n\n\t\tthis.logger.debug(`ContextExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a ContextExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tawait this.contextExternalToolUc.deleteContextExternalTool(currentUser.userId, params.contextExternalToolId);\n\n\t\tthis.logger.debug(\n\t\t\t`ContextExternalTool with id ${params.contextExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Get(':contextType/:contextId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a list of ContextExternalTools for the given context',\n\t\ttype: ContextExternalToolSearchListResponse,\n\t})\n\t@ApiOperation({ summary: 'Returns a list of ContextExternalTools for the given context' })\n\tasync getContextExternalToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] =\n\t\t\tawait this.contextExternalToolUc.getContextExternalToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextType,\n\t\t\t\tparams.contextId\n\t\t\t);\n\n\t\tconst mappedTools: ContextExternalToolResponse[] = contextExternalTools.map(\n\t\t\t(tool: ContextExternalTool): ContextExternalToolResponse =>\n\t\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(tool)\n\t\t);\n\n\t\tthis.logger.debug(\n\t\t\t`User with id ${currentUser.userId} fetched ContextExternalTools for contextType: ${params.contextType} and contextId: ${params.contextId}`\n\t\t);\n\n\t\tconst response: ContextExternalToolSearchListResponse = new ContextExternalToolSearchListResponse(mappedTools);\n\t\treturn response;\n\t}\n\n\t@Get(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiNotFoundResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a ContextExternalTool for the given id',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiOperation({ summary: 'Searches a ContextExternalTool for the given id' })\n\tasync getContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolUc.getContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(contextExternalTool);\n\n\t\treturn response;\n\t}\n\n\t@Put(':contextExternalToolId')\n\t@ApiOkResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully updated.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiOperation({ summary: 'Updates a ContextExternalTool' })\n\tasync updateContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolUc.updateContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tparams.contextExternalToolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(updatedTool);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextMapper.html":{"url":"classes/ToolContextMapper.html","title":"class - ToolContextMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../enum';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ToolContextMapper {\n\tstatic contextMapping: Record = {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextTypesListResponse.html":{"url":"classes/ToolContextTypesListResponse.html","title":"class - ToolContextTypesListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextTypesListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolContextType[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolContextType[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ToolContextTypesListResponse {\n\t@ApiProperty({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\tdata: ToolContextType[];\n\n\tconstructor(data: ToolContextType[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolController.html":{"url":"controllers/ToolController.html","title":"controller - ToolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool.controller.ts\n \n\n \n Prefix\n \n \n tools/external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(currentUser: ICurrentUser, externalToolParams: ExternalToolCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The Tool has been successfully created.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':externalToolId')@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})@ApiOperation({summary: 'Deletes an ExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(currentUser: ICurrentUser, filterQuery: ExternalToolSearchParams, pagination: PaginationParams, sortingQuery: SortExternalToolParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'Tools has been found.', type: ExternalToolSearchListResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns a list of ExternalTools'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n filterQuery\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':externalToolId')@ApiOperation({summary: 'Returns an ExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n \n getExternalToolLogo(params: ExternalToolIdParams, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/logo')@ApiOperation({summary: 'Gets the logo of an external tool.'})@ApiOkResponse({description: 'Logo of external tool fetched successfully.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:163\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an external tool.'})@ApiOkResponse({description: 'Metadata of external tool fetched successfully.', type: ExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:179\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams, externalToolParams: ExternalToolUpdateParams)\n \n \n\n \n \n Decorators : \n \n @Post('/:externalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Query, Res } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { PaginationParams } from '@shared/controller';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Response } from 'express';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolMetadata } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\n\nimport { ExternalToolMetadataMapper, ExternalToolRequestMapper, ExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolLogoService } from '../service';\nimport { ExternalToolCreate, ExternalToolUc, ExternalToolUpdate } from '../uc';\nimport {\n\tExternalToolCreateParams,\n\tExternalToolIdParams,\n\tExternalToolMetadataResponse,\n\tExternalToolResponse,\n\tExternalToolSearchListResponse,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tSortExternalToolParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/external-tools')\nexport class ToolController {\n\tconstructor(\n\t\tprivate readonly externalToolUc: ExternalToolUc,\n\t\tprivate readonly externalToolDOMapper: ExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\t@Post()\n\t@ApiCreatedResponse({ description: 'The Tool has been successfully created.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates an ExternalTool' })\n\tasync createExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() externalToolParams: ExternalToolCreateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolCreate = this.externalToolDOMapper.mapCreateRequest(externalToolParams);\n\n\t\tconst created: ExternalTool = await this.externalToolUc.createExternalTool(currentUser.userId, externalTool);\n\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(created);\n\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'Tools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns a list of ExternalTools' })\n\tasync findExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() filterQuery: ExternalToolSearchParams,\n\t\t@Query() pagination: PaginationParams,\n\t\t@Query() sortingQuery: SortExternalToolParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = this.externalToolDOMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query: ExternalToolSearchQuery =\n\t\t\tthis.externalToolDOMapper.mapExternalToolFilterQueryToExternalToolSearchQuery(filterQuery);\n\n\t\tconst tools: Page = await this.externalToolUc.findExternalTool(currentUser.userId, query, options);\n\n\t\tconst dtoList: ExternalToolResponse[] = tools.data.map(\n\t\t\t(tool: ExternalTool): ExternalToolResponse => ExternalToolResponseMapper.mapToExternalToolResponse(tool)\n\t\t);\n\t\tconst response: ExternalToolSearchListResponse = new ExternalToolSearchListResponse(\n\t\t\tdtoList,\n\t\t\ttools.total,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get(':externalToolId')\n\t@ApiOperation({ summary: 'Returns an ExternalTool for the given id' })\n\tasync getExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolUc.getExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(externalTool);\n\n\t\treturn mapped;\n\t}\n\n\t@Post('/:externalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates an ExternalTool' })\n\tasync updateExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams,\n\t\t@Body() externalToolParams: ExternalToolUpdateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolUpdate = this.externalToolDOMapper.mapUpdateRequest(externalToolParams);\n\t\tconst updated: ExternalTool = await this.externalToolUc.updateExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId,\n\t\t\texternalTool\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(updated);\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Delete(':externalToolId')\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\t@ApiOperation({ summary: 'Deletes an ExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst promise: Promise = this.externalToolUc.deleteExternalTool(currentUser.userId, params.externalToolId);\n\t\tthis.logger.debug(\n\t\t\t`ExternalTool with id ${params.externalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\n\t\treturn promise;\n\t}\n\n\t@Get('/:externalToolId/logo')\n\t@ApiOperation({ summary: 'Gets the logo of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Logo of external tool fetched successfully.',\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getExternalToolLogo(@Param() params: ExternalToolIdParams, @Res() res: Response): Promise {\n\t\tconst externalToolLogo: ExternalToolLogo = await this.externalToolLogoService.getExternalToolBinaryLogo(\n\t\t\tparams.externalToolId\n\t\t);\n\t\tres.setHeader('Content-Type', externalToolLogo.contentType);\n\t\tres.setHeader('Cache-Control', 'must-revalidate');\n\t\tres.send(externalToolLogo.logo);\n\t}\n\n\t@Get('/:externalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of external tool fetched successfully.',\n\t\ttype: ExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalToolMetadata: ExternalToolMetadata = await this.externalToolUc.getMetadataForExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\n\t\tconst mapped: ExternalToolMetadataResponse =\n\t\t\tExternalToolMetadataMapper.mapToExternalToolMetadataResponse(externalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolLaunchController.html":{"url":"controllers/ToolLaunchController.html","title":"controller - ToolLaunchController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolLaunchController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(currentUser: ICurrentUser, params: ToolLaunchParams)\n \n \n\n \n \n Decorators : \n \n @Get('context/:contextExternalToolId/launch')@ApiOperation({summary: 'Get tool launch request for a context external tool id'})@ApiOkResponse({description: 'Tool launch request', type: ToolLaunchRequestResponse})@ApiUnauthorizedResponse({description: 'Unauthorized'})@ApiForbiddenResponse({description: 'Forbidden'})@ApiBadRequestResponse({description: 'Outdated tools cannot be launched'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiForbiddenResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchRequest } from '../types';\nimport { ToolLaunchUc } from '../uc';\nimport { ToolLaunchParams, ToolLaunchRequestResponse } from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolLaunchController {\n\tconstructor(private readonly toolLaunchUc: ToolLaunchUc) {}\n\n\t@Get('context/:contextExternalToolId/launch')\n\t@ApiOperation({ summary: 'Get tool launch request for a context external tool id' })\n\t@ApiOkResponse({ description: 'Tool launch request', type: ToolLaunchRequestResponse })\n\t@ApiUnauthorizedResponse({ description: 'Unauthorized' })\n\t@ApiForbiddenResponse({ description: 'Forbidden' })\n\t@ApiBadRequestResponse({ description: 'Outdated tools cannot be launched' })\n\tasync getToolLaunchRequest(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ToolLaunchParams\n\t): Promise {\n\t\tconst toolLaunchRequest: ToolLaunchRequest = await this.toolLaunchUc.getToolLaunchRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ToolLaunchRequestResponse = ToolLaunchMapper.mapToToolLaunchRequestResponse(toolLaunchRequest);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchData.html":{"url":"classes/ToolLaunchData.html","title":"class - ToolLaunchData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n openNewTab\n \n \n properties\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : PropertyData[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolLaunchDataType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyData } from './property-data';\nimport { ToolLaunchDataType } from './tool-launch-data-type';\n\nexport class ToolLaunchData {\n\tbaseUrl: string;\n\n\ttype: ToolLaunchDataType;\n\n\tproperties: PropertyData[];\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchData) {\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.type = props.type;\n\t\tthis.properties = props.properties;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchMapper.html":{"url":"classes/ToolLaunchMapper.html","title":"class - ToolLaunchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n Static\n mapToToolConfigType\n \n \n Static\n mapToToolLaunchDataType\n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n \n \n \n \n \n mapToParameterLocation(location: CustomParameterLocation)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n location\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PropertyLocation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolConfigType\n \n \n \n \n \n \n \n mapToToolConfigType(launchDataType: ToolLaunchDataType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n launchDataType\n \n ToolLaunchDataType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolConfigType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchDataType\n \n \n \n \n \n \n \n mapToToolLaunchDataType(configType: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configType\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchDataType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n \n \n \n mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchRequest\n \n ToolLaunchRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequestResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation, ToolLaunchDataType, ToolLaunchRequest } from '../types';\nimport { ToolLaunchRequestResponse } from '../controller/dto';\nimport { CustomParameterLocation, ToolConfigType } from '../../common/enum';\n\nconst customToParameterLocationMapping: Record = {\n\t[CustomParameterLocation.PATH]: PropertyLocation.PATH,\n\t[CustomParameterLocation.BODY]: PropertyLocation.BODY,\n\t[CustomParameterLocation.QUERY]: PropertyLocation.QUERY,\n};\n\nconst toolConfigTypeToToolLaunchDataTypeMapping: Record = {\n\t[ToolConfigType.BASIC]: ToolLaunchDataType.BASIC,\n\t[ToolConfigType.LTI11]: ToolLaunchDataType.LTI11,\n\t[ToolConfigType.OAUTH2]: ToolLaunchDataType.OAUTH2,\n};\n\nconst toolLaunchDataTypeToToolConfigTypeMapping: Record = {\n\t[ToolLaunchDataType.BASIC]: ToolConfigType.BASIC,\n\t[ToolLaunchDataType.LTI11]: ToolConfigType.LTI11,\n\t[ToolLaunchDataType.OAUTH2]: ToolConfigType.OAUTH2,\n};\n\nexport class ToolLaunchMapper {\n\tstatic mapToParameterLocation(location: CustomParameterLocation): PropertyLocation {\n\t\tconst mappedLocation = customToParameterLocationMapping[location];\n\t\treturn mappedLocation;\n\t}\n\n\tstatic mapToToolLaunchDataType(configType: ToolConfigType): ToolLaunchDataType {\n\t\tconst mappedType = toolConfigTypeToToolLaunchDataTypeMapping[configType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolConfigType(launchDataType: ToolLaunchDataType): ToolConfigType {\n\t\tconst mappedType = toolLaunchDataTypeToToolConfigTypeMapping[launchDataType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest): ToolLaunchRequestResponse {\n\t\tconst { method, url, payload, openNewTab } = toolLaunchRequest;\n\n\t\tconst response = new ToolLaunchRequestResponse({\n\t\t\tmethod,\n\t\t\turl,\n\t\t\tpayload,\n\t\t\topenNewTab,\n\t\t});\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolLaunchModule.html":{"url":"modules/ToolLaunchModule.html","title":"module - ToolLaunchModule","body":"\n \n\n\n\n\n Modules\n ToolLaunchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolLaunchModule\n\n\n\ncluster_ToolLaunchModule_imports\n\n\n\ncluster_ToolLaunchModule_providers\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 Async\n isToolStatusLatestOrThrow\n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, externalToolService: ExternalToolService, basicToolLaunchStrategy: BasicToolLaunchStrategy, lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy, oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n basicToolLaunchStrategy\n \n \n BasicToolLaunchStrategy\n \n \n \n No\n \n \n \n \n lti11ToolLaunchStrategy\n \n \n Lti11ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n oauth2ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateLaunchRequest\n \n \n \n \n \n \ngenerateLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLaunchData\n \n \n \n \n \n \n \n getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n \n \n \n \n \n isToolStatusLatestOrThrow(userId: EntityId, externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n \n \n \n loadToolHierarchy(schoolExternalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ToolConfigType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolVersionService } from '../../context-external-tool/service/tool-version-service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ToolStatusOutdatedLoggableException } from '../error';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\nimport {\n\tBasicToolLaunchStrategy,\n\tLti11ToolLaunchStrategy,\n\tOAuth2ToolLaunchStrategy,\n\tToolLaunchStrategy,\n} from './launch-strategy';\n\n@Injectable()\nexport class ToolLaunchService {\n\tprivate strategies: Map;\n\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly basicToolLaunchStrategy: BasicToolLaunchStrategy,\n\t\tprivate readonly lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy,\n\t\tprivate readonly oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {\n\t\tthis.strategies = new Map();\n\t\tthis.strategies.set(ToolConfigType.BASIC, basicToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.LTI11, lti11ToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.OAUTH2, oauth2ToolLaunchStrategy);\n\t}\n\n\tgenerateLaunchRequest(toolLaunchData: ToolLaunchData): ToolLaunchRequest {\n\t\tconst toolConfigType: ToolConfigType = ToolLaunchMapper.mapToToolConfigType(toolLaunchData.type);\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(toolConfigType);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool launch data type');\n\t\t}\n\n\t\tconst launchRequest: ToolLaunchRequest = strategy.createLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n\n\tasync getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalToolId: EntityId = contextExternalTool.schoolToolRef.schoolToolId;\n\n\t\tconst { externalTool, schoolExternalTool } = await this.loadToolHierarchy(schoolExternalToolId);\n\n\t\tawait this.isToolStatusLatestOrThrow(userId, externalTool, schoolExternalTool, contextExternalTool);\n\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(externalTool.config.type);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool config type');\n\t\t}\n\n\t\tconst launchData: ToolLaunchData = await strategy.createLaunchData(userId, {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool,\n\t\t});\n\n\t\treturn launchData;\n\t}\n\n\tprivate async loadToolHierarchy(\n\t\tschoolExternalToolId: string\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\treturn {\n\t\t\tschoolExternalTool,\n\t\t\texternalTool,\n\t\t};\n\t}\n\n\tprivate async isToolStatusLatestOrThrow(\n\t\tuserId: EntityId,\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tif (status.isOutdatedOnScopeSchool || status.isOutdatedOnScopeContext) {\n\t\t\tthrow new ToolStatusOutdatedLoggableException(\n\t\t\t\tuserId,\n\t\t\t\tcontextExternalTool.id ?? '',\n\t\t\t\tstatus.isOutdatedOnScopeSchool,\n\t\t\t\tstatus.isOutdatedOnScopeContext\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolLaunchStrategy.html":{"url":"interfaces/ToolLaunchStrategy.html","title":"interface - ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n \n \ncreateLaunchData(userId: EntityId, params: ToolLaunchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \ncreateLaunchRequest(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ToolLaunchData, ToolLaunchRequest } from '../../types';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\nexport interface ToolLaunchStrategy {\n\tcreateLaunchData(userId: EntityId, params: ToolLaunchParams): Promise;\n\n\tcreateLaunchRequest(toolLaunchDataDO: ToolLaunchData): ToolLaunchRequest;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchUc.html":{"url":"injectables/ToolLaunchUc.html","title":"injectable - ToolLaunchUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolLaunchService: ToolLaunchService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchService\n \n \n ToolLaunchService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { ToolLaunchService } from '../service';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\n\n@Injectable()\nexport class ToolLaunchUc {\n\tconstructor(\n\t\tprivate readonly toolLaunchService: ToolLaunchService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst toolLaunchData: ToolLaunchData = await this.toolLaunchService.getLaunchData(userId, contextExternalTool);\n\t\tconst launchRequest: ToolLaunchRequest = this.toolLaunchService.generateLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolModule.html":{"url":"modules/ToolModule.html","title":"module - ToolModule","body":"\n \n\n\n\n\n Modules\n ToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolModule\n\n\n\ncluster_ToolModule_imports\n\n\n\ncluster_ToolModule_exports\n\n\n\ncluster_ToolModule_providers\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\n\n\nToolModule\n\nToolModule\n\nToolModule -->\n\nContextExternalToolModule->ToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nToolModule -->\n\nExternalToolModule->ToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nToolModule -->\n\nSchoolExternalToolModule->ToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolModule -->\n\nToolConfigModule->ToolModule\n\n\n\n\n\nToolLaunchModule\n\nToolLaunchModule\n\nToolModule -->\n\nToolLaunchModule->ToolModule\n\n\n\n\n\nCommonToolService \n\nCommonToolService \n\nCommonToolService -->\n\nToolModule->CommonToolService \n\n\n\n\n\nContextExternalToolModule \n\nContextExternalToolModule \n\nContextExternalToolModule -->\n\nToolModule->ContextExternalToolModule \n\n\n\n\n\nExternalToolModule \n\nExternalToolModule \n\nExternalToolModule -->\n\nToolModule->ExternalToolModule \n\n\n\n\n\nSchoolExternalToolModule \n\nSchoolExternalToolModule \n\nSchoolExternalToolModule -->\n\nToolModule->SchoolExternalToolModule \n\n\n\n\n\nToolLaunchModule \n\nToolLaunchModule \n\nToolLaunchModule -->\n\nToolModule->ToolLaunchModule \n\n\n\n\n\nCommonToolService\n\nCommonToolService\n\nToolModule -->\n\nCommonToolService->ToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CommonToolService\n \n \n \n \n Imports\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n ToolLaunchModule\n \n \n \n \n Exports\n \n \n CommonToolService\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n SchoolExternalToolModule\n \n \n ToolLaunchModule\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport { ContextExternalToolModule } from './context-external-tool';\nimport { SchoolExternalToolModule } from './school-external-tool';\nimport { ExternalToolModule } from './external-tool';\nimport { CommonToolModule } from './common';\nimport { ToolLaunchModule } from './tool-launch';\nimport { CommonToolService } from './common/service';\nimport { ToolConfigModule } from './tool-config.module';\n\n@Module({\n\timports: [\n\t\tToolConfigModule,\n\t\tforwardRef(() => CommonToolModule),\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tToolLaunchModule,\n\t],\n\tproviders: [CommonToolService],\n\texports: [\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tToolLaunchModule,\n\t\t// TODO: remove this when reference loader is using service instead of repo\n\t\tCommonToolService,\n\t],\n})\nexport class ToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolPermissionHelper.html":{"url":"injectables/ToolPermissionHelper.html","title":"injectable - ToolPermissionHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolPermissionHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/uc/tool-permission-helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, schoolService: LegacySchoolService, courseService: CourseService, boardElementService: ContentElementService, boardService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n boardElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n boardService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, contextExternalTool: ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, schoolExternalTool: SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationService, ForbiddenLoggableException } from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { BoardDoAuthorizableService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { BoardDoAuthorizable, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ToolContextType } from '../enum';\n\n@Injectable()\nexport class ToolPermissionHelper {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService)) private readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\t// invalid dependency on this place it is in UC layer in a other module\n\t\t// loading of ressources should be part of service layer\n\t\t// if it must resolve different loadings based on the request it can be added in own service and use in UC\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly boardElementService: ContentElementService,\n\t\tprivate readonly boardService: BoardDoAuthorizableService\n\t) {}\n\n\t// TODO build interface to get contextDO by contextType\n\tpublic async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst authorizableUser = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkPermission(authorizableUser, contextExternalTool, context);\n\n\t\tif (contextExternalTool.contextRef.type === ToolContextType.COURSE) {\n\t\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\t\tconst course: Course = await this.courseService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, course, context);\n\t\t} else if (contextExternalTool.contextRef.type === ToolContextType.BOARD_ELEMENT) {\n\t\t\tconst boardElement = await this.boardElementService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tconst board: BoardDoAuthorizable = await this.boardService.getBoardAuthorizable(boardElement);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, board, context);\n\t\t} else {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\t}\n\n\tpublic async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\tconst [user, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolExternalTool.schoolId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReference.html":{"url":"classes/ToolReference.html","title":"class - ToolReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextToolId\n \n \n displayName\n \n \n Optional\n logoUrl\n \n \n openInNewTab\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReference: ToolReference)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n \n ToolReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\n\nexport class ToolReference {\n\tcontextToolId: string;\n\n\tlogoUrl?: string;\n\n\tdisplayName: string;\n\n\topenInNewTab: boolean;\n\n\tstatus: ContextExternalToolConfigurationStatus;\n\n\tconstructor(toolReference: ToolReference) {\n\t\tthis.contextToolId = toolReference.contextToolId;\n\t\tthis.logoUrl = toolReference.logoUrl;\n\t\tthis.displayName = toolReference.displayName;\n\t\tthis.openInNewTab = toolReference.openInNewTab;\n\t\tthis.status = toolReference.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolReferenceController.html":{"url":"controllers/ToolReferenceController.html","title":"controller - ToolReferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolReferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts\n \n\n \n Prefix\n \n \n tools/tool-references\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId')@ApiOperation({summary: 'Get ExternalTool Reference for a given context external tool'})@ApiOkResponse({description: 'The Tool Reference has been successfully fetched.', type: ToolReferenceResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:contextType/:contextId')@ApiOperation({summary: 'Get ExternalTool References for a given context'})@ApiOkResponse({description: 'The Tool References has been successfully fetched.', type: ToolReferenceListResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOkResponse, ApiOperation, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { ToolReference } from '../domain';\nimport { ContextExternalToolResponseMapper } from '../mapper';\nimport { ToolReferenceUc } from '../uc';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tToolReferenceListResponse,\n\tToolReferenceResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/tool-references')\nexport class ToolReferenceController {\n\tconstructor(private readonly toolReferenceUc: ToolReferenceUc) {}\n\n\t@Get('context-external-tools/:contextExternalToolId')\n\t@ApiOperation({ summary: 'Get ExternalTool Reference for a given context external tool' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool Reference has been successfully fetched.',\n\t\ttype: ToolReferenceResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReference(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst toolReference: ToolReference = await this.toolReferenceUc.getToolReference(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst toolReferenceResponse: ToolReferenceResponse =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponse(toolReference);\n\n\t\treturn toolReferenceResponse;\n\t}\n\n\t@Get('/:contextType/:contextId')\n\t@ApiOperation({ summary: 'Get ExternalTool References for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool References has been successfully fetched.',\n\t\ttype: ToolReferenceListResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReferencesForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst toolReferences: ToolReference[] = await this.toolReferenceUc.getToolReferencesForContext(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextType,\n\t\t\tparams.contextId\n\t\t);\n\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponses(toolReferences);\n\n\t\tconst toolReferenceListResponse: ToolReferenceListResponse = new ToolReferenceListResponse(toolReferenceResponses);\n\n\t\treturn toolReferenceListResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceListResponse.html":{"url":"classes/ToolReferenceListResponse.html","title":"class - ToolReferenceListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolReferenceResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolReferenceResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolReferenceResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolReferenceResponse } from './tool-reference.response';\n\nexport class ToolReferenceListResponse {\n\t@ApiProperty({ type: [ToolReferenceResponse] })\n\tdata: ToolReferenceResponse[];\n\n\tconstructor(data: ToolReferenceResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceMapper.html":{"url":"classes/ToolReferenceMapper.html","title":"class - ToolReferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n \n \n \n mapToToolReference(externalTool: ExternalTool, contextExternalTool: ContextExternalTool, status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReference\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ToolReferenceMapper {\n\tstatic mapToToolReference(\n\t\texternalTool: ExternalTool,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tstatus: ContextExternalToolConfigurationStatus\n\t): ToolReference {\n\t\tconst toolReference = new ToolReference({\n\t\t\tcontextToolId: contextExternalTool.id ?? '',\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tdisplayName: contextExternalTool.displayName ?? externalTool.name,\n\t\t\tstatus,\n\t\t\topenInNewTab: externalTool.openNewTab,\n\t\t});\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceResponse.html":{"url":"classes/ToolReferenceResponse.html","title":"class - ToolReferenceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n displayName\n \n \n \n Optional\n logoUrl\n \n \n \n openInNewTab\n \n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReferenceResponse: ToolReferenceResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferenceResponse\n \n \n ToolReferenceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The id of the tool in the context'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The display name of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({nullable: false, required: false, description: 'The url of the logo which is stored in the db'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'Whether the tool should be opened in a new tab'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: ContextExternalToolConfigurationStatusResponse, nullable: false, required: true, description: 'The status of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationStatusResponse } from '../../../common/controller/dto';\n\nexport class ToolReferenceResponse {\n\t@ApiProperty({ nullable: false, required: true, description: 'The id of the tool in the context' })\n\tcontextToolId: string;\n\n\t@ApiPropertyOptional({\n\t\tnullable: false,\n\t\trequired: false,\n\t\tdescription: 'The url of the logo which is stored in the db',\n\t})\n\tlogoUrl?: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'The display name of the tool' })\n\tdisplayName: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'Whether the tool should be opened in a new tab' })\n\topenInNewTab: boolean;\n\n\t@ApiProperty({\n\t\ttype: ContextExternalToolConfigurationStatusResponse,\n\t\tnullable: false,\n\t\trequired: true,\n\t\tdescription: 'The status of the tool',\n\t})\n\tstatus: ContextExternalToolConfigurationStatusResponse;\n\n\tconstructor(toolReferenceResponse: ToolReferenceResponse) {\n\t\tthis.contextToolId = toolReferenceResponse.contextToolId;\n\t\tthis.logoUrl = toolReferenceResponse.logoUrl;\n\t\tthis.displayName = toolReferenceResponse.displayName;\n\t\tthis.openInNewTab = toolReferenceResponse.openInNewTab;\n\t\tthis.status = toolReferenceResponse.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceService.html":{"url":"injectables/ToolReferenceService.html","title":"injectable - ToolReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, externalToolLogoService: ExternalToolLogoService, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolLogoService, ExternalToolService } from '../../external-tool/service';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ToolReference } from '../domain';\nimport { ToolReferenceMapper } from '../mapper';\nimport { ContextExternalToolService } from './context-external-tool.service';\nimport { ToolVersionService } from './tool-version-service';\n\n@Injectable()\nexport class ToolReferenceService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {}\n\n\tasync getToolReference(contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tconst toolReference: ToolReference = ToolReferenceMapper.mapToToolReference(\n\t\t\texternalTool,\n\t\t\tcontextExternalTool,\n\t\t\tstatus\n\t\t);\n\t\ttoolReference.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\texternalTool\n\t\t);\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceUc.html":{"url":"injectables/ToolReferenceUc.html","title":"injectable - ToolReferenceUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n Async\n getToolReference\n \n \n Async\n getToolReferencesForContext\n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, toolReferenceService: ToolReferenceService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolReferenceService\n \n \n ToolReferenceService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n \n \n \n \n \n ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(userId: EntityId, contextType: ToolContextType, contextId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n \n \n \n tryBuildToolReference(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool, ContextRef, ToolReference } from '../domain';\nimport { ContextExternalToolService, ToolReferenceService } from '../service';\n\n@Injectable()\nexport class ToolReferenceUc {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolReferenceService: ToolReferenceService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolReferencesForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: EntityId\n\t): Promise {\n\t\tconst contextRef = new ContextRef({ type: contextType, id: contextId });\n\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tcontextRef\n\t\t);\n\n\t\tconst toolReferencesPromises: Promise[] = contextExternalTools.map(\n\t\t\tasync (contextExternalTool: ContextExternalTool) => this.tryBuildToolReference(userId, contextExternalTool)\n\t\t);\n\n\t\tconst toolReferencesWithNull: (ToolReference | null)[] = await Promise.all(toolReferencesPromises);\n\t\tconst filteredToolReferences: ToolReference[] = toolReferencesWithNull.filter(\n\t\t\t(toolReference: ToolReference | null): toolReference is ToolReference => toolReference !== null\n\t\t);\n\n\t\treturn filteredToolReferences;\n\t}\n\n\tprivate async tryBuildToolReference(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\t\tcontextExternalTool.id as string\n\t\t\t);\n\n\t\t\treturn toolReference;\n\t\t} catch (e: unknown) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync getToolReference(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\tcontextExternalTool.id as string\n\t\t);\n\n\t\treturn toolReference;\n\t}\n\n\tprivate async ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tconst promise: Promise = this.toolPermissionHelper.ensureContextPermissions(\n\t\t\tuserId,\n\t\t\tcontextExternalTool,\n\t\t\tcontext\n\t\t);\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolSchoolController.html":{"url":"controllers/ToolSchoolController.html","title":"controller - ToolSchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolSchoolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts\n \n\n \n Prefix\n \n \n tools/school-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(currentUser: ICurrentUser, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The SchoolExternalTool has been successfully created.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a SchoolExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:schoolExternalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an school external tool.'})@ApiOkResponse({description: 'Metadata of school external tool fetched successfully.', type: SchoolExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a SchoolExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n getSchoolExternalTools(currentUser: ICurrentUser, schoolExternalToolParams: SchoolExternalToolSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a list of SchoolExternalTools for a given school'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n schoolExternalToolParams\n \n SchoolExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put('/:schoolExternalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiBadRequestResponse({type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolSearchListResponse } from '../../external-tool/controller/dto';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataMapper,\n\tSchoolExternalToolRequestMapper,\n\tSchoolExternalToolResponseMapper,\n} from '../mapper';\nimport { SchoolExternalToolUc } from '../uc';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport {\n\tSchoolExternalToolIdParams,\n\tSchoolExternalToolMetadataResponse,\n\tSchoolExternalToolPostParams,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n\tSchoolExternalToolSearchParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/school-external-tools')\nexport class ToolSchoolController {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolUc: SchoolExternalToolUc,\n\t\tprivate readonly responseMapper: SchoolExternalToolResponseMapper,\n\t\tprivate readonly requestMapper: SchoolExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a list of SchoolExternalTools for a given school' })\n\tasync getSchoolExternalTools(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() schoolExternalToolParams: SchoolExternalToolSearchParams\n\t): Promise {\n\t\tconst found: SchoolExternalTool[] = await this.schoolExternalToolUc.findSchoolExternalTools(currentUser.userId, {\n\t\t\tschoolId: schoolExternalToolParams.schoolId,\n\t\t});\n\t\tconst response: SchoolExternalToolSearchListResponse = this.responseMapper.mapToSearchListResponse(found);\n\t\treturn response;\n\t}\n\n\t@Get(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a SchoolExternalTool for the given id' })\n\tasync getSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolUc.getSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(schoolExternalTool);\n\t\treturn mapped;\n\t}\n\n\t@Put('/:schoolExternalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiBadRequestResponse({ type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates a SchoolExternalTool' })\n\tasync updateSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\t\tconst updated: SchoolExternalTool = await this.schoolExternalToolUc.updateSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(updated);\n\t\tthis.logger.debug(`SchoolExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\t\treturn mapped;\n\t}\n\n\t@Delete(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a SchoolExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tawait this.schoolExternalToolUc.deleteSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\t\tthis.logger.debug(\n\t\t\t`SchoolExternalTool with id ${params.schoolExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The SchoolExternalTool has been successfully created.',\n\t\ttype: SchoolExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a SchoolExternalTool' })\n\tasync createSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\n\t\tconst createdSchoolExternalToolDO: SchoolExternalTool = await this.schoolExternalToolUc.createSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst response: SchoolExternalToolResponse =\n\t\t\tthis.responseMapper.mapToSchoolExternalToolResponse(createdSchoolExternalToolDO);\n\n\t\tthis.logger.debug(`SchoolExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Get('/:schoolExternalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an school external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of school external tool fetched successfully.',\n\t\ttype: SchoolExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata =\n\t\t\tawait this.schoolExternalToolUc.getMetadataForSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\n\t\tconst mapped: SchoolExternalToolMetadataResponse =\n\t\t\tSchoolExternalToolMetadataMapper.mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusOutdatedLoggableException.html":{"url":"classes/ToolStatusOutdatedLoggableException.html","title":"class - ToolStatusOutdatedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusOutdatedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, toolId: EntityId, isOutdatedOnScopeSchool: boolean, isOutdatedOnScopeContext: boolean)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n toolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeSchool\n \n \n boolean\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeContext\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:15\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ToolStatusOutdatedLoggableException extends BadRequestException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly toolId: EntityId,\n\t\tprivate readonly isOutdatedOnScopeSchool: boolean,\n\t\tprivate readonly isOutdatedOnScopeContext: boolean\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'TOOL_STATUS_OUTDATED',\n\t\t\tmessage: 'The status of the tool is outdated and cannot be launched by the user.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttoolId: this.toolId,\n\t\t\t\tisOutdatedOnScopeSchool: this.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: this.isOutdatedOnScopeContext,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusResponseMapper.html":{"url":"classes/ToolStatusResponseMapper.html","title":"class - ToolStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatusResponse } from '../controller/dto';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\n\nexport class ToolStatusResponseMapper {\n\tstatic mapToResponse(status: ContextExternalToolConfigurationStatus): ContextExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatusResponse =\n\t\t\tnew ContextExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: status.isOutdatedOnScopeContext,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolVersion.html":{"url":"interfaces/ToolVersion.html","title":"interface - ToolVersion","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolVersion\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/tool-version.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/interface/tool-version.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n \n\n\n \n export interface ToolVersion {\n\tgetVersion(): number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolVersionService.html":{"url":"injectables/ToolVersionService.html","title":"injectable - ToolVersionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolVersionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolValidationService: ContextExternalToolValidationService, schoolExternalToolValidationService: SchoolExternalToolValidationService, commonToolService: CommonToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { CommonToolService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolValidationService } from '../../school-external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolValidationService } from './context-external-tool-validation.service';\n\n@Injectable()\nexport class ToolVersionService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly commonToolService: CommonToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\t// TODO N21-1337 remove if statement, when feature flag is removed\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\t\tisOutdatedOnScopeContext: false,\n\t\t\t\tisOutdatedOnScopeSchool: false,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\t}\n\n\t\t\treturn configurationStatus;\n\t\t}\n\t\tconst status: ContextExternalToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TriggerDeletionExecutionOptions.html":{"url":"interfaces/TriggerDeletionExecutionOptions.html","title":"interface - TriggerDeletionExecutionOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TriggerDeletionExecutionOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/interface/trigger-deletion-execution-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface TriggerDeletionExecutionOptions {\n\tlimit: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TriggerDeletionExecutionOptionsBuilder.html":{"url":"classes/TriggerDeletionExecutionOptionsBuilder.html","title":"class - TriggerDeletionExecutionOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TriggerDeletionExecutionOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion-console/builder/trigger-deletion-execution-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion-console/builder/trigger-deletion-execution-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TriggerDeletionExecutionOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TriggerDeletionExecutionOptions } from '../interface';\n\nexport class TriggerDeletionExecutionOptionsBuilder {\n\tstatic build(limit: number): TriggerDeletionExecutionOptions {\n\t\treturn { limit };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnauthorizedLoggableException.html":{"url":"classes/UnauthorizedLoggableException.html","title":"class - UnauthorizedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnauthorizedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnauthorizedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(username: string, systemId?: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnauthorizedException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\n\nexport class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n\tconstructor(private readonly username: string, private readonly systemId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'UNAUTHORIZED_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserName: this.username,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnknownQueryTypeLoggableException.html":{"url":"classes/UnknownQueryTypeLoggableException.html","title":"class - UnknownQueryTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnknownQueryTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(unknownQueryType: string)\n \n \n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n unknownQueryType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { InternalServerErrorException } from '@nestjs/common';\n\nexport class UnknownQueryTypeLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly unknownQueryType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tmessage: 'Unable to process unknown query type for class years.',\n\t\t\tdata: {\n\t\t\t\tunknownQueryType: this.unknownQueryType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateElementContentBodyParams.html":{"url":"classes/UpdateElementContentBodyParams.html","title":"class - UpdateElementContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateElementContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileElementContentBody | LinkElementContentBody | RichTextElementContentBody | SubmissionContainerElementContentBody | ExternalToolElementContentBody | DrawingElementContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {discriminator: undefined, keepDiscriminatorProperty: true})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:169\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateFlagParams.html":{"url":"classes/UpdateFlagParams.html","title":"class - UpdateFlagParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateFlagParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-flag.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates flag for an import user'})@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-flag.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateFlagParams {\n\t@ApiProperty({ description: 'updates flag for an import user' })\n\t@IsBoolean()\n\tflagged!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateMatchParams.html":{"url":"classes/UpdateMatchParams.html","title":"class - UpdateMatchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateMatchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-match.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates local user reference for an import user'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-match.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class UpdateMatchParams {\n\t@ApiProperty({ description: 'updates local user reference for an import user' })\n\t@IsMongoId()\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateNewsParams.html":{"url":"classes/UpdateNewsParams.html","title":"class - UpdateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/update-news.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating a news document.\nA PartialType is a halper which allows to extend an existing class by making all its properties optional.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n displayAt\n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)@ApiPropertyOptional({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()@ApiPropertyOptional({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml()@ApiPropertyOptional({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat } from '@shared/domain/types';\nimport { IsDate, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for Updating a news document.\n * A PartialType is a halper which allows to extend an existing class by making all its properties optional.\n */\nexport class UpdateNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5_SIMPLE)\n\t@ApiPropertyOptional({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsOptional()\n\t@IsDate()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt!: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateSubmissionItemBodyParams.html":{"url":"classes/UpdateSubmissionItemBodyParams.html","title":"class - UpdateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UrlHandler.html":{"url":"interfaces/UrlHandler.html","title":"interface - UrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n getMetaData\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMetaData\n \n \n \n \n \n \ngetMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { MetaData } from '../types';\n\nexport interface UrlHandler {\n\tdoesUrlMatch(url: string): boolean;\n\tgetMetaData(url: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/User.html":{"url":"entities/User.html","title":"entity - User","body":"\n \n\n\n\n\n\n\n\n Entities\n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n Optional\n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n emailSearchValues\n \n \n \n Optional\n externalId\n \n \n \n firstName\n \n \n \n Optional\n firstNameSearchValues\n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n Optional\n importHash\n \n \n \n Optional\n language\n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n lastName\n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n Optional\n ldapDn\n \n \n \n Optional\n outdatedSince\n \n \n \n Optional\n parents\n \n \n \n Optional\n preferences\n \n \n \n Optional\n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:84\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parents\n \n \n \n \n \n \n Type : UserParentsEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany({fieldName: 'roles', entity: () => Role})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAlreadyAssignedToImportUserError.html":{"url":"classes/UserAlreadyAssignedToImportUserError.html","title":"class - UserAlreadyAssignedToImportUserError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAlreadyAssignedToImportUserError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts:3\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from './business.error';\n\nexport class UserAlreadyAssignedToImportUserError extends BusinessError {\n\tconstructor() {\n\t\tsuper({\n\t\t\ttype: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\ttitle: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\tdefaultMessage:\n\t\t\t\t'The selected user already has been referenced to a different import user. Only one reference is allowed.',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserAndAccountParams.html":{"url":"interfaces/UserAndAccountParams.html","title":"interface - UserAndAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserAndAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n \n Extends\n \n \n UserParams\n AccountParams\n \n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAndAccountTestFactory.html":{"url":"classes/UserAndAccountTestFactory.html","title":"class - UserAndAccountTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAndAccountTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n Static\n buildAdmin\n \n \n Static\n buildStudent\n \n \n Static\n buildTeacher\n \n \n Private\n Static\n getUserParams\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n \n \n \n \n \n buildAccount(user: User, params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : Account\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildAdmin\n \n \n \n \n \n \n \n buildAdmin(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildStudent\n \n \n \n \n \n \n \n buildStudent(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildTeacher\n \n \n \n \n \n \n \n buildTeacher(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getUserParams\n \n \n \n \n \n \n \n getUserParams(params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserParams\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserApiModule.html":{"url":"modules/UserApiModule.html","title":"module - UserApiModule","body":"\n \n\n\n\n\n Modules\n UserApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserApiModule\n\n\n\ncluster_UserApiModule_providers\n\n\n\ncluster_UserApiModule_imports\n\n\n\n\nUserModule\n\nUserModule\n\n\n\nUserApiModule\n\nUserApiModule\n\nUserApiModule -->\n\nUserModule->UserApiModule\n\n\n\n\n\nUserUc\n\nUserUc\n\nUserApiModule -->\n\nUserUc->UserApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserUc\n \n \n \n \n Controllers\n \n \n UserController\n \n \n \n \n Imports\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserController } from './controller';\nimport { UserUc } from './uc';\nimport { UserModule } from './user.module';\n\n@Module({\n\timports: [UserModule],\n\tcontrollers: [UserController],\n\tproviders: [UserUc],\n})\nexport class UserApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserBoardRoles.html":{"url":"interfaces/UserBoardRoles.html","title":"interface - UserBoardRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserBoardRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n lastName\n \n \n \n \n roles\n \n \n \n \n userId\n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: BoardRoles[]\n\n \n \n\n\n \n \n Type : BoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n userRoleEnum: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserConfig.html":{"url":"interfaces/UserConfig.html","title":"interface - UserConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/interfaces/user-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface UserConfig {\n\tAVAILABLE_LANGUAGES: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserController.html":{"url":"controllers/UserController.html","title":"controller - UserController","body":"\n \n\n\n\n\n\n\n Controllers\n UserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/user.controller.ts\n \n\n \n Prefix\n \n \n user\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n Async\n me\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n \n \n \n \n changeLanguage(params: ChangeLanguageParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch('/language')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('me')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Patch } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ResolvedUserMapper } from '../mapper';\nimport { UserUc } from '../uc';\nimport { ChangeLanguageParams, ResolvedUserResponse, SuccessfulResponse } from './dto';\n\n@ApiTags('User')\n@Authenticate('jwt')\n@Controller('user')\nexport class UserController {\n\tconstructor(private readonly userUc: UserUc) {}\n\n\t@Get('me')\n\tasync me(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst [user, permissions] = await this.userUc.me(currentUser.userId);\n\n\t\t// only the root roles of the user get published\n\t\tconst resolvedUser = ResolvedUserMapper.mapToResponse(user, permissions, user.roles.getItems());\n\n\t\treturn resolvedUser;\n\t}\n\n\t@Patch('/language')\n\tasync changeLanguage(\n\t\t@Body() params: ChangeLanguageParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userUc.patchLanguage(currentUser.userId, params);\n\n\t\tconst successfulResponse = new SuccessfulResponse(result);\n\n\t\treturn successfulResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDO.html":{"url":"classes/UserDO.html","title":"class - UserDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n createdAt\n \n \n email\n \n \n Optional\n emailSearchValues\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n firstNameSearchValues\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n importHash\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n lastNameSearchValues\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n Optional\n previousExternalId\n \n \n roles\n \n \n schoolId\n \n \n Optional\n updatedAt\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: UserDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n UserDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : RoleReference[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\nimport { RoleReference } from './role-reference';\n\nexport class UserDO extends BaseDO {\n\tcreatedAt?: Date;\n\n\tupdatedAt?: Date;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troles: RoleReference[];\n\n\tschoolId: EntityId;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\timportHash?: string;\n\n\tfirstNameSearchValues?: string[];\n\n\tlastNameSearchValues?: string[];\n\n\temailSearchValues?: string[];\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\tpreferences?: Record;\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n\n\tpreviousExternalId?: string;\n\n\tbirthday?: Date;\n\n\tconstructor(domainObject: UserDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.createdAt = domainObject.createdAt;\n\t\tthis.updatedAt = domainObject.updatedAt;\n\t\tthis.email = domainObject.email;\n\t\tthis.firstName = domainObject.firstName;\n\t\tthis.lastName = domainObject.lastName;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.schoolId = domainObject.schoolId;\n\t\tthis.ldapDn = domainObject.ldapDn;\n\t\tthis.externalId = domainObject.externalId;\n\t\tthis.importHash = domainObject.importHash;\n\t\tthis.firstNameSearchValues = domainObject.firstNameSearchValues;\n\t\tthis.lastNameSearchValues = domainObject.lastNameSearchValues;\n\t\tthis.emailSearchValues = domainObject.emailSearchValues;\n\t\tthis.language = domainObject.language;\n\t\tthis.forcePasswordChange = domainObject.forcePasswordChange;\n\t\tthis.preferences = domainObject.preferences;\n\t\tthis.lastLoginSystemChange = domainObject.lastLoginSystemChange;\n\t\tthis.outdatedSince = domainObject.outdatedSince;\n\t\tthis.previousExternalId = domainObject.previousExternalId;\n\t\tthis.birthday = domainObject.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserDORepo.html":{"url":"injectables/UserDORepo.html","title":"injectable - UserDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user-do.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n Async\n find\n \n \n Async\n findByExternalId\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findByIdOrNull\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n populateRoles\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n \n \n \n \n \n createQueryOrderMap(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:127\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: User)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:93\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { UserQuery } from '@modules/user/service/user-query.type';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Page, RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, Pagination, SortOrder, SortOrderMap } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo, Scope } from '@shared/repo';\nimport { UserScope } from './user.scope';\n\n@Injectable()\nexport class UserDORepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn User;\n\t}\n\n\tasync find(query: UserQuery, options?: IFindOptions) {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = this.createQueryOrderMap(options?.order || {});\n\t\tconst scope: Scope = new UserScope()\n\t\t\t.bySchoolId(query.schoolId)\n\t\t\t.isOutdated(query.isOutdated)\n\t\t\t.whereLastLoginSystemChangeSmallerThan(query.lastLoginSystemChangeSmallerThan)\n\t\t\t.whereLastLoginSystemChangeIsBetween(\n\t\t\t\tquery.lastLoginSystemChangeBetweenStart,\n\t\t\t\tquery.lastLoginSystemChangeBetweenEnd\n\t\t\t)\n\t\t\t.withOutdatedSince(query.outdatedSince)\n\t\t\t.allowEmptyQuery(true);\n\n\t\torder._id = order._id ?? SortOrder.asc;\n\n\t\tconst [entities, total]: [User[], number] = await this._em.findAndCount(User, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst entityDos: UserDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst userEntity: User = await this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(userEntity, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(userEntity.roles.getItems());\n\t\t}\n\n\t\treturn this.mapEntityToDO(userEntity);\n\t}\n\n\tasync findByIdOrNull(id: EntityId, populate = false): Promise {\n\t\tconst user: User | null = await this._em.findOne(this.entityName, id as FilterQuery);\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\tconst domainObject: UserDO = this.mapEntityToDO(user);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst userDo: UserDO | null = await this.findByExternalId(externalId, systemId);\n\t\tif (userDo) {\n\t\t\treturn userDo;\n\t\t}\n\t\tthrow new EntityNotFoundError('User');\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst userEntitys: User[] = await this._em.find(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst userEntity: User | undefined = userEntitys.find((user: User): boolean => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && !!systems.getItems().find((system): boolean => system.id === systemId);\n\t\t});\n\n\t\tconst userDo: UserDO | null = userEntity ? this.mapEntityToDO(userEntity) : null;\n\t\treturn userDo;\n\t}\n\n\tmapEntityToDO(entity: User): UserDO {\n\t\tconst user: UserDO = new UserDO({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\troles: [],\n\t\t\tschoolId: entity.school.id,\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\timportHash: entity.importHash,\n\t\t\tfirstNameSearchValues: entity.firstNameSearchValues,\n\t\t\tlastNameSearchValues: entity.lastNameSearchValues,\n\t\t\temailSearchValues: entity.emailSearchValues,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tbirthday: entity.birthday,\n\t\t});\n\n\t\tif (entity.roles.isInitialized()) {\n\t\t\tuser.roles = entity.roles\n\t\t\t\t.getItems()\n\t\t\t\t.map((role: Role): RoleReference => new RoleReference({ id: role.id, name: role.name }));\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserDO): EntityData {\n\t\treturn {\n\t\t\temail: entityDO.email,\n\t\t\tfirstName: entityDO.firstName,\n\t\t\tlastName: entityDO.lastName,\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\troles: entityDO.roles.map((roleRef: RoleReference) => this._em.getReference(Role, roleRef.id)),\n\t\t\tldapDn: entityDO.ldapDn,\n\t\t\texternalId: entityDO.externalId,\n\t\t\tlanguage: entityDO.language,\n\t\t\tforcePasswordChange: entityDO.forcePasswordChange,\n\t\t\tpreferences: entityDO.preferences,\n\t\t\tlastLoginSystemChange: entityDO.lastLoginSystemChange,\n\t\t\toutdatedSince: entityDO.outdatedSince,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tbirthday: entityDO.birthday,\n\t\t};\n\t}\n\n\tprivate createQueryOrderMap(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserData.html":{"url":"interfaces/UserData.html","title":"interface - UserData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n user_id\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDataResponse.html":{"url":"classes/UserDataResponse.html","title":"class - UserDataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/user-data.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserDataResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserDataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class UserDataResponse {\n\tconstructor({ userId, firstName, lastName }: UserDataResponse) {\n\t\tthis.userId = userId;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty()\n\tuserId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDoFactory.html":{"url":"classes/UserDoFactory.html","title":"class - UserDoFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDoFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.do.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoles\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoles\n \n \n \n \n \n \nwithRoles(roles: literal type[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDO } from '@shared/domain/domainobject/user.do';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from './domainobject';\n\nclass UserDoFactory extends DoBaseFactory {\n\twithRoles(roles: { id: EntityId; name: RoleName }[]) {\n\t\tconst params: DeepPartial = {\n\t\t\troles,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userDoFactory = UserDoFactory.define(UserDO, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschoolId: new ObjectId().toString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDto.html":{"url":"classes/UserDto.html","title":"class - UserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/dto/user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n email\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n id\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n roleIds\n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: UserDto)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n UserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n roleIds\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport class UserDto {\n\tconstructor(user: UserDto) {\n\t\tthis.id = user.id;\n\t\tthis.email = user.email;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.roleIds = user.roleIds;\n\t\tthis.schoolId = user.schoolId;\n\t\tthis.ldapDn = user.ldapDn;\n\t\tthis.externalId = user.externalId;\n\t\tthis.language = user.language;\n\t\tthis.forcePasswordChange = user.forcePasswordChange;\n\t\tthis.preferences = user.preferences;\n\t\tthis.lastLoginSystemChange = user.lastLoginSystemChange;\n\t\tthis.outdatedSince = user.outdatedSince;\n\t}\n\n\tid?: EntityId;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troleIds: EntityId[] = [];\n\n\tschoolId: string;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\t// See user entity\n\tpreferences?: Record = {};\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserFactory.html":{"url":"classes/UserFactory.html","title":"class - UserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asAdmin\n \n \n asStudent\n \n \n asTeacher\n \n \n withRole\n \n \n withRoleByName\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asAdmin\n \n \n \n \n \n \nasAdmin(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asStudent\n \n \n \n \n \n \nasStudent(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asTeacher\n \n \n \n \n \n \nasTeacher(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(role: Role)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRoleByName\n \n \n \n \n \n \nwithRoleByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User, UserProperties } from '@shared/domain/entity';\nimport { Permission, RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport _ from 'lodash';\nimport { adminPermissions, studentPermissions, teacherPermissions, userPermissions } from '../user-role-permissions';\nimport { BaseFactory } from './base.factory';\nimport { roleFactory } from './role.factory';\nimport { schoolFactory } from './school.factory';\n\nclass UserFactory extends BaseFactory {\n\twithRoleByName(name: RoleName): this {\n\t\tconst params: DeepPartial = { roles: [roleFactory.buildWithId({ name })] };\n\n\t\treturn this.params(params);\n\t}\n\n\twithRole(role: Role): this {\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasStudent(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, studentPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.STUDENT });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasTeacher(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, teacherPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.TEACHER });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasAdmin(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, adminPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.ADMINISTRATOR });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userFactory = UserFactory.define(User, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserForGroupNotFoundLoggable.html":{"url":"classes/UserForGroupNotFoundLoggable.html","title":"class - UserForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupUser: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupUser\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupUserDto } from '../dto';\n\nexport class UserForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly groupUser: ExternalGroupUserDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.groupUser.externalUserId,\n\t\t\t\troleName: this.groupUser.roleName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroup.html":{"url":"interfaces/UserGroup.html","title":"interface - UserGroup","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group_id\n \n \n \n \n name\n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group_id\n \n \n \n \n \n \n \n \n group_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n student_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroups.html":{"url":"interfaces/UserGroups.html","title":"interface - UserGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoMapper.html":{"url":"classes/UserInfoMapper.html","title":"class - UserInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/user-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/user-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { UserInfoResponse } from '../controller/dto';\n\nexport class UserInfoMapper {\n\tstatic mapToResponse(user: User): UserInfoResponse {\n\t\tconst dto = new UserInfoResponse({\n\t\t\tid: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t});\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoResponse.html":{"url":"classes/UserInfoResponse.html","title":"class - UserInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/user-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n id\n \n \n \n Optional\n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'First name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the User entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Last name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserInfoResponse {\n\tconstructor({ id, firstName, lastName }: UserInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the User entity',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'First name of the user',\n\t})\n\tfirstName?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Last name of the user',\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{"url":"classes/UserLoginMigrationAlreadyClosedLoggableException.html","title":"class - UserLoginMigrationAlreadyClosedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationAlreadyClosedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(closedAt: Date, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n closedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationAlreadyClosedLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly closedAt: Date, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_ALREADY_CLOSED',\n\t\t\tmessage: 'Migration of school cannot be started or changed, because it is already closed.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tclosedAt: this.closedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationApiModule.html":{"url":"modules/UserLoginMigrationApiModule.html","title":"module - UserLoginMigrationApiModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationApiModule\n\n\n\ncluster_UserLoginMigrationApiModule_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\nRestartUserLoginMigrationUc\n\nRestartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nRestartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nStartUserLoginMigrationUc\n\nStartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nStartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nToggleUserLoginMigrationUc\n\nToggleUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nToggleUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nUserLoginMigrationUc\n\nUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CloseUserLoginMigrationUc\n \n \n RestartUserLoginMigrationUc\n \n \n StartUserLoginMigrationUc\n \n \n ToggleUserLoginMigrationUc\n \n \n UserLoginMigrationUc\n \n \n \n \n Controllers\n \n \n UserLoginMigrationController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n ProvisioningModule\n \n \n UserLoginMigrationModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { OauthModule } from '@modules/oauth';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { UserLoginMigrationController } from './controller/user-login-migration.controller';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationUc,\n} from './uc';\nimport { UserLoginMigrationModule } from './user-login-migration.module';\n\n@Module({\n\timports: [\n\t\tUserLoginMigrationModule,\n\t\tOauthModule,\n\t\tProvisioningModule,\n\t\tAuthenticationModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [\n\t\tUserLoginMigrationUc,\n\t\tStartUserLoginMigrationUc,\n\t\tRestartUserLoginMigrationUc,\n\t\tToggleUserLoginMigrationUc,\n\t\tCloseUserLoginMigrationUc,\n\t],\n\tcontrollers: [UserLoginMigrationController],\n})\nexport class UserLoginMigrationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserLoginMigrationController.html":{"url":"controllers/UserLoginMigrationController.html","title":"controller - UserLoginMigrationController","body":"\n \n\n\n\n\n\n\n Controllers\n UserLoginMigrationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts\n \n\n \n Prefix\n \n \n user-login-migrations\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('close')@HttpCode(HttpStatus.OK)@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. Restart is possible.', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. It cannot be restarted.', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiNotFoundResponse({description: 'User login migration does not exist', type: UserLoginMigrationNotFoundLoggableException})@ApiOkResponse({description: 'User login migration closed', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiNoContentResponse({description: 'User login migration was reverted'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(user: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('schools/:schoolId')@ApiForbiddenResponse()@ApiOkResponse({description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse})@ApiNotFoundResponse({description: 'Cannot find UserLoginMigration'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(user: ICurrentUser, params: UserLoginMigrationSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiForbiddenResponse()@ApiOperation({summary: 'Get UserLoginMigrations', description: 'Currently there can only be one migration for a user. Therefore only one migration is returned.'})@ApiOkResponse({description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse})@ApiInternalServerErrorResponse({description: 'Cannot find target system information.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n migrateUserLogin(jwt: string, currentUser: ICurrentUser, body: Oauth2MigrationParams)\n \n \n\n \n \n Decorators : \n \n @Post('migrate-to-oauth2')@ApiOkResponse({description: 'The User has been successfully migrated.', status: 200})@ApiInternalServerErrorResponse({description: 'The migration of the User was not possible.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:218\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n Oauth2MigrationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Put('restart')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(currentUser: ICurrentUser, body: UserLoginMigrationMandatoryParams)\n \n \n\n \n \n Decorators : \n \n @Put('mandatory')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiOkResponse({description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n UserLoginMigrationMandatoryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('start')@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'School has no official school number', type: SchoolNumberMissingLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser, JWT } from '@modules/authentication';\nimport { Body, Controller, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiInternalServerErrorResponse,\n\tApiNoContentResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../loggable';\nimport { UserLoginMigrationMapper } from '../mapper';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationQuery,\n\tUserLoginMigrationUc,\n} from '../uc';\nimport {\n\tUserLoginMigrationResponse,\n\tUserLoginMigrationSearchListResponse,\n\tUserLoginMigrationSearchParams,\n} from './dto';\nimport { Oauth2MigrationParams } from './dto/oauth2-migration.params';\nimport { SchoolIdParams } from './dto/request/school-id.params';\nimport { UserLoginMigrationMandatoryParams } from './dto/request/user-login-migration-mandatory.params';\n\n@ApiTags('UserLoginMigration')\n@Controller('user-login-migrations')\n@Authenticate('jwt')\nexport class UserLoginMigrationController {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationUc: UserLoginMigrationUc,\n\t\tprivate readonly startUserLoginMigrationUc: StartUserLoginMigrationUc,\n\t\tprivate readonly restartUserLoginMigrationUc: RestartUserLoginMigrationUc,\n\t\tprivate readonly toggleUserLoginMigrationUc: ToggleUserLoginMigrationUc,\n\t\tprivate readonly closeUserLoginMigrationUc: CloseUserLoginMigrationUc\n\t) {}\n\n\t@Get()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({\n\t\tsummary: 'Get UserLoginMigrations',\n\t\tdescription: 'Currently there can only be one migration for a user. Therefore only one migration is returned.',\n\t})\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse })\n\t@ApiInternalServerErrorResponse({ description: 'Cannot find target system information.' })\n\tasync getMigrations(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Query() params: UserLoginMigrationSearchParams\n\t): Promise {\n\t\tconst userLoginMigrationQuery: UserLoginMigrationQuery = UserLoginMigrationMapper.mapSearchParamsToQuery(params);\n\n\t\tconst migrationPage: Page = await this.userLoginMigrationUc.getMigrations(\n\t\t\tuser.userId,\n\t\t\tuserLoginMigrationQuery\n\t\t);\n\n\t\tconst migrationResponses: UserLoginMigrationResponse[] = migrationPage.data.map(\n\t\t\t(userLoginMigration: UserLoginMigrationDO) =>\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration)\n\t\t);\n\n\t\tconst response: UserLoginMigrationSearchListResponse = new UserLoginMigrationSearchListResponse(\n\t\t\tmigrationResponses,\n\t\t\tmigrationPage.total,\n\t\t\tundefined,\n\t\t\tundefined\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get('schools/:schoolId')\n\t@ApiForbiddenResponse()\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse })\n\t@ApiNotFoundResponse({ description: 'Cannot find UserLoginMigration' })\n\tasync findUserLoginMigrationBySchool(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationUc.findUserLoginMigrationBySchool(\n\t\t\tuser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst response: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\n\t\treturn response;\n\t}\n\n\t@Post('start')\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'School has no official school number',\n\t\ttype: SchoolNumberMissingLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiForbiddenResponse()\n\tasync startMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.startUserLoginMigrationUc.startMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('restart')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync restartMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.restartUserLoginMigrationUc.restartMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('mandatory')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync setMigrationMandatory(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: UserLoginMigrationMandatoryParams\n\t): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.toggleUserLoginMigrationUc.setMigrationMandatory(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tbody.mandatory\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Post('close')\n\t@HttpCode(HttpStatus.OK)\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. Restart is possible.',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. It cannot be restarted.',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration does not exist',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration closed', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiNoContentResponse({ description: 'User login migration was reverted' })\n\tasync closeMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | undefined = await this.closeUserLoginMigrationUc.closeMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tif (userLoginMigration) {\n\t\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\t\t\treturn migrationResponse;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t@Post('migrate-to-oauth2')\n\t@ApiOkResponse({ description: 'The User has been successfully migrated.', status: 200 })\n\t@ApiInternalServerErrorResponse({ description: 'The migration of the User was not possible.' })\n\tasync migrateUserLogin(\n\t\t@JWT() jwt: string,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: Oauth2MigrationParams\n\t): Promise {\n\t\tawait this.userLoginMigrationUc.migrate(jwt, currentUser.userId, body.systemId, body.code, body.redirectUri);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationDO.html":{"url":"classes/UserLoginMigrationDO.html","title":"class - UserLoginMigrationDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user-login-migration.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n closedAt\n \n \n Optional\n finishedAt\n \n \n Optional\n mandatorySince\n \n \n schoolId\n \n \n Optional\n sourceSystemId\n \n \n startedAt\n \n \n targetSystemId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '../types';\nimport { BaseDO } from './base.do';\n\nexport class UserLoginMigrationDO extends BaseDO {\n\tschoolId: EntityId;\n\n\tsourceSystemId?: EntityId;\n\n\ttargetSystemId: EntityId;\n\n\tmandatorySince?: Date;\n\n\tstartedAt: Date;\n\n\tclosedAt?: Date;\n\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationDO) {\n\t\tsuper(props.id);\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/UserLoginMigrationEntity.html":{"url":"entities/UserLoginMigrationEntity.html","title":"entity - UserLoginMigrationEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n UserLoginMigrationEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-login-migration.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n Optional\n mandatorySince\n \n \n \n school\n \n \n \n Optional\n sourceSystem\n \n \n \n startedAt\n \n \n \n targetSystem\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, school => school.userLoginMigration, {nullable: false, owner: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:18\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne, OneToOne, Property } from '@mikro-orm/core';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IUserLoginMigration = Readonly>;\n\n@Entity({ tableName: 'user-login-migrations' })\nexport class UserLoginMigrationEntity extends BaseEntityWithTimestamps {\n\t@OneToOne(() => SchoolEntity, (school) => school.userLoginMigration, { nullable: false, owner: true })\n\tschool: SchoolEntity;\n\n\t// undefined, if migrating from 'local'\n\t@ManyToOne(() => SystemEntity, { nullable: true })\n\tsourceSystem?: SystemEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\ttargetSystem: SystemEntity;\n\n\t@Property({ nullable: true })\n\tmandatorySince?: Date;\n\n\t@Property()\n\tstartedAt: Date;\n\n\t@Property({ nullable: true })\n\tclosedAt?: Date;\n\n\t@Property({ nullable: true })\n\tfinishedAt?: Date;\n\n\tconstructor(props: IUserLoginMigration) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.sourceSystem = props.sourceSystem;\n\t\tthis.targetSystem = props.targetSystem;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{"url":"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html","title":"class - UserLoginMigrationGracePeriodExpiredLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationGracePeriodExpiredLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationId: EntityId, finishedAt: Date)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n finishedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationGracePeriodExpiredLoggableException\n\textends UnprocessableEntityException\n\timplements Loggable\n{\n\tconstructor(private readonly userLoginMigrationId: EntityId, private readonly finishedAt: Date) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_GRACE_PERIOD_EXPIRED',\n\t\t\tmessage: 'The grace period after finishing the user login migration has expired. It cannot be restarted.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tfinishedAt: this.finishedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryLoggable.html":{"url":"classes/UserLoginMigrationMandatoryLoggable.html","title":"class - UserLoginMigrationMandatoryLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined, mandatory: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n mandatory\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationMandatoryLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly userLoginMigrationId: EntityId | undefined,\n\t\tprivate readonly mandatory: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator changed the requirement status of the user login migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tmandatory: this.mandatory,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryParams.html":{"url":"classes/UserLoginMigrationMandatoryParams.html","title":"class - UserLoginMigrationMandatoryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UserLoginMigrationMandatoryParams {\n\t@IsBoolean()\n\t@ApiProperty()\n\tmandatory!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMapper.html":{"url":"classes/UserLoginMigrationMapper.html","title":"class - UserLoginMigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n \n \n \n \n \n mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n searchParams\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n \n \n \n mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationResponse, UserLoginMigrationSearchParams } from '../controller/dto';\nimport { UserLoginMigrationQuery } from '../uc';\n\nexport class UserLoginMigrationMapper {\n\tstatic mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams): UserLoginMigrationQuery {\n\t\tconst query: UserLoginMigrationQuery = {\n\t\t\tuserId: searchParams.userId,\n\t\t};\n\n\t\treturn query;\n\t}\n\n\tstatic mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO): UserLoginMigrationResponse {\n\t\tconst response: UserLoginMigrationResponse = new UserLoginMigrationResponse({\n\t\t\tid: domainObject.id as string,\n\t\t\tsourceSystemId: domainObject.sourceSystemId,\n\t\t\ttargetSystemId: domainObject.targetSystemId,\n\t\t\tstartedAt: domainObject.startedAt,\n\t\t\tclosedAt: domainObject.closedAt,\n\t\t\tfinishedAt: domainObject.finishedAt,\n\t\t\tmandatorySince: domainObject.mandatorySince,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationModule.html":{"url":"modules/UserLoginMigrationModule.html","title":"module - UserLoginMigrationModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationModule\n\n\n\ncluster_UserLoginMigrationModule_imports\n\n\n\ncluster_UserLoginMigrationModule_exports\n\n\n\ncluster_UserLoginMigrationModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule -->\n\nAccountModule->UserLoginMigrationModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserLoginMigrationModule -->\n\nLegacySchoolModule->UserLoginMigrationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserLoginMigrationModule -->\n\nLoggerModule->UserLoginMigrationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nUserLoginMigrationModule -->\n\nSystemModule->UserLoginMigrationModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nUserLoginMigrationModule -->\n\nUserModule->UserLoginMigrationModule\n\n\n\n\n\nMigrationCheckService \n\nMigrationCheckService \n\nMigrationCheckService -->\n\nUserLoginMigrationModule->MigrationCheckService \n\n\n\n\n\nSchoolMigrationService \n\nSchoolMigrationService \n\nSchoolMigrationService -->\n\nUserLoginMigrationModule->SchoolMigrationService \n\n\n\n\n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService -->\n\nUserLoginMigrationModule->UserLoginMigrationRevertService \n\n\n\n\n\nUserLoginMigrationService \n\nUserLoginMigrationService \n\nUserLoginMigrationService -->\n\nUserLoginMigrationModule->UserLoginMigrationService \n\n\n\n\n\nUserMigrationService \n\nUserMigrationService \n\nUserMigrationService -->\n\nUserLoginMigrationModule->UserMigrationService \n\n\n\n\n\nMigrationCheckService\n\nMigrationCheckService\n\nUserLoginMigrationModule -->\n\nMigrationCheckService->UserLoginMigrationModule\n\n\n\n\n\nSchoolMigrationService\n\nSchoolMigrationService\n\nUserLoginMigrationModule -->\n\nSchoolMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRepo\n\nUserLoginMigrationRepo\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRepo->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRevertService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationService\n\nUserLoginMigrationService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserMigrationService\n\nUserMigrationService\n\nUserLoginMigrationModule -->\n\nUserMigrationService->UserLoginMigrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRepo\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport {\n\tMigrationCheckService,\n\tSchoolMigrationService,\n\tUserLoginMigrationRevertService,\n\tUserLoginMigrationService,\n\tUserMigrationService,\n} from './service';\n\n@Module({\n\timports: [UserModule, LegacySchoolModule, LoggerModule, AccountModule, SystemModule],\n\tproviders: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRepo,\n\t\tUserLoginMigrationRevertService,\n\t],\n\texports: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRevertService,\n\t],\n})\nexport class UserLoginMigrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationNotFoundLoggableException.html":{"url":"classes/UserLoginMigrationNotFoundLoggableException.html","title":"class - UserLoginMigrationNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_NOT_FOUND',\n\t\t\tmessage: 'Cannot find requested user login migration for school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserLoginMigrationQuery.html":{"url":"interfaces/UserLoginMigrationQuery.html","title":"interface - UserLoginMigrationQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserLoginMigrationQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/dto/user-login-migration-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface UserLoginMigrationQuery {\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRepo.html":{"url":"injectables/UserLoginMigrationRepo.html","title":"injectable - UserLoginMigrationRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserLoginMigrationDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:49\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: UserLoginMigrationEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:34\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n UserLoginMigrationEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:17\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity } from '@shared/domain/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n@Injectable()\nexport class UserLoginMigrationRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn UserLoginMigrationEntity;\n\t}\n\n\tasync findBySchoolId(schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationEntity | null = await this._em.findOne(UserLoginMigrationEntity, {\n\t\t\tschool: schoolId,\n\t\t});\n\n\t\tif (userLoginMigration) {\n\t\t\tconst userLoginMigrationDO = this.mapEntityToDO(userLoginMigration);\n\t\t\treturn userLoginMigrationDO;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tmapEntityToDO(entity: UserLoginMigrationEntity): UserLoginMigrationDO {\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tid: entity.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\tsourceSystemId: entity.sourceSystem?.id,\n\t\t\ttargetSystemId: entity.targetSystem.id,\n\t\t\tmandatorySince: entity.mandatorySince,\n\t\t\tstartedAt: entity.startedAt,\n\t\t\tclosedAt: entity.closedAt,\n\t\t\tfinishedAt: entity.finishedAt,\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserLoginMigrationDO): EntityData {\n\t\tconst userLoginMigrationProps: EntityData = {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\tsourceSystem: entityDO.sourceSystemId ? this._em.getReference(SystemEntity, entityDO.sourceSystemId) : undefined,\n\t\t\ttargetSystem: this._em.getReference(SystemEntity, entityDO.targetSystemId),\n\t\t\tmandatorySince: entityDO.mandatorySince,\n\t\t\tstartedAt: entityDO.startedAt,\n\t\t\tclosedAt: entityDO.closedAt,\n\t\t\tfinishedAt: entityDO.finishedAt,\n\t\t};\n\n\t\treturn userLoginMigrationProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationResponse.html":{"url":"classes/UserLoginMigrationResponse.html","title":"class - UserLoginMigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n id\n \n \n \n Optional\n mandatorySince\n \n \n \n Optional\n sourceSystemId\n \n \n \n startedAt\n \n \n \n targetSystemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed including the grace period'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was marked as required'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of the system which is the origin of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Date when the migration was started'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system which is the target of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserLoginMigrationResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of the system which is the origin of the migration',\n\t})\n\tsourceSystemId?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Id of the system which is the target of the migration',\n\t})\n\ttargetSystemId: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was marked as required',\n\t})\n\tmandatorySince?: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'Date when the migration was started',\n\t})\n\tstartedAt: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed',\n\t})\n\tclosedAt?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed including the grace period',\n\t})\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationResponse) {\n\t\tthis.id = props.id;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRevertService.html":{"url":"injectables/UserLoginMigrationRevertService.html","title":"injectable - UserLoginMigrationRevertService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRevertService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n \n \n \n revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { UserLoginMigrationService } from './user-login-migration.service';\n\n@Injectable()\nexport class UserLoginMigrationRevertService {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.schoolService.removeFeature(userLoginMigration.schoolId, SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\tawait this.userLoginMigrationService.deleteUserLoginMigration(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRule.html":{"url":"injectables/UserLoginMigrationRule.html","title":"injectable - UserLoginMigrationRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserLoginMigrationRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: UserLoginMigrationDO): boolean {\n\t\tconst isMatched: boolean = entity instanceof UserLoginMigrationDO;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\tuser.school.id === entity.schoolId;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchListResponse.html":{"url":"classes/UserLoginMigrationSearchListResponse.html","title":"class - UserLoginMigrationSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserLoginMigrationResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserLoginMigrationResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { UserLoginMigrationResponse } from './user-login-migration.response';\n\nexport class UserLoginMigrationSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [UserLoginMigrationResponse] })\n\tdata: UserLoginMigrationResponse[];\n\n\tconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchParams.html":{"url":"classes/UserLoginMigrationSearchParams.html","title":"class - UserLoginMigrationSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class UserLoginMigrationSearchParams {\n\t@ApiPropertyOptional()\n\t@IsString()\n\t@IsOptional()\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationService.html":{"url":"injectables/UserLoginMigrationService.html","title":"injectable - UserLoginMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n Public\n Async\n closeMigration\n \n \n Private\n Async\n createNewMigration\n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n Private\n enableOauthMigrationFeature\n \n \n Public\n Async\n findMigrationBySchool\n \n \n Public\n Async\n findMigrationByUser\n \n \n Private\n isGracePeriodExpired\n \n \n Public\n Async\n restartMigration\n \n \n Public\n Async\n setMigrationMandatory\n \n \n Public\n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo, schoolService: LegacySchoolService, systemService: LegacySystemService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n \n \n \n \n \n checkGracePeriod(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createNewMigration\n \n \n \n \n \n \n \n createNewMigration(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n \n \n \n \n \n deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:168\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n enableOauthMigrationFeature\n \n \n \n \n \n \n \n enableOauthMigrationFeature(schoolDo: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:134\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDo\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationBySchool\n \n \n \n \n \n \n \n findMigrationBySchool(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationByUser\n \n \n \n \n \n \n \n findMigrationByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGracePeriodExpired\n \n \n \n \n \n \n \n isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userLoginMigration: UserLoginMigrationDO, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { LegacySystemService, SystemDto } from '@modules/system';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport {\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class UserLoginMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly systemService: LegacySystemService\n\t) {}\n\n\tpublic async startMigration(schoolId: string): Promise {\n\t\tconst schoolDo: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = await this.createNewMigration(schoolDo);\n\n\t\tthis.enableOauthMigrationFeature(schoolDo);\n\t\tawait this.schoolService.save(schoolDo);\n\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigrationDO);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async restartMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (!userLoginMigration.closedAt || !userLoginMigration.finishedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tuserLoginMigration.closedAt = undefined;\n\t\tuserLoginMigration.finishedAt = undefined;\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n\n\tpublic async setMigrationMandatory(\n\t\tuserLoginMigration: UserLoginMigrationDO,\n\t\tmandatory: boolean\n\t): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\tif (mandatory) {\n\t\t\tuserLoginMigration.mandatorySince = userLoginMigration.mandatorySince ?? new Date();\n\t\t} else {\n\t\t\tuserLoginMigration.mandatorySince = undefined;\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async closeMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tawait this.schoolService.removeFeature(\n\t\t\tuserLoginMigration.schoolId,\n\t\t\tSchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION\n\t\t);\n\n\t\tconst now: Date = new Date();\n\t\tconst gracePeriodDuration: number = Configuration.get('MIGRATION_END_GRACE_PERIOD_MS') as number;\n\n\t\tuserLoginMigration.closedAt = now;\n\t\tuserLoginMigration.finishedAt = new Date(now.getTime() + gracePeriodDuration);\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate checkGracePeriod(userLoginMigration: UserLoginMigrationDO) {\n\t\tif (userLoginMigration.finishedAt && this.isGracePeriodExpired(userLoginMigration)) {\n\t\t\tthrow new UserLoginMigrationGracePeriodExpiredLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.finishedAt\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\tconst isGracePeriodExpired: boolean =\n\t\t\t!!userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime();\n\n\t\treturn isGracePeriodExpired;\n\t}\n\n\tprivate async createNewMigration(school: LegacySchoolDo): Promise {\n\t\tconst oauthSystems: SystemDto[] = await this.systemService.findByType(SystemTypeEnum.OAUTH);\n\t\tconst sanisSystem: SystemDto | undefined = oauthSystems.find((system: SystemDto) => system.alias === 'SANIS');\n\n\t\tif (!sanisSystem) {\n\t\t\tthrow new InternalServerErrorException('Cannot find SANIS system');\n\t\t}\n\n\t\tconst systemIds: EntityId[] =\n\t\t\tschool.systems?.filter((systemId: EntityId) => systemId !== (sanisSystem.id as string)) || [];\n\t\tconst sourceSystemId = systemIds[0];\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tschoolId: school.id as string,\n\t\t\ttargetSystemId: sanisSystem.id as string,\n\t\t\tsourceSystemId,\n\t\t\tstartedAt: new Date(),\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tprivate enableOauthMigrationFeature(schoolDo: LegacySchoolDo) {\n\t\tif (schoolDo.features && !schoolDo.features.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED)) {\n\t\t\tschoolDo.features.push(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\t} else {\n\t\t\tschoolDo.features = [SchoolFeatures.OAUTH_PROVISIONING_ENABLED];\n\t\t}\n\t}\n\n\tpublic async findMigrationBySchool(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async findMigrationByUser(userId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(userId);\n\t\tconst { schoolId } = userDO;\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.findMigrationBySchool(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst hasUserMigrated: boolean =\n\t\t\t!!userDO.lastLoginSystemChange && userDO.lastLoginSystemChange > userLoginMigration.startedAt;\n\n\t\tif (hasUserMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.userLoginMigrationRepo.delete(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationStartLoggable.html":{"url":"classes/UserLoginMigrationStartLoggable.html","title":"class - UserLoginMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationStartLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigrationId: EntityId | undefined) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationUc.html":{"url":"injectables/UserLoginMigrationUc.html","title":"injectable - UserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n Async\n getMigrations\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationService: UserMigrationService, userLoginMigrationService: UserLoginMigrationService, oauthService: OAuthService, provisioningService: ProvisioningService, schoolMigrationService: SchoolMigrationService, authenticationService: AuthenticationService, authorizationService: AuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationService\n \n \n UserMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(userId: EntityId, query: UserLoginMigrationQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n UserLoginMigrationQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: EntityId, targetSystemId: EntityId, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userJwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationService } from '@modules/authentication';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tExternalSchoolNumberMissingLoggableException,\n\tInvalidUserLoginMigrationLoggableException,\n\tSchoolMigrationSuccessfulLoggable,\n\tUserMigrationStartedLoggable,\n\tUserMigrationSuccessfulLoggable,\n} from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service';\nimport { UserLoginMigrationQuery } from './dto';\n\n@Injectable()\nexport class UserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userMigrationService: UserMigrationService,\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync getMigrations(userId: EntityId, query: UserLoginMigrationQuery): Promise> {\n\t\tlet page = new Page([], 0);\n\n\t\tif (query.userId) {\n\t\t\tif (userId !== query.userId) {\n\t\t\t\tthrow new ForbiddenException('Accessing migration status of another user is forbidden.');\n\t\t\t}\n\n\t\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\t\tquery.userId\n\t\t\t);\n\n\t\t\tif (userLoginMigration) {\n\t\t\t\tpage = new Page([userLoginMigration], 1);\n\t\t\t}\n\t\t}\n\n\t\treturn page;\n\t}\n\n\tasync findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new NotFoundLoggableException('UserLoginMigration', { schoolId });\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(user, userLoginMigration, {\n\t\t\trequiredPermissions: [Permission.USER_LOGIN_MIGRATION_ADMIN],\n\t\t\taction: Action.read,\n\t\t});\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync migrate(\n\t\tuserJwt: string,\n\t\tcurrentUserId: EntityId,\n\t\ttargetSystemId: EntityId,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\tcurrentUserId\n\t\t);\n\n\t\tif (!userLoginMigration || userLoginMigration.closedAt || userLoginMigration.targetSystemId !== targetSystemId) {\n\t\t\tthrow new InvalidUserLoginMigrationLoggableException(currentUserId, targetSystemId);\n\t\t}\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(targetSystemId, redirectUri, code);\n\n\t\tthis.logger.debug(new UserMigrationStartedLoggable(currentUserId, userLoginMigration));\n\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(\n\t\t\ttargetSystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken\n\t\t);\n\n\t\tif (data.externalSchool) {\n\t\t\tif (!data.externalSchool.officialSchoolNumber) {\n\t\t\t\tthrow new ExternalSchoolNumberMissingLoggableException(data.externalSchool.externalId);\n\t\t\t}\n\n\t\t\tconst schoolToMigrate: LegacySchoolDo | null = await this.schoolMigrationService.getSchoolForMigration(\n\t\t\t\tcurrentUserId,\n\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t);\n\n\t\t\tif (schoolToMigrate) {\n\t\t\t\tawait this.schoolMigrationService.migrateSchool(\n\t\t\t\t\tschoolToMigrate,\n\t\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\t\ttargetSystemId\n\t\t\t\t);\n\n\t\t\t\tthis.logger.debug(new SchoolMigrationSuccessfulLoggable(schoolToMigrate, userLoginMigration));\n\t\t\t}\n\t\t}\n\n\t\tawait this.userMigrationService.migrateUser(currentUserId, data.externalUser.externalId, targetSystemId);\n\n\t\tthis.logger.debug(new UserMigrationSuccessfulLoggable(currentUserId, userLoginMigration));\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMapper.html":{"url":"classes/UserMapper.html","title":"class - UserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDto } from '@modules/user/uc/dto/user.dto';\nimport { Role, User } from '@shared/domain/entity';\n\nexport class UserMapper {\n\tstatic mapFromEntityToDto(entity: User): UserDto {\n\t\treturn new UserDto({\n\t\t\tid: entity.id,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\tschoolId: entity.school.id,\n\t\t\troleIds: entity.roles.getItems().map((role: Role) => role.id),\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchListResponse.html":{"url":"classes/UserMatchListResponse.html","title":"class - UserMatchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:44\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserMatchResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserMatchResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:51\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchMapper.html":{"url":"classes/UserMatchMapper.html","title":"class - UserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/user-match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(query: FilterUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NameMatch\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, matchCreator?: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n matchCreator\n \n MatchCreator\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserMatchResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { StringValidator } from '@shared/common';\nimport { MatchCreator, User } from '@shared/domain/entity';\nimport { NameMatch } from '@shared/domain/types';\nimport { UserMatchResponse, UserRole } from '../controller/dto';\nimport { FilterUserParams } from '../controller/dto/filter-user.params';\nimport { ImportUserMatchMapper } from './match.mapper';\n\nexport class UserMatchMapper {\n\tstatic mapToDomain(query: FilterUserParams): NameMatch {\n\t\tconst scope: NameMatch = {};\n\t\tif (query.name) {\n\t\t\tif (StringValidator.isNotEmptyString(query.name, true)) {\n\t\t\t\tscope.name = query.name;\n\t\t\t} else {\n\t\t\t\tthrow Error('invalid name from query');\n\t\t\t}\n\t\t}\n\t\treturn scope;\n\t}\n\n\tstatic mapToResponse(user: User, matchCreator?: MatchCreator): UserMatchResponse {\n\t\tconst domainRoles = user.roles.getItems(true);\n\t\tconst domainRoleNames = domainRoles.map((role) => role.name);\n\t\tconst roleNames: UserRole[] = domainRoleNames\n\t\t\t.map((roleName) => {\n\t\t\t\tswitch (roleName) {\n\t\t\t\t\tcase 'teacher':\n\t\t\t\t\t\treturn UserRole.TEACHER;\n\t\t\t\t\tcase 'administrator':\n\t\t\t\t\t\treturn UserRole.ADMIN;\n\t\t\t\t\tcase 'student':\n\t\t\t\t\t\treturn UserRole.STUDENT;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((roleName) => roleName != null) as UserRole[];\n\t\tconst dto = new UserMatchResponse({\n\t\t\tuserId: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tloginName: user.email,\n\t\t\troleNames,\n\t\t});\n\t\tif (matchCreator != null) {\n\t\t\tconst matchedBy = ImportUserMatchMapper.mapMatchCreatorToResponse(matchCreator);\n\t\t\tdto.matchedBy = matchedBy;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchResponse.html":{"url":"classes/UserMatchResponse.html","title":"class - UserMatchResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n loginName\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserMatchResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserMatchResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'firstname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'lastname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'login name of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'match type: admin (manual) or auto (set, when names match exactly for a single user', enum: MatchType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'local user id'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserMetdata.html":{"url":"interfaces/UserMetdata.html","title":"interface - UserMetdata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserMetdata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, { pseudonym });\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 });\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, { 'contextRef.id': courseId });\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/UserMigrationDatabaseOperationFailedLoggableException.html","title":"class - UserMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:14\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class UserMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\tconstructor(private readonly userId: EntityId, private readonly operation: 'migration' | 'rollback', error: unknown) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationIsNotEnabled.html":{"url":"classes/UserMigrationIsNotEnabled.html","title":"class - UserMigrationIsNotEnabled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationIsNotEnabled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserMigrationIsNotEnabled implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Feature flag of user migration may be disable or the school is not an LDAP pilot',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserMigrationService.html":{"url":"injectables/UserMigrationService.html","title":"injectable - UserMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n Async\n migrateUser\n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, accountService: AccountService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(userDO: UserDO, externalUserId: string, account: AccountDto, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUser\n \n \n \n \n \n \n \n migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(currentUserId: EntityId, userDOCopy: UserDO, accountCopy: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userDOCopy\n \n UserDO\n \n\n \n No\n \n\n\n \n \n accountCopy\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserMigrationDatabaseOperationFailedLoggableException } from '../loggable';\n\n@Injectable()\nexport class UserMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(currentUserId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(currentUserId);\n\n\t\tconst userDOCopy: UserDO = new UserDO({ ...userDO });\n\t\tconst accountCopy: AccountDto = new AccountDto({ ...account });\n\n\t\ttry {\n\t\t\tawait this.doMigration(userDO, externalUserId, account, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(currentUserId, userDOCopy, accountCopy);\n\n\t\t\tthrow new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(\n\t\tuserDO: UserDO,\n\t\texternalUserId: string,\n\t\taccount: AccountDto,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tuserDO.previousExternalId = userDO.externalId;\n\t\tuserDO.externalId = externalUserId;\n\t\tuserDO.lastLoginSystemChange = new Date();\n\t\tawait this.userService.save(userDO);\n\n\t\taccount.systemId = targetSystemId;\n\t\tawait this.accountService.save(account);\n\t}\n\n\tprivate async tryRollbackMigration(\n\t\tcurrentUserId: EntityId,\n\t\tuserDOCopy: UserDO,\n\t\taccountCopy: AccountDto\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.userService.save(userDOCopy);\n\t\t\tawait this.accountService.save(accountCopy);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'rollback', error));\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationStartedLoggable.html":{"url":"classes/UserMigrationStartedLoggable.html","title":"class - UserMigrationStartedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationStartedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationStartedLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user started the user login migration.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationSuccessfulLoggable.html":{"url":"classes/UserMigrationSuccessfulLoggable.html","title":"class - UserMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserModule.html":{"url":"modules/UserModule.html","title":"module - UserModule","body":"\n \n\n\n\n\n Modules\n UserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserModule\n\n\n\ncluster_UserModule_imports\n\n\n\ncluster_UserModule_exports\n\n\n\ncluster_UserModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserModule\n\nUserModule\n\nUserModule -->\n\nAccountModule->UserModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserModule -->\n\nLegacySchoolModule->UserModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserModule -->\n\nLoggerModule->UserModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nUserModule -->\n\nRoleModule->UserModule\n\n\n\n\n\nUserRepo \n\nUserRepo \n\nUserRepo -->\n\nUserModule->UserRepo \n\n\n\n\n\nUserService \n\nUserService \n\nUserService -->\n\nUserModule->UserService \n\n\n\n\n\nUserDORepo\n\nUserDORepo\n\nUserModule -->\n\nUserDORepo->UserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nUserModule -->\n\nUserRepo->UserModule\n\n\n\n\n\nUserService\n\nUserService\n\nUserModule -->\n\nUserService->UserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserDORepo\n \n \n UserRepo\n \n \n UserService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n UserRepo\n \n \n UserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { RoleModule } from '@modules/role/role.module';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserService } from './service/user.service';\n\n@Module({\n\timports: [LegacySchoolModule, RoleModule, AccountModule, LoggerModule],\n\tproviders: [UserRepo, UserDORepo, UserService],\n\texports: [UserService, UserRepo],\n})\nexport class UserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserNotFoundAfterProvisioningLoggableException.html":{"url":"classes/UserNotFoundAfterProvisioningLoggableException.html","title":"class - UserNotFoundAfterProvisioningLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserNotFoundAfterProvisioningLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:17\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class UserNotFoundAfterProvisioningLoggableException extends OauthSsoErrorLoggableException implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalUserId: string,\n\t\tprivate readonly systemId: EntityId,\n\t\tprivate readonly officialSchoolNumber?: string\n\t) {\n\t\tsuper(\n\t\t\t'Unable to find user after provisioning. The feature for OAuth2 provisioning might be disabled for this school.',\n\t\t\t'sso_user_not_found_after_provisioning'\n\t\t);\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.externalUserId,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParams.html":{"url":"classes/UserParams.html","title":"class - UserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The user id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class UserParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The user id.', required: true, nullable: false })\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParentsEntity.html":{"url":"classes/UserParentsEntity.html","title":"class - UserParentsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParentsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n firstName\n \n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserParentsEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserParentsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserParentsEntityProps.html":{"url":"interfaces/UserParentsEntityProps.html","title":"interface - UserParentsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserParentsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserProperties.html":{"url":"interfaces/UserProperties.html","title":"interface - UserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n birthday\n \n \n \n Optional\n \n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n forcePasswordChange\n \n \n \n Optional\n \n language\n \n \n \n Optional\n \n lastLoginSystemChange\n \n \n \n \n lastName\n \n \n \n Optional\n \n ldapDn\n \n \n \n Optional\n \n outdatedSince\n \n \n \n Optional\n \n parents\n \n \n \n Optional\n \n preferences\n \n \n \n Optional\n \n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthday\n \n \n \n \n \n \n \n \n birthday: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n forcePasswordChange\n \n \n \n \n \n \n \n \n forcePasswordChange: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n \n \n language: LanguageType\n\n \n \n\n\n \n \n Type : LanguageType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastLoginSystemChange\n \n \n \n \n \n \n \n \n lastLoginSystemChange: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n outdatedSince\n \n \n \n \n \n \n \n \n outdatedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parents\n \n \n \n \n \n \n \n \n parents: UserParentsEntity[]\n\n \n \n\n\n \n \n Type : UserParentsEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n preferences\n \n \n \n \n \n \n \n \n preferences: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRepo.html":{"url":"injectables/UserRepo.html","title":"injectable - UserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findWithoutImportUser\n \n \n Async\n flush\n \n \n Async\n getParentEmailsFromUser\n \n \n Private\n Async\n populateRoles\n \n \n saveWithoutFlush\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findWithoutImportUser\n \n \n \n \n \n \n \n findWithoutImportUser(school: SchoolEntity, filters?: NameMatch, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:40\n \n \n\n\n \n \n used for importusers module to request users not referenced in importusers\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n filters\n \n NameMatch\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:165\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { QueryOrderMap, QueryOrderNumeric } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, NameMatch } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { MongoPatterns } from '../mongo.patterns';\n\n@Injectable()\nexport class UserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn User;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst user = await super.findById(id);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst [users] = await this._em.findAndCount(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst resultUser = users.find((user) => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && systems.getItems().find((system) => system.id === systemId);\n\t\t});\n\t\treturn resultUser ?? Promise.reject();\n\t}\n\n\t/**\n\t * used for importusers module to request users not referenced in importusers\n\t */\n\tasync findWithoutImportUser(\n\t\tschool: SchoolEntity,\n\t\tfilters?: NameMatch,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { _id: schoolId } = school;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\n\t\tconst existingMatch = { deletedAt: null };\n\t\tconst permittedMatch = { schoolId };\n\n\t\tconst queryFilterMatch: { $or?: unknown[] } = {};\n\t\tif (filters?.name && StringValidator.isNotEmptyString(filters.name, true)) {\n\t\t\tconst escapedName = filters.name.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t\t// TODO make db agnostic\n\t\t\tif (StringValidator.isNotEmptyString(escapedName, true)) {\n\t\t\t\tqueryFilterMatch.$or = [\n\t\t\t\t\t{\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlastName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tconst pipeline: unknown[] = [\n\t\t\t{ $match: existingMatch },\n\t\t\t{ $match: permittedMatch },\n\t\t\t{\n\t\t\t\t$lookup: {\n\t\t\t\t\tfrom: 'importusers',\n\t\t\t\t\tlocalField: '_id',\n\t\t\t\t\tforeignField: 'match_userId',\n\t\t\t\t\tas: 'importusers',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\timportusers: {\n\t\t\t\t\t\t$size: 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ $match: queryFilterMatch },\n\t\t\t{\n\t\t\t\t$project: {\n\t\t\t\t\timportusers: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst countPipeline = [...pipeline];\n\t\tcountPipeline.push({ $group: { _id: null, count: { $sum: 1 } } });\n\t\tconst total = (await this._em.aggregate(User, countPipeline)) as { count: number }[];\n\t\tconst count = total.length > 0 ? total[0].count : 0;\n\t\tconst { pagination, order } = options || {};\n\n\t\tif (order) {\n\t\t\tconst orderQuery: QueryOrderMap = {};\n\t\t\tif (order.firstName) {\n\t\t\t\tswitch (order.firstName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (order.lastName) {\n\t\t\t\tswitch (order.lastName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tpipeline.push({ $sort: orderQuery });\n\t\t}\n\n\t\tif (pagination?.skip) {\n\t\t\tpipeline.push({ $skip: pagination.skip });\n\t\t}\n\t\tif (pagination?.limit) {\n\t\t\tpipeline.push({ $limit: pagination.limit });\n\t\t}\n\n\t\tconst userDocuments = await this._em.aggregate(User, pipeline);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst users = userDocuments.map((userDocument) => this._em.map(User, userDocument));\n\t\tawait this._em.populate(users, ['roles']);\n\t\treturn [users, count];\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\t// find mail case-insensitive by regex\n\t\tconst promise: Promise = this._em.find(User, {\n\t\t\temail: new RegExp(`^${email.replace(/\\W/g, '\\\\$&')}$`, 'i'),\n\t\t});\n\t\treturn promise;\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this._em.nativeDelete(User, {\n\t\t\tid: userId,\n\t\t});\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst user = await this._em.findOneOrFail(User, { id: userId });\n\t\tconst parentsEmails = user.parents?.map((parent) => parent.email) ?? [];\n\n\t\treturn parentsEmails;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i {\n\t\tawait this._em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRule.html":{"url":"injectables/UserRule.html","title":"injectable - UserRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: User, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: User): boolean {\n\t\tconst isMatched = entity instanceof User;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: User, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tconst isOwner = user === entity;\n\n\t\treturn hasPermission || isOwner;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserScope.html":{"url":"classes/UserScope.html","title":"class - UserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n isOutdated\n \n \n whereLastLoginSystemChangeIsBetween\n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n withOutdatedSince\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isOutdated\n \n \n \n \n \n \nisOutdated(isOutdated?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isOutdated\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeIsBetween\n \n \n \n \n \n \nwhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n startDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n endDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n \n \n \n \nwhereLastLoginSystemChangeSmallerThan(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOutdatedSince\n \n \n \n \n \n \nwithOutdatedSince(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class UserScope extends Scope {\n\tisOutdated(isOutdated?: boolean): UserScope {\n\t\tif (isOutdated !== undefined) {\n\t\t\tthis.addQuery({ outdatedSince: { $exists: isOutdated } });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeSmallerThan(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ $or: [{ lastLoginSystemChange: { $lt: date } }, { lastLoginSystemChange: { $exists: false } }] });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date): UserScope {\n\t\tif (startDate && endDate) {\n\t\t\tthis.addQuery({\n\t\t\t\tlastLoginSystemChange: { $gte: startDate, $lt: endDate },\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t}\n\n\twithOutdatedSince(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ outdatedSince: { $eq: date } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId | undefined): UserScope {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserService.html":{"url":"injectables/UserService.html","title":"injectable - UserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/service/user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalId\n \n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Async\n findUsers\n \n \n Async\n getDisplayName\n \n \n Async\n getParentEmailsFromUser\n \n \n Async\n getResolvedUser\n \n \n Async\n getUser\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, userDORepo: UserDORepo, configService: ConfigService, roleService: RoleService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n userDORepo\n \n \n UserDORepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n \n \n \n \n \n checkAvailableLanguages(language: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n language\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | BadRequestException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUsers\n \n \n \n \n \n \n \n findUsers(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getDisplayName\n \n \n \n \n \n \n \n getDisplayName(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getResolvedUser\n \n \n \n \n \n \n \n getResolvedUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUser\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n getUser(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, newLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n newLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(users: UserDO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { CurrentUserMapper } from '@modules/authentication/mapper';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Page, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { UserConfig } from '../interfaces';\nimport { UserMapper } from '../mapper/user.mapper';\nimport { UserDto } from '../uc/dto/user.dto';\nimport { UserQuery } from './user-query.type';\n\n@Injectable()\nexport class UserService {\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly userDORepo: UserDORepo,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService\n\t) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\t/**\n\t * @deprecated use {@link UserService.findById} instead\n\t */\n\tasync getUser(id: string): Promise {\n\t\tconst userEntity = await this.userRepo.findById(id, true);\n\t\tconst userDto = UserMapper.mapFromEntityToDto(userEntity);\n\n\t\treturn userDto;\n\t}\n\n\tasync getResolvedUser(userId: EntityId): Promise {\n\t\tconst user: UserDO = await this.findById(userId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(userId);\n\n\t\tconst resolvedUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(account.id, user, account.systemId);\n\n\t\treturn resolvedUser;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst userDO = await this.userDORepo.findById(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tpublic async findByIdOrNull(id: string): Promise {\n\t\tconst userDO: UserDO | null = await this.userDORepo.findByIdOrNull(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tasync save(user: UserDO): Promise {\n\t\tconst savedUser: Promise = this.userDORepo.save(user);\n\n\t\treturn savedUser;\n\t}\n\n\tasync saveAll(users: UserDO[]): Promise {\n\t\tconst savedUsers: Promise = this.userDORepo.saveAll(users);\n\n\t\treturn savedUsers;\n\t}\n\n\tasync findUsers(query: UserQuery, options?: IFindOptions): Promise> {\n\t\tconst users: Page = await this.userDORepo.find(query, options);\n\n\t\treturn users;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: EntityId): Promise {\n\t\tconst user: Promise = this.userDORepo.findByExternalId(externalId, systemId);\n\n\t\treturn user;\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\tconst user: Promise = this.userRepo.findByEmail(email);\n\n\t\treturn user;\n\t}\n\n\tasync getDisplayName(user: UserDO): Promise {\n\t\tconst protectedRoles: RoleDto[] = await this.roleService.getProtectedRoles();\n\t\tconst isProtectedUser: boolean = user.roles.some(\n\t\t\t(roleRef: RoleReference): boolean =>\n\t\t\t\t!!protectedRoles.find((protectedRole: RoleDto): boolean => roleRef.id === protectedRole.id)\n\t\t);\n\n\t\tconst displayName: string = isProtectedUser ? user.lastName : `${user.firstName} ${user.lastName}`;\n\n\t\treturn displayName;\n\t}\n\n\tasync patchLanguage(userId: EntityId, newLanguage: LanguageType): Promise {\n\t\tthis.checkAvailableLanguages(newLanguage);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = newLanguage;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n\n\tprivate checkAvailableLanguages(language: LanguageType): void | BadRequestException {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(language)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this.userRepo.deleteUser(userId);\n\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst parentEmails = this.userRepo.getParentEmailsFromUser(userId);\n\n\t\treturn parentEmails;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserUc.html":{"url":"injectables/UserUc.html","title":"injectable - UserUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/user.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n \n \n \n \n \n checkAvaibleLanguages(settedLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n settedLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | Error\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, params: ChangeLanguageParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ChangeLanguageParams } from '../controller/dto';\nimport { UserConfig } from '../interfaces';\n\n@Injectable()\nexport class UserUc {\n\tconstructor(private readonly userRepo: UserRepo, private readonly configService: ConfigService) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\tprivate checkAvaibleLanguages(settedLanguage: LanguageType): void | Error {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(settedLanguage)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync patchLanguage(userId: EntityId, params: ChangeLanguageParams): Promise {\n\t\tthis.checkAvaibleLanguages(params.language);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = params.language;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UsersList.html":{"url":"classes/UsersList.html","title":"class - UsersList","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UsersList\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n firstName\n \n \n id\n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationError.html":{"url":"classes/ValidationError.html","title":"class - ValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ValidationError extends BusinessError {\n\tconstructor(readonly message: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\t\ttitle: 'Validation Error',\n\t\t\t\tdefaultMessage: message,\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorDetailResponse.html":{"url":"classes/ValidationErrorDetailResponse.html","title":"class - ValidationErrorDetailResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorDetailResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/validation-error-detail.response.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(field: string[], errors: string[])\n \n \n \n \n Defined in apps/server/src/core/error/dto/validation-error-detail.response.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n field\n \n \n string[]\n \n \n \n No\n \n \n \n \n errors\n \n \n string[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n export class ValidationErrorDetailResponse {\n\tconstructor(readonly field: string[], readonly errors: string[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorLoggableException.html":{"url":"classes/ValidationErrorLoggableException.html","title":"class - ValidationErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:11\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { ValidationError } from 'class-validator';\n\nexport class ValidationErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly validationErrors: ValidationError[]) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst validationErrorListObject: { [key: number]: string } = this.validationErrors.reduce(\n\t\t\t(accumulator, currentValue, currentIndex) => {\n\t\t\t\treturn {\n\t\t\t\t\t...accumulator,\n\t\t\t\t\t[currentIndex]: currentValue.toString(false, undefined, undefined, true),\n\t\t\t\t};\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\t...validationErrorListObject,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ValidationModule.html":{"url":"modules/ValidationModule.html","title":"module - ValidationModule","body":"\n \n\n\n\n\n Modules\n ValidationModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/validation/validation.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_PIPE } from '@nestjs/core';\nimport { GlobalValidationPipe } from './pipe/global-validation.pipe';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_PIPE,\n\t\t\tuseClass: GlobalValidationPipe,\n\t\t},\n\t],\n})\nexport class ValidationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/VideoConference.html":{"url":"entities/VideoConference.html","title":"entity - VideoConference","body":"\n \n\n\n\n\n\n\n\n Entities\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/video-conference.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:34\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport enum TargetModels {\n\tCOURSES = 'courses',\n\tEVENTS = 'events',\n}\n\nexport class VideoConferenceOptions {\n\teveryAttendeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptions) {\n\t\tthis.everyAttendeJoinsMuted = options.everyAttendeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport type IVideoConferenceProperties = Readonly>;\n\n// Preset options for opening a video conference\n@Entity({ tableName: 'videoconferences' })\n@Index({ properties: ['target', 'targetModel'] })\nexport class VideoConference extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\ttarget: string;\n\n\t@Property()\n\ttargetModel: TargetModels;\n\n\t@Property()\n\toptions: VideoConferenceOptions;\n\n\tconstructor(props: IVideoConferenceProperties) {\n\t\tsuper();\n\t\tthis.target = props.target;\n\t\tthis.targetModel = props.targetModel;\n\t\tthis.options = props.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConference-1.html":{"url":"classes/VideoConference-1.html","title":"class - VideoConference-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n permission\n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConference)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n \n \n \n \n Type : BBBResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBBaseResponse, BBBResponse } from '../../bbb';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConference {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\tbbbResponse?: BBBResponse;\n\n\tconstructor(dto: VideoConference) {\n\t\tthis.state = dto.state;\n\t\tthis.bbbResponse = dto.bbbResponse;\n\t\tthis.permission = dto.permission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceApiModule.html":{"url":"modules/VideoConferenceApiModule.html","title":"module - VideoConferenceApiModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceApiModule\n\n\n\ncluster_VideoConferenceApiModule_providers\n\n\n\ncluster_VideoConferenceApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule -->\n\nAuthorizationModule->VideoConferenceApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nVideoConferenceApiModule -->\n\nUserModule->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceModule\n\nVideoConferenceModule\n\nVideoConferenceApiModule -->\n\nVideoConferenceModule->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceCreateUc\n\nVideoConferenceCreateUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceCreateUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceEndUc\n\nVideoConferenceEndUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceEndUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceInfoUc\n\nVideoConferenceInfoUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceInfoUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceJoinUc\n\nVideoConferenceJoinUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceJoinUc->VideoConferenceApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n VideoConferenceCreateUc\n \n \n VideoConferenceEndUc\n \n \n VideoConferenceInfoUc\n \n \n VideoConferenceJoinUc\n \n \n \n \n Controllers\n \n \n VideoConferenceController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n UserModule\n \n \n VideoConferenceModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserModule } from '@modules/user';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { VideoConferenceController } from './controller';\nimport { VideoConferenceCreateUc, VideoConferenceJoinUc, VideoConferenceEndUc, VideoConferenceInfoUc } from './uc';\nimport { VideoConferenceModule } from './video-conference.module';\n\n@Module({\n\timports: [VideoConferenceModule, UserModule, AuthorizationModule],\n\tcontrollers: [VideoConferenceController],\n\tproviders: [VideoConferenceCreateUc, VideoConferenceJoinUc, VideoConferenceEndUc, VideoConferenceInfoUc],\n})\nexport class VideoConferenceApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceBaseResponse.html":{"url":"classes/VideoConferenceBaseResponse.html","title":"class - VideoConferenceBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceBaseResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceBaseResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceConfiguration.html":{"url":"classes/VideoConferenceConfiguration.html","title":"class - VideoConferenceConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n bbb\n \n \n Static\n videoConference\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n bbb\n \n \n \n \n \n \n Type : IBbbSettings\n\n \n \n \n \n Default value : {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n videoConference\n \n \n \n \n \n \n Type : IVideoConferenceSettings\n\n \n \n \n \n Default value : {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IBbbSettings } from './bbb';\nimport { IVideoConferenceSettings } from './interface';\n\nexport default class VideoConferenceConfiguration {\n\tstatic bbb: IBbbSettings = {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t};\n\n\tstatic videoConference: IVideoConferenceSettings = {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceController.html":{"url":"controllers/VideoConferenceController.html","title":"controller - VideoConferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference.controller.ts\n \n\n \n Prefix\n \n \n videoconference2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/end')@ApiOperation({summary: 'Ends a running video conference.', description: 'Use this endpoint to end a running video conference.'})@ApiResponse({status: undefined, description: 'Returns the status of the operation.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to end this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/info')@ApiOperation({summary: 'Returns information about a running video conference.', description: 'Use this endpoint to get information about a running video conference.'})@ApiResponse({status: undefined, description: 'Returns a list of information about a video conference.', type: VideoConferenceInfoResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/join')@ApiOperation({summary: 'Creates a join link for a video conference, if it has started.', description: 'Use this endpoint to get a link to join an existing video conference. The conference must be running.'})@ApiResponse({status: undefined, description: 'Returns the information for joining the conference.', type: VideoConferenceJoinResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to join this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n \n \n \n start(req: Request, currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Put(':scope/:scopeId/start')@ApiOperation({summary: 'Creates the video conference, if it has not started yet.', description: 'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.'})@ApiResponse({status: undefined, description: 'Video conference was created.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, HttpStatus, Param, Put, Req } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { InvalidOriginForLogoutUrlLoggableException } from '../error';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceMapper } from '../mapper/video-conference.mapper';\nimport { VideoConferenceCreateUc, VideoConferenceEndUc, VideoConferenceInfoUc, VideoConferenceJoinUc } from '../uc';\nimport { ScopeRef, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceScopeParams,\n} from './dto';\n\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference2')\nexport class VideoConferenceController {\n\tconstructor(\n\t\tprivate readonly videoConferenceCreateUc: VideoConferenceCreateUc,\n\t\tprivate readonly videoConferenceJoinUc: VideoConferenceJoinUc,\n\t\tprivate readonly videoConferenceEndUc: VideoConferenceEndUc,\n\t\tprivate readonly videoConferenceInfoUc: VideoConferenceInfoUc\n\t) {}\n\n\t@Put(':scope/:scopeId/start')\n\t@ApiOperation({\n\t\tsummary: 'Creates the video conference, if it has not started yet.',\n\t\tdescription:\n\t\t\t'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Video conference was created.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync start(\n\t\t@Req() req: Request,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tif (params.logoutUrl && new URL(params.logoutUrl).origin !== req.headers.origin) {\n\t\t\tthrow new InvalidOriginForLogoutUrlLoggableException(params.logoutUrl, req.headers.origin);\n\t\t}\n\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst videoConferenceOptions: VideoConferenceOptions = VideoConferenceMapper.toVideoConferenceOptions(params);\n\n\t\tawait this.videoConferenceCreateUc.createIfNotRunning(currentUser.userId, scopeRef, videoConferenceOptions);\n\t}\n\n\t@Get(':scope/:scopeId/join')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference, if it has started.',\n\t\tdescription:\n\t\t\t'Use this endpoint to get a link to join an existing video conference. The conference must be running.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the information for joining the conference.',\n\t\ttype: VideoConferenceJoinResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to join this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync join(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceJoinUc.join(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceJoinResponse = VideoConferenceMapper.toVideoConferenceJoinResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/info')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t\tdescription: 'Use this endpoint to get information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t\ttype: VideoConferenceInfoResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceInfoUc.getMeetingInfo(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceInfoResponse = VideoConferenceMapper.toVideoConferenceInfoResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/end')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t\tdescription: 'Use this endpoint to end a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the status of the operation.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to end this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync end(@CurrentUser() currentUser: ICurrentUser, @Param() scopeParams: VideoConferenceScopeParams): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\n\t\tawait this.videoConferenceEndUc.end(currentUser.userId, scopeRef);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceCreateParams.html":{"url":"classes/VideoConferenceCreateParams.html","title":"class - VideoConferenceCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.'})@IsUrl({require_tld: false})@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsOptional, IsUrl } from 'class-validator';\nimport { defaultVideoConferenceOptions } from '../../../interface';\n\nexport class VideoConferenceCreateParams {\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everyAttendeeJoinsMuted })\n\t@IsBoolean()\n\t@IsOptional()\n\teveryAttendeeJoinsMuted?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everybodyJoinsAsModerator })\n\t@IsBoolean()\n\t@IsOptional()\n\teverybodyJoinsAsModerator?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.moderatorMustApproveJoinRequests })\n\t@IsBoolean()\n\t@IsOptional()\n\tmoderatorMustApproveJoinRequests?: boolean;\n\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.',\n\t})\n\t@IsUrl({ require_tld: false })\n\t@IsOptional()\n\tlogoutUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceCreateUc.html":{"url":"injectables/VideoConferenceCreateUc.html","title":"injectable - VideoConferenceCreateUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceCreateUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n create\n \n \n Async\n createIfNotRunning\n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n Private\n throwIfNotModerator\n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n create\n \n \n \n \n \n \n \n create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIfNotRunning\n \n \n \n \n \n \n \n createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n \n \n \n \n \n prepareBBBCreateConfigBuilder(scope: ScopeRef, options: VideoConferenceOptions, scopeInfo: ScopeInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n scopeInfo\n \n ScopeInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n throwIfNotModerator\n \n \n \n \n \n \n \n throwIfNotModerator(role: BBBRole, errorMessage: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n errorMessage\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n \n \n \n verifyFeaturesEnabled(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tBBBBaseMeetingConfig,\n\tBBBCreateConfigBuilder,\n\tBBBMeetingInfoResponse,\n\tBBBResponse,\n\tBBBRole,\n\tBBBService,\n\tGuestPolicy,\n} from '../bbb';\nimport { ErrorStatus } from '../error/error-status.enum';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef } from './dto';\n\n@Injectable()\nexport class VideoConferenceCreateUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\tlet bbbMeetingInfoResponse: BBBResponse | undefined;\n\t\t// try and catch based on legacy behavior\n\t\ttry {\n\t\t\tbbbMeetingInfoResponse = await this.bbbService.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: scope.id }));\n\t\t} catch (e) {\n\t\t\tbbbMeetingInfoResponse = undefined;\n\t\t}\n\n\t\tif (bbbMeetingInfoResponse === undefined) {\n\t\t\tawait this.create(currentUserId, scope, options);\n\t\t}\n\t}\n\n\tprivate async create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.verifyFeaturesEnabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\t\tthis.throwIfNotModerator(bbbRole, 'You are not allowed to start the videoconference. Ask a moderator.');\n\n\t\tawait this.videoConferenceService.createOrUpdateVideoConferenceForScopeWithOptions(scope.id, scope.scope, options);\n\n\t\tconst configBuilder: BBBCreateConfigBuilder = this.prepareBBBCreateConfigBuilder(scope, options, scopeInfo);\n\n\t\tawait this.bbbService.create(configBuilder.build());\n\t}\n\n\tprivate prepareBBBCreateConfigBuilder(\n\t\tscope: ScopeRef,\n\t\toptions: VideoConferenceOptions,\n\t\tscopeInfo: ScopeInfo\n\t): BBBCreateConfigBuilder {\n\t\tconst configBuilder: BBBCreateConfigBuilder = new BBBCreateConfigBuilder({\n\t\t\tname: this.videoConferenceService.sanitizeString(scopeInfo.title),\n\t\t\tmeetingID: scope.id,\n\t\t}).withLogoutUrl(options.logoutUrl ?? scopeInfo.logoutUrl);\n\n\t\tif (options.moderatorMustApproveJoinRequests) {\n\t\t\tconfigBuilder.withGuestPolicy(GuestPolicy.ASK_MODERATOR);\n\t\t}\n\n\t\tif (options.everyAttendeeJoinsMuted) {\n\t\t\tconfigBuilder.withMuteOnStart(true);\n\t\t}\n\n\t\treturn configBuilder;\n\t}\n\n\tprivate async verifyFeaturesEnabled(schoolId: string): Promise {\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(schoolId);\n\t}\n\n\tprivate throwIfNotModerator(role: BBBRole, errorMessage: string) {\n\t\tif (role !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION, errorMessage);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceDO.html":{"url":"classes/VideoConferenceDO.html","title":"class - VideoConferenceDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/video-conference.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n target\n \n \n targetModel\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: VideoConferenceDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n VideoConferenceDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsDO\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface/video-conference-scope.enum';\nimport { BaseDO } from './base.do';\n\nexport class VideoConferenceOptionsDO {\n\teveryAttendeeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptionsDO) {\n\t\tthis.everyAttendeeJoinsMuted = options.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport class VideoConferenceDO extends BaseDO {\n\ttarget: string;\n\n\ttargetModel: VideoConferenceScope;\n\n\toptions: VideoConferenceOptionsDO;\n\n\tconstructor(domainObject: VideoConferenceDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.target = domainObject.target;\n\t\tthis.targetModel = domainObject.targetModel;\n\t\tthis.options = domainObject.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceDeprecatedController.html":{"url":"controllers/VideoConferenceDeprecatedController.html","title":"controller - VideoConferenceDeprecatedController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceDeprecatedController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts\n \n\n \n Prefix\n \n \n videoconference\n \n\n\n \n Description\n \n \n This controller is deprecated. Please use VideoConferenceController instead.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n createAndJoin(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post(':scope/:scopeId')@ApiOperation({summary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':scope/:scopeId')@ApiOperation({summary: 'Ends a running video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId')@ApiOperation({summary: 'Returns information about a running video conference.'})@ApiResponse({status: 200, type: DeprecatedVideoConferenceInfoResponse, description: 'Returns a list of information about a video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BBBBaseResponse } from '../bbb';\nimport { defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceResponseDeprecatedMapper } from '../mapper/vc-deprecated-response.mapper';\nimport { VideoConferenceDeprecatedUc } from '../uc';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\nimport { VideoConferenceCreateParams } from './dto';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tVideoConferenceBaseResponse,\n} from './dto/response/video-conference-deprecated.response';\n\n/**\n * This controller is deprecated. Please use {@link VideoConferenceController} instead.\n */\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference')\nexport class VideoConferenceDeprecatedController {\n\tconstructor(private readonly videoConferenceUc: VideoConferenceDeprecatedUc) {}\n\n\t@Post(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync createAndJoin(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tconst infoDto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\n\t\tif (infoDto.state !== VideoConferenceState.RUNNING) {\n\t\t\tawait this.videoConferenceUc.create(currentUser, scope, scopeId, {\n\t\t\t\teveryAttendeeJoinsMuted:\n\t\t\t\t\tparams.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\t\teverybodyJoinsAsModerator:\n\t\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\t});\n\t\t}\n\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceUc.join(currentUser, scope, scopeId);\n\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToJoinResponse(dto);\n\t}\n\n\t@Get(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeprecatedVideoConferenceInfoResponse,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToInfoResponse(dto);\n\t}\n\n\t@Delete(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync end(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConference = await this.videoConferenceUc.end(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToBaseResponse(dto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceEndUc.html":{"url":"injectables/VideoConferenceEndUc.html","title":"injectable - VideoConferenceEndUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceEndUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n end\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBBaseResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConference, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceEndUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync end(currentUserId: EntityId, scope: ScopeRef): Promise> {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst userId: string = user.id as string;\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(userId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(userId, scopeInfo.scopeId, scope.scope);\n\n\t\tif (bbbRole !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION);\n\t\t}\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst bbbResponse: BBBResponse = await this.bbbService.end(config);\n\n\t\tconst videoConference = new VideoConference({\n\t\t\tstate: VideoConferenceState.FINISHED,\n\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\tbbbResponse,\n\t\t});\n\t\treturn videoConference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfo.html":{"url":"classes/VideoConferenceInfo.html","title":"class - VideoConferenceInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts\n \n\n\n\n \n Extends\n \n \n VideoConference\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceInfo)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:31\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:34\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConference } from './video-conference';\nimport { BBBMeetingInfoResponse } from '../../bbb';\nimport { VideoConferenceOptions } from '../../interface';\n\nexport class VideoConferenceInfo extends VideoConference {\n\toptions: VideoConferenceOptions;\n\n\tconstructor(dto: VideoConferenceInfo) {\n\t\tsuper(dto);\n\t\tthis.options = dto.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfoResponse.html":{"url":"classes/VideoConferenceInfoResponse.html","title":"class - VideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The options for the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: VideoConferenceStateResponse, enumName: 'VideoConferenceStateResponse', description: 'The state of the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceOptionsResponse } from './video-conference-options.response';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\nexport class VideoConferenceInfoResponse {\n\t@ApiProperty({\n\t\tenum: VideoConferenceStateResponse,\n\t\tenumName: 'VideoConferenceStateResponse',\n\t\tdescription: 'The state of the video conference.',\n\t})\n\tstate: VideoConferenceStateResponse;\n\n\t@ApiProperty({ description: 'The options for the video conference.' })\n\toptions: VideoConferenceOptionsResponse;\n\n\tconstructor(resp: VideoConferenceInfoResponse) {\n\t\tthis.state = resp.state;\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceInfoUc.html":{"url":"injectables/VideoConferenceInfoUc.html","title":"injectable - VideoConferenceInfoUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceInfoUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n \n \n \n \n \n getMeetingInfo(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n \n \n \n getVideoConferenceOptions(scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO, VideoConferenceOptionsDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBMeetingInfoResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { defaultVideoConferenceOptions, VideoConferenceOptions } from '../interface';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConferenceInfo, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceInfoUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync getMeetingInfo(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst options: VideoConferenceOptionsDO = await this.getVideoConferenceOptions(scope);\n\n\t\tlet response: VideoConferenceInfo;\n\t\ttry {\n\t\t\tconst bbbResponse: BBBResponse = await this.bbbService.getMeetingInfo(config);\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\tbbbResponse,\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t} catch {\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.NOT_STARTED,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t}\n\n\t\tconst isGuest: boolean = await this.videoConferenceService.hasExpertRole(\n\t\t\tcurrentUserId,\n\t\t\tscope.scope,\n\t\t\tscopeInfo.scopeId\n\t\t);\n\n\t\tif (!this.videoConferenceService.canGuestJoin(isGuest, response.state, options.moderatorMustApproveJoinRequests)) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate async getVideoConferenceOptions(scope: ScopeRef): Promise {\n\t\tlet options: VideoConferenceOptionsDO;\n\t\ttry {\n\t\t\tconst vcDO: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\t\tscope.id,\n\t\t\t\tscope.scope\n\t\t\t);\n\t\t\toptions = vcDO.options;\n\t\t} catch {\n\t\t\toptions = defaultVideoConferenceOptions;\n\t\t}\n\t\treturn options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoin.html":{"url":"classes/VideoConferenceJoin.html","title":"class - VideoConferenceJoin","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoin\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceJoin)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceJoin\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConferenceJoin {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\turl: string;\n\n\tconstructor(dto: VideoConferenceJoin) {\n\t\tthis.state = dto.state;\n\t\tthis.permission = dto.permission;\n\t\tthis.url = dto.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoinResponse.html":{"url":"classes/VideoConferenceJoinResponse.html","title":"class - VideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL to join the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class VideoConferenceJoinResponse {\n\t@ApiProperty({ description: 'The URL to join the video conference.' })\n\turl: string;\n\n\tconstructor(resp: VideoConferenceJoinResponse) {\n\t\tthis.url = resp.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceJoinUc.html":{"url":"injectables/VideoConferenceJoinUc.html","title":"injectable - VideoConferenceJoinUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceJoinUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n join\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBJoinConfigBuilder, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeRef, VideoConferenceJoin, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceJoinUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync join(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst { role, isGuest } = await this.videoConferenceService.getUserRoleAndGuestStatusByUserIdForBbb(\n\t\t\tcurrentUserId,\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst joinBuilder: BBBJoinConfigBuilder = new BBBJoinConfigBuilder({\n\t\t\tfullName: this.videoConferenceService.sanitizeString(`${user.firstName} ${user.lastName}`),\n\t\t\tmeetingID: scope.id,\n\t\t\trole,\n\t\t})\n\t\t\t.withUserId(currentUserId)\n\t\t\t.asGuest(isGuest);\n\n\t\tconst videoConference: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tif (videoConference.options.everybodyJoinsAsModerator && !isGuest) {\n\t\t\tjoinBuilder.withRole(BBBRole.MODERATOR);\n\t\t}\n\n\t\tif (\n\t\t\tvideoConference.options.moderatorMustApproveJoinRequests &&\n\t\t\t!videoConference.options.everybodyJoinsAsModerator\n\t\t) {\n\t\t\tjoinBuilder.asGuest(true);\n\t\t}\n\n\t\tif (!videoConference.options.moderatorMustApproveJoinRequests && isGuest) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\tErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE,\n\t\t\t\t'Guests cannot join this conference, since the waiting room is not enabled.'\n\t\t\t);\n\t\t}\n\n\t\tconst url: string = await this.bbbService.join(joinBuilder.build());\n\n\t\tconst videoConferenceJoin: VideoConferenceJoin = new VideoConferenceJoin({\n\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\tpermission: PermissionMapping[role],\n\t\t\turl,\n\t\t});\n\t\treturn videoConferenceJoin;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceMapper.html":{"url":"classes/VideoConferenceMapper.html","title":"class - VideoConferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n Static\n toVideoConferenceJoinResponse\n \n \n Static\n toVideoConferenceOptions\n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n \n \n \n \n \n toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceInfo\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceJoinResponse\n \n \n \n \n \n \n \n toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceJoin\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceOptions\n \n \n \n \n \n \n \n toVideoConferenceOptions(params: VideoConferenceCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n \n \n \n toVideoConferenceStateResponse(state: VideoConferenceState)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n VideoConferenceState\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceStateResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBRole } from '../bbb';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceStateResponse,\n} from '../controller/dto';\nimport { VideoConferenceOptionsResponse } from '../controller/dto/response/video-conference-options.response';\nimport { VideoConferenceOptions, defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\n\nexport const PermissionMapping = {\n\t[BBBRole.MODERATOR]: Permission.START_MEETING,\n\t[BBBRole.VIEWER]: Permission.JOIN_MEETING,\n};\n\nconst stateMapping = {\n\t[VideoConferenceState.NOT_STARTED]: VideoConferenceStateResponse.NOT_STARTED,\n\t[VideoConferenceState.RUNNING]: VideoConferenceStateResponse.RUNNING,\n\t[VideoConferenceState.FINISHED]: VideoConferenceStateResponse.FINISHED,\n};\n\nexport class VideoConferenceMapper {\n\tstatic toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo): VideoConferenceInfoResponse {\n\t\treturn new VideoConferenceInfoResponse({\n\t\t\tstate: this.toVideoConferenceStateResponse(videoConferenceInfo.state),\n\t\t\toptions: new VideoConferenceOptionsResponse(videoConferenceInfo.options),\n\t\t});\n\t}\n\n\tstatic toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin): VideoConferenceJoinResponse {\n\t\treturn new VideoConferenceJoinResponse({\n\t\t\turl: videoConferenceJoin.url,\n\t\t});\n\t}\n\n\tstatic toVideoConferenceStateResponse(state: VideoConferenceState): VideoConferenceStateResponse {\n\t\treturn stateMapping[state];\n\t}\n\n\tstatic toVideoConferenceOptions(params: VideoConferenceCreateParams): VideoConferenceOptions {\n\t\treturn {\n\t\t\teveryAttendeeJoinsMuted: params.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\teverybodyJoinsAsModerator:\n\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\tlogoutUrl: params.logoutUrl,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceModule.html":{"url":"modules/VideoConferenceModule.html","title":"module - VideoConferenceModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceModule\n\n\n\ncluster_VideoConferenceModule_exports\n\n\n\ncluster_VideoConferenceModule_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 Async\n findByScopeAndScopeId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n remapProtectedEntityFields\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByScopeAndScopeId\n \n \n \n \n \n \n \n findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n videoConferenceScope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: VideoConferenceDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n VideoConferenceDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: VideoConference)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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 remapProtectedEntityFields\n \n \n \n \n \n \n \n remapProtectedEntityFields(domainObject: DO, persistedEntity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n persistedEntity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:92\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, Loaded } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { VideoConferenceDO } from '@shared/domain/domainobject';\nimport { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\nconst TargetModelsMapping = {\n\t[VideoConferenceScope.EVENT]: TargetModels.EVENTS,\n\t[VideoConferenceScope.COURSE]: TargetModels.COURSES,\n};\n\nconst VideoConferencingScopeMapping = {\n\t[TargetModels.EVENTS]: VideoConferenceScope.EVENT,\n\t[TargetModels.COURSES]: VideoConferenceScope.COURSE,\n};\n\n@Injectable()\nexport class VideoConferenceRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn VideoConference;\n\t}\n\n\tasync findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope): Promise {\n\t\tconst entity: Loaded = await this._em.findOneOrFail(VideoConference, {\n\t\t\ttarget: scopeId,\n\t\t\ttargetModel: TargetModelsMapping[videoConferenceScope],\n\t\t});\n\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tprotected mapEntityToDO(entity: VideoConference): VideoConferenceDO {\n\t\treturn new VideoConferenceDO({\n\t\t\tid: entity.id,\n\t\t\ttarget: entity.target,\n\t\t\ttargetModel: VideoConferencingScopeMapping[entity.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entity.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeeJoinsMuted: entity.options.everyAttendeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entity.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: VideoConferenceDO): EntityData {\n\t\treturn {\n\t\t\ttarget: entityDO.target,\n\t\t\ttargetModel: TargetModelsMapping[entityDO.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entityDO.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeJoinsMuted: entityDO.options.everyAttendeeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entityDO.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceResponseDeprecatedMapper.html":{"url":"classes/VideoConferenceResponseDeprecatedMapper.html","title":"class - VideoConferenceResponseDeprecatedMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceResponseDeprecatedMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts\n \n\n \n Deprecated\n \n \n Please use the VideoConferenceResponseMapper instead.\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n Static\n mapToInfoResponse\n \n \n Static\n mapToJoinResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n \n \n \n \n \n mapToBaseResponse(from: VideoConference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceBaseResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToInfoResponse\n \n \n \n \n \n \n \n mapToInfoResponse(from: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToJoinResponse\n \n \n \n \n \n \n \n mapToJoinResponse(from: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBBaseResponse } from '../bbb';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tDeprecatedVideoConferenceJoinResponse,\n\tVideoConferenceBaseResponse,\n} from '../controller/dto/response/video-conference-deprecated.response';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport { VideoConferenceMapper } from './video-conference.mapper';\n\n/**\n * @deprecated Please use the VideoConferenceResponseMapper instead.\n */\nexport class VideoConferenceResponseDeprecatedMapper {\n\tstatic mapToBaseResponse(from: VideoConference): VideoConferenceBaseResponse {\n\t\treturn new VideoConferenceBaseResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t});\n\t}\n\n\tstatic mapToJoinResponse(from: VideoConferenceJoin): DeprecatedVideoConferenceJoinResponse {\n\t\treturn new DeprecatedVideoConferenceJoinResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\turl: from.url,\n\t\t});\n\t}\n\n\tstatic mapToInfoResponse(from: VideoConferenceInfo): DeprecatedVideoConferenceInfoResponse {\n\t\treturn new DeprecatedVideoConferenceInfoResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\toptions: from.options,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceScopeParams.html":{"url":"classes/VideoConferenceScopeParams.html","title":"class - VideoConferenceScopeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceScopeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n scopeId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope'})@IsEnum(VideoConferenceScope)\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { IsEnum, IsMongoId } from 'class-validator';\n\nexport class VideoConferenceScopeParams {\n\t@ApiProperty({ nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope' })\n\t@IsEnum(VideoConferenceScope)\n\tscope!: VideoConferenceScope;\n\n\t@ApiProperty({ nullable: false, required: true })\n\t@IsMongoId()\n\tscopeId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VisibilitySettingsResponse.html":{"url":"classes/VisibilitySettingsResponse.html","title":"class - VisibilitySettingsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VisibilitySettingsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: VisibilitySettingsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n VisibilitySettingsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class VisibilitySettingsResponse {\n\tconstructor({ publishedAt }: VisibilitySettingsResponse) {\n\t\tthis.publishedAt = publishedAt;\n\t}\n\n\t@ApiPropertyOptional()\n\tpublishedAt?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/WsSharedDocDo.html":{"url":"classes/WsSharedDocDo.html","title":"class - WsSharedDocDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n WsSharedDocDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts\n \n\n\n\n \n Extends\n \n \n Doc\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n awareness\n \n \n Public\n awarenessChangeHandler\n \n \n Public\n conns\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n Private\n prepareAwarenessMessage\n \n \n Private\n sendAwarenessMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, tldrawService: TldrawWsService, gcEnabled)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n tldrawService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n gcEnabled\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n awareness\n \n \n \n \n \n \n Type : Awareness\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n awarenessChangeHandler\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:37\n \n \n\n\n \n \n \n Parameters :\n \n \n \n Name\n Description\n \n \n \n \n changes\n \n \n \n \n wsConnection\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n conns\n \n \n \n \n \n \n Type : Map>\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n \n \n \n \n \n manageClientsConnections(undefined: literal type, wsConnection: WebSocket | null)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n wsConnection\n \n WebSocket | null\n \n\n \n No\n \n\n\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n Returns : number[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareAwarenessMessage\n \n \n \n \n \n \n \n prepareAwarenessMessage(changedClients: number[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changedClients\n \n number[]\n \n\n \n No\n \n\n\n \n array of changed clients\n\n \n \n \n \n \n \n Returns : Uint8Array\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n sendAwarenessMessage\n \n \n \n \n \n \n \n sendAwarenessMessage(buff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n buff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n encoded message about changes\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Doc } from 'yjs';\nimport WebSocket from 'ws';\nimport { Awareness, encodeAwarenessUpdate } from 'y-protocols/awareness';\nimport { encoding } from 'lib0';\nimport { TldrawWsService } from '@modules/tldraw/service';\nimport { WSMessageType } from '../types/connection-enum';\n\nexport class WsSharedDocDo extends Doc {\n\tpublic name: string;\n\n\tpublic conns: Map>;\n\n\tpublic awareness: Awareness;\n\n\t/**\n\t * @param {string} name\n\t * @param {TldrawWsService} tldrawService\n\t * @param {boolean} gcEnabled\n\t */\n\tconstructor(name: string, private tldrawService: TldrawWsService, gcEnabled = true) {\n\t\tsuper({ gc: gcEnabled });\n\t\tthis.name = name;\n\t\tthis.conns = new Map();\n\t\tthis.awareness = new Awareness(this);\n\t\tthis.awareness.setLocalState(null);\n\n\t\tthis.awareness.on('update', this.awarenessChangeHandler);\n\t\tthis.on('update', (update: Uint8Array, origin, doc: WsSharedDocDo) => {\n\t\t\tthis.tldrawService.updateHandler(update, origin, doc);\n\t\t});\n\t}\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tpublic awarenessChangeHandler = (\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): void => {\n\t\tconst changedClients = this.manageClientsConnections({ added, updated, removed }, wsConnection);\n\t\tconst buff = this.prepareAwarenessMessage(changedClients);\n\t\tthis.sendAwarenessMessage(buff);\n\t};\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tprivate manageClientsConnections(\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): number[] {\n\t\tconst changedClients = added.concat(updated, removed);\n\t\tif (wsConnection !== null) {\n\t\t\tconst connControlledIDs = this.conns.get(wsConnection);\n\t\t\tif (connControlledIDs !== undefined) {\n\t\t\t\tadded.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.add(clientID);\n\t\t\t\t});\n\t\t\t\tremoved.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.delete(clientID);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn changedClients;\n\t}\n\n\t/**\n\t * @param changedClients array of changed clients\n\t */\n\tprivate prepareAwarenessMessage(changedClients: number[]): Uint8Array {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(this.awareness, changedClients));\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\treturn message;\n\t}\n\n\t/**\n\t * @param {{ Uint8Array }} buff encoded message about changes\n\t */\n\tprivate sendAwarenessMessage(buff: Uint8Array): void {\n\t\tthis.conns.forEach((_, c) => {\n\t\t\tthis.tldrawService.send(this, c, buff);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XApiKeyConfig.html":{"url":"interfaces/XApiKeyConfig.html","title":"interface - XApiKeyConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XApiKeyConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/config/x-api-key.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface XApiKeyConfig {\n\tADMIN_API__ALLOWED_API_KEYS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/XApiKeyStrategy.html":{"url":"injectables/XApiKeyStrategy.html","title":"injectable - XApiKeyStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n XApiKeyStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'api-key')\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n Public\n validate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n validate\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ConfigService } from '@nestjs/config';\nimport Strategy from 'passport-headerapikey';\nimport { XApiKeyConfig } from '../config/x-api-key.config';\n\n@Injectable()\nexport class XApiKeyStrategy extends PassportStrategy(Strategy, 'api-key') {\n\tprivate readonly allowedApiKeys: string[];\n\n\tconstructor(private readonly configService: ConfigService) {\n\t\tsuper({ header: 'X-API-KEY' }, false);\n\t\tthis.allowedApiKeys = this.configService.get('ADMIN_API__ALLOWED_API_KEYS');\n\t}\n\n\tpublic validate = (apiKey: string, done: (error: Error | null, data: boolean | null) => void) => {\n\t\tif (this.allowedApiKeys.includes(apiKey)) {\n\t\t\tdone(null, true);\n\t\t}\n\t\tdone(new UnauthorizedException(), null);\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @aws-sdk/lib-storage : ^3.100.0\n \n @feathersjs/adapter-commons : ^5.0.12\n \n @feathersjs/authentication : ^5.0.12\n \n @feathersjs/authentication-local : ^5.0.12\n \n @feathersjs/commons : ^5.0.12\n \n @feathersjs/configuration : ^5.0.12\n \n @feathersjs/errors : ^5.0.12\n \n @feathersjs/express : ^5.0.12\n \n @feathersjs/feathers : ^5.0.12\n \n @golevelup/nestjs-rabbitmq : ^4.0.0\n \n @hendt/xml2json : ^1.0.3\n \n @hpi-schul-cloud/commons : ^1.3.4\n \n @keycloak/keycloak-admin-client : ^21.1.2\n \n @lumieducation/h5p-server : ^9.2.0\n \n @mikro-orm/core : ^5.5.3\n \n @mikro-orm/mongodb : ^5.5.3\n \n @mikro-orm/nestjs : ^5.2.1\n \n @nestjs/axios : ^3.0.0\n \n @nestjs/cache-manager : ^2.1.0\n \n @nestjs/common : ^10.2.4\n \n @nestjs/config : ^3.0.1\n \n @nestjs/core : ^10.2.4\n \n @nestjs/jwt : ^10.1.1\n \n @nestjs/microservices : ^10.2.4\n \n @nestjs/passport : ^10.0.1\n \n @nestjs/platform-express : ^10.2.4\n \n @nestjs/platform-ws : ^10.2.4\n \n @nestjs/swagger : ^7.1.10\n \n @nestjs/websockets : ^10.2.4\n \n @types/cache-manager-redis-store : ^2.0.1\n \n @types/connect-redis : ^0.0.19\n \n @types/gm : ^1.25.1\n \n @types/ldapjs : ^2.2.5\n \n @types/redis : ^2.8.32\n \n @types/xml2js : ^0.4.11\n \n adm-zip : ^0.5.9\n \n ajv : ^8.8.2\n \n amqp-connection-manager : ^3.2.2\n \n amqplib : ^0.8.0\n \n arg : ^5.0.0\n \n args : ^5.0.1\n \n async : ^3.2.2\n \n async-mutex : ^0.4.0\n \n aws-sdk : ^2.1375.0\n \n axios : ^1.6.2\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.18.2\n \n express-openapi-validator : ^4.13.2\n \n express-session : ^1.17.3\n \n feathers-hooks-common : ^8.1.1\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 : ^6.12.3\n \n mongoose-delete : ^0.5.4\n \n mongoose-id-validator : ^0.6.0\n \n mongoose-lean-virtuals : ^0.8.1\n \n mongoose-shortid-nodeps : git://github.com/leeroybrun/mongoose-shortid-nodeps.git\n \n moodle-client : ^0.5.2\n \n nanoid : ^3.3.4\n \n nest-winston : ^1.9.4\n \n nestjs-console : ^9.0.0\n \n oauth-1.0a : ^2.2.6\n \n open-graph-scraper : ^6.2.2\n \n p-limit : ^3.1.0\n \n papaparse : ^5.1.1\n \n passport : ^0.6.0\n \n passport-custom : ^1.1.1\n \n passport-headerapikey : ^1.2.2\n \n passport-jwt : ^4.0.1\n \n passport-local : ^1.0.0\n \n prom-client : ^13.1.0\n \n qs : ^6.9.7\n \n read-chunk : ^3.0.0\n \n redis : ^3.0.0\n \n reflect-metadata : ^0.1.13\n \n request-promise-core : ^1.1.4\n \n request-promise-native : ^1.0.3\n \n response-time : ^2.3.2\n \n rimraf : ^3.0.2\n \n rss-parser : ^3.13.0\n \n rxjs : ^7.3.1\n \n sanitize-html : ^2.1.0\n \n serve-favicon : ^2.3.2\n \n service : ^0.1.4\n \n socketio-file-upload : ^0.7.0\n \n source-map-support : ^0.5.19\n \n strip-bom : ^4.0.0\n \n swagger-ui-dist : ^4.18.2\n \n swagger-ui-express : ^4.1.6\n \n tiny-async-pool : ^1.2.0\n \n universal-analytics : ^0.5.1\n \n urlsafe-base64 : ^1.0.0\n \n uuid : ^8.3.0\n \n winston : ^3.8.2\n \n ws : ^7.5.7\n \n y-mongodb-provider : ^0.1.7\n \n y-protocols : ^1.0.5\n \n yjs : ^13.6.7\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nExample : GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\nExample : Preamble The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate. Many developers of free software are heartened and\nencouraged by the resulting cooperation. However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community. It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server. Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals. This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n The precise terms and conditions for copying, distribution and\nmodification follow.\nExample : TERMS AND CONDITIONS\nDefinitions.\n\n \"This License\" refers to version 3 of the GNU Affero General Public License.\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\nSource Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n The Corresponding Source for a work in source code form is that\nsame work.\n\nBasic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\nProtecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\nConveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\nConveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\nExample :a) The work must carry prominent notices stating that you modified\nit, and giving a relevant date.\n\nb) The work must carry prominent notices stating that it is\nreleased under this License and any conditions added under section\n7. This requirement modifies the requirement in section 4 to\n\"keep intact all notices\".\n\nc) You must license the entire work, as a whole, under this\nLicense to anyone who comes into possession of a copy. This\nLicense will therefore apply, along with any applicable section 7\nadditional terms, to the whole of the work, and all its parts,\nregardless of how they are packaged. This License gives no\npermission to license the work in any other way, but it does not\ninvalidate such permission if you have separately received it.\n\nd) If the work has interactive user interfaces, each must display\nAppropriate Legal Notices; however, if the Program has interactive\ninterfaces that do not display Appropriate Legal Notices, your\nwork need not make them do so. A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\nConveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\nExample :a) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by the\nCorresponding Source fixed on a durable physical medium\ncustomarily used for software interchange.\n\nb) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by a\nwritten offer, valid for at least three years and valid for as\nlong as you offer spare parts or customer support for that product\nmodel, to give anyone who possesses the object code either (1) a\ncopy of the Corresponding Source for all the software in the\nproduct that is covered by this License, on a durable physical\nmedium customarily used for software interchange, for a price no\nmore than your reasonable cost of physically performing this\nconveying of source, or (2) access to copy the\nCorresponding Source from a network server at no charge.\n\nc) Convey individual copies of the object code with a copy of the\nwritten offer to provide the Corresponding Source. This\nalternative is allowed only occasionally and noncommercially, and\nonly if you received the object code with such an offer, in accord\nwith subsection 6b.\n\nd) Convey the object code by offering access from a designated\nplace (gratis or for a charge), and offer equivalent access to the\nCorresponding Source in the same way through the same place at no\nfurther charge. You need not require recipients to copy the\nCorresponding Source along with the object code. If the place to\ncopy the object code is a network server, the Corresponding Source\nmay be on a different server (operated by you or a third party)\nthat supports equivalent copying facilities, provided you maintain\nclear directions next to the object code saying where to find the\nCorresponding Source. Regardless of what server hosts the\nCorresponding Source, you remain obligated to ensure that it is\navailable for as long as needed to satisfy these requirements.\n\ne) Convey the object code using peer-to-peer transmission, provided\nyou inform other peers where the object code and Corresponding\nSource of the work are being offered to the general public at no\ncharge under subsection 6d. A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\nAdditional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\nExample :a) Disclaiming warranty or limiting liability differently from the\nterms of sections 15 and 16 of this License; or\n\nb) Requiring preservation of specified reasonable legal notices or\nauthor attributions in that material or in the Appropriate Legal\nNotices displayed by works containing it; or\n\nc) Prohibiting misrepresentation of the origin of that material, or\nrequiring that modified versions of such material be marked in\nreasonable ways as different from the original version; or\n\nd) Limiting the use for publicity purposes of names of licensors or\nauthors of the material; or\n\ne) Declining to grant rights under trademark law for use of some\ntrade names, trademarks, or service marks; or\n\nf) Requiring indemnification of licensors and authors of that\nmaterial by anyone who conveys the material (or modified versions of\nit) with contractual assumptions of liability to the recipient, for\nany liability that these contractual assumptions directly impose on\nthose licensors and authors. All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\nTermination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\nAcceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\nAutomatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\nPatents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\nNo Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\nRemote Network Interaction; Use with the GNU General Public License.\n\n Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software. This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\nRevised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time. Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\nDisclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\nLimitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\nInterpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\nExample : END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\nExample :\nCopyright (C) \n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see .Also add information on how to contact you by electronic and paper mail.\n If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source. For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code. There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\nhttp://www.gnu.org/licenses/.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Description : dBildungscloud server\n \n Keywords : feathers, nest, jest, domain driven design\n \n Homepage : https://dBildungscloud.de/\n \n Bugs : \n \n License : AGPL-3.0\n \n Repository : \n \n Author : dBildungscloud Team\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"todo.html":{"url":"todo.html","title":"getting-started - todo","body":"\n \n\nTechnical TODO around Nest Introduction\nSUGGESTED\n\nfilter logs by request with reflect-metadata (see mikroorm em setup)\ndisable Document from window\nfind a name for base entity id type\nfind a name for base entity class\ndecide if we want to use our entity id type in all layers (also in dtos etc.)\nuse index.ts files to bundle exports - we could use path names for imports then, e.g. @shared/domain\ncheck how we can implement mandatory/optional fields in dtos\nshould we use Expose() as default in dtos?\nin the controller we have to prohibit serialization of properties that have no @EXPOSE\nfind the best way ORM entity discovery\ndecide where to put domain interfaces (directory)\nhow can we log validation errors during development?\nsanitizer\nremove non-node async library\nfix async cleanup & remove timeout in tests\ntest object creator for nest entities\nenable log only for failed tests: https://stackoverflow.com/a/61909588\nremove mongoose history (keep one)\nremove custom npm packages (ldap, ...)\nAPI default tests to extend: auth required, fails without/succeeds with\n\nACCEPTED\n\ndocumentation\n\nentity constructor\nem to be used in repositories only (!!!)\n\n\nload/perf test\n\ndisable legacy ts support (app, tests)\n\nfix .env/config for windows\n\n\nMERGE\n\napi path prefix cleanup: remove middleware and multiple path mounts, sync with nest\nuser module stucture\nsingle domain: shared entity (main.ts), shared repository \nrequest.user.user in jwt strategy\nremove outdated sorting.ts \nremove default launch/settings json files, apply them\nfix https://github.com/hpi-schul-cloud/schulcloud-server/pull/2729#pullrequestreview-699615164\n\nSELECTED\n\ntest shared / core module \n\nasync test fixes (remove this.timeout and red promise chains)\n\ndb configuration\n\nkeep mongoose options as mongo options\npovider for mikroorm options and db url\ntest db provider\nentity discovery\ncheck indexes in mikroorm: when are they updated?\nteardown (test, server module, main.ts)\nreplikaset for test module\nentity discovery\n\n\nnews\n\nuc cleanup: 2auth, visibilities\ndocument best practices/layers/orm\n\n\ncontext: user-/request-context (see mikroorm/asynclocalstorage)\n\n\nDONE\n\ncheck build & start for production with ops\nfix jest, linter, ...\ninject APP_FILTER (exception handler) and APP_INTERCEPTOR (logger), see core module\ncustom error handling (log/response), see global-error.filter.ts\nwatch docs should hot reload on md file change\n404 error handling in feathers has to be replaced (tests too). better: have nest before feathers... but seems not to be working\nremove mongoose\npublish documentation, see https://hpi-schul-cloud.github.io/schulcloud-server/overview.html\nfix all tests (nest/legacy)\nremove legacy scripts from package json (except tests) goal: have separated tests (legacy/nest) but only execute the nest app\nusing legacy database connection string\nv3 with/-out slash: diffenrent routes should respond with different result (/v3 is a resssource, /v3/ === /v3/index)\nvscode/lauch files: we put only default files into the repo\nnaming of dtos and dto-files: api vs domain, we leave out \"dto\" suffix for simplicity (we know that they are dtos) and instead append a specific suffix:\ne.g.\napi: , , \ndomain: , \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application.html":{"url":"additional-documentation/nestjs-application.html","title":"additional-page - NestJS Application","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nHPI Schul-Cloud NestJS server\nThis application extends the existing server-application based on feathers and express by introducing dependency injection supporting unit testing and modularization, the possibility to develop against interfaces, and start implementation of modules using TypeScript.\nYou find the whole documentation published as GitHub Page\nRequirements\n\nNode.js (see .nvmrc for version)\nMongoDB (4.x)\nRabbitMQ (configure using RABBITMQ_URL, see default.schema.json)\nS3 Object Storage e.g. MinIO locally\n\npreconditions\n\nHave a MongoDB started, run mongod\nHave some seed data in database, use npm run setup to reset the db and apply seed data\nHave RabbitMQ started, run docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8.9-management. This starts RabbitMQ on port 5672 and a web admin console at localhost:15672 (use guest:guest to login).\nHave MinIO (S3 compatible object storage), run [optional if you need files-storage module]\n\nExample :docker run \\\n --name minioS3storage \\\n -p 9000:9000 \\\n -p 9001:9001 \\\n -e \"MINIO_ROOT_USER=`miniouser`\" \\\n -e \"MINIO_ROOT_PASSWORD=miniouser\" \\\n quay.io/minio/minio server /data --console-address \":9001\"\nHave ErWIn-IDM started [currently not needed, but will be mandatory in the future]. For more information look here.\n\nChange directory to the schulcloud-server root folder. Execute following command to setup the ErWIn-IDM container:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"To add seed data into ErWIn-IDM, use npm run setup:idm to reset and apply seed data.\nSee ErWIn-IDM specific documentation to learn how to add the ErWIn-IDM identity broker feature.\n\nAdd secrets to systems (optional)\n\nThe systems of the seed data do not contain any secrets, so connecting to those systems will fail.\nYou can add these secrets by putting them into your env vars. E.g. if you add SANIS_CLIENT_ID= into your .env file, the secret will be written into the db, when you run the database setup. You need to add the env var AES_KEY as well to encrypt those secrets in the DB.\nThe real secrets can be found in the password store.\nWhile exporting the systems to JSON the secrets will be replaced by placeholders following the pattern _. So the system with alias \"sanis\" and the secret property \"clientId\" will be replaced by \"SANIS_CLIENT_ID\"\nHow to start the application\nBeside existing scripts, for the nestJS application the following scripts have been added. Try not changing the scripts as they should match what NestJS defines by default. Execute npm run ...\n\nnest:prebuild remove existing data from previous build\nnest:build compile the applications typescript ressources from apps/server to dist folder, keeps legacy js-code where it is\nnest:build:all currently executes nest:build, could additionaly build static assets\nnest:start starts the nest application on localhost:3030\nnest:start:dev run application without build from sources in dev-mode with hot-reload\nnest:start:debug run application in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:prod start applicaiton in production mode, requires nest:build to be executed beforehand\n\nIt exist a file storage module. It is started as a microservice on port :4444\n\nnest:start:files-storage starts the nest file storage\nnest:start:files-storage:dev run file storage without build from sources in dev-mode with hot-reload\nnest:start:files-storage:debug run file storage in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:files-storage:prod start file storage in production mode, requires nest:build to be executed beforehand\n\nHow to build and serve the documentation\n\nnest:docs:build builds code documentation and module relations into /documentation folder\nnest:docs:serve builds code documentation and module relations into /documentation folder and serves it on port :8080 with hot reload on changes\n\nHow to start the server console\nThe console offers management capabilities of the application.\n\nnest:console after nest:build in production or\nnest:console:dev for development\n\nTo run a specific command run npm run nest:console:dev -- command . The --is required for npm to send params to the console. Use --helpto get an overview about existing commands.\nHow to test the nest-application with jest\nNestJS must not use _.test.[ts|js] as filename but instead either *.spec.ts for unit tests or *.api.spec.ts API tests. This ensures legacy/feathers/mocha tests can be separated from jest test suites.\nThe application must pass the following statement which executes separate checks:\n\nnest:test executes all jest (NestJS) tests with coverage and eslint\n\nTo test a subset, use\n\nnest:test:all execute unit and API tests\n\nnest:test:api execute API tests only\n\nnest:test:unit execute unit tests only\n\nnest:test:cov executes all jest tests with coverage check\n\nnest:test:watch executes changed tests again on save\n\nnest:test:debug executes tests with debugging\n\nnest:lint run eslint to report linter issues and apply formatting\n\nnest:lint:fix run eslint to report and auto-fix fixable linter issues and apply formatting\n\n\nQuality gates\nWith coverage on tests and static code analysis we ensure some quality gates which are all handled by running nest:test:\n\nESLint with prettier ensures formatting and static code analysis to pass, see .eslintrc.js for details.\nTests ensure functional requirements via unit & API tests.\nCoverage on tests ensures a coverage of 80% on NestJS code, see jest.config.ts for details.\n\nGates are part of pull request checks.\nOpenAPI documentation\nThe NestJS applicaiton serves a documentation at :3030/api/v3/docs. The JSON-representation can be found at /api/v3/docs-json to be used for generating a client application.\nLegacy/feathers Swagger UI documentation when running the server locally, it is served at :3030/docs/.\nLegacy (feathers) testing with mocha\n\nnpm run test\nTo run a single test, use npm run mocha-single -- .\n\nHow to get full documentation\nThe documentation is provided by compodoc, run npm run nest:docs:serve, check generated compodoc features, custom information can be found in additional information section. Your console will tell you, where it is served.\nThe updated documentation is published as GitHub Page\nContent\nFor further reading, browse apps/server/doc.\nNestJS CLI\nTo use the NestJS CLI, install the nest cli globally.\nExample : npm i -g @nestjs/cliThen you may use features like nest g service foo within of /apps/server/src.\nDebugging\nThere are launch configurations available for VSCode in .vscode/launch.default.json\nTech Stack\nFeel free to find related documentation:\n\nhttps://nestjs.com/\nhttps://jestjs.io/\nhttps://mikro-orm.io/\nhttps://min.io/\nhttps://www.rabbitmq.com/\n\nConfiguration\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/config/README.md\nNestJS Modules\nAuthorisation\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/apps/server/src/modules/authorization/README.md\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/software-architecture.html":{"url":"additional-documentation/nestjs-application/software-architecture.html","title":"additional-page - Software Architecture","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSoftware Architecture\nGoals\nOur architecture aims to achieve the following goals:\n\nMaintainability\nit should be easy as possible to make changes that do not change the behaviour of the system (refactoring)\nit should be easy to exchange entire components of the system, without impact on other components.\n\n\nExtendability\nit should be easy to add new functionality to the system\n\n\nAgility\nit should be easy to react to changing requirements during our development process\n\n\nChange Security\nit should be easy to determine the correctness of the system after making any changes\n\nPrinciples\nIn order to achieve these goals, we try to follow the principles detailed below.\nThese principles apply to all layers of our software, from lines of code and methods to modules and architectural layers.\n\nSingle Responsibility / Seperation of Concerns\neach piece of code should have a single layer of abstraction/detail\neach piece of code should have a single reason to change\n\n\nOpen/Closed Principle\ndesign to be open to extension, but closed to modification\nLiskov Substitution\nthe specific input may be more generic than its interface\nthe specific output may be more specialized than its interface\n\n\nInterface Segregation\nmultiple small interfaces are preferred over big interfaces\n\n\nDependency Inversion Principle\nalways depend on interfaces, not implementations\nhigher level parts should not depend on lower level parts.\n\n\nKeep It Simple (KISS)\nany piece of code should be simple and readable\nany logic should be broken down to be trivial\nbeware of overenginiering and premature optimisation\n\n\nYou Aint Gonna Need It (YAGNI)\nkeep decisions open for as long as possible\nbuild only what you need to build, stay flexible for future requirements\n\n\nDo Not Repeat Yourself (DRY)\ndo not solve the same responsability or concern in multiple places\nbeware of things that look similar, but are not. for example, things that change for different reasons should not be combined, even if their code looks the same\n\n\n\nServer Layer Architecture\nWe generally distinguish three different layers in our server architecture: The API Layer, the Repository Layer, and the Domain Layer.\n\nNote that based on the Dependency Inversion Principle, the Domain Layer does not have any dependencies. Instead, both the API and Repository Layer depend on its abstractions.\nDomain Layer\nThe Domain Layer contains the business logic of the application. As mentioned above, it is not allowed to know about anything outside the domain layer itself.\n\nAny operation within the system is defined by a usecase (UC). It describes how an external actor, for example a user, can interact with the system.\nEach usecase defines what needs to be done to authorize it, and what needs to be done to fulfill it. To this end, it orchestrates services.\nA service is a public part of a domain module, that provides an interface for logic. It might be a simple class doing simple calculations, an interface to a complex hierarchy of classes within a module, or anything in between.\nThe domain layer might also define other classes, types, and interfaces to be used internally by its services, as well as the interface definitions for the repository layer. That way, the domain does not have to depend on the repositories, and the repositories have to depend on the domain instead (dependency inversion)\nTODO: the exact way of implementing the interfaces between repositories and domain layer is still in active discussion and development within the architecture chapter\nAPI Layer\nThe API Layer is responsible for providing the API that is exposed outside the system, and to map the various incoming requests into domain DTOs.\n\nThe params.dto and response.dto are used to automatically generate the API Documentation based on openAPI. The params.dto also contains information that is used for input validation.\nThe controller is responsible for sanitizing and authenticating incoming requests, and to map to and from the format that the domain usecase implementations expect. To this end, mappers are being used.\nRepository Layer\nThe Repository Layer is responsible for outgoing requests to external services. The most prominent example is accessing the database, but the same principles apply for sending emails or other interactions with external systems.\n\nIn order to access these external systems without knowing them, the domain layer may define interfaces that describe how it would like to use external services in its own domain language. The repositories implement these interfaces, recieving and returning exclusively objects or dtos defined in the domain.\nThe datamodel itself is defined through Entities, that have to be mapped into domain objects before they can be returned to the domain layer. We use MikroORM to create, persist and load the entities and their references among each other.\nModules\nThe codebase is broken into modules, each dealing with a part of the businesslogic, or seperated technical concerns.\nThese modules define what code is available where, and ensure a clean dependency graph.\nAll Code written should be part of exactly one module. Each module contains any services, typedefinitions, interfaces, repositories, mappers, and other files it needs internally to function.\nWhen something is needed in more than one module, it needs to be explicitly exported by the module, to be part of its public interface. It can then be imported by other modules. Services are exported published via the dependency injection mechanism provided by Nestjs.\nExample :@Module({\n providers: [InternalRepo, InternalService, PublicService],\n exports: [PublicService],\n})\nexport class ExampleModule {}\n\n@Module({\n imports: [ExampleModule]\n providers: [SomeOtherService],\n})\nexport class OtherModule {}Notice that in the above example, the PublicService can be used anywhere within the OtherModule, including in the SomeOtherService, whereas the InternalRepo and InternalService can not.\nThings that cant be injectables, like types and interfaces, are exported via the index file at the root of the module.\nCode that needs to be shared across many modules can either be put into their own seperate module, if there is a clearly defined seperate concern covered by it, or into the shared module if not.\nApi Modules\nThe controllers and the corresponding usecases, along with the api tests for these routes, are seperated into api modules\nExample :@Module({\n imports: [ExampleModule]\n providers: [ExampleUc],\n controllers: [ExampleController],\n})\nexport class ExampleApiModule {}This allows us to include the domain modules in different server deployments, without each of them having all api definitions. This also means that no usecase can ever be imported, as only services are ever exported, enforcing a seperation of concerns between logic and orchestration.\nHorizontal Architecture\nThe application is split into different modules that implement different parts of our domain.\nThe exact split of modules is still work in progress, or left open as implementation detail. Some important considerations are:\n\nthings with high cohesion and coupling should be in the same module\nthings with low coupling should be in seperate modules\nthe modules define an explicit public interface of usecases and types they expose to other modules\nno module should ever try to access a class of a different module that is not explicitly exported\nno injectable should ever be defined in more than one module\na module should only export services to be used by other modules.\na module that other modules might need to import, especially in another mikroservice, should not contain controllers.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/file-structure.html":{"url":"additional-documentation/nestjs-application/file-structure.html","title":"additional-page - File Structure","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nArchitecture mapping to Code\nConventions\nFile structure\nThe server app located in /apps/server is structured like. Beside each ts-file, a test file _.spec.ts has to be added for unit tests (hidden for simplification). Use index.ts files that combine a folders content and export all files from within of the folder using export _ from './file' where this makes sense. When there are naming conflicts, use more specific names and correct concepts. Think about not to create sub-folders, when only one concept exist.\nExample :src/ // sourcecode & unit tests\n - config/ // for global definitions\n - modules/ // for your NestJS modules\n - [module] // where [module] could be like user, homework, school\n - entity/\n - .entity.ts // (where might be a user, news, ... owned by the module) exports entity class & document type\n - .entity.ts // where related-info is a partial of another entity used in the entity above\n - index.ts // exports all entities\n - controller/ // where controllers define the api\n - dto/ // dto's define api in/out types as a class with annotations\n - [params].ts // (like create-user.params.ts)\n - [response].ts // (like create-user.response.ts)\n - index.ts // exports all dto's\n - .controller.ts // defines rest api, references main service file\n - .controller.ts // think about a new module when require multiple controllers :)\n - repo/ // repositories take care to load/persist/... entities\n - schema/ // contains schema imports from legacy app or new definitions (might be replaced by OR mapper)\n - .schema.ts // exports (legacy-) mongoose schemas\n - .repo.ts // where entity might be user, news, school\n - service/ // for technical dependencies (libraries, infrastructure layer concerns)\n - .service.ts // the modules main service file, might be exported for other modules\n - .service.ts // use services not for features\n - mapper/\n - .mapper.ts // mapper for a domain entity, should contain mapDomainToResponse and mapFooToDomain\n - uc/ // preferred for features\n - .uc.ts // one file per single use case (use a long name)\n - .module.ts // DI instructions to build the module\n - shared/ // reused stuff without module ownership\n - core/ // shared concepts (decorators, pipes, guards, errors, ...) folders might be added\n - domain // (abstract) domain base entities which will be extended in the modules\n - util/ // helpers, tools, utils can be located here (but find a better name)\ntest/ // contains globalSetup and globalTeardown for MongoMemoryServer for tests\nFor concepts (see https://docs.nestjs.com/first-steps) of NestJS put implementations in shared/core. You might use shared/utils for own solutions, assume TextUtils but when it contains text validators, move it better to shared/validators/text.validator.ts before merge. The core concepts of NestJS can be extended with ours (like repo).\nFile naming conventions\nIn TypeScript files: for Classes we use PascalCase (names start with uppercase letter), variables use lowercase for the first letter camelCase.\nWhen assigning names, they may end with a concept name:\n\nA Concept might be a known term which is widely used. Samples from NestJS: Controller, Provider, Module, Middleware, Exception, Pipe, Guard, Interceptor.\n\nBeside we have own concepts like comparator, validator (generic ones should not be part of a modules (and located in shared folder btw) or repo, use-case which might be owned by a module.\n\n\nIn file names, we use lowercase and minus in the beginning and end with ..ts\nSamples\n\n\n\nFile name\nClass name\nConcept\nLocation\n\n\n\n\nlogin-user.uc.ts\nLoginUserUc\nuse case\nmodule/uc\n\n\ntext.validator.ts\nTextValidator\nvalidator\nshared/validators\n\n\nuser.repo.ts\nUserRepo\nrepository\nmodule/repo\n\n\nparse-object-id.pipe.ts\nParseObjectIdPipe\npipe\nshared/pipes\n\n\n\nComponents\nComponents are defined as NestJS Modules. \nCommunication between components\nTo access other modules services, it can be injected anywhere. The usage is allowed only, when the module which owns that service has exported it in the modules definition.\nExample :// modules/feathers/feathers-service.provider.ts\n// modules/feathers/feathers.module.ts\n@Module({\n providers: [FeathersServiceProvider],\n exports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\nThe feathers module is used to handle how the application is using legacy services, when access them, inject the FeathersServiceProvider but in your module definition, import the FeathersModule.\nExample :// your module, here modules/authorization/authorization.module.ts\n@Module({\n imports: [FeathersModule], // here import the services module\n // providers: [AuthorizationService, FeathersAuthProvider],\n // exports: [AuthorizationService],\n})\nexport class AuthorizationModule {}\n\n// inside of your service, here feathers-auth.provider.ts\n@Injectable()\nexport class FeathersAuthProvider {\n\n // inject the service in constructor\n constructor(private feathersServiceProvider: FeathersServiceProvider) {}\n \n // ...\n\n async getUserTargetPermissions(\n // ...\n ): Promise {\n const service = this.feathersServiceProvider.getService(`path`);\n const result = await service.get(...)\n // ...\n return result;\n }\nAccess legacy Code\nUse the feathers module introduced above to get access to legacy services.\nIt is important to introduce strong typing like it happened above in the FeathersAuthProvider. While the FeathersServiceProvider from the feathers module, has only an abstract implementation for all services, add a concrete service inside your module for a specific feathers-service, like above in FeathersAuthProvider.\nAccess NestJS injectable from Feathers\nTo access a NestJS service from a legacy Feathers service you need to make the NestJS service known to the Feathers service-collection in main.ts. \nThis possibility should not be used for new features in Feathers, but it can help if you want to refactor a Feathers service to NestJs although other Feathers services depend on it.\nExample : // main.ts\n async function bootstrap() {\n // (...)\n feathersExpress.services['nest-rocket-chat'] = nestApp.get(RocketChatService);\n // (...)\n }Afterwards you can access it the same way as you access other Feathers services with\napp.service('/nest-rocket-chat');\nLayered Architecture\nThe different layers use separately defined objects that must be mapped when crossing layers.\n\nNever export entities through the service layer without DTO-mapping which is defined in the controller\nConcepts owned by a layer must not be shared with other layers\n\n\nFurther reading: https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/\nController\nA modules api layer is defined within of controllers.\nThe main responsibilities of a controller is to define the REST API interface as openAPI specification and map DTO's to match the logic layers interfaces.\nExample : @Post()\n async create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n const news = await this.newsUc.create(\n currentUser.userId,\n currentUser.schoolId,\n NewsMapper.mapCreateNewsToDomain(params)\n );\n const dto = NewsMapper.mapToResponse(news);\n return dto;\n }JWT-Authentication\nFor authentication, use guards like JwtAuthGuard. It can be applied to a whole controller or a single controller method only. Then, ICurrentUser can be injected using the @CurrentUser() decorator.\nValidation\nGlobal settings of the core-module ensure request/response validation against the api definition. Simple input types might additionally use a custom pipe while for complex types injected as query/body are validated by default when parsed as DTO class.\nFile naming\nComplex input DTOs are defined like [create-news].params.ts (class-name: CreateNewsParams).\nWhen DTO's are shared between multiple modules, locate them in the layer-related shared folder.\n\nSecurity: When exporting data, internal entities must be mapped to a response DTO class named like [news].response.dto. The mapping ensures which data of internal entities are exported.\n\nopenAPI specification\nDefining the request/response DTOs in a controller will define the openAPI specification automatically. Additional validation rules and openAPI definitions can be added using decorators. For simplification, openAPI decorators should define a type and if a property is required, while additional decorators can be used from class-validator to validate content.\nMapping\nIt is forbidden, to directly pass a DTO to a use-case or return an Entity (or other use-case result) via REST. In-between a mapper must transform the given data, to protect the logic layer from outside implications.\nThe use of a mapper gives us the guarantee, that\n\nno additional data beside the known properties is published.\nA plain object might contain more properties than defined in TS-interfaces.\nSample: All school properties are published while only name & id are intended to be published.\n\n\nthe API definition is complete\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/api-design.html":{"url":"additional-documentation/nestjs-application/api-design.html","title":"additional-page - API Design","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nto be documented\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/logging.html":{"url":"additional-documentation/nestjs-application/logging.html","title":"additional-page - Logging","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLogging\nFor logging use the Logger, exported by the logger module. It encapsulates a Winston logger. Its injection scope is transient, so you can set a context when you inject it.\nFor better privacy protection and searchability of logs, the logger cannot log arbitrary strings but only so called loggables. If you want to log something you have to use or create a loggable that implements the Loggable interface.\nThe message should be fixed in each loggable. If you want to log further data, put in the data field of the LogMessage, like in the example below.\nExample :export class YourLoggable implements Loggable {\n constructor(private readonly userId: EntityId) {}\n\n getLogMessage(): LogMessage {\n return {\n message: 'I am a log message.',\n data: { userId: this.userId, },\n };\n }\n}\nExample :import { Logger } from '@src/core/logger';\n\nexport class YourUc {\n constructor(private logger: Logger) {\n this.logger.setContext(YourUc.name);\n }\n\n public sampleUcMethod(user) {\n this.logger.log(new YourLoggable(userId: user.id));\n }\n}This produces a logging output like\nExample :[NestWinston] Info - 2023-05-31 15:20:30.888 [YourUc] { message: 'I am a log message.', data: { userId: '0000d231816abba584714c9e' }}Log levels and error logging\nThe logger exposes the methods log, warn, debug and verbose. It does not expose an error method because we don't want errors to be logged manually. All errors are logged in the exception filter.\nLegacy logger\nWhile transitioning to the new logger for loggables, the old logger for strings is still available as LegacyLogger.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/exception-handling.html":{"url":"additional-documentation/nestjs-application/exception-handling.html","title":"additional-page - Exception Handling","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nException Handling\n\nWe separate our business exceptions from technical exceptions. While for technical exceptions, we use the predefined HTTPExceptions from NestJS, business exceptions inherit from abstract BusinessException.\nBy default, implementations of BusinessException must define\nExample : code: 500\n type: \"CUSTOM_ERROR_TYPE\",\n title: \"Custom Error Type\",\n message: \"Human readable details\",\n // additional: optionalDataThere is a GlobalErrorFilter provided to handle exceptions, which cares about the response format of exceptions and logging. It overrides the default NestJS APP_FILTER in the core/error-module.\nIn client applications, for technical errors, evaluate the http-error-code, then for business exceptions, the type can be used as identifier and additional data can be evaluated.\nFor business errors we use 409/conflict as default to clearly have all business errors with one error code identified.\n\nSample: For API validation errors, 400/Bad Request will be extended with validationError: ValidationError[{ field: string, error: string }] and a custom type API_VALIDATION_ERROR.\n\nPipes can be used as input validation. To get errors reported in the correct format, they can define a custom exception factory when they should produce api validation error or other exceptions, handled by clients.\nChaining errors with the cause property\nIf you catch an error and throw a new one, put the original error in the cause property of the new error. See example:\nExample :try {\n someMethod();\n} catch(error) {\n throw new ForbiddenException('some message', { cause: error });\n}Loggable exceptions\nIf you want the error log to contain more information than just the exception message, use or create an exception which implements the Loggable interface. Don't put data directly in the exception message!\nA loggable exception should extend the respective Built-in HTTP exception from NestJS. For the name just put in \"Loggable\" before the word \"Exception\", e.g. \"BadRequestLoggableException\". Except for logging a loggable exception behaves like any other exception, specifically the error response is not affected by this.\nSee example below.\nExample :export class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n constructor(private readonly username: string, private readonly systemId?: string) {\n super();\n }\n\n getLogMessage(): ErrorLogMessage {\n const message = {\n type: 'UNAUTHORIZED_EXCEPTION',\n stack: this.stack,\n data: {\n userName: this.username,\n systemId: this.systemId,\n },\n };\n\n return message;\n }\n}Example :export class YourService {\n public sampleServiceMethod(username, systemId) {\n throw new UnauthorizedLoggableException(username, systemId);\n }\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/domain-object-validation.html":{"url":"additional-documentation/nestjs-application/domain-object-validation.html","title":"additional-page - Domain Object Validation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDomain Object Validation\nIf you need to validate a domain object, please write an independent class, so that the domain object itself, its repo and services can reuse it.\nEric Evans suggests using the specification pattern.A specification fulfills the following interface:\nExample :public interface Specification {\n boolean isSatisfiedBy(T t);\n}A specification checks if a domain object fulfills the conditions of the specification.\nA specification can simply specify that a domain object is valid. E.g. a Task has an owner and a description.A specification can specify more complex and specialized conditions. E.g. Task where every student assigned to the task's course has handed in a submission. \nThe specification pattern in its full extend describes how to use logic operators to combine multiple specifications into combined specifications as well. Please don't build this as long as you don't need it. YAGNI.More about full specification pattern\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/testing.html":{"url":"additional-documentation/nestjs-application/testing.html","title":"additional-page - Testing","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTesting\nAutomated testing is the essential part of the software development process.\nIt improves the code quality and ensure that the code operates correctly especially after refactoring.\nGeneral Test Conventions\nLean Tests\nThe tests should be as simple to read and understand as possible. They should be effortless to write and change, in order to not slow down development. Wherever possible:\n\navoid complex logic\ncover only one case per test\nonly use clearly named and widely used helper functions\nstick to blackbox testing: think about the unit from the outside, not its inner workings.\nits okay to duplicate code for each test\n\nNaming Convention\nWhen a test fails, the name of the test is the first hint to the developer (or any other person) to what went wrong where. (along with the \"describe\" blocks the test is in).\nThus, your describe structure and testcase names should be designed to enable a person unfamiliar with the code to identify the problem as fast as possible. It should tell him:\n\nwhat component is being tested\nunder what condition\nthe expected outcome\n\nTo facilitate this, your tests should be wrapped in at least two describe levels.\nExample :// Name of the unit under test\ndescribe(\"Course Service\", (() => {\n // method that is called\n describe('createCourse', () => {\n // a \"when...\" sentence\n describe(\"When a student tries to create a course\", (() => {\n // a \"should...\" sentence\n it(\"should return course\", async () => {\n ...\n });\n });\n });\n});Isolation\nEach test should be able to run alone, as well as together with any other tests. To ensure this, it is important that the test does not depend on any preexisting data.\n\nEach test should generate the data it needs, and ensure that its data is deleted afterwards. (this is usually done via mocha's \"afterEach\" function.\nWhen you create objects with fields that have to be globally unique, like the account username, you must ensure the name you choose is unique. This can be done by including a timestamp.\nNever use seeddata.\n\nTest Structure\nYour test should be structured in three seperate areas, each distinguished by at least an empty line:\n\nArrange - set up your testdata\nAct - call the function you want to test\nAssert - check the result\n\nthis is known as the AAA-pattern.\nThe tests for a unit should cover as much scenarios as possible. Parameters and the combination of parameters can often take numerous values. Therefore it largely differs from case to case what a sufficient amount of scenarios would be. Parameter values that contradict the typescript type definition should be ignored as a test case. \nThe test coverage report already enforces scenarios that test every possible if/else result in the code. But still some scenarios are not covered by the report and must be tested:\n\nAll error scenarios: That means one describe block for every call that can reject.\n\nWe use different levels of describe blocks to structure the tests in a way, that the tested scenarios could easily be recognized. The outer describe would be the function call itself. Every scenario is added as another describe inside the outer describe. \nAll of the data and mock preparation should happen in a setup function. Every describe scenario only contains one setup function and is called in every test. No further data or mock preparation should be added to the test. Often there will be only one test in every describe scenario, this is perfectly fine with our desired structure.\nExample :describe('[method]', () => {\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n\n it('...', () => {\n const { } = setup();\n });\n }); \n\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n });\n});Testing Samples\nHandling of function return values\nWhen assigning a value to an expect, separate the function call from the expectation to simplify debugging. This later helps when you not know about the return value type or if it's an promise or not. This is good style not only for tests.\nExample : // doSomethingCrazy : retValue\n it('bad sample', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good sample', () => {\n const result = doSomethingCrazy(x,y,z)\n expect(result).to... // here we can simply debug\n })\nPromises and Timouts in tests\nWhen using asynchronous functions and/opr promises, results must be awaited within of an async test function instead of using promise chains. While for expecting error conditions it might be helpful to use catch for extracting a value from an expected error, in every case avoid writing long promise chains.\n\nInstead of using done callback, use async test functions.\nUse await instead of (long) promise chains\nnever manually set a timeout\n\nExample : // doSomethingCrazy : Promise\n it('bad async sample', async function (done) => {\n this.timeout(10000);\n return doSomethingCrazy(x,y,z).then(result=>{\n expect(result).to...\n done() // expected done\n }).catch(()=>{\n logger.info(`Could not ... ${error}`);\n done() // unexpected done, test will always succeed which is wrong\n })\n })\n it('good async sample', async () => {\n // no timeout set\n const result = await doSomethingCrazy(x,y,z)\n expect(result).to...\n })\nTimeouts must not be used, when async handling is correctly defined!\n\nExpecting errors in tests\nWhen expecting an error, you might take values from an error, test for the error type thrown and must care of promises.\nExample : // doSomethingCrazy : Promise\n it('bad async sample expecting an error', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good async sample expecting an error value', async () => {\n const code = await doSomethingCrazy(x,y,z).catch(err => err.code)\n expect(code).to...\n })\n it('good sample expecting an error type from a sync function', () => {\n expect(() => doSomethingCrazySync(wrong, param)).toThrow(BadRequestException);\n })\n it('good sample expecting an error type from an async function', async () => {\n await expect(doSomethingCrazySync(wrong, param)).rejects.toThrow(BadRequestException);\n })Testing Utilities\nNestJS:\n\nprovides default tooling (such as test runner that builds an isolated module/application loader)\nprovides integration with Jest and Supertest out of the box\nmakes the Nest dependency injection system available in the testing environment for mocking components\n\nThe @nestjs/testing.Test class provides an execution context that mocks the full Nest runtime, but gives\nhooks that can help to manage class instances, including mocking and overriding.\nThe method Test.createTestingModule() takes module metadata as argument it returns TestingModule instance.\nThe TestingModule instance provides method compile() which bootstraps a module with its dependencies.\nEvery provider can be overwritten with custom provider implementation for testing purposes.\nExample : beforeAll(async () => {\n const moduleRef = await Test.createTestingModule({\n controllers: [SampleController],\n providers: [SampleService],\n }).compile();\n\n sampleService = moduleRef.get(SampleService);\n sampleController = moduleRef.get(CatsController);\n });Mocking\nUsing the utilities provided by NestJs, we can easily inject mocks into our testing module. The mocks themselves, we create using a library by @golevelup.\nYou can create a mock using createMock(). As result you will recieved a DeepMocked\nExample :let fut: FeatureUnderTest;\nlet mockService: DeepMocked;\n\nbeforeAll(async () => {\n const module = await Test.createTestingModule({\n providers: [\n FeatureUnderTest,\n {\n provide: MockService,\n useValue: createMock(),\n },\n ],\n }).compile();\n\n fut = module.get(FeatureUnderTest);\n mockService = module.get(MockService);\n});\n\nafterAll(async () => {\n await module.close();\n});\n\nafterEach(() => {\n jest.resetAllMocks();\n})The resulting mock has all the functions of the original Class, replaced with jest spies. This gives you code completion and type safety, combined with all the features of spies.\ncreateTestingModule should only be calld in beforeAll and not in beforeEach to keep the setup and teardown for each test as simple as possible. Therefore module.close should only be called in afterAll and not in afterEach.\nTo generally reset specific mock implementation after each test jest.resetAllMocks can be used in afterEach. jest.restoreAllMocks should not be used, because in some cases it will not properly restore mocks created by ts-jest.\nExample :describe('somefunction', () => {\n describe('when service returns user', () => {\n const setup = () => {\n const resultUser = userFactory.buildWithId();\n\n mockService.getUser.mockReturnValueOnce(resultUser);\n\n return { resultUser };\n };\n\n it('should call service', async () => {\n setup();\n await fut.somefunction();\n expect(mockService.getUser).toHaveBeenCalled();\n });\n\n it('should return user passed by service', async () => {\n const { resultUser } = setup();\n const result = await fut.somefunction();\n expect(result).toEqual(resultUser);\n });\n });\n});For creating specific mock implementations the helper functions which only mock the implementation once, must be used (e.g. mockReturnValueOnce). With that approach more control over mocked functions can be achieved.\nIf you want to mock a method that is not part of a dependency you can mock it with jest.spyOn. We strongly recommend the use of jest.spyOn and not jest.fn, because jest.spyOn can be restored a lot easier. \nUnit Tests vs Integration Tests\nIn Unit Tests we access directly only the component which is currently testing.\nAny dependencies should be mocked or are replaced with default testing implementation.\nEspecially the database access and database calls should be mocked.\nIn contrast to unit tests the integration tests use access to the database and execute\nreal queries using repositories.\nRepo Tests\nFor the data access layer, integration tests can be used to check the repositories base functionality against a database.\nFor Queries care DRY principle, they should be tested very carefully.\n\nUse a in-memory database for testing to allow parallel test execution and have isolated execution of tests.\n\n\nA test must define the before and after state of the data set clearly and cleanup the database after execution to the before state.\n\n\nInstead of using predefined data sets, all preconditions should be defined in code through fixtures.\n\nOur repository layer uses mikro-orm/EntityManager to execute the queries.\nBy testing repositories we want to verify the correct behaviour of the repository functions.\nIt includes verifying expected database state after executed repository function.\nTherefore, the *.repo.integration.spec.js should be used.\nThe basic structure of the repo integration test:\nPreconditions (beforeAll):\n\nCreate Nest JS testing module:\n1.1 with MongoMemoryDatabaseModule defining entities which are used in tests. This will wrap MikroOrmModule.forRoot() with running a MongoDB in memory.\n1.2 provide the repo which should be tested\nGet repo, orm and entityManager from testing module\n\nExample : import { MongoMemoryDatabaseModule } from '@src/modules/database';\n\n let repo: NewsRepo;\n let em: EntityManager;\n let testModule: TestingModule;\n\n beforeAll(async () => {\n testModule: TestingModule = await Test.createTestingModule({ (1)\n imports: [\n MongoMemoryDatabaseModule.forRoot({ (1.1)\n entities: [News, CourseNews, ...],\n }),\n ],\n providers: [NewsRepo], (1.2)\n }).compile();\n repo = testModule.get(NewsRepo); (2)\n orm = testModule.get(MikroORM);\n em = testModule.get(EntityManager);\n })Post conditions (afterAll), Teardown\nAfter all tests are executed close the app and orm to release the resources by closing the test module.\nExample : afterAll(async () => {\n await testModule.close();\n });\nWhen Jest reports open handles that not have been closed, ensure all Promises are awaited and all application parts started are correctly closed.\n\nEntity Factories\nTo fill the in-memory-db we use factories. They are located in \\apps\\server\\src\\shared\\testing\\factory. If you create a new one, please add it to the index.ts in that folder.\nAccessing the in-memory-db\nWhile debugging the tests, the URL to the in-memory-db can be found in the EntityManager instance of your repo in em.config.options.clientUrl.\nCopy paste this URL to your DB Tool e.g. MongoDB Compass. You will find a database called 'test' with the data you created for your test.\nMapping Tests\nMapping tests are Unit Tests which verify the correct mapping between entities and Dto objects.\nThese tests should not have any external dependencies to other layers like database or use cases.\nUse Case Tests\nSince a usecase only contains orchestration, its tests should be decoupled from the components it depends on. We thus use unittests to verify the orchestration where necessary\n\nAll Dependencies should be mocked.\n\n\nUse Spies to verify necessary steps, such as authorisation checks.\n\nto be documented\nController Tests\nControllers do not contain any logic, but exclusively information to map and validate between dataformats used on the network, and those used internally, as well as documentation of the api.\nMost of these things can not be covered by unit tests. Therefore we do not write specific unittests for them, and only cover them with api tests.\nAPI Tests\nThe API tests are plumbing or integration tests. Their job is to make sure all components that interact to fulfill a specific api endpoint are wired up correctly, and fulfil the expectation set up in the documentation.\nAPI tests should be located in the folder controller/api-test of each module.\nThey should call the endpoint like a external entity would, treating it like a blackbox. It should try all parameters available on the API, users with different roles, as well as relevant error cases.\nDuring the API test, all components that are part of the server, or controlled by the server, should be available. This includes an in-memory database.\nAny external services or servers that are outside our control should be mocked away via their respective adapters.\nReferences\nThis guide is inspired by https://github.com/goldbergyoni/javascript-testing-best-practices/\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/vscode.html":{"url":"additional-documentation/nestjs-application/vscode.html","title":"additional-page - VSCode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nVSCode\nLaunch scripts\nIn the file ./vscode/launch.default.json you find following actions:\n\nAttach to NestJS will allow to attach VSCode debugger to an already running application\nDeubg NestJS via NPM will start the application and attach the debugger\n\nSettings\nIn the file ./vscode/settings.default.json find suggested settings.\nRecommended extensions\nSee ./vscode/extensions.json for recommendations.\nJest\nJest is used to care of unit- and end2end tests on all *.spec.ts files.\n Allows to just see failing tests in Problems tab.\n and get small icons like ✔️ or a cross beside it-definitions inside of test files.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/git.html":{"url":"additional-documentation/nestjs-application/git.html","title":"additional-page - Git","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nGit\nBranch name conventions\n\nEach change should be done in a ticket (no matter how small)\nThe ticket does not need to be refined for very small things\nMight be relevant for reporting later\n\n\nFolder (feature/..) should no longer be used\nStay below 64 letters\nDo not simply use ticket title, usually we need a shorter description :-)\n\n\nTicket number needs to be uppercase (BC-1234)\nRelated to matching with Jira\nCareful: namespace is lowercase\n\n\n\nExample :BC-XXXX-kebab-case-short-descriptionCommit message conventions\n\nSquashed commit subject should start with a ticket number, and end with a PR number\nClean body (contains all commits by default)\nOnly leave changes relevant for main\nRemove commits likes 'fix for linter', 'add tests', 'fix review comments'\nSee example below\n\n\nWrite commit messages in imperative and active\nGood: \"make the code better\"\nBad: \"made the code better\", \"makes the code better\"\n\n\nFeel free to write actual text\n\nExample :BC-1993 - lesson lernstore and geogebra copy (#3532)\n \nIn order to make sure developers in the future can find out why changes have been made,\nwe would like some descriptive text here that explains what we did and why.\n \n- change some important things\n- change some other things\n- refactor some existing things\n \n# I dont need to mention tests, changes that didnt make it to main, linter, or other fixups\n# only leave lines that are relevant changes compared to main\n# comments like this will not actually show up in the git historyWindows\nWe strongly recommend to let git translate line endings. Please set git config --global --add core.autocrlf input when working with windows.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/keycloak.html":{"url":"additional-documentation/nestjs-application/keycloak.html","title":"additional-page - Keycloak","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nErWIn-IDM (Keycloak)\n\nErWIn-IDM, namely Keycloak, will be the future Identity Management System (IDM) for the dBildungscloud. Keycloak\nprovides OpenID Connect, SAML 2.0 and other identity related functionalities like SSO out of the box. It can\nalso act as identity broker or aggregate identities from third party services which can be an active directory or LDAP.\n\nDocker\nTo run Keycloak locally for development purpose use the following Bash or PowerShell command. You can log into Keycloak\nhere http://localhost:8080. If you don't want to block your terminal, you can add the -d option to start the container\nin the background. Execute these commands in the repository root or the data seeding will fail, and you can not log into\nKeycloak with any user.\nBash:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"PowerShell:\nExample :docker run `\n --name erwinidm `\n -p 8080:8080 `\n -p 8443:8443 `\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" `\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest `\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering\nTo add ErWIn-IDM identity broker feature via OpenID Connect (OIDC) Identity Provider (IdP) mock follow the steps below. Execute these commands in the repository root.\n\nSet env vars (or in your .env file) 'OIDCMOCK__BASE_URL' to http://:4011.\nTo make it work with the nuxt client set the env var HOST=http://localhost:4000\nre-trigger npm run setup:db and npm run setup:idm to reset and apply seed data.\nstart the 'oidc-server-mock' as follows:\n\nExample :docker run \\\n --name oidc-server-mock \\\n -p 4011:80 \\\n -e ASPNETCORE_ENVIRONMENT='Development' \\\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' \\\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' \\\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' \\\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" \\\n ghcr.io/soluto/oidc-server-mock:0.6.0PowerShell:\nExample :docker run `\n --name oidc-server-mock `\n -p 4011:80 `\n -e ASPNETCORE_ENVIRONMENT='Development' `\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' `\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' `\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' `\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" `\n ghcr.io/soluto/oidc-server-mock:0.6.0Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering with LDAP provisioning\nThe broker feature can be setup in conjunction with LDAP provisioning for local testing purpose. Therefore, run the sc-openldap-single container:\nExample :docker run \\\n --name sc-openldap-single \\\n -p 389:389 \\\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestExample :docker run `\n --name sc-openldap-single `\n -p 389:389 `\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestThe LDAP provisioning is trigger as follows:\nExample :curl -X POST \\\n  'http://localhost:3030/api/v1/sync?target=ldap' \\\n  --header 'Accept: */*' \\\n  --header 'X-API-KEY: example'Example :Invoke-RestMethod `\n -Uri 'http://localhost:3030/api/v1/sync?target=ldap' `\n -Method Post `\n -Headers @{ \"Accept\" = \"*/*\"; \"X-API-KEY\" = \"example\" }See '/tmp/config/users-config.json' for the users details.\nTest local environment\nYou may test your local setup executing 'keycloak-identity-management.integration.spec.ts':\nExample :npx jest apps/server/src/shared/infra/identity-management/keycloak/service/keycloak-identity-management.service.integration.spec.tsSeeding Data\nDuring container startup Keycloak will always create the Master realm with the admin user. After startup, we use the\nKeycloak-CLI to import the dBildungscloud realm, which contains some seed users, groups and permissions for development\nand testing. In the table below you can see the username and password combinations for the Keycloak login.\n\n\n\nUsername\nPassword\nDescription\n\n\n\n\nkeycloak\nkeycloak\nThe overall Keycloak administrator with all permissions.\n\n\ndbildungscloud\ndBildungscloud\nThe dBildungscloud realm specific administrator.\n\n\n\nUpdating Seed Data\n\nRun Keycloak and make the desired changes\nUse docker container exec -it keycloak bash to start a bash in the container\nUse the Keycloak-CLI to export all Keycloak data with /opt/keycloak/bin/kc.sh export --dir /tmp/realms\nSave your changes with a commit\nIf you start your container with a command from the docker section, your changes will be directly applied to the starting Keycloak container\n\n\nIMPORTANT: During the export process there will be some errors, that's because the export process will be done on the\nsame port as the Keycloak server. This leads to Keycloak failing to start the server in import/export mode. Due to the\ntransition from WildFly to Quarkus as application server there is currently no documentation on this topic.\n\nIn order to re-apply the seeding data for a running keycloak container, you may run following commands (to be executed in the repository root):\n\ndocker cp ./backup/idm/keycloak keycloak:/tmp/realms\ndocker exec erwinidm /opt/keycloak/bin/kc.sh import --dir /tmp/realms\n\nNPM Commands\nA list of available NPM commands regarding Keycloak / IDM.\n\n\n\nCommand\nDescription\n\n\n\n\nsetup:idm:seed\nSeeds users for development and testing purpose into the IDM\n\n\nsetup:idm:configure\nConfigures identity and authentication providers and other details in the IDM\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/rocket.chat.html":{"url":"additional-documentation/nestjs-application/rocket.chat.html","title":"additional-page - Rocket.Chat","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRocket.Chat\nStart Mongodb\nIt makes sense for Rocket.Chat to launch its own mongodb in Docker. Reason for this is Rocket.Chat requires Mongodb as replicaSet setup.\nExample :docker run --name rocket-chat-mongodb -m=256m -p27030:27017 -d docker.io/mongo --replSet rs0 --oplogSize 10Start mongoDB console and execute\nExample :rs.initiate({\"_id\" : \"rs0\", \"members\" : [{\"_id\" : 0, \"host\" : \"localhost:27017\"}]})Start rocketChat\n(check the latest settings https://github.com/hpi-schul-cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#L9)\nPlease not that the displayed //172.29.173.128 is the IP address of the mongoDB docker container.\nYou can get the ip over the command: docker inspect rocket-chat-mongodb | grep \"IPAddress\" (dependent on our system)\nExample :docker run\\\n -e CREATE_TOKENS_FOR_USERS=true \\\n -e MONGO_URL=mongodb://172.29.173.128:27030/rocketchat \\\n -e ADMIN_PASS=huhu \\\n -e API_Enable_Rate_Limiter_Limit_Calls_Default=255 \\\n -e Accounts_iframe_enabled=true \\\n -e Accounts_iframe_url=http://localhost:4000/rocketChat/Iframe \\\n -e Accounts_Iframe_api_url=http://localhost:4000/rocketChat/authGet \\\n -e Accounts_AllowRealNameChange=false \\\n -e Accounts_AllowUsernameChange=false \\\n -e Accounts_AllowEmailChange=false \\\n -e Accounts_AllowAnonymousRead=false \\\n -e Accounts_Send_Email_When_Activating=false \\\n -e Accounts_Send_Email_When_Deactivating=false \\\n -e Accounts_UseDefaultBlockedDomainsList=false \\\n -e Analytics_features_messages=false \\\n -e Analytics_features_rooms=false \\\n -e Analytics_features_users=false \\\n -e Statistics_reporting=false \\\n -e API_Enable_CORS=true \\\n -e Discussion_enabled=false \\\n -e FileUpload_Enabled=false \\\n -e UI_Use_Real_Name=true \\\n -e Threads_enabled=false \\\n -e Accounts_SetDefaultAvatar=false \\\n -e Iframe_Restrict_Access=false \\\n -e Accounts_Iframe_api_method=GET \\\n -e OVERWRITE_SETTING_Show_Setup_Wizard='completed' \\\n -p 3000:3000 docker.io/rocketchat/rocket.chat:4.7.2ENVS\nYou must also configure you server and legacy client application.\nUse the .env file in top of the project folders.\ndBildungscloud Backend Server\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\nROCKET_CHAT_ADMIN_USER=admin\nROCKET_CHAT_ADMIN_PASSWORD=huhudBildungscloud Legacy Client\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/configuration.html":{"url":"additional-documentation/nestjs-application/configuration.html","title":"additional-page - Configuration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/authorisation.html":{"url":"additional-documentation/nestjs-application/authorisation.html","title":"additional-page - Authorisation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nNestJS Authorization Module\nObjectives\nBreaking down complexity and isolate it.\nOne place to solve a specific authorization for a scope.\nOne implementation to handle all different situations in our system.\nIt should not be possible to use it in a wrong way.\n\nYou should not need to understand the complete system, to know if something is authorized\n\nWe also want to avoid any specific code for modules, collections, or something else, in the authorization module.\nExplanation of Terms\nPermissions\nWe have string based permissions.\nFor examples check \"enum Permission\".\nIt includes all available permissions and is not seperated by concerns or abstraction levels.\nThe permissions have different implicit scopes like instance, school, or named scope like team and course.\n(Feature Flag Permissions)\nSome of the permissions are used like feature flags. We want to seperate and move these in the future.\nPlease keep that in mind, while becoming familiar with permissions.\nRoles\nWe have a role collection, where each role has a permissions array that includes string based permissions.\nRoles inherit permissions from the roles they have in their \"roles\" field.\nLike the \"user\" role, some of these roles are abstract and only used for inheritance.\nSome others are scope based with a prefix name like team*, or course*.\nThe \"real\" user roles by name are expert, student, teacher and administrator. All of these are in the school scope and the superhero is in the scope of an instance.\n\nIn future we want to remove the inherit logic.\nWe want to add scope types to each role.\nAdd more technical users for the instance scope.\n\nEntities\nThe entities are the representation of a single document of the collection, or the type.\nThey are used for authorization for now, but should be replaced by domain objects soon.\nDomain Objects\nThey are not really introduced. They should map between the repository layer and the domain.\n\nIn future they are the base for authorization and the authorization service doesn't know anything about entities anymore.\n\nScopes\nEverything what the system, or a user wants to do, is executed in a scope.\nA scope means an area like the complete instance, the school, the course, the user itself and so on.\nThe scopes are highly bind to the real domain objects that we have in our domain.\nScope Actions\nThe permission for a base action, like they are defined in CRUD operations, is needed to execute something in a scope.\nThe most implicit action you ever need is the \"read\" action. That means, you must have the authorization to \"read\" the scope, otherwise it should not exist for you. :-)\nThe other possible action is to have write access to the scope.\nIt is a combination of delete, edit, create from CRUD side.\n\nFrom our current perspective, we need no differentiation.\nBut we force the implementation in a way, that allows us to add some more.\n\nScope Permission\nWe have different situations where it is hard to say you can write/read to the domain scope.\nWe need the possibility to define different permissions for a single domain scope, or a single domain object it self.\n\nLet say the user can edit his own user account, but we want to disallow that they can change his age.\nBut an administrator should have the authorization to do it.\n\nor a other case..\n\nA student has limited permissions in a team, where he is only a member, but would have more permissions in a team, where he is the owner. So at this point, we need to distingush between instances of domain objects.\n\nUser(s)\nIn authorization scope it can be a system user, or a real user in our application.\nEach user has a role with permissions in the scope of the domain object they want to interact with.\nEach authorization requires a user.\nSystem Users\nWe have console operations, or operations based on API_KEYS that are used between internal services for already authorized operations like copy and copy files in file service.\nFor this we want to use system user and roles with own permissions.\n\nThey are not introduced for now\n\nRules\nThe rules are implemented with a strategy pattern and are called from the authorization service.\nThe implementation should solve the authorization for a domain object based on the executed action.\nIt implements a check for which domain object, entity, or additional conditions should be used.\n\nThe rule must validate our scope actions.\nWe highly recommend that every single operation and check in the rule is implemented as a additional method to keep the logic clean and moveable.\n\nUser (Role) Permissions vs Scope Based Permissions\nThe permissions of the user come from his role.\nThis permissions have no explicit scope. But implicitly the roles expert, student, teacher and administrator are in the school scope. The superhero is implicitly in the scope of the instance.\nIt exists also scope based permissions. A user can have different (scope)roles in different (domain)scopes. For example in teams where the student can have team member role in one team, or team adminstrator in another.\n\nIn future we want to switch the implicit scope of the user role permissions to explicit scopes like in teams.\nAt the moment we must handle scope-, user- and system-user-permissions as seperated special cases in our implementation.\nBy implementing user role permissions bind to scopes, we can do it in one way for all situations.\n\nHow should you Authorize an Operation?\nAuthorization must be handled in use cases (UC). They solve the authorization and orchestrate the logic that should be done in services, or private methods.\nYou should never implement authorization on service level, to avoid different authorization steps.\nWhen calling other internal micro service for already authorized operations please use a queue based on RabbitMQ.\n\nNot implemented but coming soon.\n\nHow to use Authorization Service\n\nPlease avoid to catch the errors of the authorization in UC.\nWe set empty array as required for passing permissions to make it visible that no string base permission is needed.\n\nExample 1 - Execute a Single Operation\nExample : this.authorizationService.checkPermission(user, course, AuthorizationContextBuilder.write([])\n // or\n this.authorizationService.hasPermission(user, course, AuthorizationContextBuilder.write([])\n // next orchestration stepsExample 2 - Set Permission(s) of User as Required\nExample :// Multiple permissions can be added. For a successful authorization, the user need all of them.\nawait this.authorizationService.hasPermission(userId, course, AuthorizationContextBuilder.read([Permissions.COURSE_VIEW]));\n// next orchestration stepsExample 4 - Define Context for Multiple Places\nExample :/** const **/\nexport const FileStorageAuthorizationContext = {\n create: AuthorizationContextBuilder.write([Permission.FILESTORAGE_CREATE]),\n read: AuthorizationContextBuilder.read([Permission.FILESTORAGE_VIEW]),\n update: AuthorizationContextBuilder.write([Permission.FILESTORAGE_EDIT]),\n delete: AuthorizationContextBuilder.write([Permission.FILESTORAGE_REMOVE]),\n};\n\n/** UC **/\nthis.authorizationService.hasPermission(userId, course, PermissionContexts.create);\n// do other orchestration stepsHow to use in our use cases\nExample - Create a school by superhero\nExample :async createSchoolBySuperhero(userId: EntityId, params: { name: string }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n this.authorizationService.hasAllPermissions(user, [Permission.SCHOOL_CREATE]);\n\n const school = new School(params);\n await this.schoolService.save(school);\n\n return true;\n}\nExample - Create user by admin\nExample :\nasync createUserByAdmin(userId: EntityId, params: { email: string, firstName: string, lastName: string, schoolId: EntityId }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n \n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER])\n await this.authorizationService.checkPermission(user, school, context);\n\n const newUser = new User(params)\n await this.userService.save(newUser);\n\n return true;\n}\nExample - Edit course by admin\nExample :// admin\nasync editCourseByAdmin(userId: EntityId, params: { courseId: EntityId, description: string }) {\n\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = course.school;\n\n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER]);\n this.authorizationService.checkPermissions(user, school, context);\n\n course.description = params.description;\n await this.courseService.save(course);\n\n return true;\n}\nExample - Create a Course\nExample :// User can create a course in scope a school, you need to check if he can it by school\nasync createCourse(userId: EntityId, params: { schoolId: EntityId }) {\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = this.schoolService.getSchool(params.schoolId);\n\n this.authorizationService.checkPermission(user, school\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_CREATE],\n }\n );\n\n const course = new Course({ school });\n await this.courseService.saveCourse(course);\n\n return course;\n}\nExample - Create a Lesson\nExample :// User can create a lesson to course, so you have a courseId\nasync createLesson(userId: EntityId, params: { courseId: EntityId }) {\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n // check authorization for user and course\n this.authorizationService.checkPermission(user, course\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_EDIT],\n }\n );\n\n const lesson = new Lesson({course});\n await this.lessonService.saveLesson(lesson);\n\n return true;\n}How to write a rule\nSo a rule must validate our scope actions. For example we have a news for the school or course. The news has a creator and target model.\n\nAttention: The target model must be populated\n\nExample :@Injectable()\nexport class NewsRule extends BasePermission {\n constructor(private readonly authorizationHelper: AuthorizationHelper, private readonly schoolRule: SchoolRule, private readonly courseRule: CourseRule) {\n super();\n }\n\n // Is used to select the matching rule in the rule manager. Therefore we keep the condition to which case the rule\n // applies in the rule itself. In future we expect more complex conditions that could apply here.\n public isApplicable(user: User, entity: News): boolean {\n const isMatched = entity instanceof News;\n\n return isMatched;\n }\n\n public hasPermission(user: User, entity: News, context: AuthorizationContext): boolean {\n const { action, requiredPermissions } = context;\n\n // check required permissions passed by UC\n const hasPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n // check access to entity by property\n const isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n let hasNewsPermission = false;\n\n if (action === Actions.read) {\n hasNewsPermission = this.parentPermission(user, entity, action);\n } else if (action === Actions.write) {\n hasNewsPermission = isCreator;\n }\n\n const result = hasPermission && hasNewsPermission;\n\n return result;\n }\n\n private parentPermission(user: User, entity: News, action: Actions): boolean {\n let hasParentPermission = false;\n // check by parentRule, because the schoolRule can contain extra logic\n // e.g. school is offline\n // or courseRule has complex permissions-resolves\n if (entity.targetModel === NewsTargetModel.School) {\n hasParentPermission = this.schoolRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n } else if (entity.targetModel === NewsTargetModel.Course) {\n hasParentPermission = this.courseRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n }\n\n return hasParentPermission;\n }\n}\nStructure of the Authorization Components\nfeathers-* (legacy/deprecated)\nIt exists a adapter to call featherJS endpoints that solve authorizations.\n\nThis service is only used in news and should not be used in any other place.\nWe want to remove it completly.\n\nAuthorization Module\nThe authorization module is the core of authorization. It collects all needed information and handles it behind a small interface. It exports the authoriation service that can be used in your use case over injections.\nReference.loader\nIt should be use only inside of the authorization module.\nIt is use to load registrated ressouces by the id and name of the ressource.\nThis is needed to solve the API requests from external services. (API implementation is missing for now)\n\nPlease keep in mind that it can have an impact on the performance if you use it wrongly.\nWe keep it as a seperate method to avoid the usage in areas where the domain object should exist, because we see the risk that a developer could be tempted by the ease of only passing the id.\n\nauthorization-context.builder\nWe export an authorization context builder to prepare the parameter for the authorization service called \"authorization context\".\nThis is optional and not required.\nBut it enables us to easily change the structure of the authorization context without touching many different places.\nshared/domain/interface/*\nrolename.enum\nAn enum that holds all avaible role names.\npermission.enum\nA enum that holds all avaible permission names, however it's mixing all domain scopes atm.\nWorking other Internal MicroServices\n\nExample FilesStorageService\n\nWe have the files storage service application that is a bundle of modules of this repository.\nThe application is startet as additional micro service.\nIt exists the need that the server application can call the file service.\nWe add a files storage client module to the server.\nThis module exports a service to communicate with the file service.\nFor communication it uses RabbitMQ.\nEvery operation must already be authorized in the UC of the server. There is no need to do it again in files storage service.\nFor this reason, we want the consumer of the RabbitMQ item to call the files storage service directly without authorization.\nLegacy Tech Stack FeatherJS Hooks\nIn featherJS all the authorization is done in hooks. Mostly before hooks and sometimes in after hooks.\nBefore and after means before, or after the database operation. For self writen services before, or after the call of the operation that should be executed.\nThey work similar to express middleware and bring their own request context.\nIt exists hooks that can be used for all http(s) calls, or for specific type based on CRUD operations.\nAdditionally it also exists the find operations that are a http(s) GET requests without the ID of a specific element.\nEach function that adds to the hooks will be executed in order. Hooks for all methods first, then hooks for specific methodes.\nEach hooks exists for a featherJS service that exposes directly the api endpoints directly. Additional it exists a global hook pattern for the whole application.\nExample: https://github.com/hpi-schul-cloud/schulcloud-server/blob/main/src/services/lesson/hooks/index.js#L232\nDesired Changes in Future\nSome small steps are done. But many next steps still exist.\nThey follow our general target.\nNext Steps\n\nImplementation of Scope Based Permissions as generell solution instead of User Permissions that has only implicit school scopes for now.\nRemove populate logic in reference loader.\nSolve eager loading in coursegroups.\nIntroduce RabbitMQ. Splitting Service(logic) from UC, that we can call services over the consumer for internal communication between micro services of already authorized operations.\nThink about: Move hasPermission checks from rules to a more generic place.\nRemove jwt decorator and cleanup copy logic.\nMove authorization-context.builder to authorization module.\nRemove inheritance from roles, because we want to write it explicitly into the collection documents.\nMoving role api endpoints to nestjs.\nFixing of dashboard to handle roles in the right way as superhero.\nSwitching entity based authorization to domain objects based in steps.\nCleanup of feature flags from user permissions.\nAdd existing feature flags to rules on places where it make sense.\nIntroduce instance as a scope to have an implemenation that handles all scopes/rules/permissions/user types in the same way.\n\nRefactoring Todos\n\nTask module should fully use authorization service.\nNews module should start to use authorization service.\n\nIs Needed\n\nWe can introduce a new layer called \"policy\" that combines different rules (any of them has their own matching strategy) for a single domain object between authorization and rule to reduce complexity in a single rule.\nWe can switch to a behaviour where rules register themself at the authorization service than.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/code-style.html":{"url":"additional-documentation/nestjs-application/code-style.html","title":"additional-page - Code Style","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCode Style\nFunction\nNaming\nThe name of a function should clearly communicate what it does. There should be no need to read the implementation of a function to understand what it does.\nThere are a few keywords that we use with specific meaning:\nis...\nisTask(), isPublished(), isAuthenticated(), isValid()\nA function with the prefix \"is...\" is checking wether the input belongs to a certain (sub)class, or fulfils a specific criteria.\nThe function should return a boolean, and have no sideeffects.\ncheck...\ncheckPermission(), checkInputIsValid()\nA function with the prefix \"check...\" is checking the condition described in its name, throwing an error if it does not apply.\nhas...\nhasPermission(),\nsimilar to \"is...\", the prefix \"has...\" means that the function is checking a condition, and returns a boolean. It does NOT throw an error.\nClasses\nOrder of declarations\nClasses are declared in the following order:\n\nproperties\nconstructor\nmethods\n\nExample:\nExample :export class Course {\n // 1. properties\n name: string;\n \n // more properties...\n\n // 2. constructor\n constructor(props: { name: string }) {\n // ...\n }\n\n // 3. methods\n getShortTitle(): string {\n // ...\n }\n\n // more methods...\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/s3clientmodule.html":{"url":"additional-documentation/nestjs-application/s3clientmodule.html","title":"additional-page - S3ClientModule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nS3 client module\nThis module allows to connect to the S3 storage with our abstraction layer.\nhow to use\nYou need to create a unique connection token and set it as the connection name in S3 configuration. And you must use this token, when injecting the S3 client into your service. This is very important, because multiple modules could potentially use the S3 client with different configurations.\nThe S3ClientModule.register method awaits an array of S3 configurations. Also you can create many connections to different S3 providers and buckets.\nExample :// your.config.ts\nexport const YOUR_S3_UNIQ_CONNECTION_TOKEN = \"YOUR_S3_UNIQ_CONNECTION_TOKEN\";\n\nconst s3Config: S3Config = {\n connectionName: YOUR_S3_UNIQ_CONNECTION_TOKEN, // Important!\n endpoint: \"\",\n region: \"\",\n bucket: \"\",\n accessKeyId: \"\",\n secretAccessKey: \"\",\n};\n\n// your.service.ts\n\n@Injectable()\nexport class FilesStorageService {\n constructor(\n @Inject(YOUR_S3_UNIQ_CONNECTION_TOKEN) // Important!\n private readonly storageClient: S3ClientAdapter)\n}\n\n// your.module.ts\n@Module({\n imports: [S3ClientModule.register([s3Config]),]\n providers: [YourService]\n})\n\nexport class YourModule {}\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/modules/AuthenticationModule.html b/modules/AuthenticationModule.html index 13d2ed0e668..d1fc6eb39e6 100644 --- a/modules/AuthenticationModule.html +++ b/modules/AuthenticationModule.html @@ -128,14 +128,14 @@ cluster_AuthenticationModule_imports - -cluster_AuthenticationModule_providers - - cluster_AuthenticationModule_exports + +cluster_AuthenticationModule_providers + + AccountModule diff --git a/modules/AuthenticationModule/dependencies.svg b/modules/AuthenticationModule/dependencies.svg index ac47c7c882c..fa0d98b3112 100644 --- a/modules/AuthenticationModule/dependencies.svg +++ b/modules/AuthenticationModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_AuthenticationModule_imports - -cluster_AuthenticationModule_providers - - cluster_AuthenticationModule_exports + +cluster_AuthenticationModule_providers + + AccountModule diff --git a/modules/AuthorizationModule.html b/modules/AuthorizationModule.html index 0ae0383aab1..a5b3c2eab04 100644 --- a/modules/AuthorizationModule.html +++ b/modules/AuthorizationModule.html @@ -128,14 +128,14 @@ cluster_AuthorizationModule_providers - -cluster_AuthorizationModule_exports - - cluster_AuthorizationModule_imports + +cluster_AuthorizationModule_exports + + FeathersModule diff --git a/modules/AuthorizationModule/dependencies.svg b/modules/AuthorizationModule/dependencies.svg index 9ba97b31334..f366994c0fb 100644 --- a/modules/AuthorizationModule/dependencies.svg +++ b/modules/AuthorizationModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_AuthorizationModule_providers - -cluster_AuthorizationModule_exports - - cluster_AuthorizationModule_imports + +cluster_AuthorizationModule_exports + + FeathersModule diff --git a/modules/AuthorizationReferenceModule.html b/modules/AuthorizationReferenceModule.html index 38a15903109..024b76337e1 100644 --- a/modules/AuthorizationReferenceModule.html +++ b/modules/AuthorizationReferenceModule.html @@ -124,203 +124,203 @@ cluster_AuthorizationReferenceModule + +cluster_AuthorizationReferenceModule_imports + + cluster_AuthorizationReferenceModule_providers - + cluster_AuthorizationReferenceModule_exports - - - -cluster_AuthorizationReferenceModule_imports - + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationModule->AuthorizationReferenceModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->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 - - + + 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 413c88d6efd..cbb553a5099 100644 --- a/modules/AuthorizationReferenceModule/dependencies.svg +++ b/modules/AuthorizationReferenceModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_AuthorizationReferenceModule + +cluster_AuthorizationReferenceModule_imports + + cluster_AuthorizationReferenceModule_providers - + cluster_AuthorizationReferenceModule_exports - - - -cluster_AuthorizationReferenceModule_imports - + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationModule->AuthorizationReferenceModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->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 - - + + 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 947c463c0e6..6f5ae23a115 100644 --- a/modules/BoardApiModule.html +++ b/modules/BoardApiModule.html @@ -124,103 +124,103 @@ cluster_BoardApiModule - -cluster_BoardApiModule_imports - - cluster_BoardApiModule_providers - + + + +cluster_BoardApiModule_imports + 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 39091f4ef19..42b22bc26e5 100644 --- a/modules/BoardApiModule/dependencies.svg +++ b/modules/BoardApiModule/dependencies.svg @@ -24,103 +24,103 @@ cluster_BoardApiModule - -cluster_BoardApiModule_imports - - cluster_BoardApiModule_providers - + + + +cluster_BoardApiModule_imports + 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/CacheWrapperModule.html b/modules/CacheWrapperModule.html index 77cd7fea92e..d8139552629 100644 --- a/modules/CacheWrapperModule.html +++ b/modules/CacheWrapperModule.html @@ -124,14 +124,14 @@ cluster_CacheWrapperModule - -cluster_CacheWrapperModule_exports - - cluster_CacheWrapperModule_providers + +cluster_CacheWrapperModule_exports + + CacheService diff --git a/modules/CacheWrapperModule/dependencies.svg b/modules/CacheWrapperModule/dependencies.svg index 8bda11cb761..5734bbdcdbd 100644 --- a/modules/CacheWrapperModule/dependencies.svg +++ b/modules/CacheWrapperModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_CacheWrapperModule - -cluster_CacheWrapperModule_exports - - cluster_CacheWrapperModule_providers + +cluster_CacheWrapperModule_exports + + CacheService diff --git a/modules/ClassModule.html b/modules/ClassModule.html index f0d3d619bf3..c922d8c93a7 100644 --- a/modules/ClassModule.html +++ b/modules/ClassModule.html @@ -124,14 +124,14 @@ cluster_ClassModule - -cluster_ClassModule_exports - - cluster_ClassModule_providers + +cluster_ClassModule_exports + + ClassService diff --git a/modules/ClassModule/dependencies.svg b/modules/ClassModule/dependencies.svg index 997714bb623..dff52b79c1a 100644 --- a/modules/ClassModule/dependencies.svg +++ b/modules/ClassModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_ClassModule - -cluster_ClassModule_exports - - cluster_ClassModule_providers + +cluster_ClassModule_exports + + ClassService diff --git a/modules/ConsoleWriterModule.html b/modules/ConsoleWriterModule.html index 2b7b1224b01..7d69a7a93db 100644 --- a/modules/ConsoleWriterModule.html +++ b/modules/ConsoleWriterModule.html @@ -124,14 +124,14 @@ cluster_ConsoleWriterModule - -cluster_ConsoleWriterModule_providers - - cluster_ConsoleWriterModule_exports + +cluster_ConsoleWriterModule_providers + + ConsoleWriterService diff --git a/modules/ConsoleWriterModule/dependencies.svg b/modules/ConsoleWriterModule/dependencies.svg index bdae8c103a8..10cd3c55c39 100644 --- a/modules/ConsoleWriterModule/dependencies.svg +++ b/modules/ConsoleWriterModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_ConsoleWriterModule - -cluster_ConsoleWriterModule_providers - - cluster_ConsoleWriterModule_exports + +cluster_ConsoleWriterModule_providers + + ConsoleWriterService diff --git a/modules/ContextExternalToolModule.html b/modules/ContextExternalToolModule.html index 708e6b5b721..3be4e193e78 100644 --- a/modules/ContextExternalToolModule.html +++ b/modules/ContextExternalToolModule.html @@ -126,201 +126,201 @@ cluster_ContextExternalToolModule_exports - - - -cluster_ContextExternalToolModule_providers - + cluster_ContextExternalToolModule_imports - + + + +cluster_ContextExternalToolModule_providers + CommonToolModule - -CommonToolModule + +CommonToolModule ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule CommonToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ContextExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ContextExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ContextExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ContextExternalToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ContextExternalToolModule->ToolVersionService - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ToolVersionService->ContextExternalToolModule - - + + diff --git a/modules/ContextExternalToolModule/dependencies.svg b/modules/ContextExternalToolModule/dependencies.svg index dadfb24ce37..c2dc08df3a7 100644 --- a/modules/ContextExternalToolModule/dependencies.svg +++ b/modules/ContextExternalToolModule/dependencies.svg @@ -26,201 +26,201 @@ cluster_ContextExternalToolModule_exports - - - -cluster_ContextExternalToolModule_providers - + cluster_ContextExternalToolModule_imports - + + + +cluster_ContextExternalToolModule_providers + CommonToolModule - -CommonToolModule + +CommonToolModule ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule CommonToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ContextExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ContextExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ContextExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ContextExternalToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ContextExternalToolModule->ToolVersionService - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ToolVersionService->ContextExternalToolModule - - + + diff --git a/modules/CopyHelperModule.html b/modules/CopyHelperModule.html index 9aadd0357f6..17d56504b7e 100644 --- a/modules/CopyHelperModule.html +++ b/modules/CopyHelperModule.html @@ -124,14 +124,14 @@ cluster_CopyHelperModule - -cluster_CopyHelperModule_exports - - cluster_CopyHelperModule_providers + +cluster_CopyHelperModule_exports + + CopyHelperService diff --git a/modules/CopyHelperModule/dependencies.svg b/modules/CopyHelperModule/dependencies.svg index 01f090fe473..6ce7b3f34d1 100644 --- a/modules/CopyHelperModule/dependencies.svg +++ b/modules/CopyHelperModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_CopyHelperModule - -cluster_CopyHelperModule_exports - - cluster_CopyHelperModule_providers + +cluster_CopyHelperModule_exports + + CopyHelperService diff --git a/modules/CoreModule.html b/modules/CoreModule.html index bbbd2f997c9..5a4b53edb05 100644 --- a/modules/CoreModule.html +++ b/modules/CoreModule.html @@ -124,14 +124,14 @@ cluster_CoreModule - -cluster_CoreModule_exports - - cluster_CoreModule_imports + +cluster_CoreModule_exports + + ErrorModule diff --git a/modules/CoreModule/dependencies.svg b/modules/CoreModule/dependencies.svg index c2868adf51b..ea7b488053d 100644 --- a/modules/CoreModule/dependencies.svg +++ b/modules/CoreModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_CoreModule - -cluster_CoreModule_exports - - cluster_CoreModule_imports + +cluster_CoreModule_exports + + ErrorModule diff --git a/modules/DatabaseManagementModule.html b/modules/DatabaseManagementModule.html index e8e9962deff..c7059b7791c 100644 --- a/modules/DatabaseManagementModule.html +++ b/modules/DatabaseManagementModule.html @@ -124,14 +124,14 @@ cluster_DatabaseManagementModule - -cluster_DatabaseManagementModule_exports - - cluster_DatabaseManagementModule_providers + +cluster_DatabaseManagementModule_exports + + DatabaseManagementService diff --git a/modules/DatabaseManagementModule/dependencies.svg b/modules/DatabaseManagementModule/dependencies.svg index feb5c1079f9..dec3b83de18 100644 --- a/modules/DatabaseManagementModule/dependencies.svg +++ b/modules/DatabaseManagementModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_DatabaseManagementModule - -cluster_DatabaseManagementModule_exports - - cluster_DatabaseManagementModule_providers + +cluster_DatabaseManagementModule_exports + + DatabaseManagementService diff --git a/modules/ExternalToolModule.html b/modules/ExternalToolModule.html index 7aa550104a6..5c81d6c6466 100644 --- a/modules/ExternalToolModule.html +++ b/modules/ExternalToolModule.html @@ -124,251 +124,251 @@ cluster_ExternalToolModule - -cluster_ExternalToolModule_providers - - cluster_ExternalToolModule_imports - + + + +cluster_ExternalToolModule_providers + cluster_ExternalToolModule_exports - + CommonToolModule - -CommonToolModule + +CommonToolModule ExternalToolModule - -ExternalToolModule + +ExternalToolModule CommonToolModule->ExternalToolModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->ExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ExternalToolModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->ExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ExternalToolModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolModule->ExternalToolConfigurationService - - + + ExternalToolLogoService - -ExternalToolLogoService + +ExternalToolLogoService ExternalToolModule->ExternalToolLogoService - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolModule->ExternalToolMetadataService - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolModule->ExternalToolService - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolModule->ExternalToolValidationService - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolModule->ExternalToolVersionIncrementService - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ExternalToolModule - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolMetadataService->ExternalToolModule - - + + ExternalToolParameterValidationService - -ExternalToolParameterValidationService + +ExternalToolParameterValidationService ExternalToolParameterValidationService->ExternalToolModule - - + + ExternalToolRepo - -ExternalToolRepo + +ExternalToolRepo ExternalToolRepo->ExternalToolModule - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolService->ExternalToolModule - - + + ExternalToolServiceMapper - -ExternalToolServiceMapper + +ExternalToolServiceMapper ExternalToolServiceMapper->ExternalToolModule - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolValidationService->ExternalToolModule - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolVersionIncrementService->ExternalToolModule - - + + diff --git a/modules/ExternalToolModule/dependencies.svg b/modules/ExternalToolModule/dependencies.svg index 6d3c797dd2f..9e176fffcf1 100644 --- a/modules/ExternalToolModule/dependencies.svg +++ b/modules/ExternalToolModule/dependencies.svg @@ -24,251 +24,251 @@ cluster_ExternalToolModule - -cluster_ExternalToolModule_providers - - cluster_ExternalToolModule_imports - + + + +cluster_ExternalToolModule_providers + cluster_ExternalToolModule_exports - + CommonToolModule - -CommonToolModule + +CommonToolModule ExternalToolModule - -ExternalToolModule + +ExternalToolModule CommonToolModule->ExternalToolModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->ExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ExternalToolModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->ExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ExternalToolModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolModule->ExternalToolConfigurationService - - + + ExternalToolLogoService - -ExternalToolLogoService + +ExternalToolLogoService ExternalToolModule->ExternalToolLogoService - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolModule->ExternalToolMetadataService - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolModule->ExternalToolService - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolModule->ExternalToolValidationService - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolModule->ExternalToolVersionIncrementService - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ExternalToolModule - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolMetadataService->ExternalToolModule - - + + ExternalToolParameterValidationService - -ExternalToolParameterValidationService + +ExternalToolParameterValidationService ExternalToolParameterValidationService->ExternalToolModule - - + + ExternalToolRepo - -ExternalToolRepo + +ExternalToolRepo ExternalToolRepo->ExternalToolModule - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolService->ExternalToolModule - - + + ExternalToolServiceMapper - -ExternalToolServiceMapper + +ExternalToolServiceMapper ExternalToolServiceMapper->ExternalToolModule - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolValidationService->ExternalToolModule - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolVersionIncrementService->ExternalToolModule - - + + diff --git a/modules/FeathersModule.html b/modules/FeathersModule.html index b7d2fd38070..c4483a6daca 100644 --- a/modules/FeathersModule.html +++ b/modules/FeathersModule.html @@ -124,14 +124,14 @@ cluster_FeathersModule - -cluster_FeathersModule_exports - - cluster_FeathersModule_providers + +cluster_FeathersModule_exports + + FeathersServiceProvider diff --git a/modules/FeathersModule/dependencies.svg b/modules/FeathersModule/dependencies.svg index 36645a49bbd..12b2a58d84d 100644 --- a/modules/FeathersModule/dependencies.svg +++ b/modules/FeathersModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_FeathersModule - -cluster_FeathersModule_exports - - cluster_FeathersModule_providers + +cluster_FeathersModule_exports + + FeathersServiceProvider diff --git a/modules/FileSystemModule.html b/modules/FileSystemModule.html index 342b7ab774d..90ab54bbe34 100644 --- a/modules/FileSystemModule.html +++ b/modules/FileSystemModule.html @@ -124,14 +124,14 @@ cluster_FileSystemModule - -cluster_FileSystemModule_providers - - cluster_FileSystemModule_exports + +cluster_FileSystemModule_providers + + FileSystemAdapter diff --git a/modules/FileSystemModule/dependencies.svg b/modules/FileSystemModule/dependencies.svg index 434cad7a861..9bb489d5ad3 100644 --- a/modules/FileSystemModule/dependencies.svg +++ b/modules/FileSystemModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_FileSystemModule - -cluster_FileSystemModule_providers - - cluster_FileSystemModule_exports + +cluster_FileSystemModule_providers + + FileSystemAdapter diff --git a/modules/FilesModule.html b/modules/FilesModule.html index ae6525555d5..f9e39ff4b4c 100644 --- a/modules/FilesModule.html +++ b/modules/FilesModule.html @@ -124,95 +124,95 @@ cluster_FilesModule + +cluster_FilesModule_providers + + cluster_FilesModule_imports - + cluster_FilesModule_exports - - - -cluster_FilesModule_providers - + LoggerModule - -LoggerModule + +LoggerModule FilesModule - -FilesModule + +FilesModule LoggerModule->FilesModule - - + + FilesService - -FilesService + +FilesService FilesModule->FilesService - - + + DeleteFilesUc - -DeleteFilesUc + +DeleteFilesUc DeleteFilesUc->FilesModule - - + + FilesRepo - -FilesRepo + +FilesRepo FilesRepo->FilesModule - - + + FilesService - -FilesService + +FilesService FilesService->FilesModule - - + + StorageProviderRepo - -StorageProviderRepo + +StorageProviderRepo StorageProviderRepo->FilesModule - - + + diff --git a/modules/FilesModule/dependencies.svg b/modules/FilesModule/dependencies.svg index b79595a32cb..ec527d6de79 100644 --- a/modules/FilesModule/dependencies.svg +++ b/modules/FilesModule/dependencies.svg @@ -24,95 +24,95 @@ cluster_FilesModule + +cluster_FilesModule_providers + + cluster_FilesModule_imports - + cluster_FilesModule_exports - - - -cluster_FilesModule_providers - + LoggerModule - -LoggerModule + +LoggerModule FilesModule - -FilesModule + +FilesModule LoggerModule->FilesModule - - + + FilesService - -FilesService + +FilesService FilesModule->FilesService - - + + DeleteFilesUc - -DeleteFilesUc + +DeleteFilesUc DeleteFilesUc->FilesModule - - + + FilesRepo - -FilesRepo + +FilesRepo FilesRepo->FilesModule - - + + FilesService - -FilesService + +FilesService FilesService->FilesModule - - + + StorageProviderRepo - -StorageProviderRepo + +StorageProviderRepo StorageProviderRepo->FilesModule - - + + diff --git a/modules/FilesStorageModule.html b/modules/FilesStorageModule.html index d524a65154b..f361603fec7 100644 --- a/modules/FilesStorageModule.html +++ b/modules/FilesStorageModule.html @@ -124,10 +124,6 @@ cluster_FilesStorageModule - -cluster_FilesStorageModule_exports - - cluster_FilesStorageModule_providers @@ -136,6 +132,10 @@ cluster_FilesStorageModule_imports + +cluster_FilesStorageModule_exports + + RabbitMQWrapperModule diff --git a/modules/FilesStorageModule/dependencies.svg b/modules/FilesStorageModule/dependencies.svg index c08171012d8..3280eff2f00 100644 --- a/modules/FilesStorageModule/dependencies.svg +++ b/modules/FilesStorageModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_FilesStorageModule - -cluster_FilesStorageModule_exports - - cluster_FilesStorageModule_providers @@ -36,6 +32,10 @@ cluster_FilesStorageModule_imports + +cluster_FilesStorageModule_exports + + RabbitMQWrapperModule diff --git a/modules/FwuLearningContentsTestModule.html b/modules/FwuLearningContentsTestModule.html index 0410881aa83..46bf14a84d7 100644 --- a/modules/FwuLearningContentsTestModule.html +++ b/modules/FwuLearningContentsTestModule.html @@ -124,115 +124,115 @@ cluster_FwuLearningContentsTestModule - -cluster_FwuLearningContentsTestModule_imports - - cluster_FwuLearningContentsTestModule_providers - + + + +cluster_FwuLearningContentsTestModule_imports + 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 41e915a635f..17c50ba016f 100644 --- a/modules/FwuLearningContentsTestModule/dependencies.svg +++ b/modules/FwuLearningContentsTestModule/dependencies.svg @@ -24,115 +24,115 @@ cluster_FwuLearningContentsTestModule - -cluster_FwuLearningContentsTestModule_imports - - cluster_FwuLearningContentsTestModule_providers - + + + +cluster_FwuLearningContentsTestModule_imports + 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 326f206b729..79f2ec698d2 100644 --- a/modules/GroupApiModule.html +++ b/modules/GroupApiModule.html @@ -124,127 +124,127 @@ 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 - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->GroupApiModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->GroupApiModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->GroupApiModule - - + + UserModule - -UserModule + +UserModule UserModule->GroupApiModule - - + + GroupUc - -GroupUc + +GroupUc GroupUc->GroupApiModule - - + + diff --git a/modules/GroupApiModule/dependencies.svg b/modules/GroupApiModule/dependencies.svg index b245c7ef055..cc42281defb 100644 --- a/modules/GroupApiModule/dependencies.svg +++ b/modules/GroupApiModule/dependencies.svg @@ -24,127 +24,127 @@ 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 - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->GroupApiModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->GroupApiModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->GroupApiModule - - + + UserModule - -UserModule + +UserModule UserModule->GroupApiModule - - + + GroupUc - -GroupUc + +GroupUc GroupUc->GroupApiModule - - + + diff --git a/modules/GroupModule.html b/modules/GroupModule.html index 053fb78a076..2c6cd494b8c 100644 --- a/modules/GroupModule.html +++ b/modules/GroupModule.html @@ -124,14 +124,14 @@ cluster_GroupModule - -cluster_GroupModule_exports - - cluster_GroupModule_providers + +cluster_GroupModule_exports + + GroupService diff --git a/modules/GroupModule/dependencies.svg b/modules/GroupModule/dependencies.svg index 281df50cd45..3c54a278631 100644 --- a/modules/GroupModule/dependencies.svg +++ b/modules/GroupModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_GroupModule - -cluster_GroupModule_exports - - cluster_GroupModule_providers + +cluster_GroupModule_exports + + GroupService diff --git a/modules/H5PEditorModule.html b/modules/H5PEditorModule.html index c94261aa87e..b892469e5a1 100644 --- a/modules/H5PEditorModule.html +++ b/modules/H5PEditorModule.html @@ -124,215 +124,215 @@ cluster_H5PEditorModule + +cluster_H5PEditorModule_providers + + cluster_H5PEditorModule_exports - + 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 H5PEditorModule->ContentStorage - - + + LibraryStorage - -LibraryStorage + +LibraryStorage H5PEditorModule->LibraryStorage - - + + ContentStorage - -ContentStorage + +ContentStorage ContentStorage->H5PEditorModule - - + + H5PContentRepo - -H5PContentRepo + +H5PContentRepo H5PContentRepo->H5PEditorModule - - + + H5PEditorUc - -H5PEditorUc + +H5PEditorUc H5PEditorUc->H5PEditorModule - - + + LibraryRepo - -LibraryRepo + +LibraryRepo LibraryRepo->H5PEditorModule - - + + LibraryStorage - -LibraryStorage + +LibraryStorage LibraryStorage->H5PEditorModule - - + + Logger - -Logger + +Logger Logger->H5PEditorModule - - + + TemporaryFileRepo - -TemporaryFileRepo + +TemporaryFileRepo TemporaryFileRepo->H5PEditorModule - - + + TemporaryFileStorage - -TemporaryFileStorage + +TemporaryFileStorage TemporaryFileStorage->H5PEditorModule - - + + diff --git a/modules/H5PEditorModule/dependencies.svg b/modules/H5PEditorModule/dependencies.svg index b10d0fab472..5be53336423 100644 --- a/modules/H5PEditorModule/dependencies.svg +++ b/modules/H5PEditorModule/dependencies.svg @@ -24,215 +24,215 @@ cluster_H5PEditorModule + +cluster_H5PEditorModule_providers + + cluster_H5PEditorModule_exports - + 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 H5PEditorModule->ContentStorage - - + + LibraryStorage - -LibraryStorage + +LibraryStorage H5PEditorModule->LibraryStorage - - + + ContentStorage - -ContentStorage + +ContentStorage ContentStorage->H5PEditorModule - - + + H5PContentRepo - -H5PContentRepo + +H5PContentRepo H5PContentRepo->H5PEditorModule - - + + H5PEditorUc - -H5PEditorUc + +H5PEditorUc H5PEditorUc->H5PEditorModule - - + + LibraryRepo - -LibraryRepo + +LibraryRepo LibraryRepo->H5PEditorModule - - + + LibraryStorage - -LibraryStorage + +LibraryStorage LibraryStorage->H5PEditorModule - - + + Logger - -Logger + +Logger Logger->H5PEditorModule - - + + TemporaryFileRepo - -TemporaryFileRepo + +TemporaryFileRepo TemporaryFileRepo->H5PEditorModule - - + + TemporaryFileStorage - -TemporaryFileStorage + +TemporaryFileStorage TemporaryFileStorage->H5PEditorModule - - + + diff --git a/modules/ImportUserModule.html b/modules/ImportUserModule.html index 96402026086..5d1438b5b8d 100644 --- a/modules/ImportUserModule.html +++ b/modules/ImportUserModule.html @@ -124,127 +124,127 @@ cluster_ImportUserModule - -cluster_ImportUserModule_imports - - cluster_ImportUserModule_providers - + + + +cluster_ImportUserModule_imports + AccountModule - -AccountModule + +AccountModule ImportUserModule - -ImportUserModule + +ImportUserModule AccountModule->ImportUserModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->ImportUserModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->ImportUserModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ImportUserModule - - + + ImportUserRepo - -ImportUserRepo + +ImportUserRepo ImportUserRepo->ImportUserModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->ImportUserModule - - + + LegacySystemRepo - -LegacySystemRepo + +LegacySystemRepo LegacySystemRepo->ImportUserModule - - + + UserImportUc - -UserImportUc + +UserImportUc UserImportUc->ImportUserModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->ImportUserModule - - + + diff --git a/modules/ImportUserModule/dependencies.svg b/modules/ImportUserModule/dependencies.svg index afd4b5434b4..cb447214080 100644 --- a/modules/ImportUserModule/dependencies.svg +++ b/modules/ImportUserModule/dependencies.svg @@ -24,127 +24,127 @@ cluster_ImportUserModule - -cluster_ImportUserModule_imports - - cluster_ImportUserModule_providers - + + + +cluster_ImportUserModule_imports + AccountModule - -AccountModule + +AccountModule ImportUserModule - -ImportUserModule + +ImportUserModule AccountModule->ImportUserModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->ImportUserModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->ImportUserModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ImportUserModule - - + + ImportUserRepo - -ImportUserRepo + +ImportUserRepo ImportUserRepo->ImportUserModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->ImportUserModule - - + + LegacySystemRepo - -LegacySystemRepo + +LegacySystemRepo LegacySystemRepo->ImportUserModule - - + + UserImportUc - -UserImportUc + +UserImportUc UserImportUc->ImportUserModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->ImportUserModule - - + + diff --git a/modules/KeycloakModule.html b/modules/KeycloakModule.html index 80fa6399e33..cfd3c03e748 100644 --- a/modules/KeycloakModule.html +++ b/modules/KeycloakModule.html @@ -124,107 +124,107 @@ cluster_KeycloakModule - -cluster_KeycloakModule_providers - + +cluster_KeycloakModule_exports + cluster_KeycloakModule_imports - + - -cluster_KeycloakModule_exports - + +cluster_KeycloakModule_providers + EncryptionModule - -EncryptionModule + +EncryptionModule KeycloakModule - -KeycloakModule + +KeycloakModule EncryptionModule->KeycloakModule - - + + KeycloakAdministrationModule - -KeycloakAdministrationModule + +KeycloakAdministrationModule KeycloakAdministrationModule->KeycloakModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->KeycloakModule - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakModule->KeycloakIdentityManagementOauthService - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakModule->KeycloakIdentityManagementService - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakIdentityManagementOauthService->KeycloakModule - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakIdentityManagementService->KeycloakModule - - + + diff --git a/modules/KeycloakModule/dependencies.svg b/modules/KeycloakModule/dependencies.svg index c894db6201d..d8c1f35a232 100644 --- a/modules/KeycloakModule/dependencies.svg +++ b/modules/KeycloakModule/dependencies.svg @@ -24,107 +24,107 @@ cluster_KeycloakModule - -cluster_KeycloakModule_providers - + +cluster_KeycloakModule_exports + cluster_KeycloakModule_imports - + - -cluster_KeycloakModule_exports - + +cluster_KeycloakModule_providers + EncryptionModule - -EncryptionModule + +EncryptionModule KeycloakModule - -KeycloakModule + +KeycloakModule EncryptionModule->KeycloakModule - - + + KeycloakAdministrationModule - -KeycloakAdministrationModule + +KeycloakAdministrationModule KeycloakAdministrationModule->KeycloakModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->KeycloakModule - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakModule->KeycloakIdentityManagementOauthService - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakModule->KeycloakIdentityManagementService - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakIdentityManagementOauthService->KeycloakModule - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakIdentityManagementService->KeycloakModule - - + + diff --git a/modules/LearnroomModule.html b/modules/LearnroomModule.html index d4b4aaecd0a..5ee5c00945a 100644 --- a/modules/LearnroomModule.html +++ b/modules/LearnroomModule.html @@ -128,14 +128,14 @@ cluster_LearnroomModule_imports - -cluster_LearnroomModule_providers - - cluster_LearnroomModule_exports + +cluster_LearnroomModule_providers + + BoardModule diff --git a/modules/LearnroomModule/dependencies.svg b/modules/LearnroomModule/dependencies.svg index f5096787852..5d7430e4d01 100644 --- a/modules/LearnroomModule/dependencies.svg +++ b/modules/LearnroomModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_LearnroomModule_imports - -cluster_LearnroomModule_providers - - cluster_LearnroomModule_exports + +cluster_LearnroomModule_providers + + BoardModule diff --git a/modules/LegacySchoolApiModule.html b/modules/LegacySchoolApiModule.html index 5d5be09b63a..5fb7d5ded51 100644 --- a/modules/LegacySchoolApiModule.html +++ b/modules/LegacySchoolApiModule.html @@ -124,67 +124,67 @@ cluster_LegacySchoolApiModule - -cluster_LegacySchoolApiModule_providers - - cluster_LegacySchoolApiModule_imports - + + + +cluster_LegacySchoolApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LegacySchoolApiModule - -LegacySchoolApiModule + +LegacySchoolApiModule AuthorizationModule->LegacySchoolApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->LegacySchoolApiModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->LegacySchoolApiModule - - + + SchoolSystemOptionsUc - -SchoolSystemOptionsUc + +SchoolSystemOptionsUc SchoolSystemOptionsUc->LegacySchoolApiModule - - + + diff --git a/modules/LegacySchoolApiModule/dependencies.svg b/modules/LegacySchoolApiModule/dependencies.svg index 712ce20a6cb..97691c4b3a3 100644 --- a/modules/LegacySchoolApiModule/dependencies.svg +++ b/modules/LegacySchoolApiModule/dependencies.svg @@ -24,67 +24,67 @@ cluster_LegacySchoolApiModule - -cluster_LegacySchoolApiModule_providers - - cluster_LegacySchoolApiModule_imports - + + + +cluster_LegacySchoolApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LegacySchoolApiModule - -LegacySchoolApiModule + +LegacySchoolApiModule AuthorizationModule->LegacySchoolApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->LegacySchoolApiModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->LegacySchoolApiModule - - + + SchoolSystemOptionsUc - -SchoolSystemOptionsUc + +SchoolSystemOptionsUc SchoolSystemOptionsUc->LegacySchoolApiModule - - + + diff --git a/modules/LegacySchoolModule.html b/modules/LegacySchoolModule.html index 128aa5e0d37..bfcead65ca4 100644 --- a/modules/LegacySchoolModule.html +++ b/modules/LegacySchoolModule.html @@ -126,191 +126,191 @@ cluster_LegacySchoolModule - -cluster_LegacySchoolModule_providers - - cluster_LegacySchoolModule_exports - + cluster_LegacySchoolModule_imports - + + + +cluster_LegacySchoolModule_providers + LoggerModule - -LoggerModule + +LoggerModule LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LoggerModule->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService LegacySchoolModule->FederalStateService - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolModule->LegacySchoolService - - + + SchoolSystemOptionsService - -SchoolSystemOptionsService + +SchoolSystemOptionsService LegacySchoolModule->SchoolSystemOptionsService - - + + SchoolYearService - -SchoolYearService + +SchoolYearService LegacySchoolModule->SchoolYearService - - + + FederalStateRepo - -FederalStateRepo + +FederalStateRepo FederalStateRepo->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService FederalStateService->LegacySchoolModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->LegacySchoolModule - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolService->LegacySchoolModule - - + + SchoolSystemOptionsRepo - -SchoolSystemOptionsRepo + +SchoolSystemOptionsRepo SchoolSystemOptionsRepo->LegacySchoolModule - - + + SchoolSystemOptionsService - -SchoolSystemOptionsService + +SchoolSystemOptionsService SchoolSystemOptionsService->LegacySchoolModule - - + + SchoolValidationService - -SchoolValidationService + +SchoolValidationService SchoolValidationService->LegacySchoolModule - - + + SchoolYearRepo - -SchoolYearRepo + +SchoolYearRepo SchoolYearRepo->LegacySchoolModule - - + + SchoolYearService - -SchoolYearService + +SchoolYearService SchoolYearService->LegacySchoolModule - - + + diff --git a/modules/LegacySchoolModule/dependencies.svg b/modules/LegacySchoolModule/dependencies.svg index 7d051f93dfa..5225fb5c4c0 100644 --- a/modules/LegacySchoolModule/dependencies.svg +++ b/modules/LegacySchoolModule/dependencies.svg @@ -24,191 +24,191 @@ cluster_LegacySchoolModule - -cluster_LegacySchoolModule_providers - - cluster_LegacySchoolModule_exports - + cluster_LegacySchoolModule_imports - + + + +cluster_LegacySchoolModule_providers + LoggerModule - -LoggerModule + +LoggerModule LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LoggerModule->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService LegacySchoolModule->FederalStateService - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolModule->LegacySchoolService - - + + SchoolSystemOptionsService - -SchoolSystemOptionsService + +SchoolSystemOptionsService LegacySchoolModule->SchoolSystemOptionsService - - + + SchoolYearService - -SchoolYearService + +SchoolYearService LegacySchoolModule->SchoolYearService - - + + FederalStateRepo - -FederalStateRepo + +FederalStateRepo FederalStateRepo->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService FederalStateService->LegacySchoolModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->LegacySchoolModule - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolService->LegacySchoolModule - - + + SchoolSystemOptionsRepo - -SchoolSystemOptionsRepo + +SchoolSystemOptionsRepo SchoolSystemOptionsRepo->LegacySchoolModule - - + + SchoolSystemOptionsService - -SchoolSystemOptionsService + +SchoolSystemOptionsService SchoolSystemOptionsService->LegacySchoolModule - - + + SchoolValidationService - -SchoolValidationService + +SchoolValidationService SchoolValidationService->LegacySchoolModule - - + + SchoolYearRepo - -SchoolYearRepo + +SchoolYearRepo SchoolYearRepo->LegacySchoolModule - - + + SchoolYearService - -SchoolYearService + +SchoolYearService SchoolYearService->LegacySchoolModule - - + + diff --git a/modules/LessonApiModule.html b/modules/LessonApiModule.html index 03a9777542f..1ad4ef13a9c 100644 --- a/modules/LessonApiModule.html +++ b/modules/LessonApiModule.html @@ -124,55 +124,55 @@ cluster_LessonApiModule - -cluster_LessonApiModule_providers - - cluster_LessonApiModule_imports - + + + +cluster_LessonApiModule_providers + 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 e3951bb1b0d..a1983dd0952 100644 --- a/modules/LessonApiModule/dependencies.svg +++ b/modules/LessonApiModule/dependencies.svg @@ -24,55 +24,55 @@ cluster_LessonApiModule - -cluster_LessonApiModule_providers - - cluster_LessonApiModule_imports - + + + +cluster_LessonApiModule_providers + 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 eedf4e9ae06..6fdeb4ef2bf 100644 --- a/modules/LessonModule.html +++ b/modules/LessonModule.html @@ -124,14 +124,14 @@ cluster_LessonModule - -cluster_LessonModule_exports - - cluster_LessonModule_providers + +cluster_LessonModule_exports + + cluster_LessonModule_imports diff --git a/modules/LessonModule/dependencies.svg b/modules/LessonModule/dependencies.svg index ff716f8a8ca..71aa0ae7430 100644 --- a/modules/LessonModule/dependencies.svg +++ b/modules/LessonModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_LessonModule - -cluster_LessonModule_exports - - cluster_LessonModule_providers + +cluster_LessonModule_exports + + cluster_LessonModule_imports diff --git a/modules/MetaTagExtractorModule.html b/modules/MetaTagExtractorModule.html index f4d8f8b7238..31211a12720 100644 --- a/modules/MetaTagExtractorModule.html +++ b/modules/MetaTagExtractorModule.html @@ -124,203 +124,203 @@ cluster_MetaTagExtractorModule + +cluster_MetaTagExtractorModule_imports + + cluster_MetaTagExtractorModule_exports - + cluster_MetaTagExtractorModule_providers - - - -cluster_MetaTagExtractorModule_imports - + AuthenticationModule - -AuthenticationModule + +AuthenticationModule MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule AuthenticationModule->MetaTagExtractorModule - - + + BoardModule - -BoardModule + +BoardModule BoardModule->MetaTagExtractorModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->MetaTagExtractorModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->MetaTagExtractorModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->MetaTagExtractorModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->MetaTagExtractorModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->MetaTagExtractorModule - - + + UserModule - -UserModule + +UserModule UserModule->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + BoardUrlHandler - -BoardUrlHandler + +BoardUrlHandler BoardUrlHandler->MetaTagExtractorModule - - + + CourseUrlHandler - -CourseUrlHandler + +CourseUrlHandler CourseUrlHandler->MetaTagExtractorModule - - + + LessonUrlHandler - -LessonUrlHandler + +LessonUrlHandler LessonUrlHandler->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + MetaTagInternalUrlService - -MetaTagInternalUrlService + +MetaTagInternalUrlService MetaTagInternalUrlService->MetaTagExtractorModule - - + + TaskUrlHandler - -TaskUrlHandler + +TaskUrlHandler TaskUrlHandler->MetaTagExtractorModule - - + + diff --git a/modules/MetaTagExtractorModule/dependencies.svg b/modules/MetaTagExtractorModule/dependencies.svg index a42a0c5e533..ebfe23a8a19 100644 --- a/modules/MetaTagExtractorModule/dependencies.svg +++ b/modules/MetaTagExtractorModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_MetaTagExtractorModule + +cluster_MetaTagExtractorModule_imports + + cluster_MetaTagExtractorModule_exports - + cluster_MetaTagExtractorModule_providers - - - -cluster_MetaTagExtractorModule_imports - + AuthenticationModule - -AuthenticationModule + +AuthenticationModule MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule AuthenticationModule->MetaTagExtractorModule - - + + BoardModule - -BoardModule + +BoardModule BoardModule->MetaTagExtractorModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->MetaTagExtractorModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->MetaTagExtractorModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->MetaTagExtractorModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->MetaTagExtractorModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->MetaTagExtractorModule - - + + UserModule - -UserModule + +UserModule UserModule->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + BoardUrlHandler - -BoardUrlHandler + +BoardUrlHandler BoardUrlHandler->MetaTagExtractorModule - - + + CourseUrlHandler - -CourseUrlHandler + +CourseUrlHandler CourseUrlHandler->MetaTagExtractorModule - - + + LessonUrlHandler - -LessonUrlHandler + +LessonUrlHandler LessonUrlHandler->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + MetaTagInternalUrlService - -MetaTagInternalUrlService + +MetaTagInternalUrlService MetaTagInternalUrlService->MetaTagExtractorModule - - + + TaskUrlHandler - -TaskUrlHandler + +TaskUrlHandler TaskUrlHandler->MetaTagExtractorModule - - + + diff --git a/modules/NewsModule.html b/modules/NewsModule.html index a6701e9e797..ae0cadaba6e 100644 --- a/modules/NewsModule.html +++ b/modules/NewsModule.html @@ -124,10 +124,6 @@ cluster_NewsModule - -cluster_NewsModule_exports - - cluster_NewsModule_providers @@ -136,6 +132,10 @@ cluster_NewsModule_imports + +cluster_NewsModule_exports + + AuthorizationModule diff --git a/modules/NewsModule/dependencies.svg b/modules/NewsModule/dependencies.svg index 4d6544a89f6..a0080921c9e 100644 --- a/modules/NewsModule/dependencies.svg +++ b/modules/NewsModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_NewsModule - -cluster_NewsModule_exports - - cluster_NewsModule_providers @@ -36,6 +32,10 @@ cluster_NewsModule_imports + +cluster_NewsModule_exports + + AuthorizationModule diff --git a/modules/OauthApiModule.html b/modules/OauthApiModule.html index 0393830e5ee..62175d6d5f2 100644 --- a/modules/OauthApiModule.html +++ b/modules/OauthApiModule.html @@ -124,55 +124,55 @@ cluster_OauthApiModule - -cluster_OauthApiModule_providers - - cluster_OauthApiModule_imports - + + + +cluster_OauthApiModule_providers + LoggerModule - -LoggerModule + +LoggerModule OauthApiModule - -OauthApiModule + +OauthApiModule LoggerModule->OauthApiModule - - + + OauthModule - -OauthModule + +OauthModule OauthModule->OauthApiModule - - + + HydraOauthUc - -HydraOauthUc + +HydraOauthUc HydraOauthUc->OauthApiModule - - + + diff --git a/modules/OauthApiModule/dependencies.svg b/modules/OauthApiModule/dependencies.svg index c6707972afb..744fcbdbc63 100644 --- a/modules/OauthApiModule/dependencies.svg +++ b/modules/OauthApiModule/dependencies.svg @@ -24,55 +24,55 @@ cluster_OauthApiModule - -cluster_OauthApiModule_providers - - cluster_OauthApiModule_imports - + + + +cluster_OauthApiModule_providers + LoggerModule - -LoggerModule + +LoggerModule OauthApiModule - -OauthApiModule + +OauthApiModule LoggerModule->OauthApiModule - - + + OauthModule - -OauthModule + +OauthModule OauthModule->OauthApiModule - - + + HydraOauthUc - -HydraOauthUc + +HydraOauthUc HydraOauthUc->OauthApiModule - - + + diff --git a/modules/OauthModule.html b/modules/OauthModule.html index a2d5a3632e3..672d9a6ebba 100644 --- a/modules/OauthModule.html +++ b/modules/OauthModule.html @@ -124,203 +124,203 @@ cluster_OauthModule - -cluster_OauthModule_providers - + +cluster_OauthModule_imports + cluster_OauthModule_exports - + - -cluster_OauthModule_imports - + +cluster_OauthModule_providers + 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 97d16c0cf6e..711527f4daf 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_exports - + - -cluster_OauthModule_imports - + +cluster_OauthModule_providers + 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/OauthProviderModule.html b/modules/OauthProviderModule.html index fa51c8bf3da..4621f528b74 100644 --- a/modules/OauthProviderModule.html +++ b/modules/OauthProviderModule.html @@ -124,10 +124,6 @@ cluster_OauthProviderModule - -cluster_OauthProviderModule_exports - - cluster_OauthProviderModule_providers @@ -136,6 +132,10 @@ cluster_OauthProviderModule_imports + +cluster_OauthProviderModule_exports + + LoggerModule diff --git a/modules/OauthProviderModule/dependencies.svg b/modules/OauthProviderModule/dependencies.svg index 7e7954fc6bb..b3c0c49f63f 100644 --- a/modules/OauthProviderModule/dependencies.svg +++ b/modules/OauthProviderModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_OauthProviderModule - -cluster_OauthProviderModule_exports - - cluster_OauthProviderModule_providers @@ -36,6 +32,10 @@ cluster_OauthProviderModule_imports + +cluster_OauthProviderModule_exports + + LoggerModule diff --git a/modules/ProvisioningModule.html b/modules/ProvisioningModule.html index 50a0720efb0..af97685b1d9 100644 --- a/modules/ProvisioningModule.html +++ b/modules/ProvisioningModule.html @@ -124,203 +124,203 @@ cluster_ProvisioningModule + +cluster_ProvisioningModule_providers + + cluster_ProvisioningModule_imports - + cluster_ProvisioningModule_exports - - - -cluster_ProvisioningModule_providers - + AccountModule - -AccountModule + +AccountModule ProvisioningModule - -ProvisioningModule + +ProvisioningModule AccountModule->ProvisioningModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->ProvisioningModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->ProvisioningModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ProvisioningModule - - + + ProvisioningConfigModule - -ProvisioningConfigModule + +ProvisioningConfigModule ProvisioningConfigModule->ProvisioningModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->ProvisioningModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->ProvisioningModule - - + + UserModule - -UserModule + +UserModule UserModule->ProvisioningModule - - + + ProvisioningService - -ProvisioningService + +ProvisioningService ProvisioningModule->ProvisioningService - - + + 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 - - + + diff --git a/modules/ProvisioningModule/dependencies.svg b/modules/ProvisioningModule/dependencies.svg index 81c719a2137..1467c0dd66f 100644 --- a/modules/ProvisioningModule/dependencies.svg +++ b/modules/ProvisioningModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_ProvisioningModule + +cluster_ProvisioningModule_providers + + cluster_ProvisioningModule_imports - + cluster_ProvisioningModule_exports - - - -cluster_ProvisioningModule_providers - + AccountModule - -AccountModule + +AccountModule ProvisioningModule - -ProvisioningModule + +ProvisioningModule AccountModule->ProvisioningModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->ProvisioningModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->ProvisioningModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ProvisioningModule - - + + ProvisioningConfigModule - -ProvisioningConfigModule + +ProvisioningConfigModule ProvisioningConfigModule->ProvisioningModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->ProvisioningModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->ProvisioningModule - - + + UserModule - -UserModule + +UserModule UserModule->ProvisioningModule - - + + ProvisioningService - -ProvisioningService + +ProvisioningService ProvisioningModule->ProvisioningService - - + + 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 - - + + diff --git a/modules/PseudonymModule.html b/modules/PseudonymModule.html index 65f2d94582b..75b6f7d506d 100644 --- a/modules/PseudonymModule.html +++ b/modules/PseudonymModule.html @@ -124,131 +124,131 @@ cluster_PseudonymModule + +cluster_PseudonymModule_providers + + cluster_PseudonymModule_exports - + cluster_PseudonymModule_imports - - - -cluster_PseudonymModule_providers - + LearnroomModule - -LearnroomModule + +LearnroomModule PseudonymModule - -PseudonymModule + +PseudonymModule LearnroomModule->PseudonymModule - - + + UserModule - -UserModule + +UserModule UserModule->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService PseudonymModule->FeathersRosterService - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymModule->PseudonymService - - + + ExternalToolPseudonymRepo - -ExternalToolPseudonymRepo + +ExternalToolPseudonymRepo ExternalToolPseudonymRepo->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService FeathersRosterService->PseudonymModule - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LegacyLogger->PseudonymModule - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymService->PseudonymModule - - + + PseudonymsRepo - -PseudonymsRepo + +PseudonymsRepo PseudonymsRepo->PseudonymModule - - + + diff --git a/modules/PseudonymModule/dependencies.svg b/modules/PseudonymModule/dependencies.svg index da674638fe2..96bf4e543c5 100644 --- a/modules/PseudonymModule/dependencies.svg +++ b/modules/PseudonymModule/dependencies.svg @@ -24,131 +24,131 @@ cluster_PseudonymModule + +cluster_PseudonymModule_providers + + cluster_PseudonymModule_exports - + cluster_PseudonymModule_imports - - - -cluster_PseudonymModule_providers - + LearnroomModule - -LearnroomModule + +LearnroomModule PseudonymModule - -PseudonymModule + +PseudonymModule LearnroomModule->PseudonymModule - - + + UserModule - -UserModule + +UserModule UserModule->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService PseudonymModule->FeathersRosterService - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymModule->PseudonymService - - + + ExternalToolPseudonymRepo - -ExternalToolPseudonymRepo + +ExternalToolPseudonymRepo ExternalToolPseudonymRepo->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService FeathersRosterService->PseudonymModule - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LegacyLogger->PseudonymModule - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymService->PseudonymModule - - + + PseudonymsRepo - -PseudonymsRepo + +PseudonymsRepo PseudonymsRepo->PseudonymModule - - + + diff --git a/modules/RoleModule.html b/modules/RoleModule.html index 0fe3927af28..1ae15175478 100644 --- a/modules/RoleModule.html +++ b/modules/RoleModule.html @@ -124,14 +124,14 @@ cluster_RoleModule - -cluster_RoleModule_exports - - cluster_RoleModule_providers + +cluster_RoleModule_exports + + RoleRepo diff --git a/modules/RoleModule/dependencies.svg b/modules/RoleModule/dependencies.svg index 3e07aca68b8..7437d024aad 100644 --- a/modules/RoleModule/dependencies.svg +++ b/modules/RoleModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_RoleModule - -cluster_RoleModule_exports - - cluster_RoleModule_providers + +cluster_RoleModule_exports + + RoleRepo diff --git a/modules/SchoolExternalToolModule.html b/modules/SchoolExternalToolModule.html index 39cd43a739c..5aab13b61ad 100644 --- a/modules/SchoolExternalToolModule.html +++ b/modules/SchoolExternalToolModule.html @@ -124,131 +124,131 @@ cluster_SchoolExternalToolModule - -cluster_SchoolExternalToolModule_exports - + +cluster_SchoolExternalToolModule_imports + cluster_SchoolExternalToolModule_providers - + - -cluster_SchoolExternalToolModule_imports - + +cluster_SchoolExternalToolModule_exports + CommonToolModule - -CommonToolModule + +CommonToolModule SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule CommonToolModule->SchoolExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->SchoolExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->SchoolExternalToolModule - - + + SchoolExternalToolMetadataService - -SchoolExternalToolMetadataService + +SchoolExternalToolMetadataService SchoolExternalToolModule->SchoolExternalToolMetadataService - - + + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService SchoolExternalToolModule->SchoolExternalToolService - - + + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService SchoolExternalToolModule->SchoolExternalToolValidationService - - + + SchoolExternalToolMetadataService - -SchoolExternalToolMetadataService + +SchoolExternalToolMetadataService SchoolExternalToolMetadataService->SchoolExternalToolModule - - + + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService SchoolExternalToolService->SchoolExternalToolModule - - + + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService SchoolExternalToolValidationService->SchoolExternalToolModule - - + + diff --git a/modules/SchoolExternalToolModule/dependencies.svg b/modules/SchoolExternalToolModule/dependencies.svg index 9d470d39119..25442682478 100644 --- a/modules/SchoolExternalToolModule/dependencies.svg +++ b/modules/SchoolExternalToolModule/dependencies.svg @@ -24,131 +24,131 @@ cluster_SchoolExternalToolModule - -cluster_SchoolExternalToolModule_exports - + +cluster_SchoolExternalToolModule_imports + cluster_SchoolExternalToolModule_providers - + - -cluster_SchoolExternalToolModule_imports - + +cluster_SchoolExternalToolModule_exports + CommonToolModule - -CommonToolModule + +CommonToolModule SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule CommonToolModule->SchoolExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->SchoolExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->SchoolExternalToolModule - - + + SchoolExternalToolMetadataService - -SchoolExternalToolMetadataService + +SchoolExternalToolMetadataService SchoolExternalToolModule->SchoolExternalToolMetadataService - - + + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService SchoolExternalToolModule->SchoolExternalToolService - - + + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService SchoolExternalToolModule->SchoolExternalToolValidationService - - + + SchoolExternalToolMetadataService - -SchoolExternalToolMetadataService + +SchoolExternalToolMetadataService SchoolExternalToolMetadataService->SchoolExternalToolModule - - + + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService SchoolExternalToolService->SchoolExternalToolModule - - + + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService SchoolExternalToolValidationService->SchoolExternalToolModule - - + + diff --git a/modules/SharingModule.html b/modules/SharingModule.html index edf067518ab..c39c249b0db 100644 --- a/modules/SharingModule.html +++ b/modules/SharingModule.html @@ -126,141 +126,141 @@ cluster_SharingModule_exports - - - -cluster_SharingModule_imports - + cluster_SharingModule_providers - + + + +cluster_SharingModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule SharingModule - -SharingModule + +SharingModule AuthorizationModule->SharingModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->SharingModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->SharingModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->SharingModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->SharingModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService SharingModule->ShareTokenService - - + + ShareTokenRepo - -ShareTokenRepo + +ShareTokenRepo ShareTokenRepo->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService ShareTokenService->SharingModule - - + + TokenGenerator - -TokenGenerator + +TokenGenerator TokenGenerator->SharingModule - - + + diff --git a/modules/SharingModule/dependencies.svg b/modules/SharingModule/dependencies.svg index ee9ffab235a..1e990f51f5b 100644 --- a/modules/SharingModule/dependencies.svg +++ b/modules/SharingModule/dependencies.svg @@ -26,141 +26,141 @@ cluster_SharingModule_exports - - - -cluster_SharingModule_imports - + cluster_SharingModule_providers - + + + +cluster_SharingModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule SharingModule - -SharingModule + +SharingModule AuthorizationModule->SharingModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->SharingModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->SharingModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->SharingModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->SharingModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService SharingModule->ShareTokenService - - + + ShareTokenRepo - -ShareTokenRepo + +ShareTokenRepo ShareTokenRepo->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService ShareTokenService->SharingModule - - + + TokenGenerator - -TokenGenerator + +TokenGenerator TokenGenerator->SharingModule - - + + diff --git a/modules/TaskModule.html b/modules/TaskModule.html index 54e02e8b867..c5024490e68 100644 --- a/modules/TaskModule.html +++ b/modules/TaskModule.html @@ -124,155 +124,155 @@ cluster_TaskModule - -cluster_TaskModule_imports - + +cluster_TaskModule_providers + cluster_TaskModule_exports - + - -cluster_TaskModule_providers - + +cluster_TaskModule_imports + 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 - - + + 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 7f54cd79a16..0a8541e014e 100644 --- a/modules/TaskModule/dependencies.svg +++ b/modules/TaskModule/dependencies.svg @@ -24,155 +24,155 @@ cluster_TaskModule - -cluster_TaskModule_imports - + +cluster_TaskModule_providers + cluster_TaskModule_exports - + - -cluster_TaskModule_providers - + +cluster_TaskModule_imports + 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 - - + + 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/TeamsModule.html b/modules/TeamsModule.html index 5f2cb82aac4..e5789db509d 100644 --- a/modules/TeamsModule.html +++ b/modules/TeamsModule.html @@ -124,14 +124,14 @@ cluster_TeamsModule - -cluster_TeamsModule_providers - - cluster_TeamsModule_exports + +cluster_TeamsModule_providers + + TeamService diff --git a/modules/TeamsModule/dependencies.svg b/modules/TeamsModule/dependencies.svg index 81f552b409f..32b4bc18055 100644 --- a/modules/TeamsModule/dependencies.svg +++ b/modules/TeamsModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_TeamsModule - -cluster_TeamsModule_providers - - cluster_TeamsModule_exports + +cluster_TeamsModule_providers + + TeamService diff --git a/modules/TldrawWsModule.html b/modules/TldrawWsModule.html index ce58b87b6f6..9cd62a3bc3d 100644 --- a/modules/TldrawWsModule.html +++ b/modules/TldrawWsModule.html @@ -124,67 +124,67 @@ cluster_TldrawWsModule - -cluster_TldrawWsModule_providers - - cluster_TldrawWsModule_imports - + + + +cluster_TldrawWsModule_providers + CoreModule - -CoreModule + +CoreModule TldrawWsModule - -TldrawWsModule + +TldrawWsModule CoreModule->TldrawWsModule - - + + Logger - -Logger + +Logger Logger->TldrawWsModule - - + + TldrawBoardRepo - -TldrawBoardRepo + +TldrawBoardRepo TldrawBoardRepo->TldrawWsModule - - + + TldrawWsService - -TldrawWsService + +TldrawWsService TldrawWsService->TldrawWsModule - - + + diff --git a/modules/TldrawWsModule/dependencies.svg b/modules/TldrawWsModule/dependencies.svg index 6639f23ca20..689b04feeb5 100644 --- a/modules/TldrawWsModule/dependencies.svg +++ b/modules/TldrawWsModule/dependencies.svg @@ -24,67 +24,67 @@ cluster_TldrawWsModule - -cluster_TldrawWsModule_providers - - cluster_TldrawWsModule_imports - + + + +cluster_TldrawWsModule_providers + CoreModule - -CoreModule + +CoreModule TldrawWsModule - -TldrawWsModule + +TldrawWsModule CoreModule->TldrawWsModule - - + + Logger - -Logger + +Logger Logger->TldrawWsModule - - + + TldrawBoardRepo - -TldrawBoardRepo + +TldrawBoardRepo TldrawBoardRepo->TldrawWsModule - - + + TldrawWsService - -TldrawWsService + +TldrawWsService TldrawWsService->TldrawWsModule - - + + diff --git a/modules/ToolApiModule.html b/modules/ToolApiModule.html index 0de39da27cd..ac5aca5c25d 100644 --- a/modules/ToolApiModule.html +++ b/modules/ToolApiModule.html @@ -124,283 +124,283 @@ cluster_ToolApiModule - -cluster_ToolApiModule_providers - - cluster_ToolApiModule_imports - + + + +cluster_ToolApiModule_providers + 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 49e61ad3c41..6192c306d47 100644 --- a/modules/ToolApiModule/dependencies.svg +++ b/modules/ToolApiModule/dependencies.svg @@ -24,283 +24,283 @@ cluster_ToolApiModule - -cluster_ToolApiModule_providers - - cluster_ToolApiModule_imports - + + + +cluster_ToolApiModule_providers + 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 4d8175f7b92..33179970d15 100644 --- a/modules/ToolLaunchModule.html +++ b/modules/ToolLaunchModule.html @@ -124,10 +124,6 @@ cluster_ToolLaunchModule - -cluster_ToolLaunchModule_exports - - cluster_ToolLaunchModule_imports @@ -136,6 +132,10 @@ cluster_ToolLaunchModule_providers + +cluster_ToolLaunchModule_exports + + BoardModule diff --git a/modules/ToolLaunchModule/dependencies.svg b/modules/ToolLaunchModule/dependencies.svg index 1b76b7f29ac..eb4edbff46b 100644 --- a/modules/ToolLaunchModule/dependencies.svg +++ b/modules/ToolLaunchModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_ToolLaunchModule - -cluster_ToolLaunchModule_exports - - cluster_ToolLaunchModule_imports @@ -36,6 +32,10 @@ cluster_ToolLaunchModule_providers + +cluster_ToolLaunchModule_exports + + BoardModule diff --git a/modules/ToolModule.html b/modules/ToolModule.html index 2fc59b6a83f..c1008e38f8b 100644 --- a/modules/ToolModule.html +++ b/modules/ToolModule.html @@ -124,14 +124,14 @@ cluster_ToolModule - -cluster_ToolModule_exports - - cluster_ToolModule_imports + +cluster_ToolModule_exports + + cluster_ToolModule_providers diff --git a/modules/ToolModule/dependencies.svg b/modules/ToolModule/dependencies.svg index b57793fe849..3d1bb5c912a 100644 --- a/modules/ToolModule/dependencies.svg +++ b/modules/ToolModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_ToolModule - -cluster_ToolModule_exports - - cluster_ToolModule_imports + +cluster_ToolModule_exports + + cluster_ToolModule_providers diff --git a/modules/UserApiModule.html b/modules/UserApiModule.html index f75c0f35337..038b633555d 100644 --- a/modules/UserApiModule.html +++ b/modules/UserApiModule.html @@ -124,19 +124,19 @@ cluster_UserApiModule - -cluster_UserApiModule_imports - - cluster_UserApiModule_providers - + + + +cluster_UserApiModule_imports + UserModule - -UserModule + +UserModule @@ -147,20 +147,20 @@ UserModule->UserApiModule - - + + UserUc - -UserUc + +UserUc UserUc->UserApiModule - - + + diff --git a/modules/UserApiModule/dependencies.svg b/modules/UserApiModule/dependencies.svg index 01b936dce17..0bb7fadff78 100644 --- a/modules/UserApiModule/dependencies.svg +++ b/modules/UserApiModule/dependencies.svg @@ -24,19 +24,19 @@ cluster_UserApiModule - -cluster_UserApiModule_imports - - cluster_UserApiModule_providers - + + + +cluster_UserApiModule_imports + UserModule - -UserModule + +UserModule @@ -47,20 +47,20 @@ UserModule->UserApiModule - - + + UserUc - -UserUc + +UserUc UserUc->UserApiModule - - + + diff --git a/modules/UserModule.html b/modules/UserModule.html index 4451806f137..69a541ca977 100644 --- a/modules/UserModule.html +++ b/modules/UserModule.html @@ -128,14 +128,14 @@ cluster_UserModule_imports - -cluster_UserModule_providers - - cluster_UserModule_exports + +cluster_UserModule_providers + + AccountModule diff --git a/modules/UserModule/dependencies.svg b/modules/UserModule/dependencies.svg index fb17756f9ae..e9e32ef7561 100644 --- a/modules/UserModule/dependencies.svg +++ b/modules/UserModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_UserModule_imports - -cluster_UserModule_providers - - cluster_UserModule_exports + +cluster_UserModule_providers + + AccountModule diff --git a/modules/VideoConferenceApiModule.html b/modules/VideoConferenceApiModule.html index db26a0cf642..40d1d94e8d7 100644 --- a/modules/VideoConferenceApiModule.html +++ b/modules/VideoConferenceApiModule.html @@ -124,103 +124,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 02261d2ddf9..4f6b01dcfc3 100644 --- a/modules/VideoConferenceModule.html +++ b/modules/VideoConferenceModule.html @@ -124,209 +124,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 - - + +